ATS2-Postiats-0.2.6/./0000775000175000017500000000000012655455557012736 5ustar hwxihwxiATS2-Postiats-0.2.6/./share/0000775000175000017500000000000012655455557014040 5ustar hwxihwxiATS2-Postiats-0.2.6/./share/atsmake-pre.mk0000664000175000017500000000252712655455557016610 0ustar hwxihwxi# # For building Makefiles for projects in ATS # ###### # # Author: Hongwei Xi (githwxi) # Author: Ian Denhardt (zenhack.net) # ###### # CC=gcc # ###### ifdef PATSHOME PATSHOMEQ="$(PATSHOME)" else ifdef ATSHOME PATSHOMEQ="$(ATSHOME)" else PATSHOMEQ="/usr/local/lib/ats2-postiats" endif endif ###### ifdef PATSHOMERELOC PATSHOMERELOCQ="$(PATSHOMERELOC)" else ifdef ATSHOMERELOC PATSHOMERELOCQ="$(ATSHOMERELOC)" else PATSHOMERELOCQ="/usr/local/lib/ats2-postiats" endif endif ###### # PATSCC=$(PATSHOMEQ)/bin/patscc PATSOPT=$(PATSHOMEQ)/bin/patsopt PATSLIB=$(PATSHOMEQ)/ccomp/atslib/lib # # PATSLIB32=$(PATSHOMEQ)/ccomp/atslib/lib32 # PATSLIB64=$(PATSHOMEQ)/ccomp/atslib/lib64 # ###### # ifdef \ PATSCCOMP else export PATSCCOMP = $(CC) -std=c99 -D_XOPEN_SOURCE endif # ###### PATS2XHTML=$(PATSHOMEQ)/bin/pats2xhtml ###### INCLUDE += -I$(PATSHOMEQ) INCLUDE += -I$(PATSHOMEQ)/ccomp/runtime ###### CFLAGS += -D_GNU_SOURCE ###### LDFLAGS += -L$(PATSLIB) # LDFLAGS += -L$(PATSLIB32) # LDFLAGS += -L$(PATSLIB64) LDFLAGS += -latslib ###### EXTRAFLAGS = ###### MALLOCFLAG := -DATS_MEMALLOC_LIBC ###### ifdef PATSHOMERELOCQ INCLUDE += -I$(PATSHOMERELOCQ)/contrib INCLUDE_ATS += -IATS $(PATSHOMERELOCQ)/contrib endif ###### SOURCES_C= SOURCES_SATS= SOURCES_DATS= ###### all:: cleanats:: cleanall:: ###### ###### end of [atsmake-pre.mk] ###### ATS2-Postiats-0.2.6/./share/atspre_staload.hats0000664000175000017500000000455512655455557017737 0ustar hwxihwxi(* ** This is mostly for staloading ** template code in ATSLIB/prelude *) (* ****** ****** *) // // Author: Hongwei Xi // AuthorEmail: gmhwxiATgmailCOM // (* ****** ****** *) #ifndef SHARE_ATSPRE_STALOAD #define SHARE_ATSPRE_STALOAD 1 (* ****** ****** *) // #define PATSPRE_targetloc "$PATSHOME/prelude" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/basics.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/pointer.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/integer.dats" staload _ = "{$PATSPRE}/DATS/integer_ptr.dats" staload _ = "{$PATSPRE}/DATS/integer_fixed.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/char.dats" staload _ = "{$PATSPRE}/DATS/bool.dats" staload _ = "{$PATSPRE}/DATS/float.dats" // (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/tuple.dats" (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/memory.dats" (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/string.dats" staload _ = "{$PATSPRE}/DATS/strptr.dats" (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/reference.dats" (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/filebas.dats" staload _ = "{$PATSPRE}/DATS/intrange.dats" (* ****** ****** *) staload _ = "{$PATSPRE}/DATS/gorder.dats" staload _ = "{$PATSPRE}/DATS/gnumber.dats" staload _ = "{$PATSPRE}/DATS/grandom.dats" (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/list.dats" staload _ = "{$PATSPRE}/DATS/list_vt.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/option.dats" staload _ = "{$PATSPRE}/DATS/option_vt.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/array.dats" staload _ = "{$PATSPRE}/DATS/arrayptr.dats" staload _ = "{$PATSPRE}/DATS/arrayref.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/matrix.dats" staload _ = "{$PATSPRE}/DATS/matrixptr.dats" staload _ = "{$PATSPRE}/DATS/matrixref.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/stream.dats" staload _ = "{$PATSPRE}/DATS/stream_vt.dats" // (* ****** ****** *) // staload _ = "{$PATSPRE}/DATS/gprint.dats" // staload _ = "{$PATSPRE}/DATS/tostring.dats" // (* ****** ****** *) // staload UNSAFE = "{$PATSPRE}/SATS/unsafe.sats" // staload _(*UNSAFE*) = "{$PATSPRE}/DATS/unsafe.dats" // (* ****** ****** *) staload _(*CHECKAST*) = "{$PATSPRE}/DATS/checkast.dats" (* ****** ****** *) #endif // end of [#ifndef SHARE_ATSPRE_STALOAD] (* ****** ****** *) (* end of [atspre_staload.hats] *) ATS2-Postiats-0.2.6/./share/atspre_define.hats0000664000175000017500000000034112655455557017527 0ustar hwxihwxi(* ** HX-2013-09: ** This file contains toplevel defines *) (* ****** ****** *) // (* ** Various defines for packages *) #include "./HATS/atspre_define_pkgreloc.hats" // (* ****** ****** *) (* end of [atspre_define.hats] *) ATS2-Postiats-0.2.6/./share/HATS/0000775000175000017500000000000012655455557014577 5ustar hwxihwxiATS2-Postiats-0.2.6/./share/HATS/atslib_staload_libc.hats0000664000175000017500000000331512655455557021440 0ustar hwxihwxi(* ** For staloading ** some commonly used libc packages *) (* ****** ****** *) // // Author: Hongwei Xi // AuthorEmail: gmhwxiATgmailCOM // (* ****** ****** *) #ifndef SHARE_ATSLIB_STALOAD_LIBC #define SHARE_ATSLIB_STALOAD_LIBC 1 (* ****** ****** *) #define PATSLIBC_targetloc "$PATSHOME/libc" (* ****** ****** *) staload ERRNO = "{$PATSLIBC}/SATS/errno.sats" staload _(*ERRNO*) = "{$PATSLIBC}/DATS/errno.dats" (* ****** ****** *) staload DIRENT = "{$PATSLIBC}/SATS/dirent.sats" staload _(*DIRENT*) = "{$PATSLIBC}/DATS/dirent.dats" (* ****** ****** *) staload MATH = "{$PATSLIBC}/SATS/float.sats" staload _(*MATH*) = "{$PATSLIBC}/DATS/float.dats" (* ****** ****** *) staload MATH = "{$PATSLIBC}/SATS/math.sats" staload _(*MATH*) = "{$PATSLIBC}/DATS/math.dats" (* ****** ****** *) staload SIGNAL = "{$PATSLIBC}/SATS/signal.sats" (* ****** ****** *) staload STDDEF = "{$PATSLIBC}/SATS/stddef.sats" (* ****** ****** *) staload STDIO = "{$PATSLIBC}/SATS/stdio.sats" staload _(*STDIO*) = "{$PATSLIBC}/DATS/stdio.dats" (* ****** ****** *) staload STDLIB = "{$PATSLIBC}/SATS/stdlib.sats" staload _(*STDLIB*) = "{$PATSLIBC}/DATS/stdlib.dats" (* ****** ****** *) staload STRING = "{$PATSLIBC}/SATS/string.sats" staload _(*STRING*) = "{$PATSLIBC}/DATS/string.dats" staload STRINGS = "{$PATSLIBC}/SATS/strings.sats" staload _(*STRINGS*) = "{$PATSLIBC}/DATS/strings.dats" (* ****** ****** *) staload TIME = "{$PATSLIBC}/SATS/time.sats" staload _(*TIME*) = "{$PATSLIBC}/DATS/time.dats" (* ****** ****** *) staload UNISTD = "{$PATSLIBC}/SATS/unistd.sats" staload _(*UNISTD*) = "{$PATSLIBC}/DATS/unistd.dats" (* ****** ****** *) #endif // SHARE_ATSLIB_STALOAD_LIBC (* ****** ****** *) (* end of [atslib_staload_libc.hats] *) ATS2-Postiats-0.2.6/./share/HATS/atspre_define_pkgreloc.hats0000664000175000017500000000737412655455557022171 0ustar hwxihwxi(* ** For ATS2-package relocation *) (* ****** ****** *) // // HX-2014-08: // PATSHOME is pre-defined // PATSHOMERELOC is pre-defined // #define PATSHOME_targetloc "$PATSHOME" #define PATSHOMERELOC_targetloc "$PATSHOMERELOC" // (* ****** ****** *) // #define PATSPRE_targetloc "$PATSHOME/prelude" #define PATSLIBC_targetloc "$PATSHOME/libc" #define PATSLIBATS_targetloc "$PATSHOME/libats" // (* ****** ****** *) // #define ATSLANGWEB "http://www.ats-lang.org" #define ATSLANGWEBLIB "http://www.ats-lang.org/LIBRARY" // (* ****** ****** *) // #define PCRE_sourceloc "$ATSLANGWEBLIB/contrib/pcre" #define PCRE_targetloc "$PATSHOMERELOC/contrib/pcre" // (* ****** ****** *) // #define LIBGMP_sourceloc "$ATSLANGWEBLIB/contrib/libgmp" #define LIBGMP_targetloc "$PATSHOMERELOC/contrib/libgmp" // (* ****** ****** *) // #define ZLOG_targetloc "$PATSHOMERELOC/contrib/zlog" // (* ****** ****** *) // #define ZEROMQ_targetloc "$PATSHOMERELOC/contrib/zeromq" // (* ****** ****** *) // #define JSONC_sourceloc "$ATSLANGWEBLIB/contrib/json-c" #define JSONC_targetloc "$PATSHOMERELOC/contrib/json-c" // (* ****** ****** *) // #define HIREDIS_sourceloc "$ATSLANGWEBLIB/contrib/hiredis" #define HIREDIS_targetloc "$PATSHOMERELOC/contrib/hiredis" // (* ****** ****** *) // #define OPENSSL_sourceloc "$ATSLANGWEBLIB/contrib/OpenSSL" #define OPENSSL_targetloc "$PATSHOMERELOC/contrib/OpenSSL" // (* ****** ****** *) // #define LIBCURL_sourceloc "$ATSLANGWEBLIB/contrib/libcurl" #define LIBCURL_targetloc "$PATSHOMERELOC/contrib/libcurl" // (* ****** ****** *) // #define GTK_sourceloc "$ATSLANGWEBLIB/contrib/GTK" #define GTK_targetloc "$PATSHOMERELOC/contrib/GTK" // (* ****** ****** *) // #define GLIB_sourceloc "$ATSLANGWEBLIB/contrib/glib" #define GLIB_targetloc "$PATSHOMERELOC/contrib/glib" // (* ****** ****** *) // #define CAIRO_sourceloc "$ATSLANGWEBLIB/contrib/cairo" #define CAIRO_targetloc "$PATSHOMERELOC/contrib/cairo" // (* ****** ****** *) // #define JNI_targetloc "$PATSHOMERELOC/contrib/JNI" // (* ****** ****** *) // #define SDL2_targetloc "$PATSHOMERELOC/contrib/SDL2" // (* ****** ****** *) // #define GUROBI_targetloc "$PATSHOMERELOC/contrib/gurobi" // (* ****** ****** *) // #define KERNELATS_targetloc "$PATSHOMERELOC/contrib/kernelats" // (* ****** ****** *) // #define LIBATSCC_targetloc "$PATSHOMERELOC/contrib/libatscc" // #define LIBATSCC2JS_targetloc "$PATSHOMERELOC/contrib/libatscc/libatscc2js" // #define LIBATSCC2ERL_targetloc "$PATSHOMERELOC/contrib/libatscc/libatscc2erl" // #define LIBATSCC2PHP_targetloc "$PATSHOMERELOC/contrib/libatscc/libatscc2php" // #define LIBATSCC2PL_targetloc "$PATSHOMERELOC/contrib/libatscc/libatscc2pl" // #define LIBATSCC2PY_targetloc "$PATSHOMERELOC/contrib/libatscc/libatscc2py" // (* ****** ****** *) // // HX-2014-05-12: // This is for backward compatibility // #define LIBATSHWXI_sourceloc "$ATSLANGWEBLIB/contrib/libats-/hwxi" #define LIBATSHWXI_targetloc "$PATSHOMERELOC/contrib/libats-/hwxi" // #define LIBATS_HWXI_sourceloc "$ATSLANGWEBLIB/contrib/libats-/hwxi" #define LIBATS_HWXI_targetloc "$PATSHOMERELOC/contrib/libats-/hwxi" // (* ****** ****** *) // // For applying ATS to AVR programming // #define AVR_sourceloc "$ATSLANGWEBLIB/contrib/AVR" #define AVR_targetloc "$PATSHOMERELOC/contrib/AVR" // #define ARDUINO_sourceloc "$ATSLANGWEBLIB/contrib/arduino" #define ARDUINO_targetloc "$PATSHOMERELOC/contrib/arduino" // (* ****** ****** *) // // For applying ATS to Linux kernel programming // #define LINUX_sourceloc "$ATSLANGWEBLIB/contrib/linux" #define LINUX_targetloc "$PATSHOMERELOC/contrib/linux" // (* ****** ****** *) // // For exporting constraints for solving externally // #define EXTSOLVE_sourceloc "$ATSLANGWEBLIB/contrib/extsolve" #define EXTSOLVE_targetloc "$PATSHOMERELOC/contrib/extsolve" // (* ****** ****** *) (* end of [atspre_define_pkgreloc.hats] *) ATS2-Postiats-0.2.6/./share/HATS/atspre_staload_libats_ML.hats0000664000175000017500000000431212655455557022413 0ustar hwxihwxi(* ** This is mostly for ** staloading ATSLIB/libats/ML *) (* ****** ****** *) // // Author: Hongwei Xi // AuthorEmail: gmhwxiATgmailCOM // (* ****** ****** *) #ifndef SHARE_ATSPRE_STALOAD_LIBATS_ML #define SHARE_ATSPRE_STALOAD_LIBATS_ML 1 (* ****** ****** *) #define PATSLIBATS_targetloc "$PATSHOME/libats" (* ****** ****** *) staload "{$PATSLIBATS}/ML/SATS/basis.sats" (* ****** ****** *) // staload "{$PATSLIBATS}/ML/SATS/list0.sats" // staload "{$PATSLIBATS}/ML/SATS/option0.sats" // staload "{$PATSLIBATS}/ML/SATS/array0.sats" // staload "{$PATSLIBATS}/ML/SATS/matrix0.sats" // staload "{$PATSLIBATS}/ML/SATS/string.sats" staload "{$PATSLIBATS}/ML/SATS/strarr.sats" // staload "{$PATSLIBATS}/ML/SATS/gvalue.sats" // staload "{$PATSLIBATS}/ML/SATS/filebas.sats" staload "{$PATSLIBATS}/ML/SATS/intrange.sats" // staload "{$PATSLIBATS}/ML/SATS/stdlib.sats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/list0.dats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/option0.dats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/array0.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/matrix0.dats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/string.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/strarr.dats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/filebas.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/intrange.dats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/stdlib.dats" // (* ****** ****** *) // staload "{$PATSLIBATS}/ML/SATS/funmap.sats" // staload "{$PATSLIBATS}/ML/SATS/funset.sats" // staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/funmap.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/funset.dats" // (* ****** ****** *) // staload "{$PATSLIBATS}/ML/SATS/dynarray.sats" staload _(*anon*) = "{$PATSLIBATS}/DATS/dynarray.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/dynarray.dats" // (* ****** ****** *) // staload "{$PATSLIBATS}/ML/SATS/hashtblref.sats" // staload _(*anon*) = "{$PATSLIBATS}/DATS/hashfun.dats" staload _(*anon*) = "{$PATSLIBATS}/DATS/linmap_list.dats" staload _(*anon*) = "{$PATSLIBATS}/DATS/hashtbl_chain.dats" staload _(*anon*) = "{$PATSLIBATS}/ML/DATS/hashtblref.dats" // (* ****** ****** *) #endif // SHARE_ATSPRE_STALOAD_LIBATS_ML (* ****** ****** *) (* end of [atslib_staload_libats_ML.hats] *) ATS2-Postiats-0.2.6/./share/HATS/.keeper0000664000175000017500000000000012655455557016041 0ustar hwxihwxiATS2-Postiats-0.2.6/./share/Makefile.gen0000664000175000017500000000171612655455557016255 0ustar hwxihwxi# # A Makefile for processing [Makefile.atxt] # to generate Makefiles that do the actual work # ###### # # Author: Hongwei Xi (gmhwxiATgmailCOM) # ###### ATSHOMEQ="$(ATSHOME)" ###### ATSCC=$(ATSHOMEQ)/bin/atscc ATSDOC=$(ATSHOMEQ)/bin/atsdoc ###### Makefile: Makefile.exe ; ./$< > $@ Makefile.exe: Makefile_atxt.dats $(ATSCC) $(GCFLAG) -o $@ $< -latsdoc Makefile_atxt.dats: Makefile.atxt $(ATSDOC) --outcode $@ -i $< > Makefile_atxt.txt ###### Makefile2: Makefile2.exe ; ./$< > $@ Makefile2.exe: Makefile2_atxt.dats $(ATSCC) $(GCFLAG) -o $@ $< -latsdoc Makefile2_atxt.dats: Makefile2.atxt $(ATSDOC) --outcode $@ -i $< > Makefile2_atxt.txt ###### RMF=rm -f ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o *_?ats.c clean:: ; $(RMF) *_atxt.txt clean:: ; $(RMF) *_atxt.dats clean:: ; $(RMF) Makefile.exe clean:: ; $(RMF) Makefile2.exe cleanall:: clean cleanall:: ; $(RMF) Makefile cleanall:: ; $(RMF) Makefile2 ###### ###### end of [Makefile.gen] ###### ATS2-Postiats-0.2.6/./share/atsmake-post.mk0000664000175000017500000000536412655455557017011 0ustar hwxihwxi# # For building Makefiles for projects in ATS # ###### # # Author: Hongwei Xi # Author: Ian Denhardt # ###### # # HX: for convenience # PATSCC2=$(PATSCC) $(INCLUDE) $(INCLUDE_ATS) # ###### ifdef MYTARGET $(MYTARGET)_C_O := \ $(patsubst %.c, %_c.o, $(SOURCES_C)) $(MYTARGET)_SATS_O := \ $(patsubst %.sats, %_sats.o, $(SOURCES_SATS)) $(MYTARGET)_DATS_O := \ $(patsubst %.dats, %_dats.o, $(SOURCES_DATS)) endif ###### ifdef MYTARGET ifeq ($(strip $(MYTARGET)),MYTARGET) else all:: $(MYTARGET) $(MYTARGET): \ $($(MYTARGET)_C_O) \ $($(MYTARGET)_SATS_O) \ $($(MYTARGET)_DATS_O) ; \ $(PATSCC) $(INCLUDE) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(EXTRAFLAGS) cleanall:: ; $(RMF) $(MYTARGET) endif # end of [ifeq] endif # end of [ifdef] ###### # # HX-2013-12-28: # generating *_?ats.c files is mainly for debugging # ifdef MYCCRULE else %_sats.c: %.sats ; $(PATSCC) $(INCLUDE_ATS) -o $@ -ccats $< %_dats.c: %.dats ; $(PATSCC) $(INCLUDE_ATS) -o $@ -ccats $< endif # ###### # # For compiling ATS source directly # ifdef MYCCRULE else %_sats.o: %.sats ; \ $(PATSCC) -cleanaft $(INCLUDE) $(INCLUDE_ATS) $(CFLAGS) -o $@ -c $< %_dats.o: %.dats ; \ $(PATSCC) -cleanaft $(INCLUDE) $(INCLUDE_ATS) $(MALLOCFLAG) $(CFLAGS) -o $@ -c $< endif # ###### # # For compiling C code generated from ATS source # ifeq ($(strip $(MYCCRULE)),PORTABLE) # %_sats.o: %_sats.c ; $(CC) $(INCLUDE) $(CFLAGS) -o $@ -c $< %_dats.o: %_dats.c ; $(CC) $(INCLUDE) $(MALLOCFLAG) $(CFLAGS) -o $@ -c $< # endif # ###### # # For generating portable C code # ifdef MYPORTDIR # $(MYPORTDIR)/Makefile: Makefile ; cp -f $< $@ # $(MYPORTDIR)_SATS_C := \ $(patsubst %.sats, $(MYPORTDIR)/%_sats.c, $(SOURCES_SATS)) $(MYPORTDIR)_DATS_C := \ $(patsubst %.dats, $(MYPORTDIR)/%_dats.c, $(SOURCES_DATS)) # $(MYPORTDIR):: $(MYPORTDIR)/Makefile $(MYPORTDIR):: $($(MYPORTDIR)_SATS_C) $(MYPORTDIR):: $($(MYPORTDIR)_DATS_C) # ifdef MYPORTCPP else $(MYPORTDIR)/%_sats.c: %.sats ; $(PATSOPT) $(INCLUDE_ATS) -o $@ -s $< $(MYPORTDIR)/%_dats.c: %.dats ; $(PATSOPT) $(INCLUDE_ATS) -o $@ -d $< endif # ifdef MYPORTCPP $(MYPORTDIR)/%_sats.c: %.sats ; \ $(PATSCC) -cleanaft -E $(INCLUDE) $(INCLUDE_ATS) $(CFLAGS) -o $@ $< $(MYPORTDIR)/%_dats.c: %.dats ; \ $(PATSCC) -cleanaft -E $(INCLUDE) $(INCLUDE_ATS) $(MALLOCFLAG) $(CFLAGS) -o $@ $< endif # endif # ###### # -include .depend # depend:: ; $(RMF) .depend # ifeq ("$(strip $(SOURCES_SATS))","") else depend:: ; $(PATSOPT) --output-a .depend --depgen -s $(SOURCES_SATS) endif ifeq ("$(strip $(SOURCES_DATS))","") else depend:: ; $(PATSOPT) --output-a .depend --depgen -d $(SOURCES_DATS) endif # ###### RMF=rm -f ###### cleanats:: ; $(RMF) *~ cleanats:: ; $(RMF) *_?ats.o ###### clean: cleanats ###### cleanall:: cleanats cleanall:: ; $(RMF) .depend ###### ###### end of [atsmake-post.mk] ###### ATS2-Postiats-0.2.6/./share/H/0000775000175000017500000000000012655455557014227 5ustar hwxihwxiATS2-Postiats-0.2.6/./share/H/pats_atslib.h0000664000175000017500000000344212655455557016710 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ #ifndef PATS_ATSLIB_H #define PATS_ATSLIB_H /* ****** ****** */ #include // for [errno] #include // for [perror] /* ****** ****** */ #define \ ATSLIBfailexit(cmd) \ do { \ fprintf(stderr, "exit(ATSLIB): [%s] failed\n", cmd) ; exit(1) ; \ } while (0) \ /* ****** ****** */ #define \ ATSLIBfailexit2(cmd) \ do { \ perror(cmd) ; \ fprintf(stderr, "exit(ATSLIB): [%s] failed\n", cmd) ; exit(1) ; \ } while (0) \ /* ****** ****** */ #endif // ifndef PATS_ATSLIB_H /* ****** ****** */ /* end of [pats_atslib.h] */ ATS2-Postiats-0.2.6/./share/H/.keeper0000664000175000017500000000000012655455557015471 0ustar hwxihwxiATS2-Postiats-0.2.6/./share/.keeper0000664000175000017500000000000012655455557015302 0ustar hwxihwxiATS2-Postiats-0.2.6/./Makefile_dist0000664000175000017500000001001212655455557015413 0ustar hwxihwxi###### # # HX-2013-03: # for compiling a distribution of ATS-Postiats # KO-2014-04-09: # removing [-T] from [install] as the option is # not supported on MacOS # IU-2014-04-30: # removing the space between -m and the following mode # as it is not supported on freeBSD # ###### MAKE=make MAKEJ4=make -j4 ###### # all: \ config.mk \ bin2_patsopt \ bin_patscc \ ccomp/atslib/lib/libatslib.a \ # ###### configure : ; /bin/bash autogen.sh ###### # # HX: this seems to be working # # config.mk : configure ; ./configure # ####### # config.mk : configure ; @echo "Please execute './configure'." ; exit 1 ; # ###### src_patsopt: ; $(MAKE) -j4 -C src patsopt bin_patsopt: src_patsopt ; $(CPF) src/patsopt bin/patsopt ###### # CCOMP=gcc # GCFLAG= #GCFLAG=-D_ATS_NGC #GCFLAG=-D_ATS_GCBDW #GCFLAG=-D_ATS_GCATS # CFLAGS= LDFLAGS= # ###### # src2_patsopt: ; \ $(MAKEJ4) -C src/CBOOT \ CCOMP=$(CCOMP) GCFLAG=$(GCFLAG) LDFLAGS=$(LDFLAGS) patsopt # bin2_patsopt: src2_patsopt ; $(CPF) src/CBOOT/patsopt bin/patsopt # ###### utl_atscc: ; $(MAKE) -C utils/atscc patscc bin_patscc: utl_atscc ; $(CPF) utils/atscc/patscc bin/patscc ###### ccomp/atslib/lib/libatslib.a: ; $(MAKE) -C ccomp/atslib atslib ###### -include config.mk ###### # # This variable is to be set externally # DESTDIR := # ###### export PATSHOME export PATSLIBHOME ###### bindir2 := $(DESTDIR)$(bindir) PATSLIBHOME2 := $(DESTDIR)$(PATSLIBHOME) ###### # # HX-2011-06-01: # This part was originally written by Georg Bauhaus # (bauhaus AT arcor DOT de): It addresses the issue that # the [-D] option is not available for $(INSTALL) on MacOSX. # .PHONY: install_dirs .PHONY: install_files # install: install_files install_files: \ install_files_0 \ install_files_1 \ install_files_2 \ install_files_3 \ install_files_4 \ install_files_5 \ install_dirs: ; \ cd "$(abs_top_srcdir)" && \ $(MKDIR_P) $(PATSLIBHOME2)/bin && \ if [ ! -d $(bindir2) ] ; then $(MKDIR_P) $(bindir2) ; fi && \ for x in share ccomp prelude libc libats ; do \ find "$$x" -type d -exec $(MKDIR_P) $(PATSLIBHOME2)/\{} \; -print; \ done install_files_0: install_dirs ; \ for x in share ccomp/runtime prelude libc libats ; do \ cd "$(abs_top_srcdir)" && \ $(INSTALL) -d $(PATSLIBHOME2)/"$$x" && \ find "$$x" -type l -exec cp -d \{} $(PATSLIBHOME2)/\{} \; -print && \ find "$$x" -type f -exec $(INSTALL) -m644 \{} $(PATSLIBHOME2)/\{} \; -print; \ done install_files_1: bin/patscc ; \ $(INSTALL) -m755 $< $(PATSLIBHOME2)/bin/patscc && echo $< install_files_2: bin/patsopt ; \ $(INSTALL) -m755 $< $(PATSLIBHOME2)/bin/patsopt && echo $< install_files_3: bin/patscc_env.sh ; \ $(INSTALL) -m755 $< $(bindir2)/patscc && echo $< install_files_4: bin/patsopt_env.sh ; \ $(INSTALL) -m755 $< $(bindir2)/patsopt && echo $< install_files_5: ; \ for x in \ ccomp/atslib/lib/libatslib.a \ ccomp/atslib/lib64/libatslib.a ; \ do \ if [ -e "$$x" ] ; then \ $(INSTALL) -m755 "$$x" $(PATSLIBHOME2)/"$$x" && echo "$$x"; \ fi; \ done ###### CPF=cp -f RMF=rm -f RMRF=rm -rf ###### # uninstall:: uninstall_bin uninstall:: uninstall_home # uninstall_bin:: ; $(RMF) $(bindir2)/patscc uninstall_bin:: ; $(RMF) $(bindir2)/patsopt uninstall_home:: ; $(RMRF) $(PATSLIBHOME2) # ###### clean:: cleanall:: clean ###### clean:: ; $(RMF) ccomp/atslib/output/*.o clean:: ; $(MAKE) -C src/CBOOT -f Makefile clean ###### cleanall:: ; $(RMF) config.h cleanall:: ; $(RMF) config.mk cleanall:: ; $(RMF) config.log cleanall:: ; $(RMF) config.status cleanall:: ; $(RMF) stamp-h1 cleanall:: ; $(RMRF) autom4te.cache cleanall:: ; $(RMF) bin/patscc cleanall:: ; $(RMF) bin/patsopt cleanall:: ; $(RMF) bin/patscc_env.sh cleanall:: ; $(RMF) bin/patsopt_env.sh cleanall:: ; $(RMF) ccomp/atslib/lib/* cleanall:: ; $(RMF) ccomp/atslib/lib64/* cleanall:: ; $(RMF) ccomp/atslib/output/* cleanall:: ; $(MAKE) -C src -f Makefile cleanall cleanall:: ; $(MAKE) -C src/CBOOT -f Makefile cleanall cleanall:: ; $(MAKE) -C utils/atscc -f Makefile cleanall ###### distclean:: cleanall ###### ###### end of [Makefile_dist] ###### ATS2-Postiats-0.2.6/./src/0000775000175000017500000000000012655455557013525 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/pats_constraint3_appenv.hats0000664000175000017500000000704112655455557021257 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: // Hongwei Xi // Authoremail: // gmhwxiATgmailDOTcom // Start Time: December, 2014 // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" staload "./pats_constraint3.sats" (* ****** ****** *) (* #include "./pats_staexp2_appenv.hats" *) (* ****** ****** *) // extern fun s3itm_app : synent_app (s3itm) extern fun s3itmlst_app : synent_app (s3itmlst) extern fun s3itmlstlst_app : synent_app (s3itmlstlst) // extern fun h3ypo_app : synent_app (h3ypo) // extern fun c3nstr_app : synent_app (c3nstr) // (* ****** ****** *) implement s3itm_app (s3i, env) = let in // case+ s3i of // | S3ITMsvar(s2v) => s2var_app (s2v, env) | S3ITMhypo(h3p) => h3ypo_app (h3p, env) // | S3ITMsVar(s2V) => s2Var_app (s2V, env) // | S3ITMcnstr(c3t) => c3nstr_app (c3t, env) // | S3ITMcnstr_ref(c3tr) => let val ref = c3tr.c3nstroptref_ref in case+ !ref of | None() => () | Some(c3t) => c3nstr_app (c3t, env) end // end of [S3ITMcnstr_ref] // | S3ITMdisj(s3iss) => s3itmlstlst_app (s3iss, env) // | S3ITMsolassert(s2e) => s2exp_app (s2e, env) // end // end of [s3itm_app] (* ****** ****** *) // implement s3itmlst_app (xs, env) = let in // case+ xs of | list_nil () => () | list_cons (x, xs) => ( s3itm_app(x, env); s3itmlst_app(xs, env) ) (* end of [list_cons] *) // end (* end of [s3itmlst_app] *) // implement s3itmlstlst_app (xss, env) = let in // case+ xss of | list_nil () => () | list_cons (xs, xss) => ( s3itmlst_app(xs, env); s3itmlstlst_app(xss, env) ) (* end of [list_cons] *) // end (* end of [s3itmlstlst_app] *) // (* ****** ****** *) implement h3ypo_app (h3p0, env) = let in // case+ h3p0.h3ypo_node of // | H3YPOprop (s2e) => s2exp_app (s2e, env) | H3YPObind (s2v1, s2e2) => ( s2var_app (s2v1, env); s2exp_app (s2e2, env) ) | H3YPOeqeq (s2e1, s2e2) => ( s2exp_app (s2e1, env); s2exp_app (s2e2, env) ) // end // end of [h3ypo_app] (* ****** ****** *) implement c3nstr_app (c3t0, env) = let (* val () = println! ("c3nstr_app: c3t0 = ", c3t0) *) in // case+ c3t0.c3nstr_node of // | C3NSTRprop(s2e) => s2exp_app (s2e, env) | C3NSTRitmlst(s3is) => s3itmlst_app (s3is, env) | C3NSTRsolverify(s2e) => s2exp_app (s2e, env) // end // end of [c3nstr_app] (* ****** ****** *) (* end of [pats_constraint3_appenv.hats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm.sats0000664000175000017500000002736712655455557017323 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_intinf.sats" (* ****** ****** *) // (* ** HX: only the names are needed *) abstype intknd = $extype "intknd" abstype gmpknd = $extype "gmpknd" // (* ****** ****** *) absvt@ype myint(a:t@ype) = a // [a] is a kind (* ****** ****** *) fun{a:t@ype} fprint_myint (out: FILEref, x: !myint(a)): void fun{a:t@ype} print_myint (x: !myint(a)): void fun{a:t@ype} prerr_myint (x: !myint(a)): void (* ****** ****** *) fun{a:t@ype} myint_make_int (x: int):<> myint(a) fun{a:t@ype} myint_make_intinf (x: intinf): myint(a) fun{a:t@ype} myint_free (x: myint(a)):<> void fun{a:t@ype} myint_copy (x: !myint(a)):<> myint(a) (* ****** ****** *) fun{a:t@ype} neg_myint (x: myint(a)):<> myint(a) fun{a:t@ype} neg1_myint (x: !myint(a)):<> myint(a) fun{a:t@ype} add_myint_int (x: myint(a), i: int):<> myint(a) fun{a:t@ype} add01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} sub01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} mul01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} mul10_myint_myint (x: !myint(a), y: myint(a)):<> myint(a) fun{a:t@ype} mul11_myint_myint (x: !myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} div01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} div11_myint_myint (x: !myint(a), y: !myint(a)):<> myint(a) // // HX: ediv: even division is assumed // fun{a:t@ype} ediv01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} mod01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} mod11_myint_myint (x: !myint(a), y: !myint(a)):<> myint(a) fun{a:t@ype} gcd01_myint_myint (x: myint(a), y: !myint(a)):<> myint(a) (* ****** ****** *) fun{a:t@ype} lt_myint_int (x: !myint(a), y: int):<> bool fun{a:t@ype} lte_myint_int (x: !myint(a), y: int):<> bool overload < with lt_myint_int overload <= with lte_myint_int fun{a:t@ype} gt_myint_int (x: !myint(a), y: int):<> bool fun{a:t@ype} gte_myint_int (x: !myint(a), y: int):<> bool overload > with gt_myint_int overload >= with gte_myint_int fun{a:t@ype} eq_myint_int (x: !myint(a), y: int):<> bool fun{a:t@ype} neq_myint_int (x: !myint(a), y: int):<> bool overload = with eq_myint_int overload != with neq_myint_int fun{a:t@ype} compare_myint_int (x: !myint(a), y: int):<> int overload compare with compare_myint_int fun{a:t@ype} lt_myint_myint (x: !myint(a), y: !myint(a)):<> bool fun{a:t@ype} lte_myint_myint (x: !myint(a), y: !myint(a)):<> bool overload < with lt_myint_myint overload <= with lte_myint_myint fun{a:t@ype} gt_myint_myint (x: !myint(a), y: !myint(a)):<> bool fun{a:t@ype} gte_myint_myint (x: !myint(a), y: !myint(a)):<> bool overload > with gt_myint_myint overload >= with gte_myint_myint fun{a:t@ype} compare_myint_myint (x: !myint(a), y: !myint(a)):<> int (* ****** ****** *) (* ** ** HX-2012-02: ** [myintvec] is a [myint] array of positive length ** Suppose A: myintvec(n+1) for some n >= 0; then A ** as a linear constraint stands for the following ** inequality: ** ** A[0] + A[1]*x1 + A[2]*x2 + ... + A[n]*xn >= 0 ** *) absvtype myintvec (a:t@ype, n: int) // initialized absvtype myintvec0 (a:t@ype, n: int) // uninitialized absvtype myintvecout (a:t@ype, n: int, l:addr) // SHELL praxi lemma_myintvec_params {a:t@ype}{n:int} (iv: !myintvec (a, n)): [n>=0] void // end of [lemma_myintvec_params] (* ****** ****** *) fun{a:t@ype} fprint_myintvec {n:int} (out: FILEref, iv: !myintvec(a, n), n: int n): void // end of [fprint_myintvec] fun{a:t@ype} print_myintvec {n:int} (iv: !myintvec(a, n), n: int n): void (* ****** ****** *) castfn myintvec_takeout {a:t@ype}{n:int} ( iv: !myintvec (a, n) >> myintvecout (a, n, l) ) :<> #[l:addr] (array_v (myint(a), n, l) | ptr l) castfn myintvec0_takeout {a:t@ype}{n:int} ( iv: !myintvec0 (a, n) >> myintvecout (a, n, l) ) :<> #[l:addr] (array_v (myint(a)?, n, l) | ptr l) prfun myintvecout_addback {a:t@ype}{n:int}{l:addr} ( pf: array_v (myint(a), n, l) | iv: !myintvecout (a, n, l) >> myintvec (a, n) ) : void // end of [myintvecout_addback] prfun myintvecout0_addback {a:t@ype}{n:int}{l:addr} ( pf: array_v (myint(a)?, n, l) | iv: !myintvecout (a, n, l) >> myintvec0 (a, n) ) : void // end of [myintvecout0_addback] (* ****** ****** *) fun{a:t@ype} myintvec_get_at {n:int} (iv: !myintvec (a, n), i: natLt n):<> myint(a) overload [] with myintvec_get_at fun{a:t@ype} myintvec_set_at {n:int} (iv: !myintvec (a, n), i: natLt n, x: myint(a)):<> void overload [] with myintvec_set_at fun{a:t@ype} myintvec_add_int {n:int | n > 0} (iv: !myintvec (a, n), i:int): void // end of [myintvec_add_int] fun{a:t@ype} myintvec_compare_at {n:int} (iv: !myintvec (a, n), i: natLt n, x: int): int // end of [myintvec_compare_at] (* ****** ****** *) fun{a:t@ype} myintvec0_make {n:nat} (n: int n):<> myintvec0 (a, n) // end of [myintvec0_make] fun myintvec0_free {a:t@ype}{n:int} (iv: myintvec0 (a, n), n: int n):<> void // end of [myintvec0_free] fun{a:t@ype} myintvec_make {n:nat} (n: int n):<> myintvec (a, n) // initialized with zeros // end of [myintvec_make] fun{a:t@ype} myintvec_free {n:int} (iv: myintvec (a, n), n: int n):<> void // end of [myintvec_free] (* ****** ****** *) viewtypedef myintveclst (a:t@ype, n:int) = List_vt (myintvec (a, n)) fun{a:t@ype} fprint_myintveclst {n:int} (out: FILEref, ivs: !myintveclst (a, n), n: int n): void // end of [fprint_myintveclst] fun{a:t@ype} print_myintveclst {n:int} (ivs: !myintveclst (a, n), n: int n): void // end of [print_myintveclst] fun{a:t@ype} myintveclst_free {n:int} (ivs: myintveclst (a, n), n: int n):<> void // end of [myintveclst_free] (* ****** ****** *) // // HX: it is mapped abstype s3exp // to [s3exp] in pats_constraint3 typedef nat2 = natLt (2) typedef int2 = intBtwe (~2, 2) dataviewtype icnstr (a:t@ype, int) = | {n:int} // knd: gte/lt: 2/~2; eq/neq: 1/~1 ICvec (a, n) of (int2(*knd*), myintvec (a, n)) | {n:int} // knd:conj/disj: 0/1 ICveclst (a, n) of (nat2(*knd*), icnstrlst (a, n)) | {n:int} ICerr (a, n) of ($LOC.location, s3exp) // end of [icnstr] where icnstrlst (a:t@ype, n:int) = List_vt (icnstr(a, n)) // end of [icnstrlst] (* ****** ****** *) fun{a:t@ype} fprint_icnstr {n:int} (out: FILEref, ic: !icnstr(a, n), n: int n): void fun{a:t@ype} print_icnstr {n:int} (ic: !icnstr(a, n), n: int n): void fun{a:t@ype} fprint_icnstrlst {n:int}{s:int} ( out: FILEref, ics: !list_vt (icnstr(a, n), s), n: int n ) : void // end of [fprint_icnstrlst] fun{a:t@ype} print_icnstrlst {n:int}{s:int} (ics: !list_vt (icnstr(a, n), s), n: int n): void (* ****** ****** *) fun{a:t@ype} icnstr_copy {n:int} (ic: !icnstr (a, n), n: int n): icnstr (a, n) // end of [icnstr_copy] fun{a:t@ype} icnstrlst_copy {n:int}{s:int} (ics: !list_vt (icnstr (a, n), s), n: int n): icnstrlst (a, n) // end of [icnstrlst_copy] fun{a:t@ype} icnstr_negate {n:int} (ic: icnstr (a, n)): icnstr (a, n) // end of [icnstr_negate] fun{a:t@ype} icnstrlst_negate {n:int} (ics: icnstrlst (a, n)): icnstrlst (a, n) // end of [icnstrlst_negate] (* ****** ****** *) fun{a:t@ype} icnstr_free {n:int} (ic: icnstr (a, n), n: int n): void fun{a:t@ype} icnstrlst_free {n:int} (ics: icnstrlst (a, n), n: int n): void (* ****** ****** *) typedef Ans2 = [i:int | ~1 <= i; i <= 0] int (i) typedef Ans3 = [i:int | ~1 <= i; i <= 1] int (i) (* ****** ****** *) (* ** ~1/0/1: CONTRADICTION/UNDECIDED/TAUTOLOGY *) fun{a:t@ype} myintvec_inspect {n:pos} ( knd: int, vec: !myintvec (a, n), n: int n ) : Ans3 // end of [myintvec_inspect] fun{a:t@ype} myintvec_inspect_lt {n:pos} (vec: !myintvec (a, n), n: int n): Ans3 // end of [myintvec_inspect_lt] fun{a:t@ype} myintvec_inspect_gte {n:pos} (vec: !myintvec (a, n), n: int n): Ans3 // end of [myintvec_inspect_gte] fun{a:t@ype} myintvec_inspect_eq {n:pos} (vec: !myintvec (a, n), n: int n): Ans3 // end of [myintvec_inspect_eq] fun{a:t@ype} myintvec_inspect_neq {n:pos} (vec: !myintvec (a, n), n: int n): Ans3 // end of [myintvec_inspect_neq] fun{a:t@ype} myintveclst_inspect_gte {n:pos} (ivs: &myintveclst (a, n), n: int n): Ans2 // end of [myintveclst_inspect_gte] (* ****** ****** *) // // HX-2012-02: // the function computes gcd (iv[1], ..., iv[n]) // please note that iv[0] is skipped // fun{a:t@ype} myintvec_cffgcd {n:pos} (iv: !myintvec (a, n), n: int n): myint(a) // end of [myintvec_cffgcd] fun{a:t@ype} myintvec_normalize_gte {n:pos} (vec: !myintvec (a, n), n: int n): void // end of [myintvec_normalize_gte] fun{a:t@ype} myintveclst_normalize_gte {n:pos} (ivs: &myintveclst (a, n), n: int n): void // end of [myintveclst_normalize_gte] (* ****** ****** *) // // HX: return a copy of [vec] // fun{a:t@ype} myintvec_copy {n:int} (vec: !myintvec (a, n), n: int n):<> myintvec (a, n) // end of [myintvec_copy] // // HX: return a copy of [cff*vec] // fun{a:t@ype} myintvec_copy_cff {n:int} ( cff: !myint(a), vec: !myintvec (a, n), n: int n ) :<> myintvec (a, n) // end of [myintvec_copy_cff] (* ****** ****** *) // // vec1 := vec2 // fun{a:t@ype} myintvec_assign {n:int} ( iv1: !myintvec (a, n), iv2: !myintvec (a, n), n: int n ) :<> void // end of [myintvec_assign] (* ****** ****** *) // // vec1 := -vec1 // fun{a:t@ype} myintvec_negate {n:int} (vec: !myintvec (a, n), n: int n):<> void // end of [myintvec_negate] (* ****** ****** *) fun{a:t@ype} myintvec_scale {n:int} (cff: !myint (a), vec: !myintvec (a, n), n: int n):<> void // end of [myintvec_scale] (* ****** ****** *) // // vec1 := vec1 + vec2 // fun{a:t@ype} myintvec_addby {n:int} ( vec1: !myintvec (a, n), vec2: !myintvec (a, n), n: int n ) :<> void // end of [myintvec_addby] // // vec1 := vec1 - vec2 // fun{a:t@ype} myintvec_subby {n:int} ( vec1: !myintvec (a, n), vec2: !myintvec (a, n), n: int n ) :<> void // end of [myintvec_subby] // // vec1 := vec1 + cff * vec2 // fun{a:t@ype} myintvec_addby_cff {n:int} ( vec1: !myintvec (a, n), cff: !myint(a), vec2: !myintvec (a, n), n: int n ) :<> void // end of [myintvec_addby_cff] (* ****** ****** *) typedef index (n:int) = intBtw (1, n) abstype indexset (n:int) fun indexset_nil {n:int} ():<> indexset (n) fun indexset_is_member {n:int} (xs: indexset n, x: index n):<> bool fun indexset_add {n:pos} (xs: indexset n, x: index n):<> indexset n // end of [indexset_add] (* // // HX: 0/~1: unsolved constraints/contradiction reached // *) fun{a:t@ype} icnstrlst_solve {n:pos} ( iset(*hint*): indexset (n), ics: &icnstrlst (a, n), n: int n ) : Ans2 // end of [icnstrlst_solve] (* ****** ****** *) (* end of [pats_lintprgm.sats] *) ATS2-Postiats-0.2.6/./src/.depend0000664000175000017500000000000012655455557014753 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/pats_trans3_dynexp_dn.dats0000664000175000017500000006051312655455557020720 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_dynexp_dn" (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_patcst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload MAC = "./pats_dmacro2.sats" staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fn d2exp_funclopt_of_d2exp ( d2e0: d2exp, opt: &(fcopt_vt?) >> fcopt_vt ) : d2exp = let in // case+ :( opt: fcopt_vt ) => d2e0.d2exp_node of | D2Eann_funclo (d2e, fc) => let val () = opt := Some_vt fc in d2e end // end of [D2Eann_funclo] | _ => let val () = opt := None_vt () in d2e0 end // end of [_] // end // end of [d2exp_funclopt_of_d2exp] viewtypedef s2effopt_vt = Option_vt (s2eff) fn d2exp_s2effopt_of_d2exp ( d2e0: d2exp, opt: &(s2effopt_vt?) >> s2effopt_vt ) : d2exp = case+ :( opt: s2effopt_vt ) => d2e0.d2exp_node of | D2Eann_seff (d2e, s2fe) => let val () = opt := Some_vt s2fe in d2e end | _ => let val () = opt := None_vt () in d2e0 end // end of [_] // end of [d2exp_s2eff_opt_of_d2exp] (* ****** ****** *) extern fun d2exp_trdn_top (d2e0: d2exp, s2f0: s2hnf): d3exp (* ****** ****** *) extern fun d2exp_trdn_tup (d2e0: d2exp, s2f0: s2hnf): d3exp extern fun d2exp_trdn_rec (d2e0: d2exp, s2f0: s2hnf): d3exp extern fun d2exp_trdn_seq (d2e0: d2exp, s2f0: s2hnf): d3exp (* ****** ****** *) extern fun d2exp_trdn_effmask (d2e0: d2exp, s2f0: s2hnf): d3exp (* ****** ****** *) extern fun d2exp_trdn_exist (d2e0: d2exp, s2f0: s2hnf): d3exp (* ****** ****** *) extern fun d2exp_trdn_lam_dyn (d2e: d2exp, s2f: s2hnf): d3exp extern fun d2exp_trdn_lam_sta_nil (d2e: d2exp, s2f: s2hnf): d3exp (* ****** ****** *) extern fun d2exp_trdn_trywith (d2e0: d2exp, s2f: s2hnf): d3exp (* ****** ****** *) implement d2exp_trdn (d2e0, s2e0) = let // (* val loc0 = d2e0.d2exp_loc val () = println! ("d2exp_trdn: d2e0 = ", d2e0) val () = println! ("d2exp_trdn: loc0 = ", loc0) val () = println! ("d2exp_trdn: s2e0(bef) = ", s2e0) *) // val s2f0 = s2exp2hnf (s2e0) val s2e0 = s2hnf2exp (s2f0) // (* val () = println! ("d2exp_trdn: s2e0(aft) = ", s2e0) *) // in // case+ d2e0.d2exp_node of // | D2Etop _ => d2exp_trdn_top (d2e0, s2f0) // end of [D2Etop] // | D2Elet (d2cs, d2e) => d2exp_trdn_letwhere (d2e0, s2f0, d2cs, d2e) // end of [D2Elet] | D2Ewhere (d2e, d2cs) => d2exp_trdn_letwhere (d2e0, s2f0, d2cs, d2e) // end of [D2Ewhere] // | D2Eapplst (_fun, _arg) => let val loc0 = d2e0.d2exp_loc (* val () = ( fprintln! (stdout_ref, "d2exp_trdn: D2Eapplst: _fun = ", _fun); fprintln! (stdout_ref, "d2exp_trdn: D2Eapplst: _arg = ", _arg); ) // end of [val] *) in case+ _fun.d2exp_node of | D2Emac d2m => let (* val () = ( println! ("d2exp_trdn: D2Eapplst: D2Emac(bef): d2e0 = ", d2e0) ) // end of [val] *) val d2e0 = $MAC.dmacro_eval_app_short (loc0, d2m, _arg) // end of [val] (* val () = ( println! ("d2exp_trdn: D2Eapplst: D2Emac(aft): loc0 = ", loc0); println! ("d2exp_trdn: D2Eapplst: D2Emac(aft): d2e0 = ", d2e0); ) // end of [val] *) in d2exp_trdn (d2e0, s2e0) end // end of [D2Emac] | _ => d2exp_trdn_rest (d2e0, s2f0) end // end of [D2Eapplst] // | D2Eifhead _ => d2exp_trdn_ifhead (d2e0, s2f0) // end of [D2Eifhead] | D2Esifhead _ => d2exp_trdn_sifhead (d2e0, s2f0) // end of [D2Esifhead] // | D2Ecasehead _ => d2exp_trdn_casehead (d2e0, s2f0) // end of [D2Ecasehead] | D2Escasehead _ => d2exp_trdn_scasehead (d2e0, s2f0) // end of [D2Escasehead] // | D2Esing (d2e) => d2exp_trdn (d2e, s2e0) // | D2Elist (npf, d2es) => let val loc0 = d2e0.d2exp_loc val d2e0 = d2exp_tup_flt (loc0, npf, d2es) in d2exp_trdn (d2e0, s2e0) // end of [val] end // end of [D2Elist] // | D2Etup _ => d2exp_trdn_tup (d2e0, s2f0) | D2Erec _ => d2exp_trdn_rec (d2e0, s2f0) | D2Eseq _ => d2exp_trdn_seq (d2e0, s2f0) // | D2Eeffmask _ => d2exp_trdn_effmask (d2e0, s2f0) // | D2Eshowtype (d2e) => d3e where { val d3e = d2exp_trdn (d2e, s2e0) val ((*void*)) = fshowtype_d3exp_dn (d3e) } (* end of [D2Eshowtype] *) // | D2Eexist _ => d2exp_trdn_exist (d2e0, s2f0) // | D2Elam_dyn _ => d2exp_trdn_lam_dyn (d2e0, s2f0) // | D2Elam_sta (s2vs, _, _) when list_is_nil (s2vs) => d2exp_trdn_lam_sta_nil (d2e0, s2f0) // end of [D2Elam_sta_nil] // | D2Etrywith _ => d2exp_trdn_trywith (d2e0, s2f0) // | _ (*rest-of-d2exp*) => d2exp_trdn_rest (d2e0, s2f0) // end // end of [d2exp_trdn] (* ****** ****** *) implement d2exp_trdn_rest (d2e0, s2f0) = let (* val () = println! ("d2exp_trdn_rest: d2e0 = ", d2e0) val () = println! ("d2exp_trdn_rest: loc0 = ", d2e0.d2exp_loc) val () = println! ("d2exp_trdn_rest: s2f0 = ", s2f0) *) val loc0 = d2e0.d2exp_loc val s2e0 = s2hnf2exp (s2f0) val d3e0 = d2exp_trup (d2e0) // val iswth = s2exp_is_wthtype (s2e0) // val s2e0 = ( if iswth then let val () = d3exp_open_and_add (d3e0) in s2exp_wthtype_instantiate (loc0, s2e0) end else begin s2e0 // HX: [s2e0] does not carry a state type end // end of [if] ) : s2exp // end of [val] (* val () = println! ("d2exp_trdn_rest: s2e0 = ", s2e0) *) // val () = if iswth then funarg_d2vfin_check (loc0) // in d3exp_trdn (d3e0, s2e0) end // end of [d2exp_trdn_rest] (* ****** ****** *) implement d2explst_trdn_elt (d2es, s2f) = let var !p_clo = @lam (pf: !unit_v | d2e: d2exp): d3exp = d2exp_trdn (d2e, s2f) // end of [var] prval pfu = unit_v val d3es = list_map_vclo {unit_v} (pfu | d2es, !p_clo) prval unit_v () = pfu in l2l (d3es) end // end of [d2explst_trdn_elt] implement d2expopt_trdn_elt (od2e, s2f) = let in // case+ od2e of | Some (d2e) => Some (d2exp_trdn (d2e, s2f)) | None () => None () // end // end of [d2expopt_trdn_elt] (* ****** ****** *) implement d2exp_trdn_lam_dyn (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val s2e0 = s2hnf2exp (s2f0) // (* val () = println! ("d2exp_trdn_lam_dyn: d2e0 = ", d2e0) val () = println! ("d2exp_trdn_lam_dyn: s2e0 = ", s2e0) *) // in // case+ s2e0.s2exp_node of | S2Efun ( fc1, lin1, s2fe1, npf1, s2es_arg, s2e_res ) => let val-D2Elam_dyn (lin, npf, p2ts_arg, d2e_body) = d2e0.d2exp_node // end of [val] val err = $SOL.pfarity_equal_solve (loc0, npf, npf1) val () = if err != 0 then { val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_d2exp_trdn_lam_dyn (d2e0, s2e0)) } // end of [val] val err = $SOL.linearity_equal_solve (loc0, lin, lin1) // end of [val] val () = if err != 0 then { (* val () = prerr_error3_loc (loc0) val () = prerr ": linarity mismatch" val () = if lin > lin1 then prerr ": the linear function is assigned a nonlinear function type." val () = if lin < lin1 then prerr ": the nonlinear function is assigned a linear function type." val () = prerr_newline () *) val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_d2exp_trdn_lam_dyn (d2e0, s2e0)) } // end of [val] // val (pfpush | ()) = trans3_env_push () // var err: int = 0 var opt: fcopt_vt val d2e_body = d2exp_funclopt_of_d2exp (d2e_body, opt) val () = (case+ opt of | ~Some_vt (fc) => $SOL.funclo_equal_solve_err (loc0, fc, fc1, err) | ~None_vt () => () ) : void // end of [val] val () = if err != 0 then let val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d2exp_trdn_lam_dyn (d2e0, s2e0)) end // end of [if] // end of [val] // var err: int = 0 var opt: s2effopt_vt val d2e_body = d2exp_s2effopt_of_d2exp (d2e_body, opt) val s2fe = ( case+ opt of | ~Some_vt s2fe => let val () = $SOL.s2eff_subeq_solve_err (loc0, s2fe, s2fe1, err) in s2fe end // end of [Some_vt] | ~None_vt () => s2fe1 ) : s2eff // end of [val] val () = if err != 0 then let val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d2exp_trdn_lam_dyn (d2e0, s2e0)) end // end of [if] // end of [val] // val (pfeff | ()) = the_effenv_push_lam (s2fe) // val () = funarg_patck_exhaust (loc0, p2ts_arg, s2es_arg) // var serr: int = 0 val p3ts_arg = p2atlst_trdn_arg (loc0, npf, p2ts_arg, s2es_arg, serr) // end of [val] val () = if (serr != 0) then let val () = prerr_error3_loc (loc0) val () = prerr ": dynamic arity mismatch" val () = if serr < 0 then prerr ": more arguments are expected." val () = if serr > 0 then prerr ": fewer arguments are expected." val () = prerr_newline () in the_trans3errlst_add (T3E_d2exp_trdn_lam_dyn (d2e0, s2e0)) end // end of [if] // end of [val] // val (pfd2v | ()) = the_d2varenv_push_lam (lin1) val () = the_d2varenv_add_p3atlst (p3ts_arg) val (pfman | ()) = the_pfmanenv_push_lam (lin1) // lin:0/1:stopping/continuing val () = the_pfmanenv_add_p3atlst (p3ts_arg) val (pflamlp | ()) = the_lamlpenv_push_lam (p3ts_arg) // val d3e_body = d2exp_trdn (d2e_body, s2e_res) // val () = the_d2varenv_check (loc0) val () = if lin > 0 then the_d2varenv_check_llam (loc0) // val () = the_effenv_pop (pfeff | (*none*)) val () = the_d2varenv_pop (pfd2v | (*none*)) val () = the_pfmanenv_pop (pfman | (*none*)) val () = the_lamlpenv_pop (pflamlp | (*none*)) // val () = trans3_env_pop_and_add_main (pfpush | loc0) // in d3exp_lam_dyn (loc0, s2e0, lin, npf, p3ts_arg, d3e_body) end // end of [S2Efun] // | S2Euni (s2vs, s2ps, s2e) => let val (pfpush | ()) = trans3_env_push () val () = trans3_env_add_svarlst (s2vs) val () = trans3_env_hypadd_proplst (loc0, s2ps) val d3e0 = d2exp_trdn (d2e0, s2e) val () = trans3_env_pop_and_add_main (pfpush | loc0) in d3exp_lam_sta (loc0, s2e0, s2vs, s2ps, d3e0) end // end of [S2Euni] // | S2Erefarg (knd, s2e) => let val s2f = s2exp2hnf (s2e) in d2exp_trdn_lam_dyn (d2e0, s2f) end // end of [s2Erefarg] // | _ => let val d3e0 = d2exp_trup (d2e0) in d3exp_trdn (d3e0, s2e0) end // end of [let] // end // end of [d2exp_trdn_lam_dyn] (* ****** ****** *) implement d2exp_trdn_lam_sta_nil (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val s2e0 = s2hnf2exp (s2f0) // in // case+ s2e0.s2exp_node of | S2Euni (s2vs, s2ps, s2e) => let val (pfpush | ()) = trans3_env_push () val () = trans3_env_add_svarlst (s2vs) val () = trans3_env_hypadd_proplst (loc0, s2ps) val d3e0 = d2exp_trdn (d2e0, s2e) val () = trans3_env_pop_and_add_main (pfpush | loc0) in d3exp_lam_sta (loc0, s2e0, s2vs, s2ps, d3e0) end // end of [S2Euni] | _ => let val-D2Elam_sta (_(*s2vs*), s2ps, d2e_body) = d2e0.d2exp_node // end of [val] val () = trans3_env_add_proplst (loc0, s2ps) in d2exp_trdn (d2e_body, s2e0) end // end of [_] // end // end of [d2exp_trdn_lam_sta_nil] (* ****** ****** *) implement d2exp_trdn_ifhead (d2e0, s2f_if) = let (* val () = println! ("d2exp_trdn_ifhead: d2e0 = ", d2e0) val () = println! ("d2exp_trdn_ifhead: s2f_if = ", s2f_if) *) val loc0 = d2e0.d2exp_loc val-D2Eifhead (invres, d2e_cond, d2e_then, od2e_else) = d2e0.d2exp_node // end of [val] // val d3e_cond = d2exp_trup (d2e_cond) val loc_cond = d3e_cond.d3exp_loc val () = d3exp_open_and_add (d3e_cond) val s2e_cond = d3exp_get_type (d3e_cond) val s2e_bool = s2exp_bool_t0ype () val d3e_cond = d3exp_trdn (d3e_cond, s2e_bool) val s2f_cond = s2exp2hnf (s2e_cond) val os2p_cond = un_s2exp_bool_index_t0ype (s2f_cond) // val s2e_if = s2hnf2exp (s2f_if) // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // val loc_then = d2e_then.d2exp_loc val ctr = c3nstroptref_make_none (loc_then) val d3e_then = let val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_propopt (loc_cond, $UN.castvwtp1 {s2expopt}{s2expopt_vt} (os2p_cond)) val d3e_then = d2exp_trdn (d2e_then, s2e_if) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_then) in d3e_then end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val () = lstbefitmlst_restore_type (lsbis) // val d2e_else = ( case+ od2e_else of | Some d2e_else => d2e_else | None () => let val loc_else = $LOC.location_rightmost (loc_then) in d2exp_empty (loc_else) end // end of [None] ) : d2exp // end of [val] val loc_else = d2e_else.d2exp_loc val ctr = c3nstroptref_make_none (loc_else) val d3e_else = let val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_propopt_neg (loc_cond, $UN.castvwtp1 {s2expopt}{s2expopt_vt} (os2p_cond)) val d3e_else = d2exp_trdn (d2e_else, s2e_if) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_else) in d3e_else end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val () = option_vt_free (os2p_cond) // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // val () = i2nvresstate_update (loc0, invres) // in d3exp_if (loc0, s2e_if, d3e_cond, d3e_then, d3e_else) end // end of [d2exp_trdn_ifhead] (* ****** ****** *) implement d2exp_trdn_sifhead (d2e0, s2f_sif) = let // val loc0 = d2e0.d2exp_loc val-D2Esifhead (invres, s2p_cond, d2e_then, d2e_else) = d2e0.d2exp_node // end of [val] // val s2e_sif = s2hnf2exp (s2f_sif) // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // val loc_then = d2e_then.d2exp_loc val ctr = c3nstroptref_make_none (loc_then) val d3e_then = let val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_prop (loc0, s2p_cond) val d3e_then = d2exp_trdn (d2e_then, s2e_sif) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_then) in d3e_then end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val () = lstbefitmlst_restore_type (lsbis) // val loc_else = d2e_then.d2exp_loc val ctr = c3nstroptref_make_none (loc_else) val d3e_else = let val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_prop (loc0, s2exp_bneg (s2p_cond)) val d3e_else = d2exp_trdn (d2e_else, s2e_sif) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_else) in d3e_else end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // val () = i2nvresstate_update (loc0, invres) // in d3exp_sif (loc0, s2e_sif, s2p_cond, d3e_then, d3e_else) end // end of [d2exp_trdn_sifhead] (* ****** ****** *) implement d2exp_trdn_letwhere (d2e0, s2f0, d2cs, d2e_scope) = let val loc0 = d2e0.d2exp_loc val s2e0 = s2hnf2exp (s2f0) // val (pfpush_eff | ()) = the_effenv_push () val (pfpush_s2cst | ()) = the_s2cstbindlst_push () val (pfpush_d2var | ()) = the_d2varenv_push_let () // val d3cs = d2eclist_tr (d2cs) val d3e_scope = d2exp_trdn (d2e_scope, s2e0) // val () = the_d2varenv_check (loc0) // val () = the_effenv_pop (pfpush_eff | (*none*)) val () = the_s2cstbindlst_pop_and_unbind (pfpush_s2cst | (*none*)) val () = the_d2varenv_pop (pfpush_d2var | (*none*)) // in d3exp_let (loc0, d3cs, d3e_scope) end // end of [d2exp_trdn_letwhere] (* ****** ****** *) implement d2exp_trdn_top (d2e0, s2f0) = let val loc0 = d2e0.d2exp_loc val s2e0 = s2hnf2exp (s2f0) in d3exp_top (loc0, s2e0) end // end of [d2exp_trdn_top] (* ****** ****** *) local fun auxerrlen ( loc0: loc_t, serr: int ) : void = () where { // val () = prerr_error3_loc (loc0) val () = if serr < 0 then prerr ": more record field expected." val () = if serr > 0 then prerr ": fewer record field expected." val () = prerr_newline () // } // end if [auxerrlen] (* ****** ****** *) fun auxtup ( d2es: d2explst, ls2es: labs2explst, serr: &int ) : d3explst = let in // case+ d2es of | list_cons (d2e, d2es) => let in case+ ls2es of | list_cons (ls2e, ls2es) => let val+SLABELED (l, name, s2e) = ls2e val d3e = d2exp_trdn (d2e, s2e) val d3es = auxtup (d2es, ls2es, serr) in list_cons (d3e, d3es) end // end of [list_cons] | list_nil () => let val () = serr := serr+1 in list_nil () end // end of [list_nil] end // end of [list_cons] | list_nil () => let in case+ ls2es of | list_cons _ => let val () = serr := serr-1 in list_nil () end // end of [list_cons] | list_nil () => list_nil () end // end of [list_nil] // end // end of [auxtup] fun auxrec ( ld2es: labd2explst, ls2es: labs2explst, serr: &int ) : labd3explst = let in // case+ ld2es of | list_cons (ld2e, ld2es) => let val $SYN.DL0ABELED (l0, d2e) = ld2e in case+ ls2es of | list_cons (ls2e, ls2es) => let val+SLABELED (_, name, s2e) = ls2e val d3e = d2exp_trdn (d2e, s2e) val ld3e = $SYN.DL0ABELED (l0, d3e) val ld3es = auxrec (ld2es, ls2es, serr) in list_cons (ld3e, ld3es) end // end of [list_cons] | list_nil () => let val () = serr := serr+1 in list_nil () end // end of [list_nil] end // end of [list_cons] | list_nil () => let in case+ ls2es of | list_cons _ => let val () = serr := serr-1 in list_nil () end // end of [list_cons] | list_nil () => list_nil () end // end of [list_nil] // end // end of [auxrec] in (* in-of-local *) implement d2exp_trdn_tup (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val-D2Etup (knd, npf, d2es) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) // in // case+ s2e0.s2exp_node of // | S2Etyrec ( knd1, npf1, ls2es ) => let // var err: int = 0 val () = $SOL.boxity_equal_solve_err (loc0, knd, knd1, err) val () = $SOL.pfarity_equal_solve_err (loc0, npf, npf1, err) val () = if err != 0 then { val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_d2exp_trdn_tup (d2e0, s2e0)) } (* end of [if] *) // end of [val] // var serr: int = 0 val d3es = auxtup (d2es, ls2es, serr) val () = if (serr != 0) then { val () = auxerrlen (loc0, serr) val () = the_trans3errlst_add (T3E_d2exp_trdn_tup (d2e0, s2e0)) } (* end of [if] *) // end of [val] // in d3exp_tup (loc0, s2e0, knd, npf, d3es) end // end of [S2Etyrec] | _ (*non-S2Etyrec*) => d2exp_trdn_rest (d2e0, s2f0) // end // end of [d2exp_trdn_tup] implement d2exp_trdn_rec (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val-D2Erec (knd, npf, ld2es) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) // in // case+ s2e0.s2exp_node of // | S2Etyrec ( knd1, npf1, ls2es ) => let var err: int = 0 val () = $SOL.boxity_equal_solve_err (loc0, knd, knd1, err) val () = $SOL.pfarity_equal_solve_err (loc0, npf, npf1, err) val () = if err != 0 then { val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_d2exp_trdn_rec (d2e0, s2e0)) } // end of [if] // end of [val] var serr: int = 0 val ld3es = auxrec (ld2es, ls2es, serr) val () = if (serr != 0) then { val () = auxerrlen (loc0, serr) val () = the_trans3errlst_add (T3E_d2exp_trdn_tup (d2e0, s2e0)) } // end of [if] // end of [val] // in d3exp_rec (loc0, s2e0, knd, npf, ld3es) end // end of [S2Etyrec] | _ (* non-S2Etyrec *) => d2exp_trdn_rest (d2e0, s2f0) // end // end of [d2exp_trdn_rec] end // end of [local] (* ****** ****** *) implement d2exp_trdn_seq (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val-D2Eseq (d2es) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) // fun aux ( d2e: d2exp , d2es: d2explst , s2e_void: s2exp , s2e0: s2exp ) : d3explst = ( case+ d2es of | list_cons (d2e1, d2es1) => let val d3e = d2exp_trdn (d2e, s2e_void) val d3es = aux (d2e1, d2es1, s2e_void, s2e0) in list_cons (d3e, d3es) end // end of [list_cons] | list_nil () => let val d3e = d2exp_trdn (d2e, s2e0) in list_sing (d3e) end // end of [list_nil] ) (* end of [aux] *) // val s2e_void = s2exp_void_t0ype () // in // case+ d2es of | list_cons (d2e, d2es) => let var s2e_res: s2exp // uninitized val d3es = aux (d2e, d2es, s2e_void, s2e0) in d3exp_seq (loc0, s2e0, d3es) end // end of [list_cons] | list_nil ((*void*)) => let val d3e = d3exp_empty (loc0, s2e_void) // end of [val] in d3exp_trdn (d3e, s2e0) end // end of [list_nil] end // end of [d2exp_trdn_seq] (* ****** ****** *) implement d2exp_trdn_effmask (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val-D2Eeffmask (s2fe, d2e) = d2e0.d2exp_node // val (pfpush | ()) = the_effenv_push_effmask (s2fe) val s2e0 = s2hnf2exp (s2f0) val d3e = d2exp_trdn (d2e, s2e0) val ((*void*)) = the_effenv_pop (pfpush | (*none*)) // in d3exp_effmask (loc0, s2fe, d3e) end // end of [d2exp_trdn_effmask] (* ****** ****** *) implement d2exp_trdn_exist (d2e0, s2f0) = let val loc0 = d2e0.d2exp_loc val-D2Eexist (s2a, d2e) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) var err: int = 0; var s2ps0: s2explst_vt val s2e_ins = ( case+ s2e0.s2exp_node of | S2Ewthtype (s2e1, wths2e2) => let val (s2e1, s2ps1) = s2exp_exi_instantiate_sexparg (s2e1, s2a, err) val () = s2ps0 := s2ps1 in s2exp_wthtype (s2e1, wths2e2) end // end of [S2Ewthtype] | _ => s2e1 where { val (s2e1, s2ps1) = s2exp_exi_instantiate_sexparg (s2e0, s2a, err) val () = s2ps0 := s2ps1 } // end of [_] ) : s2exp // end of [val] val () = trans3_env_add_proplst_vt (loc0, s2ps0) (* val () = if err > 0 then { val () = prerr_error3_loc (loc0) val () = prerr ": existential abstraction mismatch" val () = the_trans3errlst_add (T3E_d2exp_trdn_exist (d2e0, s2e0)) } (* end of [if] *) // end of [val] *) in d2exp_trdn (d2e, s2e_ins) end // end of [d2exp_trdn_exist] (* ****** ****** *) implement d2exp_trdn_trywith (d2e0, s2f0) = let // val loc0 = d2e0.d2exp_loc val-D2Etrywith (r2es, d2e, c2ls) = d2e0.d2exp_node // val (pfd2v | ()) = the_d2varenv_push_try () val (pfman | ()) = the_pfmanenv_push_try () // val s2e_res = s2hnf2exp (s2f0) val d3e = d2exp_trdn (d2e, s2e_res) val s2e_pat = s2exp_exception_vtype () val d3es = list_sing (d3e) val s2es_pat = list_sing (s2e_pat) val c3ls = c2laulst_trdn ( loc0, CK_case_neg, r2es, c2ls, d3es, s2es_pat, s2e_res ) (* end of [val] *) // val ((*void*)) = the_d2varenv_pop (pfd2v | (*none*)) val ((*void*)) = the_pfmanenv_pop (pfman | (*none*)) // in d3exp_trywith (loc0, d3e, c3ls) end // end of [d2exp_trdn_trywith] (* ****** ****** *) (* end of [pats_trans3_dynexp_dn.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_tmplab.dats0000664000175000017500000000455112655455557020076 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) local assume tmplab_type = '{ tmplab_loc = location, tmplab_stamp = stamp } // end of [tmplab] in (* in of [local] *) implement tmplab_make (loc) = let val stamp = $STMP.tmplab_stamp_make () in '{ tmplab_loc= loc, tmplab_stamp= stamp } end // end of [tmplab_make] implement tmplab_get_loc (tl) = tl.tmplab_loc implement tmplab_get_stamp (tl) = tl.tmplab_stamp end // end of [local] (* ****** ****** *) implement fprint_tmplab (out, tl) = { val stamp = tmplab_get_stamp (tl) val () = fprint_string (out, "tmplab(") val () = $STMP.fprint_stamp (out, stamp) val () = fprint_string (out, ")") } (* end of [fprint_tmplab] *) (* ****** ****** *) (* end of [pats_ccomp_tmplab.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_solve.dats0000664000175000017500000007607612655455557020515 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) staload _(*anon*) = "./pats_lintprgm.dats" staload _(*anon*) = "./pats_lintprgm_print.dats" (* ****** ****** *) local // #include "./pats_lintprgm_myint_int.dats" // in // nothing end // end of [local] (* ****** ****** *) extern fun{a:t@ype} myintvec_combine_at {n:int} ( iv_pos: !myintvec (a, n) , iv_neg: !myintvec (a, n) , n: int n, i: intBtw (1, n) ) :<> myintvec (a, n) // end of [myintvec_combine_at] implement{a} myintvec_combine_at (iv_pos, iv_neg, n, i) = let val c_pos = iv_pos[i] // c_pos > 0 and c_neg = neg_myint (iv_neg[i]) // c_neg > 0 val iv = myintvec_copy_cff (c_pos, iv_neg, n) val () = myintvec_addby_cff (iv, c_neg, iv_pos, n) val () = myint_free (c_pos) and () = myint_free (c_neg) in iv(*NewlyCreatedVector*) end // end of [myintvec_combine_at] (* ****** ****** *) // // HX-2012-02: // ~1/0: CONTRADICTION/UNDECIDED // extern fun{a:t@ype} myintveclst_split_at {n:int} ( vecs: &myintveclst (a, n), n: int n, i: intBtw (1, n) ) : int(*~1/0*) // end of [myintveclst_split_at] implement{a} myintveclst_split_at {n} (ivs, n, i) = let // stadef iv = myintvec (a, n) stadef ivs = myintveclst (a, n) // fun auxbeg ( ivs: ivs, i: natLt n , neus: &ivs, poss: &ivs, negs: &ivs ) : void = let in // case+ ivs of | list_vt_cons (!p_iv, !p_ivs1) => let val ivs1 = !p_ivs1 val sgn = myintvec_compare_at (!p_iv, i, 0) in if sgn > 0 then let val () = !p_ivs1 := poss val () = poss := ivs prval () = fold@ {iv} (poss) in auxbeg (ivs1, i, neus, poss, negs) end else if sgn < 0 then let val () = !p_ivs1 := negs val () = negs := ivs prval () = fold@ {iv} (negs) in auxbeg (ivs1, i, neus, poss, negs) end else let // sgn = 0 val () = !p_ivs1 := neus val () = neus := ivs prval () = fold@ {iv} (neus) in auxbeg (ivs1, i, neus, poss, negs) end // end of [if] end (* end of [list_vt_cons] *) | ~list_vt_nil () => () // end // end of [auxbeg] // fun auxcomb ( // // ~1/0 means contradiction/undecided // n: int n, i: intBtw (1, n) , neus: &ivs, poss: &ivs, neg: !iv ) : int(*~1/0*) = let in // case+ poss of | list_vt_cons (!p_pos, !p_poss) => let val iv_new = myintvec_combine_at (!p_pos, neg, n, i) // end of [val] val sgn = myintvec_inspect_gte (iv_new, n) val () = ( if sgn != 0 then myintvec_free (iv_new, n) else let val () = myintvec_normalize_gte (iv_new, n) in neus := list_vt_cons (iv_new, neus) end // end of [if] ) : void // end of [val] in if (sgn >= 0) then let val ans = auxcomb (n, i, neus, !p_poss, neg) prval () = fold@ (poss) in ans end else let prval () = fold@ (poss) in ~1(*CONTRADITION*) end // end of [if] end (* end of [list_vt_cons] *) | list_vt_nil () => let prval () = fold@ (poss) in 0(*UNDECIDED*) end // end of [list_vt_nil] // end // end of [auxcomb] // // HX: [~1] is returned if contradiction is reached // fun auxcomblst ( n: int n, i: intBtw (1, n) , neus: &ivs, poss: &ivs, negs: ivs ) : int(*~1/0*) = let in // case+ negs of | ~list_vt_cons (neg, negs) => let val ans = auxcomb (n, i, neus, poss, neg) // end of [val] val () = myintvec_free (neg, n) in if ans >= 0 then auxcomblst (n, i, neus, poss, negs) else let val () = myintveclst_free (negs, n) in ~1(*CONTRADICTION*) end // end of [if] end (* list_vt_cons *) | ~list_vt_nil () => 0(*UNDECIDED*) // end // end of [auxcomblst] // var neus: ivs = list_vt_nil () var poss: ivs = list_vt_nil () and negs: ivs = list_vt_nil () // val () = auxbeg (ivs, i, neus, poss, negs) val ans = auxcomblst (n, i, neus, poss, negs) val () = myintveclst_free (poss, n) val () = ivs := neus // in ans(*~1/0*) end // end of [myintveclst_split_at] (* ****** ****** *) extern fun{a:t@ype} myintvec_get_index_of_absmincff {n:pos} (iv: !myintvec (a, n), n: int n): intBtw (1, n) // end of [myintvec_get_index_of_absmincff] implement{a} myintvec_get_index_of_absmincff {n} (iv, n) = let // viewtypedef x = myint(a) // fun loop {k:nat | k <= n}{l:addr} .. ( pf: !array_v (x, k, l) | p: ptr l, n: int n, k: int k , isz: bool, ind: &natLt (n), cff: &x ) : void = let in if k > 0 then let prval (pf1, pf2) = array_v_uncons {x} (pf) val sgn = compare_myint_int (!p, 0) val () = ( if sgn > 0 then ( if ( isz || (!p < cff) ) then let val () = ind := n - k val () = myint_free (cff) in cff := myint_copy (!p) end else ( // nothing ) // end of [if] ) // end of [if] ) : void // end of [val] val () = ( if sgn < 0 then let val cff1 = neg1_myint (!p) in if ( isz || (cff1 < cff) ) then let val () = ind := n - k val () = myint_free (cff) in cff := cff1 end else ( myint_free (cff1) ) // end of [if] end // end of [if] ) : void // end of [val] in if sgn = 0 then let val () = loop (pf2 | p+sizeof, n, k-1, isz, ind, cff) in pf := array_v_cons {x} (pf1, pf2) end else if cff > 1 then let val () = loop (pf2 | p+sizeof, n, k-1, false, ind, cff) in pf := array_v_cons {x} (pf1, pf2) end else ( pf := array_v_cons {x} (pf1, pf2) ) // end of [if] end // end of [if] end // end of [loop] // var ind: natLt (n) = 0 var cff: myint (a) = myint_make_int (0) val (pf | p) = myintvec_takeout (iv) prval (pf1, pf2) = array_v_uncons {x} (pf) val () = loop (pf2 | p+sizeof, n, n-1, true(*isz*), ind, cff) prval () = pf := array_v_cons {x} (pf1, pf2) prval () = myintvecout_addback (pf | iv) val () = myint_free (cff) // val () = assertloc (ind > 0) // in ind end // end of [myintvec_get_index_of_absmincff] (* ****** ****** *) absviewtype indexlst (n:int) (* extern fun fprint_indexlst {n:int} (out: FILEref, xs: !indexlst n): void // end of [fprint_indexlst] *) extern fun indexlst_make {n:pos} (xs: indexset (n), n: int n): indexlst (n) // end of [indexlst_make] extern fun indexlst_choose {n:pos} (xs: &indexlst n): natLt (n) extern fun indexlst_free {n:int} (xs: indexlst n): void (* ****** ****** *) local // staload FS = "libats/SATS/funset_listord.sats" staload _(*anon*) = "libats/DATS/funset_listord.dats" // fn cmp ( x1: int, x2: int ) : int = compare_int_int (x1, x2) // assume indexset (n:int) = $FS.set (index(n)) assume indexlst (n:int) = List_vt (index (n)) // in // in of [local] implement indexset_nil () = $FS.funset_make_nil () implement indexset_is_member (xs, x) = $FS.funset_is_member (xs, x, cmp) // end of [indexset_is_member] implement indexset_add (xs, x) = xs where { var xs = xs val _(*found*) = $FS.funset_insert (xs, x, cmp) } // end of [indexset_add] (* ****** ****** *) implement indexlst_make {n} (iset, n) = let viewtypedef res = List_vt (index (n)) fun loop {k:nat | k < n} .. ( k: int k, res1: res, res2: res ) : res = if k > 0 then let val ismem = indexset_is_member {n} (iset, k) in if ismem then loop (k-1, list_vt_cons (k, res1), res2) else loop (k-1, res1, list_vt_cons (k, res2)) // end of [if] end else list_vt_append (res1, res2) (* end of [if] *) // end of [loop] in loop (n-1, list_vt_nil, list_vt_nil) end // end of [indexlst_make] implement indexlst_choose (xs) = case+ xs of | ~list_vt_cons (x, xs1) => (xs := xs1; x) | list_vt_nil () => (fold@ (xs); 0) // HX: error indication // end of [indexlst_choose] implement indexlst_free (xs) = list_vt_free (xs) end // end of [local] (* ****** ****** *) extern fun{a:t@ype} myintveclst_solve {n:pos} ( iset: indexset (n), ivs: myintveclst (a, n), n: int n ) : Ans2(*~1/0*) // end of [myintveclst_solve] implement{a} myintveclst_solve {n} (iset, ivs, n) = let (* val () = begin print "myintveclst_solve: ivs =\n"; print_myintveclst (ivs, n); print_newline (); end // end of [val] *) // viewtypedef ivs = myintveclst (a, n) // fun solve ( ivs: &ivs, ilst: &indexlst (n), n: int n ) : Ans2(*~1/0*) = let // val i = indexlst_choose (ilst) (* val () = ( print "myintveclst_solve: solve: i = "; print i; print_newline (); print "myintveclst_solve: solve: ivs =\n"; print_myintveclst (ivs, n); print_newline () ) // end of [val] *) in if i > 0 then let val ans = myintveclst_split_at (ivs, n, i) // end of [val] in if ans >= 0 then solve (ivs, ilst, n) else ~1(*solved*) end else 0(*UNDECIDED*) // end of [if] end // end of [solve] // var ivs: ivs = ivs var ilst = indexlst_make (iset, n) val ans = solve (ivs, ilst, n) (* val () = ( print "myintveclst_solve: ans = "; print ans; print_newline () ) // end of [val] *) val () = myintveclst_free (ivs, n) val () = indexlst_free (ilst) // in ans end // end of [myintveclst_solve] (* ****** ****** *) (* ** ** HX-2012-02: ** iveq refers to an equality of the form: ** A[0] + A[1]*x1 + A[2]*x2 + ... + A[n]*xn = 0 ** *) extern fun{a:t@ype} myintvec_elimeq_at {n:int} ( iv: !myintvec (a, n), iveq: !myintvec (a, n), n: int n, i: intBtw (1, n) ) : void // end of [myintvec_elimeq_at] extern fun{a:t@ype} myintveclst_elimeq_at {n:int} ( ivs: !myintveclst (a, n), iveq: !myintvec (a, n), n: int n, i: intBtw (1, n) ) : void // end of [myintveclst_elimeq_at] (* ****** ****** *) implement{a} myintvec_elimeq_at (iv, iveq, n, i) = let (* val () = ( print "myintvec_elimeq_at: i = "; print_int (i); print_newline (); print "myintvec_elimeq_at: iv = "; print_myintvec (iv, n); print_newline (); print "myintvec_elimeq_at: iveq = "; print_myintvec (iveq, n); print_newline () ) // end of [val] *) // val sgn = myintvec_compare_at (iv, i, 0) // in // if sgn != 0 then let var c = iv[i] and ceq = iveq[i] val sgn = compare_myint_int (ceq, 0) in if sgn >= 0 then let val () = c := neg_myint (c) val () = myintvec_scale (ceq, iv, n) val () = myintvec_addby_cff (iv, c, iveq, n) val () = myint_free (c) and () = myint_free (ceq) in (*nothing*) end else let val () = ceq := neg_myint (ceq) val () = myintvec_scale (ceq, iv, n) val () = myintvec_addby_cff (iv, c, iveq, n) val () = myint_free (c) and () = myint_free (ceq) in (*nothing*) end (* end of [if] *) end else () // end of [if] // end // end of [myintvec_elimeq_at] implement{a} myintveclst_elimeq_at (ivs, iveq, n, i) = ( case+ ivs of | list_vt_cons (!p_iv, !p_ivs) => let val () = myintvec_elimeq_at (!p_iv, iveq, n, i) val () = myintveclst_elimeq_at (!p_ivs, iveq, n, i) in fold@ (ivs) end // end of [list_vt_cons] | list_vt_nil () => fold@ (ivs) ) // end of [myintveclst_elimeq_at] (* ****** ****** *) dataviewtype myivlst (a:t@ype, int) = | {n:int} MYIVLSTcons (a, n) of ( int(*stamp*), myintvec (a, n), myivlst (a, n) ) // end of [MYIVLSTcons] | {n:int} MYIVLSTmark (a, n) of myivlst (a, n) | {n:int} MYIVLSTnil (a, n) of () // end of [myivlst] (* ****** ****** *) extern fun{a:t@ype} myivlst_free {n:int} (i1vs: myivlst (a, n), n: int n): void // end of [myivlst_free] implement{a} myivlst_free (i1vs, n) = ( case+ i1vs of | ~MYIVLSTcons (_, iv, i1vs) => let val () = myintvec_free (iv, n) in myivlst_free (i1vs, n) end // end of [MYIVLSTcons] | ~MYIVLSTmark (i1vs) => myivlst_free (i1vs, n) | ~MYIVLSTnil () => () ) // end of [myivlst_free] (* ****** ****** *) extern fun{a:t@ype} myivlst_mark {n:int} (i1vs: myivlst (a, n)): myivlst (a, n) // end of [myivlst_mark] implement{a} myivlst_mark {n} (i1vs) = MYIVLSTmark (i1vs) // end of [myivlst_mark] extern fun{a:t@ype} myivlst_unmark {n:int} (i1vs: myivlst (a, n), n: int n): myivlst (a, n) // end of [myivlst_unmark] implement{a} myivlst_unmark (i1vs, n) = ( case+ i1vs of | ~MYIVLSTcons (_, iv, i1vs) => let val () = myintvec_free (iv, n) in myivlst_unmark (i1vs, n) end // end of [MYIVEQLSTcons] | ~MYIVLSTmark (i1vs) => i1vs | ~MYIVLSTnil () => MYIVLSTnil () ) // end of [myivlst_unmark] (* ****** ****** *) (* ** HX-2012-02: ** this is a poorman's doubly-linked list ** I am somewhat fond of this design. Maybe it should ** be put into libats for general use. *) dataviewtype myiveqlst (a:t@ype, int) = | {n:int} {i:int | 0 < i; i < n} MYIVEQLSTcons (a, n) of ( int(*stamp*) , myintvec (a, n), int i(*index*) , ptr(*prev*) , myiveqlst (a, n) ) // end of [MYIVEQLSTcons] | {n:int} MYIVEQLSTmark (a, n) of (ptr(*prev*), myiveqlst (a, n)) | {n:int} MYIVEQLSTnil (a, n) of () // end of [myiveqlst] (* ****** ****** *) (* ** HX: for the purpose of debugging *) extern fun{a:t@ype} fprint_myiveqlst {n:int} ( out: FILEref, xs: !myiveqlst (a, n) ) : void // end of [fprint_myiveqlst] implement{a} fprint_myiveqlst (out, xs) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ xs of | MYIVEQLSTcons (_, _, _, _, !p_xs) => { val () = prstr "MYIVEQLSTcons(" val () = fprint_myiveqlst (out, !p_xs) val () = prstr ")" prval () = fold@ (xs) } | MYIVEQLSTmark (_, !p_xs) => { val () = prstr "MYIVEQLSTmark(" val () = fprint_myiveqlst (out, !p_xs) val () = prstr ")" prval () = fold@ (xs) } | MYIVEQLSTnil () => let val () = prstr "MYIVEQLSTnil" in fold@ (xs) end // end of [MYIVEQLSTnil] // end // end of [fprint_myiveqlst] (* ****** ****** *) extern fun{a:t@ype} myiveqlst_free {n:int} (i1vs: myiveqlst (a, n), n: int n): void // end of [myiveqlst_free] implement{a} myiveqlst_free (i1vs, n) = ( case+ i1vs of | ~MYIVEQLSTcons (_, iv, _, _, i1vs) => let val () = myintvec_free (iv, n) in myiveqlst_free (i1vs, n) end // end of [MYIVEQLSTcons] | ~MYIVEQLSTmark (_, i1vs) => myiveqlst_free (i1vs, n) | ~MYIVEQLSTnil () => () ) // end of [myiveqlst_free] (* ****** ****** *) extern castfn myiveqlst2ptr {a:t@ype}{n:int} (x: !myiveqlst (a, n)): ptr // end of [myiveqlst2ptr] (* ****** ****** *) fun{a:t@ype} myiveqlst_get_prev {n:int} (x: !myiveqlst (a, n)): ptr = case+ x of | MYIVEQLSTcons (_, _, _, !p_prev, _) => let prval () = fold@ (x) in p_prev end // end of [MYIVEQLSTcons] | MYIVEQLSTmark (!p_prev, _) => (fold@ (x); p_prev) | MYIVEQLSTnil () => (fold@ (x); null) // end of [myiveqlst_get_prev] (* ****** ****** *) extern fun{a:t@ype} myiveqlst_cons {n:int} ( stamp: int, i: intBtw (1, n) , iv: myintvec (a, n), i1veqs: myiveqlst (a, n) ) : myiveqlst (a, n) implement{a} myiveqlst_cons {n} (stamp, i, i1veq, i1veqs) = let val p_prev = myiveqlst_get_prev (i1veqs) val p_prev = ptr1_of_ptr (p_prev) val res = MYIVEQLSTcons (stamp, i1veq, i, null(*prev*), i1veqs) val () = if p_prev > null then $UN.ptrset (p_prev, myiveqlst2ptr (res)) // end of [val] in res end // end of [myiveqlst_cons] (* ****** ****** *) extern fun{a:t@ype} myiveqlst_mark {n:int} (i1veqs: myiveqlst (a, n)): myiveqlst (a, n) // end of [myiveqlst_mark] implement{a} myiveqlst_mark {n} (i1veqs) = let val p_prev = myiveqlst_get_prev (i1veqs) val p_prev = ptr1_of_ptr (p_prev) val res = MYIVEQLSTmark (null(*prev*), i1veqs) val () = if p_prev > null then $UN.ptrset (p_prev, myiveqlst2ptr (res)) // end of [val] in res end // end of [myiveqlst_mark] extern fun{a:t@ype} myiveqlst_unmark {n:int} (i1veqs: myiveqlst (a, n), n: int n): myiveqlst (a, n) // end of [myiveqlst_unmark] implement{a} myiveqlst_unmark (i1veqs, n) = ( case+ i1veqs of | ~MYIVEQLSTcons (_, iv, _, _, i1veqs) => let val () = myintvec_free (iv, n) in myiveqlst_unmark (i1veqs, n) end // end of [MYIVEQLSTcons] | ~MYIVEQLSTmark (_, i1veqs) => i1veqs | ~MYIVEQLSTnil () => MYIVEQLSTnil () ) // end of [myiveqlst_unmark] (* ****** ****** *) extern fun{a:t@ype} myiveqlst_get_last {n:int} (xs: !myiveqlst (a, n)): ptr // end of [myiveqlst_get_last] implement{a} myiveqlst_get_last {n} (xs) = let // viewtypedef vt = myiveqlst (a, n) // fun loop (prev: ptr, xs: !vt): ptr = let val pcur = $UN.castvwtp1{ptr}{vt} (xs) in // case+ xs of | MYIVEQLSTcons (_, _, _, _, !p_xs) => let val res = loop (pcur, !p_xs) in fold@ (xs); res end // end of [MYIVEQLSTcons] | MYIVEQLSTmark (_, !p_xs) => let val res = loop (pcur, !p_xs) in fold@ (xs); res end // end of [MYIVEQLSTmark] | MYIVEQLSTnil () => (fold@ (xs); prev) // end // end of [loop] // in loop (null, xs) end // end of [myiveqlst_get_last] (* ****** ****** *) extern fun{a:t@ype} myintvec_elimeqlst {n:int} ( stamp0: int , iv: !myintvec (a, n), i1veqs: !myiveqlst (a, n), n: int (n) ) : void // end of [myintvec_elimeqlst] local fun{a:t@ype} myintvec_elimeqlst_rev {n:int} ( stamp0: int , iv: !myintvec (a, n), i1veqs: !myiveqlst (a, n), n: int (n) ) : void = let // val prev = ( case+ i1veqs of | MYIVEQLSTcons (stamp, !p_i1veq, i, prev, _) => prev where { (* val () = ( print "MYIVEQLSTcons: prev = "; print prev; print_newline () ) // end of [val] *) val () = if stamp0 <= stamp then myintvec_elimeq_at (iv, !p_i1veq, n, i) // end of [val] prval () = fold@ (i1veqs) } // end of [MYIVEQLSTcons] | MYIVEQLSTmark (prev, _) => prev where { (* val () = ( print "MYIVEQLSTmark: prev = "; print prev; print_newline () ) // end of [val] *) prval () = fold@ (i1veqs) } // end of [MYIVEQLSTmark] | MYIVEQLSTnil () => (fold@ (i1veqs); null) ) : ptr // end of [val] // in // if (prev > null) then { val _prev = __cast (prev) where { extern castfn __cast (_: ptr):<> myiveqlst (a, n) } // end of [val] val () = myintvec_elimeqlst_rev (stamp0, iv, _prev, n) prval () = __free (_prev) where { extern praxi __free (_: myiveqlst (a, n)): void } // end of [prval] } (* end of [if] *) // end // end of [myintvec_elimeqlst_rev] in // in of [local] implement{a} myintvec_elimeqlst {n} (stamp0, iv, i1veqs, n) = let val last = myiveqlst_get_last (i1veqs) in // if (last > null) then { val i1veqs = __cast (last) where { extern castfn __cast (_: ptr): myiveqlst (a, n) } // end of [val] val () = myintvec_elimeqlst_rev (stamp0, iv, i1veqs, n) prval () = __free (i1veqs) where { extern praxi __free (_: myiveqlst (a, n)): void } // end of [prval] } (* end of [if] *) // end // end of [myintvec_elimeqlst] end // end of [local] (* ****** ****** *) extern fun{a:t@ype} myivlst_elimeqlst {n:nat} ( i1vs: !myivlst (a, n), i1veqs: !myiveqlst (a, n), n: int n ) : myintveclst (a, n) // end of [myivlst_elimeqlst] implement{a} myivlst_elimeqlst {n} (i1vs, i1veqs, n) = let // viewtypedef res = myintveclst (a, n) // fun loop ( i1vs: !myivlst (a, n) , i1veqs: !myiveqlst (a, n) , n: int n , res: &(res?) >> res ) : void = let in // case+ i1vs of | MYIVLSTcons (stamp, !p_iv, !p_i1vs) => let val iv_new = myintvec_copy (!p_iv, n) val () = myintvec_elimeqlst (stamp, iv_new, i1veqs, n) val () = res := list_vt_cons {..}{0} (iv_new, ?) val+list_vt_cons (_, !p_res) = res val () = loop (!p_i1vs, i1veqs, n, !p_res) prval () = fold@ (res) in fold@ (i1vs) end // end of [MYIVLSTcons] | MYIVLSTmark (!p_i1vs) => let val () = loop (!p_i1vs, i1veqs, n, res) in fold@ (i1vs) end // end of [MYIVLSTmark] | MYIVLSTnil () => let val () = res := list_vt_nil () in fold@ (i1vs) end // end of [MYINLSTnil] // end // end of [loop] // var res: res // uninitized val () = loop (i1vs, i1veqs, n, res) // in res end // end of [myivlst_elimeqlst] (* ****** ****** *) local extern fun{ a:t@ype } auxmain {n:pos}{s:int} ( stamp: int , iset: indexset (n) , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , n: int n , ics: &list_vt(icnstr (a, n), s) ) : Ans2 (*~1/0*) extern fun{ a:t@ype } auxmain_conj {n:pos}{s:int} ( stamp: int , iset: indexset (n) , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , n: int n , ics: &list_vt (icnstr (a, n), s) , ics1: &icnstrlst (a, n) ) : Ans2 (*~1/0*) extern fun{ a:t@ype } auxmain_disj {n:pos}{s:int} ( stamp: int , iset: indexset (n) , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , n: int n , ics: &list_vt (icnstr (a, n), s) , ics1: &icnstrlst (a, n) , rics1: icnstrlst (a, n) ) : Ans2 (*~1/0*) (* ****** ****** *) fun{ a:t@ype } auxlt {n:pos} ( stamp: int , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , iv: myintvec (a, n) , n: int n ) : Ans3 (*~1/0/1*) = let (* val () = ( print "auxlt: stamp = "; print stamp; print_newline () ) // end of [val] *) val () = myintvec_elimeqlst (0(*stamp*), iv, i1veqs, n) val sgn = myintvec_inspect_lt (iv, n) // in // if sgn = 0 then let val () = myintvec_negate (iv, n) val () = myintvec_add_int (iv, ~1) val () = myintvec_normalize_gte (iv, n) val () = i1vs := MYIVLSTcons (stamp, iv, i1vs) in 0(*undecided*) end else let val () = myintvec_free (iv, n) in sgn end // end of [if] // end // end of [auxlt] fun{ a:t@ype } auxgte {n:pos} ( stamp: int , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , iv: myintvec (a, n) , n: int n ) : Ans3 (*~1/0/1*) = let (* val () = ( print "auxgte: stamp = "; print stamp; print_newline () ) // end of [val] *) val () = myintvec_elimeqlst (0(*stamp*), iv, i1veqs, n) val sgn = myintvec_inspect_gte (iv, n) // in // if sgn = 0 then let val () = myintvec_normalize_gte (iv, n) val () = i1vs := MYIVLSTcons (stamp, iv, i1vs) in 0(*undecided*) end else let val () = myintvec_free (iv, n) in sgn end // end of [if] // end // end of [auxgte] fun{ a:t@ype } auxeq {n:pos} ( stamp: int , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , iv: myintvec (a, n) , n: int n ) : Ans3 (*~1/0/1*) = let (* val () = ( print "auxeq: iv = "; print_myintvec (iv, n); print_newline () ) // end of [val] *) val () = myintvec_elimeqlst (0(*stamp*), iv, i1veqs, n) val sgn = myintvec_inspect_eq (iv, n) // in // if sgn = 0 then let val i = myintvec_get_index_of_absmincff (iv, n) val () = i1veqs := myiveqlst_cons (stamp, i, iv, i1veqs) // end of [val] in 0(*undecided*) end else let val () = myintvec_free (iv, n) in sgn(*contra/tauto*) end // end of [if] // end // end of [auxeq] fun{ a:t@ype } auxcont {n:pos}{s:int} ( stamp: int , iset: indexset (n) , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , n: int n , ics: &list_vt(icnstr (a, n), s) , sgn: int // ~1/0/1 ) : Ans2(*~1/0*) = let (* val () = ( print "auxcont: sgn = "; print_int sgn; print_newline () ) // end of [val] *) in // case+ 0 of | _ when sgn < 0 => ~1(*solved*) | _ when sgn > 0 => auxmain (stamp, iset, i1vs, i1veqs, n, ics) | _ (*sgn = 0 *) => let var ivs = myivlst_elimeqlst (i1vs, i1veqs, n) var ans2: Ans2 = myintveclst_inspect_gte (ivs, n) val () = ( if ans2 >= 0 then let val () = myintveclst_normalize_gte (ivs, n) val () = ans2 := myintveclst_solve (iset, ivs, n) in // nothing end else let val () = myintveclst_free (ivs, n) in (*nothing*) end // end of [if] ) : void // end of [if] val () = ( if ans2 >= 0 then ( ans2 := auxmain (stamp+1, iset, i1vs, i1veqs, n, ics) ) // end of [if] ) : void // end of [val] in ans2 end // end of [let] // end of [_(sgn=0)] // end // end of [auxcont] fun{a:t@ype} auxneq {n:pos} ( stamp: int , i1vs: &myivlst (a, n) , i1veqs: &myiveqlst (a, n) , iv: myintvec (a, n) , n: int n , sgn: &int? >> int ) : icnstr (a, n) = let (* val () = ( print "auxneq: iv = "; print_myintvec (iv, n); print_newline () ) // end of [val] *) // val () = // HX: stamp = 0 myintvec_elimeqlst (0, iv, i1veqs, n) val () = sgn := myintvec_inspect_neq (iv, n) // in // if sgn = 0 then let val iv1_new = myintvec_copy (iv, n) val () = myintvec_add_int (iv1_new, ~1) val cff = myint_make_int (~1) val iv2_new = myintvec_copy_cff (cff, iv, n) val () = myint_free (cff) val () = myintvec_add_int (iv2_new, ~1) // val () = myintvec_free (iv, n) // val knd = (2(*gte*)) val () = myintvec_normalize_gte (iv1_new, n) val () = myintvec_normalize_gte (iv2_new, n) val ic1 = ICvec (knd, iv1_new) val ic2 = ICvec (knd, iv2_new) in ICveclst (1(*disj*), list_vt_pair (ic1, ic2)) end else let // // sgn=~1/1:contra/tauto // val () = myintvec_free (iv, n) val knd = (if sgn > 0 then 0(*conj*) else 1(*disj*)): nat2 // end of [val] in ICveclst (knd, list_vt_nil) end // end of [if] // end // end of [auxneq] implement{a} auxmain {n}{s} ( stamp, iset, i1vs, i1veqs, n, ics ) = let // viewtypedef ic = icnstr (a, n) (* val () = ( print "auxmain: ics = "; print_icnstrlst (ics, n); print_newline () ) // end of [val] *) in // case+ ics of | list_vt_cons (!p_ic, !p_ics) => ( // case+ !p_ic of | ICvec (knd, !p_iv) => ( case 0 of | _ when ( knd = ~2(*lt*) ) => let val iv_new = myintvec_copy (!p_iv, n) prval () = fold@ (!p_ic) val ans3 = auxlt (stamp, i1vs, i1veqs, iv_new, n) val ans2 = auxcont (stamp, iset, i1vs, i1veqs, n, !p_ics, ans3) prval () = fold@ (ics) in ans2 end // end of [knd=~2] | _ when ( knd = 2(*gte*) ) => let val iv_new = myintvec_copy (!p_iv, n) prval () = fold@ (!p_ic) val ans3 = auxgte (stamp, i1vs, i1veqs, iv_new, n) val ans2 = auxcont (stamp, iset, i1vs, i1veqs, n, !p_ics, ans3) prval () = fold@ (ics) in ans2 end // end of [knd = 2] | _ when knd = 1(*eq*) => let val iv_new = myintvec_copy (!p_iv, n) prval () = fold@ (!p_ic) val ans3 = auxeq (stamp, i1vs, i1veqs, iv_new, n) val ans2 = auxcont (stamp, iset, i1vs, i1veqs, n, !p_ics, ans3) prval () = fold@ (ics) in ans2 end // end of [knd = 1] | _ (* knd = ~1(neq) *) => let var ans3: int // uninitized val ic_new = auxneq (stamp, i1vs, i1veqs, !p_iv, n, ans3) val () = free@ {a}{0} (!p_ic) val () = !p_ic := ic_new // HX: [ic] is equivalent to [ic_new] prval () = fold@ (ics) // HX: trying again after folding // end of [prval] in if ans3 >= 0 then auxmain (stamp, iset, i1vs, i1veqs, n, ics) else ~1(*solved*) // end of [if] end // end of [knd = ~1] ) // end of [ICvec] | ICveclst (knd, !p_ics1) => ( case+ 0 of | _ when knd = 0 => let val ans2 = auxmain_conj ( stamp, iset, i1vs, i1veqs, n, !p_ics, !p_ics1 ) // end of [val] prval () = fold@ (!p_ic); prval () = fold@ (ics) in ans2 end // end of [conj] | _ (* knd = 1 *) => let val ans2 = auxmain_disj ( stamp, iset, i1vs, i1veqs, n, !p_ics, !p_ics1, list_vt_nil ) // end of [val] prval () = fold@ (!p_ic); prval () = fold@ (ics) in ans2 end // end of [disj] ) // end of [ICveclst] | ICerr (loc, s3e) => let prval () = fold@ (!p_ic); prval () = fold@ (ics) in 0(*undecided*) end // end of [ICerr] // ) (* end of [list_vt_cons] *) | list_vt_nil () => let prval () = fold@ (ics) in 0(*unsolved*) end // end of [list_vt_nil] // end // end of [auxmain] implement{a} auxmain_conj {n}{s} ( stamp, iset, i1vs, i1veqs, n, ics, ics1 ) = let // viewtypedef ic = icnstr (a, n) prval () = list_vt_length_is_nonnegative{ic} (ics) prval () = list_vt_length_is_nonnegative{ic} (ics1) // val s1 = list_vt_length (ics1) val () = ics := list_vt_append (ics1, ics) val ans2 = auxmain (stamp, iset, i1vs, i1veqs, n, ics) val () = ics1 := list_vt_split_at (ics, s1) in ans2 end // end of [auxmain_conj] implement{a} auxmain_disj {n}{s} ( stamp, iset, i1vs, i1veqs, n, ics, ics1, rics1 ) = let viewtypedef ic = icnstr (a, n) prval () = list_vt_length_is_nonnegative{ic} (ics) in // case+ ics1 of | ~list_vt_cons (ic1, ics1_next) => let // val () = ics1 := ics1_next // // HX: copying needed for backtracking val icsx = icnstrlst_copy (ics, n) val icsx = list_vt_cons (ic1, icsx) // val () = i1vs := myivlst_mark (i1vs) val () = i1veqs := myiveqlst_mark (i1veqs) var icsx = icsx // HX: for call-by-reference val ans2 = auxmain (stamp, iset, i1vs, i1veqs, n, icsx) val () = i1vs := myivlst_unmark (i1vs, n) val () = i1veqs := myiveqlst_unmark (i1veqs, n) // val+~list_vt_cons (ic1, icsx) = icsx val () = icnstrlst_free (icsx, n) // HX: [icsx] may have been modified! val rics1 = list_vt_cons (ic1, rics1) // in if ans2 >= 0 then let val () = (ics1 := list_vt_reverse_append (rics1, ics1)) in 0(*unsolved*) end else ( // solved and continue auxmain_disj (stamp, iset, i1vs, i1veqs, n, ics, ics1, rics1) ) // end of [if] end // end of [list_vt_cons] | ~list_vt_nil () => let val () = ics1 := list_vt_reverse (rics1) in ~1(*solved*) end // end of [list_vt_nil] // end // end of [auxmain_disj] in // in of [local] implement{a} icnstrlst_solve {n} (iset, ics, n) = let (* val () = ( print "icnstrlst_solve: ics =\n"; fprint_icnstrlst (stdout_ref, ics, n); print "icnstrlst_solve: n = "; print n; print_newline () ) // end of [val] *) var i1vs: myivlst (a, n) = MYIVLSTnil () var i1veqs: myiveqlst (a, n) = MYIVEQLSTnil () val ans2 = auxmain (0(*stamp*), iset, i1vs, i1veqs, n, ics) val () = myivlst_free (i1vs, n) val () = myiveqlst_free (i1veqs, n) // in ans2 end // end of [icnstrlst_solve] end // end of [local] (* ****** ****** *) (* local // typedef intknd = int // extern fun icnstrlst_int_solve {n:pos} (ics: &icnstrlst (intknd, n), n: int n): int in // implement icnstrlst_int_solve (ics, n) = icnstrlst_solve (ics, n) // end of [icnstrlst_int_solve] // end // end of [local] local // typedef intknd = $extype "intinf" fun icnstrlst_intinf_solve {n:pos} (ics: &icnstrlst (intknd, n), n: int n): int end // end of [local] // in // implement icnstrlst_intinf_solve (ics, n) = icnstrlst_solve (ics, n) // end of [icnstrlst_intinf_solve] // end // end of [local] *) (* ****** ****** *) (* end of [pats_lintprgm_solve.dats] *) ATS2-Postiats-0.2.6/./src/pats_location.cats0000664000175000017500000000331612655455557017243 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LOCATION_CATS #define POSTIATS_SRC_PATS_LOCATION_CATS /* ****** ****** */ typedef struct { ats_lint_type ntot ; ats_int_type nrow ; // line number ats_int_type ncol ; // line offset } pats_position_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LOCATION_CATS] /* ****** ****** */ /* end of [pats_position.cats] */ ATS2-Postiats-0.2.6/./src/pats_dynexp2_util.dats0000664000175000017500000002035312655455557020062 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload LAB = "./pats_label.sats" // (* ****** ****** *) // staload LOC = "./pats_location.sats" // overload + with $LOC.location_combine // (* ****** ****** *) // staload SYN = "./pats_syntax.sats" // (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement p2atlst_tupize (p2ts) = let // fun aux ( p2ts: p2atlst, n: int ) : labp2atlst = case+ p2ts of | list_cons (p2t, p2ts) => let val loc = p2t.p2at_loc val l = $LAB.label_make_int (n) val l0 = $SYN.l0ab_make_label (loc, l) val lp2t = LABP2ATnorm (l0, p2t) in list_cons (lp2t, aux (p2ts, n+1)) end // end of [list_vt_cons] | list_nil ((*void*)) => list_nil () // end of [aux] // in aux (p2ts, 0) end // end of [p2atlst_tupize] (* ****** ****** *) implement d2exp_is_lam (d2e0) = let // fun aux ( d2e0: d2exp ) : bool = let in // case+ d2e0.d2exp_node of // case+ | D2Elam_dyn _ => true // | D2Elam_sta (_, _, d2e) => aux(d2e) // | D2Elam_met (_, _, d2e) => aux(d2e) // | D2Efix(_, _, d2e) => aux(d2e) // | D2Esing(d2e) => aux(d2e) // | D2Eann_type (d2e, _) => aux(d2e) | D2Eann_seff (d2e, _) => aux(d2e) | D2Eann_funclo (d2e, _) => aux(d2e) // | _ (*rest-of-d2exp*) => false // end // end of [aux] // in aux(d2e0) end // end of [d2exp_is_lam] (* ****** ****** *) implement d2exp_is_varlamcst (d2e0) = let // fun aux ( d2e0: d2exp ) : bool = let in // case+ d2e0.d2exp_node of // case+ // | D2Evar d2v => ( if d2var_is_mutabl(d2v) then false else true ) // end of [D2Evar] // | D2Elam_dyn _ => true // | D2Elam_sta _ => true | D2Elam_met _ => true (* // // HX: not good for typechecking // | D2Elam_sta (_, _, d2e) => aux(d2e) | D2Elam_met (_, _, d2e) => aux(d2e) *) // | D2Efix _ => true // | D2Eint _ => true | D2Ebool _ => true | D2Echar _ => true | D2Estring _ => true | D2Ei0nt _ => true | D2Ec0har _ => true | D2Es0tring _ => true // | D2Etop _ => true // | D2Esing(d2e) => aux(d2e) // | D2Etup(knd, npf, d2es) => auxlst(d2es) | D2Erec(knd, npf, ld2es) => auxlablst(ld2es) // | D2Eexist(s2as, d2e) => aux (d2e) // | _ (*rest-of-d2exp*) => false // end // end of [aux] // and auxlst ( d2es: d2explst ) : bool = ( case+ d2es of | list_nil () => true | list_cons (d2e, d2es) => if aux(d2e) then auxlst(d2es) else false // end of [list_cons] ) // and auxlablst ( ld2es: labd2explst ) : bool = ( case+ ld2es of | list_nil () => true | list_cons (ld2e, ld2es) => let val $SYN.DL0ABELED(l, d2e) = ld2e in if aux(d2e) then auxlablst(ld2es) else false end // end of [list_cons] ) // in aux(d2e0) end // end of [d2exp_is_varlamcst] (* ****** ****** *) implement d2con_select_arity (d2cs, n) = let val nd2cs = list_length (d2cs) in // if nd2cs >= 2 then let // var !p_clo = @lam ( pf: !unit_v | d2c: d2con ) : bool = d2con_get_arity_full (d2c) = n // prval pfu = unit_v () val d2cs2 = list_filter_vclo{unit_v}(pfu | d2cs, !p_clo) prval unit_v () = pfu // val d2cs2 = (l2l)d2cs2 // in case+ d2cs2 of list_cons _ => d2cs2 | list_nil () => d2cs end // end of [then] else d2cs // end of [else] // end // end of [d2con_select_arity] (* ****** ****** *) local fun d2exp_d2var_lvalize ( d2e0: d2exp, d2v: d2var, d2ls: d2lablst ) : d2lval = case+ 0 of | _ when d2var_is_linear (d2v) => D2LVALvar_lin (d2v, d2ls) | _ when d2var_is_mutabl (d2v) => D2LVALvar_mut (d2v, d2ls) | _ => D2LVALnone (d2e0) // end of [_] // end of [d2var_lvalize] in (* in-of-local *) implement d2exp_lvalize (d2e0) = let (* val () = ( println! ("d2exp_lvalize: d2e0 = ", d2e0) ) // end of [val] *) in // case+ d2e0.d2exp_node of // case+ // | D2Evar (d2v) => d2exp_d2var_lvalize(d2e0, d2v, list_nil) // | D2Ederef (d2e) => D2LVALderef (d2e, list_nil) // | D2Eselab (d2e, d2ls) => ( case+ d2e.d2exp_node of | D2Evar (d2v) => d2exp_d2var_lvalize (d2e0, d2v, d2ls) // end of [D2Evar] | D2Ederef (d2e) => D2LVALderef (d2e, d2ls) | _ => D2LVALnone (d2e0) ) // end of [D2Esel] // | D2Eviewat (d2e) => D2LVALviewat (d2e) // | D2Earrsub ( d2s, arr, loc_ind, ind ) => D2LVALarrsub (d2s, arr, loc_ind, ind) // | D2Esing (d2e) => d2exp_lvalize (d2e) // | _ (*rest-of-d2exp*) => D2LVALnone (d2e0) // end // end of [d2exp_lvalize] end // end of [val] (* ****** ****** *) local typedef intlst = List (int) fn p1at_arity (p1t: p1at): int = ( case+ p1t.p1at_node of | P1Tlist (npf, p1ts) => list_length (p1ts) | _ => 1 ) (* end of [p1at_arity] *) fn aritest (d1e: d1exp, ns: intlst): bool = let fn* loop1 ( d1e: d1exp, ns: intlst ) : bool = case+ ns of | list_nil () => true | list_cons (n, ns) => loop2 (d1e, n, ns) // end of [loop1] and loop2 ( d1e: d1exp, n: int, ns: intlst ) : bool = case+ d1e.d1exp_node of | D1Elam_dyn (_(*lin*), p1t, d1e) => ( if n = p1at_arity (p1t) then loop1 (d1e, ns) else false ) | D1Elam_met (_, _, d1e) => loop2 (d1e, n, ns) | D1Elam_sta_ana (_, _, d1e) => loop2 (d1e, n, ns) | D1Elam_sta_syn (_, _, d1e) => loop2 (d1e, n, ns) | _ (*non-D1Elam*) => false // end of [loop2] in loop1 (d1e, ns) end // end of [aritest] in (* in-of-local *) implement d2cst_match_def (d2c, def) = let val ns = d2cst_get_artylst (d2c) in aritest (def, ns) end // end of [d2cst_match_def] end // end of [local] (* ****** ****** *) implement d2exp_get_seloverld (d2e0) = let // fun aux (d2ls: d2lablst) : d2symopt = ( case+ d2ls of | list_nil () => None((*void*)) | list_cons (d2l, d2ls) => aux2 (d2l, d2ls) ) (* end of [aux] *) // and aux2 ( d2l: d2lab, d2ls: d2lablst ) : d2symopt = ( case+ d2ls of | list_nil () => d2l.d2lab_overld | list_cons (d2l, d2ls) => aux2 (d2l, d2ls) ) (* end of [aux2] *) // in // case+ d2e0.d2exp_node of D2Eselab (d2e, d2ls) => aux (d2ls) | _ => None() // end // end of [d2exp_get_seloverld] (* ****** ****** *) implement d2exp_get_seloverld_root (d2e0) = let // val-D2Eselab (d2e, d2ls) = d2e0.d2exp_node // val-list_cons (d2l1, d2ls) = d2ls // fun aux ( d2e: d2exp , d2l1: d2lab , d2l2: d2lab , d2ls: d2lablst , res: List_vt(d2lab) ) : d2exp = ( case+ d2ls of | list_nil () => let val loc = d2e.d2exp_loc + d2l1.d2lab_loc // end of [val] val res = list_vt_cons (d2l1, res) in d2exp_selab (loc, d2e, l2l(list_vt_reverse(res))) end // end of [list_nil] | list_cons (d2l3, d2ls) => ( aux (d2e, d2l2, d2l3, d2ls, list_vt_cons (d2l1, res)) ) (* end of [list_cons] *) ) // in // case+ d2ls of | list_nil () => d2e | list_cons (d2l2, d2ls) => ( aux (d2e, d2l1, d2l2, d2ls, list_vt_nil()) ) (* end of [list_cons] *) // end // end of [d2exp_get_seloverld_root] (* ****** ****** *) (* end of [pats_dynexp2_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_namespace.dats0000664000175000017500000001407312655455557017372 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_namespace.sats" (* ****** ****** *) // vtypedef fenvlst_vt = List_vt (filenv) vtypedef fenvlstlst_vt = List_vt (fenvlst_vt) vtypedef savedlst_vt = List_vt @(fenvlst_vt, fenvlstlst_vt) // (* ****** ****** *) // fn fenvlst_vt_free ( ns: fenvlst_vt ) :<> void = list_vt_free (ns) // fun fenvlstlst_vt_free {n:nat} .. (nss: list_vt (fenvlst_vt, n)):<> void = ( case+ nss of | ~list_vt_nil ((*void*)) => () | ~list_vt_cons (ns, nss) => let val () = fenvlst_vt_free (ns) in fenvlstlst_vt_free (nss) end // end of [list_vt_cons] ) (* end of [fenvlstlst_vt_free] *) // (* ****** ****** *) local val the_fenvlst = ref (list_vt_nil) val the_fenvlstlst = ref (list_vt_nil) val the_savedlst = ref (list_vt_nil) in (* in of [local] *) implement the_namespace_add (x) = () where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) // end of [val] val () = !p := list_vt_cons (x, !p) } // end of [the_namespace_add] (* ****** ****** *) implement the_namespace_search {a} (f) = let // typedef fenvlst = List (filenv) typedef fenvlstlst = List (fenvlst) // fun auxlst ( f: !filenv - Option_vt a, ns: fenvlst ) : Option_vt a = ( case+ ns of | list_cons (n, ns) => ( case+ f (n) of ~None_vt () => auxlst (f, ns) | ans => ans ) // end of [list_cons] | list_nil ((*void*)) => None_vt () ) (* end of [auxlst] *) // fun auxlstlst ( f: !filenv - Option_vt a, nss: fenvlstlst ) : Option_vt a = ( case+ nss of | list_cons (ns, nss) => ( case+ auxlst (f, ns) of | ~None_vt () => auxlstlst (f, nss) | ans => ans ) // end of [list_cons] | list_nil () => None_vt () // end of [list_nil] ) (* end of [auxlstlst] *) // val r_ns = __cast (the_fenvlst) where { extern castfn __cast (r: ref (fenvlst_vt)): ref (fenvlst) } (* end of [where] *) // end of [val] // val r_nss = __cast (the_fenvlstlst) where { extern castfn __cast (r: ref (fenvlstlst_vt)): ref (fenvlstlst) } (* end of [where] *) // end of [val] // in // case+ auxlst (f, !r_ns) of | ~None_vt () => auxlstlst (f, !r_nss) | ans => ans // end // end of [the_namespace_search] (* ****** ****** *) implement the_namespace_pop () = let val ns = ns where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlstlst) val-~list_vt_cons (ns, nss) = !p val () = !p := nss } val ns0 = ns0 where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) val ns0 = !p val () = !p := ns } val () = fenvlst_vt_free (ns0) in // nothing end // end of [the_namespace_pop] (* ****** ****** *) implement the_namespace_push () = let // val ns = ns where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) val ns = !p val () = !p := list_vt_nil () } (* end of [val] *) // val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlstlst) val () = !p := list_vt_cons (ns, !p) } (* end of [val] *) // in // nothing end // end of [the_namespace_push] (* ****** ****** *) implement the_namespace_localjoin () = let // val ns2 = ns2 where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlstlst) val-~list_vt_cons (ns1, nss) = !p val () = fenvlst_vt_free (ns1) val-~list_vt_cons (ns2, nss) = nss val () = !p := nss } (* end of [val] *) // val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) val () = !p := list_vt_append (!p, ns2) } (* end of [val] *) // in // nothing end // end of [the_namespace_localjoin] (* ****** ****** *) implement the_namespace_save () = () where { // val x = x where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) val x = !p; val () = !p := list_vt_nil () } (* end of [val] *) // val xs = xs where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlstlst) val xs = !p; val () = !p := list_vt_nil () } (* end of [val] *) // val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_savedlst) val () = !p := list_vt_cons ((x, xs), !p) } (* end of [val] *) // } (* end of [the_namespace_save] *) (* ****** ****** *) implement the_namespace_restore () = () where { // val x = x where { val (vbox pf | p) = ref_get_view_ptr (the_savedlst) val-~list_vt_cons (x, xs) = !p; val () = (!p := xs) } (* end of [val] *) // val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlst) val () = fenvlst_vt_free (!p); val () = (!p := x.0) } (* end of [val] *) // val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_fenvlstlst) val () = fenvlstlst_vt_free (!p); val () = (!p := x.1) } (* end of [val] *) // } (* end of [the_namespace_restore] *) end // end of [local] (* ****** ****** *) (* end of [pats_namespace.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_d2env.dats0000664000175000017500000001047412655455557017636 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2013 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _ (*anon*) = "./pats_utils.dats" (* ****** ****** *) staload S2E = "./pats_staexp2.sats" staload D2E = "./pats_dynexp2.sats" typedef d2var = $D2E.d2var overload print with $D2E.print_d2var (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) local datatype d2env = D2ENV of (d2var, hisexp) assume d2env_type = d2env in (* in of [local] *) implement d2env_get_var (d2e) = let val+D2ENV (d2v, _) = d2e in (d2v) end (* end of [d2env_get_var] *) implement d2env_get_type (d2e) = let val+D2ENV (_, hse) = d2e in (hse) end (* end of [d2env_get_type] *) implement d2env_make (d2v, hse) = D2ENV (d2v, hse) end // end of [local] (* ****** ****** *) implement d2var2env (d2v) = let (* val () = println! ("d2var2env: d2v = ", d2v) *) // val opt = d2var_get2_hisexp (d2v) // (* val-Some(hse) = opt val ((*void*)) = println! ("d2var2env: hse = ", hse) *) // val-Some(hse) = opt in d2env_make (d2v, hse) // end of [val] // end // end of [d2var2env] (* ****** ****** *) local staload LS = "libats/SATS/linset_avltree.sats" staload _ = "libats/DATS/linset_avltree.dats" assume d2envset_vtype = $LS.set (d2env) val cmp = lam ( d2e1: d2env, d2e2: d2env ) : int = $D2E.compare_d2var_d2var (d2env_get_var (d2e1), d2env_get_var (d2e2)) // end of [val] in (* in of [local] *) implement d2envset_vt_nil () = $LS.linset_make_nil () implement d2envset_vt_free (xs) = $LS.linset_free (xs) implement d2envset_vt_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $LS.linset_insert (xs, x, cmp) } // end of [d2envset_vt_add] implement d2envset_vt_listize (xs) = $LS.linset_listize (xs) implement d2envset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) implement d2envlst2set (d2es) = let // fun loop ( d2es: d2envlst, res: d2envset_vt ) : d2envset_vt = let in // case+ d2es of | list_cons (d2e, d2es) => loop (d2es, d2envset_vt_add (res, d2e)) | list_nil () => res // end (* end of [loop] *) // in loop (d2es, d2envset_vt_nil ()) end (* end of [d2envlst2set] *) (* ****** ****** *) implement fprint_d2env (out, d2e) = let // val d2v = d2env_get_var (d2e) val hse = d2env_get_type (d2e) // val () = $D2E.fprint_d2var (out, d2v) val () = ( fprint_string (out, "("); fprint_hisexp (out, hse); fprint_string (out, ")") ) // in // nothing end // end of [fprint_d2env] (* ****** ****** *) implement fprint_d2envlst (out, d2es) = let in $UT.fprintlst (out, d2es, ", ", fprint_d2env) end // end of [fprint_d2envlst] (* ****** ****** *) implement fprint_d2envlstopt (out, opt) = let in // case+ opt of | Some (d2es) => fprint! (out, "Some(", d2es, ")") // end of [Some] | None ((*void*)) => fprint! (out, "None()") // end // end of [fprint_d2envlstopt] (* ****** ****** *) (* end of [pats_ccomp_d2env.dats] *) ATS2-Postiats-0.2.6/./src/pats_histaexp.sats0000664000175000017500000001344112655455557017300 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) abstype hisexp_funlab_type typedef funlab = hisexp_funlab_type fun print_funlab (x: funlab): void overload print with print_funlab fun prerr_funlab (x: funlab): void overload prerr with prerr_funlab fun fprint_funlab : fprint_type (funlab) (* ****** ****** *) datatype hitnam = HITNAM of ( int(*0/1:non/ptr*), int(*0/1:final*), string ) // end of [hitnam] fun print_hitnam (x: hitnam): void overload print with print_hitnam fun prerr_hitnam (x: hitnam): void overload prerr with prerr_hitnam fun fprint_hitnam : fprint_type (hitnam) (* ****** ****** *) datatype hisexp_node = // | HSEcst of (s2cst) // | HSEtybox of () // for pointers | HSEtyabs of (symbol) // for abstypes // | HSEapp of (hisexp, hisexplst) // | HSEextype of (string(*name*), hisexplstlst) // | HSEfun of (* function type *) (funclo, hisexplst(*arg*), hisexp(*res*)) // end of [HSEfun] // | HSErefarg of (int(*refval*), hisexp) // | HSEtyarr of (hisexp, s2explst) // for arrays | HSEtyrec of (tyreckind, labhisexplst) // for records | HSEtyrecsin of (labhisexp) // for singleton flat records | HSEtysum of (d2con, labhisexplst) // for tagged unions // | HSEtyvar of s2var // for type variables // | HSEtyclo of (funlab) // for flat closure-functions // | HSEvararg of (s2exp) // for variadic funarg // | HSEs2exp of (s2exp) | HSEs2zexp of (s2zexp) // end of [hisexp_node] and labhisexp = | HSLABELED of (label, Option(string), hisexp) // end of [labhisexp] where hisexp = '{ hisexp_name= hitnam, hisexp_node= hisexp_node } // end of [hisexp] and hisexplst = List (hisexp) and hisexpopt = Option (hisexp) and hisexplstlst = List (hisexplst) and labhisexplst = List (labhisexp) (* ****** ****** *) // fun print_hisexp (x: hisexp): void fun prerr_hisexp (x: hisexp): void // overload print with print_hisexp overload prerr with prerr_hisexp // fun fprint_hisexp : fprint_type (hisexp) fun fprint_hisexplst : fprint_type (hisexplst) // overload fprint with fprint_hisexp overload fprint with fprint_hisexplst // (* ****** ****** *) // val hisexp_tybox : hisexp // val hisexp_typtr : hisexp // val hisexp_funptr : hisexp val hisexp_cloptr : hisexp // val hisexp_clotyp : hisexp // val hisexp_arrptr : hisexp // val hisexp_datconptr : hisexp val hisexp_datcontyp : hisexp // val hisexp_exnconptr : hisexp // val hisexp_undefined : hisexp // (* ****** ****** *) fun hisexp_int_t0ype () : hisexp fun hisexp_bool_t0ype () : hisexp fun hisexp_size_t0ype () : hisexp (* ****** ****** *) fun hisexp_void_t0ype () : hisexp (* ****** ****** *) fun hisexp_get_boxknd (hse: hisexp): int fun hisexp_get_extknd (hse: hisexp): int (* ****** ****** *) fun hisexp_is_boxed (hse: hisexp): bool (* ****** ****** *) fun hisexp_is_void (hse: hisexp): bool fun hisexp_fun_is_void (hse: hisexp): bool (* ****** ****** *) fun hisexp_is_noret (hse: hisexp): bool fun hisexp_fun_is_noret (hse: hisexp): bool (* ****** ****** *) fun hisexp_is_tyarr (hse: hisexp): bool fun hisexp_is_tyrecsin (hse: hisexp): bool (* ****** ****** *) fun labhisexp_get_elt (lhse: labhisexp): hisexp (* ****** ****** *) fun hisexp_tyabs (sym: symbol): hisexp (* ****** ****** *) fun hisexp_fun ( fc: funclo, arg: hisexplst, res: hisexp ) : hisexp // end of [hisexp_fun] fun hisexp_cst (s2c: s2cst): hisexp fun hisexp_app (_fun: hisexp, _arg: hisexplst): hisexp // end of [hisexp_app] (* ****** ****** *) fun hisexp_extype (name: string, arglst: hisexplstlst): hisexp fun hisexp_refarg (knd: int, hse: hisexp): hisexp fun hisexp_tyarr (elt: hisexp, dim: s2explst): hisexp fun hisexp_tyrec (knd: tyreckind, lhses: labhisexplst): hisexp fun hisexp_tyrecsin (lhse: labhisexp): hisexp // HX: singleton tyrec fun hisexp_tyrec2 (knd: tyreckind, lhses: labhisexplst): hisexp fun hisexp_tysum (d2c: d2con, lhses: labhisexplst): hisexp (* ****** ****** *) fun hisexp_tyvar (s2v: s2var): hisexp (* ****** ****** *) fun hisexp_tyclo (flab: funlab): hisexp (* ****** ****** *) fun hisexp_vararg (s2e: s2exp): hisexp // HX: variadic funarg (* ****** ****** *) fun hisexp_s2exp (s2e: s2exp): hisexp fun hisexp_s2zexp (s2ze: s2zexp): hisexp (* ****** ****** *) fun hisexp_make_srt (s2t: s2rt): hisexp fun hisexp_make_srtsym (s2t: s2rt, sym: symbol): hisexp (* ****** ****** *) fun hisexp_subst (sub: !stasub, hse: hisexp): hisexp (* ****** ****** *) (* end of [pats_histaexp.sats] *) ATS2-Postiats-0.2.6/./src/pats_dmacro2.dats0000664000175000017500000002337612655455557016773 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2012 // (* ****** ****** *) // // HX: for handling macro expansion during typechecking // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_dmacro2" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dmacro2.sats" (* ****** ****** *) implement m2val_true = M2Vbool (true) implement m2val_false = M2Vbool (false) (* ****** ****** *) implement liftval2dexp (loc0, m2v) = let in case+ m2v of | M2Vint (i) => d2exp_int (loc0, i) | M2Vchar (c) => d2exp_char (loc0, c) | M2Vfloat (rep) => d2exp_float (loc0, rep) | M2Vstring (s) => d2exp_string (loc0, s) | M2Vunit () => d2exp_empty (loc0) | _ => let val () = prerr_errmac_loc (loc0) val () = prerr ": a value representing code (AST) cannot be lifted." val () = prerr_newline () in d2exp_errexp (loc0) end // end of [_] end // end of [liftval2dexp] (* ****** ****** *) local // // HX: ptr for s2var or d2var // dataviewtype alphenv = | ALPHENVsadd of (s2var, s2var(*new*), alphenv) | ALPHENVdadd of (d2var, d2var(*new*), alphenv) | ALPHENVmark of (alphenv) // marking for unwinding | ALPHENVnil of () // end of [alphenv] assume alphenv_viewtype = alphenv in (* in of [local] *) implement alphenv_nil () = ALPHENVnil () implement alphenv_free (env) = let in // case+ env of | ~ALPHENVsadd (_, _, env) => alphenv_free (env) | ~ALPHENVdadd (_, _, env) => alphenv_free (env) | ~ALPHENVmark env => alphenv_free (env) | ~ALPHENVnil () => () // end // end of [alphenv_free] implement alphenv_sadd (env, s2v, s2v_new) = let in env := ALPHENVsadd (s2v, s2v_new, env) end // end of [alphenv_sadd] implement alphenv_dadd (env, d2v, d2v_new) = let in env := ALPHENVdadd (d2v, d2v_new, env) end // end of [alphenv_dadd] (* ****** ****** *) implement alphenv_sfind (env, key) = let // fun loop ( env: !alphenv, key: s2var ) : s2varopt_vt = let in // case+ env of | ALPHENVsadd (_key, _val, !p_env1) => let val ans = ( if key = _key then Some_vt (_val) else loop (!p_env1, key) // end of [if] ) : s2varopt_vt // end of [val] in fold@ (env); ans end | ALPHENVdadd (_key, _val, !p_env1) => let val ans = loop (!p_env1, key) in fold@ (env); ans end // end of [ALPHENVdadd] | ALPHENVmark (!p_env1) => let val ans = loop (!p_env1, key) in fold@ (env); ans end // end of [ALPHENVmark] | ALPHENVnil () => let prval () = fold@ env in None_vt () end // end of [ALPHENVnil] end // end of [loop] // in loop (env, key) end // end of [alphenv_sfind] (* ****** ****** *) implement alphenv_dfind (env, key) = let // fun loop ( env: !alphenv, key: d2var ) : d2varopt_vt = let in // case+ env of | ALPHENVsadd (_key, _val, !p_env1) => let val ans = loop (!p_env1, key) in fold@ (env); ans end // end of [ALPHENVsadd] | ALPHENVdadd (_key, _val, !p_env1) => let val ans = ( if key = _key then Some_vt (_val) else loop (!p_env1, key) // end of [if] ) : d2varopt_vt // end of [val] in fold@ (env); ans end | ALPHENVmark (!p_env1) => let val ans = loop (!p_env1, key) in fold@ (env); ans end // end of [ALPHENVmark] | ALPHENVnil () => let prval () = fold@ env in None_vt () end // end of [ALPHENVnil] end // end of [loop] // in loop (env, key) end // end of [alphenv_dfind] (* ****** ****** *) implement alphenv_pop (env) = let // fun loop (env: alphenv): alphenv = let in case+ env of | ~ALPHENVsadd (_, _, env) => loop (env) | ~ALPHENVdadd (_, _, env) => loop (env) | ~ALPHENVmark (env) => (env) | ~ALPHENVnil () => ALPHENVnil () end // end of [loop] // in env := loop (env) end // end of [alphenv_pop] implement alphenv_push (env) = (env := ALPHENVmark env) end // end of [local] (* ****** ****** *) local datavtype evalctx = | EVALCTXsadd of (s2var, m2val, evalctx) | EVALCTXdadd of (d2var, m2val, evalctx) | EVALCTXnil of () // end of [eval0ctx] assume evalctx_viewtype = evalctx in (* in of [local] *) implement evalctx_nil () = EVALCTXnil () implement fprint_evalctx (out, ctx) = let in // case+ ctx of | EVALCTXsadd ( s2v, m2v, !p_ctx1 ) => let val () = fprint_s2var (out, s2v) val () = fprint_string (out, " - ") val () = fprint_m2val (out, m2v) val () = fprint_newline (out) val () = fprint_evalctx (out, !p_ctx1) prval () = fold@ (ctx) in // nothing end // end of [EVALCTXsadd] | EVALCTXdadd ( d2v, m2v, !p_ctx1 ) => let val () = fprint_d2var (out, d2v) val () = fprint_string (out, " - ") val () = fprint_m2val (out, m2v) val () = fprint_newline (out) val () = fprint_evalctx (out, !p_ctx1) prval () = fold@ (ctx) in // nothing end // end of [EVALCTXsadd] | EVALCTXnil () => let prval () = fold@ ctx in (*nothing*) end // end of [EVALCTXnil] // end // end of [fprint_evalctx] implement print_evalctx (ctx) = fprint_evalctx (stdout_ref, ctx) // end of [print_evalctx] implement prerr_evalctx (ctx) = fprint_evalctx (stderr_ref, ctx) // end of [prerr_evalctx] (* ****** ****** *) implement evalctx_sadd (ctx, s2v, m2v) = EVALCTXsadd (s2v, m2v, ctx) // end of [evalctx_sadd] implement evalctx_dadd (ctx, d2v, m2v) = EVALCTXdadd (d2v, m2v, ctx) // end of [evalctx_dadd] implement evalctx_dfind (ctx, d2v) = let in // case+ ctx of | EVALCTXsadd ( _key, _val, !p_ctx1 ) => let val ans = evalctx_dfind (!p_ctx1, d2v) prval () = fold@ (ctx) in ans end // end of [EVALCTXsadd] | EVALCTXdadd ( _key, _val, !p_ctx1 ) => let in if d2v = _key then let prval () = fold@ (ctx) in Some_vt (_val) end else let val ans = evalctx_dfind (!p_ctx1, d2v) prval () = fold@ (ctx) in ans end // end of [if] end // end of [EVALCTXdadd] | EVALCTXnil () => let prval () = fold@ (ctx) in None_vt () end // end of [EVALCTXnil] // end // end of [evalctx_dfind] implement evalctx_free (ctx) = ( case+ ctx of | ~EVALCTXsadd (_, _, ctx) => evalctx_free (ctx) | ~EVALCTXdadd (_, _, ctx) => evalctx_free (ctx) | ~EVALCTXnil () => () ) // end of [evalctx_free] (* ****** ****** *) fun s2exp_make_m2val (m2v: m2val): s2exp = case m2v of | M2Vscode (s2e) => s2e | _ => s2exp_err (s2rt_t0ype) // end of [s2exp_make_m2val] implement stasub_make_evalctx (ctx) = let // fun aux ( ctx: !evalctx, sub: &stasub ) : void = let in case+ ctx of | EVALCTXsadd (_key, _val, !p_ctx1) => let val () = aux (!p_ctx1, sub) val s2v = _key val s2e = s2exp_make_m2val (_val) val () = stasub_add (sub, s2v, s2e) in fold@ (ctx) end | EVALCTXdadd (_key, _val, !p_ctx1) => let val () = aux (!p_ctx1, sub) in fold@ (ctx) end | EVALCTXnil () => fold@ (ctx) end // end of [aux] // var sub = stasub_make_nil () val () = aux (ctx, sub) // in sub end // end of [stasub_make_evalctx] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement dmacro_eval_xstage (d2e) = let val loc0 = d2e.d2exp_loc var ctx = evalctx_nil () var env = alphenv_nil () val m2v = eval0_d2exp (loc0, ctx, env, d2e) val () = alphenv_free (env) val () = evalctx_free (ctx) in liftval2dexp (loc0, m2v) end // end of [dmacro_eval_xstage] implement dmacro_eval_decode (d2e) = let val loc0 = d2e.d2exp_loc var ctx = evalctx_nil () var env = alphenv_nil () val m2v = eval0_d2exp (loc0, ctx, env, d2e) val () = alphenv_free (env) val () = evalctx_free (ctx) in // case+ m2v of | M2Vdcode (d2e_new) => d2e_new | _ => let val () = prerr_errmac_loc (loc0) val () = prerr ": the macro expansion should yield code (AST)" val () = prerr ", but the following value is obtained instead: " val () = prerr_m2val (m2v) val () = prerr_newline () in d2exp_errexp (loc0) end // end of [_] // end // end of [dmacro_eval_decode] (* ****** ****** *) implement dmacro_eval_app_short (loc0, d2m, d2as) = let var ctx = evalctx_nil () var env = alphenv_nil () val d2e = eval0_app_mac_short (loc0, d2m, ctx, env, d2as) val () = alphenv_free (env) val () = evalctx_free (ctx) in d2e end // end of [dmacro_eval_app_short] (* ****** ****** *) (* end of [pats_dmacro2.dats] *) ATS2-Postiats-0.2.6/./src/pats_stamp.sats0000664000175000017500000000635512655455557016605 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_counter.sats" (* ****** ****** *) // abst@ype stamp_t0ype = count // typedef stamp = stamp_t0ype typedef stampopt = Option (stamp) // (* ****** ****** *) fun stamp_get_int (x: stamp):<> int (* ****** ****** *) fun lt_stamp_stamp (x1: stamp, x2: stamp):<> bool overload < with lt_stamp_stamp fun lte_stamp_stamp (x1: stamp, x2: stamp):<> bool overload <= with lte_stamp_stamp fun eq_stamp_stamp (x1: stamp, x2: stamp):<> bool overload = with eq_stamp_stamp fun neq_stamp_stamp (x1: stamp, x2: stamp):<> bool overload <> with neq_stamp_stamp fun compare_stamp_stamp (x1: stamp, x2: stamp):<> Sgn overload compare with compare_stamp_stamp (* ****** ****** *) fun tostring_stamp (x: stamp): string fun tostring_prefix_stamp (prfx: string, x: stamp): string (* ****** ****** *) fun fprint_stamp : fprint_type (stamp) (* ****** ****** *) fun // HX: datasort s2rtdat_stamp_make (): stamp // fun s2cst_stamp_make (): stamp // fun s2var_stamp_make (): stamp fun s2Var_stamp_make (): stamp // (* ****** ****** *) fun s2hole_stamp_make (): stamp (* ****** ****** *) // fun d2con_stamp_make (): stamp // fun d2cst_stamp_make (): stamp // fun d2mac_stamp_make (): stamp // fun d2var_stamp_make (): stamp // (* ****** ****** *) fun hitype_stamp_make (): stamp (* ****** ****** *) fun tmplab_stamp_make (): stamp fun tmpvar_stamp_make (): stamp (* ****** ****** *) fun funlab_stamp_make (): stamp (* ****** ****** *) // absviewtype stampset_viewtype viewtypedef stampset_vt = stampset_viewtype // fun stampset_vt_nil ():<> stampset_vt fun stampset_vt_is_nil (xs: !stampset_vt):<> bool fun stampset_vt_isnot_nil (xs: !stampset_vt):<> bool fun stampset_vt_is_member (xs: !stampset_vt, x: stamp):<> bool fun stampset_vt_add (xs: stampset_vt, x: stamp):<> stampset_vt fun stampset_vt_free (xs: stampset_vt):<> void // (* ****** ****** *) (* end of [pats_stamp.sats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_util3.dats0000664000175000017500000004167212655455557020151 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) local fun aux_s2exp ( s2e0: s2exp, fvs: &s2varset_vt ) : void = let in // case+ s2e0.s2exp_node of // case+ // | S2Eint _ => () | S2Eintinf _ => () // | S2Efloat _ => () | S2Estring _ => () // | S2Ecst _ => () // | S2Eextype (_(*name*), s2ess) => aux_s2explstlst (s2ess, fvs) | S2Eextkind (_(*name*), s2ess) => aux_s2explstlst (s2ess, fvs) // | S2Evar s2v => { val () = fvs := s2varset_vt_add (fvs, s2v) } (* end of [S2Evar] *) // | S2EVar s2V => aux_s2Var (s2V, fvs) // | S2Ehole _ => () // | S2Edatcontyp (d2c, arg) => aux_s2explst (arg, fvs) | S2Edatconptr (d2c, rt, arg) => ( aux_s2exp (rt, fvs); aux_s2explst (arg, fvs) ) (* end of [S2Edatconptr] *) // | S2Eat(s2e1, s2e2) => ( aux_s2exp (s2e1, fvs); aux_s2exp (s2e2, fvs) ) (* end of [s2Eat] *) // | S2Eeff(s2fe) => aux_s2eff (s2fe, fvs) // | S2Esizeof(s2e) => aux_s2exp (s2e, fvs) // | S2Eeqeq(s2e1, s2e2) => ( aux_s2exp (s2e1, fvs); aux_s2exp (s2e2, fvs) ) (* end of [S2Eeqeq] *) // | S2Eproj (s2ae, s2te, s2ls) => { val () = aux_s2exp (s2ae, fvs) val () = aux_s2exp (s2te, fvs) val () = aux_s2lablst (s2ls, fvs) } (* end of [S2Eproj] *) // | S2Eapp(s2e, s2es_arg) => { val () = aux_s2exp (s2e, fvs) val () = aux_s2explst (s2es_arg, fvs) } (* end of [S2Eapp] *) // | S2Elam(s2vs, s2e_body) => let var fvs1 = s2varset_vt_nil () val () = aux_s2exp (s2e_body, fvs1) val () = fvs1 := s2varset_vt_delist (fvs1, s2vs) in fvs := s2varset_vt_union (fvs, fvs1) end // end of [S2Elam] // | S2Efun ( fc, lin, s2fe , npf, s2es_arg, s2e_res ) => { val () = aux_s2eff (s2fe, fvs) val () = ( aux_s2explst (s2es_arg, fvs); aux_s2exp (s2e_res, fvs) ) (* end of [val] *) } (* end of [S2Efun] *) // | S2Emetfun (opt, s2es, s2e) => ( aux_s2explst (s2es, fvs); aux_s2exp (s2e, fvs) ) (* end of [S2Emetfun] *) // | S2Emetdec (s2es1, s2es2) => ( aux_s2explst (s2es1, fvs); aux_s2explst (s2es2, fvs) ) (* end of [S2Emetdec] *) // | S2Etop(knd, s2e) => aux_s2exp (s2e, fvs) // | S2Ewithout(s2e_elt) => aux_s2exp (s2e_elt, fvs) // taken-out // | S2Etyarr (s2e_elt, s2es_dim) => ( aux_s2exp (s2e_elt, fvs); aux_s2explst (s2es_dim, fvs) ) (* end of [S2Etyarr] *) // | S2Etyrec(knd, npf, ls2es) => aux_labs2explst (ls2es, fvs) // | S2Einvar (s2e) => aux_s2exp (s2e, fvs) // | S2Erefarg (_, s2e) => aux_s2exp (s2e, fvs) // | S2Eexi(s2vs, s2ps, s2e) => aux_s2exp_exiuni (s2vs, s2ps, s2e, fvs) | S2Euni(s2vs, s2ps, s2e) => aux_s2exp_exiuni (s2vs, s2ps, s2e, fvs) // | S2Evararg s2e => aux_s2exp (s2e, fvs) // | S2Ewthtype (s2e, ws2es) => ( aux_s2exp (s2e, fvs); aux_wths2explst (ws2es, fvs) ) (* end of [S2Ewthtype] *) // | S2Eerr((*void*)) => () // end // end of [aux_s2exp] and aux_s2explst ( s2es0: s2explst, fvs: &s2varset_vt ) : void = case+ s2es0 of | list_cons (s2e, s2es) => ( aux_s2exp (s2e, fvs); aux_s2explst (s2es, fvs) ) // end of [list_cons] | list_nil () => () // end of [aux_s2explst] and aux_s2explstlst ( s2ess0: s2explstlst, fvs: &s2varset_vt ) : void = case+ s2ess0 of | list_cons (s2es, s2ess) => ( aux_s2explst (s2es, fvs); aux_s2explstlst (s2ess, fvs) ) // end of [list_cons] | list_nil () => () // end of [aux_s2explstlst] and aux_labs2explst ( ls2es0: labs2explst, fvs: &s2varset_vt ) : void = case+ ls2es0 of | list_cons (ls2e, ls2es) => let val SLABELED (_, _, s2e) = ls2e val () = aux_s2exp (s2e, fvs) in aux_labs2explst (ls2es, fvs) end // end of [list_cons] | list_nil () => () // end of [aux_labs2explst] and aux_wths2explst ( ws2es0: wths2explst, fvs: &s2varset_vt ) : void = ( case+ ws2es0 of | WTHS2EXPLSTnil () => () | WTHS2EXPLSTcons_invar (_, s2e, ws2es) => ( aux_s2exp (s2e, fvs); aux_wths2explst (ws2es, fvs) ) // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (_, s2e, ws2es) => ( aux_s2exp (s2e, fvs); aux_wths2explst (ws2es, fvs) ) // end of [WTHS2EXPLSTcons_trans] | WTHS2EXPLSTcons_none (ws2es) => aux_wths2explst (ws2es, fvs) ) // end of [aux_wths2explst] and aux_s2Var ( s2V: s2Var, fvs: &s2varset_vt ) : void = let val opt = s2Var_get_link s2V in case+ opt of | Some s2e => aux_s2exp (s2e, fvs) // end of [Some] | None () => let val s2e = s2exp_err(s2Var_get_srt(s2V)) // end of [val] in s2Var_set_link (s2V, Some (s2e)) end // end of [None] end // end of [aux_s2Var] and aux_s2exp_exiuni ( s2vs: s2varlst , s2ps: s2explst , s2e_body: s2exp , fvs: &s2varset_vt ) : void = let var fvs1 = s2varset_vt_nil () val () = aux_s2explst (s2ps, fvs1) val () = aux_s2exp (s2e_body, fvs1) val () = fvs1 := s2varset_vt_delist (fvs1, s2vs) in fvs := s2varset_vt_union (fvs, fvs1) end // end of [aux_s2exp_exiuni] and aux_s2lab ( s2l: s2lab, fvs: &s2varset_vt ) : void = case+ s2l of | S2LABlab _ => () | S2LABind (ind) => aux_s2explst (ind, fvs) // end of [aux_s2lab] and aux_s2lablst ( s2ls: s2lablst, fvs: &s2varset_vt ) : void = case+ s2ls of | list_cons (s2l, s2ls) => ( aux_s2lab (s2l, fvs); aux_s2lablst (s2ls, fvs) ) // end of [list_cons] | list_nil () => () // end of [aux_s2lablst] and aux_s2eff ( s2fe: s2eff, fvs: &s2varset_vt ) : void = case+ s2fe of | S2EFFset _ => () | S2EFFexp (s2e) => aux_s2exp (s2e, fvs) | S2EFFadd (s2fe1, s2fe2) => let val () = aux_s2eff (s2fe1, fvs) in aux_s2eff (s2fe2, fvs) end // end of [S2EFFadd] // end of [aux_s2eff] in (* in of [local] *) implement s2exp_freevars (s2e0) = fvs where { var fvs = s2varset_vt_nil () val () = aux_s2exp (s2e0, fvs) } // end of [s2exp_freevars] end // end of [local] (* ****** ****** *) local fun loop ( xs: s2Varlst, s2Vs2: s2Varset ) : bool = ( case+ xs of | list_cons (x, xs) => let val ismem = s2Varset_ismem (s2Vs2, x) in if ismem then true else loop (xs, s2Vs2) end | list_nil () => false ) // end of [loop] in (* in of [loop] *) fun s2Var_occurcheck_s2cst (s2V0: s2Var, s2c: s2cst): bool = let // val s2Vs2 = s2cst_get_sVarset (s2c) // val ismem = s2Varset_ismem (s2Vs2, s2V0) // in // if ismem then true else loop (s2Var_get_sVarlst (s2V0), s2Vs2) // end // end of [s2Var_occurcheck_s2cst] fun s2Var_occurcheck_s2var (s2V0: s2Var, s2v: s2var): bool = let (* val () = println! ("s2Var_occurcheck_s2cst: s2v = ", s2v) *) val s2Vs2 = s2var_get_sVarset (s2v) (* val () = println! ("s2Var_occurcheck_s2cst: s2Vs2 = ", s2Vs2) *) val ismem = s2Varset_ismem (s2Vs2, s2V0) // in // if ismem then true else loop (s2Var_get_sVarlst (s2V0), s2Vs2) // end // end of [s2Var_occurcheck_s2var] end // end of [local] (* ****** ****** *) local typedef aux2_type(a:type) = (s2Var, a, &int, &s2cstlst, &s2varlst, &s2Varlst) -> void // end of [typedef] extern fun aux2_s2cst : aux2_type (s2cst) extern fun aux2_s2var : aux2_type (s2var) extern fun aux2_s2Var : aux2_type (s2Var) extern fun aux2_s2exp : aux2_type (s2exp) extern fun aux2_s2explst : aux2_type (s2explst) extern fun aux2_s2explstlst : aux2_type (s2explstlst) extern fun aux2_s2eff : aux2_type (s2eff) extern fun aux2_s2lab : aux2_type (s2lab) extern fun aux2_s2lablst : aux2_type (s2lablst) extern fun aux2_labs2exp : aux2_type (labs2exp) extern fun aux2_labs2explst : aux2_type (labs2explst) extern fun aux2_wths2explst : aux2_type (wths2explst) (* ****** ****** *) fun auxlst {a:type} ( s2V0: s2Var , xs: List(a) , ans: &int, s2cs: &s2cstlst, s2vs: &s2varlst, s2Vs: &s2Varlst , fwork: aux2_type (a) ) : void = let // (* val = println! ("auxlst: s2V0 = ", s2V0) *) // in // case+ xs of | list_cons (x, xs) => let val () = fwork (s2V0, x, ans, s2cs, s2vs, s2Vs) // end of [val] in auxlst (s2V0, xs, ans, s2cs, s2vs, s2Vs, fwork) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] (* ****** ****** *) implement aux2_s2cst ( s2V0, s2c, ans, s2cs, s2vs, s2Vs ) = let val found = s2Var_occurcheck_s2cst (s2V0, s2c) // end of [val] in if found then let val () = ans := ans + 1 in s2cs := list_cons (s2c, s2cs) end else () // end of [if] end // end of [aux2_s2cst] implement aux2_s2var ( s2V0, s2v, ans, s2cs, s2vs, s2Vs ) = let val found = s2Var_occurcheck_s2var (s2V0, s2v) in if found then let val () = ans := ans + 1 in s2vs := list_cons (s2v, s2vs) end else () // end of [if] end // end of [aux2_s2var] implement aux2_s2Var ( s2V0, s2V, ans, s2cs, s2vs, s2Vs ) = let val opt = s2Var_get_link (s2V) in // case+ opt of | Some (s2e) => aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) | None () => let val iseq = eq_s2Var_s2Var (s2V0, s2V) in if iseq then (ans := ans + 1) else s2Vs := list_cons (s2V, s2Vs) end // end of [None] // end // end of [aux2_s2Var] (* ****** ****** *) implement aux2_s2exp ( s2V0, s2e, ans, s2cs, s2vs, s2Vs ) = let // macdef f_s2cst (x) = aux2_s2cst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2var (x) = aux2_s2var (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2Var (x) = aux2_s2Var (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2exp (x) = aux2_s2exp (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2explst (x) = aux2_s2explst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2explstlst (x) = aux2_s2explstlst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2eff (x) = aux2_s2eff (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_s2lablst (x) = aux2_s2lablst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_labs2explst (x) = aux2_labs2explst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) macdef f_wths2explst (x) = aux2_wths2explst (s2V0, ,(x), ans, s2cs, s2vs, s2Vs) // (* val () = println! ("aux2_s2exp: s2V0 = ", s2V0) val () = println! ("aux2_s2exp: s2e = ", s2e) val () = println! ("aux2_s2exp: ans = ", ans) val () = println! ("aux2_s2exp: s2cs = ", s2cs) val () = println! ("aux2_s2exp: s2vs = ", s2vs) val () = println! ("aux2_s2exp: s2Vs = ", s2Vs) *) // in (* in of [let] *) // case+ s2e.s2exp_node of // | S2Eint _ => () | S2Eintinf _ => () // | S2Efloat _ => () | S2Estring _ => () // | S2Ecst s2c => f_s2cst (s2c) // | S2Eextype (_(*name*), s2ess) => f_s2explstlst (s2ess) | S2Eextkind (_(*name*), s2ess) => f_s2explstlst (s2ess) // | S2Evar s2v => f_s2var (s2v) | S2EVar s2V => f_s2Var (s2V) // | S2Ehole _ => () // | S2Edatcontyp (d2c, s2es_arg) => f_s2explst (s2es_arg) | S2Edatconptr ( d2c, s2e_rt, s2es_arg ) => { val () = f_s2exp (s2e_rt) val () = f_s2explst (s2es_arg) } // end of [S2Edatconptr] // | S2Eat (s2e1, s2e2) => (f_s2exp (s2e1); f_s2exp (s2e2)) // | S2Esizeof (s2e) => f_s2exp (s2e) // | S2Eeff (s2fe) => f_s2eff (s2fe) | S2Eeqeq (s2e1, s2e2) => (f_s2exp (s2e1); f_s2exp (s2e2)) | S2Eproj ( s2ae, s2te, s2ls ) => (f_s2exp (s2ae); f_s2exp (s2te); f_s2lablst (s2ls)) // | S2Eapp ( s2e_fun, s2es_arg ) => { val () = f_s2exp (s2e_fun) val () = f_s2explst (s2es_arg) } // end of [S2Eapp] // | S2Elam (s2vs, s2e) => f_s2exp (s2e) | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => (f_s2eff (s2fe); f_s2explst (s2es_arg); f_s2exp (s2e_res)) | S2Emetfun (opt, s2es, s2e) => (f_s2explst (s2es); f_s2exp (s2e)) // end of [S2Emetfun] // | S2Emetdec (s2es1, s2es2) => (f_s2explst (s2es1); f_s2explst (s2es2)) // end of [S2Emetdec] // | S2Etop (_(*knd*), s2e) => f_s2exp (s2e) | S2Ewithout (s2e) => f_s2exp (s2e) // taken out by [view@] // | S2Etyarr ( s2e_elt, s2es_dim ) => (f_s2exp (s2e_elt); f_s2explst (s2es_dim)) | S2Etyrec (knd, npf, ls2es) => f_labs2explst (ls2es) // | S2Einvar (s2e) => f_s2exp (s2e) // | S2Erefarg (_, s2e) => f_s2exp (s2e) // | S2Eexi (s2vs, s2ps, s2e) => (f_s2explst (s2ps); f_s2exp (s2e)) | S2Euni (s2vs, s2ps, s2e) => (f_s2explst (s2ps); f_s2exp (s2e)) // | S2Evararg s2e => f_s2exp (s2e) // | S2Ewthtype (s2e, ws2es) => (f_s2exp (s2e); f_wths2explst (ws2es)) // | S2Eerr ((*void*)) => () // end // end of [aux2_s2exp] implement aux2_s2explst (s2V0, xs, ans, s2cs, s2vs, s2Vs) = auxlst (s2V0, xs, ans, s2cs, s2vs, s2Vs, aux2_s2exp) // end of [aux2_s2explst] implement aux2_s2explstlst (s2V0, xss, ans, s2cs, s2vs, s2Vs) = auxlst (s2V0, xss, ans, s2cs, s2vs, s2Vs, aux2_s2explst) // end of [aux2_s2explstlst] (* ****** ****** *) implement aux2_s2eff ( s2V0, s2fe, ans, s2cs, s2vs, s2Vs ) = let in // case+ s2fe of | S2EFFset _ => () | S2EFFexp (s2e) => aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) | S2EFFadd (s2fe1, s2fe2) => let val () = aux2_s2eff (s2V0, s2fe1, ans, s2cs, s2vs, s2Vs) val () = aux2_s2eff (s2V0, s2fe2, ans, s2cs, s2vs, s2Vs) in // nothing end // end of [S2EFFadd] // end // end of [aux2_s2eff] (* ****** ****** *) implement aux2_s2lab ( s2V0, s2l, ans, s2cs, s2vs, s2Vs ) = let in // case+ s2l of | S2LABlab _ => () | S2LABind (ind) => aux2_s2explst (s2V0, ind, ans, s2cs, s2vs, s2Vs) // end of [S2LABind] // end // end of [aux2_s2lab] implement aux2_s2lablst (s2V0, s2ls, ans, s2cs, s2vs, s2Vs) = auxlst (s2V0, s2ls, ans, s2cs, s2vs, s2Vs, aux2_s2lab) // end of [aux2_s2lablst] (* ****** ****** *) implement aux2_labs2exp ( s2V0, ls2e, ans, s2cs, s2vs, s2Vs ) = let val SLABELED (l, name, s2e) = ls2e in aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) end // end of [aux2_labs2exp] implement aux2_labs2explst (s2V0, xs, ans, s2cs, s2vs, s2Vs) = auxlst (s2V0, xs, ans, s2cs, s2vs, s2Vs, aux2_labs2exp) // end of [aux2_labs2explst] (* ****** ****** *) implement aux2_wths2explst ( s2V0, ws2es, ans, s2cs, s2vs, s2Vs ) = let // (* val () = println! ("aux2_wths2explst: s2V0 = ", s2V0) val () = println! ("aux2_wths2explst: ws2es = ", ws2es) *) // in // case+ ws2es of | WTHS2EXPLSTnil () => () | WTHS2EXPLSTcons_invar (_, s2e, ws2es) => let val () = aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) // end of [val] in aux2_wths2explst (s2V0, ws2es, ans, s2cs, s2vs, s2Vs) end | WTHS2EXPLSTcons_trans (_, s2e, ws2es) => let val () = aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) // end of [val] in aux2_wths2explst (s2V0, ws2es, ans, s2cs, s2vs, s2Vs) end | WTHS2EXPLSTcons_none (ws2es) => aux2_wths2explst (s2V0, ws2es, ans, s2cs, s2vs, s2Vs) // end // end of [aux2_wths2explst] in (* in of [local] *) implement s2Var_occurcheck_s2exp (s2V0, s2e) = let // var ans: int = 0 // recording violations var s2cs: s2cstlst = list_nil () // collecting violating s2cs var s2vs: s2varlst = list_nil () // collecting violating s2vs var s2Vs: s2Varlst = list_nil () // collecting unsolved s2Vs in s2e // val () = aux2_s2exp (s2V0, s2e, ans, s2cs, s2vs, s2Vs) // in @(ans, s2cs, s2vs, s2Vs) end // end of [s2Var_occurcheck_s2exp] end // end of [local] (* ****** ****** *) local fun ismem ( s2vs: s2varlst, s2v0: s2var ) : bool = let in case+ s2vs of | list_cons (s2v, s2vs) => if s2v = s2v0 then true else ismem (s2vs, s2v0) // end of [list_cons] | list_nil () => false end // end of [ismem] in (* in of [local] *) implement s2exp_isbot (s2e0) = let in // case+ s2e0.s2exp_node of // case+ // | S2Euni ( s2vs, s2ps, s2e2 ) => let val isnil = list_is_nil (s2ps) in if isnil then ( case+ s2e2.s2exp_node of | S2Evar (s2v) => ismem (s2vs, s2v) | _ => false ) else false // end of [if] end // end of [S2Euni] // | _ (* non-S2Euni *) => false // end // end of [s2exp_isbot] end // end of [local] implement s2exp_fun_isbot (s2e) = let in // case+ s2e.s2exp_node of // case+ // | S2Efun ( _, _, _, _, _, s2e_res ) => s2exp_isbot (s2e_res) // | S2Euni (_, _, s2e) => s2exp_fun_isbot (s2e) | S2Emetfun (_, _, s2e) => s2exp_fun_isbot (s2e) // | _ (* rest-of-S2E *) => false // end // end of [s2exp_fun_isbot] (* ****** ****** *) (* end of [pats_staexp2_util3.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_pfman.dats0000664000175000017500000002765512655455557020713 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_env_pfman" (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) dataviewtype d2varmrklst = // marked list | D2VMRKLSTcons of (d2var, d2varmrklst) | D2VMRKLSTmark of (int(*knd*), d2varmrklst) // knd: 0/1: stop/cont | D2VMRKLSTnil of () // end of [d2varmrklst] (* ****** ****** *) extern fun the_d2varmrklst_get_view_ptr () : [l:addr] ( d2varmrklst @ l, d2varmrklst @ l - void | ptr l ) // end of [the_d2varmrklst_get_view_ptr] (* ****** ****** *) local assume pfmanenv_push_v = unit_v (* ****** ****** *) val the_d2varmrklst = ref (D2VMRKLSTnil) // end of [val] fun pushenv .<>. (knd: int): ( pfmanenv_push_v | void ) = let val (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) val () = !p := D2VMRKLSTmark (knd, !p) in (unit_v | ()) end // end of [pushenv] in // in of [local] (* ****** ****** *) implement the_d2varmrklst_get_view_ptr () = let val [l:addr] (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) viewdef V = d2varmrklst @ l prval (pf, fpf) = __assert (pf) where { extern praxi __assert (pf: !V): (V, V - void) } // end of [prval] in (pf, fpf | p) end // end of [the_d2varmrklst_get_view_ptr] (* ****** ****** *) implement fprint_the_pfmanenv (out) = let fun loop ( out: FILEref, xs: !d2varmrklst ) : void = case+ xs of | D2VMRKLSTcons (d2v, !p_xs) => let val () = fprint_d2var (out, d2v) val () = fprint_newline (out) val () = loop (out, !p_xs) in fold@ (xs) end // end of [D2VARNLSTcons] | D2VMRKLSTmark (knd, !p_xs) => let val () = fprintf (out, "D2VMRKLSTmark(%d)", @(knd)) val () = fprint_newline (out) val () = loop (out, !p_xs) in fold@ (xs) end // end of [D2VARNLSTmark] | D2VMRKLSTnil () => fold@ (xs) // end of [loop] val () = fprint_string (out, "the current pfmanenv is:\n") val (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) in $effmask_ref (loop (out, !p)) end // end of [fprint_the_pfmanenv] (* ****** ****** *) implement the_pfmanenv_pop (pfpush | (*void*)) = let prval unit_v () = pfpush fun loop ( xs: d2varmrklst ) : d2varmrklst = case+ xs of | ~D2VMRKLSTcons (_, xs) => loop (xs) | ~D2VMRKLSTmark (knd, xs) => xs | ~D2VMRKLSTnil () => D2VMRKLSTnil () // end of [loop] val (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) in !p := $effmask_ref (loop (!p)) end // end of [the_pfmanenv_pop] (* ****** ****** *) #define PUSH_LET 1 // continue #define PUSH_LAM ~1 // stopping #define PUSH_LLAM 0 // flexible #define PUSH_TRY ~1 // stopping implement the_pfmanenv_push_let () = pushenv (PUSH_LET) implement the_pfmanenv_push_lam (lin: int) = pushenv (if lin = 0 then PUSH_LAM else PUSH_LLAM) implement the_pfmanenv_push_try () = pushenv (PUSH_TRY) (* ****** ****** *) implement the_pfmanenv_add_dvar (d2v) = let // val islin = d2var_is_linear (d2v) val () = if islin then let val (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) in !p := D2VMRKLSTcons (d2v, !p) end // end of [if] // val ismut = d2var_is_mutabl (d2v) val () = if ismut then let val-Some (d2vw) = d2var_get_view (d2v) val (vbox pf | p) = ref_get_view_ptr (the_d2varmrklst) in !p := D2VMRKLSTcons (d2vw, !p) end // end of [if] // in // nothing end // end of [the_pfmanenv_add_dvar] (* ****** ****** *) implement the_pfmanenv_add_dvarlst (d2vs) = ( list_app_fun (d2vs, the_pfmanenv_add_dvar) ) // end of [the_pfmanenv_add_dvarlst] implement the_pfmanenv_add_dvaropt (opt) = ( case+ opt of | Some (d2v) => the_pfmanenv_add_dvar (d2v) | None () => () ) // end of [the_pfmanenv_add_dvaropt] (* ****** ****** *) end // end of [local] (* ****** ****** *) extern fun the_pfmanenv_add_labp3atlst (xs: labp3atlst): void implement the_pfmanenv_add_p3at (p3t) = let // val opt = p3at_get_dvaropt (p3t) val () = the_pfmanenv_add_dvaropt (opt) // in // case+ p3t.p3at_node of // | P3Tany (d2v) => the_pfmanenv_add_dvar (d2v) | P3Tvar (d2v) => the_pfmanenv_add_dvar (d2v) // | P3Tcon ( _(*pck*), d2c, npf, p3ts ) => the_pfmanenv_add_p3atlst (p3ts) // | P3Tann (p3t, s2e) => the_pfmanenv_add_p3at (p3t) // | P3Tint _ => () | P3Tintrep _ => () // | P3Tbool _ => () | P3Tchar _ => () | P3Tfloat _ => () | P3Tstring _ => () // | P3Ti0nt _ => () | P3Tf0loat _ => () // | P3Tempty _ => () // | P3Trec ( knd, npf, lp3ts ) => the_pfmanenv_add_labp3atlst (lp3ts) // end of [P3Trec] | P3Tlst ( lin, s2e_elt, p3ts ) => the_pfmanenv_add_p3atlst (p3ts) // | P3Trefas (d2v, p3t) => { val () = the_pfmanenv_add_dvar (d2v) val () = the_pfmanenv_add_p3at (p3t) } // end of [P3Trefas] // | P3Texist (s2vs, p3t) => the_pfmanenv_add_p3at (p3t) // | P3Tvbox (d2v) => the_pfmanenv_add_dvar (d2v) // | P3Terrpat ((*void*)) => () // end // end of [the_pfmanenv_add_p3at] implement the_pfmanenv_add_p3atlst (p3ts) = list_app_fun (p3ts, the_pfmanenv_add_p3at) // end of [the_pfmanenv_add_p3atlst] implement the_pfmanenv_add_labp3atlst (xs) = loop (xs) where { fun loop ( xs: labp3atlst ) : void = case+ xs of | list_cons (x, xs) => let val LABP3AT (l, p3t) = x val () = the_pfmanenv_add_p3at (p3t) in loop (xs) end // end of [list_cons] | list_nil () => () // end of [loop] } // end of [the_pfmanenv_add_labp3atlst] (* ****** ****** *) extern fun s2exp_search_atview (s2e: s2exp, s2l: s2hnf): Option_vt @(s2exp (*ctx*), s2exp(*at*)) // end of [s2exp_search_atview] (* ****** ****** *) local extern fun d2var_search (d2v: d2var, s2l: s2exp, res: &s2exp): Option_vt (s2exp) // end of [d2var_search] extern fun d2var_search_sexp (d2v: d2var, s2l: s2exp, s2e: s2exp, res: &s2exp): Option_vt (s2exp) // end of [d2var_search_sexp] extern fun d2var_search_labsexplst (d2v: d2var, s2l: s2exp, ls2e: labs2explst, res: &s2exp): Option_vt (labs2explst) // end of [d2var_search_labsexplst] extern fun d2var_search_sexp_at (d2v: d2var, s2l: s2exp, s2e: s2exp, res: &s2exp): Option_vt (s2exp) // end of [d2var_search_at] extern fun d2var_search_sexp_tyrec (d2v: d2var, s2l: s2exp, s2e: s2exp, res: &s2exp): Option_vt (s2exp) // end of [d2var_search_sexp_tyrec] in // in of [local] implement d2var_search (d2v, s2l, res) = let (* val () = ( println! ("d2var_search: d2v = ", d2v); println! ("d2var_search: s2l = ", s2l); ) (* end of [val] *) *) // val opt = d2var_get_type (d2v) // in // case+ opt of | Some s2e => d2var_search_sexp (d2v, s2l, s2e, res) | None () => None_vt () // end // end of [d2var_search] implement d2var_search_sexp (d2v, s2l, s2e, res) = let val s2e = s2exp_hnfize (s2e) in case+ s2e.s2exp_node of | S2Eat _ => d2var_search_sexp_at (d2v, s2l, s2e, res) // end of [S2Eat] | S2Etyrec _ => d2var_search_sexp_tyrec (d2v, s2l, s2e, res) // end of [S2Etyrec] | _ => None_vt () end // end of [d2var_search_sexp] implement d2var_search_labsexplst (d2v, s2l, ls2es, res) = case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, name, s2e) = ls2e val opt = d2var_search_sexp (d2v, s2l, s2e, res) in case+ opt of | ~Some_vt (s2e_ctx) => let val ls2e_ctx = SLABELED (l, name, s2e_ctx) in Some_vt (list_cons (ls2e_ctx, ls2es)) end // en dof [Some_vt] | ~None_vt () => let val opt = d2var_search_labsexplst (d2v, s2l, ls2es, res) // end of [val] in case+ opt of | ~Some_vt (ls2es_ctx) => Some_vt (list_cons (ls2e, ls2es_ctx)) | ~None_vt () => None_vt () end // end of [None_vt] // end of [case] end // end of [list_cons] | list_nil () => None_vt () // end of [d2var_search_labsexplst] implement d2var_search_sexp_at (d2v, s2l, s2e, res) = let val-S2Eat (s2e1, s2e2) = s2e.s2exp_node val iseq = s2exp_syneq (s2l, s2e2) in // if iseq then let val () = res := s2e1 val s2t1 = s2e1.s2exp_srt val s2h1 = s2hole_make_srt (s2t1) val s2e1 = s2exp_hole (s2h1) val s2e_ctx = s2exp_at (s2e1, s2e2) in Some_vt (s2e_ctx) end else let val opt = d2var_search_sexp (d2v, s2l, s2e1, res) // end of [opt] in // case+ opt of | ~Some_vt s2e_ctx => Some_vt (s2exp_at (s2e_ctx, s2e2)) // end of [Some_vt] | ~None_vt () => None_vt () // end // end of [if] // end // end of [d2var_search_sexp_at] implement d2var_search_sexp_tyrec (d2v, s2l, s2e, res) = let val-S2Etyrec (knd, npf, ls2es) = s2e.s2exp_node var res2: labs2explst = list_nil () val opt = d2var_search_labsexplst (d2v, s2l, ls2es, res) in // case+ opt of | ~Some_vt (ls2es_ctx) => let val s2t = s2e.s2exp_srt in Some_vt (s2exp_tyrec_srt (s2t, knd, npf, ls2es_ctx)) end // end of [Some_vt] | ~None_vt () => None_vt () // end // end of [d2var_search_sexp_tyrec] implement pfobj_search_atview (s2l0) = let (* val () = ( println! ("pfobj_search_atview: s2l0 = ", s2l0) ) (* end of [val] *) *) fun loop ( xs: !d2varmrklst, s2l0: s2exp, res: &s2exp ) : Option_vt @(d2var, s2exp) = let in // case+ xs of // | D2VMRKLSTcons (d2v, !p_xs) => let val opt = d2var_search (d2v, s2l0, res) in case+ opt of | ~Some_vt (s2e_ctx) => ( fold@ (xs); Some_vt @(d2v, s2e_ctx) ) // end of [Some_vt] | ~None_vt () => let val opt = loop (!p_xs, s2l0, res) in fold@ (xs); opt end // end of [None] end // end of [D2VMARKLSTcons] // // HX-2015-01-12: // searching is only blocked by [lam] // | D2VMRKLSTmark (knd, !p_xs) => ( if knd > 0 then let val opt = loop (!p_xs, s2l0, res) in fold@ (xs); opt end else (fold@ (xs); None_vt ()) ) (* end of [D2VMARKLSTmark] *) // | D2VMRKLSTnil () => (fold@ (xs); None_vt ()) // end // end of [loop] // var res: s2exp = s2exp_t0ype_err() val (pf, fpf | p0_lst) = the_d2varmrklst_get_view_ptr () // val opt = loop (!p0_lst, s2l0, res) // prval ((*void*)) = fpf (pf) // in // case+ opt of | ~Some_vt (x) => let val obj = PFOBJ (x.0, x.1, res, s2l0) in Some_vt (obj) end // end of [Some_vt] | ~None_vt () => None_vt () // end // end of [pfobj_search_atview] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_env_pfman.dats] *) ATS2-Postiats-0.2.6/./src/pats_typerase_error.dats0000664000175000017500000000527212655455557020504 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_typerase.sats" (* ****** ****** *) viewtypedef trans4errlst_vt = List_vt (trans4err) (* ****** ****** *) local // val the_trans4errlst = ref (list_vt_nil) // fun the_trans4errlst_get (): trans4errlst_vt = let val (vbox pf | p) = ref_get_view_ptr (the_trans4errlst) val xs = !p val () = !p := list_vt_nil () in xs end // end of [the_trans4errlst_get] // in (* in of [local] *) implement the_trans4errlst_add (x) = () where { val (vbox pf | p) = ref_get_view_ptr (the_trans4errlst) val () = !p := list_vt_cons (x, !p) } // end of [the_trans4errlst_add] implement the_trans4errlst_finalize ((*argumentless*)) = { val xs = the_trans4errlst_get () // end of [val] val nxs = list_vt_length (xs) val ((*freed*)) = list_vt_free (xs) // (* val () = if nxs > 0 then { val () = fprintf ( stderr_ref , "patsopt(TYPERASE): there are [%i] errors in total.\n", @(nxs) ) (* end of [fprintf] *) } (* end of [if] *) // end of [val] // *) val () = if nxs > 0 then $raise($ERR.PATSOPT_TRANS4_EXN()) // end of [if] } (* end of [the_trans4errlst_finalize] *) end // end of [local] (* ****** ****** *) (* end of [pats_typerase_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_pprint.dats0000664000175000017500000003502112655455557020414 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_intinf.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" (* ****** ****** *) // staload EFF = "./pats_effect.sats" staload SYN = "./pats_syntax.sats" // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) local #define MAXLEVEL 100 fun aux_s2exp ( out: FILEref, n: int, s2e0: s2exp ) : void = let macdef prstr (x) = fprint_string (out, ,(x)) in // case+ s2e0.s2exp_node of // | S2Eint (x) => { val () = prstr "S2Eint(" val () = fprint_int (out, x) val () = prstr ")" } | S2Eintinf (x) => { val () = prstr "S2Eintinf(" val () = fprint_intinf (out, x) val () = prstr ")" } // | S2Efloat (rep) => { val () = prstr "S2Efloat(" val () = fprint_string (out, rep) val () = prstr ")" } | S2Estring (str) => { val () = prstr "S2Estring(" val () = fprint_string (out, str) val () = prstr ")" } // | S2Ecst (s2c) => { val () = prstr "S2Ecst(" val () = fprint_s2cst (out, s2c) val () = prstr ")" } // | S2Eextype (name, s2ess) => { val () = prstr "S2Eextype(" val () = fprint_string (out, name) val () = ( case+ s2ess of | list_nil () => () | list_cons _ => let val () = prstr ("; ") in aux_s2explstlst (out, n, s2ess) end // end of [list_cons] ) // end of [val] val () = prstr ")" } // end of [S2Eextype] | S2Eextkind (name, s2ess) => { val () = prstr "S2Eextkind(" val () = fprint_string (out, name) val () = ( case+ s2ess of | list_nil () => () | list_cons _ => let val () = prstr ("; ") in aux_s2explstlst (out, n, s2ess) end // end of [list_cons] ) // end of [val] val () = prstr ")" } // end of [S2Eextkind] // | S2Evar (x) => { val () = prstr "S2Evar(" val () = fprint_s2var (out, x) val () = prstr ")" } // end of [S2Evar] | S2EVar (X) => { val opt = s2Var_get_link (X) val () = prstr "S2EVar(" val () = fprint_s2Var (out, X) val () = ( case+ opt of | Some (s2e) => { val () = prstr "->" val () = aux_s2exp_if (out, n-1, s2e) } // end of [Some] | None () => () ) // end of [val] val () = prstr ")" } // end of [S2EVar] // | S2Ehole (s2h) => { val () = prstr "S2Ehole(" val () = fprint_s2hole (out, s2h) val () = prstr ")" } // end of [S2Ehole] // | S2Edatcontyp (d2c, arg) => { val () = prstr "S2Edatcontyp(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = aux_s2explst (out, n, arg) val () = prstr ")" } // end of [S2Edatcontyp] | S2Edatconptr (d2c, rt, arg) => { val () = prstr "S2Edatconptr(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = aux_s2exp (out, n, rt) val () = prstr "; " val () = aux_s2explst (out, n, arg) val () = prstr ")" } // end of [S2Edatconptr] // | S2Eat (s2e1, s2e2) => { val () = prstr "S2Eat(" val () = aux_s2exp (out, n, s2e1) val () = prstr "; " val () = aux_s2exp (out, n, s2e2) val () = prstr ")" } // end of [S2Eat] | S2Esizeof (s2e) => { val () = prstr "S2Esizeof(" val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Esizeof] // | S2Eeff (s2fe) => { val () = prstr "S2Eeff(" val () = aux_s2eff (out, n, s2fe) val () = prstr ")" } // end of [S2Eeff] | S2Eeqeq (s2e1, s2e2) => { val () = prstr "S2Eeqeq(" val () = aux_s2exp (out, n, s2e1) val () = prstr "; " val () = aux_s2exp (out, n, s2e2) val () = prstr ")" } // end of [S2Eeqeq] | S2Eproj (s2a, s2e, s2ls) => { val () = prstr "S2Eproj(" val () = aux_s2exp (out, n, s2a) val () = prstr "; " val () = aux_s2exp (out, n, s2e) val () = prstr "; " val () = aux_s2lablst (out, n, s2ls) val () = prstr ")" } // end of [S2Eproj] // | S2Eapp (s2e_fun, s2es_arg) => { val () = prstr "S2Eapp(" val () = aux_s2exp (out, n, s2e_fun) val () = prstr "; " val () = aux_s2explst (out, n, s2es_arg) val () = prstr ")" } // end of [S2Eapp] | S2Elam (s2vs_arg, s2e_body) => { val () = prstr "S2Elam(" val () = fprint_s2varlst (out, s2vs_arg) val () = prstr "; " val () = aux_s2exp (out, n, s2e_body) val () = prstr ")" } // end of [S2Elam] | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => { val () = prstr "S2Efun(" val () = fprint_funclo (out, fc) val () = prstr "; " val () = fprintf (out, "lin=%i", @(lin)) val () = prstr "; " val () = prstr "eff=" val () = aux_s2eff (out, n, s2fe) val () = prstr "; " val () = fprintf (out, "npf=%i", @(npf)) val () = prstr "; " val () = aux_s2explst (out, n, s2es_arg) val () = prstr "; " val () = aux_s2exp (out, n, s2e_res) val () = prstr ")" } // end of [S2Efun] | S2Emetfun ( opt, s2es_met, s2e_body ) => { val () = prstr "S2Emetfun(" val () = aux_s2explst (out, n, s2es_met) val () = prstr "; " val () = ( case+ opt of | Some stamp => $STMP.fprint_stamp (out, stamp) | None () => () ) // end of [val] val () = prstr "; " val () = aux_s2exp (out, n, s2e_body) val () = prstr ")" } // end of [S2Emetfun] // | S2Emetdec (s2es1, s2es2) => { val () = prstr "S2Emetdec((" val () = aux_s2explst (out, n, s2es1) val () = prstr ") < (" val () = aux_s2explst (out, n, s2es2) val () = prstr "))" } // end of [S2Emetdec] // | S2Etop (knd, s2e) => { val () = prstr "S2Etop(" val () = fprintf (out, "knd=%i", @(knd)) val () = prstr "; " val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Etop] | S2Ewithout (s2e) => { val () = prstr "S2Ewithout(" val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // | S2Etyarr (s2e_elt, s2es_dim) => { val () = prstr "S2Etyarr(" val () = aux_s2exp (out, n, s2e_elt) val () = prstr "; " val () = aux_s2explst (out, n, s2es_dim) val () = prstr ")" } // end of [S2Etyarr] | S2Etyrec (knd, npf, ls2es) => { val () = prstr "S2Etyrec(" val () = fprint_tyreckind (out, knd) val () = prstr "; " val () = fprintf (out, "npf=%i", @(npf)) val () = prstr "; " val () = aux_labs2explst (out, n, ls2es) val () = prstr ")" } // end of [S2Etyrec] // | S2Einvar (s2e) => { val () = prstr "S2Einvar(" val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Einvar] // | S2Erefarg (knd, s2e) => { // knd=0/1:val/ref val () = prstr "S2Erefarg(" val () = fprint_int (out, knd) val () = prstr "; " val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Erefarg] // | S2Evararg (s2e) => { val () = prstr "S2Evararg(" val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Evararg] // | S2Eexi ( s2vs, s2ps, s2e ) => { val () = prstr "S2Eexi(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = aux_s2explst (out, n, s2ps) val () = prstr "; " val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Eexi] | S2Euni ( s2vs, s2ps, s2e ) => { val () = prstr "S2Euni(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = aux_s2explst (out, n, s2ps) val () = prstr "; " val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2Euni] // | S2Ewthtype (s2e, ws2es) => { val () = prstr "S2Ewth(" val () = aux_s2exp (out, n, s2e) val () = prstr "; " val () = aux_wths2explst (out, n, ws2es) val () = prstr ")" } // | S2Eerr () => prstr "S2Eerr()" // (* | _ => prstr "S2E...(...)" *) // end // end of [aux_s2exp] and aux_s2exp_if ( out: FILEref, n: int, s2e: s2exp ) : void = if n > 0 then aux_s2exp (out, n, s2e) else fprint_string (out, "...") // end of [if] // end of [aux_s2exp_if] and aux_s2explst ( out: FILEref, n:int, s2es: s2explst ) : void = let fun loop ( s2es: s2explst, i: int ) : void = case+ s2es of | list_cons (s2e, s2es) => { val () = if i > 0 then fprint_string (out, ", ") val () = aux_s2exp (out, n, s2e) val () = loop (s2es, i+1) } // end of [list_cons] | list_nil () => () // end of [list_nil] // end of [loop] in loop (s2es, 0) end // end of [aux_s2explst] and aux_s2explstlst ( out: FILEref, n:int, s2ess: s2explstlst ) : void = let fun loop ( s2ess: s2explstlst, i: int ) : void = case+ s2ess of | list_cons (s2es, s2ess) => { val () = if i > 0 then fprint_string (out, "; ") val () = aux_s2explst (out, n, s2es) val () = loop (s2ess, i+1) } // end of [list_cons] | list_nil () => () // end of [list_nil] // end of [loop] in loop (s2ess, 0) end // end of [aux_s2explstlst] and aux_labs2explst ( out: FILEref, n: int, ls2es: labs2explst ) : void = let fun loop ( ls2es: labs2explst, i: int ) : void = case+ ls2es of | list_cons (ls2e, ls2es) => { val SLABELED (l, name, s2e) = ls2e val () = if i > 0 then fprint_string (out, ", ") val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "=") val () = aux_s2exp (out, n, s2e) val () = loop (ls2es, i+1) } // end of [list_cons] | list_nil () => () // end of [list_nil] // end of [loop] in loop (ls2es, 0) end // end of [aux_labs2explst] and aux_wths2explst ( out: FILEref, n: int, ws2es: wths2explst ) : void = let // fun loop ( out: FILEref, xs: wths2explst, i: int ) : void = let in // case+ xs of | WTHS2EXPLSTnil () => () | WTHS2EXPLSTcons_invar (k, x, xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprint_string (out, "invar(") val () = fprint_int (out, k) val () = fprint_string (out, "; ") val () = aux_s2exp (out, n, x) val () = fprint_string (out, ")") in loop (out, xs, i+1) end // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (k, x, xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprint_string (out, "trans(") val () = fprint_int (out, k) val () = fprint_string (out, "; ") val () = aux_s2exp (out, n, x) val () = fprint_string (out, ")") in loop (out, xs, i+1) end // end of [WTHS2EXPLSTcons_trans] | WTHS2EXPLSTcons_none (xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprintf (out, "none()", @()) in loop (out, xs, i+1) end // end of [WTHS2EXPLSTcons_none] // end // end of [loop] // in loop (out, ws2es, 0) end // end of [aux_wths2explst] and aux_s2lab ( out: FILEref, n: int, s2l: s2lab ) : void = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s2l of | S2LABlab (lab) => { val () = prstr "S2LABlab(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } | S2LABind (ind) => { val () = prstr "S2LABind(" val () = aux_s2explst (out, n, ind) val () = prstr ")" } // end // end of [aux_s2lab] and aux_s2lablst ( out: FILEref, n: int, s2ls: s2lablst ) : void = let fun loop ( s2ls: s2lablst, i: int ) : void = case+ s2ls of | list_cons (s2l, s2ls) => let val () = if i > 0 then fprint_string (out, ", ") val () = aux_s2lab (out, n, s2l) in loop (s2ls, i+1) end // end of [list_cons] | list_nil () => () // end of [list_nil] // end of [loop] in loop (s2ls, 0) end // end of [aux_s2lablst] and aux_s2eff ( out: FILEref, n: int, s2fe: s2eff ) : void = let macdef prstr (x) = fprint_string (out, ,(x)) in // case+ s2fe of | S2EFFset (efs) => { val () = prstr "S2EFFset(" val () = $EFF.fprint_effset (out, efs) val () = prstr ")" } // end of [S2EFFset] | S2EFFexp (s2e) => { val () = prstr "S2EFFexp(" val () = aux_s2exp (out, n, s2e) val () = prstr ")" } // end of [S2EFFexp] | S2EFFadd (s2fe1, s2fe2) => { val () = prstr "S2EFFadd(" val () = aux_s2eff (out, n, s2fe1) val () = prstr ", " val () = aux_s2eff (out, n, s2fe2) val () = prstr ")" } // end of [S2EFFadd] // end // end of [aux_s2eff] in // in of [local] implement fpprint_s2exp (out, s2e) = aux_s2exp (out, MAXLEVEL, s2e) implement pprint_s2exp (s2e) = fpprint_s2exp (stdout_ref, s2e) implement pprerr_s2exp (s2e) = fpprint_s2exp (stderr_ref, s2e) implement fpprint_s2explst (out, s2es) = aux_s2explst (out, MAXLEVEL, s2es) implement pprint_s2explst (s2es) = fpprint_s2explst (stdout_ref, s2es) implement pprerr_s2explst (s2es) = fpprint_s2explst (stderr_ref, s2es) implement fpprint_s2explstlst (out, s2ess) = aux_s2explstlst (out, MAXLEVEL, s2ess) // end of [fpprint_s2explstlst] implement fpprint_labs2explst (out, ls2es) = aux_labs2explst (out, MAXLEVEL, ls2es) // end of [fpprint_labs2explst] implement fpprint_wths2explst (out, ws2es) = aux_wths2explst (out, MAXLEVEL, ws2es) // end of [fpprint_wths2explst] end // end of [local] (* ****** ****** *) implement fpprint_t2mpmarg (out, x) = fpprint_s2explst (out, x.t2mpmarg_arg) // end of [fpprint_t2mpmarg] implement fpprint_t2mpmarglst (out, xs) = $UT.fprintlst (out, xs, "><", fpprint_t2mpmarg) // end of [fpprint_t2mpmarglst] (* ****** ****** *) (* end of [pats_staexp2_pprint.dats] *) ATS2-Postiats-0.2.6/./src/pats_dmacro2_eval1.dats0000664000175000017500000005627612655455557020070 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_dmacro2_eval1" (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) staload "./pats_dmacro2.sats" (* ****** ****** *) extern fun d2var_rename (loc0: location, d2v: d2var): d2var implement d2var_rename (loc0, d2v) = d2v // HX: is this okay? (* ****** ****** *) // extern fun eval1_s2exp : eval1_type (s2exp) extern fun eval1_s2explst : eval1_type (s2explst) extern fun eval1_s2expopt : eval1_type (s2expopt) // extern fun eval1_s2exparg : eval1_type (s2exparg) extern fun eval1_s2exparglst : eval1_type (s2exparglst) // extern fun eval1_t2mpmarg : eval1_type (t2mpmarg) extern fun eval1_t2mpmarglst : eval1_type (t2mpmarglst) // (* ****** ****** *) extern fun eval1_d2var : eval1_type (d2var) (* ****** ****** *) extern fun eval1_i2nvarg : eval1_type (i2nvarg) extern fun eval1_i2nvarglst : eval1_type (i2nvarglst) extern fun eval1_i2nvresstate : eval1_type (i2nvresstate) (* ****** ****** *) // extern fun eval1_p2at : eval1_type (p2at) extern fun eval1_p2atlst : eval1_type (p2atlst) extern fun eval1_p2atopt : eval1_type (p2atopt) // extern fun eval1_labp2at : eval1_type (labp2at) extern fun eval1_labp2atlst : eval1_type (labp2atlst) // (* ****** ****** *) // extern fun eval1_d2explst : eval1_type (d2explst) extern fun eval1_d2expopt : eval1_type (d2expopt) // extern fun eval1_labd2exp : eval1_type (labd2exp) extern fun eval1_labd2explst : eval1_type (labd2explst) // extern fun eval1_d2lablst : eval1_type (d2lablst) // extern fun eval1_d2exparg : eval1_type (d2exparg) extern fun eval1_d2exparglst : eval1_type (d2exparglst) // (* ****** ****** *) // extern fun eval1_d2exp_applst : eval1_type (d2exp) extern fun eval1_d2exp_macsyn : eval1_type (d2exp) // (* ****** ****** *) extern fun eval1_gm2at : eval1_type (gm2at) extern fun eval1_gm2atlst : eval1_type (gm2atlst) extern fun eval1_c2lau : eval1_type (c2lau) extern fun eval1_c2laulst : eval1_type (c2laulst) (* ****** ****** *) // extern fun eval1_d2ecl : eval1_type (d2ecl) extern fun eval1_d2eclist : eval1_type (d2eclist) // (* ****** ****** *) implement eval1_listmap (loc0, ctx, env, xs, f) = let in // case+ xs of | list_cons (x, xs) => let val x = f (loc0, ctx, env, x) val xs = eval1_listmap (loc0, ctx, env, xs, f) in list_cons (x, xs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [eval1_listmap] (* ****** ****** *) implement eval1_s2exp ( loc0, ctx, env, s2e ) = let (* val () = println! ("eval1_s2exp: s2e(bef) = ", s2e) *) val sub = stasub_make_evalctx (ctx) val s2e = s2exp_subst (sub, s2e) val () = stasub_free (sub) (* val () = println! ("eval1_s2exp: s2e(aft) = ", s2e) *) in s2e end // end of [eval1_s2exp] implement eval1_s2explst (loc0, ctx, env, s2es) = eval1_listmap (loc0, ctx, env, s2es, eval1_s2exp) // end of [eval1_s2explst] implement eval1_s2expopt (loc0, ctx, env, opt) = ( case+ opt of | Some (s2e) => Some (eval1_s2exp (loc0, ctx, env, s2e)) | None () => None () ) // end of [eval1_s2expopt] (* ****** ****** *) implement eval1_s2exparg ( loc0, ctx, env, s2a ) = let val s2an = s2a.s2exparg_node in // case+ s2an of | S2EXPARGone () => s2exparg_one (loc0) | S2EXPARGall () => s2exparg_all (loc0) | S2EXPARGseq (s2es) => s2exparg_seq (loc0, eval1_s2explst (loc0, ctx, env, s2es)) // end of [S2EXPARGseq] // end // end of [eval1_s2exparg] implement eval1_s2exparglst (loc0, ctx, env, s2as) = eval1_listmap (loc0, ctx, env, s2as, eval1_s2exparg) // end of [eval1_s2exparglst] (* ****** ****** *) implement eval1_t2mpmarg ( loc0, ctx, env, t2ma ) = let val s2es = eval1_s2explst (loc0, ctx, env, t2ma.t2mpmarg_arg) in t2mpmarg_make (loc0, s2es) end // end of [eval1_t2mpmarg] implement eval1_t2mpmarglst (loc0, ctx, env, t2mas) = eval1_listmap (loc0, ctx, env, t2mas, eval1_t2mpmarg) // end of [eval1_t2mpmarglst] (* ****** ****** *) implement eval1_d2var (loc0, ctx, env, d2v) = let val opt = alphenv_dfind (env, d2v) in case+ opt of | ~Some_vt (d2v) => d2v | ~None_vt () => d2v end // end of [eval1_d2var] (* ****** ****** *) implement eval1_i2nvarg (loc0, ctx, env, arg) = let val d2v = eval1_d2var (loc0, ctx, env, arg.i2nvarg_var) val opt = eval1_s2expopt (loc0, ctx, env, arg.i2nvarg_type) in i2nvarg_make (d2v, opt) end // end of [eval1_i2nvarg] implement eval1_i2nvarglst (loc0, ctx, env, args) = eval1_listmap (loc0, ctx, env, args, eval1_i2nvarg) // end of [eval1_i2nvarglst] implement eval1_i2nvresstate (loc0, ctx, env, inv) = let val svs = inv.i2nvresstate_svs val gua = inv.i2nvresstate_gua val arg = eval1_i2nvarglst (loc0, ctx, env, inv.i2nvresstate_arg) val met = inv.i2nvresstate_met in i2nvresstate_make_met (svs, gua, arg, met) end // end of [eval1_i2nvresstate] (* ****** ****** *) implement eval1_p2at (loc0, ctx, env, p2t0) = let (* val () = println! ("eval1_p2at: p2t0 = ", p2t0) *) in // case+ p2t0.p2at_node of // | P2Tany _ => p2at_any (loc0) // | P2Tvar (d2v) => let val d2v_new = d2var_rename (loc0, d2v) val () = alphenv_dadd (env, d2v, d2v_new) // end of [val] in p2at_var (loc0, d2v_new) end // end of [P2Tvar] // | P2Tcon ( knd, d2c, s2qs, s2e_con, npf, p2ts_arg ) => let val p2ts_arg = eval1_p2atlst (loc0, ctx, env, p2ts_arg) in p2at_con (loc0, knd, d2c, s2qs, s2e_con, npf, p2ts_arg) end // end of [P2Tcon] // | P2Tempty () => p2at_empty (loc0) // | P2Trec (knd, npf, lp2ts) => let val lp2ts = eval1_labp2atlst (loc0, ctx, env, lp2ts) in p2at_rec (loc0, knd, npf, lp2ts) end // end of [P2Trec] // | P2Tlst (lin, p2ts) => let val p2ts = eval1_p2atlst (loc0, ctx, env, p2ts) in p2at_lst (loc0, lin, p2ts) end // end of [P2Tlst] // | P2Tann (p2t, s2e) => let val p2t = eval1_p2at (loc0, ctx, env, p2t) val s2e = eval1_s2exp (loc0, ctx, env, s2e) in p2at_ann (loc0, p2t, s2e) end // end of [P2Tann] // | _ => let val ( ) = ( println! ("eval1_p2at: not implemented yet: p2t0 = ", p2t0) ) (* end of [val] *) in exitloc (1) end // end of [_] // end // end of [eval1_p2at] (* ****** ****** *) implement eval1_p2atlst (loc0, ctx, env, p2ts) = eval1_listmap (loc0, ctx, env, p2ts, eval1_p2at) // end of [eval1_p2atlst] implement eval1_p2atopt (loc0, ctx, env, opt) = let in case+ opt of | Some (p2t) => Some (eval1_p2at (loc0, ctx, env, p2t)) | None ((*void*)) => None () end // end of [eval1_p2atopt] (* ****** ****** *) implement eval1_labp2at (loc0, ctx, env, lp2t) = let in // case+ lp2t of | LABP2ATnorm (l, p2t) => let val p2t = eval1_p2at (loc0, ctx, env, p2t) in LABP2ATnorm (l, p2t) end // end of [LABP2ATnor] | LABP2ATomit _ => LABP2ATomit (loc0) // end // end of [eval1_labp2at] implement eval1_labp2atlst (loc0, ctx, env, lp2ts) = eval1_listmap (loc0, ctx, env, lp2ts, eval1_labp2at) // end of [eval1_labp2atlst] (* ****** ****** *) implement eval1_d2explst (loc0, ctx, env, d2es) = eval1_listmap (loc0, ctx, env, d2es, eval1_d2exp) // end of [eval1_d2explst] implement eval1_d2expopt (loc0, ctx, env, opt) = ( case+ opt of | Some (d2e) => Some (eval1_d2exp (loc0, ctx, env, d2e)) | None () => None () ) // end of [eval1_d2expopt] (* ****** ****** *) implement eval1_labd2exp ( loc0, ctx, env, ld2e ) = let val $SYN.DL0ABELED (l, d2e) = ld2e in $SYN.DL0ABELED (l, eval1_d2exp (loc0, ctx, env, d2e)) end // end of [eval1_labd2exp] implement eval1_labd2explst (loc0, ctx, env, ld2es) = eval1_listmap (loc0, ctx, env, ld2es, eval1_labd2exp) // end of [eval1_labd2explst] (* ****** ****** *) implement eval1_d2lablst (loc0, ctx, env, d2ls) = let in // case+ d2ls of | list_cons (d2l, d2ls) => let val d2l = ( case+ d2l.d2lab_node of | D2LABlab _ => d2l | D2LABind (ind) => d2lab_ind (loc0, eval1_d2explst (loc0, ctx, env, ind)) ) : d2lab // end of [val] val d2ls = eval1_d2lablst (loc0, ctx, env, d2ls) in list_cons (d2l, d2ls) end // end of [list_cons] | list_nil () => list_nil () // end // end of [eval1_d2lablst] (* ****** ****** *) implement eval1_d2exparg (loc0, ctx, env, d2a) = let in // case+ d2a of | D2EXPARGsta (locarg, s2as) => D2EXPARGsta (loc0, s2as) | D2EXPARGdyn (npf, locarg, d2es) => let val d2es = eval1_d2explst (loc0, ctx, env, d2es) in D2EXPARGdyn (npf, loc0, d2es) end // end of [D2EXPARGdyn] // end // end of [eval1_d2exparg] implement eval1_d2exparglst (loc0, ctx, env, d2as) = eval1_listmap (loc0, ctx, env, d2as, eval1_d2exparg) // end of [eval1_d2exparglst] (* ****** ****** *) implement eval1_d2exp_applst ( loc0, ctx, env, d2e0 ) = let // val-D2Eapplst (d2e, d2as) = d2e0.d2exp_node val loc = d2e.d2exp_loc // fun auxerr ( loc0: location, d2e0: d2exp, d2m: d2mac ) : void = let val () = prerr_errmac_loc (loc0) val () = prerr ": the dynamic symbol [" val () = prerr_d2mac (d2m) val () = prerr "] at ("; val () = $LOC.prerr_location (d2e0.d2exp_loc) val () = prerr ") refers to a macrodef (to be called inside ,(...))." val () = prerr_newline (); in the_trans3errlst_add (T3E_dmacro_eval1_d2exp (loc0, d2e0)) end // end of [auxerr] // val d2e = eval1_d2exp (loc0, ctx, env, d2e) val d2as = eval1_d2exparglst (loc0, ctx, env, d2as) // in // case+ d2e.d2exp_node of // case+ | D2Emac (d2m) => let val knd = d2mac_get_kind (d2m) in if knd = 0 then ( // [d2m] is of short form eval0_app_mac_short (loc0, d2m, ctx, env, d2as) ) else let val () = auxerr (loc0, d2e0, d2m) in d2exp_errexp (loc0) // end of [val] end // end of [if] end // end of [D2Emac] | D2Eapplst (d2e1, d2as1) => ( d2exp_applst (loc0, d2e1, list_append (d2as1, d2as)) ) // end of [D2Eapplst] // | _ => d2exp_applst (loc0, d2e, d2as) // end // end of [eval1_d2exp_applst] (* ****** ****** *) implement eval1_d2exp_macsyn ( loc0, ctx, env, d2e0 ) = let val-D2Emacsyn (knd, d2e) = d2e0.d2exp_node in // case+ knd of | $SYN.MSKdecode () => let val m2v = eval0_d2exp (loc0, ctx, env, d2e) in case+ m2v of | M2Vdcode (d2e_new) => d2e_new | _ => let val () = prerr_errmac_loc (loc0) val () = prerr ": the expansion of the dynamic expression at ("; val () = $LOC.prerr_location (d2e.d2exp_loc) val ()= prerr ") is expected to return code (AST) but it does not."; (* val () = prerr "expanded exp: d2e = "; prerr_d2exp (d2e); prerr_newline (); val () = prerr "returned val: m2v = "; prerr_m2val (m2v); prerr_newline (); *) val () = prerr_newline () in d2exp_errexp (loc0) end // end of [_] end // end of [MSKdecode] | $SYN.MSKxstage () => let val m2v = eval0_d2exp (loc0, ctx, env, d2e) in liftval2dexp (loc0, m2v) end // end of [MSKxstage] | _ => let val () = prerr_errmac_loc (loc0) val () = prerr ": macro syntax is used incorrectly: " val () = prerr_d2exp (d2e0) val () = prerr_newline () in d2exp_errexp (loc0) end // end of [_] // end // end of [eval1_d2exp_macsyn] (* ****** ****** *) implement eval1_d2exp (loc0, ctx, env, d2e0) = let (* val () = ( println! ("eval1_d2exp: loc0 = ", loc0); println! ("eval1_d2exp: d2e0 = ", d2e0); ) (* end of [val] *) *) val d2en0 = d2e0.d2exp_node // macdef reloc () = d2exp_make_node (loc0, d2en0) // macdef eval1sexp (x) = eval1_s2exp (loc0, ctx, env, ,(x)) macdef eval1sexplst (xs) = eval1_s2explst (loc0, ctx, env, ,(xs)) macdef eval1sexpopt (opt) = eval1_s2expopt (loc0, ctx, env, ,(opt)) // macdef eval1sexparg (x) = eval1_s2exparg (loc0, ctx, env, ,(x)) macdef eval1sexparglst (xs) = eval1_s2exparglst (loc0, ctx, env, ,(xs)) // macdef eval1tmpmarg (x) = eval1_t2mpmarg (loc0, ctx, env, ,(x)) macdef eval1tmpmarglst (xs) = eval1_t2mpmarglst (loc0, ctx, env, ,(xs)) // macdef eval1dvar (x) = eval1_d2var (loc0, ctx, env, ,(x)) // macdef eval1dexp (x) = eval1_d2exp (loc0, ctx, env, ,(x)) macdef eval1dexplst (xs) = eval1_d2explst (loc0, ctx, env, ,(xs)) macdef eval1dexpopt (opt) = eval1_d2expopt (loc0, ctx, env, ,(opt)) // macdef eval1labdexp (x) = eval1_labd2exp (loc0, ctx, env, ,(x)) macdef eval1labdexplst (xs) = eval1_labd2explst (loc0, ctx, env, ,(xs)) // macdef eval1dlablst (xs) = eval1_d2lablst (loc0, ctx, env, ,(xs)) // macdef eval1invres (inv) = eval1_i2nvresstate (loc0, ctx, env, ,(inv)) // macdef eval1claulst (c2ls) = eval1_c2laulst (loc0, ctx, env, ,(c2ls)) // in // case+ d2en0 of // | D2Evar (d2v) => d2exp_var (loc0, eval1dvar (d2v)) // end of [D2Evar] // | D2Ecst _ => reloc () // | D2Eint _ => reloc () | D2Eintrep _ => reloc () | D2Echar _ => reloc () | D2Estring _ => reloc () | D2Efloat _ => reloc () // | D2Ei0nt _ => reloc () | D2Ec0har _ => reloc () | D2Es0tring _ => reloc () | D2Ef0loat _ => reloc () // | D2Ecstsp _ => reloc () // | D2Etop _ => reloc () | D2Eempty _ => reloc () // | D2Eextval (s2e, rep) => d2exp_extval (loc0, eval1sexp (s2e), rep) (* end of [D2Eextval] *) // | D2Eextfcall (res, _fun, _arg) => let val res = eval1sexp (res) val _arg = eval1dexplst (_arg) in d2exp_extfcall (loc0, res, _fun, _arg) end // end of [D2Eextfcall] | D2Eextmcall (res, _obj, _mtd, _arg) => let val res = eval1sexp (res) val _obj = eval1dexp(_obj) val _arg = eval1dexplst (_arg) in d2exp_extmcall (loc0, res, _obj, _mtd, _arg) end // end of [D2Eextmcall] // | D2Econ ( d2c, locfun, s2as, npf, locarg, d2es ) => let val s2as = eval1sexparglst (s2as) // end of [val] val d2es = eval1dexplst (d2es) in d2exp_con (loc0, d2c, locfun, s2as, npf, locarg, d2es) end // end of [D2Econ] // | D2Esym _ => reloc () // | D2Etmpid ( d2e_id, t2mas ) => let val d2en = d2e_id.d2exp_node val d2e_id = d2exp_make_node (loc0, d2en) val t2mas = eval1tmpmarglst (t2mas) in d2exp_tmpid (loc0, d2e_id, t2mas) end // end of [D2Etmpid] // | D2Elet (d2cs, d2e) => let val () = alphenv_push (env) val d2cs = eval1_d2eclist (loc0, ctx, env, d2cs) val d2e = eval1dexp (d2e) val () = alphenv_pop (env) in d2exp_let (loc0, d2cs, d2e) end // end of [D2Elet] | D2Ewhere (d2e, d2cs) => let val () = alphenv_push (env) val d2cs = eval1_d2eclist (loc0, ctx, env, d2cs) val d2e = eval1dexp (d2e) val () = alphenv_pop (env) in d2exp_where (loc0, d2e, d2cs) end // end of [D2Ewhere] // | D2Eapplst _ => eval1_d2exp_applst (loc0, ctx, env, d2e0) // end of [D2Eapplst] // | D2Eifhead ( inv, _test, _then, _else ) => let val inv = eval1invres (inv) val _test = eval1dexp (_test) val _then = eval1dexp (_then) val _else = eval1dexpopt (_else) in d2exp_ifhead (loc0, inv, _test, _then, _else) end // end of [D2Eifhead] | D2Esifhead ( inv, _test, _then, _else ) => let val inv = eval1invres (inv) val _test = eval1sexp (_test) val _then = eval1dexp (_then) val _else = eval1dexp (_else) in d2exp_sifhead (loc0, inv, _test, _then, _else) end // end of [D2Esifhead] // | D2Ecasehead ( knd, inv, d2es, c2ls ) => let val inv = eval1invres (inv) val d2es = eval1dexplst (d2es) val c2ls = eval1claulst (c2ls) in d2exp_casehead (loc0, knd, inv, d2es, c2ls) end // end of [D2Ecasehead] // | D2Esing (d2e) => d2exp_sing(loc0, eval1dexp (d2e)) | D2Elist (npf, d2es) => d2exp_list(loc0, npf, eval1dexplst (d2es)) // | D2Elst (lin, opt, d2es) => d2exp_lst ( loc0, lin, eval1sexpopt (opt), eval1dexplst (d2es) ) (* end of [D2Elst] *) // | D2Etup (knd, npf, d2es) => d2exp_tup (loc0, knd, npf, eval1dexplst (d2es)) | D2Erec (knd, npf, ld2es) => d2exp_rec (loc0, knd, npf, eval1labdexplst (ld2es)) // | D2Eseq (d2es) => d2exp_seq (loc0, eval1dexplst (d2es)) // | D2Eselab (d2e, d2ls) => d2exp_selab (loc0, eval1dexp (d2e), eval1dlablst (d2ls)) // | D2Eptrof (d2e) => d2exp_ptrof (loc0, eval1dexp (d2e)) | D2Eviewat (d2e) => d2exp_viewat (loc0, eval1dexp (d2e)) // | D2Ederef (d2e) => d2exp_deref (loc0, eval1dexp (d2e)) | D2Eassgn (_l, _r) => d2exp_assgn (loc0, eval1dexp (_l), eval1dexp (_r)) | D2Exchng (_l, _r) => d2exp_xchng (loc0, eval1dexp (_l), eval1dexp (_r)) // | D2Earrsub ( d2s, d2e, locind, ind ) => d2exp_arrsub ( loc0, d2s, eval1dexp (d2e), loc0, eval1dexplst (ind) ) // end of [D2Earrsub] | D2Earrinit (elt, asz, ini) => d2exp_arrinit ( loc0 , eval1sexp (elt), eval1dexpopt (asz), eval1dexplst (ini) ) // end of [D2Earrinit] | D2Earrpsz (opt, d2es) => d2exp_arrpsz (loc0, eval1sexpopt (opt), eval1dexplst (d2es)) // end of [D2Earrpsz] // | D2Eraise (d2e) => d2exp_raise (loc0, eval1dexp (d2e)) | D2Eshowtype (d2e) => d2exp_showtype (loc0, eval1dexp (d2e)) // | D2Eexist (s2a, d2e) => d2exp_exist (loc0, eval1sexparg (s2a), eval1dexp (d2e)) // end of [D2Eexist] // | D2Elam_dyn (lin, npf, p2ts, d2e) => let val p2ts = eval1_p2atlst (loc0, ctx, env, p2ts) in d2exp_lam_dyn (loc0, lin, npf, p2ts, eval1dexp (d2e)) end // end of [D2Elam_dyn] // | D2Edelay (d2e) => d2exp_delay (loc0, eval1dexp (d2e)) | D2Eldelay (d2e, opt) => // (eval, free) d2exp_ldelay (loc0, eval1dexp (d2e), eval1dexpopt (opt)) // end of [D2Eldelay] // | D2Emac _ => reloc () // HX-2012-12: right? | D2Emacsyn _ => eval1_d2exp_macsyn (loc0, ctx, env, d2e0) // | D2Eann_type (d2e, s2e) => d2exp_ann_type (loc0, eval1dexp (d2e), eval1sexp (s2e)) // end of [D2Eann_type] | D2Eann_seff (d2e, s2fe) => d2exp_ann_seff (loc0, eval1dexp (d2e), s2fe) // end of [D2Eann_seff] | D2Eann_funclo (d2e, funclo) => d2exp_ann_funclo (loc0, eval1dexp (d2e), funclo) // end of [D2Eann_funclo] // | _ (*rest-of-d2exp*) => d2exp_errexp (loc0) // end // end of [eval1_d2exp] (* ****** ****** *) implement eval1_gm2at (loc0, ctx, env, gm2t) = let // val d2e = eval1_d2exp (loc0, ctx, env, gm2t.gm2at_exp) val opt = eval1_p2atopt (loc0, ctx, env, gm2t.gm2at_pat) // in gm2at_make (loc0, d2e, opt) end // end of [eval1_gm2at] implement eval1_gm2atlst (loc0, ctx, env, gm2ts) = eval1_listmap (loc0, ctx, env, gm2ts, eval1_gm2at) // end of [eval1_gm2atlst] (* ****** ****** *) implement eval1_c2lau (loc0, ctx, env, c2l) = let // val p2ts = eval1_p2atlst (loc0, ctx, env, c2l.c2lau_pat) val gm2ts = eval1_gm2atlst (loc0, ctx, env, c2l.c2lau_gua) val d2e_body = eval1_d2exp (loc0, ctx, env, c2l.c2lau_body) // in c2lau_make (loc0, p2ts, gm2ts, c2l.c2lau_seq, c2l.c2lau_neg, d2e_body) end // end of [eval1_c2lau] implement eval1_c2laulst (loc0, ctx, env, c2ls) = eval1_listmap (loc0, ctx, env, c2ls, eval1_c2lau) // end of [eval1_c2laulst] (* ****** ****** *) extern fun eval1_v2aldeclst : eval1_type (v2aldeclst) extern fun eval1_v2aldeclst_rec : eval1_type (v2aldeclst) (* ****** ****** *) implement eval1_d2ecl ( loc0, ctx, env, d2c0 ) = let in // case+ d2c0.d2ecl_node of // | D2Cnone ( ) => d2ecl_none (loc0) // | D2Clist (d2cs) => let val d2cs = eval1_d2eclist (loc0, ctx, env, d2cs) in d2ecl_list (loc0, d2cs) end // end of [D2Clist] // | D2Cvaldecs (knd, d2cs) => let val d2cs = eval1_v2aldeclst (loc0, ctx, env, d2cs) in d2ecl_valdecs (loc0, knd, d2cs) end // end of [D2Cvaldecs] | D2Cvaldecs_rec (knd, d2cs) => let val d2cs = eval1_v2aldeclst_rec (loc0, ctx, env, d2cs) in d2ecl_valdecs_rec (loc0, knd, d2cs) end // end of [D2Cvaldecs_rec] // | _(*not-handled*) => d2ecl_errdec (loc0) // end // end of [eval1_d2ecl] (* ****** ****** *) implement eval1_d2eclist (loc0, ctx, env, d2cs) = eval1_listmap (loc0, ctx, env, d2cs, eval1_d2ecl) // end of [eval1_d2eclist] (* ****** ****** *) implement eval1_v2aldeclst ( loc0, ctx, env, d2cs ) = let // fun auxlst1 ( loc0: location , ctx: !evalctx, env: &alphenv , d2cs: v2aldeclst ) : d2explst = ( case+ d2cs of | list_cons (d2c, d2cs) => let val d2e = eval1_d2exp (loc0, ctx, env, d2c.v2aldec_def) val d2es = auxlst1 (loc0, ctx, env, d2cs) in list_cons (d2e, d2es) end // end of [list_cons] | list_nil () => list_nil () ) // end of [auxlst1] val d2es = auxlst1 (loc0, ctx, env, d2cs) // fun auxlst2 ( loc0: location , ctx: !evalctx, env: &alphenv , d2cs: v2aldeclst, d2es: d2explst ) : v2aldeclst = let in // case+ d2cs of | list_cons (d2c, d2cs) => let val p2t = eval1_p2at (loc0, ctx, env, d2c.v2aldec_pat) val-list_cons (d2e, d2es) = d2es val ann = eval1_s2expopt (loc0, ctx, env, d2c.v2aldec_ann) val d2c = v2aldec_make (loc0, p2t, d2e, ann) val d2cs = auxlst2 (loc0, ctx, env, d2cs, d2es) in list_cons (d2c, d2cs) end // end of [list_cons] | list_nil () => list_nil () end // end of [auxlst2] // in auxlst2 (loc0, ctx, env, d2cs, d2es) end // end of [eval1_v2aldeclst] (* ****** ****** *) implement eval1_v2aldeclst_rec ( loc0, ctx, env, d2cs ) = let // fun auxlst1 ( loc0: location , ctx: !evalctx, env: &alphenv, d2cs: v2aldeclst ) : p2atlst = ( case+ d2cs of | list_cons (d2c, d2cs) => let val p2t = eval1_p2at (loc0, ctx, env, d2c.v2aldec_pat) val p2ts = auxlst1 (loc0, ctx, env, d2cs) in list_cons (p2t, p2ts) end // end of [list_cons] | list_nil () => list_nil () ) // end of [auxlst1] val p2ts = auxlst1 (loc0, ctx, env, d2cs) // fun auxlst2 ( loc0: location , ctx: !evalctx, env: &alphenv , d2cs: v2aldeclst, p2ts: p2atlst ) : v2aldeclst = ( case+ d2cs of | list_cons (d2c, d2cs) => let val d2e = eval1_d2exp (loc0, ctx, env, d2c.v2aldec_def) val-list_cons (p2t, p2ts) = p2ts val ann = eval1_s2expopt (loc0, ctx, env, d2c.v2aldec_ann) val d2c = v2aldec_make (loc0, p2t, d2e, ann) val d2cs = auxlst2 (loc0, ctx, env, d2cs, p2ts) in list_cons (d2c, d2cs) end | list_nil () => list_nil () ) // end of [auxlst2] // in auxlst2 (loc0, ctx, env, d2cs, p2ts) end // end of [eval1_v2aldeclst_rec] (* ****** ****** *) (* end of [pats_dmacro2_eval1.dats] *) ATS2-Postiats-0.2.6/./src/pats_symenv.sats0000664000175000017500000000700112655455557016767 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload SYMMAP = "./pats_symmap.sats" vtypedef symmap (itm:type) = $SYMMAP.symmap (itm) (* ****** ****** *) absvt@ype symenv_vt0ype (itm:type) stadef symenv = symenv_vt0ype (* ****** ****** *) fun symenv_make_nil {itm:type} (): [l:addr] (symenv (itm) @ l | ptr l) // end of [symenv] (* ****** ****** *) fun symenv_search {itm:type} // HX: search all (env: &symenv itm, k: symbol):<> Option_vt (itm) // end of [symenv_search] fun symenv_insert {itm:type} // HX: insert first (env: &symenv itm, k: symbol, i: itm):<> void // end of [symenv_insert] (* ****** ****** *) fun symenv_pop{itm:type} (env: &symenv itm):<> symmap (itm) fun symenv_pop_free{itm:type}(env: &symenv itm):<> void fun symenv_push {itm:type} (env: &symenv itm, map: symmap (itm)):<> void fun symenv_push_nil{itm:type}(env: &symenv itm):<> void (* ****** ****** *) fun symenv_top_clear{itm:type}(env: &symenv itm):<> void (* ****** ****** *) // // HX: saving the current env // fun symenv_savecur {itm:type} (env: &symenv itm):<> void // end of [symenv_savecur] // // HX: restoring the last saved env // fun symenv_restore {itm:type} (env: &symenv itm):<> symmap (itm) // end of [symenv_restore] (* ****** ****** *) // // HX: handling: local ... in ... end // fun symenv_localjoin {itm:type} (env: &symenv itm):<> void // end of [symenv_localjoin] (* ****** ****** *) fun symenv_pervasive_search {itm:type}(env: &symenv itm, k: symbol):<> Option_vt (itm) // end of [symenv_pervasive_search] fun symenv_pervasive_insert {itm:type} (env: &symenv itm, k: symbol, i: itm):<> void // end of [symenv_pervasive_insert] (* ****** ****** *) fun symenv_pervasive_joinwth0 {itm:type} (env: &symenv itm, map: symmap itm):<> void // end of [symenv_pervasive_joinwth0] fun symenv_pervasive_joinwth1 {itm:type} (env: &symenv itm, map: !symmap itm):<> void // end of [symenv_pervasive_joinwth1] (* ****** ****** *) fun fprint_symenv_map {itm:type} ( out: FILEref, env: &symenv itm, f: (FILEref, itm) -> void ) : void // end of [fprint_symenv_map] (* ****** ****** *) (* end of [pats_symenv.sats] *) ATS2-Postiats-0.2.6/./src/pats_symmap_avltree.hats0000664000175000017500000000707212655455557020473 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linmap_avltree.sats" staload _(*anon*) = "libats/DATS/linmap_avltree.dats" (* ****** ****** *) staload "pats_symmap.sats" (* ****** ****** *) // typedef key = uint // assume symmap_vtype (itm:type) = map (key, itm) (* ****** ****** *) // val cmp0 = $UN.cast{cmp(key)} (null) // implement compare_key_key (x1, x2, _) = compare_uint_uint (x1, x2) // (* ****** ****** *) implement symmap_make_nil () = linmap_make_nil<> () implement symmap_free {itm} (map) = linmap_free (map) (* ****** ****** *) implement symmap_search {itm} (map, sym) = let val k = $SYM.symbol_get_stamp (sym) var res: itm? val found = linmap_search (map, k, cmp0, res) in if found then let prval () = opt_unsome {itm} (res) in Some_vt (res) end else let prval () = opt_unnone {itm} (res) in None_vt () end (* end of [if] *) end // end of [symmap_search] (* ****** ****** *) implement symmap_insert {itm} (map, sym, i) = { val k = $SYM.symbol_get_stamp (sym) var res: itm val _exist = linmap_insert (map, k, i, cmp0, res) prval () = opt_clear (res) } (* end of [symmap_insert] *) (* ****** ****** *) implement symmap_joinwth {itm} (map1, map2) = let // typedef keyitm = (key, itm) // fun loop {n:nat} .. ( map: &symmap (itm), kis: list_vt (keyitm, n) ) :<> void = let in // case+ kis of | list_vt_cons (!p_ki, kis1) => let var res: itm val _exist = linmap_insert (map, p_ki->0, p_ki->1, cmp0, res) prval () = opt_clear (res) val () = free@ {keyitm} {0} (kis) in loop (map, kis1) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [loop] // val kis = linmap_listize (map2) // in loop (map1, kis) end // end of [symmap_joinwth] (* ****** ****** *) implement fprint_symmap{itm} (out, map, f) = let var !p_clo = @lam (pf: !unit_v | k: key, i: &itm): void = $effmask_all (fprint (out, k); fprint (out, " -> "); f (out, i); fprint_newline (out)) prval pfu = unit_v () val () = linmap_foreach_vclo (pfu | map, !p_clo) prval unit_v () = pfu in // nothing end // end of [fprint_symmap] (* ****** ****** *) (* end of [pats_symmap_avltree.hats] *) ATS2-Postiats-0.2.6/./src/pats_codegen2.dats0000664000175000017500000000727612655455557017133 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2015 // (* ****** ****** *) // staload LOC = "./pats_location.sats" // overload fprint with $LOC.fprint_location // (* ****** ****** *) // staload S1E = "./pats_staexp1.sats" // overload fprint with $S1E.fprint_e1xp // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_codegen2.sats" (* ****** ****** *) local fun auxerr_nil ( out: FILEref, d2c0: d2ecl ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") val () = fprint! (out, loc0, ": error(codegen2): #codegen2()\n") val () = fprint! (out, "*)\n") // } (* end of [auxerr_nil] *) fun auxerr_cons ( out: FILEref , d2c0: d2ecl, x: e1xp ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") val () = fprint! (out, loc0, ": error(codegen2): #codegen2(", x, ", ...)\n") val () = fprint! (out, "*)\n") // } (* end of [auxerr_cons] *) in (* in-of-local *) implement codegen2_process (out, d2c0) = let // (* val () = println! ("codegen2_process: d2c0 = ", d2c0) *) // macdef datcon_test = datcon_test_e1xp macdef datcontag_test = datcontag_test_e1xp // macdef fprint_test = fprint_test_e1xp // val-D2Ccodegen(knd, xs) = d2c0.d2ecl_node // in // case+ xs of // | list_cons (x, xs) => ( case+ x of | _ when datcon_test(x) => codegen2_datcon(out, d2c0, xs) | _ when datcontag_test(x) => codegen2_datcontag(out, d2c0, xs) | _ when fprint_test(x) => codegen2_fprint(out, d2c0, xs) | _ (*unrecognized*) => auxerr_cons(out, d2c0, x) ) // | list_nil((*void*)) => auxerr_nil(out, d2c0) // end // end of [codegen2_process] end // end of [local] (* ****** ****** *) implement d2eclist_codegen_out (out, d2cs) = let // (* val () = println! ("d2eclist_codegen_out") *) // fun aux ( d2c0: d2ecl ) : void = ( case+ d2c0.d2ecl_node of // case+ | D2Ccodegen (knd, _) => ( if knd <= 2 then codegen2_process(out, d2c0) else () // end of [if] ) (* D2Ccodegen *) // | D2Clist(d2cs) => auxlst (d2cs) // | D2Clocal(_, d2cs_body) => auxlst (d2cs_body) // | _(*rest-of-d2ecl*) => () ) // and auxlst ( d2cs: d2eclist ) : void = ( // case+ d2cs of | list_nil() => () | list_cons(d2c, d2cs) => (aux(d2c); auxlst(d2cs)) // ) (* end of [auxlst] *) // in auxlst (d2cs) end // end of [d2eclist_codegen_out] (* ****** ****** *) (* end of [pats_codegen2.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_caseof.dats0000664000175000017500000000545712655455557020065 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) extern fun hidexplst_ccompv (env: !ccompenv, res: !instrseq, hdes: hidexplst): primvalist // end of [hidexplst_ccompv] implement hidexplst_ccompv (env, res, hdes) = let in // case+ hdes of | list_cons (hde, hdes) => let val pmv = hidexp_ccompv (env, res, hde) val pmvs = hidexplst_ccompv (env, res, hdes) in list_cons (pmv, pmvs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [hidexplst_ccompv] (* ****** ****** *) implement hidexp_ccomp_ret_case (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEcase (knd, hdes, hicls) = hde0.hidexp_node // // HX: [pmvs] should not contain lvalues // val pmvs = hidexplst_ccompv (env, res, hdes) // val fail = ( case+ knd of | CK_case_pos () => PTCKNTnone () | CK_case () => PTCKNTcaseof_fail (loc0) | CK_case_neg () => PTCKNTcaseof_fail (loc0) ) : patckont // end of [val] // val lvl0 = the_d2varlev_get () // val ibranchlst = hiclaulst_ccomp (env, lvl0, pmvs, hicls, tmpret, fail) // val ins = instr_caseof (loc0, ibranchlst) val ((*void*)) = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_case] (* ****** ****** *) (* end of [pats_ccomp_caseof.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_dynexp_up.dats0000664000175000017500000014364512655455557020753 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans3_dynexp_up" // (* ****** ****** *) // staload LAB = "./pats_label.sats" staload LOC = "./pats_location.sats" overload + with $LOC.location_combine overload print with $LOC.print_location // staload SYN = "./pats_syntax.sats" overload print with $SYN.print_macsynkind // (* ****** ****** *) (* ** for T_* constructors *) staload "./pats_lexing.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_patcst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload MAC = "./pats_dmacro2.sats" staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) extern fun d2exp_trup_sym (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_extval (d2e0: d2exp): d3exp extern fun d2exp_trup_extfcall (d2e0: d2exp): d3exp extern fun d2exp_trup_extmcall (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_con (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_tmpid (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_lst (d2e0: d2exp): d3exp extern fun d2exp_trup_tup (d2e0: d2exp): d3exp extern fun d2exp_trup_rec (d2e0: d2exp): d3exp extern fun d2exp_trup_seq (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_effmask (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_vcopyenv (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_tempenver (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_arg_body ( loc0: loc_t , fc0: funclo , lin: int, npf: int, p2ts: p2atlst, d2e: d2exp ) : (s2exp, p3atlst, d3exp) (* ****** ****** *) // extern fun d2exp_trup_letwhere (d2e0: d2exp, d2cs: d2eclist, d2e: d2exp): d3exp // end of [d2exp_trup_letwhere] // (* ****** ****** *) extern fun d2exp_trup_lam_dyn (d2e0: d2exp): d3exp extern fun d2exp_trup_laminit_dyn (d2e0: d2exp): d3exp extern fun d2exp_trup_lam_sta (d2e0: d2exp): d3exp extern fun d2exp_trup_lam_met (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_fix (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_delay (d2e0: d2exp): d3exp extern fun d2exp_trup_ldelay (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_for (d2e0: d2exp): d3exp extern fun d2exp_trup_while (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_trywith (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_mac (d2e0: d2exp): d3exp extern fun d2exp_trup_macsyn (d2e0: d2exp): d3exp (* ****** ****** *) extern fun d2exp_trup_solassert (d2e0: d2exp): d3exp extern fun d2exp_trup_solverify (d2e0: d2exp): d3exp (* ****** ****** *) fun d2exp_is_sym (d2e: d2exp): bool = let in // case+ d2e.d2exp_node of D2Esym _ => true | _ => false // end // end of [d2exp_is_sym] (* ****** ****** *) implement d2exp_trup (d2e0) = let // val loc0 = d2e0.d2exp_loc // (* val () = ( println! ("d2exp_trup: loc0 = ", loc0); println! ("d2exp_trup: d2e0 = ", d2e0); ) (* end of [val] *) *) // val d3e0 = ( case+ d2e0.d2exp_node of // case+ // | D2Evar(d2v) => d2exp_trup_var (loc0, d2v) | D2Ecst(d2c) => d2exp_trup_cst (loc0, d2c) // | D2Eint(int) => d2exp_trup_int (d2e0, int) | D2Eintrep(rep) => d2exp_trup_intrep (d2e0, rep) // | D2Ebool(b(*bool*)) => d2exp_trup_bool (d2e0, b) | D2Echar(c(*char*)) => d2exp_trup_char (d2e0, c) // | D2Efloat(rep) => d2exp_trup_float (d2e0, rep) | D2Estring(str) => d2exp_trup_string (d2e0, str) // | D2Ei0nt (tok) => d2exp_trup_i0nt (d2e0, tok) // | D2Ec0har (tok) => let val- T_CHAR(c) = tok.token_node in d2exp_trup_char (d2e0, c) end // end of [D2Ec0har] | D2Ef0loat (tok) => d2exp_trup_f0loat (d2e0, tok) | D2Es0tring (tok) => let val- T_STRING(str) = tok.token_node in d2exp_trup_string (d2e0, str) end // end of [D2Es0tring] // | D2Ecstsp(csp) => d2exp_trup_cstsp (d2e0, csp) // | D2Eliteral(d2e) => d2exp_trup_literal (d2e0, d2e) // (* | D2Etop() => // case for analysis *) | D2Etop2(s2e) => d3exp_top (loc0, s2e) // | D2Eempty() => d3exp_empty (loc0, s2exp_void_t0ype()) // end of [D2Eempty] // | D2Eextval _ => d2exp_trup_extval (d2e0) | D2Eextfcall _ => d2exp_trup_extfcall (d2e0) | D2Eextmcall _ => d2exp_trup_extmcall (d2e0) // | D2Econ _ => d2exp_trup_con (d2e0) // | D2Esym _ => d2exp_trup_sym (d2e0) // | D2Efoldat _ => d2exp_trup_foldat (d2e0) | D2Efreeat _ => d2exp_trup_freeat (d2e0) // | D2Etmpid _ => d2exp_trup_tmpid (d2e0) // | D2Elet (d2cs, d2e) => d2exp_trup_letwhere (d2e0, d2cs, d2e) // end of [D2Elet] | D2Ewhere (d2e, d2cs) => d2exp_trup_letwhere (d2e0, d2cs, d2e) // end of [D2Ewhere] // | D2Eapplst (_fun, _arg) => let (* val () = ( fprintln! (stdout_ref, "d2exp_trup: D2Eapplst: _fun = ", _fun); fprintln! (stdout_ref, "d2exp_trup: D2Eapplst: _arg = ", _arg); ) (* end of [val] *) *) in case+ _fun.d2exp_node of // case+ // | D2Esym (d2s) => d2exp_trup_applst_sym (d2e0, d2s, _arg) // end of [D2Esym] | D2Etmpid (d2e, t2mas) when d2exp_is_sym (d2e) => let val-D2Esym (d2s) = d2e.d2exp_node in d2exp_trup_applst_tmpsym (d2e0, d2s, t2mas, _arg) end // end of [D2Etmpid when ...] // | D2Emac (d2m) => let (* val () = ( println! ("d2exp_trup: D2Eapplst: D2Emac(bef): d2e0 = ", d2e0) ) (* end of [val] *) *) val d2e0 = $MAC.dmacro_eval_app_short (loc0, d2m, _arg) // end of [val] (* val () = ( println! ("d2exp_trup: D2Eapplst: D2Emac(aft): loc0 = ", loc0); println! ("d2exp_trup: D2Eapplst: D2Emac(aft): d2e0 = ", d2e0); ) (* end of [val] *) *) in d2exp_trup (d2e0) end // end of [D2Emac] // | _ (*rest-of-d0exp*) => let val opt = d2exp_get_seloverld (_fun) in case+ opt of | None () => d2exp_trup_applst (d2e0, _fun, _arg) // end of [None] | Some (d2s) => d2exp_trup_applst_seloverld (d2e0, _fun, d2s, _arg) // end of [Some] end // end of [rest-of-d0exp] end // end of [D2Eapplst] // | D2Eifhead (_, _, _, opt) => let val s2e_if = ( case+ opt of | None _ => s2exp_void_t0ype() | Some _ => s2exp_Var_make_srt (loc0, s2rt_t0ype) // end of [Some] ) : s2exp // end of [val] val s2f_if = s2exp2hnf_cast(s2e_if) in d2exp_trdn_ifhead (d2e0, s2f_if) end // end of [D2Eifhead] | D2Esifhead _ => let val s2e_sif = s2exp_Var_make_srt(loc0, s2rt_t0ype) val s2f_sif = s2exp2hnf_cast(s2e_sif) in d2exp_trdn_sifhead (d2e0, s2f_sif) end // end of [D2Esifhead] // | D2Ecasehead _ => let val s2e_case = s2exp_Var_make_srt(loc0, s2rt_t0ype) val s2f_case = s2exp2hnf_cast(s2e_case) in d2exp_trdn_casehead (d2e0, s2f_case) end // end of [D2Ecasehead] | D2Escasehead _ => let val s2e_scase = s2exp_Var_make_srt(loc0, s2rt_t0ype) val s2f_scase = s2exp2hnf_cast(s2e_scase) in d2exp_trdn_scasehead (d2e0, s2f_scase) end // end of [D2Escasehead] // | D2Esing (d2e) => d2exp_trup (d2e) // | D2Elist (npf, d2es) => let val d2e0 = d2exp_tup_flt (loc0, npf,d2es) in d2exp_trup (d2e0) // end of [val] end // end of [D2Elist] // | D2Elst _ => d2exp_trup_lst (d2e0) | D2Etup _ => d2exp_trup_tup (d2e0) | D2Erec _ => d2exp_trup_rec (d2e0) | D2Eseq _ => d2exp_trup_seq (d2e0) // | D2Eselab (d2e, d2ls) => d2exp_trup_selab (loc0, d2e, d2ls) // | D2Eptrof _ => d2exp_trup_ptrof (d2e0) | D2Eviewat _ => d2exp_trup_viewat (d2e0) // | D2Ederef (d2e) => d2exp_trup_deref (loc0, d2e, list_nil) // | D2Eassgn _ => d2exp_trup_assgn (d2e0) | D2Exchng _ => d2exp_trup_xchng (d2e0) // | D2Earrsub ( d2s, arr, loc_ind, ind // d2s = lrbrackets ) => let val loc_arr = arr.d2exp_loc val loc_arg = loc_arr + loc_ind val d2es_arg = list_cons (arr, ind) val d2a = D2EXPARGdyn (~1(*npf*), loc_arg, d2es_arg) val d2as = list_sing (d2a) in d2exp_trup_applst_sym (d2e0, d2s, d2as) end // end of [D2Earrsub] | D2Earrpsz (opt, d2es) => let val s2e = ( case+ opt of | Some s2e => s2e | None () => let val s2t = s2rt_t0ype in s2exp_Var_make_srt (loc0, s2t) end // end of [None] ) : s2exp // end of [val] val d3es = d2explst_trdn_elt (d2es, s2e) val n = list_length (d2es) val s2e_arrpsz = s2exp_arrpsz_vt0ype_int_vt0ype (s2e, n) // end of [val] in d3exp_arrpsz (loc0, s2e_arrpsz, s2e, d3es, n) end // end of [D2Earrpsz] | D2Earrinit ( s2e_elt, opt, d2es ) => let // var s2i_asz : s2exp // val nxs = list_length (d2es) // val d3e_asz = ( case+ opt of // | None((*void*)) => d3e_asz where { val () = (s2i_asz := s2exp_int(nxs)) val s2e_asz = s2exp_int_index_t0ype(s2i_asz) val d3e_asz = d3exp_int (loc0, s2e_asz, nxs) } (* end of [None] *) // | Some (d2e_asz) => d3e_asz where { val d3e_asz = d2exp_trup(d2e_asz) val s2e_asz = d3exp_get_type(d3e_asz) val () = let val s2f = s2exp2hnf (s2e_asz) val opt = un_s2exp_g1size_index_t0ype(s2f) // end of [val] in case+ opt of | ~Some_vt(s2i) => (s2i_asz := s2i) | ~None_vt((*void*)) => let val s2i = s2exp_err(s2rt_int) in s2i_asz := s2i end // end of [None_vt] end // end of [let] // end of [val] } (* end of [Some] *) // ) : d3exp (* end of [val d3e_asz] *) // val s2e_elt = ( case+ d2es of | list_cons _ => s2e_elt | list_nil () => s2exp_top (0(*knd*), s2e_elt) ) : s2exp (* end of [val] *) val d3es = d2explst_trdn_elt (d2es, s2e_elt) // val s2e_tyarr = s2exp_tyarr (s2e_elt, list_sing(s2i_asz)) // in d3exp_arrinit (loc0, s2e_tyarr, s2e_elt, d3e_asz, d3es) end // end of [D2Earrinit] // | D2Eraise (d2e_exn) => let val err = the_effenv_check_exn (loc0) // end of [val] val () = if (err > 0) then the_trans3errlst_add (T3E_d2exp_trup_exn(loc0)) // end of [if] // end of [val] val s2e_exn = s2exp_exception_vtype () val d3e_exn = d2exp_trdn (d2e_exn, s2e_exn) val s2e_raise = s2exp_bottom_vt0ype_uni () in d3exp_raise (loc0, s2e_raise, d3e_exn) end // end of [D2Eraise] // | D2Eeffmask _ => d2exp_trup_effmask (d2e0) // | D2Eshowtype (d2e) => d3e where { val d3e = d2exp_trup (d2e) val () = fshowtype_d3exp_up (d3e) } (* end of [D2Eshowtype] *) // | D2Evcopyenv _ => d2exp_trup_vcopyenv (d2e0) // | D2Etempenver _ => d2exp_trup_tempenver (d2e0) // | D2Elam_dyn _ => d2exp_trup_lam_dyn (d2e0) | D2Elaminit_dyn _ => d2exp_trup_laminit_dyn (d2e0) | D2Elam_sta _ => d2exp_trup_lam_sta (d2e0) | D2Elam_met _ => d2exp_trup_lam_met (d2e0) // | D2Efix (knd, d2v, def) => d2exp_trup_fix (d2e0) // | D2Edelay _ => d2exp_trup_delay (d2e0) | D2Eldelay _ => d2exp_trup_ldelay (d2e0) // | D2Efor _ => d2exp_trup_for (d2e0) | D2Ewhile _ => d2exp_trup_while (d2e0) | D2Eloopexn (knd) => d2exp_trup_loopexn (loc0, knd) // | D2Etrywith _ => d2exp_trup_trywith (d2e0) // | D2Eann_type (d2e, s2e_ann) => let val d3e = d2exp_trdn (d2e, s2e_ann) in d3exp_ann_type (loc0, d3e, s2e_ann) end // end of [D2Eann_type] // | D2Eann_seff (d2e, _(*s2fe*)) => let in d2exp_trup (d2e) // HX: [d2e] should be a value end // end of [D2Eann_seff] // | D2Emac _ => d2exp_trup_mac (d2e0) | D2Emacsyn _ => d2exp_trup_macsyn (d2e0) // | D2Esolassert _ => d2exp_trup_solassert (d2e0) | D2Esolverify _ => d2exp_trup_solverify (d2e0) // | D2Eerrexp () => d3exp_errexp (loc0) // : [s2exp_t0ype_err] // | _(*unspported*) => let val () = prerr_interror_loc(loc0) val () = prerrln! (": d2exp_trup: d2e0 = ", d2e0) in exitloc (1) end // end of [_(*unsupported*)] // ) : d3exp // end of [val] (* val s2e0 = d3e0.d3exp_type val ( ) = ( print "d2exp_trup: d3e0.d3exp_type = "; pprint_s2exp (s2e0); print_newline () ) (* end of [val] *) *) in // d3e0 // the return value // end // end of [d2exp_trup] (* ****** ****** *) implement d2explst_trup (d2es) = l2l (list_map_fun (d2es, d2exp_trup)) // end of [d2explst_trup] (* ****** ****** *) fun d2explst_trup_arg ( d2es: d2explst ) : d23explst = let (* val () = println! ("d2explst_trup_arg: d2es = ", d2es) *) in // case+ d2es of // | list_cons (d2e, d2es) => let val d23e = let val isval = d2exp_is_varlamcst (d2e) (* val () = println! ("d2explst_trup_arg: d2e = ", d2e) val () = println! ("d2explst_trup_arg: isval = ", isval) *) in if isval then D23Ed2exp d2e else let val d3e = d2exp_trup (d2e) in D23Ed3exp d3e end // end of [else] // end of [if] end : d23exp // end of [val] val d23es = d2explst_trup_arg (d2es) in list_vt_cons (d23e, d23es) end // end of [cons] // | list_nil ((*void*)) => list_vt_nil () // end // end of [d2explst_trup_arg] (* ****** ****** *) fun d23explst_open_and_add {n:nat} .. ( d23es: !list_vt (d23exp, n) ) : void = let // fn f (d23e: !d23exp): void = case+ d23e of | D23Ed2exp d2e => let prval () = fold@ (d23e) in (*nothing*) end // end of [D23Ed2exp] | D23Ed3exp d3e => let val () = d3exp_open_and_add (d3e) in fold@ (d23e) end // end of [D23Ed3exp] (* end of [f] *) // in case+ d23es of | list_vt_cons (!p_d23e, !p_d23es) => let val () = f (!p_d23e) val () = d23explst_open_and_add (!p_d23es) prval () = fold@ (d23es) in // nothing end // end of [cons] | list_vt_nil () => let prval () = fold@ (d23es) in (*nothing*) end // end of [list_nil] end // end of [d23explst_open_and_add] (* ****** ****** *) (* // // HX-2014-03-02: not used? // fun d23explst_trup (d23es: d23explst): d3explst = case+ d23es of | ~list_vt_cons (d23e, d23es) => let val d3e = ( case+ d23e of | ~D23Ed2exp d2e => d2exp_trup (d2e) | ~D23Ed3exp d3e => d3e ) : d3exp // end of [val] in list_cons (d3e, d23explst_trup (d23es)) end // end of [cons] | ~list_vt_nil () => list_nil () // end of [d23explst_trup] *) (* ****** ****** *) fn d23explst_trdn ( locarg: loc_t , d23es: d23explst, s2es: s2explst ) : d3explst = let // fun aux ( d23es: d23explst, s2es: s2explst, err: &int ) : d3explst = let in // case+ d23es of | ~list_vt_nil () => ( case+ s2es of | list_cons _ => let val () = err := err - 1 in list_nil () end // end of [list_cons] | list_nil () => list_nil () ) (* end of [list_vt_nil] *) | ~list_vt_cons (d23e, d23es) => ( case+ s2es of | list_nil () => let val () = err := err + 1 val () = d23exp_free (d23e) val () = d23explst_free (d23es) in list_nil () end // end of [list_nil] | list_cons (s2e, s2es) => let val d3e = ( case+ d23e of | ~D23Ed2exp (d2e) => d2exp_trdn (d2e, s2e) | ~D23Ed3exp (d3e) => d3exp_trdn (d3e, s2e) ) : d3exp // end of [val] val d3es = aux (d23es, s2es, err) in list_cons (d3e, d3es) end // end of [list_cons] ) (* end of [list_vt_cons] *) end // end of [aux] // var serr: int = 0 val d3es = aux (d23es, s2es, serr) val () = if (serr != 0) then let val () = prerr_error3_loc (locarg) val () = filprerr_ifdebug "d23explst_trdn" val () = prerr ": arity mismatch" val () = if serr < 0 then prerr ": more arguments are expected." val () = if serr > 0 then prerr ": fewer arguments are expected." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_d23explst_trdn_arity (locarg, serr)) end // end of [then] // in // d3es (* return value *) // end // end of [d23explst_trdn] (* ****** ****** *) implement d2var_get_type_some (loc0, d2v) = let // fun auxerr ( loc0: loc_t, d2v: d2var ) : void = let // val islin = d2var_is_linear (d2v) // val () = prerr_error3_loc (loc0) // val () = if islin then prerrln! (": the linear dynamic variable [", d2v, "] is no longer available.") // end of [if] // val () = if not(islin) then prerrln! (": the (non-linear) dynamic variable [", d2v, "] is not available for external use.") // end of [if] // in the_trans3errlst_add (T3E_d2var_typeless (loc0, d2v)) end // end of [auxerr] // val opt = d2var_get_type (d2v) // in // case+ opt of | Some s2e => s2e | None ((*void*)) => let val () = auxerr (loc0, d2v) in s2exp_t0ype_err () end // end of [None] // end // end of [d2var_get_type_some] (* ****** ****** *) implement d2exp_trup_var_mutabl (loc0, d2v) = let val-Some (s2l) = d2var_get_addr (d2v) var s2rt: s2exp val s2e_sel = s2addr_deref (loc0, s2l, list_nil, s2rt) in d3exp_var (loc0, s2e_sel, d2v) end // end of [d2exp_trup_var_mutabl] (* ****** ****** *) implement d2exp_trup_var_nonmut (loc0, d2v) = let // // HX: lin >= 0; nonlin = ~1 // val lin = d2var_get_linval (d2v) (* val () = ( println! ("d2exp_trup_var_nonmut: d2v = ", d2v); println! ("d2exp_trup_var_nonmut: lin = ", lin); ) (* end of [val] *) *) val s2qs = d2var_get_decarg (d2v) val s2e0 = d2var_get_type_some (loc0, d2v) // val () = if ( lin >= 0 ) then let val isllamlocal = the_d2varenv_d2var_is_llamlocal (d2v) // end of [val] in // if isllamlocal then let val () = d2var_inc_linval (d2v) in d2var_set_type (d2v, None) // HX: [d2v] is consumed end // end of [then] else let val () = prerr_error3_loc (loc0) val () = prerr ": the linear dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is expected to be local but it is not." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_d2var_trup_llamlocal (d2v)) end // end of [else] // end // end of [if] // end of [val] // in // case+ s2qs of | list_nil () => d3exp_var (loc0, s2e0, d2v) | list_cons _ => let var err: int = 0 val locsarg = $LOC.location_rightmost (loc0) val (s2e_tmp, s2ess) = s2exp_tmp_instantiate_rest (s2e0, locsarg, s2qs, err) in d3exp_tmpvar (loc0, s2e_tmp, d2v, s2ess) end // end of [list_cons] // end // end of [d2exp_trup_var_nonmut] implement d2exp_trup_var (loc0, d2v) = let in if d2var_is_mutabl (d2v) then d2exp_trup_var_mutabl (loc0, d2v) else d2exp_trup_var_nonmut (loc0, d2v) // end of [if] end // end of [d2exp_trup_var] (* ****** ****** *) implement d2exp_trup_cst (loc0, d2c) = let val s2e = d2cst_get_type (d2c) val s2qs = d2cst_get_decarg (d2c) in // case+ s2qs of | list_nil () => d3exp_cst (loc0, s2e, d2c) | list_cons _ => let var err: int = 0 val locsarg = $LOC.location_rightmost (loc0) val (s2e_tmp, s2ess) = s2exp_tmp_instantiate_rest (s2e, locsarg, s2qs, err) in d3exp_tmpcst (loc0, s2e_tmp, d2c, s2ess) end // end of [list_cons] // end // end of [d2cst_trup_cst] (* ****** ****** *) implement d2exp_trup_sym (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Esym(d2s) = d2e0.d2exp_node // val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "d2exp_trup_sym" // val () = prerrln! (": the symbol [", d2s, "] cannot be resolved.") // val () = the_trans3errlst_add (T3E_d2exp_trup_sym (d2e0)) // in d3exp_errexp (loc0) // : [s2exp_t0ype_err] end // end of [d2exp_trup_sym] (* ****** ****** *) implement d2exp_trup_extval (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eextval(s2e, name) = d2e0.d2exp_node // in d3exp_extval (loc0, s2e, name) end // end of [d2exp_trup_extval] (* ****** ****** *) local fun auxerr ( loc0: loc_t, d3e: d3exp ) : void = let val loc = d3e.d3exp_loc val () = prerr_error3_loc (loc) val () = filprerr_ifdebug "d2exp_trup_extfcall" val () = prerr ": no linear argument is allowed for the extfcall." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_extfcall_arg (loc0, d3e)) end // end of [auxerr] fun auxcheck ( loc0: loc_t, d3es: d3explst ) : void = let in // case+ d3es of | list_cons (d3e, d3es) => let val s2e = d3exp_get_type (d3e) val islin = s2exp_is_lin (s2e) val () = if islin then auxerr (loc0, d3e) in auxcheck (loc0, d3es) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxcheck] in (* in of [local] *) implement d2exp_trup_extfcall (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Eextfcall (s2e, _fun, _arg) = d2e0.d2exp_node val d3es_arg = d2explst_trup (_arg) val ((*void*)) = auxcheck (loc0, d3es_arg) in d3exp_extfcall (loc0, s2e, _fun, d3es_arg) end // end of [d2exp_trup_extfcall] end // end of [local] (* ****** ****** *) local fun auxerr ( loc0: loc_t, d3e: d3exp ) : void = let val loc = d3e.d3exp_loc val () = prerr_error3_loc (loc) val () = filprerr_ifdebug "d2exp_trup_extmcall" val () = prerr ": no linear argument is allowed for the extmcall." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_extmcall_arg (loc0, d3e)) end // end of [auxerr] fun auxcheck ( loc0: loc_t, d3es: d3explst ) : void = let in // case+ d3es of | list_cons (d3e, d3es) => let val s2e = d3exp_get_type (d3e) val islin = s2exp_is_lin (s2e) val () = if islin then auxerr (loc0, d3e) in auxcheck (loc0, d3es) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxcheck] in (* in of [local] *) implement d2exp_trup_extmcall (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Eextmcall (s2e, _obj, _mtd, _arg) = d2e0.d2exp_node val d3e_obj = d2exp_trup (_obj) val d3es_arg = d2explst_trup (_arg) val ((*void*)) = auxcheck (loc0, d3es_arg) in d3exp_extmcall (loc0, s2e, d3e_obj, _mtd, d3es_arg) end // end of [d2exp_trup_extmcall] end // end of [local] (* ****** ****** *) implement d2exp_trup_con (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Econ ( d2c, locfun, s2as, npf, locarg, d2es_arg ) = d2e0.d2exp_node val s2e_con = d2con_get_type (d2c) // var err: int = 0 val (s2e, s2ps) = s2exp_uni_instantiate_sexparglst (s2e_con, s2as, err) // HX: [err] is not used val () = trans3_env_add_proplst_vt (locfun, s2ps) // val () = if (err > 0) then let val () = prerr_error3_loc (locfun) val () = filprerr_ifdebug "d2exp_trup_con" val () = prerr ": static application cannot be properly typechecked." val () = prerr_newline () in the_trans3errlst_add ( T3E_s2exp_uni_instantiate_sexparglst (locfun, s2e_con, s2as) ) // end of [the_trans3errlst_add] end // end of [val] // val d23es_arg = d2explst_trup_arg (d2es_arg) // end of [val] val () = d23explst_open_and_add (d23es_arg) // var err: int = 0 val locsarg = $LOC.location_rightmost (locfun) val (s2e, s2ps) = s2exp_uni_instantiate_all (s2e, locsarg, err) // HX: [err] is not used val () = trans3_env_add_proplst_vt (locsarg, s2ps) // in // case+ s2e.s2exp_node of | S2Efun ( _fc, _lin, _s2fe, npf_con, s2es_arg, s2e_res ) => let val err = $SOL.pfarity_equal_solve (loc0, npf_con, npf) val () = if (err > 0) then let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "d2exp_trup_con" val () = prerr ": proof arity mismatch: the constructor [" val () = prerr_d2con (d2c) val () = prerrf ("] requires [%i] arguments.", @(npf_con)) val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d2exp_trup_con_npf (d2e0, npf)) // nothing end // end of [val] val d3es_arg = d23explst_trdn (locarg, d23es_arg, s2es_arg) in d3exp_con (loc0, s2e_res, d2c, npf, d3es_arg) end // end of [S2Efun] | _ => let val () = d23explst_free (d23es_arg) in d3exp_errexp (loc0) end // end of [_] // end // end [d2exp_trup_con] (* ****** ****** *) implement d2exp_trup_tmpcst (loc0, d2c, t2mas) = let // val locarg = $LOC.location_rightmost (loc0) // val s2qs = d2cst_get_decarg (d2c) val s2e_d2c = d2cst_get_type (d2c) // var err: int = 0 val (s2e_tmp, t2mas) = s2exp_tmp_instantiate_tmpmarglst (s2e_d2c, locarg, s2qs, t2mas, err) // end of [val] in d3exp_tmpcst (loc0, s2e_tmp, d2c, t2mas) end // end of [d2exp_trup_tmpcst] implement d2exp_trup_tmpvar (loc0, d2v, t2mas) = let // val locarg = $LOC.location_rightmost (loc0) val s2qs = d2var_get_decarg (d2v) val s2e_d2v = d2var_get_type_some (loc0, d2v) var err: int = 0 val (s2e_tmp, t2mas) = s2exp_tmp_instantiate_tmpmarglst (s2e_d2v, locarg, s2qs, t2mas, err) // end of [val] in d3exp_tmpvar (loc0, s2e_tmp, d2v, t2mas) end // end of [d2exp_trup_tmpvar] implement d2exp_trup_tmpid (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Etmpid (d2e_id, t2mas) = d2e0.d2exp_node // in // case+ d2e_id.d2exp_node of (* case+ *) | D2Ecst (d2c) => d2exp_trup_tmpcst (loc0, d2c, t2mas) | D2Evar (d2v) => d2exp_trup_tmpvar (loc0, d2v, t2mas) | _ => let // val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "d2exp_trup_tmpid" // val () = prerrln! ( ": a non-template is treated as a template: ", d2e0 ) (* end of [val] *) // val () = the_trans3errlst_add (T3E_d2exp_trup_tmpid (d2e0)) // in d3exp_errexp (loc0) end // end of [_] // end // end of [d2exp_trup_tmpid] (* ****** ****** *) implement d2exp_trup_applst (d2e0, d2e_fun, d2as_arg) = let val d3e_fun = d2exp_trup (d2e_fun) val () = d3exp_open_and_add (d3e_fun) in d23exp_trup_applst (d2e0, d3e_fun, d2as_arg) end // end of [d2exp_trup_applst] (* ****** ****** *) fun d23exp_trup_applst_sta ( d2e0: d2exp , d3e_fun: d3exp , s2as: s2exparglst, d2as: d2exparglst ) : d3exp = let (* val () = ( println! ("d23exp_trup_applst_sta: d2e0 = ", d2e0) ) (* end of [val] *) *) val loc_fun = d3e_fun.d3exp_loc val s2e_fun = d3e_fun.d3exp_type val loc_app = let fun aux ( loc: loc_t, s2as: s2exparglst ) : loc_t = ( case+ s2as of | list_nil () => loc | list_cons _ => let val s2a = list_last (s2as) in $LOC.location_combine (loc, s2a.s2exparg_loc) end // end of [list_cons] ) (* end of [aux] *) in aux (loc_fun, s2as) end // end of [let] // end of [val] // var err: int = 0 val (s2e_fun, s2ps) = s2exp_uni_instantiate_sexparglst (s2e_fun, s2as, err) val ((*void*)) = trans3_env_add_proplst_vt (loc_app, s2ps) // val ((*void*)) = if (err > 0) then let val () = prerr_error3_loc (loc_app) val () = filprerr_ifdebug "d2exp_trup_applst_sta" val ( ) = prerrln! (": static application cannot be properly typechecked.") // end of [val] in the_trans3errlst_add ( T3E_s2exp_uni_instantiate_sexparglst (loc_app, s2e_fun, s2as) ) // end of [the_trans3errlst_add] end // end of [let] // end of [val] // val d3e_fun = d3exp_app_sta (loc_app, s2e_fun, d3e_fun) in d23exp_trup_applst (d2e0, d3e_fun, d2as) end // end of [d2exp_trup_applst_sta] (* ****** ****** *) fun d23exp_trup_app23 ( d2e0: d2exp , d3e_fun: d3exp , npf: int, locarg: loc_t, d23es_arg: d23explst ) : d3exp = let // val loc_fun = d3e_fun.d3exp_loc val s2e_fun = d3e_fun.d3exp_type // (* val () = ( print "d23exp_trup_app23: s2e_fun = "; pprint_s2exp s2e_fun; print_newline () ) // end of [val] *) var err: int = 0 val locsarg = $LOC.location_rightmost (loc_fun) val (s2e_fun, s2ps) = s2exp_unimet_instantiate_all (s2e_fun, locsarg, err) val () = trans3_env_add_proplst_vt (locsarg, s2ps) (* val () = begin print "d23exp_trup_app23: s2e_fun = "; pprint_s2exp s2e_fun; print_newline () end // end of [val] *) val d3e_fun = d3exp_app_unista (loc_fun, s2e_fun, d3e_fun) // end of [d3e_fun] in // case+ s2e_fun.s2exp_node of // | S2Efun ( fc, _(*lin*), s2fe_fun, npf_fun, s2es_fun_arg, s2e_fun_res ) => let (* val () = begin print "d23exp_trup_app: s2e_fun = "; pprint_s2exp s2e_fun; print_newline (); print "d23exp_trup_app: s2fe_fun = "; pprint_s2eff s2fe_fun; print_newline (); printf ("d23exp_trup_app23: npf = %i and npf_fun = %i", @(npf, npf_fun)); print_newline () end // end of [val] *) // val err = $SOL.pfarity_equal_solve (loc_fun, npf_fun, npf) (* end of [val] *) // val () = if (err > 0) then let val () = prerr_error3_loc (loc_fun) val () = filprerr_ifdebug "d23exp_trup_app23" val () = prerr ": proof arity mismatch" val () = prerrf (": the function requires %i proof arguments.", @(npf_fun)) val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d23exp_trup_app23_npf (loc_fun, npf)) end // end of [let] // end of [val] // val loc_app = $LOC.location_combine (loc_fun, locarg) val s2es_fun_arg = s2fun_opninv_and_add (locarg, s2es_fun_arg, s2e_fun_res) val d3es_arg = d23explst_trdn (locarg, d23es_arg, s2es_fun_arg) // val ( iswth , s2e_res , wths2es ) = un_s2exp_wthtype (loc_app, s2e_fun_res) // val d3e_fun = d3exp_fun_restore (fc, d3e_fun) val d3es_arg = ( if iswth then d3explst_arg_restore (d3es_arg, s2es_fun_arg, wths2es) else d3es_arg ) : d3explst // end of [val] // val err = the_effenv_check_s2eff (loc_app, s2fe_fun) // end of [val] val () = if (err > 0) then ( the_trans3errlst_add (T3E_d23exp_trup_app23_eff (loc_app, s2fe_fun)) ) // end of [if] // end of [val] in d3exp_app_dyn (loc_app, s2e_res, d3e_fun, npf, d3es_arg) end // end of [S2Efun] | _ => let val () = d23explst_free (d23es_arg) val () = prerr_error3_loc (loc_fun) val () = filprerr_ifdebug "d23exp_trup_app23" val ( ) = prerrln! ( ": the applied dynamic expression is of non-function type: ", s2e_fun ) (* end of [val] *) val () = the_trans3errlst_add (T3E_d23exp_trup_app23_fun (loc_fun, s2e_fun)) in d3exp_errexp (loc_fun) end // end of [_] // end // end of [d23exp_trup_app23] fun d23exp_trup_applst_dyn ( d2e0: d2exp , d3e_fun: d3exp , npf: int, locarg: loc_t, d2es_arg: d2explst , d2as: d2exparglst ) : d3exp = let val loc_fun = d3e_fun.d3exp_loc val loc_app = $LOC.location_combine (loc_fun, locarg) val s2e_fun = d3e_fun.d3exp_type val d23es_arg = d2explst_trup_arg (d2es_arg) val ((*void*)) = d23explst_open_and_add (d23es_arg) in // case+ s2e_fun.s2exp_node of | _ => let val d3e_fun = d23exp_trup_app23 ( d2e0, d3e_fun, npf, locarg, d23es_arg ) // end of [val] in d23exp_trup_applst (d2e0, d3e_fun, d2as) end (* end of [_] *) // end // end of [d2exp_trup_applst_dyn] (* ****** ****** *) implement d23exp_trup_applst ( d2e0: d2exp , d3e_fun: d3exp, d2as: d2exparglst ) : d3exp = let (* val () = ( fprintln! (stdout_ref, "d23exp_trup_applst: d3e_fun = ", d3e_fun); fprintln! (stdout_ref, "d23exp_trup_applst: d2as = ", d2as); ) // end of [val] *) in // case+ d2as of | list_cons (d2a, d2as) => ( case+ d2a of | D2EXPARGsta (locarg, s2as) => ( d23exp_trup_applst_sta (d2e0, d3e_fun, s2as, d2as) ) (* end of [D2EXPARGsta] *) | D2EXPARGdyn (npf, locarg, d2es_arg) => ( d23exp_trup_applst_dyn (d2e0, d3e_fun, npf, locarg, d2es_arg, d2as) ) (* end of [D2EXPARGdyn] *) ) // end of [cons] | list_nil ((*void*)) => d3e_fun // end // end of [d2exp_trup_applst] (* ****** ****** *) implement d2exp_trup_lst (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Elst (lin, opt, d2es) = d2e0.d2exp_node (* val () = println! ("d2exp_trup_lst: lin = ", lin) *) val islin = ( if lin >= 0 then test_linkind (lin) else false ) : bool // end of [val] val isnonlin = not(islin) val s2e_elt = ( // case+ opt of | Some s2e => s2e | None ((*void*)) => let val s2t = ( if isnonlin then s2rt_t0ype else s2rt_vt0ype ) : s2rt // end of [val] in s2exp_Var_make_srt (loc0, s2t) end // end of [None] // ) : s2exp // end of [val] val n = list_length (d2es) val d3es = d2explst_trdn_elt (d2es, s2e_elt) val isnonlin = ( if lin >= 0 then isnonlin else s2exp_is_nonlin (s2e_elt) ) : bool // end of [val] val s2e_lst = ( // if isnonlin then s2exp_list_t0ype_int_type (s2e_elt, n) else s2exp_list_vt0ype_int_vtype (s2e_elt, n) // ) : s2exp // end of [val] // in d3exp_lst (loc0, s2e_lst, lin, s2e_elt, d3es) end // end of [d2exp_trup_lst] (* ****** ****** *) // extern fun d3explst_get_type (d3es: d3explst): labs2explst // implement d3explst_get_type (d3es) = let fun aux ( d3es: d3explst, i: int ) : labs2explst = case+ d3es of | list_cons (d3e, d3es) => let val l = $LAB.label_make_int (i) val s2e = d3e.d3exp_type val ls2e = SLABELED (l, None, s2e) in list_cons (ls2e, aux (d3es, i+1)) end | list_nil () => list_nil () // end of [aux] in aux (d3es, 0) end // end of [d3explst_get_type] // (* ****** ****** *) implement d2exp_trup_tup (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Etup (knd, npf, d2es) = d2e0.d2exp_node (* val () = ( fprintln! (stdout_ref, "d2exp_trup_tup: knd = ", knd); fprintln! (stdout_ref, "d2exp_trup_tup: d2es = ", d2es); ) *) // val d3es = d2explst_trup (d2es) // val ls2es = d3explst_get_type (d3es) val s2e_tup = s2exp_tyrec (knd, npf, ls2es) // (* val () = ( fprintln! (stdout_ref, "d2exp_trup_tup: s2e_tup = ", s2e_tup); ) *) // in d3exp_tup (loc0, s2e_tup, knd, npf, d3es) end // end of [d2exp_trup_tup] (* ****** ****** *) // extern fun labd3explst_get_type (ld3es: labd3explst): labs2explst // implement labd3explst_get_type (ld3es) = let fn f ( ld3e: labd3exp ) : labs2exp = let val $SYN.DL0ABELED (l, d3e) = ld3e in SLABELED (l.l0ab_lab, None, d3e.d3exp_type) end // end of [f] in l2l (list_map_fun (ld3es, f)) end // end of [labd3explst_get_type] // (* ****** ****** *) implement d2exp_trup_rec (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Erec (recknd, npf, ld2es) = d2e0.d2exp_node // (* val () = ( print "d2exp_trup_rec: ld2es = "; print_labd2explst ld2es; print_newline () ) // end of [val] *) // fun aux ( ld2es: labd2explst ) : labd3explst = case+ ld2es of | list_cons (ld2e, ld2es) => let val $SYN.DL0ABELED (l, d2e) = ld2e val ld3e = $SYN.DL0ABELED (l, d2exp_trup (d2e)) val ld3es = aux (ld2es) in list_cons (ld3e, ld3es) end // end of [list_cons] | list_nil () => list_nil () val ld3es = aux ld2es // val ls2es = labd3explst_get_type (ld3es) val s2e_rec = s2exp_tyrec (recknd, npf, ls2es) // in d3exp_rec (loc0, s2e_rec, recknd, npf, ld3es) end // end of [d2exp_trup_rec] (* ****** ****** *) implement d2exp_trup_seq (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eseq (d2es) = d2e0.d2exp_node // fun aux ( d2e: d2exp , d2es: d2explst , s2e_res: &(s2exp?) >> s2exp , s2e_void: s2exp ) : d3explst = case+ :( s2e_res: s2exp ) => d2es of | list_cons (d2e1, d2es1) => let val d3e = d2exp_trdn (d2e, s2e_void) val d3es = aux (d2e1, d2es1, s2e_res, s2e_void) in list_cons (d3e, d3es) end // end of [cons] | list_nil () => let val d3e = d2exp_trup (d2e) val () = s2e_res := s2exp_hnfize (d3e.d3exp_type) in list_sing (d3e) end // end of [nil] // end of [aux] // val s2e_void = s2exp_void_t0ype () // in // case+ d2es of | list_cons (d2e, d2es) => let var s2e_res: s2exp // uninitized val d3es = aux (d2e, d2es, s2e_res, s2e_void) in d3exp_seq (loc0, s2e_res, d3es) end // end of [cons] | list_nil () => d3exp_empty (loc0, s2e_void) // end // end of [d2exp_trup_seq] (* ****** ****** *) implement d2exp_trup_letwhere (d2e0, d2cs, d2e_scope) = let val loc0 = d2e0.d2exp_loc val (pfpush_eff | ()) = the_effenv_push () val (pfpush_s2cst | ()) = the_s2cstbindlst_push () val (pfpush_d2var | ()) = the_d2varenv_push_let () // val d3cs = d2eclist_tr (d2cs) val d3e_scope = d2exp_trup (d2e_scope) // val () = the_d2varenv_check (loc0) // val () = the_effenv_pop (pfpush_eff | (*none*)) val () = the_s2cstbindlst_pop_and_unbind (pfpush_s2cst | (*none*)) val () = the_d2varenv_pop (pfpush_d2var | (*none*)) in d3exp_let (loc0, d3cs, d3e_scope) end // end of [d2exp_trup_letwhere] (* ****** ****** *) implement d2exp_trup_effmask (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eeffmask (s2fe, d2e) = d2e0.d2exp_node val (pfpush | ()) = the_effenv_push_effmask (s2fe) val d3e = d2exp_trup (d2e) val () = the_effenv_pop (pfpush | (*none*)) // in d3exp_effmask (loc0, s2fe, d3e) end // end of [d2exp_trup_effmask] (* ****** ****** *) implement d2exp_trup_vcopyenv (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Evcopyenv (knd, d2e) = d2e0.d2exp_node // in // case+ d2e.d2exp_node of | D2Evar (d2v) => let val opt = d2var_get_type (d2v) // end of [val] val s2f = ( case+ opt of | Some s2e => ( if test_prfkind(knd) then s2exp_vcopyenv_v(s2e) else s2exp_vcopyenv_vt(s2e) // end of [if] ) (* end of [Some] *) | None () => s2exp_void_t0ype () ) : s2exp // end of [val] in d3exp_vcopyenv (loc0, s2f, knd, d2v) end // end of [D2Evar] | _(*non-D2Evar*) => d2exp_trup (d2e) // HX: ignoring [$vcopyenv] // end // end of [d2exp_trup_vcopyenv] (* ****** ****** *) implement d2exp_trup_tempenver (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Etempenver(d2vs) = d2e0.d2exp_node // in d3exp_tempenver (loc0, s2exp_void_t0ype(), d2vs) end // end of [d2exp_trup_tempenver] (* ****** ****** *) implement funarg_patck_exhaust ( loc0, p2ts_arg, s2es_arg ) = () where { // val p2tcs = list_map_fun (p2ts_arg, p2at2cst) val cp2tcss = p2atcstlst_comp ($UN.castvwtp1{p2atcstlst}(p2tcs)) val ((*freed*)) = list_vt_free (p2tcs) val isexhaust = ( if list_vt_is_nil (cp2tcss) then true else false ) : bool // end of [val] val () = if ~isexhaust then let val cp2tcss = p2atcstlstlst_vt_copy (cp2tcss) in trans3_env_add_patcstlstlst_false (loc0, CK_case_pos, cp2tcss, s2es_arg) end // end of [if] // end of [val] val ((*freed*)) = p2atcstlstlst_vt_free (cp2tcss) // } (* end of [funarg_patck_exhaust] *) (* ****** ****** *) implement d2exp_trup_arg_body ( loc0 , fc0, lin, npf , p2ts_arg, d2e_body ) = let (* val FNAME = "d2exp_trup_arg_body" val () = ( printf ("%s: npf = ", @(FNAME)); print_int (npf); print_newline () ) // end of [val] val () = ( printf ("%s: arg = ", @(FNAME)); print_p2atlst (p2ts_arg); print_newline () ) // end of [val] val () = ( printf ("%s: body = ", @(FNAME)); print_d2exp (d2e_body); print_newline () ) // end of [val] *) val (pfenv | ()) = trans3_env_push () // var fc: funclo = fc0 val d2e_body = d2exp_funclo_of_d2exp (d2e_body, fc) var s2fe: s2eff = s2eff_nil val d2e_body = d2exp_s2eff_of_d2exp (d2e_body, s2fe) // val (pfeff | ()) = the_effenv_push_lam (s2fe) // val s2es_arg = p2atlst_syn_type (p2ts_arg) // val () = funarg_patck_exhaust (loc0, p2ts_arg, s2es_arg) // val p3ts_arg = p2atlst_trup_arg (npf, p2ts_arg) // val (pfd2v | ()) = the_d2varenv_push_lam (lin) val () = the_d2varenv_add_p3atlst (p3ts_arg) val (pfman | ()) = the_pfmanenv_push_lam (lin) // lin:0/1:stopping/continue val () = the_pfmanenv_add_p3atlst (p3ts_arg) // val (pflamlp | ()) = the_lamlpenv_push_lam (p3ts_arg) // val d3e_body = d2exp_trup (d2e_body) // val () = the_d2varenv_check (loc0) val () = if lin > 0 then the_d2varenv_check_llam (loc0) // val () = the_effenv_pop (pfeff | (*none*)) val () = the_d2varenv_pop (pfd2v | (*none*)) val () = the_pfmanenv_pop (pfman | (*none*)) val () = the_lamlpenv_pop (pflamlp | (*none*)) // val () = trans3_env_pop_and_add_main (pfenv | loc0) // val s2e_res = d3e_body.d3exp_type val isprf = s2exp_is_prf (s2e_res) val islin = lin > 0 val s2t_fun = s2rt_prf_lin_fc (loc0, isprf, islin, fc) val s2e_fun = s2exp_fun_srt ( s2t_fun, fc, lin, s2fe, npf, s2es_arg, s2e_res ) // end of [val] // in // (s2e_fun, p3ts_arg, d3e_body) // end // end of [d2exp_trup_arg_body] (* ****** ****** *) implement d2exp_trup_lam_dyn (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Elam_dyn (lin, npf, p2ts_arg, d2e_body) = d2e0.d2exp_node val fc0 = FUNCLOfun () // default val s2ep3tsd3e = d2exp_trup_arg_body (loc0, fc0, lin, npf, p2ts_arg, d2e_body) val s2e_fun = s2ep3tsd3e.0 val p3ts_arg = s2ep3tsd3e.1 val d3e_body = s2ep3tsd3e.2 in d3exp_lam_dyn (loc0, s2e_fun, lin, npf, p3ts_arg, d3e_body) end // end of [d2exp_trup_lam_dyn] (* ****** ****** *) implement d2exp_trup_laminit_dyn (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Elaminit_dyn (lin, npf, p2ts_arg, d2e_body) = d2e0.d2exp_node val fc0 = FUNCLOclo (0) // default val s2ep3tsd3e = d2exp_trup_arg_body (loc0, fc0, lin, npf, p2ts_arg, d2e_body) val s2e_fun = s2ep3tsd3e.0 val p3ts_arg = s2ep3tsd3e.1 val d3e_body = s2ep3tsd3e.2 val () = ( case+ s2e_fun.s2exp_node of | S2Efun (fc, _, _, _, _, _) => (case+ fc of | FUNCLOclo 0 => () // [CLO] | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "d2exp_trup_laminit_dyn" val () = prerr ": the initializing value is expected to be a flat closure but it is not." val () = prerr_newline () in the_trans3errlst_add (T3E_d2exp_trup_laminit_funclo (d2e0, fc)) end // end of [_] ) // end of [S2Efun] | _ => () // HX: deadcode ) : void // end of [val] in d3exp_laminit_dyn (loc0, s2e_fun, lin, npf, p3ts_arg, d3e_body) end // end of [d2exp_trup_laminit_dyn] (* ****** ****** *) implement d2exp_trup_lam_sta (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Elam_sta (s2vs, s2ps, d2e_body) = d2e0.d2exp_node // val (pfenv | ()) = trans3_env_push () val () = trans3_env_add_svarlst (s2vs) val () = trans3_env_hypadd_proplst (loc0, s2ps) // val d3e_body = d2exp_trup (d2e_body) // val () = trans3_env_pop_and_add_main (pfenv | loc0) // val s2e = d3e_body.d3exp_type val s2e_uni = s2exp_uni (s2vs, s2ps, s2e) in d3exp_lam_sta (loc0, s2e_uni, s2vs, s2ps, d3e_body) end // end of [d2exp_trup_lam_sta] (* ****** ****** *) implement d2exp_trup_lam_met (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Elam_met (d2vs_ref, s2es_met, d2e_body) = d2e0.d2exp_node // end of [val] val () = s2explst_check_termet (loc0, s2es_met) val (pfmet | ()) = termetenv_push_dvarlst (!d2vs_ref, s2es_met) val d3e_body = d2exp_trup (d2e_body) val () = termetenv_pop (pfmet | (*none*)) in d3exp_lam_met (loc0, s2es_met, d3e_body) end // end of [d2exp_trup_lam_met] (* ****** ****** *) local fun s2exp_clo2fun (s2e0: s2exp): s2exp = let in // case+ s2e0.s2exp_node of | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => s2exp_fun_srt (s2e0.s2exp_srt, FUNCLOfun, lin, s2fe, npf, s2es_arg, s2e_res) | _(*non-S2Efun*) => s2e0 // end // end of [s2exp_clo2fun] in (* in-of-local *) implement d2exp_trup_fix (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Efix (knd, d2v, d2e_def) = d2e0.d2exp_node // val s2e_def = d2exp_syn_type (d2e_def) val s2e2_def = s2exp_clo2fun (s2e_def) // val s2e2opt_def = Some (s2e2_def) val () = d2var_set_type (d2v, s2e2opt_def) val () = d2var_set_mastype (d2v, s2e2opt_def) // val d3e_def = d2exp_trup (d2e_def) // in d3exp_fix (loc0, s2e_def, knd, d2v, d3e_def) end // end of [d2exp_trup_fix] end // end of [local] (* ****** ****** *) implement d2exp_trup_delay (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Edelay (d2e_eval) = d2e0.d2exp_node val fc0 = FUNCLOfun () // HX: this is ignored val lin = 0 val npf = ~1 val p2ts_arg = list_nil {p2at} () val s2ep3tsd3e = d2exp_trup_arg_body (loc0, fc0, lin, npf, p2ts_arg, d2e_eval) val s2e_fun = s2ep3tsd3e.0 val p3ts_arg = s2ep3tsd3e.1 val d3e_eval = s2ep3tsd3e.2 // val s2e_eval = d3exp_get_type (d3e_eval) val s2e_lazy = s2exp_lazy_t0ype_type (s2e_eval) // val islin = s2exp_is_lin (s2e_eval) val () = if islin then let val () = prerr_error3_loc (loc0) val () = prerrln! (": it is not allowed to apply $delay to a linear value.") in the_trans3errlst_add (T3E_d3exp_delay (loc0, d3e_eval)) end // end of [val] // in d3exp_delay (loc0, s2e_lazy, d3e_eval) end // end of [d2exp_delay_trup] (* ****** ****** *) implement d2exp_trup_ldelay (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eldelay (d2e_eval, opt) = d2e0.d2exp_node // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // val loc_eval = d2e_eval.d2exp_loc val ctr = c3nstroptref_make_none (loc_eval) val d3e_eval = let val (pfpush | ()) = trans3_env_push () val d3e_eval = d2exp_trup (d2e_eval) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_eval) in d3e_eval end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val () = lstbefitmlst_restore_type (lsbis) // val d2e_free = ( case opt of Some (d2e) => d2e | None () => d2exp_empty (loc_eval) ) : d2exp // end of [val] // val loc_free = d2e_free.d2exp_loc val ctr = c3nstroptref_make_none (loc_free) val d3e_free = let val (pfpush | ()) = trans3_env_push () val s2e_void = s2exp_void_t0ype ((*void*)) val d3e_free = d2exp_trdn (d2e_free, s2e_void) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc_free) in d3e_free end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val invres = i2nvresstate_nil // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // val () = i2nvresstate_update (loc0, invres) // val s2e_eval = d3exp_get_type (d3e_eval) val s2e_lazy = s2exp_lazy_vt0ype_vtype (s2e_eval) // in d3exp_ldelay (loc0, s2e_lazy, d3e_eval, d3e_free) end // end of [d2exp_trup_ldelay] (* ****** ****** *) implement d2exp_trup_for (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Efor (i2nv, init, test, post, body) = d2e0.d2exp_node // in d2exp_trup_loop (loc0, i2nv, Some(init), test, Some(post), body) end // end of [d2exp_trup_for] implement d2exp_trup_while (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Ewhile (i2nv, test, body) = d2e0.d2exp_node // in d2exp_trup_loop (loc0, i2nv, None(*init*), test, None(*post*), body) end // end of [d2exp_trup_while] (* ****** ****** *) implement d2exp_trup_trywith (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Etrywith (r2es, d2e, c2ls) = d2e0.d2exp_node val d3e = d2exp_trup (d2e) val s2e_res = d3exp_get_type (d3e) // val (pfd2v | ()) = the_d2varenv_push_try () val (pfman | ()) = the_pfmanenv_push_try () // val s2e_pat = s2exp_exception_vtype () // end of [val] // val loc = d3e.d3exp_loc val d3e_dummy = d3exp_top (loc, s2e_pat) val d3es = list_sing (d3e_dummy) // val s2es_pat = list_sing (s2e_pat) // val c3ls = c2laulst_trdn ( loc0, CK_case_neg, r2es, c2ls, d3es, s2es_pat, s2e_res ) // end of [val] // val ((*void*)) = the_d2varenv_pop (pfd2v | (*none*)) val ((*void*)) = the_pfmanenv_pop (pfman | (*none*)) // in d3exp_trywith (loc0, d3e, c3ls) end // end of [d2exp_trup_trywith] (* ****** ****** *) implement d2exp_trup_mac (d2e0) = let val-D2Emac (d2m) = d2e0.d2exp_node (* val () = println! ("d2exp_trup: D2Emac: loc0 = ", d2e0.d2exp_loc) *) val d2e_mac = $MAC.dmacro_eval_app_short (d2e0.d2exp_loc, d2m, list_nil(*d2as*)) // end of [val] (* val () = println! ("d2exp_trup: D2Emac: loc_mac = ", d2e_mac.d2exp_loc) *) in d2exp_trup (d2e_mac) end // end of [D2Emac] implement d2exp_trup_macsyn (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Emacsyn (knd, d2e) = d2e0.d2exp_node // (* val () = ( println! ("d2exp_trup: D2Emacsyn: knd = ", knd); println! ("d2exp_trup: D2Emacsyn: d2e = ", d2e); ) (* end of [val] *) *) // val d2e_mac = ( // case+ knd of | $SYN.MSKdecode () => $MAC.dmacro_eval_decode (d2e) | $SYN.MSKxstage () => $MAC.dmacro_eval_xstage (d2e) | $SYN.MSKencode () => let val () = prerr_errmac_loc(loc0) val () = prerrln! ": the macro syntax `(...) is used incorrectly." in d2exp_errexp (loc0) end // end of [MSKINDencode] // ) : d2exp // end of [val] // (* val () = println! ("d2exp_trup: D2Emacsyn: d2e_mac = ", d2e_mac) *) // in d2exp_trup (d2e_mac) end // end of [d2exp_trup_macsyn] (* ****** ****** *) implement d2exp_trup_solassert (d2e0) = let // val loc0 = d2e0.d2exp_loc // val- D2Esolassert (d2e_prf) = d2e0.d2exp_node // val d3e_prf = d2exp_trup(d2e_prf) val s2e_prop = d3exp_get_type(d3e_prf) // (* val () = println! ("d2exp_trup: D2Esolassert: s2e_prop = ", s2e_prop) // end of [val] *) // val ((*added*)) = trans3_env_solver_assert (loc0, s2e_prop) // in d3exp_empty (loc0, s2exp_void_t0ype()) end // end of [D2Esolassert] (* ****** ****** *) implement d2exp_trup_solverify (d2e0) = let // val loc0 = d2e0.d2exp_loc // val- D2Esolverify (s2e_prop) = d2e0.d2exp_node // (* val () = println! ("d2exp_trup: D2Esolverify: s2e_prop = ", s2e_prop) *) // val s2f_prop = s2exp_hnfize(s2e_prop) // val ((*added*)) = trans3_env_solver_verify (loc0, s2f_prop) // in d3exp_solverify (loc0, s2f_prop) end // end of [D2Esolverify] (* ****** ****** *) (* end of [pats_trans3_dynexp_up.dats] *) ATS2-Postiats-0.2.6/./src/pats_params.hats0000664000175000017500000000340012655455557016715 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2012 // (* ****** ****** *) (* #define FUNCLO_DEFAULT 1 // FUNCLOptr *) #define FUNCLO_DEFAULT ~1 // FUNCLOref (* ****** ****** *) // // HX: this is used in [pats_constraint3_solve.dats] // (* ****** ****** *) // #ifndef C3NSTRINTKND (* #define C3NSTRINTKND "intknd" *) #define C3NSTRINTKND "gmpknd" #endif // end of [ifndef] // (* ****** ****** *) #define CCOMPENV_MAXTMPRECDEPTH 100 (* ****** ****** *) (* end of [pats_params.hats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_tmpvar.dats0000664000175000017500000001762612655455557020137 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) local typedef tmpvar = '{ tmpvar_loc= location , tmpvar_type= hisexp , tmpvar_ref= int (* 0/1 : val/ref *) , tmpvar_ret= int (* return status *) , tmpvar_topknd= int (* 0/1 : local/top(static) *) , tmpvar_origin= Option (ptr), tmpvar_suffix= int // copy indication , tmpvar_stamp= stamp (* unicity *) } // end of [tmpvar] assume tmpvar_type = tmpvar extern typedef "tmpvar_t" = tmpvar in (* in of [local] *) implement tmpvar_make (loc, hse) = let val stamp = $STMP.tmpvar_stamp_make () in '{ tmpvar_loc= loc , tmpvar_type= hse , tmpvar_ref= 0 (*value*) , tmpvar_ret= 0 (*noret*) , tmpvar_topknd= 0 (*local*) , tmpvar_origin= None (), tmpvar_suffix= 0 // HX: copy indication , tmpvar_stamp= stamp } end // end of [tmpvar_make] (* ****** ****** *) implement tmpvar_get_loc (tmp) = tmp.tmpvar_loc implement tmpvar_get_type (tmp) = tmp.tmpvar_type implement tmpvar_isref (tmp) = tmp.tmpvar_ref > 0 implement tmpvar_isret (tmp) = tmp.tmpvar_ret > 0 implement tmpvar_get_topknd (tmp) = tmp.tmpvar_topknd implement tmpvar_get_origin (tmp) = $UN.cast{tmpvaropt} (tmp.tmpvar_origin) // end of [tmpvar_get_origin] implement tmpvar_get_suffix (tmp) = tmp.tmpvar_suffix implement tmpvar_get_stamp (tmp) = tmp.tmpvar_stamp (* ****** ****** *) implement tmpvar_get_tailcal (tmp) = tmp.tmpvar_ret (* ****** ****** *) implement eq_tmpvar_tmpvar (tmp1, tmp2) = $STMP.eq_stamp_stamp (tmp1.tmpvar_stamp, tmp2.tmpvar_stamp) // end of [eq_tmpvar_tmpvar] implement compare_tmpvar_tmpvar (tmp1, tmp2) = $STMP.compare_stamp_stamp (tmp1.tmpvar_stamp, tmp2.tmpvar_stamp) // end of [compare_tmpvar_tmpvar] (* ****** ****** *) end // end of [local] (* ****** ****** *) // implement print_tmpvar (tmp) = fprint_tmpvar (stdout_ref, tmp) implement prerr_tmpvar (tmp) = fprint_tmpvar (stderr_ref, tmp) // implement fprint_tmpvar (out, tmp) = let val isref = tmpvar_isref (tmp) val isret = tmpvar_isret (tmp) val stamp = tmpvar_get_stamp (tmp) val () = fprint_string (out, "tmp") val () = if isref then fprint_string (out, "ref") val () = if isret then fprint_string (out, "ret") val () = fprint_string (out, "(") val () = $STMP.fprint_stamp (out, stamp) val () = fprint_string (out, ")") in // nothing end // end of [fprint_tmpvar] // implement fprint_tmpvaropt (out, opt) = $UT.fprintopt (out, opt, fprint_tmpvar) // (* ****** ****** *) local extern fun tmpvar_set_ref (tmp: tmpvar, knd: int): void = "patsopt_tmpvar_set_ref" // end of [tmpvar_set_ref] extern fun tmpvar_set_ret (tmp: tmpvar, ret: int): void = "patsopt_tmpvar_set_ret" // end of [tmpvar_set_ret] in (* in of [local] *) implement tmpvar_make_ref (loc, hse) = tmp where { val tmp = tmpvar_make (loc, hse) val () = tmpvar_set_ref (tmp, 1(*ref*)) } // end of [tmpvar_make_ref] implement tmpvar_make_ret (loc, hse) = tmp where { val tmp = tmpvar_make (loc, hse) val () = tmpvar_set_ret (tmp, 1(*ret*)) } // end of [tmpvar_make_ret] implement tmpvar_inc_tailcal (tmp) = ((*void*)) where { val n = tmpvar_get_tailcal (tmp) val () = tmpvar_set_ret (tmp, n+1(*ret*)) } // end of [tmpvar_inc_tailcal] end // end of [local] (* ****** ****** *) implement tmpvar_copy_err (tmp) = tmp (* ****** ****** *) local (* ****** ****** *) staload LS = "libats/SATS/linset_avltree.sats" staload _(*anon*) = "libats/DATS/linset_avltree.dats" assume tmpvarset_vtype = $LS.set (tmpvar) staload LM = "libats/SATS/linmap_avltree.sats" staload _(*anon*) = "libats/DATS/linmap_avltree.dats" assume tmpvarmap_vtype (a:vt@ype) = $LM.map (tmpvar, a) (* ****** ****** *) val cmp = lam ( tmp1: tmpvar, tmp2: tmpvar ) : int = compare_tmpvar_tmpvar (tmp1, tmp2) // end of [val] in (* in of [local] *) implement tmpvarset_vt_nil () = $LS.linset_make_nil () implement tmpvarset_vt_free (xs) = $LS.linset_free (xs) implement tmpvarset_vt_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $LS.linset_insert (xs, x, cmp) } // end of [tmpvarset_vt_add] implement tmpvarset_vt_listize (xs) = $LS.linset_listize (xs) implement tmpvarset_vt_listize_free (xs) = $LS.linset_listize_free (xs) (* ****** ****** *) implement tmpvarmap_vt_nil () = $LM.linmap_make_nil () implement tmpvarmap_vt_free (map) = $LM.linmap_free (map) implement tmpvarmap_vt_search {a} (map, tmp) = $LM.linmap_search_opt (map, tmp, cmp) // end of [tmpvarmap_vt_search] implement tmpvarmap_vt_insert {a} (map, tmp, x) = let var res: a? // uninitialized val ans = $LM.linmap_insert (map, tmp, x, cmp, res) prval () = opt_clear (res) in ans end // end of [tmpvarmap_vt_insert] implement tmpvarmap_vt_remove {a} (map, tmp) = $LM.linmap_remove (map, tmp, cmp) // end of [tmpvarmap_vt_remove] end // end of [local] (* ****** ****** *) implement tmpvar_set_tyclo (tmp, flab) = () where { val hse = hisexp_tyclo (flab) val () = let extern fun tmpvar_set_type (tmp: tmpvar, hse: hisexp): void = "patsopt_tmpvar_set_type" // end of [tmpvar_set_type] in tmpvar_set_type (tmp, hse) end // end of [val] } (* end of [tmpvar_set_tyclo] *) (* ****** ****** *) %{$ ats_void_type patsopt_tmpvar_set_type ( ats_ptr_type tmp, ats_ptr_type hse ) { ((tmpvar_t)tmp)->atslab_tmpvar_type = hse ; return ; } // end of [patsopt_tmpvar_set_type] ats_void_type patsopt_tmpvar_set_ref ( ats_ptr_type tmp, ats_int_type ref ) { ((tmpvar_t)tmp)->atslab_tmpvar_ref = ref ; return ; } // end of [patsopt_tmpvar_set_ref] ats_void_type patsopt_tmpvar_set_ret ( ats_ptr_type tmp, ats_int_type ret ) { ((tmpvar_t)tmp)->atslab_tmpvar_ret = ret ; return ; } // end of [patsopt_tmpvar_set_ret] ats_void_type patsopt_tmpvar_set_topknd ( ats_ptr_type tmp, ats_int_type knd ) { ((tmpvar_t)tmp)->atslab_tmpvar_topknd = knd ; return ; } // end of [patsopt_tmpvar_set_topknd] ats_void_type patsopt_tmpvar_set_origin ( ats_ptr_type tmp, ats_ptr_type opt ) { ((tmpvar_t)tmp)->atslab_tmpvar_origin = opt ; return ; } // end of [patsopt_tmpvar_set_origin] ats_void_type patsopt_tmpvar_set_suffix ( ats_ptr_type tmp, ats_int_type sfx ) { ((tmpvar_t)tmp)->atslab_tmpvar_suffix = sfx ; return ; } // end of [patsopt_tmpvar_set_suffix] %} // end of [%{$] (* ****** ****** *) (* end of [pats_ccomp_tmpvar.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_trywith.dats0000664000175000017500000000507012655455557020326 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2013 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement hidexp_ccomp_ret_trywith (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val lvl0 = the_d2varlev_get () val-HDEtrywith (hde_try, hicls_with) = hde0.hidexp_node // val hse_exn = hisexp_exnconptr val tmp_exn = tmpvar_make (loc0, hse_exn) val pmv_exn = primval_make_tmp (loc0, tmp_exn) // val res_try = instrseq_make_nil () val (pfpush | ()) = ccompenv_push (env) val ((*void*)) = hidexp_ccomp_ret (env, res_try, tmpret, hde_try) val () = ccompenv_pop (pfpush | env) val inss_try = instrseq_get_free (res_try) // val fail = PTCKNTraise (tmpret, pmv_exn) val ibrs_with = hiclaulst_ccomp ( env, lvl0, list_sing(pmv_exn), hicls_with, tmpret, fail ) (* end of [val] *) // val ins_trywith = instr_trywith (loc0, tmp_exn, inss_try, ibrs_with) val ((*void*)) = instrseq_add (res, ins_trywith) // in // nothing end // end of [hidexp_ccomp_ret_case] (* ****** ****** *) (* end of [pats_ccomp_trywith.dats] *) ATS2-Postiats-0.2.6/./src/pats_depgen.dats0000664000175000017500000002327412655455557016703 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: August, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload GLOB = "./pats_global.sats" staload FIL = "./pats_filename.sats" (* ****** ****** *) staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_depgen.sats" (* ****** ****** *) typedef path = string typedef pathlst = List (path) viewtypedef pathlst_vt = List_vt (path) (* ****** ****** *) // extern fun pathtry_givename (given: string): Option_vt (string) // (* ****** ****** *) implement pathtry_givename (given) = let // extern castfn p2s{l:agz} (x: !strptr l):<> string // (* val () = printf ("pathtry_givename: given = %s\n", @(given)) *) // fun loop ( ps: List (string), given: string ) : Option_vt(string) = let in case+ ps of | list_cons (p, ps) => let val pname = $FIL.filename_append (p, given) // end of [val] (* val test = true *) val test = test_file_exists ((p2s)pname) in if test then let val pname_norm = $FIL.path_normalize ((p2s)pname) val () = strptr_free (pname) in Some_vt (pname_norm) end else let val () = strptr_free (pname) in loop (ps, given) end // end of [if] end // end of [list_cons] | list_nil () => None_vt () end // end of [loop] // val knd = $FIL.givename_srchknd (given) // in // case+ knd of | 0 (*local*) => let val fil = $FIL.filename_get_current () val pname = $FIL.filename_get_partname (fil) val pname2 = $FIL.filename_merge (pname, given) val isexi = test_file_exists ((p2s)pname2) in if isexi then let val pname2_norm = $FIL.path_normalize ((p2s)pname2) val () = strptr_free (pname2) in Some_vt (pname2_norm) end else let val () = strptr_free (pname2) in None_vt () end // end of [if] end // end of [0] | _ (*extern*) => loop ($GLOB.the_IATS_dirlst_get (), given) // end // end of [pathtry_givename] (* ****** ****** *) // extern fun pathtry_staloadarg (arg: staloadarg): Option_vt (string) // implement pathtry_staloadarg (arg) = ( case+ arg of | STLDfname (loc, name) => pathtry_givename (name) // end of [STLDfname] | _ => None_vt (*void*) ) (* end of [pathtry_staloadarg] *) // (* ****** ****** *) typedef depgen_ftype (a: type) = (a, &pathlst_vt) -> void // end of [depgen_ftype] (* ****** ****** *) extern fun depgen_d0exp : depgen_ftype (d0exp) extern fun depgen_d0explst : depgen_ftype (d0explst) extern fun depgen_d0expopt : depgen_ftype (d0expopt) extern fun depgen_labd0explst : depgen_ftype (labd0explst) extern fun depgen_d0ecl : depgen_ftype (d0ecl) extern fun depgen_d0eclist : depgen_ftype (d0eclist) extern fun depgen_guad0ecl_node : depgen_ftype (guad0ecl_node) (* ****** ****** *) implement depgen_d0exp (d0e0, res) = let in // case+ d0e0.d0exp_node of // | D0Eide _ => () | D0Edqid _ => () | D0Eopid _ => () // | D0Eidext _ => () // | D0Eint _ => () | D0Echar _ => () | D0Efloat _ => () | D0Estring _ => () // | D0Eempty () => () | D0Ecstsp _ => () | D0Eextval _ => () // | D0Eloopexn _ => () // | D0Efoldat (d0es) => depgen_d0explst (d0es, res) | D0Efreeat (d0es) => depgen_d0explst (d0es, res) // | D0Etmpid _ => () // | D0Elet (d0cs1, d0e2) => let val () = depgen_d0eclist (d0cs1, res) in depgen_d0exp (d0e2, res) end // end of [D0Elet] | D0Edeclseq (d0cs) => depgen_d0eclist (d0cs, res) | D0Ewhere (d0e1, d0cs2) => let val () = depgen_d0eclist (d0cs2, res) in depgen_d0exp (d0e1, res) end // end of [D0Ewhere] // | D0Eapp (d0e1, d0e2) => let val () = depgen_d0exp (d0e1, res) val () = depgen_d0exp (d0e2, res) in // nothing end // end of [D0Eapp] // | D0Elist (npf, d0es) => depgen_d0explst (d0es, res) // | D0Eifhead ( hd, _cond, _then, _else ) => let val () = depgen_d0exp (_cond, res) val () = depgen_d0exp (_then, res) val () = depgen_d0expopt (_else, res) in // nothing end // end of [D0Eifhead] | D0Esifhead ( hd, _cond, _then, _else ) => let val () = depgen_d0exp (_then, res) val () = depgen_d0exp (_else, res) in // nothing end // end of [D0Esifhead] // | D0Elst (lin, elt, d0e) => depgen_d0exp (d0e, res) | D0Etup (knd, npf, d0es) => depgen_d0explst (d0es, res) | D0Erec (knd, npf, ld0es) => depgen_labd0explst (ld0es, res) | D0Eseq (d0es) => depgen_d0explst (d0es, res) // | _ => () // end // end of [depgen_d0exp] (* ****** ****** *) implement depgen_d0explst (xs, res) = ( // case+ xs of | list_cons (x, xs) => let val () = depgen_d0exp (x, res) in depgen_d0explst (xs, res) end // end of [list_cons] | list_nil () => () // ) // end of [depgen_d0explst] implement depgen_d0expopt (opt, res) = ( // case+ opt of | Some (d0e) => depgen_d0exp (d0e, res) | None () => () // ) // end of [depgen_d0expopt] (* ****** ****** *) implement depgen_labd0explst (lxs, res) = ( // case+ lxs of | list_cons (lx, lxs) => let val DL0ABELED (l, x) = lx val () = depgen_d0exp (x, res) in depgen_labd0explst (lxs, res) end // end of [list_cons] | list_nil () => () // ) // end of [depgen_labd0explst] (* ****** ****** *) implement depgen_d0ecl (d0c0, res) = let in // case+ d0c0.d0ecl_node of // | D0Cinclude (pfil, _, given) => let val opt = pathtry_givename (given) in case+ opt of | ~Some_vt (pname) => res := list_vt_cons (pname, res) | ~None_vt ((*void*)) => () end // end of [DOCinclude] // | D0Cstaload (pfil, _, given) => let val opt = pathtry_givename (given) in case+ opt of | ~Some_vt (pname) => res := list_vt_cons (pname, res) | ~None_vt ((*void*)) => () end // end of [D0Cstaload] // | D0Cstaloadloc (pfil, nspace, d0cs) => depgen_d0eclist (d0cs, res) // | D0Clocal (d0cs_head, d0cs_body) => { val () = depgen_d0eclist (d0cs_head, res) val () = depgen_d0eclist (d0cs_body, res) } (* end of [D0Clocal] *) // | D0Cguadecl (knd, gd0c) => depgen_guad0ecl_node (gd0c.guad0ecl_node, res) // end of [D0Cguadecl] // | _ (*rest*) => ((*void*)) // end // end of [depgen_d0ecl] (* ****** ****** *) implement depgen_d0eclist (xs, res) = ( // case+ xs of | list_cons (x, xs) => let val () = depgen_d0ecl (x, res) in depgen_d0eclist (xs, res) end // end of [list_cons] | list_nil () => () // ) // end of [depgen_d0eclist] (* ****** ****** *) implement depgen_guad0ecl_node (x, res) = let in // case+ x of | GD0Cone (gua, d0cs) => depgen_d0eclist (d0cs, res) | GD0Ctwo (gua, d0cs1, d0cs2) => let val () = depgen_d0eclist (d0cs1, res) val () = depgen_d0eclist (d0cs2, res) in // nothing end // end of [GD0Ctwo] | GD0Ccons (gua, d0cs1, knd, x2) => let val () = depgen_d0eclist (d0cs1, res) val () = depgen_guad0ecl_node (x2, res) in // nothing end // end of [GD0Ccons] // end // end of [depgen_guad0ecl_node] (* ****** ****** *) implement depgen_eval (d0cs) = let // var res: pathlst_vt = list_vt_nil val () = depgen_d0eclist (d0cs, res) // in list_vt_reverse (res) end // end of [depgen_eval] (* ****** ****** *) implement fprint_target (out, given) = let // val [n:int] given = string1_of_string (given) // val k = string_index_of_char_from_right (given, '.') // in // case+ 0 of | _ when k >= 0 => let fun fpr {i:nat | i <= n} .. ( out: FILEref , given: string n, k: size_t, i: size_t i ) : void = let val notend = string_isnot_atend (given, i) in if notend then let val c = ( if i = k then '_' else given[i] ) : char // end of [val] in fprint_char (out, c); fpr (out, given, k, i+1) end // end of [if] end (* end of [fpr] *) val k = size_of_ssize (k) in fpr (out, given, k, 0); fprint_string (out, ".o") end // end of [_ when ...] | _ (*notfound*) => fprint_string (out, given) // end // end of [fprint_target] (* ****** ****** *) implement fprint_entlst (out, given, ents) = let // fun loop ( out: FILEref, i: int, ents: pathlst_vt ) : void = let in // case+ ents of | ~list_vt_cons (ent, ents) => let val () = ( if i > 0 then fprint_char (out, ' ') ) : void val () = fprint_string (out, ent) in loop (out, i + 1, ents) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // val () = fprint_target (out, given) val () = fprint_string (out, " : ") val () = loop (out, 0, ents) val () = fprint_newline (out) // in // nothing end // end of [fprint_entlst] (* ****** ****** *) (* end of [pats_depgen.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env.dats0000664000175000017500000013776712655455557017540 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload UT = "./pats_utils.sats" vtypedef charlst_vt = $UT.charlst_vt macdef charset_listize = $UT.charset_listize (* ****** ****** *) staload INTINF = "./pats_intinf.sats" vtypedef intinflst_vt = $INTINF.intinflst_vt macdef intinfset_listize = $INTINF.intinfset_listize (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_env" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" staload "./pats_patcst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload TR2 = "./pats_trans2.sats" staload TRENV2 = "./pats_trans2_env.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement filenv_get_d3eclistopt (fenv) = let val p = $TRENV2.filenv_getref_d3eclistopt (fenv) in $UN.ptrget (p) end // end of [filenv_get_d3eclistopt] (* ****** ****** *) implement c3nstr_prop (loc, s2e) = '{ c3nstr_loc= loc , c3nstr_kind= C3TKmain() , c3nstr_node= C3NSTRprop(s2e) } // end of [c3nstr_prop] implement c3nstr_itmlst (loc, knd, s3is) = '{ c3nstr_loc= loc , c3nstr_kind= knd , c3nstr_node= C3NSTRitmlst (s3is) } // end of [c3nstr_itmlst] implement c3nstr_case_exhaustiveness (loc, casknd, p2tcs) = let val p2tcs = list_vt_copy (p2tcs) in '{ c3nstr_loc= loc , c3nstr_kind= C3TKcase_exhaustiveness (casknd, (l2l)p2tcs) // c3nstr_kind , c3nstr_node= C3NSTRprop(s2exp_bool(false)) } end // end of [c3nstr_case_exhaustiveness] implement c3nstr_termet_isnat (loc, s2e) = '{ c3nstr_loc= loc , c3nstr_kind= C3TKtermet_isnat , c3nstr_node= C3NSTRprop(s2exp_intgte(s2e, s2exp_int(0))) // end of [c3str_node] } // end of [c3nstr_termet_isnat] implement c3nstr_termet_isdec (loc, met, mbd) = '{ c3nstr_loc= loc , c3nstr_kind= C3TKtermet_isdec , c3nstr_node= C3NSTRprop(s2exp_metdec(met, mbd)) } // end of [c3nstr_termet_isdec] (* ****** ****** *) implement c3nstr_solverify (loc, s2e_prop) = let in '{ c3nstr_loc=loc , c3nstr_kind= C3TKsolverify() , c3nstr_node= C3NSTRsolverify(s2e_prop) } end // end of [c3nstr_solverify] (* ****** ****** *) implement c3nstroptref_make_none (loc) = let val ref = ref (None) in '{ c3nstroptref_loc= loc, c3nstroptref_ref= ref } end // end of [c3nstroptref_make_none] (* ****** ****** *) implement h3ypo_prop (loc, s2p) = '{ h3ypo_loc= loc, h3ypo_node = H3YPOprop (s2p) } // end of [h3ypo_prop] implement h3ypo_bind (loc, s2v1, s2f2) = let val s2e2 = s2hnf2exp (s2f2) in '{ h3ypo_loc= loc, h3ypo_node = H3YPObind (s2v1, s2e2) } end // end of [h3ypo_bind] implement h3ypo_eqeq (loc, s2f1, s2f2) = let val s2e1 = s2hnf2exp (s2f1) val s2e2 = s2hnf2exp (s2f2) in '{ h3ypo_loc= loc, h3ypo_node = H3YPOeqeq (s2e1, s2e2) } end // end of [h3ypo_eqeq] (* ****** ****** *) implement s2exp_Var_make_srt (loc, s2t) = let val s2V = s2Var_make_srt (loc, s2t) val () = trans3_env_add_sVar (s2V) in s2exp_Var (s2V) end // end of [s2exp_Var_make_srt] implement s2exp_Var_make_var (loc, s2v) = let (* val () = begin print "s2exp_Var_make_var: s2v = "; print_s2var s2v; print_newline () end // end of [val] *) val s2V = s2Var_make_var (loc, s2v) (* val () = begin print "s2exp_Var_make_var: s2V = "; print_s2Var s2V; print_newline () end // end of [val] *) val () = trans3_env_add_sVar (s2V) in s2exp_Var (s2V) end // end of [s2exp_Var_make_var] (* ****** ****** *) implement stasub_make_svarlst (loc, s2vs) = let (* val () = ( print "stasub_make_svarlst: s2vs = "; print_s2varlst (s2vs); print_newline () ) // end of [val] *) fun loop ( loc: location, s2vs: s2varlst, sub: &stasub ) : void = case+ s2vs of | list_cons (s2v, s2vs) => let val s2e = s2exp_Var_make_var (loc, s2v) // end of [val] val () = stasub_add (sub, s2v, s2e) in loop (loc, s2vs, sub) end // end of [list_cons] | list_nil () => () // end of [loop] // var sub = stasub_make_nil () val () = loop (loc, s2vs, sub) // in sub end // end of [stasub_make_svarlst] (* ****** ****** *) local fun stasub_s2varlst_instantiate_none ( sub: &stasub , locarg: location, s2vs: s2varlst , err: &int // HX: [err] is not used ) : void = let // macdef loop = stasub_s2varlst_instantiate_none // in // case+ s2vs of | list_cons (s2v, s2vs) => let val s2e = s2exp_Var_make_var (locarg, s2v) // end of [val] val () = stasub_add (sub, s2v, s2e) in loop (sub, locarg, s2vs, err) end // end of [list_cons] | list_nil () => () // end of [list_nil] // end // end of [stasub_s2varlst_instantiate_none] fun stasub_s2varlst_instantiate_some ( sub: &stasub , locarg: location, s2vs: s2varlst, s2es: s2explst , err: &int ) : void = let // macdef loop = stasub_s2varlst_instantiate_some // fun auxerr1 ( locarg: location, serr: int ) : void = let val () = prerr_error3_loc (locarg) val () = filprerr_ifdebug "stasub_s2varlst_instantiate_some" val () = prerr ": static arity mismatch" val () = if serr > 0 then prerr ": more arguments are expected." val () = if serr < 0 then prerr ": fewer arguments are expected." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2varlst_instantiate_arity (locarg, serr)) end // end of [auxerr1] fun auxerr2 ( locarg: location, s2t1: s2rt, s2t2: s2rt ) : void = let val () = prerr_error3_loc (locarg) val () = filprerr_ifdebug "stasub_s2varlst_instantiate_some" val () = prerr ": mismatch of sorts:\n" val () = prerrln! ("the needed sort is [", s2t1, "];") val () = prerrln! ("the actual sort is [", s2t2, "].") in the_trans3errlst_add (T3E_s2varlst_instantiate_srtck (locarg, s2t1, s2t2)) end // end of [auxerr2] // in // case+ s2vs of | list_cons (s2v, s2vs) => ( case+ s2es of | list_cons (s2e, s2es) => let val s2t1 = s2var_get_srt (s2v) val s2t2 = s2e.s2exp_srt val ismat = s2rt_ltmat1 (s2t2, s2t1) in if ismat then let val () = stasub_add (sub, s2v, s2e) in loop (sub, locarg, s2vs, s2es, err) end else let val () = err := err + 1 val () = auxerr2 (locarg, s2t1, s2t2) val s2e = s2exp_err (s2t1) val () = stasub_add (sub, s2v, s2e) in loop (sub, locarg, s2vs, s2es, err) end (* end of [if] *) end // end of [list_cons] | list_nil () => let val () = err := err + 1 val () = auxerr1 (locarg, 1) // HX: more arguments expected in // nothing end // end of [list_nil] ) // end of [list_cons] | list_nil () => ( case+ s2es of | list_cons _ => let val () = err := err + 1 val () = auxerr1 (locarg, ~1) // HX: fewer arguments expected in // nothing end // end of [list_cons] | list_nil () => () ) // end of [list_nil] end // end of [stasub_s2varlst_instantiate_some] fun stasub_s2varlst_instcollect ( sub: &stasub , locarg: location, s2vs: s2varlst, res: s2explst_vt ) : s2explst_vt = let // macdef loop = stasub_s2varlst_instcollect // in // case+ s2vs of | list_cons (s2v, s2vs) => let (* val () = ( print "stasub_addsvs: s2v = "; print_s2var s2v; print_newline () ) // end of [val] *) val s2e = s2exp_Var_make_var (locarg, s2v) // end of [val] val () = stasub_add (sub, s2v, s2e) val res = list_vt_cons (s2e, res) in loop (sub, locarg, s2vs, res) end // end of [list_cons] | list_nil () => list_vt_reverse (res) // end // end of [stasub_s2varlst_instcollect] in (* in of [local] *) implement s2exp_exiuni_instantiate_all (knd, s2e0, locarg, err) = let // HX: [err] is not used // fun loop ( sub: &stasub , s2f: s2hnf , s2ps_res: &s2explst_vt , err: &int ) : s2exp = let val s2e = s2hnf2exp (s2f) var s2vs: s2varlst and s2ps: s2explst var s2e1: s2exp // scope val ans = uns2exp_exiuni (knd, s2e, s2vs, s2ps, s2e1) in // case+ ans of | true => let // HX: [sub] should be properly extended first val () = stasub_s2varlst_instantiate_none (sub, locarg, s2vs, err) val s2ps = s2explst_subst_vt (sub, s2ps) val () = s2ps_res := list_vt_reverse_append (s2ps, s2ps_res) val s2f1 = s2exp2hnf (s2e1) in loop (sub, s2f1, s2ps_res, err) end // end of [S2Euni/S2Eexi] | false => s2exp_subst (sub, s2e) // end // end of [loop] // var sub : stasub = stasub_make_nil () // end of [var] val s2f0 = s2exp2hnf (s2e0) var s2ps_res: s2explst_vt = list_vt_nil () val s2e_res = loop (sub, s2f0, s2ps_res, err) val () = stasub_free (sub) val s2ps_res = list_vt_reverse (s2ps_res) // in (s2e_res, s2ps_res) end // end of [s2exp_exiuni_instantiate_all] implement s2exp_exi_instantiate_all (s2e0, locarg, err) = s2exp_exiuni_instantiate_all (0, s2e0, locarg, err) // end of [s2exp_exi_instantiate_all] implement s2exp_uni_instantiate_all (s2e0, locarg, err) = s2exp_exiuni_instantiate_all (1, s2e0, locarg, err) // end of [s2exp_uni_instantiate_all] implement s2exp_unimet_instantiate_all (s2e0, locarg, err) = let val (s2e, s2ps_fst) = s2exp_uni_instantiate_all (s2e0, locarg, err) val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) in // case s2e.s2exp_node of | S2Emetfun (opt, s2es_met, s2e) => ( case+ opt of | Some stamp => let val () = s2exp_termet_instantiate (locarg, stamp, s2es_met) val (s2e, s2ps_rest) = s2exp_uni_instantiate_all (s2e, locarg, err) val s2ps_all = ( case+ s2ps_rest of | list_vt_cons _ => let prval () = fold@ (s2ps_rest) in list_vt_append (s2ps_fst, s2ps_rest) end // end of [list_vt_cons] | ~list_vt_nil () => s2ps_fst ) : s2explst_vt // end of [val] in (s2e, s2ps_all) end // end of [S2Emetfun] | None () => (s2e, s2ps_fst) ) // end of [S2Emetfun] | _ => (s2e, s2ps_fst) // end // end of [s2exp_unimet_instantiate_all] (* ****** ****** *) implement s2exp_exi_instantiate_sexparg (s2e0, s2a, err) = let // val locarg = s2a.s2exparg_loc // fun auxerr ( locarg: location ) : void = let val () = prerr_error3_loc(locarg) val () = filprerr_ifdebug "s2exp_exi_instantiate_sexparg" val () = prerrln! ": the static abstraction is overly done." in the_trans3errlst_add(T3E_s2varlst_instantiate_nabs(locarg, 1)) end (* end of [auxerr] *) // in // case+ s2a.s2exparg_node of (* case+ *) // | S2EXPARGall () => s2exp_exi_instantiate_all (s2e0, locarg, err) // end of [S2EXPARGall] // | S2EXPARGone () => let val s2e0 = s2exp_hnfize (s2e0) in case+ s2e0.s2exp_node of // case+ | S2Eexi ( s2vs, s2ps, s2e1 ) => let var sub: stasub = stasub_make_nil () val () = stasub_s2varlst_instantiate_none (sub, locarg, s2vs, err) val s2e1 = s2exp_subst (sub, s2e1) val s2ps = s2explst_subst_vt (sub, s2ps) val ((*freed*)) = stasub_free (sub) in (s2e1, s2ps) end // end of [S2Eexi] | _ (*non-S2Eexi*) => let val () = err := err + 1 val () = auxerr (locarg) in (s2e0, list_vt_nil) end // end of [_] end // | S2EXPARGseq (s2es) => let val s2e0 = s2exp_hnfize (s2e0) in case+ s2e0.s2exp_node of // case+ | S2Eexi ( s2vs, s2ps, s2e1 ) => let var sub: stasub = stasub_make_nil () val () = stasub_s2varlst_instantiate_some (sub, locarg, s2vs, s2es, err) val s2e1 = s2exp_subst (sub, s2e1) val s2ps = s2explst_subst_vt (sub, s2ps) val () = stasub_free (sub) in (s2e1, s2ps) end // end of [S2Eexi] | _ (*non-S2Eexi*) => let val () = err := err + 1 val () = auxerr (locarg) in (s2e0, list_vt_nil) end (* end of [_] *) end // end of [S2EXPARGseq] // end // end of [s2exp_exi_instantiate_sexparg] (* ****** ****** *) implement s2exp_uni_instantiate_sexparglst (s2e0, s2as, err) = let // fun auxerr ( locarg: location ) : void = let val () = prerr_error3_loc (locarg) val () = filprerr_ifdebug "s2exp_uni_instantiate_sexparglst" val () = prerr ": the static application is overly done." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2varlst_instantiate_napp (locarg, 1)) end (* end of [auxerr] *) // fun loop ( sub: &stasub , s2f: s2hnf , s2ps_res: &s2explst_vt , s2as: s2exparglst , err: &int ) : s2exp = let val s2e = s2hnf2exp (s2f) in // case+ s2as of | list_cons (s2a, s2as1) => let val locarg = s2a.s2exparg_loc in case+ s2a.s2exparg_node of | S2EXPARGall () => ( case+ s2e.s2exp_node of | S2Euni (s2vs, s2ps, s2e1) => let // HX: [sub] should be properly extended first val () = stasub_s2varlst_instantiate_none (sub, locarg, s2vs, err) val s2ps = s2explst_subst_vt (sub, s2ps) val () = s2ps_res := list_vt_reverse_append (s2ps, s2ps_res) val s2f1 = s2exp2hnf (s2e1) in loop (sub, s2f1, s2ps_res, s2as, err) end | _ => loop (sub, s2f, s2ps_res, s2as1, err) ) // end of [S2EXPARGall] | S2EXPARGone () => ( case+ s2e.s2exp_node of | S2Euni (s2vs, s2ps, s2e1) => let // HX: [sub] should be properly extended first val () = stasub_s2varlst_instantiate_none (sub, locarg, s2vs, err) val s2ps = s2explst_subst_vt (sub, s2ps) val () = s2ps_res := list_vt_reverse_append (s2ps, s2ps_res) val s2f1 = s2exp2hnf (s2e1) in loop (sub, s2f1, s2ps_res, s2as1, err) end // end of [S2Euni] | _ => let val () = err := err + 1 val () = auxerr (locarg) in loop (sub, s2f, s2ps_res, s2as1, err) end (* end of [_] *) ) // end of [S2EXPARGone] | S2EXPARGseq (s2es) => ( case+ s2e.s2exp_node of | S2Euni (s2vs, s2ps, s2e1) => let // HX: [sub] should be properly extended first val () = stasub_s2varlst_instantiate_some (sub, locarg, s2vs, s2es, err) val s2ps = s2explst_subst_vt (sub, s2ps) val () = s2ps_res := list_vt_reverse_append (s2ps, s2ps_res) val s2f1 = s2exp2hnf (s2e1) in loop (sub, s2f1, s2ps_res, s2as1, err) end // end of [S2Euni] | _ => let val () = err := err + 1 val () = auxerr (locarg) in loop (sub, s2f, s2ps_res, s2as1, err) end (* end of [_] *) ) // end of [S2EXPARGseq] end // end of [list_cons] | list_nil () => let val s2e = s2hnf2exp (s2f) in s2exp_subst (sub, s2e) end // end of [list_nil] // end // end of [loop] // var sub : stasub = stasub_make_nil () // end of [var] val s2f0 = s2exp2hnf (s2e0) var s2ps_res: s2explst_vt = list_vt_nil () val s2e_res = loop (sub, s2f0, s2ps_res, s2as, err) val () = stasub_free (sub) val s2ps_res = list_vt_reverse (s2ps_res) // in (s2e_res, s2ps_res) end // end of [s2exp_uni_instantiate_sexparglst] (* ****** ****** *) implement s2exp_tmp_instantiate_rest (s2e_tmp, locarg, s2qs, nerr) = let // fun loop ( locarg: location , sub: &stasub , s2qs: s2qualst , t2mas: t2mpmarglst_vt , nerr: &int // HX: unused ) : t2mpmarglst_vt = let in case+ s2qs of | list_nil() => list_vt_reverse (t2mas) // end of [list_nil] | list_cons(s2q, s2qs) => let // val s2vs = s2q.s2qua_svs val () = assertloc(list_is_nil(s2q.s2qua_sps)) // val s2es = stasub_s2varlst_instcollect(sub, locarg, s2vs, list_vt_nil) // val t2ma = t2mpmarg_make (locarg, (l2l)s2es) val t2mas = list_vt_cons (t2ma, t2mas) // in loop (locarg, sub, s2qs, t2mas, nerr) end // end of [list_cons] end // end of [loop] // var sub : stasub = stasub_make_nil () // end of [var] // val t2mas = loop ( locarg, sub, s2qs, list_vt_nil, nerr ) (* end of [val] *) // val s2e_res = s2exp_subst (sub, s2e_tmp) // val ((*freed*)) = stasub_free (sub) // in (s2e_res, (l2l)t2mas) end // end of [s2exp_tmp_instantiate_rest] (* ****** ****** *) implement s2exp_tmp_instantiate_tmpmarglst (s2e_tmp, locarg, s2qs, t2mas, nerr) = let // fun auxerr ( locarg: location ) : void = let val () = prerr_error3_loc (locarg) val () = filprerr_ifdebug "s2exp_tmp_instantiate_tmpmarglst" val () = prerrln! ": the template instantiation is overly done." in the_trans3errlst_add(T3E_s2varlst_instantiate_napp(locarg, 1)) end (* end of [auxerr] *) // var locarg: location = locarg // fun auxsome ( sub: &stasub , locarg: &location , s2qs: s2qualst , t2mas: t2mpmarglst , nerr: &int ) : s2qualst = let in // case+ s2qs of | list_nil () => ( case+ t2mas of | list_nil() => list_nil () | list_cons(t2ma, t2mas) => let val () = nerr := nerr + 1 val () = locarg := t2ma.t2mpmarg_loc val () = auxerr (locarg) in auxsome (sub, locarg, s2qs, t2mas, nerr) end // end of [list_cons] ) (* end of [list_nil] *) | list_cons(s2q, s2qs1) => ( case+ t2mas of | list_nil() => s2qs | list_cons(t2ma, t2mas) => let // val s2vs = s2q.s2qua_svs val () = assertloc(list_is_nil(s2q.s2qua_sps)) // val s2es = t2ma.t2mpmarg_arg val () = locarg := t2ma.t2mpmarg_loc // val () = stasub_s2varlst_instantiate_some (sub, locarg, s2vs, s2es, nerr) // in auxsome (sub, locarg, s2qs1, t2mas, nerr) end // end of [list_cons] ) (* end of [list_cons] *) // end // end of [auxsome] // var sub : stasub = stasub_make_nil() // end of [var] val s2qs = auxsome ( sub, locarg, s2qs, t2mas, nerr ) (* end of [val] *) // val s2e_res = s2exp_subst (sub, s2e_tmp) // val ((*freed*)) = stasub_free (sub) // in // case+ s2qs of // | list_nil() => (s2e_res, t2mas) // | list_cons _ => let val locarg = $LOC.location_rightmost (locarg) val (s2e2_res, t2mas2) = s2exp_tmp_instantiate_rest (s2e_res, locarg, s2qs, nerr) in (s2e2_res, list_append (t2mas, t2mas2)) end // end of [list_cons] // end // end of [s2exp_tmp_instantiate_tmpmarglst] end // end of [local] (* ****** ****** *) extern fun the_s2Varset_env_push (): void extern fun the_s2Varset_env_pop (): s2Varset extern fun the_s2Varset_env_get (): s2Varset extern fun the_s2Varset_env_add (x: s2Var): void local // vtypedef s2Varsetlst_vt = List_vt(s2Varset) // val s2Varset_nil = s2Varset_nil () val the_s2Varset = ref_make_elt (s2Varset_nil) val the_s2Varsetlst = ref_make_elt (list_vt_nil ()) // in (* in of [local] *) implement the_s2Varset_env_get () = !the_s2Varset implement the_s2Varset_env_add (x) = begin !the_s2Varset := s2Varset_add (!the_s2Varset, x) end // end of [the_s2Varset_env_add] implement the_s2Varset_env_push () = let val xs = !the_s2Varset val (vbox pf | pp) = ref_get_view_ptr (the_s2Varsetlst) val () = !pp := list_vt_cons (xs, !pp) in // nothing end // end of [the_s2Varset_env_push] implement the_s2Varset_env_pop () = let val s2Vs = let val (vbox pf | pp) = ref_get_view_ptr (the_s2Varsetlst) in case+ !pp of | ~list_vt_cons (xs, xss) => let val () = !pp := xss in xs end | list_vt_nil () => let prval () = fold@ (!pp) in s2Varset_nil end end : s2Varset val xs = !the_s2Varset val () = !the_s2Varset := s2Vs in xs end // end of [the_s2Varset_env_pop] end // end of [local] (* ****** ****** *) // // HX: // it is declared in [pats_staexp2_util.sats] // implement s2exp_hnfize_flag_svar (s2e0, s2v, flag) = let // (* val () = ( print ("s2exp_hnfize_flag_svar: s2v = ", s2v) ) (* end of [val] *) *) // val ans = the_s2varbindmap_search (s2v) // in // case+ ans of | ~None_vt () => s2e0 | ~Some_vt s2e => let val () = flag := flag + 1 in s2exp_hnfize (s2e) end // end of [Some_vt] // end // end of [s2exp_hnfize_flag_svar] (* ****** ****** *) local // typedef aux1_type ( a:type ) = (s2var, a) -> bool // extern fun aux1_s2exp: aux1_type(s2exp) and aux1_s2explst: aux1_type(s2explst) and aux1_s2explstlst: aux1_type(s2explstlst) // extern fun aux1_s2var: aux1_type(s2var) // in (* in-of-local *) implement aux1_s2exp (s2v0, s2e0) = let // (* val () = println! ("aux1_s2exp: s2v0 = ", s2v0) val () = println! ("aux1_s2exp: s2e0 = ", s2e0) *) // in // case+ s2e0.s2exp_node of // case+ (* // | S2Eint _ => false | S2Eintinf _ => false // | S2Efloat _ => false | S2Estring _ => false // | S2Ecst(s2c) => false // *) | S2Evar(s2v) => if (s2v0 = s2v) then true else aux1_s2var(s2v0, s2v) // end of [if] // | S2Eapp(s2e, s2es) => if aux1_s2exp(s2v0, s2e) then true else aux1_s2explst(s2v0, s2es) // end of [if] // end of [S2Eapp] // | S2Eextype (_(*name*), s2ess) => aux1_s2explstlst (s2v0, s2ess) | S2Eextkind (_(*name*), s2ess) => aux1_s2explstlst (s2v0, s2ess) // | S2Esizeof(s2e) => aux1_s2exp(s2v0, s2e) // | S2Eeqeq(s2e1, s2e2) => if aux1_s2exp(s2v0, s2e1) then true else aux1_s2exp(s2v0, s2e2) // end of [if] // end of [S2Eeqeq] // | S2Einvar(s2e) => aux1_s2exp(s2v0, s2e) | S2Erefarg (_, s2e) => aux1_s2exp(s2v0, s2e) // | S2Elam(s2vs, s2e) => aux1_s2exp(s2v0, s2e) // | S2Efun( fc, lin, s2fe , npf, s2es_arg, s2e_res ) => if aux1_s2explst(s2v0, s2es_arg) then true else aux1_s2exp(s2v0, s2e_res) // end of [if] // end of [S2Efun] // | _ (* rest-of-S2E *) => false // end // end of [aux1_s2exp] implement aux1_s2explst (s2v0, s2es) = ( case+ s2es of | list_nil() => false | list_cons(s2e, s2es) => if aux1_s2exp(s2v0, s2e) then true else aux1_s2explst(s2v0, s2es) // end of [if] // end of [list_cons] ) implement aux1_s2explstlst (s2v0, s2ess) = ( case+ s2ess of | list_nil() => false | list_cons(s2es, s2ess) => if aux1_s2explst(s2v0, s2es) then true else aux1_s2explstlst(s2v0, s2ess) // end of [if] // end of [list_cons] ) implement aux1_s2var (s2v0, s2v) = let // val ans = the_s2varbindmap_search (s2v) // in // case+ ans of | ~None_vt() => false | ~Some_vt(s2e) => aux1_s2exp(s2v0, s2e) // end // end of [aux1_s2var] (* ****** ****** *) implement s2var_occurcheck_s2exp (s2v0, s2e0) = let // (* val () = println! ("s2var_occurcheck_s2exp: s2v0 = ", s2v0) val () = println! ("s2var_occurcheck_s2exp: s2e0 = ", s2e0) *) // in // aux1_s2exp (s2v0, s2e0) // end // end of [s2var_occurcheck_s2exp] end // end of [local] (* ****** ****** *) // extern fun the_s3itmlst_env_push(): void // extern fun the_s3itmlst_env_pop (): s3itmlst_vt extern fun the_s3itmlst_env_add (s3i: s3itm): void // (* ****** ****** *) local // vtypedef s3itmlstlst_vt = List_vt (s3itmlst_vt) // val the_s3itmlst = ref_make_elt (list_vt_nil ()) val the_s3itmlstlst = ref_make_elt (list_vt_nil ()) // in (* in of [local] *) implement the_s3itmlst_env_push ((*void*)) = let val s3is = s3is where { val (vbox pf | p) = ref_get_view_ptr (the_s3itmlst) val s3is = !p val () = !p := list_vt_nil () } // end of [val] val () = let val (vbox pf | pp) = ref_get_view_ptr (the_s3itmlstlst) in !pp := list_vt_cons (s3is, !pp) end // end of [val] in // nothing end // end of [the_s3itmlst_env_push] implement the_s3itmlst_env_pop () = let val s3is = let val (vbox pf | pp) = ref_get_view_ptr (the_s3itmlstlst) in case+ !pp of | ~list_vt_cons (xs, xss) => let val () = !pp := xss in xs end | list_vt_nil () => let prval () = fold@ (!pp) in list_vt_nil end end : s3itmlst_vt val s3is = xs where { val (vbox pf | p) = ref_get_view_ptr (the_s3itmlst) val xs = !p val () = !p := s3is } // end of [val] in list_vt_reverse (s3is) end // end of [the_s3itmlst_env_pop] implement the_s3itmlst_env_add (s3i) = let val (vbox pf | p) = ref_get_view_ptr (the_s3itmlst) in !p := list_vt_cons (s3i, !p) end // end of [the_s3itmlst_env_add] (* ****** ****** *) implement fprint_the_s3itmlst (out) = let // val s3is = let val (vbox pf | p) = ref_get_view_ptr (the_s3itmlst) in $UN.castvwtp1{s3itmlst}(!p) end // end of [val] // in fprint_s3itmlst (out, s3is) end // end of [fprint_the_s3itmlst] implement fprint_the_s3itmlstlst (out) = let // val s3iss = let val (vbox pf | pp) = ref_get_view_ptr (the_s3itmlstlst) in $UN.castvwtp1{s3itmlstlst}(!pp) end // end of [val] // in fprint_s3itmlstlst (out, s3iss) end // end of [fprint_the_s3itmlstlst] end // end of [local] (* ****** ****** *) implement trans3_env_add_svar (s2v) = () where { val s3i = S3ITMsvar (s2v) val () = the_s3itmlst_env_add (s3i) } // end of [trans3_env_add_svar] implement trans3_env_add_svarlst (s2vs) = list_app_fun (s2vs, trans3_env_add_svar) // end of [trans3_env_add_svarlst] (* ****** ****** *) implement trans3_env_add_squa (s2q) = () where { val () = trans3_env_add_svarlst (s2q.s2qua_svs) } // end of [trans3_env_add_svar] implement trans3_env_add_squalst (s2qs) = list_app_fun (s2qs, trans3_env_add_squa) // end of [trans3_env_add_squalst] (* ****** ****** *) implement trans3_env_add_sp2at (sp2t) = ( case+ sp2t.sp2at_node of | SP2Tcon (s2c, s2vs) => trans3_env_add_svarlst (s2vs) | SP2Terr () => () ) // end of [trans3_env_add_sp2at] (* ****** ****** *) implement trans3_env_add_sVar (s2V) = () where { val s3i = S3ITMsVar (s2V) // val () = the_s2Varset_env_add (s2V) // val () = the_s3itmlst_env_add (s3i) // } // end of [trans3_env_add_sVar] implement trans3_env_add_sVarlst (s2Vs) = list_app_fun (s2Vs, trans3_env_add_sVar) // end of [trans3_env_add_sVarlst] implement trans3_env_add_cnstr (c3t) = () where { val () = the_s3itmlst_env_add (S3ITMcnstr (c3t)) } // end of [trans3_env_add_cnstr] implement trans3_env_add_cnstr_ref (ref) = () where { val () = the_s3itmlst_env_add (S3ITMcnstr_ref (ref)) } // end of [trans3_env_add_cnstr_ref] (* ****** ****** *) implement trans3_env_add_prop (loc, s2p) = case+ s2p.s2exp_node of | _ => let val c3t = c3nstr_prop (loc, s2p) in trans3_env_add_cnstr (c3t) end // end of [_] // end of [trans3_env_add_prop] implement trans3_env_add_proplst (loc, s2ps) = case+ s2ps of | list_cons (s2p, s2ps) => ( trans3_env_add_prop (loc, s2p); trans3_env_add_proplst (loc, s2ps) ) // end of [list_cons] | list_nil () => () // end of [trans3_env_add_proplst] implement trans3_env_add_proplst_vt (loc, s2ps) = () where { val () = trans3_env_add_proplst (loc, $UN.castvwtp1 {s2explst} (s2ps)) val () = list_vt_free (s2ps) } // end of [trans3_env_add_proplst_vt] (* ****** ****** *) implement trans3_env_add_eqeq (loc, s2e1, s2e2) = let (* val () = ( println! ("trans3_env_add_eqeq: s2e1 = ", s2e1); println! ("trans3_env_add_eqeq: s2e2 = ", s2e2); ) // end of [val] *) val s2p = s2exp_eqeq (s2e1, s2e2) in trans3_env_add_prop (loc, s2p) end // end of [trans3_env_add_eqeq] (* ****** ****** *) // // HX: for checking pattern matching exhaustiveness // implement trans3_env_add_patcstlstlst_false (loc0, casknd, cp2tcss, s2es) = let // fun loop ( xss: p2atcstlstlst_vt ) : void = ( case+ xss of | ~list_vt_nil () => () | ~list_vt_cons (xs, xss) => let val (pfpush | ()) = trans3_env_push () val c3t = c3nstr_case_exhaustiveness (loc0, casknd, xs) // end of [val] val () = trans3_env_hypadd_patcstlst (loc0, xs, s2es) val () = trans3_env_add_cnstr (c3t) val () = trans3_env_pop_and_add_main (pfpush | loc0) in loop (xss) end // end of [list_cons] ) (* end of [aux] *) // in loop (cp2tcss) end // end of [trans3_env_add_patcstlstlst_false] (* ****** ****** *) implement trans3_env_hypadd_prop (loc, s2p) = let (* // val () = println! ("trans3_env_hypadd_prop: s2p = ", s2p) // *) // val h3p = h3ypo_prop (loc, s2p) // val s3i = S3ITMhypo (h3p) // in the_s3itmlst_env_add (s3i) end // end of [trans3_env_hypadd_prop] implement trans3_env_hypadd_proplst (loc, s2ps) = case+ s2ps of | list_nil() => () | list_cons(s2p, s2ps) => ( trans3_env_hypadd_prop (loc, s2p); trans3_env_hypadd_proplst (loc, s2ps) ) // end of [list_cons] // end of [trans3_env_hypadd_proplst] implement trans3_env_hypadd_proplst_vt (loc, s2ps) = () where { val () = trans3_env_hypadd_proplst (loc, $UN.castvwtp1 {s2explst} (s2ps)) val () = list_vt_free (s2ps) } // end of [trans3_env_hypadd_proplst_vt] (* ****** ****** *) implement trans3_env_hypadd_propopt (loc, opt) = ( case+ opt of | None () => () | Some (s2p) => trans3_env_hypadd_prop (loc, s2p) ) // end of [trans3_env_hypadd_propopt] implement trans3_env_hypadd_propopt_neg (loc, opt) = ( case+ opt of | None () => () | Some (s2p) => trans3_env_hypadd_prop (loc, s2exp_bneg (s2p)) // end of [Some] ) // end of [trans3_env_hypadd_propopt] (* ****** ****** *) implement trans3_env_hypadd_bind (loc, s2v1, s2f2) = let // // HX: [s2v1] cannot be bound at this point // (* val () = ( print "trans3_env_hypadd_bind: s2v1 = "; print_s2var s2v1; print_newline (); print "trans3_env_hypadd_bind: s2f2 = "; pprint_s2hnf s2f2; print_newline (); ) (* end of [val] *) *) // val () = the_s2varbindmap_insert (s2v1, s2f2) // val h3p = h3ypo_bind (loc, s2v1, s2f2) // val s3i = S3ITMhypo (h3p) // in the_s3itmlst_env_add (s3i) end // end of [trans3_env_hypadd_bind] implement trans3_env_hypadd_eqeq (loc, s2f1, s2f2) = let val s2e1 = s2hnf2exp (s2f1) val s2e2 = s2hnf2exp (s2f2) in // case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of // case+ (* | (S2Evar (s2v1), _) => trans3_env_hypadd_bind (loc, s2v1, s2f2) | (_, S2Evar (s2v2)) => trans3_env_hypadd_bind (loc, s2v2, s2f1) *) | (_, _) => let val h3p = h3ypo_eqeq (loc, s2f1, s2f2) // end of [val] in the_s3itmlst_env_add (S3ITMhypo (h3p)) end (* end of [_, _] *) // end // end of [trans3_env_hypadd_eqeq] (* ****** ****** *) implement trans3_env_hypadd_patcst (loc0, p2tc, s2e0) = let // val s2f0 = s2exp2hnf (s2e0) // val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) // (* val () = println! ("trans3_env_hypadd_patcst: p2tc = ", p2tc) *) // in // case+ p2tc of // | P2TCany () => () // | P2TCcon (d2c, p2tcs) => let in case+ s2e.s2exp_node of | S2Edatcontyp (d2c1, _) => ( if (d2c != d2c1) then trans3_env_hypadd_prop (loc0, s2exp_bool (false)) else () // end of [if] ) // end of [S2Edatcontyp] | _ (*non-datcon*) => let val @(s2qs_d2c, s2e_d2c) = $TR2.d2con_instantiate (loc0, d2c) val-S2Efun (_, _, _, _, s2es_fun_arg, s2e_fun_res) = s2e_d2c.s2exp_node (* val () = ( print "trans3_env_hypadd_patcst: s2vpss_d2c = "; print_s2qualst s2vpss_d2c; print_newline (); print "trans3_env_hypadd_patcst: s2es_fun_arg = "; print_s2explst s2es_fun_arg; print_newline (); print "trans3_env_hypadd_patcst: s2e_fun_res = "; print_s2exp s2e_fun_res; print_newline (); end (* end of [val] *) *) val () = let fun loop ( loc0: location, s2qs: s2qualst ) : void = case+ s2qs of | list_nil () => () | list_cons (s2q, s2qs) => let val () = trans3_env_add_svarlst (s2q.s2qua_svs) val () = trans3_env_hypadd_proplst (loc0, s2q.s2qua_sps) in loop (loc0, s2qs) end // end of [list_cons] // end of [loop] in loop (loc0, s2qs_d2c) end // end of [val] val () = $SOL.s2exp_hypequal_solve (loc0, s2e_fun_res, s2e) val p2tcs = list_copy (p2tcs) in trans3_env_hypadd_patcstlst (loc0, p2tcs, s2es_fun_arg) end // end of [_] // end of [case-of] end // end of [P2TCcon] // | P2TCempty _ => () // | P2TCint (i) => let val opt = un_s2exp_g1int_index_t0ype (s2f) in case+ opt of | ~None_vt () => () | ~Some_vt (s2e_arg) => $SOL.s2exp_hypequal_solve (loc0, s2e_arg, s2exp_intinf (i)) // end of [Some_vt] end // end of [P2TCint] // | P2TCintc (xs) => let val opt = un_s2exp_g1int_index_t0ype (s2f) in case+ opt of | ~None_vt () => () | ~Some_vt (s2e_arg) => let fun aux ( xs: intinflst_vt ) : void = ( case+ xs of | ~list_vt_nil () => () | ~list_vt_cons (x, xs) => let val s2p = s2exp_intneq (s2e_arg, s2exp_intinf x) // end of [val] val () = trans3_env_hypadd_prop (loc0, s2p) in aux (xs) end // end of [list_vt_cons] ) (* end of [aux] *) in let val xs = intinfset_listize (xs) in aux (xs) end end // end of [Some_vt] end // end of [P2Tintc] // | P2TCbool (b) => let val opt = un_s2exp_bool_index_t0ype (s2f) in case+ opt of | ~None_vt () => () // end of [None_vt] | ~Some_vt (s2e_arg) => $SOL.s2exp_hypequal_solve (loc0, s2e_arg, s2exp_bool (b)) // end of [Some_vt] end // end of [P2TCbool] // | P2TCchar (c) => let val opt = un_s2exp_char_index_t0ype (s2f) in case+ opt of | ~None_vt () => () | ~Some_vt (s2e_arg) => $SOL.s2exp_hypequal_solve (loc0, s2e_arg, s2exp_int_char (c)) // end of [Some_vt] end // end of [P2TCchar] // | P2TCcharc (xs) => let val opt = un_s2exp_char_index_t0ype (s2f) in case+ opt of | ~None_vt () => () | ~Some_vt (s2e_arg) => let fun aux ( xs: charlst_vt ) : void = ( case+ xs of | ~list_vt_nil () => () | ~list_vt_cons (x, xs) => let val s2p = s2exp_intneq (s2e_arg, s2exp_int_char x) // end of [val] val () = trans3_env_hypadd_prop (loc0, s2p) in aux (xs) end // end of [list_vt_cons] ) (* end of [aux] *) in let val xs = charset_listize (xs) in aux (xs) end end // end of [Some_vt] end // end of [P2Tcharc] // | P2TCfloat (rep) => () | P2TCstring (str) => () // | P2TCrec (knd, lp2tcs) => let in case+ s2e.s2exp_node of | S2Etyrec (_, _, ls2es) => let val lp2tcs = list_copy (lp2tcs) in trans3_env_hypadd_labpatcstlst (loc0, lp2tcs, ls2es) end // end of [S2Etyrec] | _ (*non-tyrec*) => ((*void*)) end // end of [P2TCrec] // (* | _ => let val () = ( println! "trans3_env_hypadd_patcst: p2tc = "; p2tc) ) (* end of [val] *) val () = assertloc (false) in exit (1) end (* end of [_] *) *) end // end of [trans3_env_hypadd_patcst] (* ****** ****** *) implement trans3_env_hypadd_patcstlst (loc0, cp2tcs, s2es_pat) = let // fun loop ( p2tcs: p2atcstlst_vt, s2es: s2explst, serr: int ) : int = let in // case+ p2tcs of | ~list_vt_nil () => ( case+ s2es of | list_cons (_, s2es) => loop (list_vt_nil, s2es, serr - 1) | list_nil () => serr // the number of errors ) (* end of [list_nil] *) | ~list_vt_cons (p2tc, p2tcs) => ( case+ s2es of | list_cons (s2e, s2es) => let val () = trans3_env_hypadd_patcst (loc0, p2tc, s2e) // end of [val] in loop (p2tcs, s2es, serr) end // end of [list_cons] | list_nil ((*void*)) => loop (p2tcs, s2es, serr + 1) ) (* end of [list_cons] *) // end // end of [loop] // val serr = loop (cp2tcs, s2es_pat, 0) // val () = if (serr != 0) then let // val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "trans3_env_hypadd_patcstlst" // val () = print! (": constructor arity mismatch") val () = if serr < 0 then println! (": more arguments are expected") val () = if serr > 0 then println! (": fewer arguments are expected") // in the_trans3errlst_add (T3E_cp2atcstlst_arity (loc0, serr)) end // end of [then] // (* val ((*void*)) = assertloc (serr = 0) *) // in (*nothing*) end // end of [trans3_env_hypadd_patcstlst] (* ****** ****** *) implement trans3_env_hypadd_labpatcstlst (loc0, lp2tcs, ls2es) = let // fn cmp ( lx1: labs2exp, lx2: labs2exp, env: !ptr ) :<0> int = let val SLABELED (l1, _, _) = lx1 and SLABELED (l2, _, _) = lx2 in $LAB.compare_label_label (l1, l2) end // end of [fun] var env: ptr = null val ls2es = list_mergesort (ls2es, cmp, env) // fun aux ( lp2tcs: List (labp2atcst), ls2es: List (labs2exp) ) : void = case+ lp2tcs of | list_cons (lp2tc, lp2tcs1) => ( case+ ls2es of | list_cons (ls2e, ls2es1) => let val LABP2ATCST (l1, p2tc) = lp2tc val SLABELED (l2, _(*name*), s2e) = ls2e val sgn = $LAB.compare_label_label (l1, l2) in if sgn < 0 then aux (lp2tcs1, ls2es) else if sgn > 0 then aux (lp2tcs, ls2es1) else let val () = trans3_env_hypadd_patcst (loc0, p2tc, s2e) in aux (lp2tcs1, ls2es1) end // end of [if] end // end of [list_cons] | list_nil () => () ) // end of [list_cons] | list_nil () => () // val () = let val lp2tcs = $UN.castvwtp1 {labp2atcstlst} (lp2tcs) val ls2es = $UN.castvwtp1 {labs2explst} (ls2es) in aux (lp2tcs, ls2es) end // end of [val] // val () = list_vt_free (lp2tcs) and () = list_vt_free (ls2es) // in // nothing end // end of [trans3_env_hypadd_labpatcstlst] (* ****** ****** *) local fun trans3_env_hypadd_disj (xss: s3itmlstlst): void = ( the_s3itmlst_env_add (S3ITMdisj (xss)) ) // end of [trans3_env_hypadd_disj] in (* in of [local] *) // // HX: enforcing sequentiality of pattern match // implement trans3_env_hypadd_patcstlstlst (loc0, cp2tcss, s2es_pat) = let // fun aux ( p2tcss: p2atcstlstlst_vt ) : s3itmlstlst = ( case+ p2tcss of | ~list_vt_nil ((*void*)) => list_nil() | ~list_vt_cons (p2tcs, p2tcss) => let (* val () = ( print "trans3_env_hypadd_patcstlstlst: aux: p2tcs = "; print_p2atcstlst_vt (p2tcs); print_newline ((*void*)); ) (* end of [val] *) *) val (pf|()) = trans3_env_push ((*none*)) val () = trans3_env_hypadd_patcstlst (loc0, p2tcs, s2es_pat) val s3is = trans3_env_pop (pf|(*none*)) in list_cons(l2l(s3is), aux (p2tcss)) end // end of [list_vt_cons] ) (* end of [aux] *) // val s3iss = aux (cp2tcss) (* val n = list_length (s3iss) val () = ( print "trans3_env_hypadd_patcstlstlst: ns3iss = "; print n; print_newline () ) (* end of [val] *) *) in trans3_env_hypadd_disj (s3iss) end // end of [trans3_env_hypadd_p2atcstlstlst] end // end of [local] (* ****** ****** *) implement trans3_env_solver_assert (loc0, s2e) = let // (* val () = println! ( "trans3_env_solver_assert: s2e = ", s2e ) (* end of [val] *) *) // in // the_s3itmlst_env_add(S3ITMsolassert(s2e)) // end // end of [trans3_env_solver_assert] (* ****** ****** *) implement trans3_env_solver_verify (loc0, s2e) = let // val c3t = c3nstr_solverify(loc0, s2e) // (* val () = println! ( "trans3_env_solver_assert: c3t = ", c3t ) (* end of [val] *) *) // in the_s3itmlst_env_add(S3ITMcnstr(c3t)) end // end of [trans3_env_solver_verify] (* ****** ****** *) local assume trans3_env_push_v = unit_v in (* in of [local] *) implement trans3_env_pop (pf | (*none*)) = let prval () = unit_v_elim (pf) val _(*s2Vs*) = the_s2Varset_env_pop () prval pf = __assert () where { extern praxi __assert (): s2varbindmap_push_v } // end of [prval] val () = the_s2varbindmap_pop (pf | (*none*)) in the_s3itmlst_env_pop () end // end of [trans3_env_pop] implement trans3_env_pop_and_add (pf | loc, knd) = let val s3is = trans3_env_pop (pf | (*none*)) val c3t = c3nstr_itmlst (loc, knd, (l2l)s3is) in trans3_env_add_cnstr (c3t) end // end of [trans3_env_pop_and_add] implement trans3_env_pop_and_add_main (pf | loc) = trans3_env_pop_and_add (pf | loc, C3TKmain()) // end of [trans3_env_pop_and_add_main] implement trans3_env_push () = let // val () = the_s2Varset_env_push () // val (pf | ()) = the_s2varbindmap_push () prval () = __assert (pf) where { extern praxi __assert (pf: s2varbindmap_push_v): void } // end of [val] // val () = the_s3itmlst_env_push () // in (unit_v () | ()) end // end of [trans3_env_push] end // end of [local] (* ****** ****** *) implement s2hnf_absuni_and_add (loc0, s2f0) = let // val s2e0 = s2hnf2exp (s2f0) // (* // val () = println! ("s2exp_absuni_and_add: before: s2e0 = ", s2e0) // *) val s2es2vss2ps = s2exp_absuni (s2e0) // (* val () = println! ("s2exp_absuni_and_add: after: s2e0 = ", s2es2vss2ps.0) // *) val s2vs = s2es2vss2ps.1 // val () = let val s2vs = $UN.castvwtp1 {s2varlst} (s2vs) // end of [val] val s2Vs = the_s2Varset_env_get () val () = s2varlst_set_sVarset (s2vs, s2Vs) val () = trans3_env_add_svarlst (s2vs) // in // nothing end // end of [val] // val ((*freed*)) = list_vt_free (s2vs) // val s2ps = s2es2vss2ps.2 val ((*added*)) = trans3_env_hypadd_proplst(loc0, $UN.castvwtp1{s2explst}(s2ps)) val ((*freed*)) = list_vt_free (s2ps) // in s2es2vss2ps.0 end // end of [s2hnf_absuni_and_add] (* ****** ****** *) implement s2hnf_opnexi_and_add (loc0, s2f0) = let // val s2e0 = s2hnf2exp (s2f0) // (* val () = println! ("s2hnf_opnexi_and_add: before: s2e0 = ", s2e0) // *) val s2es2vss2ps = s2exp_opnexi (s2e0) (* val () = println! ("s2exp_opnexi_and_add: after: s2e0 = ", s2es2vss2ps.0) // *) // val s2vs = s2es2vss2ps.1 // val () = let val s2vs = $UN.castvwtp1{s2varlst}(s2vs) // end of [val] val s2Vs = the_s2Varset_env_get () val () = s2varlst_set_sVarset (s2vs, s2Vs) val () = trans3_env_add_svarlst (s2vs) in // nothing end // end of [val] // val ((*freed*)) = list_vt_free (s2vs) // val ((*added*)) = trans3_env_hypadd_proplst_vt (loc0, s2es2vss2ps.2) // in s2es2vss2ps.0 end // end of [s2hnf_opnexi_and_add] (* ****** ****** *) implement s2hnf_opn1exi_and_add (loc0, s2f0) = let val s2e0 = s2hnf2exp (s2f0) in // case+ s2e0.s2exp_node of | S2Eexi ( s2vs, s2ps, s2e_body ) => let // var sub = stasub_make_nil () val s2vs = stasub_extend_svarlst (sub, s2vs) val s2ps = s2explst_subst_vt (sub, s2ps) // HX: returning a linear list val s2e_body = s2exp_subst (sub, s2e_body) val () = stasub_free (sub) // val () = let val s2vs = $UN.castvwtp1 {s2varlst} (s2vs) // end of [val] val s2Vs = the_s2Varset_env_get () val () = s2varlst_set_sVarset (s2vs, s2Vs) val () = trans3_env_add_svarlst (s2vs) in // nothing end // end of [val] val () = list_vt_free (s2vs) // val () = trans3_env_hypadd_proplst_vt (loc0, s2ps) // in s2e_body end // end of [S2Eexi] | _ => s2e0 // end of [_] // end // end of [s2hnf_opn1exi_and_add] (* ****** ****** *) local viewtypedef ws2elstopt = Option_vt (wths2explst) fun auxres ( s2e: s2exp ) : ws2elstopt = ( case+ s2e.s2exp_node of // case+ | S2Eexi (_, _, s2e) => auxres (s2e) // end of [S2Eexi] | S2Ewthtype (_, ws2es) => Some_vt(ws2es) // end of [S2Ewthtype] | _ (*rest-of-S2E*) => None_vt () ) (* end of [auxres] *) fun auxarg ( loc: location , s2es: s2explst, ws2es: wths2explst ) : s2explst = let in // case+ s2es of // | list_nil ((*void*)) => list_nil () | list_cons (s2e, s2es) => ( case+ ws2es of | WTHS2EXPLSTcons_invar (_, _, ws2es) => let val-S2Erefarg (knd, s2e) = s2e.s2exp_node var err: int = 0 val (s2e, s2ps) = s2exp_exi_instantiate_all (s2e, loc, err) val () = trans3_env_add_proplst_vt (loc, s2ps) val s2e = s2exp_refarg (knd, s2e) in list_cons (s2e, auxarg (loc, s2es, ws2es)) end // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (_, _, ws2es) => list_cons (s2e, auxarg (loc, s2es, ws2es)) | WTHS2EXPLSTcons_none (ws2es) => list_cons (s2e, auxarg (loc, s2es, ws2es)) | WTHS2EXPLSTnil((*void*)) => list_nil((*void*)) ) (* end of [list_cons] *) // end // end of [auxarg] in (* in of [local] *) implement s2fun_opninv_and_add (locarg, s2es_arg, s2e_res) = let val opt = auxres (s2e_res) in case+ opt of | ~Some_vt (ws2es) => auxarg (locarg, s2es_arg, ws2es) | ~None_vt () => s2es_arg end // end of [s2fun_arg_res_opninv_and_add] end // end of [local] (* ****** ****** *) implement d2var_opnset_and_add (loc, d2v) = let // val opt = d2var_get_type (d2v) // in // case+ opt of | Some (s2e) => let val s2f = s2exp2hnf (s2e) val s2e = s2hnf_opnexi_and_add (loc, s2f) in d2var_set_type (d2v, Some (s2e)) end // end of [Some] | None () => d2var_set_type (d2v, None ()) // end // end of [d2var_opnset_and_add] (* ****** ****** *) implement un_s2exp_wthtype (loc, s2e) = let // var s2e_res: s2exp = s2e var wths2es: wths2explst = WTHS2EXPLSTnil () // val iswth = s2exp_is_wthtype (s2e) // val () = if iswth then let val s2f = s2exp2hnf (s2e) val s2e = s2hnf_opnexi_and_add (loc, s2f) val-S2Ewthtype (s2e, wths2es1) = s2e.s2exp_node in s2e_res := s2e; wths2es := wths2es1 end : void // end of [val] // in (iswth, s2e_res, wths2es) end // end of [un_s2exp_wthtype] (* ****** ****** *) implement d3exp_open_and_add (d3e) = let // val s2e = d3e.d3exp_type val s2f = s2exp2hnf (s2e) // (* // val () = println! ("d3exp_open_and_add: bef: s2e = ", s2e) // *) // val s2e = s2hnf_opnexi_and_add (d3e.d3exp_loc, s2f) // (* // val () = println! ("d3exp_open_and_add: aft: s2e = ", s2e) // *) in d3exp_set_type (d3e, s2e) end // end of [d3exp_open_and_add] implement d3explst_open_and_add (d3es) = list_app_fun (d3es, d3exp_open_and_add) // end of [d3explst_open_and_add] (* ****** ****** *) implement the_trans3_env_initialize ((*void*)) = { // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_bool_t0ype) val s2c1 = s2cstref_get_cst (the_bool_bool_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_char_t0ype) val s2c1 = s2cstref_get_cst (the_char_int_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_schar_t0ype) val s2c1 = s2cstref_get_cst (the_schar_int_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_uchar_t0ype) val s2c1 = s2cstref_get_cst (the_uchar_int_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_g0int_t0ype) val s2c1 = s2cstref_get_cst (the_g1int_int_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_g0uint_t0ype) val s2c1 = s2cstref_get_cst (the_g1uint_int_t0ype) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_ptr_type) val s2c1 = s2cstref_get_cst (the_ptr_addr_type) } // end of [val] // val () = s2cst_add_sup (s2c1, s2c0) where { val s2c0 = s2cstref_get_cst (the_string_type) val s2c1 = s2cstref_get_cst (the_string_int_type) } // end of [val] // } // end of [the_trans3_env_initialize] (* ****** ****** *) implement the_trans3_finget_constraint ((*void*)) = let // val s3is = the_s3itmlst_env_pop () val s3is = list_of_list_vt{s3itm}(s3is) // (* val () = fprintln! ( stdout_ref , "trans3_finget_constraint: s3is = ", s3is ) (* end of [val] *) *) // in c3nstr_itmlst ($LOC.location_dummy, C3TKmain(), s3is) end // end of [the_trans3_finget_constraint] (* ****** ****** *) (* end of [pats_trans3_env.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_print.dats0000664000175000017500000001046512655455557020507 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) implement{a} fprint_myintvec (out, iv, n) = let // prval () = lemma_myintvec_params (iv) // end of [prval] // viewtypedef x = myint(a) val (pf | p) = myintvec_takeout (iv) var i: int = 0 viewdef v = int@i var !p_clo = @lam (pf: !v | x: &x): void => let val () = if i > 0 then fprint (out, ", ") val () = i := i + 1 in fprint_myint (out, x) end // end of [var] val n = size1_of_int1 (n) val () = array_ptr_foreach_vclo {v} (view@(i) | !p, !p_clo, n) prval () = myintvecout_addback (pf | iv) in (*nothing*) end // end of [fprint_intvec] implement{a} print_myintvec (x, n) = fprint_myintvec (stdout_ref, x, n) // end of [print_myintvec] (* ****** ****** *) implement{a} fprint_myintveclst (out, xs, n) = case+ xs of | list_vt_cons (!p_x, !p_xs) => let val () = fprint_myintvec (out, !p_x, n) val () = fprint_newline (out) val () = fprint_myintveclst (out, !p_xs, n) in fold@ (xs) end // end of [list_vt] | list_vt_nil () => fold@ (xs) // end of [fprint_myintveclst] implement{a} print_myintveclst (xs, n) = fprint_myintveclst (stdout_ref, xs, n) // end of [print_myintveclst] (* ****** ****** *) implement{a} fprint_icnstr (out, ic, n) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ ic of | ICvec (knd, !p_ivec) => let val () = prstr "ICvec(" val () = ( case+ knd of | 1 => prstr "==" | ~1 => prstr "!=" | 2 => prstr ">=" | ~2 => prstr "<<" | _ => fprint_int (out, knd) ) : void // end of [val] val () = prstr "; " val () = fprint_myintvec (out, !p_ivec, n) val () = prstr ")" in fold@ (ic) end // end of [ICvec] | ICveclst (knd, !p_ics) => let val () = prstr "ICveclst(" val () = ( case knd of | 0 => prstr "conj" | 1 => prstr "disj" | _ => fprint_int (out, knd) ) : void // end of [val] val () = prstr ";" val () = prstr "\n" val () = fprint_icnstrlst (out, !p_ics, n) val () = prstr ")" in fold@ (ic) end // end of [ICveclst] // | ICerr _ => let val () = prstr "ICerr(" val () = fprint_string (out, "...") val () = prstr ")" in fold@ (ic) end // end of [ICerr] // end // end of [fprint_icnstr] implement{a} print_icnstr (x, n) = fprint_icnstr (stdout_ref, x, n) // end of [print_icnstr] (* ****** ****** *) implement{a} fprint_icnstrlst (out, ics, n) = ( case+ ics of | list_vt_cons (!p_ic, !p_ics) => let val () = fprint_icnstr (out, !p_ic, n) val () = fprint_newline (out) val () = fprint_icnstrlst (out, !p_ics, n) in fold@ (ics) end // end of [list_vt_cons] | list_vt_nil () => fold@ ics ) // end of [fprint_icnstrlst] implement{a} print_icnstrlst (xs, n) = fprint_icnstrlst (stdout_ref, xs, n) // end of [print_icnstrlst] (* ****** ****** *) (* end of [pats_lintprgm_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_tokbuf.sats0000664000175000017500000000616312655455557016750 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) %{# #include "pats_tokbuf.cats" %} // end of [%{#] (* ****** ****** *) staload LBF = "./pats_lexbuf.sats" stadef lexbuf = $LBF.lexbuf staload LEX = "./pats_lexing.sats" typedef token = $LEX.token staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) // // HX-2011-03-13: // [tokbuf] may store visited tokens to support backtracking // absviewt@ype tokbuf_vt0ype = $extype "pats_tokbuf_struct" // viewtypedef tokbuf = tokbuf_vt0ype // (* ****** ****** *) fun tokbuf_initize_filp {m:file_mode} {l:addr} ( pfmod: file_mode_lte (m, r) , pffil: FILE m @ l | r: &tokbuf? >> tokbuf, p: ptr l ) : void // end of [tokbuf_initize_filp] fun tokbuf_initize_getc ( buf: &tokbuf? >> tokbuf, getc: () - int ) : void // end of [tokbuf_initize_getc] fun tokbuf_initize_string ( buf: &tokbuf? >> tokbuf, inp: string ) : void // end of [tokbuf_initize_string] fun tokbuf_initize_lexbuf ( buf: &tokbuf? >> tokbuf, lbf: &lexbuf >> lexbuf? ) : void // end of [tokbuf_initize_lexbuf] (* ****** ****** *) // fun tokbuf_uninitize (buf: &tokbuf >> tokbuf?) : void // (* ****** ****** *) fun tokbuf_get_ntok (buf: &tokbuf): uint fun tokbuf_set_ntok (buf: &tokbuf, n0: uint): void (* ****** ****** *) fun tokbuf_incby1 (buf: &tokbuf): void fun tokbuf_incby_count (buf: &tokbuf, k: uint): void (* ****** ****** *) fun tokbuf_reset (buf: &tokbuf): void (* ****** ****** *) fun tokbuf_get_token (buf: &tokbuf): token fun tokbuf_getinc_token (buf: &tokbuf): token (* ****** ****** *) fun tokbuf_discard_all (buf: &tokbuf): void (* ****** ****** *) // // HX-2012-06: // for pushing back a given token // this one is needed by libatsynmark // fun tokbuf_unget_token (buf: &tokbuf, tok: token): void // (* ****** ****** *) (* end of [pats_tokbuf.sats] *) ATS2-Postiats-0.2.6/./src/pats_lexing.sats0000664000175000017500000003166312655455557016747 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: March, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" stadef location = $LOC.location stadef position = $LOC.position (* ****** ****** *) staload LBF = "./pats_lexbuf.sats" stadef lexbuf = $LBF.lexbuf (* ****** ****** *) // typedef arrayref (a:t@ype, n:int) = array(a, n) // (* ****** ****** *) datatype token_node = // | T_NONE of () // dummy // | T_AT of () // @ // | T_BACKSLASH of () // \ | T_BANG of () // ! | T_BAR of () // | | T_BQUOTE of () // ` // | T_COLON of () // : | T_COLONLT of () // :< (* | T_COLONLTGT of () // :<> // HX: impossible *) // | T_DOLLAR of () // $ // | T_DOT of () // . | T_DOTDOT of () // .. | T_DOTDOTDOT of () // ... // | T_DOTINT of int // .[0-9]+ // | T_EQ of () // = | T_EQGT of () // => | T_EQLT of () // =< | T_EQLTGT of () // =<> | T_EQSLASHEQGT of () // =/=> | T_EQGTGT of () // =>> | T_EQSLASHEQGTGT of () // =/=>> // | T_HASH of () // # // | T_LT of () // < // for opening a tmparg | T_GT of () // > // for closing a tmparg // | T_GTLT of () // <> | T_DOTLT of () // .< // opening termetric | T_GTDOT of () // >. // closing termetric | T_DOTLTGTDOT of () // .<>. // for empty termetric // | T_MINUSGT of () // -> | T_MINUSLT of () // -< | T_MINUSLTGT of () // -<> // | T_TILDE of () // ~ // often for 'not', 'free', etc. // // HX: for absprop, abstype, abst@ype; | T_ABSTYPE of (int) // absview, absviewtype, absviewt@ype // | T_AND of () // and | T_AS of () // as // for refas-pattern | T_ASSUME of () // assume // for implementing abstypes | T_BEGIN of () // begin // opening a sequence | T_CASE of (caskind) // case, case-, case+, prcase | T_CLASSDEC of () // classdec | T_DATASORT of () // datasort | T_DATATYPE of int // datatype, dataprop, dataview, dataviewtype | T_DO of () // [do] | T_DYNLOAD of () // [dynload] | T_ELSE of () // [else] | T_END of () // the [end] keyword | T_EXCEPTION of () // [exception] // | T_EXTERN of () // extern | T_EXTYPE of () // externally named type | T_EXTVAR of () // externally named variable // | T_FIX of int // fix and fix@ | T_FIXITY of (fxtykind) // infix, infixl, infixr, prefix, postfix | T_FOR of () // for | T_FORSTAR of () // for* | T_FUN of (funkind) // fn, fnx, fun, prfn and prfun | T_IF of () // (dynamic) if | T_IMPLEMENT of (int) // 0/1/2: implmnt/implement/primplmnt | T_IMPORT of () // import (for packages) | T_IN of () // in | T_LAM of int // lam, llam (linear lam) and lam@ (flat lam) | T_LET of () // let | T_LOCAL of () // local | T_MACDEF of (int) // 0/1: macdef/macrodef | T_NONFIX of () // nonfix | T_OVERLOAD of () // overload | T_OF of () // of | T_OP of () // op // HX: taken from ML | T_REC of () // rec // (* | T_REFAT of () // HX-2015-12-10: 'ref@' removed *) // | T_SIF of () // static if | T_SCASE of () // static case // | T_SORTDEF of () // sortdef | T_STACST of () // stacst | T_STADEF of () // stadef | T_STALOAD of () // staload | T_STATIC of () // static (* | T_STAVAR of () // stavar // HX: a suspended hack *) | T_SYMELIM of () // symelim // symbol elimination | T_SYMINTR of () // symintr // symbol introduction | T_THEN of () // the [then] keyword | T_TKINDEF of () // tkindef // for introducting tkinds | T_TRY of () // try | T_TYPE of int // type, type+, type- | T_TYPEDEF of (int) // typedef, propdef, viewdef, viewtypedef | T_VAL of (valkind) // val, val+, val-, prval | T_VAR of (int(*knd*)) // knd = 0/1: var/prvar | T_WHEN of () // when | T_WHERE of () // where | T_WHILE of () // while | T_WHILESTAR of () // while* | T_WITH of () // with | T_WITHTYPE of (int) // withtype, withprop, withview, withviewtype // end of [T_WITHTYPE] // HX: it is from DML and now rarely used // | T_ADDRAT of () // addr@ | T_FOLDAT of () // fold@ | T_FREEAT of () // free@ | T_VIEWAT of () // view@ // | T_DLRDELAY of (int(*lin*)) // $delay/$ldelay // | T_DLRARRPSZ of () // $arrpsz/$arrptrsize // | T_DLRD2CTYPE of () // $d2ctype(foo)/foo<...>) // | T_DLREFFMASK of () // $effmask | T_DLREFFMASK_ARG of (int) // ntm(0), exn(1), ref(2), wrt(3), all(4) // | T_DLREXTERN of () // $extern | T_DLREXTKIND of () // $extkind | T_DLREXTYPE of () // externally named type | T_DLREXTYPE_STRUCT of () // externally named struct // | T_DLREXTVAL of () // externally named value | T_DLREXTFCALL of () // externally named fun-call | T_DLREXTMCALL of () // externally named method-call // | T_DLRLITERAL of () // $literal // | T_DLRMYFILENAME of () // $myfilename | T_DLRMYLOCATION of () // $mylocation | T_DLRMYFUNCTION of () // $myfunction // | T_DLRLST of int // $lst and $lst_t and $lst_vt | T_DLRREC of int // $rec and $rec_t and $rec_vt | T_DLRTUP of int // $tup and $tup_t and $tup_vt // | T_DLRBREAK of () // $break | T_DLRCONTINUE of () // $continue // | T_DLRRAISE of () // $raise // raising exceptions // | T_DLRSHOWTYPE of () // $showtype // for debugging purpose // | T_DLRVCOPYENV of (int) // $vcopyenv_v(v)/$vcopyenv_vt(vt) // | T_DLRTEMPENVER of () // $tempenver // for adding environvar // | T_DLRSOLASSERT of () // $solver_assert // assert(d2e_prf) | T_DLRSOLVERIFY of () // $solver_verify // verify(s2e_prop) // | T_SRPIF of () // #if | T_SRPIFDEF of () // #ifdef | T_SRPIFNDEF of () // #ifndef // | T_SRPTHEN of () // #then // | T_SRPELIF of () // #elif | T_SRPELIFDEF of () // #elifdef | T_SRPELIFNDEF of () // #elifndef | T_SRPELSE of () // #else // | T_SRPENDIF of () // #endif // | T_SRPERROR of () // #error | T_SRPPRERR of () // #prerr | T_SRPPRINT of () // #print // | T_SRPASSERT of () // #assert // | T_SRPUNDEF of () // #undef | T_SRPDEFINE of () // #define // | T_SRPINCLUDE of () // #include | T_SRPREQUIRE of () // #require // | T_SRPPRAGMA of () // #pragma | T_SRPCODEGEN2 of () // #codegen2 | T_SRPCODEGEN3 of () // #codegen3 // | T_IDENT_alp of string // alnum | T_IDENT_sym of string // symbol | T_IDENT_arr of string // A[...] | T_IDENT_tmp of string // A<...> | T_IDENT_dlr of string // $alnum | T_IDENT_srp of string // #alnum | T_IDENT_ext of string // alnum! // | T_INT of ( int(*base*), string(*rep*), uint(*suffix*) ) (* end of [T_INT] *) // | T_CHAR of char (* character *) // | T_FLOAT of (int(*base*), string(*rep*), uint(*suffix*)) // | {n:int} T_CDATA of (arrayref(char, n), size_t(n)) // for binaries | T_STRING of (string) // (* | T_LABEL of (int(*knd*), string) // HX-2013-01: should it be supported? *) // | T_COMMA of () // , | T_SEMICOLON of () // ; // | T_LPAREN of () // ( | T_RPAREN of () // ) | T_LBRACKET of () // [ | T_RBRACKET of () // ] | T_LBRACE of () // { | T_RBRACE of () // } // | T_ATLPAREN of () // @( | T_QUOTELPAREN of () // '( | T_ATLBRACKET of () // @[ | T_QUOTELBRACKET of () // '[ | T_HASHLBRACKET of () // #[ | T_ATLBRACE of () // @{ | T_QUOTELBRACE of () // '{ // | T_BQUOTELPAREN of () // `( // macro syntax | T_COMMALPAREN of () // ,( // macro syntax | T_PERCENTLPAREN of () // %( // macro syntax // | T_EXTCODE of (int(*kind*), string) // external code // | T_COMMENT_line of () // line comment | T_COMMENT_block of () // block comment | T_COMMENT_rest of () // rest-of-file comment // | T_ERR of () // for errors // | T_EOF of () // end-of-file // (* end of [token_node] *) typedef token = '{ token_loc= location, token_node= token_node } (* end of [token] *) typedef tokenopt = Option (token) (* ****** ****** *) // typedef tnode = token_node // (* ****** ****** *) val ABSTYPE : tnode val ABST0YPE : tnode val ABSPROP : tnode val ABSVIEW : tnode val ABSVIEWTYPE : tnode val ABSVIEWT0YPE : tnode val ADDR : tnode val ADDRAT : tnode val CASE : tnode val CASE_pos : tnode val CASE_neg : tnode val DATATYPE : tnode val DATAPROP : tnode val DATAVIEW : tnode val DATAVIEWTYPE : tnode val FN : tnode val FNX : tnode val FUN : tnode // val PRFN : tnode val PRFUN : tnode // val PRAXI : tnode // val CASTFN : tnode val FOLD : tnode val FOLDAT : tnode val FIX : tnode val FIXAT : tnode val FOR : tnode val FORSTAR : tnode val FREE : tnode val FREEAT : tnode val IMPLMNT : tnode // implmnt val IMPLEMENT : tnode // implement val PRIMPLMNT : tnode // primplmnt val INFIX : tnode val INFIXL : tnode val INFIXR : tnode val PREFIX : tnode val POSTFIX : tnode val LAM : tnode val LAMAT : tnode val LLAM : tnode val LLAMAT : tnode val MACDEF : tnode val MACRODEF : tnode (* // val REF : tnode // val REFAT : tnode // // HX-2015-12-10: 'ref@' removed // *) val TKINDEF : tnode val TYPE : tnode val TYPE_pos : tnode val TYPE_neg : tnode val T0YPE : tnode val T0YPE_pos : tnode val T0YPE_neg : tnode val PROP : tnode val PROP_pos : tnode val PROP_neg : tnode val VIEW : tnode val VIEWAT : tnode val VIEW_pos : tnode val VIEW_neg : tnode val VIEWTYPE : tnode val VIEWTYPE_pos : tnode val VIEWTYPE_neg : tnode val VIEWT0YPE : tnode val VIEWT0YPE_pos : tnode val VIEWT0YPE_neg : tnode val TYPEDEF : tnode val PROPDEF : tnode val VIEWDEF : tnode val VIEWTYPEDEF : tnode val VAL : tnode val VAL_pos : tnode val VAL_neg : tnode val MCVAL : tnode // for model-checking val PRVAL : tnode // for theorem-proving val VAR : tnode val PRVAR : tnode val WHILE : tnode val WHILESTAR : tnode val WITHTYPE : tnode val WITHPROP : tnode val WITHVIEW : tnode val WITHVIEWTYPE : tnode (* ****** ****** *) val DLRDELAY : tnode val DLRLDELAY : tnode val DLREFFMASK : tnode val DLREFFMASK_NTM : tnode val DLREFFMASK_EXN : tnode val DLREFFMASK_REF : tnode val DLREFFMASK_WRT : tnode val DLREFFMASK_ALL : tnode val DLRLST : tnode val DLRLST_T : tnode val DLRLST_VT : tnode val DLRREC : tnode val DLRREC_T : tnode val DLRREC_VT : tnode val DLRTUP : tnode val DLRTUP_T : tnode val DLRTUP_VT : tnode val DLRVCOPYENV_V : tnode val DLRVCOPYENV_VT : tnode (* ****** ****** *) val DOT : tnode // = T_DOT val PERCENT : tnode // = IDENT_sym ("%") val QMARK : tnode // = IDENT_sym ("?") (* ****** ****** *) val INTZERO : tnode // = T_INT_dec ("0") (* ****** ****** *) // fun print_token : token -> void fun prerr_token : token -> void fun fprint_token : fprint_type (token) // overload print with print_token overload prerr with prerr_token overload fprint with fprint_token // (* ****** ****** *) fun token_make (loc: location, node: tnode): token // end of [token_make] (* ****** ****** *) fun tnode_is_comment (node: tnode): bool (* ****** ****** *) // // HX-2011-03-11: // see if a name refers to a special token; // if the return is not T_NONE, then it does // fun tnode_search (x: string): tnode (* ****** ****** *) datatype lexerr_node = | LE_CHAR_oct of () | LE_CHAR_hex of () | LE_CHAR_unclose of () | LE_QUOTE_dangling of () // | LE_STRING_unclose of () | LE_STRING_char_oct of () | LE_STRING_char_hex of () // | LE_COMMENT_block_unclose of () // | LE_EXTCODE_unclose of () // | LE_DIGIT_oct_89 of (char) // | LE_FEXPONENT_empty of () // | LE_UNSUPPORTED_char of (char) // end of [lexerr_node] // typedef lexerr = '{ lexerr_loc= location, lexerr_node= lexerr_node } (* end of [lexerr] *) // (* ****** ****** *) fun lexerr_make ( loc: location, node: lexerr_node ) : lexerr // end of [lexerr_make] fun the_lexerrlst_clear (): void fun the_lexerrlst_add (x: lexerr): void (* ****** ****** *) fun fprint_lexerr : fprint_type (lexerr) fun fprint_the_lexerrlst (out: FILEref): int(*err*) // 0/1 (* ****** ****** *) // (* ** HX-2011: ** obtaining the next token *) // fun lexing_next_token (buf: &lexbuf): token (* ** HX-2011: ** obtaining the next token that is not a comment *) fun lexing_next_token_ncmnt (buf: &lexbuf): token // (* ****** ****** *) (* end of [pats_lexing.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_selab.dats0000664000175000017500000005754112655455557020025 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_selab" // (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label overload prerr with $LAB.prerr_label (* ****** ****** *) staload LOC = "./pats_location.sats" stadef location = $LOC.location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) // implement d2lab_trup (d2l) = let val loc = d2l.d2lab_loc val opt = d2l.d2lab_overld in // case+ d2l.d2lab_node of // | D2LABlab (lab) => d3lab_lab (loc, lab, opt) // | D2LABind (ind) => let val ind = d2explst_trup (ind) in d3lab_ind (loc, ind) end // end of [D2LABind] // end // end of [d2lab_trup] // implement d2lablst_trup (d2ls) = let val d3ls = list_map_fun (d2ls, d2lab_trup) in (l2l)d3ls end // end of [d2lablst_trup] // (* ****** ****** *) local fun arrbndck .<>. ( d3e1: d3exp, s2i2: s2exp ) : s2explst_vt = let // fun auxerr (d3e: d3exp): void = let val loc = d3e.d3exp_loc val s2e = d3exp_get_type (d3e) val () = prerr_error3_loc (loc) val () = prerr ": the type of the array index is not " val () = prerr "a generic (signed or unsigned) integer type: [" val () = prerr_s2exp (s2e) val () = prerr "]." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_arrind (d3e)) end (* end of [auxerr] *) // val () = d3exp_open_and_add (d3e1) // val s2e1 = d3exp_get_type (d3e1) val s2f1 = s2exp2hnf (s2e1) val opt = un_s2exp_g1int_index_t0ype (s2f1) // in // case+ opt of | ~Some_vt (s2i1) => let val s2p1 = s2exp_igtez (s2i1) val s2p2 = s2exp_intlt (s2i1, s2i2) in list_vt_pair (s2p1, s2p2) end // end of [Some_vt] | ~None_vt () => let val opt = un_s2exp_g1uint_index_t0ype (s2f1) in case+ opt of | ~Some_vt (s2i1) => let val s2p = s2exp_intlt (s2i1, s2i2) in list_vt_sing (s2p) end // end of [Some_vt] | ~None_vt () => let val () = auxerr (d3e1) in list_vt_nil () end // end of [None_vt] end // end of [None_vt] // end // end of [arrbndck] in (* in of [local] *) fun arrbndlst_check ( loc0: location, ind: d3explst, dim: s2explst ) : s2explst_vt = let // fun auxerr ( loc0: location , dim: s2explst, ind: d3explst, sgn: int ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the label is expected to contain " val () = if sgn < 0 then prerr "more array indexes." val () = if sgn > 0 then prerr "fewer array indexes." val ((*void*)) = prerr_newline () in the_trans3errlst_add (T3E_d3exp_arrdim (loc0, dim, ind)) end // end of [auxerr] // val nind = list_length (ind) val ndim = list_length (dim) // fun auxcheck ( d3es: d3explst , s2es: s2explst ) : s2explst_vt = ( case+ d3es of | list_cons (d3e, d3es) => let val-list_cons (s2e, s2es) = s2es // match! val s2ps1 = arrbndck (d3e, s2e) val s2ps2 = auxcheck (d3es, s2es) in list_vt_append (s2ps1, s2ps2) end // end of [list_cons] | list_nil () => list_vt_nil () ) // end of [auxcheck] // val sgn = nind - ndim // in // if sgn < 0 then let val () = auxerr (loc0, dim, ind, sgn) in list_vt_nil () end else if sgn > 0 then let val () = auxerr (loc0, dim, ind, sgn) in list_vt_nil () end else auxcheck (ind, dim) // end of [if] // end // end of [arrbndlst_check] end // end of [local] (* ****** ****** *) local fun lincheck ( ls2es: labs2explst, linrest: &int ) : void = let in // if ( linrest = 0 ) then ( // case+ ls2es of | list_cons (ls2e, ls2es) => let val+SLABELED(_, _, s2e) = ls2e val () = if s2exp_is_lin(s2e) then linrest := linrest + 1 // end of [if] // end of [val] in lincheck (ls2es, linrest) end // end of [list_cons] | list_nil ((*void*)) => ((*done*)) // ) else () // end of [if] // end // end of [lincheck] fun labfind_lincheck ( l0: label , ls2es: labs2explst, linrest: &int, err: &int ) : s2exp = let in // case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, _, s2e) = ls2e in if l0 = l then let val () = lincheck (ls2es, linrest) in s2e end // end of [then] else let val () = if linrest = 0 then ( if s2exp_is_lin(s2e) then linrest := linrest + 1 ) (* end of [if] *) // end of [val] in labfind_lincheck (l0, ls2es, linrest, err) end // end of [else] // end of [if] end // end of [list_cons] | list_nil () => let val () = err := err + 1 in s2exp_t0ype_err () end // end of [list_nil] // end // end of [labfind_lincheck] fun auxlab_sexp ( loc0: location, s2e: s2exp , d3l: d3lab, l0: label, linrest: &int, sharing: &int ) : s2exp = let // val s2f = s2exp2hnf (s2e) // in auxlab_shnf (loc0, s2f, d3l, l0, linrest, sharing) end // and [auxlab_sexp] and auxlab_shnf ( loc0: location, s2f: s2hnf , d3l: d3lab, l0: label, linrest: &int, sharing: &int ) : s2exp = let // val s2e = s2hnf2exp (s2f) // in // case+ s2e.s2exp_node of // case+ // | S2Etyrec (knd, npf, ls2es) => let var err: int = 0 val s2e1 = labfind_lincheck (l0, ls2es, linrest, err) val () = if tyreckind_is_box (knd) then sharing := sharing + 1 val () = if (err > 0) then let val () = prerr_error3_loc (loc0) val () = prerr ": the record-type [" val () = prerr_s2exp (s2e) val () = prerr "] is expected to contain the label [" val () = $LAB.prerr_label (l0) val () = prerr "] but it does not." val () = prerr_newline () in the_trans3errlst_add (T3E_s2exp_selab_labnot (loc0, s2e, l0)) end // end of [if] // end of [val] in s2e1 end // end of [S2Etyrec] // | S2Eexi _ => let val s2f = s2exp2hnf (s2e) val s2e = s2hnf_opn1exi_and_add (loc0, s2f) in auxlab_sexp (loc0, s2e, d3l, l0, linrest, sharing) end // end of [S2Eexi] // | _ (*rest-of-s2exp*) => let val opt = d3l.d3lab_overld in case+ opt of (* // // HX-2015-05-14: // It is commented out for now. // It can be reinstated if there is a genuine need. // | Some(d2s) => (s2e_sel) where { val d2e_fun = d2exp_top (loc0) val d2e_arg = d2exp_top2 (loc0, s2e) val d2a_arg = D2EXPARGdyn(~1(*npf*), loc0, list_sing(d2e_arg)) // end of [val] val d3e_sel = d2exp_trup_applst_sym(d2e_fun, d2s, list_sing(d2a_arg)) // end of [val] val s2e_sel = d3exp_get_type (d3e_sel) val ((*void*)) = d3lab_set_overld_app (d3l, Some(d3e_sel)) } (* end of [Some] *) // *) | Some(d2s) => let val () = prerr_error3_loc (loc0) val () = prerrln! ( ": overloaded dot-symbol: [", d2s, "] should be applied." ) (* end of [val] *) val () = the_trans3errlst_add(T3E_d3lab_overld_app(loc0, d3l)) in s2exp_t0ype_err ((*void*)) end // end of [Some] | None((*void*)) => let val () = prerr_error3_loc (loc0) val () = prerr! ( ": [", l0, "] cannot be found" ) (* end of [val] *) val () = prerrln! ( ": the type [", s2e, "] is expected to be a tyrec(record)." ) (* end of [val] *) val () = the_trans3errlst_add(T3E_s2exp_selab_tyrec(loc0, s2e)) in s2exp_t0ype_err ((*void*)) end // end of [None] end (* rest-of-s2exp *) // end // end of [auxlab_shnf] fun auxind ( loc0: location, s2e: s2exp, ind: d3explst ) : ( s2exp(*elt*), s2explst_vt(*array-bounds-checking*) ) = let val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of // | S2Etyarr ( s2e_elt, s2es_dim ) => let val s2ps = arrbndlst_check (loc0, ind, s2es_dim) // end of [val] in (s2e_elt, s2ps) end // end of [S2Etyarr] // | S2Eexi _ => let val s2f = s2exp2hnf (s2e) val s2e = s2hnf_opn1exi_and_add (loc0, s2f) in auxind (loc0, s2e, ind) end // end of [S2Eexi] // | _ => let val () = prerr_error3_loc (loc0) // end of [val] val () = prerr ": the type [" val () = prerr_s2exp (s2e) val () = prerr "] is expected to be a tyarr (array-type)." val () = prerr_newline () val () = the_trans3errlst_add (T3E_s2exp_selab_tyarr (loc0, s2e)) val s2e_elt = s2exp_t0ype_err () val s2ps = list_vt_nil () in (s2e_elt, s2ps) end // end of [_] // end // end of [auxind] fun auxsel ( s2e: s2exp, d3l: d3lab, linrest: &int, sharing: &int ) : ( s2exp, s2explst_vt ) = let // val loc0 = d3l.d3lab_loc // in // case+ d3l.d3lab_node of // case+ | D3LABlab (l0) => let val s2f = s2exp2hnf (s2e) val s2e = auxlab_shnf (loc0, s2f, d3l, l0, linrest, sharing) in (s2e, list_vt_nil) end // end of [S3LABlab] | D3LABind (ind) => let val s2es2ps = auxind (loc0, s2e, ind) val () = if s2exp_is_lin (s2es2ps.0) then linrest := linrest + 1 in s2es2ps end // end of [D3LABind] // end // end of [auxsel] and auxselist ( s2e: s2exp, d3ls: d3lablst, linrest: &int, sharing: &int ) : (s2exp, s2explst_vt) = let in // case+ d3ls of | list_nil ((*void*)) => (s2e, list_vt_nil ()) | list_cons (d3l, d3ls) => let val (s2e, s2ps1) = auxsel (s2e, d3l, linrest, sharing) val (s2e, s2ps2) = auxselist (s2e, d3ls, linrest, sharing) in (s2e, list_vt_append (s2ps1, s2ps2)) end // end of [list_cons] // end // end of [auxselist] in (* in of [local] *) implement s2exp_get_dlablst_linrest_sharing ( loc0, s2e, d3ls, linrest, sharing ) = auxselist (s2e, d3ls, linrest, sharing) // end of [s2exp_get_dlablst_linrest_sharing] end // end of [local] (* ****** ****** *) local fun labfind_context ( l0: label , ls2es: labs2explst , context: &Option_vt @(labs2explst, s2hole) , err: &int ) : s2exp = let in // case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, name, s2e) = ls2e in if l0 = l then let val s2t = s2e.s2exp_srt val s2h = s2hole_make_srt (s2t) val s2e_ctx = s2exp_hole (s2h) val ls2e_ctx = SLABELED (l, name, s2e_ctx) val ls2es_ctx = list_cons (ls2e_ctx, ls2es) val-None_vt () = context val () = context := Some_vt @(ls2es_ctx, s2h) in s2e end else let val s2e = labfind_context (l0, ls2es, context, err) val () = ( case+ context of | Some_vt (!p) => let val () = !p.0 := list_cons (ls2e, !p.0) in fold@ (context) end // end of [Some_vt] | None_vt () => fold@ (context) ) : void // end of [val] in s2e end // end of [if] end // end of [list_cons] | list_nil () => let val () = err := err + 1 in s2exp_t0ype_err () end // end of [list_nil] // end // end of [labfind_context] viewtypedef ctxtopt_vt = Option_vt @(s2exp, s2hole) fun auxlab ( loc0: location , s2f: s2hnf, l0: label , context: &ctxtopt_vt ) : s2exp = let // val s2e = s2hnf2exp (s2f) // in // case+ s2e.s2exp_node of // | S2Etyrec ( knd, npf, ls2es ) => let viewtypedef res2 = Option_vt @(labs2explst, s2hole) var context2 : res2 = None_vt () var err: int = 0 val s2e1 = labfind_context (l0, ls2es, context2, err) val () = ( case+ context2 of | ~Some_vt @(ls2es_ctx, s2h) => let val s2t = s2e.s2exp_srt val s2e_ctx = s2exp_tyrec_srt (s2t, knd, npf, ls2es_ctx) val-None_vt () = context in context := Some_vt @(s2e_ctx, s2h) end // end of [val] | ~None_vt () => () ) : void // end of [val] val () = if (err > 0) then let val () = prerr_error3_loc (loc0) val () = prerr ": the record-type [" val () = prerr_s2exp (s2e) val () = prerr "] is expected to contain the label [" val () = $LAB.prerr_label (l0) val () = prerr "] but it does not." val () = prerr_newline () in the_trans3errlst_add (T3E_s2exp_selab_labnot (loc0, s2e, l0)) end // end of [val] in s2e1 end // end of [S2Etyrec] // | _ => let val () = prerr_error3_loc (loc0) val () = prerrln! ( ": the type [", s2e, "] is expected to be a tyrec(record)." ) (* end of [val] *) val () = the_trans3errlst_add (T3E_s2exp_selab_tyrec (loc0, s2e)) in s2exp_t0ype_err () end // end of [_] // end // end of [auxlab] fun auxind ( loc0: location , s2f: s2hnf, ind: d3explst , context: &ctxtopt_vt , ischeck: bool ) : (s2exp, s2explst_vt) = let // val s2e = s2hnf2exp (s2f) // in // case+ s2e.s2exp_node of | S2Etyarr ( s2e_elt, s2es_dim ) => let val s2ps = ( if ischeck then arrbndlst_check (loc0, ind, s2es_dim) else list_vt_nil // end of [if] ) : s2explst_vt // end of [val] in (s2e_elt, s2ps) end // end of [S2Etyarr] | _ (*non-tyarr*) => let val s2e_elt = s2exp_t0ype_err () in (s2e_elt, list_vt_nil(*s2ps*)) end // end of [_] // end // end of [auxind] fun auxsel ( s2e: s2exp , d3l: d3lab , context: &ctxtopt_vt , ischeck: bool ) : (s2exp, s2explst_vt) = let val loc = d3l.d3lab_loc val s2f = s2exp2hnf (s2e) in // case+ d3l.d3lab_node of | D3LABlab (lab) => let val s2e_elt = auxlab (loc, s2f, lab, context) // end of [val] in (s2e_elt, list_vt_nil(*s2ps*)) end // end of [D3LABlab] | D3LABind (ind) => auxind (loc, s2f, ind, context, ischeck) // end of [D3LABind] // end // end of [auxsel] and auxselist ( s2e: s2exp , d3ls: d3lablst , context: &ctxtopt_vt , ischeck: bool ) : (s2exp, s2explst_vt) = let in // case+ d3ls of | list_cons ( d3l, list_nil () ) => auxsel (s2e, d3l, context, ischeck) // end of [list_sing] | list_cons (d3l, d3ls) => let val s2es2ps = auxsel (s2e, d3l, context, ischeck) val s2e = s2es2ps.0 val s2ps = s2es2ps.1 in case+ context of | ~Some_vt @( s2e1_ctx, s2h1 ) => let val () = context := None_vt () val s2es2ps = auxselist (s2e, d3ls, context, ischeck) val s2e = s2es2ps.0 val s2ps = list_vt_append (s2ps, s2es2ps.1) in case+ context of | Some_vt (!p) => let val () = !p.0 := s2exp_hrepl (s2e1_ctx, !p.0) prval () = fold@ (context) in @(s2e, s2ps) end // end of [Some_vt] | None_vt () => let prval () = fold@ (context) in @(s2e, s2ps) end // end of [None_vt] end // end of [Some_vt] | ~None_vt () => let val () = context := None_vt () val s2es2ps = auxselist (s2e, d3ls, context, ischeck) val s2e = s2es2ps.0 val s2ps = list_vt_append (s2ps, s2es2ps.1) val () = option_vt_free (context) val () = context := None_vt () in @(s2e, s2ps) end // end of [None_vt] end (* end of [list_cons] *) | list_nil () => let val s2t = s2e.s2exp_srt val s2h = s2hole_make_srt (s2t) val s2e_ctx = s2exp_hole (s2h) val-None_vt () = context val () = context := Some_vt @(s2e_ctx, s2h) in (s2e, list_vt_nil(*s2ps*)) end // end of [list_nil] // end // end of [auxselist] in (* in of [local] *) implement s2exp_get_dlablst_context (loc0, s2e, d3ls, context) = let // var context2 : ctxtopt_vt = None_vt(*void*) val s2es2ps = auxselist ( s2e, d3ls, context2, false(*ischeck*) ) (* end of [val] *) // val () = list_vt_free (s2es2ps.1) // val () = ( case+ context2 of | ~None_vt () => () | ~Some_vt @(s2e_ctx, s2h) => ( context := Some (s2ctxt_make (s2e_ctx, s2h)) ) // end of [Some_vt] ) : void // end of [val] // in s2es2ps.0(*selected*) end // end of [s2exp_get_dlablst_context] implement s2exp_get_dlablst_context_check (loc0, s2e, d3ls, context) = let // var context2 : ctxtopt_vt = None_vt(*void*) // val s2es2ps = auxselist (s2e, d3ls, context2, true(*ischeck*)) // val () = ( case+ context2 of | ~None_vt ((*void*)) => () | ~Some_vt @(s2e_ctx, s2h) => context := Some (s2ctxt_make (s2e_ctx, s2h)) ) : void // end of [val] // in s2es2ps end // end of [s2exp_get_dlablst_context_check] end // end of [local] (* ****** ****** *) extern fun d2var_trup_selab ( loc0: location , locvar: location, d2v: d2var, d2ls: d2lablst ) : d3exp // end of [d2var_trup_selab] (* ****** ****** *) extern fun d2var_trup_selab_lin ( loc0: location , locvar: location, d2v: d2var, d2ls: d2lablst ) : d3exp // end of [d2var_trup_selab_lin] extern fun d2var_trup_selab_mut ( loc0: location , locvar: location, d2v: d2var, d2ls: d2lablst ) : d3exp // end of [d2var_trup_selab_mut] (* ****** ****** *) extern fun d3exp_trup_selab (loc0: location, d3e: d3exp, d3ls: d3lablst): d3exp // end of [d3exp_trup_selab] (* ****** ****** *) implement d2var_trup_selab_lin (loc0, loc, d2v, d2ls) = let (* val () = println! ( "d2var_trup_selab_lin: d2v = ", d2v ) (* end of [val] *) *) val s2e = d2var_get_type_some(loc, d2v) // val s2rt = s2e // HX: root type for selection val d3ls = d2lablst_trup (d2ls) // (* val () = ( // if d3lablst_is_overld (d3ls) then { // val () = prerr_error3_loc (loc0) val () = prerrln! (": overloaded dot-symbol should be applied.") // val () = the_trans3errlst_add (T3E_d2var_lin_overld(loc0, d2v, d3ls)) // } (* end of [if] *) // ) (* end of [val] *) *) // var linrest: int = 0 and sharing: int = 0 // val s2es2ps = s2exp_get_dlablst_linrest_sharing (loc0, s2e, d3ls, linrest, sharing) // end of [val] // val s2e_sel = s2exp_hnfize (s2es2ps.0) val () = trans3_env_add_proplst_vt (loc0, s2es2ps.1) val islin = s2exp_is_lin (s2e_sel) // in // if islin then let val s2t = s2e.s2exp_srt var ctxtopt: s2expopt = None () val s2e_sel = s2exp_get_dlablst_context (loc0, s2e, d3ls, ctxtopt) // end of [val] // val isctx = ( case+ ctxtopt of Some _ => true | None _ => false ) : bool // end of [val] val () = if ~isctx then { val () = prerr_error3_loc (loc0) val () = prerr ": the linear component cannot be taken out." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2var_selab_context (loc0, d2v, d3ls)) } (* end of [if] *) // end of [val] // val () = d2var_inc_linval (d2v) val () = let val s2e_sel = s2exp_topize (1, s2e_sel) val s2e = ( case+ ctxtopt of | Some (ctxt) => s2ctxt_hrepl (ctxt, s2e_sel) | None () => s2e ) : s2exp // end of [val] val () = d2var_set_type (d2v, Some (s2e)) in // nothing end // end of [val] in d3exp_sel_var (loc0, s2e_sel, d2v, s2rt, d3ls) end // end of [then] else ( d3exp_sel_var (loc0, s2e_sel, d2v, s2rt, d3ls) // there is no type-change ) (* end of [else] *) // end // end of [d2var_trup_selab_lin] (* ****** ****** *) (* ** HX-2012-05: ** [s2addr] implemented ** in [pats_trans3_deref] *) implement d2var_trup_selab_mut (loc0, loc, d2v, d2ls) = let // val- Some (s2l) = d2var_get_addr (d2v) // val d3ls = d2lablst_trup (d2ls) // (* val () = ( // if d3lablst_is_overld (d3ls) then { // val () = prerr_error3_loc (loc0) val () = prerrln! (": overloaded dot-symbol should be applied.") // val () = the_trans3errlst_add (T3E_d2var_mul_overld(loc0, d2v, d3ls)) // } (* end of [if] *) // ) (* end of [val] *) *) // var s2rt: s2exp val s2e_sel = s2addr_deref (loc0, s2l, d3ls, s2rt) // in d3exp_sel_var (loc0, s2e_sel, d2v, s2rt, d3ls) end // end of [d2var_trup_selab_mut] (* ****** ****** *) implement d2var_trup_selab (loc0, loc, d2v, d2ls) = ( // case+ 0 of | _ when d2var_is_linear (d2v) => d2var_trup_selab_lin (loc0, loc, d2v, d2ls) | _ when d2var_is_mutabl (d2v) => d2var_trup_selab_mut (loc0, loc, d2v, d2ls) | _ (*else*) => let val d3e = d2exp_trup_var_nonmut (loc, d2v) in d3exp_trup_selab (loc0, d3e, d2lablst_trup (d2ls)) end // end of [else] // ) (* end of [d2var_trup_selab] *) (* ****** ****** *) local fun auxerr_linrest ( loc0: location, d3e: d3exp, d3ls: d3lablst ) : void = let // val () = prerr_error3_loc (loc0) val () = prerrln! (": a linear component is abandoned by field selection.") // in the_trans3errlst_add (T3E_d3exp_selab_linrest (loc0, d3e, d3ls)) end // end of [auxerr_linrest] fun auxfinize ( loc0: location , s2e_sel: s2exp , d3e0: d3exp, d3ls0: d3lablst, d3ls: d3lablst, n: intGte(0) ) : d3exp = let in // case+ d3ls of // | list_cons (d3l, d3ls) => let val opt = d3l.d3lab_overld_app in case+ opt of | None () => auxfinize (loc0, s2e_sel, d3e0, d3ls0, d3ls, n+1) | Some (d3e_app) => let val d3ls_pre = list_take_exn (d3ls0, n) val d3ls_pre = list_of_list_vt (d3ls_pre) val s2e_app = d3exp_get_type (d3e_app) val-D3Eapp_dyn(d3e_fun, npf, d3es_arg) = d3e_app.d3exp_node val-list_cons (d3e_arg, d3es_arg) = d3es_arg val s2e_arg = d3exp_get_type (d3e_arg) val d3e_arg = d3exp_selab (loc0, s2e_arg, d3e0, d3ls_pre) val d3es_arg = list_cons (d3e_arg, d3es_arg) val d3e0_pre = d3exp_app_dyn (loc0, s2e_app, d3e_fun, npf, d3es_arg) in auxfinize (loc0, s2e_sel, d3e0_pre, d3ls, d3ls, 0) end end // end of [list_cons] // | list_nil((*void*)) => d3exp_selab (loc0, s2e_sel, d3e0, d3ls0) // end // end of [auxfinize] in (* in of [local] *) implement d3exp_trup_selab (loc0, d3e, d3ls) = let (* val () = println! ("d3exp_trup_selab: d3e = ", d3e) *) in // case+ d3ls of | list_cons _ => let // val s2e = d3exp_get_type (d3e) (* val () = println! ("d3exp_trup_selab: s2e = ", s2e) *) var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e, d3ls, linrest, sharing) val s2e_sel = s2exp_hnfize (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) val () = if (linrest > 0) then auxerr_linrest (loc0, d3e, d3ls) val+list_cons (d3l, d3ls1) = d3ls // in auxfinize (loc0, s2e_sel, d3e, d3ls, d3ls, 0) end // end of [list_cons] // | list_nil ((*void*)) => d3e // HX: there is no need to open the type // end (* end of [d3exp_trup_selab] *) end // end of [local] (* ****** ****** *) implement d2exp_trup_selab (loc0, d2rt, d2ls) = let // (* val () = println! ("d2exp_trup_selab: loc0 = ", loc0) val () = println! ("d2exp_trup_selab: d2rt = ", d2rt) *) in // case+ d2rt.d2exp_node of // | D2Evar (d2v) => let val loc = d2rt.d2exp_loc in d2var_trup_selab (loc0, loc, d2v, d2ls) end // end of [D2Evar] // | D2Ederef (d2e) => d2exp_trup_deref (loc0, d2e, d2ls) // | _ (*rest-of-d2exp*) => let val d3rt = d2exp_trup (d2rt) val d3ls = d2lablst_trup (d2ls) in d3exp_trup_selab (loc0, d3rt, d3ls) end (* end of [_] *) // end // end of [d2exp_trup_selab] (* ****** ****** *) (* end of [pats_trans3_selab.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_sort.dats0000664000175000017500000002345012655455557020147 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) (* s0rtid | IDENTIFIER_alp | IDENTIFIER_sym | BACKSLASH // for instant infixing | MINUSGT // for forming functional sorts /* | MINUSLTGT // HX: what is this for? */ *) implement p_s0rtid (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) (* val () = println! ("p_s0rtid: bt = ", bt) val () = println! ("p_s0rtid: err = ", err) val () = println! ("p_s0rtid: tok = ", tok) *) in // case+ tok.token_node of // | T_IDENT_alp (x) => let val () = incby1 () in i0de_make_string (loc, x) end | T_IDENT_sym (x) => let val () = incby1 () in i0de_make_string (loc, x) end // | T_BACKSLASH () => let val () = incby1 () in i0de_make_string (loc, "\\") end | T_MINUSGT () => let val () = incby1 () in i0de_make_string (loc, "->") end // | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0rtid) in synent_null () end // end of [_] // end // end of [p_s0rtid] (* s0rtq ::= i0de_dlr DOT *) implement p_s0rtq (buf, bt, err) = let val err0 = err val+~SYNENT2 (ent1, ent2) = pseq2_fun {i0de,token} (buf, bt, err, p_i0de_dlr, p_DOT) // end of [val] in if err = err0 then s0rtq_symdot (ent1, ent2) else synent_null () // end of [if] end // end of [p_s0rtq] (* ****** ****** *) fun p_s0rtseq_vt ( buf: &tokbuf , bt: int , err: &int ) : List_vt (s0rt) = pstar_fun0_COMMA {s0rt} (buf, bt, p_s0rt) // end of [p_s0rtseq_vt] (* ****** ****** *) (* atms0rt | s0rtid | T_TYPE // prop/view/type/viewtype/t0ype/viewt0ype | LPAREN s0rtseq RPAREN | s0rtq s0rtid /* | ATLPAREN s0rtseq RPAREN // for tuple sorts */ *) fun p_atms0rt_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : s0rt = let (* val () = println! ("p_atms0rt: bt = ", bt) val () = println! ("p_atms0rt: err = ", err) val () = println! ("p_atms0rt: tok = ", tok) *) val err0 = err var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun (buf, p_s0rtid, ent) => s0rt_i0de (synent_decode {i0de} (ent)) // | T_TYPE _ => let val () = incby1 () in s0rt_type (tok) end (* end of [T_TYPE] *) // | _ when ptest_fun (buf, p_s0rtq, ent) => let val bt = 0 val ent1 = synent_decode {s0rtq} (ent) val ent2 = p_s0rtid (buf, bt, err) // err = err0 in if err = err0 then s0rt_qid (ent1, ent2) else synent_null () // end of [if] end // | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_s0rtseq_vt (buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err = err0 in if ( err = err0 ) then ( s0rt_list (tok, l2l(ent2), ent3) ) else let val () = list_vt_free (ent2) in synent_null () end // end of [if] end (* end of [T_LPAREN] *) // | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_atms0rt_tok] fun p_atms0rt ( buf: &tokbuf, bt: int, err: &int ) : s0rt = ptokwrap_fun (buf, bt, err, p_atms0rt_tok, PE_atms0rt) // end of [p_atms0rt] (* ****** ****** *) (* s0rt ::= {atms0rt}+ *) implement p_s0rt (buf, bt, err) = let val xs = pstar1_fun (buf, bt, err, p_atms0rt) fun loop ( x0: s0rt, xs1: List_vt (s0rt) ) : s0rt = case+ xs1 of | ~list_vt_cons (x1, xs1) => let val x0 = s0rt_app (x0, x1) in loop (x0, xs1) end // end of [list_vt_cons] | ~list_vt_nil () => x0 // end of [loop] in // case+ xs of | ~list_vt_cons (x, xs) => loop (x, xs) | ~list_vt_nil () => synent_null () // HX: [err] changed // end // end of [p_s0rt] (* ****** ****** *) implement p_ofs0rtopt (buf, bt, err) = t2t (ptokentopt_fun (buf, is_OF, p_s0rt)) // end of [p_ofs0rtopt] implement p_colons0rtopt (buf, bt, err) = t2t (ptokentopt_fun (buf, is_COLON, p_s0rt)) // end of [p_colons0rtopt] (* ****** ****** *) (* s0arg ::= si0de [COLON s0rt] *) implement p_s0arg (buf, bt, err) = let // val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val ent1 = p_si0de (buf, bt, err) // in // if err = err0 then let val bt = 0 val ent2 = p_colons0rtopt (buf, bt, err) in s0arg_make (ent1, ent2) // end of [val] end // end of [then] else let (* val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_s0arg) *) in tokbuf_set_ntok_null (buf, n0) end // end of [else] // end // end of [p_s0arg] (* ****** ****** *) (* s0marg ::= si0de | LPAREN s0argseq RPAREN *) fun p_s0marg_tok ( buf: &tokbuf , bt: int, err: &int , tok: token ) : s0marg = let val err0 = err var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_si0de, ent ) => let val ent = synent_decode {i0de} (ent) val x = s0arg_make (ent, None ()) in s0marg_make_one (x) end | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {s0arg} (buf, bt, p_s0arg) val ent3 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then s0marg_make_many (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in synent_null () end (* end of [if] *) end | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_s0marg_tok] implement p_s0marg (buf, bt, err) = ptokwrap_fun (buf, bt, err, p_s0marg_tok, PE_s0marg) // end of [p_s0marg] (* ****** ****** *) (* a0srt ::= s0rtpol | si0de COLON s0rtpol *) implement p_a0srt (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val () = tokbuf_incby1 (buf) val tok2 = tokbuf_get_token (buf) val () = tokbuf_set_ntok (buf, n0) in // case+ tok2.token_node of | T_COLON () => let val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = pif_fun (buf, bt, err, p_COLON, err0) val ent3 = pif_fun (buf, bt, err, p_s0rt, err0) in if err = err0 then a0srt_make_some (ent1, ent3) else let (* val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_a0srt) // end of [val] *) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end | _ => let val ent1 = p_s0rt (buf, bt, err) in if ( err = err0 ) then ( a0srt_make_none (ent1) ) else let (* val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_a0srt) // end of [val] *) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end // end // end of [p_a0srt] (* ****** ****** *) implement p_a0msrt (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {a0srt} (buf, bt, p_a0srt) val ent3 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then a0msrt_make (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_a0msrt] (* ****** ****** *) (* d0atsrtcon ::= s0ide [OF s0ort] *) fun p_d0atsrtcon ( buf: &tokbuf, bt: int, err: &int ) : d0atsrtcon = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val ent1 = p_si0de (buf, bt, err) in // if err = err0 then let val bt = 0 val ent2 = p_ofs0rtopt (buf, bt, err) in d0atsrtcon_make (ent1, ent2) end // end of [then] else let (* // val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_d0atsrtcon) // *) in tokbuf_set_ntok_null (buf, n0) end // end of [else] // end // end of [p_d0atsrtcon] (* ****** ****** *) implement p_d0atsrtconseq (buf, bt, err) = let val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_BAR () => let val () = incby1 () val xs = pstar_fun0_BAR (buf, bt, p_d0atsrtcon) in l2l(xs) end // end of [T_BAR] | _ => let val xs = pstar_fun0_BAR (buf, bt, p_d0atsrtcon) in l2l(xs) end // end of [_] // end // end of [p_d0atsrtconseq] (* ****** ****** *) (* end of [pats_parsing_sort.dats] *) ATS2-Postiats-0.2.6/./src/pats_codegen2.sats0000664000175000017500000000566612655455557017153 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2015 // (* ****** ****** *) // staload S1E = "pats_staexp1.sats" // typedef e1xp = $S1E.e1xp typedef e1xplst = $S1E.e1xplst // (* ****** ****** *) // staload S2E = "pats_staexp2.sats" staload D2E = "pats_dynexp2.sats" // typedef s2cst = $S2E.s2cst typedef s2exp = $S2E.s2exp typedef d2cst = $D2E.d2cst typedef d2ecl = $D2E.d2ecl typedef d2eclist = $D2E.d2eclist // (* ****** ****** *) // fun datcon_test_e1xp(name: e1xp): bool fun datcontag_test_e1xp(name: e1xp): bool // fun fprint_test_e1xp(name: e1xp): bool // (* ****** ****** *) // fun codegen2_get_s2cst (name: e1xp): Option_vt(s2cst) fun codegen2_get_datype (name: e1xp): Option_vt(s2cst) // (* ****** ****** *) // fun codegen2_get_d2cst (name: e1xp): Option_vt(d2cst) // (* ****** ****** *) // fun codegen2_emit_tmpcstapp (out: FILEref, d2cf: d2cst): void fun codegen2_emit_tmpcstimp (out: FILEref, d2cf: d2cst): void fun codegen2_emit_tmpcstdec (out: FILEref, d2cf: d2cst): void // (* ****** ****** *) // fun codegen2_emit_s2exp (out: FILEref, s2e0: s2exp): void // (* ****** ****** *) // fun codegen2_process (out: FILEref, d2c0: d2ecl): void // (* ****** ****** *) // (* #codegen2(datcon, [datatype]) #codegen2(datcontag, [datatype]) *) // fun codegen2_datcon (out: FILEref, d2c0: d2ecl, xs: e1xplst): void fun codegen2_datcontag (out: FILEref, d2c0: d2ecl, xs: e1xplst): void // (* ****** ****** *) // (* #codegen2(fprint, [datatype]) *) // fun codegen2_fprint (out: FILEref, d2c0: d2ecl, xs: e1xplst): void // (* ****** ****** *) // fun d2eclist_codegen_out(out: FILEref, d2cs: d2eclist): void // (* ****** ****** *) (* end of [pats_codegen2.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans2.sats0000664000175000017500000002012312655455557016657 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload SYN = "./pats_syntax.sats" typedef s0rtq = $SYN.s0rtq (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) // // HX-2011-05: // the list of possible errors that may occur // during the level-2 translation // datatype trans2err = // | T2E_s1rt_tr of (s1rt) | T2E_s2var_check_tmplev of (s2var) | T2E_effvar_tr of (effvar) | T2E_s1exp_trup of (s1exp) | T2E_s1exp_trup_app of (s1exp) | T2E_s1exp_trdn of (s1exp, s2rt) | T2E_s1exp_trdn_impred of (s1exp) | T2E_s2exp_trdn of (location, s2exp, s2rt) // | T2E_S1Ed2ctype_tr of S1Ed2ctype // | T2E_s1arg_trdn of (s1arg, s2rt) | T2E_s1marg_trdn of (s1marg, s2rtlst) // | T2E_sp1at_trdn of (sp1at, s2rt) | T2E_sc2laulst_coverck_sort of (location, s2rt) | T2E_sc2laulst_coverck_sort of (location, s2rt) | T2E_sc2laulst_coverck_repeat of (location, sc2lau) | T2E_sc2laulst_coverck_missing of (location, s2cst) // | T2E_q1marg_tr_dec of (q1marg) | T2E_s1rtext_tr of (s1rtext) | T2E_s1expdef_tr of (s1expdef) | T2E_s1aspdec_tr of (s1aspdec) | T2E_s1aspdec_tr_arg of (s1aspdec, s1marg) | T2E_s1aspdec_tr_res of (s1aspdec, s2rt, s2rt) | T2E_d1atcon_tr of (d1atcon) | T2E_d1atdec_tr of (d1atdec) // | T2E_macdef_check of (location, d2mac) | T2E_macvar_check of (location, d2var) // | T2E_p1at_tr of (p1at) | T2E_d1exp_tr of (d1exp) | T2E_d1exp_tr_ann of (d1exp, s2exp) | T2E_i1nvarg_tr of (i1nvarg) | T2E_c1lau_tr of (c1lau) // | T2E_f1undec_tr of (f1undec) // | T2E_d1cstdec_tr of (d1cstdec) // | T2E_prv1ardec_tr of (v1ardec) // | T2E_d1ecl_tr_impdec of (d1ecl) | T2E_d1ecl_tr_impdec_nontop of (d1ecl) | T2E_d1ecl_tr_impdec_tmparg of (d1ecl) // | T2E_d1ecl_tr_overload of (d1ecl) | T2E_d1ecl_tr_overload_def of (location) | T2E_d1ecl_tr_staloadnm of (d1ecl) // // end of [trans2err] fun the_trans2errlst_add (x: trans2err): void fun the_trans2errlst_finalize (): void // cleanup all the errors (* ****** ****** *) fun s1rt_tr (s1t: s1rt): s2rt fun s1rtlst_tr (s1ts: s1rtlst): s2rtlst fun s1rtopt_tr (s1topt: s1rtopt): s2rtopt (* ****** ****** *) fun a1srt_tr_srt (x: a1srt): s2rt fun a1msrt_tr_srt (x: a1msrt): s2rtlst fun a1srt_tr_symsrt (x: a1srt): syms2rt fun a1msrt_tr_symsrt (x: a1msrt): syms2rtlst (* ****** ****** *) fun effcst_tr (efc: effcst): s2eff (* ****** ****** *) fun s1arg_trup (s1a: s1arg): s2var fun s1arglst_trup (s1as: s1arglst): s2varlst fun s1arg_trdn (s1a: s1arg, s2t: s2rt): s2var fun s1arglst_trdn_err (s1as: s1arglst, s2ts: s2rtlst, err: &int): s2varlst // end of [s1arglst_trdn_err] fun s1marg_trdn (s1ma: s1marg, s2ts: s2rtlst): s2varlst (* ****** ****** *) fun s1vararg_tr (s1a: s1vararg): s2vararg (* ****** ****** *) fun sp1at_trdn (sp1t: sp1at, s2t: s2rt): sp2at fun sc2laulst_coverck (loc0: location, xs: sc2laulst, s2t: s2rt): void // end of [sc2laulst_coverck] (* ****** ****** *) fun s1exp_trup (s1e: s1exp): s2exp fun s1exp_trup_hnfize (s1e: s1exp): s2exp fun s1explst_trup (s1es: s1explst): s2explst fun s1explst_trup_hnfize (s1es: s1explst): s2explst fun s1expopt_trup (s1es: s1expopt): s2expopt fun s2exp_trdn ( loc: location, s2e: s2exp, s2t: s2rt ) : s2exp // end of [s2exp_trdn] fun s1exp_trdn (s1e: s1exp, s2t: s2rt): s2exp fun s1exp_trdn_int (s1e: s1exp): s2exp fun s1exp_trdn_addr (s1e: s1exp): s2exp fun s1exp_trdn_bool (s1e: s1exp): s2exp fun s1exp_trdn_t0ype (s1e: s1exp): s2exp fun s1exp_trdn_vt0ype (s1e: s1exp): s2exp fun s1exp_trdn_impred (s1e: s1exp): s2exp fun s1explst_trdn_int (s1es: s1explst): s2explst fun s1explst_trdn_addr (s1es: s1explst): s2explst fun s1explst_trdn_bool (s1es: s1explst): s2explst fun s1explst_trdn_vt0ype (s1es: s1explst): s2explst fun s1explst_trdn_impred (s1es: s1explst): s2explst fun s1explst_trdn_err (s1es: s1explst, s2ts: s2rtlst, err: &int): s2explst // end of [s1explst_trdn_err] (* ****** ****** *) fun s1exp_trup_arg (s1e: s1exp, wths1es: &wths1explst): s2exp fun s1exp_trdn_arg_impred (s1e: s1exp, wths1es: &wths1explst): s2exp fun s1exp_trdn_res_impred (s1e: s1exp, wths1es: (wths1explst)): s2exp (* ****** ****** *) fun witht1ype_tr (wty: witht1ype): s2expopt (* ****** ****** *) // fun S1Ed2ctype_tr (d2ctp: S1Ed2ctype): s2exp // HX: $d2ctype(...) // (* ****** ****** *) // // HX: arg/res type translation // fun s1exp_tr_arg_up (s1e: s1exp, w1ts: &wths1explst): s2exp fun s1exp_trdn_arg_impredicative (s1e: s1exp, w1ts: &wths1explst): s2exp fun s1exp_trdn_res_impredicative (s1e: s1exp, w1ts: wths1explst): s2exp (* ****** ****** *) fun s1rtext_tr (s1te: s1rtext): s2rtext fun s1qualst_tr (s1qs: s1qualst): s2qua (* ****** ****** *) fun q1marg_tr (q1ma: q1marg): s2qua // HX: loc is discarded (* ** HX: [q1marg_tr_dec] for (template) decarg *) fun q1marg_tr_dec (q1ma: q1marg): s2qua // HX: [s2ps] must be nil (* ****** ****** *) fun s1exparg_tr (s1a: s1exparg): s2exparg fun s1exparglst_tr (s1as: s1exparglst): s2exparglst (* ****** ****** *) fun stasub_extend_sarglst_svarlst ( sub: &stasub, s1as: s1arglst, s2vs: s2varlst, serr: &int ) : s2varlst_vt // end of [fun] (* ****** ****** *) fun s1vararg_bind_svarlst ( s1v: s1vararg, s2vs: s2varlst, serr: &int ) : (stasub, s2varlst_vt) // end of [fun] (* fun s1marg_bind_svarlst ( s1ma: s1marg, s2vs: s2varlst, sub: stasub ) : (stasub, s2varlst) // end of [s1marg_bind_svarlst] fun t1mpmarg_bind_svarlst ( t1ma: t1mpmarg, s2vs: s2varlst, sub: stasub ) : (stasub, s2explst) // end of [t1mpmarg_bind_svarlst] *) (* ****** ****** *) fun t1mpmarg_tr (t1ma: t1mpmarg): t2mpmarg fun t1mpmarglst_tr (t1mas: t1mpmarglst): t2mpmarglst (* ****** ****** *) fun d1atcon_tr ( s2c: s2cst , islin: bool , isprf: bool , s2vss0: s2varlstlst , fil: filename , d1c: d1atcon ) : d2con // end of [d1atcon_tr] (* ****** ****** *) fun p1at_tr (p1t: p1at): p2at fun p1atlst_tr (p1ts: p1atlst): p2atlst fun labp1at_tr (lp1t: labp1at): labp2at fun p1at_tr_arg (p1t: p1at, w1ts: &wths1explst): p2at fun p1atlst_tr_arg (p1ts: p1atlst, w1ts: &wths1explst): p2atlst (* ****** ****** *) // // HX: used in [pats_trans3_env] // fun d2con_instantiate (loc: location, d2c: d2con): @(s2qualst, s2exp) // end of [d2con_instantiate] (* ****** ****** *) fun d1exp_tr (d1e: d1exp): d2exp fun d1explst_tr (d1es: d1explst): d2explst fun d1expopt_tr (d1es: d1expopt): d2expopt (* ****** ****** *) fun labd1exp_tr (ld1e: labd1exp): labd2exp (* ****** ****** *) fun d1lab_tr (d1l: d1lab): d2lab fun d1lablst_tr (d1ls: d1lablst): d2lablst (* ****** ****** *) fun i1mpdec_tr (d1c: d1ecl): Option_vt (i2mpdec) (* ****** ****** *) fun d1ecl_tr (d1c: d1ecl): d2ecl fun d1eclist_tr (d1cs: d1eclist): d2eclist (* ****** ****** *) fun d1eclist_tr_errck (d1cs: d1eclist): d2eclist (* ****** ****** *) (* end of [pats_trans2.sats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp1.sats0000664000175000017500000006702312655455557017050 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) datatype p1at_node = // | P1Tany of () // wildcard: (_) // expandable | P1Tany2 of () // wildcard: (_) // non-expandable // | P1Tide of symbol // variable // qua: constructor // unqua: variable | P1Tdqid of (d0ynq, symbol) // constructor/variable // | P1Tint of (int) // int constant | P1Tintrep of string(*rep*) // int constant | P1Tchar of char // char constant | P1Tfloat of string (*rep*)// floating point constant | P1Tstring of string // string constant // | P1Ti0nt of i0nt | P1Tf0loat of f0loat // | P1Tempty of () // empty pattern // | P1Tapp_sta of (p1at, s1vararglst) // static application | P1Tapp_dyn of (p1at, location(*arg*), int(*npf*), p1atlst) // constructor // | P1Tlist of (int (*pfarity*), p1atlst) // pattern list // | P1Ttup of (* boxed/unboxed tuples *) (int (*tupknd*), int (*pfarity*), p1atlst) | P1Trec of (* boxed/unboxed records *) (int (*recknd*), int (*pfarity*), labp1atlst) | P1Tlst of (int(*lin*), p1atlst) // list pattern // | P1Tfree of p1at (* freed constructor *) | P1Tunfold of p1at (* unfolded constructor *) // | P1Trefas of (symbol, location, p1at) // refvar [as] pattern // | P1Texist of (s1arglst, p1at) // existentially qualified | P1Tsvararg of s1vararg (* static argument *) // | P1Tann of (p1at, s1exp(*ann*)) // ascribed pattern // | P1Terrpat of () // HX: for indicating an error // end of [p1at_node] and labp1at_node = | LABP1ATnorm of (l0ab, p1at) | LABP1ATomit of () // end of [labp1at_node] where p1at = '{ p1at_loc= location, p1at_node= p1at_node } and p1atlst = List (p1at) and p1atopt = Option (p1at) and labp1at = '{ labp1at_loc= location, labp1at_node= labp1at_node } and labp1atlst = List (labp1at) (* ****** ****** *) fun p1at_make (loc: location, node: p1at_node): p1at // end of [p1at_make] (* ****** ****** *) fun p1at_any (loc: location): p1at fun p1at_any2 (loc: location): p1at // fun p1at_ide (_: location, id: symbol): p1at fun p1at_dqid (loc: location, dq: d0ynq, id: symbol): p1at // fun p1at_int (loc: location, int: int): p1at fun p1at_intrep (loc: location, rep: string): p1at fun p1at_char (loc: location, c: char): p1at fun p1at_float (loc: location, rep: string): p1at fun p1at_string (loc: location, s: string): p1at // fun p1at_i0nt (loc: location, x: i0nt): p1at fun p1at_c0har (loc: location, x: c0har): p1at fun p1at_f0loat (loc: location, x: f0loat): p1at fun p1at_s0tring (loc: location, x: s0tring): p1at // fun p1at_empty (loc: location): p1at fun p1at_app_dyn ( loc: location , p1t: p1at, loc_arg: location, npf: int, p1ts: p1atlst ) : p1at // end of [p1at_app_dyn] fun p1at_app_sta (loc: location, p1t: p1at, s1as: s1vararglst): p1at // end of [p1at_app_sta] fun p1at_list (loc: location, npf: int, xs: p1atlst): p1at fun p1at_tup (loc: location, knd: int, npf: int, xs: p1atlst): p1at fun p1at_rec (loc: location, knd: int, npf: int, xs: labp1atlst): p1at fun p1at_lst (loc: location, lin: int, xs: p1atlst): p1at fun p1at_free (loc: location, p1t: p1at): p1at fun p1at_unfold (loc: location, p1t: p1at): p1at fun p1at_refas (loc: location, id: symbol, loc_id: location, p1t: p1at): p1at fun p1at_exist (loc: location, arg: s1arglst, p1t: p1at): p1at fun p1at_svararg (loc: location, arg: s1vararg): p1at fun p1at_ann (loc: location, p1t: p1at, s1e: s1exp): p1at fun p1at_errpat (loc: location): p1at (* ****** ****** *) fun labp1at_norm (loc: location, l: l0ab, p1t: p1at): labp1at fun labp1at_omit (loc: location): labp1at (* ****** ****** *) fun print_p1at (p1t: p1at): void overload print with print_p1at fun prerr_p1at (p1t: p1at): void overload prerr with prerr_p1at fun fprint_p1at : fprint_type (p1at) fun fprint_p1atlst : fprint_type (p1atlst) fun fprint_labp1at : fprint_type (labp1at) fun fprint_labp1atlst : fprint_type (labp1atlst) (* ****** ****** *) // fun p1at_make_v1al (loc: location, v: v1al): p1at fun p1at_make_e1xp (loc: location, e: e1xp): p1at // fun e1xp_make_p1at (loc: location, p1t: p1at): e1xp // (* ****** ****** *) typedef i1nvarg = '{ i1nvarg_loc= location , i1nvarg_sym= symbol , i1nvarg_type= s1expopt } // end of [i1nvarg] typedef i1nvarglst = List i1nvarg typedef i1nvresstate = '{ i1nvresstate_qua= s1qualst, i1nvresstate_arg= i1nvarglst } // end of [i1nvresstate] typedef loopi1nv = '{ loopi1nv_loc= location , loopi1nv_qua= s1qualst (* quantifier *) , loopi1nv_met= s1explstopt (* metric *) , loopi1nv_arg= i1nvarglst (* argument *) , loopi1nv_res= i1nvresstate (* result *) } // end of [loopi1nv] (* ****** ****** *) fun i1nvarg_make (loc: location, id: symbol, opt: s1expopt): i1nvarg // end of [i1nvarg_make] fun i1nvresstate_make (s1qs: s1qualst, arg: i1nvarglst): i1nvresstate val i1nvresstate_nil: i1nvresstate fun loopi1nv_make ( loc: location , qua: s1qualst, met: s1explstopt, arg: i1nvarglst, res: i1nvresstate ) : loopi1nv // end of [loopi1nv_make] fun loopi1nv_nil (loc0: location): loopi1nv (* ****** ****** *) typedef intlst = List (int) (* ****** ****** *) datatype d1ecl_node = | D1Cnone of () | D1Clist of d1eclist // | D1Cpackname of (Stropt) // HX: #define ATS_PACKNAME ... // | D1Csymintr of (* overloaded symbol intr *) i0delst | D1Csymelim of (* overloaded symbol elim *) i0delst | D1Coverload of (i0de, dqi0de, int(*pval*)) // overloading // | D1Ce1xpdef of (symbol, e1xp) // HX: #define | D1Ce1xpundef of (symbol, e1xp) // HX: #undef // | D1Cpragma of (e1xplst) // HX: meta-programming | D1Ccodegen of (int(*kind*), e1xplst) // HX: meta-programming // | D1Cdatsrts of d1atsrtdeclst // datasorts | D1Csrtdefs of s1rtdeflst // sort definitions // | D1Cstacsts of s1tacstlst // static constants | D1Cstacons of (int(*knd*), s1taconlst) // static constructors (* | D1Cstavars of s1tavarlst // static variables // HX: removed *) | D1Ctkindef of t1kindef // primitive tkind | D1Csexpdefs of (int(*knd*), s1expdeflst) // static definitions | D1Csaspdec of s1aspdec // static assumption // | D1Cdatdecs of (int(*knd*), d1atdeclst, s1expdeflst) // DT declarations | D1Cexndecs of e1xndeclst // exception constructor declarations // | D1Cclassdec of (i0de, s1expopt) // | D1Cextype of (* external type *) (string (*name*), s1exp (*definition*)) | D1Cextype of (* external type *) (int(*knd*), string (*name*), s1exp (*definition*)) | D1Cextvar of (* external variable *) (string (*name*), d1exp (*definition*)) // | D1Cextcode of ( int(*knd: 0/1*), int(*pos: 0/1/2: top/?/end*), string(*code*) ) // end of [D1Cextcode] // | D1Cdcstdecs of ( int(*0/1:sta/ext*), dcstkind, q1marglst, d1cstdeclst // dyncst ) // end of [D2Cdcstdecs] // | D1Cmacdefs of (int(*knd*), bool(*isrec*), m1acdeflst) // | D1Cimpdec of (int(*knd*), i1mparg, i1mpdec) // knd=0/1: implement/primplement // end of [D1Cimpdec] // | D1Cfundecs of (funkind, q1marglst, f1undeclst) // function declaration | D1Cvaldecs of (valkind, bool(*isrec*), v1aldeclst) // val declarations | D1Cvardecs of (int(*knd*), v1ardeclst) (* variable declaration *) // knd=0/1:var/prvar // end of [D1Cvardecs] // | D1Cinclude of (int(*sta/dyn*), d1eclist) (* file inclusion *) // | D1Cstaload of (* staloading a file *) (symbolopt, filename, int(*loadflag*), d1eclist) | D1Cstaloadnm of (symbolopt(*alias*), symbol(*nspace*)) | D1Cstaloadloc of (filename(*pfil*), symbol(*nspace*), d1eclist) // | D1Cdynload of filename (* dynloading a file *) // | D1Clocal of (d1eclist(*head*), d1eclist(*body*)) // local declaration // end of [d1ecl_node] and d1exp_node = // | D1Eide of (symbol) // identifiers | D1Edqid of (d0ynq, symbol) // qualified identifiers // | D1Eidextapp of (symbol(*id*), d1explst) // id: external // | D1Eint of int // dynamic integers | D1Eintrep of string(*rep*) // dynamic integers | D1Ebool of bool // boolean constants | D1Echar of char // dynamic characters | D1Efloat of string(*rep*) (* dynamic floats *) | D1Estring of string (* dynamic strings *) // | D1Ei0nt of i0nt // dynamic integers | D1Ec0har of c0har // dynamic characters | D1Ef0loat of f0loat (* dynamic floats *) | D1Es0tring of s0tring (* dynamic strings *) // | D1Etop of () (* uninitialized exp *) | D1Eempty of () (* empty expression *) // | D1Ecstsp of cstsp // special constants // | D1Eliteral of d1exp // $literal: int, float, string // | D1Eextval of (s1exp (*type*), string (*name*)) | D1Eextfcall of // externally named fcall (s1exp(*res*), string(*fun*), d1explst(*arg*)) // end of [D1Eextfcall] | D1Eextmcall of // externally named fcall (s1exp(*res*), d1exp(*obj*), string(*method*), d1explst(*arg*)) // end of [D1Eextmcall] // | D1Efoldat of (* fold at a given address *) (s1exparglst, d1exp) | D1Efreeat of (* free at a given address *) (s1exparglst, d1exp) // | D1Etmpid of (dqi0de, t1mpmarglst) (* template instantiation *) // | D1Elet of (d1eclist, d1exp(*body*)) | D1Ewhere of (d1exp(*body*), d1eclist) | D1Edecseq of // = let decs in (*none*) end d1eclist (* HX: note that there is no [D2Edecseq] *) // | D1Eapp_dyn of (* dynamic application *) (d1exp, location(*arg*), int (*pfarity*), d1explst) | D1Eapp_sta of (* static application *) (d1exp, s1exparglst) // | D1Esing of (d1exp) // singleton | D1Elist of (int(*pfarity*), d1explst) // temporary // | D1Eifhead of (i1nvresstate, d1exp, d1exp, d1expopt) | D1Esifhead of (i1nvresstate, s1exp, d1exp, d1exp) // HX: no dangling else-branch | D1Ecasehead of (* case-expression *) (caskind, i1nvresstate, d1explst, c1laulst) | D1Escasehead of (i1nvresstate, s1exp, sc1laulst) // | D1Elst of (* dynamic list-expression *) (int (*lin*), s1expopt, d1explst) | D1Etup of (* dynamic tuple-expression *) (int (*tupknd*), int (*pfarity*), d1explst) | D1Erec of (* dynamic record-expression *) (int (*recknd*), int (*pfarity*), labd1explst) // HX: 0/1: flat/boxed | D1Eseq of d1explst // dynamic sequence-expression // | D1Earrsub of (* array subscription *) (d1exp, location(*ind*), d1explst(*ind*)) | D1Earrinit of (* array initialization *) (s1exp (*eltyp*), d1expopt (*asz*), d1explst (*elt*)) | D1Earrpsz of (* arraysize expression *) (s1expopt (*element type*), d1explst (*elements*)) // | D1Eptrof of d1exp // taking the address of | D1Eviewat of d1exp // taking view at a given address | D1Eselab of (int(*knd*), d1exp, d1lab) // | D1Eraise of (d1exp) // raised exception | D1Eeffmask of (effcst(*eff*), d1exp(*body*)) // $effmask(...) // | D1Eshowtype of (d1exp) // $showtype: for debugging // | D1Evcopyenv of (int(*knd=0/1*), d1exp) // $vcopyenv_v/$vcopyenv_vt // | D1Etempenver of (d1exp) // $tempenver: for environvar // | D1Esexparg of s1exparg (* for temporary use *) // | D1Eexist of (s1exparg, d1exp) // witness-carrying expression // | D1Elam_dyn of (* dynamic abstraction: alloc/init *) (int (*lin*), p1at, d1exp) | D1Elaminit_dyn of (* dynamic abstraction initialization *) (int (*lin*), p1at, d1exp) | D1Elam_met of (* metric abstraction *) (location (*loc_arg*), s1explst, d1exp) | D1Elam_sta_ana of (* static abstraction: analysis *) (location (*loc_arg*), s1vararg, d1exp) | D1Elam_sta_syn of (* static abstraction: synthesis *) (location (*loc_arg*), s1qualst, d1exp) // | D1Efix of // dynamic fixed-point expression (int(*knd: 0/1: flat/boxed*), i0de, d1exp) // | D1Edelay of (int(*knd*), d1exp(*body*)) // $delay and $ldelay // | D1Efor of ( // for-loop loopi1nv , d1exp(*ini*) , d1exp(*test*) , d1exp(*post*) , d1exp(*body*) ) // end of [D1Efor] | D1Ewhile of (loopi1nv, d1exp, d1exp) // while-loop // | D1Eloopexn of int(*knd*) // | D1Etrywith of (i1nvresstate, d1exp, c1laulst) // | D1Eann_type of (d1exp, s1exp) // ascribed dynexp | D1Eann_effc of (d1exp, effcst) // ascribed with effects | D1Eann_funclo of (d1exp, funclo) // ascribed with funtype // | D1Emacsyn of (macsynkind, d1exp) // macro syntax | D1Emacfun of (symbol(*name*), d1explst) // built-in macfun // | D1Esolassert of (d1exp) // $solver_assert(d1e_prf) | D1Esolverify of (s1exp) // $solver_verify(s1e_prop) // | D1Eerrexp of () // HX: placeholder for indicating an error // end of [d1exp_node] and d1lab_node = | D1LABlab of (label) | D1LABind of (d1explst) // end of [d1lab_node] (* ****** ****** *) where d1ecl = '{ d1ecl_loc= location, d1ecl_node= d1ecl_node } // end of [d1ec] and d1eclist = List (d1ecl) (* ****** ****** *) and d1exp = '{ d1exp_loc= location, d1exp_node= d1exp_node } and d1explst = List (d1exp) and d1expopt = Option (d1exp) and labd1exp = dl0abeled (d1exp) and labd1explst = List (labd1exp) (* ****** ****** *) and d1lab = '{ d1lab_loc= location, d1lab_node= d1lab_node } and d1lablst = List (d1lab) (* ****** ****** *) and gm1at = '{ gm1at_loc= location, gm1at_exp= d1exp, gm1at_pat= p1atopt } // end of [gm1at] and gm1atlst = List gm1at (* ****** ****** *) and c1lau = '{ c1lau_loc= location , c1lau_pat= p1at , c1lau_gua= gm1atlst , c1lau_seq= int , c1lau_neg= int , c1lau_body= d1exp } // end of [c1lau] and c1laulst = List c1lau (* ****** ****** *) and sc1lau = '{ sc1lau_loc= location , sc1lau_pat= sp1at , sc1lau_body= d1exp } // end of [sc1lau] and sc1laulst = List sc1lau (* ****** ****** *) and m1acdef = '{ m1acdef_loc= location , m1acdef_sym= symbol , m1acdef_arg= m1acarglst , m1acdef_def= d1exp } // end of [m1acdef] and m1acdeflst = List m1acdef (* ****** ****** *) and f1undec = '{ f1undec_loc= location , f1undec_sym= symbol , f1undec_sym_loc= location , f1undec_def= d1exp , f1undec_ann= witht1ype } // end of [f1undec] and f1undeclst = List f1undec (* ****** ****** *) and v1aldec = '{ v1aldec_loc= location , v1aldec_pat= p1at , v1aldec_def= d1exp , v1aldec_ann= witht1ype } // end of [v1aldec] and v1aldeclst = List (v1aldec) (* ****** ****** *) and v1ardec = '{ v1ardec_loc= location , v1ardec_knd= int (* knd=0/1:var/ptr *) , v1ardec_sym= symbol , v1ardec_sym_loc= location , v1ardec_pfat= i0deopt // proof of at-view , v1ardec_type= s1expopt (* type annotation *) , v1ardec_init= d1expopt // value for initialization } // end of [v1ardec] and v1ardeclst = List v1ardec (* ****** ****** *) and i1mpdec = '{ i1mpdec_loc= location , i1mpdec_qid= impqi0de , i1mpdec_tmparg= t1mpmarglst , i1mpdec_def= d1exp } // end of [i1mpdec] (* ****** ****** *) // // HX: dynamic expressions // (* ****** ****** *) fun d1exp_make (loc: location, node: d1exp_node): d1exp // end of [d1exp_make] fun d1exp_ide (loc: location, id: symbol): d1exp fun d1exp_opid (loc: location, id: symbol): d1exp fun d1exp_dqid (loc: location, dq: d0ynq, id: symbol): d1exp // fun d1exp_idext (loc: location, id: symbol): d1exp fun d1exp_idextapp (loc: location, id: symbol, arg: d1explst): d1exp // fun d1exp_int (loc: location, i: int): d1exp fun d1exp_intrep (loc: location, rep: string): d1exp fun d1exp_char (loc: location, c: char): d1exp fun d1exp_float (loc: location, rep: string): d1exp fun d1exp_string (loc: location, str: string): d1exp // fun d1exp_i0nt (loc: location, x: i0nt): d1exp fun d1exp_c0har (loc: location, x: c0har): d1exp fun d1exp_f0loat (loc: location, x: f0loat): d1exp fun d1exp_s0tring (loc: location, x: s0tring): d1exp // fun d1exp_top (loc: location): d1exp fun d1exp_empty (loc: location): d1exp // (* ****** ****** *) // fun d1exp_cstsp (loc: location, x: cstsp): d1exp // fun d1exp_literal (loc: location, lit: d1exp): d1exp // (* ****** ****** *) // fun d1exp_extval ( loc: location, _type: s1exp, name: string ) : d1exp // end of [d1exp_extval] // fun d1exp_extfcall ( loc: location , _type: s1exp, _fun: string, _arg: d1explst ) : d1exp // end of [d1exp_extfcall] fun d1exp_extmcall ( loc: location , _type: s1exp, _obj: d1exp, _mtd: string, _arg: d1explst ) : d1exp // end of [d1exp_extmcall] // (* ****** ****** *) fun d1exp_foldat (loc: location, arg: s1exparglst, d1e: d1exp): d1exp fun d1exp_freeat (loc: location, arg: s1exparglst, d1e: d1exp): d1exp fun d1exp_tmpid (loc: location, qid: dqi0de, decarg: t1mpmarglst): d1exp // end of [d1exp_tmpid] (* ****** ****** *) fun d1exp_let ( loc: location, d1cs: d1eclist, body: d1exp ) : d1exp // end of [d1exp_let] fun d1exp_where ( loc: location, body: d1exp, d1cs: d1eclist ) : d1exp // end of [d1exp_where] (* ****** ****** *) fun d1exp_app_sta ( loc: location, d1e: d1exp, s1as: s1exparglst ) : d1exp // end of [d1exp_app_sta] fun d1exp_app_dyn ( loc: location , d1e: d1exp, loc_arg: location, npf: int, d1es: d1explst ) : d1exp // end of [d1exp_app_dyn] (* ****** ****** *) // fun d1exp_sing (loc: location, d1e: d1exp): d1exp // fun d1exp_list (loc: location, npf: int, d1es: d1explst): d1exp // (* ****** ****** *) fun d1exp_ifhead ( loc: location , inv: i1nvresstate , _cond: d1exp , _then: d1exp , _else: d1expopt ) : d1exp // end of [d1exp_if] fun d1exp_sifhead ( loc: location , inv: i1nvresstate , _cond: s1exp , _then: d1exp , _else: d1exp ) : d1exp // end of [d1exp_if] fun d1exp_casehead ( loc: location , knd: caskind , inv: i1nvresstate , d1es: d1explst, c1las: c1laulst ) : d1exp // end of [d1exp_casehead] fun d1exp_scasehead ( loc: location , inv: i1nvresstate , s1e: s1exp, c1las: sc1laulst ) : d1exp // end of [d1exp_scasehead] (* ****** ****** *) fun d1exp_lst ( loc: location, knd: int, elt: s1expopt, d1es: d1explst ) : d1exp // end of [d1exp_lst] fun d1exp_tup ( loc: location, knd: int, npf: int, d1es: d1explst ) : d1exp // end of [d1exp_tup] fun d1exp_rec ( loc: location, knd: int, npf: int, ld1es: labd1explst ) : d1exp // end of [d1exp_rec] fun d1exp_seq (loc: location, d1es: d1explst): d1exp (* ****** ****** *) fun d1exp_arrsub ( loc: location, arr: d1exp, ind: location, ind: d1explst ) : d1exp // end of [d1exp_arrsub] fun d1exp_arrpsz (loc: location, elt: s1expopt, d1es: d1explst): d1exp // end of [d1exp_arrpsz] fun d1exp_arrinit ( loc: location, elt: s1exp, asz: d1expopt, d1es: d1explst ) : d1exp // end of [d1exp_arrinit] (* ****** ****** *) // fun d1exp_sexparg (loc: location, s1a: s1exparg): d1exp // fun d1exp_exist (loc: location, s1a: s1exparg, d1e: d1exp): d1exp // (* ****** ****** *) // fun d1exp_selab (loc: location, kind: int, root: d1exp, lab: d1lab): d1exp // end of [d1exp_selab] // (* ****** ****** *) fun d1exp_ptrof (loc: location, d1e: d1exp): d1exp fun d1exp_viewat (loc: location, d1e: d1exp): d1exp (* ****** ****** *) // fun d1exp_raise (loc: location, d1e: d1exp): d1exp // fun d1exp_effmask (loc: location, eff: effcst, d1e: d1exp): d1exp fun d1exp_effmask_arg (loc: location, knd: int, d1e: d1exp): d1exp // (* ****** ****** *) fun d1exp_showtype (loc: location, d1e: d1exp): d1exp (* ****** ****** *) fun d1exp_vcopyenv (loc: location, knd(*0/1*): int, d1e: d1exp): d1exp (* ****** ****** *) fun d1exp_tempenver (loc: location, d1e: d1exp): d1exp (* ****** ****** *) fun d1exp_lam_dyn (loc: location, lin: int, arg: p1at, body: d1exp): d1exp fun d1exp_laminit_dyn (loc: location, lin: int, arg: p1at, body: d1exp): d1exp fun d1exp_lam_met ( loc: location, loc_arg: location, met: s1explst, body: d1exp ) : d1exp // end of [d1exp_lam_met] fun d1exp_lam_sta_ana ( loc: location, loc_arg: location, arg: s1vararg, body: d1exp ) : d1exp // end of [d1exp_lam_sta_ana] fun d1exp_lam_sta_syn ( loc: location, loc_arg: location, arg: s1qualst, body: d1exp ) : d1exp // end of [d1exp_lam_sta_syn] fun d1exp_fix (loc: location, knd: int, id: i0de, d1e: d1exp): d1exp // end of [d1exp_fix] (* ****** ****** *) fun d1exp_delay (loc: location, knd: int, d1e: d1exp): d1exp (* ****** ****** *) fun d1exp_trywith ( loc: location, inv: i1nvresstate, d1e: d1exp, handler: c1laulst ) : d1exp // end of [d1exp_trywith] (* ****** ****** *) fun d1exp_for ( loc: location , inv: loopi1nv , init: d1exp, test: d1exp, post: d1exp, body: d1exp ) : d1exp // end of [d1exp_for] fun d1exp_while ( loc: location, inv: loopi1nv, test: d1exp, body: d1exp ) : d1exp // end of [d1exp_while] fun d1exp_loopexn (loc: location, knd: int): d1exp (* ****** ****** *) // fun d1exp_ann_type (loc: location, d1e: d1exp, s1e: s1exp): d1exp fun d1exp_ann_effc (loc: location, d1e: d1exp, efc: effcst): d1exp fun d1exp_ann_funclo (loc: location, d1e: d1exp, fc0: funclo): d1exp fun d1exp_ann_funclo_opt (loc: location, d1e: d1exp, fc0: funclo): d1exp // (* ****** ****** *) // fun d1exp_macsyn (loc: location, knd: macsynkind, d1e: d1exp): d1exp // fun d1exp_macfun (loc: location, name: symbol, d1es: d1explst): d1exp // (* ****** ****** *) // fun d1exp_solassert (loc: location, d1e_prf: d1exp): d1exp fun d1exp_solverify (loc: location, s1e_prop: s1exp): d1exp // (* ****** ****** *) // fun d1exp_errexp (loc: location): d1exp // indicating error // (* ****** ****** *) fun print_d1exp (x: d1exp): void overload print with print_d1exp fun prerr_d1exp (x: d1exp): void overload prerr with prerr_d1exp fun fprint_d1exp : fprint_type (d1exp) overload fprint with fprint_d1exp fun fprint_d1explst : fprint_type (d1explst) overload fprint with fprint_d1explst fun fprint_d1expopt : fprint_type (d1expopt) (* ****** ****** *) fun labd1exp_make (l: l0ab, d1e: d1exp): labd1exp fun fprint_labd1exp : fprint_type (labd1exp) fun fprint_labd1explst : fprint_type (labd1explst) (* ****** ****** *) fun d1exp_is_metric (d1e: d1exp): bool (* ****** ****** *) // fun d1exp_make_v1al (loc: location, v: v1al): d1exp fun d1exp_make_e1xp (loc: location, e: e1xp): d1exp // fun e1xp_make_d1exp (loc: location, d1e: d1exp): e1xp // (* ****** ****** *) fun d1lab_lab (loc: location, lab: label): d1lab fun d1lab_ind (loc: location, ind: d1explst): d1lab fun fprint_d1lab : fprint_type (d1lab) (* ****** ****** *) fun gm1at_make (loc: location, d1e: d1exp, opt: p1atopt): gm1at // end of [gm1at_make] fun c1lau_make ( loc: location , pat: p1at, gua: gm1atlst, seq: int, neg: int, body: d1exp ) : c1lau // end of [c1lau_make] fun sc1lau_make (loc: location, pat: sp1at, body: d1exp): sc1lau // end of [sc1lau_make] (* ****** ****** *) // // HX: for various itemized declarations // (* ****** ****** *) fun m1acdef_make ( loc: location, id: symbol, arg: m1acarglst, def: d1exp ) : m1acdef // end of [m1acdef_make] (* ****** ****** *) fun v1aldec_make (loc: location, pat: p1at, def: d1exp, typ: witht1ype): v1aldec // end of [v1aldec_make] (* ****** ****** *) fun f1undec_make ( loc: location, id: symbol, loc_id: location, def: d1exp, typ: witht1ype ) : f1undec // end of [f1undec_make] (* ****** ****** *) fun v1ardec_make ( loc: location , knd: int (* BANG: knd = 1 *) , id: symbol, loc_id: location , pfat: i0deopt, type: s1expopt, init: d1expopt ) : v1ardec // end of [v1ardec_make] (* ****** ****** *) fun i1mpdec_make ( loc: location , qid: impqi0de, tmparg: t1mpmarglst, def: d1exp ) : i1mpdec // end of [i1mpdec_make] (* ****** ****** *) // // HX: declarations // (* ****** ****** *) fun d1ecl_none (loc: location): d1ecl fun d1ecl_list (loc: location, ds: d1eclist): d1ecl (* ****** ****** *) fun d1ecl_packname (opt: Stropt): d1ecl (* ****** ****** *) fun d1ecl_symintr (loc: location, ids: i0delst): d1ecl fun d1ecl_symelim (loc: location, ids: i0delst): d1ecl (* ****** ****** *) fun d1ecl_overload (loc: location, id: i0de, qid: dqi0de, pval: int): d1ecl // end of [d1ecl_overload] (* ****** ****** *) // fun d1ecl_e1xpdef(loc: location, id: symbol, def: e1xp): d1ecl fun d1ecl_e1xpundef(loc: location, id: symbol, def: e1xp): d1ecl // (* ****** ****** *) // fun d1ecl_pragma(loc: location, e1xps: e1xplst): d1ecl fun d1ecl_codegen(loc: location, knd: int, xs: e1xplst): d1ecl // (* ****** ****** *) fun d1ecl_datsrts (loc: location, ds: d1atsrtdeclst): d1ecl fun d1ecl_srtdefs (loc: location, ds: s1rtdeflst): d1ecl fun d1ecl_stacsts (loc: location, ds: s1tacstlst): d1ecl fun d1ecl_stacons (loc: location, knd: int, ds: s1taconlst): d1ecl (* fun d1ecl_stavars (loc: location, ds: s1tavarlst): d1ecl *) fun d1ecl_tkindef (loc: location, d: t1kindef): d1ecl fun d1ecl_sexpdefs (loc: location, knd: int, ds: s1expdeflst): d1ecl // end of [d1ecl_sexpdefs] fun d1ecl_saspdec (loc: location, d: s1aspdec): d1ecl fun d1ecl_exndecs (loc: location, ds: e1xndeclst): d1ecl fun d1ecl_datdecs ( loc: location, knd: int, ds1: d1atdeclst, ds2: s1expdeflst ) : d1ecl // end of [d1ecl_datdecs] fun d1ecl_classdec (loc: location, id: i0de, sup: s1expopt): d1ecl fun d1ecl_dcstdecs ( loc: location , knd: int(*0/1:sta/ext*) , dck: dcstkind, qarg: q1marglst, d1cs: d1cstdeclst ) : d1ecl // end of [d1ecl_dcstdecs] fun d1ecl_extype ( loc: location, name: string, def: s1exp ) : d1ecl // end of [d1ecl_extype] fun d1ecl_extype2 ( loc: location, knd: int, name: string, def: s1exp ) : d1ecl // end of [d1ecl_extype] fun d1ecl_extvar ( loc: location, name: string, def: d1exp ) : d1ecl // end of [d1ecl_extvar] fun d1ecl_extcode ( loc: location, knd: int, pos: int, code: string ) : d1ecl // end of [d1ecl_extcode] (* ****** ****** *) fun d1ecl_macdefs ( loc: location, knd: int, isrec: bool, m1ds: m1acdeflst ) : d1ecl // end of [d1ecl_macdefs] (* ****** ****** *) fun d1ecl_impdec ( loc: location, knd: int, imparg: i1mparg, d1c: i1mpdec ) : d1ecl // end of [d1ecl_impdec] (* ****** ****** *) fun d1ecl_fundecs ( loc: location , knd: funkind, qarg: q1marglst, f1ds: f1undeclst ) : d1ecl // end of [d1ecl_fundecs] fun d1ecl_valdecs ( loc: location, knd: valkind, isrec: bool, v1ds: v1aldeclst ) : d1ecl // end of [d1ecl_valdecs] fun d1ecl_vardecs (loc: location, knd: int, v1ds: v1ardeclst): d1ecl (* ****** ****** *) fun d1ecl_include (loc: location, stadyn: int, ds: d1eclist): d1ecl // end of [d1ecl_include] (* ****** ****** *) // fun d1ecl_staload ( loc: location , idopt: symbolopt , cfil: filename, ldflag: int, d1cs: d1eclist ) : d1ecl // end of [d1ecl_staload] fun d1ecl_staloadnm (loc: location, alias: symbolopt, nspace: symbol): d1ecl fun d1ecl_staloadloc (loc: location, pfil: filename, nspace: symbol, d1cs: d1eclist): d1ecl // (* ****** ****** *) fun d1ecl_dynload (loc: location, fil: filename): d1ecl (* ****** ****** *) fun d1ecl_local (loc: location, ds1: d1eclist, ds2: d1eclist): d1ecl (* ****** ****** *) fun print_d1ecl (x: d1ecl): void fun prerr_d1ecl (x: d1ecl): void fun fprint_d1ecl : fprint_type (d1ecl) fun fprint_d1eclist : fprint_type (d1eclist) (* ****** ****** *) (* end of [pats_dynexp1.sats] *) ATS2-Postiats-0.2.6/./src/pats_label.dats0000664000175000017500000000737712655455557016526 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload SYM = "./pats_symbol.sats" overload compare with $SYM.compare_symbol_symbol (* ****** ****** *) staload "./pats_label.sats" (* ****** ****** *) datatype label = LABint of int | LABsym of symbol assume label_type = label (* ****** ****** *) implement label_make_int (int) = LABint (int) implement label_make_sym (sym) = LABsym (sym) (* ****** ****** *) implement label_make_string (str) = let val sym = $SYM.symbol_make_string (str) in LABsym (sym) end // end of [label_make_string] (* ****** ****** *) implement label_is_int (l) = case+ l of LABint _ => true | LABsym _ => false // end of [label_is_int] implement label_get_int (l) = case+ l of LABint (x) => Some_vt (x) | _ => None_vt () // end of [label_get_int] (* ****** ****** *) implement label_is_sym (l) = case+ l of LABint _ => false | LABsym _ => true // end of [label_is_sym] implement label_get_sym (l) = case+ l of LABsym (x) => Some_vt (x) | _ => None_vt () // end of [label_get_sym] (* ****** ****** *) implement label_dotize (l) = let // val dotname = ( // case+ l of | LABint (int) => string_of_strptr (sprintf (".%i", @(int))) // end of [LABint] | LABsym (sym) => string_of_strptr (sprintf (".%s", @($SYM.symbol_get_name (sym)))) // end of [LABsym] // ) : string // end of [val] // in $SYM.symbol_make_string (dotname) end // end of [label_dotize] (* ****** ****** *) implement eq_label_label (l1, l2) = compare_label_label (l1, l2) = 0 // end of [eq_label_label] implement neq_label_label (l1, l2) = compare_label_label (l1, l2) != 0 // end of [neq_label_label] (* ****** ****** *) implement compare_label_label (l1, l2) = let in // case+ (l1, l2) of | (LABint i1, LABint i2) => compare (i1, i2) | (LABsym s1, LABsym s2) => compare (s1, s2) | (LABint _, LABsym _) => ~1 | (LABsym _, LABint _) => 1 // end // end of [compare_label_label] (* ****** ****** *) implement tostring_label (l) = let in // case+ l of | LABint (int) => string_of_strptr (tostrptr_int (int)) | LABsym (sym) => $SYM.symbol_get_name (sym) // end // end of [tostring_label] (* ****** ****** *) implement fprint_label (out, x) = case+ x of | LABint (int) => fprint_int (out, int) | LABsym (sym) => $SYM.fprint_symbol (out, sym) // end of [fprint_label] implement print_label (x) = fprint_label (stdout_ref, x) implement prerr_label (x) = fprint_label (stderr_ref, x) (* ****** ****** *) (* end of [pats_label.dats] *) ATS2-Postiats-0.2.6/./src/pats_patcst2.dats0000664000175000017500000005565012655455557017024 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" // vtypedef charlst_vt = $UT.charlst_vt // macdef charset_add = $UT.charset_add macdef charset_sing = $UT.charset_sing macdef charset_is_member = $UT.charset_is_member macdef charset_listize = $UT.charset_listize // macdef fprint_charset = $UT.fprint_charset // (* ****** ****** *) // staload INTINF = "./pats_intinf.sats" // vtypedef intinflst_vt = $INTINF.intinflst_vt // overload = with $INTINF.eq_intinf_intinf // macdef intinf_make_int = $INTINF.intinf_make_int macdef intinf_make_string = $INTINF.intinf_make_string // macdef intinfset_add = $INTINF.intinfset_add macdef intinfset_sing = $INTINF.intinfset_sing macdef intinfset_is_member = $INTINF.intinfset_is_member macdef intinfset_listize = $INTINF.intinfset_listize // macdef fprint_intinf = $INTINF.fprint_intinf macdef fprint_intinfset = $INTINF.fprint_intinfset // (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_lexing.sats" // for T_* (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_p2atcst" (* ****** ****** *) staload LAB = "./pats_label.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_patcst2.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement i0nt2intinf (tok) = let // val-T_INT(_, rep, sfx) = tok.token_node // in // if sfx > 0u then let val n = string_length (rep) val sfx = $UN.cast2size(sfx) val ln = $UN.cast{size_t}(n - sfx) val rep2 = __make (rep, 0, ln) where { extern fun __make: (string,size_t,size_t)->Strptr1 = "atspre_string_make_substring" // end of [fun] } // end of [where] // end of [val] val intinf = $INTINF.intinf_make_string ($UN.castvwtp1{string}(rep2)) val ((*freed*)) = strptr_free (rep2) in intinf end // end of [then] else $INTINF.intinf_make_string (rep) // end of [if] // end // end of [i0nt2intinf] (* ****** ****** *) implement p2atcst_lst (lin, xs) = let // (* val () = println! ("p2atcst_lst: lin = ", lin) *) // val isnonlin = ( if lin >= 0 then not(test_linkind(lin)) else true ) : bool // end of [val] // val s2c = ( if isnonlin then s2cstref_get_cst (the_list_t0ype_int_type) else s2cstref_get_cst (the_list_vt0ype_int_vtype) ) : s2cst // end of [val] // val-Some xx = s2cst_get_islst (s2c) val d2c_nil = xx.0 and d2c_cons = xx.1 // fun auxlst ( xs: p2atcstlst ) : p2atcst = ( case+ xs of | list_nil () => P2TCcon (d2c_nil, list_nil()) | list_cons (x, xs) => P2TCcon(d2c_cons, list_pair(x, auxlst(xs))) ) (* end of [auxlst] *) // in auxlst (xs) end // end of [p2atcst_lst] (* ****** ****** *) implement p2atcstlstlst_vt_free (xss) = ( case+ xss of | ~list_vt_cons (xs, xss) => let val () = list_vt_free (xs) in p2atcstlstlst_vt_free (xss) end // end of [list_vt_cons] | ~list_vt_nil () => () ) // end of [p2atcstlstlst_vt_free] implement p2atcstlstlst_vt_copy (xss) = ( list_map_fun ($UN.castvwtp1{p2atcstlstlst}(xss), lam (xs) =<0> list_copy (xs)) ) // end of [p2atcstlstlst_vt_copy] (* ****** ****** *) // implement fprint_p2atcst (out, p2tc) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ p2tc of // | P2TCany () => fprint_char (out, '_') // | P2TCcon (d2c, p2tcs) => { val () = fprint_d2con (out, d2c); val () = prstr "(" val () = fprint_p2atcstlst (out, p2tcs) val () = prstr ")" } // end of [P2TCcon] // | P2TCempty () => prstr "P2TCempty()" // | P2TCint (int) => { val () = fprint_intinf (out, int) } | P2TCintc (ints) => { val () = prstr "[^" val () = fprint_intinfset (out, ints) val () = prstr "]" } // end of [P2TCintc] // | P2TCbool (b) => { val () = fprint_bool (out, b) } | P2TCchar (c) => { val () = fprint_char (out, c) } | P2TCcharc (cs) => { val () = prstr "[^" val () = fprint_charset (out, cs) val () = prstr "]" } | P2TCfloat (rep) => { val () = fprint_string (out, rep) } | P2TCstring (x) => { val () = fprintf (out, "\"%s\"", @(x)) } // | P2TCrec (knd, lp2tcs) => { val () = if knd = 0 then fprint_char (out, '@') val () = if knd > 0 then fprint_char (out, '\'') val () = prstr "{" val () = fprint_labp2atcstlst (out, lp2tcs) val () = prstr "}" } // end of [P2TCrec] // end // end of [fprint_p2atcst] // implement print_p2atcst (x) = fprint_p2atcst (stdout_ref, x) implement prerr_p2atcst (x) = fprint_p2atcst (stderr_ref, x) // (* ****** ****** *) implement fprint_p2atcstlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_p2atcst) // end of [fprint_p2atcstlst] (* ****** ****** *) implement print_p2atcstlst (xs) = fprint_p2atcstlst (stdout_ref, xs) implement prerr_p2atcstlst (xs) = fprint_p2atcstlst (stderr_ref, xs) implement print_p2atcstlst_vt (xs) = fprint_p2atcstlst (stdout_ref, $UN.castvwtp1{p2atcstlst}(xs)) // end of [print_p2atcstlst_vt] implement prerr_p2atcstlst_vt (xs) = fprint_p2atcstlst (stderr_ref, $UN.castvwtp1{p2atcstlst}(xs)) // end of [prerr_p2atcstlst_vt] (* ****** ****** *) fun fprint_labp2atcst ( out: FILEref, lp2tc: labp2atcst ) : void = let val LABP2ATCST (l, p2tc) = lp2tc in $LAB.fprint_label (out, l); fprint_string (out, "= "); fprint_p2atcst (out, p2tc) end // end of [fprint_lab;2atcst] implement fprint_labp2atcstlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labp2atcst) // end of [fprint_labp2atcstlst] implement print_labp2atcstlst (xs) = fprint_labp2atcstlst (stdout_ref, xs) implement prerr_labp2atcstlst (xs) = fprint_labp2atcstlst (stderr_ref, xs) (* ****** ****** *) implement fprint_p2atcstlstlst (out, xss) = let val () = $UT.fprintlst (out, xss, "\n", fprint_p2atcstlst) in fprint_newline (out) end // end of [fprint_p2atcstlst] implement print_p2atcstlstlst (xss) = fprint_p2atcstlstlst (stdout_ref, xss) implement prerr_p2atcstlstlst (xss) = fprint_p2atcstlstlst (stderr_ref, xss) implement print_p2atcstlstlst_vt (xss) = fprint_p2atcstlstlst (stdout_ref, $UN.castvwtp1{p2atcstlstlst}(xss)) // end of [print_p2atcstlstlst_vt] implement prerr_p2atcstlstlst_vt (xss) = fprint_p2atcstlstlst (stderr_ref, $UN.castvwtp1{p2atcstlstlst}(xss)) // end of [prerr_p2atcstlstlst_vt] (* ****** ****** *) fun p2at2cstlst_vt ( p2ts: p2atlst ) : p2atcstlst_vt = list_map_fun (p2ts, p2at2cst) // end of [p2at2cstlst_vt] implement p2at2cstlst (p2ts) = l2l (p2at2cstlst_vt (p2ts)) (* ****** ****** *) fun labp2at2cstlst_vt (lp2ts: labp2atlst): labp2atcstlst_vt = case+ lp2ts of | list_cons (lp2t, lp2ts) => ( case+ lp2t of | LABP2ATnorm (l0, p2t) => let val l = l0.l0ab_lab and p2tc = p2at2cst (p2t) in list_vt_cons (LABP2ATCST (l, p2tc), labp2at2cstlst_vt lp2ts) end // end of [LABP2ATnorm] | LABP2ATomit (loc) => labp2at2cstlst_vt (lp2ts) ) // end of [list_cons] | list_nil () => list_vt_nil () // end of [labp2at2cstlst_vt] (* ****** ****** *) implement p2at2cst (p2t0) = let // in // case+ p2t0.p2at_node of // | P2Tvar _ => P2TCany () | P2Tany () => P2TCany () // | P2Tcon (_, d2c, _, _, _, p2ts) => P2TCcon (d2c, p2at2cstlst (p2ts)) // end of [P2Tcon] // | P2Tempty () => P2TCempty () // | P2Tint (i) => let val i = intinf_make_int (i) in P2TCint (i) end // end of [P2Tint] | P2Tintrep (rep) => let val i = intinf_make_string (rep) in P2TCint (i) end // end of [P2Tint] // | P2Tbool (b) => P2TCbool (b) | P2Tchar (c) => P2TCchar (c) | P2Tfloat (rep) => P2TCfloat (rep) | P2Tstring (str) => P2TCstring (str) // | P2Ti0nt (tok) => let val i0 = i0nt2intinf (tok) in P2TCint (i0) end // end of [P2Ti0nt] | P2Tf0loat (tok) => let val-T_FLOAT(base, rep, sfx) = tok.token_node in P2TCfloat (rep) end // end of [P2Tf0loat] // | P2Tlst (lin, p2ts) => p2atcst_lst (lin, p2at2cstlst (p2ts)) // | P2Trec ( recknd, npf, lp2ts ) => let var !p_clo = @lam ( lx1: &labp2atcst , lx2: &labp2atcst ) : int =<0> let val LABP2ATCST (l1, _) = lx1 and LABP2ATCST (l2, _) = lx2 in $LAB.compare_label_label (l1, l2) end // end of [var] val lp2tcs = labp2at2cstlst_vt (lp2ts) val lp2tcs = list_vt_mergesort (lp2tcs, !p_clo) in P2TCrec (recknd, (l2l)lp2tcs) end // end of [P2Trec] // | P2Trefas (_(*d2v*), p2t) => p2at2cst (p2t) // | P2Texist (_(*s2vs*), p2t) => p2at2cst (p2t) // | P2Tvbox _ => P2TCany () // HX: only [vbox(d2v)] is allowed // | P2Tann (p2t, _) => p2at2cst (p2t) // | _ (* P2T-rest *) => let val () = prerr_interror_loc (p2t0.p2at_loc) val () = prerrln! (": p2at2cst: p2t0 = ", p2t0) in let val ((*exit*)) = assertloc(false) in P2TCany() end end // end of [P2T-rest] // end (* end of [p2at2cst] *) (* ****** ****** *) fun p2atcst_comp_con ( d2c0: d2con , d2cs: d2conlst, arg: p2atcstlst ) : p2atcstlst_vt = let // fun auxanys ( n: int, res: p2atcstlst_vt ) : p2atcstlst_vt = if n > 0 then auxanys (n-1, list_vt_cons (P2TCany, res)) else res (* end of [if] *) // fun auxmain ( d2c0, d2cs: d2conlst, arg: p2atcstlst ) : p2atcstlst_vt = case+ d2cs of | list_cons (d2c, d2cs) => ( if d2c0 = d2c then let val carglst = p2atcstlst_comp (arg) val carglst = __cast (carglst) where { extern castfn __cast (xss: p2atcstlstlst_vt): List_vt (p2atcstlst) } // end of [val] // HX: this is a safe cast val res1 = list_map_cloptr ( $UN.castvwtp1{p2atcstlstlst}(carglst), lam x =<0> P2TCcon (d2c, x) ) // end of [val] val () = list_vt_free (carglst) val res2 = auxmain (d2c0, d2cs, arg) in list_vt_append (res1, res2) end else let val anys = auxanys (d2con_get_arity_full d2c, list_vt_nil ()) // end of [val] val p2tc = P2TCcon (d2c, (l2l)anys) val res = auxmain (d2c0, d2cs, arg) in list_vt_cons (p2tc, res) end // end of [if] ) // end of [list_cons] | list_nil () => list_vt_nil () // end of [auxmain] in auxmain (d2c0, d2cs, arg) end // end of [p2atcst_comp_con] (* ****** ****** *) implement p2atcst_comp (p2tc0) = let in // case+ p2tc0 of | P2TCany () => list_vt_nil () // | P2TCcon (d2c0, p2tcs) => let val tag = d2con_get_tag (d2c0) in if tag >= 0 then let val s2c0 = d2con_get_scst (d2c0) val-Some (d2cs) = s2cst_get_dconlst (s2c0) in p2atcst_comp_con (d2c0, d2cs, p2tcs) end else // HX: [d2c0] associated with an extensible sum list_vt_sing (P2TCany ()) // end of [if] end // end of [P2TCcon] // | P2TCempty () => list_vt_nil () // | P2TCint (x) => let val xs = intinfset_sing (x) in list_vt_sing (P2TCintc (xs)) end // end of [P2TCint] | P2TCintc (xs) => let fun aux ( xs: intinflst_vt ) : p2atcstlst_vt = ( case+ xs of | ~list_vt_nil () => list_vt_nil () | ~list_vt_cons (x, xs) => list_vt_cons (P2TCint (x), aux (xs)) ) (* end of [aux] *) in aux (intinfset_listize (xs)) end // end of [P2TCintc] // | P2TCbool (b) => list_vt_sing (P2TCbool (~b)) // | P2TCchar (c) => let val cs = charset_sing (c) in list_vt_sing (P2TCcharc (cs)) end // end of [P2TCchar] | P2TCcharc (cs) => let fun aux ( cs: charlst_vt ) : p2atcstlst_vt = ( case+ cs of | ~list_vt_nil () => list_vt_nil () | ~list_vt_cons (x, cs) => list_vt_cons (P2TCchar (x), aux (cs)) ) (* end of [aux] *) in aux (charset_listize (cs)) end // end of [P2TCcharc] // (* | P2TCchar _ => list_vt_sing (P2TCany ()) // conservative estimate *) // | P2TCfloat _ => list_vt_sing (P2TCany ()) // conservative estimate | P2TCstring _ => list_vt_sing (P2TCany ()) // conservative estimate // | P2TCrec (knd, arg) => res where { val carglst = labp2atcstlst_comp (arg) val carglst = __cast (carglst) where { extern castfn __cast (xss: labp2atcstlstlst_vt): List_vt (labp2atcstlst) } // end of [val] // HX: this is a safe cast val res = list_map_cloptr ( $UN.castvwtp1{labp2atcstlstlst}(carglst), lam x =<0> P2TCrec (knd, x) ) (* end of [val] *) val () = list_vt_free (carglst) } (* end of [P2TCrec] *) // (* | _ (*exhausted*) => let val () = assertloc (false) in exit (1) end // end of [_] *) end // end of [p2atcst_comp] (* ****** ****** *) implement p2atcstlst_comp (p2tcs0) = let // fun auxanys ( xs: p2atcstlst, res: p2atcstlst_vt ) : p2atcstlst_vt = case+ xs of | list_cons (x, xs) => auxanys (xs, list_vt_cons (P2TCany, res)) | list_nil () => res // end of [auxanys] in // case+ p2tcs0 of // | list_nil () => list_vt_nil () // | list_cons (p2tc1, p2tcs1) => let // val res1 = let fun aux ( xss: p2atcstlstlst_vt ) : p2atcstlstlst_vt = ( case+ xss of | ~list_vt_cons (xs, xss) => let val ys = list_vt_cons (p2tc1, xs) // end of [val] in list_vt_cons (ys, aux (xss)) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () ) (* end of [aux] *) in aux (p2atcstlst_comp (p2tcs1)) end // end of [val] // val res2 = let fun aux ( xs: p2atcstlst_vt ) : p2atcstlstlst_vt = case+ xs of | ~list_vt_cons (x, xs) => let val ys = list_vt_cons (x, auxanys (p2tcs1, list_vt_nil)) // end of [val] in list_vt_cons (ys, aux (xs)) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux] in aux (p2atcst_comp (p2tc1)) end // end of [val] // in list_vt_append (res1, res2) end // end of [list_cons] // end // end of [p2atcstlst_comp] (* ****** ****** *) fun labp2atcst_comp ( lp2tc: labp2atcst ) : labp2atcstlst_vt = let val LABP2ATCST (l, p2tc) = lp2tc val cp2tcs = p2atcst_comp (p2tc) val res = list_map_cloptr ($UN.castvwtp1{p2atcstlst}(cp2tcs), lam x =<0> LABP2ATCST (l, x)) val () = list_vt_free (cp2tcs) in res end // end of [labp2atcst_comp] (* ****** ****** *) implement labp2atcstlst_comp (lp2tcs0) = let in // case+ lp2tcs0 of // | list_nil () => list_vt_nil () // | list_cons (lp2tc1, lp2tcs1) => let val res1 = let fun aux ( xss: labp2atcstlstlst_vt ) : labp2atcstlstlst_vt = case+ xss of | ~list_vt_cons (xs, xss) => let val ys = list_vt_cons (lp2tc1, xs) in list_vt_cons (ys, aux xss) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux] in aux (labp2atcstlst_comp (lp2tcs1)) end // end of [val] val res2 = let fun aux ( xs: labp2atcstlst_vt ) : labp2atcstlstlst_vt = case+ xs of | ~list_vt_cons (x, xs) => let val ys = list_vt_sing (x) in list_vt_cons (ys, aux (xs)) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux] in aux (labp2atcst_comp (lp2tc1)) end // end of [val] in list_vt_append (res1, res2) end // end of [list_cons] // end // end of [labp2atcst_comp] (* ****** ****** *) implement c2lau_pat_any (c2l) = let // val p2ts = c2l.c2lau_pat // in list_vt_sing(list_map_fun(p2ts, lam(_) = P2TCany())) end // end of [c2lau_pat_any] (* ****** ****** *) implement c2lau_pat_comp (c2l) = let // val p2ts = c2l.c2lau_pat (* val () = fprintln! ( stdout_ref, "c2lau_pat_comp: c2l.c2lau_pat = ", p2ts ) (* end of [val] *) *) // in // case+ c2l.c2lau_gua of | list_cons _ => let (* // // HX: conservative estimate: [c2l] cannot be chosen // *) val anys = list_map_fun (p2ts, lam _ =<0> P2TCany ()) in list_vt_sing (anys) end // end of [list_cons] | list_nil () => let val p2tcs = list_map_fun (p2ts, p2at2cst) val cp2tcss = p2atcstlst_comp ($UN.castvwtp1{p2atcstlst}(p2tcs)) val () = list_vt_free (p2tcs) in cp2tcss end // end of [list_nil] end // end of [c2lau_pat_complement] (* ****** ****** *) implement p2atcst_inter_test (p2tc1, p2tc2) = let in // case+ ( p2tc1, p2tc2 ) of | (P2TCany (), _) => true | (_, P2TCany ()) => true | (P2TCcon (d2c1, p2tcs1), P2TCcon (d2c2, p2tcs2)) => ( if d2c1 = d2c2 then p2atcstlst_inter_test (p2tcs1, p2tcs2) else false // end of [if] ) // end of [P2TCcon, P2TCcon] | (P2TCempty (), P2TCempty ()) => true // | (P2TCint i1, P2TCint i2) => (i1 = i2) | (P2TCint x, P2TCintc xs) => if intinfset_is_member (xs, x) then false else true | (P2TCintc xs, P2TCint x) => if intinfset_is_member (xs, x) then false else true // | (P2TCbool b1, P2TCbool b2) => (b1 = b2) // | (P2TCchar c1, P2TCchar c2) => (c1 = c2) | (P2TCchar x, P2TCcharc xs) => if charset_is_member (xs, x) then false else true | (P2TCcharc xs, P2TCchar x) => if charset_is_member (xs, x) then false else true // | (P2TCrec (_, lp2atcs1), P2TCrec (_, lp2atcs2)) => labp2atcstlst_inter_test (lp2atcs1, lp2atcs2) // end of [P2TCrec, P2TCrec] | (_, _) => true (* HX: being conservative *) // end (* end of [p2atcst_inter_test] *) implement p2atcstlst_inter_test (xs1, xs2) = let in // case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => if p2atcst_inter_test (x1, x2) then p2atcstlst_inter_test (xs1, xs2) else false // end of [if] | list_nil () => false ) // end of [list_cons] | list_nil () => ( case+ xs2 of list_cons _ => false | list_nil () => true ) // end of [list_nil] // end // end of [p2atcstlst_inter_test] implement labp2atcstlst_inter_test (lxs10, lxs20) = let in // case+ lxs10 of | list_cons (lx1, lxs1) => ( case+ lxs20 of | list_cons (lx2, lxs2) => let val LABP2ATCST (l1, x1) = lx1 val LABP2ATCST (l2, x2) = lx2 val sgn = $LAB.compare_label_label (l1, l2) in if sgn < 0 then labp2atcstlst_inter_test (lxs1, lxs20) else if sgn > 0 then labp2atcstlst_inter_test (lxs10, lxs2) else ( if p2atcst_inter_test (x1, x2) then labp2atcstlst_inter_test (lxs1, lxs2) else false // end of [if] ) // end of [if] end // end of [list_cons] | list_nil () => true ) // end of [list_cons] | list_nil () => true // end // end of [labp2atcstlst_inter_test] (* ****** ****** *) implement p2atcst_diff (p2tc1, p2tc2) = let in // case+ (p2tc1, p2tc2) of | (_, P2TCany ()) => list_vt_nil () | (P2TCany (), _) => p2atcst_comp (p2tc2) // | (P2TCint i1, P2TCint i2) => if i1 = i2 then list_vt_nil else list_vt_sing (p2tc1) // end of [P2TCint, P2TCint] | (P2TCintc xs, P2TCint x) => ( if intinfset_is_member (xs, x) then list_vt_sing (p2tc1) else let val xs = intinfset_add (xs, x) in list_vt_sing (P2TCintc (xs)) end // end of [if] ) // end of [P2TCintc, P2TCint] | (P2TCint x, P2TCintc xs) => if intinfset_is_member (xs, x) then list_vt_sing (p2tc1) else list_vt_nil // | (P2TCbool b1, P2TCbool b2) => if b1 = b2 then list_vt_nil else list_vt_sing (p2tc1) // end of [P2TCbool, P2TCbool] // | (P2TCchar c1, P2TCchar c2) => begin if c1 = c2 then list_vt_nil else list_vt_sing (p2tc1) end // end of [P2TCchar, P2TCchar] | (P2TCcharc xs, P2TCchar x) => ( if charset_is_member (xs, x) then list_vt_sing (p2tc1) else let val xs = charset_add (xs, x) in list_vt_sing (P2TCcharc (xs)) end // end of [if] ) // end of [P2TCcharc, P2TCchar] | (P2TCchar x, P2TCcharc xs) => if charset_is_member (xs, x) then list_vt_sing (p2tc1) else list_vt_nil // | (P2TCstring s1, P2TCstring s2) => if s1 = s2 then list_vt_nil else list_vt_sing (p2tc1) // end of [P2TCstring, P2TCstring] // | (P2TCcon (d2c1, p2tcs1), P2TCcon (d2c2, p2tcs2)) => ( if d2c1 = d2c2 then let val p2tcss = p2atcstlst_diff (p2tcs1, p2tcs2) val p2tcss = __cast (p2tcss) where { extern castfn __cast (xs: p2atcstlstlst_vt): List_vt (p2atcstlst) } // end of [val] // HX: this is a safe cast val res = list_map_cloptr ($UN.castvwtp1{p2atcstlstlst}(p2tcss), lam xs =<0> P2TCcon (d2c1, xs)) val () = list_vt_free (p2tcss) in res end else list_vt_sing (p2tc1) // end of [if] ) // end of [P2TCcon, P2TCcon] | (P2TCempty (), P2TCempty ()) => list_vt_nil () | (_, _) => list_vt_sing (p2tc1) // end // end of [p2atcst_diff] (* ****** ****** *) implement p2atcstlst_diff (xs1, xs2) = let in // case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => let fun aux1 ( x1: p2atcst, xss: p2atcstlstlst_vt ) : p2atcstlstlst_vt = case+ xss of | ~list_vt_cons (xs, xss) => list_vt_cons (list_vt_cons (x1, xs), aux1 (x1, xss)) // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux1] val p2tcss_res1 = let val xss = p2atcstlst_diff (xs1, xs2) in aux1 (x1, xss) end // end of [val] fun aux2 ( xs: p2atcstlst_vt, xs1: p2atcstlst ) : p2atcstlstlst_vt = case+ xs of | ~list_vt_cons (x, xs) => let val xs1_ = list_copy (xs1) in list_vt_cons (list_vt_cons (x, xs1_), aux2 (xs, xs1)) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux2] val p2tcss_res2 = aux2 (p2atcst_diff (x1, x2), xs1) in list_vt_append (p2tcss_res1, p2tcss_res2) end // end of [list_cons] | list_nil () => list_vt_nil () ) // end of [list_cons] | list_nil () => p2atcstlst_comp (xs2) // end (* end of [p2atcstlst_diff] *) (* ****** ****** *) (* end of [pats_patcst2.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_decl.dats0000664000175000017500000015633612655455557017647 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" macdef castvwtp1 = $UN.castvwtp1 (* ****** ****** *) staload ERR = "./pats_error.sats" staload GLOB = "./pats_global.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans2_decl" (* ****** ****** *) // staload FIL = "./pats_filename.sats" // overload print with $FIL.print_filename_full // (* ****** ****** *) staload SYM = "./pats_symbol.sats" // macdef EQEQ = $SYM.symbol_EQEQ // overload = with $SYM.eq_symbol_symbol overload != with $SYM.neq_symbol_symbol // overload print with $SYM.print_symbol // (* ****** ****** *) staload SYN = "./pats_syntax.sats" typedef i0de = $SYN.i0de typedef i0delst = $SYN.i0delst typedef s0taq = $SYN.s0taq typedef d0ynq = $SYN.d0ynq typedef dqi0de = $SYN.dqi0de typedef impqi0de = $SYN.impqi0de typedef dcstextdef = $SYN.dcstextdef (* ****** ****** *) overload print with $SYN.print_i0de overload print with $SYN.print_dqi0de (* ****** ****** *) macdef prerr_dqid (dq, id) = ($SYN.prerr_d0ynq ,(dq); $SYM.prerr_symbol ,(id)) // end of [prerr_dqid] (* ****** ****** *) staload NS = "./pats_namespace.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) fun symintr_tr (ids: i0delst): void = let // fun aux (ids: i0delst): void = let in case+ ids of | list_cons (id, ids) => let val sym = id.i0de_sym val () = the_d2expenv_add (sym, D2ITMsymdef (sym, list_nil)) // end of [val] in aux (ids) end // end of [list_cons] | list_nil ((*void*)) => () // end of [list_nil] end // end of [aux] // in aux ids end // end of [symintr_tr] (* ****** ****** *) fun symelim_tr (ids: i0delst): void = let // fun fproc (id: i0de): void = let val sym = id.i0de_sym val ans = the_d2expenv_find (sym) in // case+ ans of | ~Some_vt (d2i) => ( case+ d2i of | D2ITMsymdef _ => the_d2expenv_add (sym, D2ITMsymdef (sym, list_nil)) // end of [D2ITMsymdef] | _ (*non-symdef*) => () // HX: should a warning be reported? ) // end of [Some_vt] | ~None_vt ((*void*)) => () // end // end of [fproc] // in list_app_fun (ids, fproc) end // end of [symelim_tr] (* ****** ****** *) // extern fun overload_tr ( d1c0: d1ecl, id: i0de, dqid: dqi0de, pval: int ) : d2itmopt // end of [overload_tr] // extern fun overload_tr_def (loc0: location, id: i0de, pval: int, def: d2itm): void // end of [overload_tr_def] // extern fun overload_tr_d2eclist (d2cs: d2eclist): void // (* ****** ****** *) implement overload_tr ( d1c0, id, dqid, pval ) = let // val loc0 = d1c0.d1ecl_loc // (* val () = { val () = println! ("overload_tr: id = ", id) val () = println! ("overload_tr: dqid = ", dqid) } (* end of [val] *) *) // fun auxerr ( d1c0: d1ecl, dqid: $SYN.dqi0de ) : void = let val loc = dqid.dqi0de_loc val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "overload_tr" val () = prerr ": the dynamic identifier [" val () = $SYN.prerr_dqi0de (dqid) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_overload (d1c0)) end (* end of [auxerr] *) // val qua = dqid.dqi0de_qua and sym = dqid.dqi0de_sym val ans = the_d2expenv_find_qua (qua, sym) // val ans = option_of_option_vt (ans) val () = ( case+ ans of | Some (d2i) => overload_tr_def (loc0, id, pval, d2i) | None ((*void*)) => auxerr (d1c0, dqid) ) (* end of [val] *) // in ans end // end of [overload_tr] implement overload_tr_def (loc0, id, pval, def) = let // var err: int = 0 // fun auxerr1 ( loc0: location, id: i0de, err: &int ) : void = let val () = err := err + 1 val () = prerr_error2_loc (id.i0de_loc) val () = filprerr_ifdebug ("overload_tr_def") val () = prerr ": the overloaded identifier [" val () = $SYN.prerr_i0de (id) val () = prerr "] should refer to a symbol but it does not." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_overload_def (loc0)) end // end of [auxerr1] // fun auxerr2 ( loc0: location, id: i0de, err: &int ) : void = let val () = err := err + 1 val () = prerr_error2_loc (id.i0de_loc) val () = filprerr_ifdebug "overload_tr_def" val () = prerr ": the overloaded identifier [" val () = $SYN.prerr_i0de (id) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_overload_def (loc0)) end // end of [auxerr2] // val sym = id.i0de_sym val ans = ans where { val ans = the_d2expenv_current_find (sym) val ans = ( case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => the_d2expenv_pervasive_find (sym) ) : d2itmopt_vt } // end of [where] // end of [val] val d2pis = ( case+ ans of | ~Some_vt (d2i) => ( case+ d2i of | D2ITMsymdef (sym, d2pis) => d2pis | _ => let val () = auxerr1 (loc0, id, err) in list_nil end // end of [_] ) // end of [Some_vt] (* // // HX-2014-01-30: // Is this design too cumbersome? // | ~None_vt () => let val () = auxerr2 (loc0, id, err) in list_nil () end // end of [None_vt] *) | ~None_vt () => let val d2pis = list_nil () val () = the_d2expenv_add (sym, D2ITMsymdef (sym, d2pis)) // end of [val] in d2pis end // end of [_] ) : d2pitmlst // end of [val] (* val () = begin print "overload_tr_def: def := "; print_d2itm (def); print_newline (); print "overload_tr_def: d2is := "; print_d2itmlst (d2is); print_newline (); end // end of [val] *) in // if err = 0 then let val d2pi = D2PITM (pval, def) val d2pis_new = list_cons (d2pi, d2pis) in the_d2expenv_add (sym, D2ITMsymdef (sym, d2pis_new)) end // end of [if] // end (* end of [overload_tr_def] *) (* ****** ****** *) fun d1atsrtdec_tr ( res: s2rt, d1c: d1atsrtdec ) : s2cstlst = let // fun aux .<>. ( i: int , res: s2rt, d1c: d1atsrtcon ) : s2cst = s2c where { // val id = d1c.d1atsrtcon_sym val loc = d1c.d1atsrtcon_loc val arg = s1rtlst_tr (d1c.d1atsrtcon_arg) val s2t = s2rt_fun (arg, res) // val s2c = s2cst_make ( id // sym , loc // location , $FIL.filename_dummy , s2t // srt , None () // isabs , true // iscon , false // isrec , false // isasp , None () // islst , list_nil () // argvarlst , None () // def ) (* end of [s2cst_make] *) // val () = s2cst_set_dstag (s2c, i) // val () = the_s2expenv_add_scst (s2c) // } (* end of [aux] *) // fun auxlst ( i: int, res: s2rt, d1cs: d1atsrtconlst ) : s2cstlst = let in // case+ d1cs of | list_cons (d1c, d1cs) => ( list_cons (aux (i, res, d1c), auxlst (i+1, res, d1cs)) ) // end of [cons] | list_nil () => list_nil () // end // end of [auxlst] // in auxlst (0, res, d1c.d1atsrtdec_con) end // end of [d1atsrtdec_tr] fun d1atsrtdeclst_tr (d1cs: d1atsrtdeclst) = let // typedef T = (d1atsrtdec, s2rtdat, s2rt) // fun loop1 ( xs0: List_vt (T) ) : void = let in case+ xs0 of | ~list_vt_cons (x, xs) => let val s2cs = d1atsrtdec_tr (x.2, x.0) val () = s2rtdat_set_sconlst (x.1, s2cs) in loop1 (xs) end // end of [list_vt_cons] | ~list_vt_nil () => () end // end of [loop1] // fun loop2 ( d1cs: d1atsrtdeclst, res: List_vt (T) ) : void = let in // case+ d1cs of | list_cons (d1c, d1cs) => let // val loc = d1c.d1atsrtdec_loc val sym = d1c.d1atsrtdec_sym val s2td = s2rtdat_make (sym) val s2t = S2RTbas (S2RTBASdef s2td) // val s2t_eqeq = s2rt_fun ('[s2t, s2t], s2rt_bool) // val s2c_eqeq = s2cst_make ( EQEQ // sym , loc // location , $FIL.filename_dummy , s2t_eqeq // srt , None () // isabs , false // iscon , false // isrec , false // isasp , None () // islst , list_nil () // argvarlst , None () // def ) (* end of [s2cst_make] *) // val () = the_s2expenv_add_scst (s2c_eqeq) // val () = the_s2rtenv_add (sym, S2TEsrt s2t) in loop2 (d1cs, list_vt_cons ( @(d1c, s2td, s2t), res )) end // end of [list_cons] // | list_nil ((*void*)) => loop1 (res) // end // end of [loop2] // in loop2 (d1cs, list_vt_nil ()) end // end of [d1atsrtdeclst_tr] (* ****** ****** *) fun s1rtdef_tr (d: s1rtdef): void = let val id = d.s1rtdef_sym val s2te = s1rtext_tr (d.s1rtdef_def) in the_s2rtenv_add (id, s2te) end // end of [s1rtdef_tr] fun s1rtdeflst_tr (ds: s1rtdeflst): void = list_app_fun (ds, s1rtdef_tr) // end of [s1rtdeflst_tr] (* ****** ****** *) fun s1tacst_tr (d: s1tacst): s2cst = let // fun aux ( xs: a1msrtlst, res: s2rt ) : s2rt = case+ xs of | list_cons (x, xs) => s2rt_fun (a1msrt_tr_srt (x), aux (xs, res)) // end of [list_cons] | list_nil () => res // end of [aux] // val id = d.s1tacst_sym val loc = d.s1tacst_loc val fil = d.s1tacst_fil // val s2t_res = s1rt_tr (d.s1tacst_res) val s2t_cst = aux (d.s1tacst_arg, s2t_res) // val s2c = s2cst_make ( id // sym , loc // location , fil // filename , s2t_cst // srt , None () // isabs , false // iscon , false // isrec , false // isasp , None () // islst , list_nil () // argvarlst , None () // def ) (* end of [s2cst_make] *) // in the_s2expenv_add_scst (s2c); s2c end // end of [s1tacst_tr] fun s1tacstlst_tr (ds: s1tacstlst): s2cstlst = ( list_of_list_vt (list_map_fun (ds, s1tacst_tr)) ) (* end of [s1tacstlst_tr] *) (* ****** ****** *) fun s1tacon_tr ( s2t_res: s2rt, d: s1tacon ) : s2cst = let // val id = d.s1tacon_sym val loc = d.s1tacon_loc val fil = d.s1tacon_fil // val argvars = l2l ( list_map_fun (d.s1tacon_arg, a1msrt_tr_symsrt) ) (* end of [val] *) // val s2t_fun = let fun aux ( s2t_res: s2rt, xss: List (syms2rtlst) ) : s2rt = case+ xss of | list_cons (xs, xss) => let val s2ts_arg = list_map_fun (xs, lam x =<0> x.1) val s2t_res = s2rt_fun ((l2l)s2ts_arg, s2t_res) in aux (s2t_res, xss) end (* end of [list_cons] *) | list_nil () => s2t_res // end of [aux] in aux (s2t_res, argvars) end : s2rt // end of [val] (* val () = ( print "s1tacon_tr: sym = "; $SYM.print_symbol (id); print_newline (); print "s1tacon_tr: s2t_fun = "; print_s2rt (s2t_fun); print_newline (); ) // end of [val] *) val (pfenv | ()) = the_s2expenv_push_nil () // val s2vss = let fun f1 (x: syms2rt): s2var = if x.0 = $SYM.symbol_empty then s2var_make_srt (x.1) else s2var_make_id_srt (x.0, x.1) // end of [if] fun f2 ( xs: syms2rtlst ) : s2varlst = let val s2vs = l2l (list_map_fun (xs, f1)) val () = the_s2expenv_add_svarlst (s2vs) in s2vs end // end of [f2] val s2vss = list_map_fun (argvars, f2) in l2l (s2vss) end : List (s2varlst) // end of [val] val def = let fun aux ( s2t_fun: s2rt, s2vss: List (s2varlst), s2e: s2exp ) : s2exp = case+ s2vss of | list_cons (s2vs, s2vss) => let val-S2RTfun (_, s2t1_fun) = s2t_fun val s2e = aux (s2t1_fun, s2vss, s2e) val s2e_lam = s2exp_lam_srt (s2t_fun, s2vs, s2e) in s2e_lam end // end of [list_cons] | list_nil () => s2e // end of [aux] val def = d.s1tacon_def in case+ def of | Some s1e => let val s2e = s1exp_trdn (s1e, s2t_res) // end of [val] val s2e_def = aux (s2t_fun, s2vss, s2e) in Some (s2e_def) end // end of [Some] | None () => None () end : s2expopt // end of [val] // val () = the_s2expenv_pop_free (pfenv | (*none*)) // val s2c = s2cst_make ( id // sym , loc // location , fil // filename , s2t_fun // srt , Some (def) // isabs , true // iscon , false // isrec , false // isasp , None () // islst , argvars // argvarlst , None () // definition ) // end of [val] in the_s2expenv_add_scst (s2c); s2c end // end of [s1tacon_tr] fun s1taconlst_tr ( knd: int, ds: s1taconlst ) : s2cstlst = let // fun auxlst ( s2t: s2rt, ds: s1taconlst ) : s2cstlst = case+ ds of | list_nil () => list_nil () | list_cons (d, ds) => let val s2c = s1tacon_tr (s2t, d) in list_cons (s2c, auxlst (s2t, ds)) end // end of [list_cons] // end of [aux] // val s2t_res = s2rt_impred (knd) // in auxlst (s2t_res, ds) end // end of [s1taconlst_tr] (* ****** ****** *) (* // // HX-2012-05-23: removed // fun s1tavar_tr (d: s1tavar): s2tavar = let val loc = d.s1tavar_loc val s2t = s1rt_tr (d.s1tavar_srt) val s2v = s2var_make_id_srt (d.s1tavar_sym, s2t) val () = the_s2expenv_add_svar (s2v) in s2tavar_make (loc, s2v) end // end of [s1tavar_tr] fun s1tavarlst_tr (ds: s1tavarlst): s2tavarlst = l2l (list_map_fun (ds, s1tavar_tr)) // end of [s1tavarlst_tr] *) (* ****** ****** *) fun t1kindef_tr ( d: t1kindef ) : void = let // val sym = d.t1kindef_sym val loc_id = d.t1kindef_loc_id // val def = s1exp_trup (d.t1kindef_def) // val s2c = s2cst_make ( sym // name , loc_id // location , $FIL.filename_dummy , s2rt_tkind // tkind constant , None () // isabs , false // iscon , false // isrec , false // isasp , None () // islst , list_nil () // argvar , Some (def) // definition ) (* end of [s2cst_make] *) // in the_s2expenv_add_scst (s2c) end // end of [t1kindef_tr] (* ****** ****** *) local fun s1expdef_tr_arg ( xs: s1marglst ) : List_vt (s2varlst) = let // fun fproc ( x: s1marg ) : s2varlst = s2vs where { val s2vs = s1arglst_trup (x.s1marg_arg) val () = the_s2expenv_add_svarlst (s2vs) } // end of [fproc] // in list_map_fun (xs, fproc) end // end of [s1expdef_tr_arg] fun s1expdef_tr_def ( xs: s1marglst, res: s2rtopt, def: s1exp ) : s2exp = let // val ( pfenv | () ) = the_s2expenv_push_nil () // val s2vss = s1expdef_tr_arg (xs) // val s2e_body = ( case+ res of | Some s2t => s1exp_trdn (def, s2t) | None ((*void*)) => s1exp_trup (def) ) : s2exp // end of [val] // val ( ) = the_s2expenv_pop_free (pfenv | (*none*)) // val s2e_def = s2exp_lamlst ((castvwtp1)s2vss, s2e_body) val () = list_vt_free (s2vss) // in s2e_def end // end of [s1expdef_tr_def] in (* in-of-local *) fun s1expdef_tr ( res: s2rtopt, d: s1expdef ) : s2cst = let // fun auxerr (d: s1expdef): void = let // val ( ) = prerr_error2_loc (d.s1expdef_loc) val () = filprerr_ifdebug ("s1expdef_tr") val ( ) = prerr "\ : the sort for the static definition does not match the one assigned to the static constant [\ " // end of [val] val () = $SYM.prerr_symbol (d.s1expdef_sym) val () = prerr "]." val () = prerr_newline () // in the_trans2errlst_add (T2E_s1expdef_tr (d)) end // end of [auxerr] // val sym = d.s1expdef_sym and loc_id = d.s1expdef_loc_id and arg = d.s1expdef_arg and def = d.s1expdef_def val res1 = s1rtopt_tr (d.s1expdef_res) // val res2 = ( case+ res of | Some s2t => ( case+ res1 of | Some s2t1 => let val test = s2rt_ltmat1 (s2t1, s2t) in if test then res1 else (auxerr (d); res) end // end of [Some] | None () => res ) // end of [Some] | None () => res1 ) : s2rtopt // end of [val] // val def2 = s1expdef_tr_def (arg, res2, def) // in // s2cst_make ( sym // name , loc_id // location , $FIL.filename_dummy , def2.s2exp_srt // srt , None () // isabs , false // iscon , false // isrec , false // isasp , None () // islst , list_nil () // argvar , Some (def2) // definition ) (* end of [s2cst_make] *) // end // end of [s1expdef_tr] fun s1expdeflst_tr (knd: int, ds: s1expdeflst): void = let // val res = ( if knd >= 0 then Some (s2rt_impred (knd)) else None () ) : s2rtopt // val s2cs = let fun aux ( ds: s1expdeflst ) : List_vt (s2cst) = ( case+ ds of | list_cons (d, ds) => let val s2c = s1expdef_tr (res, d) in list_vt_cons (s2c, aux ds) end // end of [list_cons] | list_nil () => list_vt_nil () ) // end of [aux] in aux (ds) end // end of [val] // val () = let // fun loop ( s2cs: List_vt (s2cst) ) : void = ( case+ s2cs of | ~list_vt_nil ((*void*)) => () | ~list_vt_cons (s2c, s2cs) => let val () = the_s2expenv_add_scst (s2c) in loop (s2cs) end // end of [list_vt_cons] ) (* end of [loop] *) // in loop (s2cs) end // end of [val] // in // nothing end // end of [s1expdeflst_tr] end // end of [local] (* ****** ****** *) local fun s1aspdec_tr_arg ( d: s1aspdec, xs: s1marglst, s2t_fun: &s2rt ) : List_vt (s2varlst) = let // fun auxerr ( d: s1aspdec, x: s1marg ) : void = let val () = prerr_error2_loc (x.s1marg_loc) val () = filprerr_ifdebug ("s1aspdec_tr_arg") val () = prerr ": too many arguments for the assumed static constant." val () = prerr_newline () in the_trans2errlst_add (T2E_s1aspdec_tr_arg (d, x)) end // end of [auxerr] // in (* in-of-let *) // case+ xs of | list_cons (x, xs) => ( case+ s2t_fun of | S2RTfun (s2ts_arg, s2t_res) => let val () = s2t_fun := s2t_res val s2vs = s1marg_trdn (x, s2ts_arg) val () = the_s2expenv_add_svarlst (s2vs) in list_vt_cons (s2vs, s1aspdec_tr_arg (d, xs, s2t_fun)) end // end of [S2RTfun] | _ => let val () = auxerr (d, x) in list_vt_nil () end (* end of [_] *) ) // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [s1aspdec_tr_arg] fun s1aspdec_tr_res ( d: s1aspdec, s2t_res: s2rt ) : s2rt = let // fun auxerr ( d: s1aspdec, s2t1: s2rt, s2t2: s2rt ) : void = { // val () = prerr_error2_loc (d.s1aspdec_loc) val () = filprerr_ifdebug ("s1aspdec_tr_res") // val () = prerr ": the static assumption is given the sort [" val () = prerr_s2rt (s2t1) val () = prerr "] but it is expected to be of the sort [" val () = prerr_s2rt (s2t2) val () = prerr "]." val () = prerr_newline () // val () = the_trans2errlst_add (T2E_s1aspdec_tr_res (d, s2t1, s2t2)) } // end of [auxerr] // in // in of [let] // case+ d.s1aspdec_res of | Some s1t => let val s2t = s1rt_tr (s1t) val test = s2rt_ltmat1 (s2t, s2t_res) in if test then s2t else let val () = auxerr (d, s2t, s2t_res) in s2t end (* end of [if] *) end // end of [Some] | None ((*void*)) => s2t_res // end // end of [s1aspdec_tr_res] viewtypedef s2aspdecopt_vt = Option_vt (s2aspdec) in (* in-of-local *) fun s1aspdec_tr (d1c: s1aspdec): s2aspdecopt_vt = let // fun auxerr1 ( d: s1aspdec, q: s0taq, id: symbol ) : void = let val () = prerr_error2_loc (d.s1aspdec_loc) // end of [val] val () = filprerr_ifdebug ("s1aspdec_tr") val () = prerr (": the static constant [") val () = ($SYN.prerr_s0taq (q); $SYM.prerr_symbol id) val () = prerrln! ("] is not abstract.") in the_trans2errlst_add (T2E_s1aspdec_tr (d)) end // end of [auxerr1] // fun auxerr2 ( d: s1aspdec, q: s0taq, id: symbol ) : void = let val () = prerr_error2_loc (d.s1aspdec_loc) // end of [val] val () = filprerr_ifdebug ("s1aspdec_tr") val () = prerr (": the identifier [") val () = ($SYN.prerr_s0taq q; $SYM.prerr_symbol id) val () = prerrln! "] does not refer to a static constant." in the_trans2errlst_add (T2E_s1aspdec_tr (d)) end // end of [auxerr2] // fun auxerr3 ( d: s1aspdec, q: s0taq, id: symbol ) : void = let val () = prerr_error2_loc (d.s1aspdec_loc) val () = prerr ": the identifier [" val () = ($SYN.prerr_s0taq q; $SYM.prerr_symbol id) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_s1aspdec_tr (d)) end // end of [auxerr3] // val loc = d1c.s1aspdec_loc val qid = d1c.s1aspdec_qid val q = qid.sqi0de_qua and id = qid.sqi0de_sym val ans = the_s2expenv_find_qua (q, id) in // case+ ans of | ~Some_vt s2i => begin case+ s2i of | S2ITMcst s2cs => let val s2cs = list_filter_fun (s2cs, s2cst_is_abstr) in case+ s2cs of | ~list_vt_cons (s2c, s2cs) => let val () = list_vt_free (s2cs) val (pfenv | ()) = the_s2expenv_push_nil () var s2t_fun = s2cst_get_srt (s2c) val s2vss = s1aspdec_tr_arg (d1c, d1c.s1aspdec_arg, s2t_fun) val s2t_res = s1aspdec_tr_res (d1c, s2t_fun) val s2e_body = s1exp_trdn (d1c.s1aspdec_def, s2t_res) val () = the_s2expenv_pop_free (pfenv | (*none*)) val s2e_def = s2exp_lamlst ((castvwtp1)s2vss, s2e_body) val () = list_vt_free (s2vss) (* // HX: definition binding is to be done in [pats_trans3_decl.dats] *) in Some_vt (s2aspdec_make (loc, s2c, s2e_def)) end // end of [list_vt_cons] | ~list_vt_nil () => let val () = auxerr1 (d1c, q, id) in None_vt () end // end of [list_vt_nil] end // end of [S2ITEMcst] | _ => let val () = auxerr2 (d1c, q, id) in None_vt () end (* end of [_] *) end // end of [Some_vt] | ~None_vt () => let val () = auxerr3 (d1c, q, id) in None_vt () end // end of [None_vt] end // end of [s1aspdec_tr] end // end of [local] (* ****** ****** *) local fun d1atconlst_tr ( s2c: s2cst , islin: bool , isprf: bool , s2vss0: s2varlstlst , fil: filename , d1cs: d1atconlst ) : d2conlst = ( // case+ d1cs of | list_nil () => list_nil () | list_cons (d1c, d1cs) => let val d2c = d1atcon_tr (s2c, islin, isprf, s2vss0, fil, d1c) val d2cs = d1atconlst_tr (s2c, islin, isprf, s2vss0, fil, d1cs) in list_cons (d2c, d2cs) end // end of [cons] // ) (* end of [d1atconlst_tr] *) in (* in of [local] *) fun d1atdec_tr ( s2c: s2cst, s2vss0: s2varlstlst, d1c: d1atdec ) : void = let // val () = let val n = list_length (s2vss0) in if n >= 2 then { val () = prerr_error2_loc (d1c.d1atdec_loc) val () = filprerr_ifdebug "d1atdec_tr" // for debugging val () = prerr ": the declared type constructor is overly applied." val () = prerr_newline () val () = the_trans2errlst_add (T2E_d1atdec_tr (d1c)) } // end of [if] end // end of [val] // val s2t_fun = s2cst_get_srt (s2c) val s2t_res = ( case+ s2t_fun of | S2RTfun (_, s2t) => s2t | s2t => s2t ) : s2rt (* end of [val] *) // val islin = s2rt_is_lin s2t_res and isprf = s2rt_is_prf s2t_res // val d2cs = d1atconlst_tr ( s2c, islin, isprf , s2vss0, d1c.d1atdec_fil, d1c.d1atdec_con ) (* end of [val] *) // val () = let // // HX: // Assigning tags to // dynamic constructors // fun aux ( i: int, d2cs: d2conlst ) : void = ( case+ d2cs of | list_nil ((*void*)) => () // end of [list_nil] | list_cons (d2c, d2cs) => let val () = d2con_set_tag (d2c, i) in aux (i+1, d2cs) end // end of [list_cons] ) (* end of [aux] *) in aux (0, d2cs) end // end of [let] // end of [val] // val islst = ( // case+ d2cs of | list_cons ( d2c1 , list_cons(d2c2, list_nil()) ) => ( if d2con_get_arity_real(d2c1) = 0 then ( if d2con_get_arity_real(d2c2) > 0 then Some((d2c1, d2c2)) else None() ) else ( if d2con_get_arity_real(d2c2) = 0 then Some((d2c2, d2c1)) else None() ) (* end of [if] *) ) (* end of [cons(cons(nil))] *) | _ (* it-is-not-list-like *) => None () // ) : Option @(d2con, d2con) // val () = s2cst_set_islst (s2c, islst) val () = s2cst_set_dconlst (s2c, Some d2cs) // in // nothing end // end of [d1atdec_tr] end // end of [local] (* ****** ****** *) extern fun d1atdeclst_tr ( datknd: int , d1cs_dat: d1atdeclst , d1cs_def: s1expdeflst ) : s2cstlst // end-of-fun implement d1atdeclst_tr ( datknd, d1cs_dat, d1cs_def ) = let // typedef T = (d1atdec, s2cst, s2varlstlst) // val s2t_res = s2rt_impred (datknd) // val d1cs2cs2vsslst = let // var res : List (T) = list_nil () // end of [var] // fun aux .<>. ( d1c: d1atdec, res: &List (T) ) : void = let val argvar = list_of_list_vt ( list_map_fun (d1c.d1atdec_arg, a1msrt_tr_symsrt) ) : List (syms2rtlst) val s2vss = let fun f ( xs: syms2rtlst ) : s2varlst = case+ xs of | list_cons (x, xs) => let val isnamed = (x.0 != $SYM.symbol_empty) in if isnamed then let val s2v = s2var_make_id_srt (x.0, x.1) in list_cons (s2v, f (xs)) end else f (xs) // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end of [f] fun ff ( xss: List (syms2rtlst) ) : s2varlstlst = case+ xss of | list_cons (xs, xss) => let val s2vs = f (xs) and s2vss = ff (xss) in if list_is_cons (s2vs) then list_cons (s2vs, s2vss) else s2vss end // end of [list_vt_cons] | list_nil () => list_nil () // end of [ff] in ff (argvar) end : s2varlstlst // val s2tss_arg = let fun f (xs: syms2rtlst): s2rtlst = case+ xs of | list_cons (x, xs) => list_cons (x.1, f (xs)) | list_nil () => list_nil () // end of [] in l2l (list_map_fun (argvar, f)) end : s2rtlstlst // val s2c = s2cst_make_dat ( d1c.d1atdec_sym, d1c.d1atdec_loc, s2tss_arg, s2t_res, argvar ) // end of [val] val () = the_s2expenv_add_scst (s2c) // in res := list_cons ((d1c, s2c, s2vss), res) end // end of [val] // fun auxlst ( d1cs: d1atdeclst, res: &List(T) ) : void = case+ d1cs of | list_cons (d1c, d1cs) => let val () = aux (d1c, res) in auxlst (d1cs, res) end // end of [list_cons] | list_nil () => () // end of [auxlst] // in auxlst (d1cs_dat, res); res end : List (T) // end of [d1cs2cs2vsslst] // fun aux2 ( d1cs: s1expdeflst ) : void = ( case+ d1cs of | list_nil () => () | list_cons (d1c, d1cs) => let val s2c = s1expdef_tr (None, d1c) val () = the_s2expenv_add_scst (s2c) in aux2 (d1cs) end // end of [cons] ) (* end of [aux2] *) // val () = aux2 (d1cs_def) // fun auxlst2 ( xs: List (T) ) : s2cstlst = case+ xs of | list_cons (x, xs) => let val () = d1atdec_tr (x.1, x.2, x.0) in list_cons (x.1, auxlst2 xs) end // end of [list_cons] | list_nil () => list_nil () // end of [auxlst2] in // auxlst2 (d1cs2cs2vsslst) // end // end of [d1atdeclst_tr] (* ****** ****** *) // // HX: [exn] is considered a viewtype constructor // fun e1xndec_tr ( s2c: s2cst, d1c: e1xndec ) : d2con = let val loc = d1c.e1xndec_loc val fil = d1c.e1xndec_fil and id = d1c.e1xndec_sym val (pfenv | ()) = the_s2expenv_push_nil () val s2qs = l2l (list_map_fun (d1c.e1xndec_qua, q1marg_tr)) val npf = d1c.e1xndec_npf val s1es_arg = d1c.e1xndec_arg val s2es_arg = s1explst_trdn_vt0ype (s1es_arg) val () = the_s2expenv_pop_free (pfenv | (*none*)) val d2c = d2con_make (loc, fil, id, s2c, 1(*vwtp*), s2qs, npf, s2es_arg, None(*ind*)) val () = d2con_set_tag (d2c, ~1) val () = the_d2expenv_add_dcon (d2c) in d2c (* HX: the defined exception constructor *) end // end of [e1xndec_tr] (* ****** ****** *) // extern fun e1xndeclst_tr (d1cs: e1xndeclst): d2conlst // implement e1xndeclst_tr (d1cs) = let // fun aux ( s2c: s2cst, d1cs: e1xndeclst ) : d2conlst = ( case+ d1cs of | list_nil ((*void*)) => list_nil () | list_cons (d1c, d1cs) => let val d2c = e1xndec_tr (s2c, d1c) in list_cons (d2c, aux (s2c, d1cs)) end // end of [list_cons] // end of [aux] ) (* end of [aux] *) // val s2c = s2cstref_get_cst (the_exception_vtype) // val d2cs = aux (s2c, d1cs) // val d2cs0 = ( // case+ s2cst_get_dconlst (s2c) of // case+ | None () => d2cs | Some d2cs0 => list_append (d2cs, d2cs0) // ) : d2conlst // end of [val] // val () = s2cst_set_dconlst (s2c, Some(d2cs0)) // in d2cs (*d2conlst*) end // end of [e1xndeclst_tr] // (* ****** ****** *) fun c1lassdec_tr ( id: i0de , sup: s1expopt ) : void = () where { // val sym = id.i0de_sym val loc = id.i0de_loc // val s2c = s2cst_make ( sym // sym , loc // location , $FIL.filename_dummy , s2rt_cls // sort for nominal classes , None(*isabs*) , false(*iscon*) , false(*isrec*) , false(*isasp*) , None((*listlike*)) , list_nil(*argvar*) , None((*s2expopt*)) ) (* end of [s2cst_make] *) // val () = ( // case+ sup of | None () => () | Some s1e => { val s2e = s1exp_trdn (s1e, s2rt_cls) // end of [val] val ((*void*)) = s2cst_add_supcls (s2c, s2exp_hnfize(s2e)) // end of [val] } (* end of [Some] *) // ) (* end of [val] *) // val () = the_s2expenv_add_scst (s2c) // } (* end of [c1lassdec_tr] *) (* ****** ****** *) local fun dckfun_check ( d1c: d1cstdec , dck: dcstkind, s2e_cst: s2exp ) : void = ( // case+ dck of // | DCKfun () => let val isfun = s2exp_is_FUNCLOfun (s2e_cst) // end of [val] in if not(isfun) then { // val () = prerr_ERROR_beg() val () = prerr_error2_loc (d1c.d1cstdec_loc) // end of [val] val () = filprerr_ifdebug "d1cstdec_tr" // for debugging val () = prerrln!(": the function may need to be declared as a value") val () = prerr_ERROR_end() // val () = the_trans2errlst_add (T2E_d1cstdec_tr(d1c)) // } (* end of [if] *) end (* end of [DCKfun] *) // | _(*rest*) => ((*void*)) // ) (* end of [dckfun_check] *) fun s2exp_get_arylst (s2e: s2exp): List(int) = ( // case+ s2e.s2exp_node of // | S2Efun ( _, _, _, _, s2es, s2e ) => let val n = list_length (s2es) in list_cons (n, s2exp_get_arylst(s2e)) end // end of [S2Efun] // | S2Eexi (_, _, s2e) => s2exp_get_arylst(s2e) | S2Euni (_, _, s2e) => s2exp_get_arylst(s2e) // | S2Emetfun (_, _, s2e) => s2exp_get_arylst(s2e) // | _ (* rest-of-s2exp *) => list_nil ((*void*)) // ) (* end of [s2exp_get_arylst] *) in (* in of [local] *) fun d1cstdec_tr ( knd: int , dck: dcstkind, s2qs: s2qualst, d1c: d1cstdec ) : d2cst = d2c where { // val loc = d1c.d1cstdec_loc val fil = d1c.d1cstdec_fil val sym = d1c.d1cstdec_sym // (* val () = println! ("d1cstdec_tr: fil = ", fil) val () = println! ("d1cstdec_tr: sym = ", sym) *) // // HX-2012: // it is either prop or t@ype; it cannot be linear // val isprf = dcstkind_is_proof (dck) val s2t_cst = (if isprf then s2rt_prop else s2rt_t0ype): s2rt // val s1e_cst = d1c.d1cstdec_type val s2e_cst = s1exp_trdn (s1e_cst, s2t_cst) val s2e_cst = s2exp_hnfize (s2e_cst) val ((*void*)) = dckfun_check (d1c, dck, s2e_cst) // val arylst = s2exp_get_arylst (s2e_cst) // var extdef : dcstextdef = d1c.d1cstdec_extdef val () = ( case+ extdef of | $SYN.DCSTEXTDEFnone _ => if knd = 0 then (extdef := $SYN.DCSTEXTDEFnone (0)) | _(* DCSTEXTDEFsome... *) => () ) : void // end of [val] // val d2c = d2cst_make (sym, loc, fil, dck, s2qs, arylst, s2e_cst, extdef) // end of [val] // val ((*void*)) = the_d2expenv_add_dcst (d2c) // } (* end of [d1cstdec_tr] *) end // end of [local] (* ****** ****** *) fun d1cstdeclst_tr ( knd: int , dck: dcstkind , s2qs: s2qualst , d1cs: d1cstdeclst ) : d2cstlst = let in case+ d1cs of | list_cons (d1c, d1cs) => let val d2c = d1cstdec_tr (knd, dck, s2qs, d1c) in list_cons (d2c, d1cstdeclst_tr (knd, dck, s2qs, d1cs)) end // end of [cons] | list_nil () => list_nil () end // end of [d1cstdeclst_tr] (* ****** ****** *) local fun trans2_env_add_m2acarg (x: m2acarg): void = let in case+ x of | M2ACARGsta (s2vs) => the_s2expenv_add_svarlst (s2vs) // end of [M2ACARGsta] | M2ACARGdyn (d2vs) => the_d2expenv_add_dmacvarlst (d2vs) // end of [M2ACARGdyn] end // end of [trans2_env_add_m2acarg] fun trans2_env_add_m2acarglst (xs: m2acarglst): void = list_app_fun (xs, trans2_env_add_m2acarg) // end of [trans2_env_add_m2acarglst] in (* in of [local] *) fun m1acdef_tr ( knd: int, d2m: d2mac, d1c: m1acdef ) : void = let // val loc = d1c.m1acdef_loc and sym = d1c.m1acdef_sym val (pfenv | ()) = the_trans2_env_push () val arglst = d2mac_get_arglst (d2m) // (* val out = stdout_ref val () = fprintf (out, "m1acdef_tr: knd = %i\n", @(knd)) val () = fprint_string (out, "m1acdef_tr: arglst =\n") val () = fprint_m2acarglst (out, arglst) val () = fprint_newline (out) *) // val () = trans2_env_add_m2acarglst (arglst) val () = the_macdeflev_inc () val () = if knd >= 1 then the_maclev_dec (loc) val def = d1exp_tr (d1c.m1acdef_def) val () = if knd >= 1 then the_maclev_inc (loc) val () = the_macdeflev_dec () val () = the_trans2_env_pop (pfenv | (*none*)) val () = d2mac_set_def (d2m, def) // in // empty end // end of [m1acdef_tr] end // end of [local] local fun m1acarg_tr (x: m1acarg): m2acarg = let in case+ x.m1acarg_node of | M1ACARGdyn (ids) => let fun f (x: i0de): d2var = d2var_make (x.i0de_loc, x.i0de_sym) val d2vs = list_map_fun (ids, f) in M2ACARGdyn ((l2l)d2vs) end | M1ACARGsta (s1as) => let fun f (s1a: s1arg): s2var = let val s2t = ( case+ s1a.s1arg_srt of | Some (s1t) => s1rt_tr (s1t) | None () => s2rt_t0ype ) : s2rt // end of [val] in s2var_make_id_srt (s1a.s1arg_sym, s2t) end // end of [f] val s2vs = list_map_fun (s1as, f) in M2ACARGsta ((l2l)s2vs) end end // end of [m1acarg_tr] fun m1acarglst_tr (m1as: m1acarglst): m2acarglst = let val m2as = list_map_fun (m1as, m1acarg_tr) in (l2l)m2as end // end of [m1acarglst_tr] in (* in of [local] *) fun m1acdeflst_tr ( knd: int, d1cs: m1acdeflst ) : void = let // // knd: 0/1/2 => short/long/longrec // fun aux1 ( knd: int, d1cs: m1acdeflst ) : d2maclst = let in // case+ d1cs of | list_cons (d1c, d1cs) => let val loc = d1c.m1acdef_loc val sym = d1c.m1acdef_sym val def = d2exp_empty (loc) val args = m1acarglst_tr (d1c.m1acdef_arg) val d2m = d2mac_make (loc, sym, knd, args, def) val () = if knd >= 2 then the_d2expenv_add_dmacdef (d2m) val d2ms = aux1 (knd, d1cs) in list_cons (d2m, d2ms) end // end of [aux1] | list_nil () => list_nil () // end // end of [aux1] val d2ms = aux1 (knd, d1cs) // fun loop2 ( d2ms: d2maclst, d1cs: m1acdeflst ) : void = let in case+ d2ms of | list_cons (d2m, d2ms) => let val-list_cons (d1c, d1cs) = d1cs val knd = d2mac_get_kind (d2m) val d2c = m1acdef_tr (knd, d2m, d1c) val () = if knd <= 1 then the_d2expenv_add_dmacdef (d2m) in loop2 (d2ms, d1cs) end // end of [list_cons] | list_nil () => () end // end of [loop2] val () = loop2 (d2ms, d1cs) // in // nothing end // end of [m1acdeflst_tr] end // end of [local] (* ****** ****** *) fun f1undec_tr ( decarg: s2qualst , d2v: d2var, f1d: f1undec ) : f2undec = let val () = d2var_set_decarg (d2v, decarg) // end of [val] val def = d1exp_tr (f1d.f1undec_def) val isnot = not (d2exp_is_lam (def)) (* val () = begin print "f1undec_tr: d2v = "; print d2v; print_newline () print "f1undec_tr: def = "; print def; print_newline () end // end of [val] *) // val () = if isnot then let val () = prerr_error2_loc (def.d2exp_loc) val () = filprerr_ifdebug "f1undec_tr" val () = prerrln! ": function definition is required to be lam-abstract." in the_trans2errlst_add (T2E_f1undec_tr(f1d)) end // end of [if] // end of [val] // val ann = witht1ype_tr (f1d.f1undec_ann) // in f2undec_make (f1d.f1undec_loc, d2v, def, ann) end // end of [f1undec_tr] fun f1undeclst_tr ( knd: funkind , decarg: s2qualst, f1ds: f1undeclst ) : f2undeclst = let // val isprf = funkind_is_proof (knd) val isrec = funkind_is_recursive (knd) // val d2vs = let fun aux1 {n:nat} .. ( isprf: bool , f1ds: list (f1undec, n) ) : list (d2var, n) = case+ f1ds of | list_cons (f1d, f1ds) => let val sym = f1d.f1undec_sym val loc = f1d.f1undec_sym_loc val d2v = d2var_make (loc, sym) val () = d2var_set_isfix (d2v, true) val () = d2var_set_isprf (d2v, isprf) in list_cons (d2v, aux1 (isprf, f1ds)) end // end of [list_cons] | list_nil () => list_nil () // end of [aux1] in aux1 (isprf, f1ds) end // end of [val] // val () = ( if isrec then the_d2expenv_add_dvarlst (d2vs) else () ) : void // end of [val] // val f2ds = let fun aux2 {n:nat} .. ( decarg: s2qualst , d2vs: list (d2var, n) , f1ds: list (f1undec, n) ) : list (f2undec, n) = case+ d2vs of | list_cons (d2v, d2vs) => let val+list_cons (f1d, f1ds) = f1ds val f2d = f1undec_tr (decarg, d2v, f1d) val f2ds = aux2 (decarg, d2vs, f1ds) in list_cons (f2d, f2ds) end // end of [list_cons] | list_nil () => list_nil () // end of [aux2] in aux2 (decarg, d2vs, f1ds) end // end of [val] // val () = ( if isrec then () else the_d2expenv_add_dvarlst (d2vs) ) : void // end of [val] // in f2ds end // end of [f1undeclst_tr] (* ****** ****** *) fun v1aldec_tr ( v1d: v1aldec, p2t: p2at ) : v2aldec = let val loc = v1d.v1aldec_loc val def = d1exp_tr (v1d.v1aldec_def) val ann = witht1ype_tr (v1d.v1aldec_ann) in v2aldec_make (loc, p2t, def, ann) end // end of [v1aldec_tr] fun v1aldeclst_tr{n:nat} ( isrec: bool, v1ds: list (v1aldec, n) ) : v2aldeclst = let val p2ts = list_map_fun (v1ds, lam (v1d) =<1> p1at_tr (v1d.v1aldec_pat)) val p2ts = (l2l)p2ts: list (p2at, n) val s2vs = $UT.lstord2list (p2atlst_svs_union p2ts) val d2vs = $UT.lstord2list (p2atlst_dvs_union p2ts) in if not(isrec) then let val v2ds = list_map2_fun (v1ds, p2ts, v1aldec_tr) val () = the_s2expenv_add_svarlst s2vs val () = the_d2expenv_add_dvarlst d2vs in l2l (v2ds) end else let val () = the_d2expenv_add_dvarlst (d2vs) val v2ds = list_map2_fun (v1ds, p2ts, v1aldec_tr) val () = the_s2expenv_add_svarlst (s2vs) in l2l (v2ds) end // end of [if] end (* end of [v1aldeclst_tr] *) (* ****** ****** *) fun v1ardec_tr ( v1d: v1ardec ) : v2ardec = let (* // HX: toplevel stack allocation is supported. *) val loc = v1d.v1ardec_loc val knd = v1d.v1ardec_knd val sym = v1d.v1ardec_sym val loc_sym = v1d.v1ardec_sym_loc // val d2v = d2var_make (loc_sym, sym) // val d2vopt = ( if knd > 0 then let val d2v = d2var_make (loc_sym, sym) in Some(d2v) end else None((*void*)) ) : d2varopt // end of [val] // // HX-2013: // [s2v_addr] is introduced as a static variable of the val s2v_addr = s2var_make_id_srt (sym, s2rt_addr) // same name // val s2e_addr = s2exp_var (s2v_addr) val ((*void*)) = d2var_set_addr (d2v, Some (s2e_addr)) // val pfat = ( case+ v1d.v1ardec_pfat of // | None () => None () | Some (i0de) => let val d2v = d2var_make (i0de.i0de_loc, i0de.i0de_sym) in Some (d2v) end // end of [Some] ) : d2varopt // end of [val] // val s2eopt = ( case+ v1d.v1ardec_type of | None () => None((*void*)) | Some s1e => let val s2e = s1exp_trdn_impred (s1e) in Some (s2e) end // end of [Some] ) : s2expopt // end of [val] // val init = d1expopt_tr (v1d.v1ardec_init) // in // v2ardec_make ( loc, knd, s2v_addr, d2v, pfat, s2eopt, init, d2vopt ) (* end of [v2ardec_make] *) // end // end of [v1ardec_tr] fun v1ardeclst_tr ( v1ds: v1ardeclst ) : v2ardeclst = v2ds where { val v2ds = l2l (list_map_fun (v1ds, v1ardec_tr)) // val () = list_app_fun (v2ds, f) where { fn f (v2d: v2ardec): void = let val () = the_s2expenv_add_svar (v2d.v2ardec_svar) val () = the_d2expenv_add_dvar (v2d.v2ardec_dvar) // // HX-2013-09: // if added, this one shadows the previously added d2var // val () = the_d2expenv_add_dvaropt (v2d.v2ardec_dvaropt) in case+ v2d.v2ardec_pfat of Some (d2v) => the_d2expenv_add_dvar (d2v) | None () => () end // end of [f] } (* end of [val] *) // } (* end of [v1ardeclst_tr] *) (* ****** ****** *) local fun auxkndck ( v1d: v1ardec ) : void = let val stadyn = v1d.v1ardec_knd in // if stadyn > 0 then let val () = prerr_warning2_loc (v1d.v1ardec_loc) // end of [val] val () = filprerr_ifdebug "prv1ardec_tr" val () = prerr ": the dynalloc mark (!) is ignored." val () = prerr_newline () in (* the_trans2errlst_add (T2E_prv1ardec_tr (v1d)) *) end // end of [if] // end // end of [auxkndck] fun auxwthck ( v1d: v1ardec ) : void = let val idopt = v1d.v1ardec_pfat in case+ idopt of | Some id => let val () = prerr_warning2_loc (v1d.v1ardec_loc) // end of [val] val () = filprerr_ifdebug "prv1ardec_tr" val () = prerr ": the dynamic identifier [" val () = $SYN.prerr_i0de (id) val () = prerr "] is ignored." val () = prerr_newline ((*void*)) in (* the_trans2errlst_add (T2E_prv1ardec_tr (v1d)) *) end // end of [Some] | None ((*void*)) => () end // end of [auxwthck] in (* in of [local] *) fun prv1ardec_tr ( v1d: v1ardec ) : prv2ardec = let // val () = auxkndck (v1d) val () = auxwthck (v1d) // val sym = v1d.v1ardec_sym val loc_sym = v1d.v1ardec_sym_loc val d2v = d2var_make (loc_sym, sym) val s2eopt = ( case+ v1d.v1ardec_type of | Some s1e => let val s2e = s1exp_trdn_impred (s1e) in Some (s2e) end // end of [Some] | None () => None () ) : s2expopt // end of [val] // val d2eopt = d1expopt_tr (v1d.v1ardec_init) // in prv2ardec_make (v1d.v1ardec_loc, d2v, s2eopt, d2eopt) end // end of [prv1ardec_tr] end // end of [local] fun prv1ardeclst_tr ( v1ds: v1ardeclst ) : prv2ardeclst = v2ds where { val v2ds = l2l (list_map_fun (v1ds, prv1ardec_tr)) // end of [val] val () = list_app_fun (v2ds, f) where { fn f (v2d: prv2ardec): void = the_d2expenv_add_dvar (v2d.prv2ardec_dvar) } (* end of [where] *) // end of [val] } (* end of [prv1ardeclst_tr] *) (* ****** ****** *) (* // // HX: // it is implemented in [pats_trans2_impdec.dats]: // extern fun i1mpdec_tr (d1c: d1ecl): Option_vt (i2mpdec) // *) (* ****** ****** *) // extern fun s1taload_tr ( loc0: location , idopt: symbolopt , fil: filename, ldflag: int, d1cs: d1eclist , loaded: &int? >> int ) : filenv // end-of-fun // implement s1taload_tr ( loc0, idopt , fil, ldflag, d1cs, loaded ) = let (* val () = print "s1taload_tr: staid = " val () = ( case+ idopt of | Some id => $SYM.print_symbol (id) | None () => print "(*none*)" ) : void // end of [val] val () = print_newline () val () = begin print "s1taload_tr: filename = "; $FIL.print_filename_full fil; print_newline () end // end of [val] *) // val fsymb = $FIL.filename_get_fullname (fil) val (pflev | ()) = the_staload_level_push () val ans = the_filenvmap_find (fsymb) // val fenv = ( case+ :( loaded: int ) => ans of | ~Some_vt fenv => let val () = loaded := 1 in fenv end // end of [Some_vt] | ~None_vt _ => let val () = loaded := 0 val ( pfsave | ((*void*)) ) = the_trans2_env_save () // val opt = $GLOB.the_PACKNAME_get () val d2cs = d1eclist_tr (d1cs) // HX: may set PACKNAME val ((*void*)) = $GLOB.the_PACKNAME_set (opt) // val (m0, m1, m2) = the_trans2_env_restore (pfsave | (*none*)) val fenv = filenv_make (fil, m0, m1, m2, d2cs) val ((*void*)) = the_filenvmap_add (fsymb, fenv) in fenv end // end of [None_vt] ) : filenv // end of [val] // val () = ( case+ idopt of | Some (id) => the_s2expenv_add (id, S2ITMfilenv(fenv)) | None ((*void*)) => $NS.the_namespace_add (fenv) // opening file ) : void // end of [val] // val () = the_staload_level_pop (pflev | (*none*)) // in fenv end // end of [s1taload_tr] // (* ****** ****** *) // extern fun s1taloadnm_tr ( d1c0: d1ecl ) : void // end-of-fun // implement s1taloadnm_tr (d1c0) = let // fun auxerr ( d1c0: d1ecl, name: symbol ) : void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "s1taloadnm_tr" val () = prerr ": the name [" val () = $SYM.prerr_symbol (name) val () = prerr "] does not refer to a namespace." val () = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_d1ecl_tr_staloadnm (d1c0)) end (* end of [auxerr] *) // val-D1Cstaloadnm (idopt, nspace) = d1c0.d1ecl_node // val ans = the_s2expenv_find (nspace) // in // case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | S2ITMfilenv (fenv) => ( case+ idopt of | Some (id) => the_s2expenv_add (id, s2i) | None ((*void*)) => $NS.the_namespace_add (fenv) ) (* end of [S2ITMfi1lenv] *) | _(*non-S2ITMfilenv*) => auxerr (d1c0, nspace) ) (* end of [Some_vt] *) | ~None_vt ((*void*)) => auxerr (d1c0, nspace) // end // end of [s1taloadnm_tr] (* ****** ****** *) implement overload_tr_d2eclist (d2cs) = let in // case+ d2cs of | list_nil ((*void*)) => () | list_cons (d2c, d2cs) => let val () = ( case+ d2c.d2ecl_node of // | D2Csymintr ids => symintr_tr (ids) (* | D2Csymelim ids => symelim_tr (ids) // HX: is this really needed? *) | D2Coverload (id, pval, opt) => let val loc = d2c.d2ecl_loc in case+ opt of | Some (d2i) => overload_tr_def (loc, id, pval, d2i) | None () => () end (* end of [D2Coverload] *) // | D2Cinclude (knd, d2cs2) => overload_tr_d2eclist (d2cs2) // | _ (*ignored*) => () // ) : void // end of [val] in overload_tr_d2eclist (d2cs) end // end of [list_cons] // end // end of [overload_tr_d2eclist] (* ****** ****** *) implement d1ecl_tr (d1c0) = let val loc0 = d1c0.d1ecl_loc (* val () = begin print "d1ecl_tr: d1c0 = "; print_d1ecl d1c0; print_newline () end // end of [val] *) // fun auxcheck_impdec ( d1c0: d1ecl, knd: int, impdec: i2mpdec ) : void = let val d2c = impdec.i2mpdec_cst val okay = ( if knd < 0 then d2cst_is_prf (d2c) else d2cst_is_nonprf (d2c) ) : bool // end of [val] val () = if ~okay then let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "d1ecl_tr: auxcheck_impdec" // for debugging val () = if knd < 0 then prerr ": the implemented dynamic constant is required to be proof." val () = if knd >= 0 then prerr ": the implemented dynamic constant is required to be non-proof." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [if] // end of [val] in // nothing end // end of [auxcheck_impdec] // in // case+ d1c0.d1ecl_node of // | D1Cnone () => d2ecl_none (loc0) // | D1Clist (ds) => let val ds = l2l (list_map_fun (ds, d1ecl_tr)) in d2ecl_list (loc0, ds) end // end of [D1Clist] // | D1Cpackname (opt) => let val () = $GLOB.the_PACKNAME_set (opt) in d2ecl_none (loc0) // end of [D1Cpackname] end (* end of [D1Cpackname] *) // | D1Csymintr (ids) => let val () = symintr_tr (ids) in d2ecl_symintr (loc0, ids) end // end of [D1Csymintr] | D1Csymelim (ids) => let val () = symelim_tr (ids) in d2ecl_symelim (loc0, ids) end // end of [D1Csymelim] // | D1Coverload (id, dqid, pval) => let val d2iopt = overload_tr (d1c0, id, dqid, pval) // end of [val] in d2ecl_overload (loc0, id, pval, d2iopt) end // end of [D1Coverload] // | D1Ce1xpdef (id, def) => let val () = the_s2expenv_add (id, S2ITMe1xp def) val () = the_d2expenv_add (id, D2ITMe1xp def) in d2ecl_none (loc0) end // end of [D1Ce1xpdef] | D1Ce1xpundef (id, def) => let val () = the_s2expenv_add (id, S2ITMe1xp def) val () = the_d2expenv_add (id, D2ITMe1xp def) in d2ecl_none (loc0) end // end of [D0Ce0xpundef] // | D1Cpragma (e1xps) => d2ecl_pragma(loc0, e1xps) | D1Ccodegen (knd, e1xps) => d2ecl_codegen(loc0, knd, e1xps) // | D1Cdatsrts (ds) => let val () = d1atsrtdeclst_tr (ds) in d2ecl_none (loc0) // end of [val] end // end of [D1Cdatsrts] // | D1Csrtdefs (ds) => let val () = s1rtdeflst_tr (ds) in d2ecl_none (loc0) end // end of [D1Csrtdefs] // | D1Cstacsts (ds) => let val s2cs = s1tacstlst_tr (ds) in d2ecl_stacsts (loc0, s2cs) // end of [val] end // end of [D1Cstacsts] | D1Cstacons (knd, ds) => let val s2cs = s1taconlst_tr (knd, ds) in d2ecl_stacons (loc0, knd, s2cs) // end of [val] end // end of [D1Cstacons] (* | D1Cstavars (d1s) => let val s2vs = s1tavarlst_tr (d1s) in d2ecl_stavars (loc0, s2vs) end // end of [D1Cstavars] *) // | D1Ctkindef (d) => let val () = t1kindef_tr (d) in d2ecl_none (loc0) end // end of [D1Ckindef] // | D1Csexpdefs (knd, ds) => let val () = s1expdeflst_tr (knd, ds) in d2ecl_none (loc0) end // end of [D1Csexpdefs] // | D1Csaspdec (d1c) => let val opt = s1aspdec_tr (d1c) in case+ opt of | ~Some_vt d2c => d2ecl_saspdec (loc0, d2c) // end of [Some_vt] | ~None_vt ((*void*)) => d2ecl_none (loc0) // HX: error is already reported // end of [None_vt] // end of [case] end // end of [D1Csaspdec] // | D1Cdatdecs ( knd, d1cs_dat, d1cs_def ) => let val s2cs = d1atdeclst_tr (knd, d1cs_dat, d1cs_def) // end of [val] in d2ecl_datdecs (loc0, knd, s2cs) end // end of [D1Cdatdecs] // | D1Cexndecs (d1cs) => ( d2ecl_exndecs (loc0, e1xndeclst_tr (d1cs)) ) (* end of [D1Cexndecs] *) // | D1Cclassdec(id, sup) => let val () = c1lassdec_tr (id, sup) in d2ecl_none (loc0) end // end of [D1Cclassdec] // | D1Cextype ( name, s1e_def // arity=2 ) => let val s2e_def = s1exp_trdn_impred (s1e_def) // end of [val] in d2ecl_extype (loc0, name, s2e_def) end // end of [D1Cextype] | D1Cextype ( knd, name, s1e_def // arity=3 ) => let val s2t_def = s2rt_impred (knd) val s2e_def = s1exp_trdn (s1e_def, s2t_def) // end of [val] in d2ecl_extype (loc0, name, s2e_def) end // end of [D1Cextype] // | D1Cextvar (name, def) => let val def = d1exp_tr (def) in d2ecl_extvar (loc0, name, def) end // end of [D1Cextvar] | D1Cextcode (knd, pos, code) => d2ecl_extcode (loc0, knd, pos, code) // end of [D1Cextcode] // | D1Cdcstdecs ( knd, dck, decarg, d1cs ) => let val ( pfenv | () ) = the_s2expenv_push_nil () val s2qs = list_map_fun (decarg, q1marg_tr_dec) val d2cs = d1cstdeclst_tr (knd, dck, l2l(s2qs), d1cs) val ((*void*)) = the_s2expenv_pop_free (pfenv | (*none*)) in d2ecl_dcstdecs (loc0, knd, dck, d2cs) end // end of [D1Cdcstdecs] // | D1Cmacdefs ( knd, isrec, d1cs ) => let val knd = ( if isrec then (if knd = 0 then 0 else 2) else knd ) : int // end of [val] val () = m1acdeflst_tr (knd, d1cs) in d2ecl_none (loc0) end // end of [D1Cmacdefs] // | D1Cimpdec ( knd, _arg, _dec ) => let val d2copt = i1mpdec_tr (d1c0) in case+ d2copt of | ~Some_vt (impdec) => let val () = auxcheck_impdec (d1c0, knd, impdec) // end of [val] in d2ecl_impdec (loc0, knd, impdec) end // end of [Some_vt] // // HX: the error is already reported // | ~None_vt ((*void*)) => d2ecl_none (loc0) end // end of [D1Cimpdec] // | D1Cfundecs ( funknd, decarg, f1ds ) => let // val istmp = list_is_cons (decarg) val () = if istmp then the_tmplev_inc () // val (pfenv | ()) = the_trans2_env_push () // val tmplev = the_tmplev_get() // val s2qs = list_map_fun (decarg, q1marg_tr_dec) // end of [val] val s2qs = list_of_list_vt (s2qs) val ((*void*)) = s2qualstlst_set_tmplev (s2qs, tmplev) // end of [val] // val f2ds = f1undeclst_tr (funknd, s2qs, f1ds) // end of [val] // val () = if istmp then the_tmplev_dec () // val () = the_trans2_env_pop (pfenv | (*none*)) // val () = the_d2expenv_add_fundeclst (funknd, f2ds) // in d2ecl_fundecs (loc0, funknd, s2qs, f2ds) end // end of [D1Cfundecs] // | D1Cvaldecs ( knd, isrec, v1ds ) => let val v2ds = v1aldeclst_tr (isrec, v1ds) in if not(isrec) then d2ecl_valdecs (loc0, knd, v2ds) else d2ecl_valdecs_rec (loc0, knd, v2ds) // end of [if] end // end of [D1Cvaldecs] // | D1Cvardecs (knd, v1ds) => ( if knd = 0 then let val v2ds = v1ardeclst_tr (v1ds) in d2ecl_vardecs (loc0, v2ds) end else let // knd = 1 val v2ds = prv1ardeclst_tr (v1ds) in d2ecl_prvardecs (loc0, v2ds) end // end of [if] ) // end of [D1Cvardecs] // | D1Cinclude (knd, d1cs) => let val d2cs = d1eclist_tr (d1cs) in d2ecl_include (loc0, knd, d2cs) end // end of [D1Cinclude] // | D1Cstaload ( idopt, fil, ldflag, d1cs ) => let var loaded: int // val fenv = s1taload_tr (loc0, idopt, fil, ldflag, d1cs, loaded) // end of [val] // // HX-2013-10-30: // Overloading declarations // is not allowed to permeate a NAMED namespace!!! // val () = ( case+ idopt of | None () => { val d2cs = filenv_get_d2eclist (fenv) val ((*void*)) = overload_tr_d2eclist (d2cs) } (* end of [None] *) | Some (id) => ((*void*)) ) (* end of [val] *) // in d2ecl_staload (loc0, idopt, fil, ldflag, fenv, loaded) end // end of [D1Cstaload] // | D1Cstaloadnm _ => let val () = s1taloadnm_tr (d1c0) in d2ecl_none (loc0) end // end of [D1Cstaloadnm] // | D1Cstaloadloc ( pfil, nspace, d1cs_loc ) => let // val (pfsave | ((*void*))) = the_trans2_env_save () // val opt = $GLOB.the_PACKNAME_get () val d2cs_loc = d1eclist_tr (d1cs_loc) // local declarations val ((*void*)) = $GLOB.the_PACKNAME_set (opt) // val (m0, m1, m2) = the_trans2_env_restore (pfsave | (*void*)) val fenv = filenv_make (pfil, m0, m1, m2, d2cs_loc) val ((*void*)) = the_s2expenv_add (nspace, S2ITMfilenv(fenv)) in d2ecl_staloadloc (loc0, pfil, nspace, fenv) end // end of [D1Cstaloadloc] // | D1Cdynload (fil) => d2ecl_dynload (loc0, fil) // | D1Clocal ( d1cs_head, d1cs_body ) => let val (pf1env | ()) = the_trans2_env_push () val d2cs_head = d1eclist_tr (d1cs_head) val (pf2env | ()) = the_trans2_env_push () val d2cs_body = d1eclist_tr (d1cs_body) val () = the_trans2_env_localjoin (pf1env, pf2env | (*none*)) in d2ecl_local (loc0, d2cs_head, d2cs_body) end // end of [D1Clocal] // (* | _ => let val () = prerr_error2_loc (loc0) val () = prerrln! (": d1ecl_tr: not implemented: d1c0 = ", d2c0) in d2ecl_none (loc0) end // end of [_] *) // end // end of [d1ecl_tr] (* ****** ****** *) implement d1eclist_tr (d1cs) = let val d2cs = list_map_fun (d1cs, d1ecl_tr) in list_of_list_vt (d2cs) end // end of [d1eclist_tr] (* ****** ****** *) implement d1eclist_tr_errck (d1cs) = d2cs where { val d2cs = d1eclist_tr (d1cs) val () = the_trans2errlst_finalize () } // end of [d1eclist_tr_errck] (* ****** ****** *) (* end of [pats_trans2_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_caseof.dats0000664000175000017500000004171112655455557020167 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans3_caseof" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" staload "./pats_patcst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fn gm2at_trup ( gm2t: gm2at ) : gm3at = let val loc0 = gm2t.gm2at_loc val d2e = gm2t.gm2at_exp val d3e = d2exp_trup (d2e) val s2e = d3exp_get_type (d3e) val op2t = gm2t.gm2at_pat val op3t = ( case+ op2t of | Some p2t => let val p3t = p2at_trdn (p2t, s2e) in Some (p3t) end // end of [Some] | None () => let val () = guard_trdn (loc0, true(*gval*), s2e) in None () end // end of [None] ) : p3atopt // end of [val] in gm3at_make (loc0, d3e, op3t) end // end of [gm2at_tr_up] fn gm2atlst_trup ( gm2ts: gm2atlst ) : gm3atlst = let val m3ats = list_map_fun (gm2ts, gm2at_trup) in (l2l)m3ats end // end of [gm2atlst_trup] (* ****** ****** *) extern fun c2lau_trdn {n:nat} ( casknd: caskind , c2l: c2lau , ctr: c3nstroptref , d3es: list (d3exp, n) , s2es_pat: list (s2exp, n) , s2e_res: s2exp , cp2tss: p2atcstlstlst_vt ) : c3lau (n) // end of [c2lau_trdn] (* ****** ****** *) implement c2lau_trdn ( casknd, c2l, ctr, d3es, s2es_pat, s2e_res, cp2tcss ) = let // val loc0 = c2l.c2lau_loc val p2ts = c2l.c2lau_pat // (* val () = begin print "c2lau_trdn: p2ts = "; print_p2atlst (p2ts); print_newline (); print "c2lau_trdn: s2es_pat = "; print_s2explst (s2es_pat); print_newline (); print "c2lau_trdn: s2e_res = "; print_s2exp (s2e_res); print_newline (); end // end of [val] *) // val (pfpush | ()) = trans3_env_push () // val seq = c2l.c2lau_seq and neg = c2l.c2lau_neg // val () = if seq > 0 then let val cp2tcss = p2atcstlstlst_vt_copy (cp2tcss) in trans3_env_hypadd_patcstlstlst (loc0, cp2tcss, s2es_pat) end // end of [val] var serr: int = 0 val p3ts = p2atlst_trdn (loc0, p2ts, s2es_pat, serr) val () = if (serr != 0) then { val () = the_trans3errlst_add (T3E_c2lau_trdn_arity (c2l, s2es_pat)) } (* end of [val] *) // (* val () = ( print "c2lau_trdn: p3ts = "; fprint_p3atlst (stdout_ref, p3ts); print_newline () ) (* end of [val] *) *) // val (pfd2v | ()) = the_d2varenv_push_let () val () = the_d2varenv_add_p3atlst (p3ts) val (pfman | ()) = the_pfmanenv_push_let () val () = the_pfmanenv_add_p3atlst (p3ts) // val gua = gm2atlst_trup (c2l.c2lau_gua) // // HX-2012-05: // if p3t is a PCKlincon, it is assumed read-only! // val () = d3lvalist_set_pat_type_left (d3es, p3ts) val s2e_res = ( if neg > 0 then s2exp_bottom_t0ype_exi () else s2e_res ) : s2exp // end of [val] val d3e_body = d2exp_trdn (c2l.c2lau_body, s2e_res) // val () = the_d2varenv_check (loc0) // val () = p2atcstlstlst_vt_free (cp2tcss) // val () = the_d2varenv_pop (pfd2v | (*none*)) val () = the_pfmanenv_pop (pfman | (*none*)) // val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc0) // in c3lau_make (loc0, p3ts, gua, seq, neg, d3e_body) end // end of [c2lau_trdn] (* ****** ****** *) fun c2laulst0_trdn ( loc0: loc_t , casknd: caskind , s2es_pat: s2explst , s2e_res: s2exp ) : void = let in // case+ casknd of | CK_case () => let val () = prerr_warning3_loc (loc0) val () = prerr ": a case-expression is expected to have at least one match clause." val () = prerr_newline () val _(*err*) = the_effenv_check_exn (loc0) // HX: handling potential match failure in // nothing end // end of [CK_case] | CK_case_pos () => let val () = prerr_error3_loc (loc0) val () = prerr ": a case+-expression is required to have at least one match clause." val () = prerr_newline () in the_trans3errlst_add (T3E_c2laulst0_trdn_noclause (loc0)) end // end of [CK_case_pos] | CK_case_neg () => () // end // end of [c2laulst0_trdn] (* ****** ****** *) fun c2laulst1_trdn {n:nat} ( loc0: loc_t , casknd: caskind , invres: i2nvresstate , c2l: c2lau , d3es: list (d3exp, n) , s2es_pat: list (s2exp, n) , s2e_res: s2exp ) : c3lau (n) = let (* val () = println! ( "c2laulst1_trdn: s2es_pat = ", s2es_pat ) (* end of [val] *) *) // val cp2tcss = ( case+ casknd of | CK_case () => c2lau_pat_comp (c2l) | CK_case_pos () => c2lau_pat_comp (c2l) | CK_case_neg () => list_vt_nil () ) : p2atcstlstlst_vt // end of [val] var cp2tcss : p2atcstlstlst_vt = cp2tcss // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // val ctr = c3nstroptref_make_none (c2l.c2lau_loc) val c3l = let val cp2tcss1 = c2lau_pat_any (c2l) in c2lau_trdn (casknd, c2l, ctr, d3es, s2es_pat, s2e_res, cp2tcss1) end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val isexhaust = ( // // HX: true for [case-] // if list_vt_is_nil (cp2tcss) then true else false ) : bool // end of [val] val () = if ~isexhaust then let val cp2tcss = p2atcstlstlst_vt_copy (cp2tcss) in trans3_env_add_patcstlstlst_false (loc0, casknd, cp2tcss, s2es_pat) end // end of [if] // end of [val] // val () = p2atcstlstlst_vt_free (cp2tcss) // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // HX: it must be processed // val () = if ~isexhaust then { val _(*err*) = the_effenv_caskind_check_exn (loc0, casknd) } // end of [if] // end of [val] // in c3l (* single-clause expression *) end // end of [c2laulst1_trdn] (* ****** ****** *) // extern fun c2laulst2_trdn {n:nat} ( loc0: loc_t , casknd: caskind , invres: i2nvresstate , c2l_fst: c2lau , c2ls_rest: c2laulst , d3es: list (d3exp, n) , s2es_pat: list (s2exp, n) , s2e_res: s2exp ) : c3laulst (n) // and c2laulst2_trdn_rest {n:nat} ( loc0: loc_t , casknd: caskind , invres: i2nvresstate , c3l_fst: c3lau n , lsbis: lstbefitmlst , lsaft: !lstaftc3nstr , c2ls_rest: c2laulst , d3es: list (d3exp, n) , s2es_pat: list (s2exp, n) , s2e_res: s2exp , cp2tcss: &p2atcstlstlst_vt ) : c3laulst (n) // (* ****** ****** *) implement c2laulst2_trdn{n} ( loc0 , casknd, invres , c2l_fst, c2ls_rest , d3es, s2es_pat, s2e_res ) = let (* val () = println! ( "c2laulst2_trdn: s2es_pat = ", s2es_pat ) (* end of [val] *) *) // val cp2tcss = ( case+ casknd of | CK_case () => c2lau_pat_comp (c2l_fst) | CK_case_pos () => c2lau_pat_comp (c2l_fst) | CK_case_neg () => list_vt_nil () ) : p2atcstlstlst_vt // end of [val] var cp2tcss : p2atcstlstlst_vt = cp2tcss // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // val loc_fst = c2l_fst.c2lau_loc val ctr = c3nstroptref_make_none (loc_fst) val c3l_fst = let val cp2tcss1 = c2lau_pat_any (c2l_fst) in c2lau_trdn (casknd, c2l_fst, ctr, d3es, s2es_pat, s2e_res, cp2tcss1) end // end of [val] val () = lstaftc3nstr_update (lsaft, ctr) // val c3ls_all = c2laulst2_trdn_rest ( loc0, casknd, invres, c3l_fst, lsbis, lsaft , c2ls_rest, d3es, s2es_pat, s2e_res, cp2tcss ) (* end of [c3ls_all] *) // val isexhaust = ( // HX: always true for [case-] if list_vt_is_nil (cp2tcss) then true else false ) : bool // end of [val] val () = if ~isexhaust then let val cp2tcss = p2atcstlstlst_vt_copy (cp2tcss) in trans3_env_add_patcstlstlst_false (loc0, casknd, cp2tcss, s2es_pat) end // end of [if] // end of [val] // val () = p2atcstlstlst_vt_free (cp2tcss) // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // HX: it must be processed // val () = if ~isexhaust then let val _(*err*) = the_effenv_caskind_check_exn (loc0, casknd) in // nothing end // end of [if] // end of [val] // in c3ls_all end (* end of [c2laulst2_trdn] *) (* ****** ****** *) implement c2laulst2_trdn_rest {n} ( loc0 , casknd , invres , c3l_fst , lsbis // : lstbefitmlst , lsaft // : lstaftc3nstr // linear , c2ls_rest , d3es , s2es_pat, s2e_res , cp2tcss // : &patcstlstlst_vt ) = let // fun auxred ( casknd: caskind , c2l: c2lau, cp2tcss_inter: !p2atcstlstlst_vt ) : void = let // fun auxerr ( xss: !p2atcstlstlst_vt ) : void = let val isnil = list_vt_is_nil (xss) val () = if isnil then { val () = prerr_error3_loc (c2l.c2lau_loc) val () = prerr ": this pattern match clause is redundant." val () = prerr_newline () val () = the_trans3errlst_add (T3E_c2laulst2_trdn_redundant (loc0, c2l)) } (* end of [val] *) in // nothing end // end of [auxerr] // in // case+ casknd of | CK_case () => auxerr (cp2tcss_inter) | CK_case_pos () => auxerr (cp2tcss_inter) | CK_case_neg () => () // end // end of [auxred] // fun auxmain ( c2ls: c2laulst , lsbis: lstbefitmlst , lsaft: !lstaftc3nstr , c3ls: c3laulst_vt (n) , cp2tcss: &p2atcstlstlst_vt ) : c3laulst n = let in case+ c2ls of | list_cons (c2l, c2ls) => let val p2tcs_c2l = p2at2cstlst (c2l.c2lau_pat) (* val () = begin print "c2laulst2_trdn_rest: p2tcs = "; print_p2atcstlst p2tcs_c2l; print_newline (); print "c2laulst2_trdn_rest: cp2tcss =\n"; print_p2atcstlstlst_vt cp2tcss; print_newline (); end (* end of [val] *) *) val cp2tcss_inter = let fun aux ( xss: !p2atcstlstlst_vt ) : p2atcstlstlst_vt = case+ xss of | list_vt_cons (!p1_xs, !p2_xss) => let val res = aux (!p2_xss) val test = p2atcstlst_inter_test ($UN.castvwtp1{p2atcstlst}{p2atcstlst_vt}(!p1_xs), p2tcs_c2l) // end of [val] in if test then let val xs = list_vt_copy (!p1_xs) prval () = fold@ (xss) in list_vt_cons (xs, res) end else let prval () = fold@ (xss) in res end // end of [if] end // end of [list_vt_cons] | list_vt_nil((*void*)) => (fold@ (xss); list_vt_nil()) // end of [aux] in aux (cp2tcss) end // end of [let] // end of [val] (* val () = ( print "c2laulst2_trdn_rest; print ": auxmain: cp2tcss_inter =\n"; print_p2atcstlstlst_vt (cp2tcss_inter); print_newline () ) (* end of [val] *) *) val () = auxred (casknd, c2l, cp2tcss_inter) // HX: redundancy checking // val () = lstbefitmlst_restore_type (lsbis) val ctr = c3nstroptref_make_none (c2l.c2lau_loc) val c3l = c2lau_trdn (casknd, c2l, ctr, d3es, s2es_pat, s2e_res, cp2tcss_inter) val () = lstaftc3nstr_update (lsaft, ctr) // val () = let val gua = c2l.c2lau_gua in case+ gua of | list_nil () => let fun aux ( xss: p2atcstlstlst_vt ) : p2atcstlstlst_vt = case+ xss of | ~list_vt_cons (xs, xss) => let val diff = p2atcstlst_diff ($UN.castvwtp1 {p2atcstlst} (xs), p2tcs_c2l) val () = list_vt_free (xs) in list_vt_append (diff, aux (xss)) end // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end of [aux] in cp2tcss := aux (cp2tcss) end // end of [list_cons] | list_cons _ => () end // end of [val] val c3ls = list_vt_cons (c3l, c3ls) (* val () = begin print "c2laulst2_trdn_rest: auxmain"; print ": cp2tcss(aft) =\n"; print_p2atcstlstlst_vt (cp2tcss); print_newline () end // end of [val] *) in auxmain (c2ls, lsbis, lsaft, c3ls, cp2tcss) end // end of [list_cons] | list_nil () => let val c3ls = list_vt_reverse (c3ls) in (l2l)c3ls end // end of [list_nil] end (* end of [aux_main] *) val c3ls_rest = auxmain (c2ls_rest, lsbis, lsaft, list_vt_nil (), cp2tcss) // end of [val] (* val () = ( print "c2laulst2_trdn_rest: cp2tcss =\n"; print_p2atcstlstlst_vt (cp2tcss); print_newline () ) // end of [val] *) in list_cons (c3l_fst, c3ls_rest) end // end of [c2laulst2_trdn_rest] (* ****** ****** *) implement c2laulst_trdn{n} ( loc0, casknd, invres, c2ls, d3es, s2es_pat, s2e_res ) = let in // case+ c2ls of | list_nil () => let val () = c2laulst0_trdn (loc0, casknd, s2es_pat, s2e_res) in list_nil () end // end of [list_nil] | list_cons (c2l, c2ls) => ( case+ c2ls of | list_nil () => let val c3l = c2laulst1_trdn (loc0, casknd, invres, c2l, d3es, s2es_pat, s2e_res) // end of [val] in list_sing (c3l) end // end of [list_nil] | list_cons _ => c2laulst2_trdn (loc0, casknd, invres, c2l, c2ls, d3es, s2es_pat, s2e_res) ) // end of [list_cons] // end // end of [c2laulst_trdn] (* ****** ****** *) implement d2exp_trdn_casehead (d2e0, s2f0) = let (* val () = ( println! ("d2exp_trdn_casehead: s2f0 = ", s2f0) ) // end of [val] *) val loc0 = d2e0.d2exp_loc val-D2Ecasehead (casknd, invres, d2es, c2ls) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) // val d3es = d2explst_trup (d2es) val _(*void*) = d3explst_open_and_add (d3es) val s2es_pat = list_map_fun (d3es, d3exp_get_type) val c3ls = let val s2es1_pat = __cast (s2es_pat) where { extern castfn __cast {n:int}(xs: !list_vt(s2exp, n)): list(s2exp, n) } // end of [where] // end of [val] in c2laulst_trdn (loc0, casknd, invres, c2ls, d3es, s2es1_pat, s2e0) end // end of [val] val () = list_vt_free (s2es_pat) // val () = i2nvresstate_update (loc0, invres) // in d3exp_case (loc0, s2e0, casknd, d3es, c3ls) end (* end of [d2exp_trdn_casehead] *) (* ****** ****** *) implement d2exp_trdn_scasehead (d2e0, s2f0) = let (* val () = ( println! ("d2exp_trdn_scasehead: s2f0 = ", s2f0) ) // end of [val] *) // val loc0 = d2e0.d2exp_loc val-D2Escasehead (invres, s2e_val, sc2ls) = d2e0.d2exp_node val s2e0 = s2hnf2exp (s2f0) // val lsbis = the_d2varenv_save_lstbefitmlst () var lsaft = lstaftc3nstr_initize (lsbis) // fun auxscl .<>. ( sc2l: sc2lau , s2e_val: s2exp , s2e_res: s2exp , isfst: bool , lsbis: lstbefitmlst , lsaft: !lstaftc3nstr ) : sc3lau = let val loc0 = sc2l.sc2lau_loc val () = if not(isfst) then lstbefitmlst_restore_type (lsbis) // end of [val] val ctr = c3nstroptref_make_none (loc0) val sp2t = sc2l.sc2lau_pat val d2e_body = sc2l.sc2lau_body val (pfpush | ()) = trans3_env_push () val () = trans3_env_add_sp2at (sp2t) val () = $SOL.s2exp_hypequal_solve (sp2t.sp2at_loc, s2e_val, sp2t.sp2at_exp) val d3e_body = d2exp_trdn (d2e_body, s2e_res) val () = trans3_env_add_cnstr_ref (ctr) val () = trans3_env_pop_and_add_main (pfpush | loc0) val () = lstaftc3nstr_update (lsaft, ctr) in sc3lau_make (loc0, sp2t, d3e_body) end // end of [auxscl] // fun auxsclist ( sc2ls: sc2laulst , s2e_val: s2exp , s2e_res: s2exp , isfst: bool , lsbis: lstbefitmlst , lsaft: !lstaftc3nstr ) : sc3laulst = case+ sc2ls of | list_cons (sc2l, sc2ls) => let val sc3l = auxscl ( sc2l, s2e_val, s2e_res, isfst, lsbis, lsaft ) // end of [val] val sc3ls = auxsclist ( sc2ls, s2e_val, s2e_res, false(*isfst*), lsbis, lsaft ) // end of [val] in list_cons (sc3l, sc3ls) end // end of [list_cons] | list_nil () => list_nil () // end of [auxsclist] // val sc3ls = auxsclist (sc2ls, s2e_val, s2e0, true(*isfst*), lsbis, lsaft) // val () = lstaftc3nstr_process (lsaft, invres) val () = lstaftc3nstr_finalize (lsaft) // HX: it must be processed // val () = i2nvresstate_update (loc0, invres) // in d3exp_scase (loc0, s2e0, s2e_val, sc3ls) end // end of [d2exp_trdn_scasehead] (* ****** ****** *) (* end of [pats_trans3_caseof.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_print.dats0000664000175000017500000001403412655455557020731 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) implement fprint_c3nstr (out, c3t) = let // macdef prstr (x) = fprint_string (out, ,(x)) // in // case+ c3t.c3nstr_node of // case+ | C3NSTRprop (s2p) => { val () = prstr "C3NSTRprop(" val () = fprint_c3nstrkind (out, c3t.c3nstr_kind) val () = prstr "; " val () = fpprint_s2exp (out, s2p) val ((*closing*)) = prstr ")" } (* end of [C3NSTRprop] *) | C3NSTRitmlst (s3is) => { val () = prstr "C3NSTRitmlst(" val () = fprint_c3nstrkind (out, c3t.c3nstr_kind) val () = prstr "; " val () = fprint_s3itmlst (out, s3is) val ((*closing*)) = prstr ")" } (* end of [C3NSTRitmlst] *) // | C3NSTRsolverify (s2e_prop) => { val () = prstr "C3NSTRsolverify(" val () = fprint_s2exp (out, s2e_prop) val ((*closing*)) = prstr ")" } (* end of [C3NSTRsolverify] *) // end // end of [fprint_c3nstr] implement print_c3nstr (x) = fprint_c3nstr (stdout_ref, x) implement prerr_c3nstr (x) = fprint_c3nstr (stderr_ref, x) (* ****** ****** *) implement fprint_c3nstrkind (out, knd) = let // macdef prstr (x) = fprint_string (out, ,(x)) // in // case+ knd of | C3TKmain() => prstr "C3TKmain()" | C3TKcase_exhaustiveness _ => prstr "C3TKcase_exhaustiveness(...)" // | C3TKtermet_isnat() => prstr "C3TKtermet_isnat()" | C3TKtermet_isdec() => prstr "C3TKtermet_isdec()" // | C3TKsome_fin _ => prstr "C3TKsome_fin()" | C3TKsome_lvar _ => prstr "C3TKsome_lvar()" | C3TKsome_vbox _ => prstr "C3TKsome_vbox()" // | C3TKlstate() => prstr "C3TKlstate()" | C3TKlstate_var(d2v) => ( fprint! (out, "C3TKlstate(", d2v, ")") // fprint! ) (* C3TKlstate_var *) // | C3TKloop(knd) => fprint! (out, "C3TKloop(", knd, ")") // | C3TKsolverify() => prstr "C3TKsolverify()" // end // end of [fprint_c3nstrkind] (* ****** ****** *) implement fprint_h3ypo (out, h3p) = let // macdef prstr (x) = fprint_string (out, ,(x)) // in // case+ h3p.h3ypo_node of | H3YPOprop s2p => { val () = prstr "H2YPOprop(" val () = fpprint_s2exp (out, s2p) val () = prstr ")" } // end of [H3YPOprop] | H3YPObind (s2v, s2p) => { val () = prstr "H2YPObind(" val () = fprint_s2var (out, s2v) val () = prstr " -> " val () = fpprint_s2exp (out, s2p) val () = prstr ")" } // end of [H3YPObind] | H3YPOeqeq (s2e1, s2e2) => { val () = prstr "H2YPOeqeq(" val () = fpprint_s2exp (out, s2e1) val () = prstr " == " val () = fpprint_s2exp (out, s2e2) val () = prstr ")" } // end of [H3YPOeqeq] // end // end of [fprint_h3ypo] implement print_h3ypo (x) = fprint_h3ypo (stdout_ref, x) implement prerr_h3ypo (x) = fprint_h3ypo (stderr_ref, x) (* ****** ****** *) implement fprint_s3itm (out, s3i) = let // macdef prstr (x) = fprint_string (out, ,(x)) // in // case+ s3i of // | S3ITMsvar (s2v) => { val () = prstr "S3ITMsvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // end of [S3ITMsvar] | S3ITMhypo (h3p) => { val () = prstr "S3ITMhypo(" val () = fprint_h3ypo (out, h3p) val () = prstr ")" } // end of [S3ITMhypo] | S3ITMsVar (s2V) => { val () = prstr "S3ITMsVar(" val () = fprint_s2Var (out, s2V) val opt = s2Var_get_link (s2V) val () = ( case+ opt of | Some s2e => ( prstr "->"; fpprint_s2exp (out, s2e) ) // end of [Some] | None () => () // end of [None] ) : void // end of [val] val () = prstr ")" } // end of [S3ITMsVar] // | S3ITMcnstr (c3t) => { val () = prstr "S3ITMcnstr(" val () = fprint_c3nstr (out, c3t) val () = prstr ")" } // end of [S3ITMcnstr] | S3ITMcnstr_ref (ctr) => { val ref = ctr.c3nstroptref_ref val () = prstr "S3ITMcnstr_ref(" val () = ( case+ !ref of | Some c3t => fprint_c3nstr (out, c3t) | None () => () ) : void // end of [val] val () = prstr ")" } // end of [S3ITMcnstr_ref] // | S3ITMdisj (s3iss) => { val () = prstr "S3ITMdisj(" val () = fprint_s3itmlstlst (out, s3iss) val () = prstr ")" } // | S3ITMsolassert (s2e_prop) => { val () = prstr "S3ITMsolassert(" val () = fprint_s2exp (out, s2e_prop) val ((*closing*)) = prstr ")" } (* end of [S3ITMsolassert] *) // end // end of [fprint_s3itm] (* ****** ****** *) implement fprint_s3itmlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s3itm) // end of [fprint_s3itmlst] implement fprint_s3itmlstlst (out, xss) = $UT.fprintlst (out, xss, "; ", fprint_s3itmlst) // end of [fprint_s3itmlstlst] (* ****** ****** *) (* end of [pats_trans3_env_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_utils.dats0000664000175000017500000003774112655455557016605 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" // (* ****** ****** *) // staload "./pats_utils.sats" // (* ****** ****** *) %{^ // static char *patsopt_PATSHOME = (char*)0 ; static char *patsopt_PATSHOMERELOC = (char*)0 ; static char *patsopt_ATSPKGRELOCROOT = (char*)0 ; // extern ats_ptr_type patsopt_getenv_gc(ats_ptr_type); ATSinline() char *getenv_gc (const char *name) { return (char*)(patsopt_getenv_gc((char*)name)); } // #define patsopt_getenv(name) getenv(name) // ATSextfun() ats_ptr_type patsopt_PATSHOME_get () { return patsopt_PATSHOME ; // optional string } // end of [patsopt_PATSHOME_get] ATSextfun() ats_ptr_type patsopt_PATSHOMERELOC_get () { return patsopt_PATSHOMERELOC ; // optional string } // end of [patsopt_PATSHOMERELOC_get] // ATSextfun() ats_void_type patsopt_PATSHOME_set () { patsopt_PATSHOME = getenv_gc("PATSHOME") ; if (!patsopt_PATSHOME) patsopt_PATSHOME = getenv_gc("ATSHOME") ; return ; } // end of [patsopt_PATSHOME_set] ATSextfun() ats_void_type patsopt_PATSHOMERELOC_set () { patsopt_PATSHOMERELOC = getenv_gc("PATSHOMERELOC") ; if (!patsopt_PATSHOMERELOC) patsopt_PATSHOMERELOC = getenv_gc("ATSHOMERELOC") ; return ; } // end of [patsopt_PATSHOMERELOC_set] // ATSextfun() ats_ptr_type patsopt_ATSPKGRELOCROOT_get () { return patsopt_ATSPKGRELOCROOT ; // optional string } // end of [patsopt_ATSPKGRELOCROOR_get] ATSextfun() ats_void_type patsopt_ATSPKGRELOCROOT_set () { patsopt_ATSPKGRELOCROOT = getenv_gc("ATSPKGRELOCROOT") ; return ; } // end of [patsopt_ATSPKGRELOCROOT_set] // %} (* end of [%{^] *) (* ****** ****** *) extern fun patsopt_getenv_gc (name: string): Stropt = "ext#patsopt_getenv_gc" // implement patsopt_getenv_gc (name) = let // val opt = patsopt_getenv (name) where { extern fun patsopt_getenv (name: string): stropt = "mac#patsopt_getenv" } (* end of [val] *) // in // if stropt_is_some(opt) then stropt_some(string0_copy(stropt_unsome(opt))) else stropt_none(*void*) // end // end of [patsopt_getenv_gc] (* ****** ****** *) implement eqref_type {a} (x1, x2) = let extern castfn __cast (x: a):<> ptr val x1 = __cast (x1) and x2 = __cast (x2) in eq_ptr_ptr (x1, x2) end // end of [eqref_type] (* ****** ****** *) // // HX: case-insensitive string comparision // extern fun strcasecmp ( x1: string, x2: string ) :<> int = "ext#patsopt_strcasecmp" // implement strcasecmp (x1, x2) = let fun loop (p1: Ptr1, p2: Ptr1): int = let val c1 = char_toupper ($UN.ptrget (p1)) val c2 = char_toupper ($UN.ptrget (p2)) in if c1 < c2 then ~1 else if c1 > c2 then 1 else if c1 != '\000' then loop (p1+1, p2+1) else 0 // end of [if] end // end of [loop] in $effmask_all (loop ($UN.cast2Ptr1(x1), $UN.cast2Ptr1(x2))) end // end of [strcasecmp] // (* ****** ****** *) // extern fun string_test_prefix ( str: string, prfx: string ) :<> bool = "ext#patsopt_string_test_prefix" // implement string_test_prefix (str, prfx) = let // #define NUL '\000' // fun loop ( p1: Ptr1, p2: Ptr1 ) : bool = let val c1 = $UN.ptrget (p1) in // if c1 > NUL then let val c2 = $UN.ptrget (p2) in if c1 = c2 then loop (p1+1, p2+1) else false end else true // end of [if] // end // end of [loop] // in $effmask_all (loop ($UN.cast2Ptr1(prfx), $UN.cast2Ptr1(str))) end // end of [patsopt_string_test_prefix] // (* ****** ****** *) // extern fun string_test_sffx ( str: string, sffx: string ) :<> bool = "ext#patsopt_string_test_suffix" // implement string_test_sffx (str, sffx) = let // val n1 = string_length (str) val n2 = string_length (sffx) // in // if n1 >= n2 then let val p1 = $UN.cast2Ptr1(str) val str2 = $UN.cast{string}(p1 + (n1 - n2)) in str2 = sffx end // end of [then] else false // end of [else] // end // end of [string_test_sffx] // (* ****** ****** *) local staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) fun llint_make_string_sgn {n,i:nat | i <= n} ( sgn: int, rep: string (n), i: size_t i ) : llint = let in // if string_isnot_atend (rep, i) then let val c0 = rep[i] in case+ c0 of | '0' => ( if string_isnot_atend (rep, i+1) then let val i = i+1 val c0 = rep[i] in if (c0 != 'x' && c0 != 'X') then llint_make_string_sgn_base (sgn, 8(*base*), rep, i) else llint_make_string_sgn_base (sgn, 16(*base*), rep, i+1) // end of [if] end else 0ll (* end of [if] *) ) // end of ['0'] | _ (*non-0*) => llint_make_string_sgn_base (sgn, 10(*base*), rep, i) end // end of [then] else 0ll // end of [else] // end // end of [llint_make_string_sgn] and llint_make_string_sgn_base {n,i:nat | i <= n} ( sgn: int, base: intBtw (2,36+1), rep: string (n), i: size_t i ) : llint = let // extern fun substring {n,i:nat | i <= n} (x: string n, i: size_t i): string (n-i) = "mac#atspre_padd_int" // in (llint_of)sgn * $STDLIB.strtoll_errnul (substring (rep, i), base) end // end of [llint_make_string_sgn_base] in (* in of [local] *) implement llint_make_string (rep) = let // var sgn: int = 1 val [n0:int] rep = string1_of_string (rep) val isnot = string_isnot_empty (rep) // in // if isnot then let val c0 = rep[0] in // case+ c0 of | '+' => llint_make_string_sgn ( 1(*sgn*), rep, 1) | '-' => llint_make_string_sgn (~1(*sgn*), rep, 1) | '~' => llint_make_string_sgn (~1(*sgn*), rep, 1) // HX: should it be supported? | _ (*rest*) => llint_make_string_sgn (1(*sgn*), rep, 0) // end else 0ll // end of [if] // end // end of [llint_make_string] implement double_make_string (rep) = $STDLIB.atof (rep) end // end of [local] (* ****** ****** *) implement intrep_get_base (rep) = let val rep = string1_of_string (rep) val isnot = string_isnot_atend (rep, 0) in // if isnot then let val c0 = rep[0] in // if c0 = '0' then let val isnot = string_isnot_atend (rep, 1) in if isnot then let val c1 = rep[1] val isxX = (if c1 = 'x' then true else c1 = 'X'): bool in if isxX then 16 else ( if char_isdigit (c1) then 8 else 10 ) // end of [if] end else 10 // end of [if] end else 10 // end of [if] // end else 10 // end of [if] // end // end of [intrep_get_base] implement intrep_get_nsfx (rep) = let // macdef test (c) = string_contains ("ulUL", ,(c)) // val [n:int] rep = string1_of_string (rep) // fun loop {i:nat | i <= n} .. ( rep: string n, i: size_t i, k: uint ) : uint = let in if i > 0 then let val i1 = i - 1 val c = rep[i1] in if test (c) then loop (rep, i1, k+1u) else k end else k end // end of [loop] // val n = string_length (rep) // in loop (rep, n, 0u) end // end of [intrep_get_nsfx] (* ****** ****** *) implement float_get_nsfx (rep) = let // macdef test (c) = string_contains ("fFlL", ,(c)) // val [n:int] rep = string1_of_string (rep) // fun loop {i:nat | i <= n} .. ( rep: string n, i: size_t i, k: uint ) : uint = let in if i > 0 then let val i1 = i - 1 val c = rep[i1] in if test (c) then loop (rep, i1, k+1u) else k end else k end // end of [loop] // val n = string_length (rep) // in loop (rep, n, 0u) end // end of [float_get_nsfx] (* ****** ****** *) local // assume lstord (a:type) = List (a) // in (* in of [local] *) implement lstord_nil () = list_nil () implement lstord_sing (x) = list_cons (x, list_nil ()) implement lstord_insert{a} (xs, x0, cmp) = let fun aux {n:nat} .. (xs: list (a, n)): list (a, n+1) = case+ xs of | list_cons (x, xs1) => if cmp (x0, x) <= 0 then list_cons (x0, xs) else list_cons (x, aux (xs1)) // end of [if] | list_nil () => list_cons (x0, list_nil) // end of [aux] in aux (xs) end // end of [lstord_insert] implement lstord_union{a} (xs1, xs2, cmp) = let // fun aux{n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : list (a, n1+n2) = ( case+ xs1 of | list_nil () => xs2 | list_cons (x1, xs11) => ( case+ xs2 of | list_nil () => xs1 | list_cons (x2, xs21) => if cmp (x1, x2) <= 0 then list_cons (x1, aux (xs11, xs2)) else list_cons (x2, aux (xs1, xs21)) // end of [if] ) // end of [list_cons] ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [lstord_union] implement lstord_get_dups {a} (xs, cmp) = let // fun aux {n:nat} .. ( x0: a, xs: list (a, n), cnt: int ) : List a = case+ xs of | list_cons (x, xs) => if cmp (x, x0) = 0 then aux (x0, xs, cnt+1) else ( // HX: x0 < x holds if cnt > 0 then list_cons (x0, aux (x, xs, 0)) else aux (x, xs, 0) // end of [if] ) // end of [if] | list_nil () => if cnt > 0 then list_cons (x0, list_nil) else list_nil // end of [list_nil] (* end of [aux] *) // in // case+ xs of | list_nil () => list_nil () | list_cons (x, xs) => aux (x, xs, 0) // end // end of [lstord_get_dups] implement lstord2list (xs) = xs end // end of [local] (* ****** ****** *) implement dirpath_append (dir, path, sep) = let // val p0 = $UN.cast2ptr (path) val c0 = $UN.ptr0_get (p0) // in if c0 = sep then sprintf ("%s%s", @(dir, path)) else sprintf("%s%c%s", @(dir, sep, path)) // end of [if] end // end of [dirpath_append] (* ****** ****** *) implement fprint_stropt (out, opt) = let in // if stropt_is_some (opt) then fprint_string (out, stropt_unsome (opt)) else fprint_string (out, "(none)") // end of [if] // end (* end of [fprint_stropt] *) (* ****** ****** *) implement {a}(*tmp*) fprintlst ( out, xs, sep, fprint ) = let // fun aux ( xs: List a, i: int ) : void = ( case+ xs of | list_nil () => () | list_cons (x, xs) => let val () = if i > 0 then fprint_string (out, sep) // end of [val] in fprint (out, x); aux (xs, i+1) end // end of [list_cons] ) (* end of [aux] *) // in aux (xs, 0) end // end of [fprintlst] (* ****** ****** *) implement {a}(*tmp*) fprintopt ( out, opt, fprint ) = ( case+ opt of | None () => fprint_string (out, "None()") | Some (x) => let val () = fprint_string (out, "Some(") val () = fprint (out, x) val () = fprint_string (out, ")") in // nothing end // end of [Some] ) (* end of [fprintopt] *) (* ****** ****** *) local // staload "libats/SATS/funset_listord.sats" staload _(*anon*) = "libats/DATS/funset_listord.dats" // fn cmp ( x1: char, x2: char ) : int = compare_char_char (x1, x2) // assume charset_type = set (char) // in (*in-of-local*) implement charset_sing (x) = funset_make_sing (x) implement charset_is_member (xs, x) = funset_is_member (xs, x, cmp) // end of [val] implement charset_add (xs, x) = xs where { var xs = xs val _(*exist*) = funset_insert (xs, x, cmp) } (* end of [val] *) implement charset_listize (xs) = funset_listize (xs) end // end of [local] implement fprint_charset (out, xs) = let // val xs = charset_listize (xs) // fun loop ( out: FILEref, xs: charlst_vt, i: int ) : void = ( // case+ xs of | ~list_vt_nil () => () | ~list_vt_cons (x, xs) => let val () = if i > 0 then fprint (out, ", ") // end of [val] in fprint_char (out, x); loop (out, xs, i+1) end // end of [list_vt_cons] // ) (* end of [loop] *) // in loop (out, xs, 0) end // end of [fprint_charset] (* ****** ****** *) local // staload Q = "libats/SATS/linqueue_arr.sats" // staload _(*anon*) = "libats/DATS/linqueue_arr.dats" staload _(*anon*) = "libats/ngc/DATS/deque_arr.dats" // in (* in of [local] *) // implement queue_get_strptr1 (q, st, ln) = let val [l:addr] (pfgc, pfarr | p) = malloc_gc (ln+1) // end of [val] prval (pf1, fpf2) = __assert (pfarr) where { extern prfun __assert {k:nat} ( pfarr: b0ytes(k+1) @ l ) : ( @[uchar?][k] @ l, @[uchar][k] @ l - bytes(k+1) @ l ) (* end of [_assert] *) } // end of [prval] val () = $Q.queue_copyout (q, st, ln, !p) prval () = pfarr := fpf2 (pf1) val () = bytes_strbuf_trans (pfarr | p, ln) in strptr_of_strbuf @(pfgc, pfarr | p) end // end of [queue_get_strptr1] // end // end of [local] (* ****** ****** *) %{$ // extern ats_ssize_type atslib_fildes_read_all_err ( ats_int_type fd, ats_ref_type buf, ats_size_type ntot ) ; // end of [atslib_fildes_read_all_err] // ats_ptr_type patsopt_file2strptr (ats_int_type fd) { int err = 0 ; int nerr = 0 ; char* sbp = (char*)0 ; // long int ofs_beg, ofs_end, nbyte ; // ofs_beg = lseek (fd, 0L, SEEK_CUR) ; if (ofs_beg < 0) nerr += 1 ; ofs_end = lseek (fd, 0L, SEEK_END) ; if (ofs_end < 0) nerr += 1 ; ofs_beg = lseek (fd, ofs_beg, SEEK_SET) ; if (ofs_beg < 0) nerr += 1 ; nbyte = ofs_end - ofs_beg ; // if (nerr == 0) { sbp = ATS_MALLOC(nbyte + 1) ; } if (sbp == NULL) nerr += 1 ; // if (nerr == 0) { err = atslib_fildes_read_all_err (fd, sbp, nbyte) ; } if (err < 0) { nerr += 1 ; } // if (nerr == 0) { sbp[ofs_end] = '\0'; return sbp ; } // if (sbp) free (sbp) ; return NULL ; } // end of [patsopt_file2strptr] %} // end of [%{$] (* ****** ****** *) local // // HX-2015-10-07: // It can be interesting to implement // tostrong_fprint based on open_memstream // staload FCNTL = "libc/SATS/fcntl.sats" staload STDIO = "libc/SATS/stdio.sats" staload STDLIB = "libc/SATS/stdlib.sats" staload UNISTD = "libc/SATS/unistd.sats" // macdef SEEK_SET = $STDIO.SEEK_SET // in (* in of [local] *) implement{a} tostring_fprint (prfx, fpr, x) = let // val tmp0 = sprintf ("%sXXXXXX", @(prfx)) val [m,n:int] tmpbuf = strbuf_of_strptr(tmp0) // prval () = __assert () where { extern prfun __assert (): [n >= 6] void } (* end of [prval] *) // prval pfstr = tmpbuf.1 val (pfopt|fd) = $STDLIB.mkstemp !(tmpbuf.2) prval ((*ret*)) = tmpbuf.1 := pfstr // val tmpstr = strptr_of_strbuf(tmpbuf) // in // if fd >= 0 then let // prval $FCNTL.open_v_succ(pffil) = pfopt // val (fpf|out) = fdopen (pffil | fd, file_mode_w) where { extern fun fdopen{fd:nat} ( pffil: !fildes_v fd | fd: int fd, mode: file_mode ) : (fildes_v fd - void | FILEref) = "mac#fdopen" } (* end of [out] *) val () = fpr(out, x) // val err = $STDIO.fflush_err(out) val err = $STDIO.fseek_err(out, 0L, SEEK_SET) // val res = file2strptr(pffil | fd) prval ((*returned*)) = fpf (pffil) // val err = $STDIO.fclose_err(out) val err = $UNISTD.unlink($UN.castvwtp1{string}(tmpstr)) val ((*freed*)) = strptr_free(tmpstr) in res (*strptr*) end // end of [then] else let prval $FCNTL.open_v_fail((*void*)) = pfopt val ((*freed*)) = strptr_free(tmpstr) in strptr_null((*void*)) end // end of [else] // end // end of [tostring_fprint] end // end of [local] (* ****** ****** *) // // HX-2015-01-27: // for stopping optimization // implement ptr_as_volatile (ptr) = ((*dummy*)) // (* ****** ****** *) (* end of [pats_utils.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_icnstr.dats0000664000175000017500000002523512655455557021271 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_constraint3_icnstr" // (* ****** ****** *) staload "./pats_intinf.sats" (* ****** ****** *) // staload ERR = "./pats_error.sats" staload LOC = "./pats_location.sats" // overload prerr with $LOC.prerr_location // (* ****** ****** *) // staload "./pats_staexp2.sats" // (* ****** ****** *) staload "./pats_lintprgm.sats" staload "./pats_constraint3.sats" (* ****** ****** *) local // staload LM = "libats/SATS/linmap_avltree.sats" staload _(*anon*) = "libats/DATS/linmap_avltree.dats" // assume s2varindmap (n:int) = $LM.map (s2var, natLt (n)) fn cmp ( x1: s2var, x2: s2var ) : int = compare_s2var_s2var (x1, x2) in // in of [local] implement s2varindmap_make {n} (s2vs) = let // viewtypedef vmap = s2varindmap (n) // fun loop {k,nk:nat | k+nk==n} .. ( s2vs: !list_vt (s2var, k), nk: int nk, vmap: &vmap ) : int (n) = case+ s2vs of | list_vt_cons (s2v, !p_s2vs) => let var res: natLt (n) // uninitialized val _(*found*) = $LM.linmap_insert (vmap, s2v, nk, cmp, res) prval () = opt_clear (res) val n = loop (!p_s2vs, nk+1, vmap) in fold@ (s2vs); n end // end of [list_vt_cons] | list_vt_nil () => (fold@ (s2vs); nk) // end of [loop] // var vim : vmap = $LM.linmap_make_nil () val n = loop {n,0} (s2vs, 0, vim) // in (vim, n) end // end of [s2varindmap_make] implement s2varindmap_find {n} (vim, s2v) = let typedef res = natLt (n) var x: res? // unintialized val found = $LM.linmap_search (vim, s2v, cmp, x) in if found then let prval () = opt_unsome {res} (x) in x+1 end else let prval () = opt_unnone {res} (x) in 0(*error*) end (* end of [if] *) end // end of [s2varindmap] implement s2varindmap_free (vim) = $LM.linmap_free (vim) end // end of [local] (* ****** ****** *) extern fun{a:t@ype} myintvec_addby_const {n:pos} ( iv: !myintvec (a, n), cff: myint(a) ) : void // end of [myintvec_addby_const] extern fun{a:t@ype} myintvec_addby_cffvar {n:nat} ( iv: !myintvec (a, n+1) , vim: !s2varindmap (n), cff: myint(a), s2v: s2var, err: &int ) : void // end of [myintvec_addby_cffvar] (* ****** ****** *) implement{a} myintvec_addby_const (iv, cff) = () where { val (pf | p) = myintvec_takeout (iv) prval (pf1, pf2) = array_v_uncons {myint(a)} (pf) val () = !p := add01_myint_myint (!p, cff) val () = myint_free (cff) prval () = pf := array_v_cons {myint(a)} (pf1, pf2) prval () = myintvecout_addback (pf | iv) } // end of [myintvec_addby_const] implement{a} myintvec_addby_cffvar (iv, vim, cff, s2v, err) = let val i = s2varindmap_find (vim, s2v) in // if i > 0 then let val (pf | p) = myintvec_takeout (iv) val i = size1_of_int1 (i) val (pf1, fpf2 | pi) = array_ptr_takeout (pf | p, i) val () = !pi := add01_myint_myint (!pi, cff) val () = myint_free (cff) prval () = pf := fpf2 (pf1) prval () = myintvecout_addback (pf | iv) in (*nothing*) end else let val () = myint_free (cff) in err := err + 1 end // end of [if] // end // end of [myintvec_addby_cffvar] (* ****** ****** *) implement{a} s3exp2icnstr {n} (loc0, vim, n, s3e0) = let (* val () = println! ("s3exp2icnstr: s3e0 = ", s3e0) *) in // case+ s3e0 of | S3Ebool (b) => ( if b then ICveclst (0(*conj*), list_vt_nil) // ic_true else ICveclst (1(*disj*), list_vt_nil) // ic_false // end of [if] ) // end of [S3Ebool] // | S3Ebvar (s2v) => let val n1 = n + 1 val iv = myintvec_make (n1) val cff = myint_make_int (1) var err: int = 0 val () = myintvec_addby_cffvar (iv, vim, cff, s2v, err) val () = myintvec_add_int (iv, ~1) in if err > 0 then let val () = myintvec_free (iv, n1) in ICerr (loc0, $UN.cast(s3e0)) end else ICvec (1(*eq*), iv) end // end of [S3Ebvar] // | S3Ebneg (s3e) => let val ic = s3exp2icnstr (loc0, vim, n, s3e) in icnstr_negate (ic) end // end of [S3Ebneg] // | S3Ebadd (s3e1, s3e2) => let val ic1 = s3exp2icnstr (loc0, vim, n, s3e1) val ic2 = s3exp2icnstr (loc0, vim, n, s3e2) in ICveclst (1(*disj*), list_vt_pair (ic1, ic2)) end // end of [S3Ebadd] | S3Ebmul (s3e1, s3e2) => let val ic1 = s3exp2icnstr (loc0, vim, n, s3e1) val ic2 = s3exp2icnstr (loc0, vim, n, s3e2) in ICveclst (0(*conj*), list_vt_pair (ic1, ic2)) end // end of [S3Ebmul] // | S3Ebeq (s3e1, s3e2) => let val n1 = n + 1 val ic1 = s3exp2icnstr (loc0, vim, n, s3e1) val ic2 = s3exp2icnstr (loc0, vim, n, s3e2) val ic1_neg = icnstr_negate (icnstr_copy (ic1, n1)) val ic2_neg = icnstr_negate (icnstr_copy (ic2, n1)) val ic12 = ICveclst (0(*conj*), list_vt_pair (ic1, ic2)) val ic12_neg = ICveclst (0(*conj*), list_vt_pair (ic1_neg, ic2_neg)) in ICveclst (1(*disj*), list_vt_pair (ic12, ic12_neg)) end // end of [S3Ebeq] | S3Ebneq (s3e1, s3e2) => let val n1 = n + 1 val ic1 = s3exp2icnstr (loc0, vim, n, s3e1) val ic2 = s3exp2icnstr (loc0, vim, n, s3e2) val ic1_neg = icnstr_negate (icnstr_copy (ic1, n1)) val ic2_neg = icnstr_negate (icnstr_copy (ic2, n1)) val ic_1_neg2 = ICveclst (0(*conj*), list_vt_pair (ic1, ic2_neg)) val ic_neg1_2 = ICveclst (0(*conj*), list_vt_pair (ic1_neg, ic2)) in ICveclst (1(*disj*), list_vt_pair (ic_1_neg2, ic_neg1_2)) end // end of [S3Ebneq] // | S3Ebineq (knd, s3e) => let var err: int = 0 val iv = s3exp2myintvec (vim, n, s3e, err) in if err > 0 then let val () = myintvec_free (iv, n+1) in ICerr (loc0, $UN.cast(s3e0)) end else ICvec (knd, iv) end // end of [S3Ebineq] // | S3Ebdom (s2v) => ICveclst (0(*conj*), list_vt_nil) (* | S3Ebdom (s2v) => let // 0 <= s2v <= 1 // val n1 = n + 1 var err: int = 0 // val iv0 = myintvec_make (n1) val cff0 = myint_make_int (1) val () = myintvec_addby_cffvar (iv0, vim, cff0, s2v, err) // val iv1 = myintvec_make (n1) val cff1 = myint_make_int (~1) val () = myintvec_addby_cffvar (iv1, vim, cff1, s2v, err) val () = myintvec_add_int (iv1, 1) // in if err > 0 then let val () = myintvec_free (iv0, n1) val () = myintvec_free (iv1, n1) in ICerr (loc0, $UN.cast(s3e0)) end else let val ic0 = ICvec(2(*gte*), iv0) val ic1 = ICvec(2(*gte*), iv1) in ICveclst (0(*conj*), list_vt_pair (ic0, ic1)) end (* end of [if] *) end // end of [S3Ebdom] *) // | _ => let val () = prerr_error3_loc (loc0) val () = prerrln! ( ": this constraint cannot be s3exp2icnstr-handled: s3e0 = ", s3e0 ) (* end of [val] *) val () = $ERR.abort() (* val () = assertloc (false) *) in ICerr (loc0, $UN.cast(s3e0)) end // end of [_] // end // end of [s3exp2icnstr] (* ****** ****** *) local fun{a:t@ype} myintvec_addby_s3exp {n:nat} ( iv: !myintvec (a, n+1) , vim: !s2varindmap (n), s3e0: s3exp, err: &int ) : void = let (* val () = println! ("myintvec_addby_s3exp: s3e0 = ", s3e0) *) in // case+ s3e0 of | S3Evar (s2v) => let val cff = myint_make_int (1) in myintvec_addby_cffvar (iv, vim, cff, s2v, err) end // end of [S3Evar] // (* | S3Enull () => () // HX: this one seems inaccessible *) | S3Eunit () => let val cff = myint_make_int (1) in myintvec_addby_const (iv, cff) end // end of [S3Eunit] // | S3Eicff (cff, s3e) => ( case+ s3e of | S3Evar (s2v) => let val cff = myint_make_intinf (cff) in myintvec_addby_cffvar (iv, vim, cff, s2v, err) end // end of [S3Evar] | S3Eunit () => let val cff = myint_make_intinf (cff) in myintvec_addby_const (iv, cff) end // end of [S3Evar] | _ => (err := err + 1) ) // end of [S3Eicff] | _ => (err := err + 1) // end // end of [myintvec_addby_s3exp] fun{a:t@ype} myintvec_addby_s3explst {n:nat} ( iv: !myintvec (a, n+1) , vim: !s2varindmap (n), s3es: s3explst, err: &int ) : void = case+ s3es of | list_cons (s3e, s3es) => let val () = myintvec_addby_s3exp (iv, vim, s3e, err) // end of [val] in myintvec_addby_s3explst (iv, vim, s3es, err) end // end of [list_cons] | list_nil () => () // end of [myintvec_addby_s3explst] in (* in of [local] *) implement{a} s3exp2myintvec{n} ( vim, n, s3e0, err ) = let val iv = myintvec_make (n+1) in // case+ s3e0 of | S3Evar (s2v) => iv where { val cff = myint_make_int (1) val ( ) = myintvec_addby_cffvar (iv, vim, cff, s2v, err) } // end of [S3Evar] // | S3Enull () => iv | S3Eunit () => iv where { val cff = myint_make_int (1) val ( ) = myintvec_addby_const (iv, cff) } // end of [S3Eunit] // | S3Eicff (cff, s3e) => ( case+ s3e of | S3Evar (s2v) => iv where { val cff = myint_make_intinf (cff) val ( ) = myintvec_addby_cffvar (iv, vim, cff, s2v, err) } // end of [S3Eunit] | S3Eunit () => iv where { val cff = myint_make_intinf (cff) val ( ) = myintvec_addby_const (iv, cff) } // end of [S3Eunit] | _ => (err := err + 1; iv) ) // end of [S3Eicff] // | S3Eisum (s3es) => iv where { val () = myintvec_addby_s3explst (iv, vim, s3es, err) } // end of [S3Eisum] // | _ => (err := err + 1; iv) // end // end of [s3exp2myintvec] end // end of [local] (* ****** ****** *) (* end of [pats_constraint3_icnstr.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_staexp.dats0000664000175000017500000010365312655455557020470 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt (* ****** ****** *) vtypedef s0explst12 = list12 (s0exp) vtypedef labs0explst12 = list12 (labs0exp) (* ****** ****** *) fun s0exp_list12 ( t_beg: token, ent2: s0explst12, t_end: token ) : s0exp = ( // case+ ent2 of | ~LIST12one(xs) => s0exp_list(t_beg, (l2l)xs, t_end) | ~LIST12two(xs1, xs2) => s0exp_list2(t_beg, (l2l)xs1, (l2l)xs2, t_end) // ) (* end of [s0exp_list12] *) (* ****** ****** *) fun s0exp_tytup12 ( knd: int , t_beg: token, ent2: s0explst12, t_end: token ) : s0exp = ( // case+ ent2 of | ~LIST12one(xs) => s0exp_tytup(knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two(xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in s0exp_tytup(knd, t_beg, npf, (l2l)xs12, t_end) end // end of [LIST12two] // ) (* end of [s0exp_tytup12] *) (* ****** ****** *) fun s0exp_tyrec12 ( knd: int , t_beg: token, ent2: labs0explst12, t_end: token ) : s0exp = ( // case+ ent2 of | ~LIST12one(xs) => s0exp_tyrec(knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two(xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in s0exp_tyrec(knd, t_beg, npf, (l2l)xs12, t_end) end // end of [LIST12two] // ) (* end of [s0exp_tyrec12] *) (* ****** ****** *) fun s0exp_tyrec12_ext ( name: string , t_beg: token, ent2: labs0explst12, t_end: token ) : s0exp = ( // case+ ent2 of | ~LIST12one(xs) => s0exp_tyrec_ext(name, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two(xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in s0exp_tyrec_ext(name, t_beg, npf, (l2l)xs12, t_end) end // end of [LIST12two] // ) (* end of [s0exp_tyrec12_ext] *) (* ****** ****** *) fun p_s0expseq_BAR_s0expseq ( buf: &tokbuf, bt: int, err: &int ) : s0explst12 = plist12_fun (buf, bt, p_s0exp) // end of [p_s0expseq_BAR_s0expseq] fun p_labs0expseq_BAR_labs0expseq ( buf: &tokbuf, bt: int, err: &int ) : labs0explst12 = let val _ = p_COMMA_test (buf) in plist12_fun (buf, bt, p_labs0exp) end // end of [p_labs0expseq_BAR_labs0expseq] (* ****** ****** *) (* si0de | IDENTIFIER_alp | IDENTIFIER_sym (* | R0EAD // this one is removed in Postiats *) | AT | BANG | LT | GT | AMPERSAND | BACKSLASH | TILDE | MINUSGT // | REFAT // ref@ for flatten ref in a record // *) implement p_si0de (buf, bt, err) = let // val tok = tokbuf_get_token(buf) // val loc = tok.token_loc // macdef incby1() = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_IDENT_alp(x) => let val () = incby1() in i0de_make_string(loc, x) end | T_IDENT_sym(x) => let val () = incby1() in i0de_make_string(loc, x) end // | T_AT() => let val () = incby1() in i0de_make_sym(loc, symbol_AT) end | T_BANG() => let val () = incby1() in i0de_make_sym(loc, symbol_BANG) end // | T_LT() => let val () = incby1() in i0de_make_sym(loc, symbol_LT) end | T_GT() => let val () = incby1() in i0de_make_sym(loc, symbol_GT) end // | T_TILDE() => let val () = incby1() in i0de_make_sym(loc, symbol_TILDE) end // | T_MINUSGT() => let val () = incby1() in i0de_make_sym(loc, symbol_MINUSGT) end // | T_BACKSLASH() => let val () = incby1() in i0de_make_sym(loc, symbol_BACKSLASH) end // (* // // HX-2015-12-10: // 'ref@' is removed // | T_REFAT() => let val () = incby1() in i0de_make_sym(loc, symbol_REFAT) end // end of [T_REFAT] *) // | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt(bt, loc, PE_si0de) in synent_null() // end of [val] end // end of [_] // end // end of [p_si0de] (* ****** ****** *) (* s0taq | /*empty*/ | i0de_dlr DOT | i0de_dlr COLON /* | DOLLAR LITERAL_string DOT // this one is removed */ *) implement p_s0taq (buf, bt, err) = let // val n0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) // val loc = tok.token_loc // var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ 0 of | _ when ptest_fun ( buf, p_i0de_dlr, ent ) => let val bt = 0 val ent1 = synent_decode{i0de}(ent) // end of [val] val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of | T_DOT () => let val () = incby1 () in s0taq_symdot (ent1, tok2) end | T_COLON () => let val () = incby1 () in s0taq_symcolon (ent1, tok2) end | _ (*non-DOT-COLON*) => let val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0taq) in tokbuf_set_ntok_null (buf, n0) end // end of [_] end (* end of [_ when ...] *) | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0taq) in synent_null () end (* end of [_] *) // end // end of [p_s0taq] (* ****** ****** *) // (* sqi0de := si0de | s0taq si0de *) // implement p_sqi0de (buf, bt, err) = let // val err0 = err var ent: synent? // val n0 = tokbuf_get_ntok (buf) // in // case+ 0 of | _ when ptest_fun ( buf, p_si0de, ent ) => sqi0de_make_none (synent_decode{i0de}(ent)) // end of [_ when ...] | _ => let val ent1 = p_s0taq (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_si0de, err0) in if err = err0 then sqi0de_make_some (ent1, ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end // end of [_] // end // end of [p_sqi0de] (* ****** ****** *) extern fun p_asnameopt : parser (s0tringopt) // COLON s0rt // end of [p_asnameopt] implement p_asnameopt (buf, bt, err) = t2t (ptokentopt_fun (buf, is_AS, p_s0tring)) // end of [p_colons0rtopt] (* ****** ****** *) (* // // HX-2011-10-15: // labs0exp ::= l0ab [AS string] EQ s0exp // typedef foo = $extype_struct "foo_struct" of { in_ as "in" = int // the C-name of the field is "in" } // end of [foo] *) implement p_labs0exp ( buf, bt, err ) = let val err0 = err val tok = tokbuf_get_token (buf) val ent1 = p_l0ab (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_asnameopt, err0) // end of [val] val bt = 0 val ent3 = pif_fun (buf, bt, err, p_EQ, err0) val ent4 = pif_fun (buf, bt, err, p_s0exp, err0) in // if (err = err0) then labs0exp_make (ent1, ent2, ent4) else let val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_labs0exp) in synent_null () end (* end of [if] *) // end // end of [p_labs0exp] (* ****** ****** *) (* s0arrdim | LBRACKET s0expseq RBRACKET *) fun p_s0arrdim ( buf: &tokbuf, bt: int, err: &int ) : s0arrdim = let val err0 = err val n0 = tokbuf_get_ntok (buf) val ent1 = p_LBRACKET (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun0_COMMA{s0exp}(buf, bt, p_s0exp) else list_vt_nil((*void*)) // end of [if] ) : s0explst_vt val ent3 = pif_fun (buf, bt, err, p_RBRACKET, err0) in if err = err0 then s0arrdim_make (ent1, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, n0) end // end of [if] end (* end of [s0arrdim_make] *) (* ****** ****** *) (* atms0exp | i0nt | LITERAL_char // | si0de | s0taq i0de | OP si0de // | LPAREN s0expseq [BAR s0expseq] RPAREN // | ATLPAREN s0expseq [BAR s0expseq] RPAREN // knd = 0 | QUOTELPAREN s0expseq [BAR s0expseq] RPAREN // knd = 1 // | ATLBRACE labs0expseq [BAR labs0expseq] RBRACE // knd = 0 | QUOTELBRACE labs0expseq [BAR labs0expseq] RBRACE // knd = 1 // | ATLBRACKET s0exp RBRACKET s0arrind // for instance: @[a][n] // // HX: boxed types // | DLRTUP_T LPAREN s0expseq RPAREN | DLRTUP_T LPAREN s0expseq BAR s0expseq RPAREN | DLRTUP_VT LPAREN s0expseq RPAREN | DLRTUP_VT LPAREN s0expseq BAR s0expseq RPAREN | DLRREC_T LBRACE labs0expseq RBRACE | DLRREC_T LBRACE labs0expseq BAR labs0expseq RBRACE | DLRREC_VT LBRACE labs0expseq RBRACE | DLRREC_VT LBRACE labs0expseq BAR labs0expseq RBRACE // // HX: unboxed external struct types // | DLREXTYPE_STRUCT LITERAL_string OF LBRACE labs0expseq RBRACE // | MINUSLT e0fftagseq GT | MINUSLTGT // | LBRACE s0quaseq RBRACE // | LBRACKET s0quaseq RBRACKET | HASHLBRACKET s0quaseq RBRACKET // | DLRD2CTYPE LPAREN S0Ed2ctype RPAREN // *) (* ****** ****** *) // extern fun p_atms0exp_tok ( buf: &tokbuf , bt: int, err: &int, tok: token ) : s0exp // end-of-fun // implement p_atms0exp (buf, bt, err) = ( ptokwrap_fun (buf, bt, err, p_atms0exp_tok, PE_atms0exp) ) (* end of [p_atms0exp] *) // implement p_atms0exp_tok ( buf, bt, err, tok ) = let // val err0 = err var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // | _ when ptest_fun (buf, p_si0de, ent) => s0exp_i0de (synent_decode{i0de}(ent)) // | T_INT _ => let val () = incby1 () in s0exp_i0nt(tok) end // end of [T_INT] // | T_CHAR (c) => let val () = incby1 () in s0exp_c0har(tok) end // end of [T_CHAR] // | T_FLOAT _ => let val () = incby1 () in s0exp_f0loat(tok) end // end of [T_FLOAT] // | T_STRING _ => let val () = incby1 () in s0exp_s0tring(tok) end // end of [T_STRING] // | T_OP((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_si0de (buf, bt, err) in if err = err0 then s0exp_opid (tok, ent2) else synent_null() // end of [if] end // | _ when ptest_fun (buf, p_s0taq, ent) => let val bt = 0 val ent1 = synent_decode {s0taq} (ent) val ent2 = p_si0de (buf, bt, err) // err=err0 in if err = err0 then s0exp_sqid (ent1, ent2) else synent_null () // end of [if] end // | T_LPAREN() => let val bt = 0 val () = incby1 () val ent2 = p_s0expseq_BAR_s0expseq(buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err=err0 in if err = err0 then s0exp_list12 (tok, ent2, ent3) else let val () = list12_free (ent2) in synent_null() end // end of [if] end // | tnd when is_LPAREN_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_s0expseq_BAR_s0expseq(buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err=err0 in if err = err0 then let val knd = ( if is_ATLPAREN(tnd) then TYTUPKIND_flt else TYTUPKIND_box // end of [if] ) : int // end of [val] in s0exp_tytup12 (knd, tok, ent2, ent3) end // end of [then] else let val () = list12_free (ent2) in synent_null() end // end of [else] // end of [if] end | tnd when is_LBRACE_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_labs0expseq_BAR_labs0expseq (buf, bt, err) // end of [val] val ent3 = p_RBRACE (buf, bt, err) // err=err0 in if err = err0 then let val knd = ( if is_ATLBRACE(tnd) then TYRECKIND_flt else TYRECKIND_box // end of [if] ) : int // end of [val] in s0exp_tyrec12 (knd, tok, ent2, ent3) end // end of [then] else let val () = list12_free (ent2) in synent_null() end // end of [else] // end of [if] end // | T_ATLBRACKET ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACKET, err0) val ent4 = pif_fun (buf, bt, err, p_s0arrdim, err0) in if err = err0 then s0exp_tyarr (tok, ent2, ent4) else synent_null() // end of [if] end // | T_DLRTUP(knd) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) in if err = err0 then let val ent3 = p_s0expseq_BAR_s0expseq (buf, bt, err) // end of [val] val ent4 = p_RPAREN (buf, bt, err) // err=err0 in if err = err0 then s0exp_tytup12 (knd, tok, ent3, ent4) else let val () = list12_free (ent3) in synent_null() end (* end of [else] *) // end of [if] end // end of [then] else synent_null((*error*)) // end of [if] end | T_DLRREC(knd) => let val bt = 0 val () = incby1 () val ent2 = p_LBRACE (buf, bt, err) in if err = err0 then let val ent3 = p_labs0expseq_BAR_labs0expseq(buf, bt, err) // end of [val] val ent4 = p_RBRACE (buf, bt, err) // err=err0 in if err = err0 then s0exp_tyrec12 (knd, tok, ent3, ent4) else let val () = list12_free (ent3) in synent_null() end (* end of [if] *) end else synent_null () // end of [if] end // | T_DLREXTYPE_STRUCT ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0tring (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_OF, err0) val ent4 = pif_fun (buf, bt, err, p_LBRACE, err0) in if err = err0 then let val ent5 = p_labs0expseq_BAR_labs0expseq(buf, bt, err) // end of [val] val ent6 = p_RBRACE (buf, bt, err) // err=err0 in if err = err0 then let val-T_STRING (name) = ent2.token_node in s0exp_tyrec12_ext (name, tok, ent5, ent6) end // end of [then] else let val () = list12_free (ent5) in synent_null() end (* end of [else] *) // end of [if] end // end of [then] else synent_null((*void*)) // end of [else] // end of [if] end // | T_MINUSLT() => let val bt = 0 val () = incby1 () val ent2 = p_e0fftaglst (buf, bt, err) val ent3 = p_GT (buf, bt, err) // err=err0 in if err = err0 then s0exp_imp (tok, ent2, ent3) else synent_null() (* end of [if] *) end | T_MINUSLTGT() => let val () = incby1 () in s0exp_imp_nil(tok) end // end of [T_MINUSLTGT] // | T_LBRACE() => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) val ent3 = p_RBRACE (buf, bt, err) // err=err0 in if err = err0 then s0exp_uni (tok, ent2, ent3) else synent_null() // (* end of [if] *) end // | T_LBRACKET() => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) val ent3 = p_RBRACKET (buf, bt, err) // err=err0 in if err = err0 then s0exp_exi (0(*funres*), tok, ent2, ent3) else synent_null() // end of [if] end | T_HASHLBRACKET ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) val ent3 = p_RBRACKET (buf, bt, err) // err=err0 in if err = err0 then s0exp_exi (1(*funres*), tok, ent2, ent3) else synent_null() // end of [if] end // | T_DLRD2CTYPE() => let val bt = 0 val () = incby1 () // val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun(buf, bt, err, p_S0Ed2ctype, err0) val ent3 = $UN.cast{S0Ed2ctype}(ent3) val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) // in if err = err0 then s0exp_d2ctype(tok, ent3, ent4) else synent_null() // end of [if] end // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null() end // end // end of [p_atms0exp_tok] (* ****** ****** *) // (* apps0exp := {atms0exp}+ *) // fun p_apps0exp ( buf: &tokbuf, bt: int, err: &int ) : s0exp = let // fun loop ( x0: s0exp, xs1: s0explst_vt ) : s0exp = ( case+ xs1 of | ~list_vt_cons (x1, xs1) => let val x0 = s0exp_app (x0, x1) in loop (x0, xs1) end // end of [list_vt_cons] | ~list_vt_nil () => x0 ) (* end of [loop] *) // val xs = pstar1_fun (buf, bt, err, p_atms0exp) // in // case+ xs of | ~list_vt_cons (x, xs) => loop (x, xs) | ~list_vt_nil () => synent_null () // HX: [err] changed // end // end of [p_apps0exp] // (* ****** ****** *) // (* exts0exp := | DLREXTYPE LITERAL_string {atms0exp}* // eg: $extype"list" (int) | DLREXTKIND LITERAL_string {atms0exp}* // eg: $extkind"atstype_int64" *) // fun p_exts0exp ( buf: &tokbuf, bt: int, err: &int ) : s0exp = let // val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_DLREXTYPE () => let val bt = 0 val () = incby1 () val str = p_s0tring (buf, bt, err) in if err = err0 then let val arg = pstar_fun (buf, bt, p_atms0exp) val arg = list_of_list_vt (arg) // nonlinization in s0exp_extype (tok, str, arg) end else tokbuf_set_ntok_null (buf, n0) // endif end // end of [T_DLREXTYPE] | T_DLREXTKIND () => let val bt = 0 val () = incby1 () val str = p_s0tring (buf, bt, err) in if err = err0 then let val arg = pstar_fun (buf, bt, p_atms0exp) val arg = list_of_list_vt (arg) // nonlinization in s0exp_extkind (tok, str, arg) end else tokbuf_set_ntok_null (buf, n0) // endif end // end of [T_DLREXTKIND] | _ => let val () = err := err + 1 (* val () = the_parerrlst_add_ifnbt (bt, loc, PE_exts0exp) *) in synent_null () end (* end of [_] *) // end // end of [p_exts0exp] // (* ****** ****** *) // (* s0exp0 ::= apps0exp | exts0exp *) // fun p_s0exp0 ( // no annotation buf: &tokbuf, bt: int, err: &int ) : s0exp = let // var ent: synent? // in // case+ 0 of | _ when ptest_fun ( buf, p_apps0exp, ent ) => synent_decode {s0exp} (ent) | _ when ptest_fun ( buf, p_exts0exp, ent ) => synent_decode {s0exp} (ent) | _ (*error*) => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_s0exp0] // (* ****** ****** *) // (* s0exp ::= | s0exp0 [COLON s0rt] | LAM s0margseq colons0rtopt EQGT s0exp // COLON > LAM *) // fun s0exp_annopt ( ent1: s0exp, ent2: s0rtopt ) : s0exp = ( case+ ent2 of | Some s0t => s0exp_ann (ent1, s0t) | None () => ent1 ) (* end of [s0exp_annopt] *) // (* ****** ****** *) // extern fun p_s0exp_tok ( // no annotation buf: &tokbuf , bt: int, err: &int, tok: token ) : s0exp // implement p_s0exp (buf, bt, err) = ( ptokwrap_fun (buf, bt, err, p_s0exp_tok, PE_s0exp) ) (* end of [p_s0exp] *) // implement p_s0exp_tok ( buf, bt, err, tok ) = let // val err0 = err var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | _ when ptest_fun ( buf, p_s0exp0, ent ) => let val bt = 0 val ent1 = synent_decode {s0exp} (ent) val ent2 = p_colons0rtopt (buf, bt, err) in if err = err0 then s0exp_annopt (ent1, ent2) else synent_null ((*dangling COLON*)) // end of [if] end | T_LAM _ => let val bt = 0 val () = incby1 () val ent2 = pstar_fun {s0marg} (buf, bt, p_s0marg) val ent3 = p_colons0rtopt (buf, bt, err) // err = err0 val ent4 = pif_fun (buf, bt, err, p_EQGT, err0) val ent5 = pif_fun (buf, bt, err, p_s0exp, err0) in if err = err0 then s0exp_lams (tok, (l2l)ent2, ent3, ent5) else let val () = list_vt_free (ent2) in synent_null () end // end of [if] end | _ (*error*) => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_s0exp_tok] // (* ****** ****** *) // (* s0rtext | s0rt | LBRACE si0de COLON s0rt BAR s0exp barsemis0expseq RBRACE *) // implement p_s0rtext (buf, bt, err) = let // val err0 = err var ent: synent? // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // | _ when ptest_fun (buf, p_s0rt, ent) => s0rtext_srt (synent_decode {s0rt} (ent)) // | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_si0de (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_COLON, err0) val ent4 = pif_fun (buf, bt, err, p_s0rtext, err0) val ent5 = pif_fun (buf, bt, err, p_BAR, err0) val ent6 = pif_fun (buf, bt, err, p_s0exp, err0) val ent7 = ( if err = err0 then pstar_sep_fun (buf, bt, p_BARSEMI_test, p_s0exp) else list_vt_nil () ) : s0explst_vt val ent8 = pif_fun (buf, bt, err, p_RBRACE, err0) in if err = err0 then s0rtext_sub (tok, ent2, ent4, ent6, (l2l)ent7, ent8) else let val () = list_vt_free (ent7) val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0rtext) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end // | _ (*error*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0rtext) in synent_null () end // end of [_] // end // end of [p_s0rtext] // (* ****** ****** *) // (* s0qua | apps0exp | si0de commasi0deseq COLON s0rtext *) // local // fun p_s0qua_rule2 ( buf: &tokbuf, bt: int, err: &int ) : s0qua = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) (* val bt = 0 // HX: too many false positives *) val ent2 = ( if err = err0 then pstar_sep_fun(buf, bt, p_COMMA_test, p_si0de) else list_vt_nil((*void*)) // end of [if] ) : List_vt (i0de) // val ent3 = pif_fun (buf, bt, err, p_COLON, err0) val ent4 = pif_fun (buf, bt, err, p_s0rtext, err0) // in // if err = err0 then let val ent2 = (l2l)ent2 in s0qua_vars(ent1, ent2, ent4) end // end of [then] else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, n0) end (* end of [else] *) // end // end of [p_s0qua_rule2] // in // implement p_s0qua (buf, bt, err) = let // var ent: synent? // val tok = tokbuf_get_token(buf) // val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ 0 of | _ when ptest_fun ( buf, p_s0qua_rule2, ent ) => synent_decode {s0qua} (ent) | _ when ptest_fun(buf, p_apps0exp, ent) => s0qua_prop(synent_decode{s0exp}(ent)) | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt(bt, loc, PE_s0qua) in synent_null () end // end // end of [p_s0qua] // end // end of [local] implement p_s0quaseq (buf, bt, err) = l2l(pstar_fun0_BARSEMI{s0qua}(buf, bt, p_s0qua)) // end of [p_s0quaseq] (* ****** ****** *) implement p_eqs0expopt (buf, bt, err) = t2t(ptokentopt_fun(buf, is_EQ, p_s0exp)) // end of [p_eqs0expopt] implement p_ofs0expopt (buf, bt, err) = t2t(ptokentopt_fun(buf, is_OF, p_s0exp)) // end of [p_ofs0expopt] implement p_colons0expopt (buf, bt, err) = t2t(ptokentopt_fun(buf, is_COLON, p_s0exp)) // end of [p_colons0expopt] (* ****** ****** *) (* q0marg ::= LBRACE s0quaseq RBRACE *) implement p_q0marg ( buf, bt, err ) : q0marg = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) val tok = tokbuf_get_token(buf) // val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1(buf) // in // case+ tok.token_node of // case+ // | T_LBRACE() => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) val ent3 = p_RBRACE (buf, bt, err) in if err = err0 then q0marg_make (tok, ent2, ent3) else let val () = the_parerrlst_add_ifnbt(bt, loc, PE_q0marg) // end of [val] in tokbuf_set_ntok_null (buf, n0) end // end of [else] // end of [if] end | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt(bt, loc, PE_q0marg) in synent_null () end // end // end of [p_q0marg] implement p_q0margseq (buf, bt, err) = l2l(pstar_fun(buf, bt, p_q0marg)) // end of [p_q0margseq] (* ****** ****** *) (* cona0rgopt ::= | /*(empty)*/ | OF s0exp *) fun p_cona0rgopt ( buf: &tokbuf, bt: int, err: &int ) : s0expopt = p_ofs0expopt (buf, bt, err) (* coni0ndopt ::= /*(empty)*/ | LPAREN s0expseq RPAREN *) fun p_coni0ndopt ( buf: &tokbuf, bt: int, err: &int ) : s0expopt = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) // val tok = tokbuf_get_token(buf) // val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_LPAREN() => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA{s0exp}(buf, bt, p_s0exp) // end of [val] val ent3 = p_RPAREN(buf, bt, err) in if err = err0 then let val ent2 = (l2l)ent2 val s0e = s0exp_list (tok, ent2, ent3) in Some (s0e) end // end of [then] else let val () = list_vt_free(ent2) (* val () = the_parerrlst_add_ifnbt(bt, tok.i0de_loc, PE_coni0nd) *) in tokbuf_set_ntok_null (buf, n0) // HX: missing RPAREN end // end of [else] // end of [if] end | _(*non-LPAREN*) => None((*void*)) // HX: there is no error // end // end of [p_coni0ndopt] (* ****** ****** *) (* e0xndec ::= conq0uaseq di0de cona0rgopt *) implement p_e0xndec (buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = pstar_fun{q0marg}(buf, bt, p_q0marg) // val ent2 = p_di0de(buf, bt, err) // err=err0 // val bt = 0 val ent3 = ( if err = err0 then p_cona0rgopt(buf, bt, err) else None() ) : s0expopt // end of [val] // in // if err = err0 then let val ent1 = (l2l)ent1 in e0xndec_make (ent1, ent2, ent3) end // end of [then] else let val () = list_vt_free(ent1) in tokbuf_set_ntok_null(buf, n0) end // end of [else] // end // end of [p_e0xndec] (* ****** ****** *) // (* d0atcon ::= conq0uaseq di0de coni0ndopt cona0rgopt *) // fun p_d0atcon ( buf: &tokbuf, bt: int, err: &int ) : d0atcon = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) // val ent1 = pstar_fun{q0marg}(buf, bt, p_q0marg) val ent2 = p_di0de(buf, bt, err) // err = err0 // val bt = 0 val ent3 = ( if err = err0 then p_coni0ndopt(buf, bt, err) else None() ) : s0expopt // end of [val] val ent4 = ( if err = err0 then p_cona0rgopt(buf, bt, err) else None() ) : s0expopt // end of [val] // in // if err = err0 then let val ent1 = (l2l)ent1 in d0atcon_make (ent1, ent2, ent3, ent4) end // end of [then] else let val () = list_vt_free(ent1) in tokbuf_set_ntok_null(buf, n0) end // end of [else] // end // end of [p_d0atcon] // implement p_d0atconseq (buf, bt, err) = let val _ = p_BAR_test(buf) in l2l(pstar_fun0_BAR (buf, bt, p_d0atcon)) end // end of [p_d0atconseq] // (* ****** ****** *) (* // a0typ ::= | s0exp0 | pi0de COLON s0exp0 // // s0exp0: annotation-free // *) implement p_a0typ (buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) val () = tokbuf_incby1 (buf) // val tok2 = tokbuf_get_token (buf) val () = tokbuf_set_ntok (buf, n0) // in // case+ tok2.token_node of // case+ // | T_COLON () => let // val ent1 = p_pi0de(buf, bt, err) // val bt = 0 val ent2 = pif_fun(buf, bt, err, p_COLON, err0) val ent3 = pif_fun(buf, bt, err, p_s0exp0, err0) // in if err = err0 then a0typ_make_some(ent1, ent3) else let (* val () = the_parerrlst_add_ifnbt(bt, tok.token_loc, PE_a0typ) *) in tokbuf_set_ntok_null (buf, n0) end (* end of [else] *) // end of [if] end | _ (*non-COLON*) => let val ent1 = p_s0exp0 (buf, bt, err) in if err = err0 then a0typ_make_none (ent1) else let (* val () = the_parerrlst_add_ifnbt(bt, tok.token_loc, PE_a0typ) *) in tokbuf_set_ntok_null (buf, n0) end (* end of [else] *) // end of [if] end // end // end of [p_a0typ] (* ****** ****** *) // vtypedef a0typlst12 = list12 (a0typ) // fun d0cstarg_atyplst12 ( t_beg: token, ent2: a0typlst12, t_end: token ) : d0cstarg = ( case+ ent2 of | ~LIST12one (xs) => d0cstarg_dyn (~1, t_beg, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in d0cstarg_dyn (npf, t_beg, (l2l)xs12, t_end) end ) (* end of [d0cstarg_amtyp12] *) // implement p_d0cstarg (buf, bt, err) = let // val err0 = err var ent: synent? // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) // end of [val] val ent3 = p_RBRACE (buf, bt, err) in if err = err0 then d0cstarg_sta (tok, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = plist12_fun (buf, bt, p_a0typ) // end of [val] val ent3 = p_RPAREN (buf, bt, err) in if err = err0 then d0cstarg_atyplst12 (tok, ent2, ent3) else let val () = list12_free (ent2) in tokbuf_set_ntok_null(buf, n0) end // end of [if] end | _ (*error*) => let val () = err := err + 1 in synent_null () end // end of [_] // end // end of [p_d0cstarg] // (* ****** ****** *) (* s0vararg ::= DOTDOT | DOTDOTDOT | s0argseq *) implement p_s0vararg (buf, bt, err) = let // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // caes+ // | T_DOTDOT() => let val () = incby1 () in S0VARARGone(tok) end | T_DOTDOTDOT() => let val () = incby1 () in S0VARARGall(tok) end | _ (*rest*) => let val xs = pstar_fun0_COMMA{s0arg}(buf, bt, p_s0arg) // end of [val] val xs = list_of_list_vt (xs) val loc = ( case+ xs of | list_cons (x0, xs) => let val x0 = x0: s0arg val opt = list_last_opt (xs) in case+ opt of | ~Some_vt x1 => $LOC.location_combine (x0.s0arg_loc, x1.s0arg_loc) | ~None_vt () => x0.s0arg_loc end // end of [list_cons] | list_nil () => tok.token_loc ) : location // end of [val] in S0VARARGseq (loc, xs) end (* end of [_] *) // end // end of [p_s0vararg] (* s0exparg ::= DOTDOT | DOTDOTDOT | s0expseq *) implement p_s0exparg (buf, bt, err) = let // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_DOTDOT() => let val () = incby1 () in S0EXPARGone() end | T_DOTDOTDOT() => let val () = incby1 () in S0EXPARGall() end | _ (*rest-of-tokens*) => let val xs = pstar_fun0_COMMA{s0exp}(buf, bt, p_s0exp) in S0EXPARGseq((l2l)xs) end // end // end of [p_s0exparg] (* ****** ****** *) (* witht0ype ::= [WITHTYPE s0exp] *) implement p_witht0ype (buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_WITHTYPE(knd) => let val bt = 0 val () = incby1 () val ent2 = p_s0exp (buf, bt, err) in if err = err0 then WITHT0YPEsome (knd, ent2) else tokbuf_set_ntok_null (buf, n0) // HX: [err] is set // end of [if] end | _ (*non-WITHTYPE*) => WITHT0YPEnone () // end // end of [p_witht0ype] (* ****** ****** *) fun p_atms0exp_ngt ( buf: &tokbuf, bt: int, err: &int ) : s0exp = let val tok = tokbuf_get_token (buf) in // case+ tok.token_node of // case+ // | T_GT () => let val () = err := err + 1 in synent_null() end // end of [T_GT] | _ (* non-GT *) => p_atms0exp (buf, bt, err) // end // end of [p_atms0exp_ngt] (* ****** ****** *) fun p_tmps0exp ( buf: &tokbuf, bt: int, err: &int ) : s0exp = let // fun loop ( x0: s0exp, xs: s0explst_vt ) : s0exp = let in // case+ xs of | ~list_vt_nil() => x0 | ~list_vt_cons(x, xs) => let val x0 = s0exp_app (x0, x) in loop(x0, xs) end // end of [list_vt_cons] // end // end of [loop] // val xs = pstar1_fun{s0exp}(buf, bt, err, p_atms0exp_ngt) // in // case+ xs of | ~list_vt_cons (x, xs) => loop(x, xs) // end of [cons] | ~list_vt_nil((*void*)) => synent_null() // [err] is set // end // end of [p_tmps0exp] implement p_tmps0expseq (buf, bt, err) = let // val tok = tokbuf_get_token (buf) val s0es = pstar_fun0_COMMA{s0exp}(buf, bt, p_tmps0exp) // in t0mpmarg_make (tok, (l2l)s0es) end // end of [p_tmps0expseq] (* ****** ****** *) implement p_S0Ed2ctype (buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | _ when ptest_fun (buf, p_di0de, ent) => d0exp_ide (synent_decode{i0de}(ent)) // | _ when ptest_fun (buf, p_dqi0de, ent) => d0exp_dqid (synent_decode{dqi0de}(ent)) // | _ when ptest_fun ( buf, p_tmpqi0de, ent ) => let val bt = 0 val ent1 = synent_decode{dqi0de}(ent) val ent2 = pstar_fun1_sep{t0mpmarg}(buf, bt, err, p_tmps0expseq, p_GTLT_test) val ent3 = pif_fun (buf, bt, err, p_GT, err0) in if err = err0 then let val ent2 = (l2l)ent2 in d0exp_tmpid (ent1, ent2, ent3) end // end of [then] else let val () = list_vt_free(ent2) in synent_null() end (* end of [else] *) // end of [if] end // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null((*error*)) end // end // end of [p_S0Ed2ctype] (* ****** ****** *) (* end of [pats_parsing_staexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp1.dats0000664000175000017500000006401312655455557017025 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_dynexp1" (* ****** ****** *) staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement p1at_make (loc, node) = '{ p1at_loc= loc, p1at_node= node } implement p1at_any (loc) = '{ p1at_loc= loc, p1at_node= P1Tany () } implement p1at_any2 (loc) = '{ p1at_loc= loc, p1at_node= P1Tany2 () } (* ****** ****** *) implement p1at_ide (loc, id) = '{ p1at_loc= loc, p1at_node= P1Tide (id) } implement p1at_dqid (loc, dq, id) = '{ p1at_loc= loc, p1at_node= P1Tdqid (dq, id) } (* ****** ****** *) implement p1at_int (loc, i) = '{ p1at_loc= loc, p1at_node= P1Tint (i) } implement p1at_intrep (loc, rep) = '{ p1at_loc= loc, p1at_node= P1Tintrep (rep) } implement p1at_char (loc, c) = '{ p1at_loc= loc, p1at_node= P1Tchar (c: char) } implement p1at_float (loc, rep) = '{ p1at_loc= loc, p1at_node= P1Tfloat (rep) } implement p1at_string (loc, str) = '{ p1at_loc= loc, p1at_node= P1Tstring (str) } (* ****** ****** *) implement p1at_i0nt (loc, x) = '{ p1at_loc= loc, p1at_node= P1Ti0nt (x) } // end of [p1at_i0nt] implement p1at_c0har (loc, x) = let val-$LEX.T_CHAR (c) = x.token_node in p1at_char (loc, c) end // end of [p1at_c0har] implement p1at_f0loat (loc, x) = '{ p1at_loc= loc, p1at_node= P1Tf0loat (x) } // end of [p1at_f0loat] implement p1at_s0tring (loc, x) = let val-$LEX.T_STRING (str) = x.token_node in p1at_string (loc, str) end // end of [p1at_s0tring] (* ****** ****** *) implement p1at_empty (loc) = '{ p1at_loc= loc, p1at_node= P1Tempty () } implement p1at_app_dyn ( loc, _fun, loc_arg, npf, _arg ) = '{ p1at_loc= loc , p1at_node= P1Tapp_dyn (_fun, loc_arg, npf, _arg) } // end of [p1at_app_dyn] implement p1at_app_sta (loc, _fun, _arg) = '{ p1at_loc= loc, p1at_node= P1Tapp_sta (_fun, _arg) } // end of [p1at_app_sta] (* ****** ****** *) (* implement p1at_list ( loc, npf, p1ts ) = let in // if npf >= 0 then p1at_make (loc, P1Tlist (npf, p1ts)) else (case+ p1ts of | list_cons (p1t, list_nil ()) => p1t | _ => p1at_make (loc, P1Tlist (npf, p1ts)) ) // end of [if] // end // end of [p1at_list] *) implement p1at_list (loc, npf, p1ts) = let // fun aux_ifany (p1t: p1at): p1at = let in // case+ p1t.p1at_node of | P1Tany () => p1at_any2 (p1t.p1at_loc) | _ => p1t end // end of [aux_ifany] // in // if npf >= 0 then p1at_make (loc, P1Tlist (npf, p1ts)) else (case+ p1ts of | list_cons ( p1t, list_nil () ) => ( case+ p1t.p1at_node of | P1Tlist (npf, d1es) => let val knd = TYTUPKIND_flt in p1at_tup (loc, knd, npf, p1ts) end // end of [P1Tlist] | _ => aux_ifany (p1t) ) // end of [list_cons] | _ => p1at_make (loc, P1Tlist (npf, p1ts)) ) // end of [if] // end // end of [p1at_list] (* ****** ****** *) implement p1at_tup (loc, knd, npf, p1ts) = '{ p1at_loc= loc, p1at_node= P1Ttup (knd, npf, p1ts) } implement p1at_rec (loc, knd, npf, lp1ts) = '{ p1at_loc= loc, p1at_node= P1Trec (knd, npf, lp1ts) } implement p1at_lst (loc, lin, p1ts) = '{ p1at_loc= loc, p1at_node= P1Tlst (lin, p1ts) } implement p1at_free (loc, p1t) = '{ p1at_loc= loc, p1at_node= P1Tfree (p1t) } implement p1at_unfold (loc, p1t) = '{ p1at_loc= loc, p1at_node= P1Tunfold (p1t) } implement p1at_refas (loc, id, locid, p1t) = '{ p1at_loc= loc, p1at_node= P1Trefas (id, locid, p1t) } implement p1at_exist (loc, arg, p1t) = '{ p1at_loc= loc, p1at_node= P1Texist (arg, p1t) } implement p1at_svararg (loc, arg) = '{ p1at_loc= loc, p1at_node= P1Tsvararg (arg) } implement p1at_ann (loc, p1t, ann) = p1at_make (loc, P1Tann (p1t, ann)) // end of [p1at_ann] implement p1at_errpat (loc) = p1at_make (loc, P1Terrpat ()) (* ****** ****** *) implement labp1at_norm (loc, l, p1t) = '{ labp1at_loc= loc, labp1at_node= LABP1ATnorm (l, p1t) } implement labp1at_omit (loc) = '{ labp1at_loc= loc, labp1at_node= LABP1ATomit () } (* ****** ****** *) implement p1at_make_e1xp (loc0, e0) = let // fun aux ( e0: e1xp ) : p1at = let (* // val () = println! ("p1at_make_e1xp: aux: e0 = ", e0)) // *) in // case+ e0.e1xp_node of // | E1XPide(id) => p1at_ide (loc0, id) // | E1XPint(int) => p1at_int (loc0, int) | E1XPintrep(rep) => p1at_intrep (loc0, rep) // | E1XPchar(chr) => p1at_char (loc0, chr) // | E1XPfloat(rep) => p1at_float (loc0, rep) | E1XPstring(str) => p1at_string (loc0, str) // | E1XPapp( e1, loc_arg, es2 ) => let val p1t1 = aux (e1) val p1ts2 = auxlst (es2) in p1at_app_dyn (loc0, p1t1, loc0, ~1(*npf*), p1ts2) // p1at_app_dyn end (* end of [E1XPapp] *) // | E1XPlist (es) => p1at_list (loc0, ~1(*npf*), auxlst (es)) // end of [E1XPlist] | E1XPv1al (v1) => p1at_make_v1al (loc0, v1) | E1XPnone ((*void*)) => p1at_empty (loc0) | _ (*rest*) => let val () = prerr_error1_loc (loc0) val () = prerr (": the expression [") val () = prerr_e1xp (e0) val () = prerrln! ("] cannot be translated into a legal pattern.") in p1at_errpat (loc0) end // end of [rest] // end // end of [aux] and auxlst ( es: e1xplst ) : p1atlst = case+ es of | list_cons (e, es) => list_cons (aux e, auxlst es) | list_nil () => list_nil () // end of [auxlst] in aux (e0) end // end of [p1at_make_e1xp] (* ****** ****** *) implement p1at_make_v1al (loc0, v0) = let in // case+ v0 of | V1ALint (i) => p1at_int (loc0, i) | V1ALchar (c) => p1at_char (loc0, c) | V1ALstring (str) => p1at_string (loc0, str) | _(*unsupported*) => p1at_errpat (loc0) // end // end of [p1at_make_v1al] (* ****** ****** *) implement e1xp_make_p1at (loc0, p1t0) = let // fun aux ( p1t0: p1at ) : e1xp = case+ p1t0.p1at_node of | P1Tide (id) => e1xp_ide (loc0, id) | P1Tint (int) => e1xp_int (loc0, int) | P1Tintrep (rep) => e1xp_intrep (loc0, rep) | P1Tchar (char) => e1xp_char (loc0, char) | P1Tapp_dyn (p1t_fun, _(*loc*), npf, p1ts_arg) => let val e_fun = aux (p1t_fun); val es_arg = auxlst (p1ts_arg) in e1xp_app (loc0, e_fun, loc0, es_arg) end | P1Tlist (_(*npf*), s1es) => e1xp_list (loc0, auxlst s1es) | _ => e1xp_err (loc0) (* end of [aux] *) // and auxlst ( p1ts0: p1atlst ) : e1xplst = case+ p1ts0 of | list_cons (p1t, p1ts) => list_cons (aux p1t, auxlst p1ts) | list_nil () => list_nil () (* end of [auxlst] *) // in aux (p1t0) end // end of [e1xp_make_p1at] (* ****** ****** *) implement i1nvarg_make ( loc, id, os1e ) = '{ i1nvarg_loc= loc, i1nvarg_sym= id, i1nvarg_type= os1e } // end of [i1nvarg_make] implement i1nvresstate_make (s1qs, arg) = '{ i1nvresstate_qua= s1qs, i1nvresstate_arg= arg } implement i1nvresstate_nil = i1nvresstate_make (list_nil (), list_nil ()) // end of [i1nvresstate_nil] (* ****** ****** *) implement loopi1nv_make ( loc, qua, met, arg, res ) = '{ loopi1nv_loc= loc , loopi1nv_qua= qua , loopi1nv_met= met , loopi1nv_arg= arg , loopi1nv_res= res } // end of [loopi1nv_make] implement loopi1nv_nil (loc) = let val qua = list_nil () val met = None () val arg = list_nil () in loopi1nv_make (loc, qua, met, arg, i1nvresstate_nil) end // end of [loopi1nv_nil] (* ****** ****** *) implement gm1at_make (loc, d1e, op1t) = '{ gm1at_loc= loc, gm1at_exp= d1e, gm1at_pat= op1t } // end of [gm1at_make] implement c1lau_make ( loc, p1ts, gua, seq, neg, body ) = '{ c1lau_loc= loc , c1lau_pat= p1ts , c1lau_gua= gua , c1lau_seq= seq , c1lau_neg= neg , c1lau_body= body } // end of [c1lau_make] implement sc1lau_make (loc, sp1t, body) = '{ sc1lau_loc= loc, sc1lau_pat= sp1t, sc1lau_body= body } (* ****** ****** *) // // HX: dynamic expressions // (* ****** ****** *) implement d1exp_make (loc, node) = '{ d1exp_loc= loc, d1exp_node= node } // end of [d1exp_make] (* ****** ****** *) implement d1exp_ide (loc, id) = d1exp_make (loc, D1Eide (id)) implement d1exp_opid (loc, id) = d1exp_ide (loc, id) implement d1exp_dqid (loc, dq, id) = d1exp_make (loc, D1Edqid (dq, id)) // end of [d1exp_dqid] (* ****** ****** *) implement d1exp_idext (loc, id) = d1exp_idextapp (loc, id, list_nil) implement d1exp_idextapp (loc, id, arg) = d1exp_make (loc, D1Eidextapp (id, arg)) // end of [d1exp_idexpapp] (* ****** ****** *) implement d1exp_int (loc, i) = d1exp_make (loc, D1Eint (i:int)) implement d1exp_intrep (loc, rep) = d1exp_make (loc, D1Eintrep (rep)) implement d1exp_char (loc, c) = d1exp_make (loc, D1Echar (c:char)) implement d1exp_float (loc, rep) = d1exp_make (loc, D1Efloat rep) implement d1exp_string (loc, str) = d1exp_make (loc, D1Estring (str)) (* ****** ****** *) implement d1exp_i0nt (loc, x) = d1exp_make (loc, D1Ei0nt (x)) implement d1exp_c0har (loc, x) = d1exp_make (loc, D1Ec0har (x)) implement d1exp_f0loat (loc, x) = d1exp_make (loc, D1Ef0loat (x)) implement d1exp_s0tring (loc, x) = d1exp_make (loc, D1Es0tring (x)) (* ****** ****** *) // implement d1exp_cstsp (loc, x) = d1exp_make (loc, D1Ecstsp (x)) // implement d1exp_literal (loc, x) = d1exp_make (loc, D1Eliteral (x)) // (* ****** ****** *) // implement d1exp_top(loc) = d1exp_make (loc, D1Etop ()) // implement d1exp_empty(loc) = d1exp_make (loc, D1Eempty ()) // (* ****** ****** *) // implement d1exp_extval (loc, _type, name) = d1exp_make (loc, D1Eextval (_type, name)) // implement d1exp_extfcall (loc, _type, _fun, _arg) = d1exp_make (loc, D1Eextfcall (_type, _fun, _arg)) // implement d1exp_extmcall (loc, _type, _obj, _mtd, _arg) = d1exp_make (loc, D1Eextmcall (_type, _obj, _mtd, _arg)) // (* ****** ****** *) implement d1exp_foldat (loc, s1as, d1e) = d1exp_make (loc, D1Efoldat (s1as, d1e)) implement d1exp_freeat (loc, s1as, d1e) = d1exp_make (loc, D1Efreeat (s1as, d1e)) (* ****** ****** *) implement d1exp_tmpid (loc, qid, tmparg) = d1exp_make (loc, D1Etmpid (qid, tmparg)) // end of [d1exp_tmpid] (* ****** ****** *) // implement d1exp_let (loc, d1cs, body) = d1exp_make (loc, D1Elet(d1cs, body)) // implement d1exp_where (loc, body, d1cs) = d1exp_make (loc, D1Ewhere(body, d1cs)) // (* ****** ****** *) implement d1exp_app_sta (loc, d1e, s1as) = d1exp_make (loc, D1Eapp_sta(d1e, s1as)) // end of [d1exp_app_sta] implement d1exp_app_dyn (loc, d1e, loc_arg, npf, d1es) = d1exp_make (loc, D1Eapp_dyn(d1e, loc_arg, npf, d1es)) // end of [d1exp_app_dyn] (* ****** ****** *) // implement d1exp_sing (loc, d1e) = ( case+ d1e.d1exp_node of | D1Eide _ => d1e | _(*non-D1Eide*) => d1exp_make (loc, D1Esing(d1e)) ) (* end of [d1exp_sing] *) // (* ****** ****** *) implement d1exp_list (loc, npf, d1es) = let in // if npf >= 0 then ( d1exp_make (loc, D1Elist (npf, d1es)) ) else ( case+ d1es of | list_cons ( d1e, list_nil () ) => ( case+ d1e.d1exp_node of | D1Elist (npf, d1es) => let val knd = TYTUPKIND_flt in d1exp_tup(loc, knd, npf, d1es) end // end of [D1Elist] | _(*non-list*) => d1exp_sing(loc, d1e) ) (* end of [list_sing] *) | _ (*non-list-sing*) => d1exp_make (loc, D1Elist(npf, d1es)) ) (* end of [if] *) // end // end of [d1exp_list] (* ****** ****** *) implement d1exp_ifhead (loc, inv, _cond, _then, _else) = d1exp_make (loc, D1Eifhead (inv, _cond, _then, _else)) // end of [d1exp_ifhead] implement d1exp_sifhead (loc, inv, _cond, _then, _else) = d1exp_make (loc, D1Esifhead (inv, _cond, _then, _else)) // end of [d1exp_sifhead] implement d1exp_casehead (loc, knd, inv, d1es, c1las) = d1exp_make (loc, D1Ecasehead (knd, inv, d1es, c1las)) // end of [d1exp_casehead] implement d1exp_scasehead (loc, inv, s1e, c1las) = d1exp_make (loc, D1Escasehead (inv, s1e, c1las)) // end of [d1exp_scasehead] (* ****** ****** *) implement d1exp_lst (loc, knd, elt, d1es) = d1exp_make (loc, D1Elst (knd, elt, d1es)) implement d1exp_tup (loc, knd, npf, d1es) = d1exp_make (loc, D1Etup (knd, npf, d1es)) implement d1exp_rec (loc, knd, npf, ld1es) = d1exp_make (loc, D1Erec (knd, npf, ld1es)) implement d1exp_seq (loc, d1es) = d1exp_make (loc, D1Eseq (d1es)) (* ****** ****** *) implement d1exp_arrsub (loc, arr, loc_ind, ind) = d1exp_make (loc, D1Earrsub (arr, loc_ind, ind)) // end of [d1exp_arrsub] implement d1exp_arrpsz (loc, elt, ini) = d1exp_make (loc, D1Earrpsz (elt, ini)) // end of [d1exp_arrpsz] implement d1exp_arrinit (loc, elt, asz, ini) = d1exp_make (loc, D1Earrinit (elt, asz, ini)) // end of [d1exp_arrinit] (* ****** ****** *) implement d1exp_selab (loc, knd, d1e, d1l) = ( d1exp_make (loc, D1Eselab (knd, d1e, d1l)) ) // end of [d1exp_selab] (* ****** ****** *) // implement d1exp_ptrof (loc, d1e) = d1exp_make (loc, D1Eptrof (d1e)) implement d1exp_viewat (loc, d1e) = d1exp_make (loc, D1Eviewat (d1e)) // (* ****** ****** *) // implement d1exp_raise (loc, d1e) = d1exp_make (loc, D1Eraise (d1e)) // (* ****** ****** *) // implement d1exp_effmask (loc, efc, d1e) = let // val node = D1Eeffmask (efc, d1e) // in d1exp_make (loc, node) end (* end of [d1exp_effmask] *) // implement d1exp_effmask_arg (loc, knd, d1e) = let // val efc = ( case+ knd of | 0 => effcst_ntm | 1 => effcst_exn | 2 => effcst_ref | 3 => effcst_wrt | _ => effcst_all ) : effcst // end of [val] // in d1exp_effmask (loc, efc, d1e) end // end of [d1exp_effmask_arg] // (* ****** ****** *) // implement d1exp_showtype (loc, d1e) = d1exp_make (loc, D1Eshowtype(d1e)) // (* ****** ****** *) // implement d1exp_vcopyenv (loc, knd, d1e) = d1exp_make (loc, D1Evcopyenv(knd, d1e)) // (* ****** ****** *) // implement d1exp_tempenver (loc, d1e) = d1exp_make (loc, D1Etempenver(d1e)) // (* ****** ****** *) implement d1exp_sexparg (loc, s1a) = d1exp_make (loc, D1Esexparg (s1a)) // end of [d1exp_sexparg] implement d1exp_exist (loc, s1a, d1e) = d1exp_make (loc, D1Eexist (s1a, d1e)) // end of [d1exp_exist] (* ****** ****** *) // implement d1exp_lam_dyn (loc, lin, p1t, d1e) = d1exp_make (loc, D1Elam_dyn(lin, p1t, d1e)) // implement d1exp_laminit_dyn (loc, lin, p1t, d1e) = d1exp_make (loc, D1Elaminit_dyn(lin, p1t, d1e)) // implement d1exp_lam_met (loc, loc_arg, s1es, d1e) = d1exp_make (loc, D1Elam_met(loc_arg, s1es, d1e)) // implement d1exp_lam_sta_ana (loc, loc_arg, s1v, d1e) = d1exp_make (loc, D1Elam_sta_ana(loc_arg, s1v, d1e)) // implement d1exp_lam_sta_syn (loc, loc_arg, s1qs, d1e) = d1exp_make (loc, D1Elam_sta_syn(loc_arg, s1qs, d1e)) // (* ****** ****** *) // implement d1exp_fix (loc, knd, id, d1e) = d1exp_make(loc, D1Efix(knd, id, d1e)) // (* ****** ****** *) // implement d1exp_delay (loc, knd, d1e_body) = d1exp_make (loc, D1Edelay(knd, d1e_body)) // (* ****** ****** *) implement d1exp_for ( loc, inv , ini, test, post, body ) = ( // d1exp_make (loc, D1Efor(inv, ini, test, post, body)) // ) (* end of [d1exp_for] *) implement d1exp_while ( loc, inv, test, body ) = d1exp_make (loc, D1Ewhile (inv, test, body)) // end of [d1exp_while] implement d1exp_loopexn (loc, knd) = d1exp_make (loc, D1Eloopexn (knd)) // end of [d1exp_loopexn] (* ****** ****** *) implement d1exp_trywith (loc, inv, d1e, c1las) = d1exp_make (loc, D1Etrywith (inv, d1e, c1las)) // end of [d1exp_trywith] (* ****** ****** *) // implement d1exp_ann_type (loc, d1e, s1e) = d1exp_make (loc, D1Eann_type (d1e, s1e)) // end of [d1exp_ann_type] // implement d1exp_ann_effc (loc, d1e, efc) = d1exp_make (loc, D1Eann_effc (d1e, efc)) // implement d1exp_ann_funclo (loc, d1e, fc0) = d1exp_make (loc, D1Eann_funclo (d1e, fc0)) // implement d1exp_ann_funclo_opt (loc, d1e, fc0) = ( // case+ d1e.d1exp_node of // case+ | D1Eann_funclo _ => d1e | _ (*non-D1Eann_funclo*) => d1exp_ann_funclo (loc, d1e, fc0) // ) (* end of [d1exp_ann_funclo_opt] *) // (* ****** ****** *) // implement d1exp_macsyn (loc, knd, d1e) = d1exp_make (loc, D1Emacsyn(knd, d1e)) // implement d1exp_macfun (loc, name, d1es) = d1exp_make (loc, D1Emacfun(name, d1es)) // (* ****** ****** *) // implement d1exp_solassert (loc, d1e) = d1exp_make(loc, D1Esolassert(d1e)) // implement d1exp_solverify (loc, s1e) = d1exp_make(loc, D1Esolverify(s1e)) // (* ****** ****** *) implement d1exp_errexp (loc) = d1exp_make (loc, D1Eerrexp()) (* ****** ****** *) implement labd1exp_make (l, d1e) = DL0ABELED (l, d1e) (* ****** ****** *) implement d1exp_is_metric (d1e) = let in // case+ d1e.d1exp_node of | D1Elam_met _ => true | D1Elam_dyn (_, _, d1e) => d1exp_is_metric (d1e) | D1Elam_sta_ana (_, _, d1e) => d1exp_is_metric (d1e) | D1Elam_sta_syn (_, _, d1e) => d1exp_is_metric (d1e) | _ (*non-D1Elam_...*) => false // end // end of [d1exp_is_metric] (* ****** ****** *) implement d1exp_make_e1xp (loc0, e0) = let // fun aux ( e0: e1xp ) : d1exp = let (* val () = begin print "d1exp_make_e1xp: aux: e0 = "; print_e1xp (e0); print_newline () end // end of [val] *) in // case+ e0.e1xp_node of // | E1XPide(id) => d1exp_ide (loc0, id) // | E1XPint(int) => d1exp_int (loc0, int) | E1XPintrep(rep) => d1exp_intrep (loc0, rep) // | E1XPchar(chr) => d1exp_char (loc0, chr) // | E1XPfloat(rep) => d1exp_float (loc0, rep) // | E1XPstring(str) => d1exp_string (loc0, str) // | E1XPapp ( e1, loc_arg, es2 ) => let val d1e1 = aux (e1) val d1es2 = auxlst (es2) in d1exp_app_dyn (loc0, d1e1, loc0, ~1(*npf*), d1es2) // d1exp_app_dyn end // end of [E1XPapp] // | E1XPlist(es) => let val d1es = auxlst(es) in d1exp_list(loc0, ~1(*npf*), d1es) end // end of [E1XPlist] // | E1XPv1al(v1) => d1exp_make_v1al (loc0, v1) // | E1XPnone((*void*)) => d1exp_empty (loc0) // HX: ? // | _ (*rest-of-e1xp*) => let val () = prerr_error1_loc(loc0) val () = prerr ": the expression [" val () = prerr_e1xp (e0) val () = prerrln! "] cannot be translated into a legal dynamic expression." in d1exp_errexp (loc0) end // end of [rest-of-e1xp] // end // end of [aux] and auxlst ( es: e1xplst ) : d1explst = case+ es of | list_cons (e, es) => list_cons (aux e, auxlst es) | list_nil () => list_nil () // end of [auxlst] in aux (e0) end // end of [d1exp_make_e1xp] (* ****** ****** *) implement d1exp_make_v1al (loc0, v0) = let in // case+ v0 of | V1ALint (i) => d1exp_int (loc0, i) | V1ALchar (c) => d1exp_char (loc0, c) | V1ALstring (str) => d1exp_string (loc0, str) | _(*unsupported*) => d1exp_errexp (loc0) // end // end of [d1exp_make_v1al] (* ****** ****** *) implement e1xp_make_d1exp (loc0, d1e0) = let // fun aux ( d1e0: d1exp ) : e1xp = case+ d1e0.d1exp_node of | D1Eide (id) => e1xp_ide (loc0, id) // | D1Eint (i) => e1xp_int (loc0, i) | D1Echar (c) => e1xp_char (loc0, c:char) | D1Estring (str) => e1xp_string (loc0, str) | D1Efloat (rep) => e1xp_float (loc0, rep) // | D1Ei0nt (tok) => e1xp_i0nt (loc0, tok) | D1Ec0har (tok) => e1xp_c0har (loc0, tok) | D1Es0tring (tok) => e1xp_s0tring (loc0, tok) | D1Ef0loat (tok) => e1xp_f0loat (loc0, tok) // | D1Eapp_dyn (d1e_fun, _(*loc*), npf, d1es_arg) => let val e_fun = aux (d1e_fun); val es_arg = auxlst (d1es_arg) in e1xp_app (loc0, e_fun, loc0, es_arg) end | D1Esing (d1e) => aux (d1e) | D1Elist (_(*npf*), d1es) => e1xp_list (loc0, auxlst(d1es)) | _ (*rest-of-d1exp*) => e1xp_err (loc0) (* end of [aux] *) // and auxlst ( d1es0: d1explst ) : e1xplst = case+ d1es0 of | list_cons (d1e, d1es) => list_cons (aux d1e, auxlst d1es) | list_nil () => list_nil () (* end of [auxlst] *) // in aux (d1e0) end // end of [e1xp_make_d1exp] (* ****** ****** *) implement d1lab_lab (loc, lab) = '{ d1lab_loc= loc, d1lab_node= D1LABlab lab } implement d1lab_ind (loc, ind) = '{ d1lab_loc= loc, d1lab_node= D1LABind ind } (* ****** ****** *) // // HX: declarations // (* ****** ****** *) implement m1acdef_make (loc, id, arg, def) = '{ m1acdef_loc= loc , m1acdef_sym= id, m1acdef_arg= arg, m1acdef_def= def } // end of [m1acdef_make] (* ****** ****** *) implement i1mpdec_make ( loc, qid, tmparg, def ) = '{ i1mpdec_loc= loc , i1mpdec_qid= qid , i1mpdec_tmparg= tmparg , i1mpdec_def= def } // end of [i1mpdec_make] (* ****** ****** *) implement f1undec_make (loc, id, loc_id, d1e, ann) = '{ f1undec_loc= loc , f1undec_sym= id , f1undec_sym_loc= loc_id , f1undec_def= d1e , f1undec_ann= ann } // end of [f1undec_make] implement v1aldec_make (loc, p1t, d1e, ann) = '{ v1aldec_loc= loc , v1aldec_pat= p1t , v1aldec_def= d1e , v1aldec_ann= ann } // end of [v1aldec_make] implement v1ardec_make ( loc, knd, id, loc_id, pfat, s1eopt, init ) = '{ v1ardec_loc= loc , v1ardec_knd= knd // knd=0/1:var/ptr , v1ardec_sym= id , v1ardec_sym_loc= loc_id , v1ardec_pfat= pfat // i0deopt , v1ardec_type= s1eopt // type annotation , v1ardec_init= init // value for initialization } (* end of [v1ardec_make] *) (* ****** ****** *) // extern fun d1ecl_make_node ( loc: location, node: d1ecl_node ) : d1ecl // end-of-function implement d1ecl_make_node (loc, node) = '{ d1ecl_loc= loc, d1ecl_node= node } // (* ****** ****** *) // implement d1ecl_none (loc) = d1ecl_make_node(loc, D1Cnone()) // implement d1ecl_list (loc, ds) = d1ecl_make_node(loc, D1Clist(ds)) // (* ****** ****** *) implement d1ecl_packname(opt) = d1ecl_make_node ($LOC.location_dummy, D1Cpackname(opt)) // end of [d1ecl_packname] (* ****** ****** *) // implement d1ecl_symintr(loc, ids) = d1ecl_make_node(loc, D1Csymintr(ids)) // implement d1ecl_symelim(loc, ids) = d1ecl_make_node(loc, D1Csymelim (ids)) // implement d1ecl_overload(loc, id, qid, pval) = d1ecl_make_node(loc, D1Coverload (id, qid, pval)) // (* ****** ****** *) // implement d1ecl_e1xpdef(loc, id, def) = d1ecl_make_node(loc, D1Ce1xpdef (id, def)) implement d1ecl_e1xpundef(loc, id, def) = d1ecl_make_node(loc, D1Ce1xpundef (id, def)) // (* ****** ****** *) // implement d1ecl_pragma(loc, e1xps) = d1ecl_make_node(loc, D1Cpragma (e1xps)) // implement d1ecl_codegen(loc, knd, xs) = d1ecl_make_node(loc, D1Ccodegen (knd, xs)) // (* ****** ****** *) // implement d1ecl_datsrts (loc, xs) = d1ecl_make_node(loc, D1Cdatsrts(xs)) // implement d1ecl_srtdefs (loc, xs) = d1ecl_make_node(loc, D1Csrtdefs(xs)) // (* ****** ****** *) // implement d1ecl_stacsts (loc, xs) = d1ecl_make_node(loc, D1Cstacsts(xs)) implement d1ecl_stacons (loc, knd, xs) = d1ecl_make_node(loc, D1Cstacons(knd, xs)) // (* ****** ****** *) (* // // HX-2012-05-23: removed // implement d1ecl_stavars (loc, xs) = d1ecl_make_node (loc, D1Cstavars (xs)) *) (* ****** ****** *) // implement d1ecl_tkindef(loc, x) = d1ecl_make_node (loc, D1Ctkindef (x)) // (* ****** ****** *) // implement d1ecl_sexpdefs(loc, knd, xs) = d1ecl_make_node(loc, D1Csexpdefs (knd, xs)) // implement d1ecl_saspdec(loc, x) = d1ecl_make_node (loc, D1Csaspdec (x)) // (* ****** ****** *) // implement d1ecl_datdecs (loc, knd, _datdec, _sexpdef) = d1ecl_make_node(loc, D1Cdatdecs(knd, _datdec, _sexpdef)) // end of [d1ecl_datdec] // implement d1ecl_exndecs(loc, d1cs) = d1ecl_make_node (loc, D1Cexndecs(d1cs)) // end of [d1ecl_exndecs] // (* ****** ****** *) // implement d1ecl_classdec (loc, id, sup) = d1ecl_make_node(loc, D1Cclassdec(id, sup)) // (* ****** ****** *) implement d1ecl_extype (loc, name, def) = d1ecl_make_node (loc, D1Cextype (name, def)) implement d1ecl_extype2 (loc, knd, name, def) = d1ecl_make_node (loc, D1Cextype (knd, name, def)) (* ****** ****** *) // implement d1ecl_extvar (loc, name, def) = d1ecl_make_node (loc, D1Cextvar (name, def)) // implement d1ecl_extcode (loc, knd, pos, code) = d1ecl_make_node (loc, D1Cextcode (knd, pos, code)) // (* ****** ****** *) implement d1ecl_dcstdecs (loc, knd, dck, qarg, ds) = d1ecl_make_node (loc, D1Cdcstdecs (knd, dck, qarg, ds)) (* ****** ****** *) implement d1ecl_macdefs (loc, knd, isrec, ds) = d1ecl_make_node (loc, D1Cmacdefs (knd, isrec, ds)) (* ****** ****** *) implement d1ecl_impdec (loc, knd, imparg, d1c) = d1ecl_make_node (loc, D1Cimpdec (knd, imparg, d1c)) (* ****** ****** *) implement d1ecl_valdecs (loc, knd, isrec, ds) = d1ecl_make_node (loc, D1Cvaldecs (knd, isrec, ds)) implement d1ecl_fundecs (loc, knd, qarg, ds) = d1ecl_make_node (loc, D1Cfundecs (knd, qarg, ds)) implement d1ecl_vardecs (loc, knd, ds) = d1ecl_make_node (loc, D1Cvardecs (knd, ds)) // end of [d1ecl_vardecs] (* ****** ****** *) implement d1ecl_include (loc, knd, ds) = d1ecl_make_node (loc, D1Cinclude (knd, ds)) // end of [d1ecl_include] (* ****** ****** *) implement d1ecl_staload ( loc, idopt, fil, ldflag, d1cs ) = d1ecl_make_node (loc, D1Cstaload (idopt, fil, ldflag, d1cs)) // end of [d1ecl_staload] implement d1ecl_staloadnm ( loc, alias, nspace ) = d1ecl_make_node (loc, D1Cstaloadnm (alias, nspace)) implement d1ecl_staloadloc ( loc, pfil, nspace, d1cs ) = d1ecl_make_node (loc, D1Cstaloadloc (pfil, nspace, d1cs)) (* ****** ****** *) // implement d1ecl_dynload (loc, fil) = d1ecl_make_node (loc, D1Cdynload (fil)) // (* ****** ****** *) // implement d1ecl_local ( loc, ds_head, ds_body ) = d1ecl_make_node (loc, D1Clocal (ds_head, ds_body)) // (* ****** ****** *) (* end of [pats_dynexp1.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp1_print.dats0000664000175000017500000004642412655455557020244 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload EFF = "./pats_effect.sats" (* ****** ****** *) staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) macdef fprint_symbol = $SYM.fprint_symbol (* ****** ****** *) implement fprint_v1al (out, v0) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ v0 of | V1ALint (x) => { val () = prstr "V1ALint(" val () = fprint_int (out, x) val () = prstr ")" } | V1ALchar (x) => { val () = prstr "V1ALchar(" val () = fprint_char (out, x) val () = prstr ")" } | V1ALstring (x) => { val () = prstr "V1ALstring(" val () = fprint_string (out, x) val () = prstr ")" } | V1ALfloat (x) => { val () = prstr "V1ALdouble(" val () = fprint_double (out, x) val () = prstr ")" } | V1ALerr () => prstr "V1ALerr()" // end // end of [fprint_v1al] implement print_v1al (x) = fprint_v1al (stdout_ref, x) implement prerr_v1al (x) = fprint_v1al (stderr_ref, x) (* ****** ****** *) implement fprint_e1xp (out, e0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ e0.e1xp_node of // case+ // | E1XPide (id) => fprint_symbol (out, id) // end of [E1XPide] // | E1XPint (int) => { val () = prstr "E1XPint(" val () = fprint_int (out, int) val () = prstr ")" } // end of [E1XPint] | E1XPintrep (rep) => { val () = prstr "E1XPintrep(" val () = fprint_string (out, rep) val () = prstr ")" } // end of [E1XPi0nt] | E1XPchar (c: char) => begin prstr "E1XPchar("; fprint_char (out, c); prstr ")" end // end of [E1XPchar] | E1XPfloat (f: string) => begin prstr "E1XPfloat("; fprint_string (out, f); prstr ")" end // end of [E1XPfloat] // | E1XPv1al (v) => begin prstr "E1XPv1al("; fprint_v1al (out, v); prstr ")" end // end of [E1XPv1al] // | E1XPnone () => begin fprint_string (out, "E1XPnone()") end // end of [E1XPnone] | E1XPundef () => begin fprint_string (out, "E1XPundef()") end // end of [E1XPundef] | E1XPstring (str) => { val () = prstr "E1XPstring(" val () = fprint_string (out, str) val () = prstr ")" } // end of [E1XPstring] // | E1XPapp ( e_fun, _(*loc*), es_arg ) => { val () = prstr "E1XPapp(" val () = fprint_e1xp (out, e_fun) val () = prstr "; " val () = fprint_e1xplst (out, es_arg) val () = prstr ")" } (* end of [E1XPapp] *) | E1XPfun (arg, body) => { val () = prstr "E1XPfun(" val () = $UT.fprintlst (out, arg, ", ", fprint_symbol) val () = prstr "; " val () = fprint_e1xp (out, body) val () = prstr ")" } (* end of [E1XPfun] *) // | E1XPif ( _cond, _then, _else ) => { val () = prstr "E1XPif(" val () = fprint_e1xp (out, _cond) val () = prstr "; " val () = fprint_e1xp (out, _then) val () = prstr "; " val () = fprint_e1xp (out, _else) val () = prstr ")" } (* end of [E1XPif] *) // | E1XPeval e => begin prstr "E1XPeval("; fprint_e1xp (out, e); prstr ")" end // end of [E1XPlist] | E1XPlist es => begin prstr "E1XPlist("; fprint_e1xplst (out, es); prstr ")" end // end of [E1XPlist] // | E1XPerr () => prstr "E1XPerr()" // end // end of [fprint_e1xp] (* ****** ****** *) // implement print_e1xp (x) = fprint_e1xp (stdout_ref, x) implement prerr_e1xp (x) = fprint_e1xp (stderr_ref, x) // (* ****** ****** *) implement fprint_e1xplst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_e1xp) // end of [fprint_e1xplst] implement print_e1xplst (xs) = fprint_e1xplst (stdout_ref, xs) implement prerr_e1xplst (xs) = fprint_e1xplst (stderr_ref, xs) (* ****** ****** *) implement fprint_effcst (out, efc) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ efc of | EFFCSTall () => prstr "all" | EFFCSTnil () => prstr "nil" | EFFCSTset (efs, efvs) => { val () = prstr "set(" val () = $EFF.fprint_effset (out, efs) val () = prstr "; " val () = $UT.fprintlst (out, efvs, ", ", fprint_i0de) val () = prstr ")" } // end of [EFFCSTset] // end // end of [fprint_effcst] (* ****** ****** *) implement fprint_s1rt (out, s1t0) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s1t0.s1rt_node of | S1RTapp (s1t, s1ts) => { val () = prstr "S1RTapp(" val () = fprint_s1rt (out, s1t) val () = prstr "; " val () = fprint_s1rtlst (out, s1ts) val () = prstr ")" } // end of [S1RTapp] | S1RTlist s1ts => begin prstr "S1RTlist("; fprint_s1rtlst (out, s1ts); prstr ")" end // end of [S1RTlist] | S1RTqid (q, id) => { val () = prstr "S1RTqid(" val () = fprint_s0rtq (out, q) val () = fprint_symbol (out, id) val () = prstr ")" } // end of [S1RTqid] (* | S1RTtup s1ts => begin prstr "S1RTtup("; fprint_s1rtlst (out, s1ts); prstr ")" end // end of [S1RTtup] *) | S1RTtype (knd) => begin prstr "S1RTtype("; fprint_int (out, knd); prstr ")" end // end of [S1RTtype] // | S1RTerr () => prstr "S1RTerr()" // HX: indicating an error // end // end of [fprint_s1rt] implement print_s1rt (x) = fprint_s1rt (stdout_ref, x) implement prerr_s1rt (x) = fprint_s1rt (stderr_ref, x) (* ****** ****** *) implement fprint_s1rtlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s1rt) // end of [fprint_s1rtlst] implement print_s1rtlst (xs) = fprint_s1rtlst (stdout_ref, xs) implement prerr_s1rtlst (xs) = fprint_s1rtlst (stderr_ref, xs) (* ****** ****** *) implement fprint_s1rtopt (out, x) = $UT.fprintopt (out, x, fprint_s1rt) (* ****** ****** *) implement fprint_s1rtlstlst (out, xss) = $UT.fprintlst (out, xss, "; ", fprint_s1rtlst) // end of [fprint_s1rtlstlst] (* ****** ****** *) implement fprint_d1atsrtcon (out, x) = { val () = fprint_symbol (out, x.d1atsrtcon_sym) val () = fprint_string (out, "(") val () = fprint_s1rtlst (out, x.d1atsrtcon_arg) val () = fprint_string (out, ")") } implement fprint_d1atsrtdec (out, x) = { val () = fprint_symbol (out, x.d1atsrtdec_sym) val () = fprint_string (out, "(\n") val () = $UT.fprintlst (out, x.d1atsrtdec_con, "\n", fprint_d1atsrtcon) val () = fprint_string (out, "\n)") } (* ****** ****** *) implement fprint_s1arg (out, x) = { val () = fprint_symbol (out, x.s1arg_sym) val () = (case+ x.s1arg_srt of | Some s1t => ( fprint_string (out, ": "); fprint_s1rt (out, s1t) ) // end of [Some] | None () => () ) : void // end of [val] } // end of [fprint_s1arg] implement fprint_s1arglst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s1arg) // end of [fprint_s1arglst] implement fprint_s1marg (out, x) = fprint_s1arglst (out, x.s1marg_arg) (* ****** ****** *) implement fprint_a1srt (out, x) = { val () = (case+ x.a1srt_sym of | Some sym => ( fprint_symbol (out, sym); fprint_string (out, ": ") ) // end of [Some] | None () => () ) : void // end of [val] val () = fprint_s1rt (out, x.a1srt_srt) } // end of [fprint_a1srt] implement fprint_a1srtlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_a1srt) // end of [fprint_a1srtlst] (* ****** ****** *) implement fprint_a1msrt (out, x) = { val () = fprint_string (out, "(") val () = fprint_a1srtlst (out, x.a1msrt_arg) val () = fprint_string (out, ")") } implement fprint_a1msrtlst (out, xs) = $UT.fprintlst (out, xs, " ", fprint_a1msrt) // end of [fprint_a1msrtlst] (* ****** ****** *) implement fprint_s1exp (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x.s1exp_node of // | S1Eint (int) => { val () = prstr "S1Eint(" val () = fprint_int (out, int) val () = prstr ")" } | S1Eintrep (rep) => { val () = prstr "S1Eintrep(" val () = fprint_string (out, rep) val () = prstr ")" } // | S1Echar (char) => { val () = prstr "S1Echar(" val () = fprint_char (out, char) val () = prstr ")" } // | S1Efloat (rep) => { val () = prstr "S1Efloat(" val () = fprint_string (out, rep) val () = prstr ")" } | S1Estring (str) => { val () = prstr "S1Estring(" val () = fprint_string (out, str) val () = prstr ")" } // | S1Eextype (name, arg) => { val () = prstr "S1Eextype(" val () = fprint_string (out, name) val () = prstr "; " val () = $UT.fprintlst (out, arg, "; ", fprint_s1explst) val () = prstr ")" } | S1Eextkind (name, arg) => { val () = prstr "S1Eextkind(" val () = fprint_string (out, name) val () = prstr "; " val () = $UT.fprintlst (out, arg, "; ", fprint_s1explst) val () = prstr ")" } // | S1Eide (id) => { val () = prstr "S1Eide(" val () = fprint_symbol (out, id) val () = prstr ")" } | S1Esqid (sq, id) => { val () = prstr "S1Esqid(" val () = fprint_s0taq (out, sq) val () = fprint_symbol (out, id) val () = prstr ")" } // | S1Eapp ( s1e, _(*loc_arg*), s1es ) => { val () = prstr "S1Eapp(" val () = fprint_s1exp (out, s1e) val () = prstr "; " val () = fprint_s1explst (out, s1es) val () = prstr ")" } | S1Elam ( arg, res, body ) => { val () = prstr "S1Elam(" val () = fprint_s1marg (out, arg) val () = prstr "; " val () = fprint_s1rtopt (out, res) val () = prstr "; " val () = fprint_s1exp (out, body) val () = prstr ")" } | S1Eimp _ => { val () = prstr "S1Eimp(" val () = fprint_string (out, "...") val () = prstr ")" } // | S1Elist (npf, s1es) => { val () = prstr "S1Elist(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_s1explst (out, s1es) val () = prstr ")" } // | S1Etop (knd, s1e) => { val () = prstr "S1Etop(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_s1exp (out, s1e) val () = prstr ")" } // | S1Einvar (knd, s1e) => { val () = prstr "S1Einvar(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_s1exp (out, s1e) val () = prstr ")" } | S1Etrans (s1e1, s1e2) => { val () = prstr "S1Etrans(" val () = fprint_s1exp (out, s1e1) val () = prstr " >> " val () = fprint_s1exp (out, s1e2) val () = prstr ")" } // | S1Etyarr (elt, dim) => { val () = prstr "S1Etyarr(" val () = fprint_s1exp (out, elt) val () = prstr "; " val () = fprint_s1explst (out, dim) val () = prstr ")" } | S1Etytup (knd, npf, s1es) => { val () = prstr "S1Etytup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_s1explst (out, s1es) val () = prstr ")" } | S1Etyrec (knd, npf, ls1es) => { val () = prstr "S1Etyrec(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_labs1explst (out, ls1es) val () = prstr ")" } | S1Etyrec_ext (name, npf, ls1es) => { val () = prstr "S1Etyrec_ext(" val () = fprint_string (out, name) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_labs1explst (out, ls1es) val () = prstr ")" } // | S1Eexi (knd, qua, body) => { val () = prstr "S1Eexi(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_s1qualst (out, qua) val () = prstr "; " val () = fprint_s1exp (out, body) val () = prstr ")" } | S1Euni (qua, body) => { val () = prstr "S1Euni(" val () = fprint_s1qualst (out, qua) val () = prstr "; " val () = fprint_s1exp (out, body) val () = prstr ")" } // | S1Eann (s1e, s1t) => { val () = prstr "S1Eann(" val () = fprint_s1exp (out, s1e) val () = prstr " : " val () = fprint_s1rt (out, s1t) val () = prstr ")" } // | S1Ed2ctype (d2ctp) => prstr "S1Ed2ctype(...)" // | S1Eerr () => prstr "S1Eerr()" // (* | _ => prstr "S1E...(...)" *) // end // end of [fprint_s1exp] implement print_s1exp (x) = fprint_s1exp (stdout_ref, x) implement prerr_s1exp (x) = fprint_s1exp (stderr_ref, x) implement fprint_s1explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s1exp) // end of [fprint_s1explst] implement fprint_s1expopt (out, opt) = $UT.fprintopt (out, opt, fprint_s1exp) // end of [fprint_s1expopt] (* ****** ****** *) implement fprint_labs1exp (out, x) = () where { val+SL0ABELED (l, name, s1e) = x val () = fprint_l0ab (out, l) val () = fprint_string (out, "= ") val () = fprint_s1exp (out, s1e) } // end of [fprint_labs1exp] implement fprint_labs1explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labs1exp) // end of [fprint_labs1explst] (* ****** ****** *) implement fprint_s1rtext (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x.s1rtext_node of | S1TEsrt (s1t) => { val () = prstr "S1TEsrt(" val () = fprint_s1rt (out, s1t) val () = prstr ")" } | S1TEsub (sym, s1te, s1ps) => { val () = prstr "S1TEsub(" val () = fprint_symbol (out, sym) val () = prstr "; " val () = fprint_s1rtext (out, s1te) val () = prstr " | " val () = fprint_s1explst (out, s1ps) val () = prstr ")" } // end // end of [fprint_s1rtext] (* ****** ****** *) implement fprint_s1qua (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in case+ x.s1qua_node of | S1Qprop (s1p) => { val () = prstr "S1Qprop(" val () = fprint_s1exp (out, s1p) val () = prstr ")" } | S1Qvars (ids, s1te) => { val () = prstr "S1Qvars(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr " : " val () = fprint_s1rtext (out, s1te) val () = prstr ")" } end // end of [fprint_s1qua] implement fprint_s1qualst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s1qua) // end of [fprint_s1qualst] (* ****** ****** *) implement fprint_s1vararg (out, x) = case+ x of | S1VARARGone (_) => fprint_string (out, "{..}") | S1VARARGall (_) => fprint_string (out, "{...}") | S1VARARGseq (loc, s1as) => { val () = fprint_string (out, "{") val () = fprint_s1arglst (out, s1as) val () = fprint_string (out, "}") } (* end of [S1VARARGseq] *) // end of [fprint_s1vararg] implement print_s1vararg (x) = fprint_s1vararg (stdout_ref, x) implement prerr_s1vararg (x) = fprint_s1vararg (stderr_ref, x) (* ****** ****** *) implement fprint_s1exparg (out, x) = case+ x.s1exparg_node of | S1EXPARGone () => fprint_string (out, "{..}") | S1EXPARGall () => fprint_string (out, "{...}") | S1EXPARGseq (s1es) => { val () = fprint_string (out, "{") val () = fprint_s1explst (out, s1es) val () = fprint_string (out, "}") } (* end of [S1EXPARGseq] *) // end of [s1exparg_node] implement fprint_s1exparglst (out, xs) = $UT.fprintlst (out, xs, "", fprint_s1exparg) // end of [fprint_s1exparglst] (* ****** ****** *) implement fprint_s1rtdef (out, x) = { val () = fprint_symbol (out, x.s1rtdef_sym) val () = fprint_string (out, " = ") val () = fprint_s1rtext (out, x.s1rtdef_def) } // end of [fprint_s1rtdef] (* ****** ****** *) implement fprint_s1tacst (out, x) = { val () = fprint_symbol (out, x.s1tacst_sym) val () = fprint_string (out, "(") val () = fprint_a1msrtlst (out, x.s1tacst_arg) val () = fprint_string (out, ") : ") val () = fprint_s1rt (out, x.s1tacst_res) } // end of [fprint_s1tacst] (* ****** ****** *) implement fprint_s1tacon (out, x) = { val () = fprint_symbol (out, x.s1tacon_sym) val () = fprint_string (out, "(") val () = fprint_a1msrtlst (out, x.s1tacon_arg) val () = fprint_string (out, ") = ") val () = fprint_s1expopt (out, x.s1tacon_def) } // end of [fprint_s1tacon] (* ****** ****** *) (* implement fprint_s1tavar (out, x) = { val () = fprint_symbol (out, x.s1tavar_sym) val () = fprint_string (out, " : ") val () = fprint_s1rt (out, x.s1tavar_srt) } // end of [fprint_s1tavar] *) (* ****** ****** *) implement fprint_s1expdef (out, x) = { macdef prstr (s) = fprint_string (out, ,(s)) val () = fprint_symbol (out, x.s1expdef_sym) val () = prstr "(" val () = $UT.fprintlst (out, x.s1expdef_arg, "; ", fprint_s1marg) val () = prstr ")" val () = (case+ x.s1expdef_res of | Some s1t => (prstr ": "; fprint_s1rt (out, s1t)) | None () => () ) : void // end of [val] val () = prstr " = " val () = fprint_s1exp (out, x.s1expdef_def) } // end of [fprint_s1expdef] (* ****** ****** *) implement fprint_s1aspdec (out, x) = { macdef prstr (s) = fprint_string (out, ,(s)) val () = fprint_sqi0de (out, x.s1aspdec_qid) val () = prstr "(" val () = $UT.fprintlst (out, x.s1aspdec_arg, "; ", fprint_s1marg) val () = prstr ")" val () = (case+ x.s1aspdec_res of | Some s1t => (prstr ": "; fprint_s1rt (out, s1t)) | None () => () ) : void // end of [val] val () = prstr " = " val () = fprint_s1exp (out, x.s1aspdec_def) } // end of [fprint_s1expdef] (* ****** ****** *) implement fprint_q1marg (out, x) = { val () = fprint_string (out, "{") val () = fprint_s1qualst (out, x.q1marg_arg) val () = fprint_string (out, "}") } // end of [fprint_q1marg] implement fprint_q1marglst (out, xs) = $UT.fprintlst (out, xs, "", fprint_q1marg) // end of [fprint_q1marglst] (* ****** ****** *) implement fprint_i1mparg (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in case+ x of | I1MPARG_sarglst (s1as) => { val () = prstr "(" val () = fprint_s1arglst (out, s1as) val () = prstr ")" } (* end of [I1MPARG_sarglst] *) | I1MPARG_svararglst (s1vs) => { val () = $UT.fprintlst (out, s1vs, "", fprint_s1vararg) } (* end of [I1MPARG_svararglst] *) end // end of [fprint_i1mparg] (* ****** ****** *) implement fprint_e1xndec (out, x) = { val () = fprint_symbol (out, x.e1xndec_sym) val () = fprint_string (out, " : ") val () = $UT.fprintlst (out, x.e1xndec_qua, " ", fprint_q1marg) val () = fprint_string (out, "(") val () = fprint_int (out, x.e1xndec_npf) val () = fprint_string (out, "; ") val () = fprint_s1explst (out, x.e1xndec_arg) val () = fprint_string (out, ")") } // end of [fprint_e1xndec] (* ****** ****** *) implement fprint_d1cstdec (out, x) = { val () = fprint_symbol (out, x.d1cstdec_sym) val () = fprint_string (out, " : ") val () = fprint_s1exp (out, x.d1cstdec_type) } // end of [d1cstdec] (* ****** ****** *) (* end of [pats_staexp1_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_p0at.dats0000664000175000017500000004364412655455557020033 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt (* ****** ****** *) viewtypedef p0atlst12 = list12 (p0at) viewtypedef labp0atlst12 = list12 (labp0at) (* ****** ****** *) fun p0at_list12 ( t_beg: token , ent2: p0atlst12 , t_end: token ) : p0at = case+ ent2 of | ~LIST12one (xs) => p0at_list (t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in p0at_list (t_beg, npf, (l2l)xs12, t_end) end (* end of [LIST12two] *) // end of [p0at_list12] (* ****** ****** *) fun p0at_tup12 ( knd: int , t_beg: token , ent2: p0atlst12 , t_end: token ) : p0at = case+ ent2 of | ~LIST12one (xs) => p0at_tup (knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in p0at_tup (knd, t_beg, npf, (l2l)xs12, t_end) end (* end of [LIST12two] *) // end of [p0at_tup12] (* ****** ****** *) fun p0at_rec12 ( knd: int , t_beg: token, ent2: labp0atlst12, t_end: token ) : p0at = case+ ent2 of | ~LIST12one (xs) => p0at_rec (knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in p0at_rec (knd, t_beg, npf, (l2l)xs12, t_end) end // end of [p0at_rec12] (* ****** ****** *) fun p_p0atseq_BAR_p0atseq ( buf: &tokbuf, bt: int, err: &int ) : p0atlst12 = plist12_fun (buf, bt, p_p0at) // end of [p_p0atseq_BAR_p0atseq] fun p_labp0atseq_BAR_labp0atseq ( buf: &tokbuf, bt: int, err: &int ) : labp0atlst12 = let val _ = p_COMMA_test (buf) in plist12_fun (buf, bt, p_labp0at) end // end of [p_labp0atseq_BAR_labp0atseq] (* ****** ****** *) implement p_pi0de (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_alp (x) => let val () = incby1 () in i0de_make_string (loc, x) end | T_IDENT_sym (x) => let val () = incby1 () in i0de_make_string (loc, x) end | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_pi0de) in synent_null () end // end of [_] end // end of [p_pi0de] (* ****** ****** *) (* labp0at ::= l0ab EQ p0at | DOTDOTDOT *) implement p_labp0at ( buf, bt, err ) = let val err0 = err val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_DOTDOTDOT () => let val () = incby1 () in labp0at_omit (tok) end | _ => let val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {l0ab,token,p0at} (buf, bt, err, p_l0ab, p_EQ, p_p0at) // end of [val] in if (err = err0) then labp0at_norm (ent1, ent3) else let val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_labp0at) in synent_null () end (* end of [if] *) end // end of [_] // end // end of [p_labp0at] (* ****** ****** *) (* atmp0at ::= | LITERAL_char | LITERAL_int | LITERAL_float | LITERAL_string | pi0de (* | BANG pi0de // HX-2012-05: removed *) | OP pi0de | d0ynq pi0de // | LPAREN p0atseq {BAR p0atseq} RPAREN | ATLPAREN p0atseq {BAR p0atseq} RPAREN | QUOTELPAREN p0atseq {BAR p0atseq} RPAREN // | QUOTELBRACKET p0atseq RBRACKET // lists // | ATLBRACE labp0atseq {BAR labp0atseq} RBRACE | QUOTELBRACE labp0atseq {BAR labp0atseq} RBRACE // | LBRACKET s0argseq RBRACKET *) fun p_atmp0at_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : p0at = let val err0 = err val loc = tok.token_loc var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_pi0de, ent ) => p0at_i0de (synent_decode (ent)) | T_OP _ => let val bt = 0 val () = incby1 () val ent2 = p_pi0de (buf, bt, err) in if err = err0 then p0at_opid (tok, ent2) else synent_null () // end of [if] end | T_INT _ => let val () = incby1 () in p0at_i0nt (tok) end | T_CHAR _ => let val () = incby1 () in p0at_c0har (tok) end | T_FLOAT _ => let val () = incby1 () in p0at_f0loat (tok) end | T_STRING _ => let val () = incby1 () in p0at_s0tring (tok) end | _ when ptest_fun ( buf, p_d0ynq, ent ) => let val bt = 0 val ent1 = synent_decode {d0ynq} (ent) val ent2 = p_pi0de (buf, bt, err) // err = err0 in if err = err0 then p0at_dqid (ent1, ent2) else synent_null () // end of [if] end // | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_p0atseq_BAR_p0atseq (buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then p0at_list12 (tok, ent2, ent3) else let val () = list12_free (ent2) in synent_null () end // end of [if] end // | T_LBRACKET () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {s0arg} (buf, bt, p_s0arg) val ent3 = p_RBRACKET (buf, bt, err) // HX: err = err0 in if err = err0 then p0at_exist (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in synent_null () end (* end of [if] *) end // | tnd when is_LPAREN_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_p0atseq_BAR_p0atseq (buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then let val knd = ( if is_ATLPAREN (tnd) then TYTUPKIND_flt else TYTUPKIND_box ) : int // end of [val] in p0at_tup12 (knd, tok, ent2, ent3) end else let val () = list12_free (ent2) in synent_null () end // end of [if] end | tnd when is_LBRACE_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_labp0atseq_BAR_labp0atseq (buf, bt, err) val ent3 = p_RBRACE (buf, bt, err) // err = err0 in if err = err0 then let val knd = ( if is_ATLBRACE (tnd) then TYRECKIND_flt else TYRECKIND_box ) : int // end of [val] in p0at_rec12 (knd, tok, ent2, ent3) end else let val () = list12_free (ent2) in synent_null () end // end of [if] end // | T_DLRLST (lin) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = ( if err = err0 then pstar_fun0_COMMA{p0at}(buf, bt, p_p0at) else list_vt_nil() // end of [if] ) : p0atlst_vt // end of [val] val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then p0at_lst (lin, tok, (l2l)ent3, ent4) else let val () = list_vt_free (ent3) in synent_null () end (* end of [if] *) end // | T_DLRTUP (knd) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = p_p0atseq_BAR_p0atseq (buf, bt, err) val ent4 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then p0at_tup12 (knd, tok, ent3, ent4) else let val () = list12_free (ent3) in synent_null () end (* end of [if] *) end // | T_DLRREC (knd) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = p_labp0atseq_BAR_labp0atseq (buf, bt, err) val ent4 = p_RPAREN (buf, bt, err) // err = err0 in if err = err0 then p0at_rec12 (knd, tok, ent3, ent4) else let val () = list12_free (ent3) in synent_null () end (* end of [if] *) end // (* // // HX-2014-07: // a list-pattern // like '[x1, x2] is no longer supported // | T_QUOTELBRACKET () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {p0at} (buf, bt, p_p0at) val ent3 = p_RBRACKET (buf, bt, err) in if err = err0 then p0at_lst_quote (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in synent_null () end (* end of [if] *) end *) // | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_atmp0at_tok] fun p_atmp0at ( buf: &tokbuf, bt: int, err: &int ) : p0at = ptokwrap_fun (buf, bt, err, p_atmp0at_tok, PE_atmp0at) // end of [p_atmp0at] (* ****** ****** *) (* argp0at ::= atmp0at | LBRACE s0vararg RBRACE *) fun p_argp0at ( buf: &tokbuf, bt: int, err: &int ) : p0at = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_atmp0at, ent ) => synent_decode {p0at} (ent) | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_s0vararg (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACE, err0) in if err = err0 then p0at_svararg (tok, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_a0rgpat] (* ****** ****** *) fun p_p0at0 ( buf: &tokbuf, bt: int, err: &int ) : p0at = let val tok = tokbuf_get_token (buf) var ent: synent? in // case+ 0 of | _ when ptest_fun ( buf, p_atmp0at, ent ) => let val bt = 0 val x0 = synent_decode {p0at} (ent) val xs = pstar_fun (buf, bt, p_argp0at) fun loop ( x0: p0at, xs: List_vt (p0at) ) : p0at = case+ xs of | ~list_vt_cons (x, xs) => let val x0 = p0at_app (x0, x) in loop (x0, xs) end | ~list_vt_nil () => x0 // end of [loop] in loop (x0, xs) end | _ => let val () = err := err + 1 in synent_null () end end // end of [p_p0at0] (* ****** ****** *) (* p0at | p0at0 | p0at0 AS p0at | p0at0 COLON s0exp | AT p0at // unfolded | TILDE p0at // freeed *) implement p_p0at (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_p0at0, ent ) => let val bt = 0 val p0t = synent_decode {p0at} (ent) val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of | T_AS () => let val () = incby1 () val ent3 = p_p0at (buf, bt, err) in if err = err0 then p0at_refas (p0t, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | T_COLON () => let val () = incby1 () val ent3 = p_s0exp (buf, bt, err) in if err = err0 then p0at_ann (p0t, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | _ => p0t end | T_TILDE () => let val bt = 0 val () = incby1 () val ent2 = p_p0at (buf, bt, err) in if err = err0 then p0at_free (tok, ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | T_AT () => let val bt = 0 val () = incby1 () val ent2 = p_p0at (buf, bt, err) in if err = err0 then p0at_unfold (tok, ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_p0at) in synent_null () end // end // end of [p_p0at] (* ****** ****** *) (* f0arg1 ::= | atmp0at | LBRACE s0quaseq RBRACE | DOTLT s0expseq GTDOT | DOTLTGTDOT *) implement p_f0arg1 (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_atmp0at, ent ) => f0arg_dyn (synent_decode {p0at} (ent)) | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_s0quaseq (buf, bt, err) val ent3 = p_RBRACE (buf, bt, err) // err = 0 in if err = 0 then f0arg_sta1 (tok, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | T_DOTLT () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {s0exp} (buf, bt, p_s0exp) val ent3 = p_GTDOT (buf, bt, err) // err = 0 in if err = err0 then f0arg_met (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end | T_DOTLTGTDOT () => let val () = incby1 () in f0arg_met_nil (tok) end // end of [T_DOTLTGTDOT] | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_f0arg1] (* f0arg2 ::= atmp0at | LBRACE s0argseq RBRACE *) implement p_f0arg2 (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_atmp0at, ent ) => f0arg_dyn (synent_decode {p0at} (ent)) | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_s0vararg (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACE, err0) in if err = 0 then f0arg_sta2 (tok, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_f0arg2] (* ****** ****** *) (* gm0at : d0exp { $$ = gm0at_make_none ($1) ; } | d0exp AS p0at { $$ = gm0at_make_some ($1, $3) ; } ; /* gm0at */ *) fun p_gm0at ( buf: &tokbuf, bt: int, err: &int ) : gm0at = let val err0 = err val ent1 = p_d0exp (buf, bt, err) in // if err = err0 then let val ent2 = ptokentopt_fun {p0at} (buf, is_AS, p_p0at) in gm0at_make (ent1, (t2t)ent2) end else let val tok = tokbuf_get_token (buf) val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_gm0at) in synent_null ((*okay*)) // HX: [err] is already set end // end of [if] end // end of [p_gm0at] fun p_gm0atseq ( buf: &tokbuf, bt: int, err: &int ) : gm0atlst = l2l (pstar_fun1_AND (buf, bt, err, p_gm0at)) // end of [p_gm0atseq] fun p_guap0at ( buf: &tokbuf, bt: int, err: &int ) : guap0at = let val err0 = err val ent1 = p_p0at (buf, bt, err) in // if err = err0 then let val ent2 = ptokentopt_fun {gm0atlst} (buf, is_WHEN, p_gm0atseq) in guap0at_make (ent1, (t2t)ent2) end else let val tok = tokbuf_get_token (buf) val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_guap0at) in synent_null ((*okay*)) // HX: [err] is already set end // end of [if] end // end of [p_guap0at] (* c0lau | guap0at EQGT d0exp | guap0at EQGTGT d0exp | guap0at EQSLASHEQGT d0exp | guap0at EQSLASHEQGTGT d0exp *) fun p_c0lau ( buf: &tokbuf, bt: int, err: &int ) : c0lau = let val err0 = err val n0 = tokbuf_get_ntok (buf) val ent1 = p_guap0at (buf, bt, err) val bt = 0 var seq: int = 0 and neg: int = 0 val () = if err = err0 then let val tok2 = tokbuf_get_token (buf) val () = ( case+ tok2.token_node of | T_EQGT () => () | T_EQGTGT () => seq := 1 | T_EQSLASHEQGT () => neg := 1 | T_EQSLASHEQGTGT () => (seq := 1; neg := 1) | _ => (err := err + 1) ) : void // end of [val] in if err = err0 then tokbuf_incby1 (buf) end // end of [val] val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) in // if err = err0 then c0lau_make (ent1, seq, neg, ent3) else let val tok = tokbuf_get_token (buf) val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_c0lau) in tokbuf_set_ntok_null (buf, n0) end // end of [if] end // end of [p_c0lau] (* ****** ****** *) (* sp0at ::= sqi0de LPAREN s0argseq RPAREN *) fun p_sp0at ( buf: &tokbuf, bt: int, err: &int ) : sp0at = let val err0 = err val n0 = tokbuf_get_ntok (buf) val ent1 = p_sqi0de (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_LPAREN, err0) val ent3 = ( if err = err0 then pstar_fun0_COMMA {s0arg} (buf, bt, p_s0arg) else list_vt_nil () ) : List_vt (s0arg) val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then sp0at_cstr (ent1, (l2l)ent3, ent4) else let val () = list_vt_free (ent3) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) end // end of [p_sp0at] fun p_sc0lau ( buf: &tokbuf, bt: int, err: &int ) : sc0lau = let val err0 = err val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun (buf, bt, err, p_sp0at, p_EQGT, p_d0exp) // end of [val] in if err = err0 then sc0lau_make (ent1, ent3) else synent_null ((*okay*)) // end of [if] end // end of [p_sc0lau] (* ****** ****** *) implement p_c0lauseq (buf, bt, err) = let val _ = p_BAR_test (buf) in l2l(pstar_fun0_BAR (buf, bt, p_c0lau)) end // end of [p_c0lauseq] implement p_sc0lauseq (buf, bt, err) = let val _ = p_BAR_test (buf) in l2l(pstar_fun0_BAR (buf, bt, p_sc0lau)) end // end of [p_sc0lauseq] (* ****** ****** *) (* end of [pats_parsing_p0at.dats] *) ATS2-Postiats-0.2.6/./src/pats_stacst2.sats0000664000175000017500000003033112655455557017033 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) abstype s2cstref_type // boxed type typedef s2cstref = s2cstref_type (* ****** ****** *) fun s2cstref_make (name: string): s2cstref (* ****** ****** *) fun s2cstref_get_cst (r: s2cstref): s2cst fun s2cstref_get_exp (r: s2cstref, arg: Option_vt s2explst): s2exp fun s2cstref_unget_exp (r: s2cstref, s2e: s2exp): Option_vt (s2explst) fun s2cstref_equ_cst (r: s2cstref, s2c: s2cst): bool fun s2cstref_equ_exp (r: s2cstref, s2e: s2exp): bool (* ****** ****** *) // val the_true_bool : s2cstref val the_false_bool : s2cstref // val the_neg_bool : s2cstref // bool -> bool val the_add_bool_bool : s2cstref // (bool, bool) -> bool val the_mul_bool_bool : s2cstref // (bool, bool) -> bool val the_eq_bool_bool : s2cstref // (bool, bool) -> bool val the_neq_bool_bool : s2cstref // (bool, bool) -> bool // val the_neg_int : s2cstref // : (int) -> int val the_add_int_int : s2cstref // : (int, int) -> int val the_sub_int_int : s2cstref // : (int, int) -> int val the_mul_int_int : s2cstref // : (int, int) -> int val the_div_int_int : s2cstref // : (int, int) -> int val the_ndiv_int_int : s2cstref // : (int, int) -> int val the_idiv_int_int : s2cstref // : (int, int) -> int // val the_lt_int_int : s2cstref // : (int, int) -> bool val the_lte_int_int : s2cstref // : (int, int) -> bool val the_gt_int_int : s2cstref // : (int, int) -> bool val the_gte_int_int : s2cstref // : (int, int) -> bool val the_eq_int_int : s2cstref // : (int, int) -> bool val the_neq_int_int : s2cstref // : (int, int) -> bool // val the_abs_int : s2cstref // (int) -> int val the_absrel_int_int : s2cstref // : (int, int) -> bool val the_sgn_int : s2cstref // (int) -> int val the_sgnrel_int_int : s2cstref // : (int, int) -> bool // val the_max_int_int : s2cstref // : (int, int) -> int val the_min_int_int : s2cstref // : (int, int) -> int val the_maxrel_int_int_int : s2cstref // : (int, int, int) -> bool val the_minrel_int_int_int : s2cstref // : (int, int, int) -> bool // val the_ndivrel_int_int_int : s2cstref // : (int, int, int) -> bool val the_idivrel_int_int_int : s2cstref // : (int, int, int) -> bool // val the_ifint_bool_int_int : s2cstref // : (bool, int, int) -> int val the_ifintrel_bool_int_int_int : s2cstref // : (bool, int, int, int) -> bool // (* val the_int_of_bool : s2cstref // : (bool) -> int val the_bool_of_int : s2cstref // : (int) -> bool *) (* // HX: char equals int8 // HX-2012-06-12: removed val the_int_of_char : s2cstref // : (char) -> int and the_char_of_int : s2cstref // : (int) -> char *) (* ** HX: addr is treated as (signed) int *) val the_int_of_addr : s2cstref // : (addr) -> int and the_addr_of_int : s2cstref // : (int) -> addr // val the_null_addr : s2cstref val the_lt_addr_addr : s2cstref // : (addr, addr) -> bool val the_lte_addr_addr : s2cstref // : (addr, addr) -> bool val the_gt_addr_addr : s2cstref // : (addr, addr) -> bool val the_gte_addr_addr : s2cstref // : (addr, addr) -> bool val the_eq_addr_addr : s2cstref // : (addr, addr) -> bool val the_neq_addr_addr : s2cstref // : (addr, addr) -> bool // val the_add_addr_int : s2cstref // (addr, int) -> addr val the_sub_addr_int : s2cstref // (addr, int) -> addr val the_sub_addr_addr : s2cstref // (addr, addr) -> int // (* ****** ****** *) val the_lte_cls_cls : s2cstref // : (cls, cls) -> bool val the_gte_cls_cls : s2cstref // : (cls, cls) -> bool val the_lterel_cls_cls : s2cstref // : (cls, cls, bool) -> bool val the_gterel_cls_cls : s2cstref // : (cls, cls, bool) -> bool (* ****** ****** *) val the_atstkind_type : s2cstref val the_atstkind_t0ype : s2cstref (* ****** ****** *) // val the_bool_t0ype : s2cstref val the_bool_bool_t0ype : s2cstref // (* ****** ****** *) // val the_int_kind : s2cstref val the_uint_kind : s2cstref val the_lint_kind : s2cstref val the_ulint_kind : s2cstref val the_llint_kind : s2cstref val the_ullint_kind : s2cstref val the_size_kind : s2cstref val the_ssize_kind : s2cstref // val the_g0int_t0ype : s2cstref val the_g1int_int_t0ype : s2cstref val the_g0uint_t0ype : s2cstref val the_g1uint_int_t0ype : s2cstref // val the_char_t0ype : s2cstref val the_char_int_t0ype : s2cstref val the_schar_t0ype : s2cstref val the_schar_int_t0ype : s2cstref val the_uchar_t0ype : s2cstref val the_uchar_int_t0ype : s2cstref // val the_float_kind : s2cstref val the_double_kind : s2cstref val the_ldouble_kind : s2cstref val the_g0float_t0ype : s2cstref // val the_string_type : s2cstref val the_string_int_type : s2cstref // val the_literal_float : s2cstref val the_literal_string : s2cstref // val the_ptr_type : s2cstref val the_ptr_addr_type : s2cstref // val the_atsvoid_t0ype : s2cstref // val the_unit_prop : s2cstref val the_unit_view : s2cstref // val the_exception_vtype : s2cstref // val the_arrpsz_vt0ype_int_vt0ype : s2cstref // (* val the_list0_t0ype_type : s2cstref *) // val the_list_t0ype_int_type : s2cstref val the_list_vt0ype_int_vtype : s2cstref // val the_vbox_view_prop : s2cstref val the_ref_vt0ype_type : s2cstref // val the_lazy_t0ype_type : s2cstref val the_lazy_vt0ype_vtype : s2cstref // val the_sizeof_t0ype_int: s2cstref // val the_at_vt0ype_addr_view: s2cstref // val the_invar_prop_prop: s2cstref val the_invar_view_view: s2cstref val the_invar_t0ype_t0ype: s2cstref val the_invar_vt0ype_vt0ype: s2cstref // (* ****** ****** *) val the_vcopyenv_view_view : s2cstref val the_vcopyenv_vt0ype_vt0ype : s2cstref (* ****** ****** *) val the_bottom_t0ype_uni: s2cstref // = {a:t@ype} (a) val the_bottom_t0ype_exi: s2cstref // = [a:t@ype | false] (a) val the_bottom_vt0ype_uni: s2cstref // = {a:vt@ype} (a) val the_bottom_vt0ype_exi: s2cstref // = [a:vt@ype | false] (a) (* ****** ****** *) // fun s2exp_bool (b: bool): s2exp (* static boolean terms *) // end of [s2exp_bool] // fun s2exp_bool_t0ype (): s2exp // bool0 fun s2exp_bool_bool_t0ype (b: bool): s2exp // bool1(b) // fun s2exp_bool_index_t0ype (ind: s2exp): s2exp // bool1(ind) // fun un_s2exp_bool_index_t0ype (s2f: s2hnf): Option_vt (s2exp) // (* ****** ****** *) fun s2exp_agtz (s2a: s2exp): s2exp fun s2exp_bneg (s2p: s2exp): s2exp fun s2exp_badd (s2p1: s2exp, s2p2: s2exp): s2exp fun s2exp_bmul (s2p1: s2exp, s2p2: s2exp): s2exp fun s2exp_ineg (s2i: s2exp): s2exp fun s2exp_intlt (s2i1: s2exp, s2i2: s2exp): s2exp fun s2exp_intlte (s2i1: s2exp, s2i2: s2exp): s2exp fun s2exp_intgt (s2i1: s2exp, s2i2: s2exp): s2exp fun s2exp_intgte (s2i1: s2exp, s2i2: s2exp): s2exp fun s2exp_intneq (s2i1: s2exp, s2i2: s2exp): s2exp (* ****** ****** *) fun s2exp_igtez (s2i: s2exp): s2exp // s2i >= 0 (* ****** ****** *) fun un_s2exp_intconst (s2i: s2exp): Option_vt (int) (* ****** ****** *) // fun s2exp_int_t0ype (): s2exp // int0 fun s2exp_uint_t0ype (): s2exp // uint0 fun s2exp_lint_t0ype (): s2exp // int0 fun s2exp_ulint_t0ype (): s2exp // uint0 fun s2exp_llint_t0ype (): s2exp // lint0 fun s2exp_ullint_t0ype (): s2exp // ulint0 // fun s2exp_int_int_t0ype (i: int): s2exp // int1(i) fun s2exp_int_intinf_t0ype (inf: intinf): s2exp // int1(inf) // fun s2exp_uint_int_t0ype (i: int): s2exp // uint1(i) fun s2exp_uint_intinf_t0ype (inf: intinf): s2exp // uint1(i) // fun s2exp_lint_intinf_t0ype (inf: intinf): s2exp // lint1(i) fun s2exp_ulint_intinf_t0ype (inf: intinf): s2exp // ulint1(i) fun s2exp_llint_intinf_t0ype (inf: intinf): s2exp // llint1(i) fun s2exp_ullint_intinf_t0ype (inf: intinf): s2exp // ullint1(i) // fun s2exp_g0int_kind_t0ype (knd: s2exp): s2exp fun s2exp_g1int_kind_index_t0ype (knd: s2exp, ind: s2exp): s2exp fun s2exp_g0uint_kind_t0ype (knd: s2exp): s2exp fun s2exp_g1uint_kind_index_t0ype (knd: s2exp, ind: s2exp): s2exp // fun un_s2exp_g1int_index_t0ype (s2f: s2hnf): Option_vt (s2exp) fun un_s2exp_g1uint_index_t0ype (s2f: s2hnf): Option_vt (s2exp) // fun un_s2exp_g1size_index_t0ype (s2f: s2hnf): Option_vt (s2exp) // fun s2exp_int_index_t0ype (ind: s2exp): s2exp fun s2exp_uint_index_t0ype (ind: s2exp): s2exp // (* ****** ****** *) // fun s2exp_char_t0ype (): s2exp // char0 fun s2exp_char_int_t0ype (c: int): s2exp // char1(c) fun s2exp_char_index_t0ype (ind: s2exp): s2exp // char1(ind) // fun un_s2exp_char_index_t0ype (s2f: s2hnf): Option_vt (s2exp) // fun s2exp_schar_t0ype (): s2exp // schar0 fun s2exp_schar_int_t0ype (c: int): s2exp // schar1(c) // fun s2exp_uchar_t0ype (): s2exp // schar0 fun s2exp_uchar_int_t0ype (c: int): s2exp // uchar1(c) // (* ****** ****** *) // fun s2exp_float_t0ype (): s2exp // float fun s2exp_double_t0ype (): s2exp // double fun s2exp_ldouble_t0ype (): s2exp // ldouble // (* ****** ****** *) // fun s2exp_string_type (): s2exp // string0 fun s2exp_string_int_type (n: size_t): s2exp // string1 fun s2exp_string_index_type (ind: s2exp): s2exp // string1(ind) // (* ****** ****** *) fun s2exp_literal_float (rep: string): s2exp fun s2exp_literal_string (str: string): s2exp (* ****** ****** *) fun s2exp_ptr_type (): s2exp // ptr0 fun s2exp_ptr_addr_type (s2l: s2exp): s2exp // ptr1 fun un_s2exp_ptr_addr_type (s2f: s2hnf): Option_vt (s2exp) (* ****** ****** *) fun s2exp_void_t0ype (): s2exp // void (* ****** ****** *) fun s2exp_unit_prop (): s2exp // unit_p // how about uprop? fun s2exp_unit_view (): s2exp // unit_v // how about uview? (* ****** ****** *) fun s2exp_exception_vtype (): s2exp (* ****** ****** *) fun s2exp_arrpsz_vt0ype_int_vt0ype (s2e: s2exp, n: int): s2exp (* ****** ****** *) // (* fun s2exp_list0_t0ype_type (s2e: s2exp): s2exp *) // fun s2exp_list_t0ype_int_type (s2e: s2exp, n: int): s2exp fun s2exp_list_vt0ype_int_vtype (s2e: s2exp, n: int): s2exp // (* ****** ****** *) // fun s2exp_vbox_view_prop (s2e: s2exp): s2exp fun un_s2exp_vbox_view_prop (s2f: s2hnf) : Option_vt (s2exp) // (* ****** ****** *) // fun s2exp_ref_vt0ype_type (s2e: s2exp): s2exp fun un_s2exp_ref_vt0ype_type (s2f: s2hnf): Option_vt (s2exp) // (* ****** ****** *) fun s2exp_lazy_t0ype_type (s2e: s2exp): s2exp fun un_s2exp_lazy_t0ype_type (s2f: s2hnf): Option_vt (s2exp) fun s2exp_lazy_vt0ype_vtype (s2e: s2exp): s2exp fun un_s2exp_lazy_vt0ype_vtype (s2f: s2hnf): Option_vt (s2exp) (* ****** ****** *) fun s2exp_bottom_t0ype_uni (): s2exp // = {a:t@ype} (a) fun s2exp_bottom_t0ype_exi (): s2exp // = [a:t@ype | false] (a) fun s2exp_bottom_vt0ype_uni (): s2exp // = {a:vt@ype} (a) fun s2exp_bottom_vt0ype_exi (): s2exp // = [a:vt@ype | false] (a) (* ****** ****** *) fun s2exp_vcopyenv_v (s2e: s2exp): s2exp fun s2exp_vcopyenv_vt (s2e: s2exp): s2exp (* ****** ****** *) // // HX-2013-09: // only for internal use! // val the_atstype_int : s2cstref val the_atstype_bool : s2cstref val the_atstype_uint : s2cstref val the_atstype_size : s2cstref val the_atstype_ssize : s2cstref // (* ****** ****** *) val the_effnil : s2cstref val the_effall : s2cstref val the_effntm : s2cstref val the_effexn : s2cstref val the_effref : s2cstref val the_effwrt : s2cstref val the_add_eff_eff : s2cstref // = add_eff_eff val the_sub_eff_eff : s2cstref // = sub_eff_eff (* ****** ****** *) fun s2eff_hnfize (s2fe: s2eff): s2eff (* ****** ****** *) fun stacst2_initialize (): void (* ****** ****** *) (* end of [pats_stacst2.sats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_util1.dats0000664000175000017500000010367512655455557020151 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload EFF = "./pats_effect.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fn prerr_error2_loc (loc: location): void = ( $LOC.prerr_location loc; prerr ": error(2)" ) // end of [prerr_error2_loc] (* ****** ****** *) local fn impname_linearize (name: $SYM.symbol): $SYM.symbol = let in // case+ 0 of | _ when name = $SYM.symbol_PROP => $SYM.symbol_VIEW | _ when name = $SYM.symbol_TYPE => $SYM.symbol_VIEWTYPE | _ when name = $SYM.symbol_T0YPE => $SYM.symbol_VIEWT0YPE | _ => name // end // end of [impname_linearize] in (* in of [local] *) implement s2rt_linearize (s2t) = let var err: int = 0 var s2t: s2rt = s2t val () = ( case+ s2t of | S2RTbas s2tb => (case+ s2tb of | S2RTBASimp (knd, name) => let val knd = impkind_linearize (knd) val name = impname_linearize (name) in s2t := S2RTbas (S2RTBASimp (knd, name)) end // end of [S2RTBASimp] | _ => err := 1 ) // end of [S2RTbas] | _ => err := 1 ) : void // end of [val] (* val () = assertloc (err > 0) // [s2t] maybe [S2RTerr] *) in s2t end // end of [s2rt_linearize] end // end of [local] (* ****** ****** *) local #define CLO 0 #define CLOPTR 1 #define CLOREF ~1 in (* in of [local] *) implement s2rt_prf_lin_fc ( loc0, isprf, islin, fc ) = begin if isprf then begin (if islin then s2rt_view else s2rt_prop) end else begin case+ islin of | _ when islin => begin case+ fc of | FUNCLOclo (knd) => begin case+ knd of | CLO(*0*) => s2rt_vt0ype | CLOPTR(*1*) => s2rt_vtype | _ (*CLOREF*) => s2rt_err () where { val () = prerr_error2_loc (loc0) val () = prerr ": a closure reference cannot be linear." val () = prerr_newline () } // end of [_] end (* end of [FUNCLOclo] *) | FUNCLOfun () => s2rt_vtype end // end of [_ when islin] | _ => begin case+ fc of | FUNCLOclo (knd) => begin case+ knd of | CLO => s2rt_t0ype | CLOPTR => s2rt_vtype (*ptr*) | _ (*CLOREF*) => s2rt_type (*ref*) end // end of [FUNCLOclo] | FUNCLOfun () => s2rt_type end // end of [_] end (* end of [if] *) end // end of [s2rt_prf_lin_fc] end // end of [local] (* ****** ****** *) (* ** HX: this function is called only when prgm = 0 *) implement s2rt_npf_lin_prf_boxed (npf, lin, prf, boxed) = if npf >= 0 then ( if lin = 0 then if boxed > 0 then s2rt_type else s2rt_t0ype else if boxed > 0 then s2rt_vtype else s2rt_vt0ype // end of [if] ) else ( if prf = 0 then ( if lin = 0 then if boxed > 0 then s2rt_type else s2rt_t0ype else if boxed > 0 then s2rt_vtype else s2rt_vt0ype // end of [if] ) else if lin = 0 then if boxed > 0 then s2rt_type else s2rt_prop else if boxed > 0 then s2rt_vtype else s2rt_view // end of [if] ) (* end of [if] *) // end of [s2rt_lin_prf_boxed] implement s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) = let // (* val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: npf = " val () = fprint_int (stdout_ref, npf) val () = print_newline () val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: lin = " val () = fprint_int (stdout_ref, lin) val () = print_newline () val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: prf = " val () = fprint_int (stdout_ref, prf) val () = print_newline () val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: prgm = " val () = fprint_int (stdout_ref, prgm) val () = print_newline () val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: boxed = " val () = fprint_int (stdout_ref, boxed) val () = print_newline () val () = print "s2rt_npf_lin_prf_prgm_boxed_labs2explst: labs2explst = " val () = fprint_labs2explst (stdout_ref, ls2es) val () = print_newline () *) // fun aux // HX: only when prgm = 1 ( npf: int, lin: int, xs: labs2explst ) : s2rt = let in // if npf > 0 then let val-list_cons (_, xs) = xs in aux (npf-1, lin, xs) end else let val-list_cons (x, xs) = xs val SLABELED (_, _, s2e) = x val s2t = s2e.s2exp_srt (* val () = (println! ("aux: s2t = ", s2t) *) in if s2rt_is_prf (s2t) then aux (0(*npf*), lin, xs) // HX: [xs] cannot be nil else ( if lin = 0 then s2t else s2rt_linearize (s2t) ) // end of [if] end (* end of [if] *) // end // end of [aux] // in // if prgm = 0 then s2rt_npf_lin_prf_boxed (npf, lin, prf, boxed) else if prgm = 1 then ( if boxed > 0 then if lin = 0 then s2rt_type else s2rt_vtype else aux (npf, lin, ls2es) ) else // HX: prgm >= 2 ( if lin = 0 then if boxed > 0 then s2rt_type else s2rt_t0ype else if boxed > 0 then s2rt_vtype else s2rt_vt0ype // end of [if] ) // end of [if] // end // end of [s2rt_npf_lin_prf_prgm_boxed_labs2explst] (* ****** ****** *) implement s2exp_tytup ( knd, npf, s2es ) = let // fun aux ( i: int, s2es: s2explst ) : labs2explst = let in // case+ s2es of | list_cons (s2e, s2es) => let val lab = $LAB.label_make_int (i) val ls2e = SLABELED (lab, None(*name*), s2e) val ls2es = aux (i+1, s2es) in list_cons (ls2e, ls2es) end | list_nil () => list_nil () end // end of [aux] // val ls2es = aux (0, s2es) // in s2exp_tyrec (knd, npf, ls2es) end // end of [s2exp_tytup] implement s2exp_tyrec ( knd, npf, ls2es ) = let // fun aux01 ( i: int , npf: int, ls2es: labs2explst , lin: &int , prf: &int , prgm: &int ) : void = let in // case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (_, _, s2e) = ls2e val s2t = s2e.s2exp_srt val () = if s2rt_is_lin (s2t) then (lin := lin+1) val () = if s2rt_is_prf (s2t) then (prf := prf+1) else (if i >= npf then prgm := prgm+1) // end of [if] // end of [val] in aux01 (i+1, npf, ls2es, lin, prf, prgm) end // end of [list_cons] | list_nil () => () // end // end of [aux01] // var lin: int = 0 var prf: int = 0 and prgm: int = 0 val () = aux01 (0, npf, ls2es, lin, prf, prgm) val boxed = knd // 0/1 val tyrecknd = ( case+ knd of | 0 => TYRECKINDflt0 () | 1 => TYRECKINDbox () | 2 => TYRECKINDbox () | _ => TYRECKINDbox_lin () ) : tyreckind // end of [val] // val s2t_rec = ( if (knd >= 3) then s2rt_vtype else s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) // end of [if] ) : s2rt // end of [val] // in s2exp_tyrec_srt (s2t_rec, tyrecknd, npf, ls2es) end // end of [s2exp_tyrec] (* ****** ****** *) implement s2cst_select_locs2explstlst (s2cs, xss) = let // fun test1 ( xs: locs2explst, s2ts: s2rtlst ) : bool = case+ xs of | list_cons (x, xs) => (case+ s2ts of | list_cons (s2t, s2ts) => let val s2e = x.1 in if s2rt_ltmat0 (s2e.s2exp_srt, s2t) then test1 (xs, s2ts) else false end // end of [list_cons] | list_nil () => false ) // end of [list_cons] | list_nil () => (case+ s2ts of | list_cons _ => false | list_nil () => true ) // end of [list_nil] (* end of [test1] *) // fun test2 ( s2t: s2rt, xss: List (locs2explst) ) : bool = case+ xss of | list_cons (xs, xss) => ( if s2rt_is_fun (s2t) then let val-S2RTfun (s2ts_arg, s2t_res) = s2t in if test1 (xs, s2ts_arg) then test2 (s2t_res, xss) else false end else false ) // end of [list_cons] | list_nil () => true (* end of [test2] *) // fun filter ( s2cs: s2cstlst, xss: List (locs2explst) ) : s2cstlst = case+ s2cs of | list_cons (s2c, s2cs) => let (* val () = print "s2cst_select_locs2explstlst: filter: s2c = " val () = print_s2cst (s2c) val () = print_newline () *) val s2t = s2cst_get_srt (s2c) (* val () = print "s2cst_select_locs2explstlst: filter: s2t = "; val () = print_s2rt (s2t) val () = print_newline () *) in if test2 (s2t, xss) then list_cons (s2c, filter (s2cs, xss)) else filter (s2cs, xss) // end of [if] end // end of [S2CSTLSTcons] | list_nil () => list_nil () (* end of [filter] *) // in if list_is_sing (s2cs) then s2cs else filter (s2cs, xss) // end of [if] end // end of [s2cst_select_locs2explstlst] (* ****** ****** *) implement s2exp_is_nonvar (s2e) = ( case+ s2e.s2exp_node of | S2Evar _ => false | _ => true ) // end of [s2exp_is_nonvar] (* ****** ****** *) implement s2exp_is_wthtype (s2e) = ( case+ s2e.s2exp_node of | S2Ewthtype _ => true | S2Eexi (s2vs, s2ps, s2e) => s2exp_is_wthtype (s2e) | _ => false ) (* end of [s2exp_is_wthtype] *) (* ****** ****** *) extern fun labs2explst_is_without (xs: labs2explst):<> bool implement s2exp_is_without (s2e) = case+ s2e.s2exp_node of | S2Ewithout _ => true | S2Etyrec (knd, npf, ls2es) => labs2explst_is_without (ls2es) | _ => false // end of [s2exp_is_without] implement labs2explst_is_without (xs) = ( case+ xs of | list_cons (x, xs) => let val SLABELED (_, _, s2e) = x in if s2exp_is_without (s2e) then labs2explst_is_without (xs) else false end // end of [list_cons] | list_nil () => true // end of [list_nil] ) // end of [labs2explst_is_without] (* ****** ****** *) extern fun labs2explst_is_lin2 (xs: labs2explst): bool implement s2exp_is_lin2 (s2e) = let val s2e = s2exp_hnfize (s2e) val islin = s2exp_is_lin (s2e) in // if islin then ( case+ s2e.s2exp_node of | S2Eat (s2e1, _) => if s2exp_is_without (s2e1) then false else true | S2Etyrec (knd, npf, ls2es) => ( if tyreckind_is_boxed (knd) then true else labs2explst_is_lin2 (ls2es) ) // end of [S2Etyrec] | _ => true ) else false // end of [if] // end // end of [s2exp_is_lin2] implement labs2explst_is_lin2 (xs) = ( case+ xs of | list_cons (x, xs) => let val SLABELED (_, _, s2e) = x in if s2exp_is_lin2 (s2e) then true else labs2explst_is_lin2 (xs) end // end of [list_cons] | list_nil () => false // end of [list_nil] ) // end of [labs2explst_is_lin2] (* ****** ****** *) implement s2hnf_get_head (s2f) = let fun loop (s2e: s2exp): s2exp = case+ s2e.s2exp_node of S2Eapp (s2e, _) => loop s2e | _ => s2e // end of [loop] val s2e = s2hnf2exp (s2f) in s2exp2hnf_cast (loop (s2e)) end // end of [s2hnf_get_head] (* ****** ****** *) implement s2hnf_is_abscon (s2f) = let // fun loop ( s2e: s2exp ) : bool = case+ s2e.s2exp_node of | S2Ecst s2c => ( if s2cst_is_abstr (s2c) then true else if s2cst_is_tkind (s2c) then true else s2cst_get_iscon (s2c) ) // end of [S2Ecst] | S2Eapp (s2e, _) => loop (s2e) | _ => false // end of [loop] val s2e = s2hnf2exp (s2f) in loop (s2e) end // end of [s2hnf_is_abscon] (* ****** ****** *) implement s2eff_add_set (s2fe, efs) = ( case+ 0 of | _ when $EFF.effset_isnil (efs) => s2fe | _ when $EFF.effset_isall (efs) => s2eff_all | _ => let val s2fe2 = s2eff_effset (efs) in s2eff_add (s2fe, s2fe2) end // end of [_] ) // end of [s2eff_add_set] (* ****** ****** *) implement s2eff_contain_set (s2fe, efs0) = let // fun aux ( s2e: s2exp, efs0: effset ) : bool = let val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) in case+ s2e.s2exp_node of | _ => false end // end of [aux] // in // case+ s2fe of | S2EFFset (efs) => $EFF.effset_supset (efs, efs0) | S2EFFexp (s2e) => aux (s2e, efs0) | S2EFFadd (s2fe1, s2fe2) => let val ans = s2eff_contain_set (s2fe1, efs0) in if ans then true else s2eff_contain_set (s2fe2, efs0) end // end of [S2EFFadd] // end // end of [s2eff_contain_set] (* ****** ****** *) implement s2eff_contain_exp (s2fe, s2e0) = let in // case+ s2fe of | S2EFFset (efs) => if $EFF.effset_isall (efs) then true else false | S2EFFexp (s2e) => s2exp_syneq (s2e0, s2e) | S2EFFadd (s2fe1, s2fe2) => let val ans = s2eff_contain_exp (s2fe1, s2e0) in if ans then true else s2eff_contain_exp (s2fe2, s2e0) end // end of [S2EFFadd] // end // end of [s2eff_contain_exp] (* ****** ****** *) local #define :: list_vt_cons assume stasub_vtype = List_vt @(s2var, s2exp) in (* in of [local] *) implement stasub_make_nil () = list_vt_nil () implement stasub_copy (sub) = list_vt_copy (sub) implement stasub_free (sub) = list_vt_free (sub) (* ****** ****** *) implement fprint_stasub (out, sub) = let // fun loop ( out: FILEref, xs: !stasub, i: int ) : void = let in // case+ xs of | list_vt_cons (x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_s2var (out, x.0) val () = fprint_string (out, "->") val () = fprint_s2exp (out, x.1) val () = loop (out, !p_xs, i+1) prval () = fold@ (xs) in // nothing end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) // end // end of [loop] // in loop (out, sub, 0) end // end of [fprint_stasub] (* ****** ****** *) implement stasub_add (sub, s2v, s2f) = sub := (s2v, s2f) :: sub // end of [stasub_add] implement stasub_addlst (sub, s2vs, s2fs) = let fun loop ( sub: &stasub, s2vs: s2varlst, s2fs: s2explst ) : int = case+ s2vs of | list_cons (s2v, s2vs) => ( case+ s2fs of | list_cons (s2f, s2fs) => let val () = stasub_add (sub, s2v, s2f) in loop (sub, s2vs, s2fs) end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ s2fs of list_cons _ => ~1 | list_nil () => 0 ) // end of [list_nil] // end of [loop] in loop (sub, s2vs, s2fs) end // end of [stasub_addlst] (* ****** ****** *) implement stasub_find (sub, s2v) = let typedef a = s2var and b = s2exp; typedef ab = (a, b) in list_assoc_fun ($UN.castvwtp1 {List(ab)} (sub), eq_s2var_s2var, s2v) // end of [list_assoc_fun] end // end of [stasub_find] (* ****** ****** *) (* implement stasub_get_domain (sub) = let typedef a = (s2var, s2exp) and b = s2var in list_map_fun ($UN.castvwtp1 {List(a)} (sub), lam (x) =<0> x.0) end // end of [stasub_get_domain] *) (* ****** ****** *) implement stasub_occurcheck (sub, s2V) = case+ sub of | list_vt_cons (x, !p_xs) => let val s2Vs = s2var_get_sVarset (x.0) val ismem = s2Varset_ismem (s2Vs, s2V) in if ismem then let prval () = fold@ (sub) in true end else let val ans = stasub_occurcheck (!p_xs, s2V) prval () = fold@ (sub) in ans end (* end of [if] *) end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ (sub) in false end // end of [list_vt_nil] // end of [stasub_occurcheck] end // end of [local] (* ****** ****** *) implement stasub_extend_svarlst (sub, s2vs) = let // fun loop ( sub: &stasub, s2vs: s2varlst, s2vs1: s2varlst_vt ) : s2varlst_vt = case+ s2vs of | list_cons (s2v, s2vs) => let val s2v1 = s2var_dup (s2v) val s2e1 = s2exp_var (s2v1) val () = stasub_add (sub, s2v, s2e1) val s2vs1 = list_vt_cons (s2v1, s2vs1) in loop (sub, s2vs, s2vs1) end // end of [list_cons] | list_nil () => s2vs1 // end of [loop] // val s2vs1 = loop (sub, s2vs, list_vt_nil ()) // in // list_vt_reverse (s2vs1) // end // end of [stasub_extend_svarlst] (* ****** ****** *) extern fun s2explstlst_subst_flag (sub: !stasub, s2ess0: s2explstlst, flag: &int): s2explstlst // end of [s2explstlst_subst_flag] extern fun labs2explst_subst_flag (sub: !stasub, ls2es0: labs2explst, flag: &int): labs2explst // end of [labs2explst_subst_flag] extern fun wths2explst_subst_flag (sub: !stasub, wths2es0: wths2explst, flag: &int): wths2explst // end of [wths2explst_subst_flag] extern fun s2lab_subst_flag (sub: !stasub, s2l0: s2lab, flag: &int): s2lab // end of [s2lab_subst_flag] extern fun s2lablst_subst_flag (sub: !stasub, s2ls0: s2lablst, flag: &int): s2lablst // end of [s2lablst_subst_flag] extern fun s2eff_subst_flag (sub: !stasub, s2fe0: s2eff, flag: &int): s2eff // end of [s2eff_subst_flag] (* ****** ****** *) extern fun s2zexplst_subst_flag (sub: !stasub, s2zes0: s2zexplst, flag: &int): s2zexplst // end of [s2zexplst_subst_flag] extern fun labs2zexplst_subst_flag (sub: !stasub, ls2zes0: labs2zexplst, flag: &int): labs2zexplst // end of [labs2zexplst_subst_flag] (* ****** ****** *) fun s2var_subst_flag ( sub: !stasub , s2e0: s2exp, flag: &int, s2v: s2var ) : s2exp = let val ans = stasub_find (sub, s2v) in case+ ans of | ~Some_vt (s2e) => let val () = flag := flag + 1 in s2e end // end of [Some_vt] | ~None_vt () => s2e0 end // end of [s2var_subst_flag] fun s2Var_subst_flag ( sub: !stasub , s2e0: s2exp, flag: &int, s2V: s2Var ) : s2exp = let val opt = s2Var_get_link (s2V) in // case+ opt of | Some (s2f) => let val () = flag := flag + 1 in s2exp_subst_flag (sub, s2f, flag) end // end of [Some] | None () => let val isfound = stasub_occurcheck (sub, s2V) // end of [val] val () = if isfound then flag := flag + 1 in if ~isfound then s2e0 else s2exp_err (s2e0.s2exp_srt) end // end of [None] // end // end of [s2Var_subst_flag] fun s2exp_subst_flag_exiuni ( knd: int , sub: !stasub, s2e0: s2exp, flag: &int , s2vs: s2varlst, s2ps: s2explst, s2e: s2exp ) : s2exp = let val f0 = flag var sub1 = stasub_copy (sub) val s2vs = stasub_extend_svarlst (sub1, s2vs) val s2ps = s2explst_subst_flag (sub1, s2ps, flag) val s2e = s2exp_subst_flag (sub1, s2e, flag) val () = stasub_free (sub1) in if flag > f0 then let val s2vs = l2l (s2vs) val s2f_res = s2exp_exiuni (knd, s2vs, s2ps, s2e) in s2f_res end else let val () = list_vt_free (s2vs) in s2e0 end (* end of [if] *) end // end of [s2exp_subst_flag_exiuni] (* ****** ****** *) implement s2exp_subst_flag (sub, s2e0, flag) = let val s2t0 = s2e0.s2exp_srt in // case+ s2e0.s2exp_node of // | S2Eint _ => s2e0 | S2Eintinf _ => s2e0 // | S2Efloat _ => s2e0 | S2Estring _ => s2e0 // | S2Ecst _ => s2e0 // | S2Eextype (name, s2ess) => let val f0 = flag val s2ess = s2explstlst_subst_flag (sub, s2ess, flag) in if flag > f0 then let val s2e_res = s2exp_extype_srt (s2t0, name, s2ess) in s2e_res end else s2e0 // end of [if] end // end of [S2Eextype] | S2Eextkind (name, s2ess) => let val f0 = flag val s2ess = s2explstlst_subst_flag (sub, s2ess, flag) in if flag > f0 then let val s2e_res = s2exp_extkind_srt (s2t0, name, s2ess) in s2e_res end else s2e0 // end of [if] end // end of [S2Eextkind] // | S2Evar (s2v) => s2var_subst_flag (sub, s2e0, flag, s2v) | S2EVar (s2V) => s2Var_subst_flag (sub, s2e0, flag, s2V) // | S2Ehole _ => s2e0 // | S2Edatcontyp (d2c, arg) => let val f0 = flag val arg = s2explst_subst_flag (sub, arg, flag) in if flag > f0 then let val s2e_res = s2exp_datcontyp (d2c, arg) in s2e_res end else s2e0 end // end of [S2Edatcontyp] | S2Edatconptr (d2c, rt, arg) => let val f0 = flag val rt = s2exp_subst_flag (sub, rt, flag) val arg = s2explst_subst_flag (sub, arg, flag) in if flag > f0 then let val s2e_res = s2exp_datconptr (d2c, rt, arg) in s2e_res end else s2e0 end // end of [S2Edatconptr] // | S2Eat (s2e1, s2e2) => let val f0 = flag val s2e1 = s2exp_subst_flag (sub, s2e1, flag) val s2e2 = s2exp_subst_flag (sub, s2e2, flag) in if flag > f0 then let val s2e_res = s2exp_at (s2e1, s2e2) in s2e_res end else s2e0 // end of [if] end // end of [S2Eat] // | S2Esizeof (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then let val s2e_res = s2exp_sizeof (s2e) in s2e_res end else s2e0 // end of [if] end // end of [S2Esizeof] // | S2Eeff (s2fe) => let val f0 = flag val s2fe = s2eff_subst_flag (sub, s2fe, flag) in if flag > f0 then s2exp_eff (s2fe) else s2e0 end // end of [S2Eeff] | S2Eeqeq (s2e1, s2e2) => let val f0 = flag val s2e1 = s2exp_subst_flag (sub, s2e1, flag) val s2e2 = s2exp_subst_flag (sub, s2e2, flag) in if flag > f0 then let val s2e_res = s2exp_eqeq (s2e1, s2e2) in s2e_res end else s2e0 // end of [if] end // end of [S2Eeqeq] | S2Eproj (s2ae, s2te, s2ls) => let val f0 = flag val s2ae = s2exp_subst_flag (sub, s2ae, flag) val s2te = s2exp_subst_flag (sub, s2te, flag) val s2ls = s2lablst_subst_flag (sub, s2ls, flag) in if flag > f0 then s2exp_proj (s2ae, s2te, s2ls) else s2e0 // end of [if] end // end of [S2Eproj] // | S2Eapp (s2e_fun, s2es_arg) => let val f0 = flag val s2e_fun = s2exp_subst_flag (sub, s2e_fun, flag) val s2es_arg = s2explst_subst_flag (sub, s2es_arg, flag) in if flag > f0 then s2exp_app_srt (s2t0, s2e_fun, s2es_arg) else s2e0 // end of [if] end // end of [S2Eapp] | S2Elam (s2vs, s2e) => let val f0 = flag var sub1 = stasub_copy (sub) val s2vs = stasub_extend_svarlst (sub1, s2vs) val s2e = s2exp_subst_flag (sub1, s2e, flag) val () = stasub_free (sub1) in if flag > f0 then s2exp_lam_srt (s2t0, (l2l)s2vs, s2e) else let val () = list_vt_free (s2vs) in s2e0 end (* end of [if] *) end // end of [S2Elam] | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => let val f0 = flag val s2fe = s2eff_subst_flag (sub, s2fe, flag) val s2es_arg = s2explst_subst_flag (sub, s2es_arg, flag) val s2e_res = s2exp_subst_flag (sub, s2e_res, flag) in if flag > f0 then let val s2e_res = s2exp_fun_srt (s2t0, fc, lin, s2fe, npf, s2es_arg, s2e_res) in s2e_res end else s2e0 // end of [if] end // end of [S2Efun] | S2Emetfun (opt(*stamp*), s2es_met, s2e_body) => let val f0 = flag val s2es_met = s2explst_subst_flag (sub, s2es_met, flag) val s2e_body = s2exp_subst_flag (sub, s2e_body, flag) in if flag > f0 then let val s2e_res = s2exp_metfun (opt, s2es_met, s2e_body) in s2e_res end else s2e0 // end of [if] end // end of [S2Emetfun] // | S2Emetdec (s2es1, s2es2) => let val f0 = flag val s2es1 = s2explst_subst_flag (sub, s2es1, flag) val s2es2 = s2explst_subst_flag (sub, s2es2, flag) in if flag > f0 then s2exp_metdec (s2es1, s2es2) else s2e0 end // end of [S2Emetdec] // | S2Etop (knd, s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then s2exp_top_srt (s2t0, knd, s2e) else s2e0 end // end of [S2Etop] | S2Ewithout (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then s2exp_without (s2e) else s2e0 end // end of [S2Ewithout] // | S2Etyarr (s2e_elt, s2es_int) => let val f0 = flag val s2e_elt = s2exp_subst_flag (sub, s2e_elt, flag) val s2es_int = s2explst_subst_flag (sub, s2es_int, flag) in if flag > f0 then let val s2e_res = s2exp_tyarr (s2e_elt, s2es_int) in s2e_res end else s2e0 end // end of [S2Etyarr] // | S2Etyrec (knd, npf, ls2es) => let val f0 = flag val ls2es = labs2explst_subst_flag (sub, ls2es, flag) in if flag > f0 then let val s2e_res = s2exp_tyrec_srt (s2t0, knd, npf, ls2es) in s2e_res // end of [val] end else s2e0 // end of [if] end // end of [S2Etyrec] // | S2Einvar (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then s2exp_invar (s2e) else s2e0 end // end of [S2Etyvarknd] // | S2Erefarg (knd, s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then s2exp_refarg (knd, s2e) else s2e0 end // end of [S2Erefarg] // | S2Eexi (s2vs, s2ps, s2e) => s2exp_subst_flag_exiuni (0(*exi*), sub, s2e0, flag, s2vs, s2ps, s2e) // end of [S2Eexi] | S2Euni (s2vs, s2ps, s2e) => s2exp_subst_flag_exiuni (1(*uni*), sub, s2e0, flag, s2vs, s2ps, s2e) // end of [S2Euni] // | S2Evararg (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then s2exp_vararg (s2e) else s2e0 end // end of [S2Evararg] // | S2Ewthtype (s2e, ws2es) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) val ws2es = wths2explst_subst_flag (sub, ws2es, flag) in if flag > f0 then s2exp_wthtype (s2e, ws2es) else s2e0 end // end of [S2Ewth] // | S2Eerr ((*void*)) => s2e0 // end of [case] end // end of [s2exp_subst_flag] (* ****** ****** *) implement s2explst_subst_flag (sub, s2es0, flag) = case+ s2es0 of | list_cons (s2e, s2es) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) val s2es = s2explst_subst_flag (sub, s2es, flag) in if flag > f0 then list_cons (s2e, s2es) else s2es0 end (* end of [list_cons] *) | list_nil () => list_nil () // end of [s2explst_subst_flag] implement s2explstlst_subst_flag (sub, s2ess0, flag) = case+ s2ess0 of | list_cons (s2es, s2ess) => let val f0 = flag val s2es = s2explst_subst_flag (sub, s2es, flag) val s2ess = s2explstlst_subst_flag (sub, s2ess, flag) in if flag > f0 then list_cons (s2es, s2ess) else s2ess0 end // end of [list_cons] | list_nil () => list_nil () // end of [s2explstlst_subst_flag] (* ****** ****** *) implement labs2explst_subst_flag (sub, ls2es0, flag) = case+ ls2es0 of | list_cons (ls2e, ls2es) => let val SLABELED (l, name, s2e) = ls2e val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) val ls2es = labs2explst_subst_flag (sub, ls2es, flag) in if flag > f0 then let val ls2e = SLABELED (l, name, s2e) in list_cons (ls2e, ls2es) end else ls2es0 // end of [if] end // end of [LABS2EXPLSTcons] | list_nil ((*void*)) => list_nil () // end of [labs2explst_subst_flag] (* ****** ****** *) implement wths2explst_subst_flag (sub, ws2es0, flag) = case+ ws2es0 of | WTHS2EXPLSTnil () => WTHS2EXPLSTnil () | WTHS2EXPLSTcons_invar (knd, s2e, ws2es) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) val ws2es = wths2explst_subst_flag (sub, ws2es, flag) in if flag > f0 then WTHS2EXPLSTcons_invar (knd, s2e, ws2es) else ws2es0 // end of [if] end // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (knd, s2e, ws2es) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) val ws2es = wths2explst_subst_flag (sub, ws2es, flag) in if flag > f0 then WTHS2EXPLSTcons_trans (knd, s2e, ws2es) else ws2es0 // end of [if] end // end of [WTHS2EXPLSTcons_trans] | WTHS2EXPLSTcons_none (ws2es) => let val f0 = flag val ws2es = wths2explst_subst_flag (sub, ws2es, flag) in if flag > f0 then WTHS2EXPLSTcons_none (ws2es) else ws2es0 // end of [if] end // end of [WTHS2EXPLSTcons_none] // end of [wths2explst_subst_flag] (* ****** ****** *) implement s2lab_subst_flag (sub, s2l0, flag) = ( case+ s2l0 of | S2LABlab _ => s2l0 | S2LABind (s2es) => let val f0 = flag val s2es = s2explst_subst_flag (sub, s2es, flag) // end of [val] in if flag > f0 then S2LABind (s2es) else s2l0 end // end of [S2LABind] ) // end of [s2lab_subst_flag] implement s2lablst_subst_flag (sub, s2ls0, flag) = ( case+ s2ls0 of | list_cons (s2l, s2ls) => let val f0 = flag val s2l = s2lab_subst_flag (sub, s2l, flag) val s2ls = s2lablst_subst_flag (sub, s2ls, flag) in if flag > f0 then list_cons (s2l, s2ls) else s2ls0 end // end of [list_cons] | list_nil () => list_nil () ) // end of [s2lablst_subst_flag] (* ****** ****** *) implement s2eff_subst_flag (sub, s2fe0, flag) = ( case+ s2fe0 of | S2EFFset (efs) => s2fe0 | S2EFFexp (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then S2EFFexp (s2e) else s2fe0 end // end of [S2EFFexp] | S2EFFadd (s2fe1, s2fe2) => let val f0 = flag val s2fe1 = s2eff_subst_flag (sub, s2fe1, flag) val s2fe2 = s2eff_subst_flag (sub, s2fe2, flag) in if flag > f0 then S2EFFadd (s2fe1, s2fe2) else s2fe0 end // end of [S2EFFadd] ) // end of s2eff_subst_flag (* ****** ****** *) implement s2zexp_subst_flag (sub, s2ze0, flag) = let in // case+ s2ze0 of // | S2ZEprf _ => s2ze0 | S2ZEptr _ => s2ze0 // | S2ZEcst _ => s2ze0 // | S2ZEvar (s2v) => let val f0 = flag val ans = stasub_find (sub, s2v) in case+ ans of | ~Some_vt (s2e) => let val () = flag := f0 + 1 in s2zexp_make_s2exp (s2e) end // end of [Some_vt] | ~None_vt ((*void*)) => s2ze0 end // end of [S2ZEvar] // | S2ZEVar (s2V) => s2ze where { val f0 = flag val s2ze = s2Var_get_szexp (s2V) val s2ze = s2zexp_subst_flag (sub, s2ze, flag) val () = flag := f0 + 1 } (* end of [S2ZEVar] *) // | S2ZEextype _ => s2ze0 | S2ZEextkind _ => s2ze0 // | S2ZEapp (s2ze1, s2zes2) => let val f0 = flag val s2ze1 = s2zexp_subst_flag (sub, s2ze1, flag) val s2zes2 = s2zexplst_subst_flag (sub, s2zes2, flag) in if flag > f0 then S2ZEapp (s2ze1, s2zes2) else s2ze0 // end of [if] end // end of [S2ZEapp] // | S2ZEtyarr (s2ze_elt, s2es_dim) => let val f0 = flag val s2ze_elt = s2zexp_subst_flag (sub, s2ze_elt, flag) val s2es_dim = s2explst_subst_flag (sub, s2es_dim, flag) in if flag > f0 then S2ZEtyarr (s2ze_elt, s2es_dim) else s2ze0 // end of [if] end // end of [S2ZEtyarr] // | S2ZEtyrec (knd, ls2zes) => let val f0 = flag val ls2zes = labs2zexplst_subst_flag (sub, ls2zes, flag) // end of [val] in if flag > f0 then S2ZEtyrec (knd, ls2zes) else s2ze0 end // end of [S2ZEtyrec] // | S2ZEclo _ => s2ze0 // | S2ZEbot _ => s2ze0 // end // end of [s2zexp_subst_flag] (* ****** ****** *) implement s2zexplst_subst_flag (sub, s2zes0, flag) = case+ s2zes0 of | list_cons (s2ze, s2zes) => let val f0 = flag val s2e = s2zexp_subst_flag (sub, s2ze, flag) val s2es = s2zexplst_subst_flag (sub, s2zes, flag) in if flag > f0 then list_cons (s2ze, s2zes) else s2zes0 end (* end of [list_cons] *) | list_nil () => list_nil () // end of [s2zexplst_subst_flag] (* ****** ****** *) implement labs2zexplst_subst_flag (sub, ls2zes0, flag) = case+ ls2zes0 of | list_cons (ls2ze, ls2zes) => let val SZLABELED (l, s2ze) = ls2ze val f0 = flag val s2ze = s2zexp_subst_flag (sub, s2ze, flag) val ls2zes = labs2zexplst_subst_flag (sub, ls2zes, flag) in if flag > f0 then let val ls2ze = SZLABELED (l, s2ze) in list_cons (ls2ze, ls2zes) end else ls2zes0 // end of [if] end // end of [LABS2ZEXPLSTcons] | list_nil ((*void*)) => list_nil () // end of [labs2zexplst_subst_flag] (* ****** ****** *) implement s2exp_subst (sub, s2e) = let var flag: int = 0 in s2exp_subst_flag (sub, s2e, flag) end // end of [s2exp_subst] (* ****** ****** *) implement s2explst_subst (sub, s2es) = let var flag: int = 0 in s2explst_subst_flag (sub, s2es, flag) end // end of [s2explst_subst] implement s2explst_subst_vt (sub, s2es) = case+ s2es of | list_cons (s2e, s2es) => let val s2e = s2exp_subst (sub, s2e) val s2es = s2explst_subst_vt (sub, s2es) in list_vt_cons (s2e, s2es) end // end of [list_cons] | list_nil () => list_vt_nil () // end of [s2explst_subst_vt] implement s2explstlst_subst (sub, s2ess) = let var flag: int = 0 in s2explstlst_subst_flag (sub, s2ess, flag) end // end of [s2explstlst_subst] (* ****** ****** *) implement s2expopt_subst (sub, opt) = case+ opt of | Some s2e => let var flag: int = 0 val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > 0 then Some (s2e) else opt end // end of [Some] | None () => opt // end of [s2expopt_subst] (* ****** ****** *) implement s2exp_alpha (s2v, s2v_new, s2e) = let var sub = stasub_make_nil () val () = stasub_add (sub, s2v, s2exp_var (s2v_new)) val s2e_new = s2exp_subst (sub, s2e) val () = stasub_free (sub) in s2e_new end // end of [s2exp_alpha] implement s2explst_alpha (s2v, s2v_new, s2es) = let fun aux ( s2es0: s2explst ) : s2explst = case+ s2es0 of | list_cons (s2e, s2es) => let var flag: int = 0 extern castfn ptrof {a:type} (x: a):<> ptr val s2e_new = s2exp_alpha (s2v, s2v_new, s2e) val () = if ptrof(s2e) != ptrof(s2e_new) then flag := flag + 1 val s2es_new = aux (s2es) val () = if ptrof (s2es) != ptrof (s2es_new) then flag := flag + 1 in if flag > 0 then list_cons (s2e_new, s2es_new) else s2es0 end // end of [list_cons] | list_nil () => s2es0 // end of [aux] in aux (s2es) end // end of [s2explst_alpha] (* ****** ****** *) (* end of [pats_staexp2_util1.dats] *) ATS2-Postiats-0.2.6/./src/pats_error.sats0000664000175000017500000000404312655455557016602 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) exception FatalErrorExn of () exception FatalErrorExn_interr of () (* ****** ****** *) // // HX: // raising FatalErrorException // fun abort{a:viewt@ype}(): (a) // (* ****** ****** *) // // HX-2015-01-04: // raising FatalErrorException_interr // fun abort_interr{a:viewt@ype}(): (a) // (* ****** ****** *) // exception PATSOPT_FILENONE_EXN of (string) // (* ****** ****** *) // exception PATSOPT_FIXITY_EXN of () // (* ****** ****** *) // exception PATSOPT_TRANS1_EXN of () exception PATSOPT_TRANS2_EXN of () exception PATSOPT_TRANS3_EXN of () exception PATSOPT_TRANS4_EXN of () (* exception PATSOPT_TYPERASE_EXN of () *) // (* ****** ****** *) (* end of [pats_error.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_staexp.dats0000664000175000017500000006127112655455557020234 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_staexp" (* ****** ****** *) staload LOC = "./pats_location.sats" overload + with $LOC.location_combine staload SYM = "./pats_symbol.sats" // (* fun f (x: &int): void // read-only fun f (x: &?int): void // write-only fun f (x: &?!int): void // allowing both read and write *) macdef AMPERSAND = $SYM.symbol_AMPERSAND // & (r) macdef AMPERBANG = $SYM.symbol_AMPERBANG // &! (rw) macdef AMPERQMARK = $SYM.symbol_AMPERQMARK // &? (w) // macdef BACKSLASH = $SYM.symbol_BACKSLASH macdef BANG = $SYM.symbol_BANG macdef QMARK = $SYM.symbol_QMARK macdef QMARKBANG = $SYM.symbol_QMARKBANG macdef GTGT = $SYM.symbol_GTGT macdef MINUSGT = $SYM.symbol_MINUSGT // overload = with $SYM.eq_symbol_symbol // macdef fprint_symbol = $SYM.fprint_symbol // macdef symbol_get_name = $SYM.symbol_get_name // (* ****** ****** *) staload "./pats_effect.sats" staload "./pats_fixity.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" staload "./pats_e1xpval.sats" (* ****** ****** *) // macdef l2l(x) = list_of_list_vt(,(x)) macdef list_sing(x) = list_cons(,(x), list_nil()) // (* ****** ****** *) overload fprint with fprint_s0exp (* ****** ****** *) implement s0arg_tr (x) = let val res = s0rtopt_tr (x.s0arg_srt) in s1arg_make (x.s0arg_loc, x.s0arg_sym, res) end // end of [s0arg_tr] implement s0arglst_tr (xs) = l2l (list_map_fun (xs, s0arg_tr)) implement s0marg_tr (x) = let val loc = x.s0marg_loc val arg = s0arglst_tr (x.s0marg_arg) in s1marg_make (loc, arg) end // end of [s0marg_tr] implement s0marglst_tr (xss) = l2l (list_map_fun (xss, s0marg_tr)) (* ****** ****** *) implement s0vararg_tr (s0v) = case+ s0v of | S0VARARGseq (loc, s0as) => S1VARARGseq (loc, s0arglst_tr s0as) | S0VARARGone (tok) => S1VARARGone (tok.token_loc) | S0VARARGall (tok) => S1VARARGall (tok.token_loc) // end of [s0vararg_tr] implement s0vararglst_tr (s0vs) = l2l (list_map_fun (s0vs, s0vararg_tr)) (* ****** ****** *) // // HX: translation of static expressions // typedef s1expitm = fxitm (s1exp) typedef s1expitmlst = List s1expitm (* ****** ****** *) local fn appf ( _fun: s1exp, _arg: s1exp ) : s1expitm = let val loc_arg = _arg.s1exp_loc val loc = _fun.s1exp_loc + loc_arg val xs_arg = ( case+ _arg.s1exp_node of | S1Elist (npf, s1es) => s1es // HX: should npf <= 0 be enforced? | _ => list_sing (_arg) ) : s1explst // end of [val] val s1e_app = s1exp_app (loc, _fun, loc_arg, xs_arg) in FXITMatm (s1e_app) end // end of [appf] in (* in of [local] *) fn s1expitm_app (loc: location): s1expitm = fxitm_app (loc, appf) // end of [s1expitm_app] end // end of [local] fn s1exp_get_loc (x: s1exp): location = x.s1exp_loc fn s1exp_make_opr ( opr: s1exp, f: fxty ) : s1expitm = begin fxopr_make {s1exp} ( s1exp_get_loc , lam (loc, x, loc_arg, xs) => s1exp_app (loc, x, loc_arg, xs) , opr, f ) // end of [oper_make] end // end of [s1exp_make_opr] fn s1expitm_backslash (loc_opr: location) = begin fxopr_make_backslash {s1exp} ( lam x => x.s1exp_loc , lam (loc, x, loc_arg, xs) => s1exp_app (loc, x, loc_arg, xs) , loc_opr ) // end of [oper_make_backslash] end // end of [s1expitm_backslash] (* ****** ****** *) fn s0qua_tr (s0q: s0qua): s1qua = case+ s0q.s0qua_node of | S0QUAprop (s0p) => s1qua_prop (s0q.s0qua_loc, s0exp_tr s0p) | S0QUAvars ( id, ids, s0te ) => ( s1qua_vars (s0q.s0qua_loc, list_cons (id, ids), s0rtext_tr s0te) ) // end of [S0QUAvars] // end of [s0qua_tr] implement s0qualst_tr (xs) = l2l (list_map_fun (xs, s0qua_tr)) implement s0qualstlst_tr (xss) = l2l (list_map_fun (xss, s0qualst_tr)) (* ****** ****** *) local fn s0exp_tr_errmsg_opr (s0e0: s0exp): s1exp = let val loc0 = s0e0.s0exp_loc val () = prerr_error1_loc (loc0) val () = prerrln! (": the operator needs to be applied.") val () = the_trans1errlst_add (T1E_s0exp_tr(s0e0)) in s1exp_err (loc0) end // end of [s0exp_tr_errmsg_opr] fn aux_extarg (s0e: s0exp): s1explst = let val s1e = s0exp_tr (s0e) in case+ s1e.s1exp_node of | S1Elist (_(*npf*), s1es) => s1es | _ => list_sing (s1e) end // end of [aux_extarg] in (* in of [local] *) implement s0exp_tr s0e0 = let // #define :: list_cons // fun aux_item ( s0e0: s0exp ) : s1expitm = let // val loc0 = s0e0.s0exp_loc // in // case+ s0e0.s0exp_node of (* case+ *) // | S0Eide id when id = AMPERSAND => let fn f ( s1e: s1exp ) : s1expitm = let val loc = loc0 + s1e.s1exp_loc in FXITMatm (s1exp_invar (loc, 1(*ref:r*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (invar_prec_sta, f)) end // end of [S0Eide when ...] | S0Eide id when id = AMPERQMARK => let fn f ( s1e: s1exp ) : s1expitm = let val loc = loc0 + s1e.s1exp_loc in FXITMatm (s1exp_invar (loc, 2(*ref:w*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (invar_prec_sta, f)) end // end of [S0Eide when ...] | S0Eide id when id = AMPERBANG => let fn f ( s1e: s1exp ) : s1expitm = let val loc = loc0 + s1e.s1exp_loc in FXITMatm (s1exp_invar (loc, 3(*ref:rw*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (invar_prec_sta, f)) end // end of [S0Eide when ...] // | S0Eide id when id = BACKSLASH => s1expitm_backslash (loc0) // end of [BACKSLASH] // | S0Eide id when id = BANG => let fn f ( s1e: s1exp ) : s1expitm = let val loc = loc0 + s1e.s1exp_loc in FXITMatm (s1exp_invar (loc, 0(*val*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (invar_prec_sta, f)) end // end of [S0Eide when ...] // | S0Eide id when id = QMARK => let fn f ( s1e: s1exp ) : s1expitm = let val loc = s1e.s1exp_loc + loc0 in FXITMatm (s1exp_top (loc0, 0(*knd*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpos (qmark_prec_sta, f)) end // end of [S0Eide when ...] | S0Eide id when id = QMARKBANG => let fn f ( s1e: s1exp ) : s1expitm = let val loc = s1e.s1exp_loc + loc0 in FXITMatm (s1exp_top (loc0, 1(*knd*), s1e)) end // end of [f] in FXITMopr (loc0, FXOPRpos (qmarkbang_prec_sta, f)) end // end of [S0Eide when ...] // | S0Eide id when id = GTGT => let fn f ( s1e1: s1exp , s1e2: s1exp ) : s1expitm = let val loc = s1e1.s1exp_loc + s1e2.s1exp_loc in FXITMatm (s1exp_trans (loc, s1e1, s1e2)) end // end of [f] in FXITMopr (loc0, FXOPRinf (trans_prec_sta, ASSOCnon, f)) end // end of [S0Eide when ...] // | S0Eide (id) => let val s1e = s1exp_ide (loc0, id) // end of [val] in case+ the_fxtyenv_find id of | ~Some_vt f => s1exp_make_opr (s1e, f) | ~None_vt () => FXITMatm (s1e) // end of [case] end // end of [S0Eide] // | S0Eopid (id) => FXITMatm (s1exp_ide (loc0, id)) | S0Esqid (sq, id) => FXITMatm (s1exp_sqid (loc0, sq, id)) // | S0Eint (int) => FXITMatm (s1exp_i0nt (loc0, int)) | S0Echar (char) => FXITMatm (s1exp_c0har (loc0, char)) // | S0Efloat (ftok) => FXITMatm (s1exp_f0loat (loc0, ftok)) | S0Estring (stok) => FXITMatm (s1exp_s0tring (loc0, stok)) // | S0Eextype (name, s0es) => let val s1ess = list_map_fun (s0es, aux_extarg) in FXITMatm (s1exp_extype (loc0, name, (l2l)s1ess)) end // end of [S0Eextype] // | S0Eextkind (name, s0es) => let val s1ess = list_map_fun (s0es, aux_extarg) in FXITMatm (s1exp_extkind (loc0, name, (l2l)s1ess)) end // end of [S0Eextkind] // | S0Eapp _ => let val s1e_app = fixity_resolve ( loc0, s1exp_get_loc, s1expitm_app (loc0), aux_itemlst s0e0 ) // end of [val] in FXITMatm (s1e_app) end // end of [S0Eapp] | S0Elam (arg, res, body) => let val arg = s0marg_tr arg val res = s0rtopt_tr res val body = s0exp_tr body val s1e_lam = s1exp_lam (loc0, arg, res, body) (* val () = println! ("s0exp_tr: S0Elam: s1e_lam = ", s1e_lam) // end of [val] *) in FXITMatm (s1e_lam) end // end of [S0Elam] | S0Eimp tags => let val (ofc, lin, prf, efc) = e0fftaglst_tr (tags) val fc = (case+ ofc of | Some fc => fc | None => FUNCLOfun () // default is [function] ) : funclo // end of [val] (* val () = begin print "s0exp_tr: S0Eimp: efc = "; print_effcst efc; print_newline () end // end of [val] *) val-~Some_vt (f) = the_fxtyenv_find (MINUSGT) val s1e_imp = s1exp_imp (loc0, fc, lin, prf, Some efc) in s1exp_make_opr (s1e_imp, f) end // end of [S0Eimp] // | S0Elist (s0es) => let val s1es = s0explst_tr s0es in FXITMatm (s1exp_list (loc0, s1es)) end // end of [S0Elist] | S0Elist2 (s0es1, s0es2) => let val s1es1 = list_map_fun (s0es1, s0exp_tr) val s1es2 = list_map_fun (s0es2, s0exp_tr) in FXITMatm (s1exp_list2 (loc0, s1es1, s1es2)) end // end of [S0Elist2] // | S0Etyarr (s0e_elt, s0es_dim) => let val s1e_elt = s0exp_tr (s0e_elt) val s1es_dim = s0explst_tr (s0es_dim) in FXITMatm (s1exp_tyarr (loc0, s1e_elt, s1es_dim)) end // end of [S0Etyarr] | S0Etytup (knd, npf, s0es) => let val s1es = s0explst_tr (s0es) in FXITMatm (s1exp_tytup (loc0, knd, npf, s1es)) end // end of [S0Etytup] | S0Etyrec (knd, npf, ls0es) => let val ls1es = l2l (list_map_fun (ls0es, labs0exp_tr)) in FXITMatm (s1exp_tyrec (loc0, knd, npf, ls1es)) end // end of [S0Etyrec] | S0Etyrec_ext (name, npf, ls0es) => let val ls1es = l2l (list_map_fun (ls0es, labs0exp_tr)) in FXITMatm (s1exp_tyrec_ext (loc0, name, npf, ls1es)) end // end of [S0Etyrec] // | S0Euni (s0qs) => let val s1qs = s0qualst_tr s0qs fn f ( body: s1exp ) : s1expitm = let val loc = loc0 + body.s1exp_loc in FXITMatm (s1exp_uni (loc, s1qs, body)) end // end of [f] in FXITMopr (loc0, FXOPRpre (uni_prec_sta, f)) end // end of [S0Euni] | S0Eexi ( knd(*funres*), s0qs ) => let val s1qs = s0qualst_tr s0qs fn f ( body: s1exp ) : s1expitm = let val loc = loc0 + body.s1exp_loc in FXITMatm (s1exp_exi (loc0, knd, s1qs, body)) end // end of [f] in FXITMopr (loc0, FXOPRpre (exi_prec_sta, f)) end // end of [S0Eexi] // | S0Eann (s0e, s0t) => let val s1t = s0rt_tr (s0t) val s1e = s0exp_tr (s0e) in FXITMatm (s1exp_ann (loc0, s1e, s1t)) end // end of [S0Eann] // | S0Ed2ctype (d2ctp) => let val d2ctp = S0Ed2ctype_tr(d2ctp) in FXITMatm (s1exp_d2ctype(loc0, d2ctp)) end // end of [S0Ed2ctype] (* | _ (*rest-of-s0exp*) => let val () = fprintln! ( stdout_ref, "s0exp_tr: aux_item: s0e0 = ", s0e0 ) (* end of [fprintln!] *) val () = assertloc (false) in $ERR.abort_interr((*deadcode*)) end (* end of [_] *) *) // end // end of [aux_item] // and aux_itemlst (s0e0: s0exp): s1expitmlst = let fun loop (s0e0: s0exp, res: s1expitmlst): s1expitmlst = case+ s0e0.s0exp_node of | S0Eapp (s0e1, s0e2) => let val res = aux_item s0e2 :: res in loop (s0e1, res) end // end of [S0Eapp] | _ => aux_item s0e0 :: res // end of [loop] in loop (s0e0, list_nil ()) end // end of [aux_itemlist] // in // case+ aux_item (s0e0) of | FXITMatm (s1e) => s1e | FXITMopr _ => s0exp_tr_errmsg_opr (s0e0) // end // end of [s0exp_tr] end // end of [local] (* ****** ****** *) implement s0explst_tr (xs) = l2l (list_map_fun (xs, s0exp_tr)) implement s0expopt_tr (opt) = case+ opt of | Some x => Some (s0exp_tr (x)) | None () => None () // end of [s0expopt_tr] (* ****** ****** *) implement labs0exp_tr (x) = let val+SL0ABELED (l, name, s0e) = x in labs1exp_make (l, name, s0exp_tr (s0e)) end // end of [labs0exp_tr] (* ****** ****** *) implement s0rtext_tr (s0te) = let val loc = s0te.s0rtext_loc in // case+ s0te.s0rtext_node of | S0TEsrt s0t => s1rtext_srt (loc, s0rt_tr s0t) | S0TEsub (id, s0te, s0p, s0ps) => let val s1te = s0rtext_tr s0te val s1p = s0exp_tr s0p and s1ps = s0explst_tr s0ps in s1rtext_sub (loc, id.i0de_sym, s1te, list_cons (s1p, s1ps)) end // end // end of [s0rtext_tr] (* ****** ****** *) implement witht0ype_tr (x) = case+ x of | WITHT0YPEsome (knd, s0e) => WITHT1YPEsome (knd, s0exp_tr (s0e)) | WITHT0YPEnone () => WITHT1YPEnone () // end of [witht0ype_tr] (* ****** ****** *) implement q0marg_tr (x) = q1marg_make (x.q0marg_loc, s0qualst_tr (x.q0marg_arg)) // end of [q0marg_tr] implement q0marglst_tr (xs) = l2l (list_map_fun (xs, q0marg_tr)) (* ****** ****** *) implement i0mparg_tr (x) = case+ x of | I0MPARG_sarglst (s0as) => i1mparg_sarglst (s0arglst_tr s0as) | I0MPARG_svararglst (s0vs) => i1mparg_svararglst (s0vararglst_tr s0vs) // end of [i0mparg_tr] (* ****** ****** *) implement t0mpmarg_tr (x) = t1mpmarg_make (x.t0mpmarg_loc, s0explst_tr (x.t0mpmarg_arg)) // end of [t0mpmarg_tr] (* ****** ****** *) implement a0typ_tr (x) = s0exp_tr (x.a0typ_typ) implement a0typlst_tr (xs) = l2l (list_map_fun (xs, a0typ_tr)) (* ****** ****** *) implement sp0at_tr (sp0t) = ( case+ sp0t.sp0at_node of | SP0Tcstr (qid, s0as) => let val s1as = s0arglst_tr s0as in sp1at_cstr (sp0t.sp0at_loc, qid.sqi0de_qua, qid.sqi0de_sym, s1as) end // end of [SP0Tcon] ) // end of [sp0at_tr] (* ****** ****** *) implement s0exparg_tr (loc, s0a) = case+ s0a of | S0EXPARGone () => s1exparg_one (loc) | S0EXPARGall () => s1exparg_all (loc) | S0EXPARGseq (s0as) => s1exparg_seq (loc, s0explst_tr s0as) // end of [s0exparg_tr] (* ****** ****** *) // // HX: two or more groups of static arguments are merged into one // implement m0acarglst_tr (m0as) = let in // case+ m0as of | list_cons (m0a, m0as) => let val loc = m0a.m0acarg_loc val m1a = ( case+ m0a.m0acarg_node of | M0ACARGdyn (ids) => m1acarg_make_dyn (loc, ids) | M0ACARGsta (s0as) => let val s1as = s0arglst_tr (s0as) in m1acarg_make_sta (loc, s1as) end // end of [M0ACARGsta] ) : m1acarg // end of [val] val m1as = m0acarglst_tr (m0as) in case+ m1a.m1acarg_node of | M1ACARGdyn _ => list_cons (m1a, m1as) | M1ACARGsta (s1as) => ( case+ m1as of | list_cons (m1a2, m1as2) => ( case+ m1a2.m1acarg_node of | M1ACARGsta (s1as2) => let val s1as = list_append (s1as, s1as2) val loc = $LOC.location_combine (loc, m1a2.m1acarg_loc) val m1a = m1acarg_make_sta (loc, s1as) in list_cons (m1a, m1as2) end // end of [M1ACARGsta] | _ => list_cons (m1a, m1as) ) // end of [list_cons] | list_nil () => list_sing (m1a) ) end // end of [list_cons] | list_nil () => list_nil () // end // end of [m0acarglst_tr] (* ****** ****** *) implement d0atcon_tr (d0c) = let // val sym = d0c.d0atcon_sym val qua = d0c.d0atcon_qua val qua = q0marglst_tr (qua) (* val () = ( print "d0atcon_tr: id = "; fprint_symbol (stdout_ref, sym); print_newline (); print "d0atcon_tr: qua = "; fprint_q1marglst (stdout_ref, qua); print_newline (); ) (* end of [val] *) *) var npf0: int = ~1 // HX: default val arg = ( case+ d0c.d0atcon_arg of | Some s0e => let val s1e = s0exp_tr s0e in case+ s1e.s1exp_node of | S1Elist (npf, s1es) => (npf0 := npf; s1es) | _ => list_cons (s1e, list_nil ()) end // end of [Some] | None () => list_nil () ) : s1explst // val ind = d0c.d0atcon_ind val ind = ( case+ ind of | Some s0e => let val s1es = ( case+ s0e.s0exp_node of | S0Elist (s0es) => s0explst_tr (s0es) | _(*non-S0Elist*) => let val () = prerr_interror () val () = prerrln! (": d0atcon_tr: index is required to be a list.") in $ERR.abort_interr{s1explst}((*reachable*)) end // end of [_] ) : s1explst // end of [val] in Some s1es end // end of [Some] | None () => None () // end of [None] ) : s1explstopt // end of [val] // in d1atcon_make (d0c.d0atcon_loc, sym, qua, npf0, arg, ind) end // end of [d0atcon_tr] (* ****** ****** *) // extern fun proc_extdef ( d0c: d0cstdec, sym: symbol, ext: string ) : string // end of [proc_extdef] // (* ****** ****** *) local staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" fun extprfx_add ( d0c: d0cstdec , sym: symbol, pext: Ptr1 ) : string = let // val ext2 = $UN.cast{string}(pext+1) val ext2 = ( if string_is_empty(ext2) then symbol_get_name (sym) else ext2 // end of [if] ) : string // end of [val] // val opt = the_EXTERN_PREFIX_get() // end of [val] val issome = stropt_is_some(opt) // in // if issome then let val prfx = stropt_unsome(opt) val prfxext2 = sprintf ("%s%s", @(prfx, ext2)) // end of [val] in string_of_strptr(prfxext2) end // end of [then] else let (* // HX-2015-05: // Should a warning/error be reported? *) val prfxext2 = sprintf ("__ATS_EXTERN_PREFIX__%s", @(ext2)) // end of [val] in string_of_strptr(prfxext2) end // end of [else] // end // end of [extprfx_add] in (* in of [local] *) implement proc_extdef (d0c, sym, ext) = let // #define NUL '\000' // fun isemp (p: Ptr1): bool = $UN.ptrget (p) = NUL fun isperc (p: Ptr1): bool = $UN.ptrget (p) = '%' // val pext = $UN.cast2Ptr1 (ext) // in // case+ 0 of | _ when isemp (pext) => symbol_get_name (sym) | _ when isperc (pext) => extprfx_add (d0c, sym, pext) | _ (*non-special*) => ext // HX: no processing // end // end of [proc_extdef] end // end of [local] (* ****** ****** *) local // extern fun ismac (ext: string, ext_new: &string): bool = "patsopt_extnam_ismac" extern fun issta (ext: string, ext_new: &string): bool = "patsopt_extnam_issta" extern fun isext (ext: string, ext_new: &string): bool = "patsopt_extnam_isext" // in (* in of [local] *) implement dcstextdef_tr (d0c, sym, extopt) = let // (* // val () = print ("dcstextdef_tr: sym = ...") val () = print ("dcstextdef_tr: extopt = ...") // *) // macdef f (x) = proc_extdef (d0c, sym, ,(x)) // in // case+ extopt of // | None () => DCSTEXTDEFnone (1) // extern // | Some (s0) => let val-$LEX.T_STRING (ext) = s0.token_node var ext2: string = (ext) // removing mac#, ext#, sta# in case+ 0 of | _ when ismac (ext, ext2) => DCSTEXTDEFsome_mac (f(ext2)) | _ when issta (ext, ext2) => DCSTEXTDEFsome_sta (f(ext2)) | _ when isext (ext, ext2) => DCSTEXTDEFsome_ext (f(ext2)) | _ => DCSTEXTDEFsome_ext (f(ext2)) // no (recognized) prefix end // end of [_ when ...] // end // end of [dcstextdef_tr] end // end of [local] (* ****** ****** *) local // // defining [d0cstdec_tr] // #define nil list_nil #define :: list_cons // fun aux1 ( d0c: d0cstdec , fc: funclo, lin: int, prf: int , efcopt: effcstopt , fst: int, lst: &int , xs: d0cstarglst , s1e_res: s1exp ) : s1exp = begin case+ xs of | x :: xs => begin case+ x.d0cstarg_node of | D0CSTARGdyn (npf, ys) => let val loc_x = x.d0cstarg_loc val s1e_arg = s1exp_npf_list (loc_x, npf, a0typlst_tr ys) val s1e_res = aux1 (d0c, fc, lin, prf, efcopt, fst+1, lst, xs, s1e_res) val loc_res = s1e_res.s1exp_loc val loc = loc_x + loc_res val fc = (if fst > 0 then FUNCLOcloref else fc): funclo val imp = ( if lst > 0 then begin s1exp_imp (loc_res, fc, 0, 0, None ()) end else begin s1exp_imp (loc_res, fc, lin, prf, efcopt) end // end of [if] ) : s1exp // end of [val] val () = lst := lst + 1 in s1exp_app (loc, imp, loc, s1e_arg :: s1e_res :: nil ()) end // end of [D0CSTARGdyn2] | D0CSTARGsta (s0qs) => let val loc_x = x.d0cstarg_loc val s1qs = s0qualst_tr s0qs val s1e_res = aux1 (d0c, fc, lin, prf, efcopt, fst, lst, xs, s1e_res) val loc_res = s1e_res.s1exp_loc val loc = loc_x + loc_res // var err: int = 0 val () = (case+ efcopt of | Some _ => if lst = 0 then (err := err + 1) | None _ => () ) : void // end of [val] val () = if err > 0 then let val () = prerr_error1_loc (loc) val () = prerrln! (": illegal use of effect annotation") val () = the_trans1errlst_add (T1E_d0cstdec_tr(d0c)) in // nothing end // end of [val] // in s1exp_uni (loc, s1qs, s1e_res) end (* end of [D0CSTARGsta] *) end (* end of [::] *) | nil () => s1e_res // end of [nil] end // end of [aux1] // fun aux2 .<>. ( d0c: d0cstdec , isfun: bool , isprf: bool , xs: d0cstarglst , otags: Option e0fftaglst , s1e_res: s1exp ) : s1exp = let var fc: funclo = FUNCLOfun () var lin: int = 0 and prf: int = (if isprf then 1 else 0): int var efcopt: effcstopt = None () val () = case+ otags of | Some tags => let val (ofc1, lin1, prf1, efc1) = e0fftaglst_tr (tags) val () = case+ ofc1 of | Some fc1 => fc := fc1 | None () => () // end of [val] in lin := lin1; prf := prf + prf1; efcopt := Some efc1 end // end of [Some] | None () => () // end of [None] // end of [val] val () = (case+ fc of | FUNCLOclo knd => begin if knd <> CLOREF then let // val loc0 = d0c.d0cstdec_loc val () = prerr_error1_loc (loc0) val () = if knd = 0 then { val () = prerr ": a closure struct is not allowed at the toplevel." } // end of [val] val () = if knd = 1 then { val () = prerr ": a closure pointer is not allowed at the toplevel." } // end of [val] val () = prerr_newline () val () = the_trans1errlst_add (T1E_d0cstdec_tr (d0c)) // in // nothing end // end of [if] end // end of [FUNCLOclo] | FUNCLOfun ((*void*)) => () // end of [FUNCLOfun] ) : void // end of [val] var lst: int = 0 in aux1 (d0c, fc, lin, prf, efcopt, 0, lst, xs, s1e_res) end // end of [aux2] // fn d0cstdec_tr ( isfun: bool, isprf: bool, d0c: d0cstdec ) : d1cstdec = let val loc = d0c.d0cstdec_loc // // HX; [fil] should be the includer instead of includee // val sym = d0c.d0cstdec_sym val fil = $FIL.filename_get_current () val s1e_res = s0exp_tr d0c.d0cstdec_res val arg = d0c.d0cstdec_arg and eff = d0c.d0cstdec_eff val s1e = aux2 (d0c, isfun, isprf, arg, eff, s1e_res) val extdef = dcstextdef_tr (d0c, sym, d0c.d0cstdec_extopt) in d1cstdec_make (loc, fil, sym, s1e, extdef) end // end of [d0cstdec_tr] // in (* in of [local] *) implement d0cstdeclst_tr ( isfun, isprf, ds ) = case+ ds of | list_cons (d, ds) => let val d = d0cstdec_tr (isfun, isprf, d) val ds = d0cstdeclst_tr (isfun, isprf, ds) in list_cons (d, ds) end // end of [list_cons] | list_nil () => list_nil () // end of [d0cstdeclst_tr] end // end of [local] (* ****** ****** *) (* end of [pats_trans1_staexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_typerase_dynexp.dats0000664000175000017500000007215512655455557020666 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_typerase_dynexp" // (* ****** ****** *) staload LAB = "./pats_label.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location overload print with $LOC.print_location (* ****** ****** *) staload SYM = "./pats_symbol.sats" overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload S2UT = "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_typerase.sats" (* ****** ****** *) implement labhipatlst_get_type (lxs) = let // fun f ( lx: labhipat ) : labhisexp = let val LABHIPAT (l, x) = lx in HSLABELED (l, None(*name*), x.hipat_type) end // end of [f] // val lhses = list_map_fun (lxs, f) // in list_of_list_vt (lhses) end // end of [labhipatlst_get_type] implement labhidexplst_get_type (lxs) = let // fun f ( lx: labhidexp ) : labhisexp = let val LABHIDEXP (l, x) = lx in HSLABELED (l, None(*name*), x.hidexp_type) end // end of [f] // val lhses = list_map_fun (lxs, f) // in list_of_list_vt (lhses) end // end of [labhidexplst_get_type] (* ****** ****** *) // extern fun p3at_tyer_con ( loc0: location, hse0: hisexp , pck: pckind, d2c: d2con, npf: int, p3ts: p3atlst ) : hipat // end of [p3at_tyer_con] // extern fun p3atlst_npf_tyer (npf: int, p3ts: p3atlst): hipatlst extern fun p3atlst_npf_tyer_labize (npf: int, p3ts: p3atlst): labhipatlst extern fun labp3atlst_npf_tyer (npf: int, lp3ts: labp3atlst): labhipatlst // (* ****** ****** *) implement d2var_tyer (d2v) = let // typedef hisexp0 = dynexp2_hisexp_type val opt = d2var_get_mastype (d2v) // in // case+ opt of | Some (s2e) => let val loc = d2var_get_loc (d2v) val hse = s2exp_tyer_deep (loc, s2e) val ((*void*)) = d2var_set2_hisexp (d2v, Some (hse)) in d2v end (* end of [Some] *) | None ((*void*)) => d2v // end // end of [d2var_tyer] (* ****** ****** *) implement d2cst_tyer (d2c) = let // val opt = d2cst_get2_hisexp (d2c) // in // case+ opt of | Some _ => d2c | None _ => d2c where { val loc = d2cst_get_loc (d2c) val s2e = d2cst_get_type (d2c) val hse = s2exp_tyer_deep (loc, s2e) val ((*void*)) = d2cst_set2_hisexp (d2c, Some (hse)) } (* end of [None] *) // end // end of [d2cst_tyer] (* ****** ****** *) implement p3at_tyer (p3t0) = let // val loc0 = p3t0.p3at_loc val s2e0 = p3at_get_type (p3t0) val hse0 = s2exp_tyer_shallow (loc0, s2e0) // (* val () = println! ("p3at_tyer: p3t0 = ", p3t0) val () = println! ("p3at_tyer: s2e0 = ", s2e0) val () = println! ("p3at_tyer: hse0 = ", hse0) *) // in // case+ p3t0.p3at_node of // | P3Tany (d2v) => let val d2v = d2var_tyer (d2v) in hipat_any (loc0, hse0, d2v) end (* end of [P3Tvar] *) | P3Tvar (d2v) => let val d2v = d2var_tyer (d2v) in hipat_var (loc0, hse0, d2v) end (* end of [P3Tvar] *) // | P3Tcon ( pck, d2c, npf, p3ts ) => p3at_tyer_con (loc0, hse0, pck, d2c, npf, p3ts) // | P3Tint (i) => hipat_int (loc0, hse0, i) | P3Tintrep (rep) => hipat_intrep (loc0, hse0, rep) // | P3Tbool (b) => hipat_bool (loc0, hse0, b) | P3Tchar (c) => hipat_char (loc0, hse0, c) | P3Tstring (str) => hipat_string (loc0, hse0, str) // | P3Ti0nt (tok) => hipat_i0nt (loc0, hse0, tok) | P3Tf0loat (tok) => hipat_f0loat (loc0, hse0, tok) // | P3Tempty () => hipat_empty (loc0, hse0) // | P3Tlst ( lin, s2e_elt, p3ts ) => let val hse_elt = s2exp_tyer_shallow (loc0, s2e_elt) val hips = p3atlst_tyer (p3ts) in hipat_lst (loc0, lin, hse0, hse_elt, hips) end // end of [P3Tlst] // | P3Trec ( knd, npf, lp3ts ) => let val lhips = labp3atlst_npf_tyer (npf, lp3ts) // end of [val] val lhses = labhipatlst_get_type (lhips) val recknd = ( if knd > 0 then TYRECKINDbox() else TYRECKINDflt0() ) : tyreckind // end of [val] val hse_rec = hisexp_tyrec2 (recknd, lhses) in hipat_rec2 (loc0, hse0, knd, lhips, hse_rec) end // end of [P3Trec] // | P3Trefas (d2v, p3t_as) => let val d2v = d2var_tyer (d2v) val hip_as = p3at_tyer (p3t_as) in hipat_refas (loc0, hse0, d2v, hip_as) end // end of [P3Trefas] // | P3Texist (s2vs, p3t_scoop) => p3at_tyer (p3t_scoop) // | P3Tann (p3t, s2e_ann) => let val hip = p3at_tyer (p3t) val hse_ann = s2exp_tyer_shallow (loc0, s2e_ann) in hipat_ann (loc0, hse0, hip, hse_ann) end // end of [P3Tann] // | _ => let val () = println! ("p3at_tyer: loc0 = ", loc0) val () = println! ("p3at_tyer: p3t0 = ", p3t0) in exitloc (1) end // end of [_] // end // endof [p3at_tyer] (* ****** ****** *) local fun auxerr_if (p3t: p3at): void = let // val isful = p3at_is_full(p3t) // in // if not(isful) then let // val () = prerr_ERROR_beg() // val () = prerr_error4_loc(p3t.p3at_loc) val () = prerrln! ( ": partial proof pattern [", p3t, "] is not allowed for erasure." ) (* end of [val] *) // val () = prerr_ERROR_end() // in the_trans4errlst_add(T4E_p3at_tyer_isprf(p3t)) end // end of [then] // end // end of [auxerr_if] in (* in-of-local *) implement p3atlst_tyer (p3ts) = let in // case+ p3ts of // | list_nil() => list_nil () // | list_cons (p3t, p3ts) => let // val isprf = p3at_is_prf(p3t) // in if isprf then let val () = auxerr_if(p3t) in p3atlst_tyer(p3ts) end // end of [then] else let val hip = p3at_tyer(p3t) val hips = p3atlst_tyer(p3ts) in list_cons(hip, hips) end // end of [else] // end of [if] end // end of [list_cons] // end // end of [p3atlst_tyer] (* ****** ****** *) implement p3atlst_tyer2 (d3es, p3ts) = let in // case+ p3ts of // | list_nil() => list_nil () // | list_cons (p3t, p3ts) => let // val- list_cons(d3e, d3es) = d3es val isprf = p3at_is_prf(p3t) val isprf = ( if isprf then true else d3exp_is_prf(d3e) ) : bool // end of [val] // in if isprf then let val () = auxerr_if(p3t) in p3atlst_tyer2(d3es, p3ts) end // end of [then] else let val hip = p3at_tyer(p3t) val hips = p3atlst_tyer2(d3es, p3ts) in list_cons(hip, hips) // end of [val] end // end of [else] // end of [if] end // end of [list_cons] // end // end of [p3atlst_tyer2] end // end of [local] (* ****** ****** *) implement p3atlst_npf_tyer (npf, p3ts) = let in if npf > 0 then let val- list_cons (_, p3ts) = p3ts in p3atlst_npf_tyer (npf-1, p3ts) end else p3atlst_tyer (p3ts) // end of [if] end // end of [p3atlst_npf_tyer] (* ****** ****** *) implement p3atlst_npf_tyer_labize (npf, p3ts) = let // fun auxlst ( npf: int, p3ts: p3atlst, i: int ) : labhipatlst = let in // if npf > 0 then let val-list_cons (_, p3ts) = p3ts in auxlst (npf-1, p3ts, i+1) end else ( // HX-2013-01: npf <= 0 // case+ p3ts of | list_cons (p3t, p3ts) => let val isprf = p3at_is_prf (p3t) in if isprf then auxlst (npf, p3ts, i+1) else let val lab = $LAB.label_make_int (i) val hip = p3at_tyer (p3t) val lhip = LABHIPAT (lab, hip) val lhips = auxlst (npf, p3ts, i+1) in list_cons (lhip, lhips) end // end of [if] end // end of [list_cons] | list_nil () => list_nil () // ) // end of [if] // end // end of [auxlst] // in auxlst (npf, p3ts, 0) end // end of [p3atlst_npf_tyer_labize] (* ****** ****** *) // extern fun labp3atlst_tyer (lxs: labp3atlst): labhipatlst // implement labp3atlst_tyer (lxs) = let in // case+ lxs of // | list_cons (lx, lxs) => let val+LABP3AT(l, x) = lx in if p3at_is_prf(x) then labp3atlst_tyer (lxs) else let val hip = p3at_tyer (x) val lhip = LABHIPAT (l, hip) in list_cons (lhip, labp3atlst_tyer (lxs)) end // end of [else] // end of [if] end // end of [list_cons] // | list_nil () => list_nil () // end // end of [labp3atlst_tyer] (* ****** ****** *) implement labp3atlst_npf_tyer (npf, lp3ts) = let in // if npf > 0 then let // val-list_cons (_, lp3ts) = lp3ts // in // labp3atlst_npf_tyer (npf-1, lp3ts) // end // end of [then] else labp3atlst_tyer (lp3ts) // [else] // end // end of [labp3atlst_npf_tyer] (* ****** ****** *) implement p3at_tyer_con ( loc0, hse0, pck, d2c, npf, p3ts ) = let // val lhips = p3atlst_npf_tyer_labize (npf, p3ts) // end of [val] val test = labhipatlst_is_unused (lhips) // in // case+ 0 of // | _ when test => hipat_con_any(loc0, hse0, pck, d2c) // | _ (*not-unused*) => let val lhses = labhipatlst_get_type (lhips) // end of [val] val hse_sum = hisexp_tysum (d2c, lhses) in hipat_con (loc0, hse0, pck, d2c, hse_sum, lhips) end // end of [_] // end // end of [p3at_tyer_con] (* ****** ****** *) // extern fun gm3at_tyer(gm3t: gm3at): higmat and gm3atlst_tyer(gm3ts: gm3atlst): higmatlst // extern fun c3lau_tyer(c3l: c3lau): hiclau and c3laulst_tyer(c3ls: c3laulst): hiclaulst // extern fun c3lau_tyer2 (d3es: d3explst, c3l: c3lau): hiclau and c3laulst_tyer2 (d3es: d3explst, c3ls: c3laulst): hiclaulst // (* ****** ****** *) extern fun d3exp_tyer_cst (loc0: location, hse0: hisexp, d2c: d2cst): hidexp // end of [d3exp_tyer_cst] extern fun d3exp_tyer_tmpcst ( loc0: location , hse0: hisexp, d2c: d2cst, t2mas: t2mpmarglst ) : hidexp // end of [d3exp_tyer_tmpcst] extern fun d3exp_tyer_tmpvar ( loc0: location , hse0: hisexp, d2v: d2var, t2mas: t2mpmarglst ) : hidexp // end of [d3exp_tyer_tmpvar] (* ****** ****** *) // extern fun d3explst_npf_tyer (npf: int, d3es: d3explst): hidexplst extern fun d3explst_npf_tyer_labize (npf: int, d3es: d3explst): labhidexplst extern fun labd3explst_npf_tyer (npf: int, ld3es: labd3explst): labhidexplst // (* ****** ****** *) // fun d3exp_tyer_type (d3e: d3exp): hisexp = let // val loc = d3e.d3exp_loc val s2e = d3exp_get_type (d3e) // in s2exp_tyer_deep (loc, s2e) end // end of [d3exp_tyer_type] // (* ****** ****** *) implement d3exp_tyer (d3e0) = let // val loc0 = d3e0.d3exp_loc // (* val () = println! ("d3exp_tyer: d3e0 = ", d3e0) *) // val s2e0 = d3exp_get_type (d3e0) val hse0 = s2exp_tyer_shallow (loc0, s2e0) // in // case+ d3e0.d3exp_node of // | D3Evar (d2v) => let val () = d2var_inc_utimes (d2v) // end of [val] in hidexp_var (loc0, hse0, d2v) end // end of [D3Evar] // | D3Ecst (d2c) => d3exp_tyer_cst (loc0, hse0, d2c) // end of [D3Ecst] // | D3Eint (i) => hidexp_int (loc0, hse0, i) | D3Eintrep (rep) => hidexp_intrep (loc0, hse0, rep) | D3Ebool (b) => hidexp_bool (loc0, hse0, b) | D3Echar (c) => hidexp_char (loc0, hse0, c) | D3Estring (str) => hidexp_string (loc0, hse0, str) // | D3Ei0nt (tok) => hidexp_i0nt (loc0, hse0, tok) | D3Ef0loat (tok) => hidexp_f0loat (loc0, hse0, tok) // | D3Efloat (rep) => hidexp_float (loc0, hse0, rep) // | D3Ecstsp (x) => hidexp_cstsp (loc0, hse0, x) // | D3Etop () => hidexp_top (loc0, hse0) | D3Eempty () => hidexp_empty (loc0, hse0) // | D3Eextval (name) => hidexp_extval (loc0, hse0, name) | D3Eextfcall (_fun, _arg) => let val _arg = d3explst_tyer (_arg) in hidexp_extfcall (loc0, hse0, _fun, _arg) end // end of [D3Eextfcall] | D3Eextmcall (_obj, _mtd, _arg) => let val _obj = d3exp_tyer (_obj) val _arg = d3explst_tyer (_arg) in hidexp_extmcall (loc0, hse0, _obj, _mtd, _arg) end // end of [D3Eextmcall] // | D3Econ ( d2c, npf, d3es ) => let val lhdes = d3explst_npf_tyer_labize (npf, d3es) // end of [val] val lhses = labhidexplst_get_type (lhdes) val hse_sum = hisexp_tysum (d2c, lhses) in hidexp_con (loc0, hse0, d2c, hse_sum, lhdes) end // end of [D3Econ] // | D3Etmpcst(d2c, t2mas) => d3exp_tyer_tmpcst (loc0, hse0, d2c, t2mas) | D3Etmpvar(d2v, t2mas) => d3exp_tyer_tmpvar (loc0, hse0, d2v, t2mas) // | D3Efoldat _ => hidexp_foldat (loc0, hse0) // end of [D3Efoldat] | D3Efreeat (d3e) => let val hde = d3exp_tyer (d3e) in hidexp_freeat (loc0, hse0, hde) end // end of [D3Efreeat] // | D3Elet ( d3cs, d3e_scope ) => let val hids = d3eclist_tyer (d3cs) val hde_scope = d3exp_tyer (d3e_scope) in hidexp_let_simplify (loc0, hse0, hids, hde_scope) end // end of [D3Elet] // | D3Eapp_dyn ( d3e_fun, npf, d3es_arg ) => let val s2e_fun = d3exp_get_type (d3e_fun) val hse_fun = s2exp_tyer_deep (loc0, s2e_fun) val hde_fun = d3exp_tyer (d3e_fun) val hdes_arg = d3explst_npf_tyer (npf, d3es_arg) in hidexp_app2 (loc0, hse0, hse_fun, hde_fun, hdes_arg) end // end of [D3Eapp_dyn] | D3Eapp_sta (d3e) => d3exp_tyer (d3e) // | D3Eif ( _cond, _then, _else ) => let val hde_cond = d3exp_tyer (_cond) val hde_then = d3exp_tyer (_then) val hde_else = d3exp_tyer (_else) in hidexp_if (loc0, hse0, hde_cond, hde_then, hde_else) end // end of [D3Eif] | D3Esif ( s2e_cond, _then, _else ) => let val hde_then = d3exp_tyer (_then) val hde_else = d3exp_tyer (_else) in hidexp_sif (loc0, hse0, s2e_cond, hde_then, hde_else) end // end of [D3Esif] // | D3Ecase ( knd, d3es, c3ls ) => let val hdes = d3explst_tyer(d3es) val hcls = c3laulst_tyer2(d3es, c3ls) in hidexp_case (loc0, hse0, knd, hdes, hcls) end // end of [D3Ecase] // | D3Elst ( lin, s2e_elt, d3es ) => let val hse_elt = s2exp_tyer_shallow (loc0, s2e_elt) val hdes = list_map_fun (d3es, d3exp_tyer) val hdes = list_of_list_vt (hdes) in hidexp_lst (loc0, hse0, lin, hse_elt, hdes) end // end of [D3Elst] | D3Etup ( knd, npf, d3es ) => let val hse_rec = s2exp_tyer_deep (loc0, s2e0) // end of [val] val lhdes = d3explst_npf_tyer_labize (npf, d3es) // end of [val] in hidexp_rec2 (loc0, hse0, knd, lhdes, hse_rec) end // end of [D3Etup] // | D3Erec ( knd, npf, ld3es ) => let val hse_rec = s2exp_tyer_deep (loc0, s2e0) // end of [val] val lhdes = labd3explst_npf_tyer (npf, ld3es) in hidexp_rec2 (loc0, hse0, knd, lhdes, hse_rec) end // end of [D3Erec] // | D3Eseq (d3es) => let val hdes = list_map_fun (d3es, d3exp_tyer) val hdes = list_of_list_vt (hdes) in hidexp_seq (loc0, hse0, hdes) end // end of [D3Eseq] // | D3Eselab (d3e, d3ls) => let val hde = d3exp_tyer (d3e) val hse_flt = d3exp_tyer_type (d3e) val hils = d3lablst_tyer (d3ls) in hidexp_selab (loc0, hse0, hde, hse_flt, hils) end // end of [D3Eselab] // | D3Eptrofvar (d2v) => let val () = d2var_inc_utimes (d2v) in hidexp_ptrofvar (loc0, hse0, d2v) end // end of [D3Eptrofvar] | D3Eptrofsel (d3e, s2rt, d3ls) => let val hde = d3exp_tyer (d3e) val hse_rt = s2exp_tyer_shallow (loc0, s2rt) val hils = d3lablst_tyer (d3ls) in hidexp_ptrofsel (loc0, hse0, hde, hse_rt, hils) end // end of [D3Eptrofsel] // | D3Erefarg ( refval, freeknd, d3e ) => let val hde = d3exp_tyer (d3e) in hidexp_refarg (loc0, hse0, refval, freeknd, hde) end // end of [D3Erefarg] // | D3Esel_var (d2v, s2rt, d3ls) => let val () = d2var_inc_utimes (d2v) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) in hidexp_selvar (loc0, hse0, d2v, hse_rt, hils) end // end of [D3Esel_var] | D3Esel_ptr (d3e, s2rt, d3ls) => let val hde = d3exp_tyer (d3e) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) in hidexp_selptr (loc0, hse0, hde, hse_rt, hils) end // end of [D3Esel_ptr] | D3Esel_ref (d3e, s2rt, d3ls) => let val hde = d3exp_tyer (d3e) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) in hidexp_selptr (loc0, hse0, hde, hse_rt, hils) end // end of [D3Esel_ref] // | D3Eassgn_var (_, _, _, d3e_r) when d3exp_is_prf (d3e_r) => hidexp_empty (loc0, hse0) | D3Eassgn_var ( d2v_l, s2rt, d3ls, d3e_r ) => let val () = d2var_inc_utimes (d2v_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_assgn_var (loc0, hse0, d2v_l, hse_rt, hils, hde_r) end // end of [D3Eassgn_var] // | D3Eassgn_ptr (_, _, _, d3e_r) when d3exp_is_prf (d3e_r) => hidexp_empty (loc0, hse0) | D3Eassgn_ptr ( d3e_l, s2rt, d3ls, d3e_r ) => let val hde_l = d3exp_tyer (d3e_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_assgn_ptr (loc0, hse0, hde_l, hse_rt, hils, hde_r) end // end of [D3Eassgn_ptr] // | D3Eassgn_ref ( d3e_l, s2rt, d3ls, d3e_r ) => let val hde_l = d3exp_tyer (d3e_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_assgn_ptr (loc0, hse0, hde_l, hse_rt, hils, hde_r) end // end of [D3Eassgn_ref] // | D3Exchng_var ( d2v_l, s2rt, d3ls, d3e_r ) => let val () = d2var_inc_utimes (d2v_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_xchng_var (loc0, hse0, d2v_l, hse_rt, hils, hde_r) end // end of [D3Exchng_var] | D3Exchng_ptr ( d3e_l, s2rt, d3ls, d3e_r ) => let val hde_l = d3exp_tyer (d3e_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_xchng_ptr (loc0, hse0, hde_l, hse_rt, hils, hde_r) end // end of [D3Exchng_ptr] | D3Exchng_ref ( d3e_l, s2rt, d3ls, d3e_r ) => let val hde_l = d3exp_tyer (d3e_l) val hse_rt = s2exp_tyer_deep (loc0, s2rt) val hils = d3lablst_tyer (d3ls) val hde_r = d3exp_tyer (d3e_r) in hidexp_xchng_ptr (loc0, hse0, hde_l, hse_rt, hils, hde_r) end // end of [D3Exchng_ref] // | D3Eviewat_assgn _ => hidexp_empty (loc0, hse0) // | D3Earrpsz ( s2e_elt, d3es_elt, asz ) => let val hse_elt = s2exp_tyer_shallow (loc0, s2e_elt) // end of [val] val hdes_elt = list_map_fun (d3es_elt, d3exp_tyer) val hdes_elt = list_of_list_vt (hdes_elt) in hidexp_arrpsz (loc0, hse0, hse_elt, hdes_elt, asz) end // end of [D3Earrpsz] | D3Earrinit ( s2e_elt, d3e_asz, d3es_elt ) => let val hse_elt = s2exp_tyer_shallow (loc0, s2e_elt) // end of [val] // val hde_asz = d3exp_tyer (d3e_asz) val s2e_asz = d3exp_get_type (d3e_asz) val s2f_asz = $S2UT.s2exp2hnf (s2e_asz) (* val () = println! ("d3exp_tyer: s2e_asz = ", s2e_asz) val () = println! ("d3exp_tyer: s2f_asz = ", s2f_asz) *) val-~Some_vt(s2i) = un_s2exp_g1size_index_t0ype (s2f_asz) // val opt = un_s2exp_intconst (s2i) // end of [opt] val asz = ( case+ opt of | ~Some_vt (n) => n | ~None_vt () => ~1 ) : int // end of [val] // val hdes_elt = list_map_fun (d3es_elt, d3exp_tyer) // end of [val] val hdes_elt = list_of_list_vt (hdes_elt) // in hidexp_arrinit (loc0, hse0, hse_elt, hde_asz, hdes_elt, asz) // end of [hidexp_arrinit] end // end of [D3Earrinit] // | D3Eraise (d3e) => hidexp_raise(loc0, hse0, d3exp_tyer(d3e)) // | D3Eeffmask (s2fe, d3e) => d3exp_tyer (d3e) // | D3Evcopyenv (knd, d2v) => let // // HX: hidexp_vcopyenv = hidexp_var // val () = d2var_inc_utimes (d2v) // end of [val] in hidexp_vcopyenv (loc0, hse0, d2v) end // end of [D3Evcopyenv] // | D3Etempenver (d2vs) => let val () = list_app_fun (d2vs, d2var_inc_utimes) in hidexp_tempenver (loc0, hse0, d2vs) end // end of [D3Etempenver] // | D3Eann_type (d3e, _(*ann*)) => d3exp_tyer (d3e) // | D3Elam_dyn ( lin, npf, p3ts_arg, d3e_body ) => let val hse_fun = s2exp_tyer_deep (loc0, s2e0) val hips_arg = p3atlst_npf_tyer (npf, p3ts_arg) val hde_body = d3exp_tyer (d3e_body) in hidexp_lam (loc0, hse_fun, 1(*boxed*), hips_arg, hde_body) end // end of [D3Elam_dyn] | D3Elaminit_dyn ( lin, npf, p3ts_arg, d3e_body ) => let val hse_fun = s2exp_tyer_deep (loc0, s2e0) val hips_arg = p3atlst_npf_tyer (npf, p3ts_arg) val hde_body = d3exp_tyer (d3e_body) in hidexp_lam (loc0, hse_fun, 0(*unboxed*), hips_arg, hde_body) end // end of [D3Elaminit_dyn] // | D3Elam_sta ( s2vs, s2ps, d3e_body ) => let val hde_body = d3exp_tyer (d3e_body) val isval = hidexp_is_value (hde_body) val () = if not(isval) then let val () = prerr_warning4_loc (loc0) val () = prerrln! ( ": a non-value body for static lam-abstraction is not supported." ) (* end of [val] *) in (* the_trans4errlst_add (T4E_d3exp_tyer_isnotval (d3e_body)) // HX: warning *) end (* end of [if] *) in hde_body end // end of [D3Elam_sta] | D3Elam_met (_(*met*), d3e) => d3exp_tyer (d3e) // | D3Efix ( knd, f_d2v, d3e_def ) => let val hde_def = d3exp_tyer (d3e_def) in hidexp_fix (loc0, hse0, knd, f_d2v, hde_def) end // end of [D3Efix] // | D3Edelay (d3e) => let val hde = d3exp_tyer (d3e) in hidexp_delay (loc0, hse0, hde) end // end of [D3Edelay] | D3Eldelay (d3e1, d3e2) => let val hde1 = d3exp_tyer (d3e1) val hde2 = d3exp_tyer (d3e2) in hidexp_ldelay (loc0, hse0, hde1, hde2) end // end of [D3Eldelay] | D3Elazyeval (lin, d3e) => let val hde = d3exp_tyer (d3e) in hidexp_lazyeval (loc0, hse0, lin, hde) end // end of [D3Elazyeval] // | D3Eloop ( init, test, post, body ) => let val init = d3expopt_tyer(init) // end of [val] val test = d3exp_tyer(test) val post = d3expopt_tyer (post) // end of [val] val body = d3exp_tyer (body) in hidexp_loop(loc0, hse0, init, test, post, body) end // end of [D3Eloop] | D3Eloopexn (knd) => hidexp_loopexn (loc0, hse0, knd) // | D3Etrywith (d3e_try, c3ls_with) => let val hde_try = d3exp_tyer (d3e_try) val hicls_with = c3laulst_tyer (c3ls_with) in hidexp_trywith(loc0, hse0, hde_try, hicls_with) end // end of [D3Etrywith] // | D3Esolverify _ => hidexp_empty(loc0, hisexp_void_t0ype((*void*))) // end of [D3Esolverify] // | D3Eerrexp ((*void*)) => hidexp_errexp (loc0, hse0) // | _(*unspported*) => let val () = prerr_interror_loc(loc0) val () = prerrln! (": d3exp_tyer: d3e0 = ", d3e0) in exitloc (1) end // end of [_(*unsupported*)] // end // end of [let] // end of [d3exp_tyer] (* ****** ****** *) implement d3explst_tyer (d3es) = let in // case+ d3es of | list_cons (d3e, d3es) => let val isprf = d3exp_is_prf (d3e) // end of [val] in if isprf then d3explst_tyer (d3es) else let val hde = d3exp_tyer (d3e) in list_cons (hde, d3explst_tyer (d3es)) end // end of [if] end | list_nil() => list_nil () // end // end of [d3explst_tyer] implement d3explst_npf_tyer (npf, d3es) = let in // if npf > 0 then let // val- list_cons(_, d3es) = d3es // in // d3explst_npf_tyer(npf-1, d3es) // end // end of [then] else d3explst_tyer(d3es) // [else] // end // end of [d3explst_npf_tyer] implement d3explst_npf_tyer_labize (npf, d3es) = let // fun aux1 ( npf: int, d3es: d3explst ) : d3explst = if npf > 0 then let val-list_cons (_, d3es) = d3es in aux1 (npf-1, d3es) end else d3es // end of [aux1] // fun aux2 ( i: int, d3es: d3explst ) : labhidexplst = let in // case+ d3es of | list_cons (d3e, d3es) => let val isprf = d3exp_is_prf (d3e) in if isprf then aux2 (i+1, d3es) else let val l = $LAB.label_make_int (i) val hde = d3exp_tyer (d3e) val lhde = LABHIDEXP (l, hde) in list_cons (lhde, aux2 (i+1, d3es)) end // end of [if] end | list_nil () => list_nil () // end // end of [aux2] // val i0 = (if npf >= 0 then npf else 0): int // in aux2 (i0, aux1 (npf, d3es)) end // end of [d3explst_npf_tyer_labize] (* ****** ****** *) implement d3expopt_tyer (opt) = ( case+ opt of | Some (d3e) => Some (d3exp_tyer (d3e)) | None () => None () ) // end of [d3expopt_tyer] (* ****** ****** *) extern fun labd3explst_tyer (lxs: labd3explst): labhidexplst implement labd3explst_tyer (lxs) = let in // case+ lxs of | list_cons (lx, lxs) => let val $SYN.DL0ABELED (l0, x) = lx in if d3exp_is_prf (x) then labd3explst_tyer (lxs) else let val hde = d3exp_tyer (x) val lhde = LABHIDEXP (l0.l0ab_lab, hde) in list_cons (lhde, labd3explst_tyer (lxs)) end // end of [if] end | list_nil () => list_nil () // end // end of [labd3explst_tyer] implement labd3explst_npf_tyer (npf, lxs) = let in // if npf > 0 then let val-list_cons (_, lxs) = lxs in labd3explst_npf_tyer (npf-1, lxs) end else labd3explst_tyer (lxs) // end of [if] // end // end of [labd3explst_npf_tyer] (* ****** ****** *) implement d3lab_tyer (d3l) = let // val loc0 = d3l.d3lab_loc // in // case+ d3l.d3lab_node of // case+ | D3LABlab (l) => hilab_lab (loc0, l) // end of [D3LABlab] | D3LABind (d3es_ind) => let val hdes_ind = list_map_fun (d3es_ind, d3exp_tyer) // end of [val] val hdes_ind = list_of_list_vt (hdes_ind) in hilab_ind (loc0, hdes_ind) end // end of [D3LABind] // end // end of [d3lab_tyer] implement d3lablst_tyer(d3ls) = ( list_of_list_vt(list_map_fun(d3ls, d3lab_tyer)) ) (* end of [d3lablst_tyer] *) (* ****** ****** *) implement d3exp_tyer_cst (loc0, hse0, d2c) = let // val sym = d2cst_get_sym (d2c) // in // case+ sym of | _ when sym = $SYM.symbol_TRUE_BOOL => hidexp_bool (loc0, hse0, true) | _ when sym = $SYM.symbol_FALSE_BOOL => hidexp_bool (loc0, hse0, false) | _ => let val d2c = d2cst_tyer (d2c) in hidexp_cst (loc0, hse0, d2c) end // end of [_] // end // end of [d3exp_tyer_cst] (* ****** ****** *) implement d3exp_tyer_tmpcst ( loc0, hse0, d2c, t2mas ) = let val t2mas2 = t2mpmarglst_mhnfize (t2mas) // end of [val] in hidexp_tmpcst (loc0, hse0, d2c, t2mas2) end (* end of [d3exp_tyer_tmpcst] *) implement d3exp_tyer_tmpvar ( loc0, hse0, d2v, t2mas ) = let val t2mas2 = t2mpmarglst_mhnfize (t2mas) // end of [val] in hidexp_tmpvar (loc0, hse0, d2v, t2mas2) end (* end of [d3exp_tyer_tmpvar] *) (* ****** ****** *) implement gm3at_tyer (gm3t) = let // val loc = gm3t.gm3at_loc // val hde = d3exp_tyer(gm3t.gm3at_exp) // val opt = ( case+ gm3t.gm3at_pat of | Some (p3t) => Some(p3at_tyer(p3t)) | None() => None() ) : hipatopt // end of [val] // in higmat_make (loc, hde, opt) end (* end of [gm3at_tyer] *) implement gm3atlst_tyer(gm3ts) = let // val hgmats = list_map_fun(gm3ts, gm3at_tyer) in list_of_list_vt(hgmats) // end // end of [gm3atlst_tyer] (* ****** ****** *) implement c3lau_tyer(c3l) = let // val loc = c3l.c3lau_loc val hips = p3atlst_tyer (c3l.c3lau_pat) // end of [val] val gua = gm3atlst_tyer (c3l.c3lau_gua) // val seq = c3l.c3lau_seq val neg = c3l.c3lau_neg val body = d3exp_tyer (c3l.c3lau_body) // in hiclau_make (loc, hips, gua, seq, neg, body) end // end of [c3lau_tyer] implement c3laulst_tyer(c3ls) = let // val hcls = list_map_fun(c3ls, c3lau_tyer) in list_of_list_vt(hcls) // end // end of [c3laulst_tyer] (* ****** ****** *) implement c3lau_tyer2 (d3es, c3l) = let // val loc = c3l.c3lau_loc // val hips = p3atlst_tyer2(d3es, c3l.c3lau_pat) // val gua = gm3atlst_tyer (c3l.c3lau_gua) // val seq = c3l.c3lau_seq val neg = c3l.c3lau_neg val body = d3exp_tyer (c3l.c3lau_body) // in hiclau_make (loc, hips, gua, seq, neg, body) end // end of [c3lau_tyer2] implement c3laulst_tyer2 (d3es, c3ls) = let in // case+ c3ls of | list_nil ((*void*)) => list_nil () | list_cons (c3l, c3ls) => let val hcl = c3lau_tyer2 (d3es, c3l) val hcls = c3laulst_tyer2 (d3es, c3ls) in list_cons (hcl, hcls) end // end of [list_cons] // end // end of [c3laulst_tyer2] (* ****** ****** *) (* end of [pats_typerase_dynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_hidynexp.sats0000664000175000017500000006247412655455557017315 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) // fun d2cst_get2_hisexp (d2c: d2cst): hisexpopt fun d2cst_set2_hisexp (d2c: d2cst, opt: hisexpopt): void // fun d2cst_get2_type_arg (d2c: d2cst): hisexplst fun d2cst_get2_type_res (d2c: d2cst): hisexp // (* ****** ****** *) // fun d2var_get2_hisexp (d2v: d2var): hisexpopt fun d2var_set2_hisexp (d2v: d2var, opt: hisexpopt): void // (* ****** ****** *) fun d2cst_get2_funclo (d2c: d2cst): fcopt_vt fun d2var_get2_funclo (d2v: d2var): fcopt_vt (* ****** ****** *) datatype hipat_node = | HIPany of (d2var) // wildcard | HIPvar of (d2var) // mutability from the context // | HIPint of int | HIPintrep of string // | HIPbool of bool | HIPchar of char | HIPstring of string | HIPfloat of string // | HIPi0nt of $SYN.i0nt | HIPf0loat of $SYN.f0loat // | HIPempty of () // empty pattern // | HIPcon of (* constructor pattern *) (pckind, d2con, hisexp(*tysum*), labhipatlst) | HIPcon_any of (pckind, d2con) // HX: unused arg // (* | HIPlst of (hisexp(*element*), hipatlst) *) | HIPrec of (* record pattern *) (int(*knd*), labhipatlst, hisexp(*tyrec*)) // | HIPrefas of (d2var, hipat) // referenced pattern // | HIPann of (hipat, hisexp) // | HIPerr of () // HX: error indication // end of [hipat_node] and labhipat = LABHIPAT of (label, hipat) where hipat = '{ hipat_loc= loc_t , hipat_type= hisexp , hipat_node= hipat_node // HX: a variable for storing the value , hipat_asvar= d2varopt // that matches the pattern } // end of [hipat] and hipatlst = List (hipat) and hipatopt = Option (hipat) and labhipatlst = List (labhipat) (* ****** ****** *) fun print_hipat (hip: hipat): void fun prerr_hipat (hip: hipat): void overload print with print_hipat overload prerr with prerr_hipat fun fprint_hipat : fprint_type (hipat) overload fprint with fprint_hipat fun fprint_hipatlst : fprint_type (hipatlst) overload fprint with fprint_hipatlst fun fprint_labhipatlst : fprint_type (labhipatlst) overload fprint with fprint_labhipatlst (* ****** ****** *) fun hipat_get_type (hip: hipat): hisexp fun labhipatlst_get_type (lhips: labhipatlst): labhisexplst fun hipat_set_asvar (hip: hipat, opt: d2varopt): void = "patsopt_hipat_set_asvar" // end of [hipat_set_asvar] (* ****** ****** *) fun labhipatlst_is_unused (lhips: labhipatlst): bool (* ****** ****** *) fun hipat_make_node (loc: loc_t, hse: hisexp, node: hipat_node): hipat (* ****** ****** *) fun hipat_any (loc: loc_t, hse: hisexp, d2v: d2var): hipat fun hipat_var (loc: loc_t, hse: hisexp, d2v: d2var): hipat (* ****** ****** *) fun hipat_con ( loc: loc_t , hse: hisexp, pck: pckind , d2c: d2con, hse_sum: hisexp, lhips: labhipatlst ) : hipat // end of [hipat_con] fun hipat_con_any ( loc: loc_t, hse: hisexp, pck: pckind, d2c: d2con ) : hipat // end of [hipat_con_any] (* ****** ****** *) fun hipat_int (loc: loc_t, hse: hisexp, i: int): hipat fun hipat_intrep (loc: loc_t, hse: hisexp, rep: string): hipat (* ****** ****** *) fun hipat_bool (loc: loc_t, hse: hisexp, b: bool): hipat fun hipat_char (loc: loc_t, hse: hisexp, c: char): hipat fun hipat_float (loc: loc_t, hse: hisexp, rep: string): hipat fun hipat_string (loc: loc_t, hse: hisexp, str: string): hipat (* ****** ****** *) fun hipat_i0nt (loc: loc_t, hse: hisexp, tok: i0nt): hipat fun hipat_f0loat (loc: loc_t, hse: hisexp, tok: f0loat): hipat (* ****** ****** *) fun hipat_empty (loc: loc_t, hse: hisexp): hipat (* ****** ****** *) fun hipat_lst ( loc: loc_t , lin: int, hse_lst: hisexp, hse_elt: hisexp, hips: hipatlst ) : hipat // end of [hipat_lst] (* ****** ****** *) fun hipat_rec ( loc: loc_t , hse: hisexp, knd: int, lhips: labhipatlst, hse_rec: hisexp ) : hipat // end of [hipat_rec] fun hipat_rec2 ( loc: loc_t , hse: hisexp, knd: int, lhips: labhipatlst, hse_rec: hisexp ) : hipat // end of [hipat_rec2] (* ****** ****** *) fun hipat_refas ( loc: loc_t, hse: hisexp, d2v: d2var, hip: hipat ) : hipat // end of [hipat_refas] (* ****** ****** *) fun hipat_ann (loc: loc_t, hse: hisexp, hip: hipat, ann: hisexp): hipat // end of [hipat_ann] (* ****** ****** *) fun hipat_is_wild (hip: hipat): bool fun hipatlst_is_wild (hips: hipatlst): bool fun labhipatlst_is_wild (lhips: labhipatlst): bool (* ****** ****** *) // fun hipat_subtest (hip1: hipat, hip2: hipat): bool fun hipatlst_subtest (hips1: hipatlst, hips2: hipatlst): bool fun labhipatlst_subtest (lhips1: labhipatlst, lhips2: labhipatlst): bool // (* ****** ****** *) abstype hidynexp_funlab_type // placeholder for [funlab] abstype hidynexp_hidecl_type // placeholder for [hidecl] abstype hidynexp_instrlst_type // placeholder for [instrlst] (* ****** ****** *) datatype hidecl_node = | HIDnone of () | HIDlist of hideclist // | HIDsaspdec of (s2aspdec) // | HIDextype of (string(*name*), hisexp) | HIDextvar of (string(*name*), hidexp) | HIDextcode of (int(*knd*), int(*pos*), string(*code*)) // end of [HIDextcode] // | HIDexndecs of (d2conlst) // exception decls | HIDdatdecs of (int(*knd*), s2cstlst) // DT decls // | HIDdcstdecs of (dcstkind, d2cstlst) // | HIDimpdec of (int(*knd*), hiimpdec) // | HIDfundecs of (funkind, s2qualst(*decarg*), hifundeclst) // end of [HIDfundecs] // | HIDvaldecs of (valkind, hivaldeclst) | HIDvaldecs_rec of (valkind, hivaldeclst) // | HIDvardecs of (hivardeclst) // variable declarations // | HIDinclude of (int(*sta/dyn*), hideclist) // | HIDstaload of ( symbolopt , filename, int(*ldflag*), filenv, int(*loaded*) ) (* end of [HIDstaload] *) | HIDstaloadloc of (filename(*pfil*), symbol(*nspace*), hideclist) // end of [HIDstaloadloc] // | HIDdynload of (filename) // | HIDlocal of (hideclist (*head*), hideclist (*body*)) // end of [hidecl_node] and hidexp_node = // | HDEcst of (d2cst) // dynamic constants | HDEvar of (d2var) // dynamic variables // | HDEint of int // integer constants | HDEintrep of string // integer constants | HDEbool of bool // boolean constants | HDEchar of char // constant characters | HDEfloat of string // constant floats | HDEstring of string // constant strings // | HDEi0nt of i0nt // integer constants | HDEf0loat of f0loat // floating point constants // | HDEcstsp of ($SYN.cstsp) // special constants // | HDEtop of () // for uninitialized | HDEempty of () // for the void value | HDEignore of (hidexp) // ignoring the value of hidexp // | HDEcastfn of (d2cst, hidexp(*arg*)) // castfn application // | HDEextval of (string(*name*)) // externally named values // | HDEextfcall of (string(*fun*), hidexplst(*arg*)) // for fun-calls // end of [HDEextfcall] | HDEextmcall of (hidexp(*obj*), string(*mtd*), hidexplst) // for method-calls // end of [HDEextmcall] // | HDEcon of (d2con, hisexp, labhidexplst(*arg*)) // constructors // | HDEtmpcst of (d2cst, t2mpmarglst) | HDEtmpvar of (d2var, t2mpmarglst) // | HDEfoldat of () // constructor-folding | HDEfreeat of (hidexp) // constructor-freeing // | HDElet of (hideclist, hidexp) // | HDEapp of (hidexp, hisexp(*fun*), hidexplst) // dynamic apps // | HDEif of ( hidexp(*cond*), hidexp(*then*), hidexp(*else*) ) // end of [HDEif] // | HDEsif of (s2exp(*cond*), hidexp(*then*), hidexp(*else*)) (* end of [HDEsif] *) // | HDEcase of ( caskind, hidexplst(*values*), hiclaulst(*clauses*) ) // end of [HDEcase] // | HDElst of (* list expression *) (int(*lin*), hisexp(*elt*), hidexplst) | HDErec of (int(*knd*), labhidexplst, hisexp(*tyrec*)) // end of [HDErec] | HDEseq of (hidexplst) // sequencing // // HX: record field selection; array subscripting // | HDEselab of (hidexp, hisexp(*flt*), hilablst) // | HDEptrofvar of (d2var) // taking address of a variable | HDEptrofsel of (hidexp, hisexp(*root*), hilablst) // taking the address of ... // end of [HDEptrofsel] // | HDErefarg of (int(*refval*), int(*freeknd*), hidexp) // | HDEselvar of (d2var, hisexp(*root*), hilablst) // var-path-selction | HDEselptr of (hidexp, hisexp(*root*), hilablst) // ptr-path_selection // | HDEassgn_var of (d2var(*left*), hisexp(*root*), hilablst, hidexp(*right*)) | HDEassgn_ptr of (hidexp(*left*), hisexp(*root*), hilablst, hidexp(*right*)) // | HDExchng_var of (d2var(*left*), hisexp(*root*), hilablst, hidexp(*right*)) | HDExchng_ptr of (hidexp(*left*), hisexp(*root*), hilablst, hidexp(*right*)) // | HDEarrpsz of (* arrsize construction *) (hisexp(*elt*), hidexplst(*elt*), int(*asz*)) | HDEarrinit of (* array initialization *) (hisexp(*elt*), hidexp(*asz*), hidexplst(*elt*), int(*asz*)) // | HDEraise of (hidexp(*exn*)) // (* | HDEvcopyenv of (d2var) // HX: HDEvar *) | HDEtempenver of (d2varlst) // for environvars // | HDElam of (int(*knd=0/1:flat/boxed*), hipatlst, hidexp) // HX: lam_dyn // | HDEfix of (int(*knd=0/1:flat/boxed*), d2var(*fixvar*), hidexp) // fixed-point // | HDEdelay of hidexp(*eval*) // delayed evaluation | HDEldelay of (hidexp(*eval*), hidexp(*free*)) // delayed evaluation | HDElazyeval of (int(*lin*), hidexp) // lazy-value evaluation // | HDEloop of (* for/while-loops *) ( hidexpopt(*init*), hidexp(*test*), hidexpopt(*post*), hidexp(*body*) ) | HDEloopexn of (int(*knd*)) (* knd=0/1: break/continue *) // | HDEtrywith of (hidexp(*try-exp*), hiclaulst(*with-clauses*)) // | HDEerrexp of ((*void*)) // HX: indication of error // end of [hidexp_node] and labhidexp = LABHIDEXP of (label, hidexp) and hilab_node = | HILlab of (label) // field selection | HILind of (hidexplst(*index*)) // arrsub // end of [hilab_node] where hidecl = '{ hidecl_loc= loc_t, hidecl_node= hidecl_node } (* end of [hidecl] *) and hideclist = List (hidecl) and hideclopt = Option (hidecl) and hideclistopt = Option (hideclist) and hidexp = '{ hidexp_loc= loc_t , hidexp_type= hisexp, hidexp_node= hidexp_node } (* end of [hidexp] *) and hidexplst = List (hidexp) and hidexpopt = Option (hidexp) and labhidexplst = List (labhidexp) (* ****** ****** *) and hilab = '{ hilab_loc= loc_t, hilab_node= hilab_node } (* end of [hilab] *) and hilablst = List (hilab) (* ****** ****** *) and higmat = '{ higmat_loc= loc_t , higmat_exp= hidexp , higmat_pat= hipatopt } (* end of [higmat] *) and higmatlst = List (higmat) (* ****** ****** *) and hiclau = '{ hiclau_loc= loc_t , hiclau_pat= hipatlst (* pattern *) , hiclau_gua= higmatlst (* clause guard *) , hiclau_seq= int // sequentiality , hiclau_neg= int // negativativity , hiclau_body= hidexp (* clause body *) } (* end of [hiclau] *) and hiclaulst = List (hiclau) (* ****** ****** *) and hifundec = '{ hifundec_loc= loc_t , hifundec_var= d2var , hifundec_imparg= s2varlst , hifundec_def= hidexp , hifundec_hidecl= Option (hidynexp_hidecl_type) , hifundec_funlab= Option (hidynexp_funlab_type) } (* end of [hifundec] *) and hifundeclst = List (hifundec) (* ****** ****** *) and hivaldec = '{ hivaldec_loc= loc_t , hivaldec_pat= hipat , hivaldec_def= hidexp } (* end of [hivaldec] *) and hivaldeclst = List (hivaldec) (* ****** ****** *) and hivardec = '{ hivardec_loc= loc_t , hivardec_knd= int , hivardec_dvar_ptr= d2var , hivardec_dvar_view= d2var , hivardec_type= hisexp , hivardec_init= hidexpopt } (* end of [hivardec] *) and hivardeclst = List (hivardec) (* ****** ****** *) and hiimpdec = '{ hiimpdec_loc= loc_t , hiimpdec_knd= int // 0/1 , hiimpdec_cst= d2cst , hiimpdec_imparg= s2varlst , hiimpdec_tmparg= s2explstlst , hiimpdec_def= hidexp // , hiimpdec_funlab= Option (hidynexp_funlab_type) , hiimpdec_instrlst= Option (hidynexp_instrlst_type) // } (* end of [hiimpdec] *) and hiimpdeclst = List (hiimpdec) (* ****** ****** *) // fun print_hidexp (x: hidexp): void fun prerr_hidexp (x: hidexp): void fun fprint_hidexp : fprint_type (hidexp) // overload print with print_hidexp overload prerr with prerr_hidexp overload fprint with fprint_hidexp // (* ****** ****** *) fun fprint_hidexplst : fprint_type (hidexplst) fun fprint_hidexpopt : fprint_type (hidexpopt) fun fprint_labhidexplst : fprint_type (labhidexplst) (* ****** ****** *) fun fprint_hilab : fprint_type (hilab) fun fprint_hilablst : fprint_type (hilablst) (* ****** ****** *) // fun print_hidecl (x: hidecl): void overload print with print_hidecl // fun prerr_hidecl (x: hidecl): void overload prerr with prerr_hidecl // fun fprint_hidecl : fprint_type (hidecl) fun fprint_hideclist : fprint_type (hideclist) // (* ****** ****** *) fun fprint_hifundec : fprint_type (hifundec) fun fprint_hivaldec : fprint_type (hivaldec) fun fprint_hivardec : fprint_type (hivardec) fun fprint_hiimpdec : fprint_type (hiimpdec) (* ****** ****** *) fun hidexp_get_type (hde: hidexp): hisexp fun hidexplst_get_type (hdes: hidexplst): hisexplst fun labhidexplst_get_type (lhdes: labhidexplst): labhisexplst (* ****** ****** *) fun hidexp_is_value (hde: hidexp): bool fun hidexp_is_lvalue (hde: hidexp): bool (* ****** ****** *) fun hidexp_make_node (loc: loc_t, hse: hisexp, node: hidexp_node): hidexp // end of [hidexp_make_node] (* ****** ****** *) fun hidexp_var (loc: loc_t, hse: hisexp, d2v: d2var): hidexp // end of [hidexp_var] fun hidexp_cst (loc: loc_t, hse: hisexp, d2c: d2cst): hidexp // end of [hidexp_cst] (* ****** ****** *) fun hidexp_int (loc: loc_t, hse: hisexp, i: int): hidexp fun hidexp_intrep (loc: loc_t, hse: hisexp, rep: string): hidexp fun hidexp_bool (loc: loc_t, hse: hisexp, b: bool): hidexp fun hidexp_char (loc: loc_t, hse: hisexp, c: char): hidexp fun hidexp_float (loc: loc_t, hse: hisexp, rep: string): hidexp fun hidexp_string (loc: loc_t, hse: hisexp, str: string): hidexp (* ****** ****** *) fun hidexp_i0nt (loc: loc_t, hse: hisexp, tok: i0nt): hidexp fun hidexp_f0loat (loc: loc_t, hse: hisexp, tok: f0loat): hidexp (* ****** ****** *) fun hidexp_cstsp (loc: loc_t, hse: hisexp, x: $SYN.cstsp): hidexp // end of [hidexp_cstsp] (* ****** ****** *) fun hidexp_top (loc: loc_t, hse: hisexp): hidexp fun hidexp_empty (loc: loc_t, hse: hisexp): hidexp fun hidexp_ignore (loc: loc_t, hse: hisexp, hde: hidexp): hidexp (* ****** ****** *) fun hidexp_castfn ( loc: loc_t, hse: hisexp, d2c: d2cst, arg: hidexp ) : hidexp // end of [hidexp_castfn] (* ****** ****** *) fun hidexp_extval ( loc: loc_t, hse: hisexp, name: string ) : hidexp // end of [hidexp_extval] fun hidexp_extfcall ( loc: loc_t , hse: hisexp, _fun: string, _arg: hidexplst ) : hidexp // end of [hidexp_extfcall] fun hidexp_extmcall ( loc: loc_t , hse: hisexp, _obj: hidexp, _mtd: string, _arg: hidexplst ) : hidexp // end of [hidexp_extmcall] (* ****** ****** *) fun hidexp_con ( loc: loc_t, hse: hisexp , d2c: d2con, hse_sum: hisexp, lhdes: labhidexplst ) : hidexp // end of [hidexp_con] (* ****** ****** *) fun hidexp_tmpcst ( loc: loc_t, hse: hisexp, d2c: d2cst, t2mas: t2mpmarglst ) : hidexp // end of [hidexp_tmpcst] fun hidexp_tmpvar ( loc: loc_t, hse: hisexp, d2v: d2var, t2mas: t2mpmarglst ) : hidexp // end of [hidexp_tmpvar] (* ****** ****** *) fun hidexp_foldat (loc: loc_t, hse: hisexp): hidexp fun hidexp_freeat (loc: loc_t, hse: hisexp, hde: hidexp): hidexp (* ****** ****** *) fun hidexp_let (loc: loc_t, hse: hisexp, hids: hideclist, hde: hidexp): hidexp // end of [hidexp_let] fun hidexp_let_simplify (loc: loc_t, hse: hisexp, hids: hideclist, hde: hidexp): hidexp // end of [hidexp_let_simplify] (* ****** ****** *) fun hidexp_app ( loc: loc_t , hse: hisexp, hse_fun: hisexp, _fun: hidexp, _arg: hidexplst ) : hidexp // end of [hidexp_app] fun hidexp_app2 ( loc: loc_t , hse: hisexp, hse_fun: hisexp, _fun: hidexp, _arg: hidexplst ) : hidexp // end of [hidexp_app2] (* ****** ****** *) fun hidexp_if ( loc: loc_t , hse: hisexp, _cond: hidexp, _then: hidexp, _else: hidexp ) : hidexp // end of [hidexp_if] fun hidexp_sif ( loc: loc_t , hse: hisexp, _cond: s2exp, _then: hidexp, _else: hidexp ) : hidexp // end of [hidexp_sif] (* ****** ****** *) fun hidexp_case ( loc: loc_t , hse: hisexp, knd: caskind, hdes: hidexplst, hcls: hiclaulst ) : hidexp // end of [hidexp_case] (* ****** ****** *) fun hidexp_lst ( loc: loc_t , hse: hisexp, lin: int, hse_elt: hisexp, hdes: hidexplst ) : hidexp // end of [hidexp_lst] (* ****** ****** *) fun hidexp_rec ( loc: loc_t , hse: hisexp, knd: int, lhses: labhidexplst, hse_rec: hisexp ) : hidexp // end of [hidexp_rec] fun hidexp_rec2 ( loc: loc_t , hse: hisexp, knd: int, lhses: labhidexplst, hse_rec: hisexp ) : hidexp // end of [hidexp_rec2] (* ****** ****** *) fun hidexp_seq (loc: loc_t, hse: hisexp, hdes: hidexplst): hidexp // end of [hidexp_seq] (* ****** ****** *) fun hidexp_selab ( loc: loc_t , hse: hisexp, hde: hidexp, hse_flt: hisexp, hils: hilablst ) : hidexp // end of [hidexp_selab] (* ****** ****** *) fun hidexp_ptrofvar (loc: loc_t, hse: hisexp, d2v: d2var): hidexp fun hidexp_ptrofsel ( loc: loc_t , hse: hisexp, hde: hidexp, hse_rt: hisexp, hils: hilablst ) : hidexp // end of [hidexp_ptrofsel] (* ****** ****** *) fun hidexp_refarg ( loc: loc_t, hse: hisexp, refval: int, freeknd: int, hde: hidexp ) : hidexp // end of [hidexp_refarg] (* ****** ****** *) fun hidexp_selvar ( loc: loc_t , hse: hisexp, d2v: d2var, hse_rt: hisexp, hils: hilablst ) : hidexp // end of [hidexp_selvar] fun hidexp_selptr ( loc: loc_t , hse: hisexp, hde: hidexp, hse_rt: hisexp, hils: hilablst ) : hidexp // end of [hidexp_selptr] (* ****** ****** *) fun hidexp_assgn_var ( loc: loc_t , hse: hisexp, d2v_l: d2var, hse_rt: hisexp, hils: hilablst, hde_r: hidexp ) : hidexp // end of [hidexp_assgn_var] fun hidexp_assgn_ptr ( loc: loc_t , hse: hisexp, hde_l: hidexp, hse_rt: hisexp, hils: hilablst, hde_r: hidexp ) : hidexp // end of [hidexp_assgn_ptr] (* ****** ****** *) fun hidexp_xchng_var ( loc: loc_t, hse: hisexp , d2v_l: d2var, hse_rt: hisexp, hils: hilablst, hde_r: hidexp ) : hidexp // end of [hidexp_xchng_var] fun hidexp_xchng_ptr ( loc: loc_t, hse: hisexp , hde_l: hidexp, hse_rt: hisexp, hils: hilablst, hde_r: hidexp ) : hidexp // end of [hidexp_xchng_ptr] (* ****** ****** *) fun hidexp_arrpsz ( loc: loc_t, hse: hisexp , hse_elt: hisexp, hdes_elt: hidexplst, asz: int ) : hidexp // end of [hidexp_arrpsz] fun hidexp_arrinit ( loc: loc_t, hse: hisexp , hse_elt: hisexp, hde_asz: hidexp, hdes_elt: hidexplst, asz: int ) : hidexp // end of [hidexp_arrinit] (* ****** ****** *) fun hidexp_raise (loc: loc_t, hse: hisexp, hde_exn: hidexp): hidexp // end of [hidexp_raise] (* ****** ****** *) // fun hidexp_vcopyenv (loc: loc_t, hse: hisexp, d2v: d2var): hidexp // (* ****** ****** *) // fun hidexp_tempenver (loc: loc_t, hse: hisexp, d2vs: d2varlst): hidexp // (* ****** ****** *) fun hidexp_lam ( loc: loc_t, hse: hisexp, knd: int, hips: hipatlst, hde: hidexp ) : hidexp // end of [hidexp_lam] (* ****** ****** *) fun hidexp_fix ( loc: loc_t, hse: hisexp, knd: int, f_d2v: d2var, hde_def: hidexp ) : hidexp // end of [hidexp_fix] (* ****** ****** *) // fun hidexp_delay (loc: loc_t, hse: hisexp, hde: hidexp): hidexp fun hidexp_ldelay (loc: loc_t, hse: hisexp, _eval: hidexp, _free: hidexp): hidexp // fun hidexp_lazyeval (loc: loc_t, hse: hisexp, lin: int, hde: hidexp): hidexp // (* ****** ****** *) fun hidexp_loop ( loc: loc_t, hse: hisexp , init: hidexpopt, test: hidexp, post: hidexpopt, body: hidexp ) : hidexp // end of [hidexp_loop] fun hidexp_loopexn (loc: loc_t, hse: hisexp, knd: int): hidexp // end of [hidexp_loopexn] (* ****** ****** *) fun hidexp_trywith ( loc: loc_t, hse: hisexp, _try: hidexp, _with: hiclaulst ) : hidexp // end of [hidexp_trywith] (* ****** ****** *) fun hidexp_errexp (loc: loc_t, hse: hisexp): hidexp (* ****** ****** *) (* fun un_hidexp_int (hde_int: hidexp): Option_vt (int) *) (* ****** ****** *) fun hilab_lab (loc: loc_t, lab: label): hilab fun hilab_ind (loc: loc_t, ind: hidexplst): hilab (* ****** ****** *) fun higmat_make (loc: loc_t, hde: hidexp, opt: hipatopt): higmat fun hiclau_make ( loc: loc_t , hips: hipatlst, gua: higmatlst, seq: int, neg: int, body: hidexp ) : hiclau // end of [hiclau_make] (* ****** ****** *) fun hifundec_make ( loc: loc_t, d2v: d2var, imparg: s2varlst, def: hidexp ) : hifundec // end of [hifundec_make] fun hifundec_get_hideclopt (hfd: hifundec): hideclopt fun hifundec_getref_hideclopt (hfd: hifundec): Ptr1 = "patsopt_hifundec_getref_hideclopt" fun hifundec_getref_funlabopt (hfd: hifundec): Ptr1 = "patsopt_hifundec_getref_funlabopt" fun hifundeclst_set_hideclopt (hfds: hifundeclst, opt: hideclopt): void (* ****** ****** *) fun hivaldec_make (loc: loc_t, pat: hipat, def: hidexp): hivaldec // end of [hivaldec_make] fun hivardec_make ( loc: loc_t, knd: int , d2v: d2var, d2vw: d2var, type: hisexp, init: hidexpopt ) : hivardec // end of [hivardec_make] (* ****** ****** *) fun hiimpdec_make ( loc: loc_t, knd: int , d2c: d2cst, imparg: s2varlst, tmparg: s2explstlst, def: hidexp ) : hiimpdec // end of [hiimpdec_make] fun hiimpdec_getref_funlabopt (imp: hiimpdec): Ptr1 = "patsopt_hiimpdec_getref_funlabopt" // end of [hiimpdec_getref_funlabopt] fun hiimpdec_getref_instrlstopt (imp: hiimpdec): Ptr1 = "patsopt_hiimpdec_getref_instrlstopt" // end of [hiimpdec_getref_instrlstopt] (* ****** ****** *) fun hidecl_make_node (loc: loc_t, node: hidecl_node): hidecl // end of [hidecl_make_node] (* ****** ****** *) fun hidecl_is_empty (hid: hidecl): bool (* ****** ****** *) fun hidecl_none (loc: loc_t): hidecl fun hidecl_list (loc: loc_t, hids: hideclist): hidecl fun hidecl_saspdec (loc: loc_t, d2c: s2aspdec): hidecl (* ****** ****** *) // fun hidecl_extype (loc: loc_t, name: string, hse_def: hisexp): hidecl fun hidecl_extvar (loc: loc_t, name: string, hde_def: hidexp): hidecl // (* ****** ****** *) fun hidecl_extcode (loc: loc_t, knd: int, pos: int, code: string): hidecl // end of [hidecl_extcode] (* ****** ****** *) fun hidecl_exndecs (loc: loc_t, d2cs: d2conlst) : hidecl fun hidecl_datdecs (loc: loc_t, knd: int, s2cs: s2cstlst) : hidecl // end of [hidecl_datdecs] (* ****** ****** *) fun hidecl_dcstdecs ( loc: loc_t, dck: dcstkind, d2cs: d2cstlst ) : hidecl // end of [hidecl_dcstdecs] fun hidecl_impdec (loc: loc_t, knd: int, himp: hiimpdec): hidecl // end of [hidecl_impdec] fun hidecl_fundecs ( loc: loc_t, knd: funkind, decarg: s2qualst, hfds: hifundeclst ) : hidecl // end of [hidecl_fundecs] fun hidecl_valdecs (loc: loc_t, knd: valkind, hvds: hivaldeclst): hidecl // end of [hidecl_valdecs] fun hidecl_valdecs_rec (loc: loc_t, knd: valkind, hvds: hivaldeclst): hidecl // end of [hidecl_valdecs_rec] fun hidecl_vardecs (loc: loc_t, hvds: hivardeclst): hidecl (* ****** ****** *) fun hidecl_include (loc: loc_t, stadyn: int, hids: hideclist): hidecl // end of [hidecl_include] (* ****** ****** *) fun hidecl_staload ( loc: loc_t , idopt: symbolopt , fname: filename, flag: int, fenv: filenv, loaded: int ) : hidecl // end of [hidecl_staload] fun hidecl_staloadloc ( loc: loc_t, pfil: filename, nspace: symbol, hids: hideclist ) : hidecl // end of [hidecl_staloadloc] (* ****** ****** *) fun hidecl_dynload (loc: loc_t, cfil: filename): hidecl (* ****** ****** *) fun hidecl_local (loc: loc_t, head: hideclist, body: hideclist): hidecl // end of [hidecl_local] (* ****** ****** *) // typedef tmpcstimpmap = d2cstmap (hiimpdeclst) typedef tmpcstimpmapopt = Option (tmpcstimpmap) // fun tmpcstimpmap_find (map: tmpcstimpmap, d2c: d2cst): hiimpdeclst // fun tmpcstimpmap_insert (map: &tmpcstimpmap, imp: hiimpdec): void // fun filenv_get_tmpcstimpmapopt (fenv: filenv): tmpcstimpmapopt // (* ****** ****** *) // typedef tmpvardecmap = d2varmap (hifundec) typedef tmpvardecmapopt = Option (tmpvardecmap) // fun tmpvardecmap_find (map: tmpvardecmap, d2v: d2var): Option_vt (hifundec) // fun tmpvardecmap_insert (map: &tmpvardecmap, hfd: hifundec): void fun tmpvardecmap_inserts (map: &tmpvardecmap, hfds: hifundeclst): void // fun filenv_get_tmpvardecmapopt (fenv: filenv): tmpvardecmapopt // (* ****** ****** *) (* end of [pats_hidynexp.sats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_solve.dats0000664000175000017500000011547612655455557020245 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload compare with $LAB.compare_label_label staload STMP = "./pats_stamp.sats" overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload EFF = "./pats_effect.sats" // macdef effset_isnil = $EFF.effset_isnil macdef effset_isall = $EFF.effset_isall macdef effset_subset = $EFF.effset_subset // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) staload "./pats_staexp2_solve.sats" (* ****** ****** *) implement label_equal_solve_err (loc0, l1, l2, err) = if compare (l1, l2) = 0 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_label_equal (loc0, l1, l2)) in // nothing end // end of [if] // end of [label_equal_solve_err] implement stamp_equal_solve_err (loc0, s1, s2, err) = if compare (s1, s2) = 0 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_stamp_equal (loc0, s1, s2)) in // nothing end // end of [if] // end of [stamp_equal_solve_err] (* ****** ****** *) implement funclo_equal_solve (loc0, fc1, fc2) = err where { var err: int = 0 val () = funclo_equal_solve_err (loc0, fc1, fc2, err) } // end of [funclo_equal_solve] implement funclo_equal_solve_err (loc0, fc1, fc2, err) = if fc1 = fc2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_funclo_equal (loc0, fc1, fc2)) in // nothing end // end of [if] // end of [funclo_equal_solve_err] (* ****** ****** *) implement clokind_equal_solve_err (loc0, knd1, knd2, err) = if knd1 = knd2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_clokind_equal (loc0, knd1, knd2)) in // nothing end // end of [if] // end of [clokind_equal_solve_err] (* ****** ****** *) implement linearity_equal_solve (loc0, lin1, lin2) = err where { var err: int = 0 val () = linearity_equal_solve_err (loc0, lin1, lin2, err) } // end of [linearity_equal_solve] implement linearity_equal_solve_err (loc0, lin1, lin2, err) = if lin1 = lin2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_linearity_equal (loc0, lin1, lin2)) in // nothing end // end of [if] // end of [linearity_equal_solve_err] (* ****** ****** *) implement pfarity_equal_solve (loc0, npf1, npf2) = err where { var err: int = 0 val () = pfarity_equal_solve_err (loc0, npf1, npf2, err) } // end of [pfarity_equal_solve] implement pfarity_equal_solve_err (loc0, npf1, npf2, err) = if npf1 = npf2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_pfarity_equal (loc0, npf1, npf2)) in // nothing end // end of [if] // end of [pfarity_equal_solve_err] (* ****** ****** *) implement boxity_equal_solve_err (loc0, knd1, knd2, err) = let val i = ( if tyreckind_is_boxed (knd2) then 1-knd1 else knd1 ) : int // end of [val] in if (i = 0) then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_boxity_equal (loc0, knd1, knd2)) in // nothing end // end of [if] end // end of [boxity_equal_solve_err] implement tyreckind_equal_solve_err (loc0, knd1, knd2, err) = if knd1 = knd2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_tyreckind_equal (loc0, knd1, knd2)) in // nothing end // end of [if] // end of [tyreckind_equal_solve_err] (* ****** ****** *) implement refval_equal_solve_err (loc0, knd1, knd2, err) = if knd1 = knd2 then () else let val () = err := err + 1 val () = the_staerrlst_add (STAERR_refval_equal (loc0, knd1, knd2)) in // nothing end // end of [if] // end of [refval_equal_solve_err] (* ****** ****** *) extern fun s2Var_merge_szexp_err ( loc: location, s2V1: s2Var, s2ze2: s2zexp, err: &int ) : void // end of [s2Var_merge_szexp_err] implement s2Var_merge_szexp_err (loc0, s2V1, s2ze2, err) = let val s2ze1 = s2Var_get_szexp (s2V1) val s2ze12 = s2zexp_merge (s2ze1, s2ze2) val () = if s2zexp_is_bot (s2ze12) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_s2zexp_merge (loc0, s2ze1, s2ze2)) } // end of [val] in s2Var_set_szexp (s2V1, s2ze12) end // end of [s2Var_merge_szexp_err] (* ****** ****** *) extern fun s2Var_s2exp_srtck_err ( loc0: location, s2V1: s2Var, s2e2: s2exp, err: &int ) : void // end of [s2Var_s2exp_srtck_err] implement s2Var_s2exp_srtck_err (loc0, s2V1, s2e2, err) = let // val s2t1 = s2Var_get_srt (s2V1) val s2t2 = s2e2.s2exp_srt val ltmat = s2rt_ltmat1 (s2t2, s2t1) // HX: real-run val () = if ~(ltmat) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_s2Var_s2exp_solve (loc0, s2V1, s2e2)) } // end of [if] // end of [val] // in // nothing end // end of [s2Var_s2exp_srtck_err] (* ****** ****** *) extern fun s2hnf_tyleq_solve_lbs_err ( loc0: location, lbs: s2VarBoundlst, s2f: s2hnf, err: &int ) : void // end of [s2hnf_tyleq_solve_lbs_err] extern fun s2hnf_tyleq_solve_ubs_err ( loc0: location, s2f: s2hnf, ubs: s2VarBoundlst, err: &int ) : void // end of [s2hnf_tyleq_solve_ubs_err] (* ****** ****** *) extern fun s2hnf_equal_solve_lVar_err ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V1: s2Var, err: &int ) : void // end of [s2hnf_equal_solve_lVar_err] extern fun s2hnf_equal_solve_lVar_err_nck ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V1: s2Var, err: &int ) : void // end of [s2hnf_equal_solve_lVar_err_nck] implement s2hnf_equal_solve_lVar_err (loc0, s2f1, s2f2, s2V1, err) = let (* val () = ( println! ("s2hnf_equal_solve_lVar_err: s2f1 = ", s2f1); println! ("s2hnf_equal_solve_lVar_err: s2f2 = ", s2f2); ) // end of [val] *) val s2e1 = s2hnf2exp (s2f1) val s2e2 = s2hnf2exp (s2f2) val (ans, s2cs, s2vs, s2Vs) = s2Var_occurcheck_s2exp (s2V1, s2e2) in // if ans = 0 then let val () = s2Varlst_add_sVarlst (s2Vs, s2V1) in s2hnf_equal_solve_lVar_err_nck (loc0, s2f1, s2f2, s2V1, err) end else let // ans > 0 (* val () = ( println! ("s2exp_equal_solve_lVar_err: s2f1 = ", s2f1); println! ("s2exp_equal_solve_lVar_err: s2f2 = ", s2f2); println! ("s2exp_equal_solve_lVar_err: s2cs = ", s2cs); println! ("s2exp_equal_solve_lVar_err: s2vs = ", s2vs); ) // end of [val] *) in trans3_env_add_eqeq (loc0, s2e1, s2e2) end // end of [if] // end // end of [s2hnf_equal_solve_lVar_err] implement s2hnf_equal_solve_lVar_err_nck (loc0, s2f1, s2f2, s2V1, err) = let // val s2e2 = s2hnf2exp (s2f2) val () = s2Var_s2exp_srtck_err (loc0, s2V1, s2e2, err) // val isimp = s2exp_is_impred (s2e2) val () = if isimp then { val s2ze2 = s2zexp_make_s2exp (s2e2) val () = s2Var_merge_szexp_err (loc0, s2V1, s2ze2, err) } // end of [if] // end of [val] // val () = s2Var_set_link (s2V1, Some s2e2) val () = if isimp then { val lbs = s2Var_get_lbs (s2V1) val () = s2hnf_tyleq_solve_lbs_err (loc0, lbs, s2f2, err) val ubs = s2Var_get_ubs (s2V1) val () = s2hnf_tyleq_solve_ubs_err (loc0, s2f2, ubs, err) } // end of [if] // end of [val] // in // nothing end // end of [s2hnf_equal_solve_lVar_err_nck] (* ****** ****** *) extern fun s2hnf_equal_solve_rVar_err ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V2: s2Var, err: &int ) : void // end of [s2hnf_equal_solve_rVar_err] extern fun s2hnf_equal_solve_rVar_err_nck ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V2: s2Var, err: &int ) : void // end of [s2hnf_equal_solve_rVar_err_nck] implement s2hnf_equal_solve_rVar_err (loc0, s2f1, s2f2, s2V2, err) = let // val s2e1 = s2hnf2exp (s2f1) val s2e2 = s2hnf2exp (s2f2) (* val () = ( println! ("s2hnf_equal_solve_rVar_err: s2e1 = ", s2e1); println! ("s2hnf_equal_solve_rVar_err: s2t1 = ", s2e1.s2exp_srt); println! ("s2hnf_equal_solve_rVar_err: s2e2 = ", s2e2); println! ("s2hnf_equal_solve_rVar_err: s2t2 = ", s2e2.s2exp_srt); ) // end of [val] *) val (ans, s2cs, s2vs, s2Vs) = s2Var_occurcheck_s2exp (s2V2, s2e1) // in // if ans = 0 then let val () = s2Varlst_add_sVarlst (s2Vs, s2V2) in s2hnf_equal_solve_rVar_err_nck (loc0, s2f1, s2f2, s2V2, err) end else let // ans > 0 (* val () = ( println! ("s2exp_equal_solve_rVar_err: s2f1 = ", s2f1); println! ("s2exp_equal_solve_rVar_err: s2f2 = ", s2f2); println! ("s2exp_equal_solve_rVar_err: s2cs = ", s2cs); println! ("s2exp_equal_solve_rVar_err: s2vs = ", s2vs); ) // end of [val] *) in trans3_env_add_eqeq (loc0, s2e1, s2e2) end // end of [if] // end // end of [s2hnf_equal_solve_rVar_err] implement s2hnf_equal_solve_rVar_err_nck (loc0, s2f1, s2f2, s2V2, err) = let // val s2e1 = s2hnf2exp (s2f1) val () = s2Var_s2exp_srtck_err (loc0, s2V2, s2e1, err) // val isimp = s2exp_is_impred (s2e1) val () = if isimp then { val s2ze1 = s2zexp_make_s2exp (s2e1) val () = s2Var_merge_szexp_err (loc0, s2V2, s2ze1, err) } // end of [if] // end of [val] // val () = s2Var_set_link (s2V2, Some s2e1) val () = if isimp then { val lbs = s2Var_get_lbs (s2V2) val () = s2hnf_tyleq_solve_lbs_err (loc0, lbs, s2f1, err) val ubs = s2Var_get_ubs (s2V2) val () = s2hnf_tyleq_solve_ubs_err (loc0, s2f1, ubs, err) } // end of [if] // end of [val] // in // nothing end // end of [s2hnf_equal_solve_rVar_err_nck] (* ****** ****** *) implement s2eff_subeq_solve (loc0, s2fe1, s2fe2) = err where { var err: int = 0 val () = s2eff_subeq_solve_err (loc0, s2fe1, s2fe2, err) } // end of [s2eff_subeq_solve] implement s2eff_subeq_solve_err (loc0, s2fe1, s2fe2, err) = let // val s2fe1 = s2eff_hnfize (s2fe1) val s2fe2 = s2eff_hnfize (s2fe2) // in // case+ (s2fe1, s2fe2) of | (S2EFFset (efs1), _) when effset_isnil efs1 => () | (_, S2EFFset (efs2)) when effset_isall efs2 => () | (S2EFFset (efs1), S2EFFset (efs2)) when effset_subset (efs1, efs2) => () | (S2EFFexp (s2e1), S2EFFexp (s2e2)) when s2exp_syneq (s2e1, s2e2) => () | (_, S2EFFexp (s2e2)) => ( case+ s2e2.s2exp_node of | S2EVar s2V2 => let val s2e1 = s2exp_eff (s2fe1) val s2f1 = s2exp2hnf_cast (s2e1) val s2f2 = s2exp2hnf_cast (s2e2) in s2hnf_equal_solve_rVar_err (loc0, s2f1, s2f2, s2V2, err) end // end of [S2EVar] | _ => let val () = err := err + 1 in the_staerrlst_add (STAERR_s2eff_subeq (loc0, s2fe1, s2fe2)) end // end of [_] ) // end of [S2EFFexp] | (_, _) => let val () = err := err + 1 in the_staerrlst_add (STAERR_s2eff_subeq (loc0, s2fe1, s2fe2)) end // end of [_] // end // end of [s2eff_subeq_solve_err] (* ****** ****** *) implement s2hnf_equal_solve ( loc0, s2f10, s2f20 ) = err where { var err: int = 0 val () = s2hnf_equal_solve_err (loc0, s2f10, s2f20, err) } (* end of [s2hnf_equal_solve] *) implement s2exp_equal_solve ( loc0, s2e10, s2e20 ) = err where { var err: int = 0 val () = s2exp_equal_solve_err (loc0, s2e10, s2e20, err) } (* end of [s2exp_equal_solve] *) (* ****** ****** *) fun s2hnf_equal_solve_abscon_err ( loc0: location, s2f1: s2hnf, s2f2: s2hnf, err: &int ) : void = let // val s2e1 = s2hnf2exp (s2f1) and s2e2 = s2hnf2exp (s2f2) // fun aux_solve ( // nontailrec loc0: location, s2e1: s2exp, s2e2: s2exp, err: &int ) : void = let in // case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of | (S2Eapp (s2e11, s2es12), S2Eapp (s2e21, s2es22)) => let val () = aux_solve (loc0, s2e11, s2e21, err) val () = s2explst_equal_solve_err (loc0, s2es12, s2es22, err) in // nothing end // end of [S2Eapp, S2Eapp] | (_, _) => () // end // end of [aux_solve] // fun aux_check ( // tailrec s2e1: s2exp, s2e2: s2exp ) : bool = let in // case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of | (S2Ecst s2c1, S2Ecst s2c2) => eq_s2cst_s2cst (s2c1, s2c2) | (S2Eapp (s2e1, _), S2Eapp (s2e2, _)) => aux_check (s2e1, s2e2) | (_, _ ) => false // end // end of [aux_check] // val absconeq = aux_check (s2e1, s2e2) // in if absconeq then aux_solve (loc0, s2e1, s2e2, err) else (err := err + 1) end // end of [s2hnf_equal_solve_abscon_err] (* ****** ****** *) implement s2hnf_equal_solve_err (loc0, s2f10, s2f20, err) = let // val err0 = err val s2e10 = s2hnf2exp (s2f10) and s2e20 = s2hnf2exp (s2f20) val s2en10 = s2e10.s2exp_node and s2en20 = s2e20.s2exp_node (* val () = ( println! ("s2hnf_equal_solve_err: err0 = ", err0); print ("s2hnf_equal_solve_err: s2e10 = "); pprint_s2exp (s2e10); print_newline (); print ("s2hnf_equal_solve_err: s2e20 = "); pprint_s2exp (s2e20); print_newline (); ) // end of [val] *) val () = case+ (s2en10, s2en20) of // | (S2Einvar s2e11, _) => let val s2f11 = s2exp2hnf (s2e11) in s2hnf_equal_solve_err (loc0, s2f11, s2f20, err) end // end of [S2Einvar, _] | (_, S2Einvar s2e21) => let val s2f21 = s2exp2hnf (s2e21) in s2hnf_equal_solve_err (loc0, s2f10, s2f21, err) end // end of [_, S2Einvar] // | (S2EVar s2V1, _) => ( case+ s2en20 of | S2EVar s2V2 when s2V1 = s2V2 => () | _ => s2hnf_equal_solve_lVar_err (loc0, s2f10, s2f20, s2V1, err) ) // end of [S2EVar, _] | (_, S2EVar s2V2) => s2hnf_equal_solve_rVar_err (loc0, s2f10, s2f20, s2V2, err) // end of [_, S2EVar] // | (S2Ecst s2c1, s2en20) => (case+ s2en20 of | S2Ecst s2c2 => if eq_s2cst_s2cst (s2c1, s2c2) then () else (err := err + 1) // end of [S2Ecst] | _ => begin trans3_env_add_eqeq (loc0, s2e10, s2e20) end // end of [_] ) // end of [S2Ecst, _] // | (S2Etop (knd1, s2e1), _) => ( case+ s2en20 of | S2Etop (knd2, s2e2) => ( if knd1 >= knd2 then let val () = s2exp_equal_solve_err (loc0, s2e1, s2e2, err) in // nothing end else (err := err + 1) // end of [if] ) // end of [S2Etop] | _ => (err := err + 1) ) // | (S2Eat (s2e11, s2e12), _) => ( case+ s2en20 of | S2Eat (s2e21, s2e22) => let val () = s2exp_equal_solve_err (loc0, s2e11, s2e21, err) val () = s2exp_equal_solve_err (loc0, s2e12, s2e22, err) in // nothing end // end of [S2Eat] | _ => (err := err + 1) ) // | (S2Etyarr (s2e11, s2es12), _) => ( case+ s2en20 of | S2Etyarr (s2e21, s2es22) => let val () = s2exp_equal_solve_err (loc0, s2e11, s2e21, err) val () = s2explst_equal_solve_err (loc0, s2es12, s2es22, err) in // nothing end // end of [S2Etyarr] | _ => (err := err + 1) ) | (S2Etyrec (knd1, npf1, ls2es1), _) => ( case+ s2en20 of | S2Etyrec (knd2, npf2, ls2es2) => let val ( ) = tyreckind_equal_solve_err (loc0, knd1, knd2, err) val () = pfarity_equal_solve_err (loc0, npf1, npf2, err) val isless = tyreckind_is_nameless (knd1) in if isless then labs2explst_equal_solve_err (loc0, ls2es1, ls2es2, err) // end of [if] end // end of [S2Etyrec] | _ => (err := err + 1) ) (* end of [S2Etyrec, _] *) // | (S2Ewthtype (s2e1, ws2es1), _) => ( case+ s2en20 of | S2Ewthtype (s2e2, ws2es2) => let val () = s2exp_equal_solve_err (loc0, s2e1, s2e2, err) // end of [val] in wths2explst_equal_solve_err (loc0, ws2es1, ws2es2, err) end // end of [S2Ewth] | _ => (err := err + 1) ) (* end of [S2Ewth, _] *) // | (_, _) when ( s2hnf_is_abscon s2f10 && s2hnf_is_abscon s2f20 ) => s2hnf_equal_solve_abscon_err (loc0, s2f10, s2f20, err) // end of [abscon, abscon] // | (_, _) when s2hnf_syneq2 (s2f10, s2f20) => () // | (_, _) => trans3_env_add_eqeq (loc0, s2e10, s2e20) // (* | (_, _) => (err := err + 1) *) // end of [val] // val () = if err > err0 then the_staerrlst_add (STAERR_s2exp_equal (loc0, s2e10, s2e20)) // end of [if] // end of [val] in // nothing end // end of [s2hnf_equal_solve_err] implement s2exp_equal_solve_err ( loc0, s2e10, s2e20, err ) = let // val s2f10 = s2exp2hnf (s2e10) and s2f20 = s2exp2hnf (s2e20) // in s2hnf_equal_solve_err (loc0, s2f10, s2f20, err) end // end of [s2exp_equal_solve_err] (* ****** ****** *) implement s2explst_equal_solve_err (loc0, s2es1, s2es2, err) = let // fun loop ( loc0: location , s2es1: s2explst, s2es2: s2explst , err: &int ) : int = case+ s2es1 of | list_cons (s2e1, s2es1) => ( case+ s2es2 of | list_cons (s2e2, s2es2) => let val () = s2exp_equal_solve_err (loc0, s2e1, s2e2, err) // end of [val] in loop (loc0, s2es1, s2es2, err) end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ s2es2 of | list_cons _ => ~1 | list_nil () => 0 ) // end of [list_nil] // end of [loop] // val sgn = loop ( loc0, s2es1, s2es2, err ) // end of [val] val () = if (sgn != 0) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_s2explst_length (loc0, sgn)) } // end of [val] in // nothing end // end of [s2explst_equal_solve_err] (* ****** ****** *) implement labs2explst_equal_solve_err (loc0, ls2es1, ls2es2, err) = let // fun loop ( loc0: location , ls2es1: labs2explst, ls2es2: labs2explst , err: &int ) : int = case+ ls2es1 of | list_cons (ls2e1, ls2es1) => ( case+ ls2es2 of | list_cons (ls2e2, ls2es2) => let val SLABELED (l1, _, s2e1) = ls2e1 val SLABELED (l2, _, s2e2) = ls2e2 val () = label_equal_solve_err (loc0, l1, l2, err) val () = s2exp_equal_solve_err (loc0, s2e1, s2e2, err) in loop (loc0, ls2es1, ls2es2, err) end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ ls2es2 of list_cons _ => ~1 | list_nil () => 0 ) // end of [list_nil] // end of [loop] // val sgn = loop ( loc0, ls2es1, ls2es2, err ) // end of [val] val () = if (sgn != 0) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_labs2explst_length (loc0, sgn)) } // end of [if] // end of [val] in // nothing end // end of [labs2explst_equal_solve_err] (* ****** ****** *) implement wths2explst_equal_solve_err (loc0, xs1, xs2, err) = let // fun loop ( loc0: location , xs1: wths2explst, xs2: wths2explst , err: &int ) : int = let in // case (xs1, xs2) of | (WTHS2EXPLSTcons_invar (k1, x1, xs1), WTHS2EXPLSTcons_invar (k2, x2, xs2)) => let val () = refval_equal_solve_err (loc0, k1, k2, err) val () = s2exp_equal_solve_err (loc0, x1, x2, err) in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTcons_trans (k1, x1, xs1), WTHS2EXPLSTcons_trans (k2, x2, xs2)) => let val () = refval_equal_solve_err (loc0, k1, k2, err) val () = s2exp_equal_solve_err (loc0, x1, x2, err) in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTcons_none (xs1), WTHS2EXPLSTcons_none (xs2)) => let in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTnil (), WTHS2EXPLSTnil ()) => 0 | (_, _) => let val () = err := err + 1 in 1 // shape mismatch end // end of [_, _] // end // end of [loop] // val mis = loop (loc0, xs1, xs2, err) val () = if mis > 0 then the_staerrlst_add (STAERR_wths2explst_shape (loc0, xs1, xs2)) // end of [val] in // nothing end // end of [wths2explst_equal_solve_err] (* ****** ****** *) extern fun s2hnf_tyleq_solve_lVar_err ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V1: s2Var, err: &int ) : void // end of [s2hnf_tyleq_solve_lVar_err] implement s2hnf_tyleq_solve_lVar_err (loc0, s2f1, s2f2, s2V1, err) = let // val s2e2 = s2hnf2exp (s2f2) // val () = s2Var_s2exp_srtck_err (loc0, s2V1, s2e2, err) // val s2ze2 = s2zexp_make_s2exp (s2e2) val () = s2Var_merge_szexp_err (loc0, s2V1, s2ze2, err) // val lbs = s2Var_get_lbs (s2V1) val () = s2hnf_tyleq_solve_lbs_err (loc0, lbs, s2f2, err) // val ub = s2VarBound_make (loc0, s2e2) val ubs = s2Var_get_ubs (s2V1) val () = s2Var_set_ubs (s2V1, list_cons (ub, ubs)) // in // nothing end // end of [s2hnf_tyleq_solve_lVar_err] extern fun s2hnf_tyleq_solve_rVar_err ( loc: location , s2f1: s2hnf, s2f2: s2hnf, s2V2: s2Var, err: &int ) : void // end of [s2hnf_tyleq_solve_rVar_err] implement s2hnf_tyleq_solve_rVar_err (loc0, s2f1, s2f2, s2V2, err) = let // val s2e1 = s2hnf2exp (s2f1) // (* val () = ( println! ("s2hnf_tyleq_solve_rVar_err: s2e1 = ", s2e1); println! ("s2hnf_equal_solve_rVar_err: s2V2 = ", s2V2); ) // end of [val] *) // val () = s2Var_s2exp_srtck_err (loc0, s2V2, s2e1, err) // val () = let val s2ze1 = s2zexp_make_s2exp (s2e1) in s2Var_merge_szexp_err (loc0, s2V2, s2ze1, err) end // end of [val] // val () = let val ubs = s2Var_get_ubs (s2V2) in s2hnf_tyleq_solve_ubs_err (loc0, s2f1, ubs, err) end // end of [val] // val () = let val lb = s2VarBound_make (loc0, s2e1) val lbs = s2Var_get_lbs (s2V2) in s2Var_set_lbs (s2V2, list_cons (lb, lbs)) end // end of [val] // in // nothing end // end of [s2hnf_tyleq_solve_rVar_err] (* ****** ****** *) implement s2hnf_tyleq_solve (loc0, s2f10, s2f20) = err where { var err: int = 0 val () = s2hnf_tyleq_solve_err (loc0, s2f10, s2f20, err) } // end of [s2hnf_tyleq_solve] implement s2exp_tyleq_solve (loc0, s2e10, s2e20) = err where { var err: int = 0 val () = s2exp_tyleq_solve_err (loc0, s2e10, s2e20, err) } // end of [s2exp_tyleq_solve] (* ****** ****** *) implement s2hnf_tyleq_solve_err (loc0, s2f10, s2f20, err) = let // val err0 = err val s2e10 = s2hnf2exp (s2f10) and s2e20 = s2hnf2exp (s2f20) val s2en10 = s2e10.s2exp_node and s2en20 = s2e20.s2exp_node // (* val () = ( println! ("s2hnf_tyleq_solve_err: err0 = ", err0); print ("s2hnf_tyleq_solve_err: s2e10 = "); pprint_s2exp (s2e10); print_newline (); print ("s2hnf_tyleq_solve_err: s2e20 = "); pprint_s2exp (s2e20); print_newline (); ) // end of [val] *) // val () = ( case+ (s2en10, s2en20) of // | (S2Einvar s2e11, _) => let val s2f11 = s2exp2hnf (s2e11) in s2hnf_tyleq_solve_err (loc0, s2f11, s2f20, err) end // end of [S2Einvar, _] | (_, S2Einvar s2e21) => let val s2f21 = s2exp2hnf (s2e21) val s2e21 = s2hnf2exp (s2f21) in case+ s2e21.s2exp_node of | S2EVar s2V2 => s2hnf_equal_solve_rVar_err (loc0, s2f10, s2f21, s2V2, err) | _ => s2hnf_tyleq_solve_err (loc0, s2f10, s2f21, err) end // end of [_, S2Einvar] // | (_, S2EVar s2V2) => s2hnf_tyleq_solve_rVar_err (loc0, s2f10, s2f20, s2V2, err) // end of [_, S2EVar] | (S2EVar s2V1, _) => s2hnf_tyleq_solve_lVar_err (loc0, s2f10, s2f20, s2V1, err) // end of [S2EVar, _] // | (S2Etop (knd1, s2e1), _) => ( case+ s2en20 of | S2Etop (knd2, s2e2) => ( if knd1 >= knd2 then let val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) in // nothing end else (err := err + 1) // end of [if] ) // end of [S2Etop] | _ => (err := err + 1) ) // end of [S2Etop, _] | (_, S2Etop (knd2, s2e2)) => ( case+ 0 of | _ when knd2 = 0 => let // [s2e0] is topized version of some type in if s2exp_is_nonlin (s2e10) then ( if s2exp_tszeq (s2e10, s2e20) then () else (err := err + 1) ) else (err := err + 1) // end of [if] end // end of [knd2 = 0] | _ (* knd2 > 0 *) => (err := err + 1) ) // end of [_, S2Etop] // | (S2Euni _, _) => let // val (pfpush | ()) = trans3_env_push () // // this order is mandatary! val s2e2 = s2hnf_absuni_and_add (loc0, s2f20) val (s2e1, s2ps) = s2exp_uni_instantiate_all (s2e10, loc0, err) // val () = trans3_env_add_proplst_vt (loc0, s2ps) val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) // in trans3_env_pop_and_add_main (pfpush | loc0) end // end of [S2Euni, _] | (_, S2Eexi _) => let // val (pfpush | ()) = trans3_env_push () // // this order is mandatary! val s2e1 = s2hnf_opnexi_and_add (loc0, s2f10) val (s2e2, s2ps) = s2exp_exi_instantiate_all (s2e20, loc0, err) // val () = trans3_env_add_proplst_vt (loc0, s2ps) val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) // in trans3_env_pop_and_add_main (pfpush | loc0) end // end of [_, S2Eexi] // | (_, S2Euni _) => let val (pfpush | ()) = trans3_env_push () val s2e2 = s2hnf_absuni_and_add (loc0, s2f20) val () = s2exp_tyleq_solve_err (loc0, s2e10, s2e2, err) in trans3_env_pop_and_add_main (pfpush | loc0) end // end of [_, S2Euni] | (S2Eexi _, _) => let val (pfpush | ()) = trans3_env_push () val s2e1 = s2hnf_opnexi_and_add (loc0, s2f10) val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e20, err) in trans3_env_pop_and_add_main (pfpush | loc0) end // end of [S2Eexi, _] // | (S2Ecst s2c1, _) => (case+ s2en20 of | S2Ecst s2c2 => if s2cst_subeq (s2c1, s2c2) then () else (err := err + 1) // end of [S2Ecst] | _ => (err := err + 1) ) // end of [S2Ecst, _] // | (S2Eapp (s2e1_fun, s2es1_arg), _) => ( case+ s2en20 of | S2Ecst s2c2 => ( case+ ( s2e1_fun.s2exp_node ) of // [case] | S2Ecst s2c1 => if s2cst_subeq (s2c1, s2c2) then () else (err := err + 1) // end of [S2Ecst] | _ => (err := err + 1) ) // end of [S2Ecst] | S2Eapp (s2e2_fun, s2es2_arg) => ( case+ ( s2e1_fun.s2exp_node , s2e2_fun.s2exp_node ) of // [case] | (S2Ecst s2c1, S2Ecst s2c2) => let val subeq = s2cst_subeq (s2c1, s2c2) in if subeq then let val-list_cons (argsrts, _) = s2cst_get_argsrtss (s2c1) in s2explst_tyleq_solve_argsrtlst_err (loc0, argsrts, s2es1_arg, s2es2_arg, err) end else (err := err + 1) end // end of [S2Ecst, S2Ecst] | (_, _) => let // HX: sound but incomplete! val () = s2exp_equal_solve_err (loc0, s2e1_fun, s2e2_fun, err) val errlen = s2explst_equal_solve_err (loc0, s2es1_arg, s2es2_arg, err) in // nothing end // end of [_, _] ) // end of [S2Eapp] | _ => (err := err + 1) ) (* end of [S2Eapp, _] *) | (S2Efun (fc1, lin1, s2fe1, npf1, s2es1_arg, s2e1_res), _) => ( case+ s2en20 of | S2Efun (fc2, lin2, s2fe2, npf2, s2es2_arg, s2e2_res) => let val () = funclo_equal_solve_err (loc0, fc1, fc2, err) val () = linearity_equal_solve_err (loc0, lin1, lin2, err) val () = pfarity_equal_solve_err (loc0, npf1, npf2, err) val () = s2eff_subeq_solve_err (loc0, s2fe1, s2fe2, err) val () = s2explst_tyleq_solve_err (loc0, s2es2_arg, s2es1_arg, err) // contravariant! val () = s2exp_tyleq_solve_err (loc0, s2e1_res, s2e2_res, err) in // nothing end (* end of [S2Efun] *) | _ => (err := err + 1) ) // end of [S2Efun, _] // | (S2Eat (s2e11, s2e12), _) => ( case+ s2en20 of | S2Eat (s2e21, s2e22) => let val () = s2exp_tyleq_solve_err (loc0, s2e11, s2e21, err) val () = s2exp_equal_solve_err (loc0, s2e12, s2e22, err) in // nothing end // end of [S2Eat] | _ => (err := err + 1) ) // | (S2Etyarr (s2e11, s2es12), _) => ( case+ s2en20 of | S2Etyarr (s2e21, s2es22) => let val () = s2exp_tyleq_solve_err (loc0, s2e11, s2e21, err) val () = s2explst_equal_solve_err (loc0, s2es12, s2es22, err) in // nothing end // end of [S2Etyarr] | _ => (err := err + 1) ) | (S2Etyrec (knd1, npf1, ls2es1), _) => ( case+ s2en20 of | S2Etyrec (knd2, npf2, ls2es2) => let val () = tyreckind_equal_solve_err (loc0, knd1, knd2, err) // end of [val] val () = pfarity_equal_solve_err (loc0, npf1, npf2, err) in labs2explst_tyleq_solve_err (loc0, ls2es1, ls2es2, err) end // end of [S2Etyrec] | _ => (err := err + 1) ) (* end of [S2Etyrec, _] *) // | (S2Edatconptr (d2c1, s2e1, s2es1), _ ) => (case+ s2en20 of | S2Edatconptr (d2c2, s2e2, s2es2) => ( if d2c1 = d2c2 then let val () = s2exp_equal_solve_err (loc0, s2e1, s2e2, err) // end of [val] in s2explst_equal_solve_err (loc0, s2es1, s2es2, err) end else (err := err + 1) ) // end of [S2Edatconptr] | _ => (err := err + 1) ) // end of [S2Edatconptr, _] // | (S2Erefarg (knd1, s2e1), _) => ( case+ s2en20 of | S2Erefarg (knd2, s2e2) => let val () = refval_equal_solve_err (loc0, knd1, knd2, err) // end of [val] in s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) end // end of [S2Erefarg] | _ => (err := err + 1) ) | (S2Ewthtype (s2e1, ws2es1), _) => ( case+ s2en20 of | S2Ewthtype (s2e2, ws2es2) => let val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) // end of [val] in wths2explst_tyleq_solve_err (loc0, ws2es1, ws2es2, err) end // end of [S2Ewth] | _ => (err := err + 1) ) (* end of [S2Ewth, _] *) // | (S2Ewithout (s2e1), _) => ( case+ s2en20 of | S2Ewithout (s2e2) => if ~s2exp_tszeq (s2e1, s2e2) then (err := err + 1) // end of [S2Ewithout] | _ => (err := err + 1) ) // | (_, _) when s2hnf_syneq2 (s2f10, s2f20) => () // | (_, _) => (err := err + 1) // ) (* end of [case] *) // end of [val] // val () = if err > err0 then the_staerrlst_add (STAERR_s2exp_tyleq (loc0, s2e10, s2e20)) // end of [if] // end of [val] // in // nothing end // end of [s2hnf_tyleq_solve_err] implement s2exp_tyleq_solve_err (loc0, s2e10, s2e20, err) = let val err0 = err val s2f10 = s2exp2hnf (s2e10) and s2f20 = s2exp2hnf (s2e20) in s2hnf_tyleq_solve_err (loc0, s2f10, s2f20, err) end // end of [s2exp_tyleq_solve_err] (* ****** ****** *) implement s2explst_tyleq_solve_err (loc0, s2es1, s2es2, err) = let // fun loop ( loc0: location , s2es1: s2explst, s2es2: s2explst , err: &int ) : int = case+ s2es1 of | list_cons (s2e1, s2es1) => ( case+ s2es2 of | list_cons (s2e2, s2es2) => let val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) // end of [val] in loop (loc0, s2es1, s2es2, err) end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ s2es2 of | list_cons _ => ~1 | list_nil () => 0 ) // end of [list_nil] // end of [loop] // val sgn = loop ( loc0, s2es1, s2es2, err ) // end of [val] val () = if (sgn != 0) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_s2explst_length (loc0, sgn)) } // end of [val] in // nothing end // end of [s2explst_tyleq_solve_err] (* ****** ****** *) implement labs2explst_tyleq_solve_err (loc0, ls2es1, ls2es2, err) = let // fun loop ( loc0: location , ls2es1: labs2explst, ls2es2: labs2explst , err: &int ) : int = case+ ls2es1 of | list_cons (ls2e1, ls2es1) => ( case+ ls2es2 of | list_cons (ls2e2, ls2es2) => let val SLABELED (l1, _, s2e1) = ls2e1 val SLABELED (l2, _, s2e2) = ls2e2 val () = label_equal_solve_err (loc0, l1, l2, err) val () = s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) in loop (loc0, ls2es1, ls2es2, err) end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ ls2es2 of list_cons _ => ~1 | list_nil () => 0 ) // end of [list_nil] // end of [loop] // val sgn = loop ( loc0, ls2es1, ls2es2, err ) // end of [val] val () = if (sgn != 0) then { val () = err := err + 1 val () = the_staerrlst_add (STAERR_labs2explst_length (loc0, sgn)) } // end of [val] in // nothing end // end of [labs2explst_tyleq_solve_err] (* ****** ****** *) implement wths2explst_tyleq_solve_err (loc0, xs1, xs2, err) = let // fun loop ( loc0: location , xs1: wths2explst, xs2: wths2explst , err: &int ) : int = let in // case (xs1, xs2) of | (WTHS2EXPLSTcons_invar (k1, x1, xs1), WTHS2EXPLSTcons_invar (k2, x2, xs2)) => let val () = refval_equal_solve_err (loc0, k1, k2, err) val () = s2exp_tyleq_solve_err (loc0, x1, x2, err) in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTcons_invar (k1, x1, xs1), WTHS2EXPLSTcons_trans (k2, x2, xs2)) => let val () = refval_equal_solve_err (loc0, k1, k2, err) val () = s2exp_tyleq_solve_err (loc0, x1, x2, err) in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTcons_trans (k1, x1, xs1), WTHS2EXPLSTcons_trans (k2, x2, xs2)) => let val () = refval_equal_solve_err (loc0, k1, k2, err) val () = s2exp_tyleq_solve_err (loc0, x1, x2, err) in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTcons_none (xs1), WTHS2EXPLSTcons_none (xs2)) => let in loop (loc0, xs1, xs2, err) end | (WTHS2EXPLSTnil (), WTHS2EXPLSTnil ()) => 0 | (_, _) => let val () = err := err + 1 in 1 // shape mismatch end // end of [_, _] // end // end of [loop] // val mis = loop (loc0, xs1, xs2, err) val () = if mis > 0 then the_staerrlst_add (STAERR_wths2explst_shape (loc0, xs1, xs2)) // end of [val] in // nothing end // end of [wths2explst_tyleq_solve_err] (* ****** ****** *) implement s2hnf_tyleq_solve_lbs_err (loc0, lbs, s2f, err) = let macdef loop = s2hnf_tyleq_solve_lbs_err in case+ lbs of | list_cons (lb, lbs) => let val s2f_lb = s2exp2hnf (s2VarBound_get_val (lb)) val () = s2hnf_tyleq_solve_err (loc0, s2f_lb, s2f, err) in loop (loc0, lbs, s2f, err) end // end of [list_cons] | list_nil () => () end // end of [s2hnf_tyleq_solve_lbs_err] implement s2hnf_tyleq_solve_ubs_err (loc0, s2f, ubs, err) = let macdef loop = s2hnf_tyleq_solve_ubs_err in case+ ubs of | list_cons (ub, ubs) => let val s2f_ub = s2exp2hnf (s2VarBound_get_val (ub)) val () = s2hnf_tyleq_solve_err (loc0, s2f, s2f_ub, err) in loop (loc0, s2f, ubs, err) end // end of [list_cons] | list_nil () => () end // end of [s2hnf_tyleq_solve_ubs_err] (* ****** ****** *) implement s2explst_tyleq_solve_argsrtlst_err (loc0, argsrts, s2es1, s2es2, err) = let (* val () = ( println! "s2explst_tyleq_solve_argsrtlst_err: enter" ) // end of [val] *) in // case+ s2es1 of | list_cons (s2e1, s2es1) => ( case+ s2es2 of | list_cons (s2e2, s2es2) => let val-list_cons (argsrt, argsrts) = argsrts // end of [val] val pol = s2rt_get_pol (argsrt.1) val () = ( if pol = 0 then s2exp_equal_solve_err (loc0, s2e1, s2e2, err) else if pol > 0 then s2exp_tyleq_solve_err (loc0, s2e1, s2e2, err) else // pol < 0 s2exp_tyleq_solve_err (loc0, s2e2, s2e1, err) // end of [if] ) : void // end of [val] in s2explst_tyleq_solve_argsrtlst_err (loc0, argsrts, s2es1, s2es2, err) end // end of [list_cons] | list_nil () => () ) // end of [list_cons] | list_nil () => () // end // end of [s2explst_tyleq_solve_argsrtlst_err] (* ****** ****** *) fun s2hnf_hypequal_solve_abscon ( loc0: location, s2f1: s2hnf, s2f2: s2hnf ) : void = let (* val () = begin println! ("s2exp_hypequal_solve_abscon: s2e1 = ", s2f1); println! ("s2exp_hypequal_solve_abscon: s2e2 = ", s2f2); end // end of [val] *) val s2e1 = s2hnf2exp (s2f1) and s2e2 = s2hnf2exp (s2f2) // fun auxsolve ( loc0: location , s2e1: s2exp, s2e2: s2exp ) : void = case+ (s2e1.s2exp_node, s2e2.s2exp_node) of | (S2Eapp (s2e1_fun, s2es1_arg), S2Eapp (s2e2_fun, s2es2_arg)) => let val () = auxsolve (loc0, s2e1_fun, s2e2_fun) in s2explst_hypequal_solve (loc0, s2es1_arg, s2es2_arg) end | (_, _) => () // end of [auxsolve] // fun auxcheck ( s2e1: s2exp, s2e2: s2exp ) : bool = ( case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of // case+ | (S2Ecst s2c1, S2Ecst s2c2) => eq_s2cst_s2cst (s2c1, s2c2) | (S2Eapp (s2e1, _), S2Eapp (s2e2, _)) => auxcheck (s2e1, s2e2) | (_, _) => false ) in // if auxcheck(s2e1, s2e2) then begin // // C1(arg1_1)...(arg1_n) = C2(arg2_1)...(arg2_n) // auxsolve (loc0, s2e1, s2e2) end // end of [then] else begin trans3_env_hypadd_prop (loc0, s2exp_bool false) end // end of [else] // end // end of [s2exp_hypequal_solve_abscon] (* ****** ****** *) implement s2hnf_hypequal_solve (loc0, s2f1, s2f2) = let (* val () = ( println! ("s2exp_hypequal_solve: s2f1 = ", s2f1); println! ("s2exp_hypequal_solve: s2f2 = ", s2f2); ) (* end of [val] *) *) // val s2e1 = s2hnf2exp (s2f1) and s2e2 = s2hnf2exp (s2f2) // in // case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of // case+ | (_, _) when ( s2hnf_is_abscon(s2f1) && s2hnf_is_abscon(s2f2) ) (* when *) => s2hnf_hypequal_solve_abscon (loc0, s2f1, s2f2) // end of [abscon, abscon] | (S2Ecst s2c1, S2Ecst s2c2) when s2c1 = s2c2 => () // | (S2Evar s2v1, S2Evar s2v2) => let val sgn = compare_s2var_s2var(s2v1, s2v2) in case+ sgn of | _ when sgn > 0 => trans3_env_hypadd_bind (loc0, s2v1, s2f2) | _ when sgn < 0 => trans3_env_hypadd_bind (loc0, s2v2, s2f1) | _ (* sgn = 0: s2v1 = s2v2 *) => ((*void*)) end // end of [S2Evar _, S2Evar _] // | (S2Evar s2v1, _) => let val test = s2var_occurcheck_s2exp(s2v1, s2e2) in if test then trans3_env_hypadd_eqeq(loc0, s2f1, s2f2) else trans3_env_hypadd_bind(loc0, s2v1, s2f2) // end of [if] end // end of [(S2Evar, _)] | (_, S2Evar s2v2) => let val test = s2var_occurcheck_s2exp(s2v2, s2e1) in if test then trans3_env_hypadd_eqeq(loc0, s2f1, s2f2) else trans3_env_hypadd_bind(loc0, s2v2, s2f1) // end of [if] end // end of [(_, S2Evar)] // | (S2Efun (_, _, _, _, s2es11, s2e12), S2Efun (_, _, _, _, s2es21, s2e22)) => let val () = s2exp_hypequal_solve(loc0, s2e12, s2e22) // end of [val] in s2explst_hypequal_solve(loc0, s2es21, s2es11) end // end of [S2Efun _, S2Efun _] // | (_, _) => trans3_env_hypadd_eqeq(loc0, s2f1, s2f2) // end // end of [s2exp_hypequal_solve] (* ****** ****** *) implement s2exp_hypequal_solve (loc0, s2e10, s2e20) = let val s2f10 = s2exp2hnf(s2e10) and s2f20 = s2exp2hnf(s2e20) in s2hnf_hypequal_solve(loc0, s2f10, s2f20) end // end of [s2exp_hypequal_solve] implement s2explst_hypequal_solve (loc0, s2es1, s2es2) = let in // case+ s2es1 of | list_nil() => ( case+ s2es2 of | list_nil() => () | list_cons _ => trans3_env_hypadd_prop(loc0, s2exp_bool(false)) ) // end of [list_nil] | list_cons(s2e1, s2es1) => ( case+ s2es2 of | list_nil() => trans3_env_hypadd_prop(loc0, s2exp_bool(false)) | list_cons (s2e2, s2es2) => let val () = s2exp_hypequal_solve (loc0, s2e1, s2e2) // end of [val] in s2explst_hypequal_solve (loc0, s2es1, s2es2) end // end of [list_cons] ) (* end of [list_cons] *) // end // end of [s2explst_hypequal_solve] (* ****** ****** *) (* end of [pats_staexp2_solve.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_toplevel.dats0000664000175000017500000001174512655455557021016 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fun pskip_tokbuf (buf: &tokbuf): token = let val tok = tokbuf_get_token (buf) (* val () = println! ("pskip_tokbuf: tok = ", tok) *) in // case+ tok.token_node of // | T_EOF () => tok // | T_SORTDEF () => tok | T_DATASORT () => tok // | T_ABSTYPE _ => tok | T_ASSUME () => tok | T_STACST () => tok | T_STADEF () => tok | T_TYPEDEF _ => tok | T_DATATYPE _ => tok | T_EXCEPTION () => tok // | T_FUN _ => tok | T_VAL _ => tok | T_VAR _ => tok // | T_IMPLEMENT (knd) => tok // | T_FIXITY _ => tok | T_NONFIX () => tok | T_SYMINTR () => tok | T_SYMELIM () => tok // | T_EXTERN () => tok // | T_LOCAL () => tok // | T_STALOAD () => tok | T_DYNLOAD () => tok // | T_SRPERROR () => tok | T_SRPPRERR () => tok | T_SRPPRINT () => tok // | T_SRPASSERT () => tok // | T_SRPUNDEF () => tok | T_SRPDEFINE () => tok // | T_SRPIF () => tok | T_SRPIFDEF () => tok | T_SRPIFNDEF () => tok | T_SRPINCLUDE () => tok // | _ => let val () = tokbuf_incby1 (buf) in pskip_tokbuf (buf) end (* end of [_] *) // end // end of [pskip_tokbuf] fun pskip1_tokbuf_reset (buf: &tokbuf): token = let // val tok = tokbuf_get_token (buf) // val () = ( case+ tok.token_node of // | T_EOF ((*void*)) => () // | tnode when tnode_is_comment (tnode) => () // | _ => { val loc = tok.token_loc val err = parerr_make (loc, PE_DISCARD) val ((*void*)) = the_parerrlst_add (err) } // end of [_] ) : void // end of [val] // val () = tokbuf_incby1 (buf) // val tok = pskip_tokbuf (buf) // val ((*void*)) = tokbuf_reset (buf) // in tok end // end of [pskip1_tokbuf_reset] (* ****** ****** *) fun p_toplevel_fun ( buf: &tokbuf , nerr: &int? >> int, f: parser (d0ecl) ) : d0eclist = let fun loop ( buf: &tokbuf , res: &d0eclist_vt? >> d0eclist_vt , nerr: &int >> int, f: parser (d0ecl) ) : void = let val nerr0 = nerr val d0ecl = f (buf, 1(*bt*), nerr) in case+ 0 of | _ when nerr > nerr0 => let val tok0 = tokbuf_get_token (buf) // val () = ( case+ tok0.token_node of | T_EOF () => (nerr := nerr0) | _ (*non-EOF*) => () ) : void // end of [val] // val tok1 = pskip1_tokbuf_reset (buf) // in case+ tok1.token_node of | T_EOF () => (res := list_vt_nil()) | _ => loop (buf, res, nerr, f) end // end of [_ when ...] | _ (*noerror*) => let // val () = tokbuf_reset (buf) // val () = let val xs = // HX: for skipping semicolons pstar_fun{token}(buf, 1(*bt*), p_SEMICOLON) in list_vt_free (xs) // end of [val] end // end of [val] // val () = res := list_vt_cons{d0ecl}{0}(d0ecl, ?) // end of [val] val+list_vt_cons (_, !p_res1) = res val () = loop (buf, !p_res1, nerr, f) prval ((*void*)) = fold@ (res) // HX: no-op // in // nothing end // end of [_] end (* end of [loop] *) val () = nerr := 0 var res: d0eclist_vt val () = loop (buf, res, nerr, f) // val _(*EOF*) = p_EOF (buf, 0(*bt*), nerr) // HX: no more tokens // in list_of_list_vt(res) end // end of [p_toplevel_fun] (* ****** ****** *) implement p_toplevel_sta (buf, nerr) = p_toplevel_fun (buf, nerr, p_d0ecl_sta) implement p_toplevel_dyn (buf, nerr) = p_toplevel_fun (buf, nerr, p_d0ecl_dyn) (* ****** ****** *) (* end of [pats_parsing_toplevel.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_looping.dats0000664000175000017500000000677112655455557020274 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2013 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement hidexp_ccomp_loop (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEloop (init, test, post, body) = hde0.hidexp_node // val res_init = ( case+ init of | Some (hde) => let var res = instrseq_make_nil () val _(*void*) = hidexp_ccomp (env, res, hde) in instrseq_get_free (res) end // end of [Some] | None () => list_nil () ) : instrlst // end of [val] // val tlab_init = tmplab_make (loc0) val tlab_fini = tmplab_make (loc0) val tlab_cont = ( case+ post of | Some _ => tmplab_make (loc0) | None _ => tlab_init ) : tmplab // end of [val] // val ( ) = ccompenv_inc_loopexnenv (env, tlab_init, tlab_fini, tlab_cont) // val res_test = instrseq_make_nil () val pmv_test = hidexp_ccomp (env, res_test, test) val res_test = instrseq_get_free (res_test) // val res_post = ( case+ post of | Some (hde) => let var res = instrseq_make_nil () val _(*void*) = hidexp_ccomp (env, res, hde) in instrseq_get_free (res) end // end of [Some] | None () => list_nil () ) : instrlst // end of [val] // val res_body = instrseq_make_nil () val pmv_body = hidexp_ccomp (env, res_body, body) val res_body = instrseq_get_free (res_body) // val () = ccompenv_dec_loopexnenv (env) // val ins_loop = instr_loop ( loc0, tlab_init, tlab_fini, tlab_cont , res_init, pmv_test, res_test, res_post, res_body ) // end of [instr_loop] val () = instrseq_add (res, ins_loop) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_loop] (* ****** ****** *) implement hidexp_ccomp_loopexn (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEloopexn (knd) = hde0.hidexp_node // val tlab = ( if knd = 0 then ccompenv_get_loopfini (env) else ccompenv_get_loopcont (env) // end of [if] ) : tmplab // end of [val] // val ins_lpxn = instr_loopexn (loc0, knd, tlab) // val () = instrseq_add (res, ins_lpxn) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_loopexn] (* ****** ****** *) (* end of [pats_ccomp_looping.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_lstate.dats0000664000175000017500000004372712655455557021104 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_lstate" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* overload compare with compare_d2var_d2var *) (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement lstbefitm_make (d2v, linval) = let val opt = d2var_get_type (d2v) in '{ lstbefitm_var= d2v, lstbefitm_linval= linval, lstbefitm_type= opt } end // end of [lstbefitm_make] (* ****** ****** *) implement fprint_lstbefitm (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // end of [macdef] val () = prstr "lstbefitm(" val () = fprint_d2var (out, x.lstbefitm_var) val () = prstr ", " val () = fprint_int (out, x.lstbefitm_linval) val () = prstr ", " val opt = x.lstbefitm_type val () = ( case+ opt of | Some (s2e) => (prstr "Some("; fprint_s2exp (out, s2e); prstr ")") | None () => prstr "None()" ) : void // end of [val] val () = prstr ")" // end of [val] // in // nothing end // end of [fprint_lstbefitm] implement fprint_lstbefitmlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_lstbefitm) // end of [fprint_lstbefitmlst] (* ****** ****** *) implement lstbefitmlst_restore_type (xs) = list_app_fun (xs, f) where { fun f (x: lstbefitm): void = d2var_set_type (x.lstbefitm_var, x.lstbefitm_type) // end of [f] } // end of [where] // end of [lstbefitmlst_restore_type] implement lstbefitmlst_restore_linval_type (xs) = list_app_fun (xs, f) where { fun f (x: lstbefitm): void = let val d2v = x.lstbefitm_var val () = d2var_set_linval (d2v, x.lstbefitm_linval) val () = d2var_set_type (d2v, x.lstbefitm_type) in // nothing end // end of [f] } // end of [where] // end of [lstbefitmlst_restore_type] (* ****** ****** *) typedef saityp = s2expopt typedef saityplst = List (saityp) viewtypedef saityplst_vt = List_vt (saityp) extern fun fprint_saityp : fprint_type (saityp) implement fprint_saityp (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in case+ x of | Some (s2e) => (prstr "Some("; fpprint_s2exp (out, s2e); prstr ")") | None () => prstr "None()" end // end of [fprint_saityp] extern fun fprint_saityplst : fprint_type (saityplst) implement fprint_saityplst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_saityp) // end of [fprint_saityplst] extern fun fprint_saityplst_vt (out: FILEref, xs: !saityplst_vt): void implement fprint_saityplst_vt (out, xs) = fprint_saityplst (out, $UN.castvwtp1 {saityplst} (xs)) // end of [fprint_saityplst_vt] (* ****** ****** *) extern fun saityplst_check (d2v: d2var, xs: saityplst): int // 0/1: skip/merge // end of [saityplst_check] local fun auxlst ( s2e0: s2exp, xs: saityplst ) : int = ( case+ xs of | list_cons (x, xs) => ( case+ x of | Some (s2e) => let val iseq = s2exp_refeq (s2e0, s2e) in if iseq then auxlst (s2e0, xs) else 1(*merge*) end // end of [SAITYPsome] | None () => auxlst (s2e0, xs) ) // end of [list_cons] | list_nil () => 0 (*skip*) ) // end of [auxlst_check] in // in of [local] implement saityplst_check (d2v, xs) = let val-list_cons (x, xs) = xs in // case x of | Some (s2e0) => let val () = d2var_set_type (d2v, Some s2e0) in auxlst (s2e0, xs) end // end of [None] | None () => let val () = d2var_set_type (d2v, None ()) in 0(*skip*) end // end of [None] // end // end of [saityplst_check] end // end of [local] (* ****** ****** *) viewtypedef lstaftitm = @{ lstaftitm_var= d2var , lstaftitm_knd= int // 0/1/2: skip/merge/sub+merge , lstaftitm_type= s2expopt // it can be found in [lstaftitm_var] , lstaftitm_saits= saityplst_vt } // end of [lstaftitm] viewtypedef lstaftitmlst = List_vt (lstaftitm) (* ****** ****** *) extern fun fprint_lstaftitm (out: FILEref, x: &lstaftitm): void implement fprint_lstaftitm (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) val () = prstr "LSTAFTITM(\n" val () = fprint_d2var (out, x.lstaftitm_var) val () = prstr "\n" val () = fprint_int (out, x.lstaftitm_knd) val () = prstr "\n" val () = fprint_s2expopt (out, x.lstaftitm_type) val () = prstr "\n" val () = fprint_saityplst_vt (out, x.lstaftitm_saits) val () = prstr "\n)" in // nothing end // end of [fprint_lstaftitm] extern fun fprint_lstaftitmlst (out: FILEref, xs: !lstaftitmlst): void implement fprint_lstaftitmlst (out, xs) = ( case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val () = fprint_lstaftitm (out, !p_x) val () = fprint_newline (out) val () = fprint_lstaftitmlst (out, !p_xs1) prval () = fold@ (xs) in // nothing end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) ) // end of [fprint_lstaftitmlst] extern fun lstaftitmlst_free (xs: lstaftitmlst): void implement lstaftitmlst_free (xs) = ( case+ xs of | ~list_vt_cons (x, xs) => let val-~list_vt_nil () = x.lstaftitm_saits in lstaftitmlst_free (xs) end // end of [list_vt_cons] | ~list_vt_nil () => () ) // end of [lstaftitmlst_free] (* ****** ****** *) extern fun lstaftitmlst_make (xs: lstbefitmlst): lstaftitmlst implement lstaftitmlst_make (xs) = let // fun loop ( xs: lstbefitmlst , res: &lstaftitmlst? >> lstaftitmlst ) : void = let in case+ xs of | list_cons (x, xs) => let val d2v = x.lstbefitm_var val () = res := list_vt_cons {lstaftitm}{0} (?, ?) // end of [val] val+list_vt_cons (!p_x, !p_res1) = res val () = p_x->lstaftitm_var := d2v val () = p_x->lstaftitm_knd := 0(*default*) val () = p_x->lstaftitm_type := None(*default*) val () = p_x->lstaftitm_saits := list_vt_nil val () = loop (xs, !p_res1) in fold@ (res) end | list_nil () => (res := list_vt_nil ()) end // end of [loop] // var res: lstaftitmlst val () = loop (xs, res) // in res end // end of [lstaftitmlst_make] (* ****** ****** *) extern fun lstaftitmlst_update (xs: !lstaftitmlst): void implement lstaftitmlst_update (xs) = ( // case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val d2v = p_x->lstaftitm_var val sait = d2var_get_type (d2v) val saits = p_x->lstaftitm_saits val () = p_x->lstaftitm_saits := list_vt_cons (sait, saits) val () = lstaftitmlst_update (!p_xs1) prval () = fold@ (xs) in // nothing end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) // ) // end of [lstaftitmlst_update] (* ****** ****** *) extern fun lstaftitmlst_reverse (xs: !lstaftitmlst): void // reverse saityplst implement lstaftitmlst_reverse (xs) = ( // case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val saits = p_x->lstaftitm_saits val () = p_x->lstaftitm_saits := list_vt_reverse (saits) val () = lstaftitmlst_reverse (!p_xs1) prval () = fold@ (xs) in // nothing end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) // ) // end of [lstaftitmlst_reverse] (* ****** ****** *) dataviewtype lstaftc3nstr = LSTAFTC3NSTR of (lstaftitmlst, List_vt (c3nstroptref)) (* ****** ****** *) assume lstaftc3nstr_viewtype = lstaftc3nstr (* ****** ****** *) implement fprint_lstaftc3nstr (out, x) = let // val LSTAFTC3NSTR (!p_lsais, _) = x val () = fprint_lstaftitmlst (out, !p_lsais) prval () = fold@ (x) // in // nothing end // end of [fprint_lstaftc3nstr] (* ****** ****** *) implement lstaftc3nstr_initize (lsbis) = let // val lsais = lstaftitmlst_make (lsbis) val ctrs = list_vt_nil {c3nstroptref} () // in LSTAFTC3NSTR (lsais, ctrs) end // end of [lstaftc3nstr_initize] (* ****** ****** *) implement lstaftc3nstr_update (lsaft, ctr) = let // val+LSTAFTC3NSTR (!p1_lsais, !p2_ctrs) = lsaft val () = lstaftitmlst_update (!p1_lsais) val () = !p2_ctrs := list_vt_cons (ctr, !p2_ctrs) prval () = fold@ (lsaft) // in // nothing end // end of [lstaftc3nstr_update] (* ****** ****** *) implement lstaftc3nstr_finalize (lsaft) = let // val+~LSTAFTC3NSTR (lsais, ctrs) = lsaft val () = lstaftitmlst_free (lsais) val-list_vt_nil () = ctrs // HX: [ctrs] should be nil! // in // nothing end // end of [lstaftc3nstr_finalize] (* ****** ****** *) extern fun lstaftc3nstr_check (lsaft: !lstaftc3nstr, invres: i2nvresstate): void // end of [lstaftc3nstr_check] local fun d2var_is_done (d2v: d2var): bool = let val opt = d2var_get_finknd (d2v) in case+ opt of D2VFINdone _ => true | _ => false end // end of [d2var_is_done] fun aux1 (xs: !lstaftitmlst): d2varlst_vt = ( // case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val d2v = p_x->lstaftitm_var val ans = let val isdone = d2var_is_done (d2v) in if isdone then 0 else let val saits = $UN.castvwtp1{saityplst}(p_x->lstaftitm_saits) in saityplst_check (d2v, saits) end // end of [if] end : int // end of [val] val d2vs = aux1 (!p_xs1) prval () = fold@ (xs) in if ans(*merge*) > 0 then list_vt_cons (d2v, d2vs) else d2vs end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ (xs) in list_vt_nil () end // end of [list_vt_nil] // ) // end of [aux1] fun aux2 ( d2v0: d2var, d2vs: d2varlst, k: &int ) : s2expopt = ( // case+ d2vs of | list_cons (d2v, d2vs) => let val sgn = compare (d2v0, d2v) in if sgn = 0 then let val opt = d2var_get_mastype (d2v) in (k := 1; opt) end else aux2 (d2v0, d2vs, k) // end of [if] end // end of [list_cons] | list_nil () => None () // ) // end of [aux2] fun aux3 ( d2v0: d2var , args: i2nvarglst, d2vs: d2varlst, k: &int ) : s2expopt = ( // case+ args of | list_cons (arg, args) => let val d2v = i2nvarg_get_var (arg) // end of [val] val sgn = compare (d2v0, d2v) in if sgn = 0 then let val () = k := 2 in i2nvarg_get_type (arg) end else aux3 (d2v0, args, d2vs, k) // end of [if] end // end of [list_cons] | list_nil () => aux2 (d2v0, d2vs, k) // ) // end of [aux3] fun auxlst ( xs: !lstaftitmlst, args: i2nvarglst, d2vs: d2varlst ) : void = let in // case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val d2v0 = p_x->lstaftitm_var var knd: int = 0 val opt = aux3 (d2v0, args, d2vs, knd) val () = p_x->lstaftitm_knd := knd val () = p_x->lstaftitm_type := opt val () = if knd > 0 then d2var_set_type (d2v0, opt) val () = auxlst (!p_xs1, args, d2vs) in fold@ (xs) end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) // end // end of [auxlst] in (* in of [local] *) implement lstaftc3nstr_check (lsaft, invres) = let // val+LSTAFTC3NSTR (!p_lsais, _) = lsaft // val d2vs = aux1 (!p_lsais) // val () = let val args = invres.i2nvresstate_arg val d2vs = $UN.castvwtp1 {d2varlst} (d2vs) in auxlst (!p_lsais, args, d2vs) end // end of [val] // val () = list_vt_free (d2vs) // prval () = fold@ (lsaft) // in // nothing end // end of [lstaftc3nstr_check] end // end of [local] (* ****** ****** *) local fun auxerr_some ( loc: loc_t, d2v: d2var, s2e0: s2exp ) : void = let val () = prerr_error3_loc (loc) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is consumed but it should be retained with the type [" val () = prerr_s2exp (s2e0) val () = prerr "] instead." val () = prerr_newline () in the_trans3errlst_add (T3E_d2var_some (loc, d2v, s2e0)) end // end of [auxerr_some] fun auxerr_none ( loc: loc_t, d2v: d2var, s2e: s2exp ) : void = let val () = prerr_error3_loc (loc) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is retained with the type [" val () = prerr_s2exp (s2e) val () = prerr "] but it should be consumed instead." val () = prerr_newline () in the_trans3errlst_add (T3E_d2var_some (loc, d2v, s2e)) end // end of [auxerr_none] fun auxerr_some2 ( loc: loc_t, d2v: d2var, s2e0: s2exp, s2e: s2exp ) : void = let val () = prerr_error3_loc (loc) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is retained but with a type that fails to merge." val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d2var_some2 (loc, d2v, s2e0, s2e)) end // end of [auxerr_some2] fun auxsait ( loc: loc_t , d2v: d2var (* perform merge for [d2v] *) , knd: int // HX: 0/1/2 : skip/merge/sub+merge , sub: !stasub , sait0: s2expopt, sait: s2expopt ) : void = let in // case+ sait0 of | Some(s2e0) => ( case+ sait of | Some(s2e) => ( case+ 0 of | _ when knd >= 1 => let val s2e0 = ( if knd >= 2 then s2exp_subst (sub, s2e0) else s2e0 // end of [if] ) : s2exp // end of [val] // val (pfpush|()) = trans3_env_push() val err = $SOL.s2exp_tyleq_solve (loc, s2e, s2e0) val knd = C3TKlstate_var (d2v) val ((*void*)) = trans3_env_pop_and_add (pfpush | loc, knd) // val () = if (err > 0) then { val () = prerr_the_staerrlst () val () = auxerr_some2 (loc, d2v, s2e0, s2e) } (* end of [if] *) // end of [val] in // nothing end | _ (* knd = 0 *) => () ) // end of [Some] | None ((*void*)) => auxerr_some (loc, d2v, s2e0) ) | None((*void*)) => ( case+ sait of | Some(s2e) => auxerr_none (loc, d2v, s2e) | None() => () ) (* end of [None] *) // end // end of [auxsait] fun auxmain ( xs: !lstaftitmlst , ctr: c3nstroptref, sub: !stasub ) : void = ( case+ xs of | list_vt_cons (!p_x, !p_xs1) => let val d2v = p_x->lstaftitm_var val knd = p_x->lstaftitm_knd val sait0 = d2var_get_type (d2v) val-~list_vt_cons (sait, saits) = p_x->lstaftitm_saits val () = p_x->lstaftitm_saits := saits val ctrloc = ctr.c3nstroptref_loc val () = auxsait (ctrloc, d2v, knd, sub, sait0, sait) val () = auxmain (!p_xs1, ctr, sub) in fold@ (xs) end // end of [list_vt_cons] | list_vt_nil () => fold@ (xs) ) // end of [auxmain] fun auxmainlst ( xs: !lstaftitmlst , ctrs: List_vt (c3nstroptref), invres: i2nvresstate ) : void = let in // case+ ctrs of | ~list_vt_cons (ctr, ctrs) => let val ctrloc = ctr.c3nstroptref_loc val sub = stasub_make_svarlst (ctrloc, invres.i2nvresstate_svs) val s2ps = s2explst_subst_vt (sub, invres.i2nvresstate_gua) // val (pfpush|()) = trans3_env_push() // val () = trans3_env_add_proplst_vt (ctrloc, s2ps) val () = auxmain (xs, ctr, sub) // val s3is = trans3_env_pop (pfpush | (*none*)) val c3t0 = c3nstr_itmlst (ctrloc, C3TKlstate(), (l2l)s3is) val () = let val ref = ctr.c3nstroptref_ref in !ref := Some (c3t0) end // end of [val] // val () = stasub_free (sub) in auxmainlst (xs, ctrs, invres) end // end of [list_vt_cons] // | ~list_vt_nil((*void*)) => () // end // end of [auxmainlst] in // in of [local] implement lstaftc3nstr_process (lsaft, invres) = let // val () = lstaftc3nstr_check (lsaft, invres) // (* val () = print "lstaftc3nstr_process:\n" val () = fprint_lstaftc3nstr (stdout_ref, lsaft) *) // val LSTAFTC3NSTR (!p_lsais, !p_ctrs) = lsaft // val ctrs = !p_ctrs val () = !p_ctrs := list_vt_nil () val () = auxmainlst (!p_lsais, ctrs, invres) // prval ((*void*)) = fold@ (lsaft) // in // nothing end // end of [lstaftc3nstr_process] end // end of [local] (* ****** ****** *) implement i2nvarglst_update (loc, args) = let in // case+ args of | list_cons (arg, args) => let // val d2v = i2nvarg_get_var (arg) val opt = i2nvarg_get_type (arg) (* val () = println! ("i2nvarglst_update: d2v = ", d2v) val () = println! ("i2nvarglst_update: opt = ", opt) *) val () = d2var_inc_linval (d2v) // end of [val] // val () = d2var_set_type (d2v, opt) // in i2nvarglst_update (loc, args) end // end of [list_cons] | list_nil () => () // end // end of [i2nvarglst_update] (* ****** ****** *) implement i2nvresstate_update (loc, invres) = let // val () = trans3_env_add_svarlst (invres.i2nvresstate_svs) val () = trans3_env_hypadd_proplst (loc, invres.i2nvresstate_gua) // in // // HX-2012-08: // updating is already done during merge but this is i2nvarglst_update (loc, invres.i2nvresstate_arg) // more appropriate // end // end of [i2nvresstate_update] (* ****** ****** *) (* end of [pats_trans3_lstate.dats] *) ATS2-Postiats-0.2.6/./src/pats_intinf.dats0000664000175000017500000000331412655455557016721 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2014 // (* ****** ****** *) // #include "./pats_params.hats" // (* ****** ****** *) #if C3NSTRINTKND="intknd" #then // #include "./pats_intinf_int.hats" // #elif C3NSTRINTKND="gmpknd" #then // #include "./pats_intinf_gmp.hats" // #else // #error ("ERROR: pats_intinf: [C3NSTRINTKND] is undefined!\n") // #endif // end of [#if] (* ****** ****** *) (* end of [pats_intinf.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_subst.dats0000664000175000017500000012014312655455557017753 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_ccomp_subst" (* ****** ****** *) staload ERR = "./pats_error.sats" staload GLOB = "./pats_global.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) overload fprint with fprint_stasub overload fprint with fpprint_t2mpmarg overload fprint with fpprint_t2mpmarglst (* ****** ****** *) overload fprint with fprint_vbindmap (* ****** ****** *) macdef l2l (xs) = list_of_list_vt (,(xs)) macdef list_vt2t (xs) = $UN.linlst2lst (,(xs)) (* ****** ****** *) local fun auxlst ( loc0: location , sub: !stasub, xs: t2mpmarglst ) : t2mpmarglst = let in // case+ xs of | list_cons (x, xs) => let // val s2es = x.t2mpmarg_arg val s2es2 = s2explst_subst (sub, s2es) // (* val out = stdout_ref val () = fprintln! (out, "auxlst: s2es = ", s2es) val () = fprintln! (out, "auxlst: s2es2 = ", s2es2) *) // val x2 = t2mpmarg_make (loc0, s2es2) // in list_cons (x2, auxlst (loc0, sub, xs)) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlst] in (* in of [local] *) implement t2mpmarglst_subst (loc0, sub, t2mas) = let // (* val out = stdout_ref val () = fprintln! (out, "t2mpmarglst_subst: sub = ", sub) val () = fprintln! (out, "t2mpmarglst_subst: t2mas = <", t2mas, ">") *) // in auxlst (loc0, sub, t2mas) end // end of [t2mpmarglst_subst] end // end of [local] (* ****** ****** *) implement t2mpmarglst_tsubst (loc0, tsub, t2mas) = let // val sub = tmpsub2stasub (tsub) val t2mas2 = t2mpmarglst_subst (loc0, sub, t2mas) val () = stasub_free (sub) in t2mas2 end // end of [t2mpmarglst_tsubst] (* ****** ****** *) // extern fun tmpvar_subst (sub: !stasub, tmp: tmpvar, sfx: int): tmpvar extern fun tmpvarlst_subst (sub: !stasub, tmplst: tmpvarlst, sfx: int): tmpvarlst // (* ****** ****** *) local extern fun tmpvar_set_ref (tmp: tmpvar, ref: int): void = "patsopt_tmpvar_set_ref" extern fun tmpvar_set_ret (tmp: tmpvar, ret: int): void = "patsopt_tmpvar_set_ret" extern fun tmpvar_set_origin ( tmp: tmpvar, opt: tmpvaropt ) : void = "patsopt_tmpvar_set_origin" extern fun tmpvar_set_suffix (tmp: tmpvar, sfx: int): void = "patsopt_tmpvar_set_suffix" // end of [tmpvar_set_suffix] in (* in of [local] *) implement tmpvar_subst (sub, tmp, sfx) = let val loc = tmpvar_get_loc (tmp) val hse = tmpvar_get_type (tmp) val hse = hisexp_subst (sub, hse) val tmp2 = tmpvar_make (loc, hse) val () = if tmpvar_isref(tmp) then tmpvar_set_ref (tmp2, 1) // end of [val] val () = if tmpvar_isret(tmp) then tmpvar_set_ret (tmp2, 1) // end of [val] val () = tmpvar_set_origin (tmp2, Some(tmp)) // end of [val] val () = tmpvar_set_suffix (tmp2, sfx) in tmp2 end // end of [tmpvar_subst] end // end of [local] (* ****** ****** *) implement tmpvarlst_subst (sub, tmplst, sfx) = let // fun loop ( sub: !stasub , xs: tmpvarlst, sfx: int, ys: tmpvarlst_vt ) : tmpvarlst_vt = let // in // case+ xs of | list_cons (x, xs) => let val y = tmpvar_subst (sub, x, sfx) in loop (sub, xs, sfx, list_vt_cons (y, ys)) end // end of [list_cons] | list_nil () => ys // end // end of [loop] // val tmplst2 = loop (sub, tmplst, sfx, list_vt_nil) val tmplst2 = list_vt_reverse (tmplst2) // in list_of_list_vt (tmplst2) end // end of [tmpvarlst_subst] (* ****** ****** *) vtypedef tmpmap = tmpvarmap_vt (tmpvar) (* ****** ****** *) // extern fun primval_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pmv: primval, sfx: int ) : primval // end of [primval_subst] extern fun primvalist_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pmvs: primvalist, sfx: int ) : primvalist // end of [primvalist_subst] // extern fun primlab_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pml: primlab, sfx: int ) : primlab // end of [primlab_subst] extern fun primlablst_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pmls: primlablst, sfx: int ) : primlablst // end of [primlablst_subst] // extern fun labprimval_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, lpmv: labprimval, sfx: int ) : labprimval // end of [labprimval_subst] extern fun labprimvalist_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, lpmvs: labprimvalist, sfx: int ) : labprimvalist // end of [labprimvalist_subst] // extern fun tmprimval_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, tpmv: tmprimval, sfx: int ) : tmprimval // end of [tmprimval_subst] extern fun tmpmovlst_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, tmvlst: tmpmovlst, sfx: int ) : tmpmovlst // end of [tmpmovlst_subst] // extern fun patckont_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, kont: patckont, sfx: int ) : patckont // end of [patckont_subst] // extern fun primdec_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pmd: primdec, sfx: int ) : primdec // end of [primdec_subst] extern fun primdeclst_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, pmds: primdeclst, sfx: int ) : primdeclst // end of [primdeclst_subst] // extern fun vbindmap_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, vbmap: vbindmap, sfx: int ) : vbindmap // end of [vbindmap_subst] // (* ****** ****** *) // extern fun instr_subst (env: !ccompenv, map: !tmpmap, sub: !stasub, ins: instr, sfx: int): instr extern fun instrlst_subst (env: !ccompenv, map: !tmpmap, sub: !stasub, inss: instrlst, sfx: int): instrlst // extern fun ibranchlst_subst (env: !ccompenv, map: !tmpmap, sub: !stasub, ibrs: ibranchlst, sfx: int): ibranchlst // (* ****** ****** *) // typedef instrlst0 = ccomp_instrlst_type // extern fun instrlst0_subst ( env: !ccompenv , map: !tmpmap, sub: !stasub, inss: instrlst0, sfx: int ) : instrlst0 // [instrlst0_subst] // (* ****** ****** *) extern fun primval_lamfix_subst (env: !ccompenv, sub: !stasub, pmv: primval): primval // end of [primval_lamfix_subst] (* ****** ****** *) extern fun ccompenv_add_fundecsloc_subst ( env: !ccompenv , sub: !stasub, knd: funkind, decarg: s2qualst, hfds: hifundeclst ) : void // end of [ccompenv_add_fundecsloc_subst] (* ****** ****** *) implement d2envlst_subst (sub, d2es) = let in // case+ d2es of | list_cons (d2e, d2es) => let val d2v = d2env_get_var (d2e) val hse = d2env_get_type (d2e) val hse2 = hisexp_subst (sub, hse) val d2e2 = d2env_make (d2v, hse2) val d2es2 = d2envlst_subst (sub, d2es) in list_vt_cons (d2e2, d2es2) end // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [d2envlst_subst] (* ****** ****** *) implement funlab_subst (sub, flab) = flab2 where { // val name = funlab_get_name (flab) val flvl2 = the_d2varlev_get () val hse = funlab_get_type (flab) val hse2 = hisexp_subst (sub, hse) (* val () = fprintln! (stdout_ref, "funlab_subst: hse2 = ", hse2) *) val fc = funlab_get_funclo (flab) val qopt = funlab_get_d2copt (flab) val sopt = funlab_get_d2vopt (flab) val t2mas = funlab_get_tmparg (flab) val stamp = $STMP.funlab_stamp_make () // val flab2 = funlab_make ( name, flvl2, hse2, Some_vt(fc), qopt, sopt, t2mas, stamp ) (* end of [val] *) // val () = funlab_set_origin (flab2, Some (flab)) // } // end of [funlab_subst] (* ****** ****** *) extern fun tmpmap_make (xs: tmpvarlst): tmpmap implement tmpmap_make (xs) = let // fun loop ( xs: tmpvarlst, res: &tmpmap ) : void = let in // case+ xs of | list_cons (x, xs) => let val-Some (xp) = tmpvar_get_origin (x) val _(*replaced*) = tmpvarmap_vt_insert (res, xp, x) in loop (xs, res) end // end of [list_cons] | list_nil () => () // end // end of [loop] // var res : tmpmap = tmpvarmap_vt_nil () val () = loop (xs, res) // in res end // end of [tmpmap_make] (* ****** ****** *) extern fun tmpvar2var (map: !tmpmap, tmp: tmpvar): tmpvar implement tmpvar2var (map, tmp) = let val opt = tmpvarmap_vt_search (map, tmp) in // case+ opt of | ~Some_vt (tmp2) => tmp2 // Some_vt | ~None_vt () => let // val loc = tmpvar_get_loc (tmp) // (* val () = prerr_interror_loc (loc) val () = prerrln! (": tmpvar2var: copy is not found: tmp = ", tmp) *) // val () = prerr_warnccomp_loc (loc) val () = prerrln! ": referencing toplevel code in a template may be problematic." // in tmpvar_copy_err (tmp) end // end of [None_vt] // end // end of [tmpvar2var] (* ****** ****** *) (* extern fun tmpvarlst_reset_alias ( map: !tmpmap, tmplst: tmpvarlst ) : void // end of [tmpvarlst_reset_alias] // implement tmpvarlst_reset_alias (map, tmplst) = let in // case+ tmplst of | list_cons (tmp, tmplst) => let val-Some (tmp0) = tmpvar_get_origin (tmp) val opt = tmpvar_get_alias (tmp0) val () = ( case+ opt of | Some (atmp) => let val atmp2 = tmpvar2var (map, atmp) in tmpvar_set_alias (tmp, Some (atmp2)) end // end of [Some] | None () => () ) : void // end of [val] in tmpvarlst_reset_alias (map, tmplst) end // end of [list_cons] | list_nil () => () // end // end of [tmpvarlst_reset_alias] *) (* ****** ****** *) extern fun funent_funlablst_update ( env: !ccompenv, fls: funlablst ) : funlablst_vt // end-of-fun implement funent_funlablst_update (env, fls) = let // (* val () = fprintln! (stdout_ref, "funent_funlablst_update: fls = ", fls) *) // fun aux ( env: !ccompenv, fl: funlab ) : funlab = let // val d2vopt = funlab_get_d2vopt (fl) // in // case+ d2vopt of | Some (d2v) => let (* val () = println! ("funent_funlablst_update: aux: fl = ", fl) val () = println! ("funent_funlablst_update: aux: d2v = ", d2v) val loc = d2var_get_loc (d2v) val () = println! ("funent_funlablst_update: aux: d2v.loc = ", loc) *) val pmvopt = ccompenv_find_vbindmapall (env, d2v) // end of [val] in case+ pmvopt of | ~Some_vt(pmv) => ( case+ pmv.primval_node of // case+ | PMVfunlab (fl) => fl | PMVcfunlab (knd, fl) => fl | _ => fl ) (* end of [Some_vt] *) | ~None_vt((*void*)) => fl(*error?*) where { // // HX-2015-09-10: can this actually be happening? // val () = prerr_interror_loc(d2var_get_loc(d2v)) val () = prerr! (": unbound variable [", d2v, "]") val () = prerrln! ( ": appearance is likely during compilation of template instances." ) (* end of [val] *) // } (* end of [None_vt] *) end // end of [Some] | None ((*void*)) => fl(*error?*) // HX-2013-06-28: is this actually possible? // end // end of [aux] // fun auxlst ( env: !ccompenv, fls: funlablst ) : funlablst_vt = let in // case+ fls of | list_cons (fl, fls) => list_vt_cons (aux (env, fl), auxlst (env, fls)) // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [auxlst] // in auxlst (env, fls) end // end of [funent_funlablst_update] (* ****** ****** *) implement funent_subst (env, sub, flab2, fent, sfx) = let // (* val () = ( println! ("funent_subst: flab2 = ", flab2) ) (* end of [val] *) *) // val loc = funent_get_loc (fent) val flab = funent_get_lab (fent) // val imparg = funent_get_imparg (fent) // val tmparg = funent_get_tmparg (fent) val tmparg2 = s2explstlst_subst (sub, tmparg) // val tmpret = funent_get_tmpret (fent) // val vbmap = funent_get_vbindmap (fent) val inss_body = funent_get_instrlst (fent) val tmplst = funent_get_tmpvarlst (fent) // val tmplst2 = tmpvarlst_subst (sub, tmplst, sfx) val tmpmap2 = tmpmap_make (tmplst2) // val tmpret2 = tmpvar2var (tmpmap2, tmpret) // val () = let val opt = funlab_get_d2copt (flab) in // case+ opt of | Some (d2c) => ccompenv_add_tmpcstmat (env, TMPCSTMATsome2 (d2c, tmparg2, flab2)) | None () => () // end // end of [val] // val () = let val opt = funlab_get_d2vopt (flab) in // case+ opt of | Some (d2v) => ( ccompenv_add_tmpvarmat (env, TMPVARMATsome2 (d2v, tmparg2, flab2)) ) (* end of [Some] *) | None ((*void*)) => () // end // end of [val] // val flvl2 = funlab_get_level (flab2) // val (pfinc | ()) = the_d2varlev_inc () // val d2es = funent_get_d2envlst (fent) val d2es2 = d2envlst_subst (sub, d2es) val () = ccompenv_inc_flabsetenv (env) val () = ccompenv_incwth_dvarsetenv (env, list_vt2t(d2es2)) val ((*freed*)) = list_vt_free (d2es2) // val inss2_body = instrlst_subst (env, tmpmap2, sub, inss_body, sfx) // val fls0_tmp = ccompenv_getdec_flabsetenv (env) val fls0_tmp = funlabset_vt_listize_free (fls0_tmp) val fls0_tmp = ccompenv_addlst_flabsetenv_ifmap (env, flvl2, vbmap, fls0_tmp) // val fls0 = funent_get_flablst (fent) val fls0 = funent_funlablst_update (env, fls0) val fls02 = list_vt_append (fls0, fls0_tmp) // val d2es2 = ccompenv_getdec_dvarsetenv (env) val d2es2 = ccompenv_dvarsetenv_add_tempenver (env, d2es2) val d2es2(*list*) = d2envset_vt_listize_free (d2es2) // val () = the_d2varlev_dec (pfinc | (*void*)) // val vbmap2 = vbindmap_subst (env, tmpmap2, sub, vbmap, sfx) // val () = tmpvarmap_vt_free (tmpmap2) // (* val out = stdout_ref typedef flab = funlab val () = fprintln! (out, "funent_subst: flab2 = ", flab2) val () = fprintln! (out, "funent_subst: flvl2 = ", flvl2) val () = fprintln! (out, "funent_subst: fls02 = ", $UN.linlst2lst{flab}(fls02)) val () = fprintln! (out, "funent_subst: d2es2 = ", $UN.linlst2lst{d2env}(d2es2)) val () = fprintln! (out, "funent_subst: vbmap2 = ", vbmap2) *) // val fent2 = funent_make ( loc, flab2 , imparg, tmparg, None(*tmpsub*), tmpret2 , (l2l)fls02, (l2l)d2es2, vbmap2, inss2_body, tmplst2 ) (* end of [val] *) // in fent2 end // end of [funent_subst] (* ****** ****** *) implement primval_subst ( env, map, sub, pmv0, sfx ) = let // (* val () = println! ("primval_subst: pmv0 = ", pmv0) *) // val loc0 = pmv0.primval_loc val hse0 = pmv0.primval_type val hse0 = hisexp_subst (sub, hse0) // macdef ftmp (x) = tmpvar2var (map, ,(x)) // macdef fpmv (x) = primval_subst (env, map, sub, ,(x), sfx) macdef fpmvlst (xs) = primvalist_subst (env, map, sub, ,(xs), sfx) // macdef fpml (x) = primlab_subst (env, map, sub, ,(x), sfx) macdef fpmlist (x) = primlablst_subst (env, map, sub, ,(x), sfx) // in // case+ pmv0.primval_node of // | PMVtmp (tmp) => let val tmp = ftmp (tmp) in primval_tmp (loc0, hse0, tmp) end // end of [PMVtmp] | PMVtmpref (tmp) => let val tmp = ftmp (tmp) in primval_tmpref (loc0, hse0, tmp) end // end of [PMVtmpref] // | PMVarg (n) => primval_arg (loc0, hse0, n) | PMVargref (n) => primval_argref (loc0, hse0, n) | PMVargenv (n) => primval_argenv (loc0, hse0, n) // | PMVtop () => primval_top (loc0, hse0) | PMVempty () => primval_empty (loc0, hse0) // | PMVextval (name) => primval_extval (loc0, hse0, name) // | PMVcastfn (d2c, pmv) => let val pmv = fpmv (pmv) in primval_castfn (loc0, hse0, d2c, pmv) end // end of [PMVcastfn] // | PMVsizeof (hselt) => let val hselt = hisexp_subst (sub, hselt) // end of [val] in primval_sizeof (loc0, hse0, hselt) end // end of [PMVsizeof] // | PMVselcon ( pmv, hse_sum, lab ) => let val pmv = fpmv (pmv) val hse_sum = hisexp_subst (sub, hse_sum) in primval_selcon (loc0, hse0, pmv, hse_sum, lab) end // end of [PMVselcon] // | PMVselect ( pmv, hse_rt, pml ) => let val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) val pml = fpml (pml) in primval_select (loc0, hse0, pmv, hse_rt, pml) end // end of [PMVselect] | PMVselect2 ( pmv, hse_rt, pmls ) => let val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) val pmls = fpmlist (pmls) in primval_select2 (loc0, hse0, pmv, hse_rt, pmls) end // end of [PMVselect2] // | PMVselptr ( pmv, hse_rt, pmls ) => let val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) val pmls = fpmlist (pmls) in primval_selptr (loc0, hse0, pmv, hse_rt, pmls) end // end of [PMVselptr] // | PMVptrof (pmv) => let val pmv = fpmv (pmv) in primval_ptrof (loc0, hse0, pmv) end // end of [PMVptrof] | PMVptrofsel ( pmv, hse_rt, pmls ) => let val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) val pmls = fpmlist (pmls) in primval_ptrofsel (loc0, hse0, pmv, hse_rt, pmls) end // end of [PMVptrof] // | PMVrefarg ( knd, freeknd, pmv ) => let val pmv = fpmv (pmv) in primval_refarg (loc0, hse0, knd, freeknd, pmv) end // of [PMVrefarg] // | PMVfunlab (flab) => primval_funlab (loc0, hse0, flab) | PMVcfunlab (knd, flab) => primval_cfunlab (loc0, hse0, knd, flab) // | PMVd2vfunlab (d2v, flab) => let val opt = ccompenv_find_vbindmapall (env, d2v) in case+ opt of | ~Some_vt (pmv_flab) => pmv_flab | ~None_vt ( ) => primval_d2vfunlab (loc0, hse0, d2v, flab) end // end of [PMVd2vfunlab] // | PMVlamfix _ => primval_lamfix_subst (env, sub, pmv0) // | PMVtmpltcst (d2c, t2mas) => let (* val out = stdout_ref val () = fprintln! (out, "primval_subst: d2c = ", d2c) val () = fprintln! (out, "primval_subst: t2mas = <", t2mas, ">") *) val trd = ccompenv_get_tmprecdepth (env) val mtrd = $GLOB.the_CCOMPENV_maxtmprecdepth_get () in if trd < mtrd then let val t2mas = t2mpmarglst_subst (loc0, sub, t2mas) val tmpmat = ccompenv_tmpcst_match (env, d2c, t2mas) in ccomp_tmpcstmat (env, loc0, hse0, d2c, t2mas, tmpmat) end else pmv0 // HX-2013-01: maximal tmprecdepth has been reached! // end of [if] end // end of [PMVtmpltcst] // | PMVtmpltvar (d2v, t2mas) => let val trd = ccompenv_get_tmprecdepth (env) val mtrd = $GLOB.the_CCOMPENV_maxtmprecdepth_get () in if trd < mtrd then let val t2mas = t2mpmarglst_subst (loc0, sub, t2mas) val tmpmat = ccompenv_tmpvar_match (env, d2v, t2mas) in ccomp_tmpvarmat (env, loc0, hse0, d2v, t2mas, tmpmat) end else pmv0 // HX-2013-01: maximal tmprecdepth is reached! // end of [if] end // end of [PMVtmpltvar] // | _ => pmv0 // end // end of [primval_subst] (* ****** ****** *) implement primvalist_subst ( env, map, sub, pmvs, sfx ) = let in // case+ pmvs of | list_cons (pmv, pmvs) => let val pmv = primval_subst (env, map, sub, pmv, sfx) val pmvs = primvalist_subst (env, map, sub, pmvs, sfx) in list_cons (pmv, pmvs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [primvalist_subst] (* ****** ****** *) implement primlab_subst ( env, map, sub, pml0, sfx ) = let in // case+ pml0.primlab_node of | PMLlab (lab) => pml0 | PMLind (pmvs) => let val loc0 = pml0.primlab_loc val pmvs = primvalist_subst (env, map, sub, pmvs, sfx) // end of [val] in primlab_ind (loc0, pmvs) end (* end of [PMVind] *) // end (* end of [primlab_subst] *) (* ****** ****** *) implement primlablst_subst ( env, map, sub, pmls, sfx ) = let in // case+ pmls of | list_cons (pml, pmls) => let val pml = primlab_subst (env, map, sub, pml, sfx) val pmls = primlablst_subst (env, map, sub, pmls, sfx) in list_cons (pml, pmls) end // end of [list_cons] | list_nil () => list_nil () // end // end of [primlablst_subst] (* ****** ****** *) implement labprimval_subst ( env, map, sub, lpmv, sfx ) = let // val LABPRIMVAL (lab, pmv) = lpmv val pmv = primval_subst (env, map, sub, pmv, sfx) // in LABPRIMVAL (lab, pmv) end // end of [labprimval_subst] (* ****** ****** *) implement labprimvalist_subst ( env, map, sub, lpmvs, sfx ) = let in // case+ lpmvs of | list_cons (lpmv, lpmvs) => let val lpmv = labprimval_subst (env, map, sub, lpmv, sfx) val lpmvs = labprimvalist_subst (env, map, sub, lpmvs, sfx) in list_cons (lpmv, lpmvs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [primvalist_subst] (* ****** ****** *) implement tmprimval_subst ( env, map, sub, tpmv, sfx ) = let // macdef ftmp (x) = tmpvar2var (map, ,(x)) macdef fpmv (x) = primval_subst (env, map, sub, ,(x), sfx) // in // case+ tpmv of | TPMVnone (pmv) => TPMVnone (fpmv(pmv)) | TPMVsome (tmp, pmv) => TPMVsome (ftmp(tmp), fpmv(pmv)) // end // end of [tmprimval_subst] (* ****** ****** *) implement tmpmovlst_subst ( env, map, sub, tmvs, sfx ) = let // macdef ftmp (x) = tmpvar2var (map, ,(x)) macdef ftpmv (x) = tmprimval_subst (env, map, sub, ,(x), sfx) in // case+ tmvs of | list_nil () => list_nil () | list_cons (tmv, tmvs) => let val tmv = (ftpmv(tmv.0), ftmp(tmv.1)) val tmvs = tmpmovlst_subst (env, map, sub, tmvs, sfx) in list_cons (tmv, tmvs) end // end of [list_cons] // end // end of [tmpmovlst_subst] (* ****** ****** *) implement patckont_subst ( env, map, sub, kont, sfx ) = let // macdef ftmp (x) = tmpvar2var (map, ,(x)) macdef fpmv (x) = primval_subst (env, map, sub, ,(x), sfx) macdef ftmvlst (xs) = tmpmovlst_subst (env, map, sub, ,(xs), sfx) // in // case+ kont of (* | PTCKNTnone of () | PTCKNTtmplab of tmplab | PTCKNTtmplabint of (tmplab, int) *) | PTCKNTtmplabmov (tl, xs) => PTCKNTtmplabmov (tl, ftmvlst (xs)) (* | PTCKNTcaseof_fail of (location) | PTCKNTfunarg_fail of (location, funlab) *) | PTCKNTraise (tmp, pmv) => PTCKNTraise (ftmp(tmp), fpmv(pmv)) | _ => kont // end // end of [patckont_subst] (* ****** ****** *) implement primdec_subst ( env, map, sub, pmd0, sfx ) = let val loc0 = pmd0.primdec_loc in // case+ pmd0.primdec_node of // | PMDnone () => pmd0 // | PMDlist (pmds) => let val pmds = primdeclst_subst (env, map, sub, pmds, sfx) // end of [val] in primdec_list (loc0, pmds) end // end of [PMDlist] // | PMDsaspdec _ => pmd0 // | PMDextvar (name, inss) => let val inss = instrlst0_subst (env, map, sub, inss, sfx) in primdec_extvar (loc0, name, inss) end // end of [PMDextvar] // | PMDdatdecs _ => pmd0 | PMDexndecs _ => pmd0 // | PMDimpdec (imp) => let val () = ccompenv_add_impdecloc (env, sub, imp) in pmd0 end // end of [PMDimpdec] // | PMDfundecs (knd, decarg, hfds) => let val () = ccompenv_add_fundecsloc (env, sub, knd, decarg, hfds) val () = ccompenv_add_fundecsloc_subst (env, sub, knd, decarg, hfds) in pmd0 end // end of [PMDfundecs] // | PMDvaldecs (knd, hvds, inss) => let val inss = instrlst0_subst (env, map, sub, inss, sfx) in primdec_valdecs (loc0, knd, hvds, inss) end // end of [PMDvaldecs] | PMDvaldecs_rec (knd, hvds, inss) => let val inss = instrlst0_subst (env, map, sub, inss, sfx) in primdec_valdecs_rec (loc0, knd, hvds, inss) end // end of [PMDvaldecs_rec] // | PMDvardecs (hvds, inss) => let val inss = instrlst0_subst (env, map, sub, inss, sfx) in primdec_vardecs (loc0, hvds, inss) end // end of [PMDvardecs] // | PMDinclude (stadyn, pmds) => let val pmds = primdeclst_subst (env, map, sub, pmds, sfx) in primdec_include (loc0, stadyn, pmds) end // end of [PMDinclude] // | PMDstaload (hid) => pmd0 where { val-HIDstaload (_, _, _, fenv, loaded) = hid.hidecl_node val ((*void*)) = ccompenv_add_staload (env, fenv) } (* end of [PMDstaload] *) // | PMDstaloadloc (pfil, nspace, pmds) => pmd0 // | PMDdynload (hid) => pmd0 // | PMDlocal ( pmds_head, pmds_body ) => let val (pf | ()) = ccompenv_push (env) val pmds_head = primdeclst_subst (env, map, sub, pmds_head, sfx) val (pf2 | ()) = ccompenv_push (env) val pmds_body = primdeclst_subst (env, map, sub, pmds_body, sfx) val () = ccompenv_localjoin (pf, pf2 | env) in primdec_local (loc0, pmds_head, pmds_body) end // end of [PMDlocal] // end // end of [primdec_subst] (* ****** ****** *) implement primdeclst_subst ( env, map, sub, pmds, sfx ) = let in // case+ pmds of | list_cons (pmd, pmds) => let val pmd = primdec_subst (env, map, sub, pmd, sfx) val pmds = primdeclst_subst (env, map, sub, pmds, sfx) in list_cons (pmd, pmds) end // end of [list_cons] | list_nil () => list_nil () // end // end of [primdeclst_subst] (* ****** ****** *) local vtypedef vbindlst_vt = List_vt @(d2var, primval) fun auxlst ( env: !ccompenv , map: !tmpmap, sub: !stasub, vbs: vbindlst_vt, sfx: int , res: &vbindmap ) : void = let in // case+ vbs of | ~list_vt_cons (vb, vbs) => let val pmv2 = primval_subst (env, map, sub, vb.1, sfx) val _(*replaced*) = d2varmap_insert (res, vb.0, pmv2) in auxlst (env, map, sub, vbs, sfx, res) end // end of [list_vt_cons] | ~list_vt_nil () => () // end (* end of [auxlst] *) in (* in of [local] *) implement vbindmap_subst ( env, map, sub, vbmap, sfx ) = res where { // var res: vbindmap = d2varmap_nil () val vblst = d2varmap_listize (vbmap) val () = auxlst (env, map, sub, vblst, sfx, res) // } // end of [vbindmap_subst] end (* end of [local] *) (* ****** ****** *) implement instr_subst ( env, map, sub, ins0, sfx ) = let // val loc0 = ins0.instr_loc // macdef ftmp (x) = tmpvar2var (map, ,(x)) macdef fpmv (x) = primval_subst (env, map, sub, ,(x), sfx) macdef flabpmv (lx) = labprimval_subst (env, map, sub, ,(lx), sfx) macdef fpmvlst (xs) = primvalist_subst (env, map, sub, ,(xs), sfx) macdef flabpmvlst (lxs) = labprimvalist_subst (env, map, sub, ,(lxs), sfx) // macdef fkont (x) = patckont_subst (env, map, sub, ,(x), sfx) // macdef fpmd (x) = primdec_subst (env, map, sub, ,(x), sfx) macdef fpmdlst (xs) = primdeclst_subst (env, map, sub, ,(xs), sfx) // macdef finstrlst (inss) = instrlst_subst (env, map, sub, ,(inss), sfx) macdef fibranchlst (inss) = ibranchlst_subst (env, map, sub, ,(inss), sfx) // in // case+ ins0.instr_node of // | INSfunlab _ => ins0 // | INSmove_val (tmp, pmv) => let val tmp = ftmp (tmp) val pmv = fpmv (pmv) in instr_move_val (loc0, tmp, pmv) end // end of [INSmove_val] // | INSpmove_val (tmp, pmv) => let val tmp = ftmp (tmp) val pmv = fpmv (pmv) in instr_pmove_val (loc0, tmp, pmv) end // end of [INSpmove_val] // | INSmove_arg_val (narg, pmv) => let val pmv = fpmv (pmv) in instr_move_arg_val (loc0, narg, pmv) end // end of [INSmove_arg_val] // | INSfcall (tmp, _fun, hse, _arg) => let val tmp = ftmp (tmp) val _fun = fpmv (_fun) val hse = hisexp_subst (sub, hse) val _arg = fpmvlst (_arg) in instr_fcall (loc0, tmp, _fun, hse, _arg) end // end of [INSfcall] // | INSfcall2 (tmp, flab, ntl, hse, _arg) => let val tmp = ftmp (tmp) val () = tmpvar_inc_tailcal (tmp) val hse = hisexp_subst (sub, hse) val _arg = fpmvlst (_arg) in instr_fcall2 (loc0, tmp, flab, ntl, hse, _arg) end // end of [INSfcall2] // | INSextfcall (tmp, _fun, _arg) => let val tmp = ftmp (tmp) val _arg = fpmvlst (_arg) in instr_extfcall (loc0, tmp, _fun, _arg) end // end of [INSextfcall] // | INSextmcall (tmp, _obj, _mtd, _arg) => let val tmp = ftmp (tmp) val _obj = fpmv (_obj) val _arg = fpmvlst (_arg) in instr_extmcall (loc0, tmp, _obj, _mtd, _arg) end // end of [INSextmcall] // | INScond ( pmv, _then, _else ) => let val pmv = fpmv (pmv) val _then = finstrlst (_then) val _else = finstrlst (_else) in instr_cond (loc0, pmv, _then, _else) end // end of [INScond] // | INSfreecon (pmv) => let val pmv = fpmv (pmv) in instr_freecon (loc0, pmv) end // end of [INSfreecon] // | INSloop ( tlab_init, tlab_fini, tlab_cont , inss_init, pmv_test, inss_test, inss_post, inss_body ) => let val inss_init = finstrlst (inss_init) val pmv_test = fpmv (pmv_test) val inss_test = finstrlst (inss_test) val inss_post = finstrlst (inss_post) val inss_body = finstrlst (inss_body) in instr_loop ( loc0, tlab_init, tlab_fini, tlab_cont , inss_init, pmv_test, inss_test, inss_post, inss_body ) // endfun end | INSloopexn _ => ins0 // | INScaseof (ibrs) => let val ibrs = fibranchlst (ibrs) in instr_caseof (loc0, ibrs) end // end of [INScaseof] // | INSletpop () => let prval pfpush = __assert () where { extern praxi __assert : () - ccompenv_push_v } // end of [prval] val () = ccompenv_pop (pfpush | env) in ins0 end // end of [INSletpop] // | INSletpush (pmds) => let val (pfpush | ()) = ccompenv_push (env) prval () = __assert (pfpush) where { extern praxi __assert : (ccompenv_push_v) - void } // end of [prval] val pmds = fpmdlst (pmds) in instr_letpush (loc0, pmds) end // end of [INSletpush] // | INSmove_con ( tmp, d2c, hse_sum, lpmvs ) => let val tmp = ftmp (tmp) val hse_sum = hisexp_subst (sub, hse_sum) val lpmvs = flabpmvlst (lpmvs) in instr_move_con (loc0, tmp, d2c, hse_sum, lpmvs) end // end of [INSmove_con] // | INSmove_ref (tmp, pmv) => let val tmp = ftmp (tmp) val pmv = fpmv (pmv) in instr_move_ref (loc0, tmp, pmv) end // end of [INSmove_ref] // | INSmove_boxrec ( tmp, lpmvs, hse_rec ) => let val tmp = ftmp (tmp) val hse_rec = hisexp_subst (sub, hse_rec) val lpmvs = flabpmvlst (lpmvs) in instr_move_boxrec (loc0, tmp, lpmvs, hse_rec) end // end of [INSmove_boxrec] | INSmove_fltrec ( tmp, lpmvs, hse_rec ) => let val tmp = ftmp (tmp) val hse_rec = hisexp_subst (sub, hse_rec) val lpmvs = flabpmvlst (lpmvs) in instr_move_fltrec (loc0, tmp, lpmvs, hse_rec) end // end of [INSmove_fltrec] // | INSpatck ( pmv, pck, kont ) => let val pmv = fpmv (pmv) val kont = fkont (kont) in instr_patck (loc0, pmv, pck, kont) end // end of [INSpatck] // (* | INSmove_ptrofsel of (tmpvar, primval, hisexp(*tyroot*), primlablst) // end of [INSmove_ptrofsel] *) // (* | INSload_varofs (tmp, pmv, hse_rt, pmls) => let val tmp = ftmp (tmp) val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) in instr_load_varofs (loc0, tmp, pmv, hse_rt, pmls) end // end of [INSload_varofs] | INSload_ptrofs (tmp, pmv, hse_rt, pmls) => let val tmp = ftmp (tmp) val pmv = fpmv (pmv) val hse_rt = hisexp_subst (sub, hse_rt) in instr_load_ptrofs (loc0, tmp, pmv, hse_rt, pmls) end // end of [INSload_ptrofs] *) // | INSstore_ptrofs ( pmv_l, hse_rt, pmls, pmv_r ) => let val pmv_l = fpmv (pmv_l) val hse_rt = hisexp_subst (sub, hse_rt) val pmv_r = fpmv (pmv_r) in instr_store_ptrofs (loc0, pmv_l, hse_rt, pmls, pmv_r) end // end of [INSstore_ptrofs] // | INSxstore_ptrofs ( tmp, pmv_l, hse_rt, pmls, pmv_r ) => let val tmp = ftmp (tmp) val pmv_l = fpmv (pmv_l) val hse_rt = hisexp_subst (sub, hse_rt) val pmv_r = fpmv (pmv_r) in instr_xstore_ptrofs (loc0, tmp, pmv_l, hse_rt, pmls, pmv_r) end // end of [INSxstore_ptrofs] // | INSmove_delay ( tmp, lin, hse, pmv_thunk ) => let val tmp = ftmp (tmp) val hse = hisexp_subst (sub, hse) val pmv_thunk = fpmv (pmv_thunk) in instr_move_delay (loc0, tmp, lin, hse, pmv_thunk) end // end of [INSmove_delay] | INSmove_lazyeval ( tmp, lin, hse, pmv_lazyval ) => let val tmp = ftmp (tmp) val hse = hisexp_subst (sub, hse) val pmv_lazyval = fpmv (pmv_lazyval) in instr_move_lazyeval (loc0, tmp, lin, hse, pmv_lazyval) end // end of [INSmove_lazyeval] // | INSraise (tmp, pmv_exn) => let val tmp = ftmp (tmp) val pmv_exn = fpmv (pmv_exn) in instr_raise (loc0, tmp, pmv_exn) end // end of [INSraise] // | INStrywith ( tmpexn, inss_try, ibrs_with ) => let val tmpexn = ftmp (tmpexn) val inss_try = finstrlst (inss_try) val ibrs_with = fibranchlst (ibrs_with) in instr_trywith (loc0, tmpexn, inss_try, ibrs_with) end // end of [INStrywith] // | INSmove_list_nil (tmp) => let val tmp = ftmp(tmp) in instr_move_list_nil (loc0, tmp) end // end of [INSmove_list_nil] // | INSpmove_list_nil (tmp) => let val tmp = ftmp (tmp) in instr_pmove_list_nil (loc0, tmp) end // end of [INSpmove_list_nil] | INSpmove_list_cons (tmp, hse) => let val tmp = ftmp (tmp) val hse = hisexp_subst (sub, hse) in instr_pmove_list_cons (loc0, tmp, hse) end // end of [INSpmove_list_cons] // | INSmove_list_phead (tmp_hd, tmp_tl, hse) => let val tmp_hd = ftmp (tmp_hd) val tmp_tl = ftmp (tmp_tl) val hse = hisexp_subst (sub, hse) in instr_move_list_phead (loc0, tmp_hd, tmp_tl, hse) end // end of [INSmove_list_phead] | INSmove_list_ptail (tmp_new, tmp_old, hse) => let val tmp_new = ftmp (tmp_new) val tmp_old = ftmp (tmp_old) val hse = hisexp_subst (sub, hse) in instr_move_list_ptail (loc0, tmp_new, tmp_old, hse) end // end of [INSmove_list_ptail] // | INSmove_arrpsz_ptr (tmp1, tmp2) => let val tmp1 = ftmp (tmp1) val tmp2 = ftmp (tmp2) in instr_move_arrpsz_ptr (loc0, tmp1, tmp2) end // end of [INSmove_arrpsz_ptr] // | INSstore_arrpsz_asz (tmp, asz) => let val tmp = ftmp (tmp) in instr_store_arrpsz_asz (loc0, tmp, asz) end // end of [INSstore_arrpsz_asz] // | INSstore_arrpsz_ptr ( tmp, hse_elt, asz ) => let val tmp = ftmp (tmp) val hse_elt = hisexp_subst (sub, hse_elt) in instr_store_arrpsz_ptr (loc0, tmp, hse_elt, asz) end // end of [INSstore_arrpsz_ptr] // | INSupdate_ptrinc (tmp, hse_elt) => let val tmp = ftmp (tmp) val hse_elt = hisexp_subst (sub, hse_elt) in instr_update_ptrinc (loc0, tmp, hse_elt) end // end of [INSupdate_ptrinc] | INSupdate_ptrdec (tmp, hse_elt) => let val tmp = ftmp (tmp) val hse_elt = hisexp_subst (sub, hse_elt) in instr_update_ptrdec (loc0, tmp, hse_elt) end // end of [INSupdate_ptrdec] // | INSclosure_initize (tmpret, flab) => let // val sfx = funlab_incget_ncopy (flab) val flab2 = funlab_subst (sub, flab) val () = funlab_set_suffix (flab2, sfx) // val () = the_funlablst_add (flab2) val () = ccompenv_add_flabsetenv (env, flab2) // val-Some(fent) = funlab_get_funent (flab) val fent2 = funent_subst (env, sub, flab2, fent, sfx) val ((*void*)) = funlab_set_funent (flab2, Some (fent2)) // val tmpret2 = ftmp (tmpret) typedef funlab = hisexp_funlab_type val ((*void*)) = tmpvar_set_tyclo (tmpret2, $UN.cast{funlab}(flab2)) // in instr_closure_initize (loc0, tmpret2, flab2) end // end of [INSclosure_initize] // | _ (* cases-that-do-not-need-substitution *) => ins0 // end // end of [instr_subst] (* ****** ****** *) implement instrlst_subst (env, map, sub, inss, sfx) = let // fun loop ( env: !ccompenv , map: !tmpmap , sub: !stasub , inss: instrlst , sfx: int , res: &instrlst? >> instrlst ) : void = let in // case+ inss of | list_cons (ins, inss) => let val ins = instr_subst (env, map, sub, ins, sfx) // end of [val] val () = res := list_cons {instr}{0} (ins, ?) val list_cons (_, !p_res1) = res val () = loop (env, map, sub, inss, sfx, !p_res1) prval () = fold@ (res) in // nothing end // end of [list_cons] | list_nil () => (res := list_nil ()) // end // end of [loop] // var res: instrlst? val () = loop (env, map, sub, inss, sfx, res) // in res end // end of [instrlst_subst] (* ****** ****** *) implement ibranchlst_subst (env, map, sub, ibrs, sfx) = let in // case+ ibrs of | list_cons (ibr, ibrs) => let val loc = ibr.ibranch_loc val inss = ibr.ibranch_inslst val inss = instrlst_subst (env, map, sub, inss, sfx) val ibr = ibranch_make (loc, inss) val ibrs = ibranchlst_subst (env, map, sub, ibrs, sfx) in list_cons (ibr, ibrs) end // end of [list_cons] | list_nil () => list_nil () // end (* end of [ibranchlst_subst] *) (* ****** ****** *) implement instrlst0_subst (env, map, sub, inss, sfx) = let val inss = $UN.cast{instrlst} (inss) val inss = instrlst_subst (env, map, sub, inss, sfx) in $UN.cast{instrlst0} (inss) end // end of [instrlst0_subst] (* ****** ****** *) implement primval_lamfix_subst (env, sub, pmv0) = let // val-PMVlamfix (knd, pmv) = pmv0.primval_node val loc = pmv.primval_loc val hse = pmv.primval_type // val fl = ( case- pmv.primval_node of | PMVfunlab (fl) => fl | PMVcfunlab (knd, fl) => fl ) : funlab // end of [val] // val sfx = funlab_incget_ncopy (fl) val flab2 = funlab_subst (sub, fl) val () = funlab_set_suffix (flab2, sfx) // val () = the_funlablst_add (flab2) val () = ccompenv_add_flabsetenv (env, flab2) // val-Some (fent) = funlab_get_funent (fl) val fent2 = funent_subst (env, sub, flab2, fent, sfx) val ((*void*)) = funlab_set_funent (flab2, Some (fent2)) // val pmv_funval = primval_make_funlab (loc, flab2) // in primval_lamfix (knd, pmv_funval) end // end of [primval_lamfix_subst] (* ****** ****** *) local fun auxinit{n:nat} ( env: !ccompenv , sub: !stasub, hfds: list (hifundec, n), i: int ) : list (funlab, n) = let in // case+ hfds of | list_cons (hfd, hfds) => let // val-Some (fl) = hifundec_get_funlabopt (hfd) val sfx = funlab_incget_ncopy (fl) val flab2 = funlab_subst (sub, fl) val () = funlab_set_suffix (flab2, sfx) // // HX: only the first fnx-decl is added! // val () = ( if i <= 1 then the_funlablst_add (flab2) ) (* end of [val] *) // val () = ccompenv_add_flabsetenv (env, flab2) // val loc = hfd.hifundec_loc val d2v = hfd.hifundec_var val pmv = primval_make_funlab (loc, flab2) // val () = ccompenv_add_vbindmapenvall (env, d2v, pmv) // val i2 = (if i >= 1 then i+1 else i): int in list_cons (flab2, auxinit (env, sub, hfds, i2)) end (* end of [list_cons] *) | list_nil ((*void*)) => list_nil () // end // end of [auxinit] fun auxmain{n:nat} ( env: !ccompenv, sub: !stasub , hfds: list (hifundec, n), fls2: list (funlab, n) ) : void = let in // case+ hfds of | list_cons (hfd, hfds) => let val+list_cons (fl2, fls2) = fls2 val-Some (fl) = funlab_get_origin (fl2) val-Some (fent) = funlab_get_funent (fl) val sfx = funlab_get_suffix (fl2) val fent2 = funent_subst (env, sub, fl2, fent, sfx) val () = funlab_set_funent (fl2, Some (fent2)) in auxmain (env, sub, hfds, fls2) end // end of [list_cons] | list_nil () => let val+list_nil () = fls2 in (*nothing*) end // end of [list_nil] // end // end of [auxmain] fun auxfnxset ( fls: funlablst ) : void = let // val-list_cons (fl0, _) = fls val-Some (fent) = funlab_get_funent (fl0) val () = funent_set_fnxlablst (fent, fls) in // nothing end // end of [auxfnxset] in (* in of [local] *) implement ccompenv_add_fundecsloc_subst (env, sub, knd, decarg, hfds) = let in // case+ decarg of | list_cons _ => () | list_nil () => let // val tlcalopt = $GLOB.the_CCOMPATS_tlcalopt_get() val isfnx = ( if tlcalopt > 0 then funkind_is_mutailrec(knd) else false ) : bool // end of [val] // val i0 = (if isfnx then 1 else 0): int val fls = auxinit (env, sub, hfds, i0) val ((*void*)) = auxmain (env, sub, hfds, fls) val ((*void*)) = if isfnx then auxfnxset (fls) in // nothing end // end of [list_nil] // end // end of [ccompenv_add_fundecsloc_subst] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_subst.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_decl.dats0000664000175000017500000005274112655455557017643 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*UNSAFE*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> ((*void*)) = prerr ("pats_trans3_decl") // (* ****** ****** *) // staload EFF = "./pats_effect.sats" // (* ****** ****** *) // staload LOC = "./pats_location.sats" overload print with $LOC.print_location // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" // staload "./pats_patcst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" // (* ****** ****** *) staload TRENV2 = "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) extern fun i2mpdec_tr (d2c: i2mpdec): i3mpdec extern fun f2undec_tr (f2d: f2undec): d3exp extern fun f2undeclst_tr ( knd: funkind, decarg: s2qualst, f2ds: f2undeclst ) : f3undeclst // end of [f2undeclst_tr] (* ****** ****** *) extern fun v2aldec_tr (knd: valkind, v2d: v2aldec): v3aldec extern fun v2aldeclst_tr (knd: valkind, v2ds: v2aldeclst): v3aldeclst // end of [v2aldeclst_tr] extern fun v2aldeclst_rec_tr (knd: valkind, v2ds: v2aldeclst): v3aldeclst // end of [v2aldeclst_rec_tr] (* ****** ****** *) extern fun v2ardec_tr (v2d: v2ardec): v3ardec extern fun v2ardeclst_tr (v2ds: v2ardeclst): v3ardeclst extern fun prv2ardec_tr (v2d: prv2ardec): prv3ardec extern fun prv2ardeclst_tr (v2ds: prv2ardeclst): prv3ardeclst (* ****** ****** *) extern fun d2ecl_tr_staload (d2c: d2ecl): d3ecl extern fun d2ecl_tr_staloadloc (d2c: d2ecl): d3ecl extern fun d2ecl_tr_dynload (d2c: d2ecl): d3ecl (* ****** ****** *) implement d2ecl_tr(d2c0) = let // val loc0 = d2c0.d2ecl_loc // val d3c0 = ( case+ d2c0.d2ecl_node of // | D2Cnone() => d3ecl_none (loc0) // | D2Clist(d2cs) => ( d3ecl_list(loc0, d2eclist_tr(d2cs)) ) (*D2Clist*) // | D2Csymintr _ => d3ecl_none (loc0) | D2Csymelim _ => d3ecl_none (loc0) // | D2Coverload (id, _, _) => d3ecl_none (loc0) // D2Coverload // | D2Cpragma _ => d3ecl_none (loc0) | D2Ccodegen _ => d3ecl_none (loc0) // | D2Cstacsts _ => d3ecl_none (loc0) | D2Cstacons _ => d3ecl_none (loc0) // | D2Csaspdec (d2c) => let // val loc = d2c.s2aspdec_loc val s2c = d2c.s2aspdec_cst val s2f = d2c.s2aspdec_def // val s2e_def = s2exp2hnf(s2f) // val ((*void*)) = the_s2cstbindlst_bind_and_add(loc, s2c, s2e_def) // end of [val] in d3ecl_saspdec (loc0, d2c) end // end of [D2Csaspec] // | D2Cextype (name, s2e_def) => d3ecl_extype(d2c0.d2ecl_loc, name, s2e_def) | D2Cextvar (name, d2e_def) => let val d3e_def = d2exp_trup (d2e_def) in d3ecl_extvar (d2c0.d2ecl_loc, name, d3e_def) end // end of [D2Cextvar] // | D2Cextcode (knd, pos, code) => d3ecl_extcode(loc0, knd, pos, code) // | D2Cexndecs // HX: exnconst decls (d2cs) => d3ecl_exndecs(loc0, d2cs) | D2Cdatdecs // HX: datatype decls (knd, s2cs) => d3ecl_datdecs(loc0, knd, s2cs) // | D2Cdcstdecs ( knd, dck, d2cs ) => d3ecl_dcstdecs(loc0, knd, dck, d2cs) // | D2Cimpdec (knd, d2c) => let val d3c = i2mpdec_tr(d2c) in d3ecl_impdec (loc0, knd, d3c) end // end of [D2Cimpdec] // | D2Cfundecs (knd, s2qs, f2ds) => let val f3ds = f2undeclst_tr(knd, s2qs, f2ds) // end of [val] in d3ecl_fundecs (loc0, knd, s2qs, f3ds) end // end of [D2Cfundecs] // | D2Cvaldecs (knd, v2ds) => let val v3ds = v2aldeclst_tr(knd, v2ds) // end of [val] in d3ecl_valdecs (loc0, knd, v3ds) end // end of [D2Cvaldecs] | D2Cvaldecs_rec (knd, v2ds) => let val v3ds = v2aldeclst_rec_tr(knd, v2ds) // end of [val] in d3ecl_valdecs_rec (loc0, knd, v3ds) end // end of [D2Cvaldecs_rec] // | D2Cvardecs (v2ds) => let val v3ds = v2ardeclst_tr(v2ds) in d3ecl_vardecs (loc0, v3ds) // end of [val] end // end of [D2Cvardecs] | D2Cprvardecs (v2ds) => let val v3ds = prv2ardeclst_tr(v2ds) in d3ecl_prvardecs (loc0, v3ds) // end of [val] end // end of [D2Cprvardecs] // | D2Cinclude (knd, d2cs) => let val d3cs = d2eclist_tr(d2cs) in d3ecl_include (loc0, knd, d3cs) end // end of [D2Cinclude] // | D2Cstaload _ => d2ecl_tr_staload (d2c0) | D2Cstaloadloc _ => d2ecl_tr_staloadloc (d2c0) // | D2Cdynload _ => d2ecl_tr_dynload (d2c0) // | D2Clocal (d2cs_head, d2cs_body) => let val (pf1 | ()) = the_s2cstbindlst_push () val d3cs_head = d2eclist_tr (d2cs_head) val (pf2 | ()) = the_s2cstbindlst_push () val d3cs_body = d2eclist_tr (d2cs_body) val s2cs_body = the_s2cstbindlst_pop (pf2 | (*void*)) val ((*void*)) = the_s2cstbindlst_pop_and_unbind (pf1 | (*void*)) val ((*void*)) = the_s2cstbindlst_addlst (s2cs_body) in d3ecl_local (loc0, d3cs_head, d3cs_body) end // end of [D2Clocal] // | _ => let val () = println! (loc0) val () = println! ("d2ecl_tr: d2c0 = ", d2c0) val () = assertloc (false) in exit (1) end // end of [_] // ) : d3ecl // end of [val] // in // d3c0 (* the return value *) // end // end of [d2ecl_tr] (* ****** ****** *) implement d2eclist_tr (d2cs) = (l2l)d3cs where { val d3cs = list_map_fun(d2cs, d2ecl_tr) } (* end of [d2eclist_tr] *) (* ****** ****** *) implement d2eclist_tr_errck (d2cs) = d3cs where { val d3cs = d2eclist_tr(d2cs) val () = the_trans3errlst_finalize((*void*)) } // end of [d2eclist_tr_errck] (* ****** ****** *) implement i2mpdec_tr (impdec) = let // val loc0 = impdec.i2mpdec_loc val locid = impdec.i2mpdec_locid // val d2c0 = impdec.i2mpdec_cst // val imparg = impdec.i2mpdec_imparg // val tmparg = impdec.i2mpdec_tmparg val tmpgua = impdec.i2mpdec_tmpgua // (* val () = ( println! ("d2ec_tr: D2Cimpdec: impdec = ", impdec) ) (* end of [val] *) *) // val (pf0 | ()) = trans3_env_push() val ((*void*)) = trans3_env_add_svarlst(imparg) // (* val () = trans3_env_add_proplstlst (locid, tmpgua) *) // val d3e_def = d2exp_trup(impdec.i2mpdec_def) val ((*void*)) = trans3_env_pop_and_add_main(pf0 | loc0) // in i3mpdec_make(loc0, d2c0, imparg, tmparg, d3e_def) end // end of [i2mpdec_tr] (* ****** ****** *) implement f2undec_tr (d2c0) = d3e_def where { // val opt = d2c0.f2undec_ann // val d2v_loc = d2c0.f2undec_loc val d2v_fun = d2c0.f2undec_var val d2e_def = d2c0.f2undec_def val d2v_decarg = d2var_get_decarg(d2v_fun) // val (pf0 | ()) = trans3_env_push((*void*)) val ((*void*)) = trans3_env_add_squalst(d2v_decarg) // val d3e_def = ( case+ opt of | Some(s2e_ann) => let (* val () = ( print "f2undec_tr: s2e_ann = "; print_s2exp (s2e_ann); print_newline (); print "f2undec_tr: d2e_def = "; print_d2exp (d2e_def); print_newline (); ) // end of [val] *) in d2exp_trdn(d2e_def, s2e_ann) end // end of [Some] | None((*void*)) => d2exp_trup(d2e_def) ) : d3exp // end of [val] // val ((*void*)) = trans3_env_pop_and_add_main(pf0 | d2v_loc) // } (* end of [f2undec_tr] *) (* ****** ****** *) local fun d2exp_metfun_load ( d2e0: d2exp , d2vs_fun: SHARED(d2varlst) ) : void = aux (d2e0) where { fun aux ( d2e0: d2exp ) : void = case+ d2e0.d2exp_node of | D2Elam_dyn (_, _, _, d2e) => aux (d2e) // D2Elam_dyn | D2Elam_sta (_, _, d2e) => aux (d2e) | D2Elam_met (ref, _, _) => !ref := d2vs_fun | _ (* rest-of-D2Elam *) => ((*void*)) // end of [aux] } (* end of [d2exp_metfn_load] *) fun termet_sortcheck (os2ts0: &s2rtlstopt, os2ts: s2rtlstopt): bool = let fun aux ( s2ts0: s2rtlst, s2ts: s2rtlst, sgn: &int(0) >> int ) : bool = case+ s2ts0 of | list_nil ((*void*)) => ( case+ s2ts of | list_cons _ => (sgn := ~1; true) | list_nil() => true ) (* end of [list_nil] *) | list_cons (s2t0, s2ts0) => ( case+ s2ts of | list_nil ((*void*)) => (sgn := 1; true) // end of [list_nil] | list_cons (s2t, s2ts) => if s2rt_ltmat1 (s2t, s2t0) then aux (s2ts0, s2ts, sgn) else false // end of [list_cons] ) (* end of [list_cons] *) // end of [aux] in // case+ os2ts0 of | Some s2ts0 => ( case+ os2ts of | Some s2ts => let var sgn: int = 0 val test = aux (s2ts0, s2ts, sgn) val () = if test then ( if sgn < 0 then (os2ts0 := os2ts) ) // end of [val] in test end // end of [Some] | None () => true ) // end of [Some] | None () => (os2ts0 := os2ts; true) // end // end of [termet_sortcheck] in (* in of [local] *) implement f2undeclst_tr (knd, decarg, d2cs) = let // val isrec = funkind_is_recursive (knd) // fun aux_init ( d2cs: f2undeclst , d2vs_fun: SHARED(d2varlst) , os2ts0: &s2rtlstopt ) : void = let in // case+ d2cs of | list_nil ((*void*)) => () // end of [list_nil] | list_cons (d2c, d2cs) => let val d2v_fun = d2c.f2undec_var val d2e_def = d2c.f2undec_def val () = d2exp_metfun_load (d2e_def, d2vs_fun) var s2e_fun: s2exp = ( case+ d2c.f2undec_ann of | Some s2e_ann => s2e_ann | None ((*void*)) => d2exp_syn_type (d2e_def) ) (* end of [val] *) var os2ts: s2rtlstopt = None () val opt = s2exp_metfun_load (s2e_fun, d2v_fun) val () = ( case+ opt of | ~None_vt() => () | ~Some_vt(x) => (s2e_fun := x.0; os2ts := Some(x.1)) ) : void // end of [val] (* val () = ( print "f2undeclst_tr: aux_init: d2v_fun = "; print_d2var (d2v_fun); print_newline (); print "f2undeclst_tr: aux_init: s2e_fun = "; print_s2exp (s2e_fun); print_newline (); ) // end of [val] *) val () = let val test = termet_sortcheck (os2ts0, os2ts) val () = if ~test then let val () = prerr_error3_loc (d2c.f2undec_loc); val () = prerr ": incompatible termination metric for this function." val () = prerr_newline () in the_trans3errlst_add (T3E_f2undeclst_tr_termetsrtck (d2c, os2ts)) end // end of [val] in (*nothing*) end // end of [val] val opt = Some (s2e_fun) val () = d2var_set_type (d2v_fun, opt) val () = d2var_set_mastype (d2v_fun, opt) in aux_init (d2cs, d2vs_fun, os2ts0) end // end of [list_cons] // end // end of [aux_ini] // fn aux_fini{n:nat} ( d2cs: list(f2undec, n) , d3es: !list_vt(d3exp, n) ) : f3undeclst = let fn f ( d2c: f2undec, d3e: d3exp ) : f3undec = let val s2e_fun = d3e.d3exp_type // s2hnf val d2v_fun = d2c.f2undec_var // d2var // // HX-2012-01-22: it is unnecessary if recursive // val () = { val opt = Some(s2e_fun) val (_) = d2var_set_type (d2v_fun, opt) val (_) = d2var_set_mastype (d2v_fun, opt) } (* end of [val] *) in f3undec_make (d2c.f2undec_loc, d2v_fun, d3e) end // end of [f] val d3cs = list_map2_fun (d2cs, $UN.castvwtp1{list(d3exp, n)}(d3es), f) // end of [val] in (l2l)d3cs end // end of [aux_fini] // val () = if isrec then let typedef a = f2undec and b = d2var val d2vs_fun = l2l ( list_map_fun (d2cs, lam (d2c) =<1> d2c.f2undec_var) ) (* end of [val] *) var os2ts0: s2rtlstopt = None () val () = aux_init (d2cs, d2vs_fun, os2ts0) in // nothing end // end of [then] // end of [if] // val d3es = list_map_fun (d2cs, f2undec_tr) // end of [val] val d3cs = aux_fini (d2cs, d3es(*list_vt*)) val ((*void*)) = list_vt_free (d3es) // in d3cs end // end of [f2undeclst_tr] end // end of [local] (* ****** ****** *) implement v2aldec_tr (knd, d2c) = let // val loc0 = d2c.v2aldec_loc val p2t_val = d2c.v2aldec_pat (* val () = ( println! ("v2aldec_tr: p2t_val = ", p2t_val) ) // end of [val] *) val isprf = valkind_is_proof (knd) val [b:bool] isprf = bool1_of_bool (isprf) val (pfopt | ()) = the_effenv_push_set_if (isprf, $EFF.effset_all) // end of [val] // val d3e_def = let val d2e = d2c.v2aldec_def val opt = d2c.v2aldec_ann // [withtype] annotation in case+ opt of | Some s2e => d2exp_trdn (d2e, s2e) | None () => d2exp_trup (d2e) end : d3exp // end of [val] // val () = the_effenv_pop_if (pfopt | isprf) // val s2e_def = d3exp_get_type (d3e_def) (* val () = ( println! ("v2aldec_tr: s2e_def = ", s2e_def) ) // end of [val] *) // val casknd = valkind2caskind (knd) // val cp2tcss = ( case+ casknd of | CK_case () => p2atcstlst_comp (list_sing (p2at2cst (p2t_val))) | CK_case_pos () => p2atcstlst_comp (list_sing (p2at2cst (p2t_val))) | CK_case_neg () => list_vt_nil () ) : p2atcstlstlst_vt // end of [val] val isexhaust = ( // HX: always true for [case-] if list_vt_is_nil (cp2tcss) then true else false ) : bool // end of [val] val () = if ~isexhaust then let val s2es = list_sing (s2e_def) val cp2tcss = p2atcstlstlst_vt_copy (cp2tcss) in trans3_env_add_patcstlstlst_false (loc0, casknd, cp2tcss, s2es) end // end of [val] val () = p2atcstlstlst_vt_free (cp2tcss) val () = if ~isexhaust then let val _(*err*) = the_effenv_caskind_check_exn (loc0, casknd) in // nothing end // end of [if] // end of [val] // val p3t_val = p2at_trdn (p2t_val, s2e_def) val () = d3lval_set_pat_type_left (d3e_def, p3t_val) // val () = the_d2varenv_add_p3at (p3t_val) val () = the_pfmanenv_add_p3at (p3t_val) // in v3aldec_make (loc0, p3t_val, d3e_def) end // end of [v2aldec_tr] (* ****** ****** *) implement v2aldeclst_tr (knd, d2cs) = let val f = lam (d2c: v2aldec) = v2aldec_tr (knd, d2c) val d3cs = list_map_cloptr (d2cs, f) val () = cloptr_free (f) in (l2l)d3cs end // end of [v2aldeclst_tr] (* ****** ****** *) implement v2aldeclst_rec_tr (knd, d2cs) = let // val p3ts = let fn aux1 ( d2c: v2aldec ) : p3at = let val p2t = d2c.v2aldec_pat val s2e_pat = (case+ d2c.v2aldec_ann of | Some s2e => s2e | None () => p2at_syn_type (p2t) ) : s2exp // end of [val] val () = // checking for nonlinearity if s2exp_is_lin (s2e_pat) then let val () = prerr_error3_loc (p2t.p2at_loc) val () = prerr ": this pattern cannot be assigned a linear type." val () = prerr_newline () in the_trans3errlst_add (T3E_v2aldeclst_rec_tr_linearity (d2c, s2e_pat)) end // end of [if] in p2at_trdn (p2t, s2e_pat) end // end of [aux1] in l2l (list_map_fun (d2cs, aux1)) end // end of [val] // val d3cs = let fun aux2 ( d2c: v2aldec, p3t: p3at ) : v3aldec = let val d2e_def = d2c.v2aldec_def val s2e_pat = p3at_get_type (p3t) val d3e_def = d2exp_trdn (d2e_def, s2e_pat) in v3aldec_make (d2c.v2aldec_loc, p3t, d3e_def) end // end of [aux2] in l2l (list_map2_fun (d2cs, p3ts, aux2)) end // end of [val] // in d3cs end // end of [v2aldeclst_rec_tr] (* ****** ****** *) local fun auxInitCK ( loc0: loc_t , d2v: d2var, s2e1: s2exp, s2e2: s2exp ) : void = let val tszeq = s2exp_tszeq (s2e1, s2e2) in // if ~tszeq then let val () = prerr_error3_loc (loc0) val () = prerr ": initialization for [" val () = prerr_d2var (d2v) val () = prerr "] cannot be performed properly" val () = prerr ": mismatch of var/val type-sizes:\n" val () = (prerr "var: ["; prerr_s2exp (s2e1); prerr "]") val () = prerr_newline () val () = (prerr "val: ["; prerr_s2exp (s2e2); prerr "]") val () = prerr_newline () in the_trans3errlst_add (T3E_s2exp_assgn_tszeq (loc0, s2e1, s2e2)) end // end of [if] // end of [val] // end // end of [auxInitCK] in (* in of [local] *) implement v2ardec_tr (v2d) = let // val loc0 = v2d.v2ardec_loc val stadyn = v2d.v2ardec_knd val d2v = v2d.v2ardec_dvar val locvar = d2var_get_loc (d2v) val ann = v2d.v2ardec_type val init2 = v2d.v2ardec_init var init3 : d3expopt = None () // val s2e0 = ( case+ ann of | Some s2e_ann => ( case+ init2 of | Some (d2e) => let val d3e = d2exp_trup (d2e) val () = init3 := Some (d3e) val () = d3exp_open_and_add (d3e) val s2e = d3exp_get_type (d3e) val () = auxInitCK (loc0, d2v, s2e_ann, s2e) val () = d2var_set_type (d2v, Some s2e) in s2e_ann end // end of [Some] | None () => let val s2e = s2exp_topize_0 (s2e_ann) val () = d2var_set_type (d2v, Some (s2e)) in s2e_ann end // end of [None] ) // end of [Some] | None () => ( case+ init2 of | Some (d2e) => let val d3e = d2exp_trup (d2e) val () = init3 := Some (d3e) val () = d3exp_open_and_add (d3e) val s2e = d3exp_get_type (d3e) val () = d2var_set_type (d2v, Some (s2e)) in s2exp_topize_0 (s2e) end // end of [Some] | None () => let val s2e = s2exp_Var_make_srt (locvar, s2rt_t0ype) val () = d2var_set_type (d2v, Some (s2e)) in s2e end // end of [None] ) // end of [None] ) : s2exp // end of [val] (* val () = println! ("v2ardec_tr: s2e0 = ", s2e0) *) val d2vw = d2var_mutablize (locvar, d2v, s2e0, v2d.v2ardec_pfat) val-Some(s2l) = d2var_get_addr (d2v) // val s2e0_top = s2exp_topize_0 (s2e0) val s2at0_top = s2exp_at (s2e0_top, s2l) val ((*void*)) = d2var_set_finknd (d2vw, D2VFINsome_lvar (s2at0_top)) // val d2vopt = v2d.v2ardec_dvaropt val () = ( case+ d2vopt of | None () => () | Some (d2v2) => { val () = d2var_set_type (d2v2, d2var_get_type (d2v)) val () = d2var_set_mastype (d2v2, d2var_get_mastype (d2v)) } ) (* end of [val] *) // val d3c = v3ardec_make (loc0, stadyn, d2v, d2vw, s2e0, init3, d2vopt) // end of [val] val () = the_d2varenv_add_dvar (d2v) val () = the_pfmanenv_add_dvar (d2v) // in d3c end // end of [v2ardec_tr] end // end of [local] (* ****** ****** *) implement v2ardeclst_tr (v2ds) = let // val ( ) = list_app_fun ( v2ds , lam v2d =<1> trans3_env_add_svar (v2d.v2ardec_svar) // end of [lam] ) // end of [fcall] // end of [val] // in list_of_list_vt (list_map_fun (v2ds, v2ardec_tr)) end // end of [v2ardeclst_tr] (* ****** ****** *) implement prv2ardec_tr (v2d) = let // val loc = v2d.prv2ardec_loc val d2v = v2d.prv2ardec_dvar val loc_d2v = d2var_get_loc (d2v) val () = d2var_set_linval (d2v, 0) // val s2eopt = v2d.prv2ardec_type // val d2e = ( case+ v2d.prv2ardec_init of | Some (d2e) => d2e | None () => d2exp_empty (loc_d2v) ) : d2exp // end of [val] // val d3e = ( case+ s2eopt of | Some (s2e) => d2exp_trdn (d2e, s2e) | None () => d2exp_trup (d2e) ) : d3exp // end of [val] // val s2e = d3exp_get_type (d3e) val s2f = s2exp2hnf (s2e) val s2e = s2hnf_opnexi_and_add (loc_d2v, s2f) val () = d2var_set_type (d2v, Some (s2e)) // val () = the_d2varenv_add_dvar (d2v) val () = the_pfmanenv_add_dvar (d2v) // in prv3ardec_make (loc, d2v, s2e, d3e) end // end of [prv2ardec_tr] implement prv2ardeclst_tr (v2ds) = list_of_list_vt (list_map_fun (v2ds, prv2ardec_tr)) // end of [prv2ardeclst_tr] (* ****** ****** *) implement d2ecl_tr_staload (d2c0) = let // val loc0 = d2c0.d2ecl_loc val-D2Cstaload ( idopt, fil, loadflag, fenv, loaded ) = d2c0.d2ecl_node // end of [val] val () = let val opt = filenv_get_d3eclistopt (fenv) in case+ opt of | Some _ => () | None _ => let val d2cs = $TRENV2.filenv_get_d2eclist (fenv) // end of [val] val (pfpush | ()) = the_s2cstbindlst_push () val d3cs = d2eclist_tr (d2cs) val () = the_s2cstbindlst_pop_and_unbind (pfpush | (*none*)) val p = $TRENV2.filenv_getref_d3eclistopt (fenv) val () = $UN.ptrset (p, Some (d3cs)) in // nothing end // end of [None] end // end of [val] // in d3ecl_staload (loc0, idopt, fil, loadflag, fenv, loaded) end // end of [d2ecl_tr_staload] (* ****** ****** *) implement d2ecl_tr_staloadloc (d2c0) = let // val loc0 = d2c0.d2ecl_loc val-D2Cstaloadloc (pfil, nspace, fenv) = d2c0.d2ecl_node val d2cs = $TRENV2.filenv_get_d2eclist (fenv) // val (pfpush | ()) = the_s2cstbindlst_push () val d3cs = d2eclist_tr (d2cs) val () = the_s2cstbindlst_pop_and_unbind (pfpush | (*none*)) // val p = $TRENV2.filenv_getref_d3eclistopt (fenv) val () = $UN.ptrset (p, Some (d3cs)) // in d3ecl_staloadloc (loc0, pfil, nspace, fenv) end // end of [d2ecl_tr_staloadloc] (* ****** ****** *) implement d2ecl_tr_dynload (d2c0) = let // val loc0 = d2c0.d2ecl_loc val-D2Cdynload (cfil) = d2c0.d2ecl_node // in d3ecl_dynload (loc0, cfil) end // end of [d2ecl_tr_dynload] (* ****** ****** *) (* end of [pats_trans3_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_error.dats0000664000175000017500000000522012655455557020052 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_trans2.sats" (* ****** ****** *) // vtypedef trans2errlst_vt = List_vt (trans2err) // (* ****** ****** *) local val the_trans2errlst = ref (list_vt_nil) fun the_trans2errlst_get ( // argumentless ) : trans2errlst_vt = let val (vbox pf | p) = ref_get_view_ptr (the_trans2errlst) val xs = !p val () = !p := list_vt_nil () in xs end // end of [the_trans2errlst_get] in (* in-of-local *) implement the_trans2errlst_add (x) = { val (vbox pf | p) = ref_get_view_ptr (the_trans2errlst) val () = !p := list_vt_cons (x, !p) } (* end of [the_trans2errlst_add] *) implement the_trans2errlst_finalize () = { val xs = the_trans2errlst_get () val nxs = list_vt_length (xs) val ((*freed*)) = list_vt_free (xs) // (* val () = if nxs > 0 then { val () = fprintf ( stderr_ref , "patsopt(TRANS2): there are [%i] errors in total.\n", @(nxs) ) (* end of [fprintf] *) } (* end of [if] *) // end of [val] // *) val () = if nxs > 0 then $raise($ERR.PATSOPT_TRANS2_EXN()) // end of [if] // } (* end of [the_trans2errlst_finalize] *) end // end of [local] (* ****** ****** *) (* end of [pats_trans2_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2.sats0000664000175000017500000011512712655455557017045 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload INT = "./pats_intinf.sats" typedef intinf = $INT.intinf staload CNTR = "./pats_counter.sats" typedef count = $CNTR.count staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp typedef stampopt = $STMP.stampopt staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label staload LOC = "./pats_location.sats" typedef location = $LOC.location staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename (* ****** ****** *) // staload SYN = "./pats_syntax.sats" // typedef c0har = $SYN.c0har typedef f0loat = $SYN.f0loat typedef s0tring = $SYN.s0tring // typedef sl0abeled (a:type) = $SYN.sl0abeled (a) // (* ****** ****** *) staload EFF = "./pats_effect.sats" typedef effset = $EFF.effset (* ****** ****** *) // staload "./pats_staexp1.sats" // (* ****** ****** *) // // HX: assumed in [pats_staexp2_scst.dats] // abstype s2cst_type typedef s2cst = s2cst_type typedef s2cstlst = List (s2cst) typedef s2cstopt = Option (s2cst) // vtypedef s2cstlst_vt = List_vt (s2cst) // abstype s2cstset_type typedef s2cstset = s2cstset_type absvtype s2cstset_vtype vtypedef s2cstset_vt = s2cstset_vtype // abstype s2cstmap_type_type (a:type) typedef s2cstmap(a:type) = s2cstmap_type_type(a) // (* ****** ****** *) // // HX: assumed in [pats_staexp2_svar.dats] // abstype s2var_type typedef s2var = s2var_type typedef s2varlst = List (s2var) vtypedef s2varlst_vt = List_vt (s2var) typedef s2varopt = Option (s2var) vtypedef s2varopt_vt = Option_vt (s2var) typedef s2varlstlst = List (s2varlst) // abstype s2varset_type typedef s2varset = s2varset_type absvtype s2varset_vtype vtypedef s2varset_vt = s2varset_vtype // abstype s2varmset_type typedef s2varmset = s2varmset_type // absvtype s2varbindmap_vtype vtypedef s2varbindmap = s2varbindmap_vtype // (* ****** ****** *) // // HX: assumed in [pats_staexp2_sVar.dats] // abstype s2Var_type typedef s2Var = s2Var_type typedef s2Varlst = List (s2Var) typedef s2Varopt = Option (s2Var) // vtypedef s2Varlst_vt = List_vt (s2Var) // abstype s2Varset_type typedef s2Varset = s2Varset_type // absvtype s2Varset_vtype vtypedef s2Varset_vt = s2Varset_vtype // abstype s2VarBound_type typedef s2VarBound = s2VarBound_type typedef s2VarBoundlst = List (s2VarBound) // (* ****** ****** *) abstype s2hole_type typedef s2hole = s2hole_type abstype s2ctxt_type typedef s2ctxt = s2ctxt_type typedef s2ctxtopt = Option (s2ctxt) typedef s2ctxtopt_vt = Option (s2ctxt) (* ****** ****** *) // // HX: assumed in [pats_staexp2_dcon.dats] // abstype d2con_type typedef d2con = d2con_type typedef d2conlst = List (d2con) vtypedef d2conlst_vt = List_vt (d2con) // abstype d2conset_type typedef d2conset = d2conset_type // absvtype d2conset_vtype vtypedef d2conset_vt = d2conset_vtype // (* ****** ****** *) // abstype s2rtdat_type typedef s2rtdat = s2rtdat_type // (* ****** ****** *) // fun s2rtdat_make (id: symbol): s2rtdat // fun s2rtdat_get_sym (s2td: s2rtdat): symbol fun s2rtdat_get_stamp (s2td: s2rtdat): stamp // fun s2rtdat_get_sconlst (s2td: s2rtdat): s2cstlst fun s2rtdat_set_sconlst (s2td: s2rtdat, s2cs: s2cstlst): void // fun eq_s2rtdat_s2rtdat (s2td1: s2rtdat, s2td2: s2rtdat):<> bool fun compare_s2rtdat_s2rtdat (s2td1: s2rtdat, s2td2: s2rtdat):<> int // overload = with eq_s2rtdat_s2rtdat overload compare with compare_s2rtdat_s2rtdat // fun print_s2rtdat : (s2rtdat) -> void and prerr_s2rtdat : (s2rtdat) -> void fun fprint_s2rtdat : fprint_type (s2rtdat) // (* ****** ****** *) // abstype s2rtdatset_type typedef s2rtdatset = s2rtdatset_type // fun s2rtdatset_nil (): s2rtdatset fun s2rtdatset_add (xs: s2rtdatset, x: s2rtdat): s2rtdatset fun s2rtdatset_listize (xs: s2rtdatset): List_vt(s2rtdat) // (* ****** ****** *) datatype s2rtbas = | S2RTBASpre of (symbol) // predicative: int, bool, ... | S2RTBASimp of (int(*knd*), symbol) // impredicative sorts | S2RTBASdef of (s2rtdat) // user-defined datasorts // end of [s2rtbas] fun fprint_s2rtbas : fprint_type (s2rtbas) (* ****** ****** *) // abstype s2rtVar // ref (s2rt) // fun eq_s2rtVar_s2rtVar (x1: s2rtVar, x2: s2rtVar): bool fun compare_s2rtVar_s2rtVar (s2tV1: s2rtVar, s2tV2: s2rtVar): Sgn // overload = with eq_s2rtVar_s2rtVar overload compare with compare_s2rtVar_s2rtVar // fun s2rtVar_make (loc: location): s2rtVar // (* ****** ****** *) datatype s2rt = | S2RTbas of s2rtbas (* base sort *) | S2RTfun of (s2rtlst, s2rt) // function sort | S2RTtup of s2rtlst (* tuple sort *) | S2RTVar of s2rtVar // HX: unification variable | S2RTerr of ((*void*)) // HX: error indication // end of [s2rt] where s2rtlst = List (s2rt) and s2rtopt = Option (s2rt) and s2rtlstlst = List (s2rtlst) and s2rtlstopt = Option (s2rtlst) (* ****** ****** *) fun print_s2rt (x: s2rt): void overload print with print_s2rt fun prerr_s2rt (x: s2rt): void overload prerr with prerr_s2rt fun fprint_s2rt : fprint_type (s2rt) overload fprint with fprint_s2rt fun print_s2rtlst (xs: s2rtlst): void overload print with print_s2rtlst fun prerr_s2rtlst (xs: s2rtlst): void overload prerr with prerr_s2rtlst fun fprint_s2rtlst : fprint_type (s2rtlst) (* ****** ****** *) // // HX: // pre-defined predicative sorts // val s2rt_int : s2rt // integers val s2rt_bool : s2rt // booleans val s2rt_addr : s2rt // addresses // (* val s2rt_char : s2rt // = s2rt_int *) // val s2rt_float : s2rt // floating-point val s2rt_string : s2rt // string constants // val s2rt_cls : s2rt (* nominal classes *) // val s2rt_eff : s2rt (* sets of effects *) // val s2rt_tkind : s2rt // for template arguments // // HX: // pre-defined impredicative sorts // val s2rt_prop : s2rt val s2rt_prop_pos : s2rt val s2rt_prop_neg : s2rt // val s2rt_type : s2rt val s2rt_type_pos : s2rt val s2rt_type_neg : s2rt // val s2rt_t0ype : s2rt val s2rt_t0ype_pos : s2rt val s2rt_t0ype_neg : s2rt // val s2rt_view : s2rt val s2rt_view_pos : s2rt val s2rt_view_neg : s2rt // val s2rt_vtype : s2rt val s2rt_vtype_pos : s2rt val s2rt_vtype_neg : s2rt // val s2rt_vt0ype : s2rt val s2rt_vt0ype_pos : s2rt val s2rt_vt0ype_neg : s2rt // val s2rt_types : s2rt // (* ****** ****** *) // fun s2rt_impred (knd: int): s2rt // selecting impredicative sorts // fun s2rt_fun (_arg: s2rtlst, _res: s2rt): s2rt // forming function sorts fun s2rt_tup (s2ts: s2rtlst): s2rt (* HX: tuple sorts are not yet supported *) // fun s2rt_err (): s2rt // HX: a placeholder indicating error // fun s2rt_is_int (x: s2rt): bool fun s2rt_is_addr (x: s2rt): bool fun s2rt_is_bool (x: s2rt): bool // (* fun s2rt_is_char (x: s2rt): bool *) // fun s2rt_is_float (x: s2rt): bool fun s2rt_is_string (x: s2rt): bool // fun s2rt_is_dat (x: s2rt): bool // fun s2rt_is_fun (x: s2rt): bool fun s2rt_is_prf (x: s2rt): bool // is proof? fun s2rt_is_lin (x: s2rt): bool fun s2rt_is_nonlin (x: s2rt): bool fun s2rt_is_flat (x: s2rt): bool // is flat? fun s2rt_is_boxed (x: s2rt): bool // is boxed? fun s2rt_is_prgm (x: s2rt): bool // is program? fun s2rt_is_impred (x: s2rt): bool // is impredicative? fun s2rt_is_tkind (x: s2rt): bool // is tkind? // fun s2rt_is_lin_fun (x: s2rt): bool // is (... ->) linear? fun s2rt_is_boxed_fun (x: s2rt): bool // is (... ->) boxed? fun s2rt_is_tkind_fun (x: s2rt): bool // is (... ->) tkind? // (* ****** ****** *) fun s2rt_get_pol (x: s2rt): int // neg/neu/pos: -1/0/1 (* ****** ****** *) // fun s2rtVar_get_s2rt (s2tV: s2rtVar): s2rt fun s2rtVar_set_s2rt (s2tV: s2rtVar, s2t: s2rt): void // fun s2rtVar_occurcheck (s2tV: s2rtVar, s2t: s2rt): bool // fun s2rt_delink (s2t: s2rt): s2rt // HX: shallow removal fun s2rt_delink_all (s2t: s2rt): s2rt // HX: perform deep removal // fun s2rt_ltmat0 (s2t1: s2rt, s2t2: s2rt): bool // HX: dry-run fun s2rt_ltmat1 (s2t1: s2rt, s2t2: s2rt): bool // HX: real-run // (* ****** ****** *) // // HX-2011-05-02: // [filenv] contains the following // [s2rtenv], [s2expenv] and [d2expenv] // abstype filenv_type typedef filenv = filenv_type fun filenv_get_name (x: filenv): filename (* ****** ****** *) // // static items // datatype s2itm = // | S2ITMvar of s2var // | S2ITMcst of s2cstlst // | S2ITMe1xp of e1xp // | S2ITMdatcontyp of d2con | S2ITMdatconptr of d2con // | S2ITMfilenv of filenv // end of [s2itm] typedef s2itmlst = List s2itm vtypedef s2itmopt_vt = Option_vt (s2itm) fun print_s2itm (x: s2itm): void overload print with print_s2itm fun prerr_s2itm (x: s2itm): void overload prerr with prerr_s2itm fun fprint_s2itm : fprint_type (s2itm) (* ****** ****** *) datatype tyreckind = | TYRECKINDbox (* boxed *) | TYRECKINDbox_lin (* boxed *) | TYRECKINDflt0 (* flat *) | TYRECKINDflt1 of stamp (* flat *) | TYRECKINDflt_ext of string (* flat *) // end of [tyreckind] fun tyreckind_is_box (knd: tyreckind): bool fun tyreckind_is_boxlin (knd: tyreckind): bool fun tyreckind_is_boxed (knd: tyreckind): bool fun tyreckind_is_flted (knd: tyreckind): bool fun tyreckind_is_fltext (knd: tyreckind): bool fun tyreckind_is_nameless (knd: tyreckind): bool fun print_tyreckind (x: tyreckind): void fun prerr_tyreckind (x: tyreckind): void fun fprint_tyreckind: fprint_type (tyreckind) fun eq_tyreckind_tyreckind (knd1: tyreckind, knd2: tyreckind): bool overload = with eq_tyreckind_tyreckind fun neq_tyreckind_tyreckind (knd1: tyreckind, knd2: tyreckind): bool overload != with eq_tyreckind_tyreckind (* ****** ****** *) (* ** HX: s2hnf for s2exp in head normal form (HNF) *) abstype s2hnf_type typedef s2hnf = s2hnf_type typedef s2hnflst = List (s2hnf) fun print_s2hnf (x: s2hnf): void overload print with print_s2hnf fun prerr_s2hnf (x: s2hnf): void overload prerr with prerr_s2hnf fun fprint_s2hnf : fprint_type (s2hnf) (* ****** ****** *) datatype s2exp_node = // | S2Eint of int // integer | S2Eintinf of intinf // integer of flex precision // (* | S2Echar of char // chars have been removed for now *) // | S2Efloat of string // static floating-points | S2Estring of string // static string constants // | S2Ecst of s2cst // constant // | S2Eextype of (string(*name*), s2explstlst) // external type | S2Eextkind of (string(*name*), s2explstlst) // external tkind // | S2Evar of s2var // universal variable | S2EVar of s2Var // existential variable | S2Ehole of s2hole // it used to form contexts // | S2Edatcontyp of (* unfolded datatype *) (d2con, s2explst) (* constructor and types of arguments *) | S2Edatconptr of (* unfolded datatype *) (d2con, s2exp, s2explst) (* constructor and addrs of arguments *) // | S2Eat of (s2exp, s2exp) // for at-views // | S2Esizeof of (s2exp) // for sizes of types // | S2Eeff of (s2eff) // effects | S2Eeqeq of (s2exp, s2exp) // generic static equality // | S2Eproj of (s2exp(*addr*), s2exp(*type*), s2lablst) // projection // | S2Eapp of (s2exp, s2explst) // static application | S2Elam of (s2varlst, s2exp) // static abstraction // | S2Efun of ( // function type funclo, int(*lin*), s2eff, int(*npf*), s2explst(*arg*), s2exp(*res*) ) (* end of S2Efun *) // | S2Emetfun of (stampopt, s2explst, s2exp) // metricked function | S2Emetdec of (s2explst(*met*), s2explst(*metbound*)) // strictly decreasing // end of [S2Emetdec] // | S2Etop of (int(*knd*), s2exp) // knd: 0/1: topization/typization // | S2Ewithout of (s2exp) // for a component taken out by the [view@] operation // | S2Etyarr of (s2exp (*element*), s2explst (*dimension*)) | S2Etyrec of (tyreckind, int(*npf*), labs2explst) // tuple and record // // HX: note that [S2Einvar] is *not* related to [S1Einvar]; | S2Einvar of (s2exp) // it is a special type for handling type unification // | S2Eexi of ( // exist. quantified type s2varlst(*vars*), s2explst(*props*), s2exp(*body*) ) (* end of [S2Eexi] *) | S2Euni of ( // universally quantified type s2varlst(*vars*), s2explst(*props*), s2exp(*body*) ) (* end of [S2Euni] *) // // HX: reference argument type // related to [S1Einvar] | S2Erefarg of (int(*0/1:val/ref*), s2exp) (* !/&: call-by-val/ref *) // | S2Evararg of (s2exp) // variadic argument type // | S2Ewthtype of (s2exp, wths2explst) // the result part of a fun type // | S2Eerr of () // HX: placeholder for indicating error or something else // // end of [s2exp_node] and s2lab = | S2LABlab of (label) | S2LABind of (s2explst) // end of [s2lab] and s2eff = | S2EFFset of effset | S2EFFexp of (s2exp) | S2EFFadd of (s2eff, s2eff) // end of [s2eff] and s2rtext = (* extended sort *) | S2TEsrt of s2rt | S2TEsub of (s2var, s2rt, s2explst) | S2TEerr of () // end of [s2rtext] and labs2exp = SLABELED of (label, Option(string), s2exp) and wths2explst = | WTHS2EXPLSTnil of () | WTHS2EXPLSTcons_invar of (int(*refval*), s2exp, wths2explst) | WTHS2EXPLSTcons_trans of (int(*refval*), s2exp, wths2explst) | WTHS2EXPLSTcons_none of wths2explst // end of [wths2explst] where s2exp = '{ s2exp_srt= s2rt, s2exp_node= s2exp_node } // end of [s2exp] and s2explst = List (s2exp) and s2expopt = Option (s2exp) and s2explstlst = List (s2explst) and s2explstopt = Option (s2explst) and s2lablst = List (s2lab) and labs2explst = List (labs2exp) vtypedef s2explst_vt = List_vt (s2exp) vtypedef s2expopt_vt = Option_vt (s2exp) (* ****** ****** *) typedef locs2exp = (location, s2exp) typedef locs2explst = List (locs2exp) vtypedef s2rtextopt_vt = Option_vt (s2rtext) (* ****** ****** *) typedef syms2rt = (symbol, s2rt) typedef syms2rtlst = List (syms2rt) (* ****** ****** *) // // HX: there is no [s2qua] // typedef s2qua = @{ s2qua_svs= s2varlst, s2qua_sps= s2explst } // end of [s2qua] typedef s2qualst = List (s2qua) vtypedef s2qualst_vt = List_vt (s2qua) // fun s2qua_make (s2vs: s2varlst, s2ps: s2explst): s2qua // fun fprint_s2qua : fprint_type (s2qua) // fun print_s2qualst (xs: s2qualst): void fun prerr_s2qualst (xs: s2qualst): void fun fprint_s2qualst : fprint_type (s2qualst) // (* ****** ****** *) fun s2cst_make ( id: symbol , loc: location , fil: filename , s2t: s2rt // the sort , isabs: Option (s2expopt) , iscon: bool , isrec: bool , isasp: bool , islst: Option @(d2con(*nil*), d2con(*cons*)) , argsrtss: List (syms2rtlst) // HX: containing info on arg variances , def: s2expopt ) : s2cst // end of [s2cst_make] fun s2cst_make_dat ( id: symbol , loc: location , s2ts_arg: s2rtlstlst , s2t_res: s2rt , argsrtss: List (syms2rtlst) // HX: containing info on arg variances ) : s2cst // end of [s2cst_make_dat] (* ****** ****** *) fun s2cst_get_sym (x: s2cst): symbol fun s2cst_get_name (x: s2cst): string fun s2cst_get_loc (x: s2cst): location fun s2cst_get_fil (x: s2cst): filename fun s2cst_get_srt (x: s2cst): s2rt fun s2cst_get_def (x: s2cst): s2expopt fun s2cst_set_def (x: s2cst, def: s2expopt): void fun s2cst_get_pack (x: s2cst): Stropt fun s2cst_get_isabs (x: s2cst): Option (s2expopt) fun s2cst_get_iscon (x: s2cst): bool fun s2cst_get_isrec (x: s2cst): bool fun s2cst_get_isasp (x: s2cst): bool fun s2cst_set_isasp (x: s2cst, asp: bool): void fun s2cst_get_iscpy (x: s2cst): s2cstopt fun s2cst_set_iscpy (x: s2cst, cpy: s2cstopt): void fun s2cst_get_islst (x: s2cst): Option @(d2con, d2con) fun s2cst_set_islst (x: s2cst, lst: Option @(d2con, d2con)): void fun s2cst_get_arylst (x: s2cst): List int // arity list fun s2cst_get_argsrtss (x: s2cst): List (syms2rtlst) // arg variances fun s2cst_get_dconlst (x: s2cst): Option d2conlst fun s2cst_set_dconlst (x: s2cst, lst: Option d2conlst): void fun s2cst_get_sup (x: s2cst): s2cstlst fun s2cst_add_sup (x: s2cst, sup: s2cst): void fun s2cst_get_supcls (x: s2cst): s2explst fun s2cst_add_supcls (x: s2cst, sup: s2exp): void fun s2cst_get_sVarset (x: s2cst): s2Varset fun s2cst_set_sVarset (x: s2cst, _: s2Varset): void fun s2cst_get_dstag (x: s2cst): int fun s2cst_set_dstag (x: s2cst, tag: int): void fun s2cst_get_stamp (x: s2cst): stamp (* ****** ****** *) fun lt_s2cst_s2cst (x1: s2cst, x2: s2cst):<> bool overload < with lt_s2cst_s2cst fun lte_s2cst_s2cst (x1: s2cst, x2: s2cst):<> bool overload <= with lte_s2cst_s2cst fun eq_s2cst_s2cst (x1: s2cst, x2: s2cst):<> bool overload = with eq_s2cst_s2cst fun neq_s2cst_s2cst (x1: s2cst, x2: s2cst):<> bool overload != with neq_s2cst_s2cst fun compare_s2cst_s2cst (x1: s2cst, x2: s2cst):<> Sgn overload compare with compare_s2cst_s2cst (* ****** ****** *) // fun s2cst_is_abstr (x: s2cst): bool fun s2cst_is_tkind (x: s2cst): bool // fun s2cst_is_datype (s2c: s2cst): bool // fun s2cst_is_tagless (x: s2cst): bool fun s2cst_is_listlike (x: s2cst): bool fun s2cst_is_singular (x: s2cst): bool fun s2cst_is_binarian (x: s2cst): bool // fun s2cst_is_linear (x: s2cst): bool fun s2cst_is_nonlinear (x: s2cst): bool // (* ****** ****** *) fun s2cst_subeq (s2c1: s2cst, s2c2: s2cst): bool fun s2cst_lte_cls_cls (s2c1: s2cst, s2c2: s2cst): bool (* ****** ****** *) fun print_s2cst (x: s2cst): void fun prerr_s2cst (x: s2cst): void overload print with print_s2cst overload prerr with prerr_s2cst fun fprint_s2cst : fprint_type (s2cst) overload fprint with fprint_s2cst fun print_s2cstlst (xs: s2cstlst): void fun prerr_s2cstlst (xs: s2cstlst): void overload print with print_s2cstlst overload prerr with prerr_s2cstlst fun fprint_s2cstlst : fprint_type (s2cstlst) overload fprint with fprint_s2cstlst (* ****** ****** *) // fun s2cstset_nil (): s2cstset fun s2cstset_add (xs: s2cstset, x: s2cst): s2cstset fun s2cstset_ismem (xs: s2cstset, x: s2cst):<> bool fun s2cstset_listize (xs: s2cstset): s2cstlst_vt // fun s2cstset_vt_nil (): s2cstset_vt fun s2cstset_vt_add (xs: s2cstset_vt, x: s2cst): s2cstset_vt fun s2cstset_vt_ismem (xs: !s2cstset_vt, x: s2cst):<> bool fun s2cstset_vt_listize_free (xs: s2cstset_vt): s2cstlst_vt // (* ****** ****** *) // fun s2cstmap_nil{a:type} (): s2cstmap (a) fun s2cstmap_add{a:type} (map: s2cstmap (a), key: s2cst, itm: a):<> s2cstmap (a) fun s2cstmap_find{a:type} (map: s2cstmap (a), key: s2cst):<> Option_vt (a) // (* ****** ****** *) fun s2var_make_srt (s2t: s2rt): s2var fun s2var_make_id_srt (id: symbol, s2t: s2rt): s2var fun s2var_dup (s2v: s2var): s2var // HX: s2var-duplication (* ****** ****** *) fun s2var_get_sym (s2v: s2var):<> symbol fun s2var_get_srt (s2v: s2var):<> s2rt fun s2var_get_tmplev (s2v: s2var): int fun s2var_set_tmplev (s2v: s2var, lev: int): void fun s2var_get_sVarset (s2v: s2var): s2Varset fun s2var_set_sVarset (s2v: s2var, s2Vs: s2Varset): void fun s2varlst_set_sVarset (s2vs: s2varlst, s2Vs: s2Varset): void fun s2var_get_stamp (s2v: s2var):<> stamp fun lt_s2var_s2var (x1: s2var, x2: s2var):<> bool overload < with lt_s2var_s2var fun lte_s2var_s2var (x1: s2var, x2: s2var):<> bool overload <= with lte_s2var_s2var fun eq_s2var_s2var (x1: s2var, x2: s2var):<> bool overload = with eq_s2var_s2var fun neq_s2var_s2var (x1: s2var, x2: s2var):<> bool overload != with neq_s2var_s2var fun compare_s2var_s2var (x1: s2var, x2: s2var):<> Sgn overload compare with compare_s2var_s2var fun compare_s2vsym_s2vsym (x1: s2var, x2: s2var):<> Sgn (* ****** ****** *) fun print_s2var (x: s2var): void fun prerr_s2var (x: s2var): void overload print with print_s2var overload prerr with prerr_s2var fun fprint_s2var : fprint_type (s2var) overload fprint with fprint_s2var (* ****** ****** *) fun print_s2varlst (xs: s2varlst): void fun prerr_s2varlst (xs: s2varlst): void overload print with print_s2varlst overload prerr with prerr_s2varlst fun fprint_s2varlst : fprint_type (s2varlst) overload fprint with fprint_s2varlst (* ****** ****** *) fun s2var_is_bool (s2v: s2var): bool // is boolean? // end of [s2var_is_bool] (* fun s2var_is_boxed (s2v: s2var): bool fun s2var_is_unboxed (s2v: s2var): bool *) (* ****** ****** *) fun s2varset_nil (): s2varset fun s2varset_add (xs: s2varset, x: s2var): s2varset fun s2varset_del (xs: s2varset, x: s2var): s2varset fun s2varset_union (xs: s2varset, ys: s2varset): s2varset fun s2varset_listize (xs: s2varset): s2varlst_vt (* ****** ****** *) // fun s2varset_vt_nil (): s2varset_vt fun s2varset_vt_add (xs: s2varset_vt, x: s2var): s2varset_vt fun s2varset_vt_del (xs: s2varset_vt, x: s2var): s2varset_vt fun s2varset_vt_delist (xs1: s2varset_vt, xs2: s2varlst): s2varset_vt fun s2varset_vt_union (xs: s2varset_vt, ys: s2varset_vt): s2varset_vt // fun s2varset_vt_free (xs: s2varset_vt): void fun s2varset_vt_listize_free (xs: s2varset_vt): s2varlst_vt // (* ****** ****** *) fun s2varmset_nil (): s2varmset fun s2varmset_sing (x: s2var): s2varmset fun s2varmset_pair (x1: s2var, x2: s2var): s2varmset // fun s2varmset_gte (xs: s2varmset, ys: s2varmset): bool // fun s2varmset_is_equal (xs: s2varmset, ys: s2varmset): bool // fun s2varmset_add (xs: s2varmset, x: s2var): s2varmset fun s2varmset_del (xs: s2varmset, x: s2var): s2varmset fun s2varmset_union (xs: s2varmset, ys: s2varmset): s2varmset // fun s2varmset_listize (xs: s2varmset): s2varlst_vt // fun fprint_s2varmset : fprint_type (s2varmset) // (* ****** ****** *) fun s2varbindmap_make_nil (): s2varbindmap fun s2varbindmap_search (map: !s2varbindmap, s2v: s2var): Option_vt (s2exp) fun s2varbindmap_insert (map: &s2varbindmap, s2v: s2var, s2f: s2hnf): void fun s2varbindmap_remove (map: &s2varbindmap, s2v: s2var): void fun s2varbindmap_listize (map: !s2varbindmap): List_vt @(s2var, s2exp) (* ****** ****** *) // // HX: [s2Var] is assumed in [pats_staexp2_sVar.dats] // fun s2Var_make_srt (loc: location, s2t: s2rt): s2Var fun s2Var_make_var (loc: location, s2v: s2var): s2Var (* ****** ****** *) fun s2Var_get_cnt (s2V: s2Var):<> count fun s2Var_get_srt (s2V: s2Var):<> s2rt fun s2Var_get_link (s2V: s2Var): s2expopt fun s2Var_set_link (s2V: s2Var, link: s2expopt): void // // HX: this is for occurchecks // fun s2Var_get_sVarlst (s2V: s2Var): s2Varlst fun s2Var_add_sVarlst (s2V: s2Var, s2V2: s2Var): void fun s2Varlst_add_sVarlst (s2Vs: s2Varlst, s2V2: s2Var): void // fun s2Var_get_lbs (s2V: s2Var): s2VarBoundlst fun s2Var_set_lbs (s2V: s2Var, lbs: s2VarBoundlst): void // fun s2Var_get_ubs (s2V: s2Var): s2VarBoundlst fun s2Var_set_ubs (s2V: s2Var, ubs: s2VarBoundlst): void // fun s2Var_get_stamp (s2V: s2Var):<> stamp (* ****** ****** *) fun s2VarBound_make (loc: location, s2f: s2exp): s2VarBound fun s2VarBound_get_loc (x: s2VarBound): location fun s2VarBound_get_val (x: s2VarBound): s2exp (* ****** ****** *) fun lt_s2Var_s2Var (x1: s2Var, x2: s2Var):<> bool overload < with lt_s2Var_s2Var fun lte_s2Var_s2Var (x1: s2Var, x2: s2Var):<> bool overload <= with lte_s2Var_s2Var fun eq_s2Var_s2Var (x1: s2Var, x2: s2Var):<> bool overload = with eq_s2Var_s2Var fun neq_s2Var_s2Var (x1: s2Var, x2: s2Var):<> bool overload != with neq_s2Var_s2Var fun compare_s2Var_s2Var (x1: s2Var, x2: s2Var):<> Sgn overload compare with compare_s2Var_s2Var (* ****** ****** *) fun print_s2Var (x: s2Var): void overload print with print_s2Var fun prerr_s2Var (x: s2Var): void overload prerr with prerr_s2Var fun fprint_s2Var : fprint_type (s2Var) fun print_s2Varlst (xs: s2Varlst): void overload print with print_s2Varlst fun prerr_s2Varlst (xs: s2Varlst): void overload prerr with prerr_s2Varlst fun fprint_s2Varlst : fprint_type (s2Varlst) (* ****** ****** *) // fun s2Varset_nil (): s2Varset fun s2Varset_add (xs: s2Varset, x: s2Var): s2Varset fun s2Varset_ismem (xs: s2Varset, x: s2Var): bool fun s2Varset_listize (xs: s2Varset): List_vt (s2Var) // fun s2Varset_vt_nil (): s2Varset_vt fun s2Varset_vt_add (xs: s2Varset_vt, x: s2Var): s2Varset_vt fun s2Varset_vt_ismem (xs: !s2Varset_vt, x: s2Var):<> bool fun s2Varset_vt_free (xs: s2Varset_vt): void fun s2Varset_vt_listize_free (xs: s2Varset_vt): List_vt (s2Var) // (* ****** ****** *) // fun print_s2Varset (xs: s2Varset): void fun prerr_s2Varset (xs: s2Varset): void fun fprint_s2Varset : fprint_type (s2Varset) // overload print with print_s2Varset overload prerr with prerr_s2Varset // (* ****** ****** *) fun s2hole_make_srt (s2t: s2rt): s2hole fun s2hole_get_srt (s2h: s2hole):<> s2rt fun s2hole_get_stamp (s2h: s2hole):<> stamp fun fprint_s2hole (out: FILEref, x: s2hole): void (* ****** ****** *) fun s2ctxt_make (s2e: s2exp, s2h: s2hole): s2ctxt (* ****** ****** *) // // HX: [d2con] is assumed in [pats_staexp2_dcon.dats] // fun d2con_make ( loc: location // location , fil: filename // filename , id: symbol // the name , s2c: s2cst // the type constructor , vwtp: int , qua: s2qualst , npf: int // pfarity , arg: s2explst // arguments , ind: s2explstopt // indexes ) : d2con // end of [d2con_make] (* ****** ****** *) fun d2con_make_list_nil (): d2con fun d2con_make_list_cons (): d2con (* ****** ****** *) // // HX: implemented in [pats_staexp2_dcon.dats] // fun print_d2con (x: d2con): void overload print with print_d2con fun prerr_d2con (x: d2con): void overload prerr with prerr_d2con fun fprint_d2con : fprint_type (d2con) fun print_d2conlst (xs: d2conlst): void overload print with print_d2conlst fun prerr_d2conlst (xs: d2conlst): void overload prerr with prerr_d2conlst fun fprint_d2conlst : fprint_type (d2conlst) (* ****** ****** *) fun d2con_get_sym (x: d2con):<> symbol fun d2con_get_name (x: d2con):<> string fun d2con_get_loc (x: d2con):<> location fun d2con_get_fil (x: d2con):<> filename fun d2con_get_scst (x: d2con):<> s2cst fun d2con_get_npf (x: d2con):<> int fun d2con_get_vwtp (x: d2con):<> int fun d2con_get_qua (x: d2con):<> s2qualst fun d2con_get_arg (x: d2con):<> s2explst fun d2con_get_arity_full (x: d2con):<> int fun d2con_get_arity_real (x: d2con):<> int fun d2con_get_ind (x: d2con):<> s2explstopt fun d2con_get_type (x: d2con):<> s2exp fun d2con_get_tag (x: d2con): int fun d2con_set_tag (x: d2con, tag: int): void fun d2con_get_pack (x: d2con):<> Stropt fun d2con_get_stamp (x: d2con):<> stamp (* ****** ****** *) fun eq_d2con_d2con (x1: d2con, x2: d2con):<> bool overload = with eq_d2con_d2con fun neq_d2con_d2con (x1: d2con, x2: d2con):<> bool overload != with neq_d2con_d2con fun compare_d2con_d2con (x1: d2con, x2: d2con):<> Sgn overload compare with compare_d2con_d2con (* ****** ****** *) // fun d2con_is_con (d2c: d2con): bool // data constructor fun d2con_is_exn (d2c: d2con): bool // exceptn constructor // fun d2con_is_nullary (d2c: d2con): bool // nullary constructor fun d2con_is_tagless (d2c: d2con): bool // tagless constructor // fun d2con_is_listnil (d2c: d2con): bool // like listnil fun d2con_is_listcons (d2c: d2con): bool // like listcons fun d2con_is_listlike (d2c: d2con): bool // like listnil/listcons // fun d2con_is_singular (d2c: d2con): bool // singular constructor fun d2con_is_binarian (d2c: d2con): bool // binarian constructor // fun d2con_is_linear (d2c: d2con): bool // linear constructor fun d2con_is_nonlinear (d2c: d2con): bool // nonlinear constructor // (* ****** ****** *) fun d2conset_nil ():<> d2conset fun d2conset_add (xs: d2conset, x: d2con):<> d2conset fun d2conset_ismem (xs: d2conset, x: d2con):<> bool (* ****** ****** *) fun d2conset_vt_nil ():<> d2conset_vt fun d2conset_vt_add (xs: d2conset_vt, x: d2con):<> d2conset_vt fun d2conset_vt_listize_free (xs: d2conset_vt):<> d2conlst_vt (* ****** ****** *) // // HX: static expressions // fun s2exp_int (i: int): s2exp fun s2exp_intinf (i: intinf): s2exp fun s2exp_int_char (c: char): s2exp fun s2exp_int_uchar (c: uchar): s2exp (* fun s2exp_bool (b: bool): s2exp // HX: in stacst.sats fun s2exp_char (c: char): s2exp // HX: merged into S2Eint *) // fun s2exp_float (rep: string): s2exp // HX: for exporting fun s2exp_string (str: string): s2exp // HX: for exporting // fun s2exp_cst (x: s2cst): s2exp // HX: static constant fun s2exp_var (x: s2var): s2exp // HX: static variable fun s2exp_Var (x: s2Var): s2exp // HX: static existential variable fun s2exp_hole (x: s2hole): s2exp // HX: static context hole (* ** HX: please be cautious! *) fun s2exp_var_srt (s2t: s2rt, s2v: s2var): s2exp fun s2exp_extype_srt (s2t: s2rt, name: string, arg: s2explstlst): s2exp // end of [s2exp_extype_srt] fun s2exp_extkind_srt (s2t: s2rt, name: string, arg: s2explstlst): s2exp // end of [s2exp_extkind_srt] (* ****** ****** *) fun s2exp_at (s2e1: s2exp, s2e2: s2exp): s2exp // end of [s2exp_at] (* ****** ****** *) fun s2exp_sizeof (s2e_type: s2exp): s2exp (* ****** ****** *) fun s2exp_eff (s2fe: s2eff): s2exp fun s2exp_eqeq (s2e1: s2exp, s2e2: s2exp): s2exp fun s2exp_proj (s2ae: s2exp, s2te: s2exp, s2ls: s2lablst): s2exp (* ****** ****** *) fun s2exp_app_srt (s2t: s2rt, _fun: s2exp, _arg: s2explst): s2exp // end of [s2exp_app_srt] fun s2exp_lam (s2vs: s2varlst, s2e: s2exp): s2exp fun s2exp_lam_srt (s2t: s2rt, s2vs: s2varlst, s2e: s2exp): s2exp fun s2exp_lamlst (s2vss: s2varlstlst, s2e: s2exp): s2exp fun s2exp_fun_srt ( s2t: s2rt , fc: funclo , lin: int , s2fe: s2eff , npf: int , s2es_arg: s2explst , s2e_res: s2exp ) : s2exp // end of [s2exp_fun_srt] fun s2exp_metfun (opt: stampopt, met: s2explst, s2e: s2exp): s2exp // end of [s2exp_metfun] (* ****** ****** *) fun s2exp_metdec (s2es1: s2explst, s2es2: s2explst): s2exp (* ****** ****** *) fun s2exp_cstapp (s2c: s2cst, s2es: s2explst): s2exp fun s2exp_confun (npf: int, s2es: s2explst, s2e: s2exp): s2exp (* ****** ****** *) fun s2exp_datcontyp (d2c: d2con, arg: s2explst): s2exp fun s2exp_datconptr (d2c: d2con, rt: s2exp, arg: s2explst): s2exp (* ****** ****** *) fun s2exp_top (knd: int, s2e: s2exp): s2exp fun s2exp_top_srt (s2t: s2rt, knd: int, s2e: s2exp): s2exp (* ****** ****** *) fun s2exp_without (s2e: s2exp): s2exp (* ****** ****** *) fun s2exp_tyarr (s2e_elt: s2exp, s2es_int: s2explst): s2exp // end of [s2exp_tyarr] fun s2exp_tyarr_srt (s2t: s2rt, s2e_elt: s2exp, s2es_int: s2explst): s2exp // end of [s2exp_tyarr_srt] fun s2exp_tytup ( knd: int, npf: int, s2es: s2explst ) : s2exp // end of [s2exp_tytup] fun s2exp_tyrec ( knd: int, npf: int, ls2es: labs2explst ) : s2exp // end of [s2exp_tyrec] fun s2exp_tyrec_srt ( s2t: s2rt, knd: tyreckind, npf: int, ls2es: labs2explst ) : s2exp // end of [s2exp_tyrec_srt] (* ****** ****** *) fun s2exp_invar (s2e: s2exp): s2exp (* ****** ****** *) fun s2exp_refarg (refval: int, s2e: s2exp): s2exp // end of [s2exp_refarg] fun s2exp_vararg (s2e: s2exp): s2exp (* ****** ****** *) fun s2exp_exi (s2vs: s2varlst, s2ps: s2explst, s2f: s2exp): s2exp fun s2exp_uni (s2vs: s2varlst, s2ps: s2explst, s2f: s2exp): s2exp fun s2exp_exiuni // knd=0/1: exi/uni (knd: int, s2vs: s2varlst, s2ps: s2explst, s2f: s2exp): s2exp // end of [s2exp_exiuni] fun uns2exp_exiuni ( knd: int, s2f: s2exp // knd=0/1:exi/uni , s2vs: &s2varlst? >> s2varlst , s2ps: &s2explst? >> s2explst , scope: &s2exp? >> s2exp ) : bool // succ/fail: true/false (* ****** ****** *) fun s2exp_unis (s2qs: s2qualst, s2f: s2exp): s2exp (* ****** ****** *) fun s2exp_wthtype (_res: s2exp, _with: wths2explst): s2exp (* ****** ****** *) fun s2exp_err (s2t: s2rt): s2exp // HX: error indication fun s2exp_s2rt_err (): s2exp // HX: s2exp_err (s2rt_err ()) fun s2exp_t0ype_err (): s2exp // HX: s2exp_err (s2rt_t0ype) (* ****** ****** *) fun s2exp_refeq (s2e1: s2exp, s2e2: s2exp):<> bool (* ****** ****** *) // fun print_s2exp (x: s2exp): void fun prerr_s2exp (x: s2exp): void fun fprint_s2exp : fprint_type (s2exp) // overload print with print_s2exp overload prerr with prerr_s2exp overload fprint with fprint_s2exp // (* ****** ****** *) // fun print_s2explst (xs: s2explst): void fun prerr_s2explst (xs: s2explst): void fun fprint_s2explst : fprint_type (s2explst) // overload print with print_s2explst overload prerr with prerr_s2explst overload fprint with fprint_s2explst // (* ****** ****** *) // fun print_s2expopt (opt: s2expopt): void fun prerr_s2expopt (opt: s2expopt): void fun fprint_s2expopt : fprint_type (s2expopt) // overload print with print_s2expopt overload prerr with prerr_s2expopt overload fprint with fprint_s2expopt // (* ****** ****** *) // fun fprint_labs2explst : fprint_type (labs2explst) fun fprint_wths2explst : fprint_type (wths2explst) // overload fprint with fprint_labs2explst overload fprint with fprint_wths2explst // (* ****** ****** *) fun fprint_s2explstlst : fprint_type (s2explstlst) fun fprint_s2explstopt : fprint_type (s2explstopt) (* ****** ****** *) fun print_s2lab (s2l: s2lab): void fun prerr_s2lab (s2l: s2lab): void fun fprint_s2lab : fprint_type (s2lab) fun fprint_s2lablst : fprint_type (s2lablst) (* ****** ****** *) val s2eff_nil: s2eff val s2eff_all: s2eff fun s2eff_effset (efs: effset):<> s2eff fun s2eff_var (s2v: s2var): s2eff fun s2eff_exp (s2e: s2exp): s2eff fun s2eff_add (s2fe1: s2eff, s2fe2: s2eff): s2eff (* ****** ****** *) // fun print_s2eff (s2fe: s2eff): void fun prerr_s2eff (s2fe: s2eff): void fun fprint_s2eff : fprint_type (s2eff) // overload print with print_s2eff overload prerr with prerr_s2eff overload fprint with fprint_s2eff // (* ****** ****** *) fun fprint_s2rtext : fprint_type (s2rtext) (* ****** ****** *) // // HX: for reporting error messages // fun pprint_s2exp (s2e: s2exp): void and pprerr_s2exp (s2e: s2exp): void fun fpprint_s2exp : fprint_type (s2exp) fun pprint_s2explst (s2es: s2explst): void and pprerr_s2explst (s2es: s2explst): void fun fpprint_s2explst : fprint_type (s2explst) fun fpprint_s2explstlst : fprint_type (s2explstlst) fun fpprint_labs2explst : fprint_type (labs2explst) fun fpprint_wths2explst : fprint_type (wths2explst) // (* ****** ****** *) fun s2exp_is_prf (x: s2exp): bool fun s2exp_is_nonprf (x: s2exp): bool fun s2exp_is_lin (x: s2exp): bool fun s2exp_is_nonlin (x: s2exp): bool fun s2exp_is_boxed (x: s2exp): bool fun s2exp_is_prgm (x: s2exp): bool fun s2exp_is_impred (x: s2exp): bool (* ****** ****** *) fun s2exp_is_FUNCLOfun (x: s2exp): bool (* ****** ****** *) datatype sp2at_node = | SP2Tcon of (s2cst, s2varlst) | SP2Terr of () // HX: a placeholder for indicating an error // end of [sp2at_node] typedef sp2at = '{ sp2at_loc= location , sp2at_exp= s2exp, sp2at_node= sp2at_node } // end of [sp2at] fun sp2at_con (loc: location, s2c: s2cst, s2vs: s2varlst): sp2at // end of [sp2at_con] fun sp2at_err (loc: location): sp2at fun fprint_sp2at : fprint_type (sp2at) (* ****** ****** *) datatype s2kexp = | S2KEany of () | S2KEcst of s2cst | S2KEvar of s2var | S2KEextype of (string(*name*), s2kexplstlst) | S2KEextkind of (string(*name*), s2kexplstlst) | S2KEfun of (s2kexplst(*arg*), s2kexp(*res*)) | S2KEapp of (s2kexp, s2kexplst) | S2KEtyarr of (s2kexp) | S2KEtyrec of (tyreckind, labs2kexplst) // end of [s2kexp] and labs2kexp = SKLABELED of (label, s2kexp) where s2kexplst = List (s2kexp) and s2kexplstlst = List (s2kexplst) and labs2kexplst = List (labs2kexp) (* ****** ****** *) fun print_s2kexp (x: s2kexp): void fun prerr_s2kexp (x: s2kexp): void fun fprint_s2kexp : fprint_type (s2kexp) overload print with print_s2kexp overload prerr with prerr_s2kexp overload fprint with fprint_s2kexp (* ****** ****** *) fun fprint_s2kexplst : fprint_type (s2kexplst) fun fprint_labs2kexp : fprint_type (labs2kexp) (* ****** ****** *) fun s2kexp_make_s2exp (s2e: s2exp): s2kexp (* ****** ****** *) datatype s2zexp = // | S2ZEprf of () (* proof size *) | S2ZEptr of () (* pointer size *) // | S2ZEcst of s2cst | S2ZEvar of s2var | S2ZEVar of s2Var // | S2ZEextype of (string (*name*), s2zexplstlst) | S2ZEextkind of (string (*name*), s2zexplstlst) // | S2ZEapp of (s2zexp, s2zexplst) | S2ZEtyarr of // array size (s2zexp (*element*), s2explst (*dimension*)) | S2ZEtyrec of (tyreckind, labs2zexplst) // | S2ZEclo of () // HX: for flat closures // | S2ZEbot of () // HX: no available info // end of [s2zexp] and labs2zexp = SZLABELED of (label, s2zexp) where s2zexplst = List (s2zexp) and s2zexplstlst = List (s2zexplst) and labs2zexplst = List (labs2zexp) (* ****** ****** *) // fun print_s2zexp (s2ze: s2zexp): void fun prerr_s2zexp (s2ze: s2zexp): void fun fprint_s2zexp : fprint_type (s2zexp) // overload print with print_s2zexp overload prerr with prerr_s2zexp overload fprint with fprint_s2zexp // (* ****** ****** *) fun s2Var_get_szexp (s2V: s2Var): s2zexp fun s2Var_set_szexp (s2V: s2Var, s2ze: s2zexp): void fun s2zexp_is_bot (s2ze: s2zexp): bool fun s2zexp_make_s2exp (s2e: s2exp): s2zexp (* ****** ****** *) datatype s2vararg = | S2VARARGone (* {..} *) | S2VARARGall (* {...} *) | S2VARARGseq of s2varlst // end of [s2vararg] typedef s2vararglst = List (s2vararg) fun fprint_s2vararg : fprint_type (s2vararg) (* ****** ****** *) datatype s2exparg_node = | S2EXPARGone (* {..} *) | S2EXPARGall (* {...} *) | S2EXPARGseq of s2explst // end of [s2exparg_node] typedef s2exparg = '{ s2exparg_loc= location, s2exparg_node= s2exparg_node } (* end of [s2exparg] *) typedef s2exparglst = List (s2exparg) (* ****** ****** *) fun fprint_s2exparg : fprint_type (s2exparg) fun fprint_s2exparglst : fprint_type (s2exparglst) (* ****** ****** *) fun s2exparg_one (loc: location): s2exparg fun s2exparg_all (loc: location): s2exparg fun s2exparg_seq (loc: location, s2fs: s2explst): s2exparg (* ****** ****** *) typedef t2mpmarg = '{ t2mpmarg_loc= location, t2mpmarg_arg= s2explst } (* end of [t2mpmarg] *) typedef t2mpmarglst = List (t2mpmarg) vtypedef t2mpmarglst_vt = List_vt (t2mpmarg) fun t2mpmarg_make (loc: location, arg: s2explst): t2mpmarg (* ****** ****** *) fun fpprint_t2mpmarg : fprint_type (t2mpmarg) fun fpprint_t2mpmarglst : fprint_type (t2mpmarglst) (* ****** ****** *) typedef s2tavar = '{ s2tavar_loc= location, s2tavar_var= s2var } // end of [s2tavar] typedef s2tavarlst = List s2tavar fun s2tavar_make (loc: location, s2v: s2var): s2tavar // end of [s2tavar_make] (* ****** ****** *) typedef s2aspdec = '{ s2aspdec_loc= location , s2aspdec_cst= s2cst , s2aspdec_def= s2exp } (* end of [s2aspdec] *) fun s2aspdec_make ( loc: location, s2c: s2cst, def: s2exp ) : s2aspdec // end of [s2aspdec_make] (* ****** ****** *) // absvtype appenv_type = ptr vtypedef appenv = appenv_type // typedef synent_app (a:type) = (a, !appenv) -> void // fun synentlst_app{a:type} (xs: List(a), env: !appenv, app: synent_app(a)): void // (* ****** ****** *) (* end of [pats_staexp2.sats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_simplify.dats0000664000175000017500000004115312655455557021620 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_intinf.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_constraint3.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement s3exp_bneg (s3e0) = ( case+ s3e0 of | S3Ebool b => S3Ebool (not b) | S3Ebneg (s3e) => s3e | S3Ebadd (s3e1, s3e2) => S3Ebmul (S3Ebneg s3e1, S3Ebneg s3e2) | S3Ebmul (s3e1, s3e2) => S3Ebadd (S3Ebneg s3e1, S3Ebneg s3e2) | S3Ebeq (s3e1, s3e2) => S3Ebneq (s3e1, s3e2) | S3Ebneq (s3e1, s3e2) => S3Ebeq (s3e1, s3e2) | S3Ebineq (knd, s3e) => S3Ebineq (~knd, s3e) | _ => S3Ebneg (s3e0) ) // end of [s3exp_bneg] (* ****** ****** *) implement s3exp_badd (s3e1, s3e2) = let in case+ s3e1 of | S3Ebool b1 => if b1 then s3exp_true else s3e2 | _ (*non-bool*) => ( case+ s3e2 of | S3Ebool b2 => if b2 then s3exp_true else s3e1 | _(*non-bool*) => S3Ebadd (s3e1, s3e2) ) (* end of [_] *) end // end of [s3exp_badd] implement s3exp_bmul (s3e1, s3e2) = let in case+ s3e1 of | S3Ebool b1 => if b1 then s3e2 else s3exp_false | _(*non-bool*) => ( case+ s3e2 of | S3Ebool b2 => if b2 then s3e1 else s3exp_false | _ (*non-bool*) => S3Ebmul (s3e1, s3e2) ) (* end of [_] *) end // end of [s3exp_bmul] (* ****** ****** *) implement s3exp_beq (s3e1, s3e2) = ( case+ s3e1 of | S3Ebool b1 => if b1 then s3e2 else s3exp_bneg (s3e2) | _ => (case+ s3e2 of | S3Ebool b2 => if b2 then s3e1 else s3exp_bneg (s3e1) | _ => S3Ebeq (s3e1, s3e2) ) // end of [_] ) // end of [s3exp_beq] implement s3exp_bneq (s3e1, s3e2) = ( case+ s3e1 of | S3Ebool b1 => if b1 then s3exp_bneg (s3e2) else s3e2 | _ => (case+ s3e2 of | S3Ebool b2 => if b2 then s3exp_bneg (s3e1) else s3e1 | _ => S3Ebneq (s3e1, s3e2) ) // end of [_] ) // end of [s3exp_bneq] (* ****** ****** *) fun uns3exp_intinf (s3e: s3exp): Option_vt (intinf) = case+ s3e of | S3Enull () => Some_vt (intinf_0) | S3Eunit () => Some_vt (intinf_1) | S3Eicff (c, s3e) => let val opt = uns3exp_intinf (s3e) in case+ opt of | ~Some_vt (i) => Some_vt (c * i) | ~None_vt () => None_vt () end // end of [S3Eicff] | _ => None_vt () // end of [uns3exp_intinf] implement s3exp_bineq (knd, s3e) = let val opt = uns3exp_intinf (s3e) in case+ opt of | ~Some_vt (i) => (case+ 0 of | _ when knd = 2 => s3exp_bool (i >= 0) | _ when knd = ~2 => s3exp_bool (i < 0) | _ when knd = 1 => s3exp_bool (i = 0) | _ when knd = ~1 => s3exp_bool (i != 0) | _ => let val () = assertloc (false) in s3exp_false end // end of [_] ) // end of [Some_vt] | ~None_vt () => S3Ebineq (knd, s3e) end // end of [s3exp_bineq] (* ****** ****** *) implement s3exp_ilt (s3e1, s3e2) = s3exp_bineq (~2(*lt*), s3exp_isub (s3e1, s3e2)) // end of [s3exp_ilt] implement s3exp_ilte (s3e1, s3e2) = s3exp_bineq (2(*gte*), s3exp_isub (s3e2, s3e1)) // end of [s3exp_ilte] implement s3exp_igt (s3e1, s3e2) = s3exp_bineq (~2(*lt*), s3exp_isub (s3e2, s3e1)) // end of [s3exp_igt] implement s3exp_igte (s3e1, s3e2) = s3exp_bineq (2(*gte*), s3exp_isub (s3e1, s3e2)) // end of [s3exp_igte] implement s3exp_ieq (s3e1, s3e2) = s3exp_bineq (1(*eq*), s3exp_isub (s3e1, s3e2)) // end of [s3exp_ieq] implement s3exp_ineq (s3e1, s3e2) = s3exp_bineq (~1(*neq*), s3exp_isub (s3e1, s3e2)) // end of [s3exp_ineq] (* ****** ****** *) implement s3exp_int (i) = let val int = intinf_make_int (i) in s3exp_intinf (int) end // end of [s3exp_int] implement s3exp_intinf (int) = s3exp_icff (int, s3exp_1) (* ****** ****** *) implement s3exp_icff (c, x) = let (* val () = print "s3exp_icff" *) in case+ 0 of | _ when c = 1 => x | _ when c = 0 => s3exp_0 | _ => ( case+ x of | S3Enull () => s3exp_0 | S3Eicff (c1, x1) => s3exp_icff (c * c1, x1) | S3Eisum (xs) => let val cxs = s3explst_icff (c, xs) in S3Eisum ((l2l)cxs) end // end of [S3Eisum] | _ => S3Eicff (c, x) ) // end of [_] end // end of [s3exp_icff] implement s3explst_icff (c, xs) = ( list_map_cloptr (xs, lam x =<1> s3exp_icff (c, x)) ) // end of [s3explst_icff] implement s3exp_ineg (x) = s3exp_icff (intinf_neg_1, x) (* ****** ****** *) implement s3exp_isum (xs) = ( case+ xs of | list_cons (x, xs1) => ( case+ xs1 of | list_cons _ => S3Eisum (xs) | list_nil () => x ) // end of [list_cons] | list_nil () => s3exp_0 ) // end of [s3exp_isum] (* ****** ****** *) implement s3exp_isucc (s3e) = s3exp_iadd (s3e, s3exp_1) implement s3exp_ipred (s3e) = s3exp_iadd (s3e, s3exp_neg_1) (* ****** ****** *) implement s3exp_isgte (x1, x2) = let (* // HX: for supporting S3Eisum *) in // case+ x1 of // nonlinear terms go first | S3Eiatm (s2vs1) => ( case+ x2 of | S3Eiatm(s2vs2) => s2varmset_gte (s2vs1, s2vs2) // end of [S3Eiatm] | _ => true ) (* end of [S3Eiatm] *) | S3Evar(s2v1) => ( case+ x2 of | S3Eiatm _ => false | S3Evar s2v2 => compare_s2var_s2var (s2v1, s2v2) <= 0 // HX: not [>=]! // end of [S3Ecst] | _ => true ) (* end of [S3Evar] *) | S3Ecst(s2c1) => ( case+ x2 of | S3Eiatm _ => false | S3Evar s2v2 => false | S3Ecst s2c2 => compare_s2cst_s2cst (s2c1, s2c2) <= 0 // HX: not [>=]! // end of [S3Ecst] | _ => true ) (* end of [S3Evar] *) | S3Eunit((*void*)) => ( case+ x2 of | S3Eiatm _ => false | S3Evar s2v2 => false | S3Ecst s2c2 => false | S3Eunit () => true | _ => true ) (* end of [S3Eunit] *) // | _(*unrecognized*) => false // end // end of [s3exp_isgte] (* ****** ****** *) local fun uns3exp_icff (x: s3exp): s3exp = case+ x of S3Eicff (c, x) => x | _ => x // end of [uns3exp_icff] (* ** HX: x1 and x2 are the same kind of term *) fun s3exp_icff_add (x1: s3exp, x2: s3exp): s3exp = case+ (x1, x2) of | (S3Eicff (c1, y1), S3Eicff (c2, _)) => s3exp_icff (c1+c2, y1) | (S3Eicff (c1, y1), _) => s3exp_icff (c1+1, y1) | (_, S3Eicff (c2, y2)) => s3exp_icff (c2+1, y2) | (_, _) => s3exp_icff (intinf_2, x1) // end of [s3exp_icff_add] fun s3exp_isum_pair ( x1: s3exp, x2: s3exp ) : s3exp = let val y1 = uns3exp_icff (x1) and y2 = uns3exp_icff (x2) val gte12 = s3exp_isgte (y1, y2) in // if gte12 then let val gte21 = s3exp_isgte (y2, y1) in if gte21 then s3exp_icff_add (x1, x2) else S3Eisum (list_pair (x1, x2)) // end of [if] end else ( S3Eisum (list_pair (x2, x1)) ) (* end of [if] *) // end // end of [s3exp_isum_pair] fun s3exp_isum_list ( xs1: s3explst, xs2: s3explst ) : s3explst_vt = let // fun aux ( xs1: s3explst, xs2: s3explst ) : s3explst_vt = case+ xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val y1 = uns3exp_icff (x1) val y2 = uns3exp_icff (x2) val gte12 = s3exp_isgte (y1, y2) in if gte12 then let val gte21 = s3exp_isgte (y2, y1) in if gte21 then let val x12 = s3exp_icff_add (x1, x2) in case+ x12 of | S3Enull () => aux (xs11, xs21) | _ => list_vt_cons (x12, aux (xs11, xs21)) // end of [_] end else list_vt_cons (x1, aux (xs11, xs2)) // end of [if] end else list_vt_cons (x2, aux (xs1, xs21)) // end of [if] end // end of [list_cons] | list_nil () => list_copy (xs1) ) // end of [list_cons] | list_nil () => list_copy (xs2) // end of [aux] in aux (xs1, xs2) end // end of [s3exp_isum_list] fun s3exp_imul_list ( xs1: s3explst, xs2: s3explst ) : s3explst_vt = let in // case+ xs1 of | list_cons (x1, xs1) => let val x1xs2 = list_map_cloptr (xs2, lam x2 =<1> s3exp_imul (x1, x2)) val xs1xs2 = s3exp_imul_list (xs1, xs2) val res = s3exp_isum_list ( $UN.castvwtp1{s3explst} (x1xs2), $UN.castvwtp1{s3explst} (xs1xs2) ) // end of [val] val () = list_vt_free (x1xs2) val () = list_vt_free (xs1xs2) in res end // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [s3exp_imul_list] in (* in of [local] *) implement s3exp_iadd (x1, x2) = ( case+ (x1, x2) of | (S3Enull (), _) => x2 | (_, S3Enull ()) => x1 | (S3Eisum xs1, S3Eisum xs2) => let val xs = s3exp_isum_list (xs1, xs2) in s3exp_isum ((l2l)xs) end // end of [S3Eisum, S3Eisum] | (S3Eisum xs1, _) => let val xs2 = list_vt_sing (x2) val xs = s3exp_isum_list (xs1, $UN.castvwtp1{s3explst} (xs2)) val () = list_vt_free (xs2) in s3exp_isum ((l2l)xs) end // end of [S3Eisum, _] | (_, S3Eisum xs2) => let val xs1 = list_vt_sing (x1) val xs = s3exp_isum_list ($UN.castvwtp1{s3explst} (xs1), xs2) val () = list_vt_free (xs1) in s3exp_isum ((l2l)xs) end // end of [_, S3Eisum] | (_, _) => s3exp_isum_pair (x1, x2) ) // end of [s3exp_iadd] implement s3exp_isub (x1, x2) = ( case+ (x1, x2) of | (S3Enull (), _) => s3exp_ineg (x2) | (_, S3Enull ()) => x1 | (S3Eisum xs1, S3Eisum xs2) => let val xs2 = s3explst_icff (intinf_neg_1, xs2) val xs = s3exp_isum_list (xs1, $UN.castvwtp1{s3explst} (xs2)) val () = list_vt_free (xs2) in s3exp_isum ((l2l)xs) end // end of [S3Eisum, S3Eisum] | (S3Eisum xs1, _) => let val xs2 = list_vt_sing (s3exp_ineg (x2)) val xs = s3exp_isum_list (xs1, $UN.castvwtp1{s3explst} (xs2)) val () = list_vt_free (xs2) in s3exp_isum ((l2l)xs) end // end of [S3Eisum, _] | (_, S3Eisum xs2) => let val xs1 = list_vt_sing (x1) val xs2 = s3explst_icff (intinf_neg_1, xs2) val xs = s3exp_isum_list ( $UN.castvwtp1{s3explst} (xs1), $UN.castvwtp1{s3explst} (xs2) ) // end of [val] val () = list_vt_free (xs1) val () = list_vt_free (xs2) in s3exp_isum ((l2l)xs) end // end of [_, S3Eisum] | (_, _) => s3exp_isum_pair (x1, s3exp_ineg (x2)) ) // end of [s3exp_isub] implement s3exp_imul (x1, x2) = let (* val () = ( print "s3exp_imul: x1 = "; print_s3exp (x1); print_newline (); print "s3exp_imul: x2 = "; print_s3exp (x2); print_newline (); ) // end of [val] *) in // case+ (x1, x2) of | (S3Enull (), _) => s3exp_0 | (_, S3Enull ()) => s3exp_0 | (S3Eunit (), _) => x2 | (_, S3Eunit ()) => x1 | (S3Eicff (c, x1), x2) => s3exp_icff (c, s3exp_imul (x1, x2)) | (x1, S3Eicff (c, x2)) => s3exp_icff (c, s3exp_imul (x1, x2)) // | (S3Evar (s2v1), S3Evar (s2v2)) => S3Eiatm (s2varmset_pair (s2v1, s2v2)) | (S3Eiatm (s2vs1), S3Evar (s2v2)) => S3Eiatm (s2varmset_add (s2vs1, s2v2)) | (S3Evar (s2v1), S3Eiatm (s2vs2)) => S3Eiatm (s2varmset_add (s2vs2, s2v1)) | (S3Eiatm (s2vs1), S3Eiatm (s2vs2)) => S3Eiatm (s2varmset_union (s2vs1, s2vs2)) // | (S3Eisum (xs1), S3Eisum (xs2)) => let val xs1xs2 = s3exp_imul_list (xs1, xs2) in s3exp_isum ((l2l)xs1xs2) end // end of [S3Eisum, S3Eisum] | (S3Eisum (xs1), _) => let val ys1 = list_map_cloptr (xs1, lam x1 =<1> s3exp_imul (x1, x2)) in S3Eisum ((l2l)ys1) end // end of [S3Eisum, _] | (_, S3Eisum (xs2)) => let val ys2 = list_map_cloptr (xs2, lam x2 =<1> s3exp_imul (x1, x2)) in S3Eisum ((l2l)ys2) end // end of [_, S3Eisum] // | (_, _) => S3Eimul (x1, x2) // end // end of [s3exp_imul] end // end of [local] (* ****** ****** *) extern fun s3exp_lintize_flag ( env: &s2vbcfenv, s3e: s3exp, flag: &int ) : s3exp // end of [s3exp_lintize_flag] extern fun s3explst_lintize_flag ( env: &s2vbcfenv, s3es: s3explst, flag: &int ) : s3explst // end of [s3explst_lintize_flag] (* ****** ****** *) implement s3exp_lintize (env, s3e) = let (* val () = ( print "s3exp_lintize: s3e = "; print_s3exp (s3e); print_newline () ) (* end of [val] *) *) var flag: int = 0 val s3e_res = s3exp_lintize_flag (env, s3e, flag) // in s3e_res end // end of [s3exp_lintize] (* ****** ****** *) implement s3exp_lintize_flag ( env, s3e0, flag ) = let val flag0 = flag in // case+ s3e0 of // | S3Evar _ => s3e0 | S3Ecst _ => let val () = flag := flag + 1 val s2v = s2vbcfenv_replace_nonlin (env, s3e0) in s3exp_var (s2v) end // end of [val] | S3Enull _ => s3e0 | S3Eunit _ => s3e0 | S3Ebool _ => s3e0 // | S3Ebvar _ => s3e0 | S3Ebneg (s3e) => let val s3e = s3exp_lintize_flag (env, s3e, flag) // end of [val] in if flag > flag0 then S3Ebneg (s3e) else s3e0 end // end of [S3Ebneg] | S3Ebadd (s3e1, s3e2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3e2 = s3exp_lintize_flag (env, s3e2, flag) in if flag > flag0 then S3Ebadd (s3e1, s3e2) else s3e0 end // end of [S3Ebadd] | S3Ebmul (s3e1, s3e2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3e2 = s3exp_lintize_flag (env, s3e2, flag) in if flag > flag0 then S3Ebmul (s3e1, s3e2) else s3e0 end // end of [S3Ebmul] | S3Ebeq (s3e1, s3e2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3e2 = s3exp_lintize_flag (env, s3e2, flag) in if flag > flag0 then S3Ebeq (s3e1, s3e2) else s3e0 end // end of [S3Ebeq] | S3Ebneq (s3e1, s3e2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3e2 = s3exp_lintize_flag (env, s3e2, flag) in if flag > flag0 then S3Ebneq (s3e1, s3e2) else s3e0 end // end of [S3Ebneq] | S3Ebineq (knd, s3e) => let val s3e = s3exp_lintize_flag (env, s3e, flag) in if flag > flag0 then S3Ebineq (knd, s3e) else s3e0 end // end of [S3Ebineq] // | S3Ebdom _ => s3e0 // | S3Eiatm _ => let val () = flag := flag + 1 val s2v = s2vbcfenv_replace_nonlin (env, s3e0) in s3exp_var (s2v) end // end of [val] | S3Eicff (cff, s3e) => let val s3e = s3exp_lintize_flag (env, s3e, flag) in if flag > flag0 then S3Eicff (cff, s3e) else s3e0 end // end of [S3Eicff // | S3Eisum (s3es) => let val s3es = s3explst_lintize_flag (env, s3es, flag) // end of [s3es] in if flag > flag0 then S3Eisum (s3es) else s3e0 end // end of [S3Eisum] | S3Eimul (s3e1, s3e2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3e2 = s3exp_lintize_flag (env, s3e2, flag) val s3e0 = ( if flag > flag0 then S3Eimul (s3e1, s3e2) else s3e0 ) : s3exp // end of [val] val () = flag := flag + 1 val s2v = s2vbcfenv_replace_nonlin (env, s3e0) in s3exp_var (s2v) end // end of [S3Eimul] // | S3Esizeof _ => let val () = flag := flag + 1 val s2v = s2vbcfenv_replace_nonlin (env, s3e0) in s3exp_var (s2v) end // end of [val] // | S3Eapp (s3e1, s3es2) => let val s3e1 = s3exp_lintize_flag (env, s3e1, flag) val s3es2 = s3explst_lintize_flag (env, s3es2, flag) val s3e0 = ( if flag > flag0 then S3Eapp (s3e1, s3es2) else s3e0 ) : s3exp // end of [val] val () = flag := flag + 1 val s2v = s2vbcfenv_replace_nonlin (env, s3e0) in s3exp_var (s2v) end // end of [S3Eapp] // | S3Eerr _(*ERROR*) => s3e0 // end // end of [s3exp_lintize] (* ****** ****** *) implement s3explst_lintize_flag ( env, s3es0, flag ) = let val flag0 = flag in // case+ s3es0 of | list_cons (s3e, s3es) => let val s3e = s3exp_lintize_flag (env, s3e, flag) val s3es = s3explst_lintize_flag (env, s3es, flag) in if flag > flag0 then list_cons (s3e, s3es) else s3es0 end // end of [list_cons] | list_nil ((*void*)) => list_nil () // end // end of [s3explst_lintize_flag] (* ****** ****** *) (* end of [pats_constraint3_simplify.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_init.dats0000664000175000017500000003002512655455557020723 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_constraint3.sats" (* ****** ****** *) local // fun f_identity ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es in s3exp_make (env, s2e1) end // end of [identity] // // HX: functions on static booleans // fun f_neg_bool ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e, s2es) = s2es val s3be = s3exp_make (env, s2e) in s3exp_bneg (s3be) end // end of [f_neg_bool] // fun f_add_bool_bool ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3be1 = s3exp_make (env, s2e1) val s3be2 = s3exp_make (env, s2e2) in s3exp_badd (s3be1, s3be2) end // end of [f_add_bool_bool] // fun f_mul_bool_bool ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3be1 = s3exp_make (env, s2e1) val s3be2 = s3exp_make (env, s2e2) in s3exp_bmul (s3be1, s3be2) end // end of [f_mul_bool_bool] // fun f_eq_bool_bool ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3be1 = s3exp_make (env, s2e1) val s3be2 = s3exp_make (env, s2e2) in s3exp_beq (s3be1, s3be2) end // end of [f_eq_bool_bool] // fun f_neq_bool_bool ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3be1 = s3exp_make (env, s2e1) val s3be2 = s3exp_make (env, s2e2) in s3exp_bneq (s3be1, s3be2) end // end of [f_neq_bool_bool] // // HX: functions on static integers // fun f_neg_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) in s3exp_ineg (s3ie1) end // end of [f_neg_int] // fun f_add_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_iadd (s3ie1, s3ie2) end // end of [f_add_int_int] // fun f_sub_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_isub (s3ie1, s3ie2) end // end of [f_sub_int_int] // fun f_mul_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_imul (s3ie1, s3ie2) end // end of [f_mul_int_int] // fun f_ndiv_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_ndivrel_int_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_ndiv_int_int] fun f_idiv_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2es0 = s2es val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val sgn = ( case+ s2e2.s2exp_node of | S2Eint (i) => compare_int_int (i, 0) | S2Eintinf (i) => $INTINF.compare_intinf_int (i, 0) | _ => 0 (* HX: no integer constant *) ) : int // end of [val] val s2c = ( if sgn != 0 then s2cstref_get_cst (the_ndivrel_int_int_int) else s2cstref_get_cst (the_idivrel_int_int_int) ) : s2cst // end of [val] // // HX: note that x/y = ~(x/(~y)) if y < 0 // val s2es = ( if sgn >= 0 then s2es0 else list_pair (s2e1, s2exp_ineg (s2e2)) // end of [if] ) : s2explst // end of [val] val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) val s3e = s3exp_var (s2v) in if sgn >= 0 then s3e else s3exp_ineg (s3e) end // end of [f_idiv_int_int] // fun f_lt_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_ilt (s3ie1, s3ie2) end // end of [f_lt_int_int] // fun f_lte_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_ilte (s3ie1, s3ie2) end // end of [f_lte_int_int] // fun f_gt_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_igt (s3ie1, s3ie2) end // end of [f_gt_int_int] // fun f_gte_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_igte (s3ie1, s3ie2) end // end of [f_gte_int_int] // fun f_eq_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_ieq (s3ie1, s3ie2) end // end of [f_eq_int_int] // fun f_neq_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val-list_cons (s2e1, s2es) = s2es val-list_cons (s2e2, s2es) = s2es val s3ie1 = s3exp_make (env, s2e1) val s3ie2 = s3exp_make (env, s2e2) in s3exp_ineq (s3ie1, s3ie2) end // end of [f_neq_int_int] // fun f_abs_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_absrel_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_abs_int] // fun f_sgn_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_sgnrel_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_sgn_int] // fun f_max_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_maxrel_int_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_max_int_int] // fun f_min_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_minrel_int_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_min_int_int] // fun f_ifint_bool_int_int ( env: &s2vbcfenv, s2es: s2explst ) : s3exp = let val s2c = s2cstref_get_cst (the_ifintrel_bool_int_int_int) val s2v = s2vbcfenv_replace_cstapp (env, s2rt_int, s2c, s2es) in s3exp_var (s2v) end // end of [f_ifint_bool_int_int] // // HX: functions on static addresses // (* // fun f_add_addr_int = f_add_int_int fun f_sub_addr_int = f_sub_int_int fun f_sub_addr_addr = f_sub_int_int // fun f_lt_addr_addr = f_lt_int_int fun f_lte_addr_addr = f_lte_int_int fun f_gt_addr_addr = f_gt_int_int fun f_gte_addr_addr = f_gte_int_int fun f_eq_addr_addr = f_eq_int_int fun f_neq_addr_addr = f_neq_int_int // *) // // HX: functions on static classes // fun f_lte_cls_cls ( env: &s2vbcfenv, s2es0: s2explst ) : s3exp = let // (* val () = println! ("f_lte_cls_cls: s2es = ", s2es0) *) // val s2c = s2cstref_get_cst (the_lte_cls_cls) // val-list_cons (s2e1, s2es1) = s2es0 val-list_cons (s2e2, s2es2) = s2es1 // val s2e1 = s2exp_hnfize (s2e1) and s2e2 = s2exp_hnfize (s2e2) // in // case+ ( s2e1.s2exp_node , s2e2.s2exp_node ) of (* caseof *) | (S2Ecst (s2c1), S2Ecst (s2c2)) => ( s3exp_bool (s2cst_lte_cls_cls (s2c1, s2c2)) ) | (_, _) => let val s2c_rel = s2cstref_get_cst (the_lterel_cls_cls) val s2v_res = s2vbcfenv_replace_cstapp (env, s2rt_bool, s2c_rel, s2es0) // end of [val] (* val ((*void*)) = println! ("f_lte_cls_cls: s2v_res = ", s2v_res) *) in s3exp_bvar (s2v_res) end // end of [_, _] end // end of [f_lte_cls_cls] // (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement constraint3_initialize_map (map) = let // typedef tfun = (&s2vbcfenv, s2explst) - s3exp // fun ins ( map: &s2cfunmap, r: s2cstref, f: tfun ) : void = let val s2c = s2cstref_get_cst (r) val map1 = $UN.cast {s2cstmap(tfun)} (map) val map2 = s2cstmap_add (map1, s2c, f) val () = map := $UN.cast {s2cfunmap} (map2) in (*nothing*) end // end of [ins] // val () = ins (map, the_neg_bool, f_neg_bool) val () = ins (map, the_add_bool_bool, f_add_bool_bool) val () = ins (map, the_mul_bool_bool, f_mul_bool_bool) val () = ins (map, the_eq_bool_bool, f_eq_bool_bool) val () = ins (map, the_neq_bool_bool, f_neq_bool_bool) // val () = ins (map, the_neg_int, f_neg_int) val () = ins (map, the_add_int_int, f_add_int_int) val () = ins (map, the_sub_int_int, f_sub_int_int) val () = ins (map, the_mul_int_int, f_mul_int_int) val () = ins (map, the_div_int_int, f_idiv_int_int) val () = ins (map, the_ndiv_int_int, f_ndiv_int_int) val () = ins (map, the_idiv_int_int, f_idiv_int_int) // val () = ins (map, the_lt_int_int, f_lt_int_int) val () = ins (map, the_lte_int_int, f_lte_int_int) val () = ins (map, the_gt_int_int, f_gt_int_int) val () = ins (map, the_gte_int_int, f_gte_int_int) val () = ins (map, the_eq_int_int, f_eq_int_int) val () = ins (map, the_neq_int_int, f_neq_int_int) // val () = ins (map, the_abs_int, f_abs_int) val () = ins (map, the_sgn_int, f_sgn_int) val () = ins (map, the_max_int_int, f_max_int_int) val () = ins (map, the_min_int_int, f_min_int_int) // val () = ins (map, the_ifint_bool_int_int, f_ifint_bool_int_int) // (* val () = ins (map, the_int_of_bool, f_int_of_bool) val () = ins (map, the_bool_of_int, f_bool_of_int) *) (* val () = ins (map, the_int_of_char, f_identity) // HX: removed val () = ins (map, the_char_of_int, f_identity) // HX: removed *) val () = ins (map, the_int_of_addr, f_identity) val () = ins (map, the_addr_of_int, f_identity) // val () = ins (map, the_add_addr_int, f_add_int_int) val () = ins (map, the_sub_addr_int, f_sub_int_int) val () = ins (map, the_sub_addr_addr, f_sub_int_int) // val () = ins (map, the_lt_addr_addr, f_lt_int_int) val () = ins (map, the_lte_addr_addr, f_lte_int_int) val () = ins (map, the_gt_addr_addr, f_gt_int_int) val () = ins (map, the_gte_addr_addr, f_gte_int_int) val () = ins (map, the_eq_addr_addr, f_eq_int_int) val () = ins (map, the_neq_addr_addr, f_neq_int_int) // val () = ins (map, the_lte_cls_cls, f_lte_cls_cls) (* val () = ins (map, the_gte_cls_cls, f_gte_cls_cls) *) // in (*nothing*) end // end of [constraint3_initialize_map] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_constraint3_init.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_myint_gmp.dats0000664000175000017500000002332212655455557021352 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) %{^ #include "pats_lintprgm_myint.cats" %} // end of [%{^] (* ****** ****** *) staload "libc/SATS/gmp.sats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) viewtypedef lintinf (l:addr) = // (free_gc_v (mpz_vt?, l), mpz_vt @ l | ptr l) viewtypedef lintinf = [l:addr] lintinf (l) (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) viewtypedef myint = myint (gmpknd) extern castfn myint2int (x: myint):<> lintinf macdef mi2i = myint2int extern castfn int2myint (x: lintinf):<> myint macdef i2mi = int2myint extern praxi myintenc (x: !lintinf >> myint): void macdef mienc = myintenc extern praxi myintdec (x: !myint >> lintinf): void macdef midec = myintdec (* ****** ****** *) // implement fprint_myint (out, x) = let prval () = midec (x) prval pfat_x = x.1 val () = fprint0_mpz (out, !(x.2)) prval () = x.1 := pfat_x prval () = mienc (x) in (*nothing*) end // end of [fprint_myint] // implement print_myint (x) = fprint_myint (stdout_ref, x) implement prerr_myint (x) = fprint_myint (stderr_ref, x) // (* ****** ****** *) implement myint_make_int (i) = let val ( pfgc, pfat | p ) = ptr_alloc_tsz {mpz_vt} (sizeof) val () = mpz_init_set_int (!p, i) in int2myint @(pfgc, pfat | p) end // end of [intinf_make_int] (* ****** ****** *) local extern castfn intinf_takeout_mpz ( intinf: $INTINF.intinf ) : [l:addr] ( mpz_vt @ l, mpz_vt @ l - void | ptr l ) // end of [intinf_takeout_mpz] in (* in-of-local *) implement myint_make_intinf (i) = let val ( pfgc, pfat | p ) = ptr_alloc_tsz {mpz_vt} (sizeof) val (pf, fpf | p_i) = intinf_takeout_mpz (i) val () = mpz_init_set_mpz (!p, !p_i) prval () = fpf (pf) in int2myint @(pfgc, pfat | p) end // end of [intinf_make_int] end // end of [local] (* ****** ****** *) implement myint_copy (x) = let val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = midec (x) prval pfat_x = x.1 val () = mpz_init_set_mpz (!p, !(x.2)) prval () = x.1 := pfat_x prval () = mienc (x) in i2mi @(pfgc, pfat | p) end // end of [myint_copy] (* ****** ****** *) implement myint_free (x) = let val x = mi2i (x) prval pfat_x = x.1 val () = mpz_clear (!(x.2)) in ptr_free {mpz_vt?} (x.0, pfat_x | x.2) end // end of [myint_free] (* ****** ****** *) implement neg_myint (x) = i2mi(x) where { val x = mi2i (x) prval pfat_x = x.1 val () = mpz_neg (!(x.2)) prval () = x.1 := pfat_x } // end of [neg_myint] (* ****** ****** *) implement neg1_myint (x) = i2mi @(pfgc, pfat | p) where { val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) val () = mpz_init (!p) prval () = midec (x) prval pfat_x = x.1 val () = mpz_neg (!p, !(x.2)) prval () = x.1 := pfat_x prval () = mienc (x) } // end of [neg1_myint] (* ****** ****** *) implement add01_myint_myint (x, y) = i2mi(x) where { val x = mi2i (x); prval () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_add2_mpz (!(x.2), !(y.2)) prval () = x.1 := pfat_x; prval () = y.1 := pfat_y prval () = mienc (y) } // end of [add_myint_myint] (* ****** ****** *) implement sub01_myint_myint (x, y) = i2mi(x) where { val x = mi2i (x); prval () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_sub2_mpz (!(x.2), !(y.2)) prval () = x.1 := pfat_x; prval () = y.1 := pfat_y prval () = mienc (y) } // end of [sub_myint_myint] (* ****** ****** *) implement add_myint_int (x, i) = i2mi(x) where { val x = mi2i (x) prval pfat_x = x.1 val () = mpz_add2_int (!(x.2), i) prval () = x.1 := pfat_x } // end of [add_myint_int] (* ****** ****** *) implement mul01_myint_myint (x, y) = i2mi(x) where { val x = mi2i (x); prval () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_mul2_mpz (!(x.2), !(y.2)) prval () = x.1 := pfat_x prval () = y.1 := pfat_y prval () = mienc (y) } // end of [mul01_myint_myint] implement mul10_myint_myint (x, y) = i2mi(y) where { prval () = midec (x); val y = mi2i (y) prval pfat_x = x.1; prval pfat_y = y.1 val [l:addr] ( pf_y, fpf_y | p_y ) = __cast (y.2) where { extern castfn __cast (p: ptr) :<> [l:addr] (mpz_vt@l, mpz_vt@l - void | ptr l) // end of [extern] } // end of [val] val () = mpz_mul3_mpz (!(y.2), !(x.2), !p_y) prval () = fpf_y (pf_y) prval () = x.1 := pfat_x prval () = mienc (x) prval () = y.1 := pfat_y } // end of [mul10_myint_myint] implement mul11_myint_myint (x, y) = let val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) val () = mpz_init (!p) prval () = midec (x) and () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_mul3_mpz (!p, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = mienc (x) and () = mienc (y) in i2mi @(pfgc, pfat | p) end // end of [mul11_myint_myint] (* ****** ****** *) implement div01_myint_myint (x, y) = i2mi (x) where { val x = mi2i (x); prval () = midec (y) val [l:addr] ( pf_x, fpf_x | p_x ) = __cast (x.2) where { extern castfn __cast (p: ptr) :<> [l:addr] (mpz_vt@l, mpz_vt@l - void | ptr l) // end of [extern] } // end of [val] prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_tdiv3_q_mpz (!p_x, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = fpf_x (pf_x) prval () = mienc (y) } // end of [div01_myint_myint] (* ****** ****** *) implement ediv01_myint_myint (x, y) = i2mi (x) where { val x = mi2i (x); prval () = midec (y) val [l:addr] ( pf_x, fpf_x | p_x ) = __cast (x.2) where { extern castfn __cast (p: ptr) :<> [l:addr] (mpz_vt@l, mpz_vt@l - void | ptr l) // end of [extern] } // end of [val] prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_divexact3 (!p_x, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = fpf_x (pf_x) prval () = mienc (y) } // end of [ediv01_myint_myint] (* ****** ****** *) implement mod01_myint_myint (x, y) = i2mi (x) where { val x = mi2i (x); prval () = midec (y) val [l:addr] ( pf_x, fpf_x | p_x ) = __cast (x.2) where { extern castfn __cast (p: ptr) :<> [l:addr] (mpz_vt@l, mpz_vt@l - void | ptr l) // end of [extern] } // end of [val] prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_mod3_mpz (!p_x, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = fpf_x (pf_x) prval () = mienc (y) } // end of [mod01_myint_myint] implement mod11_myint_myint (x, y) = let val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) val () = mpz_init (!p) prval () = midec (x) and () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_mod3_mpz (!p, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = mienc (x) and () = mienc (y) in i2mi @(pfgc, pfat | p) end // end of [mod11_myint_myint] (* ****** ****** *) implement gcd01_myint_myint (x, y) = i2mi (x) where { val x = mi2i (x); prval () = midec (y) val [l:addr] ( pf_x, fpf_x | p_x ) = __cast (x.2) where { extern castfn __cast (p: ptr) :<> [l:addr] (mpz_vt@l, mpz_vt@l - void | ptr l) // end of [extern] } // end of [val] prval pfat_x = x.1; prval pfat_y = y.1 val () = mpz_gcd3_mpz (!p_x, !(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = fpf_x (pf_x) prval () = mienc (y) } // end of [gcd01_myint_myint] (* ****** ****** *) implement compare_myint_int (x, i) = sgn where { prval () = midec (x) prval pfat_x = x.1 val sgn = mpz_cmp_int (!(x.2), i) prval () = x.1 := pfat_x prval () = mienc (x) } // end of [compare_intinf_int] (* ****** ****** *) implement compare_myint_myint (x, y) = sgn where { prval () = midec (x) and () = midec (y) prval pfat_x = x.1; prval pfat_y = y.1 val sgn = mpz_cmp_mpz (!(x.2), !(y.2)) prval () = x.1 := pfat_x and () = y.1 := pfat_y prval () = mienc (x) and () = mienc (y) } // end of [compare_intinf_int] (* ****** ****** *) (* end of [pats_lintprgm_myint_gmp.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_scst.dats0000664000175000017500000003712712655455557020065 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload FIL = "./pats_filename.sats" staload LOC = "./pats_location.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolopt = $SYM.symbolopt (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) abstype s2cstlst_t // = s2cstlst extern castfn s2cstlst_encode (x: s2cstlst):<> s2cstlst_t extern castfn s2cstlst_decode (x: s2cstlst_t):<> s2cstlst abstype s2cstopt_t // = s2cstopt extern castfn s2cstopt_encode (x: s2cstopt):<> s2cstopt_t extern castfn s2cstopt_decode (x: s2cstopt_t):<> s2cstopt (* ****** ****** *) typedef s2cst_struct = @{ s2cst_sym= symbol // the name , s2cst_loc= location // location , s2cst_fil= filename // filename // , s2cst_srt= s2rt // the sort // , s2cst_def= s2expopt // definition , s2cst_pack= Stropt // for ATS_PACKNAME // , s2cst_isabs= Option (s2expopt) // is abstract? , s2cst_iscon= bool // constructor? , s2cst_isrec= bool // is it recursive? , s2cst_isasp= bool // already assumed? , s2cst_iscpy= s2cstopt_t // is it a copy? // // HX: is list-like? // , s2cst_islst= Option @(d2con(*nil*), d2con(*cons*)) // , s2cst_arylst= List int // arity list // // HX: -1/0/1: contravarint/invariant/covarint // , s2cst_argsrtss= List (syms2rtlst) // // HX: the associated dynamic constructors // , s2cst_dconlst= Option (d2conlst) // , s2cst_sup= s2cstlst_t // parents if any , s2cst_supcls= s2explst // superclasses if any // , s2cst_sVarset= s2Varset // for occurrence checks // , s2cst_dstag= int // dstag >= 0 if associated a datasort // , s2cst_stamp= stamp // stamp for unicity // } (* end of [s2cst_struct] *) (* ****** ****** *) local fun s2rt_get_arylst (s2t: s2rt): List int = case+ s2t of | S2RTfun (s2ts, s2t) => list_cons (list_length s2ts, s2rt_get_arylst (s2t)) // end of [S2RTfun] | _ => list_nil () // end of [_] // end of [s2rt_get_arylst] assume s2cst_type = ref (s2cst_struct) in // in of [local] implement s2cst_make ( id , loc, fil, s2t , isabs, iscon, isrec, isasp, islst , argsrtss, def ) = let // val pack = $GLOB.the_PACKNAME_get () val stamp = $STMP.s2cst_stamp_make () val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim {s2cst_struct?} (pfgc) // val () = p->s2cst_sym := id val () = p->s2cst_loc := loc val () = p->s2cst_fil := fil // val () = p->s2cst_srt := s2t // val () = p->s2cst_def := def val () = p->s2cst_pack := pack // val () = p->s2cst_isabs := isabs val () = p->s2cst_iscon := iscon val () = p->s2cst_isrec := isrec val () = p->s2cst_isasp := isasp val () = p->s2cst_iscpy := s2cstopt_encode (None) val () = p->s2cst_islst := islst val () = p->s2cst_arylst := s2rt_get_arylst (s2t) val () = p->s2cst_argsrtss := argsrtss val () = p->s2cst_dconlst := None () val () = p->s2cst_sup := s2cstlst_encode (list_nil) val () = p->s2cst_supcls := list_nil () val () = p->s2cst_sVarset := s2Varset_nil () val () = p->s2cst_dstag := (~1) // datasort val () = p->s2cst_stamp := stamp // unicity // in // in of [let] // ref_make_view_ptr (pfat | p) // end // end of [s2cst_make] (* ****** ****** *) implement s2cst_get_sym (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_sym end // end of [s2cst_get_sym] implement s2cst_get_loc (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_loc end // end of [s2cst_get_loc] implement s2cst_get_fil (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_fil end // end of [s2cst_get_fil] implement s2cst_get_srt (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_srt end // end of [s2cst_get_srt] implement s2cst_get_def (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_def end // end of [s2cst_def_get] implement s2cst_set_def (s2c, opt) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_def := opt end // end of [s2cst_def_set] implement s2cst_get_pack (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_pack end // end of [s2cst_get_pack] implement s2cst_get_isabs (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_isabs end // end of [s2cst_get_isabs] implement s2cst_get_iscon (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_iscon end // end of [s2cst_get_iscon] implement s2cst_get_isrec (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_isrec end // end of [s2cst_get_isrec] implement s2cst_get_isasp (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_isasp end // end of [s2cst_get_isasp] implement s2cst_set_isasp (s2c, isasp) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_isasp := isasp end // end of [s2cst_set_isasp] implement s2cst_get_argsrtss (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_argsrtss end // end of [s2cst_get_argsrtss] implement s2cst_get_islst (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_islst end // end of [s2cst_get_islst] implement s2cst_set_islst (s2c, islst) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_islst := islst end // end of [s2cst_set_islst] implement s2cst_get_dconlst (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_dconlst end // end of [s2cst_get_dconlst] implement s2cst_set_dconlst (s2c, d2cs) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_dconlst := d2cs end // end of [s2cst_set_dconlst] implement s2cst_get_sup (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in s2cstlst_decode (p->s2cst_sup) end // end of [s2cst_sup_get] implement s2cst_add_sup (s2c, sup) = let val (vbox pf | p) = ref_get_view_ptr (s2c) val sups = s2cstlst_decode (p->s2cst_sup) val sups = s2cstlst_encode (list_cons (sup, sups)) in p->s2cst_sup := sups end // end of [s2cst_sup_add] implement s2cst_get_supcls (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_supcls end // end of [s2cst_get_supcls] implement s2cst_add_supcls (s2c, sup) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_supcls := list_cons (sup, p->s2cst_supcls) end // end of [s2cst_supcls_add] implement s2cst_get_sVarset (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_sVarset end // end of [s2cst_get_sVarset] implement s2cst_set_sVarset (s2c, s2Vs) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_sVarset := s2Vs end // end of [s2cst_set_sVarset] implement s2cst_get_dstag (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_dstag end // end of [s2cst_get_dstag] implement s2cst_set_dstag (s2c, tag) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_dstag := tag end (* end of [s2cst_set_dstag] *) implement s2cst_get_stamp (s2c) = let val (vbox pf | p) = ref_get_view_ptr (s2c) in p->s2cst_stamp end // end of [s2cst_get_stamp] end // end of [local] (* ****** ****** *) implement s2cst_get_name (s2c) = $SYM.symbol_get_name (s2cst_get_sym (s2c)) // end of [s2cst_get_name] (* ****** ****** *) implement s2cst_make_dat ( id, loc, s2tss_arg, s2t_res, argsrtss ) = let // fun aux ( xs: s2rtlstlst, s2t: s2rt ) : s2rt = case+ xs of | list_cons (x, xs) => s2rt_fun (x, aux (xs, s2t)) | list_nil () => s2t // end of [aux] val s2t_fun = aux (s2tss_arg, s2t_res) // in // s2cst_make ( id // name , loc // location , $FIL.filename_dummy , s2t_fun // sort , None () // isabs , true // iscon , false // isrec , false // isasp , None () // islst , argsrtss // argsortlstlst , None () // definition ) (* end of [s2cst_make] *) // end // end of [s2cst_make_dat] (* ****** ****** *) implement lt_s2cst_s2cst (x1, x2) = (compare (x1, x2) < 0) // end of [lt_s2cst_s2cst] implement lte_s2cst_s2cst (x1, x2) = (compare (x1, x2) <= 0) // end of [lte_s2cst_s2cst] implement eq_s2cst_s2cst (x1, x2) = (compare (x1, x2) = 0) // end of [eq_s2cst_s2cst] implement neq_s2cst_s2cst (x1, x2) = (compare (x1, x2) != 0) // end of [neq_s2cst_s2cst] implement compare_s2cst_s2cst (x1, x2) = $effmask_all (compare (s2cst_get_stamp (x1), s2cst_get_stamp (x2))) // end of [compare_s2cst_s2cst] (* ****** ****** *) implement s2cst_is_abstr (x) = let val isabs = s2cst_get_isabs (x) in case+ isabs of Some _ => true | None _ => false end // end of [s2cst_is_abstract] (* ****** ****** *) implement s2cst_is_tkind (x) = s2rt_is_tkind_fun (s2cst_get_srt (x)) // end of [s2cst_is_tkind] (* ****** ****** *) implement s2cst_is_datype (s2c) = ( if s2cst_is_abstr (s2c) then false else s2cst_get_iscon (s2c) ) // end of [s2cst_is_datype] (* ****** ****** *) implement s2cst_is_tagless (x) = ( case+ 0 of | _ when s2cst_is_listlike (x) => true | _ when s2cst_is_singular (x) => true | _ => false ) // end of [s2cst_is_tagless] implement s2cst_is_listlike (x) = case+ s2cst_get_islst (x) of Some _ => true | None _ => false // end of [s2cst_is_listlike] implement s2cst_is_singular (s2c) = let val opt = s2cst_get_dconlst (s2c) in case+ opt of Some d2cs => list_is_sing (d2cs) | None () => false end // end of [s2cst_is_singular] implement s2cst_is_binarian (s2c) = let val opt = s2cst_get_dconlst (s2c) in case+ opt of Some d2cs => list_is_pair (d2cs) | None () => false end // end of [s2cst_is_binarian] (* ****** ****** *) // implement s2cst_is_linear (s2c) = s2rt_is_lin_fun(s2cst_get_srt(s2c)) // implement s2cst_is_nonlinear (s2c) = if s2cst_is_linear(s2c) then false else true // (* ****** ****** *) implement s2cst_subeq (s2c1, s2c2) = let (* val () = println! ("s2cst_subeq: s2c1 = ", s2c1) val () = println! ("s2cst_subeq: s2c2 = ", s2c2) *) fun aux ( s2c1: s2cst, s2c2: s2cst ) : bool = if s2c1 = s2c2 then true else auxlst (s2cst_get_sup (s2c1), s2c2) // end of [if] and auxlst ( s2cs1: s2cstlst, s2c2: s2cst ) : bool = case+ s2cs1 of | list_cons (s2c1, s2cs1) => if aux (s2c1, s2c2) then true else auxlst (s2cs1, s2c2) | list_nil ((*void*)) => false // end of [auxlst] // val res = aux (s2c1, s2c2) (* val () = println! ("s2cst_subeq: res = ", res) *) in res end // end of [s2cst_subeq] (* ****** ****** *) implement s2cst_lte_cls_cls (s2c1, s2c2) = let (* val () = println! ("s2cst_lte_cls_cls: s2c1 = ", s2c1) val () = println! ("s2cst_lte_cls_cls: s2c2 = ", s2c2) *) fun aux ( s2c1: s2cst, s2c2: s2cst ) : bool = let (* val () = println! ("s2cst_lte_cls_cls: aux: s2c1 = ", s2c1) val () = println! ("s2cst_lte_cls_cls: aux: s2c2 = ", s2c2) *) in if s2c1 = s2c2 then true else auxlst (s2cst_get_supcls (s2c1), s2c2) // end of [if] end // end of [aux] // and auxlst ( s2es1: s2explst, s2c2: s2cst ) : bool = let in case+ s2es1 of | list_cons (s2e1, s2es1) => ( case+ s2e1.s2exp_node of | S2Ecst (s2c1) => if aux (s2c1, s2c2) then true else auxlst (s2es1, s2c2) | _ (*nonconst*) => auxlst (s2es1, s2c2) ) (* end of list_cons *) | list_nil ((*void*)) => false end // end of [auxlst] // val res = aux (s2c1, s2c2) (* val () = println! ("s2cst_lte_cls_cls: res = ", res) *) in res end // end of [s2cst_lte_cls_cls] (* ****** ****** *) implement fprint_s2cst (out, x) = let val sym = s2cst_get_sym (x) in $SYM.fprint_symbol (out, sym) end // end of [fprint_s2cst] (* // // HX: this version is for debugging // implement fprint_s2cst (out, x) = let val sym = s2cst_get_sym (x) val stmp = s2cst_get_stamp (x) val fil = s2cst_get_fil (x) val () = $FIL.fprint_filename_full (out, fil) val () = fprint_string (out, "::") val () = $SYM.fprint_symbol (out, sym) val () = fprint_string (out, "(") val () = $STMP.fprint_stamp (out, stmp) val () = fprint_string (out, ")") in // nothing end // end of [fprint_s2cst] *) implement print_s2cst (x) = fprint_s2cst (stdout_ref, x) implement prerr_s2cst (x) = fprint_s2cst (stderr_ref, x) implement fprint_s2cstlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2cst) // end of [fprint_s2cstlst] implement print_s2cstlst (xs) = fprint_s2cstlst (stdout_ref, xs) implement prerr_s2cstlst (xs) = fprint_s2cstlst (stderr_ref, xs) (* ****** ****** *) local // staload FS = "libats/SATS/funset_avltree.sats" staload LS = "libats/SATS/linset_avltree.sats" staload _(*FS*) = "libats/DATS/funset_avltree.dats" staload _(*LS*) = "libats/DATS/linset_avltree.dats" // val cmp = lam ( s2v1: s2cst, s2v2: s2cst ) : int = compare_s2cst_s2cst (s2v1, s2v2) // end of [val] // assume s2cstset_type = $FS.set (s2cst) assume s2cstset_vtype = $LS.set (s2cst) // in (* in-of-local *) implement s2cstset_nil ((*void*)) = $FS.funset_make_nil () // implement s2cstset_ismem (xs, x) = $FS.funset_is_member (xs, x, cmp) // implement s2cstset_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $FS.funset_insert (xs, x, cmp) } (* end of [s2cstset_add] *) // implement s2cstset_listize (xs) = $FS.funset_listize (xs) (* ****** ****** *) implement s2cstset_vt_nil ((*void*)) = $LS.linset_make_nil () // implement s2cstset_vt_ismem (xs, x) = $LS.linset_is_member (xs, x, cmp) // implement s2cstset_vt_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $LS.linset_insert (xs, x, cmp) } (* end of [s2cstset_vt_add] *) // implement s2cstset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) local staload MAP = "libats/SATS/funmap_avltree.sats" staload _ = "libats/DATS/funmap_avltree.dats" assume s2cstmap_type_type (a:type) = $MAP.map (s2cst, a) // end of [s2cstmap_type_type] val cmp = lam ( s2c1: s2cst, s2c2: s2cst ) : int = compare_s2cst_s2cst (s2c1, s2c2) // end of [val] in // in of [local] implement s2cstmap_nil () = $MAP.funmap_make_nil () implement s2cstmap_add (map, s2c, itm) = map where { var map = map val _(*replaced*) = $MAP.funmap_insert (map, s2c, itm, cmp) } // end of [s2cstmap_add] implement s2cstmap_find {a} (map, s2c) = let var res: a? val found = $MAP.funmap_search (map, s2c, cmp, res) // end of [val] in if found then let prval () = opt_unsome {a} (res) in Some_vt (res) end else let prval () = opt_unnone {a} (res) in None_vt (*empty*) end (* end of [if] *) end // end of [s2cstmap_find] end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_scst.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexbuf.cats0000664000175000017500000000370712655455557016724 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LEXBUF_CATS #define POSTIATS_SRC_PATS_LEXBUF_CATS /* ****** ****** */ #include "libats/CATS/linqueue_arr.cats" /* ****** ****** */ #include "pats_reader.cats" /* ****** ****** */ typedef struct { // atslib_linqueue_arr_QUEUE cbuf ; // ats_lint_type base ; ats_int_type base_nrow ; // line number ats_int_type base_ncol ; // line offset // ats_int_type nspace ; // leading space // pats_reader_struct reader ; // for getchar // } pats_lexbuf_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LEXBUF_CATS] /* ****** ****** */ /* end of [pats_lexbuf.cats] */ ATS2-Postiats-0.2.6/./src/pats_syntax.dats0000664000175000017500000021760212655455557016767 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" overload + with $LOC.location_combine staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload FIX = "./pats_fixity.sats" staload FIL = "./pats_filename.sats" (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_lexing.sats" staload "./pats_parsing.sats" staload "./pats_syntax.sats" (* ****** ****** *) #define sz2i int_of_size #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) implement lamkind_isbox (knd) = ( if knd >= 0 then (if test_boxkind (knd) then 1 else 0) else 1(*boxed*) // end of [if] ) (* end of [lamkind_isbox] *) (* ****** ****** *) implement lamkind_islin (knd) = ( if knd >= 0 then (if test_linkind (knd) then 1 else 0) else 0(*nonlin*) // end of [if] ) (* end of [lamkind_islin] *) (* ****** ****** *) // implement synent_null {a} () = $UN.cast{a} (null) // implement synent_is_null (x) = ptr_is_null ($UN.cast{ptr} (x)) implement synent_isnot_null (x) = ptr_isnot_null ($UN.cast{ptr} (x)) // (* ****** ****** *) implement i0nt2int (tok) = let // val-T_INT (_, rep, _) = tok.token_node in int_of_string (rep) // end // end of [i0nt2int] (* ****** ****** *) // implement i0de_make_sym (loc, sym) = '{ i0de_loc= loc, i0de_sym= sym } // (* ****** ****** *) implement i0de_make_string (loc, name) = let // val sym = $SYM.symbol_make_string (name) in i0de_make_sym (loc, sym) // end // end of [i0de_make_string] (* ****** ****** *) implement i0de_make_lrbrackets (t_beg, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ i0de_loc= loc, i0de_sym= $SYM.symbol_LRBRACKETS } end // end of [i0de_make_lrbrackets] (* ****** ****** *) implement e0fftag_cst (i, id) = let val name = $SYM.symbol_get_name (id.i0de_sym) in '{ e0fftag_loc= id.i0de_loc, e0fftag_node= E0FFTAGcst (i, name) } end // end of [e0fftag_cst] (* ****** ****** *) local #define CLO 0 #define CLOPTR ( 1) #define CLOREF (~1) fn name_is_prf (name: string): bool = name = "prf" // end of [name_is_prf] fn name_is_lin0 (name: string): bool = if name = "lin" then true else name = "lin0" fn name_is_lin1 (name: string): bool = name = "lin1" fn name_is_fun0 (name: string): bool = if name = "fun" then true else name = "fun0" fn name_is_fun1 (name: string): bool = name = "fun1" fn name_is_linfun0 (name: string): bool = if name = "linfun" then true else name = "linfun0" fn name_is_linfun1 (name: string): bool = name = "linfun1" fn name_is_clo0 (name: string): bool = if name = "clo" then true else name = "clo0" fn name_is_clo1 (name: string): bool = name = "clo1" fn name_is_linclo0 (name: string): bool = if name = "linclo" then true else name = "linclo0" fn name_is_linclo1 (name: string): bool = name = "linclo1" fn name_is_cloptr0 (name: string): bool = if name = "cloptr" then true else name = "cloptr0" fn name_is_cloptr1 (name: string): bool = name = "cloptr1" fn name_is_lincloptr0 (name: string): bool = if name = "lincloptr" then true else name = "lincloptr0" fn name_is_lincloptr1 (name: string): bool = name = "lincloptr1" fn name_is_cloref0 (name: string): bool = if name = "cloref" then true else name = "cloref0" fn name_is_cloref1 (name: string): bool = name = "cloref1" in (* in of [local] *) implement e0fftag_i0de (id) = let val name = $SYM.symbol_get_name (id.i0de_sym) val node = (case+ name of // | _ when name_is_prf name => E0FFTAGprf // | _ when name_is_clo0 name => E0FFTAGclo (~1(*u*), CLO, 0) | _ when name_is_clo1 name => E0FFTAGclo (~1(*u*), CLO, 1) | _ when name_is_linclo0 name => E0FFTAGclo (1(*l*), CLO, 0) | _ when name_is_linclo1 name => E0FFTAGclo (1(*l*), CLO, 1) // | _ when name_is_cloptr0 name => E0FFTAGclo (~1(*u*), CLOPTR, 0) | _ when name_is_cloptr1 name => E0FFTAGclo (~1(*u*), CLOPTR, 1) | _ when name_is_lincloptr0 name => E0FFTAGclo (1(*l*), CLOPTR, 0) | _ when name_is_lincloptr1 name => E0FFTAGclo (1(*l*), CLOPTR, 1) // | _ when name_is_cloref0 name => E0FFTAGclo (0(*n*), CLOREF, 0) | _ when name_is_cloref1 name => E0FFTAGclo (0(*n*), CLOREF, 1) // | _ when name_is_fun0 name => E0FFTAGfun (~1(*u*), 0) | _ when name_is_fun1 name => E0FFTAGfun (~1(*u*), 1) | _ when name_is_linfun0 name => E0FFTAGfun (1(*l*), 0) | _ when name_is_linfun1 name => E0FFTAGfun (1(*l*), 1) // | _ when name_is_lin0 name => E0FFTAGlin 0 | _ when name_is_lin1 name => E0FFTAGlin 1 // | _ => E0FFTAGvar id ) : e0fftag_node // end of [val] // in '{ e0fftag_loc= id.i0de_loc, e0fftag_node= node } end // end of [e0fftag_var] end // end of [local] implement e0fftag_var_fun (t) = '{ e0fftag_loc= t.token_loc , e0fftag_node= E0FFTAGfun (~1(*u*), 0) } // end of [e0fftag_var_fun] implement e0fftag_i0nt (tok) = let val int = i0nt2int (tok) in '{ e0fftag_loc= tok.token_loc, e0fftag_node= E0FFTAGint (int) } end // end of [e0fftag_int] (* ****** ****** *) // // HX: omitted precedence is assumed to equal 0 // implement p0rec_emp () = P0RECint (0) // implement p0rec_i0nt (tok) = let val pval = i0nt2int (tok) in P0RECint (pval) end // end of [p0rec_i0nt] // implement p0rec_i0de (id) = P0RECi0de (id) // implement p0rec_i0de_adj (id, opr, i0nt) = let val adj = i0nt2int (i0nt) in P0RECi0de_adj (id, opr, adj) end // end of [p0rec_i0de_adj] // (* ****** ****** *) implement e0xp_i0de (id) = '{ e0xp_loc= id.i0de_loc, e0xp_node= E0XPide id.i0de_sym } // end of [e0xp_ide] implement e0xp_i0nt (tok) = let in '{ e0xp_loc= tok.token_loc, e0xp_node= E0XPint (tok) } end // end of [e0xp_i0nt] implement e0xp_c0har (tok) = let in '{ e0xp_loc= tok.token_loc, e0xp_node= E0XPchar (tok) } end // end of [e0xp_c0har] implement e0xp_f0loat (tok) = let in '{ e0xp_loc= tok.token_loc, e0xp_node= E0XPfloat (tok) } end // end of [e0xp_f0loat] implement e0xp_s0tring (tok) = let in '{ e0xp_loc= tok.token_loc, e0xp_node= E0XPstring (tok) } end // end of [e0xp_s0tring] implement e0xp_app (e1, e2) = let val loc = e1.e0xp_loc + e2.e0xp_loc in '{ e0xp_loc= loc, e0xp_node= E0XPapp (e1, e2) } end // end of [e0xp_app] implement e0xp_eval ( t_beg, e, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ e0xp_loc= loc, e0xp_node= E0XPeval e } end // end of [e0xp_eval] implement e0xp_list ( t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ e0xp_loc= loc, e0xp_node= E0XPlist xs } end // end of [e0xp_list] implement e0xp_if ( t_if, _cond, _then, _else ) = let val loc = (case+ _else of | Some e => t_if.token_loc + e.e0xp_loc | None _ => t_if.token_loc + _then.e0xp_loc ) : location // end of [val] in '{ e0xp_loc= loc, e0xp_node= E0XPif (_cond, _then, _else) } end // end of [e0xp_if] implement e0xp_make_stringid (loc, id) = '{ e0xp_loc= loc, e0xp_node= E0XPstringid (id) } // end of [e0xp_make_stringid] (* ****** ****** *) // // HX: this is for supporting definitions like // #define fversion (x, y, z) (1000 *((1000 * x) + y) + z) // fn e0xp_fun ( loc: location, arg: symbolist, body: e0xp ) : e0xp = '{ e0xp_loc= loc, e0xp_node= E0XPfun (arg, body) } extern fun e0xp_funize (e0: e0xp, flag: &int): e0xp implement e0xp_funize (e0, flag) = let fun argtest (es: e0xplst): bool = case+ es of | list_cons (e, es) => ( case+ e.e0xp_node of E0XPide _ => argtest (es) | _ => false ) // end of [list_cons] | list_nil () => true // end of [argtest] fun applst (e: e0xp, es: List_vt (e0xp)): e0xp = case+ es of | ~list_vt_cons (e1, es1) => let val e = e0xp_app (e, e1) in applst (e, es1) end | ~list_vt_nil () => e // end of [applist] fun auxfun ( e0: e0xp, e1: e0xp, e2: e0xp, es2: List_vt (e0xp), flag: &int ) : e0xp = case+ e1.e0xp_node of | E0XPapp (e1n, e2n) => auxfun (e0, e1n, e2n, list_vt_cons (e2, es2), flag) | E0XPlist (es) when argtest (es) => let fn f (e: e0xp): symbol = let val-E0XPide x = e.e0xp_node in x end // end of [f] val xs = l2l (list_map_fun (es, f)) val () = flag := flag + 1 in e0xp_fun (e0.e0xp_loc, xs, applst (e2, es2)) end | _ => let val () = list_vt_free (es2) in e0 end in case+ e0.e0xp_node of | E0XPapp (e1, e2) => auxfun (e0, e1, e2, list_vt_nil, flag) | _ => e0 end // end of [e0xp_funize] (* ****** ****** *) implement datsdef_make (id, opt) = DATSDEF (id.i0de_sym, opt) // end of [datsdef_make] (* ****** ****** *) implement l0ab_make_label (loc, lab) = '{ l0ab_loc= loc, l0ab_lab= lab } // end of [l0ab_make_lab] implement l0ab_make_i0de (x) = let val lab = $LAB.label_make_sym (x.i0de_sym) // end of [val] in l0ab_make_label (x.i0de_loc, lab) end // end of [l0ab_make_i0de] implement l0ab_make_i0nt (x) = let val i = i0nt2int (x) val lab = $LAB.label_make_int (i) in l0ab_make_label (x.token_loc, lab) end // end of [l0ab_make_i0nt] (* ****** ****** *) implement i0de_make_dotlab (t_dot, l0) = let // val loc = t_dot.token_loc + l0.l0ab_loc val l = l0.l0ab_lab val dotsym = $LAB.label_dotize (l) // in i0de_make_sym (loc, dotsym) end // end of [i0de_make_dotlab] (* ****** ****** *) implement s0rtq_none (loc) = '{ s0rtq_loc= loc, s0rtq_node= S0RTQnone () } // end of [s0rtq_none] implement s0rtq_symdot (ent1, tok2) = let val loc = ent1.i0de_loc + tok2.token_loc in '{ s0rtq_loc= loc, s0rtq_node= S0RTQsymdot (ent1.i0de_sym) } end // end of [s0rtq_symdot] (* ****** ****** *) implement the_s0taq_none = s0taq_none ($LOC.location_dummy) implement s0taq_none (loc) = '{ s0taq_loc= loc, s0taq_node= S0TAQnone () } // end of [s0taq_none] implement s0taq_symdot (ent1, tok2) = let val loc = ent1.i0de_loc + tok2.token_loc in '{ s0taq_loc= loc, s0taq_node= S0TAQsymdot (ent1.i0de_sym) } end // end of [s0taq_symdot] implement s0taq_symcolon (ent1, tok2) = let val loc = ent1.i0de_loc + tok2.token_loc in '{ s0taq_loc= loc, s0taq_node= S0TAQsymcolon (ent1.i0de_sym) } end // end of [s0taq_symcolon] implement s0taq_is_none (q) = case q.s0taq_node of S0TAQnone () => true | _ => false // end of [s0taq_is_none] (* ****** ****** *) implement sqi0de_make_none (ent) = let val loc = ent.i0de_loc val qua = s0taq_none (loc) in '{ sqi0de_loc= loc , sqi0de_qua= qua, sqi0de_sym= ent.i0de_sym } end // end of [sqi0de_make_node] implement sqi0de_make_some (ent1, ent2) = let val loc = ent1.s0taq_loc + ent2.i0de_loc in '{ sqi0de_loc= loc , sqi0de_qua= ent1, sqi0de_sym= ent2.i0de_sym } end // end of [sqi0de_make_some] (* ****** ****** *) implement the_d0ynq_none = d0ynq_none ($LOC.location_dummy) implement d0ynq_none (loc) = '{ d0ynq_loc= loc, d0ynq_node= D0YNQnone () } // end of [d0ynq_none] implement d0ynq_symdot (ent1, tok2) = let val loc = ent1.i0de_loc + tok2.token_loc in '{ d0ynq_loc= loc, d0ynq_node= D0YNQsymdot (ent1.i0de_sym) } end // end of [d0ynq_symdot] implement d0ynq_symcolon (ent1, tok2) = let val loc = ent1.i0de_loc + tok2.token_loc in '{ d0ynq_loc= loc, d0ynq_node= D0YNQsymcolon (ent1.i0de_sym) } end // end of [d0ynq_symcolon] implement d0ynq_symdotcolon (ent1, ent2, ent3) = let val loc = ent1.i0de_loc + ent3.token_loc in '{ d0ynq_loc= loc , d0ynq_node= D0YNQsymdotcolon (ent1.i0de_sym, ent2.i0de_sym) } end // end of [d0ynq_symdotcolon] implement d0ynq_is_none (q) = case q.d0ynq_node of D0YNQnone () => true | _ => false // end of [d0ynq_is_none] (* ****** ****** *) implement dqi0de_make_none (ent) = let val loc = ent.i0de_loc val qua = d0ynq_none (loc) in '{ dqi0de_loc= loc , dqi0de_qua= qua, dqi0de_sym= ent.i0de_sym } end // end of [dqi0de_make_node] implement dqi0de_make_some (ent1, ent2) = let val loc = ent1.d0ynq_loc + ent2.i0de_loc in '{ dqi0de_loc= loc , dqi0de_qua= ent1, dqi0de_sym= ent2.i0de_sym } end // end of [dqi0de_make_some] (* ****** ****** *) implement s0rt_i0de (id) = '{ s0rt_loc= id.i0de_loc, s0rt_node= S0RTide id.i0de_sym } // end of [s0rt_ide] implement s0rt_qid (ent1, ent2) = let val loc = ent1.s0rtq_loc + ent2.i0de_loc in '{ s0rt_loc= loc, s0rt_node= S0RTqid (ent1, ent2.i0de_sym) } end // end of [s0rt_ide] implement s0rt_app (x1, x2) = let val loc = x1.s0rt_loc + x2.s0rt_loc in '{ s0rt_loc= loc, s0rt_node= S0RTapp (x1, x2) } end // end of [s0rt_app] implement s0rt_list ( t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0rt_loc= loc, s0rt_node= S0RTlist (xs) } end // end of [s0rt_list] implement s0rt_type (x) = let val-T_TYPE (knd) = x.token_node in '{ s0rt_loc= x.token_loc, s0rt_node= S0RTtype (knd) } end // end of [s0rt_i0nt] (* ****** ****** *) implement d0atsrtcon_make (id, arg) = let val loc = (case+ arg of | Some s0t => id.i0de_loc + s0t.s0rt_loc | None () => id.i0de_loc ) : location // end of [val] in '{ d0atsrtcon_loc= loc , d0atsrtcon_sym= id.i0de_sym , d0atsrtcon_arg= arg } end // end of [d0atsrtcon_make] implement d0atsrtdec_make (id, tok, xs) = let fun loop ( id: i0de, x: d0atsrtcon, xs: d0atsrtconlst ) : location = case+ xs of | list_cons (x, xs) => loop (id, x, xs) | list_nil () => id.i0de_loc + x.d0atsrtcon_loc // end of [loop] val loc = ( case+ xs of | list_cons (x, xs) => loop (id, x, xs) | list_nil () => id.i0de_loc + tok.token_loc ) : location // end of [val] in '{ d0atsrtdec_loc= loc , d0atsrtdec_sym= id.i0de_sym, d0atsrtdec_con= xs } end // end of [d0atsrtdec_make] (* ****** ****** *) implement s0arg_make (x1, x2) = let val loc = (case x2 of | Some s0t => x1.i0de_loc + s0t.s0rt_loc | None () => x1.i0de_loc ) : location // end of [val] in '{ s0arg_loc= loc, s0arg_sym= x1.i0de_sym, s0arg_srt= x2 } end // end of [s0arg_make] (* ****** ****** *) implement s0marg_make_one (x) = '{ s0marg_loc= x.s0arg_loc, s0marg_arg= list_sing (x) } // end of [s0marg_make_one] implement s0marg_make_many (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0marg_loc= loc, s0marg_arg= xs } end // end of [s0marg_make_many] (* ****** ****** *) implement a0srt_make_none (s0t) = '{ a0srt_loc= s0t.s0rt_loc , a0srt_sym= None (), a0srt_srt= s0t } // end of [a0srt_make_none] implement a0srt_make_some (id, s0t) = let val loc = id.i0de_loc + s0t.s0rt_loc in '{ a0srt_loc= loc , a0srt_sym= Some (id.i0de_sym), a0srt_srt= s0t } end // end of [a0srt_make_some] implement a0msrt_make (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ a0msrt_loc= loc, a0msrt_arg= xs } end // end of [a0msrt_make] (* ****** ****** *) implement s0arrdim_make (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0arrdim_loc= loc, s0arrdim_dim = xs } end // end of [s0arrdim] implement s0rtext_srt (s0t) = '{ s0rtext_loc= s0t.s0rt_loc, s0rtext_node= S0TEsrt s0t } // end of [s0rtext_srt] implement s0rtext_sub ( t_beg, id, s0te, s0e, s0es, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0rtext_loc= loc, s0rtext_node= S0TEsub (id, s0te, s0e, s0es) } end // end of [s0rtext_sub] implement s0qua_prop (s0e) = '{ s0qua_loc= s0e.s0exp_loc, s0qua_node= S0QUAprop s0e } implement s0qua_vars (id, ids, s0te) = let val loc = id.i0de_loc + s0te.s0rtext_loc in '{ s0qua_loc= loc, s0qua_node= S0QUAvars (id, ids, s0te) } end // end of [s0qua_vars] (* ****** ****** *) implement q0marg_make (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ q0marg_loc= loc, q0marg_arg= xs } end // end of [q0marg] (* ****** ****** *) implement a0typ_make_none (s0e) = '{ a0typ_loc= s0e.s0exp_loc , a0typ_sym= None (), a0typ_typ= s0e } // end of [a0typ_make_none] implement a0typ_make_some (id, s0e) = let val loc = id.i0de_loc + s0e.s0exp_loc in '{ a0typ_loc= loc , a0typ_sym= Some (id.i0de_sym), a0typ_typ= s0e } end // end of [a0typ_make_some] (* ****** ****** *) implement s0exp_tkname (str) = let val loc = str.token_loc val-T_STRING (name) = str.token_node in '{ s0exp_loc= loc, s0exp_node= S0Eextkind (name, list_nil ()) } end // end of [s0exp_tkname] (* ****** ****** *) local // fun loop {n:nat} .. ( tok: token, x: s0exp, xs: list (s0exp, n) ) : location = case+ xs of | list_cons (x, xs) => loop (tok, x, xs) | list_nil () => tok.token_loc + x.s0exp_loc // end of [loop] // in (* in of [local] *) // implement s0exp_extype (tok1, tok2, xs) = let val-T_STRING (name) = tok2.token_node val loc = (case+ xs of | list_nil () => tok1.token_loc + tok2.token_loc | list_cons (x, xs) => loop (tok1, x, xs) ) : location // end of [val] in '{ s0exp_loc= loc, s0exp_node= S0Eextype (name, xs) } end // end of [s0exp_extype] // implement s0exp_extkind (tok1, tok2, xs) = let val-T_STRING (name) = tok2.token_node val loc = (case+ xs of | list_nil () => tok1.token_loc + tok2.token_loc | list_cons (x, xs) => loop (tok1, x, xs) ) : location // end of [val] in '{ s0exp_loc= loc, s0exp_node= S0Eextkind (name, xs) } end // end of [s0exp_extkind] // end // end of [local] (* ****** ****** *) implement s0exp_i0de (id) = '{ s0exp_loc= id.i0de_loc, s0exp_node= S0Eide (id.i0de_sym) } (* end of [s0exp_i0de] *) (* ****** ****** *) implement s0exp_opid (x1, x2) = let val loc = x1.token_loc + x2.i0de_loc in '{ s0exp_loc= loc , s0exp_node= S0Eopid (x2.i0de_sym) } end // end of [s0exp_opid] implement s0exp_sqid (sq, id) = let val loc = sq.s0taq_loc + id.i0de_loc in '{ s0exp_loc= loc, s0exp_node= S0Esqid (sq, id.i0de_sym) } end // end of [s0exp_sqid] (* ****** ****** *) implement s0exp_i0nt (x) = let in '{ s0exp_loc= x.token_loc, s0exp_node= S0Eint (x) } end // end of [s0exp_i0nt] implement s0exp_c0har (x) = let in '{ s0exp_loc= x.token_loc, s0exp_node= S0Echar (x) } end // end of [s0exp_c0har] (* ****** ****** *) implement s0exp_f0loat (x) = let in '{ s0exp_loc= x.token_loc, s0exp_node= S0Efloat (x) } end // end of [s0exp_f0loat] implement s0exp_s0tring (x) = let in '{ s0exp_loc= x.token_loc, s0exp_node= S0Estring (x) } end // end of [s0exp_string] (* ****** ****** *) implement s0exp_app (x1, x2) = let val loc = x1.s0exp_loc + x2.s0exp_loc in '{ s0exp_loc= loc, s0exp_node= S0Eapp (x1, x2) } end // end of [s0exp_app] (* ****** ****** *) implement s0exp_imp (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0exp_loc= loc, s0exp_node= S0Eimp (xs) } end // end of [s0exp_imp] implement s0exp_imp_nil (tok) = '{ s0exp_loc= tok.token_loc, s0exp_node= S0Eimp (list_nil) } // end of [s0exp_imp_nil] (* ****** ****** *) fn s0exp_lam ( loc: location , arg: s0marg, res: s0rtopt, body: s0exp ) : s0exp = '{ s0exp_loc= loc, s0exp_node = S0Elam (arg, res, body) } // end of [s0exp_lam] implement s0exp_lams ( t_beg, args, res, body ) = let val loc = t_beg.token_loc + body.s0exp_loc fun aux ( arg0: s0marg, args: s0marglst ) : s0exp = case+ args of | list_cons (arg, args) => s0exp_lam (loc, arg0, None (), aux (arg, args)) // end of [list_cons] | list_nil () => s0exp_lam (loc, arg0, res, body) // end of [val] in case+ args of | list_cons (arg, args) => aux (arg, args) | list_nil () => body end // end of [s0exp_lams] (* ****** ****** *) implement s0exp_list (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0exp_loc= loc, s0exp_node= S0Elist (xs) } end // end of [s0exp_list] implement s0exp_list2 (t_beg, xs1, xs2, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ s0exp_loc= loc, s0exp_node= S0Elist2 (xs1, xs2) } end // end of [s0exp_list2] (* ****** ****** *) implement s0exp_tyarr ( t_beg, elt, dim ) = let // val loc = t_beg.token_loc + dim.s0arrdim_loc // in '{ s0exp_loc= loc , s0exp_node= S0Etyarr(elt, dim.s0arrdim_dim) } end // end of [s0exp_tyarr] (* ****** ****** *) implement s0exp_tytup ( knd, t_beg, npf, xs, t_end ) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Etytup(knd, npf, xs) } end // end of [s0exp_tytup] (* ****** ****** *) implement s0exp_tyrec ( knd, t_beg, npf, xs, t_end ) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Etyrec(knd, npf, xs) } end // end of [s0exp_tyrec] implement s0exp_tyrec_ext ( name, t_beg, npf, xs, t_end ) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Etyrec_ext(name, npf, xs) } end // end of [s0exp_tyrec] (* ****** ****** *) implement s0exp_uni ( t_beg, xs, t_end ) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Euni(xs) } end // end of [s0exp_uni] implement s0exp_exi ( funres, t_beg, xs, t_end ) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Eexi(funres, xs) } end // end of [s0exp_exi] (* ****** ****** *) implement s0exp_ann(s0e, s0t) = let // val loc = s0e.s0exp_loc + s0t.s0rt_loc // in '{ s0exp_loc= loc, s0exp_node= S0Eann(s0e, s0t) } end // end of [s0exp_ann] (* ****** ****** *) implement s0exp_d2ctype (t_beg, d2ctp, t_end) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ s0exp_loc= loc, s0exp_node= S0Ed2ctype(d2ctp) } end // end of [s0exp_d2ctype] (* ****** ****** *) implement labs0exp_make (lab, name, s0e) = SL0ABELED (lab, name, s0e) // end of [labs0exp_make] (* ****** ****** *) implement m0acarg_dyn ( t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ m0acarg_loc= loc, m0acarg_node= M0ACARGdyn (xs) } end // end of [m0acarg_dyn] implement m0acarg_sing (x) = '{ m0acarg_loc= x.i0de_loc, m0acarg_node= M0ACARGdyn (list_sing x) } // end of [m0acarg] implement m0acarg_sta ( t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ m0acarg_loc= loc, m0acarg_node= M0ACARGsta (xs) } end // end of [m0acarg_sta] (* ****** ****** *) implement d0cstarg_sta ( t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0cstarg_loc= loc , d0cstarg_node= D0CSTARGsta (xs) } end // end of [d0cstarg_sta] implement d0cstarg_dyn ( npf, t_beg, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0cstarg_loc= loc , d0cstarg_node= D0CSTARGdyn (npf, xs) } end // end of [d0cstarg_dyn] (* ****** ****** *) implement s0rtdef_make (id, def) = let (* val () = print "s0rtdef_make:\n" val () = begin print "def.loc = "; print def.s0rtext_loc; print_newline () end // end of [val] *) val loc = id.i0de_loc + def.s0rtext_loc in '{ s0rtdef_loc= loc , s0rtdef_sym= id.i0de_sym , s0rtdef_def= def } end // end of [s0rtdef_make] (* ****** ****** *) implement s0tacon_make (id, arg, def) = let val loc_id = id.i0de_loc val loc = (case+ def of | Some s0e => loc_id + s0e.s0exp_loc | None () => ( case+ list_last_opt (arg) of | ~Some_vt x => loc_id + x.a0msrt_loc | ~None_vt () => loc_id ) // end of [None] ) : location // end of [val] in '{ s0tacon_loc= loc , s0tacon_sym= id.i0de_sym , s0tacon_arg= arg , s0tacon_def= def } end // end of [s0tacon_make_some_some] (* ****** ****** *) implement s0tacst_make (id, arg, s0t) = let val loc = id.i0de_loc + s0t.s0rt_loc in '{ s0tacst_loc= loc , s0tacst_sym= id.i0de_sym , s0tacst_arg= arg , s0tacst_res= s0t } end // end of [s0tacst_make] (* ****** ****** *) (* // // HX-2012-05-23: removed // implement s0tavar_make (id, s0t) = let val loc = id.i0de_loc + s0t.s0rt_loc in '{ s0tavar_loc= loc , s0tavar_sym= id.i0de_sym , s0tavar_srt= s0t } end // end of [s0tavar_make] *) (* ****** ****** *) implement t0kindef_make (id, def) = let val loc_id = id.i0de_loc val loc = loc_id + def.token_loc val def = s0exp_tkname (def) in '{ t0kindef_loc= loc , t0kindef_sym= id.i0de_sym , t0kindef_loc_id= loc_id , t0kindef_def= def } end // end of [t0kindef_make] (* ****** ****** *) implement s0expdef_make ( id, arg, res, def ) = let val loc_id = id.i0de_loc val loc = loc_id + def.s0exp_loc in '{ s0expdef_loc= loc , s0expdef_sym= id.i0de_sym , s0expdef_loc_id= loc_id , s0expdef_arg= arg , s0expdef_res= res , s0expdef_def= def } end // end of [s0expdef_make] (* ****** ****** *) implement s0aspdec_make ( qid, arg, res, def ) = let val loc = qid.sqi0de_loc + def.s0exp_loc in '{ s0aspdec_loc= loc , s0aspdec_qid= qid , s0aspdec_arg= arg , s0aspdec_res= res , s0aspdec_def= def } end // end of [s0aspdec_make] (* ****** ****** *) implement e0xndec_make (qua, id, arg) = let val loc_hd = (case+ qua of | list_cons (x, _) => x.q0marg_loc | list_nil () => id.i0de_loc ) : location val loc = (case+ arg of | Some s0e => loc_hd + s0e.s0exp_loc | None () => loc_hd ) : location // end of [val] val fil = $FIL.filename_get_current () in '{ e0xndec_loc= loc , e0xndec_fil= fil , e0xndec_sym= id.i0de_sym , e0xndec_qua= qua , e0xndec_arg= arg } end // end of [e0xndec_make] (* ****** ****** *) implement d0atcon_make (qua, id, ind, arg) = let // val loc_hd = ( case+ qua of | list_nil() => id.i0de_loc | list_cons(x, _) => x.q0marg_loc ) : location // val loc = ( case+ arg of | Some s0e => loc_hd + s0e.s0exp_loc | None () => ( case+ ind of | Some s0e => loc_hd + s0e.s0exp_loc | _ => loc_hd ) (* end of [None] *) ) : location // end of [val] // in '{ d0atcon_loc= loc , d0atcon_sym= id.i0de_sym , d0atcon_qua= qua , d0atcon_arg= arg , d0atcon_ind= ind } end // end of [d0atcon_make] (* ****** ****** *) implement d0atdec_make ( id, arg, con ) = let val loc_id = id.i0de_loc val loc = (case+ list_last_opt (con) of ~Some_vt (x) => loc_id + x.d0atcon_loc | ~None_vt _ => loc_id ) : location // end of [val] val loc_hd = (case+ list_last_opt (arg) of ~Some_vt (x) => loc_id + x.a0msrt_loc | ~None_vt _ => loc_id ) : location // end of [val] val fil = $FIL.filename_get_current () in '{ d0atdec_loc= loc , d0atdec_loc_hd= loc_hd , d0atdec_fil= fil , d0atdec_sym= id.i0de_sym , d0atdec_arg= arg , d0atdec_con= con } end // end of [d0atdec_make] (* ****** ****** *) implement dcstextdef_sta (sym) = DCSTEXTDEFsome_sta ($SYM.symbol_get_name (sym)) (* ****** ****** *) // implement dcstextdef_is_ext(x) = ( case+ x of DCSTEXTDEFsome_ext _ => true | _ => false ) // end of [dcstextdef_is_ext] implement dcstextdef_is_mac(x) = ( case+ x of DCSTEXTDEFsome_mac _ => true | _ => false ) // end of [dcstextdef_is_mac] implement dcstextdef_is_sta(x) = ( case+ x of DCSTEXTDEFsome_sta _ => true | _ => false ) // end of [dcstextdef_is_sta] // (* ****** ****** *) implement dcstextdef_is_mainats (x) = let // extern fun test_prefix ( string: string, prfx: string ) :<> bool = "ext#patsopt_string_test_prefix" // in // case+ x of | DCSTEXTDEFsome_ext (name) => test_prefix (name, "mainats") | _ (*non-extern*) => false // end // end of [dcstextdef_is_mainats] (* ****** ****** *) implement d0cstdec_make ( id, arg, eff, res, extopt ) = let val fil = $FIL.filename_get_current () val loc = ( case+ extopt of | Some s0 => id.i0de_loc + s0.token_loc | None () => id.i0de_loc + res.s0exp_loc ) : location // end of [val] in '{ d0cstdec_loc= loc , d0cstdec_fil= fil , d0cstdec_sym= id.i0de_sym , d0cstdec_arg= arg , d0cstdec_eff= eff , d0cstdec_res= res , d0cstdec_extopt= extopt } end // end of [d0cstdec_make] (* ****** ****** *) implement p0at_i0de (id) = '{ p0at_loc= id.i0de_loc, p0at_node= P0Tide id.i0de_sym } (* end of [p0at_i0de] *) implement p0at_dqid (ent1, ent2) = let val loc = ent1.d0ynq_loc + ent2.i0de_loc in '{ p0at_loc= loc, p0at_node= P0Tdqid (ent1, ent2.i0de_sym) } end // end of [p0at_ide] implement p0at_opid (x1, x2) = let val loc = x1.token_loc + x2.i0de_loc in '{ p0at_loc= loc, p0at_node= P0Topid (x2.i0de_sym) } end // end of [p0at_opid] (* ****** ****** *) implement p0at_i0nt (tok) = '{ p0at_loc= tok.token_loc, p0at_node= P0Tint (tok) } implement p0at_c0har (tok) = '{ p0at_loc= tok.token_loc, p0at_node= P0Tchar (tok) } implement p0at_f0loat (tok) = '{ p0at_loc= tok.token_loc, p0at_node= P0Tfloat (tok) } implement p0at_s0tring (tok) = '{ p0at_loc= tok.token_loc, p0at_node= P0Tstring (tok) } (* ****** ****** *) implement p0at_app (p0t1, p0t2) = let val loc = p0t1.p0at_loc + p0t2.p0at_loc in '{ p0at_loc= loc, p0at_node= P0Tapp (p0t1, p0t2) } end // end of [p0at_app] (* ****** ****** *) implement p0at_list (t_beg, npf, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Tlist (npf, xs) } end // end of [p0at_list] (* ****** ****** *) implement p0at_lst ( lin, t_beg, p0ts, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Tlst (lin, p0ts) } end // end of [p0at_lst] (* // // HX-2014-07: // a list-pattern // like '[x1, x2] is no longer supported // implement p0at_lst_quote ( t_beg, p0ts, t_end ) = p0at_lst (0(*lin*), t_beg, p0ts, t_end) *) (* ****** ****** *) implement p0at_tup ( knd, t_beg, npf, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Ttup (knd, npf, xs) } end // end of [p0at_tup] implement p0at_rec ( knd, t_beg, npf, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Trec (knd, npf, xs) } end // end of [p0at_rec] (* ****** ****** *) implement p0at_free (t_tilde, p0t) = let val loc = t_tilde.token_loc + p0t.p0at_loc in '{ p0at_loc= loc, p0at_node= P0Tfree (p0t) } end // end of [p0at_free] implement p0at_unfold (t_tilde, p0t) = let val loc = t_tilde.token_loc + p0t.p0at_loc in '{ p0at_loc= loc, p0at_node= P0Tunfold (p0t) } end // end of [p0at_unfold] (* ****** ****** *) implement p0at_svararg (t_beg, arg, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Tsvararg (arg) } end // end of [p0at_svararg] implement p0at_exist (t_beg, qua, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ p0at_loc= loc, p0at_node= P0Texist (qua) } end // end of [p0at_exist] (* ****** ****** *) implement p0at_refas (p0t1, p0t2) = let val loc1 = p0t1.p0at_loc val loc = loc1 + p0t2.p0at_loc in // case+ p0t1.p0at_node of | P0Tide (id) => '{ p0at_loc= loc , p0at_node= P0Trefas (id, loc1, p0t2) } // end of [P0Tide] | _ => let val err = parerr_make (p0t1.p0at_loc, PE_p0at_as) val () = the_parerrlst_add (err) in p0at_err (loc) end end // end of [p0at_as] (* ****** ****** *) implement p0at_ann (p0t, s0e) = let val loc = p0t.p0at_loc + s0e.s0exp_loc in '{ p0at_loc= loc, p0at_node= P0Tann (p0t, s0e) } end // end of [p0at_ann] (* ****** ****** *) implement p0at_err (loc) = '{ p0at_loc= loc, p0at_node= P0Terr () } (* ****** ****** *) implement labp0at_norm (l, p) = let val loc = l.l0ab_loc + p.p0at_loc in '{ labp0at_loc= loc, labp0at_node= LABP0ATnorm (l, p) } end // end of [labp0at_norm] implement labp0at_omit (tok) = '{ labp0at_loc= tok.token_loc, labp0at_node= LABP0ATomit () } // end of [labp0at_omit] (* ****** ****** *) implement i0mparg_sarglst_none () = I0MPARG_sarglst (list_nil) // end of [i0mparg_sarglst_none] implement i0mparg_sarglst_some (t_beg, xs, t_end) = I0MPARG_sarglst (xs) // end of [i0mparg_sarglst] implement i0mparg_svararglst (xs) = I0MPARG_svararglst (xs) (* ****** ****** *) implement t0mpmarg_make (tok, arg) = let val loc = tok.token_loc val loc = ( case+ list_last_opt (arg) of | ~Some_vt (x) => loc + x.s0exp_loc | ~None_vt () => $LOC.location_leftmost (loc) ) : location // end of [val] in '{ t0mpmarg_loc= loc, t0mpmarg_arg= arg } end // end of [t0mpmarg_make] implement impqi0de_make_none (qid) = '{ impqi0de_loc= qid.dqi0de_loc , impqi0de_qua= qid.dqi0de_qua , impqi0de_sym= qid.dqi0de_sym , impqi0de_arg= list_nil () } // end of [impqi0de_make_none] implement impqi0de_make_some (qid, args, t_gt) = let val loc_qid = qid.dqi0de_loc val loc = loc_qid + t_gt.token_loc in '{ impqi0de_loc= loc , impqi0de_qua= qid.dqi0de_qua , impqi0de_sym= qid.dqi0de_sym , impqi0de_arg= args } end // end of [impqid0de_make_some] (* ****** ****** *) implement f0arg_dyn (p0t) = '{ f0arg_loc= p0t.p0at_loc, f0arg_node= F0ARGdyn (p0t) } implement f0arg_sta1 (t_beg, qua, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ f0arg_loc= loc, f0arg_node= F0ARGsta1 (qua) } end // en dof [f0arg_sta1] implement f0arg_sta2 (t_beg, arg, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ f0arg_loc= loc, f0arg_node= F0ARGsta2 (arg) } end // en dof [f0arg_sta2] implement f0arg_met (t_beg, s0es, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ f0arg_loc= loc, f0arg_node= F0ARGmet3 (s0es) } end // end of [f0arg_met] implement f0arg_met_nil (tok) = '{ f0arg_loc= tok.token_loc, f0arg_node= F0ARGmet3 (list_nil) } (* end of [f0arg_met_nil] *) (* ****** ****** *) implement s0elop_make_dot (t) = '{ s0elop_loc= t.token_loc, s0elop_knd= 0(*knd*) } implement s0elop_make_minusgt (t) = '{ s0elop_loc= t.token_loc, s0elop_knd= 1(*knd*) } (* ****** ****** *) implement i0nvarg_make (id, opt) = let val loc = (case+ opt of | Some x => id.i0de_loc + x.s0exp_loc | None _ => id.i0de_loc ) : location // end of [val] in '{ i0nvarg_loc= loc, i0nvarg_sym= id.i0de_sym, i0nvarg_typ= opt } end // end of [i0nvarg_make] (* ****** ****** *) implement i0nvresstate_make_none (loc) = '{ i0nvresstate_loc= loc , i0nvresstate_qua= None (), i0nvresstate_arg= list_nil () } // end of [i0nvresstate_make_none] implement i0nvresstate_make_some (t_beg, qua, arg, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ i0nvresstate_loc= loc , i0nvresstate_qua= qua, i0nvresstate_arg= arg } end // end of [i0nvresstate_some] (* ****** ****** *) implement loopi0nv_make ( qua, met, arg, res ) = '{ loopi0nv_qua= qua , loopi0nv_met= met , loopi0nv_arg= arg , loopi0nv_res= res } // end of [loopi0nv_make] (* ****** ****** *) implement ifhead_make (t_if, invopt) = let val inv = ( case+ invopt of | Some inv => inv | None () => i0nvresstate_make_none (t_if.token_loc) ) : i0nvresstate // end of [val] in '{ ifhead_tok= t_if, ifhead_inv= inv } end // end of [ifhead_make] implement sifhead_make (t_sif, invopt) = let val inv = ( case+ invopt of | Some inv => inv | None () => i0nvresstate_make_none (t_sif.token_loc) ) : i0nvresstate // end of [val] in '{ sifhead_tok= t_sif, sifhead_inv= inv } end // end of [sifhead_make] (* ****** ****** *) implement casehead_make (t_case, invopt) = let val inv = ( case+ invopt of | Some inv => inv | None () => i0nvresstate_make_none (t_case.token_loc) ) : i0nvresstate // end of [val] in '{ casehead_tok= t_case, casehead_inv= inv } end // end of [casehead_make] implement scasehead_make (t_scase, invopt) = let val inv = ( case+ invopt of | Some inv => inv | None () => i0nvresstate_make_none (t_scase.token_loc) ) : i0nvresstate // end of [val] in '{ scasehead_tok= t_scase, scasehead_inv= inv } end // end of [scasehead_make] (* ****** ****** *) implement loophead_make_none (t_loop) = '{ loophead_tok= t_loop, loophead_inv= None () } // end of [loophead_make_none] implement loophead_make_some (t_loop, inv, t_eqgt) = let val loc = t_loop.token_loc + t_eqgt.token_loc in '{ loophead_tok= t_loop, loophead_inv= Some (inv) } end // end of [loophead_make_some] (* ****** ****** *) implement tryhead_make (t_try, invopt) = let val inv = ( case+ invopt of | Some (inv) => inv | None () => i0nvresstate_make_none (t_try.token_loc) ) : i0nvresstate // end of [val] in '{ tryhead_tok= t_try, tryhead_inv= inv } end // end of [tryhead_make] (* ****** ****** *) // // HX: dynamic expressions // (* ****** ****** *) implement d0exp_ide (id) = '{ d0exp_loc= id.i0de_loc, d0exp_node= D0Eide (id.i0de_sym) } // end of [d0exp_ide] implement d0exp_opid (x1, x2) = let val loc = x1.token_loc + x2.i0de_loc in '{ d0exp_loc= loc, d0exp_node= D0Eopid (x2.i0de_sym) } end // end of [d0exp_opid] implement d0exp_dqid (qid) = let val dq = qid.dqi0de_qua and sym = qid.dqi0de_sym in '{ d0exp_loc= qid.dqi0de_loc, d0exp_node= D0Edqid (dq, sym) } end // end of [d0exp_dqid] (* ****** ****** *) implement d0exp_idext (id) = '{ d0exp_loc= id.i0de_loc, d0exp_node= D0Eidext (id.i0de_sym) } // end of [d0exp_idext] (* ****** ****** *) implement d0exp_i0nt (x) = let in '{ d0exp_loc= x.token_loc, d0exp_node= D0Eint (x) } end // end of [d0exp_i0nt] implement d0exp_c0har (x) = let in '{ d0exp_loc= x.token_loc, d0exp_node= D0Echar (x) } end // end of [d0exp_c0har] implement d0exp_f0loat (x) = let in '{ d0exp_loc= x.token_loc, d0exp_node= D0Efloat (x) } end // end of [d0exp_f0loat] implement d0exp_s0tring (x) = let in '{ d0exp_loc= x.token_loc, d0exp_node= D0Estring (x) } end // end of [d0exp_s0tring] (* ****** ****** *) implement d0exp_empty (loc) = '{ d0exp_loc= loc, d0exp_node= D0Eempty () } (* ****** ****** *) implement d0exp_MYFIL (tok) = '{ d0exp_loc= tok.token_loc , d0exp_node= D0Ecstsp (CSTSPmyfil()) } implement d0exp_MYLOC (tok) = '{ d0exp_loc= tok.token_loc , d0exp_node= D0Ecstsp (CSTSPmyloc()) } implement d0exp_MYFUN (tok) = '{ d0exp_loc= tok.token_loc , d0exp_node= D0Ecstsp (CSTSPmyfun()) } (* ****** ****** *) implement d0exp_literal (t_beg, lit, t_end) = let // val loc = t_beg.token_loc + t_end.token_loc // in '{ d0exp_loc= loc, d0exp_node= D0Eliteral (lit) } end // end of [d0exp_literal] (* ****** ****** *) implement d0exp_extval ( t_beg, _type, rep, t_end ) = let // val-T_STRING(rep) = rep.token_node val loc = t_beg.token_loc + t_end.token_loc // in '{ d0exp_loc= loc , d0exp_node= D0Eextval (_type, rep) } end // end of [d0exp_extval] implement d0exp_extfcall ( t_beg, _type, _fun, _arg, t_end ) = let val-T_STRING(_fun) = _fun.token_node val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc , d0exp_node= D0Eextfcall (_type, _fun, _arg) } end // end of [d0exp_extfcall] implement d0exp_extmcall ( t_beg, _type, _obj, _mtd, _arg, t_end ) = let val-T_STRING(_mtd) = _mtd.token_node val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc , d0exp_node= D0Eextmcall (_type, _obj, _mtd, _arg) } end // end of [d0exp_extmcall] (* ****** ****** *) implement d0exp_foldat (t_foldat, d0es) = let // val opt = list_last_opt (d0es) val loc = ( case+ opt of | ~None_vt _ => t_foldat.token_loc | ~Some_vt x => t_foldat.token_loc + x.d0exp_loc ) : location // end of [val] in '{ d0exp_loc= loc, d0exp_node= D0Efoldat d0es } end (* end of [d0exp_foldat] *) implement d0exp_freeat (t_freeat, d0es) = let // val opt = list_last_opt (d0es) // val loc = ( case+ opt of | ~None_vt _ => t_freeat.token_loc | ~Some_vt x => t_freeat.token_loc + x.d0exp_loc ) : location // end of [val] // in '{ d0exp_loc= loc, d0exp_node= D0Efreeat d0es } end (* end of [d0exp_freeat] *) (* ****** ****** *) implement d0exp_tmpid (qid, arg, t_gt) = let val loc_qid = qid.dqi0de_loc val loc = loc_qid + t_gt.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Etmpid (qid, arg) } end // end of [d0exp_tmpid] (* ****** ****** *) implement d0exp_let_seq ( t_let, d0cs, t_in, d0es, t_end ) = let val loc = t_let.token_loc + t_end.token_loc val body = d0exp_seq (t_in, d0es, t_end) in '{ d0exp_loc= loc, d0exp_node= D0Elet (d0cs, body) } end // end of [d0exp_let_seq] implement d0exp_declseq (t_beg, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Edeclseq (xs) } end // end of [d0exp_declseq] (* ****** ****** *) implement d0exp_where (d0e, d0cs, t_end) = let val loc = d0e.d0exp_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Ewhere (d0e, d0cs) } end // end of [d0exp_where] (* ****** ****** *) implement d0exp_app (d0e1, d0e2) = let val loc = d0e1.d0exp_loc + d0e2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eapp (d0e1, d0e2) } end // end of [d0exp_app] (* ****** ****** *) implement d0exp_list (t_beg, npf, xs, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Elist (npf, xs) } end // end of [d0exp_list] (* ****** ****** *) implement d0exp_ifhead ( hd, _cond, _then, _else ) = let val t_if = hd.ifhead_tok val loc = (case+ _else of | Some x => t_if.token_loc + x.d0exp_loc | None _ => t_if.token_loc + _then.d0exp_loc ) : location // end of [val] in '{ d0exp_loc= loc , d0exp_node= D0Eifhead (hd, _cond, _then, _else) } end // end of [d0exp_ifhead] implement d0exp_sifhead ( hd, _cond, _then, _else ) = let val t_sif = hd.sifhead_tok val loc = t_sif.token_loc + _else.d0exp_loc in '{ d0exp_loc= loc , d0exp_node= D0Esifhead (hd, _cond, _then, _else) } end // end of [d0exp_sifhead] (* ****** ****** *) implement d0exp_casehead ( hd, d0e, t_of, c0ls ) : d0exp = let val t_case = hd.casehead_tok val loc_hd = t_case.token_loc val loc = ( case+ list_last_opt (c0ls) of | ~Some_vt x => loc_hd + x.c0lau_loc | ~None_vt _ => loc_hd + t_of.token_loc ) : location in '{ d0exp_loc= loc, d0exp_node= D0Ecasehead (hd, d0e, c0ls) } end // end of [d0exp_casehead] implement d0exp_scasehead ( hd, d0e, t_of, c0ls ) : d0exp = let val t_scase = hd.scasehead_tok val loc_hd = t_scase.token_loc val loc = ( case+ list_last_opt (c0ls) of | ~Some_vt x => loc_hd + x.sc0lau_loc | ~None_vt _ => loc_hd + t_of.token_loc ) : location in '{ d0exp_loc= loc, d0exp_node= D0Escasehead (hd, d0e, c0ls) } end // end of [d0exp_scasehead] (* ****** ****** *) implement d0exp_lam ( knd, t_lam, arg, res, eff, body ) = let val loc = t_lam.token_loc + body.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Elam (knd, arg, res, eff, body) } end // end of [d0exp_lam] implement d0exp_fix ( knd, t_fix, fid, arg, res, eff, body ) = let val loc = t_fix.token_loc + body.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Efix (knd, fid, arg, res, eff, body) } end // end of [d0exp_fix] (* ****** ****** *) implement d0exp_delay (knd, tok, body) = let val loc = tok.token_loc + body.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Edelay (knd, body) } end // end of [d0exp_delay] (* ****** ****** *) implement d0exp_lst ( lin, t_beg, elt, t_lp, d0es, t_rp ) = let val loc = t_beg.token_loc + t_rp.token_loc val d0e_elts = d0exp_list (t_lp, ~1(*npf*), d0es, t_rp) in '{ d0exp_loc= loc, d0exp_node= D0Elst (lin, elt, d0e_elts) } end // end of [d0exp_lst] implement d0exp_lst_quote (t_beg, d0es, t_end) = d0exp_lst (0(*lin*), t_beg, None(*elt*), t_beg, d0es, t_end) // end of [d0exp_lst_quote] (* ****** ****** *) implement d0exp_tup ( knd, t_beg, npf, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Etup (knd, npf, xs) } end // end of [d0exp_tup] implement d0exp_rec ( knd, t_beg, npf, xs, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Erec (knd, npf, xs) } end // end of [d0exp_rec] (* ****** ****** *) implement d0exp_arrsub (qid, ind) = let val loc_ind = ind.d0arrind_loc val loc = qid.dqi0de_loc + loc_ind in '{ d0exp_loc= loc , d0exp_node= D0Earrsub (qid, loc_ind, ind.d0arrind_ind) } end // end of [d0exp_arrsub] implement d0exp_arrinit ( t_beg, elt, dim, init, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Earrinit (elt, dim, init) } end // end of [d0exp_arrinit] implement d0exp_arrpsz ( t_beg, os0e, t_lp, d0es, t_rp ) = let val loc = t_beg.token_loc + t_rp.token_loc val d0e_init = ( case+ d0es of | list_cons (d0e, list_nil ()) => d0e | _ => d0exp_list (t_lp, ~1(*npf*), d0es, t_rp) ) : d0exp // end of [val] in '{ d0exp_loc= loc, d0exp_node= D0Earrpsz (os0e, d0e_init) } end // end of [d0exp_arrpsz] (* ****** ****** *) implement d0exp_seq (t_beg, d0es, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in case+ d0es of | list_cons _ => '{ d0exp_loc= loc, d0exp_node= D0Eseq d0es } // end of [cons] | list_nil _ => d0exp_empty (loc) end // end of [d0exp_seq] (* ****** ****** *) implement d0exp_ptrof (t_addrat) = '{ d0exp_loc= t_addrat.token_loc, d0exp_node= D0Eptrof () } // end of [d0exp_ptrof] implement d0exp_viewat (t_viewat) = '{ d0exp_loc= t_viewat.token_loc, d0exp_node= D0Eviewat () } // end of [d0exp_viewat] (* ****** ****** *) implement d0exp_sel_lab (sel, lab) = let val loc = sel.s0elop_loc + lab.l0ab_loc in '{ d0exp_loc= loc, d0exp_node= D0Esel_lab (sel.s0elop_knd, lab.l0ab_lab) } end // end of [d0exp_sel_lab] implement d0exp_sel_ind (sel, ind) = let val loc = sel.s0elop_loc + ind.d0arrind_loc in '{ d0exp_loc= loc, d0exp_node= D0Esel_ind (sel.s0elop_knd, ind.d0arrind_ind) } end // end of [d0exp_sel_ind] implement d0exp_sel_int (tok) = let val knd = 0 // HX: dot selection val-T_DOTINT (int) = tok.token_node val lab = $LAB.label_make_int (int) in '{ d0exp_loc= tok.token_loc, d0exp_node= D0Esel_lab (knd, lab) } end // end of [d0exp_sel_int] (* ****** ****** *) implement d0exp_raise (tok, ent2) = let val loc = tok.token_loc + ent2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eraise (ent2) } end // end of [d0exp_raise] (* ****** ****** *) implement d0exp_effmask (tok, eff, body) = let val loc = tok.token_loc + body.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eeffmask (eff, body) } end // end of [d0exp_effmask] implement d0exp_effmask_arg (knd, tok, body) = let val loc = tok.token_loc + body.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eeffmask_arg (knd, body) } end // end of [d0exp_effmask_arg] (* ****** ****** *) implement d0exp_showtype (tok, ent2) = let val loc = tok.token_loc + ent2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eshowtype (ent2) } end // end of [d0exp_showtype] (* ****** ****** *) implement d0exp_vcopyenv (knd, tok, ent2) = let val loc = tok.token_loc + ent2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Evcopyenv (knd, ent2) } end // end of [d0exp_vcopyenv] (* ****** ****** *) implement d0exp_tempenver (tok, ent2) = let val loc = tok.token_loc + ent2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Etempenver (ent2) } end // end of [d0exp_tempenver] (* ****** ****** *) implement d0exp_sexparg (t_beg, s0a, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Esexparg s0a } end // end of [d0exp_sexparg] implement d0exp_exist ( t_beg, s0a, t_bar, d0e, t_end ) = let val loc = t_beg.token_loc + t_end.token_loc val loc_qua = t_beg.token_loc + t_bar.token_loc in '{ d0exp_loc= loc, d0exp_node= D0Eexist (loc_qua, s0a, d0e) } end // end of [d0exp_exist] (* ****** ****** *) implement d0exp_forhead ( hd, itp, body ) = let val t_loop = hd.loophead_tok val loc_inv = t_loop.token_loc val loc = loc_inv + body.d0exp_loc (* val () = begin $LOC.print_location loc; print ": d0exp_for"; print_newline () end // end of [val] *) val inv = hd.loophead_inv in '{ d0exp_loc= loc , d0exp_node= D0Efor (inv, loc_inv, itp, body) } end // end of [d0exp_forhead] (* ****** ****** *) implement d0exp_whilehead ( hd, test, body ) = let val t_loop = hd.loophead_tok val loc_inv = t_loop.token_loc val loc = loc_inv + body.d0exp_loc (* val () = begin $LOC.print_location loc; print ": d0exp_while"; print_newline () end // end of [val] *) val inv = hd.loophead_inv in '{ d0exp_loc= loc , d0exp_node= D0Ewhile (inv, loc_inv, test, body) } end // end of [d0exp_whilehead] (* ****** ****** *) implement d0exp_loopexn (knd, tok) = '{ d0exp_loc= tok.token_loc, d0exp_node= D0Eloopexn (knd) } // end of [d0exp_loopexn] (* ****** ****** *) implement d0exp_trywith_seq (hd, d0es, t_with, c0ls) = let val t_try = hd.tryhead_tok val loc = ( case+ list_last_opt (c0ls) of | ~Some_vt x => t_try.token_loc + x.c0lau_loc | ~None_vt _ => t_try.token_loc + t_with.token_loc ) : location // end of [val] val d0e = d0exp_seq (t_try, d0es, t_with) in '{ d0exp_loc= loc, d0exp_node= D0Etrywith (hd, d0e, c0ls) } end // end of [d0exp_trywith] (* ****** ****** *) implement d0exp_ann (d0e, s0e) = let val loc = d0e.d0exp_loc + s0e.s0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Eann (d0e, s0e) } end // end of [d0exp_ann] (* ****** ****** *) implement d0exp_solassert (tok, ent2) = let val loc = tok.token_loc + ent2.d0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Esolassert(ent2) } end // end of [d0exp_solassert] implement d0exp_solverify (tok, ent2) = let val loc = tok.token_loc + ent2.s0exp_loc in '{ d0exp_loc= loc, d0exp_node= D0Esolverify(ent2) } end // end of [d0exp_solverify] (* ****** ****** *) local fun d0exp_macsyn ( loc: location, knd: macsynkind, d0e: d0exp ): d0exp = '{ d0exp_loc= loc, d0exp_node= D0Emacsyn (knd, d0e) } // end of [d0exp_macsyn] in (* in of [local] *) implement d0exp_macsyn_cross (t_beg, d0e, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in d0exp_macsyn (loc, MSKxstage, d0e) end // end of [d0exp_macsyn_cross] implement d0exp_macsyn_decode (t_beg, d0e, t_end) = let val loc = t_beg.token_loc + t_end.token_loc in d0exp_macsyn (loc, MSKdecode, d0e) end // end of [d0exp_macsyn_decode] implement d0exp_macsyn_encode_seq (t_beg, d0es, t_end) = let val d0e = d0exp_seq (t_beg, d0es, t_end) in d0exp_macsyn (d0e.d0exp_loc, MSKencode, d0e) end // end of [d0exp_macsyn_encode_seq] end // end of [local] (* ****** ****** *) implement labd0exp_make (ent1, ent2) = DL0ABELED (ent1, ent2) (* ****** ****** *) implement d0arrind_sing (d0es, t_rbracket) = '{ d0arrind_loc= t_rbracket.token_loc, d0arrind_ind= list_sing (d0es) } // end of [d0arrind_sing] implement d0arrind_cons (d0es, ind) = '{ d0arrind_loc= ind.d0arrind_loc , d0arrind_ind= list_cons (d0es, ind.d0arrind_ind) } // end of [d0arrind_cons] (* ****** ****** *) implement initestpost_make ( t_beg , init, t_sep1, test, t_sep2, post , t_end ) = let val init = d0exp_seq (t_beg, init, t_sep1) val test = d0exp_seq (t_sep1, test, t_sep2) val post = d0exp_seq (t_sep2, post, t_end) in '{ itp_init= init, itp_test= test, itp_post= post } end // end of [initestpost_make] (* ****** ****** *) implement gm0at_make (d0e, p0topt) = let val loc = ( case+ p0topt of | Some x => d0e.d0exp_loc + x.p0at_loc | None _ => d0e.d0exp_loc ) : location // end of [val] in '{ gm0at_loc= loc, gm0at_exp= d0e, gm0at_pat= p0topt } end // end of [gm0at_make] implement guap0at_make (p0t, matopt) = let val xs = ( case+ matopt of Some xs => xs | None () => list_nil ) : gm0atlst val loc = p0t.p0at_loc val loc = ( case+ list_last_opt (xs) of | ~Some_vt x => loc + x.gm0at_loc | ~None_vt () => loc ) : location // end of [val] in '{ guap0at_loc= loc, guap0at_pat= p0t, guap0at_gua= xs } end // end of [guap0at_make_some] implement c0lau_make (gp0t, seq, neg, body) = let val loc = gp0t.guap0at_loc + body.d0exp_loc in '{ c0lau_loc= loc , c0lau_pat= gp0t , c0lau_seq= seq , c0lau_neg= neg , c0lau_body= body } end // end of [c0lau_make] (* ****** ****** *) implement sp0at_cstr (qid, xs, t_end) = let val loc = qid.sqi0de_loc + t_end.token_loc in '{ sp0at_loc= loc, sp0at_node= SP0Tcstr (qid, xs) } end // end of [s0pat_cstr] implement sc0lau_make (sp0t, d0e) = let val loc = sp0t.sp0at_loc + d0e.d0exp_loc in '{ sc0lau_loc= loc, sc0lau_pat= sp0t, sc0lau_body= d0e } end // end of [sc0lau_make] (* ****** ****** *) implement m0acdef_make (id, arg, def) = let val loc = id.i0de_loc + def.d0exp_loc in '{ m0acdef_loc= loc , m0acdef_sym= id.i0de_sym , m0acdef_arg= arg , m0acdef_def= def } end // end of [m0acdef_make] (* ****** ****** *) implement v0aldec_make (p0t, def, ann) = let val loc = (case+ ann of | WITHT0YPEnone () => p0t.p0at_loc + def.d0exp_loc | WITHT0YPEsome (knd, s0e) => p0t.p0at_loc + s0e.s0exp_loc ) : location // end of [val] in '{ v0aldec_loc= loc, v0aldec_pat= p0t, v0aldec_def= def, v0aldec_ann= ann } end // end of [v0aldec_make] (* ****** ****** *) implement f0undec_make ( fid, arg, eff, res, def, ann ) = let // val loc = ( case+ ann of | WITHT0YPEnone () => fid.i0de_loc + def.d0exp_loc | WITHT0YPEsome (knd, s0e) => fid.i0de_loc + s0e.s0exp_loc ) : location // end of [val] // in '{ f0undec_loc= loc , f0undec_sym= fid.i0de_sym , f0undec_sym_loc= fid.i0de_loc , f0undec_arg= arg , f0undec_eff= eff , f0undec_res= res , f0undec_def= def , f0undec_ann= ann } end // end of [f0undec_make] (* ****** ****** *) implement v0ardec_make ( tokopt, id, pfat, s0eopt, init ) = let // var knd: int = 0 // val loc_hd = ( case+ tokopt of | None () => id.i0de_loc | Some tok => let val () = knd := 1 in tok.token_loc end // end of [Some] ) : location // end of [val] // val loc_tl = ( case+ init of | Some d0e => d0e.d0exp_loc | None () => ( case+ pfat of | Some id2 => id2.i0de_loc | None () => ( case+ s0eopt of | Some s0e => s0e.s0exp_loc | None () => id.i0de_loc ) // end of [None] ) ) : location // end of [val] // val loc = loc_hd + loc_tl // in '{ v0ardec_loc= loc , v0ardec_knd= knd , v0ardec_sym= id.i0de_sym , v0ardec_sym_loc= id.i0de_loc , v0ardec_pfat= pfat , v0ardec_type= s0eopt // type annotation , v0ardec_init= init // value for initialization } end // end of [v0ardec_make] (* ****** ****** *) implement i0mpdec_make ( qid, arg, res, def ) = let // val loc = qid.impqi0de_loc + def.d0exp_loc // in '{ i0mpdec_loc= loc , i0mpdec_qid= qid , i0mpdec_arg= arg , i0mpdec_res= res , i0mpdec_def= def } end // end of [i0mpdec_make] (* ****** ****** *) local fun loop{n:nat} .. ( tok: token, id: i0de, ids: list (i0de, n) ) : location = case+ ids of | list_cons (id, ids) => loop (tok, id, ids) | list_nil () => tok.token_loc + id.i0de_loc // end of [loop] in (* in of [local] *) implement d0ecl_fixity (tok, prec, ids) = let // val- T_FIXITY(knd) = tok.token_node // val fxty = ( case+ knd of | FXK_infix() => F0XTYinf(prec, $FIX.ASSOCnon()) | FXK_infixl() => F0XTYinf(prec, $FIX.ASSOClft()) | FXK_infixr() => F0XTYinf(prec, $FIX.ASSOCrgt()) // | FXK_prefix() => F0XTYpre (prec) | FXK_postfix() => F0XTYpos (prec) // ) : f0xty // end of [val] // val loc = ( case+ ids of | list_cons (id, ids) => loop (tok, id, ids) | list_nil () => tok.token_loc ) : location // end of [val] // in '{ d0ecl_loc= loc, d0ecl_node= D0Cfixity (fxty, ids) } end // end of [d0ecl_infix] implement d0ecl_nonfix (tok, ids) = let val-T_NONFIX () = tok.token_node val loc = (case+ ids of | list_cons (id, ids) => loop (tok, id, ids) | list_nil () => tok.token_loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cnonfix (ids) } end // end of [d0ecl_nonfix] (* ****** ****** *) implement d0ecl_symintr (tok, ids) = let val-T_SYMINTR () = tok.token_node val loc = (case+ ids of | list_cons (id, ids) => loop (tok, id, ids) | list_nil () => tok.token_loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Csymintr (ids) } end // end of [d0ecl_symintr] implement d0ecl_symelim (tok, ids) = let val-T_SYMELIM () = tok.token_node val loc = (case+ ids of | list_cons (id, ids) => loop (tok, id, ids) | list_nil () => tok.token_loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Csymelim (ids) } end // end of [d0ecl_symelim] end // end of [local] implement d0ecl_overload (tok, id, dqid, opt) = let // val loc1 = tok.token_loc val loc2 = ( case+ opt of | Some x => x.token_loc | None () => dqid.dqi0de_loc ) : location // end of [val] val loc = loc1 + loc2 val pval = ( case+ opt of | Some x => i0nt2int (x) | None () => 0 ) : int // end of [val] // in '{ d0ecl_loc= loc, d0ecl_node= D0Coverload (id, dqid, pval) } end // end of [d0ecl_overload] (* ****** ****** *) implement d0ecl_include (knd, tok, ent2) = let // val loc = ent2.token_loc val-T_STRING (name) = ent2.token_node val () = the_parerrlst_add_ifunclosed (loc, name) val loc = tok.token_loc + loc // val pfil = $FIL.filename_get_current () // in '{ d0ecl_loc= loc, d0ecl_node= D0Cinclude (pfil, knd, name) } end // end of [d0ecl_include] (* ****** ****** *) implement d0ecl_e0xpdef (tok, ent2, ent3) = let val loc = tok.token_loc val loc = ( case+ ent3 of | Some x => loc + x.e0xp_loc | None() => loc + ent2.i0de_loc ) : location // end of [val] val def = (case+ ent3 of | Some x => let var flag: int = 0 val x = e0xp_funize (x, flag) in if flag > 0 then Some (x) else ent3 end // end of [Some] | None () => None () ) : e0xpopt // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Ce0xpdef (ent2.i0de_sym, def) } end // end of [d0ecl_e0xpdef] (* ****** ****** *) implement d0ecl_e0xpundef (tok, ent2) = let val loc = tok.token_loc + ent2.i0de_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Ce0xpundef (ent2.i0de_sym) } end // end of [d0ecl_e0xpundef] (* ****** ****** *) implement d0ecl_e0xpact_assert (tok, ent2) = let // val loc = tok.token_loc + ent2.e0xp_loc // in '{ d0ecl_loc= loc , d0ecl_node= D0Ce0xpact(E0XPACTassert, ent2) } end // end of [d0ecl_e0xpact_assert] (* ****** ****** *) implement d0ecl_e0xpact_error (tok, ent2) = let // val loc = tok.token_loc + ent2.e0xp_loc // in '{ d0ecl_loc= loc , d0ecl_node= D0Ce0xpact(E0XPACTerror, ent2) } end // end of [d0ecl_e0xpact_error] (* ****** ****** *) implement d0ecl_e0xpact_prerr (tok, ent2) = let // val loc = tok.token_loc + ent2.e0xp_loc // in '{ d0ecl_loc= loc , d0ecl_node= D0Ce0xpact(E0XPACTprerr, ent2) } end // end of [d0ecl_e0xpact_prerr] (* ****** ****** *) implement d0ecl_e0xpact_print (tok, ent2) = let // val loc = tok.token_loc + ent2.e0xp_loc // in '{ d0ecl_loc= loc , d0ecl_node= D0Ce0xpact(E0XPACTprint, ent2) } end // end of [d0ecl_e0xpact_print] (* ****** ****** *) implement d0ecl_pragma ( tok1, xs, tok2 ) = let // val () = d0ecl_pragma_process(xs) // val loc = tok1.token_loc + tok2.token_loc // in '{ d0ecl_loc= loc, d0ecl_node= D0Cpragma(xs) } end // end of [d0ecl_pragma] (* ****** ****** *) local typedef locpragma = $LOC.locpragma fun e0xp_is_location (e0: e0xp): bool = let // val cat = ( case+ e0.e0xp_node of | E0XPide(id) => $SYM.symbol_get_name(id) | E0XPstring(tok) => str where { val-$LEX.T_STRING(str) = tok.token_node } | _(*rest-of-e0xp*) => "" ) : string // end of [val] // in if cat = "location" then true else false end // end of [e0xp_is_location] fun e2s(e0: e0xp): string = ( case+ e0.e0xp_node of | E0XPide(id) => $SYM.symbol_get_name(id) | E0XPstring(tok) => str where { val-$LEX.T_STRING(str) = tok.token_node } | _(*rest-of-e0xp*) => "??????" ) fun locpragma_process0 (xs: e0xplst): locpragma = ( case+ xs of | list_nil() => $LOC.locpragma0_make() | list_cons(x1, xs) => locpragma_process1 (x1, xs) ) and locpragma_process1 (x1: e0xp, xs: e0xplst): locpragma = ( case+ xs of | list_nil() => $LOC.locpragma1_make(e2s(x1)) | list_cons(x2, xs) => $LOC.locpragma2_make(e2s(x1), e2s(x2)) ) in (* in-of-local *) implement d0ecl_pragma_process (xs) = let (* val () = println! ("d0ecl_pragma_process") *) in // case+ xs of | list_nil() => () | list_cons(x, xs) => ( case+ 0 of | _ when e0xp_is_location(x) => ( $LOC.the_location_pragma_set(locpragma_process0(xs)) ) | _ => ((*nothing*)) ) (* end of [list_cons] *) // end // end of [d0ecl_pragma_process] end // end of [local] (* ****** ****** *) implement d0ecl_codegen2 ( tok1, xs, tok2 ) = let // val loc = tok1.token_loc + tok2.token_loc // in '{ d0ecl_loc= loc, d0ecl_node= D0Ccodegen(2(*knd*), xs) } end // end of [d0ecl_codegen2] implement d0ecl_codegen3 ( tok1, xs, tok2 ) = let // val loc = tok1.token_loc + tok2.token_loc // in '{ d0ecl_loc= loc, d0ecl_node= D0Ccodegen(3(*knd*), xs) } end // end of [d0ecl_codegen3] (* ****** ****** *) implement d0ecl_datsrts (tok, xs) = let // val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.d0atsrtdec_loc | ~None_vt _ => loc ) : location // end of [val] // in '{ d0ecl_loc= loc, d0ecl_node= D0Cdatsrts (xs) } end // end of [d0ecl_datsrts] implement d0ecl_srtdefs (tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.s0rtdef_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Csrtdefs (xs) } end // end of [d0ecl_srtdefs] implement d0ecl_stacons (knd, tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.s0tacon_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cstacons (knd, xs) } end // end of [d0ecl_stacons] implement d0ecl_stacsts (tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.s0tacst_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cstacsts (xs) } end // end of [d0ecl_stacsts] (* // // HX-2012-05-23: removed // implement d0ecl_stavars (tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.s0tavar_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cstavars (xs) } end // end of [d0ecl_stavars] *) implement d0ecl_tkindef (tok, x) = let val loc = tok.token_loc + x.t0kindef_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Ctkindef (x) } end // end of [d0ecl_tkindef] implement d0ecl_sexpdefs (knd, tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.s0expdef_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Csexpdefs (knd, xs) } end // end of [d0ecl_sexpdefs] implement d0ecl_saspdec (tok, x) = let val loc = tok.token_loc + x.s0aspdec_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Csaspdec (x) } end // end of [d0ecl_saspdec] (* ****** ****** *) implement d0ecl_exndecs (tok, ent2) = let val loc = tok.token_loc val loc = (case+ list_last_opt (ent2) of ~Some_vt x => loc + x.e0xndec_loc | ~None_vt () => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cexndecs (ent2) } end // end of [d0ecl_exndecs] (* ****** ****** *) implement d0ecl_datdecs_none ( knd, tok, ent2 ) = let val loc = tok.token_loc val opt = list_last_opt (ent2) val loc = ( case+ opt of | ~Some_vt x => loc + x.d0atdec_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc , d0ecl_node= D0Cdatdecs (knd, ent2, list_nil) } end // end of [d0ecl_datdecs_none] implement d0ecl_datdecs_some ( knd, tok, ent2, tok2, ent4 ) = let val loc = tok.token_loc val opt = list_last_opt (ent4) val loc2 = ( case+ opt of | ~Some_vt x => x.s0expdef_loc | ~None_vt _ => tok2.token_loc ) : location // end of [val] val loc = loc + loc2 in '{ d0ecl_loc= loc , d0ecl_node= D0Cdatdecs (knd, ent2, ent4) } end // end of [d0ecl_datdecs_some] (* ****** ****** *) implement d0ecl_classdec (tok, id, sup) = let val loc = tok.token_loc val loc = ( case+ sup of | Some x => loc + x.s0exp_loc | None _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cclassdec (id, sup) } end // end of [d0ecl_classdec] (* ****** ****** *) local fun auxmain ( knd: int // 0/1: static/dynamic , tok: token, ent2: q0marglst, ent3: d0cstdeclst ) : d0ecl = let // val loc = tok.token_loc val opt = list_last_opt (ent3) val loc = ( case+ opt of | ~Some_vt x => loc + x.d0cstdec_loc | ~None_vt _ => loc (*dead*) ) : location // end of [val] // in '{ d0ecl_loc= loc , d0ecl_node= D0Cdcstdecs (knd, tok, ent2, ent3) } end // end of [auxmain] in (* in of [local] *) // implement d0ecl_dcstdecs (tok, ent2, ent3) = auxmain (1(*ext*), tok, ent2, ent3) // implement d0ecl_dcstdecs_extern (tok, ent2, ent3) = auxmain (1(*ext*), tok, ent2, ent3) // implement d0ecl_dcstdecs_static // HX: static dyncst not exported (tok, ent2, ent3) = auxmain (0(*sta*), tok, ent2, ent3) // end // end of [local] (* ****** ****** *) implement d0ecl_macdefs (knd, isrec, tok, ent2) = let val loc = tok.token_loc val loc = (case+ list_last_opt (ent2) of ~Some_vt x => loc + x.m0acdef_loc | ~None_vt _ => loc (*dead*) ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cmacdefs (knd, isrec, ent2) } end // end of [d0ecl_macdefs] (* ****** ****** *) implement d0ecl_extype (tok, name, s0e) = let val-T_EXTYPE () = tok.token_node val-T_STRING (name) = name.token_node val loc = tok.token_loc + s0e.s0exp_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Cextype (name, s0e) } end // end of [d0ecl_extype] implement d0ecl_extype2 (tok, name, s0e) = let val-T_TYPEDEF (knd) = tok.token_node val-T_STRING (name) = name.token_node val loc = tok.token_loc + s0e.s0exp_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Cextype (knd, name, s0e) } end // end of [d0ecl_extype] (* ****** ****** *) implement d0ecl_extvar (tok, name, d0e) = let val-T_EXTVAR () = tok.token_node val-T_STRING (name) = name.token_node val loc = tok.token_loc + d0e.d0exp_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Cextvar (name, d0e) } end // end of [d0ecl_extvar] implement d0ecl_extvar2 (tok, name, d0e) = let val-T_VAR _ = tok.token_node val-T_STRING (name) = name.token_node val loc = tok.token_loc + d0e.d0exp_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Cextvar (name, d0e) } end // end of [d0ecl_extvar2] (* ****** ****** *) implement d0ecl_extcode (knd, tok) = let val-T_EXTCODE (pos, code) = tok.token_node in '{ d0ecl_loc= tok.token_loc, d0ecl_node= D0Cextcode (knd, pos, code) } end // end of [d0ecl_extcode] (* ****** ****** *) implement d0ecl_impdec ( tok, imparg, impdec ) = let val-T_IMPLEMENT (knd) = tok.token_node val loc = tok.token_loc + impdec.i0mpdec_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Cimpdec (knd, imparg, impdec) } end // end of [d0ecl_impdec] (* ****** ****** *) implement d0ecl_fundecs ( knd, tok, qua, xs ) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.f0undec_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cfundecs (knd, qua, xs) } end // end of [d0ecl_fundecs] (* ****** ****** *) implement d0ecl_valdecs ( knd, isrec, tok, xs ) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.v0aldec_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cvaldecs (knd, isrec, xs) } end // end of [d0ecl_valdecs] (* ****** ****** *) implement d0ecl_vardecs (knd, tok, xs) = let val loc = tok.token_loc val loc = (case+ list_last_opt (xs) of | ~Some_vt x => loc + x.v0ardec_loc | ~None_vt _ => loc ) : location // end of [val] in '{ d0ecl_loc= loc, d0ecl_node= D0Cvardecs (knd, xs) } end // end of [d0ecl_vardecs] (* ****** ****** *) implement d0ecl_staload_fname (tok, tok2) = let // val loc = tok2.token_loc val-T_STRING (name) = tok2.token_node val () = the_parerrlst_add_ifunclosed (loc, name) val loc = tok.token_loc + loc // val pfil = $FIL.filename_get_current () // in '{ d0ecl_loc= loc , d0ecl_node= D0Cstaload (pfil, None, name) } end // end of [d0ecl_staload_fname] (* ****** ****** *) implement d0ecl_staload_nspace (tok, tok2) = let // val loc = tok2.token_loc val-T_IDENT_dlr (name) = tok2.token_node val loc = tok.token_loc + loc val pfil = $FIL.filename_get_current () val name = $SYM.symbol_make_string (name) // in '{ d0ecl_loc= loc , d0ecl_node= D0Cstaloadnm (pfil, None, name) } end // end of [d0ecl_staload_nspace] (* ****** ****** *) implement staloadarg_get_loc (arg) = let in // case+ arg of | STLDfname (loc, name) => loc | STLDnspace (loc, name) => loc | STLDdeclist (loc, d0cs) => loc // end // end of [staloadarg_get_loc] (* ****** ****** *) implement staloadarg_declist (t_lb, d0cs, t_lr) = STLDdeclist (t_lb.token_loc + t_lr.token_loc, d0cs) // end of [staloadarg_declist] (* ****** ****** *) implement d0ecl_staload_some_arg (tok, ent2, ent4) = let // val sym = ent2.i0de_sym val loc = tok.token_loc + staloadarg_get_loc (ent4) // val pfil = $FIL.filename_get_current ((*void*)) // val d0cn = ( case+ ent4 of | STLDfname (loc, name) => let val () = the_parerrlst_add_ifunclosed (loc, name) in D0Cstaload (pfil, Some(sym), name) end // end of [STLDfname] | STLDnspace (loc, name) => let val name = $SYM.symbol_make_string (name) in D0Cstaloadnm (pfil, Some(sym), name) end // end of [STLDnspace] | STLDdeclist (_, d0cs) => D0Cstaloadloc (pfil, sym, d0cs) ) : d0ecl_node // end of [val] // in '{ d0ecl_loc= loc, d0ecl_node= d0cn } end // end of [d0ecl_staload_some_arg] (* ****** ****** *) implement d0ecl_require (tok, ent2) = let // val loc = ent2.token_loc val-T_STRING (name) = ent2.token_node val () = the_parerrlst_add_ifunclosed (loc, name) val loc = tok.token_loc + loc // val pfil = $FIL.filename_get_current () // in '{ d0ecl_loc= loc, d0ecl_node= D0Crequire (pfil, name) } end // end of [d0ecl_require] (* ****** ****** *) implement d0ecl_dynload (tok, ent2) = let // val loc = ent2.token_loc val-T_STRING (name) = ent2.token_node val () = the_parerrlst_add_ifunclosed (loc, name) val loc = tok.token_loc + loc // val pfil = $FIL.filename_get_current () // in '{ d0ecl_loc= loc, d0ecl_node= D0Cdynload (pfil, name) } end // end of [d0ecl_dynload] (* ****** ****** *) implement d0ecl_local ( t_local, d0cs1, d0cs2, t_end ) = let val loc = t_local.token_loc + t_end.token_loc in '{ d0ecl_loc= loc, d0ecl_node= D0Clocal (d0cs1, d0cs2) } end // end of [d0ec_local] (* ****** ****** *) fun srpifkind_of_token (tok: token): srpifkind = case+ tok.token_node of | T_SRPIF () => SRPIFKINDif () | T_SRPIFDEF () => SRPIFKINDifdef () | T_SRPIFNDEF () => SRPIFKINDifndef () | _ => let val () = assertloc (false) in SRPIFKINDif () end (* end of [_] *) // end of [srpifkind_of_token] fun srpelifkind_of_token (tok: token): srpifkind = case+ tok.token_node of | T_SRPELIF () => SRPIFKINDif () | T_SRPELIFDEF () => SRPIFKINDifdef () | T_SRPELIFNDEF () => SRPIFKINDifndef () | _ => let val () = assertloc (false) in SRPIFKINDif () end (* end of [_] *) // end of [srpelifkind_of_token] (* ****** ****** *) implement d0ecl_guadecl (knd, gd) = let val loc = knd.token_loc + gd.guad0ecl_loc val knd = srpifkind_of_token (knd) in '{ d0ecl_loc= loc, d0ecl_node= D0Cguadecl (knd, gd) } end // end of [d0ecl_guadecl] (* ****** ****** *) implement guad0ecl_one ( gua, ds_then, t_endif ) = let val loc = gua.e0xp_loc + t_endif.token_loc in '{ guad0ecl_loc= loc , guad0ecl_node= GD0Cone (gua, ds_then) } end // end of [guad0ecl_one] implement guad0ecl_two ( gua, ds_then, ds_else, t_endif ) = let val loc = gua.e0xp_loc + t_endif.token_loc in '{ guad0ecl_loc= loc , guad0ecl_node= GD0Ctwo (gua, ds_then, ds_else) } end // end of [guad0ecl_two] implement guad0ecl_cons ( gua, ds, knd, rst ) = let val loc = ( gua.e0xp_loc + rst.guad0ecl_loc ) : location // end of [val] val knd = srpelifkind_of_token (knd) in '{ guad0ecl_loc= loc , guad0ecl_node= GD0Ccons (gua, ds, knd, rst.guad0ecl_node) } end // end of [guad0ecl_cons] (* ****** ****** *) (* end of [pats_syntax.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_effect.dats0000664000175000017500000001775212655455557020171 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_staexp" (* ****** ****** *) staload "./pats_effect.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" (* ****** ****** *) fn name_is_nil (name: string): bool = if name = "0" then true else name = "nil" fn name_is_all (name: string): bool = if name = "1" then true else name = "all" fn name_is_ntm (name: string): bool = if name = "ntm" then true else name = "nonterm" fn name_is_exn (name: string): bool = if name = "exn" then true else name = "exception" fn name_is_ref (name:string): bool = if name = "ref" then true else name = "reference" fn name_is_wrt (name: string): bool = if name = "wrt" then true else name = "write" fn name_is_exnref (name: string): bool = name = "exnref" fn name_is_exnwrt (name: string): bool = name = "exnwrt" fn name_is_exnrefwrt (name: string): bool = name = "exnrefwrt" fn name_is_refwrt (name: string): bool = name = "refwrt" (* // HX: !laz = 1,~ref *) fn name_is_lazy (name: string): bool = name = "laz" (* ****** ****** *) val effvars_nil: effvarlst = list_nil () (* ****** ****** *) local fun loop_err ( tag: e0fftag, name: string ) : void = () where { // val () = prerr_error1_loc (tag.e0fftag_loc) val () = prerrln! (": unrecognized effect constant: [", name, "]") // val () = $ERR.abort_interr ((*reachable*)) // } (* end of [loop_err] *) fun loop ( fcopt: &fcopt , lin: &int, prf: &int , efs: &effset, evs: &effvarlst , tags: e0fftaglst ) : void = let in // case+ tags of | list_cons (tag, tags) => let val () = case+ tag.e0fftag_node of // | E0FFTAGvar ev => evs := list_cons (ev, evs) // | E0FFTAGint (int) => { val () = evs := effvars_nil val () = if int = 0 then efs := effset_nil val () = if int = 1 then efs := effset_all } // end of [E0FFTAGint] // | E0FFTAGcst (isneg, name) when name_is_all name => { val () = evs := effvars_nil val () = if isneg > 0 then efs := effset_nil else efs := effset_all } // end of [E0FFTAGcst when ...] | E0FFTAGcst (isneg, name) when name_is_nil name => { val () = evs := effvars_nil val () = if isneg > 0 then efs := effset_all else efs := effset_nil } // end of [E0FFTAGcst when ...] | E0FFTAGcst (isneg, name) when name_is_lazy name => { val () = evs := effvars_nil val () = if isneg > 0 then efs := effset_add (effset_nil, effect_ref) // HX: nonsensical val () = if isneg = 0 then efs := effset_del (effset_all, effect_ref) // HX: !laz = 1,~ref } // end of [E0FFTAGcst when ...] // | E0FFTAGcst (isneg, name) => ( case+ 0 of | _ when name_is_ntm name => { val () = if isneg > 0 then efs := effset_del (efs, effect_ntm) val () = if isneg = 0 then efs := effset_add (efs, effect_ntm) } // end of [_ when ...] | _ when name_is_exn name => { val () = if isneg > 0 then efs := effset_del (efs, effect_exn) val () = if isneg = 0 then efs := effset_add (efs, effect_exn) } // end of [_ when ...] | _ when name_is_ref name => { val () = if isneg > 0 then efs := effset_del (efs, effect_ref) val () = if isneg = 0 then efs := effset_add (efs, effect_ref) } // end of [_ when ...] | _ when name_is_wrt name => { val () = if isneg > 0 then efs := effset_del (efs, effect_wrt) val () = if isneg = 0 then efs := effset_add (efs, effect_wrt) } // end of [_ when ...] // | _ when name_is_exnref name => { val () = if isneg > 0 then efs := effset_del (effset_del (efs, effect_exn), effect_ref) val () = if isneg = 0 then efs := effset_add (effset_add (efs, effect_exn), effect_ref) } // end of [_ when ...] | _ when name_is_exnwrt name => { val () = if isneg > 0 then efs := effset_del (effset_del (efs, effect_exn), effect_wrt) val () = if isneg = 0 then efs := effset_add (effset_add (efs, effect_exn), effect_wrt) } // end of [_ when ...] | _ when name_is_exnrefwrt name => { val () = if isneg > 0 then efs := effset_del (effset_del (effset_del (efs, effect_exn), effect_ref), effect_wrt) val () = if isneg = 0 then efs := effset_add (effset_add (effset_add (efs, effect_exn), effect_ref), effect_wrt) } // end of [_ when ...] // | _ when name_is_refwrt name => { val () = if isneg > 0 then efs := effset_del (effset_del (efs, effect_ref), effect_wrt) val () = if isneg = 0 then efs := effset_add (effset_add (efs, effect_ref), effect_wrt) } // end of [_ when ...] // | _ => loop_err (tag, name) ) // end of [E0FFTAGcst] // | E0FFTAGprf () => prf := 1 // | E0FFTAGlin (i(*nil/all*)) => let val () = lin := 1 // linearity in if i > 0 then (efs := effset_all; evs := effvars_nil) end // end of [E0FFTAGlin] // | E0FFTAGfun (uln, i(*nil/all*)) => let val () = if (uln >= 0) then lin := uln val () = fcopt := Some (FUNCLOfun ()) in if i > 0 then (efs := effset_all; evs := effvars_nil) end // end of [E0FFTAGfun] // | E0FFTAGclo (uln, knd, i) => let // knd : 1/~1:ptr/ref; i : nil/all val () = if (uln >= 0) then lin := uln val () = fcopt := Some (FUNCLOclo (knd)) in if i > 0 then (efs := effset_all; evs := effvars_nil) end // end of [E0FFTAGclo] // in loop (fcopt, lin, prf, efs, evs, tags) end // end of [let] // end of [list_cons] // | list_nil () => () // end of [list_nil] // end // end of [loop] in (* in of [local] *) implement e0fftaglst_tr (tags) = let // var fcopt: fcopt = None() var lin: int = 0 and prf: int = 0 var efs: effset = effset_nil and evs: effvarlst = effvars_nil val () = loop (fcopt, lin, prf, efs, evs, tags) val efc = ( case+ 0 of // | _ when (efs = effset_all) => EFFCSTall () // | _ when (efs = effset_nil) => ( case+ evs of list_nil () => EFFCSTnil () | _ => EFFCSTset (efs, evs) ) // | _ => EFFCSTset (efs, evs) // ) : effcst // end of [val] // in @(fcopt, lin, prf, efc) end // end of [e0fftaglst_tr] end // end of [local] (* ****** ****** *) (* end of [pats_trans1_effect.dats] *) ATS2-Postiats-0.2.6/./src/pats_e1xpval.dats0000664000175000017500000006650612655455557017026 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "./pats_basics.sats" // macdef isdebug () = (debug_flag_get () > 0) // (* ****** ****** *) staload UT = "./pats_utils.sats" staload ERR = "./pats_error.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" macdef prerr_location = $LOC.prerr_location staload SYM = "./pats_symbol.sats" // macdef ADD = $SYM.symbol_ADD macdef SUB = $SYM.symbol_SUB macdef MUL = $SYM.symbol_MUL macdef DIV = $SYM.symbol_DIV // macdef LT = $SYM.symbol_LT macdef LTEQ = $SYM.symbol_LTEQ macdef GT = $SYM.symbol_GT macdef GTEQ = $SYM.symbol_GTEQ // macdef EQ = $SYM.symbol_EQ macdef EQEQ = $SYM.symbol_EQEQ macdef LTGT = $SYM.symbol_LTGT macdef BANGEQ = $SYM.symbol_BANGEQ // macdef LAND = $SYM.symbol_LAND macdef LOR = $SYM.symbol_LOR // macdef LTLT = $SYM.symbol_LTLT macdef GTGT = $SYM.symbol_GTGT macdef DEFINED = $SYM.symbol_DEFINED macdef UNDEFINED = $SYM.symbol_UNDEFINED // overload = with $SYM.eq_symbol_symbol // (* ****** ****** *) staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_trans1_env.sats" staload "./pats_e1xpval.sats" (* ****** ****** *) #define MAX_VALIZE_LEVEL 99 #define MAX_NORMAL_LEVEL 99 (* ****** ****** *) fun prerr_error1_loc (loc: location): void = ( $LOC.prerr_location loc; prerr ": error(1)" ) // end of [prerr_error1_loc] (* ****** ****** *) implement v1al_is_err (v) = ( case+ v of | V1ALerr () => true | _ => false ) (* end of [v1al_is_err] *) implement v1al_is_true (v) = let in // case+ v of | V1ALint i => i <> 0 // most common | V1ALchar c => c <> '\000' | V1ALstring s => string_isnot_empty s // 2nd most common | V1ALfloat f => f <> 0.0 | V1ALerr ((*void*)) => false // end // end of [v1al_is_true] implement v1al_is_false (v) = ~v1al_is_true(v) (* ****** ****** *) // extern fun e1xplev_valize (lev: int, e0: e1xp) : v1al // extern fun e1xp_valize_defined (e0: e1xp) : v1al extern fun e1xp_valize_undefined (e0: e1xp) : v1al // (* ****** ****** *) implement e1xp_valize (e) = res where { val res = e1xplev_valize (0(*lev*), e) val ((*void*)) = ( case+ res of | V1ALerr () => { val () = fprint_the_valerrlst (stderr_ref) val () = $ERR.abort () } (* end of [V1ALerr] *) | _ (*non-err*) => ((*void*)) ) : void // end of [val] } (* end of [e1xp_valize] *) implement e1xp_valize_if (knd, e) = case+ knd of | SRPIFKINDif () => e1xp_valize (e) | SRPIFKINDifdef () => e1xp_valize_defined (e) | SRPIFKINDifndef () => e1xp_valize_undefined (e) // end of [e1xp_valize_if] (* ****** ****** *) implement e1xp_valize_defined (e) = case+ e.e1xp_node of | E1XPide id => V1ALint (i) where { val i = (case+ the_e1xpenv_find id of | ~Some_vt e => ( case+ e.e1xp_node of E1XPundef () => 0 | _ => 1 ) // end of [Some_vt] | ~None_vt () => 0 ) : int // end of [val] } // end of [E1XPide] | _ => V1ALerr () where { val () = the_valerrlst_add (VE_valize_defined (e)) } // end of [_] // end of [e1xp_valize_defined] implement e1xp_valize_undefined (e) = case+ e.e1xp_node of | E1XPide id => V1ALint (i) where { val i = (case+ the_e1xpenv_find id of | ~Some_vt e => ( case+ e.e1xp_node of E1XPundef () => 1 | _ => 0 ) // end of [Some_vt] | ~None_vt () => 1 ) : int // end of [val] } // end of [E1XPide] | _ => V1ALerr () where { val () = the_valerrlst_add (VE_valize_undefined (e)) } // end of [_] // end of [e1xp_valize_undefined] (* ****** ****** *) absviewtype lenv_vtype (a:type) // local environment viewtypedef lenv (a:type) = lenv_vtype (a) extern fun lenvmake_nil {a:type} (): lenv (a) extern fun lenvfree {a:type} (env: lenv (a)): void extern fun lenvfind {a:type} (env: !lenv (a), x: symbol): Option_vt (a) (* ****** ****** *) viewtypedef vlenv = lenv (v1al) extern fun lenvmake_v1alist (xs: symbolist, vs: v1alist): vlenv viewtypedef elenv = lenv (e1xp) extern fun lenvmake_e1xplst (lorg: location, xs: symbolist, es: e1xplst): elenv (* ****** ****** *) local assume lenv_vtype (a:type) = List_vt @(symbol, a) in // in of [local] implement lenvmake_nil () = list_vt_nil () implement lenvfree (env) = list_vt_free (env) implement lenvfind {a} (env, x) = let typedef keyitm = (symbol, a) val env = $UN.castvwtp1 {List(keyitm)} (env) in list_assoc_fun (env, lam (x1, x2) = x1 = x2, x) end // end of [envfind] implement lenvmake_v1alist (xs, vs) = let fun aux ( xs: symbolist, vs: v1alist ) : lenv (v1al) = case+ xs of | list_cons (x, xs) => ( case+ vs of | list_cons (v, vs) => list_vt_cons ((x, v), aux (xs, vs)) | list_nil () => let val v = V1ALint(0) in list_vt_cons ((x, v), aux (xs, vs)) end // end of [list_nil] ) (* end of [list_cons] *) | list_nil () => list_vt_nil () in aux (xs, vs) end // end of [envmake_bindlst] implement lenvmake_e1xplst (lorg, xs, es) = let fun aux ( lorg: location, xs: symbolist, es: e1xplst ) : elenv = case+ xs of | list_cons (x, xs) => ( case+ es of | list_cons (e, es) => list_vt_cons ((x, e), aux (lorg, xs, es)) | list_nil () => let val e = e1xp_none (lorg) in list_vt_cons ((x, e), aux (lorg, xs, es)) end // end of [list_nil] ) (* end of [list_cons] *) | list_nil () => list_vt_nil () in aux (lorg, xs, es) end // end of [lenvmake_e1xplst] end // end of [local] (* ****** ****** *) fn e1xp_valize_int (rep: string): int = let val x = $UT.llint_make_string (rep) in int_of_llint (x) end // end of [e1xp_valize_int] (* ****** ****** *) fn e1xplevenv_valize_ide ( lev: int, env: !vlenv, e0: e1xp, x: symbol ) : v1al = let val ans = lenvfind (env, x) in // case+ ans of | ~Some_vt v => v | ~None_vt _ => ( case+ the_e1xpenv_find (x) of | ~Some_vt e => e1xplev_valize (lev+1, e) | ~None_vt _ => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPide_unbound (e0)) } // end of [None_vt] ) (* end of [None_vt] *) end // end of [e1xplevenv_valize_ide] (* ****** ****** *) extern fun e1xplevenv_valize (lev: int, env: !vlenv, e0: e1xp): v1al extern fun e1xplevenv_valize_main (lev: int, env: !vlenv, e0: e1xp): v1al (* ****** ****** *) fun e1xplstlevenv_valize ( lev: int, env: !vlenv, es: e1xplst ) : List_vt (v1al) = case+ es of | list_cons (e, es) => let val v = e1xplevenv_valize (lev, env, e) val vs = e1xplstlevenv_valize (lev, env, es) in list_vt_cons (v, vs) end | list_nil () => list_vt_nil () // end of [e1xplstlevenv_valist] (* ****** ****** *) fun e1xplevenv_valize_list ( lev: int, env: !vlenv, e0: e1xp, es: e1xplst ) : v1al = case+ es of | list_cons (e, es) => ( case+ es of | list_nil () => e1xplevenv_valize (lev, env, e) | list_cons _ => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPlist (e0)) } // end of [list_cons] ) (* end of [list_cons] *) | list_nil () => V1ALint (0) // end of [e1xplevenv_valist_list] (* ****** ****** *) extern fun e1xplevenv_valize_delta ( lev: int, env: !vlenv, e0: e1xp, id: symbol, es: e1xplst ) : v1al // end of [e1xplevenv_valize_delta] (* ****** ****** *) fun e1xplevenv_valize_appid ( lev: int, env: !vlenv, e0: e1xp, id: symbol, es: e1xplst ) : v1al = let val opt = the_e1xpenv_find (id) in // case+ opt of | ~Some_vt e => (case e.e1xp_node of // | E1XPide (id) => e1xplevenv_valize_appid (lev+1, env, e, id, es) // end of [E1XPide] // | E1XPfun (xs, body) => res where { val vs = e1xplstlevenv_valize (lev, env, es) // val env1 = lenvmake_v1alist (xs, $UN.castvwtp1 {v1alist} (vs)) // end of [env1] val iserr = // HX: it is only need if err = 0 holds list_exists_fun ($UN.castvwtp1 {v1alist} (vs), v1al_is_err) // end of [val] val () = list_vt_free (vs) // val res = ( if iserr then V1ALerr () else e1xplevenv_valize (lev+1, env1, body) // end of [if] ) : v1al // end of [if] // val () = lenvfree (env1) // } // end of [E1XPfun] | _ => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPappid_fun (e0, id)) } // end of [_] ) (* end of [Some_vt] *) | ~None_vt () => e1xplevenv_valize_delta (lev, env, e0, id, es) // end // end of [e1xplevenv_valize_appid] (* ****** ****** *) implement e1xplev_valize (lev, e0) = res where { val env = lenvmake_nil () val res = e1xplevenv_valize (lev, env, e0) val () = lenvfree (env) } // end of [e1xplev_valize] (* ****** ****** *) implement e1xplevenv_valize (lev, env, e0) = let // #define MAXLEV MAX_VALIZE_LEVEL // (* val () = begin print "e1xplevenv_valize: e0 = "; print e0; print_newline () end // end of [val] *) // in // if lev <= MAXLEV then let val res = e1xplevenv_valize_main (lev, env, e0) val () = (case+ res of | V1ALerr () => the_valerrlst_add (VE_valize (e0)) | _ => () ) : void // end of [val] in res end else let val () = the_valerrlst_add (VE_maxlevel (lev, e0)) in V1ALerr () end // end of [if] // end // end of [e1xplevenv_valize] implement e1xplevenv_valize_main (lev, env, e0) = let val loc0 = e0.e1xp_loc in // case+ e0.e1xp_node of | E1XPide (sym) => e1xplevenv_valize_ide (lev, env, e0, sym) // | E1XPint (i) => V1ALint (i) | E1XPintrep (rep) => let val v = e1xp_valize_int (rep) in V1ALint (v) end // end of [E1XPi0nt] | E1XPchar (x) => V1ALchar (x) | E1XPstring (x) => V1ALstring (x) | E1XPfloat (x) => V1ALfloat (double_of_string x) // | E1XPv1al (v) => v // | E1XPnone () => V1ALint (0) // | E1XPundef () => let val () = the_valerrlst_add (VE_E1XPundef (e0)) in V1ALerr() // end of [val] end // end of [E1XPundef] // | E1XPapp ( e_fun, _(*loc_arg*), es_arg ) => ( case+ e_fun.e1xp_node of | E1XPide id => ( e1xplevenv_valize_appid (lev, env, e0, id, es_arg) ) // end of [E1XPide] | _ (*non-ide*) => let val () = the_valerrlst_add (VE_E1XPapp_fun(e0)) in V1ALerr() // end of [val] end (* end of [_] *) ) (* end of [E1XPapp] *) // | E1XPif (_cond, _then, _else) => let val _cond = e1xplevenv_valize (lev, env, _cond) // end of [val] in case+ _cond of | V1ALerr() => V1ALerr() | _ (*non-V1ALerr*) => let val _taken = ( if v1al_is_true (_cond) then _then else _else ) : e1xp // end of [val] in e1xplevenv_valize (lev, env, _taken) end (* end of [non-V1ALerr] *) end // | E1XPlist (es) => e1xplevenv_valize_list (lev, env, e0, es) // end of [E1XPlist] // | E1XPeval (e1) => e1xplevenv_valize (lev, env, e1) // HX: right? // | E1XPfun _ => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPfun (e0)) } // | E1XPerr () => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPerr (e0)) } // end // end of [e1xplevenv_valize_main] (* ****** ****** *) fn e1xplevenv_valize_add ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => V1ALint (i1 + i2) | (V1ALfloat f1, V1ALfloat f2) => V1ALfloat (f1 + f2) | (V1ALstring s1, V1ALstring s2) => V1ALstring (s1 + s2) | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_add] fn e1xplevenv_valize_sub ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => V1ALint (i1 - i2) | (V1ALfloat f1, V1ALfloat f2) => V1ALfloat (f1 - f2) | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_sub] fn e1xplevenv_valize_mul ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => V1ALint (i1 * i2) | (V1ALfloat f1, V1ALfloat f2) => V1ALfloat (f1 * f2) | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_mul] fn e1xplevenv_valize_div ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => V1ALint (i1 / i2) | (V1ALfloat f1, V1ALfloat f2) => V1ALfloat (f1 / f2) | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_div] (* ****** ****** *) fn e1xplevenv_valize_lt ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALfloat f1, V1ALfloat f2) => if f1 < f2 then V1ALint 1 else V1ALint 0 | (V1ALint i1, V1ALint i2) => if i1 < i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 < s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_lt] fn e1xplevenv_valize_lteq ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALfloat f1, V1ALfloat f2) => if f1 <= f2 then V1ALint 1 else V1ALint 0 | (V1ALint i1, V1ALint i2) => if i1 <= i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 <= s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_lteq] fn e1xplevenv_valize_gt ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALfloat f1, V1ALfloat f2) => if f1 > f2 then V1ALint 1 else V1ALint 0 | (V1ALint i1, V1ALint i2) => if i1 > i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 > s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_gt] fn e1xplevenv_valize_gteq ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALfloat f1, V1ALfloat f2) => if f1 >= f2 then V1ALint 1 else V1ALint 0 | (V1ALint i1, V1ALint i2) => if i1 >= i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 >= s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_gteq] (* ****** ****** *) fun e1xplevenv_valize_eq ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => if i1 = i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 = s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_eq] fun e1xplevenv_valize_neq ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => if i1 <> i2 then V1ALint 1 else V1ALint 0 | (V1ALstring s1, V1ALstring s2) => if s1 <> s2 then V1ALint 1 else V1ALint 0 | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_neq] (* ****** ****** *) fun e1xplevenv_valize_land ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => begin if i1 = 0 then V1ALint 0 else if i2 = 0 then V1ALint 0 else V1ALint 1 end // end of [V1ALint, V1ALint] | (V1ALstring s1, V1ALstring s2) => let val s1 = string1_of_string s1 and s2 = string1_of_string s2 in if string_is_empty s1 then V1ALint (0) else if string_is_empty s1 then V1ALint (0) else V1ALint 1 end // end of [V1ALstring, V1ALstring] | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_land] fun e1xplevenv_valize_lor ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => begin if i1 <> 0 then V1ALint 1 else if i2 <> 0 then V1ALint 1 else V1ALint 0 end // end of [V1ALint, V1ALint] | (V1ALstring s1, V1ALstring s2) => let val s1 = string1_of_string s1 and s2 = string1_of_string s2 in if string_isnot_empty s1 then V1ALint (1) else if string_isnot_empty s2 then V1ALint (1) else V1ALint 0 end // end of [V1ALstring, V1ALstring] | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_lor] (* ****** ****** *) fn e1xplevenv_valize_asl ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => let val i2 = int1_of_int i2 val () = if (i2 < 0) then { val () = prerr_location (e0.e1xp_loc) // val () = if isdebug () then prerr ": e1xplevenv_valize_asl" // val () = prerr ": the second argument of [<<] is required to be a natural number." val () = prerr_newline () val () = $ERR.abort {void} () } // end of [val] val () = assert (i2 >= 0) // redundant at run-time in V1ALint (i1 << i2) end // end of [(V1ALint _, V1ALint _)] | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_asl] fn e1xplevenv_valize_asr ( lev: int, env: !vlenv , e0: e1xp, id: symbol, e1: e1xp, e2: e1xp ) : v1al = let val v1 = e1xplevenv_valize (lev, env, e1) val v2 = e1xplevenv_valize (lev, env, e2) in case+ (v1, v2) of | (V1ALint i1, V1ALint i2) => let val i2 = int1_of_int i2 val () = if (i2 < 0) then { val () = prerr_location (e0.e1xp_loc) // val () = if isdebug () then prerr ": e1xplevenv_valize_asl" // val () = prerr ": the second argument of [>>] is required to be a natural number." val () = prerr_newline () val () = $ERR.abort {void} () } // end of [val] val () = assert (i2 >= 0) // redundant at run-time in V1ALint (i1 >> i2) end // end of [(V1ALint _, V1ALint _)] | (_, _) => V1ALerr () where { val () = the_valerrlst_add (VE_opr_arglst (e0, id)) } end // end of [e1xplevenv_valize_asr] (* ****** ****** *) implement e1xplevenv_valize_delta (lev, env, e0, id, es) = let (* val () = begin print "e1xplevenv_valize_delta: id = "; $SYM.print_symbol id; print_newline () end // end of [val] *) // #define nil list_nil #define :: list_cons #define cons list_cons // macdef oprarity_err () = V1ALerr () where { val () = the_valerrlst_add (VE_E1XPappid_arity (e0, id)) } // end of [oprarity_err] // in // case+ 0 of | _ when id = DEFINED => ( case+ es of | e :: nil () => e1xp_valize_defined (e) | _ => oprarity_err () ) | _ when id = UNDEFINED => ( case+ es of | e :: nil () => e1xp_valize_undefined (e) | _ => oprarity_err () ) // | _ when id = ADD => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_add (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = SUB => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_sub (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = MUL => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_mul (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = DIV => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_div (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) // | _ when id = LT => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_lt (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = LTEQ => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_lteq (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = GT => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_gt (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = GTEQ => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_gteq (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) // | _ when (id = EQ orelse id = EQEQ) => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_eq (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when (id = LTGT orelse id = BANGEQ) => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_neq (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) // | _ when id = LAND => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_land (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) | _ when id = LOR => ( case+ es of | e1 :: e2 :: nil () => e1xplevenv_valize_lor (lev, env, e0, id, e1, e2) | _ => oprarity_err () ) // | _ => V1ALerr () where { val () = the_valerrlst_add (VE_E1XPappid_opr (e0, id)) } // end of [_] // end // end of [e1xplevenv_valize_delta] (* ****** ****** *) extern fun e1xplev_normalize (lorg: location, lev: int, e0: e1xp): e1xp // end of [e1xplev_normalize] extern fun e1xplevenv_normalize (lorg: location, lev: int, env: !elenv, e0: e1xp): e1xp // end of [e1xplevenv_normalize] extern fun e1xplevenv_normalize_main (lorg: location, lev: int, env: !elenv, e0: e1xp): e1xp // end of [e1xplevenv_normalize_main] (* ****** ****** *) implement e1xp_normalize (e0) = e1xplev_normalize (e0.e1xp_loc, 0(*lev*), e0) // end of [e1xp_normalize] implement e1xplev_normalize (lorg, lev, e0) = res where { val env = lenvmake_nil () val res = e1xplevenv_normalize (lorg, lev, env, e0) val () = lenvfree (env) } // end of [e1xplev_normalize] (* ****** ****** *) fn e1xplevenv_normalize_ide ( lorg: location , lev: int, env: !elenv, e0: e1xp, x: symbol ) : e1xp = let val ans = lenvfind (env, x) in // case+ ans of | ~Some_vt e => e | ~None_vt _ => ( case+ the_e1xpenv_find (x) of | ~Some_vt e => e1xplev_normalize (lorg, lev+1, e) // end of [Some_vt] | ~None_vt _ => e1xp_make (lorg, e0.e1xp_node) ) // end of [None_vt] end // end of [e1xplevenv_normalize_ide] (* ****** ****** *) fun e1xplstlevenv_normalize ( lorg: location, lev: int, env: !elenv, es: e1xplst ) : e1xplst = case+ es of | list_cons (e, es) => let val e = e1xplevenv_normalize (lorg, lev, env, e) val es = e1xplstlevenv_normalize (lorg, lev, env, es) in list_cons (e, es) end | list_nil () => list_nil () // end of [e1xplstlevenv_normalize] (* ****** ****** *) (* // // HX-2011-04-29: this example works now: // #define f(n, x) if n > 0 then x * f (n, x) // *) implement e1xplevenv_normalize (lorg, lev, env, e0) = let // #define MAXLEV MAX_NORMAL_LEVEL // in if lev <= MAXLEV then e1xplevenv_normalize_main (lorg, lev, env, e0) else let val () = prerr_error1_loc (lorg) val () = prerrf (": the maximal normlization depth (%i) has been reached.", @(lev)) val () = prerr_newline () in e1xp_err (lorg) end (* end of [if] *) end // end of [e1xplevenv_normalize] implement e1xplevenv_normalize_main (lorg, lev, env, e0) = let val node = e0.e1xp_node in case+ node of | E1XPide id => e1xplevenv_normalize_ide (lorg, lev, env, e0, id) // | E1XPint _ => e1xp_make (lorg, node) | E1XPintrep _ => e1xp_make (lorg, node) | E1XPchar _ => e1xp_make (lorg, node) | E1XPstring _ => e1xp_make (lorg, node) | E1XPfloat _ => e1xp_make (lorg, node) // | E1XPv1al _ => e1xp_make (lorg, node) // | E1XPnone () => e1xp_make (lorg, node) | E1XPundef () => e1xp_make (lorg, node) // | E1XPlist es => let val es = e1xplstlevenv_normalize (lorg, lev, env, es) in e1xp_list (lorg, es) end | E1XPeval (e) => let val v = e1xp_valize ( e1xplevenv_normalize (lorg, lev, env, e) ) // end of [val] in e1xp_v1al (lorg, v) end (* end of [E1XPeval] *) // | E1XPapp ( e_fun, _(*loc_arg*), es_arg ) => let val e_fun = e1xplevenv_normalize (lorg, lev, env, e_fun) val es_arg = e1xplstlevenv_normalize (lorg, lev, env, es_arg) in case+ e_fun.e1xp_node of | E1XPfun (xs, body) => res where { val env1 = lenvmake_e1xplst (lorg, xs, es_arg) val res = e1xplevenv_normalize (lorg, lev+1, env1, body) val ((*void*)) = lenvfree (env1) } (* end of [E1XPfun] *) | _ => e1xp_app (lorg, e_fun, lorg, es_arg) end // end of [E1XPapp] | E1XPfun _ => e1xp_make (lorg, node) // | E1XPif ( _cond, _then, _else // HX: specially treated ) => let val v = e1xp_valize ( e1xplevenv_normalize (lorg, lev, env, _cond) ) // end of [val] val istt = v1al_is_true (v) in if istt then e1xplevenv_normalize (lorg, lev, env, _then) else e1xplevenv_normalize (lorg, lev, env, _else) // end of [if] end (* end of [E1XPif] *) // | E1XPerr _ => e1xp_make (lorg, node) // end // end of [e1xplevenv_normalize_main] (* ****** ****** *) (* end of [pats_e1xpval.dats] *) ATS2-Postiats-0.2.6/./src/pats_depgen.sats0000664000175000017500000000337512655455557016722 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: August, 2012 // (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) fun depgen_eval (d0cs: $SYN.d0eclist): List_vt (string) // end of [depgen_eval] (* ****** ****** *) fun fprint_target (out: FILEref, given: string): void (* ****** ****** *) fun fprint_entlst (out: FILEref, given: string, xs: List_vt (string)): void // end of [fprint_entlst] (* ****** ****** *) (* end of [pats_depgen.sats] *) ATS2-Postiats-0.2.6/./src/pats_intinf.sats0000664000175000017500000001025712655455557016744 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) abstype intinf_type typedef intinf = intinf_type (* ****** ****** *) fun intinf_make_int (i: int): intinf fun intinf_make_size (sz: size_t): intinf (* ****** ****** *) (* // // HX: [rep] is unsigned! // 0 -> base 8; 0x -> base 16; _ => base 10 // *) fun intinf_make_string (rep: string): intinf = "ext#patsopt_intinf_make_string" // end of [intinf_make_string] (* ****** ****** *) fun intinf_make_base_string_ofs {n:int} {i:nat | i <= n} ( base: intBtwe(2,36), rep: string n, ofs: int i ) : intinf // end of [intinf_make_base_string_ofs] (* ****** ****** *) fun fprint_intinf (out: FILEref, x: intinf): void (* ****** ****** *) // // HX: this is unsafe because of potential overflow // fun intinf_get_int (n: intinf):<> int (* ****** ****** *) fun lt_intinf_int (x1: intinf, x2: int):<> bool overload < with lt_intinf_int fun lte_intinf_int (x1: intinf, x2: int):<> bool overload <= with lte_intinf_int fun gt_intinf_int (x1: intinf, x2: int):<> bool overload > with gt_intinf_int fun gte_intinf_int (x1: intinf, x2: int):<> bool overload >= with gte_intinf_int fun eq_intinf_int (x1: intinf, x2: int):<> bool fun eq_int_intinf (x1: int, x2: intinf):<> bool fun eq_intinf_intinf (x1: intinf, x2: intinf):<> bool overload = with eq_intinf_int overload = with eq_int_intinf overload = with eq_intinf_intinf fun neq_intinf_int (x1: intinf, x2: int):<> bool fun neq_int_intinf (x1: int, x2: intinf):<> bool fun neq_intinf_intinf (x1: intinf, x2: intinf):<> bool overload != with neq_intinf_int overload != with neq_int_intinf overload != with neq_intinf_intinf fun compare_intinf_int (x1: intinf, x2: int):<> int fun compare_intinf_intinf (x1: intinf, x2: intinf):<> int (* ****** ****** *) // fun neg_intinf (x: intinf):<> intinf // fun add_intinf_int (x1: intinf, x2: int):<> intinf fun add_int_intinf (x1: int, x2: intinf):<> intinf fun add_intinf_intinf (x1: intinf, x2: intinf):<> intinf // fun sub_intinf_intinf (x1: intinf, x2: intinf):<> intinf // fun mul_intinf_int (x1: intinf, x2: int):<> intinf fun mul_int_intinf (x1: int, x2: intinf):<> intinf fun mul_intinf_intinf (x1: intinf, x2: intinf):<> intinf // overload ~ with neg_intinf overload + with add_intinf_int overload + with add_int_intinf overload + with add_intinf_intinf overload - with sub_intinf_intinf overload * with mul_intinf_int overload * with mul_int_intinf overload * with mul_intinf_intinf // (* ****** ****** *) // abstype intinfset_type typedef intinfset = intinfset_type // typedef intinflst = List (intinf) vtypedef intinflst_vt = List_vt (intinf) // fun intinfset_sing (x: intinf): intinfset fun intinfset_is_member (xs: intinfset, x: intinf): bool fun intinfset_add (xs: intinfset, x: intinf): intinfset // fun intinfset_listize (xs: intinfset): intinflst_vt // fun fprint_intinfset (out: FILEref, xs: intinfset): void // (* ****** ****** *) (* end of [pats_intinf.sats] *) ATS2-Postiats-0.2.6/./src/pats_symenv.dats0000664000175000017500000001406312655455557016756 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_symmap.sats" staload "./pats_symenv.sats" (* ****** ****** *) vtypedef symmaplst ( itm:type, n:int ) = list_vt (symmap itm, n) vtypedef symmaplst (itm:type) = [n:nat] symmaplst (itm, n) (* ****** ****** *) fun symmaplst_free {itm:type} {n:nat} .. (xs: symmaplst (itm, n)):<> void = case+ xs of | ~list_vt_cons (x, xs) => (symmap_free (x); symmaplst_free (xs)) | ~list_vt_nil () => () // end of [symmaplst_free] fun symmaplst_search {itm:type} {n:nat} .. ( ms0: !symmaplst (itm, n), k: symbol ) :<> Option_vt itm = begin case+ ms0 of | list_vt_cons (!p_m, !p_ms) => let val ans = symmap_search (!p_m, k) in case+ ans of | Some_vt _ => ans where { val () = fold@ ms0; val () = fold@ ans } // end of [Some_vt] | ~None_vt () => ans where { val ans = symmaplst_search {itm} (!p_ms, k) val () = fold@ ms0 } // end of [None_vt] end (* end of [list_vt_cons] *) | list_vt_nil () => (fold@ ms0; None_vt ()) end // end of [symmaplst_search] (* ****** ****** *) assume symenv_vt0ype (itm:type) = @{ map= symmap (itm) , maplst= symmaplst (itm) , savedlst= List_vt @(symmap itm, symmaplst itm) , pervasive= symmap (itm) } // end of [symenv_v0type] (* ****** ****** *) implement symenv_make_nil {itm} () = let stadef T = symenv (itm) val (pfgc, pfat | p) = ptr_alloc () val () = p->map := symmap_make_nil () val () = p->maplst := list_vt_nil () val () = p->savedlst := list_vt_nil () val () = p->pervasive := symmap_make_nil () prval () = free_gc_elim (pfgc) in (pfat | p) end // end of [symenv_make_nil] (* ****** ****** *) implement symenv_search {itm} (env, k) = let val ans = symmap_search (env.map, k) in case+ ans of | Some_vt _ => (fold@ (ans); ans) | ~None_vt () => symmaplst_search (env.maplst, k) end // end of [symenv_search] (* ****** ****** *) implement symenv_insert {itm} (env, k, i) = symmap_insert {itm} (env.map, k, i) // end of [symenv_insert] (* ****** ****** *) implement symenv_pop (env) = map0 where { val map0 = env.map val-~list_vt_cons (map, maps) = env.maplst val () = env.map := map val () = env.maplst := maps } // end of [symenv_pop] implement symenv_pop_free (env) = () where { val map = symenv_pop (env) val () = symmap_free (map) } // end of [symmap_pop_free] implement symenv_push (env, map0) = () where { val () = env.maplst := list_vt_cons (env.map, env.maplst) val () = env.map := map0 } // end of [symenv_push] implement symenv_push_nil (env) = () where { val map = symmap_make_nil () val () = symenv_push (env, map) } // end of [symmap_push_nil] (* ****** ****** *) implement symenv_top_clear (env) = () where { // val () = symmap_free (env.map) val () = env.map := symmap_make_nil () // } (* end of [symenv_top_clear] *) (* ****** ****** *) implement symenv_savecur {itm}(env) = let val m = env.map val () = env.map := symmap_make_nil () val ms = env.maplst val () = env.maplst := list_vt_nil () val () = env.savedlst := list_vt_cons ((m, ms), env.savedlst) in // nothing end // end of [symenv_savecur] implement symenv_restore {itm}(env) = let vtypedef map = symmap (itm) val top = env.map val () = symmaplst_free (env.maplst) val-~list_vt_cons (x, xs) = env.savedlst val () = env.savedlst := xs val () = env.map := x.0 and () = env.maplst := x.1 in top end // end of [symenv_restore] (* ****** ****** *) implement symenv_localjoin {itm}(env) = let // val ms = env.maplst val-~list_vt_cons (m1, ms) = ms val () = symmap_free (m1) val-~list_vt_cons (m2, ms) = ms val () = env.maplst := ms // // HX-2013-06: // it is done in this way so that a binding // in [map1] can replace another one in [map2] // if they happen to be sharing the same key. // val m0 = env.map val () = env.map := m2 val res = symmap_joinwth {itm} (env.map, m0) val () = symmap_free (m0) // in res end // end of [symenv_localjoin] (* ****** ****** *) implement symenv_pervasive_search (env, k) = symmap_search (env.pervasive, k) // end of [symenv_pervasive_search] implement symenv_pervasive_insert (env, k, i) = symmap_insert (env.pervasive, k, i) // end of [symenv_insert] (* ****** ****** *) implement symenv_pervasive_joinwth0 (env, map) = let // val () = symmap_joinwth (env.pervasive, map) // in symmap_free (map) end // end of [symenv_pervasive_joinwth0] implement symenv_pervasive_joinwth1 (env, map) = symmap_joinwth (env.pervasive, map) // end of [symenv_pervasive_joinwth1] (* ****** ****** *) implement fprint_symenv_map (out, env, f) = fprint_symmap (out, env.map, f) // end of [fprint_symenv_map] (* ****** ****** *) (* end of [pats_symenv.dats] *) ATS2-Postiats-0.2.6/./src/pats_jsonize.dats0000664000175000017500000002646312655455557017125 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" staload _(*UN*) = "prelude/DATS/unsafe.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload "./pats_stamp.sats" staload "./pats_symbol.sats" staload "./pats_location.sats" staload "./pats_filename.sats" (* ****** ****** *) staload "./pats_label.sats" (* ****** ****** *) staload "./pats_jsonize.sats" (* ****** ****** *) implement jsonval_int (i) = JSONint (i) implement jsonval_intinf (i) = JSONintinf (i) implement jsonval_bool (b) = JSONbool (b) implement jsonval_double (d) = JSONfloat (d) implement jsonval_string (str) = JSONstring (str) (* ****** ****** *) implement jsonval_location (loc) = JSONlocation (loc) implement jsonval_filename (fil) = JSONfilename (fil) (* ****** ****** *) // #define nil list_nil // #define :: list_cons #define cons list_cons // (* ****** ****** *) implement jsonval_sing (x) = JSONlist (list_sing(x)) implement jsonval_pair (x1, x2) = JSONlist (list_pair(x1, x2)) (* ****** ****** *) // implement jsonval_labval1 (l, x) = JSONlablist (list_cons((l, x), list_nil)) implement jsonval_labval2 (l1, x1, l2, x2) = JSONlablist (list_cons((l1, x1), list_cons((l2, x2), list_nil))) implement jsonval_labval3 ( l1, x1, l2, x2, l3, x3 ) = JSONlablist ((l1, x1) :: (l2, x2) :: (l3, x3) :: list_nil(*void*)) implement jsonval_labval4 ( l1, x1, l2, x2, l3, x3, l4, x4 ) = JSONlablist ((l1, x1) :: (l2, x2) :: (l3, x3) :: (l4, x4) :: list_nil) // implement jsonval_labval5 ( l1, x1, l2, x2, l3, x3, l4, x4, l5, x5 ) = JSONlablist ( (l1, x1) :: (l2, x2) :: (l3, x3) :: (l4, x4) :: (l5, x5) :: list_nil ) implement jsonval_labval6 ( l1, x1, l2, x2, l3, x3, l4, x4, l5, x5, l6, x6 ) = JSONlablist ( (l1, x1) :: (l2, x2) :: (l3, x3) :: (l4, x4) :: (l5, x5) :: (l6, x6) :: list_nil ) implement jsonval_labval7 ( l1, x1, l2, x2, l3, x3, l4, x4, l5, x5, l6, x6, l7, x7 ) = JSONlablist ( (l1, x1) :: (l2, x2) :: (l3, x3) :: (l4, x4) :: (l5, x5) :: (l6, x6) :: (l7, x7) :: list_nil ) implement jsonval_labval8 ( l1, x1, l2, x2, l3, x3, l4, x4, l5, x5, l6, x6, l7, x7, l8, x8 ) = JSONlablist ( (l1, x1) :: (l2, x2) :: (l3, x3) :: (l4, x4) :: (l5, x5) :: (l6, x6) :: (l7, x7) :: (l8, x8) :: list_nil ) // (* ****** ****** *) // implement jsonval_conarg0 (con) = jsonval_conarglst (con, list_nil) implement jsonval_conarg1 (con, arg1) = jsonval_conarglst (con, list_sing (arg1)) implement jsonval_conarg2 (con, arg1, arg2) = jsonval_conarglst (con, list_pair (arg1, arg2)) implement jsonval_conarg3 (con, arg1, arg2, arg3) = jsonval_conarglst (con, arg1 :: arg2 :: arg3 :: list_nil) implement jsonval_conarg4 (con, arg1, arg2, arg3, arg4) = jsonval_conarglst (con, arg1 :: arg2 :: arg3 :: arg4 :: list_nil()) // implement jsonval_conarglst (con, arglst) = jsonval_labval1 (con, JSONlist (arglst)) // end of [jsonval_conarglst] (* ****** ****** *) // implement jsonval_none () = JSONoption (None()) implement jsonval_some (x) = JSONoption (Some(x)) // (* ****** ****** *) local fun fprint_jsonval_string ( out: FILEref, str: string ) : void = let // fun auxch ( out: FILEref, c: char ) : void = let in // case+ c of | '"' => fprint_string (out, "\\\"") | '\\' => fprint_string (out, "\\\\") | '\n' => fprint_string (out, "\\n") | '\r' => fprint_string (out, "\\r") | '\t' => fprint_string (out, "\\t") | '\b' => fprint_string (out, "\\b") | '\f' => fprint_string (out, "\\f") | _ (*rest-of-char*) => ( if char_isprint(c) then fprint_char(out, c) else let val uc = uchar_of_char(c) in fprintf (out, "\\u00%.2X", @($UN.cast2uint(uc))) end // end of [else] // end of [if] ) (* end of [_] *) // end // end of [auxch] // fun loop ( out: FILEref, p: ptr ) : void = let // val c = $UN.ptr0_get (p) // in // if c != '\000' then (auxch(out, c); loop (out, p+sizeof)) else () // end // end of [loop] // in // fprint_char (out, '"'); loop (out, $UN.cast{ptr}(str)); fprint_char (out, '"'); // end // end of [fprint_jsonval_string] in (* in-of-local *) implement fprint_jsonval (out, x0) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ x0 of // | JSONnul () => prstr "{}" // | JSONint (i) => fprint_int (out, i) | JSONintinf (i) => { val () = fprint_char (out, '"') val () = $INTINF.fprint_intinf (out, i) val () = fprint_char (out, '"') } // | JSONbool (b) => fprint_bool (out, b) | JSONfloat (d) => fprint_double (out, d) // | JSONstring (str) => fprint_jsonval_string (out, str) // | JSONlocation (loc) => { val () = prstr "\"" val () = fprint_location (out, loc) val () = prstr "\"" } (* end of [JSONlocation] *) | JSONfilename (fil) => { val () = prstr "\"" val () = fprint_filename_full (out, fil) val () = prstr "\"" } (* end of [JSONfilename] *) // | JSONlist (xs) => { val () = prstr "[" val () = fprint_jsonvalist (out, xs) val () = prstr "]" } | JSONlablist (lxs) => { val () = prstr "{" val () = fprint_labjsonvalist (out, lxs) val () = prstr "}" } // | JSONoption (opt) => { val () = prstr "[" val () = ( case+ opt of | Some x => fprint_jsonval (out, x) | None () => () ) : void // end of [val] val () = prstr "]" } // end // end of [fprint_jsonval] end // end of [local] (* ****** ****** *) implement fprint_jsonvalist (out, xs0) = let // fun aux ( out: FILEref , xs0: jsonvalist, i: int ) : void = let in // case+ xs0 of | list_nil () => () | list_cons (x, xs) => let val () = if i > 0 then fprint (out, ", ") // end of [if] val () = fprint_jsonval (out, x) in aux (out, xs, i+1) end // end of [list_cons] // end // end of [aux] // in aux (out, xs0, 0) end // end of [fprint_jsonvalist] (* ****** ****** *) implement fprint_labjsonvalist (out, lxs0) = let // fun aux ( out: FILEref , lxs0: labjsonvalist, i: int ) : void = let in // case+ lxs0 of | list_nil () => () | list_cons (lx, lxs) => let val () = if i > 0 then fprint (out, ", ") // end of [if] val () = fprintf (out, "\"%s\"", @(lx.0)) val () = fprint_string (out, ": ") val () = fprint_jsonval (out, lx.1) in aux (out, lxs, i+1) end // end of [list_cons] // end // end of [aux] // in aux (out, lxs0, 0) end // end of [fprint_labjsonvalist] (* ****** ****** *) local fun aux0 ( name: string ) : jsonval = let val name = jsonval_string (name) val arglst = JSONlist (list_nil()) in jsonval_labval2 ("funclo_name", name, "funclo_arglst", arglst) end // end of [aux0] fun aux1 ( name: string, arg: jsonval ) : jsonval = let val name = jsonval_string (name) val arglst = jsonval_sing (arg) in jsonval_labval2 ("funclo_name", name, "funclo_arglst", arglst) end // end of [aux1] in (* in of [local] *) implement jsonize_funclo (fc) = ( case+ fc of | FUNCLOfun () => aux0 ("FUNCLOfun") | FUNCLOclo (knd) => aux1 ("FUNCLOclo", jsonval_int (knd)) ) (* end of [jsonize_funclo] *) end // end of [local] (* ****** ****** *) implement jsonize_caskind(knd) = ( // case+ knd of | CK_case () => jsonval_string "CK_case" | CK_case_pos () => jsonval_string "CK_case_pos" | CK_case_neg () => jsonval_string "CK_case_neg" // ) (* end of [jsonize_caskind] *) (* ****** ****** *) implement jsonize_funkind(knd) = ( // case+ knd of // | FK_fn () => jsonval_string "FK_fn" | FK_fnx () => jsonval_string "FK_fnx" | FK_fun () => jsonval_string "FK_fun" // | FK_prfn () => jsonval_string "FK_prfn" | FK_prfun () => jsonval_string "FK_prfun" // | FK_praxi () => jsonval_string "FK_praxi" // | FK_castfn () => jsonval_string "FK_castfn" // ) (* end of [jsonize_funkind] *) (* ****** ****** *) implement jsonize_valkind(knd) = ( // case+ knd of | VK_val () => jsonval_string "VK_val" | VK_prval () => jsonval_string "VK_prval" | VK_val_pos () => jsonval_string "VK_val_pos" | VK_val_neg () => jsonval_string "VK_val_neg" // ) (* end of [jsonize_valkind] *) (* ****** ****** *) implement jsonize_dcstkind(knd) = ( // case+ knd of | DCKfun () => jsonval_string "DCKfun" | DCKval () => jsonval_string "DCKval" | DCKpraxi () => jsonval_string "DCKpraxi" | DCKprfun () => jsonval_string "DCKprfun" | DCKprval () => jsonval_string "DCKprval" | DCKcastfn () => jsonval_string "DCKcastfn" // ) (* end of [jsonize_dcstkind] *) (* ****** ****** *) // implement jsonize_stamp(x0) = jsonval_int(stamp_get_int(x0)) // (* ****** ****** *) // implement jsonize_symbol(sym) = jsonval_string(symbol_get_name(sym)) implement jsonize_symbolopt(opt) = ( // case+ opt of | None() => jsonval_none() | Some(x) => jsonval_some(jsonize_symbol(x)) // ) (* end of [jsonize_symbolopt] *) // (* ****** ****** *) // implement jsonize_location(loc) = jsonval_location (loc) implement jsonize_filename(fil) = jsonval_filename (fil) // (* ****** ****** *) implement jsonize_label(lab) = let // val opt = label_get_int(lab) // in // case+ opt of | ~Some_vt (x) => let val jsv = jsonval_int (x) in jsonval_labval1 ("LABint", jsv) end (* end of [Some_vt] *) | ~None_vt ((*void*)) => let val opt = label_get_sym (lab) in case+ opt of | ~Some_vt (sym) => let val jsv = jsonize_symbol (sym) in jsonval_labval1 ("LABsym", jsv) end // end of [Some_vt] | ~None_vt ((*void*)) => JSONnul ((*void*)) end (* end of [None_vt] *) // end // end of [jsonize_label] (* ****** ****** *) // implement jsonize_ignored(x0) = JSONnul((*void*)) // (* ****** ****** *) implement {a}(*tmp*) jsonize_list_fun(xs, f) = let // (* val () = println! ("jsonize_option_fun") *) // val jsvs = list_map_fun (xs, f) // val jsvs = list_of_list_vt(jsvs) in JSONlist (jsvs) // end // end of [jsonize_list_fun] (* ****** ****** *) implement {a}(*tmp*) jsonize_option_fun(opt, f) = let // (* val () = println! ("jsonize_option_fun") *) // in // case+ opt of | None() => jsonval_none() | Some(x) => jsonval_some(f(x)) // end // end of [jsonize_option_fun] (* ****** ****** *) (* end of [pats_jsonize.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_print.dats0000664000175000017500000004634112655455557020243 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload INTINF = "./pats_intinf.sats" macdef fprint_intinf = $INTINF.fprint_intinf // (* ****** ****** *) // staload STMP = "./pats_stamp.sats" macdef fprint_stamp = $STMP.fprint_stamp // staload SYM = "./pats_symbol.sats" macdef fprint_symbol = $SYM.fprint_symbol // (* ****** ****** *) // staload SYN = "./pats_syntax.sats" // (* ****** ****** *) staload EFF = "./pats_effect.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) implement fprint_s2rtdat (out, x) = let val sym = s2rtdat_get_sym (x) in fprint_symbol (out, sym) end // end of [fprint_s2rtdat] (* ****** ****** *) implement fprint_s2rtbas (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x of | S2RTBASpre (sym) => { val () = prstr "S2RTBASpre(" val () = fprint_symbol (out, sym) val () = prstr ")" } // end of [S2RTBASpre] | S2RTBASimp (knd, sym) => { val () = prstr "S2RTBASimp(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_symbol (out, sym) val pol = test_polkind (knd) val () = if pol > 0 then prstr "+" val () = if pol < 0 then prstr "-" val () = prstr ")" } // end of [S2RTBASimp] | S2RTBASdef (s2td) => { val () = prstr "S2RTBASdef(" val () = fprint_s2rtdat (out, s2td) val () = prstr ")" } // end of [S2RTBASdef] // end // end of [fprint_s2rtbas] (* ****** ****** *) // implement print_s2rt (x) = fprint_s2rt (stdout_ref, x) implement prerr_s2rt (x) = fprint_s2rt (stderr_ref, x) // implement fprint_s2rt (out, x) = let // val x = s2rt_delink (x) macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of | S2RTbas (s2tb) => { val () = prstr "S2RTbas(" val () = fprint_s2rtbas (out, s2tb) val () = prstr ")" } | S2RTfun (s2ts, s2t) => { val () = prstr "S2RTfun(" val () = fprint_s2rtlst (out, s2ts) val () = prstr "; " val () = fprint_s2rt (out, s2t) val () = prstr ")" } | S2RTtup (s2ts) => { val () = prstr "S2RTtup(" val () = fprint_s2rtlst (out, s2ts) val () = prstr ")" } | S2RTVar _ => { val () = prstr "S2RTVar(" val () = fprint_string (out, "...") val () = prstr ")" } // | S2RTerr () => prstr "S2RTerr()" // end // end of [fprint_s2rt] // (* ****** ****** *) // implement print_s2rtlst (xs) = fprint_s2rtlst (stdout_ref, xs) implement prerr_s2rtlst (xs) = fprint_s2rtlst (stderr_ref, xs) // implement fprint_s2rtlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2rt) // end of [fprint_s2rtlst] // (* ****** ****** *) implement print_s2itm (xs) = fprint_s2itm (stdout_ref, xs) implement prerr_s2itm (xs) = fprint_s2itm (stderr_ref, xs) implement fprint_s2itm (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x of | S2ITMvar (s2v) => { val () = prstr "S2ITMvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } | S2ITMcst (s2cs) => { val () = prstr "S2ITMcst(" val () = fprint_s2cstlst (out, s2cs) val () = prstr ")" } | S2ITMe1xp (e1xp) => { val () = prstr "S2ITMe1xp(" val () = fprint_e1xp (out, e1xp) val () = prstr ")" } | S2ITMdatconptr (d2c) => { val () = prstr "S2ITMdatconptr(" val () = fprint_d2con (out, d2c) val () = prstr ")" } | S2ITMdatcontyp (d2c) => { val () = prstr "S2ITMdatcontyp(" val () = fprint_d2con (out, d2c) val () = prstr ")" } | S2ITMfilenv (fenv) => { val () = prstr "S2ITMfilenv(" val () = $FIL.fprint_filename_full (out, filenv_get_name fenv) val () = prstr ")" } (* end of [S2ITMfilenv] *) // end // end of [fprint_s2itm] (* ****** ****** *) // implement print_tyreckind (knd) = fprint_tyreckind (stdout_ref, knd) implement prerr_tyreckind (knd) = fprint_tyreckind (stderr_ref, knd) // implement fprint_tyreckind (out, knd) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ knd of | TYRECKINDbox () => fprint_string (out, "box") | TYRECKINDbox_lin () => fprint_string (out, "boxlin") | TYRECKINDflt0 () => fprint_string (out, "flt0") | TYRECKINDflt1 (stmp) => ( prstr "flt1("; fprint_stamp (out, stmp); prstr ")" ) // end of [TYRECKINDflt1] | TYRECKINDflt_ext (name) => fprintf (out, "fltext(%s)", @(name)) // end // end of [fprint_tyreckind] // (* ****** ****** *) // implement print_s2hnf (x) = print_s2exp (s2hnf2exp x) implement prerr_s2hnf (x) = prerr_s2exp (s2hnf2exp x) // implement fprint_s2hnf (out, x) = fprint_s2exp (out, s2hnf2exp x) // end of [fprint_s2hnf] // (* ****** ****** *) implement print_s2exp (x) = fprint_s2exp (stdout_ref, x) implement prerr_s2exp (x) = fprint_s2exp (stderr_ref, x) implement fprint_s2exp (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x.s2exp_node of // | S2Eint (x) => { val () = prstr "S2Eint(" val () = fprint_int (out, x) val () = prstr ")" } | S2Eintinf (x) => { val () = prstr "S2Eintinf(" val () = fprint_intinf (out, x) val () = prstr ")" } // | S2Efloat (rep) => { val () = prstr "S2Efloat(" val () = fprint_string (out, rep) val () = prstr ")" } | S2Estring (str) => { val () = prstr "S2Estring(" val () = fprint_string (out, str) val () = prstr ")" } // | S2Ecst (s2c) => { val () = prstr "S2Ecst(" val () = fprint_s2cst (out, s2c) val () = prstr ")" } (* end of [S2Ecst] *) // | S2Eextype (name, s2ess) => { val () = prstr "S2Eextype(" val () = fprint_string (out, name) val () = ( case+ s2ess of | list_nil () => () | list_cons _ => let val () = prstr ("; ") in fprint_s2explstlst (out, s2ess) end // end of [list_cons] ) : void // end of [val] val () = prstr ")" } (* end of [S2Eextype] *) | S2Eextkind (name, s2ess) => { val () = prstr "S2Eextkind(" val () = fprint_string (out, name) val () = ( case+ s2ess of | list_nil () => () | list_cons _ => let val () = prstr ("; ") in fprint_s2explstlst (out, s2ess) end // end of [list_cons] ) : void // end of [val] val () = prstr ")" } (* end of [S2Eextype] *) // | S2Evar (x) => { val () = prstr "S2Evar(" val () = fprint_s2var (out, x) val ((*closing*)) = prstr ")" } (* end of [S2Evar] *) | S2EVar (X) => { val () = prstr "S2EVar(" val () = fprint_s2Var (out, X) val ((*closing*)) = prstr ")" } (* end of [S2EVar] *) // | S2Ehole (s2h) => { val () = prstr "S2Ehole(" val () = fprint_s2hole (out, s2h) val ((*closing*)) = prstr ")" } (* end of [S2Ehole] *) // | S2Edatcontyp (d2c, arg) => { val () = prstr "S2Edatcontyp(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = fprint_s2explst (out, arg) val ((*closing*)) = prstr ")" } // end of [S2Edatcontyp] | S2Edatconptr (d2c, rt, arg) => { val () = prstr "S2Edatconptr(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = fprint_s2exp (out, rt) val () = prstr "; " val () = fprint_s2explst (out, arg) val ((*closing*)) = prstr ")" } // end of [S2Edatconptr] // | S2Eat (s2e1, s2e2) => { val () = prstr "S2Eat(" val () = fprint_s2exp (out, s2e1) val () = prstr ", " val () = fprint_s2exp (out, s2e2) val () = prstr ")" } (* end of [S2Eat] *) | S2Esizeof (s2e) => { val () = prstr "S2Esizeof(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [S2Esizeof] // | S2Eeff (s2fe) => { val () = prstr "S2Eeff(" val () = fprint_s2eff (out, s2fe) val () = prstr ")" } (* end of [S2Eeff] *) | S2Eeqeq (s2e1, s2e2) => { val () = prstr "S2Eeqeq(" val () = fprint_s2exp (out, s2e1) val () = prstr "; " val () = fprint_s2exp (out, s2e2) val () = prstr ")" } (* end of [S2Eeqeq] *) // | S2Eproj ( s2ae, s2te, s2ls ) => { val () = prstr "S2Eproj(" val () = fprint_s2exp (out, s2ae) val () = prstr "; " val () = fprint_s2exp (out, s2te) val () = prstr "; " val () = fprint_s2lablst (out, s2ls) val () = prstr ")" } // end of [S2Eproj] // | S2Eapp ( s2e_fun, s2es_arg ) => { val () = prstr "S2Eapp(" val () = fprint_s2exp (out, s2e_fun) val () = prstr "; " val () = fprint_s2explst (out, s2es_arg) val () = prstr ")" } // end of [S2Eapp] // | S2Elam ( s2vs_arg, s2e_body ) => { val () = prstr "S2Elam(" val () = fprint_s2varlst (out, s2vs_arg) val () = prstr "; " val () = fprint_s2exp (out, s2e_body) val () = prstr ")" } // end of [S2Elam] // | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => { val () = prstr "S2Efun(" val () = fprint_funclo (out, fc) val () = prstr "; " val () = fprintf (out, "lin=%i", @(lin)) val () = prstr "; " val () = prstr "eff=" val () = fprint_s2eff (out, s2fe) val () = prstr "; " val () = fprintf (out, "npf=%i", @(npf)) val () = prstr "; " val () = fprint_s2explst (out, s2es_arg) val () = prstr "; " val () = fprint_s2exp (out, s2e_res) val () = prstr ")" } (* end of [S2Efun] *) // | S2Emetfun ( opt, s2es_met, s2e_body ) => { val () = prstr "S2Emetfun(" val () = fprint_s2explst (out, s2es_met) val () = prstr "; " val () = ( case+ opt of | Some stamp => $STMP.fprint_stamp (out, stamp) | None () => () ) // end of [val] val () = prstr "; " val () = fprint_s2exp (out, s2e_body) val () = prstr ")" } (* end of [S2Emetfun] *) // | S2Emetdec (s2es1, s2es2) => { val () = prstr "S2Emetdec((" val () = fprint_s2explst (out, s2es1) val () = prstr ") < (" val () = fprint_s2explst (out, s2es2) val () = prstr "))" } (* end of [S2Emetdec] *) // | S2Etop (knd, s2e) => { val () = prstr "S2Etop(" val () = fprintf (out, "knd=%i", @(knd)) val () = prstr "; " val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [S2Etop] | S2Ewithout (s2e) => { val () = prstr "S2Ewithout(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // | S2Etyarr ( s2e_elt, s2es_dim ) => { val () = prstr "S2Etyarr(" val () = fprint_s2exp (out, s2e_elt) val () = prstr "; " val () = fprint_s2explst (out, s2es_dim) val () = prstr ")" } // end of [S2Etyarr] | S2Etyrec ( knd, npf, ls2es ) => { val () = prstr "S2Etyrec(" val () = fprint_tyreckind (out, knd) val () = prstr "; " val () = fprintf (out, "npf=%i", @(npf)) val () = prstr "; " val () = fprint_labs2explst (out, ls2es) val () = prstr ")" } // end of [S2Etyrec] // | S2Einvar (s2e) => { val () = prstr "S2Einvar(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [S2Einvar] // | S2Erefarg (knd, s2e) => { // knd=0/1:val/ref val () = prstr "S2Erefarg(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_s2exp (out, s2e) val () = prstr ")" } (* end of [S2Erefarg] *) // | S2Evararg (s2e) => { val () = prstr "S2Evararg(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [S2Evararg] // | S2Eexi ( s2vs, s2ps, s2e ) => { val () = prstr "S2Eexi(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_s2explst (out, s2ps) val () = prstr "; " val () = fprint_s2exp (out, s2e) val () = prstr ")" } (* end of [S2Eexi] *) | S2Euni ( s2vs, s2ps, s2e ) => { val () = prstr "S2Euni(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_s2explst (out, s2ps) val () = prstr "; " val () = fprint_s2exp (out, s2e) val ((*closing*)) = prstr ")" } (* end of [S2Euni] *) // | S2Ewthtype (s2e, ws2es) => { val () = prstr "S2Ewth(" val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = fprint_wths2explst (out, ws2es) val ((*closing*)) = prstr ")" } (* end of [S2Ewthtype] *) // | S2Eerr () => prstr "S2Eerr()" // (* | _ => prstr "S2E...(...)" *) // end // end of [fprint_s2exp] (* ****** ****** *) implement print_s2explst (xs) = fprint_s2explst (stdout_ref, xs) implement prerr_s2explst (xs) = fprint_s2explst (stderr_ref, xs) implement fprint_s2explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2exp) // end of [fprint_s2explst] (* ****** ****** *) implement fprint_s2expopt (out, opt) = let macdef prstr (s) = fprint_string (out, ,(s)) in case+ opt of | Some (s2e) => ( prstr "Some("; fprint_s2exp (out, s2e); prstr ")" ) // end of [Some] | None () => prstr "None()" end // end of [fprint_s2expopt] implement print_s2expopt (opt) = fprint_s2expopt (stdout_ref, opt) implement prerr_s2expopt (opt) = fprint_s2expopt (stderr_ref, opt) (* ****** ****** *) implement fprint_s2explstlst (out, xss) = $UT.fprintlst (out, xss, "; ", fprint_s2explst) // end of [fprint_s2explstlst] (* ****** ****** *) implement fprint_s2explstopt (out, opt) = let macdef prstr (s) = fprint_string (out, ,(s)) in case+ opt of | Some (s2es) => ( prstr "Some("; fprint_s2explst (out, s2es); prstr ")" ) // end of [Some] | None () => () end // end of [fprint_s2explstopt] (* ****** ****** *) extern fun fprint_labs2exp : fprint_type (labs2exp) implement fprint_labs2exp (out, x) = { val SLABELED (l, name, s2e) = x val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "=") val () = fprint_s2exp (out, s2e) } // end of [fprint_labs2exp] implement fprint_labs2explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labs2exp) // end of [fprint_labs2explst] (* ****** ****** *) implement fprint_wths2explst (out, ws2es) = let // fun loop ( out: FILEref, xs: wths2explst, i: int ) : void = let in // case+ xs of | WTHS2EXPLSTnil () => () | WTHS2EXPLSTcons_invar (k, x, xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprint_string (out, "invar(") val () = fprint_int (out, k) val () = fprint_string (out, "; ") val () = fprint_s2exp (out, x) val () = fprint_string (out, ")") in loop (out, xs, i + 1) end // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (k, x, xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprint_string (out, "trans(") val () = fprint_int (out, k) val () = fprint_string (out, "; ") val () = fprint_s2exp (out, x) val () = fprint_string (out, ")") in loop (out, xs, i + 1) end // end of [WTHS2EXPLSTcons_trans] | WTHS2EXPLSTcons_none (xs) => let val () = if i > 0 then fprint_string (out, ", ") val () = fprintf (out, "none()", @()) in loop (out, xs, i + 1) end // end of [WTHS2EXPLSTcons_none] // end // end of [loop] // in loop (out, ws2es, 0) end // end of [fprint_wths2explst] (* ****** ****** *) implement fprint_s2lab (out, s2l) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s2l of | S2LABlab (lab) => { val () = prstr "S2LABlab(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } | S2LABind (ind) => { val () = prstr "S2LABind(" val () = $UT.fprintlst (out, ind, ", ", fprint_s2exp) val () = prstr ")" } // end // end of [fprint_s2lab] implement print_s2lab (x) = fprint_s2lab (stdout_ref, x) implement prerr_s2lab (x) = fprint_s2lab (stderr_ref, x) implement fprint_s2lablst (out, xs) = $UT.fprintlst (out, xs, " ,", fprint_s2lab) // end of [fprint_s2lablst] (* ****** ****** *) implement fprint_s2eff (out, s2fe) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s2fe of | S2EFFset (efs) => { val () = prstr "S2EFFset(" val () = $EFF.fprint_effset (out, efs) val () = prstr ")" } // end of [S2EFFset] | S2EFFexp (s2e) => { val () = prstr "S2EFFexp(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [S2EFFexp] | S2EFFadd (s2fe1, s2fe2) => { val () = prstr "S2EFFadd(" val () = fprint_s2eff (out, s2fe1) val () = prstr ", " val () = fprint_s2eff (out, s2fe2) val () = prstr ")" } // end of [S2EFFadd] // end // end of [s2eff] implement print_s2eff (x) = fprint_s2eff (stdout_ref, x) implement prerr_s2eff (x) = fprint_s2eff (stderr_ref, x) (* ****** ****** *) implement fprint_s2qua (out, s2q) = { val () = fprint_s2varlst (out, s2q.s2qua_svs) val () = fprint_string (out, "; ") val () = fprint_s2explst (out, s2q.s2qua_sps) } // end of [fprint_s2qua] implement fprint_s2qualst (out, s2qs) = $UT.fprintlst (out, s2qs, "; ", fprint_s2qua) // end of [fprint_s2qualst] implement print_s2qualst (xs) = fprint_s2qualst (stdout_ref, xs) implement prerr_s2qualst (xs) = fprint_s2qualst (stderr_ref, xs) (* ****** ****** *) implement fprint_s2rtext (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x of | S2TEsrt (s2t) => { val () = prstr "S2TEsrt(" val () = fprint_s2rt (out, s2t) val () = prstr ")" } | S2TEsub _ => { val () = prstr "S2TEsub(" val () = fprint_string (out, "...") val () = prstr ")" } | S2TEerr () => prstr "S2TEerr()" // end // end of [fprint_s2rtext] (* ****** ****** *) implement fprint_s2exparg (out, s2a) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s2a.s2exparg_node of | S2EXPARGone () => prstr "S2EXPARGone()" | S2EXPARGall () => prstr "S2EXPARGall()" | S2EXPARGseq (s2es) => { val () = prstr "S2EXPARGseq(" val () = fprint_s2explst (out, s2es) val () = prstr ")" } // end of [S2EXPARGseq] // end // end of [fprint_s2exparg] implement fprint_s2exparglst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2exparg) // end of [fprint_s2exparglst] (* ****** ****** *) implement fprint_sp2at (out, sp2t) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ sp2t.sp2at_node of | SP2Tcon (s2c, s2vs) => { val () = prstr "SP2Tcon(" val () = fprint_s2cst (out, s2c) val () = prstr "; " val () = fprint_s2varlst (out, s2vs) val () = prstr ")" } // end of [SP2Tcon] | SP2Terr () => prstr "SP2Terr()" // end // end of [fprint_sp2at] (* ****** ****** *) (* end of [pats_staexp2_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_util.dats0000664000175000017500000002317412655455557020140 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_lexing.sats" // for tokenizing staload "./pats_tokbuf.sats" // for token buffering (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) implement tokbuf_set_ntok_null (buf, n0) = let val () = tokbuf_set_ntok (buf, n0) in synent_null () end // end of [tokbuf_set_ntok_null] (* ****** ****** *) implement ptoken_fun ( buf, bt, err, f, enode ) = let val tok = tokbuf_get_token (buf) in if f (tok.token_node) then let val () = tokbuf_incby1 (buf) in tok end else let val loc = tok.token_loc val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, enode) in $UN.cast{token}(null) end // end of [_] // end // end of [ptoken_fun] (* ****** ****** *) implement ptoken_test_fun (buf, f) = let val tok = tokbuf_get_token (buf) in if f (tok.token_node) then let val () = tokbuf_incby1 (buf) in true end else false end // end of [ptoken_test_fun] (* ****** ****** *) implement ptokentopt_fun (buf, f1, f2) = let val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) in if f1 (tok.token_node) then let val () = tokbuf_incby1 (buf) var err: int = 0 val ent = f2 (buf, 0(*bt*), err) in if err = 0 then Some_vt (ent) else let val () = tokbuf_set_ntok (buf, n0) in None_vt () end (* end of [if] *) end else None_vt () end // end of [ptokentopt_fun] (* ****** ****** *) // // HX: looping if [f] is nullable! // implement pstar_fun{a} (buf, bt, f) = let // vtypedef res_vt = List_vt (a) // fun loop ( buf: &tokbuf , res: &res_vt? >> res_vt , err: &int ) : void = let val x = f (buf, 1(*bt*), err) in case+ 0 of | _ when err > 0 => let val () = res := list_vt_nil in // nothing end | _ => let val () = res := list_vt_cons{a}{0}(x, ?) val+list_vt_cons (_, !p_res1) = res val ((*void*)) = loop (buf, !p_res1, err) prval ((*void*)) = fold@ (res) in // nothing end (* end of [_] *) end // end of [loop] var res: res_vt var err: int = 0 val () = loop (buf, res, err) in res (* properly ordered *) end // end of [pstar_fun] (* ****** ****** *) // // HX: looping if [f] is nullable! // implement pstar_sep_fun{a} (buf, bt, sep, f) = let // vtypedef res_vt = List_vt (a) // fun loop ( buf: &tokbuf , res: &res_vt? >> res_vt , err: &int ) : void = let val n0 = tokbuf_get_ntok (buf) in if sep (buf) then let val x = f (buf, 0(*bt*), err) in case+ 0 of | _ when err > 0 => let val () = tokbuf_set_ntok (buf, n0) val () = res := list_vt_nil () in // nothing end | _ => let val () = res := list_vt_cons{a}{0}(x, ?) // end of [val] val+list_vt_cons (_, !p_res1) = res val () = loop (buf, !p_res1, err) prval () = fold@ (res) in // nothing end end else ( res := list_vt_nil () ) // end of [val] end // end of [loop] var res: res_vt var err: int = 0 val () = loop (buf, res, err) in res (* properly ordered *) end // end of [pstar_sep_fun] (* ****** ****** *) implement pstar_COMMA_fun (buf, bt, f) = pstar_sep_fun (buf, bt, p_COMMA_test, f) // end of [pstar_COMMA_fun] (* ****** ****** *) implement pstar_fun0_sep (buf, bt, f, sep) = let var err: int = 0 val x0 = f (buf, 1(*bt*), err) in // case+ 0 of | _ when err > 0 => list_vt_nil () // HX: normal | _ => let val xs = pstar_sep_fun (buf, 1(*bt*), sep, f) in list_vt_cons (x0, xs) end // end of [_] // end // end of [pstar_fun0_sep] (* ****** ****** *) implement pstar_fun0_BAR (buf, bt, f) = pstar_fun0_sep (buf, bt, f, p_BAR_test) // end of [pstar_fun0_BAR] implement pstar_fun0_COMMA (buf, bt, f) = pstar_fun0_sep (buf, bt, f, p_COMMA_test) // end of [pstar_fun0_COMMA] implement pstar_fun0_SEMICOLON (buf, bt, f) = pstar_fun0_sep (buf, bt, f, p_SEMICOLON_test) // end of [pstar_fun0_SEMICOLON] implement pstar_fun0_BARSEMI (buf, bt, f) = pstar_fun0_sep (buf, bt, f, p_BARSEMI_test) // end of [pstar_fun0_BARSEMI] (* ****** ****** *) implement pstar_fun1_sep ( buf, bt, err, f, sep ) = let val x0 = f (buf, bt, err) in // case+ 0 of | _ when synent_isnot_null(x0) => let val xs = pstar_sep_fun (buf, 1(*bt*), sep, f) // end of [val] in list_vt_cons (x0, xs) end | _ => let val () = err := err + 1 in list_vt_nil((*error*)) end (* end of [_] *) // end // end of [pstar_fun1_sep] (* ****** ****** *) implement pstar_fun1_AND (buf, bt, err, f) = pstar_fun1_sep (buf, bt, err, f, p_AND_test) // end of [pstar_fun1_AND] (* ****** ****** *) implement pstar1_fun ( buf, bt, err, f ) = let val x0 = f (buf, bt, err) in // case+ 0 of | _ when synent_isnot_null (x0) => let val xs = pstar_fun (buf, 1(*bt*), f) in list_vt_cons (x0, xs) end | _ => let val () = err := err + 1 in list_vt_nil () end (* end of [_] *) // end // end of [pplus_fun] (* ****** ****** *) implement popt_fun{a} (buf, bt, f) = let var err: int = 0 val x = f (buf, 1(*bt*), err) in if err = 0 then Some_vt (x) else None_vt () end // end of [popt_fun] (* ****** ****** *) implement pseq2_fun{a1,a2} ( buf, bt, err, f1, f2 ) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = f1(buf, bt, err) // val bt = 0 // val ent2 = ( if err <= err0 then f2(buf, bt, err) else synent_null() // end of [if] ) : a2 // end of [val] // val () = if (err > err0) then tokbuf_set_ntok(buf, n0) // end of [val] // in SYNENT2 (ent1, ent2) end // end of [pseq2_fun] (* ****** ****** *) implement pseq3_fun{a1,a2,a3} ( buf, bt, err, f1, f2, f3 ) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = f1(buf, bt, err) // val bt = 0 // val ent2 = ( if err <= err0 then f2 (buf, bt, err) else synent_null() // end of [if] ) : a2 // end of [val] val ent3 = ( if err <= err0 then f3 (buf, bt, err) else synent_null() // end of [if] ) : a3 // end of [val] // val ((*error*)) = if (err > err0) then tokbuf_set_ntok(buf, n0) // end of [val] // in SYNENT3 (ent1, ent2, ent3) end // end of [pseq3_fun] (* ****** ****** *) implement ptest_fun{a} (buf, f, ent) = let var err: int = 0 val () = ent := synent_encode (f (buf, 1(*bt*), err)) in err = 0 end // end of [ptest_fun] (* ****** ****** *) implement list12_free (ent) = ( case+ ent of | ~LIST12one xs => list_vt_free (xs) | ~LIST12two (xs1, xs2) => (list_vt_free (xs1); list_vt_free (xs2)) ) (* end of [list12_free] *) (* ****** ****** *) implement plist12_fun {a}(buf, bt, f) = let // val xs1 = pstar_fun0_COMMA{a}(buf, bt, f) // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_BAR () => let val () = incby1 () val xs2 = pstar_fun0_COMMA{a}(buf, bt, f) in LIST12two (xs1, xs2) end | _ => LIST12one (xs1) // end // end of [plist12_fun] (* ****** ****** *) implement p1list12_fun{a} (x, buf, bt, f) = let // val xs1 = pstar_sep_fun{a} (buf, bt, p_COMMA_test, f) // val xs1 = list_vt_cons{a}(x, xs1) // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_BAR () => let val () = incby1 () val xs2 = pstar_fun0_COMMA{a}(buf, bt, f) in LIST12two (xs1, xs2) end | _ (*non-BAR*) => LIST12one (xs1) // end // end of [p1list12_fun] (* ****** ****** *) implement pif_fun ( buf, bt, err, f, err0 ) = ( // if err <= err0 then f (buf, bt, err) else synent_null ((*void*)) // ) (* end of [pif_fun] *) (* ****** ****** *) implement ptokwrap_fun ( buf, bt, err, f, enode ) = x where { val err0 = err val () = err := 0 val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val x = f (buf, bt, err, tok) val () = if err > 0 then let val () = tokbuf_set_ntok (buf, n0) in the_parerrlst_add_ifnbt (bt, tok.token_loc, enode) end // end of [then] // end of [val] val () = err := err + err0 } (* end of [ptokwrap_fun] *) (* ****** ****** *) (* end of [pats_parsing_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_decl.dats0000664000175000017500000012263112655455557020070 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt (* ****** ****** *) (* d0atsrtdec ::= s0rtid EQ d0atsrtconseq *) fun p_d0atsrtdec ( buf: &tokbuf, bt: int, err: &int ) : d0atsrtdec = let val err0 = err typedef a1 = i0de typedef a2 = token typedef a3 = d0atsrtconlst val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {a1,a2,a3} (buf, bt, err, p_s0rtid, p_EQ, p_d0atsrtconseq) // end of [val] in if err = err0 then d0atsrtdec_make (ent1, ent2, ent3) else synent_null ((*okay*)) // end of [if] end // end of [p_d0atsrtdec] implement p_d0atsrtdecseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_d0atsrtdec) in l2l (xs) end // end of [p_d0atsrtdecseq] (* ****** ****** *) (* s0rtdef ::= s0rtid EQ s0rtext *) fun p_s0rtdef ( buf: &tokbuf, bt: int, err: &int ) : s0rtdef = let val err0 = err typedef a1 = i0de typedef a2 = token typedef a3 = s0rtext val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {a1,a2,a3} (buf, bt, err, p_s0rtid, p_EQ, p_s0rtext) // end of [val] in if (err = err0) then s0rtdef_make (ent1, ent3) else synent_null ((*okay*)) // end of [if] end // end of [p_s0rtdef] implement p_s0rtdefseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_s0rtdef) in l2l (xs) end // end of [p_s0rtdecseq] (* ****** ****** *) (* s0tacon ::= si0de a0msrtseq { EQ s0exp } *) fun p_s0tacon ( buf: &tokbuf, bt: int, err: &int ) : s0tacon = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun{a0msrt}(buf, bt, p_a0msrt) else list_vt_nil // end of [if] ) : a0msrtlst_vt val ent3 = pif_fun (buf, bt, err, p_eqs0expopt, err0) // in if err = err0 then s0tacon_make (ent1, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end (* end of [else] *) // end of [if] end // end of [p_s0tacon] implement p_s0taconseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_s0tacon) in l2l (xs) end // end of [p_s0taconseq] (* ****** ****** *) (* s0tacst ::= si0de a0msrtseq COLON s0rt *) fun p_s0tacst ( buf: &tokbuf, bt: int, err: &int ) : s0tacst = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun{a0msrt}(buf, bt, p_a0msrt) else list_vt_nil(*void*) // end of [if] ) : a0msrtlst_vt val ent3 = pif_fun (buf, bt, err, p_COLON, err0) // end of [val] val ent4 = pif_fun (buf, bt, err, p_s0rt, err0) // in if err = err0 then s0tacst_make (ent1, (l2l)ent2, ent4) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_s0tacst] implement p_s0tacstseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_s0tacst) in l2l (xs) end // end of [p_s0tacstseq] (* ****** ****** *) (* // // HX-2012-05-23: removed // (* s0tavar ::= si0de COLON s0rt *) fun p_s0tavar ( buf: &tokbuf, bt: int, err: &int ) : s0tavar = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = pif_fun (buf, bt, err, p_COLON, err0) val ent3 = pif_fun (buf, bt, err, p_s0rt, err0) // in if err = err0 then s0tavar_make (ent1, ent3) else tokbuf_set_ntok_null (buf, ntok0) // end of [if] end // end of [p_s0tavar] implement p_s0tavarseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_s0tavar) in l2l (xs) end // end of [p_s0tavarseq] *) (* ****** ****** *) (* t0kindef: si0de EQ s0tring *) fun p_t0kindef ( buf: &tokbuf, bt: int, err: &int ) : t0kindef = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = pif_fun (buf, bt, err, p_EQ, err0) val ent3 = pif_fun (buf, bt, err, p_s0tring, err0) // in if err = err0 then t0kindef_make (ent1, ent3) else tokbuf_set_ntok_null (buf, ntok0) // end of [if] end // end of [p_t0kindef] (* ****** ****** *) (* s0expdef | si0de s0margseq colons0rtopt EQ s0exp *) fun p_s0expdef ( buf: &tokbuf, bt: int, err: &int ) : s0expdef = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun (buf, bt, p_s0marg) else list_vt_nil(*void*) // end of [if] ) : s0marglst_vt // end of [val] val ent3 = pif_fun (buf, bt, err, p_colons0rtopt, err0) // end of [val] val ent4 = pif_fun (buf, bt, err, p_EQ, err0) val ent5 = pif_fun (buf, bt, err, p_s0exp, err0) // in if err = err0 then s0expdef_make (ent1, (l2l)ent2, ent3, ent5) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_s0expdef] implement p_s0expdefseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_s0expdef) in l2l (xs) end // end of [p_s0expdecseq] (* ****** ****** *) (* s0aspdec ::= sqi0de s0margseq colons0rtopt EQ s0exp *) fun p_s0aspdec ( buf: &tokbuf, bt: int, err: &int ) : s0aspdec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_sqi0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun (buf, bt, p_s0marg) else list_vt_nil(*void*) // end of [if] ) : s0marglst_vt val ent3 = pif_fun (buf, bt, err, p_colons0rtopt, err0) val ent4 = pif_fun (buf, bt, err, p_EQ, err0) val ent5 = pif_fun (buf, bt, err, p_s0exp, err0) // in if err = err0 then s0aspdec_make (ent1, (l2l)ent2, ent3, ent5) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_s0aspdec] (* ****** ****** *) (* e0xndecseq = e0xndec { AND e0xndec } *) implement p_e0xndecseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_e0xndec) in l2l (xs) end // end of [p_e0xndecseq] (* ****** ****** *) (* d0atdec ::= si0de a0msrtseq EQ d0atconseq *) fun p_d0atdec ( buf: &tokbuf, bt: int, err: &int ) : d0atdec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_si0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun {a0msrt} (buf, bt, p_a0msrt) else list_vt_nil () // end of [if] ) : a0msrtlst_vt // end of [val] val ent3 = pif_fun (buf, bt, err, p_EQ, err0) val ent4 = pif_fun (buf, bt, err, p_d0atconseq, err0) // in if err = err0 then d0atdec_make (ent1, (l2l)ent2, ent4) else let val () = err := err + 1 val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_d0atdec] implement p_d0atdecseq (buf, bt, err) = let val xs = pstar_fun1_AND (buf, bt, err, p_d0atdec) in l2l (xs) end // end of [p_d0atdecseq] (* ****** ****** *) (* d0cstdec ::= di0de d0cstargseq colonwith s0exp extnamopt *) fun p_d0cstdec ( buf: &tokbuf, bt: int, err: &int ) : d0cstdec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_di0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun (buf, bt, p_d0cstarg) else list_vt_nil(*void*) // end of [if] ) : List_vt (d0cstarg) val ent3 = pif_fun (buf, bt, err, p_colonwith, err0) val ent4 = pif_fun (buf, bt, err, p_s0exp, err0) val ent5 = pif_fun (buf, bt, err, p_extnamopt, err0) // in if err = err0 then d0cstdec_make (ent1, (l2l)ent2, ent3, ent4, ent5) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_d0cstdec] implement p_d0cstdecseq (buf, bt, err) = ( l2l (pstar_fun1_AND (buf, bt, err, p_d0cstdec)) ) (* end of [p_d0cstdecseq] *) (* ****** ****** *) (* s0ym ::= di0de | LBRACKET RBRACKET | DOT l0ab *) extern fun p_s0ym : parser (i0de) implement p_s0ym (buf, bt, err) = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_DOT () => let val bt = 0 val () = incby1 () val ent2 = p_l0ab (buf, bt, err) in if err = err0 then i0de_make_dotlab (tok, ent2) else tokbuf_set_ntok_null (buf, ntok0) // end of [if] end // end of [T_DOT] | T_LBRACKET () => let val bt = 0 val () = incby1 () val ent2 = p_RBRACKET (buf, bt, err) in if err = err0 then i0de_make_lrbrackets (tok, ent2) else tokbuf_set_ntok_null (buf, ntok0) // end of [if] end | _ => let val ent = p_di0de (buf, bt, err) in if err = err0 then ent else synent_null ((*okay*)) end // end of [_] // end // end of [p_s0ym] (* ****** ****** *) extern fun p_s0ymseq1 : parser (i0delst) implement p_s0ymseq1 (buf, bt, err) = let val xs = pstar1_fun (buf, bt, err, p_s0ym) in list_of_list_vt (xs) end // end of [p_s0ymseq1] (* ****** ****** *) extern fun p_m0acarg : parser (m0acarg) (* m0acarg ::= | pi0de | LBRACE s0argseq RBRACE | LPAREN pi0deseq RPAREN *) implement p_m0acarg (buf, bt, err) = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {s0arg} (buf, bt, p_s0arg) val ent3 = p_RBRACE (buf, bt, err) in if err = err0 then m0acarg_sta (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {i0de} (buf, bt, p_si0de) val ent3 = p_RPAREN (buf, bt, err) in if err = err0 then m0acarg_dyn (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [if] // end of [if] end | _ => let val ent1 = p_pi0de (buf, bt, err) in if err = err0 then m0acarg_sing (ent1) else tokbuf_set_ntok_null (buf, ntok0) // end of [if] end // end // end of [p_m0acarg] (* ****** ****** *) (* m0acdef ::= di0de m0acargseq EQ d0exp *) implement p_m0acdef (buf, bt, err) = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_di0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun (buf, bt, p_m0acarg) else list_vt_nil // end of [if] ) : List_vt (m0acarg) val ent3 = pif_fun (buf, bt, err, p_EQ, err0) val ent4 = pif_fun (buf, bt, err, p_d0exp, err0) // in if err = err0 then m0acdef_make (ent1, (l2l)ent2, ent4) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [p_m0acdef] (* ****** ****** *) (* stai0de ::= IDENT_alp *) // extern fun p_stai0de : parser (i0de) // implement p_stai0de (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_alp name => let val () = incby1 () val name = "$" + name // HX: each qualifier begins with '$' in i0de_make_string (loc, name) end | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_stai0de) in synent_null ((*okay*)) end // end // end of [p_stai0de] (* ****** ****** *) (* staloadarg = | s0tring // "...": filename | i0de_dlr // $...: namespace | { d0eclseq_dyn } // local declarations *) fun p_staloadarg ( buf: &tokbuf, bt: int, err: &int ) : staloadarg = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // | T_STRING (name) => let val () = incby1 () in STLDfname (loc, name) end // end of [T_STRING] // | T_IDENT_dlr (name) => let val () = incby1 () in STLDnspace (loc, name) end // end of [T_IDENT_dlr] // | T_LBRACE ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_d0eclseq_fun{d0ecl}(buf, bt, p_d0ecl_dyn) // end of [val] val ent3 = pif_fun{token}(buf, bt, err, p_RBRACE, err0) // end of [val] in if err = err0 then staloadarg_declist (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end (* end of [else] *) // end of [if] end // end of [T_LBRACE] // | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_staloadarg) in synent_null ((*okay*)) end // end of [let] // end of [_] // end // end of [p_staloadarg] (* ****** ****** *) (* staload ::= | s0tring | i0de_dlr | stai0de EQ staloadarg *) fun p_staload_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : d0ecl = let val err0 = err val tok2 = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok2.token_node of | T_STRING _ => let val () = incby1 () in d0ecl_staload_fname (tok, tok2) end // end of [T_STRING] | T_IDENT_dlr _ => let val () = incby1 () in d0ecl_staload_nspace (tok, tok2) end // end of [T_IDENT_dlr] | _ (*non-STR-IDENT*) => let val ent2 = p_stai0de (buf, bt, err) val bt = 0 // HX: backtracking is cancelled val ent3 = pif_fun (buf, bt, err, p_EQ, err0) val ent4 = pif_fun (buf, bt, err, p_staloadarg, err0) in if (err = err0) then d0ecl_staload_some_arg (tok, ent2, ent4) // end of [then] else let val d0c = synent_null((*okay*)) (* val ((*void*)) = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_staload) // end of [val] *) in d0c(*staload*) end // end of [else] // end of [if] end (* end of [_] *) // end // end of [p_staload_tok] (* ****** ****** *) (* srpifkind ::= SRPIF | SRPIFDEF | SRPIFNDEF *) fun p_srpifkind ( buf: &tokbuf, bt: int, err: &int ) : token = let val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_SRPIF () => let val () = incby1 () in tok end | T_SRPIFDEF () => let val () = incby1 () in tok end | T_SRPIFNDEF () => let val () = incby1 () in tok end | _ => let val () = err := err + 1 in synent_null ((*okay*)) end (* end of [_] *) // end // end of [p_srpifkind] (* srpelifkind ::= SRPELIF | SRPELIFDEF | SRPELIFNDEF *) fun p_srpelifkind ( buf: &tokbuf, bt: int, err: &int ) : token = let val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_SRPELIF () => let val () = incby1 () in tok end | T_SRPELIFDEF () => let val () = incby1 () in tok end | T_SRPELIFNDEF () => let val () = incby1 () in tok end | _ => let val () = err := err + 1 in synent_null ((*okay*)) end (* end of [_] *) // end // end of [p_srpelifkind] (* ****** ****** *) (* d0ecl | INFIX p0rec i0deseq | PREFIX p0rec i0deseq | POSTFIX p0rec i0deseq | NONFIX i0deseq | SYMINTR s0ymseq | SYMELIM s0ymseq | SRPUNDEF i0de | SRPDEFINE i0de e0xpopt | SRPERROR e0xp | SRPPRERR e0xp | SRPPRINT e0xp | SRPASSERT e0xp | DATASORT d0atsrtdecseq | STA s0tacstseq (* | STAVAR s0tavarseq // HX-2012-05-23: removed this big hack! *) | STADEF s0expdefseq | TYPEDEF s0expdefseq | ASSUME s0aspdec | EXCEPTION e0xndecseq | DATAYPE d0atdec andd0atdecseq {WHERE s0expdefseq} | MACDEF {REC} m0acdefseq | OVERLOAD [] WITH dqi0de {of INTEGER} | OVERLOAD s0ym WITH dqi0de {of INTEGER} | CLASSDEC si0de [EQ s0exp] | STALOAD staload *) fun p_d0ecl_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : d0ecl = let val err0 = err macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of // | T_FIXITY _ => let val bt = 0 val () = incby1 () val ent2 = p_p0rec (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_i0deseq1, err0) in if err = err0 then d0ecl_fixity (tok, ent2, ent3) else synent_null () // end of [if] end | T_NONFIX () => let val bt = 0 val () = incby1 () val ent2 = p_i0deseq1 (buf, bt, err) in if err = err0 then d0ecl_nonfix (tok, ent2) else synent_null () // end of [if] end // | T_SYMINTR () => let val bt = 0 val () = incby1 () val ent2 = p_s0ymseq1 (buf, bt, err) in if err = err0 then d0ecl_symintr (tok, ent2) else synent_null () // end of [if] end | T_SYMELIM () => let val bt = 0 val () = incby1 () val ent2 = p_s0ymseq1 (buf, bt, err) in if err = err0 then d0ecl_symelim (tok, ent2) else synent_null () // end of [if] end | T_OVERLOAD () => let val bt = 0 val () = incby1 () val ent1 = p_s0ym (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_WITH, err0) val ent3 = pif_fun (buf, bt, err, p_dqi0de, err0) val ent4 = ( if err = err0 then ptokentopt_fun (buf, is_OF, p_i0nt) else None_vt // end of [if] ) : Option_vt (i0nt) in if err = err0 then d0ecl_overload (tok, ent1, ent3, (t2t)ent4) else let val () = option_vt_free (ent4) in synent_null () end // end of [else] // end of [if] end (* T_OVERLOAD *) // | T_SRPUNDEF () => let val bt = 0 val () = incby1 () val ent2 = p_i0de (buf, bt, err) in if err = err0 then d0ecl_e0xpundef(tok, ent2) else synent_null() end // end of [#undef] | T_SRPDEFINE ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_i0de (buf, bt, err) val ent3 = ( if err = err0 then popt_fun{e0xp}(buf, bt, p_e0xp) else None_vt() ) : Option_vt (e0xp) // end of [val] in if err = err0 then let val ent3 = option_of_option_vt (ent3) // end of [val] in d0ecl_e0xpdef (tok, ent2, ent3) end // end of [then] else let val () = option_vt_free(ent3) in synent_null() end // end of [else] // end of [if] end // end of [#define] // | T_SRPERROR () => let val bt = 0 val () = incby1 () val ent2 = p_e0xp (buf, bt, err) in if err = err0 then d0ecl_e0xpact_error(tok, ent2) else synent_null() // end of [if] end | T_SRPPRERR () => let val bt = 0 val () = incby1 () val ent2 = p_e0xp (buf, bt, err) in if err = err0 then d0ecl_e0xpact_prerr(tok, ent2) else synent_null() // end of [if] end | T_SRPPRINT () => let val bt = 0 val () = incby1 () val ent2 = p_e0xp (buf, bt, err) in if err = err0 then d0ecl_e0xpact_print(tok, ent2) else synent_null() // end of [if] end // | T_SRPASSERT () => let val bt = 0 val () = incby1 () val ent2 = p_e0xp (buf, bt, err) in if err = err0 then d0ecl_e0xpact_assert(tok, ent2) else synent_null() // end of [if] end // | T_SRPREQUIRE () => let val bt = 0 val () = incby1 () val ent2 = p_s0tring (buf, bt, err) in if err = err0 then d0ecl_require (tok, ent2) else synent_null() // end of [if] end // end of [T_SRPREQUIRE] // | T_SRPPRAGMA ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_e0xpseq, err0) // end of [val] val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0ecl_pragma(ent2, ent3, ent4) else synent_null() // end of [if] end // end of [T_SRPCODEGEN2] // | T_SRPCODEGEN2 ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_e0xpseq, err0) // end of [val] val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0ecl_codegen2(ent2, ent3, ent4) else synent_null() // end of [if] end // end of [T_SRPCODEGEN2] // | T_SORTDEF () => let val bt = 0 val () = incby1 () val ent2 = p_s0rtdefseq (buf, bt, err) in if err = err0 then d0ecl_srtdefs (tok, ent2) else synent_null () end | T_DATASORT () => let val bt = 0 val () = incby1 () val ent2 = p_d0atsrtdecseq (buf, bt, err) in if err = err0 then d0ecl_datsrts (tok, ent2) else synent_null () end // | T_STACST () => let val bt = 0 val () = incby1 () val ent2 = p_s0tacstseq (buf, bt, err) in if err = err0 then d0ecl_stacsts (tok, ent2) else synent_null () end | T_ABSTYPE (knd) => let val bt = 0 val () = incby1 () val ent2 = p_s0taconseq (buf, bt, err) in if err = err0 then d0ecl_stacons (knd, tok, ent2) else synent_null () end (* | T_STAVAR () => let val bt = 0 val () = incby1 () val ent2 = p_s0tavarseq (buf, bt, err) in if err = err0 then d0ecl_stavars (tok, ent2) else synent_null () end *) // | T_TKINDEF () => let val bt = 0 val () = incby1 () val ent2 = p_t0kindef (buf, bt, err) in if err = err0 then d0ecl_tkindef (tok, ent2) else synent_null () end | T_STADEF () => let val bt = 0 val () = incby1 () val ent2 = p_s0expdefseq (buf, bt, err) in if err = err0 then d0ecl_sexpdefs (~1(*knd*), tok, ent2) else synent_null () // end of [if] end | T_TYPEDEF (knd) => let val bt = 0 val () = incby1 () val ent2 = p_s0expdefseq (buf, bt, err) in if err = err0 then d0ecl_sexpdefs (knd, tok, ent2) else synent_null () end | T_ASSUME () => let val bt = 0 val () = incby1 () val ent2 = p_s0aspdec (buf, bt, err) in if err = err0 then d0ecl_saspdec (tok, ent2) else synent_null () end | T_EXCEPTION () => let val bt = 0 val () = incby1 () val ent2 = p_e0xndecseq (buf, bt, err) in if err = err0 then d0ecl_exndecs (tok, ent2) else synent_null () end | T_DATATYPE (knd) => let val bt = 0 val () = incby1 () val ent2 = p_d0atdecseq (buf, bt, err) val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of | T_WHERE () => let val () = incby1 () val ent4 = p_s0expdefseq (buf, bt, err) in d0ecl_datdecs_some (knd, tok, ent2, tok2, ent4) end | _ => d0ecl_datdecs_none (knd, tok, ent2) end // | T_CLASSDEC () => let val bt = 0 val () = incby1 () val ent1 = p_si0de (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_colons0expopt, err0) in if err = err0 then d0ecl_classdec (tok, ent1, ent3) else synent_null() // end of [if] end // | T_MACDEF (knd) => let val bt = 0 val () = incby1 () var _ent: synent? val isr = ptest_fun (buf, p_REC, _ent) val ent3 = pstar_fun1_AND {m0acdef} (buf, bt, err, p_m0acdef) in if err = err0 then d0ecl_macdefs (knd, isr, tok, (l2l)ent3) else let val () = list_vt_free (ent3) in synent_null () end (* end of [else] *) // end of [if] end // | T_STALOAD () => let val bt = 0 val () = incby1 () in p_staload_tok (buf, bt, err, tok) end // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null () end // end of [case] end // end of [p_d0ecl_tok] (* ****** ****** *) implement p_d0ecl (buf, bt, err) = ptokwrap_fun (buf, bt, err, p_d0ecl_tok, PE_d0ecl) // end of [p_d0ecl] (* ****** ****** *) implement p_d0eclseq_fun {a}(buf, bt, f) = let // viewtypedef res_vt = List_vt (a) // fun loop ( buf: &tokbuf , res: &res_vt? >> res_vt , err: &int ) : void = let val x = f (buf, 1(*bt*), err) in case+ 0 of | _ when err > 0 => let val () = res := list_vt_nil in // nothing end | _ => () where { val () = res := list_vt_cons {a} {0} (x, ?) // end of [val] val+list_vt_cons (_, !p_res1) = res // val semilst = pstar_fun {token} (buf, 1(*bt*), p_SEMICOLON) val () = list_vt_free (semilst) // val () = loop (buf, !p_res1, err) prval () = fold@ (res) } // end of [where] // end of [_] end // end of [loop] // var res: res_vt var err: int = 0 val () = loop (buf, res, err) // in res (* properly ordered *) end // end of [p_d0eclseq_fun] (* ****** ****** *) (* guad0ecl_fun | e0xp [SRPTHEN] d0eclseq_fun SRPENDIF | e0xp [SRPTHEN] d0eclseq_fun SRPELSE d0eclseq_fun SRPENDIF | e0xp [SRPTHEN] d0eclseq_fun srpelifkind guad0ecl_fun *) fun guad0ecl_fun ( buf: &tokbuf , bt: int, err: &int, f: parser (d0ecl) ) : guad0ecl = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // val ent1 = p_e0xp (buf, bt, err) val bt = 0 val _(*ignored*) = ptest_fun (buf, p_SRPTHEN, ent) val ent3 = ( if err = err0 then p_d0eclseq_fun (buf, bt, f) else list_vt_nil () // end of [if] ) : List_vt (d0ecl) // val tok = tokbuf_get_token (buf) // in // if ( err = err0 ) then ( // case+ tok.token_node of | T_SRPENDIF ((*void*)) => let val () = incby1 () in guad0ecl_one (ent1, (l2l)ent3, tok) end | T_SRPELSE () => let val bt = 0 val () = incby1 () val ent5 = p_d0eclseq_fun {d0ecl} (buf, bt, f) val ent6 = p_SRPENDIF (buf, bt, err) in if err = err0 then guad0ecl_two (ent1, (l2l)ent3, (l2l)ent5, ent6) else let val () = list_vt_free (ent3) val () = list_vt_free (ent5) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end | _ when ptest_fun ( buf, p_srpelifkind, ent ) => let val bt = 0 val ent5 = guad0ecl_fun (buf, bt, err, f) in if err = err0 then guad0ecl_cons (ent1, (l2l)ent3, tok, ent5) else let val () = list_vt_free (ent3) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] end // end of [_ when ...] | _ => let val () = err := err + 1 val () = list_vt_free (ent3) val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_guad0ecl) in tokbuf_set_ntok_null (buf, ntok0) end // end of [_] // ) else let val () = list_vt_free (ent3) in tokbuf_set_ntok_null (buf, ntok0) end // end of [if] // end // end of [guad0ecl_fun] (* ****** ****** *) (* d0ecl_sta | d0ecl | dcstkind q0margseq d0cstdecseq | LITERAL_extcode | SRPINCLUDE LITERAL_string | LOCAL d0eclseq_sta IN d0eclseq_sta END | srpifkind guad0ecl_sta *) fun p_d0ecl_sta_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : d0ecl = let val err0 = err var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_d0ecl, ent ) => synent_decode (ent) | _ when ptest_fun ( buf, p_dcstkind, ent ) => let val bt = 0 val ent1 = synent_decode {token} (ent) val ent2 = p_q0margseq (buf, bt, err) val ent3 = p_d0cstdecseq (buf, bt, err) in if err = err0 then d0ecl_dcstdecs (ent1, ent2, ent3) else synent_null () // end of [if] end // end of [_ when ...] // | T_EXTCODE _ => let val () = incby1 () in d0ecl_extcode (0(*sta*), tok) end // end of [T_EXTCODE] // | T_SRPINCLUDE () => let val bt = 0 val () = incby1 () val ent2 = p_s0tring (buf, bt, err) in if err = err0 then d0ecl_include (0(*sta*), tok, ent2) else synent_null () // end of [if] end // end of [T_SRPINCLUDE] // | _ when ptest_fun ( buf, p_srpifkind, ent ) => let val bt = 0 val ent1 = synent_decode{token}(ent) val ent2 = guad0ecl_fun (buf, bt, err, p_d0ecl_sta) in if err = err0 then d0ecl_guadecl (ent1, ent2) else synent_null () // end of [if] end // end of [_ when ...] // | T_LOCAL () => let val bt = 0 val () = incby1 () val ent2 = p_d0eclseq_fun{d0ecl}(buf, bt, p_d0ecl_sta) val ent3 = p_IN (buf, bt, err) val ent4 = ( if err = err0 then p_d0eclseq_fun (buf, bt, p_d0ecl_sta) else list_vt_nil () // end of [if] ) : d0eclist_vt // end of [val] val ent5 = pif_fun (buf, bt, err, p_END, err0) in if err = err0 then d0ecl_local (tok, (l2l)ent2, (l2l)ent4, ent5) else let val () = list_vt_free (ent2) val () = list_vt_free (ent4) in synent_null ((*okay*)) end // end of [else] // end of [if] end // end of [T_LOCAL] // | _ => let val () = err := err + 1 in synent_null () end // end of [_] // end // end of [p_d0ecl_sta_tok] implement p_d0ecl_sta (buf, bt, err) = ptokwrap_fun (buf, bt, err, p_d0ecl_sta_tok, PE_d0ecl_sta) // end of [p_d0ecl_sta] (* ****** ****** *) (* v0aldec ::= p0at EQ d0exp witht0ype *) fun p_v0aldec ( buf: &tokbuf, bt: int, err: &int ) : v0aldec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_p0at (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_EQ, err0) val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) val ent4 = pif_fun (buf, bt, err, p_witht0ype, err0) // in // if err = err0 then v0aldec_make (ent1, ent3, ent4) else tokbuf_set_ntok_null (buf, ntok0) // end // end of [p_v0aldec] (* ****** ****** *) (* f0undec ::= di0de f0argseq {colonwith s0exp} EQ d0exp witht0ype *) fun p_f0undec ( buf: &tokbuf, bt: int, err: &int ) : f0undec = let val err0 = err var ent: synent? in // case+ 0 of | _ when ptest_fun ( buf, p_di0de, ent ) => let val bt = 0 val ent1 = synent_decode {i0de} (ent) val ent2 = pstar_fun {f0arg} (buf, bt, p_f0arg1) val+~SYNENT2 (ent3, ent4) = pseq2_fun {e0fftaglstopt,s0exp} (buf, 1(*bt*), err, p_colonwith, p_s0exp) // end of [val] val ent3 = (if (err = err0) then ent3 else None ()): e0fftaglstopt val ent4 = (if (err = err0) then Some (ent4) else None ()): s0expopt val () = if err > err0 then (err := err0) // anntationless val+~SYNENT3 (ent5, ent6, ent7) = pseq3_fun {token,d0exp,witht0ype} (buf, bt, err, p_EQ, p_d0exp, p_witht0ype) // end of [val] in if err = err0 then f0undec_make (ent1, (l2l)ent2, ent3, ent4, ent6, ent7) else let val () = list_vt_free (ent2) in synent_null () end // end of [if] end | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_f0undec] (* ****** ****** *) (* v0ardec ::= {BANG} pi0de {COLON s0exp} {WITH pi0de} {EQ d0exp} *) fun p_v0ardec ( buf: &tokbuf, bt: int, err: &int ) : v0ardec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ref = popt_fun {token} (buf, bt, p_BANG) val pid = p_pi0de (buf, bt, err) val ann = pif_fun (buf, bt, err, p_colons0expopt, err0) val varwth = ( if err = err0 then ptokentopt_fun (buf, is_WITH, p_pi0de) else None_vt () // end of [if] ) : Option_vt (i0de) val def = pif_fun (buf, bt, err, p_eqd0expopt, err0) // in // if err = err0 then // succ v0ardec_make ((t2t)ref, pid, (t2t)varwth, ann, def) else let // fail val () = option_vt_free (ref) val () = option_vt_free (varwth) in tokbuf_set_ntok_null (buf, ntok0) end // end of [else] // end of [if] // end // end of [p_v0ardec] (* ****** ****** *) (* i0mpsvararg ::= LBRACE s0vararg RBRACE *) fun p_i0mpsvararg ( buf: &tokbuf, bt: int, err: &int ) : s0vararg = let val err0 = err typedef a1 = token typedef a2 = s0vararg typedef a3 = token val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {a1,a2,a3} (buf, bt, err, p_LBRACE, p_s0vararg, p_RBRACE) // end of [val] in if err = err0 then ent2 else synent_null ((*okay*)) end // end of [p_i0mpsvararg] (* i0mparg ::= LPAREN {s0arg}* RPAREN | {i0mpsvararg}* *) fun p_i0mparg ( buf: &tokbuf, bt: int, err: &int ) : i0mparg = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of | T_LBRACE () => let val ent = pstar_fun {s0vararg} (buf, bt, p_i0mpsvararg) in i0mparg_svararglst ((l2l)ent) end (* end of [_] *) | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA {s0arg} (buf, bt, p_s0arg) val ent3 = p_RPAREN (buf, bt, err) in if err = err0 then i0mparg_sarglst_some (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end (* end of [else] *) // end of [if] end | _ => i0mparg_sarglst_none () // end // end of [p_i0mparg] (* ****** ****** *) // (* impqi0de ::= | dqi0de | tmpqi0de tmps0expseq_gtlt GT *) // fun p_impqi0de ( buf: &tokbuf, bt: int, err: &int ) : impqi0de = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val tok = tokbuf_get_token (buf) var ent: synent? // uninitized // in case+ 0 of | _ when ptest_fun ( buf, p_dqi0de, ent ) => let val qid = synent_decode{dqi0de}(ent) in impqi0de_make_none(qid) end // end of [dqi0de] | _ when ptest_fun ( buf, p_tmpqi0de, ent ) => let val bt = 0 val ent1 = synent_decode {dqi0de} (ent) val ent2 = pstar_fun1_sep{t0mpmarg}(buf, bt, err, p_tmps0expseq, p_GTLT_test) val ent3 = p_GT (buf, bt, err) in if err = err0 then impqi0de_make_some (ent1, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null(buf, ntok0) end (* end of [else] *) // end of [if] end // end of [tmpqi0de] | _ (*rest-of-token*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_impqi0de) in synent_null((*void*)) end end // end of [p_impqi0de] (* ****** ****** *) // (* i0mpdec ::= | impqi0de f0arg2seq colons0expopt EQ d0exp *) // fun p_i0mpdec ( buf: &tokbuf, bt: int, err: &int ) : i0mpdec = let // val err0 = err val ntok0 = tokbuf_get_ntok (buf) // val ent1 = p_impqi0de (buf, bt, err) val bt = 0 val ent2 = ( if err = err0 then pstar_fun{f0arg}(buf, bt, p_f0arg2) else list_vt_nil(*void*) // end of [if] ) : f0arglst_vt val ent3 = pif_fun (buf, bt, err, p_colons0expopt, err0) val ent4 = pif_fun (buf, bt, err, p_EQ, err0) val ent5 = pif_fun (buf, bt, err, p_d0exp, err0) // in if err = err0 then i0mpdec_make (ent1, (l2l)ent2, ent3, ent5) else let val () = list_vt_free (ent2) in tokbuf_set_ntok_null (buf, ntok0) end (* end of [else] *) // end of [if] end // end of [p_i0mpdec] (* ****** ****** *) // (* d0ec_dyn | d0ec | valkind {REC} v0aldecseq | funkind q0margseq f0undecseq | VAR v0ardecseq // | IMPLEMENT i0mpargseq i0mpdec // | EXTERN VAR LITERAL_string EQ d0exp | EXTERN TYPEDEF s0tring EQ s0exp | EXTERN dcstkind q0margseq d0cstdecseq | LITERAL_extcode | SRPINCLUDE LITERAL_string | DYNLOAD LITERAL_string | LOCAL d0ecseq_dyn IN d0ecseq_dyn END | srpifkind guad0ec_dyn *) // fun p_d0ecl_dyn_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : d0ecl = let val err0 = err var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_d0ecl, ent ) => synent_decode {d0ecl} (ent) | T_VAL (knd) => let val bt = 0 val () = incby1 () val isrec = p_REC_test (buf) val ent3 = pstar_fun1_AND {v0aldec} (buf, bt, err, p_v0aldec) in if err = err0 then d0ecl_valdecs (knd, isrec, tok, (l2l)ent3) else let val () = list_vt_free (ent3) in synent_null () end // end of [if] end // end of [T_VAL] | T_FUN (knd) => let val bt = 0 val () = incby1 () val ent2 = pstar_fun {q0marg} (buf, bt, p_q0marg) val ent3 = pstar_fun1_AND {f0undec} (buf, bt, err, p_f0undec) in if err = err0 then d0ecl_fundecs (knd, tok, (l2l)ent2, (l2l)ent3) else let val () = list_vt_free (ent2) val () = list_vt_free (ent3) in synent_null ((*okay*)) end (* end of [else] *) // end of [if] end // end of [T_FUN] | T_VAR (knd) => let val bt = 0 val () = incby1 () val ent2 = pstar_fun1_AND {v0ardec} (buf, bt, err, p_v0ardec) in if err = err0 then d0ecl_vardecs (knd, tok, (l2l)ent2) else let val () = list_vt_free (ent2) in synent_null ((*okay*)) end (* end of [else] *) // end of [if] end // end of [T_VAR] // | T_IMPLEMENT (knd) => let val bt = 0 val () = incby1 () val ent2 = p_i0mparg (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_i0mpdec, err0) in if err = err0 then d0ecl_impdec (tok, ent2, ent3) else synent_null () // (* end of [if] *) end // end of [T_IMPLEMENT] // | T_EXTCODE _ => let val () = incby1 () in d0ecl_extcode (1(*dyn*), tok) end // end of [T_EXTCODE] // | T_EXTERN () => let val bt = 0 val () = incby1 () val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of // | _ when ptest_fun ( buf, p_dcstkind, ent ) => let val ent1 = synent_decode {token} (ent) val ent2 = pif_fun (buf, bt, err, p_q0margseq, err0) val ent3 = pif_fun (buf, bt, err, p_d0cstdecseq, err0) in if err = err0 then d0ecl_dcstdecs_extern (ent1, ent2, ent3) else synent_null () // end of [if] end // end of [...] // | T_VAR _ => let val () = incby1 () val+~SYNENT3(ent1, ent2, ent3) = pseq3_fun{s0tring,token,d0exp} (buf, bt, err, p_s0tring, p_EQ, p_d0exp) // end of [val] in if err = err0 then d0ecl_extvar2 (tok2, ent1, ent3) else synent_null () // end of [if] end // end of [T_VAR] | T_TYPEDEF _ => let val () = incby1 () val+~SYNENT3(ent1, ent2, ent3) = pseq3_fun{s0tring,token,s0exp} (buf, bt, err, p_s0tring, p_EQ, p_s0exp) // end of [val] in if err = err0 then d0ecl_extype2 (tok2, ent1, ent3) else synent_null () // end of [if] end // end of [T_TYPEDEF] // | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [T_EXTERN] // | T_EXTYPE () => let val () = incby1 () val+~SYNENT3(ent1, ent2, ent3) = pseq3_fun{s0tring,token,s0exp} (buf, bt, err, p_s0tring, p_EQ, p_s0exp) // end of [val] in if err = err0 then d0ecl_extype (tok, ent1, ent3) else synent_null () // end of [if] end // end of [T_EXTYPE] // | T_EXTVAR () => let val () = incby1 () val+~SYNENT3(ent1, ent2, ent3) = pseq3_fun{s0tring,token,d0exp} (buf, bt, err, p_s0tring, p_EQ, p_d0exp) // end of [val] in if err = err0 then d0ecl_extvar (tok, ent1, ent3) else synent_null () // end of [if] end // end of [T_EXTVAR] // | T_DYNLOAD () => let val bt = 0 val () = incby1 () val ent2 = p_s0tring (buf, bt, err) in if err = err0 then d0ecl_dynload (tok, ent2) else synent_null () end // end of [T_DYNLOAD] // | T_STATIC () => let val bt = 0 val () = incby1 () val ent1 = p_dcstkind (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_q0margseq, err0) val ent3 = pif_fun (buf, bt, err, p_d0cstdecseq, err0) in if err = err0 then d0ecl_dcstdecs_static (ent1, ent2, ent3) else synent_null () // end of [if] end (* end of [T_STATIC] *) // | T_LOCAL () => let val bt = 0 val () = incby1 () val ent2 = p_d0eclseq_fun {d0ecl} (buf, bt, p_d0ecl_dyn) val ent3 = pif_fun (buf, bt, err, p_IN, err0) val ent4 = ( if err = err0 then p_d0eclseq_fun (buf, bt, p_d0ecl_dyn) else list_vt_nil () // end of [if] ) : d0eclist_vt val ent5 = pif_fun (buf, bt, err, p_END, err0) in if err = err0 then d0ecl_local (tok, (l2l)ent2, (l2l)ent4, ent5) else let val () = list_vt_free (ent2) val () = list_vt_free (ent4) in synent_null ((*okay*)) end // end of [else] // end of [if] end // | T_SRPINCLUDE () => let val bt = 0 val () = incby1 () val ent2 = p_s0tring (buf, bt, err) in if err = err0 then d0ecl_include (1(*dyn*), tok, ent2) else synent_null () // end of [if] end // | _ when ptest_fun ( buf, p_srpifkind, ent ) => let val bt = 0 val ent1 = synent_decode {token} (ent) val ent2 = guad0ecl_fun (buf, bt, err, p_d0ecl_dyn) in if err = err0 then d0ecl_guadecl (ent1, ent2) else synent_null () // end of [if] end | _ (*rest*) => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_d0ecl_dyn_tok] implement p_d0ecl_dyn (buf, bt, err) = ptokwrap_fun (buf, bt, err, p_d0ecl_dyn_tok, PE_d0ecl_dyn) // end of [p_d0ecl_dyn] (* ****** ****** *) implement p_d0eclseq_sta (buf, bt, err) = let val xs = p_d0eclseq_fun (buf, bt, p_d0ecl_sta) in (l2l)xs end // end of [p_d0eclseq_sta] implement p_d0eclseq_dyn (buf, bt, err) = let val xs = p_d0eclseq_fun (buf, bt, p_d0ecl_dyn) in (l2l)xs end // end of [p_d0eclseq_dyn] (* ****** ****** *) (* end of [pats_parsing_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_decl.dats0000664000175000017500000005530312655455557017527 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" // (* ****** ****** *) // staload "./pats_basics.sats" // (* ****** ****** *) staload GLOBAL = "./pats_global.sats" (* ****** ****** *) // staload LOC = "./pats_location.sats" overload print with $LOC.print_location // (* ****** ****** *) // staload "./pats_staexp2.sats" // staload D2E = "./pats_dynexp2.sats" // typedef d2cst = $D2E.d2cst // typedef dynexp2_funlabopt = $D2E.funlabopt // overload print with $D2E.print_d2var // (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_typerase.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) assume ccomp_instrlst_type = instrlst (* ****** ****** *) extern fun hisaspdec_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hidsaspdec_ccomp] extern fun hiextvar_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hidextvar_ccomp] extern fun hiextype_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hidextype_ccomp] extern fun hiextcode_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hidextcode_ccomp] extern fun hidatdecs_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hidatdecs_ccomp] extern fun hiexndecs_ccomp (env: !ccompenv, hid0: hidecl): primdec // end of [hiexndecs_ccomp] (* ****** ****** *) extern fun hivaldeclst_ccomp ( env: !ccompenv , lvl0: int, knd: valkind, hvds: hivaldeclst ) : instrlst // end of [hivaldeclst_ccomp] extern fun hivaldeclst_ccomp_rec ( env: !ccompenv , lvl0: int, knd: valkind, hvds: hivaldeclst ) : instrlst // end of [hivaldeclst_ccomp_rec] extern fun hivardeclst_ccomp (env: !ccompenv, lvl0: int, hvds: hivardeclst): instrlst // end of [hivardeclst_ccomp] (* ****** ****** *) implement hidecl_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc // in // case+ hid0.hidecl_node of // | HIDnone () => primdec_none (loc0) // | HIDlist (hids) => let val pmds = hideclist_ccomp (env, hids) in primdec_list (loc0, pmds) // end of [val] end // end of [HIDlist] // | HIDsaspdec _ => hisaspdec_ccomp (env, hid0) // | HIDextype _ => hiextype_ccomp (env, hid0) | HIDextvar _ => hiextvar_ccomp (env, hid0) | HIDextcode _ => hiextcode_ccomp (env, hid0) // | HIDdatdecs _ => hidatdecs_ccomp (env, hid0) | HIDexndecs _ => hiexndecs_ccomp (env, hid0) // | HIDdcstdecs (dck, d2cs) => primdec_none (loc0) // | HIDimpdec (_(*knd*), imp) => let val d2c = imp.hiimpdec_cst val lvl0 = the_d2varlev_get () val ((*void*)) = hiimpdec_ccomp (env, lvl0, imp, 0(*local*)) // end of [val] in primdec_impdec (loc0, imp) end // end of [HIDimpdec] // | HIDfundecs (knd, decarg, hfds) => let val lvl0 = the_d2varlev_get () val () = hifundeclst_ccomp (env, lvl0, knd, decarg, hfds) in primdec_fundecs (loc0, knd, decarg, hfds) end // end of [HIDfundecs] // | HIDvaldecs (knd, hvds) => let val lvl0 = the_d2varlev_get () val inss = hivaldeclst_ccomp (env, lvl0, knd, hvds) in primdec_valdecs (loc0, knd, hvds, inss) end // end of [HIDvaldecs] | HIDvaldecs_rec (knd, hvds) => let val lvl0 = the_d2varlev_get () val inss = hivaldeclst_ccomp_rec (env, lvl0, knd, hvds) in primdec_valdecs_rec (loc0, knd, hvds, inss) end // end of [HIDvaldecs_rec] // | HIDvardecs (hvds) => let val lvl0 = the_d2varlev_get () val inss = hivardeclst_ccomp (env, lvl0, hvds) in primdec_vardecs (loc0, hvds, inss) end // end of [HIDvardecs] // | HIDinclude (knd, hids) => let (* val () = println! ("hidecl_ccomp: HIDinclude: loc0 = ", loc0) val () = println! ("hidecl_ccomp: HIDinclude: hid0 = ", hid0) *) val pmds = hideclist_ccomp (env, hids) in primdec_include (loc0, knd, pmds) end // end of [HIDinclude] // | HIDstaload ( idopt, cfil, flag, fenv, loaded ) => let (* val () = println! ("hidecl_ccomp: HIDstaload: loc0 = ", loc0) val () = println! ("hidecl_ccomp: HIDstaload: hid0 = ", hid0) *) val () = the_staloadlst_add (hid0) val () = ccompenv_add_staload (env, fenv) in primdec_staload (loc0, hid0) end // end of [HIDstaload] // | HIDstaloadloc (pfil, nspace, hids) => let val (pf | ()) = ccompenv_push (env) val pmds = hideclist_ccomp (env, hids) val ((*void*)) = ccompenv_pop (pf | env) in primdec_staloadloc (loc0, pfil, nspace, pmds) end // end of [HIDtsaloadloc] // | HIDdynload _ => let (* val () = println! ("hidecl_ccomp: HIDdynload: loc0 = ", loc0) val () = println! ("hidecl_ccomp: HIDdynload: hid0 = ", hid0) *) val () = the_dynloadlst_add (hid0) in primdec_dynload (loc0, hid0) end // end of [HIDdynload] // | HIDlocal ( hids_head, hids_body ) => let // // HX-2015-09-15: // Note that locally defined templates can be // accessed in template instances that are outside // the local-scope, but local implements cannot. // Please find the details in [ccompenv_localjoin]. // val (pf1|()) = ccompenv_push (env) val pmds_head = hideclist_ccomp (env, hids_head) val (pf2|()) = ccompenv_push (env) val pmds_body = hideclist_ccomp (env, hids_body) val ((*void*)) = ccompenv_localjoin (pf1, pf2 | env) // in primdec_local (loc0, pmds_head, pmds_body) end // end of [HIDlocal] // (* | _ => let val () = println! ("hidecl_ccomp: loc0 = ", loc0) val () = println! ("hidecl_ccomp: hid0 = ", hid0) in exitloc (1) end // end of [_] *) // end // end of [hidecl_ccomp] (* ****** ****** *) implement hideclist_ccomp (env, hids) = let // fun loop ( env: !ccompenv , hids: hideclist , pmds: &primdeclst_vt? >> primdeclst_vt ) : void = let in // case+ hids of | list_cons (hid, hids) => let val pmd = hidecl_ccomp (env, hid) val () = pmds := list_vt_cons{..}{0}(pmd, ?) val list_vt_cons (_, !p_pmds2) = pmds val () = loop (env, hids, !p_pmds2) prval () = fold@ (pmds) in // nothing end // end of [list_cons] | list_nil () => let val () = pmds := list_vt_nil () in (*nothing*) end // end of [list_nil] // end // end of [loop] // var pmds: primdeclst_vt val () = loop (env, hids, pmds) // in // list_of_list_vt (pmds) // end // end of [hideclist_ccomp] (* ****** ****** *) implement hideclist_ccomp0 (hids) = let // val env = ccompenv_make () val pmds = hideclist_ccomp (env, hids) val () = ccompenv_free (env) // in pmds end // end of [hideclist_ccomp0] (* ****** ****** *) implement hisaspdec_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val-HIDsaspdec (d2c) = hid0.hidecl_node val () = the_saspdeclst_add (hid0) // in primdec_saspdec (loc0, d2c) end // end of [hisaspdec_ccomp] (* ****** ****** *) implement hiextype_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val-HIDextype (name, hse_def) = hid0.hidecl_node val _(*hit*) = hisexp_typize (0(*flag*), hse_def) val () = the_extypelst_add (hid0) // in primdec_none (loc0) end // end of [hiextype_ccomp] (* ****** ****** *) implement hiextvar_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val-HIDextvar (name, hde_def) = hid0.hidecl_node var res : instrseq = instrseq_make_nil() val pmv_def = hidexp_ccomp (env, res, hde_def) val () = instrseq_add_extvar (res, loc0, name, pmv_def) val inss = instrseq_get_free (res) // (* // HX-2014-09-09: // [name] is assumed to // have been declared externally // val () = the_extvarlst_add (hid0) *) // in primdec_extvar (loc0, name, inss) end // end of [hiextvar_ccomp] (* ****** ****** *) implement hiextcode_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val () = the_extcodelst_add (hid0) // in primdec_none (loc0) end // end of [hiextcode_ccomp] (* ****** ****** *) implement hidatdecs_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val-HIDdatdecs (knd, s2cs) = hid0.hidecl_node val isprf = test_prfkind (knd) // in // if isprf then primdec_none (loc0) else primdec_datdecs (loc0, s2cs) // end of [if] // end // end of [hidatdecs_ccomp] (* ****** ****** *) implement hiexndecs_ccomp (env, hid0) = let // val loc0 = hid0.hidecl_loc val-HIDexndecs (d2cs) = hid0.hidecl_node // val () = the_exndeclst_add (hid0) // in primdec_exndecs (loc0, d2cs) end // end of [hiexndecs_ccomp] (* ****** ****** *) local fun auxinit {n:nat} .. ( env: !ccompenv, lvl0: int , decarg: s2qualst, hfds: list (hifundec, n), i: int ) : list (funlab, n) = let in // case+ hfds of | list_nil ((*void*)) => list_nil () | list_cons (hfd, hfds) => let // val loc = hfd.hifundec_loc val d2v = hfd.hifundec_var // (* val () = println! ("auxinit: loc = ", loc) val () = println! ("auxinit: d2v = ", d2v) *) // val () = $D2E.d2var_set_level (d2v, lvl0) // end of [val] val-Some(hse) = d2var_get2_hisexp (d2v) val fcopt = None_vt() // HX: by [hse] // val flab = funlab_make_dvar_type (d2v, hse, fcopt) // end of [val] // // HX: only the first fnx-decl is added!!! // val () = ( if i <= 1 then the_funlablst_add (flab) ) : void // end of [val] // val tmplev = ccompenv_get_tmplevel (env) val pmv = ( if tmplev = 0 then primval_make_funlab (loc, flab) else primval_make_d2vfunlab (loc, d2v, flab) // end of [if] ) : primval // end of [val] // val () = ccompenv_add_vbindmapenvall (env, d2v, pmv) // val istmp = ( if tmplev > 0 then true else list_is_cons (decarg) // end of [if] ) : bool // end of [val] val () = if istmp then funlab_set_tmpknd (flab, 1) // val () = ( case+ decarg of | list_cons _ => ccompenv_add_fundec (env, hfd) | list_nil () => () ) : void // end of [val] // val i2 = (if i >= 1 then i + 1 else i): int val flabs = auxinit (env, lvl0, decarg, hfds, i2) in list_cons (flab, flabs) end // end of [list_cons] // end // end of [auxinit] (* ****** ****** *) fun auxmain {n:nat} .. ( env: !ccompenv , decarg: s2qualst , hfds: list (hifundec, n), flabs: list (funlab, n), i: int ) : void = let in // case+ hfds of | list_nil ((*void*)) => let val+list_nil () = flabs in (*nothing*) end // end of [list_nil] | list_cons (hfd, hfds) => let val loc = hfd.hifundec_loc val d2v = hfd.hifundec_var val imparg = hfd.hifundec_imparg val hde_def = hfd.hifundec_def val-HDElam(knd, hips_arg, hde_body) = hde_def.hidexp_node val+list_cons (flab, flabs) = flabs // val () = ( if i = 0 then ccompenv_inc_tailcalenv (env, flab) // end of [if] ) // end of [val] // val istmp = list_is_cons (decarg) val () = if istmp then ccompenv_inc_tmplevel (env) // end of [val] // val tmparg = list_nil(*s2ess*) // matching all? val prolog = list_sing (instr_funlab (loc, flab)) // val fent = hidexp_ccomp_funlab_arg_body ( env, flab, imparg, tmparg, prolog, loc, hips_arg, hde_body ) // end of [fcall] // end of [val] // val () = if istmp then ccompenv_dec_tmplevel (env) val () = if i = 0 then ccompenv_dec_tailcalenv (env) // val () = if i > 0 then tmpvar_inc_tailcal(funent_get_tmpret(fent)) // end of [if] // end of [val] // val () = hifundec_set_funlabopt (hfd, Some (flab)) // end of [val] val () = funlab_set_funent (flab, Some(fent)) // val i2 = (if i >= 1 then i + 1 else i): int // in auxmain (env, decarg, hfds, flabs, i2) end // end of [let] // end of [list_cons] // end // end of [auxmain] in (* in of [local] *) implement hifundeclst_ccomp ( env, lvl0, knd, decarg, hfds ) = let // val tlcalopt = $GLOBAL.the_CCOMPATS_tlcalopt_get() val isfnx = ( if tlcalopt > 0 then funkind_is_mutailrec(knd) else false ) : bool // end of [val] // val i0 = (if isfnx then 1 else 0): int // val flabs = auxinit (env, lvl0, decarg, hfds, i0) // val () = if isfnx then let val flabs = list_copy (flabs) in ccompenv_inc_tailcalenv_fnx (env, flabs) end // end of [if] // end of [val] // val () = auxmain (env, decarg, hfds, flabs, i0) // val () = if isfnx then let val-list_cons (fl0, _) = flabs val-Some(fent0) = funlab_get_funent (fl0) val () = funent_set_fnxlablst (fent0, flabs) in ccompenv_dec_tailcalenv (env) end // end of [if] // in // nothing end // end of [hifundeclst_ccomp] end // end of [local] (* ****** ****** *) local fun aux ( env: !ccompenv , res: !instrseq , lvl0: int, knd: valkind, hvd: hivaldec ) : void = let val loc = hvd.hivaldec_loc val hde_def = hvd.hivaldec_def val pmv_def = hidexp_ccompv (env, res, hde_def) // non-lvalue val hip = hvd.hivaldec_pat val fail = ( case+ knd of | VK_val_pos () => PTCKNTnone () | _ => PTCKNTcaseof_fail (loc) ) : patckont // end of [val] val () = hipatck_ccomp (env, res, fail, hip, pmv_def) val () = himatch2_ccomp (env, res, lvl0, hip, pmv_def) in // nothing end // end of [aux] fun auxlst ( env: !ccompenv , res: !instrseq , lvl0: int, knd: valkind, hvds: hivaldeclst ) : void = let in // case+ hvds of | list_cons (hvd, hvds) => let val () = aux (env, res, lvl0, knd, hvd) val () = auxlst (env, res, lvl0, knd, hvds) in // nothing end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxlst] in (* in of [local] *) implement hivaldeclst_ccomp ( env, lvl0, knd, hvds ) = let // var res : instrseq = instrseq_make_nil() val () = auxlst (env, res, lvl0, knd, hvds) // in instrseq_get_free (res) end // end of [hivaldeclst_ccomp] end // end of [local] (* ****** ****** *) local fun auxinit {n:nat} .. ( env: !ccompenv , res: !instrseq , lvl0: int , hvds: list (hivaldec, n) ) : list_vt (tmpvar, n) = let in // case+ hvds of | list_cons (hvd, hvds) => let val hip = hvd.hivaldec_pat val loc = hip.hipat_loc val hse = hip.hipat_type val tmp = tmpvar_make (loc, hse) val () = instrseq_add_tmpdec (res, loc, tmp) val pmv = primval_tmp (loc, hse, tmp) val () = himatch2_ccomp (env, res, lvl0, hip, pmv) val tmps = auxinit (env, res, lvl0, hvds) in list_vt_cons (tmp, tmps) end // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [auxinit] fun auxmain {n:nat} .. ( env: !ccompenv , res: !instrseq , hvds: list (hivaldec, n) , tmps: list_vt (tmpvar, n) ) : void = let in // case+ hvds of | list_cons (hvd, hvds) => let val hde_def = hvd.hivaldec_def val+~list_vt_cons (tmp, tmps) = tmps val () = hidexp_ccomp_ret (env, res, tmp, hde_def) in auxmain (env, res, hvds, tmps) end // end of [list_cons] | list_nil () => let val+~list_vt_nil () = tmps in (*nothing*) end // end of [list_nil] // end // end of [auxmain] in (* in of [local] *) implement hivaldeclst_ccomp_rec (env, lvl0, knd, hvds) = let // var res : instrseq = instrseq_make_nil() val tmps = auxinit (env, res, lvl0, hvds) val () = auxmain (env, res, hvds, tmps) // in instrseq_get_free (res) end // end of [hivaldeclst_ccomp_rec] end // end of [local] (* ****** ****** *) local fun aux ( env: !ccompenv , res: !instrseq , lvl0: int, hvd: hivardec ) : void = let // val loc = hvd.hivardec_loc val d2v = hvd.hivardec_dvar_ptr val d2vw = hvd.hivardec_dvar_view val loc_d2v = $D2E.d2var_get_loc (d2v) val ((*void*)) = $D2E.d2var_set_level (d2v, lvl0) val-Some (s2at) = $D2E.d2var_get_mastype (d2vw) val-S2Eat (s2e_elt, _) = s2at.s2exp_node val hse_elt = s2exp_tyer_shallow (loc_d2v, s2e_elt) val tmp = tmpvar_make_ref (loc_d2v, hse_elt) // val () = instrseq_add_tmpdec (res, loc_d2v, tmp) // val () = ( case+ hvd.hivardec_init of | None ((*void*)) => () | Some (hde) => hidexp_ccomp_ret (env, res, tmp, hde) ) : void // end of [val] // val pmv = primval_tmpref (loc, hse_elt, tmp) val pmv_ref = primval_ptrof (loc, hisexp_typtr, pmv) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv_ref) // in // nothing end // end of [aux] fun auxlst ( env: !ccompenv , res: !instrseq , lvl0: int, hvds: hivardeclst ) : void = let in // case+ hvds of | list_cons (hvd, hvds) => let val () = aux (env, res, lvl0, hvd) val () = auxlst (env, res, lvl0, hvds) in // nothing end // end of [list_cons] | list_nil () => () // end // end of [auxlst] in (* in of [local] *) implement hivardeclst_ccomp (env, lvl0, hvds) = let // var res : instrseq = instrseq_make_nil () val () = auxlst (env, res, lvl0, hvds) // in instrseq_get_free (res) end // end of [hivardeclst_ccomp] end // end of [local] (* ****** ****** *) local fun auxlam ( env: !ccompenv , loc0: location , d2c: d2cst, imparg: s2varlst, tmparg: s2explstlst , hde_fun: hidexp ) : funlab = let // val hse_fun = hde_fun.hidexp_type val fcopt = d2cst_get2_funclo (d2c) // val flab = funlab_make_dcst_type (d2c, hse_fun, fcopt) val () = the_funlablst_add (flab) // in auxlam2 (env, loc0, flab, imparg, tmparg, hde_fun) end (* end of [auxlam2] *) and auxlam2 ( env: !ccompenv , loc0: location , flab: funlab, imparg: s2varlst, tmparg: s2explstlst , hde_fun: hidexp ) : funlab = flab where { // val () = ccompenv_inc_tailcalenv (env, flab) // val tmplev = ccompenv_get_tmplevel (env) val () = ( if tmplev > 0 then funlab_set_tmpknd (flab, 1) ) (* end of [val] *) // val pmv_lam = primval_make_funlab (loc0, flab) // val loc_fun = hde_fun.hidexp_loc // val-HDElam(knd, hips_arg, hde_body) = hde_fun.hidexp_node // val fent = let val ins = instr_funlab (loc0, flab) // end of [val] val prolog = list_sing (ins) in hidexp_ccomp_funlab_arg_body (env, flab, imparg, tmparg, prolog, loc_fun, hips_arg, hde_body) // end of [hidexp_ccomp_funlab_arg_body] end // end of [val] // val () = funlab_set_funent (flab, Some(fent)) // val () = ccompenv_dec_tailcalenv (env) // (* val () = println! ("hiimpdec_ccomp: auxlam2: fent = ", fent) *) // } (* end of [auxlam2] *) (* ****** ****** *) fun auxfix ( env: !ccompenv , loc0: location , d2c: d2cst , imparg: s2varlst , tmparg: s2explstlst , hde_fix: hidexp ) : funlab = let // val-HDEfix (knd, f_d2v, hde_def) = hde_fix.hidexp_node // val hse_def = hde_def.hidexp_type val fcopt = d2cst_get2_funclo (d2c) // val flab = funlab_make_dcst_type (d2c, hse_def, fcopt) val pmv0 = primval_make_funlab (loc0, flab) // val () = the_funlablst_add (flab) // // HX-2013-11-01: // this seems to be correct as [f_d2v] is a fix-var // val () = ccompenv_add_vbindmapenvall (env, f_d2v, pmv0) // in auxlam2 (env, loc0, flab, imparg, tmparg, hde_def) end // end of [auxfix] (* ****** ****** *) fun auxmain ( env: !ccompenv , loc0: location , d2c: d2cst , imparg: s2varlst , tmparg: s2explstlst , hde_def: hidexp ) : funlab = let // val hse_def = hde_def.hidexp_type // in // case+ hde_def.hidexp_node of // | HDEcst (d2c) => let val () = the_dyncstlst_add (d2c) val fcopt = d2cst_get2_funclo (d2c) in funlab_make_dcst_type (d2c, hse_def, fcopt) end // end of [HDEcst] | HDEvar (d2v) => let val fcopt = d2var_get2_funclo (d2v) in funlab_make_dvar_type (d2v, hse_def, fcopt) end // end of [HDEvar] // | HDEtmpcst (d2c, t2mas) => let val fcopt = d2cst_get2_funclo (d2c) in funlab_make_tmpcst_type (d2c, t2mas, hse_def, fcopt) end // end of [HDEtmpcst] // | HDElam _ => ( auxlam (env, loc0, d2c, imparg, tmparg, hde_def) ) (* end of [HDElam] *) // | HDEfix _ => ( auxfix (env, loc0, d2c, imparg, tmparg, hde_def) ) (* end of [HDEfix] *) // | _ => let val ( ) = ( println! ("hiimpdec_ccomp: auxmain: hde_def = ", hde_def) ) // end of [val] in exitloc (1) end // end of [_] // end (* end of [auxmain] *) in (* in of [local] *) implement hiimpdec_ccomp ( env, lvl0, imp, knd ) = let // val d2c = imp.hiimpdec_cst val dck = $D2E.d2cst_get_kind (d2c) // (* val () = println! ("hiimpdec_ccomp: d2c = ", d2c) *) // in // case+ 0 of (* | _ when dcstkind_is_castfn dck => () *) | _ when dcstkind_is_fun(dck) => let val loc0 = imp.hiimpdec_loc val imparg = imp.hiimpdec_imparg val tmparg = imp.hiimpdec_tmparg val hde_def = imp.hiimpdec_def // (* val knd = imp.hiimpdec_knd *) val istmp = list_is_cons (tmparg) // (* val () = println! ("hiimpdec_ccomp: knd = ", knd) // end of [val] *) // val () = if istmp then ccompenv_inc_tmplevel(env) // end of [val] val flab = auxmain (env, loc0, d2c, imparg, tmparg, hde_def) // end of [val] val () = if istmp then ccompenv_dec_tmplevel(env) // end of [val] // val () = ( if knd = 0 then (if istmp then ccompenv_add_impdec (env, imp)) // end of [if] ) (* end of [val] *) // val opt = Some (flab) val ((*void*)) = hiimpdec_set_funlabopt (imp, opt) val ((*void*)) = ( if not(istmp) then $D2E.d2cst_set_funlab (d2c, $UN.cast{dynexp2_funlabopt}(opt)) // end of [if] ) (* end of [val] *) // in // nothing end // end of [if] // | _ (*non-fun*) => let var res : instrseq = instrseq_make_nil () val pmv = hidexp_ccomp (env, res, imp.hiimpdec_def) val () = instrseq_add_dcstdef (res, imp.hiimpdec_loc, d2c, pmv) val inss = instrseq_get_free (res) val () = hiimpdec_set_instrlstopt (imp, Some (inss)) in // nothing end // end of [non-fun] // end // end of [hiimpdec_ccomp] end // end of [local] (* ****** ****** *) implement hiimpdec_ccomp_if (env, lvl0, imp, knd) = let // val opt = hiimpdec_get_funlabopt (imp) // in // case+ opt of | Some _ => ((*void*)) | None _ => hiimpdec_ccomp (env, lvl0, imp, knd) // end // end of [hiimpdec_ccomp_if] (* ****** ****** *) (* end of [pats_ccomp_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_appenv.hats0000664000175000017500000002006212655455557020374 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: // Hongwei Xi // Authoremail: // gmhwxiATgmailDOTcom // Start Time: December, 2014 // (* ****** ****** *) // // HX-2014-12-09: // This one implements a standard [app] function over the level-2 syntax tree // Note that [app] is often referred to as [foreach] // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) // extern fun{} s2cstlst_app : synent_app (s2cstlst) // extern fun{} s2varlst_app : synent_app (s2varlst) // extern fun{} d2conlst_app : synent_app (d2conlst) // (* ****** ****** *) // implement {}(*tmp*) s2cstlst_app (xs, env) = synentlst_app (xs, env, s2cst_app) // (* ****** ****** *) // implement {}(*tmp*) s2varlst_app (xs, env) = synentlst_app (xs, env, s2var_app) // (* ****** ****** *) // implement {}(*tmp*) d2conlst_app (xs, env) = synentlst_app (xs, env, d2con_app) // (* ****** ****** *) // extern fun{} s2exp_app : synent_app (s2exp) // extern fun{} s2explst_app : synent_app (s2explst) extern fun{} s2explstlst_app : synent_app (s2explstlst) // extern fun{} labs2explst_app : synent_app (labs2explst) extern fun{} wths2explst_app : synent_app (wths2explst) // extern fun{} s2expopt_app : synent_app (s2expopt) // (* ****** ****** *) // extern fun{} s2qualst_app : synent_app (s2qualst) // (* ****** ****** *) // extern fun{} s2zexp_app : synent_app (s2zexp) extern fun{} s2zexplst_app : synent_app (s2zexplst) extern fun{} s2zexplstlst_app : synent_app (s2zexplstlst) // extern fun{} labs2zexplst_app : synent_app (labs2zexplst) // (* ****** ****** *) implement {}(*tmp*) s2exp_app (s2e0, env) = let in // case+ s2e0.s2exp_node of // | S2Eint _ => () | S2Eintinf _ => () // | S2Efloat _ => () | S2Estring _ => () // | S2Ecst (s2c) => s2cst_app (s2c, env) // | S2Eextype (name, s2ess) => s2explstlst_app (s2ess, env) | S2Eextkind (name, s2ess) => s2explstlst_app (s2ess, env) // | S2Evar (s2v) => s2var_app (s2v, env) // | S2EVar (s2V) => s2Var_app (s2V, env) // | S2Ehole (s2hole) => () // | S2Edatcontyp (d2c, s2es) => let val () = d2con_app (d2c, env) val () = s2explst_app (s2es, env) in // nothing end // end of [S2Edatcontyp] | S2Edatconptr (d2c, s2e1, s2es2) => let val () = d2con_app (d2c, env) val () = s2exp_app (s2e1, env) val () = s2explst_app (s2es2, env) in // nothing end // end of [S2Edatconptr] // | S2Eat (s2e1, s2e2) => ( s2exp_app (s2e1, env); s2exp_app (s2e2, env) ) (* end of [S2Eat] *) // | S2Esizeof (s2e) => s2exp_app (s2e, env) // | S2Eeff _ => () // | S2Eeqeq (s2e1, s2e2) => ( s2exp_app (s2e1, env); s2exp_app (s2e2, env) ) (* end of [S2Eeqeq] *) // | S2Eproj (s2e1, s2e2, s2ls) => ( s2exp_app (s2e1, env); s2exp_app (s2e2, env) ) (* end of [S2Eproj] *) // | S2Eapp (s2e1, s2es2) => ( s2exp_app (s2e1, env); s2explst_app (s2es2, env) ) (* end of [S2Eapp] *) // | S2Elam (s2vs1, s2e2_body) => ( s2varlst_app (s2vs1, env); s2exp_app (s2e2_body, env) ) (* end of [S2Elam] *) // | S2Efun (fc, lin, s2fe, npf, s2es1_arg, s2e2_res) => ( s2explst_app (s2es1_arg, env); s2exp_app (s2e2_res, env) ) (* end of [S2Efun] *) // | S2Emetfun (opt, s2es1, s2e2) => ( s2explst_app (s2es1, env); s2exp_app (s2e2, env) ) (* end of [S2Emetfun] *) | S2Emetdec (s2es1, s2es2) => ( s2explst_app (s2es1, env); s2explst_app (s2es2, env) ) (* end of [S2Emetdec] *) // | S2Etop (knd, s2e) => s2exp_app (s2e, env) | S2Ewithout (s2out) => s2exp_app (s2out, env) // | S2Etyarr (s2e1, s2es2) => ( s2exp_app (s2e1, env); s2explst_app (s2es2, env) ) (* end of [S2Etyarr] *) | S2Etyrec (knd, npf, ls2es) => labs2explst_app (ls2es, env) // | S2Einvar (s2e) => s2exp_app (s2e, env) // | S2Eexi (s2vs, s2ps, s2e_body) => ( s2varlst_app (s2vs, env); s2explst_app (s2ps, env); s2exp_app (s2e_body, env) ) (* end of [S2Eexi] *) | S2Euni (s2vs, s2ps, s2e_body) => ( s2varlst_app (s2vs, env); s2explst_app (s2ps, env); s2exp_app (s2e_body, env) ) (* end of [S2Euni] *) // | S2Erefarg (knd, s2e) => s2exp_app (s2e, env) // end of [S2Erefarg] // | S2Evararg (s2e) => s2exp_app (s2e, env) // | S2Ewthtype (s2e, ws2es) => ( s2exp_app (s2e, env); wths2explst_app (ws2es, env); ) // | S2Eerr () => () // (* | _ (* rest-of-s2exp *) => () *) // end // end of [s2exp_app] (* ****** ****** *) // implement {}(*tmp*) s2explst_app (xs, env) = synentlst_app (xs, env, s2exp_app) // implement {}(*tmp*) s2explstlst_app (xss, env) = synentlst_app (xss, env, s2explst_app) // (* ****** ****** *) implement {}(*tmp*) labs2explst_app (lxs, env) = let in // case+ lxs of | list_nil () => () | list_cons (lx, lxs) => let val+SLABELED(_, _, x) = lx val () = s2exp_app (x, env) in labs2explst_app (lxs, env) end // end of [list_cons] // end // end of [labs2explst_app] (* ****** ****** *) implement {}(*tmp*) wths2explst_app (wxs, env) = let in // case+ wxs of | WTHS2EXPLSTnil () => () | WTHS2EXPLSTcons_invar(_, x, wxs) => ( s2exp_app (x, env); wths2explst_app (wxs, env) ) | WTHS2EXPLSTcons_trans(_, x, wxs) => ( s2exp_app (x, env); wths2explst_app (wxs, env) ) | WTHS2EXPLSTcons_none (wxs) => wths2explst_app (wxs, env) // end // end of [wths2explst_app] (* ****** ****** *) implement {}(*tmp*) s2expopt_app (opt, env) = ( // case+ opt of | Some (s2e) => s2exp_app (s2e, env) | None () => () // ) (* end of [s2expopt] *) (* ****** ****** *) implement {}(*tmp*) s2qualst_app (s2qs, env) = let in // case+ s2qs of | list_nil () => () | list_cons (s2q, s2qs) => ( s2varlst_app (s2q.s2qua_svs, env); s2explst_app (s2q.s2qua_sps, env); s2qualst_app (s2qs, env) ) (* end of [list_cons] *) // end // end of [s2qualst_app] (* ****** ****** *) implement {}(*tmp*) s2zexp_app (x0, env) = ( // case+ x0 of // | S2ZEprf () => () | S2ZEptr () => () // | S2ZEcst (s2c) => s2cst_app (s2c, env) | S2ZEvar (s2v) => s2var_app (s2v, env) | S2ZEVar (s2V) => s2Var_app (s2V, env) // | S2ZEextype (name, xss) => s2zexplstlst_app (xss, env) | S2ZEextkind (name, xss) => s2zexplstlst_app (xss, env) // | S2ZEapp (x1, xs2) => ( s2zexp_app (x1, env); s2zexplst_app (xs2, env) ) | S2ZEtyarr (x1, s2es_dim) => ( s2zexp_app (x1, env); s2explst_app (s2es_dim, env) ) | S2ZEtyrec (knd, lxs) => labs2zexplst_app (lxs, env) // | S2ZEclo () => () // | S2ZEbot () => () // ) (* end of [s2zexp_app] *) (* ****** ****** *) // implement {}(*tmp*) s2zexplst_app (xs, env) = synentlst_app (xs, env, s2zexp_app) // implement {}(*tmp*) s2zexplstlst_app (xss, env) = synentlst_app (xss, env, s2zexplst_app) // (* ****** ****** *) implement {}(*tmp*) labs2zexplst_app (lxs, env) = ( // case+ lxs of | list_nil () => () | list_cons (lx, lxs) => let val SZLABELED(l, x) = lx val ((*void*)) = s2zexp_app (x, env) in labs2zexplst_app (lxs, env) end // end of [list_cons] // ) (* end of [labs2zexplst_app] *) (* ****** ****** *) (* end of [pats_staexp2_appenv.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_dynexp.dats0000664000175000017500000006331612655455557020241 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) #include "./pats_params.hats" (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload LOC = "./pats_location.sats" overload + with $LOC.location_combine staload SYM = "./pats_symbol.sats" macdef BACKSLASH = $SYM.symbol_BACKSLASH macdef UNDERSCORE = $SYM.symbol_UNDERSCORE overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_dynexp" (* ****** ****** *) staload "./pats_fixity.sats" staload "./pats_lexing.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) // macdef list_sing (x) = list_cons (,(x), list_nil(*void*)) // (* ****** ****** *) // // HX: translation of dynamic expr // typedef d1expitm = fxitm (d1exp) typedef d1expitmlst = List (d1expitm) // (* ****** ****** *) // extern fun d1exp_app_proc ( loc0: location , d1e_fun: d1exp, d1e_arg: d1exp ) : d1exp // end-of-function // implement d1exp_app_proc ( loc0, d1e_fun, d1e_arg ) = let in // case+ d1e_fun.d1exp_node of // case+ // | D1Eidextapp (id, d1es_arg) => let val d1es_arg = list_cons (d1e_arg, d1es_arg) // end of [val] in d1exp_idextapp (loc0, id, d1es_arg) end // end of [D1Eidexpapp] | _ (*non-D1Eidextapp*) => let in case+ d1e_arg.d1exp_node of // case+ | D1Elist ( npf, d1es ) => let val locarg = d1e_arg.d1exp_loc in d1exp_app_dyn (loc0, d1e_fun, locarg, npf, d1es) end // end of [D1Elist] | D1Esexparg (s1a) => let in case+ d1e_fun.d1exp_node of // case+ | D1Eapp_sta (d1e_fun, s1as) => let val s1as = list_extend(s1as, s1a) in d1exp_app_sta(loc0, d1e_fun, l2l(s1as)) end // end of [d1exp_app_sta] | _ (*non-D1Eapp_sta*) => ( d1exp_app_sta (loc0, d1e_fun, list_sing(s1a)) ) (* end of [non-D1Eapp_sta] *) end // end of [D1Esexparg] | _ (*non-list-sexparg*) => let val npf = ~1 // HX: default val locarg = d1e_arg.d1exp_loc val d1es_arg = list_sing (d1e_arg) in d1exp_app_dyn (loc0, d1e_fun, locarg, npf, d1es_arg) end // end of [non-list-sexparg] end // end of [non-D1Eidextapp] // end // end of [d1exp_app_proc] (* ****** ****** *) local fn appf ( d1e1: d1exp , d1e2: d1exp ) : d1expitm = let val loc = d1e1.d1exp_loc + d1e2.d1exp_loc val d1e_app = d1exp_app_proc (loc, d1e1, d1e2) (* val () = begin println! ("d1expitm_app: f: d1e_app = ", d1e_app) end // end of [val] *) in FXITMatm (d1e_app) end // end of [appf] in (* in of [local] *) fn d1expitm_app (loc: location): d1expitm = fxitm_app (loc, appf) // end of [d1expitm_app] end // end of [local] fn d1exp_get_loc (x: d1exp): location = x.d1exp_loc fn d1exp_make_opr ( opr: d1exp, f: fxty ) : d1expitm = begin fxopr_make {d1exp} ( d1exp_get_loc , lam (loc, x, loc_arg, xs) => d1exp_app_dyn (loc, x, loc_arg, ~1(*npf*), xs) , opr, f ) // end of [fxopr_make] end // end of [d1exp_make_opr] fn d1expitm_backslash ( loc_opr: location ) : d1expitm = begin fxopr_make_backslash {d1exp} ( lam x => x.d1exp_loc , lam (loc, x, loc_arg, xs) => d1exp_app_dyn (loc, x, loc_arg, ~1(*npf*), xs) , loc_opr ) // end of [fxopr_make_backslash] end // end of [d1expitm_backslash] fn d1expitm_underscore (loc: location): d1expitm = FXITMatm (d1exp_top (loc)) // end of [d1expitm_underscore] (* ****** ****** *) fun s0expdarg_tr ( d0e: d0exp ) : s1exparg = let val d1e = d0exp_tr (d0e) in // case+ d1e.d1exp_node of | D1Esexparg (s1a) => s1a | _ => let val loc = d0e.d0exp_loc val () = prerr_interror_loc (loc) val () = prerrln! (": s0expdarg_tr: d1e = ", d1e) in $ERR.abort_interr{s1exparg}((*reachable*)) end // end of [_] // end // end of [s0expdarg_tr] fn s0expdarglst_tr (xs: d0explst): s1exparglst = l2l(list_map_fun (xs, s0expdarg_tr)) // end of [s0expdarglst_tr] (* ****** ****** *) // #if (FUNCLO_DEFAULT = 1) macdef FUNCLOdefault = FUNCLOcloptr #endif // #if (FUNCLO_DEFAULT = ~1) macdef FUNCLOdefault = FUNCLOcloref #endif // (* ****** ****** *) implement d0exp_tr_lams_dyn ( lamknd, locopt, fcopt, lin, args, res, efcopt, d0e_body ) = let // fun aux ( lamknd: int , args: f0arglst , d1e_body: d1exp , flag: int ) : d1exp = begin // case+ args of | list_cons (arg, args) => let val loc_arg = arg.f0arg_loc val d1e_body = aux ( lamknd, args, d1e_body, flag1 ) where { val f0a = arg.f0arg_node val flag1 = ( case+ f0a of F0ARGdyn _ => flag+1 | _ => flag ) : int // end of [val] } (* end of [where] *) val loc_body = d1e_body.d1exp_loc val loc = ( case+ locopt of | Some loc => loc | None () => loc_arg + loc_body ) : location // end of [val] in case+ arg.f0arg_node of // case+ // | F0ARGdyn p0t when flag = 0 => let val p1t = p0at_tr p0t val isbox = lamkind_isbox (lamknd) in if isbox > 0 then d1exp_lam_dyn (loc, lin, p1t, d1e_body) else d1exp_laminit_dyn (loc, lin, p1t, d1e_body) // end of [if] end // end of [F0ARGdyn when ...] // | F0ARGdyn p0t (* flag > 0 *) => let val p1t = p0at_tr (p0t) val fc0 = FUNCLOdefault(*mac*) val d1e_body = d1exp_ann_funclo_opt (loc_body, d1e_body, fc0) // end of [val] in d1exp_lam_dyn (loc, lin, p1t, d1e_body) end // end of [F0ARGdyn] // | F0ARGsta1 qua => d1exp_lam_sta_syn (loc, loc_arg, s0qualst_tr qua, d1e_body) // end of [F0ARGsta1] // | F0ARGsta2 s0v => d1exp_lam_sta_ana (loc, loc_arg, s0vararg_tr s0v, d1e_body) // end of [F0ARGsta2] // | F0ARGmet3 s0es => d1exp_lam_met (loc, loc_arg, s0explst_tr s0es, d1e_body) // end of [F0ARGmet3] end // end of [list_cons] // | list_nil ((*void*)) => d1e_body // end (* end of [aux] *) // val d1e_body = d0exp_tr (d0e_body) // val d1e_body = (case+ res of | Some s0e => let val loc = s0e.s0exp_loc + d1e_body.d1exp_loc val s1e = s0exp_tr (s0e) in d1exp_ann_type (loc, d1e_body, s1e) end // end of [Some] | None () => d1e_body // end of [None] ) : d1exp // val d1e_body = ( case+ efcopt of | Some efc => begin d1exp_ann_effc (d1e_body.d1exp_loc, d1e_body, efc) end // end of [Some] | None () => d1e_body ) : d1exp // end of [val] // val d1e_body = ( case+ fcopt of | Some fc => begin d1exp_ann_funclo (d1e_body.d1exp_loc, d1e_body, fc) end // end of [Some] | None () => d1e_body ) : d1exp // end of [val] // in aux (lamknd, args, d1e_body, 0(*flag*)) end // end of [d0exp_tr_lams_dyn] (* ****** ****** *) implement termet_check ( loc, ismet, efcopt ) = ( // case+ efcopt of | Some efc => let val okay = ( if ismet then true else effcst_contain_ntm (efc) ) : bool // end of [val] in if ~okay then { val () = prerr_error1_loc (loc) val () = prerrln! (": a termination metric is missing") val () = the_trans1errlst_add (T1E_termet_check(loc)) } (* end of [if] *) end // end of [Some] | None ((*void*)) => () // end of [None] // ) (* end of [termet_check] *) (* ****** ****** *) fn i0nvarg_tr (arg: i0nvarg): i1nvarg = let val opt = s0expopt_tr (arg.i0nvarg_typ) in i1nvarg_make (arg.i0nvarg_loc, arg.i0nvarg_sym, opt) end // end of [i0nvarg_tr] fun i0nvarglst_tr (xs: i0nvarglst): i1nvarglst = l2l(list_map_fun (xs, i0nvarg_tr)) fn i0nvresstate_tr (res: i0nvresstate): i1nvresstate = let val s1qs = ( case+ res.i0nvresstate_qua of | Some s0qs => s0qualst_tr (s0qs) | None () => list_nil () ) : s1qualst // end of [val] val arg = i0nvarglst_tr res.i0nvresstate_arg in i1nvresstate_make (s1qs, arg) end // end of [i0nvresstate_tr] (* ****** ****** *) fn loopi0nv_tr (loc: location, inv: loopi0nv): loopi1nv = let val qua = ( case+ inv.loopi0nv_qua of | Some s0qs => s0qualst_tr s0qs | None () => list_nil () ) : s1qualst val met = ( case+ inv.loopi0nv_met of | Some s0es => Some (s0explst_tr s0es) | None () => None () ) : s1explstopt val arg = i0nvarglst_tr inv.loopi0nv_arg val res = i0nvresstate_tr inv.loopi0nv_res in loopi1nv_make (loc, qua, met, arg, res) end // end of [loopi0nv_tr] (* ****** ****** *) fn gm0at_tr (gm0t: gm0at): gm1at = let val d1e = d0exp_tr gm0t.gm0at_exp val opt = ( case+ gm0t.gm0at_pat of | Some p0t => Some (p0at_tr p0t) | None () => None () ) : p1atopt // end of [val] in gm1at_make (gm0t.gm0at_loc, d1e, opt) end // end of [gm0at_tr] fn gm0atlst_tr (gm0ts: gm0atlst): gm1atlst = list_of_list_vt(list_map_fun (gm0ts, gm0at_tr)) // end of [gm0atlst_tr] (* ****** ****** *) fn c0lau_tr (c0l: c0lau): c1lau = let // val loc = c0l.c0lau_loc val gp0t = c0l.c0lau_pat // val p1t = p0at_tr (gp0t.guap0at_pat) val gua = gm0atlst_tr (gp0t.guap0at_gua) // val body = d0exp_tr (c0l.c0lau_body) // in // c1lau_make (loc, p1t, gua, c0l.c0lau_seq, c0l.c0lau_neg, body) // end // end of [c0lau_tr] fn c0laulst_tr (c0ls: c0laulst): c1laulst = list_of_list_vt(list_map_fun (c0ls, c0lau_tr)) // end of [c0laulst_tr] fn sc0lau_tr (sc0l: sc0lau): sc1lau = let val sp1t = sp0at_tr (sc0l.sc0lau_pat) val body = d0exp_tr (sc0l.sc0lau_body) in sc1lau_make (sc0l.sc0lau_loc, sp1t, body) end // end of [sc0lau_tr] fn sc0laulst_tr (sc0ls: sc0laulst): sc1laulst = list_of_list_vt(list_map_fun (sc0ls, sc0lau_tr)) // end of [sc0laulst_tr] (* ****** ****** *) local fn d0exp_tr_errmsg_opr (d0e0: d0exp): d1exp = let val loc0 = d0e0.d0exp_loc val () = prerr_error1_loc (loc0) val () = prerrln! (": the operator needs to be applied.") val () = the_trans1errlst_add (T1E_d0exp_tr(d0e0)) in d1exp_errexp (loc0) end // end of [d0exp_tr_errmsg_opr] in (* in of [local] *) implement d0exp_tr (d0e0) = let // #define :: list_cons // fun aux_item ( d0e0: d0exp ) : d1expitm = let // val loc0 = d0e0.d0exp_loc // in // case+ d0e0.d0exp_node of // | D0Eide id when id = BACKSLASH => d1expitm_backslash (loc0) | D0Eide id when id = UNDERSCORE => d1expitm_underscore (loc0) // | D0Eide id => let val d1e = d1exp_ide (loc0, id) val opt = the_fxtyenv_find (id) in case+ opt of | ~Some_vt f => d1exp_make_opr (d1e, f) // HX: operator | ~None_vt _ => FXITMatm (d1e) // HX: not operator end // end of [D0Eide] | D0Eopid (id) => FXITMatm (d1exp_ide (loc0, id)) | D0Edqid (dq, id) => FXITMatm (d1exp_dqid (loc0, dq, id)) // | D0Eidext id => FXITMatm (d1exp_idext (loc0, id)) // | D0Eint x => FXITMatm (d1exp_i0nt (loc0, x)) | D0Echar x => FXITMatm (d1exp_c0har (loc0, x)) | D0Efloat x => FXITMatm (d1exp_f0loat (loc0, x)) | D0Estring x => FXITMatm (d1exp_s0tring (loc0, x)) // | D0Eempty () => FXITMatm (d1exp_empty (loc0)) // | D0Ecstsp x => FXITMatm (d1exp_cstsp (loc0, x)) // | D0Eliteral (d0e) => FXITMatm (d1exp_literal (loc0, d0exp_tr (d0e))) // end of [D0Eliteral] // | D0Eextval (s0e, name) => FXITMatm ( d1exp_extval (loc0, s0exp_tr (s0e), name) ) // end of [D0Eextval] // | D0Eextfcall (s0e, _fun, _arg) => let val s1e = s0exp_tr (s0e) val _arg = d0explst_tr (_arg) in FXITMatm ( d1exp_extfcall (loc0, s1e, _fun, _arg) ) (* end of [FXITMatm] *) end // end of [D0Eextfcall] | D0Eextmcall (s0e, _obj, _mtd, _arg) => let val s1e = s0exp_tr (s0e) val _obj = d0exp_tr (_obj) val _arg = d0explst_tr (_arg) in FXITMatm ( d1exp_extmcall (loc0, s1e, _obj, _mtd, _arg) ) (* end of [FXITMatm] *) end // end of [D0Eextmcall] // (* | D0Elabel lab => d1exp_label (loc0, lab) *) | D0Eloopexn (knd) => FXITMatm (d1exp_loopexn (loc0, knd)) // | D0Efoldat (d0es) => let val s1as = s0expdarglst_tr (d0es) fn f ( d1e: d1exp ) : d1expitm = let val loc = loc0 + d1e.d1exp_loc in FXITMatm (d1exp_foldat (loc, s1as, d1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (foldat_prec_dyn, f)) end // end of [D0Efoldat] // | D0Efreeat (d0es) => let val s1as = s0expdarglst_tr (d0es) fn f ( d1e: d1exp ) : d1expitm = let val loc = loc0 + d1e.d1exp_loc in FXITMatm (d1exp_freeat (loc, s1as, d1e)) end // end of [f] in FXITMopr (loc0, FXOPRpre (freeat_prec_dyn, f)) end // end of [D0Efreeat] // | D0Etmpid (qid, tmparg) => let val tmparg = list_map_fun (tmparg, t0mpmarg_tr) // end of [val] in FXITMatm (d1exp_tmpid (loc0, qid, (l2l)tmparg)) end // end of [D0Etmpid] // | D0Elet (d0cs, d0e_body) => let // val (pfenv|()) = the_trans1_env_push() // val d1cs = d0eclist_tr (d0cs) val d1e_body = d0exp_tr (d0e_body) // val ((*popped*)) = the_trans1_env_pop (pfenv | (*none*)) // in FXITMatm (d1exp_let (loc0, d1cs, d1e_body)) end // end of [D0Elet] // | D0Edeclseq d0cs => let // val (pfenv|()) = the_trans1_env_push() // val d1cs = d0eclist_tr (d0cs) val body = d1exp_empty (loc0) // val ((*popped*)) = the_trans1_env_pop (pfenv | (*none*)) // in FXITMatm (d1exp_let (loc0, d1cs, body)) end // end of [D0Edeclseq] // | D0Ewhere (d0e_body, d0cs) => let // val (pfenv|()) = the_trans1_env_push() // val d1cs = d0eclist_tr (d0cs) val d1e_body = d0exp_tr (d0e_body) // val ((*popped*)) = the_trans1_env_pop (pfenv | (*none*)) // in FXITMatm (d1exp_where (loc0, d1e_body, d1cs)) end // end of [D0Ewhere] // | D0Eapp _ => let // val deis = aux_itemlst (d0e0) // val d1e0 = fixity_resolve ( loc0 , d1exp_get_loc, d1expitm_app(loc0), deis ) (* end of [val] *) // (* val () = println! ("d0exp_tr: aux_item: d1e0 = ", d1e0) // end of [val] *) // val d1e0 = d1exp_syndef_resolve (loc0, d1e0) // in FXITMatm (d1e0) end // end of [D0Eapp] // | D0Elist (npf, d0es) => let val d1es = d0explst_tr (d0es) in FXITMatm (d1exp_list (loc0, npf, d1es)) end // end of [D0Elist] // | D0Eifhead ( hd, _cond, _then, _else ) => let val inv = i0nvresstate_tr hd.ifhead_inv val _cond = d0exp_tr (_cond) val _then = d0exp_tr (_then) val _else = d0expopt_tr (_else) val d1e_if = d1exp_ifhead (loc0, inv, _cond, _then, _else) in FXITMatm (d1e_if) end // end of [D0Eifhead] | D0Esifhead ( hd, _cond, _then, _else ) => let val i0nv = hd.sifhead_inv val i1nv = i0nvresstate_tr (i0nv) val _cond = s0exp_tr (_cond) val _then = d0exp_tr (_then) val _else = d0exp_tr (_else) val d1e_sif = d1exp_sifhead (loc0, i1nv, _cond, _then, _else) in FXITMatm (d1e_sif) end // end of [D0Esifhead] // | D0Ecasehead (hd, d0e, c0ls) => let val tok = hd.casehead_tok val-T_CASE (knd) = tok.token_node val i0nv = hd.casehead_inv val i1nv = i0nvresstate_tr (i0nv) val d1e = d0exp_tr (d0e) val d1es = ( case+ d1e.d1exp_node of | D1Elist (_(*npf*), d1es) => d1es | _ => list_sing (d1e) ) : d1explst // end of [val] val c1ls = c0laulst_tr (c0ls) in FXITMatm (d1exp_casehead (loc0, knd, i1nv, d1es, c1ls)) end // end of [D0Ecasehead] | D0Escasehead (hd, s0e, sc0ls) => let // // HX: hd.casehead_knd is always 0 // val i0nv = hd.scasehead_inv val i1nv = i0nvresstate_tr (i0nv) val s1e = s0exp_tr (s0e) val sc1ls = sc0laulst_tr sc0ls in FXITMatm (d1exp_scasehead (loc0, i1nv, s1e, sc1ls)) end // end of [D0Escasehead] // | D0Elst (lin, elt, d0e_elts) => let val elt = s0expopt_tr (elt) val d1e_elts = d0exp_tr (d0e_elts) val d1es_elts = ( case+ d1e_elts.d1exp_node of | D1Elist (_(*npf*), d1es) => d1es | _ => list_sing (d1e_elts) ) : d1explst // end of [val] val d1e_lst = d1exp_lst (loc0, lin, elt, d1es_elts) in FXITMatm (d1e_lst) end // end of [D0Elst] | D0Etup (knd, npf, d0es) => let val d1es = d0explst_tr d0es in FXITMatm (d1exp_tup (loc0, knd, npf, d1es)) end // end of [D0Etup] | D0Erec (knd, npf, ld0es) => let val ld1es = list_map_fun (ld0es, labd0exp_tr) // end of [val] in FXITMatm (d1exp_rec (loc0, knd, npf, (l2l)ld1es)) end // end of [D0Erec] | D0Eseq d0es => FXITMatm (d1exp_seq (loc0, d0explst_tr d0es)) // | D0Earrsub (qid, loc_ind, d0ess) => let val d1e_arr = d1exp_dqid (qid.dqi0de_loc, qid.dqi0de_qua, qid.dqi0de_sym) // end of [val] val d0es_ind = list_concat (d0ess) val d1es_ind = d0explst_tr ($UN.castvwtp1{d0explst}(d0es_ind)) val () = list_vt_free (d0es_ind) in FXITMatm (d1exp_arrsub (loc0, d1e_arr, loc_ind, d1es_ind)) end // end of [D0Earrsub] | D0Earrpsz (elt, d0e_elts) => let val elt = s0expopt_tr (elt) val d1e_elts = d0exp_tr (d0e_elts) val d1es_elts = (case+ d1e_elts.d1exp_node of | D1Elist (_(*npf*), d1es) => d1es | _ => list_sing (d1e_elts) ) : d1explst // end of [val] in FXITMatm (d1exp_arrpsz (loc0, elt, d1es_elts)) end // end of [D0Earrpsz] | D0Earrinit (elt, asz, init) => let val elt = s0exp_tr (elt) val asz = d0expopt_tr (asz) val init = d0explst_tr (init) in FXITMatm (d1exp_arrinit (loc0, elt, asz, init)) end // end of [D0Earrinit] // | D0Eraise (d0e) => FXITMatm (d1exp_raise (loc0, d0exp_tr (d0e))) // | D0Eeffmask (eff, d0e) => let val ( fcopt, lin, prf, efc // HX: fcopt, lin, prf are all ignored! ) = e0fftaglst_tr (eff) val d1e = d0exp_tr (d0e) in FXITMatm (d1exp_effmask (loc0, efc, d1e)) end // end of [D0Eeffmask] | D0Eeffmask_arg (knd, d0e) => let val d1e = d0exp_tr (d0e) in FXITMatm (d1exp_effmask_arg (loc0, knd, d1e)) end // end of [D0Eeffmask_arg] // | D0Eshowtype (d0e) => FXITMatm (d1exp_showtype (loc0, d0exp_tr(d0e))) // | D0Evcopyenv (knd, d0e) => FXITMatm (d1exp_vcopyenv (loc0, knd, d0exp_tr(d0e))) // | D0Etempenver (d0e) => FXITMatm (d1exp_tempenver (loc0, d0exp_tr(d0e))) // | D0Eptrof () => let fn f (d1e: d1exp): d1expitm = let val loc = loc0 + d1e.d1exp_loc in FXITMatm (d1exp_ptrof (loc, d1e)) end (* end of [f] *) in FXITMopr (loc0, FXOPRpre (ptrof_prec_dyn, f)) end // end of [D0Eptrof] | D0Eviewat () => let fn f (d1e: d1exp) : d1expitm = let val loc = loc0 + d1e.d1exp_loc in FXITMatm (d1exp_viewat (loc, d1e)) end (* end of [f] *) in FXITMopr (loc0, FXOPRpre (viewat_prec_dyn, f)) end // end of [D0Eviewat] // | D0Esexparg (s0a) => FXITMatm (d1exp_sexparg (loc0, s0exparg_tr (loc0, s0a))) // end of [D0Esexparg] | D0Eexist (loc_qua, s0a, d0e) => let val s1a = s0exparg_tr (loc_qua, s0a) val d1e = d0exp_tr (d0e) in FXITMatm (d1exp_exist (loc0, s1a, d1e)) end // end of [D0Eexist] // | D0Elam ( knd, args, res, effopt, body ) => let val lin0 = lamkind_islin (knd) val ( fcopt, lin, efcopt ) = ( case+ effopt of | Some eff => let val ( fcopt, lin, prf, efc ) = e0fftaglst_tr (eff) val lin = (if lin0 > 0 then 1 else lin): int in (fcopt, lin, Some efc) end // end of [Some] | None () => (None (), lin0, None ()) ) : (fcopt, int, effcstopt) val d1e_lam = d0exp_tr_lams_dyn (knd, Some loc0, fcopt, lin, args, res, efcopt, body) // end of [val] in FXITMatm (d1e_lam) end // end of [D0Elam] | D0Efix ( knd, id, args, res, effopt, d0e_def ) => let val ( fcopt, lin, efcopt ) = ( case+ effopt of | Some(eff) => let val ( fcopt , lin, prf, efc ) = e0fftaglst_tr(eff) in (fcopt, lin, Some(efc)) end // end of [Some] | None((*void*)) => ( None(*fcopt*), 0(*lin*), None(*efcopt*) ) // end of [None] ) : (fcopt, int, effcstopt) // end of [val] val d1e_def = d0exp_tr_lams_dyn ( knd, Some loc0, fcopt, lin, args, res, efcopt, d0e_def ) (* end of [val] *) // val ismet = d1exp_is_metric (d1e_def) val () = termet_check (loc0, ismet, efcopt) // val isbox = lamkind_isbox (knd) // HX: fixind = lamkind val knd = (if isbox > 0 then 1 else 0): int // in FXITMatm (d1exp_fix (loc0, knd, id, d1e_def)) end // end of [D0Efix] // | D0Edelay (knd, d0e) => let val d1e = d0exp_tr (d0e) in FXITMatm (d1exp_delay (loc0, knd, d1e)) end // end of [D0Edelay] // | D0Esel_lab (knd, lab) => let val d1l = d1lab_lab (loc0, lab) fn f ( d1e: d1exp ) : d1expitm = let val loc = d1e.d1exp_loc + loc0 in FXITMatm (d1exp_selab (loc, knd, d1e, d1l)) end // end of [let] // end of [f] in FXITMopr (loc0, FXOPRpos (select_prec, f)) end // end of [D0Esel_lab] | D0Esel_ind (knd, d0ess) => let // val d0es_ind = list_concat (d0ess) val d1es_ind = d0explst_tr ($UN.castvwtp1{d0explst}(d0es_ind)) // end of [val] val () = list_vt_free (d0es_ind) // val d1l = d1lab_ind (loc0, d1es_ind) fn f ( d1e: d1exp ) : d1expitm = let val loc = d1e.d1exp_loc + loc0 in FXITMatm (d1exp_selab (loc, knd, d1e, d1l)) end // end of [let] // end of [f] in FXITMopr (loc0, FXOPRpos (select_prec, f)) end // end of [D0Esel_ind] // | D0Etrywith (hd, d0e, c0ls) => let val inv = i0nvresstate_tr (hd.tryhead_inv) val d1e = d0exp_tr (d0e) val c1ls = c0laulst_tr (c0ls) in FXITMatm (d1exp_trywith (loc0, inv, d1e, c1ls)) end // end of [D0Etrywith] // | D0Efor ( invopt, loc_inv, itp, body ) => let val inv = ( case+ invopt of | Some x => loopi0nv_tr (loc_inv, x) | None _ => loopi1nv_nil (loc_inv) ) : loopi1nv // end of [val] val init = d0exp_tr itp.itp_init val test = d0exp_tr itp.itp_test val post = d0exp_tr itp.itp_post val body = d0exp_tr body in FXITMatm (d1exp_for (loc0, inv, init, test, post, body)) end // end of [D0Efor] | D0Ewhile ( invopt, loc_inv, test, body ) => let val inv = ( case+ invopt of | Some x => loopi0nv_tr (loc_inv, x) | None _ => loopi1nv_nil (loc_inv) ) : loopi1nv // end of [val] val test = d0exp_tr (test) val body = d0exp_tr (body) in FXITMatm (d1exp_while (loc0, inv, test, body)) end // end of [D0Ewhile] // | D0Eann (d0e, s0e) => let val d1e = d0exp_tr d0e val s1e = s0exp_tr s0e in FXITMatm(d1exp_ann_type (loc0, d1e, s1e)) end // end of [D0Eann] // | D0Emacsyn(knd, d0e) => FXITMatm(d1exp_macsyn (loc0, knd, d0exp_tr(d0e))) // end of [D0Emacsyn] // | D0Esolassert(d0e) => FXITMatm(d1exp_solassert(loc0, d0exp_tr(d0e))) | D0Esolverify(s0e) => FXITMatm(d1exp_solverify(loc0, s0exp_tr(s0e))) // (* | _ => let val () = prerr_interror_loc (loc0) val () = fprintln! ( stderr_ref, "d0exp_tr: aux_item: d0e0 = ", d0e0 ) (* end of [fprintln!] *) val () = assertloc (false) in $ERR.abort_interr((*deadcode*)) end // end of [_] *) // end (* end of [aux_item] *) // and aux_itemlst (d0e0: d0exp): d1expitmlst = let fun loop (d0e0: d0exp, res: d1expitmlst): d1expitmlst = case+ d0e0.d0exp_node of | D0Eapp (d0e1, d0e2) => let val res = aux_item d0e2 :: res in loop (d0e1, res) end // end of [D0Eapp] | _ => aux_item d0e0 :: res // end of [loop] in loop (d0e0, list_nil ()) end // end of [aux_itemlist] // (* val () = { val loc0 = d0e0.d0exp_loc val () = $LOC. print_location (loc0) val () = print ": d0exp_tr: d0e0 = " val () = fprint_d0exp (stdout_ref, d0e0) val () = print_newline () } // end of [val] *) // in // case+ aux_item(d0e0) of (* case+ *) | FXITMatm(p1t) => p1t | FXITMopr(_, _) => d0exp_tr_errmsg_opr (d0e0) // end // end of [d0exp_tr] end // end of [local] (* ****** ****** *) implement d0explst_tr (xs) = l2l(list_map_fun(xs, d0exp_tr)) (* ****** ****** *) implement d0expopt_tr (opt) = ( // case+ opt of | Some(d0e) => Some(d0exp_tr(d0e)) | None() => None() // ) (* end of [d0expopt_tr] *) (* ****** ****** *) implement labd0exp_tr (ld0e) = let val+DL0ABELED (l, d0e) = ld0e in labd1exp_make(l, d0exp_tr(d0e)) end // end of [labd0exp_tr] (* ****** ****** *) // implement S0Ed2ctype_tr (d2ctp) = ( $UN.cast{S1Ed2ctype}(d0exp_tr($UN.cast{d0exp}(d2ctp))) ) (* end of [S0Ed2ctype_tr] *) // (* ****** ****** *) (* end of [pats_trans1_dynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_decl.dats0000664000175000017500000010602612655455557017635 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload GLOB = "./pats_global.sats" (* ****** ****** *) // staload SYM = "./pats_symbol.sats" // overload = with $SYM.eq_symbol_symbol // overload print with $SYM.print_symbol overload prerr with $SYM.prerr_symbol overload fprint with $SYM.fprint_symbol // macdef ADD = $SYM.symbol_ADD macdef SUB = $SYM.symbol_SUB // macdef ATS_PACKNAME = $SYM.symbol_ATS_PACKNAME // (* macdef ATS_STALOADFLAG = $SYM.symbol_ATS_STALOADFLAG *) macdef ATS_DYNLOADFLAG = $SYM.symbol_ATS_DYNLOADFLAG macdef ATS_DYNLOADNAME = $SYM.symbol_ATS_DYNLOADNAME // macdef ATS_STATIC_PREFIX = $SYM.symbol_ATS_STATIC_PREFIX // macdef ATS_MAINATSFLAG = $SYM.symbol_ATS_MAINATSFLAG // (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) staload PAR = "./pats_parsing.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_decl" (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_fixity.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" staload "./pats_e1xpval.sats" (* ****** ****** *) #define nil list_nil #define cons list_cons #define :: list_cons #define l2l list_of_list_vt (* ****** ****** *) local fn prec_make_err () = prec_make_int (0) fn prec_tr_errmsg_fxty (opr: i0de): void = let val () = prerr_error1_loc (opr.i0de_loc) val () = prerrln! (": the operator [", opr.i0de_sym, "] is given no fixity") val () = the_trans1errlst_add (T1E_prec_tr (opr)) in // nothing end // end of [prec_tr_errmsg_fxty] fn prec_tr_errmsg_adj (opr: i0de): void = let val () = prerr_error1_loc (opr.i0de_loc) val () = prerrln! ": the operator for adjusting precedence can only be [+] or [-]." val () = the_trans1errlst_add (T1E_prec_tr (opr)) in // nothing end // end of [prec_tr_errmsg_adj] fn p0rec_tr (p0: p0rec): prec = let // fun precfnd .<>. (id: i0de): prec = let val fxtyopt = the_fxtyenv_find id.i0de_sym in case+ fxtyopt of | ~Some_vt fxty => let (* val () = begin print "p0rec_tr: Some: id = "; $Sym.print_symbol_code id.i0de_sym; print_newline () end // end of [val] *) val precopt = fxty_get_prec (fxty) in case+ precopt of | ~Some_vt prec => prec | ~None_vt () => let val () = prec_tr_errmsg_fxty (id) in prec_make_err () end (* end of [None_vt] *) end // end of [Some_vt] | ~None_vt () => let val () = prec_tr_errmsg_fxty (id) in prec_make_err () end (* end of [None_vt] *) end // end of [precfnd] // (* val () = print ("p0rec_tr: p0 = ") val () = fprint_p0rec (stdout_ref, p0) val () = print_newline () *) // in case+ p0 of | P0RECint int => prec_make_int (int) // end of [P0RECint] | P0RECi0de id => precfnd id | P0RECi0de_adj (id, opr, int) => let val sym = opr.i0de_sym in case+ opr of | _ when sym = ADD => precedence_inc (precfnd id, int) | _ when sym = SUB => precedence_dec (precfnd id, int) | _ => let val () = prec_tr_errmsg_adj (opr) in prec_make_err () end (* end of [_] *) end // end of [P0RECi0de_adj] end // end of [p0rec_tr] fn f0xty_tr (f0xty: f0xty): fxty = case+ f0xty of | F0XTYinf (p0, a) => let val p = p0rec_tr p0 in fxty_inf (p, a) end // F0XTYinf | F0XTYpre p0 => let val p = p0rec_tr p0 in fxty_pre p end | F0XTYpos p0 => let val p = p0rec_tr p0 in fxty_pos p end // end of [f0xty_tr] in (* in of [local] *) implement d0ecl_fixity_tr (f0xty, ids) = let // fun loop ( fxty: fxty, ids: i0delst ) : void = case+ ids of | list_cons (id, ids) => let (* val sym = id.i0de_sym val stamp = $SYM.symbol_get_stamp (sym) val () = ( println! ("d0ecl_fixity_tr: loop: id = ", sym); println! ("d0ecl_fixity_tr: loop: id = ", stamp) ) // end of [val] *) (* val () = ( print "the_fxtyenv_add(bef): \n"; fprint_the_fxtyenv (stdout_ref) ) // end of [val] *) val () = the_fxtyenv_add (id.i0de_sym, fxty) (* val () = begin print "the_fxtyenv_add(aft): \n"; fprint_the_fxtyenv (stdout_ref) end // end of [val] *) in loop (fxty, ids) end | list_nil () => () // end of [loop] in loop (f0xty_tr f0xty, ids) end // end of [d0ecl_fixity_tr] implement d0ecl_nonfix_tr (ids) = let fun loop (ids: i0delst): void = case+ ids of | list_cons (id, ids) => begin the_fxtyenv_add (id.i0de_sym, fxty_non); loop ids end // end of [cons] | list_nil () => () // end of [list_nil] // end of [loop] in loop (ids) end // end of [d0ecl_nonfix_tr] end // end of [local] (* ****** ****** *) implement s0tacst_tr (d) = let val fil = $FIL.filename_get_current () val arg = a0msrtlst_tr (d.s0tacst_arg) val res: s1rt = s0rt_tr (d.s0tacst_res) in s1tacst_make (d.s0tacst_loc, fil, d.s0tacst_sym, arg, res) end // end of [s0tacst_tr] (* ****** ****** *) implement s0tacon_tr (d) = let val fil = $FIL.filename_get_current () val arg = a0msrtlst_tr (d.s0tacon_arg) val def: s1expopt = s0expopt_tr (d.s0tacon_def) in s1tacon_make (d.s0tacon_loc, fil, d.s0tacon_sym, arg, def) end // end of [s0tacon_tr] (* ****** ****** *) (* // // HX-2012-05-23: removed // implement s0tavar_tr (d) = let val srt = s0rt_tr (d.s0tavar_srt) in s1tavar_make (d.s0tavar_loc, d.s0tavar_sym, srt) end // end of [s0tavar_tr] *) (* ****** ****** *) implement s0rtdef_tr (d) = let val s1te = s0rtext_tr d.s0rtdef_def (* val () = print "s0rtdef_tr: s1te = " val () = fprint_s1rtext (stdout_ref, s1te) val () = print_newline () *) in s1rtdef_make (d.s0rtdef_loc, d.s0rtdef_sym, s1te) end // end of [s0rtdef_tr] (* ****** ****** *) implement t0kindef_tr (d) = let val loc = d.t0kindef_loc val id = d.t0kindef_sym val loc_id = d.t0kindef_loc_id val def = s0exp_tr (d.t0kindef_def) in t1kindef_make (loc, id, loc_id, def) end // end of [t0kindef_tr] (* ****** ****** *) implement s0expdef_tr (d) = let val loc = d.s0expdef_loc val id = d.s0expdef_sym val loc_id = d.s0expdef_loc_id val arg = s0marglst_tr (d.s0expdef_arg) val res = s0rtopt_tr (d.s0expdef_res) val def = s0exp_tr (d.s0expdef_def) (* val () = begin print "s0expdef_tr: def = "; print def; print_newline () end // end of [val] *) in s1expdef_make (loc, id, loc_id, arg, res, def) end // end of [s0expdef_tr] (* ****** ****** *) implement s0aspdec_tr (d) = let val arg = s0marglst_tr (d.s0aspdec_arg) // end of [val] val res = s0rtopt_tr (d.s0aspdec_res) val def = s0exp_tr d.s0aspdec_def in s1aspdec_make (d.s0aspdec_loc, d.s0aspdec_qid, arg, res, def) end // end of [s0aspdec_tr] (* ****** ****** *) implement d0atdec_tr (d) = let val arg = a0msrtlst_tr (d.d0atdec_arg) val con = l2l (list_map_fun (d.d0atdec_con, d0atcon_tr)) in d1atdec_make ( d.d0atdec_loc, d.d0atdec_fil, d.d0atdec_sym, arg, con ) // end of [d1atdec_make] end // end of [d0atdec_tr] (* ****** ****** *) implement e0xndec_tr (d) = let val qua = d.e0xndec_qua val qua = q0marglst_tr (qua) var npf0: int = ~1 // HX: default val arg = (case+ d.e0xndec_arg of | Some s0e => let val s1e = s0exp_tr s0e in case+ s1e.s1exp_node of | S1Elist (npf, s1es) => (npf0 := npf; s1es) | _ => cons (s1e, nil ()) end // end of [Some] | None () => nil () ) : s1explst // end of [val] in e1xndec_make ( d.e0xndec_loc, d.e0xndec_fil, d.e0xndec_sym, qua, npf0, arg ) // end of [e1xndec_make] end // end of [e0xndec_tr] (* ****** ****** *) fun token_get_dcstkind (tok: token): dcstkind = let in // case+ tok.token_node of | T_FUN (fk) => ( case+ fk of // | FK_fn () => DCKfun () | FK_fun () => DCKfun () | FK_fnx () => DCKfun () // | FK_prfn () => DCKprfun () | FK_prfun () => DCKprfun () | FK_praxi () => DCKpraxi () // | FK_castfn () => DCKcastfn () // ) // end of [T_FUN] | T_VAL (vk) => ( case+ vk of // | VK_val () => DCKval () // | VK_prval () => DCKprval () // | VK_val_pos () => DCKval () | VK_val_neg () => DCKval () // ) // end of [T_VAL] | _ => let val () = assertloc (false) in DCKfun () end // end of [_] // end // end of [token_get_dcstkind] (* ****** ****** *) fn m0acdef_tr (d: m0acdef): m1acdef = let val loc = d.m0acdef_loc val sym = d.m0acdef_sym val arg = m0acarglst_tr (d.m0acdef_arg) val def = d0exp_tr (d.m0acdef_def) in m1acdef_make (loc, sym, arg, def) end // end of [m0acdef_tr] (* ****** ****** *) fn v0aldec_tr (d: v0aldec): v1aldec = let val p1t = p0at_tr d.v0aldec_pat val d1e = d0exp_tr d.v0aldec_def (* val () = begin print "v0aldec_tr: d1e = "; print d1e; print_newline () end // end of [val] *) val ann = witht0ype_tr (d.v0aldec_ann) in v1aldec_make (d.v0aldec_loc, p1t, d1e, ann) end // end of [v0aldec_tr] (* ****** ****** *) fn f0undec_tr ( isprf: bool, isrec: bool, d: f0undec ) : f1undec = let // val loc = d.f0undec_loc // val effopt = d.f0undec_eff val ( fcopt, efcopt ) = ( case+ effopt of | Some eff => ( fcopt, Some efc ) where { val (fcopt, lin, prf, efc) = e0fftaglst_tr (eff) } (* end of [where] *) // end of [Some] | None ((*void*)) => ( None(*fcopt*), Some efc ) where { val efc = ( if isprf then EFFCSTnil () else EFFCSTall () ) : effcst // end of [val] } (* end of [where] *) // end of [None] ) : @(fcopt, effcstopt) // val d1e_def = d0exp_tr_lams_dyn ( LAMKINDifix , None (*locopt*) , fcopt, 0 (*lin*) , d.f0undec_arg, d.f0undec_res, efcopt , d.f0undec_def ) (* end of [d0exp_lams_dyn_tr] *) // end of [val] // val () = if isrec then termet_check (loc, d1exp_is_metric d1e_def, efcopt) // end of [if] // end of [val] // val ann = witht0ype_tr (d.f0undec_ann) // in f1undec_make (loc, d.f0undec_sym, d.f0undec_sym_loc, d1e_def, ann) end // end of [f0undec_tr] (* ****** ****** *) fun f0undeclst_tr ( fk: funkind, ds: f0undeclst ) : f1undeclst = let val isprf = funkind_is_proof fk and isrec = funkind_is_recursive fk in // case+ ds of | nil () => nil () | cons (d, ds) => ( f0undec_tr (isprf, isrec, d) :: f0undeclst_tr (fk, ds) ) (* end of [cons] *) // end // end of [f0undeclst_tr] (* ****** ****** *) fn v0ardec_tr ( d: v0ardec ) : v1ardec = let val loc = d.v0ardec_loc val knd = d.v0ardec_knd val pfat = d.v0ardec_pfat // i0deopt val s1eopt = s0expopt_tr (d.v0ardec_type) val d1eopt = d0expopt_tr d.v0ardec_init in // v1ardec_make ( loc, knd, d.v0ardec_sym, d.v0ardec_sym_loc, pfat, s1eopt, d1eopt ) (* end of [v1ardec_make] *) // end // end of [v0ardec_tr] (* ****** ****** *) fn i0mpdec_tr ( d: i0mpdec ) : i1mpdec = let val loc = d.i0mpdec_loc val qid = d.i0mpdec_qid val tmparg = l2l (list_map_fun (qid.impqi0de_arg, t0mpmarg_tr)) val def = d0exp_tr_lams_dyn ( LAMKINDifix , None(*locopt*), None(*fcopt*), 0(*lin*) , d.i0mpdec_arg, d.i0mpdec_res, None(*efcopt*) , d.i0mpdec_def ) // end of [d0exp_lams_dyn_tr] // end of [val] in i1mpdec_make (d.i0mpdec_loc, qid, tmparg, def) end // end of [i0mpdec_tr] (* ****** ****** *) // fun the_PKGRELOC_set_decl (d0c0: d0ecl): void = $GLOB.the_PKGRELOC_set_decl ($UN.cast{ptr}(d0c0)) // fun the_PKGRELOC_set_decl_if (d0c0: d0ecl): void = () where { // val srcloc = $GLOB.the_PKGRELOC_get () val () = if srcloc > 0 then the_PKGRELOC_set_decl (d0c0) // } (* end of [the_PKGRELOC_set_decl_if] *) // (* ****** ****** *) extern fun i0nclude_tr ( d0c0: d0ecl, stadyn: int, given: string ) : d1eclist // endfun implement i0nclude_tr (d0c0, stadyn, given) = d1cs where { // val loc0 = d0c0.d0ecl_loc // val () = the_PKGRELOC_set_decl_if (d0c0) val opt = $FIL.filenameopt_make_relative (given) // val fil = ( case+ opt of | ~Some_vt (fil) => fil | ~None_vt ((*void*)) => let val srcloc = $GLOB.the_PKGRELOC_get () val () = if srcloc = 0 then { val () = prerr_error1_loc (loc0) val () = prerrln! (": the file [", given, "] is not available for inclusion.") val () = the_trans1errlst_add (T1E_i0nclude_tr (d0c0)) (* val () = $ERR.abort{void}((*reachable*)) // HX: it is meaningful to continue *) } (* end of [if] *) // end of [val] in $FIL.filename_dummy end // end of [None_vt] ) : filename // end of [val] // val d0cs = $PAR.parse_from_filename_toplevel2(stadyn, fil) // val ( pfpush | isexi ) = $FIL.the_filenamelst_push_check (fil) val ( ) = if isexi then let val () = $LOC.prerr_location (loc0) val () = prerr (": error(0)") val () = prerr (": including the file ["); val () = $FIL.prerr_filename_full (fil) val () = prerr ("] generates the following looping trace:\n") val () = $FIL.fprint_the_filenamelst (stderr_ref) val () = the_trans1errlst_add (T1E_i0nclude_tr (d0c0)) in $ERR.abort{void}((*reachable*)) end // end of [if] // end of [val] val () = $FIL.the_filenamelst_pop (pfpush | (*none*)) // (* val () = println! ("Including [", fil, "] starts.") *) val d1cs = d0eclist_tr (d0cs) (* val () = println! ("Including [", fil, "] finishes.") *) // } // end of [i0nclude_tr] (* ****** ****** *) fun ats_filename_get ((*void*)): string = let // val fil = $FIL.filename_get_current () val fname = $FIL.filename_get_fullname (fil) // in $SYM.symbol_get_name (fname) end // end of [ats_filename_get] (* ****** ****** *) fun ats_packname_get ((*void*)): Stropt = let // val opt = the_e1xpenv_find (ATS_PACKNAME) // in // case+ opt of | ~Some_vt (exp) => ( case+ exp.e1xp_node of | E1XPstring (ns) => stropt_some (ns) | _ => let val () = prerr_warning1_loc (exp.e1xp_loc) val () = prerrln! ": a string definition is required for [ATS_PACKNAME]." in stropt_none (*void*) end // end of [_] ) // end of [Some_vt] | ~None_vt ((*void*)) => stropt_none (*void*) // end // end of [ats_packname_get] (* ****** ****** *) fun ats_packname_get2 ( opt: Stropt, nspace: symbol ) : Stropt = let // val opt2 = ats_packname_get () val issome = stropt_is_some (opt2) // in // if issome then opt2 else let val issome = stropt_is_some (opt) in if issome then let val name = stropt_unsome (opt) val nspace = $SYM.symbol_get_name (nspace) val name = sprintf ("%s%s", @(name, nspace)) val name = string_of_strptr (name) in stropt_some (name) end // end of [then] else let val name = ats_filename_get () val nspace = $SYM.symbol_get_name (nspace) val name = sprintf ("%s%s", @(name, nspace)) val name = string_of_strptr (name) in stropt_some (name) end // end of [else] // end of [if] end // end of [else] // end // end of [ats_packname_get2] (* ****** ****** *) %{^ // static ats_bool_type patsopt_string_suffix_is_dats (ats_ptr_type s0) { char *s = strrchr (s0, '.') ; if (!s) return ats_false_bool ; if (strcmp (s, ".dats") != 0) return ats_false_bool ; return ats_true_bool ; } // end of [patsopt_string_suffix_is_dats] // %} // end of [%{^] extern fun string_suffix_is_dats (s: string): bool = "patsopt_string_suffix_is_dats" // end of [string_suffix_is_dats] (* ****** ****** *) extern fun s0taload_tr ( d0c0: d0ecl , idopt: symbolopt, given: string , ldflag: &int? >> int , filref: &filename? >> filename ) : d1eclist // end of [s0taload_tr] (* ****** ****** *) local fun auxload ( fil: filename, ldflag: &int >> int ) : d1eclist = let // val pname = $FIL.filename_get_partname (fil) // val isdats = string_suffix_is_dats (pname) // val flag = ( if isdats then 1(*dyn*) else 0(*sta*) ) : int // end of [val] // val d0cs = $PAR.parse_from_filename_toplevel2(flag, fil) // val (pfsave | ()) = the_trans1_env_save () // val (pfpush | ()) = $FIL.the_filenamelst_push (fil) val d1cs = d0eclist_tr (d0cs) // HX: it is done in [fil] val ((*void*)) = $FIL.the_filenamelst_pop (pfpush | (*none*)) // val pack = ats_packname_get () val d1c_pack = d1ecl_packname (pack) val d1cs = list_cons{d1ecl}(d1c_pack, d1cs) // (* // // HX-2014-06-06: // ATS_STALOADFLAG is no longer in use // val ans = the_e1xpenv_find (ATS_STALOADFLAG) val () = ( case+ ans of | ~Some_vt e1xp => let val v1al = e1xp_valize (e1xp) in if v1al_is_false v1al then ldflag := 0 end // end of [Some_vt] | ~None_vt () => () // the default value ) : void // end of [val] *) // val () = the_trans1_env_restore (pfsave | (*none*)) // val ((*void*)) = staload_file_insert (fil, ldflag, d1cs) // in d1cs end // end of [auxload] in (* in of [local] *) implement s0taload_tr ( d0c0, idopt, given, ldflag, filref ) = let // val loc0 = d0c0.d0ecl_loc // // HX-2014-06-06: no longer in use // val () = ldflag := 0 // HX: for ATS_STALOADFLAG // val () = the_PKGRELOC_set_decl_if (d0c0) val opt = $FIL.filenameopt_make_relative (given) // val fil = ( case+ opt of | ~Some_vt (fil) => fil | ~None_vt ((*void*)) => let val srcloc = $GLOB.the_PKGRELOC_get () val () = if srcloc = 0 then { val () = prerr_error1_loc (loc0) val () = prerrln! (": the file [", given, "] is not available for staloading.") val () = the_trans1errlst_add (T1E_s0taload_tr (d0c0)) (* val () = $ERR.abort{void}((*reachable*)) // HX: it is meaningful to continue *) } (* end of [if] *) // end of [val] in $FIL.filename_dummy end // end of [None_vt] ) : filename // end of [val] // val ( pfpush | isexi ) = $FIL.the_filenamelst_push_check (fil) val ( ) = if isexi then { val () = $LOC.prerr_location (loc0) val () = prerr (": error(0)") val () = prerr (": staloading the file ["); val () = $FIL.prerr_filename_full (fil) val () = prerr ("] generates the following looping trace:\n") val () = $FIL.fprint_the_filenamelst (stderr_ref) val () = the_trans1errlst_add (T1E_s0taload_tr (d0c0)) val () = $ERR.abort{void}((*reachable*)) } (* end of [if] *) // end of [val] val () = $FIL.the_filenamelst_pop (pfpush | (*none*)) // val () = filref := fil // val opt = staload_file_search (fil) // in // case+ opt of | ~Some_vt ( flagd1cs ) => flagd1cs.1 where { val () = ldflag := flagd1cs.0 (* val () = println! ("The file [", fil, " is already loaded.") *) } (* end of [Some_vt] *) | ~None_vt () => auxload (fil, ldflag) // end // end of [s0taload_tr] end // end of [local] (* ****** ****** *) extern fun r0equire_tr (d0c0: d0ecl, given: string): filename // end of [r0equire_tr] extern fun r0equire_tr_if (d0c0: d0ecl, given: string): filename // end of [r0equire_tr_if] implement r0equire_tr (d0c0, given) = let // val srcloc = $GLOB.the_PKGRELOC_get () // in // if srcloc > 0 then r0equire_tr_if (d0c0, given) else $FIL.filename_dummy // end // end of [r0equire_tr] implement r0equire_tr_if (d0c0, given) = let // val loc0 = d0c0.d0ecl_loc // val () = the_PKGRELOC_set_decl (d0c0) val opt = $FIL.filenameopt_make_relative (given) // in // case+ opt of | ~Some_vt (fil) => fil | ~None_vt ((*void*)) => $FIL.filename_dummy // end // end of [r0equire_tr_if] (* ****** ****** *) extern fun d0ynload_tr (d0c0: d0ecl, given: string): filename // end of [d0ynload_tr] implement d0ynload_tr (d0c0, given) = let // val loc0 = d0c0.d0ecl_loc val () = the_PKGRELOC_set_decl_if (d0c0) // val opt = $FIL.filenameopt_make_relative (given) // in // case+ opt of | ~Some_vt (fil) => fil | ~None_vt ((*void*)) => let val srcloc = $GLOB.the_PKGRELOC_get () val () = if srcloc = 0 then { val () = prerr_error1_loc (loc0) val () = prerrln! (": the file [", given, "] is not available for dynloading") val () = the_trans1errlst_add (T1E_d0ynload_tr (d0c0)) (* val () = $ERR.abort{void}((*reachable*)) // HX: it is meaningful to continue *) } (* end of [if] *) // end of [val] in $FIL.filename_dummy end // end of [None_vt] // end // end of [d0ynload_tr] (* ****** ****** *) fn guad0ecl_tr ( knd: srpifkind, gd: guad0ecl ) : d1eclist = let fun loop ( knd: srpifkind, gdn: guad0ecl_node ) : d1eclist = case+ gdn of | GD0Cone (e0xp, d0cs) => let val v1al = e1xp_valize_if (knd, e0xp_tr e0xp) in if v1al_is_true (v1al) then d0eclist_tr d0cs else list_nil () end // end of [GD0Cone] | GD0Ctwo ( e0xp, d0cs_then, d0cs_else ) => let val v1al = e1xp_valize_if (knd, e0xp_tr e0xp) in if v1al_is_true v1al then d0eclist_tr d0cs_then else d0eclist_tr d0cs_else // end of [if] end // end of [GD0Ctwo] | GD0Ccons ( e0xp, d0cs_then, knd_elif, gdn_else ) => let val v1al = e1xp_valize_if (knd, e0xp_tr e0xp) in if v1al_is_true v1al then d0eclist_tr d0cs_then else loop (knd_elif, gdn_else) // end of [if] end // end of [GD0Ccons] // end of [loop] in loop (knd, gd.guad0ecl_node) end // end of [guad0ecl_tr] (* ****** ****** *) implement d0ecl_tr (d0c0) = let // val loc0 = d0c0.d0ecl_loc (* val () = ( print "d0ecl_tr: loc0 = "; $LOC.print_location (loc0); print_newline () ) (* end of [val] *) *) in // case+ d0c0.d0ecl_node of // | D0Cfixity (f0xty, ids) => ( d0ecl_fixity_tr (f0xty, ids); d1ecl_none (loc0) ) // end of [D0Cfixity] | D0Cnonfix (ids) => let val () = d0ecl_nonfix_tr (ids) in d1ecl_none (loc0) end // end of [D0Cnonfix] // | D0Csymintr (ids) => d1ecl_symintr (loc0, ids) | D0Csymelim (ids) => d1ecl_symelim (loc0, ids) // | D0Coverload (id, qid, pval) => d1ecl_overload (loc0, id, qid, pval) // end of [D0Coverload] // | D0Ce0xpdef (id, def) => let val def = ( case+ def of | Some e0xp => e0xp_tr e0xp | None () => e1xp_none (loc0) ) : e1xp // end of [val] val () = the_e1xpenv_add (id, def) in // // HX-2011-04-27: [def] should not be normalized d1ecl_e1xpdef (loc0, id, def) // as dynamic-binding is assumed. end // end of [D0Ce0xpdef] | D0Ce0xpundef (id) => let val def = e1xp_undef (loc0) val ((*void*)) = the_e1xpenv_add (id, def) in d1ecl_e1xpundef (loc0, id, def) end // end of [D0Ce0xpundef] // | D0Ce0xpact (knd, e0xp) => let val e1xp = e0xp_tr (e0xp) (* val () = println! ("d0ecl_tr: D0Ce0xpact: e1xp = ", e1xp) // end of [val] *) val v1al = e1xp_valize (e1xp) val () = ( case+ knd of | E0XPACTerror() => do_e0xpact_error(e0xp.e0xp_loc, v1al) // end of [E0XPACTerror] | E0XPACTprerr() => do_e0xpact_prerr(v1al) | E0XPACTprint() => do_e0xpact_print(v1al) | E0XPACTassert() => do_e0xpact_assert (e0xp.e0xp_loc, v1al) // end of [E0XPACTassert] ) : void // end of [val] in d1ecl_none (loc0) end // end of [D0Ce0xpact] // | D0Cpragma (e0xps) => let val e1xps = e0xplst_tr(e0xps) in d1ecl_pragma(loc0, e1xps) end // end of [D0Cpragma] | D0Ccodegen (knd, e0xps) => let val e1xps = e0xplst_tr(e0xps) in d1ecl_codegen(loc0, knd, e1xps) end // end of [D0Ccodegen] // | D0Cdatsrts (d0cs) => let val d1cs = list_map_fun (d0cs, d0atsrtdec_tr) // end of [val] in d1ecl_datsrts (loc0, l2l(d1cs)) end // end of [D0Cdatsrts] | D0Csrtdefs (d0cs) => let val d1cs = list_map_fun(d0cs, s0rtdef_tr) in d1ecl_srtdefs (loc0, l2l(d1cs)) end // end of [D0Csrtdefs] // | D0Cstacsts (d0cs) => let val d1cs = list_map_fun(d0cs, s0tacst_tr) in d1ecl_stacsts (loc0, l2l(d1cs)) end // end of [D0Cstacsts] | D0Cstacons (knd, d0cs) => let val d1cs = list_map_fun(d0cs, s0tacon_tr) in d1ecl_stacons (loc0, knd, l2l(d1cs)) end // end of [D0Cstacons] (* | D0Cstavars (d0cs) => let val d1cs = list_map_fun(d0cs, s0tavar_tr) in d1ecl_stavars (loc0, l2l(d1cs)) end // end of [D0Cstavars] *) // | D0Ctkindef (d0c) => d1ecl_tkindef (loc0, t0kindef_tr d0c) | D0Csexpdefs (knd, d0cs) => let val d1cs = list_map_fun(d0cs, s0expdef_tr) in d1ecl_sexpdefs (loc0, knd, l2l(d1cs)) end // end of [D0Csexpdefs] | D0Csaspdec (d0c) => d1ecl_saspdec (loc0, s0aspdec_tr (d0c)) // | D0Cexndecs (d0cs) => let val d1cs = list_map_fun(d0cs, e0xndec_tr) in d1ecl_exndecs (loc0, l2l(d1cs)) end // end of [D0Cexndecs] | D0Cdatdecs (knd, d0cs1, d0cs2) => let val d1cs1 = list_map_fun (d0cs1, d0atdec_tr) val d1cs2 = list_map_fun (d0cs2, s0expdef_tr) in d1ecl_datdecs (loc0, knd, l2l(d1cs1), l2l(d1cs2)) end // end of [D0Cdatdecs] // | D0Cclassdec (id, sup) => let val sup = s0expopt_tr (sup) in d1ecl_classdec (loc0, id, sup) end // end of [D0Cclassdec] // | D0Cextype (name, def) => let val def = s0exp_tr (def) in d1ecl_extype (loc0, name, def) end // end of [D0Cextype] | D0Cextype (knd, name, def) => let val def = s0exp_tr (def) in d1ecl_extype2 (loc0, knd, name, def) end // end of [D0Cextype] | D0Cextvar (name, def) => let val def = d0exp_tr (def) in d1ecl_extvar (loc0, name, def) end // end of [D0Cextvar] | D0Cextcode (knd, pos, code) => d1ecl_extcode (loc0, knd, pos, code) // | D0Cdcstdecs ( knd, tok, qarg, d0cs // knd: 0/1: static/dynamic ) => let val dck = token_get_dcstkind (tok) val isfun = dcstkind_is_fun (dck) and isprf = dcstkind_is_proof (dck) val qarg = q0marglst_tr (qarg) val d1cs = d0cstdeclst_tr (isfun, isprf, d0cs) in d1ecl_dcstdecs (loc0, knd, dck, qarg, d1cs) end // end of [D0Cdcstdecs] // | D0Cmacdefs (knd, isrec, d0cs) => let // knd: 0/1 => short/long val d1cs = list_map_fun (d0cs, m0acdef_tr) in d1ecl_macdefs (loc0, knd, isrec, l2l(d1cs)) end // end of [D0Cmacdefs] // | D0Cfundecs (knd, qarg, d0cs) => let val qarg = q0marglst_tr (qarg) val d1cs = f0undeclst_tr (knd, d0cs) in d1ecl_fundecs (loc0, knd, qarg, d1cs) end // end of [D0Cfundecs] | D0Cvaldecs (knd, isrec, d0cs) => let val d1cs = list_map_fun (d0cs, v0aldec_tr) in d1ecl_valdecs (loc0, knd, isrec, l2l(d1cs)) end // end of [D0Cvaldecs] | D0Cvardecs (knd, d0cs) => let val d1cs = list_map_fun (d0cs, v0ardec_tr) in d1ecl_vardecs (loc0, knd, l2l(d1cs)) end // end of [D0Cvardecs] // | D0Cimpdec (knd, i0mparg, d0c) => let val i1mparg = i0mparg_tr (i0mparg) in d1ecl_impdec (loc0, knd, i1mparg, i0mpdec_tr d0c) end (* end of [D0Cimpdec] *) // | D0Cinclude (pfil, stadyn, given) => let val ( pfpush | () ) = $FIL.the_filenamelst_push (pfil) val d1cs = i0nclude_tr (d0c0, stadyn, given) val () = $FIL.the_filenamelst_pop (pfpush | (*none*)) in d1ecl_include (loc0, stadyn, d1cs) end // end of [D0Cinclude] // | D0Cstaload ( pfil, idopt, given ) => let // var ldflag: int // unitialized var fil: filename // unitialized // val ( pfpush | () ) = $FIL.the_filenamelst_push (pfil) val d1cs = s0taload_tr (d0c0, idopt, given, ldflag, fil) val () = $FIL.the_filenamelst_pop (pfpush | (*none*)) // in d1ecl_staload (loc0, idopt, fil, ldflag, d1cs) end // end of [D0Cstaload] // | D0Cstaloadnm (pfil, alias, nspace) => d1ecl_staloadnm (loc0, alias, nspace) // end of [D0Cstaloadnm] // | D0Cstaloadloc ( pfil, nspace, d0cs ) => let // val opt = ats_packname_get () // val (pfsave | ()) = the_trans1_env_save () // val d1cs = d0eclist_tr (d0cs) // HX: it is done in [pfil] // val pack = ats_packname_get2 (opt, nspace) val d1c_pack = d1ecl_packname (pack) // HX: special decl val d1cs = list_cons{d1ecl}(d1c_pack, d1cs) // val () = the_trans1_env_restore (pfsave | (*none*)) in d1ecl_staloadloc (loc0, pfil, nspace, d1cs) end // end of [D0Cstaloadloc] // | D0Crequire (pfil, given) => let val cfil = r0equire_tr (d0c0, given) in d1ecl_none (loc0) // end of [val] end // end of [D0Crequire] // | D0Cdynload (pfil, given) => let val ( pfpush | () ) = $FIL.the_filenamelst_push (pfil) val cfil = d0ynload_tr (d0c0, given) val () = $FIL.the_filenamelst_pop (pfpush | (*none*)) in d1ecl_dynload (loc0, cfil) end // end of [D0Cdynload] // | D0Clocal ( d0cs_head, d0cs_body ) => let val (pfenv1 | ()) = the_trans1_env_push () val d1cs_head = d0eclist_tr (d0cs_head) val (pfenv2 | ()) = the_trans1_env_push ((*none*)) val d1cs_body = d0eclist_tr (d0cs_body) val () = the_trans1_env_localjoin (pfenv1, pfenv2 | (*none*)) in d1ecl_local (d0c0.d0ecl_loc, d1cs_head, d1cs_body) end // end of [D0Clocal] // | D0Cguadecl (knd, gd0c) => let val d1cs = guad0ecl_tr (knd, gd0c) in d1ecl_list (loc0, d1cs) end (* end of [D0Cguadecl] *) // (* | _ => let val () = $LOC.prerr_location (loc0) val () = fprintln! (stderr_ref, ": Not yet implemented: d0ecl_tr: d0c0 = ", d0c0) in d1ecl_none (loc0) end // end of [_] *) // end // end of [d0ecl_tr] implement d0eclist_tr (d0cs) = list_of_list_vt (list_map_fun (d0cs, d0ecl_tr)) // end of [d0eclist_tr] (* ****** ****** *) implement d0eclist_tr_errck (d0cs) = d1cs where { // val d1cs = d0eclist_tr (d0cs) // val opt = ats_packname_get () val isnone = stropt_is_none (opt) // val d1cs = ( // // HX-2013-06: // for [PACKNAME] to be set externally // if isnone then d1cs else let val d1c_pack = d1ecl_packname (opt) // end of [val] in list_cons (d1c_pack, d1cs) end // end of [else] // end of [if] ) : d1eclist // end of [val] // val () = the_trans1errlst_finalize () // } // end of [d0eclist_tr_errck] (* ****** ****** *) local fun intrep2int (rep: string): int = let // val x = $UT.llint_make_string (rep) in int_of_llint (x) // end // end of [intrep2int] fun aux_dynloadflag(): void = let val opt = the_e1xpenv_find (ATS_DYNLOADFLAG) in // case+ opt of | ~Some_vt (e) => ( case+ e.e1xp_node of | E1XPint (x) => $GLOB.the_DYNLOADFLAG_set (x) | E1XPintrep (rep) => $GLOB.the_DYNLOADFLAG_set (intrep2int(rep)) | _ => let val () = prerr_error1_loc (e.e1xp_loc) val () = prerr ": non-integer definition for [ATS_DYNLOADFLAG]." val () = prerr_newline ((*void*)) in $ERR.abort{void}((*reachable*)) // HX: is it meaningful to continue? end // end of [_] ) (* end of [Some_vt] *) // // HX: [ATS_DYNLOADFLAG] is set to 1 by default // | ~None_vt ((*void*)) => () // end // end of [aux_dynloadflag] fun aux_dynloadname(): void = let val opt = the_e1xpenv_find (ATS_DYNLOADNAME) in // case+ opt of | ~Some_vt (e) => ( case+ e.e1xp_node of | E1XPstring (x) => $GLOB.the_DYNLOADNAME_set (x) | _ => let val () = prerr_error1_loc (e.e1xp_loc) val () = prerr ": non-string definition for [ATS_DYNLOADNAME]." val () = prerr_newline ((*void*)) in $ERR.abort{void}((*reachable*)) // HX: is it meaningful to continue? end // end of [_] ) (* end of [Some_vt] *) // // HX: the [ATS_DYNLOADNAME] is set to stropt_none // | ~None_vt ((*void*)) => () // end // end of [aux_dynloadname] fun aux_mainatsflag(): void = let val opt = the_e1xpenv_find (ATS_MAINATSFLAG) in // case+ opt of | ~Some_vt (e) => ( case+ e.e1xp_node of | E1XPint (x) => $GLOB.the_MAINATSFLAG_set (x) | E1XPintrep (rep) => $GLOB.the_MAINATSFLAG_set (intrep2int(rep)) | _ => let val () = prerr_error1_loc (e.e1xp_loc) val () = prerr ": non-integer definition for [ATS_MAINATSFLAG]." val () = prerr_newline ((*void*)) in $ERR.abort{void}((*reachable*)) // HX: is it meaningful to continue? end // end of [_] ) (* end of [Some_vt] *) // // HX: the [ATS_MAINATSFLAG] is set to 0 by default // | ~None_vt ((*void*)) => () // end // end of [aux_mainatsflag] fun aux_static_prefix(): void = let val opt = the_e1xpenv_find (ATS_STATIC_PREFIX) in // case+ opt of | ~Some_vt (e) => ( case+ e.e1xp_node of | E1XPstring (x) => $GLOB.the_STATIC_PREFIX_set (x) | _ => let val () = prerr_error1_loc (e.e1xp_loc) val () = prerr ": non-string definition for [ATS_STATIC_PREFIX]." val () = prerr_newline ((*void*)) in $ERR.abort{void}((*reachable*)) // HX: is it meaningful to continue? end // end of [_] ) (* end of [Some_vt] *) // // HX: the [ATS_STATIC_PREFIX] is set to stropt_none // | ~None_vt ((*void*)) => () // end // end of [aux_static_prefix] in (* in of [local] *) implement trans1_finalize () = { // val () = aux_dynloadflag () val () = aux_dynloadname () val () = aux_mainatsflag () val () = aux_static_prefix () // val () = $FIL.the_filenamelst_ppop () // } (* end of [trans1_finalize] *) end // end of [local] (* ****** ****** *) %{$ ats_bool_type patsopt_extnam_ismac ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; /* sgn = strncmp ((char*)ext, "#", 1) ; if (sgn) sgn = strncmp ((char*)ext, "mac#", 4) ; */ sgn = strncmp ((char*)ext, "mac#", 4) ; // if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_ismac] ats_bool_type patsopt_extnam_issta ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; sgn = strncmp ((char*)ext, "sta#", 4) ; if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_issta] ats_bool_type patsopt_extnam_isext ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; sgn = strncmp ((char*)ext, "ext#", 4) ; if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_isext] %} // end of [%{$] (* ****** ****** *) (* end of [pats_trans1_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp3.dats0000664000175000017500000006156312655455557017036 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" // staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" // (* ****** ****** *) implement p3at_make_node (loc, s2f, node) = '{ p3at_loc= loc , p3at_node= node , p3at_type= s2f , p3at_dvaropt= None () , p3at_type_left= None () } // end of [p3at_make_node] implement p3at_any (loc, s2f, d2v) = p3at_make_node (loc, s2f, P3Tany (d2v)) // end of [p3at_any] implement p3at_var (loc, s2f, d2v) = p3at_make_node (loc, s2f, P3Tvar (d2v)) // end of [p3at_var] implement p3at_con (loc, s2f, pck, d2c, npf, p3ts) = p3at_make_node (loc, s2f, P3Tcon (pck, d2c, npf, p3ts)) // end of [p3at_con] implement p3at_int (loc, s2f, i) = p3at_make_node (loc, s2f, P3Tint (i)) // end of [p3at_int] implement p3at_intrep (loc, s2f, rep) = p3at_make_node (loc, s2f, P3Tintrep (rep)) // end of [p3at_intrep] implement p3at_bool (loc, s2f, b) = p3at_make_node (loc, s2f, P3Tbool (b)) // end of [p3at_bool] implement p3at_char (loc, s2f, c) = p3at_make_node (loc, s2f, P3Tchar (c)) // end of [p3at_char] implement p3at_float (loc, s2f, rep) = p3at_make_node (loc, s2f, P3Tfloat (rep)) // end of [p3at_float] implement p3at_string (loc, s2f, str) = p3at_make_node (loc, s2f, P3Tstring (str)) // end of [p3at_string] implement p3at_i0nt (loc, s2f, x) = p3at_make_node (loc, s2f, P3Ti0nt (x)) // end of [p3at_i0nt] implement p3at_f0loat (loc, s2f, x) = p3at_make_node (loc, s2f, P3Tf0loat (x)) // end of [p3at_f0loat] implement p3at_empty (loc, s2f) = p3at_make_node (loc, s2f, P3Tempty ()) // end of [p3at_empty] implement p3at_rec ( loc, s2f, knd, npf, lp3ts ) = p3at_make_node (loc, s2f, P3Trec (knd, npf, lp3ts)) implement p3at_lst ( loc, s2f, lin, s2e_elt, p3ts ) = p3at_make_node (loc, s2f, P3Tlst (lin, s2e_elt, p3ts)) implement p3at_refas ( loc, s2f, d2v, p3t ) = p3at_make_node (loc, s2f, P3Trefas (d2v, p3t)) implement p3at_exist ( loc, s2f, s2vs, p3t ) = p3at_make_node (loc, s2f, P3Texist (s2vs, p3t)) implement p3at_vbox ( loc, s2f, d2v ) = p3at_make_node (loc, s2f, P3Tvbox (d2v)) implement p3at_ann ( loc, s2f, p3t, ann ) = p3at_make_node (loc, s2f, P3Tann (p3t, ann)) implement p3at_errpat (loc, s2f) = p3at_make_node (loc, s2f, P3Terrpat ()) // end of [p3at_errpat] (* ****** ****** *) implement p3at_get_type (p3t) = p3t.p3at_type implement p3at_get_dvaropt (p3t) = p3t.p3at_dvaropt implement p3at_get_type_left (p3t) = p3t.p3at_type_left (* ****** ****** *) implement p3at_is_prf (p3t) = let val s2e = p3at_get_type (p3t) in s2exp_is_prf (s2e) end // end of [p3at_is_prf] (* ****** ****** *) implement p3at_is_lincon (p3t) = ( case+ p3t.p3at_node of | P3Tcon (pck, _, _, _) => pck = PCKlincon | _ => false ) (* end of [p3at_is_lincon] *) implement p3at_is_unfold (p3t) = ( case+ p3t.p3at_node of | P3Tcon (pck, _, _, _) => pck = PCKunfold | _ => false ) (* end of [p3at_is_unfold] *) (* ****** ****** *) local fun aux_labp3atlst ( lxs: labp3atlst ) : bool = ( case+ lxs of | list_nil ((*void*)) => true | list_cons (lx, lxs) => let val+LABP3AT(l, x) = lx in if p3at_is_full(x) then aux_labp3atlst(lxs) else false // end of [if] end // end of [list_con] ) in (* in-of-local *) implement p3at_is_full (p3t0) = ( // case+ p3t0.p3at_node of // | P3Tany _ => true | P3Tvar _ => true // | P3Tempty _ => true // | P3Trec ( knd, npf, lxs ) => aux_labp3atlst (lxs) // | P3Trefas (_, p3t) => p3at_is_full (p3t) // end of [P3Trefas] | P3Texist (_, p3t) => p3at_is_full (p3t) // end of [P3Texist] // | P3Tann(p3t, _) => p3at_is_full (p3t) // | _ (*rest-of-P3T*) => false // ) (* end of [p3at_is_full] *) end // end of [local] (* ****** ****** *) // implement d3exp_get_type(d3e) = d3e.d3exp_type // implement d3explst_get_type (d3es) = let val s2es = list_map_fun (d3es, d3exp_get_type) // end of [val] in list_of_list_vt (s2es) end // end of [d3explst_get_type] // (* ****** ****** *) // implement d3exp_is_prf (d3e) = let val s2e = d3exp_get_type(d3e) in s2exp_is_prf(s2e) // end of [val] end // end of [d3exp_is_prf] // implement d3exp_isnot_prf (d3e) = (if d3exp_is_prf(d3e) then false else true) // (* ****** ****** *) implement d3exp_cst ( loc, s2f, d2c ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Ecst (d2c) } // end of [d3exp_cst] (* ****** ****** *) implement d3exp_var ( loc, s2f, d2v ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Evar (d2v) } // end of [d3exp_var] (* ****** ****** *) implement d3exp_int (loc, s2f, i) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eint (i) } // end of [d3exp_int] implement d3exp_intrep (loc, s2f, rep) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eintrep (rep) } // end of [d3exp_intrep] (* ****** ****** *) implement d3exp_bool (loc, s2f, b) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Ebool (b) } // end of [d3exp_bool] implement d3exp_char (loc, s2f, c) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Echar (c) } // end of [d3exp_char] implement d3exp_float (loc, s2f, rep) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Efloat (rep) } // end of [d3exp_float] implement d3exp_string (loc, s2f, str) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Estring (str) } // end of [d3exp_string] (* ****** ****** *) implement d3exp_i0nt (loc, s2f, x) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Ei0nt (x) } // end of [d3exp_i0nt] implement d3exp_f0loat (loc, s2f, x) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Ef0loat (x) } // end of [d3exp_f0loat] (* ****** ****** *) implement d3exp_top (loc, s2f) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Etop () } // end of [d3exp_top] implement d3exp_empty (loc, s2f) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eempty () } // end of [d3exp_empty] (* ****** ****** *) implement d3exp_cstsp (loc, s2f, csp) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Ecstsp (csp) } // end of [d3exp_cstsp] (* ****** ****** *) implement d3exp_literal (loc, s2f, d3e) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eliteral (d3e) } // end of [d3exp_literal] (* ****** ****** *) implement d3exp_extval (loc, s2f, name) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eextval (name) } // end of [d3exp_extval] implement d3exp_extfcall (loc, s2f, _fun, _arg) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eextfcall (_fun, _arg) } // end of [d3exp_extfcall] implement d3exp_extmcall (loc, s2f, _obj, _mtd, _arg) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eextmcall (_obj, _mtd, _arg) } // end of [d3exp_extmcall] (* ****** ****** *) (* implement d3exp_con ( loc, s2f_res, d2c, npf, d3es_arg ) = '{ d3exp_loc= loc , d3exp_type= s2f_res , d3exp_node= D3Econ (d2c, npf, d3es_arg) } // end of [d3exp_con] *) local fun aux1 ( d3es: d3explst ) : bool = let fn f (d3e: d3exp): bool = case+ d3e.d3exp_node of | D3Etop _ => true | _ => false in list_exists_fun (d3es, f) end // end of [aux1] fun aux2 ( d3es: d3explst ) : s2explst = ( case+ d3es of | list_cons (d3e, d3es) => let val s2e = d3exp_get_type (d3e) val s2e = ( case+ d3e.d3exp_node of | D3Etop () => s2exp_topize_0 (s2e) | _ => s2e ) : s2exp // end of [val] val s2es = aux2 (d3es) in list_cons (s2e, s2es) end // end of [list_cons] | list_nil () => list_nil () ) // end of [aux2] in // in of [local] implement d3exp_con ( loc, s2e, d2c, npf, d3es_arg ) = let var s2e: s2exp = s2e val istop = aux1 (d3es_arg) val () = if istop then let val s2es_arg = aux2 (d3es_arg) in s2e := s2exp_datcontyp (d2c, s2es_arg) end // end of [if] in '{ d3exp_loc= loc , d3exp_type= s2e , d3exp_node= D3Econ (d2c, npf, d3es_arg) } end // end of [d3exp_con] end // end of [local] (* ****** ****** *) implement d3exp_tmpcst ( loc, s2f_res, d2c, t2mas ) = '{ d3exp_loc= loc , d3exp_type= s2f_res , d3exp_node= D3Etmpcst (d2c, t2mas) } // end of [d3exp_tmpcst] implement d3exp_tmpvar ( loc, s2f_res, d2v, t2mas ) = '{ d3exp_loc= loc , d3exp_type= s2f_res , d3exp_node= D3Etmpvar (d2v, t2mas) } // end of [d3exp_tmpvar] (* ****** ****** *) implement d3exp_foldat (loc, d3e) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Efoldat (d3e) } end // end of [d3exp_foldat] implement d3exp_freeat (loc, d3e) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Efreeat (d3e) } end // end of [d3exp_freeat] (* ****** ****** *) implement d3exp_item ( loc, s2f, d2i, t2mas ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eitem (d2i, t2mas) // d2i: d2itm } // end of [d3exp_item] (* ****** ****** *) implement d3exp_let ( loc, d3cs, d3e ) = let val s2f = d3exp_get_type (d3e) in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Elet (d3cs, d3e) } end // end of [d3exp_let] (* ****** ****** *) implement d3exp_app_sta (loc, s2f, d3e) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eapp_sta (d3e) } // end of [d3exp_app_sta] (* ****** ****** *) implement d3exp_app_unista (loc, s2f, d3e) = let val s2f0 = d3exp_get_type (d3e) in // case+ s2f0.s2exp_node of | S2Euni _ => d3exp_app_sta (loc, s2f, d3e) | S2Emetfun _ => d3exp_app_sta (loc, s2f, d3e) | _ => d3e // end // end of [d3exp_app_unista] (* ****** ****** *) implement d3exp_app_dyn ( loc, s2f, _fun, npf, _arg ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eapp_dyn (_fun, npf, _arg) } // end of [d3exp_app_dyn] (* ****** ****** *) implement d3exp_lst ( loc, s2f_lst, lin, s2f_elt, d3es ) = '{ d3exp_loc= loc , d3exp_type= s2f_lst , d3exp_node= D3Elst (lin, s2f_elt, d3es) } // end of [d3exp_lst] implement d3exp_tup ( loc, s2f_tup, knd, npf, d3es ) = '{ d3exp_loc= loc , d3exp_type= s2f_tup , d3exp_node= D3Etup (knd, npf, d3es) } // end of [d3exp_tup] implement d3exp_rec ( loc, s2f_rec, knd, npf, ld3es ) = '{ d3exp_loc= loc , d3exp_type= s2f_rec , d3exp_node= D3Erec (knd, npf, ld3es) } // end of [d3exp_rec] implement d3exp_seq ( loc, s2f, d3es ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eseq (d3es) } // end of [d3exp_seq] (* ****** ****** *) implement d3exp_if ( loc, s2e_if, _cond, _then, _else ) = '{ d3exp_loc= loc , d3exp_type= s2e_if , d3exp_node= D3Eif (_cond, _then, _else) } // end of [d3exp_if] implement d3exp_sif ( loc, s2e_sif, _cond, _then, _else ) = '{ d3exp_loc= loc , d3exp_type= s2e_sif , d3exp_node= D3Esif (_cond, _then, _else) } // end of [d3exp_sif] (* ****** ****** *) implement d3exp_case ( loc, s2e_case, casknd, d3es, c3ls ) = let in '{ d3exp_loc= loc , d3exp_type= s2e_case , d3exp_node= D3Ecase (casknd, d3es, c3ls) } end // end of [d3exp_case] implement d3exp_scase ( loc, s2e_scase, s2e_val, sc3ls ) = let in '{ d3exp_loc= loc , d3exp_type= s2e_scase , d3exp_node= D3Escase (s2e_val, sc3ls) } end // end of [d3exp_scase] (* ****** ****** *) implement d3exp_selab ( loc, s2f, d3e, d3ls ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eselab (d3e, d3ls) } // end of [d3exp_selab] (* ****** ****** *) implement d3exp_ptrofvar (loc, s2f, d2v) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eptrofvar (d2v) } // end of [d3exp_ptrofvar] implement d3exp_ptrofsel ( loc, s2f, d3e, s2rt, d3ls ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eptrofsel (d3e, s2rt, d3ls) } // end of [d3exp_ptrofsel] (* ****** ****** *) implement d3exp_viewat (loc, s2at, d3e, d3ls) = '{ d3exp_loc= loc , d3exp_type= s2at , d3exp_node= D3Eviewat (d3e, d3ls) } // end of [d3exp_viewat] implement d3exp_viewat_assgn ( loc, d3e_l, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eviewat_assgn (d3e_l, d3ls, d3e_r) } end // end of [d3exp_viewat_assgn] (* ****** ****** *) implement d3exp_sel_var ( loc, s2f, d2v, s2rt, d3ls ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Esel_var (d2v, s2rt, d3ls) } // end of [d3exp_sel_var] (* ****** ****** *) implement d3exp_sel_ptr (loc, s2f, d3e, s2rt, d3ls) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Esel_ptr (d3e, s2rt, d3ls) } // end of [d3exp_sel_ptr] implement d3exp_sel_ref (loc, s2f, d3e, s2rt, d3ls) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Esel_ref (d3e, s2rt, d3ls) } // end of [d3exp_sel_ref] (* ****** ****** *) implement d3exp_assgn_var ( loc, d2v_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eassgn_var (d2v_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_assgn_var] implement d3exp_assgn_ptr ( loc, d3e_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eassgn_ptr (d3e_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_assgn_ptr] implement d3exp_assgn_ref ( loc, d3e_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eassgn_ref (d3e_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_assgn_ref] (* ****** ****** *) implement d3exp_xchng_var ( loc, d2v_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Exchng_var (d2v_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_xchng_var] implement d3exp_xchng_ptr ( loc, d3e_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Exchng_ptr (d3e_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_xchng_ptr] implement d3exp_xchng_ref ( loc, d3e_l, s2rt, d3ls, d3e_r ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Exchng_ref (d3e_l, s2rt, d3ls, d3e_r) } end // end of [d3exp_xchng_ref] (* ****** ****** *) implement d3exp_refarg ( loc, s2e, refval, freeknd, d3e ) = '{ d3exp_loc= loc , d3exp_type= s2e , d3exp_node= D3Erefarg (refval, freeknd, d3e) } // end of [d3exp_refarg] (* ****** ****** *) implement d3exp_arrpsz ( loc, s2f_arrpsz, s2e, d3es_elt, asz ) = '{ d3exp_loc= loc , d3exp_type= s2f_arrpsz , d3exp_node= D3Earrpsz (s2e, d3es_elt, asz) } // end of [d3exp_arrpsz] implement d3exp_arrinit ( loc, s2e_arr, elt, d3e_asz, d3es_elt ) = '{ d3exp_loc= loc , d3exp_type= s2e_arr , d3exp_node= D3Earrinit (elt, d3e_asz, d3es_elt) } // end of [d3exp_arrinit] (* ****** ****** *) implement d3exp_raise ( loc, s2f, d3e ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eraise (d3e) } // end of [d3exp_raise] (* ****** ****** *) implement d3exp_effmask ( loc, s2fe, d3e ) = let // val s2f = d3exp_get_type (d3e) // in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eeffmask (s2fe, d3e) } end // end of [d3exp_effmask] (* ****** ****** *) implement d3exp_vcopyenv ( loc, s2f, knd, d2v ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Evcopyenv (knd, d2v) } // end of [d3exp_vcopyenv] (* ****** ****** *) implement d3exp_tempenver ( loc, s2f, d2vs ) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Etempenver (d2vs) } // end of [d3exp_tempenver] (* ****** ****** *) implement d3exp_ann_type (loc, d3e, s2f) = '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eann_type (d3e, s2f) } // end of [d3exp_ann_type] (* ****** ****** *) implement d3exp_lam_dyn ( loc, s2f_fun, lin, npf, arg, body ) = '{ d3exp_loc= loc , d3exp_type= s2f_fun , d3exp_node= D3Elam_dyn (lin, npf, arg, body) } // end of [d3exp_lam_dyn] implement d3exp_laminit_dyn ( loc, s2f_fun, lin, npf, arg, body ) = '{ d3exp_loc= loc , d3exp_type= s2f_fun , d3exp_node= D3Elaminit_dyn (lin, npf, arg, body) } // end of [d3exp_laminit_dyn] implement d3exp_lam_sta ( loc, s2f_uni, s2vs, s2ps, body ) = '{ d3exp_loc= loc , d3exp_type= s2f_uni , d3exp_node= D3Elam_sta (s2vs, s2ps, body) } // end of [d3exp_lam_sta] implement d3exp_lam_met ( loc, s2es_met, d3e_body ) = '{ d3exp_loc= loc , d3exp_type= d3e_body.d3exp_type , d3exp_node= D3Elam_met (s2es_met, d3e_body) } // end of [d3exp_lam_met] (* ****** ****** *) implement d3exp_fix ( loc, s2e_def, knd, f_d2v, d3e_def ) = '{ d3exp_loc= loc , d3exp_type= s2e_def , d3exp_node= D3Efix (knd, f_d2v, d3e_def) } // end of [d3exp_fix] (* ****** ****** *) implement d3exp_delay ( loc, s2e, _eval ) = '{ d3exp_loc= loc , d3exp_type= s2e , d3exp_node= D3Edelay (_eval) } // end of [d3exp_delay] implement d3exp_ldelay ( loc, s2e, _eval, _free ) = '{ d3exp_loc= loc , d3exp_type= s2e , d3exp_node= D3Eldelay (_eval, _free) } // end of [d3exp_ldelay] (* ****** ****** *) implement d3exp_lazyeval ( loc, s2e_res, lin, delayed ) = '{ d3exp_loc= loc , d3exp_type= s2e_res , d3exp_node= D3Elazyeval (lin, delayed) } // end of [d3exp_lazyeval] (* ****** ****** *) implement d3exp_loop ( loc, init, test, post, body ) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eloop (init, test, post, body) } end // end of [d3exp_loop] implement d3exp_loopexn (loc, knd) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eloopexn (knd) } end // end of [d3exp_loopexn] (* ****** ****** *) implement d3exp_trywith ( loc, d3e_try, c3ls_wth ) = '{ d3exp_loc= loc , d3exp_type= d3e_try.d3exp_type , d3exp_node= D3Etrywith(d3e_try, c3ls_wth) } // end of [d3exp_trywith] (* ****** ****** *) implement d3exp_solverify (loc, s2e_prop) = let in '{ d3exp_loc= loc , d3exp_type= s2e_prop , d3exp_node= D3Esolverify(s2e_prop) } end // end of [d3exp_solverify] (* ****** ****** *) implement d3exp_errexp (loc) = let // val s2f = s2exp_t0ype_err () // in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eerrexp ((*void*)) } end // end of [d3exp_errexp] implement d3exp_errexp_void (loc) = let val s2f = s2exp_void_t0ype () in '{ d3exp_loc= loc , d3exp_type= s2f , d3exp_node= D3Eerrexp ((*void*)) } end // end of [d3exp_errexp_void] (* ****** ****** *) implement d3lab_lab ( loc, lab, opt ) = '{ d3lab_loc= loc , d3lab_node= D3LABlab (lab) , d3lab_overld= opt , d3lab_overld_app= None(*void*) } (* end of [d3lab_lab] *) implement d3lab_ind (loc, ind) = '{ d3lab_loc= loc , d3lab_node= D3LABind (ind) , d3lab_overld= None(*void*) , d3lab_overld_app= None(*void*) } (* end of [d3lab_ind] *) (* ****** ****** *) implement gm3at_make (loc, d3e, op3t) = '{ gm3at_loc= loc, gm3at_exp= d3e, gm3at_pat= op3t } // end of [gm3at_make] implement c3lau_make ( loc, p3ts, gua, seq, neg, d3e ) = '{ c3lau_loc= loc , c3lau_pat= p3ts , c3lau_gua= gua , c3lau_seq= seq, c3lau_neg= neg , c3lau_body= d3e } // end of [c3lau_make] implement sc3lau_make ( loc, sp2t, d3e ) = '{ sc3lau_loc= loc , sc3lau_pat= sp2t , sc3lau_body= d3e } // end of [sc3lau_make] (* ****** ****** *) // // HX: various declarations // (* ****** ****** *) implement i3mpdec_make ( loc, d2c, imparg, tmparg, d3e ) = '{ i3mpdec_loc= loc , i3mpdec_cst= d2c , i3mpdec_imparg= imparg , i3mpdec_tmparg= tmparg , i3mpdec_def= d3e } // end of [i3mpdec_make] (* ****** ****** *) implement f3undec_make (loc, d2v, d3e) = '{ f3undec_loc= loc , f3undec_var= d2v , f3undec_def= d3e } // end of [f3undec_make] (* ****** ****** *) implement v3aldec_make (loc, p3t, def) = '{ v3aldec_loc= loc , v3aldec_pat= p3t , v3aldec_def= def } // end of [v3aldec_make] (* ****** ****** *) implement v3ardec_make ( loc, knd , d2v, d2vw , s2e0, init, d2vopt ) = '{ v3ardec_loc= loc , v3ardec_knd= knd , v3ardec_dvar_var= d2v , v3ardec_dvar_view= d2vw , v3ardec_type= s2e0 , v3ardec_init= init , v3ardec_dvaropt= d2vopt } // end of [v3ardec_make] implement prv3ardec_make ( loc, d2v, s2e, init ) = '{ prv3ardec_loc= loc , prv3ardec_dvar= d2v , prv3ardec_type= s2e , prv3ardec_init= init } // end of [prv3ardec_make] (* ****** ****** *) implement d3ecl_make_node (loc, node) = '{ d3ecl_loc= loc, d3ecl_node= node } // end of [d3ecl_make_node] (* ****** ****** *) implement d3ecl_none (loc) = d3ecl_make_node (loc, D3Cnone ()) // end of [d3ecl_none] implement d3ecl_list (loc, xs) = d3ecl_make_node (loc, D3Clist (xs)) // end of [d3ecl_list] (* ****** ****** *) implement d3ecl_saspdec (loc, d2c) = d3ecl_make_node (loc, D3Csaspdec (d2c)) // end of [d3ecl_saspdec] (* ****** ****** *) implement d3ecl_extype (loc, name, s2e_def) = d3ecl_make_node (loc, D3Cextype (name, s2e_def)) // end of [d3ecl_extype] implement d3ecl_extvar (loc, name, d3e_def) = d3ecl_make_node (loc, D3Cextvar (name, d3e_def)) // end of [d3ecl_extvar] (* ****** ****** *) implement d3ecl_extcode (loc, knd, pos, code) = d3ecl_make_node (loc, D3Cextcode (knd, pos, code)) // end of [d3ecl_extcode] (* ****** ****** *) implement d3ecl_datdecs (loc, knd, s2cs) = d3ecl_make_node (loc, D3Cdatdecs (knd, s2cs)) // end of [d3ecl_datdecs] (* ****** ****** *) implement d3ecl_exndecs (loc, d2cs) = d3ecl_make_node (loc, D3Cexndecs (d2cs)) // end of [d3ecl_exndecs] (* ****** ****** *) implement d3ecl_dcstdecs (loc, knd, dck, d2cs) = d3ecl_make_node (loc, D3Cdcstdecs (knd, dck, d2cs)) // end of [d3ecl_dcstdecs] (* ****** ****** *) implement d3ecl_impdec (loc, knd, impdec) = d3ecl_make_node (loc, D3Cimpdec (knd, impdec)) // end of [d3ecl_impdec] (* ****** ****** *) implement d3ecl_fundecs (loc, funknd, decarg, f3ds) = d3ecl_make_node (loc, D3Cfundecs (funknd, decarg, f3ds)) // end of [d3ecl_fundecs] (* ****** ****** *) implement d3ecl_valdecs (loc, knd, v3ds) = d3ecl_make_node (loc, D3Cvaldecs (knd, v3ds)) // end of [d3ecl_valdecs] implement d3ecl_valdecs_rec (loc, knd, v3ds) = d3ecl_make_node (loc, D3Cvaldecs_rec (knd, v3ds)) // end of [d3ecl_valdecs_rec] (* ****** ****** *) implement d3ecl_vardecs (loc, v3ds) = d3ecl_make_node (loc, D3Cvardecs (v3ds)) // end of [d3ecl_vardecs] implement d3ecl_prvardecs (loc, v3ds) = d3ecl_make_node (loc, D3Cprvardecs (v3ds)) // end of [d3ecl_prvardecs] (* ****** ****** *) implement d3ecl_include (loc, knd, d3cs) = d3ecl_make_node (loc, D3Cinclude (knd, d3cs)) // end of [d3ecl_include] (* ****** ****** *) implement d3ecl_staload ( loc, idopt, cfil, flag, loaded, opt ) = d3ecl_make_node (loc, D3Cstaload (idopt, cfil, flag, loaded, opt)) // endof [d3ecl_staload] implement d3ecl_staloadloc (loc, pfil, nspace, fenv) = d3ecl_make_node (loc, D3Cstaloadloc (pfil, nspace, fenv)) // end of [d3ecl_staloadloc] (* ****** ****** *) implement d3ecl_dynload (loc, fil) = d3ecl_make_node (loc, D3Cdynload (fil)) // end of [d3ecl_dynload] (* ****** ****** *) implement d3ecl_local (loc, head, body) = d3ecl_make_node (loc, D3Clocal (head, body)) // endof [d3ecl_local] (* ****** ****** *) extern typedef "p3at_t" = p3at extern typedef "d3exp_t" = d3exp extern typedef "d3lab_t" = d3lab (* ****** ****** *) %{$ ats_void_type patsopt_p3at_set_type ( ats_ptr_type p3t, ats_ptr_type s2f ) { ((p3at_t)p3t)->atslab_p3at_type = s2f ; return ; } // end of [patsopt_p3at_set_type] ats_void_type patsopt_p3at_set_dvaropt ( ats_ptr_type p3t, ats_ptr_type opt ) { ((p3at_t)p3t)->atslab_p3at_dvaropt = opt ; return ; } // end of [patsopt_p3at_set_dvaropt] ats_void_type patsopt_p3at_set_type_left ( ats_ptr_type p3t, ats_ptr_type opt ) { ((p3at_t)p3t)->atslab_p3at_type_left = opt ; return ; } // end of [patsopt_p3at_set_type_left] ats_void_type patsopt_d3exp_set_type ( ats_ptr_type d3e, ats_ptr_type s2f ) { ((d3exp_t)d3e)->atslab_d3exp_type = s2f ; return ; } // end of [patsopt_d3exp_set_type] ats_void_type patsopt_d3lab_set_overld_app ( ats_ptr_type d3l, ats_ptr_type opt ) { ((d3lab_t)d3l)->atslab_d3lab_overld_app = opt ; return ; } // end of [patsopt_d3lab_set_overld_app] %} // end of [%{$] (* ****** ****** *) (* end of [pats_dynexp3.dats] *) ATS2-Postiats-0.2.6/./src/pats_dyncst2.dats0000664000175000017500000001116612655455557017024 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) // staload SYM = "./pats_symbol.sats" // overload prerr with $SYM.prerr_symbol // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_stacst2" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dyncst2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) abstype d2cstnul (l:addr) typedef d2cstnul = [l:agez] d2cstnul (l) extern castfn d2cstnul_none (x: ptr null):<> d2cstnul (null) extern castfn d2cstnul_some (x: d2cst):<> [l:agz] d2cstnul (l) extern castfn d2cstnul_unsome {l:agz} (x: d2cstnul l):<> d2cst extern fun d2cstnul_is_null {l:addr} (x: d2cstnul (l)): bool (l==null) = "atspre_ptr_is_null" // end of [d2cstnul_is_null] extern fun d2cstnul_isnot_null {l:addr} (x: d2cstnul (l)): bool (l > null) = "atspre_ptr_isnot_null" // end of [d2cstnul_isnot_null] (* ****** ****** *) local typedef symd2cst_struct = @{ sym= symbol, cst= d2cstnul } // end of [symd2cst_struct] assume d2cstref_type = ref (symd2cst_struct) in (* in of [local] *) fun d2cstref_get_sym (r: d2cstref): symbol = let val (vbox pf | p) = ref_get_view_ptr (r) in p->sym end // end of [d2cstref_get_sym] (* ****** ****** *) fun d2cstref_get_cstnul (r: d2cstref): d2cstnul = let val (vbox pf | p) = ref_get_view_ptr (r) in p->cst end // end of [d2cstref_get_cstnul] fun d2cstref_set_cstnul (r: d2cstref, d2c: d2cstnul): void = let val (vbox pf | p) = ref_get_view_ptr (r) in p->cst := d2c end // end of [d2cstref_set_cstnul] (* ****** ****** *) implement d2cstref_make (name) = let val id = $SYM.symbol_make_string (name) val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim (pfgc) val () = (p->sym := id; p->cst := d2cstnul_none (null)) in ref_make_view_ptr (pfat | p) end // end of [d2cstref_make] end // end of [local] (* ****** ****** *) implement d2cstref_get_cst (r) = let // fn auxerr (id: symbol): d2cst = let val () = prerr_interror () val () = prerr ": d2cstref_get_cst" val () = prerrln! (": the pervasive dynamic constant [", id, "] is not available.") in $ERR.abort_interr{d2cst}((*reachable*)) end (* end of [auxerr] *) // val d2c = d2cstref_get_cstnul (r) val isnul = d2cstnul_is_null (d2c) // in // if isnul then let val id = d2cstref_get_sym (r) val ans = the_d2expenv_pervasive_find (id) in // case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | D2ITMcst (d2c) => let val () = d2cstref_set_cstnul (r, d2cstnul_some (d2c)) in d2c end // end of [D2ITMcst] | _ => auxerr (id) ) // end of [Some_vt] | ~None_vt ((*void*)) => auxerr (id) // end // end of [then] else d2cstnul_unsome (d2c) // end // end of [d2cstref_get_cst] (* ****** ****** *) implement d2cstref_equ_cst (r, d2c) = eq_d2cst_d2cst (d2cstref_get_cst (r), d2c) // end of [d2cstref_equ_cst] (* ****** ****** *) implement the_sizeof_vt0ype_size = d2cstref_make ("sizeof") (* ****** ****** *) implement d2cst_is_sizeof (d2c) = d2cstref_equ_cst (the_sizeof_vt0ype_size, d2c) // end of [d2cst_is_sizeof] (* ****** ****** *) implement dyncst2_initialize () = () (* ****** ****** *) (* end of [pats_dyncst2.dats] *) ATS2-Postiats-0.2.6/./src/pats_namespace.sats0000664000175000017500000000355612655455557017415 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload S2EXP = "./pats_staexp2.sats" typedef filenv = $S2EXP.filenv (* ****** ****** *) // fun the_namespace_add (x: filenv): void // fun the_namespace_search{a:type} (fsearch: !filenv - Option_vt(a)): Option_vt(a) // end of [the_namespace_search] // (* ****** ****** *) fun the_namespace_pop (): void fun the_namespace_push (): void fun the_namespace_localjoin (): void fun the_namespace_save (): void fun the_namespace_restore (): void (* ****** ****** *) (* end of [pats_namespace.sats] *) ATS2-Postiats-0.2.6/./src/pats_parsing.dats0000664000175000017500000001263212655455557017100 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload STDIO = "libc/SATS/stdio.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload FIL = "./pats_filename.sats" staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) implement parse_from_string_parser (inp, f) = let var buf: tokbuf val () = tokbuf_initize_string(buf, inp) var nerr: int = 0 val res = f (buf, 0(*bt*), nerr) val _(*EOF*) = p_EOF (buf, 0, nerr) // HX: all tokens need to consumed val ((*cleared*)) = tokbuf_uninitize(buf) in if nerr = 0 then Some_vt (res) else None_vt () end // end of [parse_from_string_parser] (* ****** ****** *) implement parse_from_tokbuf_toplevel (stadyn, buf) = let // var nerr: int = 0 val ((*void*)) = the_lexerrlst_clear () val ((*void*)) = the_parerrlst_clear () // val d0cs = ( if stadyn = 0 then p_toplevel_sta (buf, nerr) else p_toplevel_dyn (buf, nerr) // end of [if] ) : d0eclist // end of [val] // val nerr1 = fprint_the_lexerrlst (stderr_ref) val nerr2 = fprint_the_parerrlst (stderr_ref) // val () = if (nerr1 + nerr2) > 0 then $ERR.abort {void} () // in d0cs end // end of [parse_from_tokbuf] (* ****** ****** *) // // HX-2015-10-04: // This one is for libatsopt // implement parse_from_string_toplevel (stadyn, inp) = d0cs where { // var buf: tokbuf val () = tokbuf_initize_string(buf, inp) val d0cs = parse_from_tokbuf_toplevel (stadyn, buf) val ((*cleared*)) = tokbuf_uninitize (buf) // } // end of [parser_from_string_toplevel] (* ****** ****** *) implement parse_from_stdin_toplevel (stadyn) = parse_from_fileref_toplevel (stadyn, stdin_ref) // end of [parser_from_stdin_toplevel] implement parse_from_fileref_toplevel (stadyn, inp) = d0cs where { // var buf: tokbuf // val () = tokbuf_initize_getc (buf, lam () = $STDIO.fgetc0_err (inp)) // val d0cs = parse_from_tokbuf_toplevel (stadyn, buf) val () = tokbuf_uninitize (buf) // } // end of [parser_from_fileref_toplevel] (* ****** ****** *) implement parse_from_filename_toplevel (stadyn, fil) = let // var buf: tokbuf prval pfmod = file_mode_lte_r_r // val fname = $FIL.filename_get_fullname(fil) // val fname = $SYM.symbol_get_name(fname) // val (pf|fp) = $STDIO.fopen_exn(fname, file_mode_r) // val ((*void*)) = tokbuf_initize_filp(pfmod, pf | buf, fp) // end of [val] // val (pf|()) = $FIL.the_filenamelst_push(fil) val () = $LOC.the_location_pragma_push() val d0cs_res = parse_from_tokbuf_toplevel(stadyn, buf) val ((*void*)) = $FIL.the_filenamelst_pop(pf|(*none*)) val () = $LOC.the_location_pragma_pop((*void*)) // val ((*void*)) = tokbuf_uninitize (buf) // in d0cs_res end // end of [parser_from_filename_toplevel] (* ****** ****** *) implement parse_from_filename_toplevel2 (stadyn, fil) = let // val isnot = $FIL.filename_isnot_dummy(fil) // in // if isnot then parse_from_filename_toplevel(stadyn, fil) else list_nil(*void*) // end // end of [parse_from_filename_toplevel2] (* ****** ****** *) implement parse_from_givename_toplevel (stadyn, given, filref) = let // val filopt = $FIL.filenameopt_make_local (given) // end of [val] in // case+ filopt of | ~Some_vt(fil) => let val () = filref := fil val d0cs = parse_from_filename_toplevel (stadyn, fil) // end of [val] val ((*void*)) = $FIL.the_filenamelst_ppush (fil) in d0cs end // end of [Some_vt] | ~None_vt((*void*)) => let // val () = filref := $FIL.filename_dummy // (* val () = the_parerrlst_add ( parerr_make ($LOC.location_dummy, PE_FILENONE(given)) ) (* end of [the_parerrlst_add] *) *) // val () = prerr("patsopt: error(0)") val () = prerrln! ( ": the given file [", given, "] cannot be accessed." ) (* end of [prerrln!] *) // // HX: this is treated as a meta-level failure: // val ((*exit*)) = $raise($ERR.PATSOPT_FILENONE_EXN(given)) // in list_nil(*deadcode*) end // end of [None_vt] // end // end of [parse_from_givename_toplevel] (* ****** ****** *) (* end of [pats_parsing.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_syndef.dats0000664000175000017500000002402312655455557020212 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol // macdef symbol_CAR = $SYM.symbol_CAR macdef symbol_CDR = $SYM.symbol_CDR macdef symbol_ISNIL = $SYM.symbol_ISNIL macdef symbol_ISCONS = $SYM.symbol_ISCONS macdef symbol_ISLIST = $SYM.symbol_ISLIST // macdef symbol_TUPZ = $SYM.symbol_TUPZ overload = with $SYM.eq_symbol_symbol // staload SYN = "./pats_syntax.sats" // (* ****** ****** *) staload "./pats_dynexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) typedef syndef_search_all_type = (symbol) - Option_vt (fsyndef) extern fun syndef_search_all : syndef_search_all_type // end of [extern] (* ****** ****** *) local (* ****** ****** *) fun fsyndef_CAR ( loc0: location, d1es: d1explst ) : d1exp = d1exp_macfun (loc0, symbol_CAR, d1es) fun fsyndef_CDR ( loc0: location, d1es: d1explst ) : d1exp = d1exp_macfun (loc0, symbol_CDR, d1es) fun fsyndef_ISNIL ( loc0: location, d1es: d1explst ) : d1exp = d1exp_macfun (loc0, symbol_ISNIL, d1es) fun fsyndef_ISCONS ( loc0: location, d1es: d1explst ) : d1exp = d1exp_macfun (loc0, symbol_ISCONS, d1es) fun fsyndef_ISLIST ( loc0: location, d1es: d1explst ) : d1exp = d1exp_macfun (loc0, symbol_ISLIST, d1es) (* ****** ****** *) // val symbol_PRINT = $SYM.symbol_make_string "print" val symbol_PRINT_NEWLINE = $SYM.symbol_make_string "print_newline" val symbol_PRINTLN = $SYM.symbol_make_string "println" // val symbol_PRERR = $SYM.symbol_make_string "prerr" val symbol_PRERR_NEWLINE = $SYM.symbol_make_string "prerr_newline" val symbol_PRERRLN = $SYM.symbol_make_string "prerrln" // (* ****** ****** *) val symbol_FPRINT = $SYM.symbol_make_string "fprint" val symbol_FPRINT_NEWLINE = $SYM.symbol_make_string "fprint_newline" val symbol_FPRINTLN = $SYM.symbol_make_string "fprintln" (* ****** ****** *) fun aux1 ( loc0: location, fid: d1exp, d1e: d1exp ) : d1exp = let in d1exp_app_dyn (loc0, fid, loc0, ~1(*npf*), list_sing (d1e)) end // end of [aux1] fun aux1lst ( loc0: location, fid: d1exp, d1es: d1explst ) : d1explst = let // val d1es = list_map_cloptr (d1es, lam d1e =<1> aux1 (loc0, fid, d1e)) // in list_of_list_vt (d1es) end // end of [aux1lst] (* ****** ****** *) fun aux2 ( loc0: location, fid: d1exp, d1e: d1exp ) : d1exp = let in case+ d1e.d1exp_node of | D1Elist (npf, d1es) => d1exp_seq (loc0, aux1lst (loc0, fid, d1es)) // end of [D1Elist] | _ (*rest-of-d1exp*) => aux1 (loc0, fid, d1e) end // end of [aux2] fun aux2lst ( loc0: location, fid: d1exp, d1es: d1explst ) : d1explst = let val d1es = list_map_cloptr (d1es, lam d1e =<1> aux2 (loc0, fid, d1e)) in list_of_list_vt (d1es) end // end of [aux2lst] (* ****** ****** *) fun aux3 ( loc0: location, fid: d1exp, d1e1: d1exp, d1e2: d1exp ) : d1exp = let in d1exp_app_dyn (loc0, fid, loc0, ~1(*npf*), list_pair (d1e1, d1e2)) end // end of [aux3] fun aux3lst ( loc0: location, fid: d1exp, d1e1: d1exp, d1es2: d1explst ) : d1explst = let val d1es = list_map_cloptr (d1es2, lam d1e2 =<1> aux3 (loc0, fid, d1e1, d1e2)) in list_of_list_vt (d1es) end // end of [aux3lst] (* ****** ****** *) fun fsyndef_TUPZ ( loc0: location, d1es: d1explst ) : d1exp = d1exp_list (loc0, ~1(*npf*), d1es) (* ****** ****** *) local fun auxpr ( loc0: location , d1es: d1explst, sym: symbol ) : d1exp = let (* // val () = println! ("auxpr: d1es = ", d1es) // *) val dq = $SYN.d0ynq_none (loc0) val fid = d1exp_dqid (loc0, dq, sym) val d1e_res = aux2lst (loc0, fid, d1es) // in d1exp_seq (loc0, d1e_res) end (* end of [auxpr] *) fun auxprln ( loc0: location , d1es: d1explst, sym: symbol, sym2: symbol ) : d1exp = let (* // val () = println! ("auxprln: d1es = ", d1es) // *) val d1e1_res = auxpr (loc0, d1es, sym) // val dq = $SYN.d0ynq_none (loc0) val fid2 = d1exp_dqid (loc0, dq, sym2) val d1e2_res = d1exp_app_dyn (loc0, fid2, loc0, ~1(*npf*), list_nil) // in d1exp_seq (loc0, list_pair (d1e1_res, d1e2_res)) end (* end of [auxprln] *) (* ****** ****** *) fun auxfpr ( loc0: location , d1es: d1explst, sym: symbol ) : d1exp = let (* // val () = println! ("auxfpr: d1es = ", d1es) // *) in // case+ d1es of | list_cons (d1e1, d1es2) => let val dq = $SYN.d0ynq_none (loc0) val fid = d1exp_dqid (loc0, dq, sym) val d1es_res = aux3lst (loc0, fid, d1e1, d1es2) in d1exp_seq (loc0, d1es_res) end (* end of [list_cons] *) | list_nil () => d1exp_errexp (loc0) // end (* end of [auxfpr] *) fun auxfprln ( loc0: location , d1es: d1explst, sym: symbol, sym2: symbol ) : d1exp = let (* // val out = stdout_ref // val () = fprintln! (out, "auxfprln: d1es = ", d1es) // *) in // case+ d1es of | list_cons (d1e1, d1es2) => let val dq = $SYN.d0ynq_none (loc0) val fid = d1exp_dqid (loc0, dq, sym) val d1e1_res = d1exp_seq (loc0, aux3lst (loc0, fid, d1e1, d1es2)) // end of [val] val fid2 = d1exp_dqid (loc0, dq, sym2) val d1e2_res = d1exp_app_dyn (loc0, fid2, loc0, ~1(*npf*), list_sing (d1e1)) // end of [val] (* val () = fprintln! (out, "auxfprln: d1e1_res = ", d1e1_res) val () = fprintln! (out, "auxfprln: d1e2_res = ", d1e2_res) *) in d1exp_seq (loc0, list_pair (d1e1_res, d1e2_res)) end (* end of [list_cons] *) | list_nil () => d1exp_errexp (loc0) // end (* end of [auxfprln] *) in (* in of [local] *) (* ****** ****** *) // fun fsyndef_PRINT ( loc0: location, d1es: d1explst ) : d1exp = auxpr (loc0, d1es, symbol_PRINT) // fun fsyndef_PRINTLN ( loc0: location, d1es: d1explst ) : d1exp = ( auxprln (loc0, d1es, symbol_PRINT, symbol_PRINT_NEWLINE) ) (* end of [fsyndef_PRINTLN] *) // (* ****** ****** *) fun fsyndef_PRERR ( loc0: location, d1es: d1explst ) : d1exp = auxpr (loc0, d1es, symbol_PRERR) fun fsyndef_PRERRLN ( loc0: location, d1es: d1explst ) : d1exp = ( auxprln (loc0, d1es, symbol_PRERR, symbol_PRERR_NEWLINE) ) (* end of [fsyndef_PRERRLN] *) (* ****** ****** *) fun fsyndef_FPRINT ( loc0: location, d1es: d1explst ) : d1exp = let // val sym = symbol_FPRINT // in // case+ d1es of | list_cons ( d1e, list_nil () ) => ( case+ d1e.d1exp_node of | D1Elist (npf, d1es) => auxfpr (loc0, d1es, sym) // end of [D1Elist] | _ => let in auxfpr (loc0, list_sing (d1e), sym) end (* end of [_] *) ) (* end of [list_cons] *) // | list_cons _ => auxfpr (loc0, d1es, sym) // | list_nil () => d1exp_errexp (loc0) // end (* end of [fsyndef_FPRINT] *) fun fsyndef_FPRINTLN ( loc0: location, d1es: d1explst ) : d1exp = let // val sym = symbol_FPRINT val sym2 = symbol_FPRINT_NEWLINE (* val out = stdout_ref val ( ) = fprintln!(out, "fsyndef_FPRINTLN: d1es = ", d1es) *) in // case+ d1es of | list_cons ( d1e, list_nil () ) => ( case+ d1e.d1exp_node of | D1Elist (npf, d1es) => auxfprln (loc0, d1es, sym, sym2) // end of [D1Elist] | _ => let val d1es = list_sing (d1e) in auxfprln (loc0, d1es, sym, sym2) end (* end of [_] *) ) (* end of [list_cons] *) // | list_cons _ => auxfprln (loc0, d1es, sym, sym2) // | list_nil () => d1exp_errexp (loc0) // end (* end of [fsyndef_FPRINTLN] *) end // end of [local] (* ****** ****** *) in (* in of [local] *) implement syndef_search_all (id) = let // (* val () = println! ("syndef_search_all") *) // in // case+ 0 of // | _ when id = symbol_CAR => Some_vt (fsyndef_CAR) | _ when id = symbol_CDR => Some_vt (fsyndef_CDR) // | _ when id = symbol_ISNIL => Some_vt (fsyndef_ISNIL) | _ when id = symbol_ISCONS => Some_vt (fsyndef_ISCONS) | _ when id = symbol_ISLIST => Some_vt (fsyndef_ISLIST) // | _ when id = symbol_TUPZ => Some_vt (fsyndef_TUPZ) // | _ when id = symbol_PRINT => Some_vt (fsyndef_PRINT) | _ when id = symbol_PRINTLN => Some_vt (fsyndef_PRINTLN) | _ when id = symbol_PRERR => Some_vt (fsyndef_PRERR) | _ when id = symbol_PRERRLN => Some_vt (fsyndef_PRERRLN) // | _ when id = symbol_FPRINT => Some_vt (fsyndef_FPRINT) | _ when id = symbol_FPRINTLN => Some_vt (fsyndef_FPRINTLN) // | _ (* unsupported idext *) => None_vt () // end // end of [syndef_search_all] end // end of [local] (* ****** ****** *) implement d1exp_syndef_resolve (loc0, d1e) = begin case+ d1e.d1exp_node of | D1Eidextapp (id, d1es) => let val opt = syndef_search_all (id) in case+ opt of | ~Some_vt (f) => let val d1es = list_reverse (d1es) in f (loc0, (l2l)d1es) end // end of [Some_vt] | ~None_vt () => d1e end // end of [D1Eidextapp] | _ => d1e // end of [_] end // end of [d1exp_syndef_resolve] (* ****** ****** *) (* end of [pats_trans1_syndef.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_instrseq.dats0000664000175000017500000001041212655455557020460 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LQ = "libats/SATS/linqueue_lst.sats" staload _(*anon*) = "libats/DATS/linqueue_lst.dats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) datavtype instrseq = INSTRSEQ of ($LQ.QUEUE1 (instr)) assume instrseq_vtype = instrseq (* ****** ****** *) // macdef LQ_queue_initize = $LQ.queue_initialize{instr} macdef LQ_queue_uninitize = $LQ.queue_uninitialize // (* ****** ****** *) implement instrseq_make_nil () = res where { val res = INSTRSEQ(?) val+INSTRSEQ (!p_xs) = res val () = LQ_queue_initize (!p_xs) // end of [val] prval ((*folded*)) = fold@ (res) } // end of [instrseq_make_nil] (* ****** ****** *) implement instrseq_add (res, x) = let in // case+ res of | INSTRSEQ (!p_xs) => let val () = $LQ.queue_insert (!p_xs, x) in fold@ (res) end // end of [INSTRSEQ] // end // end of [instrseq_add] (* ****** ****** *) implement instrseq_add_comment (res, comment) = let // val loc = $LOC.location_dummy // in instrseq_add (res, instr_comment (loc, comment)) end // end of [instrseq_add_comment] (* ****** ****** *) implement instrseq_add_tmpdec (res, loc, tmp) = instrseq_add (res, instr_tmpdec (loc, tmp)) // end of [instrseq_add_tmpdec] (* ****** ****** *) implement instrseq_add_extvar (res, loc, xnm, pmv) = instrseq_add (res, instr_extvar (loc, xnm, pmv)) // end of [instrseq_add_extvar] (* ****** ****** *) implement instrseq_add_dcstdef (res, loc, d2c, pmv) = instrseq_add (res, instr_dcstdef (loc, d2c, pmv)) // end of [instrseq_add_dcstdef] (* ****** ****** *) implement instrseq_addlst (res, xs) = let in // case+ xs of | list_cons (x, xs) => let val () = instrseq_add (res, x) in instrseq_addlst (res, xs) end // end of [list_cons] | list_nil () => () // end // end of [instrseq_addlst] (* ****** ****** *) implement instrseq_addlst_vt (res, xs) = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = instrseq_add (res, x) in instrseq_addlst_vt (res, xs) end // end of [list_cons] | ~list_vt_nil () => () // end // end of [instrseq_addlst_vt] (* ****** ****** *) local fun auxlst ( res: !instrseq , loc0: loc_t, pmvs: primvalist_vt ) : void = let // in // case+ pmvs of | ~list_vt_cons (pmv, pmvs) => let val ins = instr_freecon (loc0, pmv) val () = instrseq_add (res, ins) in auxlst (res, loc0, pmvs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [auxlist] in (* in of [local] *) implement instrseq_add_freeconlst (res, loc0, pmvs) = auxlst (res, loc0, pmvs) // end of [instrseq_add_freeconlst] end // end of [local] (* ****** ****** *) implement instrseq_get_free (res) = let val+INSTRSEQ(!p_xs) = res val xs = LQ_queue_uninitize (!p_xs) val ((*freed*)) = free@ (res) in list_of_list_vt (xs) end // end of [instrseq_get_free] (* ****** ****** *) (* end of [pats_ccomp_instrseq.dats] *) ATS2-Postiats-0.2.6/./src/pats_filename.dats0000664000175000017500000005270512655455557017222 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*UN*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload LOC = "./pats_location.sats" staload SYM = "./pats_symbol.sats" typedef symbol= $SYM.symbol overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload "./pats_filename.sats" (* ****** ****** *) local // #include "prelude/params_system.hats" // #if SYSTEM_IS_UNIX_LIKE #then // val theDirSep: char = '/' val theCurDir: string = "./" val theParDir: string = "../" // #endif in (* in of [local] *) implement theDirSep_get () = theDirSep implement theCurDir_get () = theCurDir implement theParDir_get () = theParDir end // end of [local] (* ****** ****** *) local // staload STR = "libc/SATS/string.sats" // macdef strncmp = $STR.strncmp // in (* in of [local] *) implement givename_srchknd (given) = let // val dir = theCurDir_get () val len = string_length (dir) // in // if strncmp(given, dir, len) = 0 then 0(*loc*) else 1(*ext*) // end // end of [givename_srchknd] (* ****** ****** *) // // HX-2013-09: // a gurled name looks like this: // {}prelude/SATS/string.sats // {$ATSCNTRB}/libgmp/SATS/string.sats // {http://ats-lang.org/LIBRARY}prelude/SATS/string.sats // {git@github.com:githwxi/ATS-Postiats.git}prelude/SATS/string.sats // implement givename_get_ngurl (given) = let // fun loop ( p: ptr, n: int , c0: char, c1: char ) : ptr = let // val c = $UN.ptr0_get (p) val p1 = add_ptr_size (p, sizeof) // in // case+ 0 of | _ when c = c0 => loop (p1, n+1, c0, c1) | _ when c = c1 => if n > 1 then loop (p1, n-1, c0, c1) else p1 | _ (* !=c0,c1 *) => if c != '\000' then loop (p1, n, c0, c1) else null // end (* end of [loop] *) // val p0 = $UN.cast2ptr (given) val c0 = $UN.ptr0_get (p0) // val p1 = ( case+ 0 of (* | _ when c0 = '\(' => let val p = add_ptr_int (p0, 1) in loop (p, 1, c0, ')') end // end of [_ when ...] *) | _ when c0 = '\{' => let val p = add_ptr_int (p0, 1) in loop (p, 1, c0, '}') end // end of [_ when ...] | _ (*rest-of-chars*) => null ) : ptr // end of [val] // val p0 = $UN.cast2Ptr1(p0) val p1 = $UN.cast2Ptr1(p1) // in if p1 > p0 then $UN.cast2int(pdiff(p1, p0)) else ~1 end // end of [givename_get_ngurl] end // end of [local] (* ****** ****** *) assume filename_type = '{ filename_givename= string , filename_partname= string , filename_fullname= symbol } (* end of [filename] *) (* ****** ****** *) // implement filename_get_givename (fil) = fil.filename_givename // implement filename_get_partname (fil) = fil.filename_partname // implement filename_get_fullname (fil) = fil.filename_fullname // (* ****** ****** *) (* // implement print_filename (fil) = fprint_filename (stdout_ref, fil) implement prerr_filename (fil) = fprint_filename (stderr_ref, fil) // implement fprint_filename (out, fil) = fprint_string (out, fil.filename_partname) // *) (* ****** ****** *) implement print_filename_full (fil) = fprint_filename_full (stdout_ref, fil) implement prerr_filename_full (fil) = fprint_filename_full (stderr_ref, fil) implement fprint_filename_full (out, fil) = let val fname = $SYM.symbol_get_name (fil.filename_fullname) in fprint_string (out, fname) end // end of [fprint_filename_full] (* ****** ****** *) implement fprint2_filename_full (out, fil) = let // val given = fil.filename_givename val ngurl = givename_get_ngurl (given) val fname = $SYM.symbol_get_name (fil.filename_fullname) // in // if ngurl < 0 then fprint_string (out, fname) else fprintf (out, "%s(%s)", @(fname, given)) // end of [if] // end // end of [fprint2_filename_full] (* ****** ****** *) implement eq_filename_filename (x1, x2) = x1.filename_fullname = x2.filename_fullname // end of [eq_filename_filename] (* ****** ****** *) implement compare_filename_filename (x1, x2) = let // val f1 = $SYM.symbol_get_name(x1.filename_fullname) // val f2 = $SYM.symbol_get_name(x2.filename_fullname) // in compare_string_string (f1, f2) end // end of [compare_filename_filename] (* ****** ****** *) // local // // HX: implemented in [pats_utils.dats] // extern fun string_test_suffix ( str: string, sffx: string ) : bool = "ext#patsopt_string_test_suffix" in (* in of [local] *) // implement filename_is_sats (fil) = string_test_suffix (fil.filename_partname, ".sats") // implement filename_is_dats (fil) = string_test_suffix (fil.filename_partname, ".dats") // end // end of [local] // (* ****** ****** *) // extern fun givename_is_relative (given: string): bool // implement givename_is_relative (given) = let // fun aux {n:int} {i:nat | i <= n} ( given: string(n) , i: size_t(i), dirsep: char ) : bool = let // val isnot = string_isnot_atend(given, i) // in if isnot then (given[i] != dirsep) else false // end of [if] end // end of [aux] // val given = string1_of_string (given) // val dirsep = theDirSep_get () // in aux (given, 0, dirsep) end // [givename_is_relative] // (* ****** ****** *) implement filename_dummy = '{ filename_givename= "" , filename_partname= "" , filename_fullname= $SYM.symbol_empty } // end of [filename_dummy] implement filename_stdin = '{ filename_givename= "__STDIN__" , filename_partname= "__STDIN__" , filename_fullname= $SYM.symbol__STDIN__ } // end of [filename_stdin] implement filename_string = '{ filename_givename= "__STRING__" , filename_partname= "__STRING__" , filename_fullname= $SYM.symbol__STRING__ } // end of [filename_string] (* ****** ****** *) // implement filename_is_dummy(fil) = if ( fil.filename_fullname = $SYM.symbol_empty ) then true else false // implement filename_isnot_dummy(fil) = if ( fil.filename_fullname = $SYM.symbol_empty ) then false else true // (* ****** ****** *) // staload UNISTD = "libc/SATS/unistd.sats" // (* ****** ****** *) implement path_normalize_vt (s0) = let fun loop1 {n0,i0:nat | i0 <= n0} ( dirsep: char , s0: string n0, n0: size_t n0, i0: size_t i0 , dirs: &List_vt strptr1 ) : void = if i0 < n0 then loop2 (dirsep, s0, n0, i0, i0, dirs) else () and loop2 {n0,i0,i:nat | i0 < n0; i0 <= i; i <= n0} ( dirsep: char , s0: string n0, n0: size_t n0, i0: size_t i0, i: size_t i , dirs: &List_vt strptr1 ) : void = if i < n0 then let (* // empty *) in if s0[i] <> dirsep then loop2 (dirsep, s0, n0, i0, i+1, dirs) else let val sbp = string_make_substring (s0, i0, i - i0 + 1) val dir = strptr_of_strbuf (sbp) // this is a no-op cast (* val () = begin print "path_normalize_vt: loop2: dir = "; print dir; print_newline () end // end of [val] *) in dirs := list_vt_cons (dir, dirs); loop1 (dirsep, s0, n0, i + 1, dirs) end // end of [if] end else let val sbp = string_make_substring (s0, i0, i - i0) val dir = strptr_of_strbuf (sbp) // this is a no-op cast (* val () = begin print "path_normalize_vt: loop2: dir = "; print dir; print_newline () end // end of [val] *) in dirs := list_vt_cons (dir, dirs) end // end of [if] // end of [loop1] and [loop2] // extern castfn p2s{l:agz}(x: !strptr(l)):<> string // vtypedef strptrlst = List_vt (strptr1) // fun dirs_process{n:nat} ( curdir: string, pardir: string , npar: int n, dirs: strptrlst, res: strptrlst ) : strptrlst = let in case+ dirs of | ~list_vt_cons (dir, dirs) => ( if (p2s)dir = curdir then let val () = strptr_free (dir) in dirs_process (curdir, pardir, npar, dirs, res) end else if (p2s)dir = pardir then let val () = strptr_free (dir) in dirs_process (curdir, pardir, npar + 1, dirs, res) end else ( if npar > 0 then let val () = strptr_free (dir) in dirs_process (curdir, pardir, npar - 1, dirs, res) end else begin dirs_process (curdir, pardir, 0, dirs, list_vt_cons (dir, res)) end (* end of [if] *) ) // end of [if] ) (* end of [list_vt_cons] *) | ~list_vt_nil () => let fun loop{i,j:nat} ( pardir: string , npar: int i, res: list_vt (strptr1, j) ) : list_vt (strptr1, i+j) = if npar > 0 then let val dir = string1_of_string (pardir) // end of [val] val n = string1_length (dir) val dir = string_make_substring (dir, 0, n) val dir = strptr_of_strbuf (dir) in loop (pardir, npar - 1, list_vt_cons (dir, res)) end else res (* end of [if] *) // end of [loop] in loop (pardir, npar, res) end (* end of [list_vt_nil] *) end // end of [dirs_process] // val dirsep = theDirSep_get () val curdir = theCurDir_get () and pardir = theParDir_get () // var dirs : strptrlst = list_vt_nil () // val s0 = string1_of_string(s0) // end of [val] val n0 = string_length(s0) // val () = loop1 (dirsep, s0, n0, 0, dirs) // val () = dirs := dirs_process (curdir, pardir, 0, dirs, list_vt_nil) // val path = stringlst_concat (__cast dirs) where { extern castfn __cast (x: !strptrlst): List string } (* end of [where] *) // end of [val] // val () = list_vt_free_fun (dirs, lam x => strptr_free (x)) // in path(*strptr*) end // end of [path_normalize_vt] implement path_normalize (s0) = string_of_strptr (path_normalize_vt (s0)) // end of [path_normalize] (* ****** ****** *) local // extern castfn p2s{l:agz} (x: !strptr(l)):<> string // in (* in of [local] *) fun partname_fullize (pname: string): string = let // val isrel = givename_is_relative (pname) // in // if isrel then let val cwd = $UNISTD.getcwd0 () val fname = filename_append ((p2s)cwd, pname) // end of [val] val () = strptr_free (cwd) val fname_nf = path_normalize ((p2s)fname) val () = strptr_free (fname) in fname_nf end // end of [then] else pname // HX: it is absolute // end // end of [partname_fullize] end (* end of [local] *) (* ****** ****** *) local // assume the_filenamelst_push_v = unit_v // vtypedef filenamelst = List_vt filename // val the_filename = ref_make_elt (filename_dummy) val the_filenamelst = ref_make_elt (list_vt_nil) // fun filename_occurs (f0: filename): bool = let // fun loop {n:nat} .. ( fs: !list_vt (filename, n), f0: filename ) :<> bool = ( // case+ fs of | list_vt_cons (f, !p_fs) => let val eqfil = eq_filename_filename(f0, f) // end of [val] in if eqfil then (fold@ fs; true) else let val ans = loop (!p_fs, f0) prval ((*folded*)) = fold@ (fs) in ans end (* end of [else] *) // end of [if] end // end of [list_vt_cons] // | list_vt_nil((*void*)) => (fold@ fs; false) // ) (* end of [loop] *) // val ( vbox pf | p ) = ref_get_view_ptr (the_filenamelst) // in loop (!p, f0) end // end of [filename_occurs] in (* in of [local] *) // implement filename_get_current ((*void*)) = !the_filename // (* ****** ****** *) implement the_filenamelst_pop ( pf | (*none*) ) = let // prval unit_v() = pf // in the_filenamelst_ppop((*void*)) end // end of [the_filenamelst_pop] implement the_filenamelst_ppop ((*none*)) = let // val f0 = x where { // val ( vbox pf | p ) = ref_get_view_ptr(the_filenamelst) // val- ~list_vt_cons (x, xs) = !p val ((*void*)) = (!p := xs) // } (* end of [val] *) // val () = !the_filename := f0 // in // nothing end // end of [the_filenamelst_ppop] (* ****** ****** *) implement the_filenamelst_push(f0) = let // val () = the_filenamelst_ppush (f0) in (unit_v() | ()) // end // end of [the_filenamelst_push] implement the_filenamelst_ppush(f0) = let val x = !the_filename val () = !the_filename := f0 val (vbox pf | p) = ref_get_view_ptr(the_filenamelst) val () = !p := list_vt_cons (x, !p) in // nothing end // end of [the_filenamelst_ppush] (* ****** ****** *) implement the_filenamelst_push_check (f0) = let (* val () = println ( "the_filenamelst_push_check:the_filenamelst(bef)=" ) (* end of [val] *) val ((*void*)) = fprint_the_filenamelst (stdout_ref) *) // val (pf | ()) = the_filenamelst_push (f0) // (* val () = println ( "the_filenamelst_push_check:the_filenamelst(aft)=" ) (* end of [val] *) val ((*void*)) = fprint_the_filenamelst (stdout_ref) // *) val isexi = ( if filename_isnot_dummy(f0) then filename_occurs(f0) else false ) : bool // end of [val] // in (pf | isexi) end // end of [the_filenamelst_push_check] (* ****** ****** *) implement fprint_the_filenamelst (out) = let // fun loop ( out: FILEref, fs: !filenamelst ) : void = ( // case+ fs of | list_vt_cons (f, !p_fs) => let // val () = fprint_filename_full(out, f) val () = fprint_newline (out) // val () = loop (out, !p_fs) prval ((*folded*)) = fold@ (fs) // in // nothing end // end of [list_vt_cons] // | list_vt_nil((*void*)) => fold@ (fs) ) (* end of[ loop] *) // val ( vbox pf | p ) = ref_get_view_ptr (the_filenamelst) // in $effmask_ref (loop (out, !p)) end // end of [fprint_the_filenamelst] end // end of [local] (* ****** ****** *) typedef pathlst = List (path) vtypedef pathlst_vt = List_vt (path) local // assume the_pathlst_push_v = unit_v // val the_pathlst = ref_make_elt (list_vt_nil) val the_prepathlst = ref_make_elt (list_vt_nil) // in (* in of [local] *) (* ****** ****** *) fun the_pathlst_get (): pathlst_vt = xs where { // val ( vbox pf | p ) = ref_get_view_ptr(the_pathlst) // val xs = !p val () = !p := list_vt_nil() // } (* end of [the_pathlst_get] *) fun the_pathlst_set (xs: pathlst_vt): void = { // val ( vbox pf | p ) = ref_get_view_ptr(the_pathlst) // val- ~list_vt_nil() = !p val () = (!p := xs) // } (* end of [the_pathlst_set] *) (* ****** ****** *) implement the_pathlst_pop (pf | (*none*)) = { // prval unit_v() = pf // val ( vbox pf | p ) = ref_get_view_ptr(the_pathlst) // val- ~list_vt_cons(_, xs) = !p val ((*void*)) = !p := xs // } (* end of [the_pathlst_pop] *) implement the_pathlst_push (x) = let // val () = the_pathlst_ppush (x) in (unit_v() | ()) // end // end of [the_pathlst_push] implement the_pathlst_ppush (x) = let // val ( vbox pf | p ) = ref_get_view_ptr(the_pathlst) // in !p := list_vt_cons (x, !p) end // end of [the_pathlst_ppush] (* ****** ****** *) fun the_prepathlst_get ( // argless ) : pathlst_vt = xs where { // val ( vbox pf | p ) = ref_get_view_ptr(the_prepathlst) // val xs = !p val () = !p := list_vt_nil((*void*)) // } (* end of [the_prepathlst_get] *) fun the_prepathlst_set (xs: pathlst_vt): void = { // val ( vbox pf | p ) = ref_get_view_ptr(the_prepathlst) // val-~list_vt_nil () = !p val ((*void*)) = !p := xs // } // end of [the_prepathlst_set] (* ****** ****** *) implement the_prepathlst_push (x) = let // val ( vbox pf | p ) = ref_get_view_ptr(the_prepathlst) // in !p := list_vt_cons (x, !p) end // end of [the_prepathlst_push] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement filename_make ( given, pname, fname ) = let // val fname = $SYM.symbol_make_string (fname) // in '{ filename_givename= given , filename_partname= pname, filename_fullname= fname } end // end of [filename_make] (* ****** ****** *) local (* ****** ****** *) extern castfn s2s (x: string):<> String extern castfn p2s {l:agz} (x: !strptr l):<> String (* ****** ****** *) fun aux_local ( given: string ) : Stropt = let val fil = filename_get_current () val pname = filename_get_partname (fil) (* val () = println! ("aux_local: pname = ", pname) *) val pname2 = filename_merge (pname, given) val pname2_nf = path_normalize_vt ((p2s)pname2) val () = strptr_free (pname2) (* val () = println! ("aux_local: pname2_nf = ", pname2_nf) *) val isexi = test_file_exists ((p2s)pname2_nf) in if isexi then stropt_of_strptr (pname2_nf) else let val () = strptr_free (pname2_nf) in stropt_none(*void*) end // end of [if] end // end of [aux_local] (* ****** ****** *) fun aux_try {n:nat} .. ( paths: list (path, n), given: string ) : Stropt = let in // case+ paths of | list_cons ( path, paths ) => aux2_try (path, paths, given) | list_nil () => stropt_none // end // end of [aux_try] and aux2_try {n:nat} .. ( path: path, paths: list (path, n), given: string ) : Stropt = let val partname = filename_append (path, given) val isexi = test_file_exists ((p2s)partname) (* val () = begin printf ("aux2_try: partname = %s\n", @(partname)) end // end of [val] *) in // if isexi then ( stropt_of_strptr (partname) ) else let val () = strptr_free (partname) in aux_try (paths, given) end // end of [if] // end // end of [aux2_try] (* ****** ****** *) fun aux_try_pathlst (given: string): Stropt = let val path = theCurDir_get () val paths = the_pathlst_get () val ans = // HX: search the current directory first aux2_try (path, $UN.castvwtp1{pathlst}(paths), given) // end of [val] val () = the_pathlst_set (paths) in ans end // end of [aux_try_pathlst] fun aux_try_prepathlst (given: string): Stropt = let val paths = the_prepathlst_get () val ans = aux_try ($UN.castvwtp1{pathlst}(paths), given) val () = the_prepathlst_set (paths) in ans end // end of [aux_try_prepathlst] (* ****** ****** *) fun aux_relative ( given: string ) : Stropt = let // val given = (s2s)given val knd = givename_srchknd (given) // in // case+ knd of | 0 (*local*) => aux_local (given) | _ (*external*) => let val opt = aux_try_pathlst (given) in if stropt_is_some (opt) then opt else aux_try_prepathlst (given) end // end of [_] // end // end of [aux_relative] (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement filenameopt_make_local (given) = let // val opt = aux_local (given) val issome = stropt_is_some (opt) // in // if issome then let val partname = stropt_unsome (opt) val fullname = partname_fullize (partname) in Some_vt (filename_make (given, partname, fullname)) end else None_vt () // end of [if] // end // end of [filenameopt_make_local] (* ****** ****** *) implement filenameopt_make_relative (given) = let // val ngurl = givename_get_ngurl (given) val given2 = pkgsrcname_relocatize (given, ngurl) // (* val () = println! ("filenameopt_make_relative: ngurl = ", ngurl) val () = println! ("filenameopt_make_relative: given = ", given) val () = println! ("filenameopt_make_relative: given2 = ", given2) *) // val opt = ( case+ 0 of | _ when givename_is_relative (given2) => aux_relative (given2) // end of [_ when ...] | _ => let val isexi = test_file_exists (given2) in if isexi then stropt_some (given2) else stropt_none(*void*) end // end of [_] ) : Stropt // end of [val] // val issome = stropt_is_some (opt) // in // if issome then let val partname = stropt_unsome (opt) val fullname = partname_fullize (partname) in Some_vt (filename_make (given, partname, fullname)) end else None_vt () // end of [if] // end // end of [filenameopt_make_relative] (* ****** ****** *) end // end of [local] (* ****** ****** *) %{$ ats_ptr_type patsopt_filename_merge ( ats_ptr_type ful, ats_ptr_type bas ) { char c, dirsep ; char *p0, *p1, *p ; int n, n1, n2, found = 0 ; char *fulbas ; p0 = p = (char*)ful ; dirsep = patsopt_filename_theDirSep_get () ; // while (1) { c = *p++ ; if (c == 0) break ; if (c == dirsep) { found = 1 ; p1 = p ; } } // n1 = 0 ; if (found) n1 = (p1-p0) ; n2 = strlen ((char*)bas) ; n = n1 + n2 ; fulbas = ATS_MALLOC (n+1) ; memcpy (fulbas, ful, n1) ; memcpy (fulbas + n1, bas, n2) ; fulbas[n] = '\000' ; // return fulbas ; // } // end of [patsopt_filename_merge] ats_ptr_type patsopt_filename_append ( ats_ptr_type dir, ats_ptr_type bas ) { int n1, n2, n ; char dirsep, *dirbas ; // dirsep = patsopt_filename_theDirSep_get () ; // n1 = strlen ((char*)dir) ; n2 = strlen ((char*)bas) ; n = n1 + n2 ; // if (n1 > 0 && ((char*)dir)[n1-1] != dirsep) n += 1 ; dirbas = ATS_MALLOC (n + 1) ; memcpy (dirbas, dir, n1) ; if (n > n1 + n2) { dirbas[n1] = dirsep ; n1 += 1 ; } memcpy (dirbas + n1, bas, n2) ; dirbas[n] = '\000' ; // return dirbas ; } /* end of [patsopt_filename_append] */ %} // end of [%{$] (* ****** ****** *) (* end of [pats_filename.dats] *) ATS2-Postiats-0.2.6/./src/pats_reader.sats0000664000175000017500000000513312655455557016714 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) %{# #include "pats_reader.cats" %} // end of [%{#] (* ****** ****** *) // // HX-2012-06: // this style is some sort of experiment; in retrospect, it seems more // approriate to represent a reader as an object (instead of a struct) // (* ****** ****** *) absviewt@ype reader_vt0ype = $extype "pats_reader_struct" viewtypedef reader = reader_vt0ype (* ****** ****** *) // sortdef fmode = file_mode // fun reader_initize_filp {m:fmode}{l0:addr} ( pfmod: file_mode_lte(m,r) , pffil: FILE(m) @ l0 | reader: &reader? >> reader, p0: ptr l0 ) : void // end of [reader_initize_filp] // (* ****** ****** *) fun reader_initize_getc ( r: &reader? >> reader, getc: () - int ) : void // end of [reader_initize_getc] (* ****** ****** *) fun reader_initize_string ( r: &reader? >> reader, inp: string ) : void // end of [reader_initize_string] (* ****** ****** *) fun reader_initize_charlst_vt ( r: &reader? >> reader, inp: List_vt (char) ) : void // end of [reader_initize_charlst_vt] (* ****** ****** *) fun reader_uninitize ( r: &reader >> reader? ) : void // end of [reader_uninitize] (* ****** ****** *) fun reader_get_char (r: &reader): int // HX: EOF(-1) is returned at the end (* ****** ****** *) (* end of [pats_reader.sats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_mapgen.dats0000664000175000017500000001116012655455557020350 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: December, 2014 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "./pats_jsonize.sats" (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) local // extern fun s2cst_app : synent_app (s2cst) and s2var_app : synent_app (s2var) and s2Var_app : synent_app (s2Var) and d2con_app : synent_app (d2con) // extern fun d2cst_app : synent_app (d2cst) and d2var_app : synent_app (d2var) and d2sym_app : synent_app (d2sym) // #include "./pats_staexp2_appenv.hats" #include "./pats_dynexp2_appenv.hats" // datavtype myenv = MYENV of ( s2cstset_vt , s2varset_vt , s2Varset_vt , d2conset_vt , d2cstset_vt , d2varset_vt ) (* end of [MYENV] *) // in // implement s2cst_app (s2c, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (!p_s2cs, _, _, _, _, _) = env2 val ((*void*)) = !p_s2cs := s2cstset_vt_add(!p_s2cs, s2c) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2cst_app] implement s2var_app (s2v, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, !p_s2vs, _, _, _, _) = env2 val ((*void*)) = !p_s2vs := s2varset_vt_add(!p_s2vs, s2v) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2var_app] implement s2Var_app (s2V, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, _, !p_s2Vs, _, _, _) = env2 val ((*void*)) = !p_s2Vs := s2Varset_vt_add(!p_s2Vs, s2V) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2Var_app] implement d2con_app (d2c, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, _, _, !p_d2cs, _, _) = env2 val ((*void*)) = !p_d2cs := d2conset_vt_add(!p_d2cs, d2c) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [d2con_app] implement d2cst_app (d2c, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, _, _, _, !p_d2cs, _) = env2 val ((*void*)) = !p_d2cs := d2cstset_vt_add(!p_d2cs, d2c) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [d2cst_app] implement d2var_app (d2v, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, _, _, _, _, !p_d2vs) = env2 val ((*void*)) = !p_d2vs := d2varset_vt_add(!p_d2vs, d2v) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [d2var_app] implement d2sym_app (d2s, env) = () (* ****** ****** *) implement d2eclist_mapgen_all (d2cls) = let // val s2cs = s2cstset_vt_nil () val s2vs = s2varset_vt_nil () val s2Vs = s2Varset_vt_nil () // val d2cons = d2conset_vt_nil () val d2csts = d2cstset_vt_nil () val d2vars = d2varset_vt_nil () // val appenv = $UN.castvwtp0{appenv}(MYENV(s2cs, s2vs, s2Vs, d2cons, d2csts, d2vars)) // val ((*void*)) = d2eclist_app (d2cls, appenv) // val+~MYENV(s2cs, s2vs, s2Vs, d2cons, d2csts, d2vars) = $UN.castvwtp0{myenv}(appenv) // in // ( s2cs , s2vs , s2Vs , d2cons , d2csts , d2vars ) // end // end of [d2eclist_mapgen_all] end // end of [local] (* ****** ****** *) (* end of [pats_dynexp2_mapgen.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_error.dats0000664000175000017500000000525012655455557020054 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_trans1.sats" (* ****** ****** *) // vtypedef trans1errlst_vt = List_vt (trans1err) // (* ****** ****** *) local val the_trans1errlst = ref (list_vt_nil) fun the_trans1errlst_get ( // argumentless ) : trans1errlst_vt = let val (vbox pf | p) = ref_get_view_ptr (the_trans1errlst) val xs = !p val () = !p := list_vt_nil () in xs end // end of [the_trans1errlst_get] in (* in-of-local *) implement the_trans1errlst_add (x) = () where { val (vbox pf | p) = ref_get_view_ptr (the_trans1errlst) val () = !p := list_vt_cons (x, !p) } (* end of [the_trans1errlst_add] *) implement the_trans1errlst_finalize () = { val xs = the_trans1errlst_get () // end of [val] val nxs = list_vt_length (xs) val ((*freed*)) = list_vt_free (xs) // (* val () = if nxs > 0 then { val () = fprintf ( stderr_ref , "patsopt(TRANS1): there are [%i] errors in total.\n", @(nxs) ) (* end of [fprintf] *) } (* end of [if] *) // end of [val] // *) val () = if nxs > 0 then $raise($ERR.PATSOPT_TRANS1_EXN()) // end of [if] } (* end of [the_trans1errlst_finalize] *) end // end of [local] (* ****** ****** *) (* end of [pats_trans1_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_sort.dats0000664000175000017500000001457612655455557017725 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" staload LOC = "./pats_location.sats" overload + with $LOC.location_combine staload SYM = "./pats_symbol.sats" macdef BACKSLASH = $SYM.symbol_BACKSLASH overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_sort" (* ****** ****** *) staload "./pats_fixity.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil ()) (* ****** ****** *) // // HX: translation of sorts // typedef s1rtitm = fxitm (s1rt) typedef s1rtitmlst = List s1rtitm (* ****** ****** *) local fn appf ( _fun: s1rt, _arg: s1rt ) : s1rtitm = let val loc = _fun.s1rt_loc + _arg.s1rt_loc val xs_arg = ( case+ _arg.s1rt_node of | S1RTlist s1ts => s1ts | _ => list_sing (_arg) ) : s1rtlst // end of [val] val s1t_app = s1rt_app (loc, _fun, xs_arg) in FXITMatm (s1t_app) end // end of [appf] in // in of [local] fn s1rtitm_app (loc: location): s1rtitm = fxitm_app (loc, appf) // end of [s1rtitm_app] end // end of [local] (* ****** ****** *) fn s1rt_get_loc (x: s1rt): location = x.s1rt_loc fn s1rt_make_opr ( opr: s1rt, f: fxty ) : s1rtitm = begin fxopr_make {s1rt} ( s1rt_get_loc , lam (loc, x, _(*loc_arg*), xs) => s1rt_app (loc, x, xs) , opr, f ) // end of [oper_make] end // end of [s1rt_make_opr] fn s1rtitm_backslash (loc_opr: location) = begin fxopr_make_backslash {s1rt} ( lam x => x.s1rt_loc , lam (loc, x, _(*loc_arg*), xs) => s1rt_app (loc, x, xs) , loc_opr ) // end of [oper_make_backslash] end // end of [s1rtitm_backslash] (* ****** ****** *) local fn s0rt_tr_errmsg_opr (s0t0: s0rt): s1rt = let val loc0 = s0t0.s0rt_loc val () = prerr_error1_loc (loc0) val () = prerr ": the operator needs to be applied." val () = prerr_newline () val () = the_trans1errlst_add (T1E_s0rt_tr (s0t0)) in s1rt_err (loc0) end // end of [s0rt_tr_errmsg_opr] in // in of [local] implement s0rt_tr (s0t0) = let // fun aux_item (s0t0: s0rt): s1rtitm = let val loc0 = s0t0.s0rt_loc in case+ s0t0.s0rt_node of | S0RTapp _ => let val s1t0 = fixity_resolve ( loc0, s1rt_get_loc, s1rtitm_app (loc0), aux_itemlst (s0t0) ) // end of [val] in FXITMatm (s1t0) end // end of [S0RTapp] | S0RTide id when id = BACKSLASH => s1rtitm_backslash (loc0) | S0RTide id => begin case+ the_fxtyenv_find id of | ~Some_vt f => s1rt_make_opr (s1rt_ide (loc0, id), f) | ~None_vt () => FXITMatm (s1rt_ide (loc0, id)) end // end of [S0RTide] | S0RTlist xs => FXITMatm (s1rt_list (loc0, s0rtlst_tr xs)) | S0RTqid (q, id) => FXITMatm (s1rt_qid (loc0, q, id)) (* | S0RTtup (xs) => FXITMatm (s1rt_tup (loc0, s0rtlst_tr xs)) *) | S0RTtype knd => FXITMatm (s1rt_type (loc0, knd)) end // end of [aux_item] // and aux_itemlst (s0t0: s0rt): s1rtitmlst = let fun loop ( s0t0: s0rt, res: s1rtitmlst ) : s1rtitmlst = case+ s0t0.s0rt_node of | S0RTapp (s0t1, s0t2) => let val res = list_cons (aux_item s0t2, res) in loop (s0t1, res) end // end of [S0RTapp] | _ => list_cons (aux_item s0t0, res) // end of [_] // end of [loop] in loop (s0t0, list_nil ()) end // end of [aux_itemlst] // in // case+ aux_item s0t0 of | FXITMatm (s1t) => s1t | FXITMopr (loc, _) => s0rt_tr_errmsg_opr (s0t0) // end of [case] end // end of [s0rt_tr] end // end of [local] implement s0rtlst_tr (s0ts) = l2l (list_map_fun (s0ts, s0rt_tr)) implement s0rtopt_tr (s0topt) = case+ s0topt of Some s0t => Some (s0rt_tr s0t) | None () => None () // end of [s0rtopt_tr] (* ****** ****** *) implement a0srt_tr (x) = a1srt_make (x.a0srt_loc, x.a0srt_sym, s0rt_tr (x.a0srt_srt)) // end of [a0srt_tr] implement a0msrt_tr (x) = let val arg = l2l (list_map_fun (x.a0msrt_arg, a0srt_tr)) in a1msrt_make (x.a0msrt_loc, arg) end // end of [a0msrt_tr] implement a0msrtlst_tr (xs) = l2l (list_map_fun (xs, a0msrt_tr)) (* ****** ****** *) local fn d0atsrtcon_tr (x: d0atsrtcon): d1atsrtcon = let val loc = x.d0atsrtcon_loc and nam = x.d0atsrtcon_sym val s1ts = ( case+ x.d0atsrtcon_arg of | Some s0t => let val s1t = s0rt_tr s0t in case+ s1t.s1rt_node of | S1RTlist s1ts => s1ts | _ => list_cons (s1t, list_nil ()) end // end of [Some] | None () => list_nil () ) : s1rtlst // end of [val] in d1atsrtcon_make (loc, nam, s1ts) end // end of [d0atsrtcon_tr] fn d0atsrtconlst_tr (xs: d0atsrtconlst): d1atsrtconlst = l2l (list_map_fun (xs, d0atsrtcon_tr)) in // in of [local] implement d0atsrtdec_tr (d) = let val loc = d.d0atsrtdec_loc val name = d.d0atsrtdec_sym val conlst = d0atsrtconlst_tr (d.d0atsrtdec_con) in d1atsrtdec_make (loc, name, conlst) end // end of [d0atsrtdec_tr] end // end of [local] (* ****** ****** *) (* end of [pats_trans1_sort.dats] *) ATS2-Postiats-0.2.6/./src/pats_symbol.dats0000664000175000017500000002514312655455557016743 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_symbol.sats" (* ****** ****** *) local %{^ typedef ats_ptr_type string ; typedef ats_ptr_type symbol ; %} // end of [%{^] staload "libats/SATS/hashtable_linprb.sats" staload _(*anon*) = "libats/DATS/hashtable_linprb.dats" // #define HASHTBLSZ 1024 // symintr encode decode // abstype string_t = $extype"string" extern castfn string_encode (x: string):<> string_t extern castfn string_decode (x: string_t):<> string overload encode with string_encode overload decode with string_decode // abstype symbol_t = $extype"symbol" extern castfn symbol_encode (x: symbol):<> symbol_t extern castfn symbol_decode (x: symbol_t):<> symbol overload encode with symbol_encode overload decode with symbol_decode // typedef key = string_t typedef itm = symbol_t typedef keyitm = (key, itm) // implement keyitem_nullify (x) = () where { extern prfun __assert (x: &keyitm? >> keyitm): void prval () = __assert (x) val () = x.0 := $UN.cast{key} (null) prval () = Opt_some (x) } (* end of [keyitem_nullify] *) // implement keyitem_isnot_null (x) = b where { extern prfun __assert1 (x: &Opt(keyitm) >> keyitm): void prval () = __assert1 (x) val b = $UN.cast{ptr} (x.0) <> null val [b:bool] b = bool1_of_bool (b) extern prfun __assert2 (x: &keyitm >> opt (keyitm, b)): void prval () = __assert2 (x) } (* end of [keyitem_isnot_null] *) // implement hash_key (x, _) = string_hash_33 (decode(x)) implement equal_key_key (x1, x2, _) = compare (decode(x1), decode(x2)) = 0 // end of [equal_key_key] val hash0 = $UN.cast{hash(key)} (null) val eqfn0 = $UN.cast{eqfn(key)} (null) val [l:addr] ptbl = hashtbl_make_hint (hash0, eqfn0, HASHTBLSZ) // val rtbl = HASHTBLref_make_ptr {key,itm} (ptbl) // in // in of [local] // val symbol_null = $UN.cast{symbol} (null) // HX: a hack! // fun symbol_insert ( k: string, i: symbol ) : void = () where { val k = encode (k); val i = encode (i) val (fptbl | ptbl) = HASHTBLref_takeout_ptr (rtbl) var res: symbol_t val _keyisused = hashtbl_insert (ptbl, k, i, res) prval () = fptbl (ptbl) prval () = opt_clear (res) (* val () = assertloc (not(_keyisused)) // HX: no replacement *) } // end of [symbol_insert] fun symbol_search (k: string): symbol = let val (fptbl | ptbl) = HASHTBLref_takeout_ptr (rtbl) var res: itm? val b = hashtbl_search (ptbl, encode(k), res) prval () = fptbl (ptbl) in if b then let prval () = opt_unsome {itm} (res) in decode (res) end else let prval () = opt_unnone {itm} (res) in symbol_null end // end of [if] end // end of [symbol_search] end // end of [local] (* ****** ****** *) assume symbol_type = '{ name= string, stamp= uint } // end of [symbol_type] (* ****** ****** *) implement symbol_get_name (x) = x.name implement symbol_get_stamp (x) = x.stamp (* ****** ****** *) local // var the_symbol_stamp: uint = 0u val (pf_the_symbol_stamp | ()) = vbox_make_view_ptr {uint} (view@ the_symbol_stamp | &the_symbol_stamp) // end of [val] fun stamp_getinc (): uint = n where { prval vbox(pf) = pf_the_symbol_stamp val n = the_symbol_stamp val () = the_symbol_stamp := n + 1u } // end of [stamp_getinc] // in // in of [local] implement symbol_make_string (name) = let // extern fun symbol_is_null (x: symbol):<> bool = "atspre_ptr_is_null" // val x = symbol_search (name) in // case+ 0 of | _ when symbol_is_null (x) => let val stamp = stamp_getinc () val x = '{ name= name, stamp= stamp } // end of [val] (* val () = println! ("symbol_make_string: name = ", name) val () = println! ("symbol_make_string: stamp = ", stamp) *) val () = symbol_insert (name, x) in x // newly created symbol end // end of [_ when ...] | _ => x // HX: symbol of the given name is found // end // [symbol_make_string] end // end of [local] (* ****** ****** *) implement symbol_empty = x where { val x = symbol_make_string "" // // HX-2011-03-20: // make sure that this is the first created symbol // val () = assertloc (x.stamp = 0u) } // end of [symbol_empty] (* ****** ****** *) implement symbol_ADD = symbol_make_string "+" implement symbol_SUB = symbol_make_string "-" implement symbol_MUL = symbol_make_string "*" implement symbol_DIV = symbol_make_string "/" // implement symbol_AMPERSAND = symbol_make_string "&" implement symbol_AMPERBANG = symbol_make_string "&!" implement symbol_AMPERQMARK = symbol_make_string "&?" // implement symbol_AT = symbol_make_string "@" implement symbol_BACKSLASH = symbol_make_string "\\" implement symbol_BANG = symbol_make_string "!" // implement symbol_COLONEQ = symbol_make_string ":=" implement symbol_COLONEQCOLON = symbol_make_string ":=:" // implement symbol_GT = symbol_make_string ">" implement symbol_GTEQ = symbol_make_string ">=" implement symbol_LT = symbol_make_string "<" implement symbol_LTEQ = symbol_make_string "<=" // implement symbol_EQ = symbol_make_string "=" implement symbol_EQEQ = symbol_make_string "==" implement symbol_LTGT = symbol_make_string "<>" implement symbol_BANGEQ = symbol_make_string "!=" // implement symbol_GTLT = symbol_make_string "><" // implement symbol_GTGT = symbol_make_string ">>" implement symbol_LTLT = symbol_make_string "<<" // implement symbol_LAND = symbol_make_string "&&" implement symbol_LOR = symbol_make_string "||" // implement symbol_LRBRACKETS = symbol_make_string "[]" // implement symbol_MINUSGT = symbol_make_string "->" // implement symbol_QMARK = symbol_make_string "?" implement symbol_QMARKBANG = symbol_make_string "?!" // implement symbol_TILDE = symbol_make_string "~" implement symbol_UNDERSCORE = symbol_make_string "_" // implement symbol_VBOX = symbol_make_string "vbox" // implement symbol_LAMAT = symbol_make_string "lam@" implement symbol_LLAMAT = symbol_make_string "llam@" implement symbol_REFAT = symbol_make_string "ref@" // (* ****** ****** *) // implement symbol_INT = symbol_make_string "int" implement symbol_BOOL = symbol_make_string "bool" implement symbol_ADDR = symbol_make_string "addr" // (* implement symbol_CHAR = symbol_make_string "char" *) // implement symbol_FLOAT = symbol_make_string "float" implement symbol_STRING = symbol_make_string "string" // implement symbol_CLS = symbol_make_string "cls" // nominal classes // implement symbol_EFF = symbol_make_string "eff" // sets of effects // implement symbol_TKIND = symbol_make_string "tkind" // template args // implement symbol_PROP = symbol_make_string "prop" implement symbol_TYPE = symbol_make_string "type" implement symbol_T0YPE = symbol_make_string "t@ype" implement symbol_VIEW = symbol_make_string "view" implement symbol_VTYPE = symbol_make_string "vtype" implement symbol_VT0YPE = symbol_make_string "vt0ype" implement symbol_VIEWTYPE = symbol_make_string "viewtype" implement symbol_VIEWT0YPE = symbol_make_string "viewt0ype" // implement symbol_TYPES = symbol_make_string "types" // (* ****** ****** *) implement symbol_TRUE_BOOL = symbol_make_string "true_bool" implement symbol_FALSE_BOOL = symbol_make_string "false_bool" (* ****** ****** *) implement symbol_DEFINED = symbol_make_string "defined" implement symbol_UNDEFINED = symbol_make_string "undefined" (* ****** ****** *) implement symbol_CAR = symbol_make_string "car" implement symbol_CDR = symbol_make_string "cdr" implement symbol_ISNIL = symbol_make_string "isnil" implement symbol_ISCONS = symbol_make_string "iscons" implement symbol_ISLIST = symbol_make_string "islist" implement symbol_TUPZ = symbol_make_string "tupz" (* ****** ****** *) // implement symbol__STDIN__ = symbol_make_string "__STDIN__" implement symbol__STRING__ = symbol_make_string "__STRING__" // (* ****** ****** *) implement symbol_PATSHOME = symbol_make_string "PATSHOME" implement symbol_PATSHOMERELOC = symbol_make_string "PATSHOMERELOC" (* ****** ****** *) implement symbol_ATSPKGRELOCROOT = symbol_make_string "ATSPKGRELOCROOT" (* ****** ****** *) implement symbol_ATS_PACKNAME = symbol_make_string "ATS_PACKNAME" (* // HX-2014-06-06: this one is no longer in use: implement symbol_ATS_STALOADFLAG = symbol_make_string "ATS_STALOADFLAG" *) implement symbol_ATS_DYNLOADFLAG = symbol_make_string "ATS_DYNLOADFLAG" (* ****** ****** *) implement symbol_ATS_DYNLOADNAME = symbol_make_string "ATS_DYNLOADNAME" (* ****** ****** *) implement symbol_ATS_MAINATSFLAG = symbol_make_string "ATS_MAINATSFLAG" (* ****** ****** *) implement symbol_ATS_EXTERN_PREFIX = symbol_make_string "ATS_EXTERN_PREFIX" implement symbol_ATS_STATIC_PREFIX = symbol_make_string "ATS_STATIC_PREFIX" (* ****** ****** *) implement eq_symbol_symbol (x1, x2) = x1.stamp = x2.stamp implement neq_symbol_symbol (x1, x2) = x1.stamp != x2.stamp (* ****** ****** *) implement compare_symbol_symbol (x1, x2) = compare (x1.stamp, x2.stamp) (* ****** ****** *) implement print_symbol (x) = fprint_symbol (stdout_ref, x) implement prerr_symbol (x) = fprint_symbol (stderr_ref, x) (* ****** ****** *) // implement fprint_symbol (out, x) = fprint_string (out, x.name) // implement fprint_symbolopt (out, opt) = let in // case+ opt of | Some (x) => { val () = fprint_string (out, "Some(") val () = fprint_symbol (out, x) val () = fprint_string (out, ")") } (* end of [Some] *) | None () => fprint_string (out, "None()") // end (* end of [fprint_symbolopt] *) // (* ****** ****** *) (* end of [pats_symbol.dats] *) ATS2-Postiats-0.2.6/./src/pats_errmsg.sats0000664000175000017500000000455012655455557016753 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) fun{} prerr_ERROR_beg(): void fun{} prerr_ERROR_end(): void (* ****** ****** *) // fun{} prerr_FILENAME (): void // specific // fun{} prerr_interror (): void // generic fun{} prerr_interror_loc (loc: location): void // generic // fun{} prerr_error1_loc (loc: location): void // generic fun{} prerr_error2_loc (loc: location): void // generic fun{} prerr_errmac_loc (loc: location): void // generic fun{} prerr_error3_loc (loc: location): void // generic fun{} prerr_error4_loc (loc: location): void // generic // fun{} prerr_errccomp_loc (loc: location): void // generic // fun{} prerr_warning1_loc (loc: location): void // generic fun{} prerr_warning2_loc (loc: location): void // generic fun{} prerr_warning3_loc (loc: location): void // generic fun{} prerr_warning4_loc (loc: location): void // generic // fun{} prerr_warnccomp_loc (loc: location): void // generic // (* ****** ****** *) (* end of [pats_errmsg.sats] *) ATS2-Postiats-0.2.6/./src/pats_e1xpval_error.dats0000664000175000017500000001346512655455557020233 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_e1xpval.sats" (* ****** ****** *) implement fprint_valerr (out, x) = let macdef prstr (x) = fprint_string (out, ,(x)) in // case+ x of | VE_valize (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression cannot be evaluated to a value." val () = fprint_newline (out) } | VE_valize_defined (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression is expected to be an indentifer." val () = fprint_newline (out) } | VE_valize_undefined (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression is expected to be an indentifer." val () = fprint_newline (out) } | VE_maxlevel (lev, e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = fprintf ( out, ": error(1): the maximal evaluation depth (%i) has been reached.", @(lev) ) // end of [val] val () = fprint_newline (out) } | VE_opr_arglst (e0, id) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the operator [" val () = $SYM.fprint_symbol (out, id) val () = prstr "] cannot handle its argument(s)." val () = fprint_newline (out) } | VE_E1XPide_unbound (e0) => { val loc0 = e0.e1xp_loc val-E1XPide (id) = e0.e1xp_node val () = $LOC.fprint_location (out, loc0) val () = prstr ": error(1): the identifier [" val () = $SYM.fprint_symbol (out, id) val () = prstr "] is unbound." val () = fprint_newline (out) } | VE_E1XPundef (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression cannot be evaluated as it is un-defined." val () = fprint_newline (out) } | VE_E1XPlist (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression cannot be evaluated as it is a tuple." val () = fprint_newline (out) } | VE_E1XPapp_fun (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the applied expression is required to be an identifier." val () = fprint_newline (out) } | VE_E1XPappid_fun (e0, id) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the applied identifier [" val () = $SYM.fprint_symbol (out, id) val () = prstr "] does not refer to a function." val () = fprint_newline (out) } | VE_E1XPappid_opr (e0, id) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the applied identifier [" val () = $SYM.fprint_symbol (out, id) val () = prstr "] does not refer to a supported operator." val () = fprint_newline (out) } | VE_E1XPappid_arity (e0, id) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): arity mismatch for this function application." val () = fprint_newline (out) } | VE_E1XPfun (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression cannot be evaluated as it is a function." val () = fprint_newline (out) } | VE_E1XPerr (e0) => { val () = $LOC.fprint_location (out, e0.e1xp_loc) val () = prstr ": error(1): the expression cannot be evaluated as it indicates an error." val () = fprint_newline (out) } // end // end of [fprint_valerr] (* ****** ****** *) viewtypedef valerrlst_vt = List_vt (valerr) extern fun the_valerrlst_get (): valerrlst_vt (* ****** ****** *) local val the_valerrlst = ref (list_vt_nil) in // in of [local] implement the_valerrlst_add (x) = () where { val (vbox pf | p) = ref_get_view_ptr (the_valerrlst) val () = !p := list_vt_cons (x, !p) } // end of [the_valerrlst_add] implement the_valerrlst_get () = xs where { val (vbox pf | p) = ref_get_view_ptr (the_valerrlst) val xs = !p val () = !p := list_vt_nil () } // end of [the_valerrlst_get] end // end of [local] (* ****** ****** *) implement fprint_the_valerrlst (out) = let val xs = the_valerrlst_get () fun loop ( out: FILEref, xs: valerrlst_vt ) : void = case+ xs of | ~list_vt_cons (x, xs) => ( fprint_valerr (out, x); loop (out, xs) ) // end of [list_vt_cons] | ~list_vt_nil () => () // end of [loop] in loop (out, xs) end // end of [fprint_the_valerrlst] (* ****** ****** *) (* end of [pats_e1xpval_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_effect.dats0000664000175000017500000002556712655455557021046 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_env_effect" (* ****** ****** *) staload "./pats_effect.sats" overload print with print_effset overload prerr with prerr_effset (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) datatype effenvitm = (* effenv item *) | EFFENVITMeff of effset // disallwed effects | EFFENVITMeffmask of s2eff // allowed effects // end of [effenvitm] dataviewtype effenvitmlst = | EFILSTcons of (effenvitm, effenvitmlst) | EFILSTmark of (int(*knd*), effenvitmlst) // knd=0/1:soft/hard | EFILSTnil of () // end of [effenvitmlst] (* ****** ****** *) fun efilst_mark ( xs: effenvitmlst ) :<1,~ref> effenvitmlst = EFILSTmark (0(*soft*), xs) // end of [efilst_mark] fun efilst_unmark ( xs: effenvitmlst ) :<1,~ref> effenvitmlst = case+ xs of | ~EFILSTcons (_, xs) => efilst_unmark (xs) | ~EFILSTmark (_(*knd*), xs) => xs | ~EFILSTnil () => EFILSTnil () // end of [efilst_unmark] (* ****** ****** *) extern fun effset_diff_s2eff (efs0: effset, s2fe: s2eff): effset implement effset_diff_s2eff (efs0, s2fe) = ( case+ s2fe of | S2EFFset (efs) => effset_diff (efs0, efs) | S2EFFexp (exp) => efs0 (* conservative estimation *) | S2EFFadd (s2fe1, s2fe2) => ( effset_diff_s2eff (effset_diff_s2eff (efs0, s2fe1), s2fe2) ) // end of [S2EFFadd] ) // end of [effset_diff_s2eff] extern fun effset_union_s2eff (efs0: effset, s2fe: s2eff): effset implement effset_union_s2eff (efs0, s2fe) = ( case+ s2fe of | S2EFFset (efs) => effset_union (efs0, efs) | S2EFFexp (exp) => efs0 (* conservative estimation *) | S2EFFadd (s2fe1, s2fe2) => ( effset_union_s2eff (effset_union_s2eff (efs0, s2fe1), s2fe2) ) // end of [S2EFFadd] ) // end of [effset_union_s2eff] (* ****** ****** *) local assume effenv_push_v = unit_v val the_efis = ref (EFILSTnil ()) in (* in of [local] *) implement the_effenv_add_eff (eff) = let val (vbox pf | p) = ref_get_view_ptr (the_efis) val efs = effset_sing (eff) val efi = EFFENVITMeff (efs) in !p := EFILSTcons (efi, !p) end // end of [the_effenv_add_eff] (* ****** ****** *) implement the_effenv_pop (pf | (*none*)) = let prval () = unit_v_elim (pf) val (vbox pf | p) = ref_get_view_ptr (the_efis) in !p := efilst_unmark (!p) end // end of [the_effenv_pop] implement the_effenv_pop_if (pfopt | test) = if test then let prval Some_v (pf) = pfopt in the_effenv_pop (pf | (*void*)) end else let prval None_v () = pfopt in () end // end of [if] // end of [the_effenv_pop_if] (* ****** ****** *) implement the_effenv_push () = let val (vbox pf | p) = ref_get_view_ptr (the_efis) // end of [val] val () = !p := EFILSTmark (0(*soft*), !p) in (unit_v () | ()) end // end of [the_effenv_push] implement the_effenv_push_lam (s2fe) = let // val efi = EFFENVITMeffmask (s2fe) val (vbox pf | p) = ref_get_view_ptr (the_efis) val efis = EFILSTmark (1(*hard*), !p) val () = !p := EFILSTcons (efi, efis) // in (unit_v () | ()) end // end of [the_effenv_push_lam] (* ****** ****** *) implement the_effenv_push_set (efs) = let // val efi = EFFENVITMeff (efs) val (vbox pf | p) = ref_get_view_ptr (the_efis) val efis = EFILSTmark (0(*soft*), !p) val () = !p := EFILSTcons (efi, efis) // in (unit_v () | ()) end // end of [the_effenv_push_set] implement the_effenv_push_set_if (test, efs) = ( if test then let val (pf | ()) = the_effenv_push_set (efs) in (Some_v (pf) | ()) // end of [val] end else (None_v () | ()) ) // end of [the_effenv_push_set_if] (* ****** ****** *) implement the_effenv_push_effmask (s2fe) = let // val efi = EFFENVITMeffmask (s2fe) val (vbox pf | p) = ref_get_view_ptr (the_efis) val efis = EFILSTmark (0(*soft*), !p) val () = !p := EFILSTcons (efi, efis) // in (unit_v () | ()) end // end of [the_effenv_push_effmask] (* ****** ****** *) implement the_effenv_check_set (loc0, efs0) = let (* val () = println! ("the_effenv_check_set: efs0 = ", efs0) // end of [val] *) fun auxerr ( efs: effset ) : void = let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "the_effenv_check_set" val () = prerrln! (": some disallowed effects may be incurred: ", efs) in the_trans3errlst_add (T3E_effenv_check_set (loc0, efs0)) end (* end of [auxerr] *) // fun auxcheck ( efis: !effenvitmlst, efs0: effset(*isnotnil*) ) : int = case+ efis of | EFILSTcons (efi, !p_efis) => ( case+ efi of | EFFENVITMeff (efs) => let val efs = effset_inter (efs0, efs) // end of [val] val isnil = effset_isnil (efs) val ans = ( if isnil then auxcheck (!p_efis, efs0) else 1(*fail*) ) : int // end of [val] val () = if ans > 0 then auxerr (efs) in fold@ (efis); ans end // end of [EFFENVITEMeff] | EFFENVITMeffmask (s2fe) => let val efs0 = effset_diff_s2eff (efs0, s2fe) // conservative val isnil = effset_isnil (efs0) val ans = ( if isnil then 0(*succ*) else auxcheck (!p_efis, efs0) ) : int // end of [val] in fold@ (efis); ans end // end of [EFFENVITEMeffmask] ) // end of [EFILSTcons] | EFILSTmark (knd, !p_efis) => let val ans = ( // HX: note that [efs0] is not nil if knd > 0 then 1(*fail*) else auxcheck (!p_efis, efs0) ) : int // end of [val] val () = if knd > 0 then (if ans > 0 then auxerr (efs0)) in fold@ (efis); ans end // end of [EFILSTmark] // // HX: effects are all considered to be masked at the end // | EFILSTnil () => (fold@ (efis); 0) // end of [aux] // val isnil = effset_isnil (efs0) // in // if isnil then 0 else let val (vbox pf | p) = ref_get_view_ptr (the_efis) in $effmask_ref (auxcheck (!p, efs0)) end // end of [if] // end // end of [the_effenv_check_set] (* ****** ****** *) implement the_effenv_check_eff (loc0, eff) = ( the_effenv_check_set (loc0, effset_sing (eff)) ) // end of [the_effenv_check_eff] implement the_effenv_check_exn (loc0) = the_effenv_check_set (loc0, effset_exn) // end of [the_effenv_check_exn] implement the_effenv_check_ntm (loc0) = the_effenv_check_set (loc0, effset_ntm) // end of [the_effenv_check_ntm] implement the_effenv_check_ref (loc0) = the_effenv_check_set (loc0, effset_ref) // end of [the_effenv_check_ref] implement the_effenv_check_wrt (loc0) = the_effenv_check_set (loc0, effset_wrt) // end of [the_effenv_check_wrt] (* ****** ****** *) implement the_effenv_caskind_check_exn (loc0, casknd) = (case+ casknd of | CK_case () => the_effenv_check_exn (loc0) | CK_case_pos () => 0 // HX: a type error is to be reported | CK_case_neg () => 0 // HX: per the wish of the programmer ) // end of [the_effenv_caskind_check_exn] (* ****** ****** *) implement the_effenv_check_sexp (loc0, s2e0) = let (* val () = println! ("the_effenv_check_sexp: s2e0 = ", s2e0) // end of [val] *) fun auxerr ( s2e0: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "the_effenv_check_sexp" val () = prerrln! (": some disallowed effects may be incurred: ", s2e0) in the_trans3errlst_add (T3E_effenv_check_sexp (loc0, s2e0)) end (* end of [auxerr] *) // fun auxcheck ( efis: !effenvitmlst, mefs: effset, s2e0: s2exp ) : int = case+ efis of | EFILSTcons (efi, !p_efis) => ( case+ efi of | EFFENVITMeff efs => let val issup = effset_supset (mefs, efs) val ans = (if issup then 0 else 1): int val () = if ans > 0 then auxerr (s2e0) in fold@ (efis); ans end // end of [EFFENVITMeff] | EFFENVITMeffmask s2fe => let val isnil = s2eff_contain_exp (s2fe, s2e0) // conservative val ans = ( if isnil then 0(*succ*) else let val mefs = effset_union_s2eff (mefs, s2fe) // conservative in auxcheck (!p_efis, mefs, s2e0) end (* end of [if] *) ) : int // end of [val] in fold@ (efis); ans end // end of [EFFENVITEMeffmask] ) // end of [EFILSTcons] | EFILSTmark (knd, !p_efis) => let val ans = ( // HX: assuming [s2e0] is not nil if knd > 0 then 1(*fail*) else auxcheck (!p_efis, mefs, s2e0) ) : int // end of [val] val () = if ans > 0 then auxerr (s2e0) in fold@ (efis); ans end // end of [EFILSTmark] | EFILSTnil () => (fold@ (efis); 0(*succ*)) // end of [aux] // val (vbox pf | p) = ref_get_view_ptr (the_efis) // in $effmask_ref (auxcheck (!p, effset_nil, s2e0)) end // end of [the_effenv_check_sexp] (* ****** ****** *) implement the_effenv_check_s2eff (loc0, s2fe0) = let (* val () = println! ("the_effenv_check_s2eff: s2fe0 = ", s2fe0) // end of [val] *) val s2fe0 = s2eff_hnfize (s2fe0) // in // case+ s2fe0 of | S2EFFset (efs0) => the_effenv_check_set (loc0, efs0) | S2EFFexp (s2e) => let val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) in the_effenv_check_sexp (loc0, s2e) end // end of [S2EFFexp] | S2EFFadd (s2fe1, s2fe2) => let val ans = the_effenv_check_s2eff (loc0, s2fe1) in if ans > 0 then 1 else the_effenv_check_s2eff (loc0, s2fe2) end // end of [S2EFFadd] // end // end of [the_effenv_check_s2eff] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_env_effect.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_scst.dats0000664000175000017500000001167212655455557020556 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_env_scst" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) local assume s2cstbindlst_push_v = unit_v viewtypedef s2cstlstlst_vt = List_vt (s2cstlst_vt) val the_s2cstlst = ref_make_elt (list_vt_nil) val the_s2cstlstlst = ref_make_elt (list_vt_nil) in // in of [local] implement the_s2cstbindlst_add (s2c) = let (* val () = begin print "the_s2cstbindlst_add: s2c = "; print_s2cst (s2c); print_newline () end // end of [val] *) // val (vbox pf | p) = ref_get_view_ptr (the_s2cstlst) // in !p := list_vt_cons (s2c, !p) end // end of [the_s2cstbindlst_add] (* ****** ****** *) implement the_s2cstbindlst_addlst (s2cs) = let (* val () = begin print "the_s2cstbindlst_add: s2cs = "; print_s2cstlst ($UN.castvwtp1{s2cstlst}(s2cs)); print_newline () end // end of [val] *) // val (vbox pf | p) = ref_get_view_ptr (the_s2cstlst) // in !p := list_vt_append (s2cs, !p) // HX: not [reverse_append]! end // end of [the_s2cstbindlst_add] (* ****** ****** *) implement the_s2cstbindlst_bind_and_add (loc0, s2c, s2f) = let val s2e = s2hnf2exp (s2f) (* val () = begin println! ("the_s2cstbindlst_bind_and_add: s2c = ", s2c); println! ("the_s2cstbindlst_bind_and_add: s2e = ", s2e); end // end of [val] *) val isasp = s2cst_get_isasp (s2c) val () = if (isasp) then { val () = prerr_warning3_loc (loc0) val () = prerrln! (": the static constant [", s2c, "] is not abstract at this point.") } // end of [if] // end of [val] // val () = s2cst_set_def (s2c, Some s2e) val () = s2cst_set_isasp (s2c, true(*assumed*)) // in the_s2cstbindlst_add (s2c) end // end of [the_s2cstbindlst_bind_and_add] (* ****** ****** *) implement the_s2cstbindlst_pop (pf | (*none*)) = let // prval () = unit_v_elim (pf) // val s2cs2 = let val (vbox pf | pp) = ref_get_view_ptr (the_s2cstlstlst) in case+ !pp of | ~list_vt_cons (xs, xss) => (!pp := xss; xs) | list_vt_nil () => (fold@ (!pp); list_vt_nil) end : s2cstlst_vt // end of [val] val (vbox pf | p) = ref_get_view_ptr (the_s2cstlst) val s2cs1 = !p val () = !p := s2cs2 in s2cs1 // HX: originally stored in the_s2cstlst end // end of [the_s2cstbindlst_pop] (* ****** ****** *) implement the_s2cstbindlst_pop_and_unbind (pf | (*none*)) = let fun loop (s2cs: s2cstlst_vt): void = begin case+ s2cs of | ~list_vt_cons (s2c, s2cs) => let (* val () = begin print "the_s2cstbindlst_pop_and_unbind: loop: s2c = "; print_s2cst (s2c); print_newline () end // end of [val] *) val () = s2cst_set_def (s2c, None ()) in loop s2cs end // end of [S2CSTLSTcons] | ~list_vt_nil () => () end // end of [loop] in loop (the_s2cstbindlst_pop (pf | (*none*))) end // end of [the_s2cstbindlst_pop_and_unbind] (* ****** ****** *) implement the_s2cstbindlst_push () = let val s2cs = let val (vbox pf | p) = ref_get_view_ptr (the_s2cstlst) val s2cs = !p val () = !p := list_vt_nil () in s2cs end // end of [val] val (vbox pf | pp) = ref_get_view_ptr (the_s2cstlstlst) val () = !pp := list_vt_cons (s2cs, !pp) in (unit_v | ()) end // end of [the_s2cstbindlst_push] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_env_scst.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_myint_int.dats0000664000175000017500000001223112655455557021356 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) %{^ #include "pats_lintprgm_myint.cats" %} // end of [%{^] (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) viewtypedef myint = myint(intknd) extern castfn myint2int0 (x: myint):<> int // // HX: it is okay to use a castfn here as [myint] contains extern castfn myint2int1 (x: !myint):<> int // no resources // extern castfn int2myint (x: int):<> myint // macdef i2mi = int2myint macdef mi2i0 = myint2int0 macdef mi2i1 = myint2int1 (* ****** ****** *) extern praxi myint_int_free (x: myint): void extern castfn myint_int_copy (x: !myint):<> myint (* ****** ****** *) implement myint_make_int (x) = int2myint (x) implement myint_make_intinf (x) = let val x = $INTINF.intinf_get_int (x) in int2myint (x) end // end of [myint_make_intinf] (* ****** ****** *) implement myint_free (x) = let prval () = myint_int_free (x) in (*nothing*) end // end of [myint_free] implement myint_copy (x) = myint_int_copy (x) (* ****** ****** *) implement neg_myint (x) = i2mi(~(mi2i0)x) implement neg1_myint (x) = i2mi(~(mi2i1)x) (* ****** ****** *) implement add_myint_int (x, i) = i2mi((mi2i0)x + i) (* ****** ****** *) implement add01_myint_myint (x, y) = i2mi(res) where { val res = (mi2i0)x + (mi2i1)y } // end of [add_myint_myint] implement sub01_myint_myint (x, y) = (i2mi)res where { val res = (mi2i0)x - (mi2i1)y } // end of [sub_myint_myint] (* ****** ****** *) implement mul01_myint_myint (x, y) = i2mi((mi2i0)x * (mi2i1)y) implement mul10_myint_myint (x, y) = i2mi((mi2i1)x * (mi2i0)y) implement mul11_myint_myint (x, y) = i2mi((mi2i1)x * (mi2i1)y) (* ****** ****** *) implement div01_myint_myint (x, y) = (i2mi)res where { val res = (mi2i0)x / (mi2i1)y } // end of [div01_myint_myint] implement div11_myint_myint (x, y) = i2mi((mi2i1)x / (mi2i1)y) implement ediv01_myint_myint (x, y) = (i2mi)res where { val res = (mi2i0)x / (mi2i1)y } // end of [ediv_myint_myint] (* ****** ****** *) implement mod01_myint_myint (x, y) = (i2mi)res where { val res = op mod ((mi2i0)x, (mi2i1)y) } // end of [mod01_myint_myint] implement mod11_myint_myint (x, y) = i2mi((mi2i1)x mod (mi2i1)y) (* ****** ****** *) implement gcd01_myint_myint (x, y) = (i2mi)res where { val res = op gcd ((mi2i0)x, (mi2i1)y) } // end of [gcd_myint_myint] (* ****** ****** *) implement lt_myint_int (x, y) = (mi2i1)x < y implement lte_myint_int (x, y) = (mi2i1)x <= y implement gt_myint_int (x, y) = (mi2i1)x > y implement gte_myint_int (x, y) = (mi2i1)x >= y implement eq_myint_int (x, y) = (mi2i1)x = y implement neq_myint_int (x, y) = (mi2i1)x != y implement compare_myint_int (x, y) = compare ((mi2i1)x, y) (* ****** ****** *) implement lt_myint_myint (x, y) = ((mi2i1)x < (mi2i1)y) implement lte_myint_myint (x, y) = ((mi2i1)x <= (mi2i1)y) implement gt_myint_myint (x, y) = ((mi2i1)x > (mi2i1)y) implement gte_myint_myint (x, y) = ((mi2i1)x >= (mi2i1)y) (* ****** ****** *) implement fprint_myint (out, x) = fprint_int (out, mi2i1(x)) (* ****** ****** *) implement myintvec_free {n} (xs, n) = let // // HX: myint(int) is actually a type // viewtypedef vt = myint val (pfgc, pf | p) = __cast (xs) where { extern castfn __cast (x: myintvec (intknd, n)) :<> [l:addr] (free_gc_v (vt?, n, l), array_v(vt?, n, l) | ptr l) } // end of [val] in array_ptr_free (pfgc, pf | p) end // end of [myintvec_free] (* ****** ****** *) (* end of [pats_lintprgm_myint_int.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_sort.dats0000664000175000017500000001274012655455557017715 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans2_sort.dats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) extern fun s1rt_tr_app ( s1t0: s1rt, s1t_fun: s1rt, s1ts_arg: s1rtlst ) : s2rt // end of [s1rt_tr_app] extern fun s1rt_tr_qid (s1t0: s1rt, q: $SYN.s0rtq, id: symbol): s2rt // end of [s1rt_tr_qid] (* ****** ****** *) #define nil list_nil #define :: list_cons #define cons list_cons implement s1rt_tr_app ( s1t0, s1t_fun, s1ts_arg ) = let val loc0 = s1t0.s1rt_loc in // case+ s1t_fun.s1rt_node of | _ when s1rt_is_arrow (s1t_fun) => ( case+ s1ts_arg of | s1t1 :: s1t2 :: nil () => let val s1ts1 = (case+ s1t1.s1rt_node of | S1RTlist s1ts => s1ts | _ => list_sing (s1t1) ) : s1rtlst // end of [val] val s2ts1 = s1rtlst_tr (s1ts1) and s2t2 = s1rt_tr (s1t2) in S2RTfun (s2ts1, s2t2) end | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! ": s1rt_tr_app: [->] is not an infix operator!" in $ERR.abort_interr{s2rt}((*unreachable*)) end // end of [_] ) // end of [s1rt_is_arrow] | _ => s2rt_err () where { val () = prerr_error2_loc (s1t0.s1rt_loc) val () = filprerr_ifdebug ("s1rt_tr_app") val () = prerr ": sort application is not supported." val () = prerr_newline () val () = the_trans2errlst_add (T2E_s1rt_tr (s1t0)) } // end of [_] // end // end of [s1rt_tr_app] (* ****** ****** *) implement s1rt_tr_qid (s1t0, q, id) = let val loc0 = s1t0.s1rt_loc val ans = the_s2rtenv_find_qua (q, id) in // case+ ans of | ~Some_vt (x) => ( case+ x of | S2TEsrt (s2t) => s2t | _ => let val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("s1rt_tr_qid") val () = prerr ": the identifier [" val () = $SYM.prerr_symbol (id) val () = prerr "] is expected to refer to a sort (instead of a subset sort)." val () = prerr_newline () val () = the_trans2errlst_add (T2E_s1rt_tr (s1t0)) in s2rt_err () end (* end of [_] *) ) // end of [Some_vt] | ~None_vt () => let val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("s1rt_tr_qid") val () = prerr ": the identifier [" val () = $SYM.prerr_symbol (id) val () = prerr "] does not refer to any recognized sort." val () = prerr_newline () val () = the_trans2errlst_add (T2E_s1rt_tr (s1t0)) in s2rt_err () end // end of [None_vt] // end // end of [s1rt_tr_qid] (* ****** ****** *) implement s1rt_tr (s1t0) = let val loc0 = s1t0.s1rt_loc (* val () = ( print loc0; print "s1rt_tr: S1RTapp: "; print_newline () ) // end of [val] *) in // case+ s1t0.s1rt_node of | S1RTapp ( s1t, s1ts ) => s1rt_tr_app (s1t0, s1t, s1ts) | S1RTtype (impknd) => s2rt_impred (impknd) | S1RTqid (q, id) => s1rt_tr_qid (s1t0, q, id) | S1RTlist (s1ts) => S2RTtup (s1rtlst_tr s1ts) | S1RTerr () => s2rt_err () // end // end of [s1rt_tr] (* ****** ****** *) implement s1rtlst_tr (xs) = l2l (list_map_fun (xs, s1rt_tr)) implement s1rtopt_tr (opt) = (case+ opt of | Some x => Some (s1rt_tr x) | None () => None () ) // end of [s1rtopt_tr] (* ****** ****** *) implement a1srt_tr_srt (x) = s1rt_tr (x.a1srt_srt) implement a1msrt_tr_srt (x) = l2l (list_map_fun (x.a1msrt_arg, a1srt_tr_srt)) (* ****** ****** *) implement a1srt_tr_symsrt (x) = let val sym = (case+ x.a1srt_sym of | None () => $SYM.symbol_empty | Some sym => sym ) : symbol // end of [val] val s2t = s1rt_tr (x.a1srt_srt) in (sym, s2t) end // end of [a1srt_tr_symsrt] implement a1msrt_tr_symsrt (x) = l2l (list_map_fun (x.a1msrt_arg, a1srt_tr_symsrt)) (* ****** ****** *) (* end of [pats_trans2_sort.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_error.dats0000664000175000017500000002012112655455557020224 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_staexp2_error" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location macdef print_location = $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) local #define MAXLEN 100 #assert (MAXLEN > 0) val the_length = ref (0) val the_staerrlst = ref (list_vt_nil) in // in of [local] implement the_staerrlst_clear () = () where { val () = !the_length := 0 val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_staerrlst) val () = list_vt_free (!p) val () = !p := list_vt_nil () } // end of [val] } // end of [the_staerrlst_clear] implement the_staerrlst_add (err) = () where { val n = let val (vbox pf | p) = ref_get_view_ptr (the_length) val n = !p val () = !p := n + 1 in n end // end of [val] val () = if n < MAXLEN then let val (vbox pf | p) = ref_get_view_ptr (the_staerrlst) in !p := list_vt_cons (err, !p) end // end of [val] } // end of [the_staerrlst_add] implement the_staerrlst_get (n) = xs where { val () = n := !the_length val () = !the_length := 0 val (vbox pf | p) = ref_get_view_ptr (the_staerrlst) val xs = !p val xs = list_vt_reverse (xs) val () = !p := list_vt_nil () } // end of [the_staerrlst_get] end // end of [local] (* ****** ****** *) local fn prerr_staerr_funclo_equal ( loc: location, fc1: funclo, fc2: funclo ) : void = begin prerr_error3_loc (loc); prerr ": function/closure mismatch:\n"; prerr "The actual funclo kind is: "; prerr_funclo fc1; prerr_newline (); prerr "The needed funclo kind is: "; prerr_funclo fc2; prerr_newline (); end // end of [prerr_staerr_funclo_equal] fn prerr_staerr_clokind_equal ( loc: location, knd1: int, knd2: int ) : void = begin prerr_error3_loc (loc); prerr ": closure mismatch:\n"; prerr "The actual closure kind is: "; prerr_int knd1; prerr_newline (); prerr "The needed closure kind is: "; prerr_int knd2; prerr_newline (); end // end of [prerr_staerr_clokind_equal] fn prerr_staerr_linearity_equal ( loc: location, lin1: int, lin2: int ) : void = let macdef prlin (lin) = prerr_string (if ,(lin) > 0 then "linear" else "nonlinear") // end of [macdef] in prerr_error3_loc (loc); prerr ": linearity mismatch:\n"; prerr "The actual linearity is: "; prlin (lin1); prerr_newline (); prerr "The needed linearity is: "; prlin (lin2); prerr_newline (); end // end of [prerr_staerr_linearity_equal] fn prerr_staerr_pfarity_equal ( loc: location, npf1: int, npf2: int ) : void = begin prerr_error3_loc (loc); prerr ": proof arity mismatch:\n"; prerr "The actual proof arity is: "; prerr_int npf1; prerr_newline (); prerr "The needed proof arity is: "; prerr_int npf2; prerr_newline (); end // end of [prerr_staerr_pfarity_equal] (* ****** ****** *) fn prerr_staerr_s2eff_subeq ( loc: location, s2fe1: s2eff, s2fe2: s2eff ) : void = begin prerr_error3_loc (loc); prerr ": maybe incurring disallowed effects:\n"; prerr "The actual effects are: "; prerr_s2eff s2fe1; prerr_newline (); prerr "The allowed effects are: "; prerr_s2eff s2fe2; prerr_newline (); end // end of [prerr_staerr_s2eff_subeq] (* ****** ****** *) fn prerr_staerr_boxity_equal ( loc: location, knd1: int, knd2: tyreckind ) : void = let // val () = prerr_error3_loc (loc) val () = prerr ": boxity mismatch" val () = prerr_newline () // in // nothing end // end of [prerr_staerr_boxity_equal] fn prerr_staerr_tyreckind_equal ( loc: location, knd1: tyreckind, knd2: tyreckind ) : void = let // val () = prerr_error3_loc (loc) val () = prerr ": tyreckind mismatch: " val () = prerr_tyreckind (knd1) val () = prerr " <> " val () = prerr_tyreckind (knd2) val () = prerr_newline () // in // nothing end // end of [prerr_staerr_boxity_equal] (* ****** ****** *) fn prerr_staerr_s2exp_equal ( loc: location, s2e1: s2exp, s2e2: s2exp ) : void = begin prerr_error3_loc (loc); prerr ": mismatch of static terms (equal):\n"; prerr "The actual term is: "; pprerr_s2exp (s2e1); prerr_newline (); prerr "The needed term is: "; pprerr_s2exp (s2e2); prerr_newline (); end // end of [prerr_staerr_s2exp_equal] fn prerr_staerr_s2exp_tyleq ( loc: location, s2e1: s2exp, s2e2: s2exp ) : void = begin prerr_error3_loc (loc); prerr ": mismatch of static terms (tyleq):\n"; prerr "The actual term is: "; pprerr_s2exp (s2e1); prerr_newline (); prerr "The needed term is: "; pprerr_s2exp (s2e2); prerr_newline (); end // end of [prerr_staerr_s2exp_tyleq] fn prerr_staerr_s2Var_s2exp_solve ( loc: location, s2V1: s2Var, s2e2: s2exp ) : void = let val s2t1 = s2Var_get_srt (s2V1) // end of [val] val s2t2 = s2e2.s2exp_srt in prerr_error3_loc (loc); prerr ": mismatch of sorts in unification:\n"; (* prerr "The sVar of variable is: "; prerr_s2Var (s2V1); prerr_newline (); *) prerr "The sort of variable is: "; prerr_s2rt (s2t1); prerr_newline (); (* prerr "The sexp of solution is: "; pprerr_s2exp (s2e2); prerr_newline (); *) prerr "The sort of solution is: "; prerr_s2rt (s2t2); prerr_newline (); end // end of [prerr_staerr_s2Var_s2exp_solve] in // in of [local] implement prerr_the_staerrlst () = let // fun loop ( xs: staerrlst_vt ) : void = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = (case+ x of // | STAERR_funclo_equal (loc, fc1, fc2) => prerr_staerr_funclo_equal (loc, fc1, fc2) | STAERR_clokind_equal (loc, knd1, knd2) => prerr_staerr_clokind_equal (loc, knd1, knd2) | STAERR_linearity_equal (loc, lin1, lin2) => prerr_staerr_linearity_equal (loc, lin1, lin2) | STAERR_pfarity_equal (loc, npf1, npf2) => prerr_staerr_pfarity_equal (loc, npf1, npf2) // | STAERR_s2eff_subeq (loc, s2fe1, s2fe2) => prerr_staerr_s2eff_subeq (loc, s2fe1, s2fe2) // | STAERR_boxity_equal (loc, knd1, knd2) => prerr_staerr_boxity_equal (loc, knd1, knd2) | STAERR_tyreckind_equal (loc, knd1, knd2) => prerr_staerr_tyreckind_equal (loc, knd1, knd2) // | STAERR_s2exp_equal (loc, s2e1, s2e2) => prerr_staerr_s2exp_equal (loc, s2e1, s2e2) | STAERR_s2exp_tyleq (loc, s2e1, s2e2) => prerr_staerr_s2exp_tyleq (loc, s2e1, s2e2) // | STAERR_s2Var_s2exp_solve (loc, s2V1, s2e2) => prerr_staerr_s2Var_s2exp_solve (loc, s2V1, s2e2) // | _ => () ) : void // end of [case] // end of [val] in loop (xs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [loop] // var n: int val xs = the_staerrlst_get (n) // in loop (xs) end // end of [prerr_the_staerrlst] end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_location.dats0000664000175000017500000002455312655455557017252 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename (* ****** ****** *) staload "./pats_location.sats" (* ****** ****** *) assume position_t0ype = $extype_struct "pats_position_struct" of { ntot= lint, nrow= int, ncol= int } // end of [position_t0ype] (* ****** ****** *) // implement print_position (pos) = fprint_position (stdout_ref, pos) // (* ****** ****** *) implement fprint_position (out, pos) = let // val ntot = pos.ntot val nrow = pos.nrow val ncol = pos.ncol // in // fprintf ( out, "%li(line=%i, offs=%i)", @(ntot+1L, nrow+1, ncol+1) ) (* end of [val] *) // end // end of [fprint_position] (* ****** ****** *) implement position_get_ntot (pos) = pos.ntot implement position_get_nrow (pos) = pos.nrow implement position_get_ncol (pos) = pos.ncol (* ****** ****** *) implement position_init ( pos0, ntot, nrow, ncol ) = () where { val () = pos0.ntot := ntot val () = pos0.nrow := nrow val () = pos0.ncol := ncol } (* end of [position_init] *) implement position_copy ( pos0, pos1 ) = () where { val () = pos0.ntot := pos1.ntot val () = pos0.nrow := pos1.nrow val () = pos0.ncol := pos1.ncol } (* end of [position_copy] *) (* ****** ****** *) implement position_incby_char (pos, i) = if i >= 0 then let // #define c2i int_of_char // val () = pos.ntot := pos.ntot + 1L // end of [val] val () = if i = (c2i)'\n' then let val () = pos.nrow := pos.nrow + 1 val () = pos.ncol := 0 in // nothing end else let val () = pos.ncol := pos.ncol + 1 in // nothing end // end of [if] in // nothing end // end of [position_incby_char] (* ****** ****** *) implement position_decby_count (pos, n) = () where { // #define u2i int_of_uint #define u2l lint_of_uint // val () = pos.ntot := pos.ntot - (u2l)n val () = pos.ncol := pos.ncol - (u2i)n } // end of [position_decby_count] implement position_incby_count (pos, n) = () where { // #define u2i int_of_uint #define u2l lint_of_uint // val () = pos.ntot := pos.ntot + (u2l)n val () = pos.ncol := pos.ncol + (u2i)n } // end of [position_incby_count] (* ****** ****** *) assume location_type = '{ // filename= filename // file name // , beg_ntot= lint // beginning char position , beg_nrow= int , beg_ncol= int , end_ntot= lint // finishing char position , end_nrow= int , end_ncol= int // , locpragma= locpragma // } (* end of [location_type] *) (* ****** ****** *) implement location_get_bchar (loc) = loc.beg_ntot (* ****** ****** *) implement location_beg_nrow (loc) = loc.beg_nrow (* ****** ****** *) implement location_beg_ntot (loc) = loc.beg_ntot implement location_end_ntot (loc) = loc.end_ntot (* ****** ****** *) implement location_get_filename(loc) = loc.filename (* ****** ****** *) // implement print_location (loc) = fprint_location(stdout_ref, loc) // implement prerr_location (loc) = fprint_location(stderr_ref, loc) // (* ****** ****** *) implement fprint_locrange (out, loc) = () where { // val () = fprint_lint (out, loc.beg_ntot+1L) val () = fprint_string (out, "(line=") val () = fprint_int (out, loc.beg_nrow+1) val () = fprint_string (out, ", offs=") val () = fprint_int (out, loc.beg_ncol+1) val () = fprint_string (out, ")") // val () = fprint_string (out, " -- ") // val () = fprint_lint (out, loc.end_ntot+1L) val () = fprint_string (out, "(line=") val () = fprint_int (out, loc.end_nrow+1) val () = fprint_string (out, ", offs=") val () = fprint_int (out, loc.end_ncol+1) val () = fprint_string (out, ")") // } (* end of [fprint_locrange] *) (* ****** ****** *) implement fprint_location (out, loc) = let (* val () = println! ("fprint_location") *) in // fprint_locpragma(out, loc.locpragma); $FIL.fprint_filename_full (out, loc.filename); fprint_string (out, ": "); fprint_locrange (out, loc) // end (* end of [fprint_location] *) (* ****** ****** *) implement fprint2_location (out, loc) = let (* val () = println! ("fprint2_location") *) in // fprint_locpragma(out, loc.locpragma); $FIL.fprint2_filename_full (out, loc.filename); fprint_string (out, ": "); fprint_locrange (out, loc) // end (* end of [fprint2_location] *) (* ****** ****** *) implement location_dummy = '{ filename= $FIL.filename_dummy , beg_ntot= ~1L , beg_nrow= ~1 , beg_ncol= ~1 , end_ntot= ~1L , end_nrow= ~1 , end_ncol= ~1 , locpragma= locpragma0_make() } (* end of [location_dummy] *) (* ****** ****** *) implement location_make_pos_pos (pos1, pos2) = let val fil = $FIL.filename_get_current () in location_make_fil_pos_pos (fil, pos1, pos2) end // end of [location_make_pos_pos] (* ****** ****** *) implement location_make_fil_pos_pos (fil, pos1, pos2) = '{ filename= fil , beg_ntot= pos1.ntot , beg_nrow= pos1.nrow , beg_ncol= pos1.ncol , end_ntot= pos2.ntot , end_nrow= pos2.nrow , end_ncol= pos2.ncol , locpragma= the_location_pragma_get() } // end of [location_make_pos_pos] (* ****** ****** *) implement location_leftmost (loc) = '{ filename= loc.filename , beg_ntot= loc.beg_ntot , beg_nrow= loc.beg_nrow , beg_ncol= loc.beg_ncol , end_ntot= loc.beg_ntot , end_nrow= loc.beg_nrow , end_ncol= loc.beg_ncol , locpragma= loc.locpragma } // end of [location_leftmost] implement location_rightmost (loc) = '{ filename= loc.filename , beg_ntot= loc.end_ntot , beg_nrow= loc.end_nrow , beg_ncol= loc.end_ncol , end_ntot= loc.end_ntot , end_nrow= loc.end_nrow , end_ncol= loc.end_ncol , locpragma= loc.locpragma } // end of [location_rightmost] (* ****** ****** *) local fn location_is_none ( loc: location ) :<> bool = (loc.beg_ntot < 0L) fn location_combine_main ( loc1: location, loc2: location ) :<> location = let // var beg_ntot: lint var beg_nrow: int and beg_ncol: int var end_ntot: lint var end_nrow: int and end_ncol: int // val () = if loc1.beg_ntot <= loc2.beg_ntot then begin beg_nrow := loc1.beg_nrow; beg_ncol := loc1.beg_ncol; beg_ntot := loc1.beg_ntot; end // end of [then] else begin beg_nrow := loc2.beg_nrow; beg_ncol := loc2.beg_ncol; beg_ntot := loc2.beg_ntot; end // end of [else] // end of [if] // end of [val] // val () = if loc1.end_ntot >= loc2.end_ntot then begin end_nrow := loc1.end_nrow; end_ncol := loc1.end_ncol; end_ntot := loc1.end_ntot; end // end of [then] else begin end_nrow := loc2.end_nrow; end_ncol := loc2.end_ncol; end_ntot := loc2.end_ntot; end // end of [else] // end of [if] // end of [val] // in '{ filename= loc1.filename , beg_ntot= beg_ntot, beg_nrow= beg_nrow, beg_ncol= beg_ncol , end_ntot= end_ntot, end_nrow= end_nrow, end_ncol= end_ncol , locpragma= loc1.locpragma } end // end of [location_combine_main] in // in of [local] implement location_combine (loc1, loc2) = case+ 0 of | _ when location_is_none loc1 => loc2 | _ when location_is_none loc2 => loc1 | _ (*rest*) => location_combine_main (loc1, loc2) // end of [location_combine] end // end of [local] (* ****** ****** *) implement fprint_line_pragma (out, loc) = let // val line = loc.beg_nrow // val () = if line >= 0 then let val () = fprint_string (out, "#line ") val () = fprint_int (out, line+1) // counting from 1 val () = fprint_string (out, " \"") val () = $FIL.fprint_filename_full (out, loc.filename) val () = fprint_string (out, "\"\n") in // nothing end // end of [then] else let (* // // HX-2010-11-02: this is another possibility: // val () = fprint1_string (out, "#line 1 \"\"\n") *) in // nothing end // end of [else] // in // nothing end // end of [fprint_line_pragma] (* ****** ****** *) local // datatype locpragma = | LOCPRAGMA0 of () | LOCPRAGMA1 of (string(*...*)) | LOCPRAGMA2 of (string(*file*), string(*...*)) // assume locpragma_type = locpragma // typedef locpragmalst = List0(locpragma) // val the_locpragma = ref(LOCPRAGMA0()) val the_locpragmalst = ref(list_nil()) // in (* in-of-local *) // implement locpragma0_make()= LOCPRAGMA0() implement locpragma1_make(x)= LOCPRAGMA1(x) implement locpragma2_make(x1, x2)= LOCPRAGMA2(x1, x2) // implement the_location_pragma_get ((*void*)) = !the_locpragma implement the_location_pragma_set (x0) = !the_locpragma := x0 // implement the_location_pragma_pop ((*void*)) = () where { // val x0 = !the_locpragma val xs = !the_locpragmalst val-list_cons(x, xs) = xs val () = !the_locpragma := x val () = !the_locpragmalst := xs // } (* end of [the_location_pragma_pop] *) // implement the_location_pragma_push ((*void*)) = () where { // val x0 = !the_locpragma val xs = !the_locpragmalst val () = !the_locpragma := LOCPRAGMA0() val () = !the_locpragmalst := list_cons(x0, xs) // } (* end of [the_location_pragma_push] *) (* ****** ****** *) implement fprint_locpragma(out, x) = ( // case+ x of | LOCPRAGMA0() => () | LOCPRAGMA1(loc) => fprint! (out, "#locpragma(", loc, "): ") | LOCPRAGMA2(fil, loc) => fprint! (out, "#locpragma(", fil, ": ", loc, "): ") // ) (* end of [fprint_locpragma] *) (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_location.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1.sats0000664000175000017500000001413212655455557016661 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) // // HX-2011-05: // the list of possible errors that may occur // during the level-1 translation // datatype trans1err = // | T1E_prec_tr of (i0de) | T1E_e0xp_tr of (e0xp) | T1E_s0rt_tr of (s0rt) | T1E_s0exp_tr of (s0exp) // | T1E_p0at_tr of (p0at) | T1E_d0exp_tr of (d0exp) // | T1E_d0cstdec_tr of (d0cstdec) | T1E_termet_check of (location) // | T1E_i0nclude_tr of (d0ecl) // file for inclusion is not available | T1E_s0taload_tr of (d0ecl) // file for staloading is not available | T1E_d0ynload_tr of (d0ecl) // file for dynloading is not available // end of [trans1err] (* ****** ****** *) fun the_trans1errlst_add (x: trans1err): void fun the_trans1errlst_finalize (): void // cleanup all the errors (* ****** ****** *) // fun do_e0xpact_assert (loc: location, v: v1al): void // fun do_e0xpact_prerr (v: v1al): void fun do_e0xpact_print (v: v1al): void // fun do_e0xpact_error (loc: location, v: v1al): void // (* ****** ****** *) fun e0xp_tr (x: e0xp): e1xp fun e0xplst_tr (x: e0xplst): e1xplst (* ****** ****** *) fun e0fftaglst_tr (tags: e0fftaglst): @(fcopt, int, int, effcst) // end of [e0fftaglst_tr] (* ****** ****** *) fun s0rt_tr (_: s0rt): s1rt fun s0rtlst_tr (_: s0rtlst): s1rtlst fun s0rtopt_tr (_: s0rtopt): s1rtopt (* ****** ****** *) fun a0srt_tr (x: a0srt): a1srt fun a0msrt_tr (x: a0msrt): a1msrt fun a0msrtlst_tr (x: a0msrtlst): a1msrtlst (* ****** ****** *) fun s0arg_tr (x: s0arg): s1arg fun s0arglst_tr (x: s0arglst): s1arglst fun s0marg_tr (xs: s0marg): s1marg fun s0marglst_tr (xss: s0marglst): s1marglst (* ****** ****** *) fun s0vararg_tr (s0v: s0vararg): s1vararg fun s0vararglst_tr (s0v: s0vararglst): s1vararglst (* ****** ****** *) fun sp0at_tr (x: sp0at): sp1at (* ****** ****** *) fun s0exp_tr (x: s0exp): s1exp fun s0explst_tr (x: s0explst): s1explst fun s0expopt_tr (x: s0expopt): s1expopt fun labs0exp_tr (x: labs0exp): labs1exp fun s0rtext_tr (x: s0rtext): s1rtext fun s0qualst_tr (xs: s0qualst): s1qualst fun s0qualstlst_tr (xs: s0qualstlst): s1qualstlst fun witht0ype_tr (x: witht0ype): witht1ype (* ****** ****** *) fun S0Ed2ctype_tr (x: S0Ed2ctype): S1Ed2ctype (* ****** ****** *) fun d0ecl_fixity_tr (dec: f0xty, ids: i0delst): void fun d0ecl_nonfix_tr (ids: i0delst): void (* ****** ****** *) fun d0atsrtdec_tr (d: d0atsrtdec): d1atsrtdec (* ****** ****** *) fun s0rtdef_tr (x: s0rtdef): s1rtdef fun s0tacst_tr (x: s0tacst): s1tacst fun s0tacon_tr (x: s0tacon): s1tacon (* fun s0tavar_tr (x: s0tavar): s1tavar // HX: removed *) fun t0kindef_tr (x: t0kindef): t1kindef fun s0expdef_tr (x: s0expdef): s1expdef fun s0aspdec_tr (x: s0aspdec): s1aspdec (* ****** ****** *) fun q0marg_tr (x: q0marg): q1marg fun q0marglst_tr (x: q0marglst): q1marglst (* ****** ****** *) fun i0mparg_tr (x: i0mparg): i1mparg fun t0mpmarg_tr (x: t0mpmarg): t1mpmarg (* ****** ****** *) fun d0atcon_tr (d: d0atcon): d1atcon fun d0atdec_tr (d: d0atdec): d1atdec fun e0xndec_tr (d: e0xndec): e1xndec (* ****** ****** *) // fun dcstextdef_tr ( d0c: d0cstdec, sym: symbol, extopt: s0tringopt ) : dcstextdef // end of [dcstextdef_tr] // (* ****** ****** *) fun a0typ_tr (x: a0typ): s1exp fun a0typlst_tr (x: a0typlst): s1explst fun s0exparg_tr (loc: location, s0a: s0exparg): s1exparg (* ****** ****** *) fun m0acarglst_tr (m0as: m0acarglst): m1acarglst (* ****** ****** *) fun d0cstdeclst_tr (isfun: bool, isprf: bool, ds: d0cstdeclst): d1cstdeclst // end of [d0cstdeclst_tr] (* ****** ****** *) // fun p0at_tr (p0t: p0at): p1at fun p0atlst_tr (p0ts: p0atlst): p1atlst // fun labp0at_tr (lp0t: labp0at): labp1at fun labp0atlst_tr (lp0ts: labp0atlst): labp1atlst // (* ****** ****** *) fun d0exp_tr (x: d0exp): d1exp fun d0explst_tr (xs: d0explst): d1explst fun d0expopt_tr (xs: d0expopt): d1expopt fun labd0exp_tr (x: labd0exp): labd1exp (* ****** ****** *) fun termet_check (loc: location, is_met: bool, oefc: effcstopt): void // end of [termet_check] (* ****** ****** *) fun d0exp_tr_lams_dyn ( knd : int, locopt : Option(location), fcopt : fcopt, lin : int , args : f0arglst, res : s0expopt, efcopt : effcstopt, body : d0exp ) : d1exp // end of [d0exp_lams_dyn_tr] (* ****** ****** *) // // HX: for supporting syndef // (* ****** ****** *) typedef fsyndef = (location, d1explst) - d1exp fun d1exp_syndef_resolve (loc0: location, d1e: d1exp): d1exp (* ****** ****** *) fun d0ecl_tr (d0c: d0ecl): d1ecl fun d0eclist_tr (d0cs: d0eclist): d1eclist (* ****** ****** *) fun d0eclist_tr_errck (d0cs: d0eclist): d1eclist (* ****** ****** *) fun trans1_finalize ( ) : void // for setting STALOADFLAG, DYNLOADFLAG, PACKNAME, etc. (* ****** ****** *) (* end of [pats_trans1.sats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_dcst.dats0000664000175000017500000002430312655455557020041 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolopt = $SYM.symbolopt overload fprint with $SYM.fprint_symbol (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) typedef d2cst_struct = @{ d2cst_sym= symbol , d2cst_loc= location // the location of declaration , d2cst_fil= filename // the filename of declaration , d2cst_kind= dcstkind , d2cst_decarg= s2qualst // template arg , d2cst_artylst= List (int) // arity , d2cst_type= s2exp // assigned type // , d2cst_hisexp= hisexpopt // type erasure , d2cst_funlab= funlabopt // function label // (* , d2cst_skexp= s2kexp // skeleton of the assigned type *) , d2cst_def= d2expopt // definition , d2cst_pack= Stropt // for ATS_PACKNAME , d2cst_extdef= dcstextdef // external dcst definition , d2cst_stamp= stamp // stamp for unicity } (* end of [d2cst_struct] *) (* ****** ****** *) local assume d2cst_type = ref (d2cst_struct) in (* in of [local] *) implement d2cst_make ( id, loc, fil , dck, decarg, artylst, typ, extdef ) = let // (* val out = stdout_ref val () = fprintln! (out, "d2cst_make: id = ", id) *) // val pack = $GLOB.the_PACKNAME_get () // val stamp = $STMP.d2cst_stamp_make () // val (pfgc, pfat | p) = ptr_alloc () prval ((*freed*)) = free_gc_elim {d2cst_struct?} (pfgc) // val () = p->d2cst_sym := id val () = p->d2cst_loc := loc val () = p->d2cst_fil := fil val () = p->d2cst_kind := dck val () = p->d2cst_decarg := decarg val () = p->d2cst_artylst := artylst val () = p->d2cst_type := typ // val () = p->d2cst_hisexp := None(*void*) val () = p->d2cst_funlab := None(*void*) // (* val () = p->d2cst_skexp := s2kexp_make_s2exp (typ) *) val () = p->d2cst_def := None val () = p->d2cst_pack := pack val () = p->d2cst_extdef := extdef val () = p->d2cst_stamp := stamp // in (* in of [let] *) // ref_make_view_ptr (pfat | p) // end // end of [d2cst_make] implement d2cst_get_sym (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_sym end // end of [d2cst_get_sym] (* ****** ****** *) implement d2cst_get_loc (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_loc end // end of [d2cst_get_loc] (* ****** ****** *) implement d2cst_get_fil (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_fil end // end of [d2cst_get_fil] (* ****** ****** *) implement d2cst_get_kind (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_kind end // end of [d2cst_get_kind] (* ****** ****** *) implement d2cst_get_decarg (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_decarg end // end of [d2cst_get_decarg] (* ****** ****** *) implement d2cst_get_artylst (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_artylst end // end of [d2cst_get_artylst] (* ****** ****** *) implement d2cst_get_type (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_type end // end of [d2cst_get_type] (* ****** ****** *) implement d2cst_get_hisexp (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_hisexp end // end of [d2cst_get_hisexp] implement d2cst_set_hisexp (d2c, opt) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_hisexp := opt end // end of [d2cst_set_hisexp] (* ****** ****** *) implement d2cst_get_funlab (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_funlab end // end of [d2cst_get_funlab] implement d2cst_set_funlab (d2c, opt) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_funlab := opt end // end of [d2cst_set_funlab] (* ****** ****** *) implement d2cst_get_def (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_def end // end of [d2cst_get_def] implement d2cst_set_def (d2c, def) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_def := def end // end of [d2cst_set_def] (* ****** ****** *) implement d2cst_get_pack (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_pack end // end of [d2cst_get_pack] (* ****** ****** *) implement d2cst_get_extdef (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_extdef end // end of [d2cst_get_extdef] (* ****** ****** *) implement d2cst_get_stamp (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2cst_stamp end // end of [d2cst_get_stamp] end // end of [local] (* ****** ****** *) implement d2cst_get_name (d2c) = $SYM.symbol_get_name (d2cst_get_sym (d2c)) // end of [d2cst_get_name] (* ****** ****** *) implement print_d2cst (x) = fprint_d2cst (stdout_ref, x) implement prerr_d2cst (x) = fprint_d2cst (stderr_ref, x) implement fprint_d2cst (out, x) = $SYM.fprint_symbol (out, d2cst_get_sym (x)) implement fprint_d2cstlst (out, xs) = let // fun loop ( out: FILEref , xs: d2cstlst, sep: string, i: int ) : void = let in case+ xs of | list_cons (x, xs) => let val () = if i > 0 then fprint_string (out, sep) val () = fprint_d2cst (out, x) in loop (out, xs, sep, i+1) end // end of [list_cons] | list_nil () => () // end // end of [loop] // val sep = ", " // in loop (out, xs, sep, 0) end // end of [fprint_d2cstlst] (* ****** ****** *) implement d2cst_is_prf (d2c) = let val s2e = d2cst_get_type (d2c) in s2exp_is_prf (s2e) end // end of [d2cst_is_prf] implement d2cst_is_nonprf (d2c) = let val s2e = d2cst_get_type (d2c) in s2exp_is_nonprf (s2e) end // end of [d2cst_is_nonprf] (* ****** ****** *) implement d2cst_is_mac (d2c) = $SYN.dcstextdef_is_mac (d2cst_get_extdef (d2c)) // end of [d2cst_is_mac] (* ****** ****** *) implement d2cst_is_static (d2c) = let val extdef = d2cst_get_extdef (d2c) in case+ extdef of | $SYN.DCSTEXTDEFnone(0) => true | $SYN.DCSTEXTDEFsome_sta _ => true | _ => false end // end of [d2cst_is_static] (* ****** ****** *) implement d2cst_is_fundec (d2c) = dcstkind_is_fun(d2cst_get_kind(d2c)) // end of [d2cst_is_fundec] implement d2cst_is_valdec (d2c) = dcstkind_is_val(d2cst_get_kind(d2c)) // end of [d2cst_is_valdec] implement d2cst_is_castfn (d2c) = dcstkind_is_castfn(d2cst_get_kind(d2c)) // end of [d2cst_is_castfn] (* ****** ****** *) // implement d2cst_is_tmpcst (d2c) = list_is_cons(d2cst_get_decarg(d2c)) // (* ****** ****** *) implement d2cst_is_mainats (d2c) = $SYN.dcstextdef_is_mainats (d2cst_get_extdef (d2c)) // end of [d2cst_is_mainats] (* ****** ****** *) implement lt_d2cst_d2cst (x1, x2) = (compare (x1, x2) < 0) // end of [lt_d2cst_d2cst] implement lte_d2cst_d2cst (x1, x2) = (compare (x1, x2) <= 0) // end of [lte_d2cst_d2cst] implement eq_d2cst_d2cst (x1, x2) = (compare (x1, x2) = 0) // end of [eq_d2cst_d2cst] implement neq_d2cst_d2cst (x1, x2) = (compare (x1, x2) != 0) // end of [neq_d2cst_d2cst] implement compare_d2cst_d2cst (x1, x2) = $effmask_all (compare (d2cst_get_stamp (x1), d2cst_get_stamp (x2))) // end of [compare_d2cst_d2cst] (* ****** ****** *) local // staload FS = "libats/SATS/funset_avltree.sats" staload _ = "libats/DATS/funset_avltree.dats" staload LS = "libats/SATS/linset_avltree.sats" staload _ = "libats/DATS/linset_avltree.dats" // val cmp = lam ( d2c1: d2cst, d2c2: d2cst ) : int = compare_d2cst_d2cst (d2c1, d2c2) // end of [val] // assume d2cstset_type = $FS.set (d2cst) assume d2cstset_vtype = $LS.set (d2cst) // in (* in of [local] *) implement d2cstset_nil () = $FS.funset_make_nil () implement d2cstset_ismem (xs, x) = $FS.funset_is_member (xs, x, cmp) // end of [d2cstset_ismem] implement d2cstset_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $FS.funset_insert (xs, x, cmp) } // end of [d2cstset_add] (* ****** ****** *) implement d2cstset_vt_nil () = $LS.linset_make_nil () implement d2cstset_vt_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $LS.linset_insert (xs, x, cmp) } // end of [d2cstset_vt_add] implement d2cstset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) local staload FM = "libats/SATS/funmap_avltree.sats" staload _ = "libats/DATS/funmap_avltree.dats" val cmp = lam ( d2c1: d2cst, d2c2: d2cst ) : int = compare_d2cst_d2cst (d2c1, d2c2) // end of [val] assume d2cstmap_type (a:type) = $FM.map (d2cst, a) in (* in of [local] *) implement d2cstmap_nil () = $FM.funmap_make_nil () implement d2cstmap_search {a} (map, d2c) = $FM.funmap_search_opt (map, d2c, cmp) // end of [d2cstmap_search] implement d2cstmap_insert {a} (map, d2c, x) = $FM.funmap_insert (map, d2c, x, cmp) // end of [d2cstmap_insert] end // end of [local] (* ****** ****** *) (* end of [pats_dynexp2_dcst.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp1.sats0000664000175000017500000005425012655455557017043 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload INTINF = "./pats_intinf.sats" typedef intinf = $INTINF.intinf // staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location typedef location = $LOC.location // (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolist = $SYM.symbolist typedef symbolopt = $SYM.symbolopt (* ****** ****** *) staload "./pats_basics.sats" (* staload EFF = "./pats_effect.sats" typedef effect = $EFF.effect typedef effset = $EFF.effset *) staload "./pats_effect.sats" (* staload SYN = "./pats_syntax.sats" typedef i0de = $SYN.i0de typedef i0delst = $SYN.i0delst typedef i0nt = $SYN.i0nt typedef c0har = $SYN.c0har typedef s0rtq = $SYN.s0rtq typedef s0taq = $SYN.s0taq typedef sqi0de = $SYN.sqi0de typedef l0ab = $SYN.l0ab typedef l0abeled(a:type) = $SYN.l0abeled (a) typedef dcstextdef = $SYN.dcstextdef *) staload "./pats_syntax.sats" (* ****** ****** *) datatype v1al = | V1ALint of int | V1ALchar of char | V1ALstring of string | V1ALfloat of double | V1ALerr of () // HX: indicating of an error // end of [v1al] typedef v1alist = List (v1al) val v1al_true : v1al and v1al_false : v1al fun print_v1al (x: v1al): void fun prerr_v1al (x: v1al): void fun fprint_v1al : fprint_type (v1al) (* ****** ****** *) datatype e1xp_node = // | E1XPide of symbol // | E1XPint of (int) | E1XPintrep of string(*rep*) // | E1XPchar of char | E1XPfloat of string(*rep*) | E1XPstring of string // | E1XPv1al of v1al // | E1XPnone of () // defintion is not given | E1XPundef of () // for marking un-definition // | E1XPapp of ( e1xp(*fun*), location(*arg*), e1xplst ) (* end of [E1XPapp] *) | E1XPfun of (symbolist(*arg*), e1xp(*body*)) // | E1XPif of (e1xp, e1xp, e1xp) // | E1XPeval of e1xp | E1XPlist of e1xplst // | E1XPerr of () // HX: placeholder for error indication // // end of [e1xp_node] where e1xp : type = '{ e1xp_loc= location , e1xp_node= e1xp_node } // end of [e1xp] and e1xplst: type = List (e1xp) (* ****** ****** *) // fun print_e1xp (_: e1xp): void overload print with print_e1xp fun prerr_e1xp (_: e1xp): void overload prerr with prerr_e1xp fun fprint_e1xp : fprint_type (e1xp) // fun print_e1xplst (_: e1xplst): void overload print with print_e1xplst fun prerr_e1xplst (_: e1xplst): void overload prerr with prerr_e1xplst fun fprint_e1xplst : fprint_type (e1xplst) // (* ****** ****** *) // fun e1xp_make (loc: location, node: e1xp_node): e1xp // end of [e1xp_make] // (* ****** ****** *) // fun e1xp_ide (loc: location, sym: symbol): e1xp // fun e1xp_int (loc: location, i: int): e1xp fun e1xp_intrep (loc: location, rep: string): e1xp // fun e1xp_char (loc: location, c: char): e1xp fun e1xp_float (loc: location, rep: string): e1xp fun e1xp_string (loc: location, str: string): e1xp // fun e1xp_i0nt (loc: location, x: i0nt): e1xp fun e1xp_c0har (loc: location, x: c0har): e1xp fun e1xp_s0tring (loc: location, x: s0tring): e1xp fun e1xp_f0loat (loc: location, x: f0loat): e1xp // fun e1xp_v1al (loc: location, v: v1al): e1xp // fun e1xp_none (loc: location): e1xp fun e1xp_undef (loc: location): e1xp // fun e1xp_app ( loc: location , _fun: e1xp, loc_arg: location, _arg: e1xplst ) : e1xp // end of [e1xp_app] // fun e1xp_fun (loc: location, arg: symbolist, body: e1xp): e1xp // end of [e1xp_fun] // fun e1xp_if ( loc: location, _cond: e1xp, _then: e1xp, _else: e1xp ) : e1xp // end of [e1xp_if] // fun e1xp_eval (loc: location, e: e1xp): e1xp fun e1xp_list (loc: location, es: e1xplst): e1xp // fun e1xp_err (loc: location): e1xp // fun e1xp_true (loc: location): e1xp and e1xp_false (loc: location): e1xp // (* ****** ****** *) typedef effvar = i0de typedef effvarlst = List effvar datatype effcst = | EFFCSTall | EFFCSTnil | EFFCSTset of (effset, effvarlst) typedef effcstopt = Option (effcst) val effcst_nil : effcst val effcst_all : effcst val effcst_ntm : effcst val effcst_exn : effcst val effcst_ref : effcst val effcst_wrt : effcst fun effcst_contain (efc: effcst, eff: effect): bool fun effcst_contain_ntm (efc: effcst): bool fun fprint_effcst : fprint_type (effcst) (* ****** ****** *) datatype s1rt_node = | S1RTapp of (s1rt, s1rtlst) | S1RTlist of s1rtlst | S1RTqid of (s0rtq, symbol) | S1RTtype of int(*impkind*) | S1RTerr of () // end of [s1rt_node] where s1rt: type = '{ s1rt_loc= location, s1rt_node= s1rt_node } and s1rtlst: type = List s1rt and s1rtopt: type = Option s1rt and s1rtlstlst: type = List s1rtlst and s1rtlstopt: type = Option s1rtlst typedef s1rtpol = '{ s1rtpol_loc= location, s1rtpol_srt= s1rt, s1rtpol_pol= int } // end of [s1rtpol] (* ****** ****** *) fun print_s1rt (_: s1rt): void overload print with print_s1rt fun prerr_s1rt (_: s1rt): void overload prerr with prerr_s1rt fun fprint_s1rt : fprint_type (s1rt) fun print_s1rtlst (_: s1rtlst): void overload print with print_s1rtlst fun prerr_s1rtlst (_: s1rtlst): void overload prerr with prerr_s1rtlst fun fprint_s1rtlst : fprint_type (s1rtlst) fun fprint_s1rtopt : fprint_type (s1rtopt) fun fprint_s1rtlstlst : fprint_type (s1rtlstlst) (* ****** ****** *) (* ** HX: functions for constructing sorts *) fun s1rt_arrow (loc: location): s1rt // // HX: '->' is a special sort constructor // fun s1rt_is_arrow (s1t: s1rt): bool fun s1rt_app ( loc: location, _fun: s1rt, _arg: s1rtlst ) : s1rt // end of [s1rt_app] fun s1rt_fun ( loc: location, arg: s1rt, res: s1rt ) : s1rt // end of [s1rt_fun] fun s1rt_ide (loc: location, sym: symbol): s1rt fun s1rt_list (loc: location, s1ts: s1rtlst): s1rt fun s1rt_qid (loc: location, q: s0rtq, id: symbol): s1rt (* fun s1rt_tup (loc: location, s1ts: s1rtlst): s1rt *) fun s1rt_type (loc: location, knd: int): s1rt fun s1rt_err (loc: location): s1rt // HX: indicating an error (* ****** ****** *) fun s1rtpol_make (loc: location, s1t: s1rt, pol: int): s1rtpol (* ****** ****** *) typedef d1atsrtcon = '{ d1atsrtcon_loc= location , d1atsrtcon_sym= symbol , d1atsrtcon_arg= s1rtlst } // end of [d1atsrtcon] typedef d1atsrtconlst = List d1atsrtcon fun d1atsrtcon_make ( loc: location, name: symbol, arg: s1rtlst ) : d1atsrtcon // end of [d1atsrtcon_make] fun fprint_d1atsrtcon : fprint_type (d1atsrtcon) (* ****** ****** *) typedef d1atsrtdec = '{ d1atsrtdec_loc= location , d1atsrtdec_sym= symbol , d1atsrtdec_con= d1atsrtconlst } // end of [d1atsrtdec] typedef d1atsrtdeclst = List d1atsrtdec fun d1atsrtdec_make ( loc: location, name: symbol, conlst: d1atsrtconlst ) : d1atsrtdec // end of [d1atsrtdec] fun fprint_d1atsrtdec : fprint_type (d1atsrtdec) (* ****** ****** *) typedef s1arg = '{ s1arg_loc= location, s1arg_sym= symbol, s1arg_srt= s1rtopt } typedef s1arglst = List s1arg typedef s1arglstlst = List s1arglst fun s1arg_make ( loc: location, sym: symbol, srtopt: s1rtopt ) : s1arg // end of [s1arg_make] fun fprint_s1arg : fprint_type (s1arg) fun fprint_s1arglst : fprint_type (s1arglst) (* ****** ****** *) typedef s1marg = '{ s1marg_loc= location, s1marg_arg= s1arglst } typedef s1marglst = List (s1marg) fun s1marg_make (loc: location, s1as: s1arglst): s1marg fun fprint_s1marg : fprint_type (s1marg) (* ****** ****** *) typedef s1var = '{ s1var_loc= location, s1var_sym= symbol, s1var_srt= s1rt } typedef s1varlst = List s1var fun s1var_make (loc: location, sym: symbol, srt: s1rt): s1var fun fprint_s1var : fprint_type (s1var) (* ****** ****** *) typedef a1srt = '{ a1srt_loc= location , a1srt_sym= symbolopt , a1srt_srt= s1rt } // end of [a0srt] typedef a1srtlst = List (a1srt) fun a1srt_make ( loc: location, sym: symbolopt, srt: s1rt ) : a1srt // end of [a1srt_make] fun fprint_a1srt : fprint_type (a1srt) fun fprint_a1srtlst : fprint_type (a1srtlst) typedef a1msrt = '{ a1msrt_loc= location, a1msrt_arg= a1srtlst } // end of [a0msrt] typedef a1msrtlst = List (a1msrt) fun a1msrt_make (loc: location, arg: a1srtlst): a1msrt fun fprint_a1msrt : fprint_type (a1msrt) fun fprint_a1msrtlst : fprint_type (a1msrtlst) (* ****** ****** *) // datatype sp1at_node = | SP1Tcstr of (s0taq, symbol, s1arglst) // where sp1at = '{ sp1at_loc= location, sp1at_node= sp1at_node } (* end of [sp1at] *) // fun sp1at_arg (loc: location, arg: s1arg): sp1at fun sp1at_cstr (loc: location, q: s0taq, id: symbol, args: s1arglst): sp1at // end of [sp1at_cstr] // (* ****** ****** *) // // HX-2015-08: // for placeholding // abstype S1Ed2ctype_type = ptr typedef S1Ed2ctype = S1Ed2ctype_type // (* ****** ****** *) datatype s1exp_node = // | S1Eide of (symbol) // identifier | S1Esqid of (s0taq, symbol) // qualified ID // | S1Eint of int | S1Eintrep of string(*rep*) // | S1Echar of char // character constant // | S1Efloat of string // floating-points | S1Estring of string // string constants // | S1Eextype of (string(*name*), s1explstlst) // extern type | S1Eextkind of (string(*name*), s1explstlst) // extern tkind // | S1Eapp of (s1exp, loc_t(*arg*), s1explst) // application | S1Elam of (s1marg, s1rtopt, s1exp(*body*)) // lam-abstraction | S1Eimp of (funclo, int (*lin*), int (*prf*), effcstopt) // | S1Etop of (int(*knd*), s1exp) // 0/1: topization/typization // | S1Elist of (int(*npf*), s1explst) // | S1Einvar of (int(*ref/val:1/0*), s1exp) // invariant | S1Etrans of (s1exp(*bef*), s1exp(*aft*)) // transition // | S1Etyarr of (s1exp (*element*), s1explst (*dimension*)) | S1Etytup of (int(*knd*), int(*npf*), s1explst) // HX: 0/1: flat/boxed | S1Etyrec of (int(*knd*), int(*npf*), labs1explst) // HX: 0/1: flat/boxed | S1Etyrec_ext of (string(*name*), int(*npf*), labs1explst) // external record // end of [S1Etyrec_ext] // | S1Euni of (s1qualst, s1exp) // universal quantifier | S1Eexi of (int(*funres*), s1qualst, s1exp) // existential quantifier // end of [S1Eexi] // | S1Eann of (s1exp, s1rt(*ann*)) // sort-ascribed staexps // | S1Ed2ctype of (S1Ed2ctype(*d1exp*)) // $d2ctype(d2c/tmpcst) // | S1Eerr of ((*error*)) // HX: this one is for indication of errors // end of [s1exp_node] and s1rtext_node = | S1TEsrt of s1rt | S1TEsub of (symbol, s1rtext, s1explst) (* | S1TElam of (s1arglst, s1rtext) | S1TEapp of (s1rtext, s1explst) *) // end of [s1rtext_node] and s1qua_node = | S1Qprop of s1exp | S1Qvars of (i0delst, s1rtext) // end of [s1qua_node] and wths1explst = | WTHS1EXPLSTnil of () | WTHS1EXPLSTcons_some of (int(*knd*), int(*refval*), s1exp, wths1explst) | WTHS1EXPLSTcons_none of wths1explst // end of [wths1explst] where s1exp = '{ s1exp_loc= location, s1exp_node= s1exp_node } and s1explst = List (s1exp) and s1explst_vt = List_vt (s1exp) and s1expopt = Option (s1exp) and s1explstlst = List (s1explst) and s1explstopt = Option (s1explst) and labs1exp = sl0abeled (s1exp) and labs1explst = List labs1exp and s1rtext = '{ s1rtext_loc= location, s1rtext_node= s1rtext_node } and s1qua = '{ s1qua_loc= location, s1qua_node= s1qua_node } and s1qualst = List (s1qua) and s1qualstlst = List (s1qualst) (* ****** ****** *) fun s1exp_int (loc: location, i: int): s1exp fun s1exp_intrep (loc: location, rep: string): s1exp fun s1exp_i0nt (loc: location, x: i0nt): s1exp fun s1exp_char (loc: location, c: char): s1exp fun s1exp_c0har (loc: location, tok: c0har): s1exp fun s1exp_float (loc: location, rep: string): s1exp fun s1exp_f0loat (loc: location, tok: f0loat): s1exp fun s1exp_string (loc: location, str: string): s1exp fun s1exp_s0tring (loc: location, tok: s0tring): s1exp (* ****** ****** *) fun s1exp_extype ( loc: location, name: string, arg: s1explstlst ) : s1exp // end of [s1exp_extype] fun s1exp_extkind ( loc: location, name: string, arg: s1explstlst ) : s1exp // end of [s1exp_extkind] (* ****** ****** *) fun s1exp_ide (loc: location, id: symbol): s1exp fun s1exp_sqid (loc: location, sq: s0taq, id: symbol): s1exp fun s1exp_app ( loc: location, _fun: s1exp, loc_arg: location, _arg: s1explst ) : s1exp // end of [s1exp_app] fun s1exp_lam ( loc: location, arg: s1marg, res: s1rtopt, body: s1exp ) : s1exp // end of [s1exp_lam] fun s1exp_imp ( loc: location, fc: funclo, lin: int, prf: int, efc: effcstopt ) : s1exp // end of [s1exp_imp] fun s1exp_list (loc: location, xs: s1explst): s1exp fun s1exp_list2 (loc: location, xs1: s1explst_vt, xs2: s1explst_vt): s1exp fun s1exp_npf_list (loc: location, npf: int, xs: s1explst): s1exp // end of [s1exp_npf_list] fun s1exp_top (loc: location, knd: int, s1e: s1exp): s1exp fun s1exp_invar (loc: location, knd: int, s1e: s1exp): s1exp fun s1exp_trans (loc: location, s1e1: s1exp, s1e2: s1exp): s1exp fun s1exp_tyarr ( loc: location, elt: s1exp, dim: s1explst ) : s1exp // end of [s1exp_tyarr] fun s1exp_tytup ( loc: location, knd: int, npf: int, s1es: s1explst ) : s1exp // end of [s1exp_tytup] fun s1exp_tyrec ( loc: location, knd: int, npf: int, ls1es: labs1explst ) : s1exp // end of [s1exp_tyrec] fun s1exp_tyrec_ext ( loc: location, name: string, npf: int, ls1es: labs1explst ) : s1exp // end of [s1exp_tyrec_ext] fun s1exp_uni (loc: location, qua: s1qualst, body: s1exp): s1exp fun s1exp_exi (loc: location, knd: int, qua: s1qualst, body: s1exp): s1exp fun s1exp_ann (loc: location, s1e: s1exp, s1t: s1rt): s1exp fun s1exp_d2ctype (loc: location, d2ctp: S1Ed2ctype): s1exp fun s1exp_err (loc: location): s1exp // HX: indication of error (* ****** ****** *) fun print_s1exp (x: s1exp): void overload print with print_s1exp fun prerr_s1exp (x: s1exp): void overload prerr with prerr_s1exp fun fprint_s1exp : fprint_type (s1exp) fun fprint_s1explst : fprint_type (s1explst) fun fprint_s1expopt : fprint_type (s1expopt) (* ****** ****** *) fun labs1exp_make (l: l0ab, name: s0tringopt, s1e: s1exp): labs1exp // end of [labs1exp_make] fun fprint_labs1exp : fprint_type (labs1exp) fun fprint_labs1explst : fprint_type (labs1explst) (* ****** ****** *) fun s1rtext_srt (loc: location, s1t: s1rt): s1rtext fun s1rtext_sub ( loc: location, sym: symbol, s1te: s1rtext, s1ps: s1explst ) : s1rtext // end of [s1rtext_sub] fun fprint_s1rtext : fprint_type (s1rtext) (* ****** ****** *) fun s1qua_prop (loc: location, s1p: s1exp): s1qua fun s1qua_vars (loc: location, ids: i0delst, s1te: s1rtext): s1qua // end of [s1qua_vars] fun fprint_s1qua : fprint_type (s1qua) fun fprint_s1qualst : fprint_type (s1qualst) (* ****** ****** *) // fun s1exp_make_v1al (loc: location, v: v1al): s1exp fun s1exp_make_e1xp (loc: location, e: e1xp): s1exp // fun e1xp_make_s1exp (loc: location, s1e: s1exp): e1xp // (* ****** ****** *) fun wths1explst_is_none (wths1es: wths1explst): bool fun wths1explst_reverse (wths1es: wths1explst): wths1explst (* ****** ****** *) datatype s1vararg = | S1VARARGone of (location) // {..} | S1VARARGall of (location) // {...} | S1VARARGseq of (location, s1arglst) // end of [s1vararg] typedef s1vararglst = List (s1vararg) fun print_s1vararg (x: s1vararg): void fun prerr_s1vararg (x: s1vararg): void fun fprint_s1vararg : fprint_type (s1vararg) (* ****** ****** *) datatype s1exparg_node = | S1EXPARGone of () // {..} | S1EXPARGall of () // {...} | S1EXPARGseq of (s1explst) // end of [s1exparg_node] typedef s1exparg = '{ s1exparg_loc= location, s1exparg_node= s1exparg_node } typedef s1exparglst = List s1exparg typedef s1expargopt = Option s1exparg fun s1exparg_one (loc: location): s1exparg fun s1exparg_all (loc: location): s1exparg fun s1exparg_seq (loc: location, xs: s1explst): s1exparg fun fprint_s1exparg : fprint_type (s1exparg) fun fprint_s1exparglst : fprint_type (s1exparglst) overload fprint with fprint_s1exparg overload fprint with fprint_s1exparglst (* ****** ****** *) datatype m1acarg_node = | M1ACARGdyn of i0delst | M1ACARGsta of s1arglst // end of [m1acarg_node] typedef m1acarg = '{ m1acarg_loc= location, m1acarg_node= m1acarg_node } // end of [m1acarg] typedef m1acarglst = List (m1acarg) fun m1acarg_make_dyn (loc: location, darg: i0delst): m1acarg fun m1acarg_make_sta (loc: location, sarg: s1arglst): m1acarg (* ****** ****** *) datatype witht1ype = | WITHT1YPEsome of (int(*knd*), s1exp) | WITHT1YPEnone of () // end of [witht1ype] (* ****** ****** *) typedef s1rtdef = '{ s1rtdef_loc= location , s1rtdef_sym= symbol , s1rtdef_def= s1rtext } // end of [s1rtdef] typedef s1rtdeflst = List s1rtdef fun s1rtdef_make (loc: location, sym: symbol, s0te: s1rtext): s1rtdef fun fprint_s1rtdef : fprint_type (s1rtdef) (* ****** ****** *) typedef s1tacst = '{ // // static constant declaration // s1tacst_loc= loc_t , s1tacst_sym= symbol , s1tacst_fil= filename , s1tacst_arg= a1msrtlst, s1tacst_res= s1rt } // end of [s1tacst] typedef s1tacstlst = List s1tacst fun s1tacst_make ( loc: location , fil: filename, sym: symbol, arg: a1msrtlst, res: s1rt ) : s1tacst // end of [s1tacst_make] fun fprint_s1tacst : fprint_type (s1tacst) (* ****** ****** *) typedef s1tacon = '{ // // static constructor declaration // s1tacon_loc= loc_t , s1tacon_sym= symbol , s1tacon_fil= filename , s1tacon_arg= a1msrtlst, s1tacon_def= s1expopt } // end of [s1tacon] typedef s1taconlst = List s1tacon fun s1tacon_make ( loc: location , fil: filename, sym: symbol, arg: a1msrtlst, def: s1expopt ) : s1tacon // end of [s1tacon] fun fprint_s1tacon : fprint_type (s1tacon) (* ****** ****** *) (* // // HX-2012-05-23: removed // typedef s1tavar = '{ s1tavar_loc= location , s1tavar_sym= symbol, s1tavar_srt= s1rt } // end of [s1tavar] typedef s1tavarlst = List s1tavar fun s1tavar_make (loc: location, id: symbol, srt: s1rt): s1tavar fun fprint_s1tavar : fprint_type (s1tavar) *) (* ****** ****** *) typedef t1kindef = '{ t1kindef_loc= location , t1kindef_sym= symbol , t1kindef_loc_id= location , t1kindef_def= s1exp } // end of [t1kindef] fun t1kindef_make ( loc: location, id: symbol, loc_id: location, def: s1exp ) : t1kindef // end of [t1kindef_make] (* ****** ****** *) typedef s1expdef = '{ s1expdef_loc= location , s1expdef_sym= symbol , s1expdef_loc_id = location , s1expdef_arg= s1marglst , s1expdef_res= s1rtopt , s1expdef_def= s1exp } // end of [s1expdef] typedef s1expdeflst = List s1expdef fun s1expdef_make ( loc: location , id: symbol , loc_id: location , arg: s1marglst, res: s1rtopt, def: s1exp ) : s1expdef // end of [s1expdef_make] fun fprint_s1expdef : fprint_type (s1expdef) (* ****** ****** *) typedef s1aspdec = '{ s1aspdec_loc= location , s1aspdec_qid= sqi0de , s1aspdec_arg= s1marglst , s1aspdec_res= s1rtopt , s1aspdec_def= s1exp } // end of [s1aspdec] typedef s1aspdeclst = List s1aspdec fun s1aspdec_make ( loc: location , qid: sqi0de, arg: s1marglst, res: s1rtopt, def: s1exp ) : s1aspdec // end of [s1aspdec_make] fun fprint_s1aspdec : fprint_type (s1aspdec) (* ****** ****** *) typedef q1marg = '{ q1marg_loc= location, q1marg_arg= s1qualst } // end of [q1marg] typedef q1marglst = List (q1marg) fun q1marg_make (loc: location, xs: s1qualst): q1marg fun fprint_q1marg : fprint_type (q1marg) fun fprint_q1marglst : fprint_type (q1marglst) (* ****** ****** *) datatype i1mparg = | I1MPARG_sarglst of s1arglst | I1MPARG_svararglst of s1vararglst // end of [i1mparg] fun i1mparg_sarglst (arg: s1arglst): i1mparg fun i1mparg_svararglst (arg: s1vararglst): i1mparg fun fprint_i1mparg : fprint_type (i1mparg) (* ****** ****** *) // typedef t1mpmarg = '{ t1mpmarg_loc= location, t1mpmarg_arg= s1explst } (* end of [t1mpmarg] *) // typedef t1mpmarglst = List (t1mpmarg) // fun t1mpmarg_make (loc: location, arg: s1explst): t1mpmarg // (* ****** ****** *) typedef d1atcon = '{ d1atcon_loc= location , d1atcon_sym= symbol , d1atcon_qua= q1marglst , d1atcon_npf= int , d1atcon_arg= s1explst , d1atcon_ind= s1explstopt } // end of [d1atcon] typedef d1atconlst = List d1atcon fun d1atcon_make ( loc: location , id: symbol , qua: q1marglst , npf: int, arg: s1explst , ind: s1explstopt ) : d1atcon // end of [d1atcon_make] fun fprint_d1atcon : fprint_type (d1atcon) (* ****** ****** *) typedef d1atdec = '{ d1atdec_loc= location , d1atdec_fil= filename , d1atdec_sym= symbol , d1atdec_arg= a1msrtlst , d1atdec_con= d1atconlst } // end of [d1atdec] typedef d1atdeclst = List d1atdec fun d1atdec_make ( loc: location , fil: filename , id: symbol , arg: a1msrtlst , con: d1atconlst ) : d1atdec // end of [d1atdec_make] fun fprint_d1atdec : fprint_type (d1atdec) (* ****** ****** *) typedef e1xndec = '{ e1xndec_loc= location , e1xndec_fil= filename , e1xndec_sym= symbol , e1xndec_qua= q1marglst , e1xndec_npf= int , e1xndec_arg= s1explst } // end of [e1xndec] typedef e1xndeclst = List e1xndec fun e1xndec_make ( loc: location , fil: filename , id: symbol , qua: q1marglst , npf: int, arg: s1explst ) : e1xndec // end of [e1xndec_make] fun fprint_e1xndec : fprint_type (e1xndec) (* ****** ****** *) typedef d1cstdec = '{ d1cstdec_loc= location , d1cstdec_fil= filename , d1cstdec_sym= symbol , d1cstdec_type= s1exp , d1cstdec_extdef= dcstextdef } // end of [d1cstdec] typedef d1cstdeclst = List d1cstdec fun d1cstdec_make ( loc: location , fil: filename , sym: symbol, s1e: s1exp, extdef: dcstextdef ) : d1cstdec // end of [d1cstdec_make] fun fprint_d1cstdec : fprint_type (d1cstdec) (* ****** ****** *) (* end of [pats_staexp1.sats] *) ATS2-Postiats-0.2.6/./src/pats_dmacro2_print.dats0000664000175000017500000000600712655455557020177 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dmacro2.sats" (* ****** ****** *) implement fprint_m2val (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of | M2Vint (i) => { val () = prstr "M2Vint(" val () = fprint_int (out, i) val () = prstr ")" } | M2Vbool (b) => { val () = prstr "M2Vbool(" val () = fprint_bool (out, b) val () = prstr ")" } | M2Vchar (c) => { val () = prstr "M2Vchar(" val () = fprint_char (out, c) val () = prstr ")" } | M2Vfloat (rep) => { val () = prstr "M2Vfloat(" val () = fprint_string (out, rep) val () = prstr ")" } | M2Vstring (str) => { val () = prstr "M2Vstring(" val () = fprint_string (out, str) val () = prstr ")" } | M2Vunit () => prstr "M2Vunit()" // | M2Vscode (s2e) => { val () = prstr "M2Vscode(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } | M2Vdcode (d2e) => { val () = prstr "M2Vdcode(" val () = fprint_d2exp (out, d2e) val () = prstr ")" } // | M2Vlist (xs) => { val () = prstr "M2Vlist(" val () = $UT.fprintlst (out, xs, ", ", fprint_m2val) val () = prstr ")" } // | M2Verr () => prstr "M2Verr()" // end // end of [fprint_m2val] implement print_m2val (x) = fprint_m2val (stdout_ref, x) implement prerr_m2val (x) = fprint_m2val (stderr_ref, x) (* ****** ****** *) implement fprint_m2valist (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_m2val) // end of [fprint_m2valist] (* ****** ****** *) (* end of [pats_dmacro2_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_environ.dats0000664000175000017500000002635312655455557020303 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload S2E = "./pats_staexp2.sats" typedef s2cst = $S2E.s2cst typedef d2con = $S2E.d2con (* ****** ****** *) staload D2E = "./pats_dynexp2.sats" typedef d2cst = $D2E.d2cst typedef d2var = $D2E.d2var typedef d2varlst = $D2E.d2varlst vtypedef d2varlst_vt = $D2E.d2varlst_vt typedef d2varset = $D2E.d2varset vtypedef d2varset_vt = $D2E.d2varset_vt (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "pats_ccomp.sats" (* ****** ****** *) vtypedef funlablst2_vt = List_vt (funlablst) (* ****** ****** *) overload fprint with fprint_vbindmap (* ****** ****** *) local extern fun funent_set_flablst_fin ( fent: funent, opt: Option (funlablst) ) : void = "ext#patsopt_funent_set_flablst_fin" (* fun aux_funlab_get_flablst (flab: funlab): funlablst = let // val opt = funlab_get_funent (flab) // in // case+ opt of | Some (fent) => funent_get_flablst (fent) | None ((*void*)) => list_nil () // end // end of [aux_funlab_get_flablst] *) fun aux_funlab_get_flablst (flab: funlab): funlablst = let // val-Some (fent) = funlab_get_funent (flab) // in funent_get_flablst (fent) end // end of [aux_funlab_get_flablst] fun auxtrclo ( flvl0: int , xs: funlablst , xss: funlablst2_vt , res: funlabset_vt ) : funlabset_vt = let (* val () = println! ("auxtrclo: flvl0 = ", flvl0) *) in // case+ xs of | list_cons (x, xs) => let // // HX-2013-04-12: // Note that flvl <= flvl0 holds! // val flvl = funlab_get_level (x) in if flvl >= flvl0 then let val ismem = funlabset_vt_ismem (res, x) in if ismem then ( auxtrclo (flvl0, xs, xss, res) ) else let val res = funlabset_vt_add (res, x) val xs_new = aux_funlab_get_flablst (x) // (* val out = stdout_ref val () = fprintln! (out, "x = ", x) val () = fprintln! (out, "xs_new = ", xs_new) *) // in auxtrclo (flvl0, xs_new, list_vt_cons (xs, xss), res) end (* end of [if] *) end else let // parent val res = funlabset_vt_add (res, x) in auxtrclo (flvl0, xs, xss, res) // end of [val] end (* end of [if] *) end // end of [list_vt_cons] | list_nil () => ( case+ xss of | ~list_vt_cons (xs, xss) => auxtrclo (flvl0, xs, xss, res) | ~list_vt_nil () => res ) (* end of [list_vt_nil] *) // end // end of [auxtrclo] in (* in of [local] *) implement funent_eval_flablst (fent) = let (* val fl = funent_get_lab (fent) val () = println! ("funent_eval_flablst: fent.lab = ", fl) *) // val opt = funent_get_flablst_fin (fent) // (* val () = fprintln! (stdout_ref, "funent_eval_flablst: opt = ", opt) *) // in // case+ opt of | Some (fls) => fls | None () => fls where { val fl0 = funent_get_lab (fent) val flvl = funent_get_level (fent) val xs0 = funent_get_flablst (fent) val xss = list_vt_nil () // : funlablst2_vt val res = funlabset_vt_nil () val res = funlabset_vt_add (res, fl0) val res = auxtrclo (flvl, xs0, xss, res) val fls = funlabset_vt_listize_free (res) val fls = list_of_list_vt{funlab}(fls) val ((*void*)) = funent_set_flablst_fin (fent, Some (fls)) } (* end of [None] *) // end // end of [funent_eval_flablst] end // end of [local] (* ****** ****** *) local extern fun funent_set_d2envlst_fin ( fent: funent, opt: Option (d2envlst) ) : void = "ext#patsopt_funent_set_d2envlst_fin" (* fun aux_funlab_get_d2envlst (flab: funlab): d2envlst = let // val opt = funlab_get_funent (flab) // in // case+ opt of | Some (fent) => funent_get_d2envlst (fent) // end of [Some] | None ((*void*)) => list_nil () // end // end of [aux_funlab_get_d2envlst] *) fun aux_funlab_get_d2envlst (flab: funlab): d2envlst = let // val-Some (fent) = funlab_get_funent (flab) val d2esopt = funent_get_d2envlst_fin (fent) // in // case+ d2esopt of | Some (d2es) => d2es | None ((*void*)) => funent_get_d2envlst (fent) (* HX-2013-10-09: error? *) // end of [None] // end // end of [aux_funlab_get_d2envlst] fun auxd2es ( d2es: d2envlst , vbmap: vbindmap, res: d2envset_vt ) : d2envset_vt = let in // case+ d2es of // | list_cons (d2e, d2es) => let (* // // HX-2013-04: [d2e] cannot be in [vbmap] // val d2v = d2env_get_var (d2e) val opt = $D2E.d2varmap_search (vbmap, d2v) val res = ( case+ opt of | ~None_vt _ => d2envset_vt_add (res, d2e) | ~Some_vt _ => res ) : d2envset_vt *) val res = d2envset_vt_add (res, d2e) in auxd2es (d2es, vbmap, res) end (* end of [list_cons] *) // | list_nil () => res // end // end of [auxd2es] (* ****** ****** *) // // HX-2013-04: // [vbmap] is not actually used. // fun auxtrclo ( fls: funlablst , vbmap: vbindmap, res: d2envset_vt ) : d2envset_vt = let (* val () = fprintln! (stdout_ref, "auxtrclo: fls = ", fls) *) in // case+ fls of | list_nil () => res | list_cons (fl, fls) => let val d2es = aux_funlab_get_d2envlst (fl) // end of [val] (* val () = fprintln! (stdout_ref, "auxtrclo: fl = ", fl) val () = fprintln! (stdout_ref, "auxtrclo: d2es = ", d2es) *) val res = auxd2es (d2es, vbmap, res) in auxtrclo (fls, vbmap, res) end (* end of [list_vt_cons] *) // end // end of [auxtrclo] in (* in of [local] *) implement funent_eval_d2envlst (fent) = let (* val fl = funent_get_lab (fent) val () = println! ("funent_eval_d2envlst: ======") val () = println! ("funent_eval_d2envlst: fent.lab = ", fl) *) // val opt = funent_get_d2envlst_fin (fent) // (* val () = fprintln! (stdout_ref, "funent_eval_d2envlst: opt = ", opt) *) // in // case+ opt of | Some (d2es) => d2es | None ((*void*)) => d2es where { val fls0 = funent_eval_flablst (fent) val vbmap = funent_get_vbindmap (fent) val d2es(*set*) = d2envset_vt_nil() val d2es(*set*) = auxtrclo (fls0, vbmap, d2es) val d2es(*list*) = d2envset_vt_listize_free (d2es) val d2es(*list*) = list_of_list_vt{d2env}(d2es) val ((*void*)) = funent_set_d2envlst_fin (fent, Some (d2es)) } (* end of [None] *) // end // end of [funent_eval_d2envlst] end // end of [local] (* ****** ****** *) implement funlab_is_envful (flab) = let // val opt = funlab_get_funent (flab) val d2es = ( case+ opt of | Some (fent) => funent_eval_d2envlst (fent) | None () => list_nil () ) : d2envlst // end of [val] // in list_is_cons (d2es) end // end of [funlab_is_envful] (* ****** ****** *) implement funlab_get_type_fullarg (flab) = let // fun aux ( d2es: d2envlst, hses: hisexplst ) : hisexplst = let in // case+ d2es of | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) in list_cons(hse, aux (d2es, hses)) end // end of [list_cons] | list_nil((*void*)) => hses // end (* end of [aux] *) // val opt = funlab_get_funent (flab) val d2es = ( case+ opt of | Some(fent) => funent_eval_d2envlst(fent) | None() => list_nil() ) : d2envlst // end of [val] // val hses = funlab_get_type_arg (flab) // in aux (d2es, hses) end // end of [funlab_get_type_fullarg] (* ****** ****** *) local (* fun funent_varbindmap_initize (fent: funent): void fun funent_varbindmap_initize2 (fent: funent): void fun funent_varbindmap_uninitize (fent: funent): void fun the_funent_varbindmap_find (d2v: d2var): Option_vt (primval) *) vtypedef vbindlst_vt = List_vt @(d2var, primval) vtypedef vbindmap_vt = $D2E.d2varmap_vt (primval) val the_vbmap = let val map = $D2E.d2varmap_vt_nil () in ref (map) end // end of [val] in (* in of [local] *) implement funent_varbindmap_initize (fent0) = let // fun auxmap ( map: &vbindmap_vt, vbs: vbindlst_vt ) : void = let in // case+ vbs of | ~list_vt_cons (vb, vbs) => let val _ = ( // replaced $D2E.d2varmap_vt_insert (map, vb.0, vb.1) ) (* end of [val] *) in auxmap (map, vbs) end (* end of [list_cons] *) | ~list_vt_nil () => () // end // end of [auxmap] // fun auxenv ( map: &vbindmap_vt, loc0: loc_t, i: int, d2es: d2envlst ) : void = let in // case+ d2es of | list_nil ((*void*)) => () | list_cons (d2e, d2es) => let val d2v = d2env_get_var (d2e) val hse = d2env_get_type (d2e) val argenv = primval_argenv (loc0, hse, i) val _(*replaced*) = $D2E.d2varmap_vt_insert (map, d2v, argenv) in auxenv (map, loc0, i+1, d2es) end (* end of [list_cons] *) // end // end of [auxenv] // val loc0 = funent_get_loc (fent0) // val vbmap = funent_get_vbindmap (fent0) // val ( vbox pf | p ) = ref_get_view_ptr (the_vbmap) // val () = $effmask_ref (auxmap (!p, $D2E.d2varmap_listize(vbmap))) val () = $effmask_ref (auxenv (!p, loc0, 0, funent_eval_d2envlst(fent0))) // in (*nothing*) end // end of [funent_varbindmap_initize] (* ****** ****** *) implement funent_varbindmap_initize2 (fent0) = let // fun auxlst ( fls: funlablst ) : void = ( case+ fls of | list_nil () => () | list_cons (fl, fls) => let val opt = funlab_get_funent (fl) val ((*void*)) = ( case+ opt of | None () => () | Some (fent) => funent_varbindmap_initize (fent) // end of [Some] ) : void // end of [val] in auxlst (fls) end // end of [list_cons] ) // val fls0 = funent_get_fnxlablst (fent0) // (* val ((*void*)) = ( fprintln! (stdout_ref, "funent_varbindmap_initize2: fls0 = ", fls0) ) (* end of [val] *) *) // in // case+ fls0 of | list_nil () => () | list_cons (_, fls) => auxlst (fls) // end // end of [funent_varbindmap_initize2] (* ****** ****** *) implement funent_varbindmap_uninitize (fent0) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_vbmap) val () = $D2E.d2varmap_vt_free (!p) val () = !p := $D2E.d2varmap_vt_nil () // in // nothing end // end of [the_funent_varbindmap_uninitize] (* ****** ****** *) implement the_funent_varbindmap_find (d2v) = let // val (vbox pf | p) = ref_get_view_ptr (the_vbmap) // in $D2E.d2varmap_vt_search (!p, d2v) end // end of [the_funent_varbindmap_find] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_environ.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_emit.dats0000664000175000017500000016315612655455557017564 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" staload GLOB = "./pats_global.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_ccomp_emit" // (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload S2E = "./pats_staexp2.sats" typedef s2cst = $S2E.s2cst typedef d2con = $S2E.d2con typedef s2exp = $S2E.s2exp typedef s2explst = $S2E.s2explst (* ****** ****** *) staload S2UT = "./pats_staexp2_util.sats" (* ****** ****** *) staload D2E = "./pats_dynexp2.sats" typedef d2cst = $D2E.d2cst typedef d2var = $D2E.d2var typedef d2varlst = $D2E.d2varlst typedef d2ecl = $D2E.d2ecl typedef d2eclist = $D2E.d2eclist (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement emit_text (out, txt) = fprint_string (out, txt) // end of [emit_text] (* ****** ****** *) implement emit_LPAREN (out) = emit_text (out, "(") implement emit_RPAREN (out) = emit_text (out, ")") (* ****** ****** *) implement emit_newline (out) = fprint_newline (out) (* ****** ****** *) implement emit_location (out, loc) = $LOC.fprint_location (out, loc) // end of [emit_location] (* ****** ****** *) implement emit_int (out, x) = fprint_int (out, x) implement emit_intinf (out, x) = $INTINF.fprint_intinf (out, x) implement emit_ATSPMVint (out, x) = ( emit_text (out, "ATSPMVint("); emit_int (out, x); emit_RPAREN (out) ) // end of [emit_ATSPMVint] implement emit_ATSPMVintrep (out, x) = ( emit_text (out, "ATSPMVintrep("); emit_text (out, x); emit_RPAREN (out) ) // end of [emit_ATSPMVintrep] (* ****** ****** *) implement emit_bool (out, x) = fprint_bool (out, x) implement emit_ATSPMVbool (out, x) = ( emit_text (out, "ATSPMVbool_"); emit_bool (out, x); emit_text (out, "()") ) // end of [emit_ATSPMVbool] (* ****** ****** *) implement emit_float (out, x) = fprintf (out, "%.18f", @(x)) implement emit_ATSPMVfloat (out, x) = ( emit_text (out, "ATSPMVfloat("); emit_float (out, x); emit_text (out, ")") ) // end of [emit_ATSPMVfloat] (* ****** ****** *) local fun auxch ( out: FILEref, c: char ) : void = let in // case+ c of | '\'' => emit_text (out, "\\'") | '\n' => emit_text (out, "\\n") | '\t' => emit_text (out, "\\t") | '\\' => emit_text (out, "\\\\") | _ => ( if char_isprint (c) then fprint_char (out, c) else let val uc= uchar_of_char (c) in fprintf (out, "\\%.3o", @($UN.cast2uint(uc))) end // end of [else] // end of [if] ) // end of [_] // end // end of [auxch] fun auxch2 ( out: FILEref, c: char ) : void = let in // case+ c of | '"' => emit_text (out, "\\\"") | '\n' => emit_text (out, "\\n") | '\t' => emit_text (out, "\\t") | '\\' => emit_text (out, "\\\\") | _ (*rest-of-char*) => ( if char_isprint (c) then fprint_char (out, c) else let val uc = uchar_of_char (c) in fprintf (out, "\\%.3o", @($UN.cast2uint(uc))) end // end of [else] // end of [if] ) (* end of [_] *) // end // end of [auxch2] in (* in of [local] *) implement emit_char (out, c) = auxch (out, c) implement emit_string (out, str) = let // fun auxstr ( out: FILEref, str: string ) : void = let // val isnot = string_isnot_empty (str) in // if isnot then let val p = $UN.cast2Ptr1 (str) val () = auxch2 (out, $UN.ptrget (p)) val str = $UN.cast{string}(p+1) in auxstr (out, str) end else () // end of [if] // end // end of [auxstr] // val () = auxstr (out, str) // in // nothing end // end of [emit_string] end // end of [local] (* ****** ****** *) implement emit_ATSPMVchar (out, c) = { val () = emit_text (out, "ATSPMVchar('") val () = emit_char (out, c) val () = emit_text (out, "')") } // end of [emit_ATSPMVchar] implement emit_ATSPMVstring (out, str) = { val () = emit_text (out, "ATSPMVstring(\"") val () = emit_string (out, str) val () = emit_text (out, "\")") } // end of [emit_ATSPMVstring] (* ****** ****** *) implement emit_ATSPMVi0nt (out, tok) = { // val () = emit_text (out, "ATSPMVi0nt(") // val () = $SYN.fprint_i0nt (out, tok) // val ((*closing*)) = emit_RPAREN (out) // } // end of [emit_ATSPMVi0nt] implement emit_ATSPMVf0loat (out, tok) = { // val () = emit_text (out, "ATSPMVf0loat(") // val () = $SYN.fprint_f0loat (out, tok) // val ((*closing*)) = emit_RPAREN (out) // } // end of [emit_ATSPMVf0loat] (* ****** ****** *) implement emit_stamp (out, x) = $STMP.fprint_stamp (out, x) // end of [emit_stamp] (* ****** ****** *) implement emit_symbol (out, x) = $SYM.fprint_symbol (out, x) // end of [emit_symbol] (* ****** ****** *) local staload TM = "libc/SATS/time.sats" stadef time_t = $TM.time_t in (*in-of-local*) implement emit_time_stamp (out) = let // var tm: time_t val () = tm := $TM.time_get () val (pfopt | p_tm) = $TM.localtime (tm) // val () = emit_text (out, "/*\n"); val () = emit_text (out, "**\n"); val () = emit_text (out, "** The C code is generated by ATS/Postiats\n") val () = emit_text (out, "** The starting compilation time is: ") // val () = if p_tm > null then let prval Some_v @(pf1, fpf1) = pfopt val tm_min = $TM.tm_get_min (!p_tm) val tm_hour = $TM.tm_get_hour (!p_tm) val tm_mday = $TM.tm_get_mday (!p_tm) val tm_mon = 1 + $TM.tm_get_mon (!p_tm) val tm_year = 1900 + $TM.tm_get_year (!p_tm) prval () = fpf1 (pf1) in fprintf (out , "%i-%i-%i: %2ih:%2im\n" , @(tm_year, tm_mon, tm_mday, tm_hour, tm_min) ) (* end of [fprintf] *) end else let prval None_v () = pfopt in emit_text (out, "**UNKNOWN**\n") end // end of [if] // val () = emit_text (out, "**\n") val () = emit_text (out, "*/\n") // in emit_newline (out) end // end of [emit_time_stamp] end // end of [local] (* ****** ****** *) local fun aux ( out: FILEref, c: char ) = let in // case+ 0 of // | _ when char_isalnum (c) => fprint_char (out, c) // | _ when (c = '_') => fprint_char (out, '_') | _ when (c = '$') => fprint_string (out, "__") // | _ => { val () = fprintf (out, "_%.3o_", @($UN.cast2uint(c))) } (* end of [_] *) // end // end of [aux] in (* in of [local] *) implement emit_ident (out, name) = let val isnot = string_isnot_empty (name) in // if isnot then let val p = $UN.cast2Ptr1 (name) val c = $UN.ptrget (p) val () = aux (out, c) val name = $UN.cast{string}(p+1) in emit_ident (out, name) end // end of [if] // end // end of [emit_ident] end // end of [local] (* ****** ****** *) implement emit_label (out, lab) = () where { val () = $LAB.fprint_label (out, lab) } // end of [emit_label] implement emit_atslabel (out, lab) = () where { val () = emit_text (out, "atslab__") val () = $LAB.fprint_label (out, lab) } // end of [emit_atslabel] implement emit_labelext (out, knd, lab) = let // HX: knd = 0/1 : ats/ext in // if knd > 0 then emit_label (out, lab) else emit_atslabel (out, lab) // end of [if] // end // end of [emit_labelext] (* ****** ****** *) implement emit_filename (out, fil) = let val fsymb = $FIL.filename_get_fullname (fil) // end of [val] val fname = $SYM.symbol_get_name (fsymb) in emit_ident (out, fname) end // end of [emit_filename] (* ****** ****** *) implement emit_primcstsp (out, pmc) = let in // case+ pmc of | PMCSTSPmyfil (fil) => { val () = emit_text ( out, "ATSCSTSPmyfil(\"" ) // end of [val] val ( ) = $FIL.fprint_filename_full (out, fil) val () = emit_text (out, "\")") } | PMCSTSPmyloc (loc) => { val () = emit_text ( out, "ATSCSTSPmyloc(\"" ) // end of [val] val () = $LOC.fprint_location (out, loc) val () = emit_text (out, "\")") } | PMCSTSPmyfun (flab) => { val () = emit_text ( out, "ATSCSTSPmyfun(\"" ) // end of [val] val () = fprint_funlab (out, flab) val () = emit_text (out, "\")") } // end // end of [emit_primcstsp] (* ****** ****** *) implement emit_sizeof (out, hselt) = let // val () = emit_text (out, "ATSPMVsizeof(") // val () = emit_hisexp (out, hselt) // val ((*closing*)) = emit_RPAREN (out) // in end // end of [emit_sizeof] (* ****** ****** *) local fun aux_prfx ( out: FILEref, s2c: s2cst ) : void = let // val pack = $S2E.s2cst_get_pack (s2c) // end of [val] val issome = stropt_is_some (pack) // in // if issome then let val pack = stropt_unsome (pack) in emit_ident (out, pack) end else let val fil = $S2E.s2cst_get_fil (s2c) in emit_filename (out, fil) end // end of [if] // end // end of [aux_prfx] in (* in of [local] *) implement emit_s2cst (out, s2c) = let val () = aux_prfx (out, s2c) val () = emit_text (out, "__") val name = $S2E.s2cst_get_name (s2c) val () = emit_ident (out, name) in // nothing end // end of [emit_s2cst] end // end of [local] (* ****** ****** *) local fun aux_prfx ( out: FILEref , fil: $FIL.filename, packopt: Stropt ) : void = let // val isnone = stropt_is_none (packopt) // in // if isnone then ( emit_filename (out, fil) ) else let val packname = stropt_unsome (packopt) in emit_ident (out, packname) end // end of [if] // end // end of [aux_prfx] in (* in of [local] *) implement emit_d2con (out, d2c) = { // val fil = $S2E.d2con_get_fil (d2c) val packopt = $S2E.d2con_get_pack (d2c) val () = aux_prfx (out, fil, packopt) // val name = $S2E.d2con_get_name (d2c) val () = emit_text (out, "__") val () = emit_ident (out, name) // val tag = $S2E.d2con_get_tag (d2c) val () = ( if tag >= 0 then let // HX: not exncon val () = fprintf (out, "__%i", @(tag)) in // nothing end // end of [then] // end of [if] ) (* end of [val] *) // } (* end of [emit_d2con] *) (* ****** ****** *) implement emit_d2cst (out, d2c) = let // val extdef = $D2E.d2cst_get_extdef (d2c) // in // case+ extdef of // | $SYN.DCSTEXTDEFnone (knd) => let // val fil = $D2E.d2cst_get_fil (d2c) val packopt = $D2E.d2cst_get_pack (d2c) val () = aux_prfx (out, fil, packopt) // val () = emit_text (out, "__") val name = $D2E.d2cst_get_name (d2c) val () = emit_ident (out, name) // val () = if (knd = 0) then { val () = emit_text (out, "__") val stamp = $D2E.d2cst_get_stamp (d2c) val () = emit_stamp (out, stamp) } (* end of [if] *) // in // nothing end // end of [DCSTEXTDEFnone] // | $SYN.DCSTEXTDEFsome_ext (name) => emit_ident (out, name) // | $SYN.DCSTEXTDEFsome_mac (name) => emit_ident (out, name) // | $SYN.DCSTEXTDEFsome_sta (name) => emit_ident (out, name) // end // end of [emit_d2cst] end // end of [local] (* ****** ****** *) implement emit2_d2cst (out, d2c) = emit_ident (out, $D2E.d2cst_get_name (d2c)) // end of [emit2_d2cst] (* ****** ****** *) implement emit_tmplab (out, tlab) = let // val () = emit_text (out, "__atstmplab") // in $STMP.fprint_stamp (out, tmplab_get_stamp (tlab)) end // end of [emit_tmplab] implement emit_tmplabint (out, tlab, i) = let val () = emit_tmplab (out, tlab) val () = fprintf (out, "__%i", @(i)) in // nothing end // end of [emit_tmplabint] (* ****** ****** *) local val the_nfnx = ref_make_elt (0) in (* in of [local] *) implement emit_set_nfnx (nfnx) = (!the_nfnx := nfnx) implement emit_funarg (out, narg) = let val nfnx = !the_nfnx in if nfnx <= 1 then fprintf (out, "arg%i", @(narg)) else fprintf (out, "a%irg%i", @(nfnx, narg)) // end of [val] end // end of [emit_funarg] implement emit_funapy (out, narg) = let // val nfnx = !the_nfnx // in // if nfnx <= 1 then fprintf (out, "apy%i", @(narg)) else fprintf (out, "a%ipy%i", @(nfnx, narg)) // end // end of [emit_funapy] end // end of [local] (* ****** ****** *) // fun emit_tmp ( out: FILEref ) : void = emit_text (out, "tmp") // fun emit_statmp ( out: FILEref ) : void = let // val opt = $GLOB.the_STATIC_PREFIX_get() // val ((*void*)) = if stropt_is_some(opt) then emit_text (out, stropt_unsome(opt)) // end of [if] // in emit_text (out, "statmp") end (* end of [emit_statmp] *) // (* ****** ****** *) local fun auxtmp ( out: FILEref, tmp: tmpvar ) : void = let // val knd = tmpvar_get_topknd (tmp) // val () = ( case+ 0 of | _ when knd = 0 => emit_tmp (out) // local | _ (*(static)top*) => emit_statmp (out) // toplevel ) : void // end of [val] // val isref = tmpvar_isref (tmp) val () = if isref then emit_text (out, "ref") val isret = tmpvar_isret (tmp) val () = if isret then emit_text (out, "ret") // val opt = tmpvar_get_origin (tmp) // in // case+ opt of // | Some (tmpp) => let val sfx = tmpvar_get_suffix (tmp) val stmp = tmpvar_get_stamp (tmpp) val () = $STMP.fprint_stamp (out, stmp) val () = fprintf (out, "__%i", @(sfx)) in // nothing end // end of [Some] // | None () => let val stmp = tmpvar_get_stamp (tmp) val () = $STMP.fprint_stamp (out, stmp) in // nothing end // end of [None] // end // end of [auxtmp] in (* in of [local] *) implement emit_tmpvar (out, tmp) = auxtmp (out, tmp) end // end of [local] (* ****** ****** *) local fun auxmain ( out: FILEref, flab: funlab ) : void = let // val qopt = funlab_get_d2copt (flab) val tmparg = funlab_get_tmparg (flab) // val () = ( case+ qopt of | Some (d2c) => let val () = emit_d2cst (out, d2c) in // nothing end // end of [Some] | None () => let val () = emit_ident (out, funlab_get_name (flab)) in // nothing end // end of [None] ) : void // end of [val] // val tmpknd = funlab_get_tmpknd (flab) val () = if tmpknd > 0 then { val () = emit_text (out, "__") val stamp = funlab_get_stamp (flab) val () = $STMP.fprint_stamp (out, stamp) } (* end of [if] *) // end of [val] // in // nothing end // end of [auxmain] in (* in of [local] *) implement emit_funlab (out, flab) = let // val opt = funlab_get_origin (flab) val () = ( case+ opt of | Some ( flab_1 // origin ) => emit_funlab (out, flab_1) | None () => auxmain (out, flab) ) // end of [val] val sfx = funlab_get_suffix (flab) val () = if sfx > 0 then fprintf (out, "__%i", @(sfx)) // in // nothing end // end of [emit_funlab] implement emit2_funlab (out, flab) = let // val qopt = funlab_get_d2copt (flab) val name = ( case+ qopt of | Some (d2c) => $D2E.d2cst_get_name (d2c) | None ((*void*)) => funlab_get_name (flab) ) : string // end of [val] // val ((*void*)) = emit_ident (out, name) // in // nothing end // end of [emit2_funlab] end // end of [local] (* ****** ****** *) // extern fun emit_arrdim ( out: FILEref , tmp: tmpvar, s2es: s2explst ) : void // end-of-function // implement emit_arrdim (out, tmp, s2es) = let // fun aux ( out: FILEref , tmp: tmpvar, s2e: s2exp ) : void = let in // case+ s2e.s2exp_node of // | $S2E.S2Eint (n) => emit_int (out, n) // | $S2E.S2Eintinf (n) => emit_intinf (out, n) // | _(*non-fixed-int*) => let val () = prerr_errccomp_loc(tmpvar_get_loc(tmp)) val () = prerrln! (": the size of a stack-allocated array cannot be determined. ") // end of [val] in emit_text (out, "ATSERRORarrdim_unknown()") end // end of [non-fixed-int] // end // end of [aux] // fun auxlst ( out: FILEref , tmp: tmpvar, s2es: s2explst, i: int ) : void = let in // case+ s2es of | list_nil () => () | list_cons (s2e, s2es) => { val () = if i > 0 then emit_text (out, "][") // end of [if] val () = aux (out, tmp, s2e) val () = auxlst (out, tmp, s2es, i+1) } (* end of [list_cons] *) // end (* end of [auxlst] *) // in emit_text (out, "["); auxlst (out, tmp, s2es, 0); emit_text (out, "]") end // end of [emit_arrdim] (* ****** ****** *) implement emit_tmpdec (out, tmp) = let // val hse = tmpvar_get_type (tmp) val knd = tmpvar_get_topknd (tmp) val isvoid = hisexp_is_void (hse) // (* val () = println! ("emit_tmpdec: tmp = ", tmp) val () = println! ("emit_tmpdec: hse = ", hse) *) // val () = if isvoid then emit_text (out, "// ") // val () = ( if knd = 0 then emit_text (out, "ATStmpdec") // local else emit_text (out, "ATSstatmpdec") // toplevel // end of [if] ) : void // end of [val] // val () = if isvoid then emit_text (out, "_void") // val () = emit_text (out, "(") // val () = emit_tmpvar (out, tmp) // val () = ( case+ hse.hisexp_node of // | HSEtyarr ( _(*elt*), s2es ) => emit_arrdim (out, tmp, s2es) | _ (* non-tyarr *) => ((*nothing*)) ) (* end of [val] *) // val () = if not(isvoid) then { val () = emit_text (out, ", ") val () = ( case+ hse.hisexp_node of | HSEtyarr ( hse_elt, _(*dim*) ) => emit_hisexp (out, hse_elt) | _ (*non-tyarr*) => emit_hisexp (out, hse) ) (* end of [val] *) } (* end of [then] *) // val () = emit_text (out, ") ;\n") // in // nothing end // end of [emit_tmpdec] (* ****** ****** *) implement emit_tmpdeclst (out, tmps) = let in // case+ tmps of | list_cons (tmp, tmps) => let val () = emit_tmpdec (out, tmp) in emit_tmpdeclst (out, tmps) end // end of [list_cons] | list_nil () => () // end // end of [emit_tmpdeclst] (* ****** ****** *) typedef emit_primval_type = (FILEref, primval) -> void (* ****** ****** *) // extern fun emit_primval_arg : emit_primval_type extern fun emit_primval_argref : emit_primval_type extern fun emit_primval_argenv : emit_primval_type // extern fun emit_primval_tmp : emit_primval_type extern fun emit_primval_tmpref : emit_primval_type // extern fun emit_primval_env : emit_primval_type // extern fun emit_primval_d2cst : emit_primval_type // extern fun emit_primval_castfn : emit_primval_type // extern fun emit_primval_selcon : emit_primval_type extern fun emit_primval_select : emit_primval_type extern fun emit_primval_select2 : emit_primval_type // extern fun emit_primval_selptr : emit_primval_type // extern fun emit_primval_ptrof : emit_primval_type extern fun emit_primval_ptrof2 : emit_primval_type // extern fun emit_primval_ptrofsel : emit_primval_type // extern fun emit_primval_refarg : emit_primval_type // extern fun emit_primval_funlab : emit_primval_type extern fun emit_primval_cfunlab : emit_primval_type // extern fun emit_primval_err : emit_primval_type // (* ****** ****** *) implement emit_primval (out, pmv0) = let // val loc0 = pmv0.primval_loc // in // case+ pmv0.primval_node of // | PMVtmp _ => emit_primval_tmp (out, pmv0) | PMVtmpref _ => emit_primval_tmpref (out, pmv0) | PMVarg _ => emit_primval_arg (out, pmv0) | PMVargref _ => emit_primval_argref (out, pmv0) | PMVargenv _ => emit_primval_argenv (out, pmv0) // | PMVenv _ => emit_primval_env (out, pmv0) // | PMVcst _ => emit_primval_d2cst (out, pmv0) // | PMVint (i) => emit_ATSPMVint (out, i) | PMVintrep (rep) => emit_ATSPMVintrep (out, rep) // | PMVbool (b) => emit_ATSPMVbool (out, b) | PMVchar (c) => emit_ATSPMVchar (out, c) | PMVfloat (f) => emit_ATSPMVfloat (out, f) | PMVstring (str) => emit_ATSPMVstring (out, str) // | PMVi0nt (tok) => emit_ATSPMVi0nt (out, tok) | PMVf0loat (tok) => emit_ATSPMVf0loat (out, tok) // | PMVcstsp (pmc) => emit_primcstsp (out, pmc) // | PMVtop () => fprintf (out, "ATSPMVtop()", @()) | PMVempty () => fprintf (out, "ATSPMVempty()", @()) | PMVextval (x) => fprintf (out, "ATSPMVextval(%s)", @(x)) // | PMVcastfn _ => emit_primval_castfn (out, pmv0) // | PMVsizeof (hselt) => emit_sizeof (out, hselt) // | PMVselcon _ => emit_primval_selcon (out, pmv0) | PMVselect _ => emit_primval_select (out, pmv0) | PMVselect2 _ => emit_primval_select2 (out, pmv0) // | PMVselptr _ => emit_primval_selptr (out, pmv0) // | PMVptrof _ => emit_primval_ptrof (out, pmv0) | PMVptrofsel _ => emit_primval_ptrofsel (out, pmv0) // | PMVrefarg _ => emit_primval_refarg (out, pmv0) // | PMVfunlab _ => emit_primval_funlab (out, pmv0) | PMVcfunlab _ => emit_primval_cfunlab (out, pmv0) // | PMVlamfix(knd, pmv) => emit_primval (out, pmv) // | PMVerror ((*error*)) => emit_primval_err (out, pmv0) // | _ (*rest*) => let (* val () = prerr_interror_loc (loc0) val () = prerrln! (": emit_primval: pmv0 = ", pmv0) // end of [val] val () = assertloc (false) // code exits *) in fprint_primval (out, pmv0) end (* end of [rest] *) // end // end of [emit_primval] (* ****** ****** *) implement emit_primvalist (out, pmvs) = let // fun loop ( out: FILEref , pmvs: primvalist, i: int ) : void = let in // case+ pmvs of | list_cons (pmv, pmvs) => let val () = if i > 0 then emit_text (out, ", ") // end of [if] val () = emit_primval (out, pmv) in loop (out, pmvs, i+1) end // end of [list_cons] | list_nil((*void*)) => () // end // end of [loop] // in loop (out, pmvs, 0) end // end of [emit_primvalist] (* ****** ****** *) implement emit_primval_arg (out, pmv0) = let // val-PMVarg (n) = pmv0.primval_node // in emit_funarg (out, n) end // end of [emit_primval_arg] (* ****** ****** *) implement emit_primval_argref (out, pmv0) = let // val-PMVargref(n) = pmv0.primval_node // in emit_funarg (out, n) end // end of [emit_primval_argref] (* ****** ****** *) implement emit_primval_argenv (out, pmv0) = let // val-PMVargenv(nenv) = pmv0.primval_node // in fprintf (out, "env%i", @(nenv)) end // end of [emit_primval_argenv] (* ****** ****** *) implement emit_primval_tmp (out, pmv0) = let // val-PMVtmp (tmp) = pmv0.primval_node // in emit_tmpvar (out, tmp) end // end of [emit_primval_tmp] implement emit_primval_tmpref (out, pmv0) = let // val-PMVtmpref (tmp) = pmv0.primval_node // in emit_tmpvar (out, tmp) end // end of [emit_primval_tmpref] (* ****** ****** *) implement emit_d2env (out, d2e) = let // val d2v = d2env_get_var (d2e) // in emit_d2var_env (out, d2v) end (* end of [emit_d2env] *) implement emit_d2var_env (out, d2v) = let // val opt = the_funent_varbindmap_find (d2v) // in // case+ opt of | ~Some_vt (pmv) => emit_primval (out, pmv) | ~None_vt () => let val () = emit_text (out, "ATSPMVenv(") val () = emit_symbol (out, $D2E.d2var_get_sym (d2v)) val ((*closing*)) = emit_RPAREN (out) in // nothing end (* end of [None_vt] *) // end // end of [emit_d2var_env] (* ****** ****** *) implement emit_d2envlst (out, d2es, i) = let // fun auxlst ( out: FILEref , d2es: d2envlst, i: int ) : int = let in // case+ d2es of | list_cons (d2e, d2es) => let val () = if (i > 0) then emit_text (out, ", ") // end of [val] val () = emit_d2env (out, d2e) in auxlst (out, d2es, i+1) end // end of [list_cons] | list_nil () => (i) // end (* end of [auxlst] *) // in auxlst (out, d2es, i) end // end of [emit_d2envlst] (* ****** ****** *) implement emit_primval_env (out, pmv0) = let // val-PMVenv (d2v) = pmv0.primval_node // in emit_d2var_env (out, d2v) end (* end of [emit_primval_env] *) (* ****** ****** *) implement emit_primval_d2cst (out, pmv0) = let // val-PMVcst (d2c) = pmv0.primval_node // in emit_d2cst (out, d2c) end // end of [emit_primval_d2cst] (* ****** ****** *) implement emit_primval_castfn (out, pmv0) = let // val hse0 = pmv0.primval_type val-PMVcastfn (d2c, arg) = pmv0.primval_node // val () = emit_text (out, "ATSPMVcastfn(") // val () = emit2_d2cst (out, d2c) // local name // val () = emit_text (out, ", ") val () = emit_hisexp (out, hse0) val () = emit_text (out, ", ") val () = emit_primval (out, arg) // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [emit_primval_castfn] (* ****** ****** *) implement emit_primval_ptrof (out, pmv0) = let // val-PMVptrof (pmv) = pmv0.primval_node // in emit_primval_ptrof2 (out, pmv) end // end of [emit_primval_ptrof] implement emit_primval_ptrof2 (out, pmv) = let // fun testselptr0 (pmv: primval): bool = ( case+ pmv.primval_node of | PMVselptr (_, _, list_nil ()) => true | _ => false ) // val test = testselptr0 (pmv) // in // if test then let // val-PMVselptr (pmv_ptr, _, _) = pmv.primval_node // in emit_primval (out, pmv_ptr) end else let // val isvoid = primval_is_void (pmv) val istyarr = hisexp_is_tyarr(pmv.primval_type) // val () = emit_text (out, "ATSPMVptrof") val () = if isvoid then emit_text (out, "_void") val () = emit_LPAREN (out) val () = emit_primval (out, pmv(*lvalue*)) val () = if istyarr then emit_text (out, "[0]") val () = emit_RPAREN (out) // in // nothing end // end of [if] // end // end of [emit_primval_ptrof2] (* ****** ****** *) implement emit_primval_refarg (out, pmv0) = let // val-PMVrefarg (knd, freeknd, pmv) = pmv0.primval_node // val () = if (knd = 0) then emit_text (out, "ATSPMVrefarg0(") // val () = if (knd > 0) then emit_text (out, "ATSPMVrefarg1(") // val () = if (knd = 0) then emit_primval (out, pmv) val () = if (knd > 0) then emit_primval_ptrof2 (out, pmv) // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [emit_primval_refarg] (* ****** ****** *) implement emit_primval_funlab (out, pmv0) = let // val-PMVfunlab (flab) = pmv0.primval_node // val isenv = funlab_is_envful (flab) // val () = ( if isenv then { val loc0 = pmv0.primval_loc val ((*void*)) = prerr_errccomp_loc (loc0) val ((*void*)) = prerrln! ": the function is expected to be envless but it is not." } (* end of [then] *) // end of [if] ) // val () = ( // if isenv then emit_text (out, "ATSERRORnotenvless(") // ) (* end of [val] *) // val () = emit_text (out, "ATSPMVfunlab(") // val ((*void*)) = emit_funlab (out, flab) // val ((*closing*)) = emit_RPAREN (out) // val ((*closing*)) = if isenv then emit_RPAREN (out) // in // nothing end // end of [emit_primval_funlab] (* ****** ****** *) implement emit_primval_cfunlab (out, pmv0) = let // val-PMVcfunlab (knd, flab) = pmv0.primval_node val opt = funlab_get_funent (flab) val d2es = ( case+ opt of | None () => list_nil () | Some (fent) => funent_eval_d2envlst (fent) // end of [Some] ) : d2envlst // end of [val] // val () = emit_text (out, "ATSPMVcfunlab(") // val () = emit_int (out, knd) val () = emit_text (out, ", ") val () = emit_funlab (out, flab) val () = emit_text (out, ", (") val nenv = emit_d2envlst (out, d2es, 0) val ((*closing*)) = emit_text (out, "))") // in // nothing end // end of [emit_primval_cfunlab] (* ****** ****** *) local fun auxmain ( out: FILEref , pmv: primval, hse: hisexp ) : void = let // val () = emit_text (out, "ATSderef(") // val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [auxmain] in (* in of [local] *) implement emit_primval_deref (out, pmv, hse) = let in // case+ pmv.primval_node of | PMVptrof (pmv) => emit_primval (out, pmv) | _(* non-ptrof *) => auxmain (out, pmv, hse) // end // end of [emit_primval_deref] end // end of [local] (* ****** ****** *) implement emit_primval_err (out, pmv) = let // val () = emit_text (out, "PMVerr(\"") val () = emit_location (out, pmv.primval_loc) val () = emit_text (out, "\")") // in // nothing end // end of [emit_primval_err] (* ****** ****** *) #if(0) // // HX-2016-01-01: // It is commented out as it is not in use // implement emit_funtype_arg_res ( out, hses_arg, hse_res ) = let // val () = emit_hisexp (out, hse_res) // val () = emit_text (out, "(*)(") val () = emit_hisexplst_sep (out, hses_arg, ", ") // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [emit_funtype_arg_res] #endif // #if(0) (* ****** ****** *) implement emit_primlab (out, extknd, pml) = let in // case+ pml.primlab_node of // case | PMLlab (lab) => { val () = emit_labelext (out, extknd, lab) } // end of [PMLlab] | PMLind (pmvs) => { val () = emit_text (out, "[") val () = emit_primvalist (out, pmvs) val () = emit_text (out, "]") } // end of [PMLind] // end // end of [emit_primlab] (* ****** ****** *) // extern fun emit_instr_move_con : emit_instr_type extern fun emit_instr_move_rec : emit_instr_type // (* extern fun emit_instr_load_ptrofs : emit_instr_type *) extern fun emit_instr_store_ptrofs : emit_instr_type extern fun emit_instr_xstore_ptrofs : emit_instr_type // extern fun emit_instr_raise : emit_instr_type // extern fun emit_instr_move_delay : emit_instr_type extern fun emit_instr_move_lazyeval : emit_instr_type // (* ****** ****** *) extern fun emit_move_val ( out: FILEref, tmp: tmpvar, pmv: primval ) : void // end of [emit_move_val] implement emit_move_val (out, tmp, pmv) = let // val isvoid = primval_is_void (pmv) // val () = emit_text (out, "ATSINSmove") val () = ( if isvoid then emit_text (out, "_void") ) val () = emit_text (out, "(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_move_val] extern fun emit_pmove_val ( out: FILEref, tmp: tmpvar, pmv: primval ) : void // end of [emit_pmove_val] implement emit_pmove_val (out, tmp, pmv) = let val () = emit_text (out, "ATSINSpmove(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, pmv.primval_type) val () = emit_text (out, ", ") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;") in // nothing end // end of [emit_pmove_val] (* ****** ****** *) extern fun emit_move_ptralloc (out: FILEref, tmp: tmpvar, hit: hitype): void implement emit_move_ptralloc (out, tmp, hit) = let val () = emit_text (out, "ATSINSmove_ptralloc(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hitype (out, hit) val () = emit_text (out, ") ;") in // nothing end // end of [emit_move_ptralloc] (* ****** ****** *) implement emit_instr (out, ins) = let // val loc0 = ins.instr_loc // // HX: This is extremely valuable for debugging!!! // val () = ( fprint (out, "/*\n"); fprint (out, "emit_instr: loc0 = "); $LOC.fprint2_location (out, loc0); fprint (out, "\n*/\n"); ) // (* val ( ) = fprintln! (out, "/*\n", "emit_instr: ins = ", ins, "\n*/") *) // // generating #line progmas // val gline = $GLOB.the_DEBUGATS_dbgline_get () val ((*void*)) = ( // if gline > 0 then $LOC.fprint_line_pragma (out, loc0) // end of [if] // ) : void // end of [val] // val gflag = $GLOB.the_DEBUGATS_dbgflag_get () val ((*void*)) = ( // // HX: generating debugging information // if gflag > 0 then ( emit_text (out, "/* "); fprint_instr (out, ins); emit_text (out, " */\n") ) (* end of [then] *) // end of [if] // ) : void // end of [val] // in // case+ ins.instr_node of // | INSfunlab (flab) => { val () = emit_text (out, "ATSINSflab(") val () = emit_text (out, "__patsflab_") val () = ( emit2_funlab (out, flab); emit_text (out, "):") ) (* end of [val] *) } (* end of [INSfunlab] *) // | INStmplab (tmplab) => { val () = emit_text (out, "ATSINSlab(") val () = ( emit_tmplab (out, tmplab); emit_text (out, "):") ) (* end of [val] *) } (* end of [INStmplab] *) // | INScomment (string) => { val () = emit_text (out, "/*\n") val () = emit_text (out, string) val () = emit_text (out, "\n*/") } (* end of [INScomment] *) // | INSmove_val (tmp, pmv) => emit_move_val (out, tmp, pmv) // end of [INSmove_val] | INSpmove_val (tmp, pmv) => emit_pmove_val (out, tmp, pmv) // end of [INSpmove_val] // | INSfcall _ => emit_instr_fcall (out, ins) | INSfcall2 _ => emit_instr_fcall2 (out, ins) // | INSextfcall _ => emit_instr_extfcall (out, ins) | INSextmcall _ => emit_instr_extmcall (out, ins) // | INScond ( pmv_cond, inss_then, inss_else ) => { val () = emit_text (out, "ATSif(\n") val () = emit_primval (out, pmv_cond) val () = emit_text (out, "\n) ATSthen() {\n") val () = emit_instrlst (out, inss_then) val () = emit_text (out, "\n} ATSelse() {\n") val () = emit_instrlst (out, inss_else) val () = emit_text (out, "\n} /* ATSendif */") // end of [val] } // end of [INScond] // | INSfreecon (pmv) => let val () = emit_text (out, "ATSINSfreecon(") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;") in // nothing end // end of [INSfreecon] // | INSloop ( tlab_init, tlab_fini, tlab_cont , inss_init, pmv_test, inss_test, inss_post, inss_body ) => { val () = emit_text (out, "/*\n") val () = emit_text (out, "** loop-init(beg)\n") val () = emit_text (out, "*/\n") val () = ( emit_instrlst (out, inss_init); emit_newline (out) ) val () = emit_text (out, "/*\n") val () = emit_text (out, "** loop-init(end)\n") val () = emit_text (out, "*/\n") val () = ( emit_text (out, "ATSloop_open("); emit_tmplab (out, tlab_init); emit_text (out, ", "); emit_tmplab (out, tlab_fini); emit_text (out, ", "); emit_tmplab (out, tlab_cont); emit_text (out, ")\n") ) // end of [val] // val () = ( emit_instrlst (out, inss_test); emit_newline (out) ) // val () = emit_text (out, "ATSif(") val () = emit_text (out, "ATSCKnot(") val () = emit_primval (out, pmv_test) val () = emit_text (out, ")) ATSbreak() ;") val () = emit_newline (out) // val () = ( emit_instrlst (out, inss_body); emit_newline (out) ) // val ispost = list_is_cons (inss_post) // val () = if ispost then { val () = emit_text (out, "/*\n") val () = emit_text (out, "** continue after post-update\n") val () = emit_text (out, "*/\n") val () = emit_tmplab (out, tlab_cont) val () = emit_text (out, ":\n") val () = emit_instrlst (out, inss_post) val () = emit_newline (out) } // end of [if] // end of [val] // val () = ( emit_text (out, "ATSloop_close("); emit_tmplab (out, tlab_init); emit_text (out, ", "); emit_tmplab (out, tlab_fini); emit_text (out, ", "); emit_tmplab (out, tlab_cont); emit_text (out, ") ;") ) // end of [val] // val () = emit_newline (out) } // end of [INSloop] // | INSloopexn (knd, tlab) => let val () = ( if knd = 0 then emit_text (out, "ATSbreak2(") else emit_text (out, "ATScontinue2(") // end of [if] ) : void // end of [val] val () = emit_tmplab (out, tlab) val () = emit_text (out, ") ;") in // nothing end // end of [INSloopexn] // | INScaseof (ibrs) => { val () = emit_text (out, "ATScaseof_beg()\n") val () = emit_ibranchlst (out, ibrs) val () = emit_text (out, "ATScaseof_end()\n") } (* end of [INScaseof] *) // | INStrywith ( tmp_exn, inss_try, ibrs_with ) => let // val () = emit_text (out, "ATStrywith_try(") val () = emit_tmpvar (out, tmp_exn) val ((*closing*)) = emit_text (out, ")\n") // val () = emit_instrlst_ln (out, inss_try) // val () = emit_text (out, "ATStrywith_with(") val () = emit_tmpvar (out, tmp_exn) val ((*closing*)) = emit_text (out, ")\n") // val () = emit_text (out, "ATScaseof_beg()\n") val () = emit_ibranchlst (out, ibrs_with) val () = emit_text (out, "ATScaseof_end()\n") // val () = emit_text (out, "ATStrywith_end()") in // empty end // end of [INStrywith] // | INSletpop () => let val () = emit_text (out, "/*\n") val () = fprint_instr (out, ins) val () = emit_text (out, "\n*/") in // nothing end // end of [INSletpop] | INSletpush (pmds) => let val () = emit_text (out, "/*\n") val () = emit_text (out, "letpush(beg)") val () = emit_text (out, "\n*/\n") val () = emit_primdeclst (out, pmds) val () = emit_text (out, "/*\n") val () = emit_text (out, "letpush(end)") val () = emit_text (out, "\n*/\n") in // nothing end // end of [INSletpush] // | INSmove_con _ => emit_instr_move_con (out, ins) // | INSmove_fltrec _ => emit_instr_move_rec (out, ins) | INSmove_boxrec _ => emit_instr_move_rec (out, ins) // | INSpatck (pmv, patck, fail) => emit_instr_patck (out, ins) // | INSstore_ptrofs _ => emit_instr_store_ptrofs (out, ins) | INSxstore_ptrofs _ => emit_instr_xstore_ptrofs (out, ins) // | INSraise _ => emit_instr_raise (out, ins) // | INSmove_delay _ => emit_instr_move_delay (out, ins) | INSmove_lazyeval _ => emit_instr_move_lazyeval (out, ins) // | INSmove_list_nil (tmp) => { val () = emit_text (out, "ATSINSmove_list_nil(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ") ;") } | INSpmove_list_nil (tmp) => { val () = emit_text (out, "ATSINSpmove_list_nil(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ") ;") } | INSpmove_list_cons (tmp, hse_elt) => { val () = emit_text (out, "ATSINSpmove_list_cons(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse_elt) val () = emit_text (out, ") ;") } | INSmove_list_phead (tmphd, tmptl, hse_elt) => { val () = emit_text (out, "ATSINSmove_list_phead(") val () = emit_tmpvar (out, tmphd) val () = emit_text (out, ", ") val () = emit_tmpvar (out, tmptl) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse_elt) val () = emit_text (out, ") ;") } | INSmove_list_ptail (tmptl1, tmptl2, hse_elt) => { val () = emit_text (out, "ATSINSmove_list_ptail(") val () = emit_tmpvar (out, tmptl1) val () = emit_text (out, ", ") val () = emit_tmpvar (out, tmptl2) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse_elt) val () = emit_text (out, ") ;") } // | INSmove_arrpsz_ptr (tmp, psz) => { val () = emit_text (out, "ATSINSmove_arrpsz_ptr(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_tmpvar (out, psz) val () = emit_text (out, ") ;") } // end of [INSmove_arrpsz_ptr] // | INSstore_arrpsz_asz (tmp, asz) => { val () = emit_text (out, "ATSINSstore_arrpsz_asz(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_int (out, asz) val () = emit_text (out, ") ;") } // end of [INSstore_arrpsz_asz] | INSstore_arrpsz_ptr (tmp, hse, asz) => { val () = emit_text (out, "ATSINSstore_arrpsz_ptr(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ", ") val () = emit_int (out, asz) val () = emit_text (out, ") ;") } // end of [INSstore_arrpsz_ptr] // | INSupdate_ptrinc (tmp, hse) => { val () = emit_text (out, "ATSINSupdate_ptrinc(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ") ;") } // end of [INSupdate_ptrinc] | INSupdate_ptrdec (tmp, hse) => { val () = emit_text (out, "ATSINSupdate_ptrdec(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ") ;") } // end of [INSupdate_ptrdec] // | INSclosure_initize (tmp, flab) => { val-Some(fent) = funlab_get_funent (flab) val d2es = funent_eval_d2envlst (fent) val () = emit_text (out, "ATSINSclosure_initize(") // end of [val] val () = emit_funlab (out, flab) val () = emit_text (out, ", ") val () = emit_text (out, "(") val () = emit_text (out, "(") val () = emit_funlab (out, flab) val () = emit_text (out, "__closure_t0ype*)") val () = emit_text (out, "(") val () = emit_text (out, "&") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ")") val _(*nenv+1*) = emit_d2envlst (out, d2es, 1) val () = emit_text (out, ")") val () = emit_text (out, ") ;") } (* end of [INSclosure_initize] *) // | INStmpdec (tmp) => { val () = emit_text (out, "/*\n") val () = emit_text (out, "ATSINStmpdec(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ") ;") val () = emit_text (out, "\n*/") } (* end of [INStmpdec] *) // | INSextvar (id, pmv) => { val () = emit_text (out, "ATSINSextvar_assign(") val () = fprintf (out, "ATSPMVextval(%s)", @(id)) val () = emit_text (out, ", ") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;") } (* end of [INSextvar] *) // | INSdcstdef (d2c, pmv) => { val () = emit_text (out, "ATSINSdyncst_valbind(") val () = emit_d2cst (out, d2c) val () = emit_text (out, ", ") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;") } (* end of [INSdcstdef] *) // | _ (*unsupported-instr*) => { val () = prerr_interror_loc (loc0) val () = prerrln! (": pats_ccomp_emit: emit_instr: ins = ", ins) val ((*exit*)) = assertloc (false) } (* end of [unsupported-instr] *) end // end of [emit_instr] (* ****** ****** *) implement emit_instrlst (out, inss) = let // fun loop ( out: FILEref, inss: instrlst, sep: string, i: int ) : void = let in // case+ inss of | list_cons (ins, inss) => let val () = if i > 0 then emit_text (out, sep) // end of [if] val () = emit_instr (out, ins) in loop (out, inss, sep, i+1) end // end of [list_cons] | list_nil () => let val () = if i = 0 then emit_text (out, "/* (*nothing*) */") // end of [val] in // nothing end // end of [list_nil] // end // end of [loop] // in loop (out, inss, "\n", 0) end // end of [emit_instrlst] implement emit_instrlst_ln (out, inss) = let val () = emit_instrlst (out, inss) in emit_text (out, "\n") // end of [val] end // end of [emit_instrlst_ln] (* ****** ****** *) local fun auxcon0 ( out: FILEref, tmp: tmpvar, d2c: d2con ) : void = let // val islst = $S2E.d2con_is_listlike (d2c) // in // if islst then let val () = emit_text (out, "ATSINSmove_nil(") val () = emit_tmpvar (out, tmp) val ((*closing*)) = emit_text (out, ") ;\n") in // nothing end // end of [then] else let val tag = $S2E.d2con_get_tag (d2c) val () = emit_text (out, "ATSINSmove_con0(") val () = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_int (out, tag) ) (* end of [val] *) val ((*closing*)) = emit_text (out, ") ;\n") in // nothing end // end of [else] // end // end of [auxcon0] (* ****** ****** *) fun auxtag ( out: FILEref, tmp: tmpvar, d2c: d2con ) : void = let // val flag = ( case+ 0 of (* | _ when $S2E.d2con_is_nullary (d2c) => 0 *) | _ when $S2E.d2con_is_listlike (d2c) => 0 | _ when $S2E.d2con_is_singular (d2c) => 0 | _ => 1 // HX: tag assignment is needed ) : int // end of [val] // val tag = $S2E.d2con_get_tag (d2c) // val () = if flag > 0 then emit_text (out, "// ") val () = fprintf (out, "#if(%i)\n", @(flag)) // val () = emit_text (out, "ATSINSstore_con1_tag(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_int (out, tag) val () = emit_text (out, ") ;\n") // val () = if flag > 0 then emit_text (out, "// ") val ((*closing*)) = emit_text (out, "#endif\n") // in // nothing end // end of [auxtag] fun auxarg ( out: FILEref , tmp: tmpvar, hit_con: hitype, lxs: labprimvalist ) : void = let in // case+ lxs of // | list_nil () => () // | list_cons (lx, lxs) => let val+LABPRIMVAL (l, x) = lx val istop = primval_is_top (x) val () = if istop then emit_text (out, "#if(0)\n") // end of [val] val () = emit_text (out, "ATSINSstore_con1_ofs(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hitype (out, hit_con) val () = emit_text (out, ", ") val () = emit_labelext (out, 0, l) val () = emit_text (out, ", ") val () = emit_primval (out, x) val () = emit_text (out, ") ;\n") val () = if istop then emit_text (out, "#endif\n") // end of [val] in auxarg (out, tmp, hit_con, lxs) end // end of [list_cons] // end // end of [auxarg] fun auxcon1 ( out: FILEref , tmp: tmpvar, d2c: d2con , hit_con: hitype, arg: labprimvalist ) : void = let // val lincon = ( if $S2E.d2con_is_linear(d2c) then 0 else 1 ) : int // end of [val] // val () = fprintf ( out, "/*\n#LINCONSTATUS==%i\n*/\n", @(lincon) ) (* end of [val] *) // val () = emit_text (out, "ATSINSmove_con1_beg()\n") // val () = emit_text (out, "ATSINSmove_con1_new(") val () = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_hitype (out, hit_con) ) (* end of [val] *) val ((*closing*)) = emit_text (out, ") ;\n") // val () = auxtag (out, tmp, d2c) val () = auxarg (out, tmp, hit_con, arg) // val () = emit_text (out, "ATSINSmove_con1_end()") // in // nothing end // end of [auxcon1] (* ****** ****** *) fun auxexn0 ( out: FILEref, tmp: tmpvar, d2c: d2con ) : void = let // val () = emit_text (out, "ATSINSmove_exn0(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_d2con (out, d2c) val () = emit_text (out, ") ;\n") // in // nothing end // end of [auxexn0] fun auxexn1 ( out: FILEref , tmp: tmpvar, d2c: d2con , hit_con: hitype, arg: labprimvalist ) : void = let // val () = emit_text (out, "ATSINSmove_exn1_beg()\n") // val () = emit_text (out, "ATSINSmove_exn1_new(") val ( ) = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_hitype (out, hit_con) ) (* end of [val] *) // val ((*closing*)) = emit_text (out, ") ;\n") // val () = emit_text (out, "ATSINSstore_exn1_tag(") val ( ) = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_d2con (out, d2c) ) (* end of [val] *) val ((*closing*)) = emit_text (out, ") ;\n") // val () = emit_text (out, "ATSINSstore_exn1_msg(") val () = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_d2con (out, d2c) ) (* end of [val] *) val ((*closing*)) = emit_text (out, ") ;\n") // val () = auxarg (out, tmp, hit_con, arg) // val () = emit_text (out, "ATSINSmove_exn1_end()") // in // nothing end // end of [auxexn1] in (* in of [local] *) implement emit_instr_move_con (out, ins) = let // val- INSmove_con (tmp, d2c, hse_sum, arg) = ins.instr_node // val () = emit_newline (out) // val iscon = $S2E.d2con_is_con (d2c) val isexn = $S2E.d2con_is_exn (d2c) val isnul = $S2E.d2con_is_nullary (d2c) // in // if isnul then let val () = if iscon then auxcon0 (out, tmp, d2c) val () = if isexn then auxexn0 (out, tmp, d2c) in // nothing end else let val hit_con = hisexp_typize (0, hse_sum) val () = ( if iscon then auxcon1 (out, tmp, d2c, hit_con, arg) ) : void // end of [val] val () = ( if isexn then auxexn1 (out, tmp, d2c, hit_con, arg) ) : void // end of [val] in // nothing end // end of [if] // end // end of [emit_instr_move_con] end // end of [local] (* ****** ****** *) implement emit_instr_move_rec (out, ins) = let // fun loop ( boxknd: int , extknd: int , tmp: tmpvar , hit_rec: hitype , lxs: labprimvalist , i: int ) : void = let in // case+ lxs of // | list_cons (lx, lxs) => let val LABPRIMVAL (l, x) = lx val () = if i > 0 then emit_text (out, "\n") val () = if boxknd = 0 then emit_text (out, "ATSINSstore_fltrec_ofs (") val () = if boxknd > 0 then emit_text (out, "ATSINSstore_boxrec_ofs (") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hitype (out, hit_rec) val () = emit_text (out, ", ") val () = emit_labelext (out, extknd, l) val () = emit_text (out, ", ") val () = emit_primval (out, x) val () = emit_text (out, ") ;") in loop (boxknd, extknd, tmp, hit_rec, lxs, i+1) end // end of [list_cons] // | list_nil ((*void*)) => () // end // end of [loop] // in // case- ins.instr_node of | INSmove_fltrec ( tmp, lpmvs, hse_rec ) => let // val hit = hisexp_typize (1, hse_rec) val extknd = hisexp_get_extknd (hse_rec) // val () = emit_text (out, "ATSINSmove_fltrec_beg()\n") // end of [val] // val () = loop (0(*boxknd*), extknd, tmp, hit, lpmvs, 0) // val () = emit_text (out, "\nATSINSmove_fltrec_end()") // end of [val] in // nothing end // end of [INSmove_fltrec] | INSmove_boxrec ( tmp, lpmvs, hse_rec ) => let // val hit = hisexp_typize (0, hse_rec) val extknd = hisexp_get_extknd (hse_rec) // val () = fprint (out, "/*\n#LINCONSTATUS==2\n*/\n") val () = emit_text (out, "ATSINSmove_boxrec_beg()\n") // end of [val] // val () = emit_text (out, "ATSINSmove_boxrec_new(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hitype (out, hit) val () = emit_text (out, ") ;\n") val () = loop (1(*boxknd*), extknd, tmp, hit, lpmvs, 0) // val () = emit_text (out, "\nATSINSmove_boxrec_end()") // end of [val] // in // nothing end // end of [INSmove_boxrec] // end // end of [emit_instr_move_rec] (* ****** ****** *) local fun auxsel ( out: FILEref , pmv: primval , hse_sum: hisexp , lab: label ) : void = let // val () = emit_text (out, "ATSSELcon(") // val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_hisexp_sel (out, hse_sum) val () = emit_text (out, ", ") val () = emit_labelext (out, 0(*ext*), lab) // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [auxsel] in (* in of [local] *) implement emit_primval_selcon (out, pmv0) = let // val-PMVselcon (pmv, hse_sum, lab) = pmv0.primval_node // in auxsel (out, pmv, hse_sum, lab) end // end of [emit_instr_selcon] end // end of [local] (* ****** ****** *) local fun auxfnd ( l0: label, lxs: labhisexplst ) : hisexp = let val-list_cons (lx, lxs) = lxs val HSLABELED (l, opt, x) = lx in if l0 = l then x else auxfnd (l0, lxs) end // end of [auxfnd] fun auxsel ( hse0: hisexp, pml: primlab ) : hisexp = let // (* val () = println! ("auxsel: hse0 = ", hse0) *) // in // case+ pml.primlab_node of // | PMLlab (lab) => ( case+ hse0.hisexp_node of | HSEtyrec (knd, lhses) => auxfnd (lab, lhses) // end of [HSEtyrec] | HSEtyrecsin (lhse) => labhisexp_get_elt (lhse) // end of [HSEtyrecsin] | HSEtysum (d2c, lhses) => auxfnd (lab, lhses) // end of [HSEtysum] | _ (*non-tuple*) => let val () = prerr_interror () val () = prerrln! (": auxsel: pml = ", pml) val () = prerr_interror () val () = prerrln! (": auxsel: hse0 = ", hse0) val ((*exit*)) = assertloc (false) in $ERR.abort_interr{hisexp}((*deadcode*)) end // end of [_] ) (* end of [PMLlab] *) // | PMLind (ind) => let val-HSEtyarr (hse_elt, s2es) = hse0.hisexp_node in hse_elt // end of [val] end // end of [PMLind] // end // end of [auxsel] fun auxselist ( hse0: hisexp, pmls: primlablst ) : List_vt @(hisexp, primlab) = let // vtypedef res = List_vt @(hisexp, primlab) fun loop ( hse0: hisexp, pmls: primlablst, res: res ) : res = ( case+ pmls of | list_nil ((*void*)) => res | list_cons (pml, pmls) => let val hse1 = auxsel (hse0, pml) val res = list_vt_cons ( @(hse0, pml), res ) in loop (hse1, pmls, res) end // end of [list_cons] ) (* end of [loop] *) // in loop (hse0, pmls, list_vt_nil ()) end // end of [auxselist] fun auxmain ( out: FILEref , knd: int , pmv: primval , hse_rt: hisexp , xys: List_vt @(hisexp, primlab) , i: int ) : void = let (* val () = fprintln! (stdout_ref, "auxmain: hse_rt = ", hse_rt) *) in // case+ xys of | ~list_vt_cons (xy, xys) => let // val hse = xy.0 val pml = xy.1 // (* val () = fprintln! (stdout_ref, "auxmain: pmv = ", pmv) val () = fprintln! (stdout_ref, "auxmain: hse = ", hse) val () = fprintln! (stdout_ref, "auxmain: pml = ", pml) *) // var hse2: hisexp = hse var pmv2: primval = pmv val () = ( case+ hse.hisexp_node of | HSEtyarr (hse_elt, _) => { val () = hse2 := hse_elt val istop = list_vt_is_nil (xys) val () = if istop then ( pmv2 := primval_ptrof (pmv.primval_loc, hisexp_typtr, pmv) ) // end of if // end of [val] } // end of [HSEtyarr] | _(*HSEtyrec*) => () // end of [_] ) : void // end of [val] // var issin: bool = false val boxknd = hisexp_get_boxknd (hse) val () = ( if boxknd <= 0 then let val () = issin := hisexp_is_tyrecsin (hse) // end of [val] in if issin then emit_text (out, "ATSSELrecsin(") else ( if boxknd >= 0 // HX: it is a rec then emit_text (out, "ATSSELfltrec(") else emit_text (out, "ATSSELarrptrind(") // end of [if] ) (* end of [else] *) // end of [if] end else emit_text (out, "ATSSELboxrec(") // end of [if] ) : void // end of [val] // val () = auxmain (out, knd, pmv2, hse_rt, xys, i+1) // val () = emit_text (out, ", ") val () = emit_hisexp_sel (out, hse2) val () = emit_text (out, ", ") val extknd = hisexp_get_extknd (hse) val () = emit_primlab (out, extknd, pml) val ((*closing*)) = emit_RPAREN (out) in // nothing end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => let in case+ knd of | 0 => emit_primval (out, pmv) | _ => emit_primval_deref (out, pmv, hse_rt) end // end of [list_vt_nil] // end // end of [auxmain] (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement emit_primval_select (out, pmv0) = let // val-PMVselect (pmv, hse_rt, pml) = pmv0.primval_node // val xys = list_vt_sing @(hse_rt, pml) // in auxmain (out, 0(*non*), pmv, hse_rt, xys, 0) end // end of [emit_primval_select] (* ****** ****** *) implement emit_primval_select2 (out, pmv0) = let // val-PMVselect2 (pmv, hse_rt, pmls) = pmv0.primval_node // val () = let val xys = auxselist (hse_rt, pmls) in auxmain (out, 0(*non*), pmv, hse_rt, xys, 0) end // end of [let] // end of [val] // in // nothing end // end of [emit_primval_select2] (* ****** ****** *) implement emit_primval_selptr (out, pmv0) = let // val-PMVselptr (pmv, hse_rt, pmls) = pmv0.primval_node // val () = let val xys = auxselist (hse_rt, pmls) in auxmain (out, 1(*ptr*), pmv, hse_rt, xys, 0) end // end of [val] // in // nothing end // end of [emit_primval_selptr] (* ****** ****** *) implement emit_primval_ptrofsel (out, pmv0) = let // val-PMVptrofsel (pmv, hse_rt, pmls) = pmv0.primval_node // val () = emit_text (out, "ATSPMVptrof(") // val () = let val xys = auxselist (hse_rt, pmls) in auxmain (out, 1(*ptr*), pmv, hse_rt, xys, 0) end // end of [val] // val ((*closing*)) = emit_RPAREN (out) // in // nothing end // end of [emit_primval_ptrofsel] (* ****** ****** *) implement emit_instr_store_ptrofs (out, ins) = let // val-INSstore_ptrofs (pmv_l, hse_rt, pmls, pmv_r) = ins.instr_node // val () = emit_text (out, "ATSINSstore(") // val () = let val xys = auxselist (hse_rt, pmls) in auxmain (out, 1(*ptr*), pmv_l, hse_rt, xys, 0) end // end of [val] // val () = emit_text (out, ", ") val () = emit_primval (out, pmv_r) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_instr_store_ptrofs] (* ****** ****** *) implement emit_instr_xstore_ptrofs (out, ins) = let // val-INSxstore_ptrofs (tmp, pmv_l, hse_rt, pmls, pmv_r) = ins.instr_node // val xys = auxselist (hse_rt, pmls) val () = emit_text (out, "ATSINSxstore(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = auxmain (out, 1(*non*), pmv_l, hse_rt, xys, 0) val () = emit_text (out, ", ") val () = emit_primval (out, pmv_r) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_instr_xstore_ptrofs] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement emit_instr_raise (out, ins) = let // val-INSraise (tmp, pmv_exn) = ins.instr_node // val () = emit_text (out, "ATSINSraise_exn(") // val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_primval (out, pmv_exn) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_instr_raise] (* ****** ****** *) implement emit_instr_move_delay (out, ins) = let // val-INSmove_delay (tmp, lin, hse, thunk) = ins.instr_node // val () = if (lin = 0) then emit_text (out, "ATSINSmove_delay(") // val () = if (lin > 0) then emit_text (out, "ATSINSmove_ldelay(") // val hse = ( if hisexp_is_void(hse) then hisexp_int_t0ype() else hse ) : hisexp // end of [val] // val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ", ") val () = emit_primval (out, thunk) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_instr_move_delay] (* ****** ****** *) implement emit_instr_move_lazyeval (out, ins) = let // val-INSmove_lazyeval (tmp, lin, hse, pmv_lazy) = ins.instr_node // val ( ) = if (lin = 0) then emit_text (out, "ATSINSmove_lazyeval(") val ( ) = if (lin > 0) then emit_text (out, "ATSINSmove_llazyeval(") // val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ", ") val () = emit_primval (out, pmv_lazy) val () = emit_text (out, ") ;") // in // nothing end // end of [emit_instr_move_lazyeval] (* ****** ****** *) (* end of [pats_ccomp_emit.dats] *) ATS2-Postiats-0.2.6/./src/pats_taggen.dats0000664000175000017500000002730712655455557016707 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2013 // (* ****** ****** *) // staload _(*anon*) = "prelude/DATS/list.dats" staload _(*anon*) = "prelude/DATS/list_vt.dats" // (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_location.sats" (* ****** ****** *) staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_taggen.sats" (* ****** ****** *) fun tagentlst_add ( res: &tagentlst_vt, ent: tagent ) : void = let in res := list_vt_cons{tagent}(ent, res) end // end of [tagentlst_add] (* ****** ****** *) typedef tagent = '{ tagent_sym= symbol , tagent_loc= location } // end of [tagent] (* ****** ****** *) // fun TAGENT ( sym: symbol, loc: location ) : tagent = '{ tagent_sym= sym, tagent_loc= loc } (* end of [TAGENT] *) // (* ****** ****** *) assume tagent_type = tagent (* ****** ****** *) typedef taggen_ftype (a: type) = (a, &tagentlst_vt) -> void // end of [depgen_type] (* ****** ****** *) extern fun taggen_d0ecl : taggen_ftype (d0ecl) extern fun taggen_d0eclist : taggen_ftype (d0eclist) (* ****** ****** *) extern fun taggen_guad0ecl : taggen_ftype (guad0ecl) (* ****** ****** *) // extern fun taggen_s0expdeflst : taggen_ftype (s0expdeflst) // extern fun taggen_e0xndeclst : taggen_ftype (e0xndeclst) extern fun taggen_d0atdeclst : taggen_ftype (d0atdeclst) // extern fun taggen_d0cstdeclst : taggen_ftype (d0cstdeclst) // extern fun taggen_m0acdeflst : taggen_ftype (m0acdeflst) // extern fun taggen_f0undeclst : taggen_ftype (f0undeclst) extern fun taggen_v0aldeclst : taggen_ftype (v0aldeclst) extern fun taggen_v0ardeclst : taggen_ftype (v0ardeclst) // (* ****** ****** *) fun tagentlst_add_symloc ( res: &tagentlst_vt , sym: symbol, loc: location ) : void = tagentlst_add (res, TAGENT (sym, loc)) // end of [tagentlst_add_symloc] (* ****** ****** *) fun tagentlst_add_i0de ( res: &tagentlst_vt, id: i0de ) : void = ( tagentlst_add_symloc (res, id.i0de_sym, id.i0de_loc) ) (* end of [tagentlst_add_i0de] *) (* ****** ****** *) fun tagentlst_add_i0delst ( res: &tagentlst_vt, ids: i0delst ) : void = ( case+ ids of | list_cons (id, ids) => let val () = tagentlst_add_i0de (res, id) // end of [val] in tagentlst_add_i0delst (res, ids) end // end of [list_cons] | list_nil ((*void*)) => () ) (* end of [tagentlst_add_i0delst] *) (* ****** ****** *) fun tagentlst_add_p0at ( res: &tagentlst_vt, p0t0: p0at ) : void = let // val loc0 = p0t0.p0at_loc // in // case+ p0t0.p0at_node of // | P0Tide (sym) => tagentlst_add_symloc (res, sym, loc0) | P0Tdqid (d0q, sym) => tagentlst_add_symloc (res, sym, loc0) | P0Topid (sym) => tagentlst_add_symloc (res, sym, loc0) // | P0Tann (p0t, _) => tagentlst_add_p0at (res, p0t) // | _ => ((*void*)) // HX-2013-11-17: ignored // end // end of [tagentlst_add_symloc] (* ****** ****** *) implement taggen_d0ecl (d0c0, res) = let // val loc0 = d0c0.d0ecl_loc // in // case+ d0c0.d0ecl_node of // | D0Cfixity _ => () | D0Cnonfix _ => () // | D0Csymintr (ids) => tagentlst_add_i0delst (res, ids) | D0Csymelim (ids) => tagentlst_add_i0delst (res, ids) | D0Coverload (id, _, _) => tagentlst_add_i0de (res, id) // | D0Ce0xpdef (sym, _) => tagentlst_add_symloc (res, sym, loc0) | D0Ce0xpundef (sym) => tagentlst_add_symloc (res, sym, loc0) // | D0Ctkindef (tkd) => let val sym = tkd.t0kindef_sym val loc = tkd.t0kindef_loc_id in tagentlst_add_symloc (res, sym, loc) end // end of [D0Ctkindef] | D0Csexpdefs (_, sdfs) => taggen_s0expdeflst (sdfs, res) | D0Csaspdec (sasp) => let val qid = sasp.s0aspdec_qid in tagentlst_add_symloc (res, qid.sqi0de_sym, qid.sqi0de_loc) end // end of [D0Csaspdec] // | D0Cexndecs (d0cs) => taggen_e0xndeclst (d0cs, res) | D0Cdatdecs (_, d0cs, sdfs) => { val () = taggen_d0atdeclst (d0cs, res) val () = taggen_s0expdeflst (sdfs, res) } (* end of [D0Cdatdecs] *) // | D0Cdcstdecs (_, _, _, d0cs) => taggen_d0cstdeclst (d0cs, res) // | D0Cimpdec (_, _, impdec) => let val qid = impdec.i0mpdec_qid in tagentlst_add_symloc (res, qid.impqi0de_sym, qid.impqi0de_loc) end // end of [D0Cimpdec] // | D0Cmacdefs (_, _, mds) => taggen_m0acdeflst (mds, res) // | D0Cfundecs (_, _, fds) => taggen_f0undeclst (fds, res) | D0Cvaldecs (_, _, vds) => taggen_v0aldeclst (vds, res) | D0Cvardecs (_(*knd*), vds) => taggen_v0ardeclst (vds, res) // | D0Cinclude _ => () // | D0Cstaload (pfil, idopt, fname) => () | D0Cstaloadnm (pfil, idopt, nspace) => () // | D0Cstaloadloc (pfil, idsym, d0cs) => taggen_d0eclist (d0cs, res) // | D0Cdynload _ => () // | D0Clocal (d0cs_head, d0cs_body) => { val () = taggen_d0eclist (d0cs_head, res) val () = taggen_d0eclist (d0cs_head, res) } (* end of [D0Clocal] *) // | D0Cguadecl (knd, gd0c) => taggen_guad0ecl (gd0c, res) // | _ (*rest*) => ( tagentlst_add (res, TAGENT (symbol_empty, loc0)) ) (* end of [_] *) // end // end of [taggen_d0ecl] (* ****** ****** *) implement taggen_d0eclist (d0cs, res) = let in // case+ d0cs of | list_cons (d0c, d0cs) => let val () = taggen_d0ecl (d0c, res) // end of [val] in taggen_d0eclist (d0cs, res) end // end of [list_cons] | list_nil () => () // end // end of [taggen_d0eclist] (* ****** ****** *) local fun taggen_guad0ecl_node ( gd0cn: guad0ecl_node, res: &tagentlst_vt ) : void = let in // case+ gd0cn of // | GD0Cone (_, d0cs) => { val () = taggen_d0eclist (d0cs, res) } | GD0Ctwo (_, d0cs1, d0cs2) => { val () = taggen_d0eclist (d0cs1, res) val () = taggen_d0eclist (d0cs2, res) } | GD0Ccons (_, d0cs, knd, gd0cn) => { val () = taggen_guad0ecl_node (gd0cn, res) } // end (* end of [taggen_guad0ecl_node] *) in (* in of [local] *) implement taggen_guad0ecl (gd0c, res) = taggen_guad0ecl_node (gd0c.guad0ecl_node, res) // end of [taggen_guad0ecl] end // end of [local] (* ****** ****** *) implement taggen_s0expdeflst (sdfs, res) = let in // case+ sdfs of | list_cons (sdf, sdfs) => let val sym = sdf.s0expdef_sym val loc = sdf.s0expdef_loc_id val () = tagentlst_add_symloc (res, sym, loc) // end of [val] in taggen_s0expdeflst (sdfs, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_s0expdeflst] (* ****** ****** *) implement taggen_e0xndeclst (d0cs, res) = let in // case+ d0cs of | list_cons (d0c, d0cs) => let val sym = d0c.e0xndec_sym val loc = d0c.e0xndec_loc val () = tagentlst_add_symloc (res, sym, loc) // end of [val] in taggen_e0xndeclst (d0cs, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_e0xndeclst] (* ****** ****** *) implement taggen_d0atdeclst (d0cs, res) = let in // case+ d0cs of | list_cons (d0c, d0cs) => let val sym = d0c.d0atdec_sym val loc = d0c.d0atdec_loc val () = tagentlst_add_symloc (res, sym, loc) // end of [val] in taggen_d0atdeclst (d0cs, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_d0atdeclst] (* ****** ****** *) implement taggen_d0cstdeclst (d0cs, res) = let in // case+ d0cs of | list_cons (d0c, d0cs) => let val sym = d0c.d0cstdec_sym val loc = d0c.d0cstdec_loc val () = tagentlst_add_symloc (res, sym, loc) // end of [val] in taggen_d0cstdeclst (d0cs, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_d0cstdeclst] (* ****** ****** *) implement taggen_m0acdeflst (mds, res) = let in // case+ mds of | list_cons (md, mds) => let val sym = md.m0acdef_sym val loc = md.m0acdef_loc val () = tagentlst_add_symloc (res, sym, loc) in taggen_m0acdeflst (mds, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_m0acdeflst] (* ****** ****** *) implement taggen_f0undeclst (fds, res) = let in // case+ fds of | list_cons (fd, fds) => let val sym = fd.f0undec_sym val loc = fd.f0undec_sym_loc val () = tagentlst_add_symloc (res, sym, loc) in taggen_f0undeclst (fds, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_f0undeclst] (* ****** ****** *) implement taggen_v0aldeclst (vds, res) = let in // case+ vds of | list_cons (vd, vds) => let val p0t = vd.v0aldec_pat val () = tagentlst_add_p0at (res, p0t) in taggen_v0aldeclst (vds, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_v0aldeclst] (* ****** ****** *) implement taggen_v0ardeclst (vds, res) = let in // case+ vds of | list_cons (vd, vds) => let val sym = vd.v0ardec_sym val loc = vd.v0ardec_sym_loc val () = tagentlst_add_symloc (res, sym, loc) in taggen_v0ardeclst (vds, res) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [taggen_v0ardeclst] (* ****** ****** *) implement taggen_proc (d0cs) = let // var res: tagentlst_vt = list_vt_nil() // val ((*void*)) = taggen_d0eclist (d0cs, res) // in list_vt_reverse (res) end // end of [taggen_proc] (* ****** ****** *) implement fprint_entlst (out, given, xs) = let // fun fprint_name ( out: FILEref, sym: symbol ) : void = { val () = fprint_char (out, '"') val () = fprint_symbol (out, sym) val () = fprint_char (out, '"') } // fun fprint_ent ( out: FILEref, ent: tagent ) : void = let // val loc = ent.tagent_loc // val () = fprint_string (out, "{\n") // val () = fprint (out, "\"name\": ") val () = fprint_name (out, ent.tagent_sym) val () = fprint (out, ", \"nline\": ") val () = fprint_int (out, location_beg_nrow(loc)+1) val () = fprint (out, ", \"nchar\": ") val () = fprint_lint (out, location_beg_ntot(loc)+1L) // val () = fprint_string (out, "\n}\n") // in end // end of [fprint_ent] // fun auxlst ( out: FILEref , i: int, xs: tagentlst_vt ) : void = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = if i > 0 then fprint_string (out, ",\n") // end of [if] val () = fprint_ent (out, x) in auxlst (out, i+1, xs) end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => () // end // end of [auxlst] // val () = fprint_string (out, "{\n") val () = fprint_string (out, "\"tagfile\": ") val () = fprint_string (out, "\"") val () = fprint_string (out, given) val () = fprint_string (out, "\"") val () = fprint_string (out, ",\n") val () = fprint_string (out, "\"tagentarr\": [\n") val () = auxlst (out, 0(*i*), xs) val () = fprint_string (out, "]\n") val () = fprint_string (out, "}\n") // in // nothing end // end of [fprint_entlst] (* ****** ****** *) (* end of [pats_taggen.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp1_print.dats0000664000175000017500000006552712655455557020254 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload SYM = "./pats_symbol.sats" staload FIL = "./pats_filename.sats" (* ****** ****** *) staload SYN = "./pats_syntax.sats" macdef fprint_i0de = $SYN.fprint_i0de (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) implement fprint_p1at (out, p1t0) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ p1t0.p1at_node of // | P1Tany () => prstr "P1Tany()" | P1Tany2 () => prstr "P1Tany2()" // | P1Tide (id) => { val () = prstr "P1Tide(" val () = $SYM.fprint_symbol (out, id) val () = prstr ")" } | P1Tdqid (q, id) => { val () = prstr "P1Tdqid(" val () = $SYN.fprint_d0ynq (out, q) val () = $SYM.fprint_symbol (out, id) val () = prstr ")" } // | P1Tint (int) => { val () = prstr "P1Tint(" val () = fprint_int (out, int) val () = prstr ")" } | P1Tintrep (rep) => { val () = prstr "P1Tintrep(" val () = fprint_string (out, rep) val () = prstr ")" } | P1Tchar (x) => { val () = prstr "P1Tchar(" val () = fprint_char (out, x) val () = prstr ")" } | P1Tfloat (x) => { val () = prstr "P1Tfloat(" val () = fprint_string (out, x) val () = prstr ")" } | P1Tstring (x) => { val () = prstr "P1Tint(" val () = fprint_string (out, x) val () = prstr ")" } // | P1Ti0nt (x) => { val () = prstr "P1Ti0nt(" val () = $SYN.fprint_i0nt (out, x) val () = prstr ")" } | P1Tf0loat (x) => { val () = prstr "P1Tf0loat(" val () = $SYN.fprint_f0loat (out, x) val () = prstr ")" } // | P1Tempty () => prstr "P1Tempty()" // | P1Tapp_sta (p1t, s1vs) => { val () = prstr "P1Tapp_sta(" val () = $UT.fprintlst (out, s1vs, ", ", fprint_s1vararg) val () = prstr ")" } | P1Tapp_dyn ( p1t, locarg, npf, p1ts ) => { val () = prstr "P1Tapp_dyn(" val () = fprint_p1at (out, p1t) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p1atlst (out, p1ts) val () = prstr ")" } // | P1Tlist (npf, p1ts) => { val () = prstr "P1Tlist(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p1atlst (out, p1ts) val () = prstr ")" } // | P1Ttup (knd, npf, p1ts) => { val () = prstr "P1Ttup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p1atlst (out, p1ts) val () = prstr ")" } | P1Trec (knd, npf, lp1ts) => { val () = prstr "P1Ttup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, lp1ts, ", ", fprint_labp1at) val () = prstr ")" } | P1Tlst (lin, p1ts) => { val () = prstr "P1Tlst(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_p1atlst (out, p1ts) val () = prstr ")" } // | P1Tfree (p1t) => { val () = prstr "P1Tfree(" val () = fprint_p1at (out, p1t) val () = prstr ")" } | P1Tunfold (p1t) => { val () = prstr "P1Tunfold(" val () = fprint_p1at (out, p1t) val () = prstr ")" } // | P1Trefas (sym, loc_id, p1t) => { val () = prstr "P1Trefas(" val () = $SYM.fprint_symbol (out, sym) val () = prstr "; " val () = fprint_p1at (out, p1t) val () = prstr ")" } // | P1Texist (s1as, p1t) => { val () = prstr "P1Texist(" val () = fprint_s1arglst (out, s1as) val () = prstr "; " val () = fprint_p1at (out, p1t) val () = prstr ")" } | P1Tsvararg (s1v) => { val () = prstr "P1Tsvararg(" val () = fprint_s1vararg (out, s1v) val () = prstr ")" } // | P1Tann (p1t, s1e) => { val () = prstr "P1Tann(" val () = fprint_p1at (out, p1t) val () = fprint_string (out, " : ") val () = fprint_s1exp (out, s1e) val () = prstr ")" } // | P1Terrpat ((*void*)) => prstr "P1Terrpat()" // (* | _ => prstr "P1T...(...)" *) // end // end of [fprint_p1at] implement print_p1at (p1t) = fprint_p1at (stdout_ref, p1t) implement prerr_p1at (p1t) = fprint_p1at (stderr_ref, p1t) (* ****** ****** *) implement fprint_p1atlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_p1at) // end of [fprint_p1atlst] implement fprint_labp1at (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ x.labp1at_node of | LABP1ATnorm (lab, p1t) => { val () = prstr "LABP1ATnorm(" val () = $SYN.fprint_l0ab (out, lab) val () = fprint_p1at (out, p1t) val () = prstr ")" } (* end of [LABP1ATnorm] *) | LABP1ATomit () => prstr "LABP1ATomit()" // end // end of [fprint_labp1at] (* ****** ****** *) implement fprint_d1exp (out, d1e0) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ d1e0.d1exp_node of // | D1Eide (id) => { val () = prstr "D1Eide(" val () = $SYM.fprint_symbol (out, id) val () = prstr ")" } | D1Edqid (dq, id) => { val () = prstr "D1Edqid(" val () = $SYN.fprint_d0ynq (out, dq) val () = $SYM.fprint_symbol (out, id) val () = prstr ")" } // | D1Eidextapp (id, d1es) => { val () = prstr "D1Eidextapp(" val () = $SYM.fprint_symbol (out, id) val () = prstr "; " val () = fprint_d1explst (out, d1es) val () = prstr ")" } // | D1Eint (x) => { val () = prstr "D1Eint(" val () = fprint_int (out, x) val () = prstr ")" } | D1Eintrep (x) => { val () = prstr "D1Eintrep(" val () = fprint_string (out, x) val () = prstr ")" } | D1Ebool (x) => { val () = prstr "D1Ebool(" val () = fprint_bool (out, x) val () = prstr ")" } | D1Echar (x) => { val () = prstr "D1Echar(" val () = fprint_char (out, x) val () = prstr ")" } | D1Efloat (x) => { val () = prstr "D1Efloat(" val () = fprint_string (out, x) val () = prstr ")" } | D1Estring (x) => { val () = prstr "D1Estring(" val () = fprint_string (out, x) val () = prstr ")" } // | D1Ei0nt (x) => { val () = prstr "D1Ei0nt(" val () = $SYN.fprint_i0nt (out, x) val () = prstr ")" } | D1Ec0har (x) => { val () = prstr "D1Ec0har(" val () = $SYN.fprint_c0har (out, x) val () = prstr ")" } | D1Ef0loat (x) => { val () = prstr "D1Ef0loat(" val () = $SYN.fprint_f0loat (out, x) val () = prstr ")" } | D1Es0tring (x) => { val () = prstr "D1Es0tring(" val () = $SYN.fprint_s0tring (out, x) val () = prstr ")" } // | D1Ecstsp (x) => { val () = prstr "D1Ecstsp(" val () = $SYN.fprint_cstsp (out, x) val () = prstr ")" } // | D1Eliteral (d1e_lit) => { val () = prstr "D1Eliteral(" val () = fprint_d1exp (out, d1e_lit) val () = prstr ")" } // | D1Etop () => prstr "D1Etop()" | D1Eempty () => prstr "D1Eempty()" // | D1Eextval (s1e, name) => { val () = prstr "D1Eextval(" val () = fprint_s1exp (out, s1e) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, name) val () = prstr "\"" val ((*closing*)) = prstr ")" } // end of [D1Eextval] | D1Eextfcall (s1e, _fun, _arg) => { val () = prstr "D1Eextfcall(" val () = fprint_s1exp (out, s1e) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, _fun) val () = prstr "\"" val () = prstr "; " val () = fprint_d1explst (out, _arg) val ((*closing*)) = prstr ")" } (* end of [D1Eextfcall] *) | D1Eextmcall (s1e, _obj, _mtd, _arg) => { val () = prstr "D1Eextmcall(" val () = fprint_s1exp (out, s1e) val () = prstr "; " val () = fprint_d1exp (out, _obj) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, _mtd) val () = prstr "\"" val () = prstr "; " val () = fprint_d1explst (out, _arg) val ((*closing*)) = prstr ")" } (* end of [D1Eextmcall] *) // | D1Eloopexn (knd) => { val () = fprintf (out, "D1Eloopexn(%i)", @(knd)) } // end of [D1Eloopexn] // | D1Efoldat _ => { val () = fprintf (out, "D1Efoldat(...)", @()) } | D1Efreeat _ => { val () = fprintf (out, "D1Efreeat(...)", @()) } // | D1Etmpid (qid, arg) => { val () = prstr "D1Etmpid(" val () = $SYN.fprint_dqi0de (out, qid) val () = prstr "; " val () = prstr "..." val () = prstr ")" } // | D1Elet _ => { val () = prstr "D1Elet(" val () = prstr "..." val () = prstr ")" } | D1Ewhere _ => { val () = prstr "D1Ewhere(" val () = prstr "..." val () = prstr ")" } | D1Edecseq _ => { val () = prstr "D1Edecseq(" val () = prstr "..." val () = prstr ")" } // | D1Eapp_dyn ( _fun, _locarg, npf, _arg ) => { val () = prstr "D1Eapp_dyn(" val () = fprint_d1exp (out, _fun) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d1explst (out, _arg) val () = prstr ")" } | D1Eapp_sta ( d1e, s1as ) => { val () = prstr "D1Eapp_sta(" val () = fprint_d1exp (out, d1e) val () = prstr "; " val () = fprint_s1exparglst (out, s1as) val () = prstr ")" } // | D1Esing (d1e) => { val () = prstr "D1Esing(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } | D1Elist (npf, d1es) => { val () = prstr "D1Elist(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d1explst (out, d1es) val () = prstr ")" } // | D1Eifhead ( inv, _cond, _then, _else ) => { val () = prstr "D1Eifhead(" val () = fprint_d1exp (out, _cond) val () = prstr "; " val () = fprint_d1exp (out, _then) val () = prstr "; " val () = fprint_d1expopt (out, _else) val () = prstr ")" } | D1Esifhead ( inv, _cond, _then, _else ) => { val () = prstr "D1Esifhead(" val () = fprint_s1exp (out, _cond) val () = prstr "; " val () = fprint_d1exp (out, _then) val () = prstr "; " val () = fprint_d1exp (out, _else) val () = prstr ")" } | D1Ecasehead _ => { val () = prstr "D1Ecasehead(" val () = prstr "..." val () = prstr ")" } | D1Escasehead _ => { val () = prstr "D1Escasehead(" val () = prstr "..." val () = prstr ")" } // | D1Elst (lin, opt, d1es) => { val () = prstr "D1Etup(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_s1expopt (out, opt) val () = prstr "; " val () = fprint_d1explst (out, d1es) val () = prstr ")" } // | D1Etup (knd, npf, d1es) => { val () = prstr "D1Etup(knd=" val () = fprint_int (out, knd) val () = prstr "; npf=" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d1explst (out, d1es) val () = prstr ")" } // end of [D1Etup] | D1Erec (knd, npf, ld1es) => { val () = prstr "D1Erec(knd=" val () = fprint_int (out, knd) val () = prstr "; npf=" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_labd1explst (out, ld1es) val () = prstr ")" } // end of [D1Erec] | D1Eseq (d1es) => { val () = prstr "D1Eseq(" val () = fprint_d1explst (out, d1es) val () = prstr ")" } // end of [D1Eseq] // | D1Earrsub _ => { val () = prstr "D1Earrsub(" val () = fprint_string (out, "...") val () = prstr ")" } | D1Earrpsz _ => { val () = prstr "D1Earrpsz(" val () = fprint_string (out, "...") val () = prstr ")" } | D1Earrinit _ => { val () = prstr "D1Earrinit(" val () = fprint_string (out, "...") val () = prstr ")" } // | D1Eselab (knd, d1e, d1l) => { val () = prstr "D1Eselab(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_d1exp (out, d1e) val () = prstr "; " val () = fprint_d1lab (out, d1l) val () = prstr ")" } // | D1Eptrof (d1e) => { val () = prstr "D1Eptrof(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } | D1Eviewat (d1e) => { val () = prstr "D1Eviewat(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } // | D1Eraise (d1e) => { val () = prstr "D1Eraise(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } | D1Eeffmask _ => { val () = prstr "D1Eeffmask(" val () = fprint_string (out, "...") val () = prstr ")" } // | D1Eshowtype (d1e) => { val () = prstr "D1Eshowtype(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } // | D1Evcopyenv (knd, d1e) => { val () = prstr "D1Evcopyenv(" val () = fprint_int (out, knd) val () = prstr ", " val () = fprint_d1exp (out, d1e) val () = prstr ")" } // | D1Etempenver (d1e) => { val () = prstr "D1Etempenver(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } // | D1Esexparg (s1a) => { val () = prstr "D1Esexparg(" val () = fprint_s1exparg (out, s1a) val () = prstr ")" } // | D1Eexist (s1a, d1e) => { val () = prstr "D1Eexist(" val () = fprint_s1exparg (out, s1a) val () = prstr "; " val () = fprint_d1exp (out, d1e) val () = prstr ")" } // | D1Elam_dyn _ => { val () = prstr "D1Elam_dyn(" val () = prstr "..." val () = prstr ")" } | D1Elaminit_dyn _ => { val () = prstr "D1Elaminit_dyn(" val () = prstr "..." val () = prstr ")" } | D1Elam_sta_ana _ => { val () = prstr "D1Elam_sta_ana(" val () = prstr "..." val () = prstr ")" } | D1Elam_sta_syn _ => { val () = prstr "D1Elam_sta_syn(" val () = prstr "..." val () = prstr ")" } | D1Elam_met _ => { val () = prstr "D1Elam_met(" val () = prstr "..." val () = prstr ")" } // | D1Efix _ => { val () = prstr "D1Efix(" val () = prstr "..." val () = prstr ")" } // | D1Edelay _ => { val () = prstr "D1Edelay(" val () = fprint_string (out, "...") val () = prstr ")" } // | D1Efor _ => { val () = prstr "D1Efor(" val () = prstr "..." val () = prstr ")" } | D1Ewhile _ => { val () = prstr "D1Ewhile(" val () = prstr "..." val () = prstr ")" } // | D1Etrywith _ => { val () = prstr "D1Etrywith(" val () = prstr "..." val () = prstr ")" } // | D1Eann_type(d1e, s1e) => { val () = prstr "D1Eann_type(" val () = fprint_d1exp (out, d1e) val () = prstr " : " val () = fprint_s1exp (out, s1e) val () = prstr ")" } | D1Eann_effc(d1e, efc) => { val () = prstr "D1Eann_effc(" val () = fprint_d1exp (out, d1e) val () = prstr " : " val () = fprint_effcst (out, efc) val () = prstr ")" } | D1Eann_funclo(d1e, fc) => { val () = prstr "D1Eann_funclo(" val () = fprint_d1exp (out, d1e) val () = prstr " : " val () = fprint_funclo (out, fc) val () = prstr ")" } // | D1Emacsyn(knd, d1e) => { val () = prstr "D1Emacsyn(" val () = $SYN.fprint_macsynkind (out, knd) val () = prstr "; " val () = fprint_d1exp (out, d1e) val () = prstr ")" } | D1Emacfun(name, d1es) => { val () = prstr "D1Emacfun(" val () = $SYM.fprint_symbol (out, name) val () = prstr "; " val () = fprint_d1explst (out, d1es) val () = prstr ")" } // | D1Esolassert(d1e) => { val () = prstr "D1Esolassert(" val () = fprint_d1exp (out, d1e) val () = prstr ")" } | D1Esolverify(s1e) => { val () = prstr "D1Esolverify(" val () = fprint_s1exp (out, s1e) val () = prstr ")" } // | D1Eerrexp ((*void*)) => prstr "D1Eerrexp()" // (* | _ => prstr "D1E...(...)" *) // end // end of [fprint_d1exp] implement print_d1exp (x) = fprint_d1exp (stdout_ref, x) implement prerr_d1exp (x) = fprint_d1exp (stderr_ref, x) (* ****** ****** *) implement fprint_d1explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d1exp) // end of [fprint_d1explst] (* ****** ****** *) implement fprint_d1expopt (out, opt) = $UT.fprintopt (out, opt, fprint_d1exp) // end of [fprint_d1expopt] (* ****** ****** *) implement fprint_labd1exp (out, x) = { val $SYN.DL0ABELED (l, d1e) = x val () = $SYN.fprint_l0ab (out, l) val () = fprint_string (out, "=") val () = fprint_d1exp (out, d1e) } // end of [fprint_labd1exp] implement fprint_labd1explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labd1exp) // end of [fprint_labs1explst] (* ****** ****** *) implement fprint_d1lab (out, d1l) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ d1l.d1lab_node of | D1LABlab (lab) => { val () = prstr "D1LABlab(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } // end of [D1LABlab] | D1LABind (ind) => { val () = prstr "D1LABind(" val () = $UT.fprintlst (out, ind, ", ", fprint_d1exp) val () = prstr ")" } // end of [D1LABind] // end // end of [fprint_d1lab] (* ****** ****** *) extern fun fprint_m1acdef : fprint_type (m1acdef) implement fprint_m1acdef (out, m1d) = { val sym = m1d.m1acdef_sym val () = $SYM.fprint_symbol (out, sym) val () = fprint_string (out, "(...) = ") val () = fprint_d1exp (out, m1d.m1acdef_def) } (* end of [fprint_m1acdef] *) (* ****** ****** *) extern fun fprint_v1aldec : fprint_type (v1aldec) implement fprint_v1aldec (out, x) = { val () = fprint_p1at (out, x.v1aldec_pat) val () = fprint_string (out, " = ") val () = fprint_d1exp (out, x.v1aldec_def) } (* ****** ****** *) extern fun fprint_v1ardec : fprint_type (v1ardec) implement fprint_v1ardec (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // val () = fprint_int (out, x.v1ardec_knd) val () = prstr "; " val () = $SYM.fprint_symbol (out, x.v1ardec_sym) // val ( ) = ( case+ x.v1ardec_type of | None () => () | Some s1e => (prstr ": "; fprint_s1exp (out, s1e)) ) (* end of [val] *) val ( ) = ( case+ x.v1ardec_pfat of | None () => () | Some id => ( prstr " with "; $SYN.fprint_i0de (out, id) ) (* end of [Some] *) ) (* end of [val] *) val ( ) = ( case+ x.v1ardec_init of | None () => () | Some d1e => (prstr " = "; fprint_d1exp (out, d1e)) ) (* end of [val] *) // in // nothing end // end of [fprint_v1ardec] (* ****** ****** *) implement fprint_d1ecl (out, d1c0) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ d1c0.d1ecl_node of // | D1Cnone () => prstr "D1Cnone()" // | D1Clist (ds) => { val () = prstr "D1Clist(\n" val () = fprint_d1eclist (out, ds) val () = prstr "\n)" } // end of [D1Clist] // | D1Cpackname (opt) => { val () = prstr "D1Cpackname(" val () = $UT.fprint_stropt (out, opt) val () = prstr ")" } // end of [D1Cpackname] // | D1Csymintr (ids) => { val () = prstr "D1Csymintr(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } | D1Csymelim (ids) => { val () = prstr "D1Csymelim(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } | D1Coverload (id, dqid, pval) => { val () = prstr "D1Coverload(" val () = fprint_i0de (out, id) val () = prstr "; " val () = $SYN.fprint_dqi0de (out, dqid) val () = prstr "; " val () = fprint_int (out, pval) val () = prstr ")" } // end of [D1Coverload] // | D1Ce1xpdef (id, def) => { val () = prstr "D1Ce1xpdef(" val () = $SYM.fprint_symbol (out, id) val () = prstr " = " val () = fprint_e1xp (out, def) val () = prstr ")" } | D1Ce1xpundef (id, _(*def*)) => { val () = prstr "D1Ce1xpundef(" val () = $SYM.fprint_symbol (out, id) val () = prstr ")" } // | D1Cpragma(xs) => { val () = prstr "D1Cpragma(" val () = $UT.fprintlst (out, xs, ", ", fprint_e1xp) val () = prstr (")") } | D1Ccodegen (knd, xs) => { val () = prstr "D1Ccodegen(" val () = fprint_int (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_e1xp) val () = prstr (")") } (* end of [D1Ccodegen] *) // | D1Cdatsrts (xs) => { val () = prstr "D1Cdatsrts(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_d1atsrtdec) val () = prstr "\n)" } | D1Csrtdefs (xs) => { val () = prstr "D1Csrtdefs(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s1rtdef) val () = prstr "\n)" } // | D1Cstacsts (xs) => { val () = prstr "D1Cstacsts(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s1tacst) val () = prstr "\n)" } | D1Cstacons (knd, xs) => { val () = prstr "D1Cstacons(" val () = fprint_int (out, knd) val () = prstr "\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s1tacon) val () = prstr "\n)" } // (* | D1Cstavars (xs) => { val () = prstr "D1Cstavars(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s1tavar) val () = prstr "\n)" } *) // | D1Csexpdefs (knd, xs) => { val () = prstr "D1Csexpdefs(" val () = fprint_int (out, knd) val () = prstr "\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s1expdef) val () = prstr "\n)" } | D1Csaspdec (x) => { val () = prstr "D1Csaspdec(" val () = fprint_s1aspdec (out, x) val () = prstr ")" } // | D1Cdatdecs (knd, xs1, xs2) => { val () = prstr "D1Cdatdecs(" val () = fprint_int (out, knd) val () = prstr "\n" val () = prstr "..." val () = prstr "\n)" } | D1Cexndecs (xs) => { val () = prstr "D1Cexndecs(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_e1xndec) val () = prstr "\n)" } // | D1Cclassdec (id, sup) => { val () = prstr "D1Cclassdec(" val () = fprint_i0de (out, id) val () = (case+ sup of | Some s1e => let val () = prstr " : " in fprint_s1exp (out, s1e) end // end of [Some] | None () => () ) : void // end of [val] val () = prstr ")" } // | D1Cdcstdecs ( knd, dck, qarg, xs ) => { val () = prstr "D1Cdcstdecs(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_dcstkind (out, dck) val () = prstr "\n" val () = $UT.fprintlst (out, xs, "\n", fprint_d1cstdec) val () = prstr "\n)" } // | D1Cextype (name, def) => { val () = prstr "D1Cextype(" val () = ( fprint_string (out, name); prstr " = "; fprint_s1exp (out, def) ) (* end of [val] *) val () = prstr ")" } | D1Cextype ( knd, name, def ) => { val () = prstr "D1Cextype(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_string (out, name) val () = prstr " = " val () = fprint_s1exp (out, def) val () = prstr ")" } // | D1Cextvar (name, def) => { val () = prstr "D1Cextvalr" val () = fprint_string (out, name) val () = prstr " = " val () = fprint_d1exp (out, def) val ((*closing*)) = prstr ")" } // | D1Cextcode ( knd, pos, code ) => { val () = prstr "D1Cextcode(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, pos) val () = prstr "\n" val () = prstr "..." val () = prstr "\n)" } // | D1Cmacdefs ( knd, isrec, ds ) => { val () = prstr "D1macdef(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_bool (out, isrec) val () = prstr "\n" val () = $UT.fprintlst (out, ds, "\n", fprint_m1acdef) val () = prstr "\n)" } // | D1Cimpdec ( knd, imparg, d ) => { val qid = d.i1mpdec_qid val () = prstr "D1Cimpdec[" val () = fprint_int (out, knd) val () = prstr "]" val () = fprint_i1mparg (out, imparg) val () = prstr "(\n" // val q = qid.impqi0de_qua and id = qid.impqi0de_sym val () = $SYN.fprint_d0ynq (out, q) val () = $SYM.fprint_symbol (out, id) // val () = prstr "; " val () = fprint_d1exp (out, d.i1mpdec_def) val () = prstr "\n)" } // | D1Cfundecs (knd, q1mas, ds) => { val () = prstr "D1Cfundecs(" val () = fprint_funkind (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, q1mas, "; ", fprint_q1marg) val () = prstr "\n" val () = prstr "..." val () = prstr "\n)" } | D1Cvaldecs (knd, isrec, ds) => { val () = prstr "D1Cvaldecs(" val () = fprint_valkind (out, knd) val () = prstr "; " val () = fprint_bool (out, isrec) val () = prstr "\n" val () = $UT.fprintlst (out, ds, "\n", fprint_v1aldec) val () = prstr "\n)" } | D1Cvardecs (knd, ds) => { val () = prstr "D1Cvardecs(" val () = fprint_int (out, knd) val () = prstr "\n" val () = $UT.fprintlst (out, ds, "\n", fprint_v1ardec) val () = prstr "\n)" } // | D1Cinclude (knd, ds) => { val () = prstr "D1Cinclude(" val () = fprint_int (out, knd) val () = prstr "\n" val () = $UT.fprintlst (out, ds, "\n", fprint_d1ecl) val () = prstr "\n)" } // | D1Cstaload ( idopt, fname, _, _ ) => { val () = prstr "D1Cstaload(" val () = $SYM.fprint_symbolopt (out, idopt) val () = prstr "=" val () = $FIL.fprint_filename_full (out, fname) val () = prstr ")" } (* end of [D1Cstaload] *) | D1Cstaloadnm (alias, nspace) => { val () = prstr "D1Cstaloadnm(" val () = $SYM.fprint_symbolopt (out, alias) val () = prstr "=" val () = $SYM.fprint_symbol (out, nspace) val () = prstr ")" } (* end of [D1Cstaname] *) | D1Cstaloadloc (pfil, nspace, d1cs) => { val () = prstr "D1Cstaloadloc(" val () = $SYM.fprint_symbol (out, nspace) val ((*omitted*)) = prstr ", ...)" } (* end of [D1Cstaloadloc] *) // | D1Cdynload (fname) => { val () = prstr "D1Cdynload(" val () = $FIL.fprint_filename_full (out, fname) val () = prstr ")" } (* end of [D1Cdynload] *) // | D1Clocal ( ds_head, ds_body ) => { val () = prstr "D1Clocal(\n" val () = fprint_d1eclist (out, ds_head) val () = prstr "\n(*in*)\n" val () = fprint_d1eclist (out, ds_body) val () = prstr "\n)" } // | _ => prstr "D1C...(...)" // end // end of [fprint_d1ecl] implement print_d1ecl (x) = fprint_d1ecl (stdout_ref, x) implement prerr_d1ecl (x) = fprint_d1ecl (stderr_ref, x) (* ****** ****** *) implement fprint_d1eclist (out, xs) = $UT.fprintlst (out, xs, "\n", fprint_d1ecl) // end of [fprint_d1eclist] (* ****** ****** *) (* end of [pats_dynexp1_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_assgn.dats0000664000175000017500000003637712655455557020056 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_assgn" (* ****** ****** *) staload LOC = "./pats_location.sats" stadef loc_t = $LOC.location overload + with $LOC.location_combine (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) local fun auxerr_proof ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": a non-proof component is replaced of the type" val () = prerrln! ("[", s2e_sel, "].") in the_trans3errlst_add (T3E_s2addr_assgn_deref_proof (loc0, s2e, d3ls)) end // end of [auxerr_proof] fun auxerr_linsel ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": a linear component is abandoned of the type" val () = prerrln! (": [", s2e_sel, "].") in the_trans3errlst_add (T3E_s2addr_assgn_deref_linsel (loc0, s2e, d3ls)) end // end of [auxerr_linsel] fun auxerr_context ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the type of the selected component cannot be changed" val () = prerrln! (": [", s2e_sel, "].") in the_trans3errlst_add (T3E_s2addr_assgn_deref_context (loc0, s2e, d3ls)) end // end of [auxerr_context] in (* in of [local] *) extern fun d2var_assgn_lin0 ( loc0: loc_t, d2v: d2var, s2e_new: s2exp ) : void // end of [d2var_assgn_lin0] extern fun d2var_assgn_lin1 ( loc0: loc_t, d2v: d2var, d3ls: d3lablst, s2e_new: s2exp ) : void // end of [d2var_assgn_lin1] extern fun d2var_assgn_lin01 ( loc0: loc_t, d2v: d2var, d3ls: d3lablst, s2e_new: s2exp ) : void // end of [d2var_assgn_lin01] implement d2var_assgn_lin0 (loc0, d2v, s2e_new) = let val opt = d2var_get_type (d2v) in // case+ opt of // | None () => d2var_set_type(d2v, Some(s2e_new)) // end of [None] // | Some (s2e) => let val islin = s2exp_is_lin(s2e) val d3ls = list_nil and s2e_sel = s2e val () = if islin then auxerr_linsel(loc0, s2e, d3ls, s2e_sel) // end of [if] in d2var_set_type(d2v, Some(s2e_new)) end // end of [Some] // end // end of [d2var_assgn_lin0] implement d2var_assgn_lin1 (loc0, d2v, d3ls, s2e_new) = let // val s2e = d2var_get_type_some (loc0, d2v) var ctxtopt: s2ctxtopt = None () val s2e_sel = s2exp_get_dlablst_context (loc0, s2e, d3ls, ctxtopt) // end of [val] val isprf = s2exp_is_prf (s2e_sel) val () = if ~(isprf) then auxerr_proof (loc0, s2e, d3ls, s2e_sel) val islin = s2exp_is_lin (s2e_sel) val () = if (islin) then auxerr_linsel (loc0, s2e, d3ls, s2e_sel) val isctx = ( case+ ctxtopt of Some _ => true | None _ => false ) : bool // end of [val] val () = if ~(isctx) then auxerr_context (loc0, s2e, d3ls, s2e_sel) val s2e = ( case+ ctxtopt of | Some (ctxt) => s2ctxt_hrepl (ctxt, s2e_new) | None () => s2e ) : s2exp // end of [val] val () = d2var_set_type (d2v, Some (s2e)) // in // nothing end // end of [d2var_assgn_lin1] implement d2var_assgn_lin01 ( loc0, d2v, d3ls, s2e_new ) = let val () = d2var_inc_linval(d2v) in case+ d3ls of | list_nil() => d2var_assgn_lin0(loc0, d2v, s2e_new) // end of [list_nil] | list_cons _ => d2var_assgn_lin1(loc0, d2v, d3ls, s2e_new) // end of [list_cons] end // end of [d2var_assgn_lin01] end // end of [local] (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let // val () = prerr_error3_loc (loc0) // val () = prerr (": assignment cannot be performed") val () = prerrln! ( ": proof search for the view at [", s2l, "] failed." ) (* prerrln! *) in the_trans3errlst_add(T3E_pfobj_search_none(loc0, s2l)) end // end of [auxerr_pfobj] fun auxerr_sharing ( loc0: loc_t, s2e_elt: s2exp, d3ls: d3lablst ) : void = let // val () = prerr_error3_loc (loc0) // val () = prerrln! ( ": a boxed non-linear record is selected for field-update." ) (* prerrln! *) in // the_trans3errlst_add (T3E_s2addr_assgn_deref_sharing(loc0, s2e_elt, d3ls)) // end // end of [auxerr_sharing] fun auxerr_linsel ( loc0: loc_t , s2e_elt: s2exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ( ": a linear component of the following type is abandoned: " ) (* prerr *) val () = prerrln! ("[", s2e_sel, "].") in the_trans3errlst_add (T3E_s2addr_assgn_deref_linsel(loc0, s2e_elt, d3ls)) // the_trans3errlst_add end // end of [auxerr_linsel] fun auxck_tszeq ( loc0: loc_t , s2e1: s2exp, s2e2: s2exp ) : void = let val tszeq = s2exp_tszeq (s2e1, s2e2) in // if ~tszeq then let // val () = prerr_error3_loc (loc0) // val () = prerr ": assignment cannot be performed" val () = prerr ": mismatch of bef/aft type-sizes:\n" val () = (prerr "bef: ["; prerr_s2exp (s2e1); prerr "]") val () = prerr_newline ((*void*)) val () = (prerr "aft: ["; prerr_s2exp (s2e2); prerr "]") val () = prerr_newline ((*void*)) // in the_trans3errlst_add(T3E_s2exp_assgn_tszeq(loc0, s2e1, s2e2)) end // end of [if] // end of [val] // end // end of [auxck_tszeq] fun auxmain .<>. ( loc0: loc_t , pfobj: pfobj , d3ls: d3lablst , d3e_r: d3exp , s2rt: &s2exp? >> s2exp ) : d3exp = let val+~PFOBJ ( d2vw, s2e_ctx, s2e_elt, s2l ) = pfobj // (* val () = println! ("auxmain: s2e_ctx = ", s2e_ctx) val () = println! ("auxmain: s2e_elt = ", s2e_elt) *) // val () = s2rt := s2e_elt // var linrest: int = 0 and sharing: int = 0 // val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e_elt, d3ls, linrest, sharing) // s2exp_get_dlablst_linrest_sharing val ((*void*)) = if sharing > 0 then auxerr_sharing (loc0, s2e_elt, d3ls) // end of [if] // val s2e_sel = s2exp_hnfize (s2e_sel) val ((*void*)) = trans3_env_add_proplst_vt (loc0, s2ps) // val islin = s2exp_is_lin (s2e_sel) val ((*void*)) = if islin then auxerr_linsel (loc0, s2e_elt, d3ls, s2e_sel) // end of [if] // var ctxtopt: s2ctxtopt = None () val _(*s2e_sel*) = s2exp_get_dlablst_context (loc0, s2e_elt, d3ls, ctxtopt) // end of [val] in // case+ ctxtopt of // | Some(ctxt) => d3e_r where { // val () = d3exp_open_and_add (d3e_r) val s2e_sel2 = d3exp_get_type (d3e_r) // val () = auxck_tszeq (loc0, s2e_sel, s2e_sel2) // val () = d2var_inc_linval (d2vw) // val s2e_elt = s2ctxt_hrepl (ctxt, s2e_sel2) val s2e = s2exp_hrepl (s2e_ctx, s2e_elt) val () = d2var_set_type (d2vw, Some (s2e)) // } (* end of [Some] *) // | None((*void*)) => d3exp_trdn (d3e_r, s2e_sel) // HX: assignment changes no type // end // end of [auxmain] in (* in of [local] *) implement s2addr_assgn_deref ( loc0, s2l, d3ls, d3e_r, s2rt ) = let // val opt = pfobj_search_atview (s2l) // in case+ opt of | ~Some_vt (pfobj) => auxmain(loc0, pfobj, d3ls, d3e_r, s2rt) // end of [Some_vt] | ~None_vt ((*void*)) => let val () = s2rt := s2exp_t0ype_err() // end of [val] val () = auxerr_pfobj(loc0, s2l) in d3e_r end // end of [None_vt] end // end of [s2addr_assgn_deref] end // end of [local] (* ****** ****** *) local fun auxerr_nonderef (d3e: d3exp): void = let // val loc = d3e.d3exp_loc // val () = prerr_error3_loc (loc) // val () = prerrln! ( ": the dynamic expression cannot be dereferenced." ) (* prerrln! *) // in the_trans3errlst_add(T3E_d3exp_nonderef(d3e)) end // end of [auxerr_nonderef] fun auxerr_refsharing ( loc0: loc_t, d3e_l: d3exp, d3ls: d3lablst ) : void = let // val () = prerr_error3_loc (loc0) // val () = prerrln! ( ": a boxed non-linear record is selected for field-update." ) (* prerrln! *) // end of [val] // in the_trans3errlst_add(T3E_d3exp_assgn_deref_refsharing(d3e_l, d3ls)) end // end of [auxerr_refsharing] fun auxerr_reflinsel ( loc0: loc_t , d3e_l: d3exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let // val () = prerr_error3_loc (loc0) // val () = prerr ( ": a linear component of the following type is abandoned: " ) (* prerr *) // val () = prerrln! ("[", s2e_sel, "]") // in the_trans3errlst_add (T3E_d3exp_assgn_deref_reflinsel (d3e_l, d3ls)) end // end of [auxerr_reflinsel] fun aux1 ( loc0: loc_t , s2f0: s2hnf , d3e_l: d3exp , d3ls: d3lablst , d3e_r: d3exp ) : d3exp = let // val opt = un_s2exp_ptr_addr_type(s2f0) // in // case+ opt of // | ~None_vt() => aux2(loc0, s2f0, d3e_l, d3ls, d3e_r) // end of [None_vt] // | ~Some_vt(s2l) => let var s2rt: s2exp val d3e_r = s2addr_assgn_deref (loc0, s2l, d3ls, d3e_r, s2rt) // end of [val] in d3exp_assgn_ptr(loc0, d3e_l, s2rt, d3ls, d3e_r) end // end of [Some_vt] // end // end of [aux1] and aux2 ( loc0: loc_t , s2f0: s2hnf , d3e_l: d3exp , d3ls: d3lablst , d3e_r: d3exp ) : d3exp = let val opt = un_s2exp_ref_vt0ype_type (s2f0) in // case+ opt of | ~Some_vt (s2e) => let val s2rt = s2e // HX: selection root // var linrest: int = 0 and sharing: int = 0 // val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing ( loc0, s2rt, d3ls, linrest, sharing ) (* s2exp_get_dlablst_linrest_sharing *) // val () = if sharing > 0 then auxerr_refsharing (loc0, d3e_l, d3ls) // end of [if] // val s2e_sel = s2exp_hnfize (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) val islin = s2exp_is_lin (s2e_sel) val () = if islin then auxerr_reflinsel (loc0, d3e_l, d3ls, s2e_sel) // end of [if] val d3e_r = d3exp_trdn (d3e_r, s2e_sel) val _(*err*) = the_effenv_check_ref (loc0) in d3exp_assgn_ref (loc0, d3e_l, s2rt, d3ls, d3e_r) end // end of [Some_vt] | ~None_vt () => aux3 (loc0, s2f0, d3e_l, d3ls, d3e_r) // end // end of [aux2] and aux3 ( loc0: loc_t , s2f0: s2hnf , d3e_l: d3exp , d3ls: d3lablst , d3e_r: d3exp ) : d3exp = let val () = auxerr_nonderef (d3e_l) in d3exp_errexp_void (loc0) end // end of [aux3] in (* in of [local] *) implement d2exp_trup_assgn_deref (loc0, d2e_l, d2ls, d2e_r) = let (* // val () = ( println! ("d2exp_trup_assgn_deref: d2e_l = ", d2e_l); println! ("d2exp_trup_assgn_deref: d2e_r = ", d2e_r); ) (* end of [val] *) // *) val d3e_l = d2exp_trup (d2e_l) val ((*void*)) = d3exp_open_and_add (d3e_l) // val d3ls = d2lablst_trup (d2ls) val s2e0 = d3exp_get_type (d3e_l) val s2f0 = s2exp2hnf_cast (s2e0) // val d3e_r = d2exp_trup (d2e_r) val ((*void*)) = d3exp_open_and_add (d3e_r) // in aux1 (loc0, s2f0, d3e_l, d3ls, d3e_r) end // end of [d2exp_trup_assgn_deref] end // end of [local] (* ****** ****** *) local fun auxerr_wrt_if (loc0: loc_t): void = let val err = the_effenv_check_wrt (loc0) in // if ( err > 0 ) then ( the_trans3errlst_add(T3E_d2exp_trup_wrt(loc0)) ) (* end of [then] *) // end // end of [auxerr_wrt] in (* in of [local] *) implement d2exp_trup_assgn (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eassgn(d2e_l, d2e_r) = d2e0.d2exp_node val d2lv = d2exp_lvalize(d2e_l) (* val () = ( println! ("d2exp_trup_assgn: d2lv = ", d2lv) ) (* end of [val] *) *) // in // case+ d2lv of // | D2LVALvar_mut (d2v, d2ls) => let // val- Some(s2l) = d2var_get_addr(d2v) // end of [val] // val d3ls = d2lablst_trup(d2ls) // var s2rt : s2exp val d3e_r = d2exp_trup(d2e_r) val () = d3exp_open_and_add(d3e_r) val d3e_r = s2addr_assgn_deref(loc0, s2l, d3ls, d3e_r, s2rt) // end of [val] val ((*void*)) = if d3exp_isnot_prf(d3e_r) then auxerr_wrt_if(loc0) // end of [val] in d3exp_assgn_var(loc0, d2v, s2rt, d3ls, d3e_r) end // end of [D2LVALvar_mut] // | D2LVALvar_lin (d2v, d2ls) => let val loc_l = d2e_l.d2exp_loc val d3ls = d2lablst_trup (d2ls) val d3e_r = d2exp_trup (d2e_r) val () = d3exp_open_and_add (d3e_r) val s2e_r = d3exp_get_type (d3e_r) val opt = d2var_get_type (d2v) val s2rt = ( case+ opt of | Some (s2e) => s2e | None ((*void*)) => s2exp_void_t0ype() ) : s2exp // end of [val] val () = d2var_assgn_lin01(loc_l, d2v, d3ls, s2e_r) // end of [val] in d3exp_assgn_var(loc0, d2v, s2rt, d3ls, d3e_r) end // end of [D2LVALvar_lin] // | D2LVALderef (d2e_l, d2ls) => let val () = auxerr_wrt_if(loc0) in d2exp_trup_assgn_deref(loc0, d2e_l, d2ls, d2e_r) end // end of [D2LVALd2ref] // | D2LVALviewat _ => d2exp_trup_viewat_assgn (d2e0) // | D2LVALarrsub ( d2s, arr, loc_ind, ind // d2s: lrbrackets ) => let // val d2es = list_vt_cons(arr, list_extend(ind, d2e_r)) // end of [val] // val d2a0 = D2EXPARGdyn(~1(*npf*), loc0, (l2l)d2es) val d3e_sub = d2exp_trup_applst_sym(d2e0, d2s, list_sing(d2a0)) // end of [val] // in d3exp_trdn (d3e_sub, s2exp_void_t0ype((*void*))) end // [D2LVALarrsub] // | _ (*rest-of-d2lv*) => let val opt = d2exp_get_seloverld (d2e_l) in case+ opt of | Some (d2s) => let val _fun = d2exp_top (loc0) val d2e0 = d2exp_get_seloverld_root (d2e_l) val d2a0 = D2EXPARGdyn (~1(*npf*), loc0, list_pair(d2e0, d2e_r)) val d3e_sel = d2exp_trup_applst_sym ((*d2e*)_fun, d2s, list_sing(d2a0)) // end of [val] in d3exp_trdn (d3e_sel, s2exp_void_t0ype ()) end // end of [Some] | None ((*void*)) => let val loc_l = d2e_l.d2exp_loc val () = prerr_error3_loc (loc_l) val () = prerr ": a left-value is required but a non-left-value is given." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_d2exp_nonlval (d2e_l)) in d3exp_errexp_void (loc0) end // end of [None] end // end of [rest-of-d2lv] // end // end of [d2exp_trup_assgn] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_assgn.dats] *) ATS2-Postiats-0.2.6/./src/pats_tokbuf.dats0000664000175000017500000001620212655455557016724 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload LBF = "./pats_lexbuf.sats" // vtypedef lexbuf = $LBF.lexbuf // (* ****** ****** *) // staload DQ = "libats/ngc/SATS/deque_arr.sats" staload _(*DQ*) = "libats/ngc/DATS/deque_arr.dats" // stadef DEQUE = $DQ.DEQUE // double-ended queue // (* ****** ****** *) staload "./pats_lexing.sats" (* ****** ****** *) staload "./pats_tokbuf.sats" (* ****** ****** *) extern castfn u2sz1 (x: uint):<> Size (* ****** ****** *) vtypedef tokbuf_int_int (m: int, n:int) = $extype_struct "pats_tokbuf_struct" of { tbuf= DEQUE (token, m, n) , ntok= uint , lexbuf= lexbuf } // end of [tokbuf] typedef tokbuf0 = tokbuf_int_int(0, 0)? (* ****** ****** *) assume tokbuf_vt0ype = [m,n:int | m > 0] tokbuf_int_int (m, n) // end of [tokbuf_vt0ype] (* ****** ****** *) #define QINISZ 1024 // initial size (* ****** ****** *) // macdef DQ_deque_initize = $DQ.deque_initialize macdef DQ_deque_uninitize = $DQ.deque_uninitialize{token} // (* ****** ****** *) implement tokbuf_initize_filp (pfmod, pffil | buf, p) = { // extern prfun tokbuf0_trans (buf: &tokbuf? >> tokbuf0): void // prval () = tokbuf0_trans (buf) val ( pfgc, pfarr | pa ) = array_ptr_alloc (QINISZ) // val () = DQ_deque_initize (pfgc, pfarr | buf.tbuf, QINISZ, pa) // val () = buf.ntok := 0u val () = $LBF.lexbuf_initize_filp (pfmod, pffil | buf.lexbuf, p) // } // end of [tokbuf_initize_filp] (* ****** ****** *) implement tokbuf_initize_getc (buf, getc) = () where { // extern prfun tokbuf0_trans (buf: &tokbuf? >> tokbuf0): void // prval () = tokbuf0_trans (buf) // val ( pfgc, pfarr | pa ) = array_ptr_alloc (QINISZ) // val () = DQ_deque_initize (pfgc, pfarr | buf.tbuf, QINISZ, pa) // val () = buf.ntok := 0u val () = $LBF.lexbuf_initize_getc (buf.lexbuf, getc) // } // end of [tokbuf_initize_getc] (* ****** ****** *) implement tokbuf_initize_string (buf, inp) = () where { // extern prfun tokbuf0_trans (buf: &tokbuf? >> tokbuf0): void // prval () = tokbuf0_trans (buf) // val ( pfgc, pfarr | pa ) = array_ptr_alloc (QINISZ) // val () = DQ_deque_initize (pfgc, pfarr | buf.tbuf, QINISZ, pa) // val () = buf.ntok := 0u val () = $LBF.lexbuf_initize_string (buf.lexbuf, inp) // } // end of [tokbuf_initize_string] (* ****** ****** *) implement tokbuf_initize_lexbuf (buf, lbf) = () where { // extern prfun tokbuf0_trans (buf: &tokbuf? >> tokbuf0): void // prval () = tokbuf0_trans (buf) val ( pfgc, pfarr | pa ) = array_ptr_alloc (QINISZ) // val () = DQ_deque_initize (pfgc, pfarr | buf.tbuf, QINISZ, pa) // val () = buf.ntok := 0u val () = buf.lexbuf := lbf // } // end of [tokbuf_initize_lexbuf] (* ****** ****** *) implement tokbuf_uninitize (buf) = () where { // val ( pfgc, pfarr | pa ) = DQ_deque_uninitize (buf.tbuf) // val () = array_ptr_free (pfgc, pfarr | pa) val () = $LBF.lexbuf_uninitize (buf.lexbuf) // extern prfun tokbuf0_untrans (buf: &tokbuf0 >> tokbuf?): void // prval () = tokbuf0_untrans (buf) } // end of [tokbuf_uninitize] (* ****** ****** *) implement tokbuf_get_ntok (buf) = buf.ntok implement tokbuf_set_ntok (buf, n) = buf.ntok := n (* ****** ****** *) implement tokbuf_incby1 (buf) = buf.ntok := buf.ntok + 1u implement tokbuf_incby_count (buf, k) = buf.ntok := buf.ntok + k (* ****** ****** *) implement tokbuf_reset (buf) = let // prval () = $DQ.lemma_deque_param (buf.tbuf) // val ntok = buf.ntok val () = buf.ntok := 0u val ntok = (u2sz1)ntok val n = $DQ.deque_size (buf.tbuf) in if ntok < n then let val () = $DQ.deque_clear_beg (buf.tbuf, ntok) // end of [val] in // nothing end else let val () = $DQ.deque_clear_all {token} (buf.tbuf) in // nothing end (* end of [if] *) end // end of [tokbuf_reset] (* ****** ****** *) implement tokbuf_get_token (buf) = let // prval () = $DQ.lemma_deque_param (buf.tbuf) // val ntok = (u2sz1)buf.ntok val nqsz = $DQ.deque_size (buf.tbuf) // in // if ntok < nqsz then $DQ.deque_get_elt_at (buf.tbuf, ntok) else let val tok = lexing_next_token_ncmnt (buf.lexbuf) val m = $DQ.deque_cap {token} (buf.tbuf) val () = if ( m > nqsz ) then { val () = $DQ.deque_insert_end (buf.tbuf, tok) } else { val m2 = m + m (* val () = println! ("tokbuf_get_token: m2 = ", m2) *) val (pfgc2, pfarr2 | p2) = array_ptr_alloc (m2) val (pfgc1, pfarr1 | p1) = $DQ.deque_update_capacity (pfgc2, pfarr2 | buf.tbuf, m2, p2) val () = array_ptr_free (pfgc1, pfarr1 | p1) val () = $DQ.deque_insert_end (buf.tbuf, tok) } (* end of [if] *) in tok end // end of [else] // end // end of [tokbuf_get_token] (* ****** ****** *) implement tokbuf_getinc_token (buf) = tok where { val tok = tokbuf_get_token (buf) val ((*void*)) = buf.ntok := buf.ntok + 1u } (* end of [tokbuf_getinc_token] *) (* ****** ****** *) implement tokbuf_discard_all (buf) = while (true) let val tok = tokbuf_getinc_token (buf) (* val () = println! ("tokbuf_discard_all: tok = ", tok) *) in case+ tok.token_node of T_EOF () => break | _ => continue end // end of [tokbuf_discard_all] (* ****** ****** *) implement tokbuf_unget_token (buf, tok) = let // prval () = $DQ.lemma_deque_param (buf.tbuf) // val n = $DQ.deque_size (buf.tbuf) val m = $DQ.deque_cap {token} (buf.tbuf) // in // if( m > n ) then ( $DQ.deque_insert_beg (buf.tbuf, tok) ) else let val m2 = m + m (* val () = println! ("tokbuf_get_token: m2 = ", m2) *) val (pfgc2, pfarr2 | p2) = array_ptr_alloc (m2) val (pfgc1, pfarr1 | p1) = $DQ.deque_update_capacity (pfgc2, pfarr2 | buf.tbuf, m2, p2) val () = array_ptr_free (pfgc1, pfarr1 | p1) in $DQ.deque_insert_beg (buf.tbuf, tok) end (* end of [if] *) // end // end of [tokbuf_unget_token] (* ****** ****** *) (* end of [pats_tokbuf.dats] *) ATS2-Postiats-0.2.6/./src/pats_fixity_fxty.dats0000664000175000017500000002225212655455557020022 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload LOC ="./pats_location.sats" overload print with $LOC.print_location overload prerr with $LOC.prerr_location (* ****** ****** *) staload "./pats_fixity.sats" (* ****** ****** *) implement fprint_fxty (out, fxty) = let macdef prstr (x) = fprint_string (out, ,(x)) in case+ fxty of | FXTYnon () => begin prstr ("FXTYnon()") end // end of [FXTYnon] | FXTYinf (p, a) => begin prstr "FXTYinf("; fprint_int (out, (int_of_prec)p); prstr ")" end // end of [FXTYinf] | FXTYpre (p) => begin prstr "FXTYpre("; fprint_int (out, (int_of_prec)p); prstr ")" end // end of [FXTYpre] | FXTYpos (p) => begin prstr "FXTYpos("; fprint_int (out, (int_of_prec)p); prstr ")" end // end of [FXTYpos] end // end of [fprint_fxty] implement print_fxty (x) = fprint_fxty (stdout_ref, x) implement prerr_fxty (x) = fprint_fxty (stderr_ref, x) (* ****** ****** *) implement fxty_non = FXTYnon () implement fxty_inf (p, a) = FXTYinf (p, a) implement fxty_pre (p) = FXTYpre p implement fxty_pos (p) = FXTYpos p (* ****** ****** *) implement selptr_fxty_dyn = FXTYinf (select_prec, ASSOClft) implement deref_fxty_dyn = FXTYpre (deref_prec_dyn) (* ****** ****** *) implement fxty_get_prec (fxty) = case+ fxty of | FXTYnon () => None_vt () | FXTYinf (p, _) => Some_vt (p) | FXTYpre p => Some_vt (p) | FXTYpos p => Some_vt (p) // end of [fxty_get_prec] (* ****** ****** *) implement fxopr_associativity (x) = begin case+ x of FXOPRinf (_, a, _) => a | _ => ASSOCnon () end // end of [fxopr_associativity] implement fxopr_precedence (x) = begin case+ x of | FXOPRinf (p, _, _) => p | FXOPRpre (p, _) => p | FXOPRpos (p, _) => p end // end of [fxopr_precedence] (* ****** ****** *) local // macdef app_assoc = ASSOClft (* left association *) // in // in of [local] // implement fxitm_app (loc, f) = FXITMopr (loc, FXOPRinf (app_prec, app_assoc, f)) // end // end of [local] (* ****** ****** *) implement fxopr_make {a} ( locf, appf, opr, fxty ) = let // val loc_opr = locf opr // fn aux_inf ( opr: a, p: prec, a: assoc ) : fxitm a = let fn f (x1: a, x2: a): fxitm a = let val loc = $LOC.location_combine (locf x1, locf x2) in FXITMatm (appf (loc, opr, loc, '[x1, x2])) end // end of [f] in FXITMopr (locf (opr), FXOPRinf (p, a, f)) end // end of [aux_inf] // fn aux_pre ( opr: a, p: prec ) : fxitm a = let fn f (x: a): fxitm a = let val loc_x = locf x val loc = $LOC.location_combine (loc_opr, loc_x) in FXITMatm (appf (loc, opr, loc_x, '[x])) end // end of [f] in FXITMopr (locf (opr), FXOPRpre (p, f)) end // end of [aux_pre] // fn aux_pos ( opr: a, p: prec ) : fxitm a = let fn f (x: a): fxitm a = let val loc_x = locf x val loc = $LOC.location_combine (loc_x, loc_opr) in FXITMatm (appf (loc, opr, loc_x, '[x])) end // end of [f] in FXITMopr (locf (opr), FXOPRpos (p, f)) end // end of [aux_pos] // in // case+ fxty of | FXTYnon () => FXITMatm (opr) | FXTYinf (p, a) => aux_inf (opr, p, a) | FXTYpre p => aux_pre (opr, p) | FXTYpos p => aux_pos (opr, p) // end // end of [fxopr_make] (* ****** ****** *) implement fxopr_make_backslash {a} (locf, appf, loc) = let fn f1 (x: a): fxitm a = let val loc = $LOC.location_combine (loc, locf x) fn f2 (x1: a, x2: a): fxitm a = let val loc = $LOC.location_combine (locf x1, locf x2) in FXITMatm (appf (loc, x, loc, '[x1, x2])) end // end of [f2] in FXITMopr (loc, FXOPRinf (infixtemp_prec, ASSOCnon, f2)) end // end of [f1] in FXITMopr (loc, FXOPRpre (backslash_prec, f1)) end // end of [fxopr_make_backslahsh] (* ****** ****** *) (* ** HX-2011-04-10: ** this is some code I originally wrote in 1998 ** for implementing DML; it has been a while :) *) implement fixity_resolve {a} ( loc0, locf, app, xs ) = let // #define nil list_nil #define cons list_cons #define :: list_cons // typedef I = fxitm a typedef J = List (I) // fn erropr ( loc: location ) : a = let val () = prerr (loc) val () = prerr ": error(1)" val () = prerr ": operator fixity cannot be resolved." val () = prerr_newline () in $raise($ERR.PATSOPT_FIXITY_EXN(*void*)) end // end of [erropt] // fn errapp ( locf: a -> location, m: fxitm a ) : a = let val-FXITMatm atm = m val () = prerr (locf(atm)) val () = prerr ": error(1)" val () = prerr ": application fixity cannot be resolved." val () = prerr_newline () in $raise($ERR.PATSOPT_FIXITY_EXN(*void*)) end // end of [errapp] // fn err_reduce ( loc: location, ys: J ) : a = let val () = prerr (loc) val () = prerr ": error(1)" val () = prerr ": operator fixity cannot be resolved." val () = prerr_newline () in $raise($ERR.PATSOPT_FIXITY_EXN(*void*)) end // end of [err] // (* ** HX: [fn*] for mutual tail-recursion *) fn* resolve ( xs: J, m: I, ys: J ) : a = case+ m of | FXITMatm _ => ( case+ ys of | FXITMatm _ :: _ => resolve_app (xs, m, ys) // end of [FXITMatm] | _ => pushup (xs, m :: ys) ) // end of [_, FXITMatm, _] | FXITMopr (loc, opr) => resolve_opr (loc, opr, xs, m, ys) (* end of [resolve] *) // and resolve_opr ( loc: location , opr: fxopr a, xs: J, m: I, ys: J ) : a = ( case+ (opr, ys) of | (FXOPRinf _, _ :: nil ()) => pushup (xs, m :: ys) | (FXOPRinf _, _ :: FXITMopr (_, opr1) :: _) => let val p = fxopr_precedence opr and p1 = fxopr_precedence opr1 in case+ compare (p, p1) of | 1 => pushup (xs, m :: ys) | ~1 => reduce (m :: xs, ys) | _ (* 0 *) => let val assoc = fxopr_associativity opr and assoc1 = fxopr_associativity opr1 in case+ (assoc, assoc1) of | (ASSOClft (), ASSOClft ()) => reduce (m :: xs, ys) | (ASSOCrgt (), ASSOCrgt ()) => pushup (xs, m :: ys) | (_, _) => erropr (loc) end // end of [_ (* 0 *)] end // end of [let] | (FXOPRpre _, _) => pushup (xs, m :: ys) | (FXOPRpos _, _ :: FXITMopr (_, opr1) :: _) => let val p = fxopr_precedence opr and p1 = fxopr_precedence opr1 in case+ compare (p, p1) of | 1 => reduce (xs, m :: ys) | ~1 => reduce (m :: xs, ys) | _ (* 0 *) => erropr (loc) end // end of [let] | (FXOPRpos _, _ :: nil ()) => reduce (xs, m :: ys) | (_, _) => erropr (loc) ) (* end of [resolve_opr] *) // and resolve_app ( xs: J, m: I, ys: J ) : a = ( case+ ys of | _ :: FXITMopr (_, opr1) :: _ => let val p1 = fxopr_precedence opr1 val sgn = compare (app_prec, p1): Sgn in case+ sgn of | 1 => pushup (xs, m :: app :: ys) | ~1 => reduce (m :: xs, ys) | _ (*0*) => let val assoc1 = fxopr_associativity opr1 in case+ assoc1 of | ASSOClft () => reduce (m :: xs, ys) | _ => errapp (locf, m) // HX: [m] is FXITMatm end // end of [_] end // end of [_ :: ITERMopr :: _] | _ :: nil () => pushup (xs, m :: app :: ys) | _ => errapp (locf, m) // HX: [m] is FXITMatm ) (* end of [resolve_app] *) // and reduce ( xs: J, ys: J ) : a = ( case+ ys of | FXITMatm t :: FXITMopr (_, FXOPRpre (_, f)) :: ys => pushup (f t :: xs, ys) | FXITMatm t1 :: FXITMopr (_, FXOPRinf (_, _, f)) :: FXITMatm t2 :: ys => pushup (f (t2, t1) :: xs, ys) | FXITMopr (_, FXOPRpos (_, f)) :: FXITMatm t :: ys => pushup (xs, f t :: ys) | _ (*rest*) => err_reduce (loc0, ys) ) (* end of [reduce] *) // and pushup ( xs: J, ys: J ) : a = case+ (xs, ys) of | (nil (), FXITMatm t :: nil ()) => t | (nil (), ys) => reduce (nil (), ys) | (x :: xs, ys) => resolve (xs, x, ys) (* end of [pushup] *) // in // pushup (xs, nil ()) // end // end of [fixity_resolve] (* ****** ****** *) (* end of [pats_fixity_fxty.dats] *) ATS2-Postiats-0.2.6/./src/CBOOT/0000775000175000017500000000000012655455557014373 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_sort_dats.c0000664000175000017500000013764712655455557021103 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s1rt_loc ; ats_ptr_type atslab_s1rt_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_a1srt_loc ; ats_ptr_type atslab_a1srt_sym ; ats_ptr_type atslab_a1srt_srt ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_a1msrt_loc ; ats_ptr_type atslab_a1msrt_arg ; } anairiats_rec_9 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTapp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTtype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rt_tr_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_is_arrow) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_srt) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_symsrt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_qid) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02080_ () ; static ats_void_type prerr_interror_loc_02082_ (ats_ptr_type arg0) ; static ats_void_type prerr_error2_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 1660(line=51, offs=28) -- 1694(line=51, offs=62) */ ATSstaticdec() ats_void_type prerr_FILENAME_02080_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02080_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_sort.dats")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02082_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; __ats_lab_prerr_interror_loc_02082_: /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp18 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp19 = */ prerr_FILENAME_02080_ () ; /* tmp16 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp16) */ ; } /* end of [prerr_interror_loc_02082_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab_prerr_error2_loc_02084_: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp23 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp23) */ ; } /* end of [prerr_error2_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 2351(line=91, offs=13) -- 3308(line=125, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_app: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_s1rt_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_is_arrow (arg1) ; if (!tmp4) { goto __ats_lab_5_1 ; } do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; if (tmp5 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_1) ; if (tmp6 != (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_1_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_0) ; tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp7), atslab_s1rt_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp10)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp9 = tmp11 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp12 = (ats_sum_ptr_type)0 ; tmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_0, tmp7) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_1, tmp12) ; break ; } while (0) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr (tmp9) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp8) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_0, tmp13) ; ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_1, tmp14) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: /* tmp15 = */ prerr_interror_loc_02082_ (tmp2) ; /* tmp20 = */ atspre_prerr_string (ATSstrcst(": s1rt_tr_app: [->] is not an infix operator!")) ; /* tmp21 = */ atspre_prerr_newline () ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; /* tmp22 = */ prerr_error2_loc_02084_ (tmp25) ; /* tmp26 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_app")) ; /* tmp27 = */ atspre_prerr_string (ATSstrcst(": sort application is not supported.")) ; /* tmp28 = */ atspre_prerr_newline () ; tmp30 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp30)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp30, atslab_0, arg0) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp30) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 3379(line=131, offs=3) -- 4352(line=164, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_qid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_qid: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua (arg1, arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp33 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_6, tmp33, atslab_0) ; ATS_FREE(tmp33) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp34)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp34, atslab_0) ; tmp31 = tmp35 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: /* tmp36 = */ prerr_error2_loc_02084_ (tmp32) ; /* tmp37 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ; /* tmp38 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp40 = */ atspre_prerr_string (ATSstrcst("] is expected to refer to a sort (instead of a subset sort).")) ; /* tmp41 = */ atspre_prerr_newline () ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp43)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp43, atslab_0, arg0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp43) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp33 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: /* tmp44 = */ prerr_error2_loc_02084_ (tmp32) ; /* tmp45 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ; /* tmp46 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp48 = */ atspre_prerr_string (ATSstrcst("] does not refer to any recognized sort.")) ; /* tmp49 = */ atspre_prerr_newline () ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp51)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp51, atslab_0, arg0) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp51) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_qid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 4417(line=169, offs=9) -- 4825(line=188, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr: tmp53 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ; tmp54 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp54)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_app (arg0, tmp55, tmp56) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp54)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp54, atslab_0) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (tmp57) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp54)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__s1rt_tr_qid (arg0, tmp58, tmp59) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp54)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_4, tmp54, atslab_0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr (tmp60) ; tmp52 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp52)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp52, atslab_0, tmp61) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (((ats_sum_ptr_type)tmp54)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_loop_9: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp69 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp67, arg3) ; tmp70 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp70, atslab_0, tmp69) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp70 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp71 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp68 ; arg1 = arg1 ; arg2 = tmp71 ; arg3 = arg3 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp72 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp72 ; break ; } while (0) ; return /* (tmp66) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp73 ; */ /* tmp74 = */ loop_9 (arg0, arg1, (&tmp73), arg2) ; tmp65 = tmp73 ; return (tmp65) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp64 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp64) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 4890(line=194, offs=12) -- 4928(line=194, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr: tmp63 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr) ; tmp62 = ats_castfn_mac(ats_ptr_type, tmp63) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 4952(line=197, offs=12) -- 5025(line=198, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtopt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtopt_tr: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp76) ; tmp75 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp75, atslab_0, tmp77) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp75 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtopt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 5096(line=204, offs=14) -- 5122(line=204, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_srt: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_srt) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp79) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 5148(line=206, offs=15) -- 5200(line=206, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_srt: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_a1msrt_arg) ; tmp81 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp82, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_srt) ; tmp80 = ats_castfn_mac(ats_ptr_type, tmp81) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 5250(line=211, offs=17) -- 5429(line=218, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_symsrt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_symsrt: tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_sym) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp85 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp85 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_6, tmp85, atslab_0) ; tmp84 = tmp86 ; break ; } while (0) ; tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_srt) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp88) ; tmp83.atslab_0 = tmp84 ; tmp83.atslab_1 = tmp87 ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_symsrt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (anairiats_rec_1, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_loop_17: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp96 = ((anairiats_rec_1(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp94, arg3) ; tmp97 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp97, atslab_0, tmp96) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp97 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp98 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp95 ; arg1 = arg1 ; arg2 = tmp98 ; arg3 = arg3 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp99 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp99 ; break ; } while (0) ; return /* (tmp93) */ ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_anairiats_rec_1: /* ats_ptr_type tmp100 ; */ /* tmp101 = */ loop_17 (arg0, arg1, (&tmp100), arg2) ; tmp92 = tmp100 ; return (tmp92) ; } /* end of [list_map_funenv_01412_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; __ats_lab_list_map_fun_01413_ats_ptr_type_anairiats_rec_1: tmp91 = list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp91) ; } /* end of [list_map_fun_01413_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_sort.dats: 5485(line=220, offs=18) -- 5540(line=220, offs=73) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt: tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_a1msrt_arg) ; tmp90 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp102, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1srt_tr_symsrt) ; tmp89 = ats_castfn_mac(ats_ptr_type, tmp90) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_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 () ; #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_trans2_sort_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_svar_dats.c0000664000175000017500000074672512655455557021247 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2var_sym ; ats_ptr_type atslab_s2var_srt ; ats_int_type atslab_s2var_tmplev ; ats_ptr_type atslab_s2var_sVarset ; ats_int_type atslab_s2var_stamp ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_3 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_4 ; typedef struct { anairiats_rec_4 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_8 ; typedef struct { anairiats_rec_8 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2var_stamp_make) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_sVarset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_del) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2varbindmap_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2varmset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2varset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2varset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2var_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type s2var_name_make_0 () ; static ats_ptr_type s2var_name_make_prefix_1 (ats_ptr_type arg0) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type aux_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_29_closure_make () ; static ats_int_type __ats_fun_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_03750_ () ; static ats_int_type compare_elt_elt_03749_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_03994_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_03977_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_34 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_34_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03759_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_takeout_min_04029_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type remove_40 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type remove_40_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type remove_40_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_remove_03760_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_ljoin_04060_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type avltree_rjoin_04072_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type avltree_join_04084_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type avltree_split_at_04095_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_clo_ref_type arg4) ; static ats_ptr_type union_44 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type union_44_closure_make (ats_clo_ref_type env0) ; static ats_ptr_type union_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_union_03763_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type listize_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_listize_03774_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linset_make_nil_03776_ () ; static ats_int_type compare_elt_elt_03775_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_04251_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04305_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04281_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_56 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_56_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_56_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_03785_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_takeout_min_04350_ats_ptr_type (ats_ref_type arg0) ; static ats_bool_type remove_63 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0) ; static ats_clo_ptr_type remove_63_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type remove_63_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0) ; static ats_bool_type linset_remove_03786_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type avltree_ljoin_04399_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type avltree_rjoin_04419_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type avltree_join_04439_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type avltree_split_at_04450_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_clo_ref_type arg5) ; static ats_void_type B_node_free_opt_04476_ (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type union_69 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type union_69_closure_make (ats_clo_ref_type env0) ; static ats_ptr_type union_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_union_03789_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_void_type aux_77 (ats_ptr_type arg0) ; static ats_void_type linset_free_03783_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_80 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_03801_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_81 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_81_closure_make () ; static ats_int_type __ats_fun_81_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmset_make_nil_03808_ () ; static ats_ptr_type funmset_make_sing_03809_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_03807_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type funmset_make_pair_03810_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type aux_91 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_91_closure_make (ats_clo_ref_type env0) ; static ats_int_type aux_91_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type funmset_compare_03822_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_94 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_94_closure_make (ats_clo_ref_type env0) ; static ats_bool_type aux_94_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type funmset_is_equal_03821_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_97 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_97_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type aux_97_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type funmset_insert_03816_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_100 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type aux_100_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type aux_100_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmset_remove_03817_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_103 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_103_closure_make (ats_clo_ref_type env0) ; static ats_ptr_type aux_103_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmset_union_03818_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_108 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_anairiats_rec_4_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_anairiats_rec_4_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_109 (anairiats_rec_4 arg0) ; static ats_ptr_type funmset_listize_03823_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop1_112 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop2_113 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type loop1_112_0loop2_113 (ats_int_type arg0, ...) ; static ats_ptr_type funmset_mlistize_03824_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_116 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_117 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_117_closure_make () ; static ats_int_type __ats_fun_117_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linmap_make_nil_03826_ () ; static ats_int_type compare_key_key_03825_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_123 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_123_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_123_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_03832_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_03831_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_int_type avltree_height_04842_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_127 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_127_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_127_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_03834_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) ; static ats_bool_type takeout_134 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type takeout_134_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type takeout_134_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linmap_takeout_ptr_03849_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) ; static ats_bool_type linmap_remove_03836_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_138 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linmap_listize_03845_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp75) ; ATSstatic (ats_ptr_type, statmp561) ; ATSstatic (ats_ptr_type, statmp722) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 2276(line=81, offs=4) -- 2438(line=86, offs=4) */ ATSstaticdec() ats_ptr_type s2var_name_make_0 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_s2var_name_make_0: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count (ATSstrcst("$"), tmp2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp3) ; return (tmp1) ; } /* end of [s2var_name_make_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 2471(line=88, offs=4) -- 2657(line=93, offs=4) */ ATSstaticdec() ats_ptr_type s2var_name_make_prefix_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_s2var_name_make_prefix_1: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp0) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count (ATSstrcst("$"), tmp5) ; tmp6 = atspre_string_append (arg0, tmp7) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp6) ; return (tmp4) ; } /* end of [s2var_name_make_prefix_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp11 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp11) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 2813(line=105, offs=3) -- 3191(line=119, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2var_stamp_make () ; tmp10 = ptr_alloc_01070_anairiats_rec_1 () ; tmp12 = ats_selsin_mac(tmp10, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2var_sym) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2var_srt) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2var_tmplev) = 0 ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil () ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2var_sVarset) = tmp13 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2var_stamp) = tmp9 ; tmp8 = atspre_ref_make_view_ptr (tmp12) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3247(line=122, offs=15) -- 3336(line=124, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym: tmp15 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp14 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp15), atslab_s2var_sym) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3388(line=127, offs=15) -- 3477(line=129, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp16 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_s2var_srt) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3532(line=132, offs=18) -- 3611(line=134, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_tmplev (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_tmplev: tmp19 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp18 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp19), atslab_s2var_tmplev) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_tmplev] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3668(line=136, offs=18) -- 3759(line=138, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_tmplev (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_tmplev: tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp21), atslab_s2var_tmplev) = arg1 ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_tmplev] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3818(line=141, offs=19) -- 3898(line=143, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset: tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp22 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp23), atslab_s2var_sVarset) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 3957(line=145, offs=19) -- 4047(line=147, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_sVarset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_sVarset: tmp25 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp25), atslab_s2var_sVarset) = arg1 ; return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_sVarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 4111(line=150, offs=3) -- 4285(line=154, offs=22) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_sVarset (tmp27, arg1) ; arg0 = tmp28 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 4346(line=158, offs=17) -- 4437(line=160, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp: tmp31 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp30 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp31), atslab_s2var_stamp) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 4535(line=167, offs=15) -- 4604(line=169, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool: tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool (tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 4678(line=174, offs=16) -- 4754(line=176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt: tmp35 = s2var_name_make_0 () ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp35, arg0) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 4803(line=179, offs=11) -- 4985(line=185, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup: tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg0) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp37) ; tmp39 = s2var_name_make_prefix_1 (tmp40) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp39, tmp38) ; return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5057(line=191, offs=3) -- 5089(line=191, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2var_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2var_s2var: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; tmp41 = atspre_ilt (tmp42, 0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2var_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5147(line=196, offs=3) -- 5180(line=196, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2var_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2var_s2var: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; tmp43 = atspre_ilte (tmp44, 0) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2var_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5238(line=201, offs=3) -- 5270(line=201, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; tmp45 = atspre_ieq (tmp46, 0) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5328(line=206, offs=3) -- 5361(line=206, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_int_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; tmp47 = atspre_ineq (tmp48, 0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5422(line=210, offs=21) -- 5698(line=219, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (arg0) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (arg1) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp50, tmp51) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5766(line=223, offs=3) -- 5848(line=224, offs=70) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym: tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol (tmp53, tmp54) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 5930(line=230, offs=14) -- 6160(line=239, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_int_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg1) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp57) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (arg1) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp60) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp55) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6209(line=241, offs=23) -- 6243(line=241, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2var: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (stdout, arg0) ; return /* (tmp61) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6266(line=242, offs=23) -- 6300(line=242, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var: /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (stderr, arg0) ; return /* (tmp62) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_bool_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_int_type, tmp71) ; __ats_lab_aux_26: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp69 = atspre_gt_int_int (arg1, 0) ; if (tmp69) { /* tmp68 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp70 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp66) ; tmp71 = atspre_add_int_int (arg1, 1) ; arg0 = tmp67 ; arg1 = tmp71 ; goto __ats_lab_aux_26 ; // tail call break ; } while (0) ; return /* (tmp65) */ ; } /* end of [aux_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_26_closure_type ; ats_void_type aux_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_26 (((aux_26_closure_type*)cloptr)->closure_env_0, ((aux_26_closure_type*)cloptr)->closure_env_1, ((aux_26_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_26_closure_init (aux_26_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_26_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_26_closure_type *p_clo = ATS_MALLOC(sizeof(aux_26_closure_type)) ; aux_26_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp64) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp64 = */ aux_26 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp64) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6328(line=245, offs=17) -- 6392(line=246, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst: /* tmp63 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) ; return /* (tmp63) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6447(line=249, offs=26) -- 6486(line=249, offs=65) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2varlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2varlst: /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (stdout, arg0) ; return /* (tmp72) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6512(line=250, offs=26) -- 6551(line=250, offs=65) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2varlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2varlst: /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (stderr, arg0) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 6794(line=267, offs=1) -- 6879(line=270, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp74) ; __ats_lab___ats_fun_29: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; return (tmp74) ; } /* end of [__ats_fun_29] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_29_closure_type ; ats_int_type __ats_fun_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_29 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_29_closure_init (__ats_fun_29_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_29_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_29_closure_make () { __ats_fun_29_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_29_closure_type)) ; __ats_fun_29_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03750_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; __ats_lab_funset_make_nil_03750_: tmp77 = (ats_sum_ptr_type)0 ; return (tmp77) ; } /* end of [funset_make_nil_03750_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7028(line=280, offs=3) -- 7063(line=280, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_nil: tmp76 = funset_make_nil_03750_ () ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_03749_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp88) ; __ats_lab_compare_elt_elt_03749_ats_ptr_type: tmp88 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp88) ; } /* end of [compare_elt_elt_03749_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_03994_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_int_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_int_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; __ats_lab_avltree_rrotate_03994_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp100 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_3) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp101 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_3, tmp101, atslab_0) ; tmp103 = tmp104 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp101 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp103 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp102 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_3, tmp102, atslab_0) ; tmp105 = tmp106 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp102 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp105 = 0 ; break ; } while (0) ; tmp108 = atspre_iadd (tmp103, 0) ; tmp107 = atspre_igte (tmp108, tmp105) ; if (tmp107) { tmp109 = atspre_iadd (tmp105, 1) ; tmp111 = atspre_imax (tmp103, tmp109) ; tmp110 = atspre_iadd (1, tmp111) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_0, tmp109) ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_2, tmp102) ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_3, arg4) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_0, tmp110) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_1, tmp100) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_2, tmp101) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_3, tmp112) ; } else { // if (tmp102 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp113 = ats_caselptrlab_mac(anairiats_sum_3, tmp102, atslab_1) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_3, tmp102, atslab_2) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_3, tmp102, atslab_3) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp114 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_3, tmp114, atslab_0) ; tmp116 = tmp117 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp114 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp116 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_3, tmp115, atslab_0) ; tmp118 = tmp119 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp115 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp118 = 0 ; break ; } while (0) ; tmp122 = atspre_imax (tmp103, tmp116) ; tmp121 = atspre_iadd (1, tmp122) ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_1, tmp100) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_2, tmp101) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_3, tmp114) ; tmp125 = atspre_imax (tmp118, arg3) ; tmp124 = atspre_iadd (1, tmp125) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_0, tmp124) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_2, tmp115) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_3, arg4) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_1, tmp113) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_2, tmp120) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_3, tmp123) ; } /* end of [if] */ return (tmp99) ; } /* end of [avltree_rrotate_03994_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_03977_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_int_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_int_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; __ats_lab_avltree_lrotate_03977_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp137 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_1) ; tmp138 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_2) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_3) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp138 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, tmp138, atslab_0) ; tmp140 = tmp141 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp138 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp140 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp139 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_3, tmp139, atslab_0) ; tmp142 = tmp143 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp139 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp142 = 0 ; break ; } while (0) ; tmp145 = atspre_iadd (tmp142, 0) ; tmp144 = atspre_ilte (tmp140, tmp145) ; if (tmp144) { tmp146 = atspre_iadd (tmp140, 1) ; tmp148 = atspre_imax (tmp146, tmp142) ; tmp147 = atspre_iadd (1, tmp148) ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp149, atslab_0, tmp146) ; ats_selptrset_mac(anairiats_sum_3, tmp149, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp149, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp149, atslab_3, tmp138) ; tmp136 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_0, tmp147) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_1, tmp137) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_2, tmp149) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_3, tmp139) ; } else { // if (tmp138 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp150 = ats_caselptrlab_mac(anairiats_sum_3, tmp138, atslab_1) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_3, tmp138, atslab_2) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_3, tmp138, atslab_3) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp151 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_3, tmp151, atslab_0) ; tmp153 = tmp154 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (tmp151 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp153 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp152 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_3, tmp152, atslab_0) ; tmp155 = tmp156 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp152 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp155 = 0 ; break ; } while (0) ; tmp159 = atspre_imax (arg1, tmp153) ; tmp158 = atspre_iadd (1, tmp159) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp157, atslab_0, tmp158) ; ats_selptrset_mac(anairiats_sum_3, tmp157, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp157, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp157, atslab_3, tmp151) ; tmp162 = atspre_imax (tmp155, tmp142) ; tmp161 = atspre_iadd (1, tmp162) ; tmp160 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp160, atslab_0, tmp161) ; ats_selptrset_mac(anairiats_sum_3, tmp160, atslab_1, tmp137) ; ats_selptrset_mac(anairiats_sum_3, tmp160, atslab_2, tmp152) ; ats_selptrset_mac(anairiats_sum_3, tmp160, atslab_3, tmp139) ; tmp136 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_1, tmp150) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_2, tmp157) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_3, tmp160) ; } /* end of [if] */ return (tmp136) ; } /* end of [avltree_lrotate_03977_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_34 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_insert_34: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_4_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp87 = compare_elt_elt_03749_ats_ptr_type (env0, tmp84, env1) ; tmp89 = atspre_lt_int_int (tmp87, 0) ; if (tmp89) { tmp90 = insert_34 (env0, env1, tmp85, arg1) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp90 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp91 = tmp92 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp90 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp91 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp86 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_3, tmp86, atslab_0) ; tmp93 = tmp94 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp86 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp93 = 0 ; break ; } while (0) ; tmp96 = atspre_isub (tmp91, tmp93) ; tmp95 = atspre_ilte (tmp96, 1) ; if (tmp95) { tmp98 = atspre_imax (tmp91, tmp93) ; tmp97 = atspre_iadd (1, tmp98) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_0, tmp97) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_1, tmp84) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_2, tmp90) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_3, tmp86) ; } else { tmp82 = avltree_rrotate_03994_ats_ptr_type (tmp84, tmp91, tmp90, tmp93, tmp86) ; } /* end of [if] */ } else { tmp126 = atspre_gt_int_int (tmp87, 0) ; if (tmp126) { tmp127 = insert_34 (env0, env1, tmp86, arg1) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp85 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_3, tmp85, atslab_0) ; tmp128 = tmp129 ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (tmp85 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp128 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp127 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_3, tmp127, atslab_0) ; tmp130 = tmp131 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp127 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp130 = 0 ; break ; } while (0) ; tmp133 = atspre_isub (tmp130, tmp128) ; tmp132 = atspre_ilte (tmp133, 1) ; if (tmp132) { tmp135 = atspre_imax (tmp128, tmp130) ; tmp134 = atspre_iadd (1, tmp135) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_0, tmp134) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_1, tmp84) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_2, tmp85) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_3, tmp127) ; } else { tmp82 = avltree_lrotate_03977_ats_ptr_type (tmp84, tmp128, tmp85, tmp130, tmp127) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_0, tmp83) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_2, tmp85) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_3, tmp86) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp163 = (ats_sum_ptr_type)0 ; tmp164 = (ats_sum_ptr_type)0 ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_2, tmp163) ; ats_selptrset_mac(anairiats_sum_3, tmp82, atslab_3, tmp164) ; break ; } while (0) ; return (tmp82) ; } /* end of [insert_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_34_closure_type ; ats_ptr_type insert_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_34 (((insert_34_closure_type*)cloptr)->closure_env_0, ((insert_34_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_34_closure_init (insert_34_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_34_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_34_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_34_closure_type *p_clo = ATS_MALLOC(sizeof(insert_34_closure_type)) ; insert_34_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03759_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_funset_insert_03759_ats_ptr_type: /* ats_bool_type tmp165 ; */ tmp166 = insert_34 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp165)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp166 ; tmp81 = tmp165 ; return (tmp81) ; } /* end of [funset_insert_03759_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7090(line=284, offs=3) -- 7177(line=287, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_add: /* ats_ptr_type tmp79 ; */ tmp79 = arg0 ; tmp80 = funset_insert_03759_ats_ptr_type ((&tmp79), arg1, statmp75) ; tmp78 = tmp79 ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 7730(line=273, offs=17) -- 8251(line=291, offs=4) */ ATSstaticdec() ats_ptr_type avltree_takeout_min_04029_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; __ats_lab_avltree_takeout_min_04029_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp199 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp200 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_43_1: tmp202 = avltree_takeout_min_04029_ats_ptr_type (tmp200, arg1) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (tmp202 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_3, tmp202, atslab_0) ; tmp203 = tmp204 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (tmp202 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp203 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp201 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_3, tmp201, atslab_0) ; tmp205 = tmp206 ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (tmp201 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp205 = 0 ; break ; } while (0) ; tmp208 = atspre_isub (tmp205, tmp203) ; tmp207 = atspre_ilte (tmp208, 1) ; if (tmp207) { tmp210 = atspre_imax (tmp203, tmp205) ; tmp209 = atspre_iadd (1, tmp210) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_0, tmp209) ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_1, tmp199) ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_2, tmp202) ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_3, tmp201) ; } else { tmp198 = avltree_lrotate_03977_ats_ptr_type (tmp199, tmp203, tmp202, tmp205, tmp201) ; } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp200 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: ats_ptrget_mac(ats_ptr_type, arg1) = tmp199 ; tmp198 = tmp201 ; break ; } while (0) ; return (tmp198) ; } /* end of [avltree_takeout_min_04029_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 8377(line=298, offs=7) -- 10195(line=350, offs=6) */ ATSstaticdec() ats_ptr_type remove_40 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_bool_type, tmp182) ; ATSlocal (ats_int_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_bool_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_int_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_bool_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; __ats_lab_remove_40: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_30_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp175 = compare_elt_elt_03749_ats_ptr_type (env0, tmp172, env1) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp176 = atspre_lt_int_int (tmp175, 0) ; if (!tmp176) { goto __ats_lab_36_1 ; } tmp177 = remove_40 (env0, env1, tmp173, arg1) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp177 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_3, tmp177, atslab_0) ; tmp178 = tmp179 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp177 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp178 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp174 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_3, tmp174, atslab_0) ; tmp180 = tmp181 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp174 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp180 = 0 ; break ; } while (0) ; tmp183 = atspre_isub (tmp180, tmp178) ; tmp182 = atspre_ilte (tmp183, 1) ; if (tmp182) { tmp185 = atspre_imax (tmp178, tmp180) ; tmp184 = atspre_iadd (1, tmp185) ; tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, tmp184) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_1, tmp172) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_2, tmp177) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_3, tmp174) ; } else { tmp171 = avltree_lrotate_03977_ats_ptr_type (tmp172, tmp178, tmp177, tmp180, tmp174) ; } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp186 = atspre_gt_int_int (tmp175, 0) ; if (!tmp186) { goto __ats_lab_41_1 ; } tmp187 = remove_40 (env0, env1, tmp174, arg1) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp173 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_3, tmp173, atslab_0) ; tmp188 = tmp189 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (tmp173 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp188 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (tmp187 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_3, tmp187, atslab_0) ; tmp190 = tmp191 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp187 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp190 = 0 ; break ; } while (0) ; tmp193 = atspre_isub (tmp188, tmp190) ; tmp192 = atspre_ilte (tmp193, 1) ; if (tmp192) { tmp195 = atspre_imax (tmp188, tmp190) ; tmp194 = atspre_iadd (1, tmp195) ; tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, tmp194) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_1, tmp172) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_2, tmp173) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_3, tmp187) ; } else { tmp171 = avltree_rrotate_03994_ats_ptr_type (tmp172, tmp188, tmp173, tmp190, tmp187) ; } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp174 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_42_1: /* ats_ptr_type tmp196 ; */ tmp197 = avltree_takeout_min_04029_ats_ptr_type (tmp174, (&tmp196)) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp173 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_3, tmp173, atslab_0) ; tmp211 = tmp212 ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp173 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp211 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp197 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp214 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; tmp213 = tmp214 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp197 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp213 = 0 ; break ; } while (0) ; tmp216 = atspre_isub (tmp211, tmp213) ; tmp215 = atspre_ilte (tmp216, 1) ; if (tmp215) { tmp218 = atspre_imax (tmp211, tmp213) ; tmp217 = atspre_iadd (1, tmp218) ; tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, tmp217) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_1, tmp196) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_2, tmp173) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_3, tmp197) ; } else { tmp171 = avltree_rrotate_03994_ats_ptr_type (tmp196, tmp211, tmp173, tmp213, tmp197) ; } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (tmp174 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp171 = tmp173 ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp171 = arg0 ; break ; } while (0) ; return (tmp171) ; } /* end of [remove_40] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } remove_40_closure_type ; ats_ptr_type remove_40_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return remove_40 (((remove_40_closure_type*)cloptr)->closure_env_0, ((remove_40_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type remove_40_closure_init (remove_40_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&remove_40_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type remove_40_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { remove_40_closure_type *p_clo = ATS_MALLOC(sizeof(remove_40_closure_type)) ; remove_40_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 8335(line=297, offs=3) -- 10275(line=353, offs=2) */ ATSstaticdec() ats_bool_type funset_remove_03760_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp170) ; ATSlocal (ats_bool_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; __ats_lab_funset_remove_03760_ats_ptr_type: /* ats_bool_type tmp219 ; */ tmp220 = remove_40 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp219)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp220 ; tmp170 = tmp219 ; return (tmp170) ; } /* end of [funset_remove_03760_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7232(line=291, offs=3) -- 7320(line=294, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_del (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_del: /* ats_ptr_type tmp168 ; */ tmp168 = arg0 ; tmp169 = funset_remove_03760_ats_ptr_type ((&tmp168), arg1, statmp75) ; tmp167 = tmp168 ; return (tmp167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_del] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 10428(line=362, offs=33) -- 11051(line=382, offs=4) */ ATSstaticdec() ats_ptr_type avltree_ljoin_04060_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_int_type, tmp255) ; ATSlocal (ats_int_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_bool_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_int_type, tmp261) ; ATSlocal (ats_int_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; __ats_lab_avltree_ljoin_04060_ats_ptr_type: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp245 = tmp246 ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp245 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp247 = tmp248 ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp247 = 0 ; break ; } while (0) ; tmp250 = atspre_iadd (tmp247, 2) ; tmp249 = atspre_igte (tmp245, tmp250) ; if (tmp249) { // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp251 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_2) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_3) ; tmp254 = avltree_ljoin_04060_ats_ptr_type (arg0, tmp253, arg2) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (tmp252 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp256 = ats_caselptrlab_mac(anairiats_sum_3, tmp252, atslab_0) ; tmp255 = tmp256 ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (tmp252 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp255 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (tmp254 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp258 = ats_caselptrlab_mac(anairiats_sum_3, tmp254, atslab_0) ; tmp257 = tmp258 ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (tmp254 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp257 = 0 ; break ; } while (0) ; tmp260 = atspre_iadd (tmp255, 1) ; tmp259 = atspre_ilte (tmp257, tmp260) ; if (tmp259) { tmp262 = atspre_imax (tmp255, tmp257) ; tmp261 = atspre_iadd (tmp262, 1) ; tmp244 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_0, tmp261) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_1, tmp251) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_2, tmp252) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_3, tmp254) ; } else { tmp244 = avltree_lrotate_03977_ats_ptr_type (tmp251, tmp255, tmp252, tmp257, tmp254) ; } /* end of [if] */ } else { tmp263 = atspre_iadd (tmp245, 1) ; tmp244 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_0, tmp263) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp244, atslab_3, arg2) ; } /* end of [if] */ return (tmp244) ; } /* end of [avltree_ljoin_04060_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 11205(line=391, offs=33) -- 11827(line=411, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rjoin_04072_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_bool_type, tmp269) ; ATSlocal (ats_int_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_int_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_int_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_bool_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_int_type, tmp283) ; __ats_lab_avltree_rjoin_04072_ats_ptr_type: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp266 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp265 = tmp266 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp265 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp267 = tmp268 ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp267 = 0 ; break ; } while (0) ; tmp270 = atspre_iadd (tmp265, 2) ; tmp269 = atspre_igte (tmp267, tmp270) ; if (tmp269) { // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp271 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_3) ; tmp274 = avltree_rjoin_04072_ats_ptr_type (arg0, arg1, tmp272) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp274 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_3, tmp274, atslab_0) ; tmp275 = tmp276 ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp274 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp275 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp273 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_3, tmp273, atslab_0) ; tmp277 = tmp278 ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp273 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp277 = 0 ; break ; } while (0) ; tmp280 = atspre_iadd (tmp277, 1) ; tmp279 = atspre_ilte (tmp275, tmp280) ; if (tmp279) { tmp282 = atspre_imax (tmp275, tmp277) ; tmp281 = atspre_iadd (tmp282, 1) ; tmp264 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_0, tmp281) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_1, tmp271) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_2, tmp274) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_3, tmp273) ; } else { tmp264 = avltree_rrotate_03994_ats_ptr_type (tmp271, tmp275, tmp274, tmp277, tmp273) ; } /* end of [if] */ } else { tmp283 = atspre_iadd (tmp267, 1) ; tmp264 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_0, tmp283) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp264, atslab_3, arg2) ; } /* end of [if] */ return (tmp264) ; } /* end of [avltree_rjoin_04072_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 11913(line=416, offs=26) -- 12193(line=423, offs=4) */ ATSstaticdec() ats_ptr_type avltree_join_04084_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_int_type, tmp242) ; ATSlocal (ats_bool_type, tmp243) ; __ats_lab_avltree_join_04084_ats_ptr_type: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp239 = tmp240 ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp239 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp241 = tmp242 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp241 = 0 ; break ; } while (0) ; tmp243 = atspre_igte (tmp239, tmp241) ; if (tmp243) { tmp238 = avltree_ljoin_04060_ats_ptr_type (arg0, arg1, arg2) ; } else { tmp238 = avltree_rjoin_04072_ats_ptr_type (arg0, arg1, arg2) ; } /* end of [if] */ return (tmp238) ; } /* end of [avltree_join_04084_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 12740(line=447, offs=32) -- 13453(line=469, offs=42) */ ATSstaticdec() ats_int_type avltree_split_at_04095_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_clo_ref_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab_avltree_split_at_04095_ats_ptr_type: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_58_1: tmp231 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp234 = compare_elt_elt_03749_ats_ptr_type (arg1, tmp231, arg4) ; tmp235 = atspre_lt_int_int (tmp234, 0) ; if (tmp235) { tmp236 = avltree_split_at_04095_ats_ptr_type (tmp232, arg1, arg2, arg3, arg4) ; tmp237 = avltree_join_04084_ats_ptr_type (tmp231, ats_ptrget_mac(ats_ptr_type, arg3), tmp233) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp237 ; tmp230 = tmp236 ; } else { tmp284 = atspre_gt_int_int (tmp234, 0) ; if (tmp284) { tmp285 = avltree_split_at_04095_ats_ptr_type (tmp233, arg1, arg2, arg3, arg4) ; tmp286 = avltree_join_04084_ats_ptr_type (tmp231, tmp232, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp286 ; tmp230 = tmp285 ; } else { ats_ptrget_mac(ats_ptr_type, arg2) = tmp232 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp233 ; tmp230 = 1 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: tmp287 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp287 ; tmp288 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp288 ; tmp230 = 0 ; break ; } while (0) ; return (tmp230) ; } /* end of [avltree_split_at_04095_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 14263(line=512, offs=7) -- 14763(line=526, offs=8) */ ATSstaticdec() ats_ptr_type union_44 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab_union_44: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: __ats_lab_55_2: tmp223 = arg1 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_57_1 ; } __ats_lab_56_2: tmp223 = arg0 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: __ats_lab_57_2: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp224 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; /* ats_ptr_type tmp227 ; */ /* ats_ptr_type tmp228 ; */ tmp229 = avltree_split_at_04095_ats_ptr_type (arg1, tmp224, (&tmp227), (&tmp228), env0) ; tmp289 = union_44 (env0, tmp225, tmp227) ; tmp290 = union_44 (env0, tmp226, tmp228) ; tmp223 = avltree_join_04084_ats_ptr_type (tmp224, tmp289, tmp290) ; break ; } while (0) ; return (tmp223) ; } /* end of [union_44] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } union_44_closure_type ; ats_ptr_type union_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return union_44 (((union_44_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type union_44_closure_init (union_44_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&union_44_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type union_44_closure_make (ats_clo_ref_type env0) { union_44_closure_type *p_clo = ATS_MALLOC(sizeof(union_44_closure_type)) ; union_44_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 14218(line=511, offs=3) -- 14825(line=528, offs=2) */ ATSstaticdec() ats_ptr_type funset_union_03763_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; __ats_lab_funset_union_03763_ats_ptr_type: tmp222 = union_44 (arg2, arg0, arg1) ; return (tmp222) ; } /* end of [funset_union_03763_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7377(line=298, offs=3) -- 7418(line=298, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_union (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_union: tmp221 = funset_union_03763_ats_ptr_type (arg0, arg1, statmp75) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_union] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20241(line=721, offs=7) -- 20545(line=732, offs=18) */ ATSstaticdec() ats_ptr_type listize_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; __ats_lab_listize_51: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp297 = listize_51 (tmp296, arg1) ; tmp298 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp298, atslab_0, tmp294) ; ats_selptrset_mac(anairiats_sum_2, tmp298, atslab_1, tmp297) ; arg0 = tmp295 ; arg1 = tmp298 ; goto __ats_lab_listize_51 ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp293 = arg1 ; break ; } while (0) ; return (tmp293) ; } /* end of [listize_51] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20189(line=719, offs=16) -- 20605(line=736, offs=4) */ ATSstaticdec() ats_ptr_type funset_listize_03774_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp299) ; __ats_lab_funset_listize_03774_ats_ptr_type: tmp299 = (ats_sum_ptr_type)0 ; tmp292 = listize_51 (arg0, tmp299) ; return (tmp292) ; } /* end of [funset_listize_03774_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7447(line=301, offs=18) -- 7476(line=301, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_listize: tmp291 = funset_listize_03774_ats_ptr_type (arg0) ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_03776_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; __ats_lab_linset_make_nil_03776_: tmp301 = (ats_sum_ptr_type)0 ; return (tmp301) ; } /* end of [linset_make_nil_03776_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7528(line=307, offs=3) -- 7563(line=307, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil: tmp300 = linset_make_nil_03776_ () ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_03775_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp312) ; __ats_lab_compare_elt_elt_03775_ats_ptr_type: tmp312 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp312) ; } /* end of [compare_elt_elt_03775_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_04251_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; __ats_lab_avltree_height_04251_ats_ptr_type: do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp318 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp317 = tmp318 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: tmp317 = 0 ; break ; } while (0) ; return (tmp317) ; } /* end of [avltree_height_04251_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04305_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_int_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_bool_type, tmp336) ; ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_int_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_int_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_int_type, tmp350) ; ATSlocal (ats_int_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; __ats_lab_avltree_rrotate_04305_ats_ptr_type: tmp328 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp328 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp329 = &ats_caselptrlab_mac(anairiats_sum_3, tmp328, atslab_0) ; tmp330 = &ats_caselptrlab_mac(anairiats_sum_3, tmp328, atslab_2) ; tmp331 = &ats_caselptrlab_mac(anairiats_sum_3, tmp328, atslab_3) ; tmp333 = ats_ptrget_mac(ats_ptr_type, tmp330) ; tmp332 = avltree_height_04251_ats_ptr_type (tmp333) ; tmp335 = ats_ptrget_mac(ats_ptr_type, tmp331) ; tmp334 = avltree_height_04251_ats_ptr_type (tmp335) ; tmp337 = atspre_iadd (tmp332, 0) ; tmp336 = atspre_igte (tmp337, tmp334) ; if (tmp336) { tmp338 = atspre_iadd (tmp334, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp338 ; tmp339 = ats_ptrget_mac(ats_ptr_type, tmp331) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp339 ; tmp341 = atspre_imax (tmp332, tmp338) ; tmp340 = atspre_iadd (1, tmp341) ; ats_ptrget_mac(ats_int_type, tmp329) = tmp340 ; ats_ptrget_mac(ats_ptr_type, tmp331) = arg5 ; tmp327 = tmp328 ; } else { tmp342 = ats_ptrget_mac(ats_ptr_type, tmp331) ; // if (tmp342 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp343 = &ats_caselptrlab_mac(anairiats_sum_3, tmp342, atslab_0) ; tmp344 = &ats_caselptrlab_mac(anairiats_sum_3, tmp342, atslab_2) ; tmp345 = &ats_caselptrlab_mac(anairiats_sum_3, tmp342, atslab_3) ; tmp347 = ats_ptrget_mac(ats_ptr_type, tmp344) ; tmp346 = avltree_height_04251_ats_ptr_type (tmp347) ; tmp349 = ats_ptrget_mac(ats_ptr_type, tmp345) ; tmp348 = avltree_height_04251_ats_ptr_type (tmp349) ; tmp351 = atspre_imax (tmp348, arg3) ; tmp350 = atspre_iadd (1, tmp351) ; ats_ptrget_mac(ats_int_type, arg0) = tmp350 ; tmp352 = ats_ptrget_mac(ats_ptr_type, tmp345) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp352 ; tmp354 = atspre_imax (tmp332, tmp346) ; tmp353 = atspre_iadd (1, tmp354) ; ats_ptrget_mac(ats_int_type, tmp329) = tmp353 ; tmp355 = ats_ptrget_mac(ats_ptr_type, tmp344) ; ats_ptrget_mac(ats_ptr_type, tmp331) = tmp355 ; ats_ptrget_mac(ats_int_type, tmp343) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp344) = tmp328 ; ats_ptrget_mac(ats_ptr_type, tmp345) = arg5 ; tmp327 = tmp342 ; } /* end of [if] */ return (tmp327) ; } /* end of [avltree_rrotate_04305_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04281_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_int_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_int_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_bool_type, tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_int_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_int_type, tmp380) ; ATSlocal (ats_int_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_int_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_int_type, tmp390) ; ATSlocal (ats_int_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_int_type, tmp393) ; ATSlocal (ats_int_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; __ats_lab_avltree_lrotate_04281_ats_ptr_type: tmp368 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp368 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp369 = &ats_caselptrlab_mac(anairiats_sum_3, tmp368, atslab_0) ; tmp370 = &ats_caselptrlab_mac(anairiats_sum_3, tmp368, atslab_2) ; tmp371 = &ats_caselptrlab_mac(anairiats_sum_3, tmp368, atslab_3) ; tmp373 = ats_ptrget_mac(ats_ptr_type, tmp370) ; tmp372 = avltree_height_04251_ats_ptr_type (tmp373) ; tmp375 = ats_ptrget_mac(ats_ptr_type, tmp371) ; tmp374 = avltree_height_04251_ats_ptr_type (tmp375) ; tmp377 = atspre_iadd (tmp374, 0) ; tmp376 = atspre_ilte (tmp372, tmp377) ; if (tmp376) { tmp378 = atspre_iadd (tmp372, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp378 ; tmp379 = ats_ptrget_mac(ats_ptr_type, tmp370) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp379 ; tmp381 = atspre_imax (tmp378, tmp374) ; tmp380 = atspre_iadd (1, tmp381) ; ats_ptrget_mac(ats_int_type, tmp369) = tmp380 ; ats_ptrget_mac(ats_ptr_type, tmp370) = arg5 ; tmp367 = tmp368 ; } else { tmp382 = ats_ptrget_mac(ats_ptr_type, tmp370) ; // if (tmp382 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp383 = &ats_caselptrlab_mac(anairiats_sum_3, tmp382, atslab_0) ; tmp384 = &ats_caselptrlab_mac(anairiats_sum_3, tmp382, atslab_2) ; tmp385 = &ats_caselptrlab_mac(anairiats_sum_3, tmp382, atslab_3) ; tmp387 = ats_ptrget_mac(ats_ptr_type, tmp384) ; tmp386 = avltree_height_04251_ats_ptr_type (tmp387) ; tmp389 = ats_ptrget_mac(ats_ptr_type, tmp385) ; tmp388 = avltree_height_04251_ats_ptr_type (tmp389) ; tmp391 = atspre_imax (arg1, tmp386) ; tmp390 = atspre_iadd (1, tmp391) ; ats_ptrget_mac(ats_int_type, arg0) = tmp390 ; tmp392 = ats_ptrget_mac(ats_ptr_type, tmp384) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp392 ; tmp394 = atspre_imax (tmp388, tmp374) ; tmp393 = atspre_iadd (1, tmp394) ; ats_ptrget_mac(ats_int_type, tmp369) = tmp393 ; tmp395 = ats_ptrget_mac(ats_ptr_type, tmp385) ; ats_ptrget_mac(ats_ptr_type, tmp370) = tmp395 ; ats_ptrget_mac(ats_int_type, tmp383) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp384) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp385) = tmp368 ; tmp367 = tmp382 ; } /* end of [if] */ return (tmp367) ; } /* end of [avltree_lrotate_04281_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_56 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_int_type, tmp311) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_bool_type, tmp314) ; ATSlocal (ats_bool_type, tmp315) ; ATSlocal (ats_int_type, tmp316) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_bool_type, tmp322) ; ATSlocal (ats_int_type, tmp323) ; ATSlocal (ats_int_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_bool_type, tmp356) ; ATSlocal (ats_bool_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_int_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_int_type, tmp363) ; ATSlocal (ats_int_type, tmp364) ; ATSlocal (ats_int_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; __ats_lab_insert_56: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_82_1: tmp307 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp308 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp309 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp310 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp313 = ats_ptrget_mac(ats_ptr_type, tmp308) ; tmp311 = compare_elt_elt_03775_ats_ptr_type (arg1, tmp313, env0) ; tmp314 = atspre_lt_int_int (tmp311, 0) ; if (tmp314) { tmp315 = insert_56 (env0, tmp309, arg1) ; tmp319 = ats_ptrget_mac(ats_ptr_type, tmp309) ; tmp316 = avltree_height_04251_ats_ptr_type (tmp319) ; tmp321 = ats_ptrget_mac(ats_ptr_type, tmp310) ; tmp320 = avltree_height_04251_ats_ptr_type (tmp321) ; tmp323 = atspre_isub (tmp316, tmp320) ; tmp322 = atspre_ilte (tmp323, 1) ; if (tmp322) { tmp325 = atspre_imax (tmp316, tmp320) ; tmp324 = atspre_iadd (1, tmp325) ; ats_ptrget_mac(ats_int_type, tmp307) = tmp324 ; tmp306 = tmp315 ; } else { tmp326 = avltree_rrotate_04305_ats_ptr_type (tmp307, tmp316, tmp309, tmp320, tmp310, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp326 ; tmp306 = tmp315 ; } /* end of [if] */ } else { tmp356 = atspre_gt_int_int (tmp311, 0) ; if (tmp356) { tmp357 = insert_56 (env0, tmp310, arg1) ; tmp359 = ats_ptrget_mac(ats_ptr_type, tmp309) ; tmp358 = avltree_height_04251_ats_ptr_type (tmp359) ; tmp361 = ats_ptrget_mac(ats_ptr_type, tmp310) ; tmp360 = avltree_height_04251_ats_ptr_type (tmp361) ; tmp363 = atspre_isub (tmp360, tmp358) ; tmp362 = atspre_ilte (tmp363, 1) ; if (tmp362) { tmp365 = atspre_imax (tmp358, tmp360) ; tmp364 = atspre_iadd (1, tmp365) ; ats_ptrget_mac(ats_int_type, tmp307) = tmp364 ; tmp306 = tmp357 ; } else { tmp366 = avltree_lrotate_04281_ats_ptr_type (tmp307, tmp358, tmp309, tmp360, tmp310, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp366 ; tmp306 = tmp357 ; } /* end of [if] */ } else { tmp306 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp397 = (ats_sum_ptr_type)0 ; tmp398 = (ats_sum_ptr_type)0 ; tmp396 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp396, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_3, tmp396, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp396, atslab_2, tmp397) ; ats_selptrset_mac(anairiats_sum_3, tmp396, atslab_3, tmp398) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp396 ; tmp306 = ats_false_bool ; break ; } while (0) ; return (tmp306) ; } /* end of [insert_56] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_56_closure_type ; ats_bool_type insert_56_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_56 (((insert_56_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_56_closure_init (insert_56_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_56_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_56_closure_make (ats_clo_ref_type env0) { insert_56_closure_type *p_clo = ATS_MALLOC(sizeof(insert_56_closure_type)) ; insert_56_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_03785_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp305) ; __ats_lab_linset_insert_03785_ats_ptr_type: tmp305 = insert_56 (arg2, arg0, arg1) ; return (tmp305) ; } /* end of [linset_insert_03785_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7593(line=311, offs=3) -- 7682(line=314, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_bool_type, tmp304) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add: /* ats_ptr_type tmp303 ; */ tmp303 = arg0 ; tmp304 = linset_insert_03785_ats_ptr_type ((&tmp303), arg1, statmp75) ; tmp302 = tmp303 ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 10551(line=405, offs=35) -- 11507(line=438, offs=4) */ ATSstaticdec() ats_ptr_type avltree_takeout_min_04350_ats_ptr_type (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_int_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_int_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_bool_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_int_type, tmp443) ; ATSlocal (ats_int_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; __ats_lab_avltree_takeout_min_04350_ats_ptr_type: // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp432 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp433 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp434 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp435 = ats_ptrget_mac(ats_ptr_type, tmp433) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (tmp435 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp436 = avltree_takeout_min_04350_ats_ptr_type (tmp433) ; tmp438 = ats_ptrget_mac(ats_ptr_type, tmp433) ; tmp437 = avltree_height_04251_ats_ptr_type (tmp438) ; tmp440 = ats_ptrget_mac(ats_ptr_type, tmp434) ; tmp439 = avltree_height_04251_ats_ptr_type (tmp440) ; tmp442 = atspre_isub (tmp439, tmp437) ; tmp441 = atspre_ilte (tmp442, 1) ; if (tmp441) { tmp444 = atspre_imax (tmp437, tmp439) ; tmp443 = atspre_iadd (1, tmp444) ; ats_ptrget_mac(ats_int_type, tmp432) = tmp443 ; tmp431 = tmp436 ; } else { tmp445 = avltree_lrotate_04281_ats_ptr_type (tmp432, tmp437, tmp433, tmp439, tmp434, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp445 ; tmp431 = tmp436 ; } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (tmp435 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: tmp446 = ats_ptrget_mac(ats_ptr_type, tmp434) ; tmp447 = ats_ptrget_mac(ats_ptr_type, arg0) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp446 ; tmp431 = ats_castfn_mac(ats_ptr_type, tmp447) ; break ; } while (0) ; return (tmp431) ; } /* end of [avltree_takeout_min_04350_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 11633(line=445, offs=7) -- 14462(line=519, offs=6) */ ATSstaticdec() ats_bool_type remove_63 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_int_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_bool_type, tmp410) ; ATSlocal (ats_bool_type, tmp411) ; ATSlocal (ats_int_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_int_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (ats_int_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_bool_type, tmp419) ; ATSlocal (ats_bool_type, tmp420) ; ATSlocal (ats_int_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_bool_type, tmp425) ; ATSlocal (ats_int_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_int_type, tmp451) ; ATSlocal (ats_int_type, tmp452) ; ATSlocal (ats_bool_type, tmp453) ; ATSlocal (ats_int_type, tmp454) ; ATSlocal (ats_int_type, tmp455) ; ATSlocal (ats_int_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; __ats_lab_remove_63: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_86_1: tmp404 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp405 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp406 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp407 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp409 = ats_ptrget_mac(ats_ptr_type, tmp405) ; tmp408 = compare_elt_elt_03775_ats_ptr_type (env0, tmp409, env1) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: __ats_lab_87_1: tmp410 = atspre_lt_int_int (tmp408, 0) ; if (!tmp410) { goto __ats_lab_88_1 ; } tmp411 = remove_63 (env0, env1, tmp406) ; tmp413 = ats_ptrget_mac(ats_ptr_type, tmp406) ; tmp412 = avltree_height_04251_ats_ptr_type (tmp413) ; tmp415 = ats_ptrget_mac(ats_ptr_type, tmp407) ; tmp414 = avltree_height_04251_ats_ptr_type (tmp415) ; tmp417 = atspre_isub (tmp414, tmp412) ; tmp416 = atspre_ilte (tmp417, 1) ; if (tmp416) { tmp403 = tmp411 ; } else { tmp418 = avltree_lrotate_04281_ats_ptr_type (tmp404, tmp412, tmp406, tmp414, tmp407, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp418 ; tmp403 = tmp411 ; } /* end of [if] */ break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp419 = atspre_gt_int_int (tmp408, 0) ; if (!tmp419) { goto __ats_lab_89_1 ; } tmp420 = remove_63 (env0, env1, tmp407) ; tmp422 = ats_ptrget_mac(ats_ptr_type, tmp406) ; tmp421 = avltree_height_04251_ats_ptr_type (tmp422) ; tmp424 = ats_ptrget_mac(ats_ptr_type, tmp407) ; tmp423 = avltree_height_04251_ats_ptr_type (tmp424) ; tmp426 = atspre_isub (tmp421, tmp423) ; tmp425 = atspre_ilte (tmp426, 1) ; if (tmp425) { tmp403 = tmp420 ; } else { tmp427 = avltree_rrotate_04305_ats_ptr_type (tmp404, tmp421, tmp406, tmp423, tmp407, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp427 ; tmp403 = tmp420 ; } /* end of [if] */ break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: /* ats_ptr_type tmp428 ; */ tmp428 = ats_ptrget_mac(ats_ptr_type, tmp406) ; /* ats_ptr_type tmp429 ; */ tmp429 = ats_ptrget_mac(ats_ptr_type, tmp407) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (tmp429 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_90_1: tmp430 = avltree_takeout_min_04350_ats_ptr_type ((&tmp429)) ; if (tmp430 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 13492(line=496, offs=21) -- 13529(line=496, offs=58)") ; } tmp448 = &ats_caselptrlab_mac(anairiats_sum_3, tmp430, atslab_0) ; tmp449 = &ats_caselptrlab_mac(anairiats_sum_3, tmp430, atslab_2) ; tmp450 = &ats_caselptrlab_mac(anairiats_sum_3, tmp430, atslab_3) ; tmp451 = avltree_height_04251_ats_ptr_type (tmp428) ; tmp452 = avltree_height_04251_ats_ptr_type (tmp429) ; ats_ptrget_mac(ats_ptr_type, tmp449) = tmp428 ; ats_ptrget_mac(ats_ptr_type, tmp450) = tmp429 ; tmp454 = atspre_isub (tmp451, tmp452) ; tmp453 = atspre_ilte (tmp454, 1) ; if (tmp453) { tmp456 = atspre_imax (tmp451, tmp452) ; tmp455 = atspre_iadd (1, tmp456) ; ats_ptrget_mac(ats_int_type, tmp448) = tmp455 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp430 ; tmp403 = ats_true_bool ; } else { tmp457 = avltree_rrotate_04305_ats_ptr_type (tmp448, tmp451, tmp449, tmp452, tmp450, tmp430) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp457 ; tmp403 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (tmp429 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: ats_ptrget_mac(ats_ptr_type, arg0) = tmp428 ; tmp403 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp403 = ats_false_bool ; break ; } while (0) ; return (tmp403) ; } /* end of [remove_63] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } remove_63_closure_type ; ats_bool_type remove_63_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0) { return remove_63 (((remove_63_closure_type*)cloptr)->closure_env_0, ((remove_63_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type remove_63_closure_init (remove_63_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&remove_63_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type remove_63_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { remove_63_closure_type *p_clo = ATS_MALLOC(sizeof(remove_63_closure_type)) ; remove_63_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 11591(line=444, offs=3) -- 14483(line=520, offs=2) */ ATSstaticdec() ats_bool_type linset_remove_03786_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp402) ; __ats_lab_linset_remove_03786_ats_ptr_type: tmp402 = remove_63 (arg1, arg2, arg0) ; return (tmp402) ; } /* end of [linset_remove_03786_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7740(line=318, offs=3) -- 7828(line=321, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_del (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_bool_type, tmp401) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_del: /* ats_ptr_type tmp400 ; */ tmp400 = arg0 ; tmp401 = linset_remove_03786_ats_ptr_type ((&tmp400), arg1, statmp75) ; tmp399 = tmp400 ; return (tmp399) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_del] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7912(line=326, offs=7) -- 8104(line=331, offs=25) */ ATSstaticdec() ats_ptr_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; __ats_lab_loop_66: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp460 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_del (arg0, tmp460) ; arg0 = tmp462 ; arg1 = tmp461 ; goto __ats_lab_loop_66 ; // tail call break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_96_1: tmp459 = arg0 ; break ; } while (0) ; return (tmp459) ; } /* end of [loop_66] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 7889(line=325, offs=3) -- 8148(line=335, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp458) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist: tmp458 = loop_66 (arg0, arg1) ; return (tmp458) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 14636(line=529, offs=33) -- 15739(line=565, offs=4) */ ATSstaticdec() ats_ptr_type avltree_ljoin_04399_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_int_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; ATSlocal (ats_bool_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_int_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_bool_type, tmp505) ; ATSlocal (ats_int_type, tmp506) ; ATSlocal (ats_int_type, tmp507) ; ATSlocal (ats_int_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_int_type, tmp512) ; __ats_lab_avltree_ljoin_04399_ats_ptr_type: tmp492 = avltree_height_04251_ats_ptr_type (arg1) ; tmp493 = avltree_height_04251_ats_ptr_type (arg2) ; tmp495 = atspre_iadd (tmp493, 2) ; tmp494 = atspre_igte (tmp492, tmp495) ; if (tmp494) { // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp496 = &ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp497 = &ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_2) ; tmp498 = &ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_3) ; tmp500 = ats_ptrget_mac(ats_ptr_type, tmp498) ; tmp499 = avltree_ljoin_04399_ats_ptr_type (arg0, tmp500, arg2) ; ats_ptrget_mac(ats_ptr_type, tmp498) = tmp499 ; tmp502 = ats_ptrget_mac(ats_ptr_type, tmp497) ; tmp501 = avltree_height_04251_ats_ptr_type (tmp502) ; tmp504 = ats_ptrget_mac(ats_ptr_type, tmp498) ; tmp503 = avltree_height_04251_ats_ptr_type (tmp504) ; tmp506 = atspre_iadd (tmp501, 1) ; tmp505 = atspre_ilte (tmp503, tmp506) ; if (tmp505) { tmp508 = atspre_imax (tmp501, tmp503) ; tmp507 = atspre_iadd (tmp508, 1) ; ats_ptrget_mac(ats_int_type, tmp496) = tmp507 ; tmp491 = arg1 ; } else { tmp491 = avltree_lrotate_04281_ats_ptr_type (tmp496, tmp501, tmp497, tmp503, tmp498, arg1) ; } /* end of [if] */ } else { if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 15582(line=559, offs=9) -- 15612(line=559, offs=39)") ; } tmp509 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp510 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp511 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp512 = atspre_iadd (tmp492, 1) ; ats_ptrget_mac(ats_int_type, tmp509) = tmp512 ; ats_ptrget_mac(ats_ptr_type, tmp510) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp511) = arg2 ; tmp491 = arg0 ; } /* end of [if] */ return (tmp491) ; } /* end of [avltree_ljoin_04399_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 15871(line=572, offs=32) -- 16972(line=608, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rjoin_04419_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_int_type, tmp514) ; ATSlocal (ats_int_type, tmp515) ; ATSlocal (ats_bool_type, tmp516) ; ATSlocal (ats_int_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_int_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_bool_type, tmp527) ; ATSlocal (ats_int_type, tmp528) ; ATSlocal (ats_int_type, tmp529) ; ATSlocal (ats_int_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_int_type, tmp534) ; __ats_lab_avltree_rjoin_04419_ats_ptr_type: tmp514 = avltree_height_04251_ats_ptr_type (arg1) ; tmp515 = avltree_height_04251_ats_ptr_type (arg2) ; tmp517 = atspre_iadd (tmp514, 2) ; tmp516 = atspre_igte (tmp515, tmp517) ; if (tmp516) { // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp518 = &ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp519 = &ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; tmp520 = &ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_3) ; tmp522 = ats_ptrget_mac(ats_ptr_type, tmp519) ; tmp521 = avltree_rjoin_04419_ats_ptr_type (arg0, arg1, tmp522) ; ats_ptrget_mac(ats_ptr_type, tmp519) = tmp521 ; tmp524 = ats_ptrget_mac(ats_ptr_type, tmp519) ; tmp523 = avltree_height_04251_ats_ptr_type (tmp524) ; tmp526 = ats_ptrget_mac(ats_ptr_type, tmp520) ; tmp525 = avltree_height_04251_ats_ptr_type (tmp526) ; tmp528 = atspre_iadd (tmp525, 1) ; tmp527 = atspre_ilte (tmp523, tmp528) ; if (tmp527) { tmp530 = atspre_imax (tmp523, tmp525) ; tmp529 = atspre_iadd (tmp530, 1) ; ats_ptrget_mac(ats_int_type, tmp518) = tmp529 ; tmp513 = arg2 ; } else { tmp513 = avltree_rrotate_04305_ats_ptr_type (tmp518, tmp523, tmp519, tmp525, tmp520, arg2) ; } /* end of [if] */ } else { if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 16815(line=602, offs=9) -- 16845(line=602, offs=39)") ; } tmp531 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp532 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp533 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp534 = atspre_iadd (tmp515, 1) ; ats_ptrget_mac(ats_int_type, tmp531) = tmp534 ; ats_ptrget_mac(ats_ptr_type, tmp532) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp533) = arg2 ; tmp513 = arg0 ; } /* end of [if] */ return (tmp513) ; } /* end of [avltree_rjoin_04419_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 17060(line=614, offs=15) -- 17380(line=624, offs=4) */ ATSstaticdec() ats_ptr_type avltree_join_04439_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_int_type, tmp488) ; ATSlocal (ats_int_type, tmp489) ; ATSlocal (ats_bool_type, tmp490) ; __ats_lab_avltree_join_04439_ats_ptr_type: tmp488 = avltree_height_04251_ats_ptr_type (arg1) ; tmp489 = avltree_height_04251_ats_ptr_type (arg2) ; tmp490 = atspre_igte (tmp488, tmp489) ; if (tmp490) { tmp487 = avltree_ljoin_04399_ats_ptr_type (arg0, arg1, arg2) ; } else { tmp487 = avltree_rjoin_04419_ats_ptr_type (arg0, arg1, arg2) ; } /* end of [if] */ return (tmp487) ; } /* end of [avltree_join_04439_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 17875(line=647, offs=32) -- 19018(line=684, offs=8) */ ATSstaticdec() ats_int_type avltree_split_at_04450_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_clo_ref_type arg5) { /* local vardec */ ATSlocal (ats_int_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_int_type, tmp483) ; ATSlocal (ats_bool_type, tmp484) ; ATSlocal (ats_int_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_bool_type, tmp535) ; ATSlocal (ats_int_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; __ats_lab_avltree_split_at_04450_ats_ptr_type: do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp477 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp478 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp479 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp480 = ats_ptrget_mac(ats_ptr_type, tmp477) ; tmp481 = ats_ptrget_mac(ats_ptr_type, tmp478) ; tmp482 = ats_ptrget_mac(ats_ptr_type, tmp479) ; tmp483 = compare_elt_elt_03775_ats_ptr_type (arg1, tmp480, arg5) ; tmp484 = atspre_lt_int_int (tmp483, 0) ; if (tmp484) { tmp485 = avltree_split_at_04450_ats_ptr_type (tmp481, arg1, arg2, arg3, arg4, arg5) ; tmp486 = avltree_join_04439_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), ats_ptrget_mac(ats_ptr_type, arg4), tmp482) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp486 ; tmp476 = tmp485 ; } else { tmp535 = atspre_gt_int_int (tmp483, 0) ; if (tmp535) { tmp536 = avltree_split_at_04450_ats_ptr_type (tmp482, arg1, arg2, arg3, arg4, arg5) ; tmp537 = avltree_join_04439_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), tmp481, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp537 ; tmp476 = tmp536 ; } else { ats_ptrget_mac(ats_ptr_type, arg2) = ats_castfn_mac(ats_ptr_type, arg0) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp481 ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp482 ; tmp476 = 1 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp538 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp538 ; tmp539 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp539 ; tmp476 = 0 ; break ; } while (0) ; return (tmp476) ; } /* end of [avltree_split_at_04450_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 19901(line=728, offs=21) -- 20224(line=744, offs=4) */ ATSstaticdec() ats_void_type B_node_free_opt_04476_ (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp541) ; ATSlocal (ats_bool_type, tmp542) ; __ats_lab_B_node_free_opt_04476_: tmp542 = atspre_igt (arg1, 0) ; if (tmp542) { // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } ATS_FREE(arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp541) */ ; } /* end of [B_node_free_opt_04476_] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 20348(line=751, offs=7) -- 21139(line=772, offs=8) */ ATSstaticdec() ats_ptr_type union_69 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_int_type, tmp475) ; // ATSlocal_void (tmp540) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; __ats_lab_union_69: do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: __ats_lab_97_2: tmp465 = arg1 ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_99_1 ; } __ats_lab_98_2: tmp465 = arg0 ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: __ats_lab_99_1: __ats_lab_99_2: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp466 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp467 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp468 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp469 = ats_ptrget_mac(ats_ptr_type, tmp466) ; tmp470 = ats_ptrget_mac(ats_ptr_type, tmp467) ; tmp471 = ats_ptrget_mac(ats_ptr_type, tmp468) ; /* ats_ptr_type tmp472 ; */ /* ats_ptr_type tmp473 ; */ /* ats_ptr_type tmp474 ; */ tmp475 = avltree_split_at_04450_ats_ptr_type (arg1, tmp469, (&tmp472), (&tmp473), (&tmp474), env0) ; /* tmp540 = */ B_node_free_opt_04476_ (tmp472, tmp475) ; tmp543 = union_69 (env0, tmp470, tmp473) ; tmp544 = union_69 (env0, tmp471, tmp474) ; tmp465 = avltree_join_04439_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), tmp543, tmp544) ; break ; } while (0) ; return (tmp465) ; } /* end of [union_69] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } union_69_closure_type ; ats_ptr_type union_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return union_69 (((union_69_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type union_69_closure_init (union_69_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&union_69_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type union_69_closure_make (ats_clo_ref_type env0) { union_69_closure_type *p_clo = ATS_MALLOC(sizeof(union_69_closure_type)) ; union_69_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 20303(line=750, offs=3) -- 21177(line=774, offs=2) */ ATSstaticdec() ats_ptr_type linset_union_03789_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp464) ; __ats_lab_linset_union_03789_ats_ptr_type: tmp464 = union_69 (arg2, arg0, arg1) ; return (tmp464) ; } /* end of [linset_union_03789_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8209(line=338, offs=19) -- 8250(line=338, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp463) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union: tmp463 = linset_union_03789_ats_ptr_type (arg0, arg1, statmp75) ; return (tmp463) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_77 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; // ATSlocal_void (tmp550) ; __ats_lab_aux_77: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp548 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp549 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp550 = */ aux_77 (tmp548) ; arg0 = tmp549 ; goto __ats_lab_aux_77 ; // tail call break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: break ; } while (0) ; return /* (tmp547) */ ; } /* end of [aux_77] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_03783_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp546) ; __ats_lab_linset_free_03783_ats_ptr_type: /* tmp546 = */ aux_77 (arg0) ; return /* (tmp546) */ ; } /* end of [linset_free_03783_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8279(line=341, offs=18) -- 8305(line=341, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp545) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_free: /* tmp545 = */ linset_free_03783_ats_ptr_type (arg0) ; return /* (tmp545) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_80 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; __ats_lab_aux_80: do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp554 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp555 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp556 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp557 = aux_80 (tmp556, arg1) ; tmp558 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp558, atslab_0, tmp554) ; ats_selptrset_mac(anairiats_sum_2, tmp558, atslab_1, tmp557) ; arg0 = tmp555 ; arg1 = tmp558 ; goto __ats_lab_aux_80 ; // tail call break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp553 = arg1 ; break ; } while (0) ; return (tmp553) ; } /* end of [aux_80] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_03801_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp559) ; __ats_lab_linset_listize_free_03801_ats_ptr_type: tmp559 = (ats_sum_ptr_type)0 ; tmp552 = aux_80 (arg0, tmp559) ; return (tmp552) ; } /* end of [linset_listize_free_03801_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8342(line=343, offs=26) -- 8376(line=343, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp551) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free: tmp551 = linset_listize_free_03801_ats_ptr_type (arg0) ; return (tmp551) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8582(line=360, offs=1) -- 8667(line=363, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_81 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp560) ; __ats_lab___ats_fun_81: tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg1, arg0) ; return (tmp560) ; } /* end of [__ats_fun_81] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_81_closure_type ; ats_int_type __ats_fun_81_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_81 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_81_closure_init (__ats_fun_81_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_81_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_81_closure_make () { __ats_fun_81_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_81_closure_type)) ; __ats_fun_81_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 2250(line=74, offs=18) -- 2266(line=74, offs=34) */ ATSstaticdec() ats_ptr_type funmset_make_nil_03808_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp563) ; __ats_lab_funmset_make_nil_03808_: tmp563 = (ats_sum_ptr_type)0 ; return (tmp563) ; } /* end of [funmset_make_nil_03808_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8754(line=369, offs=15) -- 8784(line=369, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_nil: tmp562 = funmset_make_nil_03808_ () ; return (tmp562) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 2298(line=76, offs=19) -- 2332(line=76, offs=53) */ ATSstaticdec() ats_ptr_type funmset_make_sing_03809_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (anairiats_rec_4, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; __ats_lab_funmset_make_sing_03809_ats_ptr_type: tmp566.atslab_0 = 1 ; tmp566.atslab_1 = arg0 ; tmp567 = (ats_sum_ptr_type)0 ; tmp565 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp565, atslab_0, tmp566) ; ats_selptrset_mac(anairiats_sum_5, tmp565, atslab_1, tmp567) ; return (tmp565) ; } /* end of [funmset_make_sing_03809_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8810(line=371, offs=16) -- 8842(line=371, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_sing (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp564) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_sing: tmp564 = funmset_make_sing_03809_ats_ptr_type (arg0) ; return (tmp564) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_sing] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 1928(line=58, offs=32) -- 1956(line=58, offs=60) */ ATSstaticdec() ats_int_type compare_elt_elt_03807_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp571) ; __ats_lab_compare_elt_elt_03807_ats_ptr_type: tmp571 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp571) ; } /* end of [compare_elt_elt_03807_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 2367(line=80, offs=3) -- 2710(line=98, offs=4) */ ATSstaticdec() ats_ptr_type funmset_make_pair_03810_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_int_type, tmp570) ; ATSlocal (ats_bool_type, tmp572) ; ATSlocal (anairiats_rec_4, tmp573) ; ATSlocal (anairiats_rec_4, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_bool_type, tmp577) ; ATSlocal (anairiats_rec_4, tmp578) ; ATSlocal (anairiats_rec_4, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (anairiats_rec_4, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; __ats_lab_funmset_make_pair_03810_ats_ptr_type: tmp570 = compare_elt_elt_03807_ats_ptr_type (arg0, arg1, arg2) ; tmp572 = atspre_gt_int_int (tmp570, 0) ; if (tmp572) { tmp573.atslab_0 = 1 ; tmp573.atslab_1 = arg0 ; tmp574.atslab_0 = 1 ; tmp574.atslab_1 = arg1 ; tmp576 = (ats_sum_ptr_type)0 ; tmp575 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp575, atslab_0, tmp574) ; ats_selptrset_mac(anairiats_sum_5, tmp575, atslab_1, tmp576) ; tmp569 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_0, tmp573) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_1, tmp575) ; } else { tmp577 = atspre_lt_int_int (tmp570, 0) ; if (tmp577) { tmp578.atslab_0 = 1 ; tmp578.atslab_1 = arg0 ; tmp579.atslab_0 = 1 ; tmp579.atslab_1 = arg1 ; tmp581 = (ats_sum_ptr_type)0 ; tmp580 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp580, atslab_0, tmp578) ; ats_selptrset_mac(anairiats_sum_5, tmp580, atslab_1, tmp581) ; tmp569 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_0, tmp579) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_1, tmp580) ; } else { tmp582.atslab_0 = 2 ; tmp582.atslab_1 = arg0 ; tmp583 = (ats_sum_ptr_type)0 ; tmp569 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_0, tmp582) ; ats_selptrset_mac(anairiats_sum_5, tmp569, atslab_1, tmp583) ; } /* end of [if] */ } /* end of [if] */ return (tmp569) ; } /* end of [funmset_make_pair_03810_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8871(line=374, offs=3) -- 8919(line=374, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_pair (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp568) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_pair: tmp568 = funmset_make_pair_03810_ats_ptr_type (arg0, arg1, statmp561) ; return (tmp568) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_pair] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 10230(line=419, offs=5) -- 10916(line=444, offs=2) */ ATSstaticdec() ats_int_type aux_91 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp587) ; ATSlocal (anairiats_rec_4, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (anairiats_rec_4, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_int_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_bool_type, tmp595) ; ATSlocal (ats_bool_type, tmp596) ; ATSlocal (ats_int_type, tmp597) ; ATSlocal (ats_int_type, tmp598) ; ATSlocal (ats_bool_type, tmp599) ; ATSlocal (ats_bool_type, tmp600) ; __ats_lab_aux_91: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_106_1: tmp588 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp589 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp590 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp591 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp593 = ats_select_mac(tmp588, atslab_1) ; tmp594 = ats_select_mac(tmp590, atslab_1) ; tmp592 = compare_elt_elt_03807_ats_ptr_type (tmp593, tmp594, env0) ; tmp595 = atspre_gt_int_int (tmp592, 0) ; if (tmp595) { tmp587 = 1 ; } else { tmp596 = atspre_lt_int_int (tmp592, 0) ; if (tmp596) { tmp587 = -1 ; } else { tmp597 = ats_select_mac(tmp588, atslab_0) ; tmp598 = ats_select_mac(tmp590, atslab_0) ; tmp599 = atspre_gt_int_int (tmp597, tmp598) ; if (tmp599) { tmp587 = 1 ; } else { tmp600 = atspre_lt_int_int (tmp597, tmp598) ; if (tmp600) { tmp587 = -1 ; } else { arg0 = tmp589 ; arg1 = tmp591 ; goto __ats_lab_aux_91 ; // tail call } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp587 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp587 = -1 ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp587 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp587) ; } /* end of [aux_91] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } aux_91_closure_type ; ats_int_type aux_91_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return aux_91 (((aux_91_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_91_closure_init (aux_91_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_91_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_91_closure_make (ats_clo_ref_type env0) { aux_91_closure_type *p_clo = ATS_MALLOC(sizeof(aux_91_closure_type)) ; aux_91_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 10174(line=415, offs=3) -- 10961(line=448, offs=4) */ ATSstaticdec() ats_int_type funmset_compare_03822_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp586) ; __ats_lab_funmset_compare_03822_ats_ptr_type: tmp586 = aux_91 (arg2, arg0, arg1) ; return (tmp586) ; } /* end of [funmset_compare_03822_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 8974(line=379, offs=3) -- 9031(line=380, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_gte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp584) ; ATSlocal (ats_int_type, tmp585) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_gte: tmp585 = funmset_compare_03822_ats_ptr_type (arg0, arg1, statmp561) ; tmp584 = atspre_gte_int_int (tmp585, 0) ; return (tmp584) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_gte] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 9454(line=386, offs=5) -- 10046(line=405, offs=2) */ ATSstaticdec() ats_bool_type aux_94 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp603) ; ATSlocal (anairiats_rec_4, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (anairiats_rec_4, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_int_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_bool_type, tmp611) ; ATSlocal (ats_bool_type, tmp612) ; ATSlocal (ats_int_type, tmp613) ; ATSlocal (ats_int_type, tmp614) ; __ats_lab_aux_94: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; } __ats_lab_112_1: tmp604 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp605 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp606 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp607 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp609 = ats_select_mac(tmp604, atslab_1) ; tmp610 = ats_select_mac(tmp606, atslab_1) ; tmp608 = compare_elt_elt_03807_ats_ptr_type (tmp609, tmp610, env0) ; tmp611 = atspre_eq_int_int (tmp608, 0) ; if (tmp611) { tmp613 = ats_select_mac(tmp604, atslab_0) ; tmp614 = ats_select_mac(tmp606, atslab_0) ; tmp612 = atspre_eq_int_int (tmp613, tmp614) ; if (tmp612) { arg0 = tmp605 ; arg1 = tmp607 ; goto __ats_lab_aux_94 ; // tail call } else { tmp603 = ats_false_bool ; } /* end of [if] */ } else { tmp603 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp603 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp603 = ats_false_bool ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp603 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp603) ; } /* end of [aux_94] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } aux_94_closure_type ; ats_bool_type aux_94_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return aux_94 (((aux_94_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_94_closure_init (aux_94_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_94_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_94_closure_make (ats_clo_ref_type env0) { aux_94_closure_type *p_clo = ATS_MALLOC(sizeof(aux_94_closure_type)) ; aux_94_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 9401(line=383, offs=3) -- 10091(line=409, offs=4) */ ATSstaticdec() ats_bool_type funmset_is_equal_03821_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp602) ; __ats_lab_funmset_is_equal_03821_ats_ptr_type: tmp602 = aux_94 (arg2, arg0, arg1) ; return (tmp602) ; } /* end of [funmset_is_equal_03821_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9090(line=385, offs=3) -- 9141(line=385, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_is_equal (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp601) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_is_equal: tmp601 = funmset_is_equal_03821_ats_ptr_type (arg0, arg1, statmp561) ; return (tmp601) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_is_equal] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 5472(line=215, offs=5) -- 5963(line=231, offs=49) */ ATSstaticdec() ats_ptr_type aux_97 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (anairiats_rec_4, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_int_type, tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_bool_type, tmp624) ; ATSlocal (anairiats_rec_4, tmp625) ; ATSlocal (ats_bool_type, tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (anairiats_rec_4, tmp628) ; ATSlocal (ats_int_type, tmp629) ; ATSlocal (ats_int_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (anairiats_rec_4, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; __ats_lab_aux_97: do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp620 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp621 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp623 = ats_select_mac(tmp620, atslab_1) ; tmp622 = compare_elt_elt_03807_ats_ptr_type (env0, tmp623, env1) ; tmp624 = atspre_gt_int_int (tmp622, 0) ; if (tmp624) { tmp625.atslab_0 = 1 ; tmp625.atslab_1 = env0 ; tmp619 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_0, tmp625) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_1, arg0) ; } else { tmp626 = atspre_lt_int_int (tmp622, 0) ; if (tmp626) { tmp627 = aux_97 (env0, env1, tmp621) ; tmp619 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_0, tmp620) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_1, tmp627) ; } else { tmp630 = ats_select_mac(tmp620, atslab_0) ; tmp629 = atspre_iadd (tmp630, 1) ; tmp631 = ats_select_mac(tmp620, atslab_1) ; tmp628.atslab_0 = tmp629 ; tmp628.atslab_1 = tmp631 ; tmp619 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_0, tmp628) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_1, tmp621) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: tmp632.atslab_0 = 1 ; tmp632.atslab_1 = env0 ; tmp633 = (ats_sum_ptr_type)0 ; tmp619 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_0, tmp632) ; ats_selptrset_mac(anairiats_sum_5, tmp619, atslab_1, tmp633) ; break ; } while (0) ; return (tmp619) ; } /* end of [aux_97] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_97_closure_type ; ats_ptr_type aux_97_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_97 (((aux_97_closure_type*)cloptr)->closure_env_0, ((aux_97_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_97_closure_init (aux_97_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_97_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_97_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_97_closure_type *p_clo = ATS_MALLOC(sizeof(aux_97_closure_type)) ; aux_97_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 5418(line=211, offs=3) -- 6008(line=236, offs=4) */ ATSstaticdec() ats_void_type funmset_insert_03816_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp618) ; ATSlocal (ats_ptr_type, tmp634) ; __ats_lab_funmset_insert_03816_ats_ptr_type: tmp634 = aux_97 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp634 ; return /* (tmp618) */ ; } /* end of [funmset_insert_03816_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9200(line=390, offs=3) -- 9281(line=393, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; // ATSlocal_void (tmp617) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add: /* ats_ptr_type tmp616 ; */ tmp616 = arg0 ; /* tmp617 = */ funmset_insert_03816_ats_ptr_type ((&tmp616), arg1, statmp561) ; tmp615 = tmp616 ; return (tmp615) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 6142(line=246, offs=5) -- 6742(line=266, offs=31) */ ATSstaticdec() ats_ptr_type aux_100 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (anairiats_rec_4, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; ATSlocal (ats_int_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_bool_type, tmp644) ; ATSlocal (ats_bool_type, tmp645) ; ATSlocal (ats_int_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_bool_type, tmp648) ; ATSlocal (ats_int_type, tmp649) ; ATSlocal (ats_int_type, tmp650) ; ATSlocal (ats_int_type, tmp651) ; ATSlocal (ats_bool_type, tmp652) ; ATSlocal (anairiats_rec_4, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; __ats_lab_aux_100: do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp640 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp641 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp643 = ats_select_mac(tmp640, atslab_1) ; tmp642 = compare_elt_elt_03807_ats_ptr_type (env0, tmp643, env1) ; tmp644 = atspre_gt_int_int (tmp642, 0) ; if (tmp644) { tmp639 = arg0 ; } else { tmp645 = atspre_lt_int_int (tmp642, 0) ; if (tmp645) { tmp646 = ats_ptrget_mac(ats_int_type, arg1) ; tmp647 = aux_100 (env0, env1, tmp641, arg1) ; tmp648 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp646) ; if (tmp648) { tmp639 = arg0 ; } else { tmp639 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp639, atslab_0, tmp640) ; ats_selptrset_mac(anairiats_sum_5, tmp639, atslab_1, tmp647) ; } /* end of [if] */ } else { tmp650 = ats_select_mac(tmp640, atslab_0) ; tmp649 = atspre_isub (tmp650, 1) ; tmp651 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp651 ; tmp652 = atspre_igt (tmp649, 0) ; if (tmp652) { tmp654 = ats_select_mac(tmp640, atslab_1) ; tmp653.atslab_0 = tmp649 ; tmp653.atslab_1 = tmp654 ; tmp639 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp639, atslab_0, tmp653) ; ats_selptrset_mac(anairiats_sum_5, tmp639, atslab_1, tmp641) ; } else { tmp639 = tmp641 ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg0 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 6220(line=249, offs=3) -- 6742(line=266, offs=31)") ; } __ats_lab_121_1: tmp639 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp639) ; } /* end of [aux_100] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_100_closure_type ; ats_ptr_type aux_100_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return aux_100 (((aux_100_closure_type*)cloptr)->closure_env_0, ((aux_100_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_100_closure_init (aux_100_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_100_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_100_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_100_closure_type *p_clo = ATS_MALLOC(sizeof(aux_100_closure_type)) ; aux_100_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 6088(line=242, offs=3) -- 6856(line=274, offs=4) */ ATSstaticdec() ats_bool_type funmset_remove_03817_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp638) ; ATSlocal (ats_int_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_bool_type, tmp657) ; __ats_lab_funmset_remove_03817_ats_ptr_type: /* ats_int_type tmp655 ; */ tmp655 = 0 ; tmp656 = aux_100 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp655)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp656 ; tmp657 = atspre_gt_int_int (tmp655, 0) ; if (tmp657) { tmp638 = ats_true_bool ; } else { tmp638 = ats_false_bool ; } /* end of [if] */ return (tmp638) ; } /* end of [funmset_remove_03817_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9335(line=397, offs=3) -- 9426(line=400, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_del (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (ats_bool_type, tmp637) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_del: /* ats_ptr_type tmp636 ; */ tmp636 = arg0 ; tmp637 = funmset_remove_03817_ats_ptr_type ((&tmp636), arg1, statmp561) ; tmp635 = tmp636 ; return (tmp635) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_del] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 6992(line=284, offs=5) -- 7658(line=305, offs=32) */ ATSstaticdec() ats_ptr_type aux_103 (ats_clo_ref_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (anairiats_rec_4, tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (anairiats_rec_4, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_int_type, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; ATSlocal (ats_bool_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_bool_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (anairiats_rec_4, tmp672) ; ATSlocal (ats_int_type, tmp673) ; ATSlocal (ats_int_type, tmp674) ; ATSlocal (ats_int_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; __ats_lab_aux_103: do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_125_0 ; } __ats_lab_122_1: tmp661 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp662 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp663 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp664 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp666 = ats_select_mac(tmp661, atslab_1) ; tmp667 = ats_select_mac(tmp663, atslab_1) ; tmp665 = compare_elt_elt_03807_ats_ptr_type (tmp666, tmp667, env0) ; tmp668 = atspre_gt_int_int (tmp665, 0) ; if (tmp668) { tmp669 = aux_103 (env0, tmp662, arg1) ; tmp660 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_0, tmp661) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_1, tmp669) ; } else { tmp670 = atspre_lt_int_int (tmp665, 0) ; if (tmp670) { tmp671 = aux_103 (env0, arg0, tmp664) ; tmp660 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_0, tmp663) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_1, tmp671) ; } else { tmp674 = ats_select_mac(tmp661, atslab_0) ; tmp675 = ats_select_mac(tmp663, atslab_0) ; tmp673 = atspre_iadd (tmp674, tmp675) ; tmp676 = ats_select_mac(tmp661, atslab_1) ; tmp672.atslab_0 = tmp673 ; tmp672.atslab_1 = tmp676 ; tmp677 = aux_103 (env0, tmp662, tmp664) ; tmp660 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_0, tmp672) ; ats_selptrset_mac(anairiats_sum_5, tmp660, atslab_1, tmp677) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp660 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg0 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 7089(line=287, offs=3) -- 7658(line=305, offs=32)") ; } __ats_lab_125_1: tmp660 = arg1 ; break ; } while (0) ; return (tmp660) ; } /* end of [aux_103] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } aux_103_closure_type ; ats_ptr_type aux_103_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return aux_103 (((aux_103_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_103_closure_init (aux_103_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_103_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_103_closure_make (ats_clo_ref_type env0) { aux_103_closure_type *p_clo = ATS_MALLOC(sizeof(aux_103_closure_type)) ; aux_103_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 6935(line=280, offs=3) -- 7687(line=309, offs=4) */ ATSstaticdec() ats_ptr_type funmset_union_03818_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp659) ; __ats_lab_funmset_union_03818_ats_ptr_type: tmp659 = aux_103 (arg2, arg0, arg1) ; return (tmp659) ; } /* end of [funmset_union_03818_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9482(line=404, offs=3) -- 9530(line=404, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_union (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp658) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_union: tmp658 = funmset_union_03818_ats_ptr_type (arg0, arg1, statmp561) ; return (tmp658) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_union] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_108 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp682) ; ATSlocal (anairiats_rec_4, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; ATSlocal (ats_ptr_type, tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; __ats_lab_loop_108: do { /* branch: __ats_lab_126 */ __ats_lab_126_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp683 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp684 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp685 = ((ats_ptr_type(*)(anairiats_rec_4, ats_ptr_type))arg1) (tmp683, arg3) ; tmp686 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp686, atslab_0, tmp685) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp686 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp687 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp684 ; arg1 = arg1 ; arg2 = tmp687 ; arg3 = arg3 ; goto __ats_lab_loop_108 ; // tail call break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_127_1: tmp688 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp688 ; break ; } while (0) ; return /* (tmp682) */ ; } /* end of [loop_108] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_anairiats_rec_4_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp689) ; // ATSlocal_void (tmp690) ; __ats_lab_list_map_funenv_01412_anairiats_rec_4_ats_ptr_type: /* ats_ptr_type tmp689 ; */ /* tmp690 = */ loop_108 (arg0, arg1, (&tmp689), arg2) ; tmp681 = tmp689 ; return (tmp681) ; } /* end of [list_map_funenv_01412_anairiats_rec_4_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_anairiats_rec_4_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp680) ; __ats_lab_list_map_fun_01413_anairiats_rec_4_ats_ptr_type: tmp680 = list_map_funenv_01412_anairiats_rec_4_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp680) ; } /* end of [list_map_fun_01413_anairiats_rec_4_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11194(line=459, offs=29) -- 11212(line=459, offs=47) */ ATSstaticdec() ats_ptr_type __ats_fun_109 (anairiats_rec_4 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp691) ; __ats_lab___ats_fun_109: tmp691 = ats_select_mac(arg0, atslab_1) ; return (tmp691) ; } /* end of [__ats_fun_109] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11094(line=455, offs=17) -- 11217(line=460, offs=4) */ ATSstaticdec() ats_ptr_type funmset_listize_03823_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp679) ; __ats_lab_funmset_listize_03823_ats_ptr_type: tmp679 = list_map_fun_01413_anairiats_rec_4_ats_ptr_type (arg0, &__ats_fun_109) ; return (tmp679) ; } /* end of [funmset_listize_03823_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9588(line=408, offs=19) -- 9620(line=408, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp678) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_listize: tmp678 = funmset_listize_03823_ats_ptr_type (arg0) ; return (tmp678) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11426(line=470, offs=7) -- 11630(line=476, offs=42) */ ATSstaticdec() ats_void_type loop1_112 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp713) ; /* tmp713 = */ loop1_112_0loop2_113 (0, arg0, arg1) ; return /* (tmp713) */ ; } /* end of [loop1_112] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11660(line=478, offs=7) -- 12034(line=491, offs=23) */ ATSstaticdec() ats_void_type loop2_113 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp714) ; /* tmp714 = */ loop1_112_0loop2_113 (1, arg0, arg1, arg2, arg3) ; return /* (tmp714) */ ; } /* end of [loop2_113] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11426(line=470, offs=7) -- 12034(line=491, offs=23) */ ATSstaticdec() ats_void_type loop1_112_0loop2_113 (ats_int_type arg0, ...) { /* local vardec */ ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ref_type, tmp696) ; ATSlocal (ats_int_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; ATSlocal (ats_ref_type, tmp700) ; // ATSlocal_void (tmp701) ; ATSlocal (anairiats_rec_4, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_int_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; // ATSlocal_void (tmp707) ; ATSlocal (ats_bool_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; ATSlocal (ats_int_type, tmp711) ; // ATSlocal_void (tmp712) ; va_list funarg ; switch (arg0) { case 0: va_start(funarg, arg0) ; tmp695 = va_arg(funarg, ats_ptr_type) ; tmp696 = va_arg(funarg, ats_ref_type) ; va_end(funarg) ; goto __ats_lab_loop1_112 ; case 1: va_start(funarg, arg0) ; tmp697 = va_arg(funarg, ats_int_type) ; tmp698 = va_arg(funarg, ats_ptr_type) ; tmp699 = va_arg(funarg, ats_ptr_type) ; tmp700 = va_arg(funarg, ats_ref_type) ; va_end(funarg) ; goto __ats_lab_loop2_113 ; default: exit(1) ; /* deadcode */ } /* end of switch */ ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; __ats_lab_loop1_112: do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (tmp695 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp702 = ats_caselptrlab_mac(anairiats_sum_5, tmp695, atslab_0) ; tmp703 = ats_caselptrlab_mac(anairiats_sum_5, tmp695, atslab_1) ; tmp704 = ats_select_mac(tmp702, atslab_0) ; tmp705 = ats_select_mac(tmp702, atslab_1) ; tmp697 = tmp704 ; tmp698 = tmp705 ; tmp699 = tmp703 ; tmp700 = tmp696 ; goto __ats_lab_loop2_113 ; // tail call break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (tmp695 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp706 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp696) = tmp706 ; break ; } while (0) ; return /* tmp701 */ ; __ats_lab_loop2_113: tmp708 = atspre_igt (tmp697, 0) ; if (tmp708) { tmp709 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp709, atslab_0, tmp698) ; ats_ptrget_mac(ats_ptr_type, tmp700) = tmp709 ; if (ats_ptrget_mac(ats_ptr_type, tmp700) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11872(line=485, offs=11) -- 11902(line=485, offs=41)") ; } tmp710 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, tmp700), atslab_1) ; tmp711 = atspre_isub (tmp697, 1) ; tmp697 = tmp711 ; tmp698 = tmp698 ; tmp699 = tmp699 ; tmp700 = tmp710 ; goto __ats_lab_loop2_113 ; // tail call } else { tmp695 = tmp699 ; tmp696 = tmp700 ; goto __ats_lab_loop1_112 ; // tail call } /* end of [if] */ return /* tmp707 */ ; return /* (tmp712) */ ; } /* end of [loop1_112_0loop2_113] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmset_listord.dats: 11351(line=467, offs=18) -- 12149(line=498, offs=4) */ ATSstaticdec() ats_ptr_type funmset_mlistize_03824_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_ptr_type, tmp715) ; // ATSlocal_void (tmp716) ; __ats_lab_funmset_mlistize_03824_ats_ptr_type: /* ats_ptr_type tmp715 ; */ /* tmp716 = */ loop1_112 (arg0, (&tmp715)) ; tmp694 = tmp715 ; return (tmp694) ; } /* end of [funmset_mlistize_03824_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_116 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; __ats_lab_loop_116: do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp720 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp720 ; goto __ats_lab_loop_116 ; // tail call break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: break ; } while (0) ; return /* (tmp719) */ ; } /* end of [loop_116] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp718) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp718 = */ loop_116 (arg0) ; return /* (tmp718) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 9652(line=412, offs=3) -- 9814(line=419, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varmset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; // ATSlocal_void (tmp717) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varmset: tmp693 = funmset_mlistize_03824_ats_ptr_type (arg1) ; /* tmp717 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, ats_castfn_mac(ats_ptr_type, tmp693)) ; /* tmp692 = */ list_vt_free_01499_ats_ptr_type (tmp693) ; return /* (tmp692) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varmset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 10001(line=433, offs=1) -- 10086(line=436, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_117 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp721) ; __ats_lab___ats_fun_117: tmp721 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; return (tmp721) ; } /* end of [__ats_fun_117] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_117_closure_type ; ats_int_type __ats_fun_117_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_117 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_117_closure_init (__ats_fun_117_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_117_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_117_closure_make () { __ats_fun_117_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_117_closure_type)) ; __ats_fun_117_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_03826_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp724) ; __ats_lab_linmap_make_nil_03826_: tmp724 = (ats_sum_ptr_type)0 ; return (tmp724) ; } /* end of [linmap_make_nil_03826_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 10214(line=446, offs=3) -- 10250(line=446, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp723) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_make_nil: tmp723 = linmap_make_nil_03826_ () ; return (tmp723) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_make_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 2008(line=61, offs=17) -- 2036(line=61, offs=45) */ ATSstaticdec() ats_int_type compare_key_key_03825_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp737) ; __ats_lab_compare_key_key_03825_ats_ptr_type: tmp737 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp737) ; } /* end of [compare_key_key_03825_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_123 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp731) ; ATSlocal (ats_ptr_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_int_type, tmp736) ; ATSlocal (ats_bool_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_bool_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; __ats_lab_search_123: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_136_0 ; } __ats_lab_132_1: tmp732 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp733 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp734 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp735 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp736 = compare_key_key_03825_ats_ptr_type (env0, tmp732, env1) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: __ats_lab_133_1: tmp738 = atspre_lt_int_int (tmp736, 0) ; if (!tmp738) { goto __ats_lab_134_1 ; } tmp739 = ats_ptrget_mac(ats_ptr_type, tmp734) ; arg0 = tmp739 ; goto __ats_lab_search_123 ; // tail call break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: __ats_lab_134_1: tmp740 = atspre_gt_int_int (tmp736, 0) ; if (!tmp740) { goto __ats_lab_135_1 ; } tmp741 = ats_ptrget_mac(ats_ptr_type, tmp735) ; arg0 = tmp741 ; goto __ats_lab_search_123 ; // tail call break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: __ats_lab_135_1: tmp731 = tmp733 ; break ; } while (0) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: tmp731 = atspre_null_ptr ; break ; } while (0) ; return (tmp731) ; } /* end of [search_123] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_123_closure_type ; ats_ptr_type search_123_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_123 (((search_123_closure_type*)cloptr)->closure_env_0, ((search_123_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_123_closure_init (search_123_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_123_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_123_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_123_closure_type *p_clo = ATS_MALLOC(sizeof(search_123_closure_type)) ; search_123_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_03832_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp730) ; __ats_lab_linmap_search_ref_03832_ats_ptr_type_2cats_ptr_type: tmp730 = search_123 (arg1, arg2, arg0) ; return (tmp730) ; } /* end of [linmap_search_ref_03832_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_03831_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_bool_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; __ats_lab_linmap_search_03831_ats_ptr_type_2cats_ptr_type: tmp729 = linmap_search_ref_03832_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2) ; tmp742 = atspre_pgt (tmp729, atspre_null_ptr) ; if (tmp742) { tmp743 = ats_ptrget_mac(ats_ptr_type, tmp729) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp743 ; tmp728 = ats_true_bool ; } else { tmp728 = ats_false_bool ; } /* end of [if] */ return (tmp728) ; } /* end of [linmap_search_03831_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 10286(line=450, offs=3) -- 10670(line=472, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_bool_type, tmp727) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_search: /* ats_ptr_type tmp726 ; */ tmp727 = linmap_search_03831_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp722, (&tmp726)) ; if (tmp727) { tmp725 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp725, atslab_0, tmp726) ; } else { tmp725 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp725) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_04842_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp760) ; ATSlocal (ats_int_type, tmp761) ; __ats_lab_avltree_height_04842_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp761 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp760 = tmp761 ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_139_1: tmp760 = 0 ; break ; } while (0) ; return (tmp760) ; } /* end of [avltree_height_04842_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_ptr_type, tmp771) ; ATSlocal (ats_ptr_type, tmp772) ; ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_ptr_type, tmp774) ; ATSlocal (ats_int_type, tmp775) ; ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_int_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_bool_type, tmp779) ; ATSlocal (ats_int_type, tmp780) ; ATSlocal (ats_int_type, tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_int_type, tmp783) ; ATSlocal (ats_int_type, tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (ats_ptr_type, tmp788) ; ATSlocal (ats_int_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_int_type, tmp791) ; ATSlocal (ats_ptr_type, tmp792) ; ATSlocal (ats_int_type, tmp793) ; ATSlocal (ats_int_type, tmp794) ; ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_int_type, tmp796) ; ATSlocal (ats_int_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; __ats_lab_avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type: tmp771 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp771 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp772 = &ats_caselptrlab_mac(anairiats_sum_6, tmp771, atslab_0) ; tmp773 = &ats_caselptrlab_mac(anairiats_sum_6, tmp771, atslab_3) ; tmp774 = &ats_caselptrlab_mac(anairiats_sum_6, tmp771, atslab_4) ; tmp776 = ats_ptrget_mac(ats_ptr_type, tmp773) ; tmp775 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp776) ; tmp778 = ats_ptrget_mac(ats_ptr_type, tmp774) ; tmp777 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp778) ; tmp780 = atspre_iadd (tmp775, 0) ; tmp779 = atspre_igte (tmp780, tmp777) ; if (tmp779) { tmp781 = atspre_iadd (tmp777, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp781 ; tmp782 = ats_ptrget_mac(ats_ptr_type, tmp774) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp782 ; tmp784 = atspre_imax (tmp775, tmp781) ; tmp783 = atspre_iadd (1, tmp784) ; ats_ptrget_mac(ats_int_type, tmp772) = tmp783 ; ats_ptrget_mac(ats_ptr_type, tmp774) = arg5 ; tmp770 = tmp771 ; } else { tmp785 = ats_ptrget_mac(ats_ptr_type, tmp774) ; // if (tmp785 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp786 = &ats_caselptrlab_mac(anairiats_sum_6, tmp785, atslab_0) ; tmp787 = &ats_caselptrlab_mac(anairiats_sum_6, tmp785, atslab_3) ; tmp788 = &ats_caselptrlab_mac(anairiats_sum_6, tmp785, atslab_4) ; tmp790 = ats_ptrget_mac(ats_ptr_type, tmp787) ; tmp789 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp790) ; tmp792 = ats_ptrget_mac(ats_ptr_type, tmp788) ; tmp791 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp792) ; tmp794 = atspre_imax (tmp791, arg3) ; tmp793 = atspre_iadd (1, tmp794) ; ats_ptrget_mac(ats_int_type, arg0) = tmp793 ; tmp795 = ats_ptrget_mac(ats_ptr_type, tmp788) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp795 ; tmp797 = atspre_imax (tmp775, tmp789) ; tmp796 = atspre_iadd (1, tmp797) ; ats_ptrget_mac(ats_int_type, tmp772) = tmp796 ; tmp798 = ats_ptrget_mac(ats_ptr_type, tmp787) ; ats_ptrget_mac(ats_ptr_type, tmp774) = tmp798 ; ats_ptrget_mac(ats_int_type, tmp786) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp787) = tmp771 ; ats_ptrget_mac(ats_ptr_type, tmp788) = arg5 ; tmp770 = tmp785 ; } /* end of [if] */ return (tmp770) ; } /* end of [avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_ptr_type, tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_int_type, tmp815) ; ATSlocal (ats_ptr_type, tmp816) ; ATSlocal (ats_int_type, tmp817) ; ATSlocal (ats_ptr_type, tmp818) ; ATSlocal (ats_bool_type, tmp819) ; ATSlocal (ats_int_type, tmp820) ; ATSlocal (ats_int_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_int_type, tmp823) ; ATSlocal (ats_int_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_ptr_type, tmp826) ; ATSlocal (ats_ptr_type, tmp827) ; ATSlocal (ats_ptr_type, tmp828) ; ATSlocal (ats_int_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_int_type, tmp831) ; ATSlocal (ats_ptr_type, tmp832) ; ATSlocal (ats_int_type, tmp833) ; ATSlocal (ats_int_type, tmp834) ; ATSlocal (ats_ptr_type, tmp835) ; ATSlocal (ats_int_type, tmp836) ; ATSlocal (ats_int_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; __ats_lab_avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type: tmp811 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp811 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp812 = &ats_caselptrlab_mac(anairiats_sum_6, tmp811, atslab_0) ; tmp813 = &ats_caselptrlab_mac(anairiats_sum_6, tmp811, atslab_3) ; tmp814 = &ats_caselptrlab_mac(anairiats_sum_6, tmp811, atslab_4) ; tmp816 = ats_ptrget_mac(ats_ptr_type, tmp813) ; tmp815 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp816) ; tmp818 = ats_ptrget_mac(ats_ptr_type, tmp814) ; tmp817 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp818) ; tmp820 = atspre_iadd (tmp817, 0) ; tmp819 = atspre_ilte (tmp815, tmp820) ; if (tmp819) { tmp821 = atspre_iadd (tmp815, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp821 ; tmp822 = ats_ptrget_mac(ats_ptr_type, tmp813) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp822 ; tmp824 = atspre_imax (tmp821, tmp817) ; tmp823 = atspre_iadd (1, tmp824) ; ats_ptrget_mac(ats_int_type, tmp812) = tmp823 ; ats_ptrget_mac(ats_ptr_type, tmp813) = arg5 ; tmp810 = tmp811 ; } else { tmp825 = ats_ptrget_mac(ats_ptr_type, tmp813) ; // if (tmp825 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp826 = &ats_caselptrlab_mac(anairiats_sum_6, tmp825, atslab_0) ; tmp827 = &ats_caselptrlab_mac(anairiats_sum_6, tmp825, atslab_3) ; tmp828 = &ats_caselptrlab_mac(anairiats_sum_6, tmp825, atslab_4) ; tmp830 = ats_ptrget_mac(ats_ptr_type, tmp827) ; tmp829 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp830) ; tmp832 = ats_ptrget_mac(ats_ptr_type, tmp828) ; tmp831 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp832) ; tmp834 = atspre_imax (arg1, tmp829) ; tmp833 = atspre_iadd (1, tmp834) ; ats_ptrget_mac(ats_int_type, arg0) = tmp833 ; tmp835 = ats_ptrget_mac(ats_ptr_type, tmp827) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp835 ; tmp837 = atspre_imax (tmp831, tmp817) ; tmp836 = atspre_iadd (1, tmp837) ; ats_ptrget_mac(ats_int_type, tmp812) = tmp836 ; tmp838 = ats_ptrget_mac(ats_ptr_type, tmp828) ; ats_ptrget_mac(ats_ptr_type, tmp813) = tmp838 ; ats_ptrget_mac(ats_int_type, tmp826) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp827) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp828) = tmp811 ; tmp810 = tmp825 ; } /* end of [if] */ return (tmp810) ; } /* end of [avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_127 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_int_type, tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_bool_type, tmp757) ; ATSlocal (ats_bool_type, tmp758) ; ATSlocal (ats_int_type, tmp759) ; ATSlocal (ats_ptr_type, tmp762) ; ATSlocal (ats_int_type, tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; ATSlocal (ats_bool_type, tmp765) ; ATSlocal (ats_int_type, tmp766) ; ATSlocal (ats_int_type, tmp767) ; ATSlocal (ats_int_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_bool_type, tmp799) ; ATSlocal (ats_bool_type, tmp800) ; ATSlocal (ats_int_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_int_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_bool_type, tmp805) ; ATSlocal (ats_int_type, tmp806) ; ATSlocal (ats_int_type, tmp807) ; ATSlocal (ats_int_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; ATSlocal (ats_ptr_type, tmp839) ; ATSlocal (ats_ptr_type, tmp840) ; ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; __ats_lab_insert_127: do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_137_1: tmp750 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp751 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp752 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp753 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp754 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp756 = ats_ptrget_mac(ats_ptr_type, tmp751) ; tmp755 = compare_key_key_03825_ats_ptr_type (env0, tmp756, env1) ; tmp757 = atspre_lt_int_int (tmp755, 0) ; if (tmp757) { tmp758 = insert_127 (env0, env1, tmp753, arg1, arg2) ; tmp762 = ats_ptrget_mac(ats_ptr_type, tmp753) ; tmp759 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp762) ; tmp764 = ats_ptrget_mac(ats_ptr_type, tmp754) ; tmp763 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp764) ; tmp766 = atspre_isub (tmp759, tmp763) ; tmp765 = atspre_ilte (tmp766, 1) ; if (tmp765) { tmp768 = atspre_imax (tmp759, tmp763) ; tmp767 = atspre_iadd (1, tmp768) ; ats_ptrget_mac(ats_int_type, tmp750) = tmp767 ; tmp749 = tmp758 ; } else { tmp769 = avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type (tmp750, tmp759, tmp753, tmp763, tmp754, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp769 ; tmp749 = tmp758 ; } /* end of [if] */ } else { tmp799 = atspre_gt_int_int (tmp755, 0) ; if (tmp799) { tmp800 = insert_127 (env0, env1, tmp754, arg1, arg2) ; tmp802 = ats_ptrget_mac(ats_ptr_type, tmp753) ; tmp801 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp802) ; tmp804 = ats_ptrget_mac(ats_ptr_type, tmp754) ; tmp803 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp804) ; tmp806 = atspre_isub (tmp803, tmp801) ; tmp805 = atspre_ilte (tmp806, 1) ; if (tmp805) { tmp808 = atspre_imax (tmp801, tmp803) ; tmp807 = atspre_iadd (1, tmp808) ; ats_ptrget_mac(ats_int_type, tmp750) = tmp807 ; tmp749 = tmp800 ; } else { tmp809 = avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type (tmp750, tmp801, tmp753, tmp803, tmp754, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp809 ; tmp749 = tmp800 ; } /* end of [if] */ } else { tmp839 = ats_ptrget_mac(ats_ptr_type, tmp752) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp839 ; ats_ptrget_mac(ats_ptr_type, tmp752) = arg1 ; tmp749 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp841 = (ats_sum_ptr_type)0 ; tmp842 = (ats_sum_ptr_type)0 ; tmp840 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp840, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp840, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp840, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp840, atslab_3, tmp841) ; ats_selptrset_mac(anairiats_sum_6, tmp840, atslab_4, tmp842) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp840 ; tmp749 = ats_false_bool ; break ; } while (0) ; return (tmp749) ; } /* end of [insert_127] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_127_closure_type ; ats_bool_type insert_127_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { return insert_127 (((insert_127_closure_type*)cloptr)->closure_env_0, ((insert_127_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_127_closure_init (insert_127_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_127_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_127_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_127_closure_type *p_clo = ATS_MALLOC(sizeof(insert_127_closure_type)) ; insert_127_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_03834_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp748) ; __ats_lab_linmap_insert_03834_ats_ptr_type_2cats_ptr_type: tmp748 = insert_127 (arg1, arg3, arg0, arg2, arg4) ; return (tmp748) ; } /* end of [linmap_insert_03834_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 10741(line=476, offs=3) -- 11070(line=496, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp746) ; ATSlocal (ats_bool_type, tmp747) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_insert: tmp745 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; /* ats_ptr_type tmp746 ; */ tmp747 = linmap_insert_03834_ats_ptr_type_2cats_ptr_type (arg0, arg1, tmp745, statmp722, (&tmp746)) ; return /* (tmp744) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_insert] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 11578(line=417, offs=35) -- 12629(line=451, offs=4) */ ATSstaticdec() ats_ptr_type avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; ATSlocal (ats_ptr_type, tmp881) ; ATSlocal (ats_ptr_type, tmp882) ; ATSlocal (ats_ptr_type, tmp883) ; ATSlocal (ats_ptr_type, tmp884) ; ATSlocal (ats_int_type, tmp885) ; ATSlocal (ats_ptr_type, tmp886) ; ATSlocal (ats_int_type, tmp887) ; ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_bool_type, tmp889) ; ATSlocal (ats_int_type, tmp890) ; ATSlocal (ats_int_type, tmp891) ; ATSlocal (ats_int_type, tmp892) ; ATSlocal (ats_ptr_type, tmp893) ; ATSlocal (ats_ptr_type, tmp894) ; ATSlocal (ats_ptr_type, tmp895) ; __ats_lab_avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type: // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp880 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp881 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp882 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp883 = ats_ptrget_mac(ats_ptr_type, tmp881) ; do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (tmp883 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp884 = avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type (tmp881) ; tmp886 = ats_ptrget_mac(ats_ptr_type, tmp881) ; tmp885 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp886) ; tmp888 = ats_ptrget_mac(ats_ptr_type, tmp882) ; tmp887 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp888) ; tmp890 = atspre_isub (tmp887, tmp885) ; tmp889 = atspre_ilte (tmp890, 1) ; if (tmp889) { tmp892 = atspre_imax (tmp885, tmp887) ; tmp891 = atspre_iadd (1, tmp892) ; ats_ptrget_mac(ats_int_type, tmp880) = tmp891 ; tmp879 = tmp884 ; } else { tmp893 = avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type (tmp880, tmp885, tmp881, tmp887, tmp882, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp893 ; tmp879 = tmp884 ; } /* end of [if] */ break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: // if (tmp883 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_147_1: tmp894 = ats_ptrget_mac(ats_ptr_type, tmp882) ; tmp895 = ats_ptrget_mac(ats_ptr_type, arg0) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp894 ; tmp879 = ats_castfn_mac(ats_ptr_type, tmp895) ; break ; } while (0) ; return (tmp879) ; } /* end of [avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 13012(line=467, offs=7) -- 16649(line=558, offs=6) */ ATSstaticdec() ats_bool_type takeout_134 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp847) ; ATSlocal (ats_ptr_type, tmp848) ; ATSlocal (ats_ptr_type, tmp849) ; ATSlocal (ats_ptr_type, tmp850) ; ATSlocal (ats_ptr_type, tmp851) ; ATSlocal (ats_ptr_type, tmp852) ; ATSlocal (ats_int_type, tmp853) ; ATSlocal (ats_ptr_type, tmp854) ; ATSlocal (ats_bool_type, tmp855) ; ATSlocal (ats_bool_type, tmp856) ; ATSlocal (ats_int_type, tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; ATSlocal (ats_int_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_bool_type, tmp861) ; ATSlocal (ats_int_type, tmp862) ; ATSlocal (ats_ptr_type, tmp863) ; ATSlocal (ats_bool_type, tmp864) ; ATSlocal (ats_bool_type, tmp865) ; ATSlocal (ats_int_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; ATSlocal (ats_int_type, tmp868) ; ATSlocal (ats_ptr_type, tmp869) ; ATSlocal (ats_bool_type, tmp870) ; ATSlocal (ats_int_type, tmp871) ; ATSlocal (ats_ptr_type, tmp872) ; ATSlocal (ats_bool_type, tmp874) ; ATSlocal (ats_ptr_type, tmp875) ; ATSlocal (ats_ptr_type, tmp876) ; ATSlocal (ats_ptr_type, tmp877) ; ATSlocal (ats_ptr_type, tmp878) ; ATSlocal (ats_ptr_type, tmp896) ; ATSlocal (ats_ptr_type, tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; ATSlocal (ats_int_type, tmp899) ; ATSlocal (ats_int_type, tmp900) ; ATSlocal (ats_bool_type, tmp901) ; ATSlocal (ats_int_type, tmp902) ; ATSlocal (ats_int_type, tmp903) ; ATSlocal (ats_int_type, tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; __ats_lab_takeout_134: do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_149_0 ; } __ats_lab_141_1: tmp848 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp849 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp850 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp851 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp852 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp854 = ats_ptrget_mac(ats_ptr_type, tmp849) ; tmp853 = compare_key_key_03825_ats_ptr_type (env0, tmp854, env1) ; do { /* branch: __ats_lab_142 */ __ats_lab_142_0: __ats_lab_142_1: tmp855 = atspre_lt_int_int (tmp853, 0) ; if (!tmp855) { goto __ats_lab_143_1 ; } tmp856 = takeout_134 (env0, env1, tmp851, arg1) ; tmp858 = ats_ptrget_mac(ats_ptr_type, tmp851) ; tmp857 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp858) ; tmp860 = ats_ptrget_mac(ats_ptr_type, tmp852) ; tmp859 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp860) ; tmp862 = atspre_isub (tmp859, tmp857) ; tmp861 = atspre_ilte (tmp862, 1) ; if (tmp861) { tmp847 = tmp856 ; } else { tmp863 = avltree_lrotate_04870_ats_ptr_type_2cats_ptr_type (tmp848, tmp857, tmp851, tmp859, tmp852, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp863 ; tmp847 = tmp856 ; } /* end of [if] */ break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: __ats_lab_143_1: tmp864 = atspre_gt_int_int (tmp853, 0) ; if (!tmp864) { goto __ats_lab_144_1 ; } tmp865 = takeout_134 (env0, env1, tmp852, arg1) ; tmp867 = ats_ptrget_mac(ats_ptr_type, tmp851) ; tmp866 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp867) ; tmp869 = ats_ptrget_mac(ats_ptr_type, tmp852) ; tmp868 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp869) ; tmp871 = atspre_isub (tmp866, tmp868) ; tmp870 = atspre_ilte (tmp871, 1) ; if (tmp870) { tmp847 = tmp865 ; } else { tmp872 = avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type (tmp848, tmp866, tmp851, tmp868, tmp852, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp872 ; tmp847 = tmp865 ; } /* end of [if] */ break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: __ats_lab_144_1: tmp874 = atspre_pgt (arg1, atspre_null_ptr) ; if (tmp874) { tmp875 = ats_ptrget_mac(ats_ptr_type, tmp850) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp875 ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp876 ; */ tmp876 = ats_ptrget_mac(ats_ptr_type, tmp851) ; /* ats_ptr_type tmp877 ; */ tmp877 = ats_ptrget_mac(ats_ptr_type, tmp852) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: if (tmp877 == (ats_sum_ptr_type)0) { goto __ats_lab_148_0 ; } __ats_lab_145_1: tmp878 = avltree_takeout_min_04946_ats_ptr_type_2cats_ptr_type ((&tmp877)) ; if (tmp878 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 15639(line=535, offs=21) -- 15683(line=535, offs=65)") ; } tmp896 = &ats_caselptrlab_mac(anairiats_sum_6, tmp878, atslab_0) ; tmp897 = &ats_caselptrlab_mac(anairiats_sum_6, tmp878, atslab_3) ; tmp898 = &ats_caselptrlab_mac(anairiats_sum_6, tmp878, atslab_4) ; tmp899 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp876) ; tmp900 = avltree_height_04842_ats_ptr_type_2cats_ptr_type (tmp877) ; ats_ptrget_mac(ats_ptr_type, tmp897) = tmp876 ; ats_ptrget_mac(ats_ptr_type, tmp898) = tmp877 ; tmp902 = atspre_isub (tmp899, tmp900) ; tmp901 = atspre_ilte (tmp902, 1) ; if (tmp901) { tmp904 = atspre_imax (tmp899, tmp900) ; tmp903 = atspre_iadd (1, tmp904) ; ats_ptrget_mac(ats_int_type, tmp896) = tmp903 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp878 ; tmp847 = ats_true_bool ; } else { tmp905 = avltree_rrotate_04895_ats_ptr_type_2cats_ptr_type (tmp896, tmp899, tmp897, tmp900, tmp898, tmp878) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp905 ; tmp847 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: // if (tmp877 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_148_1: ats_ptrget_mac(ats_ptr_type, arg0) = tmp876 ; tmp847 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp847 = ats_false_bool ; break ; } while (0) ; return (tmp847) ; } /* end of [takeout_134] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } takeout_134_closure_type ; ats_bool_type takeout_134_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return takeout_134 (((takeout_134_closure_type*)cloptr)->closure_env_0, ((takeout_134_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type takeout_134_closure_init (takeout_134_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&takeout_134_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type takeout_134_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { takeout_134_closure_type *p_clo = ATS_MALLOC(sizeof(takeout_134_closure_type)) ; takeout_134_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 12957(line=466, offs=3) -- 16671(line=559, offs=2) */ ATSstaticdec() ats_bool_type linmap_takeout_ptr_03849_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp846) ; __ats_lab_linmap_takeout_ptr_03849_ats_ptr_type_2cats_ptr_type: tmp846 = takeout_134 (arg1, arg2, arg0, arg3) ; return (tmp846) ; } /* end of [linmap_takeout_ptr_03849_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 17132(line=576, offs=15) -- 17193(line=576, offs=76) */ ATSstaticdec() ats_bool_type linmap_remove_03836_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp845) ; __ats_lab_linmap_remove_03836_ats_ptr_type_2cats_ptr_type: tmp845 = linmap_takeout_ptr_03849_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, atspre_null_ptr) ; return (tmp845) ; } /* end of [linmap_remove_03836_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 11138(line=500, offs=3) -- 11240(line=504, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_remove (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp843) ; ATSlocal (ats_bool_type, tmp844) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_remove: tmp844 = linmap_remove_03836_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp722) ; return /* (tmp843) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_remove] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21260(line=724, offs=7) -- 21616(line=736, offs=31) */ ATSstaticdec() ats_ptr_type aux_138 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_ptr_type, tmp909) ; ATSlocal (ats_ptr_type, tmp910) ; ATSlocal (ats_ptr_type, tmp911) ; ATSlocal (ats_ptr_type, tmp912) ; ATSlocal (ats_ptr_type, tmp913) ; ATSlocal (ats_ptr_type, tmp914) ; ATSlocal (ats_ptr_type, tmp915) ; ATSlocal (anairiats_rec_8, tmp916) ; ATSlocal (ats_ptr_type, tmp917) ; __ats_lab_aux_138: do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp909 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp910 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp911 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp912 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp914 = ats_ptrget_mac(ats_ptr_type, tmp912) ; tmp913 = aux_138 (tmp914, arg1) ; tmp916.atslab_0 = tmp909 ; tmp916.atslab_1 = tmp910 ; tmp915 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp915, atslab_0, tmp916) ; ats_selptrset_mac(anairiats_sum_9, tmp915, atslab_1, tmp913) ; tmp917 = ats_ptrget_mac(ats_ptr_type, tmp911) ; arg0 = tmp917 ; arg1 = tmp915 ; goto __ats_lab_aux_138 ; // tail call break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_151_1: tmp908 = arg1 ; break ; } while (0) ; return (tmp908) ; } /* end of [aux_138] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21202(line=722, offs=16) -- 21664(line=740, offs=4) */ ATSstaticdec() ats_ptr_type linmap_listize_03845_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp907) ; ATSlocal (ats_ptr_type, tmp918) ; __ats_lab_linmap_listize_03845_ats_ptr_type_2cats_ptr_type: tmp918 = (ats_sum_ptr_type)0 ; tmp907 = aux_138 (arg0, tmp918) ; return (tmp907) ; } /* end of [linmap_listize_03845_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svar.dats: 11307(line=507, offs=22) -- 11352(line=507, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp906) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_listize: tmp906 = linmap_listize_03845_ats_ptr_type_2cats_ptr_type (arg0) ; return (tmp906) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_listize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp75, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp561, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp722, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp75 = __ats_fun_29_closure_make () ; statmp561 = __ats_fun_81_closure_make () ; statmp722 = __ats_fun_117_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_svar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_scst_dats.c0000664000175000017500000010614712655455557021730 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isasp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_isasp) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__s2cstbindlst_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_6 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_warning3_loc_02051_ (ats_ptr_type arg0) ; static ats_void_type loop_11 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp7) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 1617(line=48, offs=28) -- 1650(line=48, offs=61) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env_scst")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp4 ; */ tmp4 = arg0 ; tmp3 = atspre_ref_make_elt_tsz ((&tmp4), sizeof(ats_ptr_type)) ; return (tmp3) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp2 = ref_01088_ats_ptr_type (arg0) ; return (tmp2) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 2087(line=72, offs=22) -- 2311(line=83, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_1, tmp11) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_6 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_loop_6: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp18 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp18 ; arg1 = arg1 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp17) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp19) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp16 ; */ tmp16 = arg0 ; /* tmp19 = */ loop_6 ((&tmp16), arg1) ; tmp15 = tmp16 ; return (tmp15) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 2401(line=88, offs=25) -- 2690(line=100, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_addlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_addlst: tmp13 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp20 = ats_ptrget_mac(ats_ptr_type, tmp13) ; tmp14 = list_vt_append_01504_ats_ptr_type (arg0, tmp20) ; ats_ptrget_mac(ats_ptr_type, tmp13) = tmp14 ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_addlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2995(line=117, offs=20) -- 3056(line=120, offs=2) */ ATSstaticdec() ats_void_type prerr_warning3_loc_02051_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab_prerr_warning3_loc_02051_: /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst(": warning(3)")) ; return /* (tmp26) */ ; } /* end of [prerr_warning3_loc_02051_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 2788(line=106, offs=3) -- 3372(line=126, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isasp (arg1) ; if (tmp23) { /* tmp25 = */ prerr_warning3_loc_02051_ (arg0) ; /* tmp28 = */ atspre_prerr_string (ATSstrcst(": the static constant [")) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst (arg1) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst("] is not abstract at this point.")) ; /* tmp24 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp32 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp32, atslab_0, tmp22) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (arg1, tmp32) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_isasp (arg1, ats_true_bool) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add (arg1) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 3470(line=132, offs=3) -- 3914(line=148, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop: tmp35 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp6), atslab_1) ; tmp37 = ats_ptrget_mac(ats_ptr_type, tmp35) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_1, tmp37, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_1, tmp37, atslab_1) ; ATS_FREE(tmp37) ; ats_ptrget_mac(ats_ptr_type, tmp35) = tmp39 ; tmp36 = tmp38 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp36 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp41 = ats_ptrget_mac(ats_ptr_type, tmp40) ; ats_ptrget_mac(ats_ptr_type, tmp40) = tmp36 ; tmp34 = tmp41 ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 4042(line=155, offs=7) -- 4447(line=169, offs=6) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_loop_11: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp47 = (ats_sum_ptr_type)0 ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (tmp44, tmp47) ; arg0 = tmp45 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp43) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 4014(line=154, offs=3) -- 4517(line=172, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop () ; /* tmp42 = */ loop_11 (tmp48) ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_scst.dats: 4616(line=177, offs=23) -- 4909(line=189, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push: tmp50 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp51 = ats_ptrget_mac(ats_ptr_type, tmp50) ; tmp52 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp50) = tmp52 ; tmp53 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp6), atslab_1) ; tmp55 = ats_ptrget_mac(ats_ptr_type, tmp53) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp54, atslab_0, tmp51) ; ats_selptrset_mac(anairiats_sum_1, tmp54, atslab_1, tmp55) ; ats_ptrget_mac(ats_ptr_type, tmp53) = tmp54 ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp5 = (ats_sum_ptr_type)0 ; statmp1 = ref_make_elt_01089_ats_ptr_type (statmp5) ; statmp7 = (ats_sum_ptr_type)0 ; statmp6 = ref_make_elt_01089_ats_ptr_type (statmp7) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_scst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_myint_dats.c0000664000175000017500000005163012655455557021662 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/gmp.cats" #include "pats_location.cats" /* external codes at top */ #include "pats_lintprgm_myint.cats" /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_ptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_mpz_neg1) (ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_add2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_sub2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_mul2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_fprint_mpz) (ats_ptr_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type fprint_myint_02238_gmpknd (ats_ptr_type arg0, gmpknd arg1) ; static ats_void_type print_myint_02239_gmpknd (gmpknd arg0) ; static ats_void_type prerr_myint_02240_gmpknd (gmpknd arg0) ; static gmpknd myint_make_int_02241_gmpknd (ats_int_type arg0) ; static gmpknd myint_make_intinf_02242_gmpknd (ats_ptr_type arg0) ; static gmpknd myint_copy_02244_gmpknd (gmpknd arg0) ; static ats_void_type myint_free_02243_gmpknd (gmpknd arg0) ; static gmpknd neg_myint_02245_gmpknd (gmpknd arg0) ; static gmpknd neg1_myint_02246_gmpknd (gmpknd arg0) ; static gmpknd add01_myint_myint_02248_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd sub01_myint_myint_02249_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd add_myint_int_02247_gmpknd (gmpknd arg0, ats_int_type arg1) ; static gmpknd mul01_myint_myint_02250_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mul10_myint_myint_02251_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mul11_myint_myint_02252_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd div01_myint_myint_02253_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd ediv01_myint_myint_02255_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mod01_myint_myint_02256_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mod11_myint_myint_02257_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd gcd01_myint_myint_02258_gmpknd (gmpknd arg0, gmpknd arg1) ; static ats_int_type compare_myint_int_02265_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_int_type compare_myint_myint_02270_gmpknd (gmpknd arg0, gmpknd arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2251(line=82, offs=3) -- 2419(line=90, offs=4) */ ATSstaticdec() ats_void_type fprint_myint_02238_gmpknd (ats_ptr_type arg0, gmpknd arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_fprint_myint_02238_gmpknd: tmp1 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp0 = */ atslib_fprint_mpz (arg0, tmp1) ; return /* (tmp0) */ ; } /* end of [fprint_myint_02238_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2486(line=93, offs=21) -- 2528(line=93, offs=63) */ ATSstaticdec() ats_void_type print_myint_02239_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; __ats_lab_print_myint_02239_gmpknd: /* tmp2 = */ fprint_myint_02238_gmpknd (stdout, arg0) ; return /* (tmp2) */ ; } /* end of [print_myint_02239_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2559(line=95, offs=21) -- 2601(line=95, offs=63) */ ATSstaticdec() ats_void_type prerr_myint_02240_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab_prerr_myint_02240_gmpknd: /* tmp3 = */ fprint_myint_02238_gmpknd (stderr, arg0) ; return /* (tmp3) */ ; } /* end of [prerr_myint_02240_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2659(line=100, offs=24) -- 2814(line=107, offs=4) */ ATSstaticdec() gmpknd myint_make_int_02241_gmpknd (ats_int_type arg0) { /* local vardec */ ATSlocal (gmpknd, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_myint_make_int_02241_gmpknd: tmp5 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp6 = ats_selsin_mac(tmp5, atslab_2) ; /* tmp7 = */ atslib_mpz_init_set_int (tmp6, arg0) ; tmp8 = tmp6 ; tmp4 = ats_castfn_mac(gmpknd, tmp8) ; return (tmp4) ; } /* end of [myint_make_int_02241_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3094(line=126, offs=27) -- 3321(line=135, offs=4) */ ATSstaticdec() gmpknd myint_make_intinf_02242_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (gmpknd, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_myint_make_intinf_02242_gmpknd: tmp10 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp11 = ats_selsin_mac(tmp10, atslab_2) ; tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; /* tmp13 = */ atslib_mpz_init_set_mpz (tmp11, tmp12) ; tmp14 = tmp11 ; tmp9 = ats_castfn_mac(gmpknd, tmp14) ; return (tmp9) ; } /* end of [myint_make_intinf_02242_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3424(line=142, offs=20) -- 3667(line=151, offs=4) */ ATSstaticdec() gmpknd myint_copy_02244_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab_myint_copy_02244_gmpknd: tmp16 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp17 = ats_selsin_mac(tmp16, atslab_2) ; tmp19 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp18 = */ atslib_mpz_init_set_mpz (tmp17, tmp19) ; tmp20 = tmp17 ; tmp15 = ats_castfn_mac(gmpknd, tmp20) ; return (tmp15) ; } /* end of [myint_copy_02244_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3750(line=156, offs=20) -- 3877(line=162, offs=4) */ ATSstaticdec() ats_void_type myint_free_02243_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_myint_free_02243_gmpknd: tmp23 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp22 = */ atslib_mpz_clear (tmp23) ; tmp24 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp21 = */ atspre_ptr_free (tmp24) ; return /* (tmp21) */ ; } /* end of [myint_free_02243_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3961(line=168, offs=3) -- 4079(line=173, offs=2) */ ATSstaticdec() gmpknd neg_myint_02245_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_neg_myint_02245_gmpknd: tmp27 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp26 = */ atslib_mpz_neg1 (tmp27) ; tmp25 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp25) ; } /* end of [neg_myint_02245_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4163(line=179, offs=3) -- 4417(line=187, offs=2) */ ATSstaticdec() gmpknd neg1_myint_02246_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_neg1_myint_02246_gmpknd: tmp29 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp30 = ats_selsin_mac(tmp29, atslab_2) ; /* tmp31 = */ atslib_mpz_init (tmp30) ; tmp33 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp32 = */ atslib_mpz_neg2 (tmp30, tmp33) ; tmp34 = tmp30 ; tmp28 = ats_castfn_mac(gmpknd, tmp34) ; return (tmp28) ; } /* end of [neg1_myint_02246_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4509(line=193, offs=3) -- 4734(line=199, offs=2) */ ATSstaticdec() gmpknd add01_myint_myint_02248_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab_add01_myint_myint_02248_gmpknd: tmp37 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp38 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp36 = */ atslib_mpz_add2_mpz (tmp37, tmp38) ; tmp35 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp35) ; } /* end of [add01_myint_myint_02248_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4831(line=205, offs=3) -- 5056(line=211, offs=2) */ ATSstaticdec() gmpknd sub01_myint_myint_02249_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_sub01_myint_myint_02249_gmpknd: tmp41 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp42 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp40 = */ atslib_mpz_sub2_mpz (tmp41, tmp42) ; tmp39 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp39) ; } /* end of [sub01_myint_myint_02249_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5149(line=217, offs=3) -- 5278(line=222, offs=2) */ ATSstaticdec() gmpknd add_myint_int_02247_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (gmpknd, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_add_myint_int_02247_gmpknd: tmp45 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp44 = */ atslib_mpz_add2_int (tmp45, arg1) ; tmp43 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp43) ; } /* end of [add_myint_int_02247_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5373(line=228, offs=3) -- 5599(line=235, offs=2) */ ATSstaticdec() gmpknd mul01_myint_myint_02250_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_mul01_myint_myint_02250_gmpknd: tmp48 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp49 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp47 = */ atslib_mpz_mul2_mpz (tmp48, tmp49) ; tmp46 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp46) ; } /* end of [mul01_myint_myint_02250_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5677(line=239, offs=3) -- 6142(line=254, offs=2) */ ATSstaticdec() gmpknd mul10_myint_myint_02251_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab_mul10_myint_myint_02251_gmpknd: tmp51 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg1)) ; tmp52 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp51), atslab_2) ; tmp54 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg1)) ; tmp55 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp53 = */ atslib_mpz_mul3_mpz (tmp54, tmp55, tmp52) ; tmp50 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp50) ; } /* end of [mul10_myint_myint_02251_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 6220(line=258, offs=3) -- 6574(line=268, offs=4) */ ATSstaticdec() gmpknd mul11_myint_myint_02252_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab_mul11_myint_myint_02252_gmpknd: tmp57 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp58 = ats_selsin_mac(tmp57, atslab_2) ; /* tmp59 = */ atslib_mpz_init (tmp58) ; tmp61 = ats_varget_mac(ats_ptr_type, arg0) ; tmp62 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp60 = */ atslib_mpz_mul3_mpz (tmp58, tmp61, tmp62) ; tmp63 = tmp58 ; tmp56 = ats_castfn_mac(gmpknd, tmp63) ; return (tmp56) ; } /* end of [mul11_myint_myint_02252_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 6673(line=274, offs=3) -- 7138(line=288, offs=2) */ ATSstaticdec() gmpknd div01_myint_myint_02253_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; // ATSlocal_void (tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_div01_myint_myint_02253_gmpknd: tmp65 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp66 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp65), atslab_2) ; tmp68 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp69 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp67 = */ atslib_mpz_tdiv3_q_mpz (tmp66, tmp68, tmp69) ; tmp64 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp64) ; } /* end of [div01_myint_myint_02253_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 7238(line=294, offs=3) -- 7701(line=308, offs=2) */ ATSstaticdec() gmpknd ediv01_myint_myint_02255_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab_ediv01_myint_myint_02255_gmpknd: tmp71 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp72 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp71), atslab_2) ; tmp74 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp75 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp73 = */ atslib_mpz_divexact3 (tmp72, tmp74, tmp75) ; tmp70 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp70) ; } /* end of [ediv01_myint_myint_02255_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 7801(line=314, offs=3) -- 8263(line=328, offs=2) */ ATSstaticdec() gmpknd mod01_myint_myint_02256_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab_mod01_myint_myint_02256_gmpknd: tmp77 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp77), atslab_2) ; tmp80 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp81 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp79 = */ atslib_mpz_mod3_mpz (tmp78, tmp80, tmp81) ; tmp76 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp76) ; } /* end of [mod01_myint_myint_02256_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 8341(line=332, offs=3) -- 8695(line=342, offs=4) */ ATSstaticdec() gmpknd mod11_myint_myint_02257_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_mod11_myint_myint_02257_gmpknd: tmp83 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp84 = ats_selsin_mac(tmp83, atslab_2) ; /* tmp85 = */ atslib_mpz_init (tmp84) ; tmp87 = ats_varget_mac(ats_ptr_type, arg0) ; tmp88 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp86 = */ atslib_mpz_mod3_mpz (tmp84, tmp87, tmp88) ; tmp89 = tmp84 ; tmp82 = ats_castfn_mac(gmpknd, tmp89) ; return (tmp82) ; } /* end of [mod11_myint_myint_02257_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 8794(line=348, offs=3) -- 9256(line=362, offs=2) */ ATSstaticdec() gmpknd gcd01_myint_myint_02258_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab_gcd01_myint_myint_02258_gmpknd: tmp91 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp92 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp91), atslab_2) ; tmp94 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp95 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp93 = */ atslib_mpz_gcd3_mpz (tmp92, tmp94, tmp95) ; tmp90 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp90) ; } /* end of [gcd01_myint_myint_02258_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 9355(line=368, offs=3) -- 9509(line=374, offs=2) */ ATSstaticdec() ats_int_type compare_myint_int_02265_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab_compare_myint_int_02265_gmpknd: tmp97 = ats_varget_mac(ats_ptr_type, arg0) ; tmp96 = atslib_mpz_cmp_int (tmp97, arg1) ; return (tmp96) ; } /* end of [compare_myint_int_02265_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 9603(line=380, offs=3) -- 9841(line=386, offs=2) */ ATSstaticdec() ats_int_type compare_myint_myint_02270_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_compare_myint_myint_02270_gmpknd: tmp99 = ats_varget_mac(ats_ptr_type, arg0) ; tmp100 = ats_varget_mac(ats_ptr_type, arg1) ; tmp98 = atslib_mpz_cmp_mpz (tmp99, tmp100) ; return (tmp98) ; } /* end of [compare_myint_myint_02270_gmpknd] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__dynload () { // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_myint_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_lintprgm_myint_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_print_dats.c0000664000175000017500000014260412655455557022273 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ecst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eiatm_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eimul_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Esizeof_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eapp_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varmset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 1728(line=55, offs=14) -- 5054(line=185, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ecst(")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp1) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(":")) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp1) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (arg0, tmp6) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("S3Evar(")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp7) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(":")) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp7) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (arg0, tmp12) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("0")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("1")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp0 = */ atspre_fprint_bool (arg0, tmp13) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebvar(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp14) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebneg(")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp17) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebadd(")) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp20) ; /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp21) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebmul(")) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp26) ; /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp27) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebeq(")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp32) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp33) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebneq(")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp38) ; /* tmp42 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp39) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 11) { goto __ats_lab_17_0 ; } __ats_lab_11_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebineq(")) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp44 != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp44 != -1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("!=")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp44 != 2) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst(">=")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp44 != -2) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("?")) ; break ; } while (0) ; /* tmp48 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp45) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 12) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst("S3Ebdom(")) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp50) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eiatm(")) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varmset (arg0, tmp53) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eicff(")) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, tmp56) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp57) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eisum(")) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst (arg0, tmp62) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg1)->tag != 16) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp67 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eimul(")) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp65) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp66) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 17) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp72 = */ atspre_fprint_string (arg0, ATSstrcst("S3Esizeof(")) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp71) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 18) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eapp(")) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (arg0, tmp74) ; /* tmp78 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst (arg0, tmp75) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst("S3Eerr(")) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (arg0, tmp80) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 5103(line=188, offs=13) -- 5137(line=188, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3exp: /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (stdout, arg0) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 5160(line=190, offs=13) -- 5194(line=190, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp: /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp (stderr, arg0) ; return /* (tmp84) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_bool_type, tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_int_type, tmp93) ; __ats_lab_aux_5: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp91 = atspre_gt_int_int (arg1, 0) ; if (tmp91) { /* tmp90 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp92 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp88) ; tmp93 = atspre_add_int_int (arg1, 1) ; arg0 = tmp89 ; arg1 = tmp93 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp87) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp86) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp86 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp86) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 5243(line=195, offs=17) -- 5300(line=196, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst: /* tmp85 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3exp) ; return /* (tmp85) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 5355(line=200, offs=16) -- 5394(line=200, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3explst: /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst (stdout, arg0) ; return /* (tmp94) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__print_s3explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_print.dats: 5420(line=202, offs=16) -- 5459(line=202, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3explst: /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__fprint_s3explst (stderr, arg0) ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3explst] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_constraint3_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_pfman_dats.c0000664000175000017500000025534212655455557022057 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_13 ; typedef struct { anairiats_rec_13 atslab_0 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_15 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTmark_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTnil_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvaropt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_d2varmrklst_get_view_ptr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_pfmanenv_add_labp3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__s2exp_search_atview) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_at) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_tyrec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__pfmanenv_push_v = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTmark_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTnil_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02388_ () ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type pushenv_2 (ats_int_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_7 (ats_ptr_type arg0) ; static ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_20 (ats_ptr_type arg0) ; static ats_ptr_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp4) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 1651(line=49, offs=28) -- 1685(line=49, offs=62) */ ATSstaticdec() ats_void_type prerr_FILENAME_02388_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02388_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env_pfman")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02388_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_ptr_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 2536(line=99, offs=1) -- 2722(line=108, offs=4) */ ATSstaticdec() ats_void_type pushenv_2 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_pushenv_2: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp8 = ats_ptrget_mac(ats_ptr_type, tmp6) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp7)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp7, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp7, atslab_1, tmp8) ; ats_ptrget_mac(ats_ptr_type, tmp6) = tmp7 ; return /* (tmp5) */ ; } /* end of [pushenv_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 2825(line=115, offs=30) -- 3079(line=124, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_d2varmrklst_get_view_ptr () { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_d2varmrklst_get_view_ptr: tmp9 = ats_castfn_mac(ats_ptr_type, statmp1) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_d2varmrklst_get_view_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 3191(line=130, offs=7) -- 3764(line=148, offs=36) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp13 = &ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp12) ; /* tmp15 = */ atspre_fprint_newline (arg0) ; tmp16 = ats_ptrget_mac(ats_ptr_type, tmp13) ; arg0 = arg0 ; arg1 = tmp16 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp18 = &ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp19 = */ atspre_fprintf_exn (arg0, ATSstrcst("D2VMRKLSTmark(%d)"), tmp17) ; /* tmp20 = */ atspre_fprint_newline (arg0) ; tmp21 = ats_ptrget_mac(ats_ptr_type, tmp18) ; arg0 = arg0 ; arg1 = tmp21 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: break ; } while (0) ; return /* (tmp11) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 3173(line=129, offs=21) -- 3944(line=155, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_pfmanenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_pfmanenv: /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("the current pfmanenv is:\n")) ; tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp24 = ats_ptrget_mac(ats_ptr_type, tmp23) ; /* tmp10 = */ loop_5 (arg0, tmp24) ; return /* (tmp10) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_pfmanenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4087(line=163, offs=7) -- 4270(line=169, offs=42) */ ATSstaticdec() ats_ptr_type loop_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_loop_7: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp27 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp26 = tmp28 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp26 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTnil_2) ; break ; } while (0) ; return (tmp26) ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4028(line=161, offs=3) -- 4386(line=174, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop: tmp29 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp31 = ats_ptrget_mac(ats_ptr_type, tmp29) ; tmp30 = loop_7 (tmp31) ; ats_ptrget_mac(ats_ptr_type, tmp29) = tmp30 ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4598(line=184, offs=23) -- 4620(line=184, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_let () { /* local vardec */ // ATSlocal_void (tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_let: /* tmp32 = */ pushenv_2 (1) ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4656(line=187, offs=3) -- 4717(line=187, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam: tmp35 = atspre_eq_int_int (arg0, 0) ; if (tmp35) { tmp34 = -1 ; } else { tmp34 = 0 ; } /* end of [if] */ /* tmp33 = */ pushenv_2 (tmp34) ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4751(line=189, offs=23) -- 4773(line=189, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try () { /* local vardec */ // ATSlocal_void (tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try: /* tmp36 = */ pushenv_2 (-1) ; return /* (tmp36) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 4831(line=195, offs=3) -- 5261(line=216, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (arg0) ; if (tmp38) { tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp42 = ats_ptrget_mac(ats_ptr_type, tmp40) ; tmp41 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp41)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp41, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp41, atslab_1, tmp42) ; ats_ptrget_mac(ats_ptr_type, tmp40) = tmp41 ; } else { /* empty */ } /* end of [if] */ tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg0) ; if (tmp43) { tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (arg0) ; if (tmp44 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 5092(line=208, offs=7) -- 5126(line=208, offs=41)") ; } tmp45 = ats_caselptrlab_mac(anairiats_sum_3, tmp44, atslab_0) ; tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp48 = ats_ptrget_mac(ats_ptr_type, tmp46) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp47)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp47, atslab_0, tmp45) ; ats_selptrset_mac(anairiats_sum_2, tmp47, atslab_1, tmp48) ; ats_ptrget_mac(ats_ptr_type, tmp46) = tmp47 ; } else { /* empty */ } /* end of [if] */ return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; __ats_lab_loop_15: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; /* tmp55 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp53, arg2) ; arg0 = tmp54 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_15 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; return /* (tmp52) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp51) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp51 = */ loop_15 (arg0, arg1, arg2) ; return /* (tmp51) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp50) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp50 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp50) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 5355(line=222, offs=3) -- 5410(line=223, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvarlst: /* tmp49 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 5488(line=228, offs=3) -- 5576(line=231, offs=18) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvaropt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvaropt: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp57) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp56) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvaropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 5779(line=245, offs=3) -- 6768(line=296, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt (arg0) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvaropt (tmp59) ; tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp61)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_6, tmp61, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp62) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp61)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_6, tmp61, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp63) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp61)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_7, tmp61, atslab_3) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (tmp64) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp61)->tag != 17) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_2, tmp61, atslab_0) ; arg0 = tmp65 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp61)->tag != 3) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp61)->tag != 4) { goto __ats_lab_16_0 ; } __ats_lab_15_1: break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp61)->tag != 5) { goto __ats_lab_17_0 ; } __ats_lab_16_1: break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp61)->tag != 6) { goto __ats_lab_18_0 ; } __ats_lab_17_1: break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp61)->tag != 7) { goto __ats_lab_19_0 ; } __ats_lab_18_1: break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp61)->tag != 8) { goto __ats_lab_20_0 ; } __ats_lab_19_1: break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp61)->tag != 9) { goto __ats_lab_21_0 ; } __ats_lab_20_1: break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp61)->tag != 10) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp61)->tag != 11) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp61)->tag != 12) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_8, tmp61, atslab_2) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_pfmanenv_add_labp3atlst (tmp66) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp61)->tag != 13) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_9, tmp61, atslab_2) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (tmp67) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp61)->tag != 14) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_2, tmp61, atslab_0) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_2, tmp61, atslab_1) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp68) ; arg0 = tmp69 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp61)->tag != 15) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_2, tmp61, atslab_1) ; arg0 = tmp71 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp61)->tag != 16) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_6, tmp61, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp72) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (((ats_sum_ptr_type)tmp61)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: break ; } while (0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 6841(line=300, offs=3) -- 6898(line=300, offs=60) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst: /* tmp73 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 7008(line=306, offs=7) -- 7254(line=316, offs=24) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; __ats_lab_loop_20: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_4, tmp76, atslab_1) ; /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at (tmp78) ; arg0 = tmp77 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: break ; } while (0) ; return /* (tmp75) */ ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 6977(line=305, offs=3) -- 7275(line=318, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_pfmanenv_add_labp3atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_pfmanenv_add_labp3atlst: /* tmp74 = */ loop_20 (arg0) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_pfmanenv_add_labp3atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 8211(line=356, offs=3) -- 8498(line=373, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg0) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp81 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_3, tmp81, atslab_0) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp (arg0, arg1, tmp82, arg2) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (tmp81 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp80 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 8555(line=377, offs=3) -- 8844(line=388, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg2) ; tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp84), atslab_s2exp_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp85)->tag != 12) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_at (arg0, arg1, tmp84, arg3) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp85)->tag != 25) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_tyrec (arg0, arg1, tmp84, arg3) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp83 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 8912(line=392, offs=3) -- 9704(line=416, offs=30) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_36_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_11, tmp87, atslab_0) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_11, tmp87, atslab_1) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_11, tmp87, atslab_2) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp (arg0, arg1, tmp91, arg3) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp92 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_3, tmp92, atslab_0) ; ATS_FREE(tmp92) ; tmp94 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp94, atslab_0, tmp89) ; ats_selptrset_mac(anairiats_sum_11, tmp94, atslab_1, tmp90) ; ats_selptrset_mac(anairiats_sum_11, tmp94, atslab_2, tmp93) ; tmp95 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp95, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_4, tmp95, atslab_1, tmp88) ; tmp86 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp86, atslab_0, tmp95) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (tmp92 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst (arg0, arg1, tmp88, arg3) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (tmp96 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_3, tmp96, atslab_0) ; ATS_FREE(tmp96) ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp98, atslab_0, tmp87) ; ats_selptrset_mac(anairiats_sum_4, tmp98, atslab_1, tmp97) ; tmp86 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp86, atslab_0, tmp98) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp96 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp86 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp86 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 9775(line=421, offs=3) -- 10328(line=448, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_at (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_at: tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp100)->tag != 12) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 9808(line=422, offs=7) -- 9843(line=422, offs=42)") ; } tmp101 = ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_0) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_1) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (arg1, tmp102) ; if (tmp103) { ats_ptrget_mac(ats_ptr_type, arg3) = tmp101 ; tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp101), atslab_s2exp_srt) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt (tmp104) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole (tmp105) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp106, tmp102) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_0, tmp107) ; } else { tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp (arg0, arg1, tmp101, arg3) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp108 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_3, tmp108, atslab_0) ; ATS_FREE(tmp108) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp109, tmp102) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp99, atslab_0, tmp110) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp108 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp99 = (ats_sum_ptr_type)0 ; break ; } while (0) ; } /* end of [if] */ return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 10399(line=452, offs=3) -- 10776(line=467, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_tyrec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_tyrec: tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp112)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 10432(line=453, offs=7) -- 10475(line=453, offs=50)") ; } tmp113 = ats_caselptrlab_mac(anairiats_sum_12, tmp112, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_12, tmp112, atslab_1) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_12, tmp112, atslab_2) ; /* ats_ptr_type tmp116 ; */ tmp116 = (ats_sum_ptr_type)0 ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_labsexplst (arg0, arg1, tmp115, arg3) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (tmp117 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_3, tmp117, atslab_0) ; ATS_FREE(tmp117) ; tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_s2exp_srt) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp119, tmp113, tmp114, tmp118) ; tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, tmp120) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (tmp117 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp111 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search_sexp_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 10949(line=476, offs=5) -- 11736(line=510, offs=4) */ ATSstaticdec() ats_ptr_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (anairiats_rec_13, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_loop_27: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_49_0 ; } __ats_lab_46_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp124 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__d2var_search (tmp123, arg1, arg2) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (tmp125 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_3, tmp125, atslab_0) ; ATS_FREE(tmp125) ; tmp127.atslab_0 = tmp123 ; tmp127.atslab_1 = tmp126 ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_0, tmp127) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp125 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp128 = ats_ptrget_mac(ats_ptr_type, tmp124) ; arg0 = tmp128 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_27 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp130 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp131 = atspre_gt_int_int (tmp129, 0) ; if (tmp131) { tmp132 = ats_ptrget_mac(ats_ptr_type, tmp130) ; arg0 = tmp132 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_27 ; // tail call } else { tmp122 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp122 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp122) ; } /* end of [loop_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_pfman.dats: 10844(line=470, offs=21) -- 12086(line=530, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (anairiats_rec_13, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview: /* ats_ptr_type tmp133 ; */ tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__the_d2varmrklst_get_view_ptr () ; tmp135 = ats_selsin_mac(tmp134, atslab_2) ; tmp137 = ats_ptrget_mac(ats_ptr_type, tmp135) ; tmp136 = loop_27 (tmp137, arg0, (&tmp133)) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp136 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_14, tmp136, atslab_0) ; ATS_FREE(tmp136) ; tmp140 = ats_select_mac(tmp138, atslab_0) ; tmp141 = ats_select_mac(tmp138, atslab_1) ; tmp139 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp139, atslab_0, tmp140) ; ats_selptrset_mac(anairiats_sum_15, tmp139, atslab_1, tmp141) ; ats_selptrset_mac(anairiats_sum_15, tmp139, atslab_2, tmp133) ; ats_selptrset_mac(anairiats_sum_15, tmp139, atslab_3, arg0) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp121, atslab_0, tmp139) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp136 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp121 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTcons_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTmark_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTnil_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp4 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__D2VMRKLSTnil_2) ; statmp1 = ref_01088_ats_ptr_type (statmp4) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_pfman_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_location.cats0000664000175000017500000000331612655455557020111 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LOCATION_CATS #define POSTIATS_SRC_PATS_LOCATION_CATS /* ****** ****** */ typedef struct { ats_lint_type ntot ; ats_int_type nrow ; // line number ats_int_type ncol ; // line offset } pats_position_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LOCATION_CATS] /* ****** ****** */ /* end of [pats_position.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_histaexp_funlab_dats.c0000664000175000017500000003652212655455557021765 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_funlab.dats: 1829(line=65, offs=3) -- 1930(line=69, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp0 = */ atspre_fprint_string (arg0, tmp1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_funlab.dats: 1981(line=72, offs=14) -- 2018(line=72, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_funlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_funlab: /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab (stdout, arg0) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_funlab.dats: 2042(line=74, offs=14) -- 2079(line=74, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_funlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_funlab: /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab (stderr, arg0) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_funlab] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_histaexp_funlab_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_lazyeval_dats.c0000664000175000017500000010337112655455557021616 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ignore) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 1670(line=55, offs=3) -- 2756(line=93, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_int_type, tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_delay: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_loc) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp2)->tag != 47) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 1735(line=58, offs=5) -- 1768(line=58, offs=38)") ; } tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_0) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, tmp3), atslab_hidexp_type) ; tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, -1) ; tmp7 = (ats_sum_ptr_type)0 ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun (tmp6, tmp7, tmp4) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp5) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp1, tmp8) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp8) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp8) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (arg0, tmp8) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; tmp15 = atspre_gt_int_int (tmp13, 0) ; if (tmp15) { /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (tmp8, 1) ; } else { /* empty */ } /* end of [if] */ tmp16 = (ats_sum_ptr_type)0 ; tmp17 = (ats_sum_ptr_type)0 ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (tmp1, tmp8) ; tmp20 = (ats_sum_ptr_type)0 ; tmp19 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp19, atslab_0, tmp18) ; ats_selptrset_mac(anairiats_sum_3, tmp19, atslab_1, tmp20) ; tmp22 = (ats_sum_ptr_type)0 ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (arg0, tmp8, tmp16, tmp17, tmp19, tmp1, tmp22, tmp3) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, tmp21) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp8, tmp24) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (0, tmp9) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay (tmp1, arg2, 0, tmp4, tmp26) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp27) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 2850(line=99, offs=3) -- 4403(line=147, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_int_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_ldelay: tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_loc) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp30)->tag != 48) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 2915(line=102, offs=5) -- 2956(line=102, offs=46)") ; } tmp31 = ats_caselptrlab_mac(anairiats_sum_5, tmp30, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_5, tmp30, atslab_1) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, tmp31), atslab_hidexp_type) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype () ; tmp36 = (ats_sum_ptr_type)0 ; tmp35 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp35, atslab_0, tmp34) ; ats_selptrset_mac(anairiats_sum_3, tmp35, atslab_1, tmp36) ; tmp38 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp38, atslab_0, 1) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun (tmp38, tmp35, tmp33) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp37) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp29, tmp39) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (tmp29) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp41) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var (tmp29, tmp34, tmp41) ; tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, tmp32), atslab_hidexp_loc) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ignore (tmp45, tmp33, tmp32) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if (tmp29, tmp33, tmp43, tmp31, tmp44) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var (tmp29, tmp34, tmp41) ; tmp49 = (ats_sum_ptr_type)0 ; tmp48 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp48, atslab_0, tmp47) ; ats_selptrset_mac(anairiats_sum_3, tmp48, atslab_1, tmp49) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp39) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp39) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (arg0, tmp39) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; tmp55 = atspre_gt_int_int (tmp53, 0) ; if (tmp55) { /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (tmp39, 1) ; } else { /* empty */ } /* end of [if] */ tmp56 = (ats_sum_ptr_type)0 ; tmp57 = (ats_sum_ptr_type)0 ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (tmp29, tmp39) ; tmp60 = (ats_sum_ptr_type)0 ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp59, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_3, tmp59, atslab_1, tmp60) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (arg0, tmp39, tmp56, tmp57, tmp59, tmp29, tmp48, tmp46) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp63, atslab_0, tmp61) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp39, tmp63) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (0, tmp40) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay (tmp29, arg2, 1, tmp33, tmp65) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp66) ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_ldelay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 4498(line=153, offs=3) -- 4819(line=165, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_lazyeval: tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_loc) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_type) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp70)->tag != 49) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_lazyeval.dats: 4591(line=157, offs=5) -- 4637(line=157, offs=51)") ; } tmp71 = ats_caselptrlab_mac(anairiats_sum_6, tmp70, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_6, tmp70, atslab_1) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp72) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval (tmp68, arg2, tmp71, tmp69, tmp73) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp74) ; return /* (tmp67) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_lazyeval] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_lazyeval_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_e1xpval_sats.c0000664000175000017500000001131412655455557020200 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_defined_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_undefined_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_maxlevel_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_opr_arglst_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPide_unbound_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPundef_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPlist_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPapp_fun_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_fun_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_opr_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_arity_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPfun_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPerr_13) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_defined_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_undefined_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_maxlevel_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_opr_arglst_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPide_unbound_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPundef_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPlist_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPapp_fun_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_fun_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_opr_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_arity_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPfun_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPerr_13.tag = 13 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_e1xpval_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_fixity_prec_dats.c0000664000175000017500000004071612655455557021136 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int) (ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__sasp__prec_t0ype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__neginf_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__posinf_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__backslash_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__infixtemp_prec) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exi_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__uni_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__delay_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exist_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__addrat_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__foldat_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__freeat_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__viewat_prec_dyn) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmark_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmarkbang_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__trans_prec_sta) ; ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_prec_dyn) ; /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_int_type, statmp1) ; ATSstatic (ats_int_type, statmp2) ; ATSstatic (ats_int_type, statmp3) ; ATSstatic (ats_int_type, statmp4) ; ATSstatic (ats_int_type, statmp5) ; ATSstatic (ats_int_type, statmp6) ; ATSstatic (ats_int_type, statmp7) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 1468(line=41, offs=14) -- 1644(line=45, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOCnon")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOClft")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOCrgt")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 3065(line=116, offs=23) -- 3072(line=116, offs=30) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec: tmp8 = arg0 ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 3098(line=119, offs=15) -- 3195(line=122, offs=11) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_bool_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp10 = atspre_lte_int_int (arg0, -1000000) ; if (!tmp10) { goto __ats_lab_4_1 ; } tmp9 = -1000000 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp11 = atspre_gte_int_int (arg0, 1000000) ; if (!tmp11) { goto __ats_lab_5_1 ; } tmp9 = 1000000 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp9 = arg0 ; break ; } while (0) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 3269(line=127, offs=26) -- 3298(line=127, offs=55) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_inc (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_inc: tmp13 = atspre_add_int_int (arg0, arg1) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int (tmp13) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 3325(line=128, offs=26) -- 3354(line=128, offs=55) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_dec (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_dec: tmp15 = atspre_sub_int_int (arg0, arg1) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int (tmp15) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_prec.dats: 3406(line=132, offs=29) -- 3441(line=132, offs=64) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec: tmp16 = atspre_compare_int_int (arg0, arg1) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_int_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_int_type)) ; /* marking external values for GC */ /* code for dynamic loading */ ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__neginf_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__neginf_prec = -1000000 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__posinf_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__posinf_prec = 1000000 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec = 70 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec = 80 ; statmp1 = atspre_add_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__backslash_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__backslash_prec = statmp1 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__infixtemp_prec, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__infixtemp_prec = 0 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exi_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exi_prec_sta = 0 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__uni_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__uni_prec_sta = 0 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__delay_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__delay_prec_dyn = 0 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exist_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exist_prec_dyn = 0 ; statmp2 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn = statmp2 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__addrat_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__addrat_prec_dyn = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn ; statmp3 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__foldat_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__foldat_prec_dyn = statmp3 ; statmp4 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__freeat_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__freeat_prec_dyn = statmp4 ; statmp5 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__viewat_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__viewat_prec_dyn = statmp5 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta = 1 ; statmp6 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmark_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmark_prec_sta = statmp6 ; statmp7 = atspre_sub_int_int (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmarkbang_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmarkbang_prec_sta = statmp7 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__trans_prec_sta, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__trans_prec_sta = 0 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_prec_dyn, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_prec_dyn = 100 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_fixity_prec_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dmacro2_sats.c0000664000175000017500000001342712655455557020156 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vbool_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vchar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vfloat_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vstring_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vscode_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vlist_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vbool_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vchar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vfloat_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vstring_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vscode_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vlist_8.tag = 8 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9.tag = 9 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dmacro2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_codegen2_fprint_dats.c0000664000175000017500000033155712655455557021667 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_d2cst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_s2cst_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_d2cst_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxfun1_7 (ats_ptr_type arg0) ; static ats_ptr_type auxfun2_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_datype_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxd2c_dec_9 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type auxd2c_dec_9_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxd2c_dec_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxd2cs_dec_10 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type auxd2cs_dec_10_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxd2cs_dec_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxd2c_cla_11 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type auxd2c_cla_11_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxd2c_cla_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxd2cs_cla_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type auxd2cs_cla_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxd2cs_cla_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxsep_13 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxsep_13_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxsep_13_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxcarg_14 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxcarg_14_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxcarg_14_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxlpar_15 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxlpar_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxlpar_15_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxrpar_16 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxrpar_16_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxrpar_16_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type aux_datype_d2cf_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxcon1_17 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxcon1_17_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxcon1_17_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxlpar1_18 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxlpar1_18_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxlpar1_18_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxrpar1_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxrpar1_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxrpar1_19_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxsep1_n_20 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) ; static ats_clo_ptr_type auxsep1_n_20_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxsep1_n_20_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxarg1_n_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) ; static ats_clo_ptr_type auxarg1_n_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxarg1_n_21_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxcon2_22 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxcon2_22_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxcon2_22_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxlpar2_23 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxlpar2_23_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxlpar2_23_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxrpar2_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxrpar2_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxrpar2_24_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxsep2_n_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) ; static ats_clo_ptr_type auxsep2_n_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxsep2_n_25_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxarg2_n_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) ; static ats_clo_ptr_type auxarg2_n_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxarg2_n_26_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxbody2_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type auxbody2_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type auxbody2_27_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) ; static ats_void_type auxcon3_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxcon3_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxcon3_28_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxlpar3_29 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxlpar3_29_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxlpar3_29_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxrpar3_30 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_clo_ptr_type auxrpar3_30_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxrpar3_30_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxsep3_n_31 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) ; static ats_clo_ptr_type auxsep3_n_31_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_void_type auxsep3_n_31_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type aux_33 (ats_ptr_type env0, ats_int_type env1, ats_int_type env2, ats_int_type arg0) ; static ats_clo_ptr_type aux_33_closure_make (ats_ptr_type env0, ats_int_type env1, ats_int_type env2) ; static ats_void_type aux_33_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxpat3_n_32 (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2, ats_int_type arg0) ; static ats_clo_ptr_type auxpat3_n_32_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2) ; static ats_void_type auxpat3_n_32_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type auxarg3_n_34 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) ; static ats_clo_ptr_type auxarg3_n_34_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type auxarg3_n_34_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type loop_35 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) ; static ats_clo_ptr_type loop_35_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type loop_35_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type loop_36 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) ; static ats_clo_ptr_type loop_36_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type loop_36_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type loop_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) ; static ats_clo_ptr_type loop_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type loop_37_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type loop_38 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) ; static ats_clo_ptr_type loop_38_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) ; static ats_void_type loop_38_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) ; static ats_void_type aux_datype_d2cf_con_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type aux_datype_d2cf_conlst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 1911(line=75, offs=1) -- 2176(line=92, offs=2) */ ATSstaticdec() ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_auxerr_nil_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp1) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no spec on datatype is given\n")) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("*)")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; return /* (tmp0) */ ; } /* end of [auxerr_nil_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 2208(line=95, offs=1) -- 2475(line=112, offs=2) */ ATSstaticdec() ats_void_type auxerr_s2cst_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab_auxerr_s2cst_1: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp7) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no datatype of the given spec\n")) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("*)")) ; /* tmp6 = */ atspre_fprint_newline (arg0) ; return /* (tmp6) */ ; } /* end of [auxerr_s2cst_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 2509(line=115, offs=1) -- 2797(line=132, offs=2) */ ATSstaticdec() ats_void_type auxerr_d2cst_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab_auxerr_d2cst_2: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp13) ; /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no fprint-function of the given spec\n")) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst("*)")) ; /* tmp12 = */ atspre_fprint_newline (arg0) ; return /* (tmp12) */ ; } /* end of [auxerr_d2cst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 2922(line=142, offs=1) -- 3359(line=165, offs=4) */ ATSstaticdec() ats_ptr_type auxfun1_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_auxfun1_7: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg0) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp20) ; tmp22 = atspre_tostringf (ATSstrcst("fprint_%s"), tmp21) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ats_castfn_mac(ats_ptr_type, tmp22)) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp23) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp24 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp19 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp24 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, tmp24, atslab_0) ; ATS_FREE(tmp24) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp25)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_2, tmp25, atslab_0) ; tmp19 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp19, atslab_0, tmp26) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp19 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp19) ; } /* end of [auxfun1_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 3387(line=168, offs=1) -- 3537(line=176, offs=2) */ ATSstaticdec() ats_ptr_type auxfun2_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_auxfun2_8: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp27 = auxfun1_7 (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_d2cst (tmp28) ; break ; } while (0) ; return (tmp27) ; } /* end of [auxfun2_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 2831(line=135, offs=1) -- 3865(line=196, offs=4) */ ATSstaticdec() ats_void_type aux_datype_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_aux_datype_3: tmp29 = auxfun2_8 (arg2, arg3) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp30 = arg3 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_1) ; tmp30 = tmp31 ; break ; } while (0) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (tmp29 != (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp18 = */ auxerr_d2cst_2 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp29 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_1, tmp29, atslab_0) ; ATS_FREE(tmp29) ; /* tmp18 = */ aux_datype_d2cf_4 (arg0, arg1, arg2, tmp32, tmp30) ; break ; } while (0) ; return /* (tmp18) */ ; } /* end of [aux_datype_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 4081(line=213, offs=1) -- 4470(line=234, offs=4) */ ATSstaticdec() ats_void_type auxd2c_dec_9 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab_auxd2c_dec_9: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (arg0) ; /* tmp37 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp39 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp40 = */ atspre_fprint_string (env0, env2) ; /* tmp41 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp42 = */ atspre_fprint_string (env0, tmp36) ; /* tmp43 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp44 = */ atspre_fprint_string (env0, env2) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp46 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp35 = */ atspre_fprint_newline (env0) ; return /* (tmp35) */ ; } /* end of [auxd2c_dec_9] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxd2c_dec_9_closure_type ; ats_void_type auxd2c_dec_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxd2c_dec_9 (((auxd2c_dec_9_closure_type*)cloptr)->closure_env_0, ((auxd2c_dec_9_closure_type*)cloptr)->closure_env_1, ((auxd2c_dec_9_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxd2c_dec_9_closure_init (auxd2c_dec_9_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxd2c_dec_9_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxd2c_dec_9_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxd2c_dec_9_closure_type *p_clo = ATS_MALLOC(sizeof(auxd2c_dec_9_closure_type)) ; auxd2c_dec_9_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 4501(line=237, offs=1) -- 4670(line=246, offs=2) */ ATSstaticdec() ats_void_type auxd2cs_dec_10 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; __ats_lab_auxd2cs_dec_10: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp50 = */ auxd2c_dec_9 (env0, env1, env2, tmp48) ; arg0 = tmp49 ; goto __ats_lab_auxd2cs_dec_10 ; // tail call break ; } while (0) ; return /* (tmp47) */ ; } /* end of [auxd2cs_dec_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxd2cs_dec_10_closure_type ; ats_void_type auxd2cs_dec_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxd2cs_dec_10 (((auxd2cs_dec_10_closure_type*)cloptr)->closure_env_0, ((auxd2cs_dec_10_closure_type*)cloptr)->closure_env_1, ((auxd2cs_dec_10_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxd2cs_dec_10_closure_init (auxd2cs_dec_10_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxd2cs_dec_10_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxd2cs_dec_10_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxd2cs_dec_10_closure_type *p_clo = ATS_MALLOC(sizeof(auxd2cs_dec_10_closure_type)) ; auxd2cs_dec_10_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 4678(line=249, offs=1) -- 4963(line=265, offs=4) */ ATSstaticdec() ats_void_type auxd2c_cla_11 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; __ats_lab_auxd2c_cla_11: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (arg0) ; /* tmp53 = */ atspre_fprint_string (env0, ATSstrcst("| ")) ; /* tmp54 = */ atspre_fprint_string (env0, tmp52) ; /* tmp55 = */ atspre_fprint_string (env0, ATSstrcst(" _ => ")) ; /* tmp56 = */ atspre_fprint_string (env0, env2) ; /* tmp57 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp58 = */ atspre_fprint_string (env0, tmp52) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp60 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp51 = */ atspre_fprint_newline (env0) ; return /* (tmp51) */ ; } /* end of [auxd2c_cla_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxd2c_cla_11_closure_type ; ats_void_type auxd2c_cla_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxd2c_cla_11 (((auxd2c_cla_11_closure_type*)cloptr)->closure_env_0, ((auxd2c_cla_11_closure_type*)cloptr)->closure_env_1, ((auxd2c_cla_11_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxd2c_cla_11_closure_init (auxd2c_cla_11_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxd2c_cla_11_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxd2c_cla_11_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxd2c_cla_11_closure_type *p_clo = ATS_MALLOC(sizeof(auxd2c_cla_11_closure_type)) ; auxd2c_cla_11_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 4994(line=268, offs=1) -- 5163(line=277, offs=2) */ ATSstaticdec() ats_void_type auxd2cs_cla_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; __ats_lab_auxd2cs_cla_12: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp64 = */ auxd2c_cla_11 (env0, env1, env2, tmp62) ; arg0 = tmp63 ; goto __ats_lab_auxd2cs_cla_12 ; // tail call break ; } while (0) ; return /* (tmp61) */ ; } /* end of [auxd2cs_cla_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxd2cs_cla_12_closure_type ; ats_void_type auxd2cs_cla_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxd2cs_cla_12 (((auxd2cs_cla_12_closure_type*)cloptr)->closure_env_0, ((auxd2cs_cla_12_closure_type*)cloptr)->closure_env_1, ((auxd2cs_cla_12_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxd2cs_cla_12_closure_init (auxd2cs_cla_12_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxd2cs_cla_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxd2cs_cla_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxd2cs_cla_12_closure_type *p_clo = ATS_MALLOC(sizeof(auxd2cs_cla_12_closure_type)) ; auxd2cs_cla_12_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 5171(line=280, offs=1) -- 5453(line=298, offs=2) */ ATSstaticdec() ats_void_type auxsep_13 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab_auxsep_13: /* tmp66 = */ atspre_fprint_string (env0, ATSstrcst("//\nextern\nfun{}\n")) ; /* tmp67 = */ atspre_fprint_string (env0, env1) ; /* tmp68 = */ atspre_fprint_string (env0, ATSstrcst("$sep: (FILEref) -> void")) ; /* tmp69 = */ atspre_fprint_newline (env0) ; /* tmp70 = */ atspre_fprint_string (env0, ATSstrcst("implement{}\n")) ; /* tmp71 = */ atspre_fprint_string (env0, env1) ; /* tmp72 = */ atspre_fprint_string (env0, ATSstrcst("$sep(out) = fprint(out, \",\")")) ; /* tmp65 = */ atspre_fprint_newline (env0) ; return /* (tmp65) */ ; } /* end of [auxsep_13] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxsep_13_closure_type ; ats_void_type auxsep_13_clofun (ats_clo_ptr_type cloptr) { auxsep_13 (((auxsep_13_closure_type*)cloptr)->closure_env_0, ((auxsep_13_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxsep_13_closure_init (auxsep_13_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxsep_13_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxsep_13_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxsep_13_closure_type *p_clo = ATS_MALLOC(sizeof(auxsep_13_closure_type)) ; auxsep_13_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 5483(line=301, offs=1) -- 5791(line=319, offs=2) */ ATSstaticdec() ats_void_type auxcarg_14 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab_auxcarg_14: /* tmp74 = */ atspre_fprint_string (env0, ATSstrcst("//\nextern\nfun{a:t0p}\n")) ; /* tmp75 = */ atspre_fprint_string (env0, env1) ; /* tmp76 = */ atspre_fprint_string (env0, ATSstrcst("$carg: (FILEref, INV(a)) -> void")) ; /* tmp77 = */ atspre_fprint_newline (env0) ; /* tmp78 = */ atspre_fprint_string (env0, ATSstrcst("implement{a}\n")) ; /* tmp79 = */ atspre_fprint_string (env0, env1) ; /* tmp80 = */ atspre_fprint_string (env0, ATSstrcst("$carg(out, arg) = fprint_val(out, arg)")) ; /* tmp73 = */ atspre_fprint_newline (env0) ; return /* (tmp73) */ ; } /* end of [auxcarg_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxcarg_14_closure_type ; ats_void_type auxcarg_14_clofun (ats_clo_ptr_type cloptr) { auxcarg_14 (((auxcarg_14_closure_type*)cloptr)->closure_env_0, ((auxcarg_14_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxcarg_14_closure_init (auxcarg_14_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcarg_14_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxcarg_14_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxcarg_14_closure_type *p_clo = ATS_MALLOC(sizeof(auxcarg_14_closure_type)) ; auxcarg_14_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 5822(line=322, offs=1) -- 6107(line=340, offs=2) */ ATSstaticdec() ats_void_type auxlpar_15 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; __ats_lab_auxlpar_15: /* tmp82 = */ atspre_fprint_string (env0, ATSstrcst("//\nextern\nfun{}\n")) ; /* tmp83 = */ atspre_fprint_string (env0, env1) ; /* tmp84 = */ atspre_fprint_string (env0, ATSstrcst("$lpar: (FILEref) -> void")) ; /* tmp85 = */ atspre_fprint_newline (env0) ; /* tmp86 = */ atspre_fprint_string (env0, ATSstrcst("implement{}\n")) ; /* tmp87 = */ atspre_fprint_string (env0, env1) ; /* tmp88 = */ atspre_fprint_string (env0, ATSstrcst("$lpar(out) = fprint(out, \"(\")")) ; /* tmp81 = */ atspre_fprint_newline (env0) ; return /* (tmp81) */ ; } /* end of [auxlpar_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxlpar_15_closure_type ; ats_void_type auxlpar_15_clofun (ats_clo_ptr_type cloptr) { auxlpar_15 (((auxlpar_15_closure_type*)cloptr)->closure_env_0, ((auxlpar_15_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxlpar_15_closure_init (auxlpar_15_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlpar_15_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxlpar_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxlpar_15_closure_type *p_clo = ATS_MALLOC(sizeof(auxlpar_15_closure_type)) ; auxlpar_15_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 6135(line=342, offs=1) -- 6420(line=360, offs=2) */ ATSstaticdec() ats_void_type auxrpar_16 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; __ats_lab_auxrpar_16: /* tmp90 = */ atspre_fprint_string (env0, ATSstrcst("//\nextern\nfun{}\n")) ; /* tmp91 = */ atspre_fprint_string (env0, env1) ; /* tmp92 = */ atspre_fprint_string (env0, ATSstrcst("$rpar: (FILEref) -> void")) ; /* tmp93 = */ atspre_fprint_newline (env0) ; /* tmp94 = */ atspre_fprint_string (env0, ATSstrcst("implement{}\n")) ; /* tmp95 = */ atspre_fprint_string (env0, env1) ; /* tmp96 = */ atspre_fprint_string (env0, ATSstrcst("$rpar(out) = fprint(out, \")\")")) ; /* tmp89 = */ atspre_fprint_newline (env0) ; return /* (tmp89) */ ; } /* end of [auxrpar_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxrpar_16_closure_type ; ats_void_type auxrpar_16_clofun (ats_clo_ptr_type cloptr) { auxrpar_16 (((auxrpar_16_closure_type*)cloptr)->closure_env_0, ((auxrpar_16_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxrpar_16_closure_init (auxrpar_16_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxrpar_16_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxrpar_16_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxrpar_16_closure_type *p_clo = ATS_MALLOC(sizeof(auxrpar_16_closure_type)) ; auxrpar_16_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 3897(line=199, offs=1) -- 7293(line=414, offs=4) */ ATSstaticdec() ats_void_type aux_datype_d2cf_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; __ats_lab_aux_datype_d2cf_4: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (arg3) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg2) ; if (tmp97 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 6452(line=363, offs=1) -- 6489(line=364, offs=25)") ; } tmp98 = ats_caselptrlab_mac(anairiats_sum_1, tmp97, atslab_0) ; /* tmp99 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)")) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst("\n//\n")) ; /* tmp101 = */ auxd2cs_dec_10 (arg0, arg3, tmp34, tmp98) ; /* tmp102 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp103 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)")) ; /* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("\n//\n")) ; /* tmp105 = */ atspre_fprint_string (arg0, ATSstrcst("implement")) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (arg0, arg3) ; /* tmp107 = */ atspre_fprint_newline (arg0) ; /* tmp108 = */ atspre_fprint_string (arg0, tmp34) ; /* tmp109 = */ atspre_fprint_string (arg0, ATSstrcst("\n ")) ; /* tmp110 = */ atspre_fprint_string (arg0, ATSstrcst("(out, arg0) =")) ; /* tmp111 = */ atspre_fprint_newline (arg0) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("(\n")) ; /* tmp113 = */ atspre_fprint_string (arg0, ATSstrcst("case+ arg0 of")) ; /* tmp114 = */ atspre_fprint_newline (arg0) ; /* tmp115 = */ auxd2cs_cla_12 (arg0, arg3, tmp34, tmp98) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst(")\n")) ; /* tmp117 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)")) ; /* tmp119 = */ atspre_fprint_newline (arg0) ; /* tmp120 = */ auxsep_13 (arg0, tmp34) ; /* tmp121 = */ auxlpar_15 (arg0, tmp34) ; /* tmp122 = */ auxrpar_16 (arg0, tmp34) ; /* tmp123 = */ auxcarg_14 (arg0, tmp34) ; /* tmp124 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp125 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)")) ; /* tmp126 = */ atspre_fprint_newline (arg0) ; /* tmp127 = */ aux_datype_d2cf_conlst_6 (arg0, arg1, arg2, arg3, tmp98) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)")) ; /* tmp33 = */ atspre_fprint_newline (arg0) ; return /* (tmp33) */ ; } /* end of [aux_datype_d2cf_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 7589(line=435, offs=1) -- 7926(line=453, offs=2) */ ATSstaticdec() ats_void_type auxcon1_17 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; __ats_lab_auxcon1_17: /* tmp136 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp138 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp139 = */ atspre_fprint_string (env0, env2) ; /* tmp140 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp141 = */ atspre_fprint_string (env0, env3) ; /* tmp142 = */ atspre_fprint_string (env0, ATSstrcst("$con")) ; /* tmp143 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp144 = */ atspre_fprint_string (env0, env2) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp146 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp135 = */ atspre_fprint_newline (env0) ; return /* (tmp135) */ ; } /* end of [auxcon1_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxcon1_17_closure_type ; ats_void_type auxcon1_17_clofun (ats_clo_ptr_type cloptr) { auxcon1_17 (((auxcon1_17_closure_type*)cloptr)->closure_env_0, ((auxcon1_17_closure_type*)cloptr)->closure_env_1, ((auxcon1_17_closure_type*)cloptr)->closure_env_2, ((auxcon1_17_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxcon1_17_closure_init (auxcon1_17_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcon1_17_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxcon1_17_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxcon1_17_closure_type *p_clo = ATS_MALLOC(sizeof(auxcon1_17_closure_type)) ; auxcon1_17_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 7934(line=456, offs=1) -- 8273(line=474, offs=2) */ ATSstaticdec() ats_void_type auxlpar1_18 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; __ats_lab_auxlpar1_18: /* tmp148 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp150 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp151 = */ atspre_fprint_string (env0, env2) ; /* tmp152 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp153 = */ atspre_fprint_string (env0, env3) ; /* tmp154 = */ atspre_fprint_string (env0, ATSstrcst("$lpar")) ; /* tmp155 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp156 = */ atspre_fprint_string (env0, env2) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp158 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp147 = */ atspre_fprint_newline (env0) ; return /* (tmp147) */ ; } /* end of [auxlpar1_18] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxlpar1_18_closure_type ; ats_void_type auxlpar1_18_clofun (ats_clo_ptr_type cloptr) { auxlpar1_18 (((auxlpar1_18_closure_type*)cloptr)->closure_env_0, ((auxlpar1_18_closure_type*)cloptr)->closure_env_1, ((auxlpar1_18_closure_type*)cloptr)->closure_env_2, ((auxlpar1_18_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxlpar1_18_closure_init (auxlpar1_18_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlpar1_18_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxlpar1_18_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxlpar1_18_closure_type *p_clo = ATS_MALLOC(sizeof(auxlpar1_18_closure_type)) ; auxlpar1_18_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 8281(line=477, offs=1) -- 8620(line=495, offs=2) */ ATSstaticdec() ats_void_type auxrpar1_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; __ats_lab_auxrpar1_19: /* tmp160 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp162 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp163 = */ atspre_fprint_string (env0, env2) ; /* tmp164 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp165 = */ atspre_fprint_string (env0, env3) ; /* tmp166 = */ atspre_fprint_string (env0, ATSstrcst("$rpar")) ; /* tmp167 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp168 = */ atspre_fprint_string (env0, env2) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp170 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp159 = */ atspre_fprint_newline (env0) ; return /* (tmp159) */ ; } /* end of [auxrpar1_19] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxrpar1_19_closure_type ; ats_void_type auxrpar1_19_clofun (ats_clo_ptr_type cloptr) { auxrpar1_19 (((auxrpar1_19_closure_type*)cloptr)->closure_env_0, ((auxrpar1_19_closure_type*)cloptr)->closure_env_1, ((auxrpar1_19_closure_type*)cloptr)->closure_env_2, ((auxrpar1_19_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxrpar1_19_closure_init (auxrpar1_19_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxrpar1_19_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxrpar1_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxrpar1_19_closure_type *p_clo = ATS_MALLOC(sizeof(auxrpar1_19_closure_type)) ; auxrpar1_19_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 8628(line=498, offs=1) -- 8968(line=516, offs=2) */ ATSstaticdec() ats_void_type auxsep1_n_20 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab_auxsep1_n_20: /* tmp172 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp174 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp175 = */ atspre_fprint_string (env0, env2) ; /* tmp176 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp177 = */ atspre_fprint_string (env0, env3) ; /* tmp178 = */ atspre_fprint_string (env0, ATSstrcst("$sep")) ; /* tmp179 = */ atspre_fprint_int (env0, arg0) ; /* tmp180 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp181 = */ atspre_fprint_string (env0, env2) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp183 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp171 = */ atspre_fprint_newline (env0) ; return /* (tmp171) */ ; } /* end of [auxsep1_n_20] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxsep1_n_20_closure_type ; ats_void_type auxsep1_n_20_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxsep1_n_20 (((auxsep1_n_20_closure_type*)cloptr)->closure_env_0, ((auxsep1_n_20_closure_type*)cloptr)->closure_env_1, ((auxsep1_n_20_closure_type*)cloptr)->closure_env_2, ((auxsep1_n_20_closure_type*)cloptr)->closure_env_3, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxsep1_n_20_closure_init (auxsep1_n_20_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxsep1_n_20_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxsep1_n_20_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxsep1_n_20_closure_type *p_clo = ATS_MALLOC(sizeof(auxsep1_n_20_closure_type)) ; auxsep1_n_20_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 8976(line=519, offs=1) -- 9316(line=537, offs=2) */ ATSstaticdec() ats_void_type auxarg1_n_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; __ats_lab_auxarg1_n_21: /* tmp185 = */ atspre_fprint_string (env0, ATSstrcst("extern\nfun")) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (env0, env1) ; /* tmp187 = */ atspre_fprint_string (env0, ATSstrcst("\n")) ; /* tmp188 = */ atspre_fprint_string (env0, env2) ; /* tmp189 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp190 = */ atspre_fprint_string (env0, env3) ; /* tmp191 = */ atspre_fprint_string (env0, ATSstrcst("$arg")) ; /* tmp192 = */ atspre_fprint_int (env0, arg0) ; /* tmp193 = */ atspre_fprint_string (env0, ATSstrcst(": $d2ctype(")) ; /* tmp194 = */ atspre_fprint_string (env0, env2) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp196 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; /* tmp184 = */ atspre_fprint_newline (env0) ; return /* (tmp184) */ ; } /* end of [auxarg1_n_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxarg1_n_21_closure_type ; ats_void_type auxarg1_n_21_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxarg1_n_21 (((auxarg1_n_21_closure_type*)cloptr)->closure_env_0, ((auxarg1_n_21_closure_type*)cloptr)->closure_env_1, ((auxarg1_n_21_closure_type*)cloptr)->closure_env_2, ((auxarg1_n_21_closure_type*)cloptr)->closure_env_3, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxarg1_n_21_closure_init (auxarg1_n_21_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxarg1_n_21_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxarg1_n_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxarg1_n_21_closure_type *p_clo = ATS_MALLOC(sizeof(auxarg1_n_21_closure_type)) ; auxarg1_n_21_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 9324(line=540, offs=1) -- 9544(line=553, offs=2) */ ATSstaticdec() ats_void_type auxcon2_22 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; __ats_lab_auxcon2_22: /* tmp198 = */ atspre_fprint_string (env0, ATSstrcst("val () = ")) ; /* tmp199 = */ atspre_fprint_string (env0, env2) ; /* tmp200 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp201 = */ atspre_fprint_string (env0, env3) ; /* tmp202 = */ atspre_fprint_string (env0, ATSstrcst("$con")) ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp204 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp197 = */ atspre_fprint_newline (env0) ; return /* (tmp197) */ ; } /* end of [auxcon2_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxcon2_22_closure_type ; ats_void_type auxcon2_22_clofun (ats_clo_ptr_type cloptr) { auxcon2_22 (((auxcon2_22_closure_type*)cloptr)->closure_env_0, ((auxcon2_22_closure_type*)cloptr)->closure_env_1, ((auxcon2_22_closure_type*)cloptr)->closure_env_2, ((auxcon2_22_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxcon2_22_closure_init (auxcon2_22_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcon2_22_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxcon2_22_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxcon2_22_closure_type *p_clo = ATS_MALLOC(sizeof(auxcon2_22_closure_type)) ; auxcon2_22_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 9549(line=555, offs=1) -- 9776(line=570, offs=2) */ ATSstaticdec() ats_void_type auxlpar2_23 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; __ats_lab_auxlpar2_23: /* tmp206 = */ atspre_fprint_string (env0, ATSstrcst("val () = ")) ; /* tmp207 = */ atspre_fprint_string (env0, env2) ; /* tmp208 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp209 = */ atspre_fprint_string (env0, env3) ; /* tmp210 = */ atspre_fprint_string (env0, ATSstrcst("$lpar")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp212 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp205 = */ atspre_fprint_newline (env0) ; return /* (tmp205) */ ; } /* end of [auxlpar2_23] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxlpar2_23_closure_type ; ats_void_type auxlpar2_23_clofun (ats_clo_ptr_type cloptr) { auxlpar2_23 (((auxlpar2_23_closure_type*)cloptr)->closure_env_0, ((auxlpar2_23_closure_type*)cloptr)->closure_env_1, ((auxlpar2_23_closure_type*)cloptr)->closure_env_2, ((auxlpar2_23_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxlpar2_23_closure_init (auxlpar2_23_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlpar2_23_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxlpar2_23_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxlpar2_23_closure_type *p_clo = ATS_MALLOC(sizeof(auxlpar2_23_closure_type)) ; auxlpar2_23_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 9784(line=573, offs=1) -- 10011(line=588, offs=2) */ ATSstaticdec() ats_void_type auxrpar2_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; __ats_lab_auxrpar2_24: /* tmp214 = */ atspre_fprint_string (env0, ATSstrcst("val () = ")) ; /* tmp215 = */ atspre_fprint_string (env0, env2) ; /* tmp216 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp217 = */ atspre_fprint_string (env0, env3) ; /* tmp218 = */ atspre_fprint_string (env0, ATSstrcst("$rpar")) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp220 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp213 = */ atspre_fprint_newline (env0) ; return /* (tmp213) */ ; } /* end of [auxrpar2_24] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxrpar2_24_closure_type ; ats_void_type auxrpar2_24_clofun (ats_clo_ptr_type cloptr) { auxrpar2_24 (((auxrpar2_24_closure_type*)cloptr)->closure_env_0, ((auxrpar2_24_closure_type*)cloptr)->closure_env_1, ((auxrpar2_24_closure_type*)cloptr)->closure_env_2, ((auxrpar2_24_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxrpar2_24_closure_init (auxrpar2_24_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxrpar2_24_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxrpar2_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxrpar2_24_closure_type *p_clo = ATS_MALLOC(sizeof(auxrpar2_24_closure_type)) ; auxrpar2_24_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 10019(line=591, offs=1) -- 10247(line=606, offs=2) */ ATSstaticdec() ats_void_type auxsep2_n_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; __ats_lab_auxsep2_n_25: /* tmp222 = */ atspre_fprint_string (env0, ATSstrcst("val () = ")) ; /* tmp223 = */ atspre_fprint_string (env0, env2) ; /* tmp224 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp225 = */ atspre_fprint_string (env0, env3) ; /* tmp226 = */ atspre_fprint_string (env0, ATSstrcst("$sep")) ; /* tmp227 = */ atspre_fprint_int (env0, arg0) ; /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp229 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp221 = */ atspre_fprint_newline (env0) ; return /* (tmp221) */ ; } /* end of [auxsep2_n_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxsep2_n_25_closure_type ; ats_void_type auxsep2_n_25_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxsep2_n_25 (((auxsep2_n_25_closure_type*)cloptr)->closure_env_0, ((auxsep2_n_25_closure_type*)cloptr)->closure_env_1, ((auxsep2_n_25_closure_type*)cloptr)->closure_env_2, ((auxsep2_n_25_closure_type*)cloptr)->closure_env_3, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxsep2_n_25_closure_init (auxsep2_n_25_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxsep2_n_25_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxsep2_n_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxsep2_n_25_closure_type *p_clo = ATS_MALLOC(sizeof(auxsep2_n_25_closure_type)) ; auxsep2_n_25_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 10252(line=608, offs=1) -- 10480(line=623, offs=2) */ ATSstaticdec() ats_void_type auxarg2_n_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; __ats_lab_auxarg2_n_26: /* tmp231 = */ atspre_fprint_string (env0, ATSstrcst("val () = ")) ; /* tmp232 = */ atspre_fprint_string (env0, env2) ; /* tmp233 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp234 = */ atspre_fprint_string (env0, env3) ; /* tmp235 = */ atspre_fprint_string (env0, ATSstrcst("$arg")) ; /* tmp236 = */ atspre_fprint_int (env0, arg0) ; /* tmp237 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (env0, env1) ; /* tmp238 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0)")) ; /* tmp230 = */ atspre_fprint_newline (env0) ; return /* (tmp230) */ ; } /* end of [auxarg2_n_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxarg2_n_26_closure_type ; ats_void_type auxarg2_n_26_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxarg2_n_26 (((auxarg2_n_26_closure_type*)cloptr)->closure_env_0, ((auxarg2_n_26_closure_type*)cloptr)->closure_env_1, ((auxarg2_n_26_closure_type*)cloptr)->closure_env_2, ((auxarg2_n_26_closure_type*)cloptr)->closure_env_3, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxarg2_n_26_closure_init (auxarg2_n_26_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxarg2_n_26_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxarg2_n_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxarg2_n_26_closure_type *p_clo = ATS_MALLOC(sizeof(auxarg2_n_26_closure_type)) ; auxarg2_n_26_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 10488(line=626, offs=1) -- 10725(line=645, offs=2) */ ATSstaticdec() ats_void_type auxbody2_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp239) ; ATSlocal (ats_bool_type, tmp240) ; // ATSlocal_void (tmp241) ; ATSlocal (ats_bool_type, tmp242) ; // ATSlocal_void (tmp243) ; ATSlocal (ats_int_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; __ats_lab_auxbody2_27: tmp240 = atspre_lt_int_int (arg1, env4) ; if (tmp240) { tmp242 = atspre_gt_int_int (arg1, arg0) ; if (tmp242) { /* tmp241 = */ auxsep2_n_25 (env0, env1, env2, env3, arg1) ; } else { /* empty */ } /* end of [if] */ tmp244 = atspre_add_int_int (arg1, 1) ; /* tmp243 = */ auxarg2_n_26 (env0, env1, env2, env3, tmp244) ; tmp245 = atspre_add_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp245 ; goto __ats_lab_auxbody2_27 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp239) */ ; } /* end of [auxbody2_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } auxbody2_27_closure_type ; ats_void_type auxbody2_27_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) { auxbody2_27 (((auxbody2_27_closure_type*)cloptr)->closure_env_0, ((auxbody2_27_closure_type*)cloptr)->closure_env_1, ((auxbody2_27_closure_type*)cloptr)->closure_env_2, ((auxbody2_27_closure_type*)cloptr)->closure_env_3, ((auxbody2_27_closure_type*)cloptr)->closure_env_4, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxbody2_27_closure_init (auxbody2_27_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&auxbody2_27_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type auxbody2_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { auxbody2_27_closure_type *p_clo = ATS_MALLOC(sizeof(auxbody2_27_closure_type)) ; auxbody2_27_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 10757(line=648, offs=1) -- 11033(line=666, offs=2) */ ATSstaticdec() ats_void_type auxcon3_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; __ats_lab_auxcon3_28: /* tmp247 = */ atspre_fprint_string (env0, ATSstrcst("implement")) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (env0, env1) ; /* tmp249 = */ atspre_fprint_newline (env0) ; /* tmp250 = */ atspre_fprint_string (env0, env2) ; /* tmp251 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp252 = */ atspre_fprint_string (env0, env3) ; /* tmp253 = */ atspre_fprint_string (env0, ATSstrcst("$con(out, _) = ")) ; /* tmp254 = */ atspre_fprint_string (env0, ATSstrcst("fprint(out, \"")) ; /* tmp255 = */ atspre_fprint_string (env0, env3) ; /* tmp256 = */ atspre_fprint_string (env0, ATSstrcst("\")")) ; /* tmp246 = */ atspre_fprint_newline (env0) ; return /* (tmp246) */ ; } /* end of [auxcon3_28] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxcon3_28_closure_type ; ats_void_type auxcon3_28_clofun (ats_clo_ptr_type cloptr) { auxcon3_28 (((auxcon3_28_closure_type*)cloptr)->closure_env_0, ((auxcon3_28_closure_type*)cloptr)->closure_env_1, ((auxcon3_28_closure_type*)cloptr)->closure_env_2, ((auxcon3_28_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxcon3_28_closure_init (auxcon3_28_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcon3_28_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxcon3_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxcon3_28_closure_type *p_clo = ATS_MALLOC(sizeof(auxcon3_28_closure_type)) ; auxcon3_28_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 11064(line=669, offs=1) -- 11305(line=684, offs=2) */ ATSstaticdec() ats_void_type auxlpar3_29 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; __ats_lab_auxlpar3_29: /* tmp258 = */ atspre_fprint_string (env0, ATSstrcst("implement")) ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (env0, env1) ; /* tmp260 = */ atspre_fprint_newline (env0) ; /* tmp261 = */ atspre_fprint_string (env0, env2) ; /* tmp262 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp263 = */ atspre_fprint_string (env0, env3) ; /* tmp264 = */ atspre_fprint_string (env0, ATSstrcst("$lpar(out, _) = ")) ; /* tmp265 = */ atspre_fprint_string (env0, env2) ; /* tmp266 = */ atspre_fprint_string (env0, ATSstrcst("$lpar(out)")) ; /* tmp257 = */ atspre_fprint_newline (env0) ; return /* (tmp257) */ ; } /* end of [auxlpar3_29] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxlpar3_29_closure_type ; ats_void_type auxlpar3_29_clofun (ats_clo_ptr_type cloptr) { auxlpar3_29 (((auxlpar3_29_closure_type*)cloptr)->closure_env_0, ((auxlpar3_29_closure_type*)cloptr)->closure_env_1, ((auxlpar3_29_closure_type*)cloptr)->closure_env_2, ((auxlpar3_29_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxlpar3_29_closure_init (auxlpar3_29_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlpar3_29_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxlpar3_29_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxlpar3_29_closure_type *p_clo = ATS_MALLOC(sizeof(auxlpar3_29_closure_type)) ; auxlpar3_29_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 11337(line=687, offs=1) -- 11578(line=702, offs=2) */ ATSstaticdec() ats_void_type auxrpar3_30 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { /* local vardec */ // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; __ats_lab_auxrpar3_30: /* tmp268 = */ atspre_fprint_string (env0, ATSstrcst("implement")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (env0, env1) ; /* tmp270 = */ atspre_fprint_newline (env0) ; /* tmp271 = */ atspre_fprint_string (env0, env2) ; /* tmp272 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp273 = */ atspre_fprint_string (env0, env3) ; /* tmp274 = */ atspre_fprint_string (env0, ATSstrcst("$rpar(out, _) = ")) ; /* tmp275 = */ atspre_fprint_string (env0, env2) ; /* tmp276 = */ atspre_fprint_string (env0, ATSstrcst("$rpar(out)")) ; /* tmp267 = */ atspre_fprint_newline (env0) ; return /* (tmp267) */ ; } /* end of [auxrpar3_30] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxrpar3_30_closure_type ; ats_void_type auxrpar3_30_clofun (ats_clo_ptr_type cloptr) { auxrpar3_30 (((auxrpar3_30_closure_type*)cloptr)->closure_env_0, ((auxrpar3_30_closure_type*)cloptr)->closure_env_1, ((auxrpar3_30_closure_type*)cloptr)->closure_env_2, ((auxrpar3_30_closure_type*)cloptr)->closure_env_3) ; return ; } /* end of function */ ATSinline() ats_void_type auxrpar3_30_closure_init (auxrpar3_30_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxrpar3_30_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxrpar3_30_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxrpar3_30_closure_type *p_clo = ATS_MALLOC(sizeof(auxrpar3_30_closure_type)) ; auxrpar3_30_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 11610(line=705, offs=1) -- 11857(line=720, offs=2) */ ATSstaticdec() ats_void_type auxsep3_n_31 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; __ats_lab_auxsep3_n_31: /* tmp278 = */ atspre_fprint_string (env0, ATSstrcst("implement")) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (env0, env1) ; /* tmp280 = */ atspre_fprint_newline (env0) ; /* tmp281 = */ atspre_fprint_string (env0, env2) ; /* tmp282 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp283 = */ atspre_fprint_string (env0, env3) ; /* tmp284 = */ atspre_fprint_string (env0, ATSstrcst("$sep")) ; /* tmp285 = */ atspre_fprint_int (env0, arg0) ; /* tmp286 = */ atspre_fprint_string (env0, ATSstrcst("(out, _) = ")) ; /* tmp287 = */ atspre_fprint_string (env0, env2) ; /* tmp288 = */ atspre_fprint_string (env0, ATSstrcst("$sep<>(out)")) ; /* tmp277 = */ atspre_fprint_newline (env0) ; return /* (tmp277) */ ; } /* end of [auxsep3_n_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } auxsep3_n_31_closure_type ; ats_void_type auxsep3_n_31_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxsep3_n_31 (((auxsep3_n_31_closure_type*)cloptr)->closure_env_0, ((auxsep3_n_31_closure_type*)cloptr)->closure_env_1, ((auxsep3_n_31_closure_type*)cloptr)->closure_env_2, ((auxsep3_n_31_closure_type*)cloptr)->closure_env_3, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxsep3_n_31_closure_init (auxsep3_n_31_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&auxsep3_n_31_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type auxsep3_n_31_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3) { auxsep3_n_31_closure_type *p_clo = ATS_MALLOC(sizeof(auxsep3_n_31_closure_type)) ; auxsep3_n_31_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 11942(line=729, offs=1) -- 12246(line=748, offs=2) */ ATSstaticdec() ats_void_type aux_33 (ats_ptr_type env0, ats_int_type env1, ats_int_type env2, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp290) ; ATSlocal (ats_bool_type, tmp291) ; // ATSlocal_void (tmp292) ; ATSlocal (ats_bool_type, tmp293) ; // ATSlocal_void (tmp294) ; ATSlocal (ats_bool_type, tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; ATSlocal (ats_bool_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; __ats_lab_aux_33: tmp291 = atspre_lte_int_int (arg0, env1) ; if (tmp291) { tmp293 = atspre_gt_int_int (arg0, 1) ; if (tmp293) { /* tmp292 = */ atspre_fprint_string (env0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp295 = atspre_eq_int_int (arg0, env2) ; if (tmp295) { /* tmp296 = */ atspre_fprint_string (env0, ATSstrcst("arg")) ; /* tmp294 = */ atspre_fprint_int (env0, env2) ; } else { /* empty */ } /* end of [if] */ tmp298 = atspre_neq_int_int (arg0, env2) ; if (tmp298) { /* tmp297 = */ atspre_fprint_string (env0, ATSstrcst("_")) ; } else { /* empty */ } /* end of [if] */ tmp299 = atspre_add_int_int (arg0, 1) ; arg0 = tmp299 ; goto __ats_lab_aux_33 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp290) */ ; } /* end of [aux_33] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; ats_int_type closure_env_2 ; } aux_33_closure_type ; ats_void_type aux_33_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { aux_33 (((aux_33_closure_type*)cloptr)->closure_env_0, ((aux_33_closure_type*)cloptr)->closure_env_1, ((aux_33_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_33_closure_init (aux_33_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1, ats_int_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_33_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_33_closure_make (ats_ptr_type env0, ats_int_type env1, ats_int_type env2) { aux_33_closure_type *p_clo = ATS_MALLOC(sizeof(aux_33_closure_type)) ; aux_33_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 11890(line=723, offs=1) -- 12309(line=752, offs=4) */ ATSstaticdec() ats_void_type auxpat3_n_32 (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; __ats_lab_auxpat3_n_32: /* tmp300 = */ atspre_fprint_string (env0, env1) ; /* tmp301 = */ atspre_fprint_string (env0, ATSstrcst("(")) ; /* tmp302 = */ aux_33 (env0, env2, arg0, 1) ; /* tmp289 = */ atspre_fprint_string (env0, ATSstrcst(")")) ; return /* (tmp289) */ ; } /* end of [auxpat3_n_32] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_int_type closure_env_2 ; } auxpat3_n_32_closure_type ; ats_void_type auxpat3_n_32_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxpat3_n_32 (((auxpat3_n_32_closure_type*)cloptr)->closure_env_0, ((auxpat3_n_32_closure_type*)cloptr)->closure_env_1, ((auxpat3_n_32_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxpat3_n_32_closure_init (auxpat3_n_32_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxpat3_n_32_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxpat3_n_32_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2) { auxpat3_n_32_closure_type *p_clo = ATS_MALLOC(sizeof(auxpat3_n_32_closure_type)) ; auxpat3_n_32_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 12339(line=755, offs=1) -- 12712(line=779, offs=2) */ ATSstaticdec() ats_void_type auxarg3_n_34 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; __ats_lab_auxarg3_n_34: /* tmp304 = */ atspre_fprint_string (env0, ATSstrcst("implement")) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (env0, env1) ; /* tmp306 = */ atspre_fprint_newline (env0) ; /* tmp307 = */ atspre_fprint_string (env0, env2) ; /* tmp308 = */ atspre_fprint_string (env0, ATSstrcst("$")) ; /* tmp309 = */ atspre_fprint_string (env0, env3) ; /* tmp310 = */ atspre_fprint_string (env0, ATSstrcst("$arg")) ; /* tmp311 = */ atspre_fprint_int (env0, arg0) ; /* tmp312 = */ atspre_fprint_string (env0, ATSstrcst("(out, arg0) =")) ; /* tmp313 = */ atspre_fprint_newline (env0) ; /* tmp314 = */ atspre_fprint_string (env0, ATSstrcst(" let val-")) ; /* tmp315 = */ auxpat3_n_32 (env0, env3, env4, arg0) ; /* tmp316 = */ atspre_fprint_string (env0, ATSstrcst(" = arg0 in ")) ; /* tmp317 = */ atspre_fprint_string (env0, env2) ; /* tmp318 = */ atspre_fprint_string (env0, ATSstrcst("$carg(out, arg")) ; /* tmp319 = */ atspre_fprint_int (env0, arg0) ; /* tmp320 = */ atspre_fprint_string (env0, ATSstrcst(") end")) ; /* tmp303 = */ atspre_fprint_newline (env0) ; return /* (tmp303) */ ; } /* end of [auxarg3_n_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } auxarg3_n_34_closure_type ; ats_void_type auxarg3_n_34_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { auxarg3_n_34 (((auxarg3_n_34_closure_type*)cloptr)->closure_env_0, ((auxarg3_n_34_closure_type*)cloptr)->closure_env_1, ((auxarg3_n_34_closure_type*)cloptr)->closure_env_2, ((auxarg3_n_34_closure_type*)cloptr)->closure_env_3, ((auxarg3_n_34_closure_type*)cloptr)->closure_env_4, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxarg3_n_34_closure_init (auxarg3_n_34_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&auxarg3_n_34_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type auxarg3_n_34_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { auxarg3_n_34_closure_type *p_clo = ATS_MALLOC(sizeof(auxarg3_n_34_closure_type)) ; auxarg3_n_34_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 12863(line=789, offs=7) -- 12935(line=789, offs=79) */ ATSstaticdec() ats_void_type loop_35 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp325) ; ATSlocal (ats_bool_type, tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_int_type, tmp328) ; __ats_lab_loop_35: tmp326 = atspre_lt_int_int (arg0, env4) ; if (tmp326) { /* tmp327 = */ auxsep1_n_20 (env0, env1, env2, env3, arg0) ; tmp328 = atspre_add_int_int (arg0, 1) ; arg0 = tmp328 ; goto __ats_lab_loop_35 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp325) */ ; } /* end of [loop_35] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } loop_35_closure_type ; ats_void_type loop_35_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { loop_35 (((loop_35_closure_type*)cloptr)->closure_env_0, ((loop_35_closure_type*)cloptr)->closure_env_1, ((loop_35_closure_type*)cloptr)->closure_env_2, ((loop_35_closure_type*)cloptr)->closure_env_3, ((loop_35_closure_type*)cloptr)->closure_env_4, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_35_closure_init (loop_35_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_35_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type loop_35_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { loop_35_closure_type *p_clo = ATS_MALLOC(sizeof(loop_35_closure_type)) ; loop_35_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 12969(line=793, offs=7) -- 13042(line=793, offs=80) */ ATSstaticdec() ats_void_type loop_36 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp330) ; ATSlocal (ats_bool_type, tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_int_type, tmp333) ; __ats_lab_loop_36: tmp331 = atspre_lte_int_int (arg0, env4) ; if (tmp331) { /* tmp332 = */ auxarg1_n_21 (env0, env1, env2, env3, arg0) ; tmp333 = atspre_add_int_int (arg0, 1) ; arg0 = tmp333 ; goto __ats_lab_loop_36 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp330) */ ; } /* end of [loop_36] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } loop_36_closure_type ; ats_void_type loop_36_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { loop_36 (((loop_36_closure_type*)cloptr)->closure_env_0, ((loop_36_closure_type*)cloptr)->closure_env_1, ((loop_36_closure_type*)cloptr)->closure_env_2, ((loop_36_closure_type*)cloptr)->closure_env_3, ((loop_36_closure_type*)cloptr)->closure_env_4, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_36_closure_init (loop_36_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_36_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type loop_36_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { loop_36_closure_type *p_clo = ATS_MALLOC(sizeof(loop_36_closure_type)) ; loop_36_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 13495(line=820, offs=7) -- 13567(line=820, offs=79) */ ATSstaticdec() ats_void_type loop_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp355) ; ATSlocal (ats_bool_type, tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_int_type, tmp358) ; __ats_lab_loop_37: tmp356 = atspre_lt_int_int (arg0, env4) ; if (tmp356) { /* tmp357 = */ auxsep3_n_31 (env0, env1, env2, env3, arg0) ; tmp358 = atspre_add_int_int (arg0, 1) ; arg0 = tmp358 ; goto __ats_lab_loop_37 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp355) */ ; } /* end of [loop_37] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } loop_37_closure_type ; ats_void_type loop_37_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { loop_37 (((loop_37_closure_type*)cloptr)->closure_env_0, ((loop_37_closure_type*)cloptr)->closure_env_1, ((loop_37_closure_type*)cloptr)->closure_env_2, ((loop_37_closure_type*)cloptr)->closure_env_3, ((loop_37_closure_type*)cloptr)->closure_env_4, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_37_closure_init (loop_37_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_37_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type loop_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { loop_37_closure_type *p_clo = ATS_MALLOC(sizeof(loop_37_closure_type)) ; loop_37_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 13601(line=824, offs=7) -- 13674(line=824, offs=80) */ ATSstaticdec() ats_void_type loop_38 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4, ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp360) ; ATSlocal (ats_bool_type, tmp361) ; // ATSlocal_void (tmp362) ; ATSlocal (ats_int_type, tmp363) ; __ats_lab_loop_38: tmp361 = atspre_lte_int_int (arg0, env4) ; if (tmp361) { /* tmp362 = */ auxarg3_n_34 (env0, env1, env2, env3, env4, arg0) ; tmp363 = atspre_add_int_int (arg0, 1) ; arg0 = tmp363 ; goto __ats_lab_loop_38 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp360) */ ; } /* end of [loop_38] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_int_type closure_env_4 ; } loop_38_closure_type ; ats_void_type loop_38_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0) { loop_38 (((loop_38_closure_type*)cloptr)->closure_env_0, ((loop_38_closure_type*)cloptr)->closure_env_1, ((loop_38_closure_type*)cloptr)->closure_env_2, ((loop_38_closure_type*)cloptr)->closure_env_3, ((loop_38_closure_type*)cloptr)->closure_env_4, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_38_closure_init (loop_38_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_38_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type loop_38_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_int_type env4) { loop_38_closure_type *p_clo = ATS_MALLOC(sizeof(loop_38_closure_type)) ; loop_38_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 7327(line=417, offs=1) -- 13699(line=829, offs=4) */ ATSstaticdec() ats_void_type aux_datype_d2cf_con_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; // ATSlocal_void (tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp359) ; __ats_lab_aux_datype_d2cf_con_5: tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (arg3) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg3) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (arg4) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (arg4) ; /* tmp321 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp322 = */ auxcon1_17 (arg0, arg3, tmp131, tmp133) ; /* tmp323 = */ auxlpar1_18 (arg0, arg3, tmp131, tmp133) ; /* tmp324 = */ auxrpar1_19 (arg0, arg3, tmp131, tmp133) ; /* tmp329 = */ loop_35 (arg0, arg3, tmp131, tmp133, tmp134, 1) ; /* tmp334 = */ loop_36 (arg0, arg3, tmp131, tmp133, tmp134, 1) ; /* tmp335 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp336 = */ atspre_fprint_string (arg0, ATSstrcst("implement")) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (arg0, arg3) ; /* tmp338 = */ atspre_fprint_newline (arg0) ; /* tmp339 = */ atspre_fprint_string (arg0, tmp131) ; /* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("$")) ; /* tmp341 = */ atspre_fprint_string (arg0, tmp133) ; /* tmp342 = */ atspre_fprint_string (arg0, ATSstrcst("(out, arg0) = ")) ; /* tmp343 = */ atspre_fprint_newline (arg0) ; /* tmp344 = */ atspre_fprint_string (arg0, ATSstrcst("{\n//")) ; /* tmp345 = */ atspre_fprint_newline (arg0) ; /* tmp346 = */ auxcon2_22 (arg0, arg3, tmp131, tmp133) ; /* tmp347 = */ auxlpar2_23 (arg0, arg3, tmp131, tmp133) ; /* tmp348 = */ auxbody2_27 (arg0, arg3, tmp131, tmp133, tmp134, 0, 0) ; /* tmp349 = */ auxrpar2_24 (arg0, arg3, tmp131, tmp133) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("//\n}")) ; /* tmp351 = */ atspre_fprint_newline (arg0) ; /* tmp352 = */ auxcon3_28 (arg0, arg3, tmp131, tmp133) ; /* tmp353 = */ auxlpar3_29 (arg0, arg3, tmp131, tmp133) ; /* tmp354 = */ auxrpar3_30 (arg0, arg3, tmp131, tmp133) ; /* tmp359 = */ loop_37 (arg0, arg3, tmp131, tmp133, tmp134, 1) ; /* tmp130 = */ loop_38 (arg0, arg3, tmp131, tmp133, tmp134, 1) ; return /* (tmp130) */ ; } /* end of [aux_datype_d2cf_con_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 13737(line=832, offs=1) -- 14031(line=845, offs=2) */ ATSstaticdec() ats_void_type aux_datype_d2cf_conlst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; // ATSlocal_void (tmp367) ; __ats_lab_aux_datype_d2cf_conlst_6: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg4 != (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_1) ; /* tmp367 = */ aux_datype_d2cf_con_5 (arg0, arg1, arg2, arg3, tmp365) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp366 ; goto __ats_lab_aux_datype_d2cf_conlst_6 ; // tail call break ; } while (0) ; return /* (tmp364) */ ; } /* end of [aux_datype_d2cf_conlst_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_fprint.dats: 14121(line=851, offs=3) -- 14510(line=873, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_fprint (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_fprint: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp368 = */ auxerr_nil_0 (arg0, arg1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp370 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype (tmp369) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp371 != (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp368 = */ auxerr_s2cst_1 (arg0, arg1) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp371 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_1, tmp371, atslab_0) ; ATS_FREE(tmp371) ; /* tmp368 = */ aux_datype_3 (arg0, arg1, tmp372, tmp370) ; break ; } while (0) ; break ; } while (0) ; return /* (tmp368) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_fprint] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_codegen2_fprint_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_sats.c0000664000175000017500000000425312655455557020460 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICvec_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICveclst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICerr_2) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICvec_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICveclst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICerr_2.tag = 2 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lintprgm_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_namespace_dats.c0000664000175000017500000010067512655455557020546 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_2 ; typedef struct { anairiats_rec_2 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_2 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type fenvlst_vt_free_0 (ats_ptr_type arg0) ; static ats_void_type fenvlstlst_vt_free_3 (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type auxlst_7 (ats_clo_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlstlst_8 (ats_clo_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_13 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp12) ; ATSstatic (ats_ptr_type, statmp13) ; ATSstatic (ats_ptr_type, statmp14) ; ATSstatic (ats_ptr_type, statmp15) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_loop_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp3 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp2) */ ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp1 = */ loop_2 (arg0) ; return /* (tmp1) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 1686(line=55, offs=1) -- 1751(line=58, offs=31) */ ATSstaticdec() ats_void_type fenvlst_vt_free_0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_fenvlst_vt_free_0: /* tmp0 = */ list_vt_free_01499_ats_ptr_type (arg0) ; return /* (tmp0) */ ; } /* end of [fenvlst_vt_free_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 1759(line=61, offs=1) -- 2022(line=70, offs=2) */ ATSstaticdec() ats_void_type fenvlstlst_vt_free_3 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; __ats_lab_fenvlstlst_vt_free_3: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp7 = */ fenvlst_vt_free_0 (tmp5) ; arg0 = tmp6 ; goto __ats_lab_fenvlstlst_vt_free_3 ; // tail call break ; } while (0) ; return /* (tmp4) */ ; } /* end of [fenvlstlst_vt_free_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp10 ; */ tmp10 = arg0 ; tmp9 = atspre_ref_make_elt_tsz ((&tmp10), sizeof(ats_ptr_type)) ; return (tmp9) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 2295(line=84, offs=3) -- 2426(line=89, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp19 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp18 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp18, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp18, atslab_1, tmp19) ; ats_ptrget_mac(ats_ptr_type, tmp17) = tmp18 ; return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 2604(line=100, offs=5) -- 2855(line=109, offs=2) */ ATSstaticdec() ats_ptr_type auxlst_7 (ats_clo_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_auxlst_7: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp24 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg0))) (arg0, tmp22) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp24 != (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: arg0 = arg0 ; arg1 = tmp23 ; goto __ats_lab_auxlst_7 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp21 = tmp24 ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp21 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp21) ; } /* end of [auxlst_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 2885(line=111, offs=5) -- 3185(line=122, offs=2) */ ATSstaticdec() ats_ptr_type auxlstlst_8 (ats_clo_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_auxlstlst_8: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp28 = auxlst_7 (arg0, tmp26) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp28 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: arg0 = arg0 ; arg1 = tmp27 ; goto __ats_lab_auxlstlst_8 ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp25 = tmp28 ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp25 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp25) ; } /* end of [auxlstlst_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 2516(line=95, offs=7) -- 3600(line=140, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search (ats_clo_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search: tmp30 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp8)) ; tmp29 = auxlst_7 (arg0, tmp30) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp29 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp31 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp12)) ; tmp20 = auxlstlst_8 (arg0, tmp31) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp20 = tmp29 ; break ; } while (0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 3684(line=145, offs=19) -- 4011(line=159, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_pop () { /* local vardec */ // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_pop: tmp33 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ; tmp34 = ats_ptrget_mac(ats_ptr_type, tmp33) ; if (tmp34 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 3781(line=148, offs=9) -- 3809(line=148, offs=37)") ; } tmp35 = ats_caselptrlab_mac(anairiats_sum_1, tmp34, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_1, tmp34, atslab_1) ; ATS_FREE(tmp34) ; ats_ptrget_mac(ats_ptr_type, tmp33) = tmp36 ; tmp37 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp38 = ats_ptrget_mac(ats_ptr_type, tmp37) ; ats_ptrget_mac(ats_ptr_type, tmp37) = tmp35 ; /* tmp32 = */ fenvlst_vt_free_0 (tmp38) ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 4093(line=164, offs=20) -- 4436(line=181, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_push () { /* local vardec */ // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_push: tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp41 = ats_ptrget_mac(ats_ptr_type, tmp40) ; tmp42 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp40) = tmp42 ; tmp43 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ; tmp45 = ats_ptrget_mac(ats_ptr_type, tmp43) ; tmp44 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp44, atslab_0, tmp41) ; ats_selptrset_mac(anairiats_sum_1, tmp44, atslab_1, tmp45) ; ats_ptrget_mac(ats_ptr_type, tmp43) = tmp44 ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_push] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_13 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_loop_13: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp59 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp59 ; arg1 = arg1 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp58) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp60) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp57 ; */ tmp57 = arg0 ; /* tmp60 = */ loop_13 ((&tmp57), arg1) ; tmp56 = tmp57 ; return (tmp56) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 4524(line=186, offs=25) -- 4957(line=205, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_localjoin () { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_localjoin: tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ; tmp48 = ats_ptrget_mac(ats_ptr_type, tmp47) ; if (tmp48 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 4632(line=191, offs=9) -- 4661(line=191, offs=38)") ; } tmp49 = ats_caselptrlab_mac(anairiats_sum_1, tmp48, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_1, tmp48, atslab_1) ; ATS_FREE(tmp48) ; /* tmp51 = */ fenvlst_vt_free_0 (tmp49) ; if (tmp50 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 4705(line=193, offs=9) -- 4735(line=193, offs=39)") ; } tmp52 = ats_caselptrlab_mac(anairiats_sum_1, tmp50, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_1, tmp50, atslab_1) ; ATS_FREE(tmp50) ; ats_ptrget_mac(ats_ptr_type, tmp47) = tmp53 ; tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp61 = ats_ptrget_mac(ats_ptr_type, tmp54) ; tmp55 = list_vt_append_01504_ats_ptr_type (tmp61, tmp52) ; ats_ptrget_mac(ats_ptr_type, tmp54) = tmp55 ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_localjoin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 5047(line=211, offs=3) -- 5505(line=231, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save () { /* local vardec */ // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (anairiats_rec_2, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save: tmp63 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp64 = ats_ptrget_mac(ats_ptr_type, tmp63) ; tmp65 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp63) = tmp65 ; tmp66 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ; tmp67 = ats_ptrget_mac(ats_ptr_type, tmp66) ; tmp68 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp66) = tmp68 ; tmp69 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp14), atslab_1) ; tmp71.atslab_0 = tmp64 ; tmp71.atslab_1 = tmp67 ; tmp72 = ats_ptrget_mac(ats_ptr_type, tmp69) ; tmp70 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp70, atslab_0, tmp71) ; ats_selptrset_mac(anairiats_sum_3, tmp70, atslab_1, tmp72) ; ats_ptrget_mac(ats_ptr_type, tmp69) = tmp70 ; return /* (tmp62) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save] */ /* // /home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 5596(line=237, offs=3) -- 6086(line=257, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_restore () { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (anairiats_rec_2, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_restore: tmp74 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp14), atslab_1) ; tmp75 = ats_ptrget_mac(ats_ptr_type, tmp74) ; if (tmp75 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_namespace.dats: 5697(line=242, offs=7) -- 5723(line=242, offs=33)") ; } tmp76 = ats_caselptrlab_mac(anairiats_sum_3, tmp75, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_3, tmp75, atslab_1) ; ATS_FREE(tmp75) ; ats_ptrget_mac(ats_ptr_type, tmp74) = tmp77 ; tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp80 = ats_ptrget_mac(ats_ptr_type, tmp78) ; /* tmp79 = */ fenvlst_vt_free_0 (tmp80) ; tmp81 = ats_select_mac(tmp76, atslab_0) ; ats_ptrget_mac(ats_ptr_type, tmp78) = tmp81 ; tmp82 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ; tmp84 = ats_ptrget_mac(ats_ptr_type, tmp82) ; /* tmp83 = */ fenvlstlst_vt_free_3 (tmp84) ; tmp85 = ats_select_mac(tmp76, atslab_1) ; ats_ptrget_mac(ats_ptr_type, tmp82) = tmp85 ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_restore] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp14, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp11 = (ats_sum_ptr_type)0 ; statmp8 = ref_01088_ats_ptr_type (statmp11) ; statmp13 = (ats_sum_ptr_type)0 ; statmp12 = ref_01088_ats_ptr_type (statmp13) ; statmp15 = (ats_sum_ptr_type)0 ; statmp14 = ref_01088_ats_ptr_type (statmp15) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_namespace_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_staexp_dats.c0000664000175000017500000125022612655455557021406 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s0taq_loc ; ats_ptr_type atslab_s0taq_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_s1arg_loc ; ats_ptr_type atslab_s1arg_sym ; ats_ptr_type atslab_s1arg_srt ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s1marg_loc ; ats_ptr_type atslab_s1marg_arg ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_sp1at_loc ; ats_ptr_type atslab_sp1at_node ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_s1exp_loc ; ats_ptr_type atslab_s1exp_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_15 ; typedef struct { anairiats_rec_14 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_23 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_25 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_26 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_27 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_28 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_29 ; typedef struct { ats_ptr_type atslab_s1qua_loc ; ats_ptr_type atslab_s1qua_node ; } anairiats_rec_30 ; typedef struct { ats_ptr_type atslab_q1marg_loc ; ats_ptr_type atslab_q1marg_arg ; } anairiats_rec_31 ; typedef struct { ats_ptr_type atslab_s1rt_loc ; ats_ptr_type atslab_s1rt_node ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_s1rtext_loc ; ats_ptr_type atslab_s1rtext_node ; } anairiats_rec_33 ; typedef struct { ats_ptr_type atslab_s1exparg_loc ; ats_ptr_type atslab_s1exparg_node ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_t1mpmarg_loc ; ats_ptr_type atslab_t1mpmarg_arg ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_d1atcon_loc ; ats_ptr_type atslab_d1atcon_sym ; ats_ptr_type atslab_d1atcon_qua ; ats_int_type atslab_d1atcon_npf ; ats_ptr_type atslab_d1atcon_arg ; ats_ptr_type atslab_d1atcon_ind ; } anairiats_rec_36 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_37 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__SP1Tcstr_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_none_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Einvar_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etrans_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyarr_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etytup_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_ext_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Euni_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eexi_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eann_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Ed2ctype_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEsome_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEnone_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMe1xp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatcontyp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatconptr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEerr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_effvar_tr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_app_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_impred_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s2exp_trdn_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1arg_trdn_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1marg_trdn_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sp1at_trdn_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_q1marg_tr_dec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rtext_tr_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atcon_tr_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDarrow_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDnone_1) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_bool_type, atspre_ieq) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_get_dups) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_ptr_type, patsopt_intinf_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0rtq) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make_s1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_make) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_dat) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char) (ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset) (ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc) (ats_ptr_type, ats_bool_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst) (ats_int_type, ats_int_type, ats_int_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2cst_select_locs2explstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_nonvar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_alpha) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s2exp_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__S1Ed2ctype_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst) (ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datconptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datcontyp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDarrow_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDnone_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02157_ () ; static ats_ptr_type staspecid_of_sqid_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error2_loc_02161_ (ats_ptr_type arg0) ; static ats_ptr_type effvar_tr_2 (ats_ptr_type arg0) ; static ats_ptr_type effvarlst_tr_4 (ats_ptr_type arg0) ; static ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type f_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type sp1at_get_dups_16 (ats_ptr_type arg0) ; static ats_void_type auxerr_22 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type auxerr_22_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxerr_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type sp1at_trdn_arg_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxerr1_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxerr1_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxerr1_24_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr2_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxerr2_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxerr2_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr3_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxerr3_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type auxerr3_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type procrepeat_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type procrepeat2_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxcheck_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxcheck_27_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxcheck_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxselect_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_interror_loc_02159_ (ats_ptr_type arg0) ; static ats_ptr_type s1exp_trup_sqid_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_35 (ats_ptr_type arg0, anairiats_rec_14 arg1, ats_ptr_type arg2) ; static ats_ptr_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_39 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s2exp_app_wind_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1exp_app_unwind_40 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_int_type loop_43 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_anairiats_rec_14 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_44 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_44_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_46 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type s1exp_app_unwind_e1xp_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type s1exp_trup_invar_47 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_bool_type s1exp_is_underscore_48 (ats_ptr_type arg0) ; static ats_int_type s1exp_test_top_underscore_49 (ats_ptr_type arg0) ; static ats_ptr_type s1exp_untop_if_50 (ats_ptr_type arg0) ; static ats_ptr_type s1exp_trans_syn_arg2_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxwth_54 (ats_ptr_type arg0) ; static ats_ptr_type auxres_55 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_57 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_60 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_anairiats_rec_14 (ats_ptr_type arg0) ; static ats_void_type auxerr2_58 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxerr3_61 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_62 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type aux_62_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_62_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type s1exp_trup_arrow_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxerr1_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxerr2_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1exp_trup_app_63 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type auxck1_68 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type loop_71 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxck2_69 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1exp_trup_app_datcontyp_67 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type auxck1_73 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxck2_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1exp_trup_app_datconptr_72 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1exp_trup_app_sqid_75 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type loop_80 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static anairiats_rec_14 __ats_fun_81 (ats_ptr_type arg0) ; static ats_ptr_type f_77 (anairiats_rec_14 arg0) ; static ats_void_type loop_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_anairiats_rec_14_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_anairiats_rec_14_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1exp_trup_app_sqid_itm_76 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type s1exp_trup_top_85 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux01_86 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type aux23_87 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type s1exp_trup_tytup_flt_88 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1exp_trup_tytup_89 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_ptr_type string_of_s0tring_90 (ats_ptr_type arg0) ; static ats_ptr_type aux01_91 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type aux23_92 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type s1exp_trup_tyrec_93 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1exp_trup_tyrec_ext_94 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_101 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type auxerr_101_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxerr_101_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1exp_trdn_lam_100 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_104 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxsrt_121 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type auxsub1_122 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxsub2_123 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_void_type loop_120 (ats_ptr_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_ptr_type revapp_126 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02163_ (ats_ptr_type arg0) ; static ats_void_type auxerr_132 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type auxerr_132_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr_132_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_134 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_141 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxerr2_142 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr3_143 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_146 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_149 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_150 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_151 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_int_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_151_closure_make (ats_int_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type aux_151_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1) ; static ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_154 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 1817(line=63, offs=18) -- 1848(line=63, offs=49) */ ATSstaticdec() ats_void_type prerr_FILENAME_02157_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02157_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_staexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02157_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 3003(line=128, offs=5) -- 3234(line=137, offs=4) */ ATSstaticdec() ats_ptr_type staspecid_of_sqid_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; __ats_lab_staspecid_of_sqid_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0taq_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; if (tmp3) { tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDarrow_0) ; } else { tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDnone_1) ; } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDnone_1) ; break ; } while (0) ; return (tmp1) ; } /* end of [staspecid_of_sqid_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02161_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; __ats_lab_prerr_error2_loc_02161_: /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp14 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp14) */ ; } /* end of [prerr_error2_loc_02161_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 3291(line=141, offs=5) -- 4419(line=183, offs=4) */ ATSstaticdec() ats_ptr_type effvar_tr_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_effvar_tr_2: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp6) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp7 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_4, tmp7, atslab_0) ; ATS_FREE(tmp7) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp8)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_5, tmp8, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp9) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp8)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_5, tmp8, atslab_0) ; if (tmp10 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 3643(line=161, offs=11) -- 3668(line=161, offs=36)") ; } tmp11 = ats_caselptrlab_mac(anairiats_sum_6, tmp10, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp11) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; /* tmp13 = */ prerr_error2_loc_02161_ (tmp5) ; /* tmp16 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("effvar_tr")) ; /* tmp17 = */ atspre_prerr_string (ATSstrcst(": the static identifier [")) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp6) ; /* tmp19 = */ atspre_prerr_string (ATSstrcst("] should refer to a variable or constant.")) ; /* tmp20 = */ atspre_prerr_newline () ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp22)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp22, atslab_0, arg0) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp22) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp7 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; /* tmp24 = */ prerr_error2_loc_02161_ (tmp5) ; /* tmp25 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("effvar_tr")) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst(": unrecognized static identifier [")) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp6) ; /* tmp28 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp29 = */ atspre_prerr_newline () ; tmp31 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp31)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp31, atslab_0, arg0) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp31) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; return (tmp4) ; } /* end of [effvar_tr_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 4447(line=185, offs=5) -- 4748(line=197, offs=2) */ ATSstaticdec() ats_ptr_type effvarlst_tr_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_effvarlst_tr_4: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp34 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp35 = effvar_tr_2 (tmp33) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp (tmp35) ; tmp37 = effvarlst_tr_4 (tmp34) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add (tmp36, tmp37) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; break ; } while (0) ; return (tmp32) ; } /* end of [effvarlst_tr_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 4795(line=200, offs=11) -- 4999(line=207, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_uint_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (tmp39) ; tmp42 = effvarlst_tr_4 (tmp40) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add (tmp41, tmp42) ; break ; } while (0) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 5065(line=212, offs=12) -- 5281(line=223, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trup: tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_srt) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp45 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_4, tmp45, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp46) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp45 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_loc) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_make (tmp48) ; tmp44 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp44)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp44, atslab_0, tmp47) ; break ; } while (0) ; tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_sym) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp49, tmp44) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trup] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab_loop_10: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp57 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp55, arg3) ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp58, atslab_0, tmp57) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp58 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp59 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp56 ; arg1 = arg1 ; arg2 = tmp59 ; arg3 = arg3 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp60 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp60 ; break ; } while (0) ; return /* (tmp54) */ ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp61 ; */ /* tmp62 = */ loop_10 (arg0, arg1, (&tmp61), arg2) ; tmp53 = tmp61 ; return (tmp53) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp52 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp52) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 5332(line=227, offs=3) -- 5377(line=227, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup: tmp51 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trup) ; tmp50 = ats_castfn_mac(ats_ptr_type, tmp51) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 5473(line=235, offs=5) -- 5839(line=249, offs=4) */ ATSstaticdec() ats_void_type auxerr_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_auxerr_12: tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_loc) ; /* tmp65 = */ prerr_error2_loc_02161_ (tmp66) ; /* tmp67 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1arg_trdn")) ; /* tmp68 = */ atspre_prerr_string (ATSstrcst(": the argument is assigned the sort [")) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp70 = */ atspre_prerr_string (ATSstrcst("] but it is expected to accept a static term of the sort [")) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp72 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp73 = */ atspre_prerr_newline () ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp74)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp74, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp74, atslab_1, arg2) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp74) ; return /* (tmp64) */ ; } /* end of [auxerr_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 5448(line=233, offs=12) -- 6193(line=262, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_bool_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn: tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_srt) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp75 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_4, tmp75, atslab_0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp76) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (arg1, tmp77) ; tmp80 = atspre_neg_bool (tmp78) ; if (tmp80) { /* tmp79 = */ auxerr_12 (arg0, tmp77, arg1) ; } else { /* empty */ } /* end of [if] */ tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_sym) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp81, arg1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp75 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1arg_sym) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp82, arg1) ; break ; } while (0) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 6251(line=266, offs=3) -- 6738(line=287, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_20_1 ; } __ats_lab_18_2: tmp84 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn (tmp84, tmp86) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err (tmp85, tmp87, arg2) ; tmp83 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp83, atslab_0, tmp88) ; ats_selptrset_mac(anairiats_sum_6, tmp83, atslab_1, tmp89) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_21_1 ; } __ats_lab_19_2: tmp83 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_2: tmp90 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp90 ; tmp83 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_2: tmp91 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp91 ; tmp83 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 6820(line=293, offs=5) -- 7230(line=308, offs=4) */ ATSstaticdec() ats_void_type auxerr_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab_auxerr_15: tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s1marg_loc) ; /* tmp95 = */ prerr_error2_loc_02161_ (tmp94) ; /* tmp96 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1marg_trdn")) ; /* tmp97 = */ atspre_prerr_string (ATSstrcst(": the static argument group is expected to contain ")) ; tmp100 = atspre_gt_int_int (arg2, 0) ; if (tmp100) { tmp99 = ATSstrcst("more") ; } else { tmp99 = ATSstrcst("fewer") ; } /* end of [if] */ /* tmp98 = */ atspre_prerr_string (tmp99) ; /* tmp101 = */ atspre_prerr_string (ATSstrcst(" components.")) ; /* tmp102 = */ atspre_prerr_newline () ; tmp103 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp103)->tag = 10 ; ats_selptrset_mac(anairiats_sum_9, tmp103, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp103, atslab_1, arg1) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp103) ; return /* (tmp93) */ ; } /* end of [auxerr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 6794(line=291, offs=3) -- 7417(line=318, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_bool_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn: /* ats_int_type tmp104 ; */ tmp104 = 0 ; tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s1marg_arg) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err (tmp106, arg1, (&tmp104)) ; tmp108 = atspre_neq_int_int (tmp104, 0) ; if (tmp108) { /* tmp107 = */ auxerr_15 (arg0, arg1, tmp104) ; } else { /* empty */ } /* end of [if] */ tmp92 = tmp105 ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 7573(line=329, offs=5) -- 7673(line=332, offs=54) */ ATSstaticdec() ats_ptr_type f_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_f_17: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ; return (tmp110) ; } /* end of [f_17] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20) */ ATSstaticdec() ats_ptr_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_loop_20: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp117 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg0) (arg1, tmp115, arg3) ; arg0 = arg0 ; arg1 = tmp117 ; arg2 = tmp116 ; arg3 = arg3 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp114 = arg1 ; break ; } while (0) ; return (tmp114) ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; __ats_lab_list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type: tmp113 = loop_20 (arg0, arg1, arg2, arg3) ; return (tmp113) ; } /* end of [list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type: tmp112 = list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ; return (tmp112) ; } /* end of [list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 7475(line=324, offs=5) -- 7845(line=341, offs=4) */ ATSstaticdec() ats_ptr_type sp1at_get_dups_16 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab_sp1at_get_dups_16: tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil () ; tmp111 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&f_17, tmp118, arg0) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_get_dups (tmp111, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ; return (tmp109) ; } /* end of [sp1at_get_dups_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 8007(line=351, offs=5) -- 8409(line=368, offs=4) */ ATSstaticdec() ats_void_type auxerr_22 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_auxerr_22: tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_sp1at_loc) ; /* tmp122 = */ prerr_error2_loc_02161_ (tmp121) ; /* tmp123 = */ atspre_prerr_string (ATSstrcst(": the static constructor [")) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (env1) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (env2) ; /* tmp126 = */ atspre_prerr_string (ATSstrcst("] requires ")) ; tmp129 = atspre_gt_int_int (arg1, 0) ; if (tmp129) { tmp128 = ATSstrcst("more") ; } else { tmp128 = ATSstrcst("fewer") ; } /* end of [if] */ /* tmp127 = */ atspre_prerr_string (tmp128) ; /* tmp130 = */ atspre_prerr_string (ATSstrcst(" arguments.")) ; /* tmp131 = */ atspre_prerr_newline () ; tmp132 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp132)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp132, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp132, atslab_1, env0) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp132) ; return /* (tmp120) */ ; } /* end of [auxerr_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxerr_22_closure_type ; ats_void_type auxerr_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { auxerr_22 (((auxerr_22_closure_type*)cloptr)->closure_env_0, ((auxerr_22_closure_type*)cloptr)->closure_env_1, ((auxerr_22_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_22_closure_init (auxerr_22_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_22_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_22_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxerr_22_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_22_closure_type)) ; auxerr_22_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 7878(line=343, offs=5) -- 8579(line=378, offs=4) */ ATSstaticdec() ats_ptr_type sp1at_trdn_arg_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_bool_type, tmp136) ; __ats_lab_sp1at_trdn_arg_21: /* ats_int_type tmp133 ; */ tmp133 = 0 ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trdn_err (arg4, arg5, (&tmp133)) ; tmp136 = atspre_neq_int_int (tmp133, 0) ; if (tmp136) { /* tmp135 = */ auxerr_22 (arg1, arg2, arg3, arg0, tmp133) ; } else { /* empty */ } /* end of [if] */ tmp119 = tmp134 ; return (tmp119) ; } /* end of [sp1at_trdn_arg_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 8713(line=388, offs=5) -- 9098(line=405, offs=4) */ ATSstaticdec() ats_void_type auxerr1_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab_auxerr1_24: /* tmp140 = */ prerr_error2_loc_02161_ (env2) ; /* tmp141 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("sp1at_trdn")) ; /* tmp142 = */ atspre_prerr_string (ATSstrcst(": the static identifier [")) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg0) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp145 = */ atspre_prerr_string (ATSstrcst("] does not refer to a static constructor associated with the sort [")) ; /* tmp146 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (env1) ; /* tmp147 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp148 = */ atspre_prerr_newline () ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp149)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp149, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp149, atslab_1, env1) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp149) ; return /* (tmp139) */ ; } /* end of [auxerr1_24] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxerr1_24_closure_type ; ats_void_type auxerr1_24_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { auxerr1_24 (((auxerr1_24_closure_type*)cloptr)->closure_env_0, ((auxerr1_24_closure_type*)cloptr)->closure_env_1, ((auxerr1_24_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr1_24_closure_init (auxerr1_24_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr1_24_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxerr1_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxerr1_24_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr1_24_closure_type)) ; auxerr1_24_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 9126(line=407, offs=5) -- 9466(line=424, offs=4) */ ATSstaticdec() ats_void_type auxerr2_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab_auxerr2_25: /* tmp151 = */ prerr_error2_loc_02161_ (env2) ; /* tmp152 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("sp1at_trdn")) ; /* tmp153 = */ atspre_prerr_string (ATSstrcst(": the static identifier [")) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg0) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp156 = */ atspre_prerr_string (ATSstrcst("] does not refer to a static constructor.")) ; /* tmp157 = */ atspre_prerr_newline () ; tmp158 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp158)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp158, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp158, atslab_1, env1) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp158) ; return /* (tmp150) */ ; } /* end of [auxerr2_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxerr2_25_closure_type ; ats_void_type auxerr2_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { auxerr2_25 (((auxerr2_25_closure_type*)cloptr)->closure_env_0, ((auxerr2_25_closure_type*)cloptr)->closure_env_1, ((auxerr2_25_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr2_25_closure_init (auxerr2_25_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr2_25_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxerr2_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxerr2_25_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr2_25_closure_type)) ; auxerr2_25_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 9494(line=426, offs=5) -- 9809(line=442, offs=4) */ ATSstaticdec() ats_void_type auxerr3_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab_auxerr3_26: /* tmp160 = */ prerr_error2_loc_02161_ (env2) ; /* tmp161 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("sp1at_trdn")) ; /* tmp162 = */ atspre_prerr_string (ATSstrcst(": the static identifier [")) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg0) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp165 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp166 = */ atspre_prerr_newline () ; tmp167 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp167)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_1, env1) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp167) ; return /* (tmp159) */ ; } /* end of [auxerr3_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } auxerr3_26_closure_type ; ats_void_type auxerr3_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { auxerr3_26 (((auxerr3_26_closure_type*)cloptr)->closure_env_0, ((auxerr3_26_closure_type*)cloptr)->closure_env_1, ((auxerr3_26_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr3_26_closure_init (auxerr3_26_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr3_26_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type auxerr3_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { auxerr3_26_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr3_26_closure_type)) ; auxerr3_26_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 9911(line=449, offs=7) -- 10071(line=456, offs=4) */ ATSstaticdec() ats_void_type procrepeat_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab_procrepeat_28: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_sp1at_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: // __ats_lab_24_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_12, tmp170, atslab_2) ; /* tmp169 = */ procrepeat2_29 (tmp171, arg1) ; break ; } while (0) ; return /* (tmp169) */ ; } /* end of [procrepeat_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 10078(line=457, offs=7) -- 10451(line=473, offs=4) */ ATSstaticdec() ats_void_type procrepeat2_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_procrepeat2_29: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp173), atslab_s1arg_sym) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp177, arg1) ; if (tmp176) { tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp173), atslab_s1arg_loc) ; /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp179) ; /* tmp175 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ arg0 = tmp174 ; arg1 = arg1 ; goto __ats_lab_procrepeat2_29 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: break ; } while (0) ; return /* (tmp172) */ ; } /* end of [procrepeat2_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 9837(line=444, offs=5) -- 10952(line=496, offs=4) */ ATSstaticdec() ats_void_type auxcheck_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_auxcheck_27: tmp180 = sp1at_get_dups_16 (arg1) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp180 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp180 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_6, tmp180, atslab_0) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (tmp181) ; /* tmp183 = */ prerr_error2_loc_02161_ (env1) ; /* tmp184 = */ atspre_prerr_string (ATSstrcst(": the static variable [")) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp182) ; /* tmp186 = */ atspre_prerr_string (ATSstrcst("] is not allowed to occur repeatedly in a pattern:")) ; /* tmp187 = */ atspre_prerr_newline () ; /* tmp188 = */ procrepeat_28 (arg0, tmp182) ; tmp189 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp189)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp189, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp189, atslab_1, env0) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp189) ; break ; } while (0) ; return /* (tmp168) */ ; } /* end of [auxcheck_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxcheck_27_closure_type ; ats_void_type auxcheck_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { auxcheck_27 (((auxcheck_27_closure_type*)cloptr)->closure_env_0, ((auxcheck_27_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxcheck_27_closure_init (auxcheck_27_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcheck_27_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxcheck_27_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxcheck_27_closure_type *p_clo = ATS_MALLOC(sizeof(auxcheck_27_closure_type)) ; auxcheck_27_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 10984(line=498, offs=5) -- 11582(line=525, offs=4) */ ATSstaticdec() ats_ptr_type auxselect_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_bool_type, tmp196) ; __ats_lab_auxselect_30: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp191) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp193)->tag != 1) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_1) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (arg1, tmp195) ; if (tmp196) { ats_ptrget_mac(ats_ptr_type, arg2) = tmp194 ; tmp190 = arg0 ; } else { arg0 = tmp192 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxselect_30 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: arg0 = tmp192 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxselect_30 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp190 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp190) ; } /* end of [auxselect_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 8655(line=384, offs=3) -- 12870(line=566, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sp1at_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sp1at_trdn: tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_sp1at_loc) ; tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_sp1at_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: // __ats_lab_33_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_12, tmp197, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_12, tmp197, atslab_1) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_12, tmp197, atslab_2) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua (tmp198, tmp199) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp201 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_34_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_4, tmp201, atslab_0) ; ATS_FREE(tmp201) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp202)->tag != 1) { goto __ats_lab_38_0 ; } __ats_lab_35_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_5, tmp202, atslab_0) ; /* ats_ptr_type tmp204 ; */ tmp204 = (ats_sum_ptr_type)0 ; tmp205 = auxselect_30 (tmp203, arg1, (&tmp204)) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp205 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_6, tmp205, atslab_0) ; tmp207 = sp1at_trdn_arg_21 (arg0, arg1, tmp198, tmp199, tmp200, tmp204) ; /* tmp208 = */ auxcheck_27 (arg1, tmp138, arg0, tmp207) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_con (tmp138, tmp206, tmp207) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp205 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: /* tmp209 = */ auxerr1_24 (arg0, arg1, tmp138, tmp198, tmp199) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err (tmp138) ; break ; } while (0) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: /* tmp210 = */ auxerr2_25 (arg0, arg1, tmp138, tmp198, tmp199) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err (tmp138) ; break ; } while (0) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (tmp201 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: /* tmp211 = */ auxerr3_26 (arg0, arg1, tmp138, tmp198, tmp199) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err (tmp138) ; break ; } while (0) ; break ; } while (0) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sp1at_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 13261(line=590, offs=11) -- 13608(line=598, offs=30) */ ATSstaticdec() ats_ptr_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_bool_type, tmp222) ; __ats_lab_loop_32: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp219) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun (tmp221) ; if (tmp222) { arg0 = tmp220 ; arg1 = arg1 ; goto __ats_lab_loop_32 ; // tail call } else { tmp218 = tmp219 ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp218 = arg1 ; break ; } while (0) ; return (tmp218) ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02159_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; __ats_lab_prerr_interror_loc_02159_: /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp237 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp238 = */ prerr_FILENAME_02157_ () ; /* tmp235 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp235) */ ; } /* end of [prerr_interror_loc_02159_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 12943(line=572, offs=5) -- 15012(line=653, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_sqid_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab_s1exp_trup_sqid_31: tmp213 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua (arg1, arg2) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp214 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_40_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_4, tmp214, atslab_0) ; ATS_FREE(tmp214) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp215)->tag != 1) { goto __ats_lab_46_0 ; } __ats_lab_41_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_5, tmp215, atslab_0) ; if (tmp216 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 13192(line=588, offs=11) -- 13217(line=588, offs=36)") ; } tmp217 = ats_caselptrlab_mac(anairiats_sum_6, tmp216, atslab_0) ; tmp223 = loop_32 (tmp216, tmp217) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp223) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp223) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp225)->tag != 1) { goto __ats_lab_45_0 ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_9, tmp225, atslab_0) ; if (tmp226 != (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_9, tmp225, atslab_1) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_dat (tmp227) ; if (!tmp228) { goto __ats_lab_45_1 ; } tmp229 = (ats_sum_ptr_type)0 ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp227, tmp224, tmp229) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp212 = tmp224 ; break ; } while (0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp215)->tag != 2) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_5, tmp215, atslab_0) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (tmp230) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp (tmp213, tmp231) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp232) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp215)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_5, tmp215, atslab_0) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp233) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: /* tmp234 = */ prerr_interror_loc_02159_ (tmp213) ; /* tmp239 = */ atspre_prerr_string (ATSstrcst(": s1exp_trup_sqid: s1e0 = ")) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp (arg0) ; /* tmp241 = */ atspre_prerr_newline () ; /* tmp242 = */ atspre_prerr_string (ATSstrcst(": s1exp_trup_sqid: s2i0 = ")) ; /* tmp243 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm (tmp215) ; /* tmp244 = */ atspre_prerr_newline () ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (tmp214 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: /* tmp245 = */ prerr_error2_loc_02161_ (tmp213) ; /* tmp246 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_sqid")) ; /* tmp247 = */ atspre_prerr_string (ATSstrcst(": the static identifier [")) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg1) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp250 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp251 = */ atspre_prerr_newline () ; tmp253 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp253)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp253, atslab_0, arg0) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp253) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; return (tmp212) ; } /* end of [s1exp_trup_sqid_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 15263(line=670, offs=5) -- 15880(line=694, offs=4) */ ATSstaticdec() ats_ptr_type aux_35 (ats_ptr_type arg0, anairiats_rec_14 arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_bool_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab_aux_35: tmp256 = ats_select_mac(arg1, atslab_1) ; tmp258 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp256), atslab_s2exp_srt) ; tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp258, arg2) ; if (tmp257) { tmp255 = tmp256 ; } else { tmp260 = ats_select_mac(arg1, atslab_0) ; /* tmp259 = */ prerr_error2_loc_02161_ (tmp260) ; /* tmp261 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_app_wind")) ; /* tmp262 = */ atspre_prerr_string (ATSstrcst(": the static expression is of the sort [")) ; tmp264 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp256), atslab_s2exp_srt) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp264) ; /* tmp265 = */ atspre_prerr_string (ATSstrcst("] but it is expectecd to be of the sort [")) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp267 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp268 = */ atspre_prerr_newline () ; tmp270 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp270)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp270, atslab_0, arg0) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp270) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (arg2) ; } /* end of [if] */ return (tmp255) ; } /* end of [aux_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 15915(line=696, offs=5) -- 17144(line=739, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (anairiats_rec_14, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_auxlst_36: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_50_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_1) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp276 = aux_35 (arg0, tmp272, tmp274) ; tmp277 = auxlst_36 (arg0, tmp273, tmp275) ; tmp271 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp271, atslab_0, tmp276) ; ats_selptrset_mac(anairiats_sum_6, tmp271, atslab_1, tmp277) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp279 = ats_select_mac(tmp272, atslab_0) ; /* tmp278 = */ prerr_error2_loc_02161_ (tmp279) ; /* tmp280 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_app_wind")) ; /* tmp281 = */ atspre_prerr_string (ATSstrcst(": arity mismatch: the static argument is discarded.")) ; /* tmp282 = */ atspre_prerr_newline () ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp284)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp284, atslab_0, arg0) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp284) ; arg0 = arg0 ; arg1 = tmp273 ; arg2 = arg2 ; goto __ats_lab_auxlst_36 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp287 = */ prerr_error2_loc_02161_ (tmp288) ; /* tmp289 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_app_wind")) ; /* tmp290 = */ atspre_prerr_string (ATSstrcst(": arity mismatch: more static arguments are needed.")) ; /* tmp291 = */ atspre_prerr_newline () ; tmp293 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp293)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp293, atslab_0, arg0) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp293) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp285) ; tmp295 = auxlst_36 (arg0, arg1, tmp286) ; tmp271 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp271, atslab_0, tmp294) ; ats_selptrset_mac(anairiats_sum_6, tmp271, atslab_1, tmp295) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp271 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp271) ; } /* end of [auxlst_36] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; __ats_lab_loop_39: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp308 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: break ; } while (0) ; return /* (tmp307) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp306) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp306 = */ loop_39 (arg0) ; return /* (tmp306) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 17171(line=741, offs=5) -- 17918(line=771, offs=4) */ ATSstaticdec() ats_ptr_type loop_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_bool_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_int_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; __ats_lab_loop_37: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_56_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun (arg1) ; if (tmp299) { if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 17360(line=753, offs=11) -- 17385(line=753, offs=36)") ; } tmp300 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp301 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; /* ats_int_type tmp302 ; */ tmp302 = 0 ; tmp303 = auxlst_36 (arg0, tmp297, tmp300) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp301, arg3, tmp303) ; arg0 = arg0 ; arg1 = tmp301 ; arg2 = tmp298 ; arg3 = tmp304 ; goto __ats_lab_loop_37 ; // tail call } else { /* tmp305 = */ list_vt_free_01499_ats_ptr_type (tmp298) ; tmp310 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp309 = */ prerr_error2_loc_02161_ (tmp310) ; /* tmp311 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_app_wind")) ; /* tmp312 = */ atspre_prerr_string (ATSstrcst(": the static term is overly applied.")) ; /* tmp313 = */ atspre_prerr_newline () ; tmp315 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp315)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp315, atslab_0, arg0) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp315) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (arg1) ; } /* end of [if] */ break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp296 = arg3 ; break ; } while (0) ; return (tmp296) ; } /* end of [loop_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 15067(line=658, offs=1) -- 18001(line=775, offs=4) */ ATSstaticdec() ats_ptr_type s2exp_app_wind_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp316) ; __ats_lab_s2exp_app_wind_34: tmp316 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_s2exp_srt) ; tmp254 = loop_37 (arg0, tmp316, arg2, arg1) ; return (tmp254) ; } /* end of [s2exp_app_wind_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 18121(line=784, offs=5) -- 18707(line=811, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_app_unwind_40 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (anairiats_rec_14, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; __ats_lab_s1exp_app_unwind_40: tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp318)->tag != 9) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_17, tmp318, atslab_0) ; tmp320 = ats_caselptrlab_mac(anairiats_sum_17, tmp318, atslab_1) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_17, tmp318, atslab_2) ; tmp322.atslab_0 = tmp320 ; tmp322.atslab_1 = tmp321 ; tmp323 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ats_selptrset_mac(anairiats_sum_16, tmp323, atslab_0, tmp322) ; ats_selptrset_mac(anairiats_sum_16, tmp323, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp323 ; arg0 = tmp319 ; arg1 = arg1 ; goto __ats_lab_s1exp_app_unwind_40 ; // tail call break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp318)->tag != 0) { goto __ats_lab_66_0 ; } __ats_lab_61_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_5, tmp318, atslab_0) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp324) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_62_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_4, tmp325, atslab_0) ; ATS_FREE(tmp325) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp326)->tag != 2) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp327 = ats_caselptrlab_mac(anairiats_sum_5, tmp326, atslab_0) ; tmp317 = s1exp_app_unwind_e1xp_41 (arg0, tmp327, arg1) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp317 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (tmp325 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp317 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp317 = arg0 ; break ; } while (0) ; return (tmp317) ; } /* end of [s1exp_app_unwind_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_43 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_int_type, tmp335) ; __ats_lab_loop_43: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp333 = &ats_caselptrlab_mac(anairiats_sum_16, arg0, atslab_1) ; tmp334 = ats_ptrget_mac(ats_ptr_type, tmp333) ; tmp335 = atspre_iadd (arg1, 1) ; arg0 = tmp334 ; arg1 = tmp335 ; goto __ats_lab_loop_43 ; // tail call break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp332 = arg1 ; break ; } while (0) ; return (tmp332) ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_anairiats_rec_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp331) ; __ats_lab_list_vt_length_01501_anairiats_rec_14: tmp331 = loop_43 (arg0, 0) ; return (tmp331) ; } /* end of [list_vt_length_01501_anairiats_rec_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 19161(line=831, offs=9) -- 19229(line=831, offs=77) */ ATSstaticdec() ats_ptr_type __ats_fun_44 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp341) ; __ats_lab___ats_fun_44: tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make_s1exp (env0, arg0) ; return (tmp341) ; } /* end of [__ats_fun_44] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_44_closure_type ; ats_ptr_type __ats_fun_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_44 (((__ats_fun_44_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_44_closure_init (__ats_fun_44_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_44_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53639(line=1919, offs=6) -- 53788(line=1925, offs=6) */ ATSstaticdec() ats_ptr_type app_46 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp345) ; __ats_lab_app_46: tmp345 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp345) ; } /* end of [app_46] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53503(line=1915, offs=23) -- 53963(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp344) ; __ats_lab_list_map_vclo_01414_ats_ptr_type_ats_ptr_type: tmp344 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_46, arg1) ; return (tmp344) ; } /* end of [list_map_vclo_01414_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 18742(line=813, offs=5) -- 19639(line=849, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_app_unwind_e1xp_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_int_type, tmp330) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_bool_type, tmp337) ; ATSlocal (anairiats_rec_14, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (__ats_fun_44_closure_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; __ats_lab_s1exp_app_unwind_e1xp_41: tmp329 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; tmp330 = list_vt_length_01501_anairiats_rec_14 (ats_ptrget_mac(ats_ptr_type, arg2)) ; tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_e1xp_node) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp336)->tag != 10) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp337 = atspre_igt (tmp330, 0) ; if (!tmp337) { goto __ats_lab_70_1 ; } // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp338 = ats_caselptrlab_mac(anairiats_sum_16, ats_ptrget_mac(ats_ptr_type, arg2), atslab_0) ; tmp339 = ats_caselptrlab_mac(anairiats_sum_16, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp339 ; /* ats_ptr_type tmp340 ; */ tmp340 = &(tmp342) ; __ats_fun_44_closure_init (tmp340, tmp329) ; // closure initialization tmp346 = ats_select_mac(tmp338, atslab_1) ; tmp343 = list_map_vclo_01414_ats_ptr_type_ats_ptr_type (tmp346, tmp340) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (tmp329, arg1, tmp329, ats_castfn_mac(ats_ptr_type, tmp343)) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (tmp347) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp (tmp329, tmp348) ; tmp328 = s1exp_app_unwind_40 (tmp349, arg2) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (arg1) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp (tmp329, tmp350) ; tmp328 = s1exp_app_unwind_40 (tmp351, arg2) ; break ; } while (0) ; return (tmp328) ; } /* end of [s1exp_app_unwind_e1xp_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 19700(line=853, offs=5) -- 19944(line=863, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_invar_47 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_bool_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; __ats_lab_s1exp_trup_invar_47: tmp354 = atspre_eq_int_int (arg0, 0) ; if (tmp354) { tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; } else { tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg1, tmp353) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg (arg0, tmp355) ; return (tmp352) ; } /* end of [s1exp_trup_invar_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 20200(line=876, offs=1) -- 20387(line=883, offs=4) */ ATSstaticdec() ats_bool_type s1exp_is_underscore_48 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_bool_type, tmp359) ; __ats_lab_s1exp_is_underscore_48: tmp357 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp357)->tag != 0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_5, tmp357, atslab_0) ; tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp358, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; if (tmp359) { tmp356 = ats_true_bool ; } else { tmp356 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp356 = ats_false_bool ; break ; } while (0) ; return (tmp356) ; } /* end of [s1exp_is_underscore_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 20425(line=886, offs=1) -- 20598(line=893, offs=4) */ ATSstaticdec() ats_int_type s1exp_test_top_underscore_49 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_int_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_bool_type, tmp364) ; __ats_lab_s1exp_test_top_underscore_49: tmp361 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp361)->tag != 12) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp362 = ats_caselptrlab_mac(anairiats_sum_19, tmp361, atslab_0) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_19, tmp361, atslab_1) ; tmp364 = s1exp_is_underscore_48 (tmp363) ; if (tmp364) { tmp360 = tmp362 ; } else { tmp360 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp360 = -1 ; break ; } while (0) ; return (tmp360) ; } /* end of [s1exp_test_top_underscore_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 20640(line=895, offs=5) -- 20744(line=899, offs=2) */ ATSstaticdec() ats_ptr_type s1exp_untop_if_50 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; __ats_lab_s1exp_untop_if_50: tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp366)->tag != 12) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp367 = ats_caselptrlab_mac(anairiats_sum_19, tmp366, atslab_1) ; tmp365 = tmp367 ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp365 = arg0 ; break ; } while (0) ; return (tmp365) ; } /* end of [s1exp_untop_if_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 20777(line=901, offs=5) -- 21184(line=918, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trans_syn_arg2_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_bool_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_bool_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; __ats_lab_s1exp_trans_syn_arg2_51: tmp369 = s1exp_is_underscore_48 (arg1) ; if (tmp369) { tmp368 = s1exp_untop_if_50 (arg0) ; } else { tmp370 = s1exp_test_top_underscore_49 (arg1) ; tmp371 = atspre_gte_int_int (tmp370, 0) ; if (tmp371) { tmp372 = s1exp_untop_if_50 (arg0) ; tmp373 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp372), atslab_s1exp_loc) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top (tmp373, tmp370, tmp372) ; } else { tmp368 = arg1 ; } /* end of [if] */ } /* end of [if] */ return (tmp368) ; } /* end of [s1exp_trans_syn_arg2_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 21267(line=924, offs=3) -- 22424(line=968, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_int_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_int_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; // ATSlocal_void (tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg: tmp375 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp375)->tag != 14) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_19, tmp375, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_19, tmp375, atslab_1) ; tmp378 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp378)->tag = 1 ; ats_selptrset_mac(anairiats_sum_20, tmp378, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_20, tmp378, atslab_1, tmp376) ; ats_selptrset_mac(anairiats_sum_20, tmp378, atslab_2, tmp377) ; ats_selptrset_mac(anairiats_sum_20, tmp378, atslab_3, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp378 ; tmp374 = s1exp_trup_invar_47 (tmp376, tmp377) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp375)->tag != 15) { goto __ats_lab_81_0 ; } __ats_lab_78_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_9, tmp375, atslab_0) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_9, tmp375, atslab_1) ; tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp379), atslab_s1exp_node) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp381)->tag != 14) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_19, tmp381, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_19, tmp381, atslab_1) ; tmp384 = s1exp_trans_syn_arg2_51 (tmp383, tmp380) ; tmp385 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp385)->tag = 1 ; ats_selptrset_mac(anairiats_sum_20, tmp385, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_20, tmp385, atslab_1, tmp382) ; ats_selptrset_mac(anairiats_sum_20, tmp385, atslab_2, tmp384) ; ats_selptrset_mac(anairiats_sum_20, tmp385, atslab_3, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp385 ; tmp374 = s1exp_trup_invar_47 (tmp382, tmp383) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: __ats_lab_80_1: tmp387 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp379), atslab_s1exp_loc) ; /* tmp386 = */ prerr_error2_loc_02161_ (tmp387) ; /* tmp388 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_arg")) ; /* tmp389 = */ atspre_prerr_string (ATSstrcst(": a refval-type must begin with !(call-by-value) or &(call-by-reference)")) ; /* tmp390 = */ atspre_prerr_newline () ; tmp392 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp392)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp392, atslab_0, arg0) ; /* tmp391 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp392) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: __ats_lab_81_1: tmp393 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp393)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp393, atslab_0, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp393 ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg0) ; break ; } while (0) ; return (tmp374) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 22535(line=976, offs=5) -- 23425(line=1013, offs=4) */ ATSstaticdec() ats_ptr_type auxwth_54 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_int_type, tmp396) ; ATSlocal (ats_int_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_bool_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_bool_type, tmp405) ; ATSlocal (ats_bool_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; __ats_lab_auxwth_54: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp396 = ats_caselptrlab_mac(anairiats_sum_20, arg0, atslab_0) ; tmp397 = ats_caselptrlab_mac(anairiats_sum_20, arg0, atslab_1) ; tmp398 = ats_caselptrlab_mac(anairiats_sum_20, arg0, atslab_2) ; tmp399 = ats_caselptrlab_mac(anairiats_sum_20, arg0, atslab_3) ; tmp401 = atspre_eq_int_int (tmp397, 0) ; if (tmp401) { tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; } else { tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp398, tmp400) ; tmp403 = auxwth_54 (tmp399) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp402) ; tmp406 = atspre_eq_int_int (tmp396, 0) ; if (tmp406) { tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_nonvar (tmp404) ; } else { tmp405 = ats_false_bool ; } /* end of [if] */ if (tmp405) { tmp395 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp395)->tag = 1 ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_0, tmp397) ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_1, tmp404) ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_2, tmp403) ; } else { tmp395 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp395)->tag = 2 ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_0, tmp397) ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_1, tmp404) ; ats_selptrset_mac(anairiats_sum_21, tmp395, atslab_2, tmp403) ; } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp407 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp408 = auxwth_54 (tmp407) ; tmp395 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp395)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_0, tmp408) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: tmp395 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; break ; } while (0) ; return (tmp395) ; } /* end of [auxwth_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 23451(line=1015, offs=5) -- 24013(line=1039, offs=4) */ ATSstaticdec() ats_ptr_type auxres_55 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_int_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; ATSlocal (anairiats_rec_1, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; // ATSlocal_void (tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; __ats_lab_auxres_55: tmp410 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp410)->tag != 21) { goto __ats_lab_86_0 ; } tmp411 = ats_caselptrlab_mac(anairiats_sum_21, tmp410, atslab_0) ; if (tmp411 != 1) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp412 = ats_caselptrlab_mac(anairiats_sum_21, tmp410, atslab_1) ; tmp413 = ats_caselptrlab_mac(anairiats_sum_21, tmp410, atslab_2) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp415 = ats_selsin_mac(tmp414, atslab_1) */ ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp412) ; tmp417 = auxres_55 (tmp413, arg1) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp419 = ats_select_mac(tmp416, atslab_s2qua_svs) ; tmp420 = ats_select_mac(tmp416, atslab_s2qua_sps) ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi (tmp419, tmp420, tmp417) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (arg0) ; tmp422 = auxwth_54 (arg1) ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype (tmp421, tmp422) ; break ; } while (0) ; return (tmp409) ; } /* end of [auxres_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 22508(line=974, offs=3) -- 24152(line=1047, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_bool_type, tmp423) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred: tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none (arg1) ; if (tmp423) { tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (arg0) ; } else { tmp394 = auxres_55 (arg0, arg1) ; } /* end of [if] */ return (tmp394) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 24467(line=1066, offs=5) -- 24848(line=1077, offs=6) */ ATSstaticdec() ats_void_type auxerr1_57 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; // ATSlocal_void (tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; __ats_lab_auxerr1_57: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_88_1: tmp427 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp426 = */ prerr_error2_loc_02161_ (tmp427) ; /* tmp428 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_arrow")) ; /* tmp429 = */ atspre_prerr_string (ATSstrcst(": illegal static application.")) ; /* tmp430 = */ atspre_prerr_newline () ; tmp431 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp431)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp431, atslab_0, arg0) ; /* tmp425 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp431) ; break ; } while (0) ; return /* (tmp425) */ ; } /* end of [auxerr1_57] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_60 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; __ats_lab_loop_60: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_16, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp436 ; goto __ats_lab_loop_60 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: break ; } while (0) ; return /* (tmp435) */ ; } /* end of [loop_60] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_anairiats_rec_14 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp434) ; __ats_lab_list_vt_free_01499_anairiats_rec_14: /* tmp434 = */ loop_60 (arg0) ; return /* (tmp434) */ ; } /* end of [list_vt_free_01499_anairiats_rec_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 24897(line=1079, offs=5) -- 25375(line=1099, offs=4) */ ATSstaticdec() ats_void_type auxerr2_58 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp432) ; // ATSlocal_void (tmp433) ; // ATSlocal_void (tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; __ats_lab_auxerr2_58: do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_89_1: /* tmp433 = */ list_vt_free_01499_anairiats_rec_14 (arg1) ; tmp438 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp437 = */ prerr_error2_loc_02161_ (tmp438) ; /* tmp439 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_arrow")) ; /* tmp440 = */ atspre_prerr_string (ATSstrcst(": illegal static application.")) ; /* tmp441 = */ atspre_prerr_newline () ; tmp442 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp442)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp442, atslab_0, arg0) ; /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp442) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: break ; } while (0) ; return /* (tmp432) */ ; } /* end of [auxerr2_58] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 25403(line=1101, offs=5) -- 25787(line=1116, offs=4) */ ATSstaticdec() ats_ptr_type auxerr3_61 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp443) ; // ATSlocal_void (tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; __ats_lab_auxerr3_61: tmp445 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1exp_loc) ; /* tmp444 = */ prerr_error2_loc_02161_ (tmp445) ; /* tmp446 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_arrow")) ; /* tmp447 = */ atspre_prerr_string (ATSstrcst(": the static expression needs to be impredicative")) ; /* tmp448 = */ atspre_prerr_string (ATSstrcst(" but is assigned the sort [")) ; /* tmp449 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp450 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp451 = */ atspre_prerr_newline () ; tmp453 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp453)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp453, atslab_0, arg0) ; /* tmp452 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp453) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; return (tmp443) ; } /* end of [auxerr3_61] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 26369(line=1136, offs=7) -- 27360(line=1165, offs=33) */ ATSstaticdec() ats_ptr_type aux_62 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_int_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_bool_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_bool_type, tmp484) ; ATSlocal (ats_bool_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; __ats_lab_aux_62: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_95_1: tmp473 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp474 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg (tmp473, arg1) ; tmp476 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp475), atslab_s2exp_srt) ; /* ats_int_type tmp477 ; */ tmp477 = 0 ; /* ats_int_type tmp478 ; */ tmp478 = 0 ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp476)->tag != 0) { goto __ats_lab_99_0 ; } __ats_lab_96_1: tmp480 = ats_caselptrlab_mac(anairiats_sum_5, tmp476, atslab_0) ; do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp480)->tag != 1) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_19, tmp480, atslab_1) ; tmp477 = 1 ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp481, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; if (tmp482) { tmp478 = 1 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: break ; } while (0) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: __ats_lab_99_1: break ; } while (0) ; tmp484 = atspre_gt_int_int (tmp477, 0) ; if (tmp484) { tmp485 = atspre_gt_int_int (tmp478, 0) ; if (tmp485) { tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg (tmp475) ; } else { tmp483 = tmp475 ; } /* end of [if] */ } else { tmp483 = auxerr3_61 (env0, tmp473, tmp476) ; } /* end of [if] */ tmp486 = aux_62 (env0, tmp474, arg1) ; tmp472 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp472, atslab_0, tmp483) ; ats_selptrset_mac(anairiats_sum_6, tmp472, atslab_1, tmp486) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp472 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp472) ; } /* end of [aux_62] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_62_closure_type ; ats_ptr_type aux_62_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return aux_62 (((aux_62_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_62_closure_init (aux_62_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_62_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_62_closure_make (ats_ptr_type env0) { aux_62_closure_type *p_clo = ATS_MALLOC(sizeof(aux_62_closure_type)) ; aux_62_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 24213(line=1052, offs=1) -- 28130(line=1192, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_arrow_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp424) ; // ATSlocal_void (tmp454) ; ATSlocal (anairiats_rec_14, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; // ATSlocal_void (tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_int_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_int_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_int_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; __ats_lab_s1exp_trup_arrow_56: /* tmp454 = */ auxerr1_57 (arg0, arg5) ; if (arg5 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 25876(line=1119, offs=5) -- 25902(line=1119, offs=31)") ; } tmp455 = ats_caselptrlab_mac(anairiats_sum_16, arg5, atslab_0) ; tmp456 = ats_caselptrlab_mac(anairiats_sum_16, arg5, atslab_1) ; ATS_FREE(arg5) ; /* tmp457 = */ auxerr2_58 (arg0, tmp456) ; tmp458 = ats_select_mac(tmp455, atslab_1) ; if (tmp458 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 26006(line=1122, offs=5) -- 26041(line=1122, offs=40)") ; } tmp459 = ats_caselptrlab_mac(anairiats_sum_6, tmp458, atslab_1) ; if (tmp459 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 26006(line=1122, offs=5) -- 26041(line=1122, offs=40)") ; } tmp460 = ats_caselptrlab_mac(anairiats_sum_6, tmp459, atslab_1) ; if (tmp460 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 26006(line=1122, offs=5) -- 26041(line=1122, offs=40)") ; } tmp461 = ats_caselptrlab_mac(anairiats_sum_6, tmp458, atslab_0) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_6, tmp459, atslab_0) ; /* ats_int_type tmp463 ; */ tmp463 = -1 ; /* ats_ptr_type tmp464 ; */ tmp464 = (ats_sum_ptr_type)0 ; tmp466 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp461), atslab_s1exp_node) ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp466)->tag != 13) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp467 = ats_caselptrlab_mac(anairiats_sum_19, tmp466, atslab_0) ; tmp468 = ats_caselptrlab_mac(anairiats_sum_19, tmp466, atslab_1) ; tmp463 = tmp467 ; tmp464 = tmp468 ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: tmp470 = (ats_sum_ptr_type)0 ; tmp469 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp469, atslab_0, tmp461) ; ats_selptrset_mac(anairiats_sum_6, tmp469, atslab_1, tmp470) ; tmp464 = tmp469 ; break ; } while (0) ; /* ats_ptr_type tmp471 ; */ tmp471 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; tmp487 = aux_62 (arg0, tmp464, (&tmp471)) ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse (tmp471) ; tmp471 = tmp488 ; tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred (tmp462, tmp471) ; tmp490 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp489), atslab_s2exp_srt) ; tmp491 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; if (arg3) { tmp492 = arg3 ; } else { tmp492 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp490) ; } /* end of [if] */ do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp494 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp493 = tmp494 ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp493 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc (tmp491, tmp492, arg2, tmp493) ; if (arg2) { tmp496 = 1 ; } else { tmp496 = 0 ; } /* end of [if] */ do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp498 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp497 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr (tmp498) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: if (tmp492) { tmp497 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; } else { tmp497 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; } /* end of [if] */ break ; } while (0) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp495, tmp493, tmp496, tmp497, tmp463, tmp487, tmp489) ; return (tmp424) ; } /* end of [s1exp_trup_arrow_56] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 28297(line=1202, offs=5) -- 28660(line=1216, offs=2) */ ATSstaticdec() ats_void_type auxerr1_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp500) ; // ATSlocal_void (tmp501) ; // ATSlocal_void (tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_bool_type, tmp506) ; // ATSlocal_void (tmp507) ; // ATSlocal_void (tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; __ats_lab_auxerr1_64: /* tmp501 = */ prerr_error2_loc_02161_ (arg1) ; /* tmp502 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_app")) ; /* tmp503 = */ atspre_prerr_string (ATSstrcst(": the static application needs ")) ; tmp506 = atspre_gt_int_int (arg2, 0) ; if (tmp506) { tmp505 = ATSstrcst("more") ; } else { tmp505 = ATSstrcst("fewer") ; } /* end of [if] */ /* tmp504 = */ atspre_prerr_string (tmp505) ; /* tmp507 = */ atspre_prerr_string (ATSstrcst(" arguments.")) ; /* tmp508 = */ atspre_prerr_newline () ; tmp509 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp509)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp509, atslab_0, arg0) ; /* tmp500 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp509) ; return /* (tmp500) */ ; } /* end of [auxerr1_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 28691(line=1218, offs=5) -- 29080(line=1231, offs=2) */ ATSstaticdec() ats_void_type auxerr2_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp510) ; // ATSlocal_void (tmp511) ; // ATSlocal_void (tmp512) ; // ATSlocal_void (tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; // ATSlocal_void (tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; // ATSlocal_void (tmp518) ; // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; __ats_lab_auxerr2_65: /* tmp511 = */ prerr_error2_loc_02161_ (arg1) ; /* tmp512 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_app")) ; /* tmp513 = */ atspre_prerr_string (ATSstrcst(": the static expression [")) ; /* tmp514 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp515 = */ atspre_prerr_string (ATSstrcst("] is expected to be of a functional sort but it is assigned the sort [")) ; tmp517 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg2), atslab_s2exp_srt) ; /* tmp516 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp517) ; /* tmp518 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp519 = */ atspre_prerr_newline () ; tmp520 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp520)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp520, atslab_0, arg0) ; /* tmp510 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp520) ; return /* (tmp510) */ ; } /* end of [auxerr2_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 29111(line=1234, offs=1) -- 30158(line=1268, offs=4) */ ATSstaticdec() ats_ptr_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (anairiats_rec_14, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_bool_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_int_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_bool_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; // ATSlocal_void (tmp533) ; // ATSlocal_void (tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; __ats_lab_loop_66: do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_105_1: tmp522 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_0) ; tmp523 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp524 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg2), atslab_s2exp_srt) ; tmp525 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun (tmp524) ; if (tmp525) { if (((ats_sum_ptr_type)tmp524)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 29353(line=1243, offs=13) -- 29390(line=1243, offs=50)") ; } tmp526 = ats_caselptrlab_mac(anairiats_sum_9, tmp524, atslab_0) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_9, tmp524, atslab_1) ; /* ats_int_type tmp528 ; */ tmp528 = 0 ; tmp530 = ats_select_mac(tmp522, atslab_1) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err (tmp530, tmp526, (&tmp528)) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp531 = atspre_eq_int_int (tmp528, 0) ; if (!tmp531) { goto __ats_lab_107_1 ; } tmp532 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp527, arg2, tmp529) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp532 ; arg3 = tmp523 ; goto __ats_lab_loop_66 ; // tail call break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: /* tmp533 = */ list_vt_free_01499_anairiats_rec_14 (tmp523) ; tmp536 = ats_select_mac(tmp522, atslab_0) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (arg1, tmp536) ; /* tmp534 = */ auxerr1_64 (arg0, tmp535, tmp528) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp527) ; break ; } while (0) ; } else { /* tmp537 = */ list_vt_free_01499_anairiats_rec_14 (tmp523) ; /* tmp538 = */ auxerr2_65 (arg0, arg1, arg2) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp524) ; } /* end of [if] */ break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp521 = arg2 ; break ; } while (0) ; return (tmp521) ; } /* end of [loop_66] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 28186(line=1196, offs=5) -- 30228(line=1272, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_app_63 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp539) ; __ats_lab_s1exp_trup_app_63: tmp539 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1exp_loc) ; tmp499 = loop_66 (arg0, tmp539, arg2, arg3) ; return (tmp499) ; } /* end of [s1exp_trup_app_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 30401(line=1283, offs=5) -- 30738(line=1299, offs=4) */ ATSstaticdec() ats_int_type auxck1_68 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp541) ; ATSlocal (anairiats_rec_14, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; // ATSlocal_void (tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; // ATSlocal_void (tmp546) ; // ATSlocal_void (tmp547) ; ATSlocal (ats_int_type, tmp548) ; __ats_lab_auxck1_68: do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp542 = ats_caselptrlab_mac(anairiats_sum_16, arg2, atslab_0) ; tmp543 = ats_caselptrlab_mac(anairiats_sum_16, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp545 = ats_select_mac(tmp542, atslab_0) ; /* tmp544 = */ prerr_error2_loc_02161_ (tmp545) ; /* tmp546 = */ atspre_prerr_string (ATSstrcst(": overly supplied static argument group.")) ; /* tmp547 = */ atspre_prerr_newline () ; tmp548 = auxck1_68 (arg0, arg1, tmp543) ; tmp541 = atspre_add_int_int (tmp548, 1) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp541 = 0 ; break ; } while (0) ; return (tmp541) ; } /* end of [auxck1_68] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_71 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_int_type, tmp554) ; __ats_lab_loop_71: do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp553 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp554 = atspre_isucc (arg1) ; arg0 = tmp553 ; arg1 = tmp554 ; goto __ats_lab_loop_71 ; // tail call break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp552 = arg1 ; break ; } while (0) ; return (tmp552) ; } /* end of [loop_71] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp551) ; __ats_lab_list_length_01410_ats_ptr_type: tmp551 = loop_71 (arg0, 0) ; return (tmp551) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 30765(line=1301, offs=5) -- 31323(line=1322, offs=4) */ ATSstaticdec() ats_void_type auxck2_69 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp549) ; ATSlocal (ats_int_type, tmp550) ; ATSlocal (ats_int_type, tmp555) ; ATSlocal (ats_int_type, tmp556) ; ATSlocal (ats_bool_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; // ATSlocal_void (tmp561) ; // ATSlocal_void (tmp562) ; ATSlocal (ats_bool_type, tmp563) ; // ATSlocal_void (tmp564) ; ATSlocal (ats_bool_type, tmp565) ; // ATSlocal_void (tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; __ats_lab_auxck2_69: tmp550 = list_length_01410_ats_ptr_type (arg2) ; tmp555 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (arg1) ; tmp556 = atspre_sub_int_int (tmp550, tmp555) ; tmp557 = atspre_neq_int_int (tmp556, 0) ; if (tmp557) { tmp558 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp559 = */ prerr_error2_loc_02161_ (tmp558) ; /* tmp560 = */ atspre_prerr_string (ATSstrcst(": the type constructor [")) ; /* tmp561 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (arg1) ; tmp563 = atspre_lt_int_int (tmp556, 0) ; if (tmp563) { /* tmp562 = */ atspre_prerr_string (ATSstrcst("] expects more arguments.")) ; } else { /* empty */ } /* end of [if] */ tmp565 = atspre_gt_int_int (tmp556, 0) ; if (tmp565) { /* tmp564 = */ atspre_prerr_string (ATSstrcst("] expects fewer arguments.")) ; } else { /* empty */ } /* end of [if] */ /* tmp566 = */ atspre_prerr_newline () ; tmp567 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp567)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp567, atslab_0, arg0) ; /* tmp549 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp567) ; } else { /* empty */ } /* end of [if] */ return /* (tmp549) */ ; } /* end of [auxck2_69] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 30282(line=1276, offs=5) -- 31799(line=1346, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_app_datcontyp_67 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (anairiats_rec_14, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_int_type, tmp571) ; // ATSlocal_void (tmp572) ; ATSlocal (ats_bool_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; // ATSlocal_void (tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; __ats_lab_s1exp_trup_app_datcontyp_67: do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp569 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_0) ; tmp570 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp571 = auxck1_68 (arg0, arg2, tmp570) ; tmp573 = atspre_gt_int_int (tmp571, 0) ; if (tmp573) { tmp574 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp574)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp574, atslab_0, arg0) ; /* tmp572 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp574) ; } else { /* empty */ } /* end of [if] */ tmp568 = ats_select_mac(tmp569, atslab_1) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp568 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp575 = */ auxck2_69 (arg0, arg2, tmp568) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_impred (tmp568) ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp (arg2, tmp576) ; return (tmp540) ; } /* end of [s1exp_trup_app_datcontyp_67] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 31982(line=1357, offs=5) -- 32319(line=1373, offs=4) */ ATSstaticdec() ats_int_type auxck1_73 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp578) ; ATSlocal (anairiats_rec_14, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; // ATSlocal_void (tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; // ATSlocal_void (tmp583) ; // ATSlocal_void (tmp584) ; ATSlocal (ats_int_type, tmp585) ; __ats_lab_auxck1_73: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp579 = ats_caselptrlab_mac(anairiats_sum_16, arg2, atslab_0) ; tmp580 = ats_caselptrlab_mac(anairiats_sum_16, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp582 = ats_select_mac(tmp579, atslab_0) ; /* tmp581 = */ prerr_error2_loc_02161_ (tmp582) ; /* tmp583 = */ atspre_prerr_string (ATSstrcst(": overly supplied static argument group.")) ; /* tmp584 = */ atspre_prerr_newline () ; tmp585 = auxck1_73 (arg0, arg1, tmp580) ; tmp578 = atspre_add_int_int (tmp585, 1) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: tmp578 = 0 ; break ; } while (0) ; return (tmp578) ; } /* end of [auxck1_73] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 32346(line=1375, offs=5) -- 32916(line=1396, offs=4) */ ATSstaticdec() ats_void_type auxck2_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp586) ; ATSlocal (ats_int_type, tmp587) ; ATSlocal (ats_int_type, tmp588) ; ATSlocal (ats_int_type, tmp589) ; ATSlocal (ats_int_type, tmp590) ; ATSlocal (ats_bool_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; // ATSlocal_void (tmp593) ; // ATSlocal_void (tmp594) ; // ATSlocal_void (tmp595) ; // ATSlocal_void (tmp596) ; ATSlocal (ats_bool_type, tmp597) ; // ATSlocal_void (tmp598) ; ATSlocal (ats_bool_type, tmp599) ; // ATSlocal_void (tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; __ats_lab_auxck2_74: tmp587 = list_length_01410_ats_ptr_type (arg2) ; tmp588 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (arg1) ; tmp590 = atspre_add_int_int (1, tmp588) ; tmp589 = atspre_sub_int_int (tmp587, tmp590) ; tmp591 = atspre_neq_int_int (tmp589, 0) ; if (tmp591) { tmp592 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp593 = */ prerr_error2_loc_02161_ (tmp592) ; /* tmp594 = */ atspre_prerr_string (ATSstrcst(": the type constructor [")) ; /* tmp595 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (arg1) ; tmp597 = atspre_lt_int_int (tmp589, 0) ; if (tmp597) { /* tmp596 = */ atspre_prerr_string (ATSstrcst("] expects more arguments.")) ; } else { /* empty */ } /* end of [if] */ tmp599 = atspre_gt_int_int (tmp589, 0) ; if (tmp599) { /* tmp598 = */ atspre_prerr_string (ATSstrcst("] expects fewer arguments.")) ; } else { /* empty */ } /* end of [if] */ /* tmp600 = */ atspre_prerr_newline () ; tmp601 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp601)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp601, atslab_0, arg0) ; /* tmp586 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp601) ; } else { /* empty */ } /* end of [if] */ return /* (tmp586) */ ; } /* end of [auxck2_74] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 31863(line=1350, offs=5) -- 33428(line=1421, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_app_datconptr_72 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (anairiats_rec_14, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_int_type, tmp605) ; // ATSlocal_void (tmp606) ; ATSlocal (ats_bool_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; // ATSlocal_void (tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; __ats_lab_s1exp_trup_app_datconptr_72: do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp603 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_0) ; tmp604 = ats_caselptrlab_mac(anairiats_sum_16, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp605 = auxck1_73 (arg0, arg2, tmp604) ; tmp607 = atspre_gt_int_int (tmp605, 0) ; if (tmp607) { tmp608 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp608)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp608, atslab_0, arg0) ; /* tmp606 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp608) ; } else { /* empty */ } /* end of [if] */ tmp602 = ats_select_mac(tmp603, atslab_1) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp602 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp609 = */ auxck2_74 (arg0, arg2, tmp602) ; tmp610 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_addr (tmp602) ; if (tmp610 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 33355(line=1417, offs=5) -- 33383(line=1417, offs=33)") ; } tmp611 = ats_caselptrlab_mac(anairiats_sum_6, tmp610, atslab_0) ; tmp612 = ats_caselptrlab_mac(anairiats_sum_6, tmp610, atslab_1) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr (arg2, tmp611, tmp612) ; return (tmp577) ; } /* end of [s1exp_trup_app_datconptr_72] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 33489(line=1426, offs=1) -- 34447(line=1466, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_app_sqid_75 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; // ATSlocal_void (tmp619) ; // ATSlocal_void (tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; // ATSlocal_void (tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; // ATSlocal_void (tmp625) ; // ATSlocal_void (tmp626) ; // ATSlocal_void (tmp627) ; __ats_lab_s1exp_trup_app_sqid_75: tmp614 = staspecid_of_sqid_1 (arg2, arg3) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp614)->tag != 0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp615 = (ats_sum_ptr_type)0 ; tmp616 = (ats_sum_ptr_type)0 ; tmp613 = s1exp_trup_arrow_56 (arg0, tmp615, ats_false_bool, ats_false_bool, tmp616, arg4) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: tmp617 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua (arg2, arg3) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (tmp617 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp618 = ats_caselptrlab_mac(anairiats_sum_4, tmp617, atslab_0) ; ATS_FREE(tmp617) ; tmp613 = s1exp_trup_app_sqid_itm_76 (arg0, arg1, arg2, arg3, tmp618, arg4) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (tmp617 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: /* tmp619 = */ list_vt_free_01499_anairiats_rec_14 (arg4) ; tmp621 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1exp_loc) ; /* tmp620 = */ prerr_error2_loc_02161_ (tmp621) ; /* tmp622 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_app_sqid")) ; /* tmp623 = */ atspre_prerr_string (ATSstrcst(": unrecognized static identifier [")) ; /* tmp624 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg2) ; /* tmp625 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp626 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp627 = */ atspre_prerr_newline () ; tmp613 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; } while (0) ; return (tmp613) ; } /* end of [s1exp_trup_app_sqid_75] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_80 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (anairiats_rec_14, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; __ats_lab_loop_80: do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp635 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp636 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp637 = ((anairiats_rec_14(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp635, arg3) ; tmp638 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ats_selptrset_mac(anairiats_sum_16, tmp638, atslab_0, tmp637) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp638 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp639 = &ats_caselptrlab_mac(anairiats_sum_16, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp636 ; arg1 = arg1 ; arg2 = tmp639 ; arg3 = arg3 ; goto __ats_lab_loop_80 ; // tail call break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_125_1: tmp640 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp640 ; break ; } while (0) ; return /* (tmp634) */ ; } /* end of [loop_80] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp641) ; // ATSlocal_void (tmp642) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_anairiats_rec_14: /* ats_ptr_type tmp641 ; */ /* tmp642 = */ loop_80 (arg0, arg1, (&tmp641), arg2) ; tmp633 = tmp641 ; return (tmp633) ; } /* end of [list_map_funenv_01412_ats_ptr_type_anairiats_rec_14] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp632) ; __ats_lab_list_map_fun_01413_ats_ptr_type_anairiats_rec_14: tmp632 = list_map_funenv_01412_ats_ptr_type_anairiats_rec_14 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp632) ; } /* end of [list_map_fun_01413_ats_ptr_type_anairiats_rec_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 34997(line=1493, offs=35) -- 35041(line=1493, offs=79) */ ATSstaticdec() anairiats_rec_14 __ats_fun_81 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_14, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; __ats_lab___ats_fun_81: tmp645 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; tmp646 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg0) ; tmp644.atslab_0 = tmp645 ; tmp644.atslab_1 = tmp646 ; return (tmp644) ; } /* end of [__ats_fun_81] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 34941(line=1492, offs=11) -- 35050(line=1494, offs=8) */ ATSstaticdec() ats_ptr_type f_77 (anairiats_rec_14 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp643) ; __ats_lab_f_77: tmp643 = ats_select_mac(arg0, atslab_1) ; tmp631 = list_map_fun_01413_ats_ptr_type_anairiats_rec_14 (tmp643, &__ats_fun_81) ; tmp630 = ats_castfn_mac(ats_ptr_type, tmp631) ; return (tmp630) ; } /* end of [f_77] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp650) ; ATSlocal (anairiats_rec_14, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; __ats_lab_loop_84: do { /* branch: __ats_lab_126 */ __ats_lab_126_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp651 = ats_caselptrlab_mac(anairiats_sum_16, arg0, atslab_0) ; tmp652 = ats_caselptrlab_mac(anairiats_sum_16, arg0, atslab_1) ; tmp653 = ((ats_ptr_type(*)(anairiats_rec_14, ats_ptr_type))arg1) (tmp651, arg3) ; tmp654 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp654, atslab_0, tmp653) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp654 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp655 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp652 ; arg1 = arg1 ; arg2 = tmp655 ; arg3 = arg3 ; goto __ats_lab_loop_84 ; // tail call break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_127_1: tmp656 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp656 ; break ; } while (0) ; return /* (tmp650) */ ; } /* end of [loop_84] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_anairiats_rec_14_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp657) ; // ATSlocal_void (tmp658) ; __ats_lab_list_map_funenv_01412_anairiats_rec_14_ats_ptr_type: /* ats_ptr_type tmp657 ; */ /* tmp658 = */ loop_84 (arg0, arg1, (&tmp657), arg2) ; tmp649 = tmp657 ; return (tmp649) ; } /* end of [list_map_funenv_01412_anairiats_rec_14_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_anairiats_rec_14_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp648) ; __ats_lab_list_map_fun_01413_anairiats_rec_14_ats_ptr_type: tmp648 = list_map_funenv_01412_anairiats_rec_14_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp648) ; } /* end of [list_map_fun_01413_anairiats_rec_14_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 34485(line=1469, offs=1) -- 36587(line=1539, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_app_sqid_itm_76 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp647) ; // ATSlocal_void (tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; // ATSlocal_void (tmp666) ; // ATSlocal_void (tmp667) ; // ATSlocal_void (tmp668) ; // ATSlocal_void (tmp669) ; // ATSlocal_void (tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; // ATSlocal_void (tmp678) ; // ATSlocal_void (tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp682) ; // ATSlocal_void (tmp683) ; // ATSlocal_void (tmp684) ; // ATSlocal_void (tmp685) ; // ATSlocal_void (tmp686) ; // ATSlocal_void (tmp687) ; __ats_lab_s1exp_trup_app_sqid_itm_76: do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)arg4)->tag != 1) { goto __ats_lab_130_0 ; } __ats_lab_123_1: tmp629 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_0) ; tmp647 = list_map_fun_01413_anairiats_rec_14_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg5), &f_77) ; /* tmp659 = */ list_vt_free_01499_anairiats_rec_14 (arg5) ; tmp660 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2cst_select_locs2explstlst (tmp629, ats_castfn_mac(ats_ptr_type, tmp647)) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (tmp660 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp661 = ats_caselptrlab_mac(anairiats_sum_6, tmp660, atslab_0) ; tmp662 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp661) ; tmp628 = s2exp_app_wind_34 (arg0, tmp662, tmp647) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (tmp660 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: /* tmp663 = */ list_vt_free_01499_ats_ptr_type (tmp647) ; tmp665 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp664 = */ prerr_error2_loc_02161_ (tmp665) ; /* tmp666 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trup_app_sqid_itm")) ; /* tmp667 = */ atspre_prerr_string (ATSstrcst(": none of the static constants referred to by [")) ; /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg2) ; /* tmp669 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp670 = */ atspre_prerr_string (ATSstrcst("] is applicable.")) ; /* tmp671 = */ atspre_prerr_newline () ; tmp673 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp673)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp673, atslab_0, arg0) ; /* tmp672 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp673) ; tmp628 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)arg4)->tag != 0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp674 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_0) ; tmp675 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp674) ; tmp628 = s1exp_trup_app_63 (arg0, arg1, tmp675, arg5) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)arg4)->tag != 3) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp676 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_0) ; tmp628 = s1exp_trup_app_datcontyp_67 (arg0, arg1, tmp676, arg5) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)arg4)->tag != 4) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp677 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_0) ; tmp628 = s1exp_trup_app_datconptr_72 (arg0, arg1, tmp677, arg5) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: __ats_lab_133_1: /* tmp678 = */ list_vt_free_01499_anairiats_rec_14 (arg5) ; tmp680 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1exp_loc) ; /* tmp679 = */ prerr_interror_loc_02159_ (tmp680) ; /* tmp681 = */ atspre_prerr_newline () ; /* tmp682 = */ atspre_prerr_string (ATSstrcst(": NIY: s1exp_trup_app_sqid_itm: s1e0 = ")) ; /* tmp683 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp (arg0) ; /* tmp684 = */ atspre_prerr_newline () ; /* tmp685 = */ atspre_prerr_string (ATSstrcst(": NIY: s1exp_trup_app_sqid_itm: s2i0 = ")) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm (arg4) ; /* tmp687 = */ atspre_prerr_newline () ; /* tmp628 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp628) ; } /* end of [s1exp_trup_app_sqid_itm_76] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 36650(line=1543, offs=5) -- 36771(line=1550, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_top_85 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; __ats_lab_s1exp_trup_top_85: tmp689 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (arg1) ; tmp688 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top (arg0, tmp689) ; return (tmp688) ; } /* end of [s1exp_trup_top_85] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 36832(line=1556, offs=5) -- 37473(line=1582, offs=4) */ ATSstaticdec() ats_ptr_type aux01_86 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_bool_type, tmp699) ; ATSlocal (ats_int_type, tmp700) ; ATSlocal (ats_bool_type, tmp702) ; ATSlocal (ats_int_type, tmp703) ; ATSlocal (ats_bool_type, tmp704) ; ATSlocal (ats_int_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_int_type, tmp707) ; __ats_lab_aux01_86: do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp691 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp692 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp693 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg0) ; tmp694 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp691) ; tmp696 = (ats_sum_ptr_type)0 ; tmp695 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp695, atslab_0, tmp693) ; ats_selptrset_mac(anairiats_sum_12, tmp695, atslab_1, tmp696) ; ats_selptrset_mac(anairiats_sum_12, tmp695, atslab_2, tmp694) ; tmp697 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp694), atslab_s2exp_srt) ; tmp699 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp697) ; if (tmp699) { tmp700 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp700 ; } else { /* empty */ } /* end of [if] */ tmp702 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp697) ; if (tmp702) { tmp703 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp703 ; } else { tmp704 = atspre_gte_int_int (arg0, arg1) ; if (tmp704) { tmp705 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg5), 1) ; ats_ptrget_mac(ats_int_type, arg5) = tmp705 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp707 = atspre_add_int_int (arg0, 1) ; tmp706 = aux01_86 (tmp707, arg1, tmp692, arg3, arg4, arg5) ; tmp690 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp690, atslab_0, tmp695) ; ats_selptrset_mac(anairiats_sum_6, tmp690, atslab_1, tmp706) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp690 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp690) ; } /* end of [aux01_86] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 37497(line=1584, offs=5) -- 38045(line=1608, offs=4) */ ATSstaticdec() ats_ptr_type aux23_87 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; ATSlocal (ats_bool_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_int_type, tmp717) ; __ats_lab_aux23_87: do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp709 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp710 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp711 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg0) ; tmp713 = atspre_gte_int_int (arg0, arg1) ; if (tmp713) { tmp712 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp709, arg4) ; } else { tmp712 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp709, arg3) ; } /* end of [if] */ tmp715 = (ats_sum_ptr_type)0 ; tmp714 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp714, atslab_0, tmp711) ; ats_selptrset_mac(anairiats_sum_12, tmp714, atslab_1, tmp715) ; ats_selptrset_mac(anairiats_sum_12, tmp714, atslab_2, tmp712) ; tmp717 = atspre_add_int_int (arg0, 1) ; tmp716 = aux23_87 (tmp717, arg1, tmp710, arg3, arg4) ; tmp708 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp708, atslab_0, tmp714) ; ats_selptrset_mac(anairiats_sum_6, tmp708, atslab_1, tmp716) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: tmp708 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp708) ; } /* end of [aux23_87] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 38093(line=1612, offs=5) -- 38514(line=1625, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_tytup_flt_88 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_int_type, tmp719) ; ATSlocal (ats_int_type, tmp720) ; ATSlocal (ats_int_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; __ats_lab_s1exp_trup_tytup_flt_88: /* ats_int_type tmp719 ; */ tmp719 = 0 ; /* ats_int_type tmp720 ; */ tmp720 = 0 ; /* ats_int_type tmp721 ; */ tmp721 = 0 ; tmp722 = aux01_86 (0, arg1, arg2, (&tmp719), (&tmp720), (&tmp721)) ; tmp723 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg1, tmp719, tmp720, tmp721, 0, tmp722) ; tmp724 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; tmp718 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp723, tmp724, arg1, tmp722) ; return (tmp718) ; } /* end of [s1exp_trup_tytup_flt_88] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 38553(line=1627, offs=5) -- 39696(line=1670, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_tytup_89 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_int_type, tmp726) ; ATSlocal (ats_int_type, tmp727) ; ATSlocal (ats_int_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; ATSlocal (ats_bool_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; // ATSlocal_void (tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; __ats_lab_s1exp_trup_tytup_89: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (arg1 != 0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp725 = s1exp_trup_tytup_flt_88 (arg0, arg2, arg3) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (arg1 != 1) { goto __ats_lab_140_0 ; } __ats_lab_139_1: /* ats_int_type tmp726 ; */ tmp726 = 0 ; /* ats_int_type tmp727 ; */ tmp727 = 0 ; /* ats_int_type tmp728 ; */ tmp728 = 0 ; tmp729 = aux01_86 (0, arg2, arg3, (&tmp726), (&tmp727), (&tmp728)) ; tmp730 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg2, tmp726, tmp727, tmp728, 1, tmp729) ; tmp732 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin (tmp730) ; if (tmp732) { tmp731 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; } else { tmp731 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; } /* end of [if] */ tmp725 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp730, tmp731, arg2, tmp729) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (arg1 != 2) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp733 = aux23_87 (0, arg2, arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp734 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; tmp725 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type, tmp734, arg2, tmp733) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (arg1 != 3) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp735 = aux23_87 (0, arg2, arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; tmp736 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; tmp725 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype, tmp736, arg2, tmp735) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: __ats_lab_142_1: tmp738 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 39630(line=1668, offs=14) -- 39646(line=1668, offs=30)", ATSstrcst("\n")) ; /* tmp737 = */ atspre_assert_errmsg (ats_false_bool, tmp738) ; tmp725 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp725) ; } /* end of [s1exp_trup_tytup_89] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 39782(line=1678, offs=5) -- 39882(line=1681, offs=4) */ ATSstaticdec() ats_ptr_type string_of_s0tring_90 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; __ats_lab_string_of_s0tring_90: tmp740 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp740)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 39835(line=1680, offs=7) -- 39871(line=1680, offs=43)") ; } tmp741 = ats_caselptrlab_mac(anairiats_sum_5, tmp740, atslab_0) ; tmp739 = tmp741 ; return (tmp739) ; } /* end of [string_of_s0tring_90] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 39918(line=1683, offs=5) -- 40806(line=1710, offs=4) */ ATSstaticdec() ats_ptr_type aux01_91 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_bool_type, tmp756) ; ATSlocal (ats_int_type, tmp757) ; ATSlocal (ats_bool_type, tmp759) ; ATSlocal (ats_int_type, tmp760) ; ATSlocal (ats_bool_type, tmp761) ; ATSlocal (ats_int_type, tmp762) ; ATSlocal (ats_ptr_type, tmp763) ; ATSlocal (ats_int_type, tmp764) ; __ats_lab_aux01_91: do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_146_0 ; } __ats_lab_143_1: tmp743 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp744 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp745 = ats_caselptrlab_mac(anairiats_sum_12, tmp743, atslab_0) ; tmp746 = ats_caselptrlab_mac(anairiats_sum_12, tmp743, atslab_1) ; tmp747 = ats_caselptrlab_mac(anairiats_sum_12, tmp743, atslab_2) ; tmp748 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp745), atslab_l0ab_lab) ; do { /* branch: __ats_lab_144 */ __ats_lab_144_0: if (tmp746 == (ats_sum_ptr_type)0) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp750 = ats_caselptrlab_mac(anairiats_sum_4, tmp746, atslab_0) ; tmp751 = string_of_s0tring_90 (tmp750) ; tmp749 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp749, atslab_0, tmp751) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: // if (tmp746 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_145_1: tmp749 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp752 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp747) ; tmp753 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp753, atslab_0, tmp748) ; ats_selptrset_mac(anairiats_sum_12, tmp753, atslab_1, tmp749) ; ats_selptrset_mac(anairiats_sum_12, tmp753, atslab_2, tmp752) ; tmp754 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp752), atslab_s2exp_srt) ; tmp756 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp754) ; if (tmp756) { tmp757 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp757 ; } else { /* empty */ } /* end of [if] */ tmp759 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp754) ; if (tmp759) { tmp760 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp760 ; } else { tmp761 = atspre_gte_int_int (arg0, arg1) ; if (tmp761) { tmp762 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg5), 1) ; ats_ptrget_mac(ats_int_type, arg5) = tmp762 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp764 = atspre_add_int_int (arg0, 1) ; tmp763 = aux01_91 (tmp764, arg1, tmp744, arg3, arg4, arg5) ; tmp742 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp742, atslab_0, tmp753) ; ats_selptrset_mac(anairiats_sum_6, tmp742, atslab_1, tmp763) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_146_1: tmp742 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp742) ; } /* end of [aux01_91] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 40830(line=1712, offs=5) -- 41638(line=1737, offs=4) */ ATSstaticdec() ats_ptr_type aux23_92 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp765) ; ATSlocal (ats_ptr_type, tmp766) ; ATSlocal (ats_ptr_type, tmp767) ; ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_ptr_type, tmp771) ; ATSlocal (ats_ptr_type, tmp772) ; ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_ptr_type, tmp774) ; ATSlocal (ats_ptr_type, tmp775) ; ATSlocal (ats_bool_type, tmp776) ; ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_int_type, tmp779) ; __ats_lab_aux23_92: do { /* branch: __ats_lab_147 */ __ats_lab_147_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } __ats_lab_147_1: tmp766 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp767 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp768 = ats_caselptrlab_mac(anairiats_sum_12, tmp766, atslab_0) ; tmp769 = ats_caselptrlab_mac(anairiats_sum_12, tmp766, atslab_1) ; tmp770 = ats_caselptrlab_mac(anairiats_sum_12, tmp766, atslab_2) ; tmp771 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp768), atslab_l0ab_lab) ; do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (tmp769 == (ats_sum_ptr_type)0) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp773 = ats_caselptrlab_mac(anairiats_sum_4, tmp769, atslab_0) ; tmp774 = string_of_s0tring_90 (tmp773) ; tmp772 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp772, atslab_0, tmp774) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (tmp769 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp772 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp776 = atspre_gte_int_int (arg0, arg1) ; if (tmp776) { tmp775 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp770, arg4) ; } else { tmp775 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp770, arg3) ; } /* end of [if] */ tmp777 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp777, atslab_0, tmp771) ; ats_selptrset_mac(anairiats_sum_12, tmp777, atslab_1, tmp772) ; ats_selptrset_mac(anairiats_sum_12, tmp777, atslab_2, tmp775) ; tmp779 = atspre_add_int_int (arg0, 1) ; tmp778 = aux23_92 (tmp779, arg1, tmp767, arg3, arg4) ; tmp765 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp765, atslab_0, tmp777) ; ats_selptrset_mac(anairiats_sum_6, tmp765, atslab_1, tmp778) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_150_1: tmp765 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp765) ; } /* end of [aux23_92] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 41686(line=1742, offs=1) -- 43225(line=1795, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_tyrec_93 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp780) ; ATSlocal (ats_int_type, tmp781) ; ATSlocal (ats_int_type, tmp782) ; ATSlocal (ats_int_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_int_type, tmp787) ; ATSlocal (ats_int_type, tmp788) ; ATSlocal (ats_int_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp791) ; ATSlocal (ats_ptr_type, tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; // ATSlocal_void (tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; __ats_lab_s1exp_trup_tyrec_93: do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (arg1 != 0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: /* ats_int_type tmp781 ; */ tmp781 = 0 ; /* ats_int_type tmp782 ; */ tmp782 = 0 ; /* ats_int_type tmp783 ; */ tmp783 = 0 ; tmp784 = aux01_91 (0, arg2, arg3, (&tmp781), (&tmp782), (&tmp783)) ; tmp785 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg2, tmp781, tmp782, tmp783, 0, tmp784) ; tmp786 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; tmp780 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp785, tmp786, arg2, tmp784) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (arg1 != 1) { goto __ats_lab_153_0 ; } __ats_lab_152_1: /* ats_int_type tmp787 ; */ tmp787 = 0 ; /* ats_int_type tmp788 ; */ tmp788 = 0 ; /* ats_int_type tmp789 ; */ tmp789 = 0 ; tmp790 = aux01_91 (0, arg2, arg3, (&tmp787), (&tmp788), (&tmp789)) ; tmp791 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg2, tmp787, tmp788, tmp789, 1, tmp790) ; tmp792 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; tmp780 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp791, tmp792, arg2, tmp790) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (arg1 != 2) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp793 = aux23_92 (0, arg2, arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp794 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; tmp780 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type, tmp794, arg2, tmp793) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (arg1 != 3) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp795 = aux23_92 (0, arg2, arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; tmp796 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; tmp780 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype, tmp796, arg2, tmp795) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: __ats_lab_155_1: tmp798 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 43159(line=1793, offs=14) -- 43175(line=1793, offs=30)", ATSstrcst("\n")) ; /* tmp797 = */ atspre_assert_errmsg (ats_false_bool, tmp798) ; tmp780 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp780) ; } /* end of [s1exp_trup_tyrec_93] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 43260(line=1798, offs=1) -- 43681(line=1811, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trup_tyrec_ext_94 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_int_type, tmp800) ; ATSlocal (ats_int_type, tmp801) ; ATSlocal (ats_int_type, tmp802) ; ATSlocal (ats_ptr_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; __ats_lab_s1exp_trup_tyrec_ext_94: /* ats_int_type tmp800 ; */ tmp800 = 0 ; /* ats_int_type tmp801 ; */ tmp801 = 0 ; /* ats_int_type tmp802 ; */ tmp802 = 0 ; tmp803 = aux01_91 (0, arg2, arg3, (&tmp800), (&tmp801), (&tmp802)) ; tmp804 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg2, tmp800, tmp801, tmp802, 0, tmp803) ; tmp805 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp805)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp805, atslab_0, arg1) ; tmp799 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp804, tmp805, arg2, tmp803) ; return (tmp799) ; } /* end of [s1exp_trup_tyrec_ext_94] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 43781(line=1818, offs=11) -- 49363(line=2038, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_ptr_type, tmp811) ; ATSlocal (ats_int_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_char_type, tmp815) ; ATSlocal (ats_ptr_type, tmp816) ; ATSlocal (ats_ptr_type, tmp817) ; ATSlocal (ats_ptr_type, tmp818) ; ATSlocal (ats_ptr_type, tmp819) ; ATSlocal (ats_ptr_type, tmp820) ; ATSlocal (ats_ptr_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_ptr_type, tmp826) ; ATSlocal (ats_ptr_type, tmp827) ; ATSlocal (ats_ptr_type, tmp828) ; ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_int_type, tmp831) ; ATSlocal (ats_int_type, tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; ATSlocal (ats_ptr_type, tmp834) ; ATSlocal (ats_bool_type, tmp835) ; ATSlocal (ats_bool_type, tmp836) ; ATSlocal (ats_ptr_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; ATSlocal (ats_ptr_type, tmp839) ; ATSlocal (ats_ptr_type, tmp840) ; ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; // ATSlocal_void (tmp843) ; // ATSlocal_void (tmp844) ; // ATSlocal_void (tmp845) ; ATSlocal (ats_ptr_type, tmp846) ; ATSlocal (ats_ptr_type, tmp847) ; ATSlocal (ats_ptr_type, tmp848) ; // ATSlocal_void (tmp849) ; // ATSlocal_void (tmp850) ; // ATSlocal_void (tmp851) ; // ATSlocal_void (tmp852) ; // ATSlocal_void (tmp853) ; ATSlocal (ats_int_type, tmp854) ; ATSlocal (ats_ptr_type, tmp855) ; ATSlocal (ats_int_type, tmp856) ; ATSlocal (ats_ptr_type, tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_ptr_type, tmp861) ; ATSlocal (ats_int_type, tmp862) ; ATSlocal (ats_int_type, tmp863) ; ATSlocal (ats_ptr_type, tmp864) ; ATSlocal (ats_int_type, tmp865) ; ATSlocal (ats_int_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; ATSlocal (ats_ptr_type, tmp868) ; ATSlocal (ats_int_type, tmp869) ; ATSlocal (ats_ptr_type, tmp870) ; // ATSlocal_void (tmp871) ; // ATSlocal_void (tmp872) ; // ATSlocal_void (tmp873) ; // ATSlocal_void (tmp874) ; ATSlocal (ats_ptr_type, tmp875) ; // ATSlocal_void (tmp876) ; // ATSlocal_void (tmp877) ; // ATSlocal_void (tmp878) ; // ATSlocal_void (tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; ATSlocal (ats_ptr_type, tmp881) ; ATSlocal (ats_ptr_type, tmp882) ; // ATSlocal_void (tmp883) ; // ATSlocal_void (tmp884) ; ATSlocal (anairiats_rec_1, tmp885) ; ATSlocal (ats_ptr_type, tmp886) ; // ATSlocal_void (tmp887) ; ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_ptr_type, tmp889) ; ATSlocal (ats_int_type, tmp890) ; ATSlocal (ats_ptr_type, tmp891) ; ATSlocal (ats_ptr_type, tmp892) ; // ATSlocal_void (tmp893) ; ATSlocal (ats_bool_type, tmp894) ; // ATSlocal_void (tmp895) ; // ATSlocal_void (tmp896) ; // ATSlocal_void (tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; // ATSlocal_void (tmp899) ; // ATSlocal_void (tmp900) ; ATSlocal (anairiats_rec_1, tmp901) ; ATSlocal (ats_ptr_type, tmp902) ; // ATSlocal_void (tmp903) ; ATSlocal (ats_ptr_type, tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; ATSlocal (ats_ptr_type, tmp906) ; ATSlocal (ats_ptr_type, tmp907) ; ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_ptr_type, tmp909) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup: tmp807 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; tmp808 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp808)->tag != 0) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp809 = ats_caselptrlab_mac(anairiats_sum_5, tmp808, atslab_0) ; tmp806 = s1exp_trup_sqid_31 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none, tmp809) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp808)->tag != 1) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp810 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp811 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; tmp806 = s1exp_trup_sqid_31 (arg0, tmp810, tmp811) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp808)->tag != 2) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp812 = ats_caselptrlab_mac(anairiats_sum_24, tmp808, atslab_0) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp812) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp808)->tag != 3) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp813 = ats_caselptrlab_mac(anairiats_sum_5, tmp808, atslab_0) ; tmp814 = patsopt_intinf_make_string (tmp813) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (tmp814) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp808)->tag != 4) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp815 = ats_caselptrlab_mac(anairiats_sum_25, tmp808, atslab_0) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char (tmp815) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)tmp808)->tag != 5) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp816 = ats_caselptrlab_mac(anairiats_sum_5, tmp808, atslab_0) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float (tmp816) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp808)->tag != 6) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp817 = ats_caselptrlab_mac(anairiats_sum_5, tmp808, atslab_0) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string (tmp817) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp808)->tag != 7) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp818 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp819 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; tmp820 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp819, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype, tmp818, ats_castfn_mac(ats_ptr_type, tmp820)) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)tmp808)->tag != 8) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp821 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp822 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; tmp823 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp822, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind, tmp821, ats_castfn_mac(ats_ptr_type, tmp823)) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp808)->tag != 9) { goto __ats_lab_170_0 ; } __ats_lab_165_1: /* ats_ptr_type tmp824 ; */ tmp824 = (ats_sum_ptr_type)0 ; tmp825 = s1exp_app_unwind_40 (arg0, (&tmp824)) ; tmp826 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp825), atslab_s1exp_node) ; do { /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp826)->tag != 0) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp827 = ats_caselptrlab_mac(anairiats_sum_5, tmp826, atslab_0) ; tmp806 = s1exp_trup_app_sqid_75 (arg0, tmp825, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none, tmp827, tmp824) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp826)->tag != 1) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp828 = ats_caselptrlab_mac(anairiats_sum_9, tmp826, atslab_0) ; tmp829 = ats_caselptrlab_mac(anairiats_sum_9, tmp826, atslab_1) ; tmp806 = s1exp_trup_app_sqid_75 (arg0, tmp825, tmp828, tmp829, tmp824) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)tmp826)->tag != 11) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp830 = ats_caselptrlab_mac(anairiats_sum_26, tmp826, atslab_0) ; tmp831 = ats_caselptrlab_mac(anairiats_sum_26, tmp826, atslab_1) ; tmp832 = ats_caselptrlab_mac(anairiats_sum_26, tmp826, atslab_2) ; tmp833 = ats_caselptrlab_mac(anairiats_sum_26, tmp826, atslab_3) ; tmp834 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp834, atslab_0, tmp830) ; tmp835 = atspre_gt_int_int (tmp831, 0) ; tmp836 = atspre_gt_int_int (tmp832, 0) ; tmp806 = s1exp_trup_arrow_56 (arg0, tmp834, tmp835, tmp836, tmp833, tmp824) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: __ats_lab_169_1: tmp837 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp825) ; tmp806 = s1exp_trup_app_63 (arg0, tmp825, tmp837, tmp824) ; break ; } while (0) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp808)->tag != 10) { goto __ats_lab_173_0 ; } __ats_lab_170_1: tmp838 = ats_caselptrlab_mac(anairiats_sum_17, tmp808, atslab_0) ; tmp839 = ats_caselptrlab_mac(anairiats_sum_17, tmp808, atslab_1) ; tmp840 = ats_caselptrlab_mac(anairiats_sum_17, tmp808, atslab_2) ; tmp842 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp838), atslab_s1marg_arg) ; tmp841 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (tmp842) ; /* tmp843 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp844 = ats_selsin_mac(tmp843, atslab_1) */ ; /* tmp845 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp841) ; do { /* branch: __ats_lab_171 */ __ats_lab_171_0: if (tmp839 == (ats_sum_ptr_type)0) { goto __ats_lab_172_0 ; } __ats_lab_171_1: tmp847 = ats_caselptrlab_mac(anairiats_sum_4, tmp839, atslab_0) ; tmp848 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp847) ; tmp846 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp840, tmp848) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: // if (tmp839 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_172_1: tmp846 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp840) ; break ; } while (0) ; /* tmp849 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam (tmp841, tmp846) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp808)->tag != 11) { goto __ats_lab_174_0 ; } __ats_lab_173_1: /* tmp850 = */ prerr_interror_loc_02159_ (tmp807) ; /* tmp851 = */ atspre_prerr_string (ATSstrcst(": s1exp_trup: S1Eimp: s1e0 = ")) ; /* tmp852 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp (arg0) ; /* tmp853 = */ atspre_prerr_newline () ; /* tmp806 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp808)->tag != 12) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp854 = ats_caselptrlab_mac(anairiats_sum_19, tmp808, atslab_0) ; tmp855 = ats_caselptrlab_mac(anairiats_sum_19, tmp808, atslab_1) ; tmp806 = s1exp_trup_top_85 (tmp854, tmp855) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp808)->tag != 13) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp856 = ats_caselptrlab_mac(anairiats_sum_19, tmp808, atslab_0) ; tmp857 = ats_caselptrlab_mac(anairiats_sum_19, tmp808, atslab_1) ; tmp806 = s1exp_trup_tytup_flt_88 (arg0, tmp856, tmp857) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)tmp808)->tag != 16) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp858 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp859 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; tmp860 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (tmp858) ; tmp861 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int (tmp859) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr (tmp860, tmp861) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)tmp808)->tag != 17) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp862 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_0) ; tmp863 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_1) ; tmp864 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_2) ; tmp806 = s1exp_trup_tytup_89 (arg0, tmp862, tmp863, tmp864) ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)tmp808)->tag != 18) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp865 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_0) ; tmp866 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_1) ; tmp867 = ats_caselptrlab_mac(anairiats_sum_27, tmp808, atslab_2) ; tmp806 = s1exp_trup_tyrec_93 (arg0, tmp865, tmp866, tmp867) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)tmp808)->tag != 19) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp868 = ats_caselptrlab_mac(anairiats_sum_28, tmp808, atslab_0) ; tmp869 = ats_caselptrlab_mac(anairiats_sum_28, tmp808, atslab_1) ; tmp870 = ats_caselptrlab_mac(anairiats_sum_28, tmp808, atslab_2) ; tmp806 = s1exp_trup_tyrec_ext_94 (arg0, tmp868, tmp869, tmp870) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: if (((ats_sum_ptr_type)tmp808)->tag != 14) { goto __ats_lab_181_0 ; } __ats_lab_180_1: /* tmp871 = */ prerr_error2_loc_02161_ (tmp807) ; /* tmp872 = */ atspre_prerr_string (ATSstrcst(": invariant type can only be assigned to a function argument.")) ; /* tmp873 = */ atspre_prerr_newline () ; tmp875 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp875)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp875, atslab_0, arg0) ; /* tmp874 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp875) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)tmp808)->tag != 15) { goto __ats_lab_182_0 ; } __ats_lab_181_1: /* tmp876 = */ prerr_error2_loc_02161_ (tmp807) ; /* tmp877 = */ atspre_prerr_string (ATSstrcst(": transitional type can only be assigned to a function argument.")) ; /* tmp878 = */ atspre_prerr_newline () ; tmp880 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp880)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp880, atslab_0, arg0) ; /* tmp879 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp880) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)tmp808)->tag != 20) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp881 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp882 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; /* tmp883 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp884 = ats_selsin_mac(tmp883, atslab_1) */ ; tmp885 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp881) ; tmp886 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp882) ; /* tmp887 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp888 = ats_select_mac(tmp885, atslab_s2qua_svs) ; tmp889 = ats_select_mac(tmp885, atslab_s2qua_sps) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp888, tmp889, tmp886) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)tmp808)->tag != 21) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp890 = ats_caselptrlab_mac(anairiats_sum_21, tmp808, atslab_0) ; tmp891 = ats_caselptrlab_mac(anairiats_sum_21, tmp808, atslab_1) ; tmp892 = ats_caselptrlab_mac(anairiats_sum_21, tmp808, atslab_2) ; tmp894 = atspre_gt_int_int (tmp890, 0) ; if (tmp894) { /* tmp895 = */ prerr_error2_loc_02161_ (tmp807) ; /* tmp896 = */ atspre_prerr_string (ATSstrcst(": incorrect use of the existential quantifier #[...]")) ; /* tmp897 = */ atspre_prerr_newline () ; tmp898 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp898)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp898, atslab_0, arg0) ; /* tmp893 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp898) ; } else { /* empty */ } /* end of [if] */ /* tmp899 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp900 = ats_selsin_mac(tmp899, atslab_1) */ ; tmp901 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp891) ; tmp902 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp892) ; /* tmp903 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp904 = ats_select_mac(tmp901, atslab_s2qua_svs) ; tmp905 = ats_select_mac(tmp901, atslab_s2qua_sps) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi (tmp904, tmp905, tmp902) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)tmp808)->tag != 22) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp906 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_0) ; tmp907 = ats_caselptrlab_mac(anairiats_sum_9, tmp808, atslab_1) ; tmp908 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp907) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp906, tmp908) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp808)->tag != 23) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp909 = ats_caselptrlab_mac(anairiats_sum_5, tmp808, atslab_0) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__S1Ed2ctype_tr (tmp909) ; break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: // if (((ats_sum_ptr_type)tmp808)->tag != 24) { ats_deadcode_failure_handle () ; } __ats_lab_186_1: tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; return (tmp806) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49416(line=2041, offs=19) -- 49452(line=2041, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp910) ; ATSlocal (ats_ptr_type, tmp911) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_hnfize: tmp911 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg0) ; tmp910 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp911) ; return (tmp910) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49502(line=2047, offs=3) -- 49547(line=2047, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp912) ; ATSlocal (ats_ptr_type, tmp913) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup: tmp913 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup) ; tmp912 = ats_castfn_mac(ats_ptr_type, tmp913) ; return (tmp912) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49609(line=2052, offs=3) -- 49661(line=2052, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp914) ; ATSlocal (ats_ptr_type, tmp915) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup_hnfize: tmp915 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_hnfize) ; tmp914 = ats_castfn_mac(ats_ptr_type, tmp915) ; return (tmp914) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49737(line=2059, offs=3) -- 49822(line=2060, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1expopt_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp916) ; ATSlocal (ats_ptr_type, tmp917) ; ATSlocal (ats_ptr_type, tmp918) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1expopt_trup: do { /* branch: __ats_lab_187 */ __ats_lab_187_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp917 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp918 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp917) ; tmp916 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp916, atslab_0, tmp918) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_188_1: tmp916 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp916) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1expopt_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49947(line=2070, offs=5) -- 50356(line=2081, offs=2) */ ATSstaticdec() ats_void_type auxerr_101 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp920) ; // ATSlocal_void (tmp921) ; ATSlocal (ats_ptr_type, tmp922) ; // ATSlocal_void (tmp923) ; // ATSlocal_void (tmp924) ; // ATSlocal_void (tmp925) ; // ATSlocal_void (tmp926) ; // ATSlocal_void (tmp927) ; // ATSlocal_void (tmp928) ; // ATSlocal_void (tmp929) ; ATSlocal (ats_ptr_type, tmp930) ; __ats_lab_auxerr_101: tmp922 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp921 = */ prerr_error2_loc_02161_ (tmp922) ; /* tmp923 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trdn_lam")) ; /* tmp924 = */ atspre_prerr_string (ATSstrcst(": the body of the static function is given the sort [")) ; /* tmp925 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp926 = */ atspre_prerr_string (ATSstrcst("] but it is expected to be of the sort [")) ; /* tmp927 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp928 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp929 = */ atspre_prerr_newline () ; tmp930 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp930)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp930, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp930, atslab_1, env1) ; /* tmp920 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp930) ; return /* (tmp920) */ ; } /* end of [auxerr_101] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxerr_101_closure_type ; ats_void_type auxerr_101_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { auxerr_101 (((auxerr_101_closure_type*)cloptr)->closure_env_0, ((auxerr_101_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_101_closure_init (auxerr_101_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_101_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_101_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxerr_101_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_101_closure_type)) ; auxerr_101_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 49875(line=2065, offs=5) -- 51090(line=2107, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_trdn_lam_100 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp919) ; ATSlocal (ats_ptr_type, tmp931) ; ATSlocal (ats_ptr_type, tmp932) ; ATSlocal (ats_ptr_type, tmp933) ; ATSlocal (ats_ptr_type, tmp934) ; ATSlocal (ats_ptr_type, tmp935) ; ATSlocal (ats_ptr_type, tmp936) ; ATSlocal (ats_int_type, tmp937) ; ATSlocal (ats_ptr_type, tmp938) ; ATSlocal (ats_ptr_type, tmp939) ; ATSlocal (ats_ptr_type, tmp940) ; ATSlocal (ats_ptr_type, tmp941) ; ATSlocal (ats_bool_type, tmp942) ; // ATSlocal_void (tmp943) ; ATSlocal (ats_bool_type, tmp944) ; // ATSlocal_void (tmp945) ; // ATSlocal_void (tmp946) ; // ATSlocal_void (tmp947) ; ATSlocal (ats_ptr_type, tmp948) ; // ATSlocal_void (tmp949) ; __ats_lab_s1exp_trdn_lam_100: tmp931 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; if (((ats_sum_ptr_type)tmp931)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 50385(line=2083, offs=7) -- 50449(line=2085, offs=25)") ; } tmp932 = ats_caselptrlab_mac(anairiats_sum_17, tmp931, atslab_0) ; tmp933 = ats_caselptrlab_mac(anairiats_sum_17, tmp931, atslab_1) ; tmp934 = ats_caselptrlab_mac(anairiats_sum_17, tmp931, atslab_2) ; if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 50456(line=2086, offs=7) -- 50493(line=2086, offs=44)") ; } tmp935 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp936 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; /* ats_int_type tmp937 ; */ tmp937 = 0 ; tmp938 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn (tmp932, tmp935) ; do { /* branch: __ats_lab_189 */ __ats_lab_189_0: if (tmp933 == (ats_sum_ptr_type)0) { goto __ats_lab_190_0 ; } __ats_lab_189_1: tmp940 = ats_caselptrlab_mac(anairiats_sum_4, tmp933, atslab_0) ; tmp941 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp940) ; tmp942 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp941, tmp936) ; tmp944 = atspre_neg_bool (tmp942) ; if (tmp944) { /* tmp943 = */ auxerr_101 (arg0, arg1, arg0, tmp941, tmp936) ; } else { /* empty */ } /* end of [if] */ tmp939 = tmp941 ; break ; /* branch: __ats_lab_190 */ __ats_lab_190_0: // if (tmp933 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_190_1: tmp939 = tmp936 ; break ; } while (0) ; /* tmp945 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp946 = ats_selsin_mac(tmp945, atslab_1) */ ; /* tmp947 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp938) ; tmp948 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp934, tmp939) ; /* tmp949 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp919 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (arg1, tmp938, tmp948) ; return (tmp919) ; } /* end of [s1exp_trdn_lam_100] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 51142(line=2111, offs=3) -- 51670(line=2127, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s2exp_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp950) ; ATSlocal (ats_ptr_type, tmp951) ; ATSlocal (ats_bool_type, tmp952) ; // ATSlocal_void (tmp953) ; // ATSlocal_void (tmp954) ; // ATSlocal_void (tmp955) ; // ATSlocal_void (tmp956) ; // ATSlocal_void (tmp957) ; // ATSlocal_void (tmp958) ; // ATSlocal_void (tmp959) ; // ATSlocal_void (tmp960) ; // ATSlocal_void (tmp961) ; ATSlocal (ats_ptr_type, tmp962) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s2exp_trdn: tmp951 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_s2exp_srt) ; tmp952 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp951, arg2) ; if (tmp952) { tmp950 = arg1 ; } else { /* tmp953 = */ prerr_error2_loc_02161_ (arg0) ; /* tmp954 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s2exp_trdn")) ; /* tmp955 = */ atspre_prerr_string (ATSstrcst(": the static expression is of the sort [")) ; /* tmp956 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp951) ; /* tmp957 = */ atspre_prerr_string (ATSstrcst("] but it is expectecd to be of the sort [")) ; /* tmp958 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp959 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp960 = */ atspre_prerr_newline () ; tmp962 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp962)->tag = 7 ; ats_selptrset_mac(anairiats_sum_17, tmp962, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_17, tmp962, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp962, atslab_2, arg2) ; /* tmp961 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp962) ; tmp950 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (arg2) ; } /* end of [if] */ return (tmp950) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s2exp_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 51740(line=2132, offs=5) -- 52044(line=2141, offs=2) */ ATSstaticdec() ats_void_type auxerr_104 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp964) ; // ATSlocal_void (tmp965) ; ATSlocal (ats_ptr_type, tmp966) ; // ATSlocal_void (tmp967) ; // ATSlocal_void (tmp968) ; // ATSlocal_void (tmp969) ; // ATSlocal_void (tmp970) ; // ATSlocal_void (tmp971) ; ATSlocal (ats_ptr_type, tmp972) ; __ats_lab_auxerr_104: tmp966 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp965 = */ prerr_error2_loc_02161_ (tmp966) ; /* tmp967 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trdn")) ; /* tmp968 = */ atspre_prerr_string (ATSstrcst(": the static term (extype) cannot be given the sort [")) ; /* tmp969 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp970 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp971 = */ atspre_prerr_newline () ; tmp972 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp972)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp972, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp972, atslab_1, arg1) ; /* tmp964 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp972) ; return /* (tmp964) */ ; } /* end of [auxerr_104] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 51716(line=2130, offs=12) -- 52573(line=2162, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp963) ; ATSlocal (ats_ptr_type, tmp973) ; ATSlocal (ats_ptr_type, tmp974) ; ATSlocal (ats_ptr_type, tmp975) ; ATSlocal (ats_bool_type, tmp976) ; ATSlocal (ats_ptr_type, tmp977) ; // ATSlocal_void (tmp978) ; ATSlocal (ats_ptr_type, tmp979) ; ATSlocal (ats_ptr_type, tmp980) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn: tmp973 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_191 */ __ats_lab_191_0: if (((ats_sum_ptr_type)tmp973)->tag != 10) { goto __ats_lab_192_0 ; } __ats_lab_191_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_193_1 ; } __ats_lab_191_2: tmp963 = s1exp_trdn_lam_100 (arg0, arg1) ; break ; /* branch: __ats_lab_192 */ __ats_lab_192_0: if (((ats_sum_ptr_type)tmp973)->tag != 7) { goto __ats_lab_193_0 ; } __ats_lab_192_1: __ats_lab_192_2: tmp974 = ats_caselptrlab_mac(anairiats_sum_9, tmp973, atslab_0) ; tmp975 = ats_caselptrlab_mac(anairiats_sum_9, tmp973, atslab_1) ; tmp976 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; if (tmp976) { tmp977 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp975, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype) ; tmp963 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt (arg1, tmp974, ats_castfn_mac(ats_ptr_type, tmp977)) ; } else { /* tmp978 = */ auxerr_104 (arg0, arg1) ; tmp963 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (arg1) ; } /* end of [if] */ break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: __ats_lab_193_1: __ats_lab_193_2: tmp979 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg0) ; tmp980 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; tmp963 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s2exp_trdn (tmp980, tmp979, arg1) ; break ; } while (0) ; return (tmp963) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52644(line=2167, offs=16) -- 52678(line=2167, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp981) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_int: tmp981 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; return (tmp981) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52705(line=2169, offs=17) -- 52740(line=2169, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_addr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp982) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_addr: tmp982 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; return (tmp982) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_addr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52767(line=2171, offs=17) -- 52802(line=2171, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp983) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool: tmp983 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; return (tmp983) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52830(line=2173, offs=18) -- 52866(line=2173, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp984) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_t0ype: tmp984 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; return (tmp984) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52895(line=2175, offs=19) -- 52932(line=2175, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp985) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype: tmp985 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; return (tmp985) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 52983(line=2180, offs=19) -- 53545(line=2202, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp986) ; ATSlocal (ats_ptr_type, tmp987) ; ATSlocal (ats_ptr_type, tmp988) ; ATSlocal (ats_ptr_type, tmp989) ; ATSlocal (ats_bool_type, tmp990) ; // ATSlocal_void (tmp991) ; ATSlocal (ats_ptr_type, tmp992) ; // ATSlocal_void (tmp993) ; // ATSlocal_void (tmp994) ; // ATSlocal_void (tmp995) ; // ATSlocal_void (tmp996) ; // ATSlocal_void (tmp997) ; // ATSlocal_void (tmp998) ; // ATSlocal_void (tmp999) ; ATSlocal (ats_ptr_type, tmp1000) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred: tmp987 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg0) ; tmp989 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp987), atslab_s2exp_srt) ; tmp988 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (tmp989) ; tmp990 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred (tmp988) ; if (tmp990) { tmp986 = tmp987 ; } else { tmp992 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp991 = */ prerr_error2_loc_02161_ (tmp992) ; /* tmp993 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trdn_impred")) ; /* tmp994 = */ atspre_prerr_string (ATSstrcst(": the static expression needs to be impredicative")) ; /* tmp995 = */ atspre_prerr_string (ATSstrcst(" but is assigned the sort [")) ; /* tmp996 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp988) ; /* tmp997 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp998 = */ atspre_prerr_newline () ; tmp1000 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1000)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp1000, atslab_0, arg0) ; /* tmp999 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1000) ; tmp986 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp988) ; } /* end of [if] */ return (tmp986) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 53628(line=2208, offs=3) -- 53677(line=2208, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1001) ; ATSlocal (ats_ptr_type, tmp1002) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int: tmp1002 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_int) ; tmp1001 = ats_castfn_mac(ats_ptr_type, tmp1002) ; return (tmp1001) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 53741(line=2213, offs=3) -- 53791(line=2213, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_addr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1003) ; ATSlocal (ats_ptr_type, tmp1004) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_addr: tmp1004 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_addr) ; tmp1003 = ats_castfn_mac(ats_ptr_type, tmp1004) ; return (tmp1003) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_addr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 53856(line=2218, offs=3) -- 53906(line=2218, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_bool (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1005) ; ATSlocal (ats_ptr_type, tmp1006) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_bool: tmp1006 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool) ; tmp1005 = ats_castfn_mac(ats_ptr_type, tmp1006) ; return (tmp1005) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 53973(line=2223, offs=3) -- 54025(line=2223, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1007) ; ATSlocal (ats_ptr_type, tmp1008) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype: tmp1008 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype) ; tmp1007 = ats_castfn_mac(ats_ptr_type, tmp1008) ; return (tmp1007) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 54094(line=2228, offs=3) -- 54146(line=2228, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_impred (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1009) ; ATSlocal (ats_ptr_type, tmp1010) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_impred: tmp1010 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred) ; tmp1009 = ats_castfn_mac(ats_ptr_type, tmp1010) ; return (tmp1009) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 54233(line=2235, offs=3) -- 54802(line=2256, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1011) ; ATSlocal (ats_ptr_type, tmp1012) ; ATSlocal (ats_ptr_type, tmp1013) ; ATSlocal (ats_ptr_type, tmp1014) ; ATSlocal (ats_ptr_type, tmp1015) ; ATSlocal (ats_ptr_type, tmp1016) ; ATSlocal (ats_ptr_type, tmp1017) ; ATSlocal (ats_int_type, tmp1018) ; ATSlocal (ats_int_type, tmp1020) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err: do { /* branch: __ats_lab_194 */ __ats_lab_194_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_197_0 ; } __ats_lab_194_1: tmp1012 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1013 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_195 */ __ats_lab_195_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_196_0 ; } __ats_lab_195_1: tmp1014 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1015 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp1016 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp1012, tmp1014) ; tmp1017 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err (tmp1013, tmp1015, arg2) ; tmp1011 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1011, atslab_0, tmp1016) ; ats_selptrset_mac(anairiats_sum_6, tmp1011, atslab_1, tmp1017) ; break ; /* branch: __ats_lab_196 */ __ats_lab_196_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_196_1: tmp1018 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp1018 ; tmp1011 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_197 */ __ats_lab_197_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_197_1: do { /* branch: __ats_lab_198 */ __ats_lab_198_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_199_0 ; } __ats_lab_198_1: tmp1020 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp1020 ; break ; /* branch: __ats_lab_199 */ __ats_lab_199_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_199_1: break ; } while (0) ; tmp1011 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1011) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 54889(line=2262, offs=3) -- 55396(line=2282, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_arg_impred (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1021) ; ATSlocal (ats_ptr_type, tmp1022) ; ATSlocal (ats_ptr_type, tmp1023) ; ATSlocal (ats_ptr_type, tmp1024) ; ATSlocal (ats_bool_type, tmp1025) ; // ATSlocal_void (tmp1026) ; ATSlocal (ats_bool_type, tmp1027) ; // ATSlocal_void (tmp1028) ; ATSlocal (ats_ptr_type, tmp1029) ; // ATSlocal_void (tmp1030) ; // ATSlocal_void (tmp1031) ; // ATSlocal_void (tmp1032) ; // ATSlocal_void (tmp1033) ; // ATSlocal_void (tmp1034) ; // ATSlocal_void (tmp1035) ; ATSlocal (ats_ptr_type, tmp1036) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_arg_impred: tmp1022 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup_arg (arg0, arg1) ; tmp1023 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp1022), atslab_s2exp_srt) ; tmp1024 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (tmp1023) ; tmp1025 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred (tmp1024) ; tmp1027 = atspre_neg_bool (tmp1025) ; if (tmp1027) { tmp1029 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_s1exp_loc) ; /* tmp1028 = */ prerr_error2_loc_02161_ (tmp1029) ; /* tmp1030 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1exp_trdn_arg_impred")) ; /* tmp1031 = */ atspre_prerr_string (ATSstrcst(": the static expression needs to be impredicative")) ; /* tmp1032 = */ atspre_prerr_string (ATSstrcst(" but it is assigned the sort [")) ; /* tmp1033 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp1024) ; /* tmp1034 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp1035 = */ atspre_prerr_newline () ; tmp1036 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1036)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp1036, atslab_0, arg0) ; /* tmp1026 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1036) ; } else { /* empty */ } /* end of [if] */ tmp1021 = tmp1022 ; return (tmp1021) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_arg_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 55476(line=2287, offs=14) -- 55662(line=2294, offs=30) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1037) ; ATSlocal (ats_int_type, tmp1038) ; ATSlocal (ats_ptr_type, tmp1039) ; ATSlocal (ats_ptr_type, tmp1040) ; ATSlocal (ats_ptr_type, tmp1041) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr: do { /* branch: __ats_lab_200 */ __ats_lab_200_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_201_0 ; } __ats_lab_200_1: tmp1038 = ats_caselptrlab_mac(anairiats_sum_29, arg0, atslab_0) ; tmp1039 = ats_caselptrlab_mac(anairiats_sum_29, arg0, atslab_1) ; tmp1040 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (tmp1038) ; tmp1041 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp1039, tmp1040) ; tmp1037 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp1037, atslab_0, tmp1041) ; break ; /* branch: __ats_lab_201 */ __ats_lab_201_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_201_1: tmp1037 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1037) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 55842(line=2308, offs=5) -- 56192(line=2321, offs=22) */ ATSstaticdec() ats_void_type auxsrt_121 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp1044) ; ATSlocal (ats_ptr_type, tmp1045) ; ATSlocal (ats_ptr_type, tmp1046) ; ATSlocal (ats_ptr_type, tmp1047) ; ATSlocal (ats_ptr_type, tmp1048) ; // ATSlocal_void (tmp1049) ; ATSlocal (ats_ptr_type, tmp1050) ; __ats_lab_auxsrt_121: do { /* branch: __ats_lab_202 */ __ats_lab_202_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_203_0 ; } __ats_lab_202_1: tmp1045 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1046 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp1048 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp1045), atslab_i0de_sym) ; tmp1047 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp1048, arg0) ; /* tmp1049 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar (tmp1047) ; tmp1050 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1050, atslab_0, tmp1047) ; ats_selptrset_mac(anairiats_sum_6, tmp1050, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp1050 ; arg0 = arg0 ; arg1 = tmp1046 ; arg2 = arg2 ; goto __ats_lab_auxsrt_121 ; // tail call break ; /* branch: __ats_lab_203 */ __ats_lab_203_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_203_1: break ; } while (0) ; return /* (tmp1044) */ ; } /* end of [auxsrt_121] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 56222(line=2324, offs=5) -- 56550(line=2336, offs=22) */ ATSstaticdec() ats_void_type auxsub1_122 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp1051) ; ATSlocal (ats_ptr_type, tmp1052) ; ATSlocal (ats_ptr_type, tmp1053) ; ATSlocal (ats_ptr_type, tmp1054) ; ATSlocal (ats_ptr_type, tmp1055) ; __ats_lab_auxsub1_122: do { /* branch: __ats_lab_204 */ __ats_lab_204_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_205_0 ; } __ats_lab_204_1: tmp1052 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1053 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp1054 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha (arg0, arg2, tmp1052) ; tmp1055 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1055, atslab_0, tmp1054) ; ats_selptrset_mac(anairiats_sum_6, tmp1055, atslab_1, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp1055 ; arg0 = arg0 ; arg1 = tmp1053 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_auxsub1_122 ; // tail call break ; /* branch: __ats_lab_205 */ __ats_lab_205_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_205_1: break ; } while (0) ; return /* (tmp1051) */ ; } /* end of [auxsub1_122] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 56581(line=2339, offs=5) -- 57080(line=2357, offs=22) */ ATSstaticdec() ats_void_type auxsub2_123 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp1056) ; ATSlocal (ats_ptr_type, tmp1057) ; ATSlocal (ats_ptr_type, tmp1058) ; ATSlocal (ats_ptr_type, tmp1059) ; ATSlocal (ats_ptr_type, tmp1060) ; // ATSlocal_void (tmp1061) ; ATSlocal (ats_ptr_type, tmp1062) ; // ATSlocal_void (tmp1063) ; __ats_lab_auxsub2_123: do { /* branch: __ats_lab_206 */ __ats_lab_206_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_207_0 ; } __ats_lab_206_1: tmp1057 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp1058 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp1060 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp1057), atslab_i0de_sym) ; tmp1059 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp1060, arg1) ; /* tmp1061 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar (tmp1059) ; tmp1062 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1062, atslab_0, tmp1059) ; ats_selptrset_mac(anairiats_sum_6, tmp1062, atslab_1, ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp1062 ; /* tmp1063 = */ auxsub1_122 (arg0, arg2, tmp1059, arg5) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp1058 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_auxsub2_123 ; // tail call break ; /* branch: __ats_lab_207 */ __ats_lab_207_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_207_1: break ; } while (0) ; return /* (tmp1056) */ ; } /* end of [auxsub2_123] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 55754(line=2302, offs=5) -- 58040(line=2395, offs=4) */ ATSstaticdec() ats_void_type loop_120 (ats_ptr_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp1043) ; ATSlocal (ats_ptr_type, tmp1064) ; ATSlocal (ats_ptr_type, tmp1065) ; ATSlocal (ats_ptr_type, tmp1066) ; ATSlocal (ats_ptr_type, tmp1067) ; ATSlocal (ats_ptr_type, tmp1068) ; ATSlocal (ats_ptr_type, tmp1069) ; ATSlocal (ats_ptr_type, tmp1070) ; ATSlocal (ats_ptr_type, tmp1071) ; ATSlocal (ats_ptr_type, tmp1072) ; ATSlocal (ats_ptr_type, tmp1073) ; // ATSlocal_void (tmp1074) ; ATSlocal (ats_ptr_type, tmp1075) ; ATSlocal (ats_ptr_type, tmp1076) ; ATSlocal (ats_ptr_type, tmp1077) ; // ATSlocal_void (tmp1078) ; ATSlocal (ats_ptr_type, tmp1079) ; // ATSlocal_void (tmp1080) ; __ats_lab_loop_120: do { /* branch: __ats_lab_208 */ __ats_lab_208_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_214_0 ; } __ats_lab_208_1: tmp1064 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1065 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp1066 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, tmp1064), atslab_s1qua_node) ; do { /* branch: __ats_lab_209 */ __ats_lab_209_0: if (((ats_sum_ptr_type)tmp1066)->tag != 0) { goto __ats_lab_210_0 ; } __ats_lab_209_1: tmp1067 = ats_caselptrlab_mac(anairiats_sum_5, tmp1066, atslab_0) ; tmp1068 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool (tmp1067) ; tmp1069 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1069, atslab_0, tmp1068) ; ats_selptrset_mac(anairiats_sum_6, tmp1069, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp1069 ; arg0 = tmp1065 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_120 ; // tail call break ; /* branch: __ats_lab_210 */ __ats_lab_210_0: // if (((ats_sum_ptr_type)tmp1066)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_210_1: tmp1070 = ats_caselptrlab_mac(anairiats_sum_9, tmp1066, atslab_0) ; tmp1071 = ats_caselptrlab_mac(anairiats_sum_9, tmp1066, atslab_1) ; tmp1072 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr (tmp1071) ; do { /* branch: __ats_lab_211 */ __ats_lab_211_0: if (((ats_sum_ptr_type)tmp1072)->tag != 0) { goto __ats_lab_212_0 ; } __ats_lab_211_1: tmp1073 = ats_caselptrlab_mac(anairiats_sum_5, tmp1072, atslab_0) ; /* tmp1074 = */ auxsrt_121 (tmp1073, tmp1070, arg1) ; arg0 = tmp1065 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_120 ; // tail call break ; /* branch: __ats_lab_212 */ __ats_lab_212_0: if (((ats_sum_ptr_type)tmp1072)->tag != 1) { goto __ats_lab_213_0 ; } __ats_lab_212_1: tmp1075 = ats_caselptrlab_mac(anairiats_sum_17, tmp1072, atslab_0) ; tmp1076 = ats_caselptrlab_mac(anairiats_sum_17, tmp1072, atslab_1) ; tmp1077 = ats_caselptrlab_mac(anairiats_sum_17, tmp1072, atslab_2) ; /* tmp1078 = */ auxsub2_123 (tmp1075, tmp1076, tmp1077, tmp1070, arg1, arg2) ; arg0 = tmp1065 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_120 ; // tail call break ; /* branch: __ats_lab_213 */ __ats_lab_213_0: // if (((ats_sum_ptr_type)tmp1072)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_213_1: tmp1079 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; /* tmp1080 = */ auxsrt_121 (tmp1079, tmp1070, arg1) ; arg0 = tmp1065 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_120 ; // tail call break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_214 */ __ats_lab_214_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_214_1: break ; } while (0) ; return /* (tmp1043) */ ; } /* end of [loop_120] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_126 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1087) ; ATSlocal (ats_ptr_type, tmp1088) ; ATSlocal (ats_ptr_type, tmp1089) ; ATSlocal (ats_ptr_type, tmp1090) ; __ats_lab_revapp_126: do { /* branch: __ats_lab_215 */ __ats_lab_215_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_216_0 ; } __ats_lab_215_1: tmp1088 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp1089 = ats_ptrget_mac(ats_ptr_type, tmp1088) ; ats_ptrget_mac(ats_ptr_type, tmp1088) = arg1 ; tmp1090 = arg0 ; arg0 = tmp1089 ; arg1 = tmp1090 ; goto __ats_lab_revapp_126 ; // tail call break ; /* branch: __ats_lab_216 */ __ats_lab_216_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_216_1: tmp1087 = arg1 ; break ; } while (0) ; return (tmp1087) ; } /* end of [revapp_126] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1086) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp1086 = revapp_126 (arg0, arg1) ; return (tmp1086) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1085) ; ATSlocal (ats_ptr_type, tmp1091) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp1091 = (ats_sum_ptr_type)0 ; tmp1085 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp1091) ; return (tmp1085) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 55734(line=2300, offs=13) -- 58319(line=2411, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp1042) ; ATSlocal (ats_ptr_type, tmp1081) ; ATSlocal (ats_ptr_type, tmp1082) ; // ATSlocal_void (tmp1083) ; ATSlocal (ats_ptr_type, tmp1084) ; ATSlocal (ats_ptr_type, tmp1092) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr: /* ats_ptr_type tmp1081 ; */ tmp1081 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp1082 ; */ tmp1082 = (ats_sum_ptr_type)0 ; /* tmp1083 = */ loop_120 (arg0, (&tmp1081), (&tmp1082)) ; tmp1084 = list_vt_reverse_01506_ats_ptr_type (tmp1081) ; tmp1092 = list_vt_reverse_01506_ats_ptr_type (tmp1082) ; tmp1042 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (ats_castfn_mac(ats_ptr_type, tmp1084), ats_castfn_mac(ats_ptr_type, tmp1092)) ; return (tmp1042) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 58386(line=2416, offs=11) -- 58423(line=2416, offs=48) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp1093) ; ATSlocal (ats_ptr_type, tmp1094) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr: tmp1094 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_31, arg0), atslab_q1marg_arg) ; tmp1093 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp1094) ; return (tmp1093) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1099) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_217 */ __ats_lab_217_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_218_0 ; } __ats_lab_217_1: tmp1099 = ats_false_bool ; break ; /* branch: __ats_lab_218 */ __ats_lab_218_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_218_1: tmp1099 = ats_true_bool ; break ; } while (0) ; return (tmp1099) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02163_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1103) ; // ATSlocal_void (tmp1104) ; __ats_lab_prerr_error3_loc_02163_: /* tmp1104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp1103 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp1103) */ ; } /* end of [prerr_error3_loc_02163_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 58450(line=2419, offs=15) -- 58895(line=2445, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp1095) ; ATSlocal (anairiats_rec_1, tmp1096) ; ATSlocal (ats_ptr_type, tmp1097) ; ATSlocal (ats_bool_type, tmp1098) ; ATSlocal (ats_ptr_type, tmp1100) ; ATSlocal (ats_ptr_type, tmp1101) ; // ATSlocal_void (tmp1102) ; // ATSlocal_void (tmp1105) ; // ATSlocal_void (tmp1106) ; // ATSlocal_void (tmp1107) ; // ATSlocal_void (tmp1108) ; ATSlocal (ats_ptr_type, tmp1109) ; ATSlocal (ats_ptr_type, tmp1110) ; ATSlocal (ats_ptr_type, tmp1111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec: tmp1097 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_31, arg0), atslab_q1marg_arg) ; tmp1096 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp1097) ; tmp1100 = ats_select_mac(tmp1096, atslab_s2qua_sps) ; tmp1098 = list_is_nil_01294_ (tmp1100) ; if (tmp1098) { tmp1095 = tmp1096 ; } else { tmp1101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_31, arg0), atslab_q1marg_loc) ; /* tmp1102 = */ prerr_error3_loc_02163_ (tmp1101) ; /* tmp1105 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("q1marg_tr_dec")) ; /* tmp1106 = */ atspre_prerr_string (ATSstrcst(": template arguments cannot be constrained.")) ; /* tmp1107 = */ atspre_prerr_newline () ; tmp1109 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1109)->tag = 16 ; ats_selptrset_mac(anairiats_sum_5, tmp1109, atslab_0, arg0) ; /* tmp1108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1109) ; tmp1110 = ats_select_mac(tmp1096, atslab_s2qua_svs) ; tmp1111 = (ats_sum_ptr_type)0 ; tmp1095 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (tmp1110, tmp1111) ; } /* end of [if] */ return (tmp1095) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 59108(line=2456, offs=5) -- 59485(line=2472, offs=4) */ ATSstaticdec() ats_void_type auxerr_132 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp1113) ; // ATSlocal_void (tmp1114) ; ATSlocal (ats_ptr_type, tmp1115) ; // ATSlocal_void (tmp1116) ; // ATSlocal_void (tmp1117) ; // ATSlocal_void (tmp1118) ; // ATSlocal_void (tmp1119) ; // ATSlocal_void (tmp1120) ; // ATSlocal_void (tmp1121) ; ATSlocal (ats_ptr_type, tmp1122) ; __ats_lab_auxerr_132: tmp1115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_s1rt_loc) ; /* tmp1114 = */ prerr_error2_loc_02161_ (tmp1115) ; /* tmp1116 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats"), ATSstrcst("s1rtext_tr")) ; /* tmp1117 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp1118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0rtq (arg1) ; /* tmp1119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp1120 = */ atspre_prerr_string (ATSstrcst("] refers to an unrecognized sort.")) ; /* tmp1121 = */ atspre_prerr_newline () ; tmp1122 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1122)->tag = 17 ; ats_selptrset_mac(anairiats_sum_5, tmp1122, atslab_0, env0) ; /* tmp1113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1122) ; return /* (tmp1113) */ ; } /* end of [auxerr_132] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr_132_closure_type ; ats_void_type auxerr_132_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { auxerr_132 (((auxerr_132_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_132_closure_init (auxerr_132_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_132_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_132_closure_make (ats_ptr_type env0) { auxerr_132_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_132_closure_type)) ; auxerr_132_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_134 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp1150) ; ATSlocal (ats_ptr_type, tmp1151) ; ATSlocal (ats_ptr_type, tmp1152) ; ATSlocal (ats_ptr_type, tmp1153) ; ATSlocal (ats_ptr_type, tmp1154) ; __ats_lab_loop_134: do { /* branch: __ats_lab_230 */ __ats_lab_230_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_231_0 ; } __ats_lab_230_1: tmp1151 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1152 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp1153 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1153, atslab_0, tmp1151) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp1153 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp1154 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp1152 ; arg1 = arg1 ; arg2 = tmp1154 ; goto __ats_lab_loop_134 ; // tail call break ; /* branch: __ats_lab_231 */ __ats_lab_231_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_231_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp1150) */ ; } /* end of [loop_134] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1148) ; ATSlocal (ats_ptr_type, tmp1149) ; // ATSlocal_void (tmp1155) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp1149 ; */ /* tmp1155 = */ loop_134 (arg0, arg1, (&tmp1149)) ; tmp1148 = tmp1149 ; return (tmp1148) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 58965(line=2450, offs=12) -- 60731(line=2516, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1112) ; ATSlocal (ats_ptr_type, tmp1123) ; ATSlocal (ats_ptr_type, tmp1124) ; ATSlocal (ats_ptr_type, tmp1125) ; ATSlocal (ats_ptr_type, tmp1126) ; ATSlocal (ats_ptr_type, tmp1127) ; ATSlocal (ats_ptr_type, tmp1128) ; ATSlocal (ats_ptr_type, tmp1129) ; // ATSlocal_void (tmp1130) ; ATSlocal (ats_ptr_type, tmp1131) ; ATSlocal (ats_ptr_type, tmp1132) ; ATSlocal (ats_ptr_type, tmp1133) ; ATSlocal (ats_ptr_type, tmp1134) ; ATSlocal (ats_ptr_type, tmp1135) ; ATSlocal (ats_ptr_type, tmp1136) ; ATSlocal (ats_ptr_type, tmp1137) ; ATSlocal (ats_ptr_type, tmp1138) ; ATSlocal (ats_ptr_type, tmp1139) ; // ATSlocal_void (tmp1140) ; // ATSlocal_void (tmp1141) ; // ATSlocal_void (tmp1142) ; ATSlocal (ats_ptr_type, tmp1143) ; // ATSlocal_void (tmp1144) ; ATSlocal (ats_ptr_type, tmp1145) ; ATSlocal (ats_ptr_type, tmp1146) ; ATSlocal (ats_ptr_type, tmp1147) ; ATSlocal (ats_ptr_type, tmp1156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr: tmp1123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg0), atslab_s1rtext_node) ; do { /* branch: __ats_lab_219 */ __ats_lab_219_0: if (((ats_sum_ptr_type)tmp1123)->tag != 0) { goto __ats_lab_224_0 ; } __ats_lab_219_1: tmp1124 = ats_caselptrlab_mac(anairiats_sum_5, tmp1123, atslab_0) ; tmp1125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp1124), atslab_s1rt_node) ; do { /* branch: __ats_lab_220 */ __ats_lab_220_0: if (((ats_sum_ptr_type)tmp1125)->tag != 2) { goto __ats_lab_223_0 ; } __ats_lab_220_1: tmp1126 = ats_caselptrlab_mac(anairiats_sum_9, tmp1125, atslab_0) ; tmp1127 = ats_caselptrlab_mac(anairiats_sum_9, tmp1125, atslab_1) ; tmp1128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua (tmp1126, tmp1127) ; do { /* branch: __ats_lab_221 */ __ats_lab_221_0: if (tmp1128 == (ats_sum_ptr_type)0) { goto __ats_lab_222_0 ; } __ats_lab_221_1: tmp1129 = ats_caselptrlab_mac(anairiats_sum_4, tmp1128, atslab_0) ; ATS_FREE(tmp1128) ; tmp1112 = tmp1129 ; break ; /* branch: __ats_lab_222 */ __ats_lab_222_0: // if (tmp1128 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_222_1: /* tmp1130 = */ auxerr_132 (arg0, tmp1124, tmp1126, tmp1127) ; tmp1112 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEerr_2) ; break ; } while (0) ; break ; /* branch: __ats_lab_223 */ __ats_lab_223_0: __ats_lab_223_1: tmp1131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp1124) ; tmp1112 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1112)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp1112, atslab_0, tmp1131) ; break ; } while (0) ; break ; /* branch: __ats_lab_224 */ __ats_lab_224_0: // if (((ats_sum_ptr_type)tmp1123)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_224_1: tmp1132 = ats_caselptrlab_mac(anairiats_sum_17, tmp1123, atslab_0) ; tmp1133 = ats_caselptrlab_mac(anairiats_sum_17, tmp1123, atslab_1) ; tmp1134 = ats_caselptrlab_mac(anairiats_sum_17, tmp1123, atslab_2) ; tmp1135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr (tmp1133) ; do { /* branch: __ats_lab_225 */ __ats_lab_225_0: if (((ats_sum_ptr_type)tmp1135)->tag != 0) { goto __ats_lab_226_0 ; } __ats_lab_225_1: tmp1137 = ats_caselptrlab_mac(anairiats_sum_5, tmp1135, atslab_0) ; tmp1136 = tmp1137 ; break ; /* branch: __ats_lab_226 */ __ats_lab_226_0: if (((ats_sum_ptr_type)tmp1135)->tag != 1) { goto __ats_lab_227_0 ; } __ats_lab_226_1: tmp1138 = ats_caselptrlab_mac(anairiats_sum_17, tmp1135, atslab_1) ; tmp1136 = tmp1138 ; break ; /* branch: __ats_lab_227 */ __ats_lab_227_0: // if (((ats_sum_ptr_type)tmp1135)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_227_1: tmp1136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; tmp1139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp1132, tmp1136) ; /* tmp1140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp1141 = ats_selsin_mac(tmp1140, atslab_1) */ ; /* tmp1142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar (tmp1139) ; tmp1143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_bool (tmp1134) ; /* tmp1144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; do { /* branch: __ats_lab_228 */ __ats_lab_228_0: if (((ats_sum_ptr_type)tmp1135)->tag != 0) { goto __ats_lab_229_0 ; } __ats_lab_228_1: tmp1145 = tmp1143 ; break ; /* branch: __ats_lab_229 */ __ats_lab_229_0: if (((ats_sum_ptr_type)tmp1135)->tag != 1) { goto __ats_lab_232_0 ; } __ats_lab_229_1: tmp1146 = ats_caselptrlab_mac(anairiats_sum_17, tmp1135, atslab_0) ; tmp1147 = ats_caselptrlab_mac(anairiats_sum_17, tmp1135, atslab_2) ; tmp1156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_alpha (tmp1146, tmp1139, tmp1147) ; tmp1145 = list_append_01312_ats_ptr_type (tmp1143, tmp1156) ; break ; /* branch: __ats_lab_232 */ __ats_lab_232_0: // if (((ats_sum_ptr_type)tmp1135)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_232_1: tmp1145 = tmp1143 ; break ; } while (0) ; tmp1112 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp1112)->tag = 1 ; ats_selptrset_mac(anairiats_sum_17, tmp1112, atslab_0, tmp1139) ; ats_selptrset_mac(anairiats_sum_17, tmp1112, atslab_1, tmp1136) ; ats_selptrset_mac(anairiats_sum_17, tmp1112, atslab_2, tmp1145) ; break ; } while (0) ; return (tmp1112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 60799(line=2521, offs=13) -- 61000(line=2527, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1157) ; ATSlocal (ats_ptr_type, tmp1158) ; ATSlocal (ats_ptr_type, tmp1159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_tr: do { /* branch: __ats_lab_233 */ __ats_lab_233_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_234_0 ; } __ats_lab_233_1: tmp1157 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGone_0) ; break ; /* branch: __ats_lab_234 */ __ats_lab_234_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_235_0 ; } __ats_lab_234_1: tmp1157 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGall_1) ; break ; /* branch: __ats_lab_235 */ __ats_lab_235_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_235_1: tmp1158 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp1159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (tmp1158) ; tmp1157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1157)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp1157, atslab_0, tmp1159) ; break ; } while (0) ; return (tmp1157) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61072(line=2531, offs=13) -- 61322(line=2542, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1160) ; ATSlocal (ats_ptr_type, tmp1161) ; ATSlocal (ats_ptr_type, tmp1162) ; ATSlocal (ats_ptr_type, tmp1163) ; ATSlocal (ats_ptr_type, tmp1164) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr: tmp1161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_s1exparg_loc) ; tmp1162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_s1exparg_node) ; do { /* branch: __ats_lab_236 */ __ats_lab_236_0: if (((ats_sum_ptr_type)tmp1162)->tag != 0) { goto __ats_lab_237_0 ; } __ats_lab_236_1: tmp1160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one (tmp1161) ; break ; /* branch: __ats_lab_237 */ __ats_lab_237_0: if (((ats_sum_ptr_type)tmp1162)->tag != 1) { goto __ats_lab_238_0 ; } __ats_lab_237_1: tmp1160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all (tmp1161) ; break ; /* branch: __ats_lab_238 */ __ats_lab_238_0: // if (((ats_sum_ptr_type)tmp1162)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_238_1: tmp1163 = ats_caselptrlab_mac(anairiats_sum_5, tmp1162, atslab_0) ; tmp1164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup (tmp1163) ; tmp1160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq (tmp1161, tmp1164) ; break ; } while (0) ; return (tmp1160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61373(line=2545, offs=16) -- 61440(line=2547, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1165) ; ATSlocal (ats_ptr_type, tmp1166) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr: tmp1166 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr) ; tmp1165 = ats_castfn_mac(ats_ptr_type, tmp1166) ; return (tmp1165) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61512(line=2552, offs=13) -- 61645(line=2558, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1167) ; ATSlocal (ats_ptr_type, tmp1168) ; ATSlocal (ats_ptr_type, tmp1169) ; ATSlocal (ats_ptr_type, tmp1170) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarg_tr: tmp1168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_t1mpmarg_loc) ; tmp1169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_t1mpmarg_arg) ; tmp1170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup (tmp1169) ; tmp1167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (tmp1168, tmp1170) ; return (tmp1167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61696(line=2561, offs=16) -- 61763(line=2563, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1171) ; ATSlocal (ats_ptr_type, tmp1172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarglst_tr: tmp1172 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarg_tr) ; tmp1171 = ats_castfn_mac(ats_ptr_type, tmp1172) ; return (tmp1171) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61889(line=2573, offs=5) -- 62313(line=2597, offs=2) */ ATSstaticdec() ats_void_type auxerr1_141 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp1174) ; ATSlocal (ats_ptr_type, tmp1175) ; // ATSlocal_void (tmp1176) ; // ATSlocal_void (tmp1177) ; // ATSlocal_void (tmp1178) ; // ATSlocal_void (tmp1179) ; ATSlocal (ats_bool_type, tmp1180) ; // ATSlocal_void (tmp1181) ; // ATSlocal_void (tmp1182) ; ATSlocal (ats_bool_type, tmp1183) ; // ATSlocal_void (tmp1184) ; ATSlocal (ats_ptr_type, tmp1185) ; __ats_lab_auxerr1_141: tmp1175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_d1atcon_loc) ; /* tmp1176 = */ prerr_error2_loc_02161_ (tmp1175) ; /* tmp1177 = */ atspre_prerr_string (ATSstrcst(": the constructor [")) ; /* tmp1178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; tmp1180 = atspre_lt_int_int (arg2, 0) ; if (tmp1180) { /* tmp1181 = */ atspre_prerr_string (ATSstrcst("] is expected to be given more indexes.")) ; /* tmp1179 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp1183 = atspre_gt_int_int (arg2, 0) ; if (tmp1183) { /* tmp1184 = */ atspre_prerr_string (ATSstrcst("] is expected to be given fewer indexes.")) ; /* tmp1182 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp1185 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1185)->tag = 22 ; ats_selptrset_mac(anairiats_sum_5, tmp1185, atslab_0, arg0) ; /* tmp1174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1185) ; return /* (tmp1174) */ ; } /* end of [auxerr1_141] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 62344(line=2599, offs=5) -- 62628(line=2614, offs=2) */ ATSstaticdec() ats_void_type auxerr2_142 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1186) ; ATSlocal (ats_ptr_type, tmp1187) ; // ATSlocal_void (tmp1188) ; // ATSlocal_void (tmp1189) ; // ATSlocal_void (tmp1190) ; // ATSlocal_void (tmp1191) ; // ATSlocal_void (tmp1192) ; ATSlocal (ats_ptr_type, tmp1193) ; __ats_lab_auxerr2_142: tmp1187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_d1atcon_loc) ; /* tmp1188 = */ prerr_error2_loc_02161_ (tmp1187) ; /* tmp1189 = */ atspre_prerr_string (ATSstrcst(": the constructor [")) ; /* tmp1190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp1191 = */ atspre_prerr_string (ATSstrcst("] needs some indexes (but is given none).")) ; /* tmp1192 = */ atspre_prerr_newline () ; tmp1193 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1193)->tag = 22 ; ats_selptrset_mac(anairiats_sum_5, tmp1193, atslab_0, arg0) ; /* tmp1186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1193) ; return /* (tmp1186) */ ; } /* end of [auxerr2_142] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 62659(line=2616, offs=5) -- 62922(line=2625, offs=2) */ ATSstaticdec() ats_void_type auxerr3_143 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1194) ; // ATSlocal_void (tmp1195) ; ATSlocal (ats_ptr_type, tmp1196) ; // ATSlocal_void (tmp1197) ; // ATSlocal_void (tmp1198) ; // ATSlocal_void (tmp1199) ; // ATSlocal_void (tmp1200) ; ATSlocal (ats_ptr_type, tmp1201) ; __ats_lab_auxerr3_143: tmp1196 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_d1atcon_loc) ; /* tmp1195 = */ prerr_error2_loc_02161_ (tmp1196) ; /* tmp1197 = */ atspre_prerr_string (ATSstrcst(": the constructor [")) ; /* tmp1198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp1199 = */ atspre_prerr_string (ATSstrcst("] needs no indexes (but is given some).")) ; /* tmp1200 = */ atspre_prerr_newline () ; tmp1201 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1201)->tag = 22 ; ats_selptrset_mac(anairiats_sum_5, tmp1201, atslab_0, arg0) ; /* tmp1194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp1201) ; return /* (tmp1194) */ ; } /* end of [auxerr3_143] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_146 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp1207) ; ATSlocal (ats_ptr_type, tmp1208) ; ATSlocal (ats_ptr_type, tmp1209) ; // ATSlocal_void (tmp1210) ; __ats_lab_loop_146: do { /* branch: __ats_lab_239 */ __ats_lab_239_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_240_0 ; } __ats_lab_239_1: tmp1208 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1209 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* tmp1210 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp1208, arg2) ; arg0 = tmp1209 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_146 ; // tail call break ; /* branch: __ats_lab_240 */ __ats_lab_240_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_240_1: break ; } while (0) ; return /* (tmp1207) */ ; } /* end of [loop_146] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp1206) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp1206 = */ loop_146 (arg0, arg1, arg2) ; return /* (tmp1206) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1205) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp1205 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp1205) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_149 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp1214) ; ATSlocal (ats_ptr_type, tmp1215) ; ATSlocal (ats_ptr_type, tmp1216) ; ATSlocal (anairiats_rec_1, tmp1217) ; ATSlocal (ats_ptr_type, tmp1218) ; ATSlocal (ats_ptr_type, tmp1219) ; ATSlocal (ats_ptr_type, tmp1220) ; __ats_lab_loop_149: do { /* branch: __ats_lab_241 */ __ats_lab_241_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_242_0 ; } __ats_lab_241_1: tmp1215 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1216 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp1217 = ((anairiats_rec_1(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp1215, arg3) ; tmp1218 = ATS_MALLOC(sizeof(anairiats_sum_37)) ; ats_selptrset_mac(anairiats_sum_37, tmp1218, atslab_0, tmp1217) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp1218 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp1219 = &ats_caselptrlab_mac(anairiats_sum_37, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp1216 ; arg1 = arg1 ; arg2 = tmp1219 ; arg3 = arg3 ; goto __ats_lab_loop_149 ; // tail call break ; /* branch: __ats_lab_242 */ __ats_lab_242_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_242_1: tmp1220 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp1220 ; break ; } while (0) ; return /* (tmp1214) */ ; } /* end of [loop_149] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1213) ; ATSlocal (ats_ptr_type, tmp1221) ; // ATSlocal_void (tmp1222) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_anairiats_rec_1: /* ats_ptr_type tmp1221 ; */ /* tmp1222 = */ loop_149 (arg0, arg1, (&tmp1221), arg2) ; tmp1213 = tmp1221 ; return (tmp1213) ; } /* end of [list_map_funenv_01412_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1212) ; __ats_lab_list_map_fun_01413_ats_ptr_type_anairiats_rec_1: tmp1212 = list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp1212) ; } /* end of [list_map_fun_01413_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 63154(line=2636, offs=7) -- 63420(line=2646, offs=10) */ ATSstaticdec() ats_void_type aux_150 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1224) ; ATSlocal (ats_ptr_type, tmp1225) ; ATSlocal (ats_ptr_type, tmp1226) ; // ATSlocal_void (tmp1227) ; ATSlocal (anairiats_rec_1, tmp1228) ; ATSlocal (ats_ptr_type, tmp1229) ; ATSlocal (ats_ptr_type, tmp1230) ; __ats_lab_aux_150: do { /* branch: __ats_lab_243 */ __ats_lab_243_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_244_0 ; } __ats_lab_243_1: break ; /* branch: __ats_lab_244 */ __ats_lab_244_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_244_1: tmp1225 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1226 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp1227 = */ aux_150 (arg0, tmp1226) ; tmp1229 = (ats_sum_ptr_type)0 ; tmp1228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (tmp1225, tmp1229) ; tmp1230 = ATS_MALLOC(sizeof(anairiats_sum_37)) ; ats_selptrset_mac(anairiats_sum_37, tmp1230, atslab_0, tmp1228) ; ats_selptrset_mac(anairiats_sum_37, tmp1230, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp1230 ; break ; } while (0) ; return /* (tmp1224) */ ; } /* end of [aux_150] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 63999(line=2674, offs=7) -- 64346(line=2686, offs=33) */ ATSstaticdec() ats_ptr_type aux_151 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1240) ; ATSlocal (ats_ptr_type, tmp1241) ; ATSlocal (ats_ptr_type, tmp1242) ; ATSlocal (ats_ptr_type, tmp1243) ; ATSlocal (ats_bool_type, tmp1244) ; ATSlocal (ats_ptr_type, tmp1245) ; ATSlocal (ats_ptr_type, tmp1246) ; ATSlocal (ats_int_type, tmp1247) ; __ats_lab_aux_151: do { /* branch: __ats_lab_247 */ __ats_lab_247_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_248_0 ; } __ats_lab_247_1: tmp1241 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1242 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp1244 = atspre_lt_int_int (arg0, env0) ; if (tmp1244) { tmp1243 = env1 ; } else { tmp1243 = env2 ; } /* end of [if] */ tmp1245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp1241, tmp1243) ; tmp1247 = atspre_add_int_int (arg0, 1) ; tmp1246 = aux_151 (env0, env1, env2, tmp1247, tmp1242) ; tmp1240 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1240, atslab_0, tmp1245) ; ats_selptrset_mac(anairiats_sum_6, tmp1240, atslab_1, tmp1246) ; break ; /* branch: __ats_lab_248 */ __ats_lab_248_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_248_1: tmp1240 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1240) ; } /* end of [aux_151] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_151_closure_type ; ats_ptr_type aux_151_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1) { return aux_151 (((aux_151_closure_type*)cloptr)->closure_env_0, ((aux_151_closure_type*)cloptr)->closure_env_1, ((aux_151_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_151_closure_init (aux_151_closure_type *p_clo, ats_int_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_151_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_151_closure_make (ats_int_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_151_closure_type *p_clo = ATS_MALLOC(sizeof(aux_151_closure_type)) ; aux_151_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52087(line=1854, offs=21) -- 52314(line=1862, offs=6) */ ATSstaticdec() ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1262) ; ATSlocal (ats_ptr_type, tmp1263) ; ATSlocal (ats_ptr_type, tmp1264) ; __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_254 */ __ats_lab_254_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_257_0 ; } __ats_lab_254_1: tmp1263 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_255 */ __ats_lab_255_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_256_0 ; } __ats_lab_255_1: tmp1264 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; arg0 = tmp1263 ; arg1 = tmp1264 ; goto __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_256 */ __ats_lab_256_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_256_1: tmp1262 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_257 */ __ats_lab_257_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_257_1: do { /* branch: __ats_lab_258 */ __ats_lab_258_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_259_0 ; } __ats_lab_258_1: tmp1262 = -1 ; break ; /* branch: __ats_lab_259 */ __ats_lab_259_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_259_1: tmp1262 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp1262) ; } /* end of [list_length_compare_01411_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 61834(line=2569, offs=1) -- 66097(line=2762, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1atcon_tr (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1173) ; // ATSlocal_void (tmp1202) ; // ATSlocal_void (tmp1203) ; // ATSlocal_void (tmp1204) ; ATSlocal (ats_ptr_type, tmp1211) ; ATSlocal (ats_ptr_type, tmp1223) ; // ATSlocal_void (tmp1231) ; ATSlocal (ats_ptr_type, tmp1232) ; ATSlocal (ats_ptr_type, tmp1233) ; ATSlocal (ats_ptr_type, tmp1234) ; ATSlocal (ats_ptr_type, tmp1235) ; ATSlocal (ats_int_type, tmp1236) ; ATSlocal (ats_ptr_type, tmp1237) ; ATSlocal (ats_ptr_type, tmp1238) ; ATSlocal (ats_ptr_type, tmp1239) ; ATSlocal (ats_ptr_type, tmp1248) ; ATSlocal (ats_ptr_type, tmp1249) ; ATSlocal (ats_ptr_type, tmp1250) ; ATSlocal (ats_ptr_type, tmp1251) ; ATSlocal (ats_ptr_type, tmp1252) ; ATSlocal (ats_ptr_type, tmp1253) ; ATSlocal (ats_int_type, tmp1254) ; ATSlocal (ats_ptr_type, tmp1255) ; // ATSlocal_void (tmp1256) ; ATSlocal (ats_bool_type, tmp1257) ; ATSlocal (ats_ptr_type, tmp1258) ; ATSlocal (ats_ptr_type, tmp1259) ; ATSlocal (ats_ptr_type, tmp1260) ; ATSlocal (ats_int_type, tmp1261) ; ATSlocal (ats_ptr_type, tmp1265) ; ATSlocal (ats_bool_type, tmp1266) ; ATSlocal (ats_ptr_type, tmp1267) ; // ATSlocal_void (tmp1268) ; ATSlocal (ats_ptr_type, tmp1269) ; // ATSlocal_void (tmp1270) ; // ATSlocal_void (tmp1271) ; ATSlocal (ats_ptr_type, tmp1272) ; ATSlocal (ats_int_type, tmp1273) ; ATSlocal (ats_ptr_type, tmp1274) ; // ATSlocal_void (tmp1275) ; // ATSlocal_void (tmp1276) ; ATSlocal (ats_bool_type, tmp1277) ; // ATSlocal_void (tmp1278) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1atcon_tr: /* tmp1202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp1203 = ats_selsin_mac(tmp1202, atslab_1) */ ; /* tmp1204 = */ list_app_fun_01301_ats_ptr_type (arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) ; /* ats_ptr_type tmp1211 ; */ tmp1223 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_qua) ; tmp1211 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp1223, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr) ; /* tmp1231 = */ aux_150 ((&tmp1211), arg3) ; tmp1232 = ats_castfn_mac(ats_ptr_type, tmp1211) ; tmp1233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; do { /* branch: __ats_lab_245 */ __ats_lab_245_0: if (((ats_sum_ptr_type)tmp1233)->tag != 1) { goto __ats_lab_246_0 ; } __ats_lab_245_1: tmp1235 = ats_caselptrlab_mac(anairiats_sum_9, tmp1233, atslab_0) ; tmp1234 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp1234, atslab_0, tmp1235) ; break ; /* branch: __ats_lab_246 */ __ats_lab_246_0: __ats_lab_246_1: tmp1234 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp1236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_npf) ; tmp1237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_arg) ; if (arg1) { tmp1238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; } else { tmp1238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; } /* end of [if] */ if (arg2) { tmp1239 = tmp1238 ; } else { if (arg1) { tmp1239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } else { tmp1239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ } /* end of [if] */ tmp1248 = aux_151 (tmp1236, tmp1238, tmp1239, 0, tmp1237) ; tmp1249 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_sym) ; tmp1250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_ind) ; do { /* branch: __ats_lab_249 */ __ats_lab_249_0: if (tmp1250 != (ats_sum_ptr_type)0) { goto __ats_lab_250_0 ; } __ats_lab_249_1: if (tmp1234 != (ats_sum_ptr_type)0) { goto __ats_lab_251_1 ; } __ats_lab_249_2: tmp1251 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_250 */ __ats_lab_250_0: if (tmp1250 == (ats_sum_ptr_type)0) { goto __ats_lab_251_0 ; } __ats_lab_250_1: if (tmp1234 == (ats_sum_ptr_type)0) { goto __ats_lab_260_1 ; } __ats_lab_250_2: tmp1252 = ats_caselptrlab_mac(anairiats_sum_4, tmp1250, atslab_0) ; tmp1253 = ats_caselptrlab_mac(anairiats_sum_4, tmp1234, atslab_0) ; /* ats_int_type tmp1254 ; */ tmp1254 = 0 ; tmp1255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_err (tmp1252, tmp1253, (&tmp1254)) ; tmp1257 = atspre_neq_int_int (tmp1254, 0) ; if (tmp1257) { /* tmp1256 = */ auxerr1_141 (arg5, tmp1249, tmp1254) ; } else { /* empty */ } /* end of [if] */ tmp1251 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp1251, atslab_0, tmp1255) ; break ; /* branch: __ats_lab_251 */ __ats_lab_251_0: if (tmp1250 != (ats_sum_ptr_type)0) { goto __ats_lab_260_0 ; } __ats_lab_251_1: // if (tmp1234 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_251_2: tmp1258 = ats_caselptrlab_mac(anairiats_sum_4, tmp1234, atslab_0) ; do { /* branch: __ats_lab_252 */ __ats_lab_252_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_253_0 ; } __ats_lab_252_1: tmp1259 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_253 */ __ats_lab_253_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_253_1: tmp1260 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp1259 = tmp1260 ; break ; } while (0) ; tmp1261 = list_length_compare_01411_ats_ptr_type_2cats_ptr_type (tmp1259, tmp1258) ; tmp1266 = atspre_ieq (tmp1261, 0) ; if (tmp1266) { tmp1267 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp1259, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) ; tmp1265 = ats_castfn_mac(ats_ptr_type, tmp1267) ; } else { /* tmp1268 = */ auxerr2_142 (arg5, tmp1249) ; tmp1269 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp1258, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) ; tmp1265 = ats_castfn_mac(ats_ptr_type, tmp1269) ; } /* end of [if] */ tmp1251 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp1251, atslab_0, tmp1265) ; break ; /* branch: __ats_lab_260 */ __ats_lab_260_0: // if (tmp1250 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_260_1: // if (tmp1234 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_260_2: /* tmp1270 = */ auxerr3_143 (arg5, tmp1249) ; tmp1251 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp1271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp1272 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg5), atslab_d1atcon_loc) ; if (arg2) { tmp1273 = 0 ; } else { if (arg1) { tmp1273 = 1 ; } else { tmp1273 = 0 ; } /* end of [if] */ } /* end of [if] */ tmp1274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make (tmp1272, arg4, tmp1249, arg0, tmp1273, tmp1232, tmp1236, tmp1248, tmp1251) ; /* tmp1275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon (tmp1274) ; tmp1277 = atspre_neg_bool (arg2) ; if (tmp1277) { /* tmp1278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datcontyp (tmp1274) ; if (arg1) { /* tmp1276 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datconptr (tmp1274) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp1173 = tmp1274 ; return (tmp1173) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1atcon_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 66222(line=2770, offs=5) -- 66870(line=2793, offs=8) */ ATSstaticdec() ats_ptr_type loop_154 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1280) ; ATSlocal (ats_ptr_type, tmp1281) ; ATSlocal (ats_ptr_type, tmp1282) ; ATSlocal (ats_ptr_type, tmp1283) ; ATSlocal (ats_ptr_type, tmp1284) ; ATSlocal (ats_ptr_type, tmp1285) ; ATSlocal (ats_ptr_type, tmp1286) ; ATSlocal (ats_ptr_type, tmp1287) ; // ATSlocal_void (tmp1288) ; ATSlocal (ats_ptr_type, tmp1289) ; ATSlocal (ats_int_type, tmp1290) ; ATSlocal (ats_int_type, tmp1291) ; __ats_lab_loop_154: do { /* branch: __ats_lab_261 */ __ats_lab_261_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_262_0 ; } __ats_lab_261_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_263_1 ; } __ats_lab_261_2: tmp1281 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp1282 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp1283 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp1284 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp1285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp1283) ; tmp1286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn (tmp1281, tmp1285) ; tmp1287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp1286) ; /* tmp1288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg2, tmp1283, tmp1287) ; tmp1289 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp1289, atslab_0, tmp1286) ; ats_selptrset_mac(anairiats_sum_6, tmp1289, atslab_1, arg3) ; arg0 = tmp1282 ; arg1 = tmp1284 ; arg2 = arg2 ; arg3 = tmp1289 ; arg4 = arg4 ; goto __ats_lab_loop_154 ; // tail call break ; /* branch: __ats_lab_262 */ __ats_lab_262_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_263_0 ; } __ats_lab_262_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_264_1 ; } __ats_lab_262_2: tmp1280 = arg3 ; break ; /* branch: __ats_lab_263 */ __ats_lab_263_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_264_0 ; } __ats_lab_263_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_263_2: tmp1290 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp1290 ; tmp1280 = arg3 ; break ; /* branch: __ats_lab_264 */ __ats_lab_264_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_264_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_264_2: tmp1291 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp1291 ; tmp1280 = arg3 ; break ; } while (0) ; return (tmp1280) ; } /* end of [loop_154] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 66185(line=2768, offs=3) -- 66982(line=2798, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1279) ; ATSlocal (ats_ptr_type, tmp1292) ; ATSlocal (ats_ptr_type, tmp1293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst: tmp1293 = (ats_sum_ptr_type)0 ; tmp1292 = loop_154 (arg1, arg2, arg0, tmp1293, arg3) ; tmp1279 = list_vt_reverse_01506_ats_ptr_type (tmp1292) ; return (tmp1279) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_staexp.dats: 67081(line=2804, offs=3) -- 67858(line=2834, offs=4) */ ATSglobaldec() anairiats_rec_14 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_bind_svarlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_14, tmp1294) ; ATSlocal (ats_ptr_type, tmp1295) ; ATSlocal (ats_ptr_type, tmp1296) ; ATSlocal (ats_ptr_type, tmp1297) ; ATSlocal (ats_ptr_type, tmp1298) ; ATSlocal (ats_ptr_type, tmp1299) ; ATSlocal (ats_ptr_type, tmp1300) ; ATSlocal (ats_ptr_type, tmp1301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_bind_svarlst: do { /* branch: __ats_lab_265 */ __ats_lab_265_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_266_0 ; } __ats_lab_265_1: /* ats_ptr_type tmp1295 ; */ tmp1295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp1296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp1295), arg1) ; tmp1294.atslab_0 = tmp1295 ; tmp1294.atslab_1 = tmp1296 ; break ; /* branch: __ats_lab_266 */ __ats_lab_266_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_267_0 ; } __ats_lab_266_1: /* ats_ptr_type tmp1297 ; */ tmp1297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp1298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp1297), arg1) ; tmp1294.atslab_0 = tmp1297 ; tmp1294.atslab_1 = tmp1298 ; break ; /* branch: __ats_lab_267 */ __ats_lab_267_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_267_1: tmp1299 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; /* ats_ptr_type tmp1300 ; */ tmp1300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp1301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst ((&tmp1300), tmp1299, arg1, arg2) ; tmp1294.atslab_0 = tmp1300 ; tmp1294.atslab_1 = tmp1301 ; break ; } while (0) ; return (tmp1294) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_bind_svarlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDarrow_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__SPSIDnone_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_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 () ; #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_trans2_staexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_util2_dats.c0000664000175000017500000057306412655455557021325 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__eqref_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__neq_funclo_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isrec) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2Var_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize_flag_svar) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2var_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_prop) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag) (ats_int_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_invar_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_hnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnflst_syneq_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type labs2explst_top_2 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type s2eff_syneq_32 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2eff_syneq_exn_33 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2lab_syneq_34 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2lablst_syneq_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2lab_syneq_exn_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2lablst_syneq_exn_37 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labs2explst_syneq_exn_38 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type aux0_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type aux1_0_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type aux1_t_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type aux1_f_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type aux2_0_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_49 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxenv_46 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_54 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s2exp_prenexize_62 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type revapp_67 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s2exp_prenexize_work_63 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5, ats_ref_type arg6) ; static ats_ptr_type s2explst_prenexize_64 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type labs2explst_prenexize_65 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 2278(line=82, offs=20) -- 3047(line=116, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isrec (tmp2) ; if (tmp3) { tmp0 = arg0 ; } else { tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def (tmp2) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp4 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_3, tmp4, atslab_0) ; tmp6 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp6 ; arg0 = tmp5 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag ; // tail call break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (tmp4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp0 = arg0 ; break ; } while (0) ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_6_0 ; } __ats_lab_3_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (tmp7) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp8 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp8, atslab_0) ; tmp10 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp10 ; arg0 = tmp9 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp8 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp0 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp0 = arg0 ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 3107(line=119, offs=15) -- 3178(line=121, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_linkrem (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_linkrem: /* ats_int_type tmp12 ; */ tmp12 = 0 ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag (arg0, (&tmp12)) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_linkrem] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 3231(line=126, offs=1) -- 3617(line=144, offs=4) */ ATSstaticdec() ats_ptr_type labs2explst_top_2 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_labs2explst_top_2: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp16 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_1) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_2) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top (arg0, tmp18) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, tmp16) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_1, tmp17) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_2, tmp19) ; tmp21 = labs2explst_top_2 (arg0, tmp15) ; tmp13 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp13, atslab_0, tmp20) ; ats_selptrset_mac(anairiats_sum_4, tmp13, atslab_1, tmp21) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp13 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp13) ; } /* end of [labs2explst_top_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 4313(line=185, offs=3) -- 5776(line=235, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_s2exp_srt) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp23) ; if (!tmp24) { goto __ats_lab_10_1 ; } tmp25 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp25 ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_prop () ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp27 = atspre_gt_int_int (arg0, 0) ; if (tmp27) { tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (arg1) ; if (tmp28) { tmp26 = ats_false_bool ; } else { tmp26 = ats_true_bool ; } /* end of [if] */ } else { tmp26 = ats_false_bool ; } /* end of [if] */ tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (arg1, arg2) ; if (tmp26) { tmp22 = tmp29 ; } else { tmp30 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp30 ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp29), atslab_s2exp_node) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp31)->tag != 22) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_6, tmp31, atslab_1) ; arg0 = arg0 ; arg1 = tmp32 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp31)->tag != 24) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_7, tmp31, atslab_0) ; tmp34 = ats_caselptrlab_mac(anairiats_sum_7, tmp31, atslab_1) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top (arg0, tmp33) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype, tmp35, tmp34) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp31)->tag != 25) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_8, tmp31, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_8, tmp31, atslab_1) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_8, tmp31, atslab_2) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (tmp36) ; if (tmp39) { tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type () ; } else { tmp40 = labs2explst_top_2 (arg0, tmp38) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype, tmp36, tmp37, tmp40) ; } /* end of [if] */ break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (tmp23) ; if (!tmp41) { goto __ats_lab_15_1 ; } tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type () ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype, arg0, tmp29) ; break ; } while (0) ; } /* end of [if] */ break ; } while (0) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 5855(line=240, offs=14) -- 5933(line=242, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize: /* ats_int_type tmp43 ; */ tmp43 = 0 ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag (arg0, arg1, (&tmp43)) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 5987(line=245, offs=16) -- 6023(line=245, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize (0, arg0) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 6049(line=247, offs=16) -- 6085(line=247, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize (1, arg0) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 6137(line=253, offs=3) -- 6538(line=277, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_invar_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_invar_flag: tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp47)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 6163(line=255, offs=5) -- 6195(line=255, offs=37)") ; } tmp48 = ats_caselptrlab_mac(anairiats_sum_2, tmp47, atslab_0) ; tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp48), atslab_s2exp_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp49)->tag != 7) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp46 = arg0 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp49)->tag != 8) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp50 = ats_ptrget_mac(ats_int_type, arg1) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp48, arg1) ; tmp52 = atspre_lte_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp50) ; if (tmp52) { tmp46 = arg0 ; } else { tmp46 = tmp51 ; } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp53 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp53 ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp48, arg1) ; break ; } while (0) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_invar_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 7058(line=318, offs=9) -- 7342(line=326, offs=12) */ ATSstaticdec() ats_void_type aux_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab_aux_9: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: __ats_lab_20_2: break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_2: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_2: tmp62 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg2, tmp62, tmp64) ; arg0 = tmp63 ; arg1 = tmp65 ; arg2 = arg2 ; goto __ats_lab_aux_9 ; // tail call break ; } while (0) ; return /* (tmp61) */ ; } /* end of [aux_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 6617(line=283, offs=1) -- 7840(line=344, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_app: tmp55 = ats_ptrget_mac(ats_int_type, arg3) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (arg1, arg3) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag (arg2, arg3) ; tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp56), atslab_s2exp_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp58)->tag != 18) { goto __ats_lab_23_0 ; } __ats_lab_19_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_7, tmp58, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_7, tmp58, atslab_1) ; tmp67 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp67 ; /* ats_ptr_type tmp68 ; */ tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp69 = */ aux_9 (tmp59, tmp57, (&tmp68)) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp68, tmp60) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp68) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp70, arg3) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp72 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg3), tmp55) ; if (tmp72) { tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_srt) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp73, tmp56, tmp57) ; } else { tmp54 = arg0 ; } /* end of [if] */ break ; } while (0) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 7927(line=350, offs=3) -- 9999(line=452, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag: tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_srt) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_linkrem_flag (arg0, arg1) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp76), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp77)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp77)->tag != 1) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp77)->tag != 2) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp77)->tag != 3) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp77)->tag != 4) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp77)->tag != 5) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp77)->tag != 6) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp77)->tag != 7) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_2, tmp77, atslab_0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize_flag_svar (tmp76, tmp78, arg1) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp77)->tag != 8) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp77)->tag != 9) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp77)->tag != 10) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp77)->tag != 11) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp77)->tag != 12) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp77)->tag != 13) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp77)->tag != 14) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp77)->tag != 15) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp77)->tag != 16) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp77)->tag != 17) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_7, tmp77, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_7, tmp77, atslab_1) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_app (tmp76, tmp79, tmp80, arg1) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp77)->tag != 18) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_7, tmp77, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_7, tmp77, atslab_1) ; tmp83 = ats_ptrget_mac(ats_int_type, arg1) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp82, arg1) ; tmp85 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp83) ; if (tmp85) { tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp75, tmp81, tmp84) ; } else { tmp74 = tmp76 ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp77)->tag != 19) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp77)->tag != 20) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp77)->tag != 21) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp77)->tag != 22) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_6, tmp77, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_6, tmp77, atslab_1) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_topize_flag (tmp86, tmp87, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp77)->tag != 23) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp77)->tag != 24) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp77)->tag != 25) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp77)->tag != 26) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_invar_flag (tmp76, arg1) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp77)->tag != 27) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp77)->tag != 28) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp77)->tag != 29) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp77)->tag != 30) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp77)->tag != 31) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp74 = tmp76 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (((ats_sum_ptr_type)tmp77)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp74 = tmp76 ; break ; } while (0) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 10085(line=458, offs=3) -- 10426(line=474, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp91 = ats_ptrget_mac(ats_int_type, arg1) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp89, arg1) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag (tmp90, arg1) ; tmp94 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp91) ; if (tmp94) { tmp88 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp88, atslab_0, tmp92) ; ats_selptrset_mac(anairiats_sum_4, tmp88, atslab_1, tmp93) ; } else { tmp88 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp88 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 10518(line=480, offs=3) -- 10929(line=497, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_hnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_hnfize_flag: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp98 = ats_ptrget_mac(ats_int_type, arg1) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_5, tmp96, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_5, tmp96, atslab_1) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_5, tmp96, atslab_2) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp101, arg1) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_hnfize_flag (tmp97, arg1) ; tmp104 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp98) ; if (tmp104) { tmp105 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp105, atslab_0, tmp99) ; ats_selptrset_mac(anairiats_sum_5, tmp105, atslab_1, tmp100) ; ats_selptrset_mac(anairiats_sum_5, tmp105, atslab_2, tmp102) ; tmp95 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp95, atslab_0, tmp105) ; ats_selptrset_mac(anairiats_sum_4, tmp95, atslab_1, tmp103) ; } else { tmp95 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp95 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_hnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 11011(line=502, offs=14) -- 11079(line=504, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize: /* ats_int_type tmp107 ; */ tmp107 = 0 ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (arg0, (&tmp107)) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 11133(line=507, offs=17) -- 11206(line=509, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_hnfize: /* ats_int_type tmp109 ; */ tmp109 = 0 ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_hnfize_flag (arg0, (&tmp109)) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 11263(line=512, offs=17) -- 11498(line=526, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_hnfize: /* ats_int_type tmp111 ; */ tmp111 = 0 ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (tmp112, (&tmp111)) ; tmp114 = atspre_gt_int_int (tmp111, 0) ; if (tmp114) { tmp110 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp110, atslab_0, tmp113) ; } else { tmp110 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp110 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 11944(line=554, offs=3) -- 12359(line=574, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag: tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_hnfize_flag (arg0, arg1) ; tmp117 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp116), atslab_s2exp_node) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp117)->tag != 8) { goto __ats_lab_66_0 ; } __ats_lab_63_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_2, tmp117, atslab_0) ; tmp119 = ats_ptrget_mac(ats_int_type, arg1) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp118) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp120)->tag != 3) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_2, tmp120, atslab_0) ; tmp122 = atspre_add_int_int (tmp119, 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp122 ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp121) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp115 = tmp116 ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp115 = tmp116 ; break ; } while (0) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 12447(line=580, offs=3) -- 12765(line=594, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp126 = ats_ptrget_mac(ats_int_type, arg1) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag (tmp124, arg1) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag (tmp125, arg1) ; tmp129 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp126) ; if (tmp129) { tmp123 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp123, atslab_0, tmp127) ; ats_selptrset_mac(anairiats_sum_4, tmp123, atslab_1, tmp128) ; } else { tmp123 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp123 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 12859(line=600, offs=3) -- 13194(line=614, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp133 = ats_ptrget_mac(ats_int_type, arg1) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag (tmp131, arg1) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag (tmp132, arg1) ; tmp136 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp133) ; if (tmp136) { tmp130 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_0, tmp134) ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_1, tmp135) ; } else { tmp130 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp130 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13277(line=619, offs=14) -- 13346(line=621, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_mhnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_mhnfize: /* ats_int_type tmp138 ; */ tmp138 = 0 ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_mhnfize_flag (arg0, (&tmp138)) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_mhnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13400(line=624, offs=17) -- 13474(line=626, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_mhnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_mhnfize: /* ats_int_type tmp140 ; */ tmp140 = 0 ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_mhnfize_flag (arg0, (&tmp140)) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_mhnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13534(line=629, offs=20) -- 13613(line=631, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_mhnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_mhnfize: /* ats_int_type tmp142 ; */ tmp142 = 0 ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_mhnfize_flag (arg0, (&tmp142)) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_mhnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13689(line=636, offs=10) -- 13731(line=637, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg0) ; tmp143 = ats_castfn_mac(ats_ptr_type, tmp144) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13780(line=640, offs=15) -- 13807(line=640, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast: tmp145 = ats_castfn_mac(ats_ptr_type, arg0) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 13831(line=642, offs=20) -- 13858(line=642, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp: tmp146 = ats_castfn_mac(ats_ptr_type, arg0) ; return (tmp146) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 14324(line=674, offs=3) -- 14445(line=684, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp147) ; // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq: ATS_TRYWITH_TRY(tmp149) /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn (arg0, arg1) ; tmp147 = ats_true_bool ; ATS_TRYWITH_WITH(tmp149) do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp149 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp149) ; } __ats_lab_71_1: tmp147 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp147) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 14500(line=689, offs=3) -- 14622(line=699, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq: ATS_TRYWITH_TRY(tmp152) /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (arg0, arg1) ; tmp150 = ats_true_bool ; ATS_TRYWITH_WITH(tmp152) do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (tmp152 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp152) ; } __ats_lab_72_1: tmp150 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 14701(line=706, offs=3) -- 14823(line=716, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq: ATS_TRYWITH_TRY(tmp155) /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (arg0, arg1) ; tmp153 = ats_true_bool ; ATS_TRYWITH_WITH(tmp155) do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (tmp155 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp155) ; } __ats_lab_73_1: tmp153 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp153) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 14906(line=723, offs=3) -- 15030(line=728, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn (tmp157, tmp158) ; return /* (tmp156) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 15091(line=732, offs=3) -- 15360(line=743, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnflst_syneq_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnflst_syneq_exn: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_76_1 ; } __ats_lab_74_2: tmp160 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp162 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn (tmp160, tmp162) ; arg0 = tmp161 ; arg1 = tmp163 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnflst_syneq_exn ; // tail call break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_76_1 ; } __ats_lab_75_2: break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: __ats_lab_76_2: tmp165 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp159 = */ ats_raise_exn (tmp165) ; break ; } while (0) ; return /* (tmp159) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnflst_syneq_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 15424(line=747, offs=3) -- 15693(line=758, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn: do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_79_1 ; } __ats_lab_77_2: tmp167 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp167, tmp169) ; arg0 = tmp168 ; arg1 = tmp170 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn ; // tail call break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_79_1 ; } __ats_lab_78_2: break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: __ats_lab_79_2: tmp172 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp166 = */ ats_raise_exn (tmp172) ; break ; } while (0) ; return /* (tmp166) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 15760(line=762, offs=3) -- 16039(line=768, offs=32) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_82_1 ; } __ats_lab_80_2: tmp174 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp174, tmp176) ; arg0 = tmp175 ; arg1 = tmp177 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_82_1 ; } __ats_lab_81_2: break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: __ats_lab_82_2: tmp179 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp173 = */ ats_raise_exn (tmp179) ; break ; } while (0) ; return /* (tmp173) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 16102(line=774, offs=1) -- 16267(line=788, offs=2) */ ATSstaticdec() ats_bool_type s2eff_syneq_32 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_s2eff_syneq_32: ATS_TRYWITH_TRY(tmp182) /* tmp181 = */ s2eff_syneq_exn_33 (arg0, arg1) ; tmp180 = ats_true_bool ; ATS_TRYWITH_WITH(tmp182) do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (tmp182 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp182) ; } __ats_lab_83_1: tmp180 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp180) ; } /* end of [s2eff_syneq_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 16306(line=791, offs=1) -- 16819(line=811, offs=4) */ ATSstaticdec() ats_void_type s2eff_syneq_exn_33 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp183) ; ATSlocal (ats_uint_type, tmp184) ; ATSlocal (ats_uint_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; // ATSlocal_void (tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; __ats_lab_s2eff_syneq_exn_33: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_87_1 ; } __ats_lab_84_2: tmp184 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp185 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset (tmp184, tmp185) ; tmp186 = atspre_neg_bool (tmp187) ; if (tmp186) { tmp188 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp183 = */ ats_raise_exn (tmp188) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_86_0 ; } __ats_lab_85_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_87_1 ; } __ats_lab_85_2: tmp189 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp189, tmp190) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_87_0 ; } __ats_lab_86_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_87_1 ; } __ats_lab_86_2: tmp191 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; /* tmp194 = */ s2eff_syneq_exn_33 (tmp191, tmp192) ; arg0 = tmp192 ; arg1 = tmp193 ; goto __ats_lab_s2eff_syneq_exn_33 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: __ats_lab_87_1: __ats_lab_87_2: tmp195 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp183 = */ ats_raise_exn (tmp195) ; break ; } while (0) ; return /* (tmp183) */ ; } /* end of [s2eff_syneq_exn_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 16876(line=816, offs=1) -- 17028(line=829, offs=2) */ ATSstaticdec() ats_bool_type s2lab_syneq_34 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab_s2lab_syneq_34: ATS_TRYWITH_TRY(tmp198) /* tmp197 = */ s2lab_syneq_exn_36 (arg0, arg1) ; tmp196 = ats_true_bool ; ATS_TRYWITH_WITH(tmp198) do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (tmp198 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp198) ; } __ats_lab_88_1: tmp196 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp196) ; } /* end of [s2lab_syneq_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 17061(line=832, offs=1) -- 17229(line=845, offs=2) */ ATSstaticdec() ats_bool_type s2lablst_syneq_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp199) ; // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab_s2lablst_syneq_35: ATS_TRYWITH_TRY(tmp201) /* tmp200 = */ s2lablst_syneq_exn_37 (arg0, arg1) ; tmp199 = ats_true_bool ; ATS_TRYWITH_WITH(tmp201) do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (tmp201 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) { ats_raise_exn (tmp201) ; } __ats_lab_89_1: tmp199 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp199) ; } /* end of [s2lablst_syneq_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 17265(line=848, offs=1) -- 17643(line=868, offs=4) */ ATSstaticdec() ats_void_type s2lab_syneq_exn_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_bool_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab_s2lab_syneq_exn_36: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_93_0 ; } __ats_lab_90_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label (tmp203, tmp204) ; if (tmp205) { tmp206 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp202 = */ ats_raise_exn (tmp206) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: tmp207 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp202 = */ ats_raise_exn (tmp207) ; break ; } while (0) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp209 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp202 = */ ats_raise_exn (tmp209) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp208, tmp210) ; break ; } while (0) ; break ; } while (0) ; return /* (tmp202) */ ; } /* end of [s2lab_syneq_exn_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 17677(line=871, offs=1) -- 18029(line=889, offs=4) */ ATSstaticdec() ats_void_type s2lablst_syneq_exn_37 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab_s2lablst_syneq_exn_37: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_98_1 ; } __ats_lab_96_2: tmp212 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp216 = */ s2lab_syneq_exn_36 (tmp212, tmp214) ; arg0 = tmp213 ; arg1 = tmp215 ; goto __ats_lab_s2lablst_syneq_exn_37 ; // tail call break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_98_1 ; } __ats_lab_97_2: break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: __ats_lab_98_2: tmp217 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp211 = */ ats_raise_exn (tmp217) ; break ; } while (0) ; return /* (tmp211) */ ; } /* end of [s2lablst_syneq_exn_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 18066(line=892, offs=1) -- 18628(line=916, offs=4) */ ATSstaticdec() ats_void_type labs2explst_syneq_exn_38 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab_labs2explst_syneq_exn_38: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_101_1 ; } __ats_lab_99_2: tmp219 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp221 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_5, tmp219, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_5, tmp219, atslab_2) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_5, tmp221, atslab_0) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_5, tmp221, atslab_2) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp223, tmp225) ; if (tmp227) { /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp224, tmp226) ; arg0 = tmp220 ; arg1 = tmp222 ; goto __ats_lab_labs2explst_syneq_exn_38 ; // tail call } else { tmp229 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp218 = */ ats_raise_exn (tmp229) ; } /* end of [if] */ break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_100_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_101_1 ; } __ats_lab_100_2: break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: __ats_lab_101_2: tmp230 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp218 = */ ats_raise_exn (tmp230) ; break ; } while (0) ; return /* (tmp218) */ ; } /* end of [labs2explst_syneq_exn_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 18713(line=922, offs=3) -- 24720(line=1155, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_int_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_bool_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_bool_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_bool_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_bool_type, tmp252) ; ATSlocal (ats_bool_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_bool_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_bool_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_bool_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_bool_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_bool_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_bool_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_int_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_int_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_bool_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_bool_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_bool_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_int_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_bool_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; // ATSlocal_void (tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_int_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; // ATSlocal_void (tmp366) ; ATSlocal (ats_bool_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_bool_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_int_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_int_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_bool_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn: tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp232), atslab_s2exp_node) ; tmp235 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp233), atslab_s2exp_node) ; do { /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__eqref_type (tmp232, tmp233) ; if (!tmp236) { goto __ats_lab_103_0 ; } break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp234)->tag != 0) { goto __ats_lab_107_0 ; } __ats_lab_103_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_10, tmp234, atslab_0) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp235)->tag != 0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_10, tmp235, atslab_0) ; tmp239 = atspre_neq_int_int (tmp237, tmp238) ; if (tmp239) { tmp240 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp240) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp235)->tag != 1) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf (tmp237, tmp241) ; tmp242 = atspre_neg_bool (tmp243) ; if (tmp242) { tmp244 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp244) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp245 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp245) ; break ; } while (0) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp234)->tag != 1) { goto __ats_lab_111_0 ; } __ats_lab_107_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp235)->tag != 0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_10, tmp235, atslab_0) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (tmp246, tmp247) ; tmp248 = atspre_neg_bool (tmp249) ; if (tmp248) { tmp250 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp250) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp235)->tag != 1) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (tmp246, tmp251) ; tmp252 = atspre_neg_bool (tmp253) ; if (tmp252) { tmp254 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp254) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: __ats_lab_110_1: tmp255 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp255) ; break ; } while (0) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp234)->tag != 4) { goto __ats_lab_114_0 ; } __ats_lab_111_1: tmp256 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp235)->tag != 4) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2cst_s2cst (tmp256, tmp257) ; if (tmp258) { tmp259 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp259) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: tmp260 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp260) ; break ; } while (0) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp234)->tag != 5) { goto __ats_lab_117_0 ; } __ats_lab_114_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp235)->tag != 5) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; tmp265 = atspre_eq_string_string (tmp261, tmp263) ; if (tmp265) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn (tmp262, tmp264) ; } else { tmp266 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp266) ; } /* end of [if] */ break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp267 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp267) ; break ; } while (0) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp234)->tag != 6) { goto __ats_lab_120_0 ; } __ats_lab_117_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp235)->tag != 6) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; tmp272 = atspre_eq_string_string (tmp268, tmp270) ; if (tmp272) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explstlst_syneq_exn (tmp269, tmp271) ; } else { tmp273 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp273) ; } /* end of [if] */ break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: __ats_lab_119_1: tmp274 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp274) ; break ; } while (0) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp234)->tag != 7) { goto __ats_lab_123_0 ; } __ats_lab_120_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp235)->tag != 7) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var (tmp275, tmp276) ; if (tmp277) { tmp278 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp278) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: __ats_lab_122_1: tmp279 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp279) ; break ; } while (0) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp234)->tag != 8) { goto __ats_lab_126_0 ; } __ats_lab_123_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp235)->tag != 8) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2Var_s2Var (tmp280, tmp281) ; if (tmp282) { tmp283 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp283) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: __ats_lab_125_1: tmp284 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp284) ; break ; } while (0) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp234)->tag != 10) { goto __ats_lab_129_0 ; } __ats_lab_126_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp235)->tag != 10) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp287 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp288 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp285, tmp287) ; if (tmp289) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp286, tmp288) ; } else { tmp290 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp290) ; } /* end of [if] */ break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: __ats_lab_128_1: tmp291 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp291) ; break ; } while (0) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp234)->tag != 11) { goto __ats_lab_132_0 ; } __ats_lab_129_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_11, tmp234, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_11, tmp234, atslab_1) ; do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp235)->tag != 11) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_11, tmp235, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_11, tmp235, atslab_1) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp292, tmp294) ; if (tmp296) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp293, tmp295) ; } else { tmp297 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp297) ; } /* end of [if] */ break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: __ats_lab_131_1: tmp298 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp298) ; break ; } while (0) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp234)->tag != 14) { goto __ats_lab_135_0 ; } __ats_lab_132_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp235)->tag != 14) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp300 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; /* tmp231 = */ s2eff_syneq_exn_33 (tmp299, tmp300) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: __ats_lab_134_1: tmp301 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp301) ; break ; } while (0) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp234)->tag != 15) { goto __ats_lab_138_0 ; } __ats_lab_135_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp235)->tag != 15) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp302, tmp304) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp303, tmp305) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: tmp307 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp307) ; break ; } while (0) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp234)->tag != 16) { goto __ats_lab_141_0 ; } __ats_lab_138_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_11, tmp234, atslab_0) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_11, tmp234, atslab_2) ; do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp235)->tag != 16) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_11, tmp235, atslab_0) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_11, tmp235, atslab_2) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp308, tmp310) ; /* tmp231 = */ s2lablst_syneq_exn_37 (tmp309, tmp311) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: __ats_lab_140_1: tmp313 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp313) ; break ; } while (0) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp234)->tag != 17) { goto __ats_lab_144_0 ; } __ats_lab_141_1: tmp314 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp315 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp235)->tag != 17) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp317 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp314, tmp316) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp315, tmp317) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: __ats_lab_143_1: tmp319 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp319) ; break ; } while (0) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp234)->tag != 19) { goto __ats_lab_147_0 ; } __ats_lab_144_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_0) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_1) ; tmp322 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_2) ; tmp323 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_3) ; tmp324 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_4) ; tmp325 = ats_caselptrlab_mac(anairiats_sum_12, tmp234, atslab_5) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp235)->tag != 19) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_0) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_1) ; tmp328 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_2) ; tmp329 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_3) ; tmp330 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_4) ; tmp331 = ats_caselptrlab_mac(anairiats_sum_12, tmp235, atslab_5) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__neq_funclo_funclo (tmp320, tmp326) ; if (tmp333) { tmp334 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp332 = */ ats_raise_exn (tmp334) ; } else { /* empty */ } /* end of [if] */ tmp336 = atspre_neq_int_int (tmp321, tmp327) ; if (tmp336) { tmp337 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp335 = */ ats_raise_exn (tmp337) ; } else { /* empty */ } /* end of [if] */ /* tmp338 = */ s2eff_syneq_exn_33 (tmp322, tmp328) ; tmp340 = atspre_neq_int_int (tmp323, tmp329) ; if (tmp340) { tmp341 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp339 = */ ats_raise_exn (tmp341) ; } else { /* empty */ } /* end of [if] */ /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp324, tmp330) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp325, tmp331) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: __ats_lab_146_1: tmp343 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp343) ; break ; } while (0) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp234)->tag != 22) { goto __ats_lab_150_0 ; } __ats_lab_147_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_6, tmp234, atslab_0) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_6, tmp234, atslab_1) ; do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp235)->tag != 22) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp346 = ats_caselptrlab_mac(anairiats_sum_6, tmp235, atslab_0) ; tmp347 = ats_caselptrlab_mac(anairiats_sum_6, tmp235, atslab_1) ; tmp348 = atspre_eq_int_int (tmp344, tmp346) ; if (tmp348) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp345, tmp347) ; } else { tmp349 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp349) ; } /* end of [if] */ break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: __ats_lab_149_1: tmp350 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp350) ; break ; } while (0) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp234)->tag != 23) { goto __ats_lab_153_0 ; } __ats_lab_150_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)tmp235)->tag != 23) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp352 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp351, tmp352) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: __ats_lab_152_1: tmp353 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp353) ; break ; } while (0) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp234)->tag != 24) { goto __ats_lab_156_0 ; } __ats_lab_153_1: tmp354 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_0) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ; do { /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp235)->tag != 24) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp356 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_0) ; tmp357 = ats_caselptrlab_mac(anairiats_sum_7, tmp235, atslab_1) ; /* tmp358 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp354, tmp356) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2explst_syneq_exn (tmp355, tmp357) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: __ats_lab_155_1: tmp359 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp359) ; break ; } while (0) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp234)->tag != 25) { goto __ats_lab_159_0 ; } __ats_lab_156_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_8, tmp234, atslab_0) ; tmp361 = ats_caselptrlab_mac(anairiats_sum_8, tmp234, atslab_1) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_8, tmp234, atslab_2) ; do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp235)->tag != 25) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_8, tmp235, atslab_0) ; tmp364 = ats_caselptrlab_mac(anairiats_sum_8, tmp235, atslab_1) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_8, tmp235, atslab_2) ; tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (tmp360, tmp363) ; if (tmp367) { tmp368 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp366 = */ ats_raise_exn (tmp368) ; } else { /* empty */ } /* end of [if] */ tmp370 = atspre_neq_int_int (tmp361, tmp364) ; if (tmp370) { tmp371 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp369 = */ ats_raise_exn (tmp371) ; } else { /* empty */ } /* end of [if] */ /* tmp231 = */ labs2explst_syneq_exn_38 (tmp362, tmp365) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: __ats_lab_158_1: tmp372 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp372) ; break ; } while (0) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp234)->tag != 26) { goto __ats_lab_162_0 ; } __ats_lab_159_1: tmp373 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp235)->tag != 26) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp374 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp373, tmp374) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: __ats_lab_161_1: tmp375 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp375) ; break ; } while (0) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp234)->tag != 29) { goto __ats_lab_165_0 ; } __ats_lab_162_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_6, tmp234, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_6, tmp234, atslab_1) ; do { /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp235)->tag != 29) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp378 = ats_caselptrlab_mac(anairiats_sum_6, tmp235, atslab_0) ; tmp379 = ats_caselptrlab_mac(anairiats_sum_6, tmp235, atslab_1) ; tmp380 = atspre_eq_int_int (tmp376, tmp378) ; if (tmp380) { /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp377, tmp379) ; } else { tmp381 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp381) ; } /* end of [if] */ break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: __ats_lab_164_1: tmp382 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp382) ; break ; } while (0) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp234)->tag != 30) { goto __ats_lab_168_0 ; } __ats_lab_165_1: tmp383 = ats_caselptrlab_mac(anairiats_sum_2, tmp234, atslab_0) ; do { /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp235)->tag != 30) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_2, tmp235, atslab_0) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2exp_syneq_exn (tmp383, tmp384) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: __ats_lab_167_1: tmp385 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp385) ; break ; } while (0) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: __ats_lab_168_1: tmp386 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp231 = */ ats_raise_exn (tmp386) ; break ; } while (0) ; return /* (tmp231) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__s2hnf_syneq_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 25065(line=1179, offs=1) -- 25381(line=1195, offs=2) */ ATSstaticdec() ats_bool_type aux0_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_bool_type, tmp390) ; __ats_lab_aux0_40: do { /* branch: __ats_lab_169 */ __ats_lab_169_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_170_0 ; } __ats_lab_169_1: tmp387 = aux1_0_41 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_170_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp388, arg2) ; if (tmp390) { tmp387 = aux1_t_42 (tmp389, arg1, arg2, arg3) ; } else { tmp387 = aux1_f_43 (tmp389, arg1, arg2, arg3) ; } /* end of [if] */ break ; } while (0) ; return (tmp387) ; } /* end of [aux0_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 25407(line=1198, offs=1) -- 25693(line=1213, offs=2) */ ATSstaticdec() ats_bool_type aux1_0_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp391) ; ATSlocal (ats_bool_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_bool_type, tmp395) ; __ats_lab_aux1_0_41: do { /* branch: __ats_lab_171 */ __ats_lab_171_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_172_0 ; } __ats_lab_171_1: tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg2, arg3) ; if (tmp392) { tmp391 = ats_true_bool ; } else { tmp391 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_172_1: tmp393 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp394 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp393, arg3) ; if (tmp395) { tmp391 = ats_false_bool ; } else { arg0 = arg0 ; arg1 = tmp394 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_aux1_0_41 ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp391) ; } /* end of [aux1_0_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 25721(line=1216, offs=1) -- 25919(line=1228, offs=2) */ ATSstaticdec() ats_bool_type aux1_t_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_bool_type, tmp398) ; __ats_lab_aux1_t_42: do { /* branch: __ats_lab_173 */ __ats_lab_173_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp396 = ats_false_bool ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_174_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp397, arg3) ; if (tmp398) { tmp396 = ats_true_bool ; } else { tmp396 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; return (tmp396) ; } /* end of [aux1_t_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 25947(line=1231, offs=1) -- 26229(line=1246, offs=2) */ ATSstaticdec() ats_bool_type aux1_f_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_bool_type, tmp402) ; __ats_lab_aux1_f_43: do { /* branch: __ats_lab_175 */ __ats_lab_175_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp399 = aux2_0_44 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_176_1: tmp400 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp400, arg3) ; if (tmp402) { tmp399 = ats_false_bool ; } else { tmp399 = aux0_40 (arg0, tmp401, arg2, arg3) ; } /* end of [if] */ break ; } while (0) ; return (tmp399) ; } /* end of [aux1_f_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 26257(line=1249, offs=1) -- 26543(line=1264, offs=2) */ ATSstaticdec() ats_bool_type aux2_0_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp403) ; ATSlocal (ats_bool_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_bool_type, tmp407) ; __ats_lab_aux2_0_44: do { /* branch: __ats_lab_177 */ __ats_lab_177_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg2, arg3) ; if (tmp404) { tmp403 = ats_true_bool ; } else { tmp403 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_178_1: tmp405 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp406 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp405, arg2) ; if (tmp407) { tmp403 = ats_false_bool ; } else { arg0 = tmp406 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_aux2_0_44 ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp403) ; } /* end of [aux2_0_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 26615(line=1270, offs=1) -- 26762(line=1279, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2var_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp408) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2var_syneq_env: tmp408 = aux0_40 (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1), arg2, arg3) ; return (tmp408) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2var_syneq_env] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_49 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; __ats_lab_loop_49: do { /* branch: __ats_lab_179 */ __ats_lab_179_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp414 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp416 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp416, atslab_0, tmp414) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp416 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp417 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp415 ; arg1 = tmp417 ; goto __ats_lab_loop_49 ; // tail call break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_180_1: tmp418 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp418 ; break ; } while (0) ; return /* (tmp413) */ ; } /* end of [loop_49] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp419) ; // ATSlocal_void (tmp420) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp419 ; */ /* tmp420 = */ loop_49 (arg0, (&tmp419)) ; tmp412 = tmp419 ; return (tmp412) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp411) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp411 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp411) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61997(line=2223, offs=7) -- 62162(line=2225, offs=74) */ ATSstaticdec() ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; __ats_lab_loop_51: do { /* branch: __ats_lab_181 */ __ats_lab_181_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_182_0 ; } __ats_lab_181_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp424 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp425 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp425, atslab_0, tmp423) ; ats_selptrset_mac(anairiats_sum_4, tmp425, atslab_1, arg1) ; arg0 = tmp424 ; arg1 = tmp425 ; goto __ats_lab_loop_51 ; // tail call break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_182_1: tmp422 = arg1 ; break ; } while (0) ; return (tmp422) ; } /* end of [loop_51] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61976(line=2222, offs=25) -- 62297(line=2231, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp421) ; __ats_lab_list_reverse_append2_vt_01435_ats_ptr_type: tmp421 = loop_51 (arg0, arg1) ; return (tmp421) ; } /* end of [list_reverse_append2_vt_01435_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 26847(line=1288, offs=1) -- 26998(line=1295, offs=4) */ ATSstaticdec() ats_ptr_type auxenv_46 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; __ats_lab_auxenv_46: tmp410 = list_vt_copy_01498_ats_ptr_type (arg0) ; tmp409 = list_reverse_append2_vt_01435_ats_ptr_type (arg1, tmp410) ; return (tmp409) ; } /* end of [auxenv_46] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_54 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; __ats_lab_loop_54: do { /* branch: __ats_lab_241 */ __ats_lab_241_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_242_0 ; } __ats_lab_241_1: tmp538 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp538 ; goto __ats_lab_loop_54 ; // tail call break ; /* branch: __ats_lab_242 */ __ats_lab_242_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_242_1: break ; } while (0) ; return /* (tmp537) */ ; } /* end of [loop_54] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp536) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp536 = */ loop_54 (arg0) ; return /* (tmp536) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 27067(line=1301, offs=1) -- 33946(line=1579, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; ATSlocal (ats_int_type, tmp432) ; ATSlocal (ats_bool_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_bool_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_int_type, tmp437) ; ATSlocal (ats_bool_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_bool_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_bool_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_bool_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_bool_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_bool_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_bool_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_bool_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_bool_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_bool_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_bool_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_int_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_int_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_int_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_bool_type, tmp496) ; ATSlocal (ats_bool_type, tmp497) ; ATSlocal (ats_bool_type, tmp498) ; ATSlocal (ats_bool_type, tmp499) ; ATSlocal (ats_bool_type, tmp500) ; ATSlocal (ats_bool_type, tmp501) ; ATSlocal (ats_int_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_int_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_bool_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_bool_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_int_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_int_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_bool_type, tmp520) ; ATSlocal (ats_bool_type, tmp521) ; ATSlocal (ats_bool_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_bool_type, tmp533) ; ATSlocal (ats_bool_type, tmp534) ; // ATSlocal_void (tmp535) ; // ATSlocal_void (tmp539) ; ATSlocal (ats_int_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_int_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_bool_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env: tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg3) ; tmp429 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp427), atslab_s2exp_node) ; tmp430 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp428), atslab_s2exp_node) ; do { /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)tmp429)->tag != 0) { goto __ats_lab_187_0 ; } __ats_lab_183_1: tmp431 = ats_caselptrlab_mac(anairiats_sum_10, tmp429, atslab_0) ; do { /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)tmp430)->tag != 0) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_10, tmp430, atslab_0) ; tmp433 = atspre_eq_int_int (tmp431, tmp432) ; if (tmp433) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp430)->tag != 1) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf (tmp431, tmp434) ; if (tmp435) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: __ats_lab_186_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: if (((ats_sum_ptr_type)tmp429)->tag != 1) { goto __ats_lab_191_0 ; } __ats_lab_187_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_188 */ __ats_lab_188_0: if (((ats_sum_ptr_type)tmp430)->tag != 0) { goto __ats_lab_189_0 ; } __ats_lab_188_1: tmp437 = ats_caselptrlab_mac(anairiats_sum_10, tmp430, atslab_0) ; tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (tmp436, tmp437) ; if (tmp438) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: if (((ats_sum_ptr_type)tmp430)->tag != 1) { goto __ats_lab_190_0 ; } __ats_lab_189_1: tmp439 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (tmp436, tmp439) ; if (tmp440) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_190 */ __ats_lab_190_0: __ats_lab_190_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: if (((ats_sum_ptr_type)tmp429)->tag != 4) { goto __ats_lab_194_0 ; } __ats_lab_191_1: tmp441 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_192 */ __ats_lab_192_0: if (((ats_sum_ptr_type)tmp430)->tag != 4) { goto __ats_lab_193_0 ; } __ats_lab_192_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp441, tmp442) ; if (tmp443) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: __ats_lab_193_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_194 */ __ats_lab_194_0: if (((ats_sum_ptr_type)tmp429)->tag != 5) { goto __ats_lab_197_0 ; } __ats_lab_194_1: tmp444 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_195 */ __ats_lab_195_0: if (((ats_sum_ptr_type)tmp430)->tag != 5) { goto __ats_lab_196_0 ; } __ats_lab_195_1: tmp446 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp447 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp448 = atspre_eq_string_string (tmp444, tmp446) ; if (tmp448) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env (arg0, arg1, tmp445, tmp447) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_196 */ __ats_lab_196_0: __ats_lab_196_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_197 */ __ats_lab_197_0: if (((ats_sum_ptr_type)tmp429)->tag != 6) { goto __ats_lab_200_0 ; } __ats_lab_197_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp450 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_198 */ __ats_lab_198_0: if (((ats_sum_ptr_type)tmp430)->tag != 6) { goto __ats_lab_199_0 ; } __ats_lab_198_1: tmp451 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp452 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp453 = atspre_eq_string_string (tmp449, tmp451) ; if (tmp453) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env (arg0, arg1, tmp450, tmp452) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_199 */ __ats_lab_199_0: __ats_lab_199_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_200 */ __ats_lab_200_0: if (((ats_sum_ptr_type)tmp429)->tag != 7) { goto __ats_lab_203_0 ; } __ats_lab_200_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_201 */ __ats_lab_201_0: if (((ats_sum_ptr_type)tmp430)->tag != 7) { goto __ats_lab_202_0 ; } __ats_lab_201_1: tmp455 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2var_syneq_env (arg0, arg1, tmp454, tmp455) ; break ; /* branch: __ats_lab_202 */ __ats_lab_202_0: __ats_lab_202_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_203 */ __ats_lab_203_0: if (((ats_sum_ptr_type)tmp429)->tag != 8) { goto __ats_lab_206_0 ; } __ats_lab_203_1: tmp456 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_204 */ __ats_lab_204_0: if (((ats_sum_ptr_type)tmp430)->tag != 8) { goto __ats_lab_205_0 ; } __ats_lab_204_1: tmp457 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var (tmp456, tmp457) ; if (tmp458) { tmp426 = ats_true_bool ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_205 */ __ats_lab_205_0: __ats_lab_205_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_206 */ __ats_lab_206_0: if (((ats_sum_ptr_type)tmp429)->tag != 10) { goto __ats_lab_209_0 ; } __ats_lab_206_1: tmp459 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_207 */ __ats_lab_207_0: if (((ats_sum_ptr_type)tmp430)->tag != 10) { goto __ats_lab_208_0 ; } __ats_lab_207_1: tmp461 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp459, tmp461) ; if (tmp463) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (arg0, arg1, tmp460, tmp462) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_208 */ __ats_lab_208_0: __ats_lab_208_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_209 */ __ats_lab_209_0: if (((ats_sum_ptr_type)tmp429)->tag != 11) { goto __ats_lab_212_0 ; } __ats_lab_209_1: tmp464 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_0) ; tmp465 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_1) ; do { /* branch: __ats_lab_210 */ __ats_lab_210_0: if (((ats_sum_ptr_type)tmp430)->tag != 11) { goto __ats_lab_211_0 ; } __ats_lab_210_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_1) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp464, tmp466) ; if (tmp468) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp465, tmp467) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_211 */ __ats_lab_211_0: __ats_lab_211_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_212 */ __ats_lab_212_0: if (((ats_sum_ptr_type)tmp429)->tag != 15) { goto __ats_lab_215_0 ; } __ats_lab_212_1: tmp469 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_213 */ __ats_lab_213_0: if (((ats_sum_ptr_type)tmp430)->tag != 15) { goto __ats_lab_214_0 ; } __ats_lab_213_1: tmp471 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp469, tmp471) ; if (tmp473) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp470, tmp472) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_214 */ __ats_lab_214_0: __ats_lab_214_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_215 */ __ats_lab_215_0: if (((ats_sum_ptr_type)tmp429)->tag != 16) { goto __ats_lab_218_0 ; } __ats_lab_215_1: tmp474 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_0) ; tmp475 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_2) ; do { /* branch: __ats_lab_216 */ __ats_lab_216_0: if (((ats_sum_ptr_type)tmp430)->tag != 16) { goto __ats_lab_217_0 ; } __ats_lab_216_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_0) ; tmp477 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_2) ; tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp474, tmp476) ; if (tmp478) { tmp426 = s2lablst_syneq_35 (tmp475, tmp477) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_217 */ __ats_lab_217_0: __ats_lab_217_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_218 */ __ats_lab_218_0: if (((ats_sum_ptr_type)tmp429)->tag != 17) { goto __ats_lab_221_0 ; } __ats_lab_218_1: tmp479 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp480 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_219 */ __ats_lab_219_0: if (((ats_sum_ptr_type)tmp430)->tag != 17) { goto __ats_lab_220_0 ; } __ats_lab_219_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp482 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp479, tmp481) ; if (tmp483) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (arg0, arg1, tmp480, tmp482) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_220 */ __ats_lab_220_0: __ats_lab_220_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_221 */ __ats_lab_221_0: if (((ats_sum_ptr_type)tmp429)->tag != 19) { goto __ats_lab_224_0 ; } __ats_lab_221_1: tmp484 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_0) ; tmp485 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_1) ; tmp486 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_2) ; tmp487 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_3) ; tmp488 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_4) ; tmp489 = ats_caselptrlab_mac(anairiats_sum_12, tmp429, atslab_5) ; do { /* branch: __ats_lab_222 */ __ats_lab_222_0: if (((ats_sum_ptr_type)tmp430)->tag != 19) { goto __ats_lab_223_0 ; } __ats_lab_222_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_0) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_1) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_2) ; tmp493 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_3) ; tmp494 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_4) ; tmp495 = ats_caselptrlab_mac(anairiats_sum_12, tmp430, atslab_5) ; tmp497 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo (tmp484, tmp490) ; if (tmp497) { tmp496 = ats_true_bool ; } else { tmp496 = ats_false_bool ; } /* end of [if] */ if (tmp496) { tmp498 = atspre_eq_int_int (tmp485, tmp491) ; } else { tmp498 = ats_false_bool ; } /* end of [if] */ if (tmp498) { tmp499 = s2eff_syneq_32 (tmp486, tmp492) ; } else { tmp499 = ats_false_bool ; } /* end of [if] */ if (tmp499) { tmp500 = atspre_eq_int_int (tmp487, tmp493) ; } else { tmp500 = ats_false_bool ; } /* end of [if] */ if (tmp500) { tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (arg0, arg1, tmp488, tmp494) ; } else { tmp501 = ats_false_bool ; } /* end of [if] */ if (tmp501) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp489, tmp495) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_223 */ __ats_lab_223_0: __ats_lab_223_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_224 */ __ats_lab_224_0: if (((ats_sum_ptr_type)tmp429)->tag != 22) { goto __ats_lab_227_0 ; } __ats_lab_224_1: tmp502 = ats_caselptrlab_mac(anairiats_sum_6, tmp429, atslab_0) ; tmp503 = ats_caselptrlab_mac(anairiats_sum_6, tmp429, atslab_1) ; do { /* branch: __ats_lab_225 */ __ats_lab_225_0: if (((ats_sum_ptr_type)tmp430)->tag != 22) { goto __ats_lab_226_0 ; } __ats_lab_225_1: tmp504 = ats_caselptrlab_mac(anairiats_sum_6, tmp430, atslab_0) ; tmp505 = ats_caselptrlab_mac(anairiats_sum_6, tmp430, atslab_1) ; tmp506 = atspre_eq_int_int (tmp502, tmp504) ; if (tmp506) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp503, tmp505) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_226 */ __ats_lab_226_0: __ats_lab_226_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_227 */ __ats_lab_227_0: if (((ats_sum_ptr_type)tmp429)->tag != 23) { goto __ats_lab_230_0 ; } __ats_lab_227_1: tmp507 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_228 */ __ats_lab_228_0: if (((ats_sum_ptr_type)tmp430)->tag != 23) { goto __ats_lab_229_0 ; } __ats_lab_228_1: tmp508 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp507, tmp508) ; break ; /* branch: __ats_lab_229 */ __ats_lab_229_0: __ats_lab_229_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_230 */ __ats_lab_230_0: if (((ats_sum_ptr_type)tmp429)->tag != 24) { goto __ats_lab_233_0 ; } __ats_lab_230_1: tmp509 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_0) ; tmp510 = ats_caselptrlab_mac(anairiats_sum_7, tmp429, atslab_1) ; do { /* branch: __ats_lab_231 */ __ats_lab_231_0: if (((ats_sum_ptr_type)tmp430)->tag != 24) { goto __ats_lab_232_0 ; } __ats_lab_231_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_0) ; tmp512 = ats_caselptrlab_mac(anairiats_sum_7, tmp430, atslab_1) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp509, tmp511) ; if (tmp513) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (arg0, arg1, tmp510, tmp512) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_232 */ __ats_lab_232_0: __ats_lab_232_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_233 */ __ats_lab_233_0: if (((ats_sum_ptr_type)tmp429)->tag != 25) { goto __ats_lab_236_0 ; } __ats_lab_233_1: tmp514 = ats_caselptrlab_mac(anairiats_sum_8, tmp429, atslab_0) ; tmp515 = ats_caselptrlab_mac(anairiats_sum_8, tmp429, atslab_1) ; tmp516 = ats_caselptrlab_mac(anairiats_sum_8, tmp429, atslab_2) ; do { /* branch: __ats_lab_234 */ __ats_lab_234_0: if (((ats_sum_ptr_type)tmp430)->tag != 25) { goto __ats_lab_235_0 ; } __ats_lab_234_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_8, tmp430, atslab_0) ; tmp518 = ats_caselptrlab_mac(anairiats_sum_8, tmp430, atslab_1) ; tmp519 = ats_caselptrlab_mac(anairiats_sum_8, tmp430, atslab_2) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (tmp514, tmp517) ; if (tmp521) { tmp520 = ats_true_bool ; } else { tmp520 = ats_false_bool ; } /* end of [if] */ if (tmp520) { tmp522 = atspre_eq_int_int (tmp515, tmp518) ; } else { tmp522 = ats_false_bool ; } /* end of [if] */ if (tmp522) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env (arg0, arg1, tmp516, tmp519) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_235 */ __ats_lab_235_0: __ats_lab_235_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_236 */ __ats_lab_236_0: if (((ats_sum_ptr_type)tmp429)->tag != 26) { goto __ats_lab_239_0 ; } __ats_lab_236_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_237 */ __ats_lab_237_0: if (((ats_sum_ptr_type)tmp430)->tag != 26) { goto __ats_lab_238_0 ; } __ats_lab_237_1: tmp524 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp523, tmp524) ; break ; /* branch: __ats_lab_238 */ __ats_lab_238_0: __ats_lab_238_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_239 */ __ats_lab_239_0: if (((ats_sum_ptr_type)tmp429)->tag != 27) { goto __ats_lab_244_0 ; } __ats_lab_239_1: tmp525 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_0) ; tmp526 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_1) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_11, tmp429, atslab_2) ; do { /* branch: __ats_lab_240 */ __ats_lab_240_0: if (((ats_sum_ptr_type)tmp430)->tag != 27) { goto __ats_lab_243_0 ; } __ats_lab_240_1: tmp528 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_0) ; tmp529 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_1) ; tmp530 = ats_caselptrlab_mac(anairiats_sum_11, tmp430, atslab_2) ; tmp531 = auxenv_46 (arg0, tmp525) ; tmp532 = auxenv_46 (arg1, tmp528) ; tmp533 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (tmp531, tmp532, tmp526, tmp529) ; if (tmp533) { tmp534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (tmp531, tmp532, tmp527, tmp530) ; } else { tmp534 = ats_false_bool ; } /* end of [if] */ /* tmp535 = */ list_vt_free_01499_ats_ptr_type (tmp531) ; /* tmp539 = */ list_vt_free_01499_ats_ptr_type (tmp532) ; tmp426 = tmp534 ; break ; /* branch: __ats_lab_243 */ __ats_lab_243_0: __ats_lab_243_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_244 */ __ats_lab_244_0: if (((ats_sum_ptr_type)tmp429)->tag != 29) { goto __ats_lab_247_0 ; } __ats_lab_244_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_6, tmp429, atslab_0) ; tmp541 = ats_caselptrlab_mac(anairiats_sum_6, tmp429, atslab_1) ; do { /* branch: __ats_lab_245 */ __ats_lab_245_0: if (((ats_sum_ptr_type)tmp430)->tag != 29) { goto __ats_lab_246_0 ; } __ats_lab_245_1: tmp542 = ats_caselptrlab_mac(anairiats_sum_6, tmp430, atslab_0) ; tmp543 = ats_caselptrlab_mac(anairiats_sum_6, tmp430, atslab_1) ; tmp544 = atspre_eq_int_int (tmp540, tmp542) ; if (tmp544) { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp541, tmp543) ; } else { tmp426 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_246 */ __ats_lab_246_0: __ats_lab_246_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_247 */ __ats_lab_247_0: if (((ats_sum_ptr_type)tmp429)->tag != 30) { goto __ats_lab_250_0 ; } __ats_lab_247_1: tmp545 = ats_caselptrlab_mac(anairiats_sum_2, tmp429, atslab_0) ; do { /* branch: __ats_lab_248 */ __ats_lab_248_0: if (((ats_sum_ptr_type)tmp430)->tag != 30) { goto __ats_lab_249_0 ; } __ats_lab_248_1: tmp546 = ats_caselptrlab_mac(anairiats_sum_2, tmp430, atslab_0) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp545, tmp546) ; break ; /* branch: __ats_lab_249 */ __ats_lab_249_0: __ats_lab_249_1: tmp426 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_250 */ __ats_lab_250_0: __ats_lab_250_1: tmp426 = ats_false_bool ; break ; } while (0) ; return (tmp426) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 34048(line=1587, offs=3) -- 34198(line=1594, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env: tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg3) ; tmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env (arg0, arg1, tmp548, tmp549) ; return (tmp547) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 34280(line=1600, offs=3) -- 34718(line=1621, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_bool_type, tmp555) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env: do { /* branch: __ats_lab_251 */ __ats_lab_251_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_254_0 ; } __ats_lab_251_1: do { /* branch: __ats_lab_252 */ __ats_lab_252_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_253_0 ; } __ats_lab_252_1: tmp550 = ats_true_bool ; break ; /* branch: __ats_lab_253 */ __ats_lab_253_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_253_1: tmp550 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_254 */ __ats_lab_254_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_254_1: tmp551 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp552 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; do { /* branch: __ats_lab_255 */ __ats_lab_255_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_256_0 ; } __ats_lab_255_1: tmp550 = ats_false_bool ; break ; /* branch: __ats_lab_256 */ __ats_lab_256_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_256_1: tmp553 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp554 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; tmp555 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp551, tmp553) ; if (tmp555) { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp552 ; arg3 = tmp554 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env ; // tail call } else { tmp550 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; break ; } while (0) ; return (tmp550) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 34839(line=1629, offs=3) -- 35296(line=1650, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_bool_type, tmp561) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env: do { /* branch: __ats_lab_257 */ __ats_lab_257_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_260_0 ; } __ats_lab_257_1: do { /* branch: __ats_lab_258 */ __ats_lab_258_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_259_0 ; } __ats_lab_258_1: tmp556 = ats_true_bool ; break ; /* branch: __ats_lab_259 */ __ats_lab_259_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_259_1: tmp556 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_260 */ __ats_lab_260_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_260_1: tmp557 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp558 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; do { /* branch: __ats_lab_261 */ __ats_lab_261_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_262_0 ; } __ats_lab_261_1: tmp556 = ats_false_bool ; break ; /* branch: __ats_lab_262 */ __ats_lab_262_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_262_1: tmp559 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp560 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; tmp561 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (arg0, arg1, tmp557, tmp559) ; if (tmp561) { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp558 ; arg3 = tmp560 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env ; // tail call } else { tmp556 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; break ; } while (0) ; return (tmp556) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_syneq_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 35418(line=1658, offs=1) -- 36023(line=1685, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_bool_type, tmp571) ; ATSlocal (ats_bool_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env: do { /* branch: __ats_lab_263 */ __ats_lab_263_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_264_0 ; } __ats_lab_263_1: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_265_1 ; } __ats_lab_263_2: tmp563 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp564 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp565 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp566 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; tmp567 = ats_caselptrlab_mac(anairiats_sum_5, tmp563, atslab_0) ; tmp568 = ats_caselptrlab_mac(anairiats_sum_5, tmp563, atslab_2) ; tmp569 = ats_caselptrlab_mac(anairiats_sum_5, tmp565, atslab_0) ; tmp570 = ats_caselptrlab_mac(anairiats_sum_5, tmp565, atslab_2) ; tmp571 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp567, tmp569) ; if (tmp571) { tmp572 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (arg0, arg1, tmp568, tmp570) ; if (tmp572) { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp564 ; arg3 = tmp566 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env ; // tail call } else { tmp562 = ats_false_bool ; } /* end of [if] */ } else { tmp573 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn) ; /* tmp562 = */ ats_raise_exn (tmp573) ; } /* end of [if] */ break ; /* branch: __ats_lab_264 */ __ats_lab_264_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_265_0 ; } __ats_lab_264_1: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_265_1 ; } __ats_lab_264_2: tmp562 = ats_true_bool ; break ; /* branch: __ats_lab_265 */ __ats_lab_265_0: __ats_lab_265_1: __ats_lab_265_2: tmp562 = ats_false_bool ; break ; } while (0) ; return (tmp562) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__labs2explst_syneq_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 36107(line=1691, offs=3) -- 36310(line=1698, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_bool_type, tmp577) ; // ATSlocal_void (tmp578) ; // ATSlocal_void (tmp579) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2: tmp575 = (ats_sum_ptr_type)0 ; tmp576 = (ats_sum_ptr_type)0 ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env (tmp575, tmp576, arg0, arg1) ; /* tmp578 = */ list_vt_free_01499_ats_ptr_type (tmp575) ; /* tmp579 = */ list_vt_free_01499_ats_ptr_type (tmp576) ; tmp574 = tmp577 ; return (tmp574) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 36367(line=1702, offs=3) -- 36570(line=1709, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_bool_type, tmp583) ; // ATSlocal_void (tmp584) ; // ATSlocal_void (tmp585) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq2: tmp581 = (ats_sum_ptr_type)0 ; tmp582 = (ats_sum_ptr_type)0 ; tmp583 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq_env (tmp581, tmp582, arg0, arg1) ; /* tmp584 = */ list_vt_free_01499_ats_ptr_type (tmp581) ; /* tmp585 = */ list_vt_free_01499_ats_ptr_type (tmp582) ; tmp580 = tmp583 ; return (tmp580) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 36630(line=1713, offs=3) -- 36840(line=1720, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_bool_type, tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq2: tmp587 = (ats_sum_ptr_type)0 ; tmp588 = (ats_sum_ptr_type)0 ; tmp589 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (tmp587, tmp588, arg0, arg1) ; /* tmp590 = */ list_vt_free_01499_ats_ptr_type (tmp587) ; /* tmp591 = */ list_vt_free_01499_ats_ptr_type (tmp588) ; tmp586 = tmp589 ; return (tmp586) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 36907(line=1727, offs=1) -- 38301(line=1798, offs=4) */ ATSstaticdec() ats_ptr_type s2exp_prenexize_62 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_bool_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_bool_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_int_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_bool_type, tmp607) ; ATSlocal (ats_bool_type, tmp608) ; __ats_lab_s2exp_prenexize_62: tmp593 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg1) ; tmp594 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp593), atslab_s2exp_node) ; do { /* branch: __ats_lab_266 */ __ats_lab_266_0: if (((ats_sum_ptr_type)tmp594)->tag != 27) { goto __ats_lab_267_0 ; } __ats_lab_266_1: tmp595 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_0) ; tmp596 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_1) ; tmp597 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_2) ; tmp598 = atspre_eq_int_int (arg0, 0) ; if (tmp598) { tmp592 = s2exp_prenexize_work_63 (arg0, tmp595, tmp596, tmp597, arg2, arg3, arg4) ; } else { tmp592 = tmp593 ; } /* end of [if] */ break ; /* branch: __ats_lab_267 */ __ats_lab_267_0: if (((ats_sum_ptr_type)tmp594)->tag != 28) { goto __ats_lab_268_0 ; } __ats_lab_267_1: tmp599 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_0) ; tmp600 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_1) ; tmp601 = ats_caselptrlab_mac(anairiats_sum_11, tmp594, atslab_2) ; tmp602 = atspre_gt_int_int (arg0, 0) ; if (tmp602) { tmp592 = s2exp_prenexize_work_63 (arg0, tmp599, tmp600, tmp601, arg2, arg3, arg4) ; } else { tmp592 = tmp593 ; } /* end of [if] */ break ; /* branch: __ats_lab_268 */ __ats_lab_268_0: if (((ats_sum_ptr_type)tmp594)->tag != 12) { goto __ats_lab_269_0 ; } __ats_lab_268_1: tmp603 = ats_caselptrlab_mac(anairiats_sum_7, tmp594, atslab_0) ; tmp604 = ats_caselptrlab_mac(anairiats_sum_7, tmp594, atslab_1) ; tmp605 = ats_ptrget_mac(ats_int_type, arg2) ; tmp607 = atspre_eq_int_int (arg0, 0) ; if (tmp607) { tmp606 = s2exp_prenexize_62 (arg0, tmp603, arg2, arg3, arg4) ; } else { tmp606 = tmp603 ; } /* end of [if] */ tmp608 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp605) ; if (tmp608) { tmp592 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp606, tmp604) ; } else { tmp592 = tmp593 ; } /* end of [if] */ break ; /* branch: __ats_lab_269 */ __ats_lab_269_0: __ats_lab_269_1: tmp592 = tmp593 ; break ; } while (0) ; return (tmp592) ; } /* end of [s2exp_prenexize_62] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_67 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; __ats_lab_revapp_67: do { /* branch: __ats_lab_270 */ __ats_lab_270_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_271_0 ; } __ats_lab_270_1: tmp619 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp620 = ats_ptrget_mac(ats_ptr_type, tmp619) ; ats_ptrget_mac(ats_ptr_type, tmp619) = arg1 ; tmp621 = arg0 ; arg0 = tmp620 ; arg1 = tmp621 ; goto __ats_lab_revapp_67 ; // tail call break ; /* branch: __ats_lab_271 */ __ats_lab_271_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_271_1: tmp618 = arg1 ; break ; } while (0) ; return (tmp618) ; } /* end of [revapp_67] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp617) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp617 = revapp_67 (arg0, arg1) ; return (tmp617) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 38335(line=1801, offs=1) -- 38976(line=1820, offs=4) */ ATSstaticdec() ats_ptr_type s2exp_prenexize_work_63 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5, ats_ref_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; // ATSlocal_void (tmp614) ; ATSlocal (ats_int_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp622) ; __ats_lab_s2exp_prenexize_work_63: /* ats_ptr_type tmp610 ; */ tmp610 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp611 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp610), arg1) ; tmp612 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp610, arg2) ; tmp613 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp610, arg3) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp610) ; tmp615 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp615 ; tmp616 = list_vt_reverse_append_01507_ats_ptr_type (tmp611, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp616 ; tmp622 = list_vt_reverse_append_01507_ats_ptr_type (tmp612, ats_ptrget_mac(ats_ptr_type, arg6)) ; ats_ptrget_mac(ats_ptr_type, arg6) = tmp622 ; tmp609 = s2exp_prenexize_62 (arg0, tmp613, arg4, arg5, arg6) ; return (tmp609) ; } /* end of [s2exp_prenexize_work_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 39015(line=1823, offs=1) -- 39539(line=1848, offs=4) */ ATSstaticdec() ats_ptr_type s2explst_prenexize_64 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_int_type, tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_bool_type, tmp629) ; __ats_lab_s2explst_prenexize_64: do { /* branch: __ats_lab_272 */ __ats_lab_272_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_273_0 ; } __ats_lab_272_1: tmp623 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_273 */ __ats_lab_273_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_273_1: tmp624 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp625 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp626 = ats_ptrget_mac(ats_int_type, arg2) ; tmp627 = s2exp_prenexize_62 (arg0, tmp624, arg2, arg3, arg4) ; tmp628 = s2explst_prenexize_64 (arg0, tmp625, arg2, arg3, arg4) ; tmp629 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp626) ; if (tmp629) { tmp623 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp623, atslab_0, tmp627) ; ats_selptrset_mac(anairiats_sum_4, tmp623, atslab_1, tmp628) ; } else { tmp623 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp623) ; } /* end of [s2explst_prenexize_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 39576(line=1851, offs=1) -- 40280(line=1881, offs=4) */ ATSstaticdec() ats_ptr_type labs2explst_prenexize_65 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_int_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_bool_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_bool_type, tmp641) ; __ats_lab_labs2explst_prenexize_65: do { /* branch: __ats_lab_274 */ __ats_lab_274_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_275_0 ; } __ats_lab_274_1: tmp630 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_275 */ __ats_lab_275_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_275_1: tmp631 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp632 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp633 = ats_ptrget_mac(ats_int_type, arg2) ; tmp634 = ats_caselptrlab_mac(anairiats_sum_5, tmp631, atslab_0) ; tmp635 = ats_caselptrlab_mac(anairiats_sum_5, tmp631, atslab_1) ; tmp636 = ats_caselptrlab_mac(anairiats_sum_5, tmp631, atslab_2) ; tmp637 = s2exp_prenexize_62 (arg0, tmp636, arg2, arg3, arg4) ; tmp639 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp633) ; if (tmp639) { tmp638 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp638, atslab_0, tmp634) ; ats_selptrset_mac(anairiats_sum_5, tmp638, atslab_1, tmp635) ; ats_selptrset_mac(anairiats_sum_5, tmp638, atslab_2, tmp637) ; } else { tmp638 = tmp631 ; } /* end of [if] */ tmp640 = labs2explst_prenexize_65 (arg0, tmp632, arg2, arg3, arg4) ; tmp641 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp633) ; if (tmp641) { tmp630 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp630, atslab_0, tmp638) ; ats_selptrset_mac(anairiats_sum_4, tmp630, atslab_1, tmp640) ; } else { tmp630 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp630) ; } /* end of [labs2explst_prenexize_65] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp649 = (ats_sum_ptr_type)0 ; tmp648 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp649) ; return (tmp648) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 40360(line=1886, offs=14) -- 40691(line=1901, offs=4) */ ATSglobaldec() anairiats_rec_13 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_absuni (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_13, tmp642) ; ATSlocal (ats_int_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp650) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_absuni: /* ats_int_type tmp643 ; */ tmp643 = 0 ; /* ats_ptr_type tmp644 ; */ tmp644 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp645 ; */ tmp645 = (ats_sum_ptr_type)0 ; tmp646 = s2exp_prenexize_62 (1, arg0, (&tmp643), (&tmp644), (&tmp645)) ; tmp647 = list_vt_reverse_01506_ats_ptr_type (tmp644) ; tmp650 = list_vt_reverse_01506_ats_ptr_type (tmp645) ; tmp642.atslab_0 = tmp646 ; tmp642.atslab_1 = tmp647 ; tmp642.atslab_2 = tmp650 ; return (tmp642) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_absuni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util2.dats: 40741(line=1904, offs=14) -- 41072(line=1919, offs=4) */ ATSglobaldec() anairiats_rec_13 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_opnexi (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_13, tmp651) ; ATSlocal (ats_int_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_ptr_type, tmp657) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_opnexi: /* ats_int_type tmp652 ; */ tmp652 = 0 ; /* ats_ptr_type tmp653 ; */ tmp653 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp654 ; */ tmp654 = (ats_sum_ptr_type)0 ; tmp655 = s2exp_prenexize_62 (0, arg0, (&tmp652), (&tmp653), (&tmp654)) ; tmp656 = list_vt_reverse_01506_ats_ptr_type (tmp653) ; tmp657 = list_vt_reverse_01506_ats_ptr_type (tmp654) ; tmp651.atslab_0 = tmp655 ; tmp651.atslab_1 = tmp656 ; tmp651.atslab_2 = tmp657 ; return (tmp651) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_opnexi] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__SYNEQexn" ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_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 () ; #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_staexp2_util2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_sats.c0000664000175000017500000004733612655455557020300 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AND_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_END_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AS_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_OF_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IN_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IF_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SIF_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_CASE_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SCASE_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_THEN_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_ELSE_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_REC_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHEN_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WITH_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_FOR_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHILE_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_TRY_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BAR_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COLON_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COMMA_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SEMICOLON_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LPAREN_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RPAREN_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACKET_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACKET_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACE_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACE_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BANG_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DOT_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQ_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQGT_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GT_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTDOT_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTLT_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPTHEN_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPENDIF_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EOF_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0nt_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0har_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_f0loat_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0tring_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0dext_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_dlr_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtid_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_si0de_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_di0de_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_pi0de_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_stai0de_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_dqi0de_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_arrqi0de_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_tmpqi0de_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_impqi0de_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_l0ab_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0rec_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_funarrow_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_colonwith_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_e0xp_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atme0xp_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rt_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0rt_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0marg_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_a0msrt_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0exp_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0exp_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labs0exp_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0qua_69) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_71) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmp0at_72) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labp0at_73) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_as_74) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_gm0at_75) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guap0at_76) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0lau_77) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp_78) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp0_79) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp1_80) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmd0exp_81) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labd0exp_82) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_83) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_sta_84) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_dyn_85) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guad0ecl_86) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_staloadarg_87) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_fname_unclosed_88) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DISCARD_89) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT2_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AND_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_END_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AS_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_OF_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IN_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IF_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SIF_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_CASE_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SCASE_8.tag = 8 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_THEN_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_ELSE_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_REC_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHEN_12.tag = 12 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WITH_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_FOR_14.tag = 14 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHILE_15.tag = 15 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_TRY_16.tag = 16 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BAR_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COLON_18.tag = 18 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COMMA_19.tag = 19 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SEMICOLON_20.tag = 20 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LPAREN_21.tag = 21 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RPAREN_22.tag = 22 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACKET_23.tag = 23 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACKET_24.tag = 24 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACE_25.tag = 25 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACE_26.tag = 26 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BANG_27.tag = 27 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DOT_28.tag = 28 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQ_29.tag = 29 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQGT_30.tag = 30 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GT_31.tag = 31 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTDOT_32.tag = 32 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTLT_33.tag = 33 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPTHEN_34.tag = 34 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPENDIF_35.tag = 35 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EOF_36.tag = 36 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0nt_37.tag = 37 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0har_38.tag = 38 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_f0loat_39.tag = 39 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0tring_40.tag = 40 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_41.tag = 41 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0dext_42.tag = 42 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_dlr_43.tag = 43 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtid_44.tag = 44 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_si0de_45.tag = 45 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_di0de_46.tag = 46 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_pi0de_47.tag = 47 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_stai0de_48.tag = 48 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49.tag = 49 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50.tag = 50 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_dqi0de_51.tag = 51 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_arrqi0de_52.tag = 52 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_tmpqi0de_53.tag = 53 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_impqi0de_54.tag = 54 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_l0ab_55.tag = 55 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0rec_56.tag = 56 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_funarrow_57.tag = 57 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_colonwith_58.tag = 58 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_e0xp_59.tag = 59 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atme0xp_60.tag = 60 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rt_61.tag = 61 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0rt_62.tag = 62 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0marg_63.tag = 63 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_a0msrt_64.tag = 64 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0exp_65.tag = 65 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0exp_66.tag = 66 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labs0exp_67.tag = 67 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68.tag = 68 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0qua_69.tag = 69 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70.tag = 70 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_71.tag = 71 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmp0at_72.tag = 72 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labp0at_73.tag = 73 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_as_74.tag = 74 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_gm0at_75.tag = 75 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guap0at_76.tag = 76 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0lau_77.tag = 77 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp_78.tag = 78 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp0_79.tag = 79 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp1_80.tag = 80 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmd0exp_81.tag = 81 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labd0exp_82.tag = 82 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_83.tag = 83 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_sta_84.tag = 84 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_dyn_85.tag = 85 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guad0ecl_86.tag = 86 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_staloadarg_87.tag = 87 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_fname_unclosed_88.tag = 88 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DISCARD_89.tag = 89 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT2_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_parsing_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_stamp_sats.c0000664000175000017500000000261512655455557017750 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_stamp_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_env_dats.c0000664000175000017500000046735312655455557020704 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_name ; ats_ptr_type atslab_sort ; ats_ptr_type atslab_sexp ; ats_ptr_type atslab_dexp ; ats_ptr_type atslab_decl2 ; ats_ptr_type atslab_decl3 ; ats_ptr_type atslab_tcimap ; ats_ptr_type atslab_tvdmap ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s0rtq_loc ; ats_ptr_type atslab_s0rtq_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_s0taq_loc ; ats_ptr_type atslab_s0taq_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_8 ; typedef struct { anairiats_rec_8 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_f2undec_loc ; ats_ptr_type atslab_f2undec_var ; ats_ptr_type atslab_f2undec_def ; ats_ptr_type atslab_f2undec_ann ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdotcolon_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatcontyp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatconptr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMfilenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1) (ats_ref_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_types) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_tmplev) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search) (ats_clo_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_localjoin) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_restore) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_top_clear) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth0) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth1) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_top_clear) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth1) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_top_clear) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth1) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__trans2_env_save_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__trans2_env_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__staload_level_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__d2expenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__the_d2varlev_inc_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__s2expenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__sasp__s2rtenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__filenv_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02615_ () ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_ptr_type f_12 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_12_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type the_s2rtenv_find_namespace_11 (ats_ptr_type arg0) ; static ats_void_type the_s2rtenv_localjoin_19 () ; static ats_void_type the_s2rtenv_save_20 () ; static ats_ptr_type the_s2rtenv_restore_21 () ; static ats_void_type prerr_error2_loc_02619_ (ats_ptr_type arg0) ; static ats_ptr_type f_27 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_27_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type the_s2expenv_find_namespace_26 (ats_ptr_type arg0) ; static ats_void_type the_s2expenv_localjoin_35 () ; static ats_void_type the_s2expenv_save_36 () ; static ats_ptr_type the_s2expenv_restore_37 () ; static ats_void_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) ; static ats_void_type app_65 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type list_app_vcloptr_01304_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type list_app_cloptr_01303_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type __ats_fun_66 (ats_int_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_66_closure_make (ats_int_type env0) ; static ats_void_type __ats_fun_66_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_62 (ats_int_type env0, anairiats_rec_8 arg0) ; static ats_clo_ptr_type aux_62_closure_make (ats_int_type env0) ; static ats_void_type aux_62_clofun (ats_clo_ptr_type cloptr, anairiats_rec_8 arg0) ; static ats_void_type app_68 (anairiats_rec_8 arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_vcloptr_01304_anairiats_rec_8 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type f_77 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_77_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_77_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type the_d2expenv_find_namespace_76 (ats_ptr_type arg0) ; static ats_void_type the_d2expenv_localjoin_86 () ; static ats_void_type the_d2expenv_save_87 () ; static ats_ptr_type the_d2expenv_restore_88 () ; static ats_void_type auxlst_101 (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type the_s2rtenv_initialize_114 () ; static ats_void_type the_s2rtenv_reinitialize_115 () ; static ats_void_type the_s2expenv_initialize_116 () ; static ats_void_type the_s2expenv_reinitialize_117 () ; static ats_void_type the_d2expenv_initialize_118 () ; static ats_void_type the_d2expenv_reinitialize_119 () ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp24) ; ATSstatic (ats_ptr_type, statmp25) ; // ATSstatic_void (statmp26) ; // ATSstatic_void (statmp27) ; ATSstatic (ats_ptr_type, statmp70) ; ATSstatic (ats_ptr_type, statmp71) ; // ATSstatic_void (statmp72) ; // ATSstatic_void (statmp73) ; ATSstatic (ats_ptr_type, statmp148) ; ATSstatic (ats_ptr_type, statmp167) ; ATSstatic (ats_ptr_type, statmp175) ; ATSstatic (ats_ptr_type, statmp199) ; ATSstatic (ats_ptr_type, statmp210) ; ATSstatic (ats_ptr_type, statmp211) ; // ATSstatic_void (statmp212) ; // ATSstatic_void (statmp213) ; ATSstatic (ats_ptr_type, statmp292) ; ATSstatic (ats_ptr_type, statmp300) ; ATSstatic (ats_ptr_type, statmp303) ; ATSstatic (ats_ptr_type, statmp386) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 1850(line=63, offs=28) -- 1878(line=63, offs=56) */ ATSstaticdec() ats_void_type prerr_FILENAME_02615_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02615_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_env")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02615_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp3 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp3) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 2572(line=104, offs=1) -- 3012(line=128, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make: tmp2 = ptr_alloc_01070_anairiats_rec_1 () ; tmp4 = ats_selsin_mac(tmp2, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_name) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_sort) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_sexp) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_dexp) = arg3 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_decl2) = arg4 ; tmp5 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_decl3) = tmp5 ; tmp6 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_tcimap) = tmp6 ; tmp7 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_tvdmap) = tmp7 ; tmp1 = atspre_ref_make_view_ptr (tmp4) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 3064(line=131, offs=17) -- 3139(line=133, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp8 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp9), atslab_name) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 3198(line=136, offs=20) -- 3458(line=143, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap: tmp11 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp10 = &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_sort) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 3521(line=146, offs=21) -- 3781(line=153, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap: tmp13 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp12 = &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp13), atslab_sexp) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 3845(line=156, offs=21) -- 4105(line=163, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap: tmp15 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp14 = &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp15), atslab_dexp) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 4169(line=166, offs=21) -- 4243(line=168, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp16 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_decl2) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 4336(line=174, offs=3) -- 4428(line=176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt: tmp19 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp18 = ats_castfn_mac(ats_ptr_type, &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp19), atslab_decl3)) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 4525(line=182, offs=3) -- 4618(line=184, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap: tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp20 = ats_castfn_mac(ats_ptr_type, &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp21), atslab_tcimap)) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 4698(line=188, offs=3) -- 4791(line=190, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap: tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp22 = ats_castfn_mac(ats_ptr_type, &ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp23), atslab_tvdmap)) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 5160(line=210, offs=6) -- 5367(line=218, offs=6) */ ATSstaticdec() ats_ptr_type f_12 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_f_12: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap (arg0) ; tmp31 = ats_selsin_mac(tmp30, atslab_2) ; tmp32 = ats_ptrget_mac(ats_ptr_type, tmp31) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp32, env0) ; return (tmp29) ; } /* end of [f_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_12_closure_type ; ats_ptr_type f_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_12 (((f_12_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_12_closure_init (f_12_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_12_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_12_closure_make (ats_ptr_type env0) { f_12_closure_type *p_clo = ATS_MALLOC(sizeof(f_12_closure_type)) ; f_12_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 5087(line=208, offs=1) -- 5415(line=221, offs=4) */ ATSstaticdec() ats_ptr_type the_s2rtenv_find_namespace_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_clo_ptr_type, tmp33) ; __ats_lab_the_s2rtenv_find_namespace_11: /* ats_clo_ptr_type tmp33 ; */ tmp33 = f_12_closure_make (arg0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search (tmp33) ; ATS_FREE(tmp33) ; return (tmp28) ; } /* end of [the_s2rtenv_find_namespace_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 5548(line=230, offs=17) -- 5623(line=232, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (statmp25, arg0, arg1) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 5701(line=237, offs=18) -- 6129(line=255, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp25, arg0) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp36 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp35 = tmp36 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp36 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp37 = the_s2rtenv_find_namespace_11 (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp35 = tmp37 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp25, arg0) ; break ; } while (0) ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 6215(line=261, offs=3) -- 6288(line=264, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_top_clear () { /* local vardec */ // ATSlocal_void (tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_top_clear: /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear (statmp25) ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_top_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 6371(line=269, offs=17) -- 6472(line=276, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop: tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (statmp25) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 6535(line=280, offs=3) -- 6640(line=284, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop_free () { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop_free: /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free (statmp25) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 6708(line=288, offs=3) -- 6816(line=292, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil () { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil: /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (statmp25) ; return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 6876(line=297, offs=1) -- 7087(line=307, offs=2) */ ATSstaticdec() ats_void_type the_s2rtenv_localjoin_19 () { /* local vardec */ // ATSlocal_void (tmp42) ; __ats_lab_the_s2rtenv_localjoin_19: /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (statmp25) ; return /* (tmp42) */ ; } /* end of [the_s2rtenv_localjoin_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 7180(line=313, offs=5) -- 7309(line=319, offs=4) */ ATSstaticdec() ats_void_type the_s2rtenv_save_20 () { /* local vardec */ // ATSlocal_void (tmp43) ; __ats_lab_the_s2rtenv_save_20: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (statmp25) ; return /* (tmp43) */ ; } /* end of [the_s2rtenv_save_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 7344(line=321, offs=5) -- 7498(line=328, offs=4) */ ATSstaticdec() ats_ptr_type the_s2rtenv_restore_21 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_the_s2rtenv_restore_21: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (statmp25) ; return (tmp44) ; } /* end of [the_s2rtenv_restore_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 7594(line=333, offs=32) -- 7671(line=335, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth0: /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0 (statmp25, arg0) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 7756(line=337, offs=32) -- 7833(line=339, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth1: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1 (statmp25, arg0) ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02619_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; __ats_lab_prerr_error2_loc_02619_: /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp58 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp58) */ ; } /* end of [prerr_error2_loc_02619_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 7976(line=349, offs=3) -- 9331(line=400, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0rtq_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp48 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find (arg1) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp48 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_3, tmp48, atslab_0) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp49) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp50 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_3, tmp50, atslab_0) ; ATS_FREE(tmp50) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp51)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_4, tmp51, atslab_0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2temap (tmp52) ; tmp54 = ats_selsin_mac(tmp53, atslab_2) ; tmp55 = ats_ptrget_mac(ats_ptr_type, tmp54) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp55, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0rtq_loc) ; /* tmp57 = */ prerr_error2_loc_02619_ (tmp56) ; /* tmp60 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp49) ; /* tmp62 = */ atspre_prerr_string (ATSstrcst("] should refer to a filename but it does not.")) ; /* tmp63 = */ atspre_prerr_newline () ; tmp47 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp50 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0rtq_loc) ; /* tmp65 = */ prerr_error2_loc_02619_ (tmp64) ; /* tmp66 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp49) ; /* tmp68 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp69 = */ atspre_prerr_newline () ; tmp47 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 9671(line=418, offs=6) -- 9877(line=426, offs=6) */ ATSstaticdec() ats_ptr_type f_27 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab_f_27: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap (arg0) ; tmp77 = ats_selsin_mac(tmp76, atslab_2) ; tmp78 = ats_ptrget_mac(ats_ptr_type, tmp77) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp78, env0) ; return (tmp75) ; } /* end of [f_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_27_closure_type ; ats_ptr_type f_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_27 (((f_27_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_27_closure_init (f_27_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_27_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_27_closure_make (ats_ptr_type env0) { f_27_closure_type *p_clo = ATS_MALLOC(sizeof(f_27_closure_type)) ; f_27_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 9599(line=416, offs=1) -- 9925(line=429, offs=4) */ ATSstaticdec() ats_ptr_type the_s2expenv_find_namespace_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_clo_ptr_type, tmp79) ; __ats_lab_the_s2expenv_find_namespace_26: /* ats_clo_ptr_type tmp79 ; */ tmp79 = f_27_closure_make (arg0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search (tmp79) ; ATS_FREE(tmp79) ; return (tmp74) ; } /* end of [the_s2expenv_find_namespace_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 10060(line=438, offs=18) -- 10133(line=440, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add: /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (statmp71, arg0, arg1) ; return /* (tmp80) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 10213(line=445, offs=19) -- 10642(line=463, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find: tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp71, arg0) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp82 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp81 = tmp82 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp82 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp83 = the_s2expenv_find_namespace_26 (arg0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp83 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp81 = tmp83 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp83 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp71, arg0) ; break ; } while (0) ; break ; } while (0) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 10733(line=468, offs=29) -- 10807(line=470, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_find: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp71, arg0) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 10905(line=476, offs=3) -- 10978(line=479, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_top_clear () { /* local vardec */ // ATSlocal_void (tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_top_clear: /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear (statmp71) ; return /* (tmp85) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_top_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 11063(line=484, offs=18) -- 11165(line=491, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (statmp71) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 11230(line=495, offs=3) -- 11344(line=499, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () { /* local vardec */ // ATSlocal_void (tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free: /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free (statmp71) ; return /* (tmp87) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 11414(line=503, offs=3) -- 11522(line=507, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () { /* local vardec */ // ATSlocal_void (tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil: /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (statmp71) ; return /* (tmp88) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 11583(line=512, offs=1) -- 11797(line=522, offs=2) */ ATSstaticdec() ats_void_type the_s2expenv_localjoin_35 () { /* local vardec */ // ATSlocal_void (tmp89) ; __ats_lab_the_s2expenv_localjoin_35: /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (statmp71) ; return /* (tmp89) */ ; } /* end of [the_s2expenv_localjoin_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 11892(line=528, offs=5) -- 12022(line=534, offs=4) */ ATSstaticdec() ats_void_type the_s2expenv_save_36 () { /* local vardec */ // ATSlocal_void (tmp90) ; __ats_lab_the_s2expenv_save_36: /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (statmp71) ; return /* (tmp90) */ ; } /* end of [the_s2expenv_save_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 12058(line=536, offs=5) -- 12215(line=543, offs=4) */ ATSstaticdec() ats_ptr_type the_s2expenv_restore_37 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; __ats_lab_the_s2expenv_restore_37: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (statmp71) ; return (tmp91) ; } /* end of [the_s2expenv_restore_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 12313(line=548, offs=33) -- 12390(line=550, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth0: /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0 (statmp71, arg0) ; return /* (tmp92) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 12477(line=552, offs=33) -- 12554(line=554, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth1: /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1 (statmp71, arg0) ; return /* (tmp93) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 12678(line=562, offs=3) -- 14083(line=618, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua: tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s0taq_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp95)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (arg1) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp95)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_15_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_4, tmp95, atslab_0) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp96) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp97 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_16_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_3, tmp97, atslab_0) ; ATS_FREE(tmp97) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp98)->tag != 5) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_4, tmp98, atslab_0) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_s2itmmap (tmp99) ; tmp101 = ats_selsin_mac(tmp100, atslab_2) ; tmp102 = ats_ptrget_mac(ats_ptr_type, tmp101) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp102, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s0taq_loc) ; /* tmp104 = */ prerr_error2_loc_02619_ (tmp103) ; /* tmp105 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp96) ; /* tmp107 = */ atspre_prerr_string (ATSstrcst("] should refer to a filename but it does not.")) ; /* tmp108 = */ atspre_prerr_newline () ; tmp94 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp97 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s0taq_loc) ; /* tmp110 = */ prerr_error2_loc_02619_ (tmp109) ; /* tmp111 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp96) ; /* tmp113 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp114 = */ atspre_prerr_newline () ; tmp94 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)tmp95)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp94 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 14174(line=624, offs=3) -- 14668(line=646, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst: tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg0) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp116) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp118 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_21_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_3, tmp118, atslab_0) ; ATS_FREE(tmp118) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp119)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_4, tmp119, atslab_0) ; tmp117 = tmp120 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp117 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp118 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp117 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp122, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp122, atslab_1, tmp117) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp121)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_0, tmp122) ; /* tmp115 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp116, tmp121) ; return /* (tmp115) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 14738(line=650, offs=3) -- 14825(line=654, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar: tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg0) ; tmp125 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp125)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp125, atslab_0, arg0) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp124, tmp125) ; return /* (tmp123) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; __ats_lab_loop_46: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* tmp132 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp130, arg2) ; arg0 = tmp131 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_46 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: break ; } while (0) ; return /* (tmp129) */ ; } /* end of [loop_46] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp128) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp128 = */ loop_46 (arg0, arg1, arg2) ; return /* (tmp128) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp127) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp127 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp127) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 14898(line=658, offs=3) -- 14949(line=658, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst: /* tmp126 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar) ; return /* (tmp126) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 15023(line=663, offs=3) -- 15140(line=666, offs=21) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_sp2at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_sp2at: tmp134 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_sp2at_node) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp134 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_6, tmp134, atslab_1) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp135) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp134 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: break ; } while (0) ; return /* (tmp133) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_sp2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 15261(line=670, offs=28) -- 15469(line=677, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datconptr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datconptr: tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp137) ; tmp140 = atspre_string_append (tmp138, ATSstrcst("_unfold")) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp140) ; tmp141 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp141)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_0, arg0) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp139, tmp141) ; return /* (tmp136) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datconptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 15547(line=680, offs=28) -- 15756(line=687, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datcontyp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datcontyp: tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp143) ; tmp146 = atspre_string_append (tmp144, ATSstrcst("_pstruct")) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp146) ; tmp147 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp147)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_0, arg0) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp145, tmp147) ; return /* (tmp142) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_datcontyp] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp151 ; */ tmp151 = arg0 ; tmp150 = atspre_ref_make_elt_tsz ((&tmp151), sizeof(ats_int_type)) ; return (tmp150) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; __ats_lab_ref_make_elt_01089_ats_int_type: tmp149 = ref_01088_ats_int_type (arg0) ; return (tmp149) ; } /* end of [ref_make_elt_01089_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 15962(line=700, offs=16) -- 15978(line=700, offs=32) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get () { /* local vardec */ ATSlocal (ats_int_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get: tmp152 = ats_ptrget_mac(ats_int_type, statmp148) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 16007(line=704, offs=3) -- 16284(line=713, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp153) ; ATSlocal (ats_int_type, tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_bool_type, tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_int_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc: tmp154 = ats_ptrget_mac(ats_int_type, statmp148) ; tmp156 = atspre_gt_int_int (tmp154, 0) ; if (tmp156) { /* tmp157 = */ prerr_error2_loc_02619_ (arg0) ; /* tmp158 = */ atspre_prerr_string (ATSstrcst(": the syntax `(...) is used incorrectly at this location.")) ; /* tmp155 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp159 = atspre_add_int_int (tmp154, 1) ; ats_ptrget_mac(ats_int_type, statmp148) = tmp159 ; return /* (tmp153) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 16340(line=717, offs=3) -- 16627(line=726, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp160) ; ATSlocal (ats_int_type, tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_bool_type, tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_int_type, tmp166) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec: tmp161 = ats_ptrget_mac(ats_int_type, statmp148) ; tmp163 = atspre_eq_int_int (tmp161, 0) ; if (tmp163) { /* tmp164 = */ prerr_error2_loc_02619_ (arg0) ; /* tmp165 = */ atspre_prerr_string (ATSstrcst(": the syntax ,(...) or %(...) is used incorrectly at this location.")) ; /* tmp162 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp166 = atspre_sub_int_int (tmp161, 1) ; ats_ptrget_mac(ats_int_type, statmp148) = tmp166 ; return /* (tmp160) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 16820(line=741, offs=19) -- 16839(line=741, offs=38) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_get () { /* local vardec */ ATSlocal (ats_int_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_get: tmp168 = ats_ptrget_mac(ats_int_type, statmp167) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 16869(line=744, offs=19) -- 16912(line=745, offs=39) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_inc () { /* local vardec */ // ATSlocal_void (tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_int_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_inc: tmp171 = ats_ptrget_mac(ats_int_type, statmp167) ; tmp170 = atspre_add_int_int (tmp171, 1) ; ats_ptrget_mac(ats_int_type, statmp167) = tmp170 ; return /* (tmp169) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 16968(line=749, offs=19) -- 17011(line=750, offs=39) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_dec () { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (ats_int_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_dec: tmp174 = ats_ptrget_mac(ats_int_type, statmp167) ; tmp173 = atspre_sub_int_int (tmp174, 1) ; ats_ptrget_mac(ats_int_type, statmp167) = tmp173 ; return /* (tmp172) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 17197(line=766, offs=16) -- 17213(line=766, offs=32) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_get () { /* local vardec */ ATSlocal (ats_int_type, tmp176) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_get: tmp176 = ats_ptrget_mac(ats_int_type, statmp175) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 17240(line=769, offs=16) -- 17277(line=770, offs=33) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc () { /* local vardec */ // ATSlocal_void (tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc: tmp179 = ats_ptrget_mac(ats_int_type, statmp175) ; tmp178 = atspre_add_int_int (tmp179, 1) ; ats_ptrget_mac(ats_int_type, statmp175) = tmp178 ; return /* (tmp177) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 17327(line=774, offs=16) -- 17364(line=775, offs=33) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec () { /* local vardec */ // ATSlocal_void (tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec: tmp182 = ats_ptrget_mac(ats_int_type, statmp175) ; tmp181 = atspre_sub_int_int (tmp182, 1) ; ats_ptrget_mac(ats_int_type, statmp175) = tmp181 ; return /* (tmp180) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4310(line=156, offs=6) -- 4365(line=156, offs=61) */ ATSstaticdec() ats_void_type app_65 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp187) ; __ats_lab_app_65: /* tmp187 = */ ((ats_void_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return /* (tmp187) */ ; } /* end of [app_65] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4235(line=154, offs=20) -- 4426(line=159, offs=4) */ ATSstaticdec() ats_void_type list_app_vcloptr_01304_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp186) ; __ats_lab_list_app_vcloptr_01304_ats_ptr_type: /* tmp186 = */ list_app_funenv_01300_ats_ptr_type (arg0, &app_65, arg1) ; return /* (tmp186) */ ; } /* end of [list_app_vcloptr_01304_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 3690(line=137, offs=11) -- 4157(line=151, offs=4) */ ATSstaticdec() ats_void_type list_app_cloptr_01303_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp185) ; __ats_lab_list_app_cloptr_01303_ats_ptr_type: /* tmp185 = */ list_app_vcloptr_01304_ats_ptr_type (arg0, arg1) ; return /* (tmp185) */ ; } /* end of [list_app_cloptr_01303_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18375(line=821, offs=37) -- 18418(line=821, offs=80) */ ATSstaticdec() ats_void_type __ats_fun_66 (ats_int_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp190) ; __ats_lab___ats_fun_66: /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_set_tmplev (arg0, env0) ; return /* (tmp190) */ ; } /* end of [__ats_fun_66] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } __ats_fun_66_closure_type ; ats_void_type __ats_fun_66_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { __ats_fun_66 (((__ats_fun_66_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_66_closure_init (__ats_fun_66_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_66_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_66_closure_make (ats_int_type env0) { __ats_fun_66_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_66_closure_type)) ; __ats_fun_66_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18282(line=818, offs=7) -- 18419(line=821, offs=81) */ ATSstaticdec() ats_void_type aux_62 (ats_int_type env0, anairiats_rec_8 arg0) { /* local vardec */ // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_aux_62: /* ats_ptr_type tmp188 ; */ tmp189 = ats_select_mac(arg0, atslab_s2qua_svs) ; tmp188 = __ats_fun_66_closure_make (env0) ; /* tmp184 = */ list_app_cloptr_01303_ats_ptr_type (tmp189, tmp188) ; ATS_FREE(tmp188) ; return /* (tmp184) */ ; } /* end of [aux_62] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } aux_62_closure_type ; ats_void_type aux_62_clofun (ats_clo_ptr_type cloptr, anairiats_rec_8 arg0) { aux_62 (((aux_62_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_62_closure_init (aux_62_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_62_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_62_closure_make (ats_int_type env0) { aux_62_closure_type *p_clo = ATS_MALLOC(sizeof(aux_62_closure_type)) ; aux_62_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4310(line=156, offs=6) -- 4365(line=156, offs=61) */ ATSstaticdec() ats_void_type app_68 (anairiats_rec_8 arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp192) ; __ats_lab_app_68: /* tmp192 = */ ((ats_void_type(*)(ats_clo_ptr_type, anairiats_rec_8))(ats_closure_fun(arg1))) (arg1, arg0) ; return /* (tmp192) */ ; } /* end of [app_68] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp194) ; ATSlocal (anairiats_rec_8, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; __ats_lab_loop_70: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp195 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; /* tmp197 = */ ((ats_void_type(*)(anairiats_rec_8, ats_ptr_type))arg1) (tmp195, arg2) ; arg0 = tmp196 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_70 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: break ; } while (0) ; return /* (tmp194) */ ; } /* end of [loop_70] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp193) ; __ats_lab_list_app_funenv_01300_anairiats_rec_8: /* tmp193 = */ loop_70 (arg0, arg1, arg2) ; return /* (tmp193) */ ; } /* end of [list_app_funenv_01300_anairiats_rec_8] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4235(line=154, offs=20) -- 4426(line=159, offs=4) */ ATSstaticdec() ats_void_type list_app_vcloptr_01304_anairiats_rec_8 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp191) ; __ats_lab_list_app_vcloptr_01304_anairiats_rec_8: /* tmp191 = */ list_app_funenv_01300_anairiats_rec_8 (arg0, &app_68, arg1) ; return /* (tmp191) */ ; } /* end of [list_app_vcloptr_01304_anairiats_rec_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18248(line=817, offs=3) -- 18542(line=826, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__s2qualstlst_set_tmplev (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp183) ; ATSlocal (ats_clo_ptr_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__s2qualstlst_set_tmplev: /* ats_clo_ptr_type tmp198 ; */ tmp198 = aux_62_closure_make (arg1) ; /* tmp183 = */ list_app_vcloptr_01304_anairiats_rec_8 (arg0, tmp198) ; ATS_FREE(tmp198) ; return /* (tmp183) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__s2qualstlst_set_tmplev] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18733(line=840, offs=18) -- 18751(line=840, offs=36) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () { /* local vardec */ ATSlocal (ats_int_type, tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get: tmp200 = ats_ptrget_mac(ats_int_type, statmp199) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18782(line=844, offs=3) -- 18904(line=850, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc () { /* local vardec */ // ATSlocal_void (tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc: tmp202 = ats_ptrget_mac(ats_int_type, statmp199) ; tmp203 = atspre_add_int_int (tmp202, 1) ; ats_ptrget_mac(ats_int_type, statmp199) = tmp203 ; return /* (tmp201) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 18964(line=854, offs=3) -- 19092(line=860, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec () { /* local vardec */ // ATSlocal_void (tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec: tmp205 = ats_ptrget_mac(ats_int_type, statmp199) ; tmp206 = atspre_sub_int_int (tmp205, 1) ; ats_ptrget_mac(ats_int_type, statmp199) = tmp206 ; return /* (tmp204) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 19151(line=863, offs=19) -- 19212(line=865, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_save () { /* local vardec */ ATSlocal (ats_int_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_save: tmp208 = ats_ptrget_mac(ats_int_type, statmp199) ; ats_ptrget_mac(ats_int_type, statmp199) = 0 ; tmp207 = tmp208 ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_save] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 19278(line=868, offs=22) -- 19308(line=868, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_restore (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_restore: ats_ptrget_mac(ats_int_type, statmp199) = arg0 ; return /* (tmp209) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_restore] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 19632(line=887, offs=6) -- 19838(line=895, offs=6) */ ATSstaticdec() ats_ptr_type f_77 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; __ats_lab_f_77: tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap (arg0) ; tmp217 = ats_selsin_mac(tmp216, atslab_2) ; tmp218 = ats_ptrget_mac(ats_ptr_type, tmp217) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp218, env0) ; return (tmp215) ; } /* end of [f_77] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_77_closure_type ; ats_ptr_type f_77_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_77 (((f_77_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_77_closure_init (f_77_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_77_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_77_closure_make (ats_ptr_type env0) { f_77_closure_type *p_clo = ATS_MALLOC(sizeof(f_77_closure_type)) ; f_77_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 19565(line=885, offs=4) -- 19886(line=898, offs=4) */ ATSstaticdec() ats_ptr_type the_d2expenv_find_namespace_76 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_clo_ptr_type, tmp219) ; __ats_lab_the_d2expenv_find_namespace_76: /* ats_clo_ptr_type tmp219 ; */ tmp219 = f_77_closure_make (arg0) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_search (tmp219) ; ATS_FREE(tmp219) ; return (tmp214) ; } /* end of [the_d2expenv_find_namespace_76] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 19979(line=903, offs=18) -- 20052(line=905, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add: /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (statmp211, arg0, arg1) ; return /* (tmp220) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 20132(line=910, offs=19) -- 20561(line=928, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp211, arg0) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp222 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp221 = tmp222 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (tmp222 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp223 = the_d2expenv_find_namespace_76 (arg0) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp223 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp221 = tmp223 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp223 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp211, arg0) ; break ; } while (0) ; break ; } while (0) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 20650(line=933, offs=27) -- 20714(line=935, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_current_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_current_find: tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp211, arg0) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_current_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 20792(line=938, offs=29) -- 20866(line=940, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find: tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp211, arg0) ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 20964(line=946, offs=3) -- 21037(line=949, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_top_clear () { /* local vardec */ // ATSlocal_void (tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_top_clear: /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear (statmp211) ; return /* (tmp226) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_top_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 21122(line=954, offs=18) -- 21224(line=961, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop: tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (statmp211) ; return (tmp227) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 21289(line=965, offs=3) -- 21403(line=969, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free () { /* local vardec */ // ATSlocal_void (tmp228) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free: /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free (statmp211) ; return /* (tmp228) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 21473(line=973, offs=3) -- 21581(line=977, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil () { /* local vardec */ // ATSlocal_void (tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil: /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (statmp211) ; return /* (tmp229) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 21642(line=982, offs=1) -- 21856(line=992, offs=2) */ ATSstaticdec() ats_void_type the_d2expenv_localjoin_86 () { /* local vardec */ // ATSlocal_void (tmp230) ; __ats_lab_the_d2expenv_localjoin_86: /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (statmp211) ; return /* (tmp230) */ ; } /* end of [the_d2expenv_localjoin_86] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 21951(line=998, offs=5) -- 22081(line=1004, offs=4) */ ATSstaticdec() ats_void_type the_d2expenv_save_87 () { /* local vardec */ // ATSlocal_void (tmp231) ; __ats_lab_the_d2expenv_save_87: /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (statmp211) ; return /* (tmp231) */ ; } /* end of [the_d2expenv_save_87] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 22117(line=1006, offs=5) -- 22274(line=1013, offs=4) */ ATSstaticdec() ats_ptr_type the_d2expenv_restore_88 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; __ats_lab_the_d2expenv_restore_88: tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (statmp211) ; return (tmp232) ; } /* end of [the_d2expenv_restore_88] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 22372(line=1018, offs=33) -- 22449(line=1020, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth0: /* tmp233 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0 (statmp211, arg0) ; return /* (tmp233) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 22536(line=1022, offs=33) -- 22613(line=1024, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth1: /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1 (statmp211, arg0) ; return /* (tmp234) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 22737(line=1032, offs=3) -- 24177(line=1083, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua: tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0ynq_node) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp236)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (arg1) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp236)->tag != 1) { goto __ats_lab_41_0 ; } __ats_lab_36_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_4, tmp236, atslab_0) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp237) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp238 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_3, tmp238, atslab_0) ; ATS_FREE(tmp238) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp239)->tag != 5) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_4, tmp239, atslab_0) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2itmmap (tmp240) ; tmp242 = ats_selsin_mac(tmp241, atslab_2) ; tmp243 = ats_ptrget_mac(ats_ptr_type, tmp242) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp243, arg1) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0ynq_loc) ; /* tmp245 = */ prerr_error2_loc_02619_ (tmp244) ; /* tmp246 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp237) ; /* tmp248 = */ atspre_prerr_string (ATSstrcst("] should refer to a filename but it does not.")) ; /* tmp249 = */ atspre_prerr_newline () ; tmp235 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp238 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0ynq_loc) ; /* tmp251 = */ prerr_error2_loc_02619_ (tmp250) ; /* tmp252 = */ atspre_prerr_string (ATSstrcst(": the qualifier [")) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp237) ; /* tmp254 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp255 = */ atspre_prerr_newline () ; tmp235 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp236)->tag != 2) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp235 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (((ats_sum_ptr_type)tmp236)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp235 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 24268(line=1089, offs=3) -- 24606(line=1105, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon: tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp257) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp259 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_43_1: tmp260 = ats_caselptrlab_mac(anairiats_sum_3, tmp259, atslab_0) ; ATS_FREE(tmp259) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp260)->tag != 2) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_4, tmp260, atslab_0) ; tmp258 = tmp261 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp258 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (tmp259 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp258 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp263 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp263, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp263, atslab_1, tmp258) ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp262)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp262, atslab_0, tmp263) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp257, tmp262) ; return /* (tmp256) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 24695(line=1110, offs=23) -- 24780(line=1112, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcst: tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg0) ; tmp266 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp266)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp266, atslab_0, arg0) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp265, tmp266) ; return /* (tmp264) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 24872(line=1117, offs=26) -- 24960(line=1119, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef: tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym (arg0) ; tmp269 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp269)->tag = 5 ; ats_selptrset_mac(anairiats_sum_4, tmp269, atslab_0, arg0) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp268, tmp269) ; return /* (tmp267) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25033(line=1121, offs=26) -- 25121(line=1123, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvar: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; tmp272 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp272)->tag = 6 ; ats_selptrset_mac(anairiats_sum_4, tmp272, atslab_0, arg0) ; /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp271, tmp272) ; return /* (tmp270) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25199(line=1126, offs=3) -- 25253(line=1126, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvarlst: /* tmp273 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvar) ; return /* (tmp273) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25348(line=1132, offs=23) -- 25433(line=1134, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar: tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; tmp276 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp276)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp276, atslab_0, arg0) ; /* tmp274 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp275, tmp276) ; return /* (tmp274) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25505(line=1137, offs=3) -- 25556(line=1137, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst: /* tmp277 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar) ; return /* (tmp277) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25629(line=1140, offs=26) -- 25711(line=1141, offs=73) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvaropt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvaropt: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp279) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: break ; } while (0) ; return /* (tmp278) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvaropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25837(line=1150, offs=5) -- 26060(line=1162, offs=2) */ ATSstaticdec() ats_void_type auxlst_101 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; // ATSlocal_void (tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab_auxlst_101: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp285 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp282), atslab_f2undec_var) ; /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp285) ; arg0 = tmp283 ; goto __ats_lab_auxlst_101 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: break ; } while (0) ; return /* (tmp281) */ ; } /* end of [auxlst_101] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 25812(line=1148, offs=3) -- 26319(line=1175, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_fundeclst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_bool_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_fundeclst: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp286), atslab_f2undec_var) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp289) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec (arg0) ; tmp290 = atspre_neg_bool (tmp291) ; if (tmp290) { /* tmp280 = */ auxlst_101 (tmp287) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: break ; } while (0) ; return /* (tmp280) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_fundeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 26520(line=1188, offs=23) -- 26543(line=1188, offs=46) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_get () { /* local vardec */ ATSlocal (ats_int_type, tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_get: tmp293 = ats_ptrget_mac(ats_int_type, statmp292) ; return (tmp293) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 26580(line=1192, offs=3) -- 26693(line=1196, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_push () { /* local vardec */ // ATSlocal_void (tmp294) ; ATSlocal (ats_int_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_push: tmp295 = ats_ptrget_mac(ats_int_type, statmp292) ; tmp296 = atspre_add_int_int (tmp295, 1) ; ats_ptrget_mac(ats_int_type, statmp292) = tmp296 ; return /* (tmp294) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 26764(line=1200, offs=3) -- 26894(line=1206, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_pop () { /* local vardec */ // ATSlocal_void (tmp297) ; ATSlocal (ats_int_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_pop: tmp298 = ats_ptrget_mac(ats_int_type, statmp292) ; tmp299 = atspre_sub_int_int (tmp298, 1) ; ats_ptrget_mac(ats_int_type, statmp292) = tmp299 ; return /* (tmp297) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_pop] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp302 ; */ tmp302 = arg0 ; tmp301 = atspre_ref_make_elt_tsz ((&tmp302), sizeof(ats_ptr_type)) ; return (tmp301) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 27123(line=1221, offs=19) -- 27234(line=1225, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add: tmp305 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp300), atslab_1) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert (tmp305, arg0, arg1) ; return /* (tmp304) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 27295(line=1228, offs=20) -- 27394(line=1232, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_find: tmp307 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp300), atslab_1) ; tmp308 = ats_ptrget_mac(ats_ptr_type, tmp307) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp308, arg0) ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 27650(line=1249, offs=3) -- 27867(line=1254, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () { /* local vardec */ // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop: /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_pop () ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop_free () ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; /* tmp309 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free () ; return /* (tmp309) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 27930(line=1257, offs=21) -- 28134(line=1264, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () { /* local vardec */ // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push: /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_push () ; /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil () ; /* tmp316 = ats_selsin_mac(tmp315, atslab_1) */ ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp318 = ats_selsin_mac(tmp317, atslab_1) */ ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil () ; return /* (tmp313) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 28205(line=1268, offs=3) -- 28449(line=1273, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_localjoin () { /* local vardec */ // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; // ATSlocal_void (tmp322) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_localjoin: /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_localjoin () ; /* tmp321 = */ the_s2rtenv_localjoin_19 () ; /* tmp322 = */ the_s2expenv_localjoin_35 () ; /* tmp319 = */ the_d2expenv_localjoin_86 () ; return /* (tmp319) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_localjoin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 28529(line=1277, offs=3) -- 28996(line=1289, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pervasive_joinwth (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; // ATSlocal_void (tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pervasive_joinwth: tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop () ; /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth1 (tmp324) ; tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop () ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_joinwth1 (tmp326) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop () ; /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_joinwth1 (tmp328) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg0) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make (arg0, tmp324, tmp326, tmp328, arg1) ; /* tmp323 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add (tmp330, tmp331) ; return /* (tmp323) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pervasive_joinwth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 29263(line=1305, offs=21) -- 29479(line=1313, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save () { /* local vardec */ // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save: /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save () ; /* tmp334 = */ the_s2rtenv_save_20 () ; /* tmp335 = ats_selsin_mac(tmp334, atslab_1) */ ; /* tmp336 = */ the_s2expenv_save_36 () ; /* tmp337 = ats_selsin_mac(tmp336, atslab_1) */ ; /* tmp332 = */ the_d2expenv_save_87 () ; return /* (tmp332) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 29548(line=1317, offs=3) -- 29794(line=1324, offs=4) */ ATSglobaldec() anairiats_rec_12 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore () { /* local vardec */ ATSlocal (anairiats_rec_12, tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore: /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_restore () ; tmp340 = the_s2rtenv_restore_21 () ; tmp341 = the_s2expenv_restore_37 () ; tmp342 = the_d2expenv_restore_88 () ; tmp338.atslab_0 = tmp340 ; tmp338.atslab_1 = tmp341 ; tmp338.atslab_2 = tmp342 ; return (tmp338) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 29886(line=1333, offs=1) -- 31433(line=1379, offs=2) */ ATSstaticdec() ats_void_type the_s2rtenv_initialize_114 () { /* local vardec */ // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; // ATSlocal_void (tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; // ATSlocal_void (tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; // ATSlocal_void (tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; // ATSlocal_void (tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; // ATSlocal_void (tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; __ats_lab_the_s2rtenv_initialize_114: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_push_nil () ; /* tmp345 = ats_selsin_mac(tmp344, atslab_1) */ ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp347)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp347, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT, tmp347) ; tmp349 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp349)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp349, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR, tmp349) ; tmp351 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp351)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp351, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL, tmp351) ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp353)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp353, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT, tmp353) ; tmp355 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp355)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp355, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING, tmp355) ; tmp357 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp357)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp357, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls) ; /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS, tmp357) ; tmp359 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp359)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp359, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; /* tmp358 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF, tmp359) ; tmp361 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp361)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp361, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND, tmp361) ; tmp363 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp363)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp363, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; /* tmp362 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP, tmp363) ; tmp365 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp365)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp365, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE, tmp365) ; tmp367 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp367)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp367, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE, tmp367) ; tmp369 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp369)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp369, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; /* tmp368 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW, tmp369) ; tmp371 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp371)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp371, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VTYPE, tmp371) ; tmp373 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp373)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp373, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; /* tmp372 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VT0YPE, tmp373) ; tmp375 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp375)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp375, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE, tmp375) ; tmp377 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp377)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp377, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; /* tmp376 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE, tmp377) ; tmp379 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp379)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp379, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_types) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES, tmp379) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pop () ; /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_pervasive_joinwth0 (tmp380) ; return /* (tmp343) */ ; } /* end of [the_s2rtenv_initialize_114] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 31476(line=1382, offs=1) -- 31535(line=1382, offs=60) */ ATSstaticdec() ats_void_type the_s2rtenv_reinitialize_115 () { /* local vardec */ // ATSlocal_void (tmp381) ; __ats_lab_the_s2rtenv_reinitialize_115: /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_top_clear () ; return /* (tmp381) */ ; } /* end of [the_s2rtenv_reinitialize_115] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 31565(line=1387, offs=1) -- 31602(line=1387, offs=38) */ ATSstaticdec() ats_void_type the_s2expenv_initialize_116 () { /* local vardec */ // ATSlocal_void (tmp382) ; __ats_lab_the_s2expenv_initialize_116: return /* (tmp382) */ ; } /* end of [the_s2expenv_initialize_116] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 31607(line=1389, offs=1) -- 31667(line=1389, offs=61) */ ATSstaticdec() ats_void_type the_s2expenv_reinitialize_117 () { /* local vardec */ // ATSlocal_void (tmp383) ; __ats_lab_the_s2expenv_reinitialize_117: /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_top_clear () ; return /* (tmp383) */ ; } /* end of [the_s2expenv_reinitialize_117] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 31699(line=1394, offs=1) -- 32080(line=1412, offs=2) */ ATSstaticdec() ats_void_type the_d2expenv_initialize_118 () { /* local vardec */ // ATSlocal_void (tmp384) ; __ats_lab_the_d2expenv_initialize_118: return /* (tmp384) */ ; } /* end of [the_d2expenv_initialize_118] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 32127(line=1415, offs=1) -- 32187(line=1415, offs=61) */ ATSstaticdec() ats_void_type the_d2expenv_reinitialize_119 () { /* local vardec */ // ATSlocal_void (tmp385) ; __ats_lab_the_d2expenv_reinitialize_119: /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_top_clear () ; return /* (tmp385) */ ; } /* end of [the_d2expenv_reinitialize_119] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_env.dats: 32333(line=1427, offs=1) -- 32720(line=1448, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize () { /* local vardec */ // ATSlocal_void (tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_int_type, tmp389) ; ATSlocal (ats_bool_type, tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize: tmp388 = ats_ptrget_mac(ats_int_type, statmp386) ; tmp389 = atspre_add_int_int (tmp388, 1) ; ats_ptrget_mac(ats_int_type, statmp386) = tmp389 ; tmp390 = atspre_eq_int_int (tmp388, 0) ; if (tmp390) { /* tmp391 = */ the_s2rtenv_initialize_114 () ; /* tmp392 = */ the_s2expenv_initialize_116 () ; /* tmp387 = */ the_d2expenv_initialize_118 () ; } else { /* tmp393 = */ the_s2rtenv_reinitialize_115 () ; /* tmp394 = */ the_s2expenv_reinitialize_117 () ; /* tmp387 = */ the_d2expenv_reinitialize_119 () ; } /* end of [if] */ return /* (tmp387) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp24, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp25, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp70, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp148, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp167, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp175, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp199, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp210, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp211, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp292, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp300, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp303, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp386, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () ; statmp25 = ats_selsin_mac(statmp24, atslab_1) ; /* statmp26 = */ atspre_vbox_make_view_ptr (statmp25) ; /* statmp27 = ats_selsin_mac(statmp26, atslab_1) */ ; statmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () ; statmp71 = ats_selsin_mac(statmp70, atslab_1) ; /* statmp72 = */ atspre_vbox_make_view_ptr (statmp71) ; /* statmp73 = ats_selsin_mac(statmp72, atslab_1) */ ; statmp148 = ref_make_elt_01089_ats_int_type (1) ; statmp167 = ref_make_elt_01089_ats_int_type (0) ; statmp175 = ref_make_elt_01089_ats_int_type (0) ; statmp199 = ref_01088_ats_int_type (0) ; statmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () ; statmp211 = ats_selsin_mac(statmp210, atslab_1) ; /* statmp212 = */ atspre_vbox_make_view_ptr (statmp211) ; /* statmp213 = ats_selsin_mac(statmp212, atslab_1) */ ; statmp292 = ref_01088_ats_int_type (0) ; statmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; statmp300 = ref_01088_ats_ptr_type (statmp303) ; statmp386 = ref_01088_ats_int_type (0) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans2_env_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexbuf_dats.c0000664000175000017500000016336112655455557020100 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1) (ats_ref_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_lint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ntot) (ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_nrow) (ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_init) (ats_ref_type, ats_lint_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_filp) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_getc) (ats_ref_type, ats_clo_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_string) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_charlst_vt) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_uninitize) (ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_get_char) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0) (ats_ref_type, ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_untrans_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_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_02091_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type queue_initialize_01905_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_void_type deque_clear_beg_02106_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_void_type queue_clear_01915_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_uchar_type deque_get_elt_at_02096_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_uchar_type queue_get_elt_at_01909_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_ptr_type DEQUEptrnxt_02118_ats_uchar_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type deque_insert_end_02099_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ; static ats_void_type queue_insert_01911_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ; static ats_ptr_type deque_update_capacity_02111_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type queue_update_capacity_01918_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 */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 3612(line=123, offs=17) -- 3660(line=123, offs=65) */ 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] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5421(line=211, offs=22) -- 5522(line=214, offs=69) */ ATSstaticdec() ats_void_type deque_initialize_02091_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab_deque_initialize_02091_ats_uchar_type: /* tmp6 = */ atslib_ngc_deque_arr_deque_initialize_tsz (arg0, arg1, arg2, sizeof(ats_uchar_type)) ; return /* (tmp6) */ ; } /* end of [deque_initialize_02091_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 2304(line=77, offs=3) -- 2428(line=81, offs=4) */ ATSstaticdec() ats_void_type queue_initialize_01905_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_01905_ats_uchar_type: tmp3 = array_ptr_alloc_01563_ats_uchar_type (arg1) ; tmp5 = ats_selsin_mac(tmp3, atslab_2) ; /* tmp2 = */ deque_initialize_02091_ats_uchar_type (arg0, arg1, tmp5) ; return /* (tmp2) */ ; } /* end of [queue_initialize_01905_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 2854(line=119, offs=3) -- 3205(line=138, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01905_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_filp (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_filp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 3295(line=144, offs=3) -- 3620(line=163, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01905_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_getc (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ; return /* (tmp7) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_getc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 3712(line=169, offs=3) -- 4034(line=187, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01905_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_string (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ; return /* (tmp9) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 4132(line=193, offs=3) -- 4469(line=211, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01905_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_charlst_vt (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ; return /* (tmp11) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_charlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 4562(line=217, offs=3) -- 4774(line=227, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_uninitize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_uninitize: /* tmp14 = */ atslib_linqueue_arr_queue_uninitialize (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_uninitize (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader)) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_uninitize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 4853(line=233, offs=3) -- 4941(line=237, offs=4) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_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 [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 5017(line=242, offs=17) -- 5033(line=242, offs=33) */ ATSglobaldec() ats_lint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_base (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_lint_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_base: tmp20 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_base] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 5088(line=248, offs=3) -- 5232(line=254, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_init (arg1, tmp22, tmp23, tmp24) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 10929(line=427, offs=15) -- 11658(line=451, offs=2) */ ATSstaticdec() ats_void_type deque_clear_beg_02106_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_02106_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_02106_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 3899(line=149, offs=3) -- 3939(line=149, offs=43) */ ATSstaticdec() ats_void_type queue_clear_01915_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp33) ; __ats_lab_queue_clear_01915_ats_uchar_type: /* tmp33 = */ deque_clear_beg_02106_ats_uchar_type (arg0, arg1) ; return /* (tmp33) */ ; } /* end of [queue_clear_01915_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 5319(line=260, offs=3) -- 5922(line=293, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position: tmp26 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ntot (arg1) ; ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = tmp27 ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_nrow (arg1) ; ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = tmp28 ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_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_01915_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 [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 6005(line=298, offs=19) -- 6023(line=298, offs=37) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace: tmp47 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 6052(line=300, offs=19) -- 6078(line=300, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_nspace (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_nspace: ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = arg1 ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_nspace] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 6136(line=306, offs=3) -- 6294(line=313, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location: /* pats_position_struct tmp50 ; */ /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, (&tmp50)) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (tmp50, ats_ptrget_mac(pats_position_struct, arg1)) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 7245(line=285, offs=3) -- 7378(line=291, offs=2) */ ATSstaticdec() ats_uchar_type deque_get_elt_at_02096_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_02096_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_02096_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 3260(line=115, offs=3) -- 3296(line=115, offs=39) */ ATSstaticdec() ats_uchar_type queue_get_elt_at_01909_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_uchar_type, tmp57) ; __ats_lab_queue_get_elt_at_01909_ats_uchar_type: tmp57 = deque_get_elt_at_02096_ats_uchar_type (arg0, arg1) ; return (tmp57) ; } /* end of [queue_get_elt_at_01909_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4302(line=161, offs=29) -- 4599(line=171, offs=4) */ ATSstaticdec() ats_ptr_type DEQUEptrnxt_02118_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_02118_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_02118_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 8755(line=344, offs=18) -- 9091(line=357, offs=4) */ ATSstaticdec() ats_void_type deque_insert_end_02099_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_02099_ats_uchar_type: tmp69 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) ; tmp70 = DEQUEptrnxt_02118_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_02099_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 3481(line=127, offs=3) -- 3517(line=127, offs=39) */ ATSstaticdec() ats_void_type queue_insert_01911_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) { /* local vardec */ // ATSlocal_void (tmp67) ; __ats_lab_queue_insert_01911_ats_uchar_type: /* tmp67 = */ deque_insert_end_02099_ats_uchar_type (arg0, arg1) ; return /* (tmp67) */ ; } /* end of [queue_insert_01911_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 13207(line=513, offs=23) -- 13311(line=516, offs=71) */ ATSstaticdec() ats_ptr_type deque_update_capacity_02111_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_02111_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_02111_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 4205(line=166, offs=3) -- 4422(line=171, offs=2) */ ATSstaticdec() ats_void_type queue_update_capacity_01918_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_01918_ats_uchar_type: tmp82 = array_ptr_alloc_01563_ats_uchar_type (arg1) ; tmp83 = ats_selsin_mac(tmp82, atslab_2) ; tmp84 = deque_update_capacity_02111_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_01918_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 6380(line=319, offs=3) -- 7130(line=362, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01909_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 = _2home_2hwxi_2Research_2Postiats_2git_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_01911_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_01918_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), tmp87) ; /* tmp88 = */ queue_insert_01911_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 [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 7212(line=368, offs=3) -- 7341(line=373, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_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 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, tmp93) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 7426(line=379, offs=3) -- 7986(line=400, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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_01915_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 [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_incby_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 8071(line=406, offs=3) -- 8118(line=406, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0 (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0 (arg0, 0u, arg1) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 8182(line=411, offs=3) -- 8229(line=411, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1: tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1 (arg0, 0u, arg1) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 8316(line=418, offs=3) -- 8780(line=442, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_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 = _2home_2hwxi_2Research_2Postiats_2git_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 [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 8850(line=446, offs=3) -- 8982(line=449, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0 (arg0, arg1, arg2) ; tmp119 = atspre_ptr_isnot_null (tmp117) ; tmp120 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 8945(line=448, offs=20) -- 8978(line=448, offs=53)", ATSstrcst("\n")) ; /* tmp118 = */ atspre_assert_errmsg (tmp119, tmp120) ; tmp116 = tmp117 ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 9073(line=455, offs=3) -- 9139(line=456, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr0: tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0 (arg0, tmp122) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexbuf.dats: 9209(line=461, offs=3) -- 9276(line=462, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_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__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1: tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, tmp124) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_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] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_xchng_dats.c0000664000175000017500000024015512655455557021211 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_8 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_LHS_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_RHS_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ref_type arg5) ; static ats_void_type auxerr_nonderef_5 (ats_ptr_type arg0) ; static ats_void_type auxerr1_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr2_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux1_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type aux2_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type aux3_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxerr_pfobj_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_ptr_type aux1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type aux2_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type aux3_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxerr_wrt_if_20 (ats_ptr_type arg0) ; static ats_void_type auxerr_lproof_21 (ats_ptr_type arg0) ; static ats_void_type auxerr_nonlval_22 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 1614(line=48, offs=28) -- 1644(line=48, offs=58) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_xchng")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_02046_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 2105(line=81, offs=5) -- 2490(line=93, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_auxerr_pfobj_1: /* tmp2 = */ prerr_error3_loc_02046_ (arg1) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": exchange cannot be performed")) ; /* tmp6 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp8 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp9 = */ atspre_prerr_newline () ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 53 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_1, arg2) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ; return /* (tmp1) */ ; } /* end of [auxerr_pfobj_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 2521(line=96, offs=1) -- 3895(line=146, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (anairiats_rec_1, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_int_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_bool_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab_auxmain_3: // tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; ATS_FREE(arg2) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp14 ; /* ats_ptr_type tmp15 ; */ tmp15 = (ats_sum_ptr_type)0 ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg1, tmp14, arg3, (&tmp15)) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg4) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp15 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_4, tmp15, atslab_0) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp12) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp18, tmp17) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp13, tmp20) ; tmp23 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp23, atslab_0, tmp21) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp12, tmp23) ; tmp11 = tmp16 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp15 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: /* ats_int_type tmp24 ; */ tmp24 = 0 ; /* ats_int_type tmp25 ; */ tmp25 = 0 ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg1, tmp14, arg3, (&tmp24), (&tmp25)) ; tmp27 = ats_select_mac(tmp26, atslab_0) ; tmp28 = ats_select_mac(tmp26, atslab_1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp27) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg1, tmp28) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (arg1, arg4, tmp29) ; tmp33 = atspre_gt_int_int (tmp31, 0) ; if (tmp33) { /* tmp34 = */ prerr_error3_loc_02046_ (arg1) ; /* tmp35 = */ atspre_prerr_string (ATSstrcst(": the LHS of exchange cannot be given its RHS type.")) ; /* tmp36 = */ atspre_prerr_newline () ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp38 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp38)->tag = 62 ; ats_selptrset_mac(anairiats_sum_5, tmp38, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp38, atslab_1, tmp17) ; ats_selptrset_mac(anairiats_sum_5, tmp38, atslab_2, tmp27) ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp38) ; } else { /* empty */ } /* end of [if] */ tmp11 = tmp27 ; break ; } while (0) ; return (tmp11) ; } /* end of [auxmain_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 3970(line=151, offs=20) -- 4372(line=168, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg2) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp40 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_4, tmp40, atslab_0) ; ATS_FREE(tmp40) ; tmp39 = auxmain_3 (arg0, arg1, tmp41, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp40 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp42 ; /* tmp43 = */ auxerr_pfobj_1 (arg0, arg1, arg2) ; tmp39 = tmp42 ; break ; } while (0) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 4460(line=176, offs=5) -- 4718(line=185, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonderef_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_auxerr_nonderef_5: tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d3exp_loc) ; /* tmp46 = */ prerr_error3_loc_02046_ (tmp45) ; /* tmp47 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression cannot be dereferenced.")) ; /* tmp48 = */ atspre_prerr_newline () ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp49)->tag = 52 ; ats_selptrset_mac(anairiats_sum_7, tmp49, atslab_0, arg0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp49) ; return /* (tmp44) */ ; } /* end of [auxerr_nonderef_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 4752(line=187, offs=5) -- 5203(line=202, offs=4) */ ATSstaticdec() ats_void_type auxerr1_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_auxerr1_6: /* tmp51 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp52 = */ atspre_prerr_string (ATSstrcst(": the RHS of exchange cannot be given its LHS type.")) ; /* tmp53 = */ atspre_prerr_newline () ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg3) ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp57)->tag = 61 ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_1, tmp55) ; ats_selptrset_mac(anairiats_sum_5, tmp57, atslab_2, tmp56) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp57) ; return /* (tmp50) */ ; } /* end of [auxerr1_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 5229(line=204, offs=5) -- 5680(line=219, offs=4) */ ATSstaticdec() ats_void_type auxerr2_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_auxerr2_7: /* tmp59 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp60 = */ atspre_prerr_string (ATSstrcst(": the LHS of exchange cannot be given its RHS type.")) ; /* tmp61 = */ atspre_prerr_newline () ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg3) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp65)->tag = 62 ; ats_selptrset_mac(anairiats_sum_5, tmp65, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp65, atslab_1, tmp63) ; ats_selptrset_mac(anairiats_sum_5, tmp65, atslab_2, tmp64) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp65) ; return /* (tmp58) */ ; } /* end of [auxerr2_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 5706(line=221, offs=5) -- 6379(line=246, offs=4) */ ATSstaticdec() ats_ptr_type aux1_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_bool_type, tmp74) ; __ats_lab_aux1_8: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg2) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp67 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_4, tmp67, atslab_0) ; ATS_FREE(tmp67) ; /* ats_ptr_type tmp69 ; */ tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check (arg0, arg1, tmp68, arg4, arg5, (&tmp69)) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp70) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (arg0, tmp71, arg5) ; tmp74 = atspre_gt_int_int (tmp72, 0) ; if (tmp74) { /* tmp73 = */ auxerr1_6 (arg0, arg1, arg5, tmp71) ; } else { /* empty */ } /* end of [if] */ tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr (arg1, tmp70, arg3, tmp69, arg4) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp67 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp66 = aux2_9 (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; } while (0) ; return (tmp66) ; } /* end of [aux1_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 6402(line=248, offs=5) -- 7352(line=277, offs=4) */ ATSstaticdec() ats_ptr_type aux2_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (anairiats_rec_1, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_int_type, tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; __ats_lab_aux2_9: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp76 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_4, tmp76, atslab_0) ; ATS_FREE(tmp76) ; /* ats_int_type tmp78 ; */ tmp78 = 0 ; /* ats_int_type tmp79 ; */ tmp79 = 0 ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg1, tmp77, arg4, (&tmp78), (&tmp79)) ; tmp81 = ats_select_mac(tmp80, atslab_0) ; tmp82 = ats_select_mac(tmp80, atslab_1) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp81) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg1, tmp82) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (arg1, arg5, tmp83) ; tmp87 = atspre_gt_int_int (tmp85, 0) ; if (tmp87) { /* tmp86 = */ auxerr1_6 (arg0, arg1, arg5, tmp83) ; } else { /* empty */ } /* end of [if] */ tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (arg0, tmp83, arg5) ; tmp90 = atspre_gt_int_int (tmp88, 0) ; if (tmp90) { /* tmp89 = */ auxerr2_7 (arg0, arg1, arg5, tmp83) ; } else { /* empty */ } /* end of [if] */ tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (arg0) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref (arg1, tmp81, arg3, tmp77, arg4) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp76 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp75 = aux3_10 (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; } while (0) ; return (tmp75) ; } /* end of [aux2_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 7375(line=279, offs=5) -- 7579(line=288, offs=4) */ ATSstaticdec() ats_ptr_type aux3_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; __ats_lab_aux3_10: /* tmp93 = */ auxerr_nonderef_5 (arg3) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; return (tmp92) ; } /* end of [aux3_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 7657(line=294, offs=3) -- 7914(line=304, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng_deref: tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg2) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp95) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg3) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp95) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp98) ; tmp94 = aux1_8 (arg0, arg1, tmp99, tmp95, tmp97, arg4) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 7980(line=308, offs=3) -- 8966(line=341, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng: tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_d2exp_loc) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (arg1) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp102)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_2, tmp102, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_2, tmp102, atslab_1) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp104) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp103) ; if (tmp106 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 8173(line=319, offs=9) -- 8206(line=319, offs=42)") ; } tmp107 = ats_caselptrlab_mac(anairiats_sum_4, tmp106, atslab_0) ; /* ats_ptr_type tmp108 ; */ tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_check (arg0, tmp101, tmp107, tmp105, arg2, (&tmp108)) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp109) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp110) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (arg0, tmp110, arg2) ; tmp114 = atspre_gt_int_int (tmp112, 0) ; if (tmp114) { /* tmp113 = */ auxerr1_6 (arg0, tmp101, arg2, tmp110) ; } else { /* empty */ } /* end of [if] */ tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var (tmp101, tmp111, tmp103, tmp108, tmp105) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp102)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_2, tmp102, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_2, tmp102, atslab_1) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng_deref (arg0, tmp101, tmp115, tmp116, arg2) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: /* tmp117 = */ prerr_error3_loc_02046_ (tmp101) ; /* tmp118 = */ atspre_prerr_string (ATSstrcst(": a left-value is required but a non-left-value is given.")) ; /* tmp119 = */ atspre_prerr_newline () ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp121)->tag = 50 ; ats_selptrset_mac(anairiats_sum_7, tmp121, atslab_0, arg1) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp121) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp101) ; break ; } while (0) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 9052(line=350, offs=1) -- 9424(line=362, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_auxerr_pfobj_13: /* tmp123 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp124 = */ atspre_prerr_string (ATSstrcst(": exchange cannot be performed")) ; /* tmp125 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp127 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp128 = */ atspre_prerr_newline () ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp129)->tag = 53 ; ats_selptrset_mac(anairiats_sum_2, tmp129, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp129, atslab_1, arg1) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp129) ; return /* (tmp122) */ ; } /* end of [auxerr_pfobj_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 9455(line=365, offs=1) -- 9937(line=383, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (anairiats_rec_1, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; __ats_lab_auxmain_14: // tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_2) ; ATS_FREE(arg1) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp131 ; /* ats_int_type tmp132 ; */ tmp132 = 0 ; /* ats_int_type tmp133 ; */ tmp133 = 0 ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp131, arg2, (&tmp132), (&tmp133)) ; tmp135 = ats_select_mac(tmp134, atslab_0) ; tmp136 = ats_select_mac(tmp134, atslab_1) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp135) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp136) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng (arg0, arg3, tmp137) ; return (tmp130) ; } /* end of [auxmain_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 10012(line=388, offs=20) -- 10368(line=402, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref: tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp140 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_0) ; ATS_FREE(tmp140) ; tmp139 = auxmain_14 (arg0, tmp141, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp140 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp142 ; /* tmp143 = */ auxerr_pfobj_13 (arg0, arg1) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg3) ; break ; } while (0) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 10456(line=410, offs=5) -- 10908(line=432, offs=4) */ ATSstaticdec() ats_ptr_type aux1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_aux1_16: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp145 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_4, tmp145, atslab_0) ; ATS_FREE(tmp145) ; /* ats_ptr_type tmp147 ; */ tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref (arg0, tmp146, arg3, arg4, (&tmp147)) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr (arg0, arg2, tmp147, arg3, tmp148) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp145 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp144 = aux2_17 (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp144) ; } /* end of [aux1_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 10931(line=434, offs=5) -- 11660(line=461, offs=4) */ ATSstaticdec() ats_ptr_type aux2_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_int_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (anairiats_rec_1, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_int_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_aux2_17: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (arg1) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp150 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_4, tmp150, atslab_0) ; ATS_FREE(tmp150) ; /* ats_int_type tmp152 ; */ tmp152 = 0 ; /* ats_int_type tmp153 ; */ tmp153 = 0 ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp151, arg3, (&tmp152), (&tmp153)) ; tmp155 = ats_select_mac(tmp154, atslab_0) ; tmp156 = ats_select_mac(tmp154, atslab_1) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp155) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp156) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_xchng (arg0, arg4, tmp157) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg4), atslab_d2exp_loc) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (tmp161) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ref (arg0, arg2, tmp151, arg3, tmp159) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp150 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp149 = aux3_18 (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp149) ; } /* end of [aux2_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 11683(line=463, offs=5) -- 11822(line=473, offs=4) */ ATSstaticdec() ats_ptr_type aux3_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; __ats_lab_aux3_18: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (arg0) ; return (tmp162) ; } /* end of [aux3_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 11900(line=479, offs=3) -- 12337(line=494, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng_deref: tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp164) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp164) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp167) ; tmp163 = aux1_16 (arg0, tmp168, tmp164, tmp166, arg3) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 12428(line=502, offs=4) -- 12610(line=509, offs=4) */ ATSstaticdec() ats_void_type auxerr_wrt_if_20 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_auxerr_wrt_if_20: tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt (arg0) ; tmp171 = atspre_gt_int_int (tmp170, 0) ; if (tmp171) { tmp172 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp172)->tag = 32 ; ats_selptrset_mac(anairiats_sum_7, tmp172, atslab_0, arg0) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp172) ; } else { /* empty */ } /* end of [if] */ return /* (tmp169) */ ; } /* end of [auxerr_wrt_if_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 12639(line=511, offs=5) -- 12864(line=518, offs=4) */ ATSstaticdec() ats_void_type auxerr_lproof_21 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; __ats_lab_auxerr_lproof_21: tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; /* tmp174 = */ prerr_error3_loc_02046_ (tmp175) ; /* tmp176 = */ atspre_prerr_string (ATSstrcst(": a non-proof left-value is expected.")) ; /* tmp177 = */ atspre_prerr_newline () ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp178)->tag = 50 ; ats_selptrset_mac(anairiats_sum_7, tmp178, atslab_0, arg0) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp178) ; return /* (tmp173) */ ; } /* end of [auxerr_lproof_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 12896(line=520, offs=5) -- 13142(line=527, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonlval_22 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; __ats_lab_auxerr_nonlval_22: tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; /* tmp180 = */ prerr_error3_loc_02046_ (tmp181) ; /* tmp182 = */ atspre_prerr_string (ATSstrcst(": a left-value is required but a non-left-value is given.")) ; /* tmp183 = */ atspre_prerr_newline () ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp184)->tag = 50 ; ats_selptrset_mac(anairiats_sum_7, tmp184, atslab_0, arg0) ; /* tmp179 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp184) ; return /* (tmp179) */ ; } /* end of [auxerr_nonlval_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 13309(line=537, offs=3) -- 14275(line=573, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng: tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp187)->tag != 43) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 13356(line=539, offs=7) -- 13397(line=539, offs=48)") ; } tmp188 = ats_caselptrlab_mac(anairiats_sum_2, tmp187, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_2, tmp187, atslab_1) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (tmp188) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp190)->tag != 2) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_2, tmp190, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_2, tmp190, atslab_1) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp192) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp191) ; if (tmp194 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_xchng.dats: 13545(line=548, offs=9) -- 13580(line=548, offs=44)") ; } tmp195 = ats_caselptrlab_mac(anairiats_sum_4, tmp194, atslab_0) ; /* ats_ptr_type tmp196 ; */ tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_xchng_deref (tmp186, tmp195, tmp193, tmp189, (&tmp196)) ; /* tmp198 = */ auxerr_wrt_if_20 (tmp186) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_var (tmp186, tmp191, tmp196, tmp193, tmp197) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp190)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_2, tmp190, atslab_0) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_2, tmp190, atslab_1) ; /* tmp201 = */ auxerr_wrt_if_20 (tmp186) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng_deref (tmp186, tmp199, tmp200, tmp189) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp190)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp202 = */ auxerr_lproof_21 (tmp188) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp186) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp190)->tag != 4) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp203 = */ auxerr_lproof_21 (tmp188) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp186) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: /* tmp204 = */ auxerr_nonlval_22 (tmp188) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp186) ; break ; } while (0) ; return (tmp185) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_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 () ; #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_trans3_xchng_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_dynexp_dats.c0000664000175000017500000067730312655455557021311 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_hilab_loc ; ats_ptr_type atslab_hilab_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; } anairiats_sum_19 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEignore_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcastfn_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextfcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextmcall_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcon_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfreeat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEapp_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEif_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEsif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElst_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofvar_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofsel_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErefarg_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_var_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrpsz_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrinit_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEraise_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtempenver_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; /* 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_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get) () ; ATSextern_fun(ats_double_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cst_is_sizeof) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidexp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ret) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_float) (ats_ptr_type, ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cstsp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_sizeof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_ptrofsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_vbindmapenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tempenver) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifunarg_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_lam) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_fix) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_delay) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_lazyeval) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccompv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cstsp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_refarg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilab_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_lst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_laminit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_fixinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__labhidexplst_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type auxret_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_errccomp_loc_02086_ (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxval_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type loop_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxnode_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxnodelst_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_ptr_type auxlst_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxlst_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxlst2_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 1675(line=54, offs=18) -- 1705(line=54, offs=48) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_dynexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 2739(line=120, offs=3) -- 3035(line=133, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall (arg0, arg3) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_0) ; ATS_FREE(tmp2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp_some (arg0, arg1, arg2, arg3, tmp3) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error (arg1, arg2) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 3088(line=137, offs=1) -- 4029(line=173, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_bool_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp_some: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (arg3) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp7 = atspre_lt_int_int (tmp6, tmp5) ; if (!tmp7) { goto __ats_lab_7_1 ; } tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg4), atslab_primval_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp8)->tag != 29) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_4, tmp8, atslab_0) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp9) ; tmp4 = arg4 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp8)->tag != 30) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_5, tmp8, atslab_1) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp11) ; tmp4 = arg4 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp8)->tag != 31) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_6, tmp8, atslab_1) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp13) ; tmp4 = arg4 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_var (arg0, arg3) ; tmp16 = atspre_gt_int_int (tmp6, 0) ; if (tmp16) { tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_env (arg1, arg2, arg3) ; } else { tmp4 = arg4 ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp4 = arg4 ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 6119(line=248, offs=5) -- 6387(line=259, offs=4) */ ATSstaticdec() ats_ptr_type auxret_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab_auxret_3: tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp18, tmp19) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, arg1, tmp20, arg2) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp18, tmp20) ; return (tmp17) ; } /* end of [auxret_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2597(line=97, offs=20) -- 2660(line=100, offs=2) */ ATSstaticdec() ats_void_type prerr_errccomp_loc_02086_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_prerr_errccomp_loc_02086_: /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst(": error(ccomp)")) ; return /* (tmp57) */ ; } /* end of [prerr_errccomp_loc_02086_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; __ats_lab_prerr_interror_loc_02080_: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp64 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp65 = */ prerr_FILENAME_02078_ () ; /* tmp62 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp62) */ ; } /* end of [prerr_interror_loc_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 6457(line=265, offs=3) -- 10696(line=431, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_char_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_double_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp25)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_var (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp25)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cst (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp25)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_8, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_int (tmp23, tmp24, tmp26) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp25)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_intrep (tmp23, tmp24, tmp27) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp25)->tag != 4) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_9, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_bool (tmp23, tmp24, tmp28) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp25)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_10, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_char (tmp23, tmp24, tmp29) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp25)->tag != 6) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string (tmp30) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_float (tmp23, tmp24, tmp31) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp25)->tag != 7) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_string (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp25)->tag != 8) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_i0nt (tmp23, tmp24, tmp32) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp25)->tag != 9) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_f0loat (tmp23, tmp24, tmp33) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp25)->tag != 10) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cstsp (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp25)->tag != 11) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top (tmp23, tmp24) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp25)->tag != 12) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp23, tmp24) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp25)->tag != 13) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp34 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp25)->tag != 15) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval (tmp23, tmp24, tmp35) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp25)->tag != 14) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_6, tmp25, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_6, tmp25, atslab_1) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp37) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn (tmp23, tmp24, tmp36, tmp38) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp25)->tag != 16) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp25)->tag != 17) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp25)->tag != 18) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp25)->tag != 19) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpcst (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp25)->tag != 20) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpvar (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp25)->tag != 21) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp23, tmp24) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp25)->tag != 22) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp39) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon (tmp23, tmp40) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp41) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp23, tmp24) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp25)->tag != 23) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp25, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp25, atslab_1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp46 = ats_selsin_mac(tmp45, atslab_1) */ ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp43) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush (tmp23, tmp47) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp48) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp44) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop (tmp23) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp51) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp22 = tmp50 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp25)->tag != 24) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp25)->tag != 25) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp25)->tag != 27) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp25)->tag != 28) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp25)->tag != 29) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp25)->tag != 30) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_seq (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp25)->tag != 31) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selab (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp25)->tag != 32) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofvar (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp25)->tag != 33) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofsel (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp25)->tag != 34) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_refarg (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp25)->tag != 35) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selvar (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp25)->tag != 36) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selptr (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp25)->tag != 37) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_var (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp25)->tag != 38) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_ptr (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp25)->tag != 39) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_var (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp25)->tag != 40) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_ptr (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp25)->tag != 41) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp25)->tag != 43) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp25)->tag != 44) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_4, tmp25, atslab_0) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tempenver (arg0, tmp54) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp23, tmp24) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp25)->tag != 45) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_lam (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp25)->tag != 46) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_fix (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp25)->tag != 47) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp25)->tag != 48) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp25)->tag != 49) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp25)->tag != 50) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loop (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp25)->tag != 51) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp25)->tag != 52) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp22 = auxret_3 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp25)->tag != 26) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp56 = */ prerr_errccomp_loc_02086_ (tmp23) ; /* tmp59 = */ atspre_prerr_string (ATSstrcst(": [sif] is not supported after proof-erasure.")) ; /* tmp60 = */ atspre_prerr_newline () ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error (tmp23, tmp24) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: /* tmp61 = */ prerr_interror_loc_02080_ (tmp23) ; /* tmp66 = */ atspre_prerr_string (ATSstrcst(": hidexp_ccomp: hde0 = ")) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidexp (arg2) ; /* tmp68 = */ atspre_prerr_newline () ; tmp69 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 10643(line=428, offs=5) -- 10653(line=428, offs=15)", ATSstrcst("\n")) ; /* tmp22 = */ ats_exit_errmsg (1, tmp69) ; break ; } while (0) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 10765(line=435, offs=3) -- 10930(line=441, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv: tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue (arg2) ; if (tmp71) { tmp70 = auxret_3 (arg0, arg1, arg2) ; } else { tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg2) ; } /* end of [if] */ return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 11060(line=451, offs=5) -- 11594(line=475, offs=4) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab_loop_9: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp74) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp77, atslab_0, tmp76) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp77 ; if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 11338(line=465, offs=9) -- 11370(line=465, offs=41)") ; } tmp78 = &ats_caselptrlab_mac(anairiats_sum_11, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; /* tmp79 = */ loop_9 (arg0, arg1, tmp75, tmp78) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp80 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp80 ; break ; } while (0) ; return /* (tmp73) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 11030(line=449, offs=3) -- 11714(line=484, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp: /* ats_ptr_type tmp81 ; */ /* tmp82 = */ loop_9 (arg0, arg1, arg2, (&tmp81)) ; tmp72 = ats_castfn_mac(ats_ptr_type, tmp81) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 11824(line=492, offs=5) -- 12359(line=516, offs=4) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab_loop_11: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv (arg0, arg1, tmp85) ; tmp88 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp88, atslab_0, tmp87) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp88 ; if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 12103(line=506, offs=9) -- 12135(line=506, offs=41)") ; } tmp89 = &ats_caselptrlab_mac(anairiats_sum_11, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; /* tmp90 = */ loop_11 (arg0, arg1, tmp86, tmp89) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp91 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp91 ; break ; } while (0) ; return /* (tmp84) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 11794(line=490, offs=3) -- 12479(line=525, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccompv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccompv: /* ats_ptr_type tmp92 ; */ /* tmp93 = */ loop_11 (arg0, arg1, arg2, (&tmp92)) ; tmp83 = ats_castfn_mac(ats_ptr_type, tmp92) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccompv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 12726(line=538, offs=5) -- 13355(line=564, offs=4) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_loop_13: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_11, tmp96, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_11, tmp96, atslab_1) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp99) ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp101, atslab_0, tmp98) ; ats_selptrset_mac(anairiats_sum_11, tmp101, atslab_1, tmp100) ; tmp102 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp102, atslab_0, tmp101) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp102 ; if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 13093(line=554, offs=9) -- 13127(line=554, offs=43)") ; } tmp103 = &ats_caselptrlab_mac(anairiats_sum_11, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; /* tmp104 = */ loop_13 (arg0, arg1, tmp97, tmp103) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp105 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp105 ; break ; } while (0) ; return /* (tmp95) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 12695(line=536, offs=3) -- 13482(line=573, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__labhidexplst_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__labhidexplst_ccomp: /* ats_ptr_type tmp106 ; */ /* tmp107 = */ loop_13 (arg0, arg1, arg2, (&tmp106)) ; tmp94 = ats_castfn_mac(ats_ptr_type, tmp106) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__labhidexplst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 13547(line=580, offs=1) -- 13803(line=592, offs=4) */ ATSstaticdec() ats_void_type auxval_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab_auxval_14: tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg3) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp109, arg2, tmp110) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp111) ; return /* (tmp108) */ ; } /* end of [auxval_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 13875(line=598, offs=1) -- 17771(line=741, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret: tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp115)->tag != 1) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp115)->tag != 0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp115)->tag != 2) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp115)->tag != 3) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp115)->tag != 4) { goto __ats_lab_72_0 ; } __ats_lab_71_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp115)->tag != 5) { goto __ats_lab_73_0 ; } __ats_lab_72_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp115)->tag != 6) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp115)->tag != 7) { goto __ats_lab_75_0 ; } __ats_lab_74_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp115)->tag != 8) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp115)->tag != 9) { goto __ats_lab_77_0 ; } __ats_lab_76_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp115)->tag != 11) { goto __ats_lab_78_0 ; } __ats_lab_77_1: break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp115)->tag != 12) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp115)->tag != 13) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_4, tmp115, atslab_0) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp116) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp115)->tag != 14) { goto __ats_lab_81_0 ; } __ats_lab_80_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp115)->tag != 15) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp115)->tag != 16) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extfcall (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp115)->tag != 17) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extmcall (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp115)->tag != 18) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_con (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp115)->tag != 19) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp115)->tag != 20) { goto __ats_lab_87_0 ; } __ats_lab_86_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp115)->tag != 21) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp115)->tag != 22) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp115)->tag != 23) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_6, tmp115, atslab_0) ; tmp119 = ats_caselptrlab_mac(anairiats_sum_6, tmp115, atslab_1) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp121 = ats_selsin_mac(tmp120, atslab_1) */ ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp118) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush (tmp113, tmp122) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp123) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, arg1, arg2, tmp119) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop (tmp113) ; /* tmp127 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp126) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp115)->tag != 24) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_app (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp115)->tag != 25) { goto __ats_lab_92_0 ; } __ats_lab_91_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_if (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp115)->tag != 27) { goto __ats_lab_93_0 ; } __ats_lab_92_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp115)->tag != 28) { goto __ats_lab_94_0 ; } __ats_lab_93_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_lst (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp115)->tag != 29) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_rec (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp115)->tag != 30) { goto __ats_lab_96_0 ; } __ats_lab_95_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_seq (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp115)->tag != 31) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp115)->tag != 32) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp115)->tag != 33) { goto __ats_lab_99_0 ; } __ats_lab_98_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp115)->tag != 35) { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp115)->tag != 36) { goto __ats_lab_101_0 ; } __ats_lab_100_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp115)->tag != 37) { goto __ats_lab_102_0 ; } __ats_lab_101_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp115)->tag != 38) { goto __ats_lab_103_0 ; } __ats_lab_102_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp115)->tag != 39) { goto __ats_lab_104_0 ; } __ats_lab_103_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp115)->tag != 40) { goto __ats_lab_105_0 ; } __ats_lab_104_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp115)->tag != 41) { goto __ats_lab_106_0 ; } __ats_lab_105_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrpsz (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp115)->tag != 42) { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrinit (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp115)->tag != 43) { goto __ats_lab_108_0 ; } __ats_lab_107_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_raise (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp115)->tag != 45) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_12, tmp115, atslab_0) ; tmp129 = atspre_neq_int_int (tmp128, 0) ; if (tmp129) { /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; } else { /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_laminit (arg0, arg1, arg2, arg3) ; } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp115)->tag != 46) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_12, tmp115, atslab_0) ; tmp131 = atspre_neq_int_int (tmp130, 0) ; if (tmp131) { /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; } else { /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_fixinit (arg0, arg1, arg2, arg3) ; } /* end of [if] */ break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp115)->tag != 47) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_delay (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp115)->tag != 48) { goto __ats_lab_112_0 ; } __ats_lab_111_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_ldelay (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp115)->tag != 49) { goto __ats_lab_113_0 ; } __ats_lab_112_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_lazyeval (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp115)->tag != 50) { goto __ats_lab_114_0 ; } __ats_lab_113_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp115)->tag != 51) { goto __ats_lab_115_0 ; } __ats_lab_114_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp115)->tag != 52) { goto __ats_lab_116_0 ; } __ats_lab_115_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp115)->tag != 26) { goto __ats_lab_117_0 ; } __ats_lab_116_1: /* tmp112 = */ auxval_14 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: /* tmp132 = */ atspre_print_string (ATSstrcst("hidexp_ccomp_ret: loc0 = ")) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location (tmp113) ; /* tmp134 = */ atspre_print_newline () ; /* tmp135 = */ atspre_print_string (ATSstrcst("hidexp_ccomp_ret: hde0 = ")) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp (arg3) ; /* tmp137 = */ atspre_print_newline () ; tmp138 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 17733(line=738, offs=5) -- 17743(line=738, offs=15)", ATSstrcst("\n")) ; /* tmp112 = */ ats_exit_errmsg (1, tmp138) ; break ; } while (0) ; return /* (tmp112) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 17870(line=749, offs=3) -- 18165(line=763, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilab_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilab_ccomp: tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg2), atslab_hilab_loc) ; tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg2), atslab_hilab_node) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp141)->tag != 0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_4, tmp141, atslab_0) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab (tmp140, tmp142) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (((ats_sum_ptr_type)tmp141)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_4, tmp141, atslab_0) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp (arg0, arg1, tmp143) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind (tmp140, tmp144) ; break ; } while (0) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilab_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 18218(line=767, offs=3) -- 18474(line=779, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp: do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilab_ccomp (arg0, arg1, tmp146) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp147) ; tmp145 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp145, atslab_0, tmp148) ; ats_selptrset_mac(anairiats_sum_11, tmp145, atslab_1, tmp149) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg2 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 18247(line=770, offs=1) -- 18467(line=777, offs=29)") ; } __ats_lab_121_1: tmp145 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 18553(line=785, offs=3) -- 18857(line=801, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_var: tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp153)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 18638(line=789, offs=5) -- 18669(line=789, offs=36)") ; } tmp154 = ats_caselptrlab_mac(anairiats_sum_4, tmp153, atslab_0) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (arg0, tmp151, tmp152, tmp154) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (tmp154) ; do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (tmp156 != (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp150 = tmp155 ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: // if (tmp156 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_123_1: tmp157 = (ats_sum_ptr_type)0 ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (tmp151, tmp152, tmp155, tmp152, tmp157) ; break ; } while (0) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 18938(line=807, offs=3) -- 19129(line=816, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cst: tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp161)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19023(line=811, offs=5) -- 19054(line=811, offs=36)") ; } tmp162 = ats_caselptrlab_mac(anairiats_sum_4, tmp161, atslab_0) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add (tmp162) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cst (tmp159, tmp160, tmp162) ; return (tmp158) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19213(line=822, offs=3) -- 19377(line=830, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_string: tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp167)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19298(line=826, offs=5) -- 19332(line=826, offs=39)") ; } tmp168 = ats_caselptrlab_mac(anairiats_sum_4, tmp167, atslab_0) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_string (tmp165, tmp166, tmp168) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19463(line=836, offs=3) -- 20007(line=859, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cstsp: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp172 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp172)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19548(line=840, offs=5) -- 19579(line=840, offs=36)") ; } tmp173 = ats_caselptrlab_mac(anairiats_sum_4, tmp172, atslab_0) ; do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp173)->tag != 0) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename (tmp170) ; tmp174 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp174)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp174, atslab_0, tmp175) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp173)->tag != 1) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp174 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp174)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp174, atslab_0, tmp170) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (((ats_sum_ptr_type)tmp173)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp177 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 19873(line=853, offs=16) -- 19889(line=853, offs=32)", ATSstrcst("\n")) ; /* tmp176 = */ atspre_assert_errmsg (ats_false_bool, tmp177) ; /* tmp174 = */ ats_exit (1) ; break ; } while (0) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cstsp (tmp170, tmp171, tmp174) ; return (tmp169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 20093(line=865, offs=3) -- 21137(line=909, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_bool_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpcst: tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp180 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp181)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 20178(line=869, offs=5) -- 20219(line=869, offs=46)") ; } tmp182 = ats_caselptrlab_mac(anairiats_sum_6, tmp181, atslab_0) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_6, tmp181, atslab_1) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cst_is_sizeof (tmp182) ; if (!tmp185) { goto __ats_lab_128_1 ; } if (tmp183 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 20334(line=878, offs=9) -- 20361(line=878, offs=36)") ; } tmp186 = ats_caselptrlab_mac(anairiats_sum_11, tmp183, atslab_0) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp186), atslab_t2mpmarg_loc) ; tmp188 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp186), atslab_t2mpmarg_arg) ; if (tmp188 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 20403(line=880, offs=9) -- 20442(line=880, offs=48)") ; } tmp189 = ats_caselptrlab_mac(anairiats_sum_11, tmp188, atslab_0) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp187, tmp189) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_sizeof (tmp179, tmp190) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: __ats_lab_128_1: tmp191 = atspre_gt_int_int (tmp184, 0) ; if (!tmp191) { goto __ats_lab_129_1 ; } tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcst (tmp179, tmp180, tmp182, tmp183) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match (arg0, tmp182, tmp183) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat (arg0, tmp179, tmp180, tmp182, tmp183, tmp192) ; break ; } while (0) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 21224(line=915, offs=3) -- 22015(line=950, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpvar: tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp196 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp196)->tag != 20) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 21309(line=919, offs=5) -- 21350(line=919, offs=46)") ; } tmp197 = ats_caselptrlab_mac(anairiats_sum_6, tmp196, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_6, tmp196, atslab_1) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; do { /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: tmp200 = atspre_gt_int_int (tmp199, 0) ; if (!tmp200) { goto __ats_lab_131_1 ; } tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvar (tmp194, tmp195, tmp197, tmp198) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: __ats_lab_131_1: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match (arg0, tmp197, tmp198) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat (arg0, tmp194, tmp195, tmp197, tmp198, tmp201) ; break ; } while (0) ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 22227(line=963, offs=5) -- 22572(line=981, offs=4) */ ATSstaticdec() ats_ptr_type loop_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab_loop_25: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_0) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_1) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg2) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp208 ; arg3 = tmp209 ; goto __ats_lab_loop_25 ; // tail call break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_133_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp207) ; } /* end of [loop_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 22099(line=956, offs=3) -- 22722(line=990, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_seq: tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp204 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp205)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 22187(line=961, offs=5) -- 22219(line=961, offs=37)") ; } tmp206 = ats_caselptrlab_mac(anairiats_sum_4, tmp205, atslab_0) ; do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (tmp206 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_11, tmp206, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_11, tmp206, atslab_1) ; tmp202 = loop_25 (arg0, arg1, tmp211, tmp212) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (tmp206 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp203, tmp204) ; break ; } while (0) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 22805(line=996, offs=3) -- 23085(line=1008, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selab: tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp215 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp216)->tag != 31) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 22893(line=1001, offs=5) -- 22940(line=1001, offs=52)") ; } tmp217 = ats_caselptrlab_mac(anairiats_sum_15, tmp216, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_15, tmp216, atslab_1) ; tmp219 = ats_caselptrlab_mac(anairiats_sum_15, tmp216, atslab_2) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp217) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp219) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2 (tmp214, tmp215, tmp220, tmp218, tmp221) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 23171(line=1014, offs=3) -- 23715(line=1041, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selvar: tmp223 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp225 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp225)->tag != 35) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 23256(line=1018, offs=5) -- 23304(line=1018, offs=53)") ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_15, tmp225, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_15, tmp225, atslab_1) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_15, tmp225, atslab_2) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (arg0, tmp223, tmp227, tmp226) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp228) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (tmp226) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (tmp231 == (ats_sum_ptr_type)0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (tmp223, tmp224, tmp229, tmp227, tmp230) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (tmp231 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2 (tmp223, tmp224, tmp229, tmp227, tmp230) ; break ; } while (0) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 23802(line=1047, offs=3) -- 24076(line=1057, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selptr: tmp233 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp235 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp235)->tag != 36) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 23887(line=1051, offs=5) -- 23935(line=1051, offs=53)") ; } tmp236 = ats_caselptrlab_mac(anairiats_sum_15, tmp235, atslab_0) ; tmp237 = ats_caselptrlab_mac(anairiats_sum_15, tmp235, atslab_1) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_15, tmp235, atslab_2) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp236) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp238) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (tmp233, tmp234, tmp239, tmp237, tmp240) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_selptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24165(line=1063, offs=3) -- 24333(line=1071, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofvar: tmp242 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp244)->tag != 32) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24250(line=1067, offs=5) -- 24286(line=1067, offs=41)") ; } tmp245 = ats_caselptrlab_mac(anairiats_sum_4, tmp244, atslab_0) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (arg0, tmp242, tmp243, tmp245) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24424(line=1077, offs=3) -- 24678(line=1088, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofsel: tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp248 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp248)->tag != 33) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24481(line=1080, offs=5) -- 24533(line=1081, offs=41)") ; } tmp249 = ats_caselptrlab_mac(anairiats_sum_15, tmp248, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_15, tmp248, atslab_1) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_15, tmp248, atslab_2) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp249) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp251) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_ptrofsel (tmp247, tmp252, tmp250, tmp253) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24767(line=1094, offs=3) -- 25003(line=1105, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_refarg: tmp255 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp257 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp257)->tag != 34) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 24852(line=1098, offs=5) -- 24902(line=1099, offs=41)") ; } tmp258 = ats_caselptrlab_mac(anairiats_sum_16, tmp257, atslab_0) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_16, tmp257, atslab_1) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_16, tmp257, atslab_2) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp260) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg (tmp255, tmp256, tmp258, tmp259, tmp261) ; return (tmp254) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 25093(line=1111, offs=3) -- 25531(line=1127, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_var: tmp263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp264 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp265 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp265)->tag != 37) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 25178(line=1115, offs=5) -- 25240(line=1116, offs=50)") ; } tmp266 = ats_caselptrlab_mac(anairiats_sum_17, tmp265, atslab_0) ; tmp267 = ats_caselptrlab_mac(anairiats_sum_17, tmp265, atslab_1) ; tmp268 = ats_caselptrlab_mac(anairiats_sum_17, tmp265, atslab_2) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_17, tmp265, atslab_3) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (arg0, tmp263, tmp267, tmp266) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp268) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp269) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs (tmp263, tmp270, tmp267, tmp271, tmp272) ; /* tmp274 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp273) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp263, tmp264) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 25603(line=1131, offs=3) -- 26027(line=1146, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; // ATSlocal_void (tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_ptr: tmp276 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp277 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp278 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp278)->tag != 38) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 25688(line=1135, offs=5) -- 25750(line=1136, offs=50)") ; } tmp279 = ats_caselptrlab_mac(anairiats_sum_17, tmp278, atslab_0) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_17, tmp278, atslab_1) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_17, tmp278, atslab_2) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_17, tmp278, atslab_3) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp279) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp281) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp282) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs (tmp276, tmp283, tmp280, tmp284, tmp285) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp286) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp276, tmp277) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_assgn_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 26120(line=1152, offs=3) -- 26630(line=1170, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; // ATSlocal_void (tmp302) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_var: tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp291 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp291)->tag != 39) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 26205(line=1156, offs=5) -- 26267(line=1157, offs=50)") ; } tmp292 = ats_caselptrlab_mac(anairiats_sum_17, tmp291, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_17, tmp291, atslab_1) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_17, tmp291, atslab_2) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_17, tmp291, atslab_3) ; tmp296 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp295), atslab_hidexp_type) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp289, tmp296) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__d2var_ccomp (arg0, tmp289, tmp293, tmp292) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp294) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp295) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs (tmp289, tmp297, tmp298, tmp293, tmp299, tmp300) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp301) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp289, tmp290) ; return (tmp288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 26702(line=1174, offs=3) -- 27198(line=1191, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; // ATSlocal_void (tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_ptr: tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp305 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp306 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp306)->tag != 40) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 26787(line=1178, offs=5) -- 26849(line=1179, offs=50)") ; } tmp307 = ats_caselptrlab_mac(anairiats_sum_17, tmp306, atslab_0) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_17, tmp306, atslab_1) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_17, tmp306, atslab_2) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_17, tmp306, atslab_3) ; tmp311 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp310), atslab_hidexp_type) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp304, tmp311) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp307) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hilablst_ccomp (arg0, arg1, tmp309) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp310) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs (tmp304, tmp312, tmp313, tmp308, tmp314, tmp315) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp316) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp304, tmp305) ; return (tmp303) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_xchng_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 27289(line=1197, offs=3) -- 27581(line=1208, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_con: tmp319 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp320 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp320)->tag != 18) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 27354(line=1200, offs=5) -- 27400(line=1200, offs=51)") ; } tmp321 = ats_caselptrlab_mac(anairiats_sum_15, tmp320, atslab_0) ; tmp322 = ats_caselptrlab_mac(anairiats_sum_15, tmp320, atslab_1) ; tmp323 = ats_caselptrlab_mac(anairiats_sum_15, tmp320, atslab_2) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_add (tmp321) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__labhidexplst_ccomp (arg0, arg1, tmp323) ; tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con (tmp319, arg2, tmp321, tmp322, tmp325) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp326) ; return /* (tmp318) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 27670(line=1214, offs=3) -- 31335(line=1365, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_int_type, tmp336) ; ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_bool_type, tmp338) ; ATSlocal (ats_bool_type, tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_int_type, tmp348) ; ATSlocal (ats_bool_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_int_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_bool_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_int_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_bool_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_int_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_int_type, tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_bool_type, tmp376) ; ATSlocal (ats_bool_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_app: tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp329 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp330)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 27763(line=1218, offs=5) -- 27816(line=1218, offs=58)") ; } tmp331 = ats_caselptrlab_mac(anairiats_sum_15, tmp330, atslab_0) ; tmp332 = ats_caselptrlab_mac(anairiats_sum_15, tmp330, atslab_1) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_15, tmp330, atslab_2) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp331) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp (arg0, arg1, tmp333) ; /* ats_int_type tmp336 ; */ tmp336 = 0 ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get () ; tmp339 = atspre_gt_int_int (tmp337, 0) ; if (tmp339) { tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret (arg2) ; } else { tmp338 = ats_false_bool ; } /* end of [if] */ if (tmp338) { tmp341 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp334), atslab_primval_node) ; do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp341)->tag != 6) { goto __ats_lab_141_0 ; } __ats_lab_138_1: tmp342 = ats_caselptrlab_mac(anairiats_sum_4, tmp341, atslab_0) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst (arg0, tmp342) ; do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (tmp343 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_2, tmp343, atslab_0) ; ATS_FREE(tmp343) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp344, 0, tmp332, tmp335) ; tmp346 = atspre_iadd (tmp336, 1) ; tmp336 = tmp346 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp345) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (tmp343 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: break ; } while (0) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp341)->tag != 29) { goto __ats_lab_144_0 ; } __ats_lab_141_1: tmp347 = ats_caselptrlab_mac(anairiats_sum_4, tmp341, atslab_0) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv (arg0, tmp347) ; do { /* branch: __ats_lab_142 */ __ats_lab_142_0: __ats_lab_142_1: tmp349 = atspre_gte_int_int (tmp348, 0) ; if (!tmp349) { goto __ats_lab_143_1 ; } tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp347, tmp348, tmp332, tmp335) ; tmp351 = atspre_iadd (tmp336, 1) ; tmp336 = tmp351 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp350) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: __ats_lab_143_1: break ; } while (0) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp341)->tag != 30) { goto __ats_lab_147_0 ; } __ats_lab_144_1: tmp352 = ats_caselptrlab_mac(anairiats_sum_5, tmp341, atslab_1) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv (arg0, tmp352) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: __ats_lab_145_1: tmp354 = atspre_gte_int_int (tmp353, 0) ; if (!tmp354) { goto __ats_lab_146_1 ; } tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp352, tmp353, tmp332, tmp335) ; tmp356 = atspre_iadd (tmp336, 1) ; tmp336 = tmp356 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp355) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: __ats_lab_146_1: break ; } while (0) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp341)->tag != 31) { goto __ats_lab_150_0 ; } __ats_lab_147_1: tmp357 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_1) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv (arg0, tmp357) ; do { /* branch: __ats_lab_148 */ __ats_lab_148_0: __ats_lab_148_1: tmp359 = atspre_gte_int_int (tmp358, 0) ; if (!tmp359) { goto __ats_lab_149_1 ; } tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp357, tmp358, tmp332, tmp335) ; tmp361 = atspre_iadd (tmp336, 1) ; tmp336 = tmp361 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp360) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: __ats_lab_149_1: break ; } while (0) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp341)->tag != 33) { goto __ats_lab_153_0 ; } __ats_lab_150_1: tmp362 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_0) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_1) ; tmp364 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpcst (arg0, tmp362, tmp363) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (tmp364 == (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_2, tmp364, atslab_0) ; ATS_FREE(tmp364) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp365, 0, tmp332, tmp335) ; tmp367 = atspre_iadd (tmp336, 1) ; tmp336 = tmp367 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp366) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: // if (tmp364 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_152_1: break ; } while (0) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp341)->tag != 34) { goto __ats_lab_156_0 ; } __ats_lab_153_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_1) ; /* ats_int_type tmp370 ; */ tmp370 = 0 ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpvar (arg0, tmp368, tmp369, (&tmp370)) ; do { /* branch: __ats_lab_154 */ __ats_lab_154_0: if (tmp371 == (ats_sum_ptr_type)0) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_2, tmp371, atslab_0) ; ATS_FREE(tmp371) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp328, arg2, tmp372, tmp370, tmp332, tmp335) ; tmp374 = atspre_iadd (tmp336, 1) ; tmp336 = tmp374 ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp373) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: // if (tmp371 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_155_1: break ; } while (0) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: __ats_lab_156_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ tmp376 = atspre_gt_int_int (tmp336, 0) ; if (tmp376) { /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal (arg2) ; } else { /* empty */ } /* end of [if] */ tmp377 = atspre_eq_int_int (tmp336, 0) ; if (tmp377) { tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall (tmp328, arg2, tmp334, tmp332, tmp335) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp378) ; } else { /* empty */ } /* end of [if] */ return /* (tmp327) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 31429(line=1371, offs=3) -- 31703(line=1383, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extfcall: tmp380 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp382 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp382)->tag != 16) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 31522(line=1375, offs=5) -- 31565(line=1375, offs=48)") ; } tmp383 = ats_caselptrlab_mac(anairiats_sum_6, tmp382, atslab_0) ; tmp384 = ats_caselptrlab_mac(anairiats_sum_6, tmp382, atslab_1) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp (arg0, arg1, tmp384) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall (tmp380, arg2, tmp383, tmp385) ; /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp386) ; return /* (tmp379) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 31802(line=1389, offs=3) -- 32129(line=1402, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extmcall: tmp388 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp389 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp390)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 31895(line=1393, offs=5) -- 31944(line=1393, offs=54)") ; } tmp391 = ats_caselptrlab_mac(anairiats_sum_15, tmp390, atslab_0) ; tmp392 = ats_caselptrlab_mac(anairiats_sum_15, tmp390, atslab_1) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_15, tmp390, atslab_2) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp391) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccomp (arg0, arg1, tmp393) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall (tmp388, arg2, tmp394, tmp392, tmp395) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp396) ; return /* (tmp387) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 32222(line=1408, offs=3) -- 33028(line=1436, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; // ATSlocal_void (tmp406) ; // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; // ATSlocal_void (tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_if: tmp398 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp399 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp400)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 32318(line=1413, offs=5) -- 32375(line=1414, offs=52)") ; } tmp401 = ats_caselptrlab_mac(anairiats_sum_15, tmp400, atslab_0) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_15, tmp400, atslab_1) ; tmp403 = ats_caselptrlab_mac(anairiats_sum_15, tmp400, atslab_2) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp401) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp406 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp407 = ats_selsin_mac(tmp406, atslab_1) */ ; /* tmp408 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp405, arg2, tmp402) ; /* tmp409 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp405) ; tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp413 = ats_selsin_mac(tmp412, atslab_1) */ ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp411, arg2, tmp403) ; /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp411) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond (tmp398, tmp404, tmp410, tmp416) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp417) ; return /* (tmp397) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 33094(line=1442, offs=5) -- 33667(line=1465, offs=4) */ ATSstaticdec() ats_void_type auxnode_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; // ATSlocal_void (tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; // ATSlocal_void (tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; // ATSlocal_void (tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; __ats_lab_auxnode_41: tmp419 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg5), atslab_hidexp_loc) ; tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons (tmp419, arg3, arg4) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp420) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead (tmp419, arg2, arg3, arg4) ; /* tmp423 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp422) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg5) ; tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val (tmp419, arg2, tmp424) ; /* tmp426 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp425) ; tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail (tmp419, arg3, arg3, arg4) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp427) ; return /* (tmp418) */ ; } /* end of [auxnode_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 33693(line=1467, offs=5) -- 34234(line=1490, offs=4) */ ATSstaticdec() ats_void_type auxnodelst_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; // ATSlocal_void (tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; __ats_lab_auxnodelst_42: do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp429 = ats_caselptrlab_mac(anairiats_sum_11, arg6, atslab_0) ; tmp430 = ats_caselptrlab_mac(anairiats_sum_11, arg6, atslab_1) ; /* tmp431 = */ auxnode_41 (arg0, arg1, arg2, arg3, arg5, tmp429) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; arg6 = tmp430 ; goto __ats_lab_auxnodelst_42 ; // tail call break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_158_1: tmp432 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil (arg4, arg3) ; /* tmp428 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp432) ; break ; } while (0) ; return /* (tmp428) */ ; } /* end of [auxnodelst_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 34316(line=1496, offs=3) -- 35110(line=1524, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; // ATSlocal_void (tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_lst: tmp434 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp435 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec (arg1, tmp434, arg2) ; tmp437 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp437)->tag != 28) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 34465(line=1504, offs=5) -- 34511(line=1504, offs=51)") ; } tmp438 = ats_caselptrlab_mac(anairiats_sum_12, tmp437, atslab_1) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_12, tmp437, atslab_2) ; do { /* branch: __ats_lab_159 */ __ats_lab_159_0: if (tmp439 == (ats_sum_ptr_type)0) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp434, arg2) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp434, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, tmp440) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp434, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp434, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr) ; tmp444 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp434, tmp443, tmp441) ; /* tmp445 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp444) ; /* tmp433 = */ auxnodelst_42 (arg0, arg1, tmp442, tmp443, tmp434, tmp438, tmp439) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: // if (tmp439 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_160_1: tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil (tmp434, arg2) ; /* tmp433 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp446) ; break ; } while (0) ; return /* (tmp433) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 35201(line=1533, offs=1) -- 35607(line=1555, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; __ats_lab_auxlst_44: do { /* branch: __ats_lab_161 */ __ats_lab_161_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp448 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp449 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp450 = ats_caselptrlab_mac(anairiats_sum_11, tmp448, atslab_0) ; tmp451 = ats_caselptrlab_mac(anairiats_sum_11, tmp448, atslab_1) ; tmp452 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp451) ; tmp453 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp453, atslab_0, tmp450) ; ats_selptrset_mac(anairiats_sum_11, tmp453, atslab_1, tmp452) ; tmp454 = auxlst_44 (arg0, arg1, tmp449) ; tmp447 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp447, atslab_0, tmp453) ; ats_selptrset_mac(anairiats_sum_11, tmp447, atslab_1, tmp454) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_162_1: tmp447 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp447) ; } /* end of [auxlst_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 35685(line=1561, offs=3) -- 36094(line=1580, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_int_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_rec: tmp456 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp457 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp458)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 35781(line=1566, offs=5) -- 35828(line=1566, offs=52)") ; } tmp459 = ats_caselptrlab_mac(anairiats_sum_12, tmp458, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_12, tmp458, atslab_1) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_12, tmp458, atslab_2) ; tmp462 = auxlst_44 (arg0, arg1, tmp460) ; tmp464 = atspre_gt_int_int (tmp459, 0) ; if (tmp464) { tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec (tmp456, arg2, tmp462, tmp461) ; } else { tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec2 (tmp456, arg2, tmp462, tmp461) ; } /* end of [if] */ /* tmp455 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp463) ; return /* (tmp455) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 36342(line=1595, offs=5) -- 36721(line=1614, offs=4) */ ATSstaticdec() ats_void_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; __ats_lab_loop_47: do { /* branch: __ats_lab_163 */ __ats_lab_163_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp471 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_0) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_1) ; tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, arg2) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp471 ; arg3 = tmp472 ; arg4 = arg4 ; goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_164_1: /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, arg1, arg4, arg2) ; break ; } while (0) ; return /* (tmp470) */ ; } /* end of [loop_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 36206(line=1588, offs=3) -- 36858(line=1624, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_seq: tmp466 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp467 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp468 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp468)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 36302(line=1593, offs=5) -- 36334(line=1593, offs=37)") ; } tmp469 = ats_caselptrlab_mac(anairiats_sum_4, tmp468, atslab_0) ; do { /* branch: __ats_lab_165 */ __ats_lab_165_0: if (tmp469 == (ats_sum_ptr_type)0) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp474 = ats_caselptrlab_mac(anairiats_sum_11, tmp469, atslab_0) ; tmp475 = ats_caselptrlab_mac(anairiats_sum_11, tmp469, atslab_1) ; /* tmp465 = */ loop_47 (arg0, arg1, tmp474, tmp475, arg2) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: // if (tmp469 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_166_1: break ; } while (0) ; return /* (tmp465) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 36925(line=1631, offs=1) -- 37303(line=1649, offs=2) */ ATSstaticdec() ats_void_type auxlst_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; __ats_lab_auxlst_48: do { /* branch: __ats_lab_167 */ __ats_lab_167_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexplst_ccompv (arg0, arg1, arg5) ; /* tmp476 = */ auxlst2_49 (arg0, arg1, arg2, arg4, tmp477, arg3, tmp477) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_168_1: break ; } while (0) ; return /* (tmp476) */ ; } /* end of [auxlst_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 37331(line=1651, offs=5) -- 38178(line=1698, offs=2) */ ATSstaticdec() ats_void_type auxlst2_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp478) ; ATSlocal (ats_bool_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_int_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_bool_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; __ats_lab_auxlst2_49: tmp479 = atspre_gt_int_int (arg5, 0) ; if (tmp479) { do { /* branch: __ats_lab_169 */ __ats_lab_169_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_170_0 ; } __ats_lab_169_1: tmp480 = ats_caselptrlab_mac(anairiats_sum_11, arg6, atslab_0) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_11, arg6, atslab_1) ; tmp482 = atspre_sub_int_int (arg5, 1) ; tmp483 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp480), atslab_primval_loc) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val (tmp483, arg2, tmp480) ; /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp484) ; tmp487 = atspre_gte_int_int (tmp482, 1) ; if (tmp487) { tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc (tmp483, arg2, arg3) ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp488) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp482 ; arg6 = tmp481 ; goto __ats_lab_auxlst2_49 ; // tail call break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_170_1: tmp489 = arg4 ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; arg6 = tmp489 ; goto __ats_lab_auxlst2_49 ; // tail call break ; } while (0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp478) */ ; } /* end of [auxlst2_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 38263(line=1704, offs=3) -- 38864(line=1728, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_int_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; // ATSlocal_void (tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; // ATSlocal_void (tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; // ATSlocal_void (tmp504) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrpsz: tmp491 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp492 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec (arg1, tmp491, arg2) ; tmp494 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp494)->tag != 41) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 38411(line=1712, offs=5) -- 38462(line=1713, offs=42)") ; } tmp495 = ats_caselptrlab_mac(anairiats_sum_18, tmp494, atslab_0) ; tmp496 = ats_caselptrlab_mac(anairiats_sum_18, tmp494, atslab_1) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_18, tmp494, atslab_2) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz (tmp491, arg2, tmp497) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp498) ; tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr (tmp491, arg2, tmp495, tmp497) ; /* tmp501 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp500) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp491, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr) ; tmp503 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr (tmp491, tmp502, arg2) ; /* tmp504 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp503) ; /* tmp490 = */ auxlst_48 (arg0, arg1, tmp502, tmp497, tmp495, tmp496) ; return /* (tmp490) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 38960(line=1734, offs=3) -- 39335(line=1747, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_int_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; // ATSlocal_void (tmp515) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrinit: tmp506 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp507 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp507)->tag != 42) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 39025(line=1737, offs=5) -- 39086(line=1738, offs=51)") ; } tmp508 = ats_caselptrlab_mac(anairiats_sum_19, tmp507, atslab_0) ; tmp509 = ats_caselptrlab_mac(anairiats_sum_19, tmp507, atslab_2) ; tmp510 = ats_caselptrlab_mac(anairiats_sum_19, tmp507, atslab_3) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg2) ; tmp512 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp506, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr) ; tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp511, arg2) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp506, tmp512, tmp514) ; /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp513) ; /* tmp505 = */ auxlst_48 (arg0, arg1, tmp512, tmp510, tmp508, tmp509) ; return /* (tmp505) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 39453(line=1755, offs=3) -- 39707(line=1766, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_raise: tmp517 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp518 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp518)->tag != 43) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 39518(line=1758, offs=5) -- 39555(line=1758, offs=42)") ; } tmp519 = ats_caselptrlab_mac(anairiats_sum_4, tmp518, atslab_0) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp519) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise (tmp517, arg2, tmp520) ; /* tmp516 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp521) ; return /* (tmp516) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 39804(line=1772, offs=1) -- 41109(line=1836, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; // ATSlocal_void (tmp524) ; ATSlocal (ats_int_type, tmp525) ; // ATSlocal_void (tmp526) ; // ATSlocal_void (tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; // ATSlocal_void (tmp530) ; ATSlocal (ats_int_type, tmp531) ; // ATSlocal_void (tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; // ATSlocal_void (tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; // ATSlocal_void (tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body: tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp524 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst (tmp523, arg4) ; tmp525 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (arg1) ; /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc () ; /* tmp527 = ats_selsin_mac(tmp526, atslab_1) */ ; /* tmp528 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv (arg0) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv (arg0) ; /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv (arg0) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; /* tmp532 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifunarg_ccomp (arg0, tmp523, arg1, tmp531, arg5, arg6) ; tmp533 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg7), atslab_hidexp_loc) ; tmp534 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg7), atslab_hidexp_type) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ret (tmp533, tmp534) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp523, tmp535, arg7) ; tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_vbindmapenv (arg0) ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv (arg0) ; tmp539 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free (tmp538) ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap (arg0, tmp525, tmp537, tmp539) ; tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv (arg0) ; tmp542 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free (tmp541) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec () ; tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp523) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make2 (arg5, arg1, arg2, arg3, tmp535, ats_castfn_mac(ats_ptr_type, tmp540), ats_castfn_mac(ats_ptr_type, tmp542), tmp537, tmp544) ; return (tmp522) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 41368(line=1851, offs=3) -- 42358(line=1886, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; // ATSlocal_void (tmp550) ; ATSlocal (ats_int_type, tmp551) ; // ATSlocal_void (tmp552) ; ATSlocal (ats_bool_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; // ATSlocal_void (tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab: tmp546 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp547 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp547)->tag != 45) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 41431(line=1854, offs=5) -- 41482(line=1854, offs=56)") ; } tmp548 = ats_caselptrlab_mac(anairiats_sum_12, tmp547, atslab_1) ; tmp549 = ats_caselptrlab_mac(anairiats_sum_12, tmp547, atslab_2) ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (arg0, arg3) ; tmp551 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; tmp553 = atspre_gt_int_int (tmp551, 0) ; if (tmp553) { /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (arg3, 1) ; } else { /* empty */ } /* end of [if] */ tmp554 = (ats_sum_ptr_type)0 ; tmp555 = (ats_sum_ptr_type)0 ; tmp556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (tmp546, arg3) ; tmp558 = (ats_sum_ptr_type)0 ; tmp557 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp557, atslab_0, tmp556) ; ats_selptrset_mac(anairiats_sum_11, tmp557, atslab_1, tmp558) ; tmp559 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (arg0, arg3, tmp554, tmp555, tmp557, tmp546, tmp548, tmp549) ; tmp561 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp561, atslab_0, tmp559) ; /* tmp560 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (arg3, tmp561) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; return /* (tmp545) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 42444(line=1892, offs=3) -- 42784(line=1905, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_lam (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_lam: tmp563 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp564 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_type) ; tmp565 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp564) ; tmp566 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp563, tmp565) ; /* tmp567 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp565) ; /* tmp568 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp565) ; /* tmp569 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab (arg0, arg1, arg2, tmp565) ; tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (0, tmp566) ; return (tmp562) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 42865(line=1911, offs=3) -- 43322(line=1927, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; // ATSlocal_void (tmp578) ; // ATSlocal_void (tmp579) ; // ATSlocal_void (tmp580) ; // ATSlocal_void (tmp581) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_fix: tmp571 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_loc) ; tmp572 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp572)->tag != 46) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 42923(line=1914, offs=5) -- 42970(line=1914, offs=52)") ; } tmp573 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_1) ; tmp574 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_2) ; tmp575 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp574), atslab_hidexp_type) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp575) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp571, tmp576) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp576) ; /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp576) ; /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp573, tmp577) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab (arg0, arg1, tmp574, tmp576) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (1, tmp577) ; return (tmp570) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 43467(line=1937, offs=3) -- 43588(line=1943, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp582) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo: /* tmp582 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; return /* (tmp582) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 43678(line=1949, offs=3) -- 44179(line=1971, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_laminit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_int_type, tmp587) ; // ATSlocal_void (tmp588) ; // ATSlocal_void (tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; ATSlocal (ats_bool_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_laminit: tmp584 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp585 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_type) ; tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp585) ; tmp587 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (tmp586) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp586) ; /* tmp589 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp586) ; /* tmp590 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab (arg0, arg1, arg3, tmp586) ; tmp592 = atspre_gt_int_int (tmp587, 0) ; if (tmp592) { /* tmp591 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo (arg2, tmp586) ; } else { /* empty */ } /* end of [if] */ tmp593 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize (tmp584, arg2, tmp586) ; /* tmp583 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp593) ; return /* (tmp583) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_laminit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 44276(line=1977, offs=3) -- 44948(line=2006, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_fixinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_int_type, tmp602) ; // ATSlocal_void (tmp603) ; // ATSlocal_void (tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; // ATSlocal_void (tmp606) ; // ATSlocal_void (tmp607) ; // ATSlocal_void (tmp608) ; ATSlocal (ats_bool_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_fixinit: tmp595 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_loc) ; tmp596 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp596)->tag != 46) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_dynexp.dats: 44341(line=1980, offs=5) -- 44382(line=1980, offs=46)") ; } tmp597 = ats_caselptrlab_mac(anairiats_sum_12, tmp596, atslab_1) ; tmp598 = ats_caselptrlab_mac(anairiats_sum_12, tmp596, atslab_2) ; tmp599 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp598), atslab_hidexp_loc) ; tmp600 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp598), atslab_hidexp_type) ; tmp601 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (tmp600) ; tmp602 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (tmp601) ; /* tmp603 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp601) ; /* tmp604 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp601) ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab (tmp599, tmp600, tmp601) ; /* tmp606 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp597, tmp605) ; /* tmp607 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_lam_flab (arg0, arg1, tmp598, tmp601) ; tmp609 = atspre_gt_int_int (tmp602, 0) ; if (tmp609) { /* tmp608 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__tmpvar_set2_tyclo (arg2, tmp601) ; } else { /* empty */ } /* end of [if] */ tmp610 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize (tmp595, arg2, tmp601) ; /* tmp594 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp610) ; return /* (tmp594) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__hidexp_ccomp_ret_fixinit] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_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 () ; #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_ccomp_dynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_pprint_dats.c0000664000175000017500000025262212655455557021574 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_6 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_14 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarg) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_s2exp_0 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_s2exp_if_1 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_9 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type loop_9_closure_make (ats_ptr_type env0, ats_int_type env1) ; static ats_void_type loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type aux_s2explst_2 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_10 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type loop_10_closure_make (ats_ptr_type env0, ats_int_type env1) ; static ats_void_type loop_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type aux_s2explstlst_3 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_11 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type loop_11_closure_make (ats_ptr_type env0, ats_int_type env1) ; static ats_void_type loop_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type aux_labs2explst_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_12 (ats_int_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_clo_ptr_type loop_12_closure_make (ats_int_type env0) ; static ats_void_type loop_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type aux_wths2explst_5 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_s2lab_6 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_13 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type loop_13_closure_make (ats_ptr_type env0, ats_int_type env1) ; static ats_void_type loop_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type aux_s2lablst_7 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_s2eff_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 1809(line=64, offs=5) -- 9200(line=353, offs=4) */ ATSstaticdec() ats_void_type aux_s2exp_0 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_int_type, tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; __ats_lab_aux_s2exp_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eint(")) ; /* tmp4 = */ atspre_fprint_int (arg0, tmp2) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eintinf(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, tmp5) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("S2Efloat(")) ; /* tmp10 = */ atspre_fprint_string (arg0, tmp8) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("S2Estring(")) ; /* tmp13 = */ atspre_fprint_string (arg0, tmp11) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ecst(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp14) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_5_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eextype(")) ; /* tmp20 = */ atspre_fprint_string (arg0, tmp17) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp18 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp18 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp21 = */ aux_s2explstlst_3 (arg0, arg1, tmp18) ; break ; } while (0) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eextkind(")) ; /* tmp26 = */ atspre_fprint_string (arg0, tmp23) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp24 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp24 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp27 = */ aux_s2explstlst_3 (arg0, arg1, tmp24) ; break ; } while (0) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("S2Evar(")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp29) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (tmp32) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("S2EVar(")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (arg0, tmp32) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp33 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_4, tmp33, atslab_0) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("->")) ; tmp39 = atspre_sub_int_int (arg1, 1) ; /* tmp36 = */ aux_s2exp_if_1 (arg0, tmp39, tmp37) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp33 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ehole(")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole (arg0, tmp40) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst("S2Edatcontyp(")) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp43) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp48 = */ aux_s2explst_2 (arg0, arg1, tmp44) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; /* tmp52 = */ atspre_fprint_string (arg0, ATSstrcst("S2Edatconptr(")) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp49) ; /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp55 = */ aux_s2exp_0 (arg0, arg1, tmp50) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp57 = */ aux_s2explst_2 (arg0, arg1, tmp51) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eat(")) ; /* tmp61 = */ aux_s2exp_0 (arg0, arg1, tmp58) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp63 = */ aux_s2exp_0 (arg0, arg1, tmp59) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("S2Esizeof(")) ; /* tmp66 = */ aux_s2exp_0 (arg0, arg1, tmp64) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eeff(")) ; /* tmp69 = */ aux_s2eff_8 (arg0, arg1, tmp67) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp72 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eeqeq(")) ; /* tmp73 = */ aux_s2exp_0 (arg0, arg1, tmp70) ; /* tmp74 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp75 = */ aux_s2exp_0 (arg0, arg1, tmp71) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp1)->tag != 16) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; /* tmp79 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eproj(")) ; /* tmp80 = */ aux_s2exp_0 (arg0, arg1, tmp76) ; /* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp82 = */ aux_s2exp_0 (arg0, arg1, tmp77) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp84 = */ aux_s2lablst_7 (arg0, arg1, tmp78) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp1)->tag != 17) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp87 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eapp(")) ; /* tmp88 = */ aux_s2exp_0 (arg0, arg1, tmp85) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp90 = */ aux_s2explst_2 (arg0, arg1, tmp86) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp1)->tag != 18) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp93 = */ atspre_fprint_string (arg0, ATSstrcst("S2Elam(")) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp91) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp96 = */ aux_s2exp_0 (arg0, arg1, tmp92) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp1)->tag != 19) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_1) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_2) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_3) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_4) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_5) ; /* tmp103 = */ atspre_fprint_string (arg0, ATSstrcst("S2Efun(")) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (arg0, tmp97) ; /* tmp105 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp106 = */ atspre_fprintf_exn (arg0, ATSstrcst("lin=%i"), tmp98) ; /* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp108 = */ atspre_fprint_string (arg0, ATSstrcst("eff=")) ; /* tmp109 = */ aux_s2eff_8 (arg0, arg1, tmp99) ; /* tmp110 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp111 = */ atspre_fprintf_exn (arg0, ATSstrcst("npf=%i"), tmp100) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp113 = */ aux_s2explst_2 (arg0, arg1, tmp101) ; /* tmp114 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp115 = */ aux_s2exp_0 (arg0, arg1, tmp102) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp1)->tag != 20) { goto __ats_lab_29_0 ; } __ats_lab_26_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; /* tmp119 = */ atspre_fprint_string (arg0, ATSstrcst("S2Emetfun(")) ; /* tmp120 = */ aux_s2explst_2 (arg0, arg1, tmp117) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp116 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_7, tmp116, atslab_0) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp123) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp116 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: break ; } while (0) ; /* tmp124 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp125 = */ aux_s2exp_0 (arg0, arg1, tmp118) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp1)->tag != 21) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("S2Emetdec((")) ; /* tmp129 = */ aux_s2explst_2 (arg0, arg1, tmp126) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst(") < (")) ; /* tmp131 = */ aux_s2explst_2 (arg0, arg1, tmp127) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp1)->tag != 22) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_1) ; /* tmp134 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etop(")) ; /* tmp135 = */ atspre_fprintf_exn (arg0, ATSstrcst("knd=%i"), tmp132) ; /* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp137 = */ aux_s2exp_0 (arg0, arg1, tmp133) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp1)->tag != 23) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ewithout(")) ; /* tmp140 = */ aux_s2exp_0 (arg0, arg1, tmp138) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp1)->tag != 24) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etyarr(")) ; /* tmp144 = */ aux_s2exp_0 (arg0, arg1, tmp141) ; /* tmp145 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp146 = */ aux_s2explst_2 (arg0, arg1, tmp142) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp1)->tag != 25) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_9, tmp1, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_9, tmp1, atslab_1) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_9, tmp1, atslab_2) ; /* tmp150 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etyrec(")) ; /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (arg0, tmp147) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp153 = */ atspre_fprintf_exn (arg0, ATSstrcst("npf=%i"), tmp148) ; /* tmp154 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp155 = */ aux_labs2explst_4 (arg0, arg1, tmp149) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp1)->tag != 26) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp157 = */ atspre_fprint_string (arg0, ATSstrcst("S2Einvar(")) ; /* tmp158 = */ aux_s2exp_0 (arg0, arg1, tmp156) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp1)->tag != 29) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_0) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_1) ; /* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("S2Erefarg(")) ; /* tmp162 = */ atspre_fprint_int (arg0, tmp159) ; /* tmp163 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp164 = */ aux_s2exp_0 (arg0, arg1, tmp160) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp1)->tag != 30) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp166 = */ atspre_fprint_string (arg0, ATSstrcst("S2Evararg(")) ; /* tmp167 = */ aux_s2exp_0 (arg0, arg1, tmp165) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp1)->tag != 27) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; /* tmp171 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eexi(")) ; /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp168) ; /* tmp173 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp174 = */ aux_s2explst_2 (arg0, arg1, tmp169) ; /* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp176 = */ aux_s2exp_0 (arg0, arg1, tmp170) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp1)->tag != 28) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; /* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("S2Euni(")) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp177) ; /* tmp182 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp183 = */ aux_s2explst_2 (arg0, arg1, tmp178) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp185 = */ aux_s2exp_0 (arg0, arg1, tmp179) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp1)->tag != 31) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp188 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ewth(")) ; /* tmp189 = */ aux_s2exp_0 (arg0, arg1, tmp186) ; /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp191 = */ aux_wths2explst_5 (arg0, arg1, tmp187) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (((ats_sum_ptr_type)tmp1)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eerr()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [aux_s2exp_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 9228(line=355, offs=5) -- 9364(line=359, offs=60) */ ATSstaticdec() ats_void_type aux_s2exp_if_1 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp192) ; ATSlocal (ats_bool_type, tmp193) ; __ats_lab_aux_s2exp_if_1: tmp193 = atspre_gt_int_int (arg1, 0) ; if (tmp193) { /* tmp192 = */ aux_s2exp_0 (arg0, arg1, arg2) ; } else { /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; } /* end of [if] */ return /* (tmp192) */ ; } /* end of [aux_s2exp_if_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 9486(line=366, offs=7) -- 9778(line=375, offs=24) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_bool_type, tmp199) ; // ATSlocal_void (tmp200) ; ATSlocal (ats_int_type, tmp201) ; __ats_lab_loop_9: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp199 = atspre_gt_int_int (arg1, 0) ; if (tmp199) { /* tmp198 = */ atspre_fprint_string (env0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp200 = */ aux_s2exp_0 (env0, env1, tmp196) ; tmp201 = atspre_add_int_int (arg1, 1) ; arg0 = tmp197 ; arg1 = tmp201 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: break ; } while (0) ; return /* (tmp195) */ ; } /* end of [loop_9] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; } loop_9_closure_type ; ats_void_type loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { loop_9 (((loop_9_closure_type*)cloptr)->closure_env_0, ((loop_9_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_9_closure_init (loop_9_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_9_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_9_closure_make (ats_ptr_type env0, ats_int_type env1) { loop_9_closure_type *p_clo = ATS_MALLOC(sizeof(loop_9_closure_type)) ; loop_9_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 9412(line=363, offs=5) -- 9842(line=379, offs=4) */ ATSstaticdec() ats_void_type aux_s2explst_2 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp194) ; __ats_lab_aux_s2explst_2: /* tmp194 = */ loop_9 (arg0, arg1, arg2, 0) ; return /* (tmp194) */ ; } /* end of [aux_s2explst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 9954(line=384, offs=7) -- 10258(line=393, offs=24) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_bool_type, tmp207) ; // ATSlocal_void (tmp208) ; ATSlocal (ats_int_type, tmp209) ; __ats_lab_loop_10: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp207 = atspre_gt_int_int (arg1, 0) ; if (tmp207) { /* tmp206 = */ atspre_fprint_string (env0, ATSstrcst("; ")) ; } else { /* empty */ } /* end of [if] */ /* tmp208 = */ aux_s2explst_2 (env0, env1, tmp204) ; tmp209 = atspre_add_int_int (arg1, 1) ; arg0 = tmp205 ; arg1 = tmp209 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: break ; } while (0) ; return /* (tmp203) */ ; } /* end of [loop_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; } loop_10_closure_type ; ats_void_type loop_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { loop_10 (((loop_10_closure_type*)cloptr)->closure_env_0, ((loop_10_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_10_closure_init (loop_10_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_10_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_10_closure_make (ats_ptr_type env0, ats_int_type env1) { loop_10_closure_type *p_clo = ATS_MALLOC(sizeof(loop_10_closure_type)) ; loop_10_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 9873(line=381, offs=5) -- 10323(line=397, offs=4) */ ATSstaticdec() ats_void_type aux_s2explstlst_3 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp202) ; __ats_lab_aux_s2explstlst_3: /* tmp202 = */ loop_10 (arg0, arg1, arg2, 0) ; return /* (tmp202) */ ; } /* end of [aux_s2explstlst_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 10439(line=402, offs=7) -- 10868(line=414, offs=24) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_bool_type, tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_int_type, tmp221) ; __ats_lab_loop_11: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_11, tmp212, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_11, tmp212, atslab_2) ; tmp217 = atspre_gt_int_int (arg1, 0) ; if (tmp217) { /* tmp216 = */ atspre_fprint_string (env0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (env0, tmp214) ; /* tmp219 = */ atspre_fprint_string (env0, ATSstrcst("=")) ; /* tmp220 = */ aux_s2exp_0 (env0, env1, tmp215) ; tmp221 = atspre_add_int_int (arg1, 1) ; arg0 = tmp213 ; arg1 = tmp221 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: break ; } while (0) ; return /* (tmp211) */ ; } /* end of [loop_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; } loop_11_closure_type ; ats_void_type loop_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { loop_11 (((loop_11_closure_type*)cloptr)->closure_env_0, ((loop_11_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_11_closure_init (loop_11_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_11_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_11_closure_make (ats_ptr_type env0, ats_int_type env1) { loop_11_closure_type *p_clo = ATS_MALLOC(sizeof(loop_11_closure_type)) ; loop_11_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 10357(line=399, offs=5) -- 10933(line=418, offs=4) */ ATSstaticdec() ats_void_type aux_labs2explst_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp210) ; __ats_lab_aux_labs2explst_4: /* tmp210 = */ loop_11 (arg0, arg1, arg2, 0) ; return /* (tmp210) */ ; } /* end of [aux_labs2explst_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 11050(line=424, offs=5) -- 12103(line=464, offs=4) */ ATSstaticdec() ats_void_type loop_12 (ats_int_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; // ATSlocal_void (tmp227) ; ATSlocal (ats_bool_type, tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_bool_type, tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; // ATSlocal_void (tmp247) ; ATSlocal (ats_bool_type, tmp248) ; // ATSlocal_void (tmp249) ; ATSlocal (ats_int_type, tmp250) ; __ats_lab_loop_12: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_2) ; tmp228 = atspre_gt_int_int (arg2, 0) ; if (tmp228) { /* tmp227 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp229 = */ atspre_fprint_string (arg0, ATSstrcst("invar(")) ; /* tmp230 = */ atspre_fprint_int (arg0, tmp224) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp232 = */ aux_s2exp_0 (arg0, env0, tmp225) ; /* tmp233 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp234 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp226 ; arg2 = tmp234 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp236 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; tmp237 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_2) ; tmp239 = atspre_gt_int_int (arg2, 0) ; if (tmp239) { /* tmp238 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp240 = */ atspre_fprint_string (arg0, ATSstrcst("trans(")) ; /* tmp241 = */ atspre_fprint_int (arg0, tmp235) ; /* tmp242 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp243 = */ aux_s2exp_0 (arg0, env0, tmp236) ; /* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp245 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp237 ; arg2 = tmp245 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp248 = atspre_gt_int_int (arg2, 0) ; if (tmp248) { /* tmp247 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp249 = */ atspre_fprintf_exn (arg0, ATSstrcst("none()")) ; tmp250 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp246 ; arg2 = tmp250 ; goto __ats_lab_loop_12 ; // tail call break ; } while (0) ; return /* (tmp223) */ ; } /* end of [loop_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } loop_12_closure_type ; ats_void_type loop_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { loop_12 (((loop_12_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_12_closure_init (loop_12_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_12_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_12_closure_make (ats_int_type env0) { loop_12_closure_type *p_clo = ATS_MALLOC(sizeof(loop_12_closure_type)) ; loop_12_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 10967(line=420, offs=5) -- 12153(line=468, offs=4) */ ATSstaticdec() ats_void_type aux_wths2explst_5 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp222) ; __ats_lab_aux_wths2explst_5: /* tmp222 = */ loop_12 (arg1, arg0, arg2, 0) ; return /* (tmp222) */ ; } /* end of [aux_wths2explst_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 12187(line=470, offs=5) -- 12563(line=488, offs=4) */ ATSstaticdec() ats_void_type aux_s2lab_6 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; __ats_lab_aux_s2lab_6: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("S2LABlab(")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp252) ; /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp256 = */ atspre_fprint_string (arg0, ATSstrcst("S2LABind(")) ; /* tmp257 = */ aux_s2explst_2 (arg0, arg1, tmp255) ; /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp251) */ ; } /* end of [aux_s2lab_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 12666(line=493, offs=7) -- 12970(line=504, offs=24) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; // ATSlocal_void (tmp262) ; ATSlocal (ats_bool_type, tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_int_type, tmp265) ; __ats_lab_loop_13: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp260 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp263 = atspre_gt_int_int (arg1, 0) ; if (tmp263) { /* tmp262 = */ atspre_fprint_string (env0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp264 = */ aux_s2lab_6 (env0, env1, tmp260) ; tmp265 = atspre_add_int_int (arg1, 1) ; arg0 = tmp261 ; arg1 = tmp265 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: break ; } while (0) ; return /* (tmp259) */ ; } /* end of [loop_13] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; } loop_13_closure_type ; ats_void_type loop_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { loop_13 (((loop_13_closure_type*)cloptr)->closure_env_0, ((loop_13_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_13_closure_init (loop_13_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_13_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_13_closure_make (ats_ptr_type env0, ats_int_type env1) { loop_13_closure_type *p_clo = ATS_MALLOC(sizeof(loop_13_closure_type)) ; loop_13_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 12591(line=490, offs=5) -- 13034(line=508, offs=4) */ ATSstaticdec() ats_void_type aux_s2lablst_7 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp258) ; __ats_lab_aux_s2lablst_7: /* tmp258 = */ loop_13 (arg0, arg1, arg2, 0) ; return /* (tmp258) */ ; } /* end of [aux_s2lablst_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 13065(line=510, offs=5) -- 13707(line=538, offs=4) */ ATSstaticdec() ats_void_type aux_s2eff_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp266) ; ATSlocal (ats_uint_type, tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; __ats_lab_aux_s2eff_8: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp267 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFset(")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (arg0, tmp267) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp271 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFexp(")) ; /* tmp272 = */ aux_s2exp_0 (arg0, arg1, tmp270) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (((ats_sum_ptr_type)arg2)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp273 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp274 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; /* tmp275 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFadd(")) ; /* tmp276 = */ aux_s2eff_8 (arg0, arg1, tmp273) ; /* tmp277 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp278 = */ aux_s2eff_8 (arg0, arg1, tmp274) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp266) */ ; } /* end of [aux_s2eff_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 13778(line=544, offs=3) -- 13821(line=544, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp: /* tmp279 = */ aux_s2exp_0 (arg0, 100, arg1) ; return /* (tmp279) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 13845(line=546, offs=14) -- 13884(line=546, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2exp: /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (stdout, arg0) ; return /* (tmp280) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 13908(line=548, offs=14) -- 13947(line=548, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp: /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (stderr, arg0) ; return /* (tmp281) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 13978(line=552, offs=3) -- 14026(line=552, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp282) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst: /* tmp282 = */ aux_s2explst_2 (arg0, 100, arg1) ; return /* (tmp282) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14053(line=554, offs=17) -- 14097(line=554, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp283) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2explst: /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (stdout, arg0) ; return /* (tmp283) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprint_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14124(line=556, offs=17) -- 14168(line=556, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp284) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2explst: /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (stderr, arg0) ; return /* (tmp284) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14202(line=560, offs=3) -- 14255(line=560, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explstlst: /* tmp285 = */ aux_s2explstlst_3 (arg0, 100, arg1) ; return /* (tmp285) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14321(line=565, offs=3) -- 14374(line=565, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_labs2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_labs2explst: /* tmp286 = */ aux_labs2explst_4 (arg0, 100, arg1) ; return /* (tmp286) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_labs2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14440(line=570, offs=3) -- 14493(line=570, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_wths2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_wths2explst: /* tmp287 = */ aux_wths2explst_5 (arg0, 100, arg1) ; return /* (tmp287) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_wths2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14600(line=579, offs=3) -- 14649(line=579, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarg: tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_t2mpmarg_arg) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (arg0, tmp289) ; return /* (tmp288) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; // ATSlocal_void (tmp295) ; ATSlocal (ats_bool_type, tmp296) ; // ATSlocal_void (tmp297) ; ATSlocal (ats_int_type, tmp298) ; __ats_lab_aux_26: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp293 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp296 = atspre_gt_int_int (arg1, 0) ; if (tmp296) { /* tmp295 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp297 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp293) ; tmp298 = atspre_add_int_int (arg1, 1) ; arg0 = tmp294 ; arg1 = tmp298 ; goto __ats_lab_aux_26 ; // tail call break ; } while (0) ; return /* (tmp292) */ ; } /* end of [aux_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_26_closure_type ; ats_void_type aux_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_26 (((aux_26_closure_type*)cloptr)->closure_env_0, ((aux_26_closure_type*)cloptr)->closure_env_1, ((aux_26_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_26_closure_init (aux_26_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_26_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_26_closure_type *p_clo = ATS_MALLOC(sizeof(aux_26_closure_type)) ; aux_26_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp291) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp291 = */ aux_26 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp291) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_pprint.dats: 14712(line=584, offs=3) -- 14771(line=584, offs=62) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst: /* tmp290 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("><"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarg) ; return /* (tmp290) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_staexp2_pprint_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_lstate_dats.c0000664000175000017500000035006212655455557022245 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_lstbefitm_var ; ats_int_type atslab_lstbefitm_linval ; ats_ptr_type atslab_lstbefitm_type ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_lstaftitm_var ; ats_int_type atslab_lstaftitm_knd ; ats_ptr_type atslab_lstaftitm_type ; ats_ptr_type atslab_lstaftitm_saits ; } anairiats_rec_4 ; typedef struct { anairiats_rec_4 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINdone_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some2_89) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__LSTAFTC3NSTR_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__saityplst_check) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitm) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_make) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_reverse) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftc3nstr_check) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__lstaftc3nstr_viewtype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__LSTAFTC3NSTR_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02426_ () ; static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type f_7 (ats_ptr_type arg0) ; static ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type f_12 (ats_ptr_type arg0) ; static ats_int_type auxlst_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_22 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type revapp_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type d2var_is_done_32 (ats_ptr_type arg0) ; static ats_ptr_type aux1_33 (ats_ptr_type arg0) ; static ats_ptr_type aux2_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type aux3_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_39 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02432_ (ats_ptr_type arg0) ; static ats_void_type auxerr_some_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_none_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_some2_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxsait_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxmain_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxmainlst_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 1761(line=58, offs=18) -- 1792(line=58, offs=49) */ ATSstaticdec() ats_void_type prerr_FILENAME_02426_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02426_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_lstate")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02426_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 2322(line=95, offs=3) -- 2454(line=98, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg0) ; tmp1 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp1, atslab_lstbefitm_var, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp1, atslab_lstbefitm_linval, arg1) ; ats_selptrset_mac(anairiats_rec_1, tmp1, atslab_lstbefitm_type, tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 2531(line=103, offs=18) -- 3015(line=124, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_int_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitm: /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst("lstbefitm(")) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_lstbefitm_var) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp6) ; /* tmp7 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_lstbefitm_linval) ; /* tmp8 = */ atspre_fprint_int (arg0, tmp9) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_lstbefitm_type) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp11 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, tmp11, atslab_0) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp13) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp11 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_bool_type, tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_int_type, tmp24) ; __ats_lab_aux_5: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp22 = atspre_gt_int_int (arg1, 0) ; if (tmp22) { /* tmp21 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp23 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp19) ; tmp24 = atspre_add_int_int (arg1, 1) ; arg0 = tmp20 ; arg1 = tmp24 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp18) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp17) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp17 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp17) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3078(line=128, offs=3) -- 3137(line=128, offs=62) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitmlst: /* tmp16 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitm) ; return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstbefitmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3272(line=136, offs=7) -- 3351(line=137, offs=55) */ ATSstaticdec() ats_void_type f_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_f_7: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_lstbefitm_var) ; tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_lstbefitm_type) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp27, tmp28) ; return /* (tmp26) */ ; } /* end of [f_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; __ats_lab_loop_10: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp34 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp32, arg2) ; arg0 = tmp33 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp31) */ ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp30) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp30 = */ loop_10 (arg0, arg1, arg2) ; return /* (tmp30) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp29) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp29 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp29) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3230(line=135, offs=3) -- 3369(line=139, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type: /* tmp25 = */ list_app_fun_01301_ats_ptr_type (arg0, &f_7) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3514(line=144, offs=7) -- 3712(line=151, offs=6) */ ATSstaticdec() ats_void_type f_12 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_f_12: tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_lstbefitm_var) ; tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_lstbefitm_linval) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp37, tmp39) ; tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_lstbefitm_type) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp37, tmp40) ; return /* (tmp36) */ ; } /* end of [f_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3472(line=143, offs=3) -- 3728(line=152, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_linval_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_linval_type: /* tmp35 = */ list_app_fun_01301_ats_ptr_type (arg0, &f_12) ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_linval_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 3984(line=163, offs=15) -- 4172(line=170, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityp: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp43 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp42) ; /* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 4283(line=176, offs=3) -- 4339(line=176, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst: /* tmp45 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityp) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 4473(line=183, offs=3) -- 4539(line=183, offs=69) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst_vt: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 4715(line=195, offs=5) -- 5079(line=209, offs=2) */ ATSstaticdec() ats_int_type auxlst_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; __ats_lab_auxlst_16: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp48 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_2, tmp48, atslab_0) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq (arg0, tmp50) ; if (tmp51) { arg0 = arg0 ; arg1 = tmp49 ; goto __ats_lab_auxlst_16 ; // tail call } else { tmp47 = 1 ; } /* end of [if] */ break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp48 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: arg0 = arg0 ; arg1 = tmp49 ; goto __ats_lab_auxlst_16 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp47 = 0 ; break ; } while (0) ; return (tmp47) ; } /* end of [auxlst_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 5155(line=215, offs=3) -- 5434(line=229, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__saityplst_check (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__saityplst_check: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 5177(line=216, offs=7) -- 5199(line=216, offs=29)") ; } tmp53 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp53 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_2, tmp53, atslab_0) ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp57, atslab_0, tmp55) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg0, tmp57) ; tmp52 = auxlst_16 (tmp55, tmp54) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp53 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 5206(line=219, offs=1) -- 5410(line=227, offs=6)") ; } __ats_lab_13_1: tmp59 = (ats_sum_ptr_type)0 ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg0, tmp59) ; tmp52 = 0 ; break ; } while (0) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__saityplst_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 5895(line=252, offs=3) -- 6300(line=266, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitm (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_int_type, tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitm: /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("LSTAFTITM(\n")) ; tmp63 = ats_select_mac(ats_ptrget_mac(anairiats_rec_4, arg1), atslab_lstaftitm_var) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp63) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; tmp66 = ats_select_mac(ats_ptrget_mac(anairiats_rec_4, arg1), atslab_lstaftitm_knd) ; /* tmp65 = */ atspre_fprint_int (arg0, tmp66) ; /* tmp67 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; tmp69 = ats_select_mac(ats_ptrget_mac(anairiats_rec_4, arg1), atslab_lstaftitm_type) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt (arg0, tmp69) ; /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; tmp72 = ats_select_mac(ats_ptrget_mac(anairiats_rec_4, arg1), atslab_lstaftitm_saits) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_saityplst_vt (arg0, tmp72) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; return /* (tmp60) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 6436(line=273, offs=3) -- 6755(line=284, offs=33) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp74 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp75 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitm (arg0, tmp74) ; /* tmp77 = */ atspre_fprint_newline (arg0) ; tmp78 = ats_ptrget_mac(ats_ptr_type, tmp75) ; arg0 = arg0 ; arg1 = tmp78 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: break ; } while (0) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 6873(line=290, offs=19) -- 7075(line=298, offs=26) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp79) ; ATSlocal (anairiats_rec_4, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp82 = ats_select_mac(tmp80, atslab_lstaftitm_saits) ; if (tmp82 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 6945(line=294, offs=11) -- 6980(line=294, offs=46)") ; } arg0 = tmp81 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; return /* (tmp79) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 7240(line=309, offs=5) -- 7838(line=331, offs=4) */ ATSstaticdec() ats_void_type loop_22 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab_loop_22: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp85), atslab_lstbefitm_var) ; tmp88 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp88 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp89 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg1), atslab_0) ; tmp90 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_lstaftitm_var) = tmp87 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_lstaftitm_knd) = 0 ; tmp91 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_lstaftitm_type) = tmp91 ; tmp92 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_lstaftitm_saits) = tmp92 ; arg0 = tmp86 ; arg1 = tmp90 ; goto __ats_lab_loop_22 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp93 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp93 ; break ; } while (0) ; return /* (tmp84) */ ; } /* end of [loop_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 7222(line=307, offs=19) -- 7920(line=338, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_make: /* ats_ptr_type tmp94 ; */ /* tmp95 = */ loop_22 (arg0, (&tmp94)) ; tmp83 = tmp94 ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 8060(line=345, offs=21) -- 8444(line=360, offs=31) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp97 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp98 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp99 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp97), atslab_lstaftitm_var) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp99) ; tmp101 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp97), atslab_lstaftitm_saits) ; tmp102 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp102, atslab_0, tmp100) ; ats_selptrset_mac(anairiats_sum_3, tmp102, atslab_1, tmp101) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp97), atslab_lstaftitm_saits) = tmp102 ; tmp103 = ats_ptrget_mac(ats_ptr_type, tmp98) ; arg0 = tmp103 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: break ; } while (0) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_revapp_27: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp112 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp113 = ats_ptrget_mac(ats_ptr_type, tmp112) ; ats_ptrget_mac(ats_ptr_type, tmp112) = arg1 ; tmp114 = arg0 ; arg0 = tmp113 ; arg1 = tmp114 ; goto __ats_lab_revapp_27 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp111 = arg1 ; break ; } while (0) ; return (tmp111) ; } /* end of [revapp_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp110 = revapp_27 (arg0, arg1) ; return (tmp110) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp115 = (ats_sum_ptr_type)0 ; tmp109 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp115) ; return (tmp109) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 8618(line=371, offs=3) -- 8931(line=383, offs=31) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_reverse (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_reverse: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_22_1: tmp105 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp106 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp107 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp105), atslab_lstaftitm_saits) ; tmp108 = list_vt_reverse_01506_ats_ptr_type (tmp107) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp105), atslab_lstaftitm_saits) = tmp108 ; tmp116 = ats_ptrget_mac(ats_ptr_type, tmp106) ; arg0 = tmp116 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_reverse ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: break ; } while (0) ; return /* (tmp104) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_reverse] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 9195(line=401, offs=3) -- 9336(line=409, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstaftc3nstr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstaftc3nstr: tmp118 = &ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp119 = ats_ptrget_mac(ats_ptr_type, tmp118) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__fprint_lstaftitmlst (arg0, tmp119) ; return /* (tmp117) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_lstaftc3nstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 9424(line=415, offs=3) -- 9558(line=422, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize: tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_make (arg0) ; tmp122 = (ats_sum_ptr_type)0 ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_3, tmp120, atslab_1, tmp122) ; return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 9646(line=428, offs=3) -- 9853(line=437, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update: // tmp124 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp125 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp127 = ats_ptrget_mac(ats_ptr_type, tmp124) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_update (tmp127) ; tmp129 = ats_ptrget_mac(ats_ptr_type, tmp125) ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp128, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp128, atslab_1, tmp129) ; ats_ptrget_mac(ats_ptr_type, tmp125) = tmp128 ; return /* (tmp123) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 9942(line=443, offs=3) -- 10111(line=451, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize: // tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftitmlst_free (tmp131) ; if (tmp132 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 10038(line=447, offs=5) -- 10059(line=447, offs=26)") ; } return /* (tmp130) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 10294(line=462, offs=5) -- 10425(line=467, offs=4) */ ATSstaticdec() ats_bool_type d2var_is_done_32 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_d2var_is_done_32: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (arg0) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp135)->tag != 4) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp134 = ats_true_bool ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp134 = ats_false_bool ; break ; } while (0) ; return (tmp134) ; } /* end of [d2var_is_done_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 10457(line=469, offs=5) -- 11111(line=495, offs=2) */ ATSstaticdec() ats_ptr_type aux1_33 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; __ats_lab_aux1_33: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp137 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp138 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp139 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp137), atslab_lstaftitm_var) ; tmp140 = d2var_is_done_32 (tmp139) ; if (tmp140) { tmp141 = 0 ; } else { tmp142 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp137), atslab_lstaftitm_saits) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__saityplst_check (tmp139, ats_castfn_mac(ats_ptr_type, tmp142)) ; } /* end of [if] */ tmp144 = ats_ptrget_mac(ats_ptr_type, tmp138) ; tmp143 = aux1_33 (tmp144) ; tmp145 = atspre_gt_int_int (tmp141, 0) ; if (tmp145) { tmp136 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_0, tmp139) ; ats_selptrset_mac(anairiats_sum_3, tmp136, atslab_1, tmp143) ; } else { tmp136 = tmp143 ; } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp136 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp136) ; } /* end of [aux1_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 11134(line=497, offs=5) -- 11485(line=516, offs=2) */ ATSstaticdec() ats_ptr_type aux2_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab_aux2_34: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, tmp147) ; tmp150 = atspre_ieq (tmp149, 0) ; if (tmp150) { tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (tmp147) ; ats_ptrget_mac(ats_int_type, arg2) = 1 ; tmp146 = tmp151 ; } else { arg0 = arg0 ; arg1 = tmp148 ; arg2 = arg2 ; goto __ats_lab_aux2_34 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp146 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp146) ; } /* end of [aux2_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 11508(line=518, offs=5) -- 11950(line=541, offs=2) */ ATSstaticdec() ats_ptr_type aux3_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; ATSlocal (ats_bool_type, tmp157) ; __ats_lab_aux3_35: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp153) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, tmp155) ; tmp157 = atspre_ieq (tmp156, 0) ; if (tmp157) { ats_ptrget_mac(ats_int_type, arg3) = 2 ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp153) ; } else { arg0 = arg0 ; arg1 = tmp154 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_aux3_35 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp152 = aux2_34 (arg0, arg2, arg3) ; break ; } while (0) ; return (tmp152) ; } /* end of [aux3_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 11973(line=543, offs=5) -- 12472(line=564, offs=4) */ ATSstaticdec() ats_void_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_auxlst_36: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp159 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp160 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp161 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp159), atslab_lstaftitm_var) ; /* ats_int_type tmp162 ; */ tmp162 = 0 ; tmp163 = aux3_35 (tmp161, arg1, arg2, (&tmp162)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp159), atslab_lstaftitm_knd) = tmp162 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp159), atslab_lstaftitm_type) = tmp163 ; tmp165 = atspre_gt_int_int (tmp162, 0) ; if (tmp165) { /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp161, tmp163) ; } else { /* empty */ } /* end of [if] */ tmp166 = ats_ptrget_mac(ats_ptr_type, tmp160) ; arg0 = tmp166 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_36 ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: break ; } while (0) ; return /* (tmp158) */ ; } /* end of [auxlst_36] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; __ats_lab_loop_39: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp176 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: break ; } while (0) ; return /* (tmp175) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp174) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp174 = */ loop_39 (arg0) ; return /* (tmp174) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 12548(line=570, offs=3) -- 12877(line=589, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftc3nstr_check (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftc3nstr_check: // tmp168 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp170 = ats_ptrget_mac(ats_ptr_type, tmp168) ; tmp169 = aux1_33 (tmp170) ; tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_i2nvresstate_arg) ; tmp173 = ats_ptrget_mac(ats_ptr_type, tmp168) ; /* tmp172 = */ auxlst_36 (tmp173, tmp171, ats_castfn_mac(ats_ptr_type, tmp169)) ; /* tmp167 = */ list_vt_free_01499_ats_ptr_type (tmp169) ; return /* (tmp167) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftc3nstr_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02432_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; __ats_lab_prerr_error3_loc_02432_: /* tmp180 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp179 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp179) */ ; } /* end of [prerr_error3_loc_02432_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 12965(line=597, offs=5) -- 13365(line=610, offs=4) */ ATSstaticdec() ats_void_type auxerr_some_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_auxerr_some_40: /* tmp178 = */ prerr_error3_loc_02432_ (arg0) ; /* tmp181 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp183 = */ atspre_prerr_string (ATSstrcst("] is consumed but it should be retained with the type [")) ; /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp185 = */ atspre_prerr_string (ATSstrcst("] instead.")) ; /* tmp186 = */ atspre_prerr_newline () ; tmp187 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp187)->tag = 87 ; ats_selptrset_mac(anairiats_sum_7, tmp187, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp187, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp187, atslab_2, arg2) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp187) ; return /* (tmp177) */ ; } /* end of [auxerr_some_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 13395(line=612, offs=5) -- 13792(line=625, offs=4) */ ATSstaticdec() ats_void_type auxerr_none_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; __ats_lab_auxerr_none_42: /* tmp189 = */ prerr_error3_loc_02432_ (arg0) ; /* tmp190 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp192 = */ atspre_prerr_string (ATSstrcst("] is retained with the type [")) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp194 = */ atspre_prerr_string (ATSstrcst("] but it should be consumed instead.")) ; /* tmp195 = */ atspre_prerr_newline () ; tmp196 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp196)->tag = 87 ; ats_selptrset_mac(anairiats_sum_7, tmp196, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp196, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp196, atslab_2, arg2) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp196) ; return /* (tmp188) */ ; } /* end of [auxerr_none_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 13822(line=627, offs=5) -- 14210(line=639, offs=4) */ ATSstaticdec() ats_void_type auxerr_some2_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; __ats_lab_auxerr_some2_43: /* tmp198 = */ prerr_error3_loc_02432_ (arg0) ; /* tmp199 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp201 = */ atspre_prerr_string (ATSstrcst("] is retained but with a type that fails to merge.")) ; /* tmp202 = */ atspre_prerr_newline () ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp204 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp204)->tag = 89 ; ats_selptrset_mac(anairiats_sum_8, tmp204, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp204, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp204, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp204, atslab_3, arg3) ; /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp204) ; return /* (tmp197) */ ; } /* end of [auxerr_some2_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 14241(line=641, offs=5) -- 15392(line=689, offs=4) */ ATSstaticdec() ats_void_type auxsait_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_bool_type, tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_bool_type, tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; __ats_lab_auxsait_44: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_38_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_2, arg4, atslab_0) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_39_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_2, arg5, atslab_0) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp208 = atspre_gte_int_int (arg2, 1) ; if (!tmp208) { goto __ats_lab_41_1 ; } tmp210 = atspre_gte_int_int (arg2, 2) ; if (tmp210) { tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (arg3, tmp206) ; } else { tmp209 = tmp206 ; } /* end of [if] */ /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp212 = ats_selsin_mac(tmp211, atslab_1) */ ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, tmp207, tmp209) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp214)->tag = 8 ; ats_selptrset_mac(anairiats_sum_9, tmp214, atslab_0, arg1) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp214) ; tmp216 = atspre_gt_int_int (tmp213, 0) ; if (tmp216) { /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; /* tmp205 = */ auxerr_some2_43 (arg0, arg1, tmp209, tmp207) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: break ; } while (0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: /* tmp205 = */ auxerr_some_40 (arg0, arg1, tmp206) ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp218 = ats_caselptrlab_mac(anairiats_sum_2, arg5, atslab_0) ; /* tmp205 = */ auxerr_none_42 (arg0, arg1, tmp218) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp205) */ ; } /* end of [auxsait_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 15418(line=691, offs=5) -- 16002(line=711, offs=2) */ ATSstaticdec() ats_void_type auxmain_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab_auxmain_45: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp220 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp221 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp222 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp220), atslab_lstaftitm_var) ; tmp223 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp220), atslab_lstaftitm_knd) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp222) ; tmp225 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp220), atslab_lstaftitm_saits) ; if (tmp225 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 15673(line=702, offs=11) -- 15723(line=702, offs=61)") ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_3, tmp225, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_3, tmp225, atslab_1) ; ATS_FREE(tmp225) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp220), atslab_lstaftitm_saits) = tmp227 ; tmp228 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_c3nstroptref_loc) ; /* tmp229 = */ auxsait_44 (tmp228, tmp222, tmp223, arg2, tmp224, tmp226) ; tmp230 = ats_ptrget_mac(ats_ptr_type, tmp221) ; arg0 = tmp230 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxmain_45 ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: break ; } while (0) ; return /* (tmp219) */ ; } /* end of [auxmain_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 16028(line=713, offs=5) -- 16871(line=748, offs=4) */ ATSstaticdec() ats_void_type auxmainlst_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; // ATSlocal_void (tmp248) ; __ats_lab_auxmainlst_46: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp232), atslab_c3nstroptref_loc) ; tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_i2nvresstate_svs) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst (tmp234, tmp236) ; tmp238 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_i2nvresstate_gua) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp235, tmp238) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp240 = ats_selsin_mac(tmp239, atslab_1) */ ; /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp234, tmp237) ; /* tmp242 = */ auxmain_45 (arg0, tmp232, tmp235) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop () ; tmp245 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst (tmp234, tmp245, ats_castfn_mac(ats_ptr_type, tmp243)) ; tmp246 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp232), atslab_c3nstroptref_ref) ; tmp247 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp247, atslab_0, tmp244) ; ats_ptrget_mac(ats_ptr_type, tmp246) = tmp247 ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp235) ; arg0 = arg0 ; arg1 = tmp233 ; arg2 = arg2 ; goto __ats_lab_auxmainlst_46 ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: break ; } while (0) ; return /* (tmp231) */ ; } /* end of [auxmainlst_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 16950(line=754, offs=3) -- 17330(line=776, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process: /* tmp250 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__lstaftc3nstr_check (arg0, arg1) ; tmp251 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp252 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp253 = ats_ptrget_mac(ats_ptr_type, tmp252) ; tmp254 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp252) = tmp254 ; tmp255 = ats_ptrget_mac(ats_ptr_type, tmp251) ; /* tmp249 = */ auxmainlst_46 (tmp255, tmp253, arg1) ; return /* (tmp249) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 17439(line=784, offs=3) -- 17908(line=808, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp257) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp257) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp259) ; /* tmp262 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp259, tmp260) ; arg0 = arg0 ; arg1 = tmp258 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: break ; } while (0) ; return /* (tmp256) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lstate.dats: 17993(line=814, offs=3) -- 18298(line=827, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update: tmp265 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_i2nvresstate_svs) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp265) ; tmp267 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_i2nvresstate_gua) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (arg0, tmp267) ; tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_i2nvresstate_arg) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update (arg0, tmp268) ; return /* (tmp263) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__LSTAFTC3NSTR_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_trans3_env_lstate_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_histaexp_print_dats.c0000664000175000017500000012364612655455557021656 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyabs_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEapp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEextype_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyclo_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEvararg_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2exp_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2zexp_15) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_int_type, tmp30) ; __ats_lab_aux_2: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp28 = atspre_gt_int_int (arg1, 0) ; if (tmp28) { /* tmp27 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp29 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp25) ; tmp30 = atspre_add_int_int (arg1, 1) ; arg0 = tmp26 ; arg1 = tmp30 ; goto __ats_lab_aux_2 ; // tail call break ; } while (0) ; return /* (tmp24) */ ; } /* end of [aux_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_2_closure_type ; ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_2 (((aux_2_closure_type*)cloptr)->closure_env_0, ((aux_2_closure_type*)cloptr)->closure_env_1, ((aux_2_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_2_closure_init (aux_2_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_2_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_2_closure_type *p_clo = ATS_MALLOC(sizeof(aux_2_closure_type)) ; aux_2_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp23) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp23 = */ aux_2 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp23) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_print.dats: 1838(line=65, offs=4) -- 4698(line=193, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_int_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_hisexp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_1) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_2) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("HSEfun(")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (arg0, tmp2) ; /* tmp7 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (arg0, tmp3) ; /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("HSEcst(")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp11) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst("HSEapp(")) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp14) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (arg0, tmp15) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_6_0 ; } __ats_lab_3_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("HSEextype(")) ; /* tmp22 = */ fprintlst_01694_ats_ptr_type (arg0, tmp20, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("HSErefarg(")) ; /* tmp34 = */ atspre_fprint_int (arg0, tmp31) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp32) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyabs(")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp37) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtybox()")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp42 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyarr(")) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp40) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (arg0, tmp41) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp47 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp48 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyrec(")) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (arg0, tmp46) ; /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp51 = */ fprintlst_01694_ats_ptr_type (arg0, tmp47, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyrecsin(")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp (arg0, tmp52) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtysum(")) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp55) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp60 = */ fprintlst_01694_ats_ptr_type (arg0, tmp56, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyvar(")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp61) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyclo(")) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab (arg0, tmp64) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("HSEvararg(")) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp67) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("HSEs2exp(")) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp70) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)tmp1)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp74 = */ atspre_fprint_string (arg0, ATSstrcst("HSEs2zexp(")) ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp73) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_print.dats: 4770(line=198, offs=14) -- 4809(line=198, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_hisexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_hisexp: /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (stdout, arg0) ; return /* (tmp76) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__print_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_print.dats: 4833(line=200, offs=14) -- 4872(line=200, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp: /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (stderr, arg0) ; return /* (tmp77) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_print.dats: 4924(line=206, offs=3) -- 5102(line=214, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp: tmp79 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_2) ; /* tmp81 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp79) ; /* tmp82 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp80) ; return /* (tmp78) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp_print.dats: 5183(line=220, offs=3) -- 5239(line=220, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst: /* tmp83 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_histaexp_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp1_print_dats.c0000664000175000017500000046130112655455557021412 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_labp1at_loc ; ats_ptr_type atslab_labp1at_node ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_d1lab_loc ; ats_ptr_type atslab_d1lab_node ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_m1acdef_loc ; ats_ptr_type atslab_m1acdef_sym ; ats_ptr_type atslab_m1acdef_arg ; ats_ptr_type atslab_m1acdef_def ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_v1aldec_loc ; ats_ptr_type atslab_v1aldec_pat ; ats_ptr_type atslab_v1aldec_def ; ats_ptr_type atslab_v1aldec_ann ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_v1ardec_loc ; ats_int_type atslab_v1ardec_knd ; ats_ptr_type atslab_v1ardec_sym ; ats_ptr_type atslab_v1ardec_sym_loc ; ats_ptr_type atslab_v1ardec_pfat ; ats_ptr_type atslab_v1ardec_type ; ats_ptr_type atslab_v1ardec_init ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_d1ecl_loc ; ats_ptr_type atslab_d1ecl_node ; } anairiats_rec_20 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_22 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_23 ; typedef struct { ats_ptr_type atslab_i1mpdec_loc ; ats_ptr_type atslab_i1mpdec_qid ; ats_ptr_type atslab_i1mpdec_tmparg ; ats_ptr_type atslab_i1mpdec_def ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_impqi0de_loc ; ats_ptr_type atslab_impqi0de_qua ; ats_ptr_type atslab_impqi0de_sym ; ats_ptr_type atslab_impqi0de_arg ; } anairiats_rec_25 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_26 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tide_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tdqid_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tintrep_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_dyn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ttup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlst_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfree_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tunfold_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trefas_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Texist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tann_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ebool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Echar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Estring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ei0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ec0har_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ef0loat_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Es0tring_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etmpid_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhere_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edecseq_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_dyn_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esing_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eifhead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esifhead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecasehead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Escasehead_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrsub_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrinit_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrpsz_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eptrof_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eviewat_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eselab_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eraise_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eeffmask_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eshowtype_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Evcopyenv_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etempenver_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eexist_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efix_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edelay_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efor_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhile_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eloopexn_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etrywith_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_type_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacsyn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacfun_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolassert_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolverify_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpackname_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymintr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymelim_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Coverload_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpdef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpundef_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatdecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cexndecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cmacdefs_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdynload_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clocal_35) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_stropt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_effcst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtdef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expdef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1aspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_i1mparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xndec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1cstdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labp1at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_m1acdef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1aldec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1ardec) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_bool_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_int_type, tmp41) ; __ats_lab_aux_2: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp39 = atspre_gt_int_int (arg1, 0) ; if (tmp39) { /* tmp38 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp40 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp36) ; tmp41 = atspre_add_int_int (arg1, 1) ; arg0 = tmp37 ; arg1 = tmp41 ; goto __ats_lab_aux_2 ; // tail call break ; } while (0) ; return /* (tmp35) */ ; } /* end of [aux_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_2_closure_type ; ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_2 (((aux_2_closure_type*)cloptr)->closure_env_0, ((aux_2_closure_type*)cloptr)->closure_env_1, ((aux_2_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_2_closure_init (aux_2_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_2_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_2_closure_type *p_clo = ATS_MALLOC(sizeof(aux_2_closure_type)) ; aux_2_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp34 = */ aux_2 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp34) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 1847(line=60, offs=3) -- 5498(line=218, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_int_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_char_type, tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_p1at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tany()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tany2()")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tide(")) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp2) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp7 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tdqid(")) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp5) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp6) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tint(")) ; /* tmp12 = */ atspre_fprint_int (arg0, tmp10) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tintrep(")) ; /* tmp15 = */ atspre_fprint_string (arg0, tmp13) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tchar(")) ; /* tmp18 = */ atspre_fprint_char (arg0, tmp16) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tfloat(")) ; /* tmp21 = */ atspre_fprint_string (arg0, tmp19) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tint(")) ; /* tmp24 = */ atspre_fprint_string (arg0, tmp22) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst("P1Ti0nt(")) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp25) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp29 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tf0loat(")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp28) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tempty()")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tapp_sta(")) ; /* tmp33 = */ fprintlst_01694_ats_ptr_type (arg0, tmp31, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_2) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_3) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tapp_dyn(")) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp42) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp48 = */ atspre_fprint_int (arg0, tmp43) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst (arg0, tmp44) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tlist(")) ; /* tmp54 = */ atspre_fprint_int (arg0, tmp51) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst (arg0, tmp52) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_0) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_1) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_2) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst("P1Ttup(")) ; /* tmp61 = */ atspre_fprint_int (arg0, tmp57) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp63 = */ atspre_fprint_int (arg0, tmp58) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst (arg0, tmp59) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp1)->tag != 16) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_1) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_8, tmp1, atslab_2) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("P1Ttup(")) ; /* tmp70 = */ atspre_fprint_int (arg0, tmp66) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp72 = */ atspre_fprint_int (arg0, tmp67) ; /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp74 = */ fprintlst_01694_ats_ptr_type (arg0, tmp68, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labp1at) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp1)->tag != 17) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tlst(")) ; /* tmp78 = */ atspre_fprint_int (arg0, tmp75) ; /* tmp79 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst (arg0, tmp76) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp1)->tag != 18) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp82 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tfree(")) ; /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp81) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp1)->tag != 19) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp85 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tunfold(")) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp84) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp1)->tag != 20) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_9, tmp1, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_9, tmp1, atslab_2) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("P1Trefas(")) ; /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp87) ; /* tmp91 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp88) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp1)->tag != 21) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp94 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("P1Texist(")) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst (arg0, tmp93) ; /* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp94) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp1)->tag != 22) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tsvararg(")) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg (arg0, tmp99) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp1)->tag != 23) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("P1Tann(")) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp102) ; /* tmp106 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp103) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (((ats_sum_ptr_type)tmp1)->tag != 24) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P1Terrpat()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 5545(line=221, offs=12) -- 5582(line=221, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_p1at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_p1at: /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (stdout, arg0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_p1at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 5604(line=223, offs=12) -- 5641(line=223, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_p1at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_p1at: /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (stderr, arg0) ; return /* (tmp109) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_p1at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 5691(line=229, offs=3) -- 5745(line=229, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst: /* tmp110 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at) ; return /* (tmp110) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 5799(line=233, offs=16) -- 6146(line=249, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labp1at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labp1at: tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_labp1at_node) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp112 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_5, tmp112, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_5, tmp112, atslab_1) ; /* tmp115 = */ atspre_fprint_string (arg0, ATSstrcst("LABP1ATnorm(")) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp113) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp114) ; /* tmp111 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp112 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: /* tmp111 = */ atspre_fprint_string (arg0, ATSstrcst("LABP1ATomit()")) ; break ; } while (0) ; return /* (tmp111) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labp1at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 6221(line=255, offs=3) -- 16847(line=719, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; ATSlocal (ats_int_type, tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_bool_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_char_type, tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_int_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; ATSlocal (ats_int_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; // ATSlocal_void (tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_int_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; // ATSlocal_void (tmp330) ; // ATSlocal_void (tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; // ATSlocal_void (tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; // ATSlocal_void (tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp: tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp119)->tag != 0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eide(")) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp120) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp119)->tag != 1) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp125 = */ atspre_fprint_string (arg0, ATSstrcst("D1Edqid(")) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp123) ; /* tmp127 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp124) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp119)->tag != 2) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eidextapp(")) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp128) ; /* tmp132 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp129) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp119)->tag != 3) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_3, tmp119, atslab_0) ; /* tmp135 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eint(")) ; /* tmp136 = */ atspre_fprint_int (arg0, tmp134) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp119)->tag != 4) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp138 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eintrep(")) ; /* tmp139 = */ atspre_fprint_string (arg0, tmp137) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp119)->tag != 5) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_12, tmp119, atslab_0) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ebool(")) ; /* tmp142 = */ atspre_fprint_bool (arg0, tmp140) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp119)->tag != 6) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_4, tmp119, atslab_0) ; /* tmp144 = */ atspre_fprint_string (arg0, ATSstrcst("D1Echar(")) ; /* tmp145 = */ atspre_fprint_char (arg0, tmp143) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp119)->tag != 7) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp147 = */ atspre_fprint_string (arg0, ATSstrcst("D1Efloat(")) ; /* tmp148 = */ atspre_fprint_string (arg0, tmp146) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp119)->tag != 8) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp150 = */ atspre_fprint_string (arg0, ATSstrcst("D1Estring(")) ; /* tmp151 = */ atspre_fprint_string (arg0, tmp149) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp119)->tag != 9) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp153 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ei0nt(")) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp152) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp119)->tag != 10) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp156 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ec0har(")) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (arg0, tmp155) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp119)->tag != 11) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp159 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ef0loat(")) ; /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp158) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp119)->tag != 12) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp162 = */ atspre_fprint_string (arg0, ATSstrcst("D1Es0tring(")) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (arg0, tmp161) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp119)->tag != 15) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp165 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ecstsp(")) ; /* tmp166 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (arg0, tmp164) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp119)->tag != 16) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp168 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eliteral(")) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp167) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp119)->tag != 13) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etop()")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp119)->tag != 14) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eempty()")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp119)->tag != 17) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp172 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eextval(")) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp170) ; /* tmp174 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp176 = */ atspre_fprint_string (arg0, tmp171) ; /* tmp177 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp119)->tag != 18) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_9, tmp119, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_9, tmp119, atslab_1) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_9, tmp119, atslab_2) ; /* tmp181 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eextfcall(")) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp178) ; /* tmp183 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp185 = */ atspre_fprint_string (arg0, tmp179) ; /* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp187 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp180) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp119)->tag != 19) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_1) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_2) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_3) ; /* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eextmcall(")) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp189) ; /* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp190) ; /* tmp197 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp199 = */ atspre_fprint_string (arg0, tmp191) ; /* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp201 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp192) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp119)->tag != 60) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_3, tmp119, atslab_0) ; /* tmp118 = */ atspre_fprintf_exn (arg0, ATSstrcst("D1Eloopexn(%i)"), tmp203) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp119)->tag != 20) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp118 = */ atspre_fprintf_exn (arg0, ATSstrcst("D1Efoldat(...)")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp119)->tag != 21) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp118 = */ atspre_fprintf_exn (arg0, ATSstrcst("D1Efreeat(...)")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp119)->tag != 22) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; /* tmp205 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etmpid(")) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (arg0, tmp204) ; /* tmp207 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp208 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp119)->tag != 23) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp209 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elet(")) ; /* tmp210 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp119)->tag != 24) { goto __ats_lab_55_0 ; } __ats_lab_54_1: /* tmp211 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ewhere(")) ; /* tmp212 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp119)->tag != 25) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp213 = */ atspre_fprint_string (arg0, ATSstrcst("D1Edecseq(")) ; /* tmp214 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp119)->tag != 26) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_6, tmp119, atslab_0) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_6, tmp119, atslab_2) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_6, tmp119, atslab_3) ; /* tmp218 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eapp_dyn(")) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp215) ; /* tmp220 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp221 = */ atspre_fprint_int (arg0, tmp216) ; /* tmp222 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp217) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp119)->tag != 27) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eapp_sta(")) ; /* tmp227 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp224) ; /* tmp228 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparglst (arg0, tmp225) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp119)->tag != 28) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("D1Esing(")) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp230) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp119)->tag != 29) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_7, tmp119, atslab_0) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_7, tmp119, atslab_1) ; /* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elist(")) ; /* tmp236 = */ atspre_fprint_int (arg0, tmp233) ; /* tmp237 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp234) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp119)->tag != 30) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_1) ; tmp240 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_2) ; tmp241 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_3) ; /* tmp242 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eifhead(")) ; /* tmp243 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp239) ; /* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp240) ; /* tmp246 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1expopt (arg0, tmp241) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp119)->tag != 31) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_1) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_2) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_13, tmp119, atslab_3) ; /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst("D1Esifhead(")) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp248) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp249) ; /* tmp255 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp250) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp119)->tag != 32) { goto __ats_lab_63_0 ; } __ats_lab_62_1: /* tmp257 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ecasehead(")) ; /* tmp258 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp119)->tag != 33) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst("D1Escasehead(")) ; /* tmp260 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp119)->tag != 34) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_1) ; tmp263 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_2) ; /* tmp264 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etup(")) ; /* tmp265 = */ atspre_fprint_int (arg0, tmp261) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt (arg0, tmp262) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp263) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp119)->tag != 35) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_0) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_1) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_2) ; /* tmp273 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etup(knd=")) ; /* tmp274 = */ atspre_fprint_int (arg0, tmp270) ; /* tmp275 = */ atspre_fprint_string (arg0, ATSstrcst("; npf=")) ; /* tmp276 = */ atspre_fprint_int (arg0, tmp271) ; /* tmp277 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp272) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp119)->tag != 36) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_0) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_1) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_8, tmp119, atslab_2) ; /* tmp282 = */ atspre_fprint_string (arg0, ATSstrcst("D1Erec(knd=")) ; /* tmp283 = */ atspre_fprint_int (arg0, tmp279) ; /* tmp284 = */ atspre_fprint_string (arg0, ATSstrcst("; npf=")) ; /* tmp285 = */ atspre_fprint_int (arg0, tmp280) ; /* tmp286 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1explst (arg0, tmp281) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp119)->tag != 37) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp288 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp289 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eseq(")) ; /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp288) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp119)->tag != 38) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp291 = */ atspre_fprint_string (arg0, ATSstrcst("D1Earrsub(")) ; /* tmp292 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp119)->tag != 40) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp293 = */ atspre_fprint_string (arg0, ATSstrcst("D1Earrpsz(")) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp119)->tag != 39) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp295 = */ atspre_fprint_string (arg0, ATSstrcst("D1Earrinit(")) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp119)->tag != 43) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_0) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_1) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_14, tmp119, atslab_2) ; /* tmp300 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eselab(")) ; /* tmp301 = */ atspre_fprint_int (arg0, tmp297) ; /* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp298) ; /* tmp304 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1lab (arg0, tmp299) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp119)->tag != 41) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp307 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eptrof(")) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp306) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp119)->tag != 42) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp309 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp310 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eviewat(")) ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp309) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp119)->tag != 44) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp312 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp313 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eraise(")) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp312) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp119)->tag != 45) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eeffmask(")) ; /* tmp316 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp119)->tag != 46) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp318 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eshowtype(")) ; /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp317) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp119)->tag != 47) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_7, tmp119, atslab_0) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_7, tmp119, atslab_1) ; /* tmp322 = */ atspre_fprint_string (arg0, ATSstrcst("D1Evcopyenv(")) ; /* tmp323 = */ atspre_fprint_int (arg0, tmp320) ; /* tmp324 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp321) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp119)->tag != 48) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp327 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etempenver(")) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp326) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp119)->tag != 49) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp329 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp330 = */ atspre_fprint_string (arg0, ATSstrcst("D1Esexparg(")) ; /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg (arg0, tmp329) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp119)->tag != 50) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eexist(")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg (arg0, tmp332) ; /* tmp336 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp333) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp119)->tag != 51) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* tmp338 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elam_dyn(")) ; /* tmp339 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp119)->tag != 52) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elaminit_dyn(")) ; /* tmp341 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp119)->tag != 54) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp342 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elam_sta_ana(")) ; /* tmp343 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp119)->tag != 55) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp344 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elam_sta_syn(")) ; /* tmp345 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp119)->tag != 53) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp346 = */ atspre_fprint_string (arg0, ATSstrcst("D1Elam_met(")) ; /* tmp347 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp119)->tag != 56) { goto __ats_lab_87_0 ; } __ats_lab_86_1: /* tmp348 = */ atspre_fprint_string (arg0, ATSstrcst("D1Efix(")) ; /* tmp349 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp119)->tag != 57) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("D1Edelay(")) ; /* tmp351 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp119)->tag != 58) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp352 = */ atspre_fprint_string (arg0, ATSstrcst("D1Efor(")) ; /* tmp353 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp119)->tag != 59) { goto __ats_lab_90_0 ; } __ats_lab_89_1: /* tmp354 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ewhile(")) ; /* tmp355 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp119)->tag != 61) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp356 = */ atspre_fprint_string (arg0, ATSstrcst("D1Etrywith(")) ; /* tmp357 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp119)->tag != 62) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp359 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp360 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eann_type(")) ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp358) ; /* tmp362 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp363 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp359) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp119)->tag != 63) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp366 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eann_effc(")) ; /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp364) ; /* tmp368 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_effcst (arg0, tmp365) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp119)->tag != 64) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp371 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eann_funclo(")) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp370) ; /* tmp374 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (arg0, tmp371) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp119)->tag != 65) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp378 = */ atspre_fprint_string (arg0, ATSstrcst("D1Emacsyn(")) ; /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind (arg0, tmp376) ; /* tmp380 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp377) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp119)->tag != 66) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_2, tmp119, atslab_1) ; /* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("D1Emacfun(")) ; /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp382) ; /* tmp386 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (arg0, tmp383) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp119)->tag != 67) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp389 = */ atspre_fprint_string (arg0, ATSstrcst("D1Esolassert(")) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp388) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp119)->tag != 68) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp391 = ats_caselptrlab_mac(anairiats_sum_1, tmp119, atslab_0) ; /* tmp392 = */ atspre_fprint_string (arg0, ATSstrcst("D1Esolverify(")) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp391) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (((ats_sum_ptr_type)tmp119)->tag != 69) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("D1Eerrexp()")) ; break ; } while (0) ; return /* (tmp118) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 16896(line=722, offs=13) -- 16930(line=722, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1exp: /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (stdout, arg0) ; return /* (tmp394) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 16953(line=724, offs=13) -- 16987(line=724, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp395) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp: /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (stderr, arg0) ; return /* (tmp395) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 17038(line=730, offs=3) -- 17093(line=730, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp396) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst: /* tmp396 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp) ; return /* (tmp396) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; // ATSlocal_void (tmp400) ; // ATSlocal_void (tmp401) ; __ats_lab_fprintopt_01695_ats_ptr_type: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* tmp398 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; /* tmp400 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp401 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp399) ; /* tmp398 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp398) */ ; } /* end of [fprintopt_01695_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 17172(line=737, offs=3) -- 17223(line=737, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp397) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1expopt: /* tmp397 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp) ; return /* (tmp397) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 17302(line=744, offs=3) -- 17458(line=749, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1exp: tmp403 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp404 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp403) ; /* tmp406 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp402 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp404) ; return /* (tmp402) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 17517(line=752, offs=20) -- 17577(line=753, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp407) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1explst: /* tmp407 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1exp) ; return /* (tmp407) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_labd1explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 17656(line=760, offs=3) -- 18062(line=776, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; // ATSlocal_void (tmp411) ; // ATSlocal_void (tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1lab: tmp409 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_d1lab_node) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp409)->tag != 0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_1, tmp409, atslab_0) ; /* tmp411 = */ atspre_fprint_string (arg0, ATSstrcst("D1LABlab(")) ; /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp410) ; /* tmp408 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (((ats_sum_ptr_type)tmp409)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_1, tmp409, atslab_0) ; /* tmp414 = */ atspre_fprint_string (arg0, ATSstrcst("D1LABind(")) ; /* tmp415 = */ fprintlst_01694_ats_ptr_type (arg0, tmp413, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp) ; /* tmp408 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp408) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 18187(line=785, offs=3) -- 18362(line=790, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_m1acdef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_m1acdef: tmp417 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_m1acdef_sym) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp417) ; /* tmp419 = */ atspre_fprint_string (arg0, ATSstrcst("(...) = ")) ; tmp420 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_m1acdef_def) ; /* tmp416 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp420) ; return /* (tmp416) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_m1acdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 18490(line=797, offs=16) -- 18631(line=801, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1aldec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp421) ; // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1aldec: tmp423 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_v1aldec_pat) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_p1at (arg0, tmp423) ; /* tmp424 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp425 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_v1aldec_def) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp425) ; return /* (tmp421) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1aldec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 18729(line=808, offs=16) -- 19366(line=840, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1ardec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp426) ; // ATSlocal_void (tmp427) ; ATSlocal (ats_int_type, tmp428) ; // ATSlocal_void (tmp429) ; // ATSlocal_void (tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; // ATSlocal_void (tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; // ATSlocal_void (tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; // ATSlocal_void (tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; // ATSlocal_void (tmp442) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1ardec: tmp428 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v1ardec_knd) ; /* tmp427 = */ atspre_fprint_int (arg0, tmp428) ; /* tmp429 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp431 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v1ardec_sym) ; /* tmp430 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp431) ; tmp433 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v1ardec_type) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (tmp433 != (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (tmp433 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_15, tmp433, atslab_0) ; /* tmp435 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp434) ; break ; } while (0) ; tmp437 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v1ardec_pfat) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (tmp437 != (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (tmp437 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_15, tmp437, atslab_0) ; /* tmp439 = */ atspre_fprint_string (arg0, ATSstrcst(" with ")) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp438) ; break ; } while (0) ; tmp440 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v1ardec_init) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (tmp440 != (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (tmp440 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp441 = ats_caselptrlab_mac(anairiats_sum_15, tmp440, atslab_0) ; /* tmp442 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp426 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp441) ; break ; } while (0) ; return /* (tmp426) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1ardec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 19441(line=846, offs=3) -- 27144(line=1179, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; // ATSlocal_void (tmp452) ; // ATSlocal_void (tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_int_type, tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; // ATSlocal_void (tmp463) ; // ATSlocal_void (tmp464) ; // ATSlocal_void (tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; // ATSlocal_void (tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; // ATSlocal_void (tmp473) ; // ATSlocal_void (tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; // ATSlocal_void (tmp480) ; // ATSlocal_void (tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; // ATSlocal_void (tmp491) ; // ATSlocal_void (tmp492) ; ATSlocal (ats_int_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; // ATSlocal_void (tmp495) ; // ATSlocal_void (tmp496) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; ATSlocal (ats_int_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; // ATSlocal_void (tmp501) ; // ATSlocal_void (tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_int_type, tmp508) ; // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; // ATSlocal_void (tmp511) ; // ATSlocal_void (tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; // ATSlocal_void (tmp518) ; // ATSlocal_void (tmp519) ; // ATSlocal_void (tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; // ATSlocal_void (tmp526) ; // ATSlocal_void (tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; // ATSlocal_void (tmp530) ; // ATSlocal_void (tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; // ATSlocal_void (tmp536) ; // ATSlocal_void (tmp537) ; ATSlocal (ats_int_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; // ATSlocal_void (tmp541) ; // ATSlocal_void (tmp542) ; // ATSlocal_void (tmp543) ; // ATSlocal_void (tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; ATSlocal (ats_int_type, tmp553) ; ATSlocal (ats_int_type, tmp554) ; // ATSlocal_void (tmp555) ; // ATSlocal_void (tmp556) ; // ATSlocal_void (tmp557) ; // ATSlocal_void (tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; ATSlocal (ats_int_type, tmp561) ; ATSlocal (ats_bool_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; // ATSlocal_void (tmp564) ; // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; ATSlocal (ats_int_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; // ATSlocal_void (tmp574) ; // ATSlocal_void (tmp575) ; // ATSlocal_void (tmp576) ; // ATSlocal_void (tmp577) ; // ATSlocal_void (tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; // ATSlocal_void (tmp581) ; // ATSlocal_void (tmp582) ; // ATSlocal_void (tmp583) ; // ATSlocal_void (tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; // ATSlocal_void (tmp588) ; // ATSlocal_void (tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; // ATSlocal_void (tmp592) ; // ATSlocal_void (tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_bool_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; // ATSlocal_void (tmp597) ; // ATSlocal_void (tmp598) ; // ATSlocal_void (tmp599) ; // ATSlocal_void (tmp600) ; // ATSlocal_void (tmp601) ; // ATSlocal_void (tmp602) ; ATSlocal (ats_int_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; // ATSlocal_void (tmp605) ; // ATSlocal_void (tmp606) ; // ATSlocal_void (tmp607) ; // ATSlocal_void (tmp608) ; ATSlocal (ats_int_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; // ATSlocal_void (tmp611) ; // ATSlocal_void (tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; // ATSlocal_void (tmp617) ; // ATSlocal_void (tmp618) ; // ATSlocal_void (tmp619) ; // ATSlocal_void (tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; // ATSlocal_void (tmp625) ; // ATSlocal_void (tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; // ATSlocal_void (tmp628) ; // ATSlocal_void (tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; // ATSlocal_void (tmp631) ; // ATSlocal_void (tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; // ATSlocal_void (tmp635) ; // ATSlocal_void (tmp636) ; // ATSlocal_void (tmp637) ; // ATSlocal_void (tmp638) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl: tmp444 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_d1ecl_node) ; do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp444)->tag != 0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cnone()")) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp444)->tag != 1) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp445 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp446 = */ atspre_fprint_string (arg0, ATSstrcst("D1Clist(\n")) ; /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist (arg0, tmp445) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp444)->tag != 2) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp448 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp449 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cpackname(")) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_stropt (arg0, tmp448) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp444)->tag != 3) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp451 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp452 = */ atspre_fprint_string (arg0, ATSstrcst("D1Csymintr(")) ; /* tmp453 = */ fprintlst_01694_ats_ptr_type (arg0, tmp451, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp444)->tag != 4) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp455 = */ atspre_fprint_string (arg0, ATSstrcst("D1Csymelim(")) ; /* tmp456 = */ fprintlst_01694_ats_ptr_type (arg0, tmp454, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp444)->tag != 5) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp457 = ats_caselptrlab_mac(anairiats_sum_21, tmp444, atslab_0) ; tmp458 = ats_caselptrlab_mac(anairiats_sum_21, tmp444, atslab_1) ; tmp459 = ats_caselptrlab_mac(anairiats_sum_21, tmp444, atslab_2) ; /* tmp460 = */ atspre_fprint_string (arg0, ATSstrcst("D1Coverload(")) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp457) ; /* tmp462 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp463 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (arg0, tmp458) ; /* tmp464 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp465 = */ atspre_fprint_int (arg0, tmp459) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp444)->tag != 6) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp468 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ce1xpdef(")) ; /* tmp469 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp466) ; /* tmp470 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp471 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp467) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp444)->tag != 7) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp472 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; /* tmp473 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ce1xpundef(")) ; /* tmp474 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp472) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp444)->tag != 8) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp475 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp476 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cpragma(")) ; /* tmp477 = */ fprintlst_01694_ats_ptr_type (arg0, tmp475, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp444)->tag != 9) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_0) ; tmp479 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_1) ; /* tmp480 = */ atspre_fprint_string (arg0, ATSstrcst("D1Ccodegen(")) ; /* tmp481 = */ atspre_fprint_int (arg0, tmp478) ; /* tmp482 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp483 = */ fprintlst_01694_ats_ptr_type (arg0, tmp479, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp444)->tag != 10) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp484 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp485 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cdatsrts(\n")) ; /* tmp486 = */ fprintlst_01694_ats_ptr_type (arg0, tmp484, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtdec) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp444)->tag != 11) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp487 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp488 = */ atspre_fprint_string (arg0, ATSstrcst("D1Csrtdefs(\n")) ; /* tmp489 = */ fprintlst_01694_ats_ptr_type (arg0, tmp487, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtdef) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp444)->tag != 12) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp491 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cstacsts(\n")) ; /* tmp492 = */ fprintlst_01694_ats_ptr_type (arg0, tmp490, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacst) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp444)->tag != 13) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_0) ; tmp494 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_1) ; /* tmp495 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cstacons(")) ; /* tmp496 = */ atspre_fprint_int (arg0, tmp493) ; /* tmp497 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp498 = */ fprintlst_01694_ats_ptr_type (arg0, tmp494, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacon) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp444)->tag != 15) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp499 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_0) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_1) ; /* tmp501 = */ atspre_fprint_string (arg0, ATSstrcst("D1Csexpdefs(")) ; /* tmp502 = */ atspre_fprint_int (arg0, tmp499) ; /* tmp503 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp504 = */ fprintlst_01694_ats_ptr_type (arg0, tmp500, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expdef) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp444)->tag != 16) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp505 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp506 = */ atspre_fprint_string (arg0, ATSstrcst("D1Csaspdec(")) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1aspdec (arg0, tmp505) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp444)->tag != 17) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp508 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_0) ; /* tmp509 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cdatdecs(")) ; /* tmp510 = */ atspre_fprint_int (arg0, tmp508) ; /* tmp511 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp512 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp444)->tag != 18) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp513 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp514 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cexndecs(\n")) ; /* tmp515 = */ fprintlst_01694_ats_ptr_type (arg0, tmp513, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xndec) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp444)->tag != 19) { goto __ats_lab_130_0 ; } __ats_lab_127_1: tmp516 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp517 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp518 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cclassdec(")) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp516) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (tmp517 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp521 = ats_caselptrlab_mac(anairiats_sum_15, tmp517, atslab_0) ; /* tmp522 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp521) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (tmp517 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: break ; } while (0) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp444)->tag != 24) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_22, tmp444, atslab_0) ; tmp524 = ats_caselptrlab_mac(anairiats_sum_22, tmp444, atslab_1) ; tmp525 = ats_caselptrlab_mac(anairiats_sum_22, tmp444, atslab_3) ; /* tmp526 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cdcstdecs(")) ; /* tmp527 = */ atspre_fprint_int (arg0, tmp523) ; /* tmp528 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind (arg0, tmp524) ; /* tmp530 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp531 = */ fprintlst_01694_ats_ptr_type (arg0, tmp525, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1cstdec) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp444)->tag != 20) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp534 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cextype(")) ; /* tmp535 = */ atspre_fprint_string (arg0, tmp532) ; /* tmp536 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp533) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp444)->tag != 21) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp538 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_0) ; tmp539 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_1) ; tmp540 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_2) ; /* tmp541 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cextype(")) ; /* tmp542 = */ atspre_fprint_int (arg0, tmp538) ; /* tmp543 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp544 = */ atspre_fprint_string (arg0, tmp539) ; /* tmp545 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp546 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp540) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp444)->tag != 22) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp547 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp548 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp549 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cextvalr")) ; /* tmp550 = */ atspre_fprint_string (arg0, tmp547) ; /* tmp551 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp548) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp444)->tag != 23) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp553 = ats_caselptrlab_mac(anairiats_sum_8, tmp444, atslab_0) ; tmp554 = ats_caselptrlab_mac(anairiats_sum_8, tmp444, atslab_1) ; /* tmp555 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cextcode(")) ; /* tmp556 = */ atspre_fprint_int (arg0, tmp553) ; /* tmp557 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp558 = */ atspre_fprint_int (arg0, tmp554) ; /* tmp559 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp560 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp444)->tag != 25) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp561 = ats_caselptrlab_mac(anairiats_sum_23, tmp444, atslab_0) ; tmp562 = ats_caselptrlab_mac(anairiats_sum_23, tmp444, atslab_1) ; tmp563 = ats_caselptrlab_mac(anairiats_sum_23, tmp444, atslab_2) ; /* tmp564 = */ atspre_fprint_string (arg0, ATSstrcst("D1macdef(")) ; /* tmp565 = */ atspre_fprint_int (arg0, tmp561) ; /* tmp566 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp567 = */ atspre_fprint_bool (arg0, tmp562) ; /* tmp568 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp569 = */ fprintlst_01694_ats_ptr_type (arg0, tmp563, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_m1acdef) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp444)->tag != 26) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp570 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_0) ; tmp571 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_1) ; tmp572 = ats_caselptrlab_mac(anairiats_sum_14, tmp444, atslab_2) ; tmp573 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp572), atslab_i1mpdec_qid) ; /* tmp574 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cimpdec[")) ; /* tmp575 = */ atspre_fprint_int (arg0, tmp570) ; /* tmp576 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp577 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_i1mparg (arg0, tmp571) ; /* tmp578 = */ atspre_fprint_string (arg0, ATSstrcst("(\n")) ; tmp579 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp573), atslab_impqi0de_qua) ; tmp580 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp573), atslab_impqi0de_sym) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp579) ; /* tmp582 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp580) ; /* tmp583 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp585 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp572), atslab_i1mpdec_def) ; /* tmp584 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1exp (arg0, tmp585) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp444)->tag != 27) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp586 = ats_caselptrlab_mac(anairiats_sum_9, tmp444, atslab_0) ; tmp587 = ats_caselptrlab_mac(anairiats_sum_9, tmp444, atslab_1) ; /* tmp588 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cfundecs(")) ; /* tmp589 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind (arg0, tmp586) ; /* tmp590 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp591 = */ fprintlst_01694_ats_ptr_type (arg0, tmp587, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg) ; /* tmp592 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp593 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp444)->tag != 28) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp594 = ats_caselptrlab_mac(anairiats_sum_26, tmp444, atslab_0) ; tmp595 = ats_caselptrlab_mac(anairiats_sum_26, tmp444, atslab_1) ; tmp596 = ats_caselptrlab_mac(anairiats_sum_26, tmp444, atslab_2) ; /* tmp597 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cvaldecs(")) ; /* tmp598 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind (arg0, tmp594) ; /* tmp599 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp600 = */ atspre_fprint_bool (arg0, tmp595) ; /* tmp601 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp602 = */ fprintlst_01694_ats_ptr_type (arg0, tmp596, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1aldec) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp444)->tag != 29) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp603 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_0) ; tmp604 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_1) ; /* tmp605 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cvardecs(")) ; /* tmp606 = */ atspre_fprint_int (arg0, tmp603) ; /* tmp607 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp608 = */ fprintlst_01694_ats_ptr_type (arg0, tmp604, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__fprint_v1ardec) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp444)->tag != 30) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp609 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_0) ; tmp610 = ats_caselptrlab_mac(anairiats_sum_7, tmp444, atslab_1) ; /* tmp611 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cinclude(")) ; /* tmp612 = */ atspre_fprint_int (arg0, tmp609) ; /* tmp613 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp614 = */ fprintlst_01694_ats_ptr_type (arg0, tmp610, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp444)->tag != 31) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp615 = ats_caselptrlab_mac(anairiats_sum_6, tmp444, atslab_0) ; tmp616 = ats_caselptrlab_mac(anairiats_sum_6, tmp444, atslab_1) ; /* tmp617 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cstaload(")) ; /* tmp618 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt (arg0, tmp615) ; /* tmp619 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp620 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp616) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp444)->tag != 32) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp621 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp622 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp623 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cstaloadnm(")) ; /* tmp624 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt (arg0, tmp621) ; /* tmp625 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp626 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp622) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp444)->tag != 33) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp627 = ats_caselptrlab_mac(anairiats_sum_9, tmp444, atslab_1) ; /* tmp628 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cstaloadloc(")) ; /* tmp629 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp627) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(", ...)")) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp444)->tag != 34) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp630 = ats_caselptrlab_mac(anairiats_sum_1, tmp444, atslab_0) ; /* tmp631 = */ atspre_fprint_string (arg0, ATSstrcst("D1Cdynload(")) ; /* tmp632 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp630) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp444)->tag != 35) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp633 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp634 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; /* tmp635 = */ atspre_fprint_string (arg0, ATSstrcst("D1Clocal(\n")) ; /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist (arg0, tmp633) ; /* tmp637 = */ atspre_fprint_string (arg0, ATSstrcst("\n(*in*)\n")) ; /* tmp638 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist (arg0, tmp634) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: __ats_lab_146_1: /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("D1C...(...)")) ; break ; } while (0) ; return /* (tmp443) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 27193(line=1182, offs=13) -- 27227(line=1182, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp639) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1ecl: /* tmp639 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl (stdout, arg0) ; return /* (tmp639) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__print_d1ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 27250(line=1184, offs=13) -- 27284(line=1184, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp640) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1ecl: /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl (stderr, arg0) ; return /* (tmp640) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1_print.dats: 27335(line=1190, offs=3) -- 27390(line=1190, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp641) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist: /* tmp641 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1ecl) ; return /* (tmp641) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__fprint_d1eclist] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_dynexp1_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_decl_dats.c0000664000175000017500000053432012655455557021242 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MACDEF_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDfname_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDnspace_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_stai0de_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_impqi0de_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_sta_84) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_dyn_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guad0ecl_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_staloadarg_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_string_append) (ats_ptr_type, ats_ptr_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_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_lrbrackets) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_dotlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sing) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtdef_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0kindef_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0expdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0aspdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_none) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_svararglst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0undec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0ardec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mpdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fixity) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_nonfix) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symintr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symelim) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpundef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_error) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_print) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datsrts) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_srtdefs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacons) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacsts) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_tkindef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_none) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_some) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_macdefs) (ats_int_type, ats_bool_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_overload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_classdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_impdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_valdecs) (ats_ptr_type, ats_bool_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_vardecs) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_declist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_fname) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_nspace) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_some_arg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_require) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_one) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_two) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_cons) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BANG) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPTHEN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPENDIF) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0rec) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_extnamopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtconseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqs0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndec) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atconseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstarg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg2) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqd0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taconseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tacstseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndecseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_m0acdef) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_m0acarg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_stai0de) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type p_d0atsrtdec_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0rtdef_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_6 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_s0tacon_4 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0tacst_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_t0kindef_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0expdef_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0aspdec_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_d0atdec_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_d0cstdec_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_staloadarg_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_staload_tok_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_srpifkind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_srpelifkind_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_d0ecl_tok_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_32 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type loop_32_closure_make (ats_ptr_type env0) ; static ats_void_type loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_ptr_type guad0ecl_fun_33 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_d0ecl_sta_tok_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_v0aldec_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_f0undec_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_v0ardec_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0mpsvararg_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0mparg_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_impqi0de_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0mpdec_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_d0ecl_dyn_tok_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 1812(line=65, offs=1) -- 2208(line=79, offs=4) */ ATSstaticdec() ats_ptr_type p_d0atsrtdec_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_bool_type, tmp6) ; __ats_lab_p_d0atsrtdec_0: tmp1 = ats_ptrget_mac(ats_int_type, arg2) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtconseq) ; // tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_1) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp2, atslab_2) ; ATS_FREE(tmp2) ; tmp6 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp1) ; if (tmp6) { tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtdec_make (tmp3, tmp4, tmp5) ; } else { tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp0) ; } /* end of [p_d0atsrtdec_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 2263(line=83, offs=3) -- 2356(line=87, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtdecseq: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0atsrtdec_0) ; tmp7 = ats_castfn_mac(ats_ptr_type, tmp8) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtdecseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 2447(line=95, offs=1) -- 2818(line=109, offs=4) */ ATSstaticdec() ats_ptr_type p_s0rtdef_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; __ats_lab_p_s0rtdef_2: tmp10 = ats_ptrget_mac(ats_int_type, arg2) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext) ; // tmp12 = ats_caselptrlab_mac(anairiats_sum_1, tmp11, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_1, tmp11, atslab_2) ; ATS_FREE(tmp11) ; tmp14 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp10) ; if (tmp14) { tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtdef_make (tmp12, tmp13) ; } else { tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp9) ; } /* end of [p_s0rtdef_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 2867(line=113, offs=3) -- 2957(line=117, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtdefseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtdefseq: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0rtdef_2) ; tmp15 = ats_castfn_mac(ats_ptr_type, tmp16) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtdefseq] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_loop_6: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp28 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp27) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp26 = */ loop_6 (arg0) ; return /* (tmp26) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 3056(line=125, offs=1) -- 3602(line=148, offs=4) */ ATSstaticdec() ats_ptr_type p_s0tacon_4 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_uint_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_bool_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab_p_s0tacon_4: tmp18 = ats_ptrget_mac(ats_int_type, arg2) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp22 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp18) ; if (tmp22) { tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt) ; } else { tmp21 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqs0expopt, tmp18) ; tmp24 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp18) ; if (tmp24) { tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacon_make (tmp20, ats_castfn_mac(ats_ptr_type, tmp21), tmp23) ; } else { /* tmp25 = */ list_vt_free_01499_ats_ptr_type (tmp21) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp19) ; } /* end of [if] */ return (tmp17) ; } /* end of [p_s0tacon_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 3651(line=152, offs=3) -- 3741(line=156, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taconseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taconseq: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0tacon_4) ; tmp29 = ats_castfn_mac(ats_ptr_type, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taconseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 3838(line=164, offs=1) -- 4450(line=190, offs=4) */ ATSstaticdec() ats_ptr_type p_s0tacst_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; ATSlocal (ats_uint_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; // ATSlocal_void (tmp40) ; __ats_lab_p_s0tacst_8: tmp32 = ats_ptrget_mac(ats_int_type, arg2) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp36 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp32) ; if (tmp36) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt) ; } else { tmp35 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp32) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt, tmp32) ; tmp39 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp32) ; if (tmp39) { tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacst_make (tmp34, ats_castfn_mac(ats_ptr_type, tmp35), tmp38) ; } else { /* tmp40 = */ list_vt_free_01499_ats_ptr_type (tmp35) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp33) ; } /* end of [if] */ return (tmp31) ; } /* end of [p_s0tacst_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 4499(line=194, offs=3) -- 4589(line=198, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tacstseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tacstseq: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0tacst_8) ; tmp41 = ats_castfn_mac(ats_ptr_type, tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tacstseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 5318(line=244, offs=1) -- 5699(line=260, offs=4) */ ATSstaticdec() ats_ptr_type p_t0kindef_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_uint_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; __ats_lab_p_t0kindef_10: tmp44 = ats_ptrget_mac(ats_int_type, arg2) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp44) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, tmp44) ; tmp49 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp44) ; if (tmp49) { tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0kindef_make (tmp46, tmp48) ; } else { tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp45) ; } /* end of [if] */ return (tmp43) ; } /* end of [p_t0kindef_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 5806(line=269, offs=1) -- 6490(line=296, offs=4) */ ATSstaticdec() ats_ptr_type p_s0expdef_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_uint_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; // ATSlocal_void (tmp60) ; __ats_lab_p_s0expdef_11: tmp51 = ats_ptrget_mac(ats_int_type, arg2) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp55 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp51) ; if (tmp55) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg) ; } else { tmp54 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt, tmp51) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp51) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp51) ; tmp59 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp51) ; if (tmp59) { tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0expdef_make (tmp53, ats_castfn_mac(ats_ptr_type, tmp54), tmp56, tmp58) ; } else { /* tmp60 = */ list_vt_free_01499_ats_ptr_type (tmp54) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp52) ; } /* end of [if] */ return (tmp50) ; } /* end of [p_s0expdef_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 6541(line=300, offs=3) -- 6632(line=304, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_s0expdef_11) ; tmp61 = ats_castfn_mac(ats_ptr_type, tmp62) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 6743(line=312, offs=1) -- 7396(line=338, offs=4) */ ATSstaticdec() ats_ptr_type p_s0aspdec_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_uint_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; // ATSlocal_void (tmp73) ; __ats_lab_p_s0aspdec_13: tmp64 = ats_ptrget_mac(ats_int_type, arg2) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de (arg0, arg1, arg2) ; tmp68 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp64) ; if (tmp68) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg) ; } else { tmp67 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt, tmp64) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp64) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp64) ; tmp72 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp64) ; if (tmp72) { tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0aspdec_make (tmp66, ats_castfn_mac(ats_ptr_type, tmp67), tmp69, tmp71) ; } else { /* tmp73 = */ list_vt_free_01499_ats_ptr_type (tmp67) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp65) ; } /* end of [if] */ return (tmp63) ; } /* end of [p_s0aspdec_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 7510(line=347, offs=3) -- 7600(line=351, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndecseq: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndec) ; tmp74 = ats_castfn_mac(ats_ptr_type, tmp75) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndecseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 7700(line=359, offs=1) -- 8340(line=384, offs=4) */ ATSstaticdec() ats_ptr_type p_d0atdec_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_uint_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; // ATSlocal_void (tmp86) ; __ats_lab_p_d0atdec_15: tmp77 = ats_ptrget_mac(ats_int_type, arg2) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp81 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp77) ; if (tmp81) { tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt) ; } else { tmp80 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp77) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atconseq, tmp77) ; tmp84 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp77) ; if (tmp84) { tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atdec_make (tmp79, ats_castfn_mac(ats_ptr_type, tmp80), tmp83) ; } else { tmp85 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp85 ; /* tmp86 = */ list_vt_free_01499_ats_ptr_type (tmp80) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp78) ; } /* end of [if] */ return (tmp76) ; } /* end of [p_d0atdec_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 8389(line=388, offs=3) -- 8479(line=392, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atdecseq: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0atdec_15) ; tmp87 = ats_castfn_mac(ats_ptr_type, tmp88) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atdecseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 8594(line=400, offs=1) -- 9262(line=425, offs=4) */ ATSstaticdec() ats_ptr_type p_d0cstdec_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_uint_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; // ATSlocal_void (tmp99) ; __ats_lab_p_d0cstdec_17: tmp90 = ats_ptrget_mac(ats_int_type, arg2) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp94 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp90) ; if (tmp94) { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstarg) ; } else { tmp93 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith, tmp90) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp90) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_extnamopt, tmp90) ; tmp98 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp90) ; if (tmp98) { tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstdec_make (tmp92, ats_castfn_mac(ats_ptr_type, tmp93), tmp95, tmp96, tmp97) ; } else { /* tmp99 = */ list_vt_free_01499_ats_ptr_type (tmp93) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp91) ; } /* end of [if] */ return (tmp89) ; } /* end of [p_d0cstdec_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 9313(line=429, offs=3) -- 9380(line=430, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq: tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_d0cstdec_17) ; tmp100 = ats_castfn_mac(ats_ptr_type, tmp101) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 9538(line=441, offs=8) -- 10329(line=478, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_uint_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_bool_type, tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym: tmp103 = ats_ptrget_mac(ats_int_type, arg2) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp105), atslab_token_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp106)->tag != 9) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab (arg0, 0, arg2) ; tmp109 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp103) ; if (tmp109) { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_dotlab (tmp105, tmp108) ; } else { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp104) ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp106)->tag != 155) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ; tmp112 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp103) ; if (tmp112) { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_lrbrackets (tmp105, tmp111) ; } else { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp104) ; } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp114 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp103) ; if (tmp114) { tmp102 = tmp113 ; } else { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; } while (0) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 10435(line=486, offs=3) -- 10530(line=490, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1: tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym) ; tmp115 = ats_castfn_mac(ats_ptr_type, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 10721(line=505, offs=3) -- 11809(line=551, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_m0acarg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_uint_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_bool_type, tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_m0acarg: tmp118 = ats_ptrget_mac(ats_int_type, arg2) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp120), atslab_token_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp121)->tag != 157) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp125 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp118) ; if (tmp125) { tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sta (tmp120, ats_castfn_mac(ats_ptr_type, tmp123), tmp124) ; } else { /* tmp126 = */ list_vt_free_01499_ats_ptr_type (tmp123) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp119) ; } /* end of [if] */ break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp121)->tag != 153) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp127 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp130 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp118) ; if (tmp130) { tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_dyn (tmp120, ats_castfn_mac(ats_ptr_type, tmp128), tmp129) ; } else { /* tmp131 = */ list_vt_free_01499_ats_ptr_type (tmp128) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp119) ; } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ; tmp133 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp118) ; if (tmp133) { tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sing (tmp132) ; } else { tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp119) ; } /* end of [if] */ break ; } while (0) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_m0acarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 11920(line=560, offs=3) -- 12459(line=582, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_m0acdef (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_uint_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_bool_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_bool_type, tmp142) ; // ATSlocal_void (tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_m0acdef: tmp135 = ats_ptrget_mac(ats_int_type, arg2) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp139 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp135) ; if (tmp139) { tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_m0acarg) ; } else { tmp138 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp135) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp135) ; tmp142 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp135) ; if (tmp142) { tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acdef_make (tmp137, ats_castfn_mac(ats_ptr_type, tmp138), tmp141) ; } else { /* tmp143 = */ list_vt_free_01499_ats_ptr_type (tmp138) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp136) ; } /* end of [if] */ return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_m0acdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 12597(line=594, offs=3) -- 13050(line=614, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_stai0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_stai0de: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp145), atslab_token_loc) ; tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp145), atslab_token_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp147)->tag != 139) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_4, tmp147, atslab_0) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp150 = atspre_string_append (ATSstrcst("$"), tmp148) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp146, tmp150) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp151 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp151 ; tmp153 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_stai0de_48) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp146, tmp153) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp144) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_stai0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 13225(line=626, offs=1) -- 14365(line=676, offs=4) */ ATSstaticdec() ats_ptr_type p_staloadarg_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_uint_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_int_type, tmp169) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab_p_staloadarg_24: tmp155 = ats_ptrget_mac(ats_int_type, arg2) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp157), atslab_token_loc) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp157), atslab_token_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp159)->tag != 150) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_0) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp154)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_0, tmp158) ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_1, tmp160) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp159)->tag != 143) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_0) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp154)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_0, tmp158) ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_1, tmp162) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp159)->tag != 157) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp155) ; tmp167 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp155) ; if (tmp167) { tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_declist (tmp157, ats_castfn_mac(ats_ptr_type, tmp165), tmp166) ; } else { /* tmp168 = */ list_vt_free_01499_ats_ptr_type (tmp165) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp156) ; } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp169 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp169 ; tmp171 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_staloadarg_87) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp158, tmp171) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp154) ; } /* end of [p_staloadarg_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 14486(line=687, offs=1) -- 15525(line=727, offs=4) */ ATSstaticdec() ats_ptr_type p_staload_tok_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_int_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_bool_type, tmp181) ; __ats_lab_p_staload_tok_25: tmp173 = ats_ptrget_mac(ats_int_type, arg2) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp174), atslab_token_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp175)->tag != 150) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_fname (arg3, tmp174) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp175)->tag != 143) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_nspace (arg3, tmp174) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_stai0de (arg0, arg1, arg2) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp173) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_staloadarg_24, tmp173) ; tmp181 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp173) ; if (tmp181) { tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_some_arg (arg3, tmp178, tmp180) ; } else { tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; } while (0) ; return (tmp172) ; } /* end of [p_staload_tok_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 15627(line=735, offs=1) -- 16067(line=757, offs=4) */ ATSstaticdec() ats_ptr_type p_srpifkind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; ATSlocal (ats_int_type, tmp188) ; __ats_lab_p_srpifkind_26: tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp183), atslab_token_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp184)->tag != 119) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp182 = tmp183 ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp184)->tag != 120) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp182 = tmp183 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp184)->tag != 121) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp182 = tmp183 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp188 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp188 ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp182) ; } /* end of [p_srpifkind_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 16154(line=763, offs=1) -- 16602(line=785, offs=4) */ ATSstaticdec() ats_ptr_type p_srpelifkind_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; ATSlocal (ats_int_type, tmp195) ; __ats_lab_p_srpelifkind_27: tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp190), atslab_token_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp191)->tag != 123) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp189 = tmp190 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp191)->tag != 124) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp189 = tmp190 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp191)->tag != 125) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp189 = tmp190 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp195 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp195 ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp189) ; } /* end of [p_srpelifkind_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp220) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: break ; } while (0) ; return /* (tmp220) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 17343(line=821, offs=1) -- 24778(line=1125, offs=4) */ ATSstaticdec() ats_ptr_type p_d0ecl_tok_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_bool_type, tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_bool_type, tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_bool_type, tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_bool_type, tmp217) ; ATSlocal (ats_bool_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_bool_type, tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; // ATSlocal_void (tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_bool_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_bool_type, tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_bool_type, tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_bool_type, tmp257) ; // ATSlocal_void (tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_bool_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; // ATSlocal_void (tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; // ATSlocal_void (tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_bool_type, tmp270) ; // ATSlocal_void (tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_bool_type, tmp273) ; ATSlocal (ats_int_type, tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_bool_type, tmp277) ; // ATSlocal_void (tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_bool_type, tmp280) ; // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_bool_type, tmp283) ; ATSlocal (ats_int_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; // ATSlocal_void (tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; // ATSlocal_void (tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_bool_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_bool_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_bool_type, tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; ATSlocal (ats_int_type, tmp303) ; __ats_lab_p_d0ecl_tok_28: tmp197 = ats_ptrget_mac(ats_int_type, arg2) ; tmp198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp198)->tag != 49) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0rec (arg0, 0, arg2) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1, tmp197) ; tmp202 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp202) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fixity (arg3, tmp200, tmp201) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp198)->tag != 61) { goto __ats_lab_27_0 ; } __ats_lab_26_1: /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1 (arg0, 0, arg2) ; tmp205 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp205) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_nonfix (arg3, tmp204) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp198)->tag != 74) { goto __ats_lab_28_0 ; } __ats_lab_27_1: /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (arg0, 0, arg2) ; tmp208 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp208) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symintr (arg3, tmp207) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp198)->tag != 73) { goto __ats_lab_29_0 ; } __ats_lab_28_1: /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ymseq1 (arg0, 0, arg2) ; tmp211 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp211) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symelim (arg3, tmp210) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp198)->tag != 62) { goto __ats_lab_32_0 ; } __ats_lab_29_1: /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__p_s0ym (arg0, 0, arg2) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH, tmp197) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de, tmp197) ; tmp217 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp217) { tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt) ; } else { tmp216 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp218 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp218) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_overload (arg3, tmp213, tmp215, ats_castfn_mac(ats_ptr_type, tmp216)) ; } else { /* tmp219 = */ option_vt_free_01544_ats_ptr_type (tmp216) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp198)->tag != 132) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de (arg0, 0, arg2) ; tmp223 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp223) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpundef (arg3, tmp222) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp198)->tag != 133) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de (arg0, 0, arg2) ; tmp227 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp227) { tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp) ; } else { tmp226 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp228 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp228) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpdef (arg3, tmp225, ats_castfn_mac(ats_ptr_type, tmp226)) ; } else { /* tmp229 = */ option_vt_free_01544_ats_ptr_type (tmp226) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp198)->tag != 128) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp232 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp232) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_error (arg3, tmp231) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp198)->tag != 129) { goto __ats_lab_36_0 ; } __ats_lab_35_1: /* tmp233 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp235 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp235) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr (arg3, tmp234) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp198)->tag != 130) { goto __ats_lab_37_0 ; } __ats_lab_36_1: /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp238 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp238) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_print (arg3, tmp237) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp198)->tag != 131) { goto __ats_lab_38_0 ; } __ats_lab_37_1: /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp241 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp241) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert (arg3, tmp240) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp198)->tag != 135) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp244 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp244) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_require (arg3, tmp243) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp198)->tag != 136) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq, tmp197) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp197) ; tmp249 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp249) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma (tmp246, tmp247, tmp248) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp198)->tag != 137) { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* tmp250 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq, tmp197) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp197) ; tmp254 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp254) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen2 (tmp251, tmp252, tmp253) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp198)->tag != 68) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtdefseq (arg0, 0, arg2) ; tmp257 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp257) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_srtdefs (arg3, tmp256) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp198)->tag != 38) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtdecseq (arg0, 0, arg2) ; tmp260 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp260) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datsrts (arg3, tmp259) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp198)->tag != 69) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tacstseq (arg0, 0, arg2) ; tmp263 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp263) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacsts (arg3, tmp262) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp198)->tag != 31) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_6, tmp198, atslab_0) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taconseq (arg0, 0, arg2) ; tmp267 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp267) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacons (tmp264, arg3, tmp266) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp198)->tag != 76) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp268 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp269 = p_t0kindef_10 (arg0, 0, arg2) ; tmp270 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp270) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_tkindef (arg3, tmp269) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp198)->tag != 70) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ; tmp273 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp273) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs (-1, arg3, tmp272) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp198)->tag != 79) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_6, tmp198, atslab_0) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ; tmp277 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp277) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs (tmp274, arg3, tmp276) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp198)->tag != 34) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp279 = p_s0aspdec_13 (arg0, 0, arg2) ; tmp280 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp280) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_saspdec (arg3, tmp279) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp198)->tag != 44) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndecseq (arg0, 0, arg2) ; tmp283 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp283) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_exndecs (arg3, tmp282) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp198)->tag != 39) { goto __ats_lab_53_0 ; } __ats_lab_50_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_6, tmp198, atslab_0) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atdecseq (arg0, 0, arg2) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp287), atslab_token_node) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp288)->tag != 83) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp289 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0expdefseq (arg0, 0, arg2) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_some (tmp284, arg3, tmp286, tmp287, tmp290) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_none (tmp284, arg3, tmp286) ; break ; } while (0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp198)->tag != 37) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp291 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt, tmp197) ; tmp294 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp294) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_classdec (arg3, tmp292, tmp293) ; } else { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp198)->tag != 60) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_6, tmp198, atslab_0) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; /* ats_ptr_type tmp297 ; */ tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC, (&tmp297)) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_m0acdef) ; tmp300 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp300) { tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_macdefs (tmp295, tmp298, arg3, ats_castfn_mac(ats_ptr_type, tmp299)) ; } else { /* tmp301 = */ list_vt_free_01499_ats_ptr_type (tmp299) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp198)->tag != 71) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp196 = p_staload_tok_25 (arg0, 0, arg2, arg3) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp303 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp303 ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp196) ; } /* end of [p_d0ecl_tok_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 24845(line=1131, offs=3) -- 24914(line=1132, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl: tmp305 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_83) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_tok_28, tmp305) ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 25049(line=1143, offs=5) -- 25635(line=1168, offs=4) */ ATSstaticdec() ats_void_type loop_32 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_bool_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; // ATSlocal_void (tmp314) ; __ats_lab_loop_32: tmp308 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))env0) (arg0, 1, arg2) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: tmp309 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (!tmp309) { goto __ats_lab_58_1 ; } tmp310 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp310 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp311 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp311, atslab_0, tmp308) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp311 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp312 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) ; /* tmp314 = */ list_vt_free_01499_ats_ptr_type (tmp313) ; arg0 = arg0 ; arg1 = tmp312 ; arg2 = arg2 ; goto __ats_lab_loop_32 ; // tail call break ; } while (0) ; return /* (tmp307) */ ; } /* end of [loop_32] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_32_closure_type ; ats_void_type loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { loop_32 (((loop_32_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_32_closure_init (loop_32_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_32_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_32_closure_make (ats_ptr_type env0) { loop_32_closure_type *p_clo = ATS_MALLOC(sizeof(loop_32_closure_type)) ; loop_32_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 24987(line=1139, offs=6) -- 25757(line=1176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_int_type, tmp316) ; // ATSlocal_void (tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun: /* ats_ptr_type tmp315 ; */ /* ats_int_type tmp316 ; */ tmp316 = 0 ; /* tmp317 = */ loop_32 (arg2, arg0, (&tmp315), (&tmp316)) ; tmp306 = tmp315 ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 25990(line=1187, offs=1) -- 27714(line=1264, offs=4) */ ATSstaticdec() ats_ptr_type guad0ecl_fun_33 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_uint_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_bool_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_bool_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_bool_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_bool_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_bool_type, tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_int_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; __ats_lab_guad0ecl_fun_33: tmp319 = ats_ptrget_mac(ats_int_type, arg2) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; /* ats_ptr_type tmp321 ; */ tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, arg1, arg2) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPTHEN, (&tmp321)) ; tmp325 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp319) ; if (tmp325) { tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ; } else { tmp324 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp327 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp319) ; if (tmp327) { tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp326), atslab_token_node) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp328)->tag != 127) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_one (tmp322, ats_castfn_mac(ats_ptr_type, tmp324), tmp326) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp328)->tag != 126) { goto __ats_lab_61_0 ; } __ats_lab_60_1: /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, arg3) ; tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPENDIF (arg0, 0, arg2) ; tmp333 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp319) ; if (tmp333) { tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_two (tmp322, ats_castfn_mac(ats_ptr_type, tmp324), ats_castfn_mac(ats_ptr_type, tmp331), tmp332) ; } else { /* tmp334 = */ list_vt_free_01499_ats_ptr_type (tmp324) ; /* tmp335 = */ list_vt_free_01499_ats_ptr_type (tmp331) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp320) ; } /* end of [if] */ break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpelifkind_27, (&tmp321)) ; if (!tmp336) { goto __ats_lab_62_1 ; } tmp337 = guad0ecl_fun_33 (arg0, 0, arg2, arg3) ; tmp338 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp319) ; if (tmp338) { tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_cons (tmp322, ats_castfn_mac(ats_ptr_type, tmp324), tmp326, tmp337) ; } else { /* tmp339 = */ list_vt_free_01499_ats_ptr_type (tmp324) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp320) ; } /* end of [if] */ break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp340 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp340 ; /* tmp341 = */ list_vt_free_01499_ats_ptr_type (tmp324) ; tmp343 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp326), atslab_token_loc) ; tmp344 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guad0ecl_86) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp343, tmp344) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp320) ; break ; } while (0) ; } else { /* tmp345 = */ list_vt_free_01499_ats_ptr_type (tmp324) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp320) ; } /* end of [if] */ return (tmp318) ; } /* end of [guad0ecl_fun_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 27948(line=1279, offs=1) -- 29945(line=1362, offs=4) */ ATSstaticdec() ats_ptr_type p_d0ecl_sta_tok_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_bool_type, tmp350) ; ATSlocal (ats_bool_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_bool_type, tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_bool_type, tmp359) ; ATSlocal (ats_bool_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_bool_type, tmp363) ; // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_bool_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_bool_type, tmp370) ; // ATSlocal_void (tmp371) ; // ATSlocal_void (tmp372) ; ATSlocal (ats_int_type, tmp373) ; __ats_lab_p_d0ecl_sta_tok_34: tmp347 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp348 ; */ tmp349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl, (&tmp348)) ; if (!tmp350) { goto __ats_lab_64_1 ; } tmp346 = ats_castfn_mac(ats_ptr_type, tmp348) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind, (&tmp348)) ; if (!tmp351) { goto __ats_lab_65_0 ; } tmp352 = ats_castfn_mac(ats_ptr_type, tmp348) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq (arg0, 0, arg2) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq (arg0, 0, arg2) ; tmp355 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp347) ; if (tmp355) { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs (tmp352, tmp353, tmp354) ; } else { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp349)->tag != 169) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode (0, arg3) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp349)->tag != 134) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp359 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp347) ; if (tmp359) { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include (0, arg3, tmp358) ; } else { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp348)) ; if (!tmp360) { goto __ats_lab_68_0 ; } tmp361 = ats_castfn_mac(ats_ptr_type, tmp348) ; tmp362 = guad0ecl_fun_33 (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) ; tmp363 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp347) ; if (tmp363) { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp361, tmp362) ; } else { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp349)->tag != 59) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp365 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN (arg0, 0, arg2) ; tmp368 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp347) ; if (tmp368) { tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) ; } else { tmp367 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END, tmp347) ; tmp370 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp347) ; if (tmp370) { tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local (arg3, ats_castfn_mac(ats_ptr_type, tmp365), ats_castfn_mac(ats_ptr_type, tmp367), tmp369) ; } else { /* tmp371 = */ list_vt_free_01499_ats_ptr_type (tmp365) ; /* tmp372 = */ list_vt_free_01499_ats_ptr_type (tmp367) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp373 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp373 ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp346) ; } /* end of [p_d0ecl_sta_tok_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 29999(line=1366, offs=3) -- 30076(line=1367, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta: tmp375 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_sta_84) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_sta_tok_34, tmp375) ; return (tmp374) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 30169(line=1375, offs=5) -- 30577(line=1392, offs=4) */ ATSstaticdec() ats_ptr_type p_v0aldec_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_uint_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_bool_type, tmp383) ; __ats_lab_p_v0aldec_36: tmp377 = ats_ptrget_mac(ats_int_type, arg2) ; tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (arg0, arg1, arg2) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp377) ; tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp377) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype, tmp377) ; tmp383 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp377) ; if (tmp383) { tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0aldec_make (tmp379, tmp381, tmp382) ; } else { tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp378) ; } /* end of [if] */ return (tmp376) ; } /* end of [p_v0aldec_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 30696(line=1399, offs=5) -- 31728(line=1433, offs=4) */ ATSstaticdec() ats_ptr_type p_f0undec_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_int_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_bool_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_bool_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_bool_type, tmp396) ; ATSlocal (ats_bool_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_bool_type, tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_int_type, tmp404) ; __ats_lab_p_f0undec_37: tmp385 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp386 ; */ do { /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de, (&tmp386)) ; if (!tmp387) { goto __ats_lab_71_1 ; } tmp388 = ats_castfn_mac(ats_ptr_type, tmp386) ; tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun (arg0, 1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; // tmp391 = ats_caselptrlab_mac(anairiats_sum_2, tmp390, atslab_0) ; tmp392 = ats_caselptrlab_mac(anairiats_sum_2, tmp390, atslab_1) ; ATS_FREE(tmp390) ; tmp394 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp385) ; if (tmp394) { tmp393 = tmp391 ; } else { tmp393 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp396 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp385) ; if (tmp396) { tmp395 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp395, atslab_0, tmp392) ; } else { tmp395 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp398 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp385) ; if (tmp398) { ats_ptrget_mac(ats_int_type, arg2) = tmp385 ; } else { /* empty */ } /* end of [if] */ tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype) ; // tmp400 = ats_caselptrlab_mac(anairiats_sum_1, tmp399, atslab_1) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_1, tmp399, atslab_2) ; ATS_FREE(tmp399) ; tmp402 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp385) ; if (tmp402) { tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0undec_make (tmp388, ats_castfn_mac(ats_ptr_type, tmp389), tmp393, tmp395, tmp400, tmp401) ; } else { /* tmp403 = */ list_vt_free_01499_ats_ptr_type (tmp389) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp404 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp404 ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp384) ; } /* end of [p_f0undec_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 31848(line=1441, offs=5) -- 32554(line=1470, offs=4) */ ATSstaticdec() ats_ptr_type p_v0ardec_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_int_type, tmp406) ; ATSlocal (ats_uint_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_bool_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_bool_type, tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; __ats_lab_p_v0ardec_38: tmp406 = ats_ptrget_mac(ats_int_type, arg2) ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BANG) ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt, tmp406) ; tmp412 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp406) ; if (tmp412) { tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de) ; } else { tmp411 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqd0expopt, tmp406) ; tmp414 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp406) ; if (tmp414) { tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0ardec_make (ats_castfn_mac(ats_ptr_type, tmp408), tmp409, ats_castfn_mac(ats_ptr_type, tmp411), tmp410, tmp413) ; } else { /* tmp415 = */ option_vt_free_01544_ats_ptr_type (tmp408) ; /* tmp416 = */ option_vt_free_01544_ats_ptr_type (tmp411) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp407) ; } /* end of [if] */ return (tmp405) ; } /* end of [p_v0ardec_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 32648(line=1478, offs=1) -- 32987(line=1490, offs=4) */ ATSstaticdec() ats_ptr_type p_i0mpsvararg_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_int_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_bool_type, tmp421) ; __ats_lab_p_i0mpsvararg_39: tmp418 = ats_ptrget_mac(ats_int_type, arg2) ; tmp419 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) ; // tmp420 = ats_caselptrlab_mac(anairiats_sum_1, tmp419, atslab_1) ; ATS_FREE(tmp419) ; tmp421 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp418) ; if (tmp421) { tmp417 = tmp420 ; } else { tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp417) ; } /* end of [p_i0mpsvararg_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 33077(line=1496, offs=1) -- 33864(line=1530, offs=4) */ ATSstaticdec() ats_ptr_type p_i0mparg_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_uint_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; // ATSlocal_void (tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_bool_type, tmp431) ; // ATSlocal_void (tmp432) ; __ats_lab_p_i0mparg_40: tmp423 = ats_ptrget_mac(ats_int_type, arg2) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp426 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp425), atslab_token_node) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp426)->tag != 157) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &p_i0mpsvararg_39) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_svararglst (ats_castfn_mac(ats_ptr_type, tmp427)) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp426)->tag != 153) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp428 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp431 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp423) ; if (tmp431) { tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_some (tmp425, ats_castfn_mac(ats_ptr_type, tmp429), tmp430) ; } else { /* tmp432 = */ list_vt_free_01499_ats_ptr_type (tmp429) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp424) ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_none () ; break ; } while (0) ; return (tmp422) ; } /* end of [p_i0mparg_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 33977(line=1541, offs=1) -- 34983(line=1584, offs=4) */ ATSstaticdec() ats_ptr_type p_impqi0de_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_int_type, tmp434) ; ATSlocal (ats_uint_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_bool_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_bool_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_bool_type, tmp444) ; // ATSlocal_void (tmp445) ; ATSlocal (ats_int_type, tmp446) ; // ATSlocal_void (tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; __ats_lab_p_impqi0de_41: tmp434 = ats_ptrget_mac(ats_int_type, arg2) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp436 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp437 ; */ do { /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de, (&tmp437)) ; if (!tmp438) { goto __ats_lab_76_1 ; } tmp439 = ats_castfn_mac(ats_ptr_type, tmp437) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_none (tmp439) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de, (&tmp437)) ; if (!tmp440) { goto __ats_lab_77_1 ; } tmp441 = ats_castfn_mac(ats_ptr_type, tmp437) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT (arg0, 0, arg2) ; tmp444 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp434) ; if (tmp444) { tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_some (tmp441, ats_castfn_mac(ats_ptr_type, tmp442), tmp443) ; } else { /* tmp445 = */ list_vt_free_01499_ats_ptr_type (tmp442) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp435) ; } /* end of [if] */ break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: tmp446 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp446 ; tmp448 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp436), atslab_token_loc) ; tmp449 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_impqi0de_54) ; /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp448, tmp449) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp433) ; } /* end of [p_impqi0de_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 35100(line=1593, offs=5) -- 35761(line=1619, offs=4) */ ATSstaticdec() ats_ptr_type p_i0mpdec_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_int_type, tmp451) ; ATSlocal (ats_uint_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_bool_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_bool_type, tmp459) ; // ATSlocal_void (tmp460) ; __ats_lab_p_i0mpdec_42: tmp451 = ats_ptrget_mac(ats_int_type, arg2) ; tmp452 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp453 = p_impqi0de_41 (arg0, arg1, arg2) ; tmp455 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp451) ; if (tmp455) { tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg2) ; } else { tmp454 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt, tmp451) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp451) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp451) ; tmp459 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp451) ; if (tmp459) { tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mpdec_make (tmp453, ats_castfn_mac(ats_ptr_type, tmp454), tmp456, tmp458) ; } else { /* tmp460 = */ list_vt_free_01499_ats_ptr_type (tmp454) ; tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp452) ; } /* end of [if] */ return (tmp450) ; } /* end of [p_i0mpdec_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 36220(line=1643, offs=1) -- 41873(line=1852, offs=4) */ ATSstaticdec() ats_ptr_type p_d0ecl_dyn_tok_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_int_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_bool_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; // ATSlocal_void (tmp467) ; ATSlocal (ats_bool_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_bool_type, tmp470) ; // ATSlocal_void (tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; // ATSlocal_void (tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_bool_type, tmp476) ; // ATSlocal_void (tmp477) ; // ATSlocal_void (tmp478) ; ATSlocal (ats_int_type, tmp479) ; // ATSlocal_void (tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_bool_type, tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_bool_type, tmp487) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_bool_type, tmp496) ; // ATSlocal_void (tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_bool_type, tmp501) ; // ATSlocal_void (tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_bool_type, tmp506) ; ATSlocal (ats_int_type, tmp507) ; // ATSlocal_void (tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_bool_type, tmp512) ; // ATSlocal_void (tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_bool_type, tmp517) ; // ATSlocal_void (tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_bool_type, tmp520) ; // ATSlocal_void (tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_bool_type, tmp525) ; // ATSlocal_void (tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_bool_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_bool_type, tmp532) ; // ATSlocal_void (tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_bool_type, tmp537) ; ATSlocal (ats_bool_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_bool_type, tmp541) ; ATSlocal (ats_int_type, tmp542) ; __ats_lab_p_d0ecl_dyn_tok_43: tmp462 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp463 ; */ tmp464 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_token_node) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl, (&tmp463)) ; if (!tmp465) { goto __ats_lab_79_0 ; } tmp461 = ats_castfn_mac(ats_ptr_type, tmp463) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp464)->tag != 80) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_4, tmp464, atslab_0) ; /* tmp467 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC_test (arg0) ; tmp469 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0aldec_36) ; tmp470 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp470) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_valdecs (tmp466, tmp468, arg3, ats_castfn_mac(ats_ptr_type, tmp469)) ; } else { /* tmp471 = */ list_vt_free_01499_ats_ptr_type (tmp469) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp464)->tag != 52) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp472 = ats_caselptrlab_mac(anairiats_sum_4, tmp464, atslab_0) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_f0undec_37) ; tmp476 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp476) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fundecs (tmp472, arg3, ats_castfn_mac(ats_ptr_type, tmp474), ats_castfn_mac(ats_ptr_type, tmp475)) ; } else { /* tmp477 = */ list_vt_free_01499_ats_ptr_type (tmp474) ; /* tmp478 = */ list_vt_free_01499_ats_ptr_type (tmp475) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp464)->tag != 81) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp479 = ats_caselptrlab_mac(anairiats_sum_6, tmp464, atslab_0) ; /* tmp480 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp481 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, 0, arg2, &p_v0ardec_38) ; tmp482 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp482) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_vardecs (tmp479, arg3, ats_castfn_mac(ats_ptr_type, tmp481)) ; } else { /* tmp483 = */ list_vt_free_01499_ats_ptr_type (tmp481) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp464)->tag != 54) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp484 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp485 = p_i0mparg_40 (arg0, 0, arg2) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_i0mpdec_42, tmp462) ; tmp487 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp487) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_impdec (arg3, tmp485, tmp486) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp464)->tag != 169) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp488 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode (1, arg3) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp464)->tag != 45) { goto __ats_lab_89_0 ; } __ats_lab_84_1: /* tmp489 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp490 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp491 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp490), atslab_token_node) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: tmp492 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind, (&tmp463)) ; if (!tmp492) { goto __ats_lab_86_0 ; } tmp493 = ats_castfn_mac(ats_ptr_type, tmp463) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq, tmp462) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp462) ; tmp496 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp496) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern (tmp493, tmp494, tmp495) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp491)->tag != 81) { goto __ats_lab_87_0 ; } __ats_lab_86_1: /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; // tmp499 = ats_caselptrlab_mac(anairiats_sum_1, tmp498, atslab_0) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_1, tmp498, atslab_2) ; ATS_FREE(tmp498) ; tmp501 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp501) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar2 (tmp490, tmp499, tmp500) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp491)->tag != 79) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp502 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp503 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; // tmp504 = ats_caselptrlab_mac(anairiats_sum_1, tmp503, atslab_0) ; tmp505 = ats_caselptrlab_mac(anairiats_sum_1, tmp503, atslab_2) ; ATS_FREE(tmp503) ; tmp506 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp506) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype2 (tmp490, tmp504, tmp505) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp507 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp507 ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp464)->tag != 46) { goto __ats_lab_90_0 ; } __ats_lab_89_1: /* tmp508 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp509 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; // tmp510 = ats_caselptrlab_mac(anairiats_sum_1, tmp509, atslab_0) ; tmp511 = ats_caselptrlab_mac(anairiats_sum_1, tmp509, atslab_2) ; ATS_FREE(tmp509) ; tmp512 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp512) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype (arg3, tmp510, tmp511) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp464)->tag != 47) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp513 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; // tmp515 = ats_caselptrlab_mac(anairiats_sum_1, tmp514, atslab_0) ; tmp516 = ats_caselptrlab_mac(anairiats_sum_1, tmp514, atslab_2) ; ATS_FREE(tmp514) ; tmp517 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp517) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar (arg3, tmp515, tmp516) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp464)->tag != 41) { goto __ats_lab_92_0 ; } __ats_lab_91_1: /* tmp518 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp520 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp520) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dynload (arg3, tmp519) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp464)->tag != 72) { goto __ats_lab_93_0 ; } __ats_lab_92_1: /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind (arg0, 0, arg2) ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq, tmp462) ; tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstdecseq, tmp462) ; tmp525 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp525) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static (tmp522, tmp523, tmp524) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp464)->tag != 59) { goto __ats_lab_94_0 ; } __ats_lab_93_1: /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN, tmp462) ; tmp530 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp530) { tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; } else { tmp529 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END, tmp462) ; tmp532 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp532) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local (arg3, ats_castfn_mac(ats_ptr_type, tmp527), ats_castfn_mac(ats_ptr_type, tmp529), tmp531) ; } else { /* tmp533 = */ list_vt_free_01499_ats_ptr_type (tmp527) ; /* tmp534 = */ list_vt_free_01499_ats_ptr_type (tmp529) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp464)->tag != 134) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp535 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp537 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp537) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include (1, arg3, tmp536) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_srpifkind_26, (&tmp463)) ; if (!tmp538) { goto __ats_lab_96_1 ; } tmp539 = ats_castfn_mac(ats_ptr_type, tmp463) ; tmp540 = guad0ecl_fun_33 (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; tmp541 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp462) ; if (tmp541) { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl (tmp539, tmp540) ; } else { tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: tmp542 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp542 ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp461) ; } /* end of [p_d0ecl_dyn_tok_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 41927(line=1856, offs=3) -- 42004(line=1857, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn: tmp544 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_dyn_85) ; tmp543 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_d0ecl_dyn_tok_43, tmp544) ; return (tmp543) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 42078(line=1864, offs=3) -- 42164(line=1868, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_sta (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_sta: tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) ; tmp545 = ats_castfn_mac(ats_ptr_type, tmp546) ; return (tmp545) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_decl.dats: 42220(line=1872, offs=3) -- 42306(line=1876, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn: tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; tmp547 = ats_castfn_mac(ats_ptr_type, tmp548) ; return (tmp547) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_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 () ; #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_parsing_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_trywith_dats.c0000664000175000017500000006145112655455557021503 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_trywith.dats: 1722(line=59, offs=3) -- 2521(line=88, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_loc) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp3)->tag != 52) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_trywith.dats: 1818(line=63, offs=5) -- 1871(line=64, offs=43)") ; } tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_1) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp1, tmp6) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp10 = ats_selsin_mac(tmp9, atslab_1) */ ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp8, arg2, tmp4) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp8) ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp14)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_1, tmp7) ; tmp17 = (ats_sum_ptr_type)0 ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_0, tmp7) ; ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_1, tmp17) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp (arg0, tmp2, tmp16, tmp5, arg2, tmp14) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith (tmp1, tmp6, tmp13, tmp15) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp18) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_trywith_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_caseof_dats.c0000664000175000017500000030764012655455557021345 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_gm2at_loc ; ats_ptr_type atslab_gm2at_exp ; ats_ptr_type atslab_gm2at_pat ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_sc2lau_loc ; ats_ptr_type atslab_sc2lau_pat ; ats_ptr_type atslab_sc2lau_body ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2lau_trdn_arity_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst0_trdn_noclause_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst2_trdn_redundant_84) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_exi) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_case) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_scase) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__gm3at_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__c3lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__sc3lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__guard_trdn) (ats_ptr_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lvalist_set_pat_type_left) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sp2at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlstlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_let) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn_rest) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type gm2at_trup_1 (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type gm2atlst_trup_2 (ats_ptr_type arg0) ; static ats_void_type prerr_warning3_loc_02089_ (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type c2laulst0_trdn_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ; static ats_ptr_type c2laulst1_trdn_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxerr_15 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxerr_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxred_14 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type auxred_14_closure_make (ats_ptr_type env0) ; static ats_void_type auxred_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_20 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_17 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_17_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_25 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_21 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type revapp_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type auxmain_16 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_clo_ptr_type auxmain_16_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4) ; static ats_ptr_type auxmain_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_ptr_type auxscl_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type auxsclist_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 1673(line=54, offs=18) -- 1704(line=54, offs=49) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_caseof")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 2195(line=85, offs=1) -- 2727(line=109, offs=4) */ ATSstaticdec() ats_ptr_type gm2at_trup_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab_gm2at_trup_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_gm2at_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_gm2at_exp) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp3) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp4) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_gm2at_pat) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp6 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_0) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp8, tmp5) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp7, atslab_0, tmp9) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__guard_trdn (tmp2, ats_true_bool, tmp5) ; tmp7 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__gm3at_make (tmp2, tmp4, tmp7) ; return (tmp1) ; } /* end of [gm2at_trup_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_loop_5: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp18 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp16, arg3) ; tmp19 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp19, atslab_0, tmp18) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp19 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp20 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp17 ; arg1 = arg1 ; arg2 = tmp20 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp21 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp21 ; break ; } while (0) ; return /* (tmp15) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp22 ; */ /* tmp23 = */ loop_5 (arg0, arg1, (&tmp22), arg2) ; tmp14 = tmp22 ; return (tmp14) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp13 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp13) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 2756(line=112, offs=1) -- 2875(line=118, offs=4) */ ATSstaticdec() ats_ptr_type gm2atlst_trup_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_gm2atlst_trup_2: tmp12 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &gm2at_trup_1) ; tmp11 = ats_castfn_mac(ats_ptr_type, tmp12) ; return (tmp11) ; } /* end of [gm2atlst_trup_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 3185(line=138, offs=12) -- 4964(line=206, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_loc) ; tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_pat) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp28 = ats_selsin_mac(tmp27, atslab_1) */ ; tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_seq) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_neg) ; tmp32 = atspre_gt_int_int (tmp29, 0) ; if (tmp32) { tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (arg6) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlstlst (tmp25, tmp33, arg4) ; } else { /* empty */ } /* end of [if] */ /* ats_int_type tmp34 ; */ tmp34 = 0 ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (tmp25, tmp26, arg4, (&tmp34)) ; tmp37 = atspre_neq_int_int (tmp34, 0) ; if (tmp37) { tmp38 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp38)->tag = 82 ; ats_selptrset_mac(anairiats_sum_5, tmp38, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp38, atslab_1, arg4) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp38) ; } else { /* empty */ } /* end of [if] */ /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let () ; /* tmp40 = ats_selsin_mac(tmp39, atslab_1) */ ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (tmp35) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_let () ; /* tmp43 = ats_selsin_mac(tmp42, atslab_1) */ ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (tmp35) ; tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_gua) ; tmp45 = gm2atlst_trup_2 (tmp46) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lvalist_set_pat_type_left (arg3, tmp35) ; tmp49 = atspre_gt_int_int (tmp30, 0) ; if (tmp49) { tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_exi () ; } else { tmp48 = arg5 ; } /* end of [if] */ tmp51 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_c2lau_body) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp51, tmp48) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (tmp25) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (arg6) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (arg2) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp25) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__c3lau_make (tmp25, tmp35, tmp45, tmp29, tmp30, tmp50) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2995(line=117, offs=20) -- 3056(line=120, offs=2) */ ATSstaticdec() ats_void_type prerr_warning3_loc_02089_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab_prerr_warning3_loc_02089_: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp60 = */ atspre_prerr_string (ATSstrcst(": warning(3)")) ; return /* (tmp60) */ ; } /* end of [prerr_warning3_loc_02089_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; __ats_lab_prerr_error3_loc_02084_: /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp66 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp66) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 5014(line=211, offs=1) -- 5754(line=238, offs=4) */ ATSstaticdec() ats_void_type c2laulst0_trdn_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_int_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_c2laulst0_trdn_7: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp59 = */ prerr_warning3_loc_02089_ (arg0) ; /* tmp62 = */ atspre_prerr_string (ATSstrcst(": a case-expression is expected to have at least one match clause.")) ; /* tmp63 = */ atspre_prerr_newline () ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp65 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp68 = */ atspre_prerr_string (ATSstrcst(": a case+-expression is required to have at least one match clause.")) ; /* tmp69 = */ atspre_prerr_newline () ; tmp70 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp70)->tag = 83 ; ats_selptrset_mac(anairiats_sum_6, tmp70, atslab_0, arg0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp70) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: break ; } while (0) ; return /* (tmp58) */ ; } /* end of [c2laulst0_trdn_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87) */ ATSstaticdec() ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp83) ; __ats_lab_list_vt_is_nil_01494_: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp83 = ats_true_bool ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp83 = ats_false_bool ; break ; } while (0) ; return (tmp83) ; } /* end of [list_vt_is_nil_01494_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 5808(line=243, offs=1) -- 7292(line=307, offs=4) */ ATSstaticdec() ats_ptr_type c2laulst1_trdn_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; __ats_lab_c2laulst1_trdn_10: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp (arg3) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp (arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp72 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* ats_ptr_type tmp73 ; */ tmp73 = tmp72 ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp75 ; */ tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp74) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_c2lau_loc) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp77) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any (arg3) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn (arg1, arg3, tmp76, arg4, arg5, arg6, tmp78) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp75, tmp76) ; tmp82 = list_vt_is_nil_01494_ (tmp73) ; if (tmp82) { tmp81 = ats_true_bool ; } else { tmp81 = ats_false_bool ; } /* end of [if] */ tmp85 = atspre_neg_bool (tmp81) ; if (tmp85) { tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (tmp73) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false (arg0, arg1, tmp86, arg5) ; } else { /* empty */ } /* end of [if] */ /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (tmp73) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp75, arg2) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp75) ; tmp91 = atspre_neg_bool (tmp81) ; if (tmp91) { tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn (arg0, arg1) ; } else { /* empty */ } /* end of [if] */ tmp71 = tmp79 ; return (tmp71) ; } /* end of [c2laulst1_trdn_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 7909(line=345, offs=1) -- 9489(line=406, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp (arg3) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp (arg3) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp94 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* ats_ptr_type tmp95 ; */ tmp95 = tmp94 ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp97 ; */ tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp96) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_c2lau_loc) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp98) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any (arg3) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn (arg1, arg3, tmp99, arg5, arg6, arg7, tmp100) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp97, tmp99) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn_rest (arg0, arg1, arg2, tmp101, tmp96, tmp97, arg4, arg5, arg6, arg7, (&tmp95)) ; tmp105 = list_vt_is_nil_01494_ (tmp95) ; if (tmp105) { tmp104 = ats_true_bool ; } else { tmp104 = ats_false_bool ; } /* end of [if] */ tmp107 = atspre_neg_bool (tmp104) ; if (tmp107) { tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (tmp95) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false (arg0, arg1, tmp108, arg6) ; } else { /* empty */ } /* end of [if] */ /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (tmp95) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp97, arg2) ; /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp97) ; tmp113 = atspre_neg_bool (tmp104) ; if (tmp113) { tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn (arg0, arg1) ; } else { /* empty */ } /* end of [if] */ tmp93 = tmp103 ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 9868(line=432, offs=1) -- 10248(line=445, offs=4) */ ATSstaticdec() ats_void_type auxerr_15 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp117) ; ATSlocal (ats_bool_type, tmp118) ; // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_auxerr_15: tmp118 = list_vt_is_nil_01494_ (arg0) ; if (tmp118) { tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, env1), atslab_c2lau_loc) ; /* tmp119 = */ prerr_error3_loc_02084_ (tmp120) ; /* tmp121 = */ atspre_prerr_string (ATSstrcst(": this pattern match clause is redundant.")) ; /* tmp122 = */ atspre_prerr_newline () ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp123)->tag = 84 ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_1, env1) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp123) ; } else { /* empty */ } /* end of [if] */ return /* (tmp117) */ ; } /* end of [auxerr_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxerr_15_closure_type ; ats_void_type auxerr_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr_15 (((auxerr_15_closure_type*)cloptr)->closure_env_0, ((auxerr_15_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_15_closure_init (auxerr_15_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_15_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxerr_15_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_15_closure_type)) ; auxerr_15_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 9763(line=426, offs=1) -- 10404(line=454, offs=4) */ ATSstaticdec() ats_void_type auxred_14 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp116) ; __ats_lab_auxred_14: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp116 = */ auxerr_15 (env0, arg1, arg2) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp116 = */ auxerr_15 (env0, arg1, arg2) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; return /* (tmp116) */ ; } /* end of [auxred_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxred_14_closure_type ; ats_void_type auxred_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { auxred_14 (((auxred_14_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type auxred_14_closure_init (auxred_14_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxred_14_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxred_14_closure_make (ats_ptr_type env0) { auxred_14_closure_type *p_clo = ATS_MALLOC(sizeof(auxred_14_closure_type)) ; auxred_14_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_loop_20: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp141 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp142 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp142, atslab_0, tmp140) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp142 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp143 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp141 ; arg1 = tmp143 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp144 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp144 ; break ; } while (0) ; return /* (tmp139) */ ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp145 ; */ /* tmp146 = */ loop_20 (arg0, (&tmp145)) ; tmp138 = tmp145 ; return (tmp138) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp137 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp137) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 10977(line=478, offs=11) -- 11708(line=499, offs=64) */ ATSstaticdec() ats_ptr_type aux_17 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_aux_17: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp130 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp131 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp133 = ats_ptrget_mac(ats_ptr_type, tmp131) ; tmp132 = aux_17 (env0, tmp133) ; tmp135 = ats_ptrget_mac(ats_ptr_type, tmp130) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test (ats_castfn_mac(ats_ptr_type, tmp135), env0) ; if (tmp134) { tmp147 = ats_ptrget_mac(ats_ptr_type, tmp130) ; tmp136 = list_vt_copy_01498_ats_ptr_type (tmp147) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_1, tmp132) ; } else { tmp129 = tmp132 ; } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp129 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp129) ; } /* end of [aux_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_17_closure_type ; ats_ptr_type aux_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_17 (((aux_17_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_17_closure_init (aux_17_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_17_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_17_closure_make (ats_ptr_type env0) { aux_17_closure_type *p_clo = ATS_MALLOC(sizeof(aux_17_closure_type)) ; aux_17_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_loop_23: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp164 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: break ; } while (0) ; return /* (tmp163) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp162) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp162 = */ loop_23 (arg0) ; return /* (tmp162) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_25 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_loop_25: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp168 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp168 ; arg1 = arg1 ; goto __ats_lab_loop_25 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp167) */ ; } /* end of [loop_25] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp169) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp166 ; */ tmp166 = arg0 ; /* tmp169 = */ loop_25 ((&tmp166), arg1) ; tmp165 = tmp166 ; return (tmp165) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 12411(line=523, offs=15) -- 12868(line=534, offs=48) */ ATSstaticdec() ats_ptr_type aux_21 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab_aux_21: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_24_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff (ats_castfn_mac(ats_ptr_type, tmp158), env0) ; /* tmp161 = */ list_vt_free_01499_ats_ptr_type (tmp158) ; tmp170 = aux_21 (env0, tmp159) ; tmp157 = list_vt_append_01504_ats_ptr_type (tmp160, tmp170) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp157 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp157) ; } /* end of [aux_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_21_closure_type ; ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_21 (((aux_21_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_21_closure_init (aux_21_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_21_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0) { aux_21_closure_type *p_clo = ATS_MALLOC(sizeof(aux_21_closure_type)) ; aux_21_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_revapp_28: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp177 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp178 = ats_ptrget_mac(ats_ptr_type, tmp177) ; ats_ptrget_mac(ats_ptr_type, tmp177) = arg1 ; tmp179 = arg0 ; arg0 = tmp178 ; arg1 = tmp179 ; goto __ats_lab_revapp_28 ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp176 = arg1 ; break ; } while (0) ; return (tmp176) ; } /* end of [revapp_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp175 = revapp_28 (arg0, arg1) ; return (tmp175) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp180) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp180 = (ats_sum_ptr_type)0 ; tmp174 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp180) ; return (tmp174) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 10431(line=457, offs=1) -- 13426(line=554, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_16 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab_auxmain_16: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_18_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp125), atslab_c2lau_pat) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst (tmp128) ; tmp148 = aux_17 (tmp127, ats_ptrget_mac(ats_ptr_type, arg4)) ; /* tmp149 = */ auxred_14 (env0, env1, tmp125, tmp148) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (arg1) ; tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp125), atslab_c2lau_loc) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp152) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2lau_trdn (env1, tmp125, tmp151, env2, env3, env4, tmp148) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (arg2, tmp151) ; tmp155 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp125), atslab_c2lau_gua) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp155 != (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_23_1: tmp171 = aux_21 (tmp127, ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp171 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp155 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: break ; } while (0) ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp172, atslab_0, tmp153) ; ats_selptrset_mac(anairiats_sum_3, tmp172, atslab_1, arg3) ; arg0 = tmp126 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp172 ; arg4 = arg4 ; goto __ats_lab_auxmain_16 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp173 = list_vt_reverse_01506_ats_ptr_type (arg3) ; tmp124 = ats_castfn_mac(ats_ptr_type, tmp173) ; break ; } while (0) ; return (tmp124) ; } /* end of [auxmain_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_ptr_type closure_env_4 ; } auxmain_16_closure_type ; ats_ptr_type auxmain_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { return auxmain_16 (((auxmain_16_closure_type*)cloptr)->closure_env_0, ((auxmain_16_closure_type*)cloptr)->closure_env_1, ((auxmain_16_closure_type*)cloptr)->closure_env_2, ((auxmain_16_closure_type*)cloptr)->closure_env_3, ((auxmain_16_closure_type*)cloptr)->closure_env_4, arg0, arg1, arg2, arg3, arg4) ; } /* end of function */ ATSinline() ats_void_type auxmain_16_closure_init (auxmain_16_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4) { p_clo->closure_fun = (ats_fun_ptr_type)&auxmain_16_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; return ; } /* end of function */ ats_clo_ptr_type auxmain_16_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4) { auxmain_16_closure_type *p_clo = ATS_MALLOC(sizeof(auxmain_16_closure_type)) ; auxmain_16_closure_init (p_clo, env0, env1, env2, env3, env4) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 9578(line=412, offs=7) -- 13713(line=565, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn_rest (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ref_type arg10) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn_rest: tmp182 = (ats_sum_ptr_type)0 ; tmp181 = auxmain_16 (arg0, arg1, arg7, arg8, arg9, arg6, arg4, arg5, tmp182, arg10) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp115, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_3, tmp115, atslab_1, tmp181) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn_rest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 13795(line=571, offs=1) -- 14401(line=595, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp184 = */ c2laulst0_trdn_7 (arg0, arg1, arg5, arg6) ; tmp183 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_1) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp186 != (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp187 = c2laulst1_trdn_10 (arg0, arg1, arg2, tmp185, arg4, arg5, arg6) ; tmp188 = (ats_sum_ptr_type)0 ; tmp183 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_0, tmp187) ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_1, tmp188) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp186 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__c2laulst2_trdn (arg0, arg1, arg2, tmp185, tmp186, arg4, arg5, arg6) ; break ; } while (0) ; break ; } while (0) ; return (tmp183) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 14482(line=601, offs=3) -- 15240(line=630, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead: tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d2exp_loc) ; tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp191)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 14616(line=608, offs=5) -- 14674(line=608, offs=63)") ; } tmp192 = ats_caselptrlab_mac(anairiats_sum_8, tmp191, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_8, tmp191, atslab_1) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_8, tmp191, atslab_2) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_8, tmp191, atslab_3) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp194) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add (tmp197) ; tmp199 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp197, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn (tmp190, tmp192, tmp193, tmp195, tmp197, ats_castfn_mac(ats_ptr_type, tmp199), tmp196) ; /* tmp201 = */ list_vt_free_01499_ats_ptr_type (tmp199) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp190, tmp193) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_case (tmp190, tmp196, tmp192, tmp197, tmp200) ; return (tmp189) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 15652(line=651, offs=5) -- 16402(line=675, offs=4) */ ATSstaticdec() ats_ptr_type auxscl_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_bool_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; __ats_lab_auxscl_32: tmp213 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_sc2lau_loc) ; tmp215 = atspre_neg_bool (arg3) ; if (tmp215) { /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (arg4) ; } else { /* empty */ } /* end of [if] */ tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp213) ; tmp217 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_sc2lau_pat) ; tmp218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_sc2lau_body) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp220 = ats_selsin_mac(tmp219, atslab_1) */ ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sp2at (tmp217) ; tmp223 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp217), atslab_sp2at_loc) ; tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp217), atslab_sp2at_exp) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (tmp223, arg1, tmp224) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp218, arg2) ; /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp216) ; /* tmp227 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp213) ; /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (arg5, tmp216) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__sc3lau_make (tmp213, tmp217, tmp225) ; return (tmp212) ; } /* end of [auxscl_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 16429(line=677, offs=5) -- 16942(line=697, offs=31) */ ATSstaticdec() ats_ptr_type auxsclist_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_bool_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab_auxsclist_33: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp232 = auxscl_32 (tmp230, arg1, arg2, arg3, arg4, arg5) ; tmp233 = auxsclist_33 (tmp231, arg1, arg2, ats_false_bool, arg4, arg5) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp229, atslab_0, tmp232) ; ats_selptrset_mac(anairiats_sum_3, tmp229, atslab_1, tmp233) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp229 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp229) ; } /* end of [auxsclist_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 15331(line=636, offs=3) -- 17259(line=710, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead: tmp204 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d2exp_loc) ; tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp205)->tag != 31) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_caseof.dats: 15469(line=644, offs=5) -- 15524(line=644, offs=60)") ; } tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp205, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_9, tmp205, atslab_1) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_9, tmp205, atslab_2) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp211 ; */ tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp210) ; tmp234 = auxsclist_33 (tmp208, tmp207, tmp209, ats_true_bool, tmp210, tmp211) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp211, tmp206) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp211) ; /* tmp237 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp204, tmp206) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_scase (tmp204, tmp209, tmp207, tmp234) ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_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 () ; #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_trans3_caseof_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_e0xp_dats.c0000664000175000017500000017601512655455557020757 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_e0xp_loc ; ats_ptr_type atslab_e0xp_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstringid_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPapp_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfun_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPeval_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPlist_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPif_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_e0xp_tr_1) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_prerr_char) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_void_type, atspre_prerr_double) (ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_int) (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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_is_empty) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app) (ats_ptr_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_fun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02126_ () ; static ats_void_type do_e0xpact_fprint_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error1_loc_02129_ (ats_ptr_type arg0) ; static ats_ptr_type appf_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type appf_7_closure_make () ; static ats_ptr_type appf_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type e1xpitm_app_8 (ats_ptr_type arg0) ; static ats_ptr_type e1xp_get_loc_9 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_11_closure_make () ; static ats_ptr_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type e1xp_make_opr_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_13 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_14_closure_make () ; static ats_ptr_type __ats_fun_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type e1xpitm_backslash_12 (ats_ptr_type arg0) ; static ats_ptr_type e0xp_tr_errmsg_opr_15 (ats_ptr_type arg0) ; static ats_void_type e0xp_tr_errmsg_float_16 (ats_ptr_type arg0) ; static ats_ptr_type aux_item_18 (ats_ptr_type arg0) ; static ats_ptr_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_itemlst_19 (ats_ptr_type arg0) ; static ats_void_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 1917(line=63, offs=28) -- 1946(line=63, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02126_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02126_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_e0xp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02126_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 2377(line=94, offs=1) -- 2690(line=114, offs=2) */ ATSstaticdec() ats_void_type do_e0xpact_fprint_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_char_type, tmp3) ; ATSlocal (ats_double_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_do_e0xpact_fprint_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp1 = */ atspre_fprint_int (arg0, tmp2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp1 = */ atspre_fprint_char (arg0, tmp3) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp1 = */ atspre_fprint_double (arg0, tmp4) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp1 = */ atspre_fprint_string (arg0, tmp5) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp6 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 2624(line=111, offs=14) -- 2639(line=111, offs=29)", ATSstrcst("\n")) ; /* tmp1 = */ atspre_assert_errmsg (ats_false_bool, tmp6) ; break ; } while (0) ; return /* (tmp1) */ ; } /* end of [do_e0xpact_fprint_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 2773(line=119, offs=17) -- 2811(line=119, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_prerr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_prerr: /* tmp7 = */ do_e0xpact_fprint_1 (stderr, arg0) ; return /* (tmp7) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_prerr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 2838(line=121, offs=17) -- 2876(line=121, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_print (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_print: /* tmp8 = */ do_e0xpact_fprint_1 (stdout, arg0) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_print] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02129_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab_prerr_error1_loc_02129_: /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp11 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp11) */ ; } /* end of [prerr_error1_loc_02129_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 2951(line=129, offs=3) -- 3359(line=145, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_error (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_char_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_double_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_error: /* tmp10 = */ prerr_error1_loc_02129_ (arg0) ; /* tmp13 = */ atspre_prerr_string (ATSstrcst(": [#error] directive is encountered: ")) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp14 = */ atspre_prerr_int (tmp15) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp14 = */ atspre_prerr_char (tmp16) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp14 = */ atspre_prerr_string (tmp17) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp14 = */ atspre_prerr_double (tmp18) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp19 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 3241(line=140, offs=18) -- 3257(line=140, offs=34)", ATSstrcst("\n")) ; /* tmp14 = */ atspre_assert_errmsg (ats_false_bool, tmp19) ; break ; } while (0) ; /* tmp9 = */ ats_exit (1) ; return /* (tmp9) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_error] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 3441(line=151, offs=3) -- 4029(line=172, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_assert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_double_type, tmp24) ; ATSlocal (ats_char_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_assert: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp21 = atspre_eq_int_int (tmp22, 0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp21 = atspre_string_is_empty (ats_castfn_mac(ats_ptr_type, tmp23)) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp21 = atspre_eq_double_double (tmp24, 0.0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp21 = atspre_eq_char_char (tmp25, '\000') ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp27 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 3730(line=161, offs=18) -- 3746(line=161, offs=34)", ATSstrcst("\n")) ; /* tmp26 = */ atspre_assert_errmsg (ats_false_bool, tmp27) ; tmp21 = ats_false_bool ; break ; } while (0) ; if (tmp21) { /* tmp28 = */ prerr_error1_loc_02129_ (arg0) ; /* tmp29 = */ atspre_prerr_string (ATSstrcst(": [#assert] failed!")) ; /* tmp30 = */ atspre_prerr_newline () ; /* tmp20 = */ ats_exit (1) ; } else { /* empty */ } /* end of [if] */ return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_assert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 4214(line=185, offs=4) -- 4561(line=198, offs=4) */ ATSstaticdec() ats_ptr_type appf_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_appf_7: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_loc) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_e1xp_loc) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp32, tmp33) ; tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_e1xp_node) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp36)->tag != 13) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_4, tmp36, atslab_0) ; tmp35 = tmp37 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp38 = (ats_sum_ptr_type)0 ; tmp35 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp35, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp35, atslab_1, tmp38) ; break ; } while (0) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (tmp34, arg0, tmp33, tmp35) ; tmp31 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp31)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp31, atslab_0, tmp39) ; return (tmp31) ; } /* end of [appf_7] */ typedef struct { ats_fun_ptr_type closure_fun ; } appf_7_closure_type ; ats_ptr_type appf_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return appf_7 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type appf_7_closure_init (appf_7_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&appf_7_clofun ; return ; } /* end of function */ ats_clo_ptr_type appf_7_closure_make () { appf_7_closure_type *p_clo = ATS_MALLOC(sizeof(appf_7_closure_type)) ; appf_7_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 4607(line=202, offs=4) -- 4669(line=203, offs=51) */ ATSstaticdec() ats_ptr_type e1xpitm_app_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_e1xpitm_app_8: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (arg0, appf_7_closure_make ()) ; return (tmp40) ; } /* end of [e1xpitm_app_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 4738(line=210, offs=4) -- 4783(line=210, offs=49) */ ATSstaticdec() ats_ptr_type e1xp_get_loc_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; __ats_lab_e1xp_get_loc_9: tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_loc) ; return (tmp41) ; } /* end of [e1xp_get_loc_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 4884(line=217, offs=5) -- 4943(line=217, offs=64) */ ATSstaticdec() ats_ptr_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; __ats_lab___ats_fun_11: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (arg0, arg1, arg2, arg3) ; return (tmp43) ; } /* end of [__ats_fun_11] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_11_closure_type ; ats_ptr_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_11 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_11_closure_init (__ats_fun_11_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_11_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_11_closure_make () { __ats_fun_11_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_11_closure_type)) ; __ats_fun_11_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 4788(line=212, offs=4) -- 4986(line=220, offs=2) */ ATSstaticdec() ats_ptr_type e1xp_make_opr_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_e1xp_make_opr_10: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (&e1xp_get_loc_9, __ats_fun_11_closure_make (), arg0, arg1) ; return (tmp42) ; } /* end of [e1xp_make_opr_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5100(line=225, offs=5) -- 5119(line=225, offs=24) */ ATSstaticdec() ats_ptr_type __ats_fun_13 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; __ats_lab___ats_fun_13: tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_loc) ; return (tmp45) ; } /* end of [__ats_fun_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5124(line=226, offs=5) -- 5183(line=226, offs=64) */ ATSstaticdec() ats_ptr_type __ats_fun_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; __ats_lab___ats_fun_14: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (arg0, arg1, arg2, arg3) ; return (tmp46) ; } /* end of [__ats_fun_14] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_14_closure_type ; ats_ptr_type __ats_fun_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_14 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_14_closure_init (__ats_fun_14_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_14_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_14_closure_make () { __ats_fun_14_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_14_closure_type)) ; __ats_fun_14_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5020(line=222, offs=4) -- 5234(line=229, offs=2) */ ATSstaticdec() ats_ptr_type e1xpitm_backslash_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_e1xpitm_backslash_12: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (&__ats_fun_13, __ats_fun_14_closure_make (), arg0) ; return (tmp44) ; } /* end of [e1xpitm_backslash_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5300(line=235, offs=4) -- 5562(line=244, offs=4) */ ATSstaticdec() ats_ptr_type e0xp_tr_errmsg_opr_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_e0xp_tr_errmsg_opr_15: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_e0xp_loc) ; /* tmp49 = */ prerr_error1_loc_02129_ (tmp48) ; /* tmp50 = */ atspre_prerr_string (ATSstrcst(": the operator needs to be applied.")) ; /* tmp51 = */ atspre_prerr_newline () ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp53)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp53, atslab_0, arg0) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp53) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (tmp48) ; return (tmp47) ; } /* end of [e0xp_tr_errmsg_opr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5598(line=246, offs=4) -- 5861(line=254, offs=4) */ ATSstaticdec() ats_void_type e0xp_tr_errmsg_float_16 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_e0xp_tr_errmsg_float_16: tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_e0xp_loc) ; /* tmp55 = */ prerr_error1_loc_02129_ (tmp56) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst(": the floating point number is required to be of base 10.")) ; /* tmp58 = */ atspre_prerr_newline () ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp59)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp59, atslab_0, arg0) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp59) ; return /* (tmp54) */ ; } /* end of [e0xp_tr_errmsg_float_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5958(line=260, offs=5) -- 8105(line=338, offs=4) */ ATSstaticdec() ats_ptr_type aux_item_18 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_char_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab_aux_item_18: tmp62 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_e0xp_loc) ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_e0xp_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp63)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp64, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; if (!tmp65) { goto __ats_lab_18_1 ; } tmp61 = e1xpitm_backslash_12 (tmp62) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp63)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_18_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp66) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp67 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (tmp62, tmp66) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp68) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp67 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_8, tmp67, atslab_0) ; ATS_FREE(tmp67) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (tmp62, tmp66) ; tmp61 = e1xp_make_opr_10 (tmp70, tmp69) ; break ; } while (0) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp63)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp72 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp71), atslab_token_node) ; if (((ats_sum_ptr_type)tmp72)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 6453(line=276, offs=11) -- 6498(line=277, offs=40)") ; } tmp73 = ats_caselptrlab_mac(anairiats_sum_10, tmp72, atslab_1) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep (tmp62, tmp73) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp74) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp63)->tag != 2) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp75), atslab_token_node) ; if (((ats_sum_ptr_type)tmp76)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 6634(line=284, offs=11) -- 6667(line=285, offs=21)") ; } tmp77 = ats_caselptrlab_mac(anairiats_sum_2, tmp76, atslab_0) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (tmp62, tmp77) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp78) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp63)->tag != 4) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp79), atslab_token_node) ; if (((ats_sum_ptr_type)tmp80)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 6792(line=290, offs=11) -- 6829(line=291, offs=21)") ; } tmp81 = ats_caselptrlab_mac(anairiats_sum_4, tmp80, atslab_0) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (tmp62, tmp81) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp82) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp63)->tag != 5) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (tmp62, tmp83) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp84) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp63)->tag != 3) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp85), atslab_token_node) ; if (((ats_sum_ptr_type)tmp86)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 7020(line=297, offs=11) -- 7067(line=298, offs=40)") ; } tmp87 = ats_caselptrlab_mac(anairiats_sum_10, tmp86, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_10, tmp86, atslab_1) ; tmp90 = atspre_neq_int_int (tmp87, 10) ; if (tmp90) { /* tmp89 = */ e0xp_tr_errmsg_float_16 (arg0) ; } else { /* empty */ } /* end of [if] */ tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float (tmp62, tmp88) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp91) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp63)->tag != 9) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr (tmp92) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (tmp62, tmp94) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp93) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp63)->tag != 6) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp96 = e1xpitm_app_8 (tmp62) ; tmp97 = aux_itemlst_19 (arg0) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (tmp62, &e1xp_get_loc_9, tmp96, tmp97) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp95) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp63)->tag != 7) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_11, tmp63, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_11, tmp63, atslab_1) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp99) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_fun (tmp62, tmp98, tmp101) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp100) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp63)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_12, tmp63, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_12, tmp63, atslab_1) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_12, tmp63, atslab_2) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp102) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp103) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp104 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_8, tmp104, atslab_0) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp108) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp104 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 7743(line=325, offs=9) -- 7809(line=325, offs=75)") ; } __ats_lab_31_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (tmp62) ; break ; } while (0) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_if (tmp62, tmp105, tmp106, tmp107) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp109) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (((ats_sum_ptr_type)tmp63)->tag != 8) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp110) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (tmp111) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al (tmp62, tmp112) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, tmp113) ; break ; } while (0) ; return (tmp61) ; } /* end of [aux_item_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 8183(line=342, offs=7) -- 8432(line=349, offs=40) */ ATSstaticdec() ats_ptr_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_loop_20: tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_e0xp_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp116)->tag != 6) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_11, tmp116, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_11, tmp116, atslab_1) ; tmp120 = aux_item_18 (tmp118) ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp119, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_6, tmp119, atslab_1, arg1) ; arg0 = tmp117 ; arg1 = tmp119 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp121 = aux_item_18 (arg0) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp115, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_6, tmp115, atslab_1, arg1) ; break ; } while (0) ; return (tmp115) ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 8134(line=340, offs=5) -- 8483(line=353, offs=4) */ ATSstaticdec() ats_ptr_type aux_itemlst_19 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_aux_itemlst_19: tmp122 = (ats_sum_ptr_type)0 ; tmp114 = loop_20 (arg0, tmp122) ; return (tmp114) ; } /* end of [aux_itemlst_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 5940(line=258, offs=19) -- 8614(line=363, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr: tmp123 = aux_item_18 (arg0) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp123)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_4, tmp123, atslab_0) ; tmp60 = tmp124 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (((ats_sum_ptr_type)tmp123)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp60 = e0xp_tr_errmsg_opr_15 (arg0) ; break ; } while (0) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_loop_24: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp132 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp130, arg3) ; tmp133 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp133, atslab_0, tmp132) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp133 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp134 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp131 ; arg1 = arg1 ; arg2 = tmp134 ; arg3 = arg3 ; goto __ats_lab_loop_24 ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp135 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp135 ; break ; } while (0) ; return /* (tmp129) */ ; } /* end of [loop_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp136) ; // ATSlocal_void (tmp137) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp136 ; */ /* tmp137 = */ loop_24 (arg0, arg1, (&tmp136), arg2) ; tmp128 = tmp136 ; return (tmp128) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp127 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp127) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_e0xp.dats: 8680(line=368, offs=12) -- 8718(line=368, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr: tmp126 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr) ; tmp125 = ats_castfn_mac(ats_ptr_type, tmp126) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_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 () ; #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_trans1_e0xp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_tmpvar_dats.c0000664000175000017500000033674512655455557021315 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_tmpvar_loc ; ats_ptr_type atslab_tmpvar_type ; ats_int_type atslab_tmpvar_ref ; ats_int_type atslab_tmpvar_ret ; ats_int_type atslab_tmpvar_topknd ; ats_ptr_type atslab_tmpvar_origin ; ats_int_type atslab_tmpvar_suffix ; ats_int_type atslab_tmpvar_stamp ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_4 ; /* external typedefs */ typedef anairiats_rec_0 *tmpvar_t ; /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmpvar_stamp_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__compare_tmpvar_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_ref) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_ret) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_type) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__tmpvarmap_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__tmpvarset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__tmpvar_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type fprintopt_01722_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type __ats_fun_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_21_closure_make () ; static ats_int_type __ats_fun_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_make_nil_05083_ () ; static ats_void_type aux_26 (ats_ptr_type arg0) ; static ats_void_type linset_free_05090_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_05082_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_01891_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_01945_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_01921_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_29 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_29_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_29_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_05092_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_05107_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_39 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_05108_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linmap_make_nil_05113_ () ; static ats_void_type _free_44 (ats_ptr_type arg0) ; static ats_void_type linmap_free_05130_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_key_key_05112_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_49 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_49_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_49_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_05119_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_05118_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type linmap_search_opt_05120_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_02274_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_53 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_53_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_53_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_05121_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) ; static ats_bool_type takeout_60 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type takeout_60_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type takeout_60_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linmap_takeout_ptr_05136_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) ; static ats_bool_type linmap_remove_05123_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp48) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2301(line=87, offs=3) -- 2576(line=96, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmpvar_stamp_make () ; tmp2 = (ats_sum_ptr_type)0 ; tmp0 = ATS_MALLOC(sizeof(anairiats_rec_0)) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_loc, arg0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_type, arg1) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_ref, 0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_ret, 0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_topknd, 0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_origin, tmp2) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_suffix, 0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmpvar_stamp, tmp1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2648(line=101, offs=16) -- 2670(line=101, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_loc) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2698(line=104, offs=17) -- 2721(line=104, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type: tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_type) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2746(line=107, offs=14) -- 2772(line=107, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_ref) ; tmp5 = atspre_gt_int_int (tmp6, 0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2796(line=109, offs=14) -- 2822(line=109, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_ret) ; tmp7 = atspre_gt_int_int (tmp8, 0) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2852(line=112, offs=19) -- 2877(line=112, offs=44) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd: tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_topknd) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 2907(line=115, offs=19) -- 2955(line=116, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_origin) ; tmp10 = ats_castfn_mac(ats_ptr_type, tmp11) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3016(line=120, offs=19) -- 3041(line=120, offs=44) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_suffix (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_suffix: tmp12 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_suffix) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_suffix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3070(line=123, offs=18) -- 3094(line=123, offs=42) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_stamp) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3146(line=128, offs=20) -- 3168(line=128, offs=42) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal: tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_ret) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3218(line=133, offs=18) -- 3294(line=134, offs=62) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__eq_tmpvar_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__eq_tmpvar_tmpvar: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_stamp) ; tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_tmpvar_stamp) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp (tmp16, tmp17) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__eq_tmpvar_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3357(line=138, offs=23) -- 3438(line=139, offs=67) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__compare_tmpvar_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__compare_tmpvar_tmpvar: tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmpvar_stamp) ; tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_tmpvar_stamp) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp19, tmp20) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__compare_tmpvar_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3566(line=150, offs=3) -- 3605(line=150, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_tmpvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_tmpvar: /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (stdout, arg0) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3631(line=153, offs=3) -- 3670(line=153, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_tmpvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_tmpvar: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (stderr, arg0) ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 3700(line=157, offs=3) -- 4096(line=169, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref (arg1) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret (arg1) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp (arg1) ; /* tmp27 = */ atspre_fprint_string (arg0, ATSstrcst("tmp")) ; if (tmp24) { /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("ref")) ; } else { /* empty */ } /* end of [if] */ if (tmp25) { /* tmp29 = */ atspre_fprint_string (arg0, ATSstrcst("ret")) ; } else { /* empty */ } /* end of [if] */ /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp26) ; /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp23) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01722_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; __ats_lab_fprintopt_01722_ats_ptr_type: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp36 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp34) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp33) */ ; } /* end of [fprintopt_01722_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 4155(line=173, offs=3) -- 4207(line=173, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvaropt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvaropt: /* tmp32 = */ fprintopt_01722_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar) ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvaropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 4516(line=192, offs=3) -- 4619(line=195, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ref: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (arg0, arg1) ; /* tmp39 = */ patsopt_tmpvar_set_ref (tmp38, 1) ; tmp37 = tmp38 ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 4677(line=199, offs=3) -- 4780(line=202, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ret (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ret: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (arg0, arg1) ; /* tmp42 = */ patsopt_tmpvar_set_ret (tmp41, 1) ; tmp40 = tmp41 ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 4841(line=206, offs=3) -- 4948(line=209, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal (arg0) ; tmp45 = atspre_add_int_int (tmp44, 1) ; /* tmp43 = */ patsopt_tmpvar_set_ret (arg0, tmp45) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5051(line=216, offs=17) -- 5062(line=216, offs=28) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_copy_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_copy_err: tmp46 = arg0 ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_copy_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5446(line=234, offs=11) -- 5535(line=238, offs=37) */ ATSstaticdec() ats_int_type __ats_fun_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp47) ; __ats_lab___ats_fun_21: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__compare_tmpvar_tmpvar (arg0, arg1) ; return (tmp47) ; } /* end of [__ats_fun_21] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_21_closure_type ; ats_int_type __ats_fun_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_21 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_21_closure_init (__ats_fun_21_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_21_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_21_closure_make () { __ats_fun_21_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_21_closure_type)) ; __ats_fun_21_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_05083_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_linset_make_nil_05083_: tmp50 = (ats_sum_ptr_type)0 ; return (tmp50) ; } /* end of [linset_make_nil_05083_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5604(line=244, offs=18) -- 5631(line=244, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil: tmp49 = linset_make_nil_05083_ () ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_26 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab_aux_26: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp56 = */ aux_26 (tmp54) ; arg0 = tmp55 ; goto __ats_lab_aux_26 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp53) */ ; } /* end of [aux_26] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_05090_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp52) ; __ats_lab_linset_free_05090_ats_ptr_type: /* tmp52 = */ aux_26 (arg0) ; return /* (tmp52) */ ; } /* end of [linset_free_05090_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5661(line=247, offs=19) -- 5687(line=247, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_free: /* tmp51 = */ linset_free_05090_ats_ptr_type (arg0) ; return /* (tmp51) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_05082_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp67) ; __ats_lab_compare_elt_elt_05082_ats_ptr_type: tmp67 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp67) ; } /* end of [compare_elt_elt_05082_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_01891_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab_avltree_height_01891_ats_ptr_type: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp72 = tmp73 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp72 = 0 ; break ; } while (0) ; return (tmp72) ; } /* end of [avltree_height_01891_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_01945_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_avltree_rrotate_01945_ats_ptr_type: tmp83 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp83 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp84 = &ats_caselptrlab_mac(anairiats_sum_2, tmp83, atslab_0) ; tmp85 = &ats_caselptrlab_mac(anairiats_sum_2, tmp83, atslab_2) ; tmp86 = &ats_caselptrlab_mac(anairiats_sum_2, tmp83, atslab_3) ; tmp88 = ats_ptrget_mac(ats_ptr_type, tmp85) ; tmp87 = avltree_height_01891_ats_ptr_type (tmp88) ; tmp90 = ats_ptrget_mac(ats_ptr_type, tmp86) ; tmp89 = avltree_height_01891_ats_ptr_type (tmp90) ; tmp92 = atspre_iadd (tmp87, 0) ; tmp91 = atspre_igte (tmp92, tmp89) ; if (tmp91) { tmp93 = atspre_iadd (tmp89, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp93 ; tmp94 = ats_ptrget_mac(ats_ptr_type, tmp86) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp94 ; tmp96 = atspre_imax (tmp87, tmp93) ; tmp95 = atspre_iadd (1, tmp96) ; ats_ptrget_mac(ats_int_type, tmp84) = tmp95 ; ats_ptrget_mac(ats_ptr_type, tmp86) = arg5 ; tmp82 = tmp83 ; } else { tmp97 = ats_ptrget_mac(ats_ptr_type, tmp86) ; // if (tmp97 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp98 = &ats_caselptrlab_mac(anairiats_sum_2, tmp97, atslab_0) ; tmp99 = &ats_caselptrlab_mac(anairiats_sum_2, tmp97, atslab_2) ; tmp100 = &ats_caselptrlab_mac(anairiats_sum_2, tmp97, atslab_3) ; tmp102 = ats_ptrget_mac(ats_ptr_type, tmp99) ; tmp101 = avltree_height_01891_ats_ptr_type (tmp102) ; tmp104 = ats_ptrget_mac(ats_ptr_type, tmp100) ; tmp103 = avltree_height_01891_ats_ptr_type (tmp104) ; tmp106 = atspre_imax (tmp103, arg3) ; tmp105 = atspre_iadd (1, tmp106) ; ats_ptrget_mac(ats_int_type, arg0) = tmp105 ; tmp107 = ats_ptrget_mac(ats_ptr_type, tmp100) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp107 ; tmp109 = atspre_imax (tmp87, tmp101) ; tmp108 = atspre_iadd (1, tmp109) ; ats_ptrget_mac(ats_int_type, tmp84) = tmp108 ; tmp110 = ats_ptrget_mac(ats_ptr_type, tmp99) ; ats_ptrget_mac(ats_ptr_type, tmp86) = tmp110 ; ats_ptrget_mac(ats_int_type, tmp98) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp99) = tmp83 ; ats_ptrget_mac(ats_ptr_type, tmp100) = arg5 ; tmp82 = tmp97 ; } /* end of [if] */ return (tmp82) ; } /* end of [avltree_rrotate_01945_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_01921_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab_avltree_lrotate_01921_ats_ptr_type: tmp123 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp123 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp124 = &ats_caselptrlab_mac(anairiats_sum_2, tmp123, atslab_0) ; tmp125 = &ats_caselptrlab_mac(anairiats_sum_2, tmp123, atslab_2) ; tmp126 = &ats_caselptrlab_mac(anairiats_sum_2, tmp123, atslab_3) ; tmp128 = ats_ptrget_mac(ats_ptr_type, tmp125) ; tmp127 = avltree_height_01891_ats_ptr_type (tmp128) ; tmp130 = ats_ptrget_mac(ats_ptr_type, tmp126) ; tmp129 = avltree_height_01891_ats_ptr_type (tmp130) ; tmp132 = atspre_iadd (tmp129, 0) ; tmp131 = atspre_ilte (tmp127, tmp132) ; if (tmp131) { tmp133 = atspre_iadd (tmp127, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp133 ; tmp134 = ats_ptrget_mac(ats_ptr_type, tmp125) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp134 ; tmp136 = atspre_imax (tmp133, tmp129) ; tmp135 = atspre_iadd (1, tmp136) ; ats_ptrget_mac(ats_int_type, tmp124) = tmp135 ; ats_ptrget_mac(ats_ptr_type, tmp125) = arg5 ; tmp122 = tmp123 ; } else { tmp137 = ats_ptrget_mac(ats_ptr_type, tmp125) ; // if (tmp137 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp138 = &ats_caselptrlab_mac(anairiats_sum_2, tmp137, atslab_0) ; tmp139 = &ats_caselptrlab_mac(anairiats_sum_2, tmp137, atslab_2) ; tmp140 = &ats_caselptrlab_mac(anairiats_sum_2, tmp137, atslab_3) ; tmp142 = ats_ptrget_mac(ats_ptr_type, tmp139) ; tmp141 = avltree_height_01891_ats_ptr_type (tmp142) ; tmp144 = ats_ptrget_mac(ats_ptr_type, tmp140) ; tmp143 = avltree_height_01891_ats_ptr_type (tmp144) ; tmp146 = atspre_imax (arg1, tmp141) ; tmp145 = atspre_iadd (1, tmp146) ; ats_ptrget_mac(ats_int_type, arg0) = tmp145 ; tmp147 = ats_ptrget_mac(ats_ptr_type, tmp139) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp147 ; tmp149 = atspre_imax (tmp143, tmp129) ; tmp148 = atspre_iadd (1, tmp149) ; ats_ptrget_mac(ats_int_type, tmp124) = tmp148 ; tmp150 = ats_ptrget_mac(ats_ptr_type, tmp140) ; ats_ptrget_mac(ats_ptr_type, tmp125) = tmp150 ; ats_ptrget_mac(ats_int_type, tmp138) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp139) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp140) = tmp123 ; tmp122 = tmp137 ; } /* end of [if] */ return (tmp122) ; } /* end of [avltree_lrotate_01921_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_29 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab_insert_29: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp62 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp63 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp64 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp65 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp68 = ats_ptrget_mac(ats_ptr_type, tmp63) ; tmp66 = compare_elt_elt_05082_ats_ptr_type (arg1, tmp68, env0) ; tmp69 = atspre_lt_int_int (tmp66, 0) ; if (tmp69) { tmp70 = insert_29 (env0, tmp64, arg1) ; tmp74 = ats_ptrget_mac(ats_ptr_type, tmp64) ; tmp71 = avltree_height_01891_ats_ptr_type (tmp74) ; tmp76 = ats_ptrget_mac(ats_ptr_type, tmp65) ; tmp75 = avltree_height_01891_ats_ptr_type (tmp76) ; tmp78 = atspre_isub (tmp71, tmp75) ; tmp77 = atspre_ilte (tmp78, 1) ; if (tmp77) { tmp80 = atspre_imax (tmp71, tmp75) ; tmp79 = atspre_iadd (1, tmp80) ; ats_ptrget_mac(ats_int_type, tmp62) = tmp79 ; tmp61 = tmp70 ; } else { tmp81 = avltree_rrotate_01945_ats_ptr_type (tmp62, tmp71, tmp64, tmp75, tmp65, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp81 ; tmp61 = tmp70 ; } /* end of [if] */ } else { tmp111 = atspre_gt_int_int (tmp66, 0) ; if (tmp111) { tmp112 = insert_29 (env0, tmp65, arg1) ; tmp114 = ats_ptrget_mac(ats_ptr_type, tmp64) ; tmp113 = avltree_height_01891_ats_ptr_type (tmp114) ; tmp116 = ats_ptrget_mac(ats_ptr_type, tmp65) ; tmp115 = avltree_height_01891_ats_ptr_type (tmp116) ; tmp118 = atspre_isub (tmp115, tmp113) ; tmp117 = atspre_ilte (tmp118, 1) ; if (tmp117) { tmp120 = atspre_imax (tmp113, tmp115) ; tmp119 = atspre_iadd (1, tmp120) ; ats_ptrget_mac(ats_int_type, tmp62) = tmp119 ; tmp61 = tmp112 ; } else { tmp121 = avltree_lrotate_01921_ats_ptr_type (tmp62, tmp113, tmp64, tmp115, tmp65, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp121 ; tmp61 = tmp112 ; } /* end of [if] */ } else { tmp61 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp152 = (ats_sum_ptr_type)0 ; tmp153 = (ats_sum_ptr_type)0 ; tmp151 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp151, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, tmp151, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp151, atslab_2, tmp152) ; ats_selptrset_mac(anairiats_sum_2, tmp151, atslab_3, tmp153) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp151 ; tmp61 = ats_false_bool ; break ; } while (0) ; return (tmp61) ; } /* end of [insert_29] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_29_closure_type ; ats_bool_type insert_29_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_29 (((insert_29_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_29_closure_init (insert_29_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_29_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_29_closure_make (ats_clo_ref_type env0) { insert_29_closure_type *p_clo = ATS_MALLOC(sizeof(insert_29_closure_type)) ; insert_29_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_05092_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp60) ; __ats_lab_linset_insert_05092_ats_ptr_type: tmp60 = insert_29 (arg2, arg0, arg1) ; return (tmp60) ; } /* end of [linset_insert_05092_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5719(line=251, offs=3) -- 5808(line=254, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add: /* ats_ptr_type tmp58 ; */ tmp58 = arg0 ; tmp59 = linset_insert_05092_ats_ptr_type ((&tmp58), arg1, statmp48) ; tmp57 = tmp58 ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27430(line=997, offs=7) -- 27766(line=1008, offs=31) */ ATSstaticdec() ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_aux_36: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp158 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp159 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; tmp161 = ats_ptrget_mac(ats_ptr_type, tmp159) ; tmp160 = aux_36 (tmp161, arg1) ; tmp162 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp162, atslab_0, tmp157) ; ats_selptrset_mac(anairiats_sum_3, tmp162, atslab_1, tmp160) ; tmp163 = ats_ptrget_mac(ats_ptr_type, tmp158) ; arg0 = tmp163 ; arg1 = tmp162 ; goto __ats_lab_aux_36 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp156 = arg1 ; break ; } while (0) ; return (tmp156) ; } /* end of [aux_36] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27379(line=995, offs=16) -- 27815(line=1012, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_05107_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_linset_listize_05107_ats_ptr_type: tmp164 = (ats_sum_ptr_type)0 ; tmp155 = aux_36 (arg0, tmp164) ; return (tmp155) ; } /* end of [linset_listize_05107_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5870(line=257, offs=22) -- 5899(line=257, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize: tmp154 = linset_listize_05107_ats_ptr_type (arg0) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_39 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_aux_39: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp171 = aux_39 (tmp170, arg1) ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp172, atslab_0, tmp168) ; ats_selptrset_mac(anairiats_sum_3, tmp172, atslab_1, tmp171) ; arg0 = tmp169 ; arg1 = tmp172 ; goto __ats_lab_aux_39 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp167 = arg1 ; break ; } while (0) ; return (tmp167) ; } /* end of [aux_39] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_05108_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab_linset_listize_free_05108_ats_ptr_type: tmp173 = (ats_sum_ptr_type)0 ; tmp166 = aux_39 (arg0, tmp173) ; return (tmp166) ; } /* end of [linset_listize_free_05108_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 5937(line=259, offs=27) -- 5971(line=259, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free: tmp165 = linset_listize_free_05108_ats_ptr_type (arg0) ; return (tmp165) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_05113_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; __ats_lab_linmap_make_nil_05113_: tmp175 = (ats_sum_ptr_type)0 ; return (tmp175) ; } /* end of [linmap_make_nil_05113_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6022(line=264, offs=18) -- 6049(line=264, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_nil: tmp174 = linmap_make_nil_05113_ () ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20597(line=699, offs=7) -- 20733(line=701, offs=65) */ ATSstaticdec() ats_void_type _free_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; __ats_lab__free_44: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_3) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp181 = */ _free_44 (tmp179) ; arg0 = tmp180 ; goto __ats_lab__free_44 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: break ; } while (0) ; return /* (tmp178) */ ; } /* end of [_free_44] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20567(line=698, offs=13) -- 20755(line=703, offs=2) */ ATSstaticdec() ats_void_type linmap_free_05130_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp177) ; __ats_lab_linmap_free_05130_ats_ptr_type_2cats_ptr_type: /* tmp177 = */ _free_44 (arg0) ; return /* (tmp177) */ ; } /* end of [linmap_free_05130_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6079(line=267, offs=19) -- 6107(line=267, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp176) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_free: /* tmp176 = */ linmap_free_05130_ats_ptr_type_2cats_ptr_type (arg0) ; return /* (tmp176) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 2008(line=61, offs=17) -- 2036(line=61, offs=45) */ ATSstaticdec() ats_int_type compare_key_key_05112_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp195) ; __ats_lab_compare_key_key_05112_ats_ptr_type: tmp195 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp195) ; } /* end of [compare_key_key_05112_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_49 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_int_type, tmp194) ; ATSlocal (ats_bool_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_bool_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab_search_49: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_14_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp191 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp192 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_3) ; tmp193 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_4) ; tmp194 = compare_key_key_05112_ats_ptr_type (env0, tmp190, env1) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp196 = atspre_lt_int_int (tmp194, 0) ; if (!tmp196) { goto __ats_lab_16_1 ; } tmp197 = ats_ptrget_mac(ats_ptr_type, tmp192) ; arg0 = tmp197 ; goto __ats_lab_search_49 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp198 = atspre_gt_int_int (tmp194, 0) ; if (!tmp198) { goto __ats_lab_17_1 ; } tmp199 = ats_ptrget_mac(ats_ptr_type, tmp193) ; arg0 = tmp199 ; goto __ats_lab_search_49 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp189 = tmp191 ; break ; } while (0) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp189 = atspre_null_ptr ; break ; } while (0) ; return (tmp189) ; } /* end of [search_49] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_49_closure_type ; ats_ptr_type search_49_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_49 (((search_49_closure_type*)cloptr)->closure_env_0, ((search_49_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_49_closure_init (search_49_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_49_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_49_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_49_closure_type *p_clo = ATS_MALLOC(sizeof(search_49_closure_type)) ; search_49_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_05119_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_linmap_search_ref_05119_ats_ptr_type_2cats_ptr_type: tmp188 = search_49 (arg1, arg2, arg0) ; return (tmp188) ; } /* end of [linmap_search_ref_05119_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_05118_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab_linmap_search_05118_ats_ptr_type_2cats_ptr_type: tmp187 = linmap_search_ref_05119_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2) ; tmp200 = atspre_pgt (tmp187, atspre_null_ptr) ; if (tmp200) { tmp201 = ats_ptrget_mac(ats_ptr_type, tmp187) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp201 ; tmp186 = ats_true_bool ; } else { tmp186 = ats_false_bool ; } /* end of [if] */ return (tmp186) ; } /* end of [linmap_search_05118_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5224(line=196, offs=3) -- 5488(line=209, offs=4) */ ATSstaticdec() ats_ptr_type linmap_search_opt_05120_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; __ats_lab_linmap_search_opt_05120_ats_ptr_type_2cats_ptr_type: /* ats_ptr_type tmp184 ; */ tmp185 = linmap_search_05118_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, (&tmp184)) ; if (tmp185) { tmp183 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp183, atslab_0, tmp184) ; } else { tmp183 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp183) ; } /* end of [linmap_search_opt_05120_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6146(line=271, offs=7) -- 6198(line=272, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_search: tmp182 = linmap_search_opt_05120_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp48) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_02274_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; __ats_lab_avltree_height_02274_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp216 = tmp217 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp216 = 0 ; break ; } while (0) ; return (tmp216) ; } /* end of [avltree_height_02274_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_int_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_int_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; __ats_lab_avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type: tmp227 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp227 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp228 = &ats_caselptrlab_mac(anairiats_sum_4, tmp227, atslab_0) ; tmp229 = &ats_caselptrlab_mac(anairiats_sum_4, tmp227, atslab_3) ; tmp230 = &ats_caselptrlab_mac(anairiats_sum_4, tmp227, atslab_4) ; tmp232 = ats_ptrget_mac(ats_ptr_type, tmp229) ; tmp231 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp232) ; tmp234 = ats_ptrget_mac(ats_ptr_type, tmp230) ; tmp233 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp234) ; tmp236 = atspre_iadd (tmp231, 0) ; tmp235 = atspre_igte (tmp236, tmp233) ; if (tmp235) { tmp237 = atspre_iadd (tmp233, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp237 ; tmp238 = ats_ptrget_mac(ats_ptr_type, tmp230) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp238 ; tmp240 = atspre_imax (tmp231, tmp237) ; tmp239 = atspre_iadd (1, tmp240) ; ats_ptrget_mac(ats_int_type, tmp228) = tmp239 ; ats_ptrget_mac(ats_ptr_type, tmp230) = arg5 ; tmp226 = tmp227 ; } else { tmp241 = ats_ptrget_mac(ats_ptr_type, tmp230) ; // if (tmp241 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp242 = &ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_0) ; tmp243 = &ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_3) ; tmp244 = &ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_4) ; tmp246 = ats_ptrget_mac(ats_ptr_type, tmp243) ; tmp245 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp246) ; tmp248 = ats_ptrget_mac(ats_ptr_type, tmp244) ; tmp247 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp248) ; tmp250 = atspre_imax (tmp247, arg3) ; tmp249 = atspre_iadd (1, tmp250) ; ats_ptrget_mac(ats_int_type, arg0) = tmp249 ; tmp251 = ats_ptrget_mac(ats_ptr_type, tmp244) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp251 ; tmp253 = atspre_imax (tmp231, tmp245) ; tmp252 = atspre_iadd (1, tmp253) ; ats_ptrget_mac(ats_int_type, tmp228) = tmp252 ; tmp254 = ats_ptrget_mac(ats_ptr_type, tmp243) ; ats_ptrget_mac(ats_ptr_type, tmp230) = tmp254 ; ats_ptrget_mac(ats_int_type, tmp242) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp243) = tmp227 ; ats_ptrget_mac(ats_ptr_type, tmp244) = arg5 ; tmp226 = tmp241 ; } /* end of [if] */ return (tmp226) ; } /* end of [avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_int_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_bool_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_int_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_int_type, tmp289) ; ATSlocal (ats_int_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_int_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; __ats_lab_avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type: tmp267 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp267 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp268 = &ats_caselptrlab_mac(anairiats_sum_4, tmp267, atslab_0) ; tmp269 = &ats_caselptrlab_mac(anairiats_sum_4, tmp267, atslab_3) ; tmp270 = &ats_caselptrlab_mac(anairiats_sum_4, tmp267, atslab_4) ; tmp272 = ats_ptrget_mac(ats_ptr_type, tmp269) ; tmp271 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp272) ; tmp274 = ats_ptrget_mac(ats_ptr_type, tmp270) ; tmp273 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp274) ; tmp276 = atspre_iadd (tmp273, 0) ; tmp275 = atspre_ilte (tmp271, tmp276) ; if (tmp275) { tmp277 = atspre_iadd (tmp271, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp277 ; tmp278 = ats_ptrget_mac(ats_ptr_type, tmp269) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp278 ; tmp280 = atspre_imax (tmp277, tmp273) ; tmp279 = atspre_iadd (1, tmp280) ; ats_ptrget_mac(ats_int_type, tmp268) = tmp279 ; ats_ptrget_mac(ats_ptr_type, tmp269) = arg5 ; tmp266 = tmp267 ; } else { tmp281 = ats_ptrget_mac(ats_ptr_type, tmp269) ; // if (tmp281 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp282 = &ats_caselptrlab_mac(anairiats_sum_4, tmp281, atslab_0) ; tmp283 = &ats_caselptrlab_mac(anairiats_sum_4, tmp281, atslab_3) ; tmp284 = &ats_caselptrlab_mac(anairiats_sum_4, tmp281, atslab_4) ; tmp286 = ats_ptrget_mac(ats_ptr_type, tmp283) ; tmp285 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp286) ; tmp288 = ats_ptrget_mac(ats_ptr_type, tmp284) ; tmp287 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp288) ; tmp290 = atspre_imax (arg1, tmp285) ; tmp289 = atspre_iadd (1, tmp290) ; ats_ptrget_mac(ats_int_type, arg0) = tmp289 ; tmp291 = ats_ptrget_mac(ats_ptr_type, tmp283) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp291 ; tmp293 = atspre_imax (tmp287, tmp273) ; tmp292 = atspre_iadd (1, tmp293) ; ats_ptrget_mac(ats_int_type, tmp268) = tmp292 ; tmp294 = ats_ptrget_mac(ats_ptr_type, tmp284) ; ats_ptrget_mac(ats_ptr_type, tmp269) = tmp294 ; ats_ptrget_mac(ats_int_type, tmp282) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp283) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp284) = tmp267 ; tmp266 = tmp281 ; } /* end of [if] */ return (tmp266) ; } /* end of [avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_53 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_bool_type, tmp213) ; ATSlocal (ats_bool_type, tmp214) ; ATSlocal (ats_int_type, tmp215) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_bool_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_bool_type, tmp255) ; ATSlocal (ats_bool_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_bool_type, tmp261) ; ATSlocal (ats_int_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; __ats_lab_insert_53: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp206 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp207 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp208 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp209 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp210 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp212 = ats_ptrget_mac(ats_ptr_type, tmp207) ; tmp211 = compare_key_key_05112_ats_ptr_type (env0, tmp212, env1) ; tmp213 = atspre_lt_int_int (tmp211, 0) ; if (tmp213) { tmp214 = insert_53 (env0, env1, tmp209, arg1, arg2) ; tmp218 = ats_ptrget_mac(ats_ptr_type, tmp209) ; tmp215 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp218) ; tmp220 = ats_ptrget_mac(ats_ptr_type, tmp210) ; tmp219 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp220) ; tmp222 = atspre_isub (tmp215, tmp219) ; tmp221 = atspre_ilte (tmp222, 1) ; if (tmp221) { tmp224 = atspre_imax (tmp215, tmp219) ; tmp223 = atspre_iadd (1, tmp224) ; ats_ptrget_mac(ats_int_type, tmp206) = tmp223 ; tmp205 = tmp214 ; } else { tmp225 = avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type (tmp206, tmp215, tmp209, tmp219, tmp210, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp225 ; tmp205 = tmp214 ; } /* end of [if] */ } else { tmp255 = atspre_gt_int_int (tmp211, 0) ; if (tmp255) { tmp256 = insert_53 (env0, env1, tmp210, arg1, arg2) ; tmp258 = ats_ptrget_mac(ats_ptr_type, tmp209) ; tmp257 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp258) ; tmp260 = ats_ptrget_mac(ats_ptr_type, tmp210) ; tmp259 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp260) ; tmp262 = atspre_isub (tmp259, tmp257) ; tmp261 = atspre_ilte (tmp262, 1) ; if (tmp261) { tmp264 = atspre_imax (tmp257, tmp259) ; tmp263 = atspre_iadd (1, tmp264) ; ats_ptrget_mac(ats_int_type, tmp206) = tmp263 ; tmp205 = tmp256 ; } else { tmp265 = avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type (tmp206, tmp257, tmp209, tmp259, tmp210, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp265 ; tmp205 = tmp256 ; } /* end of [if] */ } else { tmp295 = ats_ptrget_mac(ats_ptr_type, tmp208) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp295 ; ats_ptrget_mac(ats_ptr_type, tmp208) = arg1 ; tmp205 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp297 = (ats_sum_ptr_type)0 ; tmp298 = (ats_sum_ptr_type)0 ; tmp296 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp296, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp296, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_4, tmp296, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp296, atslab_3, tmp297) ; ats_selptrset_mac(anairiats_sum_4, tmp296, atslab_4, tmp298) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp296 ; tmp205 = ats_false_bool ; break ; } while (0) ; return (tmp205) ; } /* end of [insert_53] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_53_closure_type ; ats_bool_type insert_53_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { return insert_53 (((insert_53_closure_type*)cloptr)->closure_env_0, ((insert_53_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_53_closure_init (insert_53_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_53_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_53_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_53_closure_type *p_clo = ATS_MALLOC(sizeof(insert_53_closure_type)) ; insert_53_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_05121_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp204) ; __ats_lab_linmap_insert_05121_ats_ptr_type_2cats_ptr_type: tmp204 = insert_53 (arg1, arg3, arg0, arg2, arg4) ; return (tmp204) ; } /* end of [linmap_insert_05121_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6268(line=277, offs=7) -- 6414(line=283, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_insert: /* ats_ptr_type tmp203 ; */ tmp202 = linmap_insert_05121_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp48, (&tmp203)) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_insert] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 11578(line=417, offs=35) -- 12629(line=451, offs=4) */ ATSstaticdec() ats_ptr_type avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_int_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_bool_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; __ats_lab_avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type: // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp335 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp336 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp337 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp338 = ats_ptrget_mac(ats_ptr_type, tmp336) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp338 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp339 = avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type (tmp336) ; tmp341 = ats_ptrget_mac(ats_ptr_type, tmp336) ; tmp340 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp341) ; tmp343 = ats_ptrget_mac(ats_ptr_type, tmp337) ; tmp342 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp343) ; tmp345 = atspre_isub (tmp342, tmp340) ; tmp344 = atspre_ilte (tmp345, 1) ; if (tmp344) { tmp347 = atspre_imax (tmp340, tmp342) ; tmp346 = atspre_iadd (1, tmp347) ; ats_ptrget_mac(ats_int_type, tmp335) = tmp346 ; tmp334 = tmp339 ; } else { tmp348 = avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type (tmp335, tmp340, tmp336, tmp342, tmp337, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp348 ; tmp334 = tmp339 ; } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp338 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp349 = ats_ptrget_mac(ats_ptr_type, tmp337) ; tmp350 = ats_ptrget_mac(ats_ptr_type, arg0) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp349 ; tmp334 = ats_castfn_mac(ats_ptr_type, tmp350) ; break ; } while (0) ; return (tmp334) ; } /* end of [avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 13012(line=467, offs=7) -- 16649(line=558, offs=6) */ ATSstaticdec() ats_bool_type takeout_60 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_bool_type, tmp310) ; ATSlocal (ats_bool_type, tmp311) ; ATSlocal (ats_int_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_int_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_bool_type, tmp316) ; ATSlocal (ats_int_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_bool_type, tmp319) ; ATSlocal (ats_bool_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_int_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_bool_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_bool_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_int_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; __ats_lab_takeout_60: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_23_1: tmp303 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp304 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp305 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp306 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp307 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp309 = ats_ptrget_mac(ats_ptr_type, tmp304) ; tmp308 = compare_key_key_05112_ats_ptr_type (env0, tmp309, env1) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp310 = atspre_lt_int_int (tmp308, 0) ; if (!tmp310) { goto __ats_lab_25_1 ; } tmp311 = takeout_60 (env0, env1, tmp306, arg1) ; tmp313 = ats_ptrget_mac(ats_ptr_type, tmp306) ; tmp312 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp313) ; tmp315 = ats_ptrget_mac(ats_ptr_type, tmp307) ; tmp314 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp315) ; tmp317 = atspre_isub (tmp314, tmp312) ; tmp316 = atspre_ilte (tmp317, 1) ; if (tmp316) { tmp302 = tmp311 ; } else { tmp318 = avltree_lrotate_02302_ats_ptr_type_2cats_ptr_type (tmp303, tmp312, tmp306, tmp314, tmp307, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp318 ; tmp302 = tmp311 ; } /* end of [if] */ break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp319 = atspre_gt_int_int (tmp308, 0) ; if (!tmp319) { goto __ats_lab_26_1 ; } tmp320 = takeout_60 (env0, env1, tmp307, arg1) ; tmp322 = ats_ptrget_mac(ats_ptr_type, tmp306) ; tmp321 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp322) ; tmp324 = ats_ptrget_mac(ats_ptr_type, tmp307) ; tmp323 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp324) ; tmp326 = atspre_isub (tmp321, tmp323) ; tmp325 = atspre_ilte (tmp326, 1) ; if (tmp325) { tmp302 = tmp320 ; } else { tmp327 = avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type (tmp303, tmp321, tmp306, tmp323, tmp307, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp327 ; tmp302 = tmp320 ; } /* end of [if] */ break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp329 = atspre_pgt (arg1, atspre_null_ptr) ; if (tmp329) { tmp330 = ats_ptrget_mac(ats_ptr_type, tmp305) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp330 ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp331 ; */ tmp331 = ats_ptrget_mac(ats_ptr_type, tmp306) ; /* ats_ptr_type tmp332 ; */ tmp332 = ats_ptrget_mac(ats_ptr_type, tmp307) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp332 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp333 = avltree_takeout_min_02378_ats_ptr_type_2cats_ptr_type ((&tmp332)) ; if (tmp333 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 15639(line=535, offs=21) -- 15683(line=535, offs=65)") ; } tmp351 = &ats_caselptrlab_mac(anairiats_sum_4, tmp333, atslab_0) ; tmp352 = &ats_caselptrlab_mac(anairiats_sum_4, tmp333, atslab_3) ; tmp353 = &ats_caselptrlab_mac(anairiats_sum_4, tmp333, atslab_4) ; tmp354 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp331) ; tmp355 = avltree_height_02274_ats_ptr_type_2cats_ptr_type (tmp332) ; ats_ptrget_mac(ats_ptr_type, tmp352) = tmp331 ; ats_ptrget_mac(ats_ptr_type, tmp353) = tmp332 ; tmp357 = atspre_isub (tmp354, tmp355) ; tmp356 = atspre_ilte (tmp357, 1) ; if (tmp356) { tmp359 = atspre_imax (tmp354, tmp355) ; tmp358 = atspre_iadd (1, tmp359) ; ats_ptrget_mac(ats_int_type, tmp351) = tmp358 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp333 ; tmp302 = ats_true_bool ; } else { tmp360 = avltree_rrotate_02327_ats_ptr_type_2cats_ptr_type (tmp351, tmp354, tmp352, tmp355, tmp353, tmp333) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp360 ; tmp302 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp332 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: ats_ptrget_mac(ats_ptr_type, arg0) = tmp331 ; tmp302 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp302 = ats_false_bool ; break ; } while (0) ; return (tmp302) ; } /* end of [takeout_60] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } takeout_60_closure_type ; ats_bool_type takeout_60_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return takeout_60 (((takeout_60_closure_type*)cloptr)->closure_env_0, ((takeout_60_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type takeout_60_closure_init (takeout_60_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&takeout_60_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type takeout_60_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { takeout_60_closure_type *p_clo = ATS_MALLOC(sizeof(takeout_60_closure_type)) ; takeout_60_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 12957(line=466, offs=3) -- 16671(line=559, offs=2) */ ATSstaticdec() ats_bool_type linmap_takeout_ptr_05136_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp301) ; __ats_lab_linmap_takeout_ptr_05136_ats_ptr_type_2cats_ptr_type: tmp301 = takeout_60 (arg1, arg2, arg0, arg3) ; return (tmp301) ; } /* end of [linmap_takeout_ptr_05136_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 17132(line=576, offs=15) -- 17193(line=576, offs=76) */ ATSstaticdec() ats_bool_type linmap_remove_05123_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp300) ; __ats_lab_linmap_remove_05123_ats_ptr_type_2cats_ptr_type: tmp300 = linmap_takeout_ptr_05136_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, atspre_null_ptr) ; return (tmp300) ; } /* end of [linmap_remove_05123_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6484(line=287, offs=7) -- 6532(line=288, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_remove (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_remove: tmp299 = linmap_remove_05123_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp48) ; return (tmp299) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_remove] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmpvar.dats: 6639(line=297, offs=3) -- 6886(line=308, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo: tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyclo (arg1) ; /* tmp361 = */ patsopt_tmpvar_set_type (arg0, tmp362) ; return /* (tmp361) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp48, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp48 = __ats_fun_21_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ ats_void_type patsopt_tmpvar_set_type ( ats_ptr_type tmp, ats_ptr_type hse ) { ((tmpvar_t)tmp)->atslab_tmpvar_type = hse ; return ; } // end of [patsopt_tmpvar_set_type] ats_void_type patsopt_tmpvar_set_ref ( ats_ptr_type tmp, ats_int_type ref ) { ((tmpvar_t)tmp)->atslab_tmpvar_ref = ref ; return ; } // end of [patsopt_tmpvar_set_ref] ats_void_type patsopt_tmpvar_set_ret ( ats_ptr_type tmp, ats_int_type ret ) { ((tmpvar_t)tmp)->atslab_tmpvar_ret = ret ; return ; } // end of [patsopt_tmpvar_set_ret] ats_void_type patsopt_tmpvar_set_topknd ( ats_ptr_type tmp, ats_int_type knd ) { ((tmpvar_t)tmp)->atslab_tmpvar_topknd = knd ; return ; } // end of [patsopt_tmpvar_set_topknd] ats_void_type patsopt_tmpvar_set_origin ( ats_ptr_type tmp, ats_ptr_type opt ) { ((tmpvar_t)tmp)->atslab_tmpvar_origin = opt ; return ; } // end of [patsopt_tmpvar_set_origin] ats_void_type patsopt_tmpvar_set_suffix ( ats_ptr_type tmp, ats_int_type sfx ) { ((tmpvar_t)tmp)->atslab_tmpvar_suffix = sfx ; return ; } // end of [patsopt_tmpvar_set_suffix] /* ****** ****** */ /* end of [pats_ccomp_tmpvar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_error_sats.c0000664000175000017500000001352412655455557021424 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_label_equal_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_stamp_equal_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_funclo_equal_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_clokind_equal_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_linearity_equal_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_pfarity_equal_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2eff_subeq_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_boxity_equal_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_tyreckind_equal_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_refval_equal_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2zexp_merge_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_equal_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_tyleq_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2Var_s2exp_solve_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2explst_length_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_labs2explst_length_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_wths2explst_shape_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_linearity_17) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_label_equal_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_stamp_equal_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_funclo_equal_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_clokind_equal_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_linearity_equal_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_pfarity_equal_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2eff_subeq_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_boxity_equal_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_tyreckind_equal_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_refval_equal_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2zexp_merge_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_equal_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_tyleq_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2Var_s2exp_solve_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2explst_length_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_labs2explst_length_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_wths2explst_shape_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_linearity_17.tag = 17 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_error_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp1_dats.c0000664000175000017500000064374012655455557020207 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_i1nvresstate_qua ; ats_ptr_type atslab_i1nvresstate_arg ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_labp1at_loc ; ats_ptr_type atslab_labp1at_node ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_i1nvarg_loc ; ats_ptr_type atslab_i1nvarg_sym ; ats_ptr_type atslab_i1nvarg_type ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_loopi1nv_loc ; ats_ptr_type atslab_loopi1nv_qua ; ats_ptr_type atslab_loopi1nv_met ; ats_ptr_type atslab_loopi1nv_arg ; ats_ptr_type atslab_loopi1nv_res ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_gm1at_loc ; ats_ptr_type atslab_gm1at_exp ; ats_ptr_type atslab_gm1at_pat ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_c1lau_loc ; ats_ptr_type atslab_c1lau_pat ; ats_ptr_type atslab_c1lau_gua ; ats_int_type atslab_c1lau_seq ; ats_int_type atslab_c1lau_neg ; ats_ptr_type atslab_c1lau_body ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_sc1lau_loc ; ats_ptr_type atslab_sc1lau_pat ; ats_ptr_type atslab_sc1lau_body ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_d1lab_loc ; ats_ptr_type atslab_d1lab_node ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_m1acdef_loc ; ats_ptr_type atslab_m1acdef_sym ; ats_ptr_type atslab_m1acdef_arg ; ats_ptr_type atslab_m1acdef_def ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_i1mpdec_loc ; ats_ptr_type atslab_i1mpdec_qid ; ats_ptr_type atslab_i1mpdec_tmparg ; ats_ptr_type atslab_i1mpdec_def ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_f1undec_loc ; ats_ptr_type atslab_f1undec_sym ; ats_ptr_type atslab_f1undec_sym_loc ; ats_ptr_type atslab_f1undec_def ; ats_ptr_type atslab_f1undec_ann ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_v1aldec_loc ; ats_ptr_type atslab_v1aldec_pat ; ats_ptr_type atslab_v1aldec_def ; ats_ptr_type atslab_v1aldec_ann ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_v1ardec_loc ; ats_int_type atslab_v1ardec_knd ; ats_ptr_type atslab_v1ardec_sym ; ats_ptr_type atslab_v1ardec_sym_loc ; ats_ptr_type atslab_v1ardec_pfat ; ats_ptr_type atslab_v1ardec_type ; ats_ptr_type atslab_v1ardec_init ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_d1ecl_loc ; ats_ptr_type atslab_d1ecl_node ; } anairiats_rec_29 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_30 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_31 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_32 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_33 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tide_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tdqid_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tintrep_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_dyn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ttup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlst_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfree_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tunfold_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trefas_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Texist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tann_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Echar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Estring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ei0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ec0har_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ef0loat_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Es0tring_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etmpid_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhere_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_dyn_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esing_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eifhead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esifhead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecasehead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Escasehead_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrsub_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrinit_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrpsz_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eptrof_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eviewat_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eselab_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eraise_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eeffmask_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eshowtype_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Evcopyenv_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etempenver_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eexist_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efix_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edelay_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efor_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhile_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eloopexn_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etrywith_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_type_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacsyn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacfun_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolassert_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolverify_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpackname_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymintr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymelim_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Coverload_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpdef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpundef_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatdecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cexndecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cmacdefs_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdynload_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clocal_35) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_all) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ntm) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_exn) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ref) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_wrt) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any2) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_nil) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sing) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_nil) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_01849_ () ; static ats_ptr_type aux_ifany_19 (ats_ptr_type arg0) ; static ats_void_type prerr_error1_loc_01852_ (ats_ptr_type arg0) ; static ats_ptr_type aux_33 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_33_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_34 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_34_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_38 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_38_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_39 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_39_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_123 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_123_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_123_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_124 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_124_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_124_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_127 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_127_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_127_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_128 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_128_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_128_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp123) ; ATSstatic (ats_ptr_type, statmp124) ; ATSstatic (ats_ptr_type, statmp125) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 1491(line=38, offs=28) -- 1516(line=38, offs=53) */ ATSstaticdec() ats_void_type prerr_FILENAME_01849_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_01849_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_dynexp1")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_01849_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 1772(line=57, offs=11) -- 1823(line=59, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make: tmp1 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp1, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp1, atslab_p1at_node, arg1) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 1844(line=62, offs=10) -- 1894(line=64, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any: tmp3 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0) ; tmp2 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_p1at_node, tmp3) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 1915(line=66, offs=11) -- 1966(line=68, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any2: tmp5 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1) ; tmp4 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp4, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp4, atslab_p1at_node, tmp5) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2008(line=73, offs=10) -- 2064(line=75, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide: tmp7 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp7)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp7, atslab_0, arg1) ; tmp6 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp6, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp6, atslab_p1at_node, tmp7) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2085(line=77, offs=11) -- 2150(line=79, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_dqid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_dqid: tmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp9)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_1, arg2) ; tmp8 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp8, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp8, atslab_p1at_node, tmp9) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_dqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2192(line=84, offs=10) -- 2246(line=86, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int: tmp11 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp11)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp11, atslab_0, arg1) ; tmp10 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp10, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp10, atslab_p1at_node, tmp11) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2269(line=88, offs=13) -- 2330(line=90, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_intrep: tmp13 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp13)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp13, atslab_0, arg1) ; tmp12 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp12, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp12, atslab_p1at_node, tmp13) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2351(line=92, offs=11) -- 2412(line=94, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char: tmp15 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp15)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp15, atslab_0, arg1) ; tmp14 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp14, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp14, atslab_p1at_node, tmp15) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2434(line=96, offs=12) -- 2494(line=98, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_float: tmp17 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp17)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp17, atslab_0, arg1) ; tmp16 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp16, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp16, atslab_p1at_node, tmp17) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2517(line=100, offs=13) -- 2578(line=102, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string: tmp19 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp19)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp19, atslab_0, arg1) ; tmp18 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp18, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp18, atslab_p1at_node, tmp19) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2623(line=108, offs=3) -- 2678(line=110, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_i0nt: tmp21 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp21)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp21, atslab_0, arg1) ; tmp20 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp20, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp20, atslab_p1at_node, tmp21) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2723(line=113, offs=12) -- 2802(line=117, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_char_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_c0har: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp23)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2744(line=114, offs=7) -- 2774(line=114, offs=37)") ; } tmp24 = ats_caselptrlab_mac(anairiats_sum_5, tmp23, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char (arg0, tmp24) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2849(line=120, offs=13) -- 2906(line=122, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_f0loat: tmp26 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp26)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_0, arg1) ; tmp25 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp25, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp25, atslab_p1at_node, tmp26) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2955(line=125, offs=14) -- 3042(line=129, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_s0tring: tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp28)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 2976(line=126, offs=7) -- 3010(line=126, offs=41)") ; } tmp29 = ats_caselptrlab_mac(anairiats_sum_2, tmp28, atslab_0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string (arg0, tmp29) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 3111(line=134, offs=12) -- 3163(line=136, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_empty: tmp31 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11) ; tmp30 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp30, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp30, atslab_p1at_node, tmp31) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 3188(line=139, offs=14) -- 3297(line=144, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn: tmp33 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp33)->tag = 13 ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_3, arg4) ; tmp32 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp32, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp32, atslab_p1at_node, tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 3349(line=148, offs=3) -- 3425(line=150, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta: tmp35 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp35)->tag = 12 ; ats_selptrset_mac(anairiats_sum_3, tmp35, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp35, atslab_1, arg2) ; tmp34 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp34, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp34, atslab_p1at_node, tmp35) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 3792(line=174, offs=5) -- 3911(line=180, offs=4) */ ATSstaticdec() ats_ptr_type aux_ifany_19 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_aux_ifany_19: tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp38)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_loc) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any2 (tmp39) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp37 = arg0 ; break ; } while (0) ; return (tmp37) ; } /* end of [aux_ifany_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 3762(line=172, offs=3) -- 4349(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list: tmp40 = atspre_gte_int_int (arg1, 0) ; if (tmp40) { tmp41 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp41)->tag = 14 ; ats_selptrset_mac(anairiats_sum_8, tmp41, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp41, atslab_1, arg2) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make (arg0, tmp41) ; } else { do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } tmp42 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; if (tmp42 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp44 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp43), atslab_p1at_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp44)->tag != 14) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup (arg0, 0, tmp45, arg2) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp36 = aux_ifany_19 (tmp43) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp46 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp46)->tag = 14 ; ats_selptrset_mac(anairiats_sum_8, tmp46, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp46, atslab_1, arg2) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make (arg0, tmp46) ; break ; } while (0) ; } /* end of [if] */ return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4413(line=204, offs=10) -- 4493(line=206, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup: tmp48 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp48)->tag = 15 ; ats_selptrset_mac(anairiats_sum_10, tmp48, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp48, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp48, atslab_2, arg3) ; tmp47 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp47, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp47, atslab_p1at_node, tmp48) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4513(line=208, offs=10) -- 4595(line=210, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_rec: tmp50 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp50)->tag = 16 ; ats_selptrset_mac(anairiats_sum_10, tmp50, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp50, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp50, atslab_2, arg3) ; tmp49 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp49, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp49, atslab_p1at_node, tmp50) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4615(line=212, offs=10) -- 4685(line=214, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_lst: tmp52 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp52)->tag = 17 ; ats_selptrset_mac(anairiats_sum_8, tmp52, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp52, atslab_1, arg2) ; tmp51 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp51, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp51, atslab_p1at_node, tmp52) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4707(line=217, offs=11) -- 4766(line=219, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_free (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_free: tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp54)->tag = 18 ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, arg1) ; tmp53 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp53, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp53, atslab_p1at_node, tmp54) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4789(line=221, offs=13) -- 4850(line=223, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_unfold (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_unfold: tmp56 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp56)->tag = 19 ; ats_selptrset_mac(anairiats_sum_2, tmp56, atslab_0, arg1) ; tmp55 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp55, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp55, atslab_p1at_node, tmp56) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_unfold] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4873(line=226, offs=12) -- 4955(line=228, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_refas: tmp58 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp58)->tag = 20 ; ats_selptrset_mac(anairiats_sum_11, tmp58, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp58, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp58, atslab_2, arg3) ; tmp57 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp57, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp57, atslab_p1at_node, tmp58) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 4980(line=232, offs=3) -- 5050(line=234, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_exist: tmp60 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp60)->tag = 21 ; ats_selptrset_mac(anairiats_sum_3, tmp60, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp60, atslab_1, arg2) ; tmp59 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp59, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp59, atslab_p1at_node, tmp60) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5075(line=237, offs=14) -- 5137(line=239, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_svararg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_svararg: tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp62)->tag = 22 ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, arg1) ; tmp61 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp61, atslab_p1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp61, atslab_p1at_node, tmp62) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_svararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5160(line=243, offs=3) -- 5212(line=243, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ann: tmp64 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp64)->tag = 23 ; ats_selptrset_mac(anairiats_sum_3, tmp64, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp64, atslab_1, arg2) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make (arg0, tmp64) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5257(line=247, offs=13) -- 5294(line=247, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat: tmp66 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make (arg0, tmp66) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5340(line=252, offs=14) -- 5415(line=254, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_norm (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_norm: tmp68 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp68, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp68, atslab_1, arg2) ; tmp67 = ATS_MALLOC(sizeof(anairiats_rec_12)) ; ats_selptrset_mac(anairiats_rec_12, tmp67, atslab_labp1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_12, tmp67, atslab_labp1at_node, tmp68) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_norm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5440(line=257, offs=14) -- 5501(line=259, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_omit (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_omit: tmp70 = (ats_sum_ptr_type)0 ; tmp69 = ATS_MALLOC(sizeof(anairiats_rec_12)) ; ats_selptrset_mac(anairiats_rec_12, tmp69, atslab_labp1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_12, tmp69, atslab_labp1at_node, tmp70) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_omit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_01852_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; __ats_lab_prerr_error1_loc_01852_: /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp88 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp88) */ ; } /* end of [prerr_error1_loc_01852_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5575(line=267, offs=5) -- 6625(line=318, offs=4) */ ATSstaticdec() ats_ptr_type aux_33 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_char_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; __ats_lab_aux_33: tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp73)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide (env0, tmp74) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp73)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_4, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int (env0, tmp75) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp73)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_intrep (env0, tmp76) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp73)->tag != 3) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_5, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char (env0, tmp77) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp73)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_float (env0, tmp78) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp73)->tag != 5) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string (env0, tmp79) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp73)->tag != 9) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_11, tmp73, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_11, tmp73, atslab_2) ; tmp82 = aux_33 (env0, tmp80) ; tmp83 = auxlst_34 (env0, tmp81) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (env0, tmp82, env0, -1, tmp83) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp73)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp85 = auxlst_34 (env0, tmp84) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list (env0, -1, tmp85) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp73)->tag != 6) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_v1al (env0, tmp86) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp73)->tag != 7) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_empty (env0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp87 = */ prerr_error1_loc_01852_ (env0) ; /* tmp90 = */ atspre_prerr_string (ATSstrcst(": the expression [")) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp (arg0) ; /* tmp92 = */ atspre_prerr_string (ATSstrcst("] cannot be translated into a legal pattern.")) ; /* tmp93 = */ atspre_prerr_newline () ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat (env0) ; break ; } while (0) ; return (tmp72) ; } /* end of [aux_33] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_33_closure_type ; ats_ptr_type aux_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_33 (((aux_33_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_33_closure_init (aux_33_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_33_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_33_closure_make (ats_ptr_type env0) { aux_33_closure_type *p_clo = ATS_MALLOC(sizeof(aux_33_closure_type)) ; aux_33_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 6647(line=320, offs=5) -- 6789(line=324, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_34 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab_auxlst_34: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp97 = aux_33 (env0, tmp95) ; tmp98 = auxlst_34 (env0, tmp96) ; tmp94 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp94, atslab_0, tmp97) ; ats_selptrset_mac(anairiats_sum_9, tmp94, atslab_1, tmp98) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp94 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp94) ; } /* end of [auxlst_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_34_closure_type ; ats_ptr_type auxlst_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_34 (((auxlst_34_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_34_closure_init (auxlst_34_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_34_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_34_closure_make (ats_ptr_type env0) { auxlst_34_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_34_closure_type)) ; auxlst_34_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 5551(line=265, offs=3) -- 6826(line=328, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp: tmp71 = aux_33 (arg0, arg1) ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 6903(line=334, offs=3) -- 7105(line=343, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_v1al (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_char_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_v1al: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_int (arg0, tmp100) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_char (arg0, tmp101) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_string (arg0, tmp102) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat (arg0) ; break ; } while (0) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 7208(line=351, offs=5) -- 7710(line=365, offs=25) */ ATSstaticdec() ats_ptr_type aux_38 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_char_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_aux_38: tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp105)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_2, tmp105, atslab_0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (env0, tmp106) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp105)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_4, tmp105, atslab_0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (env0, tmp107) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp105)->tag != 5) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_2, tmp105, atslab_0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep (env0, tmp108) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp105)->tag != 6) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_5, tmp105, atslab_0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (env0, tmp109) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp105)->tag != 13) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_7, tmp105, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_7, tmp105, atslab_3) ; tmp112 = aux_38 (env0, tmp110) ; tmp113 = auxlst_39 (env0, tmp111) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (env0, tmp112, env0, tmp113) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp105)->tag != 14) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_8, tmp105, atslab_1) ; tmp115 = auxlst_39 (env0, tmp114) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (env0, tmp115) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (env0) ; break ; } while (0) ; return (tmp104) ; } /* end of [aux_38] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_38_closure_type ; ats_ptr_type aux_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_38 (((aux_38_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_38_closure_init (aux_38_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_38_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_38_closure_make (ats_ptr_type env0) { aux_38_closure_type *p_clo = ATS_MALLOC(sizeof(aux_38_closure_type)) ; aux_38_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 7737(line=368, offs=5) -- 7893(line=372, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_39 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_auxlst_39: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp119 = aux_38 (env0, tmp117) ; tmp120 = auxlst_39 (env0, tmp118) ; tmp116 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp116, atslab_0, tmp119) ; ats_selptrset_mac(anairiats_sum_9, tmp116, atslab_1, tmp120) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp116 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp116) ; } /* end of [auxlst_39] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_39_closure_type ; ats_ptr_type auxlst_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_39 (((auxlst_39_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_39_closure_init (auxlst_39_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_39_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_39_closure_make (ats_ptr_type env0) { auxlst_39_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_39_closure_type)) ; auxlst_39_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 7182(line=349, offs=3) -- 7938(line=377, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_p1at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_p1at: tmp103 = aux_38 (arg0, arg1) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_p1at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8011(line=382, offs=14) -- 8093(line=386, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvarg_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvarg_make: tmp121 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp121, atslab_i1nvarg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp121, atslab_i1nvarg_sym, arg1) ; ats_selptrset_mac(anairiats_rec_14, tmp121, atslab_i1nvarg_type, arg2) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8150(line=390, offs=3) -- 8216(line=392, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make: tmp122 = ATS_MALLOC(sizeof(anairiats_rec_0)) ; ats_selptrset_mac(anairiats_rec_0, tmp122, atslab_i1nvresstate_qua, arg0) ; ats_selptrset_mac(anairiats_rec_0, tmp122, atslab_i1nvresstate_arg, arg1) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8369(line=402, offs=15) -- 8505(line=410, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make: tmp126 = ATS_MALLOC(sizeof(anairiats_rec_15)) ; ats_selptrset_mac(anairiats_rec_15, tmp126, atslab_loopi1nv_loc, arg0) ; ats_selptrset_mac(anairiats_rec_15, tmp126, atslab_loopi1nv_qua, arg1) ; ats_selptrset_mac(anairiats_rec_15, tmp126, atslab_loopi1nv_met, arg2) ; ats_selptrset_mac(anairiats_rec_15, tmp126, atslab_loopi1nv_arg, arg3) ; ats_selptrset_mac(anairiats_rec_15, tmp126, atslab_loopi1nv_res, arg4) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8558(line=414, offs=3) -- 8699(line=420, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil: tmp128 = (ats_sum_ptr_type)0 ; tmp129 = (ats_sum_ptr_type)0 ; tmp130 = (ats_sum_ptr_type)0 ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make (arg0, tmp128, tmp129, tmp130, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_nil) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8770(line=426, offs=3) -- 8843(line=428, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__gm1at_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__gm1at_make: tmp131 = ATS_MALLOC(sizeof(anairiats_rec_16)) ; ats_selptrset_mac(anairiats_rec_16, tmp131, atslab_gm1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_16, tmp131, atslab_gm1at_exp, arg1) ; ats_selptrset_mac(anairiats_rec_16, tmp131, atslab_gm1at_pat, arg2) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__gm1at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 8889(line=431, offs=12) -- 9037(line=440, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__c1lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__c1lau_make: tmp132 = ATS_MALLOC(sizeof(anairiats_rec_17)) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_gua, arg2) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_seq, arg3) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_neg, arg4) ; ats_selptrset_mac(anairiats_rec_17, tmp132, atslab_c1lau_body, arg5) ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__c1lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9084(line=443, offs=13) -- 9163(line=445, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__sc1lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__sc1lau_make: tmp133 = ATS_MALLOC(sizeof(anairiats_rec_18)) ; ats_selptrset_mac(anairiats_rec_18, tmp133, atslab_sc1lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_18, tmp133, atslab_sc1lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_18, tmp133, atslab_sc1lau_body, arg2) ; return (tmp133) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__sc1lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9260(line=454, offs=12) -- 9313(line=456, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make: tmp134 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp134, atslab_d1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_19, tmp134, atslab_d1exp_node, arg1) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9379(line=461, offs=11) -- 9420(line=461, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide: tmp136 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp136)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp136, atslab_0, arg1) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp136) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9442(line=462, offs=22) -- 9473(line=462, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_opid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_opid: tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide (arg0, arg1) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_opid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9497(line=465, offs=3) -- 9547(line=465, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid: tmp139 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp139)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp139, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp139, atslab_1, arg2) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp139) ; return (tmp138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9617(line=472, offs=3) -- 9663(line=472, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idext (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idext: tmp141 = (ats_sum_ptr_type)0 ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp (arg0, arg1, tmp141) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9691(line=475, offs=3) -- 9747(line=475, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp: tmp143 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp143)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp143, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp143, atslab_1, arg2) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp143) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9817(line=481, offs=11) -- 9860(line=481, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int: tmp145 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp145)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp145, atslab_0, arg1) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp145) ; return (tmp144) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9884(line=483, offs=14) -- 9930(line=483, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_intrep: tmp147 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp147)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp147, atslab_0, arg1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp147) ; return (tmp146) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 9952(line=485, offs=12) -- 9997(line=485, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char: tmp149 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp149)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp149, atslab_0, arg1) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp149) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10020(line=487, offs=13) -- 10063(line=487, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_float: tmp151 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp151)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp151, atslab_0, arg1) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp151) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10087(line=489, offs=14) -- 10133(line=489, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string: tmp153 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp153)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp153, atslab_0, arg1) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp153) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10177(line=494, offs=12) -- 10217(line=494, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_i0nt: tmp155 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp155)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_0, arg1) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp155) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10240(line=496, offs=13) -- 10281(line=496, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_c0har: tmp157 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp157)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp157, atslab_0, arg1) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp157) ; return (tmp156) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10305(line=498, offs=14) -- 10347(line=498, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_f0loat: tmp159 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp159)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp159, atslab_0, arg1) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp159) ; return (tmp158) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10372(line=500, offs=15) -- 10415(line=500, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_s0tring: tmp161 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp161)->tag = 12 ; ats_selptrset_mac(anairiats_sum_2, tmp161, atslab_0, arg1) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp161) ; return (tmp160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10464(line=506, offs=3) -- 10505(line=506, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_cstsp: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp163)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp163, atslab_0, arg1) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp163) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10535(line=510, offs=3) -- 10578(line=510, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_literal (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_literal: tmp165 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp165)->tag = 16 ; ats_selptrset_mac(anairiats_sum_2, tmp165, atslab_0, arg1) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp165) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_literal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10624(line=515, offs=10) -- 10659(line=515, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_top (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_top: tmp167 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp167) ; return (tmp166) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10684(line=518, offs=12) -- 10721(line=518, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty: tmp169 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp169) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10771(line=523, offs=14) -- 10835(line=524, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extval: tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp171)->tag = 17 ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_1, arg2) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp171) ; return (tmp170) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10864(line=527, offs=16) -- 10942(line=528, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extfcall: tmp173 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp173)->tag = 18 ; ats_selptrset_mac(anairiats_sum_11, tmp173, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp173, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp173, atslab_2, arg3) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 10971(line=531, offs=16) -- 11061(line=532, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extmcall: tmp175 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp175)->tag = 19 ; ats_selptrset_mac(anairiats_sum_20, tmp175, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_20, tmp175, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_20, tmp175, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_20, tmp175, atslab_3, arg4) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp175) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11109(line=537, offs=14) -- 11169(line=538, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_foldat: tmp177 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp177)->tag = 20 ; ats_selptrset_mac(anairiats_sum_3, tmp177, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp177, atslab_1, arg2) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp177) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11193(line=540, offs=14) -- 11253(line=541, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_freeat: tmp179 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp179)->tag = 21 ; ats_selptrset_mac(anairiats_sum_3, tmp179, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp179, atslab_1, arg2) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp179) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_freeat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11298(line=546, offs=13) -- 11361(line=547, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tmpid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tmpid: tmp181 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp181)->tag = 22 ; ats_selptrset_mac(anairiats_sum_3, tmp181, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp181, atslab_1, arg2) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp181) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tmpid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11430(line=553, offs=11) -- 11488(line=554, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp183)->tag = 23 ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_1, arg2) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp183) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11514(line=557, offs=13) -- 11574(line=558, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_where (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_where: tmp185 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp185)->tag = 24 ; ats_selptrset_mac(anairiats_sum_3, tmp185, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp185, atslab_1, arg2) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp185) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_where] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11623(line=563, offs=15) -- 11683(line=564, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta: tmp187 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp187)->tag = 27 ; ats_selptrset_mac(anairiats_sum_3, tmp187, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp187, atslab_1, arg2) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp187) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11737(line=569, offs=3) -- 11825(line=570, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn: tmp189 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp189)->tag = 26 ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_3, arg4) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp189) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 11899(line=577, offs=3) -- 12007(line=582, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sing (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sing: tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp191)->tag != 0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp190 = arg1 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp192 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp192)->tag = 28 ; ats_selptrset_mac(anairiats_sum_2, tmp192, atslab_0, arg1) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp192) ; break ; } while (0) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 12083(line=589, offs=3) -- 12606(line=613, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list: tmp194 = atspre_gte_int_int (arg1, 0) ; if (tmp194) { tmp195 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp195)->tag = 29 ; ats_selptrset_mac(anairiats_sum_8, tmp195, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp195, atslab_1, arg2) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp195) ; } else { do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } tmp196 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; if (tmp196 != (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp197), atslab_d1exp_node) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp198)->tag != 29) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_8, tmp198, atslab_0) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_8, tmp198, atslab_1) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup (arg0, 0, tmp199, tmp200) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sing (arg0, tmp197) ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp201 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp201)->tag = 29 ; ats_selptrset_mac(anairiats_sum_8, tmp201, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp201, atslab_1, arg2) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp201) ; break ; } while (0) ; } /* end of [if] */ return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 12677(line=619, offs=3) -- 12767(line=620, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ifhead: tmp203 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp203)->tag = 30 ; ats_selptrset_mac(anairiats_sum_20, tmp203, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_20, tmp203, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_20, tmp203, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_20, tmp203, atslab_3, arg4) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp203) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 12820(line=625, offs=3) -- 12911(line=626, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sifhead: tmp205 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp205)->tag = 31 ; ats_selptrset_mac(anairiats_sum_20, tmp205, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_20, tmp205, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_20, tmp205, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_20, tmp205, atslab_3, arg4) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp205) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 12966(line=631, offs=3) -- 13052(line=632, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_casehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_casehead: tmp207 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp207)->tag = 32 ; ats_selptrset_mac(anairiats_sum_20, tmp207, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_20, tmp207, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_20, tmp207, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_20, tmp207, atslab_3, arg4) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp207) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_casehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13109(line=637, offs=3) -- 13184(line=638, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_scasehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_scasehead: tmp209 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp209)->tag = 33 ; ats_selptrset_mac(anairiats_sum_11, tmp209, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp209, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp209, atslab_2, arg3) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp209) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_scasehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13255(line=644, offs=11) -- 13322(line=645, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lst: tmp211 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp211)->tag = 34 ; ats_selptrset_mac(anairiats_sum_21, tmp211, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp211, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp211, atslab_2, arg3) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp211) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13344(line=648, offs=11) -- 13411(line=649, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup: tmp213 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp213)->tag = 35 ; ats_selptrset_mac(anairiats_sum_10, tmp213, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp213, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp213, atslab_2, arg3) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp213) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13433(line=652, offs=11) -- 13502(line=653, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_rec: tmp215 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp215)->tag = 36 ; ats_selptrset_mac(anairiats_sum_10, tmp215, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp215, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp215, atslab_2, arg3) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp215) ; return (tmp214) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13524(line=656, offs=11) -- 13569(line=656, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq: tmp217 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp217)->tag = 37 ; ats_selptrset_mac(anairiats_sum_2, tmp217, atslab_0, arg1) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp217) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13617(line=662, offs=3) -- 13693(line=663, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrsub (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrsub: tmp219 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp219)->tag = 38 ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_2, arg3) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp219) ; return (tmp218) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13745(line=668, offs=3) -- 13803(line=669, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrpsz: tmp221 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp221)->tag = 40 ; ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_1, arg2) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13856(line=674, offs=3) -- 13925(line=675, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrinit: tmp223 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp223)->tag = 39 ; ats_selptrset_mac(anairiats_sum_11, tmp223, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp223, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp223, atslab_2, arg3) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp223) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 13998(line=682, offs=3) -- 14067(line=684, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab: tmp225 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp225)->tag = 43 ; ats_selptrset_mac(anairiats_sum_21, tmp225, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp225, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp225, atslab_2, arg3) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp225) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14142(line=691, offs=3) -- 14187(line=691, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ptrof: tmp227 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp227)->tag = 41 ; ats_selptrset_mac(anairiats_sum_2, tmp227, atslab_0, arg1) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp227) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14213(line=694, offs=3) -- 14259(line=694, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_viewat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_viewat: tmp229 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp229)->tag = 42 ; ats_selptrset_mac(anairiats_sum_2, tmp229, atslab_0, arg1) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp229) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14310(line=700, offs=3) -- 14355(line=700, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_raise (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_raise: tmp231 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp231)->tag = 44 ; ats_selptrset_mac(anairiats_sum_2, tmp231, atslab_0, arg1) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp231) ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14408(line=706, offs=3) -- 14502(line=713, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask: tmp233 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp233)->tag = 45 ; ats_selptrset_mac(anairiats_sum_3, tmp233, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp233, atslab_1, arg2) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp233) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14565(line=717, offs=3) -- 14785(line=730, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask_arg (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask_arg: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg1 != 0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ntm ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 != 1) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_exn ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg1 != 2) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ref ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg1 != 3) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_wrt ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_all ; break ; } while (0) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask (arg0, tmp235, arg2) ; return (tmp234) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14869(line=736, offs=3) -- 14918(line=737, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_showtype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_showtype: tmp237 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp237)->tag = 46 ; ats_selptrset_mac(anairiats_sum_2, tmp237, atslab_0, arg1) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp237) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_showtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 14972(line=743, offs=3) -- 15031(line=744, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_vcopyenv (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_vcopyenv: tmp239 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp239)->tag = 47 ; ats_selptrset_mac(anairiats_sum_8, tmp239, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp239, atslab_1, arg2) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp239) ; return (tmp238) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15086(line=750, offs=3) -- 15136(line=751, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tempenver: tmp241 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp241)->tag = 48 ; ats_selptrset_mac(anairiats_sum_2, tmp241, atslab_0, arg1) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp241) ; return (tmp240) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15187(line=757, offs=3) -- 15234(line=757, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sexparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sexparg: tmp243 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp243)->tag = 49 ; ats_selptrset_mac(anairiats_sum_2, tmp243, atslab_0, arg1) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp243) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sexparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15286(line=762, offs=3) -- 15341(line=762, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_exist: tmp245 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp245)->tag = 50 ; ats_selptrset_mac(anairiats_sum_3, tmp245, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp245, atslab_1, arg2) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp245) ; return (tmp244) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15416(line=769, offs=3) -- 15484(line=770, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn: tmp247 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp247)->tag = 51 ; ats_selptrset_mac(anairiats_sum_21, tmp247, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp247, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp247, atslab_2, arg3) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp247) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15518(line=774, offs=3) -- 15590(line=775, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_laminit_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_laminit_dyn: tmp249 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp249)->tag = 52 ; ats_selptrset_mac(anairiats_sum_21, tmp249, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp249, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp249, atslab_2, arg3) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp249) ; return (tmp248) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_laminit_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15620(line=779, offs=3) -- 15698(line=780, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_met: tmp251 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp251)->tag = 53 ; ats_selptrset_mac(anairiats_sum_11, tmp251, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp251, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp251, atslab_2, arg3) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp251) ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_met] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15732(line=784, offs=3) -- 15812(line=785, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_ana (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_ana: tmp253 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp253)->tag = 54 ; ats_selptrset_mac(anairiats_sum_11, tmp253, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp253, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp253, atslab_2, arg3) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp253) ; return (tmp252) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_ana] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15846(line=789, offs=3) -- 15928(line=790, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_syn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_syn: tmp255 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp255)->tag = 55 ; ats_selptrset_mac(anairiats_sum_11, tmp255, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp255, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp255, atslab_2, arg3) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp255) ; return (tmp254) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_syn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 15977(line=796, offs=3) -- 16038(line=797, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_fix (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_fix: tmp257 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp257)->tag = 56 ; ats_selptrset_mac(anairiats_sum_21, tmp257, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp257, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp257, atslab_2, arg3) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp257) ; return (tmp256) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16089(line=803, offs=3) -- 16155(line=804, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_delay (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_delay: tmp259 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp259)->tag = 57 ; ats_selptrset_mac(anairiats_sum_8, tmp259, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp259, atslab_1, arg2) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp259) ; return (tmp258) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16200(line=810, offs=1) -- 16300(line=816, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_for (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_for: tmp261 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp261)->tag = 58 ; ats_selptrset_mac(anairiats_sum_22, tmp261, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_22, tmp261, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_22, tmp261, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_22, tmp261, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_22, tmp261, atslab_4, arg5) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp261) ; return (tmp260) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_for] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16354(line=822, offs=1) -- 16429(line=825, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_while (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_while: tmp263 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp263)->tag = 59 ; ats_selptrset_mac(anairiats_sum_11, tmp263, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp263, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp263, atslab_2, arg3) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp263) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_while] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16481(line=830, offs=3) -- 16528(line=830, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_loopexn (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_loopexn: tmp265 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp265)->tag = 60 ; ats_selptrset_mac(anairiats_sum_4, tmp265, atslab_0, arg1) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp265) ; return (tmp264) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16603(line=837, offs=3) -- 16676(line=838, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_trywith: tmp267 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp267)->tag = 61 ; ats_selptrset_mac(anairiats_sum_11, tmp267, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp267, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp267, atslab_2, arg3) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp267) ; return (tmp266) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16754(line=845, offs=3) -- 16814(line=846, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type: tmp269 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp269)->tag = 62 ; ats_selptrset_mac(anairiats_sum_3, tmp269, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp269, atslab_1, arg2) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp269) ; return (tmp268) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16872(line=851, offs=3) -- 16932(line=852, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_effc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_effc: tmp271 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp271)->tag = 63 ; ats_selptrset_mac(anairiats_sum_3, tmp271, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp271, atslab_1, arg2) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp271) ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_effc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 16965(line=856, offs=3) -- 17027(line=857, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo: tmp273 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp273)->tag = 64 ; ats_selptrset_mac(anairiats_sum_3, tmp273, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp273, atslab_1, arg2) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp273) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17064(line=861, offs=3) -- 17206(line=867, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo_opt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo_opt: tmp275 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp275)->tag != 64) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp274 = arg1 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp274) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo_opt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17299(line=875, offs=3) -- 17356(line=876, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macsyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macsyn: tmp277 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp277)->tag = 65 ; ats_selptrset_mac(anairiats_sum_3, tmp277, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp277, atslab_1, arg2) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp277) ; return (tmp276) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macsyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17385(line=880, offs=3) -- 17446(line=881, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun: tmp279 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp279)->tag = 66 ; ats_selptrset_mac(anairiats_sum_3, tmp279, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp279, atslab_1, arg2) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp279) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17501(line=887, offs=3) -- 17548(line=887, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solassert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solassert: tmp281 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp281)->tag = 67 ; ats_selptrset_mac(anairiats_sum_2, tmp281, atslab_0, arg1) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp281) ; return (tmp280) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solassert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17580(line=891, offs=3) -- 17627(line=891, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solverify: tmp283 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp283)->tag = 68 ; ats_selptrset_mac(anairiats_sum_2, tmp283, atslab_0, arg1) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp283) ; return (tmp282) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solverify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17675(line=896, offs=14) -- 17712(line=896, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp: tmp285 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make (arg0, tmp285) ; return (tmp284) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17759(line=900, offs=25) -- 17788(line=900, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labd1exp_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labd1exp_make: tmp286 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp286, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp286, atslab_1, arg1) ; return (tmp286) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labd1exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 17839(line=906, offs=3) -- 18100(line=917, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric: tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp288)->tag != 53) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp287 = ats_true_bool ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp288)->tag != 51) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_21, tmp288, atslab_2) ; arg0 = tmp289 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp288)->tag != 54) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_11, tmp288, atslab_2) ; arg0 = tmp290 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp288)->tag != 55) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_11, tmp288, atslab_2) ; arg0 = tmp291 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: tmp287 = ats_false_bool ; break ; } while (0) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 18203(line=925, offs=5) -- 19389(line=981, offs=4) */ ATSstaticdec() ats_ptr_type aux_123 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_char_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; __ats_lab_aux_123: tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp294)->tag != 0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide (env0, tmp295) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp294)->tag != 1) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_4, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int (env0, tmp296) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp294)->tag != 2) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_intrep (env0, tmp297) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp294)->tag != 3) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_5, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char (env0, tmp298) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp294)->tag != 4) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_float (env0, tmp299) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp294)->tag != 5) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp300 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string (env0, tmp300) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp294)->tag != 9) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp301 = ats_caselptrlab_mac(anairiats_sum_11, tmp294, atslab_0) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_11, tmp294, atslab_2) ; tmp303 = aux_123 (env0, tmp301) ; tmp304 = auxlst_124 (env0, tmp302) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (env0, tmp303, env0, -1, tmp304) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp294)->tag != 13) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp306 = auxlst_124 (env0, tmp305) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list (env0, -1, tmp306) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp294)->tag != 6) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_2, tmp294, atslab_0) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_v1al (env0, tmp307) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp294)->tag != 7) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty (env0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: /* tmp308 = */ prerr_error1_loc_01852_ (env0) ; /* tmp309 = */ atspre_prerr_string (ATSstrcst(": the expression [")) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp (arg0) ; /* tmp311 = */ atspre_prerr_string (ATSstrcst("] cannot be translated into a legal dynamic expression.")) ; /* tmp312 = */ atspre_prerr_newline () ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (env0) ; break ; } while (0) ; return (tmp293) ; } /* end of [aux_123] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_123_closure_type ; ats_ptr_type aux_123_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_123 (((aux_123_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_123_closure_init (aux_123_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_123_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_123_closure_make (ats_ptr_type env0) { aux_123_closure_type *p_clo = ATS_MALLOC(sizeof(aux_123_closure_type)) ; aux_123_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 19411(line=983, offs=5) -- 19554(line=987, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_124 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab_auxlst_124: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp314 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp315 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp316 = aux_123 (env0, tmp314) ; tmp317 = auxlst_124 (env0, tmp315) ; tmp313 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp313, atslab_0, tmp316) ; ats_selptrset_mac(anairiats_sum_9, tmp313, atslab_1, tmp317) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp313 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp313) ; } /* end of [auxlst_124] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_124_closure_type ; ats_ptr_type auxlst_124_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_124 (((auxlst_124_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_124_closure_init (auxlst_124_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_124_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_124_closure_make (ats_ptr_type env0) { auxlst_124_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_124_closure_type)) ; auxlst_124_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 18179(line=923, offs=3) -- 19591(line=991, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp: tmp292 = aux_123 (arg0, arg1) ; return (tmp292) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 19670(line=997, offs=3) -- 19876(line=1006, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_v1al (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_char_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_v1al: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_int (arg0, tmp319) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_char (arg0, tmp320) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp321 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_string (arg0, tmp321) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (arg0) ; break ; } while (0) ; return (tmp318) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 19981(line=1014, offs=5) -- 20768(line=1037, offs=43) */ ATSstaticdec() ats_ptr_type aux_127 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_char_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab_aux_127: tmp324 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp324)->tag != 0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (env0, tmp325) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp324)->tag != 3) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_4, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (env0, tmp326) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp324)->tag != 6) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp327 = ats_caselptrlab_mac(anairiats_sum_5, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (env0, tmp327) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp324)->tag != 8) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (env0, tmp328) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp324)->tag != 7) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp329 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float (env0, tmp329) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp324)->tag != 9) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp330 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_i0nt (env0, tmp330) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp324)->tag != 10) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp331 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_c0har (env0, tmp331) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp324)->tag != 12) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_s0tring (env0, tmp332) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp324)->tag != 11) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_f0loat (env0, tmp333) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp324)->tag != 26) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp334 = ats_caselptrlab_mac(anairiats_sum_7, tmp324, atslab_0) ; tmp335 = ats_caselptrlab_mac(anairiats_sum_7, tmp324, atslab_3) ; tmp336 = aux_127 (env0, tmp334) ; tmp337 = auxlst_128 (env0, tmp335) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (env0, tmp336, env0, tmp337) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp324)->tag != 28) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp338 = ats_caselptrlab_mac(anairiats_sum_2, tmp324, atslab_0) ; arg0 = tmp338 ; goto __ats_lab_aux_127 ; // tail call break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp324)->tag != 29) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_8, tmp324, atslab_1) ; tmp340 = auxlst_128 (env0, tmp339) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (env0, tmp340) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (env0) ; break ; } while (0) ; return (tmp323) ; } /* end of [aux_127] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_127_closure_type ; ats_ptr_type aux_127_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_127 (((aux_127_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_127_closure_init (aux_127_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_127_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_127_closure_make (ats_ptr_type env0) { aux_127_closure_type *p_clo = ATS_MALLOC(sizeof(aux_127_closure_type)) ; aux_127_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 20795(line=1040, offs=5) -- 20952(line=1044, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_128 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; __ats_lab_auxlst_128: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp342 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp343 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp344 = aux_127 (env0, tmp342) ; tmp345 = auxlst_128 (env0, tmp343) ; tmp341 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp341, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_9, tmp341, atslab_1, tmp345) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp341 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp341) ; } /* end of [auxlst_128] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_128_closure_type ; ats_ptr_type auxlst_128_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_128 (((auxlst_128_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_128_closure_init (auxlst_128_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_128_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_128_closure_make (ats_ptr_type env0) { auxlst_128_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_128_closure_type)) ; auxlst_128_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 19955(line=1012, offs=3) -- 20997(line=1049, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_d1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp322) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_d1exp: tmp322 = aux_127 (arg0, arg1) ; return (tmp322) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_d1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21068(line=1053, offs=21) -- 21128(line=1055, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_lab: tmp347 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp347)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp347, atslab_0, arg1) ; tmp346 = ATS_MALLOC(sizeof(anairiats_rec_23)) ; ats_selptrset_mac(anairiats_rec_23, tmp346, atslab_d1lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_23, tmp346, atslab_d1lab_node, tmp347) ; return (tmp346) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21149(line=1056, offs=21) -- 21209(line=1058, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_ind: tmp349 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp349)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp349, atslab_0, arg1) ; tmp348 = ATS_MALLOC(sizeof(anairiats_rec_23)) ; ats_selptrset_mac(anairiats_rec_23, tmp348, atslab_d1lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_23, tmp348, atslab_d1lab_node, tmp349) ; return (tmp348) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21303(line=1068, offs=3) -- 21402(line=1071, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__m1acdef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp350) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__m1acdef_make: tmp350 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp350, atslab_m1acdef_loc, arg0) ; ats_selptrset_mac(anairiats_rec_24, tmp350, atslab_m1acdef_sym, arg1) ; ats_selptrset_mac(anairiats_rec_24, tmp350, atslab_m1acdef_arg, arg2) ; ats_selptrset_mac(anairiats_rec_24, tmp350, atslab_m1acdef_def, arg3) ; return (tmp350) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__m1acdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21473(line=1076, offs=14) -- 21589(line=1083, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1mpdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp351) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1mpdec_make: tmp351 = ATS_MALLOC(sizeof(anairiats_rec_25)) ; ats_selptrset_mac(anairiats_rec_25, tmp351, atslab_i1mpdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_25, tmp351, atslab_i1mpdec_qid, arg1) ; ats_selptrset_mac(anairiats_rec_25, tmp351, atslab_i1mpdec_tmparg, arg2) ; ats_selptrset_mac(anairiats_rec_25, tmp351, atslab_i1mpdec_def, arg3) ; return (tmp351) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1mpdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21662(line=1089, offs=3) -- 21797(line=1095, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__f1undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp352) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__f1undec_make: tmp352 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp352, atslab_f1undec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_26, tmp352, atslab_f1undec_sym, arg1) ; ats_selptrset_mac(anairiats_rec_26, tmp352, atslab_f1undec_sym_loc, arg2) ; ats_selptrset_mac(anairiats_rec_26, tmp352, atslab_f1undec_def, arg3) ; ats_selptrset_mac(anairiats_rec_26, tmp352, atslab_f1undec_ann, arg4) ; return (tmp352) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__f1undec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 21849(line=1099, offs=3) -- 21952(line=1104, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp353) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1aldec_make: tmp353 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp353, atslab_v1aldec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_27, tmp353, atslab_v1aldec_pat, arg1) ; ats_selptrset_mac(anairiats_rec_27, tmp353, atslab_v1aldec_def, arg2) ; ats_selptrset_mac(anairiats_rec_27, tmp353, atslab_v1aldec_ann, arg3) ; return (tmp353) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1aldec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22002(line=1108, offs=1) -- 22279(line=1118, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1ardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp354) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1ardec_make: tmp354 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_knd, arg1) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_sym, arg2) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_sym_loc, arg3) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_pfat, arg4) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_type, arg5) ; ats_selptrset_mac(anairiats_rec_28, tmp354, atslab_v1ardec_init, arg6) ; return (tmp354) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22452(line=1130, offs=3) -- 22505(line=1132, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp355) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node: tmp355 = ATS_MALLOC(sizeof(anairiats_rec_29)) ; ats_selptrset_mac(anairiats_rec_29, tmp355, atslab_d1ecl_loc, arg0) ; ats_selptrset_mac(anairiats_rec_29, tmp355, atslab_d1ecl_node, arg1) ; return (tmp355) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22555(line=1138, offs=3) -- 22594(line=1138, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none: tmp357 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0) ; tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp357) ; return (tmp356) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22621(line=1142, offs=3) -- 22666(line=1142, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_list: tmp359 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp359)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp359, atslab_0, arg1) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp359) ; return (tmp358) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22715(line=1147, offs=15) -- 22780(line=1148, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname: tmp361 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp361)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp361, atslab_0, arg0) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, tmp361) ; return (tmp360) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22855(line=1154, offs=14) -- 22907(line=1155, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symintr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symintr: tmp363 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp363)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp363, atslab_0, arg1) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp363) ; return (tmp362) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symintr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 22934(line=1158, offs=14) -- 22987(line=1159, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symelim (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symelim: tmp365 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp365)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp365, atslab_0, arg1) ; tmp364 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp365) ; return (tmp364) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symelim] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23015(line=1162, offs=15) -- 23089(line=1163, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_overload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_overload: tmp367 = ATS_MALLOC(sizeof(anairiats_sum_30)) ; ((ats_sum_ptr_type)tmp367)->tag = 5 ; ats_selptrset_mac(anairiats_sum_30, tmp367, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_30, tmp367, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_30, tmp367, atslab_2, arg3) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp367) ; return (tmp366) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_overload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23139(line=1168, offs=14) -- 23200(line=1169, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpdef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpdef: tmp369 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp369)->tag = 6 ; ats_selptrset_mac(anairiats_sum_3, tmp369, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp369, atslab_1, arg2) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp369) ; return (tmp368) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23226(line=1171, offs=16) -- 23289(line=1172, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpundef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpundef: tmp371 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp371)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp371, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp371, atslab_1, arg2) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp371) ; return (tmp370) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpundef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23338(line=1177, offs=13) -- 23394(line=1178, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_pragma (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_pragma: tmp373 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp373)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp373, atslab_0, arg1) ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp373) ; return (tmp372) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_pragma] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23421(line=1181, offs=14) -- 23482(line=1182, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_codegen (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_codegen: tmp375 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp375)->tag = 9 ; ats_selptrset_mac(anairiats_sum_8, tmp375, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp375, atslab_1, arg2) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp375) ; return (tmp374) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_codegen] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23535(line=1188, offs=3) -- 23583(line=1188, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datsrts (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datsrts: tmp377 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp377)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp377, atslab_0, arg1) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp377) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datsrts] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23613(line=1192, offs=3) -- 23661(line=1192, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_srtdefs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_srtdefs: tmp379 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp379)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp379, atslab_0, arg1) ; tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp379) ; return (tmp378) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_srtdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23714(line=1198, offs=3) -- 23762(line=1198, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacsts (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacsts: tmp381 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp381)->tag = 12 ; ats_selptrset_mac(anairiats_sum_2, tmp381, atslab_0, arg1) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp381) ; return (tmp380) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacsts] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 23789(line=1201, offs=3) -- 23847(line=1201, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacons (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacons: tmp383 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp383)->tag = 13 ; ats_selptrset_mac(anairiats_sum_8, tmp383, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp383, atslab_1, arg2) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp383) ; return (tmp382) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24034(line=1217, offs=14) -- 24084(line=1218, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_tkindef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_tkindef: tmp385 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp385)->tag = 14 ; ats_selptrset_mac(anairiats_sum_2, tmp385, atslab_0, arg1) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp385) ; return (tmp384) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_tkindef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24135(line=1223, offs=15) -- 24197(line=1224, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_sexpdefs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_sexpdefs: tmp387 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp387)->tag = 15 ; ats_selptrset_mac(anairiats_sum_8, tmp387, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp387, atslab_1, arg2) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp387) ; return (tmp386) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_sexpdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24224(line=1227, offs=14) -- 24274(line=1228, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_saspdec: tmp389 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp389)->tag = 16 ; ats_selptrset_mac(anairiats_sum_2, tmp389, atslab_0, arg1) ; tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp389) ; return (tmp388) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24327(line=1234, offs=3) -- 24417(line=1235, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datdecs: tmp391 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp391)->tag = 17 ; ats_selptrset_mac(anairiats_sum_21, tmp391, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp391, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp391, atslab_2, arg3) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp391) ; return (tmp390) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24469(line=1239, offs=14) -- 24524(line=1240, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_exndecs: tmp393 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp393)->tag = 18 ; ats_selptrset_mac(anairiats_sum_2, tmp393, atslab_0, arg1) ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp393) ; return (tmp392) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24602(line=1246, offs=16) -- 24663(line=1247, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_classdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_classdec: tmp395 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp395)->tag = 19 ; ats_selptrset_mac(anairiats_sum_3, tmp395, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp395, atslab_1, arg2) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp395) ; return (tmp394) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_classdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24711(line=1252, offs=14) -- 24776(line=1253, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype: tmp397 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp397)->tag = 20 ; ats_selptrset_mac(anairiats_sum_3, tmp397, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp397, atslab_1, arg2) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp397) ; return (tmp396) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24802(line=1256, offs=15) -- 24877(line=1257, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype2 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype2: tmp399 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp399)->tag = 21 ; ats_selptrset_mac(anairiats_sum_21, tmp399, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp399, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp399, atslab_2, arg3) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp399) ; return (tmp398) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 24925(line=1262, offs=14) -- 24990(line=1263, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extvar: tmp401 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp401)->tag = 22 ; ats_selptrset_mac(anairiats_sum_3, tmp401, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp401, atslab_1, arg2) ; tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp401) ; return (tmp400) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25018(line=1266, offs=15) -- 25094(line=1267, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extcode: tmp403 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp403)->tag = 23 ; ats_selptrset_mac(anairiats_sum_10, tmp403, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp403, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp403, atslab_2, arg3) ; tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp403) ; return (tmp402) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25144(line=1272, offs=16) -- 25229(line=1273, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dcstdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dcstdecs: tmp405 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp405)->tag = 24 ; ats_selptrset_mac(anairiats_sum_31, tmp405, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp405, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_31, tmp405, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_31, tmp405, atslab_3, arg4) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp405) ; return (tmp404) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dcstdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25276(line=1278, offs=15) -- 25352(line=1279, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_macdefs (ats_ptr_type arg0, ats_int_type arg1, ats_bool_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_macdefs: tmp407 = ATS_MALLOC(sizeof(anairiats_sum_32)) ; ((ats_sum_ptr_type)tmp407)->tag = 25 ; ats_selptrset_mac(anairiats_sum_32, tmp407, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_32, tmp407, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_32, tmp407, atslab_2, arg3) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp407) ; return (tmp406) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_macdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25398(line=1284, offs=14) -- 25477(line=1285, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_impdec: tmp409 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp409)->tag = 26 ; ats_selptrset_mac(anairiats_sum_21, tmp409, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp409, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp409, atslab_2, arg3) ; tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp409) ; return (tmp408) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25524(line=1290, offs=15) -- 25600(line=1291, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_valdecs: tmp411 = ATS_MALLOC(sizeof(anairiats_sum_33)) ; ((ats_sum_ptr_type)tmp411)->tag = 28 ; ats_selptrset_mac(anairiats_sum_33, tmp411, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_33, tmp411, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_33, tmp411, atslab_2, arg3) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp411) ; return (tmp410) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25626(line=1294, offs=15) -- 25700(line=1295, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_fundecs: tmp413 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp413)->tag = 27 ; ats_selptrset_mac(anairiats_sum_11, tmp413, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp413, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp413, atslab_2, arg3) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp413) ; return (tmp412) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25728(line=1299, offs=3) -- 25788(line=1299, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_vardecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_vardecs: tmp415 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp415)->tag = 29 ; ats_selptrset_mac(anairiats_sum_8, tmp415, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp415, atslab_1, arg2) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp415) ; return (tmp414) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25863(line=1306, offs=3) -- 25923(line=1306, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_include: tmp417 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp417)->tag = 30 ; ats_selptrset_mac(anairiats_sum_8, tmp417, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp417, atslab_1, arg2) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp417) ; return (tmp416) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 25996(line=1313, offs=1) -- 26096(line=1316, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staload: tmp419 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp419)->tag = 31 ; ats_selptrset_mac(anairiats_sum_7, tmp419, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp419, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp419, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp419, atslab_3, arg4) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp419) ; return (tmp418) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 26150(line=1321, offs=1) -- 26228(line=1323, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadnm (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadnm: tmp421 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp421)->tag = 32 ; ats_selptrset_mac(anairiats_sum_3, tmp421, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp421, atslab_1, arg2) ; tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp421) ; return (tmp420) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadnm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 26257(line=1327, offs=1) -- 26346(line=1329, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadloc: tmp423 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp423)->tag = 33 ; ats_selptrset_mac(anairiats_sum_11, tmp423, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp423, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp423, atslab_2, arg3) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp423) ; return (tmp422) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 26397(line=1335, offs=3) -- 26449(line=1335, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dynload: tmp425 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp425)->tag = 34 ; ats_selptrset_mac(anairiats_sum_2, tmp425, atslab_0, arg1) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp425) ; return (tmp424) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp1.dats: 26498(line=1341, offs=1) -- 26578(line=1343, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_local: tmp427 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp427)->tag = 35 ; ats_selptrset_mac(anairiats_sum_3, tmp427, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp427, atslab_1, arg2) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__d1ecl_make_node (arg0, tmp427) ; return (tmp426) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_local] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp123, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp124, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp125, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp124 = (ats_sum_ptr_type)0 ; statmp125 = (ats_sum_ptr_type)0 ; statmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make (statmp124, statmp125) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_nil, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_nil = statmp123 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp1_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_assgn_dats.c0000664000175000017500000025741412655455557021223 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALarrsub_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_assgn_tszeq_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_linsel_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_sharing_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_proof_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_context_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_reflinsel_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_refsharing_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_isnot_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr_proof_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_linsel_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_context_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_pfobj_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_sharing_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_linsel_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxck_tszeq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_void_type auxerr_nonderef_14 (ats_ptr_type arg0) ; static ats_void_type auxerr_refsharing_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_reflinsel_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux1_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type aux2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type aux3_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxerr_wrt_if_21 (ats_ptr_type arg0) ; static ats_void_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 1555(line=44, offs=18) -- 1585(line=44, offs=48) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_assgn")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_02046_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 2122(line=84, offs=1) -- 2431(line=93, offs=4) */ ATSstaticdec() ats_void_type auxerr_proof_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_auxerr_proof_1: /* tmp2 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": a non-proof component is replaced of the type")) ; /* tmp6 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp8 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp9 = */ atspre_prerr_newline () ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 59 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_2, arg2) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ; return /* (tmp1) */ ; } /* end of [auxerr_proof_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 2462(line=96, offs=1) -- 2773(line=105, offs=4) */ ATSstaticdec() ats_void_type auxerr_linsel_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_auxerr_linsel_3: /* tmp12 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp13 = */ atspre_prerr_string (ATSstrcst(": a linear component is abandoned of the type")) ; /* tmp14 = */ atspre_prerr_string (ATSstrcst(": [")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp16 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp17 = */ atspre_prerr_newline () ; tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp18)->tag = 57 ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_2, arg2) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp18) ; return /* (tmp11) */ ; } /* end of [auxerr_linsel_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 2805(line=108, offs=1) -- 3127(line=117, offs=4) */ ATSstaticdec() ats_void_type auxerr_context_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_auxerr_context_4: /* tmp20 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst(": the type of the selected component cannot be changed")) ; /* tmp22 = */ atspre_prerr_string (ATSstrcst(": [")) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp24 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp25 = */ atspre_prerr_newline () ; tmp26 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp26)->tag = 60 ; ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_2, arg2) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp26) ; return /* (tmp19) */ ; } /* end of [auxerr_context_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 3574(line=139, offs=3) -- 4001(line=160, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp28 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp29 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp29, atslab_0, arg2) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp29) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp28 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_3, tmp28, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp30) ; tmp32 = (ats_sum_ptr_type)0 ; if (tmp31) { /* tmp33 = */ auxerr_linsel_3 (arg0, tmp30, tmp32, tmp30) ; } else { /* empty */ } /* end of [if] */ tmp34 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_0, arg2) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp34) ; break ; } while (0) ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 4061(line=164, offs=3) -- 4813(line=191, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_bool_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (arg0, arg1) ; /* ats_ptr_type tmp37 ; */ tmp37 = (ats_sum_ptr_type)0 ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp36, arg2, (&tmp37)) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp38) ; tmp41 = atspre_neg_bool (tmp39) ; if (tmp41) { /* tmp40 = */ auxerr_proof_1 (arg0, tmp36, arg2, tmp38) ; } else { /* empty */ } /* end of [if] */ tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp38) ; if (tmp42) { /* tmp43 = */ auxerr_linsel_3 (arg0, tmp36, arg2, tmp38) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp44 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp44 = ats_false_bool ; break ; } while (0) ; tmp46 = atspre_neg_bool (tmp44) ; if (tmp46) { /* tmp45 = */ auxerr_context_4 (arg0, tmp36, arg2, tmp38) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp37, atslab_0) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp48, arg3) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp47 = tmp36 ; break ; } while (0) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp49, atslab_0, tmp47) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp49) ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 4872(line=195, offs=1) -- 5144(line=207, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01: /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0 (arg0, arg1, arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1 (arg0, arg1, arg2, arg3) ; break ; } while (0) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 5231(line=216, offs=1) -- 5547(line=231, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_auxerr_pfobj_8: /* tmp53 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp54 = */ atspre_prerr_string (ATSstrcst(": assignment cannot be performed")) ; /* tmp55 = */ atspre_prerr_string (ATSstrcst(": proof search for the view at [")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst("] failed.")) ; /* tmp58 = */ atspre_prerr_newline () ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp59)->tag = 53 ; ats_selptrset_mac(anairiats_sum_4, tmp59, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp59, atslab_1, arg1) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp59) ; return /* (tmp52) */ ; } /* end of [auxerr_pfobj_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 5578(line=234, offs=1) -- 5893(line=250, offs=4) */ ATSstaticdec() ats_void_type auxerr_sharing_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab_auxerr_sharing_9: /* tmp61 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp62 = */ atspre_prerr_string (ATSstrcst(": a boxed non-linear record is selected for field-update.")) ; /* tmp63 = */ atspre_prerr_newline () ; tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp64)->tag = 58 ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_2, arg2) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp64) ; return /* (tmp60) */ ; } /* end of [auxerr_sharing_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 5926(line=253, offs=1) -- 6309(line=268, offs=4) */ ATSstaticdec() ats_void_type auxerr_linsel_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_auxerr_linsel_10: /* tmp66 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp67 = */ atspre_prerr_string (ATSstrcst(": a linear component of the following type is abandoned: ")) ; /* tmp68 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp70 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp71 = */ atspre_prerr_newline () ; tmp72 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp72)->tag = 57 ; ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_2, arg2) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp72) ; return /* (tmp65) */ ; } /* end of [auxerr_linsel_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 6341(line=271, offs=1) -- 6926(line=295, offs=4) */ ATSstaticdec() ats_void_type auxck_tszeq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab_auxck_tszeq_11: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq (arg1, arg2) ; tmp75 = atspre_neg_bool (tmp74) ; if (tmp75) { /* tmp76 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp77 = */ atspre_prerr_string (ATSstrcst(": assignment cannot be performed")) ; /* tmp78 = */ atspre_prerr_string (ATSstrcst(": mismatch of bef/aft type-sizes:\n")) ; /* tmp79 = */ atspre_prerr_string (ATSstrcst("bef: [")) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp81 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp82 = */ atspre_prerr_newline () ; /* tmp83 = */ atspre_prerr_string (ATSstrcst("aft: [")) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp85 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp86 = */ atspre_prerr_newline () ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp87)->tag = 54 ; ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_2, arg2) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp87) ; } else { /* empty */ } /* end of [if] */ return /* (tmp73) */ ; } /* end of [auxck_tszeq_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 6956(line=298, offs=1) -- 8414(line=364, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (anairiats_rec_1, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_bool_type, tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab_auxmain_12: // tmp89 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_2) ; ATS_FREE(arg1) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp91 ; /* ats_int_type tmp92 ; */ tmp92 = 0 ; /* ats_int_type tmp93 ; */ tmp93 = 0 ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp91, arg2, (&tmp92), (&tmp93)) ; tmp95 = ats_select_mac(tmp94, atslab_0) ; tmp96 = ats_select_mac(tmp94, atslab_1) ; tmp98 = atspre_gt_int_int (tmp93, 0) ; if (tmp98) { /* tmp97 = */ auxerr_sharing_9 (arg0, tmp91, arg2) ; } else { /* empty */ } /* end of [if] */ tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp95) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp96) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp99) ; if (tmp101) { /* tmp102 = */ auxerr_linsel_10 (arg0, tmp91, arg2, tmp99) ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp103 ; */ tmp103 = (ats_sum_ptr_type)0 ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp91, arg2, (&tmp103)) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (tmp103 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_3, tmp103, atslab_0) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (arg3) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg3) ; /* tmp108 = */ auxck_tszeq_11 (arg0, tmp99, tmp107) ; /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp89) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp105, tmp107) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp90, tmp110) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_0, tmp111) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp89, tmp113) ; tmp88 = arg3 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp103 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (arg3, tmp99) ; break ; } while (0) ; return (tmp88) ; } /* end of [auxmain_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 8489(line=370, offs=1) -- 8865(line=387, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref: tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_3, tmp115, atslab_0) ; ATS_FREE(tmp115) ; tmp114 = auxmain_12 (arg0, tmp116, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp115 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp117 ; /* tmp118 = */ auxerr_pfobj_8 (arg0, arg1) ; tmp114 = arg3 ; break ; } while (0) ; return (tmp114) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 8953(line=395, offs=5) -- 9220(line=409, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonderef_14 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_auxerr_nonderef_14: tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d3exp_loc) ; /* tmp121 = */ prerr_error3_loc_02046_ (tmp120) ; /* tmp122 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression cannot be dereferenced.")) ; /* tmp123 = */ atspre_prerr_newline () ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp124)->tag = 52 ; ats_selptrset_mac(anairiats_sum_7, tmp124, atslab_0, arg0) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp124) ; return /* (tmp119) */ ; } /* end of [auxerr_nonderef_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 9254(line=412, offs=1) -- 9578(line=427, offs=4) */ ATSstaticdec() ats_void_type auxerr_refsharing_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_auxerr_refsharing_15: /* tmp126 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp127 = */ atspre_prerr_string (ATSstrcst(": a boxed non-linear record is selected for field-update.")) ; /* tmp128 = */ atspre_prerr_newline () ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp129)->tag = 66 ; ats_selptrset_mac(anairiats_sum_4, tmp129, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp129, atslab_1, arg2) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp129) ; return /* (tmp125) */ ; } /* end of [auxerr_refsharing_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 9614(line=430, offs=1) -- 9974(line=447, offs=4) */ ATSstaticdec() ats_void_type auxerr_reflinsel_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_auxerr_reflinsel_16: /* tmp131 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp132 = */ atspre_prerr_string (ATSstrcst(": a linear component of the following type is abandoned: ")) ; /* tmp133 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp135 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp136 = */ atspre_prerr_newline () ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp137)->tag = 65 ; ats_selptrset_mac(anairiats_sum_4, tmp137, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp137, atslab_1, arg2) ; /* tmp130 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp137) ; return /* (tmp130) */ ; } /* end of [auxerr_reflinsel_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 10009(line=449, offs=5) -- 10494(line=481, offs=4) */ ATSstaticdec() ats_ptr_type aux1_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab_aux1_17: tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp139 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp138 = aux2_18 (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp139 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_3, tmp139, atslab_0) ; ATS_FREE(tmp139) ; /* ats_ptr_type tmp141 ; */ tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref (arg0, tmp140, arg3, arg4, (&tmp141)) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr (arg0, arg2, tmp141, arg3, tmp142) ; break ; } while (0) ; return (tmp138) ; } /* end of [aux1_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 10517(line=483, offs=5) -- 11532(line=526, offs=4) */ ATSstaticdec() ats_ptr_type aux2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (anairiats_rec_1, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_bool_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_bool_type, tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; __ats_lab_aux2_18: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (arg1) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp144 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp145 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; ATS_FREE(tmp144) ; /* ats_int_type tmp146 ; */ tmp146 = 0 ; /* ats_int_type tmp147 ; */ tmp147 = 0 ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp145, arg3, (&tmp146), (&tmp147)) ; tmp149 = ats_select_mac(tmp148, atslab_0) ; tmp150 = ats_select_mac(tmp148, atslab_1) ; tmp152 = atspre_gt_int_int (tmp147, 0) ; if (tmp152) { /* tmp151 = */ auxerr_refsharing_15 (arg0, arg2, arg3) ; } else { /* empty */ } /* end of [if] */ tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp149) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp150) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp153) ; if (tmp155) { /* tmp156 = */ auxerr_reflinsel_16 (arg0, arg2, arg3, tmp153) ; } else { /* empty */ } /* end of [if] */ tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (arg4, tmp153) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (arg0) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ref (arg0, arg2, tmp145, arg3, tmp157) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp144 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp143 = aux3_19 (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp143) ; } /* end of [aux2_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 11555(line=528, offs=5) -- 11719(line=537, offs=4) */ ATSstaticdec() ats_ptr_type aux3_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; __ats_lab_aux3_19: /* tmp160 = */ auxerr_nonderef_14 (arg2) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (arg0) ; return (tmp159) ; } /* end of [aux3_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 11797(line=543, offs=3) -- 12290(line=564, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp162) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp162) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp165) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg3) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp167) ; tmp161 = aux1_17 (arg0, tmp166, tmp162, tmp164, tmp167) ; return (tmp161) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 12382(line=573, offs=1) -- 12569(line=584, offs=4) */ ATSstaticdec() ats_void_type auxerr_wrt_if_21 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_auxerr_wrt_if_21: tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt (arg0) ; tmp171 = atspre_gt_int_int (tmp170, 0) ; if (tmp171) { tmp172 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp172)->tag = 32 ; ats_selptrset_mac(anairiats_sum_7, tmp172, atslab_0, arg0) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp172) ; } else { /* empty */ } /* end of [if] */ return /* (tmp169) */ ; } /* end of [auxerr_wrt_if_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab_loop_24: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp214, atslab_0, tmp212) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp214 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp215 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp213 ; arg1 = arg1 ; arg2 = tmp215 ; goto __ats_lab_loop_24 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp217 = (ats_sum_ptr_type)0 ; tmp216 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_1, tmp217) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp216 ; break ; } while (0) ; return /* (tmp211) */ ; } /* end of [loop_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; // ATSlocal_void (tmp218) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp210 ; */ /* tmp218 = */ loop_24 (arg0, arg1, (&tmp210)) ; tmp209 = tmp210 ; return (tmp209) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 12647(line=590, offs=3) -- 15503(line=703, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_bool_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn: tmp174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp175)->tag != 42) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 12693(line=593, offs=5) -- 12733(line=593, offs=45)") ; } tmp176 = ats_caselptrlab_mac(anairiats_sum_4, tmp175, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_4, tmp175, atslab_1) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (tmp176) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp178)->tag != 2) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp179) ; if (tmp181 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_assgn.dats: 12932(line=609, offs=5) -- 12969(line=610, offs=26)") ; } tmp182 = ats_caselptrlab_mac(anairiats_sum_3, tmp181, atslab_0) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp180) ; /* ats_ptr_type tmp184 ; */ tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp177) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp185) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_assgn_deref (tmp174, tmp182, tmp183, tmp185, (&tmp184)) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_isnot_prf (tmp187) ; if (tmp189) { /* tmp188 = */ auxerr_wrt_if_21 (tmp174) ; } else { /* empty */ } /* end of [if] */ tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var (tmp174, tmp179, tmp184, tmp183, tmp187) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp178)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_17_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ; tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp176), atslab_d2exp_loc) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp191) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp177) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp194) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp194) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp190) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp197 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; tmp198 = tmp199 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp197 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; } while (0) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01 (tmp192, tmp190, tmp193, tmp196) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var (tmp174, tmp190, tmp198, tmp193, tmp194) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp178)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ; /* tmp203 = */ auxerr_wrt_if_21 (tmp174) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref (tmp174, tmp201, tmp202, tmp177) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp178)->tag != 4) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn (arg0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp178)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_22_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_1) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_3) ; tmp208 = list_extend_01337_ats_ptr_type (tmp206, tmp177) ; tmp207 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp207, atslab_0, tmp205) ; ats_selptrset_mac(anairiats_sum_10, tmp207, atslab_1, tmp208) ; tmp219 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp219)->tag = 1 ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_1, tmp174) ; ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_2, ats_castfn_mac(ats_ptr_type, tmp207)) ; tmp222 = (ats_sum_ptr_type)0 ; tmp221 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp221, atslab_0, tmp219) ; ats_selptrset_mac(anairiats_sum_10, tmp221, atslab_1, tmp222) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (arg0, tmp204, tmp221) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp220, tmp223) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld (tmp176) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (tmp224 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_3, tmp224, atslab_0) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top (tmp174) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root (tmp176) ; tmp231 = (ats_sum_ptr_type)0 ; tmp230 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp230, atslab_0, tmp177) ; ats_selptrset_mac(anairiats_sum_10, tmp230, atslab_1, tmp231) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp229, atslab_0, tmp227) ; ats_selptrset_mac(anairiats_sum_10, tmp229, atslab_1, tmp230) ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp228)->tag = 1 ; ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_1, tmp174) ; ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_2, tmp229) ; tmp234 = (ats_sum_ptr_type)0 ; tmp233 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_0, tmp228) ; ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_1, tmp234) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (tmp226, tmp225, tmp233) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp232, tmp235) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (tmp224 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp176), atslab_d2exp_loc) ; /* tmp237 = */ prerr_error3_loc_02046_ (tmp236) ; /* tmp238 = */ atspre_prerr_string (ATSstrcst(": a left-value is required but a non-left-value is given.")) ; /* tmp239 = */ atspre_prerr_newline () ; tmp241 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp241)->tag = 50 ; ats_selptrset_mac(anairiats_sum_7, tmp241, atslab_0, tmp176) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp241) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp174) ; break ; } while (0) ; break ; } while (0) ; return (tmp173) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_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 () ; #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_trans3_assgn_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_sort_dats.c0000664000175000017500000014652112655455557021071 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s1rt_loc ; ats_ptr_type atslab_s1rt_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s0rt_loc ; ats_ptr_type atslab_s0rt_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_a0srt_loc ; ats_ptr_type atslab_a0srt_sym ; ats_ptr_type atslab_a0srt_srt ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_a0msrt_loc ; ats_ptr_type atslab_a0msrt_arg ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_d0atsrtcon_loc ; ats_ptr_type atslab_d0atsrtcon_sym ; ats_ptr_type atslab_d0atsrtcon_arg ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_d0atsrtdec_loc ; ats_ptr_type atslab_d0atsrtdec_sym ; ats_ptr_type atslab_d0atsrtdec_con ; } anairiats_rec_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTlist_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTtype_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0rt_tr_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app) (ats_ptr_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_qid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_type) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtcon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1srt_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1msrt_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0srt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02042_ () ; static ats_ptr_type appf_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type appf_1_closure_make () ; static ats_ptr_type appf_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1rtitm_app_2 (ats_ptr_type arg0) ; static ats_ptr_type s1rt_get_loc_3 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_5_closure_make () ; static ats_ptr_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1rt_make_opr_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_7 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_8_closure_make () ; static ats_ptr_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1rtitm_backslash_6 (ats_ptr_type arg0) ; static ats_void_type prerr_error1_loc_02045_ (ats_ptr_type arg0) ; static ats_ptr_type s0rt_tr_errmsg_opr_9 (ats_ptr_type arg0) ; static ats_ptr_type aux_item_12 (ats_ptr_type arg0) ; static ats_ptr_type loop_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_itemlst_13 (ats_ptr_type arg0) ; static ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d0atsrtcon_tr_23 (ats_ptr_type arg0) ; static ats_ptr_type d0atsrtconlst_tr_24 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 1801(line=53, offs=28) -- 1830(line=53, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02042_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02042_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_sort")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02042_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 2280(line=82, offs=4) -- 2580(line=93, offs=4) */ ATSstaticdec() ats_ptr_type appf_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_appf_1: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s1rt_loc) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_s1rt_loc) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp3, tmp4) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_s1rt_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp6)->tag != 1) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_0) ; tmp5 = tmp7 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp8 = (ats_sum_ptr_type)0 ; tmp5 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp5, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp5, atslab_1, tmp8) ; break ; } while (0) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app (tmp2, arg0, tmp5) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp1)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp1, atslab_0, tmp9) ; return (tmp1) ; } /* end of [appf_1] */ typedef struct { ats_fun_ptr_type closure_fun ; } appf_1_closure_type ; ats_ptr_type appf_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return appf_1 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type appf_1_closure_init (appf_1_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&appf_1_clofun ; return ; } /* end of function */ ats_clo_ptr_type appf_1_closure_make () { appf_1_closure_type *p_clo = ATS_MALLOC(sizeof(appf_1_closure_type)) ; appf_1_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 2623(line=97, offs=4) -- 2685(line=98, offs=51) */ ATSstaticdec() ats_ptr_type s1rtitm_app_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_s1rtitm_app_2: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (arg0, appf_1_closure_make ()) ; return (tmp10) ; } /* end of [s1rtitm_app_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 2758(line=105, offs=4) -- 2803(line=105, offs=49) */ ATSstaticdec() ats_ptr_type s1rt_get_loc_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_s1rt_get_loc_3: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s1rt_loc) ; return (tmp11) ; } /* end of [s1rt_get_loc_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 2908(line=112, offs=5) -- 2963(line=112, offs=60) */ ATSstaticdec() ats_ptr_type __ats_fun_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab___ats_fun_5: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app (arg0, arg1, arg3) ; return (tmp13) ; } /* end of [__ats_fun_5] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_5_closure_type ; ats_ptr_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_5 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_5_closure_init (__ats_fun_5_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_5_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_5_closure_make () { __ats_fun_5_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_5_closure_type)) ; __ats_fun_5_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 2808(line=107, offs=4) -- 3004(line=115, offs=4) */ ATSstaticdec() ats_ptr_type s1rt_make_opr_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_s1rt_make_opr_4: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (&s1rt_get_loc_3, __ats_fun_5_closure_make (), arg0, arg1) ; return (tmp12) ; } /* end of [s1rt_make_opr_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3119(line=120, offs=5) -- 3138(line=120, offs=24) */ ATSstaticdec() ats_ptr_type __ats_fun_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; __ats_lab___ats_fun_7: tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s1rt_loc) ; return (tmp15) ; } /* end of [__ats_fun_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3143(line=121, offs=5) -- 3198(line=121, offs=60) */ ATSstaticdec() ats_ptr_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; __ats_lab___ats_fun_8: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app (arg0, arg1, arg3) ; return (tmp16) ; } /* end of [__ats_fun_8] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_8_closure_type ; ats_ptr_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_8 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_8_closure_init (__ats_fun_8_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_8_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_8_closure_make () { __ats_fun_8_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_8_closure_type)) ; __ats_fun_8_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3035(line=117, offs=4) -- 3250(line=124, offs=4) */ ATSstaticdec() ats_ptr_type s1rtitm_backslash_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_s1rtitm_backslash_6: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (&__ats_fun_7, __ats_fun_8_closure_make (), arg0) ; return (tmp14) ; } /* end of [s1rtitm_backslash_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02045_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab_prerr_error1_loc_02045_: /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp20 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp20) */ ; } /* end of [prerr_error1_loc_02045_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3313(line=130, offs=4) -- 3581(line=139, offs=4) */ ATSstaticdec() ats_ptr_type s0rt_tr_errmsg_opr_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_s0rt_tr_errmsg_opr_9: tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0rt_loc) ; /* tmp19 = */ prerr_error1_loc_02045_ (tmp18) ; /* tmp22 = */ atspre_prerr_string (ATSstrcst(": the operator needs to be applied.")) ; /* tmp23 = */ atspre_prerr_newline () ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp25)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp25, atslab_0, arg0) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp25) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_err (tmp18) ; return (tmp17) ; } /* end of [s0rt_tr_errmsg_opr_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3675(line=145, offs=5) -- 4476(line=167, offs=4) */ ATSstaticdec() ats_ptr_type aux_item_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_aux_item_12: tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0rt_loc) ; tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0rt_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp29)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp31 = s1rtitm_app_2 (tmp28) ; tmp32 = aux_itemlst_13 (arg0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (tmp28, &s1rt_get_loc_3, tmp31, tmp32) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp27, atslab_0, tmp30) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp29)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp29, atslab_0) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp33, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; if (!tmp34) { goto __ats_lab_4_1 ; } tmp27 = s1rtitm_backslash_6 (tmp28) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp29)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_2, tmp29, atslab_0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp35) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp36 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_5, tmp36, atslab_0) ; ATS_FREE(tmp36) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide (tmp28, tmp35) ; tmp27 = s1rt_make_opr_4 (tmp38, tmp37) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp36 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide (tmp28, tmp35) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp27, atslab_0, tmp39) ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp29)->tag != 3) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_2, tmp29, atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtlst_tr (tmp40) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_list (tmp28, tmp42) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp27, atslab_0, tmp41) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp29)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp29, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp29, atslab_1) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_qid (tmp28, tmp43, tmp44) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp27, atslab_0, tmp45) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)tmp29)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_7, tmp29, atslab_0) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_type (tmp28, tmp46) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp27, atslab_0, tmp47) ; break ; } while (0) ; return (tmp27) ; } /* end of [aux_item_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 4556(line=171, offs=7) -- 4816(line=178, offs=42) */ ATSstaticdec() ats_ptr_type loop_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab_loop_14: tmp50 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0rt_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp50)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_6, tmp50, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_6, tmp50, atslab_1) ; tmp54 = aux_item_12 (tmp52) ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp53, atslab_0, tmp54) ; ats_selptrset_mac(anairiats_sum_3, tmp53, atslab_1, arg1) ; arg0 = tmp51 ; arg1 = tmp53 ; goto __ats_lab_loop_14 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp55 = aux_item_12 (arg0) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp49, atslab_0, tmp55) ; ats_selptrset_mac(anairiats_sum_3, tmp49, atslab_1, arg1) ; break ; } while (0) ; return (tmp49) ; } /* end of [loop_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 4505(line=169, offs=5) -- 4883(line=182, offs=4) */ ATSstaticdec() ats_ptr_type aux_itemlst_13 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab_aux_itemlst_13: tmp56 = (ats_sum_ptr_type)0 ; tmp48 = loop_14 (arg0, tmp56) ; return (tmp48) ; } /* end of [aux_itemlst_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 3655(line=143, offs=19) -- 5033(line=190, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr: tmp57 = aux_item_12 (arg0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp57)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_2, tmp57, atslab_0) ; tmp26 = tmp58 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)tmp57)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp26 = s0rt_tr_errmsg_opr_9 (arg0) ; break ; } while (0) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_loop_18: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp66 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp64, arg3) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp67, atslab_0, tmp66) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp67 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp68 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp65 ; arg1 = arg1 ; arg2 = tmp68 ; arg3 = arg3 ; goto __ats_lab_loop_18 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp69 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp69 ; break ; } while (0) ; return /* (tmp63) */ ; } /* end of [loop_18] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp70 ; */ /* tmp71 = */ loop_18 (arg0, arg1, (&tmp70), arg2) ; tmp62 = tmp70 ; return (tmp62) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp61 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp61) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5099(line=195, offs=12) -- 5141(line=195, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtlst_tr: tmp60 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr) ; tmp59 = ats_castfn_mac(ats_ptr_type, tmp60) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5165(line=198, offs=12) -- 5245(line=199, offs=70) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp73) ; tmp72 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp72, atslab_0, tmp74) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp72 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5310(line=204, offs=20) -- 5378(line=205, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0srt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0srt_tr: tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a0srt_loc) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a0srt_sym) ; tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a0srt_srt) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp79) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1srt_make (tmp76, tmp77, tmp78) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0srt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5421(line=209, offs=11) -- 5527(line=213, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrt_tr: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_a0msrt_arg) ; tmp81 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp82, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0srt_tr) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_a0msrt_loc) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1msrt_make (tmp83, ats_castfn_mac(ats_ptr_type, tmp81)) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5574(line=215, offs=24) -- 5614(line=215, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr: tmp85 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrt_tr) ; tmp84 = ats_castfn_mac(ats_ptr_type, tmp85) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 5648(line=221, offs=4) -- 6080(line=235, offs=4) */ ATSstaticdec() ats_ptr_type d0atsrtcon_tr_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab_d0atsrtcon_tr_23: tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0atsrtcon_loc) ; tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0atsrtcon_sym) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0atsrtcon_arg) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp90 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_18_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_5, tmp90, atslab_0) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp91) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp92), atslab_s1rt_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp93)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_2, tmp93, atslab_0) ; tmp89 = tmp94 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp95 = (ats_sum_ptr_type)0 ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp89, atslab_0, tmp92) ; ats_selptrset_mac(anairiats_sum_3, tmp89, atslab_1, tmp95) ; break ; } while (0) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp90 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp89 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtcon_make (tmp87, tmp88, tmp89) ; return (tmp86) ; } /* end of [d0atsrtcon_tr_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 6111(line=237, offs=4) -- 6207(line=239, offs=41) */ ATSstaticdec() ats_ptr_type d0atsrtconlst_tr_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab_d0atsrtconlst_tr_24: tmp97 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &d0atsrtcon_tr_23) ; tmp96 = ats_castfn_mac(ats_ptr_type, tmp97) ; return (tmp96) ; } /* end of [d0atsrtconlst_tr_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_sort.dats: 6254(line=244, offs=15) -- 6418(line=250, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atsrtdec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atsrtdec_tr: tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d0atsrtdec_loc) ; tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d0atsrtdec_sym) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d0atsrtdec_con) ; tmp101 = d0atsrtconlst_tr_24 (tmp102) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtdec_make (tmp99, tmp100, tmp101) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atsrtdec_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_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 () ; #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_trans1_sort_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_fixity_fxty_dats.c0000664000175000017500000023505112655455557021175 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_clo_ref_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_clo_ref_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYnon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpre_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpos_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRinf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpos_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__backslash_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__infixtemp_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_prec_dyn) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_non) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__selptr_fxty_dyn) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_fxty_dyn) ; /* internal function declarations */ static ats_ptr_type f_12 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type f_12_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) ; static ats_ptr_type f_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_inf_11 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type aux_inf_11_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type aux_inf_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type f_14 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type arg0) ; static ats_clo_ptr_type f_14_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_ptr_type f_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_pre_13 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_pre_13_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) ; static ats_ptr_type aux_pre_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type f_16 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type arg0) ; static ats_clo_ptr_type f_16_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) ; static ats_ptr_type f_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_pos_15 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_pos_15_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) ; static ats_ptr_type aux_pos_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type f2_19 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type f2_19_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) ; static ats_ptr_type f2_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f1_18 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type f1_18_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) ; static ats_ptr_type f1_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type erropr_21 (ats_ptr_type arg0) ; static ats_ptr_type errapp_22 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type err_reduce_23 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type resolve_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type resolve_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type resolve_24_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type resolve_opr_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_clo_ptr_type resolve_opr_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type resolve_opr_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type resolve_app_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type resolve_app_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type resolve_app_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type reduce_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type reduce_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type reduce_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type pushup_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type pushup_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type pushup_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_int_type arg0, ...) ; static ats_clo_ptr_type resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ...) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp19) ; ATSstatic (ats_ptr_type, statmp20) ; ATSstatic (ats_ptr_type, statmp21) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 1663(line=54, offs=3) -- 2194(line=70, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("FXTYnon()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("FXTYinf(")) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec (tmp1) ; /* tmp3 = */ atspre_fprint_int (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("FXTYpre(")) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec (tmp5) ; /* tmp7 = */ atspre_fprint_int (arg0, tmp8) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst("FXTYpos(")) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__int_of_prec (tmp9) ; /* tmp11 = */ atspre_fprint_int (arg0, tmp12) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2241(line=72, offs=22) -- 2274(line=72, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__print_fxty (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__print_fxty: /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty (stdout, arg0) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__print_fxty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2296(line=73, offs=22) -- 2329(line=73, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prerr_fxty (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prerr_fxty: /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty (stderr, arg0) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prerr_fxty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2403(line=78, offs=20) -- 2426(line=78, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_inf (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_inf: tmp16 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp16)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_1, arg1) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_inf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2446(line=79, offs=20) -- 2461(line=79, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pre (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pre: tmp17 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp17)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp17, atslab_0, arg0) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pre] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2481(line=80, offs=20) -- 2496(line=80, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pos (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pos: tmp18 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp18)->tag = 3 ; ats_selptrset_mac(anairiats_sum_1, tmp18, atslab_0, arg0) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pos] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2680(line=93, offs=3) -- 2823(line=97, offs=29) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_get_prec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_get_prec: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp22 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, tmp23) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, tmp24) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, tmp25) ; break ; } while (0) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_get_prec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 2902(line=103, offs=21) -- 2973(line=105, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp26 = tmp27 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp26 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; break ; } while (0) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3042(line=108, offs=18) -- 3142(line=110, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_int_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp28 = tmp29 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp28 = tmp30 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp28 = tmp31 ; break ; } while (0) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3300(line=121, offs=11) -- 3360(line=121, offs=71) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (ats_ptr_type arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app: tmp34 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp33)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp33, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec) ; ats_selptrset_mac(anairiats_sum_3, tmp33, atslab_1, tmp34) ; ats_selptrset_mac(anairiats_sum_3, tmp33, atslab_2, arg1) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp32)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_1, tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3579(line=137, offs=8) -- 3740(line=141, offs=8) */ ATSstaticdec() ats_ptr_type f_12 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_f_12: tmp40 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp41 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg1) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp40, tmp41) ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp43, atslab_0, arg0) ; tmp44 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp43), atslab_1) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp45, atslab_0, arg1) ; ats_ptrget_mac(ats_ptr_type, tmp44) = tmp45 ; tmp44 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp45), atslab_1) ; tmp45 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp44) = tmp45 ; tmp42 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(env1))) (env1, tmp39, env2, tmp39, tmp43) ; tmp38 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp38)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp38, atslab_0, tmp42) ; return (tmp38) ; } /* end of [f_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f_12_closure_type ; ats_ptr_type f_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return f_12 (((f_12_closure_type*)cloptr)->closure_env_0, ((f_12_closure_type*)cloptr)->closure_env_1, ((f_12_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type f_12_closure_init (f_12_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f_12_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { f_12_closure_type *p_clo = ATS_MALLOC(sizeof(f_12_closure_type)) ; f_12_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3503(line=134, offs=6) -- 3811(line=144, offs=6) */ ATSstaticdec() ats_ptr_type aux_inf_11 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_aux_inf_11: tmp46 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp47)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp47, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp47, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp47, atslab_2, f_12_closure_make (env0, env1, arg0)) ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp37)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp37, atslab_0, tmp46) ; ats_selptrset_mac(anairiats_sum_5, tmp37, atslab_1, tmp47) ; return (tmp37) ; } /* end of [aux_inf_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_inf_11_closure_type ; ats_ptr_type aux_inf_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { return aux_inf_11 (((aux_inf_11_closure_type*)cloptr)->closure_env_0, ((aux_inf_11_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type aux_inf_11_closure_init (aux_inf_11_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_inf_11_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_inf_11_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_inf_11_closure_type *p_clo = ATS_MALLOC(sizeof(aux_inf_11_closure_type)) ; aux_inf_11_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3906(line=149, offs=8) -- 4079(line=154, offs=8) */ ATSstaticdec() ats_ptr_type f_14 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab_f_14: tmp50 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env2, tmp50) ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp53, atslab_0, arg0) ; tmp54 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp53), atslab_1) ; tmp55 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp54) = tmp55 ; tmp52 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(env1))) (env1, tmp51, env3, tmp50, tmp53) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp49)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp49, atslab_0, tmp52) ; return (tmp49) ; } /* end of [f_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } f_14_closure_type ; ats_ptr_type f_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_14 (((f_14_closure_type*)cloptr)->closure_env_0, ((f_14_closure_type*)cloptr)->closure_env_1, ((f_14_closure_type*)cloptr)->closure_env_2, ((f_14_closure_type*)cloptr)->closure_env_3, arg0) ; } /* end of function */ ATSinline() ats_void_type f_14_closure_init (f_14_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&f_14_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type f_14_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) { f_14_closure_type *p_clo = ATS_MALLOC(sizeof(f_14_closure_type)) ; f_14_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3840(line=146, offs=6) -- 4147(line=157, offs=6) */ ATSstaticdec() ats_ptr_type aux_pre_13 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_aux_pre_13: tmp56 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp57)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_1, f_14_closure_make (env0, env1, env2, arg0)) ; tmp48 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp48)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_0, tmp56) ; ats_selptrset_mac(anairiats_sum_5, tmp48, atslab_1, tmp57) ; return (tmp48) ; } /* end of [aux_pre_13] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_pre_13_closure_type ; ats_ptr_type aux_pre_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { return aux_pre_13 (((aux_pre_13_closure_type*)cloptr)->closure_env_0, ((aux_pre_13_closure_type*)cloptr)->closure_env_1, ((aux_pre_13_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_pre_13_closure_init (aux_pre_13_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_pre_13_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_pre_13_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { aux_pre_13_closure_type *p_clo = ATS_MALLOC(sizeof(aux_pre_13_closure_type)) ; aux_pre_13_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 4242(line=162, offs=8) -- 4415(line=167, offs=8) */ ATSstaticdec() ats_ptr_type f_16 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_f_16: tmp60 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp60, env2) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp63, atslab_0, arg0) ; tmp64 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp63), atslab_1) ; tmp65 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp64) = tmp65 ; tmp62 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(env1))) (env1, tmp61, env3, tmp60, tmp63) ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp59)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp59, atslab_0, tmp62) ; return (tmp59) ; } /* end of [f_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; } f_16_closure_type ; ats_ptr_type f_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_16 (((f_16_closure_type*)cloptr)->closure_env_0, ((f_16_closure_type*)cloptr)->closure_env_1, ((f_16_closure_type*)cloptr)->closure_env_2, ((f_16_closure_type*)cloptr)->closure_env_3, arg0) ; } /* end of function */ ATSinline() ats_void_type f_16_closure_init (f_16_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) { p_clo->closure_fun = (ats_fun_ptr_type)&f_16_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; return ; } /* end of function */ ats_clo_ptr_type f_16_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type env3) { f_16_closure_type *p_clo = ATS_MALLOC(sizeof(f_16_closure_type)) ; f_16_closure_init (p_clo, env0, env1, env2, env3) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 4176(line=159, offs=6) -- 4483(line=170, offs=6) */ ATSstaticdec() ats_ptr_type aux_pos_15 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_aux_pos_15: tmp66 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp67)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_1, f_16_closure_make (env0, env1, env2, arg0)) ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp58)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp58, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_5, tmp58, atslab_1, tmp67) ; return (tmp58) ; } /* end of [aux_pos_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_pos_15_closure_type ; ats_ptr_type aux_pos_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { return aux_pos_15 (((aux_pos_15_closure_type*)cloptr)->closure_env_0, ((aux_pos_15_closure_type*)cloptr)->closure_env_1, ((aux_pos_15_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_pos_15_closure_init (aux_pos_15_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_pos_15_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_pos_15_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { aux_pos_15_closure_type *p_clo = ATS_MALLOC(sizeof(aux_pos_15_closure_type)) ; aux_pos_15_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 3433(line=128, offs=16) -- 4669(line=180, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (ats_ptr_type arg0, ats_clo_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make: tmp36 = ((ats_ptr_type(*)(ats_ptr_type))arg0) (arg2) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg3)->tag != 0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp35 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp35)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp35, atslab_0, arg2) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg3)->tag != 1) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_0) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_1) ; tmp35 = aux_inf_11 (arg0, arg1, arg2, tmp68, tmp69) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg3)->tag != 2) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp35 = aux_pre_13 (arg0, arg1, tmp36, arg2, tmp70) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)arg3)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp35 = aux_pos_15 (arg0, arg1, tmp36, arg2, tmp71) ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 4872(line=189, offs=8) -- 5032(line=193, offs=8) */ ATSstaticdec() ats_ptr_type f2_19 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab_f2_19: tmp78 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp79 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg1) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp78, tmp79) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp81, atslab_0, arg0) ; tmp82 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp81), atslab_1) ; tmp83 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp83, atslab_0, arg1) ; ats_ptrget_mac(ats_ptr_type, tmp82) = tmp83 ; tmp82 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_7, tmp83), atslab_1) ; tmp83 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp82) = tmp83 ; tmp80 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(env1))) (env1, tmp77, env2, tmp77, tmp81) ; tmp76 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp76)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp76, atslab_0, tmp80) ; return (tmp76) ; } /* end of [f2_19] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f2_19_closure_type ; ats_ptr_type f2_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return f2_19 (((f2_19_closure_type*)cloptr)->closure_env_0, ((f2_19_closure_type*)cloptr)->closure_env_1, ((f2_19_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type f2_19_closure_init (f2_19_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f2_19_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f2_19_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { f2_19_closure_type *p_clo = ATS_MALLOC(sizeof(f2_19_closure_type)) ; f2_19_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 4781(line=187, offs=6) -- 5118(line=196, offs=6) */ ATSstaticdec() ats_ptr_type f1_18 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab_f1_18: tmp75 = ((ats_ptr_type(*)(ats_ptr_type))env0) (arg0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env2, tmp75) ; tmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp84)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp84, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__infixtemp_prec) ; ats_selptrset_mac(anairiats_sum_3, tmp84, atslab_1, tmp85) ; ats_selptrset_mac(anairiats_sum_3, tmp84, atslab_2, f2_19_closure_make (env0, env1, arg0)) ; tmp73 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp73)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp73, atslab_0, tmp74) ; ats_selptrset_mac(anairiats_sum_5, tmp73, atslab_1, tmp84) ; return (tmp73) ; } /* end of [f1_18] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f1_18_closure_type ; ats_ptr_type f1_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f1_18 (((f1_18_closure_type*)cloptr)->closure_env_0, ((f1_18_closure_type*)cloptr)->closure_env_1, ((f1_18_closure_type*)cloptr)->closure_env_2, arg0) ; } /* end of function */ ATSinline() ats_void_type f1_18_closure_init (f1_18_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f1_18_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f1_18_closure_make (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type env2) { f1_18_closure_type *p_clo = ATS_MALLOC(sizeof(f1_18_closure_type)) ; f1_18_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 4752(line=186, offs=7) -- 5188(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (ats_ptr_type arg0, ats_clo_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash: tmp86 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp86)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp86, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__backslash_prec) ; ats_selptrset_mac(anairiats_sum_4, tmp86, atslab_1, f1_18_closure_make (arg0, arg1, arg2)) ; tmp72 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp72)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp72, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp72, atslab_1, tmp86) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 5547(line=222, offs=4) -- 5770(line=231, offs=4) */ ATSstaticdec() ats_ptr_type erropr_21 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab_erropr_21: /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp90 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; /* tmp91 = */ atspre_prerr_string (ATSstrcst(": operator fixity cannot be resolved.")) ; /* tmp92 = */ atspre_prerr_newline () ; tmp93 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; /* tmp88 = */ ats_raise_exn (tmp93) ; return (tmp88) ; } /* end of [erropr_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 5796(line=233, offs=4) -- 6069(line=243, offs=4) */ ATSstaticdec() ats_ptr_type errapp_22 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab_errapp_22: if (((ats_sum_ptr_type)arg1)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 5857(line=236, offs=7) -- 5873(line=236, offs=23)") ; } tmp95 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp97 = ((ats_ptr_type(*)(ats_ptr_type))arg0) (tmp95) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp97) ; /* tmp98 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; /* tmp99 = */ atspre_prerr_string (ATSstrcst(": application fixity cannot be resolved.")) ; /* tmp100 = */ atspre_prerr_newline () ; tmp101 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; /* tmp94 = */ ats_raise_exn (tmp101) ; return (tmp94) ; } /* end of [errapp_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 6095(line=245, offs=4) -- 6329(line=254, offs=4) */ ATSstaticdec() ats_ptr_type err_reduce_23 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab_err_reduce_23: /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp104 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; /* tmp105 = */ atspre_prerr_string (ATSstrcst(": operator fixity cannot be resolved.")) ; /* tmp106 = */ atspre_prerr_newline () ; tmp107 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; /* tmp102 = */ ats_raise_exn (tmp107) ; return (tmp102) ; } /* end of [err_reduce_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 6398(line=259, offs=5) -- 6702(line=269, offs=61) */ ATSstaticdec() ats_ptr_type resolve_24 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; tmp207 = resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (env0, env1, env2, 0, arg0, arg1, arg2) ; return (tmp207) ; } /* end of [resolve_24] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } resolve_24_closure_type ; ats_ptr_type resolve_24_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { return resolve_24 (((resolve_24_closure_type*)cloptr)->closure_env_0, ((resolve_24_closure_type*)cloptr)->closure_env_1, ((resolve_24_closure_type*)cloptr)->closure_env_2, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type resolve_24_closure_init (resolve_24_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&resolve_24_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type resolve_24_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { resolve_24_closure_type *p_clo = ATS_MALLOC(sizeof(resolve_24_closure_type)) ; resolve_24_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 6733(line=272, offs=5) -- 7926(line=307, offs=2) */ ATSstaticdec() ats_ptr_type resolve_opr_25 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; tmp208 = resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (env0, env1, env2, 1, arg0, arg1, arg2, arg3, arg4) ; return (tmp208) ; } /* end of [resolve_opr_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } resolve_opr_25_closure_type ; ats_ptr_type resolve_opr_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { return resolve_opr_25 (((resolve_opr_25_closure_type*)cloptr)->closure_env_0, ((resolve_opr_25_closure_type*)cloptr)->closure_env_1, ((resolve_opr_25_closure_type*)cloptr)->closure_env_2, arg0, arg1, arg2, arg3, arg4) ; } /* end of function */ ATSinline() ats_void_type resolve_opr_25_closure_init (resolve_opr_25_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&resolve_opr_25_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type resolve_opr_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { resolve_opr_25_closure_type *p_clo = ATS_MALLOC(sizeof(resolve_opr_25_closure_type)) ; resolve_opr_25_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 7961(line=309, offs=5) -- 8634(line=331, offs=2) */ ATSstaticdec() ats_ptr_type resolve_app_26 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp209) ; tmp209 = resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (env0, env1, env2, 2, arg0, arg1, arg2) ; return (tmp209) ; } /* end of [resolve_app_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } resolve_app_26_closure_type ; ats_ptr_type resolve_app_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { return resolve_app_26 (((resolve_app_26_closure_type*)cloptr)->closure_env_0, ((resolve_app_26_closure_type*)cloptr)->closure_env_1, ((resolve_app_26_closure_type*)cloptr)->closure_env_2, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type resolve_app_26_closure_init (resolve_app_26_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&resolve_app_26_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type resolve_app_26_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { resolve_app_26_closure_type *p_clo = ATS_MALLOC(sizeof(resolve_app_26_closure_type)) ; resolve_app_26_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 8669(line=333, offs=5) -- 9033(line=342, offs=2) */ ATSstaticdec() ats_ptr_type reduce_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; tmp210 = resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (env0, env1, env2, 3, arg0, arg1) ; return (tmp210) ; } /* end of [reduce_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } reduce_27_closure_type ; ats_ptr_type reduce_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return reduce_27 (((reduce_27_closure_type*)cloptr)->closure_env_0, ((reduce_27_closure_type*)cloptr)->closure_env_1, ((reduce_27_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type reduce_27_closure_init (reduce_27_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&reduce_27_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type reduce_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { reduce_27_closure_type *p_clo = ATS_MALLOC(sizeof(reduce_27_closure_type)) ; reduce_27_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 9063(line=344, offs=5) -- 9242(line=349, offs=41) */ ATSstaticdec() ats_ptr_type pushup_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; tmp211 = resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (env0, env1, env2, 4, arg0, arg1) ; return (tmp211) ; } /* end of [pushup_28] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } pushup_28_closure_type ; ats_ptr_type pushup_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return pushup_28 (((pushup_28_closure_type*)cloptr)->closure_env_0, ((pushup_28_closure_type*)cloptr)->closure_env_1, ((pushup_28_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type pushup_28_closure_init (pushup_28_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&pushup_28_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type pushup_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { pushup_28_closure_type *p_clo = ATS_MALLOC(sizeof(pushup_28_closure_type)) ; pushup_28_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 6398(line=259, offs=5) -- 9242(line=349, offs=41) */ ATSstaticdec() ats_ptr_type resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_int_type arg0, ...) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_clo_ref_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_clo_ref_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_clo_ref_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; va_list funarg ; switch (arg0) { case 0: va_start(funarg, arg0) ; tmp108 = va_arg(funarg, ats_ptr_type) ; tmp109 = va_arg(funarg, ats_ptr_type) ; tmp110 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_resolve_24 ; case 1: va_start(funarg, arg0) ; tmp111 = va_arg(funarg, ats_ptr_type) ; tmp112 = va_arg(funarg, ats_ptr_type) ; tmp113 = va_arg(funarg, ats_ptr_type) ; tmp114 = va_arg(funarg, ats_ptr_type) ; tmp115 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_resolve_opr_25 ; case 2: va_start(funarg, arg0) ; tmp116 = va_arg(funarg, ats_ptr_type) ; tmp117 = va_arg(funarg, ats_ptr_type) ; tmp118 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_resolve_app_26 ; case 3: va_start(funarg, arg0) ; tmp119 = va_arg(funarg, ats_ptr_type) ; tmp120 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_reduce_27 ; case 4: va_start(funarg, arg0) ; tmp121 = va_arg(funarg, ats_ptr_type) ; tmp122 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_pushup_28 ; default: exit(1) ; /* deadcode */ } /* end of switch */ ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; __ats_lab_resolve_24: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp109)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_17_1: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp110 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } tmp124 = ats_caselptrlab_mac(anairiats_sum_7, tmp110, atslab_0) ; if (((ats_sum_ptr_type)tmp124)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp116 = tmp108 ; tmp117 = tmp109 ; tmp118 = tmp110 ; goto __ats_lab_resolve_app_26 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp125 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp125, atslab_0, tmp109) ; ats_selptrset_mac(anairiats_sum_7, tmp125, atslab_1, tmp110) ; tmp121 = tmp108 ; tmp122 = tmp125 ; goto __ats_lab_pushup_28 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)tmp109)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_5, tmp109, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_5, tmp109, atslab_1) ; tmp111 = tmp126 ; tmp112 = tmp127 ; tmp113 = tmp108 ; tmp114 = tmp109 ; tmp115 = tmp110 ; goto __ats_lab_resolve_opr_25 ; // tail call break ; } while (0) ; return tmp123 ; __ats_lab_resolve_opr_25: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp112)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_22_1 ; } tmp129 = ats_caselptrlab_mac(anairiats_sum_7, tmp115, atslab_1) ; if (tmp129 != (ats_sum_ptr_type)0) { goto __ats_lab_22_1 ; } __ats_lab_21_2: tmp130 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_1, tmp115) ; tmp121 = tmp113 ; tmp122 = tmp130 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp112)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_22_1: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_35_1 ; } tmp131 = ats_caselptrlab_mac(anairiats_sum_7, tmp115, atslab_1) ; if (tmp131 == (ats_sum_ptr_type)0) { goto __ats_lab_35_1 ; } tmp132 = ats_caselptrlab_mac(anairiats_sum_7, tmp131, atslab_0) ; if (((ats_sum_ptr_type)tmp132)->tag != 1) { goto __ats_lab_35_1 ; } __ats_lab_22_2: tmp133 = ats_caselptrlab_mac(anairiats_sum_5, tmp132, atslab_1) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (tmp112) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (tmp133) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec (tmp134, tmp135) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp136 != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp137 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp137, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp137, atslab_1, tmp115) ; tmp121 = tmp113 ; tmp122 = tmp137 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp136 != -1) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp138 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp138, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp138, atslab_1, tmp113) ; tmp119 = tmp138 ; tmp120 = tmp115 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity (tmp112) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity (tmp133) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp139)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: if (((ats_sum_ptr_type)tmp140)->tag != 1) { goto __ats_lab_28_1 ; } __ats_lab_26_2: tmp141 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp141, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp141, atslab_1, tmp113) ; tmp119 = tmp141 ; tmp120 = tmp115 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp139)->tag != 2) { goto __ats_lab_28_0 ; } __ats_lab_27_1: if (((ats_sum_ptr_type)tmp140)->tag != 2) { goto __ats_lab_28_1 ; } __ats_lab_27_2: tmp142 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp142, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp142, atslab_1, tmp115) ; tmp121 = tmp113 ; tmp122 = tmp142 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: __ats_lab_28_2: tmp128 = erropr_21 (tmp111) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp112)->tag != 1) { goto __ats_lab_30_0 ; } __ats_lab_29_1: __ats_lab_29_2: tmp143 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp143, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp143, atslab_1, tmp115) ; tmp121 = tmp113 ; tmp122 = tmp143 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp112)->tag != 2) { goto __ats_lab_34_0 ; } __ats_lab_30_1: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_34_1 ; } tmp144 = ats_caselptrlab_mac(anairiats_sum_7, tmp115, atslab_1) ; if (tmp144 == (ats_sum_ptr_type)0) { goto __ats_lab_34_1 ; } tmp145 = ats_caselptrlab_mac(anairiats_sum_7, tmp144, atslab_0) ; if (((ats_sum_ptr_type)tmp145)->tag != 1) { goto __ats_lab_34_1 ; } __ats_lab_30_2: tmp146 = ats_caselptrlab_mac(anairiats_sum_5, tmp145, atslab_1) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (tmp112) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (tmp146) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec (tmp147, tmp148) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp149 != 1) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp150 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp150, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp150, atslab_1, tmp115) ; tmp119 = tmp113 ; tmp120 = tmp150 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp149 != -1) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp151 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp151, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp151, atslab_1, tmp113) ; tmp119 = tmp151 ; tmp120 = tmp115 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp128 = erropr_21 (tmp111) ; break ; } while (0) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp112)->tag != 2) { goto __ats_lab_35_0 ; } __ats_lab_34_1: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_35_1 ; } tmp152 = ats_caselptrlab_mac(anairiats_sum_7, tmp115, atslab_1) ; if (tmp152 != (ats_sum_ptr_type)0) { goto __ats_lab_35_1 ; } __ats_lab_34_2: tmp153 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp153, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_7, tmp153, atslab_1, tmp115) ; tmp119 = tmp113 ; tmp120 = tmp153 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: __ats_lab_35_2: tmp128 = erropr_21 (tmp111) ; break ; } while (0) ; return tmp128 ; __ats_lab_resolve_app_26: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp118 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } tmp155 = ats_caselptrlab_mac(anairiats_sum_7, tmp118, atslab_1) ; if (tmp155 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } tmp156 = ats_caselptrlab_mac(anairiats_sum_7, tmp155, atslab_0) ; if (((ats_sum_ptr_type)tmp156)->tag != 1) { goto __ats_lab_42_0 ; } __ats_lab_36_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_5, tmp156, atslab_1) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_precedence (tmp157) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__compare_prec_prec (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__app_prec, tmp158) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp159 != 1) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp161 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp161, atslab_0, env2) ; ats_selptrset_mac(anairiats_sum_7, tmp161, atslab_1, tmp118) ; tmp160 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp160, atslab_0, tmp117) ; ats_selptrset_mac(anairiats_sum_7, tmp160, atslab_1, tmp161) ; tmp121 = tmp116 ; tmp122 = tmp160 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp159 != -1) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp162 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp162, atslab_0, tmp117) ; ats_selptrset_mac(anairiats_sum_7, tmp162, atslab_1, tmp116) ; tmp119 = tmp162 ; tmp120 = tmp118 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_associativity (tmp157) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp163)->tag != 1) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp164 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp164, atslab_0, tmp117) ; ats_selptrset_mac(anairiats_sum_7, tmp164, atslab_1, tmp116) ; tmp119 = tmp164 ; tmp120 = tmp118 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp154 = errapp_22 (env1, tmp117) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp118 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } tmp165 = ats_caselptrlab_mac(anairiats_sum_7, tmp118, atslab_1) ; if (tmp165 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp167 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp167, atslab_0, env2) ; ats_selptrset_mac(anairiats_sum_7, tmp167, atslab_1, tmp118) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp166, atslab_0, tmp117) ; ats_selptrset_mac(anairiats_sum_7, tmp166, atslab_1, tmp167) ; tmp121 = tmp116 ; tmp122 = tmp166 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp154 = errapp_22 (env1, tmp117) ; break ; } while (0) ; return tmp154 ; __ats_lab_reduce_27: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (tmp120 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } tmp169 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_0) ; if (((ats_sum_ptr_type)tmp169)->tag != 0) { goto __ats_lab_45_0 ; } tmp170 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_1) ; if (tmp170 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } tmp171 = ats_caselptrlab_mac(anairiats_sum_7, tmp170, atslab_0) ; if (((ats_sum_ptr_type)tmp171)->tag != 1) { goto __ats_lab_45_0 ; } tmp172 = ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_1) ; if (((ats_sum_ptr_type)tmp172)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_6, tmp169, atslab_0) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_4, tmp172, atslab_1) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_7, tmp170, atslab_1) ; tmp177 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(tmp174))) (tmp174, tmp173) ; tmp176 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp176, atslab_0, tmp177) ; ats_selptrset_mac(anairiats_sum_7, tmp176, atslab_1, tmp119) ; tmp121 = tmp176 ; tmp122 = tmp175 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (tmp120 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } tmp178 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_0) ; if (((ats_sum_ptr_type)tmp178)->tag != 0) { goto __ats_lab_46_0 ; } tmp179 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_1) ; if (tmp179 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } tmp180 = ats_caselptrlab_mac(anairiats_sum_7, tmp179, atslab_0) ; if (((ats_sum_ptr_type)tmp180)->tag != 1) { goto __ats_lab_46_0 ; } tmp181 = ats_caselptrlab_mac(anairiats_sum_5, tmp180, atslab_1) ; if (((ats_sum_ptr_type)tmp181)->tag != 0) { goto __ats_lab_46_0 ; } tmp182 = ats_caselptrlab_mac(anairiats_sum_7, tmp179, atslab_1) ; if (tmp182 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } tmp183 = ats_caselptrlab_mac(anairiats_sum_7, tmp182, atslab_0) ; if (((ats_sum_ptr_type)tmp183)->tag != 0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_6, tmp178, atslab_0) ; tmp185 = ats_caselptrlab_mac(anairiats_sum_3, tmp181, atslab_2) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_6, tmp183, atslab_0) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_7, tmp182, atslab_1) ; tmp189 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(tmp185))) (tmp185, tmp186, tmp184) ; tmp188 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp188, atslab_0, tmp189) ; ats_selptrset_mac(anairiats_sum_7, tmp188, atslab_1, tmp119) ; tmp121 = tmp188 ; tmp122 = tmp187 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp120 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } tmp190 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_0) ; if (((ats_sum_ptr_type)tmp190)->tag != 1) { goto __ats_lab_47_0 ; } tmp191 = ats_caselptrlab_mac(anairiats_sum_5, tmp190, atslab_1) ; if (((ats_sum_ptr_type)tmp191)->tag != 2) { goto __ats_lab_47_0 ; } tmp192 = ats_caselptrlab_mac(anairiats_sum_7, tmp120, atslab_1) ; if (tmp192 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } tmp193 = ats_caselptrlab_mac(anairiats_sum_7, tmp192, atslab_0) ; if (((ats_sum_ptr_type)tmp193)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_4, tmp191, atslab_1) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_6, tmp193, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_7, tmp192, atslab_1) ; tmp198 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(tmp194))) (tmp194, tmp195) ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp197, atslab_0, tmp198) ; ats_selptrset_mac(anairiats_sum_7, tmp197, atslab_1, tmp196) ; tmp121 = tmp119 ; tmp122 = tmp197 ; goto __ats_lab_pushup_28 ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp168 = err_reduce_23 (env0, tmp120) ; break ; } while (0) ; return tmp168 ; __ats_lab_pushup_28: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (tmp121 != (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: if (tmp122 == (ats_sum_ptr_type)0) { goto __ats_lab_49_1 ; } tmp200 = ats_caselptrlab_mac(anairiats_sum_7, tmp122, atslab_0) ; if (((ats_sum_ptr_type)tmp200)->tag != 0) { goto __ats_lab_49_1 ; } tmp201 = ats_caselptrlab_mac(anairiats_sum_7, tmp122, atslab_1) ; if (tmp201 != (ats_sum_ptr_type)0) { goto __ats_lab_49_1 ; } __ats_lab_48_2: tmp202 = ats_caselptrlab_mac(anairiats_sum_6, tmp200, atslab_0) ; tmp199 = tmp202 ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp121 != (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: __ats_lab_49_2: tmp203 = (ats_sum_ptr_type)0 ; tmp119 = tmp203 ; tmp120 = tmp122 ; goto __ats_lab_reduce_27 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp121 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: __ats_lab_50_2: tmp204 = ats_caselptrlab_mac(anairiats_sum_7, tmp121, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_7, tmp121, atslab_1) ; tmp108 = tmp205 ; tmp109 = tmp204 ; tmp110 = tmp122 ; goto __ats_lab_resolve_24 ; // tail call break ; } while (0) ; return tmp199 ; return (tmp206) ; } /* end of [resolve_24_0resolve_opr_25_0resolve_app_26_0reduce_27_0pushup_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_fixity_fxty.dats: 5397(line=211, offs=7) -- 9300(line=356, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve: tmp212 = (ats_sum_ptr_type)0 ; tmp87 = pushup_28 (arg0, arg1, arg2, arg3, tmp212) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp19, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp20, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp21, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp15 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYnon_0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_non, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_non = statmp15 ; statmp20 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; statmp19 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp19)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, statmp19, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ats_selptrset_mac(anairiats_sum_0, statmp19, atslab_1, statmp20) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__selptr_fxty_dyn, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__selptr_fxty_dyn = statmp19 ; statmp21 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp21)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, statmp21, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_prec_dyn) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_fxty_dyn, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__deref_fxty_dyn = statmp21 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_fixity_fxty_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_jsonize_synent2_sats.c0000664000175000017500000000606612655455557021773 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_jsonize_synent2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing_dats.c0000664000175000017500000076313512655455557020106 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "libc/CATS/string.cats" #include "libc/CATS/errno.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" /* external codes at top */ typedef ats_ptr_type string ; typedef ats_ptr_type lexsym ; /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { string atslab_0 ; lexsym atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_2 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_4 ; typedef struct { pats_position_struct atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_arr_141) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_tmp_142) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_srp_144) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_ext_145) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_oct_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_hex_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_unclose_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_QUOTE_dangling_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_unclose_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_oct_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_hex_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_EXTCODE_unclose_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_DIGIT_oct_89_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_UNSUPPORTED_char_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VAL_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_CASE_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ADDR_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOLD_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FREE_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FIX_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LAM_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LLAM_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_PROP_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_TYPE_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEW_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWTYPE_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T0YPE_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VTYPE_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT0YPE_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT0YPE_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABST_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVIEWT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOR_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_WHILE_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_QMARKGT_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH2_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASHSTAR_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH4_28) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_char_of_int) (ats_int_type) ; ATSextern_fun(ats_uchar_type, atspre_uchar_of_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_lte_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gte_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isspace) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isxdigit) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_sub_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_mul_int_double) (ats_int_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_succ_uint) (ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_pred_uint) (ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_sub_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_int1_of_size1) (ats_size_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_size_type, atspre_mod1_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_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_int_type, atspre_compare_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ulint_type, atspre_string_hash_33) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_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_size) (ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_linqueue_arr_queue_uninitialize) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1) (ats_ref_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_copy) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char) (ats_ref_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos) (pats_position_struct, pats_position_struct) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_nspace) (ats_ref_type, ats_int_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1) (ats_ref_type, ats_uint_type, ats_uint_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDRAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLD) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLDAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIXAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FORSTAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREEAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAM) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAMAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAM) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAMAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILESTAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DOT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__QMARK) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INTZERO) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt) (ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_clear__linprb) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__linprb) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint_tsz__linprb) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq1) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_litchar) (ats_ref_type, ats_ref_type, ats_char_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_oct) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_hex) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_alp) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT2_alp) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_dlr) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_srp) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml) (ats_ref_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd) (ats_ref_type, ats_ref_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_LPAREN) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMA) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_AT) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COLON) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOT) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_PERCENT) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOLLAR) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_SHARP) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_BQUOTE) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_QUOTE) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DQUOTE) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_oct) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_hex) (ats_ref_type, ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_special) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing) (ats_ref_type, ats_ref_type, ats_char_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_ZERO) (ats_ref_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert1_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert2_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VAL_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_CASE_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ADDR_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOLD_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FREE_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FIX_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LAM_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LLAM_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_PROP_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_TYPE_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEW_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWTYPE_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T0YPE_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VTYPE_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT0YPE_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT0YPE_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABST_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVT_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVIEWT_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOR_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_WHILE_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_QMARKGT_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH2_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASHSTAR_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH4_28) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type xdigit_get_val_0 (ats_char_type arg0) ; static ats_char_type char_for_escaped_1 (ats_char_type arg0) ; static ats_void_type keyitem_nullify_02268_anairiats_rec_1 (ats_ref_type arg0) ; static ats_bool_type keyitem_isnot_null_02269_anairiats_rec_1 (ats_ref_type arg0) ; static ats_ulint_type hash_key_02263_string (string arg0, ats_clo_ref_type arg1) ; static ats_bool_type equal_key_key_02264_string (string arg0, string arg1, ats_clo_ref_type arg2) ; static ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2clexsym (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) ; static ats_ptr_type hashtbl_ptr_split_02086_string_2clexsym (ats_ptr_type arg0, ats_size_type arg1) ; static ats_void_type loop_11 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_clo_ptr_type loop_11_closure_make (string env0, ats_clo_ref_type env1) ; static ats_void_type loop_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type hashtbl_ptr_probe_ofs_02094_string_2clexsym (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) ; static ats_void_type hashtbl_ptr_relocate_02143_string_2clexsym (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) ; static ats_void_type hashtbl_resize_02164_string_2clexsym (ats_ptr_type arg0, ats_size_type arg1) ; static ats_bool_type hashtbl_insert_02275_string_2clexsym (ats_ptr_type arg0, string arg1, lexsym arg2, ats_ref_type arg3) ; static ats_void_type insert_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type hashtbl_search_02274_string_2clexsym (ats_ptr_type arg0, string arg1, ats_ref_type arg2) ; static ats_ptr_type IDENT_alp_get_lexsym_14 (ats_ptr_type arg0) ; static ats_ptr_type IDENT_sym_get_lexsym_16 (ats_ptr_type arg0) ; static ats_bool_type BLANK_test_17 (ats_char_type arg0) ; static ats_bool_type IDENTFST_test_18 (ats_char_type arg0) ; static ats_bool_type IDENTRST_test_19 (ats_char_type arg0) ; static ats_bool_type SYMBOLIC_test_20 (ats_char_type arg0) ; static ats_bool_type xX_test_21 (ats_char_type arg0) ; static ats_bool_type DIGIT_test_22 (ats_char_type arg0) ; static ats_bool_type XDIGIT_test_23 (ats_char_type arg0) ; static ats_bool_type INTSP_test_24 (ats_char_type arg0) ; static ats_bool_type FLOATSP_test_25 (ats_char_type arg0) ; static ats_bool_type eE_test_26 (ats_char_type arg0) ; static ats_bool_type pP_test_27 (ats_char_type arg0) ; static ats_bool_type SIGN_test_28 (ats_char_type arg0) ; static ats_bool_type ESCHAR_test_29 (ats_char_type arg0) ; static ats_uint_type loop_32 (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2) ; static ats_uint_type loop_35 (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) ; static ats_uint_type testing_blankseq0_34 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type loop_38 (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2, ats_size_type arg3) ; static ats_uint_type testing_identrstseq0_39 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_uint_type testing_symbolicseq0_40 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_bool_type f3_42 (ats_ref_type arg0, ats_uint_type arg1, ats_char_type arg2) ; static ats_uint_type loop_43 (ats_ref_type arg0, ats_uint_type arg1) ; static ats_uint_type testing_octalseq0_41 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_uint_type testing_digitseq0_44 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_uint_type testing_xdigitseq0_45 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_uint_type testing_intspseq0_46 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_uint_type testing_floatspseq0_47 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type testing_fexponent_48 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type testing_fexponent_bin_49 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type testing_deciexp_50 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type testing_hexiexp_51 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexbufpos_token_reset_53 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type lexbufpos_lexerr_reset_54 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_ptr_type feof_57 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_void_type loop_61 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_pats_position_struct (ats_ptr_type arg0) ; static ats_ptr_type feof_59 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_uint_type extcode_nskip_63 (ats_int_type arg0) ; static ats_bool_type FLOATDOT_test_70 (ats_ref_type arg0, ats_char_type arg1) ; static ats_int_type loop_72 (ats_ptr_type arg0, ats_size_type arg1, ats_int_type arg2) ; static ats_int_type string2int_71 (ats_ptr_type arg0) ; static ats_int_type loop_79 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_int_type arg3) ; static ats_int_type loop_81 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_int_type arg3) ; static ats_int_type loop_86 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_int_type arg3) ; static ats_int_type lexing_string_char_oct_85 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type loop_88 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_int_type arg3) ; static ats_int_type lexing_string_char_hex_87 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_int_type lexing_string_char_special_89 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_void_type regerr_91 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_size_type loop_92 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_size_type arg3, ats_size_type arg4) ; static ats_ptr_type DEQUEptrnxt_02412_ats_uchar_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type deque_insert_end_02393_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ; static ats_void_type queue_insert_01911_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ; static ats_ptr_type array_ptr_alloc_01563_ats_uchar_type (ats_size_type arg0) ; static ats_ptr_type deque_update_capacity_02405_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type queue_update_capacity_01918_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_size_type loop_ins_93 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_int_type arg5) ; static ats_size_type loop_92_0loop_ins_93 (ats_int_type arg0, ...) ; static ats_void_type deque_initialize_02385_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type queue_initialize_01905_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_ptr_type lexing_postfix_103 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_char_type arg4) ; static ats_ptr_type lexing_polarity_104 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type lexing_FOR_105 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_WHILE_106 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_CASE_107 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_VAL_108 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_TYPE_109 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_T0YPE_110 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_PROP_111 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_VIEW_112 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_VIEWTYPE_113 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_VIEWT0YPE_114 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_LAM_115 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_LLAM_116 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_FIX_117 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_ADDR_118 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_FOLD_119 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_ptr_type lexing_FREE_120 (ats_ref_type arg0, ats_ref_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp14) ; // ATSstatic_void (statmp83) ; ATSstatic (ats_ptr_type, statmp84) ; // ATSstatic_void (statmp85) ; ATSstatic (ats_ptr_type, statmp86) ; // ATSstatic_void (statmp87) ; ATSstatic (ats_ptr_type, statmp88) ; // ATSstatic_void (statmp89) ; ATSstatic (ats_ptr_type, statmp90) ; // ATSstatic_void (statmp91) ; ATSstatic (ats_ptr_type, statmp92) ; // ATSstatic_void (statmp93) ; ATSstatic (ats_ptr_type, statmp94) ; // ATSstatic_void (statmp95) ; ATSstatic (ats_ptr_type, statmp96) ; // ATSstatic_void (statmp97) ; ATSstatic (ats_ptr_type, statmp98) ; // ATSstatic_void (statmp99) ; ATSstatic (ats_ptr_type, statmp100) ; // ATSstatic_void (statmp101) ; ATSstatic (ats_ptr_type, statmp102) ; // ATSstatic_void (statmp103) ; ATSstatic (ats_ptr_type, statmp104) ; // ATSstatic_void (statmp105) ; ATSstatic (ats_ptr_type, statmp106) ; // ATSstatic_void (statmp107) ; ATSstatic (ats_ptr_type, statmp108) ; // ATSstatic_void (statmp109) ; ATSstatic (ats_ptr_type, statmp110) ; // ATSstatic_void (statmp111) ; ATSstatic (ats_ptr_type, statmp112) ; // ATSstatic_void (statmp113) ; ATSstatic (ats_ptr_type, statmp114) ; // ATSstatic_void (statmp115) ; ATSstatic (ats_ptr_type, statmp116) ; // ATSstatic_void (statmp117) ; ATSstatic (ats_ptr_type, statmp118) ; // ATSstatic_void (statmp119) ; ATSstatic (ats_ptr_type, statmp120) ; // ATSstatic_void (statmp121) ; ATSstatic (ats_ptr_type, statmp122) ; // ATSstatic_void (statmp123) ; ATSstatic (ats_ptr_type, statmp124) ; // ATSstatic_void (statmp125) ; ATSstatic (ats_ptr_type, statmp126) ; // ATSstatic_void (statmp127) ; ATSstatic (ats_ptr_type, statmp128) ; // ATSstatic_void (statmp129) ; ATSstatic (ats_ptr_type, statmp130) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 2485(line=94, offs=1) -- 2725(line=103, offs=2) */ ATSstaticdec() ats_int_type xdigit_get_val_0 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; __ats_lab_xdigit_get_val_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp1 = atspre_lte_char_char (arg0, '9') ; if (!tmp1) { goto __ats_lab_1_1 ; } tmp0 = atspre_sub_char_char (arg0, '0') ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp2 = atspre_lte_char_char (arg0, 'F') ; if (!tmp2) { goto __ats_lab_2_1 ; } tmp3 = atspre_sub_char_char (arg0, 'A') ; tmp0 = atspre_add_int_int (10, tmp3) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp4 = atspre_gte_char_char (arg0, 'f') ; if (!tmp4) { goto __ats_lab_3_1 ; } tmp5 = atspre_sub_char_char (arg0, 'a') ; tmp0 = atspre_add_int_int (10, tmp5) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp0 = 0 ; break ; } while (0) ; return (tmp0) ; } /* end of [xdigit_get_val_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 2782(line=108, offs=1) -- 3110(line=120, offs=2) */ ATSstaticdec() ats_char_type char_for_escaped_1 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp6) ; __ats_lab_char_for_escaped_1: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 != 'n') { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp6 = '\n' ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 != 't') { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp6 = '\t' ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 != 'a') { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp6 = '\007' ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 != 'b') { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp6 = '\010' ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 != 'v') { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp6 = '\013' ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 != 'f') { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp6 = '\014' ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != 'r') { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp6 = '\015' ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp6 = arg0 ; break ; } while (0) ; return (tmp6) ; } /* end of [char_for_escaped_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 5554(line=227, offs=3) -- 5717(line=232, offs=2) */ ATSstaticdec() ats_void_type keyitem_nullify_02268_anairiats_rec_1 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp7) ; __ats_lab_keyitem_nullify_02268_anairiats_rec_1: ats_select_mac(ats_ptrget_mac(anairiats_rec_1, arg0), atslab_0) = ats_castfn_mac(string, atspre_null_ptr) ; return /* (tmp7) */ ; } /* end of [keyitem_nullify_02268_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 5791(line=236, offs=3) -- 6059(line=243, offs=2) */ ATSstaticdec() ats_bool_type keyitem_isnot_null_02269_anairiats_rec_1 (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_bool_type, tmp9) ; ATSlocal (string, tmp10) ; __ats_lab_keyitem_isnot_null_02269_anairiats_rec_1: tmp10 = ats_select_mac(ats_ptrget_mac(anairiats_rec_1, arg0), atslab_0) ; tmp9 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp10), atspre_null_ptr) ; tmp8 = ats_castfn_mac(ats_bool_type, tmp9) ; return (tmp8) ; } /* end of [keyitem_isnot_null_02269_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 6121(line=246, offs=15) -- 6154(line=246, offs=48) */ ATSstaticdec() ats_ulint_type hash_key_02263_string (string arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ulint_type, tmp11) ; __ats_lab_hash_key_02263_string: tmp11 = atspre_string_hash_33 (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp11) ; } /* end of [hash_key_02263_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 6188(line=249, offs=3) -- 6238(line=249, offs=53) */ ATSstaticdec() ats_bool_type equal_key_key_02264_string (string arg0, string arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; __ats_lab_equal_key_key_02264_string: tmp13 = atspre_compare_string_string (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; tmp12 = atspre_ieq (tmp13, 0) ; return (tmp12) ; } /* end of [equal_key_key_02264_string] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 19885(line=623, offs=3) -- 20024(line=626, offs=4) */ ATSstaticdec() ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2clexsym (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_atslib_hashtbl_make_hint__linprb_string_2clexsym: tmp15 = atslib_hashtbl_make_hint_tsz__linprb (arg0, arg1, arg2, sizeof(anairiats_rec_1)) ; return (tmp15) ; } /* end of [atslib_hashtbl_make_hint__linprb_string_2clexsym] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 5439(line=171, offs=47) -- 5885(line=184, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_split_02086_string_2clexsym (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_size_type, tmp31) ; ATSlocal (ats_size_type, tmp32) ; __ats_lab_hashtbl_ptr_split_02086_string_2clexsym: tmp31 = atspre_mul2_size1_size1 (arg1, sizeof(anairiats_rec_1)) ; tmp32 = ats_selsin_mac(tmp31, atslab_1) ; tmp30 = atspre_padd_size (arg0, tmp32) ; return (tmp30) ; } /* end of [hashtbl_ptr_split_02086_string_2clexsym] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6608(line=211, offs=7) -- 7396(line=234, offs=8) */ ATSstaticdec() ats_void_type loop_11 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; ATSlocal (string, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_size_type, tmp40) ; __ats_lab_loop_11: tmp35 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp35) { tmp36 = keyitem_isnot_null_02269_anairiats_rec_1 (arg0) ; if (tmp36) { tmp37 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_0) ; tmp38 = equal_key_key_02264_string (env0, tmp37, env1) ; if (tmp38) { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; ats_ptrget_mac(ats_bool_type, arg3) = ats_true_bool ; } else { tmp39 = atspre_padd_size (arg0, sizeof(anairiats_rec_1)) ; tmp40 = atspre_sub_size1_int1 (arg1, 1) ; arg0 = tmp39 ; arg1 = tmp40 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_11 ; // tail call } /* end of [if] */ } else { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp34) */ ; } /* end of [loop_11] */ typedef struct { ats_fun_ptr_type closure_fun ; string closure_env_0 ; ats_clo_ref_type closure_env_1 ; } loop_11_closure_type ; ats_void_type loop_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { loop_11 (((loop_11_closure_type*)cloptr)->closure_env_0, ((loop_11_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; return ; } /* end of function */ ATSinline() ats_void_type loop_11_closure_init (loop_11_closure_type *p_clo, string env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_11_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_11_closure_make (string env0, ats_clo_ref_type env1) { loop_11_closure_type *p_clo = ATS_MALLOC(sizeof(loop_11_closure_type)) ; loop_11_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6222(line=201, offs=22) -- 7691(line=244, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_probe_ofs_02094_string_2clexsym (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_size_type, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_bool_type, tmp45) ; __ats_lab_hashtbl_ptr_probe_ofs_02094_string_2clexsym: tmp29 = hashtbl_ptr_split_02086_string_2clexsym (arg0, arg4) ; tmp33 = ats_selsin_mac(tmp29, atslab_2) ; /* ats_ptr_type tmp41 ; */ tmp41 = atspre_null_ptr ; ats_ptrget_mac(ats_bool_type, arg5) = ats_false_bool ; tmp43 = atspre_sub_size1_size1 (arg3, arg4) ; /* tmp42 = */ loop_11 (arg1, arg2, tmp33, tmp43, (&tmp41), arg5) ; tmp45 = atspre_peq (tmp41, atspre_null_ptr) ; if (tmp45) { /* tmp44 = */ loop_11 (arg1, arg2, arg0, arg4, (&tmp41), arg5) ; } else { /* empty */ } /* end of [if] */ tmp28 = tmp41 ; return (tmp28) ; } /* end of [hashtbl_ptr_probe_ofs_02094_string_2clexsym] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 9389(line=302, offs=38) -- 10782(line=340, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_relocate_02143_string_2clexsym (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (string, tmp68) ; ATSlocal (lexsym, tmp69) ; ATSlocal (ats_ulint_type, tmp70) ; ATSlocal (ats_size_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_size_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab_hashtbl_ptr_relocate_02143_string_2clexsym: tmp65 = atspre_gt_size1_int1 (arg0, 0) ; if (tmp65) { tmp66 = keyitem_isnot_null_02269_anairiats_rec_1 (arg2) ; if (tmp66) { tmp68 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_0) ; tmp69 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_1) ; tmp70 = hash_key_02263_string (tmp68, arg4) ; tmp71 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp70), arg1) ; /* ats_bool_type tmp72 ; */ tmp73 = hashtbl_ptr_probe_ofs_02094_string_2clexsym (arg3, tmp68, arg5, arg1, tmp71, (&tmp72)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp73), atslab_0) = tmp68 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp73), atslab_1) = tmp69 ; } else { /* empty */ } /* end of [if] */ tmp74 = atspre_sub_size1_int1 (arg0, 1) ; tmp75 = atspre_padd_size (arg2, sizeof(anairiats_rec_1)) ; arg0 = tmp74 ; arg1 = arg1 ; arg2 = tmp75 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_hashtbl_ptr_relocate_02143_string_2clexsym ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp64) */ ; } /* end of [hashtbl_ptr_relocate_02143_string_2clexsym] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 10895(line=345, offs=37) -- 11621(line=364, offs=2) */ ATSstaticdec() ats_void_type hashtbl_resize_02164_string_2clexsym (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_size_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_clo_ref_type, tmp78) ; ATSlocal (ats_clo_ref_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab_hashtbl_resize_02164_string_2clexsym: tmp60 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp61 = atslib_hashtbl_ptr_make__linprb (arg1, sizeof(anairiats_rec_1)) ; tmp62 = ats_selsin_mac(tmp61, atslab_2) ; tmp76 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_sz) ; tmp77 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_pbeg) ; tmp78 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_hash) ; tmp79 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_eqfn) ; /* tmp63 = */ hashtbl_ptr_relocate_02143_string_2clexsym (tmp76, arg1, tmp77, tmp62, tmp78, tmp79) ; tmp81 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_pbeg) ; /* tmp80 = */ atslib_hashtbl_ptr_free__linprb (tmp81) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_sz) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp60), atslab_pbeg) = tmp62 ; return /* (tmp59) */ ; } /* end of [hashtbl_resize_02164_string_2clexsym] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 14588(line=454, offs=3) -- 15998(line=498, offs=2) */ ATSstaticdec() ats_bool_type hashtbl_insert_02275_string_2clexsym (ats_ptr_type arg0, string arg1, lexsym arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ulint_type, tmp21) ; ATSlocal (ats_clo_ref_type, tmp22) ; ATSlocal (ats_size_type, tmp23) ; ATSlocal (ats_size_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_clo_ref_type, tmp47) ; ATSlocal (ats_bool_type, tmp48) ; ATSlocal (lexsym, tmp50) ; ATSlocal (ats_size_type, tmp51) ; ATSlocal (ats_size_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_double_type, tmp54) ; ATSlocal (ats_double_type, tmp55) ; ATSlocal (ats_double_type, tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_size_type, tmp82) ; __ats_lab_hashtbl_insert_02275_string_2clexsym: tmp20 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp22 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_hash) ; tmp21 = hash_key_02263_string (arg1, tmp22) ; tmp23 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_sz) ; tmp24 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp21), tmp23) ; /* ats_bool_type tmp25 ; */ /* ats_int_type tmp26 ; */ tmp26 = 0 ; tmp46 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_pbeg) ; tmp47 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_eqfn) ; tmp27 = hashtbl_ptr_probe_ofs_02094_string_2clexsym (tmp46, arg1, tmp47, tmp23, tmp24, (&tmp25)) ; tmp48 = ats_castfn_mac(ats_bool_type, tmp25) ; if (tmp48) { tmp50 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp27), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp27), atslab_1) = arg2 ; ats_ptrget_mac(lexsym, arg3) = tmp50 ; } else { tmp51 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_tot) ; tmp52 = atspre_add_size_int (tmp51, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp20), atslab_tot) = tmp52 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp27), atslab_0) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp27), atslab_1) = arg2 ; tmp55 = atspre_double_of_size (tmp51) ; tmp54 = atspre_mul_int_double (2, tmp55) ; tmp56 = atspre_double_of_size (tmp23) ; tmp53 = atspre_gte_double_double (tmp54, tmp56) ; if (tmp53) { tmp26 = 1 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp58 = atspre_gt_int_int (tmp26, 0) ; if (tmp58) { tmp82 = atspre_add_size1_size1 (tmp23, tmp23) ; /* tmp57 = */ hashtbl_resize_02164_string_2clexsym (arg0, tmp82) ; } else { /* empty */ } /* end of [if] */ tmp19 = tmp48 ; return (tmp19) ; } /* end of [hashtbl_insert_02275_string_2clexsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 6426(line=256, offs=5) -- 6657(line=264, offs=2) */ ATSstaticdec() ats_void_type insert_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (lexsym, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; __ats_lab_insert_7: /* lexsym tmp17 ; */ tmp18 = hashtbl_insert_02275_string_2clexsym (arg0, ats_castfn_mac(string, arg1), ats_castfn_mac(lexsym, arg2), (&tmp17)) ; return /* (tmp16) */ ; } /* end of [insert_7] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 8459(line=270, offs=16) -- 9173(line=291, offs=4) */ ATSstaticdec() ats_bool_type hashtbl_search_02274_string_2clexsym (ats_ptr_type arg0, string arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ulint_type, tmp137) ; ATSlocal (ats_clo_ref_type, tmp138) ; ATSlocal (ats_size_type, tmp139) ; ATSlocal (ats_size_type, tmp140) ; ATSlocal (ats_bool_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_clo_ref_type, tmp144) ; ATSlocal (ats_size_type, tmp145) ; ATSlocal (lexsym, tmp146) ; __ats_lab_hashtbl_search_02274_string_2clexsym: tmp136 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp138 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp136), atslab_hash) ; tmp137 = hash_key_02263_string (arg1, tmp138) ; tmp140 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp136), atslab_sz) ; tmp139 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp137), tmp140) ; /* ats_bool_type tmp141 ; */ tmp143 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp136), atslab_pbeg) ; tmp144 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp136), atslab_eqfn) ; tmp145 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp136), atslab_sz) ; tmp142 = hashtbl_ptr_probe_ofs_02094_string_2clexsym (tmp143, arg1, tmp144, tmp145, tmp139, (&tmp141)) ; if (tmp141) { tmp146 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp142), atslab_1) ; ats_ptrget_mac(lexsym, arg2) = tmp146 ; tmp135 = ats_true_bool ; } else { tmp135 = ats_false_bool ; } /* end of [if] */ return (tmp135) ; } /* end of [hashtbl_search_02274_string_2clexsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 7874(line=309, offs=1) -- 8241(line=323, offs=4) */ ATSstaticdec() ats_ptr_type IDENT_alp_get_lexsym_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (lexsym, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; __ats_lab_IDENT_alp_get_lexsym_14: tmp132 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp14)), atslab_1) ; /* lexsym tmp133 ; */ tmp134 = hashtbl_search_02274_string_2clexsym (tmp132, ats_castfn_mac(string, arg0), (&tmp133)) ; if (tmp134) { tmp131 = ats_castfn_mac(ats_ptr_type, tmp133) ; } else { tmp131 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; } /* end of [if] */ return (tmp131) ; } /* end of [IDENT_alp_get_lexsym_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 8588(line=344, offs=1) -- 9566(line=399, offs=4) */ ATSstaticdec() ats_ptr_type IDENT_sym_get_lexsym_16 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; ATSlocal (ats_char_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_char_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; ATSlocal (ats_char_type, tmp153) ; ATSlocal (ats_bool_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; __ats_lab_IDENT_sym_get_lexsym_16: tmp148 = atspre_string_isnot_atend (ats_castfn_mac(ats_ptr_type, arg0), 0) ; if (tmp148) { tmp149 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp149 != '?') { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp150 = atspre_string_isnot_atend (ats_castfn_mac(ats_ptr_type, arg0), 1) ; if (tmp150) { tmp151 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 1) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp151 != '>') { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_QMARKGT_25) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; break ; } while (0) ; } else { tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; } /* end of [if] */ break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp149 != '/') { goto __ats_lab_19_0 ; } __ats_lab_15_1: tmp152 = atspre_string_isnot_atend (ats_castfn_mac(ats_ptr_type, arg0), 1) ; if (tmp152) { tmp153 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 1) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp153 != '*') { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASHSTAR_27) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp153 != '/') { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp155 = atslib_substrcmp (ats_castfn_mac(ats_ptr_type, arg0), 2, ATSstrcst("//"), 0) ; tmp154 = atspre_eq_int_int (tmp155, 0) ; if (tmp154) { tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH4_28) ; } else { tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH2_26) ; } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; break ; } while (0) ; } else { tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; break ; } while (0) ; } else { tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0) ; } /* end of [if] */ return (tmp147) ; } /* end of [IDENT_sym_get_lexsym_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 9651(line=406, offs=1) -- 9696(line=406, offs=46) */ ATSstaticdec() ats_bool_type BLANK_test_17 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp156) ; __ats_lab_BLANK_test_17: tmp156 = atspre_char_isspace (arg0) ; return (tmp156) ; } /* end of [BLANK_test_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 9725(line=411, offs=1) -- 9928(line=419, offs=2) */ ATSstaticdec() ats_bool_type IDENTFST_test_18 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp157) ; ATSlocal (ats_bool_type, tmp158) ; ATSlocal (ats_bool_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; ATSlocal (ats_bool_type, tmp161) ; ATSlocal (ats_bool_type, tmp162) ; __ats_lab_IDENTFST_test_18: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp159 = atspre_lte_char_char ('a', arg0) ; if (tmp159) { tmp158 = atspre_lte_char_char (arg0, 'z') ; } else { tmp158 = ats_false_bool ; } /* end of [if] */ if (!tmp158) { goto __ats_lab_21_1 ; } tmp157 = ats_true_bool ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp161 = atspre_lte_char_char ('A', arg0) ; if (tmp161) { tmp160 = atspre_lte_char_char (arg0, 'Z') ; } else { tmp160 = ats_false_bool ; } /* end of [if] */ if (!tmp160) { goto __ats_lab_22_1 ; } tmp157 = ats_true_bool ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp162 = atspre_eq_char_char (arg0, '_') ; if (!tmp162) { goto __ats_lab_23_1 ; } tmp157 = ats_true_bool ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp157 = ats_false_bool ; break ; } while (0) ; return (tmp157) ; } /* end of [IDENTFST_test_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 9963(line=422, offs=1) -- 10268(line=433, offs=2) */ ATSstaticdec() ats_bool_type IDENTRST_test_19 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp163) ; ATSlocal (ats_bool_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_bool_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_bool_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_bool_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; ATSlocal (ats_bool_type, tmp172) ; __ats_lab_IDENTRST_test_19: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp165 = atspre_lte_char_char ('a', arg0) ; if (tmp165) { tmp164 = atspre_lte_char_char (arg0, 'z') ; } else { tmp164 = ats_false_bool ; } /* end of [if] */ if (!tmp164) { goto __ats_lab_25_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp167 = atspre_lte_char_char ('A', arg0) ; if (tmp167) { tmp166 = atspre_lte_char_char (arg0, 'Z') ; } else { tmp166 = ats_false_bool ; } /* end of [if] */ if (!tmp166) { goto __ats_lab_26_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp169 = atspre_lte_char_char ('0', arg0) ; if (tmp169) { tmp168 = atspre_lte_char_char (arg0, '9') ; } else { tmp168 = ats_false_bool ; } /* end of [if] */ if (!tmp168) { goto __ats_lab_27_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp170 = atspre_eq_char_char (arg0, '_') ; if (!tmp170) { goto __ats_lab_28_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp171 = atspre_eq_char_char (arg0, '\'') ; if (!tmp171) { goto __ats_lab_29_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp172 = atspre_eq_char_char (arg0, '$') ; if (!tmp172) { goto __ats_lab_30_1 ; } tmp163 = ats_true_bool ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp163 = ats_false_bool ; break ; } while (0) ; return (tmp163) ; } /* end of [IDENTRST_test_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10324(line=438, offs=1) -- 10440(line=443, offs=4) */ ATSstaticdec() ats_bool_type SYMBOLIC_test_20 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp173) ; __ats_lab_SYMBOLIC_test_20: tmp173 = atspre_string_contains (ATSstrcst("%&+-./:=@~`^|*!$#?<>"), arg0) ; return (tmp173) ; } /* end of [SYMBOLIC_test_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10495(line=447, offs=5) -- 10558(line=449, offs=36) */ ATSstaticdec() ats_bool_type xX_test_21 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp174) ; ATSlocal (ats_bool_type, tmp175) ; __ats_lab_xX_test_21: tmp175 = atspre_eq_char_char (arg0, 'x') ; if (tmp175) { tmp174 = ats_true_bool ; } else { tmp174 = atspre_eq_char_char (arg0, 'X') ; } /* end of [if] */ return (tmp174) ; } /* end of [xX_test_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10718(line=465, offs=5) -- 10765(line=466, offs=37) */ ATSstaticdec() ats_bool_type DIGIT_test_22 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp176) ; __ats_lab_DIGIT_test_22: tmp176 = atspre_char_isdigit (arg0) ; return (tmp176) ; } /* end of [DIGIT_test_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10770(line=467, offs=5) -- 10819(line=468, offs=38) */ ATSstaticdec() ats_bool_type XDIGIT_test_23 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp177) ; __ats_lab_XDIGIT_test_23: tmp177 = atspre_char_isxdigit (arg0) ; return (tmp177) ; } /* end of [XDIGIT_test_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10850(line=472, offs=5) -- 10908(line=473, offs=48) */ ATSstaticdec() ats_bool_type INTSP_test_24 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp178) ; __ats_lab_INTSP_test_24: tmp178 = atspre_string_contains (ATSstrcst("LlUu"), arg0) ; return (tmp178) ; } /* end of [INTSP_test_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 10913(line=474, offs=5) -- 10973(line=475, offs=48) */ ATSstaticdec() ats_bool_type FLOATSP_test_25 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp179) ; __ats_lab_FLOATSP_test_25: tmp179 = atspre_string_contains (ATSstrcst("fFlL"), arg0) ; return (tmp179) ; } /* end of [FLOATSP_test_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 11004(line=479, offs=5) -- 11065(line=480, offs=54) */ ATSstaticdec() ats_bool_type eE_test_26 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp180) ; ATSlocal (ats_bool_type, tmp181) ; __ats_lab_eE_test_26: tmp181 = atspre_eq_char_char (arg0, 'e') ; if (tmp181) { tmp180 = ats_true_bool ; } else { tmp180 = atspre_eq_char_char (arg0, 'E') ; } /* end of [if] */ return (tmp180) ; } /* end of [eE_test_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 11073(line=482, offs=5) -- 11134(line=483, offs=54) */ ATSstaticdec() ats_bool_type pP_test_27 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp182) ; ATSlocal (ats_bool_type, tmp183) ; __ats_lab_pP_test_27: tmp183 = atspre_eq_char_char (arg0, 'p') ; if (tmp183) { tmp182 = ats_true_bool ; } else { tmp182 = atspre_eq_char_char (arg0, 'P') ; } /* end of [if] */ return (tmp182) ; } /* end of [pP_test_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 11165(line=487, offs=5) -- 11228(line=488, offs=54) */ ATSstaticdec() ats_bool_type SIGN_test_28 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; __ats_lab_SIGN_test_28: tmp185 = atspre_eq_char_char (arg0, '+') ; if (tmp185) { tmp184 = ats_true_bool ; } else { tmp184 = atspre_eq_char_char (arg0, '-') ; } /* end of [if] */ return (tmp184) ; } /* end of [SIGN_test_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 11330(line=498, offs=5) -- 11390(line=499, offs=49) */ ATSstaticdec() ats_bool_type ESCHAR_test_29 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp186) ; __ats_lab_ESCHAR_test_29: tmp186 = atspre_string_contains (ATSstrcst("ntvbrfa\\?'\"([{"), arg0) ; return (tmp186) ; } /* end of [ESCHAR_test_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 11613(line=518, offs=3) -- 11830(line=532, offs=4) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_bool_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_char_type, tmp191) ; // ATSlocal_void (tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt: tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp189 = atspre_gte_int_int (tmp188, 0) ; if (tmp189) { tmp191 = atspre_char_of_int (tmp188) ; tmp190 = ((ats_bool_type(*)(ats_char_type))arg2) (tmp191) ; if (tmp190) { /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp187 = 1u ; } else { tmp187 = 0u ; } /* end of [if] */ } else { tmp187 = 0u ; } /* end of [if] */ return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 12088(line=553, offs=1) -- 12349(line=570, offs=4) */ ATSstaticdec() ats_uint_type loop_32 (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_bool_type, tmp196) ; ATSlocal (ats_bool_type, tmp197) ; ATSlocal (ats_char_type, tmp198) ; ATSlocal (ats_uint_type, tmp199) ; __ats_lab_loop_32: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg1) ; tmp196 = atspre_gte_int_int (tmp195, 0) ; if (tmp196) { tmp198 = atspre_char_of_int (tmp195) ; tmp197 = ((ats_bool_type(*)(ats_char_type))arg2) (tmp198) ; if (tmp197) { tmp199 = atspre_succ_uint (arg1) ; arg0 = arg0 ; arg1 = tmp199 ; arg2 = arg2 ; goto __ats_lab_loop_32 ; // tail call } else { tmp194 = arg1 ; } /* end of [if] */ } else { tmp194 = arg1 ; } /* end of [if] */ return (tmp194) ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 12048(line=547, offs=1) -- 12569(line=584, offs=2) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp193) ; ATSlocal (ats_uint_type, tmp200) ; ATSlocal (ats_uint_type, tmp201) ; ATSlocal (ats_uint_type, tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_bool_type, tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0: tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp201 = loop_32 (arg0, tmp200, arg2) ; tmp202 = atspre_sub_uint_uint (tmp201, tmp200) ; tmp204 = atspre_gt_uint_uint (tmp202, 0u) ; if (tmp204) { /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, tmp202) ; } else { /* empty */ } /* end of [if] */ tmp193 = tmp202 ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 12792(line=599, offs=3) -- 13120(line=619, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq1 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; ATSlocal (ats_char_type, tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_uint_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq1: tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp207 = atspre_gte_int_int (tmp206, 0) ; if (tmp207) { tmp209 = atspre_char_of_int (tmp206) ; tmp208 = ((ats_bool_type(*)(ats_char_type))arg2) (tmp209) ; if (tmp208) { /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, arg2) ; tmp205 = atspre_add_int_int (ats_castfn_mac(ats_int_type, tmp211), 1) ; } else { tmp205 = -1 ; } /* end of [if] */ } else { tmp205 = -1 ; } /* end of [if] */ return (tmp205) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 13367(line=632, offs=7) -- 13702(line=646, offs=6) */ ATSstaticdec() ats_uint_type loop_35 (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_bool_type, tmp215) ; ATSlocal (ats_bool_type, tmp216) ; ATSlocal (ats_char_type, tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_uint_type, tmp219) ; __ats_lab_loop_35: tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg2) ; tmp215 = atspre_gte_int_int (tmp214, 0) ; if (tmp215) { tmp217 = atspre_char_of_int (tmp214) ; tmp216 = BLANK_test_17 (tmp217) ; if (tmp216) { /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp214) ; tmp219 = atspre_succ_uint (arg2) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp219 ; goto __ats_lab_loop_35 ; // tail call } else { tmp213 = arg2 ; } /* end of [if] */ } else { tmp213 = arg2 ; } /* end of [if] */ return (tmp213) ; } /* end of [loop_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 13286(line=628, offs=1) -- 13802(line=649, offs=2) */ ATSstaticdec() ats_uint_type testing_blankseq0_34 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp212) ; ATSlocal (ats_uint_type, tmp220) ; ATSlocal (ats_uint_type, tmp221) ; __ats_lab_testing_blankseq0_34: tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp221 = loop_35 (arg0, arg1, tmp220) ; tmp212 = atspre_sub_uint_uint (tmp221, tmp220) ; return (tmp212) ; } /* end of [testing_blankseq0_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 13990(line=661, offs=1) -- 14212(line=669, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_litchar (ats_ref_type arg0, ats_ref_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_bool_type, tmp226) ; ATSlocal (ats_char_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_bool_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_litchar: tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp225 = atspre_gte_int_int (tmp223, 0) ; if (tmp225) { tmp227 = atspre_char_of_int (tmp223) ; tmp226 = atspre_eq_char_char (tmp227, arg2) ; if (tmp226) { tmp224 = 1 ; } else { tmp224 = -1 ; } /* end of [if] */ } else { tmp224 = -1 ; } /* end of [if] */ tmp229 = atspre_gte_int_int (tmp224, 0) ; if (tmp229) { /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp223) ; } else { /* empty */ } /* end of [if] */ tmp222 = tmp224 ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_litchar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 14521(line=690, offs=5) -- 14933(line=716, offs=4) */ ATSstaticdec() ats_int_type loop_38 (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_bool_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_char_type, tmp236) ; ATSlocal (ats_char_type, tmp237) ; ATSlocal (ats_uint_type, tmp238) ; ATSlocal (ats_size_type, tmp239) ; __ats_lab_loop_38: tmp232 = atspre_string_isnot_atend (arg2, arg3) ; if (tmp232) { tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg1) ; tmp234 = atspre_gte_int_int (tmp233, 0) ; if (tmp234) { tmp236 = atspre_char_of_int (tmp233) ; tmp237 = atspre_string_get_char_at (arg2, arg3) ; tmp235 = atspre_eq_char_char (tmp236, tmp237) ; if (tmp235) { tmp238 = atspre_succ_uint (arg1) ; tmp239 = atspre_add_size1_int1 (arg3, 1) ; arg0 = arg0 ; arg1 = tmp238 ; arg2 = arg2 ; arg3 = tmp239 ; goto __ats_lab_loop_38 ; // tail call } else { tmp231 = -1 ; } /* end of [if] */ } else { tmp231 = -1 ; } /* end of [if] */ } else { tmp231 = atspre_int1_of_size1 (arg3) ; } /* end of [if] */ return (tmp231) ; } /* end of [loop_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 14439(line=683, offs=3) -- 15141(line=728, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_uint_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_bool_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp241 = loop_38 (arg0, tmp240, ats_castfn_mac(ats_ptr_type, arg2), 0) ; tmp243 = atspre_gte_int_int (tmp241, 0) ; if (tmp243) { /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, ats_castfn_mac(ats_uint_type, tmp241)) ; } else { /* empty */ } /* end of [if] */ tmp230 = tmp241 ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 15196(line=733, offs=1) -- 15299(line=735, offs=44) */ ATSstaticdec() ats_uint_type testing_identrstseq0_39 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp244) ; __ats_lab_testing_identrstseq0_39: tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &IDENTRST_test_19) ; return (tmp244) ; } /* end of [testing_identrstseq0_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 15338(line=739, offs=1) -- 15441(line=741, offs=44) */ ATSstaticdec() ats_uint_type testing_symbolicseq0_40 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp245) ; __ats_lab_testing_symbolicseq0_40: tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &SYMBOLIC_test_20) ; return (tmp245) ; } /* end of [testing_symbolicseq0_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 15585(line=753, offs=5) -- 16243(line=782, offs=2) */ ATSstaticdec() ats_bool_type f3_42 (ats_ref_type arg0, ats_uint_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp247) ; ATSlocal (ats_bool_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_bool_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; ATSlocal (ats_bool_type, tmp252) ; ATSlocal (ats_bool_type, tmp253) ; ATSlocal (pats_position_struct, tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (pats_position_struct, tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_uint_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; // ATSlocal_void (tmp264) ; __ats_lab_f3_42: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp249 = atspre_lte_char_char ('0', arg2) ; tmp250 = atspre_lte_char_char (arg2, '7') ; tmp248 = atspre_mul_bool_bool (tmp249, tmp250) ; if (!tmp248) { goto __ats_lab_32_1 ; } tmp247 = ats_true_bool ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp252 = atspre_lte_char_char ('8', arg2) ; tmp253 = atspre_lte_char_char (arg2, '9') ; tmp251 = atspre_mul_bool_bool (tmp252, tmp253) ; if (!tmp251) { goto __ats_lab_33_1 ; } /* pats_position_struct tmp254 ; */ /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, (&tmp254)) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count ((&tmp254), arg1) ; /* pats_position_struct tmp257 ; */ /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, (&tmp257)) ; tmp260 = atspre_succ_uint (arg1) ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count ((&tmp257), tmp260) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (tmp254, tmp257) ; tmp263 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp263)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp263, atslab_0, arg2) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp261, tmp263) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp262) ; tmp247 = ats_true_bool ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp247 = ats_false_bool ; break ; } while (0) ; return (tmp247) ; } /* end of [f3_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 16251(line=785, offs=1) -- 16481(line=796, offs=4) */ ATSstaticdec() ats_uint_type loop_43 (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_bool_type, tmp268) ; ATSlocal (ats_char_type, tmp269) ; ATSlocal (ats_uint_type, tmp270) ; __ats_lab_loop_43: tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg1) ; tmp267 = atspre_gte_int_int (tmp266, 0) ; if (tmp267) { tmp269 = atspre_char_of_int (tmp266) ; tmp268 = f3_42 (arg0, arg1, tmp269) ; if (tmp268) { tmp270 = atspre_succ_uint (arg1) ; arg0 = arg0 ; arg1 = tmp270 ; goto __ats_lab_loop_43 ; // tail call } else { tmp265 = arg1 ; } /* end of [if] */ } else { tmp265 = arg1 ; } /* end of [if] */ return (tmp265) ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 15503(line=747, offs=1) -- 16690(line=806, offs=2) */ ATSstaticdec() ats_uint_type testing_octalseq0_41 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp246) ; ATSlocal (ats_uint_type, tmp271) ; ATSlocal (ats_uint_type, tmp272) ; ATSlocal (ats_uint_type, tmp273) ; // ATSlocal_void (tmp274) ; ATSlocal (ats_bool_type, tmp275) ; __ats_lab_testing_octalseq0_41: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp272 = loop_43 (arg0, tmp271) ; tmp273 = atspre_sub_uint_uint (tmp272, tmp271) ; tmp275 = atspre_gt_uint_uint (tmp273, 0u) ; if (tmp275) { /* tmp274 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, tmp273) ; } else { /* empty */ } /* end of [if] */ tmp246 = tmp273 ; return (tmp246) ; } /* end of [testing_octalseq0_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 16754(line=811, offs=1) -- 16852(line=814, offs=48) */ ATSstaticdec() ats_uint_type testing_digitseq0_44 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp276) ; __ats_lab_testing_digitseq0_44: tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &DIGIT_test_22) ; return (tmp276) ; } /* end of [testing_digitseq0_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 16860(line=817, offs=1) -- 16960(line=820, offs=49) */ ATSstaticdec() ats_uint_type testing_xdigitseq0_45 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp277) ; __ats_lab_testing_xdigitseq0_45: tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &XDIGIT_test_23) ; return (tmp277) ; } /* end of [testing_xdigitseq0_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 16991(line=825, offs=1) -- 17089(line=828, offs=48) */ ATSstaticdec() ats_uint_type testing_intspseq0_46 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp278) ; __ats_lab_testing_intspseq0_46: tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &INTSP_test_24) ; return (tmp278) ; } /* end of [testing_intspseq0_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 17120(line=833, offs=1) -- 17222(line=836, offs=50) */ ATSstaticdec() ats_uint_type testing_floatspseq0_47 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp279) ; __ats_lab_testing_floatspseq0_47: tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_seq0 (arg0, arg1, &FLOATSP_test_25) ; return (tmp279) ; } /* end of [testing_floatspseq0_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 17251(line=841, offs=1) -- 17917(line=880, offs=4) */ ATSstaticdec() ats_int_type testing_fexponent_48 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_char_type, tmp283) ; ATSlocal (ats_bool_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_uint_type, tmp286) ; ATSlocal (ats_uint_type, tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_bool_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_uint_type, tmp293) ; ATSlocal (ats_uint_type, tmp294) ; __ats_lab_testing_fexponent_48: tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp282 = atspre_gte_int_int (tmp281, 0) ; if (tmp282) { tmp283 = atspre_char_of_int (tmp281) ; tmp284 = eE_test_26 (tmp283) ; if (tmp284) { /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt (arg0, arg1, &SIGN_test_28) ; tmp287 = testing_digitseq0_44 (arg0, arg1) ; tmp289 = atspre_eq_uint_uint (tmp287, 0u) ; if (tmp289) { tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; tmp292 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp290, tmp292) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp291) ; } else { /* empty */ } /* end of [if] */ tmp294 = atspre_add_uint_uint (tmp286, tmp287) ; tmp293 = atspre_add_uint_uint (tmp294, 1u) ; tmp280 = ats_castfn_mac(ats_int_type, tmp293) ; } else { tmp280 = -1 ; } /* end of [if] */ } else { tmp280 = -1 ; } /* end of [if] */ return (tmp280) ; } /* end of [testing_fexponent_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 17974(line=885, offs=1) -- 18644(line=924, offs=4) */ ATSstaticdec() ats_int_type testing_fexponent_bin_49 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_bool_type, tmp297) ; ATSlocal (ats_char_type, tmp298) ; ATSlocal (ats_bool_type, tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_uint_type, tmp301) ; ATSlocal (ats_uint_type, tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_bool_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_uint_type, tmp308) ; ATSlocal (ats_uint_type, tmp309) ; __ats_lab_testing_fexponent_bin_49: tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp297 = atspre_gte_int_int (tmp296, 0) ; if (tmp297) { tmp298 = atspre_char_of_int (tmp296) ; tmp299 = pP_test_27 (tmp298) ; if (tmp299) { /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__ftesting_opt (arg0, arg1, &SIGN_test_28) ; tmp302 = testing_digitseq0_44 (arg0, arg1) ; tmp304 = atspre_eq_uint_uint (tmp302, 0u) ; if (tmp304) { tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; tmp307 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp305, tmp307) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp306) ; } else { /* empty */ } /* end of [if] */ tmp309 = atspre_add_uint_uint (tmp301, tmp302) ; tmp308 = atspre_add_uint_uint (tmp309, 1u) ; tmp295 = ats_castfn_mac(ats_int_type, tmp308) ; } else { tmp295 = -1 ; } /* end of [if] */ } else { tmp295 = -1 ; } /* end of [if] */ return (tmp295) ; } /* end of [testing_fexponent_bin_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 18705(line=929, offs=1) -- 19429(line=973, offs=4) */ ATSstaticdec() ats_int_type testing_deciexp_50 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp310) ; ATSlocal (ats_int_type, tmp311) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_char_type, tmp313) ; ATSlocal (ats_bool_type, tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_uint_type, tmp316) ; ATSlocal (ats_int_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; ATSlocal (ats_bool_type, tmp319) ; __ats_lab_testing_deciexp_50: tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp312 = atspre_gte_int_int (tmp311, 0) ; if (tmp312) { tmp313 = atspre_char_of_int (tmp311) ; tmp314 = atspre_eq_char_char (tmp313, '.') ; if (tmp314) { /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp316 = testing_digitseq0_44 (arg0, arg1) ; tmp317 = testing_fexponent_48 (arg0, arg1) ; tmp319 = atspre_gte_int_int (tmp317, 0) ; if (tmp319) { tmp318 = atspre_add_int_int (ats_castfn_mac(ats_int_type, tmp316), tmp317) ; } else { tmp318 = ats_castfn_mac(ats_int_type, tmp316) ; } /* end of [if] */ tmp310 = atspre_add_int_int (tmp318, 1) ; } else { tmp310 = -1 ; } /* end of [if] */ } else { tmp310 = -1 ; } /* end of [if] */ return (tmp310) ; } /* end of [testing_deciexp_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 19484(line=978, offs=1) -- 19929(line=1005, offs=4) */ ATSstaticdec() ats_int_type testing_hexiexp_51 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_bool_type, tmp322) ; ATSlocal (ats_char_type, tmp323) ; ATSlocal (ats_bool_type, tmp324) ; // ATSlocal_void (tmp325) ; ATSlocal (ats_uint_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_bool_type, tmp328) ; ATSlocal (ats_int_type, tmp329) ; __ats_lab_testing_hexiexp_51: tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp322 = atspre_gte_int_int (tmp321, 0) ; if (tmp322) { tmp323 = atspre_char_of_int (tmp321) ; tmp324 = atspre_eq_char_char (tmp323, '.') ; if (tmp324) { /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp326 = testing_xdigitseq0_45 (arg0, arg1) ; tmp327 = testing_fexponent_bin_49 (arg0, arg1) ; tmp328 = atspre_gte_int_int (tmp327, 0) ; if (tmp328) { tmp329 = atspre_add_int_int (ats_castfn_mac(ats_int_type, tmp326), tmp327) ; tmp320 = atspre_add_int_int (tmp329, 1) ; } else { tmp320 = atspre_add_int_int (ats_castfn_mac(ats_int_type, tmp326), 1) ; } /* end of [if] */ } else { tmp320 = -1 ; } /* end of [if] */ } else { tmp320 = -1 ; } /* end of [if] */ return (tmp320) ; } /* end of [testing_hexiexp_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 20003(line=1011, offs=3) -- 20056(line=1013, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make: tmp330 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp330, atslab_token_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp330, atslab_token_node, arg1) ; return (tmp330) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 20109(line=1018, offs=1) -- 20326(line=1032, offs=4) */ ATSstaticdec() ats_ptr_type lexbufpos_token_reset_53 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; __ats_lab_lexbufpos_token_reset_53: tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, arg1) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (tmp332, arg2) ; return (tmp331) ; } /* end of [lexbufpos_token_reset_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 20387(line=1037, offs=1) -- 20671(line=1050, offs=4) */ ATSstaticdec() ats_ptr_type lexbufpos_lexerr_reset_54 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; __ats_lab_lexbufpos_lexerr_reset_54: tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp335, arg2) ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp337) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, arg1) ; tmp339 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (tmp335, tmp339) ; return (tmp334) ; } /* end of [lexbufpos_lexerr_reset_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 22135(line=1121, offs=3) -- 22504(line=1141, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_bool_type, tmp342) ; ATSlocal (ats_char_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line: tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp342 = atspre_gte_int_int (tmp341, 0) ; if (tmp342) { tmp343 = atspre_char_of_int (tmp341) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp343 != '\n') { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp344 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; tmp340 = lexbufpos_token_reset_53 (arg0, arg1, tmp344) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; arg0 = arg0 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line ; // tail call break ; } while (0) ; } else { tmp346 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; tmp340 = lexbufpos_token_reset_53 (arg0, arg1, tmp346) ; } /* end of [if] */ return (tmp340) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 22618(line=1150, offs=1) -- 22729(line=1153, offs=62) */ ATSstaticdec() ats_ptr_type feof_57 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; __ats_lab_feof_57: tmp349 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7) ; tmp348 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp349) ; return (tmp348) ; } /* end of [feof_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 22594(line=1147, offs=3) -- 23124(line=1174, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_int_type, tmp350) ; ATSlocal (ats_bool_type, tmp351) ; ATSlocal (ats_char_type, tmp352) ; ATSlocal (ats_bool_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; // ATSlocal_void (tmp356) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c: tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp351 = atspre_gte_int_int (tmp350, 0) ; if (tmp351) { tmp352 = atspre_char_of_int (tmp350) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp352 != '*') { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("*/")) ; tmp353 = atspre_gte_int_int (tmp354, 0) ; if (!tmp353) { goto __ats_lab_37_1 ; } tmp355 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; tmp347 = lexbufpos_token_reset_53 (arg0, arg1, tmp355) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp350) ; arg0 = arg0 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c ; // tail call break ; } while (0) ; } else { tmp347 = feof_57 (arg0, arg1) ; } /* end of [if] */ return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_61 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab_loop_61: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp365 ; goto __ats_lab_loop_61 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp364) */ ; } /* end of [loop_61] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_pats_position_struct (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp363) ; __ats_lab_list_vt_free_01499_pats_position_struct: /* tmp363 = */ loop_61 (arg0) ; return /* (tmp363) */ ; } /* end of [list_vt_free_01499_pats_position_struct] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 23246(line=1183, offs=1) -- 23640(line=1199, offs=4) */ ATSstaticdec() ats_ptr_type feof_59 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (pats_position_struct, tmp361) ; // ATSlocal_void (tmp362) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; __ats_lab_feof_59: if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 23343(line=1190, offs=7) -- 23370(line=1190, offs=34)") ; } tmp359 = &ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp361 = ats_ptrget_mac(pats_position_struct, tmp359) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (tmp361, ats_ptrget_mac(pats_position_struct, arg1)) ; /* tmp362 = */ list_vt_free_01499_pats_position_struct (arg2) ; tmp367 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp360, tmp367) ; /* tmp368 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp366) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, arg1) ; tmp370 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (tmp360, tmp370) ; return (tmp358) ; } /* end of [feof_59] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 23218(line=1180, offs=3) -- 24739(line=1242, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_bool_type, tmp372) ; ATSlocal (ats_char_type, tmp373) ; ATSlocal (pats_position_struct, tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_int_type, tmp376) ; ATSlocal (ats_bool_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; // ATSlocal_void (tmp379) ; ATSlocal (ats_bool_type, tmp380) ; ATSlocal (ats_int_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; // ATSlocal_void (tmp384) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml: tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp372 = atspre_gte_int_int (tmp371, 0) ; if (tmp372) { tmp373 = atspre_char_of_int (tmp371) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp373 != '(') { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* pats_position_struct tmp374 ; */ /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_copy ((&tmp374), arg1) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("(*")) ; tmp377 = atspre_gte_int_int (tmp376, 0) ; if (tmp377) { tmp378 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp378, atslab_0, tmp374) ; ats_selptrset_mac(anairiats_sum_5, tmp378, atslab_1, arg2) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp378 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml ; // tail call } else { /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp373 != '*') { goto __ats_lab_44_0 ; } __ats_lab_41_1: tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("*)")) ; tmp380 = atspre_gte_int_int (tmp381, 0) ; if (!tmp380) { goto __ats_lab_44_1 ; } // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp382 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; ATS_FREE(arg2) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp382 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp382 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp382 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp383 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; tmp357 = lexbufpos_token_reset_53 (arg0, arg1, tmp383) ; break ; } while (0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp371) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml ; // tail call break ; } while (0) ; } else { tmp357 = feof_59 (arg0, arg1, arg2) ; } /* end of [if] */ return (tmp357) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 24830(line=1248, offs=3) -- 25071(line=1257, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_int_type, tmp386) ; ATSlocal (ats_bool_type, tmp387) ; // ATSlocal_void (tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest: tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp387 = atspre_gte_int_int (tmp386, 0) ; if (tmp387) { /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp386) ; arg0 = arg0 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest ; // tail call } else { tmp389 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172) ; tmp385 = lexbufpos_token_reset_53 (arg0, arg1, tmp389) ; } /* end of [if] */ return (tmp385) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 25217(line=1270, offs=1) -- 25477(line=1283, offs=4) */ ATSstaticdec() ats_uint_type extcode_nskip_63 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp390) ; ATSlocal (ats_bool_type, tmp391) ; ATSlocal (ats_bool_type, tmp392) ; ATSlocal (ats_bool_type, tmp393) ; ATSlocal (ats_bool_type, tmp394) ; ATSlocal (ats_bool_type, tmp395) ; ATSlocal (ats_bool_type, tmp396) ; __ats_lab_extcode_nskip_63: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp391 = atspre_eq_int_int (arg0, 0) ; if (!tmp391) { goto __ats_lab_46_1 ; } tmp390 = 3u ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp392 = atspre_eq_int_int (arg0, 1) ; if (!tmp392) { goto __ats_lab_47_1 ; } tmp390 = 3u ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp393 = atspre_lt_int_int (arg0, 10) ; if (!tmp393) { goto __ats_lab_48_1 ; } tmp390 = 4u ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp394 = atspre_eq_int_int (arg0, 10) ; if (!tmp394) { goto __ats_lab_49_1 ; } tmp390 = 2u ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: tmp395 = atspre_lt_int_int (arg0, 99) ; if (!tmp395) { goto __ats_lab_50_1 ; } tmp390 = 4u ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: tmp396 = atspre_eq_int_int (arg0, 99) ; if (!tmp396) { goto __ats_lab_51_1 ; } tmp390 = 3u ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp390 = 0u ; break ; } while (0) ; return (tmp390) ; } /* end of [extcode_nskip_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 25553(line=1289, offs=3) -- 26452(line=1332, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_int_type, tmp398) ; ATSlocal (ats_bool_type, tmp399) ; ATSlocal (ats_char_type, tmp400) ; ATSlocal (ats_int_type, tmp401) ; ATSlocal (ats_int_type, tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_bool_type, tmp404) ; // ATSlocal_void (tmp405) ; ATSlocal (ats_bool_type, tmp406) ; ATSlocal (ats_int_type, tmp407) ; ATSlocal (ats_char_type, tmp408) ; ATSlocal (ats_bool_type, tmp409) ; ATSlocal (ats_int_type, tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_bool_type, tmp412) ; ATSlocal (ats_int_type, tmp413) ; ATSlocal (ats_char_type, tmp414) ; ATSlocal (ats_bool_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE: tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp399 = atspre_gte_int_int (tmp398, 0) ; if (tmp399) { tmp400 = atspre_char_of_int (tmp398) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (tmp400 != '#') { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp401 = 0 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp400 != '^') { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp401 = 1 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (tmp400 != '$') { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp401 = 99 ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: tmp401 = 10 ; break ; } while (0) ; /* ats_int_type tmp402 ; */ tmp402 = tmp401 ; tmp404 = atspre_neq_int_int (tmp402, 10) ; if (tmp404) { /* tmp403 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; } else { /* empty */ } /* end of [if] */ tmp406 = atspre_eq_int_int (tmp402, 1) ; if (tmp406) { tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp408 = atspre_char_of_int (tmp407) ; tmp409 = atspre_eq_char_char (tmp408, '2') ; if (tmp409) { tmp410 = atspre_add_int_int (tmp402, 1) ; tmp402 = tmp410 ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp412 = atspre_eq_int_int (tmp402, 99) ; if (tmp412) { tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp414 = atspre_char_of_int (tmp413) ; tmp415 = atspre_eq_char_char (tmp414, '2') ; if (tmp415) { tmp416 = atspre_sub_int_int (tmp402, 1) ; tmp402 = tmp416 ; /* tmp411 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp397 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd (arg0, arg1, tmp402) ; } else { tmp397 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd (arg0, arg1, 10) ; } /* end of [if] */ return (tmp397) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 26533(line=1338, offs=3) -- 27596(line=1371, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd (ats_ref_type arg0, ats_ref_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_int_type, tmp418) ; ATSlocal (ats_bool_type, tmp419) ; ATSlocal (ats_char_type, tmp420) ; ATSlocal (ats_bool_type, tmp421) ; ATSlocal (ats_int_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_bool_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_uint_type, tmp426) ; ATSlocal (ats_uint_type, tmp427) ; ATSlocal (ats_uint_type, tmp428) ; ATSlocal (ats_uint_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; // ATSlocal_void (tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; // ATSlocal_void (tmp433) ; // ATSlocal_void (tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd: tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp419 = atspre_gte_int_int (tmp418, 0) ; if (tmp419) { tmp420 = atspre_char_of_int (tmp418) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (tmp420 != '%') { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol (arg1) ; tmp421 = atspre_eq_int_int (tmp422, 0) ; if (!tmp421) { goto __ats_lab_57_1 ; } tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("%}")) ; tmp424 = atspre_gte_int_int (tmp423, 0) ; if (tmp424) { tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; tmp426 = extcode_nskip_63 (arg2) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ; tmp428 = atspre_sub_uint_uint (tmp429, tmp426) ; tmp427 = atspre_sub_uint_uint (tmp428, 2u) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1 (arg0, tmp426, tmp427) ; /* tmp431 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, arg1) ; tmp432 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp432)->tag = 169 ; ats_selptrset_mac(anairiats_sum_6, tmp432, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp432, atslab_1, ats_castfn_mac(ats_ptr_type, tmp430)) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (tmp425, tmp432) ; } else { /* tmp433 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: /* tmp434 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp418) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd ; // tail call break ; } while (0) ; } else { tmp435 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_EXTCODE_unclose_8) ; tmp417 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp435) ; } /* end of [if] */ return (tmp417) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE_knd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 27764(line=1383, offs=3) -- 28214(line=1400, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_LPAREN (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_int_type, tmp437) ; ATSlocal (ats_char_type, tmp438) ; // ATSlocal_void (tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; // ATSlocal_void (tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_LPAREN: tmp437 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp438 = atspre_char_of_int (tmp437) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (tmp438 != '*') { goto __ats_lab_59_0 ; } __ats_lab_58_1: /* tmp439 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp441 = (ats_sum_ptr_type)0 ; tmp440 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp440, atslab_1, tmp441) ; if (tmp440 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 27968(line=1393, offs=11) -- 27999(line=1393, offs=42)") ; } tmp442 = &ats_caselptrlab_mac(anairiats_sum_5, tmp440, atslab_0) ; /* tmp443 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, tmp442) ; tmp436 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_ml (arg0, arg1, tmp440) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp444 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; tmp436 = lexbufpos_token_reset_53 (arg0, arg1, tmp444) ; break ; } while (0) ; return (tmp436) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_LPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 28350(line=1409, offs=14) -- 28610(line=1418, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMA (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_int_type, tmp446) ; ATSlocal (ats_char_type, tmp447) ; // ATSlocal_void (tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMA: tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp447 = atspre_char_of_int (tmp446) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (tmp447 != '(') { goto __ats_lab_61_0 ; } __ats_lab_60_1: /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp449 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167) ; tmp445 = lexbufpos_token_reset_53 (arg0, arg1, tmp449) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp450 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151) ; tmp445 = lexbufpos_token_reset_53 (arg0, arg1, tmp450) ; break ; } while (0) ; return (tmp445) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMA] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 28741(line=1428, offs=3) -- 29324(line=1459, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_AT (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_int_type, tmp452) ; ATSlocal (ats_char_type, tmp453) ; // ATSlocal_void (tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; // ATSlocal_void (tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; // ATSlocal_void (tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_uint_type, tmp460) ; ATSlocal (ats_uint_type, tmp461) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_AT: tmp452 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp453 = atspre_char_of_int (tmp452) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (tmp453 != '(') { goto __ats_lab_63_0 ; } __ats_lab_62_1: /* tmp454 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp455 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159) ; tmp451 = lexbufpos_token_reset_53 (arg0, arg1, tmp455) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp453 != '[') { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp456 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp457 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; tmp451 = lexbufpos_token_reset_53 (arg0, arg1, tmp457) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp453 != '{') { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp458 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp459 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164) ; tmp451 = lexbufpos_token_reset_53 (arg0, arg1, tmp459) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp460 = testing_symbolicseq0_40 (arg0, arg1) ; tmp461 = atspre_succ_uint (tmp460) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp461) ; break ; } while (0) ; return (tmp451) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_AT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 29458(line=1469, offs=3) -- 29829(line=1489, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COLON (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_int_type, tmp463) ; ATSlocal (ats_char_type, tmp464) ; // ATSlocal_void (tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_uint_type, tmp467) ; ATSlocal (ats_uint_type, tmp468) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COLON: tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp464 = atspre_char_of_int (tmp463) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (tmp464 != '<') { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp465 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp466 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7) ; tmp462 = lexbufpos_token_reset_53 (arg0, arg1, tmp466) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp467 = testing_symbolicseq0_40 (arg0, arg1) ; tmp468 = atspre_succ_uint (tmp467) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp468) ; break ; } while (0) ; return (tmp462) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 29881(line=1494, offs=1) -- 29992(line=1496, offs=64) */ ATSstaticdec() ats_bool_type FLOATDOT_test_70 (ats_ref_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp469) ; ATSlocal (ats_bool_type, tmp470) ; ATSlocal (ats_int_type, tmp471) ; __ats_lab_FLOATDOT_test_70: tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace (arg0) ; tmp470 = atspre_gt_int_int (tmp471, 0) ; if (tmp470) { tmp469 = DIGIT_test_22 (arg1) ; } else { tmp469 = ats_false_bool ; } /* end of [if] */ return (tmp469) ; } /* end of [FLOATDOT_test_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 30085(line=1504, offs=5) -- 30309(line=1513, offs=15) */ ATSstaticdec() ats_int_type loop_72 (ats_ptr_type arg0, ats_size_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp473) ; ATSlocal (ats_bool_type, tmp474) ; ATSlocal (ats_char_type, tmp475) ; ATSlocal (ats_int_type, tmp476) ; ATSlocal (ats_int_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_size_type, tmp479) ; __ats_lab_loop_72: tmp474 = atspre_string_isnot_atend (arg0, arg1) ; if (tmp474) { tmp475 = atspre_string_get_char_at (arg0, arg1) ; tmp477 = atspre_mul_int_int (10, arg2) ; tmp478 = atspre_sub_char_char (tmp475, '0') ; tmp476 = atspre_add_int_int (tmp477, tmp478) ; tmp479 = atspre_add_size1_int1 (arg1, 1) ; arg0 = arg0 ; arg1 = tmp479 ; arg2 = tmp476 ; goto __ats_lab_loop_72 ; // tail call } else { tmp473 = arg2 ; } /* end of [if] */ return (tmp473) ; } /* end of [loop_72] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 30049(line=1502, offs=1) -- 30401(line=1520, offs=4) */ ATSstaticdec() ats_int_type string2int_71 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp472) ; __ats_lab_string2int_71: tmp472 = loop_72 (ats_castfn_mac(ats_ptr_type, arg0), 0, 0) ; return (tmp472) ; } /* end of [string2int_71] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 30532(line=1530, offs=3) -- 31538(line=1572, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOT (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_int_type, tmp481) ; ATSlocal (ats_char_type, tmp482) ; ATSlocal (ats_int_type, tmp483) ; ATSlocal (ats_bool_type, tmp484) ; // ATSlocal_void (tmp485) ; ATSlocal (ats_uint_type, tmp486) ; ATSlocal (ats_uint_type, tmp487) ; ATSlocal (ats_bool_type, tmp488) ; // ATSlocal_void (tmp489) ; ATSlocal (ats_int_type, tmp490) ; ATSlocal (ats_bool_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_bool_type, tmp493) ; // ATSlocal_void (tmp494) ; ATSlocal (ats_uint_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_uint_type, tmp497) ; ATSlocal (ats_int_type, tmp498) ; // ATSlocal_void (tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOT: tmp481 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp482 = atspre_char_of_int (tmp481) ; tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_nspace (arg0) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp484 = SYMBOLIC_test_20 (tmp482) ; if (!tmp484) { goto __ats_lab_69_1 ; } /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp486 = testing_symbolicseq0_40 (arg0, arg1) ; tmp487 = atspre_add_uint_uint (tmp486, 2u) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp487) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp488 = FLOATDOT_test_70 (arg0, tmp482) ; if (!tmp488) { goto __ats_lab_70_1 ; } /* tmp489 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count (arg1, 1u) ; tmp490 = testing_deciexp_50 (arg0, arg1) ; tmp491 = atspre_gte_int_int (tmp490, 0) ; if (tmp491) { tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp (arg0, arg1) ; } else { tmp492 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; tmp480 = lexbufpos_token_reset_53 (arg0, arg1, tmp492) ; } /* end of [if] */ break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp493 = DIGIT_test_22 (tmp482) ; if (!tmp493) { goto __ats_lab_71_1 ; } /* tmp494 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp495 = testing_digitseq0_44 (arg0, arg1) ; tmp497 = atspre_add_uint_uint (tmp495, 1u) ; tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1 (arg0, 1u, tmp497) ; tmp498 = string2int_71 (ats_castfn_mac(ats_ptr_type, tmp496)) ; /* tmp499 = */ atspre_strptr_free (tmp496) ; tmp500 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp500)->tag = 12 ; ats_selptrset_mac(anairiats_sum_7, tmp500, atslab_0, tmp498) ; tmp480 = lexbufpos_token_reset_53 (arg0, arg1, tmp500) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp480 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DOT) ; break ; } while (0) ; return (tmp480) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 31679(line=1582, offs=3) -- 32256(line=1599, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_PERCENT (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_int_type, tmp502) ; ATSlocal (ats_char_type, tmp503) ; // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_bool_type, tmp506) ; ATSlocal (ats_int_type, tmp507) ; // ATSlocal_void (tmp508) ; ATSlocal (ats_uint_type, tmp509) ; ATSlocal (ats_uint_type, tmp510) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_PERCENT: tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp503 = atspre_char_of_int (tmp502) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (tmp503 != '(') { goto __ats_lab_73_0 ; } __ats_lab_72_1: /* tmp504 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp505 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; tmp501 = lexbufpos_token_reset_53 (arg0, arg1, tmp505) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (tmp503 != '{') { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp507 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol (arg1) ; tmp506 = atspre_eq_int_int (tmp507, 1) ; if (!tmp506) { goto __ats_lab_74_1 ; } /* tmp508 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_EXTCODE (arg0, arg1) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp509 = testing_symbolicseq0_40 (arg0, arg1) ; tmp510 = atspre_succ_uint (tmp509) ; tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp510) ; break ; } while (0) ; return (tmp501) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_PERCENT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 32397(line=1609, offs=3) -- 32808(line=1624, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOLLAR (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_int_type, tmp512) ; ATSlocal (ats_char_type, tmp513) ; ATSlocal (ats_bool_type, tmp514) ; // ATSlocal_void (tmp515) ; ATSlocal (ats_uint_type, tmp516) ; ATSlocal (ats_uint_type, tmp517) ; ATSlocal (ats_uint_type, tmp518) ; ATSlocal (ats_uint_type, tmp519) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOLLAR: tmp512 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp513 = atspre_char_of_int (tmp512) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp514 = IDENTFST_test_18 (tmp513) ; if (!tmp514) { goto __ats_lab_76_1 ; } /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp516 = testing_identrstseq0_39 (arg0, arg1) ; tmp517 = atspre_add_uint_uint (tmp516, 2u) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_dlr (arg0, arg1, tmp517) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp518 = testing_symbolicseq0_40 (arg0, arg1) ; tmp519 = atspre_succ_uint (tmp518) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp519) ; break ; } while (0) ; return (tmp511) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOLLAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 32946(line=1634, offs=3) -- 33505(line=1659, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_SHARP (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_int_type, tmp521) ; ATSlocal (ats_char_type, tmp522) ; // ATSlocal_void (tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_bool_type, tmp525) ; // ATSlocal_void (tmp526) ; ATSlocal (ats_uint_type, tmp527) ; ATSlocal (ats_uint_type, tmp528) ; ATSlocal (ats_uint_type, tmp529) ; ATSlocal (ats_uint_type, tmp530) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_SHARP: tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp522 = atspre_char_of_int (tmp521) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp522 != '[') { goto __ats_lab_78_0 ; } __ats_lab_77_1: /* tmp523 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp524 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; tmp520 = lexbufpos_token_reset_53 (arg0, arg1, tmp524) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp525 = IDENTFST_test_18 (tmp522) ; if (!tmp525) { goto __ats_lab_79_1 ; } /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp527 = testing_identrstseq0_39 (arg0, arg1) ; tmp528 = atspre_add_uint_uint (tmp527, 2u) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_srp (arg0, arg1, tmp528) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: tmp529 = testing_symbolicseq0_40 (arg0, arg1) ; tmp530 = atspre_succ_uint (tmp529) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp530) ; break ; } while (0) ; return (tmp520) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_SHARP] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 33644(line=1669, offs=3) -- 34026(line=1682, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_BQUOTE (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_int_type, tmp532) ; ATSlocal (ats_char_type, tmp533) ; // ATSlocal_void (tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_uint_type, tmp536) ; ATSlocal (ats_uint_type, tmp537) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_BQUOTE: tmp532 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp533 = atspre_char_of_int (tmp532) ; do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (tmp533 != '(') { goto __ats_lab_81_0 ; } __ats_lab_80_1: /* tmp534 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp535 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166) ; tmp531 = lexbufpos_token_reset_53 (arg0, arg1, tmp535) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: __ats_lab_81_1: tmp536 = testing_symbolicseq0_40 (arg0, arg1) ; tmp537 = atspre_succ_uint (tmp536) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, arg1, tmp537) ; break ; } while (0) ; return (tmp531) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_BQUOTE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 34626(line=1718, offs=7) -- 34858(line=1727, offs=15) */ ATSstaticdec() ats_int_type loop_79 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp539) ; ATSlocal (ats_bool_type, tmp540) ; ATSlocal (ats_int_type, tmp541) ; ATSlocal (ats_int_type, tmp542) ; ATSlocal (ats_int_type, tmp543) ; ATSlocal (ats_int_type, tmp544) ; ATSlocal (ats_char_type, tmp545) ; ATSlocal (ats_uint_type, tmp546) ; ATSlocal (ats_uint_type, tmp547) ; __ats_lab_loop_79: tmp540 = atspre_gt_uint_uint (arg1, 0u) ; if (tmp540) { tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg2) ; tmp543 = atspre_mul_int_int (arg3, 8) ; tmp545 = atspre_char_of_int (tmp541) ; tmp544 = atspre_sub_char_char (tmp545, '0') ; tmp542 = atspre_add_int_int (tmp543, tmp544) ; tmp546 = atspre_pred_uint (arg1) ; tmp547 = atspre_succ_uint (arg2) ; arg0 = arg0 ; arg1 = tmp546 ; arg2 = tmp547 ; arg3 = tmp542 ; goto __ats_lab_loop_79 ; // tail call } else { tmp539 = arg3 ; } /* end of [if] */ return (tmp539) ; } /* end of [loop_79] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 34600(line=1717, offs=3) -- 34949(line=1732, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_oct (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_int_type, tmp548) ; ATSlocal (ats_char_type, tmp549) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_oct: tmp548 = loop_79 (arg0, arg2, 2u, 0) ; tmp549 = atspre_char_of_int (tmp548) ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing (arg0, arg1, tmp549) ; return (tmp538) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_oct] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 35054(line=1739, offs=7) -- 35296(line=1748, offs=15) */ ATSstaticdec() ats_int_type loop_81 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp551) ; ATSlocal (ats_bool_type, tmp552) ; ATSlocal (ats_int_type, tmp553) ; ATSlocal (ats_int_type, tmp554) ; ATSlocal (ats_int_type, tmp555) ; ATSlocal (ats_int_type, tmp556) ; ATSlocal (ats_char_type, tmp557) ; ATSlocal (ats_uint_type, tmp558) ; ATSlocal (ats_uint_type, tmp559) ; __ats_lab_loop_81: tmp552 = atspre_gt_uint_uint (arg1, 0u) ; if (tmp552) { tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, arg2) ; tmp555 = atspre_mul_int_int (arg3, 16) ; tmp557 = atspre_char_of_int (tmp553) ; tmp556 = xdigit_get_val_0 (tmp557) ; tmp554 = atspre_add_int_int (tmp555, tmp556) ; tmp558 = atspre_pred_uint (arg1) ; tmp559 = atspre_succ_uint (arg2) ; arg0 = arg0 ; arg1 = tmp558 ; arg2 = tmp559 ; arg3 = tmp554 ; goto __ats_lab_loop_81 ; // tail call } else { tmp551 = arg3 ; } /* end of [if] */ return (tmp551) ; } /* end of [loop_81] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 35028(line=1738, offs=3) -- 35387(line=1753, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_hex (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_int_type, tmp560) ; ATSlocal (ats_char_type, tmp561) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_hex: tmp560 = loop_81 (arg0, arg2, 3u, 0) ; tmp561 = atspre_char_of_int (tmp560) ; tmp550 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing (arg0, arg1, tmp561) ; return (tmp550) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_hex] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 35470(line=1759, offs=3) -- 36280(line=1790, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_special (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_int_type, tmp563) ; ATSlocal (ats_char_type, tmp564) ; ATSlocal (ats_bool_type, tmp565) ; // ATSlocal_void (tmp566) ; ATSlocal (ats_char_type, tmp567) ; ATSlocal (ats_bool_type, tmp568) ; // ATSlocal_void (tmp569) ; ATSlocal (ats_uint_type, tmp570) ; ATSlocal (ats_bool_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_uint_type, tmp573) ; ATSlocal (ats_bool_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_special: tmp563 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp564 = atspre_char_of_int (tmp563) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp565 = ESCHAR_test_29 (tmp564) ; if (!tmp565) { goto __ats_lab_83_1 ; } /* tmp566 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp567 = char_for_escaped_1 (tmp564) ; tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing (arg0, arg1, tmp567) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp568 = xX_test_21 (tmp564) ; if (!tmp568) { goto __ats_lab_84_1 ; } /* tmp569 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp570 = testing_xdigitseq0_45 (arg0, arg1) ; tmp571 = atspre_eq_uint_uint (tmp570, 0u) ; if (tmp571) { tmp572 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_hex_1) ; tmp562 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp572) ; } else { tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_hex (arg0, arg1, tmp570) ; } /* end of [if] */ break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: tmp573 = testing_digitseq0_44 (arg0, arg1) ; tmp574 = atspre_eq_uint_uint (tmp573, 0u) ; if (tmp574) { tmp575 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_oct_0) ; tmp562 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp575) ; } else { tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_oct (arg0, arg1, tmp573) ; } /* end of [if] */ break ; } while (0) ; return (tmp562) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_special] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 36367(line=1796, offs=3) -- 36583(line=1803, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing (ats_ref_type arg0, ats_ref_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_int_type, tmp577) ; ATSlocal (ats_bool_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing: tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_litchar (arg0, arg1, '\'') ; tmp578 = atspre_gte_int_int (tmp577, 0) ; if (tmp578) { tmp579 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp579)->tag = 147 ; ats_selptrset_mac(anairiats_sum_3, tmp579, atslab_0, arg2) ; tmp576 = lexbufpos_token_reset_53 (arg0, arg1, tmp579) ; } else { tmp580 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_unclose_2) ; tmp576 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp580) ; } /* end of [if] */ return (tmp576) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 36663(line=1809, offs=3) -- 37228(line=1835, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_QUOTE (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_int_type, tmp582) ; ATSlocal (ats_bool_type, tmp583) ; ATSlocal (ats_char_type, tmp584) ; // ATSlocal_void (tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_bool_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_QUOTE: tmp582 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp583 = atspre_gte_int_int (tmp582, 0) ; if (tmp583) { tmp584 = atspre_char_of_int (tmp582) ; /* tmp585 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (tmp584 != '(') { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp586 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160) ; tmp581 = lexbufpos_token_reset_53 (arg0, arg1, tmp586) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (tmp584 != '[') { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp587 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162) ; tmp581 = lexbufpos_token_reset_53 (arg0, arg1, tmp587) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (tmp584 != '{') { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp588 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165) ; tmp581 = lexbufpos_token_reset_53 (arg0, arg1, tmp588) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp589 = atspre_eq_char_char (tmp584, '\\') ; if (!tmp589) { goto __ats_lab_89_1 ; } tmp581 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_special (arg0, arg1) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp581 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_char_closing (arg0, arg1, tmp584) ; break ; } while (0) ; } else { tmp590 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_QUOTE_dangling_3) ; tmp581 = lexbufpos_lexerr_reset_54 (arg0, arg1, tmp590) ; } /* end of [if] */ return (tmp581) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_QUOTE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 37663(line=1862, offs=7) -- 38076(line=1880, offs=15) */ ATSstaticdec() ats_int_type loop_86 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp592) ; ATSlocal (ats_bool_type, tmp593) ; ATSlocal (ats_int_type, tmp594) ; ATSlocal (ats_char_type, tmp595) ; ATSlocal (ats_bool_type, tmp596) ; // ATSlocal_void (tmp597) ; ATSlocal (ats_int_type, tmp598) ; ATSlocal (ats_int_type, tmp599) ; ATSlocal (ats_int_type, tmp600) ; ATSlocal (ats_int_type, tmp601) ; __ats_lab_loop_86: tmp593 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp593) { tmp594 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp595 = atspre_char_of_int (tmp594) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: __ats_lab_90_1: tmp596 = DIGIT_test_22 (tmp595) ; if (!tmp596) { goto __ats_lab_91_1 ; } /* tmp597 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp598 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp598 ; tmp600 = atspre_mul_int_int (8, arg3) ; tmp601 = atspre_sub_char_char (tmp595, '0') ; tmp599 = atspre_add_int_int (tmp600, tmp601) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp599 ; goto __ats_lab_loop_86 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: tmp592 = arg3 ; break ; } while (0) ; } else { tmp592 = arg3 ; } /* end of [if] */ return (tmp592) ; } /* end of [loop_86] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 37587(line=1858, offs=1) -- 38402(line=1893, offs=4) */ ATSstaticdec() ats_int_type lexing_string_char_oct_85 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp591) ; ATSlocal (ats_int_type, tmp602) ; ATSlocal (ats_int_type, tmp603) ; // ATSlocal_void (tmp604) ; ATSlocal (ats_bool_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; __ats_lab_lexing_string_char_oct_85: /* ats_int_type tmp602 ; */ tmp602 = 3 ; tmp603 = loop_86 (arg0, arg1, (&tmp602), 0) ; tmp605 = atspre_eq_int_int (tmp602, 3) ; if (tmp605) { tmp606 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (ats_ptrget_mac(pats_position_struct, arg1), ats_ptrget_mac(pats_position_struct, arg1)) ; tmp608 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_oct_5) ; tmp607 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp606, tmp608) ; /* tmp604 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp607) ; } else { /* empty */ } /* end of [if] */ tmp591 = tmp603 ; return (tmp591) ; } /* end of [lexing_string_char_oct_85] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 38540(line=1902, offs=7) -- 38966(line=1920, offs=15) */ ATSstaticdec() ats_int_type loop_88 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp610) ; ATSlocal (ats_bool_type, tmp611) ; ATSlocal (ats_int_type, tmp612) ; ATSlocal (ats_char_type, tmp613) ; ATSlocal (ats_bool_type, tmp614) ; // ATSlocal_void (tmp615) ; ATSlocal (ats_int_type, tmp616) ; ATSlocal (ats_int_type, tmp617) ; ATSlocal (ats_int_type, tmp618) ; ATSlocal (ats_int_type, tmp619) ; __ats_lab_loop_88: tmp611 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp611) { tmp612 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp613 = atspre_char_of_int (tmp612) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: tmp614 = XDIGIT_test_23 (tmp613) ; if (!tmp614) { goto __ats_lab_93_1 ; } /* tmp615 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp616 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp616 ; tmp618 = atspre_mul_int_int (16, arg3) ; tmp619 = xdigit_get_val_0 (tmp613) ; tmp617 = atspre_add_int_int (tmp618, tmp619) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp617 ; goto __ats_lab_loop_88 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: __ats_lab_93_1: tmp610 = arg3 ; break ; } while (0) ; } else { tmp610 = arg3 ; } /* end of [if] */ return (tmp610) ; } /* end of [loop_88] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 38464(line=1898, offs=1) -- 39281(line=1933, offs=4) */ ATSstaticdec() ats_int_type lexing_string_char_hex_87 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp609) ; ATSlocal (ats_int_type, tmp620) ; ATSlocal (ats_int_type, tmp621) ; // ATSlocal_void (tmp622) ; ATSlocal (ats_bool_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; __ats_lab_lexing_string_char_hex_87: /* ats_int_type tmp620 ; */ tmp620 = 2 ; tmp621 = loop_88 (arg0, arg1, (&tmp620), 0) ; tmp623 = atspre_eq_int_int (tmp620, 2) ; if (tmp623) { tmp624 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (ats_ptrget_mac(pats_position_struct, arg1), ats_ptrget_mac(pats_position_struct, arg1)) ; tmp626 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_hex_6) ; tmp625 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp624, tmp626) ; /* tmp622 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp625) ; } else { /* empty */ } /* end of [if] */ tmp609 = tmp621 ; return (tmp609) ; } /* end of [lexing_string_char_hex_87] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 39343(line=1938, offs=1) -- 39994(line=1965, offs=4) */ ATSstaticdec() ats_int_type lexing_string_char_special_89 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp627) ; ATSlocal (ats_int_type, tmp628) ; ATSlocal (ats_bool_type, tmp629) ; ATSlocal (ats_char_type, tmp630) ; // ATSlocal_void (tmp631) ; ATSlocal (ats_bool_type, tmp632) ; // ATSlocal_void (tmp633) ; ATSlocal (ats_char_type, tmp634) ; ATSlocal (ats_bool_type, tmp635) ; // ATSlocal_void (tmp636) ; __ats_lab_lexing_string_char_special_89: tmp628 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp629 = atspre_gte_int_int (tmp628, 0) ; if (tmp629) { tmp630 = atspre_char_of_int (tmp628) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (tmp630 != '\n') { goto __ats_lab_95_0 ; } __ats_lab_94_1: ats_ptrget_mac(ats_int_type, arg2) = 1 ; /* tmp631 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (arg1, tmp628) ; tmp627 = 0 ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp632 = ESCHAR_test_29 (tmp630) ; if (!tmp632) { goto __ats_lab_96_1 ; } /* tmp633 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp634 = char_for_escaped_1 (tmp630) ; tmp627 = atspre_int_of_char (tmp634) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: tmp635 = xX_test_21 (tmp630) ; if (!tmp635) { goto __ats_lab_97_1 ; } /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp627 = lexing_string_char_hex_87 (arg0, arg1) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: tmp627 = lexing_string_char_oct_85 (arg0, arg1) ; break ; } while (0) ; } else { tmp627 = 0 ; } /* end of [if] */ return (tmp627) ; } /* end of [lexing_string_char_special_89] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 40108(line=1974, offs=1) -- 40308(line=1982, offs=4) */ ATSstaticdec() ats_void_type regerr_91 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; __ats_lab_regerr_91: tmp639 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, arg1) ; tmp641 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_unclose_4) ; tmp640 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp639, tmp641) ; /* tmp638 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp640) ; return /* (tmp638) */ ; } /* end of [regerr_91] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 40335(line=1985, offs=1) -- 41116(line=2020, offs=4) */ ATSstaticdec() ats_size_type loop_92 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_size_type arg3, ats_size_type arg4) { /* local vardec */ ATSlocal (ats_size_type, tmp692) ; tmp692 = loop_92_0loop_ins_93 (0, arg0, arg1, arg2, arg3, arg4) ; return (tmp692) ; } /* end of [loop_92] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4302(line=161, offs=29) -- 4599(line=171, offs=4) */ ATSstaticdec() ats_ptr_type DEQUEptrnxt_02412_ats_uchar_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_bool_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; __ats_lab_DEQUEptrnxt_02412_ats_uchar_type: /* ats_ptr_type tmp671 ; */ tmp671 = atspre_padd_size (arg1, sizeof(ats_uchar_type)) ; tmp674 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ; tmp673 = atspre_pgte (tmp671, tmp674) ; if (tmp673) { tmp675 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; tmp671 = tmp675 ; } else { /* empty */ } /* end of [if] */ tmp670 = tmp671 ; return (tmp670) ; } /* end of [DEQUEptrnxt_02412_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 8755(line=344, offs=18) -- 9091(line=357, offs=4) */ ATSstaticdec() ats_void_type deque_insert_end_02393_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) { /* local vardec */ // ATSlocal_void (tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_size_type, tmp677) ; ATSlocal (ats_size_type, tmp678) ; __ats_lab_deque_insert_end_02393_ats_uchar_type: tmp668 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) ; tmp669 = DEQUEptrnxt_02412_ats_uchar_type (arg0, tmp668) ; tmp676 = ats_selsin_mac(tmp669, atslab_1) ; ats_ptrget_mac(ats_uchar_type, tmp668) = arg1 ; tmp678 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp677 = atspre_add_size1_int1 (tmp678, 1) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp677 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) = tmp676 ; return /* (tmp667) */ ; } /* end of [deque_insert_end_02393_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 3481(line=127, offs=3) -- 3517(line=127, offs=39) */ ATSstaticdec() ats_void_type queue_insert_01911_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) { /* local vardec */ // ATSlocal_void (tmp666) ; __ats_lab_queue_insert_01911_ats_uchar_type: /* tmp666 = */ deque_insert_end_02393_ats_uchar_type (arg0, arg1) ; return /* (tmp666) */ ; } /* end of [queue_insert_01911_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/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, tmp684) ; __ats_lab_array_ptr_alloc_01563_ats_uchar_type: tmp684 = atspre_array_ptr_alloc_tsz (arg0, sizeof(ats_uchar_type)) ; return (tmp684) ; } /* end of [array_ptr_alloc_01563_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 13207(line=513, offs=23) -- 13311(line=516, offs=71) */ ATSstaticdec() ats_ptr_type deque_update_capacity_02405_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp687) ; __ats_lab_deque_update_capacity_02405_ats_uchar_type: tmp687 = atslib_ngc_deque_arr_deque_update_capacity_tsz (arg0, arg1, arg2, sizeof(ats_uchar_type)) ; return (tmp687) ; } /* end of [deque_update_capacity_02405_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 4205(line=166, offs=3) -- 4422(line=171, offs=2) */ ATSstaticdec() ats_void_type queue_update_capacity_01918_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; ATSlocal (ats_ptr_type, tmp688) ; __ats_lab_queue_update_capacity_01918_ats_uchar_type: tmp683 = array_ptr_alloc_01563_ats_uchar_type (arg1) ; tmp685 = ats_selsin_mac(tmp683, atslab_2) ; tmp686 = deque_update_capacity_02405_ats_uchar_type (arg0, arg1, tmp685) ; tmp688 = ats_selsin_mac(tmp686, atslab_2) ; /* tmp682 = */ atspre_array_ptr_free (tmp688) ; return /* (tmp682) */ ; } /* end of [queue_update_capacity_01918_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 41143(line=2023, offs=1) -- 41793(line=2052, offs=4) */ ATSstaticdec() ats_size_type loop_ins_93 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_size_type, tmp693) ; tmp693 = loop_92_0loop_ins_93 (1, arg0, arg1, arg2, arg3, arg4, arg5) ; return (tmp693) ; } /* end of [loop_ins_93] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 40335(line=1985, offs=1) -- 41793(line=2052, offs=4) */ ATSstaticdec() ats_size_type loop_92_0loop_ins_93 (ats_int_type arg0, ...) { /* local vardec */ ATSlocal (ats_ref_type, tmp642) ; ATSlocal (ats_ref_type, tmp643) ; ATSlocal (ats_ref_type, tmp644) ; ATSlocal (ats_size_type, tmp645) ; ATSlocal (ats_size_type, tmp646) ; ATSlocal (ats_ref_type, tmp647) ; ATSlocal (ats_ref_type, tmp648) ; ATSlocal (ats_ref_type, tmp649) ; ATSlocal (ats_size_type, tmp650) ; ATSlocal (ats_size_type, tmp651) ; ATSlocal (ats_int_type, tmp652) ; ATSlocal (ats_size_type, tmp653) ; ATSlocal (ats_int_type, tmp654) ; ATSlocal (ats_bool_type, tmp655) ; ATSlocal (ats_char_type, tmp656) ; // ATSlocal_void (tmp657) ; ATSlocal (ats_int_type, tmp658) ; ATSlocal (ats_int_type, tmp659) ; ATSlocal (ats_bool_type, tmp660) ; // ATSlocal_void (tmp661) ; ATSlocal (ats_size_type, tmp662) ; ATSlocal (ats_uchar_type, tmp663) ; ATSlocal (ats_bool_type, tmp664) ; // ATSlocal_void (tmp665) ; ATSlocal (ats_size_type, tmp679) ; ATSlocal (ats_size_type, tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp689) ; ATSlocal (ats_size_type, tmp690) ; ATSlocal (ats_size_type, tmp691) ; va_list funarg ; switch (arg0) { case 0: va_start(funarg, arg0) ; tmp642 = va_arg(funarg, ats_ref_type) ; tmp643 = va_arg(funarg, ats_ref_type) ; tmp644 = va_arg(funarg, ats_ref_type) ; tmp645 = va_arg(funarg, ats_size_type) ; tmp646 = va_arg(funarg, ats_size_type) ; va_end(funarg) ; goto __ats_lab_loop_92 ; case 1: va_start(funarg, arg0) ; tmp647 = va_arg(funarg, ats_ref_type) ; tmp648 = va_arg(funarg, ats_ref_type) ; tmp649 = va_arg(funarg, ats_ref_type) ; tmp650 = va_arg(funarg, ats_size_type) ; tmp651 = va_arg(funarg, ats_size_type) ; tmp652 = va_arg(funarg, ats_int_type) ; va_end(funarg) ; goto __ats_lab_loop_ins_93 ; default: exit(1) ; /* deadcode */ } /* end of switch */ ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; __ats_lab_loop_92: tmp654 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (tmp642, tmp643) ; tmp655 = atspre_gte_int_int (tmp654, 0) ; if (tmp655) { tmp656 = atspre_char_of_int (tmp654) ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (tmp643, tmp654) ; do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (tmp656 != '"') { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp653 = tmp646 ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (tmp656 != '\\') { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* ats_int_type tmp658 ; */ tmp658 = 0 ; tmp659 = lexing_string_char_special_89 (tmp642, tmp643, (&tmp658)) ; tmp660 = atspre_eq_int_int (tmp658, 1) ; if (tmp660) { tmp642 = tmp642 ; tmp643 = tmp643 ; tmp644 = tmp644 ; tmp645 = tmp645 ; tmp646 = tmp646 ; goto __ats_lab_loop_92 ; // tail call } else { tmp647 = tmp642 ; tmp648 = tmp643 ; tmp649 = tmp644 ; tmp650 = tmp645 ; tmp651 = tmp646 ; tmp652 = tmp659 ; goto __ats_lab_loop_ins_93 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: tmp647 = tmp642 ; tmp648 = tmp643 ; tmp649 = tmp644 ; tmp650 = tmp645 ; tmp651 = tmp646 ; tmp652 = tmp654 ; goto __ats_lab_loop_ins_93 ; // tail call break ; } while (0) ; } else { /* tmp661 = */ regerr_91 (tmp642, tmp643) ; tmp653 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (tmp644) ; } /* end of [if] */ return tmp653 ; __ats_lab_loop_ins_93: tmp663 = atspre_uchar_of_int (tmp652) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: tmp664 = atspre_gt_size1_size1 (tmp650, tmp651) ; if (!tmp664) { goto __ats_lab_102_1 ; } /* tmp665 = */ queue_insert_01911_ats_uchar_type (tmp649, tmp663) ; tmp679 = atspre_add_size1_int1 (tmp651, 1) ; tmp642 = tmp647 ; tmp643 = tmp648 ; tmp644 = tmp649 ; tmp645 = tmp650 ; tmp646 = tmp679 ; goto __ats_lab_loop_92 ; // tail call break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp680 = atspre_add_size1_size1 (tmp650, tmp650) ; /* tmp681 = */ queue_update_capacity_01918_ats_uchar_type (tmp649, tmp680) ; /* tmp689 = */ queue_insert_01911_ats_uchar_type (tmp649, tmp663) ; tmp690 = atspre_add_size1_int1 (tmp651, 1) ; tmp642 = tmp647 ; tmp643 = tmp648 ; tmp644 = tmp649 ; tmp645 = tmp680 ; tmp646 = tmp690 ; goto __ats_lab_loop_92 ; // tail call break ; } while (0) ; return tmp662 ; return (tmp691) ; } /* end of [loop_92_0loop_ins_93] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5421(line=211, offs=22) -- 5522(line=214, offs=69) */ ATSstaticdec() ats_void_type deque_initialize_02385_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp699) ; __ats_lab_deque_initialize_02385_ats_uchar_type: /* tmp699 = */ atslib_ngc_deque_arr_deque_initialize_tsz (arg0, arg1, arg2, sizeof(ats_uchar_type)) ; return /* (tmp699) */ ; } /* end of [deque_initialize_02385_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 2304(line=77, offs=3) -- 2428(line=81, offs=4) */ ATSstaticdec() ats_void_type queue_initialize_01905_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; __ats_lab_queue_initialize_01905_ats_uchar_type: tmp697 = array_ptr_alloc_01563_ats_uchar_type (arg1) ; tmp698 = ats_selsin_mac(tmp697, atslab_2) ; /* tmp696 = */ deque_initialize_02385_ats_uchar_type (arg0, arg1, tmp698) ; return /* (tmp696) */ ; } /* end of [queue_initialize_01905_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 40085(line=1971, offs=3) -- 42125(line=2066, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DQUOTE (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (atslib_linqueue_arr_QUEUE, tmp694) ; // ATSlocal_void (tmp695) ; ATSlocal (ats_size_type, tmp700) ; ATSlocal (ats_ptr_type, tmp701) ; // ATSlocal_void (tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DQUOTE: /* atslib_linqueue_arr_QUEUE tmp694 ; */ /* tmp695 = */ queue_initialize_01905_ats_uchar_type ((&tmp694), 128) ; tmp700 = loop_92 (arg0, arg1, (&tmp694), 128, 0) ; tmp701 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1 ((&tmp694), 0, tmp700) ; /* tmp702 = */ atslib_linqueue_arr_queue_uninitialize ((&tmp694)) ; tmp703 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp703)->tag = 150 ; ats_selptrset_mac(anairiats_sum_8, tmp703, atslab_0, ats_castfn_mac(ats_ptr_type, tmp701)) ; tmp637 = lexbufpos_token_reset_53 (arg0, arg1, tmp703) ; return (tmp637) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DQUOTE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 42201(line=2073, offs=1) -- 42529(line=2087, offs=4) */ ATSstaticdec() ats_ptr_type lexing_postfix_103 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_char_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_int_type, tmp705) ; ATSlocal (ats_bool_type, tmp706) ; ATSlocal (ats_char_type, tmp707) ; // ATSlocal_void (tmp708) ; __ats_lab_lexing_postfix_103: tmp705 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: __ats_lab_103_1: tmp707 = atspre_char_of_int (tmp705) ; tmp706 = atspre_eq_char_char (arg4, tmp707) ; if (!tmp706) { goto __ats_lab_104_1 ; } /* tmp708 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp704 = lexbufpos_token_reset_53 (arg0, arg1, arg3) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: tmp704 = lexbufpos_token_reset_53 (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp704) ; } /* end of [lexing_postfix_103] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 42583(line=2092, offs=1) -- 43008(line=2109, offs=4) */ ATSstaticdec() ats_ptr_type lexing_polarity_104 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_int_type, tmp710) ; ATSlocal (ats_char_type, tmp711) ; // ATSlocal_void (tmp712) ; // ATSlocal_void (tmp713) ; __ats_lab_lexing_polarity_104: tmp710 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp711 = atspre_char_of_int (tmp710) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (tmp711 != '+') { goto __ats_lab_106_0 ; } __ats_lab_105_1: /* tmp712 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp709 = lexbufpos_token_reset_53 (arg0, arg1, arg3) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (tmp711 != '-') { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp713 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp709 = lexbufpos_token_reset_53 (arg0, arg1, arg4) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: tmp709 = lexbufpos_token_reset_53 (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp709) ; } /* end of [lexing_polarity_104] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43065(line=2114, offs=1) -- 43165(line=2117, offs=57) */ ATSstaticdec() ats_ptr_type lexing_FOR_105 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp714) ; __ats_lab_lexing_FOR_105: tmp714 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOR, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FORSTAR, '*') ; return (tmp714) ; } /* end of [lexing_FOR_105] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43173(line=2120, offs=1) -- 43279(line=2123, offs=61) */ ATSstaticdec() ats_ptr_type lexing_WHILE_106 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp715) ; __ats_lab_lexing_WHILE_106: tmp715 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILESTAR, '*') ; return (tmp715) ; } /* end of [lexing_WHILE_106] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43308(line=2128, offs=1) -- 43419(line=2132, offs=55) */ ATSstaticdec() ats_ptr_type lexing_CASE_107 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp716) ; __ats_lab_lexing_CASE_107: tmp716 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_neg) ; return (tmp716) ; } /* end of [lexing_CASE_107] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43449(line=2135, offs=5) -- 43557(line=2139, offs=52) */ ATSstaticdec() ats_ptr_type lexing_VAL_108 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp717) ; __ats_lab_lexing_VAL_108: tmp717 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_neg) ; return (tmp717) ; } /* end of [lexing_VAL_108] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43607(line=2145, offs=1) -- 43718(line=2149, offs=55) */ ATSstaticdec() ats_ptr_type lexing_TYPE_109 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp718) ; __ats_lab_lexing_TYPE_109: tmp718 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_neg) ; return (tmp718) ; } /* end of [lexing_TYPE_109] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43747(line=2152, offs=1) -- 43862(line=2156, offs=58) */ ATSstaticdec() ats_ptr_type lexing_T0YPE_110 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp719) ; __ats_lab_lexing_T0YPE_110: tmp719 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_neg) ; return (tmp719) ; } /* end of [lexing_T0YPE_110] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 43892(line=2159, offs=1) -- 44003(line=2163, offs=55) */ ATSstaticdec() ats_ptr_type lexing_PROP_111 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp720) ; __ats_lab_lexing_PROP_111: tmp720 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_neg) ; return (tmp720) ; } /* end of [lexing_PROP_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 44035(line=2167, offs=1) -- 44524(line=2187, offs=4) */ ATSstaticdec() ats_ptr_type lexing_VIEW_112 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_int_type, tmp722) ; ATSlocal (ats_char_type, tmp723) ; // ATSlocal_void (tmp724) ; // ATSlocal_void (tmp725) ; // ATSlocal_void (tmp726) ; __ats_lab_lexing_VIEW_112: tmp722 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp723 = atspre_char_of_int (tmp722) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (tmp723 != '@') { goto __ats_lab_109_0 ; } __ats_lab_108_1: /* tmp724 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp721 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWAT) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (tmp723 != '+') { goto __ats_lab_110_0 ; } __ats_lab_109_1: /* tmp725 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp721 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_pos) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (tmp723 != '-') { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp726 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp721 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_neg) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: __ats_lab_111_1: tmp721 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW) ; break ; } while (0) ; return (tmp721) ; } /* end of [lexing_VIEW_112] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 44556(line=2190, offs=1) -- 44683(line=2194, offs=67) */ ATSstaticdec() ats_ptr_type lexing_VIEWTYPE_113 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp727) ; __ats_lab_lexing_VIEWTYPE_113: tmp727 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_neg) ; return (tmp727) ; } /* end of [lexing_VIEWTYPE_113] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 44716(line=2197, offs=1) -- 44847(line=2201, offs=70) */ ATSstaticdec() ats_ptr_type lexing_VIEWT0YPE_114 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp728) ; __ats_lab_lexing_VIEWT0YPE_114: tmp728 = lexing_polarity_104 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_pos, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_neg) ; return (tmp728) ; } /* end of [lexing_VIEWT0YPE_114] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 44905(line=2206, offs=5) -- 45003(line=2209, offs=55) */ ATSstaticdec() ats_ptr_type lexing_LAM_115 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp729) ; __ats_lab_lexing_LAM_115: tmp729 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAM, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAMAT, '@') ; return (tmp729) ; } /* end of [lexing_LAM_115] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45008(line=2210, offs=5) -- 45109(line=2213, offs=57) */ ATSstaticdec() ats_ptr_type lexing_LLAM_116 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp730) ; __ats_lab_lexing_LLAM_116: tmp730 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAM, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAMAT, '@') ; return (tmp730) ; } /* end of [lexing_LLAM_116] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45117(line=2215, offs=5) -- 45215(line=2218, offs=55) */ ATSstaticdec() ats_ptr_type lexing_FIX_117 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp731) ; __ats_lab_lexing_FIX_117: tmp731 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIX, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIXAT, '@') ; return (tmp731) ; } /* end of [lexing_FIX_117] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45377(line=2231, offs=5) -- 45478(line=2234, offs=57) */ ATSstaticdec() ats_ptr_type lexing_ADDR_118 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp732) ; __ats_lab_lexing_ADDR_118: tmp732 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDR, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDRAT, '@') ; return (tmp732) ; } /* end of [lexing_ADDR_118] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45486(line=2236, offs=5) -- 45587(line=2239, offs=57) */ ATSstaticdec() ats_ptr_type lexing_FOLD_119 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp733) ; __ats_lab_lexing_FOLD_119: tmp733 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLD, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLDAT, '@') ; return (tmp733) ; } /* end of [lexing_FOLD_119] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45595(line=2241, offs=5) -- 45696(line=2244, offs=57) */ ATSstaticdec() ats_ptr_type lexing_FREE_120 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp734) ; __ats_lab_lexing_FREE_120: tmp734 = lexing_postfix_103 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREE, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREEAT, '@') ; return (tmp734) ; } /* end of [lexing_FREE_120] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 45750(line=2250, offs=3) -- 46591(line=2291, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_alp (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_int_type, tmp736) ; ATSlocal (ats_char_type, tmp737) ; // ATSlocal_void (tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; // ATSlocal_void (tmp741) ; ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; // ATSlocal_void (tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_alp: tmp736 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp737 = atspre_char_of_int (tmp736) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (tmp737 != '<') { goto __ats_lab_113_0 ; } __ats_lab_112_1: /* tmp738 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp739 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp740 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp740)->tag = 142 ; ats_selptrset_mac(anairiats_sum_8, tmp740, atslab_0, ats_castfn_mac(ats_ptr_type, tmp739)) ; tmp735 = lexbufpos_token_reset_53 (arg0, arg1, tmp740) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (tmp737 != '[') { goto __ats_lab_114_0 ; } __ats_lab_113_1: /* tmp741 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp742 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp743 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp743)->tag = 141 ; ats_selptrset_mac(anairiats_sum_8, tmp743, atslab_0, ats_castfn_mac(ats_ptr_type, tmp742)) ; tmp735 = lexbufpos_token_reset_53 (arg0, arg1, tmp743) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (tmp737 != '!') { goto __ats_lab_115_0 ; } __ats_lab_114_1: /* tmp744 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp745 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp746 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp746)->tag = 145 ; ats_selptrset_mac(anairiats_sum_8, tmp746, atslab_0, ats_castfn_mac(ats_ptr_type, tmp745)) ; tmp735 = lexbufpos_token_reset_53 (arg0, arg1, tmp746) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: __ats_lab_115_1: tmp747 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp735 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT2_alp (arg0, arg1, tmp747) ; break ; } while (0) ; return (tmp735) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_alp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 46676(line=2297, offs=6) -- 49997(line=2421, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT2_alp (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_bool_type, tmp750) ; ATSlocal (ats_int_type, tmp751) ; // ATSlocal_void (tmp752) ; ATSlocal (ats_bool_type, tmp753) ; ATSlocal (ats_int_type, tmp754) ; // ATSlocal_void (tmp755) ; ATSlocal (ats_bool_type, tmp756) ; ATSlocal (ats_int_type, tmp757) ; // ATSlocal_void (tmp758) ; // ATSlocal_void (tmp759) ; // ATSlocal_void (tmp760) ; ATSlocal (ats_bool_type, tmp761) ; ATSlocal (ats_int_type, tmp762) ; // ATSlocal_void (tmp763) ; // ATSlocal_void (tmp764) ; // ATSlocal_void (tmp765) ; ATSlocal (ats_bool_type, tmp766) ; ATSlocal (ats_int_type, tmp767) ; // ATSlocal_void (tmp768) ; // ATSlocal_void (tmp769) ; // ATSlocal_void (tmp770) ; // ATSlocal_void (tmp771) ; ATSlocal (ats_bool_type, tmp772) ; ATSlocal (ats_int_type, tmp773) ; // ATSlocal_void (tmp774) ; // ATSlocal_void (tmp775) ; // ATSlocal_void (tmp776) ; // ATSlocal_void (tmp777) ; // ATSlocal_void (tmp778) ; // ATSlocal_void (tmp779) ; // ATSlocal_void (tmp780) ; // ATSlocal_void (tmp781) ; // ATSlocal_void (tmp782) ; // ATSlocal_void (tmp783) ; // ATSlocal_void (tmp784) ; // ATSlocal_void (tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; // ATSlocal_void (tmp788) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT2_alp: tmp749 = IDENT_alp_get_lexsym_14 (ats_castfn_mac(ats_ptr_type, arg2)) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp749)->tag != 20) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp750 = atspre_gte_int_int (tmp751, 0) ; if (!tmp750) { goto __ats_lab_140_1 ; } /* tmp752 = */ atspre_strptr_free (arg2) ; tmp748 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp749)->tag != 21) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp754 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp753 = atspre_gte_int_int (tmp754, 0) ; if (!tmp753) { goto __ats_lab_140_1 ; } /* tmp755 = */ atspre_strptr_free (arg2) ; tmp748 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp749)->tag != 22) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp757 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp756 = atspre_gte_int_int (tmp757, 0) ; if (!tmp756) { goto __ats_lab_140_1 ; } /* tmp758 = */ atspre_strptr_free (arg2) ; tmp748 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp749)->tag != 2) { goto __ats_lab_120_0 ; } __ats_lab_119_1: /* tmp759 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_CASE_107 (arg0, arg1) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp749)->tag != 9) { goto __ats_lab_121_0 ; } __ats_lab_120_1: /* tmp760 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_PROP_111 (arg0, arg1) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp749)->tag != 13) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp762 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp761 = atspre_gte_int_int (tmp762, 0) ; if (!tmp761) { goto __ats_lab_140_1 ; } /* tmp763 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_T0YPE_110 (arg0, arg1) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp749)->tag != 10) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp764 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_TYPE_109 (arg0, arg1) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp749)->tag != 14) { goto __ats_lab_124_0 ; } __ats_lab_123_1: /* tmp765 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_T0YPE_110 (arg0, arg1) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp749)->tag != 15) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp767 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp766 = atspre_gte_int_int (tmp767, 0) ; if (!tmp766) { goto __ats_lab_140_1 ; } /* tmp768 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWT0YPE_114 (arg0, arg1) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp749)->tag != 16) { goto __ats_lab_126_0 ; } __ats_lab_125_1: /* tmp769 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWTYPE_113 (arg0, arg1) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp749)->tag != 17) { goto __ats_lab_127_0 ; } __ats_lab_126_1: /* tmp770 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWT0YPE_114 (arg0, arg1) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp749)->tag != 11) { goto __ats_lab_128_0 ; } __ats_lab_127_1: /* tmp771 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEW_112 (arg0, arg1) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp749)->tag != 18) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp773 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__testing_literal (arg0, arg1, ATSstrcst("@ype")) ; tmp772 = atspre_gte_int_int (tmp773, 0) ; if (!tmp772) { goto __ats_lab_140_1 ; } /* tmp774 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWT0YPE_114 (arg0, arg1) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp749)->tag != 12) { goto __ats_lab_130_0 ; } __ats_lab_129_1: /* tmp775 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWTYPE_113 (arg0, arg1) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp749)->tag != 19) { goto __ats_lab_131_0 ; } __ats_lab_130_1: /* tmp776 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VIEWT0YPE_114 (arg0, arg1) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp749)->tag != 1) { goto __ats_lab_132_0 ; } __ats_lab_131_1: /* tmp777 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_VAL_108 (arg0, arg1) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp749)->tag != 23) { goto __ats_lab_133_0 ; } __ats_lab_132_1: /* tmp778 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_FOR_105 (arg0, arg1) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp749)->tag != 24) { goto __ats_lab_134_0 ; } __ats_lab_133_1: /* tmp779 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_WHILE_106 (arg0, arg1) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp749)->tag != 3) { goto __ats_lab_135_0 ; } __ats_lab_134_1: /* tmp780 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_ADDR_118 (arg0, arg1) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp749)->tag != 4) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp781 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_FOLD_119 (arg0, arg1) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp749)->tag != 5) { goto __ats_lab_137_0 ; } __ats_lab_136_1: /* tmp782 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_FREE_120 (arg0, arg1) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp749)->tag != 7) { goto __ats_lab_138_0 ; } __ats_lab_137_1: /* tmp783 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_LAM_115 (arg0, arg1) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp749)->tag != 8) { goto __ats_lab_139_0 ; } __ats_lab_138_1: /* tmp784 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_LLAM_116 (arg0, arg1) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp749)->tag != 6) { goto __ats_lab_140_0 ; } __ats_lab_139_1: /* tmp785 = */ atspre_strptr_free (arg2) ; tmp748 = lexing_FIX_117 (arg0, arg1) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: __ats_lab_140_1: tmp786 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search (ats_castfn_mac(ats_ptr_type, arg2)) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp786)->tag != 0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp787 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp787)->tag = 139 ; ats_selptrset_mac(anairiats_sum_8, tmp787, atslab_0, ats_castfn_mac(ats_ptr_type, arg2)) ; tmp748 = lexbufpos_token_reset_53 (arg0, arg1, tmp787) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: __ats_lab_142_1: /* tmp788 = */ atspre_strptr_free (arg2) ; tmp748 = lexbufpos_token_reset_53 (arg0, arg1, tmp786) ; break ; } while (0) ; break ; } while (0) ; return (tmp748) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT2_alp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 50079(line=2427, offs=3) -- 51568(line=2486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp791) ; // ATSlocal_void (tmp792) ; // ATSlocal_void (tmp793) ; // ATSlocal_void (tmp794) ; // ATSlocal_void (tmp795) ; // ATSlocal_void (tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; // ATSlocal_void (tmp799) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym: tmp790 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp791 = IDENT_sym_get_lexsym_16 (ats_castfn_mac(ats_ptr_type, tmp790)) ; do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp791)->tag != 25) { goto __ats_lab_144_0 ; } __ats_lab_143_1: /* tmp792 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count (arg1, 1u) ; /* tmp793 = */ atspre_strptr_free (tmp790) ; tmp789 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__QMARK) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp791)->tag != 26) { goto __ats_lab_145_0 ; } __ats_lab_144_1: /* tmp794 = */ atspre_strptr_free (tmp790) ; tmp789 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_line (arg0, arg1) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp791)->tag != 27) { goto __ats_lab_146_0 ; } __ats_lab_145_1: /* tmp795 = */ atspre_strptr_free (tmp790) ; tmp789 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_block_c (arg0, arg1) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp791)->tag != 28) { goto __ats_lab_147_0 ; } __ats_lab_146_1: /* tmp796 = */ atspre_strptr_free (tmp790) ; tmp789 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMENT_rest (arg0, arg1) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: __ats_lab_147_1: tmp797 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search (ats_castfn_mac(ats_ptr_type, tmp790)) ; do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp797)->tag != 0) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp798 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp798)->tag = 140 ; ats_selptrset_mac(anairiats_sum_8, tmp798, atslab_0, ats_castfn_mac(ats_ptr_type, tmp790)) ; tmp789 = lexbufpos_token_reset_53 (arg0, arg1, tmp798) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: __ats_lab_149_1: /* tmp799 = */ atspre_strptr_free (tmp790) ; tmp789 = lexbufpos_token_reset_53 (arg0, arg1, tmp797) ; break ; } while (0) ; break ; } while (0) ; return (tmp789) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 51649(line=2492, offs=3) -- 52146(line=2518, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_dlr (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_ptr_type, tmp803) ; // ATSlocal_void (tmp804) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_dlr: tmp801 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp802 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search (ats_castfn_mac(ats_ptr_type, tmp801)) ; do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp802)->tag != 0) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp803 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp803)->tag = 143 ; ats_selptrset_mac(anairiats_sum_8, tmp803, atslab_0, ats_castfn_mac(ats_ptr_type, tmp801)) ; tmp800 = lexbufpos_token_reset_53 (arg0, arg1, tmp803) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: __ats_lab_151_1: /* tmp804 = */ atspre_strptr_free (tmp801) ; tmp800 = lexbufpos_token_reset_53 (arg0, arg1, tmp802) ; break ; } while (0) ; return (tmp800) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_dlr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 52227(line=2524, offs=3) -- 52734(line=2554, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_srp (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; // ATSlocal_void (tmp809) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_srp: tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, arg2) ; tmp807 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search (ats_castfn_mac(ats_ptr_type, tmp806)) ; do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp807)->tag != 0) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp808 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp808)->tag = 144 ; ats_selptrset_mac(anairiats_sum_8, tmp808, atslab_0, ats_castfn_mac(ats_ptr_type, tmp806)) ; tmp805 = lexbufpos_token_reset_53 (arg0, arg1, tmp808) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: __ats_lab_153_1: /* tmp809 = */ atspre_strptr_free (tmp806) ; tmp805 = lexbufpos_token_reset_53 (arg0, arg1, tmp807) ; break ; } while (0) ; return (tmp805) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_srp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 52819(line=2560, offs=3) -- 53027(line=2566, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_uint_type, tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp: tmp811 = testing_floatspseq0_47 (arg0, arg1) ; tmp812 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (arg0, arg1) ; tmp813 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp813)->tag = 148 ; ats_selptrset_mac(anairiats_sum_9, tmp813, atslab_0, 10) ; ats_selptrset_mac(anairiats_sum_9, tmp813, atslab_1, ats_castfn_mac(ats_ptr_type, tmp812)) ; ats_selptrset_mac(anairiats_sum_9, tmp813, atslab_2, tmp811) ; tmp810 = lexbufpos_token_reset_53 (arg0, arg1, tmp813) ; return (tmp810) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 53116(line=2572, offs=3) -- 53324(line=2578, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_uint_type, tmp815) ; ATSlocal (ats_ptr_type, tmp816) ; ATSlocal (ats_ptr_type, tmp817) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp: tmp815 = testing_floatspseq0_47 (arg0, arg1) ; tmp816 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (arg0, arg1) ; tmp817 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp817)->tag = 148 ; ats_selptrset_mac(anairiats_sum_9, tmp817, atslab_0, 16) ; ats_selptrset_mac(anairiats_sum_9, tmp817, atslab_1, ats_castfn_mac(ats_ptr_type, tmp816)) ; ats_selptrset_mac(anairiats_sum_9, tmp817, atslab_2, tmp815) ; tmp814 = lexbufpos_token_reset_53 (arg0, arg1, tmp817) ; return (tmp814) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 53407(line=2584, offs=3) -- 53936(line=2608, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp818) ; ATSlocal (ats_bool_type, tmp819) ; ATSlocal (ats_int_type, tmp820) ; ATSlocal (ats_bool_type, tmp821) ; ATSlocal (ats_int_type, tmp822) ; ATSlocal (ats_uint_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec: do { /* branch: __ats_lab_154 */ __ats_lab_154_0: __ats_lab_154_1: tmp820 = testing_deciexp_50 (arg0, arg1) ; tmp819 = atspre_gte_int_int (tmp820, 0) ; if (!tmp819) { goto __ats_lab_155_1 ; } tmp818 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp (arg0, arg1) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: __ats_lab_155_1: tmp822 = testing_fexponent_48 (arg0, arg1) ; tmp821 = atspre_gte_int_int (tmp822, 0) ; if (!tmp821) { goto __ats_lab_156_1 ; } tmp818 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_deciexp (arg0, arg1) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: __ats_lab_156_1: tmp823 = testing_intspseq0_46 (arg0, arg1) ; tmp824 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (arg0, arg1) ; tmp825 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp825)->tag = 146 ; ats_selptrset_mac(anairiats_sum_9, tmp825, atslab_0, 10) ; ats_selptrset_mac(anairiats_sum_9, tmp825, atslab_1, ats_castfn_mac(ats_ptr_type, tmp824)) ; ats_selptrset_mac(anairiats_sum_9, tmp825, atslab_2, tmp823) ; tmp818 = lexbufpos_token_reset_53 (arg0, arg1, tmp825) ; break ; } while (0) ; return (tmp818) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 54013(line=2614, offs=3) -- 54362(line=2638, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_oct (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp826) ; ATSlocal (ats_bool_type, tmp827) ; ATSlocal (ats_uint_type, tmp828) ; ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_oct: tmp827 = atspre_eq_uint_uint (arg2, 0u) ; if (tmp827) { tmp826 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec (arg0, arg1) ; } else { tmp828 = testing_intspseq0_46 (arg0, arg1) ; tmp829 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (arg0, arg1) ; tmp830 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp830)->tag = 146 ; ats_selptrset_mac(anairiats_sum_9, tmp830, atslab_0, 8) ; ats_selptrset_mac(anairiats_sum_9, tmp830, atslab_1, ats_castfn_mac(ats_ptr_type, tmp829)) ; ats_selptrset_mac(anairiats_sum_9, tmp830, atslab_2, tmp828) ; tmp826 = lexbufpos_token_reset_53 (arg0, arg1, tmp830) ; } /* end of [if] */ return (tmp826) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_oct] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 54439(line=2644, offs=3) -- 55033(line=2673, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_hex (ats_ref_type arg0, ats_ref_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp831) ; ATSlocal (ats_bool_type, tmp832) ; ATSlocal (ats_int_type, tmp833) ; ATSlocal (ats_bool_type, tmp834) ; ATSlocal (ats_int_type, tmp835) ; ATSlocal (ats_uint_type, tmp836) ; ATSlocal (ats_ptr_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_hex: do { /* branch: __ats_lab_157 */ __ats_lab_157_0: __ats_lab_157_1: tmp833 = testing_hexiexp_51 (arg0, arg1) ; tmp832 = atspre_gte_int_int (tmp833, 0) ; if (!tmp832) { goto __ats_lab_158_1 ; } tmp831 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp (arg0, arg1) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: __ats_lab_158_1: tmp835 = testing_fexponent_bin_49 (arg0, arg1) ; tmp834 = atspre_gte_int_int (tmp835, 0) ; if (!tmp834) { goto __ats_lab_159_1 ; } tmp831 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_FLOAT_hexiexp (arg0, arg1) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: __ats_lab_159_1: tmp836 = testing_intspseq0_46 (arg0, arg1) ; tmp837 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (arg0, arg1) ; tmp838 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp838)->tag = 146 ; ats_selptrset_mac(anairiats_sum_9, tmp838, atslab_0, 16) ; ats_selptrset_mac(anairiats_sum_9, tmp838, atslab_1, ats_castfn_mac(ats_ptr_type, tmp837)) ; ats_selptrset_mac(anairiats_sum_9, tmp838, atslab_2, tmp836) ; tmp831 = lexbufpos_token_reset_53 (arg0, arg1, tmp838) ; break ; } while (0) ; return (tmp831) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_hex] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 55170(line=2683, offs=3) -- 55770(line=2716, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_ZERO (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp839) ; ATSlocal (ats_int_type, tmp840) ; ATSlocal (ats_bool_type, tmp841) ; ATSlocal (ats_char_type, tmp842) ; ATSlocal (ats_bool_type, tmp843) ; // ATSlocal_void (tmp844) ; ATSlocal (ats_uint_type, tmp845) ; ATSlocal (ats_uint_type, tmp846) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_ZERO: tmp840 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_char (arg0, arg1) ; tmp841 = atspre_gte_int_int (tmp840, 0) ; if (tmp841) { tmp842 = atspre_char_of_int (tmp840) ; do { /* branch: __ats_lab_160 */ __ats_lab_160_0: __ats_lab_160_1: tmp843 = xX_test_21 (tmp842) ; if (!tmp843) { goto __ats_lab_161_1 ; } /* tmp844 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (arg1, 1u) ; tmp845 = testing_xdigitseq0_45 (arg0, arg1) ; tmp839 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_hex (arg0, arg1, tmp845) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: __ats_lab_161_1: tmp846 = testing_octalseq0_41 (arg0, arg1) ; tmp839 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_oct (arg0, arg1, tmp846) ; break ; } while (0) ; } else { tmp839 = lexbufpos_token_reset_53 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INTZERO) ; } /* end of [if] */ return (tmp839) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_ZERO] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 55847(line=2722, offs=3) -- 58319(line=2823, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp847) ; ATSlocal (pats_position_struct, tmp848) ; // ATSlocal_void (tmp849) ; ATSlocal (ats_uint_type, tmp850) ; // ATSlocal_void (tmp851) ; // ATSlocal_void (tmp852) ; ATSlocal (ats_int_type, tmp853) ; ATSlocal (ats_bool_type, tmp854) ; ATSlocal (ats_char_type, tmp855) ; // ATSlocal_void (tmp856) ; ATSlocal (ats_bool_type, tmp857) ; ATSlocal (ats_bool_type, tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_bool_type, tmp860) ; ATSlocal (ats_ptr_type, tmp861) ; ATSlocal (ats_bool_type, tmp862) ; ATSlocal (ats_ptr_type, tmp863) ; ATSlocal (ats_bool_type, tmp864) ; ATSlocal (ats_ptr_type, tmp865) ; ATSlocal (ats_bool_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; ATSlocal (ats_bool_type, tmp868) ; ATSlocal (ats_bool_type, tmp869) ; ATSlocal (ats_ptr_type, tmp870) ; ATSlocal (ats_bool_type, tmp871) ; ATSlocal (ats_bool_type, tmp872) ; ATSlocal (ats_bool_type, tmp873) ; ATSlocal (ats_bool_type, tmp874) ; ATSlocal (ats_bool_type, tmp875) ; ATSlocal (ats_bool_type, tmp876) ; ATSlocal (ats_bool_type, tmp877) ; ATSlocal (ats_bool_type, tmp878) ; ATSlocal (ats_bool_type, tmp879) ; ATSlocal (ats_bool_type, tmp880) ; ATSlocal (ats_ptr_type, tmp881) ; ATSlocal (ats_bool_type, tmp882) ; ATSlocal (ats_uint_type, tmp883) ; ATSlocal (ats_uint_type, tmp884) ; ATSlocal (ats_bool_type, tmp885) ; ATSlocal (ats_uint_type, tmp886) ; ATSlocal (ats_uint_type, tmp887) ; ATSlocal (ats_bool_type, tmp888) ; ATSlocal (ats_bool_type, tmp889) ; ATSlocal (ats_uint_type, tmp890) ; ATSlocal (ats_ptr_type, tmp891) ; ATSlocal (ats_ptr_type, tmp892) ; ATSlocal (ats_ptr_type, tmp893) ; // ATSlocal_void (tmp894) ; // ATSlocal_void (tmp895) ; ATSlocal (ats_ptr_type, tmp896) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token: /* pats_position_struct tmp848 ; */ /* tmp849 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, (&tmp848)) ; tmp850 = testing_blankseq0_34 (arg0, (&tmp848)) ; /* tmp851 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_nspace (arg0, ats_castfn_mac(ats_int_type, tmp850)) ; /* tmp852 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, (&tmp848)) ; tmp853 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, 0u) ; tmp854 = atspre_gte_int_int (tmp853, 0) ; if (tmp854) { tmp855 = atspre_char_of_int (tmp853) ; /* tmp856 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char ((&tmp848), tmp853) ; do { /* branch: __ats_lab_162 */ __ats_lab_162_0: __ats_lab_162_1: tmp857 = atspre_eq_char_char (tmp855, '(') ; if (!tmp857) { goto __ats_lab_163_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_LPAREN (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: __ats_lab_163_1: tmp858 = atspre_eq_char_char (tmp855, ')') ; if (!tmp858) { goto __ats_lab_164_1 ; } tmp859 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp859) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: __ats_lab_164_1: tmp860 = atspre_eq_char_char (tmp855, '[') ; if (!tmp860) { goto __ats_lab_165_1 ; } tmp861 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp861) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: __ats_lab_165_1: tmp862 = atspre_eq_char_char (tmp855, ']') ; if (!tmp862) { goto __ats_lab_166_1 ; } tmp863 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp863) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: __ats_lab_166_1: tmp864 = atspre_eq_char_char (tmp855, '{') ; if (!tmp864) { goto __ats_lab_167_1 ; } tmp865 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp865) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: __ats_lab_167_1: tmp866 = atspre_eq_char_char (tmp855, '}') ; if (!tmp866) { goto __ats_lab_168_1 ; } tmp867 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp867) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: __ats_lab_168_1: tmp868 = atspre_eq_char_char (tmp855, ',') ; if (!tmp868) { goto __ats_lab_169_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COMMA (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: __ats_lab_169_1: tmp869 = atspre_eq_char_char (tmp855, ';') ; if (!tmp869) { goto __ats_lab_170_1 ; } tmp870 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp870) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: __ats_lab_170_1: tmp871 = atspre_eq_char_char (tmp855, '@') ; if (!tmp871) { goto __ats_lab_171_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_AT (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: __ats_lab_171_1: tmp872 = atspre_eq_char_char (tmp855, ':') ; if (!tmp872) { goto __ats_lab_172_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_COLON (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: __ats_lab_172_1: tmp873 = atspre_eq_char_char (tmp855, '.') ; if (!tmp873) { goto __ats_lab_173_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOT (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: __ats_lab_173_1: tmp874 = atspre_eq_char_char (tmp855, '$') ; if (!tmp874) { goto __ats_lab_174_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DOLLAR (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: __ats_lab_174_1: tmp875 = atspre_eq_char_char (tmp855, '#') ; if (!tmp875) { goto __ats_lab_175_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_SHARP (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: __ats_lab_175_1: tmp876 = atspre_eq_char_char (tmp855, '%') ; if (!tmp876) { goto __ats_lab_176_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_PERCENT (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: __ats_lab_176_1: tmp877 = atspre_eq_char_char (tmp855, '\'') ; if (!tmp877) { goto __ats_lab_177_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_QUOTE (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: __ats_lab_177_1: tmp878 = atspre_eq_char_char (tmp855, '"') ; if (!tmp878) { goto __ats_lab_178_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_DQUOTE (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: __ats_lab_178_1: tmp879 = atspre_eq_char_char (tmp855, '`') ; if (!tmp879) { goto __ats_lab_179_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_BQUOTE (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: __ats_lab_179_1: tmp880 = atspre_eq_char_char (tmp855, '\\') ; if (!tmp880) { goto __ats_lab_180_1 ; } tmp881 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp881) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: __ats_lab_180_1: tmp882 = IDENTFST_test_18 (tmp855) ; if (!tmp882) { goto __ats_lab_181_1 ; } tmp883 = testing_identrstseq0_39 (arg0, (&tmp848)) ; tmp884 = atspre_succ_uint (tmp883) ; tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_alp (arg0, (&tmp848), tmp884) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: __ats_lab_181_1: tmp885 = SYMBOLIC_test_20 (tmp855) ; if (!tmp885) { goto __ats_lab_182_1 ; } tmp886 = testing_symbolicseq0_40 (arg0, (&tmp848)) ; tmp887 = atspre_succ_uint (tmp886) ; tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_IDENT_sym (arg0, (&tmp848), tmp887) ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: __ats_lab_182_1: tmp888 = atspre_eq_char_char (tmp855, '0') ; if (!tmp888) { goto __ats_lab_183_1 ; } tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_ZERO (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: __ats_lab_183_1: tmp889 = DIGIT_test_22 (tmp855) ; if (!tmp889) { goto __ats_lab_184_1 ; } tmp890 = testing_digitseq0_44 (arg0, (&tmp848)) ; tmp847 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__lexing_INT_dec (arg0, (&tmp848)) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: __ats_lab_184_1: tmp891 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbufpos_get_location (arg0, (&tmp848)) ; tmp893 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp893)->tag = 11 ; ats_selptrset_mac(anairiats_sum_3, tmp893, atslab_0, tmp855) ; tmp892 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (tmp891, tmp893) ; /* tmp894 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (tmp892) ; /* tmp895 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_set_position (arg0, (&tmp848)) ; arg0 = arg0 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token ; // tail call break ; } while (0) ; } else { tmp896 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; tmp847 = lexbufpos_token_reset_53 (arg0, (&tmp848), tmp896) ; } /* end of [if] */ return (tmp847) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing.dats: 58408(line=2829, offs=3) -- 58780(line=2849, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; ATSlocal (ats_ptr_type, tmp899) ; ATSlocal (ats_ptr_type, tmp900) ; ATSlocal (ats_ptr_type, tmp901) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt: tmp898 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token (arg0) ; tmp899 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp898), atslab_token_node) ; do { /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp899)->tag != 170) { goto __ats_lab_186_0 ; } __ats_lab_185_1: arg0 = arg0 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt ; // tail call break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: if (((ats_sum_ptr_type)tmp899)->tag != 171) { goto __ats_lab_187_0 ; } __ats_lab_186_1: arg0 = arg0 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt ; // tail call break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: if (((ats_sum_ptr_type)tmp899)->tag != 172) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp900 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp898), atslab_token_loc) ; tmp901 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; tmp897 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__token_make (tmp900, tmp901) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: __ats_lab_188_1: tmp897 = tmp898 ; break ; } while (0) ; return (tmp897) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2string_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) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2string_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_NONE_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VAL_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_CASE_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ADDR_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOLD_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FREE_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FIX_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LAM_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LLAM_8.tag = 8 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_PROP_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_TYPE_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEW_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWTYPE_12.tag = 12 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T0YPE_14.tag = 14 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT_15.tag = 15 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VTYPE_16.tag = 16 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT0YPE_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT_18.tag = 18 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT0YPE_19.tag = 19 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABST_20.tag = 20 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVT_21.tag = 21 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVIEWT_22.tag = 22 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOR_23.tag = 23 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_WHILE_24.tag = 24 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_QMARKGT_25.tag = 25 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH2_26.tag = 26 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASHSTAR_27.tag = 27 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_SLASH4_28.tag = 28 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert1_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats____assert2_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp14, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp84, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp86, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp88, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp90, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp92, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp94, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp96, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp98, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp100, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp102, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp104, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp106, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp108, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp110, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp112, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp114, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp116, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp118, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp120, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp122, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp124, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp126, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp128, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp130, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp14 = atslib_hashtbl_make_hint__linprb_string_2clexsym (ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), 53) ; statmp84 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VAL_1) ; /* statmp83 = */ insert_7 (statmp14, ATSstrcst("val"), statmp84) ; statmp86 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_CASE_2) ; /* statmp85 = */ insert_7 (statmp14, ATSstrcst("case"), statmp86) ; statmp88 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ADDR_3) ; /* statmp87 = */ insert_7 (statmp14, ATSstrcst("addr"), statmp88) ; statmp90 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOLD_4) ; /* statmp89 = */ insert_7 (statmp14, ATSstrcst("fold"), statmp90) ; statmp92 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FREE_5) ; /* statmp91 = */ insert_7 (statmp14, ATSstrcst("free"), statmp92) ; statmp94 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LAM_7) ; /* statmp93 = */ insert_7 (statmp14, ATSstrcst("lam"), statmp94) ; statmp96 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_LLAM_8) ; /* statmp95 = */ insert_7 (statmp14, ATSstrcst("llam"), statmp96) ; statmp98 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FIX_6) ; /* statmp97 = */ insert_7 (statmp14, ATSstrcst("fix"), statmp98) ; statmp100 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_PROP_9) ; /* statmp99 = */ insert_7 (statmp14, ATSstrcst("prop"), statmp100) ; statmp102 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_TYPE_10) ; /* statmp101 = */ insert_7 (statmp14, ATSstrcst("type"), statmp102) ; statmp104 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEW_11) ; /* statmp103 = */ insert_7 (statmp14, ATSstrcst("view"), statmp104) ; statmp106 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWTYPE_12) ; /* statmp105 = */ insert_7 (statmp14, ATSstrcst("viewtype"), statmp106) ; statmp108 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T_13) ; /* statmp107 = */ insert_7 (statmp14, ATSstrcst("t"), statmp108) ; statmp110 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_T0YPE_14) ; /* statmp109 = */ insert_7 (statmp14, ATSstrcst("t0ype"), statmp110) ; statmp112 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT_15) ; /* statmp111 = */ insert_7 (statmp14, ATSstrcst("vt"), statmp112) ; statmp114 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VTYPE_16) ; /* statmp113 = */ insert_7 (statmp14, ATSstrcst("vtype"), statmp114) ; statmp116 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VT0YPE_17) ; /* statmp115 = */ insert_7 (statmp14, ATSstrcst("vt0ype"), statmp116) ; statmp118 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT_18) ; /* statmp117 = */ insert_7 (statmp14, ATSstrcst("viewt"), statmp118) ; statmp120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_VIEWT0YPE_19) ; /* statmp119 = */ insert_7 (statmp14, ATSstrcst("viewt0ype"), statmp120) ; statmp122 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABST_20) ; /* statmp121 = */ insert_7 (statmp14, ATSstrcst("abst"), statmp122) ; statmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVT_21) ; /* statmp123 = */ insert_7 (statmp14, ATSstrcst("absvt"), statmp124) ; statmp126 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_ABSVIEWT_22) ; /* statmp125 = */ insert_7 (statmp14, ATSstrcst("absviewt"), statmp126) ; statmp128 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_FOR_23) ; /* statmp127 = */ insert_7 (statmp14, ATSstrcst("for"), statmp128) ; statmp130 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__LS_WHILE_24) ; /* statmp129 = */ insert_7 (statmp14, ATSstrcst("while"), statmp130) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lexing_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_typerase_staexp_dats.c0000664000175000017500000027766512655455557022050 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_mhnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_funptr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_clotyp) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datcontyp) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_mhnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app2) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_appcst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_fun) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datconptr) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datcontyp) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyarr) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyrec) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer_labize) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_appcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_tyrec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type auxlst_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_ptr_type aux_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 4278(line=182, offs=3) -- 4555(line=198, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (arg2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp2 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp3) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (tmp2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst (arg2) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst (arg2) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 4622(line=204, offs=1) -- 4719(line=210, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer (arg0, arg1, tmp5) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 4793(line=216, offs=3) -- 4842(line=216, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep: tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, 1, arg1) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 4903(line=221, offs=3) -- 4952(line=221, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow: tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, 0, arg1) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 5029(line=228, offs=3) -- 6516(line=291, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp9), atslab_s2exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp10)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer (arg0, arg1, tmp11) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp10)->tag != 7) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar (tmp12) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp10)->tag != 8) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp13) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (arg0, tmp14) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp10)->tag != 11) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datconptr (arg0, arg1, tmp9) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp10)->tag != 10) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datcontyp (arg0, arg1, tmp9) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp10)->tag != 17) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_5, tmp10, atslab_0) ; tmp16 = ats_caselptrlab_mac(anairiats_sum_5, tmp10, atslab_1) ; tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp9), atslab_s2exp_srt) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app (arg0, arg1, tmp17, tmp15, tmp16) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp10)->tag != 18) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_5, tmp10, atslab_1) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp18) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp10)->tag != 19) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_fun (arg0, arg1, tmp9) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp10)->tag != 20) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_6, tmp10, atslab_2) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp19) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp10)->tag != 22) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_7, tmp10, atslab_1) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp20) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp10)->tag != 23) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp21) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp10)->tag != 24) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyarr (arg0, arg1, tmp9) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp10)->tag != 25) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyrec (arg0, arg1, tmp9) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp10)->tag != 26) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp22) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp10)->tag != 27) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_6, tmp10, atslab_2) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp23) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp10)->tag != 28) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_6, tmp10, atslab_2) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp24) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp10)->tag != 29) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_7, tmp10, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_7, tmp10, atslab_1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp26) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg (tmp25, tmp27) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp10)->tag != 30) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg (tmp28) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp10)->tag != 31) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_5, tmp10, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp29) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp (tmp9) ; break ; } while (0) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 6587(line=297, offs=1) -- 6922(line=313, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app: tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg3) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp31) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp32), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp33)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_4, tmp33, atslab_0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_appcst (arg0, arg1, arg2, tmp34, arg4) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf (arg0, arg1, arg2, tmp31, arg4) ; break ; } while (0) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 6977(line=316, offs=17) -- 7643(line=346, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app2 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app2: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg3) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp36) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp37), atslab_s2exp_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp38)->tag != 18) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_1) ; /* ats_ptr_type tmp41 ; */ tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst ((&tmp41), tmp39, arg4) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp41, tmp40) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp41) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp43) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf (arg0, arg1, arg2, tmp36, arg4) ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 7722(line=352, offs=1) -- 7913(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2hnf_tyer (arg0, arg1, arg3) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst (arg0, arg4) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app (tmp46, tmp47) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_apphnf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 7994(line=365, offs=1) -- 8493(line=387, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_appcst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_appcst: tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (arg3) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp49 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_28_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_2, tmp49, atslab_0) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (tmp50 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_2, tmp50, atslab_0) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_app2 (arg0, arg1, arg2, tmp51, arg4) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp50 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer (arg0, arg1, arg3) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst (arg0, arg4) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app (tmp52, tmp53) ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp49 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srt (arg2) ; break ; } while (0) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_appcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 8573(line=393, offs=3) -- 9179(line=433, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_fun (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_fun: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp55)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 8723(line=405, offs=1) -- 8791(line=408, offs=20)") ; } tmp56 = ats_caselptrlab_mac(anairiats_sum_8, tmp55, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_8, tmp55, atslab_3) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_8, tmp55, atslab_4) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_8, tmp55, atslab_5) ; tmp60 = atspre_gt_int_int (arg1, 0) ; if (tmp60) { tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer (arg0, tmp57, tmp58) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp59) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun (tmp56, tmp61, tmp62) ; } else { do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp56 != (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_funptr ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp56 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_9, tmp56, atslab_0) ; tmp64 = atspre_eq_int_int (tmp63, 0) ; if (tmp64) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_clotyp ; } else { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr ; } /* end of [if] */ break ; } while (0) ; } /* end of [if] */ return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9264(line=439, offs=3) -- 9301(line=439, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datconptr (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datconptr: tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datconptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9359(line=445, offs=3) -- 9618(line=459, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datcontyp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datcontyp: tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp67)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9391(line=447, offs=5) -- 9435(line=448, offs=32)") ; } tmp68 = ats_caselptrlab_mac(anairiats_sum_5, tmp67, atslab_0) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_5, tmp67, atslab_1) ; tmp70 = atspre_gt_int_int (arg1, 0) ; if (tmp70) { tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf (tmp68) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer_labize (arg0, tmp71, tmp69) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (tmp68, tmp72) ; } else { tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datcontyp ; } /* end of [if] */ return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_datcontyp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9703(line=465, offs=3) -- 9865(line=473, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyarr (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyarr: tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp74)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9735(line=467, offs=5) -- 9778(line=468, offs=35)") ; } tmp75 = ats_caselptrlab_mac(anairiats_sum_5, tmp74, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_5, tmp74, atslab_1) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp75) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr (tmp77, tmp76) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9946(line=479, offs=3) -- 10517(line=508, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyrec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyrec: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp79)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 9978(line=481, offs=5) -- 10024(line=482, offs=38)") ; } tmp80 = ats_caselptrlab_mac(anairiats_sum_10, tmp79, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_10, tmp79, atslab_1) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_10, tmp79, atslab_2) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer (arg0, arg1, tmp81, tmp82) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp80)->tag != 0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp84 = atspre_gt_int_int (arg1, 0) ; if (tmp84) { tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp80, tmp83) ; } else { tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp80)->tag != 4) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp80, tmp83) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp83 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } tmp85 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_1) ; if (tmp85 != (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_0) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin (tmp86) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp80, tmp83) ; break ; } while (0) ; break ; } while (0) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2exp_tyer_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 10595(line=514, offs=3) -- 11015(line=535, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp88) ; if (tmp90) { arg0 = arg0 ; arg1 = tmp89 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer ; // tail call } else { tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp88) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer (arg0, tmp89) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp87, atslab_0, tmp91) ; ats_selptrset_mac(anairiats_sum_11, tmp87, atslab_1, tmp92) ; } /* end of [if] */ break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp87 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 11094(line=541, offs=3) -- 11279(line=552, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer: tmp94 = atspre_gt_int_int (arg1, 0) ; if (tmp94) { if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 11150(line=545, offs=7) -- 11176(line=545, offs=33)") ; } tmp95 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp96 = atspre_sub_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp96 ; arg2 = tmp95 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer ; // tail call } else { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer (arg0, arg2) ; } /* end of [if] */ return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 11400(line=560, offs=5) -- 12114(line=594, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; __ats_lab_auxlst_17: tmp99 = atspre_gt_int_int (arg1, 0) ; if (tmp99) { if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 11516(line=567, offs=7) -- 11542(line=567, offs=33)") ; } tmp100 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp101 = atspre_sub_int_int (arg1, 1) ; tmp102 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp101 ; arg2 = tmp100 ; arg3 = tmp102 ; goto __ats_lab_auxlst_17 ; // tail call } else { do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp103) ; if (tmp105) { tmp106 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp104 ; arg3 = tmp106 ; goto __ats_lab_auxlst_17 ; // tail call } else { tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg3) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp103) ; tmp110 = (ats_sum_ptr_type)0 ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp109, atslab_0, tmp107) ; ats_selptrset_mac(anairiats_sum_12, tmp109, atslab_1, tmp110) ; ats_selptrset_mac(anairiats_sum_12, tmp109, atslab_2, tmp108) ; tmp112 = atspre_add_int_int (arg3, 1) ; tmp111 = auxlst_17 (arg0, arg1, tmp104, tmp112) ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp98, atslab_0, tmp109) ; ats_selptrset_mac(anairiats_sum_11, tmp98, atslab_1, tmp111) ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp98 = (ats_sum_ptr_type)0 ; break ; } while (0) ; } /* end of [if] */ return (tmp98) ; } /* end of [auxlst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 11369(line=558, offs=3) -- 12173(line=598, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer_labize (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer_labize: tmp97 = auxlst_17 (arg0, arg1, arg2, 0) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_npf_tyer_labize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 12262(line=604, offs=3) -- 12771(line=627, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_12, tmp114, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_12, tmp114, atslab_1) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_12, tmp114, atslab_2) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp118) ; if (tmp119) { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp115 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer ; // tail call } else { tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer (arg0, arg1, tmp118) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp121, atslab_0, tmp116) ; ats_selptrset_mac(anairiats_sum_12, tmp121, atslab_1, tmp117) ; ats_selptrset_mac(anairiats_sum_12, tmp121, atslab_2, tmp120) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer (arg0, arg1, tmp115) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp113, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_11, tmp113, atslab_1, tmp122) ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp113 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp113) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 12856(line=633, offs=3) -- 13070(line=644, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_bool_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer: tmp124 = atspre_gt_int_int (arg2, 0) ; if (tmp124) { if (arg3 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 12919(line=637, offs=7) -- 12947(line=637, offs=35)") ; } tmp125 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_1) ; tmp126 = atspre_sub_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp126 ; arg3 = tmp125 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer ; // tail call } else { tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_tyer (arg0, arg1, arg3) ; } /* end of [if] */ return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2explst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 13159(line=650, offs=3) -- 13684(line=673, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp128), atslab_s2exp_srt) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (tmp130) ; if (tmp131) { tmp132 = ats_true_bool ; } else { tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind (tmp130) ; } /* end of [if] */ if (tmp132) { tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp128) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst (arg0, tmp129) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp127, atslab_0, tmp133) ; ats_selptrset_mac(anairiats_sum_11, tmp127, atslab_1, tmp134) ; } else { arg0 = arg0 ; arg1 = tmp129 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp127 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2explst_tyer_arglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 13764(line=679, offs=3) -- 14292(line=710, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2cst_tyer (arg0, 0, tmp136) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar (tmp137) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_app (arg0, tmp138, tmp139) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_tyrec (arg0, arg1) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp (arg1) ; break ; } while (0) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 14365(line=716, offs=1) -- 14538(line=727, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_app: tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (arg0, arg1) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst (arg0, arg2) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app (tmp141, tmp142) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 14622(line=733, offs=3) -- 15016(line=751, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_54_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp144)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: arg0 = arg0 ; arg1 = tmp145 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst ; // tail call break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (arg0, tmp144) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst (arg0, tmp145) ; tmp143 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp143, atslab_0, tmp146) ; ats_selptrset_mac(anairiats_sum_11, tmp143, atslab_1, tmp147) ; break ; } while (0) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp143 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexplst_tyer_arglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 15103(line=757, offs=3) -- 15544(line=779, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_tyrec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_tyrec: if (((ats_sum_ptr_type)arg1)->tag != 9) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 15130(line=759, offs=5) -- 15163(line=760, offs=24)") ; } tmp149 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer (arg0, tmp150) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp149)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp149)->tag != 4) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp149, tmp151) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (tmp151 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } tmp152 = ats_caselptrlab_mac(anairiats_sum_11, tmp151, atslab_1) ; if (tmp152 != (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_11, tmp151, atslab_0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin (tmp153) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp149, tmp151) ; break ; } while (0) ; break ; } while (0) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__s2zexp_tyer_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 15626(line=785, offs=3) -- 16143(line=806, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_63_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_11, tmp155, atslab_0) ; tmp158 = ats_caselptrlab_mac(anairiats_sum_11, tmp155, atslab_1) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp158)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: arg0 = arg0 ; arg1 = tmp156 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer ; // tail call break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (arg0, tmp158) ; tmp161 = (ats_sum_ptr_type)0 ; tmp160 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp160, atslab_0, tmp157) ; ats_selptrset_mac(anairiats_sum_12, tmp160, atslab_1, tmp161) ; ats_selptrset_mac(anairiats_sum_12, tmp160, atslab_2, tmp159) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer (arg0, tmp156) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp154, atslab_0, tmp160) ; ats_selptrset_mac(anairiats_sum_11, tmp154, atslab_1, tmp162) ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp154 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__labs2zexplst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 16272(line=815, offs=5) -- 16541(line=831, offs=4) */ ATSstaticdec() ats_ptr_type aux_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab_aux_27: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (arg0, tmp166) ; tmp169 = aux_27 (arg0, tmp167) ; tmp165 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp165, atslab_0, tmp168) ; ats_selptrset_mac(anairiats_sum_11, tmp165, atslab_1, tmp169) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp165 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp165) ; } /* end of [aux_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 16220(line=811, offs=15) -- 16599(line=835, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_tyer: tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t2mpmarg_loc) ; tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t2mpmarg_arg) ; tmp163 = aux_27 (tmp164, tmp170) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_tyer] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab_loop_31: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_1) ; tmp178 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp176, arg3) ; tmp179 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp179, atslab_0, tmp178) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp179 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp180 = &ats_caselptrlab_mac(anairiats_sum_11, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp177 ; arg1 = arg1 ; arg2 = tmp180 ; arg3 = arg3 ; goto __ats_lab_loop_31 ; // tail call break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp181 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp181 ; break ; } while (0) ; return /* (tmp175) */ ; } /* end of [loop_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp182 ; */ /* tmp183 = */ loop_31 (arg0, arg1, (&tmp182), arg2) ; tmp174 = tmp182 ; return (tmp174) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp173 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp173) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 16654(line=838, offs=18) -- 16750(line=842, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_tyer: tmp172 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_tyer) ; tmp171 = ats_castfn_mac(ats_ptr_type, tmp172) ; return (tmp171) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 16831(line=848, offs=3) -- 16976(line=854, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_mhnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_mhnfize: tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t2mpmarg_loc) ; tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t2mpmarg_arg) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_mhnfize (tmp186) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (tmp185, tmp187) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_mhnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_staexp.dats: 17039(line=858, offs=3) -- 17142(line=864, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize: tmp189 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarg_mhnfize) ; tmp188 = ats_castfn_mac(ats_ptr_type, tmp189) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_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 () ; #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_typerase_staexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_hole_dats.c0000664000175000017500000004462712655455557021213 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2hole_srt ; ats_int_type atslab_s2hole_stamp ; } anairiats_rec_1 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2hole_stamp_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_stamp) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2hole_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp3 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp3) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_hole.dats: 1863(line=67, offs=17) -- 2130(line=77, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2hole_stamp_make () ; tmp2 = ptr_alloc_01070_anairiats_rec_1 () ; tmp4 = ats_selsin_mac(tmp2, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_s2hole_srt) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_s2hole_stamp) = tmp1 ; tmp0 = atspre_ref_make_view_ptr (tmp4) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_hole.dats: 2185(line=80, offs=16) -- 2275(line=82, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_srt: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp5 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2hole_srt) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_hole.dats: 2331(line=85, offs=18) -- 2423(line=87, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_stamp: tmp8 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp7 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp8), atslab_s2hole_stamp) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_hole.dats: 2524(line=95, offs=3) -- 2640(line=101, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_stamp (arg1) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp10) ; return /* (tmp9) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_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 () ; #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_staexp2_hole_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_termet_dats.c0000664000175000017500000014446712655455557022263 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { anairiats_rec_3 atslab_0 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_nil) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_member) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_add) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isnat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_get_termet) (ats_int_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__termetenv_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type f_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_12 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_19 (ats_ptr_type arg0) ; static ats_ptr_type aux_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp12) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 1777(line=61, offs=1) -- 2138(line=78, offs=4) */ ATSstaticdec() ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_loop_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp2), atslab_s2exp_srt) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int (tmp5) ; if (tmp4) { tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isnat (arg0, tmp2) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp7) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp3 ; goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp1) */ ; } /* end of [loop_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 1747(line=58, offs=3) -- 2192(line=82, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet: /* tmp0 = */ loop_1 (arg0, arg1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp11 ; */ tmp11 = arg0 ; tmp10 = atspre_ref_make_elt_tsz ((&tmp11), sizeof(ats_ptr_type)) ; return (tmp10) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp9 = ref_01088_ats_ptr_type (arg0) ; return (tmp9) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 2471(line=99, offs=3) -- 2781(line=113, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_pop () { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_pop: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp15 = ats_ptrget_mac(ats_ptr_type, tmp14) ; if (tmp15 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 2625(line=105, offs=5) -- 2658(line=105, offs=38)") ; } tmp16 = &ats_caselptrlab_mac(anairiats_sum_4, tmp15, atslab_0) ; tmp17 = &ats_caselptrlab_mac(anairiats_sum_4, tmp15, atslab_1) ; tmp19 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp16), atslab_0) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_free (tmp19) ; tmp20 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp21 = ats_ptrget_mac(ats_ptr_type, tmp14) ; ATS_FREE(tmp21) ; ats_ptrget_mac(ats_ptr_type, tmp14) = tmp20 ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 2836(line=117, offs=3) -- 3001(line=127, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (anairiats_rec_3, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push: tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp25.atslab_0 = arg0 ; tmp25.atslab_1 = arg1 ; tmp26 = ats_ptrget_mac(ats_ptr_type, tmp23) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, tmp25) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_1, tmp26) ; ats_ptrget_mac(ats_ptr_type, tmp23) = tmp24 ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 3153(line=134, offs=6) -- 3243(line=137, offs=49) */ ATSstaticdec() ats_ptr_type f_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; __ats_lab_f_7: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_add (arg0, tmp30) ; return (tmp29) ; } /* end of [f_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20) */ ATSstaticdec() ats_ptr_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_loop_10: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp37 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg0) (arg1, tmp35, arg3) ; arg0 = arg0 ; arg1 = tmp37 ; arg2 = tmp36 ; arg3 = arg3 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp34 = arg1 ; break ; } while (0) ; return (tmp34) ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type: tmp33 = loop_10 (arg0, arg1, arg2, arg3) ; return (tmp33) ; } /* end of [list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type: tmp32 = list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ; return (tmp32) ; } /* end of [list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 3065(line=131, offs=3) -- 3357(line=142, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push_dvarlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push_dvarlst: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_nil () ; tmp31 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&f_7, tmp28, arg0) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push (tmp31, arg1) ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push_dvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 3523(line=151, offs=5) -- 3983(line=172, offs=4) */ ATSstaticdec() ats_ptr_type loop_12 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_loop_12: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp40 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp41 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp43 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp40), atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_member (tmp43, arg1) ; if (tmp42) { tmp44 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp40), atslab_1) ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp39, atslab_0, tmp44) ; } else { tmp45 = ats_ptrget_mac(ats_ptr_type, tmp41) ; arg0 = tmp45 ; arg1 = arg1 ; goto __ats_lab_loop_12 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp39 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp39) ; } /* end of [loop_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 3427(line=146, offs=3) -- 4099(line=178, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_get_termet (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_get_termet: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ; tmp47 = ats_ptrget_mac(ats_ptr_type, tmp46) ; tmp38 = loop_12 (tmp47, arg0) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_get_termet] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 4194(line=184, offs=3) -- 4559(line=202, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_termet_instantiate (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_termet_instantiate: tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_get_termet (arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp49 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_5, tmp49, atslab_0) ; ATS_FREE(tmp49) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec (arg0, arg2, tmp50) ; /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp51) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp49 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop (arg0, tmp52) ; break ; } while (0) ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_termet_instantiate] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab_loop_18: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp77 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp75, arg3) ; tmp78 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp78, atslab_0, tmp77) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp78 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp79 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp76 ; arg1 = arg1 ; arg2 = tmp79 ; arg3 = arg3 ; goto __ats_lab_loop_18 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp80 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp80 ; break ; } while (0) ; return /* (tmp74) */ ; } /* end of [loop_18] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp81 ; */ /* tmp82 = */ loop_18 (arg0, arg1, (&tmp81), arg2) ; tmp73 = tmp81 ; return (tmp73) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp72 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp72) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 5307(line=236, offs=51) -- 5333(line=236, offs=77) */ ATSstaticdec() ats_ptr_type __ats_fun_19 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; __ats_lab___ats_fun_19: tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s2exp_srt) ; return (tmp83) ; } /* end of [__ats_fun_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 4675(line=210, offs=5) -- 5730(line=254, offs=4) */ ATSstaticdec() ats_ptr_type aux_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_int_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab_aux_15: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp55) ; tmp57 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp56), atslab_s2exp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp57)->tag != 19) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_1) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_2) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_3) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_4) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_5) ; tmp64 = aux_15 (tmp63, arg1, arg2) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp64 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_5, tmp64, atslab_0) ; ATS_FREE(tmp64) ; tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp56), atslab_s2exp_srt) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp67, tmp58, tmp59, tmp60, tmp61, tmp62, tmp65) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp54, atslab_0, tmp66) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp64 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 4946(line=225, offs=5) -- 5121(line=229, offs=32)") ; } __ats_lab_10_1: tmp54 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp57)->tag != 20) { goto __ats_lab_14_0 ; } __ats_lab_11_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_7, tmp57, atslab_1) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_7, tmp57, atslab_2) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg1) ; tmp71 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp68, &__ats_fun_19) ; ats_ptrget_mac(ats_ptr_type, arg2) = ats_castfn_mac(ats_ptr_type, tmp71) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp85, atslab_0, tmp70) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun (tmp85, tmp68, tmp69) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp54, atslab_0, tmp84) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp57)->tag != 28) { goto __ats_lab_17_0 ; } __ats_lab_14_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_7, tmp57, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_7, tmp57, atslab_1) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_7, tmp57, atslab_2) ; tmp89 = aux_15 (tmp88, arg1, arg2) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp89 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_5, tmp89, atslab_0) ; ATS_FREE(tmp89) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp86, tmp87, tmp90) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp54, atslab_0, tmp91) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp89 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp54 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp54 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp54) ; } /* end of [aux_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_termet.dats: 4649(line=208, offs=3) -- 5896(line=263, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_metfun_load (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (anairiats_rec_3, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_metfun_load: /* ats_ptr_type tmp92 ; */ tmp92 = (ats_sum_ptr_type)0 ; tmp93 = aux_15 (arg0, arg1, (&tmp92)) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp93 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_5, tmp93, atslab_0) ; ATS_FREE(tmp93) ; tmp95.atslab_0 = tmp94 ; tmp95.atslab_1 = tmp92 ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp53, atslab_0, tmp95) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp93 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp53 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_metfun_load] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp12 = (ats_sum_ptr_type)0 ; statmp8 = ref_make_elt_01089_ats_ptr_type (statmp12) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_termet_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_lvalres_dats.c0000664000175000017500000025264712655455557021563 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_11 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_fun_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_funarg_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_refval_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_linpatcon_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_funclo_topized_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_exch_type_oldnew_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_exch_type_linold_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_exch_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_d3exp_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context_check) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_linold_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type d2var_refval_check_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) ; static ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_12 (ats_ptr_type arg0) ; static ats_bool_type s2exp_fun_is_freeptr_14 (ats_ptr_type arg0) ; static ats_void_type auxerr_15 (ats_ptr_type arg0) ; static ats_ptr_type auxres_16 (ats_ptr_type arg0) ; static ats_ptr_type auxlst1_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxlst2_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 1767(line=58, offs=18) -- 1799(line=58, offs=50) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_lvalres")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_02084_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 2291(line=93, offs=1) -- 2699(line=106, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_auxerr_pfobj_1: /* tmp2 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": type-restoration cannot be performed")) ; /* tmp6 = */ atspre_prerr_newline () ; /* tmp7 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp9 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp10 = */ atspre_prerr_newline () ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp11)->tag = 53 ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_1, arg1) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp11) ; return /* (tmp1) */ ; } /* end of [auxerr_pfobj_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 2730(line=108, offs=5) -- 3862(line=154, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (anairiats_rec_1, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_auxmain_3: // tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_2) ; ATS_FREE(arg1) ; /* ats_ptr_type tmp16 ; */ tmp16 = (ats_sum_ptr_type)0 ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context_check (arg0, tmp15, arg2, (&tmp16)) ; tmp18 = ats_select_mac(tmp17, atslab_0) ; tmp20 = ats_select_mac(tmp17, atslab_1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp20) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp16 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp16, atslab_0) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp21, arg3) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp14, tmp22) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_0, tmp23) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp13, tmp25) ; tmp12 = tmp18 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp16 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, arg3, tmp18) ; tmp28 = atspre_gt_int_int (tmp26, 0) ; if (tmp28) { /* tmp29 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst(": mismatch of bef/aft types of call-by-reference: ")) ; /* tmp31 = */ atspre_prerr_newline () ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp33)->tag = 77 ; ats_selptrset_mac(anairiats_sum_5, tmp33, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp33, atslab_1, tmp15) ; ats_selptrset_mac(anairiats_sum_5, tmp33, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp33, atslab_3, arg3) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp33) ; } else { /* empty */ } /* end of [if] */ tmp12 = tmp18 ; break ; } while (0) ; return (tmp12) ; } /* end of [auxmain_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 3935(line=160, offs=1) -- 4205(line=173, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp35 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_4, tmp35, atslab_0) ; ATS_FREE(tmp35) ; tmp34 = auxmain_3 (arg0, tmp36, arg2, arg3) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp35 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: /* tmp37 = */ auxerr_pfobj_1 (arg0, arg1) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 4291(line=182, offs=1) -- 4656(line=193, offs=4) */ ATSstaticdec() ats_void_type auxerr_linold_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_auxerr_linold_5: /* tmp39 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp40 = */ atspre_prerr_string (ATSstrcst(": a linear component of the following type is abandoned: ")) ; /* tmp41 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp43 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp44 = */ atspre_prerr_newline () ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp45)->tag = 78 ; ats_selptrset_mac(anairiats_sum_6, tmp45, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp45, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp45, atslab_2, arg2) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp45) ; return /* (tmp38) */ ; } /* end of [auxerr_linold_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 4688(line=196, offs=1) -- 5084(line=208, offs=6) */ ATSstaticdec() ats_void_type d2var_refval_check_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_bool_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_d2var_refval_check_6: tmp47 = atspre_gt_int_int (arg2, 0) ; if (tmp47) { /* tmp48 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp51 = */ atspre_prerr_string (ATSstrcst("] is required to be mutable in order to support call-by-reference.")) ; /* tmp52 = */ atspre_prerr_newline () ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp53)->tag = 73 ; ats_selptrset_mac(anairiats_sum_2, tmp53, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp53, atslab_1, arg1) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp53) ; } else { /* empty */ } /* end of [if] */ return /* (tmp46) */ ; } /* end of [d2var_refval_check_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; __ats_lab_prerr_interror_loc_02080_: /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp94 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp95 = */ prerr_FILENAME_02078_ () ; /* tmp92 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp92) */ ; } /* end of [prerr_interror_loc_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 5186(line=215, offs=1) -- 8790(line=348, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_bool_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_d3exp_loc) ; tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_d3exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp56)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_8, tmp56, atslab_0) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp57) ; if (!tmp58) { goto __ats_lab_5_1 ; } tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp57) ; if (tmp59 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 5498(line=236, offs=9) -- 5531(line=236, offs=42)") ; } tmp60 = ats_caselptrlab_mac(anairiats_sum_4, tmp59, atslab_0) ; tmp61 = (ats_sum_ptr_type)0 ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type (tmp55, tmp60, tmp61, arg2) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp56)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_5_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_8, tmp56, atslab_0) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (tmp63) ; if (!tmp64) { goto __ats_lab_18_1 ; } /* tmp65 = */ d2var_refval_check_6 (tmp55, tmp63, arg0) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_0, arg2) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_exch_type (tmp63, tmp67) ; /* tmp68 = */ patsopt_d3exp_set_type (arg1, arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp66 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_4, tmp66, atslab_0) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp69) ; if (tmp70) { tmp71 = (ats_sum_ptr_type)0 ; /* tmp54 = */ auxerr_linold_5 (tmp55, arg1, tmp71, tmp69) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp66 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp56)->tag != 39) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_0) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_2) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp72) ; if (!tmp74) { goto __ats_lab_9_1 ; } tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp72) ; if (tmp75 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 6439(line=271, offs=9) -- 6472(line=271, offs=42)") ; } tmp76 = ats_caselptrlab_mac(anairiats_sum_4, tmp75, atslab_0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type (tmp55, tmp76, tmp73, arg2) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp56)->tag != 39) { goto __ats_lab_12_0 ; } __ats_lab_9_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_2) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (tmp78) ; if (!tmp80) { goto __ats_lab_18_1 ; } /* tmp81 = */ d2var_refval_check_6 (tmp55, tmp78, arg0) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (tmp55, tmp78) ; /* ats_ptr_type tmp83 ; */ tmp83 = (ats_sum_ptr_type)0 ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (tmp55, tmp82, tmp79, (&tmp83)) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp84) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp85) ; if (tmp86) { /* tmp87 = */ auxerr_linold_5 (tmp55, arg1, tmp79, tmp85) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp83 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_4, tmp83, atslab_0) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp88, arg2) ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp90, atslab_0, tmp89) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp78, tmp90) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp83 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: /* tmp91 = */ prerr_interror_loc_02080_ (tmp55) ; /* tmp96 = */ atspre_prerr_string (ATSstrcst(": type-restoration for the left-value failed.")) ; /* tmp97 = */ atspre_prerr_newline () ; tmp98 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 7438(line=301, offs=18) -- 7454(line=301, offs=34)", ATSstrcst("\n")) ; /* tmp54 = */ atspre_assert_errmsg (ats_false_bool, tmp98) ; break ; } while (0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp56)->tag != 40) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_2) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp99) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp101) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (tmp102) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp103 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_4, tmp103, atslab_0) ; ATS_FREE(tmp103) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type (tmp55, tmp104, tmp100, arg2) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp103 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp56)->tag != 37) { goto __ats_lab_18_0 ; } __ats_lab_15_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_2, tmp56, atslab_0) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_2, tmp56, atslab_1) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp106) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp108) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (tmp109) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp110 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_4, tmp110, atslab_0) ; ATS_FREE(tmp110) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat (tmp55, tmp111, tmp107, arg2) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp110 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp112 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp112 ; break ; } while (0) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 8905(line=356, offs=3) -- 9453(line=378, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_int_type, tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (arg1) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp114 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_4, tmp114, atslab_0) ; /* ats_int_type tmp116 ; */ tmp116 = 0 ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err (0, arg0, tmp115, (&tmp116)) ; tmp118 = atspre_gt_int_int (tmp116, 0) ; if (tmp118) { tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d3exp_loc) ; /* tmp120 = */ prerr_error3_loc_02084_ (tmp119) ; /* tmp121 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression should be a left-value but it is not.")) ; /* tmp122 = */ atspre_prerr_newline () ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp123)->tag = 74 ; ats_selptrset_mac(anairiats_sum_2, tmp123, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp123, atslab_1, tmp115) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp123) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp114 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: break ; } while (0) ; return /* (tmp113) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 9524(line=384, offs=5) -- 9892(line=404, offs=4) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; // ATSlocal_void (tmp129) ; __ats_lab_loop_10: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_21_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left (tmp125, tmp127) ; arg0 = tmp126 ; arg1 = tmp128 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: break ; } while (0) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: break ; } while (0) ; return /* (tmp124) */ ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 9973(line=409, offs=29) -- 10005(line=409, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lvalist_set_pat_type_left (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lvalist_set_pat_type_left: /* tmp130 = */ loop_10 (arg0, arg1) ; return /* (tmp130) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lvalist_set_pat_type_left] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 10064(line=418, offs=1) -- 10388(line=437, offs=4) */ ATSstaticdec() ats_void_type auxerr_12 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_auxerr_12: tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d3exp_loc) ; /* tmp133 = */ prerr_error3_loc_02084_ (tmp132) ; /* tmp134 = */ atspre_prerr_string (ATSstrcst(": the function argument needs to be a left-value.")) ; /* tmp135 = */ atspre_prerr_newline () ; tmp136 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp136)->tag = 72 ; ats_selptrset_mac(anairiats_sum_8, tmp136, atslab_0, arg0) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp136) ; return /* (tmp131) */ ; } /* end of [auxerr_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 10462(line=443, offs=3) -- 11301(line=474, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_bool_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type: /* ats_int_type tmp138 ; */ tmp138 = 0 ; /* ats_int_type tmp139 ; */ tmp139 = 0 ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err (arg0, arg1, arg2, (&tmp138)) ; tmp142 = atspre_gt_int_int (tmp138, 0) ; if (tmp142) { do { /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp143 = atspre_gt_int_int (arg0, 0) ; if (!tmp143) { goto __ats_lab_26_1 ; } /* tmp141 = */ auxerr_12 (arg1) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (arg2) ; if (!tmp144) { goto __ats_lab_27_1 ; } break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: /* tmp141 = */ auxerr_12 (arg1) ; break ; } while (0) ; } else { /* empty */ } /* end of [if] */ tmp137 = tmp139 ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 11386(line=481, offs=1) -- 11774(line=500, offs=4) */ ATSstaticdec() ats_bool_type s2exp_fun_is_freeptr_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_bool_type, tmp151) ; __ats_lab_s2exp_fun_is_freeptr_14: tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp146)->tag != 19) { goto __ats_lab_31_0 ; } __ats_lab_28_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_11, tmp146, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_11, tmp146, atslab_1) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (tmp147 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_12, tmp147, atslab_0) ; tmp150 = atspre_gt_int_int (tmp149, 0) ; if (tmp150) { tmp151 = atspre_lte_int_int (tmp148, 0) ; if (tmp151) { tmp145 = ats_true_bool ; } else { tmp145 = ats_false_bool ; } /* end of [if] */ } else { tmp145 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp145 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp145 = ats_false_bool ; break ; } while (0) ; return (tmp145) ; } /* end of [s2exp_fun_is_freeptr_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 11841(line=507, offs=1) -- 12090(line=517, offs=4) */ ATSstaticdec() ats_void_type auxerr_15 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab_auxerr_15: tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d3exp_loc) ; /* tmp154 = */ prerr_error3_loc_02084_ (tmp153) ; /* tmp155 = */ atspre_prerr_string (ATSstrcst(": the function itself needs to be a left-value.")) ; /* tmp156 = */ atspre_prerr_newline () ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp157)->tag = 71 ; ats_selptrset_mac(anairiats_sum_8, tmp157, atslab_0, arg0) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp157) ; return /* (tmp152) */ ; } /* end of [auxerr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 12110(line=520, offs=1) -- 13420(line=578, offs=4) */ ATSstaticdec() ats_ptr_type auxres_16 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_bool_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_bool_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_int_type, tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_bool_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; __ats_lab_auxres_16: tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d3exp_loc) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp160) ; tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp161), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp162)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 12250(line=529, offs=5) -- 12320(line=532, offs=21)") ; } tmp163 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_1) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_2) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_3) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_4) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_11, tmp162, atslab_5) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp170 = atspre_eq_int_int (tmp164, 0) ; if (!tmp170) { goto __ats_lab_33_1 ; } tmp169 = tmp161 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp171 = atspre_eq_int_int (tmp164, 1) ; if (!tmp171) { goto __ats_lab_34_1 ; } tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype, tmp163, -1, tmp165, tmp166, tmp167, tmp168) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: /* tmp172 = */ prerr_error3_loc_02084_ (tmp159) ; /* tmp173 = */ atspre_prerr_string (ATSstrcst(": a linear function cannot be applied repeatedly.")) ; /* tmp174 = */ atspre_prerr_newline () ; tmp176 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp176)->tag = 75 ; ats_selptrset_mac(anairiats_sum_8, tmp176, atslab_0, arg0) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp176) ; tmp169 = tmp161 ; break ; } while (0) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (tmp163 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_12, tmp163, atslab_0) ; tmp179 = atspre_eq_int_int (tmp178, 0) ; if (tmp179) { tmp177 = 1 ; } else { tmp177 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (tmp163 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp177 = 0 ; break ; } while (0) ; /* ats_int_type tmp180 ; */ tmp180 = 0 ; /* ats_int_type tmp181 ; */ tmp181 = 0 ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err (tmp177, arg0, tmp169, (&tmp180)) ; tmp184 = atspre_gt_int_int (tmp180, 0) ; if (tmp184) { do { /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp185 = atspre_gt_int_int (tmp177, 0) ; if (!tmp185) { goto __ats_lab_38_1 ; } /* tmp183 = */ auxerr_15 (arg0) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp186 = s2exp_fun_is_freeptr_14 (tmp169) ; if (!tmp186) { goto __ats_lab_39_1 ; } tmp181 = 1 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg (tmp159, tmp169, tmp177, tmp181, arg0) ; return (tmp158) ; } /* end of [auxres_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 13547(line=586, offs=3) -- 13761(line=599, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_bool_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp189 = atspre_gte_int_int (tmp188, 0) ; if (tmp189) { tmp187 = auxres_16 (arg1) ; } else { tmp187 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp187 = arg1 ; break ; } while (0) ; return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 13848(line=608, offs=1) -- 14032(line=616, offs=53) */ ATSstaticdec() ats_ptr_type auxlst1_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; __ats_lab_auxlst1_18: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp190 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 13936(line=614, offs=3) -- 14032(line=616, offs=53)") ; } __ats_lab_43_1: tmp190 = auxlst2_19 (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp190) ; } /* end of [auxlst1_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14058(line=620, offs=1) -- 15770(line=678, offs=4) */ ATSstaticdec() ats_ptr_type auxlst2_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_int_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; __ats_lab_auxlst2_19: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp191 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_2) ; if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14283(line=635, offs=9) -- 14311(line=635, offs=37)") ; } tmp193 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14320(line=636, offs=9) -- 14360(line=636, offs=49)") ; } tmp195 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp193), atslab_d3exp_loc) ; tmp198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp195), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp198)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14397(line=638, offs=9) -- 14444(line=638, offs=56)") ; } tmp199 = ats_caselptrlab_mac(anairiats_sum_14, tmp198, atslab_0) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_14, tmp198, atslab_1) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type (tmp199, tmp193, tmp200) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg (tmp197, tmp200, tmp199, tmp201, tmp193) ; tmp203 = auxlst1_18 (tmp194, tmp196, tmp192) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, tmp202) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, tmp203) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_1) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_2) ; if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14788(line=649, offs=9) -- 14816(line=649, offs=37)") ; } tmp207 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 14825(line=650, offs=9) -- 14865(line=650, offs=49)") ; } tmp209 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp207), atslab_d3exp_loc) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp205) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp210, tmp211) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_arg_set_type (tmp204, tmp207, tmp212) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg (tmp210, tmp212, tmp204, tmp213, tmp207) ; tmp215 = auxlst1_18 (tmp208, tmp209, tmp206) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, tmp214) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, tmp215) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (((ats_sum_ptr_type)arg2)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 15567(line=671, offs=9) -- 15595(line=671, offs=37)") ; } tmp217 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 15604(line=672, offs=9) -- 15644(line=672, offs=49)") ; } tmp219 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp220 = auxlst1_18 (tmp218, tmp219, tmp216) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, tmp217) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, tmp220) ; break ; } while (0) ; return (tmp191) ; } /* end of [auxlst2_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_lvalres.dats: 15864(line=684, offs=3) -- 15917(line=684, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore: tmp221 = auxlst1_18 (arg0, arg1, arg2) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_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 () ; #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_trans3_lvalres_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_dats.c0000664000175000017500000100436512655455557020674 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_c3nstr_loc ; ats_ptr_type atslab_c3nstr_kind ; ats_ptr_type atslab_c3nstr_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_h3ypo_loc ; ats_ptr_type atslab_h3ypo_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_12 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_14 ; typedef struct { anairiats_rec_2 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_20 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_22 ; typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_24 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_26 ; typedef struct { ats_bool_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_28 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lcons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__LABP2ATCST_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCempty_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCintc_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcharc_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCfloat_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCstring_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCrec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_nabs_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_napp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_arity_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_srtck_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_cp2atcstlst_arity_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; /* 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_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char) (ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__uns2exp_exiuni) (ats_int_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_absuni) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_opnexi) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_d3exp_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d2con_instantiate) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_case_exhaustiveness) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_solverify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_bind) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_eqeq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_termet_instantiate) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, patsopt_s2exp_tmp_instantiate_rest) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squa) (anairiats_rec_2) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_labpatcstlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_insert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_pop) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_add) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__trans3_env_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02157_ () ; static ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type stasub_s2varlst_instantiate_none_22 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type prerr_error3_loc_02163_ (ats_ptr_type arg0) ; static ats_void_type auxerr1_24 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type auxerr2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type stasub_s2varlst_instantiate_some_23 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_ptr_type revapp_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type stasub_s2varlst_instcollect_27 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type loop_32 (ats_int_type env0, ats_ptr_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_clo_ptr_type loop_32_closure_make (ats_int_type env0, ats_ptr_type env1) ; static ats_ptr_type loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_void_type loop_37 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_39 (ats_ptr_type arg0) ; static ats_void_type auxerr_41 (ats_ptr_type arg0) ; static ats_ptr_type loop_42 (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_ptr_type loop_44 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_void_type auxerr_47 (ats_ptr_type arg0) ; static ats_ptr_type auxsome_48 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_void_type loop_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_71 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_76 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_anairiats_rec_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_anairiats_rec_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_86 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_89 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type loop_89_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type loop_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_98 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_99 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_99_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type aux_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_100 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_100_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type aux_100_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_int_type loop_102 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_clo_ptr_type loop_102_closure_make (ats_ptr_type env0) ; static ats_int_type loop_102_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type cmp_104 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux2_01343_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux3_01354_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux4_01361_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux1_01334_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_mergesort_01452_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_110 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_110_closure_make (ats_ptr_type env0) ; static ats_void_type aux_110_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type trans3_env_hypadd_disj_111 (ats_ptr_type arg0) ; static ats_ptr_type aux_113 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_113_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type aux_113_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxres_123 (ats_ptr_type arg0) ; static ats_ptr_type auxarg_124 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp310) ; ATSstatic (ats_ptr_type, statmp311) ; ATSstatic (ats_ptr_type, statmp313) ; ATSstatic (ats_ptr_type, statmp314) ; ATSstatic (ats_ptr_type, statmp366) ; ATSstatic (ats_ptr_type, statmp367) ; ATSstatic (ats_ptr_type, statmp368) ; ATSstatic (ats_ptr_type, statmp369) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 2012(line=68, offs=28) -- 2040(line=68, offs=56) */ ATSstaticdec() ats_void_type prerr_FILENAME_02157_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02157_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02157_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ptr0_get_01759_ats_ptr_type: tmp4 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp4) ; } /* end of [ptr0_get_01759_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptrget_01763_ats_ptr_type: tmp3 = ptr0_get_01759_ats_ptr_type (arg0) ; return (tmp3) ; } /* end of [ptrget_01763_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 2622(line=103, offs=24) -- 2720(line=105, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt (arg0) ; tmp1 = ptrget_01763_ats_ptr_type (tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 2802(line=111, offs=3) -- 2894(line=115, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_prop (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_prop: tmp6 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp7)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp7, atslab_0, arg1) ; tmp5 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp5, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp5, atslab_c3nstr_kind, tmp6) ; ats_selptrset_mac(anairiats_rec_4, tmp5, atslab_c3nstr_node, tmp7) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 2946(line=119, offs=3) -- 3041(line=123, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst: tmp9 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp9)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp9, atslab_0, arg2) ; tmp8 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp8, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp8, atslab_c3nstr_kind, arg1) ; ats_selptrset_mac(anairiats_rec_4, tmp8, atslab_c3nstr_node, tmp9) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab_loop_9: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp16 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp17 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp17, atslab_0, tmp15) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp17 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp18 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp16 ; arg1 = tmp18 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp19 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp19 ; break ; } while (0) ; return /* (tmp14) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp20 ; */ /* tmp21 = */ loop_9 (arg0, (&tmp20)) ; tmp13 = tmp20 ; return (tmp13) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp12 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp12) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 3108(line=127, offs=3) -- 3325(line=135, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_case_exhaustiveness (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_case_exhaustiveness: tmp11 = list_vt_copy_01498_ats_ptr_type (arg2) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp22)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp22, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp22, atslab_1, ats_castfn_mac(ats_ptr_type, tmp11)) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; tmp23 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp23)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp23, atslab_0, tmp24) ; tmp10 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp10, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp10, atslab_c3nstr_kind, tmp22) ; ats_selptrset_mac(anairiats_rec_4, tmp10, atslab_c3nstr_node, tmp23) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_case_exhaustiveness] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 3398(line=139, offs=3) -- 3553(line=145, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isnat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isnat: tmp26 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte (arg1, tmp29) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp27, atslab_0, tmp28) ; tmp25 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp25, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp25, atslab_c3nstr_kind, tmp26) ; ats_selptrset_mac(anairiats_rec_4, tmp25, atslab_c3nstr_node, tmp27) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isnat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 3619(line=149, offs=3) -- 3741(line=153, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec: tmp31 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec (arg1, arg2) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp32)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_0, tmp33) ; tmp30 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp30, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp30, atslab_c3nstr_kind, tmp31) ; ats_selptrset_mac(anairiats_rec_4, tmp30, atslab_c3nstr_node, tmp32) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 3825(line=159, offs=3) -- 3947(line=164, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_solverify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_solverify: tmp35 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; tmp36 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp36)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp36, atslab_0, arg1) ; tmp34 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp34, atslab_c3nstr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp34, atslab_c3nstr_kind, tmp35) ; ats_selptrset_mac(anairiats_rec_4, tmp34, atslab_c3nstr_node, tmp36) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_solverify] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp40 ; */ tmp40 = arg0 ; tmp39 = atspre_ref_make_elt_tsz ((&tmp40), sizeof(ats_ptr_type)) ; return (tmp39) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4034(line=170, offs=3) -- 4138(line=174, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none: tmp41 = (ats_sum_ptr_type)0 ; tmp38 = ref_01088_ats_ptr_type (tmp41) ; tmp37 = ATS_MALLOC(sizeof(anairiats_rec_8)) ; ats_selptrset_mac(anairiats_rec_8, tmp37, atslab_c3nstroptref_loc, arg0) ; ats_selptrset_mac(anairiats_rec_8, tmp37, atslab_c3nstroptref_ref, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4219(line=180, offs=3) -- 4283(line=182, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_prop (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_prop: tmp43 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp43)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp43, atslab_0, arg1) ; tmp42 = ATS_MALLOC(sizeof(anairiats_rec_9)) ; ats_selptrset_mac(anairiats_rec_9, tmp42, atslab_h3ypo_loc, arg0) ; ats_selptrset_mac(anairiats_rec_9, tmp42, atslab_h3ypo_node, tmp43) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4331(line=186, offs=3) -- 4450(line=189, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_bind (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_bind: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp46 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp46)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp46, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp46, atslab_1, tmp45) ; tmp44 = ATS_MALLOC(sizeof(anairiats_rec_9)) ; ats_selptrset_mac(anairiats_rec_9, tmp44, atslab_h3ypo_loc, arg0) ; ats_selptrset_mac(anairiats_rec_9, tmp44, atslab_h3ypo_node, tmp46) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_bind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4498(line=193, offs=3) -- 4647(line=197, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_eqeq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_eqeq: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp50 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp50)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp50, atslab_0, tmp48) ; ats_selptrset_mac(anairiats_sum_7, tmp50, atslab_1, tmp49) ; tmp47 = ATS_MALLOC(sizeof(anairiats_rec_9)) ; ats_selptrset_mac(anairiats_rec_9, tmp47, atslab_h3ypo_loc, arg0) ; ats_selptrset_mac(anairiats_rec_9, tmp47, atslab_h3ypo_node, tmp50) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_eqeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4724(line=203, offs=3) -- 4840(line=208, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_srt (arg0, arg1) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar (tmp52) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var (tmp52) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 4902(line=211, offs=20) -- 5256(line=226, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_var (arg0, arg1) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar (tmp55) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var (tmp55) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 5481(line=239, offs=5) -- 5798(line=251, offs=22) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab_loop_21: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var (arg0, tmp59) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg2, tmp59, tmp61) ; arg0 = arg0 ; arg1 = tmp60 ; arg2 = arg2 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp58) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 5342(line=232, offs=3) -- 5894(line=259, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst: /* ats_ptr_type tmp63 ; */ tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp64 = */ loop_21 (arg0, arg1, (&tmp63)) ; tmp57 = tmp63 ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 5960(line=266, offs=1) -- 6428(line=288, offs=4) */ ATSstaticdec() ats_void_type stasub_s2varlst_instantiate_none_22 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab_stasub_s2varlst_instantiate_none_22: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var (arg1, tmp66) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp66, tmp68) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp67 ; arg3 = arg3 ; goto __ats_lab_stasub_s2varlst_instantiate_none_22 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp65) */ ; } /* end of [stasub_s2varlst_instantiate_none_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02163_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab_prerr_error3_loc_02163_: /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp73 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp73) */ ; } /* end of [prerr_error3_loc_02163_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 6664(line=301, offs=1) -- 7110(line=313, offs=4) */ ATSstaticdec() ats_void_type auxerr1_24 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_bool_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_bool_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_auxerr1_24: /* tmp72 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp75 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("stasub_s2varlst_instantiate_some")) ; /* tmp76 = */ atspre_prerr_string (ATSstrcst(": static arity mismatch")) ; tmp78 = atspre_gt_int_int (arg1, 0) ; if (tmp78) { /* tmp77 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp80 = atspre_lt_int_int (arg1, 0) ; if (tmp80) { /* tmp79 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp81 = */ atspre_prerr_newline () ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp82)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp82, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp82, atslab_1, arg1) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp82) ; return /* (tmp71) */ ; } /* end of [auxerr1_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 7135(line=315, offs=1) -- 7542(line=326, offs=4) */ ATSstaticdec() ats_void_type auxerr2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab_auxerr2_26: /* tmp84 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp85 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("stasub_s2varlst_instantiate_some")) ; /* tmp86 = */ atspre_prerr_string (ATSstrcst(": mismatch of sorts:\n")) ; /* tmp87 = */ atspre_prerr_string (ATSstrcst("the needed sort is [")) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp89 = */ atspre_prerr_string (ATSstrcst("];")) ; /* tmp90 = */ atspre_prerr_newline () ; /* tmp91 = */ atspre_prerr_string (ATSstrcst("the actual sort is [")) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp93 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp94 = */ atspre_prerr_newline () ; tmp95 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp95)->tag = 5 ; ats_selptrset_mac(anairiats_sum_11, tmp95, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp95, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp95, atslab_2, arg2) ; /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp95) ; return /* (tmp83) */ ; } /* end of [auxerr2_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 6479(line=291, offs=1) -- 8652(line=369, offs=4) */ ATSstaticdec() ats_void_type stasub_s2varlst_instantiate_some_23 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_int_type, tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; __ats_lab_stasub_s2varlst_instantiate_some_23: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp96) ; tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp98), atslab_s2exp_srt) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp101, tmp100) ; if (tmp102) { /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp96, tmp98) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp97 ; arg3 = tmp99 ; arg4 = arg4 ; goto __ats_lab_stasub_s2varlst_instantiate_some_23 ; // tail call } else { tmp104 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp104 ; /* tmp105 = */ auxerr2_26 (arg1, tmp100, tmp101) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp100) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp96, tmp106) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp97 ; arg3 = tmp99 ; arg4 = arg4 ; goto __ats_lab_stasub_s2varlst_instantiate_some_23 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp108 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp108 ; /* tmp70 = */ auxerr1_24 (arg1, 1) ; break ; } while (0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp109 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp109 ; /* tmp70 = */ auxerr1_24 (arg1, -1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp70) */ ; } /* end of [stasub_s2varlst_instantiate_some_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_revapp_30: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp119 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp120 = ats_ptrget_mac(ats_ptr_type, tmp119) ; ats_ptrget_mac(ats_ptr_type, tmp119) = arg1 ; tmp121 = arg0 ; arg0 = tmp120 ; arg1 = tmp121 ; goto __ats_lab_revapp_30 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp118 = arg1 ; break ; } while (0) ; return (tmp118) ; } /* end of [revapp_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp117 = revapp_30 (arg0, arg1) ; return (tmp117) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp122 = (ats_sum_ptr_type)0 ; tmp116 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp122) ; return (tmp116) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 8703(line=372, offs=1) -- 9299(line=399, offs=4) */ ATSstaticdec() ats_ptr_type stasub_s2varlst_instcollect_27 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_stasub_s2varlst_instcollect_27: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_var (arg1, tmp111) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp111, tmp113) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp115, atslab_0, tmp113) ; ats_selptrset_mac(anairiats_sum_6, tmp115, atslab_1, arg3) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp112 ; arg3 = tmp115 ; goto __ats_lab_stasub_s2varlst_instcollect_27 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp110 = list_vt_reverse_01506_ats_ptr_type (arg3) ; break ; } while (0) ; return (tmp110) ; } /* end of [stasub_s2varlst_instcollect_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 9469(line=407, offs=5) -- 10129(line=432, offs=4) */ ATSstaticdec() ats_ptr_type loop_32 (ats_int_type env0, ats_ptr_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab_loop_32: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* ats_ptr_type tmp126 ; */ /* ats_ptr_type tmp127 ; */ /* ats_ptr_type tmp128 ; */ tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__uns2exp_exiuni (env0, tmp125, (&tmp126), (&tmp127), (&tmp128)) ; if (tmp129) { /* tmp130 = */ stasub_s2varlst_instantiate_none_22 (arg0, env1, tmp126, arg3) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (ats_ptrget_mac(ats_ptr_type, arg0), tmp127) ; tmp132 = list_vt_reverse_append_01507_ats_ptr_type (tmp131, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp132 ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp128) ; arg0 = arg0 ; arg1 = tmp133 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call } else { tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (ats_ptrget_mac(ats_ptr_type, arg0), tmp125) ; } /* end of [if] */ return (tmp124) ; } /* end of [loop_32] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_ptr_type closure_env_1 ; } loop_32_closure_type ; ats_ptr_type loop_32_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { return loop_32 (((loop_32_closure_type*)cloptr)->closure_env_0, ((loop_32_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type loop_32_closure_init (loop_32_closure_type *p_clo, ats_int_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_32_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_32_closure_make (ats_int_type env0, ats_ptr_type env1) { loop_32_closure_type *p_clo = ATS_MALLOC(sizeof(loop_32_closure_type)) ; loop_32_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 9406(line=405, offs=3) -- 10423(line=445, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp123) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all: /* ats_ptr_type tmp134 ; */ tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; /* ats_ptr_type tmp136 ; */ tmp136 = (ats_sum_ptr_type)0 ; tmp137 = loop_32 (arg0, arg2, (&tmp134), tmp135, (&tmp136), arg3) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp134) ; tmp139 = list_vt_reverse_01506_ats_ptr_type (tmp136) ; tmp123.atslab_0 = tmp137 ; tmp123.atslab_1 = tmp139 ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 10504(line=449, offs=3) -- 10579(line=450, offs=54) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all: tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all (0, arg0, arg1, arg2) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 10657(line=455, offs=3) -- 10732(line=456, offs=54) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all: tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exiuni_instantiate_all (1, arg0, arg1, arg2) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_37 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_loop_37: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp161 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp161 ; arg1 = arg1 ; goto __ats_lab_loop_37 ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp160) */ ; } /* end of [loop_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp162) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp159 ; */ tmp159 = arg0 ; /* tmp162 = */ loop_37 ((&tmp159), arg1) ; tmp158 = tmp159 ; return (tmp158) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 10813(line=461, offs=3) -- 11640(line=489, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp142) ; ATSlocal (anairiats_rec_1, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_int_type, tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (anairiats_rec_1, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all: tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (arg0, arg1, arg2) ; tmp144 = ats_select_mac(tmp143, atslab_0) ; tmp145 = ats_select_mac(tmp143, atslab_1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp144) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp146) ; tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp147), atslab_s2exp_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp148)->tag != 20) { goto __ats_lab_23_0 ; } __ats_lab_16_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_11, tmp148, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_11, tmp148, atslab_1) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_11, tmp148, atslab_2) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp149 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_17_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_13, tmp149, atslab_0) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_termet_instantiate (arg1, tmp152, tmp150) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (tmp151, arg1, arg2) ; tmp155 = ats_select_mac(tmp154, atslab_0) ; tmp156 = ats_select_mac(tmp154, atslab_1) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp156 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_18_1: tmp157 = list_vt_append_01504_ats_ptr_type (tmp145, tmp156) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp156 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp157 = tmp145 ; break ; } while (0) ; tmp142.atslab_0 = tmp155 ; tmp142.atslab_1 = tmp157 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp149 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp142.atslab_0 = tmp151 ; tmp142.atslab_1 = tmp145 ; break ; } while (0) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp142.atslab_0 = tmp147 ; tmp142.atslab_1 = tmp145 ; break ; } while (0) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 11809(line=500, offs=1) -- 12088(line=512, offs=4) */ ATSstaticdec() ats_void_type auxerr_39 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab_auxerr_39: /* tmp166 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp167 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("s2exp_exi_instantiate_sexparg")) ; /* tmp168 = */ atspre_prerr_string (ATSstrcst(": the static abstraction is overly done.")) ; /* tmp169 = */ atspre_prerr_newline () ; tmp170 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp170)->tag = 2 ; ats_selptrset_mac(anairiats_sum_10, tmp170, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp170, atslab_1, 1) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp170) ; return /* (tmp165) */ ; } /* end of [auxerr_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 11746(line=495, offs=3) -- 13555(line=570, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_int_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; ATSlocal (ats_int_type, tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg: tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_s2exparg_loc) ; tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_s2exparg_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp171)->tag != 1) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all (arg0, tmp164, arg2) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp171)->tag != 0) { goto __ats_lab_28_0 ; } __ats_lab_25_1: tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg0) ; tmp173 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp172), atslab_s2exp_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp173)->tag != 27) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_11, tmp173, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_11, tmp173, atslab_1) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_11, tmp173, atslab_2) ; /* ats_ptr_type tmp177 ; */ tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp178 = */ stasub_s2varlst_instantiate_none_22 ((&tmp177), tmp164, tmp174, arg2) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp177, tmp176) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp177, tmp175) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp177) ; tmp163.atslab_0 = tmp179 ; tmp163.atslab_1 = tmp180 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp182 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp182 ; /* tmp183 = */ auxerr_39 (tmp164) ; tmp184 = (ats_sum_ptr_type)0 ; tmp163.atslab_0 = tmp172 ; tmp163.atslab_1 = tmp184 ; break ; } while (0) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (((ats_sum_ptr_type)tmp171)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg0) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp186), atslab_s2exp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp187)->tag != 27) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_11, tmp187, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_11, tmp187, atslab_1) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_11, tmp187, atslab_2) ; /* ats_ptr_type tmp191 ; */ tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp192 = */ stasub_s2varlst_instantiate_some_23 ((&tmp191), tmp164, tmp188, tmp185, arg2) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp191, tmp190) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp191, tmp189) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp191) ; tmp163.atslab_0 = tmp193 ; tmp163.atslab_1 = tmp194 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp196 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp196 ; /* tmp197 = */ auxerr_39 (tmp164) ; tmp198 = (ats_sum_ptr_type)0 ; tmp163.atslab_0 = tmp186 ; tmp163.atslab_1 = tmp198 ; break ; } while (0) ; break ; } while (0) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 13696(line=579, offs=1) -- 14008(line=589, offs=4) */ ATSstaticdec() ats_void_type auxerr_41 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab_auxerr_41: /* tmp201 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp202 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("s2exp_uni_instantiate_sexparglst")) ; /* tmp203 = */ atspre_prerr_string (ATSstrcst(": the static application is overly done.")) ; /* tmp204 = */ atspre_prerr_newline () ; tmp205 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp205)->tag = 3 ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_1, 1) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp205) ; return /* (tmp200) */ ; } /* end of [auxerr_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 14038(line=591, offs=5) -- 16365(line=661, offs=4) */ ATSstaticdec() ats_ptr_type loop_42 (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab_loop_42: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_31_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp208), atslab_s2exparg_loc) ; tmp211 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp208), atslab_s2exparg_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp211)->tag != 1) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp207), atslab_s2exp_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp212)->tag != 28) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_11, tmp212, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_11, tmp212, atslab_1) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_11, tmp212, atslab_2) ; /* tmp216 = */ stasub_s2varlst_instantiate_none_22 (arg0, tmp210, tmp213, arg4) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (ats_ptrget_mac(ats_ptr_type, arg0), tmp214) ; tmp218 = list_vt_reverse_append_01507_ats_ptr_type (tmp217, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp218 ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp215) ; arg0 = arg0 ; arg1 = tmp219 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp209 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp211)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_35_1: tmp220 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp207), atslab_s2exp_node) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp220)->tag != 28) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_11, tmp220, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_11, tmp220, atslab_1) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_11, tmp220, atslab_2) ; /* tmp224 = */ stasub_s2varlst_instantiate_none_22 (arg0, tmp210, tmp221, arg4) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (ats_ptrget_mac(ats_ptr_type, arg0), tmp222) ; tmp226 = list_vt_reverse_append_01507_ats_ptr_type (tmp225, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp226 ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp223) ; arg0 = arg0 ; arg1 = tmp227 ; arg2 = arg2 ; arg3 = tmp209 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp228 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp228 ; /* tmp229 = */ auxerr_41 (tmp210) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp209 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (((ats_sum_ptr_type)tmp211)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_5, tmp211, atslab_0) ; tmp231 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp207), atslab_s2exp_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp231)->tag != 28) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_11, tmp231, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_11, tmp231, atslab_1) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_11, tmp231, atslab_2) ; /* tmp235 = */ stasub_s2varlst_instantiate_some_23 (arg0, tmp210, tmp232, tmp230, arg4) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (ats_ptrget_mac(ats_ptr_type, arg0), tmp233) ; tmp237 = list_vt_reverse_append_01507_ats_ptr_type (tmp236, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp237 ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp234) ; arg0 = arg0 ; arg1 = tmp238 ; arg2 = arg2 ; arg3 = tmp209 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp239 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp239 ; /* tmp240 = */ auxerr_41 (tmp210) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp209 ; arg4 = arg4 ; goto __ats_lab_loop_42 ; // tail call break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (ats_ptrget_mac(ats_ptr_type, arg0), tmp241) ; break ; } while (0) ; return (tmp206) ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 13665(line=576, offs=3) -- 16665(line=674, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp199) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst: /* ats_ptr_type tmp242 ; */ tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; /* ats_ptr_type tmp244 ; */ tmp244 = (ats_sum_ptr_type)0 ; tmp245 = loop_42 ((&tmp242), tmp243, (&tmp244), arg1, arg2) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp242) ; tmp247 = list_vt_reverse_01506_ats_ptr_type (tmp244) ; tmp199.atslab_0 = tmp245 ; tmp199.atslab_1 = tmp247 ; return (tmp199) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp255) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp255 = ats_false_bool ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp255 = ats_true_bool ; break ; } while (0) ; return (tmp255) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 16815(line=682, offs=5) -- 17452(line=711, offs=4) */ ATSstaticdec() ats_ptr_type loop_44 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (anairiats_rec_2, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; // ATSlocal_void (tmp253) ; ATSlocal (ats_bool_type, tmp254) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab_loop_44: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp249 = list_vt_reverse_01506_ats_ptr_type (arg3) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; tmp252 = ats_select_mac(tmp250, atslab_s2qua_svs) ; tmp256 = ats_select_mac(tmp250, atslab_s2qua_sps) ; tmp254 = list_is_nil_01294_ (tmp256) ; tmp257 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 17134(line=699, offs=7) -- 17169(line=699, offs=42)", ATSstrcst("\n")) ; /* tmp253 = */ atspre_assert_errmsg (tmp254, tmp257) ; tmp259 = (ats_sum_ptr_type)0 ; tmp258 = stasub_s2varlst_instcollect_27 (arg1, arg0, tmp252, tmp259) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (arg0, ats_castfn_mac(ats_ptr_type, tmp258)) ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp261, atslab_0, tmp260) ; ats_selptrset_mac(anairiats_sum_6, tmp261, atslab_1, arg3) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp251 ; arg3 = tmp261 ; arg4 = arg4 ; goto __ats_lab_loop_44 ; // tail call break ; } while (0) ; return (tmp249) ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 16772(line=680, offs=3) -- 17727(line=729, offs=4) */ ATSglobaldec() anairiats_rec_1 patsopt_s2exp_tmp_instantiate_rest (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp248) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; __ats_lab_patsopt_s2exp_tmp_instantiate_rest: /* ats_ptr_type tmp262 ; */ tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp264 = (ats_sum_ptr_type)0 ; tmp263 = loop_44 (arg1, (&tmp262), arg2, tmp264, arg3) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp262, arg0) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp262) ; tmp248.atslab_0 = tmp265 ; tmp248.atslab_1 = ats_castfn_mac(ats_ptr_type, tmp263) ; return (tmp248) ; } /* end of [patsopt_s2exp_tmp_instantiate_rest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 17884(line=738, offs=1) -- 18171(line=750, offs=4) */ ATSstaticdec() ats_void_type auxerr_47 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; __ats_lab_auxerr_47: /* tmp269 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp270 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("s2exp_tmp_instantiate_tmpmarglst")) ; /* tmp271 = */ atspre_prerr_string (ATSstrcst(": the template instantiation is overly done.")) ; /* tmp272 = */ atspre_prerr_newline () ; tmp273 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp273)->tag = 3 ; ats_selptrset_mac(anairiats_sum_10, tmp273, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp273, atslab_1, 1) ; /* tmp268 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp273) ; return /* (tmp268) */ ; } /* end of [auxerr_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 18234(line=755, offs=1) -- 19188(line=799, offs=4) */ ATSstaticdec() ats_ptr_type auxsome_48 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; // ATSlocal_void (tmp280) ; ATSlocal (anairiats_rec_2, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; // ATSlocal_void (tmp286) ; ATSlocal (ats_bool_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; // ATSlocal_void (tmp292) ; __ats_lab_auxsome_48: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_46_1: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp275 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp277 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp278 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp278 ; tmp279 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp276), atslab_t2mpmarg_loc) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp279 ; /* tmp280 = */ auxerr_47 (ats_ptrget_mac(ats_ptr_type, arg1)) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp277 ; arg4 = arg4 ; goto __ats_lab_auxsome_48 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp275 = arg2 ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp285 = ats_select_mac(tmp281, atslab_s2qua_svs) ; tmp288 = ats_select_mac(tmp281, atslab_s2qua_sps) ; tmp287 = list_is_nil_01294_ (tmp288) ; tmp289 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 18851(line=785, offs=7) -- 18886(line=785, offs=42)", ATSstrcst("\n")) ; /* tmp286 = */ atspre_assert_errmsg (tmp287, tmp289) ; tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp283), atslab_t2mpmarg_arg) ; tmp291 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp283), atslab_t2mpmarg_loc) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp291 ; /* tmp292 = */ stasub_s2varlst_instantiate_some_23 (arg0, ats_ptrget_mac(ats_ptr_type, arg1), tmp285, tmp290, arg4) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp282 ; arg3 = tmp284 ; arg4 = arg4 ; goto __ats_lab_auxsome_48 ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp275) ; } /* end of [auxsome_48] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; __ats_lab_loop_50: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp307 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp307, atslab_0, tmp305) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp307 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp308 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp306 ; arg1 = arg1 ; arg2 = tmp308 ; goto __ats_lab_loop_50 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp304) */ ; } /* end of [loop_50] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; // ATSlocal_void (tmp309) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp303 ; */ /* tmp309 = */ loop_50 (arg0, arg1, (&tmp303)) ; tmp302 = tmp303 ; return (tmp302) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 17834(line=735, offs=3) -- 19739(line=831, offs=4) */ ATSglobaldec() anairiats_rec_1 patsopt_s2exp_tmp_instantiate_tmpmarglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp267) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (anairiats_rec_1, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab_patsopt_s2exp_tmp_instantiate_tmpmarglst: /* ats_ptr_type tmp274 ; */ tmp274 = arg1 ; /* ats_ptr_type tmp293 ; */ tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp294 = auxsome_48 ((&tmp293), (&tmp274), arg2, arg3, arg4) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp293, arg0) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp293) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (tmp294 != (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp267.atslab_0 = tmp295 ; tmp267.atslab_1 = arg3 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (tmp294 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp274) ; tmp298 = patsopt_s2exp_tmp_instantiate_rest (tmp295, tmp297, tmp294, arg4) ; tmp299 = ats_select_mac(tmp298, atslab_0) ; tmp300 = ats_select_mac(tmp298, atslab_1) ; tmp301 = list_append_01312_ats_ptr_type (arg3, tmp300) ; tmp267.atslab_0 = tmp299 ; tmp267.atslab_1 = tmp301 ; break ; } while (0) ; return (tmp267) ; } /* end of [patsopt_s2exp_tmp_instantiate_tmpmarglst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp312) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp312 = ref_01088_ats_ptr_type (arg0) ; return (tmp312) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 20286(line=858, offs=22) -- 20304(line=858, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp315) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get: tmp315 = ats_ptrget_mac(ats_ptr_type, statmp311) ; return (tmp315) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 20337(line=861, offs=22) -- 20403(line=863, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_add: tmp318 = ats_ptrget_mac(ats_ptr_type, statmp311) ; tmp317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_add (tmp318, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp311) = tmp317 ; return /* (tmp316) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 20470(line=866, offs=23) -- 20622(line=872, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_push () { /* local vardec */ // ATSlocal_void (tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_push: tmp320 = ats_ptrget_mac(ats_ptr_type, statmp311) ; tmp321 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp313), atslab_1) ; tmp323 = ats_ptrget_mac(ats_ptr_type, tmp321) ; tmp322 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp322, atslab_0, tmp320) ; ats_selptrset_mac(anairiats_sum_6, tmp322, atslab_1, tmp323) ; ats_ptrget_mac(ats_ptr_type, tmp321) = tmp322 ; return /* (tmp319) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 20689(line=875, offs=22) -- 21021(line=887, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_pop: tmp325 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp313), atslab_1) ; tmp327 = ats_ptrget_mac(ats_ptr_type, tmp325) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (tmp327 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_6, tmp327, atslab_0) ; tmp329 = ats_caselptrlab_mac(anairiats_sum_6, tmp327, atslab_1) ; ATS_FREE(tmp327) ; ats_ptrget_mac(ats_ptr_type, tmp325) = tmp329 ; tmp326 = tmp328 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (tmp327 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp326 = statmp310 ; break ; } while (0) ; tmp330 = ats_ptrget_mac(ats_ptr_type, statmp311) ; ats_ptrget_mac(ats_ptr_type, statmp311) = tmp326 ; tmp324 = tmp330 ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 21193(line=898, offs=3) -- 21499(line=917, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize_flag_svar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_int_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize_flag_svar: tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search (arg1) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (tmp332 != (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp331 = arg0 ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (tmp332 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_17, tmp332, atslab_0) ; ATS_FREE(tmp332) ; tmp334 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp334 ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp333) ; break ; } while (0) ; return (tmp331) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize_flag_svar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 21836(line=941, offs=3) -- 23055(line=1007, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_bool_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_bool_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_bool_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_bool_type, tmp353) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp: tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp336)->tag != 7) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_5, tmp336, atslab_0) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg0, tmp337) ; if (tmp338) { tmp335 = ats_true_bool ; } else { tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2var (arg0, tmp337) ; } /* end of [if] */ break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp336)->tag != 17) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_1) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (arg0, tmp339) ; if (tmp341) { tmp335 = ats_true_bool ; } else { tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst (arg0, tmp340) ; } /* end of [if] */ break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp336)->tag != 5) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp342 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_1) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst (arg0, tmp342) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp336)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_1) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst (arg0, tmp343) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp336)->tag != 13) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_5, tmp336, atslab_0) ; arg0 = arg0 ; arg1 = tmp344 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp336)->tag != 15) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_0) ; tmp346 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_1) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (arg0, tmp345) ; if (tmp347) { tmp335 = ats_true_bool ; } else { arg0 = arg0 ; arg1 = tmp346 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp336)->tag != 26) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_5, tmp336, atslab_0) ; arg0 = arg0 ; arg1 = tmp348 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp336)->tag != 29) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp349 = ats_caselptrlab_mac(anairiats_sum_18, tmp336, atslab_1) ; arg0 = arg0 ; arg1 = tmp349 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp336)->tag != 18) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp350 = ats_caselptrlab_mac(anairiats_sum_7, tmp336, atslab_1) ; arg0 = arg0 ; arg1 = tmp350 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp336)->tag != 19) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_19, tmp336, atslab_4) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_19, tmp336, atslab_5) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst (arg0, tmp351) ; if (tmp353) { tmp335 = ats_true_bool ; } else { arg0 = arg0 ; arg1 = tmp352 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp335 = ats_false_bool ; break ; } while (0) ; return (tmp335) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 23106(line=1011, offs=3) -- 23256(line=1017, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_bool_type, tmp357) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp354 = ats_false_bool ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (arg0, tmp355) ; if (tmp357) { tmp354 = ats_true_bool ; } else { arg0 = arg0 ; arg1 = tmp356 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp354) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 23328(line=1023, offs=3) -- 23490(line=1029, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_bool_type, tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp358 = ats_false_bool ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp359 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp360 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explst (arg0, tmp359) ; if (tmp361) { tmp358 = ats_true_bool ; } else { arg0 = arg0 ; arg1 = tmp360 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp358) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2explstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 23556(line=1035, offs=3) -- 23710(line=1046, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2var: tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search (arg1) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp363 != (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp362 = ats_false_bool ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp363 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_17, tmp363, atslab_0) ; ATS_FREE(tmp363) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (arg0, tmp364) ; break ; } while (0) ; return (tmp362) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 23791(line=1052, offs=3) -- 23984(line=1067, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp365) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp: tmp365 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__aux1_s2exp (arg0, arg1) ; return (tmp365) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 24485(line=1096, offs=3) -- 24813(line=1109, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_push () { /* local vardec */ // ATSlocal_void (tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_push: tmp371 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp366), atslab_1) ; tmp372 = ats_ptrget_mac(ats_ptr_type, tmp371) ; tmp373 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp371) = tmp373 ; tmp374 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp368), atslab_1) ; tmp376 = ats_ptrget_mac(ats_ptr_type, tmp374) ; tmp375 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp375, atslab_0, tmp372) ; ats_selptrset_mac(anairiats_sum_6, tmp375, atslab_1, tmp376) ; ats_ptrget_mac(ats_ptr_type, tmp374) = tmp375 ; return /* (tmp370) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 24880(line=1112, offs=22) -- 25316(line=1127, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop: tmp378 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp368), atslab_1) ; tmp380 = ats_ptrget_mac(ats_ptr_type, tmp378) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp380 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp381 = ats_caselptrlab_mac(anairiats_sum_6, tmp380, atslab_0) ; tmp382 = ats_caselptrlab_mac(anairiats_sum_6, tmp380, atslab_1) ; ATS_FREE(tmp380) ; ats_ptrget_mac(ats_ptr_type, tmp378) = tmp382 ; tmp379 = tmp381 ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp380 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp379 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp383 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp366), atslab_1) ; tmp384 = ats_ptrget_mac(ats_ptr_type, tmp383) ; ats_ptrget_mac(ats_ptr_type, tmp383) = tmp379 ; tmp377 = list_vt_reverse_01506_ats_ptr_type (tmp384) ; return (tmp377) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 25382(line=1130, offs=22) -- 25485(line=1134, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add: tmp386 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp366), atslab_1) ; tmp388 = ats_ptrget_mac(ats_ptr_type, tmp386) ; tmp387 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp387, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp387, atslab_1, tmp388) ; ats_ptrget_mac(ats_ptr_type, tmp386) = tmp387 ; return /* (tmp385) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 25573(line=1140, offs=3) -- 25749(line=1150, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlst: tmp390 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp366), atslab_1) ; tmp391 = ats_ptrget_mac(ats_ptr_type, tmp390) ; /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst (arg0, ats_castfn_mac(ats_ptr_type, tmp391)) ; return /* (tmp389) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 25818(line=1154, offs=3) -- 26007(line=1164, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlstlst: tmp393 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp368), atslab_1) ; tmp394 = ats_ptrget_mac(ats_ptr_type, tmp393) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst (arg0, ats_castfn_mac(ats_ptr_type, tmp394)) ; return /* (tmp392) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s3itmlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26122(line=1172, offs=3) -- 26208(line=1175, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar: tmp396 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp396)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp396, atslab_0, arg0) ; /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp396) ; return /* (tmp395) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_71 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; // ATSlocal_void (tmp403) ; __ats_lab_loop_71: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp401 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* tmp403 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp401, arg2) ; arg0 = tmp402 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_71 ; // tail call break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: break ; } while (0) ; return /* (tmp400) */ ; } /* end of [loop_71] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp399) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp399 = */ loop_71 (arg0, arg1, arg2) ; return /* (tmp399) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp398) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp398 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp398) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26275(line=1178, offs=24) -- 26333(line=1179, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp397) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst: /* tmp397 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) ; return /* (tmp397) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26423(line=1186, offs=3) -- 26493(line=1188, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squa (anairiats_rec_2 arg0) { /* local vardec */ // ATSlocal_void (tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squa: tmp405 = ats_select_mac(arg0, atslab_s2qua_svs) ; /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp405) ; return /* (tmp404) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squa] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_76 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp409) ; ATSlocal (anairiats_rec_2, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; // ATSlocal_void (tmp412) ; __ats_lab_loop_76: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp411 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; /* tmp412 = */ ((ats_void_type(*)(anairiats_rec_2, ats_ptr_type))arg1) (tmp410, arg2) ; arg0 = tmp411 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_76 ; // tail call break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: break ; } while (0) ; return /* (tmp409) */ ; } /* end of [loop_76] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_anairiats_rec_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp408) ; __ats_lab_list_app_funenv_01300_anairiats_rec_2: /* tmp408 = */ loop_76 (arg0, arg1, arg2) ; return /* (tmp408) */ ; } /* end of [list_app_funenv_01300_anairiats_rec_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_anairiats_rec_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp407) ; __ats_lab_list_app_fun_01301_anairiats_rec_2: /* tmp407 = */ list_app_funenv_01300_anairiats_rec_2 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp407) */ ; } /* end of [list_app_fun_01301_anairiats_rec_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26560(line=1191, offs=24) -- 26618(line=1192, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squalst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp406) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squalst: /* tmp406 = */ list_app_fun_01301_anairiats_rec_2 (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squa) ; return /* (tmp406) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squalst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26709(line=1199, offs=3) -- 26824(line=1202, offs=21) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sp2at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sp2at: tmp414 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_sp2at_node) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (tmp414 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_6, tmp414, atslab_1) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp415) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (tmp414 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: break ; } while (0) ; return /* (tmp413) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sp2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 26914(line=1209, offs=3) -- 27047(line=1216, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; // ATSlocal_void (tmp418) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar: tmp417 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp417)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp417, atslab_0, arg0) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_add (arg0) ; /* tmp416 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp417) ; return /* (tmp416) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 27114(line=1219, offs=24) -- 27172(line=1220, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp419) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVarlst: /* tmp419 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVar) ; return /* (tmp419) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_sVarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 27242(line=1225, offs=3) -- 27313(line=1227, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr: tmp421 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp421)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp421, atslab_0, arg0) ; /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp421) ; return /* (tmp420) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 27385(line=1231, offs=3) -- 27460(line=1233, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref: tmp423 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp423)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp423, atslab_0, arg0) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp423) ; return /* (tmp422) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 27552(line=1239, offs=3) -- 27678(line=1242, offs=8) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop: tmp425 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_prop (arg0, arg1) ; /* tmp424 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp426) ; break ; } while (0) ; return /* (tmp424) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 27761(line=1247, offs=3) -- 27942(line=1251, offs=22) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; // ATSlocal_void (tmp430) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp428 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp429 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp430 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop (arg0, tmp428) ; arg0 = arg0 ; arg1 = tmp429 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: break ; } while (0) ; return /* (tmp427) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_86 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; __ats_lab_loop_86: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp435 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp435 ; goto __ats_lab_loop_86 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: break ; } while (0) ; return /* (tmp434) */ ; } /* end of [loop_86] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp433) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp433 = */ loop_86 (arg0) ; return /* (tmp433) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 28017(line=1256, offs=3) -- 28147(line=1259, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp431) ; // ATSlocal_void (tmp432) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt: /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp431 = */ list_vt_free_01499_ats_ptr_type (arg1) ; return /* (tmp431) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 28240(line=1265, offs=3) -- 28484(line=1275, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq: tmp437 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq (arg1, arg2) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_prop (arg0, tmp437) ; return /* (tmp436) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 28685(line=1285, offs=5) -- 29141(line=1302, offs=2) */ ATSstaticdec() ats_void_type loop_89 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; // ATSlocal_void (tmp442) ; // ATSlocal_void (tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; __ats_lab_loop_89: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp440 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp441 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp442 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp443 = ats_selsin_mac(tmp442, atslab_1) */ ; tmp444 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_case_exhaustiveness (env0, env1, tmp440) ; /* tmp445 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst (env0, tmp440, env2) ; /* tmp446 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp444) ; /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (env0) ; arg0 = tmp441 ; goto __ats_lab_loop_89 ; // tail call break ; } while (0) ; return /* (tmp439) */ ; } /* end of [loop_89] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } loop_89_closure_type ; ats_void_type loop_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { loop_89 (((loop_89_closure_type*)cloptr)->closure_env_0, ((loop_89_closure_type*)cloptr)->closure_env_1, ((loop_89_closure_type*)cloptr)->closure_env_2, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_89_closure_init (loop_89_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_89_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type loop_89_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { loop_89_closure_type *p_clo = ATS_MALLOC(sizeof(loop_89_closure_type)) ; loop_89_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 28642(line=1283, offs=3) -- 29187(line=1306, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp438) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false: /* tmp438 = */ loop_89 (arg0, arg1, arg3, arg2) ; return /* (tmp438) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 29291(line=1312, offs=3) -- 29484(line=1328, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop: tmp449 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_prop (arg0, arg1) ; tmp450 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp450)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp450, atslab_0, tmp449) ; /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp450) ; return /* (tmp448) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 29559(line=1332, offs=3) -- 29722(line=1336, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; // ATSlocal_void (tmp454) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp452 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp453 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp454 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp452) ; arg0 = arg0 ; arg1 = tmp453 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst ; // tail call break ; } while (0) ; return /* (tmp451) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 29825(line=1341, offs=3) -- 29958(line=1344, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt: /* tmp456 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp455 = */ list_vt_free_01499_ats_ptr_type (arg1) ; return /* (tmp455) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 30060(line=1350, offs=3) -- 30159(line=1354, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp458 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_0) ; /* tmp457 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp458) ; break ; } while (0) ; return /* (tmp457) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 30243(line=1359, offs=3) -- 30361(line=1364, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: tmp460 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_0) ; tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg (tmp460) ; /* tmp459 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp461) ; break ; } while (0) ; return /* (tmp459) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 30480(line=1372, offs=3) -- 30909(line=1393, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp462) ; // ATSlocal_void (tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind: /* tmp463 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_insert (arg1, arg2) ; tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_bind (arg0, arg1, arg2) ; tmp465 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp465)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp465, atslab_0, tmp464) ; /* tmp462 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp465) ; return /* (tmp462) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 30981(line=1397, offs=3) -- 31430(line=1419, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq: tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp467), atslab_s2exp_node) ; tmp470 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp468), atslab_s2exp_node) ; do { /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: __ats_lab_98_2: tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__h3ypo_eqeq (arg0, arg1, arg2) ; tmp472 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp472)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp472, atslab_0, tmp471) ; /* tmp466 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp472) ; break ; } while (0) ; return /* (tmp466) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 32646(line=1465, offs=15) -- 33023(line=1475, offs=18) */ ATSstaticdec() ats_void_type loop_98 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp490) ; ATSlocal (anairiats_rec_2, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; // ATSlocal_void (tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; __ats_lab_loop_98: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp491 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp494 = ats_select_mac(tmp491, atslab_s2qua_svs) ; /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp494) ; tmp496 = ats_select_mac(tmp491, atslab_s2qua_sps) ; /* tmp495 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (arg0, tmp496) ; arg0 = arg0 ; arg1 = tmp492 ; goto __ats_lab_loop_98 ; // tail call break ; } while (0) ; return /* (tmp490) */ ; } /* end of [loop_98] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 33848(line=1506, offs=13) -- 34271(line=1520, offs=10) */ ATSstaticdec() ats_void_type aux_99 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; // ATSlocal_void (tmp512) ; __ats_lab_aux_99: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_113_1: tmp508 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp509 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (tmp508) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq (env1, tmp511) ; /* tmp512 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (env0, tmp510) ; arg0 = tmp509 ; goto __ats_lab_aux_99 ; // tail call break ; } while (0) ; return /* (tmp507) */ ; } /* end of [aux_99] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux_99_closure_type ; ats_void_type aux_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { aux_99 (((aux_99_closure_type*)cloptr)->closure_env_0, ((aux_99_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_99_closure_init (aux_99_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_99_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_99_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux_99_closure_type *p_clo = ATS_MALLOC(sizeof(aux_99_closure_type)) ; aux_99_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 35131(line=1552, offs=13) -- 35554(line=1566, offs=10) */ ATSstaticdec() ats_void_type aux_100 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp525) ; ATSlocal (ats_char_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; // ATSlocal_void (tmp530) ; __ats_lab_aux_100: do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp526 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_0) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char (tmp526) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq (env1, tmp529) ; /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (env0, tmp528) ; arg0 = tmp527 ; goto __ats_lab_aux_100 ; // tail call break ; } while (0) ; return /* (tmp525) */ ; } /* end of [aux_100] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux_100_closure_type ; ats_void_type aux_100_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { aux_100 (((aux_100_closure_type*)cloptr)->closure_env_0, ((aux_100_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_100_closure_init (aux_100_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_100_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_100_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux_100_closure_type *p_clo = ATS_MALLOC(sizeof(aux_100_closure_type)) ; aux_100_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 31525(line=1425, offs=3) -- 36253(line=1597, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_bool_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (anairiats_rec_1, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_bool_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_char_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst: tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, tmp474) ; tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp475) ; tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp476) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_105_0 ; } __ats_lab_100_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp479 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp480 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp477), atslab_s2exp_node) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp480)->tag != 10) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_7, tmp480, atslab_0) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_d2con_d2con (tmp478, tmp481) ; if (tmp482) { tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp483) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d2con_instantiate (arg0, tmp478) ; tmp485 = ats_select_mac(tmp484, atslab_0) ; tmp486 = ats_select_mac(tmp484, atslab_1) ; tmp487 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp486), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp487)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 32172(line=1456, offs=13) -- 32239(line=1456, offs=80)") ; } tmp488 = ats_caselptrlab_mac(anairiats_sum_19, tmp487, atslab_4) ; tmp489 = ats_caselptrlab_mac(anairiats_sum_19, tmp487, atslab_5) ; /* tmp497 = */ loop_98 (arg0, tmp485) ; /* tmp498 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp489, tmp477) ; tmp499 = list_copy_01322_ats_ptr_type (tmp479) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst (arg0, tmp499, tmp488) ; break ; } while (0) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_106_0 ; } __ats_lab_105_1: break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_109_0 ; } __ats_lab_106_1: tmp500 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype (tmp476) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (tmp501 != (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (tmp501 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp502 = ats_caselptrlab_mac(anairiats_sum_17, tmp501, atslab_0) ; ATS_FREE(tmp501) ; tmp503 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (tmp500) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp502, tmp503) ; break ; } while (0) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_114_0 ; } __ats_lab_109_1: tmp504 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype (tmp476) ; do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (tmp505 != (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (tmp505 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp506 = ats_caselptrlab_mac(anairiats_sum_17, tmp505, atslab_0) ; ATS_FREE(tmp505) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize (tmp504) ; /* tmp473 = */ aux_99 (arg0, tmp506, tmp513) ; break ; } while (0) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_117_0 ; } __ats_lab_114_1: tmp514 = ats_caselptrlab_mac(anairiats_sum_21, arg1, atslab_0) ; tmp515 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype (tmp476) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (tmp515 != (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (tmp515 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: tmp516 = ats_caselptrlab_mac(anairiats_sum_17, tmp515, atslab_0) ; ATS_FREE(tmp515) ; tmp517 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (tmp514) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp516, tmp517) ; break ; } while (0) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_120_0 ; } __ats_lab_117_1: tmp518 = ats_caselptrlab_mac(anairiats_sum_22, arg1, atslab_0) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype (tmp476) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (tmp519 != (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (tmp519 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: tmp520 = ats_caselptrlab_mac(anairiats_sum_17, tmp519, atslab_0) ; ATS_FREE(tmp519) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char (tmp518) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp520, tmp521) ; break ; } while (0) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_125_0 ; } __ats_lab_120_1: tmp522 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype (tmp476) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (tmp523 != (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (tmp523 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: tmp524 = ats_caselptrlab_mac(anairiats_sum_17, tmp523, atslab_0) ; ATS_FREE(tmp523) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize (tmp522) ; /* tmp473 = */ aux_100 (arg0, tmp524, tmp531) ; break ; } while (0) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_126_0 ; } __ats_lab_125_1: break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_127_0 ; } __ats_lab_126_1: break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_127_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_18, arg1, atslab_1) ; tmp533 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp477), atslab_s2exp_node) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp533)->tag != 25) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp534 = ats_caselptrlab_mac(anairiats_sum_24, tmp533, atslab_2) ; tmp535 = list_copy_01322_ats_ptr_type (tmp532) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_labpatcstlst (arg0, tmp535, tmp534) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp473) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 36391(line=1606, offs=1) -- 37044(line=1634, offs=4) */ ATSstaticdec() ats_int_type loop_102 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_int_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; ATSlocal (ats_int_type, tmp546) ; __ats_lab_loop_102: do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; } __ats_lab_130_1: do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp538 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp539 = (ats_sum_ptr_type)0 ; tmp540 = atspre_sub_int_int (arg2, 1) ; arg0 = tmp539 ; arg1 = tmp538 ; arg2 = tmp540 ; goto __ats_lab_loop_102 ; // tail call break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp537 = arg2 ; break ; } while (0) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_133_1: tmp541 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp542 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp543 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp544 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst (env0, tmp541, tmp543) ; arg0 = tmp542 ; arg1 = tmp544 ; arg2 = arg2 ; goto __ats_lab_loop_102 ; // tail call break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp546 = atspre_add_int_int (arg2, 1) ; arg0 = tmp542 ; arg1 = arg1 ; arg2 = tmp546 ; goto __ats_lab_loop_102 ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp537) ; } /* end of [loop_102] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_102_closure_type ; ats_int_type loop_102_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { return loop_102 (((loop_102_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type loop_102_closure_init (loop_102_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_102_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_102_closure_make (ats_ptr_type env0) { loop_102_closure_type *p_clo = ATS_MALLOC(sizeof(loop_102_closure_type)) ; loop_102_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 36353(line=1603, offs=3) -- 37581(line=1661, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp536) ; ATSlocal (ats_int_type, tmp547) ; ATSlocal (ats_bool_type, tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; ATSlocal (ats_bool_type, tmp553) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; ATSlocal (ats_bool_type, tmp556) ; // ATSlocal_void (tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst: tmp547 = loop_102 (arg0, arg1, arg2, 0) ; tmp548 = atspre_neq_int_int (tmp547, 0) ; if (tmp548) { /* tmp549 = */ prerr_error3_loc_02163_ (arg0) ; /* tmp550 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats"), ATSstrcst("trans3_env_hypadd_patcstlst")) ; /* tmp551 = */ atspre_print_string (ATSstrcst(": constructor arity mismatch")) ; tmp553 = atspre_lt_int_int (tmp547, 0) ; if (tmp553) { /* tmp554 = */ atspre_print_string (ATSstrcst(": more arguments are expected")) ; /* tmp552 = */ atspre_print_newline () ; } else { /* empty */ } /* end of [if] */ tmp556 = atspre_gt_int_int (tmp547, 0) ; if (tmp556) { /* tmp557 = */ atspre_print_string (ATSstrcst(": fewer arguments are expected")) ; /* tmp555 = */ atspre_print_newline () ; } else { /* empty */ } /* end of [if] */ tmp558 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp558)->tag = 85 ; ats_selptrset_mac(anairiats_sum_10, tmp558, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp558, atslab_1, tmp547) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp558) ; } else { /* empty */ } /* end of [if] */ return /* (tmp536) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 37721(line=1669, offs=4) -- 37892(line=1676, offs=4) */ ATSstaticdec() ats_int_type cmp_104 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; __ats_lab_cmp_104: tmp561 = ats_caselptrlab_mac(anairiats_sum_25, arg0, atslab_0) ; tmp562 = ats_caselptrlab_mac(anairiats_sum_25, arg1, atslab_0) ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (tmp561, tmp562) ; return (tmp560) ; } /* end of [cmp_104] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 69930(line=2529, offs=31) -- 70720(line=2552, offs=28) */ ATSstaticdec() ats_ptr_type aux2_01343_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_bool_type, tmp583) ; ATSlocal (ats_int_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; __ats_lab_aux2_01343_ats_ptr_type: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_139_1: tmp579 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp580 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_140 */ __ats_lab_140_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp581 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp582 = &ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp584 = ((ats_int_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg2) (tmp579, tmp581, arg3) ; tmp583 = atspre_lte_int_int (tmp584, 0) ; if (tmp583) { tmp585 = ats_ptrget_mac(ats_ptr_type, tmp580) ; ATS_FREE(arg0) ; tmp586 = aux2_01343_ats_ptr_type (tmp585, arg1, arg2, arg3) ; tmp578 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp578, atslab_0, tmp579) ; ats_selptrset_mac(anairiats_sum_6, tmp578, atslab_1, tmp586) ; } else { tmp587 = ats_ptrget_mac(ats_ptr_type, tmp582) ; ATS_FREE(arg1) ; tmp588 = aux2_01343_ats_ptr_type (arg0, tmp587, arg2, arg3) ; tmp578 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp578, atslab_0, tmp581) ; ats_selptrset_mac(anairiats_sum_6, tmp578, atslab_1, tmp588) ; } /* end of [if] */ break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp578 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp578 = arg1 ; break ; } while (0) ; return (tmp578) ; } /* end of [aux2_01343_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 70807(line=2556, offs=47) -- 71106(line=2563, offs=16) */ ATSstaticdec() ats_ptr_type aux3_01354_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp589) ; __ats_lab_aux3_01354_ats_ptr_type: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_143_0 ; } tmp573 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; if (tmp573 == (ats_sum_ptr_type)0) { goto __ats_lab_143_0 ; } __ats_lab_138_1: tmp574 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp575 = ats_caselptrlab_mac(anairiats_sum_6, tmp573, atslab_0) ; tmp576 = ats_caselptrlab_mac(anairiats_sum_6, tmp573, atslab_1) ; ATS_FREE(tmp573) ; ATS_FREE(arg0) ; tmp577 = aux2_01343_ats_ptr_type (tmp574, tmp575, arg1, arg2) ; tmp589 = aux3_01354_ats_ptr_type (tmp576, arg1, arg2) ; tmp572 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp572, atslab_0, tmp577) ; ats_selptrset_mac(anairiats_sum_6, tmp572, atslab_1, tmp589) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: __ats_lab_143_1: tmp572 = arg0 ; break ; } while (0) ; return (tmp572) ; } /* end of [aux3_01354_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 71193(line=2567, offs=47) -- 71767(line=2587, offs=33) */ ATSstaticdec() ats_ptr_type aux4_01361_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp590) ; __ats_lab_aux4_01361_ats_ptr_type: do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_145_0 ; } __ats_lab_136_1: tmp568 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp569 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp570 = ats_ptrget_mac(ats_ptr_type, tmp569) ; do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (tmp570 == (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } __ats_lab_137_1: tmp571 = aux3_01354_ats_ptr_type (arg0, arg1, arg2) ; arg0 = tmp571 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_aux4_01361_ats_ptr_type ; // tail call break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: // if (tmp570 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_144_1: tmp590 = ats_ptrget_mac(ats_ptr_type, tmp568) ; ATS_FREE(arg0) ; tmp567 = tmp590 ; break ; } while (0) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_145_1: tmp567 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp567) ; } /* end of [aux4_01361_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 69142(line=2506, offs=27) -- 69837(line=2524, offs=33) */ ATSstaticdec() ats_ptr_type aux1_01334_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_bool_type, tmp599) ; ATSlocal (ats_int_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; __ats_lab_aux1_01334_ats_ptr_type: do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_149_0 ; } __ats_lab_146_1: tmp593 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp594 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp595 = ats_ptrget_mac(ats_ptr_type, tmp594) ; do { /* branch: __ats_lab_147 */ __ats_lab_147_0: if (tmp595 == (ats_sum_ptr_type)0) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp596 = ats_caselptrlab_mac(anairiats_sum_6, tmp595, atslab_0) ; tmp597 = ats_caselptrlab_mac(anairiats_sum_6, tmp595, atslab_1) ; ATS_FREE(tmp595) ; ATS_FREE(arg0) ; tmp600 = ((ats_int_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg1) (tmp593, tmp596, arg2) ; tmp599 = atspre_lte_int_int (tmp600, 0) ; if (tmp599) { tmp602 = (ats_sum_ptr_type)0 ; tmp601 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp601, atslab_0, tmp596) ; ats_selptrset_mac(anairiats_sum_6, tmp601, atslab_1, tmp602) ; tmp598 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp598, atslab_0, tmp593) ; ats_selptrset_mac(anairiats_sum_6, tmp598, atslab_1, tmp601) ; } else { tmp604 = (ats_sum_ptr_type)0 ; tmp603 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp603, atslab_0, tmp593) ; ats_selptrset_mac(anairiats_sum_6, tmp603, atslab_1, tmp604) ; tmp598 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp598, atslab_0, tmp596) ; ats_selptrset_mac(anairiats_sum_6, tmp598, atslab_1, tmp603) ; } /* end of [if] */ tmp605 = aux1_01334_ats_ptr_type (tmp597, arg1, arg2) ; tmp592 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp592, atslab_0, tmp598) ; ats_selptrset_mac(anairiats_sum_6, tmp592, atslab_1, tmp605) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: // if (tmp595 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_148_1: tmp606 = (ats_sum_ptr_type)0 ; tmp592 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp592, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp592, atslab_1, tmp606) ; break ; } while (0) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp592 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp592) ; } /* end of [aux1_01334_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 71846(line=2594, offs=3) -- 72013(line=2603, offs=4) */ ATSstaticdec() ats_ptr_type list_mergesort_01452_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp591) ; __ats_lab_list_mergesort_01452_ats_ptr_type: tmp566 = list_copy_01322_ats_ptr_type (arg0) ; tmp591 = aux1_01334_ats_ptr_type (tmp566, arg1, arg2) ; tmp565 = aux4_01361_ats_ptr_type (tmp591, arg1, arg2) ; return (tmp565) ; } /* end of [list_mergesort_01452_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 37981(line=1680, offs=5) -- 38713(line=1706, offs=22) */ ATSstaticdec() ats_void_type aux_110 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_int_type, tmp616) ; ATSlocal (ats_bool_type, tmp617) ; ATSlocal (ats_bool_type, tmp618) ; // ATSlocal_void (tmp619) ; __ats_lab_aux_110: do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } __ats_lab_150_1: tmp608 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp609 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp610 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp611 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp612 = ats_caselptrlab_mac(anairiats_sum_6, tmp608, atslab_0) ; tmp613 = ats_caselptrlab_mac(anairiats_sum_6, tmp608, atslab_1) ; tmp614 = ats_caselptrlab_mac(anairiats_sum_25, tmp610, atslab_0) ; tmp615 = ats_caselptrlab_mac(anairiats_sum_25, tmp610, atslab_2) ; tmp616 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (tmp612, tmp614) ; tmp617 = atspre_ilt (tmp616, 0) ; if (tmp617) { arg0 = tmp609 ; arg1 = arg1 ; goto __ats_lab_aux_110 ; // tail call } else { tmp618 = atspre_igt (tmp616, 0) ; if (tmp618) { arg0 = arg0 ; arg1 = tmp611 ; goto __ats_lab_aux_110 ; // tail call } else { /* tmp619 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcst (env0, tmp613, tmp615) ; arg0 = tmp609 ; arg1 = tmp611 ; goto __ats_lab_aux_110 ; // tail call } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_152_1: break ; } while (0) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_153_1: break ; } while (0) ; return /* (tmp607) */ ; } /* end of [aux_110] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_110_closure_type ; ats_void_type aux_110_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { aux_110 (((aux_110_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_110_closure_init (aux_110_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_110_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_110_closure_make (ats_ptr_type env0) { aux_110_closure_type *p_clo = ATS_MALLOC(sizeof(aux_110_closure_type)) ; aux_110_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 37687(line=1667, offs=3) -- 38969(line=1720, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_labpatcstlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp559) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; // ATSlocal_void (tmp620) ; // ATSlocal_void (tmp621) ; // ATSlocal_void (tmp622) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_labpatcstlst: /* ats_ptr_type tmp563 ; */ tmp563 = atspre_null_ptr ; tmp564 = list_mergesort_01452_ats_ptr_type (arg2, &cmp_104, tmp563) ; /* tmp620 = */ aux_110 (arg0, ats_castfn_mac(ats_ptr_type, arg1), ats_castfn_mac(ats_ptr_type, tmp564)) ; /* tmp621 = */ list_vt_free_01499_ats_ptr_type (arg1) ; /* tmp622 = */ list_vt_free_01499_ats_ptr_type (tmp564) ; return /* (tmp559) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_labpatcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 39046(line=1727, offs=1) -- 39142(line=1731, offs=2) */ ATSstaticdec() ats_void_type trans3_env_hypadd_disj_111 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; __ats_lab_trans3_env_hypadd_disj_111: tmp624 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp624)->tag = 5 ; ats_selptrset_mac(anairiats_sum_5, tmp624, atslab_0, arg0) ; /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp624) ; return /* (tmp623) */ ; } /* end of [trans3_env_hypadd_disj_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 39338(line=1742, offs=1) -- 39904(line=1764, offs=2) */ ATSstaticdec() ats_ptr_type aux_113 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; // ATSlocal_void (tmp629) ; // ATSlocal_void (tmp630) ; // ATSlocal_void (tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; __ats_lab_aux_113: do { /* branch: __ats_lab_154 */ __ats_lab_154_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp626 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_155_1: tmp627 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp628 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp629 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp630 = ats_selsin_mac(tmp629, atslab_1) */ ; /* tmp631 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlst (env0, tmp627, env1) ; tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop () ; tmp633 = aux_113 (env0, env1, tmp628) ; tmp626 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp626, atslab_0, ats_castfn_mac(ats_ptr_type, tmp632)) ; ats_selptrset_mac(anairiats_sum_6, tmp626, atslab_1, tmp633) ; break ; } while (0) ; return (tmp626) ; } /* end of [aux_113] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux_113_closure_type ; ats_ptr_type aux_113_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_113 (((aux_113_closure_type*)cloptr)->closure_env_0, ((aux_113_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_113_closure_init (aux_113_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_113_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_113_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux_113_closure_type *p_clo = ATS_MALLOC(sizeof(aux_113_closure_type)) ; aux_113_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 39299(line=1739, offs=3) -- 40137(line=1776, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlstlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp625) ; ATSlocal (ats_ptr_type, tmp634) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlstlst: tmp634 = aux_113 (arg0, arg2, arg1) ; /* tmp625 = */ trans3_env_hypadd_disj_111 (tmp634) ; return /* (tmp625) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_patcstlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 40264(line=1784, offs=3) -- 40431(line=1798, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_assert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_assert: tmp636 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp636)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp636, atslab_0, arg1) ; /* tmp635 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp636) ; return /* (tmp635) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_assert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 40528(line=1804, offs=3) -- 40728(line=1818, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_verify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_verify: tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_solverify (arg0, arg1) ; tmp639 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp639)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp639, atslab_0, tmp638) ; /* tmp637 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_add (tmp639) ; return /* (tmp637) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_verify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 40881(line=1831, offs=3) -- 41160(line=1840, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; // ATSlocal_void (tmp642) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop: tmp641 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_pop () ; /* tmp642 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () ; tmp640 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop () ; return (tmp640) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 41224(line=1844, offs=3) -- 41373(line=1849, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add: tmp644 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop () ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst (arg0, arg1, ats_castfn_mac(ats_ptr_type, tmp644)) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp645) ; return /* (tmp643) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 41450(line=1853, offs=3) -- 41510(line=1854, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main: tmp647 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; /* tmp646 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp647) ; return /* (tmp646) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 41578(line=1858, offs=17) -- 41840(line=1871, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () { /* local vardec */ // ATSlocal_void (tmp648) ; // ATSlocal_void (tmp649) ; // ATSlocal_void (tmp650) ; // ATSlocal_void (tmp651) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push: /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_push () ; /* tmp650 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () ; /* tmp651 = ats_selsin_mac(tmp650, atslab_1) */ ; /* tmp648 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_push () ; return /* (tmp648) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 41947(line=1879, offs=3) -- 42691(line=1921, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (anairiats_rec_3, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; // ATSlocal_void (tmp657) ; // ATSlocal_void (tmp658) ; // ATSlocal_void (tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; // ATSlocal_void (tmp661) ; // ATSlocal_void (tmp662) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add: tmp653 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp654 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_absuni (tmp653) ; tmp655 = ats_select_mac(tmp654, atslab_1) ; tmp656 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get () ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset (ats_castfn_mac(ats_ptr_type, tmp655), tmp656) ; /* tmp658 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp655)) ; /* tmp659 = */ list_vt_free_01499_ats_ptr_type (tmp655) ; tmp660 = ats_select_mac(tmp654, atslab_2) ; /* tmp661 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (arg0, ats_castfn_mac(ats_ptr_type, tmp660)) ; /* tmp662 = */ list_vt_free_01499_ats_ptr_type (tmp660) ; tmp652 = ats_select_mac(tmp654, atslab_0) ; return (tmp652) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 42780(line=1927, offs=3) -- 43441(line=1965, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (anairiats_rec_3, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; // ATSlocal_void (tmp668) ; // ATSlocal_void (tmp669) ; // ATSlocal_void (tmp670) ; // ATSlocal_void (tmp671) ; ATSlocal (ats_ptr_type, tmp672) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add: tmp664 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp665 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_opnexi (tmp664) ; tmp666 = ats_select_mac(tmp665, atslab_1) ; tmp667 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get () ; /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset (ats_castfn_mac(ats_ptr_type, tmp666), tmp667) ; /* tmp669 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp666)) ; /* tmp670 = */ list_vt_free_01499_ats_ptr_type (tmp666) ; tmp672 = ats_select_mac(tmp665, atslab_2) ; /* tmp671 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt (arg0, tmp672) ; tmp663 = ats_select_mac(tmp665, atslab_0) ; return (tmp663) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 43531(line=1971, offs=3) -- 44348(line=2005, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; ATSlocal (ats_ptr_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; // ATSlocal_void (tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; // ATSlocal_void (tmp685) ; // ATSlocal_void (tmp686) ; // ATSlocal_void (tmp687) ; // ATSlocal_void (tmp688) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add: tmp674 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp675 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp674), atslab_s2exp_node) ; do { /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp675)->tag != 27) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp676 = ats_caselptrlab_mac(anairiats_sum_11, tmp675, atslab_0) ; tmp677 = ats_caselptrlab_mac(anairiats_sum_11, tmp675, atslab_1) ; tmp678 = ats_caselptrlab_mac(anairiats_sum_11, tmp675, atslab_2) ; /* ats_ptr_type tmp679 ; */ tmp679 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp680 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp679), tmp676) ; tmp681 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp679, tmp677) ; tmp682 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp679, tmp678) ; /* tmp683 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp679) ; tmp684 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s2Varset_env_get () ; /* tmp685 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varlst_set_sVarset (ats_castfn_mac(ats_ptr_type, tmp680), tmp684) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp680)) ; /* tmp687 = */ list_vt_free_01499_ats_ptr_type (tmp680) ; /* tmp688 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt (arg0, tmp681) ; tmp673 = tmp682 ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: __ats_lab_157_1: tmp673 = tmp674 ; break ; } while (0) ; return (tmp673) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 44466(line=2014, offs=5) -- 44708(line=2029, offs=2) */ ATSstaticdec() ats_ptr_type auxres_123 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; __ats_lab_auxres_123: tmp690 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp690)->tag != 27) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp691 = ats_caselptrlab_mac(anairiats_sum_11, tmp690, atslab_2) ; arg0 = tmp691 ; goto __ats_lab_auxres_123 ; // tail call break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp690)->tag != 31) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp692 = ats_caselptrlab_mac(anairiats_sum_7, tmp690, atslab_1) ; tmp689 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ats_selptrset_mac(anairiats_sum_17, tmp689, atslab_0, tmp692) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: __ats_lab_160_1: tmp689 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp689) ; } /* end of [auxres_123] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 44736(line=2031, offs=5) -- 45597(line=2065, offs=4) */ ATSstaticdec() ats_ptr_type auxarg_124 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_int_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; ATSlocal (ats_int_type, tmp700) ; ATSlocal (anairiats_rec_1, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; // ATSlocal_void (tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; __ats_lab_auxarg_124: do { /* branch: __ats_lab_161 */ __ats_lab_161_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp693 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_162_1: tmp694 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp695 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; do { /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp696 = ats_caselptrlab_mac(anairiats_sum_26, arg2, atslab_2) ; tmp697 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp694), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp697)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 44994(line=2047, offs=11) -- 45039(line=2048, offs=36)") ; } tmp698 = ats_caselptrlab_mac(anairiats_sum_18, tmp697, atslab_0) ; tmp699 = ats_caselptrlab_mac(anairiats_sum_18, tmp697, atslab_1) ; /* ats_int_type tmp700 ; */ tmp700 = 0 ; tmp701 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all (tmp699, arg0, (&tmp700)) ; tmp702 = ats_select_mac(tmp701, atslab_0) ; tmp703 = ats_select_mac(tmp701, atslab_1) ; /* tmp704 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp703) ; tmp705 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg (tmp698, tmp702) ; tmp706 = auxarg_124 (arg0, tmp695, tmp696) ; tmp693 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_0, tmp705) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_1, tmp706) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp707 = ats_caselptrlab_mac(anairiats_sum_26, arg2, atslab_2) ; tmp708 = auxarg_124 (arg0, tmp695, tmp707) ; tmp693 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_0, tmp694) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_1, tmp708) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp709 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp710 = auxarg_124 (arg0, tmp695, tmp709) ; tmp693 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_0, tmp694) ; ats_selptrset_mac(anairiats_sum_6, tmp693, atslab_1, tmp710) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: // if (((ats_sum_ptr_type)arg2)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_166_1: tmp693 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp693) ; } /* end of [auxarg_124] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 45675(line=2071, offs=3) -- 45850(line=2078, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; ATSlocal (ats_ptr_type, tmp713) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add: tmp712 = auxres_123 (arg2) ; do { /* branch: __ats_lab_167 */ __ats_lab_167_0: if (tmp712 == (ats_sum_ptr_type)0) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp713 = ats_caselptrlab_mac(anairiats_sum_17, tmp712, atslab_0) ; ATS_FREE(tmp712) ; tmp711 = auxarg_124 (arg0, arg1, tmp713) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: // if (tmp712 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_168_1: tmp711 = arg1 ; break ; } while (0) ; return (tmp711) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 45970(line=2086, offs=3) -- 46253(line=2101, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_opnset_and_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_opnset_and_add: tmp715 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; do { /* branch: __ats_lab_169 */ __ats_lab_169_0: if (tmp715 == (ats_sum_ptr_type)0) { goto __ats_lab_170_0 ; } __ats_lab_169_1: tmp716 = ats_caselptrlab_mac(anairiats_sum_17, tmp715, atslab_0) ; tmp717 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp716) ; tmp718 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, tmp717) ; tmp719 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ats_selptrset_mac(anairiats_sum_17, tmp719, atslab_0, tmp718) ; /* tmp714 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp719) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: // if (tmp715 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_170_1: tmp720 = (ats_sum_ptr_type)0 ; /* tmp714 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp720) ; break ; } while (0) ; return /* (tmp714) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_opnset_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 46338(line=2107, offs=3) -- 46723(line=2126, offs=4) */ ATSglobaldec() anairiats_rec_27 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_27, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_bool_type, tmp724) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_ptr_type, tmp727) ; ATSlocal (ats_ptr_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype: /* ats_ptr_type tmp722 ; */ tmp722 = arg1 ; /* ats_ptr_type tmp723 ; */ tmp723 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; tmp724 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype (arg1) ; if (tmp724) { tmp726 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp727 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, tmp726) ; tmp728 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp727), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp728)->tag != 31) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 46574(line=2119, offs=7) -- 46617(line=2119, offs=50)") ; } tmp729 = ats_caselptrlab_mac(anairiats_sum_7, tmp728, atslab_0) ; tmp730 = ats_caselptrlab_mac(anairiats_sum_7, tmp728, atslab_1) ; tmp722 = tmp729 ; tmp723 = tmp730 ; } else { /* empty */ } /* end of [if] */ tmp721.atslab_0 = tmp724 ; tmp721.atslab_1 = tmp722 ; tmp721.atslab_2 = tmp723 ; return (tmp721) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 46806(line=2132, offs=3) -- 47115(line=2157, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp731) ; ATSlocal (ats_ptr_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add: tmp732 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d3exp_type) ; tmp733 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp732) ; tmp735 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d3exp_loc) ; tmp734 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp735, tmp733) ; /* tmp731 = */ patsopt_d3exp_set_type (arg0, tmp734) ; return /* (tmp731) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 47182(line=2161, offs=3) -- 47230(line=2161, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp736) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add: /* tmp736 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) ; return /* (tmp736) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 47325(line=2168, offs=3) -- 48674(line=2218, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_env_initialize () { /* local vardec */ // ATSlocal_void (tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; // ATSlocal_void (tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; ATSlocal (ats_ptr_type, tmp742) ; // ATSlocal_void (tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; // ATSlocal_void (tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; // ATSlocal_void (tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; // ATSlocal_void (tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; // ATSlocal_void (tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; // ATSlocal_void (tmp758) ; ATSlocal (ats_ptr_type, tmp759) ; ATSlocal (ats_ptr_type, tmp760) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_env_initialize: tmp738 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype) ; tmp739 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; /* tmp740 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp739, tmp738) ; tmp741 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype) ; tmp742 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; /* tmp743 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp742, tmp741) ; tmp744 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype) ; tmp745 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype) ; /* tmp746 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp745, tmp744) ; tmp747 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype) ; tmp748 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype) ; /* tmp749 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp748, tmp747) ; tmp750 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; /* tmp752 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp751, tmp750) ; tmp753 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; tmp754 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; /* tmp755 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp754, tmp753) ; tmp756 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type) ; tmp757 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type) ; /* tmp758 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp757, tmp756) ; tmp759 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type) ; tmp760 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; /* tmp737 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (tmp760, tmp759) ; return /* (tmp737) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_env_initialize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env.dats: 48776(line=2224, offs=3) -- 49044(line=2240, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_finget_constraint () { /* local vardec */ ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; ATSlocal (ats_ptr_type, tmp763) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_finget_constraint: tmp762 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__the_s3itmlst_env_pop () ; tmp763 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; tmp761 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_itmlst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, tmp763, ats_castfn_mac(ats_ptr_type, tmp762)) ; return (tmp761) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_finget_constraint] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp310, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp311, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp313, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp314, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp366, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp367, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp368, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp369, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil () ; statmp311 = ref_make_elt_01089_ats_ptr_type (statmp310) ; statmp314 = (ats_sum_ptr_type)0 ; statmp313 = ref_make_elt_01089_ats_ptr_type (statmp314) ; statmp367 = (ats_sum_ptr_type)0 ; statmp366 = ref_make_elt_01089_ats_ptr_type (statmp367) ; statmp369 = (ats_sum_ptr_type)0 ; statmp368 = ref_make_elt_01089_ats_ptr_type (statmp369) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_comarg_dats.c0000664000175000017500000006275112655455557020064 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/string.cats" #include "libc/CATS/errno.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ // extern char* patsopt_ATSPKGRELOCROOT_get () ; // /* type definitions */ typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DATSDEF_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__COMARGkey_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_int1_of_size1) (ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gt_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_type, ...) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_ppush) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATSPKGRELOCROOT) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_datsdef) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string_parser) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_parse) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, getenv) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type loop_1 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type loop_3 (ats_int_type env0, ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type loop_3_closure_make (ats_int_type env0) ; static ats_void_type loop_3_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type string_extract_7 (ats_ptr_type arg0, ats_size_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 2130(line=83, offs=1) -- 2350(line=94, offs=2) */ ATSstaticdec() ats_ptr_type loop_1 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_char_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; __ats_lab_loop_1: tmp2 = atspre_ilt (arg2, arg1) ; if (tmp2) { tmp4 = atspre_string_get_char_at__intsz (arg0, arg2) ; tmp3 = atspre_neq_char_char (tmp4, '-') ; if (tmp3) { tmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_1, arg0) ; } else { tmp5 = atspre_iadd (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp5 ; goto __ats_lab_loop_1 ; // tail call } /* end of [if] */ } else { tmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_1, arg0) ; } /* end of [if] */ return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 2111(line=80, offs=3) -- 2518(line=105, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_parse (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_size_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_parse: tmp6 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp7 = atspre_int1_of_size1 (tmp6) ; tmp0 = loop_1 (ats_castfn_mac(ats_ptr_type, arg0), tmp7, 0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_parse] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 2670(line=117, offs=1) -- 3165(line=141, offs=2) */ ATSstaticdec() ats_void_type loop_3 (ats_int_type env0, ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab_loop_3: tmp10 = atspre_ilt (arg1, env0) ; if (tmp10) { tmp11 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp11 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp13 = ats_caselptrind_mac(ats_ptr_type, arg0, [arg1]) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_parse (tmp13) ; tmp15 = (ats_sum_ptr_type)0 ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp14, atslab_0, tmp12) ; ats_selptrset_mac(anairiats_sum_1, tmp14, atslab_1, tmp15) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp14 ; tmp16 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp16 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_1) ; tmp18 = atspre_iadd (arg1, 1) ; arg0 = arg0 ; arg1 = tmp18 ; arg2 = tmp17 ; goto __ats_lab_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp9) */ ; } /* end of [loop_3] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } loop_3_closure_type ; ats_void_type loop_3_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { loop_3 (((loop_3_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_3_closure_init (loop_3_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_3_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_3_closure_make (ats_int_type env0) { loop_3_closure_type *p_clo = ATS_MALLOC(sizeof(loop_3_closure_type)) ; loop_3_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 2597(line=111, offs=6) -- 3325(line=149, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarglst_parse (ats_int_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarglst_parse: /* ats_ptr_type tmp19 ; */ tmp19 = (ats_sum_ptr_type)0 ; /* tmp20 = */ loop_3 (arg0, arg1, 0, (&tmp19)) ; /* tmp21 = ats_selsin_mac(tmp20, atslab_1) */ ; tmp8 = tmp19 ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarglst_parse] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 3403(line=155, offs=3) -- 3598(line=163, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning: /* tmp23 = */ atspre_prerr_string (ATSstrcst("warning(ATS)")) ; /* tmp24 = */ atspre_prerr_string (ATSstrcst(": unrecognized command line argument [")) ; /* tmp25 = */ atspre_prerr_string (arg0) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst("] is ignored.")) ; /* tmp22 = */ atspre_prerr_newline () ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 3674(line=168, offs=14) -- 3740(line=169, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_DATS_flag (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_DATS_flag: tmp29 = atslib_strncmp (arg0, ATSstrcst("-DATS"), 5) ; tmp28 = atspre_eq_int_int (tmp29, 0) ; if (tmp28) { tmp27 = ats_true_bool ; } else { tmp27 = ats_false_bool ; } /* end of [if] */ return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_DATS_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 3790(line=173, offs=14) -- 3856(line=174, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_IATS_flag (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_IATS_flag: tmp32 = atslib_strncmp (arg0, ATSstrcst("-IATS"), 5) ; tmp31 = atspre_eq_int_int (tmp32, 0) ; if (tmp31) { tmp30 = ats_true_bool ; } else { tmp30 = ats_false_bool ; } /* end of [if] */ return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_IATS_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 3915(line=182, offs=1) -- 4258(line=199, offs=4) */ ATSstaticdec() ats_ptr_type string_extract_7 (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_size_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_size_type, tmp37) ; __ats_lab_string_extract_7: tmp34 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp35 = atspre_gt_size1_size1 (tmp34, ats_castfn_mac(ats_size_type, arg1)) ; if (tmp35) { tmp37 = atspre_sub_size1_size1 (tmp34, ats_castfn_mac(ats_size_type, arg1)) ; tmp36 = atspre_string_make_substring (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_size_type, arg1), tmp37) ; tmp33 = ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp36)) ; } else { tmp33 = atspre_stropt_none ; } /* end of [if] */ return (tmp33) ; } /* end of [string_extract_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 4329(line=205, offs=3) -- 4368(line=205, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__DATS_extract (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__DATS_extract: tmp38 = string_extract_7 (arg0, 5) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__DATS_extract] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 4394(line=208, offs=3) -- 4433(line=208, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__IATS_extract (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__IATS_extract: tmp39 = string_extract_7 (arg0, 5) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__IATS_extract] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 4510(line=216, offs=3) -- 5271(line=252, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string_parser (ats_castfn_mac(ats_ptr_type, arg0), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_datsdef) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp41 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_2, tmp41, atslab_0) ; ATS_FREE(tmp41) ; // tmp43 = ats_caselptrlab_mac(anairiats_sum_1, tmp42, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_1, tmp42, atslab_1) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp44 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_2, tmp44, atslab_0) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp46) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (tmp44 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; break ; } while (0) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv (tmp43, tmp45) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp41 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: /* tmp47 = */ atspre_prerr_string (ATSstrcst("patsopt: error(0)")) ; /* tmp48 = */ atspre_prerr_string (ATSstrcst(": the command-line argument [")) ; /* tmp49 = */ atspre_prerr_string (ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp50 = */ atspre_prerr_string (ATSstrcst("] cannot be properly parsed.")) ; /* tmp51 = */ atspre_prerr_newline () ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 5393(line=260, offs=3) -- 5511(line=267, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir: /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush (arg0) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_ppush (arg0) ; return /* (tmp52) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir] */ /* // /home/hwxi/Research/Postiats/git/src/pats_comarg.dats: 5683(line=281, offs=2) -- 6531(line=345, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_ATSPKGRELOCROOT () { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_ATSPKGRELOCROOT: tmp55 = patsopt_ATSPKGRELOCROOT_get () ; tmp56 = atspre_stropt_is_some (tmp55) ; if (tmp56) { tmp57 = ats_castfn_mac(ats_ptr_type, tmp55) ; } else { tmp58 = getenv (ATSstrcst("USER")) ; tmp59 = atspre_stropt_is_some (tmp58) ; if (tmp59) { tmp60 = ats_castfn_mac(ats_ptr_type, tmp58) ; } else { tmp60 = ATSstrcst("$USER") ; } /* end of [if] */ tmp61 = atspre_tostringf (ATSstrcst("/tmp/.ATSPKGRELOCROOT-%s"), tmp60) ; tmp57 = ats_castfn_mac(ats_ptr_type, tmp61) ; } /* end of [if] */ tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, tmp57) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATSPKGRELOCROOT, tmp62) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_ATSPKGRELOCROOT] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_comarg_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_counter_sats.c0000664000175000017500000000234212655455557020300 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_counter_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp1_sats.c0000664000175000017500000004045312655455557020213 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALfloat_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPif_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPeval_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTapp_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTtype_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__SP1Tcstr_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_some_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_none_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qprop_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qvars_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsrt_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsub_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Esqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eintrep_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Echar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Efloat_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Estring_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextype_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextkind_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eapp_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elam_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eimp_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etop_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Einvar_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etrans_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyarr_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etytup_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_ext_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Euni_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eexi_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eann_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Ed2ctype_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGseq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGdyn_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGsta_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEsome_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEnone_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_sarglst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_svararglst_1) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALfloat_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPif_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPeval_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14.tag = 14 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTapp_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTtype_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__SP1Tcstr_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_some_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_none_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qprop_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qvars_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsrt_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsub_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Esqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eintrep_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Echar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Efloat_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Estring_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextype_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextkind_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eapp_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elam_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eimp_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etop_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Einvar_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etrans_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyarr_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etytup_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_ext_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Euni_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eexi_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eann_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Ed2ctype_23.tag = 23 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGseq_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGdyn_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGsta_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEsome_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEnone_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_sarglst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_svararglst_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp1_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_print_dats.c0000664000175000017500000000745112655455557021660 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload () ; #ifdef _ATS_PROOFCHECK _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_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_lintprgm_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_tokbuf_sats.c0000664000175000017500000000343312655455557020115 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ #include "pats_tokbuf.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_tokbuf_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_histaexp_sats.c0000664000175000017500000001402112655455557020443 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HITNAM_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEcst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyabs_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEapp_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEextype_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyvar_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyclo_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEvararg_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2exp_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2zexp_15) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HITNAM_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEcst_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyabs_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEapp_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEextype_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyvar_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyclo_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEvararg_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2exp_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2zexp_15.tag = 15 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_histaexp_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_basics_dats.c0000664000175000017500000011576712655455557020066 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_int_type atslab_0 ; } anairiats_sum_0 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_lnot_uint) (ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_land_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_lor_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VIEWT0YPE_knd) ; /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_int_type, statmp62) ; // ATSstatic_void (statmp63) ; // ATSstatic_void (statmp64) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 1582(line=49, offs=14) -- 1697(line=54, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_uint_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind: tmp1 = atspre_asl_int_int1 (1, 0) ; tmp2 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp1)) ; tmp0 = atspre_gt_uint_uint (tmp2, 0u) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 1747(line=57, offs=14) -- 1799(line=58, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind (arg0) ; if (tmp4) { tmp3 = ats_false_bool ; } else { tmp3 = ats_true_bool ; } /* end of [if] */ return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 1849(line=62, offs=14) -- 1964(line=67, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_uint_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind: tmp6 = atspre_asl_int_int1 (1, 1) ; tmp7 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp6)) ; tmp5 = atspre_gt_uint_uint (tmp7, 0u) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2014(line=70, offs=14) -- 2129(line=75, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_uint_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind: tmp9 = atspre_asl_int_int1 (1, 2) ; tmp10 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp9)) ; tmp8 = atspre_gt_uint_uint (tmp10, 0u) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2180(line=78, offs=15) -- 2295(line=83, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prgmkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_uint_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prgmkind: tmp12 = atspre_asl_int_int1 (1, 2) ; tmp13 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp12)) ; tmp11 = atspre_eq_uint_uint (tmp13, 0u) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prgmkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2346(line=86, offs=14) -- 2524(line=92, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_uint_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind: tmp15 = atspre_asl_int_int1 (3, 3) ; tmp16 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp15)) ; tmp17 = atspre_eq_uint_uint (tmp16, 0u) ; if (tmp17) { tmp14 = 0 ; } else { tmp18 = atspre_lt_uint_uint (tmp16, ats_castfn_mac(ats_uint_type, tmp15)) ; if (tmp18) { tmp14 = 1 ; } else { tmp14 = -1 ; } /* end of [if] */ } /* end of [if] */ return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2600(line=97, offs=19) -- 2716(line=102, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_linearize (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_uint_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_linearize: tmp20 = atspre_asl_int_int1 (1, 1) ; tmp21 = atspre_lor_uint_uint (ats_castfn_mac(ats_uint_type, arg0), ats_castfn_mac(ats_uint_type, tmp20)) ; tmp19 = ats_castfn_mac(ats_int_type, tmp21) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_linearize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2777(line=105, offs=20) -- 2895(line=110, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_neutralize (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_uint_type, tmp24) ; ATSlocal (ats_uint_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_neutralize: tmp23 = atspre_asl_int_int1 (3, 3) ; tmp25 = atspre_lnot_uint (ats_castfn_mac(ats_uint_type, tmp23)) ; tmp24 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), tmp25) ; tmp22 = ats_castfn_mac(ats_int_type, tmp24) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_neutralize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 2979(line=115, offs=21) -- 3187(line=122, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__lte_impkind_impkind (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_uint_type, tmp28) ; ATSlocal (ats_uint_type, tmp29) ; ATSlocal (ats_uint_type, tmp30) ; ATSlocal (ats_uint_type, tmp31) ; ATSlocal (ats_uint_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__lte_impkind_impkind: tmp27 = atspre_asl_int_int1 (3, 3) ; tmp28 = atspre_lnot_uint (ats_castfn_mac(ats_uint_type, tmp27)) ; tmp29 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg0), tmp28) ; tmp30 = atspre_land_uint_uint (ats_castfn_mac(ats_uint_type, arg1), tmp28) ; tmp32 = atspre_lnot_uint (tmp30) ; tmp31 = atspre_land_uint_uint (tmp29, tmp32) ; tmp26 = atspre_eq_uint_uint (tmp31, 0u) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__lte_impkind_impkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 3269(line=128, offs=3) -- 3446(line=132, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_caskind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_caskind: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("case")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("case+")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("case-")) ; break ; } while (0) ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_caskind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 3527(line=139, offs=3) -- 3654(line=148, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp34 = ats_true_bool ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp34 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp34 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp34 = ats_false_bool ; break ; } while (0) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 3718(line=152, offs=3) -- 3922(line=167, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp35 = ats_true_bool ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp35 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp35 = ats_true_bool ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp35 = ats_true_bool ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp35 = ats_true_bool ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp35 = ats_false_bool ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 3990(line=171, offs=3) -- 4041(line=173, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp36 = ats_true_bool ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp36 = ats_false_bool ; break ; } while (0) ; return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 4126(line=180, offs=3) -- 4500(line=196, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("fn")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("fnx")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("fun")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("prfn")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("prfun")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("praxi")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("castfn")) ; break ; } while (0) ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 4694(line=208, offs=18) -- 4747(line=209, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp38 = ats_true_bool ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp38 = ats_false_bool ; break ; } while (0) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 4826(line=216, offs=3) -- 5048(line=225, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("val")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("val+")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_27_0 ; } __ats_lab_26_1: /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("val-")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("prval")) ; break ; } while (0) ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5129(line=231, offs=3) -- 5316(line=240, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind2caskind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind2caskind: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; break ; } while (0) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind2caskind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5393(line=245, offs=17) -- 5442(line=246, offs=44) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp41 = ats_true_bool ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp41 = ats_false_bool ; break ; } while (0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5498(line=250, offs=17) -- 5547(line=251, offs=44) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_val (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_val: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp42 = ats_true_bool ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp42 = ats_false_bool ; break ; } while (0) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5605(line=255, offs=19) -- 5656(line=256, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prfun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prfun: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp43 = ats_true_bool ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp43 = ats_false_bool ; break ; } while (0) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5716(line=260, offs=19) -- 5767(line=261, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prval (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prval: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp44 = ats_true_bool ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp44 = ats_false_bool ; break ; } while (0) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_prval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 5850(line=268, offs=3) -- 5978(line=277, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp45 = ats_true_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp45 = ats_true_bool ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp45 = ats_true_bool ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp45 = ats_false_bool ; break ; } while (0) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 6039(line=280, offs=20) -- 6093(line=281, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_castfn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_castfn: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp46 = ats_true_bool ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp46 = ats_false_bool ; break ; } while (0) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_castfn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 6175(line=288, offs=3) -- 6515(line=299, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKfun()")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKval()")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKpraxi()")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKprfun()")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKprval()")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (((ats_sum_ptr_type)arg1)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("DCKcastfn()")) ; break ; } while (0) ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 6590(line=304, offs=15) -- 6661(line=306, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_clo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_clo: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp48 = ats_true_bool ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp48 = ats_false_bool ; break ; } while (0) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_clo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 6734(line=312, offs=15) -- 6808(line=314, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_ptr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_ptr: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp49 = atspre_neq_int_int (tmp50, 0) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp49 = ats_true_bool ; break ; } while (0) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 6863(line=318, offs=18) -- 6938(line=320, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_cloptr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_cloptr: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp51 = atspre_neq_int_int (tmp52, 0) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp51 = ats_false_bool ; break ; } while (0) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_cloptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7019(line=327, offs=3) -- 7164(line=330, offs=20) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_60_1 ; } __ats_lab_58_2: tmp54 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp53 = atspre_eq_int_int (tmp54, tmp55) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_60_1 ; } __ats_lab_59_2: tmp53 = ats_true_bool ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: __ats_lab_60_2: tmp53 = ats_false_bool ; break ; } while (0) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7223(line=334, offs=19) -- 7264(line=334, offs=60) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__neq_funclo_funclo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__neq_funclo_funclo: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo (arg0, arg1) ; tmp56 = atspre_neg_bool (tmp57) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__neq_funclo_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7313(line=340, offs=3) -- 7448(line=345, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_int_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp58 = */ atspre_fprintf_exn (arg0, ATSstrcst("CLO(%i)"), tmp59) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: /* tmp58 = */ atspre_fprintf_exn (arg0, ATSstrcst("FUN")) ; break ; } while (0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7504(line=348, offs=24) -- 7541(line=348, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__print_funclo (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__print_funclo: /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (stdout, arg0) ; return /* (tmp60) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__print_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7565(line=349, offs=24) -- 7602(line=349, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (stderr, arg0) ; return /* (tmp61) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7831(line=365, offs=16) -- 7890(line=367, offs=4) */ ATSglobaldec() ats_int_type patsopt_debug_flag_get () { /* local vardec */ ATSlocal (ats_int_type, tmp65) ; __ats_lab_patsopt_debug_flag_get: tmp65 = ats_ptrget_mac(ats_int_type, (&statmp62)) ; return (tmp65) ; } /* end of [patsopt_debug_flag_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_basics.dats: 7944(line=370, offs=16) -- 8009(line=372, offs=4) */ ATSglobaldec() ats_void_type patsopt_debug_flag_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp66) ; __ats_lab_patsopt_debug_flag_set: ats_ptrget_mac(ats_int_type, (&statmp62)) = arg0 ; return /* (tmp66) */ ; } /* end of [patsopt_debug_flag_set] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp62, sizeof(ats_int_type)) ; /* marking external values for GC */ /* code for dynamic loading */ ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VIEWT0YPE_knd, sizeof(ats_int_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VIEWT0YPE_knd = 3 ; /* ats_int_type statmp62 ; */ statmp62 = 0 ; /* statmp63 = */ atspre_vbox_make_view_ptr ((&statmp62)) ; /* statmp64 = ats_selsin_mac(statmp63, atslab_1) */ ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ ats_void_type patsopt_vfprintf_ifdebug ( ats_ptr_type out , ats_ptr_type fmt , va_list ap // variadic arguments ) { // if (patsopt_debug_flag_get () > 0) { (void)vfprintf((FILE*)out, (char*)fmt, ap) ; } // end of [if] // return ; } // end of [patsopt_debug_printf] ats_void_type patsopt_prerrf_ifdebug ( ats_ptr_type fmt, ... ) { va_list ap ; va_start(ap, fmt) ; patsopt_vfprintf_ifdebug(stderr, (char*)fmt, ap) ; va_end(ap) ; return ; } // end of [patsopt_debug_prerrf] /* ****** ****** */ /* end of [pats_basics_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_looping_dats.c0000664000175000017500000006144712655455557021445 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loopexn) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopfini) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopcont) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_looping.dats: 1578(line=50, offs=3) -- 3006(line=112, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loop: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_loc) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_type) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp3)->tag != 50) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_looping.dats: 1664(line=54, offs=5) -- 1715(line=54, offs=56)") ; } tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_1) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_2) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_3) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp4 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp4, atslab_0) ; /* ats_ptr_type tmp10 ; */ tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp10, tmp9) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp10) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp8 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp6 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp14 = tmp12 ; break ; } while (0) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv (arg0, tmp12, tmp13, tmp14) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp16, tmp5) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp16) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp6 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_0) ; /* ats_ptr_type tmp21 ; */ tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp21, tmp20) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp21) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp19 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp23, tmp7) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp23) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv (arg0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop (tmp1, tmp12, tmp13, tmp14, tmp8, tmp17, tmp18, tmp19, tmp25) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp27) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp1, tmp2) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_looping.dats: 3092(line=118, offs=3) -- 3483(line=138, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn: tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_loc) ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_type) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp32)->tag != 51) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_looping.dats: 3178(line=122, offs=5) -- 3214(line=122, offs=41)") ; } tmp33 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ; tmp35 = atspre_eq_int_int (tmp33, 0) ; if (tmp35) { tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopfini (arg0) ; } else { tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopcont (arg0) ; } /* end of [if] */ tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loopexn (tmp30, tmp33, tmp34) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp36) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp30, tmp31) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_looping_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_error_dats.c0000664000175000017500000013450512655455557021410 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_funclo_equal_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_clokind_equal_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_linearity_equal_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_pfarity_equal_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2eff_subeq_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_boxity_equal_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_tyreckind_equal_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_equal_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_tyleq_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2Var_s2exp_solve_13) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_int) (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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_get) (ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type prerr_staerr_funclo_equal_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_clokind_equal_13 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type prerr_staerr_linearity_equal_14 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type prerr_staerr_pfarity_equal_15 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type prerr_staerr_s2eff_subeq_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_boxity_equal_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_tyreckind_equal_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_s2exp_equal_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_s2exp_tyleq_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_staerr_s2Var_s2exp_solve_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp7) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 1608(line=47, offs=28) -- 1639(line=47, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_staexp2_error")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_int_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp6 ; */ tmp6 = arg0 ; tmp5 = atspre_ref_make_elt_tsz ((&tmp6), sizeof(ats_ptr_type)) ; return (tmp5) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp13 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp12) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp11 = */ loop_5 (arg0) ; return /* (tmp11) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 2070(line=74, offs=3) -- 2279(line=81, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_clear () { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_clear: ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp14 = ats_ptrget_mac(ats_ptr_type, tmp9) ; /* tmp10 = */ list_vt_free_01499_ats_ptr_type (tmp14) ; tmp15 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp15 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 2343(line=85, offs=3) -- 2649(line=96, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp18 = ats_ptrget_mac(ats_int_type, tmp17) ; tmp19 = atspre_add_int_int (tmp18, 1) ; ats_ptrget_mac(ats_int_type, tmp17) = tmp19 ; tmp20 = atspre_lt_int_int (tmp18, 100) ; if (tmp20) { tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp23 = ats_ptrget_mac(ats_ptr_type, tmp21) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp22, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp22, atslab_1, tmp23) ; ats_ptrget_mac(ats_ptr_type, tmp21) = tmp22 ; } else { /* empty */ } /* end of [if] */ return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_revapp_10: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp32 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp33 = ats_ptrget_mac(ats_ptr_type, tmp32) ; ats_ptrget_mac(ats_ptr_type, tmp32) = arg1 ; tmp34 = arg0 ; arg0 = tmp33 ; arg1 = tmp34 ; goto __ats_lab_revapp_10 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp31 = arg1 ; break ; } while (0) ; return (tmp31) ; } /* end of [revapp_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp30 = revapp_10 (arg0, arg1) ; return (tmp30) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp35 = (ats_sum_ptr_type)0 ; tmp29 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp35) ; return (tmp29) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 2711(line=100, offs=3) -- 2918(line=107, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_get (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_get: tmp25 = ats_ptrget_mac(ats_int_type, statmp1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp25 ; ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp27 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp28 = list_vt_reverse_01506_ats_ptr_type (tmp27) ; tmp36 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp26) = tmp36 ; tmp24 = tmp28 ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; __ats_lab_prerr_error3_loc_02084_: /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp39 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp39) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 3004(line=115, offs=4) -- 3312(line=122, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_funclo_equal_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab_prerr_staerr_funclo_equal_11: /* tmp38 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp41 = */ atspre_prerr_string (ATSstrcst(": function/closure mismatch:\n")) ; /* tmp42 = */ atspre_prerr_string (ATSstrcst("The actual funclo kind is: ")) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo (arg1) ; /* tmp44 = */ atspre_prerr_newline () ; /* tmp45 = */ atspre_prerr_string (ATSstrcst("The needed funclo kind is: ")) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__prerr_funclo (arg2) ; /* tmp37 = */ atspre_prerr_newline () ; return /* (tmp37) */ ; } /* end of [prerr_staerr_funclo_equal_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 3355(line=124, offs=4) -- 3649(line=131, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_clokind_equal_13 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; __ats_lab_prerr_staerr_clokind_equal_13: /* tmp48 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": closure mismatch:\n")) ; /* tmp50 = */ atspre_prerr_string (ATSstrcst("The actual closure kind is: ")) ; /* tmp51 = */ atspre_prerr_int (arg1) ; /* tmp52 = */ atspre_prerr_newline () ; /* tmp53 = */ atspre_prerr_string (ATSstrcst("The needed closure kind is: ")) ; /* tmp54 = */ atspre_prerr_int (arg2) ; /* tmp47 = */ atspre_prerr_newline () ; return /* (tmp47) */ ; } /* end of [prerr_staerr_clokind_equal_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 3693(line=133, offs=4) -- 4090(line=144, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_linearity_equal_14 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; __ats_lab_prerr_staerr_linearity_equal_14: /* tmp56 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst(": linearity mismatch:\n")) ; /* tmp58 = */ atspre_prerr_string (ATSstrcst("The actual linearity is: ")) ; tmp61 = atspre_gt_int_int (arg1, 0) ; if (tmp61) { tmp60 = ATSstrcst("linear") ; } else { tmp60 = ATSstrcst("nonlinear") ; } /* end of [if] */ /* tmp59 = */ atspre_prerr_string (tmp60) ; /* tmp62 = */ atspre_prerr_newline () ; /* tmp63 = */ atspre_prerr_string (ATSstrcst("The needed linearity is: ")) ; tmp66 = atspre_gt_int_int (arg2, 0) ; if (tmp66) { tmp65 = ATSstrcst("linear") ; } else { tmp65 = ATSstrcst("nonlinear") ; } /* end of [if] */ /* tmp64 = */ atspre_prerr_string (tmp65) ; /* tmp55 = */ atspre_prerr_newline () ; return /* (tmp55) */ ; } /* end of [prerr_staerr_linearity_equal_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 4136(line=146, offs=4) -- 4432(line=153, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_pfarity_equal_15 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab_prerr_staerr_pfarity_equal_15: /* tmp68 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp69 = */ atspre_prerr_string (ATSstrcst(": proof arity mismatch:\n")) ; /* tmp70 = */ atspre_prerr_string (ATSstrcst("The actual proof arity is: ")) ; /* tmp71 = */ atspre_prerr_int (arg1) ; /* tmp72 = */ atspre_prerr_newline () ; /* tmp73 = */ atspre_prerr_string (ATSstrcst("The needed proof arity is: ")) ; /* tmp74 = */ atspre_prerr_int (arg2) ; /* tmp67 = */ atspre_prerr_newline () ; return /* (tmp67) */ ; } /* end of [prerr_staerr_pfarity_equal_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 4497(line=157, offs=4) -- 4812(line=164, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_s2eff_subeq_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab_prerr_staerr_s2eff_subeq_16: /* tmp76 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp77 = */ atspre_prerr_string (ATSstrcst(": maybe incurring disallowed effects:\n")) ; /* tmp78 = */ atspre_prerr_string (ATSstrcst("The actual effects are: ")) ; /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff (arg1) ; /* tmp80 = */ atspre_prerr_newline () ; /* tmp81 = */ atspre_prerr_string (ATSstrcst("The allowed effects are: ")) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff (arg2) ; /* tmp75 = */ atspre_prerr_newline () ; return /* (tmp75) */ ; } /* end of [prerr_staerr_s2eff_subeq_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 4875(line=168, offs=4) -- 5080(line=178, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_boxity_equal_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; __ats_lab_prerr_staerr_boxity_equal_17: /* tmp84 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp85 = */ atspre_prerr_string (ATSstrcst(": boxity mismatch")) ; /* tmp83 = */ atspre_prerr_newline () ; return /* (tmp83) */ ; } /* end of [prerr_staerr_boxity_equal_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 5123(line=180, offs=4) -- 5428(line=193, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_tyreckind_equal_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; __ats_lab_prerr_staerr_tyreckind_equal_18: /* tmp87 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp88 = */ atspre_prerr_string (ATSstrcst(": tyreckind mismatch: ")) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind (arg1) ; /* tmp90 = */ atspre_prerr_string (ATSstrcst(" <> ")) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind (arg2) ; /* tmp86 = */ atspre_prerr_newline () ; return /* (tmp86) */ ; } /* end of [prerr_staerr_tyreckind_equal_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 5492(line=197, offs=4) -- 5798(line=204, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_s2exp_equal_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; __ats_lab_prerr_staerr_s2exp_equal_19: /* tmp93 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp94 = */ atspre_prerr_string (ATSstrcst(": mismatch of static terms (equal):\n")) ; /* tmp95 = */ atspre_prerr_string (ATSstrcst("The actual term is: ")) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (arg1) ; /* tmp97 = */ atspre_prerr_newline () ; /* tmp98 = */ atspre_prerr_string (ATSstrcst("The needed term is: ")) ; /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (arg2) ; /* tmp92 = */ atspre_prerr_newline () ; return /* (tmp92) */ ; } /* end of [prerr_staerr_s2exp_equal_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 5840(line=206, offs=4) -- 6146(line=213, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_s2exp_tyleq_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab_prerr_staerr_s2exp_tyleq_20: /* tmp101 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp102 = */ atspre_prerr_string (ATSstrcst(": mismatch of static terms (tyleq):\n")) ; /* tmp103 = */ atspre_prerr_string (ATSstrcst("The actual term is: ")) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (arg1) ; /* tmp105 = */ atspre_prerr_newline () ; /* tmp106 = */ atspre_prerr_string (ATSstrcst("The needed term is: ")) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (arg2) ; /* tmp100 = */ atspre_prerr_newline () ; return /* (tmp100) */ ; } /* end of [prerr_staerr_s2exp_tyleq_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 6188(line=215, offs=4) -- 6754(line=233, offs=4) */ ATSstaticdec() ats_void_type prerr_staerr_s2Var_s2exp_solve_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; __ats_lab_prerr_staerr_s2Var_s2exp_solve_21: tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt (arg1) ; tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_s2exp_srt) ; /* tmp111 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp112 = */ atspre_prerr_string (ATSstrcst(": mismatch of sorts in unification:\n")) ; /* tmp113 = */ atspre_prerr_string (ATSstrcst("The sort of variable is: ")) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp109) ; /* tmp115 = */ atspre_prerr_newline () ; /* tmp116 = */ atspre_prerr_string (ATSstrcst("The sort of solution is: ")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp110) ; /* tmp108 = */ atspre_prerr_newline () ; return /* (tmp108) */ ; } /* end of [prerr_staerr_s2Var_s2exp_solve_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 6866(line=240, offs=5) -- 8073(line=272, offs=4) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_loop_23: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_4_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp120)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_funclo_equal_11 (tmp123, tmp124, tmp125) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp120)->tag != 3) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_1) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_clokind_equal_13 (tmp126, tmp127, tmp128) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp120)->tag != 4) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_1) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_linearity_equal_14 (tmp129, tmp130, tmp131) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp120)->tag != 5) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_1) ; tmp134 = ats_caselptrlab_mac(anairiats_sum_4, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_pfarity_equal_15 (tmp132, tmp133, tmp134) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp120)->tag != 6) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_s2eff_subeq_16 (tmp135, tmp136, tmp137) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp120)->tag != 7) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_5, tmp120, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_5, tmp120, atslab_1) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_5, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_boxity_equal_17 (tmp138, tmp139, tmp140) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp120)->tag != 8) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp143 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_tyreckind_equal_18 (tmp141, tmp142, tmp143) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp120)->tag != 11) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_s2exp_equal_19 (tmp144, tmp145, tmp146) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp120)->tag != 12) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_s2exp_tyleq_20 (tmp147, tmp148, tmp149) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp120)->tag != 13) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_2) ; /* tmp122 = */ prerr_staerr_s2Var_s2exp_solve_21 (tmp150, tmp151, tmp152) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: break ; } while (0) ; arg0 = tmp121 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: break ; } while (0) ; return /* (tmp119) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_error.dats: 6850(line=238, offs=21) -- 8157(line=279, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () { /* local vardec */ // ATSlocal_void (tmp118) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst: /* ats_int_type tmp153 ; */ tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_get ((&tmp153)) ; /* tmp118 = */ loop_23 (tmp154) ; return /* (tmp118) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = ref_01088_ats_int_type (0) ; statmp7 = (ats_sum_ptr_type)0 ; statmp4 = ref_01088_ats_ptr_type (statmp7) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dyncst2_dats.c0000664000175000017500000007344012655455557020177 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_sym ; ats_ptr_type atslab_cst ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_get_cst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_equ_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__the_sizeof_vt0ype_size) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_is_null) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_isnot_null) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__sasp__d2cstref_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__the_sizeof_vt0ype_size) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_02042_ () ; static ats_ptr_type d2cstref_get_sym_1 (ats_ptr_type arg0) ; static ats_ptr_type d2cstref_get_cstnul_2 (ats_ptr_type arg0) ; static ats_void_type d2cstref_set_cstnul_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type prerr_interror_02043_ () ; static ats_ptr_type auxerr_7 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp32) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 1715(line=53, offs=28) -- 1740(line=53, offs=53) */ ATSstaticdec() ats_void_type prerr_FILENAME_02042_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02042_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_stacst2")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02042_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 2609(line=99, offs=5) -- 2712(line=102, offs=4) */ ATSstaticdec() ats_ptr_type d2cstref_get_sym_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_d2cstref_get_sym_1: tmp2 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp1 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp2), atslab_sym) ; return (tmp1) ; } /* end of [d2cstref_get_sym_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 2768(line=106, offs=5) -- 2876(line=109, offs=4) */ ATSstaticdec() ats_ptr_type d2cstref_get_cstnul_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_d2cstref_get_cstnul_2: tmp4 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp3 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_cst) ; return (tmp3) ; } /* end of [d2cstref_get_cstnul_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 2913(line=110, offs=5) -- 3039(line=113, offs=4) */ ATSstaticdec() ats_void_type d2cstref_set_cstnul_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_d2cstref_set_cstnul_3: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_cst) = arg1 ; return /* (tmp5) */ ; } /* end of [d2cstref_set_cstnul_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp10 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp10) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 3118(line=118, offs=15) -- 3356(line=125, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_make: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (arg0) ; tmp9 = ptr_alloc_01070_anairiats_rec_1 () ; tmp11 = ats_selsin_mac(tmp9, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_sym) = tmp8 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_cst) = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ; tmp7 = atspre_ref_make_view_ptr (tmp11) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02043_ () { /* local vardec */ // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab_prerr_interror_02043_: /* tmp16 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp17 = */ prerr_FILENAME_02042_ () ; /* tmp15 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp15) */ ; } /* end of [prerr_interror_02043_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 3472(line=134, offs=4) -- 3708(line=141, offs=4) */ ATSstaticdec() ats_ptr_type auxerr_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab_auxerr_7: /* tmp14 = */ prerr_interror_02043_ () ; /* tmp18 = */ atspre_prerr_string (ATSstrcst(": d2cstref_get_cst")) ; /* tmp19 = */ atspre_prerr_string (ATSstrcst(": the pervasive dynamic constant [")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst("] is not available.")) ; /* tmp22 = */ atspre_prerr_newline () ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; return (tmp13) ; } /* end of [auxerr_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 3456(line=132, offs=18) -- 4234(line=170, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_get_cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_get_cst: tmp23 = d2cstref_get_cstnul_2 (arg0) ; tmp24 = atspre_ptr_is_null (tmp23) ; if (tmp24) { tmp25 = d2cstref_get_sym_1 (arg0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find (tmp25) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp26 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, tmp26, atslab_0) ; ATS_FREE(tmp26) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp27)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp27, atslab_0) ; /* tmp29 = */ d2cstref_set_cstnul_3 (arg0, ats_castfn_mac(ats_ptr_type, tmp28)) ; tmp12 = tmp28 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp12 = auxerr_7 (tmp25) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp26 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp12 = auxerr_7 (tmp25) ; break ; } while (0) ; } else { tmp12 = ats_castfn_mac(ats_ptr_type, tmp23) ; } /* end of [if] */ return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_get_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 4313(line=175, offs=18) -- 4368(line=176, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_equ_cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_equ_cst: tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_get_cst (arg0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (tmp31, arg1) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_equ_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 4528(line=187, offs=17) -- 4584(line=188, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cst_is_sizeof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cst_is_sizeof: tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__the_sizeof_vt0ype_size, arg0) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cst_is_sizeof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dyncst2.dats: 4664(line=193, offs=30) -- 4671(line=193, offs=37) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__dyncst2_initialize () { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__dyncst2_initialize: return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__dyncst2_initialize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp32, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__d2cstref_make (ATSstrcst("sizeof")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__the_sizeof_vt0ype_size, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__the_sizeof_vt0ype_size = statmp32 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dyncst2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_namespace_sats.c0000664000175000017500000000313612655455557020557 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_namespace_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_taggen_dats.c0000664000175000017500000017051612655455557020060 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_tagent_sym ; ats_ptr_type atslab_tagent_loc ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_p0at_loc ; ats_ptr_type atslab_p0at_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_t0kindef_loc ; ats_ptr_type atslab_t0kindef_sym ; ats_ptr_type atslab_t0kindef_loc_id ; ats_ptr_type atslab_t0kindef_def ; } anairiats_rec_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s0aspdec_loc ; ats_ptr_type atslab_s0aspdec_qid ; ats_ptr_type atslab_s0aspdec_arg ; ats_ptr_type atslab_s0aspdec_res ; ats_ptr_type atslab_s0aspdec_def ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_sqi0de_loc ; ats_ptr_type atslab_sqi0de_qua ; ats_ptr_type atslab_sqi0de_sym ; } anairiats_rec_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_i0mpdec_loc ; ats_ptr_type atslab_i0mpdec_qid ; ats_ptr_type atslab_i0mpdec_arg ; ats_ptr_type atslab_i0mpdec_res ; ats_ptr_type atslab_i0mpdec_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_impqi0de_loc ; ats_ptr_type atslab_impqi0de_qua ; ats_ptr_type atslab_impqi0de_sym ; ats_ptr_type atslab_impqi0de_arg ; } anairiats_rec_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_guad0ecl_loc ; ats_ptr_type atslab_guad0ecl_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_s0expdef_loc ; ats_ptr_type atslab_s0expdef_sym ; ats_ptr_type atslab_s0expdef_loc_id ; ats_ptr_type atslab_s0expdef_arg ; ats_ptr_type atslab_s0expdef_res ; ats_ptr_type atslab_s0expdef_def ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_e0xndec_loc ; ats_ptr_type atslab_e0xndec_fil ; ats_ptr_type atslab_e0xndec_sym ; ats_ptr_type atslab_e0xndec_qua ; ats_ptr_type atslab_e0xndec_arg ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_d0atdec_loc ; ats_ptr_type atslab_d0atdec_loc_hd ; ats_ptr_type atslab_d0atdec_fil ; ats_ptr_type atslab_d0atdec_sym ; ats_ptr_type atslab_d0atdec_arg ; ats_ptr_type atslab_d0atdec_con ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_d0cstdec_loc ; ats_ptr_type atslab_d0cstdec_fil ; ats_ptr_type atslab_d0cstdec_sym ; ats_ptr_type atslab_d0cstdec_arg ; ats_ptr_type atslab_d0cstdec_eff ; ats_ptr_type atslab_d0cstdec_res ; ats_ptr_type atslab_d0cstdec_extopt ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_m0acdef_loc ; ats_ptr_type atslab_m0acdef_sym ; ats_ptr_type atslab_m0acdef_arg ; ats_ptr_type atslab_m0acdef_def ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_f0undec_loc ; ats_ptr_type atslab_f0undec_sym ; ats_ptr_type atslab_f0undec_sym_loc ; ats_ptr_type atslab_f0undec_arg ; ats_ptr_type atslab_f0undec_eff ; ats_ptr_type atslab_f0undec_res ; ats_ptr_type atslab_f0undec_def ; ats_ptr_type atslab_f0undec_ann ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_v0aldec_loc ; ats_ptr_type atslab_v0aldec_pat ; ats_ptr_type atslab_v0aldec_def ; ats_ptr_type atslab_v0aldec_ann ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_v0ardec_loc ; ats_int_type atslab_v0ardec_knd ; ats_ptr_type atslab_v0ardec_sym ; ats_ptr_type atslab_v0ardec_sym_loc ; ats_ptr_type atslab_v0ardec_pfat ; ats_ptr_type atslab_v0ardec_type ; ats_ptr_type atslab_v0ardec_init ; } anairiats_rec_28 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_add_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_void_type, atspre_fprint_lint) (ats_ptr_type, ats_lint_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow) (ats_ptr_type) ; ATSextern_fun(ats_lint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_ntot) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0ecl) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_guad0ecl) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst) (ats_ptr_type, ats_ref_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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__sasp__tagent_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type tagentlst_add_0 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type TAGENT_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type tagentlst_add_symloc_2 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type tagentlst_add_i0de_3 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type tagentlst_add_i0delst_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type tagentlst_add_p0at_5 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type taggen_guad0ecl_node_8 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type revapp_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type fprint_name_23 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_ent_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_25 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 1704(line=56, offs=5) -- 1815(line=62, offs=4) */ ATSstaticdec() ats_void_type tagentlst_add_0 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_tagentlst_add_0: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_0, tmp1, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp1 ; return /* (tmp0) */ ; } /* end of [tagentlst_add_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 1977(line=74, offs=5) -- 2067(line=79, offs=2) */ ATSstaticdec() ats_ptr_type TAGENT_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_TAGENT_1: tmp2 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_tagent_sym, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_tagent_loc, arg1) ; return (tmp2) ; } /* end of [TAGENT_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 2971(line=121, offs=1) -- 3095(line=126, offs=41) */ ATSstaticdec() ats_void_type tagentlst_add_symloc_2 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_tagentlst_add_symloc_2: tmp4 = TAGENT_1 (arg1, arg2) ; /* tmp3 = */ tagentlst_add_0 (arg0, tmp4) ; return /* (tmp3) */ ; } /* end of [tagentlst_add_symloc_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 3155(line=132, offs=1) -- 3276(line=137, offs=2) */ ATSstaticdec() ats_void_type tagentlst_add_i0de_3 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_tagentlst_add_i0de_3: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_i0de_sym) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_i0de_loc) ; /* tmp5 = */ tagentlst_add_symloc_2 (arg0, tmp6, tmp7) ; return /* (tmp5) */ ; } /* end of [tagentlst_add_i0de_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 3337(line=142, offs=1) -- 3622(line=156, offs=2) */ ATSstaticdec() ats_void_type tagentlst_add_i0delst_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab_tagentlst_add_i0delst_4: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; /* tmp11 = */ tagentlst_add_i0de_3 (arg0, tmp9) ; arg0 = arg0 ; arg1 = tmp10 ; goto __ats_lab_tagentlst_add_i0delst_4 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp8) */ ; } /* end of [tagentlst_add_i0delst_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 3686(line=161, offs=1) -- 4113(line=184, offs=4) */ ATSstaticdec() ats_void_type tagentlst_add_p0at_5 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_tagentlst_add_p0at_5: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p0at_loc) ; tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p0at_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp14)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_4, tmp14, atslab_0) ; /* tmp12 = */ tagentlst_add_symloc_2 (arg0, tmp15, tmp13) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp14)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_1) ; /* tmp12 = */ tagentlst_add_symloc_2 (arg0, tmp16, tmp13) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp14)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_4, tmp14, atslab_0) ; /* tmp12 = */ tagentlst_add_symloc_2 (arg0, tmp17, tmp13) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp14)->tag != 17) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_0) ; arg0 = arg0 ; arg1 = tmp18 ; goto __ats_lab_tagentlst_add_p0at_5 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: break ; } while (0) ; return /* (tmp12) */ ; } /* end of [tagentlst_add_p0at_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 4194(line=190, offs=3) -- 6235(line=269, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0ecl (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0ecl: tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d0ecl_loc) ; tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d0ecl_node) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp21)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp21)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp21)->tag != 2) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; /* tmp19 = */ tagentlst_add_i0delst_4 (arg1, tmp22) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp21)->tag != 3) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; /* tmp19 = */ tagentlst_add_i0delst_4 (arg1, tmp23) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp21)->tag != 4) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_0) ; /* tmp19 = */ tagentlst_add_i0de_3 (arg1, tmp24) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp21)->tag != 5) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp19 = */ tagentlst_add_symloc_2 (arg1, tmp25, tmp20) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp21)->tag != 6) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; /* tmp19 = */ tagentlst_add_symloc_2 (arg1, tmp26, tmp20) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp21)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp27), atslab_t0kindef_sym) ; tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp27), atslab_t0kindef_loc_id) ; /* tmp19 = */ tagentlst_add_symloc_2 (arg1, tmp28, tmp29) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp21)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_9, tmp21, atslab_1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst (tmp30, arg1) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp21)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp31), atslab_s0aspdec_qid) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp32), atslab_sqi0de_sym) ; tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp32), atslab_sqi0de_loc) ; /* tmp19 = */ tagentlst_add_symloc_2 (arg1, tmp33, tmp34) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp21)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst (tmp35, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp21)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_12, tmp21, atslab_1) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_12, tmp21, atslab_2) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst (tmp36, arg1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst (tmp37, arg1) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp21)->tag != 24) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_13, tmp21, atslab_3) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst (tmp39, arg1) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp21)->tag != 25) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_12, tmp21, atslab_2) ; tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp40), atslab_i0mpdec_qid) ; tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp41), atslab_impqi0de_sym) ; tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp41), atslab_impqi0de_loc) ; /* tmp19 = */ tagentlst_add_symloc_2 (arg1, tmp42, tmp43) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp21)->tag != 26) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_16, tmp21, atslab_2) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst (tmp44, arg1) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp21)->tag != 27) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_17, tmp21, atslab_2) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst (tmp45, arg1) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp21)->tag != 28) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_18, tmp21, atslab_2) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst (tmp46, arg1) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp21)->tag != 29) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_9, tmp21, atslab_1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst (tmp47, arg1) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp21)->tag != 30) { goto __ats_lab_26_0 ; } __ats_lab_25_1: break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp21)->tag != 31) { goto __ats_lab_27_0 ; } __ats_lab_26_1: break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp21)->tag != 32) { goto __ats_lab_28_0 ; } __ats_lab_27_1: break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp21)->tag != 33) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_17, tmp21, atslab_2) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp48, arg1) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp21)->tag != 35) { goto __ats_lab_30_0 ; } __ats_lab_29_1: break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp21)->tag != 36) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp49, arg1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp49, arg1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp21)->tag != 37) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_guad0ecl (tmp51, arg1) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp52 = TAGENT_1 (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty, tmp20) ; /* tmp19 = */ tagentlst_add_0 (arg1, tmp52) ; break ; } while (0) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 6311(line=275, offs=3) -- 6538(line=289, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0ecl (tmp54, arg1) ; arg0 = tmp55 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 6600(line=296, offs=1) -- 6997(line=318, offs=4) */ ATSstaticdec() ats_void_type taggen_guad0ecl_node_8 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab_taggen_guad0ecl_node_8: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp58, arg1) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_17, arg0, atslab_1) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_17, arg0, atslab_2) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp59, arg1) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (tmp60, arg1) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_19, arg0, atslab_3) ; arg0 = tmp62 ; arg1 = arg1 ; goto __ats_lab_taggen_guad0ecl_node_8 ; // tail call break ; } while (0) ; return /* (tmp57) */ ; } /* end of [taggen_guad0ecl_node_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 7085(line=323, offs=17) -- 7147(line=324, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_guad0ecl (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_guad0ecl: tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_guad0ecl_node) ; /* tmp63 = */ taggen_guad0ecl_node_8 (tmp64, arg1) ; return /* (tmp63) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_guad0ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 7252(line=333, offs=3) -- 7568(line=349, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp66), atslab_s0expdef_sym) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp66), atslab_s0expdef_loc_id) ; /* tmp70 = */ tagentlst_add_symloc_2 (arg1, tmp68, tmp69) ; arg0 = tmp67 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp65) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_s0expdeflst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 7652(line=355, offs=3) -- 7962(line=371, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp72), atslab_e0xndec_sym) ; tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp72), atslab_e0xndec_loc) ; /* tmp76 = */ tagentlst_add_symloc_2 (arg1, tmp74, tmp75) ; arg0 = tmp73 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: break ; } while (0) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_e0xndeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 8045(line=377, offs=3) -- 8355(line=393, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp78), atslab_d0atdec_sym) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp78), atslab_d0atdec_loc) ; /* tmp82 = */ tagentlst_add_symloc_2 (arg1, tmp80, tmp81) ; arg0 = tmp79 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: break ; } while (0) ; return /* (tmp77) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0atdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 8439(line=399, offs=3) -- 8752(line=415, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp84), atslab_d0cstdec_sym) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp84), atslab_d0cstdec_loc) ; /* tmp88 = */ tagentlst_add_symloc_2 (arg1, tmp86, tmp87) ; arg0 = tmp85 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0cstdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 8836(line=421, offs=3) -- 9113(line=435, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp92 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp90), atslab_m0acdef_sym) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp90), atslab_m0acdef_loc) ; /* tmp94 = */ tagentlst_add_symloc_2 (arg1, tmp92, tmp93) ; arg0 = tmp91 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: break ; } while (0) ; return /* (tmp89) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_m0acdeflst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 9196(line=441, offs=3) -- 9477(line=455, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp96), atslab_f0undec_sym) ; tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp96), atslab_f0undec_sym_loc) ; /* tmp100 = */ tagentlst_add_symloc_2 (arg1, tmp98, tmp99) ; arg0 = tmp97 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: break ; } while (0) ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_f0undeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 9560(line=461, offs=3) -- 9801(line=474, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp102), atslab_v0aldec_pat) ; /* tmp105 = */ tagentlst_add_p0at_5 (arg1, tmp104) ; arg0 = tmp103 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: break ; } while (0) ; return /* (tmp101) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0aldeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 9884(line=480, offs=3) -- 10165(line=494, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp107), atslab_v0ardec_sym) ; tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp107), atslab_v0ardec_sym_loc) ; /* tmp111 = */ tagentlst_add_symloc_2 (arg1, tmp109, tmp110) ; arg0 = tmp108 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst ; // tail call break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: break ; } while (0) ; return /* (tmp106) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_v0ardeclst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_revapp_21: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp118 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp119 = ats_ptrget_mac(ats_ptr_type, tmp118) ; ats_ptrget_mac(ats_ptr_type, tmp118) = arg1 ; tmp120 = arg0 ; arg0 = tmp119 ; arg1 = tmp120 ; goto __ats_lab_revapp_21 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp117 = arg1 ; break ; } while (0) ; return (tmp117) ; } /* end of [revapp_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp116 = revapp_21 (arg0, arg1) ; return (tmp116) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp121 = (ats_sum_ptr_type)0 ; tmp115 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp121) ; return (tmp115) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 10240(line=499, offs=13) -- 10375(line=507, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__taggen_proc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__taggen_proc: /* ats_ptr_type tmp113 ; */ tmp113 = (ats_sum_ptr_type)0 ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__taggen_d0eclist (arg0, (&tmp113)) ; tmp112 = list_vt_reverse_01506_ats_ptr_type (tmp113) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__taggen_proc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 10478(line=515, offs=5) -- 10638(line=523, offs=2) */ ATSstaticdec() ats_void_type fprint_name_23 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; __ats_lab_fprint_name_23: /* tmp124 = */ atspre_fprint_char (arg0, '"') ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, arg1) ; /* tmp123 = */ atspre_fprint_char (arg0, '"') ; return /* (tmp123) */ ; } /* end of [fprint_name_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 10646(line=525, offs=5) -- 11103(line=544, offs=4) */ ATSstaticdec() ats_void_type fprint_ent_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_lint_type, tmp138) ; ATSlocal (ats_lint_type, tmp139) ; __ats_lab_fprint_ent_24: tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_tagent_loc) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("{\n")) ; /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\"name\": ")) ; tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_tagent_sym) ; /* tmp130 = */ fprint_name_23 (arg0, tmp131) ; /* tmp132 = */ atspre_fprint_string (arg0, ATSstrcst(", \"nline\": ")) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow (tmp127) ; tmp134 = atspre_add_int_int (tmp135, 1) ; /* tmp133 = */ atspre_fprint_int (arg0, tmp134) ; /* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst(", \"nchar\": ")) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_ntot (tmp127) ; tmp138 = atspre_add_lint_lint (tmp139, 1L) ; /* tmp137 = */ atspre_fprint_lint (arg0, tmp138) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst("\n}\n")) ; return /* (tmp126) */ ; } /* end of [fprint_ent_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 11134(line=546, offs=5) -- 11469(line=566, offs=4) */ ATSstaticdec() ats_void_type auxlst_25 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_bool_type, tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_int_type, tmp146) ; __ats_lab_auxlst_25: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp144 = atspre_gt_int_int (arg1, 0) ; if (tmp144) { /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(",\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp145 = */ fprint_ent_24 (arg0, tmp141) ; tmp146 = atspre_add_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp146 ; arg2 = tmp142 ; goto __ats_lab_auxlst_25 ; // tail call break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: break ; } while (0) ; return /* (tmp140) */ ; } /* end of [auxlst_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_taggen.dats: 10448(line=513, offs=3) -- 11895(line=581, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__fprint_entlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__fprint_entlst: /* tmp147 = */ atspre_fprint_string (arg0, ATSstrcst("{\n")) ; /* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst("\"tagfile\": ")) ; /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp150 = */ atspre_fprint_string (arg0, arg1) ; /* tmp151 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst(",\n")) ; /* tmp153 = */ atspre_fprint_string (arg0, ATSstrcst("\"tagentarr\": [\n")) ; /* tmp154 = */ auxlst_25 (arg0, 0, arg2) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("]\n")) ; /* tmp122 = */ atspre_fprint_string (arg0, ATSstrcst("}\n")) ; return /* (tmp122) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__fprint_entlst] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_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_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 () ; #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_taggen_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_counter_dats.c0000664000175000017500000006340112655455557020264 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* 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_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_tostringf) (ats_ptr_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__sasp__counter_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__sasp__count_t0ype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1613(line=50, offs=25) -- 1620(line=50, offs=32) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__count_get_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__count_get_int: tmp0 = arg0 ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__count_get_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1668(line=55, offs=16) -- 1698(line=55, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lt_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lt_count_count: tmp1 = atspre_lt_int_int (arg0, arg1) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lt_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1725(line=57, offs=17) -- 1756(line=57, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lte_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lte_count_count: tmp2 = atspre_lte_int_int (arg0, arg1) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lte_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1783(line=60, offs=16) -- 1813(line=60, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gt_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gt_count_count: tmp3 = atspre_gt_int_int (arg0, arg1) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gt_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1840(line=62, offs=17) -- 1871(line=62, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gte_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gte_count_count: tmp4 = atspre_gte_int_int (arg0, arg1) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__gte_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1898(line=65, offs=16) -- 1928(line=65, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__eq_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__eq_count_count: tmp5 = atspre_eq_int_int (arg0, arg1) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__eq_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 1955(line=67, offs=17) -- 1986(line=67, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__neq_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__neq_count_count: tmp6 = atspre_neq_int_int (arg0, arg1) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__neq_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2018(line=70, offs=21) -- 2053(line=70, offs=56) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__compare_count_count (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__compare_count_count: tmp7 = atspre_compare_int_int (arg0, arg1) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__compare_count_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2099(line=75, offs=14) -- 2129(line=75, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count: /* tmp8 = */ atspre_fprint_int (arg0, arg1) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2177(line=80, offs=16) -- 2253(line=82, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_count (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_count: tmp10 = atspre_tostringf (ATSstrcst("%i"), arg0) ; tmp9 = ats_castfn_mac(ats_ptr_type, tmp10) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2314(line=85, offs=23) -- 2401(line=87, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count: tmp12 = atspre_tostringf (ATSstrcst("%s%i"), arg0, arg1) ; tmp11 = ats_castfn_mac(ats_ptr_type, tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp16 ; */ tmp16 = arg0 ; tmp15 = atspre_ref_make_elt_tsz ((&tmp16), sizeof(ats_int_type)) ; return (tmp15) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_ref_make_elt_01089_ats_int_type: tmp14 = ref_01088_ats_int_type (arg0) ; return (tmp14) ; } /* end of [ref_make_elt_01089_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2483(line=92, offs=14) -- 2510(line=92, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make: tmp13 = ref_make_elt_01089_ats_int_type (0) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2537(line=95, offs=13) -- 2564(line=95, offs=40) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_inc (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_inc: tmp19 = ats_ptrget_mac(ats_int_type, arg0) ; tmp18 = atspre_add_int_int (tmp19, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp18 ; return /* (tmp17) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_inc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2587(line=96, offs=23) -- 2601(line=96, offs=37) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_get (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_get: tmp20 = ats_ptrget_mac(ats_int_type, arg0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2624(line=97, offs=23) -- 2650(line=97, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_set (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_set: ats_ptrget_mac(ats_int_type, arg0) = arg1 ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2675(line=98, offs=25) -- 2694(line=98, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_reset (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_reset: ats_ptrget_mac(ats_int_type, arg0) = 0 ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_reset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2725(line=102, offs=3) -- 2787(line=104, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc: tmp24 = ats_ptrget_mac(ats_int_type, arg0) ; tmp25 = atspre_add_int_int (tmp24, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp25 ; tmp23 = tmp24 ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_counter.dats: 2845(line=108, offs=3) -- 2909(line=110, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_incget (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_incget: tmp28 = ats_ptrget_mac(ats_int_type, arg0) ; tmp27 = atspre_add_int_int (tmp28, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp27 ; tmp26 = tmp27 ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_incget] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_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 () ; #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_counter_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/0000775000175000017500000000000012655455557015474 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/0000775000175000017500000000000012655455557017157 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/0000775000175000017500000000000012655455557020020 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/gcats1.cats0000664000175000017500000004260212655455557022062 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: June 2008 // /* ****** ****** */ #ifndef __ATS_GC_CATS #define __ATS_GC_CATS /* ****** ****** */ #include "gcats1.hats" /* ****** ****** */ // #include #include #include // extern void free (void*) ; // see [stdlib.h] extern void *malloc (size_t) ; // see [stdlib.h] // #ifdef memset // // HX: [memset] is a macro on MACOS // #else extern void *memset (void *src, int c, size_t n) ; #endif // memset // /* ****** ****** */ #undef ATS_FREE #define ATS_FREE free #undef ATS_MALLOC #define ATS_MALLOC malloc #undef ATS_GC_MARKROOT #define ATS_GC_MARKROOT(ptr, sz) do { ; } while (0) /* ****** ****** */ ATSinline() ats_int_type log2_floor (ats_int_type n) { int c = 0 ; while (n >>= 1) c += 1 ; return c; } ATSinline() ats_int_type log2_ceil (ats_int_type n) { int c ; c = log2_floor (n) ; if (n > (1 << c)) c += 1 ; return c ; } /* ****** ****** */ typedef unsigned char byte ; /* ****** ****** */ typedef void *freeitmlst ; /* ****** ****** */ typedef uintptr_t ats_uintptr1_type ; typedef struct { ats_ptr_type atslab_ptr ; ats_int_type atslab_size ; } freeitmptrsz_t ; // ------------------------------------------------------ // // a variety of locks // // ------------------------------------------------------ // ATSinline() ats_void_type gc_main_lock_acquire () { return ; } ATSinline() ats_void_type gc_main_lock_release () { return ; } ATSinline() ats_void_type the_globalentrylst_lock_acquire () { return ; } ATSinline() ats_void_type the_globalentrylst_lock_release () { return ; } ATSinline() ats_void_type the_manmemlst_lock_acquire () { return ; } ATSinline() ats_void_type the_manmemlst_lock_release () { return ; } ATSinline() ats_void_type the_threadinfolst_lock_acquire () { return ; } ATSinline() ats_void_type the_threadinfolst_lock_release () { return ; } ATSinline() ats_void_type the_sweeplst_lock_acquire_one (ats_int_type i) { return ; } ATSinline() ats_void_type the_sweeplst_lock_release_one (ats_int_type i) { return ; } ATSinline() ats_void_type the_sweeplst_lock_acquire_all () { return ; } ATSinline() ats_void_type the_sweeplst_lock_release_all () { return ; } ATSinline() ats_void_type the_sweeplst_lock_acquire_rest (ats_int_type i0) { return ; } ATSinline() ats_void_type the_sweeplst_lock_release_rest (ats_int_type i0) { return ; } // ------------------------------------------------------ // // freeitmlst // // ------------------------------------------------------ ATSinline() ats_ptr_type freeitmlst2ptr (ats_ptr_type x) { return x ; } // ATSinline() ats_bool_type freeitmlst_is_nil (ats_ptr_type itms) { return (itms ? ats_false_bool : ats_true_bool) ; } ATSinline() ats_bool_type freeitmlst_is_cons (ats_ptr_type itms) { return (itms ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_ptr_type freeitmlst_cons ( ats_ptr_type itm, ats_ptr_type itms ) { *(freeitmlst*)itm = itms ; return itm ; } ATSinline() ats_ptr_type freeitmlst_tail_get (ats_ptr_type itms) { return *((freeitmlst*)itms) ; } // extern freeitmlst the_freeitmlst_chunk_data ; ATSinline() ats_void_type freeitmlst_chunk_data_free (ats_ptr_type _data) { free (_data) ; return ; } /* end of [freeitmlst_chunk_data_free] */ ATSinline() ats_void_type freeitmlst_chunk_data_recycle (ats_ptr_type _data) { *((freeitmlst*)_data) = the_freeitmlst_chunk_data; the_freeitmlst_chunk_data = _data ; return ; } /* end of [freeitmlst_chunk_data_recycle] */ /* ****** ****** */ extern freeitmlst the_freeitmlst_array[FREEITMLST_ARRAYSIZE] ; ATSinline() ats_ptr_type the_freeitmlst_array_get (ats_int_type i) { return the_freeitmlst_array[i] ; } ATSinline() ats_void_type the_freeitmlst_array_set (ats_int_type i, ats_ptr_type itms) { the_freeitmlst_array[i] = itms ; return ; } ATSinline() ats_void_type the_freeitmlst_array_clear_one (ats_int_type i) { the_freeitmlst_array[i] = (freeitmlst)0 ; return ; } ATSinline() ats_void_type the_freeitmlst_array_insert_at (ats_ptr_type itm, ats_int_type i) { *(freeitmlst*)itm = the_freeitmlst_array[i] ; the_freeitmlst_array[i] = (freeitmlst)itm ; return ; } // ------------------------------------------------------ // // chunk operations // // ------------------------------------------------------ typedef struct chunk_struct { int itemwsz ; // word size of each free item: must be positive! // if [itemwsz_log = -1], then the chunk is large int itemwsz_log ; // itemwsz_log = log2 (itemwsz) if itemwsz_log >= 0 int itemtot ; // the total number of free items int markcnt ; // the count of marked free items struct chunk_struct *sweep_next ; // next swept chunk freeitmlst data ; // pointer to the data freeitmlst data_nonalign ; // pointer to the truncated beginning byte markbits[0] ; // bits for marking } chunk ; typedef chunk *chunklst ; /* ****** ****** */ ATSinline() ats_ptr_type chunklst2ptr (ats_ptr_type x) { return x ; } // ATSinline() ats_bool_type chunklst_is_nil (ats_ptr_type chks) { return (chks ? ats_false_bool : ats_true_bool) ; } ATSinline() ats_bool_type chunklst_is_cons (ats_ptr_type chks) { return (chks ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_void_type chunk_header_free (ats_ptr_type chks) { free (chks) ; return ; } // ATSinline() ats_int_type chunklst_itembsz_get (ats_ptr_type chks) { return (((chunklst)chks)->itemwsz) << NBYTE_PER_WORD_LOG ; } ATSinline() ats_int_type chunklst_itemwsz_get (ats_ptr_type chks) { return ((chunklst)chks)->itemwsz ; } ATSinline() ats_int_type chunklst_itemwsz_log_get (ats_ptr_type chks) { return ((chunklst)chks)->itemwsz_log ; } ATSinline() ats_int_type chunklst_itemtot_get (ats_ptr_type chks) { return ((chunklst)chks)->itemtot ; } ATSinline() ats_int_type chunklst_markcnt_get (ats_ptr_type chks) { return ((chunklst)chks)->markcnt ; } // ATSinline() ats_ptr_type chunklst_data_get (ats_ptr_type chks) { return ((chunklst)chks)->data ; } ATSinline() ats_ptr_type chunklst_data_nonalign_get (ats_ptr_type chks) { return ((chunklst)chks)->data_nonalign ; } // ATSinline() ats_ptr_type chunklst_markbits_get (ats_ptr_type chks) { return ((chunklst)chks)->markbits ; } ATSinline() ats_ptr_type chunklst_sweep_next_get (ats_ptr_type chks) { return ((chunklst)chks)->sweep_next ; } // ATSinline() ats_void_type chunklst_markcnt_dec (ats_ptr_type chks) { ((chunklst)chks)->markcnt -= 1 ; return ; } ATSinline() ats_void_type chunklst_markcnt_inc (ats_ptr_type chks) { ((chunklst)chks)->markcnt += 1 ; return ; } // extern int the_chunk_count ; extern int the_chunk_count_limit ; ATSinline() ats_int_type the_chunk_count_get () { return the_chunk_count ; } // ATSinline() ats_void_type the_chunk_count_dec_by (ats_int_type n) { the_chunk_count -= n; return ; } /* end of [the_chunk_count_dec_by] */ ATSinline() ats_void_type the_chunk_count_inc_by (ats_int_type n) { the_chunk_count += n; return ; } /* end of [the_chunk_count_inc_by] */ // ATSinline() ats_bool_type the_chunk_count_limit_is_reached () { return (the_chunk_count >= the_chunk_count_limit) ? ats_true_bool : ats_false_bool ; } /* the_chunk_count_limit_is_reached */ ATSinline() ats_bool_type the_chunk_count_limit_is_not_reached () { return (the_chunk_count >= the_chunk_count_limit) ? ats_false_bool : ats_true_bool ; } /* the_chunk_count_limit_is_not_reached */ ATSinline() ats_bool_type the_chunk_count_limit_is_reached_within (ats_int_type n) { return (the_chunk_count + n > the_chunk_count_limit) ? ats_true_bool : ats_false_bool ; } /* the_chunk_count_limit_is_reached_within */ /* ****** ****** */ ATSinline() ats_void_type gc_markbits_clear_chunk (ats_ptr_type chks) { int itemtot ; // total number of items int nmarkbit ; // number of bytes for mark bits itemtot = ((chunklst)chks)->itemtot ; nmarkbit = (itemtot + NBIT_PER_BYTE_MASK) >> NBIT_PER_BYTE_LOG ; memset (((chunklst)chks)->markbits, 0, nmarkbit) ; ((chunklst)chks)->markcnt = 0 ; return ; } /* gc_markbits_clear_chunk */ /* ****** ****** */ /* #define MARK_GET_mac(x, i) \ (((x)[(i) / NBIT_PER_BYTE] >> ((i) % NBIT_PER_BYTE)) & 0x1) */ #define MARK_GET_mac(x, i) \ (((x)[(i) >> NBIT_PER_BYTE_LOG] >> ((i) & NBIT_PER_BYTE_MASK)) & 0x1) ATSinline() ats_bool_type MARK_GET ( ats_ptr_type x, ats_int_type i ) { return MARK_GET_mac((byte*)x, i) ; } /* #define MARK_SET_mac(x, i) \ do { \ (x)[(i) / NBIT_PER_BYTE] |= (1 << ((i) % NBIT_PER_BYTE)) ; \ } while (0) */ #define MARK_SET_mac(x, i) \ do { \ (x)[(i) >> NBIT_PER_BYTE_LOG] |= (1 << ((i) & NBIT_PER_BYTE_MASK)) ; \ } while (0) ATSinline() ats_void_type MARK_SET ( ats_ptr_type x, ats_int_type i ) { MARK_SET_mac((byte*)x, i) ; return ; } /* #define MARK_CLEAR_mac(x, i) \ do { \ (x)[(i) / NBIT_PER_BYTE] &= ~(1 << ((i) % NBIT_PER_BYTE)) ; \ } while (0) */ #define MARK_CLEAR_mac(x, i) \ do { \ (x)[(i) >> NBIT_PER_BYTE_LOG] &= ~(1 << ((i) & NBIT_PER_BYTE_MASK)) ; \ } while (0) ATSinline() ats_void_type MARK_CLEAR ( ats_ptr_type x, ats_int_type i ) { MARK_CLEAR_mac((byte*)x, i) ; return ; } /* ****** ****** */ #define PTR_TOPSEG_GET_mac(p) \ ((p) >> (PTR_BOTCHKSEG_SIZE + NBYTE_PER_WORD_LOG)) ATSinline() ats_uintptr1_type PTR_TOPSEG_GET (ats_ptr_type p) { return PTR_TOPSEG_GET_mac((ats_uintptr1_type)p) ; } // #define PTR_BOTSEG_GET_mac(p) \ (((p) >> (PTR_CHKSEG_SIZE + NBYTE_PER_WORD_LOG)) & BOTSEG_TABLESIZE_MASK) ATSinline() ats_int_type PTR_BOTSEG_GET (ats_ptr_type p) { return PTR_BOTSEG_GET_mac((ats_uintptr1_type)p) ; } // #define PTR_CHKSEG_GET_mac(p) \ (((p) >> NBYTE_PER_WORD_LOG) & CHUNK_WORDSIZE_MASK) ATSinline() ats_int_type PTR_CHKSEG_GET (ats_ptr_type p) { return PTR_CHKSEG_GET_mac((ats_uintptr1_type)p) ; } // typedef struct botsegtbl_struct { #if (__WORDSIZE == 64) uintptr_t key ; struct botsegtbl_struct *hash_next ; #endif chunklst headers[BOTSEG_TABLESIZE] ; } botsegtbl ; typedef botsegtbl *botsegtbllst ; // ATSinline() ats_bool_type botsegtbllst_is_nil (ats_ptr_type tbls) { return (tbls ? ats_false_bool : ats_true_bool) ; } ATSinline() ats_bool_type botsegtbllst_is_cons (ats_ptr_type tbls) { return (tbls ? ats_true_bool : ats_false_bool) ; } // ATSinline() ats_ptr_type botsegtbllst_get (ats_ptr_type tbls, ats_int_type i) { return ((botsegtbllst)tbls)->headers[i] ; } ATSinline() ats_void_type botsegtbllst_set (ats_ptr_type tbls, ats_int_type i, ats_ptr_type chks) { ((botsegtbllst)tbls)->headers[i] = chks ; return ; } ATSinline() ats_void_type botsegtbllst_clear (ats_ptr_type tbls, ats_int_type i) { ((botsegtbllst)tbls)->headers[i] = (chunklst)0 ; return ; } // #if (__WORDSIZE == 32) extern botsegtbllst the_topsegtbl[TOPSEG_TABLESIZE] ; ATSinline() ats_ptr_type the_topsegtbl_get_32 (ats_uintptr1_type ofs) { return the_topsegtbl[ofs] ; } ATSinline() ats_void_type the_topsegtbl_set_32 ( ats_uintptr1_type ofs, ats_ptr_type tbls ) { the_topsegtbl[ofs] = tbls ; return /*void*/; } // end of [the_topsegtbl_set_32] #endif // end of [__WORDSIZE == 32] /* ****** ****** */ #if (__WORDSIZE == 64) extern botsegtbllst the_topsegtbl[TOPSEG_HASHTABLESIZE] ; ATSinline() ats_ptr_type the_topsegtbl_get_64 (ats_uintptr1_type ofs) { botsegtbllst tbls = the_topsegtbl[ofs % TOPSEG_HASHTABLESIZE] ; while (tbls) { if (tbls->key == ofs) break ; tbls = tbls->hash_next ; } /* end of [while] */ return tbls ; } ATSinline() ats_void_type the_topsegtbl_set_64 (ats_uintptr1_type ofs, ats_ptr_type tbls) { the_topsegtbl[ofs % TOPSEG_HASHTABLESIZE] = tbls ; return ; } ATSinline() ats_ptr_type the_topsegtbl_getfst_64 (ats_uintptr1_type ofs) { return the_topsegtbl[ofs % TOPSEG_HASHTABLESIZE] ; } #endif // end of [__WORDSIZE == 64] /* ****** ****** */ // ------------------------------------------------------ // // manmemlst: for manually managed list of allocated memories // // ------------------------------------------------------ typedef struct manmem_struct { int itemwsz ; struct manmem_struct *prev ; struct manmem_struct *next ; byte data[] ; } manmem ; typedef manmem *manmemlst ; /* ****** ****** */ extern manmemlst the_manmemlst ; // ATSinline() ats_ptr_type the_manmemlst_get () { return the_manmemlst ; } // ATSinline() ats_bool_type manmemlst_is_nil (ats_ptr_type mms) { return (mms ? ats_false_bool : ats_true_bool) ; } ATSinline() ats_bool_type manmemlst_is_cons (ats_ptr_type mms) { return (mms ? ats_true_bool : ats_false_bool) ; } // ATSinline() ats_int_type manmemlst_itemwsz_get (ats_ptr_type mms) { return ((manmemlst)mms)->itemwsz ; } ATSinline() ats_ptr_type manmemlst_prev_get (ats_ptr_type mms) { return ((manmemlst)mms)->prev ; } ATSinline() ats_ptr_type manmemlst_next_get (ats_ptr_type mms) { return ((manmemlst)mms)->next ; } ATSinline() ats_ptr_type manmemlst_data_get (ats_ptr_type mms) { return ((manmemlst)mms)->data ; } // ------------------------------------------------------ // // marking // // ------------------------------------------------------ typedef struct markstackpage_struct { struct markstackpage_struct *next ; struct markstackpage_struct *prev ; freeitmptrsz_t entries[MARKSTACK_PAGESIZE] ; } markstackpage ; typedef markstackpage *markstackpagelst ; // ATSinline() ats_ptr_type markstackpagelst_nil () { return (markstackpagelst)0 ; } ATSinline() ats_bool_type markstackpagelst_is_nil (ats_ptr_type msps) { return (msps ? ats_false_bool : ats_true_bool) ; } ATSinline() ats_bool_type markstackpagelst_is_cons (ats_ptr_type msps) { return (msps ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_ptr_type markstackpagelst_next_get (ats_ptr_type msps) { return ((markstackpagelst)msps)->next ; } ATSinline() ats_ptr_type markstackpagelst_prev_get (ats_ptr_type msps) { return ((markstackpagelst)msps)->prev ; } // ATSinline() ats_void_type markstackpagelst_entry_get ( ats_ptr_type msps , ats_int_type i , ats_ref_type p_r, ats_ref_type wsz_r ) { freeitmptrsz_t *ents, *ents_i ; ents = ((markstackpagelst)msps)->entries ; ents_i = &(ents[i]) ; *(ats_ptr_type*)p_r = ents_i->atslab_ptr ; *(ats_int_type*)wsz_r = ents_i->atslab_size ; return ; } /* end of [markstackpage_entry_ptr_get] */ ATSinline() ats_void_type markstackpagelst_entry_set ( ats_ptr_type msps , ats_int_type i, ats_ptr_type p, ats_int_type wsz ) { freeitmptrsz_t *ents, *ents_i ; ents = ((markstackpagelst)msps)->entries ; ents_i = &(ents[i]) ; ents_i->atslab_ptr = p ; ents_i->atslab_size= wsz ; return ; } /* end of [markstackpage_entry_ptr_set] */ // extern ats_int_type the_markstackposition ; extern ats_ptr_type the_markstackpagelst_cur ; ATSinline() ats_int_type the_markstack_pop ( ats_ref_type ptr_r, ats_ref_type wsz_r ) { return markstack_pop ( &the_markstackpagelst_cur, &the_markstackposition, ptr_r, wsz_r ) ; } /* end of [the_markstack_pop] */ ATSinline() ats_int_type the_markstack_push (ats_ptr_type ptr, ats_int_type wsz) { return markstack_push ( &the_markstackpagelst_cur, &the_markstackposition, ptr, wsz ) ; } /* end of [the_markstack_push] */ /* ****** ****** */ extern int the_markstatck_overflow ; ATSinline() ats_int_type the_markstack_overflow_get () { return the_markstatck_overflow ; } ATSinline() ats_void_type the_markstack_overflow_set () { the_markstatck_overflow = 1 ; return ; } ATSinline() ats_void_type the_markstack_overflow_clear () { the_markstatck_overflow = 0 ; return ; } // ------------------------------------------------------ // // collecting // // ------------------------------------------------------ extern chunklst the_sweeplst_array[FREEITMLST_ARRAYSIZE] ; ATSinline() ats_ptr_type the_sweeplst_array_get (ats_int_type i) { return the_sweeplst_array[i] ; } ATSinline() ats_void_type the_sweeplst_array_set (ats_int_type i, ats_ptr_type chks) { the_sweeplst_array[i] = chks ; return ; } ATSinline() ats_void_type the_sweeplst_array_clear_one (ats_int_type i) { the_sweeplst_array[i] = (chunklst)0 ; return ; } ATSinline() ats_void_type the_sweeplst_array_insert_at (ats_ptr_type chks, ats_int_type i) { ((chunklst)chks)->sweep_next = the_sweeplst_array[i] ; the_sweeplst_array[i] = (chunklst)chks ; return /*void*/ ; } /* end of [the_sweeplst_array_insert] /* ****** ****** */ #endif /* __ATS_GC_CATS */ /* end of [gcats1.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/gcats1_master.hats0000664000175000017500000001431512655455557023442 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // June 2008 // /* ****** ****** */ /* [gc.hats]: the header file for GC implementation */ /* [gc.hats]: it can be used in both ATS and C */ /* ****** ****** */ #define __assert #assert #define __define #define #define __else #else #define __endif #endif #define __error #error #define __if #if #define __ifdef #ifdef #define __include #include #define __print #print #define __undef #undef /* ****** ****** */ __include "config.h" // automatically generated in $(ATSHOME) /* ****** ****** */ __undef __WORDSIZE /* ****** ****** */ __undef NBIT_PER_BYTE __undef NBIT_PER_BYTE_LOG __define NBIT_PER_BYTE 8 __define NBIT_PER_BYTE_LOG 3 __define NBIT_PER_BYTE_MASK (NBIT_PER_BYTE - 1) // __assert (NBIT_PER_BYTE == 1 << NBIT_PER_BYTE_LOG) __if (NBIT_PER_BYTE != 1 << NBIT_PER_BYTE_LOG) __error "#assert (NBIT_PER_BYTE != 1 << NBIT_PER_BYTE_LOG)\n" __endif /* ****** ****** */ // __WORDSIZE = 32 or 64 // __print "__WORDSIZE = "; __print __WORDSIZE; __print "\n" /* ****** ****** */ __ifdef __WORDSIZE __if (__WORDSIZE != SIZEOF_VOIDP * NBIT_PER_BYTE) __error "#assert (__WORDSIZE == SIZEOF_VOIDP * NBIT_PER_BYTE)" __endif __else __define __WORDSIZE (SIZEOF_VOIDP * NBIT_PER_BYTE) __endif // end of [ifdef __WORDSIZE] /* ****** ****** */ __if (__WORDSIZE != 32) __if (__WORDSIZE != 64) __error "__WORDSIZE is neither 32 nor 64!\n" __endif __endif /* ****** ****** */ __undef NBIT_PER_WORD __undef NBIT_PER_WORD_LOG /* ****** ****** */ __if (__WORDSIZE == 32) __define NBIT_PER_WORD 32 __define NBIT_PER_WORD_LOG 5 // __assert (NBIT_PER_WORD == 1 << NBIT_PER_WORD_LOG) __if (NBIT_PER_WORD != 1 << NBIT_PER_WORD_LOG) __error "#assert (NBIT_PER_WORD == 1 << NBIT_PER_WORD_LOG)\n" __endif __define NBYTE_PER_WORD 4 __define NBYTE_PER_WORD_LOG 2 // __assert (NBYTE_PER_WORD == 1 << NBYTE_PER_WORD_LOG) __if (NBYTE_PER_WORD != 1 << NBYTE_PER_WORD_LOG) __error "#assert (NBYTE_PER_WORD == 1 << NBYTE_PER_WORD_LOG)\n" __endif __endif // end of [__WORDSIZE == 32] /* ****** ****** */ __if (__WORDSIZE == 64) __define NBIT_PER_WORD 64 __define NBIT_PER_WORD_LOG 6 // __assert (NBIT_PER_WORD == 1 << NBIT_PER_WORD_LOG) __if (NBIT_PER_WORD != 1 << NBIT_PER_WORD_LOG) __error "#assert (NBIT_PER_WORD == 1 << NBIT_PER_WORD_LOG)\n" __endif __define NBYTE_PER_WORD 8 __define NBYTE_PER_WORD_LOG 3 // __assert (NBYTE_PER_WORD == 1 << NBYTE_PER_WORD_LOG) __if (NBYTE_PER_WORD != 1 << NBYTE_PER_WORD_LOG) __error "#assert (NBYTE_PER_WORD == 1 << NBYTE_PER_WORD_LOG)\n" __endif __endif // end of [__WORDSIZE == 64] // __define NBYTE_PER_WORD_MASK (NBYTE_PER_WORD - 1) /* ****** ****** */ __define PTR_CHKSEG_SIZE 11 __define PTR_BOTSEG_SIZE 10 __define PTR_BOTCHKSEG_SIZE (PTR_BOTSEG_SIZE + PTR_CHKSEG_SIZE) __define PTR_TOPSEG_SIZE (NBIT_PER_WORD - PTR_BOTCHKSEG_SIZE - NBYTE_PER_WORD_LOG) // __PRINT "PTR_TOPSEG_SIZE = "; __PRINT PTR_TOPSEG_SIZE; __PRINT "\n" __if (__WORDSIZE == 32) __define TOPSEG_TABLESIZE (1 << PTR_TOPSEG_SIZE) __endif __if (__WORDSIZE == 64) __define TOPSEG_HASHTABLESIZE 4096 __define TOPSEG_HASHTABLESIZE_LOG 12 // __assert (TOPSEG_HASHTABLESIZE == 1 << TOPSEG_HASHTABLESIZE_LOG) __if (TOPSEG_HASHTABLESIZE != 1 << TOPSEG_HASHTABLESIZE_LOG) __error "#assert (TOPSEG_HASHTABLESIZE == 1 << TOPSEG_HASHTABLESIZE_LOG)\n" __endif __endif // end of [__WORDSIZE == 64] // __define CHKSEG_TABLESIZE 2048 // __assert (CHKSEG_TABLESIZE == 1 << PTR_CHKSEG_SIZE) __if (CHKSEG_TABLESIZE != 1 << PTR_CHKSEG_SIZE) __error "assert (CHKSEG_TABLESIZE == 1 << PTR_CHKSEG_SIZE)\n" __endif // __define BOTSEG_TABLESIZE 1024 // __assert (BOTSEG_TABLESIZE == 1 << PTR_BOTSEG_SIZE) __if (BOTSEG_TABLESIZE != 1 << PTR_BOTSEG_SIZE) __error "assert (BOTSEG_TABLESIZE == 1 << PTR_BOTSEG_SIZE)\n" __endif __define BOTSEG_TABLESIZE_MASK (BOTSEG_TABLESIZE - 1) // __define CHUNK_WORDSIZE_LOG PTR_CHKSEG_SIZE __define CHUNK_WORDSIZE (1 << CHUNK_WORDSIZE_LOG) __define CHUNK_WORDSIZE_MASK (CHUNK_WORDSIZE - 1) __define CHUNK_BYTESIZE_LOG (CHUNK_WORDSIZE_LOG + NBYTE_PER_WORD_LOG) __define CHUNK_BYTESIZE (CHUNK_WORDSIZE << NBYTE_PER_WORD_LOG) __define CHUNK_BYTESIZE_MASK (CHUNK_BYTESIZE - 1) // __define MAX_CHUNK_BLOCK_WORDSIZE_LOG CHUNK_WORDSIZE_LOG __define MAX_CHUNK_BLOCK_WORDSIZE (1 << MAX_CHUNK_BLOCK_WORDSIZE_LOG) // __assert (MAX_CHUNK_BLOCK_WORDSIZE <= CHUNK_WORDSIZE) // // the_freeitmlst_array: // [ 2^0 | 2^1 | ... | 2^MAX_CHUNK_BLOCK_WORDSIZE_LOG] __define FREEITMLST_ARRAYSIZE (MAX_CHUNK_BLOCK_WORDSIZE_LOG + 1) // __define MARKSTACK_PAGESIZE 4000 __define MARKSTACK_CUTOFF (CHUNK_WORDSIZE / 4) __define CHUNK_SWEEP_CUTOFF 0.75 // 75% // __assert (0.0 <= CHUNK_SWEEP_CUTOFF) // __assert (CHUNK_SWEEP_CUTOFF <= 1.0) __define CHUNK_LIMIT_EXTEND_CUTOFF 0.75 // 75% // __assert (0.0 <= CHUNK_LIMIT_EXTEND_CUTOFF) // __assert (CHUNK_LIMIT_EXTEND_CUTOFF <= 1.0) // __define GLOBALENTRYPAGESIZE 64 // largely chosen arbitrarily /* ****** ****** */ __define ATS_GC_VERBOSE 0 // 1 __define ATS_GC_RUNTIME_CHECK 0 // 1 /* ****** ****** */ /* end of [gcats1_master.hats] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/0000775000175000017500000000000012655455557020426 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_marking_dats.c0000664000175000017500000005165712655455557024515 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, 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_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_nil) () ; ATSextern_fun(ats_bool_type, markstackpagelst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, markstackpagelst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_prev_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, markstackpagelst_entry_get) (ats_ptr_type, ats_int_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, markstackpagelst_entry_set) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_overflow_mark_the_topsegtbl) () ; ATSextern_fun(ats_void_type, gc_mark_the_stack) () ; ATSextern_fun(ats_void_type, gc_mark_the_globalentrylst) () ; ATSextern_fun(ats_void_type, gc_mark_the_manmemlst) () ; ATSextern_fun(ats_void_type, gc_overflow_mark_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_overflow_mark_botsegtbl) (ats_ptr_type) ; ATSextern_fun(ats_int_type, the_markstack_overflow_get) () ; ATSextern_fun(ats_void_type, the_markstack_overflow_set) () ; ATSextern_fun(ats_void_type, the_markstack_overflow_clear) () ; ATSextern_val(ats_int_type, the_markstackpagecnt) ; ATSextern_val(ats_ptr_type, the_markstackpagelst_fst) ; ATSextern_val(ats_ptr_type, the_markstackpagelst_cur) ; ATSextern_val(ats_int_type, the_markstackposition) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_int_type, the_markstackpagecnt) ; ATSglobal(ats_ptr_type, the_markstackpagelst_fst) ; ATSglobal(ats_ptr_type, the_markstackpagelst_cur) ; ATSglobal(ats_int_type, the_markstackposition) ; /* internal function declarations */ static ats_int_type gcats1_marking_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_marking_loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_marking_loop_7 (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, gcats1_marking_statmp43) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 1781(line=56, offs=7) -- 1958(line=60, offs=8) */ ATSstaticdec() ats_int_type gcats1_marking_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_marking_aux_1: #line 58 "gcats1_marking.dats" tmp2 = markstackpagelst_is_nil (arg0) ; #line 58 "gcats1_marking.dats" if (tmp2) { #line 58 "gcats1_marking.dats" tmp1 = arg1 ; } else { #line 59 "gcats1_marking.dats" tmp3 = markstackpagelst_next_get (arg0) ; #line 59 "gcats1_marking.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 59 "gcats1_marking.dats" arg0 = tmp3 ; #line 59 "gcats1_marking.dats" arg1 = tmp4 ; #line 59 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_aux_1 ; // tail call } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_marking_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 1762(line=55, offs=35) -- 1996(line=63, offs=4) */ ATSglobaldec() ats_int_type markstackpagelst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_markstackpagelst_length: #line 62 "gcats1_marking.dats" tmp0 = gcats1_marking_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [markstackpagelst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 2079(line=67, offs=25) -- 2677(line=87, offs=4) */ ATSglobaldec() ats_int_type markstack_pop (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab_markstack_pop: #line 68 "gcats1_marking.dats" tmp6 = atspre_isub (ats_ptrget_mac(ats_int_type, arg1), 1) ; #line 70 "gcats1_marking.dats" tmp7 = atspre_igte (tmp6, 0) ; #line 70 "gcats1_marking.dats" if (tmp7) { #line 71 "gcats1_marking.dats" /* tmp8 = */ markstackpagelst_entry_get (ats_ptrget_mac(ats_ptr_type, arg0), tmp6, arg2, arg3) ; #line 73 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp6 ; #line 73 "gcats1_marking.dats" tmp5 = 0 ; } else { #line 75 "gcats1_marking.dats" tmp9 = markstackpagelst_prev_get (ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 77 "gcats1_marking.dats" tmp10 = markstackpagelst_is_cons (tmp9) ; #line 77 "gcats1_marking.dats" if (tmp10) { #line 78 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp9 ; #line 79 "gcats1_marking.dats" tmp11 = atspre_isub (4000, 1) ; #line 80 "gcats1_marking.dats" /* tmp12 = */ markstackpagelst_entry_get (ats_ptrget_mac(ats_ptr_type, arg0), tmp11, arg2, arg3) ; #line 82 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp11 ; #line 82 "gcats1_marking.dats" tmp5 = 0 ; } else { #line 84 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg2) = atspre_null_ptr ; #line 84 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg3) = 0 ; #line 84 "gcats1_marking.dats" tmp5 = 1 ; } /* end of [if] */ } /* end of [if] */ return (tmp5) ; } /* end of [markstack_pop] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 2751(line=91, offs=26) -- 3336(line=112, offs=4) */ ATSglobaldec() ats_int_type markstack_push (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; __ats_lab_markstack_push: #line 92 "gcats1_marking.dats" tmp14 = ats_ptrget_mac(ats_int_type, arg1) ; #line 94 "gcats1_marking.dats" tmp15 = atspre_ilt (tmp14, 4000) ; #line 94 "gcats1_marking.dats" if (tmp15) { #line 95 "gcats1_marking.dats" /* tmp16 = */ markstackpagelst_entry_set (ats_ptrget_mac(ats_ptr_type, arg0), tmp14, arg2, arg3) ; #line 96 "gcats1_marking.dats" tmp17 = atspre_iadd (tmp14, 1) ; #line 97 "gcats1_marking.dats" tmp19 = atspre_ilt (tmp17, 4000) ; #line 97 "gcats1_marking.dats" if (tmp19) { #line 97 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp17 ; } else { #line 99 "gcats1_marking.dats" tmp20 = markstackpagelst_next_get (ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 101 "gcats1_marking.dats" tmp21 = markstackpagelst_is_cons (tmp20) ; #line 101 "gcats1_marking.dats" if (tmp21) { #line 102 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp20 ; #line 102 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = 0 ; } else { #line 104 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = 4000 ; } /* end of [if] */ } /* end of [if] */ #line 108 "gcats1_marking.dats" tmp13 = 0 ; } else { #line 110 "gcats1_marking.dats" tmp13 = 1 ; } /* end of [if] */ return (tmp13) ; } /* end of [markstack_push] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 3678(line=124, offs=7) -- 3982(line=132, offs=8) */ ATSstaticdec() ats_void_type gcats1_marking_loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; __ats_lab_gcats1_marking_loop_5: #line 126 "gcats1_marking.dats" tmp24 = atspre_ilt (arg1, 1024) ; #line 126 "gcats1_marking.dats" if (tmp24) { #line 127 "gcats1_marking.dats" tmp25 = botsegtbllst_get (arg0, arg1) ; #line 128 "gcats1_marking.dats" tmp27 = chunklst_is_cons (tmp25) ; #line 128 "gcats1_marking.dats" if (tmp27) { #line 128 "gcats1_marking.dats" /* tmp26 = */ gc_overflow_mark_chunk (tmp25) ; } else { /* empty */ } /* end of [if] */ #line 131 "gcats1_marking.dats" tmp28 = atspre_iadd (arg1, 1) ; #line 131 "gcats1_marking.dats" arg0 = arg0 ; #line 131 "gcats1_marking.dats" arg1 = tmp28 ; #line 131 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_loop_5 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp23) */ ; } /* end of [gcats1_marking_loop_5] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 3611(line=122, offs=38) -- 3999(line=133, offs=2) */ ATSglobaldec() ats_void_type gc_overflow_mark_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab_gc_overflow_mark_botsegtbl: #line 122 "gcats1_marking.dats" /* tmp22 = */ gcats1_marking_loop_5 (arg0, 0) ; return /* (tmp22) */ ; } /* end of [gc_overflow_mark_botsegtbl] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 4796(line=162, offs=9) -- 5062(line=169, offs=10) */ ATSstaticdec() ats_void_type gcats1_marking_loop_7 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_bool_type, tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_int_type, tmp41) ; __ats_lab_gcats1_marking_loop_7: #line 163 "gcats1_marking.dats" tmp38 = atspre_gt_int_int (arg0, 0) ; #line 163 "gcats1_marking.dats" if (tmp38) { #line 164 "gcats1_marking.dats" /* tmp39 = */ the_markstack_overflow_clear () ; #line 165 "gcats1_marking.dats" /* tmp40 = */ gc_overflow_mark_the_topsegtbl () ; #line 166 "gcats1_marking.dats" tmp41 = the_markstack_overflow_get () ; #line 168 "gcats1_marking.dats" arg0 = tmp41 ; #line 168 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_loop_7 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp37) */ ; } /* end of [gcats1_marking_loop_7] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 4329(line=146, offs=23) -- 5118(line=173, offs=4) */ ATSglobaldec() ats_int_type gc_mark_all () { /* local vardec */ ATSlocal (ats_int_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_bool_type, tmp36) ; // ATSlocal_void (tmp42) ; __ats_lab_gc_mark_all: #line 147 "gcats1_marking.dats" /* tmp30 = */ gc_mark_the_globalentrylst () ; #line 148 "gcats1_marking.dats" /* tmp31 = */ gc_mark_the_manmemlst () ; #line 152 "gcats1_marking.dats" /* tmp32 = */ the_markstack_overflow_clear () ; #line 153 "gcats1_marking.dats" /* tmp33 = */ gc_mark_the_stack () ; #line 154 "gcats1_marking.dats" tmp34 = the_markstack_overflow_get () ; #line 157 "gcats1_marking.dats" tmp36 = atspre_gt_int_int (tmp34, 0) ; #line 157 "gcats1_marking.dats" if (tmp36) { #line 158 "gcats1_marking.dats" /* tmp35 = */ atspre_prerr_string (ATSstrcst("GC: [gc_mark_all]: mark stack overflow happened!\n")) ; } else { /* empty */ } /* end of [if] */ #line 161 "gcats1_marking.dats" /* tmp42 = */ gcats1_marking_loop_7 (tmp34) ; #line 172 "gcats1_marking.dats" tmp29 = tmp34 ; return (tmp29) ; } /* end of [gc_mark_all] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&gcats1_marking_statmp43, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 195 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagecnt, sizeof(ats_int_type)) ; the_markstackpagecnt = 0 ; #line 196 "gcats1_marking.dats" gcats1_marking_statmp43 = markstackpagelst_nil () ; #line 196 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagelst_fst, sizeof(ats_ptr_type)) ; the_markstackpagelst_fst = gcats1_marking_statmp43 ; #line 197 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagelst_cur, sizeof(ats_ptr_type)) ; the_markstackpagelst_cur = the_markstackpagelst_fst ; #line 198 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackposition, sizeof(ats_int_type)) ; the_markstackposition = 0 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ #line 204 "gcats1_marking.dats" extern ats_ptr_type the_markstackpagelst_fst ; ats_void_type the_markstack_extend (ats_int_type n) { int i ; markstackpagelst p0, p ; p0 = the_markstackpagelst_fst ; if (the_markstackposition != 0) { fprintf ( stderr , "GC: Fatal Error: the_markstack_extend: the_markstackposition = %i.\n" , the_markstackposition ) ; exit (1) ; } // end of [if] for (i = 0; i < n; i += 1) { /* fprintf (stderr, "the_markstack_extend: i = %i\n", i) ; */ p = (markstackpagelst)malloc (sizeof(markstackpage)) ; if (!p) { fprintf ( stderr, "GC Fatal Error: [the_markstack_extend]: malloc failed!\n" ) ; exit (1) ; } // end of [if] if (p0 != NULL) p0->prev = p ; p->next = p0 ; p->prev = NULL ; p0 = p ; } // end of [while] if (n > 0) the_markstackpagecnt += n ; the_markstackpagelst_fst = the_markstackpagelst_cur = p0 ; /* if (the_markstackpagecnt != markstackpagelst_length (p0)) { fprintf ( stderr , "GC: Fatal Error: the_markstack_extend: the_markstackpagecnt = %i.\n" , the_markstackpagecnt ) ; exit (1) ; } // end of [if] */ return ; } /* end of [the_markstack_extend] */ /* ****** ****** */ extern ats_ptr_type gc_ptr_is_valid (ats_ptr_type, ats_ref_type) ; ats_void_type gc_mark_ptr (ats_ptr_type ptr) { chunklst chks ; int ofs ; int itemwsz ; byte *markbits ; int i ; freeitmlst *ptr_i ; freeitmlst ptr_cand ; int overflow ; /* fprintf (stderr, "gc_mark_ptr: first: ptr = %p(%i)\n", ptr, ptr) ; */ chks = (chunklst)gc_ptr_is_valid (ptr, &ofs) ; /* fprintf (stderr, "gc_mark_ptr: chks = %p\n", chks) ; */ if (!chks) return ; // [ptr] is invalid markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) return ; // already marked MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; itemwsz = chks->itemwsz ; while (ptr) { // ptr != NULL /* fprintf (stderr, "gc_mark_ptr: ptr = %p(%i)\n", ptr, ptr) ; fprintf (stderr, "gc_mark_ptr: itemwsz = %i\n", itemwsz); */ if (itemwsz > MARKSTACK_CUTOFF) { overflow = the_markstack_push ( (freeitmlst*)ptr + MARKSTACK_CUTOFF, itemwsz - MARKSTACK_CUTOFF ) ; if (overflow) the_markstack_overflow_set () ; itemwsz = MARKSTACK_CUTOFF ; } // end of [if] // push all the valid pointers onto the markstack except the last one ptr_i = (freeitmlst*)ptr ; for (i = 0; i < itemwsz - 1; i += 1, ptr_i += 1) { ptr_cand = *ptr_i ; /* fprintf (stderr, "gc_mark_ptr: ptr_i = %p(%i)\n", ptr_i, ptr_i) ; fprintf (stderr, "gc_mark_ptr: ptr_cand = %p(%i)\n", ptr_cand, ptr_cand) ; */ chks = (chunklst)gc_ptr_is_valid (ptr_cand, &ofs) ; if (!chks) continue ; // [ptr_cand] is invalid markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) continue ; // already marked MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; overflow = the_markstack_push (ptr_cand, chks->itemwsz) ; if (overflow) the_markstack_overflow_set () ; } // end of [for] ptr_cand = *ptr_i ; /* fprintf (stderr, "gc_mark_ptr: ptr_i = %p(%i)\n", ptr_i, ptr_i) ; fprintf (stderr, "gc_mark_ptr: ptr_cand = %p(%i)\n", ptr_cand, ptr_cand) ; */ chks = (chunklst)gc_ptr_is_valid (ptr_cand, &ofs) ; if (!chks) { // [ptr_cand] is invalid the_markstack_pop (&ptr, &itemwsz) ; continue ; } // end of [if] markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) { // [ptr_cand] is marked the_markstack_pop (&ptr, &itemwsz) ; continue ; } MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; ptr = ptr_cand ; itemwsz = chks->itemwsz ; } // end of [while] } /* end of [gc_mark_ptr] */ #line 331 "gcats1_marking.dats" // [chks] must not be NULL! ats_void_type gc_overflow_mark_chunk (ats_ptr_type chks) { int i, j ; freeitmlst *pi, *pij ; int itemwsz, itemtot ; byte *markbits ; itemwsz = chunklst_itemwsz_get (chks) ; itemtot = chunklst_itemtot_get (chks) ; markbits = chunklst_markbits_get (chks) ; pi = (freeitmlst*)chunklst_data_get (chks) ; for (i = 0; i < itemtot; i += 1, pi += itemwsz) { if (MARK_GET(markbits, i)) { for (j = 0, pij = pi; j < itemwsz; j += 1, pij += 1) { gc_mark_ptr (pij) ; } // end of [for] } // end of [if] } // end of [for] } /* end of [gc_overflow_mark_chunk] */ /* ****** ****** */ #if (__WORDSIZE == 32) ats_void_type gc_overflow_mark_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_overflow_mark_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_overflow_mark_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_overflow_mark_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // terminating: obvious gc_overflow_mark_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_overflow_mark_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] #line 386 "gcats1_marking.dats" extern ats_ptr_type the_globalentrylst ; extern ats_void_type gc_mark_globalentrylst (ats_ptr_type ents) ; ats_void_type gc_mark_the_globalentrylst () { gc_mark_globalentrylst (the_globalentrylst) ; return ; } extern ats_ptr_type gc_stack_beg_get () ; ats_void_type gc_mark_the_stack () { intptr_t dir ; // make sure that [dir] is word-aligned! freeitmlst *_fr, *_to ; dir = gc_stack_dir_get () ; if (dir > 0) { _fr = gc_stack_beg_get () ; _to = (freeitmlst*)(&dir) - 1 ; } else { _to = gc_stack_beg_get () ; _fr = (freeitmlst*)(&dir) + 1 ; } // end of [if] /* fprintf (stderr, "gc_mark_the_stack: _fr = %p(%u)\n", _fr, _fr) ; fprintf (stderr, "gc_mark_the_stack: _to = %p(%u)\n", _to, _to) ; fprintf (stderr, "gc_mark_the_stack: _to - _fr = %i\n", _to - _fr) ; */ while (_fr <= _to) { gc_mark_ptr (*_fr) ; _fr += 1 ; // termination: obvious } // end of [while] return ; } /* end of [gc_mark_the_stack] */ /* ****** ****** */ /* end of [gcats1_marking_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_chunk_dats.c0000664000175000017500000005623312655455557024170 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ #line 39 "gcats1_chunk.dats" #include "config.h" // automatically generated by [configure] // [posix_memalign] is in [stdlib.h] extern int posix_memalign(void **memptr, size_t alignment, size_t size); // [memalign] is in [stdlib.h] or [malloc.h] extern void *memalign(size_t boundary, size_t size); static inline int gcats_memalign ( void **memptr , size_t alignment , size_t size ) { int err ; #if HAVE_POSIX_MEMALIGN // for [posix_memalign] // fprintf (stderr, "posix_memalign: bef\n") ; err = posix_memalign (memptr, alignment, size) ; // fprintf (stderr, "posix_memalign: aft\n") ; #elif HAVE_MEMALIGN // if [memalign] is avaiable void *ptr ; ptr = memalign(alignment, size) ; *memptr = ptr ; err = (ptr ? 0 : -1) ; #else // neither [posix_memalign] nor [memalign] is available void *ptr ; ptr = malloc (size + alignment - 1) ; *memptr = ptr ; err = (ptr ? 0 : -1) ; #endif /* fprintf (stderr, "gcats_memalign: size = %i\n", size); fprintf (stderr, "gcats_memalign: *memptr = %p(%i)\n", *memptr, *memptr); */ return err ; } /* end of [gcats_memalign] */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asr_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_nonalign_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_sweep_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, the_chunk_count_dec_by) (ats_int_type) ; ATSextern_fun(ats_uintptr1_type, PTR_TOPSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_int_type, PTR_BOTSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbl_make_64) (ats_uintptr1_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, botsegtbllst_set) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, botsegtbllst_clear) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get) (ats_uintptr1_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some) (ats_uintptr1_type) ; ATSextern_fun(ats_ptr_type, the_topsegtbl_get_64) (ats_uintptr1_type) ; ATSextern_fun(ats_void_type, the_topsegtbl_set_64) (ats_uintptr1_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_topsegtbl_getfst_64) (ats_uintptr1_type) ; ATSextern_fun(ats_void_type, chunklst_insert_into_table) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunklst_remove_from_table) (ats_ptr_type) ; ATSextern_fun(ats_void_type, freeitmlst_chunk_data_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, freeitmlst_chunk_data_recycle) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunk_header_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_markbits_clear_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_markbits_clear_botsegtbl) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_chunk_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_chunk_loop_9 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 2776(line=91, offs=7) -- 3003(line=98, offs=6) */ ATSstaticdec() ats_int_type gcats1_chunk_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_chunk_aux_1: #line 93 "gcats1_chunk.dats" tmp2 = chunklst_is_cons (arg0) ; #line 93 "gcats1_chunk.dats" if (tmp2) { #line 94 "gcats1_chunk.dats" tmp3 = chunklst_sweep_next_get (arg0) ; #line 94 "gcats1_chunk.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 94 "gcats1_chunk.dats" arg0 = tmp3 ; #line 94 "gcats1_chunk.dats" arg1 = tmp4 ; #line 94 "gcats1_chunk.dats" goto __ats_lab_gcats1_chunk_aux_1 ; // tail call } else { #line 96 "gcats1_chunk.dats" tmp1 = arg1 ; } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_chunk_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 2757(line=90, offs=33) -- 3042(line=101, offs=4) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length: #line 100 "gcats1_chunk.dats" tmp0 = gcats1_chunk_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 4341(line=148, offs=29) -- 4385(line=148, offs=73) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (ats_uintptr1_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get: #line 148 "gcats1_chunk.dats" tmp5 = the_topsegtbl_get_64 (arg0) ; return (tmp5) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 4420(line=150, offs=34) -- 5042(line=168, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some (ats_uintptr1_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some: #line 151 "gcats1_chunk.dats" tmp7 = the_topsegtbl_get_64 (arg0) ; #line 153 "gcats1_chunk.dats" tmp8 = botsegtbllst_is_nil (tmp7) ; #line 153 "gcats1_chunk.dats" if (tmp8) { #line 160 "gcats1_chunk.dats" tmp9 = the_topsegtbl_getfst_64 (arg0) ; #line 161 "gcats1_chunk.dats" tmp10 = botsegtbl_make_64 (arg0, tmp9) ; #line 162 "gcats1_chunk.dats" /* tmp11 = */ the_topsegtbl_set_64 (arg0, tmp10) ; #line 164 "gcats1_chunk.dats" tmp6 = tmp10 ; } else { #line 166 "gcats1_chunk.dats" tmp6 = tmp7 ; } /* end of [if] */ return (tmp6) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 5366(line=180, offs=38) -- 5650(line=188, offs=4) */ ATSglobaldec() ats_void_type chunklst_insert_into_table (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_uintptr1_type, tmp15) ; ATSlocal (ats_uintptr1_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab_chunklst_insert_into_table: #line 181 "gcats1_chunk.dats" tmp13 = chunklst_data_get (arg0) ; #line 182 "gcats1_chunk.dats" tmp14 = freeitmlst2ptr (tmp13) ; #line 183 "gcats1_chunk.dats" tmp15 = PTR_TOPSEG_GET (tmp14) ; #line 183 "gcats1_chunk.dats" tmp16 = ats_selsin_mac(tmp15, atslab_1) ; #line 184 "gcats1_chunk.dats" tmp17 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some (tmp16) ; #line 185 "gcats1_chunk.dats" tmp18 = PTR_BOTSEG_GET (tmp14) ; #line 187 "gcats1_chunk.dats" /* tmp12 = */ botsegtbllst_set (tmp17, tmp18, arg0) ; return /* (tmp12) */ ; } /* end of [chunklst_insert_into_table] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 5728(line=190, offs=38) -- 6252(line=206, offs=4) */ ATSglobaldec() ats_void_type chunklst_remove_from_table (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_uintptr1_type, tmp22) ; ATSlocal (ats_uintptr1_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; __ats_lab_chunklst_remove_from_table: #line 191 "gcats1_chunk.dats" tmp20 = chunklst_data_get (arg0) ; #line 192 "gcats1_chunk.dats" tmp21 = freeitmlst2ptr (tmp20) ; #line 193 "gcats1_chunk.dats" tmp22 = PTR_TOPSEG_GET (tmp21) ; #line 193 "gcats1_chunk.dats" tmp23 = ats_selsin_mac(tmp22, atslab_1) ; #line 194 "gcats1_chunk.dats" tmp24 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp23) ; #line 196 "gcats1_chunk.dats" tmp25 = botsegtbllst_is_cons (tmp24) ; #line 196 "gcats1_chunk.dats" if (tmp25) { #line 197 "gcats1_chunk.dats" tmp26 = PTR_BOTSEG_GET (tmp21) ; #line 199 "gcats1_chunk.dats" /* tmp19 = */ botsegtbllst_clear (tmp24, tmp26) ; } else { #line 201 "gcats1_chunk.dats" /* tmp27 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [chunklst_remove_from_table]")) ; #line 202 "gcats1_chunk.dats" /* tmp28 = */ atspre_prerr_string (ATSstrcst(": the chunk to be removed is not in the table!")) ; #line 203 "gcats1_chunk.dats" /* tmp29 = */ atspre_prerr_newline () ; #line 204 "gcats1_chunk.dats" /* tmp19 = */ ats_exit (1) ; } /* end of [if] */ return /* (tmp19) */ ; } /* end of [chunklst_remove_from_table] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 6350(line=211, offs=3) -- 6532(line=216, offs=4) */ ATSglobaldec() ats_ptr_type chunklst_create_release (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; __ats_lab_chunklst_create_release: #line 212 "gcats1_chunk.dats" tmp31 = chunklst_create (arg0, arg1) ; #line 213 "gcats1_chunk.dats" /* tmp32 = */ gc_main_lock_release () ; #line 215 "gcats1_chunk.dats" tmp30 = tmp31 ; return (tmp30) ; } /* end of [chunklst_create_release] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 6862(line=228, offs=28) -- 7831(line=257, offs=4) */ ATSglobaldec() ats_void_type chunklst_destroy (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; ATSlocal (ats_int_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; __ats_lab_chunklst_destroy: #line 235 "gcats1_chunk.dats" /* tmp34 = */ chunklst_remove_from_table (arg0) ; #line 236 "gcats1_chunk.dats" tmp35 = chunklst_data_nonalign_get (arg0) ; #line 237 "gcats1_chunk.dats" tmp36 = chunklst_itemwsz_get (arg0) ; #line 238 "gcats1_chunk.dats" /* tmp37 = */ chunk_header_free (arg0) ; #line 241 "gcats1_chunk.dats" tmp41 = atspre_asl_int_int1 (1, 11) ; #line 241 "gcats1_chunk.dats" tmp40 = atspre_sub_int_int (tmp41, 1) ; #line 241 "gcats1_chunk.dats" tmp39 = atspre_add_int_int (tmp36, tmp40) ; #line 241 "gcats1_chunk.dats" tmp38 = atspre_asr_int_int1 (tmp39, 11) ; #line 242 "gcats1_chunk.dats" /* tmp42 = */ the_chunk_count_dec_by (tmp38) ; #line 244 "gcats1_chunk.dats" do { /* branch: __ats_lab_0 */ #line 245 "gcats1_chunk.dats" __ats_lab_0_0: #line 245 "gcats1_chunk.dats" __ats_lab_0_1: #line 245 "gcats1_chunk.dats" tmp44 = atspre_asl_int_int1 (1, 11) ; #line 245 "gcats1_chunk.dats" tmp43 = atspre_gt_int_int (tmp36, tmp44) ; #line 245 "gcats1_chunk.dats" if (!tmp43) { goto __ats_lab_1_1 ; } #line 252 "gcats1_chunk.dats" /* tmp33 = */ freeitmlst_chunk_data_free (tmp35) ; break ; /* branch: __ats_lab_1 */ #line 254 "gcats1_chunk.dats" __ats_lab_1_0: #line 254 "gcats1_chunk.dats" __ats_lab_1_1: #line 255 "gcats1_chunk.dats" /* tmp33 = */ freeitmlst_chunk_data_recycle (tmp35) ; break ; } while (0) ; return /* (tmp33) */ ; } /* end of [chunklst_destroy] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 8163(line=269, offs=7) -- 8452(line=277, offs=8) */ ATSstaticdec() ats_void_type gcats1_chunk_loop_9 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_bool_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; __ats_lab_gcats1_chunk_loop_9: #line 271 "gcats1_chunk.dats" tmp47 = atspre_ilt (arg1, 1024) ; #line 271 "gcats1_chunk.dats" if (tmp47) { #line 272 "gcats1_chunk.dats" tmp48 = botsegtbllst_get (arg0, arg1) ; #line 273 "gcats1_chunk.dats" tmp50 = chunklst_is_cons (tmp48) ; #line 273 "gcats1_chunk.dats" if (tmp50) { #line 273 "gcats1_chunk.dats" /* tmp49 = */ gc_markbits_clear_chunk (tmp48) ; } else { /* empty */ } /* end of [if] */ #line 276 "gcats1_chunk.dats" tmp51 = atspre_iadd (arg1, 1) ; #line 276 "gcats1_chunk.dats" arg0 = arg0 ; #line 276 "gcats1_chunk.dats" arg1 = tmp51 ; #line 276 "gcats1_chunk.dats" goto __ats_lab_gcats1_chunk_loop_9 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp46) */ ; } /* end of [gcats1_chunk_loop_9] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 8114(line=267, offs=39) -- 8491(line=280, offs=4) */ ATSglobaldec() ats_void_type gc_markbits_clear_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; __ats_lab_gc_markbits_clear_botsegtbl: #line 279 "gcats1_chunk.dats" /* tmp45 = */ gcats1_chunk_loop_9 (arg0, 0) ; return /* (tmp45) */ ; } /* end of [gc_markbits_clear_botsegtbl] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ #line 284 "gcats1_chunk.dats" #if (__WORDSIZE == 32) ats_ptr_type botsegtbl_make_32 () { botsegtbllst tbls ; /* fprintf ( stderr, "botsegtbl_make_32: sizeof(botsegtbl) = %i\n", sizeof(botsegtbl) ) ; // end of [fprintf] */ tbls = (botsegtbllst)malloc(sizeof(botsegtbl)) ; if (!tbls) { fprintf (stderr, "Exit: [botsegtbl_make_32: malloc] failed\n") ; exit (1) ; } // end of [if] memset(tbls, 0, sizeof(botsegtbl)) ; /* fprintf (stderr, "botsegtbl_make_32: return: tbls = %p\n", tbls) ; */ return tbls ; } /* end of [botsegtbl_make_32] */ #endif // end of [__WORDSIZE == 32] /* ****** ****** */ #if (__WORDSIZE == 64) ats_ptr_type botsegtbl_make_64 (ats_uintptr1_type ofs, ats_ptr_type tbls0) { botsegtbllst tbls ; /* fprintf ( stderr, "botsegtbl_make_64: sizeof(botsegtbl) = %i\n", sizeof(botsegtbl) ) ; // end of [fprintf] */ tbls = (botsegtbllst)malloc(sizeof(botsegtbl)) ; if (!tbls) { fprintf (stderr, "Exit: [botsegtbl_make_64: malloc] failed\n") ; exit (1) ; } // end of [if] memset(tbls, 0, sizeof(botsegtbl)) ; tbls->key = ofs ; tbls->hash_next = (botsegtbllst)tbls0 ; /* fprintf (stderr, "botsegtbl_make_64: tbls = %p\n", tbls) ; */ return tbls ; } /* end of [botsegtbl_make_64] */ #endif // end of [__WORDSIZE == 64] #line 343 "gcats1_chunk.dats" ats_ptr_type gc_ptr_is_valid (ats_ptr_type ptr, ats_ref_type ofs_r) { uintptr_t ofs_topseg ; int ofs_botseg, ofs_chkseg, itemwsz ; botsegtbllst tbls = (botsegtbllst)0 ; chunklst chks = (chunklst)0 ; /* fprintf (stderr, "gc_ptr_is_valid: 1: ptr = %p\n", ptr) ; */ if (!ptr) return (chunklst)0 ; /* fprintf (stderr, "gc_ptr_is_valid: 2: ptr = %p\n", ptr) ; */ if ((uintptr_t)ptr & NBYTE_PER_WORD_MASK) return (chunklst)0 ; ofs_topseg = PTR_TOPSEG_GET (ptr) ; /* fprintf (stderr, "gc_ptr_is_valid: 3: ofs_topseg = %li\n", ofs_topseg) ; */ #if (__WORDSIZE == 32) tbls = the_topsegtbl_get_32 (ofs_topseg) ; #endif #if (__WORDSIZE == 64) tbls = the_topsegtbl_get_64 (ofs_topseg) ; #endif if (!tbls) return (chunklst)0 ; ofs_botseg = PTR_BOTSEG_GET (ptr) ; chks = botsegtbllst_get (tbls, ofs_botseg) ; /* fprintf (stderr, "gc_ptr_is_valid: 4: ofs_botseg = %li\n", ofs_botseg) ; */ if (!chks) return (chunklst)0 ; ofs_chkseg = PTR_CHKSEG_GET (ptr) ; itemwsz = chks->itemwsz ; /* fprintf (stderr, "gc_ptr_is_valid: 5: ofs_chkseg = %li\n", ofs_chkseg) ; fprintf (stderr, "gc_ptr_is_valid: 6: itemwsz = %i\n", itemwsz) ; */ /* ** for a large chunk (itemwsz_log = -1), ofs_chkseg == 0 */ if (ofs_chkseg % itemwsz) return (chunklst)0 ; *((int*)ofs_r) = (ofs_chkseg / itemwsz) ; return chks ; } /* end of [gc_ptr_is_valid] */ #line 405 "gcats1_chunk.dats" /* // itemwsz_log = log (itemwsz) if itemwsz_log >= 0 fun chunklst_create (itemwsz_log: int, itemwsz: int): chunklst1 */ ats_ptr_type chunklst_create (ats_int_type itemwsz_log, ats_int_type itemwsz) { int i, err ; int chunk_bsz, data_ofs ; int itemtot, nmarkbit ; freeitmlst data ; chunklst chks ; /* fprintf (stderr, "chunklst_create: itemwsz_log = %i\n", itemwsz_log) ; fprintf (stderr, "chunklst_create: itemwsz = %i\n", itemwsz) ; */ if (itemwsz_log >= 0) { itemtot = (CHUNK_WORDSIZE >> itemwsz_log) ; nmarkbit = (itemtot + NBIT_PER_BYTE_MASK) >> NBIT_PER_BYTE_LOG ; } else { itemtot = 1 ; nmarkbit = 1 ; } chks = (chunklst)malloc(sizeof(chunk) + nmarkbit) ; if (!chks) { fprintf ( stderr, "GC Fatal Error: [chunklst_create]: [malloc] failed.\n" ) ; // end of [fprintf] exit (1) ; } // end of [if] data = (freeitmlst)0 ; if (itemwsz <= MAX_CHUNK_BLOCK_WORDSIZE) { if (the_freeitmlst_chunk_data) { data = the_freeitmlst_chunk_data; the_freeitmlst_chunk_data = *(freeitmlst*)data ; } // end of [if] } // end of [if] /* fprintf (stderr, "chunklst_create: data = %p(%i)\n", data, data) ; */ if (!data) { if (itemwsz > CHUNK_WORDSIZE) chunk_bsz = itemwsz << NBYTE_PER_WORD_LOG ; else chunk_bsz = CHUNK_BYTESIZE ; /* fprintf (stderr, "gcats_memalign: size = %i\n", chunk_bsz) ; */ err = gcats_memalign (&data, CHUNK_BYTESIZE/*alignment*/, chunk_bsz/*size*/) ; /* fprintf (stderr, "gcats_memalign: err = %i\n", err) ; */ if (err) { fprintf (stderr, "GC: Fatal Error: [gcats_memalign] failed\n") ; exit (1) ; } // end of [if] } // end of [if] /* fprintf (stderr, "chunklst_create: data = %p(%i)\n", data, data) ; */ chks->itemwsz = itemwsz ; chks->itemwsz_log = itemwsz_log ; chks->itemtot = itemtot ; chks->markcnt = 0 ; // for fast threading! #ifdef _ATS_MULTITHREAD chks->freecnt = 0 ; // not in use yet #endif chks->sweep_next = (chunklst)0 ; data_ofs = (uintptr_t)data & (CHUNK_BYTESIZE - 1) ; if (data_ofs) { /* fprintf (stderr, "chunklst_create: data_ofs = %i\n", data_ofs) ; */ chks->data = (byte*)data - data_ofs + CHUNK_BYTESIZE ; } else { chks->data = data ; } chks->data_nonalign = data ; // [data] is *not* zeroed memset (chks->markbits, 0, nmarkbit) ; the_chunk_count_inc_by ((itemwsz + CHUNK_WORDSIZE_MASK) >> CHUNK_WORDSIZE_LOG) ; chunklst_insert_into_table (chks) ; /* fprintf (stderr, "chunklst_create: chks = %p(%i)\n", chks, chks) ; */ return chks ; } /* end of [chunklst_create] */ #line 504 "gcats1_chunk.dats" #if (__WORDSIZE == 32) ats_void_type gc_markbits_clear_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_markbits_clear_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_markbits_clear_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_markbits_clear_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // terminating: obvious gc_markbits_clear_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_markbits_clear_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] /* ****** ****** */ /* end of [gcats1_chunk_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_autops_dats.c0000664000175000017500000006344612655455557024377 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ #line 162 "gcats1_autops.dats" static inline ats_void_type gc_aut_calloc_bsz_memset_bsz (ats_ptr_type p, ats_int_type c, ats_int_type bsz) { memset (p, c, bsz) ; return ; } #line 305 "gcats1_autops.dats" static inline ats_void_type gc_aut_realloc_wsz_memcpy_wsz (ats_ptr_type p_dest, ats_ptr_type p_src, ats_int_type wsz) { memcpy (p_dest, p_src, wsz << NBYTE_PER_WORD_LOG) ; return ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asr_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_acquire) () ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_release) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_release) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_release) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_all) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_all) () ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_tail_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_set) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_insert_at) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_log_get) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemtot_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, chunklst_destroy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, the_chunk_count_limit_is_reached_within) (ats_int_type) ; ATSextern_fun(ats_uintptr1_type, PTR_TOPSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_int_type, PTR_BOTSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get) (ats_uintptr1_type) ; ATSextern_fun(ats_void_type, gc_collect) () ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_malloc_bsz) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_malloc_wsz) (ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, log2_ceil) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_calloc_bsz) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_aut_calloc_bsz_memset_bsz) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_aut_realloc_wsz_memcpy_wsz) (ats_ptr_type, ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_autops_gc_aut_free_chunk_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type gcats1_autops_err_botsegtbl_5 (ats_ptr_type arg0) ; static ats_void_type gcats1_autops_err_chunk_6 (ats_ptr_type arg0) ; static ats_ptr_type gcats1_autops_err_9 (ats_ptr_type arg0) ; static ats_ptr_type gcats1_autops_aux_main_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 1738(line=53, offs=29) -- 1844(line=57, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_malloc_bsz (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; __ats_lab_gc_aut_malloc_bsz: #line 54 "gcats1_autops.dats" tmp3 = atspre_isub (8, 1) ; #line 54 "gcats1_autops.dats" tmp2 = atspre_add_int_int (arg0, tmp3) ; #line 54 "gcats1_autops.dats" tmp1 = atspre_asr_int_int1 (tmp2, 3) ; #line 56 "gcats1_autops.dats" tmp0 = gc_aut_malloc_wsz (tmp1) ; return (tmp0) ; } /* end of [gc_aut_malloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 1954(line=61, offs=29) -- 5420(line=153, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_malloc_wsz (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_gc_aut_malloc_wsz: #line 68 "gcats1_autops.dats" tmp7 = atspre_asl_int_int1 (1, 11) ; #line 68 "gcats1_autops.dats" tmp6 = atspre_gt_int_int (arg0, tmp7) ; #line 68 "gcats1_autops.dats" if (tmp6) { #line 68 "gcats1_autops.dats" tmp5 = -1 ; } else { #line 68 "gcats1_autops.dats" tmp5 = log2_ceil (arg0) ; } /* end of [if] */ #line 71 "gcats1_autops.dats" do { /* branch: __ats_lab_0 */ #line 72 "gcats1_autops.dats" __ats_lab_0_0: #line 72 "gcats1_autops.dats" __ats_lab_0_1: #line 72 "gcats1_autops.dats" tmp8 = atspre_igte (tmp5, 0) ; #line 72 "gcats1_autops.dats" if (!tmp8) { goto __ats_lab_1_1 ; } #line 74 "gcats1_autops.dats" tmp10 = atspre_ilte (tmp5, 11) ; #line 73 "gcats1_autops.dats" /* tmp9 = */ atspre_assert (tmp10) ; #line 75 "gcats1_autops.dats" tmp11 = the_freeitmlst_array_get (tmp5) ; #line 77 "gcats1_autops.dats" tmp13 = freeitmlst_is_nil (tmp11) ; #line 77 "gcats1_autops.dats" if (tmp13) { #line 77 "gcats1_autops.dats" tmp12 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate (tmp5) ; } else { #line 78 "gcats1_autops.dats" tmp12 = tmp11 ; } /* end of [if] */ #line 80 "gcats1_autops.dats" tmp14 = freeitmlst2ptr (tmp12) ; #line 94 "gcats1_autops.dats" tmp15 = freeitmlst_tail_get (tmp12) ; #line 95 "gcats1_autops.dats" /* tmp16 = */ the_freeitmlst_array_set (tmp5, tmp15) ; #line 108 "gcats1_autops.dats" tmp4 = tmp14 ; break ; /* branch: __ats_lab_1 */ #line 110 "gcats1_autops.dats" __ats_lab_1_0: #line 110 "gcats1_autops.dats" __ats_lab_1_1: #line 113 "gcats1_autops.dats" tmp19 = atspre_asl_int_int1 (1, 30) ; #line 113 "gcats1_autops.dats" tmp18 = atspre_gt_int_int (arg0, tmp19) ; #line 113 "gcats1_autops.dats" if (tmp18) { #line 115 "gcats1_autops.dats" /* tmp20 = */ atspre_prerr_string (ATSstrcst("[gc_aut_malloc_wsz]: argument is too large!")) ; #line 115 "gcats1_autops.dats" /* tmp21 = */ atspre_prerr_newline () ; #line 118 "gcats1_autops.dats" /* tmp17 = */ ats_exit (1) ; } else { /* empty */ } /* end of [if] */ #line 120 "gcats1_autops.dats" tmp25 = atspre_asl_int_int1 (1, 11) ; #line 120 "gcats1_autops.dats" tmp24 = atspre_sub_int_int (tmp25, 1) ; #line 120 "gcats1_autops.dats" tmp23 = atspre_add_int_int (arg0, tmp24) ; #line 120 "gcats1_autops.dats" tmp22 = atspre_asr_int_int1 (tmp23, 11) ; #line 121 "gcats1_autops.dats" /* tmp26 = */ gc_main_lock_acquire () ; #line 121 "gcats1_autops.dats" /* tmp27 = ats_selsin_mac(tmp26, atslab_1) */ ; #line 123 "gcats1_autops.dats" tmp28 = the_chunk_count_limit_is_reached_within (tmp22) ; #line 126 "gcats1_autops.dats" if (tmp28) { #line 127 "gcats1_autops.dats" /* tmp30 = */ the_globalentrylst_lock_acquire () ; #line 127 "gcats1_autops.dats" /* tmp31 = ats_selsin_mac(tmp30, atslab_1) */ ; #line 128 "gcats1_autops.dats" /* tmp32 = */ the_manmemlst_lock_acquire () ; #line 128 "gcats1_autops.dats" /* tmp33 = ats_selsin_mac(tmp32, atslab_1) */ ; #line 129 "gcats1_autops.dats" /* tmp34 = */ the_threadinfolst_lock_acquire () ; #line 129 "gcats1_autops.dats" /* tmp35 = ats_selsin_mac(tmp34, atslab_1) */ ; #line 130 "gcats1_autops.dats" /* tmp36 = */ the_sweeplst_lock_acquire_all () ; #line 130 "gcats1_autops.dats" /* tmp37 = ats_selsin_mac(tmp36, atslab_1) */ ; #line 131 "gcats1_autops.dats" /* tmp38 = */ gc_collect () ; #line 134 "gcats1_autops.dats" /* tmp39 = */ the_sweeplst_lock_release_all () ; #line 135 "gcats1_autops.dats" /* tmp40 = */ the_threadinfolst_lock_release () ; #line 136 "gcats1_autops.dats" /* tmp41 = */ the_manmemlst_lock_release () ; #line 137 "gcats1_autops.dats" /* tmp29 = */ the_globalentrylst_lock_release () ; } else { /* empty */ } /* end of [if] */ #line 141 "gcats1_autops.dats" tmp42 = chunklst_create (-1, arg0) ; #line 142 "gcats1_autops.dats" /* tmp43 = */ gc_main_lock_release () ; #line 143 "gcats1_autops.dats" tmp44 = chunklst_data_get (tmp42) ; #line 144 "gcats1_autops.dats" tmp4 = freeitmlst2ptr (tmp44) ; break ; } while (0) ; return (tmp4) ; } /* end of [gc_aut_malloc_wsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 5780(line=174, offs=19) -- 6334(line=196, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_calloc_bsz (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; __ats_lab_gc_aut_calloc_bsz: #line 183 "gcats1_autops.dats" tmp46 = atspre_mul_int_int (arg0, arg1) ; #line 184 "gcats1_autops.dats" tmp47 = gc_aut_malloc_bsz (tmp46) ; #line 185 "gcats1_autops.dats" /* tmp48 = */ gc_aut_calloc_bsz_memset_bsz (tmp47, 0, tmp46) ; #line 195 "gcats1_autops.dats" tmp45 = tmp47 ; return (tmp45) ; } /* end of [gc_aut_calloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 6462(line=202, offs=4) -- 8244(line=256, offs=4) */ ATSstaticdec() ats_void_type gcats1_autops_gc_aut_free_chunk_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab_gcats1_autops_gc_aut_free_chunk_3: #line 209 "gcats1_autops.dats" tmp50 = chunklst_itemwsz_log_get (arg0) ; #line 216 "gcats1_autops.dats" tmp51 = atspre_igte (tmp50, 0) ; #line 216 "gcats1_autops.dats" if (tmp51) { #line 238 "gcats1_autops.dats" /* tmp49 = */ the_freeitmlst_array_insert_at (arg1, tmp50) ; } else { #line 242 "gcats1_autops.dats" tmp52 = chunklst_itemtot_get (arg0) ; #line 244 "gcats1_autops.dats" tmp53 = atspre_eq_int_int (tmp52, 1) ; #line 244 "gcats1_autops.dats" if (tmp53) { #line 245 "gcats1_autops.dats" /* tmp54 = */ gc_main_lock_acquire () ; #line 245 "gcats1_autops.dats" /* tmp55 = ats_selsin_mac(tmp54, atslab_1) */ ; #line 246 "gcats1_autops.dats" /* tmp56 = */ chunklst_destroy (arg0) ; #line 248 "gcats1_autops.dats" /* tmp49 = */ gc_main_lock_release () ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ return /* (tmp49) */ ; } /* end of [gcats1_autops_gc_aut_free_chunk_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8409(line=267, offs=6) -- 8605(line=271, offs=6) */ ATSstaticdec() ats_void_type gcats1_autops_err_botsegtbl_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab_gcats1_autops_err_botsegtbl_5: #line 268 "gcats1_autops.dats" /* tmp59 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 269 "gcats1_autops.dats" /* tmp60 = */ atspre_prerr_string (ATSstrcst(": invalid pointer (botsegtbl is nil): ")) ; #line 269 "gcats1_autops.dats" /* tmp61 = */ atspre_prerr_ptr (arg0) ; #line 270 "gcats1_autops.dats" /* tmp62 = */ atspre_prerr_newline () ; #line 270 "gcats1_autops.dats" /* tmp58 = */ ats_exit (1) ; return /* (tmp58) */ ; } /* end of [gcats1_autops_err_botsegtbl_5] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8611(line=272, offs=6) -- 8799(line=276, offs=6) */ ATSstaticdec() ats_void_type gcats1_autops_err_chunk_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; __ats_lab_gcats1_autops_err_chunk_6: #line 273 "gcats1_autops.dats" /* tmp64 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 274 "gcats1_autops.dats" /* tmp65 = */ atspre_prerr_string (ATSstrcst(": invalid pointer (chunk is nil): ")) ; #line 274 "gcats1_autops.dats" /* tmp66 = */ atspre_prerr_ptr (arg0) ; #line 275 "gcats1_autops.dats" /* tmp67 = */ atspre_prerr_newline () ; #line 275 "gcats1_autops.dats" /* tmp63 = */ ats_exit (1) ; return /* (tmp63) */ ; } /* end of [gcats1_autops_err_chunk_6] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8302(line=261, offs=13) -- 9241(line=290, offs=4) */ ATSglobaldec() ats_void_type gc_aut_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_uintptr1_type, tmp68) ; ATSlocal (ats_uintptr1_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; __ats_lab_gc_aut_free: #line 277 "gcats1_autops.dats" tmp68 = PTR_TOPSEG_GET (arg0) ; #line 277 "gcats1_autops.dats" tmp69 = ats_selsin_mac(tmp68, atslab_1) ; #line 278 "gcats1_autops.dats" tmp70 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp69) ; #line 280 "gcats1_autops.dats" do { /* branch: __ats_lab_2 */ #line 281 "gcats1_autops.dats" __ats_lab_2_0: #line 281 "gcats1_autops.dats" __ats_lab_2_1: #line 281 "gcats1_autops.dats" tmp71 = botsegtbllst_is_cons (tmp70) ; #line 281 "gcats1_autops.dats" if (!tmp71) { goto __ats_lab_5_1 ; } #line 282 "gcats1_autops.dats" tmp72 = PTR_BOTSEG_GET (arg0) ; #line 283 "gcats1_autops.dats" tmp73 = botsegtbllst_get (tmp70, tmp72) ; #line 285 "gcats1_autops.dats" do { /* branch: __ats_lab_3 */ #line 286 "gcats1_autops.dats" __ats_lab_3_0: #line 286 "gcats1_autops.dats" __ats_lab_3_1: #line 286 "gcats1_autops.dats" tmp74 = chunklst_is_cons (tmp73) ; #line 286 "gcats1_autops.dats" if (!tmp74) { goto __ats_lab_4_1 ; } #line 286 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_gc_aut_free_chunk_3 (tmp73, arg0) ; break ; /* branch: __ats_lab_4 */ #line 287 "gcats1_autops.dats" __ats_lab_4_0: #line 287 "gcats1_autops.dats" __ats_lab_4_1: #line 287 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_err_chunk_6 (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ #line 289 "gcats1_autops.dats" __ats_lab_5_0: #line 289 "gcats1_autops.dats" __ats_lab_5_1: #line 289 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_err_botsegtbl_5 (arg0) ; break ; } while (0) ; return /* (tmp57) */ ; } /* end of [gc_aut_free] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9354(line=297, offs=20) -- 9471(line=301, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_realloc_bsz (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; __ats_lab_gc_aut_realloc_bsz: #line 298 "gcats1_autops.dats" tmp78 = atspre_isub (8, 1) ; #line 298 "gcats1_autops.dats" tmp77 = atspre_add_int_int (arg1, tmp78) ; #line 298 "gcats1_autops.dats" tmp76 = atspre_asr_int_int1 (tmp77, 3) ; #line 300 "gcats1_autops.dats" tmp75 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz (arg0, tmp76) ; return (tmp75) ; } /* end of [gc_aut_realloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9961(line=328, offs=6) -- 10126(line=332, offs=6) */ ATSstaticdec() ats_ptr_type gcats1_autops_err_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; __ats_lab_gcats1_autops_err_9: #line 329 "gcats1_autops.dats" /* tmp81 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 330 "gcats1_autops.dats" /* tmp82 = */ atspre_prerr_string (ATSstrcst(": invalid pointer: ")) ; #line 330 "gcats1_autops.dats" /* tmp83 = */ atspre_prerr_ptr (arg0) ; #line 330 "gcats1_autops.dats" /* tmp84 = */ atspre_prerr_newline () ; #line 331 "gcats1_autops.dats" /* tmp80 = */ ats_exit (1) ; return (tmp80) ; } /* end of [gcats1_autops_err_9] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 10228(line=335, offs=6) -- 11278(line=369, offs=6) */ ATSstaticdec() ats_ptr_type gcats1_autops_aux_main_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; __ats_lab_gcats1_autops_aux_main_10: #line 340 "gcats1_autops.dats" tmp89 = chunklst_itemwsz_get (arg0) ; #line 342 "gcats1_autops.dats" do { /* branch: __ats_lab_6 */ #line 343 "gcats1_autops.dats" __ats_lab_6_0: #line 343 "gcats1_autops.dats" __ats_lab_6_1: #line 343 "gcats1_autops.dats" tmp90 = atspre_gt_int_int (arg2, tmp89) ; #line 343 "gcats1_autops.dats" if (!tmp90) { goto __ats_lab_7_1 ; } #line 349 "gcats1_autops.dats" tmp91 = gc_aut_malloc_wsz (arg2) ; #line 350 "gcats1_autops.dats" /* tmp92 = */ gc_aut_realloc_wsz_memcpy_wsz (tmp91, arg1, tmp89) ; #line 351 "gcats1_autops.dats" /* tmp93 = */ gcats1_autops_gc_aut_free_chunk_3 (arg0, arg1) ; #line 353 "gcats1_autops.dats" tmp88 = tmp91 ; break ; /* branch: __ats_lab_7 */ #line 355 "gcats1_autops.dats" __ats_lab_7_0: #line 355 "gcats1_autops.dats" __ats_lab_7_1: #line 355 "gcats1_autops.dats" tmp95 = atspre_mul_int_int (2, arg2) ; #line 355 "gcats1_autops.dats" tmp94 = atspre_lte_int_int (tmp95, tmp89) ; #line 355 "gcats1_autops.dats" if (!tmp94) { goto __ats_lab_8_1 ; } #line 361 "gcats1_autops.dats" tmp96 = gc_aut_malloc_wsz (arg2) ; #line 363 "gcats1_autops.dats" /* tmp97 = */ gc_aut_realloc_wsz_memcpy_wsz (tmp96, arg1, arg2) ; #line 364 "gcats1_autops.dats" /* tmp98 = */ gcats1_autops_gc_aut_free_chunk_3 (arg0, arg1) ; #line 366 "gcats1_autops.dats" tmp88 = tmp96 ; break ; /* branch: __ats_lab_8 */ #line 368 "gcats1_autops.dats" __ats_lab_8_0: #line 368 "gcats1_autops.dats" __ats_lab_8_1: #line 368 "gcats1_autops.dats" tmp88 = arg1 ; break ; } while (0) ; return (tmp88) ; } /* end of [gcats1_autops_aux_main_10] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9739(line=319, offs=20) -- 11928(line=396, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_uintptr1_type, tmp85) ; ATSlocal (ats_uintptr1_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz: #line 333 "gcats1_autops.dats" tmp85 = PTR_TOPSEG_GET (arg0) ; #line 333 "gcats1_autops.dats" tmp86 = ats_selsin_mac(tmp85, atslab_1) ; #line 334 "gcats1_autops.dats" tmp87 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp86) ; #line 372 "gcats1_autops.dats" tmp99 = atspre_pgt (arg0, atspre_null_ptr) ; #line 372 "gcats1_autops.dats" if (tmp99) { #line 373 "gcats1_autops.dats" do { /* branch: __ats_lab_9 */ #line 374 "gcats1_autops.dats" __ats_lab_9_0: #line 374 "gcats1_autops.dats" __ats_lab_9_1: #line 374 "gcats1_autops.dats" tmp100 = botsegtbllst_is_cons (tmp87) ; #line 374 "gcats1_autops.dats" if (!tmp100) { goto __ats_lab_12_1 ; } #line 375 "gcats1_autops.dats" tmp101 = PTR_BOTSEG_GET (arg0) ; #line 376 "gcats1_autops.dats" tmp102 = botsegtbllst_get (tmp87, tmp101) ; #line 378 "gcats1_autops.dats" do { /* branch: __ats_lab_10 */ #line 379 "gcats1_autops.dats" __ats_lab_10_0: #line 379 "gcats1_autops.dats" __ats_lab_10_1: #line 379 "gcats1_autops.dats" tmp103 = chunklst_is_cons (tmp102) ; #line 379 "gcats1_autops.dats" if (!tmp103) { goto __ats_lab_11_1 ; } #line 380 "gcats1_autops.dats" tmp79 = gcats1_autops_aux_main_10 (tmp102, arg0, arg1) ; break ; /* branch: __ats_lab_11 */ #line 390 "gcats1_autops.dats" __ats_lab_11_0: #line 390 "gcats1_autops.dats" __ats_lab_11_1: #line 390 "gcats1_autops.dats" tmp79 = gcats1_autops_err_9 (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_12 */ #line 392 "gcats1_autops.dats" __ats_lab_12_0: #line 392 "gcats1_autops.dats" __ats_lab_12_1: #line 392 "gcats1_autops.dats" tmp79 = gcats1_autops_err_9 (arg0) ; break ; } while (0) ; } else { #line 394 "gcats1_autops.dats" tmp79 = gc_aut_malloc_wsz (arg1) ; } /* end of [if] */ return (tmp79) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_autops_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_top_dats.c0000664000175000017500000003507012655455557023656 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ #line 51 "gcats1_top.dats" int the_chunk_count = 0 ; // a soft threshold that can be extended int the_chunk_count_limit = 1 ; // int the_chunk_count_limit = 1024 ; // a hard threshold that cannot be extended int the_chunk_count_limit_max = 8192 ; // a list of freed chunk data freeitmlst the_freeitmlst_chunk_data = (freeitmlst)0 ; #ifdef _ATS_MULTITHREAD // this is the lock that protects the previous variables pthread_mutex_t the_gc_main_lock = PTHREAD_MUTEX_INITIALIZER ; #endif // [_ATS_MULTITHREAD] /* ****** ****** */ chunklst the_sweeplst_array[FREEITMLST_ARRAYSIZE] = { (chunklst)0 } ; #ifdef _ATS_MULTITHREAD pthread_mutex_t the_sweeplst_lock_array[FREEITMLST_ARRAYSIZE] ; ats_void_type gc_sweeplst_lock_array_init () { int i ; pthread_mutex_t *p_lock ; i = 0 ; p_lock = the_sweeplst_lock_array ; while (i < FREEITMLST_ARRAYSIZE) { pthread_mutex_init (p_lock, NULL); i += 1; p_lock += 1 ; } /* fprintf (stderr, "the_sweeplst_lock_array has been initialized.\n") ; */ return ; } #endif /* ****** ****** */ #ifdef _ATS_MULTITHREAD // __thread // freeitmlst the_freeitmlst_array[FREEITMLST_ARRAYSIZE] = // { (freeitmlst)0 } ; __thread freeitmlst *the_freeitmlst_array = (freeitmlst*)0 ; #else /* single thread */ freeitmlst the_freeitmlst_array[FREEITMLST_ARRAYSIZE] = { (freeitmlst)0 } ; #endif /* ****** ****** */ // protecting [the_globalentrylst] in [gc_globalentrylst.dats] #ifdef _ATS_MULTITHREAD pthread_mutex_t the_globalentrylst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ // manually managed list of allocated memories manmemlst the_manmemlst = (manmemlst)0 ; #ifdef _ATS_MULTITHREAD pthread_mutex_t the_manmemlst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ #ifdef _ATS_MULTITHREAD pthread_mutex_t the_threadinfolst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ #if (__WORDSIZE == 32) botsegtbllst the_topsegtbl[TOPSEG_TABLESIZE] = { (botsegtbllst)0 } ; #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) botsegtbllst the_topsegtbl[TOPSEG_HASHTABLESIZE] = { (botsegtbllst)0 } ; #endif // end of [__WORDSIZE == 64] /* ****** ****** */ ats_int_type the_markstatck_overflow = 0 ; // for debugging purpose // ats_void_type segfault (void) { return *(int*)0 ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_stdout_get) () ; ATSextern_fun(ats_void_type, atspre_stdout_view_set) () ; ATSextern_fun(ats_ptr_type, atspre_stderr_get) () ; ATSextern_fun(ats_void_type, atspre_stderr_view_set) () ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ref_type, ats_ptr_type, ...) ; ATSextern_fun(ats_int_type, gc_stack_dir_get) () ; ATSextern_fun(ats_void_type, gc_stack_beg_set) (ats_int_type) ; ATSextern_fun(ats_int_type, freeitmlst_length) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_int_type, the_chunk_count_get) () ; ATSextern_fun(ats_void_type, the_markstack_extend) (ats_int_type) ; ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_chunk_data_get) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_top_loop_1 (ats_ref_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_int_type, gcats1_top_statmp21) ; // ATSstatic_void (gcats1_top_statmp22) ; // ATSstatic_void (gcats1_top_statmp23) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5175(line=208, offs=7) -- 5490(line=218, offs=6) */ ATSstaticdec() ats_void_type gcats1_top_loop_1 (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab_gcats1_top_loop_1: #line 210 "gcats1_top.dats" tmp8 = atspre_iadd (11, 1) ; #line 210 "gcats1_top.dats" tmp7 = atspre_ilt (arg1, tmp8) ; #line 210 "gcats1_top.dats" if (tmp7) { #line 211 "gcats1_top.dats" tmp9 = the_freeitmlst_array_get (arg1) ; #line 212 "gcats1_top.dats" tmp10 = freeitmlst_length (tmp9) ; #line 213 "gcats1_top.dats" /* tmp11 = */ atspre_fprintf_exn (arg0, ATSstrcst("freeitmlst(%i):\t%i\n"), arg1, tmp10) ; #line 216 "gcats1_top.dats" tmp12 = atspre_iadd (arg1, 1) ; #line 216 "gcats1_top.dats" arg0 = arg0 ; #line 216 "gcats1_top.dats" arg1 = tmp12 ; #line 216 "gcats1_top.dats" goto __ats_lab_gcats1_top_loop_1 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_top_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 4833(line=196, offs=31) -- 5550(line=222, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats: #line 198 "gcats1_top.dats" tmp1 = the_chunk_count_get () ; #line 200 "gcats1_top.dats" /* tmp2 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_chunk_count:\t%i\n"), tmp1) ; #line 203 "gcats1_top.dats" tmp4 = freeitmlst_chunk_data_get () ; #line 203 "gcats1_top.dats" tmp3 = freeitmlst_length (tmp4) ; #line 205 "gcats1_top.dats" /* tmp5 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_free_chunk_data_count:\t%i\n"), tmp3) ; #line 219 "gcats1_top.dats" /* tmp0 = */ gcats1_top_loop_1 (arg0, 0) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5605(line=224, offs=26) -- 5785(line=231, offs=4) */ ATSglobaldec() ats_void_type gc_print_stats () { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; __ats_lab_gc_print_stats: #line 225 "gcats1_top.dats" tmp14 = atspre_stdout_get () ; #line 225 "gcats1_top.dats" tmp15 = ats_selsin_mac(tmp14, atslab_1) ; #line 227 "gcats1_top.dats" /* tmp16 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (tmp15) ; #line 230 "gcats1_top.dats" /* tmp13 = */ atspre_stdout_view_set () ; return /* (tmp13) */ ; } /* end of [gc_print_stats] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5839(line=233, offs=26) -- 6021(line=240, offs=4) */ ATSglobaldec() ats_void_type gc_prerr_stats () { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; __ats_lab_gc_prerr_stats: #line 234 "gcats1_top.dats" tmp18 = atspre_stderr_get () ; #line 234 "gcats1_top.dats" tmp19 = ats_selsin_mac(tmp18, atslab_1) ; #line 236 "gcats1_top.dats" /* tmp20 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (tmp19) ; #line 239 "gcats1_top.dats" /* tmp17 = */ atspre_stderr_view_set () ; return /* (tmp17) */ ; } /* end of [gc_prerr_stats] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload (void) ; // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload () { // ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&gcats1_top_statmp21, sizeof(ats_int_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 244 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload () ; #line 245 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload () ; #line 246 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload () ; #line 247 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload () ; #line 251 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload () ; #line 252 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload () ; #line 253 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload () ; #line 254 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload () ; #line 263 "gcats1_top.dats" gcats1_top_statmp21 = gc_stack_dir_get () ; #line 264 "gcats1_top.dats" /* gcats1_top_statmp22 = */ gc_stack_beg_set (gcats1_top_statmp21) ; #line 281 "gcats1_top.dats" /* gcats1_top_statmp23 = */ the_markstack_extend (1) ; return ; } /* end of [dynload function] */ ats_void_type gc_init () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload () ; return ; } /* external codes at mid */ /* external codes at bot */ #line 150 "gcats1_top.dats" ats_int_type gc_chunk_count_limit_get () { return the_chunk_count_limit ; } ats_void_type gc_chunk_count_limit_set (ats_int_type n) { if (n >= 0) { the_chunk_count_limit = n ; } else { fprintf (stderr, "GC Fatal Error: [gc_chunk_count_limit_set]: negative argument.\n") ; exit (1) ; } return ; } ats_int_type gc_chunk_count_limit_max_get () { return the_chunk_count_limit_max ; } ats_void_type gc_chunk_count_limit_max_set (ats_int_type n) { the_chunk_count_limit_max = n ; return ; } #line 185 "gcats1_top.dats" extern ats_ptr_type the_freeitmlst_chunk_data ; ats_ptr_type freeitmlst_chunk_data_get () { return the_freeitmlst_chunk_data ; } #line 293 "gcats1_top.dats" ats_ptr_type the_globalentrylst = (ats_ptr_type)0 ; // GLOBALENTRYLSTnil // end of ... extern void globalentrylst_insert (ats_ref_type ents, ats_ptr_type ptr, ats_int_type wsz) ; ats_void_type gc_markroot_bsz (ats_ptr_type ptr, ats_int_type bsz/*bytesize*/) { int wsz = (bsz >> NBYTE_PER_WORD_LOG) ; /* fprintf (stderr, "gc_markroot_bsz: ptr = %p\n", ptr) ; fprintf (stderr, "gc_markroot_bsz: bsz = %i\n", bsz) ; fprintf (stderr, "gc_markroot_bsz: wsz = %i\n", wsz) ; */ globalentrylst_insert (&the_globalentrylst, ptr, wsz) ; return ; } /* end of [gc_markroot_bsz] */ /* ****** ****** */ /* end of [gcats1_top_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_collecting_dats.c0000664000175000017500000005365612655455557025211 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_acquire) () ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_release) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_release) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_release) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_one) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_one) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_rest) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_rest) (ats_int_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_sweep_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create_release) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, the_chunk_count_limit_is_not_reached) () ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, the_sweeplst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_set) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_clear_one) (ats_int_type) ; ATSextern_fun(ats_void_type, gc_collect) () ; ATSextern_fun(ats_ptr_type, gc_chunk_threading) (ats_ptr_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_clear_all) () ; ATSextern_fun(ats_void_type, gc_sweeplst_build_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_sweeplst_build_botsegtbl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, fprint_the_sweeplst_array_all) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__sweeplst_lock_all_takeout_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_collecting_loop_1 (ats_int_type arg0) ; static ats_void_type gcats1_collecting_loop_3 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 1953(line=61, offs=7) -- 2267(line=69, offs=8) */ ATSstaticdec() ats_void_type gcats1_collecting_loop_1 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_int_type, tmp5) ; __ats_lab_gcats1_collecting_loop_1: #line 63 "gcats1_collecting.dats" tmp3 = atspre_iadd (11, 1) ; #line 63 "gcats1_collecting.dats" tmp2 = atspre_ilt (arg0, tmp3) ; #line 63 "gcats1_collecting.dats" if (tmp2) { #line 65 "gcats1_collecting.dats" /* tmp4 = */ the_sweeplst_array_clear_one (arg0) ; #line 68 "gcats1_collecting.dats" tmp5 = atspre_iadd (arg0, 1) ; #line 68 "gcats1_collecting.dats" arg0 = tmp5 ; #line 68 "gcats1_collecting.dats" goto __ats_lab_gcats1_collecting_loop_1 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp1) */ ; } /* end of [gcats1_collecting_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 1892(line=59, offs=40) -- 2305(line=72, offs=4) */ ATSglobaldec() ats_void_type the_sweeplst_array_clear_all () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_the_sweeplst_array_clear_all: #line 71 "gcats1_collecting.dats" /* tmp0 = */ gcats1_collecting_loop_1 (0) ; return /* (tmp0) */ ; } /* end of [the_sweeplst_array_clear_all] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 2618(line=83, offs=7) -- 2964(line=92, offs=6) */ ATSstaticdec() ats_void_type gcats1_collecting_loop_3 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab_gcats1_collecting_loop_3: #line 85 "gcats1_collecting.dats" tmp8 = atspre_ilt (arg1, 1024) ; #line 85 "gcats1_collecting.dats" if (tmp8) { #line 86 "gcats1_collecting.dats" tmp9 = botsegtbllst_get (arg0, arg1) ; #line 87 "gcats1_collecting.dats" tmp11 = chunklst_is_cons (tmp9) ; #line 87 "gcats1_collecting.dats" if (tmp11) { #line 87 "gcats1_collecting.dats" /* tmp10 = */ gc_sweeplst_build_chunk (tmp9) ; } else { /* empty */ } /* end of [if] */ #line 90 "gcats1_collecting.dats" tmp12 = atspre_iadd (arg1, 1) ; #line 90 "gcats1_collecting.dats" arg0 = arg0 ; #line 90 "gcats1_collecting.dats" arg1 = tmp12 ; #line 90 "gcats1_collecting.dats" goto __ats_lab_gcats1_collecting_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp7) */ ; } /* end of [gcats1_collecting_loop_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 2599(line=82, offs=39) -- 3005(line=95, offs=4) */ ATSglobaldec() ats_void_type gc_sweeplst_build_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab_gc_sweeplst_build_botsegtbl: #line 94 "gcats1_collecting.dats" /* tmp6 = */ gcats1_collecting_loop_3 (arg0, 0) ; return /* (tmp6) */ ; } /* end of [gc_sweeplst_build_botsegtbl] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 3190(line=102, offs=34) -- 6455(line=184, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate: #line 110 "gcats1_collecting.dats" /* tmp14 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 110 "gcats1_collecting.dats" /* tmp15 = ats_selsin_mac(tmp14, atslab_1) */ ; #line 111 "gcats1_collecting.dats" tmp16 = the_sweeplst_array_get (arg0) ; #line 113 "gcats1_collecting.dats" tmp18 = chunklst_is_cons (tmp16) ; #line 113 "gcats1_collecting.dats" if (tmp18) { #line 113 "gcats1_collecting.dats" tmp17 = tmp16 ; } else { #line 114 "gcats1_collecting.dats" /* tmp19 = */ the_sweeplst_lock_release_one (arg0) ; #line 115 "gcats1_collecting.dats" /* tmp20 = */ gc_main_lock_acquire () ; #line 115 "gcats1_collecting.dats" /* tmp21 = ats_selsin_mac(tmp20, atslab_1) */ ; #line 116 "gcats1_collecting.dats" /* tmp22 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 116 "gcats1_collecting.dats" /* tmp23 = ats_selsin_mac(tmp22, atslab_1) */ ; #line 118 "gcats1_collecting.dats" tmp24 = the_sweeplst_array_get (arg0) ; #line 120 "gcats1_collecting.dats" tmp25 = chunklst_is_cons (tmp24) ; #line 120 "gcats1_collecting.dats" if (tmp25) { #line 121 "gcats1_collecting.dats" /* tmp26 = */ gc_main_lock_release () ; #line 121 "gcats1_collecting.dats" tmp17 = tmp24 ; } else { #line 124 "gcats1_collecting.dats" tmp27 = the_chunk_count_limit_is_not_reached () ; #line 126 "gcats1_collecting.dats" if (tmp27) { #line 127 "gcats1_collecting.dats" tmp28 = atspre_asl_int_int1 (1, arg0) ; #line 127 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp28) ; } else { #line 129 "gcats1_collecting.dats" /* tmp29 = */ the_globalentrylst_lock_acquire () ; #line 129 "gcats1_collecting.dats" /* tmp30 = ats_selsin_mac(tmp29, atslab_1) */ ; #line 130 "gcats1_collecting.dats" /* tmp31 = */ the_manmemlst_lock_acquire () ; #line 130 "gcats1_collecting.dats" /* tmp32 = ats_selsin_mac(tmp31, atslab_1) */ ; #line 131 "gcats1_collecting.dats" /* tmp33 = */ the_threadinfolst_lock_acquire () ; #line 131 "gcats1_collecting.dats" /* tmp34 = ats_selsin_mac(tmp33, atslab_1) */ ; #line 133 "gcats1_collecting.dats" /* tmp35 = */ the_sweeplst_lock_acquire_rest (arg0) ; #line 132 "gcats1_collecting.dats" /* tmp36 = ats_selsin_mac(tmp35, atslab_1) */ ; #line 135 "gcats1_collecting.dats" /* tmp37 = */ gc_collect () ; #line 139 "gcats1_collecting.dats" /* tmp38 = */ the_sweeplst_lock_release_rest (arg0) ; #line 138 "gcats1_collecting.dats" /* tmp39 = ats_selsin_mac(tmp38, atslab_1) */ ; #line 142 "gcats1_collecting.dats" /* tmp40 = */ the_threadinfolst_lock_release () ; #line 143 "gcats1_collecting.dats" /* tmp41 = */ the_manmemlst_lock_release () ; #line 144 "gcats1_collecting.dats" /* tmp42 = */ the_globalentrylst_lock_release () ; #line 145 "gcats1_collecting.dats" tmp43 = the_sweeplst_array_get (arg0) ; #line 152 "gcats1_collecting.dats" tmp44 = chunklst_is_cons (tmp43) ; #line 152 "gcats1_collecting.dats" if (tmp44) { #line 153 "gcats1_collecting.dats" /* tmp45 = */ gc_main_lock_release () ; #line 153 "gcats1_collecting.dats" tmp17 = tmp43 ; } else { #line 155 "gcats1_collecting.dats" tmp46 = atspre_asl_int_int1 (1, arg0) ; #line 155 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp46) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ #line 166 "gcats1_collecting.dats" tmp47 = chunklst_sweep_next_get (tmp17) ; #line 167 "gcats1_collecting.dats" /* tmp48 = */ the_sweeplst_array_set (arg0, tmp47) ; #line 168 "gcats1_collecting.dats" /* tmp49 = */ the_sweeplst_lock_release_one (arg0) ; #line 169 "gcats1_collecting.dats" tmp50 = gc_chunk_threading (tmp17) ; #line 176 "gcats1_collecting.dats" tmp51 = freeitmlst_is_nil (tmp50) ; #line 176 "gcats1_collecting.dats" if (tmp51) { #line 177 "gcats1_collecting.dats" /* tmp52 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error")) ; #line 178 "gcats1_collecting.dats" /* tmp53 = */ atspre_prerr_string (ATSstrcst(": [gc_freeitmlst_generate]: the generated freeitmlst is nil")) ; #line 179 "gcats1_collecting.dats" /* tmp54 = */ atspre_prerr_newline () ; #line 180 "gcats1_collecting.dats" /* tmp13 = */ ats_exit (1) ; } else { #line 182 "gcats1_collecting.dats" tmp13 = tmp50 ; } /* end of [if] */ return (tmp13) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__sweeplst_lock_all_takeout_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 */ #line 188 "gcats1_collecting.dats" // [chks] must not be NULL! ats_void_type gc_sweeplst_build_chunk (ats_ptr_type chks) { int i, j ; freeitmlst *pi, *pij ; int itemwsz_log, itemtot, markcnt ; int freecnt ; markcnt = chunklst_markcnt_get (chks) ; /* fprintf (stderr, "gc_sweeplst_build_chunk: markcnt = %i\n", markcnt) ; */ #ifdef _ATS_MULTITHREAD // this logic is problematic! freecnt = chunklst_freecnt_get (chks) ; if (freecnt > 0) { fprintf (stderr, "gc_sweeplst_build_chunk: freecnt = %i\n", freecnt) ; return ; } #endif if (markcnt == 0) { chunklst_destroy (chks) ; return ; } itemtot = chunklst_itemtot_get (chks) ; if (markcnt > itemtot * CHUNK_SWEEP_CUTOFF) return ; itemwsz_log = chunklst_itemwsz_log_get (chks) ; /* if (itemwsz_log < 0) { // chks->itemtot = 1 and markcnt = 1 fprintf (stderr, "GC: Fatal Error: [gc_sweeplst_build_chunk]") ; fprintf (stderr, ": itemwsz_log = %i\n", itemwsz_log) ; exit (1) ; } */ /* fprintf (stderr, "gc_sweeplst_build_chunk: itemwsz_log = %i\n", itemwsz_log) ; */ the_sweeplst_array_insert_at (chks, itemwsz_log) ; return ; } /* end of [gc_sweeplst_build_chunk] */ /* ****** ****** */ #if (__WORDSIZE == 32) ats_void_type gc_sweeplst_build_the_topsegtbl () { int i ; botsegtbllst tbls ; the_sweeplst_array_clear_all () ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_sweeplst_build_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_sweeplst_build_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_sweeplst_build_the_topsegtbl () { int i ; botsegtbllst tbls ; the_sweeplst_array_clear_all () ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // termination: obvious gc_sweeplst_build_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_sweeplst_build_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] #line 266 "gcats1_collecting.dats" #define NCHUNK_PER_MARKSTACKPAGE 32 #define MARKSTACK_EXTEND_INCREMENT 2 extern int the_chunk_count ; extern int the_chunk_count_limit ; extern int the_chunk_count_limit_max ; extern int the_markstackpagecnt ; #ifdef _ATS_MULTITHREAD extern sem_t the_sleep_semaphore ; extern threadinfolst the_threadinfolst_fst ; extern __thread threadinfolst the_threadinfolst_self ; #endif ats_void_type gc_collect () { int overflow, nchunk, nmarkstackpage ; jmp_buf reg_save ; // register contents are roots #ifdef _ATS_MULTITHREAD threadinfolst infolst ; int nother ; #endif /* fprintf( stderr , "GC begs: the_chunk_count = %i and the_chunk_count_limit = %i\n" , the_chunk_count , the_chunk_count_limit ) ; */ setjmp (reg_save) ; // push registers onto the stack asm volatile ("": : :"memory") ; // stop potential optimization nmarkstackpage = (the_chunk_count << CHUNK_WORDSIZE_LOG) ; nmarkstackpage /= (MARKSTACK_PAGESIZE * NCHUNK_PER_MARKSTACKPAGE) ; nmarkstackpage += 1 ; nmarkstackpage -= the_markstackpagecnt ; /* fprintf (stderr, "gc_collect: nmarkstackpage = %i\n", nmarkstackpage) ; */ the_markstack_extend (nmarkstackpage) ; #ifdef _ATS_MULTITHREAD // put all of the other threads into sleep infolst = the_threadinfolst_fst ; nother = 0 ; while (infolst) { if (infolst != the_threadinfolst_self) { fprintf (stderr, "gc_collect: SIGUSR1: infolst->pid = %i\n", (int)(infolst->pid)) ; pthread_kill (infolst->pid, SIGUSR1) ; nother += 1 ; } infolst = infolst->next ; } while (nother) { // ordering is irrelevant fprintf (stderr, "gc_collect: sem_wait: bef: nother = %i\n", nother) ; sem_wait (&the_sleep_semaphore) ; nother -= 1 ; fprintf (stderr, "gc_collect: sem_wait: aft: nother = %i\n", nother) ; } fprintf (stderr, "gc_collect: nother = %i\n", nother) ; #endif // end of [_ATS_MULTITHREAD] gc_markbits_clear_the_topsegtbl () ; // clear all mark bits /* fprintf ( stderr, "gc_collect: gc_markbits_clear_topsegtbl: done\n", nmarkstackpage ) ; // end of [fprintf] */ overflow = gc_mark_all () ; // marking phase /* fprintf (stderr, "gc_collect: gc_mark_all: done\n") ; */ #ifdef _ATS_MULTITHREAD // wake up all of the sleeping threads infolst = the_threadinfolst_fst ; while (infolst) { if (infolst != the_threadinfolst_self) { fprintf (stderr, "gc_collect: SIGUSR2: infolst->pid = %i\n", (int)(infolst->pid)) ; pthread_kill (infolst->pid, SIGUSR2) ; } infolst = infolst->next ; } #endif // end of [_ATS_MULTITHREAD] the_freeitmlst_array_mark_unset () ; /* is this really needed? */ // [gc_mark_threadinfolst_one] is not called on [the_threadinfolst_self] // Therefore [the_freeitmlst_array_clear_all] must be called! the_freeitmlst_array_clear_all () ; /* clear the freeitmlst array */ gc_sweeplst_build_the_topsegtbl () ; // sweep chunks into [the_sweeplst_array] if (overflow > 0) { /* fprintf (stderr, "gc_collect: markstack overflow happend.\n") ; */ the_markstack_extend (MARKSTACK_EXTEND_INCREMENT) ; } /* fprintf( stderr , "GC ends: the_chunk_count = %i and the_chunk_count_limit = %i\n" , the_chunk_count , the_chunk_count_limit ) ; */ if (the_chunk_count_limit_max >= 0) { // [the_chunk_count_limit_max] is finite if (the_chunk_count_limit >= the_chunk_count_limit_max) { // fprintf(stderr, "GC: the_chunk_count_limit = %i\n", the_chunk_count_limit) ; // fprintf(stderr, "GC: the_chunk_count_limit_max = %i\n", the_chunk_count_limit_max) ; fprintf(stderr, "GC: Warning: the maximal chunk count limit is reached!\n") ; return ; } } /* end of [if] */ if (the_chunk_count >= the_chunk_count_limit * CHUNK_LIMIT_EXTEND_CUTOFF) the_chunk_count_limit *= 2 ; /* fprintf( stderr , "GC ends: update: the_chunk_count_limit = %i\n", the_chunk_count_limit ) ; */ return ; } /* end of [gc_collect] */ #line 395 "gcats1_collecting.dats" ats_ptr_type gc_chunk_threading (ats_ptr_type chks) { int i, j ; int itemwsz, itemtot ; freeitmlst data0, data, data_next ; int markcnt ; byte *markbits ; itemwsz = ((chunklst)chks)->itemwsz ; itemtot = ((chunklst)chks)->itemtot ; markcnt = ((chunklst)chks)->markcnt ; data0 = ((chunklst)chks)->data ; if (markcnt == 0) { // fast threading // threading all the freeitms in the created chunk data = data0 ; data_next = data0 ; for (i = 1; i < itemtot; i += 1) { data_next = (freeitmlst*)data_next + itemwsz ; *(freeitmlst*)data = data_next ; data = data_next ; } // end of [for] *(freeitmlst*)data = (freeitmlst)0 ; goto GC_CHUNK_THREADING_IS_DONE ; } // end of [if] markbits = ((chunklst)chks)-> markbits ; for (i = 0; i < itemtot; i += 1) { if (!MARK_GET (markbits, i)) break ; } if (i == itemtot) { data0 = (freeitmlst)0 ; goto GC_CHUNK_THREADING_IS_DONE ; } data0 = (freeitmlst*)data0 + i * itemwsz; data = data0 ; data_next = data0 ; for (j = i + 1; j < itemtot; j += 1) { data_next = (freeitmlst*)data_next + itemwsz ; if (!MARK_GET (markbits, j)) { *(freeitmlst*)data = data_next ; data = data_next ; } // end of [if] } // end of [for] *(freeitmlst*)data = (freeitmlst)0 ; /* if (itemtot - markcnt != freeitmlst_length (data0)) { fprintf (stderr, "GC: Fatal Error") ; fprintf (stderr, ": [gc_chunk_threading]: consistency check failed.\n") ; fprintf (stderr, "itemtot = %i\n", itemtot) ; fprintf (stderr, "markcnt = %i\n", markcnt) ; fprintf (stderr, "freeitmlst_length(data0) = %i\n", freeitmlst_length(data0)) ; exit (1) ; } */ GC_CHUNK_THREADING_IS_DONE: return data0 ; } /* end of [gc_chunk_threading] */ /* ****** ****** */ /* end of [gcats1_collecting_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_freeitmlst_dats.c0000664000175000017500000002644712655455557025242 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_tail_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_clear_one) (ats_int_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_markbits_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunklst_markcnt_dec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, gc_ptr_is_valid) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_int_type, MARK_GET) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, MARK_CLEAR) (ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_freeitmlst_loop_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_freeitmlst_loop_3 (ats_int_type arg0) ; static ats_void_type gcats1_freeitmlst_freeitmlst_mark_unset_4 (ats_ptr_type arg0) ; static ats_void_type gcats1_freeitmlst_loop_6 (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1707(line=52, offs=7) -- 1872(line=57, offs=8) */ ATSstaticdec() ats_int_type gcats1_freeitmlst_loop_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_freeitmlst_loop_1: #line 54 "gcats1_freeitmlst.dats" tmp2 = freeitmlst_is_nil (arg0) ; #line 54 "gcats1_freeitmlst.dats" if (tmp2) { #line 54 "gcats1_freeitmlst.dats" tmp1 = arg1 ; } else { #line 56 "gcats1_freeitmlst.dats" tmp3 = freeitmlst_tail_get (arg0) ; #line 56 "gcats1_freeitmlst.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 56 "gcats1_freeitmlst.dats" arg0 = tmp3 ; #line 56 "gcats1_freeitmlst.dats" arg1 = tmp4 ; #line 56 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_1 ; // tail call } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_freeitmlst_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1688(line=51, offs=29) -- 1896(line=60, offs=4) */ ATSglobaldec() ats_int_type freeitmlst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_freeitmlst_length: #line 59 "gcats1_freeitmlst.dats" tmp0 = gcats1_freeitmlst_loop_1 (arg0, 0) ; return (tmp0) ; } /* end of [freeitmlst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 2038(line=66, offs=7) -- 2171(line=69, offs=8) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_loop_3 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab_gcats1_freeitmlst_loop_3: #line 67 "gcats1_freeitmlst.dats" tmp8 = atspre_iadd (11, 1) ; #line 67 "gcats1_freeitmlst.dats" tmp7 = atspre_ilt (arg0, tmp8) ; #line 67 "gcats1_freeitmlst.dats" if (tmp7) { #line 68 "gcats1_freeitmlst.dats" /* tmp9 = */ the_freeitmlst_array_clear_one (arg0) ; #line 68 "gcats1_freeitmlst.dats" tmp10 = atspre_iadd (arg0, 1) ; #line 68 "gcats1_freeitmlst.dats" arg0 = tmp10 ; #line 68 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_freeitmlst_loop_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1990(line=64, offs=42) -- 2189(line=72, offs=4) */ ATSglobaldec() ats_void_type the_freeitmlst_array_clear_all () { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab_the_freeitmlst_array_clear_all: #line 71 "gcats1_freeitmlst.dats" /* tmp5 = */ gcats1_freeitmlst_loop_3 (0) ; return /* (tmp5) */ ; } /* end of [the_freeitmlst_array_clear_all] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 2259(line=76, offs=5) -- 3035(line=96, offs=4) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_freeitmlst_mark_unset_4 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4: #line 77 "gcats1_freeitmlst.dats" tmp12 = freeitmlst_is_cons (arg0) ; #line 77 "gcats1_freeitmlst.dats" if (tmp12) { #line 78 "gcats1_freeitmlst.dats" /* ats_int_type tmp13 ; */ #line 78 "gcats1_freeitmlst.dats" tmp13 = 0 ; #line 78 "gcats1_freeitmlst.dats" tmp14 = freeitmlst2ptr (arg0) ; #line 79 "gcats1_freeitmlst.dats" tmp15 = gc_ptr_is_valid (tmp14, (&tmp13)) ; #line 80 "gcats1_freeitmlst.dats" tmp17 = chunklst_is_cons (tmp15) ; #line 80 "gcats1_freeitmlst.dats" if (tmp17) { #line 80 "gcats1_freeitmlst.dats" tmp16 = tmp15 ; } else { #line 81 "gcats1_freeitmlst.dats" /* tmp18 = */ atspre_prerr_string (ATSstrcst("freeitmlst_mark_unset: illegal pointer: ptr = ")) ; #line 82 "gcats1_freeitmlst.dats" /* tmp19 = */ atspre_prerr_ptr (tmp14) ; #line 83 "gcats1_freeitmlst.dats" /* tmp20 = */ atspre_prerr_newline () ; #line 84 "gcats1_freeitmlst.dats" /* tmp16 = */ ats_exit (1) ; } /* end of [if] */ #line 87 "gcats1_freeitmlst.dats" tmp21 = chunklst_markbits_get (tmp16) ; #line 89 "gcats1_freeitmlst.dats" tmp24 = MARK_GET (tmp21, tmp13) ; #line 89 "gcats1_freeitmlst.dats" tmp23 = atspre_gt_int_int (tmp24, 0) ; #line 89 "gcats1_freeitmlst.dats" if (tmp23) { #line 91 "gcats1_freeitmlst.dats" /* tmp25 = */ MARK_CLEAR (tmp21, tmp13) ; #line 91 "gcats1_freeitmlst.dats" /* tmp22 = */ chunklst_markcnt_dec (tmp16) ; } else { /* empty */ } /* end of [if] */ #line 94 "gcats1_freeitmlst.dats" tmp26 = freeitmlst_tail_get (arg0) ; #line 94 "gcats1_freeitmlst.dats" arg0 = tmp26 ; #line 94 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp11) */ ; } /* end of [gcats1_freeitmlst_freeitmlst_mark_unset_4] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 3165(line=102, offs=7) -- 3314(line=105, offs=8) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_loop_6 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; __ats_lab_gcats1_freeitmlst_loop_6: #line 103 "gcats1_freeitmlst.dats" tmp30 = atspre_iadd (11, 1) ; #line 103 "gcats1_freeitmlst.dats" tmp29 = atspre_ilt (arg0, tmp30) ; #line 103 "gcats1_freeitmlst.dats" if (tmp29) { #line 104 "gcats1_freeitmlst.dats" tmp32 = the_freeitmlst_array_get (arg0) ; #line 104 "gcats1_freeitmlst.dats" /* tmp31 = */ gcats1_freeitmlst_freeitmlst_mark_unset_4 (tmp32) ; #line 104 "gcats1_freeitmlst.dats" tmp33 = atspre_iadd (arg0, 1) ; #line 104 "gcats1_freeitmlst.dats" arg0 = tmp33 ; #line 104 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_6 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp28) */ ; } /* end of [gcats1_freeitmlst_loop_6] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 3117(line=100, offs=43) -- 3347(line=108, offs=4) */ ATSglobaldec() ats_void_type the_freeitmlst_array_mark_unset () { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab_the_freeitmlst_array_mark_unset: #line 107 "gcats1_freeitmlst.dats" /* tmp27 = */ gcats1_freeitmlst_loop_6 (0) ; return /* (tmp27) */ ; } /* end of [the_freeitmlst_array_mark_unset] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_freeitmlst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_misc_dats.c0000664000175000017500000001156112655455557024006 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ #line 51 "gcats1_misc.dats" static int the_stack_direction = 0 ; // // dir=1/-1 : upward/downward // static int gc_stack_dir_get_inner (int *some_ptr) { int some_int ; if (&some_int > some_ptr) return 1 ; else return -1 ; return 0 ; /* deadcode */ } static int gc_stack_dir_get_outer () { // static volatile void* get_inner = &gc_stack_dir_get_inner ; // int some_int ; if (!the_stack_direction) the_stack_direction = ((int(*)(int*))get_inner)(&some_int) ; /* fprintf (stderr, "the_stack_direction = %i\n", the_stack_direction) ; */ return the_stack_direction ; } ats_int_type gc_stack_dir_get () { return gc_stack_dir_get_outer () ; } /* ****** ****** */ #ifdef _ATS_MULTITHREAD static __thread ats_ptr_type the_stack_beg = (ats_ptr_type)0 ; #else /* single thread */ static ats_ptr_type the_stack_beg = (ats_ptr_type)0 ; #endif ats_void_type gc_stack_beg_set (ats_int_type dir) { long int pagesize, pagemask ; uintptr_t beg ; if (the_stack_beg) return ; // already set // pagesize must be a power of 2 pagesize = sysconf(_SC_PAGESIZE) ; // system configuration /* fprintf(stderr, "gc_stack_beg_set: dir = %i\n", dir) ; fprintf(stderr, "gc_stack_beg_set: pagesize = %li\n", pagesize) ; fprintf(stderr, "gc_stack_beg_set: &pagesize = %p\n", &pagesize) ; */ pagemask = ~(pagesize - 1) ; // 1...10...0 if (dir > 0) { beg = (uintptr_t)(&pagesize) ; beg &= pagemask ; } else { beg = (uintptr_t)(&pagesize) + pagesize ; beg &= pagemask ; beg -= sizeof(freeitmlst) ; } the_stack_beg = (ats_ptr_type)beg ; return ; } ats_ptr_type gc_stack_beg_get ( // there is no argument for this function ) { if (!the_stack_beg) { fprintf (stderr, "GC Fatal Error: [gc_stack_beg_get]") ; fprintf (stderr, ": [the_stack_beg] is not yet set.\n") ; exit (1) ; } return the_stack_beg ; } // end of [gc_stack_beg_get] /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_misc_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/.keeper0000664000175000017500000000000012655455557021670 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_globalentry_dats.c0000664000175000017500000003027212655455557025375 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } gcats1_globalentry_anairiats_sum_0 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_isub) (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_void_type, globalentry_insert) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, globalentrylst_insert) (ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert) (ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, entrypage_alloc) () ; ATSextern_fun(ats_void_type, gc_mark_entrypage) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_mark_globalentrylst) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats____leak_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 2733(line=83, offs=33) -- 3549(line=106, offs=4) */ ATSglobaldec() ats_void_type globalentrylst_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab_globalentrylst_insert: #line 86 "gcats1_globalentry.dats" do { /* branch: __ats_lab_0 */ #line 87 "gcats1_globalentry.dats" __ats_lab_0_0: #line 87 "gcats1_globalentry.dats" __ats_lab_0_1: #line 87 "gcats1_globalentry.dats" tmp1 = atspre_igt (arg2, 0) ; #line 87 "gcats1_globalentry.dats" if (!tmp1) { goto __ats_lab_3_1 ; } #line 87 "gcats1_globalentry.dats" do { /* branch: __ats_lab_1 */ #line 88 "gcats1_globalentry.dats" __ats_lab_1_0: #line 88 "gcats1_globalentry.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } #line 88 "gcats1_globalentry.dats" __ats_lab_1_1: #line 88 "gcats1_globalentry.dats" tmp2 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 88 "gcats1_globalentry.dats" tmp3 = &ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 89 "gcats1_globalentry.dats" tmp4 = ats_ptrget_mac(ats_int_type, tmp3) ; #line 91 "gcats1_globalentry.dats" tmp5 = atspre_igte (tmp4, 0) ; #line 91 "gcats1_globalentry.dats" if (tmp5) { #line 92 "gcats1_globalentry.dats" /* tmp6 = */ globalentry_insert (tmp2, tmp4, arg1, arg2) ; #line 94 "gcats1_globalentry.dats" tmp7 = atspre_isub (tmp4, 1) ; #line 94 "gcats1_globalentry.dats" ats_ptrget_mac(ats_int_type, tmp3) = tmp7 ; } else { #line 96 "gcats1_globalentry.dats" /* tmp0 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (arg0, arg1, arg2) ; } /* end of [if] */ break ; /* branch: __ats_lab_2 */ #line 99 "gcats1_globalentry.dats" __ats_lab_2_0: #line 99 "gcats1_globalentry.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 99 "gcats1_globalentry.dats" __ats_lab_2_1: #line 100 "gcats1_globalentry.dats" /* tmp0 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (arg0, arg1, arg2) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ #line 103 "gcats1_globalentry.dats" __ats_lab_3_0: #line 103 "gcats1_globalentry.dats" __ats_lab_3_1: break ; } while (0) ; return /* (tmp0) */ ; } /* end of [globalentrylst_insert] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 3624(line=108, offs=40) -- 4159(line=123, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert: #line 115 "gcats1_globalentry.dats" tmp9 = entrypage_alloc () ; #line 115 "gcats1_globalentry.dats" tmp10 = ats_selsin_mac(tmp9, atslab_1) ; #line 119 "gcats1_globalentry.dats" tmp11 = atspre_isub (64, 1) ; #line 120 "gcats1_globalentry.dats" /* tmp12 = */ globalentry_insert (tmp10, tmp11, arg1, arg2) ; #line 122 "gcats1_globalentry.dats" tmp14 = atspre_isub (tmp11, 1) ; #line 122 "gcats1_globalentry.dats" tmp13 = ATS_MALLOC(sizeof(gcats1_globalentry_anairiats_sum_0)) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_0, tmp10) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_1, tmp14) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 122 "gcats1_globalentry.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp13 ; return /* (tmp8) */ ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 4527(line=135, offs=34) -- 4863(line=146, offs=4) */ ATSglobaldec() ats_void_type gc_mark_globalentrylst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab_gc_mark_globalentrylst: #line 136 "gcats1_globalentry.dats" do { /* branch: __ats_lab_4 */ #line 137 "gcats1_globalentry.dats" __ats_lab_4_0: #line 137 "gcats1_globalentry.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } #line 137 "gcats1_globalentry.dats" __ats_lab_4_1: #line 137 "gcats1_globalentry.dats" tmp16 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_0) ; #line 137 "gcats1_globalentry.dats" tmp17 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_1) ; #line 137 "gcats1_globalentry.dats" tmp18 = &ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_2) ; #line 138 "gcats1_globalentry.dats" /* tmp19 = */ gc_mark_entrypage (tmp16, tmp17) ; #line 139 "gcats1_globalentry.dats" tmp20 = ats_ptrget_mac(ats_ptr_type, tmp18) ; #line 139 "gcats1_globalentry.dats" arg0 = tmp20 ; #line 139 "gcats1_globalentry.dats" goto __ats_lab_gc_mark_globalentrylst ; // tail call break ; /* branch: __ats_lab_5 */ #line 143 "gcats1_globalentry.dats" __ats_lab_5_0: #line 143 "gcats1_globalentry.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 143 "gcats1_globalentry.dats" __ats_lab_5_1: break ; } while (0) ; return /* (tmp15) */ ; } /* end of [gc_mark_globalentrylst] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; // ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0.tag = 0 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats____leak_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 */ #line 150 "gcats1_globalentry.dats" ats_ptr_type entrypage_alloc () { void* p ; p = malloc (GLOBALENTRYPAGESIZE * sizeof(freeitmptrsz_t)) ; /* fprintf (stderr, "entrypage_alloc: p = %p\n", p) ; */ if (!p) { fprintf (stderr, "GC Fatal Error: [gc_globalentry.dats]") ; fprintf (stderr, ": [entrypage_alloc]: [malloc] failed.\n") ; exit (1) ; } // end of [if] return p ; } /* end of [entrypage_alloc] */ /* ****** ****** */ ats_void_type globalentry_insert (ats_ptr_type p0, ats_int_type u, ats_ptr_type p, ats_int_type wsz) { freeitmptrsz_t *p0_u ; p0_u = (freeitmptrsz_t*)p0 + u ; p0_u->atslab_ptr = p ; p0_u->atslab_size = wsz ; return ; } /* globalentry_insert */ /* ****** ****** */ extern ats_void_type gc_mark_ptr (ats_ptr_type) ; ats_void_type gc_mark_entrypage (ats_ptr_type p0, ats_int_type u/*used if higher*/) { int i, j ; freeitmptrsz_t *p0_i ; freeitmlst *p_j ; int wsz ; i = u + 1 ; p0_i = (freeitmptrsz_t*)p0 + i ; /* fprintf (stderr, "gc_mark_entrypage: enter\n") ; */ while (i < GLOBALENTRYPAGESIZE) { // termination: obvious p_j = (freeitmlst*)(p0_i->atslab_ptr) ; wsz = p0_i->atslab_size ; /* fprintf (stderr, "gc_mark_entrypage: p_j = %p(%i)\n", p_j, p_j) ; */ for (j = 0; j < wsz; j += 1, p_j += 1) { gc_mark_ptr (*p_j) ; } i += 1 ; p0_i += 1 ; } // end of [while] /* fprintf (stderr, "gc_mark_entrypage: leave\n") ; */ return ; } /* end of [gc_mark_entrypage] */ /* ****** ****** */ /* end of [gcats1_globalentry_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m64/gcats1_manops_dats.c0000664000175000017500000002265612655455557024357 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-8-30: 14h:38m ** */ /* 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 */ /* external codes at top */ #line 39 "gcats1_manops.dats" #include // for [offsetof] extern void *malloc (size_t bsz) ; // see [stdlib.h] extern void *calloc (size_t n, size_t tsz) ; // see [stdlib.h] extern void free (void*) ; // see [stdlib.h] extern void *realloc (void *ptr, size_t bsz) ; // see [stdlib.h] #line 71 "gcats1_manops.dats" static inline ats_void_type gc_mark_the_manmemlst_aux (ats_ptr_type p0, ats_int_type sz) { int i ; freeitmlst *p_i ; p_i = (freeitmlst*)p0 ; for (i = 0; i < sz; i += 1, p_i += 1) gc_mark_ptr (*p_i) ; return ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, the_manmemlst_get) () ; ATSextern_fun(ats_bool_type, manmemlst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, manmemlst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, manmemlst_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, manmemlst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_mark_the_manmemlst_aux) (ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_manops_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_manops_auxlst_3 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 1994(line=62, offs=7) -- 2124(line=63, offs=75) */ ATSstaticdec() ats_int_type gcats1_manops_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_manops_aux_1: #line 63 "gcats1_manops.dats" tmp2 = manmemlst_is_cons (arg0) ; #line 63 "gcats1_manops.dats" if (tmp2) { #line 63 "gcats1_manops.dats" tmp3 = manmemlst_next_get (arg0) ; #line 63 "gcats1_manops.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 63 "gcats1_manops.dats" arg0 = tmp3 ; #line 63 "gcats1_manops.dats" arg1 = tmp4 ; #line 63 "gcats1_manops.dats" goto __ats_lab_gcats1_manops_aux_1 ; // tail call } else { #line 63 "gcats1_manops.dats" tmp1 = arg1 ; } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_manops_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 1976(line=61, offs=28) -- 2164(line=67, offs=4) */ ATSglobaldec() ats_int_type manmemlst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_manmemlst_length: #line 66 "gcats1_manops.dats" tmp0 = gcats1_manops_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [manmemlst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 2496(line=87, offs=7) -- 2838(line=97, offs=8) */ ATSstaticdec() ats_void_type gcats1_manops_auxlst_3 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_gcats1_manops_auxlst_3: #line 88 "gcats1_manops.dats" tmp7 = manmemlst_is_cons (arg0) ; #line 88 "gcats1_manops.dats" if (tmp7) { #line 90 "gcats1_manops.dats" tmp9 = manmemlst_data_get (arg0) ; #line 90 "gcats1_manops.dats" tmp10 = manmemlst_itemwsz_get (arg0) ; #line 89 "gcats1_manops.dats" /* tmp8 = */ gc_mark_the_manmemlst_aux (tmp9, tmp10) ; #line 96 "gcats1_manops.dats" tmp11 = manmemlst_next_get (arg0) ; #line 96 "gcats1_manops.dats" arg0 = tmp11 ; #line 96 "gcats1_manops.dats" goto __ats_lab_gcats1_manops_auxlst_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_manops_auxlst_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 2481(line=86, offs=33) -- 2896(line=100, offs=4) */ ATSglobaldec() ats_void_type gc_mark_the_manmemlst () { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_gc_mark_the_manmemlst: #line 99 "gcats1_manops.dats" tmp12 = the_manmemlst_get () ; #line 99 "gcats1_manops.dats" /* tmp5 = */ gcats1_manops_auxlst_3 (tmp12) ; return /* (tmp5) */ ; } /* end of [gc_mark_the_manmemlst] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ #line 104 "gcats1_manops.dats" extern manmemlst the_manmemlst ; #ifdef _ATS_MULTITHREAD extern pthread_mutex_t the_manmemlst_lock ; #endif ats_ptr_type gc_man_malloc_bsz (ats_int_type bsz) { manmemlst mms ; mms = (manmemlst)malloc(sizeof(manmem) + bsz) ; if (!mms) { fprintf (stderr, "[gc_man_malloc_bsz]: [malloc] failed.\n") ; exit (1) ; } // end of [if] mms->itemwsz = bsz >> NBYTE_PER_WORD_LOG ; mms->prev = (manmemlst)0 ; #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif if (the_manmemlst) { the_manmemlst->prev = mms ; } mms->next = the_manmemlst ; the_manmemlst = mms ; #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif return (mms->data) ; } /* end of [gc_man_malloc_bsz] */ // ats_ptr_type gc_man_calloc_bsz (ats_int_type n, ats_int_type bsz) { int nbsz = n * bsz ; ats_ptr_type _data = gc_man_malloc_bsz (nbsz) ; memset (_data, 0, nbsz) ; return (_data) ; } /* end of [gc_man_calloc_bsz] */ // ats_void_type gc_man_free (ats_ptr_type ptr) { manmemlst mms, mms_prev, mms_next ; mms = (manmemlst)((byte*)ptr - offsetof(manmem, data)) ; mms_prev = mms->prev ; mms_next = mms->next ; #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif if (mms_next) { mms_next->prev = mms_prev ; } /* end of [if] */ if (mms_prev) { mms_prev->next = mms_next ; } else { the_manmemlst = mms_next ; } /* end of [if] */ #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif free (mms) ; return ; } /* end of [gc_man_free] */ // ats_ptr_type gc_man_realloc_bsz (ats_ptr_type ptr, ats_int_type bsz) { // manmemlst mms, mms_prev, mms_next ; // if (!ptr) return gc_man_malloc_bsz (bsz) ; // mms = (manmemlst)((byte*)ptr - offsetof(manmem, data)) ; mms_prev = mms->prev ; mms_next = mms->next ; mms = (manmemlst)realloc(mms, sizeof(manmem) + bsz) ; // if (!mms) { fprintf (stderr, "[gc_man_realloc_bsz]: [realloc] failed.\n") ; exit (1) ; } // end of [if] // mms->itemwsz = bsz >> NBYTE_PER_WORD_LOG ; // #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif // if (mms_next) { mms_next->prev = mms ; } /* end of [if] */ // if (mms_prev) { mms_prev->next = mms ; } else { the_manmemlst = mms ; } /* end of [if] */ // #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif // return (mms->data) ; // } /* end of [gc_man_realloc_bsz] */ /* ****** ****** */ /* end of [gcats1_manops_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/0000775000175000017500000000000012655455557020421 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_marking_dats.c0000664000175000017500000005165612655455557024507 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, 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_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_nil) () ; ATSextern_fun(ats_bool_type, markstackpagelst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, markstackpagelst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, markstackpagelst_prev_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, markstackpagelst_entry_get) (ats_ptr_type, ats_int_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, markstackpagelst_entry_set) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_overflow_mark_the_topsegtbl) () ; ATSextern_fun(ats_void_type, gc_mark_the_stack) () ; ATSextern_fun(ats_void_type, gc_mark_the_globalentrylst) () ; ATSextern_fun(ats_void_type, gc_mark_the_manmemlst) () ; ATSextern_fun(ats_void_type, gc_overflow_mark_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_overflow_mark_botsegtbl) (ats_ptr_type) ; ATSextern_fun(ats_int_type, the_markstack_overflow_get) () ; ATSextern_fun(ats_void_type, the_markstack_overflow_set) () ; ATSextern_fun(ats_void_type, the_markstack_overflow_clear) () ; ATSextern_val(ats_int_type, the_markstackpagecnt) ; ATSextern_val(ats_ptr_type, the_markstackpagelst_fst) ; ATSextern_val(ats_ptr_type, the_markstackpagelst_cur) ; ATSextern_val(ats_int_type, the_markstackposition) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_int_type, the_markstackpagecnt) ; ATSglobal(ats_ptr_type, the_markstackpagelst_fst) ; ATSglobal(ats_ptr_type, the_markstackpagelst_cur) ; ATSglobal(ats_int_type, the_markstackposition) ; /* internal function declarations */ static ats_int_type gcats1_marking_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_marking_loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_marking_loop_7 (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, gcats1_marking_statmp43) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 1781(line=56, offs=7) -- 1958(line=60, offs=8) */ ATSstaticdec() ats_int_type gcats1_marking_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_marking_aux_1: #line 58 "gcats1_marking.dats" tmp2 = markstackpagelst_is_nil (arg0) ; #line 58 "gcats1_marking.dats" if (tmp2) { #line 58 "gcats1_marking.dats" tmp1 = arg1 ; } else { #line 59 "gcats1_marking.dats" tmp3 = markstackpagelst_next_get (arg0) ; #line 59 "gcats1_marking.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 59 "gcats1_marking.dats" arg0 = tmp3 ; #line 59 "gcats1_marking.dats" arg1 = tmp4 ; #line 59 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_aux_1 ; // tail call } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_marking_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 1762(line=55, offs=35) -- 1996(line=63, offs=4) */ ATSglobaldec() ats_int_type markstackpagelst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_markstackpagelst_length: #line 62 "gcats1_marking.dats" tmp0 = gcats1_marking_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [markstackpagelst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 2079(line=67, offs=25) -- 2677(line=87, offs=4) */ ATSglobaldec() ats_int_type markstack_pop (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab_markstack_pop: #line 68 "gcats1_marking.dats" tmp6 = atspre_isub (ats_ptrget_mac(ats_int_type, arg1), 1) ; #line 70 "gcats1_marking.dats" tmp7 = atspre_igte (tmp6, 0) ; #line 70 "gcats1_marking.dats" if (tmp7) { #line 71 "gcats1_marking.dats" /* tmp8 = */ markstackpagelst_entry_get (ats_ptrget_mac(ats_ptr_type, arg0), tmp6, arg2, arg3) ; #line 73 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp6 ; #line 73 "gcats1_marking.dats" tmp5 = 0 ; } else { #line 75 "gcats1_marking.dats" tmp9 = markstackpagelst_prev_get (ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 77 "gcats1_marking.dats" tmp10 = markstackpagelst_is_cons (tmp9) ; #line 77 "gcats1_marking.dats" if (tmp10) { #line 78 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp9 ; #line 79 "gcats1_marking.dats" tmp11 = atspre_isub (4000, 1) ; #line 80 "gcats1_marking.dats" /* tmp12 = */ markstackpagelst_entry_get (ats_ptrget_mac(ats_ptr_type, arg0), tmp11, arg2, arg3) ; #line 82 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp11 ; #line 82 "gcats1_marking.dats" tmp5 = 0 ; } else { #line 84 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg2) = atspre_null_ptr ; #line 84 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg3) = 0 ; #line 84 "gcats1_marking.dats" tmp5 = 1 ; } /* end of [if] */ } /* end of [if] */ return (tmp5) ; } /* end of [markstack_pop] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 2751(line=91, offs=26) -- 3336(line=112, offs=4) */ ATSglobaldec() ats_int_type markstack_push (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; __ats_lab_markstack_push: #line 92 "gcats1_marking.dats" tmp14 = ats_ptrget_mac(ats_int_type, arg1) ; #line 94 "gcats1_marking.dats" tmp15 = atspre_ilt (tmp14, 4000) ; #line 94 "gcats1_marking.dats" if (tmp15) { #line 95 "gcats1_marking.dats" /* tmp16 = */ markstackpagelst_entry_set (ats_ptrget_mac(ats_ptr_type, arg0), tmp14, arg2, arg3) ; #line 96 "gcats1_marking.dats" tmp17 = atspre_iadd (tmp14, 1) ; #line 97 "gcats1_marking.dats" tmp19 = atspre_ilt (tmp17, 4000) ; #line 97 "gcats1_marking.dats" if (tmp19) { #line 97 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = tmp17 ; } else { #line 99 "gcats1_marking.dats" tmp20 = markstackpagelst_next_get (ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 101 "gcats1_marking.dats" tmp21 = markstackpagelst_is_cons (tmp20) ; #line 101 "gcats1_marking.dats" if (tmp21) { #line 102 "gcats1_marking.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp20 ; #line 102 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = 0 ; } else { #line 104 "gcats1_marking.dats" ats_ptrget_mac(ats_int_type, arg1) = 4000 ; } /* end of [if] */ } /* end of [if] */ #line 108 "gcats1_marking.dats" tmp13 = 0 ; } else { #line 110 "gcats1_marking.dats" tmp13 = 1 ; } /* end of [if] */ return (tmp13) ; } /* end of [markstack_push] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 3678(line=124, offs=7) -- 3982(line=132, offs=8) */ ATSstaticdec() ats_void_type gcats1_marking_loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; __ats_lab_gcats1_marking_loop_5: #line 126 "gcats1_marking.dats" tmp24 = atspre_ilt (arg1, 1024) ; #line 126 "gcats1_marking.dats" if (tmp24) { #line 127 "gcats1_marking.dats" tmp25 = botsegtbllst_get (arg0, arg1) ; #line 128 "gcats1_marking.dats" tmp27 = chunklst_is_cons (tmp25) ; #line 128 "gcats1_marking.dats" if (tmp27) { #line 128 "gcats1_marking.dats" /* tmp26 = */ gc_overflow_mark_chunk (tmp25) ; } else { /* empty */ } /* end of [if] */ #line 131 "gcats1_marking.dats" tmp28 = atspre_iadd (arg1, 1) ; #line 131 "gcats1_marking.dats" arg0 = arg0 ; #line 131 "gcats1_marking.dats" arg1 = tmp28 ; #line 131 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_loop_5 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp23) */ ; } /* end of [gcats1_marking_loop_5] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 3611(line=122, offs=38) -- 3999(line=133, offs=2) */ ATSglobaldec() ats_void_type gc_overflow_mark_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab_gc_overflow_mark_botsegtbl: #line 122 "gcats1_marking.dats" /* tmp22 = */ gcats1_marking_loop_5 (arg0, 0) ; return /* (tmp22) */ ; } /* end of [gc_overflow_mark_botsegtbl] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 4796(line=162, offs=9) -- 5062(line=169, offs=10) */ ATSstaticdec() ats_void_type gcats1_marking_loop_7 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_bool_type, tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_int_type, tmp41) ; __ats_lab_gcats1_marking_loop_7: #line 163 "gcats1_marking.dats" tmp38 = atspre_gt_int_int (arg0, 0) ; #line 163 "gcats1_marking.dats" if (tmp38) { #line 164 "gcats1_marking.dats" /* tmp39 = */ the_markstack_overflow_clear () ; #line 165 "gcats1_marking.dats" /* tmp40 = */ gc_overflow_mark_the_topsegtbl () ; #line 166 "gcats1_marking.dats" tmp41 = the_markstack_overflow_get () ; #line 168 "gcats1_marking.dats" arg0 = tmp41 ; #line 168 "gcats1_marking.dats" goto __ats_lab_gcats1_marking_loop_7 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp37) */ ; } /* end of [gcats1_marking_loop_7] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_marking.dats: 4329(line=146, offs=23) -- 5118(line=173, offs=4) */ ATSglobaldec() ats_int_type gc_mark_all () { /* local vardec */ ATSlocal (ats_int_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_bool_type, tmp36) ; // ATSlocal_void (tmp42) ; __ats_lab_gc_mark_all: #line 147 "gcats1_marking.dats" /* tmp30 = */ gc_mark_the_globalentrylst () ; #line 148 "gcats1_marking.dats" /* tmp31 = */ gc_mark_the_manmemlst () ; #line 152 "gcats1_marking.dats" /* tmp32 = */ the_markstack_overflow_clear () ; #line 153 "gcats1_marking.dats" /* tmp33 = */ gc_mark_the_stack () ; #line 154 "gcats1_marking.dats" tmp34 = the_markstack_overflow_get () ; #line 157 "gcats1_marking.dats" tmp36 = atspre_gt_int_int (tmp34, 0) ; #line 157 "gcats1_marking.dats" if (tmp36) { #line 158 "gcats1_marking.dats" /* tmp35 = */ atspre_prerr_string (ATSstrcst("GC: [gc_mark_all]: mark stack overflow happened!\n")) ; } else { /* empty */ } /* end of [if] */ #line 161 "gcats1_marking.dats" /* tmp42 = */ gcats1_marking_loop_7 (tmp34) ; #line 172 "gcats1_marking.dats" tmp29 = tmp34 ; return (tmp29) ; } /* end of [gc_mark_all] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&gcats1_marking_statmp43, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 195 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagecnt, sizeof(ats_int_type)) ; the_markstackpagecnt = 0 ; #line 196 "gcats1_marking.dats" gcats1_marking_statmp43 = markstackpagelst_nil () ; #line 196 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagelst_fst, sizeof(ats_ptr_type)) ; the_markstackpagelst_fst = gcats1_marking_statmp43 ; #line 197 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackpagelst_cur, sizeof(ats_ptr_type)) ; the_markstackpagelst_cur = the_markstackpagelst_fst ; #line 198 "gcats1_marking.dats" ATS_GC_MARKROOT(&the_markstackposition, sizeof(ats_int_type)) ; the_markstackposition = 0 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ #line 204 "gcats1_marking.dats" extern ats_ptr_type the_markstackpagelst_fst ; ats_void_type the_markstack_extend (ats_int_type n) { int i ; markstackpagelst p0, p ; p0 = the_markstackpagelst_fst ; if (the_markstackposition != 0) { fprintf ( stderr , "GC: Fatal Error: the_markstack_extend: the_markstackposition = %i.\n" , the_markstackposition ) ; exit (1) ; } // end of [if] for (i = 0; i < n; i += 1) { /* fprintf (stderr, "the_markstack_extend: i = %i\n", i) ; */ p = (markstackpagelst)malloc (sizeof(markstackpage)) ; if (!p) { fprintf ( stderr, "GC Fatal Error: [the_markstack_extend]: malloc failed!\n" ) ; exit (1) ; } // end of [if] if (p0 != NULL) p0->prev = p ; p->next = p0 ; p->prev = NULL ; p0 = p ; } // end of [while] if (n > 0) the_markstackpagecnt += n ; the_markstackpagelst_fst = the_markstackpagelst_cur = p0 ; /* if (the_markstackpagecnt != markstackpagelst_length (p0)) { fprintf ( stderr , "GC: Fatal Error: the_markstack_extend: the_markstackpagecnt = %i.\n" , the_markstackpagecnt ) ; exit (1) ; } // end of [if] */ return ; } /* end of [the_markstack_extend] */ /* ****** ****** */ extern ats_ptr_type gc_ptr_is_valid (ats_ptr_type, ats_ref_type) ; ats_void_type gc_mark_ptr (ats_ptr_type ptr) { chunklst chks ; int ofs ; int itemwsz ; byte *markbits ; int i ; freeitmlst *ptr_i ; freeitmlst ptr_cand ; int overflow ; /* fprintf (stderr, "gc_mark_ptr: first: ptr = %p(%i)\n", ptr, ptr) ; */ chks = (chunklst)gc_ptr_is_valid (ptr, &ofs) ; /* fprintf (stderr, "gc_mark_ptr: chks = %p\n", chks) ; */ if (!chks) return ; // [ptr] is invalid markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) return ; // already marked MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; itemwsz = chks->itemwsz ; while (ptr) { // ptr != NULL /* fprintf (stderr, "gc_mark_ptr: ptr = %p(%i)\n", ptr, ptr) ; fprintf (stderr, "gc_mark_ptr: itemwsz = %i\n", itemwsz); */ if (itemwsz > MARKSTACK_CUTOFF) { overflow = the_markstack_push ( (freeitmlst*)ptr + MARKSTACK_CUTOFF, itemwsz - MARKSTACK_CUTOFF ) ; if (overflow) the_markstack_overflow_set () ; itemwsz = MARKSTACK_CUTOFF ; } // end of [if] // push all the valid pointers onto the markstack except the last one ptr_i = (freeitmlst*)ptr ; for (i = 0; i < itemwsz - 1; i += 1, ptr_i += 1) { ptr_cand = *ptr_i ; /* fprintf (stderr, "gc_mark_ptr: ptr_i = %p(%i)\n", ptr_i, ptr_i) ; fprintf (stderr, "gc_mark_ptr: ptr_cand = %p(%i)\n", ptr_cand, ptr_cand) ; */ chks = (chunklst)gc_ptr_is_valid (ptr_cand, &ofs) ; if (!chks) continue ; // [ptr_cand] is invalid markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) continue ; // already marked MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; overflow = the_markstack_push (ptr_cand, chks->itemwsz) ; if (overflow) the_markstack_overflow_set () ; } // end of [for] ptr_cand = *ptr_i ; /* fprintf (stderr, "gc_mark_ptr: ptr_i = %p(%i)\n", ptr_i, ptr_i) ; fprintf (stderr, "gc_mark_ptr: ptr_cand = %p(%i)\n", ptr_cand, ptr_cand) ; */ chks = (chunklst)gc_ptr_is_valid (ptr_cand, &ofs) ; if (!chks) { // [ptr_cand] is invalid the_markstack_pop (&ptr, &itemwsz) ; continue ; } // end of [if] markbits = chks->markbits ; if (MARK_GET(markbits, ofs)) { // [ptr_cand] is marked the_markstack_pop (&ptr, &itemwsz) ; continue ; } MARK_SET(markbits, ofs) ; chks->markcnt += 1 ; ptr = ptr_cand ; itemwsz = chks->itemwsz ; } // end of [while] } /* end of [gc_mark_ptr] */ #line 331 "gcats1_marking.dats" // [chks] must not be NULL! ats_void_type gc_overflow_mark_chunk (ats_ptr_type chks) { int i, j ; freeitmlst *pi, *pij ; int itemwsz, itemtot ; byte *markbits ; itemwsz = chunklst_itemwsz_get (chks) ; itemtot = chunklst_itemtot_get (chks) ; markbits = chunklst_markbits_get (chks) ; pi = (freeitmlst*)chunklst_data_get (chks) ; for (i = 0; i < itemtot; i += 1, pi += itemwsz) { if (MARK_GET(markbits, i)) { for (j = 0, pij = pi; j < itemwsz; j += 1, pij += 1) { gc_mark_ptr (pij) ; } // end of [for] } // end of [if] } // end of [for] } /* end of [gc_overflow_mark_chunk] */ /* ****** ****** */ #if (__WORDSIZE == 32) ats_void_type gc_overflow_mark_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_overflow_mark_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_overflow_mark_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_overflow_mark_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // terminating: obvious gc_overflow_mark_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_overflow_mark_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] #line 386 "gcats1_marking.dats" extern ats_ptr_type the_globalentrylst ; extern ats_void_type gc_mark_globalentrylst (ats_ptr_type ents) ; ats_void_type gc_mark_the_globalentrylst () { gc_mark_globalentrylst (the_globalentrylst) ; return ; } extern ats_ptr_type gc_stack_beg_get () ; ats_void_type gc_mark_the_stack () { intptr_t dir ; // make sure that [dir] is word-aligned! freeitmlst *_fr, *_to ; dir = gc_stack_dir_get () ; if (dir > 0) { _fr = gc_stack_beg_get () ; _to = (freeitmlst*)(&dir) - 1 ; } else { _to = gc_stack_beg_get () ; _fr = (freeitmlst*)(&dir) + 1 ; } // end of [if] /* fprintf (stderr, "gc_mark_the_stack: _fr = %p(%u)\n", _fr, _fr) ; fprintf (stderr, "gc_mark_the_stack: _to = %p(%u)\n", _to, _to) ; fprintf (stderr, "gc_mark_the_stack: _to - _fr = %i\n", _to - _fr) ; */ while (_fr <= _to) { gc_mark_ptr (*_fr) ; _fr += 1 ; // termination: obvious } // end of [while] return ; } /* end of [gc_mark_the_stack] */ /* ****** ****** */ /* end of [gcats1_marking_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_chunk_dats.c0000664000175000017500000005570312655455557024164 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ #line 39 "gcats1_chunk.dats" #include "config.h" // automatically generated by [configure] // [posix_memalign] is in [stdlib.h] extern int posix_memalign(void **memptr, size_t alignment, size_t size); // [memalign] is in [stdlib.h] or [malloc.h] extern void *memalign(size_t boundary, size_t size); static inline int gcats_memalign ( void **memptr , size_t alignment , size_t size ) { int err ; #if HAVE_POSIX_MEMALIGN // for [posix_memalign] // fprintf (stderr, "posix_memalign: bef\n") ; err = posix_memalign (memptr, alignment, size) ; // fprintf (stderr, "posix_memalign: aft\n") ; #elif HAVE_MEMALIGN // if [memalign] is avaiable void *ptr ; ptr = memalign(alignment, size) ; *memptr = ptr ; err = (ptr ? 0 : -1) ; #else // neither [posix_memalign] nor [memalign] is available void *ptr ; ptr = malloc (size + alignment - 1) ; *memptr = ptr ; err = (ptr ? 0 : -1) ; #endif /* fprintf (stderr, "gcats_memalign: size = %i\n", size); fprintf (stderr, "gcats_memalign: *memptr = %p(%i)\n", *memptr, *memptr); */ return err ; } /* end of [gcats_memalign] */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asr_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_nonalign_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_sweep_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, the_chunk_count_dec_by) (ats_int_type) ; ATSextern_fun(ats_uintptr1_type, PTR_TOPSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_int_type, PTR_BOTSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbl_make_32) () ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, botsegtbllst_set) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, botsegtbllst_clear) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get) (ats_uintptr1_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some) (ats_uintptr1_type) ; ATSextern_fun(ats_ptr_type, the_topsegtbl_get_32) (ats_uintptr1_type) ; ATSextern_fun(ats_void_type, the_topsegtbl_set_32) (ats_uintptr1_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, chunklst_insert_into_table) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunklst_remove_from_table) (ats_ptr_type) ; ATSextern_fun(ats_void_type, freeitmlst_chunk_data_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, freeitmlst_chunk_data_recycle) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunk_header_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_markbits_clear_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_markbits_clear_botsegtbl) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_chunk_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_chunk_loop_9 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 2777(line=93, offs=5) -- 2974(line=102, offs=4) */ ATSstaticdec() ats_int_type gcats1_chunk_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_chunk_aux_1: #line 97 "gcats1_chunk.dats" tmp2 = chunklst_is_cons (arg0) ; #line 99 "gcats1_chunk.dats" if (tmp2) { #line 100 "gcats1_chunk.dats" tmp3 = chunklst_sweep_next_get (arg0) ; #line 100 "gcats1_chunk.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 100 "gcats1_chunk.dats" arg0 = tmp3 ; #line 100 "gcats1_chunk.dats" arg1 = tmp4 ; #line 100 "gcats1_chunk.dats" goto __ats_lab_gcats1_chunk_aux_1 ; // tail call } else { #line 100 "gcats1_chunk.dats" tmp1 = arg1 ; } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_chunk_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 2757(line=91, offs=23) -- 3016(line=106, offs=4) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length: #line 105 "gcats1_chunk.dats" tmp0 = gcats1_chunk_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__chunklst_sweep_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 3391(line=120, offs=29) -- 3435(line=120, offs=73) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (ats_uintptr1_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get: #line 120 "gcats1_chunk.dats" tmp5 = the_topsegtbl_get_32 (arg0) ; return (tmp5) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 3470(line=122, offs=34) -- 3769(line=133, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some (ats_uintptr1_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some: #line 123 "gcats1_chunk.dats" tmp7 = the_topsegtbl_get_32 (arg0) ; #line 125 "gcats1_chunk.dats" tmp8 = botsegtbllst_is_nil (tmp7) ; #line 125 "gcats1_chunk.dats" if (tmp8) { #line 126 "gcats1_chunk.dats" tmp9 = botsegtbl_make_32 () ; #line 127 "gcats1_chunk.dats" /* tmp10 = */ the_topsegtbl_set_32 (arg0, tmp9) ; #line 129 "gcats1_chunk.dats" tmp6 = tmp9 ; } else { #line 131 "gcats1_chunk.dats" tmp6 = tmp7 ; } /* end of [if] */ return (tmp6) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 5340(line=185, offs=38) -- 5624(line=193, offs=4) */ ATSglobaldec() ats_void_type chunklst_insert_into_table (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_uintptr1_type, tmp14) ; ATSlocal (ats_uintptr1_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; __ats_lab_chunklst_insert_into_table: #line 186 "gcats1_chunk.dats" tmp12 = chunklst_data_get (arg0) ; #line 187 "gcats1_chunk.dats" tmp13 = freeitmlst2ptr (tmp12) ; #line 188 "gcats1_chunk.dats" tmp14 = PTR_TOPSEG_GET (tmp13) ; #line 188 "gcats1_chunk.dats" tmp15 = ats_selsin_mac(tmp14, atslab_1) ; #line 189 "gcats1_chunk.dats" tmp16 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get_some (tmp15) ; #line 190 "gcats1_chunk.dats" tmp17 = PTR_BOTSEG_GET (tmp13) ; #line 192 "gcats1_chunk.dats" /* tmp11 = */ botsegtbllst_set (tmp16, tmp17, arg0) ; return /* (tmp11) */ ; } /* end of [chunklst_insert_into_table] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 5702(line=195, offs=38) -- 6226(line=211, offs=4) */ ATSglobaldec() ats_void_type chunklst_remove_from_table (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_uintptr1_type, tmp21) ; ATSlocal (ats_uintptr1_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab_chunklst_remove_from_table: #line 196 "gcats1_chunk.dats" tmp19 = chunklst_data_get (arg0) ; #line 197 "gcats1_chunk.dats" tmp20 = freeitmlst2ptr (tmp19) ; #line 198 "gcats1_chunk.dats" tmp21 = PTR_TOPSEG_GET (tmp20) ; #line 198 "gcats1_chunk.dats" tmp22 = ats_selsin_mac(tmp21, atslab_1) ; #line 199 "gcats1_chunk.dats" tmp23 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp22) ; #line 201 "gcats1_chunk.dats" tmp24 = botsegtbllst_is_cons (tmp23) ; #line 201 "gcats1_chunk.dats" if (tmp24) { #line 202 "gcats1_chunk.dats" tmp25 = PTR_BOTSEG_GET (tmp20) ; #line 204 "gcats1_chunk.dats" /* tmp18 = */ botsegtbllst_clear (tmp23, tmp25) ; } else { #line 206 "gcats1_chunk.dats" /* tmp26 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [chunklst_remove_from_table]")) ; #line 207 "gcats1_chunk.dats" /* tmp27 = */ atspre_prerr_string (ATSstrcst(": the chunk to be removed is not in the table!")) ; #line 208 "gcats1_chunk.dats" /* tmp28 = */ atspre_prerr_newline () ; #line 209 "gcats1_chunk.dats" /* tmp18 = */ ats_exit (1) ; } /* end of [if] */ return /* (tmp18) */ ; } /* end of [chunklst_remove_from_table] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 6324(line=216, offs=3) -- 6506(line=221, offs=4) */ ATSglobaldec() ats_ptr_type chunklst_create_release (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; __ats_lab_chunklst_create_release: #line 217 "gcats1_chunk.dats" tmp30 = chunklst_create (arg0, arg1) ; #line 218 "gcats1_chunk.dats" /* tmp31 = */ gc_main_lock_release () ; #line 220 "gcats1_chunk.dats" tmp29 = tmp30 ; return (tmp29) ; } /* end of [chunklst_create_release] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 6836(line=233, offs=28) -- 7805(line=262, offs=4) */ ATSglobaldec() ats_void_type chunklst_destroy (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_int_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; __ats_lab_chunklst_destroy: #line 240 "gcats1_chunk.dats" /* tmp33 = */ chunklst_remove_from_table (arg0) ; #line 241 "gcats1_chunk.dats" tmp34 = chunklst_data_nonalign_get (arg0) ; #line 242 "gcats1_chunk.dats" tmp35 = chunklst_itemwsz_get (arg0) ; #line 243 "gcats1_chunk.dats" /* tmp36 = */ chunk_header_free (arg0) ; #line 246 "gcats1_chunk.dats" tmp40 = atspre_asl_int_int1 (1, 11) ; #line 246 "gcats1_chunk.dats" tmp39 = atspre_sub_int_int (tmp40, 1) ; #line 246 "gcats1_chunk.dats" tmp38 = atspre_add_int_int (tmp35, tmp39) ; #line 246 "gcats1_chunk.dats" tmp37 = atspre_asr_int_int1 (tmp38, 11) ; #line 247 "gcats1_chunk.dats" /* tmp41 = */ the_chunk_count_dec_by (tmp37) ; #line 249 "gcats1_chunk.dats" do { /* branch: __ats_lab_0 */ #line 250 "gcats1_chunk.dats" __ats_lab_0_0: #line 250 "gcats1_chunk.dats" __ats_lab_0_1: #line 250 "gcats1_chunk.dats" tmp43 = atspre_asl_int_int1 (1, 11) ; #line 250 "gcats1_chunk.dats" tmp42 = atspre_gt_int_int (tmp35, tmp43) ; #line 250 "gcats1_chunk.dats" if (!tmp42) { goto __ats_lab_1_1 ; } #line 257 "gcats1_chunk.dats" /* tmp32 = */ freeitmlst_chunk_data_free (tmp34) ; break ; /* branch: __ats_lab_1 */ #line 259 "gcats1_chunk.dats" __ats_lab_1_0: #line 259 "gcats1_chunk.dats" __ats_lab_1_1: #line 260 "gcats1_chunk.dats" /* tmp32 = */ freeitmlst_chunk_data_recycle (tmp34) ; break ; } while (0) ; return /* (tmp32) */ ; } /* end of [chunklst_destroy] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 8137(line=274, offs=7) -- 8426(line=282, offs=8) */ ATSstaticdec() ats_void_type gcats1_chunk_loop_9 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; __ats_lab_gcats1_chunk_loop_9: #line 276 "gcats1_chunk.dats" tmp46 = atspre_ilt (arg1, 1024) ; #line 276 "gcats1_chunk.dats" if (tmp46) { #line 277 "gcats1_chunk.dats" tmp47 = botsegtbllst_get (arg0, arg1) ; #line 278 "gcats1_chunk.dats" tmp49 = chunklst_is_cons (tmp47) ; #line 278 "gcats1_chunk.dats" if (tmp49) { #line 278 "gcats1_chunk.dats" /* tmp48 = */ gc_markbits_clear_chunk (tmp47) ; } else { /* empty */ } /* end of [if] */ #line 281 "gcats1_chunk.dats" tmp50 = atspre_iadd (arg1, 1) ; #line 281 "gcats1_chunk.dats" arg0 = arg0 ; #line 281 "gcats1_chunk.dats" arg1 = tmp50 ; #line 281 "gcats1_chunk.dats" goto __ats_lab_gcats1_chunk_loop_9 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp45) */ ; } /* end of [gcats1_chunk_loop_9] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_chunk.dats: 8088(line=272, offs=39) -- 8465(line=285, offs=4) */ ATSglobaldec() ats_void_type gc_markbits_clear_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab_gc_markbits_clear_botsegtbl: #line 284 "gcats1_chunk.dats" /* tmp44 = */ gcats1_chunk_loop_9 (arg0, 0) ; return /* (tmp44) */ ; } /* end of [gc_markbits_clear_botsegtbl] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ #line 289 "gcats1_chunk.dats" #if (__WORDSIZE == 32) ats_ptr_type botsegtbl_make_32 () { botsegtbllst tbls ; /* fprintf ( stderr, "botsegtbl_make_32: sizeof(botsegtbl) = %i\n", sizeof(botsegtbl) ) ; // end of [fprintf] */ tbls = (botsegtbllst)malloc(sizeof(botsegtbl)) ; if (!tbls) { fprintf (stderr, "Exit: [botsegtbl_make_32: malloc] failed\n") ; exit (1) ; } // end of [if] memset(tbls, 0, sizeof(botsegtbl)) ; /* fprintf (stderr, "botsegtbl_make_32: return: tbls = %p\n", tbls) ; */ return tbls ; } /* end of [botsegtbl_make_32] */ #endif // end of [__WORDSIZE == 32] /* ****** ****** */ #if (__WORDSIZE == 64) ats_ptr_type botsegtbl_make_64 (ats_uintptr1_type ofs, ats_ptr_type tbls0) { botsegtbllst tbls ; /* fprintf ( stderr, "botsegtbl_make_64: sizeof(botsegtbl) = %i\n", sizeof(botsegtbl) ) ; // end of [fprintf] */ tbls = (botsegtbllst)malloc(sizeof(botsegtbl)) ; if (!tbls) { fprintf (stderr, "Exit: [botsegtbl_make_64: malloc] failed\n") ; exit (1) ; } // end of [if] memset(tbls, 0, sizeof(botsegtbl)) ; tbls->key = ofs ; tbls->hash_next = (botsegtbllst)tbls0 ; /* fprintf (stderr, "botsegtbl_make_64: tbls = %p\n", tbls) ; */ return tbls ; } /* end of [botsegtbl_make_64] */ #endif // end of [__WORDSIZE == 64] #line 348 "gcats1_chunk.dats" ats_ptr_type gc_ptr_is_valid (ats_ptr_type ptr, ats_ref_type ofs_r) { uintptr_t ofs_topseg ; int ofs_botseg, ofs_chkseg, itemwsz ; botsegtbllst tbls = (botsegtbllst)0 ; chunklst chks = (chunklst)0 ; /* fprintf (stderr, "gc_ptr_is_valid: 1: ptr = %p\n", ptr) ; */ if (!ptr) return (chunklst)0 ; /* fprintf (stderr, "gc_ptr_is_valid: 2: ptr = %p\n", ptr) ; */ if ((uintptr_t)ptr & NBYTE_PER_WORD_MASK) return (chunklst)0 ; ofs_topseg = PTR_TOPSEG_GET (ptr) ; /* fprintf (stderr, "gc_ptr_is_valid: 3: ofs_topseg = %li\n", ofs_topseg) ; */ #if (__WORDSIZE == 32) tbls = the_topsegtbl_get_32 (ofs_topseg) ; #endif #if (__WORDSIZE == 64) tbls = the_topsegtbl_get_64 (ofs_topseg) ; #endif if (!tbls) return (chunklst)0 ; ofs_botseg = PTR_BOTSEG_GET (ptr) ; chks = botsegtbllst_get (tbls, ofs_botseg) ; /* fprintf (stderr, "gc_ptr_is_valid: 4: ofs_botseg = %li\n", ofs_botseg) ; */ if (!chks) return (chunklst)0 ; ofs_chkseg = PTR_CHKSEG_GET (ptr) ; itemwsz = chks->itemwsz ; /* fprintf (stderr, "gc_ptr_is_valid: 5: ofs_chkseg = %li\n", ofs_chkseg) ; fprintf (stderr, "gc_ptr_is_valid: 6: itemwsz = %i\n", itemwsz) ; */ /* ** for a large chunk (itemwsz_log = -1), ofs_chkseg == 0 */ if (ofs_chkseg % itemwsz) return (chunklst)0 ; *((int*)ofs_r) = (ofs_chkseg / itemwsz) ; return chks ; } /* end of [gc_ptr_is_valid] */ #line 410 "gcats1_chunk.dats" /* // itemwsz_log = log (itemwsz) if itemwsz_log >= 0 fun chunklst_create (itemwsz_log: int, itemwsz: int): chunklst1 */ ats_ptr_type chunklst_create (ats_int_type itemwsz_log, ats_int_type itemwsz) { int i, err ; int chunk_bsz, data_ofs ; int itemtot, nmarkbit ; freeitmlst data ; chunklst chks ; /* fprintf (stderr, "chunklst_create: itemwsz_log = %i\n", itemwsz_log) ; fprintf (stderr, "chunklst_create: itemwsz = %i\n", itemwsz) ; */ if (itemwsz_log >= 0) { itemtot = (CHUNK_WORDSIZE >> itemwsz_log) ; nmarkbit = (itemtot + NBIT_PER_BYTE_MASK) >> NBIT_PER_BYTE_LOG ; } else { itemtot = 1 ; nmarkbit = 1 ; } chks = (chunklst)malloc(sizeof(chunk) + nmarkbit) ; if (!chks) { fprintf ( stderr, "GC Fatal Error: [chunklst_create]: [malloc] failed.\n" ) ; // end of [fprintf] exit (1) ; } // end of [if] data = (freeitmlst)0 ; if (itemwsz <= MAX_CHUNK_BLOCK_WORDSIZE) { if (the_freeitmlst_chunk_data) { data = the_freeitmlst_chunk_data; the_freeitmlst_chunk_data = *(freeitmlst*)data ; } // end of [if] } // end of [if] /* fprintf (stderr, "chunklst_create: data = %p(%i)\n", data, data) ; */ if (!data) { if (itemwsz > CHUNK_WORDSIZE) chunk_bsz = itemwsz << NBYTE_PER_WORD_LOG ; else chunk_bsz = CHUNK_BYTESIZE ; /* fprintf (stderr, "gcats_memalign: size = %i\n", chunk_bsz) ; */ err = gcats_memalign (&data, CHUNK_BYTESIZE/*alignment*/, chunk_bsz/*size*/) ; /* fprintf (stderr, "gcats_memalign: err = %i\n", err) ; */ if (err) { fprintf (stderr, "GC: Fatal Error: [gcats_memalign] failed\n") ; exit (1) ; } // end of [if] } // end of [if] /* fprintf (stderr, "chunklst_create: data = %p(%i)\n", data, data) ; */ chks->itemwsz = itemwsz ; chks->itemwsz_log = itemwsz_log ; chks->itemtot = itemtot ; chks->markcnt = 0 ; // for fast threading! #ifdef _ATS_MULTITHREAD chks->freecnt = 0 ; // not in use yet #endif chks->sweep_next = (chunklst)0 ; data_ofs = (uintptr_t)data & (CHUNK_BYTESIZE - 1) ; if (data_ofs) { /* fprintf (stderr, "chunklst_create: data_ofs = %i\n", data_ofs) ; */ chks->data = (byte*)data - data_ofs + CHUNK_BYTESIZE ; } else { chks->data = data ; } chks->data_nonalign = data ; // [data] is *not* zeroed memset (chks->markbits, 0, nmarkbit) ; the_chunk_count_inc_by ((itemwsz + CHUNK_WORDSIZE_MASK) >> CHUNK_WORDSIZE_LOG) ; chunklst_insert_into_table (chks) ; /* fprintf (stderr, "chunklst_create: chks = %p(%i)\n", chks, chks) ; */ return chks ; } /* end of [chunklst_create] */ #line 509 "gcats1_chunk.dats" #if (__WORDSIZE == 32) ats_void_type gc_markbits_clear_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_markbits_clear_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_markbits_clear_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_markbits_clear_the_topsegtbl () { int i ; botsegtbllst tbls ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // terminating: obvious gc_markbits_clear_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_markbits_clear_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] /* ****** ****** */ /* end of [gcats1_chunk_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_autops_dats.c0000664000175000017500000006344512655455557024371 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ #line 162 "gcats1_autops.dats" static inline ats_void_type gc_aut_calloc_bsz_memset_bsz (ats_ptr_type p, ats_int_type c, ats_int_type bsz) { memset (p, c, bsz) ; return ; } #line 305 "gcats1_autops.dats" static inline ats_void_type gc_aut_realloc_wsz_memcpy_wsz (ats_ptr_type p_dest, ats_ptr_type p_src, ats_int_type wsz) { memcpy (p_dest, p_src, wsz << NBYTE_PER_WORD_LOG) ; return ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asr_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_acquire) () ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_release) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_release) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_release) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_all) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_all) () ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_tail_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_set) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_insert_at) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemwsz_log_get) (ats_ptr_type) ; ATSextern_fun(ats_int_type, chunklst_itemtot_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, chunklst_destroy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, the_chunk_count_limit_is_reached_within) (ats_int_type) ; ATSextern_fun(ats_uintptr1_type, PTR_TOPSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_int_type, PTR_BOTSEG_GET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, botsegtbllst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get) (ats_uintptr1_type) ; ATSextern_fun(ats_void_type, gc_collect) () ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_malloc_bsz) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_malloc_wsz) (ats_int_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, log2_ceil) (ats_int_type) ; ATSextern_fun(ats_ptr_type, gc_aut_calloc_bsz) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_aut_calloc_bsz_memset_bsz) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_aut_realloc_wsz_memcpy_wsz) (ats_ptr_type, ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_autops_gc_aut_free_chunk_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type gcats1_autops_err_botsegtbl_5 (ats_ptr_type arg0) ; static ats_void_type gcats1_autops_err_chunk_6 (ats_ptr_type arg0) ; static ats_ptr_type gcats1_autops_err_9 (ats_ptr_type arg0) ; static ats_ptr_type gcats1_autops_aux_main_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 1738(line=53, offs=29) -- 1844(line=57, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_malloc_bsz (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; __ats_lab_gc_aut_malloc_bsz: #line 54 "gcats1_autops.dats" tmp3 = atspre_isub (4, 1) ; #line 54 "gcats1_autops.dats" tmp2 = atspre_add_int_int (arg0, tmp3) ; #line 54 "gcats1_autops.dats" tmp1 = atspre_asr_int_int1 (tmp2, 2) ; #line 56 "gcats1_autops.dats" tmp0 = gc_aut_malloc_wsz (tmp1) ; return (tmp0) ; } /* end of [gc_aut_malloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 1954(line=61, offs=29) -- 5420(line=153, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_malloc_wsz (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_gc_aut_malloc_wsz: #line 68 "gcats1_autops.dats" tmp7 = atspre_asl_int_int1 (1, 11) ; #line 68 "gcats1_autops.dats" tmp6 = atspre_gt_int_int (arg0, tmp7) ; #line 68 "gcats1_autops.dats" if (tmp6) { #line 68 "gcats1_autops.dats" tmp5 = -1 ; } else { #line 68 "gcats1_autops.dats" tmp5 = log2_ceil (arg0) ; } /* end of [if] */ #line 71 "gcats1_autops.dats" do { /* branch: __ats_lab_0 */ #line 72 "gcats1_autops.dats" __ats_lab_0_0: #line 72 "gcats1_autops.dats" __ats_lab_0_1: #line 72 "gcats1_autops.dats" tmp8 = atspre_igte (tmp5, 0) ; #line 72 "gcats1_autops.dats" if (!tmp8) { goto __ats_lab_1_1 ; } #line 74 "gcats1_autops.dats" tmp10 = atspre_ilte (tmp5, 11) ; #line 73 "gcats1_autops.dats" /* tmp9 = */ atspre_assert (tmp10) ; #line 75 "gcats1_autops.dats" tmp11 = the_freeitmlst_array_get (tmp5) ; #line 77 "gcats1_autops.dats" tmp13 = freeitmlst_is_nil (tmp11) ; #line 77 "gcats1_autops.dats" if (tmp13) { #line 77 "gcats1_autops.dats" tmp12 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate (tmp5) ; } else { #line 78 "gcats1_autops.dats" tmp12 = tmp11 ; } /* end of [if] */ #line 80 "gcats1_autops.dats" tmp14 = freeitmlst2ptr (tmp12) ; #line 94 "gcats1_autops.dats" tmp15 = freeitmlst_tail_get (tmp12) ; #line 95 "gcats1_autops.dats" /* tmp16 = */ the_freeitmlst_array_set (tmp5, tmp15) ; #line 108 "gcats1_autops.dats" tmp4 = tmp14 ; break ; /* branch: __ats_lab_1 */ #line 110 "gcats1_autops.dats" __ats_lab_1_0: #line 110 "gcats1_autops.dats" __ats_lab_1_1: #line 113 "gcats1_autops.dats" tmp19 = atspre_asl_int_int1 (1, 30) ; #line 113 "gcats1_autops.dats" tmp18 = atspre_gt_int_int (arg0, tmp19) ; #line 113 "gcats1_autops.dats" if (tmp18) { #line 115 "gcats1_autops.dats" /* tmp20 = */ atspre_prerr_string (ATSstrcst("[gc_aut_malloc_wsz]: argument is too large!")) ; #line 115 "gcats1_autops.dats" /* tmp21 = */ atspre_prerr_newline () ; #line 118 "gcats1_autops.dats" /* tmp17 = */ ats_exit (1) ; } else { /* empty */ } /* end of [if] */ #line 120 "gcats1_autops.dats" tmp25 = atspre_asl_int_int1 (1, 11) ; #line 120 "gcats1_autops.dats" tmp24 = atspre_sub_int_int (tmp25, 1) ; #line 120 "gcats1_autops.dats" tmp23 = atspre_add_int_int (arg0, tmp24) ; #line 120 "gcats1_autops.dats" tmp22 = atspre_asr_int_int1 (tmp23, 11) ; #line 121 "gcats1_autops.dats" /* tmp26 = */ gc_main_lock_acquire () ; #line 121 "gcats1_autops.dats" /* tmp27 = ats_selsin_mac(tmp26, atslab_1) */ ; #line 123 "gcats1_autops.dats" tmp28 = the_chunk_count_limit_is_reached_within (tmp22) ; #line 126 "gcats1_autops.dats" if (tmp28) { #line 127 "gcats1_autops.dats" /* tmp30 = */ the_globalentrylst_lock_acquire () ; #line 127 "gcats1_autops.dats" /* tmp31 = ats_selsin_mac(tmp30, atslab_1) */ ; #line 128 "gcats1_autops.dats" /* tmp32 = */ the_manmemlst_lock_acquire () ; #line 128 "gcats1_autops.dats" /* tmp33 = ats_selsin_mac(tmp32, atslab_1) */ ; #line 129 "gcats1_autops.dats" /* tmp34 = */ the_threadinfolst_lock_acquire () ; #line 129 "gcats1_autops.dats" /* tmp35 = ats_selsin_mac(tmp34, atslab_1) */ ; #line 130 "gcats1_autops.dats" /* tmp36 = */ the_sweeplst_lock_acquire_all () ; #line 130 "gcats1_autops.dats" /* tmp37 = ats_selsin_mac(tmp36, atslab_1) */ ; #line 131 "gcats1_autops.dats" /* tmp38 = */ gc_collect () ; #line 134 "gcats1_autops.dats" /* tmp39 = */ the_sweeplst_lock_release_all () ; #line 135 "gcats1_autops.dats" /* tmp40 = */ the_threadinfolst_lock_release () ; #line 136 "gcats1_autops.dats" /* tmp41 = */ the_manmemlst_lock_release () ; #line 137 "gcats1_autops.dats" /* tmp29 = */ the_globalentrylst_lock_release () ; } else { /* empty */ } /* end of [if] */ #line 141 "gcats1_autops.dats" tmp42 = chunklst_create (-1, arg0) ; #line 142 "gcats1_autops.dats" /* tmp43 = */ gc_main_lock_release () ; #line 143 "gcats1_autops.dats" tmp44 = chunklst_data_get (tmp42) ; #line 144 "gcats1_autops.dats" tmp4 = freeitmlst2ptr (tmp44) ; break ; } while (0) ; return (tmp4) ; } /* end of [gc_aut_malloc_wsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 5780(line=174, offs=19) -- 6334(line=196, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_calloc_bsz (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; __ats_lab_gc_aut_calloc_bsz: #line 183 "gcats1_autops.dats" tmp46 = atspre_mul_int_int (arg0, arg1) ; #line 184 "gcats1_autops.dats" tmp47 = gc_aut_malloc_bsz (tmp46) ; #line 185 "gcats1_autops.dats" /* tmp48 = */ gc_aut_calloc_bsz_memset_bsz (tmp47, 0, tmp46) ; #line 195 "gcats1_autops.dats" tmp45 = tmp47 ; return (tmp45) ; } /* end of [gc_aut_calloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 6462(line=202, offs=4) -- 8244(line=256, offs=4) */ ATSstaticdec() ats_void_type gcats1_autops_gc_aut_free_chunk_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab_gcats1_autops_gc_aut_free_chunk_3: #line 209 "gcats1_autops.dats" tmp50 = chunklst_itemwsz_log_get (arg0) ; #line 216 "gcats1_autops.dats" tmp51 = atspre_igte (tmp50, 0) ; #line 216 "gcats1_autops.dats" if (tmp51) { #line 238 "gcats1_autops.dats" /* tmp49 = */ the_freeitmlst_array_insert_at (arg1, tmp50) ; } else { #line 242 "gcats1_autops.dats" tmp52 = chunklst_itemtot_get (arg0) ; #line 244 "gcats1_autops.dats" tmp53 = atspre_eq_int_int (tmp52, 1) ; #line 244 "gcats1_autops.dats" if (tmp53) { #line 245 "gcats1_autops.dats" /* tmp54 = */ gc_main_lock_acquire () ; #line 245 "gcats1_autops.dats" /* tmp55 = ats_selsin_mac(tmp54, atslab_1) */ ; #line 246 "gcats1_autops.dats" /* tmp56 = */ chunklst_destroy (arg0) ; #line 248 "gcats1_autops.dats" /* tmp49 = */ gc_main_lock_release () ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ return /* (tmp49) */ ; } /* end of [gcats1_autops_gc_aut_free_chunk_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8409(line=267, offs=6) -- 8605(line=271, offs=6) */ ATSstaticdec() ats_void_type gcats1_autops_err_botsegtbl_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab_gcats1_autops_err_botsegtbl_5: #line 268 "gcats1_autops.dats" /* tmp59 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 269 "gcats1_autops.dats" /* tmp60 = */ atspre_prerr_string (ATSstrcst(": invalid pointer (botsegtbl is nil): ")) ; #line 269 "gcats1_autops.dats" /* tmp61 = */ atspre_prerr_ptr (arg0) ; #line 270 "gcats1_autops.dats" /* tmp62 = */ atspre_prerr_newline () ; #line 270 "gcats1_autops.dats" /* tmp58 = */ ats_exit (1) ; return /* (tmp58) */ ; } /* end of [gcats1_autops_err_botsegtbl_5] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8611(line=272, offs=6) -- 8799(line=276, offs=6) */ ATSstaticdec() ats_void_type gcats1_autops_err_chunk_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; __ats_lab_gcats1_autops_err_chunk_6: #line 273 "gcats1_autops.dats" /* tmp64 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 274 "gcats1_autops.dats" /* tmp65 = */ atspre_prerr_string (ATSstrcst(": invalid pointer (chunk is nil): ")) ; #line 274 "gcats1_autops.dats" /* tmp66 = */ atspre_prerr_ptr (arg0) ; #line 275 "gcats1_autops.dats" /* tmp67 = */ atspre_prerr_newline () ; #line 275 "gcats1_autops.dats" /* tmp63 = */ ats_exit (1) ; return /* (tmp63) */ ; } /* end of [gcats1_autops_err_chunk_6] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 8302(line=261, offs=13) -- 9241(line=290, offs=4) */ ATSglobaldec() ats_void_type gc_aut_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_uintptr1_type, tmp68) ; ATSlocal (ats_uintptr1_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; __ats_lab_gc_aut_free: #line 277 "gcats1_autops.dats" tmp68 = PTR_TOPSEG_GET (arg0) ; #line 277 "gcats1_autops.dats" tmp69 = ats_selsin_mac(tmp68, atslab_1) ; #line 278 "gcats1_autops.dats" tmp70 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp69) ; #line 280 "gcats1_autops.dats" do { /* branch: __ats_lab_2 */ #line 281 "gcats1_autops.dats" __ats_lab_2_0: #line 281 "gcats1_autops.dats" __ats_lab_2_1: #line 281 "gcats1_autops.dats" tmp71 = botsegtbllst_is_cons (tmp70) ; #line 281 "gcats1_autops.dats" if (!tmp71) { goto __ats_lab_5_1 ; } #line 282 "gcats1_autops.dats" tmp72 = PTR_BOTSEG_GET (arg0) ; #line 283 "gcats1_autops.dats" tmp73 = botsegtbllst_get (tmp70, tmp72) ; #line 285 "gcats1_autops.dats" do { /* branch: __ats_lab_3 */ #line 286 "gcats1_autops.dats" __ats_lab_3_0: #line 286 "gcats1_autops.dats" __ats_lab_3_1: #line 286 "gcats1_autops.dats" tmp74 = chunklst_is_cons (tmp73) ; #line 286 "gcats1_autops.dats" if (!tmp74) { goto __ats_lab_4_1 ; } #line 286 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_gc_aut_free_chunk_3 (tmp73, arg0) ; break ; /* branch: __ats_lab_4 */ #line 287 "gcats1_autops.dats" __ats_lab_4_0: #line 287 "gcats1_autops.dats" __ats_lab_4_1: #line 287 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_err_chunk_6 (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ #line 289 "gcats1_autops.dats" __ats_lab_5_0: #line 289 "gcats1_autops.dats" __ats_lab_5_1: #line 289 "gcats1_autops.dats" /* tmp57 = */ gcats1_autops_err_botsegtbl_5 (arg0) ; break ; } while (0) ; return /* (tmp57) */ ; } /* end of [gc_aut_free] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9354(line=297, offs=20) -- 9471(line=301, offs=4) */ ATSglobaldec() ats_ptr_type gc_aut_realloc_bsz (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; __ats_lab_gc_aut_realloc_bsz: #line 298 "gcats1_autops.dats" tmp78 = atspre_isub (4, 1) ; #line 298 "gcats1_autops.dats" tmp77 = atspre_add_int_int (arg1, tmp78) ; #line 298 "gcats1_autops.dats" tmp76 = atspre_asr_int_int1 (tmp77, 2) ; #line 300 "gcats1_autops.dats" tmp75 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz (arg0, tmp76) ; return (tmp75) ; } /* end of [gc_aut_realloc_bsz] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9961(line=328, offs=6) -- 10126(line=332, offs=6) */ ATSstaticdec() ats_ptr_type gcats1_autops_err_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; __ats_lab_gcats1_autops_err_9: #line 329 "gcats1_autops.dats" /* tmp81 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error: [gc_aut_free] failed")) ; #line 330 "gcats1_autops.dats" /* tmp82 = */ atspre_prerr_string (ATSstrcst(": invalid pointer: ")) ; #line 330 "gcats1_autops.dats" /* tmp83 = */ atspre_prerr_ptr (arg0) ; #line 330 "gcats1_autops.dats" /* tmp84 = */ atspre_prerr_newline () ; #line 331 "gcats1_autops.dats" /* tmp80 = */ ats_exit (1) ; return (tmp80) ; } /* end of [gcats1_autops_err_9] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 10228(line=335, offs=6) -- 11278(line=369, offs=6) */ ATSstaticdec() ats_ptr_type gcats1_autops_aux_main_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; __ats_lab_gcats1_autops_aux_main_10: #line 340 "gcats1_autops.dats" tmp89 = chunklst_itemwsz_get (arg0) ; #line 342 "gcats1_autops.dats" do { /* branch: __ats_lab_6 */ #line 343 "gcats1_autops.dats" __ats_lab_6_0: #line 343 "gcats1_autops.dats" __ats_lab_6_1: #line 343 "gcats1_autops.dats" tmp90 = atspre_gt_int_int (arg2, tmp89) ; #line 343 "gcats1_autops.dats" if (!tmp90) { goto __ats_lab_7_1 ; } #line 349 "gcats1_autops.dats" tmp91 = gc_aut_malloc_wsz (arg2) ; #line 350 "gcats1_autops.dats" /* tmp92 = */ gc_aut_realloc_wsz_memcpy_wsz (tmp91, arg1, tmp89) ; #line 351 "gcats1_autops.dats" /* tmp93 = */ gcats1_autops_gc_aut_free_chunk_3 (arg0, arg1) ; #line 353 "gcats1_autops.dats" tmp88 = tmp91 ; break ; /* branch: __ats_lab_7 */ #line 355 "gcats1_autops.dats" __ats_lab_7_0: #line 355 "gcats1_autops.dats" __ats_lab_7_1: #line 355 "gcats1_autops.dats" tmp95 = atspre_mul_int_int (2, arg2) ; #line 355 "gcats1_autops.dats" tmp94 = atspre_lte_int_int (tmp95, tmp89) ; #line 355 "gcats1_autops.dats" if (!tmp94) { goto __ats_lab_8_1 ; } #line 361 "gcats1_autops.dats" tmp96 = gc_aut_malloc_wsz (arg2) ; #line 363 "gcats1_autops.dats" /* tmp97 = */ gc_aut_realloc_wsz_memcpy_wsz (tmp96, arg1, arg2) ; #line 364 "gcats1_autops.dats" /* tmp98 = */ gcats1_autops_gc_aut_free_chunk_3 (arg0, arg1) ; #line 366 "gcats1_autops.dats" tmp88 = tmp96 ; break ; /* branch: __ats_lab_8 */ #line 368 "gcats1_autops.dats" __ats_lab_8_0: #line 368 "gcats1_autops.dats" __ats_lab_8_1: #line 368 "gcats1_autops.dats" tmp88 = arg1 ; break ; } while (0) ; return (tmp88) ; } /* end of [gcats1_autops_aux_main_10] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_autops.dats: 9739(line=319, offs=20) -- 11928(line=396, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_uintptr1_type, tmp85) ; ATSlocal (ats_uintptr1_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz: #line 333 "gcats1_autops.dats" tmp85 = PTR_TOPSEG_GET (arg0) ; #line 333 "gcats1_autops.dats" tmp86 = ats_selsin_mac(tmp85, atslab_1) ; #line 334 "gcats1_autops.dats" tmp87 = ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__the_topsegtbl_get (tmp86) ; #line 372 "gcats1_autops.dats" tmp99 = atspre_pgt (arg0, atspre_null_ptr) ; #line 372 "gcats1_autops.dats" if (tmp99) { #line 373 "gcats1_autops.dats" do { /* branch: __ats_lab_9 */ #line 374 "gcats1_autops.dats" __ats_lab_9_0: #line 374 "gcats1_autops.dats" __ats_lab_9_1: #line 374 "gcats1_autops.dats" tmp100 = botsegtbllst_is_cons (tmp87) ; #line 374 "gcats1_autops.dats" if (!tmp100) { goto __ats_lab_12_1 ; } #line 375 "gcats1_autops.dats" tmp101 = PTR_BOTSEG_GET (arg0) ; #line 376 "gcats1_autops.dats" tmp102 = botsegtbllst_get (tmp87, tmp101) ; #line 378 "gcats1_autops.dats" do { /* branch: __ats_lab_10 */ #line 379 "gcats1_autops.dats" __ats_lab_10_0: #line 379 "gcats1_autops.dats" __ats_lab_10_1: #line 379 "gcats1_autops.dats" tmp103 = chunklst_is_cons (tmp102) ; #line 379 "gcats1_autops.dats" if (!tmp103) { goto __ats_lab_11_1 ; } #line 380 "gcats1_autops.dats" tmp79 = gcats1_autops_aux_main_10 (tmp102, arg0, arg1) ; break ; /* branch: __ats_lab_11 */ #line 390 "gcats1_autops.dats" __ats_lab_11_0: #line 390 "gcats1_autops.dats" __ats_lab_11_1: #line 390 "gcats1_autops.dats" tmp79 = gcats1_autops_err_9 (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_12 */ #line 392 "gcats1_autops.dats" __ats_lab_12_0: #line 392 "gcats1_autops.dats" __ats_lab_12_1: #line 392 "gcats1_autops.dats" tmp79 = gcats1_autops_err_9 (arg0) ; break ; } while (0) ; } else { #line 394 "gcats1_autops.dats" tmp79 = gc_aut_malloc_wsz (arg1) ; } /* end of [if] */ return (tmp79) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_aut_realloc_wsz] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_autops_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_top_dats.c0000664000175000017500000003506712655455557023657 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ #line 51 "gcats1_top.dats" int the_chunk_count = 0 ; // a soft threshold that can be extended int the_chunk_count_limit = 1 ; // int the_chunk_count_limit = 1024 ; // a hard threshold that cannot be extended int the_chunk_count_limit_max = 8192 ; // a list of freed chunk data freeitmlst the_freeitmlst_chunk_data = (freeitmlst)0 ; #ifdef _ATS_MULTITHREAD // this is the lock that protects the previous variables pthread_mutex_t the_gc_main_lock = PTHREAD_MUTEX_INITIALIZER ; #endif // [_ATS_MULTITHREAD] /* ****** ****** */ chunklst the_sweeplst_array[FREEITMLST_ARRAYSIZE] = { (chunklst)0 } ; #ifdef _ATS_MULTITHREAD pthread_mutex_t the_sweeplst_lock_array[FREEITMLST_ARRAYSIZE] ; ats_void_type gc_sweeplst_lock_array_init () { int i ; pthread_mutex_t *p_lock ; i = 0 ; p_lock = the_sweeplst_lock_array ; while (i < FREEITMLST_ARRAYSIZE) { pthread_mutex_init (p_lock, NULL); i += 1; p_lock += 1 ; } /* fprintf (stderr, "the_sweeplst_lock_array has been initialized.\n") ; */ return ; } #endif /* ****** ****** */ #ifdef _ATS_MULTITHREAD // __thread // freeitmlst the_freeitmlst_array[FREEITMLST_ARRAYSIZE] = // { (freeitmlst)0 } ; __thread freeitmlst *the_freeitmlst_array = (freeitmlst*)0 ; #else /* single thread */ freeitmlst the_freeitmlst_array[FREEITMLST_ARRAYSIZE] = { (freeitmlst)0 } ; #endif /* ****** ****** */ // protecting [the_globalentrylst] in [gc_globalentrylst.dats] #ifdef _ATS_MULTITHREAD pthread_mutex_t the_globalentrylst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ // manually managed list of allocated memories manmemlst the_manmemlst = (manmemlst)0 ; #ifdef _ATS_MULTITHREAD pthread_mutex_t the_manmemlst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ #ifdef _ATS_MULTITHREAD pthread_mutex_t the_threadinfolst_lock = PTHREAD_MUTEX_INITIALIZER ; #endif /* ****** ****** */ #if (__WORDSIZE == 32) botsegtbllst the_topsegtbl[TOPSEG_TABLESIZE] = { (botsegtbllst)0 } ; #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) botsegtbllst the_topsegtbl[TOPSEG_HASHTABLESIZE] = { (botsegtbllst)0 } ; #endif // end of [__WORDSIZE == 64] /* ****** ****** */ ats_int_type the_markstatck_overflow = 0 ; // for debugging purpose // ats_void_type segfault (void) { return *(int*)0 ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_stdout_get) () ; ATSextern_fun(ats_void_type, atspre_stdout_view_set) () ; ATSextern_fun(ats_ptr_type, atspre_stderr_get) () ; ATSextern_fun(ats_void_type, atspre_stderr_view_set) () ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ref_type, ats_ptr_type, ...) ; ATSextern_fun(ats_int_type, gc_stack_dir_get) () ; ATSextern_fun(ats_void_type, gc_stack_beg_set) (ats_int_type) ; ATSextern_fun(ats_int_type, freeitmlst_length) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_int_type, the_chunk_count_get) () ; ATSextern_fun(ats_void_type, the_markstack_extend) (ats_int_type) ; ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_chunk_data_get) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_top_loop_1 (ats_ref_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_int_type, gcats1_top_statmp21) ; // ATSstatic_void (gcats1_top_statmp22) ; // ATSstatic_void (gcats1_top_statmp23) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5175(line=208, offs=7) -- 5490(line=218, offs=6) */ ATSstaticdec() ats_void_type gcats1_top_loop_1 (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab_gcats1_top_loop_1: #line 210 "gcats1_top.dats" tmp8 = atspre_iadd (11, 1) ; #line 210 "gcats1_top.dats" tmp7 = atspre_ilt (arg1, tmp8) ; #line 210 "gcats1_top.dats" if (tmp7) { #line 211 "gcats1_top.dats" tmp9 = the_freeitmlst_array_get (arg1) ; #line 212 "gcats1_top.dats" tmp10 = freeitmlst_length (tmp9) ; #line 213 "gcats1_top.dats" /* tmp11 = */ atspre_fprintf_exn (arg0, ATSstrcst("freeitmlst(%i):\t%i\n"), arg1, tmp10) ; #line 216 "gcats1_top.dats" tmp12 = atspre_iadd (arg1, 1) ; #line 216 "gcats1_top.dats" arg0 = arg0 ; #line 216 "gcats1_top.dats" arg1 = tmp12 ; #line 216 "gcats1_top.dats" goto __ats_lab_gcats1_top_loop_1 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_top_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 4833(line=196, offs=31) -- 5550(line=222, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats: #line 198 "gcats1_top.dats" tmp1 = the_chunk_count_get () ; #line 200 "gcats1_top.dats" /* tmp2 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_chunk_count:\t%i\n"), tmp1) ; #line 203 "gcats1_top.dats" tmp4 = freeitmlst_chunk_data_get () ; #line 203 "gcats1_top.dats" tmp3 = freeitmlst_length (tmp4) ; #line 205 "gcats1_top.dats" /* tmp5 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_free_chunk_data_count:\t%i\n"), tmp3) ; #line 219 "gcats1_top.dats" /* tmp0 = */ gcats1_top_loop_1 (arg0, 0) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5605(line=224, offs=26) -- 5785(line=231, offs=4) */ ATSglobaldec() ats_void_type gc_print_stats () { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; __ats_lab_gc_print_stats: #line 225 "gcats1_top.dats" tmp14 = atspre_stdout_get () ; #line 225 "gcats1_top.dats" tmp15 = ats_selsin_mac(tmp14, atslab_1) ; #line 227 "gcats1_top.dats" /* tmp16 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (tmp15) ; #line 230 "gcats1_top.dats" /* tmp13 = */ atspre_stdout_view_set () ; return /* (tmp13) */ ; } /* end of [gc_print_stats] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_top.dats: 5839(line=233, offs=26) -- 6021(line=240, offs=4) */ ATSglobaldec() ats_void_type gc_prerr_stats () { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; __ats_lab_gc_prerr_stats: #line 234 "gcats1_top.dats" tmp18 = atspre_stderr_get () ; #line 234 "gcats1_top.dats" tmp19 = ats_selsin_mac(tmp18, atslab_1) ; #line 236 "gcats1_top.dats" /* tmp20 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (tmp19) ; #line 239 "gcats1_top.dats" /* tmp17 = */ atspre_stderr_view_set () ; return /* (tmp17) */ ; } /* end of [gc_prerr_stats] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload (void) ; ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag = 0 ; extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload (void) ; // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload () { // ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&gcats1_top_statmp21, sizeof(ats_int_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 244 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload () ; #line 245 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload () ; #line 246 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_chunk_2edats__dynload () ; #line 247 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload () ; #line 251 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_marking_2edats__dynload () ; #line 252 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload () ; #line 253 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_autops_2edats__dynload () ; #line 254 "gcats1_top.dats" ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload () ; #line 263 "gcats1_top.dats" gcats1_top_statmp21 = gc_stack_dir_get () ; #line 264 "gcats1_top.dats" /* gcats1_top_statmp22 = */ gc_stack_beg_set (gcats1_top_statmp21) ; #line 281 "gcats1_top.dats" /* gcats1_top_statmp23 = */ the_markstack_extend (1) ; return ; } /* end of [dynload function] */ ats_void_type gc_init () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_top_2edats__dynload () ; return ; } /* external codes at mid */ /* external codes at bot */ #line 150 "gcats1_top.dats" ats_int_type gc_chunk_count_limit_get () { return the_chunk_count_limit ; } ats_void_type gc_chunk_count_limit_set (ats_int_type n) { if (n >= 0) { the_chunk_count_limit = n ; } else { fprintf (stderr, "GC Fatal Error: [gc_chunk_count_limit_set]: negative argument.\n") ; exit (1) ; } return ; } ats_int_type gc_chunk_count_limit_max_get () { return the_chunk_count_limit_max ; } ats_void_type gc_chunk_count_limit_max_set (ats_int_type n) { the_chunk_count_limit_max = n ; return ; } #line 185 "gcats1_top.dats" extern ats_ptr_type the_freeitmlst_chunk_data ; ats_ptr_type freeitmlst_chunk_data_get () { return the_freeitmlst_chunk_data ; } #line 293 "gcats1_top.dats" ats_ptr_type the_globalentrylst = (ats_ptr_type)0 ; // GLOBALENTRYLSTnil // end of ... extern void globalentrylst_insert (ats_ref_type ents, ats_ptr_type ptr, ats_int_type wsz) ; ats_void_type gc_markroot_bsz (ats_ptr_type ptr, ats_int_type bsz/*bytesize*/) { int wsz = (bsz >> NBYTE_PER_WORD_LOG) ; /* fprintf (stderr, "gc_markroot_bsz: ptr = %p\n", ptr) ; fprintf (stderr, "gc_markroot_bsz: bsz = %i\n", bsz) ; fprintf (stderr, "gc_markroot_bsz: wsz = %i\n", wsz) ; */ globalentrylst_insert (&the_globalentrylst, ptr, wsz) ; return ; } /* end of [gc_markroot_bsz] */ /* ****** ****** */ /* end of [gcats1_top_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_collecting_dats.c0000664000175000017500000005365512655455557025203 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_main_lock_acquire) () ; ATSextern_fun(ats_void_type, gc_main_lock_release) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_globalentrylst_lock_release) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_manmemlst_lock_release) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_acquire) () ; ATSextern_fun(ats_void_type, the_threadinfolst_lock_release) () ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_one) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_one) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_acquire_rest) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_lock_release_rest) (ats_int_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_sweep_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_create_release) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, the_chunk_count_limit_is_not_reached) () ; ATSextern_fun(ats_ptr_type, botsegtbllst_get) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, the_sweeplst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_set) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_clear_one) (ats_int_type) ; ATSextern_fun(ats_void_type, gc_collect) () ; ATSextern_fun(ats_ptr_type, gc_chunk_threading) (ats_ptr_type) ; ATSextern_fun(ats_void_type, the_sweeplst_array_clear_all) () ; ATSextern_fun(ats_void_type, gc_sweeplst_build_chunk) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_sweeplst_build_botsegtbl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, fprint_the_sweeplst_array_all) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__sweeplst_lock_all_takeout_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type gcats1_collecting_loop_1 (ats_int_type arg0) ; static ats_void_type gcats1_collecting_loop_3 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 1953(line=61, offs=7) -- 2267(line=69, offs=8) */ ATSstaticdec() ats_void_type gcats1_collecting_loop_1 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_int_type, tmp5) ; __ats_lab_gcats1_collecting_loop_1: #line 63 "gcats1_collecting.dats" tmp3 = atspre_iadd (11, 1) ; #line 63 "gcats1_collecting.dats" tmp2 = atspre_ilt (arg0, tmp3) ; #line 63 "gcats1_collecting.dats" if (tmp2) { #line 65 "gcats1_collecting.dats" /* tmp4 = */ the_sweeplst_array_clear_one (arg0) ; #line 68 "gcats1_collecting.dats" tmp5 = atspre_iadd (arg0, 1) ; #line 68 "gcats1_collecting.dats" arg0 = tmp5 ; #line 68 "gcats1_collecting.dats" goto __ats_lab_gcats1_collecting_loop_1 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp1) */ ; } /* end of [gcats1_collecting_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 1892(line=59, offs=40) -- 2305(line=72, offs=4) */ ATSglobaldec() ats_void_type the_sweeplst_array_clear_all () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_the_sweeplst_array_clear_all: #line 71 "gcats1_collecting.dats" /* tmp0 = */ gcats1_collecting_loop_1 (0) ; return /* (tmp0) */ ; } /* end of [the_sweeplst_array_clear_all] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 2618(line=83, offs=7) -- 2964(line=92, offs=6) */ ATSstaticdec() ats_void_type gcats1_collecting_loop_3 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab_gcats1_collecting_loop_3: #line 85 "gcats1_collecting.dats" tmp8 = atspre_ilt (arg1, 1024) ; #line 85 "gcats1_collecting.dats" if (tmp8) { #line 86 "gcats1_collecting.dats" tmp9 = botsegtbllst_get (arg0, arg1) ; #line 87 "gcats1_collecting.dats" tmp11 = chunklst_is_cons (tmp9) ; #line 87 "gcats1_collecting.dats" if (tmp11) { #line 87 "gcats1_collecting.dats" /* tmp10 = */ gc_sweeplst_build_chunk (tmp9) ; } else { /* empty */ } /* end of [if] */ #line 90 "gcats1_collecting.dats" tmp12 = atspre_iadd (arg1, 1) ; #line 90 "gcats1_collecting.dats" arg0 = arg0 ; #line 90 "gcats1_collecting.dats" arg1 = tmp12 ; #line 90 "gcats1_collecting.dats" goto __ats_lab_gcats1_collecting_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp7) */ ; } /* end of [gcats1_collecting_loop_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 2599(line=82, offs=39) -- 3005(line=95, offs=4) */ ATSglobaldec() ats_void_type gc_sweeplst_build_botsegtbl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab_gc_sweeplst_build_botsegtbl: #line 94 "gcats1_collecting.dats" /* tmp6 = */ gcats1_collecting_loop_3 (arg0, 0) ; return /* (tmp6) */ ; } /* end of [gc_sweeplst_build_botsegtbl] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_collecting.dats: 3190(line=102, offs=34) -- 6455(line=184, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate: #line 110 "gcats1_collecting.dats" /* tmp14 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 110 "gcats1_collecting.dats" /* tmp15 = ats_selsin_mac(tmp14, atslab_1) */ ; #line 111 "gcats1_collecting.dats" tmp16 = the_sweeplst_array_get (arg0) ; #line 113 "gcats1_collecting.dats" tmp18 = chunklst_is_cons (tmp16) ; #line 113 "gcats1_collecting.dats" if (tmp18) { #line 113 "gcats1_collecting.dats" tmp17 = tmp16 ; } else { #line 114 "gcats1_collecting.dats" /* tmp19 = */ the_sweeplst_lock_release_one (arg0) ; #line 115 "gcats1_collecting.dats" /* tmp20 = */ gc_main_lock_acquire () ; #line 115 "gcats1_collecting.dats" /* tmp21 = ats_selsin_mac(tmp20, atslab_1) */ ; #line 116 "gcats1_collecting.dats" /* tmp22 = */ the_sweeplst_lock_acquire_one (arg0) ; #line 116 "gcats1_collecting.dats" /* tmp23 = ats_selsin_mac(tmp22, atslab_1) */ ; #line 118 "gcats1_collecting.dats" tmp24 = the_sweeplst_array_get (arg0) ; #line 120 "gcats1_collecting.dats" tmp25 = chunklst_is_cons (tmp24) ; #line 120 "gcats1_collecting.dats" if (tmp25) { #line 121 "gcats1_collecting.dats" /* tmp26 = */ gc_main_lock_release () ; #line 121 "gcats1_collecting.dats" tmp17 = tmp24 ; } else { #line 124 "gcats1_collecting.dats" tmp27 = the_chunk_count_limit_is_not_reached () ; #line 126 "gcats1_collecting.dats" if (tmp27) { #line 127 "gcats1_collecting.dats" tmp28 = atspre_asl_int_int1 (1, arg0) ; #line 127 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp28) ; } else { #line 129 "gcats1_collecting.dats" /* tmp29 = */ the_globalentrylst_lock_acquire () ; #line 129 "gcats1_collecting.dats" /* tmp30 = ats_selsin_mac(tmp29, atslab_1) */ ; #line 130 "gcats1_collecting.dats" /* tmp31 = */ the_manmemlst_lock_acquire () ; #line 130 "gcats1_collecting.dats" /* tmp32 = ats_selsin_mac(tmp31, atslab_1) */ ; #line 131 "gcats1_collecting.dats" /* tmp33 = */ the_threadinfolst_lock_acquire () ; #line 131 "gcats1_collecting.dats" /* tmp34 = ats_selsin_mac(tmp33, atslab_1) */ ; #line 133 "gcats1_collecting.dats" /* tmp35 = */ the_sweeplst_lock_acquire_rest (arg0) ; #line 132 "gcats1_collecting.dats" /* tmp36 = ats_selsin_mac(tmp35, atslab_1) */ ; #line 135 "gcats1_collecting.dats" /* tmp37 = */ gc_collect () ; #line 139 "gcats1_collecting.dats" /* tmp38 = */ the_sweeplst_lock_release_rest (arg0) ; #line 138 "gcats1_collecting.dats" /* tmp39 = ats_selsin_mac(tmp38, atslab_1) */ ; #line 142 "gcats1_collecting.dats" /* tmp40 = */ the_threadinfolst_lock_release () ; #line 143 "gcats1_collecting.dats" /* tmp41 = */ the_manmemlst_lock_release () ; #line 144 "gcats1_collecting.dats" /* tmp42 = */ the_globalentrylst_lock_release () ; #line 145 "gcats1_collecting.dats" tmp43 = the_sweeplst_array_get (arg0) ; #line 152 "gcats1_collecting.dats" tmp44 = chunklst_is_cons (tmp43) ; #line 152 "gcats1_collecting.dats" if (tmp44) { #line 153 "gcats1_collecting.dats" /* tmp45 = */ gc_main_lock_release () ; #line 153 "gcats1_collecting.dats" tmp17 = tmp43 ; } else { #line 155 "gcats1_collecting.dats" tmp46 = atspre_asl_int_int1 (1, arg0) ; #line 155 "gcats1_collecting.dats" tmp17 = chunklst_create_release (arg0, tmp46) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ #line 166 "gcats1_collecting.dats" tmp47 = chunklst_sweep_next_get (tmp17) ; #line 167 "gcats1_collecting.dats" /* tmp48 = */ the_sweeplst_array_set (arg0, tmp47) ; #line 168 "gcats1_collecting.dats" /* tmp49 = */ the_sweeplst_lock_release_one (arg0) ; #line 169 "gcats1_collecting.dats" tmp50 = gc_chunk_threading (tmp17) ; #line 176 "gcats1_collecting.dats" tmp51 = freeitmlst_is_nil (tmp50) ; #line 176 "gcats1_collecting.dats" if (tmp51) { #line 177 "gcats1_collecting.dats" /* tmp52 = */ atspre_prerr_string (ATSstrcst("GC: Fatal Error")) ; #line 178 "gcats1_collecting.dats" /* tmp53 = */ atspre_prerr_string (ATSstrcst(": [gc_freeitmlst_generate]: the generated freeitmlst is nil")) ; #line 179 "gcats1_collecting.dats" /* tmp54 = */ atspre_prerr_newline () ; #line 180 "gcats1_collecting.dats" /* tmp13 = */ ats_exit (1) ; } else { #line 182 "gcats1_collecting.dats" tmp13 = tmp50 ; } /* end of [if] */ return (tmp13) ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_freeitmlst_generate] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_collecting_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__sweeplst_lock_all_takeout_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 */ #line 188 "gcats1_collecting.dats" // [chks] must not be NULL! ats_void_type gc_sweeplst_build_chunk (ats_ptr_type chks) { int i, j ; freeitmlst *pi, *pij ; int itemwsz_log, itemtot, markcnt ; int freecnt ; markcnt = chunklst_markcnt_get (chks) ; /* fprintf (stderr, "gc_sweeplst_build_chunk: markcnt = %i\n", markcnt) ; */ #ifdef _ATS_MULTITHREAD // this logic is problematic! freecnt = chunklst_freecnt_get (chks) ; if (freecnt > 0) { fprintf (stderr, "gc_sweeplst_build_chunk: freecnt = %i\n", freecnt) ; return ; } #endif if (markcnt == 0) { chunklst_destroy (chks) ; return ; } itemtot = chunklst_itemtot_get (chks) ; if (markcnt > itemtot * CHUNK_SWEEP_CUTOFF) return ; itemwsz_log = chunklst_itemwsz_log_get (chks) ; /* if (itemwsz_log < 0) { // chks->itemtot = 1 and markcnt = 1 fprintf (stderr, "GC: Fatal Error: [gc_sweeplst_build_chunk]") ; fprintf (stderr, ": itemwsz_log = %i\n", itemwsz_log) ; exit (1) ; } */ /* fprintf (stderr, "gc_sweeplst_build_chunk: itemwsz_log = %i\n", itemwsz_log) ; */ the_sweeplst_array_insert_at (chks, itemwsz_log) ; return ; } /* end of [gc_sweeplst_build_chunk] */ /* ****** ****** */ #if (__WORDSIZE == 32) ats_void_type gc_sweeplst_build_the_topsegtbl () { int i ; botsegtbllst tbls ; the_sweeplst_array_clear_all () ; for (i = 0; i < TOPSEG_TABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; if (tbls) gc_sweeplst_build_botsegtbl (tbls) ; } // end of [for] return ; } /* end of [gc_sweeplst_build_the_topsegtbl] */ #endif // end of [__WORDSIZE == 32] #if (__WORDSIZE == 64) ats_void_type gc_sweeplst_build_the_topsegtbl () { int i ; botsegtbllst tbls ; the_sweeplst_array_clear_all () ; for (i = 0; i < TOPSEG_HASHTABLESIZE; i += 1) { tbls = the_topsegtbl[i] ; while (tbls) { // termination: obvious gc_sweeplst_build_botsegtbl (tbls) ; tbls = tbls->hash_next ; } // end of [while] } // end of [for] return ; } /* end of [gc_sweeplst_build_the_topsegtbl] */ #endif // end of [__WORDSIZE == 64] #line 266 "gcats1_collecting.dats" #define NCHUNK_PER_MARKSTACKPAGE 32 #define MARKSTACK_EXTEND_INCREMENT 2 extern int the_chunk_count ; extern int the_chunk_count_limit ; extern int the_chunk_count_limit_max ; extern int the_markstackpagecnt ; #ifdef _ATS_MULTITHREAD extern sem_t the_sleep_semaphore ; extern threadinfolst the_threadinfolst_fst ; extern __thread threadinfolst the_threadinfolst_self ; #endif ats_void_type gc_collect () { int overflow, nchunk, nmarkstackpage ; jmp_buf reg_save ; // register contents are roots #ifdef _ATS_MULTITHREAD threadinfolst infolst ; int nother ; #endif /* fprintf( stderr , "GC begs: the_chunk_count = %i and the_chunk_count_limit = %i\n" , the_chunk_count , the_chunk_count_limit ) ; */ setjmp (reg_save) ; // push registers onto the stack asm volatile ("": : :"memory") ; // stop potential optimization nmarkstackpage = (the_chunk_count << CHUNK_WORDSIZE_LOG) ; nmarkstackpage /= (MARKSTACK_PAGESIZE * NCHUNK_PER_MARKSTACKPAGE) ; nmarkstackpage += 1 ; nmarkstackpage -= the_markstackpagecnt ; /* fprintf (stderr, "gc_collect: nmarkstackpage = %i\n", nmarkstackpage) ; */ the_markstack_extend (nmarkstackpage) ; #ifdef _ATS_MULTITHREAD // put all of the other threads into sleep infolst = the_threadinfolst_fst ; nother = 0 ; while (infolst) { if (infolst != the_threadinfolst_self) { fprintf (stderr, "gc_collect: SIGUSR1: infolst->pid = %i\n", (int)(infolst->pid)) ; pthread_kill (infolst->pid, SIGUSR1) ; nother += 1 ; } infolst = infolst->next ; } while (nother) { // ordering is irrelevant fprintf (stderr, "gc_collect: sem_wait: bef: nother = %i\n", nother) ; sem_wait (&the_sleep_semaphore) ; nother -= 1 ; fprintf (stderr, "gc_collect: sem_wait: aft: nother = %i\n", nother) ; } fprintf (stderr, "gc_collect: nother = %i\n", nother) ; #endif // end of [_ATS_MULTITHREAD] gc_markbits_clear_the_topsegtbl () ; // clear all mark bits /* fprintf ( stderr, "gc_collect: gc_markbits_clear_topsegtbl: done\n", nmarkstackpage ) ; // end of [fprintf] */ overflow = gc_mark_all () ; // marking phase /* fprintf (stderr, "gc_collect: gc_mark_all: done\n") ; */ #ifdef _ATS_MULTITHREAD // wake up all of the sleeping threads infolst = the_threadinfolst_fst ; while (infolst) { if (infolst != the_threadinfolst_self) { fprintf (stderr, "gc_collect: SIGUSR2: infolst->pid = %i\n", (int)(infolst->pid)) ; pthread_kill (infolst->pid, SIGUSR2) ; } infolst = infolst->next ; } #endif // end of [_ATS_MULTITHREAD] the_freeitmlst_array_mark_unset () ; /* is this really needed? */ // [gc_mark_threadinfolst_one] is not called on [the_threadinfolst_self] // Therefore [the_freeitmlst_array_clear_all] must be called! the_freeitmlst_array_clear_all () ; /* clear the freeitmlst array */ gc_sweeplst_build_the_topsegtbl () ; // sweep chunks into [the_sweeplst_array] if (overflow > 0) { /* fprintf (stderr, "gc_collect: markstack overflow happend.\n") ; */ the_markstack_extend (MARKSTACK_EXTEND_INCREMENT) ; } /* fprintf( stderr , "GC ends: the_chunk_count = %i and the_chunk_count_limit = %i\n" , the_chunk_count , the_chunk_count_limit ) ; */ if (the_chunk_count_limit_max >= 0) { // [the_chunk_count_limit_max] is finite if (the_chunk_count_limit >= the_chunk_count_limit_max) { // fprintf(stderr, "GC: the_chunk_count_limit = %i\n", the_chunk_count_limit) ; // fprintf(stderr, "GC: the_chunk_count_limit_max = %i\n", the_chunk_count_limit_max) ; fprintf(stderr, "GC: Warning: the maximal chunk count limit is reached!\n") ; return ; } } /* end of [if] */ if (the_chunk_count >= the_chunk_count_limit * CHUNK_LIMIT_EXTEND_CUTOFF) the_chunk_count_limit *= 2 ; /* fprintf( stderr , "GC ends: update: the_chunk_count_limit = %i\n", the_chunk_count_limit ) ; */ return ; } /* end of [gc_collect] */ #line 395 "gcats1_collecting.dats" ats_ptr_type gc_chunk_threading (ats_ptr_type chks) { int i, j ; int itemwsz, itemtot ; freeitmlst data0, data, data_next ; int markcnt ; byte *markbits ; itemwsz = ((chunklst)chks)->itemwsz ; itemtot = ((chunklst)chks)->itemtot ; markcnt = ((chunklst)chks)->markcnt ; data0 = ((chunklst)chks)->data ; if (markcnt == 0) { // fast threading // threading all the freeitms in the created chunk data = data0 ; data_next = data0 ; for (i = 1; i < itemtot; i += 1) { data_next = (freeitmlst*)data_next + itemwsz ; *(freeitmlst*)data = data_next ; data = data_next ; } // end of [for] *(freeitmlst*)data = (freeitmlst)0 ; goto GC_CHUNK_THREADING_IS_DONE ; } // end of [if] markbits = ((chunklst)chks)-> markbits ; for (i = 0; i < itemtot; i += 1) { if (!MARK_GET (markbits, i)) break ; } if (i == itemtot) { data0 = (freeitmlst)0 ; goto GC_CHUNK_THREADING_IS_DONE ; } data0 = (freeitmlst*)data0 + i * itemwsz; data = data0 ; data_next = data0 ; for (j = i + 1; j < itemtot; j += 1) { data_next = (freeitmlst*)data_next + itemwsz ; if (!MARK_GET (markbits, j)) { *(freeitmlst*)data = data_next ; data = data_next ; } // end of [if] } // end of [for] *(freeitmlst*)data = (freeitmlst)0 ; /* if (itemtot - markcnt != freeitmlst_length (data0)) { fprintf (stderr, "GC: Fatal Error") ; fprintf (stderr, ": [gc_chunk_threading]: consistency check failed.\n") ; fprintf (stderr, "itemtot = %i\n", itemtot) ; fprintf (stderr, "markcnt = %i\n", markcnt) ; fprintf (stderr, "freeitmlst_length(data0) = %i\n", freeitmlst_length(data0)) ; exit (1) ; } */ GC_CHUNK_THREADING_IS_DONE: return data0 ; } /* end of [gc_chunk_threading] */ /* ****** ****** */ /* end of [gcats1_collecting_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_freeitmlst_dats.c0000664000175000017500000002644612655455557025234 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst2ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_nil) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, freeitmlst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, freeitmlst_tail_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, the_freeitmlst_array_get) (ats_int_type) ; ATSextern_fun(ats_void_type, the_freeitmlst_array_clear_one) (ats_int_type) ; ATSextern_fun(ats_bool_type, chunklst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, chunklst_markbits_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, chunklst_markcnt_dec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, gc_ptr_is_valid) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_int_type, MARK_GET) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, MARK_CLEAR) (ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_freeitmlst_loop_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_freeitmlst_loop_3 (ats_int_type arg0) ; static ats_void_type gcats1_freeitmlst_freeitmlst_mark_unset_4 (ats_ptr_type arg0) ; static ats_void_type gcats1_freeitmlst_loop_6 (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1707(line=52, offs=7) -- 1872(line=57, offs=8) */ ATSstaticdec() ats_int_type gcats1_freeitmlst_loop_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_freeitmlst_loop_1: #line 54 "gcats1_freeitmlst.dats" tmp2 = freeitmlst_is_nil (arg0) ; #line 54 "gcats1_freeitmlst.dats" if (tmp2) { #line 54 "gcats1_freeitmlst.dats" tmp1 = arg1 ; } else { #line 56 "gcats1_freeitmlst.dats" tmp3 = freeitmlst_tail_get (arg0) ; #line 56 "gcats1_freeitmlst.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 56 "gcats1_freeitmlst.dats" arg0 = tmp3 ; #line 56 "gcats1_freeitmlst.dats" arg1 = tmp4 ; #line 56 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_1 ; // tail call } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_freeitmlst_loop_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1688(line=51, offs=29) -- 1896(line=60, offs=4) */ ATSglobaldec() ats_int_type freeitmlst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_freeitmlst_length: #line 59 "gcats1_freeitmlst.dats" tmp0 = gcats1_freeitmlst_loop_1 (arg0, 0) ; return (tmp0) ; } /* end of [freeitmlst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 2038(line=66, offs=7) -- 2171(line=69, offs=8) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_loop_3 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab_gcats1_freeitmlst_loop_3: #line 67 "gcats1_freeitmlst.dats" tmp8 = atspre_iadd (11, 1) ; #line 67 "gcats1_freeitmlst.dats" tmp7 = atspre_ilt (arg0, tmp8) ; #line 67 "gcats1_freeitmlst.dats" if (tmp7) { #line 68 "gcats1_freeitmlst.dats" /* tmp9 = */ the_freeitmlst_array_clear_one (arg0) ; #line 68 "gcats1_freeitmlst.dats" tmp10 = atspre_iadd (arg0, 1) ; #line 68 "gcats1_freeitmlst.dats" arg0 = tmp10 ; #line 68 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_freeitmlst_loop_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 1990(line=64, offs=42) -- 2189(line=72, offs=4) */ ATSglobaldec() ats_void_type the_freeitmlst_array_clear_all () { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab_the_freeitmlst_array_clear_all: #line 71 "gcats1_freeitmlst.dats" /* tmp5 = */ gcats1_freeitmlst_loop_3 (0) ; return /* (tmp5) */ ; } /* end of [the_freeitmlst_array_clear_all] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 2259(line=76, offs=5) -- 3035(line=96, offs=4) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_freeitmlst_mark_unset_4 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4: #line 77 "gcats1_freeitmlst.dats" tmp12 = freeitmlst_is_cons (arg0) ; #line 77 "gcats1_freeitmlst.dats" if (tmp12) { #line 78 "gcats1_freeitmlst.dats" /* ats_int_type tmp13 ; */ #line 78 "gcats1_freeitmlst.dats" tmp13 = 0 ; #line 78 "gcats1_freeitmlst.dats" tmp14 = freeitmlst2ptr (arg0) ; #line 79 "gcats1_freeitmlst.dats" tmp15 = gc_ptr_is_valid (tmp14, (&tmp13)) ; #line 80 "gcats1_freeitmlst.dats" tmp17 = chunklst_is_cons (tmp15) ; #line 80 "gcats1_freeitmlst.dats" if (tmp17) { #line 80 "gcats1_freeitmlst.dats" tmp16 = tmp15 ; } else { #line 81 "gcats1_freeitmlst.dats" /* tmp18 = */ atspre_prerr_string (ATSstrcst("freeitmlst_mark_unset: illegal pointer: ptr = ")) ; #line 82 "gcats1_freeitmlst.dats" /* tmp19 = */ atspre_prerr_ptr (tmp14) ; #line 83 "gcats1_freeitmlst.dats" /* tmp20 = */ atspre_prerr_newline () ; #line 84 "gcats1_freeitmlst.dats" /* tmp16 = */ ats_exit (1) ; } /* end of [if] */ #line 87 "gcats1_freeitmlst.dats" tmp21 = chunklst_markbits_get (tmp16) ; #line 89 "gcats1_freeitmlst.dats" tmp24 = MARK_GET (tmp21, tmp13) ; #line 89 "gcats1_freeitmlst.dats" tmp23 = atspre_gt_int_int (tmp24, 0) ; #line 89 "gcats1_freeitmlst.dats" if (tmp23) { #line 91 "gcats1_freeitmlst.dats" /* tmp25 = */ MARK_CLEAR (tmp21, tmp13) ; #line 91 "gcats1_freeitmlst.dats" /* tmp22 = */ chunklst_markcnt_dec (tmp16) ; } else { /* empty */ } /* end of [if] */ #line 94 "gcats1_freeitmlst.dats" tmp26 = freeitmlst_tail_get (arg0) ; #line 94 "gcats1_freeitmlst.dats" arg0 = tmp26 ; #line 94 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_freeitmlst_mark_unset_4 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp11) */ ; } /* end of [gcats1_freeitmlst_freeitmlst_mark_unset_4] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 3165(line=102, offs=7) -- 3314(line=105, offs=8) */ ATSstaticdec() ats_void_type gcats1_freeitmlst_loop_6 (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; __ats_lab_gcats1_freeitmlst_loop_6: #line 103 "gcats1_freeitmlst.dats" tmp30 = atspre_iadd (11, 1) ; #line 103 "gcats1_freeitmlst.dats" tmp29 = atspre_ilt (arg0, tmp30) ; #line 103 "gcats1_freeitmlst.dats" if (tmp29) { #line 104 "gcats1_freeitmlst.dats" tmp32 = the_freeitmlst_array_get (arg0) ; #line 104 "gcats1_freeitmlst.dats" /* tmp31 = */ gcats1_freeitmlst_freeitmlst_mark_unset_4 (tmp32) ; #line 104 "gcats1_freeitmlst.dats" tmp33 = atspre_iadd (arg0, 1) ; #line 104 "gcats1_freeitmlst.dats" arg0 = tmp33 ; #line 104 "gcats1_freeitmlst.dats" goto __ats_lab_gcats1_freeitmlst_loop_6 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp28) */ ; } /* end of [gcats1_freeitmlst_loop_6] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_freeitmlst.dats: 3117(line=100, offs=43) -- 3347(line=108, offs=4) */ ATSglobaldec() ats_void_type the_freeitmlst_array_mark_unset () { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab_the_freeitmlst_array_mark_unset: #line 107 "gcats1_freeitmlst.dats" /* tmp27 = */ gcats1_freeitmlst_loop_6 (0) ; return /* (tmp27) */ ; } /* end of [the_freeitmlst_array_mark_unset] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_freeitmlst_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_freeitmlst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_misc_dats.c0000664000175000017500000001156012655455557024000 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ #line 51 "gcats1_misc.dats" static int the_stack_direction = 0 ; // // dir=1/-1 : upward/downward // static int gc_stack_dir_get_inner (int *some_ptr) { int some_int ; if (&some_int > some_ptr) return 1 ; else return -1 ; return 0 ; /* deadcode */ } static int gc_stack_dir_get_outer () { // static volatile void* get_inner = &gc_stack_dir_get_inner ; // int some_int ; if (!the_stack_direction) the_stack_direction = ((int(*)(int*))get_inner)(&some_int) ; /* fprintf (stderr, "the_stack_direction = %i\n", the_stack_direction) ; */ return the_stack_direction ; } ats_int_type gc_stack_dir_get () { return gc_stack_dir_get_outer () ; } /* ****** ****** */ #ifdef _ATS_MULTITHREAD static __thread ats_ptr_type the_stack_beg = (ats_ptr_type)0 ; #else /* single thread */ static ats_ptr_type the_stack_beg = (ats_ptr_type)0 ; #endif ats_void_type gc_stack_beg_set (ats_int_type dir) { long int pagesize, pagemask ; uintptr_t beg ; if (the_stack_beg) return ; // already set // pagesize must be a power of 2 pagesize = sysconf(_SC_PAGESIZE) ; // system configuration /* fprintf(stderr, "gc_stack_beg_set: dir = %i\n", dir) ; fprintf(stderr, "gc_stack_beg_set: pagesize = %li\n", pagesize) ; fprintf(stderr, "gc_stack_beg_set: &pagesize = %p\n", &pagesize) ; */ pagemask = ~(pagesize - 1) ; // 1...10...0 if (dir > 0) { beg = (uintptr_t)(&pagesize) ; beg &= pagemask ; } else { beg = (uintptr_t)(&pagesize) + pagesize ; beg &= pagemask ; beg -= sizeof(freeitmlst) ; } the_stack_beg = (ats_ptr_type)beg ; return ; } ats_ptr_type gc_stack_beg_get ( // there is no argument for this function ) { if (!the_stack_beg) { fprintf (stderr, "GC Fatal Error: [gc_stack_beg_get]") ; fprintf (stderr, ": [the_stack_beg] is not yet set.\n") ; exit (1) ; } return the_stack_beg ; } // end of [gc_stack_beg_get] /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_misc_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [gcats1_misc_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/.keeper0000664000175000017500000000000012655455557021663 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_globalentry_dats.c0000664000175000017500000003027112655455557025367 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } gcats1_globalentry_anairiats_sum_0 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_isub) (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_void_type, globalentry_insert) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, globalentrylst_insert) (ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert) (ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, entrypage_alloc) () ; ATSextern_fun(ats_void_type, gc_mark_entrypage) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, gc_mark_globalentrylst) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats____leak_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 2733(line=83, offs=33) -- 3549(line=106, offs=4) */ ATSglobaldec() ats_void_type globalentrylst_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab_globalentrylst_insert: #line 86 "gcats1_globalentry.dats" do { /* branch: __ats_lab_0 */ #line 87 "gcats1_globalentry.dats" __ats_lab_0_0: #line 87 "gcats1_globalentry.dats" __ats_lab_0_1: #line 87 "gcats1_globalentry.dats" tmp1 = atspre_igt (arg2, 0) ; #line 87 "gcats1_globalentry.dats" if (!tmp1) { goto __ats_lab_3_1 ; } #line 87 "gcats1_globalentry.dats" do { /* branch: __ats_lab_1 */ #line 88 "gcats1_globalentry.dats" __ats_lab_1_0: #line 88 "gcats1_globalentry.dats" if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } #line 88 "gcats1_globalentry.dats" __ats_lab_1_1: #line 88 "gcats1_globalentry.dats" tmp2 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; #line 88 "gcats1_globalentry.dats" tmp3 = &ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; #line 89 "gcats1_globalentry.dats" tmp4 = ats_ptrget_mac(ats_int_type, tmp3) ; #line 91 "gcats1_globalentry.dats" tmp5 = atspre_igte (tmp4, 0) ; #line 91 "gcats1_globalentry.dats" if (tmp5) { #line 92 "gcats1_globalentry.dats" /* tmp6 = */ globalentry_insert (tmp2, tmp4, arg1, arg2) ; #line 94 "gcats1_globalentry.dats" tmp7 = atspre_isub (tmp4, 1) ; #line 94 "gcats1_globalentry.dats" ats_ptrget_mac(ats_int_type, tmp3) = tmp7 ; } else { #line 96 "gcats1_globalentry.dats" /* tmp0 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (arg0, arg1, arg2) ; } /* end of [if] */ break ; /* branch: __ats_lab_2 */ #line 99 "gcats1_globalentry.dats" __ats_lab_2_0: #line 99 "gcats1_globalentry.dats" // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 99 "gcats1_globalentry.dats" __ats_lab_2_1: #line 100 "gcats1_globalentry.dats" /* tmp0 = */ ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (arg0, arg1, arg2) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ #line 103 "gcats1_globalentry.dats" __ats_lab_3_0: #line 103 "gcats1_globalentry.dats" __ats_lab_3_1: break ; } while (0) ; return /* (tmp0) */ ; } /* end of [globalentrylst_insert] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 3624(line=108, offs=40) -- 4159(line=123, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; __ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert: #line 115 "gcats1_globalentry.dats" tmp9 = entrypage_alloc () ; #line 115 "gcats1_globalentry.dats" tmp10 = ats_selsin_mac(tmp9, atslab_1) ; #line 119 "gcats1_globalentry.dats" tmp11 = atspre_isub (64, 1) ; #line 120 "gcats1_globalentry.dats" /* tmp12 = */ globalentry_insert (tmp10, tmp11, arg1, arg2) ; #line 122 "gcats1_globalentry.dats" tmp14 = atspre_isub (tmp11, 1) ; #line 122 "gcats1_globalentry.dats" tmp13 = ATS_MALLOC(sizeof(gcats1_globalentry_anairiats_sum_0)) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_0, tmp10) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_1, tmp14) ; ats_selptrset_mac(gcats1_globalentry_anairiats_sum_0, tmp13, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; #line 122 "gcats1_globalentry.dats" ats_ptrget_mac(ats_ptr_type, arg0) = tmp13 ; return /* (tmp8) */ ; } /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__globalentrylst_extend_insert] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_globalentry.dats: 4527(line=135, offs=34) -- 4863(line=146, offs=4) */ ATSglobaldec() ats_void_type gc_mark_globalentrylst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab_gc_mark_globalentrylst: #line 136 "gcats1_globalentry.dats" do { /* branch: __ats_lab_4 */ #line 137 "gcats1_globalentry.dats" __ats_lab_4_0: #line 137 "gcats1_globalentry.dats" if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } #line 137 "gcats1_globalentry.dats" __ats_lab_4_1: #line 137 "gcats1_globalentry.dats" tmp16 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_0) ; #line 137 "gcats1_globalentry.dats" tmp17 = ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_1) ; #line 137 "gcats1_globalentry.dats" tmp18 = &ats_caselptrlab_mac(gcats1_globalentry_anairiats_sum_0, arg0, atslab_2) ; #line 138 "gcats1_globalentry.dats" /* tmp19 = */ gc_mark_entrypage (tmp16, tmp17) ; #line 139 "gcats1_globalentry.dats" tmp20 = ats_ptrget_mac(ats_ptr_type, tmp18) ; #line 139 "gcats1_globalentry.dats" arg0 = tmp20 ; #line 139 "gcats1_globalentry.dats" goto __ats_lab_gc_mark_globalentrylst ; // tail call break ; /* branch: __ats_lab_5 */ #line 143 "gcats1_globalentry.dats" __ats_lab_5_0: #line 143 "gcats1_globalentry.dats" // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 143 "gcats1_globalentry.dats" __ats_lab_5_1: break ; } while (0) ; return /* (tmp15) */ ; } /* end of [gc_mark_globalentrylst] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; // ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTcons_0.tag = 0 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__GLOBALENTRYLSTnil_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_globalentry_2edats____leak_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 */ #line 150 "gcats1_globalentry.dats" ats_ptr_type entrypage_alloc () { void* p ; p = malloc (GLOBALENTRYPAGESIZE * sizeof(freeitmptrsz_t)) ; /* fprintf (stderr, "entrypage_alloc: p = %p\n", p) ; */ if (!p) { fprintf (stderr, "GC Fatal Error: [gc_globalentry.dats]") ; fprintf (stderr, ": [entrypage_alloc]: [malloc] failed.\n") ; exit (1) ; } // end of [if] return p ; } /* end of [entrypage_alloc] */ /* ****** ****** */ ats_void_type globalentry_insert (ats_ptr_type p0, ats_int_type u, ats_ptr_type p, ats_int_type wsz) { freeitmptrsz_t *p0_u ; p0_u = (freeitmptrsz_t*)p0 + u ; p0_u->atslab_ptr = p ; p0_u->atslab_size = wsz ; return ; } /* globalentry_insert */ /* ****** ****** */ extern ats_void_type gc_mark_ptr (ats_ptr_type) ; ats_void_type gc_mark_entrypage (ats_ptr_type p0, ats_int_type u/*used if higher*/) { int i, j ; freeitmptrsz_t *p0_i ; freeitmlst *p_j ; int wsz ; i = u + 1 ; p0_i = (freeitmptrsz_t*)p0 + i ; /* fprintf (stderr, "gc_mark_entrypage: enter\n") ; */ while (i < GLOBALENTRYPAGESIZE) { // termination: obvious p_j = (freeitmlst*)(p0_i->atslab_ptr) ; wsz = p0_i->atslab_size ; /* fprintf (stderr, "gc_mark_entrypage: p_j = %p(%i)\n", p_j, p_j) ; */ for (j = 0; j < wsz; j += 1, p_j += 1) { gc_mark_ptr (*p_j) ; } i += 1 ; p0_i += 1 ; } // end of [while] /* fprintf (stderr, "gc_mark_entrypage: leave\n") ; */ return ; } /* end of [gc_mark_entrypage] */ /* ****** ****** */ /* end of [gcats1_globalentry_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/GCATS/m32/gcats1_manops_dats.c0000664000175000017500000002265512655455557024351 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2013-9-3: 2h:41m ** */ /* 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 */ /* external codes at top */ #line 39 "gcats1_manops.dats" #include // for [offsetof] extern void *malloc (size_t bsz) ; // see [stdlib.h] extern void *calloc (size_t n, size_t tsz) ; // see [stdlib.h] extern void free (void*) ; // see [stdlib.h] extern void *realloc (void *ptr, size_t bsz) ; // see [stdlib.h] #line 71 "gcats1_manops.dats" static inline ats_void_type gc_mark_the_manmemlst_aux (ats_ptr_type p0, ats_int_type sz) { int i ; freeitmlst *p_i ; p_i = (freeitmlst*)p0 ; for (i = 0; i < sz; i += 1, p_i += 1) gc_mark_ptr (*p_i) ; return ; } /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, the_manmemlst_get) () ; ATSextern_fun(ats_bool_type, manmemlst_is_cons) (ats_ptr_type) ; ATSextern_fun(ats_int_type, manmemlst_itemwsz_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, manmemlst_next_get) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, manmemlst_data_get) (ats_ptr_type) ; ATSextern_fun(ats_void_type, gc_mark_the_manmemlst_aux) (ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type gcats1_manops_aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type gcats1_manops_auxlst_3 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 1994(line=62, offs=7) -- 2124(line=63, offs=75) */ ATSstaticdec() ats_int_type gcats1_manops_aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_gcats1_manops_aux_1: #line 63 "gcats1_manops.dats" tmp2 = manmemlst_is_cons (arg0) ; #line 63 "gcats1_manops.dats" if (tmp2) { #line 63 "gcats1_manops.dats" tmp3 = manmemlst_next_get (arg0) ; #line 63 "gcats1_manops.dats" tmp4 = atspre_iadd (arg1, 1) ; #line 63 "gcats1_manops.dats" arg0 = tmp3 ; #line 63 "gcats1_manops.dats" arg1 = tmp4 ; #line 63 "gcats1_manops.dats" goto __ats_lab_gcats1_manops_aux_1 ; // tail call } else { #line 63 "gcats1_manops.dats" tmp1 = arg1 ; } /* end of [if] */ return (tmp1) ; } /* end of [gcats1_manops_aux_1] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 1976(line=61, offs=28) -- 2164(line=67, offs=4) */ ATSglobaldec() ats_int_type manmemlst_length (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_manmemlst_length: #line 66 "gcats1_manops.dats" tmp0 = gcats1_manops_aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [manmemlst_length] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 2496(line=87, offs=7) -- 2838(line=97, offs=8) */ ATSstaticdec() ats_void_type gcats1_manops_auxlst_3 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_gcats1_manops_auxlst_3: #line 88 "gcats1_manops.dats" tmp7 = manmemlst_is_cons (arg0) ; #line 88 "gcats1_manops.dats" if (tmp7) { #line 90 "gcats1_manops.dats" tmp9 = manmemlst_data_get (arg0) ; #line 90 "gcats1_manops.dats" tmp10 = manmemlst_itemwsz_get (arg0) ; #line 89 "gcats1_manops.dats" /* tmp8 = */ gc_mark_the_manmemlst_aux (tmp9, tmp10) ; #line 96 "gcats1_manops.dats" tmp11 = manmemlst_next_get (arg0) ; #line 96 "gcats1_manops.dats" arg0 = tmp11 ; #line 96 "gcats1_manops.dats" goto __ats_lab_gcats1_manops_auxlst_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [gcats1_manops_auxlst_3] */ /* // /home/hwxi/research/Anairiats/ccomp/runtime/GCATS1/gcats1_manops.dats: 2481(line=86, offs=33) -- 2896(line=100, offs=4) */ ATSglobaldec() ats_void_type gc_mark_the_manmemlst () { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_gc_mark_the_manmemlst: #line 99 "gcats1_manops.dats" tmp12 = the_manmemlst_get () ; #line 99 "gcats1_manops.dats" /* tmp5 = */ gcats1_manops_auxlst_3 (tmp12) ; return /* (tmp5) */ ; } /* end of [gc_mark_the_manmemlst] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload () { ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_manops_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ #line 104 "gcats1_manops.dats" extern manmemlst the_manmemlst ; #ifdef _ATS_MULTITHREAD extern pthread_mutex_t the_manmemlst_lock ; #endif ats_ptr_type gc_man_malloc_bsz (ats_int_type bsz) { manmemlst mms ; mms = (manmemlst)malloc(sizeof(manmem) + bsz) ; if (!mms) { fprintf (stderr, "[gc_man_malloc_bsz]: [malloc] failed.\n") ; exit (1) ; } // end of [if] mms->itemwsz = bsz >> NBYTE_PER_WORD_LOG ; mms->prev = (manmemlst)0 ; #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif if (the_manmemlst) { the_manmemlst->prev = mms ; } mms->next = the_manmemlst ; the_manmemlst = mms ; #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif return (mms->data) ; } /* end of [gc_man_malloc_bsz] */ // ats_ptr_type gc_man_calloc_bsz (ats_int_type n, ats_int_type bsz) { int nbsz = n * bsz ; ats_ptr_type _data = gc_man_malloc_bsz (nbsz) ; memset (_data, 0, nbsz) ; return (_data) ; } /* end of [gc_man_calloc_bsz] */ // ats_void_type gc_man_free (ats_ptr_type ptr) { manmemlst mms, mms_prev, mms_next ; mms = (manmemlst)((byte*)ptr - offsetof(manmem, data)) ; mms_prev = mms->prev ; mms_next = mms->next ; #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif if (mms_next) { mms_next->prev = mms_prev ; } /* end of [if] */ if (mms_prev) { mms_prev->next = mms_next ; } else { the_manmemlst = mms_next ; } /* end of [if] */ #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif free (mms) ; return ; } /* end of [gc_man_free] */ // ats_ptr_type gc_man_realloc_bsz (ats_ptr_type ptr, ats_int_type bsz) { // manmemlst mms, mms_prev, mms_next ; // if (!ptr) return gc_man_malloc_bsz (bsz) ; // mms = (manmemlst)((byte*)ptr - offsetof(manmem, data)) ; mms_prev = mms->prev ; mms_next = mms->next ; mms = (manmemlst)realloc(mms, sizeof(manmem) + bsz) ; // if (!mms) { fprintf (stderr, "[gc_man_realloc_bsz]: [realloc] failed.\n") ; exit (1) ; } // end of [if] // mms->itemwsz = bsz >> NBYTE_PER_WORD_LOG ; // #ifdef _ATS_MULTITHREAD pthread_mutex_lock (&the_manmemlst_lock) ; #endif // if (mms_next) { mms_next->prev = mms ; } /* end of [if] */ // if (mms_prev) { mms_prev->next = mms ; } else { the_manmemlst = mms ; } /* end of [if] */ // #ifdef _ATS_MULTITHREAD pthread_mutex_unlock (&the_manmemlst_lock) ; #endif // return (mms->data) ; // } /* end of [gc_man_realloc_bsz] */ /* ****** ****** */ /* end of [gcats1_manops_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_basics.h0000664000175000017500000001450112655455557021444 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_BASICS_H #define ATS_BASICS_H /* ****** ****** */ /* #define ATSstringize(id) # id */ /* ****** ****** */ // // HX-2011-02-17: // if the following definition is not supporten, please change it to: // #define ATSunused // #define ATSunused __attribute__ ((unused)) /* ****** ****** */ // #define ATSextern(ty, name) extern ty name #define ATSextern_fun(ty, name) extern ty name #define ATSextern_prf(name) // proof constant #define ATSextern_val(ty, name) extern ty name // #define ATSstatic(ty, name) static ty name #define ATSstatic_fun(ty, name) static ty name #define ATSstatic_val(ty, name) static ty name #define ATSstatic_void(name) // void name // retired // #define ATSglobal(ty, name) ty name // #define ATSlocal(ty, name) ty ATSunused name #define ATSlocal_void(name) // void name // retired // #define ATScastfn(castfn, name) name /* ****** ****** */ // // HX-2011-02-17: // if the following definition is problematic, please change it to: // #define ATSstrcst(x) x // #define ATSstrcst(x) ((ats_ptr_type)x) // HX-2011-02-17 /* ****** ****** */ #define ATSglobaldec() #define ATSstaticdec() static #define ATSextfun() extern #define ATSinline() static inline /* ****** ****** */ // // HX-2010-05-24: // if TLS is not supported, then please compile with the flag -D_ATSTLS_NONE // #define ATSthreadlocalstorage() __thread #ifdef _ATSTLS_NONE #undef ATSthreadlocalstorage #define ATSthreadlocalstorage() #endif // end of [_ATSTLS_NONE] /* ****** ****** */ #define ATSdeadcode() \ do { \ fprintf ( \ stderr, \ "abort(ATS): file = %s and line = %d: the deadcode is executed!\n", \ __FILE__, __LINE__ \ ) ; \ abort (); \ } while (0); /* ****** ****** */ // // HX: boolean values // #define ats_true_bool 1 #define ats_false_bool 0 /* ****** ****** */ // // HX: needed for handling [PATCKstring] // #define __strcmpats(s1, s2) strcmp((char*)(s1), (char*)(s2)) /* ****** ****** */ // // HX: closure function selection // #define ats_closure_fun(f) ((ats_clo_ptr_type)f)->closure_fun /* ****** ****** */ // // HX: handling cast functions // #define ats_castfn_mac(hit, vp) ((hit)vp) /* ****** ****** */ #define ats_field_getval(tyrec, ref, lab) (((tyrec*)(ref))->lab) #define ats_field_getptr(tyrec, ref, lab) (&((tyrec*)(ref))->lab) /* ****** ****** */ #define ats_cast_mac(ty, x) ((ty)(x)) #define ats_castptr_mac(ty, x) ((ty*)(x)) #define ats_selind_mac(x, ind) ((x)ind) #define ats_selbox_mac(x, lab) ((x)->lab) #define ats_select_mac(x, lab) ((x).lab) #define ats_selptr_mac(x, lab) ((x)->lab) #define ats_selsin_mac(x, lab) (x) #define ats_selptrset_mac(ty, x, lab, v) (((ty*)x)->lab = (v)) #define ats_caselind_mac(ty, x, ind) (((ty*)(&(x)))ind) #define ats_caselptrind_mac(ty, x, ind) (((ty*)(x))ind) #define ats_caselptrlab_mac(ty, x, lab) (((ty*)(x))->lab) #define ats_varget_mac(ty, x) (x) #define ats_ptrget_mac(ty, x) (*(ty*)(x)) /* ****** ****** */ // // HX: handling for/while loops // #define ats_loop_beg_mac(init) while(ats_true_bool) { init: #define ats_loop_end_mac(init, fini) goto init ; fini: break ; } // // HX: handling while loop: deprecated!!! // #define ats_while_beg_mac(clab) while(ats_true_bool) { clab: #define ats_while_end_mac(blab, clab) goto clab ; blab: break ; } /* ****** ****** */ // // HX: for initializing a reference // #define ats_instr_move_ref_mac(tmp, hit, val) \ do { tmp = ATS_MALLOC (sizeof(hit)) ; *(hit*)tmp = val ; } while (0) /* ****** ****** */ // // HX: for proof checking at run-time // #define \ ats_proofcheck_beg_mac(dyncst) \ static int dyncst ## _flag = 0 ; \ do { \ if (dyncst ## _flag > 0) return ; \ if (dyncst ## _flag < 0) { \ fprintf (stderr, \ "exit(ATS): proof checking failure: [%s] is cyclically defined!\n", \ # dyncst \ ) ; \ exit (1) ; \ } \ dyncst ## _flag = -1 ; \ } while (0) ; /* end of [ats_proofcheck_beg_mac] */ #define \ ats_proofcheck_end_mac(dyncst) { dyncst ## _flag = 1 ; } /* ****** ****** */ /* ** HX: ** [mainats_prelude] is called in the function [main] ** it is implemented in [$ATSHOME/prelude/ats_main_prelude.dats] ** where it is given the name [main_prelude]. */ extern void mainats_prelude () ; /* ****** ****** */ /* ** HX: ** functions for handling match failures ** the implementation is given in [ats_prelude.c] */ extern void ats_caseof_failure_handle (const char *loc) ; extern void ats_funarg_match_failure_handle (const char *loc) ; /* ****** ****** */ #endif /* ATS_BASICS_H */ /* end of [ats_basics.h] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_types.h0000664000175000017500000001031612655455557021344 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_TYPES_H #define ATS_TYPES_H /* ****** ****** */ #include #include // for both [size_t] and [ptrdiff_t] #include // for [ssize_t] /* ****** ****** */ struct ats_struct_type ; /* of indefinite size */ /* ****** ****** */ typedef struct ats_struct_type ats_abs_type ; typedef void *ats_ptr_type ; typedef void *ats_ref_type ; /* typedef struct ats_struct_type *ats_ptr_type ; typedef struct ats_struct_type *ats_ref_type ; */ #ifdef _ATS_GEIZELLA typedef void ats_var_type ; // for ATS/Geizella #else typedef struct ats_struct_type ats_var_type ; #endif // end of [_ATS_GEIZELLA] typedef void ats_varet_type ; typedef void ats_void_type ; typedef struct{} ats_empty_type ; /* ****** ****** */ typedef int ats_bool_type ; typedef unsigned char ats_byte_type ; typedef char ats_char_type ; typedef signed char ats_schar_type ; typedef unsigned char ats_uchar_type ; typedef double ats_double_type ; typedef long double ats_ldouble_type ; typedef float ats_float_type ; /* ****** ****** */ typedef int ats_int_type ; typedef unsigned int ats_uint_type ; typedef long int ats_lint_type ; typedef unsigned long int ats_ulint_type ; typedef long long int ats_llint_type ; typedef unsigned long long int ats_ullint_type ; typedef short int ats_sint_type ; typedef unsigned short int ats_usint_type ; typedef size_t ats_size_type ; typedef ssize_t ats_ssize_type ; typedef ptrdiff_t ats_ptrdiff_type ; /* ****** ****** */ typedef int8_t ats_int8_type ; typedef uint8_t ats_uint8_type ; typedef int16_t ats_int16_type ; typedef uint16_t ats_uint16_type ; typedef int32_t ats_int32_type ; typedef uint32_t ats_uint32_type ; typedef int64_t ats_int64_type ; typedef uint64_t ats_uint64_type ; /* ****** ****** */ // // HX-2010-12-06: // the erasure name of [ptr] is [ats_ptrself_type] // typedef void *ats_ptrself_type ; /* ****** ****** */ /* typedef ats_ptr_type ats_string_type ; */ /* ****** ****** */ /* // // HX: this is intended: no definition for [ats_atarray_type]. // */ typedef struct { ats_ptr_type data ; ats_int_type size ; } ats_a1rray_type ; typedef ats_a1rray_type *ats_a1rray_ptr_type ; typedef ats_a1rray_ptr_type ats_array_type ; typedef struct { ats_ptr_type data ; ats_int_type size_row ; ats_int_type size_col ; } ats_a2rray_type ; typedef ats_a2rray_type *ats_a2rray_ptr_type ; typedef ats_a2rray_ptr_type ats_matrix_type ; /* ****** ****** */ typedef struct { int tag ; } ats_sum_type ; typedef ats_sum_type *ats_sum_ptr_type ; /* ****** ****** */ typedef struct { int tag ; char *name ; } ats_exn_type ; typedef ats_exn_type *ats_exn_ptr_type ; /* ****** ****** */ typedef void *ats_fun_ptr_type ; /* ****** ****** */ typedef struct { void *closure_fun ; } ats_clo_type ; typedef ats_clo_type *ats_clo_ptr_type ; typedef ats_clo_type *ats_clo_ref_type ; /* ****** ****** */ #endif /* ATS_TYPES_H */ /* end of [ats_types.h] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_prelude_gcbdw.c0000664000175000017500000000666712655455557023017 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Likai Liu (liulk AT cs DOT bu DOT edu) */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATSRUNTIME_GCBDW_C #define ATSRUNTIME_GCBDW_C /* ****** ****** */ #include // interface file for [GCBDW] /* ****** ****** */ ats_void_type ats_gc_init () { GC_INIT() ; return ; } // end of [ats_gc_init] ats_void_type ats_gc_markroot ( const ats_ptr_type p, ats_size_type bsz ) { return ; } // end of [ats_gc_markroot] ats_int_type ats_gc_chunk_count_limit_get () { return 0 ; } // end of [ats_gc_chunk_count_limit_get] ats_void_type ats_gc_chunk_count_limit_set (ats_int_type nchunk) { return ; } // end of [ats_gc_chunk_count_limit_set] ats_int_type ats_gc_chunk_count_limit_max_get () { return 0 ; } // end of [ats_gc_chunk_count_limit_max_get] ats_void_type ats_gc_chunk_count_limit_max_set (ats_int_type nchunk) { return ; } // end of [ats_gc_chunk_count_limit_max_set] /* ****** ****** */ ats_ptr_type ats_malloc_gc ( ats_size_type nbytes ) { return GC_MALLOC(nbytes) ; // allocated memory is cleared } // end of [ats_malloc_gc] ats_ptr_type ats_calloc_gc ( ats_size_type nitm , ats_size_type bsz ) { return GC_MALLOC(nitm * bsz) ; // allocated memory is cleared } // end of [ats_calloc_gc] ats_void_type ats_free_gc (ats_ptr_type p) { GC_FREE(p) ; return ; } // end of [ats_free_gc] ats_ptr_type ats_realloc_gc ( ats_ptr_type p_old , ats_size_type nbytes_new ) { return GC_REALLOC(p_old, nbytes_new) ; } // end of [ats_realloc_gc] /* ****** ****** */ ats_ptr_type ats_malloc_ngc ( ats_size_type nbytes ) { return GC_MALLOC_UNCOLLECTABLE(nbytes) ; // allocated memory is cleared } // end of [ats_malloc_ngc] ats_ptr_type ats_calloc_ngc ( ats_size_type nitm , ats_size_type bsz ) { return GC_MALLOC_UNCOLLECTABLE(nitm * bsz) ; // allocated memory is cleared } // end of [ats_calloc_ngc] ats_void_type ats_free_ngc (ats_ptr_type p) { GC_FREE (p) ; return ; } // end of [ats_free_ngc] ats_ptr_type ats_realloc_ngc ( ats_ptr_type p_old , ats_size_type nbytes_new ) { return GC_REALLOC (p_old, nbytes_new) ; } // end of [ats_realloc_ngc] /* ****** ****** */ #endif /* ATSRUNTIME_GCBDW_C */ /* end of [ats_prelude_gcbdw.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_memory.h0000664000175000017500000000531112655455557021507 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** */ /* ****** ****** */ #ifndef ATS_MEMORY_H #define ATS_MEMORY_H /* ****** ****** */ #include "ats_types.h" /* ****** ****** */ // // HX: the function [alloca] is declared in extern void *alloca (size_t nsz) ; // [alloca.h] or [stdlib.h] #define ATS_ALLOCA(sz) alloca(sz) #define ATS_ALLOCA2(n, sz) alloca((n)*(sz)) /* ****** ****** */ #define ATS_GC_INIT ats_gc_init #define ATS_GC_MARKROOT ats_gc_markroot /* ****** ****** */ #define ATS_FREE ats_free_gc #define ATS_MALLOC ats_malloc_gc #define ATS_MALLOC2(n, sz) ATS_MALLOC((n)*(sz)) #define ATS_CALLOC ats_calloc_gc #define ATS_REALLOC ats_realloc_gc /* ****** ****** */ extern ats_void_type ats_gc_init () ; extern ats_void_type ats_gc_markroot (ats_ptr_type p, ats_size_type bsz) ; /* ****** ****** */ extern ats_ptr_type ats_malloc_ngc (ats_size_type n) ; extern ats_ptr_type ats_calloc_ngc (ats_size_type nmemb, ats_size_type bsz) ; extern ats_void_type ats_free_ngc (const ats_ptr_type p) ; extern ats_ptr_type ats_realloc_ngc (const ats_ptr_type p, ats_size_type n) ; /* ****** ****** */ extern ats_ptr_type ats_malloc_gc (ats_size_type bsz) ; extern ats_ptr_type ats_calloc_gc (ats_size_type nmemb, ats_size_type bsz) ; extern ats_void_type ats_free_gc (const ats_ptr_type p) ; extern ats_ptr_type ats_realloc_gc (const ats_ptr_type p, ats_size_type bsz) ; /* ****** ****** */ #endif /* ATS_MEMORY_H */ /* end of [ats_memory.h] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_exception.h0000664000175000017500000001075412655455557022204 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ** ** Authors: ** Likai Liu (liulk AT cs DOT bu DOT edu) // Summer 2005 ** Rick Lavoie (coldfury AT cs DOT bu DOT edu) // Fall 2006 ** Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Summer 2007 ** */ #ifndef ATS_EXCEPTION_H #define ATS_EXCEPTION_H // the file should only be loaded once /* ****** ****** */ /* ** always loaded after the following two files: */ #include "ats_types.h" #include "ats_basics.h" /* ****** ****** */ // #include // /* ****** ****** */ // typedef jmp_buf ats_jmp_buf_type ; // #define atspre_setjmp(env, mask) setjmp(env) #define atspre_longjmp(env, ret) longjmp(env, ret) // /* ****** ****** */ // // HX-2011-04-24: // the function [alloca] // is declared in [alloca.h] or [stdlib.h] // extern void *alloca (size_t bsz) ; // /* ****** ****** */ /* ** function for handling uncaught exceptions */ extern ats_void_type ats_uncaught_exception_handle(const ats_exn_ptr_type exn) ; /* ****** ****** */ /* exception implementation */ typedef struct ats_exception_frame_struct { ats_exn_ptr_type exn ; struct ats_exception_frame_struct *prev ; ats_jmp_buf_type env ; } ats_exception_frame_type ; /* ****** ****** */ #ifdef _ATS_MULTITHREAD extern ATSthreadlocalstorage() void *the_ats_exception_stack ; #else /* single thread */ extern void *the_ats_exception_stack ; #endif // end of [_ATS_MULTITHREAD] /* ****** ****** */ #define ATS_CURRENT_FRAME \ ((ats_exception_frame_type*)the_ats_exception_stack) #define ATS_CURRENT_FRAME_LVAL the_ats_exception_stack #define ATS_ENTER_EXCEPTION_FRAME() \ do { \ ats_exception_frame_type *frame = \ (ats_exception_frame_type*)alloca(sizeof(ats_exception_frame_type)); \ frame->prev = ATS_CURRENT_FRAME ; \ ATS_CURRENT_FRAME_LVAL = frame ; \ } while (0) // end of [do] #define ATS_LEAVE_EXCEPTION_FRAME() \ do { ATS_CURRENT_FRAME_LVAL = ATS_CURRENT_FRAME->prev; } while (0) #define ATS_RAISE(exn) \ do { \ if (ATS_CURRENT_FRAME == 0/*null*/) ats_uncaught_exception_handle(exn); \ ATS_CURRENT_FRAME->exn = exn ; \ atspre_longjmp(ATS_CURRENT_FRAME->env, 0) ; \ } while (0) // end of [do] /* ****** ****** */ /* ** WARNING: DO NOT USE THE FOLLOWING MACROS: */ #define ATS_TRYWITH_TRY(tmp_exn) \ do { \ ATS_ENTER_EXCEPTION_FRAME() ; \ tmp_exn = (ats_exn_ptr_type)((intptr_t)atspre_setjmp(ATS_CURRENT_FRAME->env, 0)) ; \ if ((intptr_t)tmp_exn == 0) { /* ... */ #define ATS_TRYWITH_WITH(tmp_exn) \ ATS_LEAVE_EXCEPTION_FRAME() ; \ } else { \ tmp_exn = ATS_CURRENT_FRAME->exn ; \ ATS_LEAVE_EXCEPTION_FRAME() ; /* exception handling */ #define ATS_TRYWITH_END() \ } \ } while(0) /* end of WARNING */ /* ****** ****** */ static inline ats_void_type ats_raise_exn // raising an exception (const ats_exn_ptr_type exn) { ATS_RAISE(exn) ; return ; } /* end of [ats_raise_exn] */ /* ****** ****** */ /* ** ** function for generating new exception constructor tag ** */ extern int ats_exception_con_tag ; static inline int ats_exception_con_tag_new () { ats_exception_con_tag += 1 ; return (ats_exception_con_tag) ; } /* end of [ats_exception_con_tag_new] */ /* functions for handling match failures */ extern ats_void_type ats_caseof_failure(void) ; extern ats_void_type ats_funarg_match_failure(void) ; /* ****** ****** */ #endif /* ATS_EXCEPTION_H */ /* end of [ats_exception.h] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_config.h0000664000175000017500000000457612655455557021460 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_CONFIG_H #define ATS_CONFIG_H /* ****** ****** */ // #include "config.h" // /* ****** ****** */ #define NBIT_PER_BYTE 8 #define NBIT_PER_BYTE_LOG 3 /* ****** ****** */ #ifndef __WORDSIZE #define __WORDSIZE (SIZEOF_VOIDP * NBIT_PER_BYTE) #endif // end of [__WORDSIZE] /* ****** ****** */ #if (__WORDSIZE == 32) #define NBYTE_PER_WORD 4 #define NBYTE_PER_WORD_LOG 2 #if (NBYTE_PER_WORD != (1 << NBYTE_PER_WORD_LOG)) #error "NBYTE_PER_WORD != (1 << NBYTE_PER_WORD_LOG)\n" #endif #elif (__WORDSIZE == 64) #define NBYTE_PER_WORD 8 #define NBYTE_PER_WORD_LOG 3 #if (NBYTE_PER_WORD != (1 << NBYTE_PER_WORD_LOG)) #error "NBYTE_PER_WORD != (1 << NBYTE_PER_WORD_LOG)\n" #endif #else #error "[__WORDSIZE] is not supported.\n" #endif /* ****** ****** */ #define NBIT_PER_WORD (NBIT_PER_BYTE * NBYTE_PER_WORD) #define NBIT_PER_WORD_LOG (NBIT_PER_BYTE_LOG + NBYTE_PER_WORD_LOG) #if (NBIT_PER_WORD != (1 << NBIT_PER_WORD_LOG)) #error "NBIT_PER_WORD != (1 << NBIT_PER_WORD_LOG)\n" #endif /* ****** ****** */ #endif /* ATS_CONFIG_H */ /* end of [ats_config.h] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_prelude.c0000664000175000017500000001153112655455557021633 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #include "config.h" #include #ifdef _ATS_MULTITHREAD #include #endif // end of [_ATS_MULTITHREAD] /* ****** ****** */ #include "ats_types.h" #include "ats_basics.h" #include "ats_memory.h" /* ****** ****** */ // // HX: implemented in [prelude/DATS/basics.dats] // extern void ats_exit_errmsg (int err, char *msg) ; /* ****** ****** */ /* ** sizeof(ats_empty_type) == 0 */ ats_empty_type ats_empty_value ; /* ****** ****** */ // // HX: The following variables are used in basics.dats // int ats_stdin_view_lock = 1 ; int ats_stdout_view_lock = 1 ; int ats_stderr_view_lock = 1 ; /* ****** ****** */ /* ** the type of [the_ats_exception_stack] ** is given in the file [ats_exception.h] */ #ifdef _ATS_MULTITHREAD ATSthreadlocalstorage() // thread-local storage #endif // end of [_ATS_MULTITHREAD] void *the_ats_exception_stack = NULL ; /* ****** ****** */ // // HX: some common exceptions // ats_exn_type AssertionExceptionCon = { 10, "AssertionException" } ; ats_exn_ptr_type AssertionException = &AssertionExceptionCon ; ats_exn_type OverflowExceptionCon = { 20, "OverflowException" } ; ats_exn_ptr_type OverflowException = &OverflowExceptionCon ; ats_exn_type DivisionByZeroExceptionCon = { 30, "DivisionByZeroException" } ; ats_exn_ptr_type DivisionByZeroException = &DivisionByZeroExceptionCon ; /* ****** ****** */ ats_exn_type ListSubscriptExceptionCon = { 40, "ListSubscriptException" } ; ats_exn_ptr_type ListSubscriptException = &ListSubscriptExceptionCon ; ats_exn_ptr_type ListSubscriptException_make () { return ListSubscriptException ; } ats_bool_type isListSubscriptException (ats_exn_ptr_type exn) { return (ListSubscriptException->tag==exn->tag ? ats_true_bool : ats_false_bool) ; } ats_exn_type ArraySubscriptExceptionCon = { 50, "ArraySubscriptException" } ; ats_exn_ptr_type ArraySubscriptException = &ArraySubscriptExceptionCon ; ats_exn_ptr_type ArraySubscriptException_make () { return ArraySubscriptException ; } ats_bool_type isArraySubscriptException (ats_exn_ptr_type exn) { return (ArraySubscriptException->tag==exn->tag ? ats_true_bool : ats_false_bool) ; } /* ****** ****** */ // // HX: the numbers less than 1024 are all int ats_exception_con_tag = 1024 ; // reserved for special use /* ****** ****** */ /* ** function for handling uncaught exceptions */ extern void exit (int status) ; // declared in [stdlib.h] ats_void_type ats_uncaught_exception_handle ( const ats_exn_ptr_type exn ) { fprintf(stderr, "exit(ATS): uncaught exception: %s(%d)\n", exn->name, exn->tag ) ; exit(1) ; return ; // deadcode } // end of [ats_uncaught_exception_handle] /* ****** ****** */ /* ** functions for handling match failures */ void ats_caseof_failure_handle ( const char *loc // location of the failure ) { fprintf(stderr, "exit(ATS): %s: match failure.\n", loc) ; exit(1) ; return ; // deadcode } // end of [ats_caseof_failure_handle] void ats_funarg_match_failure_handle ( const char *loc // location of the failure ) { fprintf(stderr, "exit(ATS): %s: funarg match failure.\n", loc) ; exit(1) ; return ; // deadcode } // end of [ats_funarg_match_failure_handle] /* ****** ****** */ /* ** functions for memory allocation and deallocation */ #ifdef _ATS_NGC // no GC #include "ats_prelude_ngc.c" #elif _ATS_GCATS // special GC for ATS #include "ats_prelude_gcats.c" #elif _ATS_GCBDW // Boehm-Demers-Weise conservative GC for C/C++ #include "ats_prelude_gcbdw.c" #else // _ATS_NGC is the default #include "ats_prelude_ngc.c" #endif // end of [ifdef] /* ****** ****** */ /* end of [ats_prelude.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/gcats1_all.cats0000664000175000017500000000672512655455557022057 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June 2008 // /* ****** ****** */ /* 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/char.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/integer.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/reference.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/printf.cats" #include "prelude/CATS/array.cats" #endif /* _ATS_PRELUDE_NONE */ /* ****** ****** */ #include "GCATS/gcats1.cats" /* ****** ****** */ #if (__WORDSIZE==32) #include "GCATS/m32/gcats1_top_dats.c" #include "GCATS/m32/gcats1_misc_dats.c" #include "GCATS/m32/gcats1_freeitmlst_dats.c" #include "GCATS/m32/gcats1_chunk_dats.c" #include "GCATS/m32/gcats1_globalentry_dats.c" #include "GCATS/m32/gcats1_marking_dats.c" #include "GCATS/m32/gcats1_collecting_dats.c" #include "GCATS/m32/gcats1_autops_dats.c" #include "GCATS/m32/gcats1_manops_dats.c" #endif // __WORDSIZE==32) /* ****** ****** */ #if (__WORDSIZE==64) #include "GCATS/m64/gcats1_top_dats.c" #include "GCATS/m64/gcats1_misc_dats.c" #include "GCATS/m64/gcats1_freeitmlst_dats.c" #include "GCATS/m64/gcats1_chunk_dats.c" #include "GCATS/m64/gcats1_globalentry_dats.c" #include "GCATS/m64/gcats1_marking_dats.c" #include "GCATS/m64/gcats1_collecting_dats.c" #include "GCATS/m64/gcats1_autops_dats.c" #include "GCATS/m64/gcats1_manops_dats.c" #endif // __WORDSIZE==64) /* ****** ****** */ ats_void_type ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload () { static int ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload_flag) return ; ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__staload_flag = 1 ; return ; } /* staload function */ /* ****** ****** */ /* end of [gcats1_all.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_prelude_ngc.c0000664000175000017500000001123712655455557022465 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: May 2009 // /* ****** ****** */ // // HX-2010-03-17: should it be named ATS_PRELUDE_NGC_C? // #ifndef ATSRUNTIME_NGC_C #define ATSRUNTIME_NGC_C /* ****** ****** */ // declared in [stdlib.h] extern void *malloc (size_t bsz) ; extern void *calloc (size_t n, size_t bsz) ; extern void free (void *p) ; extern void *realloc (void* p, size_t bsz) ; /* ****** ****** */ ats_void_type ats_gc_init () { return ; } // end of [ats_gc_init] ats_void_type ats_gc_markroot ( const ats_ptr_type p, ats_size_type bsz ) { return ; } // end of [ats_gc_markroot] ats_int_type ats_gc_chunk_count_limit_get () { return 0 ; } // end of [ats_gc_chunk_count_limit_get] ats_void_type ats_gc_chunk_count_limit_set (ats_int_type nchunk) { return ; } // end of [ats_gc_chunk_count_limit_set] ats_int_type ats_gc_chunk_count_limit_max_get () { return 0 ; } // end of [ats_gc_chunk_count_limit_max_get] ats_void_type ats_gc_chunk_count_limit_max_set (ats_int_type nchunk) { return ; } // end of [ats_gc_chunk_count_limit_max_set] /* ****** ****** */ ats_ptr_type ats_malloc_gc ( ats_size_type n ) { ats_ptr_type *p ; /* fprintf (stderr, "ats_malloc_gc: n = %i\n", n) ; */ p = malloc(n) ; /* fprintf (stderr, "ats_malloc_gc: p = %p(%li)\n", p, p) ; */ if (!p) ats_exit_errmsg(1, "exit(ATS): [ats_malloc_gc] failed.\n") ; return p ; } // end of [ats_malloc_gc] ats_ptr_type ats_calloc_gc ( ats_size_type n, ats_size_type bsz ) { ats_ptr_type *p ; /* fprintf (stderr, "ats_calloc_gc: n = %i and bsz = %i\n", n, bsz) ; */ p = calloc(n, bsz) ; /* fprintf (stderr, "ats_calloc_gc: p = %p(%li)\n", p, p) ; */ if (!p) ats_exit_errmsg(1, "exit(ATS): [ats_calloc_gc] failed.\n") ; return p ; } // end of [ats_calloc_gc] ats_void_type ats_free_gc ( const ats_ptr_type p ) { /* fprintf (stderr, "ats_free_gc: p = %p(%li)\n", p, p) ; */ free(p) ; return ; } // end of [ats_free_gc] ats_ptr_type ats_realloc_gc ( const ats_ptr_type p, ats_size_type bsz ) { ats_ptr_type p_new ; /* fprintf (stderr, "ats_realloc_gc: p = %p and bsz = %i\n", p, bsz) ; */ p_new = realloc(p, bsz) ; /* fprintf (stderr, "ats_realloc_gc: p_new = %p(%li)\n", p_new, p_new) ; */ if (!p_new) ats_exit_errmsg(1, "exit(ATS): [ats_realloc_gc] failed.\n") ; return p_new ; } // end of [ats_realloc_gc] /* ****** ****** */ ats_ptr_type ats_malloc_ngc ( ats_size_type n ) { ats_ptr_type *p ; /* fprintf (stderr, "ats_malloc_ngc: _ATS_NGC: n = %i\n", n) ; */ p = malloc(n) ; /* fprintf (stderr, "ats_malloc_ngc: _ATS_NGC: p = %p(%li)\n", p, p) ; */ return p ; } // end of [ats_malloc_ngc] ats_ptr_type ats_calloc_ngc ( ats_size_type n, ats_size_type bsz ) { ats_ptr_type *p ; p = calloc(n, bsz) ; return p ; } // end of [ats_calloc_ngc] ats_void_type ats_free_ngc ( const ats_ptr_type p ) { /* fprintf (stderr, "ats_free_ngc: _ATS_NGC: p = %p\n", p) ; */ free(p) ; return ; } // end of [ats_free_ngc] ats_ptr_type ats_realloc_ngc ( const ats_ptr_type p, ats_size_type bsz ) { ats_ptr_type *p_new ; /* fprintf (stderr, "ats_realloc_ngc: _ATS_NGC: p = %p\n", p) ; fprintf (stderr, "ats_realloc_ngc: _ATS_NGC: bsz = %i\n", bsz) ; */ p_new = realloc(p, bsz) ; /* fprintf (stderr, "ats_realloc_ngc: _ATS_NGC: p_new = %p\n", p_new) ; */ return p_new ; } // end of [ats_realloc_ngc] /* ****** ****** */ #endif /* ATSRUNTIME_NGC_C */ /* end of [ats_prelude_ngc.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/ccomp/runtime/ats_prelude_gcats.c0000664000175000017500000001341512655455557023017 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /* Hongwei Xi */ /* */ /***********************************************************************/ /* ** ATS/Anairiats - Unleashing the Power of Types! ** ** Copyright (C) 2002-2008 Hongwei Xi. ** ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: June 2008 /* ****** ****** */ #ifndef ATSRUNTIME_GCATS_C #define ATSRUNTIME_GCATS_C /* ****** ****** */ extern ats_int_type gc_chunk_count_limit_get () ; extern ats_void_type gc_chunk_count_limit_set (ats_int_type n) ; extern ats_int_type gc_chunk_count_limit_max_get () ; extern ats_void_type gc_chunk_count_limit_max_set (ats_int_type n) ; /* ****** ****** */ extern ats_void_type gc_markroot_bsz (ats_ptr_type ptr, ats_int_type bsz) ; /* ****** ****** */ extern ats_ptr_type gc_aut_malloc_bsz (ats_int_type bsz) ; extern ats_ptr_type gc_aut_calloc_bsz (ats_int_type n, ats_int_type bsz) ; extern ats_void_type gc_aut_free (ats_ptr_type ptr) ; extern ats_ptr_type gc_aut_realloc_bsz (ats_ptr_type ptr, ats_int_type bsz) ; /* ****** ****** */ extern ats_ptr_type gc_man_malloc_bsz (ats_int_type bsz) ; extern ats_ptr_type gc_man_calloc_bsz (ats_int_type n, ats_int_type bsz) ; extern ats_void_type gc_man_free (ats_ptr_type ptr) ; extern ats_ptr_type gc_man_realloc_bsz (ats_ptr_type ptr, ats_int_type bsz) ; /* ****** ****** */ extern void gc_init () ; ats_void_type ats_gc_init () { gc_init () ; return ; } // end of [ats_gc_init] /* ****** ****** */ ats_void_type ats_gc_markroot (const ats_ptr_type p, ats_size_type bsz) { /* fprintf (stderr, "ats_gc_markroot: p = %p and bsz = %i\n", p, bsz) ; */ gc_markroot_bsz (p, bsz) ; return ; } // end of [ats_gc_markroot] ats_int_type ats_gc_chunk_count_limit_get () { return gc_chunk_count_limit_get () ; } // end of [ats_gc_chunk_count_limit_get] ats_void_type ats_gc_chunk_count_limit_set (ats_int_type nchunk) { gc_chunk_count_limit_set (nchunk) ; return ; } // end of [ats_gc_chunk_count_limit_set] ats_int_type ats_gc_chunk_count_limit_max_get () { return gc_chunk_count_limit_max_get () ; } // end of [ats_gc_chunk_count_limit_max_get] ats_void_type ats_gc_chunk_count_limit_max_set (ats_int_type nchunk) { gc_chunk_count_limit_max_set (nchunk) ; return ; } // end of [ats_gc_chunk_count_limit_max_set] /* ****** ****** */ ats_ptr_type ats_malloc_gc (ats_size_type n) { ats_ptr_type *p ; /* fprintf (stderr, "ats_malloc_gc: n = %i\n", n) ; */ p = gc_aut_malloc_bsz(n) ; /* fprintf (stderr, "ats_malloc_gc: p = %p(%li)\n", p, p) ; */ if (!p) ats_exit_errmsg(1, "exit(ATS): [ats_malloc_gc] failed.\n") ; return p ; } // end of [ats_malloc_gc] ats_ptr_type ats_calloc_gc (ats_size_type n, ats_size_type bsz) { ats_ptr_type *p ; /* fprintf (stderr, "ats_calloc_gc: n = %i and bsz = %i\n", n, bsz) ; */ p = gc_aut_calloc_bsz(n, bsz) ; /* fprintf (stderr, "ats_calloc_gc: p = %p(%li)\n", p, p) ; */ if (!p) ats_exit_errmsg(1, "exit(ATS): [ats_calloc_gc] failed.\n") ; return p ; } // end of [ats_calloc_gc] ats_void_type ats_free_gc (const ats_ptr_type p) { /* fprintf (stderr, "ats_free_gc: p = %p(%li)\n", p, p) ; */ gc_aut_free(p) ; return ; } // end of [ats_free_gc] ats_ptr_type ats_realloc_gc (const ats_ptr_type p, ats_size_type bsz) { ats_ptr_type p_new ; /* fprintf (stderr, "ats_realloc_gc: p = %p and bsz = %i\n", p, bsz) ; */ p_new = gc_aut_realloc_bsz(p, bsz) ; /* fprintf (stderr, "ats_realloc_gc: p_new = %p(%li)\n", p_new, p_new) ; */ if (!p_new) ats_exit_errmsg(1, "exit(ATS): [ats_realloc_gc] failed.\n") ; return p_new ; } // end of [ats_realloc_gc] /* ****** ****** */ ats_ptr_type ats_malloc_ngc (ats_size_type n) { ats_ptr_type *p ; /* fprintf (stderr, "ats_malloc_ngc: _ATS_GCATS: n = %i\n", n) ; */ p = gc_man_malloc_bsz(n) ; /* fprintf (stderr, "ats_malloc_ngc: _ATS_GCATS: p = %p(%li)\n", p, p) ; */ return p ; } // end of [ats_malloc_ngc] ats_ptr_type ats_calloc_ngc (ats_size_type n, ats_size_type bsz) { ats_ptr_type *p ; p = gc_man_calloc_bsz(n, bsz) ; return p ; } // end of [ats_calloc_ngc] ats_void_type ats_free_ngc (const ats_ptr_type p) { /* fprintf (stderr, "ats_free_ngc: _ATS_GCATS: p = %p\n", p) ; */ gc_man_free(p) ; return ; } // end of [ats_free_ngc] ats_ptr_type ats_realloc_ngc (const ats_ptr_type p, ats_size_type bsz) { ats_ptr_type *p_new ; /* fprintf (stderr, "ats_realloc_ngc: _ATS_GCATS: p = %p\n", p) ; fprintf (stderr, "ats_realloc_ngc: _ATS_GCATS: bsz = %i\n", bsz) ; */ p_new = gc_man_realloc_bsz(p, bsz) ; /* fprintf (stderr, "ats_realloc_ngc: _ATS_GCATS: p_new = %p\n", p_new) ; */ return p_new ; } // end of [ats_realloc_ngc] /* ****** ****** */ #endif /* ATSRUNTIME_GCATS_C */ /* end of [ats_prelude_gcats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/0000775000175000017500000000000012655455557015651 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_hashtable_chain_dats.c0000664000175000017500000002152412655455557022744 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libats/CATS/hashtable_chain.cats" /* external codes at top */ #define HASHTBL_MINSZ 97 /* type definitions */ typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_0 ; /* external typedefs */ typedef anairiats_rec_0 HASHTBL_struct ; typedef ats_ptr_type chain0_ptr ; /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_div_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_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_mul2_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_div_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_mod1_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_gte_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint__chain) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_free__chain) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__chain) (ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__chain) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_unsplit_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINcons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINnil_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libats/DATS/hashtable_chain.dats: 6093(line=227, offs=13) -- 6237(line=231, offs=2) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size: tmp1 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp0 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp1), atslab_sz) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size] */ /* // /home/hwxi/research/Anairiats/libats/DATS/hashtable_chain.dats: 6302(line=235, offs=13) -- 6449(line=239, offs=2) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_total (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_total: tmp3 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp2 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp3), atslab_tot) ; return (tmp2) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_total] */ /* // /home/hwxi/research/Anairiats/libats/DATS/hashtable_chain.dats: 20411(line=690, offs=3) -- 20469(line=690, offs=61) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_make (ats_clo_ref_type arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_make: tmp4 = atslib_hashtbl_make_hint__chain (arg0, arg1, 0) ; return (tmp4) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_make] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINcons_0.tag = 0 ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINnil_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_unsplit_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 */ // // HX: shortcuts? yes. worth it? probably. // ats_ptr_type atslib_hashtbl_ptr_make__chain (ats_size_type sz) { ats_ptr_type pbeg ; /* ** HX: it is mandatory to initialize with zeros! */ pbeg = ATS_CALLOC(sz, sizeof(chain0_ptr)) ; return pbeg ; } // end of [atslib_hashtbl_ptr_make__chain] ats_ptr_type atslib_hashtbl_make_hint__chain ( ats_clo_ref_type hash, ats_clo_ref_type eqfn , ats_size_type hint ) { size_t sz ; HASHTBL_struct *ptbl ; void *pbeg ; ptbl = ATS_MALLOC(sizeof(HASHTBL_struct)) ; sz = ( hint > 0 ? hint : HASHTBL_MINSZ ) ; /* zeroing the allocated memory is mandatory! */ pbeg = ATS_CALLOC(sz, sizeof(chain0_ptr)) ; ptbl->atslab_sz = sz ; ptbl->atslab_tot = 0 ; ptbl->atslab_pbeg = pbeg ; ptbl->atslab_hash = hash ; ptbl->atslab_eqfn = eqfn ; return ptbl ; } // end of [atslib_hashtbl_make_hint__chain] ats_void_type atslib_hashtbl_free__chain (ats_ptr_type ptbl) { ATS_FREE(((HASHTBL_struct*)ptbl)->atslab_pbeg) ; ATS_FREE(ptbl) ; return ; } // end of [atslib_hashtbl_free__chain] ats_bool_type atslib_hashtbl_free_vt__chain (ats_ptr_type ptbl) { if (((HASHTBL_struct*)ptbl)->atslab_tot != 0) return ats_true_bool ; ATS_FREE(((HASHTBL_struct*)ptbl)->atslab_pbeg) ; ATS_FREE(ptbl) ; return ats_false_bool ; } // end of [atslib_hashtbl_free_vt__chain] /* ****** ****** */ /* end of [DATS_hashtable_chain_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_funmset_listord_dats.c0000664000175000017500000002430512655455557023070 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ; /* 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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__sasp__mset_t0ype_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmset_listord_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_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 () ; #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 [DATS_funmset_listord_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_funset_listord_sats.c0000664000175000017500000000201512655455557022743 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_funset_listord_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc/0000775000175000017500000000000012655455557016420 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc/CATS/0000775000175000017500000000000012655455557017152 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc/CATS/deque_arr.cats0000664000175000017500000001335412655455557022003 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2010 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** */ /* ****** ****** */ #ifndef ATS_LIBATS_NGC_DEQUE_ARR_CATS #define ATS_LIBATS_NGC_DEQUE_ARR_CATS /* ****** ****** */ typedef struct { ats_size_type cap ; ats_size_type nitm ; ats_ptr_type qarr_lft ; ats_ptr_type qarr_rgt ; ats_ptr_type qarr_beg ; ats_ptr_type qarr_end ; } atslib_ngc_deque_arr_DEQUE ; /* ****** ****** */ #ifndef memcpy // // HX: [memcpy] is not a macro // extern void *memcpy (void *dst, const void* src, size_t n) ; #endif // end of [memcpy] /* ****** ****** */ // // HX: these two are implemented in ATS: // extern ats_void_type atslib_ngc_deque_arr_deque_initialize_tsz ( ats_ptr_type pq , ats_size_type qsz , ats_ptr_type parr , ats_size_type tsz ) ; // end of [atslib_ngc_deque_arr_deque_initialize_tsz] extern ats_ptr_type atslib_ngc_deque_arr_deque_uninitialize (ats_ptr_type) ; /* ****** ****** */ ATSinline() ats_ptr_type atslib_ngc_deque_arr_deque_takeout_tsz ( ats_ref_type q0 , ats_size_type i , ats_size_type tsz ) { atslib_ngc_deque_arr_DEQUE *q = (atslib_ngc_deque_arr_DEQUE*)q0 ; char *p_lft = q->qarr_lft ; char *p_rgt = q->qarr_rgt ; char *p_beg = q->qarr_beg ; char *p_elt = p_beg + i * tsz ; if (p_elt >= p_rgt) { p_elt = p_lft + (p_elt - p_rgt) ; } // end of [if] return p_elt ; } // end of [atslib_ngc_deque_arr_deque_takeout_tsz] /* ****** ****** */ ATSinline() ats_void_type atslib_ngc_deque_arr_deque_insert_end_many_tsz ( ats_ref_type q0 , ats_size_type k , ats_ptr_type p0_xs /* buffer */ , ats_size_type tsz ) { atslib_ngc_deque_arr_DEQUE *q = (atslib_ngc_deque_arr_DEQUE*)q0 ; char *p_xs = (char*)p0_xs ; char *p_lft = q->qarr_lft ; char *p_rgt = q->qarr_rgt ; char *p_end = q->qarr_end ; size_t ktsz = k * tsz ; size_t diff = p_rgt - p_end ; q->nitm += k ; if (ktsz <= diff) { memcpy(p_end, p_xs, ktsz) ; q->qarr_end = p_end + ktsz ; } else { memcpy(p_end, p_xs, diff) ; memcpy(p_lft, p_xs+diff, ktsz-diff) ; q->qarr_end = p_lft + (ktsz-diff) ; } // end of [if] return ; } // end of [atslib_ngc_deque_arr_deque_insert_end_many_tsz] /* ****** ****** */ ATSinline() ats_void_type atslib_ngc_deque_arr_deque_remove_beg_many_tsz ( ats_ref_type q0 , ats_size_type k , ats_ptr_type p0_xs /* buffer */ , ats_size_type tsz ) { atslib_ngc_deque_arr_DEQUE *q = (atslib_ngc_deque_arr_DEQUE*)q0 ; char *p_xs = (char*)p0_xs ; char *p_lft = q->qarr_lft ; char *p_rgt = q->qarr_rgt ; char *p_beg = q->qarr_beg ; size_t ktsz = k * tsz ; size_t diff = p_rgt - p_beg ; q->nitm -= k ; if (ktsz <= diff) { memcpy(p_xs, p_beg, ktsz) ; q->qarr_beg = p_beg + ktsz ; } else { memcpy(p_xs, p_beg, diff) ; memcpy(p_xs+diff, p_lft, ktsz-diff) ; q->qarr_beg = p_lft + (ktsz-diff) ; } // end of [if] return ; } // end of [atslib_ngc_deque_arr_deque_remove_beg_many_tsz] /* ****** ****** */ ATSinline() ats_void_type atslib_ngc_deque_arr_deque_copyout_tsz ( ats_ref_type q0 , ats_size_type i , ats_size_type k , ats_ptr_type p0_xs /* buffer */ , ats_size_type tsz ) { atslib_ngc_deque_arr_DEQUE *q = (atslib_ngc_deque_arr_DEQUE*)q0 ; char *p_xs = (char*)p0_xs ; char *p_lft = q->qarr_lft ; char *p_rgt = q->qarr_rgt ; char *p_beg = q->qarr_beg ; size_t itsz = i * tsz ; char *p_i = p_beg + itsz ; if (p_i >= p_rgt) { p_i = p_lft + (p_i - p_rgt) ; } size_t ktsz = k * tsz ; size_t diff = p_rgt - p_i ; if (ktsz <= diff) { memcpy(p_xs, p_i, ktsz) ; } else { memcpy(p_xs, p_i, diff) ; memcpy(p_xs+diff, p_lft, ktsz-diff) ; } // end of [if] return ; } // end of [atslib_ngc_deque_arr_deque_copyout_tsz] /* ****** ****** */ ATSinline() ats_ptr_type atslib_ngc_deque_arr_deque_update_capacity_tsz ( ats_ref_type q0 , ats_size_type m2 , ats_ptr_type p0_xs /* buffer */ , ats_size_type tsz ) { atslib_ngc_deque_arr_DEQUE *q = (atslib_ngc_deque_arr_DEQUE*)q0 ; char *p_xs = (char*)p0_xs ; char *p_lft = q->qarr_lft ; char *p_rgt = q->qarr_rgt ; char *p_beg = q->qarr_beg ; size_t ntsz = q->nitm * tsz ; size_t diff = p_rgt - p_beg ; // q->cap = m2 ; q->qarr_lft = p_xs ; q->qarr_rgt = p_xs + m2 * tsz ; q->qarr_beg = p_xs ; q->qarr_end = p_xs + ntsz ; // if (ntsz <= diff) { memcpy(p_xs, p_beg, ntsz) ; } else { memcpy(p_xs, p_beg, diff) ; memcpy(p_xs+diff, p_lft, ntsz-diff) ; } // end of [if] // return p_lft ; // } // end of [atslib_ngc_deque_arr_deque_update_capacity_tsz] /* ****** ****** */ #endif /* ATS_LIBATS_NGC_DEQUE_ARR_CATS */ /* end of [deque_arr.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc/CATS/.keeper0000664000175000017500000000000012655455557020414 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc_SATS_deque_arr_sats.c0000664000175000017500000000207012655455557022476 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libats/ngc/CATS/deque_arr.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [ngc_SATS_deque_arr_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_funmap_avltree_sats.c0000664000175000017500000000201512655455557022707 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_funmap_avltree_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_funset_avltree_sats.c0000664000175000017500000000201512655455557022725 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_funset_avltree_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_funmset_listord_sats.c0000664000175000017500000000202212655455557023116 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2funmset_listord_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_funmset_listord_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_hashtable_linprb_sats.c0000664000175000017500000000202712655455557023203 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_hashtable_linprb_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_linqueue_arr_dats.c0000664000175000017500000002447212655455557022347 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libats/ngc/CATS/deque_arr.cats" #include "libats/CATS/linqueue_arr.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ 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_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_void_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all) (ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__sasp__QUEUE = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 1954(line=64, offs=21) -- 1976(line=64, offs=43) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_cap (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_cap: tmp0 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap (arg0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_cap] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 1999(line=65, offs=22) -- 2022(line=65, offs=45) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size: tmp1 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size (arg0) ; return (tmp1) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2050(line=67, offs=26) -- 2077(line=67, offs=53) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_empty: tmp2 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty (arg0) ; return (tmp2) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_empty] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2107(line=68, offs=29) -- 2137(line=68, offs=59) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_empty: tmp3 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty (arg0) ; return (tmp3) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_empty] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2164(line=70, offs=25) -- 2190(line=70, offs=51) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_full (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_full: tmp4 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full (arg0) ; return (tmp4) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_is_full] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2219(line=71, offs=28) -- 2248(line=71, offs=57) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_full (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_full: tmp5 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full (arg0) ; return (tmp5) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_isnot_full] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2496(line=85, offs=7) -- 2645(line=89, offs=4) */ ATSglobaldec() ats_void_type atslib_linqueue_arr_queue_initialize_tsz (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_atslib_linqueue_arr_queue_initialize_tsz: tmp7 = atspre_array_ptr_alloc_tsz (arg1, arg2) ; tmp8 = ats_selsin_mac(tmp7, atslab_2) ; /* tmp6 = */ atslib_ngc_deque_arr_deque_initialize_tsz (arg0, arg1, tmp8, arg2) ; return /* (tmp6) */ ; } /* end of [atslib_linqueue_arr_queue_initialize_tsz] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 2845(line=99, offs=7) -- 2971(line=102, offs=2) */ ATSglobaldec() ats_void_type atslib_linqueue_arr_queue_uninitialize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_atslib_linqueue_arr_queue_uninitialize: tmp10 = atslib_ngc_deque_arr_deque_uninitialize (arg0) ; tmp11 = ats_selsin_mac(tmp10, atslab_2) ; /* tmp9 = */ atspre_array_ptr_free (tmp11) ; return /* (tmp9) */ ; } /* end of [atslib_linqueue_arr_queue_uninitialize] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 3042(line=106, offs=7) -- 3171(line=109, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_uninitialize_vt (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_uninitialize_vt: tmp13 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt (arg0) ; tmp14 = ats_selsin_mac(tmp13, atslab_2) ; /* tmp12 = */ atspre_array_ptr_free (tmp14) ; return /* (tmp12) */ ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_uninitialize_vt] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_arr.dats: 3991(line=153, offs=17) -- 4019(line=153, offs=45) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all: /* tmp15 = */ ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all (arg0) ; return /* (tmp15) */ ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_linqueue_arr_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_funset_avltree_dats.c0000664000175000017500000001057212655455557022676 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, 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_bool_type, atspre_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__sasp__set_t0ype_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0.tag = 0 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_funset_avltree_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_hashtable_chain_sats.c0000664000175000017500000000210012655455557022767 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libats/CATS/hashtable_chain.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_hashtable_chain_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_linqueue_arr_sats.c0000664000175000017500000000205612655455557022377 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libats/CATS/linqueue_arr.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_linqueue_arr_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/ngc_DATS_deque_arr_dats.c0000664000175000017500000003472012655455557022447 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libats/ngc/CATS/deque_arr.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ 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_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_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_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_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, 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) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__sasp__DEQUE = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4831(line=185, offs=21) -- 4842(line=185, offs=32) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap: tmp0 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), cap) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4864(line=186, offs=22) -- 4876(line=186, offs=34) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size: tmp1 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; return (tmp1) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4903(line=189, offs=16) -- 4967(line=191, offs=4) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_size_type, tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty: tmp3 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp2 = atspre_eq_size1_int1 (tmp3, 0) ; return (tmp2) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5024(line=194, offs=19) -- 5088(line=196, offs=4) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_size_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty: tmp5 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp4 = atspre_gt_size1_int1 (tmp5, 0) ; return (tmp4) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5144(line=199, offs=15) -- 5212(line=201, offs=4) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_size_type, tmp7) ; ATSlocal (ats_size_type, tmp8) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full: tmp7 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), cap) ; tmp8 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp6 = atspre_eq_size1_size1 (tmp7, tmp8) ; return (tmp6) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5267(line=204, offs=18) -- 5335(line=206, offs=4) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_size_type, tmp10) ; ATSlocal (ats_size_type, tmp11) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full: tmp10 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), cap) ; tmp11 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp9 = atspre_gt_size1_size1 (tmp10, tmp11) ; return (tmp9) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5706(line=224, offs=11) -- 6239(line=240, offs=2) */ ATSglobaldec() ats_void_type atslib_ngc_deque_arr_deque_initialize_tsz (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_size_type, tmp13) ; ATSlocal (ats_size_type, tmp14) ; ATSlocal (ats_size_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_atslib_ngc_deque_arr_deque_initialize_tsz: ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), cap) = arg1 ; tmp13 = atspre_size1_of_int1 (0) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp13 ; tmp14 = atspre_mul2_size1_size1 (arg1, arg3) ; tmp15 = ats_selsin_mac(tmp14, atslab_1) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) = arg2 ; tmp16 = atspre_padd_size (arg2, tmp15) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) = tmp16 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) = arg2 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) = arg2 ; return /* (tmp12) */ ; } /* end of [atslib_ngc_deque_arr_deque_initialize_tsz] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 6446(line=250, offs=13) -- 6785(line=263, offs=4) */ ATSglobaldec() ats_ptr_type atslib_ngc_deque_arr_deque_uninitialize (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_atslib_ngc_deque_arr_deque_uninitialize: tmp17 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; return (tmp17) ; } /* end of [atslib_ngc_deque_arr_deque_uninitialize] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 6860(line=267, offs=11) -- 7156(line=279, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt: tmp18 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; return (tmp18) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt] */ /* // /home/hwxi/research/Anairiats/libats/ngc/DATS/deque_arr.dats: 12533(line=483, offs=13) -- 12981(line=501, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_size_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all: tmp20 = atspre_size1_of_int1 (0) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp20 ; tmp21 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) = tmp21 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) = tmp21 ; return /* (tmp19) */ ; } /* end of [ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload () ; #ifdef _ATS_PROOFCHECK 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 () ; #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 [ngc_DATS_deque_arr_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/SATS_linqueue_lst_sats.c0000664000175000017500000000205612655455557022415 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libats/CATS/linqueue_lst.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload () { static int ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_linqueue_lst_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/CATS/0000775000175000017500000000000012655455557016403 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/CATS/linqueue_lst.cats0000664000175000017500000000316512655455557021775 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** */ /* ****** ****** */ #ifndef ATS_LIBATS_LINQUEUE_LST_CATS #define ATS_LIBATS_LINQUEUE_LST_CATS /* ****** ****** */ typedef struct { ats_ptr_type ptr1 ; ats_ptr_type ptr2 ; } atslib_linqueue_lst_QUEUE ; /* ****** ****** */ #endif /* ATS_LIBATS_LINQUEUE_LST_CATS */ /* end of [linqueue_lst.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/CATS/hashtable_chain.cats0000664000175000017500000000411712655455557022357 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2009 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** A dynamically resizable vector implementation ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: Secptember, 2010 */ /* ****** ****** */ #ifndef ATS_LIBATS_HASHTABLE_CHAIN_CATS #define ATS_LIBATS_HASHTABLE_CHAIN_CATS /* ****** ****** */ ATSinline() ats_void_type atslib_hashtbl_ptr_free__chain (ats_ptr_type pbeg) { ATS_FREE(pbeg) ; return ; } // end of [atslib_hashtbl_ptr_free__chain] /* ****** ****** */ ATSinline() ats_ptr_type atslib_hashtbl_make_null__chain (/*argumentless*/) { return (void*)0; } // end of [atslib_hashtbl_make_null__chain] /* ****** ****** */ ATSinline() ats_void_type atslib_hashtbl_free_null__chain (ats_ptr_type ptbl) { return ; } // end of [atslib_hashtbl_free_null__chain] /* ****** ****** */ #endif /* ATS_LIBATS_HASHTABLE_CHAIN_CATS */ /* end of [hashtable_chain.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/CATS/linqueue_arr.cats0000664000175000017500000000323212655455557021752 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** */ /* ****** ****** */ #ifndef ATS_LIBATS_LINQUEUE_ARR_CATS #define ATS_LIBATS_LINQUEUE_ARR_CATS /* ****** ****** */ #include "libats/ngc/CATS/deque_arr.cats" /* ****** ****** */ typedef atslib_ngc_deque_arr_DEQUE atslib_linqueue_arr_QUEUE ; /* ****** ****** */ #endif /* ATS_LIBATS_LINQUEUE_ARR_CATS */ /* end of [linqueue_arr.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/CATS/.keeper0000664000175000017500000000000012655455557017645 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_funmap_avltree_dats.c0000664000175000017500000001002012655455557022644 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, 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_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__sasp__map_t0ype_t0ype_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__B_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__E_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__B_0.tag = 0 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__E_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_funmap_avltree_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_funset_listord_dats.c0000664000175000017500000002344512655455557022717 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_bool_type, atspre_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ; /* 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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__sasp__set_t0ype_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_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_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 () ; #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 [DATS_funset_listord_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_linqueue_lst_dats.c0000664000175000017500000002023612655455557022357 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libats/CATS/linqueue_lst.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool1) (ats_bool_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_void_type, atspre_ptr_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty) (ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode0_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode0_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode1_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode1_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__sasp__QUEUE = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_lst.dats: 2533(line=86, offs=1) -- 3105(line=103, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend) ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck] */ #endif /* _ATS_PROOFCHECK */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_lst.dats: 5845(line=229, offs=11) -- 6121(line=240, offs=4) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty: tmp2 = ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr1) ; tmp3 = atspre_pgt (tmp2, atspre_null_ptr) ; if (tmp3) { tmp1 = ats_false_bool ; } else { tmp1 = ats_true_bool ; } /* end of [if] */ return (tmp1) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_lst.dats: 6178(line=243, offs=19) -- 6202(line=243, offs=43) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_isnot_empty (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_isnot_empty: tmp5 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty (arg0) ; tmp4 = atspre_neg_bool1 (tmp5) ; return (tmp4) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_isnot_empty] */ /* // /home/hwxi/research/Anairiats/libats/DATS/linqueue_lst.dats: 6259(line=249, offs=7) -- 6499(line=256, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_initialize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_initialize: ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr1) = atspre_null_ptr ; ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr2) = atspre_null_ptr ; return /* (tmp6) */ ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_initialize] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode0_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode0_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode1_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode1_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_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 [DATS_linqueue_lst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/DATS_hashtable_linprb_dats.c0000664000175000017500000002210312655455557023142 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_0 ; /* external typedefs */ typedef anairiats_rec_0 HASHTBL ; /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_mul_int_double) (ats_int_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_int) (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_size_type, atspre_mod1_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_void_type, atslib_hashtbl_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_clear__linprb) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__linprb) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint_tsz__linprb) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libats/DATS/hashtable_linprb.dats: 3240(line=104, offs=24) -- 3379(line=108, offs=2) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_size (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_size: tmp1 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp0 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp1), atslab_sz) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_size] */ /* // /home/hwxi/research/Anairiats/libats/DATS/hashtable_linprb.dats: 3442(line=111, offs=25) -- 3584(line=115, offs=2) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total: tmp3 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp2 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp3), atslab_tot) ; return (tmp2) ; } /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () { static int ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__dynload () { // ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_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 */ // // declared in [string.h] // #ifndef memset extern void *memset (void *buf, int chr, size_t n) ; #endif // ats_ptr_type atslib_hashtbl_ptr_make__linprb (ats_size_type sz, ats_size_type keyitmsz) { ats_ptr_type pbeg ; /* zeroing the allocated memory is mandatory! */ pbeg = ATS_CALLOC(sz, keyitmsz) ; return pbeg ; } // end of [atslib_hashtbl_ptr_make__linprb] // ats_void_type atslib_hashtbl_ptr_clear__linprb ( ats_ptr_type ptbl, ats_size_type sz, ats_size_type keyitmsz ) { memset (ptbl, 0, sz * keyitmsz) ; return ; } // end of [atslib_hashtbl_clear__linprb] // ats_void_type atslib_hashtbl_ptr_free__linprb (ats_ptr_type pbeg) { ATS_FREE(pbeg) ; return ; } // end of [atslib_hashtbl_ptr_free__linprb] // // // HX: shortcuts? yes. worth it? probably. // #define HASHTABLE_MINSZ 97 // it is chosen arbitrarily // ats_ptr_type atslib_hashtbl_make_hint_tsz__linprb ( ats_clo_ref_type hash , ats_clo_ref_type eqfn , ats_size_type hint , ats_size_type keyitmsz ) { size_t sz ; HASHTBL *ptbl ; void *pbeg ; ptbl = ATS_MALLOC(sizeof(HASHTBL)) ; sz = (hint > 0 ? hint : HASHTABLE_MINSZ) ; /* zeroing the allocated memory is mandatory! */ pbeg = ATS_CALLOC(sz, keyitmsz) ; ptbl->atslab_sz = sz ; ptbl->atslab_tot = 0 ; ptbl->atslab_pbeg = pbeg ; ptbl->atslab_hash = hash ; ptbl->atslab_eqfn = eqfn ; return ptbl ; } // end of [atslib_hashtbl_make_hint_tsz__linprb] // ats_void_type atslib_hashtbl_free__linprb (ats_ptr_type ptbl) { ATS_FREE(((HASHTBL*)ptbl)->atslab_pbeg) ; ATS_FREE(ptbl) ; return ; } // end of [atslib_hashtbl_free__linprb] // ats_void_type atslib_hashtbl_free_null__linprb (ats_ptr_type ptbl) { return ; } // end of [atslib_hashtbl_free_null__linprb] // ats_int_type atslib_hashtbl_free_vt__linprb (ats_ptr_type ptbl) { if (((HASHTBL*)ptbl)->atslab_tot != 0) return 1 ; ATS_FREE(((HASHTBL*)ptbl)->atslab_pbeg) ; ATS_FREE(ptbl) ; return 0 ; } // end of [atslib_hashtbl_free_vt__linprb] // /* ****** ****** */ /* end of [DATS_hashtable_linprb_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libats/.keeper0000664000175000017500000000000012655455557017113 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/pats_dmacro2_dats.c0000664000175000017500000014461712655455557020145 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vbool_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vscode_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVsadd_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVdadd_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVmark_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVnil_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXsadd_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXdadd_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXnil_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_m2val) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__sasp__evalctx_viewtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__sasp__alphenv_viewtype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVsadd_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVdadd_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVmark_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVnil_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXsadd_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXdadd_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXnil_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_01878_ () ; static ats_void_type prerr_errmac_loc_01883_ (ats_ptr_type arg0) ; static ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_12 (ats_ptr_type arg0) ; static ats_ptr_type s2exp_make_m2val_22 (ats_ptr_type arg0) ; static ats_void_type aux_24 (ats_ptr_type arg0, ats_ref_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 1690(line=52, offs=18) -- 1715(line=52, offs=43) */ ATSstaticdec() ats_void_type prerr_FILENAME_01878_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_01878_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_dmacro2")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_01878_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2215(line=77, offs=18) -- 2276(line=80, offs=2) */ ATSstaticdec() ats_void_type prerr_errmac_loc_01883_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab_prerr_errmac_loc_01883_: /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp9 = */ atspre_prerr_string (ATSstrcst(": error(mac)")) ; return /* (tmp9) */ ; } /* end of [prerr_errmac_loc_01883_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 2117(line=79, offs=3) -- 2575(line=94, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_char_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int (arg0, tmp4) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char (arg0, tmp5) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float (arg0, tmp6) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string (arg0, tmp7) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: /* tmp8 = */ prerr_errmac_loc_01883_ (arg0) ; /* tmp11 = */ atspre_prerr_string (ATSstrcst(": a value representing code (AST) cannot be lifted.")) ; /* tmp12 = */ atspre_prerr_newline () ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (arg0) ; break ; } while (0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 2966(line=114, offs=13) -- 2984(line=114, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil: tmp13 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVnil_3) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 3009(line=117, offs=14) -- 3216(line=128, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp15 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp16 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; ATS_FREE(arg0) ; arg0 = tmp17 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 3268(line=132, offs=3) -- 3341(line=135, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sadd (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sadd: tmp19 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp19)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp19, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp19, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp19, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp19 ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sadd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 3393(line=139, offs=3) -- 3466(line=142, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dadd (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dadd: tmp21 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp21)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp21 ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dadd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 3564(line=150, offs=5) -- 4205(line=176, offs=4) */ ATSstaticdec() ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_loop_8: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp26 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg1, tmp24) ; if (tmp27) { tmp23 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp23, atslab_0, tmp25) ; } else { tmp28 = ats_ptrget_mac(ats_ptr_type, tmp26) ; arg0 = tmp28 ; arg1 = arg1 ; goto __ats_lab_loop_8 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp29 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp30 = ats_ptrget_mac(ats_ptr_type, tmp29) ; arg0 = tmp30 ; arg1 = arg1 ; goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp31 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp32 = ats_ptrget_mac(ats_ptr_type, tmp31) ; arg0 = tmp32 ; arg1 = arg1 ; goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp23 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp23) ; } /* end of [loop_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 3540(line=148, offs=3) -- 4250(line=180, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sfind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sfind: tmp22 = loop_8 (arg0, arg1) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_sfind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 4349(line=188, offs=5) -- 4990(line=214, offs=4) */ ATSstaticdec() ats_ptr_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_loop_10: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp35 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp36 = ats_ptrget_mac(ats_ptr_type, tmp35) ; arg0 = tmp36 ; arg1 = arg1 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp39 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (arg1, tmp37) ; if (tmp40) { tmp34 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp34, atslab_0, tmp38) ; } else { tmp41 = ats_ptrget_mac(ats_ptr_type, tmp39) ; arg0 = tmp41 ; arg1 = arg1 ; goto __ats_lab_loop_10 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp42 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp43 = ats_ptrget_mac(ats_ptr_type, tmp42) ; arg0 = tmp43 ; arg1 = arg1 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp34 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp34) ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 4325(line=186, offs=3) -- 5035(line=218, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dfind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dfind: tmp33 = loop_10 (arg0, arg1) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dfind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 5125(line=225, offs=5) -- 5349(line=235, offs=4) */ ATSstaticdec() ats_ptr_type loop_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_loop_12: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp46 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp47 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; ATS_FREE(arg0) ; tmp45 = tmp48 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp45 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVnil_3) ; break ; } while (0) ; return (tmp45) ; } /* end of [loop_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 5106(line=223, offs=13) -- 5396(line=239, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop: tmp49 = loop_12 (ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp49 ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 5445(line=242, offs=14) -- 5476(line=242, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push: tmp51 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp51)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp51, atslab_0, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp51 ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 5760(line=261, offs=13) -- 5778(line=261, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil: tmp52 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXnil_2) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 5806(line=265, offs=2) -- 6580(line=297, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp56 = &ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_2) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp54) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(" - ")) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val (arg0, tmp55) ; /* tmp60 = */ atspre_fprint_newline (arg0) ; tmp61 = ats_ptrget_mac(ats_ptr_type, tmp56) ; arg0 = arg0 ; arg1 = tmp61 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp64 = &ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_2) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp62) ; /* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst(" - ")) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val (arg0, tmp63) ; /* tmp68 = */ atspre_fprint_newline (arg0) ; tmp69 = ats_ptrget_mac(ats_ptr_type, tmp64) ; arg0 = arg0 ; arg1 = tmp69 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: break ; } while (0) ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 6635(line=301, offs=3) -- 6675(line=301, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_evalctx (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_evalctx: /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx (stdout, arg0) ; return /* (tmp70) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_evalctx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 6728(line=305, offs=3) -- 6768(line=305, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_evalctx (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_evalctx: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_evalctx (stderr, arg0) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_evalctx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 6842(line=312, offs=3) -- 6887(line=312, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_sadd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_sadd: tmp72 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp72)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp72, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp72, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp72, atslab_2, arg0) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_sadd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 6939(line=317, offs=3) -- 6984(line=317, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd: tmp73 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp73)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp73, atslab_2, arg0) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 7037(line=322, offs=3) -- 7637(line=353, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp75 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp76 = ats_ptrget_mac(ats_ptr_type, tmp75) ; arg0 = tmp76 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp79 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (arg1, tmp77) ; if (tmp80) { tmp74 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp74, atslab_0, tmp78) ; } else { tmp81 = ats_ptrget_mac(ats_ptr_type, tmp79) ; arg0 = tmp81 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp74 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 7688(line=356, offs=14) -- 7839(line=360, offs=25) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp83 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp84 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: break ; } while (0) ; return /* (tmp82) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 7893(line=365, offs=5) -- 8005(line=369, offs=32) */ ATSstaticdec() ats_ptr_type s2exp_make_m2val_22 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab_s2exp_make_m2val_22: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp85 = tmp86 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; return (tmp85) ; } /* end of [s2exp_make_m2val_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 8085(line=375, offs=5) -- 8529(line=396, offs=4) */ ATSstaticdec() ats_void_type aux_24 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_aux_24: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp91 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp93 = ats_ptrget_mac(ats_ptr_type, tmp91) ; /* tmp92 = */ aux_24 (tmp93, arg1) ; tmp94 = s2exp_make_m2val_22 (tmp90) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg1, tmp89, tmp94) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp95 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp96 = ats_ptrget_mac(ats_ptr_type, tmp95) ; arg0 = tmp96 ; arg1 = arg1 ; goto __ats_lab_aux_24 ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: break ; } while (0) ; return /* (tmp88) */ ; } /* end of [aux_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 8066(line=373, offs=21) -- 8617(line=403, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__stasub_make_evalctx (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__stasub_make_evalctx: /* ats_ptr_type tmp97 ; */ tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp98 = */ aux_24 (arg0, (&tmp97)) ; tmp87 = tmp97 ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__stasub_make_evalctx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 8747(line=413, offs=3) -- 8979(line=422, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_xstage (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_xstage: tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d2exp_loc) ; /* ats_ptr_type tmp101 ; */ tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; /* ats_ptr_type tmp102 ; */ tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil () ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (tmp100, tmp101, (&tmp102), arg0) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free (tmp102) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp101) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp (tmp100, tmp103) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_xstage] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 9041(line=425, offs=20) -- 9595(line=447, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_decode (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_decode: tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d2exp_loc) ; /* ats_ptr_type tmp108 ; */ tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; /* ats_ptr_type tmp109 ; */ tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil () ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (tmp107, tmp108, (&tmp109), arg0) ; /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free (tmp109) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp108) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp110)->tag != 7) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_3, tmp110, atslab_0) ; tmp106 = tmp113 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: /* tmp114 = */ prerr_errmac_loc_01883_ (tmp107) ; /* tmp115 = */ atspre_prerr_string (ATSstrcst(": the macro expansion should yield code (AST)")) ; /* tmp116 = */ atspre_prerr_string (ATSstrcst(", but the following value is obtained instead: ")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_m2val (tmp110) ; /* tmp118 = */ atspre_prerr_newline () ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp107) ; break ; } while (0) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_decode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2.dats: 9683(line=453, offs=3) -- 9893(line=461, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short: /* ats_ptr_type tmp120 ; */ tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; /* ats_ptr_type tmp121 ; */ tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil () ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short (arg0, arg1, tmp120, (&tmp121), arg2) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free (tmp121) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp120) ; tmp119 = tmp122 ; return (tmp119) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVsadd_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVdadd_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVmark_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__ALPHENVnil_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXsadd_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXdadd_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__EVALCTXnil_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, statmp1, atslab_0, ats_true_bool) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true = statmp1 ; statmp2 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp2)->tag = 1 ; ats_selptrset_mac(anairiats_sum_0, statmp2, atslab_0, ats_false_bool) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false = statmp2 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dmacro2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_base_dats.c0000664000175000017500000016137112655455557021247 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_ext_145) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0nt_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0tring_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0dext_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_dlr_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_l0ab_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0rec_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_colonwith_58) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_is_null) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_var_fun) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_emp) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de_adj) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftag) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type p_p0rec_tok_7 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_effi0de_9 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 1859(line=66, offs=8) -- 2222(line=84, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_int_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1), atslab_token_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1), atslab_token_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 146) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp0 = tmp1 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp5 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp5 ; tmp7 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0nt_37) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp2, tmp7) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 2286(line=90, offs=3) -- 2658(line=108, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_int_type, tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp9), atslab_token_loc) ; tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp9), atslab_token_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp11)->tag != 150) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp8 = tmp9 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp13 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp13 ; tmp15 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0tring_40) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp10, tmp15) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 2886(line=130, offs=8) -- 4169(line=187, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_token_loc) ; tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_token_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp19)->tag != 139) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, tmp19, atslab_0) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, tmp20) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp19)->tag != 140) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, tmp19, atslab_0) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, tmp22) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp19)->tag != 13) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("=")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp19)->tag != 22) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst(">")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp19)->tag != 21) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("<")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp19)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("@")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp19)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("\\")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp19)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("!")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp19)->tag != 30) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("~")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp19)->tag != 27) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("->")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp19)->tag != 29) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("-<>")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp19)->tag != 23) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp18, ATSstrcst("><")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp34 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp34 ; tmp36 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_41) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp18, tmp36) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 4260(line=196, offs=3) -- 4355(line=200, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de) ; tmp37 = ats_castfn_mac(ats_ptr_type, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0deseq1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 4422(line=206, offs=3) -- 4824(line=224, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0dext (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_int_type, tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0dext: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp40), atslab_token_loc) ; tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp40), atslab_token_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp42)->tag != 145) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_2, tmp42, atslab_0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp41, tmp43) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp45 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp45 ; tmp47 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0dext_42) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp41, tmp47) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0dext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 4891(line=230, offs=3) -- 5295(line=248, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_int_type, tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr: tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp50 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp49), atslab_token_loc) ; tmp51 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp49), atslab_token_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp51)->tag != 143) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_2, tmp51, atslab_0) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp50, tmp52) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp54 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp54 ; tmp56 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_dlr_43) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp50, tmp56) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 5452(line=262, offs=3) -- 5947(line=286, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_int_type, tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab: /* ats_ptr_type tmp58 ; */ tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp59), atslab_token_loc) ; tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp59), atslab_token_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de, (&tmp58)) ; if (!tmp62) { goto __ats_lab_22_0 ; } tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0de (ats_castfn_mac(ats_ptr_type, tmp58)) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp61)->tag != 146) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0nt (tmp59) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp64 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp64 ; tmp66 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_l0ab_55) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp60, tmp66) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 6124(line=299, offs=1) -- 7214(line=345, offs=4) */ ATSstaticdec() ats_ptr_type p_p0rec_tok_7 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; __ats_lab_p_p0rec_tok_7: /* ats_ptr_type tmp68 ; */ tmp69 = ats_ptrget_mac(ats_int_type, arg2) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp70)->tag != 146) { goto __ats_lab_25_0 ; } __ats_lab_24_1: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0nt (arg3) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp70)->tag != 153) { goto __ats_lab_28_0 ; } __ats_lab_25_1: /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de (arg0, 0, arg2) ; tmp74 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp69) ; if (tmp74) { tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp75), atslab_token_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de, (&tmp68)) ; if (!tmp77) { goto __ats_lab_27_1 ; } tmp78 = ats_castfn_mac(ats_ptr_type, tmp68) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0nt (arg0, 0, arg2) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp69) ; tmp81 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp69) ; if (tmp81) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de_adj (tmp73, tmp78, tmp79) ; } else { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp83 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp69) ; if (tmp83) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de (tmp73) ; } else { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; } while (0) ; } else { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_emp () ; break ; } while (0) ; return (tmp67) ; } /* end of [p_p0rec_tok_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 7260(line=349, offs=3) -- 7329(line=350, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0rec (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0rec: tmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0rec_56) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_p0rec_tok_7, tmp85) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 7376(line=356, offs=1) -- 7744(line=373, offs=4) */ ATSstaticdec() ats_ptr_type p_effi0de_9 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_int_type, tmp92) ; __ats_lab_p_effi0de_9: tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp87), atslab_token_loc) ; tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp87), atslab_token_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp89)->tag != 139) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_2, tmp89, atslab_0) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp88, tmp90) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp92 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp92 ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp86) ; } /* end of [p_effi0de_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 7879(line=385, offs=3) -- 8843(line=432, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftag (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_uint_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftag: tmp94 = ats_ptrget_mac(ats_int_type, arg2) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp97 ; */ tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp96), atslab_token_node) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp98)->tag != 52) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_var_fun (tmp96) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp98)->tag != 3) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp101 = p_effi0de_9 (arg0, 0, arg2) ; tmp102 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp94) ; if (tmp102) { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst (0, tmp101) ; } else { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp95) ; } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp98)->tag != 30) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = p_effi0de_9 (arg0, 0, arg2) ; tmp105 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp94) ; if (tmp105) { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst (0, tmp104) ; } else { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp95) ; } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp98)->tag != 146) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0nt (tmp96) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_effi0de_9, (&tmp97)) ; if (!tmp107) { goto __ats_lab_36_1 ; } tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0de (ats_castfn_mac(ats_ptr_type, tmp97)) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp108 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp108 ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 8892(line=436, offs=3) -- 8964(line=437, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftag) ; tmp109 = ats_castfn_mac(ats_ptr_type, tmp110) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 9104(line=450, offs=3) -- 9908(line=486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_uint_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith: tmp112 = ats_ptrget_mac(ats_int_type, arg2) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp114), atslab_token_loc) ; tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp114), atslab_token_node) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp116)->tag != 6) { goto __ats_lab_38_0 ; } __ats_lab_37_1: /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp111 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp116)->tag != 7) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst (arg0, 0, arg2) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT (arg0, 0, arg2) ; tmp121 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp112) ; if (tmp121) { tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, tmp119) ; } else { tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp113) ; } /* end of [if] */ break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp122 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp122 ; tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_colonwith_58) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp115, tmp124) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colonwith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 9978(line=492, offs=3) -- 10298(line=509, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_int_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind: tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp126), atslab_token_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp127)->tag != 52) { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp125 = tmp126 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp127)->tag != 80) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp125 = tmp126 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp130 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp130 ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dcstkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_base.dats: 10420(line=519, offs=3) -- 10817(line=537, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_extnamopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_uint_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; // ATSlocal_void (tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_extnamopt: tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp134 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp133), atslab_token_node) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp134)->tag != 13) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_is_null (tmp136) ; if (tmp137) { /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp132) ; tmp131 = (ats_sum_ptr_type)0 ; } else { tmp131 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp131, atslab_0, tmp136) ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp131 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_extnamopt] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_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 () ; #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_parsing_base_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_intinf_sats.c0000664000175000017500000000205012655455557020104 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_intinf_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_template_dats.c0000664000175000017500000035227312655455557021611 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIFUNDEC2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIIMPDEC2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVnil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hnf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_save) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_restore) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcstmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvarmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_funent_set_tmpsub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmprecdepth) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmprecdepth) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpsub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp_if) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_tsubst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__fprint_impenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__s2hnf_is_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_none) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpcstmat_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpvarmat_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVnil_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type aux_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxenv_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type auxfvar_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type auxmat_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type auxmatlst_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type auxmat_env_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_bool_type auxmatlst_env_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_bool_type auxlabmatlst_env_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_bool_type auxmatlstlst_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxbndlstlst_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxbndlstlst2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_31 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 2358(line=94, offs=5) -- 2899(line=120, offs=4) */ ATSstaticdec() ats_void_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_bool_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; __ats_lab_loop_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp4 = &ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_2) ; tmp6 = atspre_gt_int_int (arg2, 0) ; if (tmp6) { /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; } else { /* empty */ } /* end of [if] */ /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp2) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hnf (arg0, tmp3) ; tmp10 = ats_ptrget_mac(ats_ptr_type, tmp4) ; tmp11 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp10 ; arg2 = tmp11 ; goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp1) */ ; } /* end of [loop_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 2334(line=92, offs=3) -- 2947(line=124, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__fprint_impenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__fprint_impenv: /* tmp0 = */ loop_1 (arg0, arg1, 0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__fprint_impenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 3020(line=130, offs=3) -- 3537(line=158, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_bool_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp15 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_2) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg1, tmp13) ; if (tmp16) { tmp12 = tmp14 ; } else { tmp17 = ats_ptrget_mac(ats_ptr_type, tmp15) ; arg0 = tmp17 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg1) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp18) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp19) ; break ; } while (0) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 3610(line=164, offs=3) -- 4191(line=193, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp22 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp23 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_2) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (arg1, tmp21) ; if (tmp24) { ats_ptrget_mac(ats_ptr_type, tmp22) = arg2 ; tmp20 = ats_true_bool ; } else { tmp25 = ats_ptrget_mac(ats_ptr_type, tmp23) ; arg0 = tmp25 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp20 = ats_false_bool ; break ; } while (0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 4308(line=201, offs=3) -- 4415(line=207, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__s2hnf_is_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__s2hnf_is_err: tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp27), atslab_s2exp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp28)->tag != 32) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp26 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp26 = ats_false_bool ; break ; } while (0) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__s2hnf_is_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 4605(line=219, offs=17) -- 4619(line=219, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_nil: tmp29 = (ats_sum_ptr_type)0 ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 4651(line=222, offs=21) -- 4985(line=239, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp31) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp33) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp34) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst (tmp32) ; tmp30 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp30, atslab_0, tmp31) ; ats_selptrset_mac(anairiats_sum_1, tmp30, atslab_1, tmp35) ; ats_selptrset_mac(anairiats_sum_1, tmp30, atslab_2, tmp36) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp30 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 5105(line=246, offs=13) -- 5211(line=252, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp38 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: break ; } while (0) ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 5357(line=265, offs=5) -- 5611(line=279, offs=4) */ ATSstaticdec() ats_ptr_type aux_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_aux_9: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp42 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_2) ; ATS_FREE(arg0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp42) ; tmp45 = aux_9 (tmp43, arg1) ; tmp40 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp40, atslab_0, tmp41) ; ats_selptrset_mac(anairiats_sum_1, tmp40, atslab_1, tmp44) ; ats_selptrset_mac(anairiats_sum_1, tmp40, atslab_2, tmp45) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp40 = arg1 ; break ; } while (0) ; return (tmp40) ; } /* end of [aux_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 5338(line=263, offs=3) -- 5668(line=283, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub: tmp46 = (ats_sum_ptr_type)0 ; tmp39 = aux_9 (arg0, tmp46) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab_loop_13: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp54, atslab_0, tmp52) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp54 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp55 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp53 ; arg1 = tmp55 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp56 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp56 ; break ; } while (0) ; return /* (tmp51) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp57 ; */ /* tmp58 = */ loop_13 (arg0, (&tmp57)) ; tmp50 = tmp57 ; return (tmp50) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp49 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp49) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61997(line=2223, offs=7) -- 62162(line=2225, offs=74) */ ATSstaticdec() ats_ptr_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab_loop_15: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp63, atslab_0, tmp61) ; ats_selptrset_mac(anairiats_sum_3, tmp63, atslab_1, arg1) ; arg0 = tmp62 ; arg1 = tmp63 ; goto __ats_lab_loop_15 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp60 = arg1 ; break ; } while (0) ; return (tmp60) ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61976(line=2222, offs=25) -- 62297(line=2231, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_list_reverse_append2_vt_01435_ats_ptr_type: tmp59 = loop_15 (arg0, arg1) ; return (tmp59) ; } /* end of [list_reverse_append2_vt_01435_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 5751(line=292, offs=1) -- 5902(line=299, offs=4) */ ATSstaticdec() ats_ptr_type auxenv_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_auxenv_10: tmp48 = list_vt_copy_01498_ats_ptr_type (arg0) ; tmp47 = list_reverse_append2_vt_01435_ats_ptr_type (arg1, tmp48) ; return (tmp47) ; } /* end of [auxenv_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 5948(line=304, offs=1) -- 6348(line=324, offs=2) */ ATSstaticdec() ats_bool_type auxfvar_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab_auxfvar_16: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp66 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp65, arg1) ; if (tmp67) { tmp64 = ats_false_bool ; } else { tmp68 = ats_ptrget_mac(ats_ptr_type, tmp66) ; arg0 = tmp68 ; arg1 = arg1 ; goto __ats_lab_auxfvar_16 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp64 = ats_true_bool ; break ; } while (0) ; return (tmp64) ; } /* end of [auxfvar_16] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_loop_23: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp76 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: break ; } while (0) ; return /* (tmp75) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp74 = */ loop_23 (arg0) ; return /* (tmp74) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 6398(line=329, offs=1) -- 6725(line=349, offs=2) */ ATSstaticdec() ats_bool_type auxmat_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp77) ; __ats_lab_auxmat_17: tmp70 = (ats_sum_ptr_type)0 ; tmp71 = (ats_sum_ptr_type)0 ; tmp72 = auxmat_env_19 (arg0, tmp70, tmp71, arg1, arg2) ; /* tmp73 = */ list_vt_free_01499_ats_ptr_type (tmp70) ; /* tmp77 = */ list_vt_free_01499_ats_ptr_type (tmp71) ; tmp69 = tmp72 ; return (tmp69) ; } /* end of [auxmat_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 6753(line=352, offs=1) -- 7092(line=372, offs=2) */ ATSstaticdec() ats_bool_type auxmatlst_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; __ats_lab_auxmatlst_18: tmp79 = (ats_sum_ptr_type)0 ; tmp80 = (ats_sum_ptr_type)0 ; tmp81 = auxmatlst_env_20 (arg0, tmp79, tmp80, arg1, arg2) ; /* tmp82 = */ list_vt_free_01499_ats_ptr_type (tmp79) ; /* tmp83 = */ list_vt_free_01499_ats_ptr_type (tmp80) ; tmp78 = tmp81 ; return (tmp78) ; } /* end of [auxmatlst_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 7144(line=377, offs=1) -- 10349(line=527, offs=4) */ ATSstaticdec() ats_bool_type auxmat_env_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; ATSlocal (ats_bool_type, tmp120) ; __ats_lab_auxmat_env_19: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg3) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg4) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp85) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp86) ; tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp87), atslab_s2exp_node) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp88), atslab_s2exp_node) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp89)->tag != 7) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_0) ; tmp92 = auxfvar_16 (arg1, tmp91) ; if (tmp92) { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_find (arg0, tmp91) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__s2hnf_is_err (tmp93) ; if (tmp94) { tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_update (arg0, tmp91, tmp86) ; } else { tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2 (tmp93, tmp86) ; } /* end of [if] */ } else { tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env (arg1, arg2, tmp85, tmp86) ; } /* end of [if] */ break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp89)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_0) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp90)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_4, tmp90, atslab_0) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp95, tmp96) ; if (tmp97) { tmp84 = ats_true_bool ; } else { tmp84 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp84 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp89)->tag != 17) { goto __ats_lab_29_0 ; } __ats_lab_26_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_5, tmp89, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_5, tmp89, atslab_1) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp90)->tag != 17) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_5, tmp90, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_5, tmp90, atslab_1) ; tmp102 = auxmat_env_19 (arg0, arg1, arg2, tmp98, tmp100) ; if (tmp102) { tmp84 = auxmatlst_env_20 (arg0, arg1, arg2, tmp99, tmp101) ; } else { tmp84 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp84 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp89)->tag != 25) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_6, tmp89, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_6, tmp89, atslab_2) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp90)->tag != 25) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_6, tmp90, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_6, tmp90, atslab_2) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (tmp103, tmp105) ; if (tmp107) { tmp84 = auxlabmatlst_env_21 (arg0, arg1, arg2, tmp104, tmp106) ; } else { tmp84 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp84 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp89)->tag != 27) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_7, tmp89, atslab_0) ; tmp109 = ats_caselptrlab_mac(anairiats_sum_7, tmp89, atslab_1) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_7, tmp89, atslab_2) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp90)->tag != 27) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_1) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_2) ; tmp114 = auxenv_10 (arg1, tmp108) ; tmp115 = auxenv_10 (arg2, tmp111) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq_env (tmp114, tmp115, tmp109, tmp112) ; if (tmp116) { tmp117 = auxmat_env_19 (arg0, tmp114, tmp115, tmp110, tmp113) ; } else { tmp117 = ats_false_bool ; } /* end of [if] */ /* tmp118 = */ list_vt_free_01499_ats_ptr_type (tmp114) ; /* tmp119 = */ list_vt_free_01499_ats_ptr_type (tmp115) ; tmp84 = tmp117 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp84 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq_env (arg1, arg2, tmp85, tmp86) ; if (!tmp120) { goto __ats_lab_36_1 ; } tmp84 = ats_true_bool ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp84 = ats_false_bool ; break ; } while (0) ; return (tmp84) ; } /* end of [auxmat_env_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 10378(line=530, offs=1) -- 11163(line=567, offs=4) */ ATSstaticdec() ats_bool_type auxmatlst_env_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; __ats_lab_auxmatlst_env_20: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_1) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_1) ; tmp126 = auxmat_env_19 (arg0, arg1, arg2, tmp122, tmp124) ; if (tmp126) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp123 ; arg4 = tmp125 ; goto __ats_lab_auxmatlst_env_20 ; // tail call } else { tmp121 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp121 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp121 = ats_true_bool ; break ; } while (0) ; return (tmp121) ; } /* end of [auxmatlst_env_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 11191(line=570, offs=1) -- 12321(line=616, offs=4) */ ATSstaticdec() ats_bool_type auxlabmatlst_env_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; __ats_lab_auxlabmatlst_env_21: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp128 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_1) ; // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp130 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg4, atslab_1) ; // tmp132 = ats_caselptrlab_mac(anairiats_sum_1, tmp128, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_1, tmp128, atslab_2) ; // tmp134 = ats_caselptrlab_mac(anairiats_sum_1, tmp130, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_1, tmp130, atslab_2) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp132, tmp134) ; if (tmp137) { tmp136 = auxmat_env_19 (arg0, arg1, arg2, tmp133, tmp135) ; } else { tmp136 = ats_false_bool ; } /* end of [if] */ if (tmp136) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp129 ; arg4 = tmp131 ; goto __ats_lab_auxlabmatlst_env_21 ; // tail call } else { tmp127 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp127 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp127 = ats_false_bool ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp127 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp127) ; } /* end of [auxlabmatlst_env_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 12377(line=621, offs=1) -- 12885(line=644, offs=4) */ ATSstaticdec() ats_bool_type auxmatlstlst_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_auxmatlstlst_24: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_47_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp141), atslab_t2mpmarg_arg) ; tmp143 = auxmatlst_18 (arg0, tmp139, tmp144) ; if (tmp143) { arg0 = arg0 ; arg1 = tmp140 ; arg2 = tmp142 ; goto __ats_lab_auxmatlstlst_24 ; // tail call } else { tmp138 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp138 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp138 = ats_true_bool ; break ; } while (0) ; return (tmp138) ; } /* end of [auxmatlstlst_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 12937(line=649, offs=1) -- 13143(line=660, offs=4) */ ATSstaticdec() ats_ptr_type auxbndlstlst_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_auxbndlstlst_25: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp146), atslab_t2mpmarg_arg) ; tmp145 = auxbndlstlst2_26 (arg0, tmp148, tmp147) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp145 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp145) ; } /* end of [auxbndlstlst_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 13174(line=663, offs=1) -- 13549(line=680, offs=4) */ ATSstaticdec() ats_ptr_type auxbndlstlst2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab_auxbndlstlst2_26: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp150) ; if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 13356(line=673, offs=9) -- 13384(line=673, offs=37)") ; } tmp153 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp155 = auxbndlstlst2_26 (tmp154, tmp151, arg2) ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp149, atslab_0, tmp153) ; ats_selptrset_mac(anairiats_sum_1, tmp149, atslab_1, tmp152) ; ats_selptrset_mac(anairiats_sum_1, tmp149, atslab_2, tmp155) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp149 = auxbndlstlst_25 (arg0, arg2) ; break ; } while (0) ; return (tmp149) ; } /* end of [auxbndlstlst2_26] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_loop_30: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp165 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp163, arg3) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp166, atslab_0, tmp165) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp166 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp167 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp164 ; arg1 = arg1 ; arg2 = tmp167 ; arg3 = arg3 ; goto __ats_lab_loop_30 ; // tail call break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp168 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp168 ; break ; } while (0) ; return /* (tmp162) */ ; } /* end of [loop_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp169 ; */ /* tmp170 = */ loop_30 (arg0, arg1, (&tmp169), arg2) ; tmp161 = tmp169 ; return (tmp161) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp160 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp160) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 13790(line=692, offs=52) -- 13815(line=692, offs=77) */ ATSstaticdec() ats_ptr_type __ats_fun_31 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp171) ; __ats_lab___ats_fun_31: tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_t2mpmarg_arg) ; return (tmp171) ; } /* end of [__ats_fun_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 13654(line=688, offs=3) -- 13964(line=699, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_bool_type, tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_nil () ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg0) ; tmp159 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp158, &__ats_fun_31) ; tmp172 = auxmatlstlst_24 (tmp157, ats_castfn_mac(ats_ptr_type, tmp159), arg1) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (tmp157) ; /* tmp174 = */ list_vt_free_01499_ats_ptr_type (tmp159) ; tmp156 = tmp172 ; return (tmp156) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 14053(line=705, offs=3) -- 14669(line=736, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_bool_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_bool_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match: tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_hiimpdec_cst) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (arg1, tmp176) ; if (tmp177) { tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_hiimpdec_imparg) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst (tmp179) ; tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_hiimpdec_tmparg) ; tmp180 = auxmatlstlst_24 (tmp178, tmp181, arg2) ; if (tmp180) { tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub (tmp178) ; tmp175 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp175)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp175, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp175, atslab_1, tmp182) ; ats_selptrset_mac(anairiats_sum_10, tmp175, atslab_2, arg3) ; } else { /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (tmp178) ; tmp175 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; } /* end of [if] */ } else { tmp175 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; } /* end of [if] */ return (tmp175) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 14761(line=742, offs=3) -- 15511(line=780, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec2_tmpcst_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_bool_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec2_tmpcst_match: tmp185 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_2) ; tmp188 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp185), atslab_hiimpdec_cst) ; tmp189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp185), atslab_hiimpdec_imparg) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (arg1, tmp188) ; if (tmp190) { tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_make_svarlst (tmp189) ; tmp192 = auxmatlstlst_24 (tmp191, tmp187, arg2) ; if (tmp192) { tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv2tmpsub (tmp191) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append (tmp186, tmp193) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_10, tmp184, atslab_1, tmp194) ; ats_selptrset_mac(anairiats_sum_10, tmp184, atslab_2, arg3) ; } else { /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (tmp191) ; tmp184 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; } /* end of [if] */ } else { tmp184 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; } /* end of [if] */ return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec2_tmpcst_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 15606(line=786, offs=3) -- 16120(line=812, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_57_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match (tmp197, arg1, arg2, arg3) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp199)->tag != 1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp196 = tmp199 ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp199)->tag != 2) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp196 = tmp199 ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (((ats_sum_ptr_type)tmp199)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: arg0 = tmp198 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp196 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; break ; } while (0) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 16215(line=818, offs=3) -- 16596(line=844, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpcstmat_tmpcst_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_bool_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_bool_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpcstmat_tmpcst_match: /* ats_bool_type tmp201 ; */ tmp201 = ats_false_bool ; if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 16272(line=822, offs=5) -- 16310(line=822, offs=43)") ; } tmp202 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (tmp202, arg1) ; if (tmp205) { tmp206 = (ats_sum_ptr_type)0 ; tmp207 = auxmatlstlst_24 (tmp206, tmp203, arg2) ; tmp201 = tmp207 ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (tmp206) ; } else { /* empty */ } /* end of [if] */ if (tmp201) { tmp200 = arg0 ; } else { tmp200 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; } /* end of [if] */ return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpcstmat_tmpcst_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 16685(line=850, offs=3) -- 16825(line=857, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat: tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_hifundec_imparg) ; tmp210 = auxbndlstlst_25 (tmp209, arg1) ; tmp208 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp208)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp208, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp208, atslab_1, tmp210) ; ats_selptrset_mac(anairiats_sum_10, tmp208, atslab_2, 0) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 16892(line=861, offs=3) -- 17027(line=868, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundecopt2tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundecopt2tmpvarmat: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp211 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 16920(line=864, offs=1) -- 17020(line=866, offs=52)") ; } __ats_lab_63_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; ATS_FREE(arg0) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat (tmp212, arg1) ; break ; } while (0) ; return (tmp211) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundecopt2tmpvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 17118(line=874, offs=3) -- 17260(line=883, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_tmpvar_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_bool_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_tmpvar_match: tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_hifundec_var) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp214, arg1) ; if (tmp215) { tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2tmpvarmat (arg0, arg2) ; } else { tmp213 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; } /* end of [if] */ return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_tmpvar_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 17352(line=889, offs=3) -- 17705(line=910, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2_tmpvar_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_bool_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2_tmpvar_match: tmp217 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp219 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp217), atslab_hifundec_var) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp219, arg1) ; if (tmp220) { tmp221 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp217), atslab_hifundec_imparg) ; tmp222 = auxbndlstlst_25 (tmp221, arg2) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append (tmp218, tmp222) ; tmp216 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp216)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_0, tmp217) ; ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_1, tmp223) ; ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_2, 0) ; } else { tmp216 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; } /* end of [if] */ return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2_tmpvar_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 17798(line=916, offs=3) -- 18127(line=936, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmat_tmpvar_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_bool_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_bool_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmat_tmpvar_match: /* ats_bool_type tmp225 ; */ tmp225 = ats_false_bool ; if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 17855(line=920, offs=5) -- 17894(line=920, offs=44)") ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp226, arg1) ; if (tmp229) { tmp230 = (ats_sum_ptr_type)0 ; tmp231 = auxmatlstlst_24 (tmp230, tmp227, arg2) ; tmp225 = tmp231 ; /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__impenv_free (tmp230) ; } else { /* empty */ } /* end of [if] */ if (tmp225) { tmp224 = arg0 ; } else { tmp224 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; } /* end of [if] */ return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmat_tmpvar_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 18685(line=961, offs=3) -- 18983(line=975, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst: tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg3) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp233 != (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_none (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (tmp233 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp234 = ats_caselptrlab_mac(anairiats_sum_12, tmp233, atslab_0) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_some (arg0, arg1, arg2, arg3, arg4, tmp234) ; break ; } while (0) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 19058(line=979, offs=3) -- 19493(line=995, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_none (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_none: tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg3) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (tmp236 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg3) ; if (tmp237 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 19187(line=987, offs=9) -- 19223(line=987, offs=45)") ; } tmp238 = ats_caselptrlab_mac(anairiats_sum_12, tmp237, atslab_0) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_tsubst (arg1, arg4, tmp236) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match (arg0, tmp238, tmp239) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat (arg0, arg1, arg2, tmp238, tmp239, tmp240) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (tmp236 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab (arg1, arg2, arg3) ; break ; } while (0) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 19573(line=999, offs=3) -- 20429(line=1037, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_int_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_some: tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub (arg4) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy (arg3) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst (tmp242, arg3) ; /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix (tmp244, tmp243) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp244) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp244) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp249 = ats_selsin_mac(tmp248, atslab_1) */ ; /* tmp250 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpsub (arg0, arg4) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmprecdepth (arg0) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst (arg0, tmp242, tmp244, arg5, tmp243) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmprecdepth (arg0) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp256 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp256, atslab_0, arg4) ; /* tmp255 = */ patsopt_funent_set_tmpsub (tmp252, tmp256) ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp258, atslab_0, tmp252) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp244, tmp258) ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp242) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab (arg1, arg2, tmp244) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 20716(line=1053, offs=3) -- 21395(line=1082, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg5)->tag != 1) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpcstmat_some (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg5)->tag != 2) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_7, arg5, atslab_2) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab (arg1, arg2, tmp261) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (((ats_sum_ptr_type)arg5)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcstmat (arg1, arg2, arg3, arg4, arg5) ; break ; } while (0) ; return (tmp260) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 21458(line=1086, offs=3) -- 21793(line=1102, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpcstmat_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpcstmat_some: if (((ats_sum_ptr_type)arg5)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 21506(line=1088, offs=5) -- 21544(line=1089, offs=25)") ; } tmp263 = ats_caselptrlab_mac(anairiats_sum_10, arg5, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_10, arg5, atslab_1) ; tmp265 = ats_caselptrlab_mac(anairiats_sum_10, arg5, atslab_2) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_save () ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp_if (arg0, 0, tmp263, tmp265) ; /* tmp268 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_restore (tmp266) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt (tmp263) ; if (tmp269 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 21687(line=1098, offs=5) -- 21729(line=1098, offs=47)") ; } tmp270 = ats_caselptrlab_mac(anairiats_sum_12, tmp269, atslab_0) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst (arg0, arg1, arg2, tmp270, tmp264) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpcstmat_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 22074(line=1117, offs=3) -- 22794(line=1147, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg5)->tag != 1) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpvarmat_some (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)arg5)->tag != 2) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_7, arg5, atslab_2) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab (arg1, arg2, tmp272) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (((ats_sum_ptr_type)arg5)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvarmat (arg1, arg2, arg3, arg4, arg5) ; break ; } while (0) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 22857(line=1151, offs=3) -- 23412(line=1176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpvarmat_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpvarmat_some: if (((ats_sum_ptr_type)arg5)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 22905(line=1153, offs=5) -- 22948(line=1154, offs=30)") ; } tmp274 = ats_caselptrlab_mac(anairiats_sum_10, arg5, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_10, arg5, atslab_1) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt (tmp274) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (tmp276 != (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt (tmp274) ; if (tmp278 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 23039(line=1161, offs=9) -- 23087(line=1162, offs=44)") ; } tmp279 = ats_caselptrlab_mac(anairiats_sum_12, tmp278, atslab_0) ; tmp280 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp279), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp280)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 23116(line=1164, offs=9) -- 23171(line=1165, offs=45)") ; } tmp281 = ats_caselptrlab_mac(anairiats_sum_7, tmp280, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_7, tmp280, atslab_1) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_7, tmp280, atslab_2) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp (arg0, 0, tmp281, tmp282, tmp283) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (tmp276 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: break ; } while (0) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt (tmp274) ; if (tmp284 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_template.dats: 23307(line=1172, offs=5) -- 23348(line=1172, offs=46)") ; } tmp285 = ats_caselptrlab_mac(anairiats_sum_12, tmp284, atslab_0) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_funlab_tmpsubst (arg0, arg1, arg2, tmp285, tmp275) ; return (tmp273) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__ccomp_tmpvarmat_some] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVcons_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__IMPENVnil_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_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 () ; #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_ccomp_template_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_fldfrat_dats.c0000664000175000017500000015123312655455557021522 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_foldat_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_freeat_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; 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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_foldat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_freeat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_int_type auxck_free_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type auxfind_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 1615(line=49, offs=18) -- 1647(line=49, offs=50) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_fldfrat")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab_prerr_error3_loc_02046_: /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp9 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp9) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 2071(line=77, offs=5) -- 2771(line=109, offs=4) */ ATSstaticdec() ats_int_type auxck_free_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_int_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; __ats_lab_auxck_free_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* ats_int_type tmp4 ; */ tmp4 = arg2 ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2 (tmp2) ; if (tmp5) { tmp7 = atspre_add_int_int (tmp4, 1) ; tmp4 = tmp7 ; /* tmp8 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp11 = */ atspre_prerr_string (ATSstrcst(": [free@] operation cannot be performed")) ; /* tmp12 = */ atspre_prerr_string (ATSstrcst(": a linear component of the type [")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp2) ; /* tmp14 = */ atspre_prerr_string (ATSstrcst("] may be abandoned.")) ; /* tmp6 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp3 ; arg2 = tmp4 ; goto __ats_lab_auxck_free_1 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = arg2 ; break ; } while (0) ; return (tmp1) ; } /* end of [auxck_free_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 2800(line=111, offs=5) -- 3790(line=153, offs=4) */ ATSstaticdec() ats_ptr_type auxfind_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_auxfind_3: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (tmp16) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp18 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_3, tmp18, atslab_0) ; ATS_FREE(tmp18) ; // tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp20, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp20, atslab_2) ; ATS_FREE(tmp20) ; tmp24 = (ats_sum_ptr_type)0 ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp21, tmp24) ; tmp19 = tmp22 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (tmp18 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; tmp25 = auxfind_3 (arg0, tmp17) ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp15, atslab_0, tmp19) ; ats_selptrset_mac(anairiats_sum_2, tmp15, atslab_1, tmp25) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp15 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp15) ; } /* end of [auxfind_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 3816(line=155, offs=5) -- 6323(line=239, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (anairiats_rec_1, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (anairiats_rec_1, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_bool_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_bool_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_int_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_bool_type, tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_bool_type, tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_bool_type, tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; __ats_lab_auxmain_4: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg3), atslab_d2exp_loc) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg3) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp28) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp28) ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp30), atslab_s2exp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp31)->tag != 11) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_7, tmp31, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_7, tmp31, atslab_2) ; tmp34 = auxfind_3 (arg0, tmp33) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type (tmp32) ; /* ats_int_type tmp36 ; */ tmp36 = 0 ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst (tmp35, arg2, (&tmp36)) ; tmp38 = ats_select_mac(tmp37, atslab_0) ; tmp39 = ats_select_mac(tmp37, atslab_1) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp39) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost (tmp27) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (tmp38, tmp41, (&tmp36)) ; tmp43 = ats_select_mac(tmp42, atslab_0) ; tmp44 = ats_select_mac(tmp42, atslab_1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp44) ; tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp43), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp46)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 4603(line=183, offs=9) -- 4683(line=185, offs=28)") ; } tmp47 = ats_caselptrlab_mac(anairiats_sum_8, tmp46, atslab_4) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_8, tmp46, atslab_5) ; tmp50 = atspre_eq_int_int (arg1, 0) ; if (tmp50) { tmp51 = auxck_free_1 (arg0, tmp34, 0) ; tmp52 = atspre_gt_int_int (tmp51, 0) ; if (tmp52) { tmp53 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp53)->tag = 39 ; ats_selptrset_mac(anairiats_sum_9, tmp53, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp53, atslab_1, tmp28) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp53) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp55 = atspre_gt_int_int (arg1, 0) ; if (tmp55) { /* ats_int_type tmp56 ; */ tmp56 = 0 ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err (arg0, tmp34, tmp47, (&tmp56)) ; tmp58 = atspre_gt_int_int (tmp56, 0) ; if (tmp58) { /* tmp59 = */ prerr_error3_loc_02046_ (tmp27) ; /* tmp60 = */ atspre_prerr_string (ATSstrcst(": [fold@] operation cannot be formed")) ; /* tmp61 = */ atspre_prerr_string (ATSstrcst(": some argument types are mismatched.")) ; /* tmp62 = */ atspre_prerr_newline () ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp64 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp64)->tag = 38 ; ats_selptrset_mac(anairiats_sum_9, tmp64, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp64, atslab_1, tmp28) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp64) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp66 = atspre_gt_int_int (arg1, 0) ; if (tmp66) { /* ats_int_type tmp67 ; */ tmp67 = 0 ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_type_err (0, tmp28, tmp48, (&tmp67)) ; tmp69 = atspre_gt_int_int (tmp67, 0) ; if (tmp69) { /* tmp70 = */ prerr_error3_loc_02046_ (tmp27) ; /* tmp71 = */ atspre_prerr_string (ATSstrcst(": [fold@] operation cannot be formed")) ; /* tmp72 = */ atspre_prerr_string (ATSstrcst(": the type of the dynamic expression cannot be changed.")) ; /* tmp73 = */ atspre_prerr_newline () ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp74)->tag = 38 ; ats_selptrset_mac(anairiats_sum_9, tmp74, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp74, atslab_1, tmp28) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp74) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp26 = tmp28 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: /* tmp75 = */ prerr_error3_loc_02046_ (tmp27) ; tmp77 = atspre_eq_int_int (arg1, 0) ; if (tmp77) { /* tmp76 = */ atspre_prerr_string (ATSstrcst(": [free@] operation cannot be performed")) ; } else { /* empty */ } /* end of [if] */ tmp79 = atspre_gt_int_int (arg1, 0) ; if (tmp79) { /* tmp78 = */ atspre_prerr_string (ATSstrcst(": [fold@] operation cannot be performed")) ; } else { /* empty */ } /* end of [if] */ /* tmp80 = */ atspre_prerr_string (ATSstrcst(": unfolded datatype constructor is expected.")) ; /* tmp81 = */ atspre_prerr_newline () ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; break ; } while (0) ; return (tmp26) ; } /* end of [auxmain_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 6396(line=245, offs=3) -- 6566(line=253, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_foldat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_foldat: tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp84 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp84)->tag != 22) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 6442(line=248, offs=5) -- 6481(line=248, offs=44)") ; } tmp85 = ats_caselptrlab_mac(anairiats_sum_9, tmp84, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_9, tmp84, atslab_1) ; tmp87 = auxmain_4 (tmp83, 1, tmp85, tmp86) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_foldat (tmp83, tmp87) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 6628(line=257, offs=3) -- 6955(line=271, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_freeat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_freeat: tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp90)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_fldfrat.dats: 6674(line=260, offs=5) -- 6713(line=260, offs=44)") ; } tmp91 = ats_caselptrlab_mac(anairiats_sum_9, tmp90, atslab_0) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_9, tmp90, atslab_1) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt (tmp89) ; tmp95 = atspre_gt_int_int (tmp93, 0) ; if (tmp95) { tmp96 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp96)->tag = 32 ; ats_selptrset_mac(anairiats_sum_10, tmp96, atslab_0, tmp89) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp96) ; } else { /* empty */ } /* end of [if] */ tmp97 = auxmain_4 (tmp89, 0, tmp91, tmp92) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_freeat (tmp89, tmp97) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_freeat] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_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 () ; #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_trans3_fldfrat_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/config.h0000664000175000017500000000350112655455557016010 0ustar hwxihwxi/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #define HAVE_GMP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define to 1 if you have the `memalign' function. */ #define HAVE_MEMALIGN 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `posix_memalign' function. */ #define HAVE_POSIX_MEMALIGN 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "gmpostiats@gmail.com" /* Define to the full name of this package. */ #define PACKAGE_NAME "ATS2/Postiats" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "ATS2/Postiats 0.2.6" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "ats2-postiats" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ #define PACKAGE_VERSION "0.2.6" /* The size of `void*', as computed by sizeof. */ #define SIZEOF_VOIDP 8 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_impdec_dats.c0000664000175000017500000040653412655455557021347 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_i1mpdec_loc ; ats_ptr_type atslab_i1mpdec_qid ; ats_ptr_type atslab_i1mpdec_tmparg ; ats_ptr_type atslab_i1mpdec_def ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_impqi0de_loc ; ats_ptr_type atslab_impqi0de_qua ; ats_ptr_type atslab_impqi0de_sym ; ats_ptr_type atslab_impqi0de_arg ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_16 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_19 ; typedef struct { anairiats_rec_19 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_d1ecl_loc ; ats_ptr_type atslab_d1ecl_node ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_t1mpmarg_loc ; ats_ptr_type atslab_t1mpmarg_arg ; } anairiats_rec_22 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_sarglst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_svararglst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_ann_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_nontop_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_tmparg_36) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_def) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2mpdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_match_def) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_bind_svarlst) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__i1mpdec_tr_main) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type prerr_error2_loc_02082_ (ats_ptr_type arg0) ; static ats_void_type auxerr1_2 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr1_2_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr1_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxerr2_4 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr2_4_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr2_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxerr3_5 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr3_5_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr3_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux1_6 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux1_6_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux1_6_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux2_7 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux2_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type aux2_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type i1mpdec_select_d2cst_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_ptr_type d1exp_tr_ann_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxck_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxck_14 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type auxck_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxck_16 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_void_type auxerr_17 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type auxck_19 (ats_ptr_type arg0, ats_int_type arg1) ; static anairiats_rec_1 d1exp_tr_arg_body_ann_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_int_type arg7, ats_ptr_type arg8, ats_ptr_type arg9) ; static ats_void_type stasub_add_tmparg_20 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_imparg_sarglst_22 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_24 (ats_ptr_type env0) ; static ats_clo_ptr_type auxerr1_24_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr1_24_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxerr2_25 (ats_ptr_type env0, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type auxerr2_25_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr2_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxseq_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_imparg_svararg_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxerr_31 (ats_ptr_type env0) ; static ats_clo_ptr_type auxerr_31_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr_31_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type aux_imparg_svararglst_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_ptr_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append2_vt_01314_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_37 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_concat_01321_ats_ptr_type (ats_ptr_type arg0) ; static anairiats_rec_1 aux_imparg_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_tmparg_s1explst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxerr1_42 (ats_ptr_type env0, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type auxerr1_42_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr1_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type auxerr2_43 (ats_ptr_type env0) ; static ats_clo_ptr_type auxerr2_43_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr2_43_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxerr3_44 (ats_ptr_type env0) ; static ats_clo_ptr_type auxerr3_44_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr3_44_clofun (ats_clo_ptr_type cloptr) ; static ats_ptr_type aux_tmparg_marglst_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_tmparg_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_tmparg_46 (ats_ptr_type arg0) ; static ats_void_type auxerr_nontop_47 (ats_ptr_type arg0) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_ptr_type f_49 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 1667(line=52, offs=28) -- 1698(line=52, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_impdec")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02082_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; __ats_lab_prerr_error2_loc_02082_: /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp7 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp7) */ ; } /* end of [prerr_error2_loc_02082_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 2414(line=94, offs=4) -- 2804(line=106, offs=4) */ ATSstaticdec() ats_void_type auxerr1_2 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_auxerr1_2: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_qid) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp3), atslab_impqi0de_qua) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp3), atslab_impqi0de_sym) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_loc) ; /* tmp6 = */ prerr_error2_loc_02082_ (tmp9) ; /* tmp10 = */ atspre_prerr_string (ATSstrcst(": there is no suitable dynamic constant declared for [")) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (tmp4) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp5) ; /* tmp13 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp14 = */ atspre_prerr_newline () ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp15)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp15, atslab_0, env0) ; /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp15) ; return /* (tmp2) */ ; } /* end of [auxerr1_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr1_2_closure_type ; ats_void_type auxerr1_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr1_2 (((auxerr1_2_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr1_2_closure_init (auxerr1_2_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr1_2_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr1_2_closure_make (ats_ptr_type env0) { auxerr1_2_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr1_2_closure_type)) ; auxerr1_2_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 2828(line=107, offs=4) -- 3228(line=119, offs=4) */ ATSstaticdec() ats_void_type auxerr2_4 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_auxerr2_4: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_qid) ; tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp17), atslab_impqi0de_qua) ; tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp17), atslab_impqi0de_sym) ; tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_loc) ; /* tmp20 = */ prerr_error2_loc_02082_ (tmp21) ; /* tmp22 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (tmp18) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp19) ; /* tmp25 = */ atspre_prerr_string (ATSstrcst("] does not refer to a declared dynamic constant.")) ; /* tmp26 = */ atspre_prerr_newline () ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp27)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp27, atslab_0, env0) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp27) ; return /* (tmp16) */ ; } /* end of [auxerr2_4] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr2_4_closure_type ; ats_void_type auxerr2_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr2_4 (((auxerr2_4_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr2_4_closure_init (auxerr2_4_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr2_4_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr2_4_closure_make (ats_ptr_type env0) { auxerr2_4_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr2_4_closure_type)) ; auxerr2_4_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 3252(line=120, offs=4) -- 3622(line=132, offs=4) */ ATSstaticdec() ats_void_type auxerr3_5 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_auxerr3_5: tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_qid) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp29), atslab_impqi0de_qua) ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp29), atslab_impqi0de_sym) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i1mpdec_loc) ; /* tmp32 = */ prerr_error2_loc_02082_ (tmp33) ; /* tmp34 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (tmp30) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp31) ; /* tmp37 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp38 = */ atspre_prerr_newline () ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp39)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp39, atslab_0, env0) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp39) ; return /* (tmp28) */ ; } /* end of [auxerr3_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr3_5_closure_type ; ats_void_type auxerr3_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr3_5 (((auxerr3_5_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr3_5_closure_init (auxerr3_5_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr3_5_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr3_5_closure_make (ats_ptr_type env0) { auxerr3_5_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr3_5_closure_type)) ; auxerr3_5_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 3763(line=138, offs=5) -- 4247(line=154, offs=34) */ ATSstaticdec() ats_ptr_type aux1_6 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_bool_type, tmp50) ; __ats_lab_aux1_6: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp47 = ats_caselptrlab_mac(anairiats_sum_6, tmp45, atslab_1) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp47)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_4, tmp47, atslab_0) ; tmp49 = aux1_6 (env0, tmp46) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_match_def (tmp48, env0) ; if (tmp50) { tmp44 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp44, atslab_0, tmp48) ; ats_selptrset_mac(anairiats_sum_5, tmp44, atslab_1, tmp49) ; } else { tmp44 = tmp49 ; } /* end of [if] */ break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: arg0 = tmp46 ; goto __ats_lab_aux1_6 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp44 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp44) ; } /* end of [aux1_6] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux1_6_closure_type ; ats_ptr_type aux1_6_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux1_6 (((aux1_6_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux1_6_closure_init (aux1_6_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux1_6_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux1_6_closure_make (ats_ptr_type env0) { aux1_6_closure_type *p_clo = ATS_MALLOC(sizeof(aux1_6_closure_type)) ; aux1_6_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_loop_9: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp57 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: break ; } while (0) ; return /* (tmp56) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp55 = */ loop_9 (arg0) ; return /* (tmp55) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 4275(line=157, offs=5) -- 4585(line=166, offs=8) */ ATSstaticdec() ats_ptr_type aux2_7 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp58) ; __ats_lab_aux2_7: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp54 = */ list_vt_free_01499_ats_ptr_type (tmp53) ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp51, atslab_0, tmp52) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp58 = */ auxerr1_2 (env0, env1) ; tmp51 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp51) ; } /* end of [aux2_7] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux2_7_closure_type ; ats_ptr_type aux2_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux2_7 (((aux2_7_closure_type*)cloptr)->closure_env_0, ((aux2_7_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux2_7_closure_init (aux2_7_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux2_7_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux2_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux2_7_closure_type *p_clo = ATS_MALLOC(sizeof(aux2_7_closure_type)) ; aux2_7_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 2326(line=89, offs=1) -- 5143(line=188, offs=4) */ ATSstaticdec() ats_ptr_type i1mpdec_select_d2cst_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; __ats_lab_i1mpdec_select_d2cst_1: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_i1mpdec_qid) ; tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp40), atslab_impqi0de_qua) ; tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp40), atslab_impqi0de_sym) ; tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_i1mpdec_def) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (tmp41, tmp42) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (tmp59 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_8_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_7, tmp59, atslab_0) ; ATS_FREE(tmp59) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_4, tmp60, atslab_0) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp1, atslab_0, tmp61) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp60)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_8, tmp60, atslab_1) ; tmp63 = aux1_6 (tmp43, tmp62) ; tmp1 = aux2_7 (arg0, arg1, tmp63) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: /* tmp64 = */ auxerr2_4 (arg0, arg1) ; tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp59 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: /* tmp65 = */ auxerr3_5 (arg0, arg1) ; tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1) ; } /* end of [i1mpdec_select_d2cst_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 5532(line=208, offs=4) -- 5916(line=218, offs=4) */ ATSstaticdec() ats_void_type auxerr_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_bool_type, tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_bool_type, tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab_auxerr_12: /* tmp71 = */ prerr_error2_loc_02082_ (arg2) ; /* tmp72 = */ atspre_prerr_string (ATSstrcst(": static arity mismatch")) ; tmp74 = atspre_lt_int_int (arg3, 0) ; if (tmp74) { /* tmp73 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp76 = atspre_gt_int_int (arg3, 0) ; if (tmp76) { /* tmp75 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp77 = */ atspre_prerr_newline () ; tmp78 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp78)->tag = 28 ; ats_selptrset_mac(anairiats_sum_8, tmp78, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp78, atslab_1, arg1) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp78) ; return /* (tmp70) */ ; } /* end of [auxerr_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 5203(line=193, offs=1) -- 7820(line=280, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_ann_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (anairiats_rec_1, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_bool_type, tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (anairiats_rec_1, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (anairiats_rec_1, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_d1exp_tr_ann_10: tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp68) ; tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp69), atslab_s2exp_node) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp79)->tag != 28) { goto __ats_lab_16_0 ; } __ats_lab_13_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_11, tmp79, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_11, tmp79, atslab_1) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_11, tmp79, atslab_2) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp83)->tag != 54) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_1) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_2) ; /* ats_int_type tmp87 ; */ tmp87 = 0 ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1vararg_bind_svarlst (tmp85, tmp80, (&tmp87)) ; tmp89 = ats_select_mac(tmp88, atslab_0) ; tmp90 = ats_select_mac(tmp88, atslab_1) ; tmp92 = atspre_neq_int_int (tmp87, 0) ; if (tmp92) { /* tmp91 = */ auxerr_12 (arg0, tmp69, tmp84, tmp87) ; } else { /* empty */ } /* end of [if] */ /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp94 = ats_selsin_mac(tmp93, atslab_1) */ ; /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp90)) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (tmp89, tmp81) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp89, tmp82) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp89) ; tmp99 = d1exp_tr_ann_10 (tmp86, tmp97) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta (tmp67, ats_castfn_mac(ats_ptr_type, tmp90), tmp96, tmp99) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp101 = d1exp_tr_ann_10 (arg0, tmp82) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta (tmp67, tmp80, tmp81, tmp101) ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp79)->tag != 19) { goto __ats_lab_20_0 ; } __ats_lab_16_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_1) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_2) ; tmp105 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_3) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_4) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_12, tmp79, atslab_5) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp108)->tag != 51) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_1) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_2) ; tmp112 = d1exp_tr_arg_body_ann_11 (arg0, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp109, tmp110, tmp111) ; tmp113 = ats_select_mac(tmp112, atslab_0) ; tmp114 = ats_select_mac(tmp112, atslab_1) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn (tmp67, tmp103, tmp105, tmp113, tmp114) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp108)->tag != 52) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_1) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_13, tmp108, atslab_2) ; tmp118 = d1exp_tr_arg_body_ann_11 (arg0, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp115, tmp116, tmp117) ; tmp119 = ats_select_mac(tmp118, atslab_0) ; tmp120 = ats_select_mac(tmp118, atslab_1) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn (tmp67, tmp103, tmp105, tmp119, tmp120) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (tmp67, tmp121, tmp69) ; break ; } while (0) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (tmp67, tmp122, tmp69) ; break ; } while (0) ; return (tmp66) ; } /* end of [d1exp_tr_ann_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 8283(line=300, offs=7) -- 8741(line=312, offs=14) */ ATSstaticdec() ats_void_type auxck_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_auxck_13: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp126 = atspre_eq_int_int (tmp125, 0) ; if (!tmp126) { goto __ats_lab_22_1 ; } tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; /* tmp127 = */ prerr_error2_loc_02082_ (tmp128) ; /* tmp129 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("d1exp_tr_arg_body_ann")) ; /* tmp130 = */ atspre_prerr_string (ATSstrcst(": the function cannot be given an unboxed closure type.")) ; /* tmp131 = */ atspre_prerr_newline () ; tmp132 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp132)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp132, atslab_0, arg0) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp132) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: break ; } while (0) ; return /* (tmp124) */ ; } /* end of [auxck_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 8829(line=319, offs=7) -- 9328(line=331, offs=8) */ ATSstaticdec() ats_void_type auxck_14 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp134) ; ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_bool_type, tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_bool_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_auxck_14: tmp135 = atspre_neq_int_int (arg1, arg2) ; if (tmp135) { tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; /* tmp137 = */ prerr_error2_loc_02082_ (tmp136) ; /* tmp138 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("d1exp_tr_arg_body_ann")) ; tmp140 = atspre_lt_int_int (arg1, arg2) ; if (tmp140) { /* tmp139 = */ atspre_prerr_string (ATSstrcst(": linear function is given a nonlinear type.")) ; } else { /* empty */ } /* end of [if] */ tmp142 = atspre_gt_int_int (arg1, arg2) ; if (tmp142) { /* tmp141 = */ atspre_prerr_string (ATSstrcst(": nonlinear function is given a linear type.")) ; } else { /* empty */ } /* end of [if] */ /* tmp143 = */ atspre_prerr_newline () ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp144)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp144, atslab_0, arg0) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp144) ; } else { /* empty */ } /* end of [if] */ return /* (tmp134) */ ; } /* end of [auxck_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 9500(line=341, offs=7) -- 10019(line=355, offs=6) */ ATSstaticdec() ats_void_type auxck_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_bool_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab_auxck_15: tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none (arg2) ; tmp150 = atspre_neg_bool (tmp149) ; if (tmp150) { tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_p1at_loc) ; /* tmp152 = */ prerr_error2_loc_02082_ (tmp151) ; /* tmp153 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("d1exp_tr_arg_body_ann")) ; /* tmp154 = */ atspre_prerr_string (ATSstrcst(": the function argument cannot be ascribed refval types.")) ; /* tmp155 = */ atspre_prerr_newline () ; tmp156 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp156)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp156, atslab_0, arg0) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp156) ; } else { /* empty */ } /* end of [if] */ return /* (tmp148) */ ; } /* end of [auxck_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 10291(line=368, offs=7) -- 10741(line=379, offs=8) */ ATSstaticdec() ats_void_type auxck_16 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_bool_type, tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_auxck_16: tmp165 = atspre_neq_int_int (arg1, arg2) ; if (tmp165) { tmp167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; /* tmp166 = */ prerr_error2_loc_02082_ (tmp167) ; /* tmp168 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("d1exp_tr_arg_body_ann")) ; /* tmp169 = */ atspre_prerr_string (ATSstrcst(": proof arity mismatch")) ; /* tmp170 = */ atspre_prerrf_exn (ATSstrcst(": the expected number of proof arguments is [%i]"), arg1) ; /* tmp171 = */ atspre_prerr_newline () ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp172)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp172, atslab_0, arg0) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp172) ; } else { /* empty */ } /* end of [if] */ return /* (tmp164) */ ; } /* end of [auxck_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 10860(line=387, offs=6) -- 11317(line=399, offs=7) */ ATSstaticdec() ats_void_type auxerr_17 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_bool_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_bool_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; __ats_lab_auxerr_17: tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; /* tmp176 = */ prerr_error2_loc_02082_ (tmp175) ; /* tmp177 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("d1exp_tr_arg_body_ann")) ; /* tmp178 = */ atspre_prerr_string (ATSstrcst(": arity mismatch")) ; tmp180 = atspre_lt_int_int (arg1, 0) ; if (tmp180) { /* tmp179 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp182 = atspre_gt_int_int (arg1, 0) ; if (tmp182) { /* tmp181 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp183 = */ atspre_prerr_newline () ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp184)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp184, atslab_0, arg0) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp184) ; return /* (tmp174) */ ; } /* end of [auxerr_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 11346(line=401, offs=7) -- 11905(line=418, offs=10) */ ATSstaticdec() ats_ptr_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_int_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; __ats_lab_aux_18: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_27_1 ; } __ats_lab_25_2: tmp186 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp188) ; tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp186), atslab_p2at_loc) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann (tmp192, tmp186, tmp190) ; tmp193 = aux_18 (tmp187, tmp189, arg2) ; tmp185 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp185, atslab_0, tmp191) ; ats_selptrset_mac(anairiats_sum_5, tmp185, atslab_1, tmp193) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_28_1 ; } __ats_lab_26_2: tmp185 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_2: tmp194 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp194 ; tmp185 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_2: tmp195 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp195 ; tmp185 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp185) ; } /* end of [aux_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 12631(line=450, offs=7) -- 12916(line=458, offs=8) */ ATSstaticdec() ats_void_type auxck_19 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp215) ; ATSlocal (ats_bool_type, tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab_auxck_19: tmp216 = atspre_gt_int_int (arg1, 0) ; if (tmp216) { tmp218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d1exp_loc) ; /* tmp217 = */ prerr_error2_loc_02082_ (tmp218) ; /* tmp219 = */ atspre_prerr_string (ATSstrcst(": the [funclo/effect] annonation is redundant.")) ; /* tmp220 = */ atspre_prerr_newline () ; tmp221 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp221)->tag = 27 ; ats_selptrset_mac(anairiats_sum_4, tmp221, atslab_0, arg0) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp221) ; } else { /* empty */ } /* end of [if] */ return /* (tmp215) */ ; } /* end of [auxck_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 7851(line=283, offs=1) -- 13328(line=475, offs=4) */ ATSstaticdec() anairiats_rec_1 d1exp_tr_arg_body_ann_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_int_type arg7, ats_ptr_type arg8, ats_ptr_type arg9) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp123) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_int_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_bool_type, tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; // ATSlocal_void (tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; __ats_lab_d1exp_tr_arg_body_ann_11: /* tmp133 = */ auxck_13 (arg0, arg1) ; /* tmp145 = */ auxck_14 (arg0, arg2, arg7) ; /* ats_ptr_type tmp146 ; */ tmp146 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg (arg8, (&tmp146)) ; /* tmp157 = */ auxck_15 (arg0, arg8, tmp146) ; /* ats_int_type tmp158 ; */ tmp158 = -1 ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp147), atslab_p2at_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp160)->tag != 18) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_17, tmp160, atslab_0) ; tmp162 = ats_caselptrlab_mac(anairiats_sum_17, tmp160, atslab_1) ; tmp158 = tmp161 ; tmp159 = tmp162 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp163 = (ats_sum_ptr_type)0 ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_0, tmp147) ; ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_1, tmp163) ; break ; } while (0) ; /* tmp173 = */ auxck_16 (arg0, arg4, tmp158) ; /* ats_int_type tmp196 ; */ tmp196 = 0 ; tmp197 = aux_18 (tmp159, arg5, (&tmp196)) ; tmp199 = atspre_neq_int_int (tmp196, 0) ; if (tmp199) { /* tmp198 = */ auxerr_17 (arg0, tmp196) ; } else { /* empty */ } /* end of [if] */ /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp201 = ats_selsin_mac(tmp200, atslab_1) */ ; tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp147), atslab_p2at_svs) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp203) ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp202) ; tmp206 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, tmp147), atslab_p2at_dvs) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp206) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp205) ; /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc () ; /* tmp209 = ats_selsin_mac(tmp208, atslab_1) */ ; /* ats_int_type tmp210 ; */ tmp210 = 0 ; tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg9), atslab_d1exp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp212)->tag != 63) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp213 = atspre_iadd (tmp210, 1) ; tmp210 = tmp213 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp212)->tag != 64) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp214 = atspre_iadd (tmp210, 1) ; tmp210 = tmp214 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: break ; } while (0) ; /* tmp222 = */ auxck_19 (arg0, tmp210) ; tmp223 = d1exp_tr_ann_10 (arg9, arg6) ; /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec () ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp226 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, tmp223), atslab_d2exp_loc) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff (tmp226, tmp223, arg3) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (tmp226, tmp227, arg1) ; tmp123.atslab_0 = tmp197 ; tmp123.atslab_1 = tmp228 ; return (tmp123) ; } /* end of [d1exp_tr_arg_body_ann_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 13389(line=480, offs=1) -- 13792(line=498, offs=4) */ ATSstaticdec() ats_void_type stasub_add_tmparg_20 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp229) ; ATSlocal (anairiats_rec_19, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab_stasub_add_tmparg_20: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_20, arg1, atslab_0) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_20, arg1, atslab_1) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp235 = ats_select_mac(tmp230, atslab_s2qua_svs) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst (arg0, tmp235, tmp232) ; arg0 = arg0 ; arg1 = tmp231 ; arg2 = tmp233 ; goto __ats_lab_stasub_add_tmparg_20 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: break ; } while (0) ; return /* (tmp229) */ ; } /* end of [stasub_add_tmparg_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 14051(line=517, offs=1) -- 14208(line=523, offs=2) */ ATSstaticdec() ats_ptr_type aux_imparg_sarglst_22 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; __ats_lab_aux_imparg_sarglst_22: tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (arg1) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp238) ; tmp237 = tmp238 ; return (tmp237) ; } /* end of [aux_imparg_sarglst_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 14362(line=533, offs=1) -- 14637(line=541, offs=4) */ ATSstaticdec() ats_void_type auxerr1_24 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab_auxerr1_24: tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, env0), atslab_d1ecl_loc) ; /* tmp242 = */ prerr_error2_loc_02082_ (tmp243) ; /* tmp244 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main")) ; /* tmp245 = */ atspre_prerr_string (ATSstrcst(": the implementation is overly applied.")) ; /* tmp246 = */ atspre_prerr_newline () ; tmp247 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp247)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp247, atslab_0, env0) ; /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp247) ; return /* (tmp241) */ ; } /* end of [auxerr1_24] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr1_24_closure_type ; ats_void_type auxerr1_24_clofun (ats_clo_ptr_type cloptr) { auxerr1_24 (((auxerr1_24_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr1_24_closure_init (auxerr1_24_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr1_24_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr1_24_closure_make (ats_ptr_type env0) { auxerr1_24_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr1_24_closure_type)) ; auxerr1_24_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 14662(line=543, offs=1) -- 15068(line=555, offs=4) */ ATSstaticdec() ats_void_type auxerr2_25 (ats_ptr_type env0, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_bool_type, tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; __ats_lab_auxerr2_25: /* tmp249 = */ prerr_error2_loc_02082_ (arg0) ; /* tmp250 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main")) ; /* tmp251 = */ atspre_prerr_string (ATSstrcst(": the implementation argument group is expected to contain ")) ; tmp254 = atspre_gt_int_int (arg1, 0) ; if (tmp254) { tmp253 = ATSstrcst("fewer") ; } else { tmp253 = ATSstrcst("more") ; } /* end of [if] */ /* tmp252 = */ atspre_prerr_string (tmp253) ; /* tmp255 = */ atspre_prerr_string (ATSstrcst(" components.")) ; /* tmp256 = */ atspre_prerr_newline () ; tmp257 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp257)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp257, atslab_0, env0) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp257) ; return /* (tmp248) */ ; } /* end of [auxerr2_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr2_25_closure_type ; ats_void_type auxerr2_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { auxerr2_25 (((auxerr2_25_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr2_25_closure_init (auxerr2_25_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr2_25_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr2_25_closure_make (ats_ptr_type env0) { auxerr2_25_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr2_25_closure_type)) ; auxerr2_25_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 15096(line=558, offs=1) -- 15629(line=577, offs=2) */ ATSstaticdec() ats_ptr_type auxseq_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; __ats_lab_auxseq_26: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_38_1 ; } __ats_lab_36_2: tmp259 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp261) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arg_trdn (tmp259, tmp263) ; tmp265 = auxseq_26 (tmp260, tmp262, arg2) ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp258, atslab_0, tmp264) ; ats_selptrset_mac(anairiats_sum_5, tmp258, atslab_1, tmp265) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_39_1 ; } __ats_lab_37_2: tmp258 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_2: tmp266 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp266 ; tmp258 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_2: tmp267 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp267 ; tmp258 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp258) ; } /* end of [auxseq_26] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab_loop_29: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp276 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp274, arg3) ; tmp277 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp277, atslab_0, tmp276) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp277 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp278 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp275 ; arg1 = arg1 ; arg2 = tmp278 ; arg3 = arg3 ; goto __ats_lab_loop_29 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp279 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp279 ; break ; } while (0) ; return /* (tmp273) */ ; } /* end of [loop_29] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp280) ; // ATSlocal_void (tmp281) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp280 ; */ /* tmp281 = */ loop_29 (arg0, arg1, (&tmp280), arg2) ; tmp272 = tmp280 ; return (tmp272) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp271 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp271) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 14250(line=526, offs=1) -- 17077(line=628, offs=4) */ ATSstaticdec() ats_ptr_type aux_imparg_svararg_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (anairiats_rec_19, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (anairiats_rec_19, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; // ATSlocal_void (tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (anairiats_rec_19, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_bool_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; __ats_lab_aux_imparg_svararg_23: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_45_0 ; } __ats_lab_40_1: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_1) ; tmp282 = ats_select_mac(tmp268, atslab_s2qua_svs) ; tmp270 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp282, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp270)) ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp284, atslab_0, ats_castfn_mac(ats_ptr_type, tmp270)) ; ats_selptrset_mac(anairiats_sum_5, tmp284, atslab_1, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp284 ; tmp240 = tmp269 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: /* tmp285 = */ auxerr1_24 (arg0) ; tmp240 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_45_1: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_1) ; tmp289 = ats_select_mac(tmp286, atslab_s2qua_svs) ; tmp288 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp289, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup) ; /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp288)) ; tmp291 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp291, atslab_0, ats_castfn_mac(ats_ptr_type, tmp288)) ; ats_selptrset_mac(anairiats_sum_5, tmp291, atslab_1, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp291 ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp287 ; arg3 = arg3 ; goto __ats_lab_aux_imparg_svararg_23 ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp240 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_1) ; /* ats_int_type tmp296 ; */ tmp296 = 0 ; tmp298 = ats_select_mac(tmp294, atslab_s2qua_svs) ; tmp297 = auxseq_26 (tmp293, tmp298, (&tmp296)) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp297) ; tmp301 = atspre_neq_int_int (tmp296, 0) ; if (tmp301) { /* tmp300 = */ auxerr2_25 (arg0, tmp292, tmp296) ; } else { /* empty */ } /* end of [if] */ tmp302 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp302, atslab_0, tmp297) ; ats_selptrset_mac(anairiats_sum_5, tmp302, atslab_1, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp302 ; tmp240 = tmp295 ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: /* tmp303 = */ auxerr1_24 (arg0) ; tmp240 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp240) ; } /* end of [aux_imparg_svararg_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 17229(line=636, offs=6) -- 17524(line=643, offs=6) */ ATSstaticdec() ats_void_type auxerr_31 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab_auxerr_31: tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, env0), atslab_d1ecl_loc) ; /* tmp306 = */ prerr_error2_loc_02082_ (tmp307) ; /* tmp308 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main")) ; /* tmp309 = */ atspre_prerr_string (ATSstrcst(": the implementation is expected to be fully applied.")) ; /* tmp310 = */ atspre_prerr_newline () ; tmp311 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp311)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp311, atslab_0, env0) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp311) ; return /* (tmp305) */ ; } /* end of [auxerr_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr_31_closure_type ; ats_void_type auxerr_31_clofun (ats_clo_ptr_type cloptr) { auxerr_31 (((auxerr_31_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_31_closure_init (auxerr_31_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_31_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_31_closure_make (ats_ptr_type env0) { auxerr_31_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_31_closure_type)) ; auxerr_31_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 17116(line=631, offs=1) -- 18003(line=663, offs=4) */ ATSstaticdec() ats_void_type aux_imparg_svararglst_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; __ats_lab_aux_imparg_svararglst_30: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp312 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp313 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp314 = aux_imparg_svararg_23 (arg0, tmp312, arg1, arg3) ; arg0 = arg0 ; arg1 = tmp314 ; arg2 = tmp313 ; arg3 = arg3 ; goto __ats_lab_aux_imparg_svararglst_30 ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp304 = */ auxerr_31 (arg0) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp304) */ ; } /* end of [aux_imparg_svararglst_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61997(line=2223, offs=7) -- 62162(line=2225, offs=74) */ ATSstaticdec() ats_ptr_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab_loop_35: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp328 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_0, tmp326) ; ats_selptrset_mac(anairiats_sum_5, tmp328, atslab_1, arg1) ; arg0 = tmp327 ; arg1 = tmp328 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp325 = arg1 ; break ; } while (0) ; return (tmp325) ; } /* end of [loop_35] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61976(line=2222, offs=25) -- 62297(line=2231, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; __ats_lab_list_reverse_append2_vt_01435_ats_ptr_type: tmp324 = loop_35 (arg0, arg1) ; return (tmp324) ; } /* end of [list_reverse_append2_vt_01435_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 62382(line=2236, offs=14) -- 62438(line=2237, offs=50) */ ATSstaticdec() ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp329) ; __ats_lab_list_reverse_01436_ats_ptr_type: tmp329 = (ats_sum_ptr_type)0 ; tmp323 = list_reverse_append2_vt_01435_ats_ptr_type (arg0, tmp329) ; return (tmp323) ; } /* end of [list_reverse_01436_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 8880(line=328, offs=5) -- 9252(line=342, offs=4) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab_loop_39: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp338 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp339 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp339, atslab_0, tmp337) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp339 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp340 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp338 ; arg1 = arg1 ; arg2 = tmp340 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp336) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 8858(line=326, offs=17) -- 9436(line=351, offs=4) */ ATSstaticdec() ats_ptr_type list_append2_vt_01314_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; __ats_lab_list_append2_vt_01314_ats_ptr_type: /* ats_ptr_type tmp341 ; */ /* tmp342 = */ loop_39 (arg0, arg1, (&tmp341)) ; tmp335 = tmp341 ; return (tmp335) ; } /* end of [list_append2_vt_01314_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12290(line=449, offs=7) -- 12492(line=454, offs=51) */ ATSstaticdec() ats_ptr_type aux_37 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; __ats_lab_aux_37: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_59_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp343 = aux_37 (tmp333, tmp334) ; tmp332 = list_append2_vt_01314_ats_ptr_type (arg0, tmp343) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp344 = (ats_sum_ptr_type)0 ; tmp332 = list_append2_vt_01314_ats_ptr_type (arg0, tmp344) ; break ; } while (0) ; return (tmp332) ; } /* end of [aux_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12272(line=448, offs=13) -- 12586(line=458, offs=4) */ ATSstaticdec() ats_ptr_type list_concat_01321_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab_list_concat_01321_ats_ptr_type: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp346 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp331 = aux_37 (tmp345, tmp346) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp331 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp331) ; } /* end of [list_concat_01321_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 18045(line=666, offs=1) -- 18604(line=691, offs=4) */ ATSstaticdec() anairiats_rec_1 aux_imparg_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab_aux_imparg_32: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp317 = aux_imparg_sarglst_22 (arg0, tmp316) ; tmp318 = (ats_sum_ptr_type)0 ; tmp315.atslab_0 = tmp317 ; tmp315.atslab_1 = tmp318 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; /* ats_ptr_type tmp320 ; */ tmp320 = (ats_sum_ptr_type)0 ; /* tmp321 = */ aux_imparg_svararglst_30 (arg0, arg1, tmp319, (&tmp320)) ; tmp322 = list_reverse_01436_ats_ptr_type (tmp320) ; tmp330 = list_concat_01321_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp322)) ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp347, atslab_0, ats_castfn_mac(ats_ptr_type, tmp322)) ; tmp315.atslab_0 = ats_castfn_mac(ats_ptr_type, tmp330) ; tmp315.atslab_1 = tmp347 ; break ; } while (0) ; return (tmp315) ; } /* end of [aux_imparg_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 18635(line=694, offs=1) -- 19359(line=721, offs=4) */ ATSstaticdec() ats_ptr_type aux_tmparg_s1explst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_int_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; __ats_lab_aux_tmparg_s1explst_40: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_67_1 ; } __ats_lab_65_2: tmp349 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp349) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp351, tmp353) ; tmp355 = aux_tmparg_s1explst_40 (arg0, tmp350, tmp352, arg3) ; tmp348 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp348, atslab_0, tmp354) ; ats_selptrset_mac(anairiats_sum_5, tmp348, atslab_1, tmp355) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_68_1 ; } __ats_lab_66_2: tmp348 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_2: tmp356 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp356 ; tmp348 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_2: tmp357 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp357 ; tmp348 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp348) ; } /* end of [aux_tmparg_s1explst_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 19497(line=729, offs=6) -- 19972(line=740, offs=6) */ ATSstaticdec() ats_void_type auxerr1_42 (ats_ptr_type env0, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; ATSlocal (ats_bool_type, tmp365) ; // ATSlocal_void (tmp366) ; ATSlocal (ats_bool_type, tmp367) ; // ATSlocal_void (tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; __ats_lab_auxerr1_42: tmp361 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_t1mpmarg_loc) ; /* tmp360 = */ prerr_error2_loc_02082_ (tmp361) ; /* tmp362 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main: aux_tmparg_marglst")) ; /* tmp363 = */ atspre_prerr_string (ATSstrcst(": the template argument group is expected to be contain ")) ; tmp365 = atspre_gt_int_int (arg1, 0) ; if (tmp365) { /* tmp364 = */ atspre_prerr_string (ATSstrcst("more components.")) ; } else { /* empty */ } /* end of [if] */ tmp367 = atspre_lt_int_int (arg1, 0) ; if (tmp367) { /* tmp366 = */ atspre_prerr_string (ATSstrcst("fewer components.")) ; } else { /* empty */ } /* end of [if] */ /* tmp368 = */ atspre_prerr_newline () ; tmp369 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp369)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp369, atslab_0, env0) ; /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp369) ; return /* (tmp359) */ ; } /* end of [auxerr1_42] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr1_42_closure_type ; ats_void_type auxerr1_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { auxerr1_42 (((auxerr1_42_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr1_42_closure_init (auxerr1_42_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr1_42_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr1_42_closure_make (ats_ptr_type env0) { auxerr1_42_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr1_42_closure_type)) ; auxerr1_42_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 20001(line=742, offs=6) -- 20325(line=749, offs=6) */ ATSstaticdec() ats_void_type auxerr2_43 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab_auxerr2_43: tmp372 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, env0), atslab_d1ecl_loc) ; /* tmp371 = */ prerr_error2_loc_02082_ (tmp372) ; /* tmp373 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main: aux_tmparg_marglst")) ; /* tmp374 = */ atspre_prerr_string (ATSstrcst(": the template is expected to be fully applied but it is not.")) ; /* tmp375 = */ atspre_prerr_newline () ; tmp376 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp376)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp376, atslab_0, env0) ; /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp376) ; return /* (tmp370) */ ; } /* end of [auxerr2_43] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr2_43_closure_type ; ats_void_type auxerr2_43_clofun (ats_clo_ptr_type cloptr) { auxerr2_43 (((auxerr2_43_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr2_43_closure_init (auxerr2_43_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr2_43_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr2_43_closure_make (ats_ptr_type env0) { auxerr2_43_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr2_43_closure_type)) ; auxerr2_43_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 20354(line=751, offs=6) -- 20650(line=758, offs=6) */ ATSstaticdec() ats_void_type auxerr3_44 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; __ats_lab_auxerr3_44: tmp379 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, env0), atslab_d1ecl_loc) ; /* tmp378 = */ prerr_error2_loc_02082_ (tmp379) ; /* tmp380 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main: aux_tmparg_marglst")) ; /* tmp381 = */ atspre_prerr_string (ATSstrcst(": the template is overly applied.")) ; /* tmp382 = */ atspre_prerr_newline () ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp383)->tag = 34 ; ats_selptrset_mac(anairiats_sum_4, tmp383, atslab_0, env0) ; /* tmp377 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp383) ; return /* (tmp377) */ ; } /* end of [auxerr3_44] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr3_44_closure_type ; ats_void_type auxerr3_44_clofun (ats_clo_ptr_type cloptr) { auxerr3_44 (((auxerr3_44_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr3_44_closure_init (auxerr3_44_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr3_44_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr3_44_closure_make (ats_ptr_type env0) { auxerr3_44_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr3_44_closure_type)) ; auxerr3_44_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 19399(line=724, offs=1) -- 21216(line=777, offs=4) */ ATSstaticdec() ats_ptr_type aux_tmparg_marglst_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (anairiats_rec_19, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; ATSlocal (ats_bool_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp396) ; __ats_lab_aux_tmparg_marglst_41: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_71_1 ; } __ats_lab_69_2: tmp384 = ats_caselptrlab_mac(anairiats_sum_20, arg1, atslab_0) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_20, arg1, atslab_1) ; tmp386 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; /* ats_int_type tmp388 ; */ tmp388 = 0 ; tmp390 = ats_select_mac(tmp384, atslab_s2qua_svs) ; tmp391 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp386), atslab_t1mpmarg_arg) ; tmp389 = aux_tmparg_s1explst_40 (arg0, tmp390, tmp391, (&tmp388)) ; tmp393 = atspre_neq_int_int (tmp388, 0) ; if (tmp393) { /* tmp392 = */ auxerr1_42 (arg0, tmp386, tmp388) ; } else { /* empty */ } /* end of [if] */ tmp394 = aux_tmparg_marglst_41 (arg0, tmp385, tmp387) ; tmp358 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp358, atslab_0, tmp389) ; ats_selptrset_mac(anairiats_sum_5, tmp358, atslab_1, tmp394) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_72_1 ; } __ats_lab_70_2: tmp358 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_2: /* tmp395 = */ auxerr2_43 (arg0) ; tmp358 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_2: /* tmp396 = */ auxerr3_44 (arg0) ; tmp358 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp358) ; } /* end of [aux_tmparg_marglst_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 21259(line=780, offs=1) -- 21394(line=787, offs=4) */ ATSstaticdec() ats_ptr_type aux_tmparg_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; __ats_lab_aux_tmparg_45: tmp397 = aux_tmparg_marglst_41 (arg0, arg1, arg2) ; return (tmp397) ; } /* end of [aux_tmparg_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 21425(line=790, offs=1) -- 21737(line=798, offs=4) */ ATSstaticdec() ats_void_type auxerr_tmparg_46 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab_auxerr_tmparg_46: tmp400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_d1ecl_loc) ; /* tmp399 = */ prerr_error2_loc_02082_ (tmp400) ; /* tmp401 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main")) ; /* tmp402 = */ atspre_prerr_string (ATSstrcst(": the redundantly provided template arguments are ignored.")) ; /* tmp403 = */ atspre_prerr_newline () ; tmp404 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp404)->tag = 36 ; ats_selptrset_mac(anairiats_sum_4, tmp404, atslab_0, arg0) ; /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp404) ; return /* (tmp398) */ ; } /* end of [auxerr_tmparg_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 21771(line=801, offs=1) -- 22087(line=809, offs=4) */ ATSstaticdec() ats_void_type auxerr_nontop_47 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; __ats_lab_auxerr_nontop_47: tmp407 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_d1ecl_loc) ; /* tmp406 = */ prerr_error2_loc_02082_ (tmp407) ; /* tmp408 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats"), ATSstrcst("i1mpdec_tr_main")) ; /* tmp409 = */ atspre_prerr_string (ATSstrcst(": the implementation should be at the top-level but it is not.")) ; /* tmp410 = */ atspre_prerr_newline () ; tmp411 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp411)->tag = 35 ; ats_selptrset_mac(anairiats_sum_4, tmp411, atslab_0, arg0) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp411) ; return /* (tmp405) */ ; } /* end of [auxerr_nontop_47] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp414) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp414 = ats_true_bool ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp414 = ats_false_bool ; break ; } while (0) ; return (tmp414) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 22468(line=821, offs=10) -- 22561(line=824, offs=46) */ ATSstaticdec() ats_ptr_type f_49 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; __ats_lab_f_49: tmp426 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) ; tmp425 = ats_castfn_mac(ats_ptr_type, tmp426) ; return (tmp425) ; } /* end of [f_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 14006(line=512, offs=1) -- 23741(line=873, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__i1mpdec_tr_main (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_bool_type, tmp413) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; // ATSlocal_void (tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; ATSlocal (anairiats_rec_1, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_bool_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; // ATSlocal_void (tmp432) ; ATSlocal (ats_bool_type, tmp433) ; ATSlocal (ats_int_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; // ATSlocal_void (tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; // ATSlocal_void (tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; // ATSlocal_void (tmp442) ; // ATSlocal_void (tmp443) ; // ATSlocal_void (tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__i1mpdec_tr_main: tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; tmp413 = list_is_cons_01295_ (tmp412) ; tmp415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_i1mpdec_tmparg) ; /* ats_int_type tmp416 ; */ tmp416 = 0 ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp418 = ats_selsin_mac(tmp417, atslab_1) */ ; if (tmp413) { /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc () ; } else { /* empty */ } /* end of [if] */ tmp420 = aux_imparg_32 (arg0, tmp412, arg2) ; tmp421 = ats_select_mac(tmp420, atslab_0) ; tmp422 = ats_select_mac(tmp420, atslab_1) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp422 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_75_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_7, tmp422, atslab_0) ; ATS_FREE(tmp422) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (tmp415 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp416 = 1 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: break ; } while (0) ; tmp428 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp424, &f_49) ; tmp423 = ats_castfn_mac(ats_ptr_type, tmp428) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp422 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp423 = aux_tmparg_45 (arg0, tmp412, tmp415) ; break ; } while (0) ; tmp430 = atspre_gt_int_int (tmp416, 0) ; if (tmp430) { /* tmp429 = */ auxerr_tmparg_46 (arg0) ; } else { /* empty */ } /* end of [if] */ tmp431 = (ats_sum_ptr_type)0 ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (tmp423 != (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp433 = atspre_gt_int_int (tmp434, 0) ; if (tmp433) { /* tmp432 = */ auxerr_nontop_47 (arg0) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp423 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: break ; } while (0) ; /* ats_ptr_type tmp435 ; */ tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp436 = */ stasub_add_tmparg_20 ((&tmp435), tmp412, tmp423) ; tmp437 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg1) ; tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp435, tmp437) ; /* tmp439 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp435) ; tmp441 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_i1mpdec_def) ; tmp440 = d1exp_tr_ann_10 (tmp441, tmp438) ; if (tmp413) { /* tmp442 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec () ; } else { /* empty */ } /* end of [if] */ /* tmp443 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp445 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp445, atslab_0, tmp440) ; /* tmp444 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_def (arg1, tmp445) ; tmp446 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_i1mpdec_loc) ; tmp447 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_i1mpdec_qid) ; tmp448 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp447), atslab_impqi0de_loc) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2mpdec_make (tmp446, tmp448, arg1, tmp421, tmp423, tmp431, tmp440) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__i1mpdec_tr_main] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 23815(line=878, offs=12) -- 24148(line=890, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__i1mpdec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__i1mpdec_tr: tmp450 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_d1ecl_node) ; if (((ats_sum_ptr_type)tmp450)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_impdec.dats: 23834(line=879, offs=7) -- 23887(line=880, offs=44)") ; } tmp451 = ats_caselptrlab_mac(anairiats_sum_13, tmp450, atslab_1) ; tmp452 = ats_caselptrlab_mac(anairiats_sum_13, tmp450, atslab_2) ; tmp453 = i1mpdec_select_d2cst_1 (arg0, tmp452) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (tmp453 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_7, tmp453, atslab_0) ; ATS_FREE(tmp453) ; tmp455 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__i1mpdec_tr_main (arg0, tmp454, tmp451, tmp452) ; tmp449 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp449, atslab_0, tmp455) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (tmp453 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: tmp449 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp449) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__i1mpdec_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_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 () ; #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_trans2_impdec_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/0000775000175000017500000000000012655455557015304 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_errno_sats.c0000664000175000017500000000177212655455557020470 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libc/CATS/errno.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_errno_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_stdarg_sats.c0000664000175000017500000000200012655455557020610 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libc/CATS/stdarg.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_stdarg_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_time_sats.c0000664000175000017500000000226012655455557020272 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/CATS/time.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_time_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_fcntl_sats.c0000664000175000017500000000226612655455557020450 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/CATS/fcntl.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_fcntl_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_string_sats.c0000664000175000017500000000225612655455557020647 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/CATS/errno.cats" /* external codes at top */ #include "libc/CATS/string.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_string_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_stdio_sats.c0000664000175000017500000000226612655455557020464 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/CATS/stdio.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_stdio_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/sys_SATS_stat_sats.c0000664000175000017500000000231412655455557021205 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/sys/CATS/stat.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [sys_SATS_stat_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/sys_SATS_types_sats.c0000664000175000017500000000202612655455557021376 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libc/sys/CATS/types.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [sys_SATS_types_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/DATS_fcntl_dats.c0000664000175000017500000003566012655455557020416 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/CATS/errno.cats" #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/stdlib.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_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_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_ssize_type, atspre_ssize1_of_int1) (ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_ssize1_int1) (ats_ssize_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_ssize1_int1) (ats_ssize_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gte_ssize1_int1) (ats_ssize_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_type, ...) ; ATSextern_fun(ats_int_type, atslib_errno_get) () ; ATSextern_fun(ats_bool_type, atslib_eq_errno_errno) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atslib_perror) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atslib_close_err) (ats_int_type) ; ATSextern_fun(ats_int_type, ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_err) (ats_int_type) ; ATSextern_fun(ats_ssize_type, atslib_fildes_read_err) (ats_int_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ssize_type, atslib_fildes_read_all_err) (ats_int_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ssize_type, atslib_fildes_write_err) (ats_int_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ssize_type, atslib_fildes_write_all_err) (ats_int_type, ats_ref_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type loop_1 (ats_int_type arg0) ; static ats_size_type loop_4 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_ref_type arg3) ; static ats_size_type loop_7 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_ref_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 2040(line=65, offs=7) -- 2395(line=75, offs=6) */ ATSstaticdec() ats_int_type loop_1 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; __ats_lab_loop_1: tmp2 = atslib_close_err (arg0) ; tmp3 = ats_selsin_mac(tmp2, atslab_1) ; tmp4 = atspre_igte (tmp3, 0) ; if (tmp4) { tmp1 = tmp3 ; } else { tmp6 = atslib_errno_get () ; tmp5 = atslib_eq_errno_errno (tmp6, EINTR) ; if (tmp5) { arg0 = arg0 ; goto __ats_lab_loop_1 ; // tail call } else { tmp1 = tmp3 ; } /* end of [if] */ } /* end of [if] */ return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 1976(line=63, offs=8) -- 2417(line=76, offs=2) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_err (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_err: tmp0 = loop_1 (arg0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_err] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 2471(line=79, offs=16) -- 2895(line=93, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_exn (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_exn: tmp8 = ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_err (arg0) ; tmp9 = ats_selsin_mac(tmp8, atslab_1) ; tmp10 = atspre_igte (tmp9, 0) ; if (tmp10) { /* empty */ } else { /* tmp11 = */ atslib_perror (ATSstrcst("close")) ; /* tmp12 = */ atspre_prerrf_exn (ATSstrcst("exit(ATS): [close_loop] failed\n")) ; /* tmp7 = */ ats_exit (EXIT_FAILURE) ; } /* end of [if] */ return /* (tmp7) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__close_loop_exn] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 3271(line=108, offs=7) -- 4265(line=134, offs=8) */ ATSstaticdec() ats_size_type loop_4 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_size_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_ssize_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_size_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; __ats_lab_loop_4: tmp15 = atspre_gt_size1_int1 (arg2, 0) ; if (tmp15) { tmp16 = atslib_fildes_read_err (arg0, arg1, arg2) ; tmp17 = atspre_gt_ssize1_int1 (tmp16, 0) ; if (tmp17) { tmp18 = atspre_padd_size (arg1, ats_castfn_mac(ats_size_type, tmp16)) ; tmp19 = atspre_sub_size1_size1 (arg2, ats_castfn_mac(ats_size_type, tmp16)) ; arg0 = arg0 ; arg1 = tmp18 ; arg2 = tmp19 ; arg3 = arg3 ; goto __ats_lab_loop_4 ; // tail call } else { tmp21 = atspre_lt_ssize1_int1 (tmp16, 0) ; if (tmp21) { tmp22 = atslib_errno_get () ; tmp20 = atslib_eq_errno_errno (tmp22, EINTR) ; } else { tmp20 = ats_false_bool ; } /* end of [if] */ if (tmp20) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_4 ; // tail call } else { tmp24 = atspre_lt_ssize1_int1 (tmp16, 0) ; if (tmp24) { tmp25 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp25 ; } else { /* empty */ } /* end of [if] */ tmp14 = arg2 ; } /* end of [if] */ } /* end of [if] */ } else { tmp14 = atspre_size1_of_int1 (0) ; } /* end of [if] */ return (tmp14) ; } /* end of [loop_4] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 3233(line=107, offs=3) -- 4445(line=140, offs=4) */ ATSglobaldec() ats_ssize_type atslib_fildes_read_all_err (ats_int_type arg0, ats_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ssize_type, tmp13) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_size_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_size_type, tmp29) ; __ats_lab_atslib_fildes_read_all_err: /* ats_int_type tmp26 ; */ tmp26 = 0 ; tmp27 = loop_4 (arg0, arg1, arg2, (&tmp26)) ; tmp28 = atspre_eq_int_int (tmp26, 0) ; if (tmp28) { tmp29 = atspre_sub_size1_size1 (arg2, tmp27) ; tmp13 = ats_castfn_mac(ats_ssize_type, tmp29) ; } else { tmp13 = atspre_ssize1_of_int1 (-1) ; } /* end of [if] */ return (tmp13) ; } /* end of [atslib_fildes_read_all_err] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 4497(line=144, offs=3) -- 4756(line=153, offs=4) */ ATSglobaldec() ats_size_type atslib_fildes_read_all_exn (ats_int_type arg0, ats_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_size_type, tmp30) ; ATSlocal (ats_ssize_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab_atslib_fildes_read_all_exn: tmp31 = atslib_fildes_read_all_err (arg0, arg1, arg2) ; tmp32 = atspre_gte_ssize1_int1 (tmp31, 0) ; if (tmp32) { tmp30 = ats_castfn_mac(ats_size_type, tmp31) ; } else { /* tmp33 = */ atslib_perror (ATSstrcst("read")) ; /* tmp30 = */ ats_exit_errmsg (EXIT_FAILURE, ATSstrcst("exit(ATS): [read_all] failed\n")) ; } /* end of [if] */ return (tmp30) ; } /* end of [atslib_fildes_read_all_exn] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 4882(line=161, offs=7) -- 5790(line=185, offs=8) */ ATSstaticdec() ats_size_type loop_7 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_size_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; ATSlocal (ats_ssize_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_size_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; __ats_lab_loop_7: tmp36 = atspre_gt_size1_int1 (arg2, 0) ; if (tmp36) { tmp37 = atslib_fildes_write_err (arg0, arg1, arg2) ; tmp38 = atspre_gt_ssize1_int1 (tmp37, 0) ; if (tmp38) { tmp39 = atspre_padd_size (arg1, ats_castfn_mac(ats_size_type, tmp37)) ; tmp40 = atspre_sub_size1_size1 (arg2, ats_castfn_mac(ats_size_type, tmp37)) ; arg0 = arg0 ; arg1 = tmp39 ; arg2 = tmp40 ; arg3 = arg3 ; goto __ats_lab_loop_7 ; // tail call } else { tmp42 = atspre_lt_ssize1_int1 (tmp37, 0) ; if (tmp42) { tmp43 = atslib_errno_get () ; tmp41 = atslib_eq_errno_errno (tmp43, EINTR) ; } else { tmp41 = ats_true_bool ; } /* end of [if] */ if (tmp41) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_7 ; // tail call } else { tmp44 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp44 ; tmp35 = arg2 ; } /* end of [if] */ } /* end of [if] */ } else { tmp35 = atspre_size1_of_int1 (0) ; } /* end of [if] */ return (tmp35) ; } /* end of [loop_7] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 4844(line=160, offs=3) -- 5970(line=191, offs=4) */ ATSglobaldec() ats_ssize_type atslib_fildes_write_all_err (ats_int_type arg0, ats_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ssize_type, tmp34) ; ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_size_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_size_type, tmp48) ; __ats_lab_atslib_fildes_write_all_err: /* ats_int_type tmp45 ; */ tmp45 = 0 ; tmp46 = loop_7 (arg0, arg1, arg2, (&tmp45)) ; tmp47 = atspre_eq_int_int (tmp45, 0) ; if (tmp47) { tmp48 = atspre_sub_size1_size1 (arg2, tmp46) ; tmp34 = ats_castfn_mac(ats_ssize_type, tmp48) ; } else { tmp34 = atspre_ssize1_of_int1 (-1) ; } /* end of [if] */ return (tmp34) ; } /* end of [atslib_fildes_write_all_err] */ /* // /home/hwxi/research/Anairiats/libc/DATS/fcntl.dats: 6045(line=197, offs=3) -- 6455(line=209, offs=4) */ ATSglobaldec() ats_void_type atslib_fildes_write_all_exn (ats_int_type arg0, ats_ref_type arg1, ats_size_type arg2) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_ssize_type, tmp51) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_atslib_fildes_write_all_exn: /* ats_int_type tmp50 ; */ tmp50 = 0 ; tmp51 = atslib_fildes_write_all_err (arg0, arg1, arg2) ; tmp53 = atspre_gte_ssize1_int1 (tmp51, 0) ; if (tmp53) { tmp54 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, tmp51), arg2) ; if (tmp54) { tmp55 = atspre_iadd (tmp50, 1) ; tmp50 = tmp55 ; } else { /* empty */ } /* end of [if] */ } else { tmp56 = atspre_iadd (tmp50, 1) ; tmp50 = tmp56 ; } /* end of [if] */ tmp57 = atspre_gt_int_int (tmp50, 0) ; if (tmp57) { /* tmp58 = */ atslib_perror (ATSstrcst("write")) ; /* tmp49 = */ ats_exit_errmsg (EXIT_FAILURE, ATSstrcst("exit(ATS): [write_all]: failed\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp49) */ ; } /* end of [atslib_fildes_write_all_exn] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__staload () { static int ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__dynload () { // ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2DATS_2fcntl_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ ats_void_type atslib_close_exn (ats_int_type fd) { int err = close(fd) ; if (err < 0) { perror ("close") ; fprintf (stderr, "exit(ATS): [close(%i)] failed\n", (fd)) ; exit (EXIT_FAILURE) ; } // end of [atslib_close_exn] return ; } // end of [atslib_close_exn] /* ****** ****** */ /* end of [DATS_fcntl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/DATS_unistd_dats.c0000664000175000017500000001534612655455557020615 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/sys/CATS/types.cats" #include "libc/CATS/errno.cats" #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/unistd.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ extern char **environ ; // in [unistd.h] ats_void_type atslib_fork_exec_cloptr_exn (ats_ptr_type f_child) { pid_t pid ; pid = fork () ; // if (pid < 0) { ats_exit_errmsg (errno, "exit(ATS): [fork] failed.\n") ; } // end of [if] // /* this is the parent */ if (pid > 0) { ATS_FREE (f_child) ; return ; } // /* this is the child */ ((ats_void_type (*)(ats_clo_ptr_type))((ats_clo_ptr_type)f_child)->closure_fun)(f_child) ; _exit (0) ; /* no need to flush STDIN, STDOUT and STDERR */ // return ; /* deadcode */ } /* end of [atslib_fork_exec_cloptr] */ /* ****** ****** */ ats_int_type atslib_fork_exec_and_wait_cloptr_exn (ats_ptr_type f_child) { pid_t pid ; int status ; // pid = fork () ; // if (pid < 0) { ats_exit_errmsg (errno, "exit(ATS): [fork] failed.\n") ; } // end of [if] // if (pid > 0) { ATS_FREE (f_child) ; if (wait (&status) < 0) return -1 ; return status ; } // end of [if] // /* this is the child */ ((ats_void_type (*)(ats_clo_ptr_type))((ats_clo_ptr_type)f_child)->closure_fun)(f_child) ; _exit (0) ; /* no need to flush STDIN, STDOUT and STDERR */ // return 0 ; /* deadcode */ } /* atslib_fork_exec_and_wait_cloptr_exn */ #define atslib_GETCWD_BUFSZ 64 ats_ptr_type atslib_getcwd0 () { char *buf, *res ; int sz = atslib_GETCWD_BUFSZ ; // buf = (char*)ats_malloc_gc(atslib_GETCWD_BUFSZ) ; // // HX: this strategy may not be so attractive; // an alternative is to use pathconf to get the maximum pathname length // while (1) { res = getcwd (buf, sz) ; if (!res) { ATS_FREE (buf) ; sz = sz + sz ; buf = ATS_MALLOC (sz) ; continue ; } // end of [if] break ; } // end of [while] // return buf ; } // end of [atslib_getcwd0] ats_int_type atslib_pipe ( ats_ptr_type pfd1, ats_ptr_type pfd2 ) { int err ; int pfd[2] ; err = pipe(pfd) ; if (err==0) { *(int*)pfd1 = pfd[0] ; *(int*)pfd2 = pfd[1] ; } // end of [if] return err ; } // end of [atslib_pipe] // extern ats_size_type atspre_ptrarr_size (ats_ptr_type p0) ; // ats_ptr_type atslib_environ_get_arrsz (size_t *sizep) { *sizep = atspre_ptrarr_size (environ) ; return environ; } // end of [atslib_environ_get_arrsz] // /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atslib_errno_get) () ; ATSextern_fun(ats_void_type, atslib_perror) (ats_ptr_type) ; ATSextern_fun(ats_pid_type, atslib_fork_err) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libc/DATS/unistd.dats: 1828(line=61, offs=10) -- 2089(line=70, offs=2) */ ATSglobaldec() ats_pid_type atslib_fork_exn () { /* local vardec */ ATSlocal (ats_pid_type, tmp0) ; ATSlocal (ats_pid_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_int_type, tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_atslib_fork_exn: tmp1 = atslib_fork_err () ; tmp2 = atspre_lt_int_int (ats_castfn_mac(ats_int_type, tmp1), 0) ; if (tmp2) { tmp4 = atslib_errno_get () ; /* tmp5 = */ atslib_perror (ATSstrcst("fork")) ; /* tmp3 = */ ats_exit_errmsg (ats_castfn_mac(ats_int_type, tmp4), ATSstrcst("exit(ATS): [fork] failed.\n")) ; } else { /* empty */ } /* end of [if] */ tmp0 = tmp1 ; return (tmp0) ; } /* end of [atslib_fork_exn] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__staload () { static int ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2errno_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__dynload () { // ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2DATS_2unistd_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_unistd_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/0000775000175000017500000000000012655455557016036 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/time.cats0000664000175000017500000001111612655455557017650 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2010 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_TIME_CATS #define ATS_LIBC_TIME_CATS /* ****** ****** */ #include /* ****** ****** */ #include "libc/sys/CATS/types.cats" /* ****** ****** */ typedef struct tm ats_tm_struct_type ; typedef struct timespec ats_timespec_type ; typedef struct itimerspec ats_itimerspec_type ; /* ****** ****** */ #define atslib_difftime difftime /* ****** ****** */ ATSinline() ats_int_type atslib_tm_get_sec (ats_ptr_type tm) { return ((struct tm*)tm)->tm_sec ; } // end of [atslib_tm_get_sec] ATSinline() ats_int_type atslib_tm_get_min (ats_ptr_type tm) { return ((struct tm*)tm)->tm_min ; } // end of [atslib_tm_get_min] ATSinline() ats_int_type atslib_tm_get_hour (ats_ptr_type tm) { return ((struct tm*)tm)->tm_hour ; } // end of [atslib_tm_get_hour] ATSinline() ats_int_type atslib_tm_get_mday (ats_ptr_type tm) { return ((struct tm*)tm)->tm_mday ; } // end of [atslib_tm_get_mday] ATSinline() ats_int_type atslib_tm_get_mon (ats_ptr_type tm) { return ((struct tm*)tm)->tm_mon ; } // end of [atslib_tm_get_mon] ATSinline() ats_int_type atslib_tm_get_year (ats_ptr_type tm) { return ((struct tm*)tm)->tm_year ; } // end of [atslib_tm_get_year] ATSinline() ats_int_type atslib_tm_get_wday (ats_ptr_type tm) { return ((struct tm*)tm)->tm_wday ; } // end of [atslib_tm_get_wday] ATSinline() ats_int_type atslib_tm_get_yday (ats_ptr_type tm) { return ((struct tm*)tm)->tm_yday ; } // end of [atslib_tm_get_yday] ATSinline() ats_int_type atslib_tm_get_isdst (ats_ptr_type tm) { return ((struct tm*)tm)->tm_isdst ; } // end of [atslib_tm_get_isdst] // /* ****** ****** */ ATSinline() ats_time_type atslib_time_get () { return time((time_t*)0) ; } ATSinline() ats_int_type atslib_time_get_and_set (ats_ref_type p) { time_t err = time((time_t*)p) ; return (err > 0) ? ats_true_bool : ats_false_bool ; } // end of [atslib_time_get_and_set] /* ****** ****** */ #define atslib_ctime ctime #define atslib_ctime_r ctime_r /* ****** ****** */ #define atslib_localtime localtime #define atslib_localtime_r localtime_r #define atslib_gmtime gmtime #define atslib_gmtime_r gmtime_r /* ****** ****** */ #define atslib_mktime mktime /* ****** ****** */ #define atslib_asctime asctime #define atslib_strftime strftime /* ****** ****** */ extern int getdate_err ; ATSinline() ats_int_type atslib_getdate_err_get() { return getdate_err ;} // ATSinline() ats_void_type atslib_getdate_err_set(ats_int_type n) { getdate_err = n ; return ; } // #define atslib_getdate getdate #define atslib_strptime strptime /* ****** ****** */ #define atslib_tzset tzset /* ****** ****** */ #define atslib_clock clock /* ****** ****** */ #define atslib_nanosleep nanosleep #define atslib_nanosleep_null(ts) nanosleep_null(ts, NULL) /* ****** ****** */ #define atslib_clock_gettime clock_gettime #define atslib_clock_getres clock_getres #define atslib_clock_settime clock_settime /* ****** ****** */ #define atslib_timer_create timer_create #define atslib_timer_create_null(cid, p_tid) timer_create(cid, NULL, p_tid) #define atslib_timer_delete timer_delete #define atslib_timer_gettime timer_gettime #define atslib_timer_settime timer_settime #define atslib_timer_getoverrun timer_getoverrun /* ****** ****** */ #endif /* ATS_LIBC_TIME_CATS */ /* end of [time.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/fcntl.cats0000664000175000017500000001275012655455557020025 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_FCNTL_CATS #define ATS_LIBC_FCNTL_CATS /* ****** ****** */ #include #include /* ****** ****** */ #include "libc/sys/CATS/types.cats" /* ****** ****** */ // // HX: functions declared in [unistd.h] // extern ssize_t read (int fd, void *buf, size_t cnt) ; extern ssize_t write (int fd, const void *buf, size_t cnt) ; /* ****** ****** */ // // HX: implemented in [prelude/DATS/basics.dats] // extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ typedef ats_int_type ats_fcntlflag_type ; /* ****** ****** */ ATSinline() ats_int_type atslib_lnot_disjflag (ats_fcntlflag_type df) { return (~df) ; } // end of [atslib_lnot_disjflag] ATSinline() ats_int_type atslib_lor_flag_disjflag ( ats_fcntlflag_type f, ats_fcntlflag_type df ) { return (f | df) ; } // end of [atslib_lor_flag_disjflag] ATSinline() ats_int_type atslib_land_flag_conjflag ( ats_fcntlflag_type f, ats_fcntlflag_type cf ) { return (f & cf) ; } // end of [atslib_land_flag_conjflag] /* ****** ****** */ ATSinline() ats_int_type atslib_open_flag_err ( ats_ptr_type path, ats_fcntlflag_type flag ) { return open((char*)path, flag) ; } // end of [atslib_open_flag_err] ATSinline() ats_int_type atslib_open_flag_mode_err ( ats_ptr_type path , ats_fcntlflag_type flag , ats_mode_type mode ) { return open((char*)path, flag, mode) ; } // end of [atslib_open_flag_mode_err] /* ****** ****** */ ATSinline() ats_int_type atslib_open_flag_exn (ats_ptr_type path, ats_fcntlflag_type flag) { int fd = open((char*)path, flag) ; if (fd < 0) { perror ("open") ; ats_exit_errmsg(1, "exit(ATS): [open_flag] failed.\n") ; } // end of [if] return fd ; } // end of [atslib_open_flag_exn] ATSinline() ats_int_type atslib_open_flag_mode_exn ( ats_ptr_type path , ats_fcntlflag_type flag , ats_mode_type mode ) { int fd = open((char*)path, flag, mode) ; if (fd < 0) { perror ("open") ; ats_exit_errmsg(1, "exit(ATS): [open_flag_mode] failed.\n") ; } // end of [if] return fd ; } // end of [atslib_open_flag_mode_exn] /* ****** ****** */ ATSinline() ats_int_type atslib_close_err (ats_int_type fd) { return close(fd) ; } /* ****** ****** */ ATSinline() ats_ssize_type atslib_fildes_read_err (ats_int_type fd, ats_ptr_type buf, ats_size_type cnt) { return read(fd, buf, cnt) ; } // end of [atslib_fildes_read_err] ATSinline() ats_size_type atslib_fildes_read_exn (ats_int_type fd, ats_ptr_type buf, ats_size_type cnt) { ats_ssize_type res ; res = read(fd, buf, cnt) ; if (res < 0) { perror("read") ; ats_exit_errmsg(1, "exit(ATS): [fildes_read] failed.\n") ; } // end of [if] return res ; } // end of [atslib_fildes_read_exn] /* ****** ****** */ ATSinline() ats_ssize_type atslib_fildes_write_err (ats_int_type fd, ats_ptr_type buf, ats_size_type cnt) { return write(fd, buf, cnt) ; } // end of [atslib_fildes_write_err] ATSinline() ats_size_type atslib_fildes_write_exn (ats_int_type fd, ats_ptr_type buf, ats_size_type cnt) { ats_ssize_type res ; res = write(fd, buf, cnt) ; if (res < 0) { perror("write") ; ats_exit_errmsg(1, "exit(ATS): [fildes_write] failed.\n") ; } // end of [if] return res ; } // end of [atslib_fildes_write_exn] /* ****** ****** */ ATSinline() ats_ssize_type atslib_fildes_write_substring_err ( ats_int_type fd, ats_ptr_type str, ats_size_type start, ats_size_type n ) { return write(fd, ((char*)str)+start, n) ; } // end of [atslib_fildes_write_substring_err] ATSinline() ats_size_type atslib_fildes_write_substring_exn ( ats_int_type fd, ats_ptr_type str, ats_size_type start, ats_size_type n ) { ats_ssize_type res ; res = write(fd, ((char*)str)+start, n) ; if (res < 0) { perror("write") ; ats_exit_errmsg(1, "exit(ATS): [fildes_write] failed.\n") ; } // end of [if] return res ; } // end of [ats_fildes_write_substring_exn] /* ****** ****** */ ATSinline() ats_fcntlflag_type atslib_fcntl_getfl (ats_int_type fd) { return fcntl(fd, F_GETFL) ; } ATSinline() ats_int_type atslib_fcntl_setfl ( ats_int_type fd, ats_fcntlflag_type flag ) { return fcntl(fd, F_SETFL, flag) ; } // end of [atslib_fcntl_setfl] /* ****** ****** */ #endif /* ATS_LIBC_FCNTL_CATS */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/stdarg.cats0000664000175000017500000000455712655455557020211 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_STDARG_CATS #define ATS_LIBC_STDARG_CATS /* ****** ****** */ #include /* ****** ****** */ ATSinline() ats_bool_type atslib_va_arg_bool (ats_ref_type ap) { return va_arg(*(va_list*)ap, ats_int_type) ; } // end of ... ATSinline() ats_char_type // note the need for alignment atslib_va_arg_char (ats_ref_type ap) { return va_arg(*(va_list*)ap, ats_int_type) ; } // end of ... ATSinline() ats_int_type atslib_va_arg_int (ats_ref_type ap) { return va_arg(*(va_list*)ap, ats_int_type) ; } // end of ... ATSinline() ats_ptr_type atslib_va_arg_ptr (ats_ref_type ap) { return va_arg(*(va_list*)ap, ats_ptr_type) ; } // end of ... /* ****** ****** */ ATSinline() ats_void_type atslib_va_end (ats_ref_type ap) { va_end(*(va_list*)ap) ; return ; } /* ****** ****** */ ATSinline() ats_void_type atslib_va_copy (ats_ref_type dst, va_list src) { va_copy(*(va_list*)dst, src) ; return ; // do dst and src share? } // end of [atslib_va_copy] /* ****** ****** */ #endif /* ATS_LIBC_STDARG_CATS */ /* end of [stdarg.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/string.cats0000664000175000017500000000530012655455557020216 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_STRING_CATS #define ATS_LIBC_STRING_CATS /* ****** ****** */ #include /* ****** ****** */ #define atslib_strcmp strcmp ATSinline() ats_int_type atslib_substrcmp ( ats_ptr_type str1, ats_size_type i1 , ats_ptr_type str2, ats_size_type i2 ) { return strcmp((char*)str1+i1, (char*)str2+i2) ; } /* end of [atslib_substrcmp] */ /* ****** ****** */ #define atslib_strncmp strncmp ATSinline() ats_int_type atslib_substrncmp ( ats_ptr_type str1, ats_size_type i1 , ats_ptr_type str2, ats_size_type i2 , ats_size_type n) { return strncmp(((char*)str1)+i1, ((char*)str2)+i2, n) ; } // end of [atslib_substrncmp] /* ****** ****** */ #define atslib_strlen strlen /* ****** ****** */ #define atslib_strchr strchr #define atslib_strrchr strrchr #define atslib_strstr strstr /* ****** ****** */ #define atslib_strspn strspn #define atslib_strcspn strcspn /* ****** ****** */ #define atslib_strcpy strcpy #define atslib_strcat strcat #define atslib_strncat strncat // HX: no interface in ATS /* ****** ****** */ #define atslib_strpbrk strpbrk /* ****** ****** */ #define atslib_memchr memchr #define atslib_memcmp memcmp #define atslib_memcpy memcpy #define atslib_memset memset /* ****** ****** */ #define atslib_strerror strerror #define atslib_strerror_r strerror_r /* ****** ****** */ #endif /* ATS_LIBC_STRING_CATS */ /* end of [string.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/stdlib.cats0000664000175000017500000000627312655455557020203 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_STDLIB_CATS #define ATS_LIBC_STDLIB_CATS /* ****** ****** */ #include #include /* ****** ****** */ #include "ats_types.h" /* ****** ****** */ // implemented in [prelude/CATS/printf.cats] extern ats_void_type atspre_exit_prerrf(ats_int_type code, ats_ptr_type fmt, ...) ; /* ****** ****** */ #define atslib_atoi atoi #define atslib_atof atof #define atslib_atol atol #define atslib_atoll atoll /* ****** ****** */ #define atslib_strtoi_errnul(str, base) strtoi(str, NULL, base) #define atslib_strtol_errnul(str, base) strtol(str, NULL, base) #define atslib_strtoll_errnul(str, base) strtoll(str, NULL, base) /* ****** ****** */ #define atslib_getenv getenv #define atslib_putenv putenv #define atslib_setenv setenv #define atslib_unsetenv unsetenv /* ****** ****** */ #define atslib_abort aboirt #define atslib__Exit _Exit #define atslib_atexit atexit /* ****** ****** */ #define atslib_system system /* ****** ****** */ #define atslib_mkstemp mkstemp #define atslib_mkdtemp mkdtemp /* ****** ****** */ // // HX: [atslib_bsearch] is slightly different from [bsearch] // ATSinline() ats_int_type atslib_bsearch ( ats_ref_type key, ats_ref_type base, ats_size_type nmemb, ats_size_type size, ats_fun_ptr_type compar ) { void *p ; p = bsearch ( key, base, nmemb, size, (int(*)(const void*, const void*))compar ) ; // end of [bsearch] if (!p) return -1 ; return ((char*)p - (char*)base) / size ; } /* end of [atslib_bsearch] */ /* ****** ****** */ // // HX: [atslib_qsort] is the same as [qsort] // ATSinline() ats_void_type atslib_qsort ( ats_ref_type base, ats_size_type nmemb, ats_size_type size, ats_ptr_type compar ) { qsort(base, nmemb, size, (int(*)(const void*, const void*))compar) ; return ; } /* end of [atslib_qsort] */ /* ****** ****** */ #endif /* ATS_LIBC_STDLIB_CATS */ /* end of [stdlib.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/errno.cats0000664000175000017500000000442412655455557020043 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_ERRNO_CATS #define ATS_LIBC_ERRNO_CATS /* ****** ****** */ #include /* ****** ****** */ #define ENONE 0 // indicating no error /* ****** ****** */ ATSinline() ats_int_type atslib_errno_get () { return errno ; } // end of [atslib_errno_get] ATSinline() ats_void_type atslib_errno_set (ats_int_type n) { errno = n ; return ; } // end of [atslib_errno_set] ATSinline() ats_void_type atslib_errno_reset () { errno = 0/*ENONE*/ ; return ; } // end of [atslib_errno_reset] /* ****** ****** */ ATSinline() ats_bool_type atslib_eq_errno_errno (ats_int_type n1, ats_int_type n2) { return (n1 == n2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_eq_errno_errno] ATSinline() ats_bool_type atslib_neq_errno_errno (ats_int_type n1, ats_int_type n2) { return (n1 != n2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_neq_errno_errno] /* ****** ****** */ #endif /* ATS_LIBC_ERRNO_CATS */ /* end of [errno.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/unistd.cats0000664000175000017500000001205512655455557020223 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2010 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_UNISTD_CATS #define ATS_LIBC_UNISTD_CATS /* ****** ****** */ #include #include #include // for [wait] #include /* ****** ****** */ #include "libc/sys/CATS/types.cats" // for [pid_t] /* ****** ****** */ // // HX: implemented in [prelude/DATS/basics.dats] // extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ #define atslib_dup dup #define atslib_dup2 dup2 /* ****** ****** */ #define atslib__exit _exit // equivalent to _Exit in stdlib /* ****** ****** */ ATSinline() ats_ptr_type atslib_strarr_get ( ats_ptr_type A, ats_size_type i ) { return ((char**)A)[i] ; } // end of [atslib_strarr_get] /* ****** ****** */ #define atslib_execv execv #define atslib_execvp execvp #define atslib_execl execl // HX: no interface in ATS #define atslib_execlp execlp // HX: no interface in ATS /* ****** ****** */ #define atslib_fork_err fork /* ****** ****** */ #define atslib_getcwd getcwd /* ****** ****** */ #define atslib_alarm_set alarm #define atslib_alarm_cancel() alarm(0U) /* ****** ****** */ #define atslib_sleep sleep #define atslib_usleep usleep /* ****** ****** */ #define atslib_getpagesize getpagesize /* ****** ****** */ #define atslib_getuid getuid #define atslib_geteuid geteuid #define atslib_getgid getgid #define atslib_getegid getegid /* ****** ****** */ #define atslib_getpid getpid #define atslib_getppid getppid #define atslib_setsid setsid #define atslib_getsid getsid #define atslib_setpgid setpgid #define atslib_getpgid getpgid /* ****** ****** */ #define atslib_getlogin getlogin #define atslib_getlogin_r getlogin_r /* ****** ****** */ #define atslib_access access /* ****** ****** */ #define atslib_chroot chroot /* ****** ****** */ #define atslib_chdir chdir #define atslib_fchdir fchdir /* ****** ****** */ #define atslib_nice nice /* ****** ****** */ #define atslib_rmdir rmdir /* ****** ****** */ #define atslib_link link #define atslib_unlink unlink /* ****** ****** */ #define atslib_fildes_lseek_err lseek ATSinline() ats_off_type atslib_fildes_lseek_exn ( ats_int_type fd , ats_off_type ofs , ats_int_type whence ) { off_t ofs_new ; ofs_new = lseek(fd, ofs, whence) ; if (ofs_new == (ats_off_type)(-1)) { perror ("lseek") ; ats_exit_errmsg (1, "exit(ATS): [lseek] failed\n") ; } return ofs_new ; } /* end of [atslib_fildes_lseek_exn] */ /* ****** ****** */ #define atslib_fildes_pread pread #define atslib_fildes_pwrite pwrite /* ****** ****** */ #define atslib_sync sync #define atslib_fsync fsync #define atslib_fdatasync fdatasync /* ****** ****** */ #define atslib_pathconf pathconf #define atslib_fpathconf fpathconf /* ****** ****** */ #define atslib_readlink readlink /* ****** ****** */ #define atslib_tcsetpgrp tcsetpgrp #define atslib_tcgetpgrp tcgetpgrp /* ****** ****** */ #define atslib_ttyname ttyname #define atslib_ttyname_r ttyname_r #define atslib_isatty isatty /* ****** ****** */ ATSinline() ats_int_type atslib_gethostname ( ats_ptr_type bufp, ats_size_type len ) { int rtn ; rtn = gethostname((char*)bufp, len) ; if (rtn == 0) ((char*)bufp)[len] = '\0' ; // HX: force it to be null terminated! return rtn ; } // end of [atslib_gethostname] #define atslib_sethostname sethostname /* ****** ****** */ ATSinline() ats_int_type atslib_getdomainname ( ats_ptr_type bufp, ats_size_type len ) { int rtn ; rtn = getdomainname((char*)bufp, len) ; if (rtn == 0) ((char*)bufp)[len] = '\0' ; // HX: force it to be null terminated! return rtn ; } // end of [atslib_getdomainname] #define atslib_setdomainname setdomainname /* ****** ****** */ #define atslib_pause pause /* ****** ****** */ #endif /* ATS_LIBC_UNISTD_CATS */ /* end of [unistd.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/stdio.cats0000664000175000017500000003103612655455557020037 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_STDIO_CATS #define ATS_LIBC_STDIO_CATS /* ****** ****** */ #include #include /* ****** ****** */ #include "ats_types.h" typedef fpos_t ats_fpos_type ; typedef FILE ats_FILE_viewtype ; /* --------------------------------------- */ // // HX: implemented in [prelude/DATS/basics.dats] // extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; // // HX: implemented in [prelude/CATS/printf.cats] // extern ats_void_type atspre_exit_prerrf(ats_int_type code, ats_ptr_type fmt, ...) ; /* --------------------------------------- */ extern ats_void_type atspre_stdin_view_get() ; extern ats_void_type atspre_stdout_view_get() ; extern ats_void_type atspre_stderr_view_get() ; extern ats_void_type atspre_stdin_view_set() ; extern ats_void_type atspre_stdout_view_set() ; extern ats_void_type atspre_stderr_view_set() ; /* --------------------------------------- */ ATSinline() ats_void_type atslib_clearerr (ats_ptr_type fil) { clearerr ((FILE*)fil) ; return ; } /* --------------------------------------- */ #define atslib_fclose_err fclose ATSinline() ats_void_type atslib_fclose_exn(ats_ptr_type fil) { int err = fclose((FILE*)fil) ; if (err < 0) { perror ("fclose") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [fclose] failed\n") ; } // end of [if] return ; } ATSinline() ats_void_type atslib_fclose_stdin() { atspre_stdin_view_get() ; atslib_fclose_exn(stdin) ; return ; } ATSinline() ats_void_type atslib_fclose_stdout() { atspre_stdout_view_get() ; atslib_fclose_exn(stdout) ; return ; } ATSinline() ats_void_type atslib_fclose_stderr() { atspre_stderr_view_get() ; atslib_fclose_exn(stderr) ; return ; } /* ****** ****** */ /* #define atslib_feof feof // HX: cgwin defines [feof] as a macro */ ATSinline() ats_int_type atslib_feof(ats_ref_type filp) { return feof((FILE*)filp) ; } /* ****** ****** */ /* #define atslib_ferror ferror */ ATSinline() ats_int_type atslib_ferror(ats_ref_type filp) { return ferror((FILE*)filp) ; } /* ****** ****** */ #define atslib_fflush_err fflush ATSinline() ats_void_type atslib_fflush_exn( ats_ptr_type fil ) { int err = fflush((FILE*)fil) ; if (err < 0) { perror ("fflush") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [fflush] failed\n") ; } // end of [if] return ; } /* end of [atslib_fflush_exn] */ ATSinline() ats_void_type atslib_fflush_stdout (void) { atspre_stdout_view_get (); atslib_fflush_exn (stdout); atspre_stdout_view_set () ; return ; } /* end of [atslib_fflush_stdout] */ /* --------------------------------------- */ #define atslib_fgetc_err fgetc ATSinline() ats_int_type atslib_getchar () { int i ; atspre_stdin_view_get (); i = getchar (); atspre_stdin_view_set () ; return i ; } /* end of [atslib_getchar] */ /* --------------------------------------- */ #define atslib_fgets_err fgets ATSinline() ats_void_type atslib_fgets_exn ( ats_ptr_type buf , ats_int_type n , ats_ptr_type fil ) { ats_ptr_type p ; p = fgets((char*)buf, (int)n, (FILE*)fil) ; if (!p) { if (feof((FILE*)fil)) { *(char*)buf = '\000' ; // EOF is reached } else { perror ("fgets") ; ats_exit_errmsg(1, (ats_ptr_type)"exit(ATS): [fgets] failed\n") ; } // end of [if] } /* end of [if] */ return ; } /* end of [atslib_fgets_exn] */ /* --------------------------------------- */ #define atslib_fgetpos fgetpos /* --------------------------------------- */ #define atslib_fileno fileno /* --------------------------------------- */ #define atslib_fopen_err fopen ATSinline() ats_ptr_type atslib_fopen_exn ( ats_ptr_type name, ats_ptr_type mode ) { FILE *fil = fopen((char*)name, (char*)mode) ; if (!fil) { perror ("fopen") ; atspre_exit_prerrf (1, "exit(ATS): [fopen(\"%s\", \"%s\")] failed\n", name, mode) ; } // end of [if] return fil ; } /* atslib_fopen_exn */ /* --------------------------------------- */ #define atslib_fputc_err fputc ATSinline() ats_void_type atslib_fputc_exn ( ats_char_type c, ats_ptr_type fil ) { int n = fputc((unsigned char)c, (FILE*)fil) ; if (n < 0) { perror ("fputc") ; atspre_exit_prerrf (1, "exit(ATS): [fputc(%c)] failed\n", c) ; } return ; } // end of [atslib_fputc_exn] /* --------------------------------------- */ #define atslib_fputs_err fputs ATSinline() ats_void_type atslib_fputs_exn( ats_ptr_type s, ats_ptr_type fil ) { int n = fputs ((char*)s, (FILE*)fil) ; if (n < 0) { perror ("fputs") ; atspre_exit_prerrf (1, "exit(ATS): [fputs(%s)] failed\n", s) ; } return ; } // end of [atslib_fputs_exn] /* --------------------------------------- */ #define atslib_fread fread ATSinline() ats_size_type atslib_fread_byte ( ats_ptr_type buf , ats_size_type n , ats_ptr_type fil ) { return fread ((void*)buf, 1, n, (FILE*)fil) ; } // end of [atslib_fread_byte] ATSinline() ats_void_type atslib_fread_byte_exn ( ats_ptr_type buf , ats_size_type ntotal , ats_ptr_type fil ) { int nread ; nread = fread ((void*)buf, 1, ntotal, (FILE*)fil) ; if (nread < ntotal) { perror ("fread") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [fread] failed\n") ; } return ; } // end of [atslib_fread_byte_exn] /* --------------------------------------- */ #define atslib_freopen_err freopen ATSinline() ats_void_type atslib_freopen_exn( ats_ptr_type name , ats_ptr_type mode , ats_ptr_type fil ) { FILE *fil_new = freopen(name, mode, (FILE*)fil) ; if (!fil_new) { perror ("freopen") ; atspre_exit_prerrf ( 1, "exit(ATS): [freopen(\"%s\", \"%s\")] failed\n", name, mode ) ; } return ; } // end of [atslib_freopen_exn] /* --------------------------------------- */ ATSinline() ats_void_type atslib_freopen_stdin (ats_ptr_type name) { FILE *fil_new ; atspre_stdin_view_get() ; fil_new = freopen(name, "r", stdin) ; if (!fil_new) { perror ("freopen") ; atspre_exit_prerrf ( 1, "exit(ATS): [freopen_stdin(\"%s\")] failed\n", name ) ; } atspre_stdin_view_set() ; return ; } // end of [atslib_freopen_stdin] ATSinline() ats_void_type atslib_freopen_stdout (ats_ptr_type name) { FILE *fil_new ; atspre_stdout_view_get () ; fil_new = freopen(name, "w", stdout) ; if (!fil_new) { perror ("freopen") ; atspre_exit_prerrf ( 1, "exit(ATS): [freopen_stdout(\"%s\")] failed\n", name ) ; } atspre_stdout_view_set () ; return ; } // end of [atslib_freopen_stdout] ATSinline() ats_void_type atslib_freopen_stderr (ats_ptr_type name) { FILE *fil_new ; atspre_stderr_view_get() ; fil_new = freopen(name, "w", stderr) ; if (!fil_new) { perror ("freopen") ; atspre_exit_prerrf ( 1, "exit(ATS): [freopen_stderr(\"%s\")] failed\n", name ) ; } atspre_stderr_view_set() ; return ; } // end of [atslib_freopen_stderr] /* --------------------------------------- */ #define atslib_fseek_err fseek ATSinline() ats_void_type atslib_fseek_exn ( ats_ptr_type fil , ats_lint_type offset , ats_int_type whence ) { int err ; err = fseek ((FILE*)fil, offset, whence) ; if (err < 0) { perror ("fseek") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [fseek] failed\n") ; } return ; } // end of [atslib_fseek_exn] /* --------------------------------------- */ #define atslib_ftell_err ftell ATSinline() ats_lint_type atslib_ftell_exn( ats_ptr_type fil ) { long int ret = ftell((FILE*)fil) ; if (ret < 0) { perror ("ftell") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [ftell] failed\n") ; } return ret ; } // end of [atslib_ftell_exn] /* --------------------------------------- */ #define atslib_fwrite fwrite ATSinline() ats_size_type atslib_fwrite_byte ( ats_ptr_type buf , ats_size_type n , ats_ptr_type fil ) { return fwrite((void*)buf, 1, n, (FILE*)fil) ; } /* end of [atslib_fwrite_byte] */ ATSinline() ats_void_type atslib_fwrite_byte_exn ( ats_ptr_type buf0 , ats_size_type ntotal , ats_ptr_type fil ) { char *buf = (char*) buf0 ; size_t nwritten ; nwritten = fwrite((void*)buf, 1, ntotal, (FILE*)fil) ; if (nwritten < ntotal) { perror ("fwrite") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [fwrite] failed\n") ; } return ; } /* end of [atslib_fwrite_all_byte] */ /* --------------------------------------- */ ATSinline() ats_void_type atslib_perror( ats_ptr_type msg ) { atspre_stderr_view_get () ; perror ((char*)msg) ; atspre_stderr_view_set () ; return ; } // end of [atslib_perror] /* --------------------------------------- */ ATSinline() ats_int_type atslib_putchar( ats_char_type c ) { int i ; atspre_stdout_view_get () ; i = putchar((unsigned char)c) ; atspre_stdout_view_set () ; return i ; } /* end of [atslib_putchar] */ /* --------------------------------------- */ ATSinline() ats_int_type atslib_puts_err( ats_ptr_type str ) { int err ; atspre_stdout_view_get () ; err = puts ((char*)str) ; atspre_stdout_view_set () ; return err ; } /* end of [atslib_puts_err] */ ATSinline() ats_void_type atslib_puts_exn( ats_ptr_type str ) { int err ; atspre_stdout_view_get () ; err = puts ((char*)str) ; atspre_stdout_view_set () ; if (err < 0) { perror ("puts") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [remove] failed\n") ; } /* end of [if] */ return ; } /* end of [atslib_puts_exn] */ /* --------------------------------------- */ #define atslib_remove_err remove ATSinline() ats_void_type atslib_remove_exn( ats_ptr_type path ) { int err = remove((char*)path) ; if (err < 0) { perror ("remove") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [remove] failed\n") ; } return ; } // end of [atslib_remove_exn] /* --------------------------------------- */ #define atslib_rename_err rename ATSinline() ats_void_type atslib_rename_exn( ats_ptr_type oldpath, ats_ptr_type newpath ) { int err = rename((char*)oldpath, (char*)newpath) ; if (err < 0) { perror ("rename") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [rename] failed\n") ; } return ; } // end of [atslib_rename_exn] /* --------------------------------------- */ #define atslib_rewind rewind /* --------------------------------------- */ #define atslib_tmpfile_err tmpfile ATSinline() ats_ptr_type atslib_tmpfile_exn () { FILE* fil = tmpfile() ; if (!fil) { perror ("tmpfile") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [tmpfile] failed\n") ; } return fil ; } // end of [atslib_tmpfile_exn] /* --------------------------------------- */ #define atslib_ungetc_err ungetc ATSinline() ats_void_type atslib_ungetc_exn ( ats_char_type c, ats_ptr_type fil ) { int err = ungetc((unsigned char)c, (FILE*)fil) ; if (err < 0) { perror ("ungetc") ; ats_exit_errmsg (1, (ats_ptr_type)"exit(ATS): [ungetc] failed\n") ; } // end of [if] return ; } // end of [atslib_ungetc_exn] /* --------------------------------------- */ ATSinline() ats_void_type atslib_setbuf_null ( ats_ptr_type fil ) { setbuf((FILE*)fil, NULL) ; return ; } // end of [atslib_setbuf_null] #define atslib_setbuffer setbuffer #define atslib_setlinebuf setlinebuf ATSinline() ats_int_type atslib_setvbuf_null ( ats_ptr_type fil , ats_int_type mode ) { return setvbuf((FILE*)fil, NULL, mode, 0) ; } // end of [atslib_setbuf_null] #define atslib_setvbuf setvbuf /* --------------------------------------- */ #endif /* ATS_LIBC_STDIO_CATS */ /* end of [stdio.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/gmp.cats0000664000175000017500000006564212655455557017512 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_GMP_CATS #define ATS_LIBC_GMP_CATS /* ****** ****** */ #include #include /* ****** ****** */ #include "ats_types.h" /* ****** ****** */ #include "prelude/CATS/basics.cats" /* ****** ****** */ typedef unsigned long int ulint ; /* ****** ****** */ // [mpz_t] is one-element array of [__mpz_struct] typedef __mpz_struct ats_mpz_viewt0ype ; // [mpq_t] is one-element array of [__mpq_struct] typedef __mpq_struct ats_mpq_viewt0ype ; // [mpf_t] is one-element array of [__mpf_struct] typedef __mpf_struct ats_mpf_viewt0ype ; // [mpz_ptr] is defined in [gmp.h] // call-by-reference typedef ats_ref_type ats_mpz_ptr_type ; typedef ats_ref_type ats_mpq_ptr_type ; typedef ats_ref_type ats_mpf_ptr_type ; /* ****** ****** */ // // [gmp_randstate_t] is // one-element array of [__gmp_randstate_struct] // typedef __gmp_randstate_struct ats_gmp_randstate_viewt0ype ; /* ****** ****** */ // // init/clear/realloc // #define atslib_mpz_init mpz_init #define atslib_mpz_init2 mpz_init2 #define atslib_mpz_clear mpz_clear #define atslib_mpz_realloc2 mpz_realloc2 /* ****** ****** */ // // HX: integral number operations // /* ****** ****** */ // // get functions // #define atslib_mpz_get_int mpz_get_si #define atslib_mpz_get_uint mpz_get_ui #define atslib_mpz_get_lint mpz_get_si #define atslib_mpz_get_ulint mpz_get_ui #define atslib_mpz_get_double mpz_get_d ATSinline() ats_ptr_type atslib_mpz_get_str ( ats_int_type base, ats_mpz_ptr_type x ) { return mpz_get_str((char*)0, base, (mpz_ptr)x) ; } // end of [atslib_mpz_get_str] // // set functions // #define atslib_mpz_set_mpz mpz_set #define atslib_mpz_set_int mpz_set_si #define atslib_mpz_set_uint mpz_set_ui #define atslib_mpz_set_lint mpz_set_si #define atslib_mpz_set_ulint mpz_set_ui #define atslib_mpz_set_double mpz_set_d #define atslib_mpz_set_mpq mpz_set_q #define atslib_mpz_set_mpf mpz_set_f #define atslib_mpz_set_str mpz_set_str ATSinline() ats_void_type atslib_mpz_set_str_exn ( ats_mpz_ptr_type x, ats_ptr_type s, ats_int_type base ) { int n ; n = mpz_set_str((mpz_ptr)x, (char*)s, base) ; if (n < 0) { atspre_exit_prerrf(1, "exit(ATS): [mpz_set_str(%s)]: failed\n", s) ; } // end of [if] return ; } // end of [atslib_mpz_set_str_exn] // // init and set functions // #define atslib_mpz_init_set_mpz mpz_init_set #define atslib_mpz_init_set_int mpz_init_set_si #define atslib_mpz_init_set_uint mpz_init_set_ui #define atslib_mpz_init_set_lint mpz_init_set_si #define atslib_mpz_init_set_ulint mpz_init_set_ui #define atslib_mpz_init_set_double mpz_init_set_d ATSinline() ats_void_type atslib_mpz_init_set_mpq (ats_mpz_ptr_type x, ats_mpq_ptr_type y) { mpz_init((mpz_ptr)x) ; mpz_set_q((mpz_ptr)x, (mpq_ptr)y); return ; } // end of [atslib_mpz_init_set_mpq] ATSinline() ats_void_type atslib_mpz_init_set_mpf (ats_mpz_ptr_type x, ats_mpf_ptr_type y) { mpz_init((mpz_ptr)x) ; mpz_set_f((mpz_ptr)x, (mpf_ptr)y); return ; } // end of [atslib_mpz_init_set_mpf] #define atslib_mpz_init_set_str mpz_init_set_str ATSinline() ats_void_type atslib_mpz_init_set_str_exn ( ats_mpz_ptr_type x, ats_ptr_type s, ats_int_type base ) { int err ; err = mpz_init_set_str((mpz_ptr)x, (char*)s, base) ; if (err < 0) { atspre_exit_prerrf(1, "exit(ATS): [mpz_init_set_str(%s)] failed\n", s) ; } // end of [if] return ; } // end of [atslib_mpz_init_set_str_exn] /* ****** ****** */ #define atslib_mpz_swap mpz_swap /* ****** ****** */ ATSinline() ats_bool_type atslib_mpz_odd_p (ats_ref_type x) { return mpz_odd_p((mpz_ptr)x) ? ats_true_bool : ats_false_bool ; } // end of [atslib_mpz_odd_p] ATSinline() ats_bool_type atslib_mpz_even_p (ats_ref_type x) { return mpz_even_p((mpz_ptr)x) ? ats_true_bool : ats_false_bool ; } // end of [atslib_mpz_even_p] #define atslib_mpz_fits_int_p mpz_fits_int_p #define atslib_mpz_fits_uint_p mpz_fits_uint_p #define atslib_mpz_fits_lint_p mpz_fits_long_p #define atslib_mpz_fits_ulint_p mpz_fits_ulong_p #define atslib_mpz_fits_sint_p mpz_fits_sshort_p #define atslib_mpz_fits_usint_p mpz_fits_ushort_p #define atslib_mpz_size mpz_size #define atslib_mpz_sizeinbase mpz_sizeinbase /* ****** ****** */ // // negation // #define atslib_mpz_neg2 mpz_neg ATSinline() ats_void_type atslib_mpz_neg1 (ats_mpz_ptr_type x) { mpz_neg((mpz_ptr)x, (mpz_ptr)x) ; return ; } // end of [atslib_mpz_neg1] // // absolute value // #define atslib_mpz_abs2 mpz_abs ATSinline() ats_void_type atslib_mpz_abs1 (ats_mpz_ptr_type x) { mpz_abs((mpz_ptr)x, (mpz_ptr)x) ; return ; } // end of [atslib_mpz_abs1] /* ****** ****** */ // // addition, subtraction and multiplcation // /* ****** ****** */ // // addition // #define atslib_mpz_add3_mpz mpz_add #define atslib_mpz_add3_int(x, y, z) \ atslib_mpz_add3_lint(x, y, (ats_lint_type)z) #define atslib_mpz_add3_uint mpz_add_ui ATSinline() ats_void_type atslib_mpz_add3_lint (ats_mpz_ptr_type x, ats_mpz_ptr_type y, ats_lint_type z) { if (z >= 0) { mpz_add_ui ((mpz_ptr)x, (mpz_ptr)y, (ulint)z) ; } else { mpz_sub_ui ((mpz_ptr)x, (mpz_ptr)y, (ulint)-z) ; } return ; } // end of [atslib_mpz_add3_lint] #define atslib_mpz_add3_ulint mpz_add_ui // ATSinline() ats_void_type atslib_mpz_add2_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type y ) { mpz_add ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)y) ; return ; } // end of [atslib_mpz_add2_mpz] ATSinline() ats_void_type atslib_mpz_add2_lint ( ats_mpz_ptr_type x, ats_lint_type y ) { if (y >= 0) { mpz_add_ui ((mpz_ptr)x, (mpz_ptr)x, (ulint)y) ; } else { mpz_sub_ui ((mpz_ptr)x, (mpz_ptr)x, (ulint)-y) ; } // end of [if] return ; } // end of [atslib_mpz_add2_lint] ATSinline() ats_void_type atslib_mpz_add2_ulint ( ats_mpz_ptr_type x, ats_ulint_type y ) { mpz_add_ui ((mpz_ptr)x, (mpz_ptr)x, y) ; return ; } // end of [atslib_mpz_add2_ulint] #define atslib_mpz_add2_int(x, y) atslib_mpz_add2_lint(x, (ats_lint_type)y) #define atslib_mpz_add2_uint(x, y) atslib_mpz_add2_lint(x, (ats_ulint_type)y) // // subtraction // #define atslib_mpz_sub3_mpz mpz_sub #define atslib_mpz_sub3_int(x, y, z) \ atslib_mpz_sub3_lint(x, y, (ats_lint_type)z) #define atslib_mpz_sub3_uint mpz_sub_ui ATSinline() ats_void_type atslib_mpz_sub3_lint ( ats_mpz_ptr_type x, ats_mpz_ptr_type y, ats_lint_type z ) { if (z >= 0) { mpz_sub_ui ((mpz_ptr)x, (mpz_ptr)y, (ulint)z) ; } else { mpz_add_ui ((mpz_ptr)x, (mpz_ptr)y, (ulint)-z) ; } return ; } // end of [atslib_mpz_sub3_lint] #define atslib_mpz_sub3_ulint mpz_sub_ui #define atslib_mpz_ui_sub3 mpz_ui_sub ATSinline() ats_void_type atslib_mpz_sub2_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type y ) { mpz_sub ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)y) ; return ; } // end of [atslib_mpz_sub2_mpz] ATSinline() ats_void_type atslib_mpz_sub2_lint ( ats_mpz_ptr_type x, ats_lint_type y ) { if (y >= 0) { mpz_sub_ui ((mpz_ptr)x, (mpz_ptr)x, y) ; } else { mpz_add_ui ((mpz_ptr)x, (mpz_ptr)x, -y) ; } return ; } // end of [atslib_mpz_sub2_lint] ATSinline() ats_void_type atslib_mpz_sub2_ulint ( ats_mpz_ptr_type x, ats_ulint_type y ) { mpz_sub_ui ((mpz_ptr)x, (mpz_ptr)x, y) ; return ; } // end of [atslib_mpz_sub2_ulint] #define atslib_mpz_sub2_int(x, y) atslib_mpz_sub2_lint(x, (ats_lint_type)y) #define atslib_mpz_sub2_uint(x, y) atslib_mpz_sub2_ulint(x, (ats_ulint_type)y) // // multiplication // #define atslib_mpz_mul3_mpz mpz_mul #define atslib_mpz_mul3_int mpz_mul_si #define atslib_mpz_mul3_uint mpz_mul_ui #define atslib_mpz_mul3_lint mpz_mul_si #define atslib_mpz_mul3_ulint mpz_mul_ui ATSinline() ats_void_type atslib_mpz_mul2_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type y ) { mpz_mul ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)y) ; return ; } // end of [atslib_mpz_mul2_mpz] ATSinline() ats_void_type atslib_mpz_mul2_lint ( ats_mpz_ptr_type x, ats_lint_type y ) { mpz_mul_si ((mpz_ptr)x, (mpz_ptr)x, y) ; return ; } // end of [atslib_mpz_mul2_lint] ATSinline() ats_void_type atslib_mpz_mul2_ulint ( ats_mpz_ptr_type x, ats_ulint_type y ) { mpz_mul_ui ((mpz_ptr)x, (mpz_ptr)x, y) ; return ; } // end of [atslib_mpz_mul2_ulint] #define atslib_mpz_mul2_int(x, y) atslib_mpz_mul2_lint (x, (ats_lint_type)y) #define atslib_mpz_mul2_uint(x, y) atslib_mpz_mul2_ulint (x, (ats_ulint_type)y) ATSinline() ats_void_type atslib_mpz_mul1_mpz (ats_mpz_ptr_type x) { mpz_mul ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)x) ; return ; } // end of [atslib_mpz_mul1_mpz] ATSinline() ats_void_type atslib_mpz_mul_2exp ( // x = y * 2^n ats_mpz_ptr_type x, ats_mpz_ptr_type y, ats_ulint_type n ) { mpz_mul_2exp((mpz_ptr)x, (mpz_ptr)y, n) ; return ; } // end of [atslib_mpz_mul_2exp] /* ****** ****** */ // // truncate division // #define atslib_mpz_tdiv4_qr_mpz mpz_tdiv_qr #define atslib_mpz_tdiv4_qr_ulint mpz_tdiv_qr_ui #define atslib_mpz_tdiv3_q_mpz mpz_tdiv_q #define atslib_mpz_tdiv3_q_ulint mpz_tdiv_q_ui ATSinline() ats_void_type atslib_mpz_tdiv2_q_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type d ) { mpz_tdiv_q ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)d) ; return ; } // end of [atslib_mpz_tdiv2_q_mpz] ATSinline() ats_ulint_type atslib_mpz_tdiv2_q_ulint ( ats_mpz_ptr_type x, ats_ulint_type d ) { return mpz_tdiv_q_ui ((mpz_ptr)x, (mpz_ptr)x, d) ; } // end of [atslib_mpz_tdiv2_q_ulint] /* ****** ****** */ // // floor division // #define atslib_mpz_fdiv4_qr_mpz mpz_fdiv_qr #define atslib_mpz_fdiv4_qr_ulint mpz_fdiv_qr_ui #define atslib_mpz_fdiv3_q_mpz mpz_fdiv_q #define atslib_mpz_fdiv3_q_ulint mpz_fdiv_q_ui ATSinline() ats_void_type atslib_mpz_fdiv2_q_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type d ) { mpz_fdiv_q ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)d) ; return ; } // end of [atslib_mpz_fdiv2_q_mpz] ATSinline() ats_ulint_type atslib_mpz_fdiv2_q_ulint ( ats_mpz_ptr_type x, ats_ulint_type d ) { return mpz_fdiv_q_ui ((mpz_ptr)x, (mpz_ptr)x, d) ; } // end of [atslib_mpz_fdiv2_q_ulint] #define atslib_mpz_fdiv3_r_mpz mpz_fdiv_r #define atslib_mpz_fdiv3_r_ulint mpz_fdiv_r_ui ATSinline() ats_void_type atslib_mpz_fdiv2_r_mpz ( ats_mpz_ptr_type x, ats_mpz_ptr_type d ) { mpz_fdiv_r ((mpz_ptr)x, (mpz_ptr)x, (mpz_ptr)d) ; return ; } // end of [atslib_mpz_fdiv2_r_mpz] ATSinline() ats_ulint_type atslib_mpz_fdiv2_r_ulint ( ats_mpz_ptr_type x, ats_ulint_type d ) { return mpz_fdiv_r_ui ((mpz_ptr)x, (mpz_ptr)x, d) ; } // end of [atslib_mpz_fdiv2_r_ulint] /* ****** ****** */ #define atslib_mpz_divisible_p mpz_divisible_p #define atslib_mpz_divisible_ui_p mpz_divisible_ui_p #define atslib_mpz_congruent_p mpz_congruent_p #define atslib_mpz_congruent_ui_p mpz_congruent_ui_p /* ****** ****** */ #define atslib_mpz_mod3_mpz mpz_mod #define atslib_mpz_mod2_mpz(n, d) mpz_mod((mpz_ptr)n, (mpz_ptr)n, (mpz_ptr)d) #define atslib_mpz_mod3_ulint mpz_mod_ui #define atslib_mpz_mod2_ulint(n, d) mpz_mod_ui((mpz_ptr)n, (mpz_ptr)n, d) #define atslib_mpz_divexact3 mpz_divexact #define atslib_mpz_divexact2(n, d) mpz_divexact((mpz_ptr)n, (mpz_ptr)n, (mpz_ptr)d) #define atslib_tdiv3_q_2exp tdiv_q_2exp #define atslib_tdiv3_r_2exp tdiv_r_2exp #define atslib_fdiv3_q_2exp fdiv_q_2exp #define atslib_fdiv3_r_2exp fdiv_r_2exp #define atslib_mpz_divisible_ui_2exp_p mpz_divisible_ui_2exp_p #define atslib_mpz_congruent_ui_2exp_p mpz_congruent_ui_2exp_p /* ****** ****** */ #define atslib_mpz_sqrt2 mpz_sqrt ATSinline() ats_void_type atslib_mpz_sqrt1 (ats_ref_type dst) { mpz_sqrt ((mpz_ptr)dst, (mpz_ptr)dst) ; return ; } // end of [atslib_mpz_sqrt1] #define atslib_mpz_sqrtrem3 mpz_sqrtrem #define atslib_mpz_perfect_square_p mpz_perfect_square_p /* ****** ****** */ #define atslib_mpz_powm4_mpz mpz_powm #define atslib_mpz_powm4_ui mpz_powm_ui /* ****** ****** */ #define atslib_mpz_pow3_ui mpz_pow_ui ATSinline() ats_void_type atslib_mpz_pow2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpz_pow_ui ((mpz_ptr)dst, (mpz_ptr)dst, src2) ; return ; } // end of [atslib_mpz_pow2_ui] /* ****** ****** */ // addmul and submul compibination #define atslib_mpz_addmul3_mpz mpz_addmul #define atslib_mpz_addmul3_uint mpz_addmul_ui #define atslib_mpz_addmul3_ulint mpz_addmul_ui #define atslib_mpz_submul3_mpz mpz_submul #define atslib_mpz_submul3_uint mpz_submul_ui #define atslib_mpz_submul3_ulint mpz_submul_ui /* ****** ****** */ // comparison functions #define atslib_mpz_cmp_mpz mpz_cmp #define atslib_mpz_cmp_lint(x, y) mpz_cmp_si((mpz_ptr)x, y) #define atslib_mpz_cmp_ulint(x, y) mpz_cmp_ui((mpz_ptr)x, y) #define atslib_mpz_cmp_int atslib_mpz_cmp_lint #define atslib_mpz_cmp_uint atslib_mpz_cmp_ulint ATSinline() ats_int_type atslib_mpz_cmp_double ( ats_ref_type x, ats_double_type y ) { return mpz_cmp_d((mpz_ptr)x, y) ; } // end of [atslib_mpz_cmp_double] #define atslib_mpz_cmpabs_mpz mpz_cmpabs #define atslib_mpz_cmpabs_uint mpz_cmpabs_ui #define atslib_mpz_cmpabs_ulint mpz_cmpabs_ui #define atslib_mpz_cmpabs_double mpz_cmpabs_d #define atslib_mpz_sgn mpz_sgn /* ****** ****** */ #define atslib_mpz_gcd3_mpz mpz_gcd #define atslib_mpz_gcd2_mpz(dst, src2) \ mpz_gcd((mpz_ptr)dst, (mpz_ptr)dst, (mpz_ptr)src2) #define atslib_mpz_gcd3_ui mpz_gcd_ui #define atslib_mpz_gcd2_ui(dst, src2) mpz_gcd_ui((mpz_ptr)dst, (mpz_ptr)dst, src2) #define atslib_mpz_gcdext mpz_gcdext #define atslib_mpz_lcm3_mpz mpz_lcm #define atslib_mpz_lcm2_mpz(dst, src2) \ mpz_lcm((mpz_ptr)dst, (mpz_ptr)dst, (mpz_ptr)src2) #define atslib_mpz_lcm3_ui mpz_lcm_ui #define atslib_mpz_lcm2_ui(dst, src2) mpz_lcm_ui((mpz_ptr)dst, (mpz_ptr)dst, src2) #define atslib_mpz_invert3 mpz_invert /* ****** ****** */ // // various number-theoretic functions // ATSinline() ats_void_type atslib_mpz_nextprime1 (ats_ref_type dst) { mpz_nextprime((mpz_ptr)dst, (mpz_ptr)dst); return ; } // end of [atslib_mpz_nextprime1] #define atslib_mpz_nextprime2 mpz_nextprime #define atslib_mpz_jacobi mpz_jacobi #define atslib_mpz_legendre mpz_legendre #define atslib_mpz_kronecker_mpz mpz_kronecker #define atslib_mpz_kronecker_si mpz_kronecker_si #define atslib_mpz_kronecker_ui mpz_kronecker_ui #define atslib_mpz_si_kronecker mpz_si_kronecker #define atslib_mpz_ui_kronecker mpz_ui_kronecker #define atslib_mpz_fac_ui mpz_fac_ui #define atslib_mpz_bin3_ui mpz_bin_ui #define atslib_mpz_bin2_ui(n, k) \ mpz_bin_ui ((mpz_ptr)n, (mpz_ptr)n, (mpz_ptr)k) #define atslib_mpz_bin_uiui mpz_bin_uiui #define atslib_mpz_fib_ui mpz_fib_ui #define atslib_mpz_fib2_ui mpz_fib2_ui #define atslib_mpz_remove3 mpz_remove ATSinline() ats_void_type atslib_mpz_remove2 ( ats_ptr_type dst, ats_ptr_type src2 ) { mpz_remove ((mpz_ptr)dst, (mpz_ptr)dst, (mpz_ptr)src2); return ; } // end of [atslib_mpz_remove2] /* ****** ****** */ // // some MPZ input/output/print functions // #define atslib_mpz_inp_str mpz_inp_str #define atslib_mpz_out_str mpz_out_str extern ats_void_type atslib_mpz_out_str_exn ( ats_ptr_type, ats_int_type, ats_mpf_ptr_type ) ; // end of [extern] ATSinline() ats_void_type atslib_fprint_mpz ( ats_ptr_type file, const ats_mpz_ptr_type x ) { atslib_mpz_out_str_exn (file, 10/*base*/, x) ; return ; } // end of [atslib_fprint_mpz] #define atslib_mpz_inp_raw mpz_inp_raw #define atslib_mpz_out_raw mpz_out_raw /* ****** ****** */ // // // HX: rational number operations // // /* ****** ****** */ #define atslib_mpq_canonicalize mpq_canonicalize #define atslib_mpq_init mpq_init #define atslib_mpq_clear mpq_clear #define atslib_mpq_get_d mpq_get_d ATSinline() ats_ptr_type atslib_mpq_get_str ( ats_int_type base, ats_mpq_ptr_type x ) { return mpq_get_str((char*)0, base, (mpq_ptr)x) ; } // end of [atslib_mpq_get_str] #define atslib_mpq_get_num mpq_get_num #define atslib_mpq_get_den mpq_get_den ATSinline() ats_ptr_type atslib_mpq_numref (ats_ptr_type x) { return mpq_numref ((mpq_ptr)x) ; } // end of [atslib_mpq_numref] ATSinline() ats_ptr_type atslib_mpq_denref (ats_ptr_type x) { return mpq_denref ((mpq_ptr)x) ; } // end of [atslib_mpq_denref] #define atslib_mpq_set_mpq mpq_set #define atslib_mpq_set_mpz mpq_set_z #define atslib_mpq_set_si mpq_set_si #define atslib_mpq_set_ui mpq_set_ui #define atslib_mpq_set_d mpq_set_d #define atslib_mpq_set_mpf mpq_set_f #define atslib_mpq_set_num mpq_set_num #define atslib_mpq_set_den mpq_set_den /* ****** ****** */ #define atslib_mpq_neg2 mpq_neg ATSinline() ats_void_type atslib_mpq_neg1 (ats_mpq_ptr_type x) { mpq_neg((mpq_ptr)x, (mpq_ptr)x) ; return ; } // end of [atslib_mpq_neg1] /* ****** ****** */ #define atslib_mpq_inv2 mpq_inv ATSinline() ats_void_type atslib_mpq_inv1 (ats_mpq_ptr_type x) { mpq_inv((mpq_ptr)x, (mpq_ptr)x) ; return ; } // end of [atslib_mpq_inv1] /* ****** ****** */ #define atslib_mpq_add3_mpq mpq_add ATSinline() ats_void_type atslib_mpq_add2_mpq ( ats_ref_type dst, ats_ref_type src2 ) { mpq_add ((mpq_ptr)dst, (mpq_ptr) dst, (mpq_ptr)src2); return ; } // end of [atslib_mpq_add2_mpq] #define atslib_mpq_sub3_mpq mpq_sub ATSinline() ats_void_type atslib_mpq_sub2_mpq ( ats_ref_type dst, ats_ref_type src2 ) { mpq_sub ((mpq_ptr)dst, (mpq_ptr) dst, (mpq_ptr)src2); return ; } // end of [atslib_mpq_sub2_mpq] #define atslib_mpq_mul3_mpq mpq_mul ATSinline() ats_void_type atslib_mpq_mul2_mpq ( ats_ref_type dst, ats_ref_type src2 ) { mpq_mul ((mpq_ptr)dst, (mpq_ptr) dst, (mpq_ptr)src2); return ; } // end of [atslib_mpq_mul2_mpq] #define atslib_mpq_div3_mpq mpq_div ATSinline() ats_void_type atslib_mpq_div2_mpq ( ats_ref_type dst, ats_ref_type src2 ) { mpq_div ((mpq_ptr)dst, (mpq_ptr) dst, (mpq_ptr)src2); return ; } // end of [atslib_mpq_div2_mpq] /* ****** ****** */ #define atslib_mpq_equal mpq_equal #define atslib_mpq_cmp_mpq mpq_cmp #define atslib_mpq_cmp_ui mpq_cmp_ui #define atslib_mpq_sgn mpq_sgn /* ****** ****** */ // // some MPQ input/output/print functions // #define atslib_mpq_inp_str mpq_inp_str #define atslib_mpq_out_str mpq_out_str extern ats_void_type atslib_mpq_out_str_exn ( ats_ptr_type, ats_int_type, ats_mpf_ptr_type ) ; // end of [extern] ATSinline() ats_void_type atslib_fprint_mpq ( ats_ptr_type file, const ats_mpq_ptr_type x ) { atslib_mpq_out_str_exn (file, 10/*base*/, x) ; return ; } // end of [atslib_fprint_mpq] /* ****** ****** */ // // // HX: floating number operations // // /* ****** ****** */ #define atslib_mpf_get_default_prec mpf_get_default_prec #define atslib_mpf_set_default_prec mpf_set_default_prec /* ****** ****** */ #define atslib_mpf_init mpf_init #define atslib_mpf_init2 mpf_init2 #define atslib_mpf_clear mpf_clear #define atslib_mpf_get_prec mpf_get_prec #define atslib_mpf_set_prec mpf_set_prec #define atslib_mpf_set_prec_raw mpf_set_prec_raw #define atslib_mpf_get_d mpf_get_d #define atslib_mpf_get_d_2exp mpf_get_d_2exp #define atslib_mpf_get_si mpf_get_si #define atslib_mpf_get_ui mpf_get_ui ATSinline() ats_ptr_type atslib_mpf_get_str ( ats_ptr_type exp , ats_int_type base, ats_size_type ndigit , ats_mpf_ptr_type x ) { return mpf_get_str((char*)0, (mp_exp_t*)exp, base, ndigit, (mpf_ptr)x) ; } // end of [atslib_mpf_get_str] /* ****** ****** */ #define atslib_mpf_set_mpf mpf_set #define atslib_mpf_set_si mpf_set_si #define atslib_mpf_set_ui mpf_set_ui #define atslib_mpf_set_mpz mpf_set_z #define atslib_mpf_set_mpq mpf_set_q #define atslib_mpf_set_d mpf_set_d #define atslib_mpf_set_str mpf_set_str ATSinline() ats_void_type atslib_mpf_set_str_exn ( ats_mpf_ptr_type x, ats_ptr_type s, ats_int_type base ) { int n ; n = mpf_set_str((mpf_ptr)x, (char*)s, base) ; if (n < 0) { atspre_exit_prerrf(1, "exit(ATS): [mpf_set_str(%s)]: failed\n", s) ; } // end of [if] return ; } // end of [atslib_mpf_set_str_exn] /* ****** ****** */ #define atslib_mpf_init_set_mpf mpf_init_set #define atslib_mpf_init_set_d mpf_init_set_d #define atslib_mpf_init_set_si mpf_init_set_si #define atslib_mpf_init_set_ui mpf_init_set_ui #define atslib_mpf_init_set_str mpf_init_set_str #define atslib_mpf_swap mpf_swap /* ****** ****** */ #define atslib_mpf_ceil mpf_ceil #define atslib_mpf_floor mpf_floor #define atslib_mpf_trunc mpf_trunc #define atslib_mpf_integer_p mpf_integer_p #define atslib_mpf_int_p mpf_int_p #define atslib_mpf_uint_p mpf_uint_p #define atslib_mpf_lint_p mpf_slong_p #define atslib_mpf_ulint_p mpf_ulong_p #define atslib_mpf_sint_p mpf_sshort_p #define atslib_mpf_usint_p mpf_ushort_p #define atslib_mpf_fits_int_p mpf_fits_int_p #define atslib_mpf_fits_uint_p mpf_fits_uint_p #define atslib_mpf_fits_lint_p mpf_fits_long_p #define atslib_mpf_fits_ulint_p mpf_fits_ulong_p #define atslib_mpf_fits_sint_p mpf_fits_sshort_p #define atslib_mpf_fits_usint_p mpf_fits_ushort_p /* ****** ****** */ #define abslib_mpf_neg2 mpf_neg2 ATSinline() ats_void_type atslib_mpf_neg1 (ats_ref_type x) { mpf_neg ((mpf_ptr)x, (mpf_ptr)x) ; return ; } // end of [atslib_mpf_neg1] #define abslib_mpf_abs2 mpf_abs2 ATSinline() ats_void_type atslib_mpf_abs1 (ats_ref_type x) { mpf_abs ((mpf_ptr) x, (mpf_ptr) x) ; return ; } // end of [atslib_mpf_abs1] /* ****** ****** */ #define atslib_mpf_add3_mpf mpf_add #define atslib_mpf_add3_mpf_ui mpf_add_ui ATSinline() ats_void_type atslib_mpf_add2_mpf ( ats_ref_type dst, ats_ref_type src2 ) { mpf_add ((mpf_ptr)dst, (mpf_ptr) dst, (mpf_ptr)src2); return ; } // end of [atslib_mpf_add2_mpf] ATSinline() ats_void_type atslib_mpf_add2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_add_ui ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_add2_ui] /* ****** ****** */ #define atslib_mpf_sub3_mpf mpf_sub #define atslib_mpf_sub3_ui mpf_sub_ui #define atslib_mpf_ui_sub3 mpf_ui_sub ATSinline() ats_void_type atslib_mpf_sub2_mpf ( ats_ref_type dst, ats_ref_type src2 ) { mpf_sub ((mpf_ptr) dst, (mpf_ptr) dst, (mpf_ptr) src2) ; return ; } // end of [atslib_mpf_sub2_mpf] ATSinline() ats_void_type atslib_mpf_sub2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_sub_ui ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_sub2_ui] ATSinline() ats_void_type atslib_mpf_ui_sub2 ( ats_ref_type dst, ats_ulint_type src1 ) { mpf_ui_sub ((mpf_ptr)dst, src1, (mpf_ptr)dst) ; return ; } // end of [atslib_mpf_ui_sub2] /* ****** ****** */ #define atslib_mpf_mul3_mpf mpf_mul #define atslib_mpf_mul3_ui mpf_mul_ui ATSinline() ats_void_type atslib_mpf_mul2_mpf ( ats_ref_type dst, ats_ref_type src2 ) { mpf_mul ((mpf_ptr)dst, (mpf_ptr)dst, (mpf_ptr)src2) ; return ; } // end of [atslib_mpf_mul2_mpf] ATSinline() ats_void_type atslib_mpf_mul2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_mul_ui ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_mul2_ui] /* ****** ****** */ #define atslib_mpf_div3_mpf mpf_div #define atslib_mpf_div3_ui mpf_div_ui #define atslib_mpf_ui_div3 mpf_ui_div ATSinline() ats_void_type atslib_mpf_div2_mpf (ats_ref_type dst, ats_ref_type src2) { mpf_div ((mpf_ptr)dst, (mpf_ptr)dst, (mpf_ptr)src2) ; return ; } // end of [atslib_mpf_div2_mpf] ATSinline() ats_void_type atslib_mpf_div2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_div_ui ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_div2_ui] ATSinline() ats_void_type atslib_mpf_ui_div2 ( ats_ref_type dst, ats_ulint_type src1 ) { mpf_ui_div ((mpf_ptr)dst, src1, (mpf_ptr)dst) ; return ; } // end of [atslib_mpf_ui_div2] /* ****** ****** */ #define atslib_mpf_sqrt2_mpf mpf_sqrt #define atslib_mpf_sqrt2_ui mpf_sqrt_ui ATSinline() ats_void_type atslib_mpf_sqrt1_mpf (ats_ref_type dst) { mpf_sqrt ((mpf_ptr)dst, (mpf_ptr)dst) ; return ; } // end of [atslib_mpf_sqrt1] /* ****** ****** */ #define atslib_mpf_pow3_ui mpf_pow_ui ATSinline() ats_void_type atslib_mpf_pow2_ui ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_pow_ui ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_pow2_ui] /* ****** ****** */ #define atslib_mpf_mul3_2exp mpf_mul_2exp ATSinline() ats_void_type atslib_mpf_mul2_2exp ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_mul_2exp ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_mul2_2exp] /* ****** ****** */ #define atslib_mpf_div3_2exp mpf_div_2exp ATSinline() ats_void_type atslib_mpf_div2_2exp ( ats_ref_type dst, ats_ulint_type src2 ) { mpf_div_2exp ((mpf_ptr)dst, (mpf_ptr)dst, src2) ; return ; } // end of [atslib_mpf_div2_2exp] /* ****** ****** */ #define atslib_mpf_eq mpf_eq #define atslib_mpf_cmp_mpf mpf_cmp #define atslib_mpf_cmp_si mpf_cmp_si #define atslib_mpf_cmp_ui mpf_cmp_ui #define atslib_mpf_cmp_d mpf_cmp_d #define atslib_mpf_sgn mpf_sgn /* ****** ****** */ #define atslib_mpf_reldiff mpf_reldiff /* ****** ****** */ // // HX: input/output/print functions // #define atslib_mpf_out_str mpf_out_str #define atslib_mpf_inp_str mpf_inp_str extern ats_void_type atslib_mpf_out_str_exn ( ats_ptr_type, ats_int_type, ats_size_type, ats_mpf_ptr_type ) ; // end of [extern] ATSinline() ats_void_type atslib_fprint_mpf ( ats_ptr_type file, ats_mpf_ptr_type x, ats_size_type ndigit ) { atslib_mpf_out_str_exn (file, 10/*base*/, ndigit, x) ; return ; } // end of [atslib_fprint_mpf] ATSinline() ats_void_type atslib_print_mpf ( const ats_mpf_ptr_type x, ats_size_type ndigit ) { atslib_mpf_out_str_exn (stdout, 10/*base*/, ndigit, x) ; return ; } // end of [atslib_print_mpf] ATSinline() ats_void_type atslib_prerr_mpf ( const ats_mpf_ptr_type x, ats_size_type ndigit ) { atslib_mpf_out_str_exn (stderr, 10/*base*/, ndigit, x) ; return ; } // end of [atslib_prerr_mpf] /* ****** ****** */ // // random number generators for MPZ, MPQ and MPF // #define atslib_gmp_randclear gmp_randclear #define atslib_gmp_randinit_default gmp_randinit_default #define atslib_gmp_randinit_lc_2exp gmp_randinit_lc_2exp #define atslib_gmp_randinit_lc_2exp_size gmp_randinit_lc_2exp_size // #define atslib_gmp_randseed_mpz gmp_randseed #define atslib_gmp_randseed_ui gmp_randseed_ui // #define atslib_mpz_urandomb mpz_urandomb #define atslib_mpz_urandomm mpz_urandomm #define atslib_mpz_rrandomb mpz_rrandomb #define atslib_mpz_random mpz_random #define atslib_mpz_random2 mpz_random2 // #define atslib_mpf_random2 mpf_random2 #define atslib_mpf_urandomb mpf_urandomb /* ****** ****** */ #endif /* ATS_LIBC_GMP_CATS */ /* end of [gmp.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/CATS/.keeper0000664000175000017500000000000012655455557017300 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/DATS_gmp_dats.c0000664000175000017500000003205512655455557020066 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/CATS/gmp.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_stdout_get) () ; ATSextern_fun(ats_void_type, atspre_stdout_view_set) () ; ATSextern_fun(ats_ptr_type, atspre_stderr_get) () ; ATSextern_fun(ats_void_type, atspre_stderr_view_set) () ; ATSextern_fun(ats_ptr_type, atslib_mpz_get_str) (ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_mul2_ulint) (ats_ref_type, ats_ulint_type) ; ATSextern_fun(ats_void_type, atslib_mpz_pow2_ui) (ats_ref_type, ats_ulint_type) ; ATSextern_fun(ats_void_type, atslib_fprint_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_fprint_mpq) (ats_ref_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2289(line=74, offs=21) -- 2321(line=74, offs=53) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpz (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpz: tmp1 = atspre_stdout_get () ; tmp2 = ats_selsin_mac(tmp1, atslab_1) ; /* tmp3 = */ atslib_fprint_mpz (tmp2, arg0) ; /* tmp0 = */ atspre_stdout_view_set () ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpz] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2342(line=75, offs=21) -- 2374(line=75, offs=53) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpz (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpz: tmp5 = atspre_stderr_get () ; tmp6 = ats_selsin_mac(tmp5, atslab_1) ; /* tmp7 = */ atslib_fprint_mpz (tmp6, arg0) ; /* tmp4 = */ atspre_stderr_view_set () ; return /* (tmp4) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpz] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2399(line=77, offs=24) -- 2424(line=77, offs=49) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostrptr_mpz (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostrptr_mpz: tmp8 = atslib_mpz_get_str (10, arg0) ; return (tmp8) ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostrptr_mpz] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2448(line=78, offs=24) -- 2519(line=80, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostring_mpz (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostring_mpz: tmp10 = atslib_mpz_get_str (10, arg0) ; tmp9 = ats_castfn_mac(ats_ptr_type, tmp10) ; return (tmp9) ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__tostring_mpz] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2587(line=85, offs=11) -- 2880(line=95, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_incby (ats_ref_type arg0, ats_ulint_type arg1, ats_ulint_type arg2) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_incby: tmp12 = atslib_mpq_numref (arg0) ; tmp13 = ats_selsin_mac(tmp12, atslab_2) ; tmp14 = atslib_mpq_denref (arg0) ; tmp15 = ats_selsin_mac(tmp14, atslab_2) ; /* tmp16 = */ atslib_mpz_mul2_ulint (tmp13, arg2) ; /* tmp17 = */ atslib_mpz_addmul3_ulint (tmp13, tmp15, arg1) ; /* tmp18 = */ atslib_mpz_mul2_ulint (tmp15, arg2) ; /* tmp11 = */ atslib_mpq_canonicalize (arg0) ; return /* (tmp11) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_incby] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 2924(line=98, offs=11) -- 3217(line=108, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_decby (ats_ref_type arg0, ats_ulint_type arg1, ats_ulint_type arg2) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_decby: tmp20 = atslib_mpq_numref (arg0) ; tmp21 = ats_selsin_mac(tmp20, atslab_2) ; tmp22 = atslib_mpq_denref (arg0) ; tmp23 = ats_selsin_mac(tmp22, atslab_2) ; /* tmp24 = */ atslib_mpz_mul2_ulint (tmp21, arg2) ; /* tmp25 = */ atslib_mpz_submul3_ulint (tmp21, tmp23, arg1) ; /* tmp26 = */ atslib_mpz_mul2_ulint (tmp23, arg2) ; /* tmp19 = */ atslib_mpq_canonicalize (arg0) ; return /* (tmp19) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_decby] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 3284(line=113, offs=13) -- 3754(line=129, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow3_ui (ats_ref_type arg0, ats_ref_type arg1, ats_ulint_type arg2) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow3_ui: tmp28 = atslib_mpq_numref (arg0) ; tmp29 = ats_selsin_mac(tmp28, atslab_2) ; tmp30 = atslib_mpq_numref (arg1) ; tmp31 = ats_selsin_mac(tmp30, atslab_2) ; /* tmp32 = */ atslib_mpz_pow3_ui (tmp29, tmp31, arg2) ; tmp33 = atslib_mpq_denref (arg0) ; tmp34 = ats_selsin_mac(tmp33, atslab_2) ; tmp35 = atslib_mpq_denref (arg1) ; tmp36 = ats_selsin_mac(tmp35, atslab_2) ; /* tmp27 = */ atslib_mpz_pow3_ui (tmp34, tmp36, arg2) ; return /* (tmp27) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow3_ui] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 3802(line=131, offs=23) -- 4077(line=143, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow2_ui (ats_ref_type arg0, ats_ulint_type arg1) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow2_ui: tmp38 = atslib_mpq_numref (arg0) ; tmp39 = ats_selsin_mac(tmp38, atslab_2) ; /* tmp40 = */ atslib_mpz_pow2_ui (tmp39, arg1) ; tmp41 = atslib_mpq_denref (arg0) ; tmp42 = ats_selsin_mac(tmp41, atslab_2) ; /* tmp37 = */ atslib_mpz_pow2_ui (tmp42, arg1) ; return /* (tmp37) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__mpq_pow2_ui] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 4784(line=177, offs=21) -- 4816(line=177, offs=53) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpq (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpq: tmp44 = atspre_stdout_get () ; tmp45 = ats_selsin_mac(tmp44, atslab_1) ; /* tmp46 = */ atslib_fprint_mpq (tmp45, arg0) ; /* tmp43 = */ atspre_stdout_view_set () ; return /* (tmp43) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__print_mpq] */ /* // /home/hwxi/research/Anairiats/libc/DATS/gmp.dats: 4837(line=178, offs=21) -- 4869(line=178, offs=53) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpq (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; __ats_lab_ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpq: tmp48 = atspre_stderr_get () ; tmp49 = ats_selsin_mac(tmp48, atslab_1) ; /* tmp50 = */ atslib_fprint_mpq (tmp49, arg0) ; /* tmp47 = */ atspre_stderr_view_set () ; return /* (tmp47) */ ; } /* end of [ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__prerr_mpq] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__staload () { static int ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__dynload () { // ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2DATS_2gmp_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_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 */ ats_void_type atslib_mpz_inp_str_exn ( ats_mpz_ptr_type x , ats_ptr_type file , ats_int_type base ) { size_t n = mpz_inp_str(x, (FILE*)file, base) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpz_inp_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpz_inp_str_exn] ats_void_type atslib_mpz_out_str_exn ( ats_ptr_type file , ats_int_type base , const ats_mpz_ptr_type x ) { size_t n = mpz_out_str((FILE*)file, base, (mpz_ptr)x) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpz_out_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpz_out_str_exn] ats_void_type atslib_mpq_inp_str_exn ( ats_mpq_ptr_type x , ats_ptr_type file , ats_int_type base ) { size_t n = mpq_inp_str(x, (FILE*)file, base) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpq_inp_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpq_inp_str_exn] ats_void_type atslib_mpq_out_str_exn ( ats_ptr_type file , ats_int_type base , const ats_mpq_ptr_type x ) { size_t n = mpq_out_str((FILE*)file, base, (mpq_ptr)x) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpq_out_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpq_out_str_exn] ats_void_type atslib_mpf_inp_str_exn ( ats_mpf_ptr_type x , ats_ptr_type file , ats_int_type base ) { size_t n = mpf_inp_str(x, (FILE*)file, base) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpf_inp_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpf_inp_str_exn] ats_void_type atslib_mpf_out_str_exn ( ats_ptr_type file , ats_int_type base , ats_size_type ndigit , const ats_mpf_ptr_type x ) { size_t n = mpf_out_str((FILE*)file, base, ndigit, (mpf_ptr)x) ; if (n == 0) { ats_exit_errmsg (1, "exit(ATS): [mpf_out_str] failed.\n") ; } // end of [if] return ; } // end of [atslib_mpf_out_str_exn] /* external codes at bot */ /* ****** ****** */ /* end of [DATS_gmp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_unistd_sats.c0000664000175000017500000000261512655455557020646 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/CATS/unistd.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_unistd_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/.keeper0000664000175000017500000000000012655455557016546 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_gmp_sats.c0000664000175000017500000000175612655455557020130 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "libc/CATS/gmp.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_gmp_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/sys/0000775000175000017500000000000012655455557016122 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/sys/CATS/0000775000175000017500000000000012655455557016654 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/sys/CATS/stat.cats0000664000175000017500000000532712655455557020512 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_SYS_STAT_CATS #define ATS_LIBC_SYS_STAT_CATS /* ****** ****** */ #include #include "libc/sys/CATS/types.cats" typedef struct stat ats_stat_type ; /* ****** ****** */ extern void perror (const char *msg) ; // declared in [stdio.h] // // HX: implemented in [prelude/DATS/basics.dats] // extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ ATSinline() ats_bool_type atslib_S_ISBLK (ats_mode_type m) { return S_ISBLK(m) ; } ATSinline() ats_bool_type atslib_S_ISCHR (ats_mode_type m) { return S_ISCHR(m) ; } ATSinline() ats_bool_type atslib_S_ISDIR (ats_mode_type m) { return S_ISDIR(m) ; } ATSinline() ats_bool_type atslib_S_ISFIFO (ats_mode_type m) { return S_ISFIFO(m) ; } ATSinline() ats_bool_type atslib_S_ISREG (ats_mode_type m) { return S_ISREG(m) ; } ATSinline() ats_bool_type atslib_S_ISLNK (ats_mode_type m) { return S_ISLNK(m) ; } ATSinline() ats_bool_type atslib_S_ISSOCK (ats_mode_type m) { return S_ISSOCK(m) ; } /* ****** ****** */ #define atslib_chmod_err chmod /* ****** ****** */ #define atslib_mkdir_err mkdir /* ****** ****** */ #define atslib_stat_err stat #define atslib_fstat_err fstat #define atslib_lstat_err lstat /* ****** ****** */ #define atslib_umask umask /* ****** ****** */ #define atslib_mkfifo mkfifo /* ****** ****** */ #endif /* end of [ATS_LIBC_SYS_STAT_CATS] */ /* end of [stat.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/sys/CATS/types.cats0000664000175000017500000001255312655455557020702 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_LIBC_SYS_TYPES_CATS #define ATS_LIBC_SYS_TYPES_CATS /* ****** ****** */ #include #include /* ****** ****** */ // // typedef blksize_t ats_blksize_type ; // I/O block size // typedef blkcnt_t ats_blkcnt_type ; // number of blocks allowed /* ****** ****** */ // // HX: it should be defined in [sys/types.h] but it is actually in [time.h] // typedef clock_t ats_clock_type ; // for CLOCKS_PER_SEC ATSinline() ats_lint_type atslib_lint_of_clock (clock_t t) { return t ; } ATSinline() ats_double_type atslib_double_of_clock (clock_t t) { return t ; } /* ****** ****** */ // HX: not supported on Mac OSX ? // typedef clockid_t ats_clockid_type ; // for clock ID type /* ****** ****** */ typedef dev_t ats_dev_type ; // for device IDs ATSinline() ats_bool_type atslib_eq_dev_dev (dev_t x1, dev_t x2) { return (x1 == x2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_eq_dev_dev] /* ****** ****** */ typedef fsblkcnt_t ats_fsblkcnt_type ; // file system block counts typedef fsfilcnt_t ats_fsfilcnt_type ; // file system file counts typedef gid_t ats_gid_type ; // for group IDs /* ****** ****** */ typedef ino_t ats_ino_type ; // for file serial numbers ATSinline() ats_bool_type atslib_eq_ino_ino (ino_t x1, ino_t x2) { return (x1 == x2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_eq_ino_ino] /* ****** ****** */ typedef key_t ats_key_type ; // for XSI interprocess communication /* ****** ****** */ typedef mode_t ats_mode_type ; // file mode ATSinline() ats_bool_type atslib_eq_mode_mode (ats_mode_type m1, ats_mode_type m2) { return (m1 == m2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_eq_mode_mode] ATSinline() ats_bool_type atslib_neq_mode_mode (ats_mode_type m1, ats_mode_type m2) { return (m1 != m2 ? ats_true_bool : ats_false_bool) ; } // end of [atslib_neq_mode_mode] ATSinline() ats_mode_type atslib_lor_mode_mode (ats_mode_type m1, ats_mode_type m2) { return (m1 | m2) ; } // end of [atslib_lor_mode_mode] ATSinline() ats_mode_type atslib_land_mode_mode (ats_mode_type m1, ats_mode_type m2) { return (m1 & m2) ; } // end of [atslib_land_mode_mode] /* ****** ****** */ typedef nlink_t ats_nlink_type ; // number of hard links to a file /* ****** ****** */ typedef off_t ats_off_type ; // file size in bytes #if (0) // // HX: these are now cast functions // ATSinline() ats_lint_type atslib_lint_of_off (ats_off_type off) { return off ; } ATSinline() ats_off_type atslib_off_of_lint (ats_lint_type li) { return li ; } #endif // end of [if(0)] /* ****** ****** */ typedef pid_t ats_pid_type ; // for process IDs // signed integer type #if (0) // // HX: these are now cast functions // ATSinline() ats_pid_type atslib_pid_of_int (ats_int_type i) { return (i) ; } ATSinline() ats_int_type atslib_int_of_pid (ats_pid_type p) { return (p) ; } ATSinline() ats_lint_type atslib_lint_of_pid (ats_pid_type p) { return (p) ; } #endif // end of [if(0)] /* ****** ****** */ // // HX: already defined in [ats_types.h] // typedef size_t ats_size_type ; // for sizes of objects // typedef ssize_t ats_ssize_type ; // for sizes or error indication // /* ****** ****** */ typedef time_t ats_time_type ; // for time in seconds ATSinline() ats_lint_type atslib_lint_of_time (time_t t) { return t ; } ATSinline() ats_double_type atslib_double_of_time (time_t t) { return t ; } /* ****** ****** */ // // HX: where is [timer_t] declared? // typedef timer_t ats_timer_type ; // for timers returned by timer_create () // #ifdef _XOPEN_SOURCE // for POSIX and XPG things typedef useconds_t ats_useconds_type ; // for time in microseconds typedef suseconds_t ats_suseconds_type ; // for signed time in microseconds #endif // end of [_XOPEN_SOURCE] /* ****** ****** */ typedef uid_t ats_uid_type ; #if (0) // // HX: these are now cast functions // ATSinline() ats_int_type atslib_int_of_uid (ats_uid_type u) { return u ; } ATSinline() ats_uid_type atslib_uid_of_int (ats_int_type i) { return i ; } #endif // end of [if(0)] /* ****** ****** */ #endif /* end of [ATS_LIBC_SYS_TYPES_CATS] */ /* end of [types.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/libc/sys/CATS/.keeper0000664000175000017500000000000012655455557020116 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/libc/SATS_stdlib_sats.c0000664000175000017500000000232312655455557020615 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ #include "libc/CATS/stdlib.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () { static int ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [SATS_stdlib_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_depgen_dats.c0000664000175000017500000015366212655455557020060 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_d0exp_loc ; ats_ptr_type atslab_d0exp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_guad0ecl_loc ; ats_ptr_type atslab_guad0ecl_node ; } anairiats_rec_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextval_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efoldat_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efreeat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etmpid_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDfname_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_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_gt_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_bool_type, atspre_eq_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_ssize1_int1) (ats_ssize_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ssize_type, atspre_string_index_of_char_from_right) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_test_file_exists) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_filename_merge) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_filename_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_target) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_staloadarg) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0expopt) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0ecl) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node) (ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type revapp_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type fpr_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3) ; static ats_void_type loop_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 2033(line=78, offs=5) -- 2652(line=106, offs=4) */ ATSstaticdec() ats_ptr_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; __ats_lab_loop_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp4 = patsopt_filename_append (tmp2, arg1) ; tmp5 = atspre_test_file_exists (ats_castfn_mac(ats_ptr_type, tmp4)) ; if (tmp5) { tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize (ats_castfn_mac(ats_ptr_type, tmp4)) ; /* tmp7 = */ atspre_strptr_free (tmp4) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp1, atslab_0, tmp6) ; } else { /* tmp8 = */ atspre_strptr_free (tmp4) ; arg0 = tmp3 ; arg1 = arg1 ; goto __ats_lab_loop_1 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 1889(line=70, offs=18) -- 3280(line=130, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp9 != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname (tmp10) ; tmp12 = patsopt_filename_merge (tmp11, arg0) ; tmp13 = atspre_test_file_exists (ats_castfn_mac(ats_ptr_type, tmp12)) ; if (tmp13) { tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize (ats_castfn_mac(ats_ptr_type, tmp12)) ; /* tmp15 = */ atspre_strptr_free (tmp12) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp0, atslab_0, tmp14) ; } else { /* tmp16 = */ atspre_strptr_free (tmp12) ; tmp0 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_get () ; tmp0 = loop_1 (tmp17, arg0) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 3436(line=140, offs=20) -- 3562(line=146, offs=17) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_staloadarg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_staloadarg: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename (tmp19) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp18 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_staloadarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 4162(line=171, offs=3) -- 5741(line=241, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp: tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d0exp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp21)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp21)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp21)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp21)->tag != 3) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp21)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp21)->tag != 5) { goto __ats_lab_12_0 ; } __ats_lab_11_1: break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp21)->tag != 6) { goto __ats_lab_13_0 ; } __ats_lab_12_1: break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp21)->tag != 7) { goto __ats_lab_14_0 ; } __ats_lab_13_1: break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp21)->tag != 8) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp21)->tag != 9) { goto __ats_lab_16_0 ; } __ats_lab_15_1: break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp21)->tag != 11) { goto __ats_lab_17_0 ; } __ats_lab_16_1: break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp21)->tag != 51) { goto __ats_lab_18_0 ; } __ats_lab_17_1: break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp21)->tag != 14) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (tmp22, arg1) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp21)->tag != 15) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (tmp23, arg1) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp21)->tag != 16) { goto __ats_lab_21_0 ; } __ats_lab_20_1: break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp21)->tag != 17) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_1) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp24, arg1) ; arg0 = tmp25 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp21)->tag != 18) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp27, arg1) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp21)->tag != 19) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_1) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp29, arg1) ; arg0 = tmp28 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp21)->tag != 20) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_3, tmp21, atslab_1) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp31, arg1) ; arg0 = tmp32 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp21)->tag != 21) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_6, tmp21, atslab_1) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (tmp34, arg1) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp21)->tag != 22) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_1) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_2) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_3) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp35, arg1) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp36, arg1) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0expopt (tmp37, arg1) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp21)->tag != 23) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_2) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_7, tmp21, atslab_3) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp40, arg1) ; arg0 = tmp41 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp21)->tag != 26) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_8, tmp21, atslab_2) ; arg0 = tmp43 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp21)->tag != 27) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_9, tmp21, atslab_2) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (tmp44, arg1) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp21)->tag != 28) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_9, tmp21, atslab_2) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst (tmp45, arg1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp21)->tag != 29) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_5, tmp21, atslab_0) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (tmp46, arg1) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: break ; } while (0) ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 5817(line=247, offs=3) -- 5988(line=255, offs=20) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp48, arg1) ; arg0 = tmp49 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 6051(line=261, offs=3) -- 6137(line=265, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0expopt (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0expopt: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp52, arg1) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: break ; } while (0) ; return /* (tmp51) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 6224(line=273, offs=3) -- 6439(line=284, offs=20) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_1, tmp54, atslab_1) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0exp (tmp56, arg1) ; arg0 = tmp55 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: break ; } while (0) ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_labd0explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 6523(line=292, offs=3) -- 7426(line=334, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0ecl (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0ecl: tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_d0ecl_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp59)->tag != 30) { goto __ats_lab_42_0 ; } __ats_lab_39_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_11, tmp59, atslab_2) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename (tmp60) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp61 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_2, tmp61, atslab_0) ; ATS_FREE(tmp61) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_0, tmp62) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp63 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (tmp61 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: break ; } while (0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp59)->tag != 31) { goto __ats_lab_45_0 ; } __ats_lab_42_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__pathtry_givename (tmp64) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp65 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_2, tmp65, atslab_0) ; ATS_FREE(tmp65) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp67, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_1, tmp67, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp67 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (tmp65 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp59)->tag != 33) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp68, arg1) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp59)->tag != 36) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_3, tmp59, atslab_0) ; tmp70 = ats_caselptrlab_mac(anairiats_sum_3, tmp59, atslab_1) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp69, arg1) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp70, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp59)->tag != 37) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_3, tmp59, atslab_1) ; tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp72), atslab_guad0ecl_node) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node (tmp73, arg1) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: break ; } while (0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 7502(line=340, offs=3) -- 7669(line=347, offs=20) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0ecl (tmp75, arg1) ; arg0 = tmp76 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: break ; } while (0) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 7758(line=355, offs=3) -- 8201(line=376, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp79, arg1) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_2) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp80, arg1) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp81, arg1) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_3) ; /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (tmp83, arg1) ; arg0 = tmp84 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node ; // tail call break ; } while (0) ; return /* (tmp78) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_guad0ecl_node] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_revapp_13: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp92 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp93 = ats_ptrget_mac(ats_ptr_type, tmp92) ; ats_ptrget_mac(ats_ptr_type, tmp92) = arg1 ; tmp94 = arg0 ; arg0 = tmp93 ; arg1 = tmp94 ; goto __ats_lab_revapp_13 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp91 = arg1 ; break ; } while (0) ; return (tmp91) ; } /* end of [revapp_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp90 = revapp_13 (arg0, arg1) ; return (tmp90) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp95 = (ats_sum_ptr_type)0 ; tmp89 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp95) ; return (tmp89) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 8279(line=381, offs=13) -- 8399(line=388, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__depgen_eval (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__depgen_eval: /* ats_ptr_type tmp87 ; */ tmp87 = (ats_sum_ptr_type)0 ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__depgen_d0eclist (arg0, (&tmp87)) ; tmp86 = list_vt_reverse_01506_ats_ptr_type (tmp87) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__depgen_eval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 8647(line=404, offs=9) -- 9050(line=420, offs=8) */ ATSstaticdec() ats_void_type fpr_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3) { /* local vardec */ // ATSlocal_void (tmp99) ; ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_char_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_size_type, tmp104) ; __ats_lab_fpr_15: tmp100 = atspre_string_isnot_atend (arg1, arg3) ; if (tmp100) { tmp102 = atspre_eq_size_size (arg3, arg2) ; if (tmp102) { tmp101 = '_' ; } else { tmp101 = atspre_string_get_char_at (arg1, arg3) ; } /* end of [if] */ /* tmp103 = */ atspre_fprint_char (arg0, tmp101) ; tmp104 = atspre_add_size1_int1 (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp104 ; goto __ats_lab_fpr_15 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp99) */ ; } /* end of [fpr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 8472(line=394, offs=3) -- 9241(line=427, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_target (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp96) ; ATSlocal (ats_ssize_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_target: tmp97 = atspre_string_index_of_char_from_right (ats_castfn_mac(ats_ptr_type, arg1), '.') ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp98 = atspre_gte_ssize1_int1 (tmp97, 0) ; if (!tmp98) { goto __ats_lab_57_1 ; } /* tmp105 = */ fpr_15 (arg0, ats_castfn_mac(ats_ptr_type, arg1), ats_castfn_mac(ats_size_type, tmp97), 0) ; /* tmp96 = */ atspre_fprint_string (arg0, ATSstrcst(".o")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: /* tmp96 = */ atspre_fprint_string (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; break ; } while (0) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_target] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 9348(line=435, offs=5) -- 9677(line=454, offs=4) */ ATSstaticdec() ats_void_type loop_17 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_bool_type, tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_int_type, tmp113) ; __ats_lab_loop_17: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp109 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp111 = atspre_gt_int_int (arg1, 0) ; if (tmp111) { /* tmp110 = */ atspre_fprint_char (arg0, ' ') ; } else { /* empty */ } /* end of [if] */ /* tmp112 = */ atspre_fprint_string (arg0, tmp108) ; tmp113 = atspre_add_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp113 ; arg2 = tmp109 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: break ; } while (0) ; return /* (tmp107) */ ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_depgen.dats: 9316(line=433, offs=3) -- 9836(line=464, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_entlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_entlst: /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_target (arg0, arg1) ; /* tmp115 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp116 = */ loop_17 (arg0, 0, arg2) ; /* tmp106 = */ atspre_fprint_newline (arg0) ; return /* (tmp106) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_entlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_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 () ; #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_depgen_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_ctxt_dats.c0000664000175000017500000003713312655455557021240 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__S2CTXT_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2ctxt_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__S2CTXT_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 1613(line=48, offs=13) -- 1643(line=48, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make: tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_1, arg1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 1929(line=62, offs=18) -- 2572(line=93, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 9) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp3 ; tmp1 = arg1 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp2)->tag != 12) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_1) ; tmp6 = ats_ptrget_mac(ats_int_type, arg2) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag (tmp4, arg1, arg2) ; tmp8 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp6) ; if (tmp8) { tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp7, tmp5) ; } else { tmp1 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp2)->tag != 25) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_1) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_2) ; tmp12 = ats_ptrget_mac(ats_int_type, arg2) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag (tmp11, arg1, arg2) ; tmp14 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp12) ; if (tmp14) { tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_srt) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp15, tmp9, tmp10, tmp13) ; } else { tmp1 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp1 = arg0 ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 2638(line=97, offs=3) -- 3178(line=118, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_bool_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp19 = ats_ptrget_mac(ats_int_type, arg2) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_4, tmp17, atslab_0) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp17, atslab_1) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp17, atslab_2) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag (tmp22, arg1, arg2) ; tmp24 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp19) ; if (tmp24) { tmp25 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_0, tmp20) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_1, tmp21) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_2, tmp23) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_0, tmp25) ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_1, tmp18) ; } else { tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag (tmp18, arg1, arg2) ; tmp27 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp19) ; if (tmp27) { tmp16 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_0, tmp17) ; ats_selptrset_mac(anairiats_sum_0, tmp16, atslab_1, tmp26) ; } else { tmp16 = arg0 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp16 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__labs2explst_hrepl_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 3260(line=124, offs=3) -- 3341(line=128, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl: /* ats_int_type tmp29 ; */ tmp29 = 0 ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag (arg0, arg1, (&tmp29)) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 3413(line=134, offs=3) -- 3550(line=140, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_int_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl: /* ats_int_type tmp31 ; */ tmp31 = 0 ; // tmp32 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__s2exp_hrepl_flag (tmp32, arg1, (&tmp31)) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_ctxt.dats: 3605(line=144, offs=3) -- 3714(line=148, offs=23) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxtopt_hrepl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxtopt_hrepl: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp34, arg1) ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp33, atslab_0, tmp35) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp33 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxtopt_hrepl] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__S2CTXT_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_staexp2_ctxt_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symmap_dats.c0000664000175000017500000011653212655455557020117 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_int_type atslab_0 ; ats_uint_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_2 ; typedef struct { anairiats_rec_2 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_void_type, atspre_fprint_uint) (ats_ptr_type, ats_uint_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_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__sasp__symmap_vtype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type compare_key_key_01713_ats_uint_type (ats_uint_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type linmap_make_nil_01714_ () ; static ats_void_type _free_5 (ats_ptr_type arg0) ; static ats_void_type linmap_free_01731_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type search_9 (ats_uint_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_9_closure_make (ats_uint_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_01720_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_01719_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_int_type avltree_height_036_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_089_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_064_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_12 (ats_uint_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_12_closure_make (ats_uint_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_12_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_01722_ats_uint_type_2cats_ptr_type (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_void_type loop_17 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linmap_listize_01733_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_void_type __ats_fun_21 (ats_ptr_type env0, ats_ptr_type env1, ats_uint_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type __ats_fun_21_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type __ats_fun_21_clofun (ats_clo_ptr_type cloptr, ats_uint_type arg0, ats_ref_type arg1) ; static ats_void_type foreach_23 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type linmap_foreach_vclo_01727_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 1790(line=59, offs=22) -- 1830(line=59, offs=62) */ ATSstaticdec() ats_int_type compare_key_key_01713_ats_uint_type (ats_uint_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab_compare_key_key_01713_ats_uint_type: tmp0 = atspre_compare_uint_uint (arg0, arg1) ; return (tmp0) ; } /* end of [compare_key_key_01713_ats_uint_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_01714_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_linmap_make_nil_01714_: tmp2 = (ats_sum_ptr_type)0 ; return (tmp2) ; } /* end of [linmap_make_nil_01714_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 1881(line=63, offs=27) -- 1906(line=63, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil: tmp1 = linmap_make_nil_01714_ () ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20597(line=699, offs=7) -- 20733(line=701, offs=65) */ ATSstaticdec() ats_void_type _free_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; __ats_lab__free_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp8 = */ _free_5 (tmp6) ; arg0 = tmp7 ; goto __ats_lab__free_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp5) */ ; } /* end of [_free_5] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20567(line=698, offs=13) -- 20755(line=703, offs=2) */ ATSstaticdec() ats_void_type linmap_free_01731_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab_linmap_free_01731_ats_uint_type_2cats_ptr_type: /* tmp4 = */ _free_5 (arg0) ; return /* (tmp4) */ ; } /* end of [linmap_free_01731_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 1935(line=64, offs=29) -- 1968(line=64, offs=62) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free: /* tmp3 = */ linmap_free_01731_ats_uint_type_2cats_ptr_type (arg0) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_9 (ats_uint_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_uint_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_bool_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_search_9: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_2_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp18 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_2) ; tmp19 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; tmp20 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_4) ; tmp21 = compare_key_key_01713_ats_uint_type (env0, tmp17, env1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp22 = atspre_lt_int_int (tmp21, 0) ; if (!tmp22) { goto __ats_lab_4_1 ; } tmp23 = ats_ptrget_mac(ats_ptr_type, tmp19) ; arg0 = tmp23 ; goto __ats_lab_search_9 ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp24 = atspre_gt_int_int (tmp21, 0) ; if (!tmp24) { goto __ats_lab_5_1 ; } tmp25 = ats_ptrget_mac(ats_ptr_type, tmp20) ; arg0 = tmp25 ; goto __ats_lab_search_9 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp16 = tmp18 ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp16 = atspre_null_ptr ; break ; } while (0) ; return (tmp16) ; } /* end of [search_9] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_uint_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_9_closure_type ; ats_ptr_type search_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_9 (((search_9_closure_type*)cloptr)->closure_env_0, ((search_9_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_9_closure_init (search_9_closure_type *p_clo, ats_uint_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_9_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_9_closure_make (ats_uint_type env0, ats_clo_ref_type env1) { search_9_closure_type *p_clo = ATS_MALLOC(sizeof(search_9_closure_type)) ; search_9_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_01720_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_linmap_search_ref_01720_ats_uint_type_2cats_ptr_type: tmp15 = search_9 (arg1, arg2, arg0) ; return (tmp15) ; } /* end of [linmap_search_ref_01720_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_01719_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_linmap_search_01719_ats_uint_type_2cats_ptr_type: tmp14 = linmap_search_ref_01720_ats_uint_type_2cats_ptr_type (arg0, arg1, arg2) ; tmp26 = atspre_pgt (tmp14, atspre_null_ptr) ; if (tmp26) { tmp27 = ats_ptrget_mac(ats_ptr_type, tmp14) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp27 ; tmp13 = ats_true_bool ; } else { tmp13 = ats_false_bool ; } /* end of [if] */ return (tmp13) ; } /* end of [linmap_search_01719_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 2024(line=70, offs=9) -- 2315(line=80, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_uint_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp (arg1) ; /* ats_ptr_type tmp11 ; */ tmp12 = linmap_search_01719_ats_uint_type_2cats_ptr_type (arg0, tmp10, ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), (&tmp11)) ; if (tmp12) { tmp9 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp9, atslab_0, tmp11) ; } else { tmp9 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_036_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; __ats_lab_avltree_height_036_ats_uint_type_2cats_ptr_type: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp44 = tmp45 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp44 = 0 ; break ; } while (0) ; return (tmp44) ; } /* end of [avltree_height_036_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_089_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_int_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_avltree_rrotate_089_ats_uint_type_2cats_ptr_type: tmp55 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp55 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp56 = &ats_caselptrlab_mac(anairiats_sum_0, tmp55, atslab_0) ; tmp57 = &ats_caselptrlab_mac(anairiats_sum_0, tmp55, atslab_3) ; tmp58 = &ats_caselptrlab_mac(anairiats_sum_0, tmp55, atslab_4) ; tmp60 = ats_ptrget_mac(ats_ptr_type, tmp57) ; tmp59 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp60) ; tmp62 = ats_ptrget_mac(ats_ptr_type, tmp58) ; tmp61 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp62) ; tmp64 = atspre_iadd (tmp59, 0) ; tmp63 = atspre_igte (tmp64, tmp61) ; if (tmp63) { tmp65 = atspre_iadd (tmp61, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp65 ; tmp66 = ats_ptrget_mac(ats_ptr_type, tmp58) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp66 ; tmp68 = atspre_imax (tmp59, tmp65) ; tmp67 = atspre_iadd (1, tmp68) ; ats_ptrget_mac(ats_int_type, tmp56) = tmp67 ; ats_ptrget_mac(ats_ptr_type, tmp58) = arg5 ; tmp54 = tmp55 ; } else { tmp69 = ats_ptrget_mac(ats_ptr_type, tmp58) ; // if (tmp69 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp70 = &ats_caselptrlab_mac(anairiats_sum_0, tmp69, atslab_0) ; tmp71 = &ats_caselptrlab_mac(anairiats_sum_0, tmp69, atslab_3) ; tmp72 = &ats_caselptrlab_mac(anairiats_sum_0, tmp69, atslab_4) ; tmp74 = ats_ptrget_mac(ats_ptr_type, tmp71) ; tmp73 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp74) ; tmp76 = ats_ptrget_mac(ats_ptr_type, tmp72) ; tmp75 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp76) ; tmp78 = atspre_imax (tmp75, arg3) ; tmp77 = atspre_iadd (1, tmp78) ; ats_ptrget_mac(ats_int_type, arg0) = tmp77 ; tmp79 = ats_ptrget_mac(ats_ptr_type, tmp72) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp79 ; tmp81 = atspre_imax (tmp59, tmp73) ; tmp80 = atspre_iadd (1, tmp81) ; ats_ptrget_mac(ats_int_type, tmp56) = tmp80 ; tmp82 = ats_ptrget_mac(ats_ptr_type, tmp71) ; ats_ptrget_mac(ats_ptr_type, tmp58) = tmp82 ; ats_ptrget_mac(ats_int_type, tmp70) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp71) = tmp55 ; ats_ptrget_mac(ats_ptr_type, tmp72) = arg5 ; tmp54 = tmp69 ; } /* end of [if] */ return (tmp54) ; } /* end of [avltree_rrotate_089_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_064_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_int_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_avltree_lrotate_064_ats_uint_type_2cats_ptr_type: tmp95 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp95 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp96 = &ats_caselptrlab_mac(anairiats_sum_0, tmp95, atslab_0) ; tmp97 = &ats_caselptrlab_mac(anairiats_sum_0, tmp95, atslab_3) ; tmp98 = &ats_caselptrlab_mac(anairiats_sum_0, tmp95, atslab_4) ; tmp100 = ats_ptrget_mac(ats_ptr_type, tmp97) ; tmp99 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp100) ; tmp102 = ats_ptrget_mac(ats_ptr_type, tmp98) ; tmp101 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp102) ; tmp104 = atspre_iadd (tmp101, 0) ; tmp103 = atspre_ilte (tmp99, tmp104) ; if (tmp103) { tmp105 = atspre_iadd (tmp99, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp105 ; tmp106 = ats_ptrget_mac(ats_ptr_type, tmp97) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp106 ; tmp108 = atspre_imax (tmp105, tmp101) ; tmp107 = atspre_iadd (1, tmp108) ; ats_ptrget_mac(ats_int_type, tmp96) = tmp107 ; ats_ptrget_mac(ats_ptr_type, tmp97) = arg5 ; tmp94 = tmp95 ; } else { tmp109 = ats_ptrget_mac(ats_ptr_type, tmp97) ; // if (tmp109 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp110 = &ats_caselptrlab_mac(anairiats_sum_0, tmp109, atslab_0) ; tmp111 = &ats_caselptrlab_mac(anairiats_sum_0, tmp109, atslab_3) ; tmp112 = &ats_caselptrlab_mac(anairiats_sum_0, tmp109, atslab_4) ; tmp114 = ats_ptrget_mac(ats_ptr_type, tmp111) ; tmp113 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp114) ; tmp116 = ats_ptrget_mac(ats_ptr_type, tmp112) ; tmp115 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp116) ; tmp118 = atspre_imax (arg1, tmp113) ; tmp117 = atspre_iadd (1, tmp118) ; ats_ptrget_mac(ats_int_type, arg0) = tmp117 ; tmp119 = ats_ptrget_mac(ats_ptr_type, tmp111) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp119 ; tmp121 = atspre_imax (tmp115, tmp101) ; tmp120 = atspre_iadd (1, tmp121) ; ats_ptrget_mac(ats_int_type, tmp96) = tmp120 ; tmp122 = ats_ptrget_mac(ats_ptr_type, tmp112) ; ats_ptrget_mac(ats_ptr_type, tmp97) = tmp122 ; ats_ptrget_mac(ats_int_type, tmp110) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp111) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp112) = tmp95 ; tmp94 = tmp109 ; } /* end of [if] */ return (tmp94) ; } /* end of [avltree_lrotate_064_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_12 (ats_uint_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_uint_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_insert_12: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_7_1: tmp34 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp35 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp36 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp37 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp38 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp40 = ats_ptrget_mac(ats_uint_type, tmp35) ; tmp39 = compare_key_key_01713_ats_uint_type (env0, tmp40, env1) ; tmp41 = atspre_lt_int_int (tmp39, 0) ; if (tmp41) { tmp42 = insert_12 (env0, env1, tmp37, arg1, arg2) ; tmp46 = ats_ptrget_mac(ats_ptr_type, tmp37) ; tmp43 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp46) ; tmp48 = ats_ptrget_mac(ats_ptr_type, tmp38) ; tmp47 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp48) ; tmp50 = atspre_isub (tmp43, tmp47) ; tmp49 = atspre_ilte (tmp50, 1) ; if (tmp49) { tmp52 = atspre_imax (tmp43, tmp47) ; tmp51 = atspre_iadd (1, tmp52) ; ats_ptrget_mac(ats_int_type, tmp34) = tmp51 ; tmp33 = tmp42 ; } else { tmp53 = avltree_rrotate_089_ats_uint_type_2cats_ptr_type (tmp34, tmp43, tmp37, tmp47, tmp38, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp53 ; tmp33 = tmp42 ; } /* end of [if] */ } else { tmp83 = atspre_gt_int_int (tmp39, 0) ; if (tmp83) { tmp84 = insert_12 (env0, env1, tmp38, arg1, arg2) ; tmp86 = ats_ptrget_mac(ats_ptr_type, tmp37) ; tmp85 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp86) ; tmp88 = ats_ptrget_mac(ats_ptr_type, tmp38) ; tmp87 = avltree_height_036_ats_uint_type_2cats_ptr_type (tmp88) ; tmp90 = atspre_isub (tmp87, tmp85) ; tmp89 = atspre_ilte (tmp90, 1) ; if (tmp89) { tmp92 = atspre_imax (tmp85, tmp87) ; tmp91 = atspre_iadd (1, tmp92) ; ats_ptrget_mac(ats_int_type, tmp34) = tmp91 ; tmp33 = tmp84 ; } else { tmp93 = avltree_lrotate_064_ats_uint_type_2cats_ptr_type (tmp34, tmp85, tmp37, tmp87, tmp38, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp93 ; tmp33 = tmp84 ; } /* end of [if] */ } else { tmp123 = ats_ptrget_mac(ats_ptr_type, tmp36) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp123 ; ats_ptrget_mac(ats_ptr_type, tmp36) = arg1 ; tmp33 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp125 = (ats_sum_ptr_type)0 ; tmp126 = (ats_sum_ptr_type)0 ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp124, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_0, tmp124, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_0, tmp124, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_0, tmp124, atslab_3, tmp125) ; ats_selptrset_mac(anairiats_sum_0, tmp124, atslab_4, tmp126) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp124 ; tmp33 = ats_false_bool ; break ; } while (0) ; return (tmp33) ; } /* end of [insert_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_uint_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_12_closure_type ; ats_bool_type insert_12_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { return insert_12 (((insert_12_closure_type*)cloptr)->closure_env_0, ((insert_12_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_12_closure_init (insert_12_closure_type *p_clo, ats_uint_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_12_closure_make (ats_uint_type env0, ats_clo_ref_type env1) { insert_12_closure_type *p_clo = ATS_MALLOC(sizeof(insert_12_closure_type)) ; insert_12_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_01722_ats_uint_type_2cats_ptr_type (ats_ref_type arg0, ats_uint_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp32) ; __ats_lab_linmap_insert_01722_ats_uint_type_2cats_ptr_type: tmp32 = insert_12 (arg1, arg3, arg0, arg2, arg4) ; return (tmp32) ; } /* end of [linmap_insert_01722_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 2396(line=86, offs=9) -- 2549(line=91, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_uint_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp (arg1) ; /* ats_ptr_type tmp30 ; */ tmp31 = linmap_insert_01722_ats_uint_type_2cats_ptr_type (arg0, tmp29, arg2, ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), (&tmp30)) ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 2691(line=101, offs=5) -- 3091(line=121, offs=4) */ ATSstaticdec() ats_void_type loop_17 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_uint_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab_loop_17: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp129 = &ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* ats_ptr_type tmp131 ; */ tmp133 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp129), atslab_0) ; tmp134 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp129), atslab_1) ; tmp132 = linmap_insert_01722_ats_uint_type_2cats_ptr_type (arg0, tmp133, tmp134, ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), (&tmp131)) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp130 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: break ; } while (0) ; return /* (tmp128) */ ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21260(line=724, offs=7) -- 21616(line=736, offs=31) */ ATSstaticdec() ats_ptr_type aux_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_uint_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (anairiats_rec_2, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; __ats_lab_aux_19: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_2) ; tmp140 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; tmp141 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_4) ; tmp143 = ats_ptrget_mac(ats_ptr_type, tmp141) ; tmp142 = aux_19 (tmp143, arg1) ; tmp145.atslab_0 = tmp138 ; tmp145.atslab_1 = tmp139 ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp144, atslab_0, tmp145) ; ats_selptrset_mac(anairiats_sum_3, tmp144, atslab_1, tmp142) ; tmp146 = ats_ptrget_mac(ats_ptr_type, tmp140) ; arg0 = tmp146 ; arg1 = tmp144 ; goto __ats_lab_aux_19 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp137 = arg1 ; break ; } while (0) ; return (tmp137) ; } /* end of [aux_19] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21202(line=722, offs=16) -- 21664(line=740, offs=4) */ ATSstaticdec() ats_ptr_type linmap_listize_01733_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_linmap_listize_01733_ats_uint_type_2cats_ptr_type: tmp147 = (ats_sum_ptr_type)0 ; tmp136 = aux_19 (arg0, tmp147) ; return (tmp136) ; } /* end of [linmap_listize_01733_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 2634(line=97, offs=9) -- 3181(line=127, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth: tmp135 = linmap_listize_01733_ats_uint_type_2cats_ptr_type (arg1) ; /* tmp127 = */ loop_17 (arg0, tmp135) ; return /* (tmp127) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 3295(line=133, offs=16) -- 3435(line=134, offs=91) */ ATSstaticdec() ats_void_type __ats_fun_21 (ats_ptr_type env0, ats_ptr_type env1, ats_uint_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; __ats_lab___ats_fun_21: /* tmp151 = */ atspre_fprint_uint (env0, arg0) ; /* tmp152 = */ atspre_fprint_string (env0, ATSstrcst(" -> ")) ; /* tmp153 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env1) (env0, ats_ptrget_mac(ats_ptr_type, arg1)) ; /* tmp150 = */ atspre_fprint_newline (env0) ; return /* (tmp150) */ ; } /* end of [__ats_fun_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } __ats_fun_21_closure_type ; ats_void_type __ats_fun_21_clofun (ats_clo_ptr_type cloptr, ats_uint_type arg0, ats_ref_type arg1) { __ats_fun_21 (((__ats_fun_21_closure_type*)cloptr)->closure_env_0, ((__ats_fun_21_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_21_closure_init (__ats_fun_21_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_21_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 18402(line=624, offs=7) -- 18717(line=631, offs=24) */ ATSstaticdec() ats_void_type foreach_23 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_uint_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab_foreach_23: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp157 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp158 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_2) ; tmp159 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; tmp160 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_4) ; tmp162 = ats_ptrget_mac(ats_ptr_type, tmp159) ; /* tmp161 = */ foreach_23 (tmp162, arg1) ; tmp164 = ats_ptrget_mac(ats_uint_type, tmp157) ; /* tmp163 = */ ((ats_void_type(*)(ats_clo_ptr_type, ats_uint_type, ats_ref_type))(ats_closure_fun(arg1))) (arg1, tmp164, tmp158) ; tmp165 = ats_ptrget_mac(ats_ptr_type, tmp160) ; arg0 = tmp165 ; arg1 = arg1 ; goto __ats_lab_foreach_23 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: break ; } while (0) ; return /* (tmp156) */ ; } /* end of [foreach_23] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 18354(line=623, offs=3) -- 18741(line=633, offs=2) */ ATSstaticdec() ats_void_type linmap_foreach_vclo_01727_ats_uint_type_2cats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp155) ; __ats_lab_linmap_foreach_vclo_01727_ats_uint_type_2cats_ptr_type: /* tmp155 = */ foreach_23 (arg0, arg1) ; return /* (tmp155) */ ; } /* end of [linmap_foreach_vclo_01727_ats_uint_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symmap_avltree.hats: 3260(line=132, offs=20) -- 3554(line=140, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__fprint_symmap (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (__ats_fun_21_closure_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__fprint_symmap: /* ats_ptr_type tmp149 ; */ tmp149 = &(tmp154) ; __ats_fun_21_closure_init (tmp149, arg0, arg2) ; // closure initialization /* tmp148 = */ linmap_foreach_vclo_01727_ats_uint_type_2cats_ptr_type (arg1, tmp149) ; return /* (tmp148) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__fprint_symmap] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_symmap_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_util_dats.c0000664000175000017500000020307012655455557021231 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_14 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALarrsub_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALnone_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type aux_1 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_bool_type aux_3 (ats_ptr_type arg0) ; static ats_bool_type aux_5 (ats_ptr_type arg0) ; static ats_bool_type auxlst_6 (ats_ptr_type arg0) ; static ats_bool_type auxlablst_7 (ats_ptr_type arg0) ; static ats_int_type loop_10 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type __ats_fun_11 (ats_int_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_11_closure_make (ats_int_type env0) ; static ats_bool_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type app_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_filter_vclo_01340_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type d2exp_d2var_lvalize_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type p1at_arity_18 (ats_ptr_type arg0) ; static ats_bool_type loop1_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type loop2_21 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_bool_type loop1_20_0loop2_21 (ats_int_type arg0, ...) ; static ats_bool_type aritest_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_25 (ats_ptr_type arg0) ; static ats_ptr_type aux2_26 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type revapp_31 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 1999(line=82, offs=1) -- 2370(line=96, offs=39) */ ATSstaticdec() ats_ptr_type aux_1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_aux_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp2), atslab_p2at_loc) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg1) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label (tmp4, tmp5) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp7)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp7, atslab_0, tmp6) ; ats_selptrset_mac(anairiats_sum_3, tmp7, atslab_1, tmp2) ; tmp9 = atspre_add_int_int (arg1, 1) ; tmp8 = aux_1 (tmp3, tmp9) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, tmp7) ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_1, tmp8) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1) ; } /* end of [aux_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 1979(line=79, offs=3) -- 2412(line=101, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize: tmp0 = aux_1 (arg0, 0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 2507(line=110, offs=1) -- 2908(line=137, offs=4) */ ATSstaticdec() ats_bool_type aux_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab_aux_3: tmp12 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp12)->tag != 53) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp11 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp12)->tag != 55) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_2) ; arg0 = tmp13 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp12)->tag != 56) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_2) ; arg0 = tmp14 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp12)->tag != 57) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_2) ; arg0 = tmp15 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp12)->tag != 32) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_7, tmp12, atslab_0) ; arg0 = tmp16 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp12)->tag != 64) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp12, atslab_0) ; arg0 = tmp17 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp12)->tag != 65) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_3, tmp12, atslab_0) ; arg0 = tmp18 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp12)->tag != 66) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, tmp12, atslab_0) ; arg0 = tmp19 ; goto __ats_lab_aux_3 ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp11 = ats_false_bool ; break ; } while (0) ; return (tmp11) ; } /* end of [aux_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 2487(line=107, offs=3) -- 2946(line=141, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_lam (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_lam: tmp10 = aux_3 (arg0) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 3045(line=150, offs=1) -- 3799(line=198, offs=4) */ ATSstaticdec() ats_bool_type aux_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_aux_5: tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp22)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_7, tmp22, atslab_0) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp23) ; if (tmp24) { tmp21 = ats_false_bool ; } else { tmp21 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp22)->tag != 53) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp22)->tag != 55) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp22)->tag != 56) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp22)->tag != 57) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp22)->tag != 2) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp22)->tag != 4) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp22)->tag != 5) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp22)->tag != 7) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp22)->tag != 8) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp22)->tag != 9) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp22)->tag != 11) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp22)->tag != 12) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp21 = ats_true_bool ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp22)->tag != 32) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_7, tmp22, atslab_0) ; arg0 = tmp25 ; goto __ats_lab_aux_5 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp22)->tag != 35) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_8, tmp22, atslab_2) ; tmp21 = auxlst_6 (tmp26) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp22)->tag != 36) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_8, tmp22, atslab_2) ; tmp21 = auxlablst_7 (tmp27) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp22)->tag != 52) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp22, atslab_1) ; arg0 = tmp28 ; goto __ats_lab_aux_5 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp21 = ats_false_bool ; break ; } while (0) ; return (tmp21) ; } /* end of [aux_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 3823(line=201, offs=1) -- 3995(line=211, offs=2) */ ATSstaticdec() ats_bool_type auxlst_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; __ats_lab_auxlst_6: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp29 = ats_true_bool ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp32 = aux_5 (tmp30) ; if (tmp32) { arg0 = tmp31 ; goto __ats_lab_auxlst_6 ; // tail call } else { tmp29 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; return (tmp29) ; } /* end of [auxlst_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 4003(line=214, offs=1) -- 4244(line=227, offs=2) */ ATSstaticdec() ats_bool_type auxlablst_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_bool_type, tmp37) ; __ats_lab_auxlablst_7: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp33 = ats_true_bool ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp35 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_1, tmp34, atslab_1) ; tmp37 = aux_5 (tmp36) ; if (tmp37) { arg0 = tmp35 ; goto __ats_lab_auxlablst_7 ; // tail call } else { tmp33 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; return (tmp33) ; } /* end of [auxlablst_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 3025(line=147, offs=3) -- 4266(line=231, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_varlamcst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_varlamcst: tmp20 = aux_5 (arg0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_varlamcst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_10 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; __ats_lab_loop_10: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp43 = atspre_isucc (arg1) ; arg0 = tmp42 ; arg1 = tmp43 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp41 = arg1 ; break ; } while (0) ; return (tmp41) ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp40) ; __ats_lab_list_length_01410_ats_ptr_type: tmp40 = loop_10 (arg0, 0) ; return (tmp40) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 4449(line=246, offs=3) -- 4534(line=248, offs=50) */ ATSstaticdec() ats_bool_type __ats_fun_11 (ats_int_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_int_type, tmp47) ; __ats_lab___ats_fun_11: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (arg0) ; tmp46 = atspre_eq_int_int (tmp47, env0) ; return (tmp46) ; } /* end of [__ats_fun_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } __ats_fun_11_closure_type ; ats_bool_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_11 (((__ats_fun_11_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_11_closure_init (__ats_fun_11_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_11_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 21113(line=764, offs=6) -- 21259(line=768, offs=6) */ ATSstaticdec() ats_bool_type app_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; __ats_lab_app_13: tmp51 = ((ats_bool_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp51) ; } /* end of [app_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19833(line=716, offs=7) -- 20397(line=733, offs=40) */ ATSstaticdec() ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_loop_15: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp56 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp54, arg3) ; if (tmp56) { tmp57 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp57, atslab_0, tmp54) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp57 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp58 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp55 ; arg1 = arg1 ; arg2 = tmp58 ; arg3 = arg3 ; goto __ats_lab_loop_15 ; // tail call } else { arg0 = tmp55 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_15 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp59 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp59 ; break ; } while (0) ; return /* (tmp53) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19800(line=714, offs=24) -- 20566(line=744, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab_list_filter_funenv_01338_ats_ptr_type: /* ats_ptr_type tmp60 ; */ /* tmp61 = */ loop_15 (arg0, arg1, (&tmp60), arg2) ; tmp52 = tmp60 ; return (tmp52) ; } /* end of [list_filter_funenv_01338_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 20978(line=760, offs=19) -- 21434(line=775, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_vclo_01340_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_list_filter_vclo_01340_ats_ptr_type: tmp50 = list_filter_funenv_01338_ats_ptr_type (arg0, &app_13, arg1) ; return (tmp50) ; } /* end of [list_filter_vclo_01340_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 4351(line=237, offs=3) -- 4793(line=261, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (__ats_fun_11_closure_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity: tmp39 = list_length_01410_ats_ptr_type (arg0) ; tmp44 = atspre_igte (tmp39, 2) ; if (tmp44) { /* ats_ptr_type tmp45 ; */ tmp45 = &(tmp48) ; __ats_fun_11_closure_init (tmp45, arg1) ; // closure initialization tmp49 = list_filter_vclo_01340_ats_ptr_type (arg0, tmp45) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (ats_castfn_mac(ats_ptr_type, tmp49) == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp38 = ats_castfn_mac(ats_ptr_type, tmp49) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (ats_castfn_mac(ats_ptr_type, tmp49) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp38 = arg0 ; break ; } while (0) ; } else { tmp38 = arg0 ; } /* end of [if] */ return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 4858(line=268, offs=1) -- 5098(line=275, offs=27) */ ATSstaticdec() ats_ptr_type d2exp_d2var_lvalize_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; __ats_lab_d2exp_d2var_lvalize_16: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (arg1) ; if (!tmp63) { goto __ats_lab_40_1 ; } tmp62 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp62)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp62, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp62, atslab_1, arg2) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg1) ; if (!tmp64) { goto __ats_lab_41_1 ; } tmp62 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp62)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp62, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp62, atslab_1, arg2) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp62 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp62)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp62, atslab_0, arg0) ; break ; } while (0) ; return (tmp62) ; } /* end of [d2exp_d2var_lvalize_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 5188(line=282, offs=3) -- 5905(line=319, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize: tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp66)->tag != 1) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_0) ; tmp68 = (ats_sum_ptr_type)0 ; tmp65 = d2exp_d2var_lvalize_16 (arg0, tmp67, tmp68) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp66)->tag != 41) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_0) ; tmp70 = (ats_sum_ptr_type)0 ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp65)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_0, tmp69) ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_1, tmp70) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp66)->tag != 38) { goto __ats_lab_48_0 ; } __ats_lab_44_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_3, tmp66, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_3, tmp66, atslab_1) ; tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp71), atslab_d2exp_node) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp73)->tag != 1) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_7, tmp73, atslab_0) ; tmp65 = d2exp_d2var_lvalize_16 (arg0, tmp74, tmp72) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp73)->tag != 41) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_7, tmp73, atslab_0) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp65)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_0, tmp75) ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_1, tmp72) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp65 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp65)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp65, atslab_0, arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp66)->tag != 40) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_0) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp65)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp65, atslab_0, tmp76) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp66)->tag != 44) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_9, tmp66, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_9, tmp66, atslab_1) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_9, tmp66, atslab_2) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_9, tmp66, atslab_3) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp65)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp65, atslab_0, tmp77) ; ats_selptrset_mac(anairiats_sum_9, tmp65, atslab_1, tmp78) ; ats_selptrset_mac(anairiats_sum_9, tmp65, atslab_2, tmp79) ; ats_selptrset_mac(anairiats_sum_9, tmp65, atslab_3, tmp80) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp66)->tag != 32) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_0) ; arg0 = tmp81 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp65 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp65)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp65, atslab_0, arg0) ; break ; } while (0) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6014(line=329, offs=4) -- 6129(line=334, offs=2) */ ATSstaticdec() ats_int_type p1at_arity_18 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_p1at_arity_18: tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp83)->tag != 14) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_1) ; tmp82 = list_length_01410_ats_ptr_type (tmp84) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp82 = 1 ; break ; } while (0) ; return (tmp82) ; } /* end of [p1at_arity_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6213(line=338, offs=7) -- 6350(line=344, offs=46) */ ATSstaticdec() ats_bool_type loop1_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp104) ; tmp104 = loop1_20_0loop2_21 (0, arg0, arg1) ; return (tmp104) ; } /* end of [loop1_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6377(line=346, offs=7) -- 6784(line=359, offs=32) */ ATSstaticdec() ats_bool_type loop2_21 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp105) ; tmp105 = loop1_20_0loop2_21 (1, arg0, arg1, arg2) ; return (tmp105) ; } /* end of [loop2_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6213(line=338, offs=7) -- 6784(line=359, offs=32) */ ATSstaticdec() ats_bool_type loop1_20_0loop2_21 (ats_int_type arg0, ...) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; va_list funarg ; switch (arg0) { case 0: va_start(funarg, arg0) ; tmp86 = va_arg(funarg, ats_ptr_type) ; tmp87 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_loop1_20 ; case 1: va_start(funarg, arg0) ; tmp88 = va_arg(funarg, ats_ptr_type) ; tmp89 = va_arg(funarg, ats_int_type) ; tmp90 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_loop2_21 ; default: exit(1) ; /* deadcode */ } /* end of switch */ ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; __ats_lab_loop1_20: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (tmp87 != (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp91 = ats_true_bool ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (tmp87 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_12, tmp87, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_12, tmp87, atslab_1) ; tmp88 = tmp86 ; tmp89 = tmp92 ; tmp90 = tmp93 ; goto __ats_lab_loop2_21 ; // tail call break ; } while (0) ; return tmp91 ; __ats_lab_loop2_21: tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp88), atslab_d1exp_node) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp95)->tag != 51) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_6, tmp95, atslab_1) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_6, tmp95, atslab_2) ; tmp99 = p1at_arity_18 (tmp96) ; tmp98 = atspre_eq_int_int (tmp89, tmp99) ; if (tmp98) { tmp86 = tmp97 ; tmp87 = tmp90 ; goto __ats_lab_loop1_20 ; // tail call } else { tmp94 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp95)->tag != 53) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_5, tmp95, atslab_2) ; tmp88 = tmp100 ; tmp89 = tmp89 ; tmp90 = tmp90 ; goto __ats_lab_loop2_21 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp95)->tag != 54) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_5, tmp95, atslab_2) ; tmp88 = tmp101 ; tmp89 = tmp89 ; tmp90 = tmp90 ; goto __ats_lab_loop2_21 ; // tail call break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp95)->tag != 55) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_5, tmp95, atslab_2) ; tmp88 = tmp102 ; tmp89 = tmp89 ; tmp90 = tmp90 ; goto __ats_lab_loop2_21 ; // tail call break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp94 = ats_false_bool ; break ; } while (0) ; return tmp94 ; return (tmp103) ; } /* end of [loop1_20_0loop2_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6160(line=336, offs=4) -- 6829(line=363, offs=4) */ ATSstaticdec() ats_bool_type aritest_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp85) ; __ats_lab_aritest_19: tmp85 = loop1_20 (arg0, arg1) ; return (tmp85) ; } /* end of [aritest_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 6901(line=369, offs=3) -- 6977(line=371, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_match_def (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_match_def: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst (arg0) ; tmp106 = aritest_19 (arg1, tmp107) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_match_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7103(line=381, offs=5) -- 7238(line=387, offs=2) */ ATSstaticdec() ats_ptr_type aux_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab_aux_25: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp109 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp109 = aux2_26 (tmp110, tmp111) ; break ; } while (0) ; return (tmp109) ; } /* end of [aux_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7265(line=389, offs=5) -- 7411(line=397, offs=2) */ ATSstaticdec() ats_ptr_type aux2_26 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_aux2_26: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_d2lab_overld) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; arg0 = tmp113 ; arg1 = tmp114 ; goto __ats_lab_aux2_26 ; // tail call break ; } while (0) ; return (tmp112) ; } /* end of [aux2_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7083(line=379, offs=3) -- 7523(line=404, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld: tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp115)->tag != 38) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_3, tmp115, atslab_1) ; tmp108 = aux_25 (tmp116) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp108 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_31 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab_revapp_31: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp132 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp133 = ats_ptrget_mac(ats_ptr_type, tmp132) ; ats_ptrget_mac(ats_ptr_type, tmp132) = arg1 ; tmp134 = arg0 ; arg0 = tmp133 ; arg1 = tmp134 ; goto __ats_lab_revapp_31 ; // tail call break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp131 = arg1 ; break ; } while (0) ; return (tmp131) ; } /* end of [revapp_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp130 = revapp_31 (arg0, arg1) ; return (tmp130) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp135 = (ats_sum_ptr_type)0 ; tmp129 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp135) ; return (tmp129) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7720(line=417, offs=5) -- 8171(line=439, offs=2) */ ATSstaticdec() ats_ptr_type aux_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab_aux_28: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_67_1: tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_loc) ; tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2lab_loc) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp125, tmp126) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_1, arg4) ; tmp128 = list_vt_reverse_01506_ats_ptr_type (tmp127) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab (tmp124, arg0, ats_castfn_mac(ats_ptr_type, tmp128)) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp138, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp138, atslab_1, arg4) ; arg0 = arg0 ; arg1 = arg2 ; arg2 = tmp136 ; arg3 = tmp137 ; arg4 = tmp138 ; goto __ats_lab_aux_28 ; // tail call break ; } while (0) ; return (tmp123) ; } /* end of [aux_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7615(line=410, offs=3) -- 8330(line=450, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root: tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp118)->tag != 38) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7635(line=412, offs=5) -- 7675(line=413, offs=32)") ; } tmp119 = ats_caselptrlab_mac(anairiats_sum_3, tmp118, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_3, tmp118, atslab_1) ; if (tmp120 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_util.dats: 7683(line=415, offs=5) -- 7712(line=415, offs=34)") ; } tmp121 = ats_caselptrlab_mac(anairiats_sum_1, tmp120, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_1, tmp120, atslab_1) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp122 != (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp117 = tmp119 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp122 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_1, tmp122, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_1, tmp122, atslab_1) ; tmp141 = (ats_sum_ptr_type)0 ; tmp117 = aux_28 (tmp119, tmp121, tmp139, tmp140, tmp141) ; break ; } while (0) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_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 () ; #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_dynexp2_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexbuf.cats0000664000175000017500000000370712655455557017572 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LEXBUF_CATS #define POSTIATS_SRC_PATS_LEXBUF_CATS /* ****** ****** */ #include "libats/CATS/linqueue_arr.cats" /* ****** ****** */ #include "pats_reader.cats" /* ****** ****** */ typedef struct { // atslib_linqueue_arr_QUEUE cbuf ; // ats_lint_type base ; ats_int_type base_nrow ; // line number ats_int_type base_ncol ; // line offset // ats_int_type nspace ; // leading space // pats_reader_struct reader ; // for getchar // } pats_lexbuf_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LEXBUF_CATS] /* ****** ****** */ /* end of [pats_lexbuf.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_subst_dats.c0000664000175000017500000061526712655455557021143 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_primlab_loc ; ats_ptr_type atslab_primlab_node ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_12 ; typedef struct { anairiats_rec_12 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_16 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; ats_ptr_type atslab_6 ; ats_ptr_type atslab_7 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_24 ; typedef struct { ats_ptr_type atslab_ibranch_loc ; ats_ptr_type atslab_ibranch_inslst ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_26 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ref_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_copy_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_origin) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_funent_set_fnxlablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrofsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arg_val) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_incwth_dvarsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdecloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundecsloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpcstmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpvarmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dvarsetenv_add_tempenver) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar_subst) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvarlst_subst) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_ref) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_ret) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_origin) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_suffix) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimval_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmprimval_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__patckont_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdec_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__vbindmap_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instr_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_lamfix_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ccompenv_add_fundecsloc_subst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmap_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__funent_funlablst_update) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type auxlst_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_ptr_type revapp_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type prerr_warnccomp_loc_02091_ (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) ; static ats_ptr_type aux_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_22 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_24 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) ; static ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) ; static ats_ptr_type auxinit_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxmain_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxfnxset_46 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 1671(line=52, offs=28) -- 1700(line=52, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_subst")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 2537(line=102, offs=5) -- 3044(line=129, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_auxlst_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp2), atslab_t2mpmarg_arg) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (arg1, tmp4) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (arg0, tmp5) ; tmp7 = auxlst_1 (arg0, arg1, tmp3) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, tmp6) ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_1, tmp7) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1) ; } /* end of [auxlst_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 3119(line=135, offs=3) -- 3339(line=145, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst: tmp8 = auxlst_1 (arg0, arg1, arg2) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 3446(line=153, offs=3) -- 3598(line=160, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_tsubst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_tsubst: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub (arg1) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst (arg0, tmp10, arg2) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp10) ; tmp9 = tmp11 ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_tsubst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 4285(line=195, offs=3) -- 4737(line=212, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_bool_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_bool_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar_subst: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg1) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg0, tmp15) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp14, tmp16) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref (arg1) ; if (tmp19) { /* tmp18 = */ patsopt_tmpvar_set_ref (tmp17, 1) ; } else { /* empty */ } /* end of [if] */ tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret (arg1) ; if (tmp21) { /* tmp20 = */ patsopt_tmpvar_set_ret (tmp17, 1) ; } else { /* empty */ } /* end of [if] */ tmp23 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp23, atslab_0, arg1) ; /* tmp22 = */ patsopt_tmpvar_set_origin (tmp17, tmp23) ; /* tmp24 = */ patsopt_tmpvar_set_suffix (tmp17, arg2) ; tmp13 = tmp17 ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 4868(line=222, offs=5) -- 5153(line=239, offs=4) */ ATSstaticdec() ats_ptr_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_loop_6: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar_subst (arg0, tmp27, arg2) ; tmp30 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp30, atslab_0, tmp29) ; ats_selptrset_mac(anairiats_sum_1, tmp30, atslab_1, arg3) ; arg0 = arg0 ; arg1 = tmp28 ; arg2 = arg2 ; arg3 = tmp30 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp26 = arg3 ; break ; } while (0) ; return (tmp26) ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_revapp_9: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp37 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp38 = ats_ptrget_mac(ats_ptr_type, tmp37) ; ats_ptrget_mac(ats_ptr_type, tmp37) = arg1 ; tmp39 = arg0 ; arg0 = tmp38 ; arg1 = tmp39 ; goto __ats_lab_revapp_9 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp36 = arg1 ; break ; } while (0) ; return (tmp36) ; } /* end of [revapp_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp35 = revapp_9 (arg0, arg1) ; return (tmp35) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp40 = (ats_sum_ptr_type)0 ; tmp34 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp40) ; return (tmp34) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 4836(line=220, offs=3) -- 5304(line=247, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvarlst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvarlst_subst: tmp32 = (ats_sum_ptr_type)0 ; tmp31 = loop_6 (arg0, arg1, arg2, tmp32) ; tmp33 = list_vt_reverse_01506_ats_ptr_type (tmp31) ; tmp25 = ats_castfn_mac(ats_ptr_type, tmp33) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvarlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 8117(line=389, offs=3) -- 8481(line=405, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (tmp42) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp42) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg0, tmp45) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make (tmp44, tmp46) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst (arg0, tmp43) ; tmp41 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp41, atslab_0, tmp47) ; ats_selptrset_mac(anairiats_sum_1, tmp41, atslab_1, tmp48) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp41 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 8556(line=411, offs=3) -- 9136(line=435, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg1) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg0, tmp52) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (arg1) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (arg1) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg1) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () ; tmp60 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp60, atslab_0, tmp54) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (tmp50, tmp51, tmp53, tmp60, tmp55, tmp56, tmp57, tmp58) ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp62, atslab_0, arg1) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_origin (tmp59, tmp62) ; tmp49 = tmp59 ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 9273(line=445, offs=5) -- 9551(line=460, offs=4) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; __ats_lab_loop_13: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin (tmp65) ; if (tmp67 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 9382(line=453, offs=9) -- 9415(line=453, offs=42)") ; } tmp68 = ats_caselptrlab_mac(anairiats_sum_3, tmp67, atslab_0) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_insert (arg1, tmp68, tmp65) ; arg0 = tmp66 ; arg1 = arg1 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp64) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 9255(line=443, offs=13) -- 9652(line=468, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmap_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmap_make: /* ats_ptr_type tmp70 ; */ tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_nil () ; /* tmp71 = */ loop_13 (arg0, (&tmp70)) ; tmp63 = tmp70 ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmap_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 3267(line=131, offs=21) -- 3332(line=134, offs=2) */ ATSstaticdec() ats_void_type prerr_warnccomp_loc_02091_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab_prerr_warnccomp_loc_02091_: /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp77 = */ atspre_prerr_string (ATSstrcst(": warning(ccomp)")) ; return /* (tmp77) */ ; } /* end of [prerr_warnccomp_loc_02091_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 9780(line=477, offs=12) -- 10293(line=506, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var: tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_search (arg0, arg1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp73 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_3, tmp73, atslab_0) ; ATS_FREE(tmp73) ; tmp72 = tmp74 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp73 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg1) ; /* tmp76 = */ prerr_warnccomp_loc_02091_ (tmp75) ; /* tmp79 = */ atspre_prerr_string (ATSstrcst(": referencing toplevel code in a template may be problematic.")) ; /* tmp80 = */ atspre_prerr_newline () ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_copy_err (arg1) ; break ; } while (0) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; __ats_lab_prerr_interror_loc_02080_: /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp93 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp94 = */ prerr_FILENAME_02078_ () ; /* tmp91 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp91) */ ; } /* end of [prerr_interror_loc_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 11305(line=561, offs=5) -- 12503(line=607, offs=4) */ ATSstaticdec() ats_ptr_type aux_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; __ats_lab_aux_17: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (arg1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp83 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_12_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_3, tmp83, atslab_0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall (arg0, tmp84) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp85 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_13_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_3, tmp85, atslab_0) ; ATS_FREE(tmp85) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp86), atslab_primval_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp87)->tag != 29) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_5, tmp87, atslab_0) ; tmp82 = tmp88 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp87)->tag != 30) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_6, tmp87, atslab_1) ; tmp82 = tmp89 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp82 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp85 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (tmp84) ; /* tmp90 = */ prerr_interror_loc_02080_ (tmp95) ; /* tmp96 = */ atspre_prerr_string (ATSstrcst(": unbound variable [")) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (tmp84) ; /* tmp98 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp99 = */ atspre_prerr_string (ATSstrcst(": appearance is likely during compilation of template instances.")) ; /* tmp100 = */ atspre_prerr_newline () ; tmp82 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (tmp83 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp82 = arg1 ; break ; } while (0) ; return (tmp82) ; } /* end of [aux_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 12527(line=609, offs=5) -- 12754(line=622, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_auxlst_19: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp104 = aux_17 (arg0, tmp102) ; tmp105 = auxlst_19 (arg0, tmp103) ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp101, atslab_0, tmp104) ; ats_selptrset_mac(anairiats_sum_1, tmp101, atslab_1, tmp105) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp101 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp101) ; } /* end of [auxlst_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 11198(line=554, offs=25) -- 12803(line=626, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__funent_funlablst_update (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__funent_funlablst_update: tmp81 = auxlst_19 (arg0, arg1) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__funent_funlablst_update] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_22 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_loop_22: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp137 ; goto __ats_lab_loop_22 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: break ; } while (0) ; return /* (tmp136) */ ; } /* end of [loop_22] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp135) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp135 = */ loop_22 (arg0) ; return /* (tmp135) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_24 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_loop_24: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp148 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp148 ; arg1 = arg1 ; goto __ats_lab_loop_24 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp147) */ ; } /* end of [loop_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp149) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp146 ; */ tmp146 = arg0 ; /* tmp149 = */ loop_24 ((&tmp146), arg1) ; tmp145 = tmp146 ; return (tmp145) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 12887(line=632, offs=3) -- 15504(line=737, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc (arg3) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg3) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg (arg3) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg (arg3) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst (arg1, tmp110) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (arg3) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap (arg3) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst (arg3) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst (arg3) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvarlst_subst (arg1, tmp115, arg4) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmap_make (tmp116) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (tmp117, tmp112) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (tmp108) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp119 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_3, tmp119, atslab_0) ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp122)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_1, tmp111) ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_2, arg2) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpcstmat (arg0, tmp122) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp119 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: break ; } while (0) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (tmp108) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp123 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_3, tmp123, atslab_0) ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp126)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp126, atslab_0, tmp125) ; ats_selptrset_mac(anairiats_sum_7, tmp126, atslab_1, tmp111) ; ats_selptrset_mac(anairiats_sum_7, tmp126, atslab_2, arg2) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpvarmat (arg0, tmp126) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp123 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: break ; } while (0) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (arg2) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc () ; /* tmp129 = ats_selsin_mac(tmp128, atslab_1) */ ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst (arg3) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst_subst (arg1, tmp130) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv (arg0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_incwth_dvarsetenv (arg0, ats_castfn_mac(ats_ptr_type, tmp131)) ; /* tmp134 = */ list_vt_free_01499_ats_ptr_type (tmp131) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, tmp117, arg1, tmp114, arg4) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv (arg0) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free (tmp139) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap (arg0, tmp127, tmp113, tmp140) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst (arg3) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__funent_funlablst_update (arg0, tmp142) ; tmp144 = list_vt_append_01504_ats_ptr_type (tmp143, tmp141) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv (arg0) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dvarsetenv_add_tempenver (arg0, tmp150) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free (tmp151) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec () ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__vbindmap_subst (arg0, tmp117, arg1, tmp113, arg4) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmap_vt_free (tmp117) ; tmp156 = (ats_sum_ptr_type)0 ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make (tmp107, arg2, tmp109, tmp110, tmp156, tmp118, ats_castfn_mac(ats_ptr_type, tmp144), ats_castfn_mac(ats_ptr_type, tmp152), tmp154, tmp138, tmp116) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 15576(line=743, offs=1) -- 19926(line=919, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_int_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_int_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_bool_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_int_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst: tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_primval_loc) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_primval_type) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp159) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_primval_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp161)->tag != 0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp162) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp (tmp158, tmp160, tmp163) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp161)->tag != 1) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp164) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref (tmp158, tmp160, tmp165) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp161)->tag != 2) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg (tmp158, tmp160, tmp166) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp161)->tag != 3) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref (tmp158, tmp160, tmp167) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp161)->tag != 5) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv (tmp158, tmp160, tmp168) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp161)->tag != 18) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top (tmp158, tmp160) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp161)->tag != 19) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (tmp158, tmp160) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp161)->tag != 20) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval (tmp158, tmp160, tmp169) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp161)->tag != 21) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp171, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn (tmp158, tmp160, tmp170, tmp172) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp161)->tag != 16) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp173) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof (tmp158, tmp160, tmp174) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp161)->tag != 22) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp175, arg4) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp176) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (tmp158, tmp160, tmp178, tmp179, tmp177) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp161)->tag != 23) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp180, arg4) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp181) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst (arg0, arg1, arg2, tmp182, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select (tmp158, tmp160, tmp183, tmp184, tmp185) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp161)->tag != 24) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp186, arg4) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp187) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst (arg0, arg1, arg2, tmp188, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2 (tmp158, tmp160, tmp189, tmp190, tmp191) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp161)->tag != 25) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp192, arg4) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp193) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst (arg0, arg1, arg2, tmp194, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (tmp158, tmp160, tmp195, tmp196, tmp197) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp161)->tag != 26) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp198, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp158, tmp160, tmp199) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp161)->tag != 27) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp200, arg4) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp201) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst (arg0, arg1, arg2, tmp202, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrofsel (tmp158, tmp160, tmp203, tmp204, tmp205) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp161)->tag != 28) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_10, tmp161, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_10, tmp161, atslab_1) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_10, tmp161, atslab_2) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp208, arg4) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg (tmp158, tmp160, tmp206, tmp207, tmp209) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp161)->tag != 29) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab (tmp158, tmp160, tmp210) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp161)->tag != 30) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_6, tmp161, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_6, tmp161, atslab_1) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab (tmp158, tmp160, tmp211, tmp212) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp161)->tag != 31) { goto __ats_lab_51_0 ; } __ats_lab_48_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall (arg0, tmp213) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp215 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_3, tmp215, atslab_0) ; ATS_FREE(tmp215) ; tmp157 = tmp216 ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp215 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab (tmp158, tmp160, tmp213, tmp214) ; break ; } while (0) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp161)->tag != 32) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_lamfix_subst (arg0, arg2, arg3) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp161)->tag != 33) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth (arg0) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get () ; tmp221 = atspre_lt_int_int (tmp219, tmp220) ; if (tmp221) { tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst (tmp158, arg2, tmp218) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match (arg0, tmp217, tmp222) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpcstmat (arg0, tmp158, tmp160, tmp217, tmp222, tmp223) ; } else { tmp157 = arg3 ; } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp161)->tag != 34) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth (arg0) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get () ; tmp228 = atspre_lt_int_int (tmp226, tmp227) ; if (tmp228) { tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__t2mpmarglst_subst (tmp158, arg2, tmp225) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match (arg0, tmp224, tmp229) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_tmpvarmat (arg0, tmp158, tmp160, tmp224, tmp229, tmp230) ; } else { tmp157 = arg3 ; } /* end of [if] */ break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: __ats_lab_54_1: tmp157 = arg3 ; break ; } while (0) ; return (tmp157) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 20002(line=925, offs=1) -- 20301(line=940, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp232, arg4) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp233, arg4) ; tmp231 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp231, atslab_0, tmp234) ; ats_selptrset_mac(anairiats_sum_1, tmp231, atslab_1, tmp235) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp231 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp231) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 20377(line=946, offs=1) -- 20680(line=963, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg3), atslab_primlab_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp237)->tag != 0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp236 = arg3 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (((ats_sum_ptr_type)tmp237)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_5, tmp237, atslab_0) ; tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg3), atslab_primlab_loc) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp238, arg4) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind (tmp239, tmp240) ; break ; } while (0) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 20759(line=969, offs=1) -- 21058(line=984, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp243 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlab_subst (arg0, arg1, arg2, tmp242, arg4) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst (arg0, arg1, arg2, tmp243, arg4) ; tmp241 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp241, atslab_0, tmp244) ; ats_selptrset_mac(anairiats_sum_1, tmp241, atslab_1, tmp245) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp241 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primlablst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 21137(line=990, offs=1) -- 21293(line=999, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimval_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimval_subst: tmp247 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp248, arg4) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp246, atslab_0, tmp247) ; ats_selptrset_mac(anairiats_sum_1, tmp246, atslab_1, tmp249) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimval_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 21375(line=1005, offs=1) -- 21690(line=1020, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimval_subst (arg0, arg1, arg2, tmp251, arg4) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst (arg0, arg1, arg2, tmp252, arg4) ; tmp250 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp250, atslab_0, tmp253) ; ats_selptrset_mac(anairiats_sum_1, tmp250, atslab_1, tmp254) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp250 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 21768(line=1026, offs=1) -- 22035(line=1039, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmprimval_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmprimval_subst: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg3)->tag != 0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp256 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ; tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp256, arg4) ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp255)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp255, atslab_0, tmp257) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (((ats_sum_ptr_type)arg3)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp258 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp258) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp259, arg4) ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp255)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp255, atslab_0, tmp260) ; ats_selptrset_mac(anairiats_sum_9, tmp255, atslab_1, tmp261) ; break ; } while (0) ; return (tmp255) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmprimval_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 22112(line=1045, offs=1) -- 22500(line=1062, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (anairiats_rec_12, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (anairiats_rec_12, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp262 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_1) ; tmp267 = ats_select_mac(tmp263, atslab_0) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmprimval_subst (arg0, arg1, arg2, tmp267, arg4) ; tmp269 = ats_select_mac(tmp263, atslab_1) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp269) ; tmp265.atslab_0 = tmp266 ; tmp265.atslab_1 = tmp268 ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst (arg0, arg1, arg2, tmp264, arg4) ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp262, atslab_0, tmp265) ; ats_selptrset_mac(anairiats_sum_13, tmp262, atslab_1, tmp270) ; break ; } while (0) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 22576(line=1068, offs=1) -- 23122(line=1093, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__patckont_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__patckont_subst: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg3)->tag != 3) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpmovlst_subst (arg0, arg1, arg2, tmp273, arg4) ; tmp271 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp271)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_0, tmp272) ; ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_1, tmp274) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg3)->tag != 6) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp275) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp276, arg4) ; tmp271 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp271)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_0, tmp277) ; ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_1, tmp278) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp271 = arg3 ; break ; } while (0) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__patckont_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 23196(line=1099, offs=1) -- 25501(line=1198, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdec_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; // ATSlocal_void (tmp320) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdec_subst: tmp280 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg3), atslab_primdec_loc) ; tmp281 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg3), atslab_primdec_node) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp281)->tag != 0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp281)->tag != 1) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_5, tmp281, atslab_0) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp282, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list (tmp280, tmp283) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp281)->tag != 2) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp281)->tag != 3) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_0) ; tmp285 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_1) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst (arg0, arg1, arg2, tmp285, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar (tmp280, tmp284, tmp286) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp281)->tag != 4) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp281)->tag != 5) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp281)->tag != 10) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp287 = ats_caselptrlab_mac(anairiats_sum_5, tmp281, atslab_0) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdecloc (arg0, arg2, tmp287) ; tmp279 = arg3 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp281)->tag != 6) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_0) ; tmp290 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_1) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_2) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundecsloc (arg0, arg2, tmp289, tmp290, tmp291) ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ccompenv_add_fundecsloc_subst (arg0, arg2, tmp289, tmp290, tmp291) ; tmp279 = arg3 ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp281)->tag != 7) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_1) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_2) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst (arg0, arg1, arg2, tmp296, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs (tmp280, tmp294, tmp295, tmp297) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp281)->tag != 8) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_0) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_1) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_7, tmp281, atslab_2) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst (arg0, arg1, arg2, tmp300, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec (tmp280, tmp298, tmp299, tmp301) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp281)->tag != 9) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_0) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_1) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst (arg0, arg1, arg2, tmp303, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs (tmp280, tmp302, tmp304) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp281)->tag != 11) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_6, tmp281, atslab_0) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_6, tmp281, atslab_1) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp306, arg4) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include (tmp280, tmp305, tmp307) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp281)->tag != 12) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_5, tmp281, atslab_0) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp308), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp309)->tag != 15) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 24858(line=1173, offs=9) -- 24916(line=1174, offs=48)") ; } tmp310 = ats_caselptrlab_mac(anairiats_sum_16, tmp309, atslab_3) ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload (arg0, tmp310) ; tmp279 = arg3 ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp281)->tag != 13) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp281)->tag != 14) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp279 = arg3 ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (((ats_sum_ptr_type)tmp281)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp312 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_0) ; tmp313 = ats_caselptrlab_mac(anairiats_sum_9, tmp281, atslab_1) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp315 = ats_selsin_mac(tmp314, atslab_1) */ ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp312, arg4) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp318 = ats_selsin_mac(tmp317, atslab_1) */ ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp313, arg4) ; /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin (arg0) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local (tmp280, tmp316, tmp319) ; break ; } while (0) ; return (tmp279) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdec_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 25577(line=1204, offs=1) -- 25876(line=1219, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp323 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdec_subst (arg0, arg1, arg2, tmp322, arg4) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp323, arg4) ; tmp321 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp321, atslab_0, tmp324) ; ats_selptrset_mac(anairiats_sum_1, tmp321, atslab_1, tmp325) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp321 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp321) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 25989(line=1228, offs=5) -- 26382(line=1246, offs=4) */ ATSstaticdec() ats_void_type auxlst_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp326) ; ATSlocal (anairiats_rec_12, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_bool_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; __ats_lab_auxlst_36: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp327 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp328 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp330 = ats_select_mac(tmp327, atslab_1) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp330, arg4) ; tmp332 = ats_select_mac(tmp327, atslab_0) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert (arg5, tmp332, tmp329) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp328 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_auxlst_36 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: break ; } while (0) ; return /* (tmp326) */ ; } /* end of [auxlst_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 26455(line=1252, offs=1) -- 26630(line=1260, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__vbindmap_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; // ATSlocal_void (tmp336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__vbindmap_subst: /* ats_ptr_type tmp334 ; */ tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil () ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize (arg3) ; /* tmp336 = */ auxlst_36 (arg0, arg1, arg2, tmp335, arg4, (&tmp334)) ; tmp333 = tmp334 ; return (tmp333) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__vbindmap_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 26728(line=1268, offs=1) -- 36285(line=1653, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instr_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_int_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_int_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_int_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_int_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_int_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; // ATSlocal_void (tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; // ATSlocal_void (tmp529) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instr_subst: tmp338 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg3), atslab_instr_loc) ; tmp339 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg3), atslab_instr_node) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp339)->tag != 0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp337 = arg3 ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp339)->tag != 3) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp340 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp340) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp341, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp338, tmp342, tmp343) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp339)->tag != 4) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp344) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp345, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val (tmp338, tmp346, tmp347) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp339)->tag != 5) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_6, tmp339, atslab_0) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_6, tmp339, atslab_1) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp349, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arg_val (tmp338, tmp348, tmp350) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp339)->tag != 6) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_0) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_1) ; tmp353 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_2) ; tmp354 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_3) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp351) ; tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp352, arg4) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp353) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp354, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall (tmp338, tmp355, tmp356, tmp357, tmp358) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp339)->tag != 7) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp359 = ats_caselptrlab_mac(anairiats_sum_19, tmp339, atslab_0) ; tmp360 = ats_caselptrlab_mac(anairiats_sum_19, tmp339, atslab_1) ; tmp361 = ats_caselptrlab_mac(anairiats_sum_19, tmp339, atslab_2) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_19, tmp339, atslab_3) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_19, tmp339, atslab_4) ; tmp364 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp359) ; /* tmp365 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal (tmp364) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp362) ; tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp363, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (tmp338, tmp364, tmp360, tmp361, tmp366, tmp367) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp339)->tag != 8) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp370 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp368) ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp370, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall (tmp338, tmp371, tmp369, tmp372) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp339)->tag != 9) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp373 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_0) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_1) ; tmp375 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_2) ; tmp376 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_3) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp373) ; tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp374, arg4) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primvalist_subst (arg0, arg1, arg2, tmp376, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall (tmp338, tmp377, tmp378, tmp375, tmp379) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp339)->tag != 10) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp380 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp381 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp382 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp380, arg4) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp381, arg4) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp382, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond (tmp338, tmp383, tmp384, tmp385) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp339)->tag != 11) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_5, tmp339, atslab_0) ; tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp386, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon (tmp338, tmp387) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp339)->tag != 12) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_1) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_2) ; tmp391 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_3) ; tmp392 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_4) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_5) ; tmp394 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_6) ; tmp395 = ats_caselptrlab_mac(anairiats_sum_20, tmp339, atslab_7) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp391, arg4) ; tmp397 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp392, arg4) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp393, arg4) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp394, arg4) ; tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp395, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop (tmp338, tmp388, tmp389, tmp390, tmp396, tmp397, tmp398, tmp399, tmp400) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp339)->tag != 13) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp337 = arg3 ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp339)->tag != 14) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp401 = ats_caselptrlab_mac(anairiats_sum_5, tmp339, atslab_0) ; tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst (arg0, arg1, arg2, tmp401, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof (tmp338, tmp402) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp339)->tag != 15) { goto __ats_lab_104_0 ; } __ats_lab_103_1: /* tmp403 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp337 = arg3 ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp339)->tag != 16) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp404 = ats_caselptrlab_mac(anairiats_sum_5, tmp339, atslab_0) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp406 = ats_selsin_mac(tmp405, atslab_1) */ ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primdeclst_subst (arg0, arg1, arg2, tmp404, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush (tmp338, tmp407) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp339)->tag != 17) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp408 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_0) ; tmp409 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_1) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_2) ; tmp411 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_3) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp408) ; tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp410) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst (arg0, arg1, arg2, tmp411, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con (tmp338, tmp412, tmp409, tmp413, tmp414) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp339)->tag != 18) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp416 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp415) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp416, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ref (tmp338, tmp417, tmp418) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp339)->tag != 19) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp419 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp421 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp419) ; tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp421) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst (arg0, arg1, arg2, tmp420, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec (tmp338, tmp422, tmp424, tmp423) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp339)->tag != 20) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp425 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp427 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp425) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp427) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__labprimvalist_subst (arg0, arg1, arg2, tmp426, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec (tmp338, tmp428, tmp430, tmp429) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp339)->tag != 21) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp431 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp431, arg4) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__patckont_subst (arg0, arg1, arg2, tmp433, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp338, tmp434, tmp432, tmp435) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp339)->tag != 23) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_0) ; tmp437 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_1) ; tmp438 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_2) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_18, tmp339, atslab_3) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp436, arg4) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp437) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp439, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs (tmp338, tmp440, tmp441, tmp438, tmp442) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp339)->tag != 24) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp443 = ats_caselptrlab_mac(anairiats_sum_21, tmp339, atslab_0) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_21, tmp339, atslab_1) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_21, tmp339, atslab_2) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_21, tmp339, atslab_3) ; tmp447 = ats_caselptrlab_mac(anairiats_sum_21, tmp339, atslab_4) ; tmp448 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp443) ; tmp449 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp444, arg4) ; tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp445) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp447, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs (tmp338, tmp448, tmp449, tmp450, tmp446, tmp451) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp339)->tag != 26) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp452 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_0) ; tmp453 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_1) ; tmp454 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_2) ; tmp455 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_3) ; tmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp452) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp454) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp455, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay (tmp338, tmp456, tmp453, tmp457, tmp458) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp339)->tag != 27) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp459 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_1) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_2) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_22, tmp339, atslab_3) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp459) ; tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp461) ; tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp462, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval (tmp338, tmp463, tmp460, tmp464, tmp465) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp339)->tag != 25) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp466) ; tmp469 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_subst (arg0, arg1, arg2, tmp467, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise (tmp338, tmp468, tmp469) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp339)->tag != 28) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp470 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp470) ; tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp471, arg4) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst (arg0, arg1, arg2, tmp472, arg4) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith (tmp338, tmp473, tmp474, tmp475) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp339)->tag != 29) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_5, tmp339, atslab_0) ; tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp476) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil (tmp338, tmp477) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp339)->tag != 30) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_5, tmp339, atslab_0) ; tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp478) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil (tmp338, tmp479) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp339)->tag != 31) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp480 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp480) ; tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp481) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons (tmp338, tmp482, tmp483) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp339)->tag != 32) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp484 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp485 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp486 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp487 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp484) ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp485) ; tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp486) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead (tmp338, tmp487, tmp488, tmp489) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp339)->tag != 33) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_0) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_1) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_7, tmp339, atslab_2) ; tmp493 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp490) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp491) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp492) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail (tmp338, tmp493, tmp494, tmp495) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp339)->tag != 34) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp496 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp496) ; tmp499 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp497) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr (tmp338, tmp498, tmp499) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp339)->tag != 35) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp500 = ats_caselptrlab_mac(anairiats_sum_23, tmp339, atslab_0) ; tmp501 = ats_caselptrlab_mac(anairiats_sum_23, tmp339, atslab_1) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp500) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz (tmp338, tmp502, tmp501) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp339)->tag != 36) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp503 = ats_caselptrlab_mac(anairiats_sum_24, tmp339, atslab_0) ; tmp504 = ats_caselptrlab_mac(anairiats_sum_24, tmp339, atslab_1) ; tmp505 = ats_caselptrlab_mac(anairiats_sum_24, tmp339, atslab_2) ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp503) ; tmp507 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp504) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr (tmp338, tmp506, tmp507, tmp505) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp339)->tag != 37) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp508 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp509 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp508) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp509) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc (tmp338, tmp510, tmp511) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp339)->tag != 38) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp512 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp513 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp512) ; tmp515 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (arg2, tmp513) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrdec (tmp338, tmp514, tmp515) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp339)->tag != 39) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp516 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_0) ; tmp517 = ats_caselptrlab_mac(anairiats_sum_9, tmp339, atslab_1) ; tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy (tmp517) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst (arg2, tmp517) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix (tmp519, tmp518) ; /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp519) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp519) ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp517) ; if (tmp523 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 35823(line=1639, offs=9) -- 35860(line=1639, offs=46)") ; } tmp524 = ats_caselptrlab_mac(anairiats_sum_3, tmp523, atslab_0) ; tmp525 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst (arg0, arg2, tmp519, tmp524, tmp518) ; tmp527 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp527, atslab_0, tmp525) ; /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp519, tmp527) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__tmpvar2var (arg1, tmp516) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_set_tyclo (tmp528, ats_castfn_mac(ats_ptr_type, tmp519)) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize (tmp338, tmp528, tmp519) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: tmp337 = arg3 ; break ; } while (0) ; return (tmp337) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instr_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 36399(line=1661, offs=5) -- 36919(line=1687, offs=4) */ ATSstaticdec() ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; __ats_lab_loop_40: do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instr_subst (arg0, arg1, arg2, tmp532, arg4) ; tmp535 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp535, atslab_0, tmp534) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp535 ; if (ats_ptrget_mac(ats_ptr_type, arg5) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 36717(line=1679, offs=9) -- 36745(line=1679, offs=37)") ; } tmp536 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg5), atslab_1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp533 ; arg4 = arg4 ; arg5 = tmp536 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp537 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp537 ; break ; } while (0) ; return /* (tmp531) */ ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 36359(line=1659, offs=3) -- 37020(line=1694, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp538) ; // ATSlocal_void (tmp539) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst: /* ats_ptr_type tmp538 ; */ /* tmp539 = */ loop_40 (arg0, arg1, arg2, arg3, arg4, (&tmp538)) ; tmp530 = tmp538 ; return (tmp530) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 37099(line=1700, offs=3) -- 37500(line=1716, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst: do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp541 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp542 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp543 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp541), atslab_ibranch_loc) ; tmp544 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp541), atslab_ibranch_inslst) ; tmp545 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, tmp544, arg4) ; tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make (tmp543, tmp545) ; tmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst (arg0, arg1, arg2, tmp542, arg4) ; tmp540 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp540, atslab_0, tmp546) ; ats_selptrset_mac(anairiats_sum_1, tmp540, atslab_1, tmp547) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: tmp540 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp540) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ibranchlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 37583(line=1722, offs=3) -- 37745(line=1727, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst: tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst_subst (arg0, arg1, arg2, ats_castfn_mac(ats_ptr_type, arg3), arg4) ; tmp548 = ats_castfn_mac(ats_ptr_type, tmp549) ; return (tmp548) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__instrlst0_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 37829(line=1733, offs=3) -- 38523(line=1761, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_lamfix_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_int_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_int_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp563) ; // ATSlocal_void (tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; // ATSlocal_void (tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_lamfix_subst: tmp551 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg2), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp551)->tag != 32) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 37859(line=1735, offs=5) -- 37901(line=1736, offs=33)") ; } tmp552 = ats_caselptrlab_mac(anairiats_sum_6, tmp551, atslab_0) ; tmp553 = ats_caselptrlab_mac(anairiats_sum_6, tmp551, atslab_1) ; tmp554 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp553), atslab_primval_loc) ; tmp555 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp553), atslab_primval_type) ; tmp557 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp553), atslab_primval_node) ; do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp557)->tag != 29) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp558 = ats_caselptrlab_mac(anairiats_sum_5, tmp557, atslab_0) ; tmp556 = tmp558 ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp557)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 37969(line=1742, offs=1) -- 38046(line=1743, offs=52)") ; } __ats_lab_133_1: tmp559 = ats_caselptrlab_mac(anairiats_sum_6, tmp557, atslab_1) ; tmp556 = tmp559 ; break ; } while (0) ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy (tmp556) ; tmp561 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst (arg1, tmp556) ; /* tmp562 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix (tmp561, tmp560) ; /* tmp563 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp561) ; /* tmp564 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp561) ; tmp565 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp556) ; if (tmp565 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 38278(line=1753, offs=5) -- 38314(line=1753, offs=41)") ; } tmp566 = ats_caselptrlab_mac(anairiats_sum_3, tmp565, atslab_0) ; tmp567 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst (arg0, arg1, tmp561, tmp566, tmp560) ; tmp569 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp569, atslab_0, tmp567) ; /* tmp568 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp561, tmp569) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp554, tmp561) ; tmp550 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (tmp552, tmp570) ; return (tmp550) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__primval_lamfix_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 38590(line=1768, offs=1) -- 39474(line=1805, offs=4) */ ATSstaticdec() ats_ptr_type auxinit_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_int_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; // ATSlocal_void (tmp578) ; // ATSlocal_void (tmp579) ; ATSlocal (ats_bool_type, tmp580) ; // ATSlocal_void (tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; // ATSlocal_void (tmp585) ; ATSlocal (ats_int_type, tmp586) ; ATSlocal (ats_bool_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; __ats_lab_auxinit_44: do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp572 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp573 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp574 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt (tmp572) ; if (tmp574 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 38766(line=1779, offs=9) -- 38812(line=1780, offs=35)") ; } tmp575 = ats_caselptrlab_mac(anairiats_sum_3, tmp574, atslab_0) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy (tmp575) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_subst (arg1, tmp575) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix (tmp577, tmp576) ; tmp580 = atspre_lte_int_int (arg3, 1) ; if (tmp580) { /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp577) ; } else { /* empty */ } /* end of [if] */ /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp577) ; tmp582 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp572), atslab_hifundec_loc) ; tmp583 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp572), atslab_hifundec_var) ; tmp584 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp582, tmp577) ; /* tmp585 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp583, tmp584) ; tmp587 = atspre_gte_int_int (arg3, 1) ; if (tmp587) { tmp586 = atspre_add_int_int (arg3, 1) ; } else { tmp586 = arg3 ; } /* end of [if] */ tmp588 = auxinit_44 (arg0, arg1, tmp573, tmp586) ; tmp571 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp571, atslab_0, tmp577) ; ats_selptrset_mac(anairiats_sum_1, tmp571, atslab_1, tmp588) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp571 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp571) ; } /* end of [auxinit_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 39500(line=1808, offs=1) -- 40104(line=1831, offs=4) */ ATSstaticdec() ats_void_type auxmain_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_int_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; // ATSlocal_void (tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; __ats_lab_auxmain_45: do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp590 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp591 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp592 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp593 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin (tmp591) ; if (tmp593 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 39714(line=1819, offs=9) -- 39749(line=1819, offs=44)") ; } tmp594 = ats_caselptrlab_mac(anairiats_sum_3, tmp593, atslab_0) ; tmp595 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp594) ; if (tmp595 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 39758(line=1820, offs=9) -- 39794(line=1820, offs=45)") ; } tmp596 = ats_caselptrlab_mac(anairiats_sum_3, tmp595, atslab_0) ; tmp597 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix (tmp591) ; tmp598 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_subst (arg0, arg1, tmp591, tmp596, tmp597) ; tmp600 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp600, atslab_0, tmp598) ; /* tmp599 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp591, tmp600) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp590 ; arg3 = tmp592 ; goto __ats_lab_auxmain_45 ; // tail call break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } break ; } while (0) ; return /* (tmp589) */ ; } /* end of [auxmain_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 40130(line=1833, offs=5) -- 40315(line=1843, offs=4) */ ATSstaticdec() ats_void_type auxfnxset_46 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; __ats_lab_auxfnxset_46: if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 40183(line=1838, offs=7) -- 40207(line=1838, offs=31)") ; } tmp602 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp603 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp602) ; if (tmp603 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 40214(line=1839, offs=7) -- 40251(line=1839, offs=44)") ; } tmp604 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp601 = */ patsopt_funent_set_fnxlablst (tmp604, arg0) ; return /* (tmp601) */ ; } /* end of [auxfnxset_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_subst.dats: 40405(line=1849, offs=3) -- 40935(line=1873, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ccompenv_add_fundecsloc_subst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp605) ; ATSlocal (ats_int_type, tmp606) ; ATSlocal (ats_bool_type, tmp607) ; ATSlocal (ats_bool_type, tmp608) ; ATSlocal (ats_int_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; // ATSlocal_void (tmp611) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ccompenv_add_fundecsloc_subst: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_139_1: tmp606 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get () ; tmp608 = atspre_gt_int_int (tmp606, 0) ; if (tmp608) { tmp607 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec (arg2) ; } else { tmp607 = ats_false_bool ; } /* end of [if] */ if (tmp607) { tmp609 = 1 ; } else { tmp609 = 0 ; } /* end of [if] */ tmp610 = auxinit_44 (arg0, arg1, arg4, tmp609) ; /* tmp611 = */ auxmain_45 (arg0, arg1, arg4, tmp610) ; if (tmp607) { /* tmp605 = */ auxfnxset_46 (tmp610) ; } else { /* empty */ } /* end of [if] */ break ; } while (0) ; return /* (tmp605) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__ccompenv_add_fundecsloc_subst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_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 () ; #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_ccomp_subst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_intinf_dats.c0000664000175000017500000022152212655455557020074 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/gmp.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_is_atend) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, atslib_mpz_init_set_str_exn) (ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atslib_mpz_neg1) (ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_add2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_sub2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_mul2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_fprint_mpz) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs) (ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_intinf_initialize) () ; /* 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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__sasp__intinfset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__sasp__intinf_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type cmp_26 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type cmp_26_closure_make () ; static ats_int_type cmp_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_sing_01934_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_01932_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_31 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_31_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_01937_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type ins_35 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type ins_35_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type ins_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_01939_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type funset_listize_01950_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type aux_42 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_42_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_44 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ // ATSstatic_void (statmp148) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 1771(line=61, offs=17) -- 1952(line=67, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int: tmp1 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp2 = ats_selsin_mac(tmp1, atslab_2) ; /* tmp3 = */ atslib_mpz_init_set_int (tmp2, arg0) ; tmp0 = atspre_ref_make_view_ptr (tmp2) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 2009(line=70, offs=18) -- 2224(line=77, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_size (ats_size_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_size: tmp5 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp6 = ats_selsin_mac(tmp5, atslab_2) ; /* tmp7 = */ atslib_mpz_init_set_ulint (tmp6, ats_castfn_mac(ats_ulint_type, arg0)) ; tmp4 = atspre_ref_make_view_ptr (tmp6) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_size] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 2336(line=84, offs=20) -- 2870(line=108, offs=4) */ ATSglobaldec() ats_ptr_type patsopt_intinf_make_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_char_type, tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_char_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; __ats_lab_patsopt_intinf_make_string: tmp9 = atspre_string_is_atend (ats_castfn_mac(ats_ptr_type, arg0), 0) ; if (tmp9) { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (0) ; } else { tmp10 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 0) ; tmp11 = atspre_eq_char_char (tmp10, '0') ; if (tmp11) { tmp12 = atspre_string_is_atend (ats_castfn_mac(ats_ptr_type, arg0), 1) ; if (tmp12) { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (0) ; } else { tmp13 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp15 = atspre_neq_char_char (tmp13, 'x') ; if (tmp15) { tmp14 = atspre_neq_char_char (tmp13, 'X') ; } else { tmp14 = ats_false_bool ; } /* end of [if] */ if (tmp14) { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (8, ats_castfn_mac(ats_ptr_type, arg0), 1) ; } else { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (16, ats_castfn_mac(ats_ptr_type, arg0), 2) ; } /* end of [if] */ } /* end of [if] */ } else { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (10, ats_castfn_mac(ats_ptr_type, arg0), 0) ; } /* end of [if] */ } /* end of [if] */ return (tmp8) ; } /* end of [patsopt_intinf_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 2964(line=114, offs=3) -- 3350(line=128, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs: tmp17 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), arg2) ; tmp18 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp19 = ats_selsin_mac(tmp18, atslab_2) ; /* tmp20 = */ atslib_mpz_init_set_str_exn (tmp19, ats_castfn_mac(ats_ptr_type, tmp17), arg0) ; tmp16 = atspre_ref_make_view_ptr (tmp19) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 3437(line=133, offs=15) -- 3544(line=137, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf: tmp22 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; /* tmp21 = */ atslib_fprint_mpz (arg0, tmp22) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 3618(line=142, offs=16) -- 3716(line=147, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp23 = atslib_mpz_get_int (tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 3792(line=152, offs=15) -- 3836(line=153, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lt_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lt_intinf_int: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp25 = atspre_lt_int_int (tmp26, 0) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lt_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 3889(line=157, offs=16) -- 3934(line=158, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lte_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lte_intinf_int: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp27 = atspre_lte_int_int (tmp28, 0) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lte_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 3987(line=162, offs=15) -- 4031(line=163, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gt_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gt_intinf_int: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp29 = atspre_gt_int_int (tmp30, 0) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gt_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4084(line=167, offs=16) -- 4129(line=168, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gte_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gte_intinf_int: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp31 = atspre_gte_int_int (tmp32, 0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gte_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4203(line=174, offs=15) -- 4247(line=175, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp33 = atspre_eq_int_int (tmp34, 0) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4299(line=179, offs=15) -- 4343(line=180, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg1, arg0) ; tmp35 = atspre_eq_int_int (tmp36, 0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_int_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4398(line=184, offs=18) -- 4445(line=185, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf (arg0, arg1) ; tmp37 = atspre_eq_int_int (tmp38, 0) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4522(line=191, offs=16) -- 4567(line=192, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_int: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg0, arg1) ; tmp39 = atspre_neq_int_int (tmp40, 0) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4621(line=196, offs=16) -- 4666(line=197, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_int_intinf (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_int_intinf: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (arg1, arg0) ; tmp41 = atspre_neq_int_int (tmp42, 0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_int_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4723(line=201, offs=19) -- 4771(line=202, offs=38) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_intinf: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf (arg0, arg1) ; tmp43 = atspre_neq_int_int (tmp44, 0) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 4855(line=209, offs=3) -- 4962(line=213, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp45 = atslib_mpz_cmp_int (tmp46, arg1) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 5029(line=217, offs=3) -- 5217(line=225, offs=9) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf: tmp48 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp49 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp47 = atslib_mpz_cmp_mpz (tmp48, tmp49) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 5298(line=231, offs=3) -- 5593(line=239, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neg_intinf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neg_intinf: tmp51 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp52 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp53 = ats_selsin_mac(tmp52, atslab_2) ; /* tmp54 = */ atslib_mpz_init_set_mpz (tmp53, tmp51) ; /* tmp55 = */ atslib_mpz_neg1 (tmp53) ; tmp50 = atspre_ref_make_view_ptr (tmp53) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neg_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 5666(line=245, offs=3) -- 5976(line=254, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int: tmp57 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp58 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp59 = ats_selsin_mac(tmp58, atslab_2) ; /* tmp60 = */ atslib_mpz_init_set_mpz (tmp59, tmp57) ; /* tmp61 = */ atslib_mpz_add2_int (tmp59, arg1) ; tmp56 = atspre_ref_make_view_ptr (tmp59) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 6031(line=257, offs=16) -- 6065(line=257, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_int_intinf (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_int_intinf: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int (arg1, arg0) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_int_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 6097(line=261, offs=3) -- 6482(line=273, offs=9) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_intinf: tmp64 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp65 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp66 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp67 = ats_selsin_mac(tmp66, atslab_2) ; /* tmp68 = */ atslib_mpz_init_set_mpz (tmp67, tmp64) ; /* tmp69 = */ atslib_mpz_add2_mpz (tmp67, tmp65) ; tmp63 = atspre_ref_make_view_ptr (tmp67) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 6566(line=279, offs=3) -- 6951(line=291, offs=9) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__sub_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__sub_intinf_intinf: tmp71 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp72 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp73 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp74 = ats_selsin_mac(tmp73, atslab_2) ; /* tmp75 = */ atslib_mpz_init_set_mpz (tmp74, tmp71) ; /* tmp76 = */ atslib_mpz_sub2_mpz (tmp74, tmp72) ; tmp70 = atspre_ref_make_view_ptr (tmp74) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__sub_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 7032(line=297, offs=3) -- 7342(line=306, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_int: tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp79 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp80 = ats_selsin_mac(tmp79, atslab_2) ; /* tmp81 = */ atslib_mpz_init_set_mpz (tmp80, tmp78) ; /* tmp82 = */ atslib_mpz_mul2_int (tmp80, arg1) ; tmp77 = atspre_ref_make_view_ptr (tmp80) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 7397(line=309, offs=16) -- 7431(line=309, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_int_intinf (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_int_intinf: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_int (arg1, arg0) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_int_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 7463(line=313, offs=3) -- 7848(line=325, offs=9) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf: tmp85 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp86 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp87 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp88 = ats_selsin_mac(tmp87, atslab_2) ; /* tmp89 = */ atslib_mpz_init_set_mpz (tmp88, tmp85) ; /* tmp90 = */ atslib_mpz_mul2_mpz (tmp88, tmp86) ; tmp84 = atspre_ref_make_view_ptr (tmp88) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8013(line=336, offs=4) -- 8094(line=339, offs=33) */ ATSstaticdec() ats_int_type cmp_26 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp91) ; __ats_lab_cmp_26: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_intinf (arg0, arg1) ; return (tmp91) ; } /* end of [cmp_26] */ typedef struct { ats_fun_ptr_type closure_fun ; } cmp_26_closure_type ; ats_int_type cmp_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return cmp_26 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type cmp_26_closure_init (cmp_26_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&cmp_26_clofun ; return ; } /* end of function */ ats_clo_ptr_type cmp_26_closure_make () { cmp_26_closure_type *p_clo = ATS_MALLOC(sizeof(cmp_26_closure_type)) ; cmp_26_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 2248(line=76, offs=18) -- 2277(line=76, offs=47) */ ATSstaticdec() ats_ptr_type funset_make_sing_01934_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_funset_make_sing_01934_ats_ptr_type: tmp94 = (ats_sum_ptr_type)0 ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp93, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp93, atslab_1, tmp94) ; return (tmp93) ; } /* end of [funset_make_sing_01934_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8183(line=346, offs=16) -- 8208(line=346, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_sing (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_sing: tmp92 = funset_make_sing_01934_ats_ptr_type (arg0) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_sing] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 1887(line=58, offs=32) -- 1915(line=58, offs=60) */ ATSstaticdec() ats_int_type compare_elt_elt_01932_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp101) ; __ats_lab_compare_elt_elt_01932_ats_ptr_type: tmp101 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp101) ; } /* end of [compare_elt_elt_01932_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3671(line=138, offs=7) -- 3950(line=144, offs=27) */ ATSstaticdec() ats_bool_type aux_31 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; __ats_lab_aux_31: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp100 = compare_elt_elt_01932_ats_ptr_type (env0, tmp98, env1) ; tmp102 = atspre_gt_int_int (tmp100, 0) ; if (tmp102) { tmp97 = ats_false_bool ; } else { tmp103 = atspre_lt_int_int (tmp100, 0) ; if (tmp103) { arg0 = tmp99 ; goto __ats_lab_aux_31 ; // tail call } else { tmp97 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp97 = ats_false_bool ; break ; } while (0) ; return (tmp97) ; } /* end of [aux_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_31_closure_type ; ats_bool_type aux_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_31 (((aux_31_closure_type*)cloptr)->closure_env_0, ((aux_31_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_31_closure_init (aux_31_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_31_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_31_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_31_closure_type *p_clo = ATS_MALLOC(sizeof(aux_31_closure_type)) ; aux_31_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3645(line=137, offs=3) -- 3986(line=148, offs=4) */ ATSstaticdec() ats_bool_type funset_is_member_01937_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp96) ; __ats_lab_funset_is_member_01937_ats_ptr_type: tmp96 = aux_31 (arg1, arg2, arg0) ; return (tmp96) ; } /* end of [funset_is_member_01937_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8243(line=350, offs=3) -- 8282(line=350, offs=42) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member: tmp95 = funset_is_member_01937_ats_ptr_type (arg0, arg1, cmp_26_closure_make ()) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4180(line=158, offs=7) -- 4779(line=176, offs=10) */ ATSstaticdec() ats_ptr_type ins_35 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_ins_35: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp111 = compare_elt_elt_01932_ats_ptr_type (env0, tmp109, env1) ; tmp112 = atspre_gt_int_int (tmp111, 0) ; if (tmp112) { tmp113 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp113 ; tmp108 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_1, arg0) ; } else { tmp114 = atspre_lt_int_int (tmp111, 0) ; if (tmp114) { tmp115 = ats_ptrget_mac(ats_int_type, arg1) ; tmp116 = ins_35 (env0, env1, tmp110, arg1) ; tmp117 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp115) ; if (tmp117) { tmp108 = arg0 ; } else { tmp108 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_0, tmp109) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_1, tmp116) ; } /* end of [if] */ } else { tmp108 = arg0 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp118 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp118 ; tmp119 = (ats_sum_ptr_type)0 ; tmp108 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp108, atslab_1, tmp119) ; break ; } while (0) ; return (tmp108) ; } /* end of [ins_35] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } ins_35_closure_type ; ats_ptr_type ins_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return ins_35 (((ins_35_closure_type*)cloptr)->closure_env_0, ((ins_35_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type ins_35_closure_init (ins_35_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&ins_35_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type ins_35_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { ins_35_closure_type *p_clo = ATS_MALLOC(sizeof(ins_35_closure_type)) ; ins_35_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4154(line=157, offs=3) -- 4907(line=182, offs=4) */ ATSstaticdec() ats_bool_type funset_insert_01939_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_bool_type, tmp122) ; __ats_lab_funset_insert_01939_ats_ptr_type: /* ats_int_type tmp120 ; */ tmp120 = 0 ; tmp121 = ins_35 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp120)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp121 ; tmp122 = atspre_eq_int_int (tmp120, 0) ; if (tmp122) { tmp107 = ats_true_bool ; } else { tmp107 = ats_false_bool ; } /* end of [if] */ return (tmp107) ; } /* end of [funset_insert_01939_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8326(line=355, offs=3) -- 8408(line=359, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_add: /* ats_ptr_type tmp105 ; */ tmp105 = arg0 ; tmp106 = funset_insert_01939_ats_ptr_type ((&tmp105), arg1, cmp_26_closure_make ()) ; tmp104 = tmp105 ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_loop_39: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp129, atslab_0, tmp127) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp129 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp130 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp128 ; arg1 = tmp130 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp131 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp131 ; break ; } while (0) ; return /* (tmp126) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp132 ; */ /* tmp133 = */ loop_39 (arg0, (&tmp132)) ; tmp125 = tmp132 ; return (tmp125) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 10918(line=433, offs=16) -- 10941(line=433, offs=39) */ ATSstaticdec() ats_ptr_type funset_listize_01950_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_funset_listize_01950_ats_ptr_type: tmp124 = list_copy_01322_ats_ptr_type (arg0) ; return (tmp124) ; } /* end of [funset_listize_01950_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8457(line=362, offs=19) -- 8482(line=362, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize: tmp123 = funset_listize_01950_ats_ptr_type (arg0) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_42 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_bool_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_int_type, tmp144) ; __ats_lab_aux_42: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp142 = atspre_gt_int_int (arg1, 0) ; if (tmp142) { /* tmp141 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp143 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp139) ; tmp144 = atspre_add_int_int (arg1, 1) ; arg0 = tmp140 ; arg1 = tmp144 ; goto __ats_lab_aux_42 ; // tail call break ; } while (0) ; return /* (tmp138) */ ; } /* end of [aux_42] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_42_closure_type ; ats_void_type aux_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_42 (((aux_42_closure_type*)cloptr)->closure_env_0, ((aux_42_closure_type*)cloptr)->closure_env_1, ((aux_42_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_42_closure_init (aux_42_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_42_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_42_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_42_closure_type *p_clo = ATS_MALLOC(sizeof(aux_42_closure_type)) ; aux_42_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp137) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp137 = */ aux_42 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp137) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_loop_44: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp147 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp146) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp145) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp145 = */ loop_44 (arg0) ; return /* (tmp145) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_intinf_gmp.hats: 8558(line=370, offs=3) -- 8722(line=375, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinfset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; // ATSlocal_void (tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinfset: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize (arg1) ; /* tmp136 = */ fprintlst_01885_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, tmp135), ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) ; /* tmp134 = */ list_vt_free_01499_ats_ptr_type (tmp135) ; return /* (tmp134) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinfset] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ /* marking external values for GC */ /* code for dynamic loading */ /* statmp148 = */ patsopt_intinf_initialize () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ // // This is necessary to prevent memory leak // static void* patsopt_intinf_malloc (size_t sz) { return ATS_MALLOC (sz) ; } // end of [patsopt_intinf_malloc] static void patsopt_intinf_free (void* ptr, size_t sz) { ATS_FREE (ptr) ; return ; } // end of [patsopt_intinf_free] static void* patsopt_intinf_realloc ( void* ptr, size_t sz_old, size_t sz_new ) { return ATS_REALLOC (ptr, sz_new) ; } // end of [patsopt_intinf_realloc] ats_void_type patsopt_intinf_initialize (/*argumentless*/) { mp_set_memory_functions ( &patsopt_intinf_malloc, &patsopt_intinf_realloc, &patsopt_intinf_free ) ; // end of [mp_set_memory_functions] return ; } // end of [patsopt_intinf_initialize] /* ****** ****** */ /* end of [pats_intinf_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_filename_dats.c0000664000175000017500000024235712655455557020376 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/string.cats" #include "libc/CATS/errno.cats" #include "libc/CATS/unistd.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_filename_givename ; ats_ptr_type atslab_filename_partname ; ats_ptr_type atslab_filename_fullname ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_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_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_compare_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_stringlst_concat) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_bool_type, atspre_test_file_exists) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STDIN__) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STRING__) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, patsopt_filename_theDirSep_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theParDir_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_filename_merge) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_filename_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__eq_filename_filename) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__pkgsrcname_relocatize) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, patsopt_string_test_suffix) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_getcwd0) () ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__sasp__the_pathlst_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__sasp__the_filenamelst_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__sasp__filename_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_string) ; /* internal function declarations */ static ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ; static ats_ptr_type loop_5 (ats_ptr_type arg0, ats_int_type arg1, ats_char_type arg2, ats_char_type arg3) ; static ats_bool_type aux_19 (ats_ptr_type arg0, ats_size_type arg1, ats_char_type arg2) ; static ats_void_type loop1_23 (ats_char_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ref_type arg4) ; static ats_void_type loop2_24 (ats_char_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) ; static ats_ptr_type loop_26 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type dirs_process_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type loop_28 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop_28_closure_make (ats_ptr_type env0) ; static ats_void_type loop_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type list_vt_free_fun_01500_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_29 (ats_ref_type arg0) ; static ats_ptr_type partname_fullize_31 (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type filename_occurs_34 (ats_ptr_type arg0) ; static ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type the_pathlst_get_44 () ; static ats_void_type the_pathlst_set_45 (ats_ptr_type arg0) ; static ats_ptr_type the_prepathlst_get_49 () ; static ats_void_type the_prepathlst_set_50 (ats_ptr_type arg0) ; static ats_ptr_type aux_local_53 (ats_ptr_type arg0) ; static ats_ptr_type aux_try_54 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux2_try_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_try_pathlst_56 (ats_ptr_type arg0) ; static ats_ptr_type aux_try_prepathlst_57 (ats_ptr_type arg0) ; static ats_ptr_type aux_relative_58 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp56) ; ATSstatic (ats_ptr_type, statmp57) ; ATSstatic (ats_ptr_type, statmp58) ; ATSstatic (ats_ptr_type, statmp124) ; ATSstatic (ats_ptr_type, statmp128) ; ATSstatic (ats_ptr_type, statmp129) ; ATSstatic (ats_ptr_type, statmp164) ; ATSstatic (ats_ptr_type, statmp165) ; ATSstatic (ats_ptr_type, statmp166) ; ATSstatic (ats_ptr_type, statmp167) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2005(line=75, offs=25) -- 2019(line=75, offs=39) */ ATSglobaldec() ats_char_type patsopt_filename_theDirSep_get () { /* local vardec */ ATSlocal (ats_char_type, tmp0) ; __ats_lab_patsopt_filename_theDirSep_get: tmp0 = '/' ; return (tmp0) ; } /* end of [patsopt_filename_theDirSep_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2044(line=76, offs=25) -- 2058(line=76, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get: tmp1 = ATSstrcst("./") ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2083(line=77, offs=25) -- 2097(line=77, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theParDir_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theParDir_get: tmp2 = ATSstrcst("../") ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theParDir_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2279(line=94, offs=3) -- 2428(line=103, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_size_type, tmp5) ; ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get () ; tmp5 = atspre_string_length (tmp4) ; tmp7 = atslib_strncmp (arg0, tmp4, tmp5) ; tmp6 = atspre_eq_int_int (tmp7, 0) ; if (tmp6) { tmp3 = 0 ; } else { tmp3 = 1 ; } /* end of [if] */ return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp11) ; __ats_lab_ptr0_get_01759_ats_char_type: tmp11 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp11) ; } /* end of [ptr0_get_01759_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2781(line=118, offs=5) -- 3130(line=137, offs=4) */ ATSstaticdec() ats_ptr_type loop_5 (ats_ptr_type arg0, ats_int_type arg1, ats_char_type arg2, ats_char_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_char_type, tmp10) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_bool_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; __ats_lab_loop_5: tmp10 = ptr0_get_01759_ats_char_type (arg0) ; tmp12 = atspre_padd_size (arg0, sizeof(ats_char_type)) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp13 = atspre_eq_char_char (tmp10, arg2) ; if (!tmp13) { goto __ats_lab_1_1 ; } tmp14 = atspre_add_int_int (arg1, 1) ; arg0 = tmp12 ; arg1 = tmp14 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp15 = atspre_eq_char_char (tmp10, arg3) ; if (!tmp15) { goto __ats_lab_2_1 ; } tmp16 = atspre_gt_int_int (arg1, 1) ; if (tmp16) { tmp17 = atspre_sub_int_int (arg1, 1) ; arg0 = tmp12 ; arg1 = tmp17 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call } else { tmp9 = tmp12 ; } /* end of [if] */ break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp18 = atspre_neq_char_char (tmp10, '\000') ; if (tmp18) { arg0 = tmp12 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call } else { tmp9 = atspre_null_ptr ; } /* end of [if] */ break ; } while (0) ; return (tmp9) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 2760(line=116, offs=3) -- 3652(line=162, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_char_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_ptrdiff_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl: tmp19 = ptr0_get_01759_ats_char_type (ats_castfn_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp21 = atspre_eq_char_char (tmp19, '{') ; if (!tmp21) { goto __ats_lab_4_1 ; } tmp22 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp20 = loop_5 (tmp22, 1, tmp19, '}') ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp20 = atspre_null_ptr ; break ; } while (0) ; tmp23 = atspre_pgt (ats_castfn_mac(ats_ptr_type, tmp20), ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0))) ; if (tmp23) { tmp24 = atspre_pdiff (ats_castfn_mac(ats_ptr_type, tmp20), ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0))) ; tmp8 = ats_castfn_mac(ats_int_type, tmp24) ; } else { tmp8 = -1 ; } /* end of [if] */ return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 3923(line=179, offs=3) -- 3952(line=179, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_givename (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_givename: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_givename) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_givename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 3990(line=183, offs=3) -- 4019(line=183, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname: tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_partname) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 4057(line=187, offs=3) -- 4086(line=187, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_fullname) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 4400(line=208, offs=3) -- 4446(line=208, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__print_filename_full (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__print_filename_full: /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (stdout, arg0) ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__print_filename_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 4479(line=211, offs=3) -- 4525(line=211, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full: /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (stderr, arg0) ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 4559(line=214, offs=3) -- 4670(line=218, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename_fullname) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp32) ; /* tmp30 = */ atspre_fprint_string (arg0, tmp31) ; return /* (tmp30) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 4760(line=224, offs=3) -- 5041(line=240, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full: tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename_givename) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl (tmp34) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename_fullname) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp37) ; tmp38 = atspre_lt_int_int (tmp35, 0) ; if (tmp38) { /* tmp33 = */ atspre_fprint_string (arg0, tmp36) ; } else { /* tmp33 = */ atspre_fprintf_exn (arg0, ATSstrcst("%s(%s)"), tmp36, tmp34) ; } /* end of [if] */ return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 5131(line=246, offs=3) -- 5187(line=247, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__eq_filename_filename (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__eq_filename_filename: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_fullname) ; tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename_fullname) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp40, tmp41) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__eq_filename_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 5281(line=254, offs=3) -- 5448(line=264, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__compare_filename_filename (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__compare_filename_filename: tmp44 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_fullname) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp44) ; tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename_fullname) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp46) ; tmp42 = atspre_compare_string_string (tmp43, tmp45) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__compare_filename_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 5723(line=283, offs=18) -- 5784(line=285, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_partname) ; tmp47 = patsopt_string_test_suffix (tmp48, ATSstrcst(".sats")) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 5815(line=288, offs=18) -- 5876(line=290, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dats (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dats: tmp50 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_partname) ; tmp49 = patsopt_string_test_suffix (tmp50, ATSstrcst(".dats")) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dats] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 6041(line=306, offs=1) -- 6259(line=321, offs=4) */ ATSstaticdec() ats_bool_type aux_19 (ats_ptr_type arg0, ats_size_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_char_type, tmp54) ; __ats_lab_aux_19: tmp53 = atspre_string_isnot_atend (arg0, arg1) ; if (tmp53) { tmp54 = atspre_string_get_char_at (arg0, arg1) ; tmp52 = atspre_neq_char_char (tmp54, arg2) ; } else { tmp52 = ats_false_bool ; } /* end of [if] */ return (tmp52) ; } /* end of [aux_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 6020(line=303, offs=3) -- 6387(line=330, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_char_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative: tmp55 = patsopt_filename_theDirSep_get () ; tmp51 = aux_19 (ats_castfn_mac(ats_ptr_type, arg0), 0, tmp55) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 6976(line=358, offs=18) -- 7055(line=362, offs=23) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dummy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dummy: tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_fullname) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp61, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; if (tmp60) { tmp59 = ats_true_bool ; } else { tmp59 = ats_false_bool ; } /* end of [if] */ return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_dummy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 7089(line=365, offs=21) -- 7168(line=369, offs=23) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy: tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename_fullname) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp64, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; if (tmp63) { tmp62 = ats_false_bool ; } else { tmp62 = ats_true_bool ; } /* end of [if] */ return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 7305(line=381, offs=7) -- 7509(line=387, offs=65) */ ATSstaticdec() ats_void_type loop1_23 (ats_char_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp66) ; ATSlocal (ats_bool_type, tmp67) ; __ats_lab_loop1_23: tmp67 = atspre_lt_size1_size1 (arg3, arg2) ; if (tmp67) { /* tmp66 = */ loop2_24 (arg0, arg1, arg2, arg3, arg3, arg4) ; } else { /* empty */ } /* end of [if] */ return /* (tmp66) */ ; } /* end of [loop1_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 7516(line=388, offs=7) -- 8524(line=422, offs=8) */ ATSstaticdec() ats_void_type loop2_24 (ats_char_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_char_type, tmp71) ; ATSlocal (ats_size_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_size_type, tmp74) ; ATSlocal (ats_size_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_size_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_size_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab_loop2_24: tmp69 = atspre_lt_size1_size1 (arg4, arg2) ; if (tmp69) { tmp71 = atspre_string_get_char_at (arg1, arg4) ; tmp70 = atspre_neq_char_char (tmp71, arg0) ; if (tmp70) { tmp72 = atspre_add_size1_int1 (arg4, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp72 ; arg5 = arg5 ; goto __ats_lab_loop2_24 ; // tail call } else { tmp75 = atspre_sub_size1_size1 (arg4, arg3) ; tmp74 = atspre_add_size1_int1 (tmp75, 1) ; tmp73 = atspre_string_make_substring (arg1, arg3, tmp74) ; tmp76 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp76, atslab_0, ats_castfn_mac(ats_ptr_type, tmp73)) ; ats_selptrset_mac(anairiats_sum_2, tmp76, atslab_1, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp76 ; tmp77 = atspre_add_size1_int1 (arg4, 1) ; /* tmp68 = */ loop1_23 (arg0, arg1, arg2, tmp77, arg5) ; } /* end of [if] */ } else { tmp79 = atspre_sub_size1_size1 (arg4, arg3) ; tmp78 = atspre_string_make_substring (arg1, arg3, tmp79) ; tmp80 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp80, atslab_0, ats_castfn_mac(ats_ptr_type, tmp78)) ; ats_selptrset_mac(anairiats_sum_2, tmp80, atslab_1, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp80 ; } /* end of [if] */ return /* (tmp68) */ ; } /* end of [loop2_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 9575(line=459, offs=9) -- 10070(line=473, offs=23) */ ATSstaticdec() ats_ptr_type loop_26 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_size_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab_loop_26: tmp94 = atspre_igt (arg1, 0) ; if (tmp94) { tmp95 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp96 = atspre_string_make_substring (ats_castfn_mac(ats_ptr_type, arg0), 0, tmp95) ; tmp97 = atspre_isub (arg1, 1) ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp98, atslab_0, ats_castfn_mac(ats_ptr_type, tmp96)) ; ats_selptrset_mac(anairiats_sum_2, tmp98, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp97 ; arg2 = tmp98 ; goto __ats_lab_loop_26 ; // tail call } else { tmp93 = arg2 ; } /* end of [if] */ return (tmp93) ; } /* end of [loop_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 8686(line=432, offs=3) -- 10208(line=479, offs=6) */ ATSstaticdec() ats_ptr_type dirs_process_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; // ATSlocal_void (tmp85) ; ATSlocal (ats_bool_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab_dirs_process_25: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp84 = atspre_eq_string_string (ats_castfn_mac(ats_ptr_type, tmp82), arg0) ; if (tmp84) { /* tmp85 = */ atspre_strptr_free (tmp82) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp83 ; arg4 = arg4 ; goto __ats_lab_dirs_process_25 ; // tail call } else { tmp86 = atspre_eq_string_string (ats_castfn_mac(ats_ptr_type, tmp82), arg1) ; if (tmp86) { /* tmp87 = */ atspre_strptr_free (tmp82) ; tmp88 = atspre_iadd (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp88 ; arg3 = tmp83 ; arg4 = arg4 ; goto __ats_lab_dirs_process_25 ; // tail call } else { tmp89 = atspre_igt (arg2, 0) ; if (tmp89) { /* tmp90 = */ atspre_strptr_free (tmp82) ; tmp91 = atspre_isub (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp91 ; arg3 = tmp83 ; arg4 = arg4 ; goto __ats_lab_dirs_process_25 ; // tail call } else { tmp92 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp92, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_2, tmp92, atslab_1, arg4) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = 0 ; arg3 = tmp83 ; arg4 = tmp92 ; goto __ats_lab_dirs_process_25 ; // tail call } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp81 = loop_26 (arg1, arg2, arg4) ; break ; } while (0) ; return (tmp81) ; } /* end of [dirs_process_25] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5132(line=186, offs=7) -- 5320(line=191, offs=28) */ ATSstaticdec() ats_void_type loop_28 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; // ATSlocal_void (tmp113) ; __ats_lab_loop_28: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp111 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp113 = */ ((ats_void_type(*)(ats_ref_type))env0) (tmp111) ; ATS_FREE(arg0) ; arg0 = tmp112 ; goto __ats_lab_loop_28 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: break ; } while (0) ; return /* (tmp110) */ ; } /* end of [loop_28] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_28_closure_type ; ats_void_type loop_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { loop_28 (((loop_28_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_28_closure_init (loop_28_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_28_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_28_closure_make (ats_ptr_type env0) { loop_28_closure_type *p_clo = ATS_MALLOC(sizeof(loop_28_closure_type)) ; loop_28_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5111(line=185, offs=18) -- 5359(line=195, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_fun_01500_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp109) ; __ats_lab_list_vt_free_fun_01500_ats_ptr_type: /* tmp109 = */ loop_28 (arg1, arg0) ; return /* (tmp109) */ ; } /* end of [list_vt_free_fun_01500_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 10794(line=505, offs=45) -- 10818(line=505, offs=69) */ ATSstaticdec() ats_void_type __ats_fun_29 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp114) ; __ats_lab___ats_fun_29: /* tmp114 = */ atspre_strptr_free (ats_ptrget_mac(ats_ptr_type, arg0)) ; return /* (tmp114) */ ; } /* end of [__ats_fun_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 7288(line=380, offs=19) -- 10846(line=509, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_char_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_size_type, tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt: tmp99 = patsopt_filename_theDirSep_get () ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get () ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theParDir_get () ; /* ats_ptr_type tmp102 ; */ tmp102 = (ats_sum_ptr_type)0 ; tmp103 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp104 = */ loop1_23 (tmp99, ats_castfn_mac(ats_ptr_type, arg0), tmp103, 0, (&tmp102)) ; tmp106 = (ats_sum_ptr_type)0 ; tmp105 = dirs_process_25 (tmp100, tmp101, 0, tmp102, tmp106) ; tmp102 = tmp105 ; tmp107 = atspre_stringlst_concat (ats_castfn_mac(ats_ptr_type, tmp102)) ; /* tmp108 = */ list_vt_free_fun_01500_ats_ptr_type (tmp102, &__ats_fun_29) ; tmp65 = tmp107 ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 10903(line=512, offs=16) -- 10951(line=513, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize: tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt (arg0) ; tmp115 = ats_castfn_mac(ats_ptr_type, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 11096(line=528, offs=1) -- 11498(line=551, offs=4) */ ATSstaticdec() ats_ptr_type partname_fullize_31 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; __ats_lab_partname_fullize_31: tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative (arg0) ; if (tmp118) { tmp119 = atslib_getcwd0 () ; tmp120 = patsopt_filename_append (ats_castfn_mac(ats_ptr_type, tmp119), arg0) ; /* tmp121 = */ atspre_strptr_free (tmp119) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize (ats_castfn_mac(ats_ptr_type, tmp120)) ; /* tmp123 = */ atspre_strptr_free (tmp120) ; tmp117 = tmp122 ; } else { tmp117 = arg0 ; } /* end of [if] */ return (tmp117) ; } /* end of [partname_fullize_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp127 ; */ tmp127 = arg0 ; tmp126 = atspre_ref_make_elt_tsz ((&tmp127), sizeof(ats_ptr_type)) ; return (tmp126) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp125 = ref_01088_ats_ptr_type (arg0) ; return (tmp125) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 11854(line=576, offs=1) -- 12344(line=601, offs=2) */ ATSstaticdec() ats_bool_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_loop_35: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp133 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__eq_filename_filename (arg1, tmp132) ; if (tmp134) { tmp131 = ats_true_bool ; } else { tmp135 = ats_ptrget_mac(ats_ptr_type, tmp133) ; arg0 = tmp135 ; arg1 = arg1 ; goto __ats_lab_loop_35 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp131 = ats_false_bool ; break ; } while (0) ; return (tmp131) ; } /* end of [loop_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 11802(line=572, offs=1) -- 12452(line=610, offs=4) */ ATSstaticdec() ats_bool_type filename_occurs_34 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp130) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_filename_occurs_34: tmp136 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp128), atslab_1) ; tmp137 = ats_ptrget_mac(ats_ptr_type, tmp136) ; tmp130 = loop_35 (tmp137, arg0) ; return (tmp130) ; } /* end of [filename_occurs_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 12541(line=616, offs=3) -- 12567(line=616, offs=29) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current: tmp138 = ats_ptrget_mac(ats_ptr_type, statmp124) ; return (tmp138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 12622(line=622, offs=1) -- 12713(line=630, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () { /* local vardec */ // ATSlocal_void (tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop: /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop () ; return /* (tmp139) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 12780(line=634, offs=3) -- 13033(line=652, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop () { /* local vardec */ // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop: tmp141 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp128), atslab_1) ; tmp142 = ats_ptrget_mac(ats_ptr_type, tmp141) ; if (tmp142 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_filename.dats: 12898(line=643, offs=3) -- 12924(line=643, offs=29)") ; } tmp143 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_0) ; tmp144 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_1) ; ATS_FREE(tmp142) ; ats_ptrget_mac(ats_ptr_type, tmp141) = tmp144 ; ats_ptrget_mac(ats_ptr_type, statmp124) = tmp143 ; return /* (tmp140) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 13119(line=657, offs=21) -- 13196(line=662, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push: /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (arg0) ; return /* (tmp145) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 13262(line=665, offs=22) -- 13441(line=672, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush: tmp147 = ats_ptrget_mac(ats_ptr_type, statmp124) ; ats_ptrget_mac(ats_ptr_type, statmp124) = arg0 ; tmp148 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp128), atslab_1) ; tmp150 = ats_ptrget_mac(ats_ptr_type, tmp148) ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp149, atslab_0, tmp147) ; ats_selptrset_mac(anairiats_sum_2, tmp149, atslab_1, tmp150) ; ats_ptrget_mac(ats_ptr_type, tmp148) = tmp149 ; return /* (tmp146) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 13537(line=678, offs=3) -- 14032(line=707, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_bool_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check: /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (arg0) ; /* tmp153 = ats_selsin_mac(tmp152, atslab_1) */ ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy (arg0) ; if (tmp154) { tmp151 = filename_occurs_34 (arg0) ; } else { tmp151 = ats_false_bool ; } /* end of [if] */ return (tmp151) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 14148(line=716, offs=1) -- 14502(line=736, offs=2) */ ATSstaticdec() ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_loop_43: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp158 = &ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp157) ; /* tmp160 = */ atspre_fprint_newline (arg0) ; tmp161 = ats_ptrget_mac(ats_ptr_type, tmp158) ; arg0 = arg0 ; arg1 = tmp161 ; goto __ats_lab_loop_43 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: break ; } while (0) ; return /* (tmp156) */ ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 14129(line=713, offs=3) -- 14628(line=746, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst: tmp162 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp128), atslab_1) ; tmp163 = ats_ptrget_mac(ats_ptr_type, tmp162) ; /* tmp155 = */ loop_43 (arg0, tmp163) ; return /* (tmp155) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 14993(line=768, offs=1) -- 15146(line=781, offs=2) */ ATSstaticdec() ats_ptr_type the_pathlst_get_44 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab_the_pathlst_get_44: tmp169 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp164), atslab_1) ; tmp170 = ats_ptrget_mac(ats_ptr_type, tmp169) ; tmp171 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp169) = tmp171 ; tmp168 = tmp170 ; return (tmp168) ; } /* end of [the_pathlst_get_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15183(line=784, offs=1) -- 15339(line=798, offs=2) */ ATSstaticdec() ats_void_type the_pathlst_set_45 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; __ats_lab_the_pathlst_set_45: tmp173 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp164), atslab_1) ; tmp174 = ats_ptrget_mac(ats_ptr_type, tmp173) ; if (tmp174 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15295(line=795, offs=1) -- 15314(line=795, offs=20)") ; } ats_ptrget_mac(ats_ptr_type, tmp173) = arg0 ; return /* (tmp172) */ ; } /* end of [the_pathlst_set_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15421(line=804, offs=3) -- 15587(line=819, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_pop () { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_pop: tmp176 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp164), atslab_1) ; tmp177 = ats_ptrget_mac(ats_ptr_type, tmp176) ; if (tmp177 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15531(line=816, offs=1) -- 15556(line=816, offs=26)") ; } tmp178 = ats_caselptrlab_mac(anairiats_sum_2, tmp177, atslab_1) ; ATS_FREE(tmp177) ; ats_ptrget_mac(ats_ptr_type, tmp176) = tmp178 ; return /* (tmp175) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15647(line=822, offs=18) -- 15716(line=826, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_push (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_push: /* tmp179 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush (arg0) ; return /* (tmp179) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15775(line=829, offs=19) -- 15880(line=838, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush: tmp181 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp164), atslab_1) ; tmp183 = ats_ptrget_mac(ats_ptr_type, tmp181) ; tmp182 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp182, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp182, atslab_1, tmp183) ; ats_ptrget_mac(ats_ptr_type, tmp181) = tmp182 ; return /* (tmp180) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_pathlst_ppush] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 15937(line=843, offs=1) -- 16117(line=857, offs=2) */ ATSstaticdec() ats_ptr_type the_prepathlst_get_49 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_the_prepathlst_get_49: tmp185 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp166), atslab_1) ; tmp186 = ats_ptrget_mac(ats_ptr_type, tmp185) ; tmp187 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp185) = tmp187 ; tmp184 = tmp186 ; return (tmp184) ; } /* end of [the_prepathlst_get_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 16157(line=860, offs=1) -- 16323(line=872, offs=2) */ ATSstaticdec() ats_void_type the_prepathlst_set_50 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; __ats_lab_the_prepathlst_set_50: tmp189 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp166), atslab_1) ; tmp190 = ats_ptrget_mac(ats_ptr_type, tmp189) ; if (tmp190 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_filename.dats: 16272(line=869, offs=5) -- 16292(line=869, offs=25)") ; } ats_ptrget_mac(ats_ptr_type, tmp189) = arg0 ; return /* (tmp188) */ ; } /* end of [the_prepathlst_set_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 16407(line=877, offs=21) -- 16515(line=886, offs=4) */ ATSglobaldec() ats_void_type libatsopt_the_prepathlst_push (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; __ats_lab_libatsopt_the_prepathlst_push: tmp192 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp166), atslab_1) ; tmp194 = ats_ptrget_mac(ats_ptr_type, tmp192) ; tmp193 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp193, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp193, atslab_1, tmp194) ; ats_ptrget_mac(ats_ptr_type, tmp192) = tmp193 ; return /* (tmp191) */ ; } /* end of [libatsopt_the_prepathlst_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 16638(line=896, offs=1) -- 16811(line=905, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (arg2) ; tmp195 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp195, atslab_filename_givename, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp195, atslab_filename_partname, arg1) ; ats_selptrset_mac(anairiats_rec_1, tmp195, atslab_filename_fullname, tmp196) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 17005(line=919, offs=1) -- 17572(line=941, offs=4) */ ATSstaticdec() ats_ptr_type aux_local_53 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_bool_type, tmp203) ; // ATSlocal_void (tmp204) ; __ats_lab_aux_local_53: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname (tmp198) ; tmp200 = patsopt_filename_merge (tmp199, arg0) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__path_normalize_vt (ats_castfn_mac(ats_ptr_type, tmp200)) ; /* tmp202 = */ atspre_strptr_free (tmp200) ; tmp203 = atspre_test_file_exists (ats_castfn_mac(ats_ptr_type, tmp201)) ; if (tmp203) { tmp197 = ats_castfn_mac(ats_ptr_type, tmp201) ; } else { /* tmp204 = */ atspre_strptr_free (tmp201) ; tmp197 = atspre_stropt_none ; } /* end of [if] */ return (tmp197) ; } /* end of [aux_local_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 17621(line=946, offs=1) -- 17828(line=959, offs=4) */ ATSstaticdec() ats_ptr_type aux_try_54 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab_aux_try_54: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp205 = aux2_try_55 (tmp206, tmp207, arg1) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp205 = atspre_stropt_none ; break ; } while (0) ; return (tmp205) ; } /* end of [aux_try_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 17854(line=962, offs=1) -- 18296(line=982, offs=4) */ ATSstaticdec() ats_ptr_type aux2_try_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_bool_type, tmp210) ; // ATSlocal_void (tmp211) ; __ats_lab_aux2_try_55: tmp209 = patsopt_filename_append (arg0, arg2) ; tmp210 = atspre_test_file_exists (ats_castfn_mac(ats_ptr_type, tmp209)) ; if (tmp210) { tmp208 = ats_castfn_mac(ats_ptr_type, tmp209) ; } else { /* tmp211 = */ atspre_strptr_free (tmp209) ; tmp208 = aux_try_54 (arg1, arg2) ; } /* end of [if] */ return (tmp208) ; } /* end of [aux2_try_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 18344(line=987, offs=1) -- 18632(line=997, offs=4) */ ATSstaticdec() ats_ptr_type aux_try_pathlst_56 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; __ats_lab_aux_try_pathlst_56: tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__theCurDir_get () ; tmp214 = the_pathlst_get_44 () ; tmp215 = aux2_try_55 (tmp213, ats_castfn_mac(ats_ptr_type, tmp214), arg0) ; /* tmp216 = */ the_pathlst_set_45 (tmp214) ; tmp212 = tmp215 ; return (tmp212) ; } /* end of [aux_try_pathlst_56] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 18666(line=1000, offs=1) -- 18866(line=1008, offs=4) */ ATSstaticdec() ats_ptr_type aux_try_prepathlst_57 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; // ATSlocal_void (tmp220) ; __ats_lab_aux_try_prepathlst_57: tmp218 = the_prepathlst_get_49 () ; tmp219 = aux_try_54 (ats_castfn_mac(ats_ptr_type, tmp218), arg0) ; /* tmp220 = */ the_prepathlst_set_50 (tmp218) ; tmp217 = tmp219 ; return (tmp217) ; } /* end of [aux_try_prepathlst_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 18924(line=1013, offs=1) -- 19252(line=1031, offs=4) */ ATSstaticdec() ats_ptr_type aux_relative_58 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_bool_type, tmp224) ; __ats_lab_aux_relative_58: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_srchknd (ats_castfn_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp222 != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp221 = aux_local_53 (ats_castfn_mac(ats_ptr_type, arg0)) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp223 = aux_try_pathlst_56 (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp224 = atspre_stropt_is_some (tmp223) ; if (tmp224) { tmp221 = tmp223 ; } else { tmp221 = aux_try_prepathlst_57 (ats_castfn_mac(ats_ptr_type, arg0)) ; } /* end of [if] */ break ; } while (0) ; return (tmp221) ; } /* end of [aux_relative_58] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 19380(line=1041, offs=3) -- 19667(line=1055, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local: tmp226 = aux_local_53 (arg0) ; tmp227 = atspre_stropt_is_some (tmp226) ; if (tmp227) { tmp228 = partname_fullize_31 (ats_castfn_mac(ats_ptr_type, tmp226)) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make (arg0, ats_castfn_mac(ats_ptr_type, tmp226), tmp228) ; tmp225 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp225, atslab_0, tmp229) ; } else { tmp225 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename.dats: 19763(line=1061, offs=3) -- 20617(line=1099, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_bool_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative: tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__givename_get_ngurl (arg0) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__pkgsrcname_relocatize (arg0, tmp231) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__givename_is_relative (tmp232) ; if (!tmp234) { goto __ats_lab_18_1 ; } tmp233 = aux_relative_58 (tmp232) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp235 = atspre_test_file_exists (tmp232) ; if (tmp235) { tmp233 = ats_castfn_mac(ats_ptr_type, tmp232) ; } else { tmp233 = atspre_stropt_none ; } /* end of [if] */ break ; } while (0) ; tmp236 = atspre_stropt_is_some (tmp233) ; if (tmp236) { tmp237 = partname_fullize_31 (ats_castfn_mac(ats_ptr_type, tmp233)) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make (arg0, ats_castfn_mac(ats_ptr_type, tmp233), tmp237) ; tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp238) ; } else { tmp230 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2string_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp56, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp57, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp58, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp124, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp128, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp129, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp164, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp165, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp166, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp167, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp56 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp56, atslab_filename_givename, ATSstrcst("")) ; ats_selptrset_mac(anairiats_rec_1, statmp56, atslab_filename_partname, ATSstrcst("")) ; ats_selptrset_mac(anairiats_rec_1, statmp56, atslab_filename_fullname, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy = statmp56 ; statmp57 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp57, atslab_filename_givename, ATSstrcst("__STDIN__")) ; ats_selptrset_mac(anairiats_rec_1, statmp57, atslab_filename_partname, ATSstrcst("__STDIN__")) ; ats_selptrset_mac(anairiats_rec_1, statmp57, atslab_filename_fullname, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STDIN__) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin = statmp57 ; statmp58 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp58, atslab_filename_givename, ATSstrcst("__STRING__")) ; ats_selptrset_mac(anairiats_rec_1, statmp58, atslab_filename_partname, ATSstrcst("__STRING__")) ; ats_selptrset_mac(anairiats_rec_1, statmp58, atslab_filename_fullname, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STRING__) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_string, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_string = statmp58 ; statmp124 = ref_make_elt_01089_ats_ptr_type (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; statmp129 = (ats_sum_ptr_type)0 ; statmp128 = ref_make_elt_01089_ats_ptr_type (statmp129) ; statmp165 = (ats_sum_ptr_type)0 ; statmp164 = ref_make_elt_01089_ats_ptr_type (statmp165) ; statmp167 = (ats_sum_ptr_type)0 ; statmp166 = ref_make_elt_01089_ats_ptr_type (statmp167) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ ats_ptr_type patsopt_filename_merge ( ats_ptr_type ful, ats_ptr_type bas ) { char c, dirsep ; char *p0, *p1, *p ; int n, n1, n2, found = 0 ; char *fulbas ; p0 = p = (char*)ful ; dirsep = patsopt_filename_theDirSep_get () ; // while (1) { c = *p++ ; if (c == 0) break ; if (c == dirsep) { found = 1 ; p1 = p ; } } // n1 = 0 ; if (found) n1 = (p1-p0) ; n2 = strlen ((char*)bas) ; n = n1 + n2 ; fulbas = ATS_MALLOC (n+1) ; memcpy (fulbas, ful, n1) ; memcpy (fulbas + n1, bas, n2) ; fulbas[n] = '\000' ; // return fulbas ; // } // end of [patsopt_filename_merge] ats_ptr_type patsopt_filename_append ( ats_ptr_type dir, ats_ptr_type bas ) { int n1, n2, n ; char dirsep, *dirbas ; // dirsep = patsopt_filename_theDirSep_get () ; // n1 = strlen ((char*)dir) ; n2 = strlen ((char*)bas) ; n = n1 + n2 ; // if (n1 > 0 && ((char*)dir)[n1-1] != dirsep) n += 1 ; dirbas = ATS_MALLOC (n + 1) ; memcpy (dirbas, dir, n1) ; if (n > n1 + n2) { dirbas[n1] = dirsep ; n1 += 1 ; } memcpy (dirbas + n1, bas, n2) ; dirbas[n] = '\000' ; // return dirbas ; } /* end of [patsopt_filename_append] */ /* ****** ****** */ /* end of [pats_filename_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_dcst_dats.c0000664000175000017500000037350012655455557021217 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2cst_sym ; ats_ptr_type atslab_d2cst_loc ; ats_ptr_type atslab_d2cst_fil ; ats_ptr_type atslab_d2cst_kind ; ats_ptr_type atslab_d2cst_decarg ; ats_ptr_type atslab_d2cst_artylst ; ats_ptr_type atslab_d2cst_type ; ats_ptr_type atslab_d2cst_hisexp ; ats_ptr_type atslab_d2cst_funlab ; ats_ptr_type atslab_d2cst_def ; ats_ptr_type atslab_d2cst_pack ; ats_ptr_type atslab_d2cst_extdef ; ats_int_type atslab_d2cst_stamp ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_4 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_val) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_castfn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2cst_stamp_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mac) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mainats) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonprf) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2cstmap_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2cstset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2cstset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2cst_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_int_type __ats_fun_39 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_39_closure_make () ; static ats_int_type __ats_fun_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_03921_ () ; static ats_int_type compare_elt_elt_03920_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_44 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_44_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_03928_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_02209_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_02192_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_48 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_48_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03930_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type linset_make_nil_03949_ () ; static ats_int_type compare_elt_elt_03948_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_02466_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_02520_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_02496_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_55 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_55_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_55_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_03958_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_62 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_03974_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_63 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_63_closure_make () ; static ats_int_type __ats_fun_63_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_make_nil_03979_ () ; static ats_int_type compare_key_key_03978_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type search_69 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type search_69_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type search_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_search_03984_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type funmap_search_opt_03985_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_02900_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_02880_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type insert_73 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_73_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) ; static ats_ptr_type insert_73_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_insert_03986_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp87) ; ATSstatic (ats_ptr_type, statmp297) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp4 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp4) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 2821(line=112, offs=1) -- 3709(line=152, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_make: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2cst_stamp_make () ; tmp3 = ptr_alloc_01070_anairiats_rec_1 () ; tmp5 = ats_selsin_mac(tmp3, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_sym) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_loc) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_fil) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_kind) = arg3 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_decarg) = arg4 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_artylst) = arg5 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_type) = arg6 ; tmp6 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_hisexp) = tmp6 ; tmp7 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_funlab) = tmp7 ; tmp8 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_def) = tmp8 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_pack) = tmp1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_extdef) = arg7 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_d2cst_stamp) = tmp2 ; tmp0 = atspre_ref_make_view_ptr (tmp5) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 3758(line=155, offs=15) -- 3834(line=157, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym: tmp10 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp9 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp10), atslab_d2cst_sym) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 3907(line=162, offs=15) -- 3983(line=164, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_loc: tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp11 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_d2cst_loc) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4056(line=169, offs=15) -- 4132(line=171, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_fil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_fil: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp13 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_d2cst_fil) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_fil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4206(line=176, offs=16) -- 4283(line=178, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind: tmp16 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp15 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp16), atslab_d2cst_kind) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4360(line=183, offs=18) -- 4439(line=185, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg: tmp18 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_d2cst_decarg) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4519(line=190, offs=19) -- 4599(line=192, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst: tmp20 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp19 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp20), atslab_d2cst_artylst) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4677(line=197, offs=16) -- 4754(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type: tmp22 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp21 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp22), atslab_d2cst_type) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4831(line=204, offs=18) -- 4910(line=206, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_hisexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_hisexp: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp23 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp24), atslab_d2cst_hisexp) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 4967(line=208, offs=18) -- 5058(line=210, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_hisexp: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp26), atslab_d2cst_hisexp) = arg1 ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5137(line=215, offs=18) -- 5216(line=217, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_funlab (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_funlab: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp27 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp28), atslab_d2cst_funlab) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5273(line=219, offs=18) -- 5364(line=221, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_funlab: tmp30 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp30), atslab_d2cst_funlab) = arg1 ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5440(line=226, offs=15) -- 5516(line=228, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_def (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_def: tmp32 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp31 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp32), atslab_d2cst_def) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5567(line=230, offs=15) -- 5655(line=232, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_def (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_def: tmp34 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp34), atslab_d2cst_def) = arg1 ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5729(line=237, offs=16) -- 5806(line=239, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_pack (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_pack: tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp35 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp36), atslab_d2cst_pack) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_pack] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 5883(line=244, offs=18) -- 5962(line=246, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp37 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp38), atslab_d2cst_extdef) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6040(line=251, offs=17) -- 6118(line=253, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp: tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp39 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp40), atslab_d2cst_stamp) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6217(line=260, offs=16) -- 6268(line=261, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg0) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6342(line=267, offs=13) -- 6376(line=267, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2cst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2cst: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (stdout, arg0) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6399(line=269, offs=13) -- 6433(line=269, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (stderr, arg0) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6458(line=272, offs=14) -- 6514(line=273, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp46) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6564(line=277, offs=5) -- 6884(line=293, offs=4) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_bool_type, tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_int_type, tmp54) ; __ats_lab_loop_23: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp52 = atspre_gt_int_int (arg3, 0) ; if (tmp52) { /* tmp51 = */ atspre_fprint_string (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp49) ; tmp54 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp50 ; arg2 = arg2 ; arg3 = tmp54 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp48) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 6541(line=275, offs=17) -- 6954(line=299, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cstlst: /* tmp47 = */ loop_23 (arg0, arg1, ATSstrcst(", "), 0) ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7028(line=304, offs=14) -- 7098(line=306, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_prf: tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp56) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7150(line=308, offs=17) -- 7223(line=310, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_nonprf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_nonprf: tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg0) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonprf (tmp58) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_nonprf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7297(line=315, offs=14) -- 7352(line=316, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mac (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mac: tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg0) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mac (tmp60) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7428(line=322, offs=17) -- 7590(line=329, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_int_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp62)->tag != 0) { goto __ats_lab_3_0 ; } tmp63 = ats_caselptrlab_mac(anairiats_sum_3, tmp62, atslab_0) ; if (tmp63 != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp62)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp61 = ats_false_bool ; break ; } while (0) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7667(line=334, offs=17) -- 7711(line=335, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec: tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind (arg0) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun (tmp65) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7768(line=338, offs=17) -- 7812(line=339, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_valdec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_valdec: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind (arg0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_val (tmp67) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_valdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7869(line=342, offs=17) -- 7916(line=343, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind (arg0) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_castfn (tmp69) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp71) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp71 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp71 = ats_false_bool ; break ; } while (0) ; return (tmp71) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 7997(line=349, offs=17) -- 8040(line=350, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_tmpcst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_tmpcst: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg0) ; tmp70 = list_is_cons_01295_ (tmp72) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8094(line=355, offs=18) -- 8153(line=356, offs=52) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mainats (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mainats: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg0) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mainats (tmp74) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mainats] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8234(line=363, offs=3) -- 8266(line=363, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lt_d2cst_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lt_d2cst_d2cst: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; tmp75 = atspre_ilt (tmp76, 0) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lt_d2cst_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8324(line=368, offs=3) -- 8357(line=368, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lte_d2cst_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lte_d2cst_d2cst: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; tmp77 = atspre_ilte (tmp78, 0) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__lte_d2cst_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8415(line=373, offs=3) -- 8447(line=373, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst: tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; tmp79 = atspre_ieq (tmp80, 0) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8505(line=378, offs=3) -- 8538(line=378, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2cst_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2cst_d2cst: tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; tmp81 = atspre_ineq (tmp82, 0) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2cst_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8599(line=382, offs=21) -- 8678(line=383, offs=69) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg1) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp84, tmp85) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 8942(line=397, offs=11) -- 9027(line=401, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_39 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp86) ; __ats_lab___ats_fun_39: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; return (tmp86) ; } /* end of [__ats_fun_39] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_39_closure_type ; ats_int_type __ats_fun_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_39 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_39_closure_init (__ats_fun_39_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_39_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_39_closure_make () { __ats_fun_39_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_39_closure_type)) ; __ats_fun_39_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03921_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_funset_make_nil_03921_: tmp89 = (ats_sum_ptr_type)0 ; return (tmp89) ; } /* end of [funset_make_nil_03921_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9176(line=410, offs=14) -- 9203(line=410, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_nil: tmp88 = funset_make_nil_03921_ () ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_03920_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp97) ; __ats_lab_compare_elt_elt_03920_ats_ptr_type: tmp97 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp97) ; } /* end of [compare_elt_elt_03920_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4143(line=153, offs=7) -- 4406(line=161, offs=20) */ ATSstaticdec() ats_bool_type aux_44 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_bool_type, tmp99) ; __ats_lab_aux_44: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp94 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_3) ; tmp96 = compare_elt_elt_03920_ats_ptr_type (env0, tmp93, env1) ; tmp98 = atspre_lt_int_int (tmp96, 0) ; if (tmp98) { arg0 = tmp94 ; goto __ats_lab_aux_44 ; // tail call } else { tmp99 = atspre_gt_int_int (tmp96, 0) ; if (tmp99) { arg0 = tmp95 ; goto __ats_lab_aux_44 ; // tail call } else { tmp92 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp92 = ats_false_bool ; break ; } while (0) ; return (tmp92) ; } /* end of [aux_44] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_44_closure_type ; ats_bool_type aux_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_44 (((aux_44_closure_type*)cloptr)->closure_env_0, ((aux_44_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_44_closure_init (aux_44_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_44_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_44_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_44_closure_type *p_clo = ATS_MALLOC(sizeof(aux_44_closure_type)) ; aux_44_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4104(line=152, offs=3) -- 4426(line=163, offs=2) */ ATSstaticdec() ats_bool_type funset_is_member_03928_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp91) ; __ats_lab_funset_is_member_03928_ats_ptr_type: tmp91 = aux_44 (arg1, arg2, arg0) ; return (tmp91) ; } /* end of [funset_is_member_03928_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9232(line=414, offs=3) -- 9275(line=414, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_ismem: tmp90 = funset_is_member_03928_ats_ptr_type (arg0, arg1, statmp87) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02209_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; __ats_lab_avltree_rrotate_02209_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp121 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_2) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_3) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp122 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_4, tmp122, atslab_0) ; tmp124 = tmp125 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp122 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp124 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp123 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_4, tmp123, atslab_0) ; tmp126 = tmp127 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp123 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp126 = 0 ; break ; } while (0) ; tmp129 = atspre_iadd (tmp124, 0) ; tmp128 = atspre_igte (tmp129, tmp126) ; if (tmp128) { tmp130 = atspre_iadd (tmp126, 1) ; tmp132 = atspre_imax (tmp124, tmp130) ; tmp131 = atspre_iadd (1, tmp132) ; tmp133 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp133, atslab_0, tmp130) ; ats_selptrset_mac(anairiats_sum_4, tmp133, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp133, atslab_2, tmp123) ; ats_selptrset_mac(anairiats_sum_4, tmp133, atslab_3, arg4) ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_0, tmp131) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_1, tmp121) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_2, tmp122) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_3, tmp133) ; } else { // if (tmp123 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp134 = ats_caselptrlab_mac(anairiats_sum_4, tmp123, atslab_1) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_4, tmp123, atslab_2) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_4, tmp123, atslab_3) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp135 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_4, tmp135, atslab_0) ; tmp137 = tmp138 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp135 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp137 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp136 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_4, tmp136, atslab_0) ; tmp139 = tmp140 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp136 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp139 = 0 ; break ; } while (0) ; tmp143 = atspre_imax (tmp124, tmp137) ; tmp142 = atspre_iadd (1, tmp143) ; tmp141 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_0, tmp142) ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_1, tmp121) ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_2, tmp122) ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_3, tmp135) ; tmp146 = atspre_imax (tmp139, arg3) ; tmp145 = atspre_iadd (1, tmp146) ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp144, atslab_0, tmp145) ; ats_selptrset_mac(anairiats_sum_4, tmp144, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp144, atslab_2, tmp136) ; ats_selptrset_mac(anairiats_sum_4, tmp144, atslab_3, arg4) ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_1, tmp134) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_2, tmp141) ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_3, tmp144) ; } /* end of [if] */ return (tmp120) ; } /* end of [avltree_rrotate_02209_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02192_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_int_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_int_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; ATSlocal (ats_int_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_int_type, tmp183) ; __ats_lab_avltree_lrotate_02192_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp158 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_2) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_3) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (tmp159 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_0) ; tmp161 = tmp162 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (tmp159 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp161 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp160 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ; tmp163 = tmp164 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp160 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp163 = 0 ; break ; } while (0) ; tmp166 = atspre_iadd (tmp163, 0) ; tmp165 = atspre_ilte (tmp161, tmp166) ; if (tmp165) { tmp167 = atspre_iadd (tmp161, 1) ; tmp169 = atspre_imax (tmp167, tmp163) ; tmp168 = atspre_iadd (1, tmp169) ; tmp170 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp170, atslab_0, tmp167) ; ats_selptrset_mac(anairiats_sum_4, tmp170, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp170, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp170, atslab_3, tmp159) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_0, tmp168) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_1, tmp158) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_2, tmp170) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_3, tmp160) ; } else { // if (tmp159 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp171 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_1) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_2) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_4, tmp159, atslab_3) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp172 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_4, tmp172, atslab_0) ; tmp174 = tmp175 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp172 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp174 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp173 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_4, tmp173, atslab_0) ; tmp176 = tmp177 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp173 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp176 = 0 ; break ; } while (0) ; tmp180 = atspre_imax (arg1, tmp174) ; tmp179 = atspre_iadd (1, tmp180) ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp178, atslab_0, tmp179) ; ats_selptrset_mac(anairiats_sum_4, tmp178, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp178, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp178, atslab_3, tmp172) ; tmp183 = atspre_imax (tmp176, tmp163) ; tmp182 = atspre_iadd (1, tmp183) ; tmp181 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_0, tmp182) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_1, tmp158) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_2, tmp173) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_3, tmp160) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_1, tmp171) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_2, tmp178) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_3, tmp181) ; } /* end of [if] */ return (tmp157) ; } /* end of [avltree_lrotate_02192_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_48 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_bool_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_int_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_int_type, tmp152) ; ATSlocal (ats_bool_type, tmp153) ; ATSlocal (ats_int_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab_insert_48: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_9_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_3) ; tmp109 = compare_elt_elt_03920_ats_ptr_type (env0, tmp106, env1) ; tmp110 = atspre_lt_int_int (tmp109, 0) ; if (tmp110) { tmp111 = insert_48 (env0, env1, tmp107, arg1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp111 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_4, tmp111, atslab_0) ; tmp112 = tmp113 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp111 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp112 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp108 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_4, tmp108, atslab_0) ; tmp114 = tmp115 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp108 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp114 = 0 ; break ; } while (0) ; tmp117 = atspre_isub (tmp112, tmp114) ; tmp116 = atspre_ilte (tmp117, 1) ; if (tmp116) { tmp119 = atspre_imax (tmp112, tmp114) ; tmp118 = atspre_iadd (1, tmp119) ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, tmp118) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, tmp106) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp111) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp108) ; } else { tmp104 = avltree_rrotate_02209_ats_ptr_type (tmp106, tmp112, tmp111, tmp114, tmp108) ; } /* end of [if] */ } else { tmp147 = atspre_gt_int_int (tmp109, 0) ; if (tmp147) { tmp148 = insert_48 (env0, env1, tmp108, arg1) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (tmp107 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_4, tmp107, atslab_0) ; tmp149 = tmp150 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (tmp107 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp149 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp148 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_4, tmp148, atslab_0) ; tmp151 = tmp152 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (tmp148 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp151 = 0 ; break ; } while (0) ; tmp154 = atspre_isub (tmp151, tmp149) ; tmp153 = atspre_ilte (tmp154, 1) ; if (tmp153) { tmp156 = atspre_imax (tmp149, tmp151) ; tmp155 = atspre_iadd (1, tmp156) ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, tmp155) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, tmp106) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp107) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp148) ; } else { tmp104 = avltree_lrotate_02192_ats_ptr_type (tmp106, tmp149, tmp107, tmp151, tmp148) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, tmp105) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp107) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp108) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp184 = (ats_sum_ptr_type)0 ; tmp185 = (ats_sum_ptr_type)0 ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_2, tmp184) ; ats_selptrset_mac(anairiats_sum_4, tmp104, atslab_3, tmp185) ; break ; } while (0) ; return (tmp104) ; } /* end of [insert_48] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_48_closure_type ; ats_ptr_type insert_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_48 (((insert_48_closure_type*)cloptr)->closure_env_0, ((insert_48_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_48_closure_init (insert_48_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_48_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_48_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_48_closure_type *p_clo = ATS_MALLOC(sizeof(insert_48_closure_type)) ; insert_48_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03930_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_funset_insert_03930_ats_ptr_type: /* ats_bool_type tmp186 ; */ tmp187 = insert_48 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp186)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp187 ; tmp103 = tmp186 ; return (tmp103) ; } /* end of [funset_insert_03930_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9329(line=419, offs=3) -- 9418(line=422, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_add: /* ats_ptr_type tmp101 ; */ tmp101 = arg0 ; tmp102 = funset_insert_03930_ats_ptr_type ((&tmp101), arg1, statmp87) ; tmp100 = tmp101 ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_03949_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_linset_make_nil_03949_: tmp189 = (ats_sum_ptr_type)0 ; return (tmp189) ; } /* end of [linset_make_nil_03949_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9492(line=427, offs=17) -- 9519(line=427, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_nil: tmp188 = linset_make_nil_03949_ () ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_03948_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp200) ; __ats_lab_compare_elt_elt_03948_ats_ptr_type: tmp200 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp200) ; } /* end of [compare_elt_elt_03948_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_02466_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; __ats_lab_avltree_height_02466_ats_ptr_type: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp205 = tmp206 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp205 = 0 ; break ; } while (0) ; return (tmp205) ; } /* end of [avltree_height_02466_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02520_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_bool_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_int_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_int_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab_avltree_rrotate_02520_ats_ptr_type: tmp216 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp216 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp217 = &ats_caselptrlab_mac(anairiats_sum_4, tmp216, atslab_0) ; tmp218 = &ats_caselptrlab_mac(anairiats_sum_4, tmp216, atslab_2) ; tmp219 = &ats_caselptrlab_mac(anairiats_sum_4, tmp216, atslab_3) ; tmp221 = ats_ptrget_mac(ats_ptr_type, tmp218) ; tmp220 = avltree_height_02466_ats_ptr_type (tmp221) ; tmp223 = ats_ptrget_mac(ats_ptr_type, tmp219) ; tmp222 = avltree_height_02466_ats_ptr_type (tmp223) ; tmp225 = atspre_iadd (tmp220, 0) ; tmp224 = atspre_igte (tmp225, tmp222) ; if (tmp224) { tmp226 = atspre_iadd (tmp222, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp226 ; tmp227 = ats_ptrget_mac(ats_ptr_type, tmp219) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp227 ; tmp229 = atspre_imax (tmp220, tmp226) ; tmp228 = atspre_iadd (1, tmp229) ; ats_ptrget_mac(ats_int_type, tmp217) = tmp228 ; ats_ptrget_mac(ats_ptr_type, tmp219) = arg5 ; tmp215 = tmp216 ; } else { tmp230 = ats_ptrget_mac(ats_ptr_type, tmp219) ; // if (tmp230 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp231 = &ats_caselptrlab_mac(anairiats_sum_4, tmp230, atslab_0) ; tmp232 = &ats_caselptrlab_mac(anairiats_sum_4, tmp230, atslab_2) ; tmp233 = &ats_caselptrlab_mac(anairiats_sum_4, tmp230, atslab_3) ; tmp235 = ats_ptrget_mac(ats_ptr_type, tmp232) ; tmp234 = avltree_height_02466_ats_ptr_type (tmp235) ; tmp237 = ats_ptrget_mac(ats_ptr_type, tmp233) ; tmp236 = avltree_height_02466_ats_ptr_type (tmp237) ; tmp239 = atspre_imax (tmp236, arg3) ; tmp238 = atspre_iadd (1, tmp239) ; ats_ptrget_mac(ats_int_type, arg0) = tmp238 ; tmp240 = ats_ptrget_mac(ats_ptr_type, tmp233) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp240 ; tmp242 = atspre_imax (tmp220, tmp234) ; tmp241 = atspre_iadd (1, tmp242) ; ats_ptrget_mac(ats_int_type, tmp217) = tmp241 ; tmp243 = ats_ptrget_mac(ats_ptr_type, tmp232) ; ats_ptrget_mac(ats_ptr_type, tmp219) = tmp243 ; ats_ptrget_mac(ats_int_type, tmp231) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp232) = tmp216 ; ats_ptrget_mac(ats_ptr_type, tmp233) = arg5 ; tmp215 = tmp230 ; } /* end of [if] */ return (tmp215) ; } /* end of [avltree_rrotate_02520_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02496_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_int_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_bool_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_int_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab_avltree_lrotate_02496_ats_ptr_type: tmp256 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp256 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp257 = &ats_caselptrlab_mac(anairiats_sum_4, tmp256, atslab_0) ; tmp258 = &ats_caselptrlab_mac(anairiats_sum_4, tmp256, atslab_2) ; tmp259 = &ats_caselptrlab_mac(anairiats_sum_4, tmp256, atslab_3) ; tmp261 = ats_ptrget_mac(ats_ptr_type, tmp258) ; tmp260 = avltree_height_02466_ats_ptr_type (tmp261) ; tmp263 = ats_ptrget_mac(ats_ptr_type, tmp259) ; tmp262 = avltree_height_02466_ats_ptr_type (tmp263) ; tmp265 = atspre_iadd (tmp262, 0) ; tmp264 = atspre_ilte (tmp260, tmp265) ; if (tmp264) { tmp266 = atspre_iadd (tmp260, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp266 ; tmp267 = ats_ptrget_mac(ats_ptr_type, tmp258) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp267 ; tmp269 = atspre_imax (tmp266, tmp262) ; tmp268 = atspre_iadd (1, tmp269) ; ats_ptrget_mac(ats_int_type, tmp257) = tmp268 ; ats_ptrget_mac(ats_ptr_type, tmp258) = arg5 ; tmp255 = tmp256 ; } else { tmp270 = ats_ptrget_mac(ats_ptr_type, tmp258) ; // if (tmp270 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp271 = &ats_caselptrlab_mac(anairiats_sum_4, tmp270, atslab_0) ; tmp272 = &ats_caselptrlab_mac(anairiats_sum_4, tmp270, atslab_2) ; tmp273 = &ats_caselptrlab_mac(anairiats_sum_4, tmp270, atslab_3) ; tmp275 = ats_ptrget_mac(ats_ptr_type, tmp272) ; tmp274 = avltree_height_02466_ats_ptr_type (tmp275) ; tmp277 = ats_ptrget_mac(ats_ptr_type, tmp273) ; tmp276 = avltree_height_02466_ats_ptr_type (tmp277) ; tmp279 = atspre_imax (arg1, tmp274) ; tmp278 = atspre_iadd (1, tmp279) ; ats_ptrget_mac(ats_int_type, arg0) = tmp278 ; tmp280 = ats_ptrget_mac(ats_ptr_type, tmp272) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp280 ; tmp282 = atspre_imax (tmp276, tmp262) ; tmp281 = atspre_iadd (1, tmp282) ; ats_ptrget_mac(ats_int_type, tmp257) = tmp281 ; tmp283 = ats_ptrget_mac(ats_ptr_type, tmp273) ; ats_ptrget_mac(ats_ptr_type, tmp258) = tmp283 ; ats_ptrget_mac(ats_int_type, tmp271) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp272) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp273) = tmp256 ; tmp255 = tmp270 ; } /* end of [if] */ return (tmp255) ; } /* end of [avltree_lrotate_02496_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_55 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_bool_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_bool_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_bool_type, tmp244) ; ATSlocal (ats_bool_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_bool_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab_insert_55: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_35_1: tmp195 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp196 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp197 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp198 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp201 = ats_ptrget_mac(ats_ptr_type, tmp196) ; tmp199 = compare_elt_elt_03948_ats_ptr_type (arg1, tmp201, env0) ; tmp202 = atspre_lt_int_int (tmp199, 0) ; if (tmp202) { tmp203 = insert_55 (env0, tmp197, arg1) ; tmp207 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp204 = avltree_height_02466_ats_ptr_type (tmp207) ; tmp209 = ats_ptrget_mac(ats_ptr_type, tmp198) ; tmp208 = avltree_height_02466_ats_ptr_type (tmp209) ; tmp211 = atspre_isub (tmp204, tmp208) ; tmp210 = atspre_ilte (tmp211, 1) ; if (tmp210) { tmp213 = atspre_imax (tmp204, tmp208) ; tmp212 = atspre_iadd (1, tmp213) ; ats_ptrget_mac(ats_int_type, tmp195) = tmp212 ; tmp194 = tmp203 ; } else { tmp214 = avltree_rrotate_02520_ats_ptr_type (tmp195, tmp204, tmp197, tmp208, tmp198, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp214 ; tmp194 = tmp203 ; } /* end of [if] */ } else { tmp244 = atspre_gt_int_int (tmp199, 0) ; if (tmp244) { tmp245 = insert_55 (env0, tmp198, arg1) ; tmp247 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp246 = avltree_height_02466_ats_ptr_type (tmp247) ; tmp249 = ats_ptrget_mac(ats_ptr_type, tmp198) ; tmp248 = avltree_height_02466_ats_ptr_type (tmp249) ; tmp251 = atspre_isub (tmp248, tmp246) ; tmp250 = atspre_ilte (tmp251, 1) ; if (tmp250) { tmp253 = atspre_imax (tmp246, tmp248) ; tmp252 = atspre_iadd (1, tmp253) ; ats_ptrget_mac(ats_int_type, tmp195) = tmp252 ; tmp194 = tmp245 ; } else { tmp254 = avltree_lrotate_02496_ats_ptr_type (tmp195, tmp246, tmp197, tmp248, tmp198, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp254 ; tmp194 = tmp245 ; } /* end of [if] */ } else { tmp194 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp285 = (ats_sum_ptr_type)0 ; tmp286 = (ats_sum_ptr_type)0 ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_2, tmp285) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_3, tmp286) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp284 ; tmp194 = ats_false_bool ; break ; } while (0) ; return (tmp194) ; } /* end of [insert_55] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_55_closure_type ; ats_bool_type insert_55_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_55 (((insert_55_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_55_closure_init (insert_55_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_55_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_55_closure_make (ats_clo_ref_type env0) { insert_55_closure_type *p_clo = ATS_MALLOC(sizeof(insert_55_closure_type)) ; insert_55_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_03958_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp193) ; __ats_lab_linset_insert_03958_ats_ptr_type: tmp193 = insert_55 (arg2, arg0, arg1) ; return (tmp193) ; } /* end of [linset_insert_03958_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9549(line=431, offs=3) -- 9636(line=434, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_bool_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_add: /* ats_ptr_type tmp191 ; */ tmp191 = arg0 ; tmp192 = linset_insert_03958_ats_ptr_type ((&tmp191), arg1, statmp87) ; tmp190 = tmp191 ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_62 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; __ats_lab_aux_62: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp293 = aux_62 (tmp292, arg1) ; tmp294 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp294, atslab_0, tmp290) ; ats_selptrset_mac(anairiats_sum_2, tmp294, atslab_1, tmp293) ; arg0 = tmp291 ; arg1 = tmp294 ; goto __ats_lab_aux_62 ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp289 = arg1 ; break ; } while (0) ; return (tmp289) ; } /* end of [aux_62] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_03974_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_linset_listize_free_03974_ats_ptr_type: tmp295 = (ats_sum_ptr_type)0 ; tmp288 = aux_62 (arg0, tmp295) ; return (tmp288) ; } /* end of [linset_listize_free_03974_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9701(line=437, offs=26) -- 9735(line=437, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_listize_free: tmp287 = linset_listize_free_03974_ats_ptr_type (arg0) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 9893(line=449, offs=11) -- 9978(line=453, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_63 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp296) ; __ats_lab___ats_fun_63: tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2cst_d2cst (arg0, arg1) ; return (tmp296) ; } /* end of [__ats_fun_63] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_63_closure_type ; ats_int_type __ats_fun_63_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_63 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_63_closure_init (__ats_fun_63_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_63_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_63_closure_make () { __ats_fun_63_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_63_closure_type)) ; __ats_fun_63_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 2871(line=98, offs=29) -- 2880(line=98, offs=38) */ ATSstaticdec() ats_ptr_type funmap_make_nil_03979_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp299) ; __ats_lab_funmap_make_nil_03979_: tmp299 = (ats_sum_ptr_type)0 ; return (tmp299) ; } /* end of [funmap_make_nil_03979_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 10095(line=462, offs=14) -- 10122(line=462, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp298) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_nil: tmp298 = funmap_make_nil_03979_ () ; return (tmp298) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 1960(line=59, offs=32) -- 1988(line=59, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_03978_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp311) ; __ats_lab_compare_key_key_03978_ats_ptr_type: tmp311 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp311) ; } /* end of [compare_key_key_03978_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3756(line=137, offs=7) -- 4334(line=154, offs=6) */ ATSstaticdec() ats_bool_type search_69 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_int_type, tmp310) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_bool_type, tmp313) ; __ats_lab_search_69: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_41_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp307 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_4) ; tmp310 = compare_key_key_03978_ats_ptr_type (env0, tmp306, env1) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp312 = atspre_lt_int_int (tmp310, 0) ; if (!tmp312) { goto __ats_lab_43_1 ; } arg0 = tmp308 ; arg1 = arg1 ; goto __ats_lab_search_69 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp313 = atspre_gt_int_int (tmp310, 0) ; if (!tmp313) { goto __ats_lab_44_1 ; } arg0 = tmp309 ; arg1 = arg1 ; goto __ats_lab_search_69 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: ats_ptrget_mac(ats_ptr_type, arg1) = tmp307 ; tmp305 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp305 = ats_false_bool ; break ; } while (0) ; return (tmp305) ; } /* end of [search_69] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_69_closure_type ; ats_bool_type search_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return search_69 (((search_69_closure_type*)cloptr)->closure_env_0, ((search_69_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type search_69_closure_init (search_69_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_69_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_69_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_69_closure_type *p_clo = ATS_MALLOC(sizeof(search_69_closure_type)) ; search_69_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3706(line=136, offs=3) -- 4355(line=155, offs=2) */ ATSstaticdec() ats_bool_type funmap_search_03984_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp304) ; __ats_lab_funmap_search_03984_ats_ptr_type_2cats_ptr_type: tmp304 = search_69 (arg1, arg2, arg0, arg3) ; return (tmp304) ; } /* end of [funmap_search_03984_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 4423(line=160, offs=3) -- 4687(line=173, offs=4) */ ATSstaticdec() ats_ptr_type funmap_search_opt_03985_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_bool_type, tmp303) ; __ats_lab_funmap_search_opt_03985_ats_ptr_type_2cats_ptr_type: /* ats_ptr_type tmp302 ; */ tmp303 = funmap_search_03984_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, (&tmp302)) ; if (tmp303) { tmp301 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp301, atslab_0, tmp302) ; } else { tmp301 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp301) ; } /* end of [funmap_search_opt_03985_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 10156(line=466, offs=7) -- 10208(line=467, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_search: tmp300 = funmap_search_opt_03985_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp297) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 5755(line=209, offs=46) -- 6474(line=231, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02900_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_int_type, tmp338) ; ATSlocal (ats_int_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_bool_type, tmp342) ; ATSlocal (ats_int_type, tmp343) ; ATSlocal (ats_int_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_int_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_int_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; __ats_lab_avltree_rrotate_02900_ats_ptr_type_2cats_ptr_type: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp334 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_1) ; tmp335 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_2) ; tmp336 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_3) ; tmp337 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_4) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp336 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_5, tmp336, atslab_0) ; tmp338 = tmp339 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp336 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp338 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp337 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp341 = ats_caselptrlab_mac(anairiats_sum_5, tmp337, atslab_0) ; tmp340 = tmp341 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (tmp337 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp340 = 0 ; break ; } while (0) ; tmp343 = atspre_iadd (tmp338, 0) ; tmp342 = atspre_igte (tmp343, tmp340) ; if (tmp342) { tmp344 = atspre_iadd (tmp340, 1) ; tmp346 = atspre_imax (tmp338, tmp344) ; tmp345 = atspre_iadd (1, tmp346) ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp347, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_5, tmp347, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp347, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp347, atslab_3, tmp337) ; ats_selptrset_mac(anairiats_sum_5, tmp347, atslab_4, arg5) ; tmp333 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_0, tmp345) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_1, tmp334) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_2, tmp335) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_3, tmp336) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_4, tmp347) ; } else { // if (tmp337 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp348 = ats_caselptrlab_mac(anairiats_sum_5, tmp337, atslab_1) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_5, tmp337, atslab_2) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_5, tmp337, atslab_3) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_5, tmp337, atslab_4) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (tmp350 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp353 = ats_caselptrlab_mac(anairiats_sum_5, tmp350, atslab_0) ; tmp352 = tmp353 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp350 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp352 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (tmp351 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_5, tmp351, atslab_0) ; tmp354 = tmp355 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (tmp351 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp354 = 0 ; break ; } while (0) ; tmp358 = atspre_imax (tmp338, tmp352) ; tmp357 = atspre_iadd (1, tmp358) ; tmp356 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp356, atslab_0, tmp357) ; ats_selptrset_mac(anairiats_sum_5, tmp356, atslab_1, tmp334) ; ats_selptrset_mac(anairiats_sum_5, tmp356, atslab_2, tmp335) ; ats_selptrset_mac(anairiats_sum_5, tmp356, atslab_3, tmp336) ; ats_selptrset_mac(anairiats_sum_5, tmp356, atslab_4, tmp350) ; tmp361 = atspre_imax (tmp354, arg4) ; tmp360 = atspre_iadd (1, tmp361) ; tmp359 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp359, atslab_0, tmp360) ; ats_selptrset_mac(anairiats_sum_5, tmp359, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp359, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp359, atslab_3, tmp351) ; ats_selptrset_mac(anairiats_sum_5, tmp359, atslab_4, arg5) ; tmp333 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_1, tmp348) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_2, tmp349) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_3, tmp356) ; ats_selptrset_mac(anairiats_sum_5, tmp333, atslab_4, tmp359) ; } /* end of [if] */ return (tmp333) ; } /* end of [avltree_rrotate_02900_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 4857(line=181, offs=46) -- 5607(line=203, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02880_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_int_type, tmp378) ; ATSlocal (ats_int_type, tmp379) ; ATSlocal (ats_int_type, tmp380) ; ATSlocal (ats_bool_type, tmp381) ; ATSlocal (ats_int_type, tmp382) ; ATSlocal (ats_int_type, tmp383) ; ATSlocal (ats_int_type, tmp384) ; ATSlocal (ats_int_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_int_type, tmp391) ; ATSlocal (ats_int_type, tmp392) ; ATSlocal (ats_int_type, tmp393) ; ATSlocal (ats_int_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_int_type, tmp396) ; ATSlocal (ats_int_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_int_type, tmp399) ; ATSlocal (ats_int_type, tmp400) ; __ats_lab_avltree_lrotate_02880_ats_ptr_type_2cats_ptr_type: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp373 = ats_caselptrlab_mac(anairiats_sum_5, arg5, atslab_1) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_5, arg5, atslab_2) ; tmp375 = ats_caselptrlab_mac(anairiats_sum_5, arg5, atslab_3) ; tmp376 = ats_caselptrlab_mac(anairiats_sum_5, arg5, atslab_4) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp375 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp378 = ats_caselptrlab_mac(anairiats_sum_5, tmp375, atslab_0) ; tmp377 = tmp378 ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (tmp375 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp377 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (tmp376 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp380 = ats_caselptrlab_mac(anairiats_sum_5, tmp376, atslab_0) ; tmp379 = tmp380 ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (tmp376 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp379 = 0 ; break ; } while (0) ; tmp382 = atspre_iadd (tmp379, 0) ; tmp381 = atspre_ilte (tmp377, tmp382) ; if (tmp381) { tmp383 = atspre_iadd (tmp377, 1) ; tmp385 = atspre_imax (tmp383, tmp379) ; tmp384 = atspre_iadd (1, tmp385) ; tmp386 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp386, atslab_0, tmp383) ; ats_selptrset_mac(anairiats_sum_5, tmp386, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp386, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp386, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp386, atslab_4, tmp375) ; tmp372 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_0, tmp384) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_1, tmp373) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_2, tmp374) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_3, tmp386) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_4, tmp376) ; } else { // if (tmp375 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp387 = ats_caselptrlab_mac(anairiats_sum_5, tmp375, atslab_1) ; tmp388 = ats_caselptrlab_mac(anairiats_sum_5, tmp375, atslab_2) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_5, tmp375, atslab_3) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_5, tmp375, atslab_4) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (tmp389 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_5, tmp389, atslab_0) ; tmp391 = tmp392 ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (tmp389 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp391 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (tmp390 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp394 = ats_caselptrlab_mac(anairiats_sum_5, tmp390, atslab_0) ; tmp393 = tmp394 ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (tmp390 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp393 = 0 ; break ; } while (0) ; tmp397 = atspre_imax (arg2, tmp391) ; tmp396 = atspre_iadd (1, tmp397) ; tmp395 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_0, tmp396) ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp395, atslab_4, tmp389) ; tmp400 = atspre_imax (tmp393, tmp379) ; tmp399 = atspre_iadd (1, tmp400) ; tmp398 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp398, atslab_0, tmp399) ; ats_selptrset_mac(anairiats_sum_5, tmp398, atslab_1, tmp373) ; ats_selptrset_mac(anairiats_sum_5, tmp398, atslab_2, tmp374) ; ats_selptrset_mac(anairiats_sum_5, tmp398, atslab_3, tmp390) ; ats_selptrset_mac(anairiats_sum_5, tmp398, atslab_4, tmp376) ; tmp372 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_1, tmp387) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_2, tmp388) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_3, tmp395) ; ats_selptrset_mac(anairiats_sum_5, tmp372, atslab_4, tmp398) ; } /* end of [if] */ return (tmp372) ; } /* end of [avltree_lrotate_02880_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6597(line=238, offs=7) -- 7899(line=271, offs=6) */ ATSstaticdec() ats_ptr_type insert_73 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_int_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_int_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_int_type, tmp328) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_int_type, tmp330) ; ATSlocal (ats_int_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_int_type, tmp364) ; ATSlocal (ats_int_type, tmp365) ; ATSlocal (ats_int_type, tmp366) ; ATSlocal (ats_int_type, tmp367) ; ATSlocal (ats_bool_type, tmp368) ; ATSlocal (ats_int_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; __ats_lab_insert_73: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_46_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp319 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp320 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_4) ; tmp322 = compare_key_key_03978_ats_ptr_type (env0, tmp318, env2) ; tmp323 = atspre_lt_int_int (tmp322, 0) ; if (tmp323) { tmp324 = insert_73 (env0, env1, env2, tmp320, arg1) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (tmp324 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_5, tmp324, atslab_0) ; tmp325 = tmp326 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp324 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp325 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp321 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_5, tmp321, atslab_0) ; tmp327 = tmp328 ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp321 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp327 = 0 ; break ; } while (0) ; tmp330 = atspre_isub (tmp325, tmp327) ; tmp329 = atspre_ilte (tmp330, 1) ; if (tmp329) { tmp332 = atspre_imax (tmp325, tmp327) ; tmp331 = atspre_iadd (1, tmp332) ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_0, tmp331) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_1, tmp318) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_2, tmp319) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_3, tmp324) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_4, tmp321) ; } else { tmp316 = avltree_rrotate_02900_ats_ptr_type_2cats_ptr_type (tmp318, tmp319, tmp325, tmp324, tmp327, tmp321) ; } /* end of [if] */ } else { tmp362 = atspre_gt_int_int (tmp322, 0) ; if (tmp362) { tmp363 = insert_73 (env0, env1, env2, tmp321, arg1) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (tmp320 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_5, tmp320, atslab_0) ; tmp364 = tmp365 ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (tmp320 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp364 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (tmp363 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp367 = ats_caselptrlab_mac(anairiats_sum_5, tmp363, atslab_0) ; tmp366 = tmp367 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (tmp363 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp366 = 0 ; break ; } while (0) ; tmp369 = atspre_isub (tmp366, tmp364) ; tmp368 = atspre_ilte (tmp369, 1) ; if (tmp368) { tmp371 = atspre_imax (tmp364, tmp366) ; tmp370 = atspre_iadd (1, tmp371) ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_0, tmp370) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_1, tmp318) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_2, tmp319) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_3, tmp320) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_4, tmp363) ; } else { tmp316 = avltree_lrotate_02880_ats_ptr_type_2cats_ptr_type (tmp318, tmp319, tmp364, tmp320, tmp366, tmp363) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_0, tmp317) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_1, tmp318) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_3, tmp320) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_4, tmp321) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp401 = (ats_sum_ptr_type)0 ; tmp402 = (ats_sum_ptr_type)0 ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_3, tmp401) ; ats_selptrset_mac(anairiats_sum_5, tmp316, atslab_4, tmp402) ; break ; } while (0) ; return (tmp316) ; } /* end of [insert_73] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_clo_ref_type closure_env_2 ; } insert_73_closure_type ; ats_ptr_type insert_73_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_73 (((insert_73_closure_type*)cloptr)->closure_env_0, ((insert_73_closure_type*)cloptr)->closure_env_1, ((insert_73_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_73_closure_init (insert_73_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_73_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type insert_73_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { insert_73_closure_type *p_clo = ATS_MALLOC(sizeof(insert_73_closure_type)) ; insert_73_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6560(line=237, offs=3) -- 7985(line=274, offs=2) */ ATSstaticdec() ats_bool_type funmap_insert_03986_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp315) ; ATSlocal (ats_bool_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab_funmap_insert_03986_ats_ptr_type_2cats_ptr_type: /* ats_bool_type tmp403 ; */ tmp404 = insert_73 (arg1, arg2, arg3, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp403)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp404 ; tmp315 = tmp403 ; return (tmp315) ; } /* end of [funmap_insert_03986_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dcst.dats: 10270(line=472, offs=7) -- 10324(line=473, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_insert: tmp314 = funmap_insert_03986_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp297) ; return (tmp314) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_insert] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp87, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp297, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp87 = __ats_fun_39_closure_make () ; statmp297 = __ats_fun_63_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp2_dcst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_caseof_dats.c0000664000175000017500000006055712655455557021237 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_caseof.dats: 1810(line=63, offs=3) -- 2079(line=76, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_0) ; tmp2 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv (arg0, arg1, tmp1) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (arg0, arg1, tmp2) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, tmp3) ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_1, tmp4) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp0 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_caseof.dats: 2165(line=82, offs=3) -- 2769(line=111, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_loc) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp7)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_caseof.dats: 2230(line=85, offs=5) -- 2277(line=86, offs=40)") ; } tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_1) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_2) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (arg0, arg1, tmp9) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp8)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp8)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp12)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, tmp6) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (((ats_sum_ptr_type)tmp8)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp12)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, tmp6) ; break ; } while (0) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp (arg0, tmp13, tmp11, tmp10, arg2, tmp12) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof (tmp6, tmp14) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp15) ; return /* (tmp5) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_caseof_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_simplify_dats.c0000664000175000017500000035246612655455557023004 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ecst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eiatm_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eimul_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Esizeof_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eapp_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19) ; /* 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_bool_type, atspre_neg_bool) (ats_bool_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_ineg) (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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lt_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gte_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_pair) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_gte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_union) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_0) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_1) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_neg_1) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag) (ats_ref_type, ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type uns3exp_intinf_5 (ats_ptr_type arg0) ; static ats_ptr_type app_19 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type __ats_fun_22 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type uns3exp_icff_28 (ats_ptr_type arg0) ; static ats_ptr_type s3exp_icff_add_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s3exp_isum_pair_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_34 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_32 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s3exp_isum_list_31 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_36 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_36_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_36_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_38 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s3exp_imul_list_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_42 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_42_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_43 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_43_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 1731(line=60, offs=12) -- 2113(line=69, offs=24) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp2 = atspre_neg_bool (tmp1) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp0)->tag = 4 ; ats_selptrset_mac(anairiats_sum_1, tmp0, atslab_0, tmp2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp0 = tmp3 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp6)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, tmp4) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp7)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp7, atslab_0, tmp5) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp0)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_0, tmp6) ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_1, tmp7) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, tmp8) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp11)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_0, tmp9) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp0)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_0, tmp10) ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_1, tmp11) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp0)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_0, tmp12) ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_1, tmp13) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp0)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_0, tmp14) ; ats_selptrset_mac(anairiats_sum_3, tmp0, atslab_1, tmp15) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp18 = atspre_ineg (tmp16) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp0)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp0, atslab_0, tmp18) ; ats_selptrset_mac(anairiats_sum_4, tmp0, atslab_1, tmp17) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp0 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp0)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp0, atslab_0, arg0) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 2184(line=76, offs=3) -- 2450(line=87, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_badd (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_badd: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; if (tmp20) { tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true ; } else { tmp19 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; if (tmp21) { tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true ; } else { tmp19 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp19 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp19)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp19, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp19, atslab_1, arg1) ; break ; } while (0) ; break ; } while (0) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_badd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 2498(line=91, offs=3) -- 2770(line=103, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bmul (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bmul: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; if (tmp23) { tmp22 = arg1 ; } else { tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; if (tmp24) { tmp22 = arg0 ; } else { tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; } /* end of [if] */ break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp22 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp22)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp22, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp22, atslab_1, arg1) ; break ; } while (0) ; break ; } while (0) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bmul] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 2838(line=109, offs=3) -- 3061(line=117, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_bool_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; if (tmp26) { tmp25 = arg1 ; } else { tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (arg1) ; } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; if (tmp27) { tmp25 = arg0 ; } else { tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (arg0) ; } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp25 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp25)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp25, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp25, atslab_1, arg1) ; break ; } while (0) ; break ; } while (0) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 3124(line=122, offs=3) -- 3348(line=130, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneq: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; if (tmp29) { tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (arg1) ; } else { tmp28 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; if (tmp30) { tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (arg0) ; } else { tmp28 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp28)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp28, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp28, atslab_1, arg1) ; break ; } while (0) ; break ; } while (0) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 3414(line=136, offs=1) -- 3767(line=148, offs=20) */ ATSstaticdec() ats_ptr_type uns3exp_intinf_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_uns3exp_intinf_5: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp31 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp31, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp31 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp31, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_1) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_29_0 ; } __ats_lab_26_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp34 = uns3exp_intinf_5 (tmp33) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp34 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_5, tmp34, atslab_0) ; ATS_FREE(tmp34) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf (tmp32, tmp35) ; tmp31 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp31, atslab_0, tmp36) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp34 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp31 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp31 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp31) ; } /* end of [uns3exp_intinf_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 3818(line=152, offs=13) -- 4253(line=166, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq: tmp38 = uns3exp_intinf_5 (arg1) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp38 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_30_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_0) ; ATS_FREE(tmp38) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp40 = atspre_ieq (arg0, 2) ; if (!tmp40) { goto __ats_lab_32_1 ; } tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__gte_intinf_int (tmp39, 0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (tmp41) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp42 = atspre_ieq (arg0, -2) ; if (!tmp42) { goto __ats_lab_33_1 ; } tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__lt_intinf_int (tmp39, 0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (tmp43) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp44 = atspre_ieq (arg0, 1) ; if (!tmp44) { goto __ats_lab_34_1 ; } tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (tmp39, 0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (tmp45) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp46 = atspre_ieq (arg0, -1) ; if (!tmp46) { goto __ats_lab_35_1 ; } tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__neq_intinf_int (tmp39, 0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (tmp47) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp49 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4128(line=162, offs=18) -- 4144(line=162, offs=34)", ATSstrcst("\n")) ; /* tmp48 = */ atspre_assert_errmsg (ats_false_bool, tmp49) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; break ; } while (0) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (tmp38 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp37 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp37)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp37, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp37, atslab_1, arg1) ; break ; } while (0) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4320(line=171, offs=11) -- 4384(line=172, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilt: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg0, arg1) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (-2, tmp51) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4429(line=176, offs=12) -- 4493(line=177, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilte: tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg1, arg0) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (2, tmp53) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilte] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4538(line=181, offs=11) -- 4602(line=182, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igt: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg1, arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (-2, tmp55) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4647(line=186, offs=12) -- 4711(line=187, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igte: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg0, arg1) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (2, tmp57) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igte] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4756(line=191, offs=11) -- 4819(line=192, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg0, arg1) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (1, tmp59) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4864(line=196, offs=12) -- 4929(line=197, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineq: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (arg0, arg1) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bineq (-1, tmp61) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 4995(line=203, offs=11) -- 5062(line=205, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_int: tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (arg0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf (tmp63) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5109(line=207, offs=24) -- 5142(line=207, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5186(line=212, offs=12) -- 5554(line=230, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (arg0, 1) ; if (!tmp66) { goto __ats_lab_38_1 ; } tmp65 = arg1 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_int (arg0, 0) ; if (!tmp67) { goto __ats_lab_39_1 ; } tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__mul_intinf_intinf (arg0, tmp68) ; arg0 = tmp70 ; arg1 = tmp69 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff (arg0, tmp71) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp65)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_0, ats_castfn_mac(ats_ptr_type, tmp72)) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp65 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp65)->tag = 14 ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_1, arg1) ; break ; } while (0) ; break ; } while (0) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54647(line=1953, offs=6) -- 54699(line=1953, offs=58) */ ATSstaticdec() ats_ptr_type app_19 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_app_19: tmp76 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp76) ; } /* end of [app_19] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_loop_21: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp81 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp79, arg3) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp82, atslab_0, tmp81) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp82 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp83 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp80 ; arg1 = arg1 ; arg2 = tmp83 ; arg3 = arg3 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp84 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp84 ; break ; } while (0) ; return /* (tmp78) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp85) ; // ATSlocal_void (tmp86) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp85 ; */ /* tmp86 = */ loop_21 (arg0, arg1, (&tmp85), arg2) ; tmp77 = tmp85 ; return (tmp77) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54575(line=1951, offs=23) -- 54763(line=1956, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; __ats_lab_list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type: tmp75 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_19, arg1) ; return (tmp75) ; } /* end of [list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54041(line=1936, offs=19) -- 54491(line=1948, offs=2) */ ATSstaticdec() ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_list_map_cloptr_01415_ats_ptr_type_ats_ptr_type: tmp74 = list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (arg0, arg1) ; return (tmp74) ; } /* end of [list_map_cloptr_01415_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5638(line=234, offs=24) -- 5666(line=234, offs=52) */ ATSstaticdec() ats_ptr_type __ats_fun_22 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; __ats_lab___ats_fun_22: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (env0, arg0) ; return (tmp88) ; } /* end of [__ats_fun_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_22_closure_type ; ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_22 (((__ats_fun_22_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_22_closure_init (__ats_fun_22_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_22_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) { __ats_fun_22_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_22_closure_type)) ; __ats_fun_22_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5603(line=233, offs=15) -- 5667(line=234, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff: /* ats_ptr_type tmp87 ; */ tmp87 = __ats_fun_22_closure_make (arg0) ; tmp73 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg1, tmp87) ; ATS_FREE(tmp87) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5718(line=238, offs=12) -- 5752(line=238, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1, arg0) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 5796(line=243, offs=12) -- 5971(line=249, offs=27) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_46_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (tmp92 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp90 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp90)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp90, atslab_0, arg0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp92 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp90 = tmp91 ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 ; break ; } while (0) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 6041(line=255, offs=13) -- 6074(line=255, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isucc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isucc: tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isucc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 6097(line=257, offs=13) -- 6134(line=257, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ipred (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ipred: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_neg_1) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ipred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 6179(line=262, offs=13) -- 7078(line=306, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_53_0 ; } __ats_lab_50_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_gte (tmp96, tmp97) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp95 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_53_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (tmp98, tmp99) ; tmp95 = atspre_ilte (tmp100, 0) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp95 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_62_0 ; } __ats_lab_57_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (tmp101, tmp102) ; tmp95 = atspre_ilte (tmp103, 0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp95 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_68_0 ; } __ats_lab_62_1: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp95 = ats_false_bool ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp95 = ats_true_bool ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp95 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp95 = ats_false_bool ; break ; } while (0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 7136(line=312, offs=5) -- 7212(line=314, offs=42) */ ATSstaticdec() ats_ptr_type uns3exp_icff_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_uns3exp_icff_28: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp104 = tmp105 ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp104 = arg0 ; break ; } while (0) ; return (tmp104) ; } /* end of [uns3exp_icff_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 7292(line=320, offs=5) -- 7573(line=327, offs=40) */ ATSstaticdec() ats_ptr_type s3exp_icff_add_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_s3exp_icff_add_29: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_72_0 ; } __ats_lab_71_1: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_72_1 ; } __ats_lab_71_2: tmp107 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp109 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_intinf (tmp107, tmp109) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (tmp110, tmp108) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_73_0 ; } __ats_lab_72_1: __ats_lab_72_2: tmp111 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int (tmp111, 1) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (tmp113, tmp112) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_74_1 ; } __ats_lab_73_2: tmp114 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__add_intinf_int (tmp114, 1) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (tmp116, tmp115) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: __ats_lab_74_2: tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2, arg0) ; break ; } while (0) ; return (tmp106) ; } /* end of [s3exp_icff_add_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 7606(line=331, offs=1) -- 7981(line=349, offs=4) */ ATSstaticdec() ats_ptr_type s3exp_isum_pair_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_bool_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_s3exp_isum_pair_30: tmp118 = uns3exp_icff_28 (arg0) ; tmp119 = uns3exp_icff_28 (arg1) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte (tmp118, tmp119) ; if (tmp120) { tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte (tmp119, tmp118) ; if (tmp121) { tmp117 = s3exp_icff_add_29 (arg0, arg1) ; } else { tmp124 = (ats_sum_ptr_type)0 ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_1, tmp124) ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp122, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp122, atslab_1, tmp123) ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp117)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp117, atslab_0, tmp122) ; } /* end of [if] */ } else { tmp127 = (ats_sum_ptr_type)0 ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp126, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp126, atslab_1, tmp127) ; tmp125 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp125, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp125, atslab_1, tmp126) ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp117)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp117, atslab_0, tmp125) ; } /* end of [if] */ return (tmp117) ; } /* end of [s3exp_isum_pair_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_34 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_loop_34: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp146 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp146, atslab_0, tmp144) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp146 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp147 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp145 ; arg1 = tmp147 ; goto __ats_lab_loop_34 ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp148 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp148 ; break ; } while (0) ; return /* (tmp143) */ ; } /* end of [loop_34] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp149) ; // ATSlocal_void (tmp150) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp149 ; */ /* tmp150 = */ loop_34 (arg0, (&tmp149)) ; tmp142 = tmp149 ; return (tmp142) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 8093(line=356, offs=5) -- 9008(line=387, offs=35) */ ATSstaticdec() ats_ptr_type aux_32 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab_aux_32: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_75_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_76_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp134 = uns3exp_icff_28 (tmp130) ; tmp135 = uns3exp_icff_28 (tmp132) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte (tmp134, tmp135) ; if (tmp136) { tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isgte (tmp135, tmp134) ; if (tmp137) { tmp138 = s3exp_icff_add_29 (tmp130, tmp132) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp138)->tag != 2) { goto __ats_lab_78_0 ; } __ats_lab_77_1: arg0 = tmp131 ; arg1 = tmp133 ; goto __ats_lab_aux_32 ; // tail call break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp139 = aux_32 (tmp131, tmp133) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_0, tmp138) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_1, tmp139) ; break ; } while (0) ; } else { tmp140 = aux_32 (tmp131, arg1) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_0, tmp130) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_1, tmp140) ; } /* end of [if] */ } else { tmp141 = aux_32 (arg0, tmp133) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_0, tmp132) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_1, tmp141) ; } /* end of [if] */ break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: tmp129 = list_copy_01322_ats_ptr_type (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: tmp129 = list_copy_01322_ats_ptr_type (arg1) ; break ; } while (0) ; return (tmp129) ; } /* end of [aux_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 8015(line=352, offs=1) -- 9049(line=391, offs=4) */ ATSstaticdec() ats_ptr_type s3exp_isum_list_31 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; __ats_lab_s3exp_isum_list_31: tmp128 = aux_32 (arg0, arg1) ; return (tmp128) ; } /* end of [s3exp_isum_list_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 9246(line=402, offs=13) -- 9277(line=402, offs=44) */ ATSstaticdec() ats_ptr_type __ats_fun_36 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; __ats_lab___ats_fun_36: tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (env0, arg0) ; return (tmp156) ; } /* end of [__ats_fun_36] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_36_closure_type ; ats_ptr_type __ats_fun_36_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_36 (((__ats_fun_36_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_36_closure_init (__ats_fun_36_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_36_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_36_closure_make (ats_ptr_type env0) { __ats_fun_36_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_36_closure_type)) ; __ats_fun_36_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_38 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab_loop_38: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp162 ; goto __ats_lab_loop_38 ; // tail call break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: break ; } while (0) ; return /* (tmp161) */ ; } /* end of [loop_38] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp160) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp160 = */ loop_38 (arg0) ; return /* (tmp160) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 9083(line=394, offs=1) -- 9597(line=414, offs=4) */ ATSstaticdec() ats_ptr_type s3exp_imul_list_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp163) ; __ats_lab_s3exp_imul_list_35: do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; } __ats_lab_83_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* ats_ptr_type tmp155 ; */ tmp155 = __ats_fun_36_closure_make (tmp152) ; tmp154 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg1, tmp155) ; ATS_FREE(tmp155) ; tmp157 = s3exp_imul_list_35 (tmp153, arg1) ; tmp158 = s3exp_isum_list_31 (ats_castfn_mac(ats_ptr_type, tmp154), ats_castfn_mac(ats_ptr_type, tmp157)) ; /* tmp159 = */ list_vt_free_01499_ats_ptr_type (tmp154) ; /* tmp163 = */ list_vt_free_01499_ats_ptr_type (tmp157) ; tmp151 = tmp158 ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_86_1: tmp151 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp151) ; } /* end of [s3exp_imul_list_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 9674(line=420, offs=3) -- 10406(line=443, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; // ATSlocal_void (tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_88_0 ; } __ats_lab_87_1: __ats_lab_87_2: tmp164 = arg1 ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_89_0 ; } __ats_lab_88_2: tmp164 = arg0 ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_90_0 ; } __ats_lab_89_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_90_1 ; } __ats_lab_89_2: tmp165 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp167 = s3exp_isum_list_31 (tmp165, tmp166) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp167)) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_91_0 ; } __ats_lab_90_1: __ats_lab_90_2: tmp168 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp170 = (ats_sum_ptr_type)0 ; tmp169 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp169, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp169, atslab_1, tmp170) ; tmp171 = s3exp_isum_list_31 (tmp168, ats_castfn_mac(ats_ptr_type, tmp169)) ; /* tmp172 = */ list_vt_free_01499_ats_ptr_type (tmp169) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp171)) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_92_1 ; } __ats_lab_91_2: tmp173 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp175 = (ats_sum_ptr_type)0 ; tmp174 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp174, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp174, atslab_1, tmp175) ; tmp176 = s3exp_isum_list_31 (ats_castfn_mac(ats_ptr_type, tmp174), tmp173) ; /* tmp177 = */ list_vt_free_01499_ats_ptr_type (tmp174) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp176)) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: __ats_lab_92_2: tmp164 = s3exp_isum_pair_30 (arg0, arg1) ; break ; } while (0) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 10456(line=448, offs=3) -- 11495(line=479, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; // ATSlocal_void (tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_94_0 ; } __ats_lab_93_1: __ats_lab_93_2: tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (arg1) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_95_0 ; } __ats_lab_94_2: tmp178 = arg0 ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_96_0 ; } __ats_lab_95_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_96_1 ; } __ats_lab_95_2: tmp179 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1, tmp180) ; tmp182 = s3exp_isum_list_31 (tmp179, ats_castfn_mac(ats_ptr_type, tmp181)) ; /* tmp183 = */ list_vt_free_01499_ats_ptr_type (tmp181) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp182)) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_97_0 ; } __ats_lab_96_1: __ats_lab_96_2: tmp184 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (arg1) ; tmp187 = (ats_sum_ptr_type)0 ; tmp185 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_0, tmp186) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_1, tmp187) ; tmp188 = s3exp_isum_list_31 (tmp184, ats_castfn_mac(ats_ptr_type, tmp185)) ; /* tmp189 = */ list_vt_free_01499_ats_ptr_type (tmp185) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp188)) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_98_1 ; } __ats_lab_97_2: tmp190 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp192 = (ats_sum_ptr_type)0 ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_1, tmp192) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_icff (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1, tmp190) ; tmp194 = s3exp_isum_list_31 (ats_castfn_mac(ats_ptr_type, tmp191), ats_castfn_mac(ats_ptr_type, tmp193)) ; /* tmp195 = */ list_vt_free_01499_ats_ptr_type (tmp191) ; /* tmp196 = */ list_vt_free_01499_ats_ptr_type (tmp193) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp194)) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: __ats_lab_98_2: tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (arg1) ; tmp178 = s3exp_isum_pair_30 (arg0, tmp197) ; break ; } while (0) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 12527(line=516, offs=37) -- 12558(line=516, offs=68) */ ATSstaticdec() ats_ptr_type __ats_fun_42 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; __ats_lab___ats_fun_42: tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (arg0, env0) ; return (tmp223) ; } /* end of [__ats_fun_42] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_42_closure_type ; ats_ptr_type __ats_fun_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_42 (((__ats_fun_42_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_42_closure_init (__ats_fun_42_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_42_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_42_closure_make (ats_ptr_type env0) { __ats_fun_42_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_42_closure_type)) ; __ats_fun_42_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 12681(line=521, offs=37) -- 12712(line=521, offs=68) */ ATSstaticdec() ats_ptr_type __ats_fun_43 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp227) ; __ats_lab___ats_fun_43: tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (env0, arg0) ; return (tmp227) ; } /* end of [__ats_fun_43] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_43_closure_type ; ats_ptr_type __ats_fun_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_43 (((__ats_fun_43_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_43_closure_init (__ats_fun_43_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_43_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_43_closure_make (ats_ptr_type env0) { __ats_fun_43_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_43_closure_type)) ; __ats_fun_43_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 11545(line=484, offs=3) -- 12809(line=528, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_100_0 ; } __ats_lab_99_1: __ats_lab_99_2: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_101_0 ; } __ats_lab_100_2: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_102_0 ; } __ats_lab_101_1: __ats_lab_101_2: tmp198 = arg1 ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_103_0 ; } __ats_lab_102_2: tmp198 = arg0 ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_104_0 ; } __ats_lab_103_1: __ats_lab_103_2: tmp199 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (tmp200, arg1) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (tmp199, tmp201) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_105_0 ; } __ats_lab_104_2: tmp202 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (arg0, tmp203) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_icff (tmp202, tmp204) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_107_1 ; } __ats_lab_105_2: tmp205 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_pair (tmp205, tmp206) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, tmp207) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_107_0 ; } __ats_lab_106_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_108_1 ; } __ats_lab_106_2: tmp208 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add (tmp208, tmp209) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, tmp210) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_111_1 ; } __ats_lab_107_2: tmp211 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_add (tmp212, tmp211) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, tmp213) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_109_0 ; } __ats_lab_108_1: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_111_1 ; } __ats_lab_108_2: tmp214 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_union (tmp214, tmp215) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, tmp216) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_110_0 ; } __ats_lab_109_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_110_1 ; } __ats_lab_109_2: tmp217 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp219 = s3exp_imul_list_35 (tmp217, tmp218) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isum (ats_castfn_mac(ats_ptr_type, tmp219)) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_111_0 ; } __ats_lab_110_1: __ats_lab_110_2: tmp220 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; /* ats_ptr_type tmp222 ; */ tmp222 = __ats_fun_42_closure_make (arg1) ; tmp221 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (tmp220, tmp222) ; ATS_FREE(tmp222) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, ats_castfn_mac(ats_ptr_type, tmp221)) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: __ats_lab_111_1: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_112_1 ; } __ats_lab_111_2: tmp224 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* ats_ptr_type tmp226 ; */ tmp226 = __ats_fun_43_closure_make (arg0) ; tmp225 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (tmp224, tmp226) ; ATS_FREE(tmp226) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp198)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp198, atslab_0, ats_castfn_mac(ats_ptr_type, tmp225)) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: __ats_lab_112_1: __ats_lab_112_2: tmp198 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp198)->tag = 16 ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp198, atslab_1, arg1) ; break ; } while (0) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 13169(line=547, offs=3) -- 13380(line=558, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize: /* ats_int_type tmp229 ; */ tmp229 = 0 ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, arg1, (&tmp229)) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 13458(line=564, offs=1) -- 16477(line=678, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_bool_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_bool_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_bool_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; ATSlocal (ats_int_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_bool_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_bool_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_bool_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_bool_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag: tmp231 = ats_ptrget_mac(ats_int_type, arg2) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp232 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp232 ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (arg0, arg1) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp233) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp234 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp234, arg2) ; tmp236 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp236) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp230)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp230, atslab_0, tmp235) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp237, arg2) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp238, arg2) ; tmp241 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp241) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp230)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp239) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_1, tmp240) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp243 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp242, arg2) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp243, arg2) ; tmp246 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp246) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp230)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp244) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_1, tmp245) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp247, arg2) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp248, arg2) ; tmp251 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp251) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp230)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp249) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_1, tmp250) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp252, arg2) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp253, arg2) ; tmp256 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp256) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp230)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp254) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_1, tmp255) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)arg1)->tag != 11) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp258, arg2) ; tmp260 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp260) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp230)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp230, atslab_0, tmp257) ; ats_selptrset_mac(anairiats_sum_4, tmp230, atslab_1, tmp259) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)arg1)->tag != 12) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp230 = arg1 ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp261 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp261 ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (arg0, arg1) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp262) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp264, arg2) ; tmp266 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp266) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp230)->tag = 14 ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_0, tmp263) ; ats_selptrset_mac(anairiats_sum_3, tmp230, atslab_1, tmp265) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp267 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag (arg0, tmp267, arg2) ; tmp269 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp269) { tmp230 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp230)->tag = 15 ; ats_selptrset_mac(anairiats_sum_2, tmp230, atslab_0, tmp268) ; } else { tmp230 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)arg1)->tag != 16) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp270, arg2) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp271, arg2) ; tmp275 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp275) { tmp274 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp274)->tag = 16 ; ats_selptrset_mac(anairiats_sum_3, tmp274, atslab_0, tmp272) ; ats_selptrset_mac(anairiats_sum_3, tmp274, atslab_1, tmp273) ; } else { tmp274 = arg1 ; } /* end of [if] */ tmp276 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp276 ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (arg0, tmp274) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp277) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)arg1)->tag != 17) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp278 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp278 ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (arg0, arg1) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp279) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)arg1)->tag != 18) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp280, arg2) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag (arg0, tmp281, arg2) ; tmp285 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp231) ; if (tmp285) { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp284)->tag = 18 ; ats_selptrset_mac(anairiats_sum_3, tmp284, atslab_0, tmp282) ; ats_selptrset_mac(anairiats_sum_3, tmp284, atslab_1, tmp283) ; } else { tmp284 = arg1 ; } /* end of [if] */ tmp286 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp286 ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (arg0, tmp284) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp287) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (((ats_sum_ptr_type)arg1)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp230 = arg1 ; break ; } while (0) ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_simplify.dats: 16558(line=684, offs=1) -- 16901(line=700, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_int_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_bool_type, tmp294) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag: tmp289 = ats_ptrget_mac(ats_int_type, arg2) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3exp_lintize_flag (arg0, tmp290, arg2) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag (arg0, tmp291, arg2) ; tmp294 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp289) ; if (tmp294) { tmp288 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp288, atslab_0, tmp292) ; ats_selptrset_mac(anairiats_sum_6, tmp288, atslab_1, tmp293) ; } else { tmp288 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: tmp288 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__s3explst_lintize_flag] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_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 () ; #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_constraint3_simplify_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_stacst2_dats.c0000664000175000017500000065466712655455557020214 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_sym ; ats_ptr_type atslab_cst ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_8 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_int_type, atspre_int_of_size) (ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset) (ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_float_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_double_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ldouble_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0float_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_float) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_string) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_arrpsz_vt0ype_int_vt0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sizeof_t0ype_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_at_vt0ype_addr_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_prop_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_view_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_t0ype_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_vt0ype_vt0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_view_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_vt0ype_vt0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_uni) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_exi) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_uni) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_exi) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1uint_kind_index_t0ype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effnil) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effall) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effntm) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effexn) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effref) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effwrt) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_find) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_is_null) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_isnot_null) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__sizeof_t0ype_int_assume) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__at_vt0ype_addr_view_assume) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_prop_prop_assume) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_view_view_assume) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_t0ype_t0ype_assume) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_vt0ype_vt0ype_assume) () ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__sasp__s2cstref_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_bool_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_bool_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_div_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndiv_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idiv_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_abs_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_absrel_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgn_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgnrel_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_max_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_min_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_maxrel_int_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_minrel_int_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idivrel_int_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifint_bool_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifintrel_bool_int_int_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_of_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_addr_of_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_null_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_addr_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_cls_cls) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lterel_cls_cls) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gterel_cls_cls) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_size_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ssize_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_float_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_double_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ldouble_kind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0float_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_float) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_string) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_prop) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_view) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_arrpsz_vt0ype_int_vt0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_uni) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_exi) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_uni) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_exi) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_view_view) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_vt0ype_vt0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effnil) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effall) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effntm) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effexn) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effref) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effwrt) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_at_vt0ype_addr_view) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sizeof_t0ype_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_prop_prop) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_view_view) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_t0ype_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_vt0ype_vt0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_uint) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_size) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_ssize) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_02073_ () ; static ats_ptr_type s2cstref_get_sym_1 (ats_ptr_type arg0) ; static ats_ptr_type s2cstref_get_cstnul_2 (ats_ptr_type arg0) ; static ats_void_type s2cstref_set_cstnul_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type prerr_interror_02074_ () ; static ats_ptr_type auxerr_7 (ats_ptr_type arg0) ; static ats_ptr_type auxg0i_28 (ats_ptr_type arg0) ; static ats_ptr_type auxg0u_29 (ats_ptr_type arg0) ; static ats_ptr_type auxg1i_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxg1u_31 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_63 (ats_ptr_type arg0) ; static ats_ptr_type aux_97 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp37) ; ATSstatic (ats_ptr_type, statmp38) ; ATSstatic (ats_ptr_type, statmp39) ; ATSstatic (ats_ptr_type, statmp40) ; ATSstatic (ats_ptr_type, statmp41) ; ATSstatic (ats_ptr_type, statmp42) ; ATSstatic (ats_ptr_type, statmp43) ; ATSstatic (ats_ptr_type, statmp44) ; ATSstatic (ats_ptr_type, statmp45) ; ATSstatic (ats_ptr_type, statmp46) ; ATSstatic (ats_ptr_type, statmp47) ; ATSstatic (ats_ptr_type, statmp48) ; ATSstatic (ats_ptr_type, statmp49) ; ATSstatic (ats_ptr_type, statmp50) ; ATSstatic (ats_ptr_type, statmp51) ; ATSstatic (ats_ptr_type, statmp52) ; ATSstatic (ats_ptr_type, statmp53) ; ATSstatic (ats_ptr_type, statmp54) ; ATSstatic (ats_ptr_type, statmp55) ; ATSstatic (ats_ptr_type, statmp56) ; ATSstatic (ats_ptr_type, statmp57) ; ATSstatic (ats_ptr_type, statmp58) ; ATSstatic (ats_ptr_type, statmp59) ; ATSstatic (ats_ptr_type, statmp60) ; ATSstatic (ats_ptr_type, statmp61) ; ATSstatic (ats_ptr_type, statmp62) ; ATSstatic (ats_ptr_type, statmp63) ; ATSstatic (ats_ptr_type, statmp64) ; ATSstatic (ats_ptr_type, statmp65) ; ATSstatic (ats_ptr_type, statmp66) ; ATSstatic (ats_ptr_type, statmp67) ; ATSstatic (ats_ptr_type, statmp68) ; ATSstatic (ats_ptr_type, statmp69) ; ATSstatic (ats_ptr_type, statmp70) ; ATSstatic (ats_ptr_type, statmp71) ; ATSstatic (ats_ptr_type, statmp72) ; ATSstatic (ats_ptr_type, statmp73) ; ATSstatic (ats_ptr_type, statmp74) ; ATSstatic (ats_ptr_type, statmp75) ; ATSstatic (ats_ptr_type, statmp76) ; ATSstatic (ats_ptr_type, statmp77) ; ATSstatic (ats_ptr_type, statmp78) ; ATSstatic (ats_ptr_type, statmp79) ; ATSstatic (ats_ptr_type, statmp80) ; ATSstatic (ats_ptr_type, statmp81) ; ATSstatic (ats_ptr_type, statmp82) ; ATSstatic (ats_ptr_type, statmp83) ; ATSstatic (ats_ptr_type, statmp84) ; ATSstatic (ats_ptr_type, statmp141) ; ATSstatic (ats_ptr_type, statmp142) ; ATSstatic (ats_ptr_type, statmp146) ; ATSstatic (ats_ptr_type, statmp147) ; ATSstatic (ats_ptr_type, statmp166) ; ATSstatic (ats_ptr_type, statmp167) ; ATSstatic (ats_ptr_type, statmp168) ; ATSstatic (ats_ptr_type, statmp169) ; ATSstatic (ats_ptr_type, statmp170) ; ATSstatic (ats_ptr_type, statmp171) ; ATSstatic (ats_ptr_type, statmp172) ; ATSstatic (ats_ptr_type, statmp173) ; ATSstatic (ats_ptr_type, statmp174) ; ATSstatic (ats_ptr_type, statmp175) ; ATSstatic (ats_ptr_type, statmp176) ; ATSstatic (ats_ptr_type, statmp177) ; ATSstatic (ats_ptr_type, statmp278) ; ATSstatic (ats_ptr_type, statmp279) ; ATSstatic (ats_ptr_type, statmp298) ; ATSstatic (ats_ptr_type, statmp299) ; ATSstatic (ats_ptr_type, statmp307) ; ATSstatic (ats_ptr_type, statmp308) ; ATSstatic (ats_ptr_type, statmp316) ; ATSstatic (ats_ptr_type, statmp317) ; ATSstatic (ats_ptr_type, statmp318) ; ATSstatic (ats_ptr_type, statmp319) ; ATSstatic (ats_ptr_type, statmp331) ; ATSstatic (ats_ptr_type, statmp332) ; ATSstatic (ats_ptr_type, statmp345) ; ATSstatic (ats_ptr_type, statmp346) ; ATSstatic (ats_ptr_type, statmp357) ; ATSstatic (ats_ptr_type, statmp360) ; ATSstatic (ats_ptr_type, statmp372) ; ATSstatic (ats_ptr_type, statmp375) ; ATSstatic (ats_ptr_type, statmp378) ; ATSstatic (ats_ptr_type, statmp381) ; ATSstatic (ats_ptr_type, statmp384) ; ATSstatic (ats_ptr_type, statmp391) ; ATSstatic (ats_ptr_type, statmp398) ; ATSstatic (ats_ptr_type, statmp405) ; ATSstatic (ats_ptr_type, statmp417) ; ATSstatic (ats_ptr_type, statmp429) ; ATSstatic (ats_ptr_type, statmp441) ; ATSstatic (ats_ptr_type, statmp453) ; ATSstatic (ats_ptr_type, statmp456) ; ATSstatic (ats_ptr_type, statmp459) ; ATSstatic (ats_ptr_type, statmp462) ; ATSstatic (ats_ptr_type, statmp465) ; ATSstatic (ats_ptr_type, statmp470) ; ATSstatic (ats_ptr_type, statmp475) ; ATSstatic (ats_ptr_type, statmp476) ; ATSstatic (ats_ptr_type, statmp477) ; ATSstatic (ats_ptr_type, statmp478) ; ATSstatic (ats_ptr_type, statmp479) ; ATSstatic (ats_ptr_type, statmp480) ; ATSstatic (ats_ptr_type, statmp502) ; ATSstatic (ats_ptr_type, statmp516) ; ATSstatic (ats_ptr_type, statmp528) ; ATSstatic (ats_ptr_type, statmp529) ; ATSstatic (ats_ptr_type, statmp530) ; ATSstatic (ats_ptr_type, statmp531) ; ATSstatic (ats_ptr_type, statmp543) ; ATSstatic (ats_ptr_type, statmp544) ; ATSstatic (ats_ptr_type, statmp545) ; ATSstatic (ats_ptr_type, statmp546) ; ATSstatic (ats_ptr_type, statmp547) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 1726(line=56, offs=28) -- 1751(line=56, offs=53) */ ATSstaticdec() ats_void_type prerr_FILENAME_02073_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02073_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_stacst2")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02073_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 2681(line=104, offs=5) -- 2784(line=107, offs=4) */ ATSstaticdec() ats_ptr_type s2cstref_get_sym_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_s2cstref_get_sym_1: tmp2 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp1 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp2), atslab_sym) ; return (tmp1) ; } /* end of [s2cstref_get_sym_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 2819(line=109, offs=5) -- 2927(line=112, offs=4) */ ATSstaticdec() ats_ptr_type s2cstref_get_cstnul_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_s2cstref_get_cstnul_2: tmp4 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp3 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_cst) ; return (tmp3) ; } /* end of [s2cstref_get_cstnul_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 2964(line=113, offs=5) -- 3090(line=116, offs=4) */ ATSstaticdec() ats_void_type s2cstref_set_cstnul_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_s2cstref_set_cstnul_3: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_cst) = arg1 ; return /* (tmp5) */ ; } /* end of [s2cstref_set_cstnul_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp10 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp10) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 3148(line=119, offs=15) -- 3386(line=126, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (arg0) ; tmp9 = ptr_alloc_01070_anairiats_rec_1 () ; tmp11 = ats_selsin_mac(tmp9, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_sym) = tmp8 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_cst) = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ; tmp7 = atspre_ref_make_view_ptr (tmp11) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02074_ () { /* local vardec */ // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab_prerr_interror_02074_: /* tmp16 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp17 = */ prerr_FILENAME_02073_ () ; /* tmp15 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp15) */ ; } /* end of [prerr_interror_02074_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 3502(line=135, offs=4) -- 3789(line=145, offs=4) */ ATSstaticdec() ats_ptr_type auxerr_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab_auxerr_7: /* tmp14 = */ prerr_interror_02074_ () ; /* tmp18 = */ atspre_prerr_string (ATSstrcst(": s2cstref_get_cst: ")) ; /* tmp19 = */ atspre_prerr_string (ATSstrcst("the pervasive static constant [")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst("] is not available.")) ; /* tmp22 = */ atspre_prerr_newline () ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; return (tmp13) ; } /* end of [auxerr_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 3486(line=133, offs=18) -- 4343(line=173, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst: tmp23 = s2cstref_get_cstnul_2 (arg0) ; tmp24 = atspre_ptr_is_null (tmp23) ; if (tmp24) { tmp25 = s2cstref_get_sym_1 (arg0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pervasive_find (tmp25) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp26 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, tmp26, atslab_0) ; ATS_FREE(tmp26) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp27)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp27, atslab_0) ; if (tmp28 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 4083(line=161, offs=11) -- 4108(line=161, offs=36)") ; } tmp29 = ats_caselptrlab_mac(anairiats_sum_4, tmp28, atslab_0) ; /* tmp30 = */ s2cstref_set_cstnul_3 (arg0, ats_castfn_mac(ats_ptr_type, tmp29)) ; tmp12 = tmp29 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp12 = auxerr_7 (tmp25) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp26 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp12 = auxerr_7 (tmp25) ; break ; } while (0) ; } else { tmp12 = ats_castfn_mac(ats_ptr_type, tmp23) ; } /* end of [if] */ return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 4422(line=178, offs=18) -- 4477(line=179, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (arg0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp32, arg1) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 4537(line=184, offs=3) -- 4691(line=189, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp: tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp34)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_3, tmp34, atslab_0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (arg0, tmp35) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp34)->tag != 17) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_6, tmp34, atslab_0) ; arg0 = arg0 ; arg1 = tmp36 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp33 = ats_false_bool ; break ; } while (0) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 7851(line=323, offs=12) -- 8006(line=329, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_agtz (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_agtz: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (0) ; tmp90 = (ats_sum_ptr_type)0 ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp89, atslab_0, tmp87) ; ats_selptrset_mac(anairiats_sum_4, tmp89, atslab_1, tmp90) ; tmp88 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp88, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp88, atslab_1, tmp89) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp86, tmp88) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_agtz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8073(line=334, offs=12) -- 8173(line=338, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool) ; tmp94 = (ats_sum_ptr_type)0 ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp93, atslab_1, tmp94) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp92, tmp93) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8219(line=341, offs=12) -- 8338(line=345, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_badd (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_badd: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool) ; tmp99 = (ats_sum_ptr_type)0 ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp98, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp98, atslab_1, tmp99) ; tmp97 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp97, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp97, atslab_1, tmp98) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp96, tmp97) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_badd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8384(line=348, offs=12) -- 8503(line=352, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bmul (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bmul: tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool) ; tmp104 = (ats_sum_ptr_type)0 ; tmp103 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp103, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp103, atslab_1, tmp104) ; tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_1, tmp103) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp101, tmp102) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bmul] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8570(line=357, offs=12) -- 8669(line=361, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ineg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ineg: tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int) ; tmp108 = (ats_sum_ptr_type)0 ; tmp107 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp107, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp107, atslab_1, tmp108) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp106, tmp107) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ineg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8737(line=366, offs=13) -- 8853(line=370, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int) ; tmp113 = (ats_sum_ptr_type)0 ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp112, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp112, atslab_1, tmp113) ; tmp111 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp111, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp111, atslab_1, tmp112) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp110, tmp111) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 8902(line=373, offs=14) -- 9019(line=377, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlte: tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int) ; tmp118 = (ats_sum_ptr_type)0 ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp117, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp117, atslab_1, tmp118) ; tmp116 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp116, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp116, atslab_1, tmp117) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp115, tmp116) ; return (tmp114) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlte] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 9068(line=380, offs=13) -- 9184(line=384, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgt: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int) ; tmp123 = (ats_sum_ptr_type)0 ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp122, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp122, atslab_1, tmp123) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_1, tmp122) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp120, tmp121) ; return (tmp119) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 9233(line=387, offs=14) -- 9350(line=391, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int) ; tmp128 = (ats_sum_ptr_type)0 ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp127, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp127, atslab_1, tmp128) ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp126, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp126, atslab_1, tmp127) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp125, tmp126) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 9400(line=394, offs=14) -- 9517(line=398, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq: tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int) ; tmp133 = (ats_sum_ptr_type)0 ; tmp132 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp132, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp132, atslab_1, tmp133) ; tmp131 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp131, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp131, atslab_1, tmp132) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp130, tmp131) ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 9566(line=401, offs=13) -- 9632(line=403, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_igtez (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_igtez: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (0) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intgte (arg0, tmp135) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_igtez] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 9707(line=408, offs=19) -- 9886(line=419, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_intconst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_intconst: tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp137)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_7, tmp137, atslab_0) ; tmp136 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp136, atslab_0, tmp138) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp137)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_3, tmp137, atslab_0) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int (tmp139) ; tmp136 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp136, atslab_0, tmp140) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp136 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp136) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_intconst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 10163(line=436, offs=12) -- 10315(line=442, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool: if (arg0) { tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool ; } else { tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool ; } /* end of [if] */ tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (tmp144) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp145) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 10486(line=450, offs=18) -- 10536(line=451, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype: tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp149) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 10601(line=455, offs=23) -- 10733(line=460, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_bool_t0ype (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_bool_t0ype: tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (arg0) ; tmp154 = (ats_sum_ptr_type)0 ; tmp153 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp153, atslab_0, tmp152) ; ats_selptrset_mac(anairiats_sum_4, tmp153, atslab_1, tmp154) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp151, tmp153) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_bool_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 10823(line=465, offs=24) -- 10930(line=469, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype: tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; tmp158 = (ats_sum_ptr_type)0 ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp157, atslab_1, tmp158) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp156, tmp157) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 11005(line=473, offs=3) -- 11290(line=486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_bool_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype: tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp160), atslab_s2exp_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp161)->tag != 17) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_6, tmp161, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_6, tmp161, atslab_1) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype, tmp162) ; if (!tmp164) { goto __ats_lab_11_1 ; } if (tmp163 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 11185(line=482, offs=9) -- 11214(line=482, offs=38)") ; } tmp165 = ats_caselptrlab_mac(anairiats_sum_4, tmp163, atslab_0) ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp159, atslab_0, tmp165) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp159 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp159) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12043(line=521, offs=5) -- 12197(line=527, offs=4) */ ATSstaticdec() ats_ptr_type auxg0i_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_auxg0i_28: tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; tmp182 = (ats_sum_ptr_type)0 ; tmp181 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_0, tmp179) ; ats_selptrset_mac(anairiats_sum_4, tmp181, atslab_1, tmp182) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp180, tmp181) ; return (tmp178) ; } /* end of [auxg0i_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12222(line=529, offs=5) -- 12377(line=535, offs=4) */ ATSstaticdec() ats_ptr_type auxg0u_29 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_auxg0u_29: tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; tmp187 = (ats_sum_ptr_type)0 ; tmp186 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp186, atslab_0, tmp184) ; ats_selptrset_mac(anairiats_sum_4, tmp186, atslab_1, tmp187) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp185, tmp186) ; return (tmp183) ; } /* end of [auxg0u_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12402(line=537, offs=5) -- 12580(line=544, offs=4) */ ATSstaticdec() ats_ptr_type auxg1i_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab_auxg1i_30: tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; tmp193 = (ats_sum_ptr_type)0 ; tmp192 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp192, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp192, atslab_1, tmp193) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_0, tmp189) ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_1, tmp192) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp190, tmp191) ; return (tmp188) ; } /* end of [auxg1i_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12605(line=546, offs=5) -- 12784(line=553, offs=4) */ ATSstaticdec() ats_ptr_type auxg1u_31 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab_auxg1u_31: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; tmp199 = (ats_sum_ptr_type)0 ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp198, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp198, atslab_1, tmp199) ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp197, atslab_0, tmp195) ; ats_selptrset_mac(anairiats_sum_4, tmp197, atslab_1, tmp198) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp196, tmp197) ; return (tmp194) ; } /* end of [auxg1u_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12852(line=558, offs=17) -- 12897(line=559, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp200 = auxg0i_28 (tmp201) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 12956(line=563, offs=18) -- 13002(line=564, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_t0ype: tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind) ; tmp202 = auxg0u_29 (tmp203) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13062(line=568, offs=18) -- 13108(line=569, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_t0ype: tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind) ; tmp204 = auxg0u_29 (tmp205) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13169(line=573, offs=19) -- 13216(line=574, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_t0ype: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind) ; tmp206 = auxg0u_29 (tmp207) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13278(line=578, offs=19) -- 13325(line=579, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_t0ype: tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind) ; tmp208 = auxg0u_29 (tmp209) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13388(line=583, offs=20) -- 13436(line=584, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_t0ype: tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind) ; tmp210 = auxg0u_29 (tmp211) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13522(line=590, offs=21) -- 13628(line=595, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_int_t0ype (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_int_t0ype: tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg0) ; tmp212 = auxg1i_30 (tmp213, tmp214) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13695(line=598, offs=24) -- 13808(line=603, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype: tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp215 = auxg1i_30 (tmp216, tmp217) ; return (tmp215) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 13897(line=608, offs=22) -- 14004(line=613, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_int_t0ype (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_int_t0ype: tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg0) ; tmp218 = auxg1u_31 (tmp219, tmp220) ; return (tmp218) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 14076(line=616, offs=25) -- 14190(line=621, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_intinf_t0ype: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp221 = auxg1u_31 (tmp222, tmp223) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 14283(line=626, offs=25) -- 14397(line=631, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_intinf_t0ype: tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp224 = auxg1i_30 (tmp225, tmp226) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 14470(line=634, offs=26) -- 14585(line=639, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_intinf_t0ype: tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp227 = auxg1u_31 (tmp228, tmp229) ; return (tmp227) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 14659(line=642, offs=26) -- 14774(line=647, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_intinf_t0ype: tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp230 = auxg1i_30 (tmp231, tmp232) ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 14849(line=650, offs=27) -- 14965(line=655, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_intinf_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_intinf_t0ype: tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (arg0) ; tmp233 = auxg1u_31 (tmp234, tmp235) ; return (tmp233) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_intinf_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15082(line=662, offs=24) -- 15185(line=666, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0int_kind_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0int_kind_t0ype: tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype) ; tmp239 = (ats_sum_ptr_type)0 ; tmp238 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp238, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp238, atslab_1, tmp239) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp237, tmp238) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0int_kind_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15263(line=670, offs=3) -- 15380(line=674, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype: tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; tmp244 = (ats_sum_ptr_type)0 ; tmp243 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp243, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp243, atslab_1, tmp244) ; tmp242 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp242, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp242, atslab_1, tmp243) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp241, tmp242) ; return (tmp240) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15483(line=680, offs=3) -- 15841(line=696, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_bool_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype: tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp246), atslab_s2exp_node) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp247)->tag != 17) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_6, tmp247, atslab_0) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_6, tmp247, atslab_1) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype, tmp248) ; if (!tmp250) { goto __ats_lab_13_1 ; } if (tmp249 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15663(line=689, offs=9) -- 15704(line=689, offs=50)") ; } tmp251 = ats_caselptrlab_mac(anairiats_sum_4, tmp249, atslab_1) ; if (tmp251 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15713(line=690, offs=9) -- 15754(line=690, offs=50)") ; } tmp252 = ats_caselptrlab_mac(anairiats_sum_4, tmp251, atslab_0) ; tmp245 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp245, atslab_0, tmp252) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp245 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp245) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 15937(line=701, offs=25) -- 16041(line=705, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0uint_kind_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0uint_kind_t0ype: tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype) ; tmp256 = (ats_sum_ptr_type)0 ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp255, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp255, atslab_1, tmp256) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp254, tmp255) ; return (tmp253) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g0uint_kind_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 16121(line=709, offs=3) -- 16239(line=713, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1uint_kind_index_t0ype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1uint_kind_index_t0ype: tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype) ; tmp261 = (ats_sum_ptr_type)0 ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp260, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp260, atslab_1, tmp261) ; tmp259 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp259, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp259, atslab_1, tmp260) ; tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp258, tmp259) ; return (tmp257) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1uint_kind_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 16344(line=719, offs=3) -- 16703(line=735, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype: tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp264 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp263), atslab_s2exp_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp264)->tag != 17) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp265 = ats_caselptrlab_mac(anairiats_sum_6, tmp264, atslab_0) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_6, tmp264, atslab_1) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype, tmp265) ; if (!tmp267) { goto __ats_lab_15_1 ; } if (tmp266 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 16525(line=728, offs=9) -- 16566(line=728, offs=50)") ; } tmp268 = ats_caselptrlab_mac(anairiats_sum_4, tmp266, atslab_1) ; if (tmp268 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 16575(line=729, offs=9) -- 16616(line=729, offs=50)") ; } tmp269 = ats_caselptrlab_mac(anairiats_sum_4, tmp268, atslab_0) ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp262, atslab_0, tmp269) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp262 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 16806(line=741, offs=3) -- 17044(line=753, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype (arg0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp271 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp270 = tmp271 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp271 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype (arg0) ; break ; } while (0) ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 17139(line=758, offs=23) -- 17255(line=761, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_index_t0ype: tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp273) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype (tmp274, arg0) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 17324(line=764, offs=24) -- 17441(line=767, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_index_t0ype: tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp276) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1uint_kind_index_t0ype (tmp277, arg0) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 17643(line=777, offs=18) -- 17693(line=778, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype: tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp281) ; return (tmp280) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 17757(line=782, offs=22) -- 17887(line=787, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_int_t0ype (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_int_t0ype: tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg0) ; tmp286 = (ats_sum_ptr_type)0 ; tmp285 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp285, atslab_0, tmp284) ; ats_selptrset_mac(anairiats_sum_4, tmp285, atslab_1, tmp286) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp283, tmp285) ; return (tmp282) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 17976(line=792, offs=24) -- 18082(line=796, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_index_t0ype: tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; tmp290 = (ats_sum_ptr_type)0 ; tmp289 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp289, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp289, atslab_1, tmp290) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp288, tmp289) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 18155(line=799, offs=27) -- 18439(line=812, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_bool_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype: tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp293 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp292), atslab_s2exp_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp293)->tag != 17) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_6, tmp293, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_6, tmp293, atslab_1) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype, tmp294) ; if (!tmp296) { goto __ats_lab_19_1 ; } if (tmp295 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 18334(line=808, offs=9) -- 18363(line=808, offs=38)") ; } tmp297 = ats_caselptrlab_mac(anairiats_sum_4, tmp295, atslab_0) ; tmp291 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp291, atslab_0, tmp297) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp291 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_char_index_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 18649(line=822, offs=19) -- 18700(line=823, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_t0ype: tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp301) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 18766(line=827, offs=23) -- 18897(line=832, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_int_t0ype (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_int_t0ype: tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg0) ; tmp306 = (ats_sum_ptr_type)0 ; tmp305 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp305, atslab_0, tmp304) ; ats_selptrset_mac(anairiats_sum_4, tmp305, atslab_1, tmp306) ; tmp302 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp303, tmp305) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_schar_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 19082(line=840, offs=19) -- 19133(line=841, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_t0ype: tmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype) ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp310) ; return (tmp309) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 19199(line=845, offs=23) -- 19330(line=850, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_int_t0ype (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_int_t0ype: tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg0) ; tmp315 = (ats_sum_ptr_type)0 ; tmp314 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp314, atslab_0, tmp313) ; ats_selptrset_mac(anairiats_sum_4, tmp314, atslab_1, tmp315) ; tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp312, tmp314) ; return (tmp311) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uchar_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 19634(line=866, offs=5) -- 19791(line=872, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_63 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; __ats_lab_auxmain_63: tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0float_t0ype) ; tmp324 = (ats_sum_ptr_type)0 ; tmp323 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp323, atslab_0, tmp321) ; ats_selptrset_mac(anairiats_sum_4, tmp323, atslab_1, tmp324) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp322, tmp323) ; return (tmp320) ; } /* end of [auxmain_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 19862(line=877, offs=19) -- 19910(line=878, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_float_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_float_t0ype: tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_float_kind) ; tmp325 = auxmain_63 (tmp326) ; return (tmp325) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_float_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 19973(line=882, offs=20) -- 20022(line=883, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype: tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_double_kind) ; tmp327 = auxmain_63 (tmp328) ; return (tmp327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 20087(line=887, offs=21) -- 20137(line=888, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ldouble_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ldouble_t0ype: tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ldouble_kind) ; tmp329 = auxmain_63 (tmp330) ; return (tmp329) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ldouble_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 20366(line=901, offs=19) -- 20417(line=902, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type: tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp334) ; return (tmp333) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 20483(line=906, offs=23) -- 20722(line=915, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_int_type (ats_size_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_int_type: tmp337 = atspre_int_of_size (arg0) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp337) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; tmp340 = (ats_sum_ptr_type)0 ; tmp339 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp339, atslab_0, tmp336) ; ats_selptrset_mac(anairiats_sum_4, tmp339, atslab_1, tmp340) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp338, tmp339) ; return (tmp335) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 20788(line=918, offs=25) -- 20894(line=922, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_index_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_index_type: tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; tmp344 = (ats_sum_ptr_type)0 ; tmp343 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp343, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp343, atslab_1, tmp344) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp342, tmp343) ; return (tmp341) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_index_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 21108(line=933, offs=3) -- 21242(line=938, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float: tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float (arg0) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_float) ; tmp351 = (ats_sum_ptr_type)0 ; tmp350 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp350, atslab_0, tmp348) ; ats_selptrset_mac(anairiats_sum_4, tmp350, atslab_1, tmp351) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp349, tmp350) ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 21309(line=942, offs=3) -- 21445(line=947, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string: tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string (arg0) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_string) ; tmp356 = (ats_sum_ptr_type)0 ; tmp355 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp355, atslab_0, tmp353) ; ats_selptrset_mac(anairiats_sum_4, tmp355, atslab_1, tmp356) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp354, tmp355) ; return (tmp352) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 21576(line=954, offs=16) -- 21624(line=955, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type () { /* local vardec */ ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type: tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp359) ; return (tmp358) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 21768(line=964, offs=21) -- 21873(line=968, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type: tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type) ; tmp364 = (ats_sum_ptr_type)0 ; tmp363 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp363, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp363, atslab_1, tmp364) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp362, tmp363) ; return (tmp361) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 21942(line=972, offs=3) -- 22225(line=985, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_bool_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type: tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp366), atslab_s2exp_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp367)->tag != 17) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_6, tmp367, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_6, tmp367, atslab_1) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type, tmp368) ; if (!tmp370) { goto __ats_lab_21_1 ; } if (tmp369 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 22120(line=981, offs=9) -- 22149(line=981, offs=38)") ; } tmp371 = ats_caselptrlab_mac(anairiats_sum_4, tmp369, atslab_0) ; tmp365 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp365, atslab_0, tmp371) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp365 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp365) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 22370(line=992, offs=18) -- 22423(line=993, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype: tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp374) ; return (tmp373) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 22552(line=1001, offs=17) -- 22601(line=1002, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_prop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_prop: tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_prop) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp377) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 22707(line=1007, offs=17) -- 22756(line=1008, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_view () { /* local vardec */ ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_view: tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_view) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp380) ; return (tmp379) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_unit_view] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 22907(line=1017, offs=23) -- 22962(line=1018, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype: tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp383) ; return (tmp382) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 23146(line=1027, offs=32) -- 23300(line=1032, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype: tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg1) ; tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_arrpsz_vt0ype_int_vt0ype) ; tmp390 = (ats_sum_ptr_type)0 ; tmp389 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp389, atslab_0, tmp386) ; ats_selptrset_mac(anairiats_sum_4, tmp389, atslab_1, tmp390) ; tmp388 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp388, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp388, atslab_1, tmp389) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp387, tmp388) ; return (tmp385) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 23746(line=1054, offs=27) -- 23896(line=1059, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type: tmp393 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg1) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; tmp397 = (ats_sum_ptr_type)0 ; tmp396 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp396, atslab_0, tmp393) ; ats_selptrset_mac(anairiats_sum_4, tmp396, atslab_1, tmp397) ; tmp395 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp395, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp395, atslab_1, tmp396) ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp394, tmp395) ; return (tmp392) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 24052(line=1065, offs=29) -- 24203(line=1070, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype: tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (arg1) ; tmp401 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; tmp404 = (ats_sum_ptr_type)0 ; tmp403 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp403, atslab_0, tmp400) ; ats_selptrset_mac(anairiats_sum_4, tmp403, atslab_1, tmp404) ; tmp402 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp402, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp402, atslab_1, tmp403) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp401, tmp402) ; return (tmp399) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 24361(line=1078, offs=22) -- 24468(line=1082, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vbox_view_prop (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vbox_view_prop: tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop) ; tmp409 = (ats_sum_ptr_type)0 ; tmp408 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp408, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp408, atslab_1, tmp409) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp407, tmp408) ; return (tmp406) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vbox_view_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 24539(line=1086, offs=3) -- 24823(line=1099, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_vbox_view_prop (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_bool_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_vbox_view_prop: tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp412 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp411), atslab_s2exp_node) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp412)->tag != 17) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_6, tmp412, atslab_0) ; tmp414 = ats_caselptrlab_mac(anairiats_sum_6, tmp412, atslab_1) ; tmp415 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop, tmp413) ; if (!tmp415) { goto __ats_lab_23_1 ; } if (tmp414 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 24718(line=1095, offs=9) -- 24747(line=1095, offs=38)") ; } tmp416 = ats_caselptrlab_mac(anairiats_sum_4, tmp414, atslab_0) ; tmp410 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp410, atslab_0, tmp416) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp410 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp410) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_vbox_view_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 24980(line=1107, offs=23) -- 25087(line=1111, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ref_vt0ype_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ref_vt0ype_type: tmp419 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type) ; tmp421 = (ats_sum_ptr_type)0 ; tmp420 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp420, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp420, atslab_1, tmp421) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp419, tmp420) ; return (tmp418) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ref_vt0ype_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 25160(line=1115, offs=3) -- 25445(line=1128, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_bool_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type: tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp424 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp423), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp424)->tag != 17) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp425 = ats_caselptrlab_mac(anairiats_sum_6, tmp424, atslab_0) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_6, tmp424, atslab_1) ; tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type, tmp425) ; if (!tmp427) { goto __ats_lab_25_1 ; } if (tmp426 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 25340(line=1124, offs=9) -- 25369(line=1124, offs=38)") ; } tmp428 = ats_caselptrlab_mac(anairiats_sum_4, tmp426, atslab_0) ; tmp422 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp422, atslab_0, tmp428) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp422 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp422) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 25603(line=1136, offs=23) -- 25710(line=1140, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_t0ype_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_t0ype_type: tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type) ; tmp433 = (ats_sum_ptr_type)0 ; tmp432 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp432, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp432, atslab_1, tmp433) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp431, tmp432) ; return (tmp430) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_t0ype_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 25782(line=1143, offs=3) -- 26067(line=1156, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_t0ype_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_bool_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_t0ype_type: tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp436 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp435), atslab_s2exp_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp436)->tag != 17) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp437 = ats_caselptrlab_mac(anairiats_sum_6, tmp436, atslab_0) ; tmp438 = ats_caselptrlab_mac(anairiats_sum_6, tmp436, atslab_1) ; tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type, tmp437) ; if (!tmp439) { goto __ats_lab_27_1 ; } if (tmp438 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 25962(line=1152, offs=9) -- 25991(line=1152, offs=38)") ; } tmp440 = ats_caselptrlab_mac(anairiats_sum_4, tmp438, atslab_0) ; tmp434 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp434, atslab_0, tmp440) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp434 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp434) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_t0ype_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 26231(line=1164, offs=25) -- 26340(line=1168, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_vt0ype_vtype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_vt0ype_vtype: tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype) ; tmp445 = (ats_sum_ptr_type)0 ; tmp444 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp444, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp444, atslab_1, tmp445) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp443, tmp444) ; return (tmp442) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_vt0ype_vtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 26416(line=1171, offs=3) -- 26703(line=1184, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_vt0ype_vtype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_bool_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_vt0ype_vtype: tmp447 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp448 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp447), atslab_s2exp_node) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp448)->tag != 17) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_6, tmp448, atslab_0) ; tmp450 = ats_caselptrlab_mac(anairiats_sum_6, tmp448, atslab_1) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype, tmp449) ; if (!tmp451) { goto __ats_lab_29_1 ; } if (tmp450 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 26598(line=1180, offs=9) -- 26627(line=1180, offs=38)") ; } tmp452 = ats_caselptrlab_mac(anairiats_sum_4, tmp450, atslab_0) ; tmp446 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp446, atslab_0, tmp452) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp446 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp446) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_vt0ype_vtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 26866(line=1192, offs=24) -- 26922(line=1193, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_uni () { /* local vardec */ ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_uni: tmp455 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_uni) ; tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp455) ; return (tmp454) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_uni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 27062(line=1200, offs=24) -- 27118(line=1201, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_exi () { /* local vardec */ ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_exi: tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_exi) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp458) ; return (tmp457) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_t0ype_exi] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 27282(line=1210, offs=25) -- 27339(line=1211, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_uni () { /* local vardec */ ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_uni: tmp461 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_uni) ; tmp460 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp461) ; return (tmp460) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_uni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 27483(line=1218, offs=25) -- 27540(line=1219, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_exi () { /* local vardec */ ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_exi: tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_exi) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp464) ; return (tmp463) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_exi] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 27700(line=1228, offs=18) -- 27810(line=1232, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_v (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_v: tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_view_view) ; tmp469 = (ats_sum_ptr_type)0 ; tmp468 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp468, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp468, atslab_1, tmp469) ; tmp466 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp467, tmp468) ; return (tmp466) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_v] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 27970(line=1240, offs=19) -- 28084(line=1244, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_vt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_vt: tmp472 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_vt0ype_vt0ype) ; tmp474 = (ats_sum_ptr_type)0 ; tmp473 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp473, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp473, atslab_1, tmp474) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp472, tmp473) ; return (tmp471) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 28478(line=1266, offs=5) -- 29317(line=1294, offs=4) */ ATSstaticdec() ats_ptr_type aux_97 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_bool_type, tmp487) ; ATSlocal (ats_bool_type, tmp488) ; ATSlocal (ats_bool_type, tmp489) ; ATSlocal (ats_bool_type, tmp490) ; ATSlocal (ats_bool_type, tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; __ats_lab_aux_97: tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp483) ; tmp485 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp484), atslab_s2exp_node) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp485)->tag != 4) { goto __ats_lab_38_0 ; } __ats_lab_30_1: tmp486 = ats_caselptrlab_mac(anairiats_sum_3, tmp485, atslab_0) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp487 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effnil, tmp486) ; if (!tmp487) { goto __ats_lab_32_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effall, tmp486) ; if (!tmp488) { goto __ats_lab_33_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effntm, tmp486) ; if (!tmp489) { goto __ats_lab_34_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp490 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effexn, tmp486) ; if (!tmp490) { goto __ats_lab_35_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effref, tmp486) ; if (!tmp491) { goto __ats_lab_36_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp492 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effwrt, tmp486) ; if (!tmp492) { goto __ats_lab_37_1 ; } tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp482 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp485)->tag != 7) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp482 = arg0 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp485)->tag != 8) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp482 = arg0 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp485)->tag != 14) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_3, tmp485, atslab_0) ; tmp482 = tmp493 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp (tmp494) ; break ; } while (0) ; return (tmp482) ; } /* end of [aux_97] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 28458(line=1264, offs=14) -- 29444(line=1303, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp495) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp481 = arg0 ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp495 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp481 = aux_97 (arg0, tmp495) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp481 = arg0 ; break ; } while (0) ; return (tmp481) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 29855(line=1325, offs=20) -- 30224(line=1336, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__stacst2_initialize () { /* local vardec */ // ATSlocal_void (tmp496) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; // ATSlocal_void (tmp499) ; // ATSlocal_void (tmp500) ; // ATSlocal_void (tmp501) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__stacst2_initialize: /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__sizeof_t0ype_int_assume () ; /* tmp498 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__at_vt0ype_addr_view_assume () ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_prop_prop, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; /* tmp500 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_view_view, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; /* tmp501 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_t0ype_t0ype, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; /* tmp496 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_vt0ype_vt0ype, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; return /* (tmp496) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__stacst2_initialize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 30456(line=1346, offs=28) -- 30838(line=1356, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__at_vt0ype_addr_view_assume () { /* local vardec */ // ATSlocal_void (tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__at_vt0ype_addr_view_assume: tmp504 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_at_vt0ype_addr_view) ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp504) ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; tmp507 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp506) ; tmp509 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp507) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp508, tmp509) ; tmp512 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp512, atslab_0, tmp506) ; tmp513 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_4, tmp512), atslab_1) ; tmp514 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp514, atslab_0, tmp507) ; ats_ptrget_mac(ats_ptr_type, tmp513) = tmp514 ; tmp513 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_4, tmp514), atslab_1) ; tmp514 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp513) = tmp514 ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp505, tmp512, tmp510) ; tmp515 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp515, atslab_0, tmp511) ; /* tmp503 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (tmp504, tmp515) ; return /* (tmp503) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__at_vt0ype_addr_view_assume] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 31066(line=1366, offs=25) -- 31363(line=1375, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__sizeof_t0ype_int_assume () { /* local vardec */ // ATSlocal_void (tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__sizeof_t0ype_int_assume: tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sizeof_t0ype_int) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp518) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp520) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof (tmp521) ; tmp524 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp524, atslab_0, tmp520) ; tmp525 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_4, tmp524), atslab_1) ; tmp526 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp525) = tmp526 ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp519, tmp524, tmp522) ; tmp527 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp527, atslab_0, tmp523) ; /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (tmp518, tmp527) ; return /* (tmp517) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__sizeof_t0ype_int_assume] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stacst2.dats: 31791(line=1399, offs=3) -- 32073(line=1411, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume: tmp533 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (arg0) ; tmp534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp533) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (arg1) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp535) ; tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar (tmp536) ; tmp539 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp539, atslab_0, tmp535) ; tmp540 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_4, tmp539), atslab_1) ; tmp541 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp540) = tmp541 ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp534, tmp539, tmp537) ; tmp542 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp542, atslab_0, tmp538) ; /* tmp532 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (tmp533, tmp542) ; return /* (tmp532) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__invar_assume] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp37, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp38, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp39, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp40, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp41, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp42, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp43, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp44, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp45, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp46, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp47, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp48, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp49, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp50, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp51, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp52, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp53, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp54, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp55, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp56, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp57, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp58, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp59, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp60, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp61, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp62, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp63, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp64, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp65, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp66, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp67, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp68, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp69, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp70, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp72, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp73, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp74, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp75, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp76, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp77, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp78, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp79, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp80, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp81, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp82, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp83, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp84, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp141, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp142, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp146, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp147, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp166, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp167, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp168, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp169, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp170, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp171, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp172, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp173, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp174, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp175, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp176, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp177, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp278, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp279, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp298, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp299, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp307, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp308, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp316, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp317, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp318, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp319, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp331, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp332, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp345, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp346, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp357, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp360, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp372, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp375, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp378, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp381, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp384, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp391, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp398, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp405, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp417, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp429, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp441, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp453, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp456, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp459, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp462, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp465, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp470, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp475, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp476, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp477, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp478, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp479, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp480, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp502, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp516, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp528, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp529, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp530, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp531, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp543, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp544, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp545, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp546, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp547, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("true_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool = statmp37 ; statmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("false_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool = statmp38 ; statmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("neg_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool = statmp39 ; statmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("add_bool_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool = statmp40 ; statmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("mul_bool_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool = statmp41 ; statmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("eq_bool_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_bool_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_bool_bool = statmp42 ; statmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("neq_bool_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_bool_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_bool_bool = statmp43 ; statmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("neg_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int = statmp44 ; statmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("add_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_int_int = statmp45 ; statmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sub_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_int_int = statmp46 ; statmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("mul_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_int_int = statmp47 ; statmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("div_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_div_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_div_int_int = statmp48 ; statmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ndiv_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndiv_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndiv_int_int = statmp49 ; statmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("idiv_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idiv_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idiv_int_int = statmp50 ; statmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lt_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int = statmp51 ; statmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lte_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int = statmp52 ; statmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gt_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int = statmp53 ; statmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gte_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int = statmp54 ; statmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("eq_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_int_int = statmp55 ; statmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("neq_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int = statmp56 ; statmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("abs_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_abs_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_abs_int = statmp57 ; statmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("absrel_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_absrel_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_absrel_int_int = statmp58 ; statmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sgn_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgn_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgn_int = statmp59 ; statmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sgnrel_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgnrel_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgnrel_int_int = statmp60 ; statmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("max_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_max_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_max_int_int = statmp61 ; statmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("min_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_min_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_min_int_int = statmp62 ; statmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("maxrel_int_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_maxrel_int_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_maxrel_int_int_int = statmp63 ; statmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("minrel_int_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_minrel_int_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_minrel_int_int_int = statmp64 ; statmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ndivrel_int_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int = statmp65 ; statmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("idivrel_int_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idivrel_int_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idivrel_int_int_int = statmp66 ; statmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ifint_bool_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifint_bool_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifint_bool_int_int = statmp67 ; statmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ifintrel_bool_int_int_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifintrel_bool_int_int_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifintrel_bool_int_int_int = statmp68 ; statmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("int_of_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_of_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_of_addr = statmp69 ; statmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("addr_of_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_addr_of_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_addr_of_int = statmp70 ; statmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("null_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_null_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_null_addr = statmp71 ; statmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lt_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_addr_addr = statmp72 ; statmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lte_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_addr_addr = statmp73 ; statmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gt_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr = statmp74 ; statmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gte_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_addr_addr = statmp75 ; statmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("eq_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_addr_addr = statmp76 ; statmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("neq_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_addr_addr = statmp77 ; statmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("add_addr_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_addr_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_addr_int = statmp78 ; statmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sub_addr_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_int = statmp79 ; statmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sub_addr_addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_addr = statmp80 ; statmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lte_cls_cls")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls = statmp81 ; statmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gte_cls_cls")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_cls_cls, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_cls_cls = statmp82 ; statmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lterel_cls_cls")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lterel_cls_cls, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lterel_cls_cls = statmp83 ; statmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("gterel_cls_cls")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gterel_cls_cls, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gterel_cls_cls = statmp84 ; statmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstkind_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_type = statmp141 ; statmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstkind_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstkind_t0ype = statmp142 ; statmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bool_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_t0ype = statmp146 ; statmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bool_bool_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype = statmp147 ; statmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("int_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind = statmp166 ; statmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("uint_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uint_kind = statmp167 ; statmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lint_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lint_kind = statmp168 ; statmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ulint_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ulint_kind = statmp169 ; statmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("llint_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_llint_kind = statmp170 ; statmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ullint_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ullint_kind = statmp171 ; statmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("size_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_size_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_size_kind = statmp172 ; statmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ssize_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ssize_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ssize_kind = statmp173 ; statmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("g0int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0int_t0ype = statmp174 ; statmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("g1int_int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype = statmp175 ; statmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("g0uint_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0uint_t0ype = statmp176 ; statmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("g1uint_int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1uint_int_t0ype = statmp177 ; statmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("char_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_t0ype = statmp278 ; statmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("char_int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype = statmp279 ; statmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("schar_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_t0ype = statmp298 ; statmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("schar_int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_schar_int_t0ype = statmp299 ; statmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("uchar_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_t0ype = statmp307 ; statmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("uchar_int_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_uchar_int_t0ype = statmp308 ; statmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("float_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_float_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_float_kind = statmp316 ; statmp317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("double_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_double_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_double_kind = statmp317 ; statmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ldouble_kind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ldouble_kind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ldouble_kind = statmp318 ; statmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("g0float_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0float_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g0float_t0ype = statmp319 ; statmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("string_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_type = statmp331 ; statmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("string_int_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type = statmp332 ; statmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("literal_float")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_float, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_float = statmp345 ; statmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("literal_string")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_string, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_literal_string = statmp346 ; statmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ptr_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_type = statmp357 ; statmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ptr_addr_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ptr_addr_type = statmp360 ; statmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atsvoid_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype = statmp372 ; statmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("unit_p")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_prop, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_prop = statmp375 ; statmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("unit_v")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_view, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_unit_view = statmp378 ; statmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("exception_vtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype = statmp381 ; statmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("arrpsz_vt0ype_int_vt0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_arrpsz_vt0ype_int_vt0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_arrpsz_vt0ype_int_vt0ype = statmp384 ; statmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("list_t0ype_int_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type = statmp391 ; statmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("list_vt0ype_int_vtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype = statmp398 ; statmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("vbox_view_prop")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vbox_view_prop = statmp405 ; statmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("ref_vt0ype_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ref_vt0ype_type = statmp417 ; statmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lazy_t0ype_type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_t0ype_type = statmp429 ; statmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("lazy_vt0ype_vtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lazy_vt0ype_vtype = statmp441 ; statmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bottom_t0ype_uni")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_uni, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_uni = statmp453 ; statmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bottom_t0ype_exi")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_exi, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_t0ype_exi = statmp456 ; statmp459 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bottom_vt0ype_uni")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_uni, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_uni = statmp459 ; statmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("bottom_vt0ype_exi")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_exi, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bottom_vt0ype_exi = statmp462 ; statmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("vcopyenv_view_view")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_view_view, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_view_view = statmp465 ; statmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("vcopyenv_vt0ype_vt0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_vt0ype_vt0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_vcopyenv_vt0ype_vt0ype = statmp470 ; statmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effnil")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effnil, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effnil = statmp475 ; statmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effall")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effall, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effall = statmp476 ; statmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effntm")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effntm, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effntm = statmp477 ; statmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effexn")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effexn, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effexn = statmp478 ; statmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effref")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effref, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effref = statmp479 ; statmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("effwrt")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effwrt, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_effwrt = statmp480 ; statmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("at_vt0ype_addr_view")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_at_vt0ype_addr_view, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_at_vt0ype_addr_view = statmp502 ; statmp516 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("sizeof_t0ype_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sizeof_t0ype_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sizeof_t0ype_int = statmp516 ; statmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("invar_prop_prop")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_prop_prop, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_prop_prop = statmp528 ; statmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("invar_view_view")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_view_view, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_view_view = statmp529 ; statmp530 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("invar_t0ype_t0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_t0ype_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_t0ype_t0ype = statmp530 ; statmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("invar_vt0ype_vt0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_vt0ype_vt0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_invar_vt0ype_vt0ype = statmp531 ; statmp543 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstype_int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_int = statmp543 ; statmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstype_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_bool = statmp544 ; statmp545 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstype_uint")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_uint, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_uint = statmp545 ; statmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstype_size")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_size, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_size = statmp546 ; statmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_make (ATSstrcst("atstype_ssize")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_ssize, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_ssize = statmp547 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_stacst2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symenv_sats.c0000664000175000017500000000262012655455557020141 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_symenv_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_depgen_sats.c0000664000175000017500000000256612655455557020073 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_depgen_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_staexp_dats.c0000664000175000017500000047776112655455557021423 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s0arg_loc ; ats_ptr_type atslab_s0arg_sym ; ats_ptr_type atslab_s0arg_srt ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s0marg_loc ; ats_ptr_type atslab_s0marg_arg ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_s1exp_loc ; ats_ptr_type atslab_s1exp_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s0qua_loc ; ats_ptr_type atslab_s0qua_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_s0exp_loc ; ats_ptr_type atslab_s0exp_node ; } anairiats_rec_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_clo_ref_type atslab_1 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_clo_ref_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_18 ; typedef struct { ats_ptr_type atslab_s0rtext_loc ; ats_ptr_type atslab_s0rtext_node ; } anairiats_rec_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_21 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_q0marg_loc ; ats_ptr_type atslab_q0marg_arg ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_t0mpmarg_loc ; ats_ptr_type atslab_t0mpmarg_arg ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_a0typ_loc ; ats_ptr_type atslab_a0typ_sym ; ats_ptr_type atslab_a0typ_typ ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_sp0at_loc ; ats_ptr_type atslab_sp0at_node ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_sqi0de_loc ; ats_ptr_type atslab_sqi0de_qua ; ats_ptr_type atslab_sqi0de_sym ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_m0acarg_loc ; ats_ptr_type atslab_m0acarg_node ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_m1acarg_loc ; ats_ptr_type atslab_m1acarg_node ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_d0atcon_loc ; ats_ptr_type atslab_d0atcon_sym ; ats_ptr_type atslab_d0atcon_qua ; ats_ptr_type atslab_d0atcon_arg ; ats_ptr_type atslab_d0atcon_ind ; } anairiats_rec_30 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_31 ; typedef struct { ats_ptr_type atslab_d0cstarg_loc ; ats_ptr_type atslab_d0cstarg_node ; } anairiats_rec_32 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_33 ; typedef struct { ats_ptr_type atslab_d0cstdec_loc ; ats_ptr_type atslab_d0cstdec_fil ; ats_ptr_type atslab_d0cstdec_sym ; ats_ptr_type atslab_d0cstdec_arg ; ats_ptr_type atslab_d0cstdec_eff ; ats_ptr_type atslab_d0cstdec_res ; ats_ptr_type atslab_d0cstdec_extopt ; } anairiats_rec_34 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRinf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpos_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SP0Tcstr_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyarr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etytup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_ext_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Euni_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eexi_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eann_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Ed2ctype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEsome_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEnone_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGsta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_sarglst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_svararglst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGsta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEsome_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WITHT1YPEnone_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0exp_tr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0cstdec_tr_6) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_is_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERSAND) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERBANG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERQMARK) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARK) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARKBANG) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exi_prec_sta) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__uni_prec_sta) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmark_prec_sta) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmarkbang_prec_sta) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__trans_prec_sta) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app) (ats_ptr_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1arg_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1marg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__sp1at_cstr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extkind) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_sqid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_lam) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_npf_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_trans) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyarr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tytup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec_ext) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_exi) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_d2ctype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__labs1exp_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_sub) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_vars) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_one) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_all) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_dyn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__q1marg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_sarglst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_svararglst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atcon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1cstdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__S0Ed2ctype_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__dcstextdef_tr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typ_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr) (ats_bool_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, patsopt_extnam_ismac) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, patsopt_extnam_issta) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, patsopt_extnam_isext) (ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02080_ () ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type appf_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type appf_10_closure_make () ; static ats_ptr_type appf_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1expitm_app_11 (ats_ptr_type arg0) ; static ats_ptr_type s1exp_get_loc_12 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_14_closure_make () ; static ats_ptr_type __ats_fun_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1exp_make_opr_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_16 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_17_closure_make () ; static ats_ptr_type __ats_fun_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s1expitm_backslash_15 (ats_ptr_type arg0) ; static ats_ptr_type s0qua_tr_18 (ats_ptr_type arg0) ; static ats_void_type prerr_error1_loc_02083_ (ats_ptr_type arg0) ; static ats_ptr_type s0exp_tr_errmsg_opr_21 (ats_ptr_type arg0) ; static ats_ptr_type aux_extarg_23 (ats_ptr_type arg0) ; static ats_ptr_type f_27 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_27_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_28 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_28_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_29 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_29_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_30 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_30_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_30_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_31 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_31_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_32 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_32_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_32_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_33 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type f_33_closure_make () ; static ats_ptr_type f_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_34 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type f_34_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type f_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_35 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type f_35_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) ; static ats_ptr_type f_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_item_25 (ats_ptr_type arg0) ; static ats_ptr_type loop_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_itemlst_26 (ats_ptr_type arg0) ; static ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_interror_02081_ () ; static ats_ptr_type extprfx_add_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) ; static ats_char_type ptrget_01707_ats_char_type (ats_ptr_type arg0) ; static ats_bool_type isemp_57 (ats_ptr_type arg0) ; static ats_bool_type isperc_60 (ats_ptr_type arg0) ; static ats_ptr_type aux1_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ref_type arg6, ats_ptr_type arg7, ats_ptr_type arg8) ; static ats_ptr_type aux2_63 (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type d0cstdec_tr_64 (ats_bool_type arg0, ats_bool_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 1728(line=57, offs=28) -- 1759(line=57, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02080_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02080_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_staexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3003(line=115, offs=10) -- 3101(line=119, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arg_tr: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0arg_srt) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr (tmp3) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0arg_loc) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s0arg_sym) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1arg_make (tmp4, tmp5, tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arg_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp13 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp11, arg3) ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp14, atslab_0, tmp13) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp14 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp15 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp12 ; arg1 = arg1 ; arg2 = tmp15 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp16 ; break ; } while (0) ; return /* (tmp10) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp17 ; */ /* tmp18 = */ loop_5 (arg0, arg1, (&tmp17), arg2) ; tmp9 = tmp17 ; return (tmp9) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp8 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp8) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3146(line=122, offs=13) -- 3186(line=122, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr: tmp7 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arg_tr) ; tmp6 = ats_castfn_mac(ats_ptr_type, tmp7) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3209(line=125, offs=11) -- 3314(line=130, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr: tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0marg_loc) ; tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s0marg_arg) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp22) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1marg_make (tmp20, tmp21) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3361(line=133, offs=14) -- 3403(line=133, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr: tmp24 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr) ; tmp23 = ats_castfn_mac(ats_ptr_type, tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3451(line=139, offs=3) -- 3650(line=143, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp27) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp25)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_0, tmp26) ; ats_selptrset_mac(anairiats_sum_5, tmp25, atslab_1, tmp28) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp29), atslab_token_loc) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp25)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_0, tmp30) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp31), atslab_token_loc) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp25)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_0, tmp32) ; break ; } while (0) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3701(line=147, offs=16) -- 3747(line=147, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararglst_tr: tmp34 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr) ; tmp33 = ats_castfn_mac(ats_ptr_type, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 3918(line=160, offs=4) -- 4305(line=173, offs=4) */ ATSstaticdec() ats_ptr_type appf_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_appf_10: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_s1exp_loc) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp38, tmp36) ; tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_s1exp_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp40)->tag != 13) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_1) ; tmp39 = tmp41 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp42 = (ats_sum_ptr_type)0 ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp39, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp39, atslab_1, tmp42) ; break ; } while (0) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (tmp37, arg0, tmp36, tmp39) ; tmp35 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp35)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp35, atslab_0, tmp43) ; return (tmp35) ; } /* end of [appf_10] */ typedef struct { ats_fun_ptr_type closure_fun ; } appf_10_closure_type ; ats_ptr_type appf_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return appf_10 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type appf_10_closure_init (appf_10_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&appf_10_clofun ; return ; } /* end of function */ ats_clo_ptr_type appf_10_closure_make () { appf_10_closure_type *p_clo = ATS_MALLOC(sizeof(appf_10_closure_type)) ; appf_10_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4351(line=177, offs=4) -- 4415(line=178, offs=52) */ ATSstaticdec() ats_ptr_type s1expitm_app_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_s1expitm_app_11: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (arg0, appf_10_closure_make ()) ; return (tmp44) ; } /* end of [s1expitm_app_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4468(line=183, offs=4) -- 4516(line=183, offs=52) */ ATSstaticdec() ats_ptr_type s1exp_get_loc_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_s1exp_get_loc_12: tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; return (tmp45) ; } /* end of [s1exp_get_loc_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4626(line=190, offs=5) -- 4686(line=190, offs=65) */ ATSstaticdec() ats_ptr_type __ats_fun_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; __ats_lab___ats_fun_14: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (arg0, arg1, arg2, arg3) ; return (tmp47) ; } /* end of [__ats_fun_14] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_14_closure_type ; ats_ptr_type __ats_fun_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_14 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_14_closure_init (__ats_fun_14_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_14_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_14_closure_make () { __ats_fun_14_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_14_closure_type)) ; __ats_fun_14_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4521(line=185, offs=4) -- 4727(line=193, offs=4) */ ATSstaticdec() ats_ptr_type s1exp_make_opr_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_s1exp_make_opr_13: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (&s1exp_get_loc_12, __ats_fun_14_closure_make (), arg0, arg1) ; return (tmp46) ; } /* end of [s1exp_make_opr_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4845(line=198, offs=5) -- 4865(line=198, offs=25) */ ATSstaticdec() ats_ptr_type __ats_fun_16 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab___ats_fun_16: tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; return (tmp49) ; } /* end of [__ats_fun_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4870(line=199, offs=5) -- 4930(line=199, offs=65) */ ATSstaticdec() ats_ptr_type __ats_fun_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; __ats_lab___ats_fun_17: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (arg0, arg1, arg2, arg3) ; return (tmp50) ; } /* end of [__ats_fun_17] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_17_closure_type ; ats_ptr_type __ats_fun_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_17 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_17_closure_init (__ats_fun_17_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_17_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_17_closure_make () { __ats_fun_17_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_17_closure_type)) ; __ats_fun_17_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 4759(line=195, offs=4) -- 4982(line=202, offs=4) */ ATSstaticdec() ats_ptr_type s1expitm_backslash_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_s1expitm_backslash_15: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (&__ats_fun_16, __ats_fun_17_closure_make (), arg0) ; return (tmp48) ; } /* end of [s1expitm_backslash_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 5039(line=206, offs=4) -- 5291(line=215, offs=6) */ ATSstaticdec() ats_ptr_type s0qua_tr_18 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab_s0qua_tr_18: tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0qua_node) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp52)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_6, tmp52, atslab_0) ; tmp54 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0qua_loc) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp53) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_prop (tmp54, tmp55) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (((ats_sum_ptr_type)tmp52)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_11, tmp52, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_11, tmp52, atslab_1) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_11, tmp52, atslab_2) ; tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0qua_loc) ; tmp60 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp60, atslab_0, tmp56) ; ats_selptrset_mac(anairiats_sum_3, tmp60, atslab_1, tmp57) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr (tmp58) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_vars (tmp59, tmp60, tmp61) ; break ; } while (0) ; return (tmp51) ; } /* end of [s0qua_tr_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 5358(line=219, offs=13) -- 5397(line=219, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr: tmp63 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &s0qua_tr_18) ; tmp62 = ats_castfn_mac(ats_ptr_type, tmp63) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 5424(line=221, offs=16) -- 5468(line=221, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualstlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualstlst_tr: tmp65 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr) ; tmp64 = ats_castfn_mac(ats_ptr_type, tmp65) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualstlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02083_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; __ats_lab_prerr_error1_loc_02083_: /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp69 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp69) */ ; } /* end of [prerr_error1_loc_02083_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 5502(line=227, offs=4) -- 5752(line=235, offs=4) */ ATSstaticdec() ats_ptr_type s0exp_tr_errmsg_opr_21 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_s0exp_tr_errmsg_opr_21: tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0exp_loc) ; /* tmp68 = */ prerr_error1_loc_02083_ (tmp67) ; /* tmp71 = */ atspre_prerr_string (ATSstrcst(": the operator needs to be applied.")) ; /* tmp72 = */ atspre_prerr_newline () ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp74)->tag = 3 ; ats_selptrset_mac(anairiats_sum_6, tmp74, atslab_0, arg0) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp74) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err (tmp67) ; return (tmp66) ; } /* end of [s0exp_tr_errmsg_opr_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 5789(line=237, offs=4) -- 5948(line=241, offs=4) */ ATSstaticdec() ats_ptr_type aux_extarg_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab_aux_extarg_23: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (arg0) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp76), atslab_s1exp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp77)->tag != 13) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_9, tmp77, atslab_1) ; tmp75 = tmp78 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp79 = (ats_sum_ptr_type)0 ; tmp75 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp75, atslab_0, tmp76) ; ats_selptrset_mac(anairiats_sum_3, tmp75, atslab_1, tmp79) ; break ; } while (0) ; return (tmp75) ; } /* end of [aux_extarg_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 6236(line=265, offs=10) -- 6404(line=271, offs=10) */ ATSstaticdec() ats_ptr_type f_27 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_f_27: tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp88) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar (tmp87, 1, arg0) ; tmp86 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp86)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp86, atslab_0, tmp89) ; return (tmp86) ; } /* end of [f_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_27_closure_type ; ats_ptr_type f_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_27 (((f_27_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_27_closure_init (f_27_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_27_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_27_closure_make (ats_ptr_type env0) { f_27_closure_type *p_clo = ATS_MALLOC(sizeof(f_27_closure_type)) ; f_27_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 6571(line=277, offs=10) -- 6739(line=283, offs=10) */ ATSstaticdec() ats_ptr_type f_28 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_f_28: tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp95) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar (tmp94, 2, arg0) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp93)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp93, atslab_0, tmp96) ; return (tmp93) ; } /* end of [f_28] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_28_closure_type ; ats_ptr_type f_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_28 (((f_28_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_28_closure_init (f_28_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_28_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_28_closure_make (ats_ptr_type env0) { f_28_closure_type *p_clo = ATS_MALLOC(sizeof(f_28_closure_type)) ; f_28_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 6905(line=289, offs=10) -- 7074(line=295, offs=10) */ ATSstaticdec() ats_ptr_type f_29 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab_f_29: tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp102) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar (tmp101, 3, arg0) ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp100)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp100, atslab_0, tmp103) ; return (tmp100) ; } /* end of [f_29] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_29_closure_type ; ats_ptr_type f_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_29 (((f_29_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_29_closure_init (f_29_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_29_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_29_closure_make (ats_ptr_type env0) { f_29_closure_type *p_clo = ATS_MALLOC(sizeof(f_29_closure_type)) ; f_29_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 7337(line=306, offs=10) -- 7503(line=312, offs=10) */ ATSstaticdec() ats_ptr_type f_30 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_f_30: tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp111) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar (tmp110, 0, arg0) ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp109)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp109, atslab_0, tmp112) ; return (tmp109) ; } /* end of [f_30] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_30_closure_type ; ats_ptr_type f_30_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_30 (((f_30_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_30_closure_init (f_30_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_30_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_30_closure_make (ats_ptr_type env0) { f_30_closure_type *p_clo = ATS_MALLOC(sizeof(f_30_closure_type)) ; f_30_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 7668(line=319, offs=10) -- 7833(line=325, offs=10) */ ATSstaticdec() ats_ptr_type f_31 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_f_31: tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp118, env0) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top (env0, 0, arg0) ; tmp116 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp116)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp116, atslab_0, tmp119) ; return (tmp116) ; } /* end of [f_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_31_closure_type ; ats_ptr_type f_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_31 (((f_31_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_31_closure_init (f_31_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_31_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_31_closure_make (ats_ptr_type env0) { f_31_closure_type *p_clo = ATS_MALLOC(sizeof(f_31_closure_type)) ; f_31_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 7999(line=331, offs=10) -- 8164(line=337, offs=10) */ ATSstaticdec() ats_ptr_type f_32 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_f_32: tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp125, env0) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top (env0, 1, arg0) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp123)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_0, tmp126) ; return (tmp123) ; } /* end of [f_32] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_32_closure_type ; ats_ptr_type f_32_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_32 (((f_32_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_32_closure_init (f_32_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_32_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_32_closure_make (ats_ptr_type env0) { f_32_closure_type *p_clo = ATS_MALLOC(sizeof(f_32_closure_type)) ; f_32_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 8332(line=344, offs=10) -- 8527(line=351, offs=10) */ ATSstaticdec() ats_ptr_type f_33 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab_f_33: tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_s1exp_loc) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp132, tmp133) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_trans (tmp131, arg0, arg1) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp130)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_0, tmp134) ; return (tmp130) ; } /* end of [f_33] */ typedef struct { ats_fun_ptr_type closure_fun ; } f_33_closure_type ; ats_ptr_type f_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return f_33 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type f_33_closure_init (f_33_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&f_33_clofun ; return ; } /* end of function */ ats_clo_ptr_type f_33_closure_make () { f_33_closure_type *p_clo = ATS_MALLOC(sizeof(f_33_closure_type)) ; f_33_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 11890(line=459, offs=10) -- 12047(line=464, offs=10) */ ATSstaticdec() ats_ptr_type f_34 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab_f_34: tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp216) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni (tmp215, env1, arg0) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp214)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp214, atslab_0, tmp217) ; return (tmp214) ; } /* end of [f_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } f_34_closure_type ; ats_ptr_type f_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_34 (((f_34_closure_type*)cloptr)->closure_env_0, ((f_34_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type f_34_closure_init (f_34_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&f_34_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type f_34_closure_make (ats_ptr_type env0, ats_ptr_type env1) { f_34_closure_type *p_clo = ATS_MALLOC(sizeof(f_34_closure_type)) ; f_34_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 12245(line=473, offs=10) -- 12408(line=478, offs=10) */ ATSstaticdec() ats_ptr_type f_35 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab_f_35: tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_s1exp_loc) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp224) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_exi (env0, env1, env2, arg0) ; tmp222 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp222)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp222, atslab_0, tmp225) ; return (tmp222) ; } /* end of [f_35] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f_35_closure_type ; ats_ptr_type f_35_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_35 (((f_35_closure_type*)cloptr)->closure_env_0, ((f_35_closure_type*)cloptr)->closure_env_1, ((f_35_closure_type*)cloptr)->closure_env_2, arg0) ; } /* end of function */ ATSinline() ats_void_type f_35_closure_init (f_35_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f_35_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f_35_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { f_35_closure_type *p_clo = ATS_MALLOC(sizeof(f_35_closure_type)) ; f_35_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 6058(line=251, offs=1) -- 13090(line=505, offs=4) */ ATSstaticdec() ats_ptr_type aux_item_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (anairiats_rec_1, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab_aux_item_25: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0exp_loc) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0exp_node) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp84, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERSAND) ; if (!tmp85) { goto __ats_lab_12_1 ; } tmp90 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp90)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp90, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp90, atslab_1, f_27_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp90) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp91, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERQMARK) ; if (!tmp92) { goto __ats_lab_13_1 ; } tmp97 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp97)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp97, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp97, atslab_1, f_28_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp97) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp98, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERBANG) ; if (!tmp99) { goto __ats_lab_14_1 ; } tmp104 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp104)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp104, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp104, atslab_1, f_29_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp104) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp105, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; if (!tmp106) { goto __ats_lab_15_1 ; } tmp81 = s1expitm_backslash_15 (tmp82) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp107, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; if (!tmp108) { goto __ats_lab_16_1 ; } tmp113 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp113)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp113, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__invar_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp113, atslab_1, f_30_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp113) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp114, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARK) ; if (!tmp115) { goto __ats_lab_17_1 ; } tmp120 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp120)->tag = 2 ; ats_selptrset_mac(anairiats_sum_13, tmp120, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmark_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp120, atslab_1, f_31_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp120) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp121, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARKBANG) ; if (!tmp122) { goto __ats_lab_18_1 ; } tmp127 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp127)->tag = 2 ; ats_selptrset_mac(anairiats_sum_13, tmp127, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__qmarkbang_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp127, atslab_1, f_32_closure_make (tmp82)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp127) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp128, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTGT) ; if (!tmp129) { goto __ats_lab_19_1 ; } tmp136 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; tmp135 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp135)->tag = 0 ; ats_selptrset_mac(anairiats_sum_14, tmp135, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__trans_prec_sta) ; ats_selptrset_mac(anairiats_sum_14, tmp135, atslab_1, tmp136) ; ats_selptrset_mac(anairiats_sum_14, tmp135, atslab_2, f_33_closure_make ()) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp135) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp83)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide (tmp82, tmp137) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp137) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp139 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_15, tmp139, atslab_0) ; ATS_FREE(tmp139) ; tmp81 = s1exp_make_opr_13 (tmp138, tmp140) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp139 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp138) ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp83)->tag != 2) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide (tmp82, tmp141) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp142) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp83)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp144 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_sqid (tmp82, tmp143, tmp144) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp145) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp83)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_i0nt (tmp82, tmp146) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp147) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp83)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_c0har (tmp82, tmp148) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp149) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp83)->tag != 5) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_f0loat (tmp82, tmp150) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp151) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp83)->tag != 6) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_s0tring (tmp82, tmp152) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp153) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp83)->tag != 7) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp155 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp156 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp155, &aux_extarg_23) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extype (tmp82, tmp154, ats_castfn_mac(ats_ptr_type, tmp156)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp157) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp83)->tag != 8) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp160 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp159, &aux_extarg_23) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extkind (tmp82, tmp158, ats_castfn_mac(ats_ptr_type, tmp160)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp161) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp83)->tag != 9) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp163 = s1expitm_app_11 (tmp82) ; tmp164 = aux_itemlst_26 (arg0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (tmp82, &s1exp_get_loc_12, tmp163, tmp164) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp162) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp83)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_1) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_11, tmp83, atslab_2) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marg_tr (tmp165) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr (tmp166) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp167) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_lam (tmp82, tmp168, tmp169, tmp170) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp171) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp83)->tag != 11) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp172) ; tmp174 = ats_select_mac(tmp173, atslab_0) ; tmp175 = ats_select_mac(tmp173, atslab_1) ; tmp176 = ats_select_mac(tmp173, atslab_2) ; tmp177 = ats_select_mac(tmp173, atslab_3) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp174 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_15, tmp174, atslab_0) ; tmp178 = tmp179 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp178 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; if (tmp180 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 10542(line=419, offs=11) -- 10583(line=419, offs=52)") ; } tmp181 = ats_caselptrlab_mac(anairiats_sum_15, tmp180, atslab_0) ; ATS_FREE(tmp180) ; tmp183 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp183, atslab_0, tmp177) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp (tmp82, tmp178, tmp175, tmp176, tmp183) ; tmp81 = s1exp_make_opr_13 (tmp182, tmp181) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp83)->tag != 12) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp184) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list (tmp82, tmp185) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp186) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp83)->tag != 13) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp189 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp187, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) ; tmp190 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp188, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list2 (tmp82, tmp189, tmp190) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp191) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp83)->tag != 14) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp192) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp193) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyarr (tmp82, tmp194, tmp195) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp196) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp83)->tag != 15) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_1) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_2) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp199) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tytup (tmp82, tmp197, tmp198, tmp200) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp201) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp83)->tag != 16) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_1) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_16, tmp83, atslab_2) ; tmp205 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp204, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec (tmp82, tmp202, tmp203, ats_castfn_mac(ats_ptr_type, tmp205)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp206) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp83)->tag != 17) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_17, tmp83, atslab_0) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_17, tmp83, atslab_1) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_17, tmp83, atslab_2) ; tmp210 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp209, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec_ext (tmp82, tmp207, tmp208, ats_castfn_mac(ats_ptr_type, tmp210)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp211) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp83)->tag != 18) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp212) ; tmp218 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp218)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp218, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__uni_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp218, atslab_1, f_34_closure_make (tmp82, tmp213)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp218) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp83)->tag != 19) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_9, tmp83, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_9, tmp83, atslab_1) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp220) ; tmp226 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp226)->tag = 1 ; ats_selptrset_mac(anairiats_sum_13, tmp226, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exi_prec_sta) ; ats_selptrset_mac(anairiats_sum_13, tmp226, atslab_1, f_35_closure_make (tmp82, tmp219, tmp221)) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_5, tmp81, atslab_1, tmp226) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp83)->tag != 20) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_0) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_5, tmp83, atslab_1) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp228) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp227) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ann (tmp82, tmp230, tmp229) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp231) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (((ats_sum_ptr_type)tmp83)->tag != 21) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_6, tmp83, atslab_0) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__S0Ed2ctype_tr (tmp232) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_d2ctype (tmp82, tmp233) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp81)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp81, atslab_0, tmp234) ; break ; } while (0) ; return (tmp81) ; } /* end of [aux_item_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 13172(line=509, offs=7) -- 13405(line=514, offs=32) */ ATSstaticdec() ats_ptr_type loop_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab_loop_36: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0exp_node) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp237)->tag != 9) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_5, tmp237, atslab_0) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_5, tmp237, atslab_1) ; tmp241 = aux_item_25 (tmp239) ; tmp240 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp240, atslab_0, tmp241) ; ats_selptrset_mac(anairiats_sum_3, tmp240, atslab_1, arg1) ; arg0 = tmp238 ; arg1 = tmp240 ; goto __ats_lab_loop_36 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp242 = aux_item_25 (arg0) ; tmp236 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp236, atslab_0, tmp242) ; ats_selptrset_mac(anairiats_sum_3, tmp236, atslab_1, arg1) ; break ; } while (0) ; return (tmp236) ; } /* end of [loop_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 13119(line=507, offs=5) -- 13458(line=518, offs=4) */ ATSstaticdec() ats_ptr_type aux_itemlst_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab_aux_itemlst_26: tmp243 = (ats_sum_ptr_type)0 ; tmp235 = loop_36 (arg0, tmp243) ; return (tmp235) ; } /* end of [aux_itemlst_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 6016(line=246, offs=10) -- 13591(line=526, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr: tmp244 = aux_item_25 (arg0) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp244)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_6, tmp244, atslab_0) ; tmp80 = tmp245 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (((ats_sum_ptr_type)tmp244)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp80 = s0exp_tr_errmsg_opr_21 (arg0) ; break ; } while (0) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 13680(line=533, offs=13) -- 13719(line=533, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr: tmp247 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) ; tmp246 = ats_castfn_mac(ats_ptr_type, tmp247) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 13744(line=536, offs=13) -- 13819(line=537, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp249) ; tmp248 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp248, atslab_0, tmp250) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp248 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp248) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 13888(line=543, offs=13) -- 13981(line=547, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr: // tmp252 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_1) ; tmp254 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_2) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp254) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__labs1exp_make (tmp252, tmp253, tmp255) ; return (tmp251) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labs0exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 14049(line=552, offs=12) -- 14378(line=564, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr: tmp257 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_s0rtext_loc) ; tmp258 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_s0rtext_node) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp258)->tag != 0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp259 = ats_caselptrlab_mac(anairiats_sum_6, tmp258, atslab_0) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp259) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_srt (tmp257, tmp260) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (((ats_sum_ptr_type)tmp258)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_20, tmp258, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_20, tmp258, atslab_1) ; tmp263 = ats_caselptrlab_mac(anairiats_sum_20, tmp258, atslab_2) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_20, tmp258, atslab_3) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr (tmp262) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp263) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp264) ; tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp261), atslab_i0de_sym) ; tmp269 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp269, atslab_0, tmp266) ; ats_selptrset_mac(anairiats_sum_3, tmp269, atslab_1, tmp267) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_sub (tmp257, tmp268, tmp265, tmp269) ; break ; } while (0) ; return (tmp256) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 14447(line=569, offs=14) -- 14572(line=571, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp271 = ats_caselptrlab_mac(anairiats_sum_22, arg0, atslab_0) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_22, arg0, atslab_1) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp272) ; tmp270 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ats_selptrset_mac(anairiats_sum_22, tmp270, atslab_0, tmp271) ; ats_selptrset_mac(anairiats_sum_22, tmp270, atslab_1, tmp273) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp270 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 14640(line=577, offs=11) -- 14702(line=578, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marg_tr: tmp275 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_q0marg_loc) ; tmp277 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_q0marg_arg) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp277) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__q1marg_make (tmp275, tmp276) ; return (tmp274) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 14749(line=581, offs=24) -- 14789(line=581, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr: tmp279 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marg_tr) ; tmp278 = ats_castfn_mac(ats_ptr_type, tmp279) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 14834(line=586, offs=12) -- 14989(line=588, offs=74) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__i0mparg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__i0mparg_tr: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp281) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_sarglst (tmp282) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararglst_tr (tmp283) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_svararglst (tmp284) ; break ; } while (0) ; return (tmp280) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__i0mparg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15057(line=594, offs=13) -- 15125(line=595, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr: tmp286 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg0), atslab_t0mpmarg_loc) ; tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg0), atslab_t0mpmarg_arg) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp288) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1mpmarg_make (tmp286, tmp287) ; return (tmp285) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15191(line=600, offs=20) -- 15218(line=600, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typ_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typ_tr: tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_a0typ_typ) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp290) ; return (tmp289) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typ_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15242(line=601, offs=23) -- 15281(line=601, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typlst_tr: tmp292 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typ_tr) ; tmp291 = ats_castfn_mac(ats_ptr_type, tmp292) ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15324(line=606, offs=10) -- 15510(line=611, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__sp0at_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__sp0at_tr: tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_sp0at_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: // __ats_lab_57_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_3, tmp294, atslab_0) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_3, tmp294, atslab_1) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp296) ; tmp298 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_sp0at_loc) ; tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp295), atslab_sqi0de_qua) ; tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp295), atslab_sqi0de_sym) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__sp1at_cstr (tmp298, tmp299, tmp300, tmp297) ; break ; } while (0) ; return (tmp293) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__sp0at_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15600(line=618, offs=3) -- 15770(line=621, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_one (arg0) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_all (arg0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp302) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_seq (arg0, tmp303) ; break ; } while (0) ; return (tmp301) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; __ats_lab_loop_52: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp325 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp326 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp326, atslab_0, tmp324) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp326 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp327 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp325 ; arg1 = arg1 ; arg2 = tmp327 ; goto __ats_lab_loop_52 ; // tail call break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp323) */ ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; // ATSlocal_void (tmp328) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp322 ; */ /* tmp328 = */ loop_52 (arg0, arg1, (&tmp322)) ; tmp321 = tmp322 ; return (tmp321) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 15914(line=630, offs=3) -- 17002(line=667, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_61_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp305), atslab_m0acarg_loc) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp305), atslab_m0acarg_node) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp309)->tag != 0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_6, tmp309, atslab_0) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_dyn (tmp307, tmp310) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (((ats_sum_ptr_type)tmp309)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp311 = ats_caselptrlab_mac(anairiats_sum_6, tmp309, atslab_0) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp311) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta (tmp307, tmp312) ; break ; } while (0) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr (tmp306) ; tmp314 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp308), atslab_m1acarg_node) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp314)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp304 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_0, tmp308) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_1, tmp313) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (((ats_sum_ptr_type)tmp314)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp315 = ats_caselptrlab_mac(anairiats_sum_6, tmp314, atslab_0) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (tmp313 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_66_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_3, tmp313, atslab_0) ; tmp317 = ats_caselptrlab_mac(anairiats_sum_3, tmp313, atslab_1) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp316), atslab_m1acarg_node) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp318)->tag != 1) { goto __ats_lab_70_0 ; } __ats_lab_67_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_6, tmp318, atslab_0) ; tmp320 = list_append_01312_ats_ptr_type (tmp315, tmp319) ; tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp316), atslab_m1acarg_loc) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp307, tmp330) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta (tmp329, tmp320) ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_0, tmp331) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_1, tmp317) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp304 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_0, tmp308) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_1, tmp313) ; break ; } while (0) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (tmp313 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp332 = (ats_sum_ptr_type)0 ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_0, tmp308) ; ats_selptrset_mac(anairiats_sum_3, tmp304, atslab_1, tmp332) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp304 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02081_ () { /* local vardec */ // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; __ats_lab_prerr_interror_02081_: /* tmp354 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp355 = */ prerr_FILENAME_02080_ () ; /* tmp353 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp353) */ ; } /* end of [prerr_interror_02081_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 17072(line=672, offs=12) -- 18333(line=720, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atcon_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_int_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atcon_tr: tmp334 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d0atcon_sym) ; tmp335 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d0atcon_qua) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr (tmp335) ; /* ats_int_type tmp337 ; */ tmp337 = -1 ; tmp339 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d0atcon_arg) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (tmp339 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_73_1: tmp340 = ats_caselptrlab_mac(anairiats_sum_15, tmp339, atslab_0) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp340) ; tmp342 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp341), atslab_s1exp_node) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp342)->tag != 13) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_9, tmp342, atslab_0) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_9, tmp342, atslab_1) ; tmp337 = tmp343 ; tmp338 = tmp344 ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp345 = (ats_sum_ptr_type)0 ; tmp338 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp338, atslab_0, tmp341) ; ats_selptrset_mac(anairiats_sum_3, tmp338, atslab_1, tmp345) ; break ; } while (0) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp339 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp338 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp346 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d0atcon_ind) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp346 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_77_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_15, tmp346, atslab_0) ; tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp348), atslab_s0exp_node) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp350)->tag != 12) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_6, tmp350, atslab_0) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp351) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: /* tmp352 = */ prerr_interror_02081_ () ; /* tmp356 = */ atspre_prerr_string (ATSstrcst(": d0atcon_tr: index is required to be a list.")) ; /* tmp357 = */ atspre_prerr_newline () ; /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp347, atslab_0, tmp349) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp346 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp347 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp358 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d0atcon_loc) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atcon_make (tmp358, tmp334, tmp336, tmp337, tmp338, tmp347) ; return (tmp333) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atcon_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 18606(line=739, offs=1) -- 19333(line=784, offs=4) */ ATSstaticdec() ats_ptr_type extprfx_add_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_bool_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab_extprfx_add_55: tmp360 = atspre_padd_int (arg2, 1) ; tmp362 = atspre_string_is_empty (ats_castfn_mac(ats_ptr_type, tmp360)) ; if (tmp362) { tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg1) ; } else { tmp361 = ats_castfn_mac(ats_ptr_type, tmp360) ; } /* end of [if] */ tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_get () ; tmp364 = atspre_stropt_is_some (tmp363) ; if (tmp364) { tmp365 = atspre_tostringf (ATSstrcst("%s%s"), ats_castfn_mac(ats_ptr_type, tmp363), tmp361) ; tmp359 = ats_castfn_mac(ats_ptr_type, tmp365) ; } else { tmp366 = atspre_tostringf (ATSstrcst("__ATS_EXTERN_PREFIX__%s"), tmp361) ; tmp359 = ats_castfn_mac(ats_ptr_type, tmp366) ; } /* end of [if] */ return (tmp359) ; } /* end of [extprfx_add_55] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp371) ; __ats_lab_ptr0_get_01703_ats_char_type: tmp371 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp371) ; } /* end of [ptr0_get_01703_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_char_type ptrget_01707_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp370) ; __ats_lab_ptrget_01707_ats_char_type: tmp370 = ptr0_get_01703_ats_char_type (arg0) ; return (tmp370) ; } /* end of [ptrget_01707_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 19458(line=794, offs=5) -- 19510(line=795, offs=47) */ ATSstaticdec() ats_bool_type isemp_57 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp368) ; ATSlocal (ats_char_type, tmp369) ; __ats_lab_isemp_57: tmp369 = ptrget_01707_ats_char_type (arg0) ; tmp368 = atspre_eq_char_char (tmp369, '\000') ; return (tmp368) ; } /* end of [isemp_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 19515(line=796, offs=5) -- 19568(line=797, offs=47) */ ATSstaticdec() ats_bool_type isperc_60 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp372) ; ATSlocal (ats_char_type, tmp373) ; __ats_lab_isperc_60: tmp373 = ptrget_01707_ats_char_type (arg0) ; tmp372 = atspre_eq_char_char (tmp373, '%') ; return (tmp372) ; } /* end of [isperc_60] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 19407(line=790, offs=3) -- 19779(line=808, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_bool_type, tmp374) ; ATSlocal (ats_bool_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: __ats_lab_81_1: tmp374 = isemp_57 (ats_castfn_mac(ats_ptr_type, arg2)) ; if (!tmp374) { goto __ats_lab_82_1 ; } tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg1) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp375 = isperc_60 (ats_castfn_mac(ats_ptr_type, arg2)) ; if (!tmp375) { goto __ats_lab_83_1 ; } tmp367 = extprfx_add_55 (arg0, arg1, ats_castfn_mac(ats_ptr_type, arg2)) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp367 = arg2 ; break ; } while (0) ; return (tmp367) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 20157(line=830, offs=3) -- 20843(line=860, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__dcstextdef_tr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_bool_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_bool_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_bool_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__dcstextdef_tr: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp376 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp376)->tag = 0 ; ats_selptrset_mac(anairiats_sum_31, tmp376, atslab_0, 1) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp377 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp378 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp377), atslab_token_node) ; if (((ats_sum_ptr_type)tmp378)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 20439(line=850, offs=9) -- 20474(line=850, offs=44)") ; } tmp379 = ats_caselptrlab_mac(anairiats_sum_6, tmp378, atslab_0) ; /* ats_ptr_type tmp380 ; */ tmp380 = tmp379 ; do { /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp381 = patsopt_extnam_ismac (tmp379, (&tmp380)) ; if (!tmp381) { goto __ats_lab_87_1 ; } tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef (arg0, arg1, tmp380) ; tmp376 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp376)->tag = 2 ; ats_selptrset_mac(anairiats_sum_6, tmp376, atslab_0, tmp382) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: __ats_lab_87_1: tmp383 = patsopt_extnam_issta (tmp379, (&tmp380)) ; if (!tmp383) { goto __ats_lab_88_1 ; } tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef (arg0, arg1, tmp380) ; tmp376 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp376)->tag = 3 ; ats_selptrset_mac(anairiats_sum_6, tmp376, atslab_0, tmp384) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp385 = patsopt_extnam_isext (tmp379, (&tmp380)) ; if (!tmp385) { goto __ats_lab_89_1 ; } tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef (arg0, arg1, tmp380) ; tmp376 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp376)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp376, atslab_0, tmp386) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__proc_extdef (arg0, arg1, tmp380) ; tmp376 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp376)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp376, atslab_0, tmp387) ; break ; } while (0) ; break ; } while (0) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__dcstextdef_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 21002(line=873, offs=5) -- 22802(line=926, offs=4) */ ATSstaticdec() ats_ptr_type aux1_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ref_type arg6, ats_ptr_type arg7, ats_ptr_type arg8) { /* local vardec */ ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_int_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_int_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_bool_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_bool_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_int_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; ATSlocal (ats_bool_type, tmp418) ; ATSlocal (ats_int_type, tmp419) ; // ATSlocal_void (tmp420) ; ATSlocal (ats_bool_type, tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; __ats_lab_aux1_62: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg7 == (ats_sum_ptr_type)0) { goto __ats_lab_95_0 ; } __ats_lab_90_1: tmp389 = ats_caselptrlab_mac(anairiats_sum_3, arg7, atslab_0) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_3, arg7, atslab_1) ; tmp391 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp389), atslab_d0cstarg_node) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp391)->tag != 1) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_9, tmp391, atslab_0) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_9, tmp391, atslab_1) ; tmp394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp389), atslab_d0cstarg_loc) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0typlst_tr (tmp393) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_npf_list (tmp394, tmp392, tmp396) ; tmp398 = atspre_add_int_int (arg5, 1) ; tmp397 = aux1_62 (arg0, arg1, arg2, arg3, arg4, tmp398, arg6, tmp390, arg8) ; tmp399 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp397), atslab_s1exp_loc) ; tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp394, tmp399) ; tmp402 = atspre_gt_int_int (arg5, 0) ; if (tmp402) { tmp401 = ATS_MALLOC(sizeof(anairiats_sum_33)) ; ats_selptrset_mac(anairiats_sum_33, tmp401, atslab_0, -1) ; } else { tmp401 = arg1 ; } /* end of [if] */ tmp404 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg6), 0) ; if (tmp404) { tmp405 = (ats_sum_ptr_type)0 ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp (tmp399, tmp401, 0, 0, tmp405) ; } else { tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp (tmp399, tmp401, arg2, arg3, arg4) ; } /* end of [if] */ tmp406 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg6), 1) ; ats_ptrget_mac(ats_int_type, arg6) = tmp406 ; tmp409 = (ats_sum_ptr_type)0 ; tmp408 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp408, atslab_0, tmp397) ; ats_selptrset_mac(anairiats_sum_3, tmp408, atslab_1, tmp409) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_0, tmp395) ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_1, tmp408) ; tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (tmp400, tmp403, tmp400, tmp407) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (((ats_sum_ptr_type)tmp391)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_6, tmp391, atslab_0) ; tmp411 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp389), atslab_d0cstarg_loc) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp410) ; tmp413 = aux1_62 (arg0, arg1, arg2, arg3, arg4, arg5, arg6, tmp390, arg8) ; tmp414 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp413), atslab_s1exp_loc) ; tmp415 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp411, tmp414) ; /* ats_int_type tmp416 ; */ tmp416 = 0 ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp418 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg6), 0) ; if (tmp418) { tmp419 = atspre_iadd (tmp416, 1) ; tmp416 = tmp419 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: break ; } while (0) ; tmp421 = atspre_gt_int_int (tmp416, 0) ; if (tmp421) { /* tmp422 = */ prerr_error1_loc_02083_ (tmp415) ; /* tmp423 = */ atspre_prerr_string (ATSstrcst(": illegal use of effect annotation")) ; /* tmp424 = */ atspre_prerr_newline () ; tmp425 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp425)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp425, atslab_0, arg0) ; /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp425) ; } else { /* empty */ } /* end of [if] */ tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni (tmp415, tmp412, tmp413) ; break ; } while (0) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (arg7 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp388 = arg8 ; break ; } while (0) ; return (tmp388) ; } /* end of [aux1_62] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 22827(line=928, offs=5) -- 24309(line=976, offs=4) */ ATSstaticdec() ats_ptr_type aux2_63 (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_int_type, tmp428) ; ATSlocal (ats_int_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (anairiats_rec_1, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_int_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; // ATSlocal_void (tmp442) ; ATSlocal (ats_int_type, tmp443) ; ATSlocal (ats_bool_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; ATSlocal (ats_bool_type, tmp448) ; // ATSlocal_void (tmp449) ; ATSlocal (ats_bool_type, tmp450) ; // ATSlocal_void (tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_int_type, tmp453) ; __ats_lab_aux2_63: /* ats_ptr_type tmp427 ; */ tmp427 = (ats_sum_ptr_type)0 ; /* ats_int_type tmp428 ; */ tmp428 = 0 ; /* ats_int_type tmp429 ; */ if (arg2) { tmp429 = 1 ; } else { tmp429 = 0 ; } /* end of [if] */ /* ats_ptr_type tmp430 ; */ tmp430 = (ats_sum_ptr_type)0 ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_99_0 ; } __ats_lab_96_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_15, arg4, atslab_0) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp432) ; tmp434 = ats_select_mac(tmp433, atslab_0) ; tmp435 = ats_select_mac(tmp433, atslab_1) ; tmp436 = ats_select_mac(tmp433, atslab_2) ; tmp437 = ats_select_mac(tmp433, atslab_3) ; do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (tmp434 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp439 = ats_caselptrlab_mac(anairiats_sum_15, tmp434, atslab_0) ; tmp427 = tmp439 ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (tmp434 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: break ; } while (0) ; tmp428 = tmp435 ; tmp440 = atspre_add_int_int (tmp429, tmp436) ; tmp429 = tmp440 ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp441, atslab_0, tmp437) ; tmp430 = tmp441 ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_99_1: break ; } while (0) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (tmp427 == (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp443 = ats_caselptrlab_mac(anairiats_sum_33, tmp427, atslab_0) ; tmp444 = atspre_neq_int_int (tmp443, -1) ; if (tmp444) { tmp445 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_d0cstdec_loc) ; /* tmp446 = */ prerr_error1_loc_02083_ (tmp445) ; tmp448 = atspre_eq_int_int (tmp443, 0) ; if (tmp448) { /* tmp447 = */ atspre_prerr_string (ATSstrcst(": a closure struct is not allowed at the toplevel.")) ; } else { /* empty */ } /* end of [if] */ tmp450 = atspre_eq_int_int (tmp443, 1) ; if (tmp450) { /* tmp449 = */ atspre_prerr_string (ATSstrcst(": a closure pointer is not allowed at the toplevel.")) ; } else { /* empty */ } /* end of [if] */ /* tmp451 = */ atspre_prerr_newline () ; tmp452 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp452)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_0, arg0) ; /* tmp442 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp452) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (tmp427 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: break ; } while (0) ; /* ats_int_type tmp453 ; */ tmp453 = 0 ; tmp426 = aux1_62 (arg0, tmp427, tmp428, tmp429, tmp430, 0, (&tmp453), arg3, arg5) ; return (tmp426) ; } /* end of [aux2_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 24333(line=978, offs=4) -- 24835(line=994, offs=4) */ ATSstaticdec() ats_ptr_type d0cstdec_tr_64 (ats_bool_type arg0, ats_bool_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; __ats_lab_d0cstdec_tr_64: tmp455 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_loc) ; tmp456 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_sym) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp459 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_res) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp459) ; tmp460 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_arg) ; tmp461 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_eff) ; tmp462 = aux2_63 (arg2, arg0, arg1, tmp460, tmp461, tmp458) ; tmp464 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg2), atslab_d0cstdec_extopt) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__dcstextdef_tr (arg2, tmp456, tmp464) ; tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1cstdec_make (tmp455, tmp457, tmp456, tmp462, tmp463) ; return (tmp454) ; } /* end of [d0cstdec_tr_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_staexp.dats: 24912(line=1000, offs=1) -- 25162(line=1009, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr (ats_bool_type arg0, ats_bool_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp468 = d0cstdec_tr_64 (arg0, arg1, tmp466) ; tmp469 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr (arg0, arg1, tmp467) ; tmp465 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp465, atslab_0, tmp468) ; ats_selptrset_mac(anairiats_sum_3, tmp465, atslab_1, tmp469) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: tmp465 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp465) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_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 () ; #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_trans1_staexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_ptrof_dats.c0000664000175000017500000016754312655455557021245 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_8 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_nonmut_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3explst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_varsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlabs_3 (ats_ptr_type arg0) ; static ats_void_type loop_6 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type auxmain_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxerr_nonptr_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_nonmut_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_nonlval_10 (ats_ptr_type arg0) ; static ats_ptr_type aux_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 1553(line=43, offs=28) -- 1583(line=43, offs=58) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_ptrof")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_02046_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 2007(line=71, offs=1) -- 2388(line=83, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_auxerr_pfobj_1: /* tmp2 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": [addr@] operation cannot be performed")) ; /* tmp6 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp8 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp9 = */ atspre_prerr_newline () ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 53 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_1, arg1) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ; return /* (tmp1) */ ; } /* end of [auxerr_pfobj_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 2419(line=85, offs=5) -- 2923(line=105, offs=2) */ ATSstaticdec() ats_ptr_type auxlabs_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_auxlabs_3: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp12), atslab_d3lab_node) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp14)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_0) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp16)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp16, atslab_0, tmp15) ; tmp17 = auxlabs_3 (tmp13) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp11, atslab_0, tmp16) ; ats_selptrset_mac(anairiats_sum_3, tmp11, atslab_1, tmp17) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)tmp14)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_5, tmp14, atslab_0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3explst_get_type (tmp18) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp20)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, tmp19) ; tmp21 = auxlabs_3 (tmp13) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp11, atslab_0, tmp20) ; ats_selptrset_mac(anairiats_sum_3, tmp11, atslab_1, tmp21) ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp11 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp11) ; } /* end of [auxlabs_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_loop_6: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp34 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp33) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp32 = */ loop_6 (arg0) ; return /* (tmp32) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 2949(line=107, offs=5) -- 3524(line=142, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (anairiats_rec_1, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_auxmain_4: // tmp23 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_2) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_3) ; ATS_FREE(arg1) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp23 ; /* ats_int_type tmp25 ; */ tmp25 = 0 ; /* ats_int_type tmp26 ; */ tmp26 = 0 ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp23, arg2, (&tmp25), (&tmp26)) ; tmp28 = ats_select_mac(tmp27, atslab_0) ; tmp29 = ats_select_mac(tmp27, atslab_1) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp28) ; /* tmp31 = */ list_vt_free_01499_ats_ptr_type (tmp29) ; tmp35 = auxlabs_3 (arg2) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj (tmp24, tmp23, tmp35) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type (tmp36) ; return (tmp22) ; } /* end of [auxmain_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 3593(line=148, offs=1) -- 3941(line=167, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; // ATSlocal_void (tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp38 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_7, tmp38, atslab_0) ; ATS_FREE(tmp38) ; tmp37 = auxmain_4 (arg0, tmp39, arg2, arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp38 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp40 ; /* tmp41 = */ auxerr_pfobj_1 (arg0, arg1) ; tmp37 = tmp40 ; break ; } while (0) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 4023(line=176, offs=1) -- 4272(line=185, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonptr_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_auxerr_nonptr_8: /* tmp43 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp44 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is expected to be a pointer.")) ; /* tmp45 = */ atspre_prerr_newline () ; tmp46 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp46)->tag = 52 ; ats_selptrset_mac(anairiats_sum_5, tmp46, atslab_0, arg1) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp46) ; return /* (tmp42) */ ; } /* end of [auxerr_nonptr_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 4304(line=188, offs=1) -- 4629(line=199, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonmut_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_auxerr_nonmut_9: /* tmp48 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp51 = */ atspre_prerr_string (ATSstrcst("] is not mutable and thus [addr@] cannot be applied.")) ; /* tmp52 = */ atspre_prerr_newline () ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp53)->tag = 48 ; ats_selptrset_mac(anairiats_sum_2, tmp53, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp53, atslab_1, arg1) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp53) ; return /* (tmp47) */ ; } /* end of [auxerr_nonmut_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 4661(line=202, offs=1) -- 4990(line=212, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonlval_10 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab_auxerr_nonlval_10: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; /* tmp56 = */ prerr_error3_loc_02046_ (tmp55) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst(": [addr@] operation cannot be performed")) ; /* tmp58 = */ atspre_prerr_string (ATSstrcst(": a left-value is required but a non-left-value is given.")) ; /* tmp59 = */ atspre_prerr_newline () ; tmp60 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp60)->tag = 50 ; ats_selptrset_mac(anairiats_sum_5, tmp60, atslab_0, arg0) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp60) ; return /* (tmp54) */ ; } /* end of [auxerr_nonlval_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 5262(line=230, offs=1) -- 6420(line=286, offs=4) */ ATSstaticdec() ats_ptr_type aux_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; __ats_lab_aux_12: tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ; tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp64)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_5, tmp64, atslab_0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp65) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp66 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (tmp63, tmp65) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (tmp63, tmp67, tmp65) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp66 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: /* tmp68 = */ auxerr_nonmut_9 (tmp63, tmp65) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp63) ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp64)->tag != 41) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_5, tmp64, atslab_0) ; tmp70 = (ats_sum_ptr_type)0 ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel (tmp63, tmp69, tmp70) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp64)->tag != 38) { goto __ats_lab_16_0 ; } __ats_lab_12_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_2, tmp64, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_2, tmp64, atslab_1) ; tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp71), atslab_d2exp_node) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp73)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_5, tmp73, atslab_0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_varsel (tmp63, tmp74, tmp72) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp73)->tag != 41) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_5, tmp73, atslab_0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel (tmp63, tmp75, tmp72) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: /* tmp76 = */ auxerr_nonlval_10 (arg0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp63) ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp77 = */ auxerr_nonlval_10 (arg0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp63) ; break ; } while (0) ; return (tmp62) ; } /* end of [aux_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 5242(line=227, offs=3) -- 6504(line=292, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_ptrof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_ptrof: tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp78)->tag != 39) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 6444(line=288, offs=5) -- 6476(line=288, offs=37)") ; } tmp79 = ats_caselptrlab_mac(anairiats_sum_5, tmp78, atslab_0) ; tmp61 = aux_12 (arg0, tmp79) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 6592(line=298, offs=3) -- 7222(line=324, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_varsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_varsel: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg1) ; if (tmp81) { tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; if (tmp83 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 6716(line=304, offs=7) -- 6753(line=304, offs=44)") ; } tmp84 = ats_caselptrlab_mac(anairiats_sum_7, tmp83, atslab_0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (arg0, tmp84, arg1) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp82 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (arg1) ; if (tmp86 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 6855(line=310, offs=9) -- 6888(line=310, offs=42)") ; } tmp87 = ats_caselptrlab_mac(anairiats_sum_7, tmp86, atslab_0) ; /* ats_ptr_type tmp88 ; */ tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof (arg0, tmp87, tmp82, (&tmp88)) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel (arg0, tmp89, tmp85, tmp88, tmp82) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (tmp82 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp80 = tmp85 ; break ; } while (0) ; } else { /* tmp90 = */ auxerr_nonmut_9 (arg0, arg1) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; } /* end of [if] */ return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_varsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_ptrof.dats: 7317(line=330, offs=3) -- 8117(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp92) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp92) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp95) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (tmp96) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp97 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_7, tmp97, atslab_0) ; ATS_FREE(tmp97) ; /* ats_ptr_type tmp99 ; */ do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp94 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__s2addr_ptrof (arg0, tmp98, tmp94, (&tmp99)) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp94 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp99 = tmp101 ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type (tmp98) ; break ; } while (0) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel (arg0, tmp100, tmp92, tmp99, tmp94) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp97 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: /* tmp102 = */ auxerr_nonptr_8 (arg0, tmp92) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; break ; } while (0) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__d2exp_trup_ptrof_ptrsel] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_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 () ; #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_trans3_ptrof_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_scst_dats.c0000664000175000017500000052272412655455557021237 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2cst_sym ; ats_ptr_type atslab_s2cst_loc ; ats_ptr_type atslab_s2cst_fil ; ats_ptr_type atslab_s2cst_srt ; ats_ptr_type atslab_s2cst_def ; ats_ptr_type atslab_s2cst_pack ; ats_ptr_type atslab_s2cst_isabs ; ats_bool_type atslab_s2cst_iscon ; ats_bool_type atslab_s2cst_isrec ; ats_bool_type atslab_s2cst_isasp ; ats_ptr_type atslab_s2cst_iscpy ; ats_ptr_type atslab_s2cst_islst ; ats_ptr_type atslab_s2cst_arylst ; ats_ptr_type atslab_s2cst_argsrtss ; ats_ptr_type atslab_s2cst_dconlst ; ats_ptr_type atslab_s2cst_sup ; ats_ptr_type atslab_s2cst_supcls ; ats_ptr_type atslab_s2cst_sVarset ; ats_int_type atslab_s2cst_dstag ; ats_int_type atslab_s2cst_stamp ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2cst_stamp_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind_fun) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_bool_type, ats_bool_type, ats_bool_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil) () ; /* 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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2cstmap_type_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2cstset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2cstset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2cst_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s2rt_get_arylst_0 (ats_ptr_type arg0) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_4 () ; static ats_ptr_type aux_33 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type list_is_pair_01299_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type aux_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type auxlst_52 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type aux_54 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type auxlst_55 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_61 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_61_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_61_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_64 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_64_closure_make () ; static ats_int_type __ats_fun_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_03703_ () ; static ats_int_type compare_elt_elt_03702_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_69 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_69_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_03710_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_04103_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_04086_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_73 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_73_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_73_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03712_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type listize_78 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_listize_03727_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linset_make_nil_03729_ () ; static ats_int_type compare_elt_elt_03728_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_83 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_83_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_83_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type linset_is_member_03734_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_04360_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04414_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04390_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_87 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_87_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_87_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_03738_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_93 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_03754_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_94 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_94_closure_make () ; static ats_int_type __ats_fun_94_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_make_nil_03761_ () ; static ats_int_type compare_key_key_03760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_04797_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04777_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type insert_99 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_99_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) ; static ats_ptr_type insert_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_insert_03768_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_bool_type search_105 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type search_105_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type search_105_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_search_03766_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp160) ; ATSstatic (ats_ptr_type, statmp390) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab_loop_2: do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp7 = atspre_isucc (arg1) ; arg0 = tmp6 ; arg1 = tmp7 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp5 = arg1 ; break ; } while (0) ; return (tmp5) ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp4) ; __ats_lab_list_length_01410_ats_ptr_type: tmp4 = loop_2 (arg0, 0) ; return (tmp4) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 3399(line=134, offs=5) -- 3586(line=140, offs=21) */ ATSstaticdec() ats_ptr_type s2rt_get_arylst_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_s2rt_get_arylst_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp3 = list_length_01410_ats_ptr_type (tmp1) ; tmp8 = s2rt_get_arylst_0 (tmp2) ; tmp0 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp0, atslab_0, tmp3) ; ats_selptrset_mac(anairiats_sum_2, tmp0, atslab_1, tmp8) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp0 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp0) ; } /* end of [s2rt_get_arylst_0] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_4 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_ptr_alloc_01070_anairiats_rec_4: tmp13 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_4)) ; return (tmp13) ; } /* end of [ptr_alloc_01070_anairiats_rec_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 3712(line=149, offs=1) -- 4782(line=189, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_bool_type arg5, ats_bool_type arg6, ats_bool_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ptr_type arg10) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2cst_stamp_make () ; tmp12 = ptr_alloc_01070_anairiats_rec_4 () ; tmp14 = ats_selsin_mac(tmp12, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_sym) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_loc) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_fil) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_srt) = arg3 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_def) = arg10 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_pack) = tmp10 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_isabs) = arg4 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_iscon) = arg5 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_isrec) = arg6 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_isasp) = arg7 ; tmp15 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_iscpy) = ats_castfn_mac(ats_ptr_type, tmp15) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_islst) = arg8 ; tmp16 = s2rt_get_arylst_0 (arg3) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_arylst) = tmp16 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_argsrtss) = arg9 ; tmp17 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_dconlst) = tmp17 ; tmp18 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_sup) = ats_castfn_mac(ats_ptr_type, tmp18) ; tmp19 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_supcls) = tmp19 ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil () ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_sVarset) = tmp20 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_dstag) = -1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2cst_stamp) = tmp11 ; tmp9 = atspre_ref_make_view_ptr (tmp14) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 4852(line=194, offs=15) -- 4928(line=196, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym: tmp22 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp21 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp22), atslab_s2cst_sym) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 4980(line=199, offs=15) -- 5056(line=201, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_loc: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp23 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp24), atslab_s2cst_loc) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5108(line=204, offs=15) -- 5184(line=206, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_fil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_fil: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp25 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp26), atslab_s2cst_fil) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_fil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5236(line=209, offs=15) -- 5312(line=211, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp27 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp28), atslab_s2cst_srt) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5364(line=214, offs=15) -- 5440(line=216, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def: tmp30 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp29 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp30), atslab_s2cst_def) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5491(line=218, offs=15) -- 5579(line=220, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def: tmp32 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp32), atslab_s2cst_def) = arg1 ; return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5632(line=223, offs=16) -- 5709(line=225, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_pack (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_pack: tmp34 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp33 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp34), atslab_s2cst_pack) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_pack] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5764(line=228, offs=17) -- 5842(line=230, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs: tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp35 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp36), atslab_s2cst_isabs) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 5898(line=233, offs=17) -- 5976(line=235, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp37 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp38), atslab_s2cst_iscon) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6032(line=238, offs=17) -- 6110(line=240, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isrec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isrec: tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp39 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp40), atslab_s2cst_isrec) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6166(line=243, offs=17) -- 6244(line=245, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isasp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isasp: tmp42 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp41 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp42), atslab_s2cst_isasp) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isasp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6299(line=247, offs=17) -- 6393(line=249, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_isasp (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_isasp: tmp44 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp44), atslab_s2cst_isasp) = arg1 ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_isasp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6452(line=252, offs=20) -- 6533(line=254, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_argsrtss (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_argsrtss: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp45 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp46), atslab_s2cst_argsrtss) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_argsrtss] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6592(line=257, offs=17) -- 6670(line=259, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst: tmp48 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp47 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp48), atslab_s2cst_islst) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6725(line=261, offs=17) -- 6819(line=263, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_islst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_islst: tmp50 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp50), atslab_s2cst_islst) = arg1 ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_islst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 6877(line=266, offs=19) -- 6957(line=268, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst: tmp52 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp51 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp52), atslab_s2cst_dconlst) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7016(line=270, offs=19) -- 7110(line=272, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst: tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp54), atslab_s2cst_dconlst) = arg1 ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7166(line=275, offs=15) -- 7264(line=278, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sup: tmp56 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp57 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp56), atslab_s2cst_sup) ; tmp55 = ats_castfn_mac(ats_ptr_type, tmp57) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7315(line=280, offs=15) -- 7503(line=286, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup: tmp59 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp60 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp59), atslab_s2cst_sup) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp61, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp61, atslab_1, ats_castfn_mac(ats_ptr_type, tmp60)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp59), atslab_s2cst_sup) = ats_castfn_mac(ats_ptr_type, tmp61) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_sup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7558(line=289, offs=18) -- 7637(line=291, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls: tmp63 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp62 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp63), atslab_s2cst_supcls) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7694(line=293, offs=18) -- 7816(line=297, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_supcls (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_supcls: tmp65 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp67 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp65), atslab_s2cst_supcls) ; tmp66 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp66, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp66, atslab_1, tmp67) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp65), atslab_s2cst_supcls) = tmp66 ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_supcls] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 7875(line=300, offs=19) -- 7955(line=302, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sVarset (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sVarset: tmp69 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp68 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp69), atslab_s2cst_sVarset) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sVarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8014(line=304, offs=19) -- 8108(line=306, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_sVarset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_sVarset: tmp71 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp71), atslab_s2cst_sVarset) = arg1 ; return /* (tmp70) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_sVarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8166(line=309, offs=17) -- 8244(line=311, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dstag (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dstag: tmp73 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp72 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp73), atslab_s2cst_dstag) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dstag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8299(line=313, offs=17) -- 8389(line=315, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dstag (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dstag: tmp75 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp75), atslab_s2cst_dstag) = arg1 ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dstag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8448(line=318, offs=17) -- 8526(line=320, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp: tmp77 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp76 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp77), atslab_s2cst_stamp) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8625(line=327, offs=16) -- 8675(line=328, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg0) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp79) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8809(line=339, offs=5) -- 8941(line=343, offs=23) */ ATSstaticdec() ats_ptr_type aux_33 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_aux_33: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp84 = aux_33 (tmp83, arg1) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (tmp82, tmp84) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp81 = arg1 ; break ; } while (0) ; return (tmp81) ; } /* end of [aux_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 8752(line=335, offs=1) -- 9264(line=363, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make_dat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make_dat: tmp85 = aux_33 (arg2, arg3) ; tmp86 = (ats_sum_ptr_type)0 ; tmp87 = (ats_sum_ptr_type)0 ; tmp88 = (ats_sum_ptr_type)0 ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, tmp85, tmp86, ats_true_bool, ats_false_bool, ats_false_bool, tmp87, arg4, tmp88) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make_dat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9341(line=369, offs=3) -- 9373(line=369, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2cst_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2cst_s2cst: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; tmp89 = atspre_ilt (tmp90, 0) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2cst_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9431(line=374, offs=3) -- 9464(line=374, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2cst_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2cst_s2cst: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; tmp91 = atspre_ilte (tmp92, 0) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2cst_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9522(line=379, offs=3) -- 9554(line=379, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; tmp93 = atspre_ieq (tmp94, 0) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9612(line=384, offs=3) -- 9645(line=384, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2cst_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2cst_s2cst: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; tmp95 = atspre_ineq (tmp96, 0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2cst_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9706(line=388, offs=21) -- 9785(line=389, offs=69) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp (arg0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp (arg1) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp98, tmp99) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 9868(line=396, offs=3) -- 9968(line=400, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr: tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (arg0) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp101 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp100 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp101 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp100 = ats_false_bool ; break ; } while (0) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10046(line=405, offs=16) -- 10089(line=406, offs=38) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tkind: tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind_fun (tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10167(line=412, offs=17) -- 10240(line=414, offs=64) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype: tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr (arg0) ; if (tmp105) { tmp104 = ats_false_bool ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon (arg0) ; } /* end of [if] */ return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10320(line=420, offs=18) -- 10437(line=424, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tagless (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tagless: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike (arg0) ; if (!tmp107) { goto __ats_lab_9_1 ; } tmp106 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular (arg0) ; if (!tmp108) { goto __ats_lab_10_1 ; } tmp106 = ats_true_bool ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp106 = ats_false_bool ; break ; } while (0) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tagless] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10498(line=428, offs=19) -- 10567(line=429, offs=64) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (arg0) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp110 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp109 = ats_true_bool ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp110 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp109 = ats_false_bool ; break ; } while (0) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50922(line=1801, offs=14) -- 50991(line=1803, offs=4) */ ATSstaticdec() ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_list_is_sing_01298_ats_ptr_type: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } tmp115 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; if (tmp115 != (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp114 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp114 = ats_false_bool ; break ; } while (0) ; return (tmp114) ; } /* end of [list_is_sing_01298_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10627(line=433, offs=19) -- 10748(line=436, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg0) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp112 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_13_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_5, tmp112, atslab_0) ; tmp111 = list_is_sing_01298_ats_ptr_type (tmp113) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp112 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp111 = ats_false_bool ; break ; } while (0) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51044(line=1806, offs=14) -- 51123(line=1808, offs=4) */ ATSstaticdec() ats_bool_type list_is_pair_01299_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_list_is_pair_01299_ats_ptr_type: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } tmp120 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; if (tmp120 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } tmp121 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; if (tmp121 != (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp119 = ats_true_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp119 = ats_false_bool ; break ; } while (0) ; return (tmp119) ; } /* end of [list_is_pair_01299_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 10808(line=439, offs=19) -- 10929(line=442, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_binarian (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_binarian: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg0) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp117 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_17_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp117, atslab_0) ; tmp116 = list_is_pair_01299_ats_ptr_type (tmp118) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp117 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp116 = ats_false_bool ; break ; } while (0) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_binarian] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11010(line=447, offs=17) -- 11053(line=448, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear: tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin_fun (tmp123) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11088(line=451, offs=20) -- 11143(line=452, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_nonlinear (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_nonlinear: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear (arg0) ; if (tmp125) { tmp124 = ats_false_bool ; } else { tmp124 = ats_true_bool ; } /* end of [if] */ return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_nonlinear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11319(line=463, offs=5) -- 11434(line=467, offs=50) */ ATSstaticdec() ats_bool_type aux_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_aux_51: tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (arg0, arg1) ; if (tmp128) { tmp127 = ats_true_bool ; } else { tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sup (arg0) ; tmp127 = auxlst_52 (tmp129, arg1) ; } /* end of [if] */ return (tmp127) ; } /* end of [aux_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11456(line=469, offs=5) -- 11655(line=476, offs=33) */ ATSstaticdec() ats_bool_type auxlst_52 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; __ats_lab_auxlst_52: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp133 = aux_51 (tmp131, arg1) ; if (tmp133) { tmp130 = ats_true_bool ; } else { arg0 = tmp132 ; arg1 = arg1 ; goto __ats_lab_auxlst_52 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp130 = ats_false_bool ; break ; } while (0) ; return (tmp130) ; } /* end of [auxlst_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11192(line=458, offs=3) -- 11770(line=485, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq: tmp126 = aux_51 (arg0, arg1) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11986(line=497, offs=1) -- 12258(line=508, offs=4) */ ATSstaticdec() ats_bool_type aux_54 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_aux_54: tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (arg0, arg1) ; if (tmp136) { tmp135 = ats_true_bool ; } else { tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls (arg0) ; tmp135 = auxlst_55 (tmp137, arg1) ; } /* end of [if] */ return (tmp135) ; } /* end of [aux_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 12282(line=511, offs=1) -- 12634(line=525, offs=4) */ ATSstaticdec() ats_bool_type auxlst_55 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; __ats_lab_auxlst_55: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp139), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp141)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_7, tmp141, atslab_0) ; tmp143 = aux_54 (tmp142, arg1) ; if (tmp143) { tmp138 = ats_true_bool ; } else { arg0 = tmp140 ; arg1 = arg1 ; goto __ats_lab_auxlst_55 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: arg0 = tmp140 ; arg1 = arg1 ; goto __ats_lab_auxlst_55 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp138 = ats_false_bool ; break ; } while (0) ; return (tmp138) ; } /* end of [auxlst_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 11847(line=491, offs=3) -- 12755(line=533, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_lte_cls_cls (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_lte_cls_cls: tmp134 = aux_54 (arg0, arg1) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_lte_cls_cls] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 12833(line=539, offs=3) -- 12916(line=543, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg1) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp145) ; return /* (tmp144) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 13429(line=563, offs=23) -- 13463(line=563, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cst: /* tmp146 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (stdout, arg0) ; return /* (tmp146) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 13486(line=564, offs=23) -- 13520(line=564, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst: /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (stderr, arg0) ; return /* (tmp147) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_61 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_bool_type, tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_int_type, tmp156) ; __ats_lab_aux_61: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp154 = atspre_gt_int_int (arg1, 0) ; if (tmp154) { /* tmp153 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp155 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp151) ; tmp156 = atspre_add_int_int (arg1, 1) ; arg0 = tmp152 ; arg1 = tmp156 ; goto __ats_lab_aux_61 ; // tail call break ; } while (0) ; return /* (tmp150) */ ; } /* end of [aux_61] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_61_closure_type ; ats_void_type aux_61_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_61 (((aux_61_closure_type*)cloptr)->closure_env_0, ((aux_61_closure_type*)cloptr)->closure_env_1, ((aux_61_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_61_closure_init (aux_61_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_61_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_61_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_61_closure_type *p_clo = ATS_MALLOC(sizeof(aux_61_closure_type)) ; aux_61_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp149) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp149 = */ aux_61 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp149) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 13550(line=568, offs=3) -- 13605(line=568, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp148) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst: /* tmp148 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) ; return /* (tmp148) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 13660(line=572, offs=16) -- 13699(line=572, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cstlst: /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (stdout, arg0) ; return /* (tmp157) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 13725(line=574, offs=16) -- 13764(line=574, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cstlst: /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (stderr, arg0) ; return /* (tmp158) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14007(line=591, offs=1) -- 14092(line=594, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_64 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp159) ; __ats_lab___ats_fun_64: tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; return (tmp159) ; } /* end of [__ats_fun_64] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_64_closure_type ; ats_int_type __ats_fun_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_64 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_64_closure_init (__ats_fun_64_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_64_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_64_closure_make () { __ats_fun_64_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_64_closure_type)) ; __ats_fun_64_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03703_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; __ats_lab_funset_make_nil_03703_: tmp162 = (ats_sum_ptr_type)0 ; return (tmp162) ; } /* end of [funset_make_nil_03703_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14241(line=604, offs=3) -- 14276(line=604, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_nil: tmp161 = funset_make_nil_03703_ () ; return (tmp161) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_03702_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp170) ; __ats_lab_compare_elt_elt_03702_ats_ptr_type: tmp170 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp170) ; } /* end of [compare_elt_elt_03702_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4143(line=153, offs=7) -- 4406(line=161, offs=20) */ ATSstaticdec() ats_bool_type aux_69 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_int_type, tmp169) ; ATSlocal (ats_bool_type, tmp171) ; ATSlocal (ats_bool_type, tmp172) ; __ats_lab_aux_69: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_2) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; tmp169 = compare_elt_elt_03702_ats_ptr_type (env0, tmp166, env1) ; tmp171 = atspre_lt_int_int (tmp169, 0) ; if (tmp171) { arg0 = tmp167 ; goto __ats_lab_aux_69 ; // tail call } else { tmp172 = atspre_gt_int_int (tmp169, 0) ; if (tmp172) { arg0 = tmp168 ; goto __ats_lab_aux_69 ; // tail call } else { tmp165 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp165 = ats_false_bool ; break ; } while (0) ; return (tmp165) ; } /* end of [aux_69] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_69_closure_type ; ats_bool_type aux_69_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_69 (((aux_69_closure_type*)cloptr)->closure_env_0, ((aux_69_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_69_closure_init (aux_69_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_69_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_69_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_69_closure_type *p_clo = ATS_MALLOC(sizeof(aux_69_closure_type)) ; aux_69_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4104(line=152, offs=3) -- 4426(line=163, offs=2) */ ATSstaticdec() ats_bool_type funset_is_member_03710_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp164) ; __ats_lab_funset_is_member_03710_ats_ptr_type: tmp164 = aux_69 (arg1, arg2, arg0) ; return (tmp164) ; } /* end of [funset_is_member_03710_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14307(line=608, offs=3) -- 14350(line=608, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_ismem: tmp163 = funset_is_member_03710_ats_ptr_type (arg0, arg1, statmp160) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04103_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_bool_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_int_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; __ats_lab_avltree_rrotate_04103_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp194 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_2) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_3) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp195 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_8, tmp195, atslab_0) ; tmp197 = tmp198 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp195 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp197 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp196 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_8, tmp196, atslab_0) ; tmp199 = tmp200 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (tmp196 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp199 = 0 ; break ; } while (0) ; tmp202 = atspre_iadd (tmp197, 0) ; tmp201 = atspre_igte (tmp202, tmp199) ; if (tmp201) { tmp203 = atspre_iadd (tmp199, 1) ; tmp205 = atspre_imax (tmp197, tmp203) ; tmp204 = atspre_iadd (1, tmp205) ; tmp206 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp206, atslab_0, tmp203) ; ats_selptrset_mac(anairiats_sum_8, tmp206, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp206, atslab_2, tmp196) ; ats_selptrset_mac(anairiats_sum_8, tmp206, atslab_3, arg4) ; tmp193 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_0, tmp204) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_1, tmp194) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_2, tmp195) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_3, tmp206) ; } else { // if (tmp196 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp207 = ats_caselptrlab_mac(anairiats_sum_8, tmp196, atslab_1) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_8, tmp196, atslab_2) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_8, tmp196, atslab_3) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp208 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_8, tmp208, atslab_0) ; tmp210 = tmp211 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (tmp208 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp210 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp209 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_8, tmp209, atslab_0) ; tmp212 = tmp213 ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp209 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp212 = 0 ; break ; } while (0) ; tmp216 = atspre_imax (tmp197, tmp210) ; tmp215 = atspre_iadd (1, tmp216) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp214, atslab_0, tmp215) ; ats_selptrset_mac(anairiats_sum_8, tmp214, atslab_1, tmp194) ; ats_selptrset_mac(anairiats_sum_8, tmp214, atslab_2, tmp195) ; ats_selptrset_mac(anairiats_sum_8, tmp214, atslab_3, tmp208) ; tmp219 = atspre_imax (tmp212, arg3) ; tmp218 = atspre_iadd (1, tmp219) ; tmp217 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp217, atslab_0, tmp218) ; ats_selptrset_mac(anairiats_sum_8, tmp217, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp217, atslab_2, tmp209) ; ats_selptrset_mac(anairiats_sum_8, tmp217, atslab_3, arg4) ; tmp193 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_1, tmp207) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_2, tmp214) ; ats_selptrset_mac(anairiats_sum_8, tmp193, atslab_3, tmp217) ; } /* end of [if] */ return (tmp193) ; } /* end of [avltree_rrotate_04103_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04086_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_int_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_int_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_int_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_int_type, tmp255) ; ATSlocal (ats_int_type, tmp256) ; __ats_lab_avltree_lrotate_04086_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp231 = ats_caselptrlab_mac(anairiats_sum_8, arg4, atslab_1) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_8, arg4, atslab_2) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_8, arg4, atslab_3) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (tmp232 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_8, tmp232, atslab_0) ; tmp234 = tmp235 ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (tmp232 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp234 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (tmp233 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_8, tmp233, atslab_0) ; tmp236 = tmp237 ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (tmp233 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp236 = 0 ; break ; } while (0) ; tmp239 = atspre_iadd (tmp236, 0) ; tmp238 = atspre_ilte (tmp234, tmp239) ; if (tmp238) { tmp240 = atspre_iadd (tmp234, 1) ; tmp242 = atspre_imax (tmp240, tmp236) ; tmp241 = atspre_iadd (1, tmp242) ; tmp243 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp243, atslab_0, tmp240) ; ats_selptrset_mac(anairiats_sum_8, tmp243, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp243, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp243, atslab_3, tmp232) ; tmp230 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_0, tmp241) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_1, tmp231) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_2, tmp243) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_3, tmp233) ; } else { // if (tmp232 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp244 = ats_caselptrlab_mac(anairiats_sum_8, tmp232, atslab_1) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_8, tmp232, atslab_2) ; tmp246 = ats_caselptrlab_mac(anairiats_sum_8, tmp232, atslab_3) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (tmp245 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_8, tmp245, atslab_0) ; tmp247 = tmp248 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (tmp245 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp247 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (tmp246 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_8, tmp246, atslab_0) ; tmp249 = tmp250 ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (tmp246 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp249 = 0 ; break ; } while (0) ; tmp253 = atspre_imax (arg1, tmp247) ; tmp252 = atspre_iadd (1, tmp253) ; tmp251 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp251, atslab_0, tmp252) ; ats_selptrset_mac(anairiats_sum_8, tmp251, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp251, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp251, atslab_3, tmp245) ; tmp256 = atspre_imax (tmp249, tmp236) ; tmp255 = atspre_iadd (1, tmp256) ; tmp254 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp254, atslab_0, tmp255) ; ats_selptrset_mac(anairiats_sum_8, tmp254, atslab_1, tmp231) ; ats_selptrset_mac(anairiats_sum_8, tmp254, atslab_2, tmp246) ; ats_selptrset_mac(anairiats_sum_8, tmp254, atslab_3, tmp233) ; tmp230 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_1, tmp244) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_2, tmp251) ; ats_selptrset_mac(anairiats_sum_8, tmp230, atslab_3, tmp254) ; } /* end of [if] */ return (tmp230) ; } /* end of [avltree_lrotate_04086_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_73 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_bool_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_int_type, tmp186) ; ATSlocal (ats_int_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_bool_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_int_type, tmp192) ; ATSlocal (ats_bool_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_bool_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; __ats_lab_insert_73: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_31_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_2) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; tmp182 = compare_elt_elt_03702_ats_ptr_type (env0, tmp179, env1) ; tmp183 = atspre_lt_int_int (tmp182, 0) ; if (tmp183) { tmp184 = insert_73 (env0, env1, tmp180, arg1) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp184 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_8, tmp184, atslab_0) ; tmp185 = tmp186 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp184 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp185 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp181 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_8, tmp181, atslab_0) ; tmp187 = tmp188 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp181 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp187 = 0 ; break ; } while (0) ; tmp190 = atspre_isub (tmp185, tmp187) ; tmp189 = atspre_ilte (tmp190, 1) ; if (tmp189) { tmp192 = atspre_imax (tmp185, tmp187) ; tmp191 = atspre_iadd (1, tmp192) ; tmp177 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_0, tmp191) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_1, tmp179) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_2, tmp184) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_3, tmp181) ; } else { tmp177 = avltree_rrotate_04103_ats_ptr_type (tmp179, tmp185, tmp184, tmp187, tmp181) ; } /* end of [if] */ } else { tmp220 = atspre_gt_int_int (tmp182, 0) ; if (tmp220) { tmp221 = insert_73 (env0, env1, tmp181, arg1) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (tmp180 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp223 = ats_caselptrlab_mac(anairiats_sum_8, tmp180, atslab_0) ; tmp222 = tmp223 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (tmp180 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp222 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp221 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_8, tmp221, atslab_0) ; tmp224 = tmp225 ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (tmp221 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp224 = 0 ; break ; } while (0) ; tmp227 = atspre_isub (tmp224, tmp222) ; tmp226 = atspre_ilte (tmp227, 1) ; if (tmp226) { tmp229 = atspre_imax (tmp222, tmp224) ; tmp228 = atspre_iadd (1, tmp229) ; tmp177 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_0, tmp228) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_1, tmp179) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_2, tmp180) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_3, tmp221) ; } else { tmp177 = avltree_lrotate_04086_ats_ptr_type (tmp179, tmp222, tmp180, tmp224, tmp221) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp177 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_0, tmp178) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_2, tmp180) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_3, tmp181) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp257 = (ats_sum_ptr_type)0 ; tmp258 = (ats_sum_ptr_type)0 ; tmp177 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_2, tmp257) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_3, tmp258) ; break ; } while (0) ; return (tmp177) ; } /* end of [insert_73] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_73_closure_type ; ats_ptr_type insert_73_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_73 (((insert_73_closure_type*)cloptr)->closure_env_0, ((insert_73_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_73_closure_init (insert_73_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_73_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_73_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_73_closure_type *p_clo = ATS_MALLOC(sizeof(insert_73_closure_type)) ; insert_73_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03712_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_bool_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; __ats_lab_funset_insert_03712_ats_ptr_type: /* ats_bool_type tmp259 ; */ tmp260 = insert_73 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp259)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp260 ; tmp176 = tmp259 ; return (tmp176) ; } /* end of [funset_insert_03712_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14379(line=612, offs=3) -- 14466(line=615, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_bool_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_add: /* ats_ptr_type tmp174 ; */ tmp174 = arg0 ; tmp175 = funset_insert_03712_ats_ptr_type ((&tmp174), arg1, statmp160) ; tmp173 = tmp174 ; return (tmp173) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20241(line=721, offs=7) -- 20545(line=732, offs=18) */ ATSstaticdec() ats_ptr_type listize_78 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; __ats_lab_listize_78: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp265 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_2) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; tmp267 = listize_78 (tmp266, arg1) ; tmp268 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp268, atslab_0, tmp264) ; ats_selptrset_mac(anairiats_sum_3, tmp268, atslab_1, tmp267) ; arg0 = tmp265 ; arg1 = tmp268 ; goto __ats_lab_listize_78 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp263 = arg1 ; break ; } while (0) ; return (tmp263) ; } /* end of [listize_78] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20189(line=719, offs=16) -- 20605(line=736, offs=4) */ ATSstaticdec() ats_ptr_type funset_listize_03727_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab_funset_listize_03727_ats_ptr_type: tmp269 = (ats_sum_ptr_type)0 ; tmp262 = listize_78 (arg0, tmp269) ; return (tmp262) ; } /* end of [funset_listize_03727_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14525(line=618, offs=18) -- 14554(line=618, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_listize: tmp261 = funset_listize_03727_ats_ptr_type (arg0) ; return (tmp261) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_03729_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; __ats_lab_linset_make_nil_03729_: tmp271 = (ats_sum_ptr_type)0 ; return (tmp271) ; } /* end of [linset_make_nil_03729_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14606(line=624, offs=3) -- 14641(line=624, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil: tmp270 = linset_make_nil_03729_ () ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_03728_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp279) ; __ats_lab_compare_elt_elt_03728_ats_ptr_type: tmp279 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp279) ; } /* end of [compare_elt_elt_03728_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3861(line=149, offs=7) -- 4231(line=160, offs=33) */ ATSstaticdec() ats_bool_type aux_83 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_bool_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab_aux_83: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp276 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_2) ; tmp277 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; tmp278 = compare_elt_elt_03728_ats_ptr_type (env0, tmp275, env1) ; tmp280 = atspre_lt_int_int (tmp278, 0) ; if (tmp280) { tmp281 = ats_ptrget_mac(ats_ptr_type, tmp276) ; arg0 = tmp281 ; goto __ats_lab_aux_83 ; // tail call } else { tmp282 = atspre_gt_int_int (tmp278, 0) ; if (tmp282) { tmp283 = ats_ptrget_mac(ats_ptr_type, tmp277) ; arg0 = tmp283 ; goto __ats_lab_aux_83 ; // tail call } else { tmp274 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp274 = ats_false_bool ; break ; } while (0) ; return (tmp274) ; } /* end of [aux_83] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_83_closure_type ; ats_bool_type aux_83_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_83 (((aux_83_closure_type*)cloptr)->closure_env_0, ((aux_83_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_83_closure_init (aux_83_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_83_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_83_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_83_closure_type *p_clo = ATS_MALLOC(sizeof(aux_83_closure_type)) ; aux_83_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3822(line=148, offs=3) -- 4251(line=162, offs=2) */ ATSstaticdec() ats_bool_type linset_is_member_03734_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp273) ; __ats_lab_linset_is_member_03734_ats_ptr_type: tmp273 = aux_83 (arg1, arg2, arg0) ; return (tmp273) ; } /* end of [linset_is_member_03734_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14675(line=628, offs=3) -- 14718(line=628, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_ismem: tmp272 = linset_is_member_03734_ats_ptr_type (arg0, arg1, statmp160) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_04360_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; __ats_lab_avltree_height_04360_ats_ptr_type: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp298 = tmp299 ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp298 = 0 ; break ; } while (0) ; return (tmp298) ; } /* end of [avltree_height_04360_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04414_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_bool_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_int_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_int_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_int_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_int_type, tmp334) ; ATSlocal (ats_int_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; __ats_lab_avltree_rrotate_04414_ats_ptr_type: tmp309 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp309 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp310 = &ats_caselptrlab_mac(anairiats_sum_8, tmp309, atslab_0) ; tmp311 = &ats_caselptrlab_mac(anairiats_sum_8, tmp309, atslab_2) ; tmp312 = &ats_caselptrlab_mac(anairiats_sum_8, tmp309, atslab_3) ; tmp314 = ats_ptrget_mac(ats_ptr_type, tmp311) ; tmp313 = avltree_height_04360_ats_ptr_type (tmp314) ; tmp316 = ats_ptrget_mac(ats_ptr_type, tmp312) ; tmp315 = avltree_height_04360_ats_ptr_type (tmp316) ; tmp318 = atspre_iadd (tmp313, 0) ; tmp317 = atspre_igte (tmp318, tmp315) ; if (tmp317) { tmp319 = atspre_iadd (tmp315, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp319 ; tmp320 = ats_ptrget_mac(ats_ptr_type, tmp312) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp320 ; tmp322 = atspre_imax (tmp313, tmp319) ; tmp321 = atspre_iadd (1, tmp322) ; ats_ptrget_mac(ats_int_type, tmp310) = tmp321 ; ats_ptrget_mac(ats_ptr_type, tmp312) = arg5 ; tmp308 = tmp309 ; } else { tmp323 = ats_ptrget_mac(ats_ptr_type, tmp312) ; // if (tmp323 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp324 = &ats_caselptrlab_mac(anairiats_sum_8, tmp323, atslab_0) ; tmp325 = &ats_caselptrlab_mac(anairiats_sum_8, tmp323, atslab_2) ; tmp326 = &ats_caselptrlab_mac(anairiats_sum_8, tmp323, atslab_3) ; tmp328 = ats_ptrget_mac(ats_ptr_type, tmp325) ; tmp327 = avltree_height_04360_ats_ptr_type (tmp328) ; tmp330 = ats_ptrget_mac(ats_ptr_type, tmp326) ; tmp329 = avltree_height_04360_ats_ptr_type (tmp330) ; tmp332 = atspre_imax (tmp329, arg3) ; tmp331 = atspre_iadd (1, tmp332) ; ats_ptrget_mac(ats_int_type, arg0) = tmp331 ; tmp333 = ats_ptrget_mac(ats_ptr_type, tmp326) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp333 ; tmp335 = atspre_imax (tmp313, tmp327) ; tmp334 = atspre_iadd (1, tmp335) ; ats_ptrget_mac(ats_int_type, tmp310) = tmp334 ; tmp336 = ats_ptrget_mac(ats_ptr_type, tmp325) ; ats_ptrget_mac(ats_ptr_type, tmp312) = tmp336 ; ats_ptrget_mac(ats_int_type, tmp324) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp325) = tmp309 ; ats_ptrget_mac(ats_ptr_type, tmp326) = arg5 ; tmp308 = tmp323 ; } /* end of [if] */ return (tmp308) ; } /* end of [avltree_rrotate_04414_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04390_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_bool_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_int_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_int_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_int_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_int_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_int_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_int_type, tmp374) ; ATSlocal (ats_int_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab_avltree_lrotate_04390_ats_ptr_type: tmp349 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp349 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp350 = &ats_caselptrlab_mac(anairiats_sum_8, tmp349, atslab_0) ; tmp351 = &ats_caselptrlab_mac(anairiats_sum_8, tmp349, atslab_2) ; tmp352 = &ats_caselptrlab_mac(anairiats_sum_8, tmp349, atslab_3) ; tmp354 = ats_ptrget_mac(ats_ptr_type, tmp351) ; tmp353 = avltree_height_04360_ats_ptr_type (tmp354) ; tmp356 = ats_ptrget_mac(ats_ptr_type, tmp352) ; tmp355 = avltree_height_04360_ats_ptr_type (tmp356) ; tmp358 = atspre_iadd (tmp355, 0) ; tmp357 = atspre_ilte (tmp353, tmp358) ; if (tmp357) { tmp359 = atspre_iadd (tmp353, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp359 ; tmp360 = ats_ptrget_mac(ats_ptr_type, tmp351) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp360 ; tmp362 = atspre_imax (tmp359, tmp355) ; tmp361 = atspre_iadd (1, tmp362) ; ats_ptrget_mac(ats_int_type, tmp350) = tmp361 ; ats_ptrget_mac(ats_ptr_type, tmp351) = arg5 ; tmp348 = tmp349 ; } else { tmp363 = ats_ptrget_mac(ats_ptr_type, tmp351) ; // if (tmp363 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp364 = &ats_caselptrlab_mac(anairiats_sum_8, tmp363, atslab_0) ; tmp365 = &ats_caselptrlab_mac(anairiats_sum_8, tmp363, atslab_2) ; tmp366 = &ats_caselptrlab_mac(anairiats_sum_8, tmp363, atslab_3) ; tmp368 = ats_ptrget_mac(ats_ptr_type, tmp365) ; tmp367 = avltree_height_04360_ats_ptr_type (tmp368) ; tmp370 = ats_ptrget_mac(ats_ptr_type, tmp366) ; tmp369 = avltree_height_04360_ats_ptr_type (tmp370) ; tmp372 = atspre_imax (arg1, tmp367) ; tmp371 = atspre_iadd (1, tmp372) ; ats_ptrget_mac(ats_int_type, arg0) = tmp371 ; tmp373 = ats_ptrget_mac(ats_ptr_type, tmp365) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp373 ; tmp375 = atspre_imax (tmp369, tmp355) ; tmp374 = atspre_iadd (1, tmp375) ; ats_ptrget_mac(ats_int_type, tmp350) = tmp374 ; tmp376 = ats_ptrget_mac(ats_ptr_type, tmp366) ; ats_ptrget_mac(ats_ptr_type, tmp351) = tmp376 ; ats_ptrget_mac(ats_int_type, tmp364) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp365) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp366) = tmp349 ; tmp348 = tmp363 ; } /* end of [if] */ return (tmp348) ; } /* end of [avltree_lrotate_04390_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_87 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_int_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_bool_type, tmp295) ; ATSlocal (ats_bool_type, tmp296) ; ATSlocal (ats_int_type, tmp297) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_bool_type, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_int_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_bool_type, tmp337) ; ATSlocal (ats_bool_type, tmp338) ; ATSlocal (ats_int_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_bool_type, tmp343) ; ATSlocal (ats_int_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab_insert_87: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_61_1: tmp289 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp290 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp291 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp292 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp294 = ats_ptrget_mac(ats_ptr_type, tmp290) ; tmp293 = compare_elt_elt_03728_ats_ptr_type (arg1, tmp294, env0) ; tmp295 = atspre_lt_int_int (tmp293, 0) ; if (tmp295) { tmp296 = insert_87 (env0, tmp291, arg1) ; tmp300 = ats_ptrget_mac(ats_ptr_type, tmp291) ; tmp297 = avltree_height_04360_ats_ptr_type (tmp300) ; tmp302 = ats_ptrget_mac(ats_ptr_type, tmp292) ; tmp301 = avltree_height_04360_ats_ptr_type (tmp302) ; tmp304 = atspre_isub (tmp297, tmp301) ; tmp303 = atspre_ilte (tmp304, 1) ; if (tmp303) { tmp306 = atspre_imax (tmp297, tmp301) ; tmp305 = atspre_iadd (1, tmp306) ; ats_ptrget_mac(ats_int_type, tmp289) = tmp305 ; tmp288 = tmp296 ; } else { tmp307 = avltree_rrotate_04414_ats_ptr_type (tmp289, tmp297, tmp291, tmp301, tmp292, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp307 ; tmp288 = tmp296 ; } /* end of [if] */ } else { tmp337 = atspre_gt_int_int (tmp293, 0) ; if (tmp337) { tmp338 = insert_87 (env0, tmp292, arg1) ; tmp340 = ats_ptrget_mac(ats_ptr_type, tmp291) ; tmp339 = avltree_height_04360_ats_ptr_type (tmp340) ; tmp342 = ats_ptrget_mac(ats_ptr_type, tmp292) ; tmp341 = avltree_height_04360_ats_ptr_type (tmp342) ; tmp344 = atspre_isub (tmp341, tmp339) ; tmp343 = atspre_ilte (tmp344, 1) ; if (tmp343) { tmp346 = atspre_imax (tmp339, tmp341) ; tmp345 = atspre_iadd (1, tmp346) ; ats_ptrget_mac(ats_int_type, tmp289) = tmp345 ; tmp288 = tmp338 ; } else { tmp347 = avltree_lrotate_04390_ats_ptr_type (tmp289, tmp339, tmp291, tmp341, tmp292, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp347 ; tmp288 = tmp338 ; } /* end of [if] */ } else { tmp288 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp378 = (ats_sum_ptr_type)0 ; tmp379 = (ats_sum_ptr_type)0 ; tmp377 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp377, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_8, tmp377, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp377, atslab_2, tmp378) ; ats_selptrset_mac(anairiats_sum_8, tmp377, atslab_3, tmp379) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp377 ; tmp288 = ats_false_bool ; break ; } while (0) ; return (tmp288) ; } /* end of [insert_87] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_87_closure_type ; ats_bool_type insert_87_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_87 (((insert_87_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_87_closure_init (insert_87_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_87_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_87_closure_make (ats_clo_ref_type env0) { insert_87_closure_type *p_clo = ATS_MALLOC(sizeof(insert_87_closure_type)) ; insert_87_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_03738_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp287) ; __ats_lab_linset_insert_03738_ats_ptr_type: tmp287 = insert_87 (arg2, arg0, arg1) ; return (tmp287) ; } /* end of [linset_insert_03738_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14750(line=632, offs=3) -- 14837(line=635, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_bool_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add: /* ats_ptr_type tmp285 ; */ tmp285 = arg0 ; tmp286 = linset_insert_03738_ats_ptr_type ((&tmp285), arg1, statmp160) ; tmp284 = tmp285 ; return (tmp284) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_93 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; __ats_lab_aux_93: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp383 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp384 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_2) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp386 = aux_93 (tmp385, arg1) ; tmp387 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp387, atslab_0, tmp383) ; ats_selptrset_mac(anairiats_sum_3, tmp387, atslab_1, tmp386) ; arg0 = tmp384 ; arg1 = tmp387 ; goto __ats_lab_aux_93 ; // tail call break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp382 = arg1 ; break ; } while (0) ; return (tmp382) ; } /* end of [aux_93] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_03754_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp388) ; __ats_lab_linset_listize_free_03754_ats_ptr_type: tmp388 = (ats_sum_ptr_type)0 ; tmp381 = aux_93 (arg0, tmp388) ; return (tmp381) ; } /* end of [linset_listize_free_03754_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 14907(line=638, offs=26) -- 14941(line=638, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp380) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free: tmp380 = linset_listize_free_03754_ats_ptr_type (arg0) ; return (tmp380) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 15191(line=655, offs=11) -- 15276(line=658, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_94 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp389) ; __ats_lab___ats_fun_94: tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2cst_s2cst (arg0, arg1) ; return (tmp389) ; } /* end of [__ats_fun_94] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_94_closure_type ; ats_int_type __ats_fun_94_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_94 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_94_closure_init (__ats_fun_94_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_94_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_94_closure_make () { __ats_fun_94_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_94_closure_type)) ; __ats_fun_94_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 2871(line=98, offs=29) -- 2880(line=98, offs=38) */ ATSstaticdec() ats_ptr_type funmap_make_nil_03761_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp392) ; __ats_lab_funmap_make_nil_03761_: tmp392 = (ats_sum_ptr_type)0 ; return (tmp392) ; } /* end of [funmap_make_nil_03761_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 15338(line=664, offs=14) -- 15366(line=664, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp391) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_nil: tmp391 = funmap_make_nil_03761_ () ; return (tmp391) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 1960(line=59, offs=32) -- 1988(line=59, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_03760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp404) ; __ats_lab_compare_key_key_03760_ats_ptr_type: tmp404 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp404) ; } /* end of [compare_key_key_03760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 5755(line=209, offs=46) -- 6474(line=231, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04797_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_int_type, tmp420) ; ATSlocal (ats_int_type, tmp421) ; ATSlocal (ats_int_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_bool_type, tmp424) ; ATSlocal (ats_int_type, tmp425) ; ATSlocal (ats_int_type, tmp426) ; ATSlocal (ats_int_type, tmp427) ; ATSlocal (ats_int_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_int_type, tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; ATSlocal (ats_int_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_int_type, tmp439) ; ATSlocal (ats_int_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_int_type, tmp443) ; __ats_lab_avltree_rrotate_04797_ats_ptr_type_2cats_ptr_type: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp416 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_2) ; tmp418 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_3) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_4) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (tmp418 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp421 = ats_caselptrlab_mac(anairiats_sum_9, tmp418, atslab_0) ; tmp420 = tmp421 ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (tmp418 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: tmp420 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (tmp419 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_9, tmp419, atslab_0) ; tmp422 = tmp423 ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (tmp419 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: tmp422 = 0 ; break ; } while (0) ; tmp425 = atspre_iadd (tmp420, 0) ; tmp424 = atspre_igte (tmp425, tmp422) ; if (tmp424) { tmp426 = atspre_iadd (tmp422, 1) ; tmp428 = atspre_imax (tmp420, tmp426) ; tmp427 = atspre_iadd (1, tmp428) ; tmp429 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp429, atslab_0, tmp426) ; ats_selptrset_mac(anairiats_sum_9, tmp429, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp429, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp429, atslab_3, tmp419) ; ats_selptrset_mac(anairiats_sum_9, tmp429, atslab_4, arg5) ; tmp415 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_0, tmp427) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_1, tmp416) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_2, tmp417) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_3, tmp418) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_4, tmp429) ; } else { // if (tmp419 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp430 = ats_caselptrlab_mac(anairiats_sum_9, tmp419, atslab_1) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_9, tmp419, atslab_2) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_9, tmp419, atslab_3) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_9, tmp419, atslab_4) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (tmp432 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp435 = ats_caselptrlab_mac(anairiats_sum_9, tmp432, atslab_0) ; tmp434 = tmp435 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (tmp432 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp434 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (tmp433 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp437 = ats_caselptrlab_mac(anairiats_sum_9, tmp433, atslab_0) ; tmp436 = tmp437 ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (tmp433 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: tmp436 = 0 ; break ; } while (0) ; tmp440 = atspre_imax (tmp420, tmp434) ; tmp439 = atspre_iadd (1, tmp440) ; tmp438 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp438, atslab_0, tmp439) ; ats_selptrset_mac(anairiats_sum_9, tmp438, atslab_1, tmp416) ; ats_selptrset_mac(anairiats_sum_9, tmp438, atslab_2, tmp417) ; ats_selptrset_mac(anairiats_sum_9, tmp438, atslab_3, tmp418) ; ats_selptrset_mac(anairiats_sum_9, tmp438, atslab_4, tmp432) ; tmp443 = atspre_imax (tmp436, arg4) ; tmp442 = atspre_iadd (1, tmp443) ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp441, atslab_0, tmp442) ; ats_selptrset_mac(anairiats_sum_9, tmp441, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp441, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp441, atslab_3, tmp433) ; ats_selptrset_mac(anairiats_sum_9, tmp441, atslab_4, arg5) ; tmp415 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_1, tmp430) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_2, tmp431) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_3, tmp438) ; ats_selptrset_mac(anairiats_sum_9, tmp415, atslab_4, tmp441) ; } /* end of [if] */ return (tmp415) ; } /* end of [avltree_rrotate_04797_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 4857(line=181, offs=46) -- 5607(line=203, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04777_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_int_type, tmp459) ; ATSlocal (ats_int_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_int_type, tmp462) ; ATSlocal (ats_bool_type, tmp463) ; ATSlocal (ats_int_type, tmp464) ; ATSlocal (ats_int_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; ATSlocal (ats_int_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_int_type, tmp473) ; ATSlocal (ats_int_type, tmp474) ; ATSlocal (ats_int_type, tmp475) ; ATSlocal (ats_int_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_int_type, tmp481) ; ATSlocal (ats_int_type, tmp482) ; __ats_lab_avltree_lrotate_04777_ats_ptr_type_2cats_ptr_type: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp455 = ats_caselptrlab_mac(anairiats_sum_9, arg5, atslab_1) ; tmp456 = ats_caselptrlab_mac(anairiats_sum_9, arg5, atslab_2) ; tmp457 = ats_caselptrlab_mac(anairiats_sum_9, arg5, atslab_3) ; tmp458 = ats_caselptrlab_mac(anairiats_sum_9, arg5, atslab_4) ; do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (tmp457 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp460 = ats_caselptrlab_mac(anairiats_sum_9, tmp457, atslab_0) ; tmp459 = tmp460 ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (tmp457 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp459 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (tmp458 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp462 = ats_caselptrlab_mac(anairiats_sum_9, tmp458, atslab_0) ; tmp461 = tmp462 ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (tmp458 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp461 = 0 ; break ; } while (0) ; tmp464 = atspre_iadd (tmp461, 0) ; tmp463 = atspre_ilte (tmp459, tmp464) ; if (tmp463) { tmp465 = atspre_iadd (tmp459, 1) ; tmp467 = atspre_imax (tmp465, tmp461) ; tmp466 = atspre_iadd (1, tmp467) ; tmp468 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp468, atslab_0, tmp465) ; ats_selptrset_mac(anairiats_sum_9, tmp468, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp468, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp468, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp468, atslab_4, tmp457) ; tmp454 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_0, tmp466) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_1, tmp455) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_2, tmp456) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_3, tmp468) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_4, tmp458) ; } else { // if (tmp457 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp469 = ats_caselptrlab_mac(anairiats_sum_9, tmp457, atslab_1) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_9, tmp457, atslab_2) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_9, tmp457, atslab_3) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_9, tmp457, atslab_4) ; do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (tmp471 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp474 = ats_caselptrlab_mac(anairiats_sum_9, tmp471, atslab_0) ; tmp473 = tmp474 ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (tmp471 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: tmp473 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (tmp472 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_9, tmp472, atslab_0) ; tmp475 = tmp476 ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (tmp472 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp475 = 0 ; break ; } while (0) ; tmp479 = atspre_imax (arg2, tmp473) ; tmp478 = atspre_iadd (1, tmp479) ; tmp477 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp477, atslab_0, tmp478) ; ats_selptrset_mac(anairiats_sum_9, tmp477, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp477, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp477, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp477, atslab_4, tmp471) ; tmp482 = atspre_imax (tmp475, tmp461) ; tmp481 = atspre_iadd (1, tmp482) ; tmp480 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp480, atslab_0, tmp481) ; ats_selptrset_mac(anairiats_sum_9, tmp480, atslab_1, tmp455) ; ats_selptrset_mac(anairiats_sum_9, tmp480, atslab_2, tmp456) ; ats_selptrset_mac(anairiats_sum_9, tmp480, atslab_3, tmp472) ; ats_selptrset_mac(anairiats_sum_9, tmp480, atslab_4, tmp458) ; tmp454 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_1, tmp469) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_2, tmp470) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_3, tmp477) ; ats_selptrset_mac(anairiats_sum_9, tmp454, atslab_4, tmp480) ; } /* end of [if] */ return (tmp454) ; } /* end of [avltree_lrotate_04777_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6597(line=238, offs=7) -- 7899(line=271, offs=6) */ ATSstaticdec() ats_ptr_type insert_99 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_int_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_int_type, tmp403) ; ATSlocal (ats_bool_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_int_type, tmp407) ; ATSlocal (ats_int_type, tmp408) ; ATSlocal (ats_int_type, tmp409) ; ATSlocal (ats_int_type, tmp410) ; ATSlocal (ats_bool_type, tmp411) ; ATSlocal (ats_int_type, tmp412) ; ATSlocal (ats_int_type, tmp413) ; ATSlocal (ats_int_type, tmp414) ; ATSlocal (ats_bool_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_int_type, tmp446) ; ATSlocal (ats_int_type, tmp447) ; ATSlocal (ats_int_type, tmp448) ; ATSlocal (ats_int_type, tmp449) ; ATSlocal (ats_bool_type, tmp450) ; ATSlocal (ats_int_type, tmp451) ; ATSlocal (ats_int_type, tmp452) ; ATSlocal (ats_int_type, tmp453) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; __ats_lab_insert_99: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_67_1: tmp398 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp399 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp400 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_4) ; tmp403 = compare_key_key_03760_ats_ptr_type (env0, tmp399, env2) ; tmp405 = atspre_lt_int_int (tmp403, 0) ; if (tmp405) { tmp406 = insert_99 (env0, env1, env2, tmp401, arg1) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (tmp406 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp408 = ats_caselptrlab_mac(anairiats_sum_9, tmp406, atslab_0) ; tmp407 = tmp408 ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (tmp406 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp407 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (tmp402 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_9, tmp402, atslab_0) ; tmp409 = tmp410 ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (tmp402 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp409 = 0 ; break ; } while (0) ; tmp412 = atspre_isub (tmp407, tmp409) ; tmp411 = atspre_ilte (tmp412, 1) ; if (tmp411) { tmp414 = atspre_imax (tmp407, tmp409) ; tmp413 = atspre_iadd (1, tmp414) ; tmp397 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_0, tmp413) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_1, tmp399) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_2, tmp400) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_3, tmp406) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_4, tmp402) ; } else { tmp397 = avltree_rrotate_04797_ats_ptr_type_2cats_ptr_type (tmp399, tmp400, tmp407, tmp406, tmp409, tmp402) ; } /* end of [if] */ } else { tmp444 = atspre_gt_int_int (tmp403, 0) ; if (tmp444) { tmp445 = insert_99 (env0, env1, env2, tmp402, arg1) ; do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (tmp401 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp447 = ats_caselptrlab_mac(anairiats_sum_9, tmp401, atslab_0) ; tmp446 = tmp447 ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (tmp401 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp446 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (tmp445 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_9, tmp445, atslab_0) ; tmp448 = tmp449 ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (tmp445 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: tmp448 = 0 ; break ; } while (0) ; tmp451 = atspre_isub (tmp448, tmp446) ; tmp450 = atspre_ilte (tmp451, 1) ; if (tmp450) { tmp453 = atspre_imax (tmp446, tmp448) ; tmp452 = atspre_iadd (1, tmp453) ; tmp397 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_0, tmp452) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_1, tmp399) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_2, tmp400) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_3, tmp401) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_4, tmp445) ; } else { tmp397 = avltree_lrotate_04777_ats_ptr_type_2cats_ptr_type (tmp399, tmp400, tmp446, tmp401, tmp448, tmp445) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp397 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_0, tmp398) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_1, tmp399) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_3, tmp401) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_4, tmp402) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp483 = (ats_sum_ptr_type)0 ; tmp484 = (ats_sum_ptr_type)0 ; tmp397 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_3, tmp483) ; ats_selptrset_mac(anairiats_sum_9, tmp397, atslab_4, tmp484) ; break ; } while (0) ; return (tmp397) ; } /* end of [insert_99] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_clo_ref_type closure_env_2 ; } insert_99_closure_type ; ats_ptr_type insert_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_99 (((insert_99_closure_type*)cloptr)->closure_env_0, ((insert_99_closure_type*)cloptr)->closure_env_1, ((insert_99_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_99_closure_init (insert_99_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_99_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type insert_99_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { insert_99_closure_type *p_clo = ATS_MALLOC(sizeof(insert_99_closure_type)) ; insert_99_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6560(line=237, offs=3) -- 7985(line=274, offs=2) */ ATSstaticdec() ats_bool_type funmap_insert_03768_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp396) ; ATSlocal (ats_bool_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; __ats_lab_funmap_insert_03768_ats_ptr_type_2cats_ptr_type: /* ats_bool_type tmp485 ; */ tmp486 = insert_99 (arg1, arg2, arg3, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp485)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp486 ; tmp396 = tmp485 ; return (tmp396) ; } /* end of [funmap_insert_03768_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 15393(line=668, offs=3) -- 15502(line=671, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_add (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_bool_type, tmp395) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_add: /* ats_ptr_type tmp394 ; */ tmp394 = arg0 ; tmp395 = funmap_insert_03768_ats_ptr_type_2cats_ptr_type ((&tmp394), arg1, arg2, statmp390) ; tmp393 = tmp394 ; return (tmp393) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3756(line=137, offs=7) -- 4334(line=154, offs=6) */ ATSstaticdec() ats_bool_type search_105 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_int_type, tmp496) ; ATSlocal (ats_bool_type, tmp497) ; ATSlocal (ats_bool_type, tmp498) ; __ats_lab_search_105: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_93_1: tmp492 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp493 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp494 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp495 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_4) ; tmp496 = compare_key_key_03760_ats_ptr_type (env0, tmp492, env1) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: tmp497 = atspre_lt_int_int (tmp496, 0) ; if (!tmp497) { goto __ats_lab_95_1 ; } arg0 = tmp494 ; arg1 = arg1 ; goto __ats_lab_search_105 ; // tail call break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp498 = atspre_gt_int_int (tmp496, 0) ; if (!tmp498) { goto __ats_lab_96_1 ; } arg0 = tmp495 ; arg1 = arg1 ; goto __ats_lab_search_105 ; // tail call break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: ats_ptrget_mac(ats_ptr_type, arg1) = tmp493 ; tmp491 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: tmp491 = ats_false_bool ; break ; } while (0) ; return (tmp491) ; } /* end of [search_105] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_105_closure_type ; ats_bool_type search_105_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return search_105 (((search_105_closure_type*)cloptr)->closure_env_0, ((search_105_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type search_105_closure_init (search_105_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_105_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_105_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_105_closure_type *p_clo = ATS_MALLOC(sizeof(search_105_closure_type)) ; search_105_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3706(line=136, offs=3) -- 4355(line=155, offs=2) */ ATSstaticdec() ats_bool_type funmap_search_03766_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp490) ; __ats_lab_funmap_search_03766_ats_ptr_type_2cats_ptr_type: tmp490 = search_105 (arg1, arg2, arg0, arg3) ; return (tmp490) ; } /* end of [funmap_search_03766_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_scst.dats: 15559(line=675, offs=7) -- 15850(line=686, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_bool_type, tmp489) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_find: /* ats_ptr_type tmp488 ; */ tmp489 = funmap_search_03766_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp390, (&tmp488)) ; if (tmp489) { tmp487 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp487, atslab_0, tmp488) ; } else { tmp487 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp487) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_find] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp160, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp390, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp160 = __ats_fun_64_closure_make () ; statmp390 = __ats_fun_94_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_scst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_sats.c0000664000175000017500000003437412655455557020715 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_1 ; typedef struct { ats_bool_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_2 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPlam_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop0_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop1_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPlam_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop0_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop1_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0.tag = 0 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_emit3_dats.c0000664000175000017500000057606712655455557021030 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2aspdec_loc ; ats_ptr_type atslab_s2aspdec_cst ; ats_ptr_type atslab_s2aspdec_def ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_10 ; typedef struct { anairiats_rec_10 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_12 ; typedef struct { anairiats_rec_10 atslab_0 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_ibranch_loc ; ats_ptr_type atslab_ibranch_inslst ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_22 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_23 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKi0nt_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKf0loat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mac) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_arg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_res) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_fullarg) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_is_tmplt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__patckont_is_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize2) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_uninitize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con_extdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst_extdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplabint) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funapy) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funenvlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarglst) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmprimval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmpmovlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funarg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funapy) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxbodylst) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type auxlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxloc_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxsta_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxdyn_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_12 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type auxcon_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxexn_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxmain_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_20 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type auxfun_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux0_arglst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type aux1_arglst_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_void_type aux2_arglst_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_void_type aux0_envlst_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type aux1_envlst_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type aux2_envlst_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_int_type aux3_envlst_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_int_type aux4_envlst_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_void_type aux5_envlst_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxclo_type_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxclo_cfun_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxclo_init_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxclo_create_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxall_beg_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxall_end_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxlst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxlst_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxfl_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxflist_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxfl_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxflist_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxtmp_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type emit_primdec_54 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type app_60 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_vcloptr_01304_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type list_app_cloptr_01303_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type __ats_fun_63 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_63_closure_make (ats_ptr_type env0) ; static ats_void_type __ats_fun_63_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_65 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_68 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_68_closure_make (ats_ptr_type env0) ; static ats_void_type __ats_fun_68_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 1677(line=58, offs=18) -- 1706(line=58, offs=47) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_emit2")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 2718(line=119, offs=5) -- 3034(line=137, offs=4) */ ATSstaticdec() ats_void_type auxlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; __ats_lab_auxlst_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynexn_dec(")) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, tmp9) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; arg0 = arg0 ; arg1 = tmp10 ; goto __ats_lab_auxlst_2 ; // tail call break ; } while (0) ; return /* (tmp8) */ ; } /* end of [auxlst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 2519(line=110, offs=3) -- 3087(line=141, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_exndec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_exndec: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp3)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 2569(line=113, offs=5) -- 2604(line=113, offs=40)") ; } tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, tmp2) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp1 = */ auxlst_2 (arg0, tmp4) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_exndec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 3159(line=147, offs=3) -- 3492(line=162, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_saspdec: tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_loc) ; tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp16)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 3209(line=150, offs=5) -- 3243(line=150, offs=39)") ; } tmp17 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, tmp15) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSassume(")) ; tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp17), atslab_s2aspdec_cst) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_s2cst (arg0, tmp23) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 3564(line=168, offs=3) -- 4543(line=213, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extype: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_loc) ; tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp26)->tag != 3) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 3617(line=172, offs=5) -- 3662(line=173, offs=36)") ; } tmp27 = ats_caselptrlab_mac(anairiats_sum_5, tmp26, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp26, atslab_1) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, tmp25) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp28), atslab_hisexp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp32)->tag != 10) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedef\n")) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, tmp28) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp27) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_")) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedef\n")) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp27) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_ *")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp27) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedef\n")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp28) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp27) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; break ; } while (0) ; return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 4615(line=219, offs=3) -- 4962(line=233, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extcode (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extcode: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_loc) ; tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp49)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 4665(line=222, offs=5) -- 4710(line=222, offs=50)") ; } tmp50 = ats_caselptrlab_mac(anairiats_sum_7, tmp49, atslab_2) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, tmp48) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSextcode_beg()")) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp50) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextcode_end()\n")) ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 5021(line=239, offs=5) -- 5202(line=248, offs=4) */ ATSstaticdec() ats_void_type auxloc_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_auxloc_6: /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, arg1) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; return /* (tmp56) */ ; } /* end of [auxloc_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 5227(line=250, offs=5) -- 6088(line=290, offs=4) */ ATSstaticdec() ats_void_type auxsta_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; __ats_lab_auxsta_7: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_4_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp60), atslab_d2ecl_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp63)->tag != 12) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_7, tmp63, atslab_2) ; tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp60), atslab_d2ecl_loc) ; /* tmp65 = */ auxloc_6 (arg0, tmp66) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp64) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp63)->tag != 23) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_9, tmp63, atslab_1) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_9, tmp63, atslab_3) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp60), atslab_d2ecl_loc) ; /* tmp69 = */ auxloc_6 (arg0, tmp70) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp68) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats (tmp67) ; if (tmp72) { /* tmp62 = */ auxsta_7 (arg0, tmp71) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: break ; } while (0) ; arg0 = arg0 ; arg1 = tmp61 ; goto __ats_lab_auxsta_7 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: break ; } while (0) ; return /* (tmp59) */ ; } /* end of [auxsta_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 6113(line=292, offs=5) -- 7003(line=333, offs=4) */ ATSstaticdec() ats_void_type auxdyn_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; // ATSlocal_void (tmp86) ; __ats_lab_auxdyn_8: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_9_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp74), atslab_d2ecl_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp77)->tag != 23) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_9, tmp77, atslab_1) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_9, tmp77, atslab_3) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp74), atslab_d2ecl_loc) ; /* tmp80 = */ auxloc_6 (arg0, tmp81) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp79) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats (tmp78) ; if (tmp83) { /* tmp76 = */ auxsta_7 (arg0, tmp82) ; } else { /* tmp76 = */ auxdyn_8 (arg0, tmp82) ; } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp77)->tag != 26) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_5, tmp77, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_5, tmp77, atslab_1) ; /* tmp86 = */ auxdyn_8 (arg0, tmp84) ; /* tmp76 = */ auxdyn_8 (arg0, tmp85) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: break ; } while (0) ; arg0 = arg0 ; arg1 = tmp75 ; goto __ats_lab_auxdyn_8 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: break ; } while (0) ; return /* (tmp73) */ ; } /* end of [auxdyn_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 7073(line=339, offs=3) -- 7393(line=355, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_staload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_staload: tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp88)->tag != 15) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 7097(line=341, offs=5) -- 7162(line=344, offs=20)") ; } tmp89 = ats_caselptrlab_mac(anairiats_sum_9, tmp88, atslab_1) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_9, tmp88, atslab_3) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp90) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_is_sats (tmp89) ; if (tmp92) { /* tmp87 = */ auxsta_7 (arg0, tmp91) ; } else { /* tmp87 = */ auxdyn_8 (arg0, tmp91) ; } /* end of [if] */ return /* (tmp87) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 7641(line=369, offs=16) -- 7760(line=373, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmprimval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmprimval: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp94) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp95) ; break ; } while (0) ; return /* (tmp93) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmprimval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 7867(line=381, offs=5) -- 8253(line=400, offs=4) */ ATSstaticdec() ats_void_type auxlst_12 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp97) ; ATSlocal (anairiats_rec_10, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_int_type, tmp107) ; __ats_lab_auxlst_12: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove(")) ; tmp102 = ats_select_mac(tmp98, atslab_1) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp102) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; tmp105 = ats_select_mac(tmp98, atslab_0) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmprimval (arg0, tmp105) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; tmp107 = atspre_add_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp107 ; arg2 = tmp99 ; goto __ats_lab_auxlst_12 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; return /* (tmp97) */ ; } /* end of [auxlst_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 7840(line=379, offs=16) -- 8313(line=404, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmpmovlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmpmovlst: /* tmp96 = */ auxlst_12 (arg0, 0, arg1) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmpmovlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 8461(line=415, offs=3) -- 9814(line=477, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSgoto(")) ; /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp109) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSgoto(")) ; /* tmp115 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplabint (arg0, tmp112, tmp113) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_tmpmovlst (arg0, tmp117) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSgoto(")) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp116) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSraise_exn(")) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp121) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp122) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINScaseof_fail(\"")) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp127) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfunarg_fail(\"")) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp130) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSdeadcode_fail()")) ; break ; } while (0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 10047(line=490, offs=5) -- 11523(line=550, offs=4) */ ATSstaticdec() ats_void_type auxcon_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_bool_type, tmp138) ; ATSlocal (anairiats_rec_10, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_bool_type, tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_int_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; __ats_lab_auxcon_14: tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg2) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular (tmp134) ; if (!tmp135) { goto __ats_lab_26_1 ; } break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike (tmp134) ; if (!tmp136) { goto __ats_lab_29_1 ; } tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp134) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp137 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_13, tmp137, atslab_0) ; tmp140 = ats_select_mac(tmp139, atslab_0) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (arg2, tmp140) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp137 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp138 = ats_false_bool ; break ; } while (0) ; /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifthen(")) ; if (tmp138) { /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKptriscons(")) ; } else { /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKptrisnull(")) ; } /* end of [if] */ /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary (arg2) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; if (tmp146) { /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_con0(")) ; } else { /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_con1(")) ; } /* end of [if] */ /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ; /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp152) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; } while (0) ; return /* (tmp133) */ ; } /* end of [auxcon_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 11548(line=552, offs=5) -- 12099(line=580, offs=4) */ ATSstaticdec() ats_void_type auxexn_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp155) ; ATSlocal (ats_int_type, tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_bool_type, tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; __ats_lab_auxexn_15: tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (arg2) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; tmp159 = atspre_eq_int_int (tmp156, 0) ; if (tmp159) { /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_exn0(")) ; } else { /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_exn1(")) ; } /* end of [if] */ /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; return /* (tmp155) */ ; } /* end of [auxexn_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 12124(line=582, offs=5) -- 15303(line=687, offs=4) */ ATSstaticdec() ats_void_type auxmain_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_bool_type, tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_char_type, tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; ATSlocal (ats_double_type, tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; __ats_lab_auxmain_16: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con (tmp166) ; if (tmp167) { /* tmp165 = */ auxcon_14 (arg0, arg1, tmp166, arg3) ; } else { /* tmp165 = */ auxexn_15 (arg0, arg1, tmp166, arg3) ; } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_int(")) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint (arg0, tmp168) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_bool(")) ; /* tmp179 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp180 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool (arg0, tmp176) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_16, arg2, atslab_0) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_char(")) ; /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp189 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar (arg0, tmp184) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg2)->tag != 4) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_17, arg2, atslab_0) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_float(")) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (arg0, tmp192) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg2)->tag != 5) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_string(")) ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp205 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring (arg0, tmp200) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg2)->tag != 6) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_int(")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (arg0, tmp208) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (((ats_sum_ptr_type)arg2)->tag != 7) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSifnthen(")) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKpat_float(")) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (arg0, tmp216) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) { ")) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_patckont (arg0, arg3) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ; } ;")) ; break ; } while (0) ; return /* (tmp165) */ ; } /* end of [auxmain_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 15381(line=693, offs=3) -- 15660(line=706, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_patck (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_bool_type, tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_patck: tmp225 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp225)->tag != 21) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 15405(line=695, offs=5) -- 15451(line=696, offs=38)") ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_19, tmp225, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_19, tmp225, atslab_1) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_19, tmp225, atslab_2) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__patckont_is_none (tmp228) ; if (tmp229) { /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp231 = */ auxmain_16 (arg0, tmp226, tmp227, tmp228) ; if (tmp229) { /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n#endif")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp224) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_patck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 15746(line=714, offs=5) -- 15985(line=727, offs=4) */ ATSstaticdec() ats_void_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; __ats_lab_aux_18: tmp233 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_ibranch_inslst) ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSbranch_beg()\n")) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp233) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSbranch_end()\n")) ; return /* (tmp232) */ ; } /* end of [aux_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 16084(line=735, offs=5) -- 16354(line=752, offs=4) */ ATSstaticdec() ats_void_type auxlst_20 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; ATSlocal (ats_int_type, tmp242) ; __ats_lab_auxlst_20: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; /* tmp240 = */ aux_18 (arg0, tmp238) ; /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; tmp242 = atspre_add_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp242 ; arg2 = tmp239 ; goto __ats_lab_auxlst_20 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp237) */ ; } /* end of [auxlst_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 16059(line=733, offs=3) -- 16552(line=765, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst: /* tmp243 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n** ibranchlst-beg\n*/\n")) ; /* tmp244 = */ auxlst_20 (arg0, 0, arg1) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n** ibranchlst-end\n*/\n")) ; return /* (tmp236) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 16637(line=773, offs=5) -- 17995(line=831, offs=4) */ ATSstaticdec() ats_void_type auxfun_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_bool_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_bool_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_bool_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_bool_type, tmp255) ; ATSlocal (ats_bool_type, tmp256) ; ATSlocal (ats_bool_type, tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; __ats_lab_auxfun_21: tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg1) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd (tmp246) ; tmp247 = atspre_gt_int_int (tmp248, 0) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (tmp246) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp249 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp250 = ats_true_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (tmp249 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp250 = ats_false_bool ; break ; } while (0) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp249 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_21, tmp249, atslab_0) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static (tmp252) ; if (tmp253) { tmp251 = ats_false_bool ; } else { tmp251 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp249 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp251 = ats_false_bool ; break ; } while (0) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin (tmp246) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (tmp254 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp255 = ats_false_bool ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (tmp254 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp255 = tmp250 ; break ; } while (0) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp254 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp256 = ats_false_bool ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (tmp254 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp256 = tmp251 ; break ; } while (0) ; tmp257 = atspre_neg_bool (tmp256) ; if (tmp247) { /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ if (tmp255) { /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ if (tmp256) { /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\n")) ; } else { /* empty */ } /* end of [if] */ if (tmp257) { /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatic()\n")) ; } else { /* empty */ } /* end of [if] */ tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res (tmp246) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_fullarg (tmp246) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp262) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp246) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp268 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep (arg0, tmp263, ATSstrcst(", ")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; if (tmp255) { /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [QUALIFIED]\n")) ; } else { /* empty */ } /* end of [if] */ if (tmp247) { /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [TEMPLATE]\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp245) */ ; } /* end of [auxfun_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 18070(line=837, offs=3) -- 18172(line=845, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_ptype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_ptype: /* tmp272 = */ auxfun_21 (arg0, arg1) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp271) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_ptype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 18261(line=854, offs=1) -- 18598(line=876, offs=4) */ ATSstaticdec() ats_void_type aux0_arglst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; // ATSlocal_void (tmp276) ; ATSlocal (ats_bool_type, tmp277) ; // ATSlocal_void (tmp278) ; ATSlocal (ats_int_type, tmp279) ; __ats_lab_aux0_arglst_23: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp277 = atspre_gt_int_int (arg2, 0) ; if (tmp277) { /* tmp276 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp274) ; tmp279 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp275 ; arg2 = tmp279 ; goto __ats_lab_aux0_arglst_23 ; // tail call break ; } while (0) ; return /* (tmp273) */ ; } /* end of [aux0_arglst_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 18631(line=879, offs=1) -- 19044(line=902, offs=4) */ ATSstaticdec() ats_void_type aux1_arglst_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_bool_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_int_type, tmp289) ; __ats_lab_aux1_arglst_24: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp285 = atspre_add_int_int (arg2, arg3) ; tmp284 = atspre_gt_int_int (tmp285, 0) ; if (tmp284) { /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp281) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" arg")) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg3) ; tmp289 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp282 ; arg2 = arg2 ; arg3 = tmp289 ; goto __ats_lab_aux1_arglst_24 ; // tail call break ; } while (0) ; return /* (tmp280) */ ; } /* end of [aux1_arglst_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 19077(line=905, offs=1) -- 19467(line=928, offs=4) */ ATSstaticdec() ats_void_type aux2_arglst_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; // ATSlocal_void (tmp292) ; ATSlocal (ats_bool_type, tmp293) ; ATSlocal (ats_int_type, tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_int_type, tmp297) ; __ats_lab_aux2_arglst_25: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp294 = atspre_add_int_int (arg2, arg3) ; tmp293 = atspre_gt_int_int (tmp294, 0) ; if (tmp293) { /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("arg")) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg3) ; tmp297 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp291 ; arg2 = arg2 ; arg3 = tmp297 ; goto __ats_lab_aux2_arglst_25 ; // tail call break ; } while (0) ; return /* (tmp290) */ ; } /* end of [aux2_arglst_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 19500(line=931, offs=1) -- 19870(line=953, offs=4) */ ATSstaticdec() ats_void_type aux0_envlst_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; // ATSlocal_void (tmp302) ; ATSlocal (ats_bool_type, tmp303) ; // ATSlocal_void (tmp304) ; ATSlocal (ats_int_type, tmp305) ; __ats_lab_aux0_envlst_26: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp299) ; tmp303 = atspre_gt_int_int (arg2, 0) ; if (tmp303) { /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp301) ; tmp305 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp300 ; arg2 = tmp305 ; goto __ats_lab_aux0_envlst_26 ; // tail call break ; } while (0) ; return /* (tmp298) */ ; } /* end of [aux0_envlst_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 19903(line=956, offs=1) -- 20294(line=978, offs=4) */ ATSstaticdec() ats_void_type aux1_envlst_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; ATSlocal (ats_int_type, tmp314) ; __ats_lab_aux1_envlst_27: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp307) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp309) ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" env")) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg2) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; tmp314 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp308 ; arg2 = tmp314 ; goto __ats_lab_aux1_envlst_27 ; // tail call break ; } while (0) ; return /* (tmp306) */ ; } /* end of [aux1_envlst_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 20327(line=981, offs=1) -- 20777(line=1005, offs=4) */ ATSstaticdec() ats_int_type aux2_envlst_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_bool_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_int_type, tmp325) ; __ats_lab_aux2_envlst_28: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp315 = atspre_add_int_int (arg2, arg3) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp317 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp316) ; tmp321 = atspre_add_int_int (arg2, arg3) ; tmp320 = atspre_gt_int_int (tmp321, 0) ; if (tmp320) { /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp318) ; /* tmp323 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" env")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg3) ; tmp325 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp317 ; arg2 = arg2 ; arg3 = tmp325 ; goto __ats_lab_aux2_envlst_28 ; // tail call break ; } while (0) ; return (tmp315) ; } /* end of [aux2_envlst_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 20810(line=1008, offs=1) -- 21200(line=1031, offs=4) */ ATSstaticdec() ats_int_type aux3_envlst_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_int_type, tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_int_type, tmp333) ; __ats_lab_aux3_envlst_29: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp326 = atspre_add_int_int (arg2, arg3) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp327 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp330 = atspre_add_int_int (arg2, arg3) ; tmp329 = atspre_gt_int_int (tmp330, 0) ; if (tmp329) { /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("env")) ; /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg3) ; tmp333 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp327 ; arg2 = arg2 ; arg3 = tmp333 ; goto __ats_lab_aux3_envlst_29 ; // tail call break ; } while (0) ; return (tmp326) ; } /* end of [aux3_envlst_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 21233(line=1034, offs=1) -- 21628(line=1057, offs=4) */ ATSstaticdec() ats_int_type aux4_envlst_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_bool_type, tmp337) ; ATSlocal (ats_int_type, tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_int_type, tmp341) ; __ats_lab_aux4_envlst_30: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp334 = arg3 ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp335 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp338 = atspre_add_int_int (arg2, arg3) ; tmp337 = atspre_gt_int_int (tmp338, 0) ; if (tmp337) { /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("p_cenv->env")) ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg3) ; tmp341 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp335 ; arg2 = arg2 ; arg3 = tmp341 ; goto __ats_lab_aux4_envlst_30 ; // tail call break ; } while (0) ; return (tmp334) ; } /* end of [aux4_envlst_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 21661(line=1060, offs=1) -- 22172(line=1084, offs=4) */ ATSstaticdec() ats_void_type aux5_envlst_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; ATSlocal (ats_int_type, tmp352) ; __ats_lab_aux5_envlst_31: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp343) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("p_cenv->env")) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg2) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" = ")) ; /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("env")) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg2) ; /* tmp351 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; tmp352 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp344 ; arg2 = tmp352 ; goto __ats_lab_aux5_envlst_31 ; // tail call break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: break ; } while (0) ; return /* (tmp342) */ ; } /* end of [aux5_envlst_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 22205(line=1087, offs=1) -- 22599(line=1104, offs=4) */ ATSstaticdec() ats_void_type auxclo_type_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; __ats_lab_auxclo_type_32: /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedef\n")) ; /* tmp355 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstruct {\n")) ; /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstype_funptr cfun ;\n")) ; /* tmp357 = */ aux1_envlst_27 (arg0, arg2, 0) ; /* tmp358 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} ")) ; /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype ;\n")) ; return /* (tmp353) */ ; } /* end of [auxclo_type_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 22632(line=1107, offs=1) -- 23587(line=1140, offs=4) */ ATSstaticdec() ats_void_type auxclo_cfun_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_bool_type, tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; // ATSlocal_void (tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_int_type, tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; __ats_lab_auxclo_cfun_33: tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res (arg1) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (arg1) ; tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp361) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatic()\n")) ; /* tmp365 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp361) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp368 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__cfun")) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n(\n")) ; /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype *p_cenv")) ; /* tmp372 = */ aux1_arglst_24 (arg0, tmp362, 1, 0) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n)\n{\n")) ; /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSFCreturn")) ; if (tmp363) { /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ; } else { /* empty */ } /* end of [if] */ /* tmp376 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp377 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; tmp379 = aux4_envlst_30 (arg0, arg2, 0, 0) ; /* tmp380 = */ aux2_arglst_25 (arg0, tmp362, tmp379, 0) ; /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) ;\n")) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [cfun] */\n")) ; return /* (tmp360) */ ; } /* end of [auxclo_cfun_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 23620(line=1143, offs=1) -- 24343(line=1170, offs=4) */ ATSstaticdec() ats_void_type auxclo_init_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; ATSlocal (ats_int_type, tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp396) ; __ats_lab_auxclo_init_34: /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatic()\n")) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstype_cloptr\n")) ; /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closureinit")) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n(\n")) ; /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype *p_cenv")) ; tmp390 = aux2_envlst_28 (arg0, arg2, 1, 0) ; /* tmp391 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n)\n{\n")) ; /* tmp392 = */ aux5_envlst_31 (arg0, arg2, 0) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("p_cenv->cfun = ")) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__cfun ;\n")) ; /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("return p_cenv ;\n")) ; /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [closureinit] */\n")) ; return /* (tmp382) */ ; } /* end of [auxclo_init_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 24376(line=1173, offs=1) -- 25188(line=1202, offs=4) */ ATSstaticdec() ats_void_type auxclo_create_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp397) ; // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; // ATSlocal_void (tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_int_type, tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_bool_type, tmp405) ; // ATSlocal_void (tmp406) ; // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; // ATSlocal_void (tmp412) ; ATSlocal (ats_int_type, tmp413) ; // ATSlocal_void (tmp414) ; __ats_lab_auxclo_create_35: /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatic()\n")) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstype_cloptr\n")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closurerize")) ; /* tmp402 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n(\n")) ; tmp403 = aux2_envlst_28 (arg0, arg2, 0, 0) ; tmp405 = atspre_eq_int_int (tmp403, 0) ; if (tmp405) { /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// argumentless")) ; } else { /* empty */ } /* end of [if] */ /* tmp406 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n)\n{\n")) ; /* tmp407 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("return ")) ; /* tmp408 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp409 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closureinit(")) ; /* tmp410 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATS_MALLOC(sizeof(")) ; /* tmp411 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype))")) ; tmp413 = aux3_envlst_29 (arg0, arg2, 1, 0) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [closurerize] */\n")) ; return /* (tmp397) */ ; } /* end of [auxclo_create_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 25223(line=1205, offs=1) -- 25914(line=1246, offs=2) */ ATSstaticdec() ats_void_type auxall_beg_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; // ATSlocal_void (tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; // ATSlocal_void (tmp430) ; // ATSlocal_void (tmp431) ; __ats_lab_auxall_beg_36: tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res (arg1) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (arg1) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSclosurerize_beg")) ; /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, arg1) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp423 = */ aux0_envlst_26 (arg0, arg2, 0) ; /* tmp424 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp425 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp426 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp427 = */ aux0_arglst_23 (arg0, tmp417, 0) ; /* tmp428 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp430 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp416) ; /* tmp431 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp415) */ ; } /* end of [auxall_beg_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 25946(line=1248, offs=5) -- 26076(line=1257, offs=2) */ ATSstaticdec() ats_void_type auxall_end_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp432) ; __ats_lab_auxall_end_37: /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSclosurerize_end()\n")) ; return /* (tmp432) */ ; } /* end of [auxall_end_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 26160(line=1263, offs=3) -- 26598(line=1285, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_closure (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; // ATSlocal_void (tmp438) ; // ATSlocal_void (tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_bool_type, tmp442) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_closure: tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg1) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (arg1) ; /* tmp436 = */ auxall_beg_36 (arg0, tmp434, tmp435) ; /* tmp437 = */ auxclo_type_32 (arg0, tmp434, tmp435) ; /* tmp438 = */ auxclo_cfun_33 (arg0, tmp434, tmp435) ; /* tmp439 = */ auxclo_init_34 (arg0, tmp434, tmp435) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (tmp434) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_ptr (tmp440) ; if (tmp442) { /* tmp441 = */ auxclo_create_35 (arg0, tmp434, tmp435) ; } else { /* empty */ } /* end of [if] */ /* tmp433 = */ auxall_end_37 (arg0, tmp434, tmp435) ; return /* (tmp433) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_closure] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 26802(line=1298, offs=5) -- 27334(line=1323, offs=4) */ ATSstaticdec() ats_void_type auxlst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; ATSlocal (ats_int_type, tmp452) ; __ats_lab_auxlst_40: do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp445 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStmpdec(")) ; /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg (arg0, arg2) ; /* tmp449 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp445) ; /* tmp451 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; tmp452 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp446 ; arg2 = tmp452 ; goto __ats_lab_auxlst_40 ; // tail call break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: break ; } while (0) ; return /* (tmp444) */ ; } /* end of [auxlst_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 26777(line=1296, offs=20) -- 27433(line=1329, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp443) ; ATSlocal (ats_ptr_type, tmp453) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funarg: tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (arg1) ; /* tmp443 = */ auxlst_40 (arg0, tmp453, 0) ; return /* (tmp443) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 27617(line=1341, offs=5) -- 28149(line=1366, offs=4) */ ATSstaticdec() ats_void_type auxlst_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; ATSlocal (ats_int_type, tmp463) ; __ats_lab_auxlst_42: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp456 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp457 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp458 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStmpdec(")) ; /* tmp459 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funapy (arg0, arg2) ; /* tmp460 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp456) ; /* tmp462 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; tmp463 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp457 ; arg2 = tmp463 ; goto __ats_lab_auxlst_42 ; // tail call break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: break ; } while (0) ; return /* (tmp455) */ ; } /* end of [auxlst_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 27592(line=1339, offs=3) -- 28248(line=1372, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funapy (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp454) ; ATSlocal (ats_ptr_type, tmp464) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funapy: tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (arg1) ; /* tmp454 = */ auxlst_42 (arg0, tmp464, 0) ; return /* (tmp454) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funapy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 28400(line=1382, offs=3) -- 28799(line=1400, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_int_type, tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; ATSlocal (ats_bool_type, tmp471) ; // ATSlocal_void (tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec: tmp466 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg1) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (arg1) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_tailcal (tmp467) ; /* tmp469 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* tmpvardeclst(beg) */\n")) ; tmp471 = atspre_gte_int_int (tmp468, 2) ; if (tmp471) { /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funapy (arg0, tmp466) ; } else { /* empty */ } /* end of [if] */ tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst (arg1) ; /* tmp472 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst (arg0, tmp473) ; /* tmp465 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* tmpvardeclst(end) */\n")) ; return /* (tmp465) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 28958(line=1411, offs=3) -- 29490(line=1433, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp474) ; // ATSlocal_void (tmp475) ; // ATSlocal_void (tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; // ATSlocal_void (tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_bool_type, tmp480) ; // ATSlocal_void (tmp481) ; ATSlocal (ats_bool_type, tmp482) ; // ATSlocal_void (tmp483) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody: /* tmp475 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_beg()\n")) ; tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst (arg1) ; /* tmp476 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp477) ; /* tmp478 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_end()\n")) ; tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (arg1) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void (tmp479) ; tmp482 = atspre_neg_bool (tmp480) ; if (tmp482) { /* tmp481 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSreturn(")) ; } else { /* tmp481 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSreturn_void(")) ; } /* end of [if] */ /* tmp483 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp479) ; /* tmp474 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp474) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 29717(line=1446, offs=5) -- 30021(line=1465, offs=4) */ ATSstaticdec() ats_void_type auxfl_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; // ATSlocal_void (tmp487) ; __ats_lab_auxfl_45: tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg2) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (tmp485 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp486 = ats_caselptrlab_mac(anairiats_sum_21, tmp485, atslab_0) ; /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funlab_funarg (arg0, arg2) ; /* tmp484 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec (arg0, tmp486) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (tmp485 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: break ; } while (0) ; return /* (tmp484) */ ; } /* end of [auxfl_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 30045(line=1467, offs=5) -- 30403(line=1486, offs=4) */ ATSstaticdec() ats_void_type auxflist_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; // ATSlocal_void (tmp491) ; // ATSlocal_void (tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_int_type, tmp494) ; __ats_lab_auxflist_46: do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp489 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp490 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; /* tmp491 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx (arg3) ; /* tmp492 = */ auxfl_45 (arg0, arg1, tmp489) ; /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx (0) ; tmp494 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp490 ; arg3 = tmp494 ; goto __ats_lab_auxflist_46 ; // tail call break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: break ; } while (0) ; return /* (tmp488) */ ; } /* end of [auxflist_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 30484(line=1492, offs=3) -- 30831(line=1511, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxdeclst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; // ATSlocal_void (tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxdeclst: tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst (arg1) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (tmp496 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\nemit_funent_fnxdeclst:\n*/\n")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: break ; } while (0) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (tmp496 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp498 = ats_caselptrlab_mac(anairiats_sum_3, tmp496, atslab_1) ; /* tmp495 = */ auxflist_46 (arg0, arg1, tmp498, 2) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (tmp496 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: break ; } while (0) ; return /* (tmp495) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 30922(line=1519, offs=5) -- 31129(line=1534, offs=4) */ ATSstaticdec() ats_void_type auxfl_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; __ats_lab_auxfl_48: tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg2) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (tmp500 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp501 = ats_caselptrlab_mac(anairiats_sum_21, tmp500, atslab_0) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody (arg0, tmp501) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (tmp500 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: break ; } while (0) ; return /* (tmp499) */ ; } /* end of [auxfl_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 31153(line=1536, offs=5) -- 31511(line=1555, offs=4) */ ATSstaticdec() ats_void_type auxflist_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; // ATSlocal_void (tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_int_type, tmp508) ; __ats_lab_auxflist_49: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp503 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp504 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx (arg3) ; /* tmp506 = */ auxfl_48 (arg0, arg1, tmp503) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx (0) ; tmp508 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp504 ; arg3 = tmp508 ; goto __ats_lab_auxflist_49 ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: break ; } while (0) ; return /* (tmp502) */ ; } /* end of [auxflist_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 31593(line=1561, offs=3) -- 31941(line=1580, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxbodylst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; // ATSlocal_void (tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxbodylst: tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst (arg1) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (tmp510 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp511 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\nemit_funent_fnxbodylst:\n*/\n")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: break ; } while (0) ; do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (tmp510 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp512 = ats_caselptrlab_mac(anairiats_sum_3, tmp510, atslab_1) ; /* tmp509 = */ auxflist_49 (arg0, arg1, tmp512, 2) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (tmp510 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: break ; } while (0) ; return /* (tmp509) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxbodylst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 32033(line=1588, offs=5) -- 32634(line=1611, offs=4) */ ATSstaticdec() ats_void_type auxtmp_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; // ATSlocal_void (tmp517) ; // ATSlocal_void (tmp518) ; // ATSlocal_void (tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; // ATSlocal_void (tmp523) ; // ATSlocal_void (tmp524) ; // ATSlocal_void (tmp525) ; // ATSlocal_void (tmp526) ; __ats_lab_auxtmp_51: tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg (arg1) ; tmp515 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg (arg1) ; tmp516 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub (arg1) ; /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp518 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("imparg = ")) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp514) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("tmparg = ")) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp515) ; /* tmp523 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp524 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("tmpsub = ")) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt (arg0, tmp516) ; /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp513 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp513) */ ; } /* end of [auxtmp_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 32711(line=1617, offs=3) -- 35127(line=1708, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_implmnt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; // ATSlocal_void (tmp531) ; // ATSlocal_void (tmp532) ; // ATSlocal_void (tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; // ATSlocal_void (tmp541) ; // ATSlocal_void (tmp542) ; // ATSlocal_void (tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; // ATSlocal_void (tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_bool_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_bool_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_bool_type, tmp559) ; ATSlocal (ats_bool_type, tmp560) ; // ATSlocal_void (tmp561) ; // ATSlocal_void (tmp562) ; ATSlocal (ats_bool_type, tmp563) ; // ATSlocal_void (tmp564) ; // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; ATSlocal (ats_int_type, tmp569) ; // ATSlocal_void (tmp570) ; // ATSlocal_void (tmp571) ; // ATSlocal_void (tmp572) ; // ATSlocal_void (tmp573) ; // ATSlocal_void (tmp574) ; // ATSlocal_void (tmp575) ; // ATSlocal_void (tmp576) ; // ATSlocal_void (tmp577) ; // ATSlocal_void (tmp578) ; // ATSlocal_void (tmp579) ; // ATSlocal_void (tmp580) ; // ATSlocal_void (tmp581) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_implmnt: tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc (arg1) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg1) ; tmp530 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (arg1) ; /* tmp531 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp532 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp528) ; /* tmp533 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp534 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp535 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("local: ")) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst (arg1) ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst (arg0, tmp536) ; /* tmp538 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("global: ")) ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst (arg1) ; /* tmp541 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst (arg0, tmp540) ; /* tmp542 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("local: ")) ; tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (arg1) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst (arg0, tmp544) ; /* tmp546 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp547 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("global: ")) ; tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (arg1) ; /* tmp549 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst (arg0, tmp548) ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp551 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp552 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res (tmp529) ; tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (tmp529) ; tmp554 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (tmp529) ; do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (tmp554 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp556 = ats_caselptrlab_mac(anairiats_sum_21, tmp554, atslab_0) ; tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static (tmp556) ; if (tmp557) { tmp555 = ats_false_bool ; } else { tmp555 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (tmp554 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp555 = ats_false_bool ; break ; } while (0) ; tmp558 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin (tmp529) ; do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (tmp558 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp559 = ats_false_bool ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (tmp558 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: tmp559 = tmp555 ; break ; } while (0) ; tmp560 = atspre_neg_bool (tmp559) ; if (tmp559) { /* tmp561 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\n")) ; } else { /* empty */ } /* end of [if] */ if (tmp560) { /* tmp562 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatic()\n")) ; } else { /* empty */ } /* end of [if] */ tmp563 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_is_tmplt (arg1) ; if (tmp563) { /* tmp564 = */ auxtmp_51 (arg0, arg1) ; } else { /* empty */ } /* end of [if] */ /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp552) ; /* tmp566 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; /* tmp567 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp529) ; /* tmp568 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; tmp569 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funenvlst (arg0, tmp530) ; /* tmp570 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarglst (arg0, tmp569, tmp553) ; /* tmp571 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; /* tmp572 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize (arg1) ; /* tmp573 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize2 (arg1) ; /* tmp574 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("{\n")) ; /* tmp575 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fundec (arg0, arg1) ; /* tmp576 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxdeclst (arg0, arg1) ; /* tmp577 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_funbody (arg0, arg1) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__emit_funent_fnxbodylst (arg0, arg1) ; /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [")) ; /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp529) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("] */\n")) ; /* tmp527 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_uninitize (arg1) ; return /* (tmp527) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_implmnt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 35230(line=1716, offs=3) -- 35463(line=1729, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; // ATSlocal_void (tmp585) ; // ATSlocal_void (tmp586) ; // ATSlocal_void (tmp587) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_dynload: tmp583 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp583)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 35254(line=1718, offs=5) -- 35288(line=1718, offs=39)") ; } tmp584 = ats_caselptrlab_mac(anairiats_sum_2, tmp583, atslab_0) ; /* tmp585 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadfcall(")) ; /* tmp586 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp584) ; /* tmp587 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynload")) ; /* tmp582 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp582) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 35570(line=1738, offs=5) -- 36959(line=1802, offs=4) */ ATSstaticdec() ats_void_type emit_primdec_54 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; // ATSlocal_void (tmp603) ; // ATSlocal_void (tmp604) ; // ATSlocal_void (tmp605) ; // ATSlocal_void (tmp606) ; __ats_lab_emit_primdec_54: tmp589 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_primdec_node) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp589)->tag != 0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp589)->tag != 1) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp590 = ats_caselptrlab_mac(anairiats_sum_2, tmp589, atslab_0) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp590) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp589)->tag != 2) { goto __ats_lab_93_0 ; } __ats_lab_92_1: break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp589)->tag != 3) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp591 = ats_caselptrlab_mac(anairiats_sum_5, tmp589, atslab_1) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, ats_castfn_mac(ats_ptr_type, tmp591)) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp589)->tag != 4) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp589)->tag != 5) { goto __ats_lab_96_0 ; } __ats_lab_95_1: break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp589)->tag != 10) { goto __ats_lab_99_0 ; } __ats_lab_96_1: tmp592 = ats_caselptrlab_mac(anairiats_sum_2, tmp589, atslab_0) ; tmp593 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt (tmp592) ; do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (tmp593 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp594 = ats_caselptrlab_mac(anairiats_sum_21, tmp593, atslab_0) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp594) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (tmp593 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: break ; } while (0) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp589)->tag != 6) { goto __ats_lab_100_0 ; } __ats_lab_99_1: break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp589)->tag != 7) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp595 = ats_caselptrlab_mac(anairiats_sum_19, tmp589, atslab_2) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, ats_castfn_mac(ats_ptr_type, tmp595)) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp589)->tag != 8) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp596 = ats_caselptrlab_mac(anairiats_sum_19, tmp589, atslab_2) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, ats_castfn_mac(ats_ptr_type, tmp596)) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp589)->tag != 9) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp597 = ats_caselptrlab_mac(anairiats_sum_5, tmp589, atslab_1) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, ats_castfn_mac(ats_ptr_type, tmp597)) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp589)->tag != 11) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp598 = ats_caselptrlab_mac(anairiats_sum_23, tmp589, atslab_1) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp598) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp589)->tag != 12) { goto __ats_lab_105_0 ; } __ats_lab_104_1: break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp589)->tag != 13) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp599 = ats_caselptrlab_mac(anairiats_sum_19, tmp589, atslab_2) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp599) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp589)->tag != 14) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp600 = ats_caselptrlab_mac(anairiats_sum_2, tmp589, atslab_0) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_dynload (arg0, tmp600) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (((ats_sum_ptr_type)tmp589)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp601 = ats_caselptrlab_mac(anairiats_sum_5, tmp589, atslab_0) ; tmp602 = ats_caselptrlab_mac(anairiats_sum_5, tmp589, atslab_1) ; /* tmp603 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* local */\n")) ; /* tmp604 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp601) ; /* tmp605 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* in of [local] */\n")) ; /* tmp606 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp602) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* end of [local] */\n")) ; break ; } while (0) ; return /* (tmp588) */ ; } /* end of [emit_primdec_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37038(line=1808, offs=3) -- 37259(line=1820, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; // ATSlocal_void (tmp610) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst: do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp608 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp609 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp610 = */ emit_primdec_54 (arg0, tmp608) ; arg0 = arg0 ; arg1 = tmp609 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: break ; } while (0) ; return /* (tmp607) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37363(line=1828, offs=3) -- 37648(line=1844, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con_extdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp611) ; ATSlocal (ats_bool_type, tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; // ATSlocal_void (tmp615) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con_extdec: tmp612 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn (arg1) ; if (tmp612) { /* tmp613 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynexn_extdec")) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp615 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg1) ; /* tmp611 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp611) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con_extdec] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4310(line=156, offs=6) -- 4365(line=156, offs=61) */ ATSstaticdec() ats_void_type app_60 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp619) ; __ats_lab_app_60: /* tmp619 = */ ((ats_void_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return /* (tmp619) */ ; } /* end of [app_60] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; // ATSlocal_void (tmp624) ; __ats_lab_loop_62: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp622 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp623 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp624 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp622, arg2) ; arg0 = tmp623 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_62 ; // tail call break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: break ; } while (0) ; return /* (tmp621) */ ; } /* end of [loop_62] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp620) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp620 = */ loop_62 (arg0, arg1, arg2) ; return /* (tmp620) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 4235(line=154, offs=20) -- 4426(line=159, offs=4) */ ATSstaticdec() ats_void_type list_app_vcloptr_01304_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp618) ; __ats_lab_list_app_vcloptr_01304_ats_ptr_type: /* tmp618 = */ list_app_funenv_01300_ats_ptr_type (arg0, &app_60, arg1) ; return /* (tmp618) */ ; } /* end of [list_app_vcloptr_01304_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 3690(line=137, offs=11) -- 4157(line=151, offs=4) */ ATSstaticdec() ats_void_type list_app_cloptr_01303_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp617) ; __ats_lab_list_app_cloptr_01303_ats_ptr_type: /* tmp617 = */ list_app_vcloptr_01304_ats_ptr_type (arg0, arg1) ; return /* (tmp617) */ ; } /* end of [list_app_cloptr_01303_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37761(line=1850, offs=33) -- 37802(line=1850, offs=74) */ ATSstaticdec() ats_void_type __ats_fun_63 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp626) ; __ats_lab___ats_fun_63: /* tmp626 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con_extdec (env0, arg0) ; return /* (tmp626) */ ; } /* end of [__ats_fun_63] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_63_closure_type ; ats_void_type __ats_fun_63_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { __ats_fun_63 (((__ats_fun_63_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_63_closure_init (__ats_fun_63_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_63_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_63_closure_make (ats_ptr_type env0) { __ats_fun_63_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_63_closure_type)) ; __ats_fun_63_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37713(line=1848, offs=3) -- 37803(line=1850, offs=75) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_extdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp616) ; ATSlocal (ats_ptr_type, tmp625) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_extdec: /* ats_ptr_type tmp625 ; */ tmp625 = __ats_fun_63_closure_make (arg0) ; /* tmp616 = */ list_app_cloptr_01303_ats_ptr_type (arg1, tmp625) ; ATS_FREE(tmp625) ; return /* (tmp616) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_extdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37920(line=1859, offs=5) -- 38380(line=1879, offs=4) */ ATSstaticdec() ats_void_type aux_65 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; // ATSlocal_void (tmp631) ; // ATSlocal_void (tmp632) ; // ATSlocal_void (tmp633) ; // ATSlocal_void (tmp634) ; // ATSlocal_void (tmp635) ; // ATSlocal_void (tmp636) ; // ATSlocal_void (tmp637) ; // ATSlocal_void (tmp638) ; __ats_lab_aux_65: tmp629 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil (arg1) ; tmp630 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (arg1) ; /* tmp631 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynexn_initize(")) ; /* tmp632 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg1) ; /* tmp633 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp634 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\"")) ; /* tmp635 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp629) ; /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(":")) ; /* tmp637 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp630) ; /* tmp638 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\"")) ; /* tmp628 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp628) */ ; } /* end of [aux_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 37895(line=1857, offs=3) -- 38645(line=1893, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp627) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_bool_type, tmp641) ; // ATSlocal_void (tmp642) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp639 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp640 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp641 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn (tmp639) ; if (tmp641) { /* tmp642 = */ aux_65 (arg0, tmp639) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp640 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize ; // tail call break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_113_1: break ; } while (0) ; return /* (tmp627) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 39195(line=1927, offs=3) -- 40806(line=2001, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst_extdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp643) ; ATSlocal (ats_bool_type, tmp644) ; // ATSlocal_void (tmp645) ; // ATSlocal_void (tmp646) ; ATSlocal (ats_bool_type, tmp647) ; ATSlocal (ats_bool_type, tmp648) ; // ATSlocal_void (tmp649) ; // ATSlocal_void (tmp650) ; // ATSlocal_void (tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; // ATSlocal_void (tmp653) ; // ATSlocal_void (tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; // ATSlocal_void (tmp656) ; ATSlocal (ats_bool_type, tmp657) ; // ATSlocal_void (tmp658) ; // ATSlocal_void (tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; // ATSlocal_void (tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; // ATSlocal_void (tmp665) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst_extdec: do { /* branch: __ats_lab_114 */ __ats_lab_114_0: __ats_lab_114_1: tmp644 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mac (arg1) ; if (!tmp644) { goto __ats_lab_115_1 ; } /* tmp645 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_mac(")) ; /* tmp646 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, arg1) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: __ats_lab_115_1: tmp647 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec (arg1) ; if (!tmp647) { goto __ats_lab_116_1 ; } tmp648 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_static (arg1) ; if (tmp648) { /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_stafun(")) ; } else { /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_extfun(")) ; } /* end of [if] */ /* tmp650 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, arg1) ; /* tmp651 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", (")) ; tmp652 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_arg (arg1) ; /* tmp653 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep (arg0, tmp652, ATSstrcst(", ")) ; /* tmp654 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("), ")) ; tmp655 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_res (arg1) ; /* tmp656 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp655) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp657 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn (arg1) ; if (!tmp657) { goto __ats_lab_117_1 ; } /* tmp658 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_castfn(")) ; /* tmp659 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, arg1) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: tmp660 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg1) ; if (tmp660 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 40530(line=1991, offs=9) -- 40565(line=1991, offs=44)") ; } tmp661 = ats_caselptrlab_mac(anairiats_sum_21, tmp660, atslab_0) ; /* tmp662 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_valdec(")) ; /* tmp663 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, arg1) ; /* tmp664 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp665 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp661) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; break ; } while (0) ; return /* (tmp643) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst_extdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 40919(line=2007, offs=33) -- 40960(line=2007, offs=74) */ ATSstaticdec() ats_void_type __ats_fun_68 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp668) ; __ats_lab___ats_fun_68: /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst_extdec (env0, arg0) ; return /* (tmp668) */ ; } /* end of [__ats_fun_68] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_68_closure_type ; ats_void_type __ats_fun_68_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { __ats_fun_68 (((__ats_fun_68_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_68_closure_init (__ats_fun_68_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_68_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_68_closure_make (ats_ptr_type env0) { __ats_fun_68_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_68_closure_type)) ; __ats_fun_68_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit3.dats: 40871(line=2005, offs=3) -- 40961(line=2007, offs=75) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cstlst_extdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cstlst_extdec: /* ats_ptr_type tmp667 ; */ tmp667 = __ats_fun_68_closure_make (arg0) ; /* tmp666 = */ list_app_cloptr_01303_ats_ptr_type (arg1, tmp667) ; ATS_FREE(tmp667) ; return /* (tmp666) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cstlst_extdec] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_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 () ; #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_ccomp_emit3_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_hipat_dats.c0000664000175000017500000025264012655455557021100 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEvararg_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKi0nt_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKf0loat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_llint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_hipat_set_asvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argtmpref) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_sum) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_sum) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__primval_make_funarg) (ats_ptr_type, ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type hipat_getset_asvar_0 (ats_ptr_type arg0) ; static ats_void_type aux_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxlst_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type aux_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) ; static ats_void_type auxlst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxvar_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxpat_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxpatlst_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxvar_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) ; static ats_void_type auxpat_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) ; static ats_void_type auxpatlst_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_void_type auxvar_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxpatck_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxmatch_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 1881(line=67, offs=1) -- 2153(line=82, offs=4) */ ATSstaticdec() ats_ptr_type hipat_getset_asvar_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_hipat_getset_asvar_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hipat_asvar) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp0 = tmp2 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hipat_loc) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (tmp3) ; tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, tmp4) ; /* tmp5 = */ patsopt_hipat_set_asvar (arg0, tmp6) ; tmp0 = tmp4 ; break ; } while (0) ; return (tmp0) ; } /* end of [hipat_getset_asvar_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 2367(line=96, offs=5) -- 3167(line=134, offs=4) */ ATSstaticdec() ats_void_type aux_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; __ats_lab_aux_1: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp8)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp8)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp8)->tag != 15) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp8, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp9 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_aux_1 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_loc) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (arg4) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab (tmp10, arg3) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp10, tmp11) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select (tmp10, tmp13, tmp11, arg5, arg6, tmp12) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp10, tmp13) ; tmp16 = hipat_getset_asvar_0 (arg4) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp16, tmp15) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp14) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (arg0, arg1, arg2, arg4, tmp15) ; break ; } while (0) ; return /* (tmp7) */ ; } /* end of [aux_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 3189(line=136, offs=5) -- 3605(line=158, offs=4) */ ATSstaticdec() ats_void_type auxlst_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab_auxlst_2: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; // tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp20, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_4, tmp20, atslab_1) ; /* tmp24 = */ aux_1 (arg0, arg1, arg2, tmp22, tmp23, arg4, arg5) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp21 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_auxlst_2 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; return /* (tmp19) */ ; } /* end of [auxlst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 3678(line=164, offs=1) -- 3830(line=173, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_rec: tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp26)->tag != 13) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 3724(line=168, offs=5) -- 3772(line=169, offs=42)") ; } tmp27 = ats_caselptrlab_mac(anairiats_sum_5, tmp26, atslab_1) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp26, atslab_2) ; /* tmp25 = */ auxlst_2 (arg0, arg1, arg2, tmp27, arg4, tmp28) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 4098(line=189, offs=1) -- 4237(line=197, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con: tmp31 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp31)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp31, atslab_0, arg4) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (arg3, arg5, tmp31, arg2) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp30) ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 4450(line=211, offs=5) -- 6260(line=283, offs=4) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_bool_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_int_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_bool_type, tmp56) ; __ats_lab_aux_5: tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_node) ; tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp34)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp34)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp34)->tag != 15) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_3, tmp34, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp35 ; arg6 = arg6 ; arg7 = arg7 ; goto __ats_lab_aux_5 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_loc) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (arg5) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp36, tmp37) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon (tmp36, tmp38, tmp37, arg6, arg7, arg4) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp36, tmp38) ; /* ats_int_type tmp41 ; */ tmp41 = 0 ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp34)->tag != 14) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_3, tmp34, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_3, tmp34, atslab_1) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp43) ; tmp45 = atspre_neg_bool (tmp46) ; if (tmp45) { tmp48 = atspre_iadd (tmp41, 1) ; tmp41 = tmp48 ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp43, tmp40) ; } else { tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (tmp36, tmp37, arg6, arg7, arg4) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp36, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, tmp49) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp43, tmp50) ; } /* end of [if] */ tmp42 = tmp44 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp42 = arg5 ; break ; } while (0) ; tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp42), atslab_hipat_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp52)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp52)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_15_1: break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp52)->tag != 14) { goto __ats_lab_17_0 ; } __ats_lab_16_1: break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp53 = atspre_add_int_int (tmp41, 1) ; tmp41 = tmp53 ; tmp54 = hipat_getset_asvar_0 (tmp42) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp54, tmp40) ; break ; } while (0) ; tmp56 = atspre_gte_int_int (tmp41, 1) ; if (tmp56) { /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp39) ; } else { /* empty */ } /* end of [if] */ /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (arg0, arg1, arg2, tmp42, tmp40) ; break ; } while (0) ; return /* (tmp32) */ ; } /* end of [aux_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 6282(line=285, offs=5) -- 6739(line=305, offs=4) */ ATSstaticdec() ats_void_type auxlst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_int_type, tmp63) ; __ats_lab_auxlst_6: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_4, tmp58, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_4, tmp58, atslab_1) ; /* tmp62 = */ aux_5 (arg0, arg1, arg2, arg3, tmp60, tmp61, arg5, arg6) ; tmp63 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp63 ; arg4 = tmp59 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_auxlst_6 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: break ; } while (0) ; return /* (tmp57) */ ; } /* end of [auxlst_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 6812(line=311, offs=1) -- 7207(line=332, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_sum (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_sum: tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_loc) ; tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp66)->tag != 11) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 7023(line=325, offs=5) -- 7076(line=326, offs=47)") ; } tmp67 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_1) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_2) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_3) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con (arg0, arg1, arg2, tmp65, tmp67, arg4) ; /* tmp64 = */ auxlst_6 (arg0, arg1, arg2, 0, tmp69, arg4, tmp68) ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_sum] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 7307(line=340, offs=1) -- 9306(line=425, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_llint_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_char_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp: tmp72 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_loc) ; tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp73)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp73)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp73)->tag != 11) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_sum (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp73)->tag != 12) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_3, tmp73, atslab_1) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_con (arg0, arg1, arg2, tmp72, tmp74, arg4) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp73)->tag != 2) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_8, tmp73, atslab_0) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp77)->tag = 1 ; ats_selptrset_mac(anairiats_sum_8, tmp77, atslab_0, tmp75) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp77, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp76) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp73)->tag != 3) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_6, tmp73, atslab_0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (tmp78) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_8, tmp81, atslab_0, ats_castfn_mac(ats_int_type, tmp79)) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp81, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp80) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp73)->tag != 4) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_9, tmp73, atslab_0) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp84)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp84, atslab_0, tmp82) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp84, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp83) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp73)->tag != 5) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_10, tmp73, atslab_0) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp87)->tag = 3 ; ats_selptrset_mac(anairiats_sum_10, tmp87, atslab_0, tmp85) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp87, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp86) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp73)->tag != 6) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_6, tmp73, atslab_0) ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp90)->tag = 5 ; ats_selptrset_mac(anairiats_sum_6, tmp90, atslab_0, tmp88) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp90, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp89) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp73)->tag != 8) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_6, tmp73, atslab_0) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp93)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp93, atslab_0, tmp91) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp93, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp92) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp73)->tag != 9) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_6, tmp73, atslab_0) ; tmp96 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp96)->tag = 7 ; ats_selptrset_mac(anairiats_sum_6, tmp96, atslab_0, tmp94) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp72, arg4, tmp96, arg2) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp95) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp73)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_31_1: break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp73)->tag != 13) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__hipatck_ccomp_rec (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp73)->tag != 14) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_3, tmp73, atslab_1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp97 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp73)->tag != 15) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_3, tmp73, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp98 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: /* tmp99 = */ atspre_print_string (ATSstrcst("hipatck_ccomp: loc0 = ")) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location (tmp72) ; /* tmp101 = */ atspre_print_newline () ; /* tmp102 = */ atspre_print_string (ATSstrcst("hipatck_ccomp: hip0 = ")) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat (arg3) ; /* tmp104 = */ atspre_print_newline () ; tmp105 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 9267(line=422, offs=5) -- 9277(line=422, offs=15)", ATSstrcst("\n")) ; /* tmp71 = */ ats_exit_errmsg (1, tmp105) ; break ; } while (0) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 9533(line=439, offs=5) -- 10558(line=479, offs=4) */ ATSstaticdec() ats_void_type auxvar_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; __ats_lab_auxvar_9: tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_loc) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp108)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 9693(line=448, offs=7) -- 9722(line=448, offs=36)") ; } tmp109 = ats_caselptrlab_mac(anairiats_sum_6, tmp108, atslab_0) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp109, arg2) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (tmp109) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp112 = atspre_eq_int_int (tmp111, 0) ; if (!tmp112) { goto __ats_lab_37_1 ; } break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (arg4) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp107, tmp113) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab (tmp107, arg3) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select (tmp107, tmp114, tmp113, arg5, arg6, tmp115) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp107, tmp114) ; /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp109, tmp117) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp116) ; break ; } while (0) ; return /* (tmp106) */ ; } /* end of [auxvar_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 10583(line=481, offs=5) -- 11255(line=510, offs=4) */ ATSstaticdec() ats_void_type auxpat_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_auxpat_10: tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_node) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp120)->tag != 0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp120)->tag != 1) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp119 = */ auxvar_9 (arg0, arg1, arg2, arg3, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp120)->tag != 14) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp121 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_auxpat_10 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp120)->tag != 15) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_3, tmp120, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp122 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_auxpat_10 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_loc) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_hipat_asvar) ; if (tmp124 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 11091(line=505, offs=9) -- 11119(line=505, offs=37)") ; } tmp125 = ats_caselptrlab_mac(anairiats_sum_2, tmp124, atslab_0) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv (arg0, tmp125) ; if (tmp126 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 11128(line=506, offs=9) -- 11181(line=506, offs=62)") ; } tmp127 = ats_caselptrlab_mac(anairiats_sum_2, tmp126, atslab_0) ; ATS_FREE(tmp126) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (arg0, arg1, arg2, arg4, tmp127) ; break ; } while (0) ; return /* (tmp119) */ ; } /* end of [auxpat_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 11280(line=512, offs=5) -- 11700(line=534, offs=4) */ ATSstaticdec() ats_void_type auxpatlst_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; __ats_lab_auxpatlst_11: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; // tmp131 = ats_caselptrlab_mac(anairiats_sum_4, tmp129, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_4, tmp129, atslab_1) ; /* tmp133 = */ auxpat_10 (arg0, arg1, arg2, tmp131, tmp132, arg4, arg5) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp130 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_auxpatlst_11 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: break ; } while (0) ; return /* (tmp128) */ ; } /* end of [auxpatlst_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 11776(line=540, offs=1) -- 11931(line=549, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_rec: tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp135)->tag != 13) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 11822(line=544, offs=5) -- 11870(line=545, offs=42)") ; } tmp136 = ats_caselptrlab_mac(anairiats_sum_5, tmp135, atslab_1) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_5, tmp135, atslab_2) ; /* tmp134 = */ auxpatlst_11 (arg0, arg1, arg2, tmp136, arg4, tmp137) ; return /* (tmp134) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 12189(line=565, offs=5) -- 13146(line=602, offs=4) */ ATSstaticdec() ats_void_type auxvar_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; __ats_lab_auxvar_13: tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_loc) ; tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp140)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 12361(line=575, offs=7) -- 12390(line=575, offs=36)") ; } tmp141 = ats_caselptrlab_mac(anairiats_sum_6, tmp140, atslab_0) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp141, arg2) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (tmp141) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp144 = atspre_eq_int_int (tmp143, 0) ; if (!tmp144) { goto __ats_lab_46_1 ; } break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp141) ; if (!tmp145) { goto __ats_lab_47_1 ; } tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (arg5) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (tmp139, tmp146, arg6, arg7, arg4) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp139, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, tmp147) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp141, tmp148) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (arg5) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp139, tmp149) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon (tmp139, tmp150, tmp149, arg6, arg7, arg4) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp139, tmp150) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp141, tmp152) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp151) ; break ; } while (0) ; return /* (tmp138) */ ; } /* end of [auxvar_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 13171(line=604, offs=5) -- 13852(line=634, offs=4) */ ATSstaticdec() ats_void_type auxpat_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_auxpat_14: tmp155 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_node) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp155)->tag != 0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp155)->tag != 1) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp154 = */ auxvar_13 (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp155)->tag != 14) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_3, tmp155, atslab_1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp156 ; arg6 = arg6 ; arg7 = arg7 ; goto __ats_lab_auxpat_14 ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp155)->tag != 15) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_3, tmp155, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp157 ; arg6 = arg6 ; arg7 = arg7 ; goto __ats_lab_auxpat_14 ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_hipat_asvar) ; if (tmp158 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 13685(line=628, offs=9) -- 13713(line=628, offs=37)") ; } tmp159 = ats_caselptrlab_mac(anairiats_sum_2, tmp158, atslab_0) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv (arg0, tmp159) ; if (tmp160 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 13722(line=629, offs=9) -- 13775(line=629, offs=62)") ; } tmp161 = ats_caselptrlab_mac(anairiats_sum_2, tmp160, atslab_0) ; ATS_FREE(tmp160) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (arg0, arg1, arg2, arg5, tmp161) ; break ; } while (0) ; return /* (tmp154) */ ; } /* end of [auxpat_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 13877(line=636, offs=5) -- 14323(line=659, offs=4) */ ATSstaticdec() ats_void_type auxpatlst_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_int_type, tmp168) ; __ats_lab_auxpatlst_15: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_4, tmp163, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_4, tmp163, atslab_1) ; /* tmp167 = */ auxpat_14 (arg0, arg1, arg2, arg3, tmp165, tmp166, arg5, arg6) ; tmp168 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp168 ; arg4 = tmp164 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_auxpatlst_15 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: break ; } while (0) ; return /* (tmp162) */ ; } /* end of [auxpatlst_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 14396(line=665, offs=1) -- 14626(line=677, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_sum (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_sum: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; if (((ats_sum_ptr_type)tmp170)->tag != 11) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 14501(line=672, offs=5) -- 14554(line=673, offs=47)") ; } tmp171 = ats_caselptrlab_mac(anairiats_sum_7, tmp170, atslab_2) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_7, tmp170, atslab_3) ; /* tmp169 = */ auxpatlst_15 (arg0, arg1, arg2, 0, tmp172, arg4, tmp171) ; return /* (tmp169) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_sum] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 14713(line=685, offs=5) -- 15658(line=727, offs=4) */ ATSstaticdec() ats_void_type auxvar_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp173) ; ATSlocal (ats_int_type, tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_bool_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_bool_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab_auxvar_17: tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (arg3) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (arg3, arg2) ; tmp176 = atspre_gt_int_int (tmp174, 0) ; if (tmp176) { tmp178 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg4), atslab_primval_node) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg3) ; if (!tmp179) { goto __ats_lab_56_1 ; } tmp177 = ats_false_bool ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared (arg4) ; break ; } while (0) ; if (tmp177) { tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (arg3) ; tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg4), atslab_primval_type) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp180, tmp181) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp180, tmp182, arg4) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp184) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp180, tmp182) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, arg3, tmp185) ; } else { /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, arg3, arg4) ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp173) */ ; } /* end of [auxvar_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 15727(line=733, offs=1) -- 16981(line=800, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp: tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_loc) ; tmp188 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp188)->tag != 0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp188)->tag != 1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_6, tmp188, atslab_0) ; /* tmp186 = */ auxvar_17 (arg0, arg1, arg2, tmp189, arg4) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp188)->tag != 2) { goto __ats_lab_60_0 ; } __ats_lab_59_1: break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp188)->tag != 3) { goto __ats_lab_61_0 ; } __ats_lab_60_1: break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp188)->tag != 4) { goto __ats_lab_62_0 ; } __ats_lab_61_1: break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp188)->tag != 5) { goto __ats_lab_63_0 ; } __ats_lab_62_1: break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp188)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp188)->tag != 8) { goto __ats_lab_65_0 ; } __ats_lab_64_1: break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp188)->tag != 9) { goto __ats_lab_66_0 ; } __ats_lab_65_1: break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp188)->tag != 10) { goto __ats_lab_67_0 ; } __ats_lab_66_1: break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp188)->tag != 11) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_7, tmp188, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_7, tmp188, atslab_1) ; /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if (arg0, arg4, tmp190, tmp191) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_sum (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp188)->tag != 12) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_3, tmp188, atslab_0) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_3, tmp188, atslab_1) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if (arg0, arg4, tmp193, tmp194) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp188)->tag != 13) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__himatch_ccomp_rec (arg0, arg1, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp188)->tag != 14) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp195 = ats_caselptrlab_mac(anairiats_sum_3, tmp188, atslab_1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp195 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp ; // tail call break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp188)->tag != 15) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_3, tmp188, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp196 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp ; // tail call break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: /* tmp197 = */ atspre_print_string (ATSstrcst("himatch_ccomp: hip0 = ")) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat (arg3) ; /* tmp199 = */ atspre_print_newline () ; tmp200 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 16943(line=797, offs=5) -- 16953(line=797, offs=15)", ATSstrcst("\n")) ; /* tmp186 = */ ats_exit_errmsg (1, tmp200) ; break ; } while (0) ; return /* (tmp186) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 17082(line=808, offs=1) -- 17323(line=819, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp: /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv (arg0) ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (arg0, arg1, arg2, arg3, arg4) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv (arg0) ; tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hipat_loc) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst (arg1, tmp205, tmp204) ; return /* (tmp201) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 17520(line=831, offs=3) -- 17876(line=852, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__primval_make_funarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_bool_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__primval_make_funarg: tmp207 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_hisexp_node) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp207)->tag != 6) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_12, tmp207, atslab_0) ; tmp209 = atspre_eq_int_int (tmp208, 0) ; if (tmp209) { tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg (arg0, arg1, arg2) ; } else { tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref (arg0, arg1, arg2) ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp207)->tag != 13) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argtmpref (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__primval_make_funarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 18009(line=863, offs=1) -- 18699(line=893, offs=4) */ ATSstaticdec() ats_ptr_type auxpatck_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; __ats_lab_auxpatck_22: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp212), atslab_hipat_loc) ; tmp215 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp212), atslab_hipat_type) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__primval_make_funarg (tmp214, tmp215, arg2) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (arg0, arg1, arg4, tmp212, tmp216) ; tmp219 = atspre_add_int_int (arg2, 1) ; tmp218 = auxpatck_22 (arg0, arg1, tmp219, tmp213, arg4) ; tmp211 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp211, atslab_0, tmp216) ; ats_selptrset_mac(anairiats_sum_4, tmp211, atslab_1, tmp218) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp211 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp211) ; } /* end of [auxpatck_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 18728(line=895, offs=5) -- 19127(line=916, offs=4) */ ATSstaticdec() ats_void_type auxmatch_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; // ATSlocal_void (tmp225) ; __ats_lab_auxmatch_23: do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; ATS_FREE(arg4) ; // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp223 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (arg0, arg1, arg2, tmp223, tmp221) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp224 ; arg4 = tmp222 ; goto __ats_lab_auxmatch_23 ; // tail call break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: break ; } while (0) ; return /* (tmp220) */ ; } /* end of [auxmatch_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hipat.dats: 17956(line=858, offs=1) -- 19290(line=923, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifunarg_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifunarg_ccomp: tmp226 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp226)->tag = 5 ; ats_selptrset_mac(anairiats_sum_3, tmp226, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_3, tmp226, atslab_1, arg2) ; tmp227 = auxpatck_22 (arg0, arg1, 0, arg5, tmp226) ; /* tmp210 = */ auxmatch_23 (arg0, arg1, arg3, arg5, tmp227) ; return /* (tmp210) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifunarg_ccomp] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_hipat_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_jsonize_dats.c0000664000175000017500000023556112655455557022625 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_h3ypo_loc ; ats_ptr_type atslab_h3ypo_node ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_c3nstr_loc ; ats_ptr_type atslab_c3nstr_kind ; ats_ptr_type atslab_c3nstr_node ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtdat_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_mapgen_scst_svar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstrkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itm) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlstlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_h3ypo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstropt) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type jsonize_list_fun_02208_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_9 (ats_ptr_type arg0) ; static ats_ptr_type auxmain_11 (ats_ptr_type arg0) ; static ats_ptr_type jsonize_option_fun_02209_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2rt_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2rtlst_15 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2rtbas_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2cst_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2cstlst_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2var_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2varlst_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type c3nstr_get_s2rtdatlst_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_24 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 2225(line=94, offs=20) -- 3785(line=154, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstrkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstrkind: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("C3TKmain")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind (tmp1) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp2) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("C3TKcase_exhaustiveness"), tmp3, tmp4) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("C3TKtermet_isnat")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("C3TKtermet_isdec")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp5) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp6) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp7) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("C3TKsome_fin"), tmp8, tmp9, tmp10) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp11) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp12) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp13) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("C3TKsome_lvar"), tmp14, tmp15, tmp16) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp17) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp18) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp19) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("C3TKsome_vbox"), tmp20, tmp21, tmp22) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("C3TKlstate")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp23) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("C3TKlstate_var"), tmp24) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp25) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("C3TKloop"), tmp26) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (((ats_sum_ptr_type)arg0)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("C3TKsolverify")) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstrkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 4175(line=174, offs=3) -- 5126(line=212, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itm: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var (tmp28) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMsvar"), tmp29) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_h3ypo (tmp30) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMhypo"), tmp31) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var (tmp32) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMsVar"), tmp33) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr (tmp34) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMcnstr"), tmp35) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp36), atslab_c3nstroptref_loc) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp36), atslab_c3nstroptref_ref) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp37) ; tmp41 = ats_ptrget_mac(ats_ptr_type, tmp38) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstropt (tmp41) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S3ITMcnstr_ref"), tmp39, tmp40) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlstlst (tmp42) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMdisj"), tmp43) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg0)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp44) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S3ITMsolassert"), tmp45) ; break ; } while (0) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itm] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_loop_6: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp54 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp52, arg3) ; tmp55 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp55, atslab_0, tmp54) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp55 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp56 = &ats_caselptrlab_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp53 ; arg1 = arg1 ; arg2 = tmp56 ; arg3 = arg3 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp57 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp57 ; break ; } while (0) ; return /* (tmp51) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp58 ; */ /* tmp59 = */ loop_6 (arg0, arg1, (&tmp58), arg2) ; tmp50 = tmp58 ; return (tmp50) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp49 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp49) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 11075(line=553, offs=17) -- 11240(line=565, offs=4) */ ATSstaticdec() ats_ptr_type jsonize_list_fun_02208_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_jsonize_list_fun_02208_ats_ptr_type: tmp48 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, arg1) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp47)->tag = 8 ; ats_selptrset_mac(anairiats_sum_4, tmp47, atslab_0, ats_castfn_mac(ats_ptr_type, tmp48)) ; return (tmp47) ; } /* end of [jsonize_list_fun_02208_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 5206(line=218, offs=3) -- 5259(line=218, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst: tmp46 = jsonize_list_fun_02208_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itm) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 5292(line=221, offs=3) -- 5353(line=221, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlstlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlstlst: tmp60 = jsonize_list_fun_02208_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 5424(line=229, offs=5) -- 6280(line=267, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_auxmain_9: tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_h3ypo_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp63)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp64) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("H3YPOprop"), tmp65) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp63)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_2, tmp63, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_2, tmp63, atslab_1) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var (tmp66) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp67) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("H3YPObind"), tmp68, tmp69) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (((ats_sum_ptr_type)tmp63)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_2, tmp63, atslab_0) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_2, tmp63, atslab_1) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp70) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp71) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("H3YPOeqeq"), tmp72, tmp73) ; break ; } while (0) ; return (tmp62) ; } /* end of [auxmain_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 5404(line=227, offs=3) -- 6453(line=275, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_h3ypo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_h3ypo: tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_h3ypo_loc) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp74) ; tmp76 = auxmain_9 (arg0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("h3ypo_loc"), tmp75, ATSstrcst("h3ypo_node"), tmp76) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_h3ypo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 6549(line=283, offs=5) -- 6979(line=302, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab_auxmain_11: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_c3nstr_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp79)->tag != 0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_4, tmp79, atslab_0) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp80) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("C3NSTRprop"), tmp81) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp79)->tag != 1) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_4, tmp79, atslab_0) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_s3itmlst (tmp82) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("C3NSTRitmlst"), tmp83) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (((ats_sum_ptr_type)tmp79)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_4, tmp79, atslab_0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (tmp84) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("C3NSTRsolverify"), tmp85) ; break ; } while (0) ; return (tmp78) ; } /* end of [auxmain_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 6529(line=281, offs=3) -- 7261(line=318, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr: tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_c3nstr_loc) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp86) ; tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_c3nstr_kind) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstrkind (tmp89) ; tmp90 = auxmain_11 (arg0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("c3nstr_loc"), tmp87, ATSstrcst("c3nstr_kind"), tmp88, ATSstrcst("c3nstr_node"), tmp90) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 11331(line=571, offs=19) -- 11485(line=583, offs=4) */ ATSstaticdec() ats_ptr_type jsonize_option_fun_02209_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_jsonize_option_fun_02209_ats_ptr_type: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp94 = ((ats_ptr_type(*)(ats_ptr_type))arg1) (tmp93) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp94) ; break ; } while (0) ; return (tmp92) ; } /* end of [jsonize_option_fun_02209_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 7341(line=324, offs=3) -- 7396(line=324, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstropt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstropt: tmp91 = jsonize_option_fun_02209_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__jsonize_c3nstropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 7492(line=334, offs=1) -- 7792(line=347, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2rt_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_aux_s2rt_14: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp95 = aux_s2rtbas_16 (tmp96, arg1) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp99 = aux_s2rtlst_15 (tmp97, arg1) ; arg0 = tmp98 ; arg1 = tmp99 ; goto __ats_lab_aux_s2rt_14 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp95 = aux_s2rtlst_15 (tmp100, arg1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp95 = arg1 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp95 = arg1 ; break ; } while (0) ; return (tmp95) ; } /* end of [aux_s2rt_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 7800(line=350, offs=1) -- 8008(line=360, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2rtlst_15 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab_aux_s2rtlst_15: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp101 = arg1 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp104 = aux_s2rt_14 (tmp102, arg1) ; arg0 = tmp103 ; arg1 = tmp104 ; goto __ats_lab_aux_s2rtlst_15 ; // tail call break ; } while (0) ; return (tmp101) ; } /* end of [aux_s2rtlst_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8016(line=363, offs=1) -- 8179(line=372, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2rtbas_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab_aux_s2rtbas_16: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp105 = arg1 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp105 = arg1 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_add (arg1, tmp106) ; break ; } while (0) ; return (tmp105) ; } /* end of [aux_s2rtbas_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8187(line=375, offs=1) -- 8275(line=381, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2cst_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab_aux_s2cst_17: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp107 = aux_s2rt_14 (tmp108, arg1) ; return (tmp107) ; } /* end of [aux_s2cst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8280(line=383, offs=1) -- 8467(line=393, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2cstlst_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_aux_s2cstlst_18: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp109 = arg1 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp112 = aux_s2cst_17 (tmp110, arg1) ; arg0 = tmp111 ; arg1 = tmp112 ; goto __ats_lab_aux_s2cstlst_18 ; // tail call break ; } while (0) ; return (tmp109) ; } /* end of [aux_s2cstlst_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8475(line=396, offs=1) -- 8563(line=402, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2var_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_aux_s2var_19: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp113 = aux_s2rt_14 (tmp114, arg1) ; return (tmp113) ; } /* end of [aux_s2var_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8568(line=404, offs=1) -- 8755(line=414, offs=2) */ ATSstaticdec() ats_ptr_type aux_s2varlst_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab_aux_s2varlst_20: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp115 = arg1 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp118 = aux_s2var_19 (tmp116, arg1) ; arg0 = tmp117 ; arg1 = tmp118 ; goto __ats_lab_aux_s2varlst_20 ; // tail call break ; } while (0) ; return (tmp115) ; } /* end of [aux_s2varlst_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 8785(line=419, offs=1) -- 9002(line=428, offs=4) */ ATSstaticdec() ats_ptr_type c3nstr_get_s2rtdatlst_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_c3nstr_get_s2rtdatlst_21: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_nil () ; tmp121 = aux_s2cstlst_18 (arg0, tmp120) ; tmp122 = aux_s2varlst_20 (arg1, tmp121) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_listize (tmp122) ; return (tmp119) ; } /* end of [c3nstr_get_s2rtdatlst_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_24 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_loop_24: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp136 ; goto __ats_lab_loop_24 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: break ; } while (0) ; return /* (tmp135) */ ; } /* end of [loop_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp134) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp134 = */ loop_24 (arg0) ; return /* (tmp134) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_jsonize.dats: 9108(line=436, offs=3) -- 10393(line=495, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_export (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp123) ; ATSlocal (anairiats_rec_1, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_export: tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_mapgen_scst_svar (arg1) ; tmp125 = ats_select_mac(tmp124, atslab_0) ; tmp126 = ats_select_mac(tmp124, atslab_1) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free (tmp125) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free (tmp126) ; tmp129 = jsonize_list_fun_02208_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp127), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long) ; tmp130 = jsonize_list_fun_02208_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp128), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long) ; tmp131 = c3nstr_get_s2rtdatlst_21 (ats_castfn_mac(ats_ptr_type, tmp127), ats_castfn_mac(ats_ptr_type, tmp128)) ; tmp132 = jsonize_list_fun_02208_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp131), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtdat_long) ; /* tmp133 = */ list_vt_free_01499_ats_ptr_type (tmp127) ; /* tmp137 = */ list_vt_free_01499_ats_ptr_type (tmp128) ; /* tmp138 = */ list_vt_free_01499_ats_ptr_type (tmp131) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__jsonize_c3nstr (arg1) ; /* tmp140 = */ atspre_fprint_string (arg0, ATSstrcst("{\n\"s2cstmap\":\n")) ; /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp129) ; /* tmp142 = */ atspre_fprint_newline (arg0) ; /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"s2varmap\":\n")) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp130) ; /* tmp145 = */ atspre_fprint_newline (arg0) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"s2rtdatmap\":\n")) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp132) ; /* tmp148 = */ atspre_fprint_newline (arg0) ; /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"c3nstrbody\":\n")) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp139) ; /* tmp151 = */ atspre_fprint_string (arg0, ATSstrcst("\n}")) ; /* tmp123 = */ atspre_fprint_newline (arg0) ; return /* (tmp123) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_export] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_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 () ; #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_constraint3_jsonize_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_dynexp_up_dats.c0000664000175000017500000100455512655455557022120 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_bool_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_18 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_26 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_27 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_28 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_29 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_uni_instantiate_sexparglst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_typeless_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_tmpid_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_trup_llamlocal_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_con_npf_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_laminit_funclo_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23explst_trdn_arity_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_npf_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_fun_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_eff_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_sym_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_exn_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_delay_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extfcall_arg_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extmcall_arg_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed2exp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed3exp_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind) (ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec) (ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc) (ats_ptr_type, ats_bool_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_t0ype_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_vt0ype_vtype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_uni) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_v) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_vt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_varlamcst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lst) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_vcopyenv) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tempenver) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_fix) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_delay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ann_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_solverify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_decode) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_xstage) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trup_arg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_up) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_literal) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_mutabl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_seloverld) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_foldat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_freeat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_ptrof) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loopexn) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, patsopt_s2exp_tmp_instantiate_rest) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, patsopt_s2exp_tmp_instantiate_tmpmarglst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_assert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_verify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push_dvarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_d2var_is_llamlocal) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extfcall) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extmcall) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_con) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tmpid) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_rec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_seq) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_effmask) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_vcopyenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tempenver) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_dyn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_laminit_dyn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_sta) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_met) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_fix) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_delay) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_ldelay) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_for) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_while) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_trywith) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_mac) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_macsyn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solassert) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solverify) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d3explst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__labd3explst_get_type) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_bool_type d2exp_is_sym_1 (ats_ptr_type arg0) ; static ats_int_type loop_4 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d2explst_trup_arg_10 (ats_ptr_type arg0) ; static ats_void_type f_12 (ats_ptr_type arg0) ; static ats_void_type d23explst_open_and_add_11 (ats_ptr_type arg0) ; static ats_ptr_type aux_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_ptr_type d23explst_trdn_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxcheck_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxcheck_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_38 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d23exp_trup_applst_sta_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d23exp_trup_app23_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type d23exp_trup_applst_dyn_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type aux_44 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type f_47 (ats_ptr_type arg0) ; static ats_ptr_type aux_49 (ats_ptr_type arg0) ; static ats_ptr_type aux_51 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_58 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ; static ats_ptr_type s2exp_clo2fun_65 (ats_ptr_type arg0) ; static ats_void_type prerr_errmac_loc_02083_ (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 1676(line=54, offs=18) -- 1710(line=54, offs=52) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_dynexp_up")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 4600(line=222, offs=1) -- 4706(line=228, offs=4) */ ATSstaticdec() ats_bool_type d2exp_is_sym_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_d2exp_is_sym_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 21) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [d2exp_is_sym_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_4 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; __ats_lab_loop_4: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp79 = atspre_isucc (arg1) ; arg0 = tmp78 ; arg1 = tmp79 ; goto __ats_lab_loop_4 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp77 = arg1 ; break ; } while (0) ; return (tmp77) ; } /* end of [loop_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp76) ; __ats_lab_list_length_01410_ats_ptr_type: tmp76 = loop_4 (arg0, 0) ; return (tmp76) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; __ats_lab_prerr_interror_loc_02080_: /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp121 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp122 = */ prerr_FILENAME_02078_ () ; /* tmp119 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp119) */ ; } /* end of [prerr_interror_loc_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 4777(line=234, offs=3) -- 14150(line=603, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_char_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_char_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup: tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp5)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var (tmp4, tmp6) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp5)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst (tmp4, tmp7) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp5)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_7, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_int (arg0, tmp8) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp5)->tag != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_intrep (arg0, tmp9) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp5)->tag != 4) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_8, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_bool (arg0, tmp10) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp5)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_9, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char (arg0, tmp11) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp5)->tag != 6) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float (arg0, tmp12) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp5)->tag != 7) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string (arg0, tmp13) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp5)->tag != 8) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_i0nt (arg0, tmp14) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp5)->tag != 9) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp15), atslab_token_node) ; if (((ats_sum_ptr_type)tmp16)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 5476(line=268, offs=5) -- 5506(line=269, offs=19)") ; } tmp17 = ats_caselptrlab_mac(anairiats_sum_9, tmp16, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char (arg0, tmp17) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp5)->tag != 10) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat (arg0, tmp18) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp5)->tag != 11) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp19), atslab_token_node) ; if (((ats_sum_ptr_type)tmp20)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 5653(line=274, offs=5) -- 5687(line=275, offs=19)") ; } tmp21 = ats_caselptrlab_mac(anairiats_sum_6, tmp20, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string (arg0, tmp21) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp5)->tag != 15) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cstsp (arg0, tmp22) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp5)->tag != 16) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_literal (arg0, tmp23) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp5)->tag != 13) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top (tmp4, tmp24) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp5)->tag != 14) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty (tmp4, tmp25) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp5)->tag != 17) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extval (arg0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp5)->tag != 18) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extfcall (arg0) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp5)->tag != 19) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extmcall (arg0) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp5)->tag != 20) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_con (arg0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp5)->tag != 21) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_sym (arg0) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp5)->tag != 22) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_foldat (arg0) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp5)->tag != 23) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_freeat (arg0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp5)->tag != 24) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tmpid (arg0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp5)->tag != 25) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere (arg0, tmp26, tmp27) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp5)->tag != 26) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere (arg0, tmp29, tmp28) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp5)->tag != 27) { goto __ats_lab_35_0 ; } __ats_lab_28_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_d2exp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp32)->tag != 21) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_6, tmp32, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (arg0, tmp33, tmp31) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp32)->tag != 24) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_11, tmp32, atslab_0) ; tmp35 = ats_caselptrlab_mac(anairiats_sum_11, tmp32, atslab_1) ; tmp36 = d2exp_is_sym_1 (tmp34) ; if (!tmp36) { goto __ats_lab_32_1 ; } tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp34), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp37)->tag != 21) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 7012(line=330, offs=13) -- 7041(line=330, offs=42)") ; } tmp38 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym (arg0, tmp38, tmp35, tmp31) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp32)->tag != 67) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_6, tmp32, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short (tmp4, tmp39, tmp31) ; arg0 = tmp40 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld (tmp30) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp41 != (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst (arg0, tmp30, tmp31) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp41 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_12, tmp41, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_seloverld (arg0, tmp30, tmp42, tmp31) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp5)->tag != 28) { goto __ats_lab_38_0 ; } __ats_lab_35_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_13, tmp5, atslab_3) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp43 != (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp43 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp44) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead (arg0, tmp45) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp5)->tag != 29) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp46) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead (arg0, tmp47) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp5)->tag != 30) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp48) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead (arg0, tmp49) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp5)->tag != 31) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp50) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead (arg0, tmp51) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp5)->tag != 32) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; arg0 = tmp52 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp5)->tag != 33) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_14, tmp5, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_14, tmp5, atslab_1) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt (tmp4, tmp53, tmp54) ; arg0 = tmp55 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp5)->tag != 34) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lst (arg0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp5)->tag != 35) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tup (arg0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp5)->tag != 36) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_rec (arg0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp5)->tag != 37) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_seq (arg0) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp5)->tag != 38) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_selab (tmp4, tmp56, tmp57) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp5)->tag != 39) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_ptrof (arg0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp5)->tag != 40) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat (arg0) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp5)->tag != 41) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp59 = (ats_sum_ptr_type)0 ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref (tmp4, tmp58, tmp59) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp5)->tag != 42) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_assgn (arg0) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp5)->tag != 43) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_xchng (arg0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp5)->tag != 44) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_13, tmp5, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_13, tmp5, atslab_1) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_13, tmp5, atslab_2) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_13, tmp5, atslab_3) ; tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp61), atslab_d2exp_loc) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp64, tmp62) ; tmp66 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp66, atslab_0, tmp61) ; ats_selptrset_mac(anairiats_sum_15, tmp66, atslab_1, tmp63) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp67)->tag = 1 ; ats_selptrset_mac(anairiats_sum_16, tmp67, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_16, tmp67, atslab_1, tmp65) ; ats_selptrset_mac(anairiats_sum_16, tmp67, atslab_2, tmp66) ; tmp69 = (ats_sum_ptr_type)0 ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp68, atslab_0, tmp67) ; ats_selptrset_mac(anairiats_sum_15, tmp68, atslab_1, tmp69) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (arg0, tmp60, tmp68) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp5)->tag != 45) { goto __ats_lab_59_0 ; } __ats_lab_54_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (tmp70 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_12, tmp70, atslab_0) ; tmp72 = tmp73 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp70 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt (tmp71, tmp72) ; tmp75 = list_length_01410_ats_ptr_type (tmp71) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype (tmp72, tmp75) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrpsz (tmp4, tmp80, tmp72, tmp74, tmp75) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp5)->tag != 46) { goto __ats_lab_66_0 ; } __ats_lab_59_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_17, tmp5, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_17, tmp5, atslab_1) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_17, tmp5, atslab_2) ; /* ats_ptr_type tmp84 ; */ tmp85 = list_length_01410_ats_ptr_type (tmp83) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (tmp82 != (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp85) ; tmp84 = tmp87 ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_index_t0ype (tmp84) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int (tmp4, tmp88, tmp85) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (tmp82 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_12, tmp82, atslab_0) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp89) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp90) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp91) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype (tmp92) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (tmp93 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_12, tmp93, atslab_0) ; ATS_FREE(tmp93) ; tmp84 = tmp95 ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (tmp93 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; tmp84 = tmp96 ; break ; } while (0) ; tmp86 = tmp90 ; break ; } while (0) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp83 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp97 = tmp81 ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (tmp83 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top (0, tmp81) ; break ; } while (0) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt (tmp83, tmp97) ; tmp101 = (ats_sum_ptr_type)0 ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp100, atslab_0, tmp84) ; ats_selptrset_mac(anairiats_sum_15, tmp100, atslab_1, tmp101) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr (tmp97, tmp100) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrinit (tmp4, tmp99, tmp97, tmp86, tmp98) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp5)->tag != 47) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn (tmp4) ; tmp105 = atspre_gt_int_int (tmp103, 0) ; if (tmp105) { tmp106 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp106)->tag = 31 ; ats_selptrset_mac(anairiats_sum_6, tmp106, atslab_0, tmp4) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp106) ; } else { /* empty */ } /* end of [if] */ tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype () ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp102, tmp107) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bottom_vt0ype_uni () ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_raise (tmp4, tmp109, tmp108) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp5)->tag != 48) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_effmask (arg0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp5)->tag != 49) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_6, tmp5, atslab_0) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp110) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_up (tmp111) ; tmp3 = tmp111 ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp5)->tag != 50) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_vcopyenv (arg0) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp5)->tag != 51) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tempenver (arg0) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp5)->tag != 53) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_dyn (arg0) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp5)->tag != 54) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_laminit_dyn (arg0) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp5)->tag != 55) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_sta (arg0) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp5)->tag != 56) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_met (arg0) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp5)->tag != 57) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_fix (arg0) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp5)->tag != 58) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_delay (arg0) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp5)->tag != 59) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_ldelay (arg0) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp5)->tag != 60) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_for (arg0) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp5)->tag != 61) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_while (arg0) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp5)->tag != 62) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_7, tmp5, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loopexn (tmp4, tmp113) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp5)->tag != 63) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_trywith (arg0) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp5)->tag != 64) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_1) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp114, tmp115) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ann_type (tmp4, tmp116, tmp115) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp5)->tag != 65) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_11, tmp5, atslab_0) ; arg0 = tmp117 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup ; // tail call break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp5)->tag != 67) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_mac (arg0) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp5)->tag != 68) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_macsyn (arg0) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp5)->tag != 70) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solassert (arg0) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp5)->tag != 71) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solverify (arg0) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp5)->tag != 72) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp4) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: /* tmp118 = */ prerr_interror_loc_02080_ (tmp4) ; /* tmp123 = */ atspre_prerr_string (ATSstrcst(": d2exp_trup: d2e0 = ")) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg0) ; /* tmp125 = */ atspre_prerr_newline () ; tmp126 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 13891(line=588, offs=5) -- 13901(line=588, offs=15)", ATSstrcst("\n")) ; /* tmp3 = */ ats_exit_errmsg (1, tmp126) ; break ; } while (0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_loop_9: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp134 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp132, arg3) ; tmp135 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp135, atslab_0, tmp134) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp135 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp136 = &ats_caselptrlab_mac(anairiats_sum_15, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp133 ; arg1 = arg1 ; arg2 = tmp136 ; arg3 = arg3 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp137 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp137 ; break ; } while (0) ; return /* (tmp131) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp138 ; */ /* tmp139 = */ loop_9 (arg0, arg1, (&tmp138), arg2) ; tmp130 = tmp138 ; return (tmp130) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp129 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp129) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 14222(line=609, offs=3) -- 14267(line=609, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup: tmp128 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) ; tmp127 = ats_castfn_mac(ats_ptr_type, tmp128) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 14321(line=615, offs=1) -- 15041(line=649, offs=4) */ ATSstaticdec() ats_ptr_type d2explst_trup_arg_10 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; __ats_lab_d2explst_trup_arg_10: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_varlamcst (tmp141) ; if (tmp143) { tmp144 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp144)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp144, atslab_0, tmp141) ; } else { tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp141) ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp144)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp144, atslab_0, tmp145) ; } /* end of [if] */ tmp146 = d2explst_trup_arg_10 (tmp142) ; tmp140 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp140, atslab_0, tmp144) ; ats_selptrset_mac(anairiats_sum_15, tmp140, atslab_1, tmp146) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp140 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp140) ; } /* end of [d2explst_trup_arg_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 15190(line=660, offs=4) -- 15420(line=667, offs=8) */ ATSstaticdec() ats_void_type f_12 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab_f_12: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp149) ; break ; } while (0) ; return /* (tmp148) */ ; } /* end of [f_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 15098(line=654, offs=1) -- 15793(line=683, offs=4) */ ATSstaticdec() ats_void_type d23explst_open_and_add_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab_d23explst_open_and_add_11: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp150 = &ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp151 = &ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp153 = ats_ptrget_mac(ats_ptr_type, tmp150) ; /* tmp152 = */ f_12 (tmp153) ; tmp154 = ats_ptrget_mac(ats_ptr_type, tmp151) ; arg0 = tmp154 ; goto __ats_lab_d23explst_open_and_add_11 ; // tail call break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: break ; } while (0) ; return /* (tmp147) */ ; } /* end of [d23explst_open_and_add_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 16405(line=715, offs=5) -- 17329(line=751, offs=4) */ ATSstaticdec() ats_ptr_type aux_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_int_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_aux_14: do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_98_1: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp157 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp157 ; tmp156 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp156 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; ATS_FREE(arg0) ; do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp160 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp160 ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free (tmp158) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free (tmp159) ; tmp156 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp158)->tag != 0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_6, tmp158, atslab_0) ; ATS_FREE(tmp158) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp166, tmp163) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (((ats_sum_ptr_type)tmp158)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_6, tmp158, atslab_0) ; ATS_FREE(tmp158) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp167, tmp163) ; break ; } while (0) ; tmp168 = aux_14 (tmp159, tmp164, arg2) ; tmp156 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp156, atslab_0, tmp165) ; ats_selptrset_mac(anairiats_sum_15, tmp156, atslab_1, tmp168) ; break ; } while (0) ; break ; } while (0) ; return (tmp156) ; } /* end of [aux_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; __ats_lab_prerr_error3_loc_02084_: /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp174 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp174) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 16311(line=709, offs=4) -- 17860(line=775, offs=4) */ ATSstaticdec() ats_ptr_type d23explst_trdn_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_int_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_bool_type, tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_bool_type, tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_bool_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab_d23explst_trdn_13: /* ats_int_type tmp169 ; */ tmp169 = 0 ; tmp170 = aux_14 (arg1, arg2, (&tmp169)) ; tmp172 = atspre_neq_int_int (tmp169, 0) ; if (tmp172) { /* tmp173 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp176 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d23explst_trdn")) ; /* tmp177 = */ atspre_prerr_string (ATSstrcst(": arity mismatch")) ; tmp179 = atspre_lt_int_int (tmp169, 0) ; if (tmp179) { /* tmp178 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp181 = atspre_gt_int_int (tmp169, 0) ; if (tmp181) { /* tmp180 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp182 = */ atspre_prerr_newline () ; tmp183 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp183)->tag = 23 ; ats_selptrset_mac(anairiats_sum_18, tmp183, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_18, tmp183, atslab_1, tmp169) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp183) ; } else { /* empty */ } /* end of [if] */ tmp155 = tmp170 ; return (tmp155) ; } /* end of [d23explst_trdn_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 17967(line=783, offs=5) -- 18441(line=804, offs=4) */ ATSstaticdec() ats_void_type auxerr_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp185) ; ATSlocal (ats_bool_type, tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_bool_type, tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab_auxerr_17: tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (arg1) ; /* tmp187 = */ prerr_error3_loc_02084_ (arg0) ; if (tmp186) { /* tmp189 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp191 = */ atspre_prerr_string (ATSstrcst("] is no longer available.")) ; /* tmp188 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp193 = atspre_neg_bool (tmp186) ; if (tmp193) { /* tmp194 = */ atspre_prerr_string (ATSstrcst(": the (non-linear) dynamic variable [")) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp196 = */ atspre_prerr_string (ATSstrcst("] is not available for external use.")) ; /* tmp192 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp197 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp197)->tag = 7 ; ats_selptrset_mac(anairiats_sum_11, tmp197, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp197, atslab_1, arg1) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp197) ; return /* (tmp185) */ ; } /* end of [auxerr_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 17942(line=781, offs=3) -- 18643(line=816, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (tmp198 == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_12, tmp198, atslab_0) ; tmp184 = tmp199 ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (tmp198 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: /* tmp200 = */ auxerr_17 (arg0, arg1) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 18732(line=822, offs=3) -- 18904(line=828, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_mutabl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_mutabl: tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (arg1) ; if (tmp202 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 18756(line=823, offs=7) -- 18789(line=823, offs=40)") ; } tmp203 = ats_caselptrlab_mac(anairiats_sum_12, tmp202, atslab_0) ; /* ats_ptr_type tmp204 ; */ tmp206 = (ats_sum_ptr_type)0 ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref (arg0, tmp203, tmp206, (&tmp204)) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var (arg0, tmp205, arg1) ; return (tmp201) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_mutabl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 18995(line=834, offs=3) -- 20231(line=890, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; // ATSlocal_void (tmp211) ; ATSlocal (ats_bool_type, tmp212) ; ATSlocal (ats_bool_type, tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (anairiats_rec_1, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut: tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (arg1) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg (arg1) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (arg0, arg1) ; tmp212 = atspre_gte_int_int (tmp208, 0) ; if (tmp212) { tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_d2var_is_llamlocal (arg1) ; if (tmp213) { /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (arg1) ; tmp215 = (ats_sum_ptr_type)0 ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp215) ; } else { /* tmp216 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp217 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp219 = */ atspre_prerr_string (ATSstrcst("] is expected to be local but it is not.")) ; /* tmp220 = */ atspre_prerr_newline () ; tmp221 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp221)->tag = 19 ; ats_selptrset_mac(anairiats_sum_6, tmp221, atslab_0, arg1) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp221) ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (tmp209 != (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var (arg0, tmp210, arg1) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (tmp209 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: /* ats_int_type tmp222 ; */ tmp222 = 0 ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (arg0) ; tmp224 = patsopt_s2exp_tmp_instantiate_rest (tmp210, tmp223, tmp209, (&tmp222)) ; tmp225 = ats_select_mac(tmp224, atslab_0) ; tmp226 = ats_select_mac(tmp224, atslab_1) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar (arg0, tmp225, arg1, tmp226) ; break ; } while (0) ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 20294(line=894, offs=3) -- 20450(line=901, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var: tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg1) ; if (tmp228) { tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_mutabl (arg0, arg1) ; } else { tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut (arg0, arg1) ; } /* end of [if] */ return (tmp227) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 20527(line=907, offs=3) -- 20945(line=924, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (anairiats_rec_1, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst: tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg1) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (tmp231 != (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cst (arg0, tmp230, arg1) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (tmp231 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: /* ats_int_type tmp232 ; */ tmp232 = 0 ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (arg0) ; tmp234 = patsopt_s2exp_tmp_instantiate_rest (tmp230, tmp233, tmp231, (&tmp232)) ; tmp235 = ats_select_mac(tmp234, atslab_0) ; tmp236 = ats_select_mac(tmp234, atslab_1) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst (arg0, tmp235, arg1, tmp236) ; break ; } while (0) ; return (tmp229) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21022(line=930, offs=3) -- 21366(line=947, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_sym: tmp238 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp239)->tag != 21) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21068(line=933, offs=5) -- 21097(line=933, offs=34)") ; } tmp240 = ats_caselptrlab_mac(anairiats_sum_6, tmp239, atslab_0) ; /* tmp241 = */ prerr_error3_loc_02084_ (tmp238) ; /* tmp242 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_sym")) ; /* tmp243 = */ atspre_prerr_string (ATSstrcst(": the symbol [")) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym (tmp240) ; /* tmp245 = */ atspre_prerr_string (ATSstrcst("] cannot be resolved.")) ; /* tmp246 = */ atspre_prerr_newline () ; tmp248 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp248)->tag = 28 ; ats_selptrset_mac(anairiats_sum_6, tmp248, atslab_0, arg0) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp248) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp238) ; return (tmp237) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21446(line=953, offs=3) -- 21573(line=960, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extval (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extval: tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp251 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp251)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21492(line=956, offs=5) -- 21530(line=956, offs=43)") ; } tmp252 = ats_caselptrlab_mac(anairiats_sum_11, tmp251, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_11, tmp251, atslab_1) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extval (tmp250, tmp252, tmp253) ; return (tmp249) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21637(line=966, offs=5) -- 21960(line=977, offs=4) */ ATSstaticdec() ats_void_type auxerr_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; __ats_lab_auxerr_24: tmp255 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_loc) ; /* tmp256 = */ prerr_error3_loc_02084_ (tmp255) ; /* tmp257 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_extfcall")) ; /* tmp258 = */ atspre_prerr_string (ATSstrcst(": no linear argument is allowed for the extfcall.")) ; /* tmp259 = */ atspre_prerr_newline () ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp260)->tag = 40 ; ats_selptrset_mac(anairiats_sum_11, tmp260, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp260, atslab_1, arg1) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp260) ; return /* (tmp254) */ ; } /* end of [auxerr_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 21985(line=979, offs=5) -- 22305(line=996, offs=4) */ ATSstaticdec() ats_void_type auxcheck_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_bool_type, tmp265) ; // ATSlocal_void (tmp266) ; __ats_lab_auxcheck_25: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp262 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp263 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp262) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp264) ; if (tmp265) { /* tmp266 = */ auxerr_24 (arg0, tmp262) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp263 ; goto __ats_lab_auxcheck_25 ; // tail call break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_113_1: break ; } while (0) ; return /* (tmp261) */ ; } /* end of [auxcheck_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 22384(line=1002, offs=3) -- 22613(line=1009, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extfcall (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extfcall: tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp269)->tag != 18) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 22431(line=1004, offs=7) -- 22478(line=1004, offs=54)") ; } tmp270 = ats_caselptrlab_mac(anairiats_sum_17, tmp269, atslab_0) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_17, tmp269, atslab_1) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_17, tmp269, atslab_2) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp272) ; /* tmp274 = */ auxcheck_25 (tmp268, tmp273) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extfcall (tmp268, tmp270, tmp271, tmp273) ; return (tmp267) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 22702(line=1017, offs=5) -- 23025(line=1028, offs=4) */ ATSstaticdec() ats_void_type auxerr_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab_auxerr_27: tmp276 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_loc) ; /* tmp277 = */ prerr_error3_loc_02084_ (tmp276) ; /* tmp278 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_extmcall")) ; /* tmp279 = */ atspre_prerr_string (ATSstrcst(": no linear argument is allowed for the extmcall.")) ; /* tmp280 = */ atspre_prerr_newline () ; tmp281 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp281)->tag = 41 ; ats_selptrset_mac(anairiats_sum_11, tmp281, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp281, atslab_1, arg1) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp281) ; return /* (tmp275) */ ; } /* end of [auxerr_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 23050(line=1030, offs=5) -- 23370(line=1047, offs=4) */ ATSstaticdec() ats_void_type auxcheck_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_bool_type, tmp286) ; // ATSlocal_void (tmp287) ; __ats_lab_auxcheck_28: do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp283) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp285) ; if (tmp286) { /* tmp287 = */ auxerr_27 (arg0, tmp283) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp284 ; goto __ats_lab_auxcheck_28 ; // tail call break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: break ; } while (0) ; return /* (tmp282) */ ; } /* end of [auxcheck_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 23449(line=1053, offs=3) -- 23727(line=1061, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extmcall (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; // ATSlocal_void (tmp297) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extmcall: tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp290)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 23496(line=1055, offs=7) -- 23549(line=1055, offs=60)") ; } tmp291 = ats_caselptrlab_mac(anairiats_sum_13, tmp290, atslab_0) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_13, tmp290, atslab_1) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_13, tmp290, atslab_2) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_13, tmp290, atslab_3) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp292) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp294) ; /* tmp297 = */ auxcheck_28 (tmp289, tmp296) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extmcall (tmp289, tmp291, tmp295, tmp293, tmp296) ; return (tmp288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 23830(line=1068, offs=16) -- 25760(line=1129, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_con (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (anairiats_rec_1, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; ATSlocal (ats_bool_type, tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_int_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (anairiats_rec_1, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_int_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; // ATSlocal_void (tmp333) ; ATSlocal (ats_bool_type, tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; // ATSlocal_void (tmp344) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_con: tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp300)->tag != 20) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 23877(line=1070, offs=7) -- 23952(line=1072, offs=22)") ; } tmp301 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_0) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_1) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_2) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_3) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_4) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_20, tmp300, atslab_5) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type (tmp301) ; /* ats_int_type tmp308 ; */ tmp308 = 0 ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst (tmp307, tmp303, (&tmp308)) ; tmp310 = ats_select_mac(tmp309, atslab_0) ; tmp311 = ats_select_mac(tmp309, atslab_1) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp302, tmp311) ; tmp314 = atspre_gt_int_int (tmp308, 0) ; if (tmp314) { /* tmp315 = */ prerr_error3_loc_02084_ (tmp302) ; /* tmp316 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_con")) ; /* tmp317 = */ atspre_prerr_string (ATSstrcst(": static application cannot be properly typechecked.")) ; /* tmp318 = */ atspre_prerr_newline () ; tmp319 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp319)->tag = 6 ; ats_selptrset_mac(anairiats_sum_17, tmp319, atslab_0, tmp302) ; ats_selptrset_mac(anairiats_sum_17, tmp319, atslab_1, tmp307) ; ats_selptrset_mac(anairiats_sum_17, tmp319, atslab_2, tmp303) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp319) ; } else { /* empty */ } /* end of [if] */ tmp320 = d2explst_trup_arg_10 (tmp306) ; /* tmp321 = */ d23explst_open_and_add_11 (tmp320) ; /* ats_int_type tmp322 ; */ tmp322 = 0 ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp302) ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (tmp310, tmp323, (&tmp322)) ; tmp325 = ats_select_mac(tmp324, atslab_0) ; tmp326 = ats_select_mac(tmp324, atslab_1) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp323, tmp326) ; tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp325), atslab_s2exp_node) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp328)->tag != 19) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp329 = ats_caselptrlab_mac(anairiats_sum_22, tmp328, atslab_3) ; tmp330 = ats_caselptrlab_mac(anairiats_sum_22, tmp328, atslab_4) ; tmp331 = ats_caselptrlab_mac(anairiats_sum_22, tmp328, atslab_5) ; tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (tmp299, tmp329, tmp304) ; tmp334 = atspre_gt_int_int (tmp332, 0) ; if (tmp334) { /* tmp335 = */ prerr_error3_loc_02084_ (tmp299) ; /* tmp336 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_con")) ; /* tmp337 = */ atspre_prerr_string (ATSstrcst(": proof arity mismatch: the constructor [")) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (tmp301) ; /* tmp339 = */ atspre_prerrf_exn (ATSstrcst("] requires [%i] arguments."), tmp329) ; /* tmp340 = */ atspre_prerr_newline () ; /* tmp341 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp342 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp342)->tag = 20 ; ats_selptrset_mac(anairiats_sum_18, tmp342, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_18, tmp342, atslab_1, tmp304) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp342) ; } else { /* empty */ } /* end of [if] */ tmp343 = d23explst_trdn_13 (tmp305, tmp320, tmp330) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_con (tmp299, tmp331, tmp301, tmp304, tmp343) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free (tmp320) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp299) ; break ; } while (0) ; return (tmp298) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 25837(line=1135, offs=3) -- 26162(line=1149, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_int_type, tmp349) ; ATSlocal (anairiats_rec_1, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst: tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (arg0) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg1) ; /* ats_int_type tmp349 ; */ tmp349 = 0 ; tmp350 = patsopt_s2exp_tmp_instantiate_tmpmarglst (tmp348, tmp346, tmp347, arg2, (&tmp349)) ; tmp351 = ats_select_mac(tmp350, atslab_0) ; tmp352 = ats_select_mac(tmp350, atslab_1) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst (arg0, tmp351, arg1, tmp352) ; return (tmp345) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 26224(line=1153, offs=3) -- 26554(line=1165, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (anairiats_rec_1, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar: tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (arg0) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg (arg1) ; tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (arg0, arg1) ; /* ats_int_type tmp357 ; */ tmp357 = 0 ; tmp358 = patsopt_s2exp_tmp_instantiate_tmpmarglst (tmp356, tmp354, tmp355, arg2, (&tmp357)) ; tmp359 = ats_select_mac(tmp358, atslab_0) ; tmp360 = ats_select_mac(tmp358, atslab_1) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar (arg0, tmp359, arg1, tmp360) ; return (tmp353) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 26615(line=1169, offs=3) -- 27209(line=1199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tmpid (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; // ATSlocal_void (tmp369) ; // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tmpid: tmp362 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp363 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp363)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 26661(line=1172, offs=5) -- 26703(line=1172, offs=47)") ; } tmp364 = ats_caselptrlab_mac(anairiats_sum_11, tmp363, atslab_0) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_11, tmp363, atslab_1) ; tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp364), atslab_d2exp_node) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp366)->tag != 0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp367 = ats_caselptrlab_mac(anairiats_sum_6, tmp366, atslab_0) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst (tmp362, tmp367, tmp365) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp366)->tag != 1) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_6, tmp366, atslab_0) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar (tmp362, tmp368, tmp365) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: /* tmp369 = */ prerr_error3_loc_02084_ (tmp362) ; /* tmp370 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_tmpid")) ; /* tmp371 = */ atspre_prerr_string (ATSstrcst(": a non-template is treated as a template: ")) ; /* tmp372 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg0) ; /* tmp373 = */ atspre_prerr_newline () ; tmp375 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp375)->tag = 18 ; ats_selptrset_mac(anairiats_sum_6, tmp375, atslab_0, arg0) ; /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp375) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp362) ; break ; } while (0) ; return (tmp361) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tmpid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 27291(line=1205, offs=3) -- 27453(line=1210, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst: tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp377) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst (arg0, tmp377, arg2) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51232(line=1817, offs=5) -- 51354(line=1819, offs=58) */ ATSstaticdec() ats_ptr_type loop_38 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; __ats_lab_loop_38: do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; arg0 = tmp386 ; arg1 = tmp387 ; goto __ats_lab_loop_38 ; // tail call break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp385 = arg0 ; break ; } while (0) ; return (tmp385) ; } /* end of [loop_38] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51194(line=1813, offs=11) -- 51390(line=1823, offs=2) */ ATSstaticdec() ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; __ats_lab_list_last_01407_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp388 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp384 = loop_38 (tmp388, tmp389) ; return (tmp384) ; } /* end of [list_last_01407_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 27815(line=1229, offs=9) -- 28106(line=1240, offs=6) */ ATSstaticdec() ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp390) ; __ats_lab_aux_36: do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp382 = arg0 ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: tmp383 = list_last_01407_ats_ptr_type (arg1) ; tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp383), atslab_s2exparg_loc) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (arg0, tmp390) ; break ; } while (0) ; return (tmp382) ; } /* end of [aux_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 27510(line=1215, offs=1) -- 28901(line=1268, offs=4) */ ATSstaticdec() ats_ptr_type d23exp_trup_applst_sta_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_int_type, tmp392) ; ATSlocal (anairiats_rec_1, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; ATSlocal (ats_bool_type, tmp398) ; // ATSlocal_void (tmp399) ; // ATSlocal_void (tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab_d23exp_trup_applst_sta_35: tmp380 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_loc) ; tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_type) ; tmp391 = aux_36 (tmp380, arg2) ; /* ats_int_type tmp392 ; */ tmp392 = 0 ; tmp393 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst (tmp381, arg2, (&tmp392)) ; tmp394 = ats_select_mac(tmp393, atslab_0) ; tmp395 = ats_select_mac(tmp393, atslab_1) ; /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp391, tmp395) ; tmp398 = atspre_gt_int_int (tmp392, 0) ; if (tmp398) { /* tmp399 = */ prerr_error3_loc_02084_ (tmp391) ; /* tmp400 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_applst_sta")) ; /* tmp401 = */ atspre_prerr_string (ATSstrcst(": static application cannot be properly typechecked.")) ; /* tmp402 = */ atspre_prerr_newline () ; tmp403 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp403)->tag = 6 ; ats_selptrset_mac(anairiats_sum_17, tmp403, atslab_0, tmp391) ; ats_selptrset_mac(anairiats_sum_17, tmp403, atslab_1, tmp394) ; ats_selptrset_mac(anairiats_sum_17, tmp403, atslab_2, arg2) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp403) ; } else { /* empty */ } /* end of [if] */ tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta (tmp391, tmp394, arg1) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst (arg0, tmp404, arg3) ; return (tmp379) ; } /* end of [d23exp_trup_applst_sta_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 28962(line=1273, offs=1) -- 31937(line=1373, offs=4) */ ATSstaticdec() ats_ptr_type d23exp_trup_app23_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_int_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (anairiats_rec_1, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; // ATSlocal_void (tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_int_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_int_type, tmp421) ; // ATSlocal_void (tmp422) ; ATSlocal (ats_bool_type, tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; // ATSlocal_void (tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (anairiats_rec_2, tmp434) ; ATSlocal (ats_bool_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_int_type, tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_bool_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; // ATSlocal_void (tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; __ats_lab_d23exp_trup_app23_39: tmp406 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_loc) ; tmp407 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_type) ; /* ats_int_type tmp408 ; */ tmp408 = 0 ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp406) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all (tmp407, tmp409, (&tmp408)) ; tmp411 = ats_select_mac(tmp410, atslab_0) ; tmp412 = ats_select_mac(tmp410, atslab_1) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp409, tmp412) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista (tmp406, tmp411, arg1) ; tmp415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp411), atslab_s2exp_node) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp415)->tag != 19) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp416 = ats_caselptrlab_mac(anairiats_sum_22, tmp415, atslab_0) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_22, tmp415, atslab_2) ; tmp418 = ats_caselptrlab_mac(anairiats_sum_22, tmp415, atslab_3) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_22, tmp415, atslab_4) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_22, tmp415, atslab_5) ; tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (tmp406, tmp418, arg2) ; tmp423 = atspre_gt_int_int (tmp421, 0) ; if (tmp423) { /* tmp424 = */ prerr_error3_loc_02084_ (tmp406) ; /* tmp425 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d23exp_trup_app23")) ; /* tmp426 = */ atspre_prerr_string (ATSstrcst(": proof arity mismatch")) ; /* tmp427 = */ atspre_prerrf_exn (ATSstrcst(": the function requires %i proof arguments."), tmp418) ; /* tmp428 = */ atspre_prerr_newline () ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp430 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp430)->tag = 25 ; ats_selptrset_mac(anairiats_sum_18, tmp430, atslab_0, tmp406) ; ats_selptrset_mac(anairiats_sum_18, tmp430, atslab_1, arg2) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp430) ; } else { /* empty */ } /* end of [if] */ tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp406, arg3) ; tmp432 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add (arg3, tmp419, tmp420) ; tmp433 = d23explst_trdn_13 (arg3, arg4, tmp432) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype (tmp431, tmp420) ; tmp435 = ats_select_mac(tmp434, atslab_0) ; tmp436 = ats_select_mac(tmp434, atslab_1) ; tmp437 = ats_select_mac(tmp434, atslab_2) ; tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore (tmp416, tmp414) ; if (tmp435) { tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore (tmp433, tmp432, tmp437) ; } else { tmp439 = tmp433 ; } /* end of [if] */ tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff (tmp431, tmp417) ; tmp442 = atspre_gt_int_int (tmp440, 0) ; if (tmp442) { tmp443 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp443)->tag = 27 ; ats_selptrset_mac(anairiats_sum_11, tmp443, atslab_0, tmp431) ; ats_selptrset_mac(anairiats_sum_11, tmp443, atslab_1, tmp417) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp443) ; } else { /* empty */ } /* end of [if] */ tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn (tmp431, tmp436, tmp438, arg2, tmp439) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: __ats_lab_126_1: /* tmp444 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free (arg4) ; /* tmp445 = */ prerr_error3_loc_02084_ (tmp406) ; /* tmp446 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d23exp_trup_app23")) ; /* tmp447 = */ atspre_prerr_string (ATSstrcst(": the applied dynamic expression is of non-function type: ")) ; /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp411) ; /* tmp449 = */ atspre_prerr_newline () ; tmp451 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp451)->tag = 26 ; ats_selptrset_mac(anairiats_sum_11, tmp451, atslab_0, tmp406) ; ats_selptrset_mac(anairiats_sum_11, tmp451, atslab_1, tmp411) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp451) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp406) ; break ; } while (0) ; return (tmp405) ; } /* end of [d23exp_trup_app23_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 31973(line=1376, offs=1) -- 32575(line=1402, offs=4) */ ATSstaticdec() ats_ptr_type d23exp_trup_applst_dyn_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; // ATSlocal_void (tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; __ats_lab_d23exp_trup_applst_dyn_40: tmp453 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_loc) ; tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp453, arg3) ; tmp455 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d3exp_type) ; tmp456 = d2explst_trup_arg_10 (arg4) ; /* tmp457 = */ d23explst_open_and_add_11 (tmp456) ; tmp458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp455), atslab_s2exp_node) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: tmp459 = d23exp_trup_app23_39 (arg0, arg1, arg2, arg3, tmp456) ; tmp452 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst (arg0, tmp459, arg5) ; break ; } while (0) ; return (tmp452) ; } /* end of [d23exp_trup_applst_dyn_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 32661(line=1408, offs=1) -- 33336(line=1438, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_int_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst: do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; } __ats_lab_128_1: tmp461 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp461)->tag != 0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp463 = ats_caselptrlab_mac(anairiats_sum_11, tmp461, atslab_1) ; tmp460 = d23exp_trup_applst_sta_35 (arg0, arg1, tmp463, tmp462) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (((ats_sum_ptr_type)tmp461)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp464 = ats_caselptrlab_mac(anairiats_sum_16, tmp461, atslab_0) ; tmp465 = ats_caselptrlab_mac(anairiats_sum_16, tmp461, atslab_1) ; tmp466 = ats_caselptrlab_mac(anairiats_sum_16, tmp461, atslab_2) ; tmp460 = d23exp_trup_applst_dyn_40 (arg0, arg1, tmp464, tmp465, tmp466, tmp462) ; break ; } while (0) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: tmp460 = arg1 ; break ; } while (0) ; return (tmp460) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 33416(line=1444, offs=3) -- 34325(line=1490, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_int_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_bool_type, tmp473) ; ATSlocal (ats_bool_type, tmp474) ; ATSlocal (ats_bool_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_bool_type, tmp481) ; ATSlocal (ats_bool_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lst: tmp468 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp469)->tag != 34) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 33462(line=1447, offs=5) -- 33503(line=1447, offs=46)") ; } tmp470 = ats_caselptrlab_mac(anairiats_sum_16, tmp469, atslab_0) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_16, tmp469, atslab_1) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_16, tmp469, atslab_2) ; tmp474 = atspre_gte_int_int (tmp470, 0) ; if (tmp474) { tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (tmp470) ; } else { tmp473 = ats_false_bool ; } /* end of [if] */ tmp475 = atspre_neg_bool (tmp473) ; do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (tmp471 == (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp477 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_0) ; tmp476 = tmp477 ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: // if (tmp471 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_133_1: if (tmp475) { tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } else { tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp468, tmp478) ; break ; } while (0) ; tmp479 = list_length_01410_ats_ptr_type (tmp472) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt (tmp472, tmp476) ; tmp482 = atspre_gte_int_int (tmp470, 0) ; if (tmp482) { tmp481 = tmp475 ; } else { tmp481 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (tmp476) ; } /* end of [if] */ if (tmp481) { tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type (tmp476, tmp479) ; } else { tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype (tmp476, tmp479) ; } /* end of [if] */ tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lst (tmp468, tmp483, tmp470, tmp476, tmp480) ; return (tmp467) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 34488(line=1501, offs=7) -- 34803(line=1512, offs=33) */ ATSstaticdec() ats_ptr_type aux_44 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; __ats_lab_aux_44: do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp486 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp487 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg1) ; tmp489 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp486), atslab_d3exp_type) ; tmp491 = (ats_sum_ptr_type)0 ; tmp490 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ats_selptrset_mac(anairiats_sum_24, tmp490, atslab_0, tmp488) ; ats_selptrset_mac(anairiats_sum_24, tmp490, atslab_1, tmp491) ; ats_selptrset_mac(anairiats_sum_24, tmp490, atslab_2, tmp489) ; tmp493 = atspre_add_int_int (arg1, 1) ; tmp492 = aux_44 (tmp487, tmp493) ; tmp485 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp485, atslab_0, tmp490) ; ats_selptrset_mac(anairiats_sum_15, tmp485, atslab_1, tmp492) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp485 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp485) ; } /* end of [aux_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 34469(line=1500, offs=19) -- 34844(line=1516, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d3explst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp484) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d3explst_get_type: tmp484 = aux_44 (arg0, 0) ; return (tmp484) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d3explst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 34926(line=1522, offs=3) -- 35405(line=1547, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_int_type, tmp497) ; ATSlocal (ats_int_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tup: tmp495 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp496 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp496)->tag != 35) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 34969(line=1524, offs=5) -- 35010(line=1524, offs=46)") ; } tmp497 = ats_caselptrlab_mac(anairiats_sum_25, tmp496, atslab_0) ; tmp498 = ats_caselptrlab_mac(anairiats_sum_25, tmp496, atslab_1) ; tmp499 = ats_caselptrlab_mac(anairiats_sum_25, tmp496, atslab_2) ; tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp499) ; tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d3explst_get_type (tmp500) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (tmp497, tmp498, tmp501) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup (tmp495, tmp502, tmp497, tmp498, tmp500) ; return (tmp494) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 35578(line=1558, offs=6) -- 35717(line=1563, offs=6) */ ATSstaticdec() ats_ptr_type f_47 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; __ats_lab_f_47: tmp505 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp506 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp507 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp505), atslab_l0ab_lab) ; tmp508 = (ats_sum_ptr_type)0 ; tmp509 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp506), atslab_d3exp_type) ; tmp504 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ats_selptrset_mac(anairiats_sum_24, tmp504, atslab_0, tmp507) ; ats_selptrset_mac(anairiats_sum_24, tmp504, atslab_1, tmp508) ; ats_selptrset_mac(anairiats_sum_24, tmp504, atslab_2, tmp509) ; return (tmp504) ; } /* end of [f_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 35559(line=1557, offs=22) -- 35770(line=1566, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__labd3explst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp510) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__labd3explst_get_type: tmp510 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &f_47) ; tmp503 = ats_castfn_mac(ats_ptr_type, tmp510) ; return (tmp503) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__labd3explst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 36083(line=1583, offs=7) -- 36424(line=1594, offs=33) */ ATSstaticdec() ats_ptr_type aux_49 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; __ats_lab_aux_49: do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp518 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp519 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp520 = ats_caselptrlab_mac(anairiats_sum_15, tmp518, atslab_0) ; tmp521 = ats_caselptrlab_mac(anairiats_sum_15, tmp518, atslab_1) ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp521) ; tmp522 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp522, atslab_0, tmp520) ; ats_selptrset_mac(anairiats_sum_15, tmp522, atslab_1, tmp523) ; tmp524 = aux_49 (tmp519) ; tmp517 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp517, atslab_0, tmp522) ; ats_selptrset_mac(anairiats_sum_15, tmp517, atslab_1, tmp524) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: tmp517 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp517) ; } /* end of [aux_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 35855(line=1572, offs=3) -- 36601(line=1602, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_rec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_int_type, tmp514) ; ATSlocal (ats_int_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_rec: tmp512 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp513 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp513)->tag != 36) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 35902(line=1574, offs=7) -- 35947(line=1574, offs=52)") ; } tmp514 = ats_caselptrlab_mac(anairiats_sum_25, tmp513, atslab_0) ; tmp515 = ats_caselptrlab_mac(anairiats_sum_25, tmp513, atslab_1) ; tmp516 = ats_caselptrlab_mac(anairiats_sum_25, tmp513, atslab_2) ; tmp525 = aux_49 (tmp516) ; tmp526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__labd3explst_get_type (tmp525) ; tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (tmp514, tmp515, tmp526) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec (tmp512, tmp527, tmp514, tmp515, tmp525) ; return (tmp511) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 36763(line=1613, offs=5) -- 37247(line=1633, offs=8) */ ATSstaticdec() ats_ptr_type aux_51 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; __ats_lab_aux_51: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp533 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp534 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, arg3) ; tmp536 = aux_51 (tmp533, tmp534, arg2, arg3) ; tmp532 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp532, atslab_0, tmp535) ; ats_selptrset_mac(anairiats_sum_15, tmp532, atslab_1, tmp536) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_139_1: tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg0) ; tmp539 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp537), atslab_d3exp_type) ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp539) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp538 ; tmp540 = (ats_sum_ptr_type)0 ; tmp532 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp532, atslab_0, tmp537) ; ats_selptrset_mac(anairiats_sum_15, tmp532, atslab_1, tmp540) ; break ; } while (0) ; return (tmp532) ; } /* end of [aux_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 36678(line=1608, offs=3) -- 37579(line=1650, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_seq (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_seq: tmp529 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp530 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp530)->tag != 37) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 36724(line=1611, offs=5) -- 36755(line=1611, offs=36)") ; } tmp531 = ats_caselptrlab_mac(anairiats_sum_6, tmp530, atslab_0) ; tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; do { /* branch: __ats_lab_140 */ __ats_lab_140_0: if (tmp531 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp542 = ats_caselptrlab_mac(anairiats_sum_15, tmp531, atslab_0) ; tmp543 = ats_caselptrlab_mac(anairiats_sum_15, tmp531, atslab_1) ; /* ats_ptr_type tmp544 ; */ tmp545 = aux_51 (tmp542, tmp543, (&tmp544), tmp541) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq (tmp529, tmp544, tmp545) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (tmp531 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty (tmp529, tmp541) ; break ; } while (0) ; return (tmp528) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 37661(line=1656, offs=3) -- 38204(line=1672, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; // ATSlocal_void (tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; // ATSlocal_void (tmp556) ; // ATSlocal_void (tmp557) ; // ATSlocal_void (tmp558) ; // ATSlocal_void (tmp559) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere: tmp547 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; /* tmp548 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push () ; /* tmp549 = ats_selsin_mac(tmp548, atslab_1) */ ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp551 = ats_selsin_mac(tmp550, atslab_1) */ ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let () ; /* tmp553 = ats_selsin_mac(tmp552, atslab_1) */ ; tmp554 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (arg1) ; tmp555 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg2) ; /* tmp556 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (tmp547) ; /* tmp557 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; /* tmp558 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () ; /* tmp559 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let (tmp547, tmp554, tmp555) ; return (tmp546) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_letwhere] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 38290(line=1678, offs=3) -- 38542(line=1688, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_effmask (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; // ATSlocal_void (tmp568) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_effmask: tmp561 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp562 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp562)->tag != 48) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 38336(line=1681, offs=5) -- 38376(line=1681, offs=45)") ; } tmp563 = ats_caselptrlab_mac(anairiats_sum_11, tmp562, atslab_0) ; tmp564 = ats_caselptrlab_mac(anairiats_sum_11, tmp562, atslab_1) ; /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask (tmp563) ; /* tmp566 = ats_selsin_mac(tmp565, atslab_1) */ ; tmp567 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp564) ; /* tmp568 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask (tmp561, tmp563, tmp567) ; return (tmp560) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 38628(line=1694, offs=3) -- 39261(line=1722, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_vcopyenv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_int_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_bool_type, tmp579) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_vcopyenv: tmp570 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp571 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp571)->tag != 50) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 38674(line=1697, offs=5) -- 38714(line=1697, offs=45)") ; } tmp572 = ats_caselptrlab_mac(anairiats_sum_14, tmp571, atslab_0) ; tmp573 = ats_caselptrlab_mac(anairiats_sum_14, tmp571, atslab_1) ; tmp574 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp573), atslab_d2exp_node) ; do { /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp574)->tag != 1) { goto __ats_lab_145_0 ; } __ats_lab_142_1: tmp575 = ats_caselptrlab_mac(anairiats_sum_6, tmp574, atslab_0) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp575) ; do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (tmp576 == (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp578 = ats_caselptrlab_mac(anairiats_sum_12, tmp576, atslab_0) ; tmp579 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind (tmp572) ; if (tmp579) { tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_v (tmp578) ; } else { tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vcopyenv_vt (tmp578) ; } /* end of [if] */ break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: // if (tmp576 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_144_1: tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; } while (0) ; tmp569 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_vcopyenv (tmp570, tmp577, tmp572, tmp575) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: __ats_lab_145_1: tmp569 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp573) ; break ; } while (0) ; return (tmp569) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 39349(line=1728, offs=3) -- 39492(line=1735, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tempenver (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tempenver: tmp581 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp582 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp582)->tag != 51) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 39395(line=1731, offs=5) -- 39431(line=1731, offs=41)") ; } tmp583 = ats_caselptrlab_mac(anairiats_sum_6, tmp582, atslab_0) ; tmp584 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp580 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tempenver (tmp581, tmp584, tmp583) ; return (tmp580) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_tempenver] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_58 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; __ats_lab_loop_58: do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp591 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp591 ; goto __ats_lab_loop_58 ; // tail call break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_147_1: break ; } while (0) ; return /* (tmp590) */ ; } /* end of [loop_58] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp589) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp589 = */ loop_58 (arg0) ; return /* (tmp589) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87) */ ATSstaticdec() ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp594) ; __ats_lab_list_vt_is_nil_01494_: do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp594 = ats_true_bool ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp594 = ats_false_bool ; break ; } while (0) ; return (tmp594) ; } /* end of [list_vt_is_nil_01494_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 39579(line=1741, offs=1) -- 40121(line=1762, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; // ATSlocal_void (tmp588) ; ATSlocal (ats_bool_type, tmp592) ; ATSlocal (ats_bool_type, tmp593) ; // ATSlocal_void (tmp595) ; ATSlocal (ats_bool_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust: tmp586 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) ; tmp587 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (ats_castfn_mac(ats_ptr_type, tmp586)) ; /* tmp588 = */ list_vt_free_01499_ats_ptr_type (tmp586) ; tmp593 = list_vt_is_nil_01494_ (tmp587) ; if (tmp593) { tmp592 = ats_true_bool ; } else { tmp592 = ats_false_bool ; } /* end of [if] */ tmp596 = atspre_neg_bool (tmp592) ; if (tmp596) { tmp597 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (tmp587) ; tmp598 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; /* tmp595 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false (arg0, tmp598, tmp597, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp585 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (tmp587) ; return /* (tmp585) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 40210(line=1768, offs=1) -- 41958(line=1835, offs=4) */ ATSglobaldec() anairiats_rec_3 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (anairiats_rec_3, tmp599) ; // ATSlocal_void (tmp600) ; // ATSlocal_void (tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; // ATSlocal_void (tmp606) ; // ATSlocal_void (tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; // ATSlocal_void (tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; // ATSlocal_void (tmp611) ; // ATSlocal_void (tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; // ATSlocal_void (tmp615) ; // ATSlocal_void (tmp616) ; // ATSlocal_void (tmp617) ; // ATSlocal_void (tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; // ATSlocal_void (tmp620) ; // ATSlocal_void (tmp621) ; ATSlocal (ats_bool_type, tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; // ATSlocal_void (tmp625) ; // ATSlocal_void (tmp626) ; // ATSlocal_void (tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_bool_type, tmp629) ; ATSlocal (ats_bool_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body: /* tmp600 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp601 = ats_selsin_mac(tmp600, atslab_1) */ ; /* ats_ptr_type tmp602 ; */ tmp602 = arg1 ; tmp603 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp (arg5, (&tmp602)) ; /* ats_ptr_type tmp604 ; */ tmp604 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp (tmp603, (&tmp604)) ; /* tmp606 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam (tmp604) ; /* tmp607 = ats_selsin_mac(tmp606, atslab_1) */ ; tmp608 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type (arg4) ; /* tmp609 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust (arg0, arg4, tmp608) ; tmp610 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trup_arg (arg3, arg4) ; /* tmp611 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam (arg2) ; /* tmp612 = ats_selsin_mac(tmp611, atslab_1) */ ; /* tmp613 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (tmp610) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam (arg2) ; /* tmp615 = ats_selsin_mac(tmp614, atslab_1) */ ; /* tmp616 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (tmp610) ; /* tmp617 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam (tmp610) ; /* tmp618 = ats_selsin_mac(tmp617, atslab_1) */ ; tmp619 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp605) ; /* tmp620 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (arg0) ; tmp622 = atspre_gt_int_int (arg2, 0) ; if (tmp622) { /* tmp621 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam (arg0) ; } else { /* empty */ } /* end of [if] */ /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; /* tmp624 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; /* tmp625 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () ; /* tmp626 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop () ; /* tmp627 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; tmp628 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp619), atslab_d3exp_type) ; tmp629 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp628) ; tmp630 = atspre_gt_int_int (arg2, 0) ; tmp631 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc (arg0, tmp629, tmp630, tmp602) ; tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp631, tmp602, arg2, tmp604, arg3, tmp608, tmp628) ; tmp599.atslab_0 = tmp632 ; tmp599.atslab_1 = tmp610 ; tmp599.atslab_2 = tmp619 ; return (tmp599) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 42044(line=1841, offs=3) -- 42433(line=1853, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_dyn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_int_type, tmp636) ; ATSlocal (ats_int_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (anairiats_rec_3, tmp641) ; ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_dyn: tmp634 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp635 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp635)->tag != 53) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 42091(line=1843, offs=7) -- 42154(line=1844, offs=53)") ; } tmp636 = ats_caselptrlab_mac(anairiats_sum_27, tmp635, atslab_0) ; tmp637 = ats_caselptrlab_mac(anairiats_sum_27, tmp635, atslab_1) ; tmp638 = ats_caselptrlab_mac(anairiats_sum_27, tmp635, atslab_2) ; tmp639 = ats_caselptrlab_mac(anairiats_sum_27, tmp635, atslab_3) ; tmp640 = (ats_sum_ptr_type)0 ; tmp641 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body (tmp634, tmp640, tmp636, tmp637, tmp638, tmp639) ; tmp642 = ats_select_mac(tmp641, atslab_0) ; tmp643 = ats_select_mac(tmp641, atslab_1) ; tmp644 = ats_select_mac(tmp641, atslab_2) ; tmp633 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn (tmp634, tmp642, tmp636, tmp637, tmp643, tmp644) ; return (tmp633) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 42522(line=1859, offs=3) -- 43494(line=1886, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_laminit_dyn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_int_type, tmp648) ; ATSlocal (ats_int_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (anairiats_rec_3, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; // ATSlocal_void (tmp657) ; ATSlocal (ats_ptr_type, tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_int_type, tmp660) ; // ATSlocal_void (tmp661) ; // ATSlocal_void (tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_laminit_dyn: tmp646 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp647 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp647)->tag != 54) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 42569(line=1861, offs=7) -- 42636(line=1862, offs=53)") ; } tmp648 = ats_caselptrlab_mac(anairiats_sum_27, tmp647, atslab_0) ; tmp649 = ats_caselptrlab_mac(anairiats_sum_27, tmp647, atslab_1) ; tmp650 = ats_caselptrlab_mac(anairiats_sum_27, tmp647, atslab_2) ; tmp651 = ats_caselptrlab_mac(anairiats_sum_27, tmp647, atslab_3) ; tmp652 = ATS_MALLOC(sizeof(anairiats_sum_28)) ; ats_selptrset_mac(anairiats_sum_28, tmp652, atslab_0, 0) ; tmp653 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body (tmp646, tmp652, tmp648, tmp649, tmp650, tmp651) ; tmp654 = ats_select_mac(tmp653, atslab_0) ; tmp655 = ats_select_mac(tmp653, atslab_1) ; tmp656 = ats_select_mac(tmp653, atslab_2) ; tmp658 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp654), atslab_s2exp_node) ; do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp658)->tag != 19) { goto __ats_lab_153_0 ; } __ats_lab_150_1: tmp659 = ats_caselptrlab_mac(anairiats_sum_22, tmp658, atslab_0) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (tmp659 == (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } tmp660 = ats_caselptrlab_mac(anairiats_sum_28, tmp659, atslab_0) ; if (tmp660 != 0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: __ats_lab_152_1: /* tmp661 = */ prerr_error3_loc_02084_ (tmp646) ; /* tmp662 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats"), ATSstrcst("d2exp_trup_laminit_dyn")) ; /* tmp663 = */ atspre_prerr_string (ATSstrcst(": the initializing value is expected to be a flat closure but it is not.")) ; /* tmp664 = */ atspre_prerr_newline () ; tmp665 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp665)->tag = 21 ; ats_selptrset_mac(anairiats_sum_11, tmp665, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp665, atslab_1, tmp659) ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp665) ; break ; } while (0) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: __ats_lab_153_1: break ; } while (0) ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn (tmp646, tmp654, tmp648, tmp649, tmp655, tmp656) ; return (tmp645) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_laminit_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 43583(line=1892, offs=3) -- 44054(line=1908, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_sta (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; // ATSlocal_void (tmp674) ; // ATSlocal_void (tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; // ATSlocal_void (tmp677) ; ATSlocal (ats_ptr_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_sta: tmp667 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp668 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp668)->tag != 55) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 43630(line=1894, offs=7) -- 43681(line=1894, offs=58)") ; } tmp669 = ats_caselptrlab_mac(anairiats_sum_17, tmp668, atslab_0) ; tmp670 = ats_caselptrlab_mac(anairiats_sum_17, tmp668, atslab_1) ; tmp671 = ats_caselptrlab_mac(anairiats_sum_17, tmp668, atslab_2) ; /* tmp672 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp673 = ats_selsin_mac(tmp672, atslab_1) */ ; /* tmp674 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp669) ; /* tmp675 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (tmp667, tmp670) ; tmp676 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp671) ; /* tmp677 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp667) ; tmp678 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp676), atslab_d3exp_type) ; tmp679 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp669, tmp670, tmp678) ; tmp666 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta (tmp667, tmp679, tmp669, tmp670, tmp676) ; return (tmp666) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 44139(line=1914, offs=3) -- 44516(line=1925, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_met (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; // ATSlocal_void (tmp686) ; // ATSlocal_void (tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; // ATSlocal_void (tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; // ATSlocal_void (tmp691) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_met: tmp681 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp682 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp682)->tag != 56) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 44186(line=1916, offs=7) -- 44249(line=1917, offs=53)") ; } tmp683 = ats_caselptrlab_mac(anairiats_sum_17, tmp682, atslab_0) ; tmp684 = ats_caselptrlab_mac(anairiats_sum_17, tmp682, atslab_1) ; tmp685 = ats_caselptrlab_mac(anairiats_sum_17, tmp682, atslab_2) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet (tmp681, tmp684) ; tmp688 = ats_ptrget_mac(ats_ptr_type, tmp683) ; /* tmp687 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_push_dvarlst (tmp688, tmp684) ; /* tmp689 = ats_selsin_mac(tmp687, atslab_1) */ ; tmp690 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp685) ; /* tmp691 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__termetenv_pop () ; tmp680 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_met (tmp681, tmp684, tmp690) ; return (tmp680) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_lam_met] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 44581(line=1932, offs=1) -- 44830(line=1944, offs=4) */ ATSstaticdec() ats_ptr_type s2exp_clo2fun_65 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_int_type, tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_int_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; ATSlocal (ats_ptr_type, tmp700) ; __ats_lab_s2exp_clo2fun_65: tmp693 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp693)->tag != 19) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp694 = ats_caselptrlab_mac(anairiats_sum_22, tmp693, atslab_1) ; tmp695 = ats_caselptrlab_mac(anairiats_sum_22, tmp693, atslab_2) ; tmp696 = ats_caselptrlab_mac(anairiats_sum_22, tmp693, atslab_3) ; tmp697 = ats_caselptrlab_mac(anairiats_sum_22, tmp693, atslab_4) ; tmp698 = ats_caselptrlab_mac(anairiats_sum_22, tmp693, atslab_5) ; tmp699 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_s2exp_srt) ; tmp700 = (ats_sum_ptr_type)0 ; tmp692 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp699, tmp700, tmp694, tmp695, tmp696, tmp697, tmp698) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: __ats_lab_155_1: tmp692 = arg0 ; break ; } while (0) ; return (tmp692) ; } /* end of [s2exp_clo2fun_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 44905(line=1949, offs=16) -- 45297(line=1965, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_fix (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_int_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; // ATSlocal_void (tmp710) ; // ATSlocal_void (tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_fix: tmp702 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp703 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp703)->tag != 57) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 44951(line=1952, offs=5) -- 44995(line=1952, offs=49)") ; } tmp704 = ats_caselptrlab_mac(anairiats_sum_16, tmp703, atslab_0) ; tmp705 = ats_caselptrlab_mac(anairiats_sum_16, tmp703, atslab_1) ; tmp706 = ats_caselptrlab_mac(anairiats_sum_16, tmp703, atslab_2) ; tmp707 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (tmp706) ; tmp708 = s2exp_clo2fun_65 (tmp707) ; tmp709 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp709, atslab_0, tmp708) ; /* tmp710 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp705, tmp709) ; /* tmp711 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp705, tmp709) ; tmp712 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp706) ; tmp701 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_fix (tmp702, tmp707, tmp704, tmp705, tmp712) ; return (tmp701) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 45397(line=1972, offs=18) -- 46155(line=2001, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_delay (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (anairiats_rec_3, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; ATSlocal (ats_bool_type, tmp725) ; // ATSlocal_void (tmp726) ; // ATSlocal_void (tmp727) ; // ATSlocal_void (tmp728) ; // ATSlocal_void (tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_delay: tmp714 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp715 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp715)->tag != 58) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 45443(line=1975, offs=5) -- 45480(line=1975, offs=42)") ; } tmp716 = ats_caselptrlab_mac(anairiats_sum_6, tmp715, atslab_0) ; tmp717 = (ats_sum_ptr_type)0 ; tmp718 = (ats_sum_ptr_type)0 ; tmp719 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_arg_body (tmp714, tmp717, 0, -1, tmp718, tmp716) ; tmp720 = ats_select_mac(tmp719, atslab_0) ; tmp721 = ats_select_mac(tmp719, atslab_1) ; tmp722 = ats_select_mac(tmp719, atslab_2) ; tmp723 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp722) ; tmp724 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_t0ype_type (tmp723) ; tmp725 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp723) ; if (tmp725) { /* tmp727 = */ prerr_error3_loc_02084_ (tmp714) ; /* tmp728 = */ atspre_prerr_string (ATSstrcst(": it is not allowed to apply $delay to a linear value.")) ; /* tmp729 = */ atspre_prerr_newline () ; tmp730 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp730)->tag = 37 ; ats_selptrset_mac(anairiats_sum_11, tmp730, atslab_0, tmp714) ; ats_selptrset_mac(anairiats_sum_11, tmp730, atslab_1, tmp722) ; /* tmp726 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp730) ; } else { /* empty */ } /* end of [if] */ tmp713 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_delay (tmp714, tmp724, tmp722) ; return (tmp713) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 46235(line=2006, offs=19) -- 47669(line=2060, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_ldelay (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp731) ; ATSlocal (ats_ptr_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_ptr_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; // ATSlocal_void (tmp740) ; // ATSlocal_void (tmp741) ; ATSlocal (ats_ptr_type, tmp742) ; // ATSlocal_void (tmp743) ; // ATSlocal_void (tmp744) ; // ATSlocal_void (tmp745) ; // ATSlocal_void (tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; // ATSlocal_void (tmp751) ; // ATSlocal_void (tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; // ATSlocal_void (tmp755) ; // ATSlocal_void (tmp756) ; // ATSlocal_void (tmp757) ; // ATSlocal_void (tmp758) ; // ATSlocal_void (tmp759) ; // ATSlocal_void (tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_ldelay: tmp732 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp733 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp733)->tag != 59) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 46281(line=2009, offs=5) -- 46324(line=2009, offs=48)") ; } tmp734 = ats_caselptrlab_mac(anairiats_sum_11, tmp733, atslab_0) ; tmp735 = ats_caselptrlab_mac(anairiats_sum_11, tmp733, atslab_1) ; tmp736 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp737 ; */ tmp737 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp736) ; tmp738 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp734), atslab_d2exp_loc) ; tmp739 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp738) ; /* tmp740 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp741 = ats_selsin_mac(tmp740, atslab_1) */ ; tmp742 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp734) ; /* tmp743 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp739) ; /* tmp744 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp738) ; /* tmp745 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp737, tmp739) ; /* tmp746 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (tmp736) ; do { /* branch: __ats_lab_156 */ __ats_lab_156_0: if (tmp735 == (ats_sum_ptr_type)0) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp748 = ats_caselptrlab_mac(anairiats_sum_12, tmp735, atslab_0) ; tmp747 = tmp748 ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (tmp735 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 46840(line=2031, offs=1) -- 46905(line=2031, offs=66)") ; } __ats_lab_157_1: tmp747 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp738) ; break ; } while (0) ; tmp749 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp747), atslab_d2exp_loc) ; tmp750 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp749) ; /* tmp751 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp752 = ats_selsin_mac(tmp751, atslab_1) */ ; tmp753 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp754 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp747, tmp753) ; /* tmp755 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp750) ; /* tmp756 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp749) ; /* tmp757 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp737, tmp750) ; /* tmp758 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp737, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil) ; /* tmp759 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp737) ; /* tmp760 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp732, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil) ; tmp761 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp742) ; tmp762 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lazy_vt0ype_vtype (tmp761) ; tmp731 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ldelay (tmp732, tmp762, tmp742, tmp754) ; return (tmp731) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_ldelay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 47747(line=2065, offs=16) -- 47925(line=2072, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_for (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; ATSlocal (ats_ptr_type, tmp765) ; ATSlocal (ats_ptr_type, tmp766) ; ATSlocal (ats_ptr_type, tmp767) ; ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_ptr_type, tmp771) ; ATSlocal (ats_ptr_type, tmp772) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_for: tmp764 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp765 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp765)->tag != 60) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 47793(line=2068, offs=5) -- 47848(line=2068, offs=60)") ; } tmp766 = ats_caselptrlab_mac(anairiats_sum_29, tmp765, atslab_0) ; tmp767 = ats_caselptrlab_mac(anairiats_sum_29, tmp765, atslab_1) ; tmp768 = ats_caselptrlab_mac(anairiats_sum_29, tmp765, atslab_2) ; tmp769 = ats_caselptrlab_mac(anairiats_sum_29, tmp765, atslab_3) ; tmp770 = ats_caselptrlab_mac(anairiats_sum_29, tmp765, atslab_4) ; tmp771 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp771, atslab_0, tmp767) ; tmp772 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp772, atslab_0, tmp769) ; tmp763 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop (tmp764, tmp766, tmp771, tmp768, tmp772, tmp770) ; return (tmp763) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_for] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 47981(line=2075, offs=18) -- 48153(line=2082, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_while (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_ptr_type, tmp774) ; ATSlocal (ats_ptr_type, tmp775) ; ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; ATSlocal (ats_ptr_type, tmp780) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_while: tmp774 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp775 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp775)->tag != 61) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 48027(line=2078, offs=5) -- 48072(line=2078, offs=50)") ; } tmp776 = ats_caselptrlab_mac(anairiats_sum_17, tmp775, atslab_0) ; tmp777 = ats_caselptrlab_mac(anairiats_sum_17, tmp775, atslab_1) ; tmp778 = ats_caselptrlab_mac(anairiats_sum_17, tmp775, atslab_2) ; tmp779 = (ats_sum_ptr_type)0 ; tmp780 = (ats_sum_ptr_type)0 ; tmp773 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop (tmp774, tmp776, tmp779, tmp777, tmp780, tmp778) ; return (tmp773) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_while] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 48236(line=2088, offs=3) -- 48975(line=2117, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_trywith (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (ats_ptr_type, tmp788) ; // ATSlocal_void (tmp789) ; // ATSlocal_void (tmp790) ; // ATSlocal_void (tmp791) ; // ATSlocal_void (tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; // ATSlocal_void (tmp802) ; // ATSlocal_void (tmp803) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_trywith: tmp782 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp783 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp783)->tag != 63) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 48283(line=2090, offs=7) -- 48333(line=2091, offs=40)") ; } tmp784 = ats_caselptrlab_mac(anairiats_sum_17, tmp783, atslab_0) ; tmp785 = ats_caselptrlab_mac(anairiats_sum_17, tmp783, atslab_1) ; tmp786 = ats_caselptrlab_mac(anairiats_sum_17, tmp783, atslab_2) ; tmp787 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp785) ; tmp788 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp787) ; /* tmp789 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try () ; /* tmp790 = ats_selsin_mac(tmp789, atslab_1) */ ; /* tmp791 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try () ; /* tmp792 = ats_selsin_mac(tmp791, atslab_1) */ ; tmp793 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype () ; tmp794 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, tmp787), atslab_d3exp_loc) ; tmp795 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top (tmp794, tmp793) ; tmp797 = (ats_sum_ptr_type)0 ; tmp796 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp796, atslab_0, tmp795) ; ats_selptrset_mac(anairiats_sum_15, tmp796, atslab_1, tmp797) ; tmp799 = (ats_sum_ptr_type)0 ; tmp798 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp798, atslab_0, tmp793) ; ats_selptrset_mac(anairiats_sum_15, tmp798, atslab_1, tmp799) ; tmp801 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; tmp800 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn (tmp782, tmp801, tmp784, tmp786, tmp796, tmp798, tmp788) ; /* tmp802 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; /* tmp803 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () ; tmp781 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith (tmp782, tmp787, tmp800) ; return (tmp781) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 49056(line=2123, offs=3) -- 49394(line=2136, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_mac (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_mac: tmp805 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp805)->tag != 67) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 49075(line=2124, offs=7) -- 49105(line=2124, offs=37)") ; } tmp806 = ats_caselptrlab_mac(anairiats_sum_6, tmp805, atslab_0) ; tmp808 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp809 = (ats_sum_ptr_type)0 ; tmp807 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short (tmp808, tmp806, tmp809) ; tmp804 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp807) ; return (tmp804) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2215(line=77, offs=18) -- 2276(line=80, offs=2) */ ATSstaticdec() ats_void_type prerr_errmac_loc_02083_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp817) ; // ATSlocal_void (tmp818) ; __ats_lab_prerr_errmac_loc_02083_: /* tmp818 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp817 = */ atspre_prerr_string (ATSstrcst(": error(mac)")) ; return /* (tmp817) */ ; } /* end of [prerr_errmac_loc_02083_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 49445(line=2140, offs=3) -- 50151(line=2174, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_macsyn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_ptr_type, tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_ptr_type, tmp815) ; // ATSlocal_void (tmp816) ; // ATSlocal_void (tmp819) ; // ATSlocal_void (tmp820) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_macsyn: tmp811 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp812 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp812)->tag != 68) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 49491(line=2143, offs=5) -- 49529(line=2143, offs=43)") ; } tmp813 = ats_caselptrlab_mac(anairiats_sum_11, tmp812, atslab_0) ; tmp814 = ats_caselptrlab_mac(anairiats_sum_11, tmp812, atslab_1) ; do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp813)->tag != 1) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp815 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_decode (tmp814) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp813)->tag != 2) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp815 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_xstage (tmp814) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: // if (((ats_sum_ptr_type)tmp813)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_160_1: /* tmp816 = */ prerr_errmac_loc_02083_ (tmp811) ; /* tmp819 = */ atspre_prerr_string (ATSstrcst(": the macro syntax `(...) is used incorrectly.")) ; /* tmp820 = */ atspre_prerr_newline () ; tmp815 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp811) ; break ; } while (0) ; tmp810 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp815) ; return (tmp810) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_macsyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 50237(line=2180, offs=3) -- 50616(line=2203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solassert (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_ptr_type, tmp826) ; // ATSlocal_void (tmp827) ; ATSlocal (ats_ptr_type, tmp828) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solassert: tmp822 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp823 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp823)->tag != 70) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 50287(line=2186, offs=1) -- 50329(line=2187, offs=30)") ; } tmp824 = ats_caselptrlab_mac(anairiats_sum_6, tmp823, atslab_0) ; tmp825 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp824) ; tmp826 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp825) ; /* tmp827 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_assert (tmp822, tmp826) ; tmp828 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp821 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty (tmp822, tmp828) ; return (tmp821) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solassert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 50697(line=2209, offs=3) -- 51020(line=2230, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solverify (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_ptr_type, tmp831) ; ATSlocal (ats_ptr_type, tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; // ATSlocal_void (tmp834) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solverify: tmp830 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_loc) ; tmp831 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp831)->tag != 71) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_up.dats: 50747(line=2215, offs=1) -- 50790(line=2216, offs=31)") ; } tmp832 = ats_caselptrlab_mac(anairiats_sum_6, tmp831, atslab_0) ; tmp833 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp832) ; /* tmp834 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_solver_verify (tmp830, tmp833) ; tmp829 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_solverify (tmp830, tmp833) ; return (tmp829) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__d2exp_trup_solverify] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_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 () ; #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_trans3_dynexp_up_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_p0at_dats.c0000664000175000017500000020753412655455557020750 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_p0at_loc ; ats_ptr_type atslab_p0at_node ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_clo_ref_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_labp0at_loc ; ats_ptr_type atslab_labp0at_node ; } anairiats_rec_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tchar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlst_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Ttup_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trec_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfree_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tunfold_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Texist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tsvararg_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trefas_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_p0at_tr_4) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exist_prec_dyn) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app) (ats_ptr_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_dqid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_lst) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_free) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_unfold) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_refas) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_svararg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_norm) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_omit) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0atlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02042_ () ; static ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type appf_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type appf_1_closure_make () ; static ats_ptr_type appf_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p1atitm_app_4 (ats_ptr_type arg0) ; static ats_ptr_type p1at_get_loc_5 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_7_closure_make () ; static ats_ptr_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p1at_make_opr_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_9 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_10_closure_make () ; static ats_ptr_type __ats_fun_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p1atitm_backslash_8 (ats_ptr_type arg0) ; static ats_void_type prerr_error1_loc_02045_ (ats_ptr_type arg0) ; static ats_ptr_type p0at_tr_errmsg_opr_11 (ats_ptr_type arg0) ; static ats_ptr_type f_16 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type f_16_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type f_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) ; static ats_ptr_type aux_item_14 (ats_ptr_type arg0) ; static ats_ptr_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_itemlst_15 (ats_ptr_type arg0) ; static ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 1844(line=54, offs=28) -- 1873(line=54, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02042_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02042_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_p0at")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02042_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab_loop_3: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp19 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp19, atslab_0, tmp17) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp19 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp20 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp18 ; arg1 = arg1 ; arg2 = tmp20 ; goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp22 = (ats_sum_ptr_type)0 ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp21, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp21, atslab_1, tmp22) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp21 ; break ; } while (0) ; return /* (tmp16) */ ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp23) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp15 ; */ /* tmp23 = */ loop_3 (arg0, arg1, (&tmp15)) ; tmp14 = tmp15 ; return (tmp14) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 2437(line=92, offs=4) -- 3266(line=120, offs=4) */ ATSstaticdec() ats_ptr_type appf_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_appf_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_p1at_loc) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_loc) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp4, tmp2) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_p1at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp6)->tag != 14) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_1) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (tmp3, arg0, tmp2, tmp7, tmp8) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp6)->tag != 22) { goto __ats_lab_6_0 ; } __ats_lab_1_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp6, atslab_0) ; tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp10)->tag != 12) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_1) ; tmp13 = list_extend_01337_ats_ptr_type (tmp12, tmp9) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta (tmp3, tmp11, ats_castfn_mac(ats_ptr_type, tmp13)) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp25 = (ats_sum_ptr_type)0 ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp24, atslab_0, tmp9) ; ats_selptrset_mac(anairiats_sum_5, tmp24, atslab_1, tmp25) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_sta (tmp3, arg0, tmp24) ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp27 = (ats_sum_ptr_type)0 ; tmp26 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp26, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp26, atslab_1, tmp27) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (tmp3, arg0, tmp2, -1, tmp26) ; break ; } while (0) ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp1)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp1, atslab_0, tmp5) ; return (tmp1) ; } /* end of [appf_1] */ typedef struct { ats_fun_ptr_type closure_fun ; } appf_1_closure_type ; ats_ptr_type appf_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return appf_1 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type appf_1_closure_init (appf_1_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&appf_1_clofun ; return ; } /* end of function */ ats_clo_ptr_type appf_1_closure_make () { appf_1_closure_type *p_clo = ATS_MALLOC(sizeof(appf_1_closure_type)) ; appf_1_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3310(line=124, offs=4) -- 3372(line=125, offs=51) */ ATSstaticdec() ats_ptr_type p1atitm_app_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_p1atitm_app_4: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (arg0, appf_1_closure_make ()) ; return (tmp28) ; } /* end of [p1atitm_app_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3424(line=130, offs=4) -- 3469(line=130, offs=49) */ ATSstaticdec() ats_ptr_type p1at_get_loc_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; __ats_lab_p1at_get_loc_5: tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_loc) ; return (tmp29) ; } /* end of [p1at_get_loc_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3574(line=137, offs=5) -- 3648(line=137, offs=79) */ ATSstaticdec() ats_ptr_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; __ats_lab___ats_fun_7: tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (arg0, arg1, arg2, -1, arg3) ; return (tmp31) ; } /* end of [__ats_fun_7] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_7_closure_type ; ats_ptr_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_7 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_7_closure_init (__ats_fun_7_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_7_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_7_closure_make () { __ats_fun_7_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_7_closure_type)) ; __ats_fun_7_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3474(line=132, offs=4) -- 3689(line=140, offs=4) */ ATSstaticdec() ats_ptr_type p1at_make_opr_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_p1at_make_opr_6: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (&p1at_get_loc_5, __ats_fun_7_closure_make (), arg0, arg1) ; return (tmp30) ; } /* end of [p1at_make_opr_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3804(line=145, offs=5) -- 3823(line=145, offs=24) */ ATSstaticdec() ats_ptr_type __ats_fun_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab___ats_fun_9: tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_loc) ; return (tmp33) ; } /* end of [__ats_fun_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3828(line=146, offs=5) -- 3902(line=146, offs=79) */ ATSstaticdec() ats_ptr_type __ats_fun_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; __ats_lab___ats_fun_10: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_app_dyn (arg0, arg1, arg2, -1, arg3) ; return (tmp34) ; } /* end of [__ats_fun_10] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_10_closure_type ; ats_ptr_type __ats_fun_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_10 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_10_closure_init (__ats_fun_10_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_10_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_10_closure_make () { __ats_fun_10_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_10_closure_type)) ; __ats_fun_10_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 3720(line=142, offs=4) -- 3954(line=149, offs=4) */ ATSstaticdec() ats_ptr_type p1atitm_backslash_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_p1atitm_backslash_8: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (&__ats_fun_9, __ats_fun_10_closure_make (), arg0) ; return (tmp32) ; } /* end of [p1atitm_backslash_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02045_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; __ats_lab_prerr_error1_loc_02045_: /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp38 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp38) */ ; } /* end of [prerr_error1_loc_02045_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 4017(line=155, offs=4) -- 4288(line=164, offs=4) */ ATSstaticdec() ats_ptr_type p0at_tr_errmsg_opr_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_p0at_tr_errmsg_opr_11: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p0at_loc) ; /* tmp37 = */ prerr_error1_loc_02045_ (tmp36) ; /* tmp40 = */ atspre_prerr_string (ATSstrcst(": the operator needs to be applied.")) ; /* tmp41 = */ atspre_prerr_newline () ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp43)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp43, atslab_0, arg0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp43) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_errpat (tmp36) ; return (tmp35) ; } /* end of [p0at_tr_errmsg_opr_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 6231(line=236, offs=8) -- 6376(line=241, offs=8) */ ATSstaticdec() ats_ptr_type f_16 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab_f_16: tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p1at_loc) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp106) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_exist (tmp105, env1, arg0) ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp104)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp104, atslab_0, tmp107) ; return (tmp104) ; } /* end of [f_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } f_16_closure_type ; ats_ptr_type f_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_16 (((f_16_closure_type*)cloptr)->closure_env_0, ((f_16_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type f_16_closure_init (f_16_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&f_16_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type f_16_closure_make (ats_ptr_type env0, ats_ptr_type env1) { f_16_closure_type *p_clo = ATS_MALLOC(sizeof(f_16_closure_type)) ; f_16_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; __ats_lab_prerr_interror_loc_02044_: /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp120 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp121 = */ prerr_FILENAME_02042_ () ; /* tmp118 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp118) */ ; } /* end of [prerr_interror_loc_02044_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 4405(line=174, offs=1) -- 7150(line=270, offs=4) */ ATSstaticdec() ats_ptr_type aux_item_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; __ats_lab_aux_item_14: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p0at_loc) ; tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p0at_node) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp47)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp48, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; if (!tmp49) { goto __ats_lab_8_1 ; } tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_any (tmp46) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp50) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp47)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp51, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; if (!tmp52) { goto __ats_lab_9_1 ; } tmp45 = p1atitm_backslash_8 (tmp46) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp47)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_9_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide (tmp46, tmp53) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp53) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp55 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_7, tmp55, atslab_0) ; ATS_FREE(tmp55) ; tmp45 = p1at_make_opr_6 (tmp54, tmp56) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp55 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp54) ; break ; } while (0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp47)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_4, tmp47, atslab_0) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_4, tmp47, atslab_1) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_dqid (tmp46, tmp57, tmp58) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp59) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp47)->tag != 2) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ide (tmp46, tmp60) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp61) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp47)->tag != 3) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_i0nt (tmp46, tmp62) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp63) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp47)->tag != 4) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_c0har (tmp46, tmp64) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp65) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp47)->tag != 5) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_f0loat (tmp46, tmp66) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp67) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp47)->tag != 6) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_s0tring (tmp46, tmp68) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp69) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp47)->tag != 7) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp71 = p1atitm_app_4 (tmp46) ; tmp72 = aux_itemlst_15 (arg0) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (tmp46, &p1at_get_loc_5, tmp71, tmp72) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp70) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp47)->tag != 8) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_2, tmp47, atslab_0) ; tmp74 = ats_caselptrlab_mac(anairiats_sum_2, tmp47, atslab_1) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr (tmp74) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_list (tmp46, tmp73, tmp75) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp76) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp47)->tag != 9) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_2, tmp47, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_2, tmp47, atslab_1) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr (tmp78) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_lst (tmp46, tmp77, tmp79) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp80) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp47)->tag != 10) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_1) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_2) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr (tmp83) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_tup (tmp46, tmp81, tmp82, tmp84) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp85) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp47)->tag != 11) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_1) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_8, tmp47, atslab_2) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0atlst_tr (tmp88) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_rec (tmp46, tmp86, tmp87, tmp89) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp90) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp47)->tag != 12) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp91) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_free (tmp46, tmp93) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp92) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp47)->tag != 13) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp94) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_unfold (tmp46, tmp96) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp95) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp47)->tag != 16) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_1) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_2) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp99) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_refas (tmp46, tmp97, tmp98, tmp101) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp100) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp47)->tag != 14) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0arglst_tr (tmp102) ; tmp108 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp108)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp108, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__exist_prec_dyn) ; ats_selptrset_mac(anairiats_sum_10, tmp108, atslab_1, f_16_closure_make (tmp46, tmp103)) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp45)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp45, atslab_0, tmp46) ; ats_selptrset_mac(anairiats_sum_4, tmp45, atslab_1, tmp108) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp47)->tag != 15) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr (tmp109) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_svararg (tmp46, tmp111) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp110) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp47)->tag != 17) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_4, tmp47, atslab_0) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_4, tmp47, atslab_1) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp112) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp113) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_ann (tmp46, tmp114, tmp115) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp116) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (((ats_sum_ptr_type)tmp47)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: /* tmp117 = */ prerr_interror_loc_02044_ (tmp46) ; /* tmp122 = */ atspre_fprint_string (stderr, ATSstrcst(": p0at_tr: p0t0 = ")) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (stderr, arg0) ; /* tmp124 = */ atspre_fprint_newline (stderr) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp45) ; } /* end of [aux_item_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 7233(line=275, offs=7) -- 7483(line=282, offs=44) */ ATSstaticdec() ats_ptr_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_loop_18: tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p0at_node) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp127)->tag != 7) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_4, tmp127, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_4, tmp127, atslab_1) ; tmp131 = aux_item_14 (tmp129) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, tmp131) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, arg1) ; arg0 = tmp128 ; arg1 = tmp130 ; goto __ats_lab_loop_18 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp132 = aux_item_14 (arg0) ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp126, atslab_0, tmp132) ; ats_selptrset_mac(anairiats_sum_5, tmp126, atslab_1, arg1) ; break ; } while (0) ; return (tmp126) ; } /* end of [loop_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 7182(line=273, offs=1) -- 7536(line=286, offs=4) */ ATSstaticdec() ats_ptr_type aux_itemlst_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab_aux_itemlst_15: tmp133 = (ats_sum_ptr_type)0 ; tmp125 = loop_18 (arg0, tmp133) ; return (tmp125) ; } /* end of [aux_itemlst_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 4361(line=169, offs=9) -- 7668(line=294, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr: tmp134 = aux_item_14 (arg0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp134)->tag != 0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_3, tmp134, atslab_0) ; tmp44 = tmp135 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (((ats_sum_ptr_type)tmp134)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp44 = p0at_tr_errmsg_opr_11 (arg0) ; break ; } while (0) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 7736(line=300, offs=3) -- 7940(line=311, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0at_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0at_tr: tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_labp0at_loc) ; tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_labp0at_node) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp138 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_1) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp140) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_norm (tmp137, tmp139, tmp141) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp138 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labp1at_omit (tmp137) ; break ; } while (0) ; return (tmp136) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0at_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_loop_23: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp149 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp147, arg3) ; tmp150 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp150, atslab_0, tmp149) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp150 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp151 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp148 ; arg1 = arg1 ; arg2 = tmp151 ; arg3 = arg3 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp152 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp152 ; break ; } while (0) ; return /* (tmp146) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp153 ; */ /* tmp154 = */ loop_23 (arg0, arg1, (&tmp153), arg2) ; tmp145 = tmp153 ; return (tmp145) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp144 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp144) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 8009(line=316, offs=12) -- 8047(line=316, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr: tmp143 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr) ; tmp142 = ats_castfn_mac(ats_ptr_type, tmp143) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0atlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_p0at.dats: 8076(line=319, offs=15) -- 8119(line=319, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0atlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0atlst_tr: tmp156 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0at_tr) ; tmp155 = ats_castfn_mac(ats_ptr_type, tmp156) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labp0atlst_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_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 () ; #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_trans1_p0at_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_jsonize_synent2_dats.c0000664000175000017500000064044412655455557021760 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_d2sym_loc ; ats_ptr_type atslab_d2sym_qua ; ats_ptr_type atslab_d2sym_sym ; ats_ptr_type atslab_d2sym_pitmlst ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_gm2at_loc ; ats_ptr_type atslab_gm2at_exp ; ats_ptr_type atslab_gm2at_pat ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_30 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_31 ; typedef struct { ats_ptr_type atslab_i2mpdec_loc ; ats_ptr_type atslab_i2mpdec_locid ; ats_ptr_type atslab_i2mpdec_cst ; ats_ptr_type atslab_i2mpdec_imparg ; ats_ptr_type atslab_i2mpdec_tmparg ; ats_ptr_type atslab_i2mpdec_tmpgua ; ats_ptr_type atslab_i2mpdec_def ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_33 ; typedef struct { anairiats_rec_33 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_34 ; typedef struct { ats_ptr_type atslab_f2undec_loc ; ats_ptr_type atslab_f2undec_var ; ats_ptr_type atslab_f2undec_def ; ats_ptr_type atslab_f2undec_ann ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_v2aldec_loc ; ats_ptr_type atslab_v2aldec_pat ; ats_ptr_type atslab_v2aldec_def ; ats_ptr_type atslab_v2aldec_ann ; } anairiats_rec_36 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlablist_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONoption_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_pair) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval5) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval6) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_valkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_dcstkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbolopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_filename) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_get_s2rt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2eclist_mapgen_all) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_tyreckind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_labs2explst) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2eff) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2zexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2expopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cstlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var_long) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2itm) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2ecl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s2rtbas) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c0har) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s0tring) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_pckind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2expopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2explst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparglst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lab) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2lau) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2laulst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i2mpdec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undeclst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldeclst) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type jsonize_list_fun_02730_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_27 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_29 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_32 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_48 (ats_ptr_type arg0) ; static ats_ptr_type jsonize_option_fun_02731_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_55 (ats_ptr_type arg0) ; static ats_ptr_type auxmain_63 (ats_ptr_type arg0) ; static ats_ptr_type auxmain_70 (ats_ptr_type arg0) ; static ats_void_type loop_79 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 2459(line=110, offs=3) -- 2706(line=120, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s2rtbas (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s2rtbas: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp1) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp2) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym (tmp3) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp4) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s2rtbas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 2782(line=126, offs=3) -- 3450(line=160, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s2rtbas (tmp6) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2RTbas"), tmp7) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst (tmp8) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt (tmp9) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2RTfun"), tmp10, tmp11) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst (tmp12) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2RTtup"), tmp13) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_get_s2rt (tmp14) ; arg0 = tmp15 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("S2RTerr")) ; break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_loop_5: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp23 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp21, arg3) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp24, atslab_0, tmp23) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp24 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp25 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp22 ; arg1 = arg1 ; arg2 = tmp25 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp26 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp26 ; break ; } while (0) ; return /* (tmp20) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp27 ; */ /* tmp28 = */ loop_5 (arg0, arg1, (&tmp27), arg2) ; tmp19 = tmp27 ; return (tmp19) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp18 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp18) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 3528(line=166, offs=3) -- 3644(line=173, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst: tmp17 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp16)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_0, ats_castfn_mac(ats_ptr_type, tmp17)) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 3721(line=179, offs=3) -- 3834(line=186, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_int_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst: tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp (arg0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp31) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("s2cst_stamp"), tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 3895(line=190, offs=3) -- 4506(line=228, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp34) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt (tmp36) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_stamp (arg0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp38) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_supcls (arg0) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst (tmp40) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg0) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp41 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp41 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp41, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst (tmp43) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp44) ; break ; } while (0) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval5 (ATSstrcst("s2cst_sym"), tmp33, ATSstrcst("s2cst_srt"), tmp35, ATSstrcst("s2cst_stamp"), tmp37, ATSstrcst("s2cst_supcls"), tmp39, ATSstrcst("s2cst_dconlst"), tmp42) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 11075(line=553, offs=17) -- 11240(line=565, offs=4) */ ATSstaticdec() ats_ptr_type jsonize_list_fun_02730_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_jsonize_list_fun_02730_ats_ptr_type: tmp47 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, arg1) ; tmp46 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp46)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp46, atslab_0, ats_castfn_mac(ats_ptr_type, tmp47)) ; return (tmp46) ; } /* end of [jsonize_list_fun_02730_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 4589(line=234, offs=3) -- 4646(line=236, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst: tmp45 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 4736(line=243, offs=3) -- 5055(line=263, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtdat_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtdat_long: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym (arg0) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp50) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp (arg0) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp52) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst (arg0) ; tmp53 = jsonize_list_fun_02730_ats_ptr_type (tmp54, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("s2rtdat_sym"), tmp49, ATSstrcst("s2rtdat_stamp"), tmp51, ATSstrcst("s2rtdat_sconlst"), tmp53) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rtdat_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 5139(line=269, offs=3) -- 5254(line=276, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_int_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (arg0) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp57) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("s2var_stamp"), tmp56) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 5315(line=280, offs=3) -- 5568(line=293, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long: tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg0) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp60) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt (tmp62) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (arg0) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp64) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("s2var_sym"), tmp59, ATSstrcst("s2var_srt"), tmp61, ATSstrcst("s2var_stamp"), tmp63) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 5653(line=299, offs=3) -- 5770(line=306, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst: tmp66 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp65)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_0, ats_castfn_mac(ats_ptr_type, tmp66)) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 5848(line=312, offs=3) -- 6040(line=321, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp (arg0) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp69) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (arg0) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2zexp (tmp71) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("s2Var_stamp"), tmp68, ATSstrcst("s2Var_szexp"), tmp70) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 6097(line=324, offs=20) -- 6123(line=324, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var_long: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var (arg0) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 6175(line=330, offs=3) -- 6290(line=337, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp (arg0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp75) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("d2con_stamp"), tmp74) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 6351(line=341, offs=3) -- 6616(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con_long: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp78) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type (arg0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (tmp80) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp (arg0) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp82) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("d2con_sym"), tmp77, ATSstrcst("d2con_type"), tmp79, ATSstrcst("d2con_stamp"), tmp81) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 6701(line=365, offs=3) -- 6758(line=367, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst: tmp83 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 6845(line=374, offs=3) -- 7234(line=388, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_tyreckind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_tyreckind: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("TYRECKINDbox")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("TYRECKINDbox_lin")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("TYRECKINDflt0")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp85) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("TYRECKINDflt1"), tmp86) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp87) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("TYRECKINDflt_ext"), tmp88) ; break ; } while (0) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_tyreckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7317(line=394, offs=3) -- 7357(line=394, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (0, arg0) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7385(line=397, offs=3) -- 7425(line=397, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (1, arg0) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7483(line=403, offs=3) -- 7528(line=403, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (0, arg0) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7559(line=406, offs=3) -- 7604(line=406, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2explst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2explst: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (1, arg0) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7662(line=412, offs=3) -- 7705(line=412, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2expopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2expopt: tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt (0, arg0) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7736(line=415, offs=3) -- 7779(line=415, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2expopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2expopt: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt (1, arg0) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize1_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7857(line=423, offs=5) -- 10923(line=545, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_27 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_auxmain_27: tmp98 = atspre_eq_int_int (arg0, 0) ; if (tmp98) { tmp97 = arg1 ; } else { tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg1) ; } /* end of [if] */ tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp97), atslab_s2exp_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp99)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_7, tmp99, atslab_0) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp100) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Eint"), tmp101) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp99)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_intinf (tmp102) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Eintinf"), tmp103) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp99)->tag != 4) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst (tmp104) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Ecst"), tmp105) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp99)->tag != 5) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp106) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Eextype"), tmp107) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp99)->tag != 6) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp108) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Eextkind"), tmp109) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp99)->tag != 7) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var (tmp110) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Evar"), tmp111) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp99)->tag != 8) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var (tmp112) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2EVar"), tmp113) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp99)->tag != 13) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp114) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Esizeof"), tmp115) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp99)->tag != 15) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_1) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp116) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp117) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2Eeqeq"), tmp118, tmp119) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp99)->tag != 17) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_1) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp120) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp121) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2Eapp"), tmp122, tmp123) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp99)->tag != 19) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_9, tmp99, atslab_3) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_9, tmp99, atslab_4) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_9, tmp99, atslab_5) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp124) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp125) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp126) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("S2Efun"), tmp127, tmp128, tmp129) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp99)->tag != 21) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_1) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp130) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp131) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2Emetdec"), tmp132, tmp133) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp99)->tag != 24) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_4, tmp99, atslab_1) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp134) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp135) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2Etyarr"), tmp136, tmp137) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp99)->tag != 25) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_10, tmp99, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_10, tmp99, atslab_1) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_10, tmp99, atslab_2) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_tyreckind (tmp138) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp139) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_labs2explst (arg0, tmp140) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("S2Etyrec"), tmp141, tmp142, tmp143) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp99)->tag != 26) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_0) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp144) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2Einvar"), tmp145) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp99)->tag != 27) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_1) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_2) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst (tmp146) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp147) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp148) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("S2Eexi"), tmp149, tmp150, tmp151) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp99)->tag != 28) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_0) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_1) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_11, tmp99, atslab_2) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst (tmp152) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (arg0, tmp153) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp154) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("S2Euni"), tmp155, tmp156, tmp157) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp99)->tag != 22) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_3, tmp99, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_3, tmp99, atslab_1) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp159) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp158) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("S2Etop"), tmp161, tmp160) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp99)->tag != 32) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("S2Eerr")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("S2Eignored")) ; break ; } while (0) ; return (tmp96) ; } /* end of [auxmain_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 7831(line=421, offs=3) -- 11103(line=553, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp: tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_s2exp_srt) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2rt (tmp162) ; tmp164 = auxmain_27 (arg0, arg1) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("s2exp_srt"), tmp163, ATSstrcst("s2exp_node"), tmp164) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 11207(line=561, offs=5) -- 11509(line=576, offs=37) */ ATSstaticdec() ats_ptr_type auxlst_29 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab_auxlst_29: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp167) ; tmp170 = auxlst_29 (arg0, tmp168) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_0, tmp169) ; ats_selptrset_mac(anairiats_sum_5, tmp166, atslab_1, tmp170) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp166 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp166) ; } /* end of [auxlst_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 11181(line=559, offs=3) -- 11552(line=580, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst: tmp171 = auxlst_29 (arg0, arg1) ; tmp165 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp165)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp165, atslab_0, tmp171) ; return (tmp165) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 11633(line=586, offs=3) -- 11772(line=593, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp173 = (ats_sum_ptr_type)0 ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp172)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_0, tmp173) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp174) ; tmp175 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp175, atslab_0, tmp176) ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp172)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_0, tmp175) ; break ; } while (0) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 11883(line=601, offs=5) -- 12434(line=623, offs=36) */ ATSstaticdec() ats_ptr_type auxlst_32 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; __ats_lab_auxlst_32: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; // tmp181 = ats_caselptrlab_mac(anairiats_sum_12, tmp179, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_12, tmp179, atslab_1) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_12, tmp179, atslab_2) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label (tmp181) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp182 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp182 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_6, tmp182, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp186) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp187) ; break ; } while (0) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2exp (arg0, tmp183) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("SL0ABELED"), tmp184, tmp185, tmp188) ; tmp190 = auxlst_32 (arg0, tmp180) ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp178, atslab_0, tmp189) ; ats_selptrset_mac(anairiats_sum_5, tmp178, atslab_1, tmp190) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp178 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp178) ; } /* end of [auxlst_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 11856(line=599, offs=3) -- 12478(line=627, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_labs2explst (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_labs2explst: tmp191 = auxlst_32 (arg0, arg1) ; tmp177 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp177)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp177, atslab_0, tmp191) ; return (tmp177) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_labs2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 12557(line=632, offs=15) -- 12587(line=632, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2eff (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2eff: tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (arg0) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 12638(line=638, offs=3) -- 12896(line=652, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2zexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2zexp: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("S2ZEbot")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var (tmp194) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("S2ZEvar"), tmp195) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("S2ZEignored")) ; break ; } while (0) ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14519(line=745, offs=3) -- 14617(line=752, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt: tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp197)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14538(line=747, offs=5) -- 14584(line=748, offs=36)") ; } tmp198 = ats_caselptrlab_mac(anairiats_sum_14, tmp197, atslab_1) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp198) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14670(line=756, offs=3) -- 14761(line=762, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c0har (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_char_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c0har: tmp200 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp200)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14689(line=758, offs=5) -- 14720(line=758, offs=36)") ; } tmp201 = ats_caselptrlab_mac(anairiats_sum_15, tmp200, atslab_0) ; tmp202 = atspre_int_of_char (tmp201) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp202) ; return (tmp199) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14819(line=766, offs=3) -- 14919(line=773, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat: tmp204 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp204)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14838(line=768, offs=5) -- 14886(line=769, offs=36)") ; } tmp205 = ats_caselptrlab_mac(anairiats_sum_14, tmp204, atslab_1) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp205) ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14976(line=777, offs=3) -- 15063(line=783, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s0tring (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s0tring: tmp207 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp207)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 14995(line=779, offs=5) -- 15030(line=779, offs=40)") ; } tmp208 = ats_caselptrlab_mac(anairiats_sum_2, tmp207, atslab_0) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp208) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 15142(line=789, offs=3) -- 15257(line=796, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst: tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg0) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp211) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("d2cst_stamp"), tmp210) ; return (tmp209) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 15393(line=804, offs=3) -- 15658(line=822, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst_long: tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg0) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp214) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg0) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (tmp216) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg0) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp218) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("d2cst_sym"), tmp213, ATSstrcst("d2cst_type"), tmp215, ATSstrcst("d2cst_stamp"), tmp217) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 15741(line=828, offs=3) -- 15798(line=830, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cstlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cstlst: tmp219 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst) ; return (tmp219) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 15881(line=837, offs=3) -- 15998(line=844, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg0) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp222) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("d2var_stamp"), tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 16078(line=850, offs=3) -- 16270(line=864, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var_long (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var_long: tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp225) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg0) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (tmp227) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("d2var_sym"), tmp224, ATSstrcst("d2var_stamp"), tmp226) ; return (tmp223) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var_long] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 16350(line=870, offs=3) -- 16896(line=900, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2itm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2itm: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst (tmp229) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2ITMcst"), tmp230) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp231 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp231) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2ITMvar"), tmp232) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst (tmp233) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2ITMcon"), tmp234) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2ITMignored")) ; break ; } while (0) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 16971(line=906, offs=3) -- 17075(line=913, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2sym: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d2sym_sym) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp237) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("d2sym_sym"), tmp236) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 17492(line=932, offs=16) -- 17694(line=938, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_pckind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_pckind: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("PCKcon")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("PCKlincon")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("PCKfree")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("PCKunfold")) ; break ; } while (0) ; return (tmp238) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_pckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 17794(line=947, offs=5) -- 19884(line=1034, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_48 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_char_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_auxmain_48: tmp241 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp241)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("P2Tany")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp241)->tag != 1) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp242) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tvar"), tmp243) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp241)->tag != 2) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp244 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_0) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_1) ; tmp246 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_2) ; tmp247 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_3) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_4) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_18, tmp241, atslab_5) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_pckind (tmp244) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con (tmp245) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp246) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp247) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp248) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst (tmp249) ; tmp262 = (ats_sum_ptr_type)0 ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp261, atslab_0, tmp255) ; ats_selptrset_mac(anairiats_sum_5, tmp261, atslab_1, tmp262) ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp260, atslab_0, tmp254) ; ats_selptrset_mac(anairiats_sum_5, tmp260, atslab_1, tmp261) ; tmp259 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp259, atslab_0, tmp253) ; ats_selptrset_mac(anairiats_sum_5, tmp259, atslab_1, tmp260) ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp258, atslab_0, tmp252) ; ats_selptrset_mac(anairiats_sum_5, tmp258, atslab_1, tmp259) ; tmp257 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp257, atslab_0, tmp251) ; ats_selptrset_mac(anairiats_sum_5, tmp257, atslab_1, tmp258) ; tmp256 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_0, tmp250) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_1, tmp257) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (ATSstrcst("P2Tcon"), tmp256) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp241)->tag != 3) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_7, tmp241, atslab_0) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp263) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tint"), tmp264) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp241)->tag != 4) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp265 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp265) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tintrep"), tmp266) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp241)->tag != 5) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp267 = ats_caselptrlab_mac(anairiats_sum_19, tmp241, atslab_0) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_bool (tmp267) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tbool"), tmp268) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp241)->tag != 6) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp269 = ats_caselptrlab_mac(anairiats_sum_15, tmp241, atslab_0) ; tmp271 = atspre_int_of_char (tmp269) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp271) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tchar"), tmp270) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp241)->tag != 7) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp272) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tfloat"), tmp273) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp241)->tag != 8) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp274) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tstring"), tmp275) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp241)->tag != 9) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt (tmp276) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Ti0nt"), tmp277) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp241)->tag != 10) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat (tmp278) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tf0loat"), tmp279) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp241)->tag != 11) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("P2Tempty")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp241)->tag != 13) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_20, tmp241, atslab_0) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_20, tmp241, atslab_1) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_20, tmp241, atslab_2) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp280) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp281) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2atlst (tmp282) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("P2Trec"), tmp283, tmp284, tmp285) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp241)->tag != 14) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_1) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp286) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at (tmp287) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("P2Trefas"), tmp288, tmp289) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp241)->tag != 16) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_2, tmp241, atslab_0) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp290) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("P2Tvbox"), tmp291) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp241)->tag != 17) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_4, tmp241, atslab_1) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at (tmp292) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (tmp293) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("P2Tann"), tmp294, tmp295) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp241)->tag != 19) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("P2Terrpat")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("P2Tignored")) ; break ; } while (0) ; return (tmp240) ; } /* end of [auxmain_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 17774(line=945, offs=3) -- 20054(line=1042, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at: tmp296 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_p2at_loc) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp296) ; tmp298 = auxmain_48 (arg0) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("p2at_loc"), tmp297, ATSstrcst("p2at_node"), tmp298) ; return (tmp239) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 20130(line=1048, offs=3) -- 20185(line=1050, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst: tmp299 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at) ; return (tmp299) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 11331(line=571, offs=19) -- 11485(line=583, offs=4) */ ATSstaticdec() ats_ptr_type jsonize_option_fun_02731_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab_jsonize_option_fun_02731_ats_ptr_type: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp303 = ((ats_ptr_type(*)(ats_ptr_type))arg1) (tmp302) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp303) ; break ; } while (0) ; return (tmp301) ; } /* end of [jsonize_option_fun_02731_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 20245(line=1055, offs=3) -- 20306(line=1057, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atopt: tmp300 = jsonize_option_fun_02731_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 20385(line=1063, offs=17) -- 20795(line=1082, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2at (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2at: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp305), atslab_l0ab_lab) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label (tmp308) ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at (tmp306) ; tmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_pair (tmp307, tmp309) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("LABP2ATnorm"), tmp310) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp311 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp311) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing (tmp312) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("LABP2ATomit"), tmp313) ; break ; } while (0) ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 20877(line=1088, offs=3) -- 20940(line=1090, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2atlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2atlst: tmp314 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2at) ; return (tmp314) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labp2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 21040(line=1098, offs=5) -- 25911(line=1297, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_55 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_int_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_int_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_int_type, tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_int_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; __ats_lab_auxmain_55: tmp317 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp317)->tag != 0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp318 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst (tmp318) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Ecst"), tmp319) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp317)->tag != 1) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp320) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Evar"), tmp321) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp317)->tag != 2) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_7, tmp317, atslab_0) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp322) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Eint"), tmp323) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp317)->tag != 3) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp324) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Eintrep"), tmp325) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp317)->tag != 8) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i0nt (tmp326) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Ei0nt"), tmp327) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp317)->tag != 9) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c0har (tmp328) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Ec0har"), tmp329) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp317)->tag != 10) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp330 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f0loat (tmp330) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Ef0loat"), tmp331) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp317)->tag != 11) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_s0tring (tmp332) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Es0tring"), tmp333) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp317)->tag != 21) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp334 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2sym (tmp334) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Esym"), tmp335) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp317)->tag != 14) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2Eempty")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp317)->tag != 25) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp337 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp336) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp337) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Elet"), tmp338, tmp339) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp317)->tag != 26) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp340 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp341) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp340) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Ewhere"), tmp343, tmp342) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp317)->tag != 27) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp344) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparglst (tmp345) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Eapplst"), tmp346, tmp347) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp317)->tag != 28) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_0) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_1) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_2) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_3) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp348) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp349) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp350) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2expopt (tmp351) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4 (ATSstrcst("D2Eifhead"), tmp352, tmp353, tmp354, tmp355) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp317)->tag != 30) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp356 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_0) ; tmp357 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_1) ; tmp358 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_2) ; tmp359 = ats_caselptrlab_mac(anairiats_sum_23, tmp317, atslab_3) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind (tmp356) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp357) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp358) ; tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2laulst (tmp359) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4 (ATSstrcst("D2Ecasehead"), tmp360, tmp361, tmp362, tmp363) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp317)->tag != 32) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp365 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp364) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Esing"), tmp365) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp317)->tag != 33) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp366 = ats_caselptrlab_mac(anairiats_sum_3, tmp317, atslab_0) ; tmp367 = ats_caselptrlab_mac(anairiats_sum_3, tmp317, atslab_1) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp366) ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp367) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Elist"), tmp368, tmp369) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp317)->tag != 35) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_0) ; tmp371 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_1) ; tmp372 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_2) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp370) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp371) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp372) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Etup"), tmp373, tmp374, tmp375) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp317)->tag != 36) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_1) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_20, tmp317, atslab_2) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp376) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp377) ; tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2explst (tmp378) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Erec"), tmp379, tmp380, tmp381) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp317)->tag != 37) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_2, tmp317, atslab_0) ; tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp382) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Eseq"), tmp383) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp317)->tag != 38) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp384) ; tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lablst (tmp385) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Eselab"), tmp386, tmp387) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp317)->tag != 53) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_24, tmp317, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_24, tmp317, atslab_1) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_24, tmp317, atslab_2) ; tmp391 = ats_caselptrlab_mac(anairiats_sum_24, tmp317, atslab_3) ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp388) ; tmp393 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp389) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst (tmp390) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp391) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4 (ATSstrcst("D2Elam_dyn"), tmp392, tmp393, tmp394, tmp395) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp317)->tag != 56) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp396 = ats_caselptrlab_mac(anairiats_sum_11, tmp317, atslab_1) ; tmp397 = ats_caselptrlab_mac(anairiats_sum_11, tmp317, atslab_2) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst (tmp396) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp397) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Elam_met"), tmp398, tmp399) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp317)->tag != 55) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp400 = ats_caselptrlab_mac(anairiats_sum_11, tmp317, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_11, tmp317, atslab_1) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_11, tmp317, atslab_2) ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2varlst (tmp400) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2explst (tmp401) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp402) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Elam_sta"), tmp403, tmp404, tmp405) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp317)->tag != 64) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp406 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp407 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp406) ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (tmp407) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Eann_type"), tmp408, tmp409) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp317)->tag != 65) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp411 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp410) ; tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2eff (tmp411) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Eann_seff"), tmp412, tmp413) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp317)->tag != 66) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp414 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_1) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp414) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funclo (tmp415) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Eann_funclo"), tmp416, tmp417) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp317)->tag != 72) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2Eerrexp")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: /* tmp418 = */ atspre_prerr_string (ATSstrcst("warning(ATS): [jsonize_d2exp]: ignored: ")) ; /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg0) ; /* tmp420 = */ atspre_prerr_newline () ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2Eignored")) ; break ; } while (0) ; return (tmp316) ; } /* end of [auxmain_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 21020(line=1096, offs=15) -- 26084(line=1305, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp: tmp421 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_d2exp_loc) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp421) ; tmp423 = auxmain_55 (arg0) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("d2exp_loc"), tmp422, ATSstrcst("d2exp_node"), tmp423) ; return (tmp315) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 26164(line=1311, offs=3) -- 26221(line=1313, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp424) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst: tmp424 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp) ; return (tmp424) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 26302(line=1319, offs=18) -- 26419(line=1326, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2expopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2expopt: do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp426 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp426) ; tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp427) ; break ; } while (0) ; return (tmp425) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 26500(line=1332, offs=3) -- 26671(line=1338, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2exp: // tmp429 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp430 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp432 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp429), atslab_l0ab_lab) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label (tmp432) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp430) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("DL0ABELED"), tmp431, tmp433) ; return (tmp428) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 26755(line=1344, offs=3) -- 26820(line=1346, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2explst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp434) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2explst: tmp434 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2exp) ; return (tmp434) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_labd2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 26906(line=1353, offs=3) -- 27409(line=1375, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_int_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparg: do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp437 = (ats_sum_ptr_type)0 ; tmp436 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp436)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp436, atslab_0, tmp437) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("D2EXPARGsta"), tmp436) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_25, arg0, atslab_0) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_25, arg0, atslab_1) ; tmp440 = ats_caselptrlab_mac(anairiats_sum_25, arg0, atslab_2) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp438) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp439) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp440) ; tmp448 = (ats_sum_ptr_type)0 ; tmp447 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp447, atslab_0, tmp443) ; ats_selptrset_mac(anairiats_sum_5, tmp447, atslab_1, tmp448) ; tmp446 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp446, atslab_0, tmp442) ; ats_selptrset_mac(anairiats_sum_5, tmp446, atslab_1, tmp447) ; tmp445 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp445, atslab_0, tmp441) ; ats_selptrset_mac(anairiats_sum_5, tmp445, atslab_1, tmp446) ; tmp444 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp444)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp444, atslab_0, tmp445) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("D2EXPARGdyn"), tmp444) ; break ; } while (0) ; return (tmp435) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 27495(line=1381, offs=3) -- 27558(line=1383, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparglst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp449) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparglst: tmp449 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparg) ; return (tmp449) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 27661(line=1392, offs=5) -- 28034(line=1411, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_63 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; __ats_lab_auxmain_63: tmp452 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_d2lab_node) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp452)->tag != 0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp453 = ats_caselptrlab_mac(anairiats_sum_2, tmp452, atslab_0) ; tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label (tmp453) ; tmp455 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing (tmp454) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("D2LABlab"), tmp455) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (((ats_sum_ptr_type)tmp452)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp456 = ats_caselptrlab_mac(anairiats_sum_2, tmp452, atslab_0) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2explst (tmp456) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing (tmp457) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("D2LABind"), tmp458) ; break ; } while (0) ; return (tmp451) ; } /* end of [auxmain_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 27641(line=1390, offs=3) -- 28207(line=1419, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lab (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lab: tmp459 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_d2lab_loc) ; tmp460 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp459) ; tmp461 = auxmain_63 (arg0) ; tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("d2lab_loc"), tmp460, ATSstrcst("d2lab_node"), tmp461) ; return (tmp450) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 28285(line=1425, offs=3) -- 28342(line=1427, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lablst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp462) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lablst: tmp462 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lab) ; return (tmp462) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2lablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 28422(line=1434, offs=3) -- 28651(line=1447, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2at (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2at: tmp465 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_gm2at_loc) ; tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp465) ; tmp467 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_gm2at_exp) ; tmp466 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp467) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_gm2at_pat) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atopt (tmp469) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ATSstrcst("gm2at_loc"), tmp464, ATSstrcst("gm2at_exp"), tmp466, ATSstrcst("gm2at_pat"), tmp468) ; return (tmp463) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 28708(line=1451, offs=3) -- 28767(line=1453, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2atlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp470) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2atlst: tmp470 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2at) ; return (tmp470) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 28847(line=1460, offs=3) -- 29292(line=1481, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2lau (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_int_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2lau: tmp473 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_loc) ; tmp472 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp473) ; tmp475 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_pat) ; tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2atlst (tmp475) ; tmp477 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_gua) ; tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_gm2atlst (tmp477) ; tmp479 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_seq) ; tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp479) ; tmp481 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_neg) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp481) ; tmp483 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_c2lau_body) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp483) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval6 (ATSstrcst("c2lau_loc"), tmp472, ATSstrcst("c2lau_pat"), tmp474, ATSstrcst("c2lau_gua"), tmp476, ATSstrcst("c2lau_seq"), tmp478, ATSstrcst("c2lau_neg"), tmp480, ATSstrcst("c2lau_body"), tmp482) ; return (tmp471) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2lau] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 29370(line=1487, offs=3) -- 29427(line=1489, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2laulst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp484) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2laulst: tmp484 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2lau) ; return (tmp484) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_c2laulst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 29608(line=1505, offs=5) -- 33028(line=1646, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_70 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_int_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_int_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_int_type, tmp511) ; ATSlocal (ats_int_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_int_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_int_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_int_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; __ats_lab_auxmain_70: tmp487 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg0), atslab_d2ecl_node) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp487)->tag != 0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2Cnone")) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp487)->tag != 1) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp488 = ats_caselptrlab_mac(anairiats_sum_2, tmp487, atslab_0) ; tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp488) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Clist"), tmp489) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp487)->tag != 4) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_10, tmp487, atslab_0) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_10, tmp487, atslab_1) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_10, tmp487, atslab_2) ; tmp494 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, tmp490), atslab_i0de_sym) ; tmp493 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp494) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp491) ; tmp496 = jsonize_option_fun_02731_ats_ptr_type (tmp492, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2itm) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Coverload"), tmp493, tmp495, tmp496) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp487)->tag != 7) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp497 = ats_caselptrlab_mac(anairiats_sum_2, tmp487, atslab_0) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst (tmp497) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Cstacsts"), tmp498) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp487)->tag != 8) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp499 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_0) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_1) ; tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp499) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst (tmp500) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cstacsts"), tmp501, tmp502) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp487)->tag != 10) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp503 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_0) ; tmp504 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_1) ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp503) ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2exp (tmp504) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cextype"), tmp505, tmp506) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp487)->tag != 11) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp507 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_0) ; tmp508 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_1) ; tmp509 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp507) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp508) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cextvar"), tmp509, tmp510) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp487)->tag != 12) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_20, tmp487, atslab_0) ; tmp512 = ats_caselptrlab_mac(anairiats_sum_20, tmp487, atslab_1) ; tmp513 = ats_caselptrlab_mac(anairiats_sum_20, tmp487, atslab_2) ; tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp511) ; tmp515 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp512) ; tmp516 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp513) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Cextcode"), tmp514, tmp515, tmp516) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp487)->tag != 13) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_0) ; tmp518 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_1) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp517) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cstlst (tmp518) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cdatdecs"), tmp519, tmp520) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp487)->tag != 14) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp521 = ats_caselptrlab_mac(anairiats_sum_2, tmp487, atslab_0) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2conlst (tmp521) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ATSstrcst("D2Cexndecs"), tmp522) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp487)->tag != 15) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_25, tmp487, atslab_0) ; tmp524 = ats_caselptrlab_mac(anairiats_sum_25, tmp487, atslab_1) ; tmp525 = ats_caselptrlab_mac(anairiats_sum_25, tmp487, atslab_2) ; tmp526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp523) ; tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_dcstkind (tmp524) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cstlst (tmp525) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Cdcstdecs"), tmp526, tmp527, tmp528) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp487)->tag != 16) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp529 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_0) ; tmp530 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_1) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp529) ; tmp532 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i2mpdec (tmp530) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cimpdec"), tmp531, tmp532) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp487)->tag != 17) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp533 = ats_caselptrlab_mac(anairiats_sum_11, tmp487, atslab_0) ; tmp534 = ats_caselptrlab_mac(anairiats_sum_11, tmp487, atslab_1) ; tmp535 = ats_caselptrlab_mac(anairiats_sum_11, tmp487, atslab_2) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funkind (tmp533) ; tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp534) ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undeclst (tmp535) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ATSstrcst("D2Cfundecs"), tmp536, tmp537, tmp538) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp487)->tag != 18) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp539 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_0) ; tmp540 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_1) ; tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_valkind (tmp539) ; tmp542 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldeclst (tmp540) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cvaldecs"), tmp541, tmp542) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp487)->tag != 22) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp543 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_0) ; tmp544 = ats_caselptrlab_mac(anairiats_sum_3, tmp487, atslab_1) ; tmp545 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp543) ; tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp544) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cinclude"), tmp545, tmp546) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp487)->tag != 23) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp547 = ats_caselptrlab_mac(anairiats_sum_31, tmp487, atslab_0) ; tmp548 = ats_caselptrlab_mac(anairiats_sum_31, tmp487, atslab_1) ; tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbolopt (tmp547) ; tmp550 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_filename (tmp548) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Cstaload"), tmp549, tmp550) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp487)->tag != 26) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp551 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_0) ; tmp552 = ats_caselptrlab_mac(anairiats_sum_4, tmp487, atslab_1) ; tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp551) ; tmp554 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (tmp552) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ATSstrcst("D2Clocal"), tmp553, tmp554) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ATSstrcst("D2Cignored")) ; break ; } while (0) ; return (tmp486) ; } /* end of [auxmain_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 29507(line=1496, offs=3) -- 33207(line=1657, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2ecl (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2ecl: tmp555 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg0), atslab_d2ecl_loc) ; tmp556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp555) ; tmp557 = auxmain_70 (arg0) ; tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("d2ecl_loc"), tmp556, ATSstrcst("d2ecl_node"), tmp557) ; return (tmp485) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 33285(line=1662, offs=18) -- 33340(line=1663, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp558) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist: tmp558 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2ecl) ; return (tmp558) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 33393(line=1669, offs=3) -- 34042(line=1696, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i2mpdec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (anairiats_rec_33, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (anairiats_rec_33, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (anairiats_rec_33, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (anairiats_rec_33, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (anairiats_rec_33, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (anairiats_rec_33, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (anairiats_rec_33, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i2mpdec: tmp561 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_loc) ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp561) ; tmp563 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_locid) ; tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp563) ; tmp565 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_cst) ; tmp564 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst (tmp565) ; tmp567 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_imparg) ; tmp566 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp567) ; tmp569 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_tmparg) ; tmp568 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp569) ; tmp571 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_tmpgua) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp571) ; tmp573 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_i2mpdec_def) ; tmp572 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp573) ; tmp575.atslab_0 = ATSstrcst("i2mpdec_loc") ; tmp575.atslab_1 = tmp560 ; tmp577.atslab_0 = ATSstrcst("i2mpdec_locid") ; tmp577.atslab_1 = tmp562 ; tmp579.atslab_0 = ATSstrcst("i2mpdec_cst") ; tmp579.atslab_1 = tmp564 ; tmp581.atslab_0 = ATSstrcst("i2mpdec_imparg") ; tmp581.atslab_1 = tmp566 ; tmp583.atslab_0 = ATSstrcst("i2mpdec_tmparg") ; tmp583.atslab_1 = tmp568 ; tmp585.atslab_0 = ATSstrcst("i2mpdec_tmpgua") ; tmp585.atslab_1 = tmp570 ; tmp587.atslab_0 = ATSstrcst("i2mpdec_def") ; tmp587.atslab_1 = tmp572 ; tmp588 = (ats_sum_ptr_type)0 ; tmp586 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp586, atslab_0, tmp587) ; ats_selptrset_mac(anairiats_sum_34, tmp586, atslab_1, tmp588) ; tmp584 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp584, atslab_0, tmp585) ; ats_selptrset_mac(anairiats_sum_34, tmp584, atslab_1, tmp586) ; tmp582 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp582, atslab_0, tmp583) ; ats_selptrset_mac(anairiats_sum_34, tmp582, atslab_1, tmp584) ; tmp580 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp580, atslab_0, tmp581) ; ats_selptrset_mac(anairiats_sum_34, tmp580, atslab_1, tmp582) ; tmp578 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp578, atslab_0, tmp579) ; ats_selptrset_mac(anairiats_sum_34, tmp578, atslab_1, tmp580) ; tmp576 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp576, atslab_0, tmp577) ; ats_selptrset_mac(anairiats_sum_34, tmp576, atslab_1, tmp578) ; tmp574 = ATS_MALLOC(sizeof(anairiats_sum_34)) ; ats_selptrset_mac(anairiats_sum_34, tmp574, atslab_0, tmp575) ; ats_selptrset_mac(anairiats_sum_34, tmp574, atslab_1, tmp576) ; tmp559 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp559)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp559, atslab_0, tmp574) ; return (tmp559) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_i2mpdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 34113(line=1702, offs=3) -- 34446(line=1717, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undec: tmp591 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_loc) ; tmp590 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp591) ; tmp593 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_var) ; tmp592 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var (tmp593) ; tmp595 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_def) ; tmp594 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp595) ; tmp597 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_ann) ; tmp596 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize0_s2expopt (tmp597) ; tmp589 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4 (ATSstrcst("f2undec_loc"), tmp590, ATSstrcst("f2undec_var"), tmp592, ATSstrcst("f2undec_def"), tmp594, ATSstrcst("f2undec_ann"), tmp596) ; return (tmp589) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 34525(line=1723, offs=3) -- 34586(line=1725, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undeclst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp598) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undeclst: tmp598 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undec) ; return (tmp598) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_f2undeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 34670(line=1732, offs=3) -- 35000(line=1747, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldec: tmp601 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_loc) ; tmp600 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (tmp601) ; tmp603 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_pat) ; tmp602 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_p2at (tmp603) ; tmp605 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_def) ; tmp604 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_d2exp (tmp605) ; tmp607 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_ann) ; tmp606 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (tmp607) ; tmp599 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4 (ATSstrcst("v2aldec_loc"), tmp600, ATSstrcst("v2aldec_pat"), tmp602, ATSstrcst("v2aldec_def"), tmp604, ATSstrcst("v2aldec_ann"), tmp606) ; return (tmp599) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 35079(line=1753, offs=3) -- 35140(line=1755, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldeclst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp608) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldeclst: tmp608 = jsonize_list_fun_02730_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldec) ; return (tmp608) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__jsonize_v2aldeclst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_79 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; __ats_lab_loop_79: do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp627 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp627 ; goto __ats_lab_loop_79 ; // tail call break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: break ; } while (0) ; return /* (tmp626) */ ; } /* end of [loop_79] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp625) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp625 = */ loop_79 (arg0) ; return /* (tmp625) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize_synent2.dats: 35229(line=1762, offs=3) -- 37314(line=1851, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__d2eclist_jsonize_out (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp609) ; ATSlocal (anairiats_rec_1, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; // ATSlocal_void (tmp624) ; ATSlocal (ats_ptr_type, tmp628) ; // ATSlocal_void (tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; // ATSlocal_void (tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; // ATSlocal_void (tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; // ATSlocal_void (tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; // ATSlocal_void (tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; // ATSlocal_void (tmp639) ; // ATSlocal_void (tmp640) ; // ATSlocal_void (tmp641) ; // ATSlocal_void (tmp642) ; // ATSlocal_void (tmp643) ; // ATSlocal_void (tmp644) ; // ATSlocal_void (tmp645) ; // ATSlocal_void (tmp646) ; // ATSlocal_void (tmp647) ; // ATSlocal_void (tmp648) ; // ATSlocal_void (tmp649) ; // ATSlocal_void (tmp650) ; // ATSlocal_void (tmp651) ; // ATSlocal_void (tmp652) ; // ATSlocal_void (tmp653) ; // ATSlocal_void (tmp654) ; // ATSlocal_void (tmp655) ; // ATSlocal_void (tmp656) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__d2eclist_jsonize_out: tmp610 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2eclist_mapgen_all (arg1) ; tmp611 = ats_select_mac(tmp610, atslab_0) ; tmp612 = ats_select_mac(tmp610, atslab_1) ; tmp613 = ats_select_mac(tmp610, atslab_2) ; tmp614 = ats_select_mac(tmp610, atslab_3) ; tmp615 = ats_select_mac(tmp610, atslab_4) ; tmp616 = ats_select_mac(tmp610, atslab_5) ; tmp617 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_listize_free (tmp611) ; tmp618 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free (tmp612) ; tmp619 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_listize_free (tmp613) ; tmp620 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_listize_free (tmp614) ; tmp621 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_listize_free (tmp615) ; tmp622 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize_free (tmp616) ; tmp623 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp617), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2cst_long) ; /* tmp624 = */ list_vt_free_01499_ats_ptr_type (tmp617) ; tmp628 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp618), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2var_long) ; /* tmp629 = */ list_vt_free_01499_ats_ptr_type (tmp618) ; tmp630 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp619), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_s2Var_long) ; /* tmp631 = */ list_vt_free_01499_ats_ptr_type (tmp619) ; tmp632 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp620), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2con_long) ; /* tmp633 = */ list_vt_free_01499_ats_ptr_type (tmp620) ; tmp634 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp621), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2cst_long) ; /* tmp635 = */ list_vt_free_01499_ats_ptr_type (tmp621) ; tmp636 = jsonize_list_fun_02730_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp622), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2var_long) ; /* tmp637 = */ list_vt_free_01499_ats_ptr_type (tmp622) ; tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__jsonize_d2eclist (arg1) ; /* tmp639 = */ atspre_fprint_string (arg0, ATSstrcst("{\n\"s2cstmap\":\n")) ; /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp623) ; /* tmp641 = */ atspre_fprint_newline (arg0) ; /* tmp642 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"s2varmap\":\n")) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp628) ; /* tmp644 = */ atspre_fprint_newline (arg0) ; /* tmp645 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"d2conmap\":\n")) ; /* tmp646 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp632) ; /* tmp647 = */ atspre_fprint_newline (arg0) ; /* tmp648 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"d2cstmap\":\n")) ; /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp634) ; /* tmp650 = */ atspre_fprint_newline (arg0) ; /* tmp651 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"d2varmap\":\n")) ; /* tmp652 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp636) ; /* tmp653 = */ atspre_fprint_newline (arg0) ; /* tmp654 = */ atspre_fprint_string (arg0, ATSstrcst(",\n\"d2eclist\":\n")) ; /* tmp655 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp638) ; /* tmp656 = */ atspre_fprint_string (arg0, ATSstrcst("\n}")) ; /* tmp609 = */ atspre_fprint_newline (arg0) ; return /* (tmp609) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__d2eclist_jsonize_out] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_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 () ; #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_jsonize_synent2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp1_print_dats.c0000664000175000017500000036117512655455557021417 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_s1rt_loc ; ats_ptr_type atslab_s1rt_node ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d1atsrtcon_loc ; ats_ptr_type atslab_d1atsrtcon_sym ; ats_ptr_type atslab_d1atsrtcon_arg ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_d1atsrtdec_loc ; ats_ptr_type atslab_d1atsrtdec_sym ; ats_ptr_type atslab_d1atsrtdec_con ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_s1arg_loc ; ats_ptr_type atslab_s1arg_sym ; ats_ptr_type atslab_s1arg_srt ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_s1marg_loc ; ats_ptr_type atslab_s1marg_arg ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_a1srt_loc ; ats_ptr_type atslab_a1srt_sym ; ats_ptr_type atslab_a1srt_srt ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_a1msrt_loc ; ats_ptr_type atslab_a1msrt_arg ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s1exp_loc ; ats_ptr_type atslab_s1exp_node ; } anairiats_rec_17 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_s1rtext_loc ; ats_ptr_type atslab_s1rtext_node ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_s1qua_loc ; ats_ptr_type atslab_s1qua_node ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_s1exparg_loc ; ats_ptr_type atslab_s1exparg_node ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_s1rtdef_loc ; ats_ptr_type atslab_s1rtdef_sym ; ats_ptr_type atslab_s1rtdef_def ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_s1tacst_loc ; ats_ptr_type atslab_s1tacst_sym ; ats_ptr_type atslab_s1tacst_fil ; ats_ptr_type atslab_s1tacst_arg ; ats_ptr_type atslab_s1tacst_res ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_s1tacon_loc ; ats_ptr_type atslab_s1tacon_sym ; ats_ptr_type atslab_s1tacon_fil ; ats_ptr_type atslab_s1tacon_arg ; ats_ptr_type atslab_s1tacon_def ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_s1expdef_loc ; ats_ptr_type atslab_s1expdef_sym ; ats_ptr_type atslab_s1expdef_loc_id ; ats_ptr_type atslab_s1expdef_arg ; ats_ptr_type atslab_s1expdef_res ; ats_ptr_type atslab_s1expdef_def ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_s1aspdec_loc ; ats_ptr_type atslab_s1aspdec_qid ; ats_ptr_type atslab_s1aspdec_arg ; ats_ptr_type atslab_s1aspdec_res ; ats_ptr_type atslab_s1aspdec_def ; } anairiats_rec_30 ; typedef struct { ats_ptr_type atslab_q1marg_loc ; ats_ptr_type atslab_q1marg_arg ; } anairiats_rec_31 ; typedef struct { ats_ptr_type atslab_e1xndec_loc ; ats_ptr_type atslab_e1xndec_fil ; ats_ptr_type atslab_e1xndec_sym ; ats_ptr_type atslab_e1xndec_qua ; ats_int_type atslab_e1xndec_npf ; ats_ptr_type atslab_e1xndec_arg ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_d1cstdec_loc ; ats_ptr_type atslab_d1cstdec_fil ; ats_ptr_type atslab_d1cstdec_sym ; ats_ptr_type atslab_d1cstdec_type ; ats_ptr_type atslab_d1cstdec_extdef ; } anairiats_rec_33 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPif_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPeval_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTapp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTtype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Einvar_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etrans_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyarr_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etytup_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_ext_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Euni_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eexi_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eann_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Ed2ctype_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_sarglst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_svararglst_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_sqi0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtcon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srtlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 1713(line=55, offs=13) -- 2292(line=82, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_char_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_double_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("V1ALint(")) ; /* tmp3 = */ atspre_fprint_int (arg0, tmp1) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("V1ALchar(")) ; /* tmp6 = */ atspre_fprint_char (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("V1ALstring(")) ; /* tmp9 = */ atspre_fprint_string (arg0, tmp7) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("V1ALdouble(")) ; /* tmp12 = */ atspre_fprint_double (arg0, tmp10) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("V1ALerr()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 2339(line=84, offs=22) -- 2372(line=84, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_v1al (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_v1al: /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al (stdout, arg0) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 2394(line=85, offs=22) -- 2427(line=85, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_v1al (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_v1al: /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al (stderr, arg0) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_bool_type, tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_int_type, tmp53) ; __ats_lab_aux_5: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp51 = atspre_gt_int_int (arg1, 0) ; if (tmp51) { /* tmp50 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp52 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp48) ; tmp53 = atspre_add_int_int (arg1, 1) ; arg0 = tmp49 ; arg1 = tmp53 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp47) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp46) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp46 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp46) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 2474(line=91, offs=3) -- 4616(line=179, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_char_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_e1xp_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp16)->tag != 0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp17) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp16)->tag != 1) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_0, tmp16, atslab_0) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPint(")) ; /* tmp20 = */ atspre_fprint_int (arg0, tmp18) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp16)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPintrep(")) ; /* tmp23 = */ atspre_fprint_string (arg0, tmp21) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp16)->tag != 3) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_0) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPchar(")) ; /* tmp26 = */ atspre_fprint_char (arg0, tmp24) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp16)->tag != 4) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPfloat(")) ; /* tmp29 = */ atspre_fprint_string (arg0, tmp27) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp16)->tag != 6) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp31 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPv1al(")) ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_v1al (arg0, tmp30) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp16)->tag != 7) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPnone()")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp16)->tag != 8) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPundef()")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp16)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPstring(")) ; /* tmp35 = */ atspre_fprint_string (arg0, tmp33) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp16)->tag != 9) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_2) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPapp(")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp36) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst (arg0, tmp37) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp16)->tag != 10) { goto __ats_lab_18_0 ; } __ats_lab_15_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_6, tmp16, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp16, atslab_1) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPfun(")) ; /* tmp45 = */ fprintlst_01694_ats_ptr_type (arg0, tmp42, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) ; /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp43) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp16)->tag != 11) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_1) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_2) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPif(")) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp56) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp57) ; /* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp58) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp16)->tag != 12) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPeval(")) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp65) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp16)->tag != 13) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_2, tmp16, atslab_0) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPlist(")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst (arg0, tmp68) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)tmp16)->tag != 14) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("E1XPerr()")) ; break ; } while (0) ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 4686(line=183, offs=22) -- 4719(line=183, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xp: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (stdout, arg0) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 4741(line=184, offs=22) -- 4774(line=184, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp: /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (stderr, arg0) ; return /* (tmp72) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 4824(line=189, offs=16) -- 4886(line=190, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst: /* tmp73 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 4939(line=193, offs=25) -- 4977(line=193, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xplst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xplst: /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst (stdout, arg0) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_e1xplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 5002(line=194, offs=25) -- 5040(line=194, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xplst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xplst: /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xplst (stderr, arg0) ; return /* (tmp75) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_e1xplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 5087(line=199, offs=15) -- 5465(line=214, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_effcst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp76) ; ATSlocal (ats_uint_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_effcst: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("all")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("nil")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp79 = */ atspre_fprint_string (arg0, ATSstrcst("set(")) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (arg0, tmp77) ; /* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp82 = */ fprintlst_01694_ats_ptr_type (arg0, tmp78, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp76) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_effcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 5538(line=219, offs=13) -- 6417(line=251, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_int_type, tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt: tmp84 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_s1rt_node) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp84)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_6, tmp84, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_6, tmp84, atslab_1) ; /* tmp87 = */ atspre_fprint_string (arg0, ATSstrcst("S1RTapp(")) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp85) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (arg0, tmp86) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp84)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_2, tmp84, atslab_0) ; /* tmp92 = */ atspre_fprint_string (arg0, ATSstrcst("S1RTlist(")) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (arg0, tmp91) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp84)->tag != 2) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_6, tmp84, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_6, tmp84, atslab_1) ; /* tmp96 = */ atspre_fprint_string (arg0, ATSstrcst("S1RTqid(")) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq (arg0, tmp94) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp95) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp84)->tag != 3) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_0, tmp84, atslab_0) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst("S1RTtype(")) ; /* tmp101 = */ atspre_fprint_int (arg0, tmp99) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (((ats_sum_ptr_type)tmp84)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("S1RTerr()")) ; break ; } while (0) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6464(line=253, offs=22) -- 6497(line=253, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rt: /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (stdout, arg0) ; return /* (tmp102) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6519(line=254, offs=22) -- 6552(line=254, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rt: /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (stderr, arg0) ; return /* (tmp103) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6600(line=259, offs=16) -- 6662(line=260, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst: /* tmp104 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt) ; return /* (tmp104) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6715(line=263, offs=25) -- 6753(line=263, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rtlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rtlst: /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (stdout, arg0) ; return /* (tmp105) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6778(line=264, offs=25) -- 6816(line=264, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rtlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rtlst: /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (stderr, arg0) ; return /* (tmp106) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; __ats_lab_fprintopt_01695_ats_ptr_type: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: /* tmp108 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; /* tmp110 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp111 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp109) ; /* tmp108 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp108) */ ; } /* end of [fprintopt_01695_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6864(line=269, offs=16) -- 6916(line=269, offs=68) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtopt: /* tmp107 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt) ; return /* (tmp107) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 6967(line=274, offs=19) -- 7037(line=275, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlstlst: /* tmp112 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst) ; return /* (tmp112) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 7118(line=281, offs=19) -- 7303(line=286, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtcon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtcon: tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d1atsrtcon_sym) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp115) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d1atsrtcon_arg) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtlst (arg0, tmp118) ; /* tmp113 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp113) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 7333(line=289, offs=19) -- 7546(line=294, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtdec: tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_d1atsrtdec_sym) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp121) ; /* tmp122 = */ atspre_fprint_string (arg0, ATSstrcst("(\n")) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_d1atsrtdec_con) ; /* tmp123 = */ fprintlst_01694_ats_ptr_type (arg0, tmp124, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtcon) ; /* tmp119 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; return /* (tmp119) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1atsrtdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 7592(line=299, offs=14) -- 7833(line=307, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; // ATSlocal_void (tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arg: tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1arg_sym) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp127) ; tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_s1arg_srt) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp128 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_10, tmp128, atslab_0) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp129) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp128 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: break ; } while (0) ; return /* (tmp125) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 7888(line=311, offs=3) -- 7943(line=311, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst: /* tmp131 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arg) ; return /* (tmp131) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 7997(line=315, offs=15) -- 8043(line=315, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg: tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_s1marg_arg) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst (arg0, tmp133) ; return /* (tmp132) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 8089(line=320, offs=14) -- 8330(line=328, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srt: tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_a1srt_sym) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp136 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_10, tmp136, atslab_0) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp137) ; /* tmp135 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp136 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: break ; } while (0) ; tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_a1srt_srt) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp139) ; return /* (tmp134) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 8385(line=332, offs=3) -- 8440(line=332, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srtlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srtlst: /* tmp140 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srt) ; return /* (tmp140) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 8515(line=338, offs=15) -- 8648(line=342, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrt: /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_a1msrt_arg) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1srtlst (arg0, tmp144) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp141) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 8679(line=346, offs=3) -- 8734(line=346, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst: /* tmp145 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(" "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrt) ; return /* (tmp145) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 8809(line=352, offs=14) -- 13229(line=541, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_char_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_int_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp: tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_s1exp_node) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp147)->tag != 2) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_0, tmp147, atslab_0) ; /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eint(")) ; /* tmp150 = */ atspre_fprint_int (arg0, tmp148) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp147)->tag != 3) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_2, tmp147, atslab_0) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eintrep(")) ; /* tmp153 = */ atspre_fprint_string (arg0, tmp151) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp147)->tag != 4) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_1, tmp147, atslab_0) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("S1Echar(")) ; /* tmp156 = */ atspre_fprint_char (arg0, tmp154) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp147)->tag != 5) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_2, tmp147, atslab_0) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("S1Efloat(")) ; /* tmp159 = */ atspre_fprint_string (arg0, tmp157) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp147)->tag != 6) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_2, tmp147, atslab_0) ; /* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("S1Estring(")) ; /* tmp162 = */ atspre_fprint_string (arg0, tmp160) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp147)->tag != 7) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp165 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eextype(")) ; /* tmp166 = */ atspre_fprint_string (arg0, tmp163) ; /* tmp167 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp168 = */ fprintlst_01694_ats_ptr_type (arg0, tmp164, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp147)->tag != 8) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp171 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eextkind(")) ; /* tmp172 = */ atspre_fprint_string (arg0, tmp169) ; /* tmp173 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp174 = */ fprintlst_01694_ats_ptr_type (arg0, tmp170, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp147)->tag != 0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_2, tmp147, atslab_0) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eide(")) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp175) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp147)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("S1Esqid(")) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (arg0, tmp178) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp179) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp147)->tag != 9) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_2) ; /* tmp185 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eapp(")) ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp183) ; /* tmp187 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp184) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp147)->tag != 10) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_1) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_2) ; /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst("S1Elam(")) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg (arg0, tmp189) ; /* tmp194 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtopt (arg0, tmp190) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp191) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp147)->tag != 11) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eimp(")) ; /* tmp199 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp147)->tag != 13) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_0) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_1) ; /* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("S1Elist(")) ; /* tmp203 = */ atspre_fprint_int (arg0, tmp200) ; /* tmp204 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp205 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp201) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp147)->tag != 12) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_1) ; /* tmp208 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etop(")) ; /* tmp209 = */ atspre_fprint_int (arg0, tmp206) ; /* tmp210 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp207) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp147)->tag != 14) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_18, tmp147, atslab_1) ; /* tmp214 = */ atspre_fprint_string (arg0, ATSstrcst("S1Einvar(")) ; /* tmp215 = */ atspre_fprint_int (arg0, tmp212) ; /* tmp216 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp213) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp147)->tag != 15) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp218 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp219 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp220 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etrans(")) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp218) ; /* tmp222 = */ atspre_fprint_string (arg0, ATSstrcst(" >> ")) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp219) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp147)->tag != 16) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etyarr(")) ; /* tmp227 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp224) ; /* tmp228 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp225) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp147)->tag != 17) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_0) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_1) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_2) ; /* tmp233 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etytup(")) ; /* tmp234 = */ atspre_fprint_int (arg0, tmp230) ; /* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp236 = */ atspre_fprint_int (arg0, tmp231) ; /* tmp237 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp232) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp147)->tag != 18) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_0) ; tmp240 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_1) ; tmp241 = ats_caselptrlab_mac(anairiats_sum_19, tmp147, atslab_2) ; /* tmp242 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etyrec(")) ; /* tmp243 = */ atspre_fprint_int (arg0, tmp239) ; /* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp245 = */ atspre_fprint_int (arg0, tmp240) ; /* tmp246 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst (arg0, tmp241) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp147)->tag != 19) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_20, tmp147, atslab_0) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_20, tmp147, atslab_1) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_20, tmp147, atslab_2) ; /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst("S1Etyrec_ext(")) ; /* tmp252 = */ atspre_fprint_string (arg0, tmp248) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp254 = */ atspre_fprint_int (arg0, tmp249) ; /* tmp255 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst (arg0, tmp250) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp147)->tag != 21) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_21, tmp147, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_21, tmp147, atslab_1) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_21, tmp147, atslab_2) ; /* tmp260 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eexi(")) ; /* tmp261 = */ atspre_fprint_int (arg0, tmp257) ; /* tmp262 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst (arg0, tmp258) ; /* tmp264 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp259) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp147)->tag != 20) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp266 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp267 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("S1Euni(")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst (arg0, tmp266) ; /* tmp270 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp267) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp147)->tag != 22) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_6, tmp147, atslab_1) ; /* tmp274 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eann(")) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp272) ; /* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp273) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp147)->tag != 23) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst("S1Ed2ctype(...)")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (((ats_sum_ptr_type)tmp147)->tag != 24) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst("S1Eerr()")) ; break ; } while (0) ; return /* (tmp146) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13278(line=544, offs=13) -- 13312(line=544, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp278) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1exp: /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (stdout, arg0) ; return /* (tmp278) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13335(line=546, offs=13) -- 13369(line=546, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp: /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (stderr, arg0) ; return /* (tmp279) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13399(line=550, offs=3) -- 13454(line=550, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst: /* tmp280 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp) ; return /* (tmp280) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13512(line=555, offs=3) -- 13563(line=555, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt: /* tmp281 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp) ; return /* (tmp281) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13642(line=562, offs=3) -- 13804(line=567, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1exp: // tmp283 = ats_caselptrlab_mac(anairiats_sum_22, arg1, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_22, arg1, atslab_2) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp283) ; /* tmp286 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp282 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp284) ; return /* (tmp282) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 13865(line=571, offs=3) -- 13923(line=571, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst: /* tmp287 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1exp) ; return /* (tmp287) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_labs1explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 14004(line=578, offs=3) -- 14474(line=598, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext: tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_s1rtext_node) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp289)->tag != 0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_2, tmp289, atslab_0) ; /* tmp291 = */ atspre_fprint_string (arg0, ATSstrcst("S1TEsrt(")) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp290) ; /* tmp288 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (((ats_sum_ptr_type)tmp289)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp293 = ats_caselptrlab_mac(anairiats_sum_5, tmp289, atslab_0) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_5, tmp289, atslab_1) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_5, tmp289, atslab_2) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("S1TEsub(")) ; /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp293) ; /* tmp298 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext (arg0, tmp294) ; /* tmp300 = */ atspre_fprint_string (arg0, ATSstrcst(" | ")) ; /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp295) ; /* tmp288 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp288) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 14549(line=604, offs=3) -- 14986(line=620, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qua (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qua: tmp303 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_s1qua_node) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp303)->tag != 0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_2, tmp303, atslab_0) ; /* tmp305 = */ atspre_fprint_string (arg0, ATSstrcst("S1Qprop(")) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp304) ; /* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (((ats_sum_ptr_type)tmp303)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_6, tmp303, atslab_0) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_6, tmp303, atslab_1) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst("S1Qvars(")) ; /* tmp310 = */ fprintlst_01694_ats_ptr_type (arg0, tmp307, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp311 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext (arg0, tmp308) ; /* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp302) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 15041(line=624, offs=3) -- 15096(line=624, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp313) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst: /* tmp313 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qua) ; return /* (tmp313) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 15173(line=630, offs=17) -- 15473(line=640, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("{..}")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("{...}")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp315 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp316 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst (arg0, tmp315) ; /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; break ; } while (0) ; return /* (tmp314) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 15555(line=644, offs=16) -- 15592(line=644, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1vararg (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1vararg: /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg (stdout, arg0) ; return /* (tmp318) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__print_s1vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 15618(line=646, offs=16) -- 15655(line=646, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1vararg (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp319) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1vararg: /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg (stderr, arg0) ; return /* (tmp319) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__prerr_s1vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 15704(line=651, offs=17) -- 16011(line=661, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg: tmp321 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_s1exparg_node) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp321)->tag != 0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("{..}")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp321)->tag != 1) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("{...}")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (((ats_sum_ptr_type)tmp321)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_2, tmp321, atslab_0) ; /* tmp323 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp322) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; break ; } while (0) ; return /* (tmp320) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 16097(line=666, offs=3) -- 16153(line=666, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp325) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparglst: /* tmp325 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(""), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparg) ; return /* (tmp325) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 16232(line=672, offs=16) -- 16377(line=676, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtdef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtdef: tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_s1rtdef_sym) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp328) ; /* tmp329 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_s1rtdef_def) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtext (arg0, tmp330) ; return /* (tmp326) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rtdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 16452(line=681, offs=16) -- 16680(line=687, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacst: tmp333 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_s1tacst_sym) ; /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp333) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_s1tacst_arg) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst (arg0, tmp336) ; /* tmp337 = */ atspre_fprint_string (arg0, ATSstrcst(") : ")) ; tmp338 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_s1tacst_res) ; /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp338) ; return /* (tmp331) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 16755(line=692, offs=16) -- 16987(line=698, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacon: tmp341 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_s1tacon_sym) ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp341) ; /* tmp342 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp344 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_s1tacon_arg) ; /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_a1msrtlst (arg0, tmp344) ; /* tmp345 = */ atspre_fprint_string (arg0, ATSstrcst(") = ")) ; tmp346 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_s1tacon_def) ; /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expopt (arg0, tmp346) ; return /* (tmp339) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1tacon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 17286(line=714, offs=17) -- 17711(line=726, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expdef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expdef: tmp349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg1), atslab_s1expdef_sym) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp349) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp352 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg1), atslab_s1expdef_arg) ; /* tmp351 = */ fprintlst_01694_ats_ptr_type (arg0, tmp352, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg) ; /* tmp353 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg1), atslab_s1expdef_res) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp355 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp356 = ats_caselptrlab_mac(anairiats_sum_10, tmp355, atslab_0) ; /* tmp357 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp356) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp355 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: break ; } while (0) ; /* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg1), atslab_s1expdef_def) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp359) ; return /* (tmp347) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1expdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 17788(line=731, offs=17) -- 18213(line=743, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1aspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1aspdec: tmp362 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_s1aspdec_qid) ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_sqi0de (arg0, tmp362) ; /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp365 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_s1aspdec_arg) ; /* tmp364 = */ fprintlst_01694_ats_ptr_type (arg0, tmp365, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1marg) ; /* tmp366 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp368 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_s1aspdec_res) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (tmp368 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_10, tmp368, atslab_0) ; /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1rt (arg0, tmp369) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (tmp368 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: break ; } while (0) ; /* tmp371 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp372 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_s1aspdec_def) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp372) ; return /* (tmp360) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1aspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 18288(line=748, offs=15) -- 18421(line=752, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg: /* tmp374 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; tmp376 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_31, arg1), atslab_q1marg_arg) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1qualst (arg0, tmp376) ; /* tmp373 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; return /* (tmp373) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 18478(line=756, offs=3) -- 18532(line=756, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp377) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marglst: /* tmp377 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(""), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg) ; return /* (tmp377) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 18609(line=762, offs=16) -- 18989(line=774, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_i1mparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_i1mparg: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp380 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1arglst (arg0, tmp379) ; /* tmp378 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp378 = */ fprintlst_01694_ats_ptr_type (arg0, tmp382, ATSstrcst(""), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1vararg) ; break ; } while (0) ; return /* (tmp378) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_i1mparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 19064(line=779, offs=16) -- 19428(line=788, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xndec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_int_type, tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xndec: tmp385 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg1), atslab_e1xndec_sym) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp385) ; /* tmp386 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; tmp388 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg1), atslab_e1xndec_qua) ; /* tmp387 = */ fprintlst_01694_ats_ptr_type (arg0, tmp388, ATSstrcst(" "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_q1marg) ; /* tmp389 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp391 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg1), atslab_e1xndec_npf) ; /* tmp390 = */ atspre_fprint_int (arg0, tmp391) ; /* tmp392 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg1), atslab_e1xndec_arg) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1explst (arg0, tmp394) ; /* tmp383 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp383) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xndec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1_print.dats: 19504(line=793, offs=17) -- 19650(line=797, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1cstdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; // ATSlocal_void (tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1cstdec: tmp397 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_d1cstdec_sym) ; /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp397) ; /* tmp398 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; tmp399 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_d1cstdec_type) ; /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_s1exp (arg0, tmp399) ; return /* (tmp395) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_d1cstdec] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_staexp1_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_dats.c0000664000175000017500000042116312655455557017711 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_ibranch_loc ; ats_ptr_type atslab_ibranch_inslst ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_primlab_loc ; ats_ptr_type atslab_primlab_node ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; ats_ptr_type atslab_6 ; ats_ptr_type atslab_7 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_24 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargtmpref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVenv_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVint_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVintrep_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVbool_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVchar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfloat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVstring_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVi0nt_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVf0loat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcstsp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcstmat_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvarmat_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ref_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42) ; /* external dynamic constant declarations */ ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_size_t0ype) () ; ATSextern_fun(ats_ptr_type, patsopt_hifundec_getref_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_hiimpdec_getref_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_hiimpdec_getref_instrlstopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type ptr0_set_01704_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01708_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 1676(line=52, offs=3) -- 1723(line=52, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hifundec_funlab) ; tmp0 = ats_castfn_mac(ats_ptr_type, tmp1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_get_funlabopt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01704_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab_ptr0_set_01704_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp4) */ ; } /* end of [ptr0_set_01704_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01708_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab_ptrset_01708_ats_ptr_type: /* tmp3 = */ ptr0_set_01704_ats_ptr_type (arg0, arg1) ; return /* (tmp3) */ ; } /* end of [ptrset_01708_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 1758(line=54, offs=24) -- 1833(line=55, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_set_funlabopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_set_funlabopt: tmp5 = patsopt_hifundec_getref_funlabopt (arg0) ; /* tmp2 = */ ptrset_01708_ats_ptr_type (tmp5, arg1) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_set_funlabopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 1895(line=61, offs=3) -- 1942(line=61, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_hiimpdec_funlab) ; tmp6 = ats_castfn_mac(ats_ptr_type, tmp7) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 1977(line=63, offs=24) -- 2052(line=64, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_funlabopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_funlabopt: tmp9 = patsopt_hiimpdec_getref_funlabopt (arg0) ; /* tmp8 = */ ptrset_01708_ats_ptr_type (tmp9, arg1) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_funlabopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2116(line=70, offs=3) -- 2167(line=70, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_hiimpdec_instrlst) ; tmp10 = ats_castfn_mac(ats_ptr_type, tmp11) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2204(line=72, offs=26) -- 2283(line=73, offs=67) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_instrlstopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_instrlstopt: tmp13 = patsopt_hiimpdec_getref_instrlstopt (arg0) ; /* tmp12 = */ ptrset_01708_ats_ptr_type (tmp13, arg1) ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_instrlstopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2433(line=85, offs=3) -- 2490(line=87, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node: tmp14 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp14, atslab_primdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_3, tmp14, atslab_primdec_node, arg1) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2566(line=92, offs=14) -- 2611(line=93, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none: tmp16 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp16) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2682(line=99, offs=14) -- 2737(line=100, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list: tmp18 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp18)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_0, arg1) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp18) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2811(line=106, offs=17) -- 2867(line=107, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_saspdec: tmp20 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp20)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp20, atslab_0, arg1) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp20) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 2945(line=114, offs=3) -- 3014(line=115, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar: tmp22 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp22)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp22, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp22, atslab_1, arg2) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp22) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3090(line=121, offs=17) -- 3148(line=122, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_datdecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_datdecs: tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp24)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, arg1) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_datdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3175(line=124, offs=17) -- 3233(line=125, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_exndecs: tmp26 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp26)->tag = 5 ; ats_selptrset_mac(anairiats_sum_4, tmp26, atslab_0, arg1) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp26) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3283(line=131, offs=3) -- 3344(line=132, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_impdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_impdec: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp28)->tag = 10 ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_0, arg1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp28) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3422(line=139, offs=3) -- 3506(line=140, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_fundecs: tmp30 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp30)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_2, arg3) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3583(line=146, offs=17) -- 3663(line=147, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs: tmp32 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp32)->tag = 7 ; ats_selptrset_mac(anairiats_sum_6, tmp32, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp32, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp32, atslab_2, arg3) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp32) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3694(line=149, offs=21) -- 3778(line=150, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec: tmp34 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp34)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp34, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp34, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp34, atslab_2, arg3) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3831(line=156, offs=3) -- 3901(line=157, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs: tmp36 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp36)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp36, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp36, atslab_1, arg2) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 3956(line=163, offs=3) -- 4024(line=164, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include: tmp38 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp38)->tag = 11 ; ats_selptrset_mac(anairiats_sum_7, tmp38, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp38, atslab_1, arg2) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4077(line=169, offs=17) -- 4133(line=170, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staload: tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp40)->tag = 12 ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, arg1) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4166(line=174, offs=1) -- 4259(line=177, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staloadloc: tmp42 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp42)->tag = 13 ; ats_selptrset_mac(anairiats_sum_6, tmp42, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp42, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp42, atslab_2, arg3) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4289(line=180, offs=17) -- 4345(line=181, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_dynload: tmp44 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp44)->tag = 14 ; ats_selptrset_mac(anairiats_sum_4, tmp44, atslab_0, arg1) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp44) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4396(line=187, offs=3) -- 4468(line=188, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local: tmp46 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp46)->tag = 15 ; ats_selptrset_mac(anairiats_sum_5, tmp46, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp46, atslab_1, arg2) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primdec_make_node (arg0, tmp46) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4633(line=199, offs=3) -- 4714(line=201, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node: tmp47 = ATS_MALLOC(sizeof(anairiats_rec_8)) ; ats_selptrset_mac(anairiats_rec_8, tmp47, atslab_primval_loc, arg0) ; ats_selptrset_mac(anairiats_rec_8, tmp47, atslab_primval_type, arg1) ; ats_selptrset_mac(anairiats_rec_8, tmp47, atslab_primval_node, arg2) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4789(line=206, offs=13) -- 4851(line=207, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp: tmp49 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp49)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp49, atslab_0, arg2) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp49) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 4902(line=211, offs=16) -- 4967(line=212, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref: tmp51 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp51)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp51, atslab_0, arg2) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp51) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5041(line=218, offs=13) -- 5105(line=219, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg: tmp53 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp53)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp53, atslab_0, arg2) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp53) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5131(line=221, offs=16) -- 5198(line=222, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref: tmp55 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp55)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp55, atslab_0, arg2) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp55) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5227(line=224, offs=19) -- 5297(line=225, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argtmpref (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argtmpref: tmp57 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp57)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp57, atslab_0, arg2) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp57) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argtmpref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5326(line=228, offs=16) -- 5393(line=229, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv: tmp59 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp59)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp59, atslab_0, arg2) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp59) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5442(line=235, offs=3) -- 5504(line=236, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cst: tmp61 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp61)->tag = 6 ; ats_selptrset_mac(anairiats_sum_4, tmp61, atslab_0, arg2) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp61) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5554(line=241, offs=3) -- 5616(line=242, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_env (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_env: tmp63 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp63)->tag = 7 ; ats_selptrset_mac(anairiats_sum_4, tmp63, atslab_0, arg2) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp63) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5687(line=249, offs=3) -- 5745(line=250, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_int: tmp65 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp65)->tag = 8 ; ats_selptrset_mac(anairiats_sum_9, tmp65, atslab_0, arg2) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp65) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5798(line=255, offs=3) -- 5863(line=256, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_intrep: tmp67 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp67)->tag = 9 ; ats_selptrset_mac(anairiats_sum_4, tmp67, atslab_0, arg2) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp67) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 5938(line=263, offs=3) -- 5997(line=264, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_bool: tmp69 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp69)->tag = 10 ; ats_selptrset_mac(anairiats_sum_10, tmp69, atslab_0, arg2) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp69) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6049(line=269, offs=3) -- 6108(line=270, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_char: tmp71 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp71)->tag = 11 ; ats_selptrset_mac(anairiats_sum_11, tmp71, atslab_0, arg2) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp71) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6161(line=275, offs=3) -- 6221(line=276, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_double_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_float: tmp73 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp73)->tag = 12 ; ats_selptrset_mac(anairiats_sum_12, tmp73, atslab_0, arg2) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp73) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6276(line=281, offs=3) -- 6341(line=282, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_string: tmp75 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp75)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp75, atslab_0, arg2) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp75) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6416(line=289, offs=3) -- 6475(line=290, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_i0nt: tmp77 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp77)->tag = 14 ; ats_selptrset_mac(anairiats_sum_4, tmp77, atslab_0, arg2) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp77) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6529(line=295, offs=3) -- 6590(line=296, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_f0loat: tmp79 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp79)->tag = 15 ; ats_selptrset_mac(anairiats_sum_4, tmp79, atslab_0, arg2) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp79) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6667(line=303, offs=3) -- 6736(line=304, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof: tmp81 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp81)->tag = 16 ; ats_selptrset_mac(anairiats_sum_4, tmp81, atslab_0, arg2) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp81) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6812(line=311, offs=3) -- 6880(line=312, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cstsp: tmp83 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp83)->tag = 17 ; ats_selptrset_mac(anairiats_sum_4, tmp83, atslab_0, arg2) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp83) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 6951(line=318, offs=13) -- 7005(line=319, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top: tmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp85) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7055(line=323, offs=15) -- 7111(line=324, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty: tmp87 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp87) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7185(line=330, offs=16) -- 7252(line=331, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval: tmp89 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp89)->tag = 20 ; ats_selptrset_mac(anairiats_sum_4, tmp89, atslab_0, arg2) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp89) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7329(line=338, offs=3) -- 7404(line=339, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn: tmp91 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp91)->tag = 21 ; ats_selptrset_mac(anairiats_sum_5, tmp91, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp91, atslab_1, arg3) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp91) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_castfn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7481(line=346, offs=3) -- 7574(line=347, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon: tmp93 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp93)->tag = 22 ; ats_selptrset_mac(anairiats_sum_6, tmp93, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp93, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp93, atslab_2, arg4) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp93) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7651(line=354, offs=3) -- 7742(line=355, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select: tmp95 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp95)->tag = 23 ; ats_selptrset_mac(anairiats_sum_6, tmp95, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp95, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp95, atslab_2, arg4) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp95) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7799(line=360, offs=3) -- 7893(line=361, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2: tmp97 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp97)->tag = 24 ; ats_selptrset_mac(anairiats_sum_6, tmp97, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp97, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp97, atslab_2, arg4) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp97) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 7971(line=368, offs=3) -- 8064(line=369, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr: tmp99 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp99)->tag = 25 ; ats_selptrset_mac(anairiats_sum_6, tmp99, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp99, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp99, atslab_2, arg4) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp99) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8140(line=376, offs=3) -- 8204(line=377, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof: tmp101 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp101)->tag = 26 ; ats_selptrset_mac(anairiats_sum_4, tmp101, atslab_0, arg2) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp101) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8259(line=381, offs=18) -- 8358(line=384, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrofsel: tmp103 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp103)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp103, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp103, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp103, atslab_2, arg4) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8437(line=391, offs=3) -- 8530(line=392, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg: tmp105 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp105)->tag = 28 ; ats_selptrset_mac(anairiats_sum_13, tmp105, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp105, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_13, tmp105, atslab_2, arg4) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp105) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8607(line=399, offs=3) -- 8670(line=400, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab: tmp107 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp107)->tag = 29 ; ats_selptrset_mac(anairiats_sum_4, tmp107, atslab_0, arg2) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp107) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8727(line=405, offs=3) -- 8801(line=406, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp109)->tag = 30 ; ats_selptrset_mac(anairiats_sum_7, tmp109, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp109, atslab_1, arg3) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp109) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 8882(line=413, offs=3) -- 8958(line=414, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab: tmp111 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp111)->tag = 31 ; ats_selptrset_mac(anairiats_sum_5, tmp111, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp111, atslab_1, arg3) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp111) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9038(line=421, offs=3) -- 9201(line=428, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix: tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ; tmp114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp115)->tag = 32 ; ats_selptrset_mac(anairiats_sum_7, tmp115, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp115, atslab_1, arg1) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (tmp113, tmp114, tmp115) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_lamfix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9280(line=434, offs=3) -- 9361(line=435, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcst: tmp117 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp117)->tag = 33 ; ats_selptrset_mac(anairiats_sum_5, tmp117, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp117, atslab_1, arg3) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp117) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9420(line=439, offs=3) -- 9501(line=440, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvar: tmp119 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp119)->tag = 34 ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_1, arg3) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp119) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9585(line=447, offs=3) -- 9679(line=448, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcstmat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcstmat: tmp121 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp121)->tag = 35 ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_2, arg4) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp121) ; return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltcstmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9744(line=452, offs=3) -- 9838(line=453, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvarmat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvarmat: tmp123 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp123)->tag = 36 ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp123, atslab_2, arg4) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp123) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpltvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 9919(line=460, offs=3) -- 9981(line=460, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error: tmp125 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__primval_make_node (arg0, arg1, tmp125) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_error] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 10062(line=467, offs=3) -- 10155(line=471, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_sizeof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_sizeof: tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_size_t0ype () ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_sizeof (arg0, tmp127, arg1) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_sizeof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 10239(line=477, offs=3) -- 10324(line=479, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp: tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp (arg0, tmp129, arg1) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 10387(line=483, offs=3) -- 10475(line=485, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmpref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmpref: tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref (arg0, tmp131, arg1) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmpref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 10564(line=491, offs=1) -- 10798(line=499, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_ptrofsel: tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selptr (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined, arg1, arg2, arg3) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, tmp133) ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 10880(line=505, offs=3) -- 10939(line=507, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make: tmp134 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp134, atslab_ibranch_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp134, atslab_ibranch_inslst, arg1) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11012(line=512, offs=16) -- 11088(line=514, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_lab (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_lab: tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_primlab_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp136)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp135 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)tmp136)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp135 = ats_false_bool ; break ; } while (0) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11142(line=518, offs=16) -- 11218(line=520, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_ind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_ind: tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_primlab_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp138)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp137 = ats_false_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (((ats_sum_ptr_type)tmp138)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp137 = ats_true_bool ; break ; } while (0) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_is_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11290(line=526, offs=13) -- 11354(line=528, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab: tmp140 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp140)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp140, atslab_0, arg1) ; tmp139 = ATS_MALLOC(sizeof(anairiats_rec_15)) ; ats_selptrset_mac(anairiats_rec_15, tmp139, atslab_primlab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_15, tmp139, atslab_primlab_node, tmp140) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11402(line=531, offs=13) -- 11466(line=533, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind: tmp142 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp142)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp142, atslab_0, arg1) ; tmp141 = ATS_MALLOC(sizeof(anairiats_rec_15)) ; ats_selptrset_mac(anairiats_rec_15, tmp141, atslab_primlab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_15, tmp141, atslab_primlab_node, tmp142) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11630(line=545, offs=3) -- 11683(line=547, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node: tmp143 = ATS_MALLOC(sizeof(anairiats_rec_16)) ; ats_selptrset_mac(anairiats_rec_16, tmp143, atslab_instr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_16, tmp143, atslab_instr_node, arg1) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11757(line=552, offs=14) -- 11808(line=553, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab: tmp145 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp145)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp145, atslab_0, arg1) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp145) ; return (tmp144) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 11879(line=559, offs=14) -- 11930(line=560, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmplab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmplab: tmp147 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp147)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp147, atslab_0, arg1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp147) ; return (tmp146) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmplab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12002(line=566, offs=15) -- 12056(line=567, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_comment (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_comment: tmp149 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp149)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp149, atslab_0, arg1) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp149) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_comment] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12130(line=573, offs=16) -- 12195(line=574, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val: tmp151 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp151)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_1, arg2) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp151) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12250(line=578, offs=17) -- 12316(line=579, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val: tmp153 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp153)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp153, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp153, atslab_1, arg2) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp153) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12396(line=585, offs=20) -- 12465(line=586, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arg_val (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arg_val: tmp155 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp155)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp155, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp155, atslab_1, arg2) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp155) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arg_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12541(line=593, offs=1) -- 12659(line=596, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall: tmp157 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp157)->tag = 6 ; ats_selptrset_mac(anairiats_sum_17, tmp157, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp157, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp157, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp157, atslab_3, arg4) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp157) ; return (tmp156) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12708(line=601, offs=1) -- 12831(line=604, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2: tmp159 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp159)->tag = 7 ; ats_selptrset_mac(anairiats_sum_18, tmp159, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_18, tmp159, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp159, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_18, tmp159, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_18, tmp159, atslab_4, arg5) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp159) ; return (tmp158) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_fcall2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 12906(line=611, offs=3) -- 12990(line=612, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall: tmp161 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp161)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp161, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp161, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp161, atslab_2, arg3) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp161) ; return (tmp160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13046(line=617, offs=3) -- 13142(line=618, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp163)->tag = 9 ; ats_selptrset_mac(anairiats_sum_17, tmp163, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp163, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp163, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp163, atslab_3, arg4) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp163) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13215(line=625, offs=3) -- 13298(line=626, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond: tmp165 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp165)->tag = 10 ; ats_selptrset_mac(anairiats_sum_6, tmp165, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp165, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp165, atslab_2, arg3) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp165) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_cond] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13370(line=633, offs=3) -- 13422(line=633, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon: tmp167 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp167)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp167, atslab_0, arg1) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp167) ; return (tmp166) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13492(line=640, offs=1) -- 13750(line=653, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop: tmp169 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp169)->tag = 12 ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_4, arg5) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_5, arg6) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_6, arg7) ; ats_selptrset_mac(anairiats_sum_19, tmp169, atslab_7, arg8) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp169) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13801(line=656, offs=15) -- 13869(line=658, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loopexn (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loopexn: tmp171 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp171)->tag = 13 ; ats_selptrset_mac(anairiats_sum_7, tmp171, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp171, atslab_1, arg2) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp171) ; return (tmp170) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 13917(line=664, offs=3) -- 13966(line=664, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof: tmp173 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp173)->tag = 14 ; ats_selptrset_mac(anairiats_sum_4, tmp173, atslab_0, arg1) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14039(line=671, offs=3) -- 14082(line=671, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop: tmp175 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp175) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14135(line=676, offs=3) -- 14189(line=676, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush: tmp177 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp177)->tag = 16 ; ats_selptrset_mac(anairiats_sum_4, tmp177, atslab_0, arg1) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp177) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_letpush] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14263(line=682, offs=16) -- 14368(line=685, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con: tmp179 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp179)->tag = 17 ; ats_selptrset_mac(anairiats_sum_17, tmp179, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp179, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp179, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp179, atslab_3, arg4) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp179) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14445(line=692, offs=3) -- 14516(line=693, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ref: tmp181 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp181)->tag = 18 ; ats_selptrset_mac(anairiats_sum_5, tmp181, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp181, atslab_1, arg2) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp181) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14594(line=700, offs=1) -- 14694(line=703, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp183)->tag = 19 ; ats_selptrset_mac(anairiats_sum_6, tmp183, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp183, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp183, atslab_2, arg3) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp183) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_boxrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14754(line=708, offs=1) -- 14854(line=711, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec: tmp185 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp185)->tag = 20 ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_2, arg3) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp185) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 14915(line=716, offs=1) -- 15227(line=731, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec2: tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg3), atslab_hisexp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp187)->tag != 9) { goto __ats_lab_5_0 ; } __ats_lab_4_1: if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 15028(line=724, offs=9) -- 15055(line=724, offs=36)") ; } tmp188 = ats_caselptrlab_mac(anairiats_sum_20, arg2, atslab_0) ; // tmp189 = ats_caselptrlab_mac(anairiats_sum_20, tmp188, atslab_1) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (arg0, arg1, tmp189) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec (arg0, arg1, arg2, arg3) ; break ; } while (0) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_fltrec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 15305(line=737, offs=3) -- 15385(line=738, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck: tmp191 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp191)->tag = 21 ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp191, atslab_2, arg3) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp191) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 15460(line=744, offs=19) -- 15609(line=750, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (arg0, arg2, arg3, arg4, arg5) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (arg0, arg1, tmp193) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_selcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 15664(line=753, offs=19) -- 15811(line=759, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select (arg0, arg2, arg3, arg4, arg5) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (arg0, arg1, tmp195) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 15867(line=762, offs=20) -- 16017(line=768, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select2: tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select2 (arg0, arg2, arg3, arg4, arg5) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (arg0, arg1, tmp197) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_select2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 16096(line=774, offs=1) -- 16229(line=782, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ptrofsel: tmp199 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp199)->tag = 22 ; ats_selptrset_mac(anairiats_sum_17, tmp199, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp199, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp199, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp199, atslab_3, arg4) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp199) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 16498(line=798, offs=1) -- 16636(line=806, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs: tmp201 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp201)->tag = 23 ; ats_selptrset_mac(anairiats_sum_17, tmp201, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp201, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp201, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp201, atslab_3, arg4) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp201) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_ptrofs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 16699(line=810, offs=1) -- 16848(line=818, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs: tmp203 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ((ats_sum_ptr_type)tmp203)->tag = 24 ; ats_selptrset_mac(anairiats_sum_21, tmp203, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp203, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp203, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_21, tmp203, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_21, tmp203, atslab_4, arg5) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp203) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_xstore_ptrofs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 16927(line=824, offs=3) -- 16997(line=825, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise: tmp205 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp205)->tag = 25 ; ats_selptrset_mac(anairiats_sum_5, tmp205, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp205, atslab_1, arg2) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp205) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17073(line=832, offs=3) -- 17175(line=835, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay: tmp207 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp207)->tag = 26 ; ats_selptrset_mac(anairiats_sum_22, tmp207, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_22, tmp207, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_22, tmp207, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_22, tmp207, atslab_3, arg4) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp207) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17238(line=839, offs=3) -- 17349(line=842, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval: tmp209 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp209)->tag = 27 ; ats_selptrset_mac(anairiats_sum_22, tmp209, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_22, tmp209, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_22, tmp209, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_22, tmp209, atslab_3, arg4) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp209) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_lazyeval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17430(line=848, offs=3) -- 17521(line=851, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith: tmp211 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp211)->tag = 28 ; ats_selptrset_mac(anairiats_sum_6, tmp211, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp211, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp211, atslab_2, arg3) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp211) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17602(line=857, offs=3) -- 17660(line=857, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil: tmp213 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp213)->tag = 29 ; ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_0, arg1) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp213) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17726(line=861, offs=3) -- 17785(line=861, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil: tmp215 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp215)->tag = 30 ; ats_selptrset_mac(anairiats_sum_4, tmp215, atslab_0, arg1) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp215) ; return (tmp214) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 17853(line=865, offs=3) -- 17933(line=866, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons: tmp217 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp217)->tag = 31 ; ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_1, arg2) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp217) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_pmove_list_cons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18024(line=873, offs=3) -- 18122(line=874, offs=68) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead: tmp219 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp219)->tag = 32 ; ats_selptrset_mac(anairiats_sum_6, tmp219, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp219, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp219, atslab_2, arg3) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp219) ; return (tmp218) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_phead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18192(line=879, offs=3) -- 18294(line=880, offs=70) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail: tmp221 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp221)->tag = 33 ; ats_selptrset_mac(anairiats_sum_6, tmp221, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp221, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp221, atslab_2, arg3) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_list_ptail] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18385(line=887, offs=3) -- 18457(line=888, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr: tmp223 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp223)->tag = 34 ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_1, arg2) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp223) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_arrpsz_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18549(line=895, offs=3) -- 18622(line=896, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz: tmp225 = ATS_MALLOC(sizeof(anairiats_sum_23)) ; ((ats_sum_ptr_type)tmp225)->tag = 35 ; ats_selptrset_mac(anairiats_sum_23, tmp225, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_23, tmp225, atslab_1, arg2) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp225) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_asz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18694(line=901, offs=3) -- 18785(line=902, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr: tmp227 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp227)->tag = 36 ; ats_selptrset_mac(anairiats_sum_24, tmp227, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_24, tmp227, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_24, tmp227, atslab_2, arg3) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp227) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_store_arrpsz_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 18875(line=909, offs=3) -- 18959(line=910, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc: tmp229 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp229)->tag = 37 ; ats_selptrset_mac(anairiats_sum_5, tmp229, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp229, atslab_1, arg2) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp229) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrinc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 19025(line=915, offs=3) -- 19109(line=916, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrdec: tmp231 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp231)->tag = 38 ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_1, arg2) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp231) ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_update_ptrdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 19200(line=923, offs=3) -- 19280(line=924, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize: tmp233 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp233)->tag = 39 ; ats_selptrset_mac(anairiats_sum_5, tmp233, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp233, atslab_1, arg2) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp233) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_closure_initize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 19330(line=930, offs=3) -- 19381(line=930, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmpdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmpdec: tmp235 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp235)->tag = 40 ; ats_selptrset_mac(anairiats_sum_4, tmp235, atslab_0, arg1) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp235) ; return (tmp234) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmpdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 19454(line=937, offs=3) -- 19515(line=937, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extvar: tmp237 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp237)->tag = 41 ; ats_selptrset_mac(anairiats_sum_5, tmp237, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp237, atslab_1, arg2) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp237) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp.dats: 19589(line=944, offs=3) -- 19651(line=944, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_dcstdef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_dcstdef: tmp239 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp239)->tag = 42 ; ats_selptrset_mac(anairiats_sum_5, tmp239, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp239, atslab_1, arg2) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__instr_make_node (arg0, tmp239) ; return (tmp238) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_dcstdef] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_main_dats.c0000664000175000017500000045125712655455557020724 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/stdlib.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/unistd.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_8 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_strptr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_clo) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mainats) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdeclst_get_tmpvarset) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp0) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_time_stamp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_header) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_prelude) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_exndec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extcode) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_staload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_extdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cstlst_extdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_tmpdeclst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_funlablst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_typedeflst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dynconlst_extdec) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dyncstlst_extdec) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst_valimp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_ptype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_closure) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_implmnt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_set2) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_ptype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_closure) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_implmnt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_tmpvar_set_topknd) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_get2) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_set2) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_get2) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_set2) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_initize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynloadflag_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_main_arglst_err) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag) (ats_ptr_type, ats_ptr_type) ; 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) ; /* 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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxlst_staticize_11 (ats_ptr_type arg0) ; static ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type aux_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_28 (ats_ptr_type arg0) ; static ats_ptr_type tostring_fprint_03396_ats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type __ats_fun_36 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type the_tmpdeclst_stringize_34 () ; static ats_void_type __ats_fun_38 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type the_primdeclst_stringize_37 () ; static ats_void_type __ats_fun_40 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type the_funlablst_stringize_39 () ; static ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_staload_41 (ats_ptr_type arg0) ; static ats_void_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_dynload_ext_43 (ats_ptr_type arg0) ; static ats_void_type aux_dynload_ias_45 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_dynload_def_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_main_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_main_ifopt_48 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_extcodelst_if_49 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_exndeclst_51 (ats_ptr_type arg0) ; static ats_void_type loop_54 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_saspdeclst_53 (ats_ptr_type arg0) ; static ats_void_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_extypelst_55 (ats_ptr_type arg0) ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type __ats_fun_60 (ats_int_type arg0) ; static ats_bool_type __ats_fun_61 (ats_int_type arg0) ; static ats_bool_type __ats_fun_62 (ats_int_type arg0) ; static ats_bool_type __ats_fun_63 (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp63) ; ATSstatic (ats_ptr_type, statmp66) ; ATSstatic (ats_ptr_type, statmp127) ; ATSstatic (ats_ptr_type, statmp128) ; ATSstatic (ats_ptr_type, statmp144) ; ATSstatic (ats_ptr_type, statmp145) ; ATSstatic (ats_ptr_type, statmp153) ; ATSstatic (ats_ptr_type, statmp154) ; ATSstatic (ats_ptr_type, statmp197) ; ATSstatic (ats_ptr_type, statmp198) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 2195(line=84, offs=23) -- 3155(line=106, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_header (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_header: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** include runtime header files\n")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_HEADER_NONE_\n")) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_config.h\"\n")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_basics.h\"\n")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_typedefs.h\"\n")) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_instrset.h\"\n")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_memalloc.h\"\n")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n")) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_memalloca.h\"\n")) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_exception.h\"\n")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n")) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_HEADER_NONE_ */\n")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_header] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 3245(line=111, offs=24) -- 5973(line=178, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_prelude (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_prelude: /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** include prelude cats files\n")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_PRELUDE_NONE_\n")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/basics.cats\"\n")) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/integer.cats\"\n")) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/pointer.cats\"\n")) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/bool.cats\"\n")) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/char.cats\"\n")) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/float.cats\"\n")) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/integer_ptr.cats\"\n")) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/integer_fixed.cats\"\n")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/memory.cats\"\n")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/string.cats\"\n")) ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/strptr.cats\"\n")) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/fprintf.cats\"\n")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/filebas.cats\"\n")) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/list.cats\"\n")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/option.cats\"\n")) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/array.cats\"\n")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/arrayptr.cats\"\n")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/arrayref.cats\"\n")) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/matrix.cats\"\n")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"prelude/CATS/matrixptr.cats\"\n")) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_PRELUDE_NONE_ */\n")) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** for user-supplied prelude\n")) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifdef _ATS_CCOMP_PRELUDE_USER_\n")) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include _ATS_CCOMP_PRELUDE_USER_\n")) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_PRELUDE_USER_ */\n")) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** for user2-supplied prelude\n")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifdef _ATS_CCOMP_PRELUDE_USER2_\n")) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include _ATS_CCOMP_PRELUDE_USER2_\n")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("//\n")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_PRELUDE_USER2_ */\n")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_prelude] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp65 ; */ tmp65 = arg0 ; tmp64 = atspre_ref_make_elt_tsz ((&tmp65), sizeof(ats_ptr_type)) ; return (tmp64) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 6237(line=195, offs=3) -- 6449(line=209, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2: tmp68 = ats_ptrget_mac(ats_ptr_type, statmp63) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp68 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_1, tmp68, atslab_0) ; tmp67 = tmp69 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp68 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_get () ; tmp71 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp71, atslab_0, tmp70) ; ats_ptrget_mac(ats_ptr_type, statmp63) = tmp71 ; tmp67 = tmp70 ; break ; } while (0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 6511(line=212, offs=20) -- 6543(line=212, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_set2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_set2: tmp73 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp73, atslab_0, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp63) = tmp73 ; return /* (tmp72) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_set2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 6723(line=226, offs=5) -- 7034(line=244, offs=4) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_int_type, tmp81) ; __ats_lab_loop_6: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp76) ; if (tmp78 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 6844(line=235, offs=9) -- 6886(line=236, offs=29)") ; } tmp79 = ats_caselptrlab_mac(anairiats_sum_1, tmp78, atslab_0) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_ptype (arg0, tmp79) ; tmp81 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp77 ; arg2 = tmp81 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp75) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 6699(line=224, offs=22) -- 7082(line=248, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_ptype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_ptype: /* tmp74 = */ loop_6 (arg0, arg1, 0) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_ptype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 7277(line=261, offs=5) -- 7932(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_bool_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_int_type, tmp94) ; __ats_lab_loop_8: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd (tmp84) ; tmp88 = atspre_gt_int_int (tmp86, 0) ; if (tmp88) { tmp87 = ats_true_bool ; } else { tmp87 = ats_false_bool ; } /* end of [if] */ if (tmp87) { tmp89 = ats_false_bool ; } else { tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (tmp84) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funclo_is_clo (tmp90) ; } /* end of [if] */ tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp84) ; if (tmp91 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 7719(line=281, offs=9) -- 7754(line=281, offs=44)") ; } tmp92 = ats_caselptrlab_mac(anairiats_sum_1, tmp91, atslab_0) ; if (tmp89) { /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_closure (arg0, tmp92) ; } else { /* empty */ } /* end of [if] */ tmp94 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp85 ; arg2 = tmp94 ; goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp83) */ ; } /* end of [loop_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 7253(line=259, offs=3) -- 7980(line=294, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_closure (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_closure: /* tmp82 = */ loop_8 (arg0, arg1, 0) ; return /* (tmp82) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_closure] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 8177(line=307, offs=5) -- 8759(line=333, offs=4) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_bool_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_bool_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_int_type, tmp108) ; __ats_lab_loop_10: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd (tmp97) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp97) ; if (tmp100 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 8341(line=318, offs=9) -- 8377(line=318, offs=45)") ; } tmp101 = ats_caselptrlab_mac(anairiats_sum_1, tmp100, atslab_0) ; tmp103 = atspre_gt_int_int (tmp99, 0) ; if (tmp103) { /* tmp102 = */ atspre_fprint_string (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funent_implmnt (arg0, tmp101) ; tmp106 = atspre_gt_int_int (tmp99, 0) ; if (tmp106) { /* tmp105 = */ atspre_fprint_string (arg0, ATSstrcst("#endif // end of [TEMPLATE]\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; tmp108 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp98 ; arg2 = tmp108 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; return /* (tmp96) */ ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 8153(line=305, offs=3) -- 8807(line=337, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_implmnt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_implmnt: /* tmp95 = */ loop_10 (arg0, arg1, 0) ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_implmnt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 8975(line=350, offs=1) -- 9212(line=363, offs=4) */ ATSstaticdec() ats_void_type auxlst_staticize_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; __ats_lab_auxlst_staticize_11: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp112 = */ patsopt_tmpvar_set_topknd (tmp110, 1) ; arg0 = tmp111 ; goto __ats_lab_auxlst_staticize_11 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp109) */ ; } /* end of [auxlst_staticize_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_ptr0_get_01759_ats_ptr_type: tmp117 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp117) ; } /* end of [ptr0_get_01759_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_ptrget_01763_ats_ptr_type: tmp116 = ptr0_get_01759_ats_ptr_type (arg0) ; return (tmp116) ; } /* end of [ptrget_01763_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 9284(line=369, offs=3) -- 9456(line=378, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_tmpdeclst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_tmpdeclst: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst () ; tmp115 = ptrget_01763_ats_ptr_type (tmp114) ; /* tmp118 = */ auxlst_staticize_11 (tmp115) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst (arg0, tmp115) ; return /* (tmp113) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_tmpdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 9569(line=385, offs=27) -- 9933(line=400, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dynconlst_extdec (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dynconlst_extdec: /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp121 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynconlst-declaration(beg)\n")) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2 () ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_extdec (arg0, tmp123) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynconlst-declaration(end)\n")) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp119) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dynconlst_extdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 10200(line=417, offs=3) -- 10418(line=432, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_get2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_get2: tmp130 = ats_ptrget_mac(ats_ptr_type, statmp127) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp130 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_1, tmp130, atslab_0) ; tmp129 = tmp131 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp130 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_get () ; tmp133 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp133, atslab_0, tmp132) ; ats_ptrget_mac(ats_ptr_type, statmp127) = tmp133 ; tmp129 = tmp132 ; break ; } while (0) ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_get2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 10480(line=435, offs=20) -- 10512(line=435, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_set2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_set2: tmp135 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp135, atslab_0, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp127) = tmp135 ; return /* (tmp134) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_set2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 10597(line=442, offs=27) -- 10961(line=457, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dyncstlst_extdec (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dyncstlst_extdec: /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dyncstlst-declaration(beg)\n")) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dyncstlst_get2 () ; /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cstlst_extdec (arg0, tmp140) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dyncstlst-declaration(end)\n")) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp136) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dyncstlst_extdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 11232(line=474, offs=3) -- 11447(line=489, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_get2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_get2: tmp147 = ats_ptrget_mac(ats_ptr_type, statmp144) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp147 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_1, tmp147, atslab_0) ; tmp146 = tmp148 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp147 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_get () ; tmp150 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp150, atslab_0, tmp149) ; ats_ptrget_mac(ats_ptr_type, statmp144) = tmp150 ; tmp146 = tmp149 ; break ; } while (0) ; return (tmp146) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_get2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 11511(line=492, offs=21) -- 11541(line=492, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_set2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_set2: tmp152 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp152, atslab_0, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp144) = tmp152 ; return /* (tmp151) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_set2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 11756(line=511, offs=3) -- 11972(line=526, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2: tmp156 = ats_ptrget_mac(ats_ptr_type, statmp153) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp156 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_1, tmp156, atslab_0) ; tmp155 = tmp157 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp156 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_get () ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp159, atslab_0, tmp158) ; ats_ptrget_mac(ats_ptr_type, statmp153) = tmp159 ; tmp155 = tmp158 ; break ; } while (0) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 12082(line=534, offs=3) -- 12285(line=544, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_funlablst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_funlablst: tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2 () ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_ptype (arg0, tmp161) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_closure (arg0, tmp161) ; /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_funlablst_implmnt (arg0, tmp161) ; return /* (tmp160) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_funlablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 12371(line=550, offs=3) -- 12514(line=559, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst: tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst () ; tmp166 = ptrget_01763_ats_ptr_type (tmp165) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp166) ; return /* (tmp164) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 12580(line=565, offs=5) -- 13500(line=608, offs=4) */ ATSstaticdec() ats_void_type aux_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_bool_type, tmp183) ; __ats_lab_aux_24: tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_primdec_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp168)->tag != 10) { goto __ats_lab_19_0 ; } __ats_lab_16_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_4, tmp168, atslab_0) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt (tmp169) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp170 != (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (tmp170 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp169), atslab_hiimpdec_cst) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (tmp171) ; if (tmp172 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 12873(line=584, offs=13) -- 12908(line=584, offs=48)") ; } tmp173 = ats_caselptrlab_mac(anairiats_sum_1, tmp172, atslab_0) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdyncst_valimp(")) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp171) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp173) ; /* tmp167 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; break ; } while (0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp168)->tag != 15) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_6, tmp168, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_6, tmp168, atslab_1) ; /* tmp180 = */ auxlst_25 (arg0, tmp178) ; /* tmp167 = */ auxlst_25 (arg0, tmp179) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp168)->tag != 11) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_7, tmp168, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_7, tmp168, atslab_1) ; tmp183 = atspre_gt_int_int (tmp181, 0) ; if (tmp183) { /* tmp167 = */ auxlst_25 (arg0, tmp182) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: break ; } while (0) ; return /* (tmp167) */ ; } /* end of [aux_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 13522(line=610, offs=5) -- 13721(line=622, offs=4) */ ATSstaticdec() ats_void_type auxlst_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; // ATSlocal_void (tmp187) ; __ats_lab_auxlst_25: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp187 = */ aux_24 (arg0, tmp185) ; arg0 = arg0 ; arg1 = tmp186 ; goto __ats_lab_auxlst_25 ; // tail call break ; } while (0) ; return /* (tmp184) */ ; } /* end of [auxlst_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 13805(line=628, offs=3) -- 14233(line=647, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst_valimp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst_valimp: tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst () ; tmp190 = ptrget_01763_ats_ptr_type (tmp189) ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynvalist-implementation(beg)\n")) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp194 = */ auxlst_25 (arg0, tmp190) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynvalist-implementation(end)\n")) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp188) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst_valimp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 14744(line=679, offs=5) -- 15138(line=700, offs=4) */ ATSstaticdec() ats_void_type loop_28 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_bool_type, tmp206) ; __ats_lab_loop_28: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (tmp201) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (tmp203 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_1, tmp203, atslab_0) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_mainats (tmp205) ; if (tmp206) { ats_ptrget_mac(ats_ptr_type, statmp197) = tmp203 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (tmp203 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: break ; } while (0) ; arg0 = tmp202 ; goto __ats_lab_loop_28 ; // tail call break ; } while (0) ; return /* (tmp200) */ ; } /* end of [loop_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 14720(line=677, offs=3) -- 15196(line=704, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_initize () { /* local vardec */ // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_initize: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_funlablst_get2 () ; /* tmp199 = */ loop_28 (tmp207) ; return /* (tmp199) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_initize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 15263(line=707, offs=24) -- 15287(line=707, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get: tmp208 = ats_ptrget_mac(ats_ptr_type, statmp197) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 15403(line=718, offs=21) -- 15706(line=739, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynloadflag_get () { /* local vardec */ ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_bool_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynloadflag_get: tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_get () ; tmp211 = atspre_eq_int_int (tmp210, 0) ; if (tmp211) { tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get () ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp212 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp209 = -1 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp212 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_get () ; break ; } while (0) ; } else { tmp209 = -1 ; } /* end of [if] */ return (tmp209) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynloadflag_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 15860(line=749, offs=3) -- 16196(line=765, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_main_arglst_err (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_bool_type, tmp215) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_bool_type, tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_bool_type, tmp219) ; ATSlocal (ats_bool_type, tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_main_arglst_err: tmp215 = atspre_gte_int_int (arg1, 1) ; if (tmp215) { /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("argc")) ; } else { /* empty */ } /* end of [if] */ tmp217 = atspre_gte_int_int (arg1, 2) ; if (tmp217) { /* tmp216 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", argv")) ; } else { /* empty */ } /* end of [if] */ tmp219 = atspre_gte_int_int (arg1, 3) ; if (tmp219) { /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", envp")) ; } else { /* empty */ } /* end of [if] */ tmp220 = atspre_lte_int_int (arg1, 0) ; if (tmp220) { /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("err")) ; } else { /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", err")) ; } /* end of [if] */ return /* (tmp213) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_main_arglst_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 16341(line=775, offs=3) -- 16437(line=779, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload: /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynload")) ; return /* (tmp221) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 16536(line=787, offs=3) -- 16636(line=791, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag: /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynloadflag")) ; return /* (tmp223) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 14925(line=749, offs=3) -- 16127(line=813, offs=4) */ ATSstaticdec() ats_ptr_type tostring_fprint_03396_ats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_bool_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; __ats_lab_tostring_fprint_03396_ats_int_type: tmp227 = atspre_tostringf (ATSstrcst("%sXXXXXX"), arg0) ; tmp229 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp227)) ; tmp228 = atslib_mkstemp (tmp229) ; tmp230 = ats_selsin_mac(tmp228, atslab_1) ; tmp231 = atspre_igte (tmp230, 0) ; if (tmp231) { tmp232 = fdopen (tmp230, "w") ; tmp233 = ats_selsin_mac(tmp232, atslab_1) ; /* tmp234 = */ ((ats_void_type(*)(ats_ptr_type, ats_int_type))arg1) (tmp233, arg2) ; tmp235 = atslib_fflush_err (tmp233) ; tmp236 = atslib_fseek_err (tmp233, 0L, SEEK_SET) ; tmp237 = patsopt_file2strptr (tmp230) ; tmp238 = atslib_fclose_err (tmp233) ; tmp239 = atslib_unlink (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp227)))) ; /* tmp240 = */ atspre_strptr_free (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp227))) ; tmp226 = tmp237 ; } else { /* tmp241 = */ atspre_strptr_free (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp227))) ; tmp226 = atspre_strptr_null () ; } /* end of [if] */ return (tmp226) ; } /* end of [tostring_fprint_03396_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 16961(line=811, offs=3) -- 17001(line=811, offs=43) */ ATSstaticdec() ats_void_type __ats_fun_36 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp242) ; __ats_lab___ats_fun_36: /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_tmpdeclst (arg0) ; return /* (tmp242) */ ; } /* end of [__ats_fun_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 16882(line=806, offs=1) -- 17006(line=812, offs=2) */ ATSstaticdec() ats_ptr_type the_tmpdeclst_stringize_34 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; __ats_lab_the_tmpdeclst_stringize_34: tmp225 = tostring_fprint_03396_ats_int_type (ATSstrcst("postiats_tmpdeclst_"), &__ats_fun_36, 0) ; return (tmp225) ; } /* end of [the_tmpdeclst_stringize_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17129(line=820, offs=3) -- 17170(line=820, offs=44) */ ATSstaticdec() ats_void_type __ats_fun_38 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp244) ; __ats_lab___ats_fun_38: /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst (arg0) ; return /* (tmp244) */ ; } /* end of [__ats_fun_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17048(line=815, offs=1) -- 17175(line=821, offs=2) */ ATSstaticdec() ats_ptr_type the_primdeclst_stringize_37 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; __ats_lab_the_primdeclst_stringize_37: tmp243 = tostring_fprint_03396_ats_int_type (ATSstrcst("postiats_primdeclst_"), &__ats_fun_38, 0) ; return (tmp243) ; } /* end of [the_primdeclst_stringize_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17295(line=828, offs=26) -- 17335(line=828, offs=66) */ ATSstaticdec() ats_void_type __ats_fun_40 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp246) ; __ats_lab___ats_fun_40: /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_funlablst (arg0) ; return /* (tmp246) */ ; } /* end of [__ats_fun_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17217(line=824, offs=1) -- 17340(line=829, offs=2) */ ATSstaticdec() ats_ptr_type the_funlablst_stringize_39 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; __ats_lab_the_funlablst_stringize_39: tmp245 = tostring_fprint_03396_ats_int_type (ATSstrcst("postiats_funlablst_"), &__ats_fun_40, 0) ; return (tmp245) ; } /* end of [the_funlablst_stringize_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17430(line=835, offs=5) -- 17664(line=850, offs=4) */ ATSstaticdec() ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; __ats_lab_loop_42: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_staload (arg0, tmp249) ; arg0 = arg0 ; arg1 = tmp250 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: break ; } while (0) ; return /* (tmp248) */ ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 17382(line=832, offs=1) -- 17994(line=864, offs=4) */ ATSstaticdec() ats_void_type aux_staload_41 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; __ats_lab_aux_staload_41: /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("staload-prologues(beg)\n")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_get () ; /* tmp255 = */ loop_42 (arg0, tmp256) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("staload-prologues(end)\n")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp247) */ ; } /* end of [aux_staload_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 18076(line=870, offs=5) -- 18689(line=899, offs=4) */ ATSstaticdec() ats_void_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; __ats_lab_loop_44: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp261), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp263)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 18211(line=882, offs=9) -- 18243(line=882, offs=41)") ; } tmp264 = ats_caselptrlab_mac(anairiats_sum_4, tmp263, atslab_0) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadflag_init(")) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp264) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynloadflag) ;\n")) ; /* tmp268 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\n")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atsvoid_t0ype\n")) ; /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp264) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynload(/*void*/) ;\n")) ; arg0 = arg0 ; arg1 = tmp262 ; goto __ats_lab_loop_44 ; // tail call break ; } while (0) ; return /* (tmp260) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 18024(line=867, offs=1) -- 18752(line=903, offs=4) */ ATSstaticdec() ats_void_type aux_dynload_ext_43 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab_aux_dynload_ext_43: tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_get () ; /* tmp259 = */ loop_44 (arg0, tmp272) ; return /* (tmp259) */ ; } /* end of [aux_dynload_ext_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 18786(line=906, offs=1) -- 19551(line=949, offs=4) */ ATSstaticdec() ats_void_type aux_dynload_ias_45 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_bool_type, tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; __ats_lab_aux_dynload_ias_45: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_get () ; tmp275 = atspre_stropt_is_some (tmp274) ; if (tmp275) { /* tmp276 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\n")) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atsvoid_t0ype\n")) ; /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ats_castfn_mac(ats_ptr_type, tmp274)) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()\n{\n")) ; /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_beg()\n")) ; /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_void(tmpret_void, ")) ; /* tmp282 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload (arg0, arg1) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()) ;\n")) ; /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_end()\n")) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSreturn_void(tmpret_void) ;\n")) ; /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} // end-of-dynload-alias\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp273) */ ; } /* end of [aux_dynload_ias_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 19585(line=952, offs=1) -- 21657(line=1035, offs=4) */ ATSstaticdec() ats_void_type aux_dynload_def_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp286) ; ATSlocal (ats_int_type, tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_bool_type, tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; ATSlocal (ats_bool_type, tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_bool_type, tmp304) ; // ATSlocal_void (tmp305) ; ATSlocal (ats_bool_type, tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_bool_type, tmp330) ; __ats_lab_aux_dynload_def_46: tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynloadflag_get () ; tmp289 = atspre_eq_int_int (tmp287, 0) ; if (tmp289) { /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp291 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** for initialization(dynloading)")) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; tmp294 = atspre_lte_int_int (tmp287, 0) ; if (tmp294) { /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadflag_minit(")) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag (arg0, arg1) ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\n")) ; /* tmp298 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atsvoid_t0ype\n")) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynload (arg0, arg1) ; /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()\n{\n")) ; /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_beg()\n")) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynload(/*void*/)\n")) ; tmp304 = atspre_lte_int_int (tmp287, 0) ; if (tmp304) { /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadflag_sta(\n")) ; } else { /* empty */ } /* end of [if] */ tmp306 = atspre_gte_int_int (tmp287, 1) ; if (tmp306) { /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadflag_ext(\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag (arg0, arg1) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n) ;\n")) ; /* tmp309 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(\n")) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKiseqz(\n")) ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag (arg0, arg1) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n)\n) ATSthen() {\n")) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSdynloadset(")) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_dynloadflag (arg0, arg1) ; /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_dynconlst_get2 () ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynexnlst-initize(beg)\n")) ; /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2conlst_initize (arg0, tmp316) ; /* tmp321 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("dynexnlst-initize(end)\n")) ; /* tmp323 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ; /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* ATSendif */\n")) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunbody_end()\n")) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSreturn_void(tmpret_void) ;\n")) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [*_dynload] */\n")) ; /* tmp329 = */ aux_dynload_ias_45 (arg0, arg1) ; tmp330 = atspre_eq_int_int (tmp287, 0) ; if (tmp330) { /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [#if(0)]\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp286) */ ; } /* end of [aux_dynload_def_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 21691(line=1038, offs=1) -- 23574(line=1093, offs=4) */ ATSstaticdec() ats_void_type aux_main_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; __ats_lab_aux_main_47: /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n/*\n")) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** the ATS runtime")) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_RUNTIME_NONE_\n")) ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_runtime.c\"\n")) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_runtime_memalloc.c\"\n")) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n")) ; /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_runtime2_dats.c\"\n")) ; /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_RUNTIME_TRYWITH_NONE_\n")) ; /* tmp341 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#include \"pats_ccomp_runtime_trywith.c\"\n")) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_RUNTIME_TRYWITH_NONE_ */\n")) ; /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n")) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif /* _ATS_CCOMP_RUNTIME_NONE_ */\n")) ; /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n/*\n")) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** the [main] implementation")) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("int\n")) ; /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("main\n")) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(\n")) ; /* tmp351 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("int argc, char **argv, char **envp")) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n) {\n")) ; /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("int err = 0 ;\n")) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ; /* tmp355 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__dynload() ;\n")) ; tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_artylst (arg2) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp356 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_9, tmp356, atslab_0) ; tmp357 = tmp358 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp356 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp357 = 0 ; break ; } while (0) ; /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATS")) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, arg2) ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp362 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__emit_main_arglst_err (arg0, tmp357) ; /* tmp363 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; /* tmp365 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("return (err) ;\n")) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("} /* end of [main] */")) ; /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp331) */ ; } /* end of [aux_main_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 23601(line=1096, offs=1) -- 23791(line=1109, offs=4) */ ATSstaticdec() ats_void_type aux_main_ifopt_48 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; __ats_lab_aux_main_ifopt_48: tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_d2copt_get () ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp368 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_1, tmp368, atslab_0) ; /* tmp367 = */ aux_main_47 (arg0, arg1, tmp369) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp368 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: break ; } while (0) ; return /* (tmp367) */ ; } /* end of [aux_main_ifopt_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 23956(line=1121, offs=5) -- 24314(line=1137, offs=4) */ ATSstaticdec() ats_ptr_type loop_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_int_type, tmp375) ; ATSlocal (ats_bool_type, tmp376) ; // ATSlocal_void (tmp377) ; __ats_lab_loop_50: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp373 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; tmp374 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp372), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp374)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 24092(line=1129, offs=9) -- 24132(line=1129, offs=49)") ; } tmp375 = ats_caselptrlab_mac(anairiats_sum_10, tmp374, atslab_1) ; tmp376 = ((ats_bool_type(*)(ats_int_type))arg1) (tmp375) ; if (tmp376) { /* tmp377 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extcode (arg0, tmp372) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp373 ; goto __ats_lab_loop_50 ; // tail call } else { tmp371 = arg2 ; } /* end of [if] */ break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp371 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp371) ; } /* end of [loop_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 23878(line=1116, offs=1) -- 24455(line=1145, offs=4) */ ATSstaticdec() ats_void_type aux_extcodelst_if_49 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp370) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab_aux_extcodelst_if_49: tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_get2 () ; tmp379 = loop_50 (arg0, arg1, tmp378) ; /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_extcodelst_set2 (tmp379) ; return /* (tmp370) */ ; } /* end of [aux_extcodelst_if_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 24541(line=1151, offs=5) -- 24748(line=1163, offs=4) */ ATSstaticdec() ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; // ATSlocal_void (tmp384) ; __ats_lab_loop_52: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_exndec (arg0, tmp382) ; arg0 = arg0 ; arg1 = tmp383 ; goto __ats_lab_loop_52 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: break ; } while (0) ; return /* (tmp381) */ ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 24491(line=1148, offs=1) -- 25438(line=1196, offs=4) */ ATSstaticdec() ats_void_type aux_exndeclst_51 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; __ats_lab_aux_exndeclst_51: /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("exnconlst-declaration(beg)\n")) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n")) ; /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextern()\natsvoid_t0ype\nthe_atsexncon_initize\n(\n atstype_exnconptr d2c, atstype_string exnmsg\n) ;\n")) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n")) ; tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_get () ; /* tmp392 = */ loop_52 (arg0, tmp391) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("exnconlst-declaration(end)\n")) ; /* tmp380 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp380) */ ; } /* end of [aux_exndeclst_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 25542(line=1204, offs=5) -- 25750(line=1216, offs=4) */ ATSstaticdec() ats_void_type loop_54 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; // ATSlocal_void (tmp399) ; __ats_lab_loop_54: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp398 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_saspdec (arg0, tmp397) ; arg0 = arg0 ; arg1 = tmp398 ; goto __ats_lab_loop_54 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: break ; } while (0) ; return /* (tmp396) */ ; } /* end of [loop_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 25491(line=1201, offs=1) -- 26115(line=1231, offs=4) */ ATSstaticdec() ats_void_type aux_saspdeclst_53 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; // ATSlocal_void (tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; __ats_lab_aux_saspdeclst_53: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("assumelst-declaration(beg)\n")) ; /* tmp402 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_get () ; /* tmp404 = */ loop_54 (arg0, tmp403) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp406 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("assumelst-declaration(end)\n")) ; /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp395) */ ; } /* end of [aux_saspdeclst_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 26219(line=1239, offs=5) -- 26434(line=1252, offs=4) */ ATSstaticdec() ats_void_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; // ATSlocal_void (tmp411) ; __ats_lab_loop_56: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp411 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_extype (arg0, tmp409) ; arg0 = arg0 ; arg1 = tmp410 ; goto __ats_lab_loop_56 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp408) */ ; } /* end of [loop_56] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 26169(line=1236, offs=1) -- 26798(line=1267, offs=4) */ ATSstaticdec() ats_void_type aux_extypelst_55 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; // ATSlocal_void (tmp418) ; __ats_lab_aux_extypelst_55: /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("extypelst-declaration(beg)\n")) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp415 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_get () ; /* tmp416 = */ loop_56 (arg0, tmp415) ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("extypelst-declaration(end)\n")) ; /* tmp407 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp407) */ ; } /* end of [aux_extypelst_55] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp427) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp427) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp426) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp426 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp426) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 27929(line=1318, offs=29) -- 27954(line=1318, offs=54) */ ATSstaticdec() ats_bool_type __ats_fun_60 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp437) ; __ats_lab___ats_fun_60: tmp437 = atspre_eq_int_int (arg0, 1) ; return (tmp437) ; } /* end of [__ats_fun_60] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 28258(line=1334, offs=29) -- 28283(line=1334, offs=54) */ ATSstaticdec() ats_bool_type __ats_fun_61 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp446) ; __ats_lab___ats_fun_61: tmp446 = atspre_lt_int_int (arg0, 10) ; return (tmp446) ; } /* end of [__ats_fun_61] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 28416(line=1341, offs=29) -- 28442(line=1341, offs=55) */ ATSstaticdec() ats_bool_type __ats_fun_62 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp450) ; __ats_lab___ats_fun_62: tmp450 = atspre_lte_int_int (arg0, 10) ; return (tmp450) ; } /* end of [__ats_fun_62] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 28934(line=1364, offs=25) -- 28960(line=1364, offs=51) */ ATSstaticdec() ats_bool_type __ats_fun_63 (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp459) ; __ats_lab___ats_fun_63: tmp459 = atspre_lte_int_int (arg0, 99) ; return (tmp459) ; } /* end of [__ats_fun_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_main.dats: 26871(line=1273, offs=1) -- 29163(line=1377, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_main (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; // ATSlocal_void (tmp425) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; // ATSlocal_void (tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; // ATSlocal_void (tmp442) ; // ATSlocal_void (tmp443) ; // ATSlocal_void (tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; // ATSlocal_void (tmp453) ; // ATSlocal_void (tmp454) ; // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp460) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_main: /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_time_stamp (arg0) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_header (arg0) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ats_ccomp_prelude (arg0) ; tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp0 (arg3) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst () ; /* tmp425 = */ ptrset_01764_ats_ptr_type (tmp424, tmp423) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdeclst_get_tmpvarset (tmp423) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free (tmp428) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst () ; /* tmp431 = */ ptrset_01764_ats_ptr_type (tmp430, ats_castfn_mac(ats_ptr_type, tmp429)) ; tmp432 = the_tmpdeclst_stringize_34 () ; tmp433 = the_primdeclst_stringize_37 () ; tmp434 = the_funlablst_stringize_39 () ; /* tmp435 = */ aux_staload_41 (arg0) ; /* tmp436 = */ aux_extcodelst_if_49 (arg0, &__ats_fun_60) ; /* tmp438 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_typedeflst (arg0) ; /* tmp439 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dynconlst_extdec (arg0) ; /* tmp440 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_dyncstlst_extdec (arg0) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_primdeclst_valimp (arg0) ; /* tmp442 = */ aux_exndeclst_51 (arg0) ; /* tmp443 = */ aux_saspdeclst_53 (arg0) ; /* tmp444 = */ aux_extypelst_55 (arg0) ; /* tmp445 = */ aux_extcodelst_if_49 (arg0, &__ats_fun_61) ; /* tmp447 = */ atspre_fprint_strptr (arg0, tmp432) ; /* tmp448 = */ atspre_strptr_free (tmp432) ; /* tmp449 = */ aux_extcodelst_if_49 (arg0, &__ats_fun_62) ; /* tmp451 = */ atspre_fprint_strptr (arg0, tmp434) ; /* tmp452 = */ atspre_strptr_free (tmp434) ; /* tmp453 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__the_mainats_initize () ; /* tmp454 = */ aux_dynload_ext_43 (arg0) ; /* tmp455 = */ aux_dynload_def_46 (arg0, arg2, ats_castfn_mac(ats_ptr_type, tmp433)) ; /* tmp456 = */ atspre_strptr_free (tmp433) ; /* tmp457 = */ aux_main_ifopt_48 (arg0, arg2) ; /* tmp458 = */ aux_extcodelst_if_49 (arg0, &__ats_fun_63) ; /* tmp460 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n/* ****** ****** */\n")) ; /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n/* end-of-compilation-unit */\n")) ; return /* (tmp419) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_main] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp63, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp66, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp127, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp128, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp144, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp145, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp153, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp154, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp197, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp198, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp66 = (ats_sum_ptr_type)0 ; statmp63 = ref_01088_ats_ptr_type (statmp66) ; statmp128 = (ats_sum_ptr_type)0 ; statmp127 = ref_01088_ats_ptr_type (statmp128) ; statmp145 = (ats_sum_ptr_type)0 ; statmp144 = ref_01088_ats_ptr_type (statmp145) ; statmp154 = (ats_sum_ptr_type)0 ; statmp153 = ref_01088_ats_ptr_type (statmp154) ; statmp198 = (ats_sum_ptr_type)0 ; statmp197 = ref_01088_ats_ptr_type (statmp198) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_main_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_utils_sats.c0000664000175000017500000000270312655455557017762 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "libats/CATS/linqueue_arr.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_utils_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_dats.c0000664000175000017500000005404112655455557020250 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; char *name ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_fopen_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_clear) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_the_lexerrlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_filp) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_getc) (ats_ref_type, ats_clo_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_clear) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_the_parerrlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_sta) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_dyn) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel) (ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_fileref_toplevel) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel) (ats_int_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type __ats_fun_5 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_5_closure_make (ats_ptr_type env0) ; static ats_int_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 1781(line=62, offs=3) -- 2086(line=72, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string_parser (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (pats_tokbuf_struct, tmp1) ; // ATSlocal_void (tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_bool_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string_parser: /* pats_tokbuf_struct tmp1 ; */ /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string ((&tmp1), arg0) ; /* ats_int_type tmp3 ; */ tmp3 = 0 ; tmp4 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg1) ((&tmp1), 0, (&tmp3)) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF ((&tmp1), 0, (&tmp3)) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize ((&tmp1)) ; tmp7 = atspre_eq_int_int (tmp3, 0) ; if (tmp7) { tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, tmp4) ; } else { tmp0 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string_parser] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 2185(line=78, offs=3) -- 2624(line=98, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel (ats_int_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel: /* ats_int_type tmp9 ; */ tmp9 = 0 ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_clear () ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_clear () ; tmp13 = atspre_eq_int_int (arg0, 0) ; if (tmp13) { tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_sta (arg1, (&tmp9)) ; } else { tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_dyn (arg1, (&tmp9)) ; } /* end of [if] */ tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_the_lexerrlst (stderr) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_the_parerrlst (stderr) ; tmp18 = atspre_add_int_int (tmp14, tmp15) ; tmp17 = atspre_gt_int_int (tmp18, 0) ; if (tmp17) { /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ tmp8 = tmp12 ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 2768(line=107, offs=3) -- 2956(line=115, offs=2) */ ATSglobaldec() ats_ptr_type libatsopt_parse_from_string_toplevel (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (pats_tokbuf_struct, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; __ats_lab_libatsopt_parse_from_string_toplevel: /* pats_tokbuf_struct tmp20 ; */ /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string ((&tmp20), arg1) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel (arg0, (&tmp20)) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize ((&tmp20)) ; tmp19 = tmp22 ; return (tmp19) ; } /* end of [libatsopt_parse_from_string_toplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 3057(line=121, offs=3) -- 3117(line=122, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_stdin_toplevel (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_stdin_toplevel: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_fileref_toplevel (arg0, stdin) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_stdin_toplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 3286(line=134, offs=9) -- 3327(line=134, offs=50) */ ATSstaticdec() ats_int_type __ats_fun_5 (ats_ptr_type env0) { /* local vardec */ ATSlocal (ats_int_type, tmp28) ; __ats_lab___ats_fun_5: tmp28 = atslib_fgetc_err (env0) ; return (tmp28) ; } /* end of [__ats_fun_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_5_closure_type ; ats_int_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_5 (((__ats_fun_5_closure_type*)cloptr)->closure_env_0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_5_closure_init (__ats_fun_5_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_5_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_5_closure_make (ats_ptr_type env0) { __ats_fun_5_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_5_closure_type)) ; __ats_fun_5_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 3198(line=127, offs=3) -- 3420(line=139, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_fileref_toplevel (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (pats_tokbuf_struct, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_fileref_toplevel: /* pats_tokbuf_struct tmp26 ; */ /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_getc ((&tmp26), __ats_fun_5_closure_make (arg1)) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel (arg0, (&tmp26)) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize ((&tmp26)) ; tmp25 = tmp29 ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_fileref_toplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 3525(line=145, offs=3) -- 4143(line=179, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (pats_tokbuf_struct, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel: /* pats_tokbuf_struct tmp32 ; */ tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg1) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp33) ; tmp35 = atslib_fopen_exn (tmp34, "r") ; tmp36 = ats_selsin_mac(tmp35, atslab_1) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_filp ((&tmp32), tmp36) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (arg1) ; /* tmp39 = ats_selsin_mac(tmp38, atslab_1) */ ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_push () ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_tokbuf_toplevel (arg0, (&tmp32)) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_pop () ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize ((&tmp32)) ; tmp31 = tmp41 ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 4250(line=185, offs=3) -- 4409(line=196, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_bool_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_isnot_dummy (arg1) ; if (tmp46) { tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (arg0, arg1) ; } else { tmp45 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing.dats: 4515(line=202, offs=3) -- 5434(line=246, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local (arg1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp48 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_0, tmp48, atslab_0) ; ATS_FREE(tmp48) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp49 ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (arg0, tmp49) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (tmp49) ; tmp47 = tmp50 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp48 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: ats_ptrget_mac(ats_ptr_type, arg2) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; /* tmp52 = */ atspre_prerr_string (ATSstrcst("patsopt: error(0)")) ; /* tmp53 = */ atspre_prerr_string (ATSstrcst(": the given file [")) ; /* tmp54 = */ atspre_prerr_string (arg1) ; /* tmp55 = */ atspre_prerr_string (ATSstrcst("] cannot be accessed.")) ; /* tmp56 = */ atspre_prerr_newline () ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_exn_ptr_type)tmp58)->tag = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.tag ; ((ats_exn_ptr_type)tmp58)->name = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.name ; ats_selptrset_mac(anairiats_sum_1, tmp58, atslab_0, arg1) ; /* tmp57 = */ ats_raise_exn (tmp58) ; tmp47 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_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_parsing_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_e1xpval_dats.c0000664000175000017500000050365712655455557020201 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_7 ; typedef struct { anairiats_rec_7 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPif_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPeval_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_defined_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_undefined_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_maxlevel_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_opr_arglst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPide_unbound_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPlist_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPapp_fun_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_fun_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_opr_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_arity_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPfun_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPerr_13) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_double_type, atspre_double_of_string) (ats_ptr_type) ; ATSextern_fun(ats_double_type, atspre_add_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_double_type, atspre_sub_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_double_type, atspre_mul_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_double_type, atspre_div_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lt_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gt_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_neq_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_div_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asl_int_int1) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_asr_int_int1) (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_int_type, atspre_int_of_llint) (ats_llint_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_lt_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_gt_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_gte_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_is_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_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_int_type, patsopt_debug_flag_get) () ; ATSextern_fun(ats_llint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DIV) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAND) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LOR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DEFINED) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDEFINED) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_err) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_the_valerrlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_v1alist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_e1xplst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_main) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_delta) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize_main) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__sasp__lenv_vtype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_error1_loc_0 (ats_ptr_type arg0) ; static ats_void_type loop_11 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_anairiats_rec_7 (ats_ptr_type arg0) ; static ats_ptr_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type __ats_fun_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type e1xp_valize_int_21 (ats_ptr_type arg0) ; static ats_ptr_type e1xplevenv_valize_ide_22 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type e1xplstlevenv_valize_23 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type e1xplevenv_valize_list_24 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_30 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type e1xplevenv_valize_appid_25 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type e1xplevenv_valize_add_34 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_sub_35 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_mul_36 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_div_37 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_lt_38 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_lteq_39 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_gt_40 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_gteq_41 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_eq_42 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_neq_43 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_land_44 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_lor_45 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_asl_46 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_valize_asr_47 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type e1xplevenv_normalize_ide_51 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type e1xplstlevenv_normalize_52 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 2690(line=102, offs=1) -- 2782(line=105, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; // ATSlocal_void (tmp1) ; __ats_lab_prerr_error1_loc_0: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp0 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp0) */ ; } /* end of [prerr_error1_loc_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 2856(line=110, offs=13) -- 2910(line=112, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_err: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp2 = ats_false_bool ; break ; } while (0) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 2964(line=116, offs=14) -- 3176(line=126, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_char_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_double_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp3 = atspre_neq_int_int (tmp4, 0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp3 = atspre_neq_char_char (tmp5, '\000') ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp3 = atspre_string_isnot_empty (tmp6) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp3 = atspre_neq_double_double (tmp7, 0.0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp3 = ats_false_bool ; break ; } while (0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 3227(line=128, offs=25) -- 3248(line=128, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_false (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_bool_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_false: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (arg0) ; tmp8 = atspre_neg_bool (tmp9) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_false] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 3479(line=142, offs=3) -- 3775(line=153, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize: tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize (0, arg0) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp11)->tag != 4) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_the_valerrlst (stderr) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: break ; } while (0) ; tmp10 = tmp11 ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 3829(line=156, offs=16) -- 3993(line=160, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (arg1) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined (arg1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined (arg1) ; break ; } while (0) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 4075(line=167, offs=3) -- 4475(line=178, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp16)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_12_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (tmp17) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp19 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_13_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_6, tmp19, atslab_0) ; ATS_FREE(tmp19) ; tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp20), atslab_e1xp_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp21)->tag != 8) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp18 = 0 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp18 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp19 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp18 = 0 ; break ; } while (0) ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp15)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp15, atslab_0, tmp18) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp23 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp23)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp23, atslab_0, arg0) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp23) ; tmp15 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 4557(line=183, offs=3) -- 4959(line=194, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp25)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_18_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_3, tmp25, atslab_0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (tmp26) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp28 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_6, tmp28, atslab_0) ; ATS_FREE(tmp28) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp29), atslab_e1xp_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp30)->tag != 8) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp27 = 1 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp27 = 0 ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp28 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp27 = 1 ; break ; } while (0) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp24)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp24, atslab_0, tmp27) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp32 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp32)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp32, atslab_0, arg0) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp32) ; tmp24 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5649(line=225, offs=14) -- 5668(line=225, offs=33) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil: tmp33 = (ats_sum_ptr_type)0 ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_loop_11: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp37 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: break ; } while (0) ; return /* (tmp36) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_anairiats_rec_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp35) ; __ats_lab_list_vt_free_01499_anairiats_rec_7: /* tmp35 = */ loop_11 (arg0) ; return /* (tmp35) */ ; } /* end of [list_vt_free_01499_anairiats_rec_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5689(line=227, offs=20) -- 5714(line=227, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree: /* tmp34 = */ list_vt_free_01499_anairiats_rec_7 (arg0) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 9577(line=358, offs=7) -- 9950(line=371, offs=27) */ ATSstaticdec() ats_ptr_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (anairiats_rec_7, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_loop_15: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp45 = ats_select_mac(tmp42, atslab_0) ; tmp44 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg1) (arg2, tmp45, arg3) ; if (tmp44) { tmp46 = ats_select_mac(tmp42, atslab_1) ; tmp41 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp41, atslab_0, tmp46) ; } else { arg0 = tmp43 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_15 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp41 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp41) ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 9541(line=357, offs=21) -- 9988(line=374, offs=4) */ ATSstaticdec() ats_ptr_type list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type: tmp40 = loop_15 (arg0, arg1, arg2, arg3) ; return (tmp40) ; } /* end of [list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 10063(line=378, offs=12) -- 10354(line=385, offs=2) */ ATSstaticdec() ats_ptr_type list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type: tmp39 = list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), arg2, atspre_null_ptr) ; return (tmp39) ; } /* end of [list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5869(line=234, offs=34) -- 5896(line=234, offs=61) */ ATSstaticdec() ats_bool_type __ats_fun_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; __ats_lab___ats_fun_16: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, arg1) ; return (tmp47) ; } /* end of [__ats_fun_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5740(line=230, offs=14) -- 5904(line=235, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind: tmp38 = list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), &__ats_fun_16, arg1) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5976(line=240, offs=7) -- 6367(line=252, offs=36) */ ATSstaticdec() ats_ptr_type aux_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (anairiats_rec_7, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (anairiats_rec_7, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_aux_18: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_28_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp54.atslab_0 = tmp50 ; tmp54.atslab_1 = tmp52 ; tmp55 = aux_18 (tmp51, tmp53) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp49, atslab_0, tmp54) ; ats_selptrset_mac(anairiats_sum_8, tmp49, atslab_1, tmp55) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp56 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp56)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp56, atslab_0, 0) ; tmp57.atslab_0 = tmp50 ; tmp57.atslab_1 = tmp56 ; tmp58 = aux_18 (tmp51, arg1) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp49, atslab_0, tmp57) ; ats_selptrset_mac(anairiats_sum_8, tmp49, atslab_1, tmp58) ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp49 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp49) ; } /* end of [aux_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 5955(line=239, offs=3) -- 6389(line=255, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_v1alist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_v1alist: tmp48 = aux_18 (arg0, arg1) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_v1alist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 6475(line=260, offs=7) -- 6912(line=274, offs=36) */ ATSstaticdec() ats_ptr_type aux_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (anairiats_rec_7, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (anairiats_rec_7, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_aux_20: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp65.atslab_0 = tmp61 ; tmp65.atslab_1 = tmp63 ; tmp66 = aux_20 (arg0, tmp62, tmp64) ; tmp60 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp60, atslab_0, tmp65) ; ats_selptrset_mac(anairiats_sum_8, tmp60, atslab_1, tmp66) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (arg0) ; tmp68.atslab_0 = tmp61 ; tmp68.atslab_1 = tmp67 ; tmp69 = aux_20 (arg0, tmp62, arg2) ; tmp60 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp60, atslab_0, tmp68) ; ats_selptrset_mac(anairiats_sum_8, tmp60, atslab_1, tmp69) ; break ; } while (0) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp60 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp60) ; } /* end of [aux_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 6448(line=259, offs=3) -- 6940(line=277, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_e1xplst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_e1xplst: tmp59 = aux_20 (arg0, arg1, arg2) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_e1xplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 7018(line=283, offs=4) -- 7122(line=286, offs=4) */ ATSstaticdec() ats_int_type e1xp_valize_int_21 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_llint_type, tmp71) ; __ats_lab_e1xp_valize_int_21: tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (arg0) ; tmp70 = atspre_int_of_llint (tmp71) ; return (tmp70) ; } /* end of [e1xp_valize_int_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 7176(line=290, offs=4) -- 7573(line=305, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_ide_22 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab_e1xplevenv_valize_ide_22: tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind (arg1, arg3) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp73 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_6, tmp73, atslab_0) ; ATS_FREE(tmp73) ; tmp72 = tmp74 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp73 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (arg3) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp75 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_6, tmp75, atslab_0) ; ATS_FREE(tmp75) ; tmp77 = atspre_add_int_int (arg0, 1) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize (tmp77, tmp76) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (tmp75 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp79 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp79)->tag = 5 ; ats_selptrset_mac(anairiats_sum_3, tmp79, atslab_0, arg2) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp79) ; tmp72 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; } while (0) ; return (tmp72) ; } /* end of [e1xplevenv_valize_ide_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 7799(line=317, offs=1) -- 8095(line=328, offs=34) */ ATSstaticdec() ats_ptr_type e1xplstlevenv_valize_23 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_e1xplstlevenv_valize_23: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, tmp81) ; tmp84 = e1xplstlevenv_valize_23 (arg0, arg1, tmp82) ; tmp80 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp80, atslab_0, tmp83) ; ats_selptrset_mac(anairiats_sum_9, tmp80, atslab_1, tmp84) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp80 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp80) ; } /* end of [e1xplstlevenv_valize_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 8155(line=334, offs=1) -- 8531(line=345, offs=31) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_list_24 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_e1xplevenv_valize_list_24: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_42_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp87 != (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, tmp86) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (tmp87 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp89 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp89)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp89, atslab_0, arg2) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp89) ; tmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp85 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp85)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp85, atslab_0, 0) ; break ; } while (0) ; return (tmp85) ; } /* end of [e1xplevenv_valize_list_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 13947(line=514, offs=7) -- 14180(line=521, offs=22) */ ATSstaticdec() ats_bool_type loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; __ats_lab_loop_28: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp105 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp106 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp104, arg2) ; if (tmp106) { tmp103 = ats_true_bool ; } else { arg0 = tmp105 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_28 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp103 = ats_false_bool ; break ; } while (0) ; return (tmp103) ; } /* end of [loop_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 13917(line=513, offs=20) -- 14231(line=525, offs=4) */ ATSstaticdec() ats_bool_type list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp102) ; __ats_lab_list_exists_funenv_01325_ats_ptr_type: tmp102 = loop_28 (arg0, arg1, arg2) ; return (tmp102) ; } /* end of [list_exists_funenv_01325_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 14303(line=529, offs=11) -- 14565(line=538, offs=4) */ ATSstaticdec() ats_bool_type list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp101) ; __ats_lab_list_exists_fun_01326_ats_ptr_type: tmp101 = list_exists_funenv_01325_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp101) ; } /* end of [list_exists_fun_01326_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_30 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_loop_30: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp110 ; goto __ats_lab_loop_30 ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: break ; } while (0) ; return /* (tmp109) */ ; } /* end of [loop_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp108) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp108 = */ loop_30 (arg0) ; return /* (tmp108) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 8756(line=360, offs=1) -- 9853(line=400, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_appid_25 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_e1xplevenv_valize_appid_25: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (arg3) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp91 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_46_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_6, tmp91, atslab_0) ; ATS_FREE(tmp91) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp92), atslab_e1xp_node) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp93)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_3, tmp93, atslab_0) ; tmp95 = atspre_add_int_int (arg0, 1) ; arg0 = tmp95 ; arg1 = arg1 ; arg2 = tmp92 ; arg3 = tmp94 ; arg4 = arg4 ; goto __ats_lab_e1xplevenv_valize_appid_25 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp93)->tag != 10) { goto __ats_lab_53_0 ; } __ats_lab_48_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_10, tmp93, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_10, tmp93, atslab_1) ; tmp98 = e1xplstlevenv_valize_23 (arg0, arg1, arg4) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_v1alist (tmp96, ats_castfn_mac(ats_ptr_type, tmp98)) ; tmp100 = list_exists_fun_01326_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp98), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_err) ; /* tmp107 = */ list_vt_free_01499_ats_ptr_type (tmp98) ; if (tmp100) { tmp111 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; } else { tmp112 = atspre_add_int_int (arg0, 1) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (tmp112, tmp99, tmp97) ; } /* end of [if] */ /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree (tmp99) ; tmp90 = tmp111 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp115 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp115)->tag = 9 ; ats_selptrset_mac(anairiats_sum_10, tmp115, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp115, atslab_1, arg3) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp115) ; tmp90 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (tmp91 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_delta (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp90) ; } /* end of [e1xplevenv_valize_appid_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 9939(line=406, offs=3) -- 10063(line=410, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; // ATSlocal_void (tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil () ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, tmp117, arg1) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree (tmp117) ; tmp116 = tmp118 ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_valize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 10143(line=416, offs=3) -- 10634(line=442, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize: tmp121 = atspre_lte_int_int (arg0, 99) ; if (tmp121) { tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_main (arg0, arg1, arg2) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp122)->tag != 4) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp124 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp124)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp124, atslab_0, arg2) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp124) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: break ; } while (0) ; tmp120 = tmp122 ; } else { tmp126 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp126)->tag = 3 ; ats_selptrset_mac(anairiats_sum_11, tmp126, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp126, atslab_1, arg2) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp126) ; tmp120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; } /* end of [if] */ return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 10701(line=446, offs=3) -- 12430(line=518, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_main (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_char_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_double_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_main: tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_e1xp_loc) ; tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_e1xp_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp129)->tag != 0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp127 = e1xplevenv_valize_ide_22 (arg0, arg1, arg2, tmp130) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp129)->tag != 1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_1, tmp129, atslab_0) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp127)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, tmp131) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp129)->tag != 2) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp133 = e1xp_valize_int_21 (tmp132) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp127)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, tmp133) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp129)->tag != 3) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_2, tmp129, atslab_0) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp127)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp127, atslab_0, tmp134) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp129)->tag != 5) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp127)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp127, atslab_0, tmp135) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp129)->tag != 4) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp137 = atspre_double_of_string (tmp136) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp127)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp127, atslab_0, tmp137) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp129)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp127 = tmp138 ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp129)->tag != 7) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp127)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, 0) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp129)->tag != 8) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp140 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp140)->tag = 6 ; ats_selptrset_mac(anairiats_sum_3, tmp140, atslab_0, arg2) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp140) ; tmp127 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp129)->tag != 9) { goto __ats_lab_69_0 ; } __ats_lab_66_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_12, tmp129, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_12, tmp129, atslab_2) ; tmp143 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp141), atslab_e1xp_node) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp143)->tag != 0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_3, tmp143, atslab_0) ; tmp127 = e1xplevenv_valize_appid_25 (arg0, arg1, arg2, tmp144, tmp142) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp146 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp146)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp146, atslab_0, arg2) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp146) ; tmp127 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp129)->tag != 11) { goto __ats_lab_72_0 ; } __ats_lab_69_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_12, tmp129, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_12, tmp129, atslab_1) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_12, tmp129, atslab_2) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, tmp147) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp150)->tag != 4) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp127 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (tmp150) ; if (tmp152) { tmp151 = tmp148 ; } else { tmp151 = tmp149 ; } /* end of [if] */ tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, tmp151) ; break ; } while (0) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp129)->tag != 13) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp127 = e1xplevenv_valize_list_24 (arg0, arg1, arg2, tmp153) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp129)->tag != 12) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, tmp154) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp129)->tag != 10) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp156 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp156)->tag = 12 ; ats_selptrset_mac(anairiats_sum_3, tmp156, atslab_0, arg2) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp156) ; tmp127 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (((ats_sum_ptr_type)tmp129)->tag != 14) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: tmp158 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp158)->tag = 13 ; ats_selptrset_mac(anairiats_sum_3, tmp158, atslab_0, arg2) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp158) ; tmp127 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_main] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 12491(line=522, offs=4) -- 12973(line=536, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_add_34 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_double_type, tmp165) ; ATSlocal (ats_double_type, tmp166) ; ATSlocal (ats_double_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_e1xplevenv_valize_add_34: tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp160)->tag != 0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: if (((ats_sum_ptr_type)tmp161)->tag != 0) { goto __ats_lab_79_1 ; } __ats_lab_76_2: tmp162 = ats_caselptrlab_mac(anairiats_sum_1, tmp160, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_1, tmp161, atslab_0) ; tmp164 = atspre_add_int_int (tmp162, tmp163) ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp159)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp159, atslab_0, tmp164) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp160)->tag != 3) { goto __ats_lab_78_0 ; } __ats_lab_77_1: if (((ats_sum_ptr_type)tmp161)->tag != 3) { goto __ats_lab_79_1 ; } __ats_lab_77_2: tmp165 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_4, tmp161, atslab_0) ; tmp167 = atspre_add_double_double (tmp165, tmp166) ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp159)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp159, atslab_0, tmp167) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp160)->tag != 2) { goto __ats_lab_79_0 ; } __ats_lab_78_1: if (((ats_sum_ptr_type)tmp161)->tag != 2) { goto __ats_lab_79_1 ; } __ats_lab_78_2: tmp168 = ats_caselptrlab_mac(anairiats_sum_3, tmp160, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_3, tmp161, atslab_0) ; tmp170 = atspre_string_append (tmp168, tmp169) ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp159)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp159, atslab_0, tmp170) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: __ats_lab_79_2: tmp172 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp172)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp172, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp172, atslab_1, arg3) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp172) ; tmp159 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp159) ; } /* end of [e1xplevenv_valize_add_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 13012(line=538, offs=4) -- 13435(line=551, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_sub_35 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_double_type, tmp179) ; ATSlocal (ats_double_type, tmp180) ; ATSlocal (ats_double_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab_e1xplevenv_valize_sub_35: tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp174)->tag != 0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: if (((ats_sum_ptr_type)tmp175)->tag != 0) { goto __ats_lab_82_1 ; } __ats_lab_80_2: tmp176 = ats_caselptrlab_mac(anairiats_sum_1, tmp174, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_1, tmp175, atslab_0) ; tmp178 = atspre_sub_int_int (tmp176, tmp177) ; tmp173 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp173)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp173, atslab_0, tmp178) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp174)->tag != 3) { goto __ats_lab_82_0 ; } __ats_lab_81_1: if (((ats_sum_ptr_type)tmp175)->tag != 3) { goto __ats_lab_82_1 ; } __ats_lab_81_2: tmp179 = ats_caselptrlab_mac(anairiats_sum_4, tmp174, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_4, tmp175, atslab_0) ; tmp181 = atspre_sub_double_double (tmp179, tmp180) ; tmp173 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp173)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp173, atslab_0, tmp181) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: __ats_lab_82_2: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp183)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp183, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp183, atslab_1, arg3) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp183) ; tmp173 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp173) ; } /* end of [e1xplevenv_valize_sub_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 13474(line=553, offs=4) -- 13897(line=566, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_mul_36 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_int_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_double_type, tmp190) ; ATSlocal (ats_double_type, tmp191) ; ATSlocal (ats_double_type, tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; __ats_lab_e1xplevenv_valize_mul_36: tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp185)->tag != 0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: if (((ats_sum_ptr_type)tmp186)->tag != 0) { goto __ats_lab_85_1 ; } __ats_lab_83_2: tmp187 = ats_caselptrlab_mac(anairiats_sum_1, tmp185, atslab_0) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_1, tmp186, atslab_0) ; tmp189 = atspre_mul_int_int (tmp187, tmp188) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp184, atslab_0, tmp189) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp185)->tag != 3) { goto __ats_lab_85_0 ; } __ats_lab_84_1: if (((ats_sum_ptr_type)tmp186)->tag != 3) { goto __ats_lab_85_1 ; } __ats_lab_84_2: tmp190 = ats_caselptrlab_mac(anairiats_sum_4, tmp185, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_4, tmp186, atslab_0) ; tmp192 = atspre_mul_double_double (tmp190, tmp191) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp184)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp184, atslab_0, tmp192) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: __ats_lab_85_2: tmp194 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp194)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp194, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp194, atslab_1, arg3) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp194) ; tmp184 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp184) ; } /* end of [e1xplevenv_valize_mul_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 13936(line=568, offs=4) -- 14359(line=581, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_div_37 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_double_type, tmp201) ; ATSlocal (ats_double_type, tmp202) ; ATSlocal (ats_double_type, tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab_e1xplevenv_valize_div_37: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp196)->tag != 0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: if (((ats_sum_ptr_type)tmp197)->tag != 0) { goto __ats_lab_88_1 ; } __ats_lab_86_2: tmp198 = ats_caselptrlab_mac(anairiats_sum_1, tmp196, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_1, tmp197, atslab_0) ; tmp200 = atspre_div_int_int (tmp198, tmp199) ; tmp195 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp195)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp195, atslab_0, tmp200) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp196)->tag != 3) { goto __ats_lab_88_0 ; } __ats_lab_87_1: if (((ats_sum_ptr_type)tmp197)->tag != 3) { goto __ats_lab_88_1 ; } __ats_lab_87_2: tmp201 = ats_caselptrlab_mac(anairiats_sum_4, tmp196, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_4, tmp197, atslab_0) ; tmp203 = atspre_div_double_double (tmp201, tmp202) ; tmp195 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp195)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp195, atslab_0, tmp203) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: __ats_lab_88_2: tmp205 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp205)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_1, arg3) ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp205) ; tmp195 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp195) ; } /* end of [e1xplevenv_valize_div_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 14419(line=585, offs=4) -- 14982(line=602, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_lt_38 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_double_type, tmp209) ; ATSlocal (ats_double_type, tmp210) ; ATSlocal (ats_bool_type, tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_bool_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_bool_type, tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab_e1xplevenv_valize_lt_38: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp207)->tag != 3) { goto __ats_lab_90_0 ; } __ats_lab_89_1: if (((ats_sum_ptr_type)tmp208)->tag != 3) { goto __ats_lab_92_1 ; } __ats_lab_89_2: tmp209 = ats_caselptrlab_mac(anairiats_sum_4, tmp207, atslab_0) ; tmp210 = ats_caselptrlab_mac(anairiats_sum_4, tmp208, atslab_0) ; tmp211 = atspre_lt_double_double (tmp209, tmp210) ; if (tmp211) { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 1) ; } else { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp207)->tag != 0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: if (((ats_sum_ptr_type)tmp208)->tag != 0) { goto __ats_lab_92_1 ; } __ats_lab_90_2: tmp212 = ats_caselptrlab_mac(anairiats_sum_1, tmp207, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_1, tmp208, atslab_0) ; tmp214 = atspre_lt_int_int (tmp212, tmp213) ; if (tmp214) { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 1) ; } else { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp207)->tag != 2) { goto __ats_lab_92_0 ; } __ats_lab_91_1: if (((ats_sum_ptr_type)tmp208)->tag != 2) { goto __ats_lab_92_1 ; } __ats_lab_91_2: tmp215 = ats_caselptrlab_mac(anairiats_sum_3, tmp207, atslab_0) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_3, tmp208, atslab_0) ; tmp217 = atspre_lt_string_string (tmp215, tmp216) ; if (tmp217) { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 1) ; } else { tmp206 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp206)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp206, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: __ats_lab_92_2: tmp219 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp219)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp219, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp219, atslab_1, arg3) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp219) ; tmp206 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp206) ; } /* end of [e1xplevenv_valize_lt_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 15020(line=604, offs=4) -- 15588(line=621, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_lteq_39 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_double_type, tmp223) ; ATSlocal (ats_double_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_int_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_bool_type, tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab_e1xplevenv_valize_lteq_39: tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp221)->tag != 3) { goto __ats_lab_94_0 ; } __ats_lab_93_1: if (((ats_sum_ptr_type)tmp222)->tag != 3) { goto __ats_lab_96_1 ; } __ats_lab_93_2: tmp223 = ats_caselptrlab_mac(anairiats_sum_4, tmp221, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_4, tmp222, atslab_0) ; tmp225 = atspre_lte_double_double (tmp223, tmp224) ; if (tmp225) { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 1) ; } else { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp221)->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: if (((ats_sum_ptr_type)tmp222)->tag != 0) { goto __ats_lab_96_1 ; } __ats_lab_94_2: tmp226 = ats_caselptrlab_mac(anairiats_sum_1, tmp221, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_1, tmp222, atslab_0) ; tmp228 = atspre_lte_int_int (tmp226, tmp227) ; if (tmp228) { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 1) ; } else { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp221)->tag != 2) { goto __ats_lab_96_0 ; } __ats_lab_95_1: if (((ats_sum_ptr_type)tmp222)->tag != 2) { goto __ats_lab_96_1 ; } __ats_lab_95_2: tmp229 = ats_caselptrlab_mac(anairiats_sum_3, tmp221, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_3, tmp222, atslab_0) ; tmp231 = atspre_lte_string_string (tmp229, tmp230) ; if (tmp231) { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 1) ; } else { tmp220 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp220)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp220, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: __ats_lab_96_2: tmp233 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp233)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_1, arg3) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp233) ; tmp220 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp220) ; } /* end of [e1xplevenv_valize_lteq_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 15628(line=623, offs=4) -- 16191(line=640, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_gt_40 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_double_type, tmp237) ; ATSlocal (ats_double_type, tmp238) ; ATSlocal (ats_bool_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_bool_type, tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab_e1xplevenv_valize_gt_40: tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp235)->tag != 3) { goto __ats_lab_98_0 ; } __ats_lab_97_1: if (((ats_sum_ptr_type)tmp236)->tag != 3) { goto __ats_lab_100_1 ; } __ats_lab_97_2: tmp237 = ats_caselptrlab_mac(anairiats_sum_4, tmp235, atslab_0) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_4, tmp236, atslab_0) ; tmp239 = atspre_gt_double_double (tmp237, tmp238) ; if (tmp239) { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 1) ; } else { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp235)->tag != 0) { goto __ats_lab_99_0 ; } __ats_lab_98_1: if (((ats_sum_ptr_type)tmp236)->tag != 0) { goto __ats_lab_100_1 ; } __ats_lab_98_2: tmp240 = ats_caselptrlab_mac(anairiats_sum_1, tmp235, atslab_0) ; tmp241 = ats_caselptrlab_mac(anairiats_sum_1, tmp236, atslab_0) ; tmp242 = atspre_gt_int_int (tmp240, tmp241) ; if (tmp242) { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 1) ; } else { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp235)->tag != 2) { goto __ats_lab_100_0 ; } __ats_lab_99_1: if (((ats_sum_ptr_type)tmp236)->tag != 2) { goto __ats_lab_100_1 ; } __ats_lab_99_2: tmp243 = ats_caselptrlab_mac(anairiats_sum_3, tmp235, atslab_0) ; tmp244 = ats_caselptrlab_mac(anairiats_sum_3, tmp236, atslab_0) ; tmp245 = atspre_gt_string_string (tmp243, tmp244) ; if (tmp245) { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 1) ; } else { tmp234 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp234)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp234, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: __ats_lab_100_2: tmp247 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp247)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp247, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp247, atslab_1, arg3) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp247) ; tmp234 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp234) ; } /* end of [e1xplevenv_valize_gt_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 16229(line=642, offs=4) -- 16797(line=659, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_gteq_41 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_double_type, tmp251) ; ATSlocal (ats_double_type, tmp252) ; ATSlocal (ats_bool_type, tmp253) ; ATSlocal (ats_int_type, tmp254) ; ATSlocal (ats_int_type, tmp255) ; ATSlocal (ats_bool_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_bool_type, tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab_e1xplevenv_valize_gteq_41: tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp249)->tag != 3) { goto __ats_lab_102_0 ; } __ats_lab_101_1: if (((ats_sum_ptr_type)tmp250)->tag != 3) { goto __ats_lab_104_1 ; } __ats_lab_101_2: tmp251 = ats_caselptrlab_mac(anairiats_sum_4, tmp249, atslab_0) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_4, tmp250, atslab_0) ; tmp253 = atspre_gte_double_double (tmp251, tmp252) ; if (tmp253) { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 1) ; } else { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp249)->tag != 0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: if (((ats_sum_ptr_type)tmp250)->tag != 0) { goto __ats_lab_104_1 ; } __ats_lab_102_2: tmp254 = ats_caselptrlab_mac(anairiats_sum_1, tmp249, atslab_0) ; tmp255 = ats_caselptrlab_mac(anairiats_sum_1, tmp250, atslab_0) ; tmp256 = atspre_gte_int_int (tmp254, tmp255) ; if (tmp256) { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 1) ; } else { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp249)->tag != 2) { goto __ats_lab_104_0 ; } __ats_lab_103_1: if (((ats_sum_ptr_type)tmp250)->tag != 2) { goto __ats_lab_104_1 ; } __ats_lab_103_2: tmp257 = ats_caselptrlab_mac(anairiats_sum_3, tmp249, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_3, tmp250, atslab_0) ; tmp259 = atspre_gte_string_string (tmp257, tmp258) ; if (tmp259) { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 1) ; } else { tmp248 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp248)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp248, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: __ats_lab_104_2: tmp261 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp261)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp261, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp261, atslab_1, arg3) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp261) ; tmp248 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp248) ; } /* end of [e1xplevenv_valize_gteq_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 16859(line=663, offs=5) -- 17339(line=678, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_eq_42 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_bool_type, tmp270) ; // ATSlocal_void (tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab_e1xplevenv_valize_eq_42: tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp263)->tag != 0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: if (((ats_sum_ptr_type)tmp264)->tag != 0) { goto __ats_lab_107_1 ; } __ats_lab_105_2: tmp265 = ats_caselptrlab_mac(anairiats_sum_1, tmp263, atslab_0) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_1, tmp264, atslab_0) ; tmp267 = atspre_eq_int_int (tmp265, tmp266) ; if (tmp267) { tmp262 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp262)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp262, atslab_0, 1) ; } else { tmp262 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp262)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp262, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp263)->tag != 2) { goto __ats_lab_107_0 ; } __ats_lab_106_1: if (((ats_sum_ptr_type)tmp264)->tag != 2) { goto __ats_lab_107_1 ; } __ats_lab_106_2: tmp268 = ats_caselptrlab_mac(anairiats_sum_3, tmp263, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_3, tmp264, atslab_0) ; tmp270 = atspre_eq_string_string (tmp268, tmp269) ; if (tmp270) { tmp262 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp262)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp262, atslab_0, 1) ; } else { tmp262 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp262)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp262, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: __ats_lab_107_2: tmp272 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp272)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp272, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp272, atslab_1, arg3) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp272) ; tmp262 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp262) ; } /* end of [e1xplevenv_valize_eq_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 17378(line=680, offs=5) -- 17861(line=695, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_neq_43 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_int_type, tmp277) ; ATSlocal (ats_bool_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_bool_type, tmp281) ; // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab_e1xplevenv_valize_neq_43: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp274)->tag != 0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: if (((ats_sum_ptr_type)tmp275)->tag != 0) { goto __ats_lab_110_1 ; } __ats_lab_108_2: tmp276 = ats_caselptrlab_mac(anairiats_sum_1, tmp274, atslab_0) ; tmp277 = ats_caselptrlab_mac(anairiats_sum_1, tmp275, atslab_0) ; tmp278 = atspre_neq_int_int (tmp276, tmp277) ; if (tmp278) { tmp273 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp273)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp273, atslab_0, 1) ; } else { tmp273 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp273)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp273, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp274)->tag != 2) { goto __ats_lab_110_0 ; } __ats_lab_109_1: if (((ats_sum_ptr_type)tmp275)->tag != 2) { goto __ats_lab_110_1 ; } __ats_lab_109_2: tmp279 = ats_caselptrlab_mac(anairiats_sum_3, tmp274, atslab_0) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_3, tmp275, atslab_0) ; tmp281 = atspre_neq_string_string (tmp279, tmp280) ; if (tmp281) { tmp273 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp273)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp273, atslab_0, 1) ; } else { tmp273 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp273)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp273, atslab_0, 0) ; } /* end of [if] */ break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: __ats_lab_110_1: __ats_lab_110_2: tmp283 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp283)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp283, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp283, atslab_1, arg3) ; /* tmp282 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp283) ; tmp273 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp273) ; } /* end of [e1xplevenv_valize_neq_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 17922(line=699, offs=5) -- 18677(line=722, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_land_44 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_int_type, tmp288) ; ATSlocal (ats_bool_type, tmp289) ; ATSlocal (ats_bool_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_bool_type, tmp293) ; ATSlocal (ats_bool_type, tmp294) ; // ATSlocal_void (tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; __ats_lab_e1xplevenv_valize_land_44: tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp285)->tag != 0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: if (((ats_sum_ptr_type)tmp286)->tag != 0) { goto __ats_lab_113_1 ; } __ats_lab_111_2: tmp287 = ats_caselptrlab_mac(anairiats_sum_1, tmp285, atslab_0) ; tmp288 = ats_caselptrlab_mac(anairiats_sum_1, tmp286, atslab_0) ; tmp289 = atspre_eq_int_int (tmp287, 0) ; if (tmp289) { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 0) ; } else { tmp290 = atspre_eq_int_int (tmp288, 0) ; if (tmp290) { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 0) ; } else { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 1) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp285)->tag != 2) { goto __ats_lab_113_0 ; } __ats_lab_112_1: if (((ats_sum_ptr_type)tmp286)->tag != 2) { goto __ats_lab_113_1 ; } __ats_lab_112_2: tmp291 = ats_caselptrlab_mac(anairiats_sum_3, tmp285, atslab_0) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_3, tmp286, atslab_0) ; tmp293 = atspre_string_is_empty (ats_castfn_mac(ats_ptr_type, tmp291)) ; if (tmp293) { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 0) ; } else { tmp294 = atspre_string_is_empty (ats_castfn_mac(ats_ptr_type, tmp291)) ; if (tmp294) { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 0) ; } else { tmp284 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp284)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp284, atslab_0, 1) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: __ats_lab_113_2: tmp296 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp296)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp296, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp296, atslab_1, arg3) ; /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp296) ; tmp284 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp284) ; } /* end of [e1xplevenv_valize_land_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 18718(line=724, offs=5) -- 19480(line=747, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_lor_45 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_int_type, tmp300) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_bool_type, tmp302) ; ATSlocal (ats_bool_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_bool_type, tmp306) ; ATSlocal (ats_bool_type, tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab_e1xplevenv_valize_lor_45: tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp298)->tag != 0) { goto __ats_lab_115_0 ; } __ats_lab_114_1: if (((ats_sum_ptr_type)tmp299)->tag != 0) { goto __ats_lab_116_1 ; } __ats_lab_114_2: tmp300 = ats_caselptrlab_mac(anairiats_sum_1, tmp298, atslab_0) ; tmp301 = ats_caselptrlab_mac(anairiats_sum_1, tmp299, atslab_0) ; tmp302 = atspre_neq_int_int (tmp300, 0) ; if (tmp302) { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 1) ; } else { tmp303 = atspre_neq_int_int (tmp301, 0) ; if (tmp303) { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 1) ; } else { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 0) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp298)->tag != 2) { goto __ats_lab_116_0 ; } __ats_lab_115_1: if (((ats_sum_ptr_type)tmp299)->tag != 2) { goto __ats_lab_116_1 ; } __ats_lab_115_2: tmp304 = ats_caselptrlab_mac(anairiats_sum_3, tmp298, atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_3, tmp299, atslab_0) ; tmp306 = atspre_string_isnot_empty (ats_castfn_mac(ats_ptr_type, tmp304)) ; if (tmp306) { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 1) ; } else { tmp307 = atspre_string_isnot_empty (ats_castfn_mac(ats_ptr_type, tmp305)) ; if (tmp307) { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 1) ; } else { tmp297 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp297, atslab_0, 0) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: __ats_lab_116_2: tmp309 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp309)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp309, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp309, atslab_1, arg3) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp309) ; tmp297 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp297) ; } /* end of [e1xplevenv_valize_lor_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 19540(line=751, offs=4) -- 20397(line=777, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_asl_46 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_int_type, tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_bool_type, tmp316) ; // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_bool_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_bool_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab_e1xplevenv_valize_asl_46: tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp311)->tag != 0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: if (((ats_sum_ptr_type)tmp312)->tag != 0) { goto __ats_lab_118_1 ; } __ats_lab_117_2: tmp313 = ats_caselptrlab_mac(anairiats_sum_1, tmp311, atslab_0) ; tmp314 = ats_caselptrlab_mac(anairiats_sum_1, tmp312, atslab_0) ; tmp316 = atspre_ilt (ats_castfn_mac(ats_int_type, tmp314), 0) ; if (tmp316) { tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_e1xp_loc) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp318) ; tmp321 = patsopt_debug_flag_get () ; tmp320 = atspre_gt_int_int (tmp321, 0) ; if (tmp320) { /* tmp319 = */ atspre_prerr_string (ATSstrcst(": e1xplevenv_valize_asl")) ; } else { /* empty */ } /* end of [if] */ /* tmp322 = */ atspre_prerr_string (ATSstrcst(": the second argument of [<<] is required to be a natural number.")) ; /* tmp323 = */ atspre_prerr_newline () ; /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ tmp325 = atspre_igte (ats_castfn_mac(ats_int_type, tmp314), 0) ; /* tmp324 = */ atspre_assert (tmp325) ; tmp326 = atspre_asl_int_int1 (tmp313, ats_castfn_mac(ats_int_type, tmp314)) ; tmp310 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp310)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp310, atslab_0, tmp326) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: __ats_lab_118_1: __ats_lab_118_2: tmp328 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp328)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp328, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp328, atslab_1, arg3) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp328) ; tmp310 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp310) ; } /* end of [e1xplevenv_valize_asl_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 20436(line=779, offs=4) -- 21293(line=805, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_valize_asr_47 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_int_type, tmp333) ; // ATSlocal_void (tmp334) ; ATSlocal (ats_bool_type, tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_bool_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; ATSlocal (ats_bool_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab_e1xplevenv_valize_asr_47: tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg4) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize (arg0, arg1, arg5) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp330)->tag != 0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: if (((ats_sum_ptr_type)tmp331)->tag != 0) { goto __ats_lab_120_1 ; } __ats_lab_119_2: tmp332 = ats_caselptrlab_mac(anairiats_sum_1, tmp330, atslab_0) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_1, tmp331, atslab_0) ; tmp335 = atspre_ilt (ats_castfn_mac(ats_int_type, tmp333), 0) ; if (tmp335) { tmp337 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_e1xp_loc) ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp337) ; tmp340 = patsopt_debug_flag_get () ; tmp339 = atspre_gt_int_int (tmp340, 0) ; if (tmp339) { /* tmp338 = */ atspre_prerr_string (ATSstrcst(": e1xplevenv_valize_asl")) ; } else { /* empty */ } /* end of [if] */ /* tmp341 = */ atspre_prerr_string (ATSstrcst(": the second argument of [>>] is required to be a natural number.")) ; /* tmp342 = */ atspre_prerr_newline () ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ tmp344 = atspre_igte (ats_castfn_mac(ats_int_type, tmp333), 0) ; /* tmp343 = */ atspre_assert (tmp344) ; tmp345 = atspre_asr_int_int1 (tmp332, ats_castfn_mac(ats_int_type, tmp333)) ; tmp329 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp329)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp329, atslab_0, tmp345) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: __ats_lab_120_2: tmp347 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp347)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp347, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp347, atslab_1, arg3) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp347) ; tmp329 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp329) ; } /* end of [e1xplevenv_valize_asr_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 21386(line=811, offs=3) -- 23851(line=909, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_delta (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_bool_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_bool_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_bool_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_bool_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_bool_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_bool_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; // ATSlocal_void (tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_bool_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_bool_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; // ATSlocal_void (tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_bool_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; // ATSlocal_void (tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_bool_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; // ATSlocal_void (tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_bool_type, tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; // ATSlocal_void (tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_bool_type, tmp423) ; ATSlocal (ats_bool_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_bool_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; // ATSlocal_void (tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_bool_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; // ATSlocal_void (tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_delta: do { /* branch: __ats_lab_121 */ __ats_lab_121_0: __ats_lab_121_1: tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DEFINED) ; if (!tmp349) { goto __ats_lab_124_1 ; } do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } tmp350 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp350 != (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_defined (tmp351) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: __ats_lab_123_1: tmp353 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp353)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp353, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp353, atslab_1, arg3) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp353) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: __ats_lab_124_1: tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDEFINED) ; if (!tmp354) { goto __ats_lab_127_1 ; } do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } tmp355 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp355 != (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp356 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xp_valize_undefined (tmp356) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: __ats_lab_126_1: tmp358 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp358)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp358, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp358, atslab_1, arg3) ; /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp358) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; if (!tmp359) { goto __ats_lab_130_1 ; } do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } tmp360 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp360 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } tmp361 = ats_caselptrlab_mac(anairiats_sum_9, tmp360, atslab_1) ; if (tmp361 != (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp362 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_9, tmp360, atslab_0) ; tmp348 = e1xplevenv_valize_add_34 (arg0, arg1, arg2, arg3, tmp362, tmp363) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: tmp365 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp365)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp365, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp365, atslab_1, arg3) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp365) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; if (!tmp366) { goto __ats_lab_133_1 ; } do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } tmp367 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp367 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } tmp368 = ats_caselptrlab_mac(anairiats_sum_9, tmp367, atslab_1) ; if (tmp368 != (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp370 = ats_caselptrlab_mac(anairiats_sum_9, tmp367, atslab_0) ; tmp348 = e1xplevenv_valize_sub_35 (arg0, arg1, arg2, arg3, tmp369, tmp370) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: __ats_lab_132_1: tmp372 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp372)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp372, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp372, atslab_1, arg3) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp372) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: __ats_lab_133_1: tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL) ; if (!tmp373) { goto __ats_lab_136_1 ; } do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } tmp374 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp374 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } tmp375 = ats_caselptrlab_mac(anairiats_sum_9, tmp374, atslab_1) ; if (tmp375 != (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_9, tmp374, atslab_0) ; tmp348 = e1xplevenv_valize_mul_36 (arg0, arg1, arg2, arg3, tmp376, tmp377) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: __ats_lab_135_1: tmp379 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp379)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp379, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp379, atslab_1, arg3) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp379) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: __ats_lab_136_1: tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DIV) ; if (!tmp380) { goto __ats_lab_139_1 ; } do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } tmp381 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp381 == (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } tmp382 = ats_caselptrlab_mac(anairiats_sum_9, tmp381, atslab_1) ; if (tmp382 != (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp383 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp384 = ats_caselptrlab_mac(anairiats_sum_9, tmp381, atslab_0) ; tmp348 = e1xplevenv_valize_div_37 (arg0, arg1, arg2, arg3, tmp383, tmp384) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: __ats_lab_138_1: tmp386 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp386)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp386, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp386, atslab_1, arg3) ; /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp386) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: __ats_lab_139_1: tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; if (!tmp387) { goto __ats_lab_142_1 ; } do { /* branch: __ats_lab_140 */ __ats_lab_140_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } tmp388 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp388 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } tmp389 = ats_caselptrlab_mac(anairiats_sum_9, tmp388, atslab_1) ; if (tmp389 != (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp390 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp391 = ats_caselptrlab_mac(anairiats_sum_9, tmp388, atslab_0) ; tmp348 = e1xplevenv_valize_lt_38 (arg0, arg1, arg2, arg3, tmp390, tmp391) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: __ats_lab_141_1: tmp393 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp393)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp393, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp393, atslab_1, arg3) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp393) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: __ats_lab_142_1: tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ) ; if (!tmp394) { goto __ats_lab_145_1 ; } do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } tmp395 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp395 == (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } tmp396 = ats_caselptrlab_mac(anairiats_sum_9, tmp395, atslab_1) ; if (tmp396 != (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp398 = ats_caselptrlab_mac(anairiats_sum_9, tmp395, atslab_0) ; tmp348 = e1xplevenv_valize_lteq_39 (arg0, arg1, arg2, arg3, tmp397, tmp398) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: __ats_lab_144_1: tmp400 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp400)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp400, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp400, atslab_1, arg3) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp400) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: __ats_lab_145_1: tmp401 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; if (!tmp401) { goto __ats_lab_148_1 ; } do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } tmp402 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp402 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } tmp403 = ats_caselptrlab_mac(anairiats_sum_9, tmp402, atslab_1) ; if (tmp403 != (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp404 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp405 = ats_caselptrlab_mac(anairiats_sum_9, tmp402, atslab_0) ; tmp348 = e1xplevenv_valize_gt_40 (arg0, arg1, arg2, arg3, tmp404, tmp405) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: __ats_lab_147_1: tmp407 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp407)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp407, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp407, atslab_1, arg3) ; /* tmp406 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp407) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: __ats_lab_148_1: tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ) ; if (!tmp408) { goto __ats_lab_151_1 ; } do { /* branch: __ats_lab_149 */ __ats_lab_149_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } tmp409 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp409 == (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } tmp410 = ats_caselptrlab_mac(anairiats_sum_9, tmp409, atslab_1) ; if (tmp410 != (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp411 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp412 = ats_caselptrlab_mac(anairiats_sum_9, tmp409, atslab_0) ; tmp348 = e1xplevenv_valize_gteq_41 (arg0, arg1, arg2, arg3, tmp411, tmp412) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: __ats_lab_150_1: tmp414 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp414)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp414, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp414, atslab_1, arg3) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp414) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: __ats_lab_151_1: tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; if (tmp416) { tmp415 = ats_true_bool ; } else { tmp415 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ) ; } /* end of [if] */ if (!tmp415) { goto __ats_lab_154_1 ; } do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } tmp417 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp417 == (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } tmp418 = ats_caselptrlab_mac(anairiats_sum_9, tmp417, atslab_1) ; if (tmp418 != (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp419 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_9, tmp417, atslab_0) ; tmp348 = e1xplevenv_valize_eq_42 (arg0, arg1, arg2, arg3, tmp419, tmp420) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: __ats_lab_153_1: tmp422 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp422)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp422, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp422, atslab_1, arg3) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp422) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: __ats_lab_154_1: tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT) ; if (tmp424) { tmp423 = ats_true_bool ; } else { tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ) ; } /* end of [if] */ if (!tmp423) { goto __ats_lab_157_1 ; } do { /* branch: __ats_lab_155 */ __ats_lab_155_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } tmp425 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp425 == (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } tmp426 = ats_caselptrlab_mac(anairiats_sum_9, tmp425, atslab_1) ; if (tmp426 != (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp427 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp428 = ats_caselptrlab_mac(anairiats_sum_9, tmp425, atslab_0) ; tmp348 = e1xplevenv_valize_neq_43 (arg0, arg1, arg2, arg3, tmp427, tmp428) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: __ats_lab_156_1: tmp430 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp430)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp430, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp430, atslab_1, arg3) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp430) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: __ats_lab_157_1: tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAND) ; if (!tmp431) { goto __ats_lab_160_1 ; } do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } tmp432 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp432 == (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } tmp433 = ats_caselptrlab_mac(anairiats_sum_9, tmp432, atslab_1) ; if (tmp433 != (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp435 = ats_caselptrlab_mac(anairiats_sum_9, tmp432, atslab_0) ; tmp348 = e1xplevenv_valize_land_44 (arg0, arg1, arg2, arg3, tmp434, tmp435) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: __ats_lab_159_1: tmp437 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp437)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp437, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp437, atslab_1, arg3) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp437) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: __ats_lab_160_1: tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg3, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LOR) ; if (!tmp438) { goto __ats_lab_163_1 ; } do { /* branch: __ats_lab_161 */ __ats_lab_161_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_162_0 ; } tmp439 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; if (tmp439 == (ats_sum_ptr_type)0) { goto __ats_lab_162_0 ; } tmp440 = ats_caselptrlab_mac(anairiats_sum_9, tmp439, atslab_1) ; if (tmp440 != (ats_sum_ptr_type)0) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp441 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp442 = ats_caselptrlab_mac(anairiats_sum_9, tmp439, atslab_0) ; tmp348 = e1xplevenv_valize_lor_45 (arg0, arg1, arg2, arg3, tmp441, tmp442) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: __ats_lab_162_1: tmp444 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp444)->tag = 11 ; ats_selptrset_mac(anairiats_sum_10, tmp444, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp444, atslab_1, arg3) ; /* tmp443 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp444) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: __ats_lab_163_1: tmp446 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp446)->tag = 10 ; ats_selptrset_mac(anairiats_sum_10, tmp446, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp446, atslab_1, arg3) ; /* tmp445 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (tmp446) ; tmp348 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALerr_4) ; break ; } while (0) ; return (tmp348) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_valize_delta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 24319(line=931, offs=16) -- 24373(line=932, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize: tmp448 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_e1xp_loc) ; tmp447 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize (tmp448, 0, arg0) ; return (tmp447) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 24432(line=937, offs=3) -- 24571(line=941, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; // ATSlocal_void (tmp452) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize: tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_nil () ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, tmp450, arg2) ; /* tmp452 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree (tmp450) ; tmp449 = tmp451 ; return (tmp449) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 24627(line=945, offs=4) -- 25007(line=961, offs=4) */ ATSstaticdec() ats_ptr_type e1xplevenv_normalize_ide_51 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_int_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; __ats_lab_e1xplevenv_normalize_ide_51: tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfind (arg2, arg4) ; do { /* branch: __ats_lab_164 */ __ats_lab_164_0: if (tmp454 == (ats_sum_ptr_type)0) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp455 = ats_caselptrlab_mac(anairiats_sum_6, tmp454, atslab_0) ; ATS_FREE(tmp454) ; tmp453 = tmp455 ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: // if (tmp454 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_165_1: tmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (arg4) ; do { /* branch: __ats_lab_166 */ __ats_lab_166_0: if (tmp456 == (ats_sum_ptr_type)0) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp457 = ats_caselptrlab_mac(anairiats_sum_6, tmp456, atslab_0) ; ATS_FREE(tmp456) ; tmp458 = atspre_add_int_int (arg1, 1) ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplev_normalize (arg0, tmp458, tmp457) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: // if (tmp456 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_167_1: tmp459 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg3), atslab_e1xp_node) ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp459) ; break ; } while (0) ; break ; } while (0) ; return (tmp453) ; } /* end of [e1xplevenv_normalize_ide_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 25071(line=965, offs=5) -- 25389(line=974, offs=31) */ ATSstaticdec() ats_ptr_type e1xplstlevenv_normalize_52 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; __ats_lab_e1xplstlevenv_normalize_52: do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp461 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp461) ; tmp464 = e1xplstlevenv_normalize_52 (arg0, arg1, arg2, tmp462) ; tmp460 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp460, atslab_0, tmp463) ; ats_selptrset_mac(anairiats_sum_9, tmp460, atslab_1, tmp464) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp460 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp460) ; } /* end of [e1xplstlevenv_normalize_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 25580(line=986, offs=3) -- 25941(line=1000, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_bool_type, tmp466) ; // ATSlocal_void (tmp467) ; // ATSlocal_void (tmp468) ; // ATSlocal_void (tmp469) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize: tmp466 = atspre_lte_int_int (arg1, 99) ; if (tmp466) { tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize_main (arg0, arg1, arg2, arg3) ; } else { /* tmp467 = */ prerr_error1_loc_0 (arg0) ; /* tmp468 = */ atspre_prerrf_exn (ATSstrcst(": the maximal normlization depth (%i) has been reached."), arg1) ; /* tmp469 = */ atspre_prerr_newline () ; tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (arg0) ; } /* end of [if] */ return (tmp465) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval.dats: 26014(line=1004, offs=3) -- 27881(line=1067, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize_main (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_int_type, tmp487) ; // ATSlocal_void (tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_bool_type, tmp494) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize_main: tmp471 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg3), atslab_e1xp_node) ; do { /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp471)->tag != 0) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp472 = ats_caselptrlab_mac(anairiats_sum_3, tmp471, atslab_0) ; tmp470 = e1xplevenv_normalize_ide_51 (arg0, arg1, arg2, arg3, tmp472) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)tmp471)->tag != 1) { goto __ats_lab_172_0 ; } __ats_lab_171_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp471)->tag != 2) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp471)->tag != 3) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp471)->tag != 5) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp471)->tag != 4) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)tmp471)->tag != 6) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)tmp471)->tag != 7) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)tmp471)->tag != 8) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)tmp471)->tag != 13) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp473 = ats_caselptrlab_mac(anairiats_sum_3, tmp471, atslab_0) ; tmp474 = e1xplstlevenv_normalize_52 (arg0, arg1, arg2, tmp473) ; tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (arg0, tmp474) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: if (((ats_sum_ptr_type)tmp471)->tag != 12) { goto __ats_lab_181_0 ; } __ats_lab_180_1: tmp475 = ats_caselptrlab_mac(anairiats_sum_3, tmp471, atslab_0) ; tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp475) ; tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (tmp477) ; tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al (arg0, tmp476) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)tmp471)->tag != 9) { goto __ats_lab_184_0 ; } __ats_lab_181_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_0) ; tmp479 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_2) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp478) ; tmp481 = e1xplstlevenv_normalize_52 (arg0, arg1, arg2, tmp479) ; tmp482 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp480), atslab_e1xp_node) ; do { /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)tmp482)->tag != 10) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp483 = ats_caselptrlab_mac(anairiats_sum_10, tmp482, atslab_0) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_10, tmp482, atslab_1) ; tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvmake_e1xplst (arg0, tmp483, tmp481) ; tmp487 = atspre_add_int_int (arg1, 1) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, tmp487, tmp485, tmp484) ; /* tmp488 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__lenvfree (tmp485) ; tmp470 = tmp486 ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: __ats_lab_183_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (arg0, tmp480, arg0, tmp481) ; break ; } while (0) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)tmp471)->tag != 10) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp471)->tag != 11) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp489 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_0) ; tmp490 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_1) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_12, tmp471, atslab_2) ; tmp493 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp489) ; tmp492 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (tmp493) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (tmp492) ; if (tmp494) { tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp490) ; } else { tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize (arg0, arg1, arg2, tmp491) ; } /* end of [if] */ break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: // if (((ats_sum_ptr_type)tmp471)->tag != 14) { ats_deadcode_failure_handle () ; } __ats_lab_186_1: tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp471) ; break ; } while (0) ; return (tmp470) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__e1xplevenv_normalize_main] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_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 () ; #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_e1xpval_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_effect_dats.c0000664000175000017500000011532512655455557021334 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_e0fftag_loc ; ats_ptr_type atslab_e0fftag_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_9 ; typedef struct { int tag ; ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGprf_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGlin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGclo_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add) (ats_uint_type, ats_int_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del) (ats_uint_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_01889_ () ; static ats_bool_type name_is_nil_1 (ats_ptr_type arg0) ; static ats_bool_type name_is_all_2 (ats_ptr_type arg0) ; static ats_bool_type name_is_ntm_3 (ats_ptr_type arg0) ; static ats_bool_type name_is_exn_4 (ats_ptr_type arg0) ; static ats_bool_type name_is_ref_5 (ats_ptr_type arg0) ; static ats_bool_type name_is_wrt_6 (ats_ptr_type arg0) ; static ats_bool_type name_is_exnref_7 (ats_ptr_type arg0) ; static ats_bool_type name_is_exnwrt_8 (ats_ptr_type arg0) ; static ats_bool_type name_is_exnrefwrt_9 (ats_ptr_type arg0) ; static ats_bool_type name_is_refwrt_10 (ats_ptr_type arg0) ; static ats_bool_type name_is_lazy_11 (ats_ptr_type arg0) ; static ats_void_type prerr_error1_loc_01892_ (ats_ptr_type arg0) ; static ats_void_type loop_err_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_14 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ptr_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp18) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 1598(line=46, offs=28) -- 1629(line=46, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_01889_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_01889_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_staexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_01889_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 1838(line=63, offs=4) -- 1916(line=64, offs=44) */ ATSstaticdec() ats_bool_type name_is_nil_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; __ats_lab_name_is_nil_1: tmp2 = atspre_eq_string_string (arg0, ATSstrcst("0")) ; if (tmp2) { tmp1 = ats_true_bool ; } else { tmp1 = atspre_eq_string_string (arg0, ATSstrcst("nil")) ; } /* end of [if] */ return (tmp1) ; } /* end of [name_is_nil_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 1920(line=65, offs=4) -- 1998(line=66, offs=44) */ ATSstaticdec() ats_bool_type name_is_all_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; __ats_lab_name_is_all_2: tmp4 = atspre_eq_string_string (arg0, ATSstrcst("1")) ; if (tmp4) { tmp3 = ats_true_bool ; } else { tmp3 = atspre_eq_string_string (arg0, ATSstrcst("all")) ; } /* end of [if] */ return (tmp3) ; } /* end of [name_is_all_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2003(line=68, offs=4) -- 2087(line=69, offs=50) */ ATSstaticdec() ats_bool_type name_is_ntm_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_bool_type, tmp6) ; __ats_lab_name_is_ntm_3: tmp6 = atspre_eq_string_string (arg0, ATSstrcst("ntm")) ; if (tmp6) { tmp5 = ats_true_bool ; } else { tmp5 = atspre_eq_string_string (arg0, ATSstrcst("nonterm")) ; } /* end of [if] */ return (tmp5) ; } /* end of [name_is_ntm_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2092(line=71, offs=4) -- 2178(line=72, offs=52) */ ATSstaticdec() ats_bool_type name_is_exn_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; __ats_lab_name_is_exn_4: tmp8 = atspre_eq_string_string (arg0, ATSstrcst("exn")) ; if (tmp8) { tmp7 = ats_true_bool ; } else { tmp7 = atspre_eq_string_string (arg0, ATSstrcst("exception")) ; } /* end of [if] */ return (tmp7) ; } /* end of [name_is_exn_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2182(line=73, offs=4) -- 2267(line=74, offs=52) */ ATSstaticdec() ats_bool_type name_is_ref_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; __ats_lab_name_is_ref_5: tmp10 = atspre_eq_string_string (arg0, ATSstrcst("ref")) ; if (tmp10) { tmp9 = ats_true_bool ; } else { tmp9 = atspre_eq_string_string (arg0, ATSstrcst("reference")) ; } /* end of [if] */ return (tmp9) ; } /* end of [name_is_ref_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2271(line=75, offs=4) -- 2353(line=76, offs=48) */ ATSstaticdec() ats_bool_type name_is_wrt_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; __ats_lab_name_is_wrt_6: tmp12 = atspre_eq_string_string (arg0, ATSstrcst("wrt")) ; if (tmp12) { tmp11 = ats_true_bool ; } else { tmp11 = atspre_eq_string_string (arg0, ATSstrcst("write")) ; } /* end of [if] */ return (tmp11) ; } /* end of [name_is_wrt_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2358(line=78, offs=4) -- 2411(line=78, offs=57) */ ATSstaticdec() ats_bool_type name_is_exnref_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp13) ; __ats_lab_name_is_exnref_7: tmp13 = atspre_eq_string_string (arg0, ATSstrcst("exnref")) ; return (tmp13) ; } /* end of [name_is_exnref_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2415(line=79, offs=4) -- 2468(line=79, offs=57) */ ATSstaticdec() ats_bool_type name_is_exnwrt_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp14) ; __ats_lab_name_is_exnwrt_8: tmp14 = atspre_eq_string_string (arg0, ATSstrcst("exnwrt")) ; return (tmp14) ; } /* end of [name_is_exnwrt_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2472(line=80, offs=4) -- 2531(line=80, offs=63) */ ATSstaticdec() ats_bool_type name_is_exnrefwrt_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp15) ; __ats_lab_name_is_exnrefwrt_9: tmp15 = atspre_eq_string_string (arg0, ATSstrcst("exnrefwrt")) ; return (tmp15) ; } /* end of [name_is_exnrefwrt_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2535(line=81, offs=4) -- 2588(line=81, offs=57) */ ATSstaticdec() ats_bool_type name_is_refwrt_10 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp16) ; __ats_lab_name_is_refwrt_10: tmp16 = atspre_eq_string_string (arg0, ATSstrcst("refwrt")) ; return (tmp16) ; } /* end of [name_is_refwrt_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2620(line=86, offs=4) -- 2668(line=86, offs=52) */ ATSstaticdec() ats_bool_type name_is_lazy_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp17) ; __ats_lab_name_is_lazy_11: tmp17 = atspre_eq_string_string (arg0, ATSstrcst("laz")) ; return (tmp17) ; } /* end of [name_is_lazy_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_01892_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab_prerr_error1_loc_01892_: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp21) */ ; } /* end of [prerr_error1_loc_01892_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 2765(line=97, offs=1) -- 3001(line=110, offs=2) */ ATSstaticdec() ats_void_type loop_err_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab_loop_err_12: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e0fftag_loc) ; /* tmp20 = */ prerr_error1_loc_01892_ (tmp23) ; /* tmp24 = */ atspre_prerr_string (ATSstrcst(": unrecognized effect constant: [")) ; /* tmp25 = */ atspre_prerr_string (arg1) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp27 = */ atspre_prerr_newline () ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; return /* (tmp19) */ ; } /* end of [loop_err_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 3031(line=112, offs=5) -- 7510(line=234, offs=4) */ ATSstaticdec() ats_void_type loop_14 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_uint_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_uint_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_uint_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_uint_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_uint_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_uint_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_uint_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_uint_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_uint_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_uint_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_uint_type, tmp84) ; ATSlocal (ats_uint_type, tmp85) ; ATSlocal (ats_bool_type, tmp86) ; ATSlocal (ats_uint_type, tmp87) ; ATSlocal (ats_uint_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_uint_type, tmp92) ; ATSlocal (ats_uint_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_uint_type, tmp95) ; ATSlocal (ats_uint_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_uint_type, tmp100) ; ATSlocal (ats_uint_type, tmp101) ; ATSlocal (ats_uint_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_uint_type, tmp104) ; ATSlocal (ats_uint_type, tmp105) ; ATSlocal (ats_uint_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_uint_type, tmp110) ; ATSlocal (ats_uint_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_uint_type, tmp113) ; ATSlocal (ats_uint_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_bool_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; __ats_lab_loop_14: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_0_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_1) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, tmp29), atslab_e0fftag_node) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp32)->tag != 2) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp32, atslab_0) ; tmp34 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_0, tmp33) ; ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_1, ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp34 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp32)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ; ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; tmp37 = atspre_eq_int_int (tmp35, 0) ; if (tmp37) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil ; } else { /* empty */ } /* end of [if] */ tmp38 = atspre_eq_int_int (tmp35, 1) ; if (tmp38) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ; tmp41 = name_is_all_2 (tmp40) ; if (!tmp41) { goto __ats_lab_4_1 ; } ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; tmp42 = atspre_gt_int_int (tmp39, 0) ; if (tmp42) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil ; } else { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ; tmp45 = name_is_nil_1 (tmp44) ; if (!tmp45) { goto __ats_lab_5_1 ; } ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; tmp46 = atspre_gt_int_int (tmp43, 0) ; if (tmp46) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; } else { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil ; } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ; tmp49 = name_is_lazy_11 (tmp48) ; if (!tmp49) { goto __ats_lab_6_1 ; } ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; tmp51 = atspre_gt_int_int (tmp47, 0) ; if (tmp51) { tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp52 ; } else { /* empty */ } /* end of [if] */ tmp53 = atspre_eq_int_int (tmp47, 0) ; if (tmp53) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp54 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_6_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp57 = name_is_ntm_3 (tmp56) ; if (!tmp57) { goto __ats_lab_8_1 ; } tmp59 = atspre_gt_int_int (tmp55, 0) ; if (tmp59) { tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp60 ; } else { /* empty */ } /* end of [if] */ tmp61 = atspre_eq_int_int (tmp55, 0) ; if (tmp61) { tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp62 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp63 = name_is_exn_4 (tmp56) ; if (!tmp63) { goto __ats_lab_9_1 ; } tmp65 = atspre_gt_int_int (tmp55, 0) ; if (tmp65) { tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp66 ; } else { /* empty */ } /* end of [if] */ tmp67 = atspre_eq_int_int (tmp55, 0) ; if (tmp67) { tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp68 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp69 = name_is_ref_5 (tmp56) ; if (!tmp69) { goto __ats_lab_10_1 ; } tmp71 = atspre_gt_int_int (tmp55, 0) ; if (tmp71) { tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp72 ; } else { /* empty */ } /* end of [if] */ tmp73 = atspre_eq_int_int (tmp55, 0) ; if (tmp73) { tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp74 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp75 = name_is_wrt_6 (tmp56) ; if (!tmp75) { goto __ats_lab_11_1 ; } tmp77 = atspre_gt_int_int (tmp55, 0) ; if (tmp77) { tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp78 ; } else { /* empty */ } /* end of [if] */ tmp79 = atspre_eq_int_int (tmp55, 0) ; if (tmp79) { tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp80 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp81 = name_is_exnref_7 (tmp56) ; if (!tmp81) { goto __ats_lab_12_1 ; } tmp83 = atspre_gt_int_int (tmp55, 0) ; if (tmp83) { tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (tmp85, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp84 ; } else { /* empty */ } /* end of [if] */ tmp86 = atspre_eq_int_int (tmp55, 0) ; if (tmp86) { tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (tmp88, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp87 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp89 = name_is_exnwrt_8 (tmp56) ; if (!tmp89) { goto __ats_lab_13_1 ; } tmp91 = atspre_gt_int_int (tmp55, 0) ; if (tmp91) { tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (tmp93, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp92 ; } else { /* empty */ } /* end of [if] */ tmp94 = atspre_eq_int_int (tmp55, 0) ; if (tmp94) { tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (tmp96, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp95 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp97 = name_is_exnrefwrt_9 (tmp56) ; if (!tmp97) { goto __ats_lab_14_1 ; } tmp99 = atspre_gt_int_int (tmp55, 0) ; if (tmp99) { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (tmp102, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (tmp101, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp100 ; } else { /* empty */ } /* end of [if] */ tmp103 = atspre_eq_int_int (tmp55, 0) ; if (tmp103) { tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (tmp106, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (tmp105, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp104 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp107 = name_is_refwrt_10 (tmp56) ; if (!tmp107) { goto __ats_lab_15_1 ; } tmp109 = atspre_gt_int_int (tmp55, 0) ; if (tmp109) { tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (tmp111, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp110 ; } else { /* empty */ } /* end of [if] */ tmp112 = atspre_eq_int_int (tmp55, 0) ; if (tmp112) { tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (tmp114, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_uint_type, arg3) = tmp113 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: /* tmp31 = */ loop_err_12 (tmp29, tmp56) ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp32)->tag != 3) { goto __ats_lab_17_0 ; } __ats_lab_16_1: ats_ptrget_mac(ats_int_type, arg2) = 1 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp32)->tag != 4) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ; ats_ptrget_mac(ats_int_type, arg1) = 1 ; tmp116 = atspre_gt_int_int (tmp115, 0) ; if (tmp116) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp32)->tag != 5) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_5, tmp32, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp32, atslab_1) ; tmp120 = atspre_gte_int_int (tmp117, 0) ; if (tmp120) { ats_ptrget_mac(ats_int_type, arg1) = tmp117 ; } else { /* empty */ } /* end of [if] */ tmp122 = (ats_sum_ptr_type)0 ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_0, tmp122) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp121 ; tmp123 = atspre_gt_int_int (tmp118, 0) ; if (tmp123) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)tmp32)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_1) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_2) ; tmp128 = atspre_gte_int_int (tmp124, 0) ; if (tmp128) { ats_ptrget_mac(ats_int_type, arg1) = tmp124 ; } else { /* empty */ } /* end of [if] */ tmp130 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp130, atslab_0, tmp125) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_0, tmp130) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp129 ; tmp131 = atspre_gt_int_int (tmp126, 0) ; if (tmp131) { ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all ; ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ; } else { /* empty */ } /* end of [if] */ break ; } while (0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp30 ; goto __ats_lab_loop_14 ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: break ; } while (0) ; return /* (tmp28) */ ; } /* end of [loop_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_effect.dats: 7579(line=240, offs=3) -- 8060(line=265, offs=4) */ ATSglobaldec() anairiats_rec_9 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_9, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_uint_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_bool_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr: /* ats_ptr_type tmp133 ; */ tmp133 = (ats_sum_ptr_type)0 ; /* ats_int_type tmp134 ; */ tmp134 = 0 ; /* ats_int_type tmp135 ; */ tmp135 = 0 ; /* ats_uint_type tmp136 ; */ tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil ; /* ats_ptr_type tmp137 ; */ tmp137 = statmp18 ; /* tmp138 = */ loop_14 ((&tmp133), (&tmp134), (&tmp135), (&tmp136), (&tmp137), arg0) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset (tmp136, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; if (!tmp140) { goto __ats_lab_22_1 ; } tmp139 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset (tmp136, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; if (!tmp141) { goto __ats_lab_25_1 ; } do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp137 != (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp139 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp139 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp139)->tag = 2 ; ats_selptrset_mac(anairiats_sum_10, tmp139, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_10, tmp139, atslab_1, tmp137) ; break ; } while (0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp139 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp139)->tag = 2 ; ats_selptrset_mac(anairiats_sum_10, tmp139, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_10, tmp139, atslab_1, tmp137) ; break ; } while (0) ; tmp132.atslab_0 = tmp133 ; tmp132.atslab_1 = tmp134 ; tmp132.atslab_2 = tmp135 ; tmp132.atslab_3 = tmp139 ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp18, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp18 = (ats_sum_ptr_type)0 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_effect_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_effect_sats.c0000664000175000017500000000233512655455557020057 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_effect_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_decl_dats.c0000664000175000017500000103410712655455557021007 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_d1ecl_loc ; ats_ptr_type atslab_d1ecl_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_dqi0de_loc ; ats_ptr_type atslab_dqi0de_qua ; ats_ptr_type atslab_dqi0de_sym ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d1atsrtcon_loc ; ats_ptr_type atslab_d1atsrtcon_sym ; ats_ptr_type atslab_d1atsrtcon_arg ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_d1atsrtdec_loc ; ats_ptr_type atslab_d1atsrtdec_sym ; ats_ptr_type atslab_d1atsrtdec_con ; } anairiats_rec_12 ; typedef struct { anairiats_rec_2 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_s1rtdef_loc ; ats_ptr_type atslab_s1rtdef_sym ; ats_ptr_type atslab_s1rtdef_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_s1tacst_loc ; ats_ptr_type atslab_s1tacst_sym ; ats_ptr_type atslab_s1tacst_fil ; ats_ptr_type atslab_s1tacst_arg ; ats_ptr_type atslab_s1tacst_res ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_s1tacon_loc ; ats_ptr_type atslab_s1tacon_sym ; ats_ptr_type atslab_s1tacon_fil ; ats_ptr_type atslab_s1tacon_arg ; ats_ptr_type atslab_s1tacon_def ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_17 ; typedef struct { anairiats_rec_17 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_18 ; typedef struct { ats_ptr_type atslab_t1kindef_loc ; ats_ptr_type atslab_t1kindef_sym ; ats_ptr_type atslab_t1kindef_loc_id ; ats_ptr_type atslab_t1kindef_def ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_s1marg_loc ; ats_ptr_type atslab_s1marg_arg ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_s1expdef_loc ; ats_ptr_type atslab_s1expdef_sym ; ats_ptr_type atslab_s1expdef_loc_id ; ats_ptr_type atslab_s1expdef_arg ; ats_ptr_type atslab_s1expdef_res ; ats_ptr_type atslab_s1expdef_def ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_s1aspdec_loc ; ats_ptr_type atslab_s1aspdec_qid ; ats_ptr_type atslab_s1aspdec_arg ; ats_ptr_type atslab_s1aspdec_res ; ats_ptr_type atslab_s1aspdec_def ; } anairiats_rec_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_24 ; typedef struct { ats_ptr_type atslab_sqi0de_loc ; ats_ptr_type atslab_sqi0de_qua ; ats_ptr_type atslab_sqi0de_sym ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_d1atdec_loc ; ats_ptr_type atslab_d1atdec_fil ; ats_ptr_type atslab_d1atdec_sym ; ats_ptr_type atslab_d1atdec_arg ; ats_ptr_type atslab_d1atdec_con ; } anairiats_rec_26 ; typedef struct { anairiats_rec_17 atslab_0 ; } anairiats_sum_27 ; typedef struct { ats_ptr_type atslab_e1xndec_loc ; ats_ptr_type atslab_e1xndec_fil ; ats_ptr_type atslab_e1xndec_sym ; ats_ptr_type atslab_e1xndec_qua ; ats_int_type atslab_e1xndec_npf ; ats_ptr_type atslab_e1xndec_arg ; } anairiats_rec_28 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_29 ; typedef struct { ats_ptr_type atslab_d1cstdec_loc ; ats_ptr_type atslab_d1cstdec_fil ; ats_ptr_type atslab_d1cstdec_sym ; ats_ptr_type atslab_d1cstdec_type ; ats_ptr_type atslab_d1cstdec_extdef ; } anairiats_rec_30 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_31 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_32 ; typedef struct { ats_ptr_type atslab_m1acdef_loc ; ats_ptr_type atslab_m1acdef_sym ; ats_ptr_type atslab_m1acdef_arg ; ats_ptr_type atslab_m1acdef_def ; } anairiats_rec_33 ; typedef struct { ats_ptr_type atslab_m1acarg_loc ; ats_ptr_type atslab_m1acarg_node ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_s1arg_loc ; ats_ptr_type atslab_s1arg_sym ; ats_ptr_type atslab_s1arg_srt ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_f1undec_loc ; ats_ptr_type atslab_f1undec_sym ; ats_ptr_type atslab_f1undec_sym_loc ; ats_ptr_type atslab_f1undec_def ; ats_ptr_type atslab_f1undec_ann ; } anairiats_rec_36 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_37 ; typedef struct { ats_ptr_type atslab_v1aldec_loc ; ats_ptr_type atslab_v1aldec_pat ; ats_ptr_type atslab_v1aldec_def ; ats_ptr_type atslab_v1aldec_ann ; } anairiats_rec_38 ; typedef struct { ats_ptr_type atslab_v1ardec_loc ; ats_int_type atslab_v1ardec_knd ; ats_ptr_type atslab_v1ardec_sym ; ats_ptr_type atslab_v1ardec_sym_loc ; ats_ptr_type atslab_v1ardec_pfat ; ats_ptr_type atslab_v1ardec_type ; ats_ptr_type atslab_v1ardec_init ; } anairiats_rec_39 ; typedef struct { ats_ptr_type atslab_v2ardec_loc ; ats_int_type atslab_v2ardec_knd ; ats_ptr_type atslab_v2ardec_svar ; ats_ptr_type atslab_v2ardec_dvar ; ats_ptr_type atslab_v2ardec_pfat ; ats_ptr_type atslab_v2ardec_type ; ats_ptr_type atslab_v2ardec_init ; ats_ptr_type atslab_v2ardec_dvaropt ; } anairiats_rec_40 ; typedef struct { ats_ptr_type atslab_prv2ardec_loc ; ats_ptr_type atslab_prv2ardec_dvar ; ats_ptr_type atslab_prv2ardec_type ; ats_ptr_type atslab_prv2ardec_init ; } anairiats_rec_41 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_42 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_43 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_44 ; typedef struct { ats_ptr_type atslab_i2mpdec_loc ; ats_ptr_type atslab_i2mpdec_locid ; ats_ptr_type atslab_i2mpdec_cst ; ats_ptr_type atslab_i2mpdec_imparg ; ats_ptr_type atslab_i2mpdec_tmparg ; ats_ptr_type atslab_i2mpdec_tmpgua ; ats_ptr_type atslab_i2mpdec_def ; } anairiats_rec_45 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_46 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_47 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_48 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_49 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_50 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_51 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_52 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGsta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMe1xp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMfilenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpackname_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymintr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymelim_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Coverload_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpdef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpundef_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatdecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cexndecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cmacdefs_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdynload_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clocal_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1expdef_tr_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_arg_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_res_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atdec_tr_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_f1undec_tr_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1cstdec_tr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_def_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_staloadnm_39) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__neq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_dqi0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_make) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_set_sconlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_bool_type, ats_bool_type, ats_bool_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make_dat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_islst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_supcls) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dstag) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_FUNCLOfun) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2aspdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_nonprf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_decarg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_make) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_set_def) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__f2undec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2ardec_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prv2ardec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symintr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symelim) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_overload) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_pragma) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_codegen) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacsts) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacons) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extcode) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_datdecs) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_vardecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_prvardecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_impdec) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staloadloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_lam) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_finalize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1atcon_tr) (ats_ptr_type, ats_bool_type, ats_bool_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__i1mpdec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_dec) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__s2qualstlst_set_tmplev) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvaropt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_fundeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_current_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_localjoin) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save) () ; ATSextern_fun(anairiats_rec_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__d1atdeclst_tr) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__e1xndeclst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taload_tr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taloadnm_tr) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02106_ () ; static ats_void_type aux_2 (ats_ptr_type arg0) ; static ats_void_type symintr_tr_1 (ats_ptr_type arg0) ; static ats_void_type fproc_4 (ats_ptr_type arg0) ; static ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type symelim_tr_3 (ats_ptr_type arg0) ; static ats_void_type prerr_error2_loc_02110_ (ats_ptr_type arg0) ; static ats_void_type auxerr_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type auxerr2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type aux_15 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxlst_16 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type d1atsrtdec_tr_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop1_18 (ats_ptr_type arg0) ; static ats_void_type loop2_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d1atsrtdeclst_tr_17 (ats_ptr_type arg0) ; static ats_void_type s1rtdef_tr_20 (ats_ptr_type arg0) ; static ats_void_type s1rtdeflst_tr_21 (ats_ptr_type arg0) ; static ats_ptr_type aux_23 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1tacst_tr_22 (ats_ptr_type arg0) ; static ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1tacstlst_tr_24 (ats_ptr_type arg0) ; static ats_void_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_anairiats_rec_17_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_anairiats_rec_17_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_33 (anairiats_rec_17 arg0) ; static ats_ptr_type aux_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f1_34 (anairiats_rec_17 arg0) ; static ats_ptr_type f2_35 (ats_ptr_type arg0) ; static ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1tacon_tr_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1taconlst_tr_37 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type t1kindef_tr_39 (ats_ptr_type arg0) ; static ats_ptr_type fproc_41 (ats_ptr_type arg0) ; static ats_ptr_type s1expdef_tr_arg_40 (ats_ptr_type arg0) ; static ats_void_type loop_44 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s1expdef_tr_def_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_46 (ats_ptr_type arg0) ; static ats_ptr_type s1expdef_tr_45 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_48 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_48_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_49 (ats_ptr_type arg0) ; static ats_void_type s1expdeflst_tr_47 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1aspdec_tr_arg_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type auxerr_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s1aspdec_tr_res_52 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr2_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr3_57 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_60 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_filter_fun_01339_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s1aspdec_tr_54 (ats_ptr_type arg0) ; static ats_ptr_type d1atconlst_tr_61 (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_int_type loop_64 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type aux_65 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type d1atdec_tr_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type f_68 (ats_ptr_type arg0) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_ptr_type ff_69 (ats_ptr_type arg0) ; static ats_ptr_type f_71 (ats_ptr_type arg0) ; static ats_void_type aux_67 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type aux_67_closure_make (ats_ptr_type env0) ; static ats_void_type aux_67_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxlst_72 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type auxlst_72_closure_make (ats_ptr_type env0) ; static ats_void_type auxlst_72_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux2_73 (ats_ptr_type arg0) ; static ats_ptr_type auxlst2_74 (ats_ptr_type arg0) ; static ats_void_type loop_78 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type e1xndec_tr_75 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_80 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_82 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type c1lassdec_tr_83 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_ERROR_beg_02104_ () ; static ats_void_type prerr_ERROR_end_02105_ () ; static ats_void_type dckfun_check_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s2exp_get_arylst_87 (ats_ptr_type arg0) ; static ats_ptr_type d1cstdec_tr_88 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d1cstdeclst_tr_89 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type trans2_env_add_m2acarg_90 (ats_ptr_type arg0) ; static ats_void_type trans2_env_add_m2acarglst_91 (ats_ptr_type arg0) ; static ats_void_type m1acdef_tr_92 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type f_94 (ats_ptr_type arg0) ; static ats_ptr_type f_95 (ats_ptr_type arg0) ; static ats_ptr_type m1acarg_tr_93 (ats_ptr_type arg0) ; static ats_ptr_type m1acarglst_tr_96 (ats_ptr_type arg0) ; static ats_ptr_type aux1_98 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type loop2_99 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type m1acdeflst_tr_97 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f1undec_tr_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux1_102 (ats_bool_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux2_103 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type f1undeclst_tr_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type v1aldec_tr_104 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_106 (ats_ptr_type arg0) ; static ats_void_type loop_109 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_ptr_type list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type v1aldeclst_tr_105 (ats_bool_type arg0, ats_ptr_type arg1) ; static ats_ptr_type v1ardec_tr_110 (ats_ptr_type arg0) ; static ats_void_type f_112 (ats_ptr_type arg0) ; static ats_ptr_type v1ardeclst_tr_111 (ats_ptr_type arg0) ; static ats_void_type prerr_warning2_loc_02116_ (ats_ptr_type arg0) ; static ats_void_type auxkndck_113 (ats_ptr_type arg0) ; static ats_void_type auxwthck_115 (ats_ptr_type arg0) ; static ats_ptr_type prv1ardec_tr_116 (ats_ptr_type arg0) ; static ats_void_type f_118 (ats_ptr_type arg0) ; static ats_ptr_type prv1ardeclst_tr_117 (ats_ptr_type arg0) ; static ats_void_type auxerr_121 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxcheck_impdec_124 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 1791(line=58, offs=28) -- 1820(line=58, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02106_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02106_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_decl")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02106_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 3180(line=136, offs=5) -- 3500(line=150, offs=4) */ ATSstaticdec() ats_void_type aux_2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_aux_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp3), atslab_i0de_sym) ; tmp8 = (ats_sum_ptr_type)0 ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp7)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp7, atslab_0, tmp5) ; ats_selptrset_mac(anairiats_sum_5, tmp7, atslab_1, tmp8) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp5, tmp7) ; arg0 = tmp4 ; goto __ats_lab_aux_2 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp2) */ ; } /* end of [aux_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 3133(line=133, offs=1) -- 3536(line=154, offs=4) */ ATSstaticdec() ats_void_type symintr_tr_1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab_symintr_tr_1: /* tmp1 = */ aux_2 (arg0) ; return /* (tmp1) */ ; } /* end of [symintr_tr_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 3633(line=163, offs=1) -- 4041(line=180, offs=4) */ ATSstaticdec() ats_void_type fproc_4 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_fproc_4: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_i0de_sym) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp11) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp12 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_0) ; ATS_FREE(tmp12) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp13)->tag != 4) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp15 = (ats_sum_ptr_type)0 ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp14)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp14, atslab_0, tmp11) ; ats_selptrset_mac(anairiats_sum_5, tmp14, atslab_1, tmp15) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp11, tmp14) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp12 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp10) */ ; } /* end of [fproc_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab_loop_7: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp21 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp19, arg2) ; arg0 = tmp20 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; return /* (tmp18) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp17) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp17 = */ loop_7 (arg0, arg1, arg2) ; return /* (tmp17) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp16 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp16) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 3586(line=159, offs=1) -- 4097(line=184, offs=4) */ ATSstaticdec() ats_void_type symelim_tr_3 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp9) ; __ats_lab_symelim_tr_3: /* tmp9 = */ list_app_fun_01301_ats_ptr_type (arg0, &fproc_4) ; return /* (tmp9) */ ; } /* end of [symelim_tr_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02110_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab_prerr_error2_loc_02110_: /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp27 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp27) */ ; } /* end of [prerr_error2_loc_02110_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 4684(line=220, offs=1) -- 5053(line=232, offs=4) */ ATSstaticdec() ats_void_type auxerr_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_auxerr_9: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_dqi0de_loc) ; /* tmp26 = */ prerr_error2_loc_02110_ (tmp25) ; /* tmp29 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("overload_tr")) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_dqi0de (arg1) ; /* tmp32 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp33 = */ atspre_prerr_newline () ; tmp34 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp34)->tag = 37 ; ats_selptrset_mac(anairiats_sum_9, tmp34, atslab_0, arg0) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp34) ; return /* (tmp24) */ ; } /* end of [auxerr_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 4476(line=205, offs=1) -- 5380(line=248, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_loc) ; tmp35 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_dqi0de_qua) ; tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_dqi0de_sym) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (tmp35, tmp36) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (ats_castfn_mac(ats_ptr_type, tmp37) == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_6, ats_castfn_mac(ats_ptr_type, tmp37), atslab_0) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def (tmp23, arg1, arg3, tmp39) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (ats_castfn_mac(ats_ptr_type, tmp37) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: /* tmp38 = */ auxerr_9 (arg0, arg2) ; break ; } while (0) ; tmp22 = ats_castfn_mac(ats_ptr_type, tmp37) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 5491(line=257, offs=1) -- 5906(line=270, offs=4) */ ATSstaticdec() ats_void_type auxerr1_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_int_type, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab_auxerr1_12: tmp43 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp43 ; tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_i0de_loc) ; /* tmp44 = */ prerr_error2_loc_02110_ (tmp45) ; /* tmp46 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("overload_tr_def")) ; /* tmp47 = */ atspre_prerr_string (ATSstrcst(": the overloaded identifier [")) ; /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de (arg1) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst("] should refer to a symbol but it does not.")) ; /* tmp50 = */ atspre_prerr_newline () ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp51)->tag = 38 ; ats_selptrset_mac(anairiats_sum_9, tmp51, atslab_0, arg0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp51) ; return /* (tmp42) */ ; } /* end of [auxerr1_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 5934(line=273, offs=1) -- 6322(line=286, offs=4) */ ATSstaticdec() ats_void_type auxerr2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp52) ; ATSlocal (ats_int_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab_auxerr2_13: tmp53 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp53 ; tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_i0de_loc) ; /* tmp54 = */ prerr_error2_loc_02110_ (tmp55) ; /* tmp56 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("overload_tr_def")) ; /* tmp57 = */ atspre_prerr_string (ATSstrcst(": the overloaded identifier [")) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de (arg1) ; /* tmp59 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp60 = */ atspre_prerr_newline () ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp61)->tag = 38 ; ats_selptrset_mac(anairiats_sum_9, tmp61, atslab_0, arg0) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp61) ; return /* (tmp52) */ ; } /* end of [auxerr2_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 5434(line=252, offs=3) -- 7614(line=340, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def: /* ats_int_type tmp41 ; */ tmp41 = 0 ; tmp62 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_i0de_sym) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_current_find (tmp62) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp63 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp64 = tmp63 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp63 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pervasive_find (tmp62) ; break ; } while (0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp64 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_6, tmp64, atslab_0) ; ATS_FREE(tmp64) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp66)->tag != 4) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_5, tmp66, atslab_1) ; tmp65 = tmp67 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: /* tmp68 = */ auxerr1_12 (arg0, arg1, (&tmp41)) ; tmp65 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp64 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp69 = (ats_sum_ptr_type)0 ; tmp71 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp71)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp71, atslab_0, tmp62) ; ats_selptrset_mac(anairiats_sum_5, tmp71, atslab_1, tmp69) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp62, tmp71) ; tmp65 = tmp69 ; break ; } while (0) ; tmp72 = atspre_eq_int_int (tmp41, 0) ; if (tmp72) { tmp73 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp73, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp73, atslab_1, arg3) ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp74, atslab_0, tmp73) ; ats_selptrset_mac(anairiats_sum_3, tmp74, atslab_1, tmp65) ; tmp75 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp75)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp75, atslab_0, tmp62) ; ats_selptrset_mac(anairiats_sum_5, tmp75, atslab_1, tmp74) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp62, tmp75) ; } else { /* empty */ } /* end of [if] */ return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 7743(line=350, offs=5) -- 8280(line=381, offs=2) */ ATSstaticdec() ats_ptr_type aux_15 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; __ats_lab_aux_15: tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d1atsrtcon_sym) ; tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d1atsrtcon_loc) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d1atsrtcon_arg) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtlst_tr (tmp81) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (tmp80, arg1) ; tmp84 = (ats_sum_ptr_type)0 ; tmp85 = (ats_sum_ptr_type)0 ; tmp86 = (ats_sum_ptr_type)0 ; tmp87 = (ats_sum_ptr_type)0 ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp78, tmp79, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, tmp82, tmp84, ats_true_bool, ats_false_bool, ats_false_bool, tmp85, tmp86, tmp87) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dstag (tmp83, arg0) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp83) ; tmp77 = tmp83 ; return (tmp77) ; } /* end of [aux_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 8307(line=383, offs=5) -- 8544(line=396, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_16 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; __ats_lab_auxlst_16: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp93 = aux_15 (arg0, arg1, tmp91) ; tmp95 = atspre_add_int_int (arg0, 1) ; tmp94 = auxlst_16 (tmp95, arg1, tmp92) ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp90, atslab_0, tmp93) ; ats_selptrset_mac(anairiats_sum_3, tmp90, atslab_1, tmp94) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp90 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp90) ; } /* end of [auxlst_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 7672(line=345, offs=1) -- 8611(line=400, offs=4) */ ATSstaticdec() ats_ptr_type d1atsrtdec_tr_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_d1atsrtdec_tr_14: tmp96 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_d1atsrtdec_con) ; tmp76 = auxlst_16 (0, arg0, tmp96) ; return (tmp76) ; } /* end of [d1atsrtdec_tr_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 8740(line=408, offs=5) -- 9008(line=420, offs=4) */ ATSstaticdec() ats_void_type loop1_18 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp98) ; ATSlocal (anairiats_rec_2, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_loop1_18: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp102 = ats_select_mac(tmp99, atslab_2) ; tmp103 = ats_select_mac(tmp99, atslab_0) ; tmp101 = d1atsrtdec_tr_14 (tmp102, tmp103) ; tmp105 = ats_select_mac(tmp99, atslab_1) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_set_sconlst (tmp105, tmp101) ; arg0 = tmp100 ; goto __ats_lab_loop1_18 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: break ; } while (0) ; return /* (tmp98) */ ; } /* end of [loop1_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 9034(line=422, offs=5) -- 9920(line=465, offs=4) */ ATSstaticdec() ats_void_type loop2_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (anairiats_rec_2, tmp127) ; __ats_lab_loop2_19: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp107), atslab_d1atsrtdec_loc) ; tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp107), atslab_d1atsrtdec_sym) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_make (tmp110) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp113)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp113, atslab_0, tmp111) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp112)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp112, atslab_0, tmp113) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp115, atslab_0, tmp112) ; tmp116 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_3, tmp115), atslab_1) ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp117, atslab_0, tmp112) ; ats_ptrget_mac(ats_ptr_type, tmp116) = tmp117 ; tmp116 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_3, tmp117), atslab_1) ; tmp117 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp116) = tmp117 ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (tmp115, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; tmp119 = (ats_sum_ptr_type)0 ; tmp120 = (ats_sum_ptr_type)0 ; tmp121 = (ats_sum_ptr_type)0 ; tmp122 = (ats_sum_ptr_type)0 ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ, tmp109, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, tmp114, tmp119, ats_false_bool, ats_false_bool, ats_false_bool, tmp120, tmp121, tmp122) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp118) ; tmp125 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp125)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp125, atslab_0, tmp112) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (tmp110, tmp125) ; tmp127.atslab_0 = tmp107 ; tmp127.atslab_1 = tmp111 ; tmp127.atslab_2 = tmp112 ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp126, atslab_0, tmp127) ; ats_selptrset_mac(anairiats_sum_13, tmp126, atslab_1, arg1) ; arg0 = tmp108 ; arg1 = tmp126 ; goto __ats_lab_loop2_19 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: /* tmp106 = */ loop1_18 (arg1) ; break ; } while (0) ; return /* (tmp106) */ ; } /* end of [loop2_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 8643(line=403, offs=1) -- 9979(line=469, offs=4) */ ATSstaticdec() ats_void_type d1atsrtdeclst_tr_17 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab_d1atsrtdeclst_tr_17: tmp128 = (ats_sum_ptr_type)0 ; /* tmp97 = */ loop2_19 (arg0, tmp128) ; return /* (tmp97) */ ; } /* end of [d1atsrtdeclst_tr_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 10035(line=474, offs=1) -- 10173(line=480, offs=4) */ ATSstaticdec() ats_void_type s1rtdef_tr_20 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_s1rtdef_tr_20: tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s1rtdef_sym) ; tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s1rtdef_def) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtext_tr (tmp132) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2rtenv_add (tmp130, tmp131) ; return /* (tmp129) */ ; } /* end of [s1rtdef_tr_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 10202(line=483, offs=1) -- 10272(line=484, offs=57) */ ATSstaticdec() ats_void_type s1rtdeflst_tr_21 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp133) ; __ats_lab_s1rtdeflst_tr_21: /* tmp133 = */ list_app_fun_01301_ats_ptr_type (arg0, &s1rtdef_tr_20) ; return /* (tmp133) */ ; } /* end of [s1rtdeflst_tr_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 10373(line=492, offs=7) -- 10568(line=499, offs=25) */ ATSstaticdec() ats_ptr_type aux_23 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab_aux_23: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_srt (tmp136) ; tmp139 = aux_23 (tmp137, arg1) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (tmp138, tmp139) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp135 = arg1 ; break ; } while (0) ; return (tmp135) ; } /* end of [aux_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 10325(line=489, offs=5) -- 11083(line=528, offs=4) */ ATSstaticdec() ats_ptr_type s1tacst_tr_22 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; __ats_lab_s1tacst_tr_22: tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s1tacst_sym) ; tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s1tacst_loc) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s1tacst_fil) ; tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s1tacst_res) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp144) ; tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s1tacst_arg) ; tmp145 = aux_23 (tmp146, tmp143) ; tmp148 = (ats_sum_ptr_type)0 ; tmp149 = (ats_sum_ptr_type)0 ; tmp150 = (ats_sum_ptr_type)0 ; tmp151 = (ats_sum_ptr_type)0 ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp140, tmp141, tmp142, tmp145, tmp148, ats_false_bool, ats_false_bool, ats_false_bool, tmp149, tmp150, tmp151) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp147) ; tmp134 = tmp147 ; return (tmp134) ; } /* end of [s1tacst_tr_22] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_loop_27: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp160 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp158, arg3) ; tmp161 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp161, atslab_0, tmp160) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp161 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp162 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp159 ; arg1 = arg1 ; arg2 = tmp162 ; arg3 = arg3 ; goto __ats_lab_loop_27 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp163 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp163 ; break ; } while (0) ; return /* (tmp157) */ ; } /* end of [loop_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp164 ; */ /* tmp165 = */ loop_27 (arg0, arg1, (&tmp164), arg2) ; tmp156 = tmp164 ; return (tmp156) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp155 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp155) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 11112(line=531, offs=1) -- 11210(line=535, offs=2) */ ATSstaticdec() ats_ptr_type s1tacstlst_tr_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab_s1tacstlst_tr_24: tmp154 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &s1tacst_tr_22) ; tmp153 = ats_castfn_mac(ats_ptr_type, tmp154) ; return (tmp153) ; } /* end of [s1tacstlst_tr_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp178) ; ATSlocal (anairiats_rec_17, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; __ats_lab_loop_32: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_1) ; tmp181 = ((ats_ptr_type(*)(anairiats_rec_17, ats_ptr_type))arg1) (tmp179, arg3) ; tmp182 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp182, atslab_0, tmp181) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp182 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp183 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp180 ; arg1 = arg1 ; arg2 = tmp183 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp184 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp184 ; break ; } while (0) ; return /* (tmp178) */ ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_anairiats_rec_17_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp185) ; // ATSlocal_void (tmp186) ; __ats_lab_list_map_funenv_01412_anairiats_rec_17_ats_ptr_type: /* ats_ptr_type tmp185 ; */ /* tmp186 = */ loop_32 (arg0, arg1, (&tmp185), arg2) ; tmp177 = tmp185 ; return (tmp177) ; } /* end of [list_map_funenv_01412_anairiats_rec_17_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_anairiats_rec_17_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; __ats_lab_list_map_fun_01413_anairiats_rec_17_ats_ptr_type: tmp176 = list_map_funenv_01412_anairiats_rec_17_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp176) ; } /* end of [list_map_fun_01413_anairiats_rec_17_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 11722(line=559, offs=46) -- 11736(line=559, offs=60) */ ATSstaticdec() ats_ptr_type __ats_fun_33 (anairiats_rec_17 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; __ats_lab___ats_fun_33: tmp187 = ats_select_mac(arg0, atslab_1) ; return (tmp187) ; } /* end of [__ats_fun_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 11533(line=553, offs=9) -- 11903(line=564, offs=31) */ ATSstaticdec() ats_ptr_type aux_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_aux_29: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_26_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp175 = list_map_fun_01413_anairiats_rec_17_ats_ptr_type (tmp173, &__ats_fun_33) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (ats_castfn_mac(ats_ptr_type, tmp175), arg0) ; arg0 = tmp188 ; arg1 = tmp174 ; goto __ats_lab_aux_29 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp172 = arg0 ; break ; } while (0) ; return (tmp172) ; } /* end of [aux_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 12249(line=578, offs=9) -- 12374(line=580, offs=63) */ ATSstaticdec() ats_ptr_type f1_34 (anairiats_rec_17 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_bool_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab_f1_34: tmp194 = ats_select_mac(arg0, atslab_0) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp194, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; if (tmp193) { tmp195 = ats_select_mac(arg0, atslab_1) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (tmp195) ; } else { tmp196 = ats_select_mac(arg0, atslab_0) ; tmp197 = ats_select_mac(arg0, atslab_1) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp196, tmp197) ; } /* end of [if] */ return (tmp192) ; } /* end of [f1_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 12404(line=582, offs=9) -- 12570(line=589, offs=8) */ ATSstaticdec() ats_ptr_type f2_35 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; __ats_lab_f2_35: tmp199 = list_map_fun_01413_anairiats_rec_17_ats_ptr_type (arg0, &f1_34) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (ats_castfn_mac(ats_ptr_type, tmp199)) ; tmp198 = ats_castfn_mac(ats_ptr_type, tmp199) ; return (tmp198) ; } /* end of [f2_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 12714(line=595, offs=9) -- 13103(line=607, offs=27) */ ATSstaticdec() ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; __ats_lab_aux_36: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 12876(line=601, offs=15) -- 12907(line=601, offs=46)") ; } tmp205 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp206 = aux_36 (tmp205, tmp204, arg2) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (arg0, tmp203, tmp206) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp202 = arg2 ; break ; } while (0) ; return (tmp202) ; } /* end of [aux_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 11266(line=539, offs=5) -- 13823(line=641, offs=4) */ ATSstaticdec() ats_ptr_type s1tacon_tr_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; __ats_lab_s1tacon_tr_28: tmp167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s1tacon_sym) ; tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s1tacon_loc) ; tmp169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s1tacon_fil) ; tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s1tacon_arg) ; tmp170 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp171, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt) ; tmp189 = aux_29 (arg0, ats_castfn_mac(ats_ptr_type, tmp170)) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp191 = ats_selsin_mac(tmp190, atslab_1) */ ; tmp201 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp170), &f2_35) ; tmp207 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s1tacon_def) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp207 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_6, tmp207, atslab_0) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp209, arg0) ; tmp211 = aux_36 (tmp189, ats_castfn_mac(ats_ptr_type, tmp201), tmp210) ; tmp208 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp208, atslab_0, tmp211) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp207 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp208 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp214, atslab_0, tmp208) ; tmp215 = (ats_sum_ptr_type)0 ; tmp216 = (ats_sum_ptr_type)0 ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp167, tmp168, tmp169, tmp189, tmp214, ats_true_bool, ats_false_bool, ats_false_bool, tmp215, ats_castfn_mac(ats_ptr_type, tmp170), tmp216) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp213) ; tmp166 = tmp213 ; return (tmp166) ; } /* end of [s1tacon_tr_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 13921(line=650, offs=1) -- 14137(line=660, offs=8) */ ATSstaticdec() ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab_auxlst_38: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp219 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp220 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp221 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp222 = s1tacon_tr_28 (arg0, tmp220) ; tmp223 = auxlst_38 (arg0, tmp221) ; tmp219 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp219, atslab_0, tmp222) ; ats_selptrset_mac(anairiats_sum_3, tmp219, atslab_1, tmp223) ; break ; } while (0) ; return (tmp219) ; } /* end of [auxlst_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 13852(line=644, offs=1) -- 14243(line=667, offs=4) */ ATSstaticdec() ats_ptr_type s1taconlst_tr_37 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp224) ; __ats_lab_s1taconlst_tr_37: tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (arg0) ; tmp218 = auxlst_38 (tmp224, arg1) ; return (tmp218) ; } /* end of [s1taconlst_tr_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 14723(line=695, offs=1) -- 15187(line=723, offs=4) */ ATSstaticdec() ats_void_type t1kindef_tr_39 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab_t1kindef_tr_39: tmp226 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_t1kindef_sym) ; tmp227 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_t1kindef_loc_id) ; tmp229 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_t1kindef_def) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp229) ; tmp231 = (ats_sum_ptr_type)0 ; tmp232 = (ats_sum_ptr_type)0 ; tmp233 = (ats_sum_ptr_type)0 ; tmp234 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp234, atslab_0, tmp228) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp226, tmp227, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind, tmp231, ats_false_bool, ats_false_bool, ats_false_bool, tmp232, tmp233, tmp234) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp230) ; return /* (tmp225) */ ; } /* end of [t1kindef_tr_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 15315(line=736, offs=1) -- 15449(line=741, offs=2) */ ATSstaticdec() ats_ptr_type fproc_41 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; __ats_lab_fproc_41: tmp238 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_s1marg_arg) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (tmp238) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp237) ; tmp236 = tmp237 ; return (tmp236) ; } /* end of [fproc_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 15245(line=730, offs=1) -- 15504(line=745, offs=4) */ ATSstaticdec() ats_ptr_type s1expdef_tr_arg_40 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; __ats_lab_s1expdef_tr_arg_40: tmp235 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &fproc_41) ; return (tmp235) ; } /* end of [s1expdef_tr_arg_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab_loop_44: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp251 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp250) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp249) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp249 = */ loop_44 (arg0) ; return /* (tmp249) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 15538(line=748, offs=1) -- 15999(line=774, offs=4) */ ATSstaticdec() ats_ptr_type s1expdef_tr_def_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; // ATSlocal_void (tmp248) ; __ats_lab_s1expdef_tr_def_42: /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp242 = ats_selsin_mac(tmp241, atslab_1) */ ; tmp243 = s1expdef_tr_arg_40 (arg0) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (arg2, tmp245) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (arg2) ; break ; } while (0) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst (ats_castfn_mac(ats_ptr_type, tmp243), tmp244) ; /* tmp248 = */ list_vt_free_01499_ats_ptr_type (tmp243) ; tmp240 = tmp247 ; return (tmp240) ; } /* end of [s1expdef_tr_def_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 16120(line=785, offs=1) -- 16520(line=802, offs=4) */ ATSstaticdec() ats_void_type auxerr_46 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; __ats_lab_auxerr_46: tmp255 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_s1expdef_loc) ; /* tmp254 = */ prerr_error2_loc_02110_ (tmp255) ; /* tmp256 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1expdef_tr")) ; /* tmp257 = */ atspre_prerr_string (ATSstrcst(": the sort for the static definition does not\nmatch the one assigned to the static constant [")) ; tmp259 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_s1expdef_sym) ; /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp259) ; /* tmp260 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp261 = */ atspre_prerr_newline () ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp262)->tag = 18 ; ats_selptrset_mac(anairiats_sum_9, tmp262, atslab_0, arg0) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp262) ; return /* (tmp253) */ ; } /* end of [auxerr_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 16055(line=779, offs=1) -- 17301(line=843, offs=4) */ ATSstaticdec() ats_ptr_type s1expdef_tr_45 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_bool_type, tmp272) ; // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab_s1expdef_tr_45: tmp263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_s1expdef_sym) ; tmp264 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_s1expdef_loc_id) ; tmp265 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_s1expdef_arg) ; tmp266 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_s1expdef_def) ; tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_s1expdef_res) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rtopt_tr (tmp268) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_40_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp267 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp271 = ats_caselptrlab_mac(anairiats_sum_6, tmp267, atslab_0) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp271, tmp270) ; if (tmp272) { tmp269 = tmp267 ; } else { /* tmp273 = */ auxerr_46 (arg1) ; tmp269 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (tmp267 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp269 = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp269 = tmp267 ; break ; } while (0) ; tmp274 = s1expdef_tr_def_42 (tmp265, tmp269, tmp266) ; tmp275 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp274), atslab_s2exp_srt) ; tmp276 = (ats_sum_ptr_type)0 ; tmp277 = (ats_sum_ptr_type)0 ; tmp278 = (ats_sum_ptr_type)0 ; tmp279 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp279, atslab_0, tmp274) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp263, tmp264, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, tmp275, tmp276, ats_false_bool, ats_false_bool, ats_false_bool, tmp277, tmp278, tmp279) ; return (tmp252) ; } /* end of [s1expdef_tr_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 17496(line=854, offs=7) -- 17746(line=863, offs=4) */ ATSstaticdec() ats_ptr_type aux_48 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab_aux_48: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp287 = s1expdef_tr_45 (env0, tmp285) ; tmp288 = aux_48 (env0, tmp286) ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp284, atslab_0, tmp287) ; ats_selptrset_mac(anairiats_sum_3, tmp284, atslab_1, tmp288) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp284 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp284) ; } /* end of [aux_48] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_48_closure_type ; ats_ptr_type aux_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_48 (((aux_48_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_48_closure_init (aux_48_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_48_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_48_closure_make (ats_ptr_type env0) { aux_48_closure_type *p_clo = ATS_MALLOC(sizeof(aux_48_closure_type)) ; aux_48_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 17822(line=870, offs=7) -- 18081(line=882, offs=4) */ ATSstaticdec() ats_void_type loop_49 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; // ATSlocal_void (tmp293) ; __ats_lab_loop_49: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp291) ; arg0 = tmp292 ; goto __ats_lab_loop_49 ; // tail call break ; } while (0) ; return /* (tmp290) */ ; } /* end of [loop_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 17331(line=845, offs=5) -- 18164(line=890, offs=4) */ ATSstaticdec() ats_void_type s1expdeflst_tr_47 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab_s1expdeflst_tr_47: tmp282 = atspre_gte_int_int (arg0, 0) ; if (tmp282) { tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (arg0) ; tmp281 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp281, atslab_0, tmp283) ; } else { tmp281 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp289 = aux_48 (tmp281, arg1) ; /* tmp280 = */ loop_49 (tmp289) ; return /* (tmp280) */ ; } /* end of [s1expdeflst_tr_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 18347(line=905, offs=1) -- 18646(line=914, offs=4) */ ATSstaticdec() ats_void_type auxerr_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab_auxerr_51: tmp297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_s1marg_loc) ; /* tmp296 = */ prerr_error2_loc_02110_ (tmp297) ; /* tmp298 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1aspdec_tr_arg")) ; /* tmp299 = */ atspre_prerr_string (ATSstrcst(": too many arguments for the assumed static constant.")) ; /* tmp300 = */ atspre_prerr_newline () ; tmp301 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp301)->tag = 20 ; ats_selptrset_mac(anairiats_sum_5, tmp301, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp301, atslab_1, arg1) ; /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp301) ; return /* (tmp295) */ ; } /* end of [auxerr_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 18248(line=899, offs=1) -- 19158(line=935, offs=4) */ ATSstaticdec() ats_ptr_type s1aspdec_tr_arg_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; // ATSlocal_void (tmp309) ; __ats_lab_s1aspdec_tr_arg_50: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_48_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg2))->tag != 1) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp305 ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1marg_trdn (tmp302, tmp304) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp306) ; tmp308 = s1aspdec_tr_arg_50 (arg0, tmp303, arg2) ; tmp294 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp294, atslab_0, tmp306) ; ats_selptrset_mac(anairiats_sum_3, tmp294, atslab_1, tmp308) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: /* tmp309 = */ auxerr_51 (arg0, tmp302) ; tmp294 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp294 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp294) ; } /* end of [s1aspdec_tr_arg_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 19261(line=944, offs=1) -- 19727(line=960, offs=2) */ ATSstaticdec() ats_void_type auxerr_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab_auxerr_53: tmp313 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_loc) ; /* tmp312 = */ prerr_error2_loc_02110_ (tmp313) ; /* tmp314 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1aspdec_tr_res")) ; /* tmp315 = */ atspre_prerr_string (ATSstrcst(": the static assumption is given the sort [")) ; /* tmp316 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp317 = */ atspre_prerr_string (ATSstrcst("] but it is expected to be of the sort [")) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg2) ; /* tmp319 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp320 = */ atspre_prerr_newline () ; tmp321 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp321)->tag = 21 ; ats_selptrset_mac(anairiats_sum_24, tmp321, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_24, tmp321, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_24, tmp321, atslab_2, arg2) ; /* tmp311 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp321) ; return /* (tmp311) */ ; } /* end of [auxerr_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 19192(line=938, offs=1) -- 20049(line=976, offs=4) */ ATSstaticdec() ats_ptr_type s1aspdec_tr_res_52 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_bool_type, tmp325) ; // ATSlocal_void (tmp326) ; __ats_lab_s1aspdec_tr_res_52: tmp322 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_res) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (tmp322 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_6, tmp322, atslab_0) ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp323) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp324, arg1) ; if (tmp325) { tmp310 = tmp324 ; } else { /* tmp326 = */ auxerr_53 (arg0, tmp324, arg1) ; tmp310 = tmp324 ; } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (tmp322 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp310 = arg1 ; break ; } while (0) ; return (tmp310) ; } /* end of [s1aspdec_tr_res_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 20215(line=988, offs=1) -- 20582(line=1000, offs=4) */ ATSstaticdec() ats_void_type auxerr1_55 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; __ats_lab_auxerr1_55: tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_loc) ; /* tmp329 = */ prerr_error2_loc_02110_ (tmp330) ; /* tmp331 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1aspdec_tr")) ; /* tmp332 = */ atspre_prerr_string (ATSstrcst(": the static constant [")) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg1) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp335 = */ atspre_prerr_string (ATSstrcst("] is not abstract.")) ; /* tmp336 = */ atspre_prerr_newline () ; tmp337 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp337)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp337, atslab_0, arg0) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp337) ; return /* (tmp328) */ ; } /* end of [auxerr1_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 20610(line=1003, offs=1) -- 20988(line=1015, offs=4) */ ATSstaticdec() ats_void_type auxerr2_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab_auxerr2_56: tmp340 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_loc) ; /* tmp339 = */ prerr_error2_loc_02110_ (tmp340) ; /* tmp341 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1aspdec_tr")) ; /* tmp342 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg1) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp345 = */ atspre_prerr_string (ATSstrcst("] does not refer to a static constant.")) ; /* tmp346 = */ atspre_prerr_newline () ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp347)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp347, atslab_0, arg0) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp347) ; return /* (tmp338) */ ; } /* end of [auxerr2_56] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 21016(line=1018, offs=1) -- 21331(line=1028, offs=4) */ ATSstaticdec() ats_void_type auxerr3_57 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; __ats_lab_auxerr3_57: tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_loc) ; /* tmp349 = */ prerr_error2_loc_02110_ (tmp350) ; /* tmp351 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (arg1) ; /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp354 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp355 = */ atspre_prerr_newline () ; tmp356 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp356)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp356, atslab_0, arg0) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp356) ; return /* (tmp348) */ ; } /* end of [auxerr3_57] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19833(line=716, offs=7) -- 20397(line=733, offs=40) */ ATSstaticdec() ats_void_type loop_60 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_bool_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; __ats_lab_loop_60: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp370 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp368, arg3) ; if (tmp370) { tmp371 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp371, atslab_0, tmp368) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp371 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp372 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp369 ; arg1 = arg1 ; arg2 = tmp372 ; arg3 = arg3 ; goto __ats_lab_loop_60 ; // tail call } else { arg0 = tmp369 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_60 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp373 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp373 ; break ; } while (0) ; return /* (tmp367) */ ; } /* end of [loop_60] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19800(line=714, offs=24) -- 20566(line=744, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; __ats_lab_list_filter_funenv_01338_ats_ptr_type: /* ats_ptr_type tmp374 ; */ /* tmp375 = */ loop_60 (arg0, arg1, (&tmp374), arg2) ; tmp366 = tmp374 ; return (tmp366) ; } /* end of [list_filter_funenv_01338_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 20640(line=747, offs=29) -- 20900(line=756, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_fun_01339_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp365) ; __ats_lab_list_filter_fun_01339_ats_ptr_type: tmp365 = list_filter_funenv_01338_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp365) ; } /* end of [list_filter_fun_01339_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 20156(line=984, offs=1) -- 22783(line=1070, offs=4) */ ATSstaticdec() ats_ptr_type s1aspdec_tr_54 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; // ATSlocal_void (tmp379) ; // ATSlocal_void (tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; __ats_lab_s1aspdec_tr_54: tmp357 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_loc) ; tmp358 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_qid) ; tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp358), atslab_sqi0de_qua) ; tmp360 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp358), atslab_sqi0de_sym) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find_qua (tmp359, tmp360) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (tmp361 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_54_1: tmp362 = ats_caselptrlab_mac(anairiats_sum_6, tmp361, atslab_0) ; ATS_FREE(tmp361) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp362)->tag != 1) { goto __ats_lab_60_0 ; } __ats_lab_55_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_9, tmp362, atslab_0) ; tmp364 = list_filter_fun_01339_ats_ptr_type (tmp363, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (tmp364 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_1) ; ATS_FREE(tmp364) ; /* tmp378 = */ list_vt_free_01499_ats_ptr_type (tmp377) ; /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp380 = ats_selsin_mac(tmp379, atslab_1) */ ; /* ats_ptr_type tmp381 ; */ tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp376) ; tmp383 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_arg) ; tmp382 = s1aspdec_tr_arg_50 (arg0, tmp383, (&tmp381)) ; tmp384 = s1aspdec_tr_res_52 (arg0, tmp381) ; tmp386 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_s1aspdec_def) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp386, tmp384) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst (ats_castfn_mac(ats_ptr_type, tmp382), tmp385) ; /* tmp389 = */ list_vt_free_01499_ats_ptr_type (tmp382) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2aspdec_make (tmp357, tmp376, tmp388) ; tmp327 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp327, atslab_0, tmp390) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (tmp364 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: /* tmp391 = */ auxerr1_55 (arg0, tmp359, tmp360) ; tmp327 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: /* tmp392 = */ auxerr2_56 (arg0, tmp359, tmp360) ; tmp327 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (tmp361 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: /* tmp393 = */ auxerr3_57 (arg0, tmp359, tmp360) ; tmp327 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp327) ; } /* end of [s1aspdec_tr_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 22864(line=1079, offs=1) -- 23265(line=1099, offs=2) */ ATSstaticdec() ats_ptr_type d1atconlst_tr_61 (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; __ats_lab_d1atconlst_tr_61: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg5 != (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp394 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp395 = ats_caselptrlab_mac(anairiats_sum_3, arg5, atslab_0) ; tmp396 = ats_caselptrlab_mac(anairiats_sum_3, arg5, atslab_1) ; tmp397 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1atcon_tr (arg0, arg1, arg2, arg3, arg4, tmp395) ; tmp398 = d1atconlst_tr_61 (arg0, arg1, arg2, arg3, arg4, tmp396) ; tmp394 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp394, atslab_0, tmp397) ; ats_selptrset_mac(anairiats_sum_3, tmp394, atslab_1, tmp398) ; break ; } while (0) ; return (tmp394) ; } /* end of [d1atconlst_tr_61] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_64 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_int_type, tmp404) ; __ats_lab_loop_64: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp403 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp404 = atspre_isucc (arg1) ; arg0 = tmp403 ; arg1 = tmp404 ; goto __ats_lab_loop_64 ; // tail call break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp402 = arg1 ; break ; } while (0) ; return (tmp402) ; } /* end of [loop_64] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp401) ; __ats_lab_list_length_01410_ats_ptr_type: tmp401 = loop_64 (arg0, 0) ; return (tmp401) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 24177(line=1145, offs=7) -- 24448(line=1157, offs=4) */ ATSstaticdec() ats_void_type aux_65 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_int_type, tmp425) ; __ats_lab_aux_65: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp422 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp423 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp424 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag (tmp422, arg0) ; tmp425 = atspre_add_int_int (arg0, 1) ; arg0 = tmp425 ; arg1 = tmp423 ; goto __ats_lab_aux_65 ; // tail call break ; } while (0) ; return /* (tmp421) */ ; } /* end of [aux_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 23324(line=1104, offs=1) -- 25088(line=1188, offs=4) */ ATSstaticdec() ats_void_type d1atdec_tr_62 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp399) ; ATSlocal (ats_int_type, tmp400) ; // ATSlocal_void (tmp405) ; ATSlocal (ats_bool_type, tmp406) ; // ATSlocal_void (tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (ats_bool_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; // ATSlocal_void (tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_bool_type, tmp432) ; ATSlocal (ats_int_type, tmp433) ; ATSlocal (ats_bool_type, tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (anairiats_rec_17, tmp436) ; ATSlocal (ats_bool_type, tmp437) ; ATSlocal (ats_int_type, tmp438) ; ATSlocal (anairiats_rec_17, tmp439) ; // ATSlocal_void (tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; __ats_lab_d1atdec_tr_62: tmp400 = list_length_01410_ats_ptr_type (arg1) ; tmp406 = atspre_igte (tmp400, 2) ; if (tmp406) { tmp408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg2), atslab_d1atdec_loc) ; /* tmp407 = */ prerr_error2_loc_02110_ (tmp408) ; /* tmp409 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("d1atdec_tr")) ; /* tmp410 = */ atspre_prerr_string (ATSstrcst(": the declared type constructor is overly applied.")) ; /* tmp411 = */ atspre_prerr_newline () ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp412)->tag = 23 ; ats_selptrset_mac(anairiats_sum_9, tmp412, atslab_0, arg2) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp412) ; } else { /* empty */ } /* end of [if] */ tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp413)->tag != 1) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_5, tmp413, atslab_1) ; tmp414 = tmp415 ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp414 = tmp413 ; break ; } while (0) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp414) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp414) ; tmp419 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg2), atslab_d1atdec_fil) ; tmp420 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg2), atslab_d1atdec_con) ; tmp418 = d1atconlst_tr_61 (arg0, tmp416, tmp417, arg1, tmp419, tmp420) ; /* tmp426 = */ aux_65 (0, tmp418) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (tmp418 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } tmp428 = ats_caselptrlab_mac(anairiats_sum_3, tmp418, atslab_1) ; if (tmp428 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } tmp429 = ats_caselptrlab_mac(anairiats_sum_3, tmp428, atslab_1) ; if (tmp429 != (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_3, tmp418, atslab_0) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_3, tmp428, atslab_0) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (tmp430) ; tmp432 = atspre_eq_int_int (tmp433, 0) ; if (tmp432) { tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (tmp431) ; tmp434 = atspre_gt_int_int (tmp435, 0) ; if (tmp434) { tmp436.atslab_0 = tmp430 ; tmp436.atslab_1 = tmp431 ; tmp427 = ATS_MALLOC(sizeof(anairiats_sum_27)) ; ats_selptrset_mac(anairiats_sum_27, tmp427, atslab_0, tmp436) ; } else { tmp427 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } else { tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (tmp431) ; tmp437 = atspre_eq_int_int (tmp438, 0) ; if (tmp437) { tmp439.atslab_0 = tmp431 ; tmp439.atslab_1 = tmp430 ; tmp427 = ATS_MALLOC(sizeof(anairiats_sum_27)) ; ats_selptrset_mac(anairiats_sum_27, tmp427, atslab_0, tmp439) ; } else { tmp427 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp427 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp440 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_islst (arg0, tmp427) ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp441, atslab_0, tmp418) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst (arg0, tmp441) ; return /* (tmp399) */ ; } /* end of [d1atdec_tr_62] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 25737(line=1228, offs=11) -- 26133(line=1239, offs=37) */ ATSstaticdec() ats_ptr_type f_68 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (anairiats_rec_17, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_bool_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; __ats_lab_f_68: do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_0) ; tmp450 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_1) ; tmp452 = ats_select_mac(tmp449, atslab_0) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__neq_symbol_symbol (tmp452, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; if (tmp451) { tmp454 = ats_select_mac(tmp449, atslab_0) ; tmp455 = ats_select_mac(tmp449, atslab_1) ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp454, tmp455) ; tmp456 = f_68 (tmp450) ; tmp448 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp448, atslab_0, tmp453) ; ats_selptrset_mac(anairiats_sum_3, tmp448, atslab_1, tmp456) ; } else { arg0 = tmp450 ; goto __ats_lab_f_68 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: tmp448 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp448) ; } /* end of [f_68] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp463) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp463 = ats_true_bool ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp463 = ats_false_bool ; break ; } while (0) ; return (tmp463) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 26164(line=1241, offs=11) -- 26500(line=1250, offs=37) */ ATSstaticdec() ats_ptr_type ff_69 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_bool_type, tmp462) ; __ats_lab_ff_69: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_74_1: tmp458 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp459 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp460 = f_68 (tmp458) ; tmp461 = ff_69 (tmp459) ; tmp462 = list_is_cons_01295_ (tmp460) ; if (tmp462) { tmp457 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp457, atslab_0, tmp460) ; ats_selptrset_mac(anairiats_sum_3, tmp457, atslab_1, tmp461) ; } else { tmp457 = tmp461 ; } /* end of [if] */ break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp457 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp457) ; } /* end of [ff_69] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 26606(line=1257, offs=11) -- 26755(line=1261, offs=37) */ ATSstaticdec() ats_ptr_type f_71 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (anairiats_rec_17, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; __ats_lab_f_71: do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_18, arg0, atslab_1) ; tmp468 = ats_select_mac(tmp466, atslab_1) ; tmp469 = f_71 (tmp467) ; tmp465 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp465, atslab_0, tmp468) ; ats_selptrset_mac(anairiats_sum_3, tmp465, atslab_1, tmp469) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: tmp465 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp465) ; } /* end of [f_71] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 25515(line=1219, offs=7) -- 27067(line=1275, offs=6) */ ATSstaticdec() ats_void_type aux_67 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; // ATSlocal_void (tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (anairiats_rec_2, tmp476) ; __ats_lab_aux_67: tmp447 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_d1atdec_arg) ; tmp446 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp447, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__a1msrt_tr_symsrt) ; tmp464 = ff_69 (ats_castfn_mac(ats_ptr_type, tmp446)) ; tmp470 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp446), &f_71) ; tmp472 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_d1atdec_sym) ; tmp473 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_d1atdec_loc) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make_dat (tmp472, tmp473, ats_castfn_mac(ats_ptr_type, tmp470), env0, ats_castfn_mac(ats_ptr_type, tmp446)) ; /* tmp474 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp471) ; tmp476.atslab_0 = arg0 ; tmp476.atslab_1 = tmp471 ; tmp476.atslab_2 = tmp464 ; tmp475 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp475, atslab_0, tmp476) ; ats_selptrset_mac(anairiats_sum_13, tmp475, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp475 ; return /* (tmp445) */ ; } /* end of [aux_67] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_67_closure_type ; ats_void_type aux_67_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { aux_67 (((aux_67_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_67_closure_init (aux_67_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_67_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_67_closure_make (ats_ptr_type env0) { aux_67_closure_type *p_clo = ATS_MALLOC(sizeof(aux_67_closure_type)) ; aux_67_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 27093(line=1277, offs=7) -- 27318(line=1283, offs=24) */ ATSstaticdec() ats_void_type auxlst_72 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; // ATSlocal_void (tmp480) ; __ats_lab_auxlst_72: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp479 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp480 = */ aux_67 (env0, tmp478, arg1) ; arg0 = tmp479 ; arg1 = arg1 ; goto __ats_lab_auxlst_72 ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: break ; } while (0) ; return /* (tmp477) */ ; } /* end of [auxlst_72] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_72_closure_type ; ats_void_type auxlst_72_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { auxlst_72 (((auxlst_72_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxlst_72_closure_init (auxlst_72_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_72_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_72_closure_make (ats_ptr_type env0) { auxlst_72_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_72_closure_type)) ; auxlst_72_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 27425(line=1290, offs=5) -- 27670(line=1301, offs=2) */ ATSstaticdec() ats_void_type aux2_73 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; // ATSlocal_void (tmp488) ; __ats_lab_aux2_73: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: tmp484 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp485 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp487 = (ats_sum_ptr_type)0 ; tmp486 = s1expdef_tr_45 (tmp487, tmp484) ; /* tmp488 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp486) ; arg0 = tmp485 ; goto __ats_lab_aux2_73 ; // tail call break ; } while (0) ; return /* (tmp483) */ ; } /* end of [aux2_73] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 27726(line=1305, offs=5) -- 27940(line=1311, offs=31) */ ATSstaticdec() ats_ptr_type auxlst2_74 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (anairiats_rec_2, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; __ats_lab_auxlst2_74: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp491 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_1) ; tmp494 = ats_select_mac(tmp491, atslab_1) ; tmp495 = ats_select_mac(tmp491, atslab_2) ; tmp496 = ats_select_mac(tmp491, atslab_0) ; /* tmp493 = */ d1atdec_tr_62 (tmp494, tmp495, tmp496) ; tmp497 = ats_select_mac(tmp491, atslab_1) ; tmp498 = auxlst2_74 (tmp492) ; tmp490 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp490, atslab_0, tmp497) ; ats_selptrset_mac(anairiats_sum_3, tmp490, atslab_1, tmp498) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp490 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp490) ; } /* end of [auxlst2_74] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 25296(line=1204, offs=1) -- 27998(line=1317, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__d1atdeclst_tr (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; // ATSlocal_void (tmp489) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__d1atdeclst_tr: tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (arg0) ; /* ats_ptr_type tmp444 ; */ tmp444 = (ats_sum_ptr_type)0 ; /* tmp481 = */ auxlst_72 (tmp443, arg1, (&tmp444)) ; tmp482 = tmp444 ; /* tmp489 = */ aux2_73 (arg2) ; tmp442 = auxlst2_74 (tmp482) ; return (tmp442) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__d1atdeclst_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_78 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (anairiats_rec_1, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; __ats_lab_loop_78: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp509 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp510 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp511 = ((anairiats_rec_1(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp509, arg3) ; tmp512 = ATS_MALLOC(sizeof(anairiats_sum_29)) ; ats_selptrset_mac(anairiats_sum_29, tmp512, atslab_0, tmp511) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp512 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp513 = &ats_caselptrlab_mac(anairiats_sum_29, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp510 ; arg1 = arg1 ; arg2 = tmp513 ; arg3 = arg3 ; goto __ats_lab_loop_78 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp514 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp514 ; break ; } while (0) ; return /* (tmp508) */ ; } /* end of [loop_78] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp515) ; // ATSlocal_void (tmp516) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_anairiats_rec_1: /* ats_ptr_type tmp515 ; */ /* tmp516 = */ loop_78 (arg0, arg1, (&tmp515), arg2) ; tmp507 = tmp515 ; return (tmp507) ; } /* end of [list_map_funenv_01412_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp506) ; __ats_lab_list_map_fun_01413_ats_ptr_type_anairiats_rec_1: tmp506 = list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp506) ; } /* end of [list_map_fun_01413_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 28106(line=1324, offs=1) -- 28734(line=1341, offs=4) */ ATSstaticdec() ats_ptr_type e1xndec_tr_75 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_int_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; // ATSlocal_void (tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; // ATSlocal_void (tmp524) ; // ATSlocal_void (tmp525) ; __ats_lab_e1xndec_tr_75: tmp500 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_loc) ; tmp501 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_fil) ; tmp502 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_sym) ; /* tmp503 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp504 = ats_selsin_mac(tmp503, atslab_1) */ ; tmp517 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_qua) ; tmp505 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp517, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr) ; tmp518 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_npf) ; tmp519 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg1), atslab_e1xndec_arg) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_vt0ype (tmp519) ; /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp523 = (ats_sum_ptr_type)0 ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make (tmp500, tmp501, tmp502, arg0, 1, ats_castfn_mac(ats_ptr_type, tmp505), tmp518, tmp520, tmp523) ; /* tmp524 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag (tmp522, -1) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcon (tmp522) ; tmp499 = tmp522 ; return (tmp499) ; } /* end of [e1xndec_tr_75] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 28887(line=1355, offs=1) -- 29174(line=1369, offs=2) */ ATSstaticdec() ats_ptr_type aux_80 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; __ats_lab_aux_80: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp527 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: tmp528 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp529 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp530 = e1xndec_tr_75 (arg0, tmp528) ; tmp531 = aux_80 (arg0, tmp529) ; tmp527 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp527, atslab_0, tmp530) ; ats_selptrset_mac(anairiats_sum_3, tmp527, atslab_1, tmp531) ; break ; } while (0) ; return (tmp527) ; } /* end of [aux_80] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_82 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; __ats_lab_loop_82: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp541 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp542 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp542, atslab_0, tmp540) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp542 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp543 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp541 ; arg1 = arg1 ; arg2 = tmp543 ; goto __ats_lab_loop_82 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp539) */ ; } /* end of [loop_82] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; // ATSlocal_void (tmp544) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp538 ; */ /* tmp544 = */ loop_82 (arg0, arg1, (&tmp538)) ; tmp537 = tmp538 ; return (tmp537) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 28867(line=1352, offs=3) -- 29510(line=1393, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__e1xndeclst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__e1xndeclst_tr: tmp532 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_exception_vtype) ; tmp533 = aux_80 (tmp532, arg0) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (tmp532) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (tmp535 != (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp534 = tmp533 ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (tmp535 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp536 = ats_caselptrlab_mac(anairiats_sum_6, tmp535, atslab_0) ; tmp534 = list_append_01312_ats_ptr_type (tmp533, tmp536) ; break ; } while (0) ; tmp546 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp546, atslab_0, tmp534) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_set_dconlst (tmp532, tmp546) ; tmp526 = tmp533 ; return (tmp526) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__e1xndeclst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 29565(line=1398, offs=1) -- 30262(line=1441, offs=2) */ ATSstaticdec() ats_void_type c1lassdec_tr_83 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; // ATSlocal_void (tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; __ats_lab_c1lassdec_tr_83: tmp548 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_i0de_sym) ; tmp549 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_i0de_loc) ; tmp551 = (ats_sum_ptr_type)0 ; tmp552 = (ats_sum_ptr_type)0 ; tmp553 = (ats_sum_ptr_type)0 ; tmp554 = (ats_sum_ptr_type)0 ; tmp550 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_make (tmp548, tmp549, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls, tmp551, ats_false_bool, ats_false_bool, ats_false_bool, tmp552, tmp553, tmp554) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp556 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp556, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls) ; tmp558 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp557) ; /* tmp555 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_add_supcls (tmp550, tmp558) ; break ; } while (0) ; /* tmp547 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_scst (tmp550) ; return /* (tmp547) */ ; } /* end of [c1lassdec_tr_83] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1470(line=41, offs=16) -- 1507(line=41, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_beg_02104_ () { /* local vardec */ // ATSlocal_void (tmp563) ; __ats_lab_prerr_ERROR_beg_02104_: /* tmp563 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):beg**\n")) ; return /* (tmp563) */ ; } /* end of [prerr_ERROR_beg_02104_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1536(line=43, offs=16) -- 1573(line=43, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_end_02105_ () { /* local vardec */ // ATSlocal_void (tmp570) ; __ats_lab_prerr_ERROR_end_02105_: /* tmp570 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):end**\n")) ; return /* (tmp570) */ ; } /* end of [prerr_ERROR_end_02105_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 30324(line=1448, offs=1) -- 30991(line=1480, offs=2) */ ATSstaticdec() ats_void_type dckfun_check_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp559) ; ATSlocal (ats_bool_type, tmp560) ; ATSlocal (ats_bool_type, tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; ATSlocal (ats_ptr_type, tmp571) ; __ats_lab_dckfun_check_84: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_FUNCLOfun (arg2) ; tmp561 = atspre_neg_bool (tmp560) ; if (tmp561) { /* tmp562 = */ prerr_ERROR_beg_02104_ () ; tmp565 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d1cstdec_loc) ; /* tmp564 = */ prerr_error2_loc_02110_ (tmp565) ; /* tmp566 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("d1cstdec_tr")) ; /* tmp567 = */ atspre_prerr_string (ATSstrcst(": the function may need to be declared as a value")) ; /* tmp568 = */ atspre_prerr_newline () ; /* tmp569 = */ prerr_ERROR_end_02105_ () ; tmp571 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp571)->tag = 32 ; ats_selptrset_mac(anairiats_sum_9, tmp571, atslab_0, arg0) ; /* tmp559 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp571) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: break ; } while (0) ; return /* (tmp559) */ ; } /* end of [dckfun_check_84] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 31025(line=1483, offs=1) -- 31455(line=1506, offs=2) */ ATSstaticdec() ats_ptr_type s2exp_get_arylst_87 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_int_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; __ats_lab_s2exp_get_arylst_87: tmp573 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp573)->tag != 19) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp574 = ats_caselptrlab_mac(anairiats_sum_31, tmp573, atslab_4) ; tmp575 = ats_caselptrlab_mac(anairiats_sum_31, tmp573, atslab_5) ; tmp576 = list_length_01410_ats_ptr_type (tmp574) ; tmp577 = s2exp_get_arylst_87 (tmp575) ; tmp572 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp572, atslab_0, tmp576) ; ats_selptrset_mac(anairiats_sum_10, tmp572, atslab_1, tmp577) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp573)->tag != 27) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp578 = ats_caselptrlab_mac(anairiats_sum_24, tmp573, atslab_2) ; arg0 = tmp578 ; goto __ats_lab_s2exp_get_arylst_87 ; // tail call break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp573)->tag != 28) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp579 = ats_caselptrlab_mac(anairiats_sum_24, tmp573, atslab_2) ; arg0 = tmp579 ; goto __ats_lab_s2exp_get_arylst_87 ; // tail call break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp573)->tag != 20) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp580 = ats_caselptrlab_mac(anairiats_sum_24, tmp573, atslab_2) ; arg0 = tmp580 ; goto __ats_lab_s2exp_get_arylst_87 ; // tail call break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp572 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp572) ; } /* end of [s2exp_get_arylst_87] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 31517(line=1511, offs=1) -- 32605(line=1557, offs=2) */ ATSstaticdec() ats_ptr_type d1cstdec_tr_88 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_bool_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; // ATSlocal_void (tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_bool_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; // ATSlocal_void (tmp597) ; __ats_lab_d1cstdec_tr_88: tmp582 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg3), atslab_d1cstdec_loc) ; tmp583 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg3), atslab_d1cstdec_fil) ; tmp584 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg3), atslab_d1cstdec_sym) ; tmp585 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof (arg1) ; if (tmp585) { tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; } else { tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ tmp587 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg3), atslab_d1cstdec_type) ; tmp588 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp587, tmp586) ; tmp589 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp588) ; /* tmp590 = */ dckfun_check_84 (arg3, arg1, tmp589) ; tmp591 = s2exp_get_arylst_87 (tmp589) ; /* ats_ptr_type tmp592 ; */ tmp592 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg3), atslab_d1cstdec_extdef) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp592)->tag != 0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp594 = atspre_eq_int_int (arg0, 0) ; if (tmp594) { tmp595 = ATS_MALLOC(sizeof(anairiats_sum_32)) ; ((ats_sum_ptr_type)tmp595)->tag = 0 ; ats_selptrset_mac(anairiats_sum_32, tmp595, atslab_0, 0) ; tmp592 = tmp595 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: break ; } while (0) ; tmp596 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_make (tmp584, tmp582, tmp583, arg1, arg2, tmp591, tmp589, tmp592) ; /* tmp597 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dcst (tmp596) ; tmp581 = tmp596 ; return (tmp581) ; } /* end of [d1cstdec_tr_88] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 32682(line=1563, offs=5) -- 33017(line=1579, offs=4) */ ATSstaticdec() ats_ptr_type d1cstdeclst_tr_89 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; __ats_lab_d1cstdeclst_tr_89: do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp599 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp600 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_1) ; tmp601 = d1cstdec_tr_88 (arg0, arg1, arg2, tmp599) ; tmp602 = d1cstdeclst_tr_89 (arg0, arg1, arg2, tmp600) ; tmp598 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp598, atslab_0, tmp601) ; ats_selptrset_mac(anairiats_sum_3, tmp598, atslab_1, tmp602) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: tmp598 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp598) ; } /* end of [d1cstdeclst_tr_89] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 33078(line=1585, offs=5) -- 33330(line=1595, offs=4) */ ATSstaticdec() ats_void_type trans2_env_add_m2acarg_90 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; __ats_lab_trans2_env_add_m2acarg_90: do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp604 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; /* tmp603 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp604) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp605 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; /* tmp603 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacvarlst (tmp605) ; break ; } while (0) ; return /* (tmp603) */ ; } /* end of [trans2_env_add_m2acarg_90] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 33370(line=1596, offs=5) -- 33464(line=1597, offs=69) */ ATSstaticdec() ats_void_type trans2_env_add_m2acarglst_91 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp606) ; __ats_lab_trans2_env_add_m2acarglst_91: /* tmp606 = */ list_app_fun_01301_ats_ptr_type (arg0, &trans2_env_add_m2acarg_90) ; return /* (tmp606) */ ; } /* end of [trans2_env_add_m2acarglst_91] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 33532(line=1603, offs=1) -- 34286(line=1633, offs=4) */ ATSstaticdec() ats_void_type m1acdef_tr_92 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; // ATSlocal_void (tmp610) ; // ATSlocal_void (tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; // ATSlocal_void (tmp615) ; ATSlocal (ats_bool_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; // ATSlocal_void (tmp619) ; ATSlocal (ats_bool_type, tmp620) ; // ATSlocal_void (tmp621) ; // ATSlocal_void (tmp622) ; __ats_lab_m1acdef_tr_92: tmp608 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg2), atslab_m1acdef_loc) ; tmp609 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg2), atslab_m1acdef_sym) ; /* tmp610 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp611 = ats_selsin_mac(tmp610, atslab_1) */ ; tmp612 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst (arg1) ; /* tmp613 = */ trans2_env_add_m2acarglst_91 (tmp612) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_inc () ; tmp616 = atspre_gte_int_int (arg0, 1) ; if (tmp616) { /* tmp615 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec (tmp608) ; } else { /* empty */ } /* end of [if] */ tmp618 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg2), atslab_m1acdef_def) ; tmp617 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp618) ; tmp620 = atspre_gte_int_int (arg0, 1) ; if (tmp620) { /* tmp619 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc (tmp608) ; } else { /* empty */ } /* end of [if] */ /* tmp621 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_macdeflev_dec () ; /* tmp622 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; /* tmp607 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_set_def (arg1, tmp617) ; return /* (tmp607) */ ; } /* end of [m1acdef_tr_92] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 34453(line=1644, offs=11) -- 34517(line=1645, offs=44) */ ATSstaticdec() ats_ptr_type f_94 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; __ats_lab_f_94: tmp627 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_i0de_loc) ; tmp628 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_i0de_sym) ; tmp626 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp627, tmp628) ; return (tmp626) ; } /* end of [f_94] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 34640(line=1651, offs=11) -- 34883(line=1658, offs=10) */ ATSstaticdec() ats_ptr_type f_95 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; __ats_lab_f_95: tmp633 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_s1arg_srt) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (tmp633 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp634 = ats_caselptrlab_mac(anairiats_sum_6, tmp633, atslab_0) ; tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1rt_tr (tmp634) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (tmp633 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; break ; } while (0) ; tmp635 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_s1arg_sym) ; tmp631 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp635, tmp632) ; return (tmp631) ; } /* end of [f_95] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 34345(line=1639, offs=5) -- 34985(line=1663, offs=4) */ ATSstaticdec() ats_ptr_type m1acarg_tr_93 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp636) ; __ats_lab_m1acarg_tr_93: tmp624 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_m1acarg_node) ; do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp624)->tag != 0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp625 = ats_caselptrlab_mac(anairiats_sum_9, tmp624, atslab_0) ; tmp629 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp625, &f_94) ; tmp623 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp623)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp623, atslab_0, ats_castfn_mac(ats_ptr_type, tmp629)) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (((ats_sum_ptr_type)tmp624)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp630 = ats_caselptrlab_mac(anairiats_sum_9, tmp624, atslab_0) ; tmp636 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp630, &f_95) ; tmp623 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp623)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp623, atslab_0, ats_castfn_mac(ats_ptr_type, tmp636)) ; break ; } while (0) ; return (tmp623) ; } /* end of [m1acarg_tr_93] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 35014(line=1665, offs=5) -- 35128(line=1668, offs=4) */ ATSstaticdec() ats_ptr_type m1acarglst_tr_96 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; __ats_lab_m1acarglst_tr_96: tmp638 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &m1acarg_tr_93) ; tmp637 = ats_castfn_mac(ats_ptr_type, tmp638) ; return (tmp637) ; } /* end of [m1acarglst_tr_96] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 35290(line=1678, offs=5) -- 35773(line=1698, offs=4) */ ATSstaticdec() ats_ptr_type aux1_98 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; // ATSlocal_void (tmp649) ; ATSlocal (ats_bool_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; __ats_lab_aux1_98: do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp641 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp642 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp643 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp641), atslab_m1acdef_loc) ; tmp644 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp641), atslab_m1acdef_sym) ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp643) ; tmp647 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp641), atslab_m1acdef_arg) ; tmp646 = m1acarglst_tr_96 (tmp647) ; tmp648 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_make (tmp643, tmp644, arg0, tmp646, tmp645) ; tmp650 = atspre_gte_int_int (arg0, 2) ; if (tmp650) { /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef (tmp648) ; } else { /* empty */ } /* end of [if] */ tmp651 = aux1_98 (arg0, tmp642) ; tmp640 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp640, atslab_0, tmp648) ; ats_selptrset_mac(anairiats_sum_3, tmp640, atslab_1, tmp651) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp640 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp640) ; } /* end of [aux1_98] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 35826(line=1701, offs=5) -- 36205(line=1715, offs=4) */ ATSstaticdec() ats_void_type loop2_99 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_ptr_type, tmp657) ; ATSlocal (ats_int_type, tmp658) ; // ATSlocal_void (tmp659) ; // ATSlocal_void (tmp660) ; ATSlocal (ats_bool_type, tmp661) ; __ats_lab_loop2_99: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp654 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp655 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 35946(line=1707, offs=11) -- 35974(line=1707, offs=39)") ; } tmp656 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp657 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp658 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind (tmp654) ; /* tmp659 = */ m1acdef_tr_92 (tmp658, tmp654, tmp656) ; tmp661 = atspre_lte_int_int (tmp658, 1) ; if (tmp661) { /* tmp660 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dmacdef (tmp654) ; } else { /* empty */ } /* end of [if] */ arg0 = tmp655 ; arg1 = tmp657 ; goto __ats_lab_loop2_99 ; // tail call break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: break ; } while (0) ; return /* (tmp653) */ ; } /* end of [loop2_99] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 35184(line=1672, offs=5) -- 36274(line=1720, offs=4) */ ATSstaticdec() ats_void_type m1acdeflst_tr_97 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp639) ; ATSlocal (ats_ptr_type, tmp652) ; __ats_lab_m1acdeflst_tr_97: tmp652 = aux1_98 (arg0, arg1) ; /* tmp639 = */ loop2_99 (tmp652, arg1) ; return /* (tmp639) */ ; } /* end of [m1acdeflst_tr_97] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 36350(line=1727, offs=1) -- 37135(line=1759, offs=4) */ ATSstaticdec() ats_ptr_type f1undec_tr_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp662) ; // ATSlocal_void (tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_bool_type, tmp666) ; ATSlocal (ats_bool_type, tmp667) ; // ATSlocal_void (tmp668) ; // ATSlocal_void (tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; __ats_lab_f1undec_tr_100: /* tmp663 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_decarg (arg1, arg0) ; tmp665 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg2), atslab_f1undec_def) ; tmp664 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp665) ; tmp667 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_is_lam (tmp664) ; tmp666 = atspre_neg_bool (tmp667) ; if (tmp666) { tmp670 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, tmp664), atslab_d2exp_loc) ; /* tmp669 = */ prerr_error2_loc_02110_ (tmp670) ; /* tmp671 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("f1undec_tr")) ; /* tmp672 = */ atspre_prerr_string (ATSstrcst(": function definition is required to be lam-abstract.")) ; /* tmp673 = */ atspre_prerr_newline () ; tmp674 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp674)->tag = 31 ; ats_selptrset_mac(anairiats_sum_9, tmp674, atslab_0, arg2) ; /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp674) ; } else { /* empty */ } /* end of [if] */ tmp676 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg2), atslab_f1undec_ann) ; tmp675 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr (tmp676) ; tmp677 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg2), atslab_f1undec_loc) ; tmp662 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__f2undec_make (tmp677, arg1, tmp664, tmp675) ; return (tmp662) ; } /* end of [f1undec_tr_100] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 37362(line=1772, offs=9) -- 37872(line=1789, offs=35) */ ATSstaticdec() ats_ptr_type aux1_102 (ats_bool_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; // ATSlocal_void (tmp687) ; // ATSlocal_void (tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; __ats_lab_aux1_102: do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp682 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp683 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp684 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, tmp682), atslab_f1undec_sym) ; tmp685 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, tmp682), atslab_f1undec_sym_loc) ; tmp686 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp685, tmp684) ; /* tmp687 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix (tmp686, ats_true_bool) ; /* tmp688 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf (tmp686, arg0) ; tmp689 = aux1_102 (arg0, tmp683) ; tmp681 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp681, atslab_0, tmp686) ; ats_selptrset_mac(anairiats_sum_3, tmp681, atslab_1, tmp689) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp681 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp681) ; } /* end of [aux1_102] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 38073(line=1800, offs=9) -- 38521(line=1815, offs=35) */ ATSstaticdec() ats_ptr_type aux2_103 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; __ats_lab_aux2_103: do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp693 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp694 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp695 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp696 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp697 = f1undec_tr_100 (arg0, tmp693, tmp695) ; tmp698 = aux2_103 (arg0, tmp694, tmp696) ; tmp692 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp692, atslab_0, tmp697) ; ats_selptrset_mac(anairiats_sum_3, tmp692, atslab_1, tmp698) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_120_1: tmp692 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp692) ; } /* end of [aux2_103] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 37164(line=1762, offs=1) -- 38717(line=1827, offs=4) */ ATSstaticdec() ats_ptr_type f1undeclst_tr_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp678) ; ATSlocal (ats_bool_type, tmp679) ; ATSlocal (ats_bool_type, tmp680) ; ATSlocal (ats_ptr_type, tmp690) ; // ATSlocal_void (tmp691) ; ATSlocal (ats_ptr_type, tmp699) ; // ATSlocal_void (tmp700) ; __ats_lab_f1undeclst_tr_101: tmp679 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof (arg0) ; tmp680 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive (arg0) ; tmp690 = aux1_102 (tmp679, arg2) ; if (tmp680) { /* tmp691 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp690) ; } else { /* empty */ } /* end of [if] */ tmp699 = aux2_103 (arg1, tmp690, arg2) ; if (tmp680) { /* empty */ } else { /* tmp700 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp690) ; } /* end of [if] */ tmp678 = tmp699 ; return (tmp678) ; } /* end of [f1undeclst_tr_101] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 38770(line=1832, offs=1) -- 38979(line=1841, offs=4) */ ATSstaticdec() ats_ptr_type v1aldec_tr_104 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; __ats_lab_v1aldec_tr_104: tmp702 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_v1aldec_loc) ; tmp704 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_v1aldec_def) ; tmp703 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp704) ; tmp706 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_v1aldec_ann) ; tmp705 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__witht1ype_tr (tmp706) ; tmp701 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make (tmp702, arg1, tmp703, tmp705) ; return (tmp701) ; } /* end of [v1aldec_tr_104] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 39137(line=1849, offs=12) -- 39177(line=1849, offs=52) */ ATSstaticdec() ats_ptr_type __ats_fun_106 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; __ats_lab___ats_fun_106: tmp710 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_v1aldec_pat) ; tmp709 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp710) ; return (tmp709) ; } /* end of [__ats_fun_106] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 58376(line=2097, offs=5) -- 58882(line=2115, offs=4) */ ATSstaticdec() ats_void_type loop_109 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_ptr_type, tmp727) ; __ats_lab_loop_109: do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_2: tmp720 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp721 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp722 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp723 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp724 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg2) (tmp720, tmp722, arg4) ; tmp725 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp725, atslab_0, tmp724) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp725 ; // if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp726 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; arg0 = tmp721 ; arg1 = tmp723 ; arg2 = arg2 ; arg3 = tmp726 ; arg4 = arg4 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_2: tmp727 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp727 ; break ; } while (0) ; return /* (tmp719) */ ; } /* end of [loop_109] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 58341(line=2095, offs=3) -- 59077(line=2124, offs=4) */ ATSstaticdec() ats_ptr_type list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_ptr_type, tmp728) ; // ATSlocal_void (tmp729) ; __ats_lab_list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp728 ; */ /* tmp729 = */ loop_109 (arg0, arg1, arg2, (&tmp728), arg3) ; tmp718 = tmp728 ; return (tmp718) ; } /* end of [list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 59154(line=2127, offs=27) -- 59433(line=2136, offs=4) */ ATSstaticdec() ats_ptr_type list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp717) ; __ats_lab_list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type: tmp717 = list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg0, arg1, ats_castfn_mac(ats_ptr_type, arg2), atspre_null_ptr) ; return (tmp717) ; } /* end of [list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 39008(line=1844, offs=1) -- 39745(line=1867, offs=4) */ ATSstaticdec() ats_ptr_type v1aldeclst_tr_105 (ats_bool_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; ATSlocal (ats_ptr_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_bool_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; // ATSlocal_void (tmp730) ; // ATSlocal_void (tmp731) ; // ATSlocal_void (tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; // ATSlocal_void (tmp734) ; __ats_lab_v1aldeclst_tr_105: tmp708 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg1, &__ats_fun_106) ; tmp712 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (ats_castfn_mac(ats_ptr_type, tmp708)) ; tmp711 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp712) ; tmp714 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (ats_castfn_mac(ats_ptr_type, tmp708)) ; tmp713 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp714) ; tmp715 = atspre_neg_bool (arg0) ; if (tmp715) { tmp716 = list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg1, ats_castfn_mac(ats_ptr_type, tmp708), &v1aldec_tr_104) ; /* tmp730 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp711) ; /* tmp731 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp713) ; tmp707 = ats_castfn_mac(ats_ptr_type, tmp716) ; } else { /* tmp732 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp713) ; tmp733 = list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg1, ats_castfn_mac(ats_ptr_type, tmp708), &v1aldec_tr_104) ; /* tmp734 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp711) ; tmp707 = ats_castfn_mac(ats_ptr_type, tmp733) ; } /* end of [if] */ return (tmp707) ; } /* end of [v1aldeclst_tr_105] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 39801(line=1872, offs=1) -- 41003(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type v1ardec_tr_110 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_int_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; ATSlocal (ats_bool_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; // ATSlocal_void (tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_ptr_type, tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; ATSlocal (ats_ptr_type, tmp758) ; ATSlocal (ats_ptr_type, tmp759) ; __ats_lab_v1ardec_tr_110: tmp736 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_loc) ; tmp737 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_knd) ; tmp738 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_sym) ; tmp739 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_sym_loc) ; tmp740 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp739, tmp738) ; tmp742 = atspre_gt_int_int (tmp737, 0) ; if (tmp742) { tmp743 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp739, tmp738) ; tmp741 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp741, atslab_0, tmp743) ; } else { tmp741 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp744 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp738, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; tmp745 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp744) ; tmp747 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp747, atslab_0, tmp745) ; /* tmp746 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr (tmp740, tmp747) ; tmp749 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_pfat) ; do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (tmp749 != (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp748 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (tmp749 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp750 = ats_caselptrlab_mac(anairiats_sum_6, tmp749, atslab_0) ; tmp752 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp750), atslab_i0de_loc) ; tmp753 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp750), atslab_i0de_sym) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp752, tmp753) ; tmp748 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp748, atslab_0, tmp751) ; break ; } while (0) ; tmp755 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_type) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (tmp755 != (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp754 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (tmp755 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp756 = ats_caselptrlab_mac(anairiats_sum_6, tmp755, atslab_0) ; tmp757 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp756) ; tmp754 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp754, atslab_0, tmp757) ; break ; } while (0) ; tmp759 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_init) ; tmp758 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr (tmp759) ; tmp735 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2ardec_make (tmp736, tmp737, tmp744, tmp740, tmp748, tmp754, tmp758, tmp741) ; return (tmp735) ; } /* end of [v1ardec_tr_110] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 41198(line=1946, offs=6) -- 41577(line=1957, offs=6) */ ATSstaticdec() ats_void_type f_112 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp762) ; // ATSlocal_void (tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; // ATSlocal_void (tmp765) ; ATSlocal (ats_ptr_type, tmp766) ; // ATSlocal_void (tmp767) ; ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; __ats_lab_f_112: tmp764 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_40, arg0), atslab_v2ardec_svar) ; /* tmp763 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svar (tmp764) ; tmp766 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_40, arg0), atslab_v2ardec_dvar) ; /* tmp765 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp766) ; tmp768 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_40, arg0), atslab_v2ardec_dvaropt) ; /* tmp767 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvaropt (tmp768) ; tmp769 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_40, arg0), atslab_v2ardec_pfat) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (tmp769 == (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp770 = ats_caselptrlab_mac(anairiats_sum_6, tmp769, atslab_0) ; /* tmp762 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp770) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (tmp769 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: break ; } while (0) ; return /* (tmp762) */ ; } /* end of [f_112] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 41032(line=1935, offs=1) -- 41617(line=1960, offs=2) */ ATSstaticdec() ats_ptr_type v1ardeclst_tr_111 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; // ATSlocal_void (tmp771) ; __ats_lab_v1ardeclst_tr_111: tmp761 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &v1ardec_tr_110) ; /* tmp771 = */ list_app_fun_01301_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp761), &f_112) ; tmp760 = ats_castfn_mac(ats_ptr_type, tmp761) ; return (tmp760) ; } /* end of [v1ardeclst_tr_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2870(line=111, offs=20) -- 2931(line=114, offs=2) */ ATSstaticdec() ats_void_type prerr_warning2_loc_02116_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp776) ; // ATSlocal_void (tmp777) ; __ats_lab_prerr_warning2_loc_02116_: /* tmp777 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp776 = */ atspre_prerr_string (ATSstrcst(": warning(2)")) ; return /* (tmp776) */ ; } /* end of [prerr_warning2_loc_02116_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 41680(line=1967, offs=1) -- 42059(line=1987, offs=4) */ ATSstaticdec() ats_void_type auxkndck_113 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp772) ; ATSlocal (ats_int_type, tmp773) ; ATSlocal (ats_bool_type, tmp774) ; // ATSlocal_void (tmp775) ; ATSlocal (ats_ptr_type, tmp778) ; // ATSlocal_void (tmp779) ; // ATSlocal_void (tmp780) ; __ats_lab_auxkndck_113: tmp773 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_knd) ; tmp774 = atspre_gt_int_int (tmp773, 0) ; if (tmp774) { tmp778 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_loc) ; /* tmp775 = */ prerr_warning2_loc_02116_ (tmp778) ; /* tmp779 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("prv1ardec_tr")) ; /* tmp780 = */ atspre_prerr_string (ATSstrcst(": the dynalloc mark (!) is ignored.")) ; /* tmp772 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ return /* (tmp772) */ ; } /* end of [auxkndck_113] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 42086(line=1990, offs=1) -- 42608(line=2012, offs=4) */ ATSstaticdec() ats_void_type auxwthck_115 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; // ATSlocal_void (tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; // ATSlocal_void (tmp786) ; // ATSlocal_void (tmp787) ; // ATSlocal_void (tmp788) ; // ATSlocal_void (tmp789) ; __ats_lab_auxwthck_115: tmp782 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_pfat) ; do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (tmp782 == (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp783 = ats_caselptrlab_mac(anairiats_sum_6, tmp782, atslab_0) ; tmp785 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_loc) ; /* tmp784 = */ prerr_warning2_loc_02116_ (tmp785) ; /* tmp786 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("prv1ardec_tr")) ; /* tmp787 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; /* tmp788 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de (tmp783) ; /* tmp789 = */ atspre_prerr_string (ATSstrcst("] is ignored.")) ; /* tmp781 = */ atspre_prerr_newline () ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (tmp782 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: break ; } while (0) ; return /* (tmp781) */ ; } /* end of [auxwthck_115] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 42659(line=2017, offs=1) -- 43165(line=2040, offs=4) */ ATSstaticdec() ats_ptr_type prv1ardec_tr_116 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp790) ; // ATSlocal_void (tmp791) ; // ATSlocal_void (tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; __ats_lab_prv1ardec_tr_116: /* tmp791 = */ auxkndck_113 (arg0) ; /* tmp792 = */ auxwthck_115 (arg0) ; tmp793 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_sym) ; tmp794 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_sym_loc) ; tmp795 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp794, tmp793) ; tmp797 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_type) ; do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (tmp797 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp798 = ats_caselptrlab_mac(anairiats_sum_6, tmp797, atslab_0) ; tmp799 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp798) ; tmp796 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp796, atslab_0, tmp799) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (tmp797 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp796 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp801 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_init) ; tmp800 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr (tmp801) ; tmp802 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_39, arg0), atslab_v1ardec_loc) ; tmp790 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prv2ardec_make (tmp802, tmp795, tmp796, tmp800) ; return (tmp790) ; } /* end of [prv1ardec_tr_116] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 43414(line=2054, offs=8) -- 43483(line=2054, offs=77) */ ATSstaticdec() ats_void_type f_118 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; __ats_lab_f_118: tmp806 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_41, arg0), atslab_prv2ardec_dvar) ; /* tmp805 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp806) ; return /* (tmp805) */ ; } /* end of [f_118] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 43219(line=2045, offs=1) -- 43526(line=2056, offs=2) */ ATSstaticdec() ats_ptr_type prv1ardeclst_tr_117 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; // ATSlocal_void (tmp807) ; __ats_lab_prv1ardeclst_tr_117: tmp804 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &prv1ardec_tr_116) ; /* tmp807 = */ list_app_fun_01301_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp804), &f_118) ; tmp803 = ats_castfn_mac(ats_ptr_type, tmp804) ; return (tmp803) ; } /* end of [prv1ardeclst_tr_117] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 43912(line=2083, offs=1) -- 45295(line=2144, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taload_tr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; // ATSlocal_void (tmp810) ; // ATSlocal_void (tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; // ATSlocal_void (tmp815) ; // ATSlocal_void (tmp816) ; ATSlocal (ats_ptr_type, tmp817) ; ATSlocal (ats_ptr_type, tmp818) ; // ATSlocal_void (tmp819) ; ATSlocal (anairiats_rec_2, tmp820) ; ATSlocal (ats_ptr_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; // ATSlocal_void (tmp825) ; // ATSlocal_void (tmp826) ; ATSlocal (ats_ptr_type, tmp827) ; ATSlocal (ats_ptr_type, tmp828) ; // ATSlocal_void (tmp829) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taload_tr: tmp809 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg2) ; /* tmp810 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_push () ; /* tmp811 = ats_selsin_mac(tmp810, atslab_1) */ ; tmp812 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_find (tmp809) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (tmp812 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp814 = ats_caselptrlab_mac(anairiats_sum_6, tmp812, atslab_0) ; ATS_FREE(tmp812) ; ats_ptrget_mac(ats_int_type, arg5) = 1 ; tmp813 = tmp814 ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (tmp812 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: ats_ptrget_mac(ats_int_type, arg5) = 0 ; /* tmp815 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save () ; /* tmp816 = ats_selsin_mac(tmp815, atslab_1) */ ; tmp817 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () ; tmp818 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (arg4) ; /* tmp819 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (tmp817) ; tmp820 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore () ; tmp821 = ats_select_mac(tmp820, atslab_0) ; tmp822 = ats_select_mac(tmp820, atslab_1) ; tmp823 = ats_select_mac(tmp820, atslab_2) ; tmp824 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make (arg2, tmp821, tmp822, tmp823, tmp818) ; /* tmp825 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_filenvmap_add (tmp809, tmp824) ; tmp813 = tmp824 ; break ; } while (0) ; do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp827 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp828 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp828)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp828, atslab_0, tmp813) ; /* tmp826 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp827, tmp828) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: /* tmp826 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add (tmp813) ; break ; } while (0) ; /* tmp829 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_staload_level_pop () ; tmp808 = tmp813 ; return (tmp808) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taload_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 45459(line=2159, offs=1) -- 45821(line=2172, offs=4) */ ATSstaticdec() ats_void_type auxerr_121 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp831) ; // ATSlocal_void (tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; // ATSlocal_void (tmp834) ; // ATSlocal_void (tmp835) ; // ATSlocal_void (tmp836) ; // ATSlocal_void (tmp837) ; // ATSlocal_void (tmp838) ; ATSlocal (ats_ptr_type, tmp839) ; __ats_lab_auxerr_121: tmp833 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_loc) ; /* tmp832 = */ prerr_error2_loc_02110_ (tmp833) ; /* tmp834 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("s1taloadnm_tr")) ; /* tmp835 = */ atspre_prerr_string (ATSstrcst(": the name [")) ; /* tmp836 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg1) ; /* tmp837 = */ atspre_prerr_string (ATSstrcst("] does not refer to a namespace.")) ; /* tmp838 = */ atspre_prerr_newline () ; tmp839 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp839)->tag = 39 ; ats_selptrset_mac(anairiats_sum_9, tmp839, atslab_0, arg0) ; /* tmp831 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp839) ; return /* (tmp831) */ ; } /* end of [auxerr_121] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 45439(line=2156, offs=15) -- 46336(line=2194, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taloadnm_tr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp830) ; ATSlocal (ats_ptr_type, tmp840) ; ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; ATSlocal (ats_ptr_type, tmp843) ; ATSlocal (ats_ptr_type, tmp844) ; ATSlocal (ats_ptr_type, tmp845) ; ATSlocal (ats_ptr_type, tmp846) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taloadnm_tr: tmp840 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_node) ; if (((ats_sum_ptr_type)tmp840)->tag != 32) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 45851(line=2174, offs=5) -- 45899(line=2175, offs=36)") ; } tmp841 = ats_caselptrlab_mac(anairiats_sum_5, tmp840, atslab_0) ; tmp842 = ats_caselptrlab_mac(anairiats_sum_5, tmp840, atslab_1) ; tmp843 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (tmp842) ; do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (tmp843 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_137_1: tmp844 = ats_caselptrlab_mac(anairiats_sum_6, tmp843, atslab_0) ; ATS_FREE(tmp843) ; do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp844)->tag != 5) { goto __ats_lab_141_0 ; } __ats_lab_138_1: tmp845 = ats_caselptrlab_mac(anairiats_sum_9, tmp844, atslab_0) ; do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (tmp841 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp846 = ats_caselptrlab_mac(anairiats_sum_6, tmp841, atslab_0) ; /* tmp830 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp846, tmp844) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (tmp841 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: /* tmp830 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_add (tmp845) ; break ; } while (0) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: __ats_lab_141_1: /* tmp830 = */ auxerr_121 (arg0, tmp842) ; break ; } while (0) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (tmp843 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: /* tmp830 = */ auxerr_121 (arg0, tmp842) ; break ; } while (0) ; return /* (tmp830) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taloadnm_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 46420(line=2200, offs=3) -- 47114(line=2229, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp847) ; ATSlocal (ats_ptr_type, tmp848) ; ATSlocal (ats_ptr_type, tmp849) ; // ATSlocal_void (tmp850) ; ATSlocal (ats_ptr_type, tmp851) ; ATSlocal (ats_ptr_type, tmp852) ; ATSlocal (ats_ptr_type, tmp853) ; ATSlocal (ats_int_type, tmp854) ; ATSlocal (ats_ptr_type, tmp855) ; ATSlocal (ats_ptr_type, tmp856) ; ATSlocal (ats_ptr_type, tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist: do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_144_1: tmp848 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp849 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp851 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_42, tmp848), atslab_d2ecl_node) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp851)->tag != 2) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp852 = ats_caselptrlab_mac(anairiats_sum_9, tmp851, atslab_0) ; /* tmp850 = */ symintr_tr_1 (tmp852) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp851)->tag != 4) { goto __ats_lab_149_0 ; } __ats_lab_146_1: tmp853 = ats_caselptrlab_mac(anairiats_sum_43, tmp851, atslab_0) ; tmp854 = ats_caselptrlab_mac(anairiats_sum_43, tmp851, atslab_1) ; tmp855 = ats_caselptrlab_mac(anairiats_sum_43, tmp851, atslab_2) ; tmp856 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_42, tmp848), atslab_d2ecl_loc) ; do { /* branch: __ats_lab_147 */ __ats_lab_147_0: if (tmp855 == (ats_sum_ptr_type)0) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp857 = ats_caselptrlab_mac(anairiats_sum_6, tmp855, atslab_0) ; /* tmp850 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_def (tmp856, tmp853, tmp854, tmp857) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: // if (tmp855 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_148_1: break ; } while (0) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp851)->tag != 22) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp858 = ats_caselptrlab_mac(anairiats_sum_44, tmp851, atslab_1) ; /* tmp850 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist (tmp858) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: __ats_lab_150_1: break ; } while (0) ; arg0 = tmp849 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist ; // tail call break ; } while (0) ; return /* (tmp847) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 47348(line=2242, offs=5) -- 48068(line=2263, offs=4) */ ATSstaticdec() ats_void_type auxcheck_impdec_124 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp861) ; ATSlocal (ats_ptr_type, tmp862) ; ATSlocal (ats_bool_type, tmp863) ; ATSlocal (ats_bool_type, tmp864) ; ATSlocal (ats_bool_type, tmp865) ; // ATSlocal_void (tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; // ATSlocal_void (tmp868) ; // ATSlocal_void (tmp869) ; ATSlocal (ats_bool_type, tmp870) ; // ATSlocal_void (tmp871) ; ATSlocal (ats_bool_type, tmp872) ; // ATSlocal_void (tmp873) ; ATSlocal (ats_ptr_type, tmp874) ; __ats_lab_auxcheck_impdec_124: tmp862 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_45, arg2), atslab_i2mpdec_cst) ; tmp864 = atspre_lt_int_int (arg1, 0) ; if (tmp864) { tmp863 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_prf (tmp862) ; } else { tmp863 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_nonprf (tmp862) ; } /* end of [if] */ tmp865 = atspre_neg_bool (tmp863) ; if (tmp865) { tmp867 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_loc) ; /* tmp866 = */ prerr_error2_loc_02110_ (tmp867) ; /* tmp868 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats"), ATSstrcst("d1ecl_tr: auxcheck_impdec")) ; tmp870 = atspre_lt_int_int (arg1, 0) ; if (tmp870) { /* tmp869 = */ atspre_prerr_string (ATSstrcst(": the implemented dynamic constant is required to be proof.")) ; } else { /* empty */ } /* end of [if] */ tmp872 = atspre_gte_int_int (arg1, 0) ; if (tmp872) { /* tmp871 = */ atspre_prerr_string (ATSstrcst(": the implemented dynamic constant is required to be non-proof.")) ; } else { /* empty */ } /* end of [if] */ /* tmp873 = */ atspre_prerr_newline () ; tmp874 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp874)->tag = 34 ; ats_selptrset_mac(anairiats_sum_9, tmp874, atslab_0, arg0) ; /* tmp861 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp874) ; } else { /* empty */ } /* end of [if] */ return /* (tmp861) */ ; } /* end of [auxcheck_impdec_124] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 47189(line=2234, offs=10) -- 56130(line=2602, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_ptr_type, tmp875) ; ATSlocal (ats_ptr_type, tmp876) ; ATSlocal (ats_ptr_type, tmp877) ; ATSlocal (ats_ptr_type, tmp878) ; // ATSlocal_void (tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; // ATSlocal_void (tmp881) ; ATSlocal (ats_ptr_type, tmp882) ; // ATSlocal_void (tmp883) ; ATSlocal (ats_ptr_type, tmp884) ; ATSlocal (ats_ptr_type, tmp885) ; ATSlocal (ats_int_type, tmp886) ; ATSlocal (ats_ptr_type, tmp887) ; ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_ptr_type, tmp889) ; // ATSlocal_void (tmp890) ; ATSlocal (ats_ptr_type, tmp891) ; // ATSlocal_void (tmp892) ; ATSlocal (ats_ptr_type, tmp893) ; ATSlocal (ats_ptr_type, tmp894) ; ATSlocal (ats_ptr_type, tmp895) ; // ATSlocal_void (tmp896) ; ATSlocal (ats_ptr_type, tmp897) ; // ATSlocal_void (tmp898) ; ATSlocal (ats_ptr_type, tmp899) ; ATSlocal (ats_ptr_type, tmp900) ; ATSlocal (ats_int_type, tmp901) ; ATSlocal (ats_ptr_type, tmp902) ; ATSlocal (ats_ptr_type, tmp903) ; // ATSlocal_void (tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; // ATSlocal_void (tmp906) ; ATSlocal (ats_ptr_type, tmp907) ; ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_int_type, tmp909) ; ATSlocal (ats_ptr_type, tmp910) ; ATSlocal (ats_ptr_type, tmp911) ; ATSlocal (ats_ptr_type, tmp912) ; // ATSlocal_void (tmp913) ; ATSlocal (ats_int_type, tmp914) ; ATSlocal (ats_ptr_type, tmp915) ; // ATSlocal_void (tmp916) ; ATSlocal (ats_ptr_type, tmp917) ; ATSlocal (ats_ptr_type, tmp918) ; ATSlocal (ats_ptr_type, tmp919) ; ATSlocal (ats_int_type, tmp920) ; ATSlocal (ats_ptr_type, tmp921) ; ATSlocal (ats_ptr_type, tmp922) ; ATSlocal (ats_ptr_type, tmp923) ; ATSlocal (ats_ptr_type, tmp924) ; ATSlocal (ats_ptr_type, tmp925) ; ATSlocal (ats_ptr_type, tmp926) ; ATSlocal (ats_ptr_type, tmp927) ; // ATSlocal_void (tmp928) ; ATSlocal (ats_ptr_type, tmp929) ; ATSlocal (ats_ptr_type, tmp930) ; ATSlocal (ats_ptr_type, tmp931) ; ATSlocal (ats_int_type, tmp932) ; ATSlocal (ats_ptr_type, tmp933) ; ATSlocal (ats_ptr_type, tmp934) ; ATSlocal (ats_ptr_type, tmp935) ; ATSlocal (ats_ptr_type, tmp936) ; ATSlocal (ats_ptr_type, tmp937) ; ATSlocal (ats_ptr_type, tmp938) ; ATSlocal (ats_ptr_type, tmp939) ; ATSlocal (ats_int_type, tmp940) ; ATSlocal (ats_int_type, tmp941) ; ATSlocal (ats_ptr_type, tmp942) ; ATSlocal (ats_int_type, tmp943) ; ATSlocal (ats_ptr_type, tmp944) ; ATSlocal (ats_ptr_type, tmp945) ; ATSlocal (ats_ptr_type, tmp946) ; // ATSlocal_void (tmp947) ; // ATSlocal_void (tmp948) ; ATSlocal (ats_ptr_type, tmp949) ; ATSlocal (ats_ptr_type, tmp950) ; // ATSlocal_void (tmp951) ; ATSlocal (ats_int_type, tmp952) ; ATSlocal (ats_bool_type, tmp953) ; ATSlocal (ats_ptr_type, tmp954) ; ATSlocal (ats_int_type, tmp955) ; ATSlocal (ats_bool_type, tmp956) ; // ATSlocal_void (tmp957) ; ATSlocal (ats_int_type, tmp958) ; ATSlocal (ats_ptr_type, tmp959) ; ATSlocal (ats_ptr_type, tmp960) ; // ATSlocal_void (tmp961) ; ATSlocal (ats_ptr_type, tmp962) ; ATSlocal (ats_ptr_type, tmp963) ; ATSlocal (ats_ptr_type, tmp964) ; ATSlocal (ats_bool_type, tmp965) ; // ATSlocal_void (tmp966) ; // ATSlocal_void (tmp967) ; // ATSlocal_void (tmp968) ; ATSlocal (ats_int_type, tmp969) ; ATSlocal (ats_ptr_type, tmp970) ; // ATSlocal_void (tmp971) ; ATSlocal (ats_ptr_type, tmp972) ; // ATSlocal_void (tmp973) ; // ATSlocal_void (tmp974) ; // ATSlocal_void (tmp975) ; ATSlocal (ats_ptr_type, tmp976) ; ATSlocal (ats_bool_type, tmp977) ; ATSlocal (ats_ptr_type, tmp978) ; ATSlocal (ats_ptr_type, tmp979) ; ATSlocal (ats_bool_type, tmp980) ; ATSlocal (ats_int_type, tmp981) ; ATSlocal (ats_ptr_type, tmp982) ; ATSlocal (ats_bool_type, tmp983) ; ATSlocal (ats_ptr_type, tmp984) ; ATSlocal (ats_ptr_type, tmp985) ; ATSlocal (ats_int_type, tmp986) ; ATSlocal (ats_ptr_type, tmp987) ; ATSlocal (ats_ptr_type, tmp988) ; ATSlocal (ats_ptr_type, tmp989) ; ATSlocal (ats_ptr_type, tmp990) ; ATSlocal (ats_int_type, tmp991) ; ATSlocal (ats_ptr_type, tmp992) ; ATSlocal (ats_int_type, tmp993) ; ATSlocal (ats_ptr_type, tmp994) ; // ATSlocal_void (tmp995) ; ATSlocal (ats_ptr_type, tmp996) ; // ATSlocal_void (tmp997) ; ATSlocal (ats_ptr_type, tmp998) ; ATSlocal (ats_ptr_type, tmp999) ; ATSlocal (ats_ptr_type, tmp1000) ; // ATSlocal_void (tmp1001) ; // ATSlocal_void (tmp1002) ; ATSlocal (ats_ptr_type, tmp1003) ; ATSlocal (ats_ptr_type, tmp1004) ; // ATSlocal_void (tmp1005) ; ATSlocal (anairiats_rec_2, tmp1006) ; ATSlocal (ats_ptr_type, tmp1007) ; ATSlocal (ats_ptr_type, tmp1008) ; ATSlocal (ats_ptr_type, tmp1009) ; ATSlocal (ats_ptr_type, tmp1010) ; // ATSlocal_void (tmp1011) ; ATSlocal (ats_ptr_type, tmp1012) ; ATSlocal (ats_ptr_type, tmp1013) ; ATSlocal (ats_ptr_type, tmp1014) ; ATSlocal (ats_ptr_type, tmp1015) ; // ATSlocal_void (tmp1016) ; // ATSlocal_void (tmp1017) ; ATSlocal (ats_ptr_type, tmp1018) ; // ATSlocal_void (tmp1019) ; // ATSlocal_void (tmp1020) ; ATSlocal (ats_ptr_type, tmp1021) ; // ATSlocal_void (tmp1022) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr: tmp860 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_loc) ; tmp875 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d1ecl_node) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)tmp875)->tag != 0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp875)->tag != 1) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp876 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp877 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp876, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list (tmp860, ats_castfn_mac(ats_ptr_type, tmp877)) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp875)->tag != 2) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp878 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp879 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (tmp878) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp875)->tag != 3) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp880 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp881 = */ symintr_tr_1 (tmp880) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symintr (tmp860, tmp880) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp875)->tag != 4) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp882 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp883 = */ symelim_tr_3 (tmp882) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symelim (tmp860, tmp882) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp875)->tag != 5) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp884 = ats_caselptrlab_mac(anairiats_sum_46, tmp875, atslab_0) ; tmp885 = ats_caselptrlab_mac(anairiats_sum_46, tmp875, atslab_1) ; tmp886 = ats_caselptrlab_mac(anairiats_sum_46, tmp875, atslab_2) ; tmp887 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr (arg0, tmp884, tmp885, tmp886) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_overload (tmp860, tmp884, tmp886, tmp887) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp875)->tag != 6) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp888 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp889 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; tmp891 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp891)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp891, atslab_0, tmp889) ; /* tmp890 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp888, tmp891) ; tmp893 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp893)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp893, atslab_0, tmp889) ; /* tmp892 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp888, tmp893) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp875)->tag != 7) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp894 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp895 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; tmp897 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp897)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp897, atslab_0, tmp895) ; /* tmp896 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp894, tmp897) ; tmp899 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp899)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp899, atslab_0, tmp895) ; /* tmp898 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add (tmp894, tmp899) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp875)->tag != 8) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp900 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_pragma (tmp860, tmp900) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp875)->tag != 9) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp901 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_0) ; tmp902 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_1) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_codegen (tmp860, tmp901, tmp902) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)tmp875)->tag != 10) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp903 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp904 = */ d1atsrtdeclst_tr_17 (tmp903) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp875)->tag != 11) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp905 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp906 = */ s1rtdeflst_tr_21 (tmp905) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp875)->tag != 12) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp907 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp908 = s1tacstlst_tr_24 (tmp907) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacsts (tmp860, tmp908) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)tmp875)->tag != 13) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp909 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_0) ; tmp910 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_1) ; tmp911 = s1taconlst_tr_37 (tmp909, tmp910) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacons (tmp860, tmp909, tmp911) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp875)->tag != 14) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp912 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; /* tmp913 = */ t1kindef_tr_39 (tmp912) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp875)->tag != 15) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp914 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_0) ; tmp915 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_1) ; /* tmp916 = */ s1expdeflst_tr_47 (tmp914, tmp915) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp875)->tag != 16) { goto __ats_lab_170_0 ; } __ats_lab_167_1: tmp917 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp918 = s1aspdec_tr_54 (tmp917) ; do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (tmp918 == (ats_sum_ptr_type)0) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp919 = ats_caselptrlab_mac(anairiats_sum_6, tmp918, atslab_0) ; ATS_FREE(tmp918) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_saspdec (tmp860, tmp919) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (tmp918 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; } while (0) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp875)->tag != 17) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp920 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_0) ; tmp921 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_1) ; tmp922 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_2) ; tmp923 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__d1atdeclst_tr (tmp920, tmp921, tmp922) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_datdecs (tmp860, tmp920, tmp923) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)tmp875)->tag != 18) { goto __ats_lab_172_0 ; } __ats_lab_171_1: tmp924 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp925 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__e1xndeclst_tr (tmp924) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_exndecs (tmp860, tmp925) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp875)->tag != 19) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp926 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp927 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; /* tmp928 = */ c1lassdec_tr_83 (tmp926, tmp927) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp875)->tag != 20) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp929 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp930 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; tmp931 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp930) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype (tmp860, tmp929, tmp931) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp875)->tag != 21) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp932 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_0) ; tmp933 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_1) ; tmp934 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_2) ; tmp935 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (tmp932) ; tmp936 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp934, tmp935) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype (tmp860, tmp933, tmp936) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp875)->tag != 22) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp937 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp938 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; tmp939 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp938) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extvar (tmp860, tmp937, tmp939) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)tmp875)->tag != 23) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp940 = ats_caselptrlab_mac(anairiats_sum_48, tmp875, atslab_0) ; tmp941 = ats_caselptrlab_mac(anairiats_sum_48, tmp875, atslab_1) ; tmp942 = ats_caselptrlab_mac(anairiats_sum_48, tmp875, atslab_2) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extcode (tmp860, tmp940, tmp941, tmp942) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)tmp875)->tag != 24) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp943 = ats_caselptrlab_mac(anairiats_sum_49, tmp875, atslab_0) ; tmp944 = ats_caselptrlab_mac(anairiats_sum_49, tmp875, atslab_1) ; tmp945 = ats_caselptrlab_mac(anairiats_sum_49, tmp875, atslab_2) ; tmp946 = ats_caselptrlab_mac(anairiats_sum_49, tmp875, atslab_3) ; /* tmp947 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp948 = ats_selsin_mac(tmp947, atslab_1) */ ; tmp949 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp945, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec) ; tmp950 = d1cstdeclst_tr_89 (tmp943, tmp944, ats_castfn_mac(ats_ptr_type, tmp949), tmp946) ; /* tmp951 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs (tmp860, tmp943, tmp944, tmp950) ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)tmp875)->tag != 25) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp952 = ats_caselptrlab_mac(anairiats_sum_50, tmp875, atslab_0) ; tmp953 = ats_caselptrlab_mac(anairiats_sum_50, tmp875, atslab_1) ; tmp954 = ats_caselptrlab_mac(anairiats_sum_50, tmp875, atslab_2) ; if (tmp953) { tmp956 = atspre_eq_int_int (tmp952, 0) ; if (tmp956) { tmp955 = 0 ; } else { tmp955 = 2 ; } /* end of [if] */ } else { tmp955 = tmp952 ; } /* end of [if] */ /* tmp957 = */ m1acdeflst_tr_97 (tmp955, tmp954) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)tmp875)->tag != 26) { goto __ats_lab_182_0 ; } __ats_lab_179_1: tmp958 = ats_caselptrlab_mac(anairiats_sum_47, tmp875, atslab_0) ; tmp959 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__i1mpdec_tr (arg0) ; do { /* branch: __ats_lab_180 */ __ats_lab_180_0: if (tmp959 == (ats_sum_ptr_type)0) { goto __ats_lab_181_0 ; } __ats_lab_180_1: tmp960 = ats_caselptrlab_mac(anairiats_sum_6, tmp959, atslab_0) ; ATS_FREE(tmp959) ; /* tmp961 = */ auxcheck_impdec_124 (arg0, tmp958, tmp960) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_impdec (tmp860, tmp958, tmp960) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: // if (tmp959 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_181_1: tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; } while (0) ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)tmp875)->tag != 27) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp962 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_0) ; tmp963 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_1) ; tmp964 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_2) ; tmp965 = list_is_cons_01295_ (tmp963) ; if (tmp965) { /* tmp966 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_inc () ; } else { /* empty */ } /* end of [if] */ /* tmp967 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp968 = ats_selsin_mac(tmp967, atslab_1) */ ; tmp969 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_get () ; tmp970 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp963, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__q1marg_tr_dec) ; /* tmp971 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__s2qualstlst_set_tmplev (ats_castfn_mac(ats_ptr_type, tmp970), tmp969) ; tmp972 = f1undeclst_tr_101 (tmp962, ats_castfn_mac(ats_ptr_type, tmp970), tmp964) ; if (tmp965) { /* tmp973 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_tmplev_dec () ; } else { /* empty */ } /* end of [if] */ /* tmp974 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; /* tmp975 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_fundeclst (tmp962, tmp972) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_fundecs (tmp860, tmp962, ats_castfn_mac(ats_ptr_type, tmp970), tmp972) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)tmp875)->tag != 28) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp976 = ats_caselptrlab_mac(anairiats_sum_51, tmp875, atslab_0) ; tmp977 = ats_caselptrlab_mac(anairiats_sum_51, tmp875, atslab_1) ; tmp978 = ats_caselptrlab_mac(anairiats_sum_51, tmp875, atslab_2) ; tmp979 = v1aldeclst_tr_105 (tmp977, tmp978) ; tmp980 = atspre_neg_bool (tmp977) ; if (tmp980) { tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs (tmp860, tmp976, tmp979) ; } else { tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec (tmp860, tmp976, tmp979) ; } /* end of [if] */ break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)tmp875)->tag != 29) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp981 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_0) ; tmp982 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_1) ; tmp983 = atspre_eq_int_int (tmp981, 0) ; if (tmp983) { tmp984 = v1ardeclst_tr_111 (tmp982) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_vardecs (tmp860, tmp984) ; } else { tmp985 = prv1ardeclst_tr_117 (tmp982) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_prvardecs (tmp860, tmp985) ; } /* end of [if] */ break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp875)->tag != 30) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp986 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_0) ; tmp987 = ats_caselptrlab_mac(anairiats_sum_44, tmp875, atslab_1) ; tmp988 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp987) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_include (tmp860, tmp986, tmp988) ; break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: if (((ats_sum_ptr_type)tmp875)->tag != 31) { goto __ats_lab_189_0 ; } __ats_lab_186_1: tmp989 = ats_caselptrlab_mac(anairiats_sum_52, tmp875, atslab_0) ; tmp990 = ats_caselptrlab_mac(anairiats_sum_52, tmp875, atslab_1) ; tmp991 = ats_caselptrlab_mac(anairiats_sum_52, tmp875, atslab_2) ; tmp992 = ats_caselptrlab_mac(anairiats_sum_52, tmp875, atslab_3) ; /* ats_int_type tmp993 ; */ tmp994 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taload_tr (tmp860, tmp989, tmp990, tmp991, tmp992, (&tmp993)) ; do { /* branch: __ats_lab_187 */ __ats_lab_187_0: if (tmp989 != (ats_sum_ptr_type)0) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp996 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp994) ; /* tmp995 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__overload_tr_d2eclist (tmp996) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: // if (tmp989 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_188_1: break ; } while (0) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staload (tmp860, tmp989, tmp990, tmp991, tmp994, tmp993) ; break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: if (((ats_sum_ptr_type)tmp875)->tag != 32) { goto __ats_lab_190_0 ; } __ats_lab_189_1: /* tmp997 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__s1taloadnm_tr (arg0) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (tmp860) ; break ; /* branch: __ats_lab_190 */ __ats_lab_190_0: if (((ats_sum_ptr_type)tmp875)->tag != 33) { goto __ats_lab_191_0 ; } __ats_lab_190_1: tmp998 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_0) ; tmp999 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_1) ; tmp1000 = ats_caselptrlab_mac(anairiats_sum_24, tmp875, atslab_2) ; /* tmp1001 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_save () ; /* tmp1002 = ats_selsin_mac(tmp1001, atslab_1) */ ; tmp1003 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () ; tmp1004 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp1000) ; /* tmp1005 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (tmp1003) ; tmp1006 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_restore () ; tmp1007 = ats_select_mac(tmp1006, atslab_0) ; tmp1008 = ats_select_mac(tmp1006, atslab_1) ; tmp1009 = ats_select_mac(tmp1006, atslab_2) ; tmp1010 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_make (tmp998, tmp1007, tmp1008, tmp1009, tmp1004) ; tmp1012 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1012)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp1012, atslab_0, tmp1010) ; /* tmp1011 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add (tmp999, tmp1012) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staloadloc (tmp860, tmp998, tmp999, tmp1010) ; break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: if (((ats_sum_ptr_type)tmp875)->tag != 34) { goto __ats_lab_192_0 ; } __ats_lab_191_1: tmp1013 = ats_caselptrlab_mac(anairiats_sum_9, tmp875, atslab_0) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dynload (tmp860, tmp1013) ; break ; /* branch: __ats_lab_192 */ __ats_lab_192_0: // if (((ats_sum_ptr_type)tmp875)->tag != 35) { ats_deadcode_failure_handle () ; } __ats_lab_192_1: tmp1014 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_0) ; tmp1015 = ats_caselptrlab_mac(anairiats_sum_5, tmp875, atslab_1) ; /* tmp1016 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp1017 = ats_selsin_mac(tmp1016, atslab_1) */ ; tmp1018 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp1014) ; /* tmp1019 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp1020 = ats_selsin_mac(tmp1019, atslab_1) */ ; tmp1021 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp1015) ; /* tmp1022 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_localjoin () ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_local (tmp860, tmp1018, tmp1021) ; break ; } while (0) ; return (tmp859) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 56196(line=2607, offs=13) -- 56281(line=2609, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1023) ; ATSlocal (ats_ptr_type, tmp1024) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr: tmp1024 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1ecl_tr) ; tmp1023 = ats_castfn_mac(ats_ptr_type, tmp1024) ; return (tmp1023) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_decl.dats: 56358(line=2615, offs=3) -- 56453(line=2619, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1025) ; ATSlocal (ats_ptr_type, tmp1026) ; // ATSlocal_void (tmp1027) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck: tmp1026 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (arg0) ; /* tmp1027 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_finalize () ; tmp1025 = tmp1026 ; return (tmp1025) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_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 () ; #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_trans2_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dyncst2_sats.c0000664000175000017500000000442512655455557020213 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dyncst2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_p2at_dats.c0000664000175000017500000062545312655455557020760 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_vbox_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_vbox_ref_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_lst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_guard_trdn_81) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_neq_bool_bool) (ats_bool_type, ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ; ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_some) (ats_ptr_type) ; 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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind) (ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_size) (ats_size_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label) (ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char) (ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec) (ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_index_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vbox_view_prop) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_vbox_view_prop) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_p2at_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_float) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_refas) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_vbox) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_p3at_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_p3at_set_type_left) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trup_arg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_add_eff) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_any) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_p2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_int) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_bool) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_char) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_rec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_lst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_refas) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_exist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_vbox) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_ann) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__labp2atlst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_foreach_funenv_01378_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_foreach_fun_01379_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_13 (ats_ptr_type arg0) ; static ats_void_type p2at_proofize_9 (ats_ptr_type arg0) ; static ats_void_type loop_15 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type p2at_trdn_arg_refarg_var_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_ptr_type p2at_trdn_arg_refarg_err_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_21 (ats_ptr_type env0, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxcheck_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_bool_type aux_38 (ats_ptr_type arg0) ; static ats_void_type auxrest_39 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type auxrest_39_closure_make (ats_ptr_type env0) ; static ats_void_type auxrest_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type auxfind_40 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxfind_40_closure_make () ; static ats_ptr_type auxfind_40_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxcheck_41 (ats_ptr_type env0, ats_bool_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type auxcheck_41_closure_make (ats_ptr_type env0, ats_bool_type env1) ; static ats_ptr_type auxcheck_41_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type auxerr_lin_43 (ats_ptr_type arg0) ; static ats_void_type auxerr_nonlin_44 (ats_ptr_type arg0) ; static ats_int_type loop_47 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxerr1_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr2_50 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxbind_51 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 1670(line=52, offs=28) -- 1699(line=52, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_p2at")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 2697(line=117, offs=10) -- 4141(line=181, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_p2at (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_p2at: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 17) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_1) ; tmp1 = tmp3 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp2)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp4, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp2)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp5, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp2)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype () ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp2)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type (tmp7, tmp6) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp2)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype () ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp2)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype () ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp2)->tag != 8) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp2)->tag != 7) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp2)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type (tmp8) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp2)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type (tmp9) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp2)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp2)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp10, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp2)->tag != 12) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp2)->tag != 13) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_1) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_2) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst (tmp13) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (tmp11, tmp12, tmp14) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp2)->tag != 14) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type (tmp15) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp2)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp17, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_vbox_view_prop (tmp16) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp2)->tag != 15) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp2)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)tmp2)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 4193(line=185, offs=3) -- 4651(line=203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_20_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp19)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_2, tmp19, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_2, tmp19, atslab_1) ; tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp21), atslab_l0ab_lab) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type (tmp22) ; tmp26 = (ats_sum_ptr_type)0 ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp25, atslab_0, tmp23) ; ats_selptrset_mac(anairiats_sum_8, tmp25, atslab_1, tmp26) ; ats_selptrset_mac(anairiats_sum_8, tmp25, atslab_2, tmp24) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst (tmp20) ; tmp18 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp18, atslab_0, tmp25) ; ats_selptrset_mac(anairiats_sum_6, tmp18, atslab_1, tmp27) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (((ats_sum_ptr_type)tmp19)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp18 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp18 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_labp2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 4727(line=209, offs=3) -- 4824(line=212, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__aux_p2at (arg0) ; tmp31 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp31, atslab_0, tmp29) ; /* tmp30 = */ patsopt_p2at_set_type (arg0, tmp31) ; tmp28 = tmp29 ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_loop_7: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp39 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp37, arg3) ; tmp40 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp40, atslab_0, tmp39) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp40 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp41 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp38 ; arg1 = arg1 ; arg2 = tmp41 ; arg3 = arg3 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp42 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp42 ; break ; } while (0) ; return /* (tmp36) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp43 ; */ /* tmp44 = */ loop_7 (arg0, arg1, (&tmp43), arg2) ; tmp35 = tmp43 ; return (tmp35) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp34 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp34) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 4923(line=219, offs=18) -- 4973(line=220, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type: tmp33 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type) ; tmp32 = ats_castfn_mac(ats_ptr_type, tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5050(line=226, offs=15) -- 5378(line=245, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trup_arg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trup_arg: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp46)->tag != 17) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_2, tmp46, atslab_0) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_2, tmp46, atslab_1) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg (tmp47, tmp48) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_type) ; if (tmp49 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5293(line=240, offs=9) -- 5320(line=240, offs=36)") ; } tmp50 = ats_caselptrlab_mac(anairiats_sum_9, tmp49, atslab_0) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (arg0, tmp50) ; break ; } while (0) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trup_arg] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 38130(line=1351, offs=7) -- 38345(line=1358, offs=19) */ ATSstaticdec() ats_void_type loop_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; __ats_lab_loop_12: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* tmp59 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp57, arg2) ; arg0 = tmp58 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: break ; } while (0) ; return /* (tmp56) */ ; } /* end of [loop_12] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 38100(line=1350, offs=20) -- 38396(line=1362, offs=4) */ ATSstaticdec() ats_void_type list_foreach_funenv_01378_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab_list_foreach_funenv_01378_ats_ptr_type: /* tmp55 = */ loop_12 (arg0, arg1, arg2) ; return /* (tmp55) */ ; } /* end of [list_foreach_funenv_01378_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 38461(line=1365, offs=26) -- 38734(line=1374, offs=4) */ ATSstaticdec() ats_void_type list_foreach_fun_01379_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp54) ; __ats_lab_list_foreach_fun_01379_ats_ptr_type: /* tmp54 = */ list_foreach_funenv_01378_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp54) */ ; } /* end of [list_foreach_fun_01379_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5569(line=257, offs=11) -- 5609(line=257, offs=51) */ ATSstaticdec() ats_void_type __ats_fun_13 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp60) ; __ats_lab___ats_fun_13: /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf (arg0, ats_true_bool) ; return /* (tmp60) */ ; } /* end of [__ats_fun_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5437(line=251, offs=4) -- 5614(line=258, offs=4) */ ATSstaticdec() ats_void_type p2at_proofize_9 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_p2at_proofize_9: tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_dvs) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp52) ; /* tmp51 = */ list_foreach_fun_01379_ats_ptr_type (tmp53, &__ats_fun_13) ; return /* (tmp51) */ ; } /* end of [p2at_proofize_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5729(line=268, offs=1) -- 6241(line=299, offs=2) */ ATSstaticdec() ats_void_type loop_15 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; __ats_lab_loop_15: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp63 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp63 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp67 = atspre_gt_int_int (arg0, 0) ; if (tmp67) { /* tmp66 = */ p2at_proofize_9 (tmp64) ; } else { /* empty */ } /* end of [if] */ tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trup_arg (tmp64) ; tmp69 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp69, atslab_0, tmp68) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp69 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp70 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; tmp71 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp71 ; arg1 = tmp65 ; arg2 = tmp70 ; goto __ats_lab_loop_15 ; // tail call break ; } while (0) ; return /* (tmp62) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 5696(line=264, offs=3) -- 6339(line=304, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trup_arg (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trup_arg: /* ats_ptr_type tmp72 ; */ /* tmp73 = */ loop_15 (arg0, arg1, (&tmp72)) ; tmp61 = tmp72 ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trup_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 6405(line=311, offs=1) -- 8068(line=359, offs=4) */ ATSstaticdec() ats_ptr_type p2at_trdn_arg_refarg_var_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_p2at_trdn_arg_refarg_var_16: tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp76)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 6502(line=315, offs=5) -- 6545(line=316, offs=34)") ; } tmp77 = ats_caselptrlab_mac(anairiats_sum_4, tmp76, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_4, tmp76, atslab_1) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp78) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp79) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp81)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 6602(line=319, offs=5) -- 6631(line=319, offs=34)") ; } tmp82 = ats_caselptrlab_mac(anairiats_sum_3, tmp81, atslab_0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp83 = atspre_eq_int_int (tmp77, 0) ; if (!tmp83) { goto __ats_lab_33_1 ; } tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var (arg0, tmp79) ; /* tmp85 = */ patsopt_p3at_set_type (tmp84, arg1) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp82) ; if (tmp86 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 6785(line=327, offs=9) -- 6818(line=327, offs=42)") ; } tmp87 = ats_caselptrlab_mac(anairiats_sum_9, tmp86, atslab_0) ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp89)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp89, atslab_0, tmp87) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp82, tmp89) ; tmp74 = tmp84 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var (tmp90, arg1, tmp82) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp90, tmp79) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (tmp82) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp93, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar (tmp94) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp94) ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp98, atslab_0, tmp96) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr (tmp82, tmp98) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type (tmp96) ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp101, atslab_0, tmp99) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp82, tmp101) ; tmp103 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp103, atslab_0, tmp99) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp82, tmp103) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make_none (tmp82) ; tmp106 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp106, atslab_0, tmp104) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view (tmp82, tmp106) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp80, tmp96) ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp109, atslab_0, tmp107) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp104, tmp109) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp92, tmp96) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp112, atslab_0, tmp110) ; /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp104, tmp112) ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp114)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp114, atslab_0, tmp110) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp104, tmp114) ; tmp74 = tmp91 ; break ; } while (0) ; return (tmp74) ; } /* end of [p2at_trdn_arg_refarg_var_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; __ats_lab_prerr_error3_loc_02084_: /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp118 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp118) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 8114(line=362, offs=1) -- 8429(line=373, offs=4) */ ATSstaticdec() ats_ptr_type p2at_trdn_arg_refarg_err_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_p2at_trdn_arg_refarg_err_17: tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; /* tmp117 = */ prerr_error3_loc_02084_ (tmp116) ; /* tmp120 = */ atspre_prerr_string (ATSstrcst(": the pattern is expected to be a variable.")) ; /* tmp121 = */ atspre_prerr_newline () ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp123)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp123, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp123, atslab_1, arg1) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp123) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp116, arg1) ; return (tmp115) ; } /* end of [p2at_trdn_arg_refarg_err_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 8516(line=379, offs=3) -- 8921(line=402, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp125) ; tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp126), atslab_s2exp_node) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp127)->tag != 29) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp128)->tag != 1) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp124 = p2at_trdn_arg_refarg_var_16 (arg0, tmp126) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp124 = p2at_trdn_arg_refarg_err_17 (arg0, tmp126) ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (arg0, tmp126) ; break ; } while (0) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 9067(line=414, offs=5) -- 9973(line=446, offs=6) */ ATSstaticdec() ats_ptr_type aux_21 (ats_ptr_type env0, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; __ats_lab_aux_21: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_38_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp134 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp136 = atspre_gt_int_int (arg0, 0) ; if (tmp136) { /* tmp135 = */ p2at_proofize_9 (tmp131) ; } else { /* empty */ } /* end of [if] */ tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_arg (tmp131, tmp133) ; tmp139 = atspre_sub_int_int (arg0, 1) ; tmp138 = aux_21 (env0, tmp139, tmp132, tmp134, arg3) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_0, tmp137) ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_1, tmp138) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp140 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp140 ; tmp130 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp143 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp143 ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (env0, tmp141) ; tmp146 = atspre_sub_int_int (arg0, 1) ; tmp145 = aux_21 (env0, tmp146, arg1, tmp142, arg3) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_0, tmp144) ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_1, tmp145) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp130 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp130) ; } /* end of [aux_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_21_closure_type ; ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { return aux_21 (((aux_21_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type aux_21_closure_init (aux_21_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_21_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0) { aux_21_closure_type *p_clo = ATS_MALLOC(sizeof(aux_21_closure_type)) ; aux_21_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 9020(line=410, offs=1) -- 10049(line=450, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn_arg (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn_arg: tmp129 = aux_21 (arg0, arg1, arg2, arg3, arg4) ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 10244(line=463, offs=3) -- 10439(line=469, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp148, arg1) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt (tmp149, arg1) ; tmp147 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp147, atslab_0, tmp150) ; ats_selptrset_mac(anairiats_sum_6, tmp147, atslab_1, tmp151) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp147 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp147) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 11411(line=509, offs=3) -- 12946(line=574, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_bool_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn: tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp155 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp155)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_any (arg0, tmp154) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp155)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var (arg0, tmp154) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp155)->tag != 2) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_con (arg0, tmp154) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp155)->tag != 3) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_int (arg0, tmp154) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp155)->tag != 4) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_intrep (arg0, tmp154) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp155)->tag != 5) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_bool (arg0, tmp154) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp155)->tag != 6) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_char (arg0, tmp154) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp155)->tag != 7) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_float (arg0, tmp154) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp155)->tag != 8) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_string (arg0, tmp154) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp155)->tag != 9) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_i0nt (arg0, tmp154) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp155)->tag != 10) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_f0loat (arg0, tmp154) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp155)->tag != 11) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_empty (arg0, tmp154) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp155)->tag != 13) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_rec (arg0, tmp154) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp155)->tag != 12) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_lst (arg0, tmp154) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp155)->tag != 14) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_refas (arg0, tmp154) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp155)->tag != 15) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_exist (arg0, tmp154) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp155)->tag != 16) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (tmp153) ; tmp158 = atspre_gt_int_int (tmp156, 0) ; if (tmp158) { tmp159 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp159)->tag = 12 ; ats_selptrset_mac(anairiats_sum_3, tmp159, atslab_0, arg0) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp159) ; } else { /* empty */ } /* end of [if] */ /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_add_eff (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_vbox (arg0, tmp154) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp155)->tag != 17) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_ann (arg0, tmp154) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp155)->tag != 19) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp154) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp153, tmp161) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: /* tmp162 = */ atspre_print_string (ATSstrcst("p2at_trdn: p2t0 = ")) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at (arg0) ; /* tmp164 = */ atspre_print_newline () ; tmp165 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 12911(line=572, offs=5) -- 12921(line=572, offs=15)", ATSstrcst("\n")) ; /* tmp152 = */ ats_exit_errmsg (1, tmp165) ; break ; } while (0) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 13016(line=580, offs=3) -- 13834(line=614, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_int_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn: do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_66_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp167, tmp169) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (arg0, tmp168, tmp170, arg3) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp166, atslab_0, tmp171) ; ats_selptrset_mac(anairiats_sum_6, tmp166, atslab_1, tmp172) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp173 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp173 ; tmp166 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp176 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp176 ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (arg0, tmp174) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (arg0, arg1, tmp175, arg3) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp166, atslab_0, tmp177) ; ats_selptrset_mac(anairiats_sum_6, tmp166, atslab_1, tmp178) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp166 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp166) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 13908(line=620, offs=3) -- 14303(line=632, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_any (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_any: tmp180 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (tmp180) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp184, atslab_0, tmp181) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp182, tmp184) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp180, arg1) ; tmp187 = (ats_sum_ptr_type)0 ; /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp182, tmp187) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp181) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any (tmp180, tmp185, tmp182) ; if (tmp188) { tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, tmp181) ; /* tmp190 = */ patsopt_p3at_set_type_left (tmp189, tmp191) ; } else { /* empty */ } /* end of [if] */ tmp179 = tmp189 ; return (tmp179) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 14378(line=638, offs=3) -- 15198(line=669, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_bool_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; // ATSlocal_void (tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var: tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp194)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 14430(line=640, offs=7) -- 14459(line=640, offs=36)") ; } tmp195 = ats_caselptrlab_mac(anairiats_sum_3, tmp194, atslab_0) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp196), atslab_s2exp_srt) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp197) ; tmp200 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp200, atslab_0, tmp196) ; /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp195, tmp200) ; if (tmp198) { /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp195, 0) ; tmp203 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp195, tmp203) ; } else { /* empty */ } /* end of [if] */ tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp193, arg1) ; tmp206 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp206, atslab_0, tmp204) ; /* tmp205 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp195, tmp206) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var (tmp193, tmp204, tmp195) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 15273(line=675, offs=3) -- 16495(line=718, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_int (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; // ATSlocal_void (tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_bool_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; // ATSlocal_void (tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_bool_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_int: tmp208 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp209)->tag != 3) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 15324(line=678, offs=5) -- 15351(line=678, offs=32)") ; } tmp210 = ats_caselptrlab_mac(anairiats_sum_11, tmp209, atslab_0) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_kind) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp211) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp210) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp213) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_g1int_kind_index_t0ype (tmp212, tmp213) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp208, arg1) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_int (tmp208, tmp216, tmp210) ; /* ats_int_type tmp218 ; */ tmp218 = 0 ; tmp220 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp216), atslab_s2exp_node) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp220)->tag != 17) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_2, tmp220, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_2, tmp220, atslab_1) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_g1int_int_t0ype, tmp221) ; if (!tmp223) { goto __ats_lab_73_1 ; } if (tmp222 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 15813(line=697, offs=9) -- 15854(line=697, offs=50)") ; } tmp224 = ats_caselptrlab_mac(anairiats_sum_6, tmp222, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_6, tmp222, atslab_1) ; if (tmp225 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 15863(line=698, offs=9) -- 15904(line=698, offs=50)") ; } tmp226 = ats_caselptrlab_mac(anairiats_sum_6, tmp225, atslab_0) ; /* tmp227 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (tmp208, tmp212, tmp224, (&tmp218)) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp226) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp208, tmp214, tmp228) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (tmp208, tmp215, tmp216, (&tmp218)) ; break ; } while (0) ; tmp230 = atspre_gt_int_int (tmp218, 0) ; if (tmp230) { /* tmp231 = */ prerr_error3_loc_02084_ (tmp208) ; /* tmp232 = */ atspre_prerr_string (ATSstrcst(": the integer pattern is ill-typed.")) ; /* tmp233 = */ atspre_prerr_newline () ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp236 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp236)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp236, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp236, atslab_1, tmp235) ; /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp236) ; } else { /* empty */ } /* end of [if] */ tmp207 = tmp217 ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 16571(line=724, offs=3) -- 17599(line=761, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_bool (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_bool_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_int_type, tmp253) ; // ATSlocal_void (tmp254) ; ATSlocal (ats_bool_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_bool: tmp238 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp239)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 16622(line=727, offs=5) -- 16650(line=727, offs=33)") ; } tmp240 = ats_caselptrlab_mac(anairiats_sum_12, tmp239, atslab_0) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (tmp240) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp241) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype (tmp241) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp238, arg1) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_bool (tmp238, tmp244, tmp240) ; tmp246 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp244), atslab_s2exp_node) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp246)->tag != 17) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_2, tmp246, atslab_0) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_2, tmp246, atslab_1) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype, tmp247) ; if (!tmp249) { goto __ats_lab_75_1 ; } if (tmp248 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 16988(line=741, offs=9) -- 17021(line=741, offs=42)") ; } tmp250 = ats_caselptrlab_mac(anairiats_sum_6, tmp248, atslab_0) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp250) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp238, tmp242, tmp251) ; tmp237 = tmp245 ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp238, tmp243, tmp244) ; tmp255 = atspre_gt_int_int (tmp253, 0) ; if (tmp255) { /* tmp256 = */ prerr_error3_loc_02084_ (tmp238) ; /* tmp257 = */ atspre_prerr_string (ATSstrcst(": the boolean pattern is ill-typed.")) ; /* tmp258 = */ atspre_prerr_newline () ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp261)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp261, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp261, atslab_1, tmp260) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp261) ; } else { /* empty */ } /* end of [if] */ tmp237 = tmp245 ; break ; } while (0) ; return (tmp237) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 17676(line=767, offs=3) -- 18795(line=813, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_char (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_char_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_bool_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; ATSlocal (ats_int_type, tmp278) ; // ATSlocal_void (tmp279) ; ATSlocal (ats_bool_type, tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_char: tmp263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp264 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp264)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 17727(line=770, offs=5) -- 17755(line=770, offs=33)") ; } tmp265 = ats_caselptrlab_mac(anairiats_sum_13, tmp264, atslab_0) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char (tmp265) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp266) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_index_t0ype (tmp266) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp263, arg1) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_char (tmp263, tmp269, tmp265) ; tmp271 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_s2exp_node) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp271)->tag != 17) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_1) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_char_int_t0ype, tmp272) ; if (!tmp274) { goto __ats_lab_77_1 ; } if (tmp273 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 18116(line=789, offs=5) -- 18155(line=790, offs=30)") ; } tmp275 = ats_caselptrlab_mac(anairiats_sum_6, tmp273, atslab_0) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp275) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp263, tmp267, tmp276) ; tmp262 = tmp270 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp263, tmp268, tmp269) ; tmp280 = atspre_gt_int_int (tmp278, 0) ; if (tmp280) { /* tmp281 = */ prerr_error3_loc_02084_ (tmp263) ; /* tmp282 = */ atspre_prerr_string (ATSstrcst(": the char pattern is ill-typed.")) ; /* tmp283 = */ atspre_prerr_newline () ; /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp286 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp286)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp286, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp286, atslab_1, tmp285) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp286) ; } else { /* empty */ } /* end of [if] */ tmp262 = tmp270 ; break ; } while (0) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 18873(line=819, offs=3) -- 19555(line=847, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_int_type, tmp294) ; // ATSlocal_void (tmp295) ; ATSlocal (ats_bool_type, tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_float: tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp289)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 18924(line=822, offs=5) -- 18954(line=822, offs=35)") ; } tmp290 = ats_caselptrlab_mac(anairiats_sum_3, tmp289, atslab_0) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_float (tmp288, tmp292, tmp290) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp288, tmp291, tmp292) ; tmp296 = atspre_gt_int_int (tmp294, 0) ; if (tmp296) { /* tmp297 = */ prerr_error3_loc_02084_ (tmp288) ; /* tmp298 = */ atspre_prerr_string (ATSstrcst(": the floating-point pattern is ill-typed.")) ; /* tmp299 = */ atspre_prerr_newline () ; /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp301 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp301)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp301, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp301, atslab_1, tmp292) ; /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp301) ; } else { /* empty */ } /* end of [if] */ tmp287 = tmp293 ; break ; } while (0) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 19635(line=853, offs=3) -- 20893(line=912, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_size_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_bool_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_int_type, tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_bool_type, tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; // ATSlocal_void (tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_string: tmp303 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp304)->tag != 8) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 19686(line=856, offs=5) -- 19717(line=856, offs=36)") ; } tmp305 = ats_caselptrlab_mac(anairiats_sum_3, tmp304, atslab_0) ; tmp306 = atspre_string_length (tmp305) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_size (tmp306) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (tmp307) ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp308) ; tmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_index_type (tmp308) ; tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp303, arg1) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_string (tmp303, tmp311, tmp305) ; tmp313 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp311), atslab_s2exp_node) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp313)->tag != 17) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp314 = ats_caselptrlab_mac(anairiats_sum_2, tmp313, atslab_0) ; tmp315 = ats_caselptrlab_mac(anairiats_sum_2, tmp313, atslab_1) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_string_int_type, tmp314) ; if (!tmp316) { goto __ats_lab_80_1 ; } if (tmp315 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 20160(line=884, offs=5) -- 20199(line=885, offs=30)") ; } tmp317 = ats_caselptrlab_mac(anairiats_sum_6, tmp315, atslab_0) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp317) ; /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp303, tmp309, tmp318) ; tmp302 = tmp312 ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: __ats_lab_80_1: tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp303, tmp310, tmp311) ; tmp322 = atspre_gt_int_int (tmp320, 0) ; if (tmp322) { /* tmp323 = */ prerr_error3_loc_02084_ (tmp303) ; /* tmp324 = */ atspre_prerr_string (ATSstrcst(": the string pattern is ill-typed.")) ; /* tmp325 = */ atspre_prerr_newline () ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp328 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp328)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp328, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp328, atslab_1, tmp327) ; /* tmp321 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp328) ; } else { /* empty */ } /* end of [if] */ tmp302 = tmp312 ; break ; } while (0) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 20956(line=918, offs=5) -- 22097(line=957, offs=4) */ ATSstaticdec() ats_void_type auxcheck_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; __ats_lab_auxcheck_32: tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg2), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp330)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 21043(line=923, offs=5) -- 21100(line=924, offs=51)") ; } tmp331 = ats_caselptrlab_mac(anairiats_sum_2, tmp330, atslab_0) ; tmp332 = ats_caselptrlab_mac(anairiats_sum_2, tmp330, atslab_1) ; if (tmp332 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 21105(line=925, offs=5) -- 21157(line=925, offs=57)") ; } tmp333 = ats_caselptrlab_mac(anairiats_sum_6, tmp332, atslab_0) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_6, tmp332, atslab_1) ; if (tmp334 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 21162(line=926, offs=5) -- 21214(line=926, offs=57)") ; } tmp335 = ats_caselptrlab_mac(anairiats_sum_6, tmp334, atslab_0) ; tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp336)->tag != 17) { goto __ats_lab_86_0 ; } __ats_lab_81_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_2, tmp336, atslab_0) ; tmp338 = ats_caselptrlab_mac(anairiats_sum_2, tmp336, atslab_1) ; /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp331, tmp337, arg3) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (tmp338 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_82_1: tmp340 = ats_caselptrlab_mac(anairiats_sum_6, tmp338, atslab_0) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_6, tmp338, atslab_1) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp333, tmp340, arg3) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (tmp341 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_0) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp335) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp343) ; /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (arg0, tmp344, tmp345) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (tmp341 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: break ; } while (0) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (tmp338 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp346 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp346 ; break ; } while (0) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, arg2, arg1, arg3) ; break ; } while (0) ; return /* (tmp329) */ ; } /* end of [auxcheck_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 22171(line=963, offs=3) -- 22761(line=984, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; ATSlocal (ats_bool_type, tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_intrep: tmp348 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp349)->tag != 4) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 22222(line=966, offs=5) -- 22254(line=966, offs=37)") ; } tmp350 = ats_caselptrlab_mac(anairiats_sum_3, tmp349, atslab_0) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind (tmp348, tmp350) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp348, arg1) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_intrep (tmp348, tmp352, tmp350) ; /* ats_int_type tmp354 ; */ tmp354 = 0 ; /* tmp355 = */ auxcheck_32 (tmp348, tmp352, tmp351, (&tmp354)) ; tmp357 = atspre_gt_int_int (tmp354, 0) ; if (tmp357) { /* tmp358 = */ prerr_error3_loc_02084_ (tmp348) ; /* tmp359 = */ atspre_prerr_string (ATSstrcst(": the integer pattern is ill-typed.")) ; /* tmp360 = */ atspre_prerr_newline () ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp363 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp363)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp363, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp363, atslab_1, tmp362) ; /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp363) ; } else { /* empty */ } /* end of [if] */ tmp347 = tmp353 ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 22819(line=988, offs=3) -- 23394(line=1010, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; ATSlocal (ats_bool_type, tmp374) ; // ATSlocal_void (tmp375) ; // ATSlocal_void (tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_i0nt: tmp365 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp366)->tag != 9) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 22870(line=991, offs=5) -- 22898(line=991, offs=33)") ; } tmp367 = ats_caselptrlab_mac(anairiats_sum_3, tmp366, atslab_0) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind (tmp367) ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp365, arg1) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_i0nt (tmp365, tmp369, tmp367) ; /* ats_int_type tmp371 ; */ tmp371 = 0 ; /* tmp372 = */ auxcheck_32 (tmp365, tmp369, tmp368, (&tmp371)) ; tmp374 = atspre_gt_int_int (tmp371, 0) ; if (tmp374) { /* tmp375 = */ prerr_error3_loc_02084_ (tmp365) ; /* tmp376 = */ atspre_prerr_string (ATSstrcst(": the integer pattern is ill-typed.")) ; /* tmp377 = */ atspre_prerr_newline () ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp380 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp380)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp380, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp380, atslab_1, tmp379) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp380) ; } else { /* empty */ } /* end of [if] */ tmp364 = tmp370 ; return (tmp364) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 23496(line=1018, offs=3) -- 24077(line=1034, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_int_type, tmp387) ; // ATSlocal_void (tmp388) ; ATSlocal (ats_bool_type, tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_f0loat: tmp382 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp383 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp383)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 23548(line=1020, offs=7) -- 23578(line=1020, offs=37)") ; } tmp384 = ats_caselptrlab_mac(anairiats_sum_3, tmp383, atslab_0) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type (tmp384) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp382, arg1) ; tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp382, tmp385, tmp386) ; tmp389 = atspre_gt_int_int (tmp387, 0) ; if (tmp389) { /* tmp390 = */ prerr_error3_loc_02084_ (tmp382) ; /* tmp391 = */ atspre_prerr_string (ATSstrcst(": the pattern of floating point number is ill-typed.")) ; /* tmp392 = */ atspre_prerr_newline () ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp395 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp395)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp395, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp395, atslab_1, tmp394) ; /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp395) ; } else { /* empty */ } /* end of [if] */ tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_f0loat (tmp382, tmp386, tmp384) ; return (tmp381) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 24157(line=1040, offs=3) -- 24710(line=1056, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_int_type, tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_bool_type, tmp403) ; // ATSlocal_void (tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; // ATSlocal_void (tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_empty: tmp397 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp398 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp398)->tag != 11) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 24209(line=1042, offs=7) -- 24237(line=1042, offs=35)") ; } tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp397, arg1) ; tmp400 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp401 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp397, tmp400, tmp399) ; tmp403 = atspre_gt_int_int (tmp401, 0) ; if (tmp403) { /* tmp404 = */ prerr_error3_loc_02084_ (tmp397) ; /* tmp405 = */ atspre_prerr_string (ATSstrcst(": the void pattern is ill-typed.")) ; /* tmp406 = */ atspre_prerr_newline () ; /* tmp407 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp409 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp409)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp409, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp409, atslab_1, tmp408) ; /* tmp402 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp409) ; } else { /* empty */ } /* end of [if] */ tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_empty (tmp397, tmp399) ; return (tmp396) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 25017(line=1074, offs=7) -- 25215(line=1079, offs=27) */ ATSstaticdec() ats_bool_type aux_38 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; __ats_lab_aux_38: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_90_0 ; } __ats_lab_87_1: tmp412 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp413 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp412)->tag != 0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: arg0 = tmp413 ; goto __ats_lab_aux_38 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (((ats_sum_ptr_type)tmp412)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: tmp411 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_90_1: tmp411 = ats_false_bool ; break ; } while (0) ; return (tmp411) ; } /* end of [aux_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 25259(line=1083, offs=5) -- 25947(line=1103, offs=2) */ ATSstaticdec() ats_void_type auxrest_39 (ats_ptr_type env0, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; ATSlocal (ats_int_type, tmp426) ; __ats_lab_auxrest_39: do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_91_1: tmp416 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp416)->tag != 0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp418 = ats_caselptrlab_mac(anairiats_sum_2, tmp416, atslab_0) ; /* tmp419 = */ prerr_error3_loc_02084_ (env0) ; /* tmp420 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats"), ATSstrcst("labp2atlst_trdn")) ; /* tmp421 = */ atspre_prerr_string (ATSstrcst(": there is no component of the label [")) ; tmp423 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp418), atslab_l0ab_lab) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (tmp423) ; /* tmp424 = */ atspre_prerr_string (ATSstrcst("] in the type assigned to the tuple/record pattern.")) ; /* tmp425 = */ atspre_prerr_newline () ; tmp426 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp426 ; arg0 = tmp417 ; arg1 = arg1 ; goto __ats_lab_auxrest_39 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)tmp416)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: arg0 = tmp417 ; arg1 = arg1 ; goto __ats_lab_auxrest_39 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: break ; } while (0) ; return /* (tmp415) */ ; } /* end of [auxrest_39] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxrest_39_closure_type ; ats_void_type auxrest_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { auxrest_39 (((auxrest_39_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxrest_39_closure_init (auxrest_39_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxrest_39_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxrest_39_closure_make (ats_ptr_type env0) { auxrest_39_closure_type *p_clo = ATS_MALLOC(sizeof(auxrest_39_closure_type)) ; auxrest_39_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 25978(line=1105, offs=5) -- 26713(line=1128, offs=30) */ ATSstaticdec() ats_ptr_type auxfind_40 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_bool_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_bool_type, tmp436) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; __ats_lab_auxfind_40: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_95_1: tmp428 = ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp429 = ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp428)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_2, tmp428, atslab_0) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_2, tmp428, atslab_1) ; tmp433 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp430), atslab_l0ab_lab) ; tmp432 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (arg1, tmp433) ; if (tmp432) { ats_ptrget_mac(ats_ptr_type, arg0) = tmp429 ; tmp427 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp427, atslab_0, tmp431) ; } else { /* ats_ptr_type tmp434 ; */ tmp434 = tmp429 ; tmp435 = auxfind_40 ((&tmp434), arg1) ; tmp436 = ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_some (tmp435) ; if (tmp436) { tmp438 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp438, atslab_0, tmp428) ; ats_selptrset_mac(anairiats_sum_6, tmp438, atslab_1, tmp434) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp438 ; } else { /* empty */ } /* end of [if] */ tmp427 = tmp435 ; } /* end of [if] */ break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (((ats_sum_ptr_type)tmp428)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: tmp440 = (ats_sum_ptr_type)0 ; tmp439 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp439, atslab_0, tmp428) ; ats_selptrset_mac(anairiats_sum_6, tmp439, atslab_1, tmp440) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp439 ; tmp427 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp427 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp427) ; } /* end of [auxfind_40] */ typedef struct { ats_fun_ptr_type closure_fun ; } auxfind_40_closure_type ; ats_ptr_type auxfind_40_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return auxfind_40 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type auxfind_40_closure_init (auxfind_40_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&auxfind_40_clofun ; return ; } /* end of function */ ats_clo_ptr_type auxfind_40_closure_make () { auxfind_40_closure_type *p_clo = ATS_MALLOC(sizeof(auxfind_40_closure_type)) ; auxfind_40_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 26741(line=1131, offs=5) -- 28021(line=1171, offs=4) */ ATSstaticdec() ats_ptr_type auxcheck_41 (ats_ptr_type env0, ats_bool_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp459) ; // ATSlocal_void (tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; __ats_lab_auxcheck_41: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_99_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_8, tmp442, atslab_0) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_8, tmp442, atslab_2) ; tmp446 = auxfind_40 (arg0, tmp444) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (tmp446 == (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp447 = ats_caselptrlab_mac(anairiats_sum_9, tmp446, atslab_0) ; ATS_FREE(tmp446) ; tmp448 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp447, tmp445) ; tmp449 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp449, atslab_0, tmp444) ; ats_selptrset_mac(anairiats_sum_6, tmp449, atslab_1, tmp448) ; tmp450 = auxcheck_41 (env0, env1, arg0, tmp443, arg2) ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp441, atslab_0, tmp449) ; ats_selptrset_mac(anairiats_sum_6, tmp441, atslab_1, tmp450) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (tmp446 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: /* ats_ptr_type tmp451 ; */ if (env1) { tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (env0) ; tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any (env0, tmp445, tmp453) ; tmp451 = tmp454 ; } else { /* tmp455 = */ prerr_error3_loc_02084_ (env0) ; /* tmp456 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats"), ATSstrcst("labp2atlst_trdn")) ; /* tmp457 = */ atspre_prerr_string (ATSstrcst(": there is no component of the label [")) ; /* tmp458 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (tmp444) ; /* tmp459 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp460 = */ atspre_prerr_newline () ; tmp461 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp461 ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (env0, tmp445) ; tmp451 = tmp462 ; } /* end of [if] */ tmp463 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp463, atslab_0, tmp444) ; ats_selptrset_mac(anairiats_sum_6, tmp463, atslab_1, tmp451) ; tmp464 = auxcheck_41 (env0, env1, arg0, tmp443, arg2) ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp441, atslab_0, tmp463) ; ats_selptrset_mac(anairiats_sum_6, tmp441, atslab_1, tmp464) ; break ; } while (0) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp441 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp441) ; } /* end of [auxcheck_41] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_bool_type closure_env_1 ; } auxcheck_41_closure_type ; ats_ptr_type auxcheck_41_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { return auxcheck_41 (((auxcheck_41_closure_type*)cloptr)->closure_env_0, ((auxcheck_41_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type auxcheck_41_closure_init (auxcheck_41_closure_type *p_clo, ats_ptr_type env0, ats_bool_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcheck_41_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxcheck_41_closure_make (ats_ptr_type env0, ats_bool_type env1) { auxcheck_41_closure_type *p_clo = ATS_MALLOC(sizeof(auxcheck_41_closure_type)) ; auxcheck_41_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 24940(line=1070, offs=3) -- 28154(line=1179, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__labp2atlst_trdn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_bool_type, tmp414) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; // ATSlocal_void (tmp467) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__labp2atlst_trdn: tmp414 = aux_38 (arg1) ; /* ats_ptr_type tmp465 ; */ tmp465 = arg1 ; tmp466 = auxcheck_41 (arg0, tmp414, (&tmp465), arg2, arg3) ; /* tmp467 = */ auxrest_39 (arg0, tmp465, arg3) ; tmp410 = tmp466 ; return (tmp410) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__labp2atlst_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 28231(line=1185, offs=3) -- 29809(line=1233, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_rec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_int_type, tmp471) ; ATSlocal (ats_int_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_int_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_bool_type, tmp479) ; ATSlocal (ats_bool_type, tmp480) ; // ATSlocal_void (tmp481) ; ATSlocal (ats_bool_type, tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_bool_type, tmp487) ; // ATSlocal_void (tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_int_type, tmp491) ; // ATSlocal_void (tmp492) ; ATSlocal (ats_bool_type, tmp493) ; // ATSlocal_void (tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_int_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; // ATSlocal_void (tmp499) ; ATSlocal (ats_bool_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_rec: tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp470 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp470)->tag != 13) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 28282(line=1188, offs=5) -- 28323(line=1188, offs=46)") ; } tmp471 = ats_caselptrlab_mac(anairiats_sum_5, tmp470, atslab_0) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_5, tmp470, atslab_1) ; tmp473 = ats_caselptrlab_mac(anairiats_sum_5, tmp470, atslab_2) ; tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp469, arg1) ; tmp475 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp474), atslab_s2exp_node) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp475)->tag != 25) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_14, tmp475, atslab_0) ; tmp477 = ats_caselptrlab_mac(anairiats_sum_14, tmp475, atslab_1) ; tmp478 = ats_caselptrlab_mac(anairiats_sum_14, tmp475, atslab_2) ; tmp479 = atspre_gt_int_int (tmp471, 0) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (tmp476) ; tmp482 = atspre_neq_bool_bool (tmp479, tmp480) ; if (tmp482) { /* tmp483 = */ prerr_error3_loc_02084_ (tmp469) ; /* tmp484 = */ atspre_prerr_string (ATSstrcst(": the tuple/record pattern is ")) ; if (tmp479) { /* tmp485 = */ atspre_prerr_string (ATSstrcst("boxed but it is assigned a flat/unboxed type.")) ; } else { /* empty */ } /* end of [if] */ tmp487 = atspre_neg_bool (tmp479) ; if (tmp487) { /* tmp486 = */ atspre_prerr_string (ATSstrcst("flat/unboxed but it is assigned a boxed type.")) ; } else { /* empty */ } /* end of [if] */ /* tmp488 = */ atspre_prerr_newline () ; tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp490 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp490)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp490, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp490, atslab_1, tmp489) ; /* tmp481 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp490) ; } else { /* empty */ } /* end of [if] */ tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (tmp469, tmp472, tmp477) ; tmp493 = atspre_gt_int_int (tmp491, 0) ; if (tmp493) { /* tmp494 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp496 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp496)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp496, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp496, atslab_1, tmp495) ; /* tmp492 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp496) ; } else { /* empty */ } /* end of [if] */ /* ats_int_type tmp497 ; */ tmp497 = 0 ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__labp2atlst_trdn (tmp469, tmp473, tmp478, (&tmp497)) ; tmp500 = atspre_gt_int_int (tmp497, 0) ; if (tmp500) { tmp501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp502 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp502)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp502, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp502, atslab_1, tmp501) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp502) ; } else { /* empty */ } /* end of [if] */ tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_rec (tmp469, tmp474, tmp471, tmp472, tmp498) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: /* tmp503 = */ prerr_error3_loc_02084_ (tmp469) ; /* tmp504 = */ atspre_prerr_string (ATSstrcst(": the tuple/record pattern is ill-typed.")) ; /* tmp505 = */ atspre_prerr_newline () ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp508 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp508)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp508, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp508, atslab_1, tmp506) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp508) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp469, tmp474) ; break ; } while (0) ; return (tmp468) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 29871(line=1240, offs=1) -- 30077(line=1246, offs=4) */ ATSstaticdec() ats_void_type auxerr_lin_43 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; // ATSlocal_void (tmp512) ; // ATSlocal_void (tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; __ats_lab_auxerr_lin_43: tmp511 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; /* tmp510 = */ prerr_error3_loc_02084_ (tmp511) ; /* tmp512 = */ atspre_prerr_string (ATSstrcst(": the list-pattern should be non-linear.")) ; /* tmp513 = */ atspre_prerr_newline () ; tmp514 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp514)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp514, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_4, tmp514, atslab_1, arg0) ; /* tmp509 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp514) ; return /* (tmp509) */ ; } /* end of [auxerr_lin_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 30108(line=1249, offs=1) -- 30327(line=1255, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonlin_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp515) ; // ATSlocal_void (tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; // ATSlocal_void (tmp518) ; // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; __ats_lab_auxerr_nonlin_44: tmp517 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; /* tmp516 = */ prerr_error3_loc_02084_ (tmp517) ; /* tmp518 = */ atspre_prerr_string (ATSstrcst(": the list-pattern should be linear but it is not.")) ; /* tmp519 = */ atspre_prerr_newline () ; tmp520 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp520)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp520, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_4, tmp520, atslab_1, arg0) ; /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp520) ; return /* (tmp515) */ ; } /* end of [auxerr_nonlin_44] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_47 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_int_type, tmp541) ; __ats_lab_loop_47: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp541 = atspre_isucc (arg1) ; arg0 = tmp540 ; arg1 = tmp541 ; goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp539 = arg1 ; break ; } while (0) ; return (tmp539) ; } /* end of [loop_47] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp538) ; __ats_lab_list_length_01410_ats_ptr_type: tmp538 = loop_47 (arg0, 0) ; return (tmp538) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 30405(line=1261, offs=3) -- 32259(line=1339, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_lst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_int_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_bool_type, tmp527) ; ATSlocal (ats_bool_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_bool_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_int_type, tmp537) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_bool_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_int_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; // ATSlocal_void (tmp558) ; // ATSlocal_void (tmp559) ; ATSlocal (ats_bool_type, tmp560) ; // ATSlocal_void (tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; // ATSlocal_void (tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_lst: tmp522 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp523)->tag != 12) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 30456(line=1264, offs=5) -- 30491(line=1264, offs=40)") ; } tmp524 = ats_caselptrlab_mac(anairiats_sum_4, tmp523, atslab_0) ; tmp525 = ats_caselptrlab_mac(anairiats_sum_4, tmp523, atslab_1) ; tmp526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp522, arg1) ; tmp528 = atspre_gte_int_int (tmp524, 0) ; if (tmp528) { tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (tmp524) ; } else { tmp527 = ats_false_bool ; } /* end of [if] */ tmp529 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp526), atslab_s2exp_node) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp529)->tag != 17) { goto __ats_lab_108_0 ; } __ats_lab_105_1: tmp530 = ats_caselptrlab_mac(anairiats_sum_2, tmp529, atslab_0) ; tmp531 = ats_caselptrlab_mac(anairiats_sum_2, tmp529, atslab_1) ; tmp532 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type, tmp530) ; if (!tmp532) { goto __ats_lab_108_1 ; } if (tmp531 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 30785(line=1284, offs=9) -- 30832(line=1285, offs=38)") ; } tmp533 = ats_caselptrlab_mac(anairiats_sum_6, tmp531, atslab_0) ; tmp534 = ats_caselptrlab_mac(anairiats_sum_6, tmp531, atslab_1) ; if (tmp534 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 30841(line=1286, offs=9) -- 30888(line=1287, offs=38)") ; } tmp535 = ats_caselptrlab_mac(anairiats_sum_6, tmp534, atslab_0) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt (tmp525, tmp533) ; tmp537 = list_length_01410_ats_ptr_type (tmp536) ; tmp542 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp537) ; tmp543 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp542) ; tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp535) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp522, tmp543, tmp544) ; if (tmp527) { /* tmp546 = */ auxerr_lin_43 (arg0) ; } else { /* empty */ } /* end of [if] */ tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst (tmp522, tmp526, 0, tmp533, tmp536) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp529)->tag != 17) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp547 = ats_caselptrlab_mac(anairiats_sum_2, tmp529, atslab_0) ; tmp548 = ats_caselptrlab_mac(anairiats_sum_2, tmp529, atslab_1) ; tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype, tmp547) ; if (!tmp549) { goto __ats_lab_109_1 ; } if (tmp548 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 31436(line=1310, offs=9) -- 31483(line=1311, offs=38)") ; } tmp550 = ats_caselptrlab_mac(anairiats_sum_6, tmp548, atslab_0) ; tmp551 = ats_caselptrlab_mac(anairiats_sum_6, tmp548, atslab_1) ; if (tmp551 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 31492(line=1312, offs=9) -- 31539(line=1313, offs=38)") ; } tmp552 = ats_caselptrlab_mac(anairiats_sum_6, tmp551, atslab_0) ; tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2atlst_trdn_elt (tmp525, tmp550) ; tmp554 = list_length_01410_ats_ptr_type (tmp553) ; tmp555 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp554) ; tmp556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp555) ; tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp552) ; /* tmp558 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (tmp522, tmp556, tmp557) ; tmp560 = atspre_neg_bool (tmp527) ; if (tmp560) { /* tmp559 = */ auxerr_nonlin_44 (arg0) ; } else { /* empty */ } /* end of [if] */ tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst (tmp522, tmp526, 1, tmp550, tmp553) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: /* tmp561 = */ prerr_error3_loc_02084_ (tmp522) ; /* tmp562 = */ atspre_prerr_string (ATSstrcst(": the list pattern is ill-typed.")) ; /* tmp563 = */ atspre_prerr_newline () ; tmp564 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp566 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp566)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp566, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp566, atslab_1, tmp564) ; /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp566) ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp522, tmp526) ; break ; } while (0) ; return (tmp521) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 32359(line=1347, offs=3) -- 33011(line=1377, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_refas (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; // ATSlocal_void (tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; // ATSlocal_void (tmp579) ; // ATSlocal_void (tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_refas: tmp568 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp569 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp569)->tag != 14) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 32410(line=1350, offs=5) -- 32446(line=1350, offs=41)") ; } tmp570 = ats_caselptrlab_mac(anairiats_sum_2, tmp569, atslab_0) ; tmp571 = ats_caselptrlab_mac(anairiats_sum_2, tmp569, atslab_1) ; tmp572 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp574 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp574, atslab_0, tmp572) ; /* tmp573 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp570, tmp574) ; tmp575 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp568, arg1) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp571, tmp575) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_refas (tmp568, tmp572, tmp570, tmp576) ; tmp578 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (tmp576) ; do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (tmp578 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp570, tmp578) ; /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp570, 0) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (tmp578 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp582 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1 (tmp575) ; tmp581 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp581, atslab_0, tmp582) ; /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp570, tmp581) ; break ; } while (0) ; tmp567 = tmp577 ; return (tmp567) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 33073(line=1383, offs=5) -- 33542(line=1401, offs=4) */ ATSstaticdec() ats_void_type auxerr1_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; // ATSlocal_void (tmp586) ; // ATSlocal_void (tmp587) ; // ATSlocal_void (tmp588) ; // ATSlocal_void (tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; // ATSlocal_void (tmp592) ; // ATSlocal_void (tmp593) ; __ats_lab_auxerr1_49: tmp584 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg1) ; tmp585 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg2) ; /* tmp586 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp587 = */ atspre_prerr_string (ATSstrcst(": the static variable [")) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var (arg1) ; /* tmp589 = */ atspre_prerr_string (ATSstrcst("] is of the sort [")) ; /* tmp590 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp584) ; /* tmp591 = */ atspre_prerr_string (ATSstrcst("] but it is bound to a term of the sort [")) ; /* tmp592 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (tmp585) ; /* tmp593 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp583 = */ atspre_prerr_newline () ; return /* (tmp583) */ ; } /* end of [auxerr1_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 33570(line=1403, offs=5) -- 33828(line=1414, offs=4) */ ATSstaticdec() ats_void_type auxerr2_50 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp594) ; // ATSlocal_void (tmp595) ; // ATSlocal_void (tmp596) ; // ATSlocal_void (tmp597) ; // ATSlocal_void (tmp598) ; __ats_lab_auxerr2_50: /* tmp595 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp596 = */ atspre_prerr_string (ATSstrcst(": there is no binding for the static variable [")) ; /* tmp597 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2var (arg1) ; /* tmp598 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp594 = */ atspre_prerr_newline () ; return /* (tmp594) */ ; } /* end of [auxerr2_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 33856(line=1416, offs=5) -- 34965(line=1458, offs=4) */ ATSstaticdec() ats_void_type auxbind_51 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_bool_type, tmp607) ; ATSlocal (ats_bool_type, tmp609) ; ATSlocal (ats_int_type, tmp610) ; // ATSlocal_void (tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; // ATSlocal_void (tmp613) ; ATSlocal (ats_int_type, tmp614) ; // ATSlocal_void (tmp615) ; __ats_lab_auxbind_51: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; } __ats_lab_112_1: tmp600 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp601 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp602 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp603 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp604 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp600) ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp602) ; /* ats_ptr_type tmp606 ; */ tmp606 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var_srt (tmp605, tmp600) ; tmp607 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp605, tmp604) ; tmp609 = atspre_neg_bool (tmp607) ; if (tmp609) { tmp610 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp610 ; /* tmp611 = */ auxerr1_49 (arg0, tmp600, tmp602) ; tmp612 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp605) ; tmp606 = tmp612 ; } else { /* empty */ } /* end of [if] */ /* tmp613 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg1, tmp602, tmp606) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp601 ; arg3 = tmp603 ; arg4 = arg4 ; goto __ats_lab_auxbind_51 ; // tail call break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp614 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp614 ; /* tmp615 = */ auxerr2_50 (arg0, tmp600) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp601 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxbind_51 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxbind_51 ; // tail call break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp599) */ ; } /* end of [auxbind_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 35037(line=1464, offs=3) -- 36139(line=1500, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_exist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_int_type, tmp627) ; // ATSlocal_void (tmp628) ; // ATSlocal_void (tmp629) ; ATSlocal (ats_bool_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; // ATSlocal_void (tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; // ATSlocal_void (tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; // ATSlocal_void (tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; // ATSlocal_void (tmp638) ; // ATSlocal_void (tmp639) ; // ATSlocal_void (tmp640) ; // ATSlocal_void (tmp641) ; // ATSlocal_void (tmp642) ; // ATSlocal_void (tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_exist: tmp617 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp618 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp618)->tag != 15) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 35088(line=1467, offs=5) -- 35125(line=1467, offs=42)") ; } tmp619 = ats_caselptrlab_mac(anairiats_sum_2, tmp618, atslab_0) ; tmp620 = ats_caselptrlab_mac(anairiats_sum_2, tmp618, atslab_1) ; tmp621 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp622 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp621), atslab_s2exp_node) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp622)->tag != 27) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp623 = ats_caselptrlab_mac(anairiats_sum_15, tmp622, atslab_0) ; tmp624 = ats_caselptrlab_mac(anairiats_sum_15, tmp622, atslab_1) ; tmp625 = ats_caselptrlab_mac(anairiats_sum_15, tmp622, atslab_2) ; /* ats_ptr_type tmp626 ; */ tmp626 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* ats_int_type tmp627 ; */ tmp627 = 0 ; /* tmp628 = */ auxbind_51 (tmp617, (&tmp626), tmp619, tmp623, (&tmp627)) ; tmp630 = atspre_gt_int_int (tmp627, 0) ; if (tmp630) { tmp631 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp631)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp631, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp631, atslab_1, tmp621) ; /* tmp629 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp631) ; } else { /* empty */ } /* end of [if] */ /* tmp632 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp619) ; tmp633 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp626, tmp624) ; /* tmp634 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst_vt (tmp617, tmp633) ; tmp635 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp626, tmp625) ; /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp626) ; tmp637 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp620, tmp635) ; tmp616 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_exist (tmp617, tmp621, tmp619, tmp637) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: __ats_lab_119_1: /* tmp638 = */ prerr_error3_loc_02084_ (tmp617) ; /* tmp639 = */ atspre_prerr_string (ATSstrcst(": the pattern is given the type [")) ; /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp621) ; /* tmp641 = */ atspre_prerr_string (ATSstrcst("] but an existentially quantified type is expected.")) ; /* tmp642 = */ atspre_prerr_newline () ; tmp644 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp644)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp644, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp644, atslab_1, tmp621) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp644) ; tmp616 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp617, tmp621) ; break ; } while (0) ; return (tmp616) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 36240(line=1508, offs=3) -- 37260(line=1544, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_vbox (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_bool_type, tmp654) ; // ATSlocal_void (tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; // ATSlocal_void (tmp657) ; // ATSlocal_void (tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; // ATSlocal_void (tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; // ATSlocal_void (tmp665) ; // ATSlocal_void (tmp666) ; // ATSlocal_void (tmp667) ; // ATSlocal_void (tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_vbox: tmp646 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp647 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp647)->tag != 16) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 36291(line=1511, offs=5) -- 36321(line=1511, offs=35)") ; } tmp648 = ats_caselptrlab_mac(anairiats_sum_3, tmp647, atslab_0) ; tmp649 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp650 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_vbox_view_prop (arg1) ; do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (tmp650 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp651 = ats_caselptrlab_mac(anairiats_sum_9, tmp650, atslab_0) ; ATS_FREE(tmp650) ; tmp652 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp651) ; tmp653 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp652) ; tmp654 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp653) ; tmp656 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp656, atslab_0, tmp653) ; /* tmp655 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp648, tmp656) ; if (tmp654) { /* tmp658 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp648, 0) ; tmp659 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp659)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp659, atslab_0, tmp653) ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp648, tmp659) ; } else { /* empty */ } /* end of [if] */ tmp660 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp646, tmp652) ; tmp662 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp662, atslab_0, tmp660) ; /* tmp661 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp648, tmp662) ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_vbox (tmp646, tmp649, tmp648) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (tmp650 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: /* tmp663 = */ prerr_error3_loc_02084_ (tmp646) ; /* tmp664 = */ atspre_prerr_string (ATSstrcst(": the pattern is given the type [")) ; /* tmp665 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp649) ; /* tmp666 = */ atspre_prerr_string (ATSstrcst("] but a vbox type is expected instead.")) ; /* tmp667 = */ atspre_prerr_newline () ; tmp669 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp669)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp669, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp669, atslab_1, tmp649) ; /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp669) ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp646, tmp649) ; break ; } while (0) ; return (tmp645) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_vbox] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 37336(line=1550, offs=3) -- 37961(line=1572, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_ann (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_ptr_type, tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_int_type, tmp676) ; // ATSlocal_void (tmp677) ; ATSlocal (ats_bool_type, tmp678) ; // ATSlocal_void (tmp679) ; // ATSlocal_void (tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp682) ; // ATSlocal_void (tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_ann: tmp671 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp672 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp672)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 37387(line=1553, offs=5) -- 37425(line=1553, offs=43)") ; } tmp673 = ats_caselptrlab_mac(anairiats_sum_2, tmp672, atslab_0) ; tmp674 = ats_caselptrlab_mac(anairiats_sum_2, tmp672, atslab_1) ; tmp675 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp671, arg1) ; tmp676 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (tmp671, tmp675, tmp674) ; tmp678 = atspre_gt_int_int (tmp676, 0) ; if (tmp678) { /* tmp679 = */ prerr_error3_loc_02084_ (tmp671) ; /* tmp680 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats"), ATSstrcst("p2at_trdn_ann")) ; /* tmp681 = */ atspre_prerr_string (ATSstrcst(": the pattern cannot be given the ascribed type.")) ; /* tmp682 = */ atspre_prerr_newline () ; /* tmp683 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp684 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp684)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp684, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp684, atslab_1, tmp675) ; /* tmp677 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp684) ; } else { /* empty */ } /* end of [if] */ tmp685 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp673, tmp675) ; tmp670 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_ann (tmp671, tmp675, tmp685, tmp674) ; return (tmp670) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__p2at_trdn_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 38033(line=1578, offs=3) -- 39069(line=1622, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__guard_trdn (ats_ptr_type arg0, ats_bool_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp686) ; ATSlocal (ats_ptr_type, tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_bool_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_int_type, tmp698) ; ATSlocal (ats_bool_type, tmp699) ; // ATSlocal_void (tmp700) ; // ATSlocal_void (tmp701) ; // ATSlocal_void (tmp702) ; // ATSlocal_void (tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__guard_trdn: tmp687 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; tmp688 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (arg1) ; tmp689 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp688) ; tmp690 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_index_t0ype (tmp688) ; tmp691 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, tmp687) ; tmp692 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp691), atslab_s2exp_node) ; do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp692)->tag != 17) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp693 = ats_caselptrlab_mac(anairiats_sum_2, tmp692, atslab_0) ; tmp694 = ats_caselptrlab_mac(anairiats_sum_2, tmp692, atslab_1) ; tmp695 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_bool_bool_t0ype, tmp693) ; if (!tmp695) { goto __ats_lab_123_1 ; } if (tmp694 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_p2at.dats: 38406(line=1598, offs=9) -- 38445(line=1599, offs=30)") ; } tmp696 = ats_caselptrlab_mac(anairiats_sum_6, tmp694, atslab_0) ; tmp697 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp696) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (arg0, tmp689, tmp697) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: __ats_lab_123_1: tmp698 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, tmp690, tmp691) ; tmp699 = atspre_gt_int_int (tmp698, 0) ; if (tmp699) { /* tmp700 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp701 = */ atspre_prerr_string (ATSstrcst(": the guard is ill-typed.")) ; /* tmp702 = */ atspre_prerr_newline () ; /* tmp703 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp704 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp687) ; tmp705 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp705)->tag = 81 ; ats_selptrset_mac(anairiats_sum_16, tmp705, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_16, tmp705, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp705, atslab_2, tmp704) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp705) ; } else { /* empty */ } /* end of [if] */ break ; } while (0) ; return /* (tmp686) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__guard_trdn] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_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 () ; #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_trans3_p2at_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_decl_dats.c0000664000175000017500000040526012655455557020700 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_hivaldec_loc ; ats_ptr_type atslab_hivaldec_pat ; ats_ptr_type atslab_hivaldec_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_hivardec_loc ; ats_int_type atslab_hivardec_knd ; ats_ptr_type atslab_hivardec_dvar_ptr ; ats_ptr_type atslab_hivardec_dvar_view ; ats_ptr_type atslab_hivardec_type ; ats_ptr_type atslab_hivardec_init ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_17 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextvar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaloadloc_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlocal_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool1) (ats_bool_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_funclo) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_tmpcst_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_funent_set_fnxlablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_datdecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_impdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staloadloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_d2vfunlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_dcstdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_set_funlabopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_funlabopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_instrlstopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv_fnx) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidecl_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hisaspdec_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextvar_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextype_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextcode_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hidatdecs_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiexndecs_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp_rec) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivardeclst_ccomp) (ats_ptr_type, ats_int_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__ccomp_instrlst_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_ptr_type auxinit_10 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; static ats_void_type auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; static ats_void_type loop_15 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type aux_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxlst_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxinit_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type auxmain_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type aux_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type auxlst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxlam_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type auxlam2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type auxfix_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type auxmain_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 3410(line=159, offs=3) -- 7087(line=302, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidecl_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidecl_ccomp: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (tmp1) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp2)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp3) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_list (tmp1, tmp4) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp2)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hisaspdec_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp2)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextype_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp2)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextvar_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp2)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextcode_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp2)->tag != 7) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hidatdecs_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp2)->tag != 6) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiexndecs_ccomp (arg0, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp2)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (tmp1) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp2)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_1) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp5), atslab_hiimpdec_cst) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp (arg0, tmp7, tmp5, 0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_impdec (tmp1, tmp5) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp2)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_1) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_2) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp (arg0, tmp12, tmp9, tmp10, tmp11) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_fundecs (tmp1, tmp9, tmp10, tmp11) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp2)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_0) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_1) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp (arg0, tmp16, tmp14, tmp15) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs (tmp1, tmp14, tmp15, tmp17) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp2)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_1) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp_rec (arg0, tmp20, tmp18, tmp19) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_valdecs_rec (tmp1, tmp18, tmp19, tmp21) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp2)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivardeclst_ccomp (arg0, tmp23, tmp22) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_vardecs (tmp1, tmp22, tmp24) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp2)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_5, tmp2, atslab_1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp26) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_include (tmp1, tmp25, tmp27) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp2)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_8, tmp2, atslab_3) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_add (arg1) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload (arg0, tmp28) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staload (tmp1, arg1) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp2)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_1) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_7, tmp2, atslab_2) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp35 = ats_selsin_mac(tmp34, atslab_1) */ ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp33) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_staloadloc (tmp1, tmp31, tmp32, tmp36) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp2)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_add (arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_dynload (tmp1, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (((ats_sum_ptr_type)tmp2)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_4, tmp2, atslab_1) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp42 = ats_selsin_mac(tmp41, atslab_1) */ ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp39) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp45 = ats_selsin_mac(tmp44, atslab_1) */ ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (arg0, tmp40) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_local (tmp1, tmp43, tmp46) ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidecl_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 7188(line=310, offs=5) -- 7701(line=334, offs=4) */ ATSstaticdec() ats_void_type loop_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab_loop_2: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidecl_ccomp (arg0, tmp50) ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp53, atslab_0, tmp52) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp53 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 7446(line=324, offs=9) -- 7479(line=324, offs=42)") ; } tmp54 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = arg0 ; arg1 = tmp51 ; arg2 = tmp54 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp55 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp55 ; break ; } while (0) ; return /* (tmp49) */ ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 7163(line=308, offs=3) -- 7816(line=343, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp: /* ats_ptr_type tmp56 ; */ /* tmp57 = */ loop_2 (arg0, arg1, (&tmp56)) ; tmp48 = ats_castfn_mac(ats_ptr_type, tmp56) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 7896(line=349, offs=3) -- 8023(line=357, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp0: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_make () ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp (tmp59, arg0) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_free (tmp59) ; tmp58 = tmp60 ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hideclist_ccomp0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8103(line=363, offs=3) -- 8265(line=371, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hisaspdec_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hisaspdec_ccomp: tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp64 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp64)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8155(line=366, offs=5) -- 8190(line=366, offs=40)") ; } tmp65 = ats_caselptrlab_mac(anairiats_sum_3, tmp64, atslab_0) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_add (arg1) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_saspdec (tmp63, tmp65) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hisaspdec_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8343(line=377, offs=3) -- 8555(line=386, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextype_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextype_ccomp: tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp69)->tag != 3) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8395(line=380, offs=5) -- 8439(line=380, offs=49)") ; } tmp70 = ats_caselptrlab_mac(anairiats_sum_4, tmp69, atslab_1) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp70) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_add (arg1) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (tmp68) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextype_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8632(line=392, offs=3) -- 9076(line=412, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextvar_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextvar_ccomp: tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp75)->tag != 4) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 8684(line=395, offs=5) -- 8728(line=395, offs=49)") ; } tmp76 = ats_caselptrlab_mac(anairiats_sum_4, tmp75, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_4, tmp75, atslab_1) ; /* ats_ptr_type tmp78 ; */ tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp78, tmp77) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_extvar (tmp78, tmp74, tmp76, tmp79) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp78) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_extvar (tmp74, tmp76, tmp81) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextvar_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9154(line=418, offs=3) -- 9268(line=425, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextcode_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextcode_ccomp: tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_add (arg1) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (tmp83) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiextcode_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9347(line=431, offs=3) -- 9574(line=444, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hidatdecs_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hidatdecs_ccomp: tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp87)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9399(line=434, offs=5) -- 9440(line=434, offs=46)") ; } tmp88 = ats_caselptrlab_mac(anairiats_sum_5, tmp87, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_5, tmp87, atslab_1) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind (tmp88) ; if (tmp90) { tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_none (tmp86) ; } else { tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_datdecs (tmp86, tmp89) ; } /* end of [if] */ return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hidatdecs_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9653(line=450, offs=3) -- 9819(line=459, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiexndecs_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiexndecs_ccomp: tmp92 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_loc) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp93)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9705(line=453, offs=5) -- 9741(line=453, offs=41)") ; } tmp94 = ats_caselptrlab_mac(anairiats_sum_3, tmp93, atslab_0) ; /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_add (arg1) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdec_exndecs (tmp92, tmp94) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hiexndecs_ccomp] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp114) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp114 = ats_true_bool ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp114 = ats_false_bool ; break ; } while (0) ; return (tmp114) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 9881(line=466, offs=1) -- 11478(line=534, offs=4) */ ATSstaticdec() ats_ptr_type auxinit_10 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_bool_type, tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_auxinit_10: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp96 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp97), atslab_hifundec_loc) ; tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp97), atslab_hifundec_var) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp100, arg1) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp (tmp100) ; if (tmp102 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 10370(line=492, offs=9) -- 10405(line=492, offs=44)") ; } tmp103 = ats_caselptrlab_mac(anairiats_sum_11, tmp102, atslab_0) ; tmp104 = (ats_sum_ptr_type)0 ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type (tmp100, tmp103, tmp104) ; tmp107 = atspre_lte_int_int (arg4, 1) ; if (tmp107) { /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp105) ; } else { /* empty */ } /* end of [if] */ tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; tmp110 = atspre_eq_int_int (tmp108, 0) ; if (tmp110) { tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (tmp99, tmp105) ; } else { tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_d2vfunlab (tmp99, tmp100, tmp105) ; } /* end of [if] */ /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp100, tmp109) ; tmp113 = atspre_gt_int_int (tmp108, 0) ; if (tmp113) { tmp112 = ats_true_bool ; } else { tmp112 = list_is_cons_01295_ (arg2) ; } /* end of [if] */ if (tmp112) { /* tmp115 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (tmp105, 1) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec (arg0, tmp97) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: break ; } while (0) ; tmp118 = atspre_gte_int_int (arg4, 1) ; if (tmp118) { tmp117 = atspre_add_int_int (arg4, 1) ; } else { tmp117 = arg4 ; } /* end of [if] */ tmp119 = auxinit_10 (arg0, arg1, arg2, tmp98, tmp117) ; tmp96 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp96, atslab_0, tmp105) ; ats_selptrset_mac(anairiats_sum_9, tmp96, atslab_1, tmp119) ; break ; } while (0) ; return (tmp96) ; } /* end of [auxinit_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 11525(line=539, offs=1) -- 13128(line=607, offs=4) */ ATSstaticdec() ats_void_type auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_bool_type, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_bool_type, tmp143) ; // ATSlocal_void (tmp144) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; __ats_lab_auxmain_12: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp121), atslab_hifundec_loc) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp121), atslab_hifundec_var) ; tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp121), atslab_hifundec_imparg) ; tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp121), atslab_hifundec_def) ; tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp126), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp127)->tag != 45) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 11962(line=559, offs=9) -- 12015(line=559, offs=62)") ; } tmp128 = ats_caselptrlab_mac(anairiats_sum_13, tmp127, atslab_1) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_13, tmp127, atslab_2) ; // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp130 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp133 = atspre_eq_int_int (arg4, 0) ; if (tmp133) { /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (arg0, tmp130) ; } else { /* empty */ } /* end of [if] */ tmp134 = list_is_cons_01295_ (arg1) ; if (tmp134) { /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel (arg0) ; } else { /* empty */ } /* end of [if] */ tmp136 = (ats_sum_ptr_type)0 ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (tmp123, tmp130) ; tmp139 = (ats_sum_ptr_type)0 ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp137, atslab_0, tmp138) ; ats_selptrset_mac(anairiats_sum_9, tmp137, atslab_1, tmp139) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (arg0, tmp130, tmp125, tmp136, tmp137, tmp123, tmp128, tmp129) ; if (tmp134) { /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel (arg0) ; } else { /* empty */ } /* end of [if] */ tmp143 = atspre_eq_int_int (arg4, 0) ; if (tmp143) { /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; } else { /* empty */ } /* end of [if] */ tmp145 = atspre_gt_int_int (arg4, 0) ; if (tmp145) { tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (tmp140) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_inc_tailcal (tmp146) ; } else { /* empty */ } /* end of [if] */ tmp148 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp148, atslab_0, tmp130) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_set_funlabopt (tmp121, tmp148) ; tmp150 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp150, atslab_0, tmp140) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (tmp130, tmp150) ; tmp152 = atspre_gte_int_int (arg4, 1) ; if (tmp152) { tmp151 = atspre_add_int_int (arg4, 1) ; } else { tmp151 = arg4 ; } /* end of [if] */ arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp122 ; arg3 = tmp131 ; arg4 = tmp151 ; goto __ats_lab_auxmain_12 ; // tail call break ; } while (0) ; return /* (tmp120) */ ; } /* end of [auxmain_12] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_15 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab_loop_15: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp165 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp165, atslab_0, tmp163) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp165 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp166 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp164 ; arg1 = tmp166 ; goto __ats_lab_loop_15 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp167 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp167 ; break ; } while (0) ; return /* (tmp162) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp168) ; // ATSlocal_void (tmp169) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp168 ; */ /* tmp169 = */ loop_15 (arg0, (&tmp168)) ; tmp161 = tmp168 ; return (tmp161) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 13202(line=613, offs=1) -- 13921(line=651, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp153) ; ATSlocal (ats_int_type, tmp154) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp: tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get () ; tmp156 = atspre_gt_int_int (tmp154, 0) ; if (tmp156) { tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_mutailrec (arg2) ; } else { tmp155 = ats_false_bool ; } /* end of [if] */ if (tmp155) { tmp157 = 1 ; } else { tmp157 = 0 ; } /* end of [if] */ tmp158 = auxinit_10 (arg0, arg1, arg3, arg4, tmp157) ; if (tmp155) { tmp160 = list_copy_01322_ats_ptr_type (tmp158) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv_fnx (arg0, tmp160) ; } else { /* empty */ } /* end of [if] */ /* tmp170 = */ auxmain_12 (arg0, arg3, arg4, tmp158, tmp157) ; if (tmp155) { if (tmp158 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 13725(line=642, offs=7) -- 13751(line=642, offs=33)") ; } tmp171 = ats_caselptrlab_mac(anairiats_sum_9, tmp158, atslab_0) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp171) ; if (tmp172 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 13758(line=643, offs=7) -- 13795(line=643, offs=44)") ; } tmp173 = ats_caselptrlab_mac(anairiats_sum_11, tmp172, atslab_0) ; /* tmp174 = */ patsopt_funent_set_fnxlablst (tmp173, tmp158) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp153) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundeclst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 14008(line=659, offs=5) -- 14526(line=678, offs=4) */ ATSstaticdec() ats_void_type aux_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; __ats_lab_aux_16: tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg4), atslab_hivaldec_loc) ; tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg4), atslab_hivaldec_def) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv (arg0, arg1, tmp177) ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg4), atslab_hivaldec_pat) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg3)->tag != 1) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp180 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp180 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp180)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp180, atslab_0, tmp176) ; break ; } while (0) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (arg0, arg1, tmp180, tmp179, tmp178) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp (arg0, arg1, arg2, tmp179, tmp178) ; return /* (tmp175) */ ; } /* end of [aux_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 14548(line=680, offs=5) -- 14880(line=698, offs=4) */ ATSstaticdec() ats_void_type auxlst_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; __ats_lab_auxlst_17: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; /* tmp185 = */ aux_16 (arg0, arg1, arg2, arg3, tmp183) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp184 ; goto __ats_lab_auxlst_17 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; return /* (tmp182) */ ; } /* end of [auxlst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 14953(line=704, offs=1) -- 15111(line=714, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp: /* ats_ptr_type tmp187 ; */ tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp188 = */ auxlst_17 (arg0, tmp187, arg1, arg2, arg3) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp187) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 15198(line=723, offs=1) -- 15799(line=749, offs=4) */ ATSstaticdec() ats_ptr_type auxinit_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab_auxinit_19: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp190), atslab_hivaldec_pat) ; tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp192), atslab_hipat_loc) ; tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp192), atslab_hipat_type) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp193, tmp194) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec (arg1, tmp193, tmp195) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmp (tmp193, tmp194, tmp195) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch2_ccomp (arg0, arg1, arg2, tmp192, tmp197) ; tmp199 = auxinit_19 (arg0, arg1, arg2, tmp191) ; tmp189 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp189, atslab_0, tmp195) ; ats_selptrset_mac(anairiats_sum_9, tmp189, atslab_1, tmp199) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp189 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp189) ; } /* end of [auxinit_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 15825(line=751, offs=5) -- 16309(line=774, offs=4) */ ATSstaticdec() ats_void_type auxmain_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; // ATSlocal_void (tmp206) ; __ats_lab_auxmain_20: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp201), atslab_hivaldec_def) ; // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp204 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; ATS_FREE(arg3) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, arg1, tmp204, tmp203) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp202 ; arg3 = tmp205 ; goto __ats_lab_auxmain_20 ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } break ; } while (0) ; return /* (tmp200) */ ; } /* end of [auxmain_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 16389(line=780, offs=3) -- 16581(line=789, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp_rec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp_rec: /* ats_ptr_type tmp208 ; */ tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp209 = auxinit_19 (arg0, tmp208, arg1, arg3) ; /* tmp210 = */ auxmain_20 (arg0, tmp208, arg3, tmp209) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp208) ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivaldeclst_ccomp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 16672(line=797, offs=5) -- 17506(line=832, offs=4) */ ATSstaticdec() ats_void_type aux_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; __ats_lab_aux_22: tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg3), atslab_hivardec_loc) ; tmp213 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg3), atslab_hivardec_dvar_ptr) ; tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg3), atslab_hivardec_dvar_view) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (tmp213) ; /* tmp216 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp213, arg2) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (tmp214) ; if (tmp217 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 16947(line=811, offs=5) -- 16990(line=811, offs=48)") ; } tmp218 = ats_caselptrlab_mac(anairiats_sum_11, tmp217, atslab_0) ; tmp219 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp218), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp219)->tag != 12) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 16995(line=812, offs=5) -- 17031(line=812, offs=41)") ; } tmp220 = ats_caselptrlab_mac(anairiats_sum_4, tmp219, atslab_0) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp215, tmp220) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make_ref (tmp215, tmp221) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec (arg1, tmp215, tmp222) ; tmp225 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg3), atslab_hivardec_init) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (tmp225 != (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp225 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_11, tmp225, atslab_0) ; /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, arg1, tmp222, tmp226) ; break ; } while (0) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_tmpref (tmp212, tmp221, tmp222) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp212, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, tmp227) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp213, tmp228) ; return /* (tmp211) */ ; } /* end of [aux_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 17528(line=834, offs=5) -- 17824(line=851, offs=4) */ ATSstaticdec() ats_void_type auxlst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; // ATSlocal_void (tmp232) ; __ats_lab_auxlst_23: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_0) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_9, arg3, atslab_1) ; /* tmp232 = */ aux_22 (arg0, arg1, arg2, tmp230) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp231 ; goto __ats_lab_auxlst_23 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: break ; } while (0) ; return /* (tmp229) */ ; } /* end of [auxlst_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 17899(line=857, offs=3) -- 18044(line=865, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivardeclst_ccomp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivardeclst_ccomp: /* ats_ptr_type tmp234 ; */ tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp235 = */ auxlst_23 (arg0, tmp234, arg1, arg2) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp234) ; return (tmp233) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__hivardeclst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 18131(line=873, offs=5) -- 18490(line=890, offs=4) */ ATSstaticdec() ats_ptr_type auxlam_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; // ATSlocal_void (tmp240) ; __ats_lab_auxlam_25: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_type) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo (arg2) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type (arg2, tmp237, tmp238) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp239) ; tmp236 = auxlam2_26 (arg0, arg1, tmp239, arg3, arg4, arg5) ; return (tmp236) ; } /* end of [auxlam_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 18519(line=892, offs=5) -- 19425(line=936, offs=2) */ ATSstaticdec() ats_ptr_type auxlam2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_int_type, tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_bool_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; __ats_lab_auxlam2_26: /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (arg0, arg2) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (arg0) ; tmp245 = atspre_gt_int_int (tmp243, 0) ; if (tmp245) { /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (arg2, 1) ; } else { /* empty */ } /* end of [if] */ tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (arg1, arg2) ; tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_loc) ; tmp248 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp248)->tag != 45) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 18929(line=914, offs=5) -- 18982(line=914, offs=58)") ; } tmp249 = ats_caselptrlab_mac(anairiats_sum_13, tmp248, atslab_1) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_13, tmp248, atslab_2) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_funlab (arg1, arg2) ; tmp253 = (ats_sum_ptr_type)0 ; tmp252 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp252, atslab_0, tmp251) ; ats_selptrset_mac(anairiats_sum_9, tmp252, atslab_1, tmp253) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_funlab_arg_body (arg0, arg2, arg3, arg4, tmp252, tmp247, tmp249, tmp250) ; tmp256 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp256, atslab_0, tmp254) ; /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (arg2, tmp256) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (arg0) ; tmp241 = arg2 ; return (tmp241) ; } /* end of [auxlam2_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 19475(line=940, offs=5) -- 20073(line=968, offs=4) */ ATSstaticdec() ats_ptr_type auxfix_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; __ats_lab_auxfix_27: tmp259 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_node) ; if (((ats_sum_ptr_type)tmp259)->tag != 46) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 19614(line=950, offs=5) -- 19664(line=950, offs=55)") ; } tmp260 = ats_caselptrlab_mac(anairiats_sum_13, tmp259, atslab_1) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_13, tmp259, atslab_2) ; tmp262 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp261), atslab_hidexp_type) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo (arg2) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type (arg2, tmp262, tmp263) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (arg1, tmp264) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (tmp264) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp260, tmp265) ; tmp258 = auxlam2_26 (arg0, arg1, tmp264, arg3, arg4, tmp261) ; return (tmp258) ; } /* end of [auxfix_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 20119(line=972, offs=5) -- 21183(line=1027, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; // ATSlocal_void (tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; __ats_lab_auxmain_28: tmp269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_type) ; tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg5), atslab_hidexp_node) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp270)->tag != 0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp271 = ats_caselptrlab_mac(anairiats_sum_3, tmp270, atslab_0) ; /* tmp272 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add (tmp271) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo (tmp271) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type (tmp271, tmp269, tmp273) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp270)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_3, tmp270, atslab_0) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_funclo (tmp274) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type (tmp274, tmp269, tmp275) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp270)->tag != 19) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_4, tmp270, atslab_0) ; tmp277 = ats_caselptrlab_mac(anairiats_sum_4, tmp270, atslab_1) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo (tmp276) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_tmpcst_type (tmp276, tmp277, tmp269, tmp278) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp270)->tag != 45) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp268 = auxlam_25 (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp270)->tag != 46) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp268 = auxfix_27 (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: /* tmp279 = */ atspre_print_string (ATSstrcst("hiimpdec_ccomp: auxmain: hde_def = ")) ; /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp (arg5) ; /* tmp281 = */ atspre_print_newline () ; tmp282 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 21145(line=1024, offs=5) -- 21155(line=1024, offs=15)", ATSstrcst("\n")) ; /* tmp268 = */ ats_exit_errmsg (1, tmp282) ; break ; } while (0) ; return (tmp268) ; } /* end of [auxmain_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 21257(line=1033, offs=1) -- 22872(line=1110, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_bool_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; // ATSlocal_void (tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; ATSlocal (ats_bool_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; // ATSlocal_void (tmp298) ; ATSlocal (ats_bool_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp: tmp284 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_cst) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_kind (tmp284) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun (tmp285) ; if (!tmp286) { goto __ats_lab_50_1 ; } tmp287 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_loc) ; tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_imparg) ; tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_tmparg) ; tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_def) ; tmp291 = list_is_cons_01295_ (tmp289) ; if (tmp291) { /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel (arg0) ; } else { /* empty */ } /* end of [if] */ tmp293 = auxmain_28 (arg0, tmp287, tmp284, tmp288, tmp289, tmp290) ; if (tmp291) { /* tmp294 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel (arg0) ; } else { /* empty */ } /* end of [if] */ tmp296 = atspre_eq_int_int (arg3, 0) ; if (tmp296) { if (tmp291) { /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp297 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp297, atslab_0, tmp293) ; /* tmp298 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_funlabopt (arg2, tmp297) ; tmp299 = atspre_neg_bool1 (tmp291) ; if (tmp299) { /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_funlab (tmp284, ats_castfn_mac(ats_ptr_type, tmp297)) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: /* ats_ptr_type tmp300 ; */ tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_def) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp300, tmp302) ; tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_hiimpdec_loc) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_dcstdef (tmp300, tmp304, tmp284, tmp301) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp300) ; tmp306 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp306, atslab_0, tmp305) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_set_instrlstopt (arg2, tmp306) ; break ; } while (0) ; return /* (tmp283) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_decl.dats: 22975(line=1118, offs=3) -- 23147(line=1129, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp_if (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp_if: tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_funlabopt (arg2) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp308 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp308 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp (arg0, arg1, arg2, arg3) ; break ; } while (0) ; return /* (tmp307) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_ccomp_if] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_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 () ; #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_ccomp_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_fixity_sats.c0000664000175000017500000000672512655455557020146 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYnon_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYinf_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpre_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpos_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRinf_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpos_2) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYnon_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYinf_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpre_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXTYpos_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRinf_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpos_2.tag = 2 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_fixity_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_init_dats.c0000664000175000017500000017306212655455557022104 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int) (ats_ptr_type, ats_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_lte_cls_cls) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_add) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_bool_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_div_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndiv_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idiv_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_abs_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_absrel_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgn_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgnrel_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_max_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_min_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_maxrel_int_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_minrel_int_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idivrel_int_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifint_bool_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifintrel_bool_int_int_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_of_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_addr_of_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_addr_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lterel_cls_cls) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ineg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bvar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_badd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bmul) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp) (ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make) (ats_ref_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type f_identity_0 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_neg_bool_1 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_add_bool_bool_2 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_mul_bool_bool_3 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_eq_bool_bool_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_neq_bool_bool_5 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_neg_int_6 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_add_int_int_7 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_sub_int_int_8 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_mul_int_int_9 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_ndiv_int_int_10 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_idiv_int_int_11 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_lt_int_int_12 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_lte_int_int_13 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_gt_int_int_14 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_gte_int_int_15 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_eq_int_int_16 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_neq_int_int_17 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_abs_int_18 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_sgn_int_19 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_max_int_int_20 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_min_int_int_21 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_ifint_bool_int_int_22 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_lte_cls_cls_23 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type ins_25 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 1727(line=61, offs=1) -- 1857(line=67, offs=4) */ ATSstaticdec() ats_ptr_type f_identity_0 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_f_identity_0: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 1796(line=64, offs=7) -- 1825(line=64, offs=36)") ; } tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp1) ; return (tmp0) ; } /* end of [f_identity_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 1925(line=72, offs=1) -- 2084(line=79, offs=4) */ ATSstaticdec() ats_ptr_type f_neg_bool_1 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_f_neg_bool_1: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 1994(line=75, offs=7) -- 2022(line=75, offs=35)") ; } tmp3 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp3) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneg (tmp4) ; return (tmp2) ; } /* end of [f_neg_bool_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2115(line=82, offs=1) -- 2364(line=91, offs=4) */ ATSstaticdec() ats_ptr_type f_add_bool_bool_2 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_f_add_bool_bool_2: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2190(line=85, offs=7) -- 2219(line=85, offs=36)") ; } tmp6 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp7 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2226(line=86, offs=7) -- 2255(line=86, offs=36)") ; } tmp8 = ats_caselptrlab_mac(anairiats_sum_0, tmp7, atslab_0) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp6) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp8) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_badd (tmp9, tmp10) ; return (tmp5) ; } /* end of [f_add_bool_bool_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2400(line=94, offs=1) -- 2649(line=103, offs=4) */ ATSstaticdec() ats_ptr_type f_mul_bool_bool_3 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_f_mul_bool_bool_3: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2475(line=97, offs=7) -- 2504(line=97, offs=36)") ; } tmp12 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp13 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2511(line=98, offs=7) -- 2540(line=98, offs=36)") ; } tmp14 = ats_caselptrlab_mac(anairiats_sum_0, tmp13, atslab_0) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp12) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp14) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bmul (tmp15, tmp16) ; return (tmp11) ; } /* end of [f_mul_bool_bool_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2685(line=106, offs=1) -- 2932(line=115, offs=4) */ ATSstaticdec() ats_ptr_type f_eq_bool_bool_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab_f_eq_bool_bool_4: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2759(line=109, offs=7) -- 2788(line=109, offs=36)") ; } tmp18 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp19 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2795(line=110, offs=7) -- 2824(line=110, offs=36)") ; } tmp20 = ats_caselptrlab_mac(anairiats_sum_0, tmp19, atslab_0) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp18) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp20) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq (tmp21, tmp22) ; return (tmp17) ; } /* end of [f_eq_bool_bool_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 2967(line=118, offs=1) -- 3216(line=127, offs=4) */ ATSstaticdec() ats_ptr_type f_neq_bool_bool_5 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_f_neq_bool_bool_5: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3042(line=121, offs=7) -- 3071(line=121, offs=36)") ; } tmp24 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp25 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3078(line=122, offs=7) -- 3107(line=122, offs=36)") ; } tmp26 = ats_caselptrlab_mac(anairiats_sum_0, tmp25, atslab_0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp24) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp26) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bneq (tmp27, tmp28) ; return (tmp23) ; } /* end of [f_neq_bool_bool_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3291(line=132, offs=1) -- 3454(line=139, offs=4) */ ATSstaticdec() ats_ptr_type f_neg_int_6 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_f_neg_int_6: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3360(line=135, offs=7) -- 3389(line=135, offs=36)") ; } tmp30 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp30) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (tmp31) ; return (tmp29) ; } /* end of [f_neg_int_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3484(line=142, offs=1) -- 3731(line=151, offs=4) */ ATSstaticdec() ats_ptr_type f_add_int_int_7 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_f_add_int_int_7: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3557(line=145, offs=7) -- 3586(line=145, offs=36)") ; } tmp33 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp34 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp34 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3593(line=146, offs=7) -- 3622(line=146, offs=36)") ; } tmp35 = ats_caselptrlab_mac(anairiats_sum_0, tmp34, atslab_0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp33) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp35) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_iadd (tmp36, tmp37) ; return (tmp32) ; } /* end of [f_add_int_int_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3765(line=154, offs=1) -- 4012(line=163, offs=4) */ ATSstaticdec() ats_ptr_type f_sub_int_int_8 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_f_sub_int_int_8: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3838(line=157, offs=7) -- 3867(line=157, offs=36)") ; } tmp39 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp40 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 3874(line=158, offs=7) -- 3903(line=158, offs=36)") ; } tmp41 = ats_caselptrlab_mac(anairiats_sum_0, tmp40, atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp39) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp41) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_isub (tmp42, tmp43) ; return (tmp38) ; } /* end of [f_sub_int_int_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4046(line=166, offs=1) -- 4293(line=175, offs=4) */ ATSstaticdec() ats_ptr_type f_mul_int_int_9 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_f_mul_int_int_9: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4119(line=169, offs=7) -- 4148(line=169, offs=36)") ; } tmp45 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp46 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4155(line=170, offs=7) -- 4184(line=170, offs=36)") ; } tmp47 = ats_caselptrlab_mac(anairiats_sum_0, tmp46, atslab_0) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp45) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp47) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_imul (tmp48, tmp49) ; return (tmp44) ; } /* end of [f_mul_int_int_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4327(line=178, offs=1) -- 4537(line=186, offs=4) */ ATSstaticdec() ats_ptr_type f_ndiv_int_int_10 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_f_ndiv_int_int_10: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp51, arg1) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp52) ; return (tmp50) ; } /* end of [f_ndiv_int_int_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4569(line=188, offs=1) -- 5440(line=219, offs=4) */ ATSstaticdec() ats_ptr_type f_idiv_int_int_11 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_int_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; __ats_lab_f_idiv_int_int_11: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4661(line=193, offs=7) -- 4690(line=193, offs=36)") ; } tmp54 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp55 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 4697(line=194, offs=7) -- 4726(line=194, offs=36)") ; } tmp56 = ats_caselptrlab_mac(anairiats_sum_0, tmp55, atslab_0) ; tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp56), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp58)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_2, tmp58, atslab_0) ; tmp57 = atspre_compare_int_int (tmp59, 0) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp58)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_3, tmp58, atslab_0) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__compare_intinf_int (tmp60, 0) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp57 = 0 ; break ; } while (0) ; tmp62 = atspre_neq_int_int (tmp57, 0) ; if (tmp62) { tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndivrel_int_int_int) ; } else { tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idivrel_int_int_int) ; } /* end of [if] */ tmp64 = atspre_gte_int_int (tmp57, 0) ; if (tmp64) { tmp63 = arg1 ; } else { tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ineg (tmp56) ; tmp67 = (ats_sum_ptr_type)0 ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp65, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_0, tmp65, atslab_1, tmp67) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp63, atslab_0, tmp54) ; ats_selptrset_mac(anairiats_sum_0, tmp63, atslab_1, tmp65) ; } /* end of [if] */ tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp61, tmp63) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp68) ; tmp70 = atspre_gte_int_int (tmp57, 0) ; if (tmp70) { tmp53 = tmp69 ; } else { tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineg (tmp69) ; } /* end of [if] */ return (tmp53) ; } /* end of [f_idiv_int_int_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5475(line=222, offs=1) -- 5720(line=231, offs=4) */ ATSstaticdec() ats_ptr_type f_lt_int_int_12 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_f_lt_int_int_12: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5547(line=225, offs=7) -- 5576(line=225, offs=36)") ; } tmp72 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp73 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5583(line=226, offs=7) -- 5612(line=226, offs=36)") ; } tmp74 = ats_caselptrlab_mac(anairiats_sum_0, tmp73, atslab_0) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp72) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp74) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilt (tmp75, tmp76) ; return (tmp71) ; } /* end of [f_lt_int_int_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5753(line=234, offs=1) -- 6000(line=243, offs=4) */ ATSstaticdec() ats_ptr_type f_lte_int_int_13 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_f_lte_int_int_13: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5826(line=237, offs=7) -- 5855(line=237, offs=36)") ; } tmp78 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp79 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 5862(line=238, offs=7) -- 5891(line=238, offs=36)") ; } tmp80 = ats_caselptrlab_mac(anairiats_sum_0, tmp79, atslab_0) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp78) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp80) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ilte (tmp81, tmp82) ; return (tmp77) ; } /* end of [f_lte_int_int_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6034(line=246, offs=1) -- 6279(line=255, offs=4) */ ATSstaticdec() ats_ptr_type f_gt_int_int_14 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab_f_gt_int_int_14: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6106(line=249, offs=7) -- 6135(line=249, offs=36)") ; } tmp84 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp85 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6142(line=250, offs=7) -- 6171(line=250, offs=36)") ; } tmp86 = ats_caselptrlab_mac(anairiats_sum_0, tmp85, atslab_0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp84) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp86) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igt (tmp87, tmp88) ; return (tmp83) ; } /* end of [f_gt_int_int_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6312(line=258, offs=1) -- 6559(line=267, offs=4) */ ATSstaticdec() ats_ptr_type f_gte_int_int_15 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_f_gte_int_int_15: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6385(line=261, offs=7) -- 6414(line=261, offs=36)") ; } tmp90 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp91 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6421(line=262, offs=7) -- 6450(line=262, offs=36)") ; } tmp92 = ats_caselptrlab_mac(anairiats_sum_0, tmp91, atslab_0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp90) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp92) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_igte (tmp93, tmp94) ; return (tmp89) ; } /* end of [f_gte_int_int_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6593(line=270, offs=1) -- 6838(line=279, offs=4) */ ATSstaticdec() ats_ptr_type f_eq_int_int_16 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_f_eq_int_int_16: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6665(line=273, offs=7) -- 6694(line=273, offs=36)") ; } tmp96 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp97 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6701(line=274, offs=7) -- 6730(line=274, offs=36)") ; } tmp98 = ats_caselptrlab_mac(anairiats_sum_0, tmp97, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp96) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp98) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq (tmp99, tmp100) ; return (tmp95) ; } /* end of [f_eq_int_int_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6871(line=282, offs=1) -- 7118(line=291, offs=4) */ ATSstaticdec() ats_ptr_type f_neq_int_int_17 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab_f_neq_int_int_17: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6944(line=285, offs=7) -- 6973(line=285, offs=36)") ; } tmp102 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp103 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 6980(line=286, offs=7) -- 7009(line=286, offs=36)") ; } tmp104 = ats_caselptrlab_mac(anairiats_sum_0, tmp103, atslab_0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp102) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp104) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ineq (tmp105, tmp106) ; return (tmp101) ; } /* end of [f_neq_int_int_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 7152(line=293, offs=5) -- 7352(line=300, offs=4) */ ATSstaticdec() ats_ptr_type f_abs_int_18 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab_f_abs_int_18: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_absrel_int_int) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp108, arg1) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp109) ; return (tmp107) ; } /* end of [f_abs_int_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 7382(line=302, offs=5) -- 7582(line=309, offs=4) */ ATSstaticdec() ats_ptr_type f_sgn_int_19 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_f_sgn_int_19: tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgnrel_int_int) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp111, arg1) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp112) ; return (tmp110) ; } /* end of [f_sgn_int_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 7612(line=312, offs=1) -- 7820(line=319, offs=4) */ ATSstaticdec() ats_ptr_type f_max_int_int_20 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_f_max_int_int_20: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_maxrel_int_int_int) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp114, arg1) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp115) ; return (tmp113) ; } /* end of [f_max_int_int_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 7854(line=322, offs=1) -- 8062(line=329, offs=4) */ ATSstaticdec() ats_ptr_type f_min_int_int_21 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab_f_min_int_int_21: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_minrel_int_int_int) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp117, arg1) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp118) ; return (tmp116) ; } /* end of [f_min_int_int_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 8096(line=332, offs=1) -- 8318(line=340, offs=4) */ ATSstaticdec() ats_ptr_type f_ifint_bool_int_int_22 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_f_ifint_bool_int_int_22: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifintrel_bool_int_int_int) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, tmp120, arg1) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp121) ; return (tmp119) ; } /* end of [f_ifint_bool_int_int_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 8771(line=362, offs=1) -- 9559(line=401, offs=4) */ ATSstaticdec() ats_ptr_type f_lte_cls_cls_23 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_f_lte_cls_cls_23: tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 8955(line=373, offs=5) -- 8986(line=373, offs=36)") ; } tmp124 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; if (tmp125 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 8991(line=374, offs=5) -- 9022(line=374, offs=36)") ; } tmp126 = ats_caselptrlab_mac(anairiats_sum_0, tmp125, atslab_0) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp124) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp126) ; tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp127), atslab_s2exp_node) ; tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp128), atslab_s2exp_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp129)->tag != 4) { goto __ats_lab_4_0 ; } __ats_lab_3_1: if (((ats_sum_ptr_type)tmp130)->tag != 4) { goto __ats_lab_4_1 ; } __ats_lab_3_2: tmp131 = ats_caselptrlab_mac(anairiats_sum_3, tmp129, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_3, tmp130, atslab_0) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_lte_cls_cls (tmp131, tmp132) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (tmp133) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: __ats_lab_4_2: tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lterel_cls_cls) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool, tmp134, arg1) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bvar (tmp135) ; break ; } while (0) ; return (tmp122) ; } /* end of [f_lte_cls_cls_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 9766(line=414, offs=5) -- 10012(line=423, offs=4) */ ATSstaticdec() ats_void_type ins_25 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab_ins_25: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (arg1) ; tmp139 = ats_castfn_mac(ats_ptr_type, ats_ptrget_mac(ats_ptr_type, arg0)) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_add (tmp139, tmp138, arg2) ; ats_ptrget_mac(ats_ptr_type, arg0) = ats_castfn_mac(ats_ptr_type, tmp140) ; return /* (tmp137) */ ; } /* end of [ins_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_init.dats: 9692(line=410, offs=28) -- 12162(line=482, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize_map (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize_map: /* tmp141 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_bool, &f_neg_bool_1) ; /* tmp142 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_bool_bool, &f_add_bool_bool_2) ; /* tmp143 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_bool_bool, &f_mul_bool_bool_3) ; /* tmp144 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_bool_bool, &f_eq_bool_bool_4) ; /* tmp145 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_bool_bool, &f_neq_bool_bool_5) ; /* tmp146 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neg_int, &f_neg_int_6) ; /* tmp147 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_int_int, &f_add_int_int_7) ; /* tmp148 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_int_int, &f_sub_int_int_8) ; /* tmp149 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_mul_int_int, &f_mul_int_int_9) ; /* tmp150 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_div_int_int, &f_idiv_int_int_11) ; /* tmp151 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ndiv_int_int, &f_ndiv_int_int_10) ; /* tmp152 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_idiv_int_int, &f_idiv_int_int_11) ; /* tmp153 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_int_int, &f_lt_int_int_12) ; /* tmp154 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_int_int, &f_lte_int_int_13) ; /* tmp155 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_int_int, &f_gt_int_int_14) ; /* tmp156 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_int_int, &f_gte_int_int_15) ; /* tmp157 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_int_int, &f_eq_int_int_16) ; /* tmp158 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_int_int, &f_neq_int_int_17) ; /* tmp159 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_abs_int, &f_abs_int_18) ; /* tmp160 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sgn_int, &f_sgn_int_19) ; /* tmp161 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_max_int_int, &f_max_int_int_20) ; /* tmp162 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_min_int_int, &f_min_int_int_21) ; /* tmp163 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_ifint_bool_int_int, &f_ifint_bool_int_int_22) ; /* tmp164 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_int_of_addr, &f_identity_0) ; /* tmp165 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_addr_of_int, &f_identity_0) ; /* tmp166 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_add_addr_int, &f_add_int_int_7) ; /* tmp167 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_int, &f_sub_int_int_8) ; /* tmp168 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_sub_addr_addr, &f_sub_int_int_8) ; /* tmp169 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lt_addr_addr, &f_lt_int_int_12) ; /* tmp170 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_addr_addr, &f_lte_int_int_13) ; /* tmp171 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gt_addr_addr, &f_gt_int_int_14) ; /* tmp172 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_gte_addr_addr, &f_gte_int_int_15) ; /* tmp173 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_eq_addr_addr, &f_eq_int_int_16) ; /* tmp174 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_neq_addr_addr, &f_neq_int_int_17) ; /* tmp136 = */ ins_25 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_lte_cls_cls, &f_lte_cls_cls_23) ; return /* (tmp136) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize_map] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_constraint3_init_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_looping_dats.c0000664000175000017500000030135412655455557021550 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_lstbefitm_var ; ats_int_type atslab_lstbefitm_linval ; ats_ptr_type atslab_lstbefitm_type ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_loopi2nv_loc ; ats_ptr_type atslab_loopi2nv_svs ; ats_ptr_type atslab_loopi2nv_gua ; ats_ptr_type atslab_loopi2nv_arg ; ats_ptr_type atslab_loopi2nv_met ; ats_ptr_type atslab_loopi2nv_res ; } anairiats_rec_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_loopexn_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some2_89) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPlam_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop0_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop1_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loopexn) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ntm) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_opnset_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_top) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop0) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop1) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__d2exp_trup_loop_dryrun) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type d2var_reset_type_1 (ats_ptr_type arg0) ; static ats_void_type lstbefitmlst_opnset_and_add_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_6 (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr_none_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_some_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_some2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxVarCK_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxMetCK_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxitm_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxitmlst_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxEnter_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxitm1_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxitm2_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxitm3_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxitmlst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_void_type auxBreak_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxitm1_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxitm2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxitmlst_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxContinue_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxerr_31 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 1622(line=50, offs=18) -- 1654(line=50, offs=50) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_looping")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 2066(line=76, offs=5) -- 2153(line=78, offs=48) */ ATSstaticdec() ats_void_type d2var_reset_type_1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_d2var_reset_type_1: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (arg0) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg0, tmp2) ; return /* (tmp1) */ ; } /* end of [d2var_reset_type_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 2209(line=84, offs=1) -- 2483(line=96, offs=4) */ ATSstaticdec() ats_void_type lstbefitmlst_opnset_and_add_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_lstbefitmlst_opnset_and_add_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp4), atslab_lstbefitm_var) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_opnset_and_add (arg0, tmp7) ; arg0 = arg0 ; arg1 = tmp5 ; goto __ats_lab_lstbefitmlst_opnset_and_add_2 ; // tail call break ; } while (0) ; return /* (tmp3) */ ; } /* end of [lstbefitmlst_opnset_and_add_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_loop_5: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp24 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp23) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp22 = */ loop_5 (arg0) ; return /* (tmp22) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 3700(line=158, offs=1) -- 4387(line=188, offs=4) */ ATSstaticdec() ats_ptr_type aux_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; __ats_lab_aux_6: tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_lstbefitm_var) ; tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_lstbefitm_type) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp26) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp27 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: if (tmp28 == (ats_sum_ptr_type)0) { goto __ats_lab_8_1 ; } __ats_lab_6_2: tmp30 = ats_caselptrlab_mac(anairiats_sum_3, tmp27, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_3, tmp28, atslab_0) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq (tmp30, tmp31) ; tmp33 = atspre_neg_bool (tmp32) ; if (tmp33) { /* tmp29 = */ d2var_reset_type_1 (tmp26) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp27 != (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: if (tmp28 != (ats_sum_ptr_type)0) { goto __ats_lab_8_1 ; } __ats_lab_7_2: break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: __ats_lab_8_2: /* tmp29 = */ d2var_reset_type_1 (tmp26) ; break ; } while (0) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (tmp26) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make (tmp26, tmp34) ; return (tmp25) ; } /* end of [aux_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_loop_9: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp41 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp39, arg3) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp42, atslab_0, tmp41) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp42 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp43 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp40 ; arg1 = arg1 ; arg2 = tmp43 ; arg3 = arg3 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp44 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp44 ; break ; } while (0) ; return /* (tmp38) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp45 ; */ /* tmp46 = */ loop_9 (arg0, arg1, (&tmp45), arg2) ; tmp37 = tmp45 ; return (tmp37) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp36 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp36) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 3107(line=130, offs=1) -- 4482(line=194, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__d2exp_trup_loop_dryrun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__d2exp_trup_loop_dryrun: /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp10 = ats_selsin_mac(tmp9, atslab_1) */ ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop0 () ; /* tmp12 = ats_selsin_mac(tmp11, atslab_1) */ ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg2) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg4) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp16, tmp17) ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp15, atslab_0, tmp18) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp15 = (ats_sum_ptr_type)0 ; break ; } while (0) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop () ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop () ; /* tmp21 = */ list_vt_free_01499_ats_ptr_type (tmp20) ; tmp35 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg1, &aux_6) ; tmp8 = ats_castfn_mac(ats_ptr_type, tmp35) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__d2exp_trup_loop_dryrun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; __ats_lab_prerr_error3_loc_02046_: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp49) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 4553(line=201, offs=1) -- 4945(line=218, offs=4) */ ATSstaticdec() ats_void_type auxerr_none_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_auxerr_none_10: /* tmp48 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp51 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp53 = */ atspre_prerr_string (ATSstrcst("] is retained with the type [")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp55 = */ atspre_prerr_string (ATSstrcst("but it should be consumed instead.")) ; /* tmp56 = */ atspre_prerr_newline () ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp57)->tag = 87 ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp57, atslab_2, arg2) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp57) ; return /* (tmp47) */ ; } /* end of [auxerr_none_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 4975(line=221, offs=1) -- 5372(line=238, offs=4) */ ATSstaticdec() ats_void_type auxerr_some_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab_auxerr_some_12: /* tmp59 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp60 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp62 = */ atspre_prerr_string (ATSstrcst("] is consumed but it should be retained with the type [")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp64 = */ atspre_prerr_string (ATSstrcst("] instead.")) ; /* tmp65 = */ atspre_prerr_newline () ; tmp66 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp66)->tag = 87 ; ats_selptrset_mac(anairiats_sum_4, tmp66, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp66, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp66, atslab_2, arg2) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp66) ; return /* (tmp58) */ ; } /* end of [auxerr_some_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 5402(line=241, offs=1) -- 5789(line=257, offs=4) */ ATSstaticdec() ats_void_type auxerr_some2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_auxerr_some2_13: /* tmp68 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp69 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp71 = */ atspre_prerr_string (ATSstrcst("] is retained but with a type that fails to merge.")) ; /* tmp72 = */ atspre_prerr_newline () ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp74)->tag = 89 ; ats_selptrset_mac(anairiats_sum_5, tmp74, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp74, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp74, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp74, atslab_3, arg3) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp74) ; return /* (tmp67) */ ; } /* end of [auxerr_some2_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 5841(line=262, offs=1) -- 6980(line=314, offs=4) */ ATSstaticdec() ats_void_type auxVarCK_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_bool_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_bool_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_auxVarCK_14: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_11_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; /* ats_int_type tmp78 ; */ tmp78 = 0 ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq (tmp76, tmp77) ; tmp81 = atspre_neg_bool (tmp79) ; if (tmp81) { /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp83 = ats_selsin_mac(tmp82, atslab_1) */ ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, tmp76, tmp77) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp85)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp85, atslab_0, arg1) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp85) ; tmp78 = tmp84 ; } else { /* empty */ } /* end of [if] */ tmp87 = atspre_gt_int_int (tmp78, 0) ; if (tmp87) { /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; /* tmp75 = */ auxerr_some2_13 (arg0, arg1, tmp76, tmp77) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: /* tmp75 = */ auxerr_none_10 (arg0, arg1, tmp76) ; break ; } while (0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; /* tmp75 = */ auxerr_some_12 (arg0, arg1, tmp89) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp75) */ ; } /* end of [auxVarCK_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 7028(line=319, offs=1) -- 7331(line=333, offs=4) */ ATSstaticdec() ats_void_type auxMetCK_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab_auxMetCK_15: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (arg1, tmp91) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstr_termet_isdec (arg0, tmp92, tmp91) ; /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr (tmp93) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: break ; } while (0) ; return /* (tmp90) */ ; } /* end of [auxMetCK_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 7510(line=349, offs=1) -- 8252(line=382, offs=4) */ ATSstaticdec() ats_void_type auxitm_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_auxitm_17: tmp96 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_lstbefitm_type) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp96) ; /* tmp95 = */ auxVarCK_14 (arg0, tmp96, tmp97, tmp98) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp99) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp96, tmp101) ; if (tmp102) { tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_lstbefitm_type) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp99) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst (arg1, tmp104) ; /* tmp95 = */ auxVarCK_14 (arg0, tmp96, tmp103, tmp105) ; } else { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp100 ; arg3 = arg3 ; goto __ats_lab_auxitm_17 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp95) */ ; } /* end of [auxitm_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 8282(line=385, offs=1) -- 8576(line=402, offs=4) */ ATSstaticdec() ats_void_type auxitmlst_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; // ATSlocal_void (tmp109) ; __ats_lab_auxitmlst_18: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; /* tmp109 = */ auxitm_17 (arg0, arg1, arg2, tmp107) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp108 ; goto __ats_lab_auxitmlst_18 ; // tail call break ; } while (0) ; return /* (tmp106) */ ; } /* end of [auxitmlst_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 7379(line=338, offs=1) -- 9064(line=428, offs=4) */ ATSstaticdec() ats_void_type auxEnter_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; __ats_lab_auxEnter_16: tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_svs) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst (arg0, tmp111) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp113 = ats_selsin_mac(tmp112, atslab_1) */ ; tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_gua) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp110, tmp115) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp114) ; tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_arg) ; /* tmp117 = */ auxitmlst_18 (arg0, tmp110, tmp118, arg2) ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp119)->tag = 9 ; ats_selptrset_mac(anairiats_sum_8, tmp119, atslab_0, -1) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp119) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp110) ; return /* (tmp94) */ ; } /* end of [auxEnter_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 9243(line=444, offs=1) -- 9996(line=478, offs=4) */ ATSstaticdec() ats_void_type auxitm1_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_auxitm1_20: tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg5), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg4 != (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_arg) ; /* tmp122 = */ auxitm2_21 (arg0, arg2, tmp124, arg5) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_1) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp125) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp123, tmp127) ; if (tmp128) { tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg5), atslab_lstbefitm_type) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp125) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst (arg3, tmp130) ; /* tmp122 = */ auxVarCK_14 (arg0, tmp123, tmp129, tmp131) ; } else { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp126 ; arg5 = arg5 ; goto __ats_lab_auxitm1_20 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp122) */ ; } /* end of [auxitm1_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 10024(line=481, offs=1) -- 10679(line=512, offs=4) */ ATSstaticdec() ats_void_type auxitm2_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab_auxitm2_21: tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp132 = */ auxitm3_22 (arg0, arg1, arg3) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp134) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp133, tmp136) ; if (tmp137) { tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg3), atslab_lstbefitm_type) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp134) ; /* tmp132 = */ auxVarCK_14 (arg0, tmp133, tmp138, tmp139) ; } else { arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp135 ; arg3 = arg3 ; goto __ats_lab_auxitm2_21 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp132) */ ; } /* end of [auxitm2_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 10707(line=515, offs=1) -- 11256(line=542, offs=4) */ ATSstaticdec() ats_void_type auxitm3_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_auxitm3_22: tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp143 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp142), atslab_lstbefitm_var) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp141, tmp144) ; if (tmp145) { tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_lstbefitm_type) ; tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp142), atslab_lstbefitm_type) ; /* tmp140 = */ auxVarCK_14 (arg0, tmp141, tmp146, tmp147) ; } else { arg0 = arg0 ; arg1 = tmp143 ; arg2 = arg2 ; goto __ats_lab_auxitm3_22 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp140) */ ; } /* end of [auxitm3_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 11284(line=545, offs=1) -- 11644(line=564, offs=4) */ ATSstaticdec() ats_void_type auxitmlst_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; __ats_lab_auxitmlst_23: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg5 != (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_1) ; /* tmp151 = */ auxitm1_20 (arg0, arg1, arg2, arg3, arg4, tmp149) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp150 ; goto __ats_lab_auxitmlst_23 ; // tail call break ; } while (0) ; return /* (tmp148) */ ; } /* end of [auxitmlst_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 9112(line=433, offs=1) -- 12117(line=588, offs=4) */ ATSstaticdec() ats_void_type auxBreak_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; __ats_lab_auxBreak_19: tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_res) ; tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp152), atslab_i2nvresstate_svs) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst (arg0, tmp153) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp157 = ats_selsin_mac(tmp156, atslab_1) */ ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp152), atslab_i2nvresstate_arg) ; /* tmp158 = */ auxitmlst_23 (arg0, arg1, arg2, tmp154, tmp159, tmp155) ; tmp160 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp160)->tag = 9 ; ats_selptrset_mac(anairiats_sum_8, tmp160, atslab_0, 0) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp160) ; /* tmp121 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp154) ; return /* (tmp121) */ ; } /* end of [auxBreak_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 12323(line=605, offs=1) -- 13026(line=636, offs=4) */ ATSstaticdec() ats_void_type auxitm1_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_bool_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab_auxitm1_25: tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg4), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp163 = */ auxitm2_26 (arg0, arg1, arg4) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (tmp165) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp164, tmp167) ; if (tmp168) { tmp169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg4), atslab_lstbefitm_type) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (tmp165) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst (arg2, tmp170) ; /* tmp163 = */ auxVarCK_14 (arg0, tmp164, tmp169, tmp171) ; } else { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp166 ; arg4 = arg4 ; goto __ats_lab_auxitm1_25 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp163) */ ; } /* end of [auxitm1_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 13054(line=639, offs=1) -- 13603(line=666, offs=4) */ ATSstaticdec() ats_void_type auxitm2_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_bool_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_auxitm2_26: tmp173 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_lstbefitm_var) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp174), atslab_lstbefitm_var) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp173, tmp176) ; if (tmp177) { tmp178 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_lstbefitm_type) ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp174), atslab_lstbefitm_type) ; /* tmp172 = */ auxVarCK_14 (arg0, tmp173, tmp178, tmp179) ; } else { arg0 = arg0 ; arg1 = tmp175 ; arg2 = arg2 ; goto __ats_lab_auxitm2_26 ; // tail call } /* end of [if] */ break ; } while (0) ; return /* (tmp172) */ ; } /* end of [auxitm2_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 13631(line=669, offs=1) -- 13962(line=687, offs=4) */ ATSstaticdec() ats_void_type auxitmlst_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab_auxitmlst_27: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg4 != (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_1) ; /* tmp183 = */ auxitm1_25 (arg0, arg1, arg2, arg3, tmp181) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp182 ; goto __ats_lab_auxitmlst_27 ; // tail call break ; } while (0) ; return /* (tmp180) */ ; } /* end of [auxitmlst_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 12165(line=593, offs=1) -- 14739(line=729, offs=4) */ ATSstaticdec() ats_ptr_type auxContinue_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; __ats_lab_auxContinue_24: tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp186, tmp184) ; tmp185 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp185, atslab_0, tmp187) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp185 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_svs) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__stasub_make_svarlst (arg0, tmp189) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp192 = ats_selsin_mac(tmp191, atslab_1) */ ; tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_gua) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (tmp188, tmp194) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp193) ; tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_met) ; /* tmp196 = */ auxMetCK_15 (arg0, tmp188, tmp197) ; tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_arg) ; /* tmp198 = */ auxitmlst_27 (arg0, arg2, tmp188, tmp199, tmp190) ; tmp200 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp200)->tag = 9 ; ats_selptrset_mac(anairiats_sum_8, tmp200, atslab_0, 1) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp200) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp188) ; tmp162 = tmp185 ; return (tmp162) ; } /* end of [auxContinue_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp246) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: break ; } while (0) ; return /* (tmp246) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 14815(line=735, offs=1) -- 17176(line=820, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop: tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp206, tmp204) ; tmp205 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp205, atslab_0, tmp207) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp205 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__d2exp_trup_loop_dryrun (arg0, tmp208, arg3, arg4, arg5) ; /* tmp210 = */ auxEnter_16 (arg0, arg1, tmp208) ; tmp211 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_loc) ; tmp213 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_svs) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp213) ; tmp215 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_gua) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (tmp211, tmp215) ; tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_met) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp216 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp218 = ats_caselptrlab_mac(anairiats_sum_3, tmp216, atslab_0) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2explst_check_termet (arg0, tmp218) ; tmp217 = 0 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (tmp216 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ntm (arg0) ; break ; } while (0) ; tmp220 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_arg) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update (tmp211, tmp220) ; /* tmp222 = */ lstbefitmlst_opnset_and_add_2 (tmp211, tmp209) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg3) ; tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp223), atslab_d3exp_loc) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp223) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp223) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype () ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp223, tmp227) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp226) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype (tmp229) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp232 = ats_selsin_mac(tmp231, atslab_1) */ ; /* tmp233 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg (tmp224, ats_castfn_mac(ats_ptr_type, tmp230)) ; /* tmp234 = */ auxBreak_19 (arg0, arg1, tmp209) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp237 = ats_selsin_mac(tmp236, atslab_1) */ ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt (tmp224, ats_castfn_mac(ats_ptr_type, tmp230)) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop1 (arg1, tmp209, arg4) ; /* tmp240 = ats_selsin_mac(tmp239, atslab_1) */ ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg5, tmp204) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop () ; tmp243 = auxContinue_24 (arg0, arg1, tmp209, arg4) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; /* tmp245 = */ option_vt_free_01544_ats_ptr_type (tmp230) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (tmp209) ; tmp249 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_arg) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvarglst_update (tmp211, tmp249) ; tmp251 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_loopi2nv_res) ; /* tmp250 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp211, tmp251) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loop (arg0, tmp205, tmp228, tmp243, tmp241) ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 17283(line=829, offs=1) -- 17627(line=841, offs=4) */ ATSstaticdec() ats_void_type auxerr_31 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_bool_type, tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_bool_type, tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; __ats_lab_auxerr_31: /* tmp254 = */ prerr_error3_loc_02046_ (arg0) ; tmp256 = atspre_eq_int_int (arg1, 0) ; if (tmp256) { /* tmp255 = */ atspre_prerr_string (ATSstrcst(": [break] is only allowed inside a for/while-loop")) ; } else { /* empty */ } /* end of [if] */ tmp258 = atspre_gt_int_int (arg1, 0) ; if (tmp258) { /* tmp257 = */ atspre_prerr_string (ATSstrcst(": [continue] is only allowed inside a for/while-loop")) ; } else { /* empty */ } /* end of [if] */ /* tmp259 = */ atspre_prerr_newline () ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp260)->tag = 86 ; ats_selptrset_mac(anairiats_sum_11, tmp260, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_11, tmp260, atslab_1, arg1) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp260) ; return /* (tmp253) */ ; } /* end of [auxerr_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_looping.dats: 17258(line=826, offs=3) -- 18226(line=866, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loopexn (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp261) ; // ATSlocal_void (tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loopexn: tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_top () ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (tmp261 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_45_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_3, tmp261, atslab_0) ; ATS_FREE(tmp261) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp263)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp262 = */ auxerr_31 (arg0, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp263)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_47_1: break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (((ats_sum_ptr_type)tmp263)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_4, tmp263, atslab_0) ; tmp265 = ats_caselptrlab_mac(anairiats_sum_4, tmp263, atslab_1) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_4, tmp263, atslab_2) ; tmp267 = atspre_eq_int_int (arg1, 0) ; if (tmp267) { /* tmp262 = */ auxBreak_19 (arg0, tmp264, tmp265) ; } else { tmp268 = auxContinue_24 (arg0, tmp264, tmp265, tmp266) ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (tmp261 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: /* tmp262 = */ auxerr_31 (arg0, arg1) ; break ; } while (0) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loopexn (arg0, arg1) ; return (tmp252) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_loopexn] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_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 () ; #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_trans3_looping_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dmacro2_print_dats.c0000664000175000017500000010405212655455557021346 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vbool_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vscode_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_bool_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_int_type, tmp32) ; __ats_lab_aux_2: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp30 = atspre_gt_int_int (arg1, 0) ; if (tmp30) { /* tmp29 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp31 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp27) ; tmp32 = atspre_add_int_int (arg1, 1) ; arg0 = tmp28 ; arg1 = tmp32 ; goto __ats_lab_aux_2 ; // tail call break ; } while (0) ; return /* (tmp26) */ ; } /* end of [aux_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_2_closure_type ; ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_2 (((aux_2_closure_type*)cloptr)->closure_env_0, ((aux_2_closure_type*)cloptr)->closure_env_1, ((aux_2_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_2_closure_init (aux_2_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_2_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_2_closure_type *p_clo = ATS_MALLOC(sizeof(aux_2_closure_type)) ; aux_2_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp25) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp25 = */ aux_2 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp25) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_print.dats: 1647(line=52, offs=3) -- 2744(line=105, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_int_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_bool_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_char_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vint(")) ; /* tmp3 = */ atspre_fprint_int (arg0, tmp1) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vbool(")) ; /* tmp6 = */ atspre_fprint_bool (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vchar(")) ; /* tmp9 = */ atspre_fprint_char (arg0, tmp7) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vfloat(")) ; /* tmp12 = */ atspre_fprint_string (arg0, tmp10) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vstring(")) ; /* tmp15 = */ atspre_fprint_string (arg0, tmp13) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vunit()")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vscode(")) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp16) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vdcode(")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp19) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("M2Vlist(")) ; /* tmp24 = */ fprintlst_01694_ats_ptr_type (arg0, tmp22, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)arg1)->tag != 9) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("M2Verr()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_print.dats: 2793(line=108, offs=13) -- 2827(line=108, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_m2val (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_m2val: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val (stdout, arg0) ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__print_m2val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_print.dats: 2850(line=110, offs=13) -- 2884(line=110, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_m2val (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_m2val: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val (stderr, arg0) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__prerr_m2val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_print.dats: 2935(line=116, offs=3) -- 2990(line=116, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2valist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2valist: /* tmp35 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2val) ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__fprint_m2valist] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_dmacro2_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_e1xpval_error_dats.c0000664000175000017500000010164712655455557021403 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_defined_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_valize_undefined_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_maxlevel_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_opr_arglst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPide_unbound_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPlist_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPapp_fun_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_fun_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_opr_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPappid_arity_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPfun_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__VE_E1XPerr_13) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_valerr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__the_valerrlst_get) () ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp71) ; ATSstatic (ats_ptr_type, statmp74) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 1566(line=48, offs=3) -- 4863(line=136, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_valerr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_valerr: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp1), atslab_e1xp_loc) ; /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp3) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression cannot be evaluated to a value.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp5), atslab_e1xp_loc) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp7) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression is expected to be an indentifer.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp9), atslab_e1xp_loc) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp11) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression is expected to be an indentifer.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_e1xp_loc) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp16) ; /* tmp17 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(1): the maximal evaluation depth (%i) has been reached."), tmp13) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp18), atslab_e1xp_loc) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp21) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the operator [")) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp19) ; /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst("] cannot handle its argument(s).")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp25), atslab_e1xp_loc) ; tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp25), atslab_e1xp_node) ; if (((ats_sum_ptr_type)tmp27)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 2825(line=84, offs=9) -- 2852(line=84, offs=36)") ; } tmp28 = ats_caselptrlab_mac(anairiats_sum_1, tmp27, atslab_0) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp26) ; /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the identifier [")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp28) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("] is unbound.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp35 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp33), atslab_e1xp_loc) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp35) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression cannot be evaluated as it is un-defined.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp37), atslab_e1xp_loc) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp39) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression cannot be evaluated as it is a tuple.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp41), atslab_e1xp_loc) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp43) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the applied expression is required to be an identifier.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp45), atslab_e1xp_loc) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp48) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the applied identifier [")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp46) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst("] does not refer to a function.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp52), atslab_e1xp_loc) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp55) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the applied identifier [")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp53) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("] does not refer to a supported operator.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp59), atslab_e1xp_loc) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp61) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): arity mismatch for this function application.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp63), atslab_e1xp_loc) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression cannot be evaluated as it is a function.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg1)->tag != 13) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp67), atslab_e1xp_loc) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp69) ; /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst(": error(1): the expression cannot be evaluated as it indicates an error.")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_valerr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp73 ; */ tmp73 = arg0 ; tmp72 = atspre_ref_make_elt_tsz ((&tmp73), sizeof(ats_ptr_type)) ; return (tmp72) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 5135(line=154, offs=3) -- 5250(line=158, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add: tmp76 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp71), atslab_1) ; tmp78 = ats_ptrget_mac(ats_ptr_type, tmp76) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp77, atslab_1, tmp78) ; ats_ptrget_mac(ats_ptr_type, tmp76) = tmp77 ; return /* (tmp75) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__the_valerrlst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 5312(line=162, offs=3) -- 5434(line=167, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__the_valerrlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__the_valerrlst_get: tmp80 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp71), atslab_1) ; tmp81 = ats_ptrget_mac(ats_ptr_type, tmp80) ; tmp82 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp80) = tmp82 ; tmp79 = tmp81 ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__the_valerrlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 5593(line=177, offs=7) -- 5804(line=184, offs=28) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; __ats_lab_loop_5: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_valerr (arg0, tmp86) ; arg0 = arg0 ; arg1 = tmp87 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: break ; } while (0) ; return /* (tmp85) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_e1xpval_error.dats: 5543(line=175, offs=3) -- 5847(line=188, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_the_valerrlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_the_valerrlst: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__the_valerrlst_get () ; /* tmp83 = */ loop_5 (arg0, tmp84) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__fprint_the_valerrlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp74, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp74 = (ats_sum_ptr_type)0 ; statmp71 = ref_01088_ats_ptr_type (statmp74) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_e1xpval_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_typerase_dynexp_dats.c0000664000175000017500000055501312655455557022035 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_19 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_gm3at_loc ; ats_ptr_type atslab_gm3at_exp ; ats_ptr_type atslab_gm3at_pat ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_c3lau_loc ; ats_ptr_type atslab_c3lau_pat ; ats_ptr_type atslab_c3lau_gua ; ats_int_type atslab_c3lau_seq ; ats_int_type atslab_c3lau_neg ; ats_ptr_type atslab_c3lau_body ; } anairiats_rec_26 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextval_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextfcall_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextmcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Econ_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpcst_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpvar_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_sta_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esif_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecase_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elst_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etup_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erec_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eseq_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eselab_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofsel_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erefarg_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ref_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_var_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ref_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_var_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ptr_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ref_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrpsz_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrinit_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eraise_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eeffmask_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evcopyenv_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etempenver_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eann_type_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_dyn_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_sta_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_met_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efix_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Edelay_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eldelay_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elazyeval_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloop_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloopexn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etrywith_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esolverify_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_p3at_tyer_isprf_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_intconst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_p3at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_p3at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_set2_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_unused) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_lst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec2) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_refas) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhidexplst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_float) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cstsp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_foldat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_freeat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let_simplify) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_sif) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_case) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lst) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofsel) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_refarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_vcopyenv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tempenver) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_fix) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_delay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lazyeval) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loop) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loopexn) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_errexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__higmat_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lab_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3at_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type f_2 (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_7 (ats_ptr_type arg0) ; static ats_void_type prerr_ERROR_beg_02076_ () ; static ats_void_type prerr_error4_loc_02085_ (ats_ptr_type arg0) ; static ats_void_type prerr_ERROR_end_02077_ () ; static ats_void_type auxerr_if_11 (ats_ptr_type arg0) ; static ats_ptr_type auxlst_19 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type d3exp_tyer_type_23 (ats_ptr_type arg0) ; static ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_warning4_loc_02090_ (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) ; static ats_ptr_type aux1_33 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux2_34 (ats_int_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 1677(line=54, offs=18) -- 1710(line=54, offs=51) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_typerase_dynexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 2487(line=106, offs=5) -- 2603(line=112, offs=4) */ ATSstaticdec() ats_ptr_type f_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_f_2: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp5 = (ats_sum_ptr_type)0 ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp4), atslab_hipat_type) ; tmp2 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_0, tmp3) ; ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_1, tmp5) ; ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_2, tmp6) ; return (tmp2) ; } /* end of [f_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp13 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp11, arg3) ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp14, atslab_0, tmp13) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp14 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp15 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp12 ; arg1 = arg1 ; arg2 = tmp15 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp16 ; break ; } while (0) ; return /* (tmp10) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp17 ; */ /* tmp18 = */ loop_5 (arg0, arg1, (&tmp17), arg2) ; tmp9 = tmp17 ; return (tmp9) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp8 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp8) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 2468(line=104, offs=22) -- 2690(line=118, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type: tmp7 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &f_2) ; tmp1 = ats_castfn_mac(ats_ptr_type, tmp7) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 2776(line=123, offs=5) -- 2895(line=129, offs=4) */ ATSstaticdec() ats_ptr_type f_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_f_7: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp23 = (ats_sum_ptr_type)0 ; tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp22), atslab_hidexp_type) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_0, tmp21) ; ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_1, tmp23) ; ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_2, tmp24) ; return (tmp20) ; } /* end of [f_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 2757(line=121, offs=23) -- 2982(line=135, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhidexplst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhidexplst_get_type: tmp25 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &f_7) ; tmp19 = ats_castfn_mac(ats_ptr_type, tmp25) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhidexplst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 3446(line=159, offs=12) -- 3777(line=177, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer: tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp27 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp27, atslab_0) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (arg0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp29, tmp28) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_0, tmp30) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_set2_hisexp (arg0, tmp32) ; tmp26 = arg0 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp27 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp26 = arg0 ; break ; } while (0) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 3844(line=182, offs=12) -- 4154(line=198, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp34 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp33 = arg0 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp34 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_loc (arg0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (arg0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp35, tmp36) ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp39, atslab_0, tmp37) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp (arg0, tmp39) ; tmp33 = arg0 ; break ; } while (0) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 4220(line=203, offs=11) -- 6455(line=297, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_char_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_int_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer: tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_loc) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type (arg0) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp42) ; tmp44 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp44)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (tmp45) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_any (tmp41, tmp43, tmp46) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp44)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (tmp47) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var (tmp41, tmp43, tmp48) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp44)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_1) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_2) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_3) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con (tmp41, tmp43, tmp49, tmp50, tmp51, tmp52) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp44)->tag != 3) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_9, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_int (tmp41, tmp43, tmp53) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp44)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_intrep (tmp41, tmp43, tmp54) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp44)->tag != 5) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_10, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool (tmp41, tmp43, tmp55) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp44)->tag != 6) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_11, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_char (tmp41, tmp43, tmp56) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp44)->tag != 8) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_string (tmp41, tmp43, tmp57) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp44)->tag != 9) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_i0nt (tmp41, tmp43, tmp58) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp44)->tag != 10) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_f0loat (tmp41, tmp43, tmp59) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp44)->tag != 11) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_empty (tmp41, tmp43) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp44)->tag != 13) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_1) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_2) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp61) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer (tmp62) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_lst (tmp41, tmp60, tmp43, tmp63, tmp64) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp44)->tag != 12) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_1) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_2) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer (tmp66, tmp67) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type (tmp68) ; tmp71 = atspre_gt_int_int (tmp65, 0) ; if (tmp71) { tmp70 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; } else { tmp70 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; } /* end of [if] */ tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec2 (tmp70, tmp69) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec2 (tmp41, tmp43, tmp65, tmp68, tmp72) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp44)->tag != 14) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_0) ; tmp74 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (tmp73) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp74) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_refas (tmp41, tmp43, tmp75, tmp76) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp44)->tag != 15) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ; arg0 = tmp77 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp44)->tag != 17) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp78) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp79) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_ann (tmp41, tmp43, tmp80, tmp81) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: /* tmp82 = */ atspre_print_string (ATSstrcst("p3at_tyer: loc0 = ")) ; /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location (tmp41) ; /* tmp84 = */ atspre_print_newline () ; /* tmp85 = */ atspre_print_string (ATSstrcst("p3at_tyer: p3t0 = ")) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_p3at (arg0) ; /* tmp87 = */ atspre_print_newline () ; tmp88 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 6417(line=294, offs=5) -- 6427(line=294, offs=15)", ATSstrcst("\n")) ; /* tmp40 = */ ats_exit_errmsg (1, tmp88) ; break ; } while (0) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1470(line=41, offs=16) -- 1507(line=41, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_beg_02076_ () { /* local vardec */ // ATSlocal_void (tmp93) ; __ats_lab_prerr_ERROR_beg_02076_: /* tmp93 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):beg**\n")) ; return /* (tmp93) */ ; } /* end of [prerr_ERROR_beg_02076_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2455(line=89, offs=18) -- 2514(line=92, offs=2) */ ATSstaticdec() ats_void_type prerr_error4_loc_02085_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; __ats_lab_prerr_error4_loc_02085_: /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp95 = */ atspre_prerr_string (ATSstrcst(": error(4)")) ; return /* (tmp95) */ ; } /* end of [prerr_error4_loc_02085_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1536(line=43, offs=16) -- 1573(line=43, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_end_02077_ () { /* local vardec */ // ATSlocal_void (tmp103) ; __ats_lab_prerr_ERROR_end_02077_: /* tmp103 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):end**\n")) ; return /* (tmp103) */ ; } /* end of [prerr_ERROR_end_02077_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 6510(line=304, offs=1) -- 6905(line=331, offs=4) */ ATSstaticdec() ats_void_type auxerr_if_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab_auxerr_if_11: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full (arg0) ; tmp91 = atspre_neg_bool (tmp90) ; if (tmp91) { /* tmp92 = */ prerr_ERROR_beg_02076_ () ; tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_loc) ; /* tmp94 = */ prerr_error4_loc_02085_ (tmp97) ; /* tmp98 = */ atspre_prerr_string (ATSstrcst(": partial proof pattern [")) ; /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_p3at (arg0) ; /* tmp100 = */ atspre_prerr_string (ATSstrcst("] is not allowed for erasure.")) ; /* tmp101 = */ atspre_prerr_newline () ; /* tmp102 = */ prerr_ERROR_end_02077_ () ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp104)->tag = 0 ; ats_selptrset_mac(anairiats_sum_7, tmp104, atslab_0, arg0) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add (tmp104) ; } else { /* empty */ } /* end of [if] */ return /* (tmp89) */ ; } /* end of [auxerr_if_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 6976(line=337, offs=3) -- 7429(line=362, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; // ATSlocal_void (tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp105 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp106) ; if (tmp108) { /* tmp109 = */ auxerr_if_11 (tmp106) ; arg0 = tmp107 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer ; // tail call } else { tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp106) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer (tmp107) ; tmp105 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp105, atslab_0, tmp110) ; ats_selptrset_mac(anairiats_sum_1, tmp105, atslab_1, tmp111) ; } /* end of [if] */ break ; } while (0) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 7503(line=368, offs=3) -- 8144(line=401, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_bool_type, tmp118) ; // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp112 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 7629(line=379, offs=5) -- 7656(line=379, offs=32)") ; } tmp115 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp113) ; if (tmp117) { tmp118 = ats_true_bool ; } else { tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp115) ; } /* end of [if] */ if (tmp118) { /* tmp119 = */ auxerr_if_11 (tmp113) ; arg0 = tmp116 ; arg1 = tmp114 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2 ; // tail call } else { tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp113) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2 (tmp116, tmp114) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp112, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_1, tmp112, atslab_1, tmp121) ; } /* end of [if] */ break ; } while (0) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 8245(line=409, offs=3) -- 8423(line=419, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer: tmp123 = atspre_gt_int_int (arg0, 0) ; if (tmp123) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 8301(line=413, offs=5) -- 8327(line=413, offs=31)") ; } tmp124 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp125 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp125 ; arg1 = tmp124 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer ; // tail call } else { tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer (arg1) ; } /* end of [if] */ return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 8536(line=427, offs=5) -- 9182(line=459, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_19 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; __ats_lab_auxlst_19: tmp128 = atspre_gt_int_int (arg0, 0) ; if (tmp128) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 8633(line=433, offs=7) -- 8659(line=433, offs=33)") ; } tmp129 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp130 = atspre_sub_int_int (arg0, 1) ; tmp131 = atspre_add_int_int (arg2, 1) ; arg0 = tmp130 ; arg1 = tmp129 ; arg2 = tmp131 ; goto __ats_lab_auxlst_19 ; // tail call } else { do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp132) ; if (tmp134) { tmp135 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp133 ; arg2 = tmp135 ; goto __ats_lab_auxlst_19 ; // tail call } else { tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg2) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp132) ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp138, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_1, tmp138, atslab_1, tmp137) ; tmp140 = atspre_add_int_int (arg2, 1) ; tmp139 = auxlst_19 (arg0, tmp133, tmp140) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, tmp138) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_1, tmp139) ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp127 = (ats_sum_ptr_type)0 ; break ; } while (0) ; } /* end of [if] */ return (tmp127) ; } /* end of [auxlst_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 8511(line=425, offs=3) -- 9235(line=463, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize: tmp126 = auxlst_19 (arg0, arg1, 0) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 9385(line=473, offs=17) -- 9792(line=495, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_bool_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp143 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; // tmp144 = ats_caselptrlab_mac(anairiats_sum_1, tmp142, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_1, tmp142, atslab_1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp145) ; if (tmp146) { arg0 = tmp143 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer ; // tail call } else { tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp145) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp148, atslab_0, tmp144) ; ats_selptrset_mac(anairiats_sum_1, tmp148, atslab_1, tmp147) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (tmp143) ; tmp141 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp141, atslab_0, tmp148) ; ats_selptrset_mac(anairiats_sum_1, tmp141, atslab_1, tmp149) ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp141 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 9875(line=501, offs=3) -- 10069(line=517, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_bool_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer: tmp151 = atspre_gt_int_int (arg0, 0) ; if (tmp151) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 9927(line=508, offs=5) -- 9955(line=508, offs=33)") ; } tmp152 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp153 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp153 ; arg1 = tmp152 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer ; // tail call } else { tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (arg1) ; } /* end of [if] */ return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 10148(line=523, offs=1) -- 10610(line=548, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize (arg4, arg5) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_unused (tmp155) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: if (!tmp156) { goto __ats_lab_32_1 ; } tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_get_type (tmp155) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (arg3, tmp157) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con (arg0, arg1, arg2, arg3, tmp158, tmp155) ; break ; } while (0) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 11648(line=608, offs=1) -- 11789(line=616, offs=4) */ ATSstaticdec() ats_ptr_type d3exp_tyer_type_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_d3exp_tyer_type_23: tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_loc) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp160, tmp161) ; return (tmp159) ; } /* end of [d3exp_tyer_type_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp362) ; __ats_lab_loop_27: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp361 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; /* tmp362 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp360, arg2) ; arg0 = tmp361 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_27 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: break ; } while (0) ; return /* (tmp359) */ ; } /* end of [loop_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp358) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp358 = */ loop_27 (arg0, arg1, arg2) ; return /* (tmp358) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp357) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp357 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp357) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 3120(line=123, offs=20) -- 3181(line=126, offs=2) */ ATSstaticdec() ats_void_type prerr_warning4_loc_02090_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; __ats_lab_prerr_warning4_loc_02090_: /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp382 = */ atspre_prerr_string (ATSstrcst(": warning(4)")) ; return /* (tmp382) */ ; } /* end of [prerr_warning4_loc_02090_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02080_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; __ats_lab_prerr_interror_loc_02080_: /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp416 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp417 = */ prerr_FILENAME_02078_ () ; /* tmp414 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp414) */ ; } /* end of [prerr_interror_loc_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 11865(line=622, offs=3) -- 24277(line=1125, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_bool_type, tmp172) ; ATSlocal (ats_char_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; // ATSlocal_void (tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_bool_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; // ATSlocal_void (tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_int_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_int_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; // ATSlocal_void (tmp356) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_int_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_bool_type, tmp378) ; // ATSlocal_void (tmp379) ; ATSlocal (ats_bool_type, tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_int_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_int_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_int_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer: tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_loc) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp163, tmp164) ; tmp166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp166)->tag != 1) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp167) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var (tmp163, tmp165, tmp167) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp166)->tag != 0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst (tmp163, tmp165, tmp169) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp166)->tag != 2) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_9, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_int (tmp163, tmp165, tmp170) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp166)->tag != 3) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_intrep (tmp163, tmp165, tmp171) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp166)->tag != 4) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_10, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool (tmp163, tmp165, tmp172) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp166)->tag != 5) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_11, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_char (tmp163, tmp165, tmp173) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp166)->tag != 7) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_string (tmp163, tmp165, tmp174) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp166)->tag != 8) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_i0nt (tmp163, tmp165, tmp175) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp166)->tag != 9) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_f0loat (tmp163, tmp165, tmp176) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp166)->tag != 6) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_float (tmp163, tmp165, tmp177) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp166)->tag != 10) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cstsp (tmp163, tmp165, tmp178) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp166)->tag != 12) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_top (tmp163, tmp165) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp166)->tag != 13) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp163, tmp165) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp166)->tag != 14) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extval (tmp163, tmp165, tmp179) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp166)->tag != 15) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (tmp181) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extfcall (tmp163, tmp165, tmp180, tmp182) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp166)->tag != 16) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp185 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp183) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (tmp185) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extmcall (tmp163, tmp165, tmp186, tmp184, tmp187) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp166)->tag != 17) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_1) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_2) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (tmp189, tmp190) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhidexplst_get_type (tmp191) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (tmp188, tmp192) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_con (tmp163, tmp165, tmp188, tmp193, tmp191) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp166)->tag != 18) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst (tmp163, tmp165, tmp194, tmp195) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp166)->tag != 19) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar (tmp163, tmp165, tmp196, tmp197) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp166)->tag != 20) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_foldat (tmp163, tmp165) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp166)->tag != 21) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp198) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_freeat (tmp163, tmp165, tmp199) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp166)->tag != 23) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp200) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp201) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let_simplify (tmp163, tmp165, tmp202, tmp203) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp166)->tag != 25) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_1) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_17, tmp166, atslab_2) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp204) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp207) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp204) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer (tmp205, tmp206) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app2 (tmp163, tmp165, tmp208, tmp209, tmp210) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp166)->tag != 24) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; arg0 = tmp211 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp166)->tag != 26) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp212) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp213) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp214) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if (tmp163, tmp165, tmp215, tmp216, tmp217) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp166)->tag != 27) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp218 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp219 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp219) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp220) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_sif (tmp163, tmp165, tmp218, tmp221, tmp222) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp166)->tag != 28) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp223 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (tmp224) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (tmp224, tmp225) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_case (tmp163, tmp165, tmp223, tmp226, tmp227) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp166)->tag != 30) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp228 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_0) ; tmp229 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_1) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_2) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp163, tmp229) ; tmp232 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp230, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lst (tmp163, tmp165, tmp228, tmp231, ats_castfn_mac(ats_ptr_type, tmp232)) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp166)->tag != 31) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_0) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_1) ; tmp235 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_2) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp164) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (tmp234, tmp235) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2 (tmp163, tmp165, tmp233, tmp237, tmp236) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp166)->tag != 32) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_0) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_1) ; tmp240 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_2) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp164) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer (tmp239, tmp240) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2 (tmp163, tmp165, tmp238, tmp242, tmp241) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp166)->tag != 33) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp244 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp243, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_seq (tmp163, tmp165, ats_castfn_mac(ats_ptr_type, tmp244)) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp166)->tag != 34) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp246 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp245) ; tmp248 = d3exp_tyer_type_23 (tmp245) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp246) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selab (tmp163, tmp165, tmp247, tmp248, tmp249) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp166)->tag != 35) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp250) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofvar (tmp163, tmp165, tmp250) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp166)->tag != 36) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp254 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp252) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp163, tmp253) ; tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp254) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofsel (tmp163, tmp165, tmp255, tmp256, tmp257) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp166)->tag != 38) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp258 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_0) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_1) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_13, tmp166, atslab_2) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp260) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_refarg (tmp163, tmp165, tmp258, tmp259, tmp261) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp166)->tag != 39) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp262 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp263 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp262) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp263) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp264) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selvar (tmp163, tmp165, tmp262, tmp266, tmp267) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp166)->tag != 40) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp270 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp268) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp269) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp270) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr (tmp163, tmp165, tmp271, tmp272, tmp273) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp166)->tag != 41) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp274) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp275) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp276) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr (tmp163, tmp165, tmp277, tmp278, tmp279) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp166)->tag != 42) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp280) ; if (!tmp281) { goto __ats_lab_72_1 ; } tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp163, tmp165) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp166)->tag != 42) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp285 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp282) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp283) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp284) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp285) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_var (tmp163, tmp165, tmp282, tmp287, tmp288, tmp289) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp166)->tag != 43) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp290) ; if (!tmp291) { goto __ats_lab_74_1 ; } tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp163, tmp165) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp166)->tag != 43) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp292) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp293) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp294) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp295) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (tmp163, tmp165, tmp296, tmp297, tmp298, tmp299) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp166)->tag != 44) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp300 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp301 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp300) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp301) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp302) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp303) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (tmp163, tmp165, tmp304, tmp305, tmp306, tmp307) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp166)->tag != 45) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp308) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp309) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp310) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp311) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_var (tmp163, tmp165, tmp308, tmp313, tmp314, tmp315) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp166)->tag != 46) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp317 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp319 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp316) ; tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp317) ; tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp318) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp319) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (tmp163, tmp165, tmp320, tmp321, tmp322, tmp323) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp166)->tag != 47) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp325 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp326 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp324) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp325) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (tmp326) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp327) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (tmp163, tmp165, tmp328, tmp329, tmp330, tmp331) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp166)->tag != 48) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp163, tmp165) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp166)->tag != 49) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_19, tmp166, atslab_0) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_19, tmp166, atslab_1) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_19, tmp166, atslab_2) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp163, tmp332) ; tmp336 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp333, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrpsz (tmp163, tmp165, tmp335, ats_castfn_mac(ats_ptr_type, tmp336), tmp334) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp166)->tag != 50) { goto __ats_lab_84_0 ; } __ats_lab_81_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_0) ; tmp338 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_1) ; tmp339 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp163, tmp337) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp338) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp338) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp342) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype (tmp343) ; if (tmp344 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 20510(line=971, offs=9) -- 20563(line=971, offs=62)") ; } tmp345 = ats_caselptrlab_mac(anairiats_sum_5, tmp344, atslab_0) ; ATS_FREE(tmp344) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_intconst (tmp345) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (tmp346 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_20, tmp346, atslab_0) ; ATS_FREE(tmp346) ; tmp347 = tmp348 ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (tmp346 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: tmp347 = -1 ; break ; } while (0) ; tmp349 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp339, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrinit (tmp163, tmp165, tmp340, tmp341, ats_castfn_mac(ats_ptr_type, tmp349), tmp347) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp166)->tag != 51) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp350 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp350) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_raise (tmp163, tmp165, tmp351) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp166)->tag != 52) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp352 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; arg0 = tmp352 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp166)->tag != 53) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp353 = ats_caselptrlab_mac(anairiats_sum_21, tmp166, atslab_1) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp353) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_vcopyenv (tmp163, tmp165, tmp353) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp166)->tag != 54) { goto __ats_lab_90_0 ; } __ats_lab_87_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; /* tmp356 = */ list_app_fun_01301_ats_ptr_type (tmp355, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tempenver (tmp163, tmp165, tmp355) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp166)->tag != 55) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; arg0 = tmp363 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp166)->tag != 56) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_1) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_2) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_3) ; tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp164) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (tmp364, tmp365) ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp366) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam (tmp163, tmp367, 1, tmp368, tmp369) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp166)->tag != 57) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_1) ; tmp371 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_2) ; tmp372 = ats_caselptrlab_mac(anairiats_sum_22, tmp166, atslab_3) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp163, tmp164) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (tmp370, tmp371) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp372) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam (tmp163, tmp373, 0, tmp374, tmp375) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp166)->tag != 58) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_16, tmp166, atslab_2) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp376) ; tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value (tmp377) ; tmp380 = atspre_neg_bool (tmp378) ; if (tmp380) { /* tmp381 = */ prerr_warning4_loc_02090_ (tmp163) ; /* tmp384 = */ atspre_prerr_string (ATSstrcst(": a non-value body for static lam-abstraction is not supported.")) ; /* tmp379 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp162 = tmp377 ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp166)->tag != 59) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp385 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; arg0 = tmp385 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp166)->tag != 60) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_0) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_1) ; tmp388 = ats_caselptrlab_mac(anairiats_sum_12, tmp166, atslab_2) ; tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp388) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_fix (tmp163, tmp165, tmp386, tmp387, tmp389) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp166)->tag != 61) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp390 = ats_caselptrlab_mac(anairiats_sum_7, tmp166, atslab_0) ; tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp390) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_delay (tmp163, tmp165, tmp391) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp166)->tag != 62) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp392) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp393) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ldelay (tmp163, tmp165, tmp394, tmp395) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp166)->tag != 63) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp396 = ats_caselptrlab_mac(anairiats_sum_21, tmp166, atslab_0) ; tmp397 = ats_caselptrlab_mac(anairiats_sum_21, tmp166, atslab_1) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp397) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lazyeval (tmp163, tmp165, tmp396, tmp398) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp166)->tag != 64) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_0) ; tmp400 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_1) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_2) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_18, tmp166, atslab_3) ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer (tmp399) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp400) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer (tmp401) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp402) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loop (tmp163, tmp165, tmp403, tmp404, tmp405, tmp406) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp166)->tag != 65) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp407 = ats_caselptrlab_mac(anairiats_sum_9, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loopexn (tmp163, tmp165, tmp407) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp166)->tag != 66) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp408 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_0) ; tmp409 = ats_caselptrlab_mac(anairiats_sum_14, tmp166, atslab_1) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp408) ; tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer (tmp409) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_trywith (tmp163, tmp165, tmp410, tmp411) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp166)->tag != 67) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype () ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp163, tmp412) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp166)->tag != 68) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_errexp (tmp163, tmp165) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: /* tmp413 = */ prerr_interror_loc_02080_ (tmp163) ; /* tmp418 = */ atspre_prerr_string (ATSstrcst(": d3exp_tyer: d3e0 = ")) ; /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3exp (arg0) ; /* tmp420 = */ atspre_prerr_newline () ; tmp421 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 24224(line=1122, offs=5) -- 24234(line=1122, offs=15)", ATSstrcst("\n")) ; /* tmp162 = */ ats_exit_errmsg (1, tmp421) ; break ; } while (0) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 24365(line=1131, offs=3) -- 24704(line=1151, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_bool_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer: do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp424 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp425 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp423) ; if (tmp425) { arg0 = tmp424 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer ; // tail call } else { tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp423) ; tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (tmp424) ; tmp422 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp422, atslab_0, tmp426) ; ats_selptrset_mac(anairiats_sum_1, tmp422, atslab_1, tmp427) ; } /* end of [if] */ break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: tmp422 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp422) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 24762(line=1155, offs=3) -- 24945(line=1172, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_bool_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer: tmp429 = atspre_gt_int_int (arg0, 0) ; if (tmp429) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 24814(line=1163, offs=1) -- 24839(line=1163, offs=26)") ; } tmp430 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp431 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp431 ; arg1 = tmp430 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer ; // tail call } else { tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3explst_tyer (arg1) ; } /* end of [if] */ return (tmp428) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 25039(line=1178, offs=5) -- 25182(line=1183, offs=16) */ ATSstaticdec() ats_ptr_type aux1_33 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_bool_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; __ats_lab_aux1_33: tmp434 = atspre_gt_int_int (arg0, 0) ; if (tmp434) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 25118(line=1182, offs=9) -- 25144(line=1182, offs=35)") ; } tmp435 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp436 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp436 ; arg1 = tmp435 ; goto __ats_lab_aux1_33 ; // tail call } else { tmp433 = arg1 ; } /* end of [if] */ return (tmp433) ; } /* end of [aux1_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 25207(line=1185, offs=5) -- 25638(line=1208, offs=4) */ ATSstaticdec() ats_ptr_type aux2_34 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_bool_type, tmp440) ; ATSlocal (ats_int_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_int_type, tmp446) ; __ats_lab_aux2_34: do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp438) ; if (tmp440) { tmp441 = atspre_add_int_int (arg0, 1) ; arg0 = tmp441 ; arg1 = tmp439 ; goto __ats_lab_aux2_34 ; // tail call } else { tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg0) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp438) ; tmp444 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp444, atslab_0, tmp442) ; ats_selptrset_mac(anairiats_sum_1, tmp444, atslab_1, tmp443) ; tmp446 = atspre_add_int_int (arg0, 1) ; tmp445 = aux2_34 (tmp446, tmp439) ; tmp437 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp437, atslab_0, tmp444) ; ats_selptrset_mac(anairiats_sum_1, tmp437, atslab_1, tmp445) ; } /* end of [if] */ break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp437 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp437) ; } /* end of [aux2_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 25014(line=1176, offs=3) -- 25742(line=1214, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_int_type, tmp447) ; ATSlocal (ats_bool_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize: tmp448 = atspre_gte_int_int (arg0, 0) ; if (tmp448) { tmp447 = arg0 ; } else { tmp447 = 0 ; } /* end of [if] */ tmp449 = aux1_33 (arg0, arg1) ; tmp432 = aux2_34 (tmp447, tmp449) ; return (tmp432) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 25826(line=1219, offs=15) -- 25913(line=1221, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer: do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp451 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp452 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp451) ; tmp450 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp450, atslab_0, tmp452) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp450 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp450) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 26054(line=1230, offs=3) -- 26425(line=1249, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_bool_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer: do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp455 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp456 = ats_caselptrlab_mac(anairiats_sum_1, tmp454, atslab_0) ; tmp457 = ats_caselptrlab_mac(anairiats_sum_1, tmp454, atslab_1) ; tmp458 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp457) ; if (tmp458) { arg0 = tmp455 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer ; // tail call } else { tmp459 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp457) ; tmp461 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp456), atslab_l0ab_lab) ; tmp460 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp460, atslab_0, tmp461) ; ats_selptrset_mac(anairiats_sum_1, tmp460, atslab_1, tmp459) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (tmp455) ; tmp453 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp453, atslab_0, tmp460) ; ats_selptrset_mac(anairiats_sum_1, tmp453, atslab_1, tmp462) ; } /* end of [if] */ break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp453 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp453) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 26489(line=1253, offs=3) -- 26657(line=1264, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer: tmp464 = atspre_gt_int_int (arg0, 0) ; if (tmp464) { if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 26538(line=1257, offs=7) -- 26562(line=1257, offs=31)") ; } tmp465 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp466 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp466 ; arg1 = tmp465 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer ; // tail call } else { tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (arg1) ; } /* end of [if] */ return (tmp463) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 26736(line=1270, offs=3) -- 27108(line=1291, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lab_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lab_tyer: tmp468 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg0), atslab_d3lab_loc) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg0), atslab_d3lab_node) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp469)->tag != 0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp470 = ats_caselptrlab_mac(anairiats_sum_7, tmp469, atslab_0) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_lab (tmp468, tmp470) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (((ats_sum_ptr_type)tmp469)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp471 = ats_caselptrlab_mac(anairiats_sum_7, tmp469, atslab_0) ; tmp472 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp471, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_ind (tmp468, ats_castfn_mac(ats_ptr_type, tmp472)) ; break ; } while (0) ; return (tmp467) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lab_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 27156(line=1294, offs=14) -- 27215(line=1296, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer: tmp474 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lab_tyer) ; tmp473 = ats_castfn_mac(ats_ptr_type, tmp474) ; return (tmp473) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3lablst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 27297(line=1303, offs=3) -- 27636(line=1320, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_bool_type, tmp477) ; ATSlocal (ats_bool_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst: tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg2) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: __ats_lab_115_1: tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp476, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ; if (!tmp477) { goto __ats_lab_116_1 ; } tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool (arg0, arg1, ats_true_bool) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp476, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ; if (!tmp478) { goto __ats_lab_117_1 ; } tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool (arg0, arg1, ats_false_bool) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer (arg2) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cst (arg0, arg1, tmp479) ; break ; } while (0) ; return (tmp475) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 27714(line=1326, offs=1) -- 27862(line=1334, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst: tmp481 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize (arg3) ; tmp480 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpcst (arg0, arg1, arg2, tmp481) ; return (tmp480) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 27925(line=1338, offs=1) -- 28073(line=1346, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar: tmp483 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize (arg3) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpvar (arg0, arg1, arg2, tmp483) ; return (tmp482) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 28152(line=1352, offs=3) -- 28402(line=1366, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3at_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3at_tyer: tmp485 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_gm3at_loc) ; tmp487 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_gm3at_exp) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp487) ; tmp489 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_gm3at_pat) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (tmp489 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_0) ; tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp490) ; tmp488 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp488, atslab_0, tmp491) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (tmp489 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: tmp488 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__higmat_make (tmp485, tmp486, tmp488) ; return (tmp484) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3at_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 28453(line=1369, offs=14) -- 28550(line=1374, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer: tmp493 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3at_tyer) ; tmp492 = ats_castfn_mac(ats_ptr_type, tmp493) ; return (tmp492) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 28619(line=1379, offs=11) -- 28904(line=1394, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_int_type, tmp500) ; ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer: tmp495 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_loc) ; tmp497 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_pat) ; tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer (tmp497) ; tmp499 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_gua) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (tmp499) ; tmp500 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_seq) ; tmp501 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_neg) ; tmp503 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c3lau_body) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp503) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make (tmp495, tmp496, tmp498, tmp500, tmp501, tmp502) ; return (tmp494) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 28952(line=1397, offs=14) -- 29043(line=1402, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer: tmp505 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer) ; tmp504 = ats_castfn_mac(ats_ptr_type, tmp505) ; return (tmp504) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 29116(line=1408, offs=3) -- 29401(line=1423, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_int_type, tmp512) ; ATSlocal (ats_int_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2: tmp507 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_loc) ; tmp509 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_pat) ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3atlst_tyer2 (arg0, tmp509) ; tmp511 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_gua) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (tmp511) ; tmp512 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_seq) ; tmp513 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_neg) ; tmp515 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_c3lau_body) ; tmp514 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp515) ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make (tmp507, tmp508, tmp510, tmp512, tmp513, tmp514) ; return (tmp506) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_dynexp.dats: 29454(line=1427, offs=3) -- 29715(line=1441, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2: do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp516 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp518 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2 (arg0, tmp517) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (arg0, tmp518) ; tmp516 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp516, atslab_0, tmp519) ; ats_selptrset_mac(anairiats_sum_1, tmp516, atslab_1, tmp520) ; break ; } while (0) ; return (tmp516) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_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 () ; #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_typerase_dynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_dvar_dats.c0000664000175000017500000070133312655455557021215 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2var_sym ; ats_ptr_type atslab_d2var_loc ; ats_int_type atslab_d2var_level ; ats_int_type atslab_d2var_linval ; ats_bool_type atslab_d2var_isfix ; ats_bool_type atslab_d2var_isprf ; ats_ptr_type atslab_d2var_decarg ; ats_ptr_type atslab_d2var_addr ; ats_ptr_type atslab_d2var_view ; ats_ptr_type atslab_d2var_finknd ; ats_ptr_type atslab_d2var_type ; ats_ptr_type atslab_d2var_hisexp ; ats_ptr_type atslab_d2var_mastype ; ats_int_type atslab_d2var_utimes ; ats_int_type atslab_d2var_stamp ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_7 ; typedef struct { anairiats_rec_7 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_lvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_vbox_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINdone_4) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2var_stamp_make) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_utimes) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_listize) (ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2varmaplst_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2varmap_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2varmap_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2varset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2varset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2var_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type aux_46 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_46_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_50 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_50_closure_make () ; static ats_int_type __ats_fun_50_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_04199_ () ; static ats_int_type compare_elt_elt_04198_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_55 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_55_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_55_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_04206_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_04068_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_04051_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_59 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_59_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_59_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_04208_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type listize_64 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_listize_04223_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linset_make_nil_04227_ () ; static ats_void_type aux_69 (ats_ptr_type arg0) ; static ats_void_type linset_free_04234_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_04226_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_72 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_72_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_72_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type linset_is_member_04232_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_04325_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04379_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04355_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_76 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_76_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_76_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_04236_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_82 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_04251_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_85 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_04252_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_88 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_89 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_89_closure_make () ; static ats_int_type __ats_fun_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_make_nil_04257_ () ; static ats_int_type compare_key_key_04256_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type search_95 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type search_95_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type search_95_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_search_04262_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type funmap_search_opt_04263_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_04767_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04747_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type insert_99 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_99_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) ; static ats_ptr_type insert_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funmap_insert_04264_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_ptr_type listize_104 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funmap_listize_04273_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linmap_make_nil_04280_ () ; static ats_void_type _free_109 (ats_ptr_type arg0) ; static ats_void_type linmap_free_04297_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_key_key_04279_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_114 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_114_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_114_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_04285_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type linmap_search_opt_04287_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_04943_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_118 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_118_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_118_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_04288_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_ptr_type avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) ; static ats_bool_type takeout_125 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type takeout_125_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type takeout_125_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) ; static ats_bool_type linmap_remove_04290_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_129 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linmap_listize_04299_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) ; static ats_void_type f_132 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_void_type foreach_135 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type foreach_135_closure_make (ats_ptr_type env0) ; static ats_void_type foreach_135_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type linmap_foreach_funenv_04291_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type linmap_clear_funenv_04296_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type linmap_takeout_04289_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp140) ; ATSstatic (ats_ptr_type, statmp393) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp3 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp3) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 3014(line=112, offs=3) -- 3755(line=139, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2var_stamp_make () ; tmp2 = ptr_alloc_01070_anairiats_rec_1 () ; tmp4 = ats_selsin_mac(tmp2, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_sym) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_loc) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_level) = -1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_linval) = -1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_isfix) = ats_false_bool ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_isprf) = ats_false_bool ; tmp5 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_decarg) = tmp5 ; tmp6 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_addr) = tmp6 ; tmp7 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_view) = ats_castfn_mac(ats_ptr_type, tmp7) ; tmp8 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_finknd) = tmp8 ; tmp9 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_type) = tmp9 ; tmp10 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_hisexp) = tmp10 ; tmp11 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_mastype) = tmp11 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_utimes) = 0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2var_stamp) = tmp1 ; tmp0 = atspre_ref_make_view_ptr (tmp4) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 3828(line=145, offs=3) -- 3876(line=145, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 3952(line=152, offs=3) -- 4041(line=154, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp13 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_d2var_sym) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4095(line=158, offs=3) -- 4184(line=160, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc: tmp16 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp15 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp16), atslab_d2var_loc) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4240(line=164, offs=3) -- 4331(line=166, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level: tmp18 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_d2var_level) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4386(line=168, offs=17) -- 4476(line=170, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level: tmp20 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp20), atslab_d2var_level) = arg1 ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4535(line=174, offs=3) -- 4627(line=176, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval: tmp22 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp21 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp22), atslab_d2var_linval) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4684(line=178, offs=18) -- 4775(line=180, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp24), atslab_d2var_linval) = arg1 ; return /* (tmp23) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4834(line=184, offs=3) -- 4925(line=186, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isfix (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isfix: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp25 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp26), atslab_d2var_isfix) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isfix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 4980(line=188, offs=17) -- 5074(line=190, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp28), atslab_d2var_isfix) = arg1 ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5132(line=194, offs=3) -- 5223(line=196, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isprf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isprf: tmp30 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp29 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp30), atslab_d2var_isprf) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_isprf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5278(line=198, offs=17) -- 5372(line=200, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf: tmp32 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp32), atslab_d2var_isprf) = arg1 ; return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isprf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5431(line=204, offs=3) -- 5523(line=206, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg: tmp34 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp33 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp34), atslab_d2var_decarg) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5580(line=208, offs=18) -- 5677(line=210, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_decarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_decarg: tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp36), atslab_d2var_decarg) = arg1 ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_decarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5735(line=214, offs=3) -- 5825(line=216, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp37 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp38), atslab_d2var_addr) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 5878(line=218, offs=16) -- 5973(line=220, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr: tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp40), atslab_d2var_addr) = arg1 ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6029(line=224, offs=3) -- 6146(line=228, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view: tmp42 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp43 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp42), atslab_d2var_view) ; tmp41 = ats_castfn_mac(ats_ptr_type, tmp43) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6199(line=230, offs=16) -- 6315(line=234, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view: tmp45 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp45), atslab_d2var_view) = ats_castfn_mac(ats_ptr_type, arg1) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6373(line=238, offs=3) -- 6465(line=240, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd: tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp46 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp47), atslab_d2var_finknd) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6522(line=242, offs=18) -- 6613(line=244, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd: tmp49 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp49), atslab_d2var_finknd) = arg1 ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6690(line=249, offs=16) -- 6782(line=252, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type: tmp51 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp50 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp51), atslab_d2var_type) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 6835(line=254, offs=16) -- 6924(line=256, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type: tmp53 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp53), atslab_d2var_type) = arg1 ; return /* (tmp52) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7004(line=262, offs=3) -- 7097(line=264, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype: tmp55 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp54 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp55), atslab_d2var_mastype) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7156(line=266, offs=19) -- 7248(line=268, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype: tmp57 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp57), atslab_d2var_mastype) = arg1 ; return /* (tmp56) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7330(line=274, offs=3) -- 7422(line=276, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_hisexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_hisexp: tmp59 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp58 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp59), atslab_d2var_hisexp) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7479(line=278, offs=18) -- 7570(line=280, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_hisexp: tmp61 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp61), atslab_d2var_hisexp) = arg1 ; return /* (tmp60) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7649(line=285, offs=18) -- 7741(line=287, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes: tmp63 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp62 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp63), atslab_d2var_utimes) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7798(line=289, offs=18) -- 7906(line=291, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_utimes (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_utimes: tmp65 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp65), atslab_d2var_utimes) = arg1 ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_utimes] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 7963(line=294, offs=17) -- 8054(line=296, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp: tmp67 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp66 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp67), atslab_d2var_stamp) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8155(line=303, offs=18) -- 8238(line=305, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (arg0) ; tmp70 = atspre_add_int_int (tmp69, 1) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (arg0, tmp70) ; return /* (tmp68) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8296(line=308, offs=18) -- 8383(line=310, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (arg0) ; tmp73 = atspre_add_int_int (tmp72, 1) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_utimes (arg0, tmp73) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_utimes] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8461(line=315, offs=17) -- 8495(line=315, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (arg0) ; tmp74 = atspre_gte_int_int (tmp75, 0) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8524(line=318, offs=17) -- 8595(line=319, offs=64) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl: tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (arg0) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp77 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp76 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp77 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp76 = ats_false_bool ; break ; } while (0) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8671(line=325, offs=16) -- 8715(line=325, offs=60) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, arg1) ; tmp78 = atspre_ieq (tmp79, 0) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8743(line=327, offs=17) -- 8788(line=327, offs=62) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2var_d2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2var_d2var: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, arg1) ; tmp80 = atspre_ineq (tmp81, 0) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__neq_d2var_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8842(line=332, offs=21) -- 8921(line=333, offs=69) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg0) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg1) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp83, tmp84) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 8990(line=338, offs=3) -- 9085(line=339, offs=70) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol (tmp86, tmp87) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 9172(line=346, offs=3) -- 9294(line=351, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_exch_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_exch_type: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg0) ; /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg0, arg1) ; tmp88 = tmp89 ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_exch_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 9379(line=357, offs=3) -- 9838(line=374, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (arg0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp94 = tmp95 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp93) ; tmp98 = atspre_string_append (tmp96, ATSstrcst("$view")) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp98) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp92, tmp97) ; break ; } while (0) ; /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp94, 0) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (arg0) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr (tmp94, tmp101) ; tmp91 = tmp94 ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 9913(line=378, offs=3) -- 9962(line=378, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make_none: tmp103 = (ats_sum_ptr_type)0 ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make (arg0, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10046(line=384, offs=13) -- 10084(line=384, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2var: /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (stdout, arg0) ; return /* (tmp104) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10107(line=386, offs=13) -- 10145(line=386, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var: /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (stderr, arg0) ; return /* (tmp105) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10172(line=390, offs=3) -- 10459(line=402, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_int_type, tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_int_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp108) ; /* tmp109 = */ atspre_fprint_string (arg0, ATSstrcst("$")) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_stamp (arg1) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp111) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (arg1) ; /* tmp113 = */ atspre_fprint_int (arg0, tmp114) ; /* tmp106 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp106) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_46 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_bool_type, tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_int_type, tmp123) ; __ats_lab_aux_46: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp119 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp121 = atspre_gt_int_int (arg1, 0) ; if (tmp121) { /* tmp120 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp122 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp118) ; tmp123 = atspre_add_int_int (arg1, 1) ; arg0 = tmp119 ; arg1 = tmp123 ; goto __ats_lab_aux_46 ; // tail call break ; } while (0) ; return /* (tmp117) */ ; } /* end of [aux_46] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_46_closure_type ; ats_void_type aux_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_46 (((aux_46_closure_type*)cloptr)->closure_env_0, ((aux_46_closure_type*)cloptr)->closure_env_1, ((aux_46_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_46_closure_init (aux_46_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_46_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_46_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_46_closure_type *p_clo = ATS_MALLOC(sizeof(aux_46_closure_type)) ; aux_46_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp116) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp116 = */ aux_46 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp116) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10517(line=406, offs=3) -- 10576(line=406, offs=62) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst: /* tmp115 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) ; return /* (tmp115) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10650(line=412, offs=14) -- 10685(line=412, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2vfin (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2vfin: /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin (stdout, arg0) ; return /* (tmp124) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2vfin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10709(line=414, offs=14) -- 10744(line=414, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2vfin (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2vfin: /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin (stderr, arg0) ; return /* (tmp125) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2vfin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 10772(line=418, offs=3) -- 11455(line=449, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst("D2VFINnone()")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("D2VFINsome(")) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp127) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp131 = */ atspre_fprint_string (arg0, ATSstrcst("D2VFINsome_lvar(")) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp130) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp134 = */ atspre_fprint_string (arg0, ATSstrcst("D2VFINsome_vbox(")) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp133) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp137 = */ atspre_fprint_string (arg0, ATSstrcst("D2VFINdone(")) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin (arg0, tmp136) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp126) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2vfin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 11709(line=463, offs=11) -- 11794(line=466, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_50 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp139) ; __ats_lab___ats_fun_50: tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, arg1) ; return (tmp139) ; } /* end of [__ats_fun_50] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_50_closure_type ; ats_int_type __ats_fun_50_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_50 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_50_closure_init (__ats_fun_50_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_50_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_50_closure_make () { __ats_fun_50_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_50_closure_type)) ; __ats_fun_50_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_04199_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; __ats_lab_funset_make_nil_04199_: tmp142 = (ats_sum_ptr_type)0 ; return (tmp142) ; } /* end of [funset_make_nil_04199_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 11939(line=475, offs=14) -- 11966(line=475, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_nil: tmp141 = funset_make_nil_04199_ () ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_04198_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp150) ; __ats_lab_compare_elt_elt_04198_ats_ptr_type: tmp150 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp150) ; } /* end of [compare_elt_elt_04198_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4143(line=153, offs=7) -- 4406(line=161, offs=20) */ ATSstaticdec() ats_bool_type aux_55 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_bool_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; __ats_lab_aux_55: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp149 = compare_elt_elt_04198_ats_ptr_type (env0, tmp146, env1) ; tmp151 = atspre_lt_int_int (tmp149, 0) ; if (tmp151) { arg0 = tmp147 ; goto __ats_lab_aux_55 ; // tail call } else { tmp152 = atspre_gt_int_int (tmp149, 0) ; if (tmp152) { arg0 = tmp148 ; goto __ats_lab_aux_55 ; // tail call } else { tmp145 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp145 = ats_false_bool ; break ; } while (0) ; return (tmp145) ; } /* end of [aux_55] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_55_closure_type ; ats_bool_type aux_55_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_55 (((aux_55_closure_type*)cloptr)->closure_env_0, ((aux_55_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_55_closure_init (aux_55_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_55_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_55_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_55_closure_type *p_clo = ATS_MALLOC(sizeof(aux_55_closure_type)) ; aux_55_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4104(line=152, offs=3) -- 4426(line=163, offs=2) */ ATSstaticdec() ats_bool_type funset_is_member_04206_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp144) ; __ats_lab_funset_is_member_04206_ats_ptr_type: tmp144 = aux_55 (arg1, arg2, arg0) ; return (tmp144) ; } /* end of [funset_is_member_04206_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 11995(line=479, offs=3) -- 12038(line=479, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_ismem: tmp143 = funset_is_member_04206_ats_ptr_type (arg0, arg1, statmp140) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04068_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_bool_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_int_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_int_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; __ats_lab_avltree_rrotate_04068_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp174 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_2) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_3) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp175 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_5, tmp175, atslab_0) ; tmp177 = tmp178 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp175 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp177 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp176 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_5, tmp176, atslab_0) ; tmp179 = tmp180 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp176 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp179 = 0 ; break ; } while (0) ; tmp182 = atspre_iadd (tmp177, 0) ; tmp181 = atspre_igte (tmp182, tmp179) ; if (tmp181) { tmp183 = atspre_iadd (tmp179, 1) ; tmp185 = atspre_imax (tmp177, tmp183) ; tmp184 = atspre_iadd (1, tmp185) ; tmp186 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_0, tmp183) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_2, tmp176) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_3, arg4) ; tmp173 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_0, tmp184) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_1, tmp174) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_2, tmp175) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_3, tmp186) ; } else { // if (tmp176 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp187 = ats_caselptrlab_mac(anairiats_sum_5, tmp176, atslab_1) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_5, tmp176, atslab_2) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_5, tmp176, atslab_3) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (tmp188 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_5, tmp188, atslab_0) ; tmp190 = tmp191 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (tmp188 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp190 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp189 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_5, tmp189, atslab_0) ; tmp192 = tmp193 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (tmp189 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp192 = 0 ; break ; } while (0) ; tmp196 = atspre_imax (tmp177, tmp190) ; tmp195 = atspre_iadd (1, tmp196) ; tmp194 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp194, atslab_0, tmp195) ; ats_selptrset_mac(anairiats_sum_5, tmp194, atslab_1, tmp174) ; ats_selptrset_mac(anairiats_sum_5, tmp194, atslab_2, tmp175) ; ats_selptrset_mac(anairiats_sum_5, tmp194, atslab_3, tmp188) ; tmp199 = atspre_imax (tmp192, arg3) ; tmp198 = atspre_iadd (1, tmp199) ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp197, atslab_0, tmp198) ; ats_selptrset_mac(anairiats_sum_5, tmp197, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp197, atslab_2, tmp189) ; ats_selptrset_mac(anairiats_sum_5, tmp197, atslab_3, arg4) ; tmp173 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_1, tmp187) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_2, tmp194) ; ats_selptrset_mac(anairiats_sum_5, tmp173, atslab_3, tmp197) ; } /* end of [if] */ return (tmp173) ; } /* end of [avltree_rrotate_04068_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04051_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_int_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; ATSlocal (ats_bool_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_int_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; __ats_lab_avltree_lrotate_04051_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp211 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_1) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_2) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_3) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp212 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_0) ; tmp214 = tmp215 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp212 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp214 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp213 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_5, tmp213, atslab_0) ; tmp216 = tmp217 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp213 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp216 = 0 ; break ; } while (0) ; tmp219 = atspre_iadd (tmp216, 0) ; tmp218 = atspre_ilte (tmp214, tmp219) ; if (tmp218) { tmp220 = atspre_iadd (tmp214, 1) ; tmp222 = atspre_imax (tmp220, tmp216) ; tmp221 = atspre_iadd (1, tmp222) ; tmp223 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_0, tmp220) ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp223, atslab_3, tmp212) ; tmp210 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_0, tmp221) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_1, tmp211) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_2, tmp223) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_3, tmp213) ; } else { // if (tmp212 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp224 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_1) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_2) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_3) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp225 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp228 = ats_caselptrlab_mac(anairiats_sum_5, tmp225, atslab_0) ; tmp227 = tmp228 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp225 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp227 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp226 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_5, tmp226, atslab_0) ; tmp229 = tmp230 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp226 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp229 = 0 ; break ; } while (0) ; tmp233 = atspre_imax (arg1, tmp227) ; tmp232 = atspre_iadd (1, tmp233) ; tmp231 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_0, tmp232) ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp231, atslab_3, tmp225) ; tmp236 = atspre_imax (tmp229, tmp216) ; tmp235 = atspre_iadd (1, tmp236) ; tmp234 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp234, atslab_0, tmp235) ; ats_selptrset_mac(anairiats_sum_5, tmp234, atslab_1, tmp211) ; ats_selptrset_mac(anairiats_sum_5, tmp234, atslab_2, tmp226) ; ats_selptrset_mac(anairiats_sum_5, tmp234, atslab_3, tmp213) ; tmp210 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_1, tmp224) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_2, tmp231) ; ats_selptrset_mac(anairiats_sum_5, tmp210, atslab_3, tmp234) ; } /* end of [if] */ return (tmp210) ; } /* end of [avltree_lrotate_04051_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_59 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_bool_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_int_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_int_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_int_type, tmp171) ; ATSlocal (ats_int_type, tmp172) ; ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_bool_type, tmp206) ; ATSlocal (ats_int_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab_insert_59: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_13_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp162 = compare_elt_elt_04198_ats_ptr_type (env0, tmp159, env1) ; tmp163 = atspre_lt_int_int (tmp162, 0) ; if (tmp163) { tmp164 = insert_59 (env0, env1, tmp160, arg1) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp164 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_5, tmp164, atslab_0) ; tmp165 = tmp166 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp164 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp165 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp161 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_5, tmp161, atslab_0) ; tmp167 = tmp168 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp161 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp167 = 0 ; break ; } while (0) ; tmp170 = atspre_isub (tmp165, tmp167) ; tmp169 = atspre_ilte (tmp170, 1) ; if (tmp169) { tmp172 = atspre_imax (tmp165, tmp167) ; tmp171 = atspre_iadd (1, tmp172) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, tmp171) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, tmp159) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_2, tmp164) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_3, tmp161) ; } else { tmp157 = avltree_rrotate_04068_ats_ptr_type (tmp159, tmp165, tmp164, tmp167, tmp161) ; } /* end of [if] */ } else { tmp200 = atspre_gt_int_int (tmp162, 0) ; if (tmp200) { tmp201 = insert_59 (env0, env1, tmp161, arg1) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (tmp160 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_5, tmp160, atslab_0) ; tmp202 = tmp203 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (tmp160 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp202 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp201 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_5, tmp201, atslab_0) ; tmp204 = tmp205 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp201 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp204 = 0 ; break ; } while (0) ; tmp207 = atspre_isub (tmp204, tmp202) ; tmp206 = atspre_ilte (tmp207, 1) ; if (tmp206) { tmp209 = atspre_imax (tmp202, tmp204) ; tmp208 = atspre_iadd (1, tmp209) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, tmp208) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, tmp159) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_2, tmp160) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_3, tmp201) ; } else { tmp157 = avltree_lrotate_04051_ats_ptr_type (tmp159, tmp202, tmp160, tmp204, tmp201) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, tmp158) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_2, tmp160) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_3, tmp161) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp237 = (ats_sum_ptr_type)0 ; tmp238 = (ats_sum_ptr_type)0 ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_2, tmp237) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_3, tmp238) ; break ; } while (0) ; return (tmp157) ; } /* end of [insert_59] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_59_closure_type ; ats_ptr_type insert_59_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_59 (((insert_59_closure_type*)cloptr)->closure_env_0, ((insert_59_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_59_closure_init (insert_59_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_59_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_59_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_59_closure_type *p_clo = ATS_MALLOC(sizeof(insert_59_closure_type)) ; insert_59_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_04208_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_bool_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab_funset_insert_04208_ats_ptr_type: /* ats_bool_type tmp239 ; */ tmp240 = insert_59 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp239)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp240 ; tmp156 = tmp239 ; return (tmp156) ; } /* end of [funset_insert_04208_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12092(line=484, offs=3) -- 12181(line=487, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_bool_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_add: /* ats_ptr_type tmp154 ; */ tmp154 = arg0 ; tmp155 = funset_insert_04208_ats_ptr_type ((&tmp154), arg1, statmp140) ; tmp153 = tmp154 ; return (tmp153) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20241(line=721, offs=7) -- 20545(line=732, offs=18) */ ATSstaticdec() ats_ptr_type listize_64 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab_listize_64: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp244 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp246 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp247 = listize_64 (tmp246, arg1) ; tmp248 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp248, atslab_0, tmp244) ; ats_selptrset_mac(anairiats_sum_3, tmp248, atslab_1, tmp247) ; arg0 = tmp245 ; arg1 = tmp248 ; goto __ats_lab_listize_64 ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp243 = arg1 ; break ; } while (0) ; return (tmp243) ; } /* end of [listize_64] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20189(line=719, offs=16) -- 20605(line=736, offs=4) */ ATSstaticdec() ats_ptr_type funset_listize_04223_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab_funset_listize_04223_ats_ptr_type: tmp249 = (ats_sum_ptr_type)0 ; tmp242 = listize_64 (arg0, tmp249) ; return (tmp242) ; } /* end of [funset_listize_04223_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12235(line=490, offs=18) -- 12264(line=490, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_listize: tmp241 = funset_listize_04223_ats_ptr_type (arg0) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_04227_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp251) ; __ats_lab_linset_make_nil_04227_: tmp251 = (ats_sum_ptr_type)0 ; return (tmp251) ; } /* end of [linset_make_nil_04227_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12314(line=495, offs=17) -- 12341(line=495, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil: tmp250 = linset_make_nil_04227_ () ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_69 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; __ats_lab_aux_69: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp256 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp257 = */ aux_69 (tmp255) ; arg0 = tmp256 ; goto __ats_lab_aux_69 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: break ; } while (0) ; return /* (tmp254) */ ; } /* end of [aux_69] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_04234_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp253) ; __ats_lab_linset_free_04234_ats_ptr_type: /* tmp253 = */ aux_69 (arg0) ; return /* (tmp253) */ ; } /* end of [linset_free_04234_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12370(line=498, offs=18) -- 12396(line=498, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_free: /* tmp252 = */ linset_free_04234_ats_ptr_type (arg0) ; return /* (tmp252) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_04226_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp265) ; __ats_lab_compare_elt_elt_04226_ats_ptr_type: tmp265 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp265) ; } /* end of [compare_elt_elt_04226_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3861(line=149, offs=7) -- 4231(line=160, offs=33) */ ATSstaticdec() ats_bool_type aux_72 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; ATSlocal (ats_bool_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_bool_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab_aux_72: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp262 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp263 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp264 = compare_elt_elt_04226_ats_ptr_type (env0, tmp261, env1) ; tmp266 = atspre_lt_int_int (tmp264, 0) ; if (tmp266) { tmp267 = ats_ptrget_mac(ats_ptr_type, tmp262) ; arg0 = tmp267 ; goto __ats_lab_aux_72 ; // tail call } else { tmp268 = atspre_gt_int_int (tmp264, 0) ; if (tmp268) { tmp269 = ats_ptrget_mac(ats_ptr_type, tmp263) ; arg0 = tmp269 ; goto __ats_lab_aux_72 ; // tail call } else { tmp260 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp260 = ats_false_bool ; break ; } while (0) ; return (tmp260) ; } /* end of [aux_72] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_72_closure_type ; ats_bool_type aux_72_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_72 (((aux_72_closure_type*)cloptr)->closure_env_0, ((aux_72_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_72_closure_init (aux_72_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_72_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_72_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_72_closure_type *p_clo = ATS_MALLOC(sizeof(aux_72_closure_type)) ; aux_72_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3822(line=148, offs=3) -- 4251(line=162, offs=2) */ ATSstaticdec() ats_bool_type linset_is_member_04232_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp259) ; __ats_lab_linset_is_member_04232_ats_ptr_type: tmp259 = aux_72 (arg1, arg2, arg0) ; return (tmp259) ; } /* end of [linset_is_member_04232_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12429(line=502, offs=3) -- 12472(line=502, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp258) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem: tmp258 = linset_is_member_04232_ats_ptr_type (arg0, arg1, statmp140) ; return (tmp258) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_04325_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; __ats_lab_avltree_height_04325_ats_ptr_type: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp284 = tmp285 ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp284 = 0 ; break ; } while (0) ; return (tmp284) ; } /* end of [avltree_height_04325_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04379_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_bool_type, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_int_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_int_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; __ats_lab_avltree_rrotate_04379_ats_ptr_type: tmp295 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp295 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp296 = &ats_caselptrlab_mac(anairiats_sum_5, tmp295, atslab_0) ; tmp297 = &ats_caselptrlab_mac(anairiats_sum_5, tmp295, atslab_2) ; tmp298 = &ats_caselptrlab_mac(anairiats_sum_5, tmp295, atslab_3) ; tmp300 = ats_ptrget_mac(ats_ptr_type, tmp297) ; tmp299 = avltree_height_04325_ats_ptr_type (tmp300) ; tmp302 = ats_ptrget_mac(ats_ptr_type, tmp298) ; tmp301 = avltree_height_04325_ats_ptr_type (tmp302) ; tmp304 = atspre_iadd (tmp299, 0) ; tmp303 = atspre_igte (tmp304, tmp301) ; if (tmp303) { tmp305 = atspre_iadd (tmp301, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp305 ; tmp306 = ats_ptrget_mac(ats_ptr_type, tmp298) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp306 ; tmp308 = atspre_imax (tmp299, tmp305) ; tmp307 = atspre_iadd (1, tmp308) ; ats_ptrget_mac(ats_int_type, tmp296) = tmp307 ; ats_ptrget_mac(ats_ptr_type, tmp298) = arg5 ; tmp294 = tmp295 ; } else { tmp309 = ats_ptrget_mac(ats_ptr_type, tmp298) ; // if (tmp309 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp310 = &ats_caselptrlab_mac(anairiats_sum_5, tmp309, atslab_0) ; tmp311 = &ats_caselptrlab_mac(anairiats_sum_5, tmp309, atslab_2) ; tmp312 = &ats_caselptrlab_mac(anairiats_sum_5, tmp309, atslab_3) ; tmp314 = ats_ptrget_mac(ats_ptr_type, tmp311) ; tmp313 = avltree_height_04325_ats_ptr_type (tmp314) ; tmp316 = ats_ptrget_mac(ats_ptr_type, tmp312) ; tmp315 = avltree_height_04325_ats_ptr_type (tmp316) ; tmp318 = atspre_imax (tmp315, arg3) ; tmp317 = atspre_iadd (1, tmp318) ; ats_ptrget_mac(ats_int_type, arg0) = tmp317 ; tmp319 = ats_ptrget_mac(ats_ptr_type, tmp312) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp319 ; tmp321 = atspre_imax (tmp299, tmp313) ; tmp320 = atspre_iadd (1, tmp321) ; ats_ptrget_mac(ats_int_type, tmp296) = tmp320 ; tmp322 = ats_ptrget_mac(ats_ptr_type, tmp311) ; ats_ptrget_mac(ats_ptr_type, tmp298) = tmp322 ; ats_ptrget_mac(ats_int_type, tmp310) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp311) = tmp295 ; ats_ptrget_mac(ats_ptr_type, tmp312) = arg5 ; tmp294 = tmp309 ; } /* end of [if] */ return (tmp294) ; } /* end of [avltree_rrotate_04379_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04355_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_int_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_bool_type, tmp343) ; ATSlocal (ats_int_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_int_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_int_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; __ats_lab_avltree_lrotate_04355_ats_ptr_type: tmp335 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp335 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp336 = &ats_caselptrlab_mac(anairiats_sum_5, tmp335, atslab_0) ; tmp337 = &ats_caselptrlab_mac(anairiats_sum_5, tmp335, atslab_2) ; tmp338 = &ats_caselptrlab_mac(anairiats_sum_5, tmp335, atslab_3) ; tmp340 = ats_ptrget_mac(ats_ptr_type, tmp337) ; tmp339 = avltree_height_04325_ats_ptr_type (tmp340) ; tmp342 = ats_ptrget_mac(ats_ptr_type, tmp338) ; tmp341 = avltree_height_04325_ats_ptr_type (tmp342) ; tmp344 = atspre_iadd (tmp341, 0) ; tmp343 = atspre_ilte (tmp339, tmp344) ; if (tmp343) { tmp345 = atspre_iadd (tmp339, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp345 ; tmp346 = ats_ptrget_mac(ats_ptr_type, tmp337) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp346 ; tmp348 = atspre_imax (tmp345, tmp341) ; tmp347 = atspre_iadd (1, tmp348) ; ats_ptrget_mac(ats_int_type, tmp336) = tmp347 ; ats_ptrget_mac(ats_ptr_type, tmp337) = arg5 ; tmp334 = tmp335 ; } else { tmp349 = ats_ptrget_mac(ats_ptr_type, tmp337) ; // if (tmp349 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp350 = &ats_caselptrlab_mac(anairiats_sum_5, tmp349, atslab_0) ; tmp351 = &ats_caselptrlab_mac(anairiats_sum_5, tmp349, atslab_2) ; tmp352 = &ats_caselptrlab_mac(anairiats_sum_5, tmp349, atslab_3) ; tmp354 = ats_ptrget_mac(ats_ptr_type, tmp351) ; tmp353 = avltree_height_04325_ats_ptr_type (tmp354) ; tmp356 = ats_ptrget_mac(ats_ptr_type, tmp352) ; tmp355 = avltree_height_04325_ats_ptr_type (tmp356) ; tmp358 = atspre_imax (arg1, tmp353) ; tmp357 = atspre_iadd (1, tmp358) ; ats_ptrget_mac(ats_int_type, arg0) = tmp357 ; tmp359 = ats_ptrget_mac(ats_ptr_type, tmp351) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp359 ; tmp361 = atspre_imax (tmp355, tmp341) ; tmp360 = atspre_iadd (1, tmp361) ; ats_ptrget_mac(ats_int_type, tmp336) = tmp360 ; tmp362 = ats_ptrget_mac(ats_ptr_type, tmp352) ; ats_ptrget_mac(ats_ptr_type, tmp337) = tmp362 ; ats_ptrget_mac(ats_int_type, tmp350) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp351) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp352) = tmp335 ; tmp334 = tmp349 ; } /* end of [if] */ return (tmp334) ; } /* end of [avltree_lrotate_04355_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_76 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_bool_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_int_type, tmp283) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_bool_type, tmp289) ; ATSlocal (ats_int_type, tmp290) ; ATSlocal (ats_int_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_bool_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_int_type, tmp330) ; ATSlocal (ats_int_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab_insert_76: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_45_1: tmp275 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp276 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp277 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp278 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp280 = ats_ptrget_mac(ats_ptr_type, tmp276) ; tmp279 = compare_elt_elt_04226_ats_ptr_type (arg1, tmp280, env0) ; tmp281 = atspre_lt_int_int (tmp279, 0) ; if (tmp281) { tmp282 = insert_76 (env0, tmp277, arg1) ; tmp286 = ats_ptrget_mac(ats_ptr_type, tmp277) ; tmp283 = avltree_height_04325_ats_ptr_type (tmp286) ; tmp288 = ats_ptrget_mac(ats_ptr_type, tmp278) ; tmp287 = avltree_height_04325_ats_ptr_type (tmp288) ; tmp290 = atspre_isub (tmp283, tmp287) ; tmp289 = atspre_ilte (tmp290, 1) ; if (tmp289) { tmp292 = atspre_imax (tmp283, tmp287) ; tmp291 = atspre_iadd (1, tmp292) ; ats_ptrget_mac(ats_int_type, tmp275) = tmp291 ; tmp274 = tmp282 ; } else { tmp293 = avltree_rrotate_04379_ats_ptr_type (tmp275, tmp283, tmp277, tmp287, tmp278, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp293 ; tmp274 = tmp282 ; } /* end of [if] */ } else { tmp323 = atspre_gt_int_int (tmp279, 0) ; if (tmp323) { tmp324 = insert_76 (env0, tmp278, arg1) ; tmp326 = ats_ptrget_mac(ats_ptr_type, tmp277) ; tmp325 = avltree_height_04325_ats_ptr_type (tmp326) ; tmp328 = ats_ptrget_mac(ats_ptr_type, tmp278) ; tmp327 = avltree_height_04325_ats_ptr_type (tmp328) ; tmp330 = atspre_isub (tmp327, tmp325) ; tmp329 = atspre_ilte (tmp330, 1) ; if (tmp329) { tmp332 = atspre_imax (tmp325, tmp327) ; tmp331 = atspre_iadd (1, tmp332) ; ats_ptrget_mac(ats_int_type, tmp275) = tmp331 ; tmp274 = tmp324 ; } else { tmp333 = avltree_lrotate_04355_ats_ptr_type (tmp275, tmp325, tmp277, tmp327, tmp278, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp333 ; tmp274 = tmp324 ; } /* end of [if] */ } else { tmp274 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp364 = (ats_sum_ptr_type)0 ; tmp365 = (ats_sum_ptr_type)0 ; tmp363 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp363, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp363, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp363, atslab_2, tmp364) ; ats_selptrset_mac(anairiats_sum_5, tmp363, atslab_3, tmp365) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp363 ; tmp274 = ats_false_bool ; break ; } while (0) ; return (tmp274) ; } /* end of [insert_76] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_76_closure_type ; ats_bool_type insert_76_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_76 (((insert_76_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_76_closure_init (insert_76_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_76_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_76_closure_make (ats_clo_ref_type env0) { insert_76_closure_type *p_clo = ATS_MALLOC(sizeof(insert_76_closure_type)) ; insert_76_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_04236_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp273) ; __ats_lab_linset_insert_04236_ats_ptr_type: tmp273 = insert_76 (arg2, arg0, arg1) ; return (tmp273) ; } /* end of [linset_insert_04236_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12532(line=507, offs=3) -- 12621(line=510, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_bool_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add: /* ats_ptr_type tmp271 ; */ tmp271 = arg0 ; tmp272 = linset_insert_04236_ats_ptr_type ((&tmp271), arg1, statmp140) ; tmp270 = tmp271 ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27430(line=997, offs=7) -- 27766(line=1008, offs=31) */ ATSstaticdec() ats_ptr_type aux_82 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab_aux_82: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp370 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp371 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp373 = ats_ptrget_mac(ats_ptr_type, tmp371) ; tmp372 = aux_82 (tmp373, arg1) ; tmp374 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp374, atslab_0, tmp369) ; ats_selptrset_mac(anairiats_sum_3, tmp374, atslab_1, tmp372) ; tmp375 = ats_ptrget_mac(ats_ptr_type, tmp370) ; arg0 = tmp375 ; arg1 = tmp374 ; goto __ats_lab_aux_82 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp368 = arg1 ; break ; } while (0) ; return (tmp368) ; } /* end of [aux_82] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27379(line=995, offs=16) -- 27815(line=1012, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_04251_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab_linset_listize_04251_ats_ptr_type: tmp376 = (ats_sum_ptr_type)0 ; tmp367 = aux_82 (arg0, tmp376) ; return (tmp367) ; } /* end of [linset_listize_04251_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12681(line=513, offs=21) -- 12710(line=513, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp366) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize: tmp366 = linset_listize_04251_ats_ptr_type (arg0) ; return (tmp366) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_85 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; __ats_lab_aux_85: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp380 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp381 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp382 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp383 = aux_85 (tmp382, arg1) ; tmp384 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp384, atslab_0, tmp380) ; ats_selptrset_mac(anairiats_sum_3, tmp384, atslab_1, tmp383) ; arg0 = tmp381 ; arg1 = tmp384 ; goto __ats_lab_aux_85 ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp379 = arg1 ; break ; } while (0) ; return (tmp379) ; } /* end of [aux_85] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_04252_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp385) ; __ats_lab_linset_listize_free_04252_ats_ptr_type: tmp385 = (ats_sum_ptr_type)0 ; tmp378 = aux_85 (arg0, tmp385) ; return (tmp378) ; } /* end of [linset_listize_free_04252_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12747(line=515, offs=26) -- 12781(line=515, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp377) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize_free: tmp377 = linset_listize_free_04252_ats_ptr_type (arg0) ; return (tmp377) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize_free] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_88 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; __ats_lab_loop_88: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp391 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp391 ; goto __ats_lab_loop_88 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: break ; } while (0) ; return /* (tmp390) */ ; } /* end of [loop_88] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp389) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp389 = */ loop_88 (arg0) ; return /* (tmp389) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 12856(line=523, offs=3) -- 13014(line=530, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; // ATSlocal_void (tmp388) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varset: tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_listize (arg1) ; /* tmp388 = */ fprintlst_01885_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, tmp387), ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) ; /* tmp386 = */ list_vt_free_01499_ats_ptr_type (tmp387) ; return /* (tmp386) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13270(line=544, offs=11) -- 13355(line=547, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_89 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp392) ; __ats_lab___ats_fun_89: tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (arg0, arg1) ; return (tmp392) ; } /* end of [__ats_fun_89] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_89_closure_type ; ats_int_type __ats_fun_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_89 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_89_closure_init (__ats_fun_89_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_89_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_89_closure_make () { __ats_fun_89_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_89_closure_type)) ; __ats_fun_89_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 2871(line=98, offs=29) -- 2880(line=98, offs=38) */ ATSstaticdec() ats_ptr_type funmap_make_nil_04257_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp395) ; __ats_lab_funmap_make_nil_04257_: tmp395 = (ats_sum_ptr_type)0 ; return (tmp395) ; } /* end of [funmap_make_nil_04257_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13588(line=560, offs=14) -- 13615(line=560, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil: tmp394 = funmap_make_nil_04257_ () ; return (tmp394) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 1960(line=59, offs=32) -- 1988(line=59, offs=60) */ ATSstaticdec() ats_int_type compare_key_key_04256_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp407) ; __ats_lab_compare_key_key_04256_ats_ptr_type: tmp407 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp407) ; } /* end of [compare_key_key_04256_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3756(line=137, offs=7) -- 4334(line=154, offs=6) */ ATSstaticdec() ats_bool_type search_95 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_int_type, tmp406) ; ATSlocal (ats_bool_type, tmp408) ; ATSlocal (ats_bool_type, tmp409) ; __ats_lab_search_95: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_55_1: tmp402 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp403 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp404 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp405 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp406 = compare_key_key_04256_ats_ptr_type (env0, tmp402, env1) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp408 = atspre_lt_int_int (tmp406, 0) ; if (!tmp408) { goto __ats_lab_57_1 ; } arg0 = tmp404 ; arg1 = arg1 ; goto __ats_lab_search_95 ; // tail call break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: tmp409 = atspre_gt_int_int (tmp406, 0) ; if (!tmp409) { goto __ats_lab_58_1 ; } arg0 = tmp405 ; arg1 = arg1 ; goto __ats_lab_search_95 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: ats_ptrget_mac(ats_ptr_type, arg1) = tmp403 ; tmp401 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp401 = ats_false_bool ; break ; } while (0) ; return (tmp401) ; } /* end of [search_95] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_95_closure_type ; ats_bool_type search_95_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return search_95 (((search_95_closure_type*)cloptr)->closure_env_0, ((search_95_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type search_95_closure_init (search_95_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_95_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_95_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_95_closure_type *p_clo = ATS_MALLOC(sizeof(search_95_closure_type)) ; search_95_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 3706(line=136, offs=3) -- 4355(line=155, offs=2) */ ATSstaticdec() ats_bool_type funmap_search_04262_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp400) ; __ats_lab_funmap_search_04262_ats_ptr_type_2cats_ptr_type: tmp400 = search_95 (arg1, arg2, arg0, arg3) ; return (tmp400) ; } /* end of [funmap_search_04262_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 4423(line=160, offs=3) -- 4687(line=173, offs=4) */ ATSstaticdec() ats_ptr_type funmap_search_opt_04263_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_bool_type, tmp399) ; __ats_lab_funmap_search_opt_04263_ats_ptr_type_2cats_ptr_type: /* ats_ptr_type tmp398 ; */ tmp399 = funmap_search_04262_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, (&tmp398)) ; if (tmp399) { tmp397 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp397, atslab_0, tmp398) ; } else { tmp397 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp397) ; } /* end of [funmap_search_opt_04263_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13649(line=564, offs=7) -- 13701(line=565, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp396) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search: tmp396 = funmap_search_opt_04263_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp393) ; return (tmp396) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 5755(line=209, offs=46) -- 6474(line=231, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04767_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_int_type, tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; ATSlocal (ats_int_type, tmp437) ; ATSlocal (ats_bool_type, tmp438) ; ATSlocal (ats_int_type, tmp439) ; ATSlocal (ats_int_type, tmp440) ; ATSlocal (ats_int_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_int_type, tmp448) ; ATSlocal (ats_int_type, tmp449) ; ATSlocal (ats_int_type, tmp450) ; ATSlocal (ats_int_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_int_type, tmp453) ; ATSlocal (ats_int_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_int_type, tmp456) ; ATSlocal (ats_int_type, tmp457) ; __ats_lab_avltree_rrotate_04767_ats_ptr_type_2cats_ptr_type: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp430 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_2) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_3) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_4) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (tmp432 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp435 = ats_caselptrlab_mac(anairiats_sum_6, tmp432, atslab_0) ; tmp434 = tmp435 ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (tmp432 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp434 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (tmp433 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp437 = ats_caselptrlab_mac(anairiats_sum_6, tmp433, atslab_0) ; tmp436 = tmp437 ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (tmp433 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp436 = 0 ; break ; } while (0) ; tmp439 = atspre_iadd (tmp434, 0) ; tmp438 = atspre_igte (tmp439, tmp436) ; if (tmp438) { tmp440 = atspre_iadd (tmp436, 1) ; tmp442 = atspre_imax (tmp434, tmp440) ; tmp441 = atspre_iadd (1, tmp442) ; tmp443 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp443, atslab_0, tmp440) ; ats_selptrset_mac(anairiats_sum_6, tmp443, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp443, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp443, atslab_3, tmp433) ; ats_selptrset_mac(anairiats_sum_6, tmp443, atslab_4, arg5) ; tmp429 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_0, tmp441) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_1, tmp430) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_2, tmp431) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_3, tmp432) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_4, tmp443) ; } else { // if (tmp433 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp444 = ats_caselptrlab_mac(anairiats_sum_6, tmp433, atslab_1) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_6, tmp433, atslab_2) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_6, tmp433, atslab_3) ; tmp447 = ats_caselptrlab_mac(anairiats_sum_6, tmp433, atslab_4) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (tmp446 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_6, tmp446, atslab_0) ; tmp448 = tmp449 ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (tmp446 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp448 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp447 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp451 = ats_caselptrlab_mac(anairiats_sum_6, tmp447, atslab_0) ; tmp450 = tmp451 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp447 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp450 = 0 ; break ; } while (0) ; tmp454 = atspre_imax (tmp434, tmp448) ; tmp453 = atspre_iadd (1, tmp454) ; tmp452 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_0, tmp453) ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_1, tmp430) ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_2, tmp431) ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_3, tmp432) ; ats_selptrset_mac(anairiats_sum_6, tmp452, atslab_4, tmp446) ; tmp457 = atspre_imax (tmp450, arg4) ; tmp456 = atspre_iadd (1, tmp457) ; tmp455 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_0, tmp456) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_3, tmp447) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_4, arg5) ; tmp429 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_1, tmp444) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_2, tmp445) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_3, tmp452) ; ats_selptrset_mac(anairiats_sum_6, tmp429, atslab_4, tmp455) ; } /* end of [if] */ return (tmp429) ; } /* end of [avltree_rrotate_04767_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 4857(line=181, offs=46) -- 5607(line=203, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04747_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_int_type, tmp473) ; ATSlocal (ats_int_type, tmp474) ; ATSlocal (ats_int_type, tmp475) ; ATSlocal (ats_int_type, tmp476) ; ATSlocal (ats_bool_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_int_type, tmp480) ; ATSlocal (ats_int_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_int_type, tmp487) ; ATSlocal (ats_int_type, tmp488) ; ATSlocal (ats_int_type, tmp489) ; ATSlocal (ats_int_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_int_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_int_type, tmp496) ; __ats_lab_avltree_lrotate_04747_ats_ptr_type_2cats_ptr_type: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp469 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_1) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_2) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_3) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_4) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp471 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp474 = ats_caselptrlab_mac(anairiats_sum_6, tmp471, atslab_0) ; tmp473 = tmp474 ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp471 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp473 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (tmp472 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_6, tmp472, atslab_0) ; tmp475 = tmp476 ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp472 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp475 = 0 ; break ; } while (0) ; tmp478 = atspre_iadd (tmp475, 0) ; tmp477 = atspre_ilte (tmp473, tmp478) ; if (tmp477) { tmp479 = atspre_iadd (tmp473, 1) ; tmp481 = atspre_imax (tmp479, tmp475) ; tmp480 = atspre_iadd (1, tmp481) ; tmp482 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp482, atslab_0, tmp479) ; ats_selptrset_mac(anairiats_sum_6, tmp482, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp482, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp482, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp482, atslab_4, tmp471) ; tmp468 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_0, tmp480) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_1, tmp469) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_2, tmp470) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_3, tmp482) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_4, tmp472) ; } else { // if (tmp471 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp483 = ats_caselptrlab_mac(anairiats_sum_6, tmp471, atslab_1) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_6, tmp471, atslab_2) ; tmp485 = ats_caselptrlab_mac(anairiats_sum_6, tmp471, atslab_3) ; tmp486 = ats_caselptrlab_mac(anairiats_sum_6, tmp471, atslab_4) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (tmp485 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp488 = ats_caselptrlab_mac(anairiats_sum_6, tmp485, atslab_0) ; tmp487 = tmp488 ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (tmp485 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: tmp487 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (tmp486 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_6, tmp486, atslab_0) ; tmp489 = tmp490 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (tmp486 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: tmp489 = 0 ; break ; } while (0) ; tmp493 = atspre_imax (arg2, tmp487) ; tmp492 = atspre_iadd (1, tmp493) ; tmp491 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp491, atslab_0, tmp492) ; ats_selptrset_mac(anairiats_sum_6, tmp491, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp491, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp491, atslab_3, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp491, atslab_4, tmp485) ; tmp496 = atspre_imax (tmp489, tmp475) ; tmp495 = atspre_iadd (1, tmp496) ; tmp494 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp494, atslab_0, tmp495) ; ats_selptrset_mac(anairiats_sum_6, tmp494, atslab_1, tmp469) ; ats_selptrset_mac(anairiats_sum_6, tmp494, atslab_2, tmp470) ; ats_selptrset_mac(anairiats_sum_6, tmp494, atslab_3, tmp486) ; ats_selptrset_mac(anairiats_sum_6, tmp494, atslab_4, tmp472) ; tmp468 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_1, tmp483) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_2, tmp484) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_3, tmp491) ; ats_selptrset_mac(anairiats_sum_6, tmp468, atslab_4, tmp494) ; } /* end of [if] */ return (tmp468) ; } /* end of [avltree_lrotate_04747_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6597(line=238, offs=7) -- 7899(line=271, offs=6) */ ATSstaticdec() ats_ptr_type insert_99 (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_int_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_int_type, tmp418) ; ATSlocal (ats_bool_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_int_type, tmp421) ; ATSlocal (ats_int_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_int_type, tmp424) ; ATSlocal (ats_bool_type, tmp425) ; ATSlocal (ats_int_type, tmp426) ; ATSlocal (ats_int_type, tmp427) ; ATSlocal (ats_int_type, tmp428) ; ATSlocal (ats_bool_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_int_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_int_type, tmp462) ; ATSlocal (ats_int_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; ATSlocal (ats_int_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; ATSlocal (ats_int_type, tmp467) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; __ats_lab_insert_99: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_60_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp414 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp416 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp418 = compare_key_key_04256_ats_ptr_type (env0, tmp414, env2) ; tmp419 = atspre_lt_int_int (tmp418, 0) ; if (tmp419) { tmp420 = insert_99 (env0, env1, env2, tmp416, arg1) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (tmp420 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp422 = ats_caselptrlab_mac(anairiats_sum_6, tmp420, atslab_0) ; tmp421 = tmp422 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (tmp420 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp421 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp417 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_6, tmp417, atslab_0) ; tmp423 = tmp424 ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (tmp417 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp423 = 0 ; break ; } while (0) ; tmp426 = atspre_isub (tmp421, tmp423) ; tmp425 = atspre_ilte (tmp426, 1) ; if (tmp425) { tmp428 = atspre_imax (tmp421, tmp423) ; tmp427 = atspre_iadd (1, tmp428) ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_0, tmp427) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_1, tmp414) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_2, tmp415) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_3, tmp420) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_4, tmp417) ; } else { tmp412 = avltree_rrotate_04767_ats_ptr_type_2cats_ptr_type (tmp414, tmp415, tmp421, tmp420, tmp423, tmp417) ; } /* end of [if] */ } else { tmp458 = atspre_gt_int_int (tmp418, 0) ; if (tmp458) { tmp459 = insert_99 (env0, env1, env2, tmp417, arg1) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (tmp416 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp461 = ats_caselptrlab_mac(anairiats_sum_6, tmp416, atslab_0) ; tmp460 = tmp461 ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (tmp416 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp460 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp459 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp463 = ats_caselptrlab_mac(anairiats_sum_6, tmp459, atslab_0) ; tmp462 = tmp463 ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp459 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp462 = 0 ; break ; } while (0) ; tmp465 = atspre_isub (tmp462, tmp460) ; tmp464 = atspre_ilte (tmp465, 1) ; if (tmp464) { tmp467 = atspre_imax (tmp460, tmp462) ; tmp466 = atspre_iadd (1, tmp467) ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_0, tmp466) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_1, tmp414) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_2, tmp415) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_3, tmp416) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_4, tmp459) ; } else { tmp412 = avltree_lrotate_04747_ats_ptr_type_2cats_ptr_type (tmp414, tmp415, tmp460, tmp416, tmp462, tmp459) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_0, tmp413) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_1, tmp414) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_3, tmp416) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_4, tmp417) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp497 = (ats_sum_ptr_type)0 ; tmp498 = (ats_sum_ptr_type)0 ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_2, env1) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_3, tmp497) ; ats_selptrset_mac(anairiats_sum_6, tmp412, atslab_4, tmp498) ; break ; } while (0) ; return (tmp412) ; } /* end of [insert_99] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_clo_ref_type closure_env_2 ; } insert_99_closure_type ; ats_ptr_type insert_99_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_99 (((insert_99_closure_type*)cloptr)->closure_env_0, ((insert_99_closure_type*)cloptr)->closure_env_1, ((insert_99_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_99_closure_init (insert_99_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_99_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type insert_99_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_clo_ref_type env2) { insert_99_closure_type *p_clo = ATS_MALLOC(sizeof(insert_99_closure_type)) ; insert_99_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 6560(line=237, offs=3) -- 7985(line=274, offs=2) */ ATSstaticdec() ats_bool_type funmap_insert_04264_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp411) ; ATSlocal (ats_bool_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; __ats_lab_funmap_insert_04264_ats_ptr_type_2cats_ptr_type: /* ats_bool_type tmp499 ; */ tmp500 = insert_99 (arg1, arg2, arg3, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp499)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp500 ; tmp411 = tmp499 ; return (tmp411) ; } /* end of [funmap_insert_04264_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13763(line=570, offs=7) -- 13817(line=571, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp410) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert: tmp410 = funmap_insert_04264_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp393) ; return (tmp410) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 16338(line=542, offs=7) -- 16662(line=553, offs=18) */ ATSstaticdec() ats_ptr_type listize_104 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (anairiats_rec_7, tmp510) ; __ats_lab_listize_104: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp504 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp505 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp506 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp507 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp508 = listize_104 (tmp507, arg1) ; tmp510.atslab_0 = tmp504 ; tmp510.atslab_1 = tmp505 ; tmp509 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp509, atslab_0, tmp510) ; ats_selptrset_mac(anairiats_sum_8, tmp509, atslab_1, tmp508) ; arg0 = tmp506 ; arg1 = tmp509 ; goto __ats_lab_listize_104 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp503 = arg1 ; break ; } while (0) ; return (tmp503) ; } /* end of [listize_104] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funmap_avltree.dats: 16252(line=539, offs=16) -- 16722(line=557, offs=4) */ ATSstaticdec() ats_ptr_type funmap_listize_04273_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp511) ; __ats_lab_funmap_listize_04273_ats_ptr_type_2cats_ptr_type: tmp511 = (ats_sum_ptr_type)0 ; tmp502 = listize_104 (arg0, tmp511) ; return (tmp502) ; } /* end of [funmap_listize_04273_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13880(line=576, offs=7) -- 13911(line=576, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp501) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize: tmp501 = funmap_listize_04273_ats_ptr_type_2cats_ptr_type (arg0) ; return (tmp501) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_04280_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp513) ; __ats_lab_linmap_make_nil_04280_: tmp513 = (ats_sum_ptr_type)0 ; return (tmp513) ; } /* end of [linmap_make_nil_04280_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 13990(line=582, offs=17) -- 14017(line=582, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp512) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil: tmp512 = linmap_make_nil_04280_ () ; return (tmp512) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20597(line=699, offs=7) -- 20733(line=701, offs=65) */ ATSstaticdec() ats_void_type _free_109 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; // ATSlocal_void (tmp519) ; __ats_lab__free_109: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp518 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp519 = */ _free_109 (tmp517) ; arg0 = tmp518 ; goto __ats_lab__free_109 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: break ; } while (0) ; return /* (tmp516) */ ; } /* end of [_free_109] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20567(line=698, offs=13) -- 20755(line=703, offs=2) */ ATSstaticdec() ats_void_type linmap_free_04297_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp515) ; __ats_lab_linmap_free_04297_ats_ptr_type_2cats_ptr_type: /* tmp515 = */ _free_109 (arg0) ; return /* (tmp515) */ ; } /* end of [linmap_free_04297_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14046(line=585, offs=18) -- 14074(line=585, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp514) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_free: /* tmp514 = */ linmap_free_04297_ats_ptr_type_2cats_ptr_type (arg0) ; return /* (tmp514) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 2008(line=61, offs=17) -- 2036(line=61, offs=45) */ ATSstaticdec() ats_int_type compare_key_key_04279_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp533) ; __ats_lab_compare_key_key_04279_ats_ptr_type: tmp533 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp533) ; } /* end of [compare_key_key_04279_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_114 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_int_type, tmp532) ; ATSlocal (ats_bool_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_bool_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; __ats_lab_search_114: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_90_1: tmp528 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp529 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp530 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp531 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp532 = compare_key_key_04279_ats_ptr_type (env0, tmp528, env1) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: tmp534 = atspre_lt_int_int (tmp532, 0) ; if (!tmp534) { goto __ats_lab_92_1 ; } tmp535 = ats_ptrget_mac(ats_ptr_type, tmp530) ; arg0 = tmp535 ; goto __ats_lab_search_114 ; // tail call break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: tmp536 = atspre_gt_int_int (tmp532, 0) ; if (!tmp536) { goto __ats_lab_93_1 ; } tmp537 = ats_ptrget_mac(ats_ptr_type, tmp531) ; arg0 = tmp537 ; goto __ats_lab_search_114 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: __ats_lab_93_1: tmp527 = tmp529 ; break ; } while (0) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp527 = atspre_null_ptr ; break ; } while (0) ; return (tmp527) ; } /* end of [search_114] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_114_closure_type ; ats_ptr_type search_114_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_114 (((search_114_closure_type*)cloptr)->closure_env_0, ((search_114_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_114_closure_init (search_114_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_114_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_114_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_114_closure_type *p_clo = ATS_MALLOC(sizeof(search_114_closure_type)) ; search_114_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp526) ; __ats_lab_linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type: tmp526 = search_114 (arg1, arg2, arg0) ; return (tmp526) ; } /* end of [linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_04285_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_bool_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; __ats_lab_linmap_search_04285_ats_ptr_type_2cats_ptr_type: tmp525 = linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2) ; tmp538 = atspre_pgt (tmp525, atspre_null_ptr) ; if (tmp538) { tmp539 = ats_ptrget_mac(ats_ptr_type, tmp525) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp539 ; tmp524 = ats_true_bool ; } else { tmp524 = ats_false_bool ; } /* end of [if] */ return (tmp524) ; } /* end of [linmap_search_04285_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5224(line=196, offs=3) -- 5488(line=209, offs=4) */ ATSstaticdec() ats_ptr_type linmap_search_opt_04287_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_bool_type, tmp523) ; __ats_lab_linmap_search_opt_04287_ats_ptr_type_2cats_ptr_type: /* ats_ptr_type tmp522 ; */ tmp523 = linmap_search_04285_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, (&tmp522)) ; if (tmp523) { tmp521 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp521, atslab_0, tmp522) ; } else { tmp521 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp521) ; } /* end of [linmap_search_opt_04287_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14112(line=589, offs=7) -- 14164(line=590, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp520) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_search: tmp520 = linmap_search_opt_04287_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp393) ; return (tmp520) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_04943_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp554) ; ATSlocal (ats_int_type, tmp555) ; __ats_lab_avltree_height_04943_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp555 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp554 = tmp555 ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: tmp554 = 0 ; break ; } while (0) ; return (tmp554) ; } /* end of [avltree_height_04943_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_int_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_int_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_bool_type, tmp573) ; ATSlocal (ats_int_type, tmp574) ; ATSlocal (ats_int_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_int_type, tmp577) ; ATSlocal (ats_int_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_int_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_int_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_int_type, tmp587) ; ATSlocal (ats_int_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_int_type, tmp590) ; ATSlocal (ats_int_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; __ats_lab_avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type: tmp565 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp565 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp566 = &ats_caselptrlab_mac(anairiats_sum_6, tmp565, atslab_0) ; tmp567 = &ats_caselptrlab_mac(anairiats_sum_6, tmp565, atslab_3) ; tmp568 = &ats_caselptrlab_mac(anairiats_sum_6, tmp565, atslab_4) ; tmp570 = ats_ptrget_mac(ats_ptr_type, tmp567) ; tmp569 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp570) ; tmp572 = ats_ptrget_mac(ats_ptr_type, tmp568) ; tmp571 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp572) ; tmp574 = atspre_iadd (tmp569, 0) ; tmp573 = atspre_igte (tmp574, tmp571) ; if (tmp573) { tmp575 = atspre_iadd (tmp571, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp575 ; tmp576 = ats_ptrget_mac(ats_ptr_type, tmp568) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp576 ; tmp578 = atspre_imax (tmp569, tmp575) ; tmp577 = atspre_iadd (1, tmp578) ; ats_ptrget_mac(ats_int_type, tmp566) = tmp577 ; ats_ptrget_mac(ats_ptr_type, tmp568) = arg5 ; tmp564 = tmp565 ; } else { tmp579 = ats_ptrget_mac(ats_ptr_type, tmp568) ; // if (tmp579 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp580 = &ats_caselptrlab_mac(anairiats_sum_6, tmp579, atslab_0) ; tmp581 = &ats_caselptrlab_mac(anairiats_sum_6, tmp579, atslab_3) ; tmp582 = &ats_caselptrlab_mac(anairiats_sum_6, tmp579, atslab_4) ; tmp584 = ats_ptrget_mac(ats_ptr_type, tmp581) ; tmp583 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp584) ; tmp586 = ats_ptrget_mac(ats_ptr_type, tmp582) ; tmp585 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp586) ; tmp588 = atspre_imax (tmp585, arg3) ; tmp587 = atspre_iadd (1, tmp588) ; ats_ptrget_mac(ats_int_type, arg0) = tmp587 ; tmp589 = ats_ptrget_mac(ats_ptr_type, tmp582) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp589 ; tmp591 = atspre_imax (tmp569, tmp583) ; tmp590 = atspre_iadd (1, tmp591) ; ats_ptrget_mac(ats_int_type, tmp566) = tmp590 ; tmp592 = ats_ptrget_mac(ats_ptr_type, tmp581) ; ats_ptrget_mac(ats_ptr_type, tmp568) = tmp592 ; ats_ptrget_mac(ats_int_type, tmp580) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp581) = tmp565 ; ats_ptrget_mac(ats_ptr_type, tmp582) = arg5 ; tmp564 = tmp579 ; } /* end of [if] */ return (tmp564) ; } /* end of [avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_int_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_int_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_bool_type, tmp613) ; ATSlocal (ats_int_type, tmp614) ; ATSlocal (ats_int_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_int_type, tmp617) ; ATSlocal (ats_int_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; ATSlocal (ats_int_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_int_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_int_type, tmp627) ; ATSlocal (ats_int_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_int_type, tmp630) ; ATSlocal (ats_int_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; __ats_lab_avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type: tmp605 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp605 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp606 = &ats_caselptrlab_mac(anairiats_sum_6, tmp605, atslab_0) ; tmp607 = &ats_caselptrlab_mac(anairiats_sum_6, tmp605, atslab_3) ; tmp608 = &ats_caselptrlab_mac(anairiats_sum_6, tmp605, atslab_4) ; tmp610 = ats_ptrget_mac(ats_ptr_type, tmp607) ; tmp609 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp610) ; tmp612 = ats_ptrget_mac(ats_ptr_type, tmp608) ; tmp611 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp612) ; tmp614 = atspre_iadd (tmp611, 0) ; tmp613 = atspre_ilte (tmp609, tmp614) ; if (tmp613) { tmp615 = atspre_iadd (tmp609, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp615 ; tmp616 = ats_ptrget_mac(ats_ptr_type, tmp607) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp616 ; tmp618 = atspre_imax (tmp615, tmp611) ; tmp617 = atspre_iadd (1, tmp618) ; ats_ptrget_mac(ats_int_type, tmp606) = tmp617 ; ats_ptrget_mac(ats_ptr_type, tmp607) = arg5 ; tmp604 = tmp605 ; } else { tmp619 = ats_ptrget_mac(ats_ptr_type, tmp607) ; // if (tmp619 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp620 = &ats_caselptrlab_mac(anairiats_sum_6, tmp619, atslab_0) ; tmp621 = &ats_caselptrlab_mac(anairiats_sum_6, tmp619, atslab_3) ; tmp622 = &ats_caselptrlab_mac(anairiats_sum_6, tmp619, atslab_4) ; tmp624 = ats_ptrget_mac(ats_ptr_type, tmp621) ; tmp623 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp624) ; tmp626 = ats_ptrget_mac(ats_ptr_type, tmp622) ; tmp625 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp626) ; tmp628 = atspre_imax (arg1, tmp623) ; tmp627 = atspre_iadd (1, tmp628) ; ats_ptrget_mac(ats_int_type, arg0) = tmp627 ; tmp629 = ats_ptrget_mac(ats_ptr_type, tmp621) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp629 ; tmp631 = atspre_imax (tmp625, tmp611) ; tmp630 = atspre_iadd (1, tmp631) ; ats_ptrget_mac(ats_int_type, tmp606) = tmp630 ; tmp632 = ats_ptrget_mac(ats_ptr_type, tmp622) ; ats_ptrget_mac(ats_ptr_type, tmp607) = tmp632 ; ats_ptrget_mac(ats_int_type, tmp620) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp621) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp622) = tmp605 ; tmp604 = tmp619 ; } /* end of [if] */ return (tmp604) ; } /* end of [avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_118 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_int_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_bool_type, tmp551) ; ATSlocal (ats_bool_type, tmp552) ; ATSlocal (ats_int_type, tmp553) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_int_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_bool_type, tmp559) ; ATSlocal (ats_int_type, tmp560) ; ATSlocal (ats_int_type, tmp561) ; ATSlocal (ats_int_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_bool_type, tmp593) ; ATSlocal (ats_bool_type, tmp594) ; ATSlocal (ats_int_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_int_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_bool_type, tmp599) ; ATSlocal (ats_int_type, tmp600) ; ATSlocal (ats_int_type, tmp601) ; ATSlocal (ats_int_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; __ats_lab_insert_118: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_95_1: tmp544 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp545 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp546 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp547 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp548 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp550 = ats_ptrget_mac(ats_ptr_type, tmp545) ; tmp549 = compare_key_key_04279_ats_ptr_type (env0, tmp550, env1) ; tmp551 = atspre_lt_int_int (tmp549, 0) ; if (tmp551) { tmp552 = insert_118 (env0, env1, tmp547, arg1, arg2) ; tmp556 = ats_ptrget_mac(ats_ptr_type, tmp547) ; tmp553 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp556) ; tmp558 = ats_ptrget_mac(ats_ptr_type, tmp548) ; tmp557 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp558) ; tmp560 = atspre_isub (tmp553, tmp557) ; tmp559 = atspre_ilte (tmp560, 1) ; if (tmp559) { tmp562 = atspre_imax (tmp553, tmp557) ; tmp561 = atspre_iadd (1, tmp562) ; ats_ptrget_mac(ats_int_type, tmp544) = tmp561 ; tmp543 = tmp552 ; } else { tmp563 = avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type (tmp544, tmp553, tmp547, tmp557, tmp548, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp563 ; tmp543 = tmp552 ; } /* end of [if] */ } else { tmp593 = atspre_gt_int_int (tmp549, 0) ; if (tmp593) { tmp594 = insert_118 (env0, env1, tmp548, arg1, arg2) ; tmp596 = ats_ptrget_mac(ats_ptr_type, tmp547) ; tmp595 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp596) ; tmp598 = ats_ptrget_mac(ats_ptr_type, tmp548) ; tmp597 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp598) ; tmp600 = atspre_isub (tmp597, tmp595) ; tmp599 = atspre_ilte (tmp600, 1) ; if (tmp599) { tmp602 = atspre_imax (tmp595, tmp597) ; tmp601 = atspre_iadd (1, tmp602) ; ats_ptrget_mac(ats_int_type, tmp544) = tmp601 ; tmp543 = tmp594 ; } else { tmp603 = avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type (tmp544, tmp595, tmp547, tmp597, tmp548, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp603 ; tmp543 = tmp594 ; } /* end of [if] */ } else { tmp633 = ats_ptrget_mac(ats_ptr_type, tmp546) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp633 ; ats_ptrget_mac(ats_ptr_type, tmp546) = arg1 ; tmp543 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp635 = (ats_sum_ptr_type)0 ; tmp636 = (ats_sum_ptr_type)0 ; tmp634 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp634, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp634, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp634, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp634, atslab_3, tmp635) ; ats_selptrset_mac(anairiats_sum_6, tmp634, atslab_4, tmp636) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp634 ; tmp543 = ats_false_bool ; break ; } while (0) ; return (tmp543) ; } /* end of [insert_118] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_118_closure_type ; ats_bool_type insert_118_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { return insert_118 (((insert_118_closure_type*)cloptr)->closure_env_0, ((insert_118_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_118_closure_init (insert_118_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_118_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_118_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_118_closure_type *p_clo = ATS_MALLOC(sizeof(insert_118_closure_type)) ; insert_118_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_04288_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp542) ; __ats_lab_linmap_insert_04288_ats_ptr_type_2cats_ptr_type: tmp542 = insert_118 (arg1, arg3, arg0, arg2, arg4) ; return (tmp542) ; } /* end of [linmap_insert_04288_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14232(line=595, offs=7) -- 14378(line=601, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert: /* ats_ptr_type tmp541 ; */ tmp540 = linmap_insert_04288_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, statmp393, (&tmp541)) ; return (tmp540) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 11578(line=417, offs=35) -- 12629(line=451, offs=4) */ ATSstaticdec() ats_ptr_type avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; ATSlocal (ats_int_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; ATSlocal (ats_int_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_bool_type, tmp682) ; ATSlocal (ats_int_type, tmp683) ; ATSlocal (ats_int_type, tmp684) ; ATSlocal (ats_int_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; ATSlocal (ats_ptr_type, tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; __ats_lab_avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type: // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp673 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp674 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp675 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp676 = ats_ptrget_mac(ats_ptr_type, tmp674) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (tmp676 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp677 = avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type (tmp674) ; tmp679 = ats_ptrget_mac(ats_ptr_type, tmp674) ; tmp678 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp679) ; tmp681 = ats_ptrget_mac(ats_ptr_type, tmp675) ; tmp680 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp681) ; tmp683 = atspre_isub (tmp680, tmp678) ; tmp682 = atspre_ilte (tmp683, 1) ; if (tmp682) { tmp685 = atspre_imax (tmp678, tmp680) ; tmp684 = atspre_iadd (1, tmp685) ; ats_ptrget_mac(ats_int_type, tmp673) = tmp684 ; tmp672 = tmp677 ; } else { tmp686 = avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type (tmp673, tmp678, tmp674, tmp680, tmp675, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp686 ; tmp672 = tmp677 ; } /* end of [if] */ break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (tmp676 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp687 = ats_ptrget_mac(ats_ptr_type, tmp675) ; tmp688 = ats_ptrget_mac(ats_ptr_type, arg0) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp687 ; tmp672 = ats_castfn_mac(ats_ptr_type, tmp688) ; break ; } while (0) ; return (tmp672) ; } /* end of [avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 13012(line=467, offs=7) -- 16649(line=558, offs=6) */ ATSstaticdec() ats_bool_type takeout_125 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_int_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_bool_type, tmp648) ; ATSlocal (ats_bool_type, tmp649) ; ATSlocal (ats_int_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_int_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_bool_type, tmp654) ; ATSlocal (ats_int_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_bool_type, tmp657) ; ATSlocal (ats_bool_type, tmp658) ; ATSlocal (ats_int_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_int_type, tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_bool_type, tmp663) ; ATSlocal (ats_int_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_bool_type, tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_int_type, tmp692) ; ATSlocal (ats_int_type, tmp693) ; ATSlocal (ats_bool_type, tmp694) ; ATSlocal (ats_int_type, tmp695) ; ATSlocal (ats_int_type, tmp696) ; ATSlocal (ats_int_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; __ats_lab_takeout_125: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_99_1: tmp641 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp642 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp643 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp644 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp645 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp647 = ats_ptrget_mac(ats_ptr_type, tmp642) ; tmp646 = compare_key_key_04279_ats_ptr_type (env0, tmp647, env1) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: tmp648 = atspre_lt_int_int (tmp646, 0) ; if (!tmp648) { goto __ats_lab_101_1 ; } tmp649 = takeout_125 (env0, env1, tmp644, arg1) ; tmp651 = ats_ptrget_mac(ats_ptr_type, tmp644) ; tmp650 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp651) ; tmp653 = ats_ptrget_mac(ats_ptr_type, tmp645) ; tmp652 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp653) ; tmp655 = atspre_isub (tmp652, tmp650) ; tmp654 = atspre_ilte (tmp655, 1) ; if (tmp654) { tmp640 = tmp649 ; } else { tmp656 = avltree_lrotate_04971_ats_ptr_type_2cats_ptr_type (tmp641, tmp650, tmp644, tmp652, tmp645, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp656 ; tmp640 = tmp649 ; } /* end of [if] */ break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: tmp657 = atspre_gt_int_int (tmp646, 0) ; if (!tmp657) { goto __ats_lab_102_1 ; } tmp658 = takeout_125 (env0, env1, tmp645, arg1) ; tmp660 = ats_ptrget_mac(ats_ptr_type, tmp644) ; tmp659 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp660) ; tmp662 = ats_ptrget_mac(ats_ptr_type, tmp645) ; tmp661 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp662) ; tmp664 = atspre_isub (tmp659, tmp661) ; tmp663 = atspre_ilte (tmp664, 1) ; if (tmp663) { tmp640 = tmp658 ; } else { tmp665 = avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type (tmp641, tmp659, tmp644, tmp661, tmp645, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp665 ; tmp640 = tmp658 ; } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp667 = atspre_pgt (arg1, atspre_null_ptr) ; if (tmp667) { tmp668 = ats_ptrget_mac(ats_ptr_type, tmp643) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp668 ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp669 ; */ tmp669 = ats_ptrget_mac(ats_ptr_type, tmp644) ; /* ats_ptr_type tmp670 ; */ tmp670 = ats_ptrget_mac(ats_ptr_type, tmp645) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (tmp670 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_103_1: tmp671 = avltree_takeout_min_05047_ats_ptr_type_2cats_ptr_type ((&tmp670)) ; if (tmp671 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 15639(line=535, offs=21) -- 15683(line=535, offs=65)") ; } tmp689 = &ats_caselptrlab_mac(anairiats_sum_6, tmp671, atslab_0) ; tmp690 = &ats_caselptrlab_mac(anairiats_sum_6, tmp671, atslab_3) ; tmp691 = &ats_caselptrlab_mac(anairiats_sum_6, tmp671, atslab_4) ; tmp692 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp669) ; tmp693 = avltree_height_04943_ats_ptr_type_2cats_ptr_type (tmp670) ; ats_ptrget_mac(ats_ptr_type, tmp690) = tmp669 ; ats_ptrget_mac(ats_ptr_type, tmp691) = tmp670 ; tmp695 = atspre_isub (tmp692, tmp693) ; tmp694 = atspre_ilte (tmp695, 1) ; if (tmp694) { tmp697 = atspre_imax (tmp692, tmp693) ; tmp696 = atspre_iadd (1, tmp697) ; ats_ptrget_mac(ats_int_type, tmp689) = tmp696 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp671 ; tmp640 = ats_true_bool ; } else { tmp698 = avltree_rrotate_04996_ats_ptr_type_2cats_ptr_type (tmp689, tmp692, tmp690, tmp693, tmp691, tmp671) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp698 ; tmp640 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (tmp670 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: ats_ptrget_mac(ats_ptr_type, arg0) = tmp669 ; tmp640 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp640 = ats_false_bool ; break ; } while (0) ; return (tmp640) ; } /* end of [takeout_125] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } takeout_125_closure_type ; ats_bool_type takeout_125_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return takeout_125 (((takeout_125_closure_type*)cloptr)->closure_env_0, ((takeout_125_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type takeout_125_closure_init (takeout_125_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&takeout_125_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type takeout_125_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { takeout_125_closure_type *p_clo = ATS_MALLOC(sizeof(takeout_125_closure_type)) ; takeout_125_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 12957(line=466, offs=3) -- 16671(line=559, offs=2) */ ATSstaticdec() ats_bool_type linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp639) ; __ats_lab_linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type: tmp639 = takeout_125 (arg1, arg2, arg0, arg3) ; return (tmp639) ; } /* end of [linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 17132(line=576, offs=15) -- 17193(line=576, offs=76) */ ATSstaticdec() ats_bool_type linmap_remove_04290_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp638) ; __ats_lab_linmap_remove_04290_ats_ptr_type_2cats_ptr_type: tmp638 = linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, atspre_null_ptr) ; return (tmp638) ; } /* end of [linmap_remove_04290_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14446(line=605, offs=7) -- 14494(line=606, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_remove (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp637) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_remove: tmp637 = linmap_remove_04290_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp393) ; return (tmp637) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_remove] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21260(line=724, offs=7) -- 21616(line=736, offs=31) */ ATSstaticdec() ats_ptr_type aux_129 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (anairiats_rec_7, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; __ats_lab_aux_129: do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp702 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp703 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp704 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp705 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp707 = ats_ptrget_mac(ats_ptr_type, tmp705) ; tmp706 = aux_129 (tmp707, arg1) ; tmp709.atslab_0 = tmp702 ; tmp709.atslab_1 = tmp703 ; tmp708 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp708, atslab_0, tmp709) ; ats_selptrset_mac(anairiats_sum_8, tmp708, atslab_1, tmp706) ; tmp710 = ats_ptrget_mac(ats_ptr_type, tmp704) ; arg0 = tmp710 ; arg1 = tmp708 ; goto __ats_lab_aux_129 ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: tmp701 = arg1 ; break ; } while (0) ; return (tmp701) ; } /* end of [aux_129] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 21202(line=722, offs=16) -- 21664(line=740, offs=4) */ ATSstaticdec() ats_ptr_type linmap_listize_04299_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp700) ; ATSlocal (ats_ptr_type, tmp711) ; __ats_lab_linmap_listize_04299_ats_ptr_type_2cats_ptr_type: tmp711 = (ats_sum_ptr_type)0 ; tmp700 = aux_129 (arg0, tmp711) ; return (tmp700) ; } /* end of [linmap_listize_04299_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14563(line=611, offs=7) -- 14594(line=611, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp699) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_listize: tmp699 = linmap_listize_04299_ats_ptr_type_2cats_ptr_type (arg0) ; return (tmp699) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_listize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14679(line=617, offs=20) -- 14706(line=617, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp712) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_nil: tmp712 = linmap_make_nil_04280_ () ; return (tmp712) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14812(line=626, offs=4) -- 14897(line=629, offs=30) */ ATSstaticdec() ats_void_type f_132 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp714) ; __ats_lab_f_132: /* tmp714 = */ list_vt_free_01499_ats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg1)) ; return /* (tmp714) */ ; } /* end of [f_132] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 17514(line=590, offs=7) -- 17815(line=596, offs=24) */ ATSstaticdec() ats_void_type foreach_135 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; // ATSlocal_void (tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; // ATSlocal_void (tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_ptr_type, tmp727) ; __ats_lab_foreach_135: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp719 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp720 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp721 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp722 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_4) ; tmp724 = ats_ptrget_mac(ats_ptr_type, tmp721) ; /* tmp723 = */ foreach_135 (env0, tmp724, arg1) ; tmp726 = ats_ptrget_mac(ats_ptr_type, tmp719) ; /* tmp725 = */ ((ats_void_type(*)(ats_ptr_type, ats_ref_type, ats_ptr_type))env0) (tmp726, tmp720, arg1) ; tmp727 = ats_ptrget_mac(ats_ptr_type, tmp722) ; arg0 = tmp727 ; arg1 = arg1 ; goto __ats_lab_foreach_135 ; // tail call break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: break ; } while (0) ; return /* (tmp718) */ ; } /* end of [foreach_135] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } foreach_135_closure_type ; ats_void_type foreach_135_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { foreach_135 (((foreach_135_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type foreach_135_closure_init (foreach_135_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&foreach_135_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type foreach_135_closure_make (ats_ptr_type env0) { foreach_135_closure_type *p_clo = ATS_MALLOC(sizeof(foreach_135_closure_type)) ; foreach_135_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 17459(line=589, offs=3) -- 17839(line=598, offs=2) */ ATSstaticdec() ats_void_type linmap_foreach_funenv_04291_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp717) ; __ats_lab_linmap_foreach_funenv_04291_ats_ptr_type_2cats_ptr_type: /* tmp717 = */ foreach_135 (arg1, arg0, arg2) ; return /* (tmp717) */ ; } /* end of [linmap_foreach_funenv_04291_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20057(line=678, offs=12) -- 20481(line=693, offs=4) */ ATSstaticdec() ats_void_type linmap_clear_funenv_04296_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp716) ; __ats_lab_linmap_clear_funenv_04296_ats_ptr_type_2cats_ptr_type: /* tmp716 = */ linmap_foreach_funenv_04291_ats_ptr_type_2cats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), arg2) ; return /* (tmp716) */ ; } /* end of [linmap_clear_funenv_04296_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 14744(line=621, offs=7) -- 15101(line=639, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp713) ; // ATSlocal_void (tmp715) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_free: /* tmp715 = */ linmap_clear_funenv_04296_ats_ptr_type_2cats_ptr_type (arg0, &f_132, atspre_null_ptr) ; /* tmp713 = */ linmap_free_04297_ats_ptr_type_2cats_ptr_type (arg0) ; return /* (tmp713) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_free] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp733) ; __ats_lab_ptr0_get_01759_ats_ptr_type: tmp733 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp733) ; } /* end of [ptr0_get_01759_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp732) ; __ats_lab_ptrget_01763_ats_ptr_type: tmp732 = ptr0_get_01759_ats_ptr_type (arg0) ; return (tmp732) ; } /* end of [ptrget_01763_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 15173(line=643, offs=7) -- 15536(line=664, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_search (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_bool_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; ATSlocal (ats_ptr_type, tmp734) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_search: tmp729 = linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp393) ; tmp730 = atspre_pgt (tmp729, atspre_null_ptr) ; if (tmp730) { tmp731 = ptrget_01763_ats_ptr_type (tmp729) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (tmp731 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp734 = ats_caselptrlab_mac(anairiats_sum_3, tmp731, atslab_0) ; tmp728 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp728, atslab_0, tmp734) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: tmp728 = (ats_sum_ptr_type)0 ; break ; } while (0) ; } else { tmp728 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp728) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_search] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp741) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp741) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp740) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp740 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp740) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 15610(line=668, offs=7) -- 16119(line=695, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_bool_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; // ATSlocal_void (tmp739) ; ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_bool_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp746) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_insert: tmp736 = linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg0), arg1, statmp393) ; tmp737 = atspre_pgt (tmp736, atspre_null_ptr) ; if (tmp737) { tmp738 = ptrget_01763_ats_ptr_type (tmp736) ; tmp742 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp742, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp742, atslab_1, tmp738) ; /* tmp739 = */ ptrset_01764_ats_ptr_type (tmp736, tmp742) ; tmp735 = ats_true_bool ; } else { /* ats_ptr_type tmp743 ; */ tmp746 = (ats_sum_ptr_type)0 ; tmp745 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp745, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp745, atslab_1, tmp746) ; tmp744 = linmap_insert_04288_ats_ptr_type_2cats_ptr_type (arg0, arg1, tmp745, statmp393, (&tmp743)) ; tmp735 = ats_false_bool ; } /* end of [if] */ return (tmp735) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_insert] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 16762(line=566, offs=3) -- 17070(line=573, offs=2) */ ATSstaticdec() ats_bool_type linmap_takeout_04289_ats_ptr_type_2cats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp755) ; ATSlocal (ats_bool_type, tmp756) ; __ats_lab_linmap_takeout_04289_ats_ptr_type_2cats_ptr_type: tmp756 = linmap_takeout_ptr_04303_ats_ptr_type_2cats_ptr_type (arg0, arg1, arg2, arg3) ; tmp755 = ats_castfn_mac(ats_bool_type, tmp756) ; return (tmp755) ; } /* end of [linmap_takeout_04289_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dvar.dats: 16193(line=699, offs=7) -- 17108(line=737, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_remove (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_bool_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; // ATSlocal_void (tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_bool_type, tmp754) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_remove: tmp748 = linmap_search_ref_04286_ats_ptr_type_2cats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg0), arg1, statmp393) ; tmp749 = atspre_pgt (tmp748, atspre_null_ptr) ; if (tmp749) { tmp750 = ptrget_01763_ats_ptr_type (tmp748) ; do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (tmp750 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_114_1: tmp751 = ats_caselptrlab_mac(anairiats_sum_3, tmp750, atslab_1) ; ATS_FREE(tmp750) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (tmp751 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: /* tmp752 = */ ptrset_01764_ats_ptr_type (tmp748, tmp751) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (tmp751 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: /* ats_ptr_type tmp753 ; */ tmp754 = linmap_takeout_04289_ats_ptr_type_2cats_ptr_type (arg0, arg1, statmp393, (&tmp753)) ; /* tmp752 = ats_castfn_mac(ats_void_type, tmp753) */ ; break ; } while (0) ; tmp747 = ats_true_bool ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (tmp750 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp747 = ats_false_bool ; break ; } while (0) ; } else { tmp747 = ats_false_bool ; } /* end of [if] */ return (tmp747) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_remove] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2funmap_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funmap_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp140, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp393, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp140 = __ats_fun_50_closure_make () ; statmp393 = __ats_fun_89_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp2_dvar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_toplevel_dats.c0000664000175000017500000010452312655455557022163 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DISCARD_89) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_is_comment) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type pskip_tokbuf_0 (ats_ref_type arg0) ; static ats_ptr_type pskip1_tokbuf_reset_1 (ats_ref_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_3 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_toplevel_fun_2 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 1732(line=61, offs=1) -- 2727(line=121, offs=4) */ ATSstaticdec() ats_ptr_type pskip_tokbuf_0 (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; __ats_lab_pskip_tokbuf_0: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1), atslab_token_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 174) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp2)->tag != 68) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp2)->tag != 38) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp2)->tag != 31) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp2)->tag != 34) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp2)->tag != 69) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp2)->tag != 70) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp2)->tag != 79) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp2)->tag != 39) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp2)->tag != 44) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp2)->tag != 52) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp2)->tag != 80) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp2)->tag != 81) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp2)->tag != 54) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp2)->tag != 49) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp2)->tag != 61) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp2)->tag != 74) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp2)->tag != 73) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp2)->tag != 45) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp2)->tag != 59) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp2)->tag != 71) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp2)->tag != 41) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp2)->tag != 128) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp2)->tag != 129) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp2)->tag != 130) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp2)->tag != 131) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp2)->tag != 132) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp2)->tag != 133) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp2)->tag != 119) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp2)->tag != 120) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp2)->tag != 121) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp2)->tag != 134) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp0 = tmp1 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; arg0 = arg0 ; goto __ats_lab_pskip_tokbuf_0 ; // tail call break ; } while (0) ; return (tmp0) ; } /* end of [pskip_tokbuf_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 2758(line=124, offs=1) -- 3249(line=154, offs=4) */ ATSstaticdec() ats_ptr_type pskip1_tokbuf_reset_1 (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; __ats_lab_pskip1_tokbuf_reset_1: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_token_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp7)->tag != 174) { goto __ats_lab_34_0 ; } __ats_lab_33_1: break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_is_comment (tmp7) ; if (!tmp8) { goto __ats_lab_35_1 ; } break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_token_loc) ; tmp11 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DISCARD_89) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make (tmp9, tmp11) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add (tmp10) ; break ; } while (0) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp13 = pskip_tokbuf_0 (arg0) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset (arg0) ; tmp4 = tmp13 ; return (tmp4) ; } /* end of [pskip1_tokbuf_reset_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_loop_5: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp31 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: break ; } while (0) ; return /* (tmp30) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp29 = */ loop_5 (arg0) ; return /* (tmp29) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 3405(line=164, offs=7) -- 4619(line=209, offs=7) */ ATSstaticdec() ats_void_type loop_3 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_loop_3: tmp17 = ats_ptrget_mac(ats_int_type, arg2) ; tmp18 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, 1, arg2) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp19 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp17) ; if (!tmp19) { goto __ats_lab_41_1 ; } tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp20), atslab_token_node) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp22)->tag != 174) { goto __ats_lab_38_0 ; } __ats_lab_37_1: ats_ptrget_mac(ats_int_type, arg2) = tmp17 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: break ; } while (0) ; tmp23 = pskip1_tokbuf_reset_1 (arg0) ; tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp23), atslab_token_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp24)->tag != 174) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp25 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp25 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_3 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset (arg0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) ; /* tmp28 = */ list_vt_free_01499_ats_ptr_type (tmp27) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp32, atslab_0, tmp18) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp32 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp33 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = arg0 ; arg1 = tmp33 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_3 ; // tail call break ; } while (0) ; return /* (tmp16) */ ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 3308(line=159, offs=1) -- 4822(line=218, offs=4) */ ATSstaticdec() ats_ptr_type p_toplevel_fun_2 (ats_ref_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_p_toplevel_fun_2: ats_ptrget_mac(ats_int_type, arg1) = 0 ; /* ats_ptr_type tmp34 ; */ /* tmp35 = */ loop_3 (arg0, (&tmp34), arg1, arg2) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF (arg0, 0, arg1) ; tmp15 = ats_castfn_mac(ats_ptr_type, tmp34) ; return (tmp15) ; } /* end of [p_toplevel_fun_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 4897(line=223, offs=16) -- 4950(line=223, offs=69) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_sta (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_sta: tmp37 = p_toplevel_fun_2 (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_sta) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_toplevel.dats: 4976(line=225, offs=16) -- 5029(line=225, offs=69) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_dyn (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_dyn: tmp38 = p_toplevel_fun_2 (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ecl_dyn) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_toplevel_dyn] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_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 () ; #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_parsing_toplevel_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_solve_dats.c0000664000175000017500000101504212655455557022263 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "libc/CATS/gmp.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ #include "pats_lintprgm_myint.cats" /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_rec_2 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_c3nstr_loc ; ats_ptr_type atslab_c3nstr_kind ; ats_ptr_type atslab_c3nstr_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICvec_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICveclst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__ICerr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTmark_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTmark_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_2) ; /* 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_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_div_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mod_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_gcd_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_lte_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gte_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_int_type, atspre_ineg) (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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_ptr_free) (ats_ptr_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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_nil) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_add) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_fvs) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push) (ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_extract) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_h3ypo) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_solve_s2exp) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_make) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_mpz_neg1) (ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_add2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_sub2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_mpz_mul2_mpz) (ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_fprint_mpz) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main) (ats_ref_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg) (ats_ptr_type, ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02428_ () ; static ats_void_type fprint_myint_04675_gmpknd (ats_ptr_type arg0, gmpknd arg1) ; static ats_void_type print_myint_04676_gmpknd (gmpknd arg0) ; static ats_void_type prerr_myint_04677_gmpknd (gmpknd arg0) ; static gmpknd myint_make_int_04678_gmpknd (ats_int_type arg0) ; static gmpknd myint_make_intinf_04679_gmpknd (ats_ptr_type arg0) ; static gmpknd myint_copy_04681_gmpknd (gmpknd arg0) ; static ats_void_type myint_free_04680_gmpknd (gmpknd arg0) ; static gmpknd neg_myint_04682_gmpknd (gmpknd arg0) ; static gmpknd neg1_myint_04683_gmpknd (gmpknd arg0) ; static gmpknd add01_myint_myint_04685_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd sub01_myint_myint_04686_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd add_myint_int_04684_gmpknd (gmpknd arg0, ats_int_type arg1) ; static gmpknd mul01_myint_myint_04687_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mul10_myint_myint_04688_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mul11_myint_myint_04689_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd div01_myint_myint_04690_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd ediv01_myint_myint_04692_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mod01_myint_myint_04693_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd mod11_myint_myint_04694_gmpknd (gmpknd arg0, gmpknd arg1) ; static gmpknd gcd01_myint_myint_04695_gmpknd (gmpknd arg0, gmpknd arg1) ; static ats_int_type compare_myint_int_04702_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_int_type compare_myint_myint_04707_gmpknd (gmpknd arg0, gmpknd arg1) ; static ats_void_type prerr_warning3_loc_02439_ (ats_ptr_type arg0) ; static ats_void_type loop_29 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type array_ptr_alloc_01563_gmpknd (ats_size_type arg0) ; static ats_ptr_type myintvec0_make_04719_gmpknd (ats_int_type arg0) ; static ats_ptr_type myintvec_make_04721_gmpknd (ats_int_type arg0) ; static ats_ptr_type array_ptr_takeout_01586_gmpknd (ats_ptr_type arg0, ats_size_type arg1) ; static ats_void_type myintvec_addby_cffvar_05246_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, gmpknd arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_void_type myintvec_add_int_04717_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type clear_37 (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_size_type arg3) ; static ats_void_type array_ptr_clear_fun_01576_gmpknd (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type __ats_fun_38 (ats_ref_type arg0) ; static ats_void_type myintvec_free_04722_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type icnstrlst_negate_04733_gmpknd (ats_ptr_type arg0) ; static ats_ptr_type icnstr_negate_04732_gmpknd (ats_ptr_type arg0) ; static ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type myintvec_copy_04745_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type icnstrlst_copy_04731_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type icnstr_copy_04730_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type myintvec_addby_const_05245_gmpknd (ats_ptr_type arg0, gmpknd arg1) ; static ats_void_type myintvec_addby_s3exp_05045_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type myintvec_addby_s3explst_05058_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_ptr_type s3exp2myintvec_04832_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type prerr_error3_loc_02434_ (ats_ptr_type arg0) ; static ats_ptr_type s3exp2icnstr_04831_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_ptr_type loop_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type indexset_make_s3exp_05079_ats_abs_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_57 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type myiveqlst_get_last_05203_gmpknd (ats_ptr_type arg0) ; static ats_int_type myintvec_compare_at_04718_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static gmpknd myintvec_get_at_04715_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type loop_63 (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type myintvec_scale_04749_gmpknd (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type loop_65 (ats_ptr_type arg0, gmpknd arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type myintvec_addby_cff_04752_gmpknd (ats_ptr_type arg0, gmpknd arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type myintvec_elimeq_at_05192_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_void_type myintvec_elimeqlst_rev_04566_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type myintvec_elimeqlst_05204_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_bool_type eq_myint_int_04700_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_bool_type loop_68 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_bool_type gte_myint_int_04699_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_bool_type lt_myint_int_04696_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_bool_type neq_myint_int_04701_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_int_type myintvec_inspect_04736_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type myintvec_inspect_lt_04737_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type loop_74 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type myintvec_negate_04748_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type loop_77 (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) ; static gmpknd ptr0_get_01759_gmpknd (ats_ptr_type arg0) ; static ats_void_type loop_80 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type loop_80_closure_make (ats_int_type env0, ats_ptr_type env1) ; static ats_void_type loop_80_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type myintvec_cffgcd_main_04126_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static gmpknd myintvec_cffgcd_04742_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_bool_type gt_myint_int_04698_gmpknd (gmpknd arg0, ats_int_type arg1) ; static ats_int_type myintvec_normalize_05172_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type myintvec_normalize_gte_04743_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type auxlt_04599_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; static ats_void_type loop_85 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ref_type arg3) ; static ats_ptr_type myivlst_elimeqlst_05209_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type myintvec_inspect_gte_04738_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type myintveclst_inspect_gte_04741_gmpknd (ats_ref_type arg0, ats_int_type arg1) ; static ats_void_type myintveclst_normalize_gte_04744_gmpknd (ats_ref_type arg0, ats_int_type arg1) ; static ats_void_type auxbeg_92 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ; static ats_void_type loop_96 (gmpknd arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_ptr_type myintvec_copy_cff_04746_gmpknd (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type myintvec_combine_at_05185_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_int_type auxcomb_93 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_void_type myintveclst_free_04725_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type auxcomblst_97 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_int_type myintveclst_split_at_05186_gmpknd (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_int_type solve_90 (ats_ref_type arg0, ats_ref_type arg1, ats_int_type arg2) ; static ats_int_type myintveclst_solve_05191_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type auxcont_04621_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_int_type arg6) ; static ats_int_type auxgte_04606_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; static ats_int_type myintvec_inspect_eq_04739_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_bool_type lt_myint_myint_04703_gmpknd (gmpknd arg0, gmpknd arg1) ; static ats_void_type loop_103 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_bool_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_int_type myintvec_get_index_of_absmincff_05187_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type myiveqlst_get_prev_04537_gmpknd (ats_ptr_type arg0) ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type myiveqlst_cons_05200_gmpknd (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type auxeq_04613_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; static ats_int_type myintvec_inspect_neq_04740_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxneq_04631_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) ; static ats_int_type loop_113 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_115 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_117 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_vt_split_at_01505_ats_ptr_type (ats_ref_type arg0, ats_int_type arg1) ; static ats_int_type auxmain_conj_05211_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6) ; static ats_ptr_type myivlst_mark_05195_gmpknd (ats_ptr_type arg0) ; static ats_ptr_type myiveqlst_mark_05201_gmpknd (ats_ptr_type arg0) ; static ats_ptr_type myivlst_unmark_05196_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type myiveqlst_unmark_05202_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type icnstr_free_04734_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type icnstrlst_free_04735_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type revapp_126 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type auxmain_disj_05212_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6, ats_ptr_type arg7) ; static ats_int_type auxmain_05210_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5) ; static ats_void_type myivlst_free_05194_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type myiveqlst_free_05198_gmpknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type icnstrlst_solve_04756_gmpknd (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2) ; static ats_int_type auxsolve_05092_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type loop_131 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type prlst_133 (ats_ptr_type arg0) ; static ats_void_type prerr_c3nstr_if_135 (ats_uint_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_142 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 1882(line=66, offs=18) -- 1917(line=66, offs=53) */ ATSstaticdec() ats_void_type prerr_FILENAME_02428_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02428_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_constraint3_solve")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02428_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2251(line=82, offs=3) -- 2419(line=90, offs=4) */ ATSstaticdec() ats_void_type fprint_myint_04675_gmpknd (ats_ptr_type arg0, gmpknd arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_fprint_myint_04675_gmpknd: tmp2 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp1 = */ atslib_fprint_mpz (arg0, tmp2) ; return /* (tmp1) */ ; } /* end of [fprint_myint_04675_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2486(line=93, offs=21) -- 2528(line=93, offs=63) */ ATSstaticdec() ats_void_type print_myint_04676_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab_print_myint_04676_gmpknd: /* tmp3 = */ fprint_myint_04675_gmpknd (stdout, arg0) ; return /* (tmp3) */ ; } /* end of [print_myint_04676_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2559(line=95, offs=21) -- 2601(line=95, offs=63) */ ATSstaticdec() ats_void_type prerr_myint_04677_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab_prerr_myint_04677_gmpknd: /* tmp4 = */ fprint_myint_04675_gmpknd (stderr, arg0) ; return /* (tmp4) */ ; } /* end of [prerr_myint_04677_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 2659(line=100, offs=24) -- 2814(line=107, offs=4) */ ATSstaticdec() gmpknd myint_make_int_04678_gmpknd (ats_int_type arg0) { /* local vardec */ ATSlocal (gmpknd, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_myint_make_int_04678_gmpknd: tmp6 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp7 = ats_selsin_mac(tmp6, atslab_2) ; /* tmp8 = */ atslib_mpz_init_set_int (tmp7, arg0) ; tmp9 = tmp7 ; tmp5 = ats_castfn_mac(gmpknd, tmp9) ; return (tmp5) ; } /* end of [myint_make_int_04678_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3094(line=126, offs=27) -- 3321(line=135, offs=4) */ ATSstaticdec() gmpknd myint_make_intinf_04679_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (gmpknd, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_myint_make_intinf_04679_gmpknd: tmp11 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp12 = ats_selsin_mac(tmp11, atslab_2) ; tmp13 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; /* tmp14 = */ atslib_mpz_init_set_mpz (tmp12, tmp13) ; tmp15 = tmp12 ; tmp10 = ats_castfn_mac(gmpknd, tmp15) ; return (tmp10) ; } /* end of [myint_make_intinf_04679_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3424(line=142, offs=20) -- 3667(line=151, offs=4) */ ATSstaticdec() gmpknd myint_copy_04681_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_myint_copy_04681_gmpknd: tmp17 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp18 = ats_selsin_mac(tmp17, atslab_2) ; tmp20 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp19 = */ atslib_mpz_init_set_mpz (tmp18, tmp20) ; tmp21 = tmp18 ; tmp16 = ats_castfn_mac(gmpknd, tmp21) ; return (tmp16) ; } /* end of [myint_copy_04681_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3750(line=156, offs=20) -- 3877(line=162, offs=4) */ ATSstaticdec() ats_void_type myint_free_04680_gmpknd (gmpknd arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_myint_free_04680_gmpknd: tmp24 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp23 = */ atslib_mpz_clear (tmp24) ; tmp25 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp22 = */ atspre_ptr_free (tmp25) ; return /* (tmp22) */ ; } /* end of [myint_free_04680_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 3961(line=168, offs=3) -- 4079(line=173, offs=2) */ ATSstaticdec() gmpknd neg_myint_04682_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_neg_myint_04682_gmpknd: tmp28 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp27 = */ atslib_mpz_neg1 (tmp28) ; tmp26 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp26) ; } /* end of [neg_myint_04682_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4163(line=179, offs=3) -- 4417(line=187, offs=2) */ ATSstaticdec() gmpknd neg1_myint_04683_gmpknd (gmpknd arg0) { /* local vardec */ ATSlocal (gmpknd, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_neg1_myint_04683_gmpknd: tmp30 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp31 = ats_selsin_mac(tmp30, atslab_2) ; /* tmp32 = */ atslib_mpz_init (tmp31) ; tmp34 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp33 = */ atslib_mpz_neg2 (tmp31, tmp34) ; tmp35 = tmp31 ; tmp29 = ats_castfn_mac(gmpknd, tmp35) ; return (tmp29) ; } /* end of [neg1_myint_04683_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4509(line=193, offs=3) -- 4734(line=199, offs=2) */ ATSstaticdec() gmpknd add01_myint_myint_04685_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_add01_myint_myint_04685_gmpknd: tmp38 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp39 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp37 = */ atslib_mpz_add2_mpz (tmp38, tmp39) ; tmp36 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp36) ; } /* end of [add01_myint_myint_04685_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 4831(line=205, offs=3) -- 5056(line=211, offs=2) */ ATSstaticdec() gmpknd sub01_myint_myint_04686_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_sub01_myint_myint_04686_gmpknd: tmp42 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp43 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp41 = */ atslib_mpz_sub2_mpz (tmp42, tmp43) ; tmp40 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp40) ; } /* end of [sub01_myint_myint_04686_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5149(line=217, offs=3) -- 5278(line=222, offs=2) */ ATSstaticdec() gmpknd add_myint_int_04684_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (gmpknd, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_add_myint_int_04684_gmpknd: tmp46 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; /* tmp45 = */ atslib_mpz_add2_int (tmp46, arg1) ; tmp44 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp44) ; } /* end of [add_myint_int_04684_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5373(line=228, offs=3) -- 5599(line=235, offs=2) */ ATSstaticdec() gmpknd mul01_myint_myint_04687_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_mul01_myint_myint_04687_gmpknd: tmp49 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp50 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp48 = */ atslib_mpz_mul2_mpz (tmp49, tmp50) ; tmp47 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp47) ; } /* end of [mul01_myint_myint_04687_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 5677(line=239, offs=3) -- 6142(line=254, offs=2) */ ATSstaticdec() gmpknd mul10_myint_myint_04688_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab_mul10_myint_myint_04688_gmpknd: tmp52 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg1)) ; tmp53 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp52), atslab_2) ; tmp55 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg1)) ; tmp56 = ats_varget_mac(ats_ptr_type, arg0) ; /* tmp54 = */ atslib_mpz_mul3_mpz (tmp55, tmp56, tmp53) ; tmp51 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp51) ; } /* end of [mul10_myint_myint_04688_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 6220(line=258, offs=3) -- 6574(line=268, offs=4) */ ATSstaticdec() gmpknd mul11_myint_myint_04689_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab_mul11_myint_myint_04689_gmpknd: tmp58 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp59 = ats_selsin_mac(tmp58, atslab_2) ; /* tmp60 = */ atslib_mpz_init (tmp59) ; tmp62 = ats_varget_mac(ats_ptr_type, arg0) ; tmp63 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp61 = */ atslib_mpz_mul3_mpz (tmp59, tmp62, tmp63) ; tmp64 = tmp59 ; tmp57 = ats_castfn_mac(gmpknd, tmp64) ; return (tmp57) ; } /* end of [mul11_myint_myint_04689_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 6673(line=274, offs=3) -- 7138(line=288, offs=2) */ ATSstaticdec() gmpknd div01_myint_myint_04690_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_div01_myint_myint_04690_gmpknd: tmp66 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp67 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp66), atslab_2) ; tmp69 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp70 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp68 = */ atslib_mpz_tdiv3_q_mpz (tmp67, tmp69, tmp70) ; tmp65 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp65) ; } /* end of [div01_myint_myint_04690_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 7238(line=294, offs=3) -- 7701(line=308, offs=2) */ ATSstaticdec() gmpknd ediv01_myint_myint_04692_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_ediv01_myint_myint_04692_gmpknd: tmp72 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp73 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp72), atslab_2) ; tmp75 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp76 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp74 = */ atslib_mpz_divexact3 (tmp73, tmp75, tmp76) ; tmp71 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp71) ; } /* end of [ediv01_myint_myint_04692_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 7801(line=314, offs=3) -- 8263(line=328, offs=2) */ ATSstaticdec() gmpknd mod01_myint_myint_04693_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_mod01_myint_myint_04693_gmpknd: tmp78 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp79 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp78), atslab_2) ; tmp81 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp82 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp80 = */ atslib_mpz_mod3_mpz (tmp79, tmp81, tmp82) ; tmp77 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp77) ; } /* end of [mod01_myint_myint_04693_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 8341(line=332, offs=3) -- 8695(line=342, offs=4) */ ATSstaticdec() gmpknd mod11_myint_myint_04694_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab_mod11_myint_myint_04694_gmpknd: tmp84 = atspre_ptr_alloc_tsz (sizeof(ats_mpz_viewt0ype)) ; tmp85 = ats_selsin_mac(tmp84, atslab_2) ; /* tmp86 = */ atslib_mpz_init (tmp85) ; tmp88 = ats_varget_mac(ats_ptr_type, arg0) ; tmp89 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp87 = */ atslib_mpz_mod3_mpz (tmp85, tmp88, tmp89) ; tmp90 = tmp85 ; tmp83 = ats_castfn_mac(gmpknd, tmp90) ; return (tmp83) ; } /* end of [mod11_myint_myint_04694_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 8794(line=348, offs=3) -- 9256(line=362, offs=2) */ ATSstaticdec() gmpknd gcd01_myint_myint_04695_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (gmpknd, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_gcd01_myint_myint_04695_gmpknd: tmp92 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp93 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp92), atslab_2) ; tmp95 = ats_varget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; tmp96 = ats_varget_mac(ats_ptr_type, arg1) ; /* tmp94 = */ atslib_mpz_gcd3_mpz (tmp93, tmp95, tmp96) ; tmp91 = ats_castfn_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp91) ; } /* end of [gcd01_myint_myint_04695_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 9355(line=368, offs=3) -- 9509(line=374, offs=2) */ ATSstaticdec() ats_int_type compare_myint_int_04702_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab_compare_myint_int_04702_gmpknd: tmp98 = ats_varget_mac(ats_ptr_type, arg0) ; tmp97 = atslib_mpz_cmp_int (tmp98, arg1) ; return (tmp97) ; } /* end of [compare_myint_int_04702_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_gmp.dats: 9603(line=380, offs=3) -- 9841(line=386, offs=2) */ ATSstaticdec() ats_int_type compare_myint_myint_04707_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab_compare_myint_myint_04707_gmpknd: tmp100 = ats_varget_mac(ats_ptr_type, arg0) ; tmp101 = ats_varget_mac(ats_ptr_type, arg1) ; tmp99 = atslib_mpz_cmp_mpz (tmp100, tmp101) ; return (tmp99) ; } /* end of [compare_myint_myint_04707_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2995(line=117, offs=20) -- 3056(line=120, offs=2) */ ATSstaticdec() ats_void_type prerr_warning3_loc_02439_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab_prerr_warning3_loc_02439_: /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp106 = */ atspre_prerr_string (ATSstrcst(": warning(3)")) ; return /* (tmp106) */ ; } /* end of [prerr_warning3_loc_02439_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 15120(line=664, offs=1) -- 15566(line=682, offs=6) */ ATSstaticdec() ats_void_type loop_29 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp138) ; ATSlocal (ats_bool_type, tmp139) ; ATSlocal (gmpknd, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; __ats_lab_loop_29: tmp139 = atspre_igt (arg1, 0) ; if (tmp139) { tmp140 = myint_make_int_04678_gmpknd (0) ; ats_ptrget_mac(gmpknd, arg0) = tmp140 ; tmp141 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp142 = atspre_isub (arg1, 1) ; arg0 = tmp141 ; arg1 = tmp142 ; goto __ats_lab_loop_29 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp138) */ ; } /* end of [loop_29] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 3612(line=123, offs=17) -- 3660(line=123, offs=65) */ ATSstaticdec() ats_ptr_type array_ptr_alloc_01563_gmpknd (ats_size_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_array_ptr_alloc_01563_gmpknd: tmp147 = atspre_array_ptr_alloc_tsz (arg0, sizeof(gmpknd)) ; return (tmp147) ; } /* end of [array_ptr_alloc_01563_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 14751(line=645, offs=7) -- 14994(line=653, offs=4) */ ATSstaticdec() ats_ptr_type myintvec0_make_04719_gmpknd (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_size_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_myintvec0_make_04719_gmpknd: tmp145 = atspre_size1_of_int1 (arg0) ; tmp146 = array_ptr_alloc_01563_gmpknd (tmp145) ; tmp148 = ats_selsin_mac(tmp146, atslab_2) ; tmp144 = ats_castfn_mac(ats_ptr_type, tmp148) ; return (tmp144) ; } /* end of [myintvec0_make_04719_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 15077(line=659, offs=7) -- 15780(line=692, offs=4) */ ATSstaticdec() ats_ptr_type myintvec_make_04721_gmpknd (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp149) ; // ATSlocal_void (tmp150) ; __ats_lab_myintvec_make_04721_gmpknd: tmp143 = myintvec0_make_04719_gmpknd (arg0) ; tmp149 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp143), atslab_1) ; /* tmp150 = */ loop_29 (tmp149, arg0) ; tmp137 = tmp143 ; return (tmp137) ; } /* end of [myintvec_make_04721_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 10493(line=364, offs=19) -- 10557(line=365, offs=51) */ ATSstaticdec() ats_ptr_type array_ptr_takeout_01586_gmpknd (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_array_ptr_takeout_01586_gmpknd: tmp160 = atspre_array_ptr_takeout_tsz (arg0, arg1, sizeof(gmpknd)) ; return (tmp160) ; } /* end of [array_ptr_takeout_01586_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 4159(line=168, offs=3) -- 4633(line=186, offs=4) */ ATSstaticdec() ats_void_type myintvec_addby_cffvar_05246_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, gmpknd arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_size_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (gmpknd, tmp162) ; ATSlocal (gmpknd, tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_int_type, tmp165) ; __ats_lab_myintvec_addby_cffvar_05246_gmpknd: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find (arg1, arg3) ; tmp156 = atspre_igt (tmp155, 0) ; if (tmp156) { tmp157 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp158 = atspre_size1_of_int1 (tmp155) ; tmp159 = array_ptr_takeout_01586_gmpknd (tmp157, tmp158) ; tmp161 = ats_selsin_mac(tmp159, atslab_2) ; tmp163 = ats_ptrget_mac(gmpknd, tmp161) ; tmp162 = add01_myint_myint_04685_gmpknd (tmp163, arg2) ; ats_ptrget_mac(gmpknd, tmp161) = tmp162 ; /* tmp154 = */ myint_free_04680_gmpknd (arg2) ; } else { /* tmp164 = */ myint_free_04680_gmpknd (arg2) ; tmp165 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp165 ; } /* end of [if] */ return /* (tmp154) */ ; } /* end of [myintvec_addby_cffvar_05246_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 3019(line=107, offs=3) -- 3293(line=116, offs=4) */ ATSstaticdec() ats_void_type myintvec_add_int_04717_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (gmpknd, tmp169) ; ATSlocal (gmpknd, tmp170) ; __ats_lab_myintvec_add_int_04717_gmpknd: tmp168 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp170 = ats_ptrget_mac(gmpknd, tmp168) ; tmp169 = add_myint_int_04684_gmpknd (tmp170, arg1) ; ats_ptrget_mac(gmpknd, tmp168) = tmp169 ; return /* (tmp167) */ ; } /* end of [myintvec_add_int_04717_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 9652(line=333, offs=7) -- 10175(line=348, offs=8) */ ATSstaticdec() ats_void_type clear_37 (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ // ATSlocal_void (tmp178) ; ATSlocal (ats_bool_type, tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_size_type, tmp182) ; __ats_lab_clear_37: tmp179 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp179) { /* tmp180 = */ ((ats_void_type(*)(ats_ref_type))arg2) (arg0) ; tmp181 = atspre_padd_size (arg0, arg3) ; tmp182 = atspre_sub_size1_int1 (arg1, 1) ; arg0 = tmp181 ; arg1 = tmp182 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_clear_37 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp178) */ ; } /* end of [clear_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 9569(line=329, offs=15) -- 10265(line=352, offs=4) */ ATSstaticdec() ats_void_type array_ptr_clear_fun_01576_gmpknd (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp177) ; __ats_lab_array_ptr_clear_fun_01576_gmpknd: /* tmp177 = */ clear_37 (arg0, arg1, arg2, sizeof(gmpknd)) ; return /* (tmp177) */ ; } /* end of [array_ptr_clear_fun_01576_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 3893(line=139, offs=45) -- 3923(line=139, offs=75) */ ATSstaticdec() ats_void_type __ats_fun_38 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp183) ; __ats_lab___ats_fun_38: /* tmp183 = */ myint_free_04680_gmpknd (ats_ptrget_mac(gmpknd, arg0)) ; return /* (tmp183) */ ; } /* end of [__ats_fun_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 3699(line=134, offs=15) -- 4007(line=143, offs=4) */ ATSstaticdec() ats_void_type myintvec_free_04722_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_size_type, tmp175) ; // ATSlocal_void (tmp176) ; __ats_lab_myintvec_free_04722_gmpknd: tmp174 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp175 = atspre_size1_of_int1 (arg1) ; /* tmp176 = */ array_ptr_clear_fun_01576_gmpknd (tmp174, tmp175, &__ats_fun_38) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free (arg0, arg1) ; return /* (tmp173) */ ; } /* end of [myintvec_free_04722_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 5305(line=194, offs=18) -- 5568(line=202, offs=41) */ ATSstaticdec() ats_ptr_type icnstrlst_negate_04733_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab_icnstrlst_negate_04733_gmpknd: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp196 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp197 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp199 = ats_ptrget_mac(ats_ptr_type, tmp196) ; tmp198 = icnstr_negate_04732_gmpknd (tmp199) ; ats_ptrget_mac(ats_ptr_type, tmp196) = tmp198 ; tmp201 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp200 = icnstrlst_negate_04733_gmpknd (tmp201) ; ats_ptrget_mac(ats_ptr_type, tmp197) = tmp200 ; tmp195 = arg0 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp195 = arg0 ; break ; } while (0) ; return (tmp195) ; } /* end of [icnstrlst_negate_04733_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 4962(line=182, offs=15) -- 5247(line=190, offs=32) */ ATSstaticdec() ats_ptr_type icnstr_negate_04732_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_int_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp202) ; __ats_lab_icnstr_negate_04732_gmpknd: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp187 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp189 = ats_ptrget_mac(ats_int_type, tmp187) ; tmp188 = atspre_ineg (tmp189) ; ats_ptrget_mac(ats_int_type, tmp187) = tmp188 ; tmp186 = arg0 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_10_1: tmp190 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp191 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp193 = ats_ptrget_mac(ats_int_type, tmp190) ; tmp192 = atspre_isub (1, tmp193) ; ats_ptrget_mac(ats_int_type, tmp190) = tmp192 ; tmp202 = ats_ptrget_mac(ats_ptr_type, tmp191) ; tmp194 = icnstrlst_negate_04733_gmpknd (tmp202) ; ats_ptrget_mac(ats_ptr_type, tmp191) = tmp194 ; tmp186 = arg0 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp186 = arg0 ; break ; } while (0) ; return (tmp186) ; } /* end of [icnstr_negate_04732_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 15952(line=704, offs=5) -- 16565(line=722, offs=6) */ ATSstaticdec() ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp229) ; ATSlocal (ats_bool_type, tmp230) ; ATSlocal (gmpknd, tmp231) ; ATSlocal (gmpknd, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; __ats_lab_loop_43: tmp230 = atspre_igt (arg2, 0) ; if (tmp230) { tmp232 = ats_ptrget_mac(gmpknd, arg0) ; tmp231 = myint_copy_04681_gmpknd (tmp232) ; ats_ptrget_mac(gmpknd, arg1) = tmp231 ; tmp233 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp234 = atspre_padd_size (arg1, sizeof(gmpknd)) ; tmp235 = atspre_isub (arg2, 1) ; arg0 = tmp233 ; arg1 = tmp234 ; arg2 = tmp235 ; goto __ats_lab_loop_43 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp229) */ ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 15861(line=698, offs=6) -- 16845(line=732, offs=4) */ ATSstaticdec() ats_ptr_type myintvec_copy_04745_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; __ats_lab_myintvec_copy_04745_gmpknd: tmp236 = myintvec0_make_04719_gmpknd (arg1) ; tmp237 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp238 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp236), atslab_1) ; /* tmp239 = */ loop_43 (tmp237, tmp238, arg1) ; tmp228 = tmp236 ; return (tmp228) ; } /* end of [myintvec_copy_04745_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 4520(line=164, offs=16) -- 4861(line=176, offs=8) */ ATSstaticdec() ats_ptr_type icnstrlst_copy_04731_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; __ats_lab_icnstrlst_copy_04731_gmpknd: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp245 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp246 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp248 = ats_ptrget_mac(ats_ptr_type, tmp245) ; tmp247 = icnstr_copy_04730_gmpknd (tmp248, arg1) ; tmp250 = ats_ptrget_mac(ats_ptr_type, tmp246) ; tmp249 = icnstrlst_copy_04731_gmpknd (tmp250, arg1) ; tmp244 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp244, atslab_0, tmp247) ; ats_selptrset_mac(anairiats_sum_4, tmp244, atslab_1, tmp249) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp244 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp244) ; } /* end of [icnstrlst_copy_04731_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 4081(line=148, offs=13) -- 4466(line=160, offs=55) */ ATSstaticdec() ats_ptr_type icnstr_copy_04730_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab_icnstr_copy_04730_gmpknd: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp226 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp240 = ats_ptrget_mac(ats_ptr_type, tmp226) ; tmp227 = myintvec_copy_04745_gmpknd (tmp240, arg1) ; tmp224 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp224)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp224, atslab_0, tmp225) ; ats_selptrset_mac(anairiats_sum_5, tmp224, atslab_1, tmp227) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_21_0 ; } __ats_lab_18_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp242 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp251 = ats_ptrget_mac(ats_ptr_type, tmp242) ; tmp243 = icnstrlst_copy_04731_gmpknd (tmp251, arg1) ; tmp224 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp224)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp224, atslab_0, tmp241) ; ats_selptrset_mac(anairiats_sum_5, tmp224, atslab_1, tmp243) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp224 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp224)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp224, atslab_0, tmp252) ; ats_selptrset_mac(anairiats_sum_7, tmp224, atslab_1, tmp253) ; break ; } while (0) ; return (tmp224) ; } /* end of [icnstr_copy_04730_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 3802(line=157, offs=3) -- 4087(line=164, offs=2) */ ATSstaticdec() ats_void_type myintvec_addby_const_05245_gmpknd (ats_ptr_type arg0, gmpknd arg1) { /* local vardec */ // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (gmpknd, tmp301) ; ATSlocal (gmpknd, tmp302) ; __ats_lab_myintvec_addby_const_05245_gmpknd: tmp300 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp302 = ats_ptrget_mac(gmpknd, tmp300) ; tmp301 = add01_myint_myint_04685_gmpknd (tmp302, arg1) ; ats_ptrget_mac(gmpknd, tmp300) = tmp301 ; /* tmp299 = */ myint_free_04680_gmpknd (arg1) ; return /* (tmp299) */ ; } /* end of [myintvec_addby_const_05245_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 8460(line=326, offs=11) -- 9350(line=361, offs=4) */ ATSstaticdec() ats_void_type myintvec_addby_s3exp_05045_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (gmpknd, tmp319) ; ATSlocal (gmpknd, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (gmpknd, tmp324) ; ATSlocal (gmpknd, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; __ats_lab_myintvec_addby_s3exp_05045_gmpknd: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp318 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp319 = myint_make_int_04678_gmpknd (1) ; /* tmp317 = */ myintvec_addby_cffvar_05246_gmpknd (arg0, arg1, tmp319, tmp318, arg3) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp320 = myint_make_int_04678_gmpknd (1) ; /* tmp317 = */ myintvec_addby_const_05245_gmpknd (arg0, tmp320) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg2)->tag != 14) { goto __ats_lab_39_0 ; } __ats_lab_35_1: tmp321 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ; tmp322 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_1) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp322)->tag != 0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_6, tmp322, atslab_0) ; tmp324 = myint_make_intinf_04679_gmpknd (tmp321) ; /* tmp317 = */ myintvec_addby_cffvar_05246_gmpknd (arg0, arg1, tmp324, tmp323, arg3) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp322)->tag != 3) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp325 = myint_make_intinf_04679_gmpknd (tmp321) ; /* tmp317 = */ myintvec_addby_const_05245_gmpknd (arg0, tmp325) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp326 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp326 ; break ; } while (0) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp327 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp327 ; break ; } while (0) ; return /* (tmp317) */ ; } /* end of [myintvec_addby_s3exp_05045_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 9432(line=365, offs=11) -- 9766(line=377, offs=22) */ ATSstaticdec() ats_void_type myintvec_addby_s3explst_05058_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; // ATSlocal_void (tmp316) ; __ats_lab_myintvec_addby_s3explst_05058_gmpknd: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_32_1: tmp314 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp315 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; /* tmp316 = */ myintvec_addby_s3exp_05045_gmpknd (arg0, arg1, tmp314, arg3) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp315 ; arg3 = arg3 ; goto __ats_lab_myintvec_addby_s3explst_05058_gmpknd ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: break ; } while (0) ; return /* (tmp313) */ ; } /* end of [myintvec_addby_s3explst_05058_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 9859(line=384, offs=1) -- 10793(line=421, offs=4) */ ATSstaticdec() ats_ptr_type s3exp2myintvec_04832_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_int_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (gmpknd, tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (gmpknd, tmp297) ; // ATSlocal_void (tmp298) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (gmpknd, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (gmpknd, tmp308) ; // ATSlocal_void (tmp309) ; ATSlocal (ats_int_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_int_type, tmp328) ; __ats_lab_s3exp2myintvec_04832_gmpknd: tmp293 = atspre_iadd (arg1, 1) ; tmp292 = myintvec_make_04721_gmpknd (tmp293) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp295 = myint_make_int_04678_gmpknd (1) ; /* tmp296 = */ myintvec_addby_cffvar_05246_gmpknd (tmp292, arg0, tmp295, tmp294, arg3) ; tmp291 = tmp292 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp291 = tmp292 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp297 = myint_make_int_04678_gmpknd (1) ; /* tmp298 = */ myintvec_addby_const_05245_gmpknd (tmp292, tmp297) ; tmp291 = tmp292 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg2)->tag != 14) { goto __ats_lab_31_0 ; } __ats_lab_27_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_1) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp304)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_6, tmp304, atslab_0) ; tmp306 = myint_make_intinf_04679_gmpknd (tmp303) ; /* tmp307 = */ myintvec_addby_cffvar_05246_gmpknd (tmp292, arg0, tmp306, tmp305, arg3) ; tmp291 = tmp292 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp304)->tag != 3) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp308 = myint_make_intinf_04679_gmpknd (tmp303) ; /* tmp309 = */ myintvec_addby_const_05245_gmpknd (tmp292, tmp308) ; tmp291 = tmp292 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp310 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp310 ; tmp291 = tmp292 ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg2)->tag != 15) { goto __ats_lab_41_0 ; } __ats_lab_31_1: tmp311 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; /* tmp312 = */ myintvec_addby_s3explst_05058_gmpknd (tmp292, arg0, tmp311, arg3) ; tmp291 = tmp292 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp328 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp328 ; tmp291 = tmp292 ; break ; } while (0) ; return (tmp291) ; } /* end of [s3exp2myintvec_04832_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02434_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; __ats_lab_prerr_error3_loc_02434_: /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp334 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp334) */ ; } /* end of [prerr_error3_loc_02434_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 4722(line=192, offs=7) -- 8361(line=318, offs=4) */ ATSstaticdec() ats_ptr_type s3exp2icnstr_04831_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (gmpknd, tmp151) ; ATSlocal (ats_int_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_bool_type, tmp171) ; // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_int_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_bool_type, tmp329) ; // ATSlocal_void (tmp330) ; ATSlocal (ats_int_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; __ats_lab_s3exp2icnstr_04831_gmpknd: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg3)->tag != 4) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; if (tmp131) { tmp132 = (ats_sum_ptr_type)0 ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp132) ; } else { tmp133 = (ats_sum_ptr_type)0 ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp133) ; } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg3)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp135 = atspre_iadd (arg2, 1) ; tmp136 = myintvec_make_04721_gmpknd (tmp135) ; tmp151 = myint_make_int_04678_gmpknd (1) ; /* ats_int_type tmp152 ; */ tmp152 = 0 ; /* tmp153 = */ myintvec_addby_cffvar_05246_gmpknd (tmp136, arg1, tmp151, tmp134, (&tmp152)) ; /* tmp166 = */ myintvec_add_int_04717_gmpknd (tmp136, -1) ; tmp171 = atspre_gt_int_int (tmp152, 0) ; if (tmp171) { /* tmp172 = */ myintvec_free_04722_gmpknd (tmp136, tmp135) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp130)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ; } else { tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp136) ; } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg3)->tag != 6) { goto __ats_lab_14_0 ; } __ats_lab_8_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp185 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp184) ; tmp130 = icnstr_negate_04732_gmpknd (tmp185) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg3)->tag != 7) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp205 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp203) ; tmp206 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp204) ; tmp209 = (ats_sum_ptr_type)0 ; tmp208 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp208, atslab_0, tmp206) ; ats_selptrset_mac(anairiats_sum_4, tmp208, atslab_1, tmp209) ; tmp207 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp207, atslab_0, tmp205) ; ats_selptrset_mac(anairiats_sum_4, tmp207, atslab_1, tmp208) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp207) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg3)->tag != 8) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp211 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp212 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp210) ; tmp213 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp211) ; tmp216 = (ats_sum_ptr_type)0 ; tmp215 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp215, atslab_0, tmp213) ; ats_selptrset_mac(anairiats_sum_4, tmp215, atslab_1, tmp216) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp214, atslab_0, tmp212) ; ats_selptrset_mac(anairiats_sum_4, tmp214, atslab_1, tmp215) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp214) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg3)->tag != 9) { goto __ats_lab_22_0 ; } __ats_lab_16_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp219 = atspre_iadd (arg2, 1) ; tmp220 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp217) ; tmp221 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp218) ; tmp223 = icnstr_copy_04730_gmpknd (tmp220, tmp219) ; tmp222 = icnstr_negate_04732_gmpknd (tmp223) ; tmp255 = icnstr_copy_04730_gmpknd (tmp221, tmp219) ; tmp254 = icnstr_negate_04732_gmpknd (tmp255) ; tmp259 = (ats_sum_ptr_type)0 ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp258, atslab_0, tmp221) ; ats_selptrset_mac(anairiats_sum_4, tmp258, atslab_1, tmp259) ; tmp257 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp257, atslab_0, tmp220) ; ats_selptrset_mac(anairiats_sum_4, tmp257, atslab_1, tmp258) ; tmp256 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp256)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp256, atslab_1, tmp257) ; tmp263 = (ats_sum_ptr_type)0 ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp262, atslab_0, tmp254) ; ats_selptrset_mac(anairiats_sum_4, tmp262, atslab_1, tmp263) ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp261, atslab_0, tmp222) ; ats_selptrset_mac(anairiats_sum_4, tmp261, atslab_1, tmp262) ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp260)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp260, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp260, atslab_1, tmp261) ; tmp266 = (ats_sum_ptr_type)0 ; tmp265 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp265, atslab_0, tmp260) ; ats_selptrset_mac(anairiats_sum_4, tmp265, atslab_1, tmp266) ; tmp264 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp264, atslab_0, tmp256) ; ats_selptrset_mac(anairiats_sum_4, tmp264, atslab_1, tmp265) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp264) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg3)->tag != 10) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp267 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp268 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp269 = atspre_iadd (arg2, 1) ; tmp270 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp267) ; tmp271 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp268) ; tmp273 = icnstr_copy_04730_gmpknd (tmp270, tmp269) ; tmp272 = icnstr_negate_04732_gmpknd (tmp273) ; tmp275 = icnstr_copy_04730_gmpknd (tmp271, tmp269) ; tmp274 = icnstr_negate_04732_gmpknd (tmp275) ; tmp279 = (ats_sum_ptr_type)0 ; tmp278 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp278, atslab_0, tmp274) ; ats_selptrset_mac(anairiats_sum_4, tmp278, atslab_1, tmp279) ; tmp277 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp277, atslab_0, tmp270) ; ats_selptrset_mac(anairiats_sum_4, tmp277, atslab_1, tmp278) ; tmp276 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp276)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp276, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp276, atslab_1, tmp277) ; tmp283 = (ats_sum_ptr_type)0 ; tmp282 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp282, atslab_0, tmp271) ; ats_selptrset_mac(anairiats_sum_4, tmp282, atslab_1, tmp283) ; tmp281 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp281, atslab_0, tmp272) ; ats_selptrset_mac(anairiats_sum_4, tmp281, atslab_1, tmp282) ; tmp280 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp280)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp280, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp280, atslab_1, tmp281) ; tmp286 = (ats_sum_ptr_type)0 ; tmp285 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp285, atslab_0, tmp280) ; ats_selptrset_mac(anairiats_sum_4, tmp285, atslab_1, tmp286) ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_0, tmp276) ; ats_selptrset_mac(anairiats_sum_4, tmp284, atslab_1, tmp285) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp284) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg3)->tag != 11) { goto __ats_lab_42_0 ; } __ats_lab_23_1: tmp287 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ; tmp288 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_1) ; /* ats_int_type tmp289 ; */ tmp289 = 0 ; tmp290 = s3exp2myintvec_04832_gmpknd (arg1, arg2, tmp288, (&tmp289)) ; tmp329 = atspre_gt_int_int (tmp289, 0) ; if (tmp329) { tmp331 = atspre_iadd (arg2, 1) ; /* tmp330 = */ myintvec_free_04722_gmpknd (tmp290, tmp331) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp130)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ; } else { tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, tmp287) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp290) ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg3)->tag != 12) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp332 = (ats_sum_ptr_type)0 ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp130)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp130, atslab_1, tmp332) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: /* tmp333 = */ prerr_error3_loc_02434_ (arg0) ; /* tmp336 = */ atspre_prerr_string (ATSstrcst(": this constraint cannot be s3exp2icnstr-handled: s3e0 = ")) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp (arg3) ; /* tmp338 = */ atspre_prerr_newline () ; /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp130)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp130, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ; break ; } while (0) ; return (tmp130) ; } /* end of [s3exp2icnstr_04831_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 3429(line=144, offs=1) -- 3981(line=168, offs=4) */ ATSstaticdec() ats_ptr_type loop_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab_loop_26: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp126 = arg4 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; tmp129 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, tmp127) ; tmp340 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp340, atslab_0, tmp129) ; ats_selptrset_mac(anairiats_sum_4, tmp340, atslab_1, arg4) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp128 ; arg4 = tmp340 ; goto __ats_lab_loop_26 ; // tail call break ; } while (0) ; return (tmp126) ; } /* end of [loop_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 2594(line=104, offs=7) -- 2980(line=117, offs=29) */ ATSstaticdec() ats_ptr_type loop_51 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_int_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_bool_type, tmp352) ; __ats_lab_loop_51: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find (arg1, tmp348) ; tmp352 = atspre_igt (tmp350, 0) ; if (tmp352) { tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_add (arg2, tmp350) ; } else { tmp351 = arg2 ; } /* end of [if] */ arg0 = tmp349 ; arg1 = arg1 ; arg2 = tmp351 ; goto __ats_lab_loop_51 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp347 = arg2 ; break ; } while (0) ; return (tmp347) ; } /* end of [loop_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 2461(line=99, offs=11) -- 3120(line=123, offs=4) */ ATSstaticdec() ats_ptr_type indexset_make_s3exp_05079_ats_abs_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; __ats_lab_indexset_make_s3exp_05079_ats_abs_type: tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_fvs (arg1) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_listize_free (tmp353) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_nil () ; tmp346 = loop_51 (tmp354, arg0, tmp355) ; return (tmp346) ; } /* end of [indexset_make_s3exp_05079_ats_abs_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 17792(line=757, offs=5) -- 18185(line=772, offs=4) */ ATSstaticdec() ats_ptr_type loop_57 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; __ats_lab_loop_57: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp378 = &ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_4) ; tmp379 = ats_ptrget_mac(ats_ptr_type, tmp378) ; tmp380 = ats_castfn_mac(ats_ptr_type, arg1) ; arg0 = tmp380 ; arg1 = tmp379 ; goto __ats_lab_loop_57 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp381 = &ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp382 = ats_ptrget_mac(ats_ptr_type, tmp381) ; tmp383 = ats_castfn_mac(ats_ptr_type, arg1) ; arg0 = tmp383 ; arg1 = tmp382 ; goto __ats_lab_loop_57 ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp377 = arg0 ; break ; } while (0) ; return (tmp377) ; } /* end of [loop_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 17737(line=753, offs=24) -- 18230(line=776, offs=4) */ ATSstaticdec() ats_ptr_type myiveqlst_get_last_05203_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; __ats_lab_myiveqlst_get_last_05203_gmpknd: tmp376 = loop_57 (atspre_null_ptr, arg0) ; return (tmp376) ; } /* end of [myiveqlst_get_last_05203_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 2670(line=94, offs=3) -- 2932(line=101, offs=2) */ ATSstaticdec() ats_int_type myintvec_compare_at_04718_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_size_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (gmpknd, tmp400) ; __ats_lab_myintvec_compare_at_04718_gmpknd: tmp396 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp397 = atspre_size1_of_int1 (arg1) ; tmp398 = array_ptr_takeout_01586_gmpknd (tmp396, tmp397) ; tmp399 = ats_selsin_mac(tmp398, atslab_2) ; tmp400 = ats_ptrget_mac(gmpknd, tmp399) ; tmp395 = compare_myint_int_04702_gmpknd (tmp400, arg2) ; return (tmp395) ; } /* end of [myintvec_compare_at_04718_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 2339(line=81, offs=3) -- 2584(line=88, offs=2) */ ATSstaticdec() gmpknd myintvec_get_at_04715_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (gmpknd, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_size_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (gmpknd, tmp408) ; __ats_lab_myintvec_get_at_04715_gmpknd: tmp404 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp405 = atspre_size1_of_int1 (arg1) ; tmp406 = array_ptr_takeout_01586_gmpknd (tmp404, tmp405) ; tmp407 = ats_selsin_mac(tmp406, atslab_2) ; tmp408 = ats_ptrget_mac(gmpknd, tmp407) ; tmp403 = myint_copy_04681_gmpknd (tmp408) ; return (tmp403) ; } /* end of [myintvec_get_at_04715_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 18874(line=831, offs=5) -- 19225(line=844, offs=6) */ ATSstaticdec() ats_void_type loop_63 (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (gmpknd, tmp417) ; ATSlocal (gmpknd, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_int_type, tmp420) ; __ats_lab_loop_63: tmp416 = atspre_igt (arg2, 0) ; if (tmp416) { tmp418 = ats_ptrget_mac(gmpknd, arg1) ; tmp417 = mul10_myint_myint_04688_gmpknd (arg0, tmp418) ; ats_ptrget_mac(gmpknd, arg1) = tmp417 ; tmp419 = atspre_padd_size (arg1, sizeof(gmpknd)) ; tmp420 = atspre_isub (arg2, 1) ; arg0 = arg0 ; arg1 = tmp419 ; arg2 = tmp420 ; goto __ats_lab_loop_63 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp415) */ ; } /* end of [loop_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 18746(line=822, offs=7) -- 19380(line=851, offs=4) */ ATSstaticdec() ats_void_type myintvec_scale_04749_gmpknd (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp414) ; ATSlocal (ats_ptr_type, tmp421) ; __ats_lab_myintvec_scale_04749_gmpknd: tmp421 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; /* tmp414 = */ loop_63 (arg0, tmp421, arg2) ; return /* (tmp414) */ ; } /* end of [myintvec_scale_04749_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 21591(line=948, offs=5) -- 22169(line=966, offs=6) */ ATSstaticdec() ats_void_type loop_65 (ats_ptr_type arg0, gmpknd arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp424) ; ATSlocal (ats_bool_type, tmp425) ; ATSlocal (gmpknd, tmp426) ; ATSlocal (gmpknd, tmp427) ; ATSlocal (gmpknd, tmp428) ; ATSlocal (gmpknd, tmp429) ; // ATSlocal_void (tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_int_type, tmp433) ; __ats_lab_loop_65: tmp425 = atspre_igt (arg3, 0) ; if (tmp425) { tmp427 = ats_ptrget_mac(gmpknd, arg2) ; tmp426 = mul11_myint_myint_04689_gmpknd (arg1, tmp427) ; tmp429 = ats_ptrget_mac(gmpknd, arg0) ; tmp428 = add01_myint_myint_04685_gmpknd (tmp429, tmp426) ; ats_ptrget_mac(gmpknd, arg0) = tmp428 ; /* tmp430 = */ myint_free_04680_gmpknd (tmp426) ; tmp431 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp432 = atspre_padd_size (arg2, sizeof(gmpknd)) ; tmp433 = atspre_isub (arg3, 1) ; arg0 = tmp431 ; arg1 = arg1 ; arg2 = tmp432 ; arg3 = tmp433 ; goto __ats_lab_loop_65 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp424) */ ; } /* end of [loop_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 21425(line=937, offs=7) -- 22433(line=975, offs=4) */ ATSstaticdec() ats_void_type myintvec_addby_cff_04752_gmpknd (ats_ptr_type arg0, gmpknd arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp423) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; __ats_lab_myintvec_addby_cff_04752_gmpknd: tmp434 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp435 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg2), atslab_1) ; /* tmp423 = */ loop_65 (tmp434, arg1, tmp435, arg3) ; return /* (tmp423) */ ; } /* end of [myintvec_addby_cff_04752_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 11173(line=475, offs=3) -- 12104(line=509, offs=4) */ ATSstaticdec() ats_void_type myintvec_elimeq_at_05192_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp393) ; ATSlocal (ats_int_type, tmp394) ; ATSlocal (ats_bool_type, tmp401) ; ATSlocal (gmpknd, tmp402) ; ATSlocal (gmpknd, tmp409) ; ATSlocal (ats_int_type, tmp410) ; ATSlocal (ats_bool_type, tmp411) ; ATSlocal (gmpknd, tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; ATSlocal (gmpknd, tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; // ATSlocal_void (tmp442) ; __ats_lab_myintvec_elimeq_at_05192_gmpknd: tmp394 = myintvec_compare_at_04718_gmpknd (arg0, arg3, 0) ; tmp401 = atspre_neq_int_int (tmp394, 0) ; if (tmp401) { /* gmpknd tmp402 ; */ tmp402 = myintvec_get_at_04715_gmpknd (arg0, arg3) ; /* gmpknd tmp409 ; */ tmp409 = myintvec_get_at_04715_gmpknd (arg1, arg3) ; tmp410 = compare_myint_int_04702_gmpknd (tmp409, 0) ; tmp411 = atspre_gte_int_int (tmp410, 0) ; if (tmp411) { tmp412 = neg_myint_04682_gmpknd (tmp402) ; tmp402 = tmp412 ; /* tmp413 = */ myintvec_scale_04749_gmpknd (tmp409, arg0, arg2) ; /* tmp422 = */ myintvec_addby_cff_04752_gmpknd (arg0, tmp402, arg1, arg2) ; /* tmp436 = */ myint_free_04680_gmpknd (tmp402) ; /* tmp437 = */ myint_free_04680_gmpknd (tmp409) ; } else { tmp438 = neg_myint_04682_gmpknd (tmp409) ; tmp409 = tmp438 ; /* tmp439 = */ myintvec_scale_04749_gmpknd (tmp409, arg0, arg2) ; /* tmp440 = */ myintvec_addby_cff_04752_gmpknd (arg0, tmp402, arg1, arg2) ; /* tmp441 = */ myint_free_04680_gmpknd (tmp402) ; /* tmp442 = */ myint_free_04680_gmpknd (tmp409) ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp393) */ ; } /* end of [myintvec_elimeq_at_05192_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 18501(line=790, offs=32) -- 19581(line=832, offs=4) */ ATSstaticdec() ats_void_type myintvec_elimeqlst_rev_04566_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_int_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_int_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; // ATSlocal_void (tmp391) ; ATSlocal (ats_bool_type, tmp392) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_bool_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; __ats_lab_myintvec_elimeqlst_rev_04566_gmpknd: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp387 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; tmp388 = &ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_2) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_3) ; tmp392 = atspre_lte_int_int (arg0, tmp387) ; if (tmp392) { tmp443 = ats_ptrget_mac(ats_ptr_type, tmp388) ; /* tmp391 = */ myintvec_elimeq_at_05192_gmpknd (arg1, tmp443, arg3, tmp389) ; } else { /* empty */ } /* end of [if] */ tmp386 = tmp390 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp444 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ; tmp386 = tmp444 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (((ats_sum_ptr_type)arg2)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp386 = atspre_null_ptr ; break ; } while (0) ; tmp445 = atspre_pgt (tmp386, atspre_null_ptr) ; if (tmp445) { tmp446 = ats_castfn_mac(ats_ptr_type, tmp386) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp446 ; arg3 = arg3 ; goto __ats_lab_myintvec_elimeqlst_rev_04566_gmpknd ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp385) */ ; } /* end of [myintvec_elimeqlst_rev_04566_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 19677(line=838, offs=7) -- 20082(line=852, offs=4) */ ATSstaticdec() ats_void_type myintvec_elimeqlst_05204_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_bool_type, tmp384) ; __ats_lab_myintvec_elimeqlst_05204_gmpknd: tmp375 = myiveqlst_get_last_05203_gmpknd (arg2) ; tmp384 = atspre_pgt (tmp375, atspre_null_ptr) ; if (tmp384) { /* tmp374 = */ myintvec_elimeqlst_rev_04566_gmpknd (arg0, arg1, ats_castfn_mac(ats_ptr_type, tmp375), arg3) ; } else { /* empty */ } /* end of [if] */ return /* (tmp374) */ ; } /* end of [myintvec_elimeqlst_05204_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 1855(line=61, offs=14) -- 1893(line=61, offs=52) */ ATSstaticdec() ats_bool_type eq_myint_int_04700_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp453) ; ATSlocal (ats_int_type, tmp454) ; __ats_lab_eq_myint_int_04700_gmpknd: tmp454 = compare_myint_int_04702_gmpknd (arg0, arg1) ; tmp453 = atspre_eq_int_int (tmp454, 0) ; return (tmp453) ; } /* end of [eq_myint_int_04700_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 6610(line=256, offs=1) -- 7074(line=277, offs=4) */ ATSstaticdec() ats_bool_type loop_68 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp450) ; ATSlocal (ats_bool_type, tmp451) ; ATSlocal (ats_bool_type, tmp452) ; ATSlocal (gmpknd, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_int_type, tmp457) ; __ats_lab_loop_68: tmp451 = atspre_igt (arg1, 0) ; if (tmp451) { tmp455 = ats_ptrget_mac(gmpknd, arg0) ; tmp452 = eq_myint_int_04700_gmpknd (tmp455, 0) ; if (tmp452) { tmp456 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp457 = atspre_isub (arg1, 1) ; arg0 = tmp456 ; arg1 = tmp457 ; goto __ats_lab_loop_68 ; // tail call } else { tmp450 = ats_false_bool ; } /* end of [if] */ } else { tmp450 = ats_true_bool ; } /* end of [if] */ return (tmp450) ; } /* end of [loop_68] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 1787(line=58, offs=15) -- 1826(line=58, offs=54) */ ATSstaticdec() ats_bool_type gte_myint_int_04699_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; __ats_lab_gte_myint_int_04699_gmpknd: tmp466 = compare_myint_int_04702_gmpknd (arg0, arg1) ; tmp465 = atspre_gte_int_int (tmp466, 0) ; return (tmp465) ; } /* end of [gte_myint_int_04699_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 1585(line=51, offs=14) -- 1623(line=51, offs=52) */ ATSstaticdec() ats_bool_type lt_myint_int_04696_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp469) ; ATSlocal (ats_int_type, tmp470) ; __ats_lab_lt_myint_int_04696_gmpknd: tmp470 = compare_myint_int_04702_gmpknd (arg0, arg1) ; tmp469 = atspre_lt_int_int (tmp470, 0) ; return (tmp469) ; } /* end of [lt_myint_int_04696_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 1922(line=63, offs=15) -- 1961(line=63, offs=54) */ ATSstaticdec() ats_bool_type neq_myint_int_04701_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp475) ; ATSlocal (ats_int_type, tmp476) ; __ats_lab_neq_myint_int_04701_gmpknd: tmp476 = compare_myint_int_04702_gmpknd (arg0, arg1) ; tmp475 = atspre_neq_int_int (tmp476, 0) ; return (tmp475) ; } /* end of [neq_myint_int_04701_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 6558(line=251, offs=6) -- 7907(line=310, offs=4) */ ATSstaticdec() ats_int_type myintvec_inspect_04736_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp449) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_bool_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_int_type, tmp462) ; ATSlocal (ats_bool_type, tmp464) ; ATSlocal (gmpknd, tmp467) ; ATSlocal (ats_bool_type, tmp468) ; ATSlocal (gmpknd, tmp471) ; ATSlocal (ats_bool_type, tmp472) ; ATSlocal (gmpknd, tmp473) ; ATSlocal (ats_bool_type, tmp474) ; ATSlocal (gmpknd, tmp477) ; __ats_lab_myintvec_inspect_04736_gmpknd: tmp458 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp460 = atspre_padd_size (tmp458, sizeof(gmpknd)) ; tmp461 = atspre_isub (arg2, 1) ; tmp459 = loop_68 (tmp460, tmp461) ; /* ats_int_type tmp462 ; */ tmp462 = 0 ; if (tmp459) { do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 != 2) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp467 = ats_ptrget_mac(gmpknd, tmp458) ; tmp464 = gte_myint_int_04699_gmpknd (tmp467, 0) ; if (tmp464) { tmp462 = 1 ; } else { tmp462 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg0 != -2) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp471 = ats_ptrget_mac(gmpknd, tmp458) ; tmp468 = lt_myint_int_04696_gmpknd (tmp471, 0) ; if (tmp468) { tmp462 = 1 ; } else { tmp462 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 != 1) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp473 = ats_ptrget_mac(gmpknd, tmp458) ; tmp472 = eq_myint_int_04700_gmpknd (tmp473, 0) ; if (tmp472) { tmp462 = 1 ; } else { tmp462 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 != -1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp477 = ats_ptrget_mac(gmpknd, tmp458) ; tmp474 = neq_myint_int_04701_gmpknd (tmp477, 0) ; if (tmp474) { tmp462 = 1 ; } else { tmp462 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ tmp449 = tmp462 ; return (tmp449) ; } /* end of [myintvec_inspect_04736_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 7973(line=314, offs=3) -- 8017(line=314, offs=47) */ ATSstaticdec() ats_int_type myintvec_inspect_lt_04737_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp448) ; __ats_lab_myintvec_inspect_lt_04737_gmpknd: tmp448 = myintvec_inspect_04736_gmpknd (-2, arg0, arg1) ; return (tmp448) ; } /* end of [myintvec_inspect_lt_04737_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 18175(line=790, offs=1) -- 18502(line=804, offs=6) */ ATSstaticdec() ats_void_type loop_74 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp481) ; ATSlocal (ats_bool_type, tmp482) ; ATSlocal (gmpknd, tmp483) ; ATSlocal (gmpknd, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_int_type, tmp486) ; __ats_lab_loop_74: tmp482 = atspre_igt (arg1, 0) ; if (tmp482) { tmp484 = ats_ptrget_mac(gmpknd, arg0) ; tmp483 = neg_myint_04682_gmpknd (tmp484) ; ats_ptrget_mac(gmpknd, arg0) = tmp483 ; tmp485 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp486 = atspre_isub (arg1, 1) ; arg0 = tmp485 ; arg1 = tmp486 ; goto __ats_lab_loop_74 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp481) */ ; } /* end of [loop_74] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 18060(line=781, offs=7) -- 18661(line=816, offs=4) */ ATSstaticdec() ats_void_type myintvec_negate_04748_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp480) ; ATSlocal (ats_ptr_type, tmp487) ; __ats_lab_myintvec_negate_04748_gmpknd: tmp487 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; /* tmp480 = */ loop_74 (tmp487, arg1) ; return /* (tmp480) */ ; } /* end of [myintvec_negate_04748_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 12558(line=552, offs=1) -- 12938(line=569, offs=6) */ ATSstaticdec() ats_void_type loop_77 (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp493) ; ATSlocal (ats_bool_type, tmp494) ; ATSlocal (gmpknd, tmp495) ; ATSlocal (gmpknd, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_int_type, tmp498) ; __ats_lab_loop_77: tmp494 = atspre_igt (arg2, 0) ; if (tmp494) { tmp496 = ats_ptrget_mac(gmpknd, arg1) ; tmp495 = ediv01_myint_myint_04692_gmpknd (tmp496, arg0) ; ats_ptrget_mac(gmpknd, arg1) = tmp495 ; tmp497 = atspre_padd_size (arg1, sizeof(gmpknd)) ; tmp498 = atspre_isub (arg2, 1) ; arg0 = arg0 ; arg1 = tmp497 ; arg2 = tmp498 ; goto __ats_lab_loop_77 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp493) */ ; } /* end of [loop_77] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() gmpknd ptr0_get_01759_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (gmpknd, tmp508) ; __ats_lab_ptr0_get_01759_gmpknd: tmp508 = ats_ptrget_mac(gmpknd, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp508) ; } /* end of [ptr0_get_01759_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 10322(line=428, offs=1) -- 11020(line=470, offs=2) */ ATSstaticdec() ats_void_type loop_80 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp505) ; ATSlocal (ats_bool_type, tmp506) ; ATSlocal (gmpknd, tmp507) ; ATSlocal (ats_bool_type, tmp509) ; ATSlocal (ats_bool_type, tmp510) ; ATSlocal (gmpknd, tmp511) ; ATSlocal (gmpknd, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_int_type, tmp514) ; // ATSlocal_void (tmp515) ; ATSlocal (gmpknd, tmp516) ; ATSlocal (gmpknd, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_int_type, tmp519) ; __ats_lab_loop_80: tmp506 = atspre_lt_int_int (arg1, env0) ; if (tmp506) { tmp507 = ptr0_get_01759_gmpknd (arg0) ; tmp509 = neq_myint_int_04701_gmpknd (tmp507, 0) ; if (tmp509) { tmp510 = neq_myint_int_04701_gmpknd (tmp507, 1) ; if (tmp510) { tmp512 = ats_ptrget_mac(gmpknd, env1) ; tmp511 = gcd01_myint_myint_04695_gmpknd (tmp512, tmp507) ; ats_ptrget_mac(gmpknd, env1) = tmp511 ; tmp513 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp514 = atspre_add_int_int (arg1, 1) ; arg0 = tmp513 ; arg1 = tmp514 ; goto __ats_lab_loop_80 ; // tail call } else { tmp516 = ats_ptrget_mac(gmpknd, env1) ; /* tmp515 = */ myint_free_04680_gmpknd (tmp516) ; tmp517 = myint_make_int_04678_gmpknd (1) ; ats_ptrget_mac(gmpknd, env1) = tmp517 ; } /* end of [if] */ } else { tmp518 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp519 = atspre_add_int_int (arg1, 1) ; arg0 = tmp518 ; arg1 = tmp519 ; goto __ats_lab_loop_80 ; // tail call } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp505) */ ; } /* end of [loop_80] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_ptr_type closure_env_1 ; } loop_80_closure_type ; ats_void_type loop_80_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { loop_80 (((loop_80_closure_type*)cloptr)->closure_env_0, ((loop_80_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_80_closure_init (loop_80_closure_type *p_clo, ats_int_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_80_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_80_closure_make (ats_int_type env0, ats_ptr_type env1) { loop_80_closure_type *p_clo = ATS_MALLOC(sizeof(loop_80_closure_type)) ; loop_80_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 9501(line=388, offs=12) -- 11209(line=479, offs=4) */ ATSstaticdec() ats_void_type myintvec_cffgcd_main_04126_gmpknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; __ats_lab_myintvec_cffgcd_main_04126_gmpknd: tmp520 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp521 = atspre_padd_size (tmp520, sizeof(gmpknd)) ; /* tmp504 = */ loop_80 (arg1, arg2, tmp521, 1) ; return /* (tmp504) */ ; } /* end of [myintvec_cffgcd_main_04126_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 11302(line=485, offs=6) -- 12298(line=535, offs=4) */ ATSstaticdec() gmpknd myintvec_cffgcd_04742_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (gmpknd, tmp500) ; ATSlocal (gmpknd, tmp501) ; // ATSlocal_void (tmp502) ; // ATSlocal_void (tmp503) ; ATSlocal (ats_ptr_type, tmp522) ; __ats_lab_myintvec_cffgcd_04742_gmpknd: /* gmpknd tmp501 ; */ tmp501 = myint_make_int_04678_gmpknd (0) ; ATS_TRYWITH_TRY(tmp522) /* tmp503 = */ myintvec_cffgcd_main_04126_gmpknd (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)), arg1, (&tmp501)) ; /* tmp502 = tmp503 */ ; ATS_TRYWITH_WITH(tmp522) do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (tmp522 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished) { ats_raise_exn (tmp522) ; } __ats_lab_60_1: break ; } while (0) ; ATS_TRYWITH_END() ; tmp500 = tmp501 ; return (tmp500) ; } /* end of [myintvec_cffgcd_04742_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 1720(line=56, offs=14) -- 1758(line=56, offs=52) */ ATSstaticdec() ats_bool_type gt_myint_int_04698_gmpknd (gmpknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp524) ; ATSlocal (ats_int_type, tmp525) ; __ats_lab_gt_myint_int_04698_gmpknd: tmp525 = compare_myint_int_04702_gmpknd (arg0, arg1) ; tmp524 = atspre_gt_int_int (tmp525, 0) ; return (tmp524) ; } /* end of [gt_myint_int_04698_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 12407(line=543, offs=7) -- 14127(line=613, offs=4) */ ATSstaticdec() ats_int_type myintvec_normalize_05172_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp492) ; ATSlocal (gmpknd, tmp499) ; ATSlocal (ats_bool_type, tmp523) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_int_type, tmp527) ; // ATSlocal_void (tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_int_type, tmp530) ; // ATSlocal_void (tmp531) ; ATSlocal (ats_bool_type, tmp532) ; ATSlocal (ats_bool_type, tmp533) ; ATSlocal (gmpknd, tmp534) ; ATSlocal (gmpknd, tmp535) ; ATSlocal (gmpknd, tmp536) ; ATSlocal (gmpknd, tmp537) ; ATSlocal (gmpknd, tmp538) ; ATSlocal (gmpknd, tmp539) ; ATSlocal (gmpknd, tmp540) ; ATSlocal (gmpknd, tmp541) ; ATSlocal (gmpknd, tmp542) ; ATSlocal (ats_bool_type, tmp543) ; ATSlocal (gmpknd, tmp544) ; ATSlocal (gmpknd, tmp545) ; ATSlocal (ats_bool_type, tmp547) ; ATSlocal (gmpknd, tmp548) ; ATSlocal (gmpknd, tmp549) ; // ATSlocal_void (tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; __ats_lab_myintvec_normalize_05172_gmpknd: tmp499 = myintvec_cffgcd_04742_gmpknd (arg1, arg2) ; tmp523 = gt_myint_int_04698_gmpknd (tmp499, 1) ; if (tmp523) { tmp526 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; /* ats_int_type tmp527 ; */ tmp527 = 0 ; tmp529 = atspre_padd_size (tmp526, sizeof(gmpknd)) ; tmp530 = atspre_isub (arg2, 1) ; /* tmp528 = */ loop_77 (tmp499, tmp529, tmp530) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp532 = atspre_eq_int_int (arg0, 2) ; if (!tmp532) { goto __ats_lab_62_1 ; } tmp534 = ats_ptrget_mac(gmpknd, tmp526) ; tmp533 = gte_myint_int_04699_gmpknd (tmp534, 0) ; if (tmp533) { tmp536 = ats_ptrget_mac(gmpknd, tmp526) ; tmp535 = div01_myint_myint_04690_gmpknd (tmp536, tmp499) ; ats_ptrget_mac(gmpknd, tmp526) = tmp535 ; } else { tmp538 = ats_ptrget_mac(gmpknd, tmp526) ; tmp537 = sub01_myint_myint_04686_gmpknd (tmp538, tmp499) ; ats_ptrget_mac(gmpknd, tmp526) = tmp537 ; tmp540 = ats_ptrget_mac(gmpknd, tmp526) ; tmp539 = add_myint_int_04684_gmpknd (tmp540, 1) ; ats_ptrget_mac(gmpknd, tmp526) = tmp539 ; tmp542 = ats_ptrget_mac(gmpknd, tmp526) ; tmp541 = div01_myint_myint_04690_gmpknd (tmp542, tmp499) ; ats_ptrget_mac(gmpknd, tmp526) = tmp541 ; } /* end of [if] */ break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp543 = atspre_eq_int_int (arg0, 1) ; if (!tmp543) { goto __ats_lab_63_1 ; } tmp545 = ats_ptrget_mac(gmpknd, tmp526) ; tmp544 = mod11_myint_myint_04694_gmpknd (tmp545, tmp499) ; tmp547 = eq_myint_int_04700_gmpknd (tmp544, 0) ; if (tmp547) { tmp549 = ats_ptrget_mac(gmpknd, tmp526) ; tmp548 = ediv01_myint_myint_04692_gmpknd (tmp549, tmp499) ; ats_ptrget_mac(gmpknd, tmp526) = tmp548 ; } else { tmp527 = -1 ; } /* end of [if] */ /* tmp531 = */ myint_free_04680_gmpknd (tmp544) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp551 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 13818(line=601, offs=18) -- 13834(line=601, offs=34)", ATSstrcst("\n")) ; /* tmp550 = */ atspre_assert_errmsg (ats_false_bool, tmp551) ; tmp527 = -1 ; break ; } while (0) ; /* tmp552 = */ myint_free_04680_gmpknd (tmp499) ; tmp492 = tmp527 ; } else { /* tmp553 = */ myint_free_04680_gmpknd (tmp499) ; tmp492 = 0 ; } /* end of [if] */ return (tmp492) ; } /* end of [myintvec_normalize_05172_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 14198(line=617, offs=3) -- 14275(line=619, offs=2) */ ATSstaticdec() ats_void_type myintvec_normalize_gte_04743_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp490) ; ATSlocal (ats_int_type, tmp491) ; __ats_lab_myintvec_normalize_gte_04743_gmpknd: tmp491 = myintvec_normalize_05172_gmpknd (2, arg0, arg1) ; return /* (tmp490) */ ; } /* end of [myintvec_normalize_gte_04743_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 22065(line=957, offs=17) -- 22678(line=986, offs=4) */ ATSstaticdec() ats_int_type auxlt_04599_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp372) ; // ATSlocal_void (tmp373) ; ATSlocal (ats_int_type, tmp447) ; ATSlocal (ats_bool_type, tmp478) ; // ATSlocal_void (tmp479) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; ATSlocal (ats_ptr_type, tmp554) ; // ATSlocal_void (tmp555) ; __ats_lab_auxlt_04599_gmpknd: /* tmp373 = */ myintvec_elimeqlst_05204_gmpknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ; tmp447 = myintvec_inspect_lt_04737_gmpknd (arg3, arg4) ; tmp478 = atspre_ieq (tmp447, 0) ; if (tmp478) { /* tmp479 = */ myintvec_negate_04748_gmpknd (arg3, arg4) ; /* tmp488 = */ myintvec_add_int_04717_gmpknd (arg3, -1) ; /* tmp489 = */ myintvec_normalize_gte_04743_gmpknd (arg3, arg4) ; tmp554 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp554)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp554, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp554, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp554, atslab_2, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp554 ; tmp372 = 0 ; } else { /* tmp555 = */ myintvec_free_04722_gmpknd (arg3, arg4) ; tmp372 = tmp447 ; } /* end of [if] */ return (tmp372) ; } /* end of [auxlt_04599_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 20430(line=870, offs=5) -- 21171(line=900, offs=4) */ ATSstaticdec() ats_void_type loop_85 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp561) ; ATSlocal (ats_int_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; // ATSlocal_void (tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; __ats_lab_loop_85: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp562 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp563 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp564 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp566 = ats_ptrget_mac(ats_ptr_type, tmp563) ; tmp565 = myintvec_copy_04745_gmpknd (tmp566, arg2) ; /* tmp567 = */ myintvec_elimeqlst_05204_gmpknd (tmp562, tmp565, arg1, arg2) ; tmp568 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp568, atslab_0, tmp565) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp568 ; // if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp569 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; tmp570 = ats_ptrget_mac(ats_ptr_type, tmp564) ; arg0 = tmp570 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp569 ; goto __ats_lab_loop_85 ; // tail call break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp571 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp572 = ats_ptrget_mac(ats_ptr_type, tmp571) ; arg0 = tmp572 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_85 ; // tail call break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp573 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp573 ; break ; } while (0) ; return /* (tmp561) */ ; } /* end of [loop_85] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 20359(line=866, offs=7) -- 21271(line=907, offs=4) */ ATSstaticdec() ats_ptr_type myivlst_elimeqlst_05209_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp574) ; // ATSlocal_void (tmp575) ; __ats_lab_myivlst_elimeqlst_05209_gmpknd: /* ats_ptr_type tmp574 ; */ /* tmp575 = */ loop_85 (arg0, arg1, arg2, (&tmp574)) ; tmp560 = tmp574 ; return (tmp560) ; } /* end of [myivlst_elimeqlst_05209_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 8088(line=319, offs=3) -- 8132(line=319, offs=47) */ ATSstaticdec() ats_int_type myintvec_inspect_gte_04738_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp581) ; __ats_lab_myintvec_inspect_gte_04738_gmpknd: tmp581 = myintvec_inspect_04736_gmpknd (2, arg0, arg1) ; return (tmp581) ; } /* end of [myintvec_inspect_gte_04738_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 8581(line=342, offs=7) -- 9361(line=376, offs=4) */ ATSstaticdec() ats_int_type myintveclst_inspect_gte_04741_gmpknd (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_int_type, tmp580) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_bool_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; // ATSlocal_void (tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_bool_type, tmp587) ; __ats_lab_myintveclst_inspect_gte_04741_gmpknd: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp578 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp579 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp582 = ats_ptrget_mac(ats_ptr_type, tmp578) ; tmp580 = myintvec_inspect_gte_04738_gmpknd (tmp582, arg1) ; tmp583 = atspre_ineq (tmp580, 0) ; if (tmp583) { tmp584 = ats_ptrget_mac(ats_ptr_type, tmp579) ; tmp586 = ats_ptrget_mac(ats_ptr_type, tmp578) ; /* tmp585 = */ myintvec_free_04722_gmpknd (tmp586, arg1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp584 ; tmp587 = atspre_igt (tmp580, 0) ; if (tmp587) { arg0 = arg0 ; arg1 = arg1 ; goto __ats_lab_myintveclst_inspect_gte_04741_gmpknd ; // tail call } else { tmp577 = -1 ; } /* end of [if] */ } else { arg0 = tmp579 ; arg1 = arg1 ; goto __ats_lab_myintveclst_inspect_gte_04741_gmpknd ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp577 = 0 ; break ; } while (0) ; return (tmp577) ; } /* end of [myintveclst_inspect_gte_04741_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 14357(line=623, offs=7) -- 14656(line=639, offs=4) */ ATSstaticdec() ats_void_type myintveclst_normalize_gte_04744_gmpknd (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; // ATSlocal_void (tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; __ats_lab_myintveclst_normalize_gte_04744_gmpknd: do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp592 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp593 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp595 = ats_ptrget_mac(ats_ptr_type, tmp592) ; /* tmp594 = */ myintvec_normalize_gte_04743_gmpknd (tmp595, arg1) ; arg0 = tmp593 ; arg1 = arg1 ; goto __ats_lab_myintveclst_normalize_gte_04744_gmpknd ; // tail call break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: break ; } while (0) ; return /* (tmp591) */ ; } /* end of [myintveclst_normalize_gte_04744_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 2771(line=106, offs=5) -- 3588(line=140, offs=4) */ ATSstaticdec() ats_void_type auxbeg_92 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_int_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_bool_type, tmp609) ; ATSlocal (ats_bool_type, tmp610) ; __ats_lab_auxbeg_92: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp604 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp605 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp606 = ats_ptrget_mac(ats_ptr_type, tmp605) ; tmp608 = ats_ptrget_mac(ats_ptr_type, tmp604) ; tmp607 = myintvec_compare_at_04718_gmpknd (tmp608, arg1, 0) ; tmp609 = atspre_gt_int_int (tmp607, 0) ; if (tmp609) { ats_ptrget_mac(ats_ptr_type, tmp605) = ats_ptrget_mac(ats_ptr_type, arg3) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; arg0 = tmp606 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxbeg_92 ; // tail call } else { tmp610 = atspre_lt_int_int (tmp607, 0) ; if (tmp610) { ats_ptrget_mac(ats_ptr_type, tmp605) = ats_ptrget_mac(ats_ptr_type, arg4) ; ats_ptrget_mac(ats_ptr_type, arg4) = arg0 ; arg0 = tmp606 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxbeg_92 ; // tail call } else { ats_ptrget_mac(ats_ptr_type, tmp605) = ats_ptrget_mac(ats_ptr_type, arg2) ; ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; arg0 = tmp606 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxbeg_92 ; // tail call } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: break ; } while (0) ; return /* (tmp603) */ ; } /* end of [auxbeg_92] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 17061(line=747, offs=5) -- 17687(line=765, offs=6) */ ATSstaticdec() ats_void_type loop_96 (gmpknd arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp621) ; ATSlocal (ats_bool_type, tmp622) ; ATSlocal (gmpknd, tmp623) ; ATSlocal (gmpknd, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_int_type, tmp627) ; __ats_lab_loop_96: tmp622 = atspre_igt (arg3, 0) ; if (tmp622) { tmp624 = ats_ptrget_mac(gmpknd, arg1) ; tmp623 = mul11_myint_myint_04689_gmpknd (arg0, tmp624) ; ats_ptrget_mac(gmpknd, arg2) = tmp623 ; tmp625 = atspre_padd_size (arg1, sizeof(gmpknd)) ; tmp626 = atspre_padd_size (arg2, sizeof(gmpknd)) ; tmp627 = atspre_isub (arg3, 1) ; arg0 = arg0 ; arg1 = tmp625 ; arg2 = tmp626 ; arg3 = tmp627 ; goto __ats_lab_loop_96 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp621) */ ; } /* end of [loop_96] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 16931(line=738, offs=7) -- 17972(line=775, offs=4) */ ATSstaticdec() ats_ptr_type myintvec_copy_cff_04746_gmpknd (gmpknd arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; // ATSlocal_void (tmp631) ; __ats_lab_myintvec_copy_cff_04746_gmpknd: tmp628 = myintvec0_make_04719_gmpknd (arg2) ; tmp629 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp630 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp628), atslab_1) ; /* tmp631 = */ loop_96 (arg0, tmp629, tmp630, arg2) ; tmp620 = tmp628 ; return (tmp620) ; } /* end of [myintvec_copy_cff_04746_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 2067(line=76, offs=3) -- 2376(line=85, offs=4) */ ATSstaticdec() ats_ptr_type myintvec_combine_at_05185_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (gmpknd, tmp616) ; ATSlocal (gmpknd, tmp617) ; ATSlocal (gmpknd, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; // ATSlocal_void (tmp632) ; // ATSlocal_void (tmp633) ; // ATSlocal_void (tmp634) ; __ats_lab_myintvec_combine_at_05185_gmpknd: tmp616 = myintvec_get_at_04715_gmpknd (arg0, arg3) ; tmp618 = myintvec_get_at_04715_gmpknd (arg1, arg3) ; tmp617 = neg_myint_04682_gmpknd (tmp618) ; tmp619 = myintvec_copy_cff_04746_gmpknd (tmp616, arg1, arg2) ; /* tmp632 = */ myintvec_addby_cff_04752_gmpknd (tmp619, tmp617, arg0, arg2) ; /* tmp633 = */ myint_free_04680_gmpknd (tmp616) ; /* tmp634 = */ myint_free_04680_gmpknd (tmp617) ; tmp615 = tmp619 ; return (tmp615) ; } /* end of [myintvec_combine_at_05185_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 3615(line=142, offs=5) -- 4577(line=181, offs=4) */ ATSstaticdec() ats_int_type auxcomb_93 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_int_type, tmp636) ; // ATSlocal_void (tmp637) ; ATSlocal (ats_bool_type, tmp638) ; // ATSlocal_void (tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_bool_type, tmp641) ; __ats_lab_auxcomb_93: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp612 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_0) ; tmp613 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; tmp635 = ats_ptrget_mac(ats_ptr_type, tmp612) ; tmp614 = myintvec_combine_at_05185_gmpknd (tmp635, arg4, arg0, arg1) ; tmp636 = myintvec_inspect_gte_04738_gmpknd (tmp614, arg0) ; tmp638 = atspre_ineq (tmp636, 0) ; if (tmp638) { /* tmp637 = */ myintvec_free_04722_gmpknd (tmp614, arg0) ; } else { /* tmp639 = */ myintvec_normalize_gte_04743_gmpknd (tmp614, arg0) ; tmp640 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp640, atslab_0, tmp614) ; ats_selptrset_mac(anairiats_sum_4, tmp640, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp640 ; } /* end of [if] */ tmp641 = atspre_igte (tmp636, 0) ; if (tmp641) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp613 ; arg4 = arg4 ; goto __ats_lab_auxcomb_93 ; // tail call } else { tmp611 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (ats_ptrget_mac(ats_ptr_type, arg3) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp611 = 0 ; break ; } while (0) ; return (tmp611) ; } /* end of [auxcomb_93] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 5650(line=208, offs=18) -- 5789(line=212, offs=26) */ ATSstaticdec() ats_void_type myintveclst_free_04725_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; // ATSlocal_void (tmp652) ; __ats_lab_myintveclst_free_04725_gmpknd: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp650 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp651 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp652 = */ myintvec_free_04722_gmpknd (tmp650, arg1) ; arg0 = tmp651 ; arg1 = arg1 ; goto __ats_lab_myintveclst_free_04725_gmpknd ; // tail call break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: break ; } while (0) ; return /* (tmp649) */ ; } /* end of [myintveclst_free_04725_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 4660(line=185, offs=5) -- 5163(line=207, offs=4) */ ATSstaticdec() ats_int_type auxcomblst_97 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_int_type, tmp645) ; // ATSlocal_void (tmp646) ; ATSlocal (ats_bool_type, tmp647) ; // ATSlocal_void (tmp648) ; __ats_lab_auxcomblst_97: do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_78_1: tmp643 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp644 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; ATS_FREE(arg4) ; tmp645 = auxcomb_93 (arg0, arg1, arg2, arg3, tmp643) ; /* tmp646 = */ myintvec_free_04722_gmpknd (tmp643, arg0) ; tmp647 = atspre_gte_int_int (tmp645, 0) ; if (tmp647) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp644 ; goto __ats_lab_auxcomblst_97 ; // tail call } else { /* tmp648 = */ myintveclst_free_04725_gmpknd (tmp644, arg0) ; tmp642 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp642 = 0 ; break ; } while (0) ; return (tmp642) ; } /* end of [auxcomblst_97] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 2683(line=101, offs=7) -- 5459(line=222, offs=4) */ ATSstaticdec() ats_int_type myintveclst_split_at_05186_gmpknd (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp602) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; // ATSlocal_void (tmp656) ; ATSlocal (ats_int_type, tmp657) ; // ATSlocal_void (tmp658) ; __ats_lab_myintveclst_split_at_05186_gmpknd: /* ats_ptr_type tmp653 ; */ tmp653 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp654 ; */ tmp654 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp655 ; */ tmp655 = (ats_sum_ptr_type)0 ; /* tmp656 = */ auxbeg_92 (ats_ptrget_mac(ats_ptr_type, arg0), arg2, (&tmp653), (&tmp654), (&tmp655)) ; tmp657 = auxcomblst_97 (arg1, arg2, (&tmp653), (&tmp654), tmp655) ; /* tmp658 = */ myintveclst_free_04725_gmpknd (tmp654, arg1) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp653 ; tmp602 = tmp657 ; return (tmp602) ; } /* end of [myintveclst_split_at_05186_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 9810(line=414, offs=5) -- 10320(line=433, offs=4) */ ATSstaticdec() ats_int_type solve_90 (ats_ref_type arg0, ats_ref_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp598) ; ATSlocal (ats_int_type, tmp599) ; ATSlocal (ats_bool_type, tmp600) ; ATSlocal (ats_int_type, tmp601) ; ATSlocal (ats_bool_type, tmp659) ; __ats_lab_solve_90: tmp599 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose (arg1) ; tmp600 = atspre_igt (tmp599, 0) ; if (tmp600) { tmp601 = myintveclst_split_at_05186_gmpknd (arg0, arg2, tmp599) ; tmp659 = atspre_gte_int_int (tmp601, 0) ; if (tmp659) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_solve_90 ; // tail call } else { tmp598 = -1 ; } /* end of [if] */ } else { tmp598 = 0 ; } /* end of [if] */ return (tmp598) ; } /* end of [solve_90] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 9617(line=405, offs=7) -- 10607(line=448, offs=4) */ ATSstaticdec() ats_int_type myintveclst_solve_05191_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp597) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; ATSlocal (ats_int_type, tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; __ats_lab_myintveclst_solve_05191_gmpknd: /* ats_ptr_type tmp660 ; */ tmp660 = arg1 ; /* ats_ptr_type tmp661 ; */ tmp661 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make (arg0, arg2) ; tmp662 = solve_90 ((&tmp660), (&tmp661), arg2) ; /* tmp663 = */ myintveclst_free_04725_gmpknd (tmp660, arg2) ; /* tmp664 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free (tmp661) ; tmp597 = tmp662 ; return (tmp597) ; } /* end of [myintveclst_solve_05191_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 23994(line=1057, offs=18) -- 25040(line=1099, offs=4) */ ATSstaticdec() ats_int_type auxcont_04621_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_int_type arg6) { /* local vardec */ ATSlocal (ats_int_type, tmp556) ; ATSlocal (ats_bool_type, tmp557) ; ATSlocal (ats_bool_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_int_type, tmp576) ; // ATSlocal_void (tmp588) ; ATSlocal (ats_bool_type, tmp589) ; // ATSlocal_void (tmp590) ; ATSlocal (ats_int_type, tmp596) ; ATSlocal (ats_bool_type, tmp666) ; ATSlocal (ats_int_type, tmp667) ; ATSlocal (ats_int_type, tmp668) ; __ats_lab_auxcont_04621_gmpknd: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp557 = atspre_lt_int_int (arg6, 0) ; if (!tmp557) { goto __ats_lab_65_1 ; } tmp556 = -1 ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp558 = atspre_gt_int_int (arg6, 0) ; if (!tmp558) { goto __ats_lab_66_1 ; } tmp556 = auxmain_05210_gmpknd (arg0, arg1, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: /* ats_ptr_type tmp559 ; */ tmp559 = myivlst_elimeqlst_05209_gmpknd (ats_ptrget_mac(ats_ptr_type, arg2), ats_ptrget_mac(ats_ptr_type, arg3), arg4) ; /* ats_int_type tmp576 ; */ tmp576 = myintveclst_inspect_gte_04741_gmpknd ((&tmp559), arg4) ; tmp589 = atspre_igte (tmp576, 0) ; if (tmp589) { /* tmp590 = */ myintveclst_normalize_gte_04744_gmpknd ((&tmp559), arg4) ; tmp596 = myintveclst_solve_05191_gmpknd (arg1, tmp559, arg4) ; tmp576 = tmp596 ; } else { /* tmp588 = */ myintveclst_free_04725_gmpknd (tmp559, arg4) ; } /* end of [if] */ tmp666 = atspre_igte (tmp576, 0) ; if (tmp666) { tmp668 = atspre_add_int_int (arg0, 1) ; tmp667 = auxmain_05210_gmpknd (tmp668, arg1, arg2, arg3, arg4, arg5) ; tmp576 = tmp667 ; } else { /* empty */ } /* end of [if] */ tmp556 = tmp576 ; break ; } while (0) ; return (tmp556) ; } /* end of [auxcont_04621_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 22728(line=990, offs=18) -- 23271(line=1017, offs=4) */ ATSstaticdec() ats_int_type auxgte_04606_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp673) ; // ATSlocal_void (tmp674) ; ATSlocal (ats_int_type, tmp675) ; ATSlocal (ats_bool_type, tmp676) ; // ATSlocal_void (tmp677) ; ATSlocal (ats_ptr_type, tmp678) ; // ATSlocal_void (tmp679) ; __ats_lab_auxgte_04606_gmpknd: /* tmp674 = */ myintvec_elimeqlst_05204_gmpknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ; tmp675 = myintvec_inspect_gte_04738_gmpknd (arg3, arg4) ; tmp676 = atspre_ieq (tmp675, 0) ; if (tmp676) { /* tmp677 = */ myintvec_normalize_gte_04743_gmpknd (arg3, arg4) ; tmp678 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp678)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp678, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp678, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp678, atslab_2, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp678 ; tmp673 = 0 ; } else { /* tmp679 = */ myintvec_free_04722_gmpknd (arg3, arg4) ; tmp673 = tmp675 ; } /* end of [if] */ return (tmp673) ; } /* end of [auxgte_04606_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 8202(line=324, offs=3) -- 8367(line=331, offs=4) */ ATSstaticdec() ats_int_type myintvec_inspect_eq_04739_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp687) ; ATSlocal (ats_int_type, tmp688) ; ATSlocal (ats_bool_type, tmp689) ; __ats_lab_myintvec_inspect_eq_04739_gmpknd: tmp688 = myintvec_inspect_04736_gmpknd (1, arg0, arg1) ; tmp689 = atspre_ieq (tmp688, 0) ; if (tmp689) { tmp687 = myintvec_normalize_05172_gmpknd (1, arg0, arg1) ; } else { tmp687 = tmp688 ; } /* end of [if] */ return (tmp687) ; } /* end of [myintvec_inspect_eq_04739_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 2013(line=68, offs=16) -- 2057(line=68, offs=60) */ ATSstaticdec() ats_bool_type lt_myint_myint_04703_gmpknd (gmpknd arg0, gmpknd arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp701) ; ATSlocal (ats_int_type, tmp702) ; __ats_lab_lt_myint_myint_04703_gmpknd: tmp702 = compare_myint_myint_04707_gmpknd (arg0, arg1) ; tmp701 = atspre_lt_int_int (tmp702, 0) ; return (tmp701) ; } /* end of [lt_myint_myint_04703_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 5769(line=237, offs=5) -- 7120(line=291, offs=4) */ ATSstaticdec() ats_void_type loop_103 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_bool_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp693) ; ATSlocal (ats_bool_type, tmp694) ; ATSlocal (ats_int_type, tmp695) ; ATSlocal (gmpknd, tmp696) ; ATSlocal (ats_bool_type, tmp698) ; ATSlocal (ats_bool_type, tmp699) ; ATSlocal (ats_bool_type, tmp700) ; ATSlocal (gmpknd, tmp703) ; ATSlocal (ats_int_type, tmp704) ; // ATSlocal_void (tmp705) ; ATSlocal (gmpknd, tmp706) ; ATSlocal (gmpknd, tmp707) ; // ATSlocal_void (tmp708) ; ATSlocal (ats_bool_type, tmp709) ; ATSlocal (gmpknd, tmp710) ; ATSlocal (gmpknd, tmp711) ; ATSlocal (ats_bool_type, tmp712) ; ATSlocal (ats_bool_type, tmp713) ; ATSlocal (ats_int_type, tmp714) ; // ATSlocal_void (tmp715) ; ATSlocal (ats_bool_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_int_type, tmp718) ; ATSlocal (ats_bool_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_int_type, tmp721) ; __ats_lab_loop_103: tmp694 = atspre_igt (arg2, 0) ; if (tmp694) { tmp696 = ats_ptrget_mac(gmpknd, arg0) ; tmp695 = compare_myint_int_04702_gmpknd (tmp696, 0) ; tmp698 = atspre_gt_int_int (tmp695, 0) ; if (tmp698) { tmp703 = ats_ptrget_mac(gmpknd, arg0) ; tmp700 = lt_myint_myint_04703_gmpknd (tmp703, ats_ptrget_mac(gmpknd, arg5)) ; tmp699 = atspre_add_bool_bool (arg3, tmp700) ; if (tmp699) { tmp704 = atspre_isub (arg1, arg2) ; ats_ptrget_mac(ats_int_type, arg4) = tmp704 ; /* tmp705 = */ myint_free_04680_gmpknd (ats_ptrget_mac(gmpknd, arg5)) ; tmp707 = ats_ptrget_mac(gmpknd, arg0) ; tmp706 = myint_copy_04681_gmpknd (tmp707) ; ats_ptrget_mac(gmpknd, arg5) = tmp706 ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp709 = atspre_lt_int_int (tmp695, 0) ; if (tmp709) { tmp711 = ats_ptrget_mac(gmpknd, arg0) ; tmp710 = neg1_myint_04683_gmpknd (tmp711) ; tmp713 = lt_myint_myint_04703_gmpknd (tmp710, ats_ptrget_mac(gmpknd, arg5)) ; tmp712 = atspre_add_bool_bool (arg3, tmp713) ; if (tmp712) { tmp714 = atspre_isub (arg1, arg2) ; ats_ptrget_mac(ats_int_type, arg4) = tmp714 ; /* tmp715 = */ myint_free_04680_gmpknd (ats_ptrget_mac(gmpknd, arg5)) ; ats_ptrget_mac(gmpknd, arg5) = tmp710 ; } else { /* tmp708 = */ myint_free_04680_gmpknd (tmp710) ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp716 = atspre_eq_int_int (tmp695, 0) ; if (tmp716) { tmp717 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp718 = atspre_isub (arg2, 1) ; arg0 = tmp717 ; arg1 = arg1 ; arg2 = tmp718 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_loop_103 ; // tail call } else { tmp719 = gt_myint_int_04698_gmpknd (ats_ptrget_mac(gmpknd, arg5), 1) ; if (tmp719) { tmp720 = atspre_padd_size (arg0, sizeof(gmpknd)) ; tmp721 = atspre_isub (arg2, 1) ; arg0 = tmp720 ; arg1 = arg1 ; arg2 = tmp721 ; arg3 = ats_false_bool ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_loop_103 ; // tail call } else { /* empty */ } /* end of [if] */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp693) */ ; } /* end of [loop_103] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 5720(line=233, offs=7) -- 7508(line=306, offs=4) */ ATSstaticdec() ats_int_type myintvec_get_index_of_absmincff_05187_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp692) ; ATSlocal (ats_int_type, tmp722) ; ATSlocal (gmpknd, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; // ATSlocal_void (tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_int_type, tmp727) ; // ATSlocal_void (tmp728) ; // ATSlocal_void (tmp729) ; ATSlocal (ats_bool_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; __ats_lab_myintvec_get_index_of_absmincff_05187_gmpknd: /* ats_int_type tmp722 ; */ tmp722 = 0 ; /* gmpknd tmp723 ; */ tmp723 = myint_make_int_04678_gmpknd (0) ; tmp724 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp726 = atspre_padd_size (tmp724, sizeof(gmpknd)) ; tmp727 = atspre_isub (arg1, 1) ; /* tmp725 = */ loop_103 (tmp726, arg1, tmp727, ats_true_bool, (&tmp722), (&tmp723)) ; /* tmp728 = */ myint_free_04680_gmpknd (tmp723) ; tmp730 = atspre_igt (tmp722, 0) ; tmp731 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 7473(line=302, offs=10) -- 7491(line=302, offs=28)", ATSstrcst("\n")) ; /* tmp729 = */ atspre_assert_errmsg (tmp730, tmp731) ; tmp692 = tmp722 ; return (tmp692) ; } /* end of [myintvec_get_index_of_absmincff_05187_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 15824(line=673, offs=11) -- 16085(line=680, offs=41) */ ATSstaticdec() ats_ptr_type myiveqlst_get_prev_04537_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_ptr_type, tmp737) ; __ats_lab_myiveqlst_get_prev_04537_gmpknd: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp736 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ; tmp735 = tmp736 ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp737 = &ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp735 = tmp737 ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_86_1: tmp735 = atspre_null_ptr ; break ; } while (0) ; return (tmp735) ; } /* end of [myiveqlst_get_prev_04537_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp742) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp742) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp741) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp741 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp741) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 16319(line=694, offs=7) -- 16613(line=704, offs=4) */ ATSstaticdec() ats_ptr_type myiveqlst_cons_05200_gmpknd (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp738) ; // ATSlocal_void (tmp739) ; ATSlocal (ats_bool_type, tmp740) ; __ats_lab_myiveqlst_cons_05200_gmpknd: tmp734 = myiveqlst_get_prev_04537_gmpknd (arg3) ; tmp738 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp738)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp738, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp738, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp738, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp738, atslab_3, atspre_null_ptr) ; ats_selptrset_mac(anairiats_sum_8, tmp738, atslab_4, arg3) ; tmp740 = atspre_pgt (ats_castfn_mac(ats_ptr_type, tmp734), atspre_null_ptr) ; if (tmp740) { /* tmp739 = */ ptrset_01764_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp734), ats_castfn_mac(ats_ptr_type, tmp738)) ; } else { /* empty */ } /* end of [if] */ tmp733 = tmp738 ; return (tmp733) ; } /* end of [myiveqlst_cons_05200_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 23321(line=1021, offs=17) -- 23934(line=1052, offs=4) */ ATSstaticdec() ats_int_type auxeq_04613_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp684) ; // ATSlocal_void (tmp685) ; ATSlocal (ats_int_type, tmp686) ; ATSlocal (ats_bool_type, tmp690) ; ATSlocal (ats_int_type, tmp691) ; ATSlocal (ats_ptr_type, tmp732) ; // ATSlocal_void (tmp743) ; __ats_lab_auxeq_04613_gmpknd: /* tmp685 = */ myintvec_elimeqlst_05204_gmpknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ; tmp686 = myintvec_inspect_eq_04739_gmpknd (arg3, arg4) ; tmp690 = atspre_ieq (tmp686, 0) ; if (tmp690) { tmp691 = myintvec_get_index_of_absmincff_05187_gmpknd (arg3, arg4) ; tmp732 = myiveqlst_cons_05200_gmpknd (arg0, tmp691, arg3, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp732 ; tmp684 = 0 ; } else { /* tmp743 = */ myintvec_free_04722_gmpknd (arg3, arg4) ; tmp684 = tmp686 ; } /* end of [if] */ return (tmp684) ; } /* end of [auxeq_04613_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 8437(line=335, offs=3) -- 8482(line=335, offs=48) */ ATSstaticdec() ats_int_type myintvec_inspect_neq_04740_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp749) ; __ats_lab_myintvec_inspect_neq_04740_gmpknd: tmp749 = myintvec_inspect_04736_gmpknd (-1, arg0, arg1) ; return (tmp749) ; } /* end of [myintvec_inspect_neq_04740_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 25090(line=1102, offs=16) -- 26211(line=1152, offs=4) */ ATSstaticdec() ats_ptr_type auxneq_04631_gmpknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp746) ; // ATSlocal_void (tmp747) ; ATSlocal (ats_int_type, tmp748) ; ATSlocal (ats_bool_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; // ATSlocal_void (tmp752) ; ATSlocal (gmpknd, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; // ATSlocal_void (tmp755) ; // ATSlocal_void (tmp756) ; // ATSlocal_void (tmp757) ; // ATSlocal_void (tmp758) ; // ATSlocal_void (tmp759) ; ATSlocal (ats_ptr_type, tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; ATSlocal (ats_ptr_type, tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; // ATSlocal_void (tmp765) ; ATSlocal (ats_int_type, tmp766) ; ATSlocal (ats_bool_type, tmp767) ; ATSlocal (ats_ptr_type, tmp768) ; __ats_lab_auxneq_04631_gmpknd: /* tmp747 = */ myintvec_elimeqlst_05204_gmpknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ; tmp748 = myintvec_inspect_neq_04740_gmpknd (arg3, arg4) ; ats_ptrget_mac(ats_int_type, arg5) = tmp748 ; tmp750 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg5), 0) ; if (tmp750) { tmp751 = myintvec_copy_04745_gmpknd (arg3, arg4) ; /* tmp752 = */ myintvec_add_int_04717_gmpknd (tmp751, -1) ; tmp753 = myint_make_int_04678_gmpknd (-1) ; tmp754 = myintvec_copy_cff_04746_gmpknd (tmp753, arg3, arg4) ; /* tmp755 = */ myint_free_04680_gmpknd (tmp753) ; /* tmp756 = */ myintvec_add_int_04717_gmpknd (tmp754, -1) ; /* tmp757 = */ myintvec_free_04722_gmpknd (arg3, arg4) ; /* tmp758 = */ myintvec_normalize_gte_04743_gmpknd (tmp751, arg4) ; /* tmp759 = */ myintvec_normalize_gte_04743_gmpknd (tmp754, arg4) ; tmp760 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp760)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp760, atslab_0, 2) ; ats_selptrset_mac(anairiats_sum_5, tmp760, atslab_1, tmp751) ; tmp761 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp761)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp761, atslab_0, 2) ; ats_selptrset_mac(anairiats_sum_5, tmp761, atslab_1, tmp754) ; tmp764 = (ats_sum_ptr_type)0 ; tmp763 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp763, atslab_0, tmp761) ; ats_selptrset_mac(anairiats_sum_4, tmp763, atslab_1, tmp764) ; tmp762 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp762, atslab_0, tmp760) ; ats_selptrset_mac(anairiats_sum_4, tmp762, atslab_1, tmp763) ; tmp746 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp746)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp746, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp746, atslab_1, tmp762) ; } else { /* tmp765 = */ myintvec_free_04722_gmpknd (arg3, arg4) ; tmp767 = atspre_igt (ats_ptrget_mac(ats_int_type, arg5), 0) ; if (tmp767) { tmp766 = 0 ; } else { tmp766 = 1 ; } /* end of [if] */ tmp768 = (ats_sum_ptr_type)0 ; tmp746 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp746)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp746, atslab_0, tmp766) ; ats_selptrset_mac(anairiats_sum_5, tmp746, atslab_1, tmp768) ; } /* end of [if] */ return (tmp746) ; } /* end of [auxneq_04631_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_113 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; ATSlocal (ats_ptr_type, tmp780) ; ATSlocal (ats_int_type, tmp781) ; __ats_lab_loop_113: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp779 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp780 = ats_ptrget_mac(ats_ptr_type, tmp779) ; tmp781 = atspre_iadd (arg1, 1) ; arg0 = tmp780 ; arg1 = tmp781 ; goto __ats_lab_loop_113 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp778 = arg1 ; break ; } while (0) ; return (tmp778) ; } /* end of [loop_113] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp777) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp777 = loop_113 (arg0, 0) ; return (tmp777) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_115 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; __ats_lab_loop_115: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp786 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp786 ; arg1 = arg1 ; goto __ats_lab_loop_115 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp785) */ ; } /* end of [loop_115] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; // ATSlocal_void (tmp787) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp784 ; */ tmp784 = arg0 ; /* tmp787 = */ loop_115 ((&tmp784), arg1) ; tmp783 = tmp784 ; return (tmp783) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7114(line=272, offs=5) -- 7471(line=286, offs=2) */ ATSstaticdec() ats_void_type loop_117 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp791) ; ATSlocal (ats_bool_type, tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (ats_int_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; __ats_lab_loop_117: tmp792 = atspre_igt (arg1, 0) ; if (tmp792) { ats_ptrget_mac(ats_ptr_type, arg2) = ats_ptrget_mac(ats_ptr_type, arg0) ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp793 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; tmp794 = ats_ptrget_mac(ats_ptr_type, tmp793) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp794 ; tmp795 = atspre_isub (arg1, 1) ; arg0 = arg0 ; arg1 = tmp795 ; arg2 = tmp793 ; goto __ats_lab_loop_117 ; // tail call } else { tmp796 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp796 ; } /* end of [if] */ return /* (tmp791) */ ; } /* end of [loop_117] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7093(line=270, offs=18) -- 7571(line=293, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_split_at_01505_ats_ptr_type (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp797) ; // ATSlocal_void (tmp798) ; __ats_lab_list_vt_split_at_01505_ats_ptr_type: /* ats_ptr_type tmp797 ; */ /* tmp798 = */ loop_117 (arg0, arg1, (&tmp797)) ; tmp790 = tmp797 ; return (tmp790) ; } /* end of [list_vt_split_at_01505_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 28918(line=1255, offs=21) -- 29310(line=1269, offs=4) */ ATSstaticdec() ats_int_type auxmain_conj_05211_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6) { /* local vardec */ ATSlocal (ats_int_type, tmp775) ; ATSlocal (ats_int_type, tmp776) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_int_type, tmp788) ; ATSlocal (ats_ptr_type, tmp789) ; __ats_lab_auxmain_conj_05211_gmpknd: tmp776 = list_vt_length_01501_ats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg6)) ; tmp782 = list_vt_append_01504_ats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg6), ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp782 ; tmp788 = auxmain_05210_gmpknd (arg0, arg1, arg2, arg3, arg4, arg5) ; tmp789 = list_vt_split_at_01505_ats_ptr_type (arg5, tmp776) ; ats_ptrget_mac(ats_ptr_type, arg6) = tmp789 ; tmp775 = tmp788 ; return (tmp775) ; } /* end of [auxmain_conj_05211_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 13371(line=564, offs=7) -- 13397(line=564, offs=33) */ ATSstaticdec() ats_ptr_type myivlst_mark_05195_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp805) ; __ats_lab_myivlst_mark_05195_gmpknd: tmp805 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp805)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp805, atslab_0, arg0) ; return (tmp805) ; } /* end of [myivlst_mark_05195_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 16814(line=715, offs=7) -- 17074(line=725, offs=4) */ ATSstaticdec() ats_ptr_type myiveqlst_mark_05201_gmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; // ATSlocal_void (tmp810) ; ATSlocal (ats_bool_type, tmp811) ; __ats_lab_myiveqlst_mark_05201_gmpknd: tmp808 = myiveqlst_get_prev_04537_gmpknd (arg0) ; tmp809 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp809)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp809, atslab_0, atspre_null_ptr) ; ats_selptrset_mac(anairiats_sum_7, tmp809, atslab_1, arg0) ; tmp811 = atspre_pgt (ats_castfn_mac(ats_ptr_type, tmp808), atspre_null_ptr) ; if (tmp811) { /* tmp810 = */ ptrset_01764_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp808), ats_castfn_mac(ats_ptr_type, tmp809)) ; } else { /* empty */ } /* end of [if] */ tmp807 = tmp809 ; return (tmp807) ; } /* end of [myiveqlst_mark_05201_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 13576(line=574, offs=3) -- 13816(line=581, offs=36) */ ATSstaticdec() ats_ptr_type myivlst_unmark_05196_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp815) ; ATSlocal (ats_ptr_type, tmp816) ; ATSlocal (ats_ptr_type, tmp817) ; // ATSlocal_void (tmp818) ; ATSlocal (ats_ptr_type, tmp819) ; __ats_lab_myivlst_unmark_05196_gmpknd: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp816 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp817 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; ATS_FREE(arg0) ; /* tmp818 = */ myintvec_free_04722_gmpknd (tmp816, arg1) ; arg0 = tmp817 ; arg1 = arg1 ; goto __ats_lab_myivlst_unmark_05196_gmpknd ; // tail call break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp819 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; ATS_FREE(arg0) ; tmp815 = tmp819 ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp815 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_2) ; break ; } while (0) ; return (tmp815) ; } /* end of [myivlst_unmark_05196_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 17266(line=734, offs=3) -- 17537(line=741, offs=40) */ ATSstaticdec() ats_ptr_type myiveqlst_unmark_05202_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; // ATSlocal_void (tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; __ats_lab_myiveqlst_unmark_05202_gmpknd: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp822 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp823 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp824 = */ myintvec_free_04722_gmpknd (tmp822, arg1) ; arg0 = tmp823 ; arg1 = arg1 ; goto __ats_lab_myiveqlst_unmark_05202_gmpknd ; // tail call break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp825 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp821 = tmp825 ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp821 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_2) ; break ; } while (0) ; return (tmp821) ; } /* end of [myiveqlst_unmark_05202_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 5866(line=218, offs=13) -- 6019(line=222, offs=28) */ ATSstaticdec() ats_void_type icnstr_free_04734_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp833) ; ATSlocal (ats_ptr_type, tmp834) ; ATSlocal (ats_ptr_type, tmp835) ; __ats_lab_icnstr_free_04734_gmpknd: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp834 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp833 = */ myintvec_free_04722_gmpknd (tmp834, arg1) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp835 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp833 = */ icnstrlst_free_04735_gmpknd (tmp835, arg1) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: ATS_FREE(arg0) ; break ; } while (0) ; return /* (tmp833) */ ; } /* end of [icnstr_free_04734_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 6073(line=226, offs=16) -- 6208(line=230, offs=26) */ ATSstaticdec() ats_void_type icnstrlst_free_04735_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_ptr_type, tmp831) ; // ATSlocal_void (tmp832) ; __ats_lab_icnstrlst_free_04735_gmpknd: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_102_1: tmp830 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp831 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp832 = */ icnstr_free_04734_gmpknd (tmp830, arg1) ; arg0 = tmp831 ; arg1 = arg1 ; goto __ats_lab_icnstrlst_free_04735_gmpknd ; // tail call break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: break ; } while (0) ; return /* (tmp829) */ ; } /* end of [icnstrlst_free_04735_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_126 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp840) ; ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; ATSlocal (ats_ptr_type, tmp843) ; __ats_lab_revapp_126: do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp841 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp842 = ats_ptrget_mac(ats_ptr_type, tmp841) ; ats_ptrget_mac(ats_ptr_type, tmp841) = arg1 ; tmp843 = arg0 ; arg0 = tmp842 ; arg1 = tmp843 ; goto __ats_lab_revapp_126 ; // tail call break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp840 = arg1 ; break ; } while (0) ; return (tmp840) ; } /* end of [revapp_126] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp839) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp839 = revapp_126 (arg0, arg1) ; return (tmp839) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp845) ; ATSlocal (ats_ptr_type, tmp846) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp846 = (ats_sum_ptr_type)0 ; tmp845 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp846) ; return (tmp845) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 29370(line=1272, offs=21) -- 30602(line=1313, offs=4) */ ATSstaticdec() ats_int_type auxmain_disj_05212_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_int_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_ptr_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_int_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_ptr_type, tmp820) ; ATSlocal (ats_ptr_type, tmp826) ; ATSlocal (ats_ptr_type, tmp827) ; // ATSlocal_void (tmp828) ; ATSlocal (ats_ptr_type, tmp836) ; ATSlocal (ats_bool_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; ATSlocal (ats_ptr_type, tmp844) ; __ats_lab_auxmain_disj_05212_gmpknd: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (ats_ptrget_mac(ats_ptr_type, arg6) == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_95_1: tmp800 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg6), atslab_0) ; tmp801 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg6), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg6)) ; ats_ptrget_mac(ats_ptr_type, arg6) = tmp801 ; tmp802 = icnstrlst_copy_04731_gmpknd (ats_ptrget_mac(ats_ptr_type, arg5), arg4) ; tmp803 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp803, atslab_0, tmp800) ; ats_selptrset_mac(anairiats_sum_4, tmp803, atslab_1, tmp802) ; tmp804 = myivlst_mark_05195_gmpknd (ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp804 ; tmp806 = myiveqlst_mark_05201_gmpknd (ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp806 ; /* ats_ptr_type tmp812 ; */ tmp812 = tmp803 ; tmp813 = auxmain_05210_gmpknd (arg0, arg1, arg2, arg3, arg4, (&tmp812)) ; tmp814 = myivlst_unmark_05196_gmpknd (ats_ptrget_mac(ats_ptr_type, arg2), arg4) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp814 ; tmp820 = myiveqlst_unmark_05202_gmpknd (ats_ptrget_mac(ats_ptr_type, arg3), arg4) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp820 ; // if (tmp812 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp826 = ats_caselptrlab_mac(anairiats_sum_4, tmp812, atslab_0) ; tmp827 = ats_caselptrlab_mac(anairiats_sum_4, tmp812, atslab_1) ; ATS_FREE(tmp812) ; /* tmp828 = */ icnstrlst_free_04735_gmpknd (tmp827, arg4) ; tmp836 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp836, atslab_0, tmp826) ; ats_selptrset_mac(anairiats_sum_4, tmp836, atslab_1, arg7) ; tmp837 = atspre_igte (tmp813, 0) ; if (tmp837) { tmp838 = list_vt_reverse_append_01507_ats_ptr_type (tmp836, ats_ptrget_mac(ats_ptr_type, arg6)) ; ats_ptrget_mac(ats_ptr_type, arg6) = tmp838 ; tmp799 = 0 ; } else { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; arg6 = arg6 ; arg7 = tmp836 ; goto __ats_lab_auxmain_disj_05212_gmpknd ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (ats_ptrget_mac(ats_ptr_type, arg6) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: tmp844 = list_vt_reverse_01506_ats_ptr_type (arg7) ; ats_ptrget_mac(ats_ptr_type, arg6) = tmp844 ; tmp799 = -1 ; break ; } while (0) ; return (tmp799) ; } /* end of [auxmain_disj_05212_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 26260(line=1155, offs=16) -- 28863(line=1252, offs=4) */ ATSstaticdec() ats_int_type auxmain_05210_gmpknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_int_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_int_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_bool_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_bool_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_int_type, tmp672) ; ATSlocal (ats_bool_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_int_type, tmp683) ; ATSlocal (ats_int_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_bool_type, tmp771) ; ATSlocal (ats_int_type, tmp772) ; ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_bool_type, tmp774) ; ATSlocal (ats_ptr_type, tmp847) ; __ats_lab_auxmain_05210_gmpknd: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (ats_ptrget_mac(ats_ptr_type, arg5) == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_46_1: tmp363 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg5), atslab_0) ; tmp364 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg5), atslab_1) ; tmp365 = ats_ptrget_mac(ats_ptr_type, tmp363) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp365)->tag != 0) { goto __ats_lab_88_0 ; } __ats_lab_47_1: tmp366 = ats_caselptrlab_mac(anairiats_sum_5, tmp365, atslab_0) ; tmp367 = &ats_caselptrlab_mac(anairiats_sum_5, tmp365, atslab_1) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp368 = atspre_ieq (tmp366, -2) ; if (!tmp368) { goto __ats_lab_82_1 ; } tmp370 = ats_ptrget_mac(ats_ptr_type, tmp367) ; tmp369 = myintvec_copy_04745_gmpknd (tmp370, arg4) ; tmp371 = auxlt_04599_gmpknd (arg0, arg2, arg3, tmp369, arg4) ; tmp362 = auxcont_04621_gmpknd (arg0, arg1, arg2, arg3, arg4, tmp364, tmp371) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp669 = atspre_ieq (tmp366, 2) ; if (!tmp669) { goto __ats_lab_83_1 ; } tmp671 = ats_ptrget_mac(ats_ptr_type, tmp367) ; tmp670 = myintvec_copy_04745_gmpknd (tmp671, arg4) ; tmp672 = auxgte_04606_gmpknd (arg0, arg2, arg3, tmp670, arg4) ; tmp362 = auxcont_04621_gmpknd (arg0, arg1, arg2, arg3, arg4, tmp364, tmp672) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp680 = atspre_ieq (tmp366, 1) ; if (!tmp680) { goto __ats_lab_87_1 ; } tmp682 = ats_ptrget_mac(ats_ptr_type, tmp367) ; tmp681 = myintvec_copy_04745_gmpknd (tmp682, arg4) ; tmp683 = auxeq_04613_gmpknd (arg0, arg2, arg3, tmp681, arg4) ; tmp362 = auxcont_04621_gmpknd (arg0, arg1, arg2, arg3, arg4, tmp364, tmp683) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: __ats_lab_87_1: /* ats_int_type tmp744 ; */ tmp769 = ats_ptrget_mac(ats_ptr_type, tmp367) ; tmp745 = auxneq_04631_gmpknd (arg0, arg2, arg3, tmp769, arg4, (&tmp744)) ; tmp770 = ats_ptrget_mac(ats_ptr_type, tmp363) ; ATS_FREE(tmp770) ; ats_ptrget_mac(ats_ptr_type, tmp363) = tmp745 ; tmp771 = atspre_gte_int_int (tmp744, 0) ; if (tmp771) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_auxmain_05210_gmpknd ; // tail call } else { tmp362 = -1 ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp365)->tag != 1) { goto __ats_lab_110_0 ; } __ats_lab_88_1: tmp772 = ats_caselptrlab_mac(anairiats_sum_5, tmp365, atslab_0) ; tmp773 = &ats_caselptrlab_mac(anairiats_sum_5, tmp365, atslab_1) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp774 = atspre_ieq (tmp772, 0) ; if (!tmp774) { goto __ats_lab_94_1 ; } tmp362 = auxmain_conj_05211_gmpknd (arg0, arg1, arg2, arg3, arg4, tmp364, tmp773) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: tmp847 = (ats_sum_ptr_type)0 ; tmp362 = auxmain_disj_05212_gmpknd (arg0, arg1, arg2, arg3, arg4, tmp364, tmp773, tmp847) ; break ; } while (0) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (((ats_sum_ptr_type)tmp365)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp362 = 0 ; break ; } while (0) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (ats_ptrget_mac(ats_ptr_type, arg5) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp362 = 0 ; break ; } while (0) ; return (tmp362) ; } /* end of [auxmain_05210_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 12939(line=545, offs=14) -- 13182(line=552, offs=25) */ ATSstaticdec() ats_void_type myivlst_free_05194_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp849) ; ATSlocal (ats_ptr_type, tmp850) ; ATSlocal (ats_ptr_type, tmp851) ; // ATSlocal_void (tmp852) ; ATSlocal (ats_ptr_type, tmp853) ; __ats_lab_myivlst_free_05194_gmpknd: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp850 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp851 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; ATS_FREE(arg0) ; /* tmp852 = */ myintvec_free_04722_gmpknd (tmp850, arg1) ; arg0 = tmp851 ; arg1 = arg1 ; goto __ats_lab_myivlst_free_05194_gmpknd ; // tail call break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp853 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; ATS_FREE(arg0) ; arg0 = tmp853 ; arg1 = arg1 ; goto __ats_lab_myivlst_free_05194_gmpknd ; // tail call break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: break ; } while (0) ; return /* (tmp849) */ ; } /* end of [myivlst_free_05194_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 15343(line=652, offs=16) -- 15607(line=659, offs=27) */ ATSstaticdec() ats_void_type myiveqlst_free_05198_gmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp855) ; ATSlocal (ats_ptr_type, tmp856) ; ATSlocal (ats_ptr_type, tmp857) ; // ATSlocal_void (tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; __ats_lab_myiveqlst_free_05198_gmpknd: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp856 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp857 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp858 = */ myintvec_free_04722_gmpknd (tmp856, arg1) ; arg0 = tmp857 ; arg1 = arg1 ; goto __ats_lab_myiveqlst_free_05198_gmpknd ; // tail call break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp859 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp859 ; arg1 = arg1 ; goto __ats_lab_myiveqlst_free_05198_gmpknd ; // tail call break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: break ; } while (0) ; return /* (tmp855) */ ; } /* end of [myiveqlst_free_05198_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 30685(line=1319, offs=7) -- 31109(line=1335, offs=4) */ ATSstaticdec() ats_int_type icnstrlst_solve_04756_gmpknd (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_int_type, tmp361) ; // ATSlocal_void (tmp848) ; // ATSlocal_void (tmp854) ; __ats_lab_icnstrlst_solve_04756_gmpknd: /* ats_ptr_type tmp359 ; */ tmp359 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_2) ; /* ats_ptr_type tmp360 ; */ tmp360 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_2) ; tmp361 = auxmain_05210_gmpknd (0, arg0, (&tmp359), (&tmp360), arg2, arg1) ; /* tmp848 = */ myivlst_free_05194_gmpknd (tmp359, arg2) ; /* tmp854 = */ myiveqlst_free_05198_gmpknd (tmp360, arg2) ; tmp358 = tmp361 ; return (tmp358) ; } /* end of [icnstrlst_solve_04756_gmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 3206(line=130, offs=1) -- 4694(line=204, offs=4) */ ATSstaticdec() ats_int_type auxsolve_05092_gmpknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_int_type, tmp357) ; ATSlocal (ats_int_type, tmp860) ; // ATSlocal_void (tmp861) ; ATSlocal (ats_int_type, tmp862) ; __ats_lab_auxsolve_05092_gmpknd: tmp342 = (ats_sum_ptr_type)0 ; tmp341 = loop_26 (arg0, arg1, arg2, arg3, tmp342) ; tmp343 = s3exp2icnstr_04831_gmpknd (arg0, arg1, arg2, arg4) ; tmp344 = icnstr_negate_04732_gmpknd (tmp343) ; tmp345 = indexset_make_s3exp_05079_ats_abs_type (arg1, arg4) ; /* ats_ptr_type tmp356 ; */ tmp356 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp356, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_4, tmp356, atslab_1, tmp341) ; tmp860 = atspre_iadd (arg2, 1) ; tmp357 = icnstrlst_solve_04756_gmpknd (tmp345, (&tmp356), tmp860) ; tmp862 = atspre_iadd (arg2, 1) ; /* tmp861 = */ icnstrlst_free_04735_gmpknd (tmp356, tmp862) ; tmp125 = tmp357 ; return (tmp125) ; } /* end of [auxsolve_05092_gmpknd] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_131 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; __ats_lab_loop_131: do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp867 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp867 ; goto __ats_lab_loop_131 ; // tail call break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: break ; } while (0) ; return /* (tmp866) */ ; } /* end of [loop_131] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp865) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp865 = */ loop_131 (arg0) ; return /* (tmp865) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 4774(line=210, offs=3) -- 6727(line=287, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_solve_s2exp (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (anairiats_rec_1, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (anairiats_rec_2, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_int_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; // ATSlocal_void (tmp863) ; // ATSlocal_void (tmp864) ; // ATSlocal_void (tmp868) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_solve_s2exp: tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg1, arg2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp103)->tag != 19) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp105 = */ prerr_warning3_loc_02439_ (arg0) ; /* tmp108 = */ atspre_prerr_string (ATSstrcst(": the constraint [")) ; /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (arg2) ; /* tmp110 = */ atspre_prerr_string (ATSstrcst("] cannot be translated into a form accepted by the constraint solver.")) ; /* tmp111 = */ atspre_prerr_newline () ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp104 = tmp103 ; break ; } while (0) ; /* ats_int_type tmp112 ; */ tmp112 = 0 ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp104)->tag != 4) { goto __ats_lab_3_0 ; } tmp114 = ats_caselptrlab_mac(anairiats_sum_3, tmp104, atslab_0) ; if (!tmp114) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp112 = -1 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: break ; } while (0) ; tmp116 = atspre_gte_int_int (tmp112, 0) ; if (tmp116) { tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize (arg1, tmp104) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_extract (ats_ptrget_mac(ats_ptr_type, arg1)) ; tmp119 = ats_select_mac(tmp118, atslab_0) ; tmp120 = ats_select_mac(tmp118, atslab_1) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_make (tmp119) ; tmp122 = ats_select_mac(tmp121, atslab_0) ; tmp123 = ats_select_mac(tmp121, atslab_1) ; tmp124 = auxsolve_05092_gmpknd (arg0, tmp122, tmp123, ats_castfn_mac(ats_ptr_type, tmp120), tmp117) ; tmp112 = tmp124 ; /* tmp863 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_free (tmp122) ; /* tmp864 = */ list_vt_free_01499_ats_ptr_type (tmp119) ; /* tmp868 = */ list_vt_free_01499_ats_ptr_type (tmp120) ; } else { /* empty */ } /* end of [if] */ tmp102 = tmp112 ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_solve_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 8289(line=367, offs=5) -- 8597(line=382, offs=4) */ ATSstaticdec() ats_void_type prlst_133 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp870) ; ATSlocal (ats_ptr_type, tmp871) ; ATSlocal (ats_ptr_type, tmp872) ; // ATSlocal_void (tmp873) ; // ATSlocal_void (tmp874) ; __ats_lab_prlst_133: do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp871 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp872 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; /* tmp873 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst (stderr, tmp871) ; /* tmp874 = */ atspre_fprint_newline (stderr) ; arg0 = tmp872 ; goto __ats_lab_prlst_133 ; // tail call break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: break ; } while (0) ; return /* (tmp870) */ ; } /* end of [prlst_133] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 8254(line=365, offs=3) -- 9105(line=405, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp869) ; // ATSlocal_void (tmp875) ; // ATSlocal_void (tmp876) ; // ATSlocal_void (tmp877) ; // ATSlocal_void (tmp878) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg: do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp875 = */ prerr_error3_loc_02434_ (arg0) ; /* tmp876 = */ atspre_prerr_string (ATSstrcst(": pattern match is nonexhaustive:\n")) ; /* tmp869 = */ prlst_133 (arg2) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_124_0 ; } __ats_lab_123_1: break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (((ats_sum_ptr_type)arg1)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: /* tmp877 = */ prerr_warning3_loc_02439_ (arg0) ; /* tmp878 = */ atspre_prerr_string (ATSstrcst(": pattern match is nonexhaustive:\n")) ; /* tmp869 = */ prlst_133 (arg2) ; break ; } while (0) ; return /* (tmp869) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 9290(line=417, offs=1) -- 9405(line=421, offs=57) */ ATSstaticdec() ats_void_type prerr_c3nstr_if_135 (ats_uint_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp882) ; ATSlocal (ats_bool_type, tmp883) ; // ATSlocal_void (tmp884) ; __ats_lab_prerr_c3nstr_if_135: tmp883 = atspre_eq_uint_uint (arg0, 0u) ; if (tmp883) { /* tmp884 = */ atspre_prerr_string (ATSstrcst(": ")) ; /* tmp882 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr (arg1) ; } else { /* empty */ } /* end of [if] */ return /* (tmp882) */ ; } /* end of [prerr_c3nstr_if_135] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 9205(line=411, offs=3) -- 12279(line=530, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; ATSlocal (ats_ptr_type, tmp881) ; ATSlocal (ats_bool_type, tmp885) ; // ATSlocal_void (tmp886) ; // ATSlocal_void (tmp887) ; // ATSlocal_void (tmp888) ; // ATSlocal_void (tmp889) ; ATSlocal (ats_ptr_type, tmp890) ; ATSlocal (ats_ptr_type, tmp891) ; // ATSlocal_void (tmp892) ; // ATSlocal_void (tmp893) ; // ATSlocal_void (tmp894) ; // ATSlocal_void (tmp895) ; // ATSlocal_void (tmp896) ; // ATSlocal_void (tmp897) ; // ATSlocal_void (tmp898) ; // ATSlocal_void (tmp899) ; // ATSlocal_void (tmp900) ; // ATSlocal_void (tmp901) ; // ATSlocal_void (tmp902) ; // ATSlocal_void (tmp903) ; // ATSlocal_void (tmp904) ; // ATSlocal_void (tmp905) ; // ATSlocal_void (tmp906) ; // ATSlocal_void (tmp907) ; // ATSlocal_void (tmp908) ; // ATSlocal_void (tmp909) ; // ATSlocal_void (tmp910) ; // ATSlocal_void (tmp911) ; // ATSlocal_void (tmp912) ; ATSlocal (ats_ptr_type, tmp913) ; // ATSlocal_void (tmp914) ; // ATSlocal_void (tmp915) ; // ATSlocal_void (tmp916) ; // ATSlocal_void (tmp917) ; // ATSlocal_void (tmp918) ; ATSlocal (ats_int_type, tmp919) ; // ATSlocal_void (tmp920) ; // ATSlocal_void (tmp921) ; ATSlocal (ats_bool_type, tmp922) ; // ATSlocal_void (tmp923) ; ATSlocal (ats_bool_type, tmp924) ; // ATSlocal_void (tmp925) ; ATSlocal (ats_bool_type, tmp926) ; // ATSlocal_void (tmp927) ; // ATSlocal_void (tmp928) ; // ATSlocal_void (tmp929) ; // ATSlocal_void (tmp930) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg: tmp880 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_c3nstr_loc) ; tmp881 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_c3nstr_kind) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp881)->tag != 0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp885 = atspre_eq_uint_uint (arg1, 0u) ; if (tmp885) { /* tmp886 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp887 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint: ")) ; /* tmp888 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr (arg0) ; /* tmp889 = */ atspre_prerr_newline () ; tmp879 = 0 ; } else { tmp879 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp881)->tag != 1) { goto __ats_lab_130_0 ; } __ats_lab_126_1: tmp890 = ats_caselptrlab_mac(anairiats_sum_7, tmp881, atslab_0) ; tmp891 = ats_caselptrlab_mac(anairiats_sum_7, tmp881, atslab_1) ; /* tmp892 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg (tmp880, tmp890, tmp891) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp890)->tag != 0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp879 = 1 ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp890)->tag != 1) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp879 = 0 ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (((ats_sum_ptr_type)tmp890)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp879 = 0 ; break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp881)->tag != 2) { goto __ats_lab_131_0 ; } __ats_lab_130_1: /* tmp893 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp894 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for termetric being well-founded")) ; /* tmp895 = */ prerr_c3nstr_if_135 (arg1, arg0) ; /* tmp896 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp881)->tag != 3) { goto __ats_lab_132_0 ; } __ats_lab_131_1: /* tmp897 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp898 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for termetric being strictly decreasing")) ; /* tmp899 = */ prerr_c3nstr_if_135 (arg1, arg0) ; /* tmp900 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp881)->tag != 4) { goto __ats_lab_133_0 ; } __ats_lab_132_1: /* tmp901 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp902 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for var preservation")) ; /* tmp903 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp881)->tag != 5) { goto __ats_lab_134_0 ; } __ats_lab_133_1: /* tmp904 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp905 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for lvar preservation")) ; /* tmp906 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp881)->tag != 6) { goto __ats_lab_135_0 ; } __ats_lab_134_1: /* tmp907 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp908 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for vbox preservation")) ; /* tmp909 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp881)->tag != 7) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp910 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp911 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for lstate merging")) ; /* tmp912 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp881)->tag != 8) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp913 = ats_caselptrlab_mac(anairiats_sum_6, tmp881, atslab_0) ; /* tmp914 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp915 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for merging the lstate of [")) ; /* tmp916 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (tmp913) ; /* tmp917 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp918 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp881)->tag != 9) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp919 = ats_caselptrlab_mac(anairiats_sum_11, tmp881, atslab_0) ; /* tmp920 = */ prerr_error3_loc_02434_ (tmp880) ; tmp922 = atspre_lt_int_int (tmp919, 0) ; if (tmp922) { /* tmp921 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(enter)")) ; } else { /* empty */ } /* end of [if] */ tmp924 = atspre_eq_int_int (tmp919, 0) ; if (tmp924) { /* tmp923 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(break)")) ; } else { /* empty */ } /* end of [if] */ tmp926 = atspre_gt_int_int (tmp919, 0) ; if (tmp926) { /* tmp925 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(continue)")) ; } else { /* empty */ } /* end of [if] */ /* tmp927 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (((ats_sum_ptr_type)tmp881)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: /* tmp928 = */ prerr_error3_loc_02434_ (tmp880) ; /* tmp929 = */ atspre_prerr_string (ATSstrcst(": the constraint is expected to be verified externally.")) ; /* tmp930 = */ atspre_prerr_newline () ; tmp879 = 0 ; break ; } while (0) ; return (tmp879) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 12362(line=536, offs=1) -- 13255(line=593, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp931) ; ATSlocal (ats_ptr_type, tmp932) ; ATSlocal (ats_int_type, tmp933) ; ATSlocal (ats_ptr_type, tmp934) ; ATSlocal (ats_ptr_type, tmp935) ; ATSlocal (ats_ptr_type, tmp936) ; ATSlocal (ats_ptr_type, tmp937) ; ATSlocal (ats_bool_type, tmp939) ; ATSlocal (ats_int_type, tmp940) ; ATSlocal (ats_bool_type, tmp941) ; ATSlocal (ats_bool_type, tmp943) ; ATSlocal (ats_uint_type, tmp944) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main: tmp932 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_c3nstr_loc) ; /* ats_int_type tmp933 ; */ tmp934 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_c3nstr_node) ; do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp934)->tag != 0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp935 = ats_caselptrlab_mac(anairiats_sum_6, tmp934, atslab_0) ; tmp933 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop (tmp932, arg0, tmp935, arg3) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp934)->tag != 1) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp936 = ats_caselptrlab_mac(anairiats_sum_6, tmp934, atslab_0) ; tmp933 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (tmp932, arg0, tmp936, arg2, arg3) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (((ats_sum_ptr_type)tmp934)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp937 = ats_caselptrlab_mac(anairiats_sum_6, tmp934, atslab_0) ; tmp933 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify (tmp932, arg0, tmp937, arg3) ; break ; } while (0) ; tmp939 = atspre_gte_int_int (tmp933, 0) ; if (tmp939) { tmp940 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg (arg1, ats_ptrget_mac(ats_uint_type, arg2)) ; tmp941 = atspre_gt_int_int (tmp940, 0) ; if (tmp941) { tmp933 = -1 ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp943 = atspre_gte_int_int (tmp933, 0) ; if (tmp943) { tmp944 = atspre_add_uint_uint (ats_ptrget_mac(ats_uint_type, arg2), 1u) ; ats_ptrget_mac(ats_uint_type, arg2) = tmp944 ; } else { /* empty */ } /* end of [if] */ tmp931 = tmp933 ; return (tmp931) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 13338(line=599, offs=3) -- 13543(line=608, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp945) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop: tmp945 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_solve_s2exp (arg0, arg1, arg2, arg3) ; return (tmp945) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 13626(line=614, offs=1) -- 15638(line=690, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp946) ; ATSlocal (ats_ptr_type, tmp947) ; ATSlocal (ats_ptr_type, tmp948) ; ATSlocal (ats_ptr_type, tmp949) ; // ATSlocal_void (tmp950) ; ATSlocal (ats_ptr_type, tmp951) ; ATSlocal (ats_ptr_type, tmp952) ; // ATSlocal_void (tmp953) ; ATSlocal (ats_ptr_type, tmp954) ; ATSlocal (ats_ptr_type, tmp955) ; ATSlocal (ats_ptr_type, tmp956) ; ATSlocal (ats_ptr_type, tmp957) ; ATSlocal (ats_ptr_type, tmp958) ; ATSlocal (ats_ptr_type, tmp959) ; ATSlocal (ats_ptr_type, tmp960) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst: do { /* branch: __ats_lab_142 */ __ats_lab_142_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp946 = -1 ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_143_1: tmp947 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp948 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; do { /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp947)->tag != 0) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp949 = ats_caselptrlab_mac(anairiats_sum_6, tmp947, atslab_0) ; /* tmp950 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar (arg1, tmp949) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp948 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp947)->tag != 1) { goto __ats_lab_148_0 ; } __ats_lab_145_1: tmp951 = ats_caselptrlab_mac(anairiats_sum_6, tmp947, atslab_0) ; tmp952 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_h3ypo (arg1, tmp951) ; do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp952)->tag != 19) { goto __ats_lab_147_0 ; } __ats_lab_146_1: break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: __ats_lab_147_1: tmp954 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize (arg1, tmp952) ; /* tmp953 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp (arg1, tmp954) ; break ; } while (0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp948 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp947)->tag != 2) { goto __ats_lab_149_0 ; } __ats_lab_148_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp948 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp947)->tag != 3) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp955 = ats_caselptrlab_mac(anairiats_sum_6, tmp947, atslab_0) ; tmp946 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (arg0, arg1, tmp948, tmp955, arg3, arg4) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp947)->tag != 4) { goto __ats_lab_153_0 ; } __ats_lab_150_1: tmp956 = ats_caselptrlab_mac(anairiats_sum_6, tmp947, atslab_0) ; tmp957 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp956), atslab_c3nstroptref_ref) ; tmp958 = ats_ptrget_mac(ats_ptr_type, tmp957) ; do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (tmp958 != (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp946 = -1 ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: // if (tmp958 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_152_1: tmp959 = ats_caselptrlab_mac(anairiats_sum_13, tmp958, atslab_0) ; tmp946 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (arg0, arg1, tmp948, tmp959, arg3, arg4) ; break ; } while (0) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp947)->tag != 5) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp960 = ats_caselptrlab_mac(anairiats_sum_6, tmp947, atslab_0) ; tmp946 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj (arg0, arg1, tmp948, tmp960, arg3, arg4) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: // if (((ats_sum_ptr_type)tmp947)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_154_1: arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp948 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp946) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 15729(line=696, offs=1) -- 16164(line=711, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_int_type, tmp961) ; // ATSlocal_void (tmp962) ; // ATSlocal_void (tmp963) ; // ATSlocal_void (tmp964) ; // ATSlocal_void (tmp965) ; ATSlocal (ats_int_type, tmp966) ; // ATSlocal_void (tmp967) ; // ATSlocal_void (tmp968) ; ATSlocal (ats_int_type, tmp969) ; ATSlocal (ats_bool_type, tmp970) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr: /* tmp962 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push (arg1) ; /* tmp963 = ats_selsin_mac(tmp962, atslab_1) */ ; /* tmp964 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () ; /* tmp965 = ats_selsin_mac(tmp964, atslab_1) */ ; tmp966 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main (arg1, arg3, arg4, arg5) ; /* tmp967 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () ; /* tmp968 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop (arg1) ; tmp969 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (arg0, arg1, arg2, arg4, arg5) ; tmp970 = atspre_gte_int_int (tmp966, 0) ; if (tmp970) { tmp961 = 0 ; } else { tmp961 = tmp969 ; } /* end of [if] */ return (tmp961) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_142 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp981) ; ATSlocal (ats_ptr_type, tmp982) ; ATSlocal (ats_ptr_type, tmp983) ; ATSlocal (ats_ptr_type, tmp984) ; ATSlocal (ats_ptr_type, tmp985) ; __ats_lab_loop_142: do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp982 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp983 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp984 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp984, atslab_0, tmp982) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp984 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp985 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp983 ; arg1 = arg1 ; arg2 = tmp985 ; goto __ats_lab_loop_142 ; // tail call break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_158_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp981) */ ; } /* end of [loop_142] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp979) ; ATSlocal (ats_ptr_type, tmp980) ; // ATSlocal_void (tmp986) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp980 ; */ /* tmp986 = */ loop_142 (arg0, arg1, (&tmp980)) ; tmp979 = tmp980 ; return (tmp979) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 16260(line=717, offs=1) -- 16956(line=746, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_int_type, tmp971) ; ATSlocal (ats_ptr_type, tmp972) ; ATSlocal (ats_ptr_type, tmp973) ; // ATSlocal_void (tmp974) ; // ATSlocal_void (tmp975) ; // ATSlocal_void (tmp976) ; // ATSlocal_void (tmp977) ; ATSlocal (ats_ptr_type, tmp978) ; ATSlocal (ats_int_type, tmp987) ; // ATSlocal_void (tmp988) ; // ATSlocal_void (tmp989) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj: do { /* branch: __ats_lab_155 */ __ats_lab_155_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp971 = -1 ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_156_1: tmp972 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ; tmp973 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ; /* tmp974 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push (arg1) ; /* tmp975 = ats_selsin_mac(tmp974, atslab_1) */ ; /* tmp976 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () ; /* tmp977 = ats_selsin_mac(tmp976, atslab_1) */ ; tmp978 = list_append_01312_ats_ptr_type (tmp972, arg2) ; tmp987 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (arg0, arg1, tmp978, arg4, arg5) ; /* tmp988 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () ; /* tmp989 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop (arg1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp973 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj ; // tail call break ; } while (0) ; return (tmp971) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 17051(line=752, offs=3) -- 17204(line=763, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp990) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify: tmp990 = 0 ; return (tmp990) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_solve.dats: 17290(line=768, offs=19) -- 18406(line=819, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_ats2_solve (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp991) ; ATSlocal (ats_ptr_type, tmp992) ; // ATSlocal_void (tmp993) ; ATSlocal (ats_uint_type, tmp994) ; ATSlocal (ats_int_type, tmp995) ; ATSlocal (ats_int_type, tmp996) ; // ATSlocal_void (tmp997) ; ATSlocal (ats_bool_type, tmp998) ; // ATSlocal_void (tmp999) ; // ATSlocal_void (tmp1000) ; ATSlocal (ats_bool_type, tmp1001) ; // ATSlocal_void (tmp1002) ; ATSlocal (ats_bool_type, tmp1003) ; // ATSlocal_void (tmp1004) ; // ATSlocal_void (tmp1005) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_ats2_solve: /* ats_ptr_type tmp992 ; */ tmp992 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_nil () ; /* tmp993 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop () ; /* ats_uint_type tmp994 ; */ tmp994 = 0u ; /* ats_int_type tmp995 ; */ tmp995 = 0 ; tmp996 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main ((&tmp992), arg0, (&tmp994), (&tmp995)) ; /* tmp997 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free (tmp992) ; do { /* branch: __ats_lab_159 */ __ats_lab_159_0: __ats_lab_159_1: tmp998 = atspre_eq_uint_uint (tmp994, 0u) ; if (!tmp998) { goto __ats_lab_160_1 ; } break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: __ats_lab_160_1: /* tmp999 = */ atspre_prerr_string (ATSstrcst("typechecking has failed")) ; tmp1001 = atspre_lte_uint_uint (tmp994, 1u) ; if (tmp1001) { /* tmp1000 = */ atspre_prerr_string (ATSstrcst(": there is one unsolved constraint")) ; } else { /* empty */ } /* end of [if] */ tmp1003 = atspre_gte_uint_uint (tmp994, 2u) ; if (tmp1003) { /* tmp1002 = */ atspre_prerr_string (ATSstrcst(": there are some unsolved constraints")) ; } else { /* empty */ } /* end of [if] */ /* tmp1004 = */ atspre_prerr_string (ATSstrcst(": please inspect the above reported error message(s) for information.")) ; /* tmp1005 = */ atspre_prerr_newline () ; /* tmp991 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; return /* (tmp991) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_ats2_solve] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_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_constraint3_solve_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_skexp_dats.c0000664000175000017500000025622412655455557021414 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SKLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextkind_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEapp_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyarr_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyrec_8) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2kexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_find) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__sasp__env = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_12 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type loop1_14 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop1_14_closure_make (ats_ptr_type env0) ; static ats_bool_type loop1_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type loop2_15 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop2_15_closure_make (ats_ptr_type env0) ; static ats_bool_type loop2_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_s2exp_16 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_arglst_17 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_arglstlst_18 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2explst_19 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_labs2explst_20 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type abort_22 () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_bool_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_int_type, tmp41) ; __ats_lab_aux_2: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp39 = atspre_gt_int_int (arg1, 0) ; if (tmp39) { /* tmp38 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp40 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp36) ; tmp41 = atspre_add_int_int (arg1, 1) ; arg0 = tmp37 ; arg1 = tmp41 ; goto __ats_lab_aux_2 ; // tail call break ; } while (0) ; return /* (tmp35) */ ; } /* end of [aux_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_2_closure_type ; ats_void_type aux_2_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_2 (((aux_2_closure_type*)cloptr)->closure_env_0, ((aux_2_closure_type*)cloptr)->closure_env_1, ((aux_2_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_2_closure_init (aux_2_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_2_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_2_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_2_closure_type *p_clo = ATS_MALLOC(sizeof(aux_2_closure_type)) ; aux_2_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp34 = */ aux_2 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp34) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 1823(line=63, offs=3) -- 3236(line=127, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEany()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEcst(")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp1) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEvar(")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEextype(")) ; /* tmp9 = */ atspre_fprint_string (arg0, tmp7) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEextkind(")) ; /* tmp12 = */ atspre_fprint_string (arg0, tmp10) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEfun(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst (arg0, tmp13) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (arg0, tmp14) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEapp(")) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (arg0, tmp19) ; /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst (arg0, tmp20) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEtyarr(")) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (arg0, tmp25) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (((ats_sum_ptr_type)arg1)->tag != 8) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("S2KEtyrec(")) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (arg0, tmp28) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp33 = */ fprintlst_01885_ats_ptr_type (arg0, tmp29, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2kexp) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 3291(line=130, offs=18) -- 3349(line=131, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst: /* tmp42 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp) ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 3409(line=136, offs=3) -- 3564(line=141, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2kexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2kexp: tmp44 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp44) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (arg0, tmp45) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2kexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 3618(line=144, offs=14) -- 3653(line=144, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2kexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2kexp: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (stdout, arg0) ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2kexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 3677(line=146, offs=14) -- 3712(line=146, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2kexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2kexp: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2kexp (stderr, arg0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2kexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4111(line=169, offs=24) -- 4130(line=169, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_make_nil: tmp50 = (ats_sum_ptr_type)0 ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_make_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4152(line=172, offs=9) -- 4227(line=175, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp52 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: break ; } while (0) ; return /* (tmp51) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4275(line=179, offs=10) -- 4320(line=179, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push: tmp54 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp54, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp54, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp54 ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_12 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_loop_12: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp58 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; return /* (tmp57) */ ; } /* end of [loop_12] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp56) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp56 = */ loop_12 (arg0) ; return /* (tmp56) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4343(line=182, offs=10) -- 4368(line=182, offs=35) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_free: /* tmp55 = */ list_vt_free_01499_ats_ptr_type (arg0) ; return /* (tmp55) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4414(line=186, offs=7) -- 4577(line=190, offs=27) */ ATSstaticdec() ats_bool_type loop1_14 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; __ats_lab_loop1_14: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (env0, tmp61) ; if (tmp63) { tmp60 = ats_true_bool ; } else { arg0 = tmp62 ; goto __ats_lab_loop1_14 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp60 = ats_false_bool ; break ; } while (0) ; return (tmp60) ; } /* end of [loop1_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop1_14_closure_type ; ats_bool_type loop1_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop1_14 (((loop1_14_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type loop1_14_closure_init (loop1_14_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop1_14_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop1_14_closure_make (ats_ptr_type env0) { loop1_14_closure_type *p_clo = ATS_MALLOC(sizeof(loop1_14_closure_type)) ; loop1_14_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4604(line=192, offs=7) -- 4779(line=196, offs=27) */ ATSstaticdec() ats_bool_type loop2_15 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; __ats_lab_loop2_15: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp67 = loop1_14 (env0, tmp65) ; if (tmp67) { tmp64 = ats_true_bool ; } else { arg0 = tmp66 ; goto __ats_lab_loop2_15 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp64 = ats_false_bool ; break ; } while (0) ; return (tmp64) ; } /* end of [loop2_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop2_15_closure_type ; ats_bool_type loop2_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop2_15 (((loop2_15_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type loop2_15_closure_init (loop2_15_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop2_15_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop2_15_closure_make (ats_ptr_type env0) { loop2_15_closure_type *p_clo = ATS_MALLOC(sizeof(loop2_15_closure_type)) ; loop2_15_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4392(line=185, offs=10) -- 4850(line=200, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_find (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_find: tmp59 = loop2_15 (arg1, ats_castfn_mac(ats_ptr_type, ats_ptrget_mac(ats_ptr_type, arg0))) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 4930(line=208, offs=5) -- 6631(line=283, offs=4) */ ATSstaticdec() ats_ptr_type aux_s2exp_16 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab_aux_s2exp_16: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg1) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp69), atslab_s2exp_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp70)->tag != 4) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, tmp70, atslab_0) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp68)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp68, atslab_0, tmp71) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp70)->tag != 7) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_1, tmp70, atslab_0) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_find (arg0, tmp72) ; if (tmp73) { tmp68 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0) ; } else { tmp68 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp68)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp68, atslab_0, tmp72) ; } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp70)->tag != 8) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp68 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp70)->tag != 5) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_1) ; tmp76 = aux_arglstlst_18 (arg0, tmp75) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp74) ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_1, tmp76) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp70)->tag != 6) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_1) ; tmp79 = aux_arglstlst_18 (arg0, tmp78) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp77) ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_1, tmp79) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp70)->tag != 19) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_5, tmp70, atslab_4) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_5, tmp70, atslab_5) ; tmp82 = aux_s2explst_19 (arg0, tmp80) ; tmp83 = aux_s2exp_16 (arg0, tmp81) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_1, tmp83) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp70)->tag != 17) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; tmp85 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_1) ; tmp86 = aux_s2exp_16 (arg0, tmp84) ; tmp87 = aux_arglst_17 (arg0, tmp85) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp86) ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_1, tmp87) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp70)->tag != 24) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; tmp89 = aux_s2exp_16 (arg0, tmp88) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp68)->tag = 7 ; ats_selptrset_mac(anairiats_sum_1, tmp68, atslab_0, tmp89) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp70)->tag != 25) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_6, tmp70, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_6, tmp70, atslab_2) ; tmp92 = aux_labs2explst_20 (arg0, tmp91) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_1, tmp92) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp70)->tag != 29) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_7, tmp70, atslab_1) ; arg0 = arg0 ; arg1 = tmp93 ; goto __ats_lab_aux_s2exp_16 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp70)->tag != 27) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_8, tmp70, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_8, tmp70, atslab_2) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push (arg0, tmp94) ; tmp97 = aux_s2exp_16 (arg0, tmp95) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop (arg0) ; tmp68 = tmp97 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp70)->tag != 28) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_8, tmp70, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_8, tmp70, atslab_2) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_push (arg0, tmp99) ; tmp102 = aux_s2exp_16 (arg0, tmp100) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_pop (arg0) ; tmp68 = tmp102 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp70)->tag != 31) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; arg0 = arg0 ; arg1 = tmp104 ; goto __ats_lab_aux_s2exp_16 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp68 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0) ; break ; } while (0) ; return (tmp68) ; } /* end of [aux_s2exp_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 6659(line=285, offs=5) -- 7189(line=303, offs=31) */ ATSstaticdec() ats_ptr_type aux_arglst_17 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_aux_arglst_17: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp106), atslab_s2exp_srt) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind (tmp108) ; if (tmp109) { tmp110 = ats_true_bool ; } else { tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (tmp108) ; } /* end of [if] */ if (tmp110) { tmp111 = aux_s2exp_16 (arg0, tmp106) ; tmp112 = aux_arglst_17 (arg0, tmp107) ; tmp105 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp105, atslab_0, tmp111) ; ats_selptrset_mac(anairiats_sum_3, tmp105, atslab_1, tmp112) ; } else { arg0 = arg0 ; arg1 = tmp107 ; goto __ats_lab_aux_arglst_17 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp105 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp105) ; } /* end of [aux_arglst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 7218(line=306, offs=5) -- 7464(line=315, offs=31) */ ATSstaticdec() ats_ptr_type aux_arglstlst_18 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_aux_arglstlst_18: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp116 = aux_arglst_17 (arg0, tmp114) ; tmp117 = aux_arglstlst_18 (arg0, tmp115) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_0, tmp116) ; ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_1, tmp117) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp113 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp113) ; } /* end of [aux_arglstlst_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 7496(line=318, offs=5) -- 7727(line=327, offs=31) */ ATSstaticdec() ats_ptr_type aux_s2explst_19 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_aux_s2explst_19: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp121 = aux_s2exp_16 (arg0, tmp119) ; tmp122 = aux_s2explst_19 (arg0, tmp120) ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_1, tmp122) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp118 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp118) ; } /* end of [aux_s2explst_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 7758(line=330, offs=5) -- 8163(line=345, offs=31) */ ATSstaticdec() ats_ptr_type aux_labs2explst_20 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab_aux_labs2explst_20: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_9, tmp124, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_9, tmp124, atslab_2) ; tmp128 = aux_s2exp_16 (arg0, tmp127) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_0, tmp126) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_1, tmp128) ; tmp130 = aux_labs2explst_20 (arg0, tmp125) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_0, tmp129) ; ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_1, tmp130) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp123 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp123) ; } /* end of [aux_labs2explst_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 8247(line=352, offs=3) -- 8591(line=368, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp: /* ats_ptr_type tmp132 ; */ tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_make_nil () ; tmp133 = aux_s2exp_16 ((&tmp132), arg0) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__env_free (tmp132) ; tmp131 = tmp133 ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 9205(line=401, offs=4) -- 9245(line=401, offs=44) */ ATSstaticdec() ats_void_type abort_22 () { /* local vardec */ // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_abort_22: tmp136 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn) ; /* tmp135 = */ ats_raise_exn (tmp136) ; return /* (tmp135) */ ; } /* end of [abort_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 9300(line=407, offs=3) -- 10692(line=462, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_bool_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: __ats_lab_41_2: break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_43_0 ; } __ats_lab_42_2: break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_44_0 ; } __ats_lab_43_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_52_1 ; } __ats_lab_43_2: tmp138 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq (tmp138, tmp139) ; if (tmp140) { /* empty */ } else { /* tmp137 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_45_0 ; } __ats_lab_44_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_52_1 ; } __ats_lab_44_2: tmp141 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp141, tmp142) ; if (tmp143) { /* empty */ } else { /* tmp137 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_46_0 ; } __ats_lab_45_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_52_1 ; } __ats_lab_45_2: tmp144 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp148 = atspre_eq_string_string (tmp144, tmp146) ; if (tmp148) { /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn (tmp145, tmp147) ; } else { /* tmp137 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_47_0 ; } __ats_lab_46_1: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_52_1 ; } __ats_lab_46_2: tmp149 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp153 = atspre_eq_string_string (tmp149, tmp151) ; if (tmp153) { /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn (tmp150, tmp152) ; } else { /* tmp137 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_48_0 ; } __ats_lab_47_1: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_52_1 ; } __ats_lab_47_2: tmp154 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp155 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn (tmp156, tmp154) ; arg0 = tmp155 ; arg1 = tmp157 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_49_0 ; } __ats_lab_48_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_49_1 ; } __ats_lab_48_2: tmp159 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; arg0 = tmp159 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_50_0 ; } __ats_lab_49_1: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_52_1 ; } __ats_lab_49_2: tmp160 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp162 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn (tmp160, tmp162) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn (tmp161, tmp163) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_51_0 ; } __ats_lab_50_1: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_52_1 ; } __ats_lab_50_2: tmp165 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; arg0 = tmp165 ; arg1 = tmp166 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_52_0 ; } __ats_lab_51_1: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_52_1 ; } __ats_lab_51_2: tmp167 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (tmp167, tmp169) ; if (tmp171) { /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn (tmp168, tmp170) ; } else { /* tmp137 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: __ats_lab_52_2: /* tmp137 = */ abort_22 () ; break ; } while (0) ; return /* (tmp137) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 10755(line=466, offs=3) -- 11027(line=477, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; // ATSlocal_void (tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_55_1 ; } __ats_lab_53_2: tmp173 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn (tmp173, tmp175) ; arg0 = tmp174 ; arg1 = tmp176 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_55_1 ; } __ats_lab_54_2: break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: __ats_lab_55_2: /* tmp172 = */ abort_22 () ; break ; } while (0) ; return /* (tmp172) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 11096(line=481, offs=3) -- 11386(line=492, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_58_1 ; } __ats_lab_56_2: tmp179 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn (tmp179, tmp181) ; arg0 = tmp180 ; arg1 = tmp182 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn ; // tail call break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_58_1 ; } __ats_lab_57_2: break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: __ats_lab_58_2: /* tmp178 = */ abort_22 () ; break ; } while (0) ; return /* (tmp178) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplstlst_ismat_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 11458(line=496, offs=3) -- 11874(line=513, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_bool_type, tmp193) ; // ATSlocal_void (tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_61_1 ; } __ats_lab_59_2: tmp185 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_3, tmp185, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_3, tmp185, atslab_1) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_3, tmp187, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_3, tmp187, atslab_1) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp189, tmp191) ; if (tmp193) { /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn (tmp190, tmp192) ; arg0 = tmp186 ; arg1 = tmp188 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn ; // tail call } else { /* tmp184 = */ abort_22 () ; } /* end of [if] */ break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_61_1 ; } __ats_lab_60_2: break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: __ats_lab_61_2: /* tmp184 = */ abort_22 () ; break ; } while (0) ; return /* (tmp184) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__labs2kexplst_ismat_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 12040(line=524, offs=3) -- 12142(line=527, offs=30) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexp_ismat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexp_ismat: ATS_TRYWITH_TRY(tmp197) /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexp_ismat_exn (arg0, arg1) ; tmp195 = ats_true_bool ; ATS_TRYWITH_WITH(tmp197) do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (tmp197 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn) { ats_raise_exn (tmp197) ; } __ats_lab_62_1: tmp195 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexp_ismat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_skexp.dats: 12225(line=532, offs=3) -- 12334(line=535, offs=30) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexplst_ismat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexplst_ismat: ATS_TRYWITH_TRY(tmp200) /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__s2kexplst_ismat_exn (arg0, arg1) ; tmp198 = ats_true_bool ; ATS_TRYWITH_WITH(tmp200) do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp200 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn) { ats_raise_exn (tmp200) ; } __ats_lab_63_1: tmp198 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexplst_ismat] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__S2KEXPISMATexn" ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_staexp2_skexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_util_dats.c0000664000175000017500000022074412655455557020750 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; ats_ptr_type atslab_6 ; ats_ptr_type atslab_7 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_16 ; typedef struct { ats_ptr_type atslab_ibranch_loc ; ats_ptr_type atslab_ibranch_inslst ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_19 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ref_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_9 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_11 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_12 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxibr_13 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxibrlst_14 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxpmd_15 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxpmdlst_16 (ats_ref_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 1786(line=64, offs=16) -- 1832(line=65, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 1912(line=72, offs=3) -- 1952(line=72, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_primval_type) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp3) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 2029(line=78, offs=16) -- 2097(line=79, offs=59) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_top (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_top: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_primval_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp5)->tag != 18) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 2312(line=90, offs=3) -- 2713(line=110, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_primval_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp7)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp7)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp7)->tag != 22) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp7)->tag != 23) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp7)->tag != 24) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp7)->tag != 25) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp7)->tag != 32) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp7)->tag != 21) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_1) ; arg0 = tmp8 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp6 = ats_false_bool ; break ; } while (0) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_nshared] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 2799(line=116, offs=3) -- 3021(line=127, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg1) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (arg1) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp11 != (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab (arg0, tmp10, arg1) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp11 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_0) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab (arg0, tmp10, tmp12, arg1) ; break ; } while (0) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 3109(line=133, offs=3) -- 3339(line=144, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg2) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (arg2) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp15 != (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_funlab (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp15 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_3, tmp15, atslab_0) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_cfunlab (arg0, arg1, tmp16, arg2) ; break ; } while (0) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make2_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 3430(line=150, offs=3) -- 3528(line=152, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_d2vfunlab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_d2vfunlab: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg2) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_d2vfunlab (arg0, tmp18, arg1, arg2) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_d2vfunlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 3613(line=157, offs=18) -- 3672(line=158, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__patckont_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__patckont_is_none: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp19 = ats_true_bool ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp19 = ats_false_bool ; break ; } while (0) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__patckont_is_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 3768(line=166, offs=5) -- 3993(line=177, offs=4) */ ATSstaticdec() ats_void_type loop_9 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab_loop_9: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_2) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp22, tmp23) ; arg0 = arg0 ; arg1 = tmp24 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: break ; } while (0) ; return /* (tmp21) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 3748(line=164, offs=15) -- 4095(line=185, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub: /* ats_ptr_type tmp26 ; */ tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; /* tmp27 = */ loop_9 ((&tmp26), arg0) ; tmp20 = tmp26 ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub2stasub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 4170(line=191, offs=3) -- 4320(line=197, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_2) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append (tmp31, arg1) ; tmp28 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_0, tmp29) ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_1, tmp30) ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_2, tmp32) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp28 = arg1 ; break ; } while (0) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpsub_append] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 5290(line=250, offs=5) -- 7655(line=348, offs=4) */ ATSstaticdec() ats_void_type aux_11 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_aux_11: tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_instr_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp34)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp34)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp34)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp34)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_2, tmp34, atslab_0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp35) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp36 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp34)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_2, tmp34, atslab_0) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp37) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp38 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp34)->tag != 5) { goto __ats_lab_27_0 ; } __ats_lab_26_1: break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp34)->tag != 6) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_6, tmp34, atslab_0) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp39) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp40 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp34)->tag != 7) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_7, tmp34, atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp41) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp42 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp34)->tag != 8) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp43) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp44 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp34)->tag != 9) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_6, tmp34, atslab_0) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp45) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp46 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp34)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_1) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_2) ; /* tmp49 = */ auxlst_12 (arg0, tmp47) ; /* tmp50 = */ auxlst_12 (arg0, tmp48) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp34)->tag != 11) { goto __ats_lab_33_0 ; } __ats_lab_32_1: break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp34)->tag != 12) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_9, tmp34, atslab_3) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_9, tmp34, atslab_5) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_9, tmp34, atslab_6) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_9, tmp34, atslab_7) ; /* tmp55 = */ auxlst_12 (arg0, tmp51) ; /* tmp56 = */ auxlst_12 (arg0, tmp52) ; /* tmp57 = */ auxlst_12 (arg0, tmp53) ; /* tmp58 = */ auxlst_12 (arg0, tmp54) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp34)->tag != 13) { goto __ats_lab_35_0 ; } __ats_lab_34_1: break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp34)->tag != 14) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_11, tmp34, atslab_0) ; /* tmp33 = */ auxibrlst_14 (arg0, tmp59) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp34)->tag != 15) { goto __ats_lab_37_0 ; } __ats_lab_36_1: break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp34)->tag != 16) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_11, tmp34, atslab_0) ; /* tmp33 = */ auxpmdlst_16 (arg0, tmp60) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp34)->tag != 17) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_6, tmp34, atslab_0) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp61) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp62 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp34)->tag != 18) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_2, tmp34, atslab_0) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp63) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp64 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp34)->tag != 19) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp65) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp66 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp34)->tag != 20) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp67) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp68 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp34)->tag != 21) { goto __ats_lab_43_0 ; } __ats_lab_42_1: break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp34)->tag != 22) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_6, tmp34, atslab_0) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp69) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp70 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp34)->tag != 23) { goto __ats_lab_45_0 ; } __ats_lab_44_1: break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp34)->tag != 24) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_12, tmp34, atslab_0) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp71) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp72 ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp34)->tag != 26) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_13, tmp34, atslab_0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp73) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp74 ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp34)->tag != 27) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_13, tmp34, atslab_0) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp75) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp76 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp34)->tag != 25) { goto __ats_lab_49_0 ; } __ats_lab_48_1: break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp34)->tag != 28) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_1) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_2) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp77) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp80 ; /* tmp81 = */ auxlst_12 (arg0, tmp78) ; /* tmp33 = */ auxibrlst_14 (arg0, tmp79) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp34)->tag != 29) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_11, tmp34, atslab_0) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp82) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp83 ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp34)->tag != 30) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_11, tmp34, atslab_0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp84) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp85 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp34)->tag != 31) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_2, tmp34, atslab_0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp86) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp87 ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp34)->tag != 32) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp88) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp89 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp34)->tag != 33) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_8, tmp34, atslab_0) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp90) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp91 ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp34)->tag != 34) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_2, tmp34, atslab_0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp92) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp93 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp34)->tag != 35) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_14, tmp34, atslab_0) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp94) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp95 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp34)->tag != 36) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_15, tmp34, atslab_0) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp96) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp97 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp34)->tag != 37) { goto __ats_lab_59_0 ; } __ats_lab_58_1: break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp34)->tag != 38) { goto __ats_lab_60_0 ; } __ats_lab_59_1: break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp34)->tag != 39) { goto __ats_lab_61_0 ; } __ats_lab_60_1: break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp34)->tag != 40) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_11, tmp34, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (ats_ptrget_mac(ats_ptr_type, arg0), tmp98) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp99 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp34)->tag != 41) { goto __ats_lab_63_0 ; } __ats_lab_62_1: break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (((ats_sum_ptr_type)tmp34)->tag != 42) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: break ; } while (0) ; return /* (tmp33) */ ; } /* end of [aux_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 7677(line=350, offs=5) -- 7885(line=363, offs=4) */ ATSstaticdec() ats_void_type auxlst_12 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; __ats_lab_auxlst_12: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_1) ; /* tmp103 = */ aux_11 (arg0, tmp101) ; arg0 = arg0 ; arg1 = tmp102 ; goto __ats_lab_auxlst_12 ; // tail call break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: break ; } while (0) ; return /* (tmp100) */ ; } /* end of [auxlst_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 7910(line=365, offs=5) -- 8010(line=371, offs=4) */ ATSstaticdec() ats_void_type auxibr_13 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_auxibr_13: tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_ibranch_inslst) ; /* tmp104 = */ auxlst_12 (arg0, tmp105) ; return /* (tmp104) */ ; } /* end of [auxibr_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 8035(line=373, offs=5) -- 8275(line=386, offs=4) */ ATSstaticdec() ats_void_type auxibrlst_14 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; // ATSlocal_void (tmp109) ; __ats_lab_auxibrlst_14: do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_1) ; /* tmp109 = */ auxibr_13 (arg0, tmp107) ; arg0 = arg0 ; arg1 = tmp108 ; goto __ats_lab_auxibrlst_14 ; // tail call break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: break ; } while (0) ; return /* (tmp106) */ ; } /* end of [auxibrlst_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 8303(line=388, offs=5) -- 9607(line=446, offs=4) */ ATSstaticdec() ats_void_type auxpmd_15 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; __ats_lab_auxpmd_15: tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_primdec_node) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp111)->tag != 0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp111)->tag != 1) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_11, tmp111, atslab_0) ; /* tmp110 = */ auxpmdlst_16 (arg0, tmp112) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp111)->tag != 2) { goto __ats_lab_71_0 ; } __ats_lab_70_1: break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp111)->tag != 3) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_2, tmp111, atslab_1) ; /* tmp110 = */ auxlst_12 (arg0, ats_castfn_mac(ats_ptr_type, tmp113)) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp111)->tag != 4) { goto __ats_lab_73_0 ; } __ats_lab_72_1: break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp111)->tag != 5) { goto __ats_lab_74_0 ; } __ats_lab_73_1: break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp111)->tag != 10) { goto __ats_lab_77_0 ; } __ats_lab_74_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_11, tmp111, atslab_0) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_get_instrlstopt (tmp114) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp115 != (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp115 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_19, tmp115, atslab_0) ; /* tmp110 = */ auxlst_12 (arg0, tmp116) ; break ; } while (0) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp111)->tag != 6) { goto __ats_lab_78_0 ; } __ats_lab_77_1: break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp111)->tag != 7) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_8, tmp111, atslab_2) ; /* tmp110 = */ auxlst_12 (arg0, ats_castfn_mac(ats_ptr_type, tmp117)) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp111)->tag != 8) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_8, tmp111, atslab_2) ; /* tmp110 = */ auxlst_12 (arg0, ats_castfn_mac(ats_ptr_type, tmp118)) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp111)->tag != 9) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_2, tmp111, atslab_1) ; /* tmp110 = */ auxlst_12 (arg0, ats_castfn_mac(ats_ptr_type, tmp119)) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp111)->tag != 11) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_10, tmp111, atslab_1) ; /* tmp110 = */ auxpmdlst_16 (arg0, tmp120) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp111)->tag != 12) { goto __ats_lab_83_0 ; } __ats_lab_82_1: break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp111)->tag != 13) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_8, tmp111, atslab_2) ; /* tmp110 = */ auxpmdlst_16 (arg0, tmp121) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp111)->tag != 14) { goto __ats_lab_85_0 ; } __ats_lab_84_1: break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (((ats_sum_ptr_type)tmp111)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_2, tmp111, atslab_0) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_2, tmp111, atslab_1) ; /* tmp124 = */ auxpmdlst_16 (arg0, tmp122) ; /* tmp110 = */ auxpmdlst_16 (arg0, tmp123) ; break ; } while (0) ; return /* (tmp110) */ ; } /* end of [auxpmd_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 9632(line=448, offs=5) -- 9863(line=460, offs=4) */ ATSstaticdec() ats_void_type auxpmdlst_16 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; __ats_lab_auxpmdlst_16: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_1) ; /* tmp128 = */ auxpmd_15 (arg0, tmp126) ; arg0 = arg0 ; arg1 = tmp127 ; goto __ats_lab_auxpmdlst_16 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: break ; } while (0) ; return /* (tmp125) */ ; } /* end of [auxpmdlst_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 9946(line=466, offs=3) -- 10048(line=474, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrlst_get_tmpvarset (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrlst_get_tmpvarset: /* ats_ptr_type tmp130 ; */ tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil () ; /* tmp131 = */ auxlst_12 ((&tmp130), arg0) ; tmp129 = tmp130 ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrlst_get_tmpvarset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_util.dats: 10122(line=478, offs=3) -- 10227(line=486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdeclst_get_tmpvarset (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdeclst_get_tmpvarset: /* ats_ptr_type tmp133 ; */ tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_nil () ; /* tmp134 = */ auxpmdlst_16 ((&tmp133), arg0) ; tmp132 = tmp133 ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primdeclst_get_tmpvarset] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_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 () ; #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_ccomp_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/0000775000175000017500000000000012655455557016033 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_option0_dats.c0000664000175000017500000000540512655455557021421 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__staload_flag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_option0_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_option_dats.c0000664000175000017500000001111212655455557021331 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/option.dats: 1832(line=53, offs=16) -- 1886(line=54, offs=48) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_none: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_none] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/option.dats: 1940(line=58, offs=16) -- 1994(line=59, offs=48) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_some (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_some: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp1 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__option_is_some] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2option_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_option_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_option_vt_dats.c0000664000175000017500000001123312655455557022046 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/option_vt.dats: 2018(line=62, offs=19) -- 2103(line=63, offs=69) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_none: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = ats_false_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp0 = ats_true_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_none] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/option_vt.dats: 2163(line=67, offs=19) -- 2248(line=68, offs=69) */ ATSglobaldec() ats_bool_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_some (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_some: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp1 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__option_vt_is_some] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2option_vt_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_option_vt_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/basics_dyn_sats.c0000664000175000017500000000174012655455557021351 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [basics_dyn_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_list0_dats.c0000664000175000017500000000634712655455557021072 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (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_ptr_type, ListSubscriptException_make) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list0_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2list0_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_list0_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_array_dats.c0000664000175000017500000003455012655455557021152 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ #include "prelude/CATS/array.cats" /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_2 ; ats_size_type atslab_3 ; } anairiats_rec_1 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ; 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) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK 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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__sasp__array_viewt0ype_int_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_1 (ats_ptr_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3, ats_size_type arg4, ats_ptr_type arg5) ; static ats_void_type loop_3 (ats_ptr_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3, ats_size_type arg4, ats_ptr_type arg5) ; static ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ptr_type arg4) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ptr_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 6600(line=234, offs=7) -- 7239(line=251, offs=8) */ ATSstaticdec() ats_void_type loop_1 (ats_ptr_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3, ats_size_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_bool_type, tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_size_type, tmp5) ; __ats_lab_loop_1: tmp2 = atspre_lt_size1_size1 (arg2, arg1) ; if (tmp2) { /* tmp3 = */ ((ats_void_type(*)(ats_size_type, ats_ref_type, ats_ptr_type))arg3) (arg2, arg0, arg5) ; tmp4 = atspre_padd_size (arg0, arg4) ; tmp5 = atspre_add_size1_int1 (arg2, 1) ; arg0 = tmp4 ; arg1 = arg1 ; arg2 = tmp5 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_loop_1 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp1) */ ; } /* end of [loop_1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 6558(line=233, offs=3) -- 7333(line=255, offs=4) */ ATSglobaldec() ats_void_type atspre_array_ptr_initialize_funenv_tsz (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_atspre_array_ptr_initialize_funenv_tsz: /* tmp0 = */ loop_1 (arg0, arg1, 0, arg2, arg3, arg4) ; return /* (tmp0) */ ; } /* end of [atspre_array_ptr_initialize_funenv_tsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 8023(line=282, offs=7) -- 8675(line=299, offs=8) */ ATSstaticdec() ats_void_type loop_3 (ats_ptr_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3, ats_size_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_bool_type, tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_size_type, tmp11) ; __ats_lab_loop_3: tmp8 = atspre_lt_size1_size1 (arg2, arg1) ; if (tmp8) { /* tmp9 = */ ((ats_void_type(*)(ats_clo_ptr_type, ats_size_type, ats_ref_type, ats_ptr_type))(ats_closure_fun(arg3))) (arg3, arg2, arg0, arg5) ; tmp10 = atspre_padd_size (arg0, arg4) ; tmp11 = atspre_add_size1_int1 (arg2, 1) ; arg0 = tmp10 ; arg1 = arg1 ; arg2 = tmp11 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_loop_3 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp7) */ ; } /* end of [loop_3] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 7981(line=281, offs=3) -- 8769(line=303, offs=4) */ ATSglobaldec() ats_void_type atspre_array_ptr_initialize_cloenv_tsz (ats_ref_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab_atspre_array_ptr_initialize_cloenv_tsz: /* tmp6 = */ loop_3 (arg0, arg1, 0, arg2, arg3, arg4) ; return /* (tmp6) */ ; } /* end of [atspre_array_ptr_initialize_cloenv_tsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 10828(line=379, offs=24) -- 11091(line=385, offs=4) */ ATSglobaldec() anairiats_rec_0 atspre_array_ptr_takeout2_tsz (ats_ptr_type arg0, ats_size_type arg1, ats_size_type arg2, ats_size_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_0, tmp12) ; ATSlocal (ats_size_type, tmp13) ; ATSlocal (ats_size_type, tmp14) ; ATSlocal (ats_size_type, tmp15) ; ATSlocal (ats_size_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_atspre_array_ptr_takeout2_tsz: tmp13 = atspre_mul2_size1_size1 (arg1, arg3) ; tmp14 = ats_selsin_mac(tmp13, atslab_1) ; tmp15 = atspre_mul2_size1_size1 (arg2, arg3) ; tmp16 = ats_selsin_mac(tmp15, atslab_1) ; tmp17 = atspre_padd_size (arg0, tmp14) ; tmp18 = atspre_padd_size (arg0, tmp16) ; tmp12.atslab_3 = tmp17 ; tmp12.atslab_4 = tmp18 ; return (tmp12) ; } /* end of [atspre_array_ptr_takeout2_tsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 11822(line=417, offs=10) -- 11993(line=422, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_make_arrpsz (anairiats_rec_1 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_make_arrpsz: tmp21 = ats_select_mac(arg0, atslab_2) ; /* tmp20 = */ atspre_vbox_make_view_ptr (tmp21) ; /* tmp22 = ats_selsin_mac(tmp20, atslab_1) */ ; tmp19 = ats_select_mac(arg0, atslab_2) ; return (tmp19) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_make_arrpsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 16203(line=590, offs=7) -- 16815(line=608, offs=8) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_size_type, tmp28) ; __ats_lab_loop_7: tmp25 = atspre_gt_size1_int1 (arg2, 0) ; if (tmp25) { /* tmp26 = */ ((ats_void_type(*)(ats_ref_type, ats_ptr_type))arg1) (arg0, arg4) ; tmp27 = atspre_padd_size (arg0, arg3) ; tmp28 = atspre_sub_size1_int1 (arg2, 1) ; arg0 = tmp27 ; arg1 = arg1 ; arg2 = tmp28 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_loop_7 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp24) */ ; } /* end of [loop_7] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 16161(line=589, offs=3) -- 16887(line=611, offs=4) */ ATSglobaldec() ats_void_type atspre_array_ptr_foreach_funenv_tsz (ats_ref_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp23) ; __ats_lab_atspre_array_ptr_foreach_funenv_tsz: /* tmp23 = */ loop_7 (arg0, arg1, arg2, arg3, arg4) ; return /* (tmp23) */ ; } /* end of [atspre_array_ptr_foreach_funenv_tsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 18160(line=663, offs=7) -- 18807(line=681, offs=8) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ptr_type arg5) { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (ats_bool_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_size_type, tmp34) ; __ats_lab_loop_9: tmp31 = atspre_lt_size1_size1 (arg3, arg2) ; if (tmp31) { /* tmp32 = */ ((ats_void_type(*)(ats_size_type, ats_ref_type, ats_ptr_type))arg1) (arg3, arg0, arg5) ; tmp33 = atspre_padd_size (arg0, arg4) ; tmp34 = atspre_add_size1_int1 (arg3, 1) ; arg0 = tmp33 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp34 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_loop_9 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp30) */ ; } /* end of [loop_9] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array.dats: 18118(line=662, offs=3) -- 18882(line=684, offs=4) */ ATSglobaldec() ats_void_type atspre_array_ptr_iforeach_funenv_tsz (ats_ref_type arg0, ats_ptr_type arg1, ats_size_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp29) ; __ats_lab_atspre_array_ptr_iforeach_funenv_tsz: /* tmp29 = */ loop_9 (arg0, arg1, arg2, 0, arg3, arg4) ; return /* (tmp29) */ ; } /* end of [atspre_array_ptr_iforeach_funenv_tsz] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_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 () ; #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 */ typedef unsigned char byte ; // // HX-2010-05-24 // In case 'memcpy' is already defined as a macro ... // #ifndef memcpy extern void *memcpy (void *dst, const void* src, size_t n) ; #endif // end of [memcpy] ats_void_type atspre_array_ptr_initialize_elt_tsz ( ats_ptr_type A , ats_size_type asz , ats_ptr_type ini , ats_size_type tsz ) { int i, itsz ; int left ; ats_ptr_type p ; if (asz == 0) return ; memcpy (A, ini, tsz) ; i = 1 ; itsz = tsz ; left = asz - i ; while (left > 0) { p = (ats_ptr_type)(((byte*)A) + itsz) ; if (left <= i) { memcpy (p, A, left * tsz) ; return ; } memcpy (p, A, itsz); i = i + i ; itsz = itsz + itsz ; left = asz - i ; } /* end of [while] */ return ; } /* end of [atspre_array_ptr_initialize_elt_tsz] */ /* ****** ****** */ /* end of [DATS_array_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_char_dats.c0000664000175000017500000000560112655455557020744 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2char_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2char_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_char_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_string_dats.c0000664000175000017500000007264512655455557021351 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ ATSinline() ats_ptr_type atspre_string_string_alloc (ats_size_type n) { char *p ; p = ATS_MALLOC(n+1); p[n] = '\000'; return p ; } // end of [atspre_string_string_alloc] /* type definitions */ typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_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_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ilte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_strbuf_set_char_at) (ats_ref_type, ats_size_type, ats_char_type) ; ATSextern_fun(ats_char_type, atspre_string_test_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_list_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_fprint_strptr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_string_string_alloc) (ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_string_string_alloc) (ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_string_string_alloc) (ats_size_type) ; ATSextern_fun(ats_char_type, atspre_char_tolower) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_6 (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_8 (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_size_type aux_10 (ats_ptr_type arg0, ats_size_type arg1) ; static ats_size_type loop1_11 (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3, ats_size_type arg4) ; static ats_void_type loop2_12 (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3) ; static ats_ptr_type loop_14 (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_int_type loop_16 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_size_type arg3) ; static ats_void_type loop_20 (ats_ptr_type env0, ats_ptr_type env1, ats_size_type env2, ats_ptr_type arg0, ats_size_type arg1) ; static ats_clo_ptr_type loop_20_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_size_type env2) ; static ats_void_type loop_20_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1) ; static ats_ptr_type string_make_fun_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 1667(line=46, offs=1) -- 1715(line=46, offs=49) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0) ; ATS_2d0_2e2_2e12_2prelude_2SATS_2vsubrw_2esats__vsubr_refl_prfck () ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 1738(line=50, offs=1) -- 2492(line=72, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split_prfck () { /* local vardec */ // ATSlocal_void (tmp1) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split) ; return /* (tmp1) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 2521(line=74, offs=1) -- 3260(line=94, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit_prfck () { /* local vardec */ // ATSlocal_void (tmp2) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit) ; return /* (tmp2) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit_prfck] */ #endif /* _ATS_PROOFCHECK */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 3335(line=98, offs=24) -- 3375(line=98, offs=64) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strbuf (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strbuf: /* tmp3 = */ atspre_fprint_string (stdout, arg0) ; return /* (tmp3) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strbuf] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 3399(line=99, offs=24) -- 3439(line=99, offs=64) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strbuf (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strbuf: /* tmp4 = */ atspre_fprint_string (stderr, arg0) ; return /* (tmp4) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strbuf] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 4181(line=133, offs=9) -- 4889(line=154, offs=10) */ ATSstaticdec() ats_void_type loop_6 (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_char_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_bool_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_size_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab_loop_6: tmp10 = atspre_ilt (arg2, arg1) ; if (tmp10) { // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp11 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_1) ; tmp14 = atspre_neq_char_char (ats_castfn_mac(ats_char_type, tmp11), '\000') ; if (tmp14) { /* empty */ } else { /* tmp15 = */ atspre_prerrf_exn (ATSstrcst("exit(ATS): a string cannot contain null characters in the middle.\n")) ; /* tmp13 = */ ats_exit (1) ; } /* end of [if] */ tmp17 = atspre_size1_of_int1 (arg2) ; /* tmp16 = */ atspre_strbuf_set_char_at (arg0, tmp17, ats_castfn_mac(ats_char_type, tmp11)) ; tmp18 = atspre_iadd (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp18 ; arg3 = tmp12 ; goto __ats_lab_loop_6 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp9) */ ; } /* end of [loop_6] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 3873(line=125, offs=22) -- 4963(line=158, offs=4) */ ATSglobaldec() ats_ptr_type atspre_string_make_list_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_size_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp19) ; __ats_lab_atspre_string_make_list_int: tmp7 = atspre_size1_of_int1 (arg1) ; tmp6 = atspre_string_string_alloc (tmp7) ; tmp8 = ats_selsin_mac(tmp6, atslab_2) ; /* tmp19 = */ loop_6 (tmp8, arg1, 0, arg0) ; tmp5 = tmp8 ; return (tmp5) ; } /* end of [atspre_string_make_list_int] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 5343(line=169, offs=9) -- 6064(line=190, offs=10) */ ATSstaticdec() ats_void_type loop_8 (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_char_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; ATSlocal (ats_bool_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_size_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; __ats_lab_loop_8: tmp25 = atspre_ilte (arg2, arg1) ; if (tmp25) { // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp26 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_0, arg3, atslab_1) ; tmp29 = atspre_neq_char_char (ats_castfn_mac(ats_char_type, tmp26), '\000') ; if (tmp29) { /* empty */ } else { /* tmp30 = */ atspre_prerrf_exn (ATSstrcst("exit(ATS): a string cannot contain null characters in the middle.\n")) ; /* tmp28 = */ ats_exit (1) ; } /* end of [if] */ tmp33 = atspre_isub (arg1, arg2) ; tmp32 = atspre_size1_of_int1 (tmp33) ; /* tmp31 = */ atspre_strbuf_set_char_at (arg0, tmp32, ats_castfn_mac(ats_char_type, tmp26)) ; tmp34 = atspre_iadd (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp34 ; arg3 = tmp27 ; goto __ats_lab_loop_8 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp24) */ ; } /* end of [loop_8] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 5033(line=161, offs=26) -- 6138(line=194, offs=4) */ ATSglobaldec() ats_ptr_type atspre_string_make_list_rev_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_size_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_int_type, tmp36) ; __ats_lab_atspre_string_make_list_rev_int: tmp22 = atspre_size1_of_int1 (arg1) ; tmp21 = atspre_string_string_alloc (tmp22) ; tmp23 = ats_selsin_mac(tmp21, atslab_2) ; tmp36 = atspre_isub (arg1, 1) ; /* tmp35 = */ loop_8 (tmp23, tmp36, 0, arg0) ; tmp20 = tmp23 ; return (tmp20) ; } /* end of [atspre_string_make_list_rev_int] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 6276(line=201, offs=9) -- 6436(line=203, offs=79) */ ATSstaticdec() ats_size_type aux_10 (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_size_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_size_type, tmp41) ; ATSlocal (ats_size_type, tmp42) ; __ats_lab_aux_10: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp42 = atspre_string_length (tmp39) ; tmp41 = atspre_add_size_size (arg1, tmp42) ; arg0 = tmp40 ; arg1 = tmp41 ; goto __ats_lab_aux_10 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp38 = arg1 ; break ; } while (0) ; return (tmp38) ; } /* end of [aux_10] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 6525(line=207, offs=7) -- 6870(line=214, offs=6) */ ATSstaticdec() ats_size_type loop1_11 (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3, ats_size_type arg4) { /* local vardec */ ATSlocal (ats_size_type, tmp45) ; ATSlocal (ats_char_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_bool_type, tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_size_type, tmp50) ; ATSlocal (ats_size_type, tmp51) ; __ats_lab_loop1_11: tmp46 = atspre_string_test_char_at (arg3, arg4) ; tmp47 = atspre_neq_char_char (tmp46, '\000') ; if (tmp47) { tmp48 = atspre_lt_size1_size1 (arg2, arg1) ; if (tmp48) { /* tmp49 = */ atspre_strbuf_set_char_at (arg0, arg2, tmp46) ; tmp50 = atspre_add_size1_int1 (arg2, 1) ; tmp51 = atspre_add_size1_int1 (arg4, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp50 ; arg3 = arg3 ; arg4 = tmp51 ; goto __ats_lab_loop1_11 ; // tail call } else { tmp45 = arg2 ; } /* end of [if] */ } else { tmp45 = arg2 ; } /* end of [if] */ return (tmp45) ; } /* end of [loop1_11] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 6898(line=215, offs=7) -- 7276(line=225, offs=6) */ ATSstaticdec() ats_void_type loop2_12 (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_size_type, tmp55) ; __ats_lab_loop2_12: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp55 = loop1_11 (arg0, arg1, arg2, ats_castfn_mac(ats_ptr_type, tmp53), 0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp55 ; arg3 = tmp54 ; goto __ats_lab_loop2_12 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp52) */ ; } /* end of [loop2_12] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 6221(line=199, offs=18) -- 7635(line=236, offs=4) */ ATSglobaldec() ats_ptr_type atspre_stringlst_concat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_size_type, tmp43) ; ATSlocal (ats_size_type, tmp44) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_atspre_stringlst_concat: tmp44 = atspre_size1_of_int1 (0) ; tmp43 = aux_10 (arg0, tmp44) ; tmp56 = atspre_string_string_alloc (ats_castfn_mac(ats_size_type, tmp43)) ; tmp57 = ats_selsin_mac(tmp56, atslab_2) ; /* tmp58 = */ loop2_12 (tmp57, ats_castfn_mac(ats_size_type, tmp43), 0, arg0) ; tmp59 = tmp57 ; tmp37 = ats_castfn_mac(ats_ptr_type, tmp59) ; return (tmp37) ; } /* end of [atspre_stringlst_concat] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 7728(line=242, offs=7) -- 8029(line=250, offs=8) */ ATSstaticdec() ats_ptr_type loop_14 (ats_ptr_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_size_type, tmp63) ; ATSlocal (ats_char_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_loop_14: tmp62 = atspre_gte_size1_int1 (arg1, 1) ; if (tmp62) { tmp63 = atspre_sub_size1_int1 (arg1, 1) ; tmp64 = atspre_string_get_char_at (arg0, tmp63) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp65, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_0, tmp65, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp63 ; arg2 = tmp65 ; goto __ats_lab_loop_14 ; // tail call } else { tmp61 = arg2 ; } /* end of [if] */ return (tmp61) ; } /* end of [loop_14] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 7712(line=241, offs=16) -- 8111(line=255, offs=4) */ ATSglobaldec() ats_ptr_type atspre_string_explode (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_size_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_atspre_string_explode: tmp66 = atspre_string_length (arg0) ; tmp67 = (ats_sum_ptr_type)0 ; tmp60 = loop_14 (arg0, tmp66, tmp67) ; return (tmp60) ; } /* end of [atspre_string_explode] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 8229(line=260, offs=7) -- 8372(line=262, offs=61) */ ATSstaticdec() ats_int_type loop_16 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; __ats_lab_loop_16: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp71 = atspre_iadd (arg1, 1) ; arg0 = tmp70 ; arg1 = tmp71 ; goto __ats_lab_loop_16 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp69 = arg1 ; break ; } while (0) ; return (tmp69) ; } /* end of [loop_16] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 8166(line=258, offs=16) -- 8390(line=264, offs=2) */ ATSglobaldec() ats_ptr_type atspre_string_implode (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_int_type, tmp72) ; __ats_lab_atspre_string_implode: tmp72 = loop_16 (arg0, 0) ; tmp68 = atspre_string_make_list_int (arg0, tmp72) ; return (tmp68) ; } /* end of [atspre_string_implode] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 8557(line=271, offs=7) -- 8787(line=275, offs=93) */ ATSstaticdec() ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_bool_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_char_type, tmp77) ; ATSlocal (ats_size_type, tmp78) ; __ats_lab_loop_18: tmp75 = atspre_string_isnot_atend (arg0, arg3) ; if (tmp75) { tmp77 = atspre_string_get_char_at (arg0, arg3) ; /* tmp76 = */ ((ats_void_type(*)(ats_char_type, ats_ptr_type))arg1) (tmp77, arg2) ; tmp78 = atspre_add_size1_int1 (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp78 ; goto __ats_lab_loop_18 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp74) */ ; } /* end of [loop_18] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 8494(line=270, offs=3) -- 8808(line=277, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_foreach__main (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp73) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_foreach__main: /* tmp73 = */ loop_18 (arg0, arg1, arg2, 0) ; return /* (tmp73) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_foreach__main] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 9118(line=289, offs=9) -- 9779(line=309, offs=8) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type env0, ats_ptr_type env1, ats_size_type env2, ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_char_type, tmp86) ; ATSlocal (ats_char_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_size_type, tmp89) ; __ats_lab_loop_20: tmp85 = atspre_lt_size1_size1 (arg1, env2) ; if (tmp85) { tmp86 = atspre_string_get_char_at (env0, arg1) ; tmp87 = ((ats_char_type(*)(ats_char_type))env1) (tmp86) ; ats_ptrget_mac(ats_char_type, arg0) = tmp87 ; tmp88 = atspre_padd_size (arg0, sizeof(ats_byte_type)) ; tmp89 = atspre_add_size1_int1 (arg1, 1) ; arg0 = tmp88 ; arg1 = tmp89 ; goto __ats_lab_loop_20 ; // tail call } else { ats_ptrget_mac(ats_char_type, arg0) = '\000' ; } /* end of [if] */ return /* (tmp84) */ ; } /* end of [loop_20] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_size_type closure_env_2 ; } loop_20_closure_type ; ats_void_type loop_20_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1) { loop_20 (((loop_20_closure_type*)cloptr)->closure_env_0, ((loop_20_closure_type*)cloptr)->closure_env_1, ((loop_20_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type loop_20_closure_init (loop_20_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_size_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_20_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type loop_20_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_size_type env2) { loop_20_closure_type *p_clo = ATS_MALLOC(sizeof(loop_20_closure_type)) ; loop_20_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 8874(line=283, offs=4) -- 9859(line=313, offs=4) */ ATSstaticdec() ats_ptr_type string_make_fun_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_size_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_size_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp90) ; __ats_lab_string_make_fun_19: tmp80 = atspre_string_length (arg0) ; tmp82 = atspre_add_size1_int1 (tmp80, 1) ; tmp81 = ats_malloc_gc (tmp82) ; tmp83 = ats_selsin_mac(tmp81, atslab_2) ; /* tmp90 = */ loop_20 (arg0, arg1, tmp80, tmp83, 0) ; tmp79 = tmp83 ; return (tmp79) ; } /* end of [string_make_fun_19] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 9935(line=317, offs=26) -- 10047(line=321, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_tolower (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_tolower: tmp91 = string_make_fun_19 (arg0, &atspre_char_tolower) ; return (tmp91) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_tolower] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 10109(line=323, offs=26) -- 10221(line=327, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_toupper (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_toupper: tmp92 = string_make_fun_19 (arg0, &atspre_char_toupper) ; return (tmp92) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__string_toupper] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 10325(line=333, offs=24) -- 10360(line=333, offs=59) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strptr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp93) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strptr: /* tmp93 = */ atspre_fprint_strptr (stdout, arg0) ; return /* (tmp93) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__print_strptr] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 10384(line=334, offs=24) -- 10419(line=334, offs=59) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strptr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp94) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strptr: /* tmp94 = */ atspre_fprint_strptr (stderr, arg0) ; return /* (tmp94) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__prerr_strptr] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/string.dats: 10442(line=337, offs=12) -- 10671(line=345, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strptr_dup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_size_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strptr_dup: tmp96 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp97 = atspre_string_make_substring (ats_castfn_mac(ats_ptr_type, arg0), 0, tmp96) ; tmp95 = ats_castfn_mac(ats_ptr_type, tmp97) ; return (tmp95) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strptr_dup] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_vsubr_lemma0_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_split_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2string_2esats__strbuf_v_unsplit_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 */ #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif // // HX: a commonly used simple hash function // ats_ulint_type atspre_string_hash_33 (ats_ptr_type s0) { unsigned long int hash_val ; unsigned char *s; int c; hash_val = 3141593UL ; // s = (unsigned char*)s0 ; while (1) { c = *s ; if (!c) break ; // the end of string is reached hash_val = ((hash_val << 5) + hash_val) + c ; // hash_val = 33 * hash_val + c s += 1 ; } // end of [while] // return hash_val ; // } // end of [atspre_string_hash_33] ats_ptr_type atspre_string_make_char ( ats_size_type n, ats_char_type c ) { char *p ; if (!c) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [string_make_char] failed: null char.\n") ; } ; // end of [if] p = ATS_MALLOC(n+1) ; memset (p, c, n) ; p[n] = '\000' ; return p ; } // end of [atspre_string_make_char] /* ****** ****** */ ats_ptr_type atspre_string_make_substring ( ats_ptr_type src0, ats_size_type start, ats_size_type len ) { char *des, *src ; des = ATS_MALLOC(len+1) ; src = ((char*)src0) + start ; memcpy(des, src, len) ; des[len] = '\000' ; return des ; } // end of [atspre_string_make_substring] /* ****** ****** */ ats_void_type atspre_strbuf_tolower (ats_ptr_type p0) { int c ; char *p = (char*)p0 ; while ((c = *p)) { *p = tolower (c) ; p += 1 ; } return ; } // end of [atspre_strbuf_tolower] ats_void_type atspre_strbuf_toupper (ats_ptr_type p0) { int c ; char *p = (char*)p0 ; while ((c = *p)) { *p = toupper (c) ; p += 1 ; } return ; } // end of [atspre_strbuf_toupper] /* ****** ****** */ /* ****** ****** */ /* end of [DATS_string_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_array0_dats.c0000664000175000017500000001443512655455557021232 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_2 ; ats_size_type atslab_3 ; } anairiats_rec_0 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_elt_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, ArraySubscriptException_make) () ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_make_arrpsz) (anairiats_rec_0) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__sasp__array0_viewt0ype_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_anairiats_rec_0 (anairiats_rec_0 arg0) ; static ats_ptr_type ref_make_elt_01089_anairiats_rec_0 (anairiats_rec_0 arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_anairiats_rec_0 (anairiats_rec_0 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (anairiats_rec_0, tmp3) ; __ats_lab_ref_01088_anairiats_rec_0: /* anairiats_rec_0 tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(anairiats_rec_0)) ; return (tmp2) ; } /* end of [ref_01088_anairiats_rec_0] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_anairiats_rec_0 (anairiats_rec_0 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ref_make_elt_01089_anairiats_rec_0: tmp1 = ref_01088_anairiats_rec_0 (arg0) ; return (tmp1) ; } /* end of [ref_make_elt_01089_anairiats_rec_0] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array0.dats: 1993(line=65, offs=30) -- 2018(line=65, offs=55) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_make_arrpsz (anairiats_rec_0 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_make_arrpsz: tmp0 = ref_make_elt_01089_anairiats_rec_0 (arg0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_make_arrpsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/array0.dats: 2813(line=96, offs=13) -- 2894(line=100, offs=4) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_size (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_size: tmp5 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp4 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp5), atslab_3) ; return (tmp4) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__array0_size] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2array0_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_array0_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_matrix_dats.c0000664000175000017500000002521412655455557021335 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ #include "prelude/CATS/array.cats" #define atspre_matrix_szdiv(i, n) (i / n) /* type definitions */ typedef struct { ats_ptr_type atslab_2 ; ats_size_type atslab_3 ; } anairiats_rec_0 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ 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_mul2_size1_size1) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_mod1_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_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_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_matrix_ptr_takeout_row_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_matrix_ptr_takeout_elt_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_matrix_make_arrpsz__main) (ats_size_type, ats_size_type, anairiats_rec_0) ; ATSextern_fun(ats_ptr_type, atspre_matrix_make_funenv_tsz) (ats_size_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_istot_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_nat_nat_nat_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__sasp__matrix_viewt0ype_int_int_type = 0 ; int ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__sasp__mtrxt = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type __ats_fun_5 (ats_size_type env0, ats_ptr_type env1, ats_size_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type __ats_fun_5_closure_make (ats_size_type env0, ats_ptr_type env1) ; static ats_void_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr, ats_size_type arg0, ats_ref_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 1981(line=66, offs=1) -- 2175(line=74, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v) ; ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_istot_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_nat_nat_nat_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_ungroup_prfck () ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 2209(line=76, offs=1) -- 2288(line=78, offs=50) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v_prfck () { /* local vardec */ // ATSlocal_void (tmp1) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v) ; ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_group_prfck () ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v) ; return /* (tmp1) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v_prfck] */ #endif /* _ATS_PROOFCHECK */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 3222(line=124, offs=13) -- 3362(line=129, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_make_arrpsz (ats_size_type arg0, ats_size_type arg1, anairiats_rec_0 arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_make_arrpsz: tmp2 = atspre_matrix_make_arrpsz__main (arg0, arg1, arg2) ; return (tmp2) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_make_arrpsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 3436(line=133, offs=7) -- 3687(line=139, offs=6) */ ATSglobaldec() ats_ptr_type atspre_matrix_make_arrpsz__main (ats_size_type arg0, ats_size_type arg1, anairiats_rec_0 arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; __ats_lab_atspre_matrix_make_arrpsz__main: tmp5 = ats_select_mac(arg2, atslab_2) ; /* tmp4 = */ atspre_vbox_make_view_ptr (tmp5) ; /* tmp6 = ats_selsin_mac(tmp4, atslab_1) */ ; tmp3 = ats_select_mac(arg2, atslab_2) ; return (tmp3) ; } /* end of [atspre_matrix_make_arrpsz__main] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 5006(line=187, offs=15) -- 5172(line=192, offs=6) */ ATSstaticdec() ats_void_type __ats_fun_5 (ats_size_type env0, ats_ptr_type env1, ats_size_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_size_type, tmp14) ; ATSlocal (ats_size_type, tmp15) ; __ats_lab___ats_fun_5: tmp14 = atspre_matrix_szdiv (arg0, env0) ; tmp15 = atspre_mod1_size1_size1 (arg0, env0) ; /* tmp13 = */ ((ats_void_type(*)(ats_size_type, ats_size_type, ats_ref_type, ats_ptr_type))env1) (tmp14, tmp15, arg1, arg2) ; return /* (tmp13) */ ; } /* end of [__ats_fun_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_size_type closure_env_0 ; ats_ptr_type closure_env_1 ; } __ats_fun_5_closure_type ; ats_void_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr, ats_size_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { __ats_fun_5 (((__ats_fun_5_closure_type*)cloptr)->closure_env_0, ((__ats_fun_5_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_5_closure_init (__ats_fun_5_closure_type *p_clo, ats_size_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix.dats: 4664(line=178, offs=3) -- 5472(line=200, offs=6) */ ATSglobaldec() ats_ptr_type atspre_matrix_make_funenv_tsz (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_size_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_size_type, tmp8) ; ATSlocal (ats_size_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (__ats_fun_5_closure_type, tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; __ats_lab_atspre_matrix_make_funenv_tsz: tmp8 = atspre_mul2_size1_size1 (arg0, arg1) ; tmp9 = ats_selsin_mac(tmp8, atslab_1) ; tmp10 = atspre_array_ptr_alloc_tsz (tmp9, arg3) ; tmp11 = ats_selsin_mac(tmp10, atslab_2) ; /* ats_ptr_type tmp12 ; */ tmp12 = &(tmp16) ; __ats_fun_5_closure_init (tmp12, arg1, arg2) ; // closure initialization /* tmp17 = */ atspre_array_ptr_initialize_cloenv_tsz (tmp11, tmp9, tmp12, arg3, arg4) ; /* tmp18 = */ atspre_vbox_make_view_ptr (tmp11) ; /* tmp19 = ats_selsin_mac(tmp18, atslab_1) */ ; tmp7 = tmp11 ; return (tmp7) ; } /* end of [atspre_matrix_make_funenv_tsz] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_istot_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_nat_nat_nat_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__array_v_of_matrix_v_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix_2esats__matrix_v_of_array_v_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 [DATS_matrix_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_basics_dats.c0000664000175000017500000002471612655455557021303 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ // // HX: for the purpose of debugging // ats_int_type ats_crash_int () { volatile int *p = 0 ; return *(p) ; } // end of [ats_crash_int] // /* ** HX: various functions for exits */ ats_void_type // external ats_exit (ats_int_type status) { exit(status) ; return ; } // end of [ats_exit] ats_void_type // external ats_exit_errmsg ( ats_int_type status , ats_ptr_type errmsg ) { fprintf(stderr, "%s", (char*)errmsg) ; exit(status) ; return ; // deadcode } /* end of [ats_exit_errmsg] */ /* ** HX: various functions for asserts */ #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif ats_void_type atspre_assertfalse () { // extern void ats_crash() ; // fprintf(stderr, "[assertfalse] executed\n") ; ats_crash() ; // HX: this is likely to cause a core dump! return ; } // end of [atspre_asertfasle] ats_void_type atspre_assert ( ats_bool_type assertion ) { if (!assertion) { fprintf (stderr, "exit(ATS): [assert] failed\n") ; exit(EXIT_FAILURE) ; } // end of [if] return ; } /* end of [atspre_assert] */ ats_void_type atspre_assert_errmsg ( ats_bool_type assertion, ats_ptr_type errmsg ) { if (!assertion) { fprintf (stderr, "exit(ATS): [assert] failed: %s\n", (char*)errmsg) ; exit(EXIT_FAILURE) ; } // end of [if] return ; } /* end of [atspre_assert_errmsg] */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, ats_crash_int) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 1553(line=40, offs=1) -- 1599(line=41, offs=37) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 1758(line=48, offs=1) -- 1793(line=48, offs=36) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint_prfck () { /* local vardec */ // ATSlocal_void (tmp1) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint) ; return /* (tmp1) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 1921(line=56, offs=1) -- 1976(line=56, offs=56) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_prfck () { /* local vardec */ // ATSlocal_void (tmp2) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r) ; return /* (tmp2) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 1977(line=57, offs=1) -- 2032(line=57, offs=56) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () { /* local vardec */ // ATSlocal_void (tmp3) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w) ; return /* (tmp3) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 2033(line=58, offs=1) -- 2091(line=58, offs=59) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw_prfck () { /* local vardec */ // ATSlocal_void (tmp4) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw) ; return /* (tmp4) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 2116(line=62, offs=1) -- 2201(line=63, offs=50) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone_prfck () { /* local vardec */ // ATSlocal_void (tmp5) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone) ; return /* (tmp5) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 2202(line=64, offs=1) -- 2277(line=64, offs=76) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome_prfck () { /* local vardec */ // ATSlocal_void (tmp6) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome) ; return /* (tmp6) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome_prfck] */ #endif /* _ATS_PROOFCHECK */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 2300(line=68, offs=1) -- 2372(line=68, offs=73) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () { /* local vardec */ // ATSlocal_void (tmp7) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim) ; return /* (tmp7) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck] */ #endif /* _ATS_PROOFCHECK */ /* // /home/hwxi/research/Anairiats/prelude/DATS/basics.dats: 2578(line=85, offs=7) -- 2734(line=93, offs=2) */ ATSglobaldec() ats_void_type ats_crash () { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_ats_crash: tmp9 = ats_crash_int () ; /* tmp8 = */ ats_exit (tmp9) ; return /* (tmp8) */ ; } /* end of [ats_crash] */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__staload_flag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__false_elim_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__verify_constraint_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_r_r_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_w_w_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__file_mode_lte_rw_rw_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unsome_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__option_v_unnone_prfck () ; ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_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 [DATS_basics_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_pointer_dats.c0000664000175000017500000000720012655455557021504 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ 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) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/pointer.dats: 1720(line=52, offs=1) -- 1771(line=52, offs=52) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__ptr_is_gtez_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__ptr_is_gtez) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__ptr_is_gtez) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__ptr_is_gtez_prfck] */ #endif /* _ATS_PROOFCHECK */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2pointer_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_pointer_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_list_vt_dats.c0000664000175000017500000001406412655455557021516 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/CATS/stdlib.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, 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_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ; 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, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK 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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/list_vt.dats: 1743(line=51, offs=1) -- 1869(line=54, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck] */ #endif /* _ATS_PROOFCHECK */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_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 () ; #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 [DATS_list_vt_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_float_dats.c0000664000175000017500000002240712655455557021137 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_float_type, atspre_mul_float_float) (ats_float_type, ats_float_type) ; ATSextern_fun(ats_double_type, atspre_mul_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_ldouble_type, atspre_mul_ldouble_ldouble) (ats_ldouble_type, ats_ldouble_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (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_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_float_type loop_1 (ats_float_type arg0, ats_int_type arg1, ats_float_type arg2) ; static ats_double_type loop_3 (ats_double_type arg0, ats_int_type arg1, ats_double_type arg2) ; static ats_ldouble_type loop_5 (ats_ldouble_type arg0, ats_int_type arg1, ats_ldouble_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 1748(line=50, offs=7) -- 2031(line=59, offs=6) */ ATSstaticdec() ats_float_type loop_1 (ats_float_type arg0, ats_int_type arg1, ats_float_type arg2) { /* local vardec */ ATSlocal (ats_float_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_float_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_float_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; __ats_lab_loop_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp2 = atspre_igte (arg1, 2) ; if (!tmp2) { goto __ats_lab_1_1 ; } tmp3 = atspre_idiv (arg1, 2) ; tmp4 = atspre_mul_float_float (arg0, arg0) ; tmp6 = atspre_iadd (tmp3, tmp3) ; tmp5 = atspre_igt (arg1, tmp6) ; if (tmp5) { tmp7 = atspre_mul_float_float (arg0, arg2) ; arg0 = tmp4 ; arg1 = tmp3 ; arg2 = tmp7 ; goto __ats_lab_loop_1 ; // tail call } else { arg0 = tmp4 ; arg1 = tmp3 ; arg2 = arg2 ; goto __ats_lab_loop_1 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp8 = atspre_igte (arg1, 1) ; if (!tmp8) { goto __ats_lab_2_1 ; } tmp1 = atspre_mul_float_float (arg0, arg2) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp1 = arg2 ; break ; } while (0) ; return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 1709(line=48, offs=26) -- 2077(line=62, offs=4) */ ATSglobaldec() ats_float_type ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_float_int1 (ats_float_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_float_type, tmp0) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_float_int1: tmp0 = loop_1 (arg0, arg1, 1.0) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_float_int1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 2173(line=67, offs=7) -- 2456(line=76, offs=6) */ ATSstaticdec() ats_double_type loop_3 (ats_double_type arg0, ats_int_type arg1, ats_double_type arg2) { /* local vardec */ ATSlocal (ats_double_type, tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_double_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_double_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; __ats_lab_loop_3: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp11 = atspre_igte (arg1, 2) ; if (!tmp11) { goto __ats_lab_4_1 ; } tmp12 = atspre_idiv (arg1, 2) ; tmp13 = atspre_mul_double_double (arg0, arg0) ; tmp15 = atspre_iadd (tmp12, tmp12) ; tmp14 = atspre_igt (arg1, tmp15) ; if (tmp14) { tmp16 = atspre_mul_double_double (arg0, arg2) ; arg0 = tmp13 ; arg1 = tmp12 ; arg2 = tmp16 ; goto __ats_lab_loop_3 ; // tail call } else { arg0 = tmp13 ; arg1 = tmp12 ; arg2 = arg2 ; goto __ats_lab_loop_3 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp17 = atspre_igte (arg1, 1) ; if (!tmp17) { goto __ats_lab_5_1 ; } tmp10 = atspre_mul_double_double (arg0, arg2) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp10 = arg2 ; break ; } while (0) ; return (tmp10) ; } /* end of [loop_3] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 2133(line=65, offs=27) -- 2502(line=79, offs=4) */ ATSglobaldec() ats_double_type ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_double_int1 (ats_double_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_double_type, tmp9) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_double_int1: tmp9 = loop_3 (arg0, arg1, 1.0) ; return (tmp9) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_double_int1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 2601(line=84, offs=7) -- 2884(line=93, offs=6) */ ATSstaticdec() ats_ldouble_type loop_5 (ats_ldouble_type arg0, ats_int_type arg1, ats_ldouble_type arg2) { /* local vardec */ ATSlocal (ats_ldouble_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ldouble_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_ldouble_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; __ats_lab_loop_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp20 = atspre_igte (arg1, 2) ; if (!tmp20) { goto __ats_lab_7_1 ; } tmp21 = atspre_idiv (arg1, 2) ; tmp22 = atspre_mul_ldouble_ldouble (arg0, arg0) ; tmp24 = atspre_iadd (tmp21, tmp21) ; tmp23 = atspre_igt (arg1, tmp24) ; if (tmp23) { tmp25 = atspre_mul_ldouble_ldouble (arg0, arg2) ; arg0 = tmp22 ; arg1 = tmp21 ; arg2 = tmp25 ; goto __ats_lab_loop_5 ; // tail call } else { arg0 = tmp22 ; arg1 = tmp21 ; arg2 = arg2 ; goto __ats_lab_loop_5 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp26 = atspre_igte (arg1, 1) ; if (!tmp26) { goto __ats_lab_8_1 ; } tmp19 = atspre_mul_ldouble_ldouble (arg0, arg2) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp19 = arg2 ; break ; } while (0) ; return (tmp19) ; } /* end of [loop_5] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/float.dats: 2560(line=82, offs=28) -- 2930(line=96, offs=4) */ ATSglobaldec() ats_ldouble_type ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_ldouble_int1 (ats_ldouble_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ldouble_type, tmp18) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_ldouble_int1: tmp18 = loop_5 (arg0, arg1, 1.0) ; return (tmp18) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__pow_ldouble_int1] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2float_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_float_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/ats_main_prelude_dats.c0000664000175000017500000001101012655455557022516 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/ats_main_prelude.dats: 1642(line=45, offs=14) -- 3127(line=106, offs=4) */ ATSglobaldec() ats_void_type mainats_prelude () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_mainats_prelude: ATS_2d0_2e2_2e12_2prelude_2DATS_2basics_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2char_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2float_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2pointer_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2string_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list0_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option_vt_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2option0_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2array0_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__dynload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__dynload () ; return /* (tmp0) */ ; } /* end of [mainats_prelude] */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__staload_flag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2ats_main_prelude_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [ats_main_prelude_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_unsafe_dats.c0000664000175000017500000000561412655455557021314 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_unsafe_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_reference_dats.c0000664000175000017500000000717512655455557021775 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/reference.dats: 2385(line=85, offs=7) -- 2462(line=87, offs=4) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2reference_2esats__ref_app_fun (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2reference_2esats__ref_app_fun: tmp1 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; /* tmp0 = */ ((ats_void_type(*)(ats_ref_type))arg1) (tmp1) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2reference_2esats__ref_app_fun] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2reference_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2reference_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_reference_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_bool_dats.c0000664000175000017500000000560112655455557020762 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2bool_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2bool_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2bool_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_bool_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_ptrarr_dats.c0000664000175000017500000000567712655455557021356 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ ats_size_type atspre_ptrarr_size (ats_ptr_type p0) { char **p = (char**)p0 ; size_t i = 0 ; for (i = 0; *p != (char*)0; i += 1) p += 1 ; return i ; } // end of [atspre_ptrarr_size] /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK /* empty */ #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__staload_flag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2ptrarr_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_ptrarr_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_lazy_vt_dats.c0000664000175000017500000000710612655455557021521 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_cloptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, ats_lazy_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__list_vt_of_lazy_vt_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2lazy_vt_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2lazy_vt_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_vt_2edats__list_vt_of_lazy_vt_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 [DATS_lazy_vt_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_list_dats.c0000664000175000017500000002370512655455557021007 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lte_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_bool_type, atspre_igt) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ; /* 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_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lcons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lnil_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ #ifdef _ATS_PROOFCHECK /* // /home/hwxi/research/Anairiats/prelude/DATS/list.dats: 1801(line=57, offs=1) -- 1896(line=59, offs=52) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () { /* local vardec */ // ATSlocal_void (tmp0) ; ats_proofcheck_beg_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative) ; ats_proofcheck_end_mac(ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative) ; return /* (tmp0) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck] */ #endif /* _ATS_PROOFCHECK */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lcons_0.tag = 0 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__lnil_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2list_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_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 () ; #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 [DATS_list_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/0000775000175000017500000000000012655455557016565 5ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/integer_fixed.cats0000664000175000017500000006306712655455557022271 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_INTEGER_FIXED_CATS #define ATS_PRELUDE_INTEGER_FIXED_CATS /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ extern ats_void_type ats_exit_errmsg (ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ /* signed and unsigned integers of fixed sizes */ /* ****** ****** */ // signed integer of size 8bit ATSinline() ats_int8_type atspre_int8_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_int8 (ats_int8_type i) { return i ; } // ------ ------ ATSinline() ats_int8_type atspre_abs_int8 (ats_int8_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_int8_type atspre_neg_int8 (ats_int8_type i) { return (-i) ; } ATSinline() ats_int8_type atspre_succ_int8 (ats_int8_type i) { return (i + 1) ; } ATSinline() ats_int8_type atspre_pred_int8 (ats_int8_type i) { return (i - 1) ; } ATSinline() ats_int8_type atspre_add_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 + i2) ; } ATSinline() ats_int8_type atspre_sub_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 - i2) ; } ATSinline() ats_int8_type atspre_mul_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 * i2) ; } ATSinline() ats_int8_type atspre_div_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 / i2) ; } ATSinline() ats_int8_type atspre_mod_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_int8_int8 (ats_int8_type i1, ats_int8_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_int8_type atspre_max_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_int8_type atspre_min_int8_int8 (ats_int8_type i1, ats_int8_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_int8 (ats_ptr_type out, ats_int8_type i) { int n = fprintf ((FILE*)out, "%hhd", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_int8] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_int8 (ats_int8_type i) { // atspre_stdout_view_get () ; atspre_fprint_int8 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_int8 (ats_int8_type i) { atspre_stderr_view_get () ; atspre_fprint_int8 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ // unsigned integer of size 8bit ATSinline() ats_uint8_type atspre_uint8_of_uint (ats_uint_type i) { return i ; } ATSinline() ats_uint_type atspre_uint_of_uint8 (ats_uint8_type i) { return i ; } // ------ ------ ATSinline() ats_uint8_type atspre_succ_uint8 (ats_uint8_type i) { return (i + 1) ; } ATSinline() ats_uint8_type atspre_pred_uint8 (ats_uint8_type i) { return (i - 1) ; } ATSinline() ats_uint8_type atspre_add_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 + i2) ; } ATSinline() ats_uint8_type atspre_sub_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 - i2) ; } ATSinline() ats_uint8_type atspre_mul_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 * i2) ; } ATSinline() ats_uint8_type atspre_div_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 / i2) ; } ATSinline() ats_uint8_type atspre_mod_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 % i2) ; } // ------ ------ // comparison operations ATSinline() ats_bool_type atspre_lt_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_uint8_type atspre_max_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_uint8_type atspre_min_uint8_uint8 (ats_uint8_type i1, ats_uint8_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_uint8 (ats_ptr_type out, ats_uint8_type i) { int n = fprintf ((FILE*)out, "%hhu", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uint8] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_uint8 (ats_uint8_type i) { // atspre_stdout_view_get () ; atspre_fprint_uint8 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_uint8 (ats_uint8_type i) { atspre_stderr_view_get () ; atspre_fprint_uint8 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ // signed integer of size 16bit ATSinline() ats_int16_type atspre_int16_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_int16 (ats_int16_type i) { return i ; } // ------ ------ ATSinline() ats_int16_type atspre_abs_int16 (ats_int16_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_int16_type atspre_neg_int16 (ats_int16_type i) { return (-i) ; } ATSinline() ats_int16_type atspre_succ_int16 (ats_int16_type i) { return (i + 1) ; } ATSinline() ats_int16_type atspre_pred_int16 (ats_int16_type i) { return (i - 1) ; } ATSinline() ats_int16_type atspre_add_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 + i2) ; } ATSinline() ats_int16_type atspre_sub_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 - i2) ; } ATSinline() ats_int16_type atspre_mul_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 * i2) ; } ATSinline() ats_int16_type atspre_div_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 / i2) ; } ATSinline() ats_int16_type atspre_mod_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_int16_int16 (ats_int16_type i1, ats_int16_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_int16_type atspre_max_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_int16_type atspre_min_int16_int16 (ats_int16_type i1, ats_int16_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_int16 (ats_ptr_type out, ats_int16_type i) { int n = fprintf ((FILE*)out, "%d", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_int16] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_int16 (ats_int16_type i) { // atspre_stdout_view_get () ; atspre_fprint_int16 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_int16 (ats_int16_type i) { atspre_stderr_view_get () ; atspre_fprint_int16 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ // // unsigned integer of size 16bit // ATSinline() ats_uint16_type atspre_uint16_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_uint16 (ats_uint16_type i) { return i ; } ATSinline() ats_uint16_type atspre_uint16_of_uint (ats_uint_type i) { return i ; } ATSinline() ats_uint_type atspre_uint_of_uint16 (ats_uint16_type i) { return i ; } // ------ ------ ATSinline() ats_uint16_type atspre_succ_uint16 (ats_uint16_type i) { return (i + 1) ; } ATSinline() ats_uint16_type atspre_pred_uint16 (ats_uint16_type i) { return (i - 1) ; } ATSinline() ats_uint16_type atspre_add_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 + i2) ; } ATSinline() ats_uint16_type atspre_sub_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 - i2) ; } ATSinline() ats_uint16_type atspre_mul_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 * i2) ; } ATSinline() ats_uint16_type atspre_div_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 / i2) ; } ATSinline() ats_uint16_type atspre_mod_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 % i2) ; } // ------ ------ // comparison operations ATSinline() ats_bool_type atspre_lt_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_uint16_type atspre_max_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_uint16_type atspre_min_uint16_uint16 (ats_uint16_type i1, ats_uint16_type i2) { return (i1 <= i2) ? i1 : i2 ; } // // print functions // ATSinline() ats_void_type atspre_fprint_uint16 (ats_ptr_type out, ats_uint16_type i) { int n = fprintf ((FILE*)out, "%hu", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uint16] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_uint16 (ats_uint16_type i) { // atspre_stdout_view_get () ; atspre_fprint_uint16 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_uint16 (ats_uint16_type i) { atspre_stderr_view_get () ; atspre_fprint_uint16 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ // signed integer of size 32bit ATSinline() ats_int32_type atspre_int32_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_int32 (ats_int32_type i) { return i ; } // ------ ------ ATSinline() ats_int32_type atspre_abs_int32 (ats_int32_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_int32_type atspre_neg_int32 (ats_int32_type i) { return (-i) ; } ATSinline() ats_int32_type atspre_succ_int32 (ats_int32_type i) { return (i + 1) ; } ATSinline() ats_int32_type atspre_pred_int32 (ats_int32_type i) { return (i - 1) ; } ATSinline() ats_int32_type atspre_add_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 + i2) ; } ATSinline() ats_int32_type atspre_sub_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 - i2) ; } ATSinline() ats_int32_type atspre_mul_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 * i2) ; } ATSinline() ats_int32_type atspre_div_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 / i2) ; } ATSinline() ats_int32_type atspre_mod_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 != i2) ; } // compare, max, int ATSinline() ats_int_type atspre_compare_int32_int32 (ats_int32_type i1, ats_int32_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_int32_type atspre_max_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_int32_type atspre_min_int32_int32 (ats_int32_type i1, ats_int32_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_int32 (ats_ptr_type out, ats_int32_type i) { int n ; n = fprintf ((FILE*)out, "%li", (ats_lint_type)i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_int32] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_int32 (ats_int32_type i) { // atspre_stdout_view_get () ; atspre_fprint_int32 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_int32 (ats_int32_type i) { atspre_stderr_view_get () ; atspre_fprint_int32 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } ATSinline() ats_ptr_type atspre_tostrptr_int32 (ats_int32_type i) { return atspre_tostrptr_llint (i) ; } // end of [atspre_tostrptr_int32] /* ****** ****** */ // // unsigned integer of size 32bit // ATSinline() ats_uint32_type atspre_uint32_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_uint32 (ats_uint32_type i) { return i ; } ATSinline() ats_uint32_type atspre_uint32_of_uint (ats_uint_type i) { return i ; } ATSinline() ats_uint_type atspre_uint_of_uint32 (ats_uint32_type i) { return i ; } // ------ ------ ATSinline() ats_uint32_type atspre_succ_uint32 (ats_uint32_type i) { return (i + 1) ; } ATSinline() ats_uint32_type atspre_pred_uint32 (ats_uint32_type i) { return (i - 1) ; } ATSinline() ats_uint32_type atspre_add_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 + i2) ; } ATSinline() ats_uint32_type atspre_sub_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 - i2) ; } ATSinline() ats_uint32_type atspre_mul_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 * i2) ; } ATSinline() ats_uint32_type atspre_div_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 / i2) ; } ATSinline() ats_uint32_type atspre_mod_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 % i2) ; } // ------ ------ // comparison operations ATSinline() ats_bool_type atspre_lt_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_uint32_type atspre_max_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_uint32_type atspre_min_uint32_uint32 (ats_uint32_type i1, ats_uint32_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_uint32 (ats_ptr_type out, ats_uint32_type i) { int n = fprintf ((FILE*)out, "%lu", (ats_ulint_type)i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uint32] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_uint32 (ats_uint32_type i) { // atspre_stdout_view_get () ; atspre_fprint_uint32 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_uint32 (ats_uint32_type i) { atspre_stderr_view_get () ; atspre_fprint_uint32 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ // signed integer of size 64bit ATSinline() ats_int64_type atspre_int64_of_int (ats_int_type i) { return (i) ; } ATSinline() ats_int64_type atspre_int64_of_lint (ats_lint_type i) { return (i) ; } ATSinline() ats_int64_type atspre_int64_of_llint (ats_llint_type i) { return (i) ; } ATSinline() ats_int_type atspre_int_of_int64 (ats_int64_type i) { return i ; } // ------ ------ ATSinline() ats_int64_type atspre_abs_int64 (ats_int64_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_int64_type atspre_neg_int64 (ats_int64_type i) { return (-i) ; } ATSinline() ats_int64_type atspre_succ_int64 (ats_int64_type i) { return (i + 1) ; } ATSinline() ats_int64_type atspre_pred_int64 (ats_int64_type i) { return (i - 1) ; } ATSinline() ats_int64_type atspre_add_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 + i2) ; } ATSinline() ats_int64_type atspre_sub_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 - i2) ; } ATSinline() ats_int64_type atspre_mul_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 * i2) ; } ATSinline() ats_int64_type atspre_div_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 / i2) ; } ATSinline() ats_int64_type atspre_mod_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_int64_int64 (ats_int64_type i1, ats_int64_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_int64_type atspre_max_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_int64_type atspre_min_int64_int64 (ats_int64_type i1, ats_int64_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_int64 (ats_ptr_type out, ats_int64_type i) { int n ; n = fprintf ((FILE*)out, "%lli", (ats_llint_type)i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_int64] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_int64 (ats_int64_type i) { // atspre_stdout_view_get () ; atspre_fprint_int64 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_int64 (ats_int64_type i) { atspre_stderr_view_get () ; atspre_fprint_int64 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } ATSinline() ats_ptr_type atspre_tostrptr_int64 (ats_int64_type i) { return atspre_tostrptr_llint (i) ; } // end of [atspre_tostrptr_int64] /* ****** ****** */ // unsigned integer of size 64bit ATSinline() ats_uint64_type atspre_uint64_of_int1 (ats_int_type i) { return i ; } ATSinline() ats_uint64_type atspre_uint64_of_uint (ats_uint_type i) { return i ; } ATSinline() ats_uint64_type atspre_uint64_of_ulint (ats_ulint_type i) { return i ; } ATSinline() ats_uint64_type atspre_uint64_of_ullint (ats_ullint_type i) { return i ; } ATSinline() ats_uint_type atspre_uint_of_uint64 (ats_uint64_type i) { return i ; } /* ****** ****** */ ATSinline() ats_uint64_type atspre_succ_uint64 (ats_uint64_type i) { return (i + 1) ; } ATSinline() ats_uint64_type atspre_pred_uint64 (ats_uint64_type i) { return (i - 1) ; } /* ****** ****** */ ATSinline() ats_uint64_type atspre_add_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 + i2) ; } ATSinline() ats_uint64_type atspre_sub_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 - i2) ; } ATSinline() ats_uint64_type atspre_mul_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 * i2) ; } ATSinline() ats_uint64_type atspre_div_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 / i2) ; } ATSinline() ats_uint64_type atspre_mod_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 % i2) ; } /* ****** ****** */ // comparison operations ATSinline() ats_bool_type atspre_lt_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 != i2) ; } // compare, max, min ATSinline() ats_int_type atspre_compare_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_uint64_type atspre_max_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_uint64_type atspre_min_uint64_uint64 (ats_uint64_type i1, ats_uint64_type i2) { return (i1 <= i2) ? i1 : i2 ; } // print functions ATSinline() ats_void_type atspre_fprint_uint64 (ats_ptr_type out, ats_uint64_type u) { int n = fprintf ((FILE*)out, "%llu", (ats_ullint_type)u) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uint64] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_uint64 (ats_uint64_type i) { // atspre_stdout_view_get () ; atspre_fprint_uint64 ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_uint64 (ats_uint64_type i) { atspre_stderr_view_get () ; atspre_fprint_uint64 ((ats_ptr_type)stderr, i) ; atspre_stderr_view_set () ; return ; } /* ****** ****** */ #endif /* ATS_PRELUDE_INTEGER_FIXED_CATS */ /* end of [integer_fixed.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/lazy_vt.cats0000664000175000017500000000437312655455557021140 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // author of the file: Hongwei Xi (hwxi AT cs DOT bu DOT edu) /* ****** ****** */ #ifndef ATS_PRELUDE_LAZY_VT_CATS #define ATS_PRELUDE_LAZY_VT_CATS /* ****** ****** */ extern void free (void*) ; // see [stdlib.h] /* ****** ****** */ #define ats_instr_move_lazy_ldelay_mac(tmp, hit, vp_clo) \ do { tmp = (vp_clo) ; } while (0) /* end of [do ... while ...] */ #define ats_instr_move_lazy_lforce_mac(tmp, hit, vp_lazy) do { \ tmp = \ ((hit (*)(ats_ptr_type, ats_bool_type))ats_closure_fun(vp_lazy))(vp_lazy, ats_true_bool) ; \ ATS_FREE (vp_lazy) ; \ } while (0) /* end of [do ... while ...] */ /* ****** ****** */ /* ** HX: [lazy_vt_free] is declared in $ATSHOME/prelude/basics_dyn.sats */ ATSinline() ats_void_type ats_lazy_vt_free (ats_ptr_type vp_lazy) { ((void (*)(ats_ptr_type, ats_bool_type))ats_closure_fun(vp_lazy))(vp_lazy, ats_false_bool) ; ATS_FREE (vp_lazy) ; return ; } /* ats_lazy_vt_free */ /* ****** ****** */ #endif /* ATS_PRELUDE_LAZY_VT_CATS */ /* end of [lazy_vt.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/printf.cats0000664000175000017500000000611412655455557020745 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_PRINTF_CATS #define ATS_PRELUDE_PRINTF_CATS /* ****** ****** */ #include #include /* ****** ****** */ extern ats_void_type ats_exit_errmsg (ats_int_type n, ats_ptr_type msg) ; extern ats_void_type atspre_stdout_view_get() ; extern ats_void_type atspre_stdout_view_set() ; /* ****** ****** */ static ats_int_type atspre_fprintf_err (ats_ptr_type file, ats_ptr_type fmt, ...) { int n ; va_list ap ; va_start(ap, fmt) ; n = vfprintf((FILE *)file, (char *)fmt, ap) ; va_end(ap) ; return n ; } // end of [atspre_fprintf_err] static ats_void_type atspre_fprintf_exn ( ats_ptr_type file, ats_ptr_type fmt, ... ) { int n ; va_list ap ; va_start(ap, fmt) ; n = vfprintf((FILE *)file, (char *)fmt, ap) ; va_end(ap) ; if (n < 0) { ats_exit_errmsg(n, (ats_ptr_type)"exit(ATS): [fprintf] failed\n") ; } // end of [if] return ; } // end of [atspre_fprintf_exn] /* ****** ****** */ static ats_void_type atspre_printf_exn ( ats_ptr_type fmt, ... ) { int n ; va_list ap ; atspre_stdout_view_get() ; va_start(ap, fmt) ; n = vprintf((char*)fmt, ap) ; va_end(ap) ; atspre_stdout_view_set() ; if (n < 0) { ats_exit_errmsg(n, (ats_ptr_type)"exit(ATS): [printf] failed\n") ; } // end of [if] return ; } // end of [atspre_printf_exn] static ats_void_type atspre_prerrf_exn ( ats_ptr_type fmt, ... ) { int n ; va_list ap ; atspre_stderr_view_get() ; va_start(ap, fmt) ; n = vfprintf(stderr, (char *)fmt, ap) ; va_end(ap) ; atspre_stderr_view_set() ; if (n < 0) { ats_exit_errmsg(n, (ats_ptr_type)"exit(ATS): [prerrf] failed\n") ; } // end of [if] return ; } // end of [atspre_prerrf_exn] /* ****** ****** */ #endif /* ATS_PRELUDE_PRINTF_CATS */ /* end of [printf.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/byte.cats0000664000175000017500000001307112655455557020406 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_BYTE_CATS #define ATS_PRELUDE_BYTE_CATS /* ****** ****** */ #include /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ extern ats_void_type ats_exit_errmsg (ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ /* // // HX: these are now casting functions: // ATSinline() ats_byte_type atspre_byte_of_char (ats_char_type c) { return c ; } ATSinline() ats_char_type atspre_char_of_byte (ats_byte_type b) { return b ; } */ /* ****** ****** */ ATSinline() ats_byte_type atspre_byte_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_byte (ats_byte_type b) { return b ; } /* ****** ****** */ ATSinline() ats_byte_type atspre_byte_of_uint (ats_uint_type u) { return u ; } ATSinline() ats_uint_type atspre_uint_of_byte (ats_byte_type b) { return b ; } /* ****** ****** */ // arithmetic operations ATSinline() ats_byte_type atspre_succ_byte(ats_byte_type i) { return (i + 1) ; } ATSinline() ats_byte_type atspre_pred_byte(ats_byte_type i) { return (i - 1) ; } ATSinline() ats_byte_type atspre_add_byte_byte(ats_byte_type i1, ats_byte_type i2) { return (i1 + i2) ; } ATSinline() ats_byte_type atspre_sub_byte_byte(ats_byte_type i1, ats_byte_type i2) { return (i1 - i2) ; } ATSinline() ats_byte_type atspre_mul_byte_byte(ats_byte_type i1, ats_byte_type i2) { return (i1 * i2) ; } ATSinline() ats_byte_type atspre_div_byte_byte(ats_byte_type i1, ats_byte_type i2) { return (i1 / i2) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_byte_byte(ats_byte_type b1, ats_byte_type b2) { return (b1 < b2) ; } ATSinline() ats_bool_type atspre_lte_byte_byte(ats_byte_type b1, ats_byte_type b2) { return (b1 <= b2) ; } ATSinline() ats_bool_type atspre_gt_byte_byte(ats_byte_type b1, ats_byte_type b2) { return (b1 > b2) ; } ATSinline() ats_bool_type atspre_gte_byte_byte(ats_byte_type b1, ats_byte_type b2) { return (b1 >= b2) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_eq_byte_byte (ats_byte_type b1, ats_byte_type b2) { return (b1 == b2) ; } // end of [atspre_eq_byte_byte] ATSinline() ats_bool_type atspre_neq_byte_byte (ats_byte_type b1, ats_byte_type b2) { return (b1 != b2) ; } // end of [atspre_neq_byte_byte] // // bitwise operations // ATSinline() ats_byte_type atspre_lnot_byte(ats_byte_type b) { return (~b) ; } ATSinline() ats_byte_type atspre_land_byte_byte (ats_byte_type b1, ats_byte_type b2) { return (b1 & b2) ; } // end of [atspre_land_byte_byte] ATSinline() ats_byte_type atspre_lor_byte_byte (ats_byte_type b1, ats_byte_type b2) { return (b1 | b2) ; } // end of [atspre_lor_byte_byte] ATSinline() ats_byte_type atspre_lxor_byte_byte (ats_byte_type b1, ats_byte_type b2) { return (b1 ^ b2) ; } // end of [atspre_lxor_byte_byte] ATSinline() ats_byte_type atspre_lsl_byte_int1 (ats_byte_type b, ats_int_type n) { return (b << n) ; } // end of [atspre_lsl_byte_int1] ATSinline() ats_byte_type atspre_lsr_byte_int1 (ats_byte_type b, ats_int_type n) { return (b >> n) ; } // end of [atspre_lsr_byte_int1] // // print functions // ATSinline() ats_void_type atspre_fprint_byte ( const ats_ptr_type out, const ats_byte_type b ) { /* int n = fputc (b, (FILE *)out) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"Exit: [fprint_byte] failed.\n") ; } // end of [if] */ (void)fputc (b, (FILE *)out) ; return ; } // end of [atspre_fprint_byte] ATSinline() ats_void_type atspre_print_byte (const ats_byte_type c) { // atspre_stdout_view_get () ; atspre_fprint_byte((ats_ptr_type)stdout, c) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_byte] ATSinline() ats_void_type atspre_prerr_byte (const ats_byte_type c) { // atspre_stderr_view_get () ; atspre_fprint_byte((ats_ptr_type)stderr, c) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_byte] /* ****** ****** */ #define atspre_lt_byte1_byte1 atspre_lt_byte_byte #define atspre_lte_byte1_byte1 atspre_lte_byte_byte #define atspre_gt_byte1_byte1 atspre_gt_byte_byte #define atspre_gte_byte1_byte1 atspre_gte_byte_byte #define atspre_eq_byte1_byte1 atspre_eq_byte_byte #define atspre_neq_byte1_byte1 atspre_neq_byte_byte /* ****** ****** */ #endif /* ATS_PRELUDE_BYTE_CATS */ /* end of [byte.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/string.cats0000664000175000017500000002461212655455557020754 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_STRING_CATS #define ATS_PRELUDE_STRING_CATS /* ****** ****** */ #include /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ ATSinline() ats_void_type atspre_strbuf_bytes_trans (ats_ptr_type p) { return ; } /* end of [atspre_strbuf_bytes_trans] */ ATSinline() ats_void_type atspre_bytes_strbuf_trans (ats_ptr_type p, ats_size_type n) { ((char*)p)[n] = '\000' ; return ; } /* end of [atspre_bytes_strbuf_trans] */ /* ****** ****** */ ATSinline() ats_void_type atspre_strbufptr_free (ats_ptr_type base) { ATS_FREE(base); return ; } // end of [atspre_strbufptr_free] /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; return (i < 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_lt_string_string] */ ATSinline() ats_bool_type atspre_lte_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; return (i <= 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_lte_string_string] */ ATSinline() ats_bool_type atspre_gt_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; return (i > 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_gt_string_string] */ ATSinline() ats_bool_type atspre_gte_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; return (i >= 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_gte_string_string] */ ATSinline() ats_bool_type atspre_eq_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; /* fprintf (stdout, "ats_eq_string_string: s1 = %s and s2 = %s\n", s1, s2) ; fprintf (stdout, "ats_eq_string_string: i = %i\n", i) ; */ return (i == 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_eq_string_string] */ ATSinline() ats_bool_type atspre_neq_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; return (i != 0 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_neq_string_string] */ ATSinline() ats_int_type atspre_compare_string_string (const ats_ptr_type s1, const ats_ptr_type s2) { int i = strcmp((char*)s1, (char*)s2) ; if (i < 0) return -1 ; if (i > 0) return 1 ; return 0 ; } /* end of [atspre_compare_string_string] */ // print functions ATSinline() ats_void_type atspre_fprint_string (const ats_ptr_type out, const ats_ptr_type s) { int n = fprintf ((FILE *)out, "%s", (char*)s) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_string] failed.\n") ; } // end of [if] return ; } /* end of [atspre_fprint_string] */ ATSinline() ats_void_type atspre_print_string (const ats_ptr_type s) { // atspre_stdout_view_get() ; atspre_fprint_string((ats_ptr_type)stdout, s) ; // atspre_stdout_view_set() ; return ; } /* end of [atspre_print_string] */ ATSinline() ats_void_type atspre_prerr_string (const ats_ptr_type s) { // atspre_stderr_view_get() ; atspre_fprint_string((ats_ptr_type)stderr, s) ; // atspre_stderr_view_set() ; return ; } /* end of [atspre_prerr_string] */ /* ****** ****** */ ATSinline() ats_char_type atspre_string_get_char_at (const ats_ptr_type s, ats_size_type offset) { return *((char*)s + offset) ; } /* end of [atspre_string_get_char_at] */ ATSinline() ats_char_type atspre_string_get_char_at__intsz ( const ats_ptr_type s, ats_int_type offset ) { return *((char*)s + offset) ; } /* end of [atspre_string_get_char_at__intsz] */ ATSinline() ats_void_type atspre_strbuf_set_char_at ( ats_ptr_type s, ats_size_type offset, ats_char_type c ) { /* fprintf (stdout, "atspre_strbuf_set_char_at: s = %s\n", s); fprintf (stdout, "atspre_strbuf_set_char_at: offset = %li\n", (unsigned long)offset); fprintf (stdout, "atspre_strbuf_set_char_at: c = %c\n", c); */ *((char*)s + offset) = c ; return ; } /* end of [atspre_strbuf_set_char_at] */ ATSinline() ats_void_type atspre_strbuf_set_char_at__intsz ( ats_ptr_type s, ats_int_type offset, ats_char_type c ) { *((char*)s + offset) = c ; return ; } /* end of [atspre_strbuf_set_char_at__intsz] */ ATSinline() ats_char_type atspre_string_test_char_at ( const ats_ptr_type s, ats_size_type offset ) { return *((char*)s + offset) ; } /* end of [atspre_string_test_char_at] */ ATSinline() ats_char_type atspre_string_test_char_at__intsz ( const ats_ptr_type s, ats_int_type offset ) { return *((char*)s + offset) ; } /* end of [atspre_string_test_char_at__intsz] */ /* ****** ****** */ ATSinline() ats_void_type atspre_strbuf_initialize_substring ( ats_ptr_type p_buf , ats_ptr_type s, ats_size_type st, ats_size_type ln ) { memcpy (p_buf, ((char*)s)+st, ln) ; ((char*)p_buf)[ln] = '\000' ; return ; } // end of [atspre_strbuf_initialize_substring] /* ****** ****** */ ATSinline() ats_ptr_type atspre_string_copy (ats_ptr_type str) { int n ; char *des ; n = strlen((char*)str) ; des = (char*)ATS_MALLOC(n+1) ; des[n] = '\000' ; memcpy(des, str, n) ; return (des) ; } // end of [atspre_string_copy] /* ****** ****** */ ATSinline() ats_ptr_type atspre_string_append (ats_ptr_type s1, ats_ptr_type s2) { int n1, n2 ; char *des ; n1 = strlen((char*)s1) ; n2 = strlen((char*)s2) ; des = (char*)ATS_MALLOC(n1+n2+1) ; des[n1+n2] = '\000' ; memcpy(des, s1, n1) ; memcpy (des+n1, s2, n2) ; return (des) ; } // end of [atspre_string_append] /* ****** ****** */ ATSinline() ats_bool_type atspre_string_contains (ats_ptr_type s0, ats_char_type c) { char *s = strchr((char*)s0, (char)c) ; return (s != (char*)0 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_string_contains] /* ****** ****** */ ATSinline() ats_size_type atspre_string_length (ats_ptr_type s) { return (strlen((char*)s)) ; } // end of [atspre_string_length] /* ****** ****** */ ATSinline() ats_bool_type atspre_string_is_empty (ats_ptr_type s) { return (*((char*)s) == '\000') ; } // end of [atspre_string_is_empty] ATSinline() ats_bool_type atspre_string_isnot_empty (ats_ptr_type s) { return (*((char*)s) != '\000') ; } // end of [atspre_string_isnot_empty] /* ****** ****** */ ATSinline() ats_bool_type atspre_string_is_atend ( ats_ptr_type s, ats_size_type i ) { return (*((char*)s + i) == '\000' ? ats_true_bool : ats_false_bool) ; } // end of [atspre_string_is_atend] ATSinline() ats_bool_type atspre_string_isnot_atend ( ats_ptr_type s, ats_size_type i ) { return (*((char*)s + i) != '\000' ? ats_true_bool : ats_false_bool) ; } // end of [atspre_string_isnot_atend] /* ****** ****** */ ATSinline() ats_ssize_type atspre_string_index_of_char_from_left (const ats_ptr_type s, const ats_char_type c) { char *res ; res = strchr ((char*)s, c) ; if (res != (char*)0) return (res - (char*)s) ; return (-1) ; } // end of [atspre_string_index_of_char_from_left] ATSinline() ats_ssize_type atspre_string_index_of_char_from_right (const ats_ptr_type s, const ats_char_type c) { char *res ; res = strrchr ((char*)s, c) ; if (res != (char*)0) return (res - (char*)s) ; return (-1) ; } // end of [atspre_string_index_of_char_from_right] /* ****** ****** */ ATSinline() ats_ssize_type atspre_string_index_of_string (const ats_ptr_type s1, const ats_ptr_type s2) { char *res ; res = strstr ((char*)s1, (char*)s2) ; if (res != (char*)0) return (res - (char*)s1) ; return (-1) ; } // end of [atspre_string_index_of_string] /* ****** ****** */ extern ats_ptr_type atspre_string_make_char ( ats_size_type n, const ats_char_type c ) ; // implemented in [prelude/DATS/string.dats] extern ats_ptr_type atspre_string_make_substring ( ats_ptr_type src0, ats_size_type start, ats_size_type len ) ; // implemented in [prelude/DATS/string.dats] /* ****** ****** */ ATSinline() ats_ptr_type atspre_string_singleton (ats_char_type c) { return atspre_string_make_char (1, c) ; } // end of [atspre_string_singleton] /* ****** ****** */ // functions for optional strings static ats_ptr_type atspre_stropt_none = (ats_ptr_type)0 ; ATSinline() ats_bool_type atspre_stropt_is_none (ats_ptr_type opt) { return (opt == (ats_ptr_type)0) ; } // end of [atspre_stropt_is_none] ATSinline() ats_bool_type atspre_stropt_is_some (ats_ptr_type opt) { return (opt != (ats_ptr_type)0) ; } // end of [atspre_stropt_is_some] ATSinline() ats_void_type atspre_fprint_stropt ( ats_ref_type out, ats_ptr_type opt ) { if (!opt) { fprintf ((FILE*)out, "None()") ; return ; } // end of [if] fprintf ((FILE*)out, "Some(%s)", (char*)opt) ; return ; } // end of [atspre_fprint_stropt] /* ****** ****** */ #define atspre_stropt_gc_none() ((ats_ptr_type)0) ATSinline() ats_void_type atspre_stropt_gc_unnone (ats_ptr_type x) { return ; } /* ****** ****** */ #define atspre_strptr_null() ((ats_ptr_type)0) ATSinline() ats_void_type atspre_strptr_free (ats_ptr_type base) { if (base) ATS_FREE (base) ; return ; } // end of [atspre_strptr_free] #define atspre_fprint_strptr atspre_fprint_string /* ****** ****** */ #endif /* ATS_PRELUDE_STRING_CATS */ /* end of [string.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/list.cats0000664000175000017500000000334312655455557020417 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_LIST_CATS #define ATS_PRELUDE_LIST_CATS /* ****** ****** */ ATSinline() ats_ptr_type atspre_list0_of_list1 (ats_ptr_type x) { return x ; } ATSinline() ats_ptr_type atspre_list0_of_list_vt (ats_ptr_type x) { return x ; } ATSinline() ats_ptr_type atspre_list1_of_list0 (ats_ptr_type x) { return x ; } /* ****** ****** */ #endif /* ATS_PRELUDE_LIST_CATS */ /* end of [list.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/basics.cats0000664000175000017500000001637312655455557020717 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_BASICS_CATS #define ATS_PRELUDE_BASICS_CATS /* ****** ****** */ #include #include /* ****** ****** */ #define _ATS_RUNTIME_CHECK #undef _ATS_RUNTIME_CHECK // uncomment it for debugging /* ****** ****** */ /* ** HX-2011-05-06: */ extern ats_empty_type ats_empty_value ; /* ****** ****** */ /* ** HX-2010-02-07: this one is used in many places */ ATSinline() ats_ptr_type atspre_castfn_ptr (ats_ptr_type p) { return p ; } /* ****** ****** */ /* ** HX-2011-02-26: ** this one is used to prevent tail-recursion optimization */ ATSinline() ats_void_type atspre_donothing () { return ; } /* ****** ****** */ ATSinline() ats_void_type atspre_free_null () { return ; } /* ****** ****** */ /* ** HX: cutting the corners? yes. worth it? probably. */ ATSinline() ats_ptr_type atspre_fun_coerce (ats_ptr_type p) { return p ; } ATSinline() ats_ptr_type atspre_clo_coerce (ats_ptr_type p) { return p ; } /* ****** ****** */ ATSinline() ats_ptr_type atspre_cloptr_get_view_ptr (ats_ptr_type p) { return p ; } /* ****** ****** */ ATSinline() ats_void_type atspre_cloptr_free ( ats_ptr_type p ) { ATS_FREE (p) ; return ; } // end of [atspre_cloptr_free] /* ****** ****** */ ATSinline() ats_void_type atspre_vbox_make_view_ptr (ats_ptr_type p) { return ; } ATSinline() ats_void_type atspre_vbox_make_view_ptr_gc (ats_ptr_type p) { return ; } /* ****** ****** */ /* ** HX: various functions for exits */ // implemented in [prelude/DATS/basics.dats] extern ats_void_type ats_exit (const ats_int_type n) ; // end of [ats_exit] // implemented in [prelude/DATS/basics.dats] extern ats_void_type ats_exit_errmsg (const ats_int_type n, const ats_ptr_type msg) ; // end of [ats_exit_errmsg] // implemented in [prelude/DATS/printf.dats] extern ats_void_type atspre_exit_prerrf (ats_int_type code, ats_ptr_type fmt, ...) ; // end of [atspre_exit_prerrf] /* ****** ****** */ // // HX: these will probably be removed in ATS/Postiats // extern int ats_stdin_view_lock ; extern int ats_stdout_view_lock ; extern int ats_stderr_view_lock ; /* ****** ****** */ ATSinline() ats_ptr_type atspre_stdin_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stdin_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdin_get] failed\n") ; } // end of [if] ats_stdin_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return (ats_ptr_type)stdin; } // end of [atspre_stdin_get] ATSinline() ats_void_type atspre_stdin_view_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stdin_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdin_view_get] failed\n") ; } // end of [if] ats_stdin_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stdin_view_get] ATSinline() ats_void_type atspre_stdin_view_set () { #ifdef _ATS_RUNTIME_CHECK if (ats_stdin_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdin_view_set] failed\n") ; } // end of [if] ats_stdin_view_lock = 1 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stdin_view_set] /* ****** ****** */ ATSinline() ats_ptr_type atspre_stdout_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stdout_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdout_get] failed\n") ; } // end of [if] ats_stdout_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return (ats_ptr_type)stdout ; } // end of [atspre_stdout_get] ATSinline() ats_void_type atspre_stdout_view_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stdout_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdout_view_get] failed\n") ; } // end of [if] ats_stdout_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stdout_view_get] ATSinline() ats_void_type atspre_stdout_view_set () { #ifdef _ATS_RUNTIME_CHECK if (ats_stdout_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stdout_view_set] failed\n") ; } // end of [if] ats_stdout_view_lock = 1 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stdout_view_set] /* ****** ****** */ ATSinline() ats_ptr_type atspre_stderr_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stderr_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stderr_get] failed\n") ; } // end of [if] ats_stderr_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return (ats_ptr_type)stderr ; } // end of [atspre_stderr_get] ATSinline() ats_void_type atspre_stderr_view_get () { #ifdef _ATS_RUNTIME_CHECK if (!ats_stderr_view_lock) { ats_exit_errmsg (EXIT_FAILURE, "exit(ATS): [stderr_view_get] failed\n") ; } // end of [if] ats_stderr_view_lock = 0 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stderr_view_get] ATSinline() ats_void_type atspre_stderr_view_set () { #ifdef _ATS_RUNTIME_CHECK if (ats_stderr_view_lock) { ats_exit_errmsg (EXIT_FAILURE, (ats_ptr_type)"exit(ATS): [stderr_view_set] failed\n") ; } // end of [if] ats_stderr_view_lock = 1 ; #endif // end of [_ATS_RUNTIME_CHECK] return ; } // end of [atspre_stderr_view_set] /* ****** ****** */ // // HX: // printing a newline on a given stream also fflushes the buffer // associated with the stream. // ATSinline() ats_void_type atspre_fprint_newline ( const ats_ptr_type out ) { int n1, n2 ; n1 = fprintf((FILE*)out, "\n") ; n2 = fflush((FILE*)out) ; #if(0) // HX: this is too much ... if (n1 + n2 < 0) { ats_exit_errmsg (EXIT_FAILURE, (ats_ptr_type)"exit(ATS): [fprint_newline] failed.\n") ; } // end of [if] #endif // end of [#if(0)] return ; } // end of [atspre_fprint_newline] ATSinline() ats_void_type atspre_print_newline () { atspre_stdout_view_get() ; atspre_fprint_newline((ats_ptr_type)stdout) ; atspre_stdout_view_set() ; return ; } // end of [atspre_print_newline] ATSinline() ats_void_type atspre_prerr_newline () { atspre_stderr_view_get() ; atspre_fprint_newline((ats_ptr_type)stderr) ; atspre_stderr_view_set() ; return ; } // end of [atspre_prerr_newline] /* ****** ****** */ #endif /* ATS_PRELUDE_BASICS_CATS */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/integer_ptr.cats0000664000175000017500000003353212655455557021771 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_INTEGER_PTR_CATS #define ATS_PRELUDE_INTEGER_PTR_CATS /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ // intptr and uintptr typedef ats_ptr_type ats_intptr_type ; typedef ats_ptr_type ats_uintptr_type ; /* ****** ****** */ extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ // // intptr_t: integers of one word size // ATSinline() ats_int_type atspre_int_of_intptr (ats_intptr_type i) { return (ats_int_type)(intptr_t)i ; } // end of [atspre_int_of_intptr] ATSinline() ats_lint_type atspre_lint_of_intptr (ats_intptr_type i) { return (ats_lint_type)(intptr_t)i ; } // end of [atspre_lint_of_intptr] ATSinline() ats_intptr_type atspre_intptr_of_int (ats_int_type i) { return (ats_intptr_type)(intptr_t)i ; } // end of [atspre_intptr_of_int] ATSinline() ats_intptr_type atspre_intptr_of_lint (ats_lint_type i) { return (ats_intptr_type)(intptr_t)i ; } // end of [atspre_intptr_of_lint] /* ****** ****** */ ATSinline() ats_intptr_type atspre_abs_intptr (ats_intptr_type i) { return ((intptr_t)i >= 0 ? i : (ats_intptr_type)(-(intptr_t)i)) ; } // end of [atspre_abs_intptr] ATSinline() ats_intptr_type atspre_neg_intptr (ats_intptr_type i) { return (ats_intptr_type)(-(intptr_t)i) ; } // end of [atspre_neg_intptr] ATSinline() ats_intptr_type atspre_succ_intptr (ats_intptr_type i) { return (ats_intptr_type)((intptr_t)i + 1) ; } // end of [atspre_succ_intptr] ATSinline() ats_intptr_type atspre_pred_intptr (ats_intptr_type i) { return (ats_intptr_type)((intptr_t)i - 1) ; } // end of [atspre_pred_intptr] // ATSinline() ats_intptr_type atspre_add_intptr_int ( ats_intptr_type i1, ats_int_type i2 ) { return (ats_intptr_type)((intptr_t)i1 + (int)i2) ; } // end of [atspre_add_intptr_int] ATSinline() ats_intptr_type atspre_add_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return (ats_intptr_type)((intptr_t)i1 + (intptr_t)i2) ; } // end of [atspre_add_intptr_intptr] // ATSinline() ats_intptr_type atspre_sub_intptr_int ( ats_intptr_type i1, ats_int_type i2 ) { return (ats_intptr_type)((intptr_t)i1 - (int)i2) ; } // end of [atspre_sub_intptr_int] ATSinline() ats_intptr_type atspre_sub_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return (ats_intptr_type)((intptr_t)i1 - (intptr_t)i2) ; } // end of [atspre_sub_intptr_intptr] // ATSinline() ats_intptr_type atspre_mul_intptr_int ( ats_intptr_type i1, ats_int_type i2 ) { return (ats_intptr_type)((intptr_t)i1 * (int)i2) ; } // end of [atspre_mul_intptr_int] ATSinline() ats_intptr_type atspre_mul_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return (ats_intptr_type)((intptr_t)i1 * (intptr_t)i2) ; } // end of [atspre_mul_intptr_intptr] // ATSinline() ats_intptr_type atspre_div_intptr_int ( ats_intptr_type i1, ats_int_type i2 ) { return (ats_intptr_type)((intptr_t)i1 / (int)i2) ; } // end of [atspre_div_intptr_int] ATSinline() ats_intptr_type atspre_div_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return (ats_intptr_type)((intptr_t)i1 / (intptr_t)i2) ; } // end of [atspre_div_intptr_intptr] // ATSinline() ats_intptr_type atspre_mod_intptr_int ( ats_intptr_type i1, ats_int_type i2) { return (ats_intptr_type)((intptr_t)i1 % (int)i2) ; } // end of [atspre_mod_intptr_int] ATSinline() ats_intptr_type atspre_mod_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return (ats_intptr_type)((intptr_t)i1 % (intptr_t)i2) ; } // end of [atspre_mod_intptr_intptr] /* ****** ****** */ // comparison operations ATSinline() ats_bool_type atspre_lt_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 < (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_lt_intptr_intptr] ATSinline() ats_bool_type atspre_lte_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 <= (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_lte_intptr_intptr] ATSinline() ats_bool_type atspre_gt_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 > (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_gt_intptr_intptr] ATSinline() ats_bool_type atspre_gte_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 >= (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_gte_intptr_intptr] ATSinline() ats_bool_type atspre_eq_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 == (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_eq_intptr_intptr] ATSinline() ats_bool_type atspre_neq_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ( (intptr_t)i1 != (intptr_t)i2 ? ats_true_bool : ats_false_bool ) ; // end of [return] } // end of [atspre_neq_intptr_intptr] // // compare, max and min // ATSinline() ats_int_type atspre_compare_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } // end of [atspre_compare_intptr_intptr] ATSinline() ats_intptr_type atspre_max_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ((i1 >= i2) ? i1 : i2) ; } // end of [atspre_max_intptr_intptr] ATSinline() ats_intptr_type atspre_min_intptr_intptr ( ats_intptr_type i1, ats_intptr_type i2 ) { return ((i1 <= i2) ? i1 : i2) ; } // end of [atspre_min_intptr_intptr] // // print functions // ATSinline() ats_void_type atspre_fprint_intptr ( ats_ptr_type out, ats_intptr_type i ) { int n ; n = fprintf ((FILE*)out, "%lli", (ats_llint_type)(intptr_t)i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_intptr] failed.\n") ; } return ; } // end of [atspre_fprint_intptr] ATSinline() ats_void_type atspre_print_intptr (ats_intptr_type i) { // atspre_stdout_view_get () ; atspre_fprint_intptr ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_intptr (ats_intptr_type i) { // atspre_stderr_view_get () ; atspre_fprint_intptr ((ats_ptr_type)stderr, i) ; // atspre_stderr_view_set () ; return ; } /* ****** ****** */ // // uintptr_t: unsigned integers of one word size // /* ****** ****** */ ATSinline() ats_uint_type atspre_uint_of_uintptr (ats_uintptr_type u) { return (ats_uint_type)(uintptr_t)u ; } // end of [atspre_uint_of_uintptr] ATSinline() ats_uintptr_type atspre_uintptr_of_int1 (ats_int_type i) { return (ats_uintptr_type)(uintptr_t)i ; } // end of [atspre_uintptr_of_int1] ATSinline() ats_uintptr_type atspre_uintptr_of_uint (ats_uint_type u) { return (ats_uintptr_type)(uintptr_t)u ; } // end of [atspre_uintptr_of_uint] ATSinline() ats_uintptr_type atspre_uintptr_of_ptr (ats_ptr_type p) { return (ats_uintptr_type)(uintptr_t)p ; } // end of [atspre_uintptr_of_ptr] // ------ ------ ATSinline() ats_ulint_type atspre_ulint_of_uintptr (ats_uintptr_type u) { return (ats_ulint_type)(uintptr_t)u ; } // end of [atspre_ulint_of_uintptr] ATSinline() ats_uintptr_type atspre_uintptr_of_ulint (ats_ulint_type u) { return (ats_uintptr_type)(uintptr_t)u ; } // end of [atspre_uintptr_of_ulint] // ------ ------ ATSinline() ats_uintptr_type atspre_succ_uintptr (ats_uintptr_type i) { return (ats_uintptr_type)((uintptr_t)i + 1) ; } ATSinline() ats_uintptr_type atspre_pred_uintptr (ats_uintptr_type i) { return (ats_uintptr_type)((uintptr_t)i - 1) ; } // ATSinline() ats_uintptr_type atspre_add_uintptr_uint (ats_uintptr_type i1, ats_uint_type i2) { return (ats_uintptr_type)((uintptr_t)i1 + i2) ; } ATSinline() ats_uintptr_type atspre_add_uintptr_uintptr (ats_uintptr_type i1, ats_uintptr_type i2) { return (ats_uintptr_type)((uintptr_t)i1 + (uintptr_t)i2) ; } // ATSinline() ats_uintptr_type atspre_sub_uintptr_uint (ats_uintptr_type i1, ats_uint_type i2) { return (ats_uintptr_type)((uintptr_t)i1 - i2) ; } ATSinline() ats_uintptr_type atspre_sub_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 - (uintptr_t)i2) ; } // ATSinline() ats_uintptr_type atspre_mul_uintptr_uint ( ats_uintptr_type i1, ats_uint_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 * i2) ; } ATSinline() ats_uintptr_type atspre_mul_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 * (uintptr_t)i2) ; } // ATSinline() ats_uintptr_type atspre_div_uintptr_uint ( ats_uintptr_type i1, ats_uint_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 / i2) ; } ATSinline() ats_uintptr_type atspre_div_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 / (uintptr_t)i2) ; } // ATSinline() ats_uintptr_type atspre_mod_uintptr_uint ( ats_uintptr_type i1, ats_uint_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 % i2) ; } ATSinline() ats_uintptr_type atspre_mod_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (ats_uintptr_type)((uintptr_t)i1 % (uintptr_t)i2) ; } // // comparison operations on uintpr // ATSinline() ats_bool_type atspre_lt_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return ((uintptr_t)i1 < (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_bool_type atspre_lte_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return ((uintptr_t)i1 <= (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_bool_type atspre_gt_uintptr_uintptr (ats_uintptr_type i1, ats_uintptr_type i2) { return ((uintptr_t)i1 > (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_bool_type atspre_gte_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return ((uintptr_t)i1 >= (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_bool_type atspre_eq_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return ((uintptr_t)i1 == (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } ATSinline() ats_bool_type atspre_neq_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return ((uintptr_t)i1 != (uintptr_t)i2 ? ats_true_bool : ats_false_bool) ; } // // compare, max and min // ATSinline() ats_int_type atspre_compare_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } // end of [atspre_compare_uintptr_uintptr] ATSinline() ats_uintptr_type atspre_max_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (i1 >= i2 ? i1 : i2) ; } ATSinline() ats_uintptr_type atspre_min_uintptr_uintptr ( ats_uintptr_type i1, ats_uintptr_type i2 ) { return (i1 <= i2 ? i1 : i2) ; } // // bitwise operations // ATSinline() ats_uintptr_type atspre_lnot_uintptr (ats_uintptr_type x) { return (ats_uintptr_type)(~(uintptr_t)x) ; } ATSinline() ats_uintptr_type atspre_land_uintptr_uintptr (ats_uintptr_type x, ats_uintptr_type y) { return (ats_uintptr_type)((uintptr_t)x & (uintptr_t)y) ; } ATSinline() ats_uintptr_type atspre_lor_uintptr_uintptr (ats_uintptr_type x, ats_uintptr_type y) { return (ats_uintptr_type)((uintptr_t)x | (uintptr_t)y) ; } ATSinline() ats_uintptr_type atspre_lxor_uintptr_uintptr (ats_uintptr_type x, ats_uintptr_type y) { return (ats_uintptr_type)((uintptr_t)x ^ (uintptr_t)y) ; } ATSinline() ats_uintptr_type atspre_lsl_uintptr_int1 (ats_uintptr_type x, ats_int_type n) { return (ats_uintptr_type)((uintptr_t)x << n) ; } ATSinline() ats_uintptr_type atspre_lsr_uintptr_int1 (ats_uintptr_type x, ats_int_type n) { return (ats_uintptr_type)((uintptr_t)x >> n) ; } // print functions ATSinline() ats_void_type atspre_fprint_uintptr ( ats_ptr_type out, ats_uintptr_type u ) { int n ; n = fprintf ((FILE*)out, "%llu", (ats_ullint_type)(uintptr_t)u) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uintptr] failed.\n") ; } // end of [if] return ; } // end of [atspre_fprint_uintptr] ATSinline() ats_void_type atspre_print_uintptr (ats_uintptr_type u) { // atspre_stdout_view_get () ; atspre_fprint_uintptr ((ats_ptr_type)stdout, u) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_uintptr (ats_uintptr_type u) { // atspre_stderr_view_get () ; atspre_fprint_uintptr ((ats_ptr_type)stderr, u) ; // atspre_stderr_view_set () ; return ; } /* ****** ****** */ #endif /* ATS_PRELUDE_INTEGER_PTR_CATS */ /* end of [integer_ptr.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/array.cats0000664000175000017500000000710612655455557020563 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_ARRAY_CATS #define ATS_PRELUDE_ARRAY_CATS /* ****** ****** */ #ifdef memcpy // // HX: [memcpy] is a macro on MACOS // #else // // in [string.h] // extern void *memcpy(void *dest, const void *src, size_t n) ; // #endif // memcpy /* ****** ****** */ ATSinline() ats_ptr_type atspre_array0_of_array1 (ats_ptr_type A) { return A ; } ATSinline() ats_ptr_type atspre_array1_of_array0 (ats_ptr_type A) { return A ; } /* ****** ****** */ ATSinline() ats_ptr_type atspre_array_ptr_alloc_tsz ( ats_size_type n, ats_size_type tsz ) { return ATS_MALLOC(n * tsz) ; } /* end of [atspre_array_ptr_alloc_tsz] */ ATSinline() ats_void_type atspre_array_ptr_free (ats_ptr_type base) { ATS_FREE(base); return ; } /* end of [atspre_array_ptr_free] */ /* ****** ****** */ // // HX: implemented in // $ATSHOME/prelude/DATS/array.dats // extern ats_void_type atspre_array_ptr_initialize_elt_tsz ( ats_ptr_type A , ats_size_type asz , ats_ptr_type ini , ats_size_type tsz ) ; /* ****** ****** */ ATSinline() ats_ptr_type atspre_array_ptr_split_tsz ( ats_ptr_type base , ats_size_type offset , ats_size_type tsz ) { return (ats_ptr_type)((char*)base + offset * tsz) ; } /* end of [atspre_array_ptr_split_tsz] */ /* ****** ****** */ ATSinline() ats_ptr_type atspre_array_ptr_takeout_tsz ( ats_ptr_type base , ats_size_type offset , ats_size_type tsz ) { return (ats_ptr_type)((char*)base + offset * tsz) ; } /* end of [atspre_array_ptr_takeout_tsz] */ /* ****** ****** */ ATSinline() ats_void_type atspre_array_ptr_copy_tsz ( ats_ptr_type p1 , ats_ptr_type p2 , ats_size_type asz , ats_size_type tsz ) { memcpy (p2, p1, asz * tsz) ; return ; } /* end of [atspre_array_ptr_copy_tsz] */ ATSinline() ats_void_type atspre_array_ptr_move_tsz ( ats_ptr_type p1 , ats_ptr_type p2 , ats_size_type asz , ats_size_type tsz ) { memcpy (p2, p1, asz * tsz) ; return ; } /* end of [atspre_array_ptr_move_tsz] */ /* ****** ****** */ ATSinline() ats_ptr_type atspre_array2_ptr_takeout_tsz ( ats_ptr_type base , ats_size_type iofs , ats_size_type ncol , ats_size_type tsz ) { return (ats_ptr_type)((char*)base + (iofs * ncol) * tsz) ; } /* end of [atspre_array2_ptr_takeout_tsz] */ /* ****** ****** */ #endif /* ATS_PRELUDE_ARRAY_CATS */ /* end of [array.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/reference.cats0000664000175000017500000000424312655455557021402 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_REFERENCE_CATS #define ATS_PRELUDE_REFERENCE_CATS /* ****** ****** */ extern void *memcpy(void *dest, const void *src, size_t n) ; // in [string.h] /* ****** ****** */ ATSinline() ats_ptr_type atspre_ref_make_elt_tsz ( ats_ptr_type p0, ats_size_type sz ) { ats_ptr_type p ; p = ATS_MALLOC(sz) ; memcpy (p, p0, sz) ; return p ; } // end of [atspre_ref_make_elt_tsz] ATSinline() ats_ptr_type atspre_ref_void_make () { return (ats_ptr_type)0 ; } ATSinline() ats_ptr_type atspre_ref_make_view_ptr (ats_ptr_type p) { return p ; } /* ****** ****** */ // // HX-2011-01-12: it is now a casting function; this is // kept for backward compatibility // ATSinline() ats_ptr_type atspre_ref_get_view_ptr (ats_ptr_type r) { return r ; } /* ****** ****** */ #endif /* ATS_PRELUDE_REFERENCE_CATS */ /* end of [reference.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/option.cats0000664000175000017500000000335612655455557020760 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_OPTION_CATS #define ATS_PRELUDE_OPTION_CATS /* ****** ****** */ #if (0) // // HX-2010-03-24: no longer needed // static inline ats_ptr_type atspre_option0_of_option1 (ats_ptr_type x) { return x ; } static inline ats_ptr_type atspre_option1_of_option0 (ats_ptr_type x) { return x ; } #endif // end of if(0) /* ****** ****** */ #endif /* ATS_PRELUDE_OPTION_CATS */ /* end of [option.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/pointer.cats0000664000175000017500000001300512655455557021120 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_POINTER_CATS #define ATS_PRELUDE_POINTER_CATS /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ extern void *memset(void *s, int c, size_t n); extern void *memcpy(void *dest, const void *src, size_t n) ; // in [string.h] /* ****** ****** */ static ats_ptr_type atspre_null_ptr = (ats_ptr_type)0 ; ATSinline() ats_bool_type atspre_ptr_is_null (ats_ptr_type p) { return (p == (ats_ptr_type)0 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_ptr_is_null] ATSinline() ats_bool_type atspre_ptr_isnot_null (ats_ptr_type p) { return (p != (ats_ptr_type)0 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_ptr_isnot_null] /* ****** ****** */ // // HX-2010-04-19: // this one is to be used by various "free_null" functions // ATSinline() ats_void_type atspre_ptr_free_null (ats_ptr_type p) { return ; } // end of [atspre_ptr_free_null] /* ****** ****** */ ATSinline() ats_ptr_type atspre_psucc (ats_ptr_type p) { return (ats_ptr_type)((ats_byte_type*)p + 1) ; } ATSinline() ats_ptr_type atspre_ppred (ats_ptr_type p) { return (ats_ptr_type)((ats_byte_type*)p - 1) ; } /* ****** ****** */ ATSinline() ats_ptr_type atspre_padd_int ( ats_ptr_type p, ats_int_type n ) { return (ats_ptr_type)((ats_byte_type*)p + n) ; } // end of [atspre_padd_int] ATSinline() ats_ptr_type atspre_padd_size ( ats_ptr_type p, ats_size_type n ) { return (ats_ptr_type)((ats_byte_type*)p + n) ; } // end of [atspre_padd_size] ATSinline() ats_ptr_type atspre_psub_int ( ats_ptr_type p, ats_int_type n ) { return (ats_ptr_type)((ats_byte_type*)p - n) ; } // end of [atspre_psub_int] ATSinline() ats_ptr_type atspre_psub_size ( ats_ptr_type p, ats_size_type n ) { return (ats_ptr_type)((ats_byte_type*)p - n) ; } // end of [atspre_psub_size] ATSinline() ats_ptrdiff_type atspre_pdiff ( ats_ptr_type p1, ats_ptr_type p2 ) { return ((ats_byte_type*)p1 - (ats_byte_type*)p2) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_plt (ats_ptr_type p1, ats_ptr_type p2) { return (p1 < p2) ; } ATSinline() ats_bool_type atspre_plte (ats_ptr_type p1, ats_ptr_type p2) { return (p1 <= p2) ; } ATSinline() ats_bool_type atspre_pgt (ats_ptr_type p1, ats_ptr_type p2) { return (p1 > p2) ; } ATSinline() ats_bool_type atspre_pgte (ats_ptr_type p1, ats_ptr_type p2) { return (p1 >= p2) ; } ATSinline() ats_bool_type atspre_peq (ats_ptr_type p1, ats_ptr_type p2) { return (p1 == p2) ; } ATSinline() ats_bool_type atspre_pneq (ats_ptr_type p1, ats_ptr_type p2) { return (p1 != p2) ; } ATSinline() ats_int_type atspre_compare_ptr_ptr ( ats_ptr_type p1, ats_ptr_type p2 ) { if (p1 < p2) return (-1) ; else if (p1 > p2) return ( 1) ; else return (0) ; } /* end of [atspre_compare_ptr_ptr] */ /* ****** ****** */ // print functions ATSinline() ats_void_type atspre_fprint_ptr ( ats_ptr_type out, ats_ptr_type p ) { int n = fprintf ((FILE *)out, "%p", p) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_pointer] failed.\n") ; } /* end of [if] */ return ; } ATSinline() ats_void_type atspre_print_ptr(ats_ptr_type p) { // atspre_stdout_view_get() ; atspre_fprint_ptr ((ats_ptr_type)stdout, p) ; // atspre_stdout_view_set() ; return ; } ATSinline() ats_void_type atspre_prerr_ptr(ats_ptr_type p) { // atspre_stderr_view_get() ; atspre_fprint_ptr ((ats_ptr_type)stderr, p) ; // atspre_stderr_view_set() ; return ; } /* ****** ****** */ ATSinline() ats_ptr_type atspre_ptr_alloc_tsz (ats_size_type tsz) { ats_ptr_type p ; p = ATS_MALLOC(tsz) ; return (ats_ptr_type)p ; } // end of [atspre_ptr_alloc_tsz] ATSinline() ats_void_type atspre_ptr_free(ats_ptr_type ptr) { ATS_FREE(ptr) ; return ; } /* ****** ****** */ ATSinline() ats_void_type atspre_ptr_zero_tsz (ats_ref_type p, ats_size_type tsz) { memset (p, 0, tsz) ; return ; } // end of [atspre_ptr_zero] /* ****** ****** */ // HX: for both [ptr_move_t_tsz] and [ptr_move_vt_tsz] ATSinline() ats_void_type atspre_ptr_move_tsz ( ats_ptr_type p1 , ats_ptr_type p2 , ats_size_type tsz ) { memcpy ((void*)p2, (void*)p1, tsz) ; return ; } // end of ... /* ****** ****** */ #endif /* ATS_PRELUDE_POINTER_CATS */ /* end of [pointer.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/lazy.cats0000664000175000017500000000463012655455557020423 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // author of the file: Hongwei Xi (hwxi AT cs DOT bu DOT edu) /* ****** ****** */ #ifndef ATS_PRELUDE_LAZY_CATS #define ATS_PRELUDE_LAZY_CATS /* ****** ****** */ /* typedef struct { ats_ptr_type tag ; ats_clo_ptr_type data ; } thunkvalue_struct ; */ typedef ats_ptr_type *thunkvalue ; /* ****** ****** */ #define ats_instr_move_lazy_delay_mac(tmp, hit, vp_clo) do { \ tmp = ATS_MALLOC ( \ sizeof(ats_ptr_type) + (sizeof(hit) <= sizeof(ats_ptr_type) ? sizeof(ats_ptr_type) : sizeof(hit)) \ ) ; /* end of [ATS_MALLOC] */ \ ((thunkvalue)tmp)[0] = (ats_ptr_type)0 ; ((thunkvalue)tmp)[1] = (vp_clo) ; \ } while (0) /* end of [do ... while ...] */ #define ats_instr_move_lazy_force_mac(tmp, hit, vp_lazy) do { \ if (((thunkvalue)vp_lazy)[0] == 0) { \ tmp = ((hit (*)(ats_clo_ptr_type))ats_closure_fun(((thunkvalue)vp_lazy)[1]))(((thunkvalue)vp_lazy)[1]) ; \ ((thunkvalue)vp_lazy)[0] += 1 ; \ *(hit*)(((thunkvalue)vp_lazy)+1) = tmp ; \ } else { \ tmp = *(hit*)(((thunkvalue)vp_lazy)+1) ; \ } /* end of [if] */ \ } while (0) /* end of [do ... while ...] */ /* ****** ****** */ #endif /* ATS_PRELUDE_LAZY_CATS */ /* end of [lazy.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/matrix.cats0000664000175000017500000000406212655455557020747 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_MATRIX_CATS #define ATS_PRELUDE_MATRIX_CATS /* ****** ****** */ ATSinline() ats_ptr_type atspre_matrix_ptr_takeout_row_tsz ( ats_ptr_type base , ats_size_type iofs , ats_size_type ncol , ats_size_type tsz ) { return (ats_ptr_type)((char*)base + (iofs * ncol) * tsz) ; } /* end of [atspre_matrix_ptr_takeout_row_tsz] */ /* ****** ****** */ ATSinline() ats_ptr_type atspre_matrix_ptr_takeout_elt_tsz ( ats_ptr_type base , ats_size_type iofs , ats_size_type ncol , ats_size_type jofs , ats_size_type tsz ) { return (ats_ptr_type)((char*)base + (iofs * ncol + jofs) * tsz) ; } /* end of [atspre_matrix_ptr_takeout_tsz_tsz] */ /* ****** ****** */ #endif /* ATS_PRELUDE_MATRIX_CATS */ /* end of [matrix.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/integer.cats0000664000175000017500000006616712655455557021116 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_INTEGER_CATS #define ATS_PRELUDE_INTEGER_CATS /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ /* ** these functions are declared in stdlib.h */ extern int atoi (const char* cs) ; extern long int atol (const char* cs) ; extern long long int atoll (const char* cs) ; /* ****** ****** */ #include "ats_types.h" #include "ats_memory.h" #include "ats_exception.h" /* ****** ****** */ // HX: implemented in $ATSHOME/prelude/DATS/integer.dats extern ats_ptr_type atspre_tostrptr_llint (ats_llint_type i) ; extern ats_ptr_type atspre_tostrptr_ullint (ats_ullint_type u) ; /* ****** ****** */ /* signed integers */ /* ****** ****** */ ATSinline() ats_int_type atspre_int_of_char (ats_char_type c) { return c ; } ATSinline() ats_int_type atspre_int_of_schar (ats_schar_type c) { return c ; } ATSinline() ats_int_type atspre_int_of_uchar (ats_uchar_type c) { return c ; } // ATSinline() ats_int_type atspre_int_of_string (ats_ptr_type s) { return atoi((char*)s) ; } /* end of [atspre_int_of_string] */ // ATSinline() ats_int_type atspre_abs_int (ats_int_type i) { return (i >= 0 ? i : -i) ; } // end of [atspre_abs_int] ATSinline() ats_int_type atspre_neg_int (ats_int_type i) { return (-i) ; } ATSinline() ats_int_type atspre_succ_int (ats_int_type i) { return (i + 1) ; } ATSinline() ats_int_type atspre_pred_int (ats_int_type i) { return (i - 1) ; } ATSinline() ats_int_type atspre_add_int_int (ats_int_type i1, ats_int_type i2) { return (i1 + i2) ; } ATSinline() ats_int_type atspre_sub_int_int (ats_int_type i1, ats_int_type i2) { return (i1 - i2) ; } ATSinline() ats_int_type atspre_mul_int_int (ats_int_type i1, ats_int_type i2) { return (i1 * i2) ; } ATSinline() ats_int_type atspre_div_int_int (ats_int_type i1, ats_int_type i2) { return (i1 / i2) ; } ATSinline() ats_int_type atspre_mod_int_int (ats_int_type i1, ats_int_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_int_int (ats_int_type i1, ats_int_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_int_int (ats_int_type i1, ats_int_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_int_int (ats_int_type i1, ats_int_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_int_int (ats_int_type i1, ats_int_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_int_int (ats_int_type i1, ats_int_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_int_int (ats_int_type i1, ats_int_type i2) { return (i1 != i2) ; } // compare, max and min ATSinline() ats_int_type atspre_compare_int_int (ats_int_type i1, ats_int_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_int_type atspre_max_int_int (ats_int_type i1, ats_int_type i2) { return (i1 >= i2) ? i1 : i2 ; } ATSinline() ats_int_type atspre_min_int_int (ats_int_type i1, ats_int_type i2) { return (i1 <= i2) ? i1 : i2 ; } // // square, cube and pow functions // ATSinline() ats_int_type atspre_square_int (ats_int_type i) { return (i * i) ; } ATSinline() ats_int_type atspre_cube_int (ats_int_type i) { return (i * i * i) ; } ATSinline() ats_int_type atspre_pow_int_int1 (ats_int_type x, ats_int_type n) { ats_int_type res = 1; while (n > 0) { if (n % 2 > 0) { res *= x ; x = x * x ; } else { x = x * x ; } n = n >> 1 ; } return res ; } // greatest common division ATSinline() ats_int_type atspre_gcd_int_int (ats_int_type m0, ats_int_type n0) { int m, n, t ; if (m0 >= 0) m = m0; else m = -m0 ; if (n0 >= 0) n = n0; else n = -n0 ; while (m) { t = n % m ; n = m ; m = t ; } return n ; } // bitwise operations ATSinline() ats_int_type atspre_asl_int_int1 (ats_int_type i, ats_int_type n) { return i << n ; } ATSinline() ats_int_type atspre_asr_int_int1 (ats_int_type i, ats_int_type n) { return i >> n ; } // print functions ATSinline() ats_void_type atspre_fprint_int (ats_ptr_type out, ats_int_type i) { int n ; n = fprintf ((FILE*)out, "%d", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_int] failed.\n") ; } /* end of [if] */ return ; } ATSinline() ats_void_type atspre_print_int (ats_int_type i) { // atspre_stdout_view_get () ; atspre_fprint_int ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_int (ats_int_type i) { // atspre_stderr_view_get () ; atspre_fprint_int ((ats_ptr_type)stderr, i) ; // atspre_stderr_view_set () ; return ; } // ATSinline() ats_void_type atspre_fscan_int_exn ( ats_ptr_type inp, ats_ref_type r ) { int n ; n = fscanf ((FILE*)inp, "%d", (int*)r) ; if (n <= 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fscan_int_exn] failed.\n") ; } // end of [if] return ; } /* end of [atspre_fscan_int_exn] */ // ATSinline() ats_ptr_type atspre_tostrptr_int (ats_int_type i) { return atspre_tostrptr_llint (i) ; } // end of [atspre_tostrptr_int] /* ****** ****** */ /* unsigned integers */ /* ****** ****** */ ATSinline() ats_uint_type atspre_uint_of_char (ats_char_type c) { return ((unsigned char)c) ; } // end of [atspre_uint_of_char] ATSinline() ats_uint_type atspre_uint_of_uchar (ats_uchar_type c) { return ((unsigned char)c) ; } // end of [atspre_uint_of_uchar] ATSinline() ats_uint_type atspre_uint_of_double (ats_double_type d) { return (ats_uint_type)d ; } // end of [atspre_uint_of_double] ATSinline() ats_uint_type atspre_succ_uint (ats_uint_type i) { return (i + 1) ; } ATSinline() ats_uint_type atspre_pred_uint (ats_uint_type i) { return (i - 1) ; } ATSinline() ats_uint_type atspre_add_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 + i2) ; } // end of [atspre_add_uint_uint] ATSinline() ats_uint_type atspre_sub_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 - i2) ; } // end of [atspre_sub_uint_uint] ATSinline() ats_uint_type atspre_mul_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 * i2) ; } // end of [atspre_mul_uint_uint] ATSinline() ats_uint_type atspre_div_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 / i2) ; } // end of [atspre_div_uint_uint] ATSinline() ats_uint_type atspre_mod_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 % i2) ; } // end of [atspre_mod_uint_uint] ATSinline() ats_bool_type atspre_lt_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 < i2) ; } // end of [atspre_lt_uint_uint] ATSinline() ats_bool_type atspre_lte_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 <= i2) ; } // end of [atspre_lte_uint_uint] ATSinline() ats_bool_type atspre_gt_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 > i2) ; } // end of [atspre_gt_uint_uint] ATSinline() ats_bool_type atspre_gte_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 >= i2) ; } // end of [atspre_gte_uint_uint] ATSinline() ats_bool_type atspre_eq_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 == i2) ; } // end of [atspre_eq_uint_uint] ATSinline() ats_bool_type atspre_neq_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 != i2) ; } // end of [atspre_neq_uint_uint] // // compare, max and min // ATSinline() ats_int_type atspre_compare_uint_uint (ats_uint_type i1, ats_uint_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_uint_type atspre_max_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 >= i2 ? i1 : i2) ; } ATSinline() ats_uint_type atspre_min_uint_uint (ats_uint_type i1, ats_uint_type i2) { return (i1 <= i2 ? i1 : i2) ; } ATSinline() ats_uint_type atspre_square_uint (ats_uint_type u) { return (u * u) ; } ATSinline() ats_uint_type atspre_cube_uint (ats_uint_type u) { return (u * u * u) ; } /* ** bitwise operations */ ATSinline() ats_uint_type atspre_lnot_uint (ats_uint_type x) { return (~x) ; } ATSinline() ats_uint_type atspre_land_uint_uint (ats_uint_type x, ats_uint_type y) { return (x & y) ; } ATSinline() ats_uint_type atspre_lor_uint_uint (ats_uint_type x, ats_uint_type y) { return (x | y) ; } ATSinline() ats_uint_type atspre_lxor_uint_uint (ats_uint_type x, ats_uint_type y) { return (x ^ y) ; } /* ** logical shifting operations */ ATSinline() ats_uint_type atspre_lsl_uint_int1 ( ats_uint_type u, ats_int_type n ) { return (u << n) ; } // end of [atspre_lsl_uint_int1] ATSinline() ats_uint_type atspre_lsr_uint_int1 ( ats_uint_type u, ats_int_type n ) { return (u >> n) ; } // end of [atspre_lsr_uint_int1] #define atspre_lsl_uint_uint atspre_lsl_uint_int1 #define atspre_lsr_uint_uint atspre_lsr_uint_int1 /* ****** ****** */ /* ** print functions */ ATSinline() ats_void_type atspre_fprint_uint (ats_ptr_type out, ats_uint_type u) { int n = fprintf ((FILE*)out, "%u", u) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_uint] failed.\n") ; } return ; } /* end of [atspre_fprint_uint] */ ATSinline() ats_void_type atspre_print_uint ( ats_uint_type u ) { // atspre_stdout_view_get () ; atspre_fprint_uint((ats_ptr_type)stdout, u) ; // atspre_stdout_view_set () ; return ; } /* end of [atspre_print_uint] */ ATSinline() ats_void_type atspre_prerr_uint ( ats_uint_type u ) { // atspre_stderr_view_get () ; atspre_fprint_uint((ats_ptr_type)stderr, u) ; // atspre_stderr_view_set () ; return ; } /* end of [atspre_prerr_uint] */ /* ** stringization */ ATSinline() ats_ptr_type atspre_tostrptr_uint (ats_uint_type u) { return atspre_tostrptr_ullint (u) ; } // end of [atspre_tostrptr_uint] /* ****** ****** */ #define atspre_int1_of_string atspre_int_of_string #define atspre_iabs atspre_abs_int #define atspre_ineg atspre_neg_int #define atspre_isucc atspre_succ_int #define atspre_ipred atspre_pred_int #define atspre_iadd atspre_add_int_int #define atspre_isub atspre_sub_int_int #define atspre_imul atspre_mul_int_int #define atspre_imul1 atspre_mul_int_int #define atspre_imul2 atspre_mul_int_int #define atspre_idiv atspre_div_int_int #define atspre_idiv1 atspre_div_int_int #define atspre_nmul atspre_mul_int_int #define atspre_ndiv atspre_div_int_int // HX: there is no [ndiv1] #define atspre_ndiv2 atspre_div_int_int #define atspre_nmod atspre_mod_int_int #define atspre_nmod1 atspre_mod_int_int #define atspre_nmod2 atspre_mod_int_int #define atspre_ilt atspre_lt_int_int #define atspre_ilte atspre_lte_int_int #define atspre_igt atspre_gt_int_int #define atspre_igte atspre_gte_int_int #define atspre_ieq atspre_eq_int_int #define atspre_ineq atspre_neq_int_int #define atspre_icompare atspre_compare_int_int #define atspre_imax atspre_max_int_int #define atspre_imin atspre_min_int_int #define atspre_ipow atspre_pow_int_int1 #define atspre_npow atspre_pow_int_int1 ATSinline() ats_int_type atspre_ihalf (ats_int_type n) { return (n / 2) ; } ATSinline() ats_int_type atspre_nhalf (ats_int_type n) { return (n >> 1) ; } /* ****** ****** */ #define atspre_uadd atspre_add_uint_uint #define atspre_usub atspre_sub_uint_uint #define atspre_umul atspre_mul_uint_uint #define atspre_udiv atspre_div_uint_uint #define atspre_umod atspre_mod_uint_uint // HX: there is no [nmod1] #define atspre_umod2 atspre_mod_uint_uint // ATSinline() ats_int_type atspre_uimod ( ats_uint_type u1, ats_int_type i2 ) { return (u1 % ((ats_uint_type)i2)) ; } /* end of [atspre_uimod] */ #define atspre_uimod2 ats_uimod #define atspre_ult atspre_lt_uint_uint #define atspre_ulte atspre_lte_uint_uint #define atspre_ugt atspre_gt_uint_uint #define atspre_ugte atspre_gte_uint_uint #define atspre_ueq atspre_eq_uint_uint #define atspre_uneq atspre_neq_uint_uint #define atspre_ucompare atspre_compare_uint_uint #define atspre_umax atspre_max_uint_uint #define atspre_umin atspre_min_uint_uint /* ****** ****** */ /* signed long integers */ /* ****** ****** */ ATSinline() ats_lint_type atspre_lint_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_lint (ats_lint_type li) { return li ; } /* ****** ****** */ ATSinline() ats_lint_type atspre_lint_of_uint (ats_uint_type u) { return u ; } ATSinline() ats_uint_type atspre_uint_of_lint (ats_lint_type li) { return li ; } /* ****** ****** */ ATSinline() ats_lint_type atspre_lint_of_string (ats_ptr_type s) { return atol((char*)s) ; } // end of [atspre_lint_of_string] // arithmetic functions and comparison functions ATSinline() ats_lint_type atspre_abs_lint (ats_lint_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_lint_type atspre_neg_lint (ats_lint_type i) { return (-i) ; } ATSinline() ats_lint_type atspre_succ_lint (ats_lint_type i) { return (i + 1) ; } ATSinline() ats_lint_type atspre_pred_lint (ats_lint_type i) { return (i - 1) ; } ATSinline() ats_lint_type atspre_add_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 + i2) ; } ATSinline() ats_lint_type atspre_sub_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 - i2) ; } ATSinline() ats_lint_type atspre_mul_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 * i2) ; } ATSinline() ats_lint_type atspre_div_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 / i2) ; } ATSinline() ats_lint_type atspre_mod_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 != i2) ; } // compare, max and min ATSinline() ats_int_type atspre_compare_lint_lint (ats_lint_type i1, ats_lint_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_lint_type atspre_max_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 >= i2 ? i1 : i2) ; } ATSinline() ats_lint_type atspre_min_lint_lint (ats_lint_type i1, ats_lint_type i2) { return (i1 <= i2 ? i1 : i2) ; } // print functions ATSinline() ats_void_type atspre_fprint_lint (ats_ptr_type out, ats_lint_type i) { int n ; n = fprintf ((FILE*)out, "%li", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_lint] failed.\n") ; } return ; } ATSinline() ats_void_type atspre_print_lint (ats_lint_type i) { // atspre_stdout_view_get () ; atspre_fprint_lint ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_lint (ats_lint_type i) { // atspre_stderr_view_get () ; atspre_fprint_lint ((ats_ptr_type)stderr, i) ; // atspre_stderr_view_set () ; return ; } // ATSinline() ats_ptr_type atspre_tostrptr_lint (ats_lint_type i) { return atspre_tostrptr_llint (i) ; } // end of [atspre_tostrptr_lint] /* ****** ****** */ /* unsigned long integers */ /* ****** ****** */ ATSinline() ats_ulint_type atspre_ulint_of_int (ats_int_type i) { return i ; } ATSinline() ats_int_type atspre_int_of_ulint (ats_ulint_type ul) { return ul ; } // ATSinline() ats_ulint_type atspre_ulint_of_uint (ats_uint_type u) { return u ; } ATSinline() ats_uint_type atspre_uint_of_ulint (ats_ulint_type ul) { return ul ; } /* ****** ****** */ ATSinline() ats_ulint_type atspre_succ_ulint (ats_ulint_type i) { return (i + 1) ; } ATSinline() ats_ulint_type atspre_pred_ulint (ats_ulint_type i) { return (i - 1) ; } ATSinline() ats_ulint_type atspre_add_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 + i2) ; } ATSinline() ats_ulint_type atspre_sub_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 - i2) ; } ATSinline() ats_ulint_type atspre_mul_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 * i2) ; } ATSinline() ats_ulint_type atspre_div_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 / i2) ; } ATSinline() ats_ulint_type atspre_mod_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 != i2) ; } // // compare, max and min // ATSinline() ats_int_type atspre_compare_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_ulint_type atspre_max_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 >= i2 ? i1 : i2) ; } ATSinline() ats_ulint_type atspre_min_ulint_ulint (ats_ulint_type i1, ats_ulint_type i2) { return (i1 <= i2 ? i1 : i2) ; } // // bitwise operations // ATSinline() ats_ulint_type atspre_lnot_ulint (ats_ulint_type x) { return (~x) ; } ATSinline() ats_ulint_type atspre_land_ulint_ulint (ats_ulint_type x, ats_ulint_type y) { return (x & y) ; } ATSinline() ats_ulint_type atspre_lor_ulint_ulint (ats_ulint_type x, ats_ulint_type y) { return (x | y) ; } ATSinline() ats_ulint_type atspre_lxor_ulint_ulint (ats_ulint_type x, ats_ulint_type y) { return (x ^ y) ; } ATSinline() ats_ulint_type atspre_lsl_ulint_int1 (ats_ulint_type i, ats_int_type n) { return i << n ; } ATSinline() ats_ulint_type atspre_lsr_ulint_int1 (ats_ulint_type i, ats_int_type n) { return i >> n ; } // // print functions // ATSinline() ats_void_type atspre_fprint_ulint (ats_ptr_type out, ats_ulint_type i) { int n = fprintf ((FILE*)out, "%lu", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_ulint] failed.\n") ; } return ; } // end of [atspre_fprint_ulint] ATSinline() ats_void_type atspre_print_ulint (ats_ulint_type i) { // atspre_stdout_view_get () ; atspre_fprint_ulint ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_ulint] ATSinline() ats_void_type atspre_prerr_ulint (ats_ulint_type i) { // atspre_stderr_view_get () ; atspre_fprint_ulint ((ats_ptr_type)stderr, i) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_ulint] // ATSinline() ats_ptr_type atspre_tostrptr_ulint (ats_ulint_type i) { return atspre_tostrptr_ullint (i) ; } // end of [atspre_tostrptr_ulint] /* ****** ****** */ // // long long integers // /* ****** ****** */ ATSinline() ats_llint_type atspre_llint_of_int (ats_int_type i) { return ((ats_llint_type)i) ; } // end of [atspre_llint_of_int] ATSinline() ats_int_type atspre_int_of_llint (ats_llint_type lli) { return ((ats_int_type)lli) ; } // end of [atspre_int_of_llint] #if (0) // // HX: defined in $ATSHOME/prelude/CATS/float.cats // ATSinline() ats_llint_type atspre_llint_of_double (ats_double_type d) { return ((ats_llint_type)d) ; } // end of [atspre_llint_of_double] #endif // end of [#if 0] ATSinline() ats_llint_type atspre_llint_of_string (ats_ptr_type s) { return atoll((char*)s) ; } // end of [atspre_llint_of_string] // // arithmetic functions and comparison functions // ATSinline() ats_llint_type atspre_abs_llint (ats_llint_type i) { return (i >= 0 ? i : -i) ; } ATSinline() ats_llint_type atspre_neg_llint (ats_llint_type i) { return (-i) ; } ATSinline() ats_llint_type atspre_succ_llint (ats_llint_type i) { return (i + 1) ; } ATSinline() ats_llint_type atspre_pred_llint (ats_llint_type i) { return (i - 1) ; } ATSinline() ats_llint_type atspre_add_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 + i2) ; } ATSinline() ats_llint_type atspre_sub_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 - i2) ; } ATSinline() ats_llint_type atspre_mul_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 * i2) ; } ATSinline() ats_llint_type atspre_div_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 / i2) ; } ATSinline() ats_llint_type atspre_mod_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_llint_llint (ats_llint_type i1, ats_llint_type i2) { return (i1 != i2) ; } // compare, max and min ATSinline() ats_int_type atspre_compare_llint_llint (ats_llint_type i1, ats_llint_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } ATSinline() ats_llint_type atspre_max_llint_llint ( ats_llint_type i1, ats_llint_type i2 ) { return (i1 >= i2 ? i1 : i2) ; } // end of [atspre_max_llint_llint] ATSinline() ats_llint_type atspre_min_llint_llint ( ats_llint_type i1, ats_llint_type i2 ) { return (i1 <= i2 ? i1 : i2) ; } // end of [atspre_min_llint_llint] // // print functions // ATSinline() ats_void_type atspre_fprint_llint ( ats_ptr_type out, ats_llint_type i ) { int n = fprintf ((FILE*)out, "%lli", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_llint] failed.\n") ; } return ; } // end of [atspre_fprint_llint] ATSinline() ats_void_type atspre_print_llint (ats_llint_type lli) { // atspre_stdout_view_get () ; atspre_fprint_llint ((ats_ptr_type)stdout, lli) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_llint] ATSinline() ats_void_type atspre_prerr_llint (ats_llint_type lli) { // atspre_stderr_view_get () ; atspre_fprint_llint ((ats_ptr_type)stderr, lli) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_llint] /* ****** ****** */ // /* unsigned long long integers */ // /* ****** ****** */ ATSinline() ats_ullint_type atspre_ullint_of_int (ats_int_type i) { return ((ats_ullint_type)i) ; } // end of [atspre_ullint_of_int] ATSinline() ats_ullint_type atspre_ullint_of_uint (ats_uint_type u) { return ((ats_ullint_type)u) ; } // end of [atspre_ullint_of_uint] #if (0) // // HX: defined in $ATSHOME/prelude/CATS/float.cats // ATSinline() ats_ullint_type atspre_ullint_of_double (ats_double_type d) { return ((ats_ullint_type)d) ; } // end of [atspre_ullint_of_double] #endif // end of [#if 0] /* ****** ****** */ ATSinline() ats_ullint_type atspre_succ_ullint (ats_ullint_type i) { return (i + 1) ; } ATSinline() ats_ullint_type atspre_pred_ullint (ats_ullint_type i) { return (i - 1) ; } ATSinline() ats_ullint_type atspre_add_ullint_ullint ( ats_ullint_type i1, ats_ullint_type i2 ) { return (i1 + i2) ; } // end of [atspre_add_ullint_ullint] ATSinline() ats_ullint_type atspre_sub_ullint_ullint ( ats_ullint_type i1, ats_ullint_type i2 ) { return (i1 - i2) ; } // end of [atspre_sub_ullint_ullint] ATSinline() ats_ullint_type atspre_mul_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 * i2) ; } ATSinline() ats_ullint_type atspre_div_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 / i2) ; } ATSinline() ats_ullint_type atspre_mod_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 % i2) ; } ATSinline() ats_bool_type atspre_lt_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 < i2) ; } ATSinline() ats_bool_type atspre_lte_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 <= i2) ; } ATSinline() ats_bool_type atspre_gt_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 > i2) ; } ATSinline() ats_bool_type atspre_gte_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 >= i2) ; } ATSinline() ats_bool_type atspre_eq_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 == i2) ; } ATSinline() ats_bool_type atspre_neq_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 != i2) ; } // // compare, max and min // ATSinline() ats_int_type atspre_compare_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { if (i1 < i2) return (-1) ; else if (i1 > i2) return ( 1) ; else return (0) ; } // end of [atspre_compare_ullint_ullint] ATSinline() ats_ullint_type atspre_max_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 >= i2 ? i1 : i2) ; } ATSinline() ats_ullint_type atspre_min_ullint_ullint (ats_ullint_type i1, ats_ullint_type i2) { return (i1 <= i2 ? i1 : i2) ; } // // print functions // ATSinline() ats_void_type atspre_fprint_ullint ( ats_ptr_type out, ats_ullint_type i ) { int n = fprintf ((FILE*)out, "%llu", i) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_ullint] failed.\n") ; } return ; } // end of [atspre_fprint_ullint] ATSinline() ats_void_type atspre_print_ullint (ats_ullint_type i) { // atspre_stdout_view_get () ; atspre_fprint_ullint ((ats_ptr_type)stdout, i) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_ullint] ATSinline() ats_void_type atspre_prerr_ullint (ats_ullint_type i) { // atspre_stderr_view_get () ; atspre_fprint_ullint ((ats_ptr_type)stderr, i) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_ullint] /* ****** ****** */ #endif /* ATS_PRELUDE_INTEGER_CATS */ /* end of [integer.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/sizetype.cats0000664000175000017500000003423012655455557021317 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_SIZETYPE_CATS #define ATS_PRELUDE_SIZETYPE_CATS /* ****** ****** */ #include /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ // // unsigned size type // /* ****** ****** */ extern void exit (int) ; // HX: see [stdlib.h] /* ****** ****** */ ATSinline() ats_size_type atspre_size_of_int (ats_int_type i) { if (i < 0) { fprintf (stderr, "[atspre_size_of_int(%i)] failed\n", i) ; exit (1) ; } /* end of [if] */ return ((ats_size_type)i) ; } // end of [atspre_size_of_int] #define atspre_int_of_size atspre_int1_of_size1 #define atspre_size_of_int1 atspre_size1_of_int1 #define atspre_uint_of_size atspre_uint1_of_size1 #define atspre_size_of_uint atspre_size1_of_uint1 /* ****** ****** */ #define atspre_add_size_int atspre_add_size1_int1 #define atspre_add_size_size atspre_add_size1_size1 #define atspre_sub_size_int atspre_sub_size1_int1 #define atspre_sub_size_size atspre_sub_size1_size1 #define atspre_mul_int_size atspre_mul_int1_size1 #define atspre_mul_size_int atspre_mul_size1_int1 #define atspre_mul_size_size atspre_mul_size1_size1 #define atspre_div_size_int atspre_div_size1_int1 #define atspre_div_size_size atspre_div_size1_size1 #define atspre_mod_size_int atspre_mod_size1_int1 #define atspre_mod_size_size atspre_mod_size1_size1 #define atspre_lt_size_size atspre_lt_size1_size1 #define atspre_lte_size_size atspre_lte_size1_size1 #define atspre_gt_size_int atspre_gt_size1_int1 #define atspre_gt_size_size atspre_gt_size1_size1 #define atspre_gte_size_int atspre_gte_size1_int1 #define atspre_gte_size_size atspre_gte_size1_size1 #define atspre_eq_size_int atspre_eq_size1_int1 #define atspre_eq_size_size atspre_eq_size1_size1 #define atspre_neq_size_int atspre_neq_size1_int1 #define atspre_neq_size_size atspre_neq_size1_size1 #define atspre_max_size_size atspre_max_size1_size1 #define atspre_min_size_size atspre_min_size1_size1 /* ****** ****** */ ATSinline() ats_size_type atspre_land_size_size (ats_size_type x, ats_size_type y) { return (x & y) ; } ATSinline() ats_size_type atspre_lor_size_size (ats_size_type x, ats_size_type y) { return (x | y) ; } ATSinline() ats_size_type atspre_lxor_size_size (ats_size_type x, ats_size_type y) { return (x ^ y) ; } /* ****** ****** */ ATSinline() ats_size_type atspre_lsl_size_int1 (ats_size_type sz, ats_int_type n) { return (sz << n) ; } ATSinline() ats_size_type atspre_lsr_size_int1 (ats_size_type sz, ats_int_type n) { return (sz >> n) ; } /* ****** ****** */ // print functions ATSinline() ats_void_type atspre_fprint_size ( ats_ptr_type out, ats_size_type sz ) { fprintf ((FILE*)out, "%lu", (ats_ulint_type)sz) ; return ; } // end of [atspre_fprint_size] ATSinline() ats_void_type atspre_print_size (ats_size_type sz) { // atspre_stdout_view_get () ; atspre_fprint_size ((ats_ptr_type)stdout, sz) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_size (ats_size_type sz) { // atspre_stderr_view_get () ; atspre_fprint_size ((ats_ptr_type)stderr, sz) ; // atspre_stderr_view_set () ; return ; } /* ****** ****** */ // // unsigned size type (indexed) // /* ****** ****** */ ATSinline() ats_int_type atspre_int1_of_size1 (ats_size_type sz) { if (INT_MAX < sz) { fprintf (stderr, "[atspre_int_of_size(%lu)] failed\n", (ats_ulint_type)sz) ; exit (1) ; } /* end of [if] */ return ((ats_int_type)sz) ; } // end of [atspre_int1_of_size1] ATSinline() ats_uint_type atspre_uint1_of_size1 (ats_size_type sz) { if (UINT_MAX < sz) { fprintf (stderr, "[atspre_uint_of_size(%lu)] failed\n", (ats_ulint_type)sz) ; exit (1) ; } /* end of [if] */ return ((ats_uint_type)sz) ; } // end of [atspre_uint1_of_size1] /* ****** ****** */ ATSinline() ats_size_type atspre_size1_of_int1 (ats_int_type i) { return (ats_size_type)i ; } ATSinline() ats_size_type atspre_size1_of_uint1 (ats_uint_type u) { return (ats_size_type)u ; } ATSinline() ats_size_type atspre_size1_of_ptrdiff1 (ats_ptrdiff_type x) { return (ats_size_type)x ; } /* ****** ****** */ ATSinline() ats_size_type atspre_succ_size1 (ats_size_type sz) { return (sz + 1) ; } ATSinline() ats_size_type atspre_pred_size1 (ats_size_type sz) { return (sz - 1) ; } /* ****** ****** */ ATSinline() ats_size_type atspre_add_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 + i2) ; } ATSinline() ats_size_type atspre_add_size1_size1 ( ats_size_type sz1, ats_size_type sz2 ) { return (sz1 + sz2) ; } // end of [atspre_add_size1_size1] /* ****** ****** */ ATSinline() ats_size_type atspre_sub_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 - i2) ; } ATSinline() ats_size_type atspre_sub_size1_size1 ( ats_size_type sz1, ats_size_type sz2 ) { return (sz1 - sz2) ; } // end of [atspre_sub_size1_size1] /* ****** ****** */ ATSinline() ats_size_type atspre_mul_int1_size1 ( ats_int_type i1, ats_size_type sz2 ) { return (i1 * sz2) ; } // end of [atspre_mul_int1_size1] ATSinline() ats_size_type atspre_mul_size1_int1 ( ats_size_type sz1, ats_int_type i2 ) { return (sz1 * i2) ; } // end of [atspre_mul_size1_int1] ATSinline() ats_size_type atspre_mul_size1_size1 ( ats_size_type sz1, ats_size_type sz2 ) { return (sz1 * sz2) ; } // end of [atspre_mul_size1_size1] #define atspre_mul1_size1_size1 atspre_mul_size1_size1 #define atspre_mul2_size1_size1 atspre_mul_size1_size1 /* ****** ****** */ ATSinline() ats_size_type atspre_div_size1_int1 ( ats_size_type sz1, ats_int_type i2 ) { return (sz1 / i2) ; } // end of [atspre_div_size1_int1] #define atspre_div2_size1_int1 atspre_div_size1_int1 ATSinline() ats_size_type atspre_div_size1_size1 ( ats_size_type sz1, ats_size_type sz2 ) { return (sz1 / sz2) ; } // end of [atspre_div_size1_size1] #define atspre_div2_size1_size1 atspre_div_size1_size1 /* ****** ****** */ ATSinline() ats_int_type atspre_mod_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 % i2) ; } // end of [atspre_mod_size1_int1] #define atspre_mod1_size1_int1 atspre_mod_size1_int1 #define atspre_mod2_size1_int1 atspre_mod_size1_int1 ATSinline() ats_size_type atspre_mod_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 % sz2) ; } // end of [atspre_mod_size1_size1] #define atspre_mod1_size1_size1 atspre_mod_size1_size1 #define atspre_mod2_size1_size1 atspre_mod_size1_size1 /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 < sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_size1_size1] ATSinline() ats_bool_type atspre_lt_int1_size1 (ats_int_type i1, ats_size_type sz2) { return ((ats_size_type)i1 < sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_int1_size1] ATSinline() ats_bool_type atspre_lt_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 < (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_size1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_lte_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 <= sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_size1_size1] ATSinline() ats_bool_type atspre_lte_int1_size1 (ats_int_type i1, ats_size_type sz2) { return ((ats_size_type)i1 <= sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_int1_size1] ATSinline() ats_bool_type atspre_lte_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 <= (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_size1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_gt_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 > sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_size1_size1] ATSinline() ats_bool_type atspre_gt_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 > (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_size1_int1] ATSinline() ats_bool_type atspre_gte_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 >= sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_size1_size1] ATSinline() ats_bool_type atspre_gte_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 >= (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_size1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_eq_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 == sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_size1_size1] ATSinline() ats_bool_type atspre_eq_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 == (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_size1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_neq_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 != sz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_neq_size1_size1] ATSinline() ats_bool_type atspre_neq_size1_int1 (ats_size_type sz1, ats_int_type i2) { return (sz1 != (ats_size_type)i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_neq_size1_int1] /* ****** ****** */ ATSinline() ats_size_type atspre_max_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 >= sz2 ? sz1 : sz2) ; } // end of [atspre_max_size1_size1] ATSinline() ats_size_type atspre_min_size1_size1 (ats_size_type sz1, ats_size_type sz2) { return (sz1 <= sz2 ? sz1 : sz2) ; } // end of [atspre_min_size1_size1] /* ****** ****** */ // // signed size type // /* ****** ****** */ #define atspre_int_of_ssize atspre_int1_of_ssize1 #define atspre_ssize_of_int atspre_ssize1_of_int1 #define atspre_add_ssize_ssize atspre_add_ssize1_ssize1 #define atspre_sub_ssize_ssize atspre_sub_ssize1_ssize1 #define atspre_mul_ssize_ssize atspre_mul_ssize1_ssize1 #define atspre_div_ssize_ssize atspre_div_ssize1_ssize1 /* ****** ****** */ // // signed size type (indexed) // /* ****** ****** */ ATSinline() ats_int_type atspre_int1_of_ssize1 (ats_ssize_type ssz) { if (INT_MAX < ssz || ssz < INT_MIN) { fprintf (stderr, "exit(ATS): [atspre_int1_of_ssize1(%li)] failed\n", (ats_lint_type)ssz ) ; exit (1) ; } /* end of [if] */ return (ats_int_type)ssz ; } // end of [atspre_int1_of_ssize1] ATSinline() ats_ssize_type atspre_ssize1_of_int1 (ats_int_type i) { return (ats_ssize_type)i ; } // end of [atspre_ssize1_of_int1] /* ****** ****** */ ATSinline() ats_ssize_type atspre_add_ssize1_ssize1 ( ats_ssize_type i, ats_ssize_type j ) { return (i + j) ; } // end of [atspre_add_ssize1_ssize1] ATSinline() ats_ssize_type atspre_sub_ssize1_ssize1 ( ats_ssize_type i, ats_ssize_type j ) { return (i - j) ; } // end of [atspre_sub_ssize1_ssize1] ATSinline() ats_ssize_type atspre_mul_ssize1_ssize1 ( ats_ssize_type i, ats_ssize_type j ) { return (i * j) ; } // end of [atspre_mul_ssize1_ssize1] ATSinline() ats_ssize_type atspre_div_ssize1_ssize1 ( ats_ssize_type i, ats_ssize_type j ) { return (i / j) ; } // end of [atspre_div_ssize1_ssize1] /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_ssize1_int1 (ats_ssize_type ssz1, ats_int_type i2) { return (ssz1 < i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_ssize1_int1] ATSinline() ats_bool_type atspre_lte_ssize1_int1 (ats_ssize_type ssz1, ats_int_type i2) { return (ssz1 <= i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_ssize1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_gt_ssize1_int1 (ats_ssize_type ssz1, ats_int_type i2) { return (ssz1 > i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_ssize1_int1] ATSinline() ats_bool_type atspre_gte_ssize1_int1 (ats_ssize_type ssz1, ats_int_type i2) { return (ssz1 >= i2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_ssize1_int1] /* ****** ****** */ ATSinline() ats_bool_type atspre_eq_ssize1_ssize1 (ats_ssize_type ssz1, ats_ssize_type ssz2) { return (ssz1 == ssz2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_ssize1_ssize1] ATSinline() ats_bool_type atspre_neq_ssize1_ssize1 (ats_ssize_type ssz1, ats_ssize_type ssz2) { return (ssz1 != ssz2 ? ats_true_bool : ats_false_bool) ; } /* end of [atspre_eq_ssize1_ssize1] */ /* ****** ****** */ // print functions ATSinline() ats_void_type atspre_fprint_ssize ( ats_ptr_type out, ats_ssize_type ssz ) { fprintf ((FILE*)out, "%li", (ats_lint_type)ssz) ; return ; } // end of [atspre_fprint_ssize] ATSinline() ats_void_type atspre_print_ssize (ats_ssize_type ssz) { // atspre_stdout_view_get () ; atspre_fprint_ssize ((ats_ptr_type)stdout, ssz) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_ssize] ATSinline() ats_void_type atspre_prerr_ssize (ats_size_type ssz) { // atspre_stderr_view_get () ; atspre_fprint_ssize ((ats_ptr_type)stderr, ssz) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_ssize] /* ****** ****** */ #endif /* ATS_PRELUDE_SIZETYPE_CATS */ /* end of [sizetype.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/float.cats0000664000175000017500000004767112655455557020565 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_FLOAT_CATS #define ATS_PRELUDE_FLOAT_CATS /* ****** ****** */ #include /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ // // HX: these functions are in [stdlib.h] // extern double atof (const char *str) ; extern long int atol (const char *str) ; extern long long int atoll (const char *str) ; /* ****** ****** */ #include "ats_types.h" /* ****** ****** */ extern ats_ptr_type atspre_tostringf (ats_ptr_type fmt, ...) ; extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ /* floating point numbers of single precision */ /* ****** ****** */ ATSinline() ats_int_type atspre_int_of_float (ats_float_type f) { return f ; } ATSinline() ats_lint_type atspre_lint_of_float (ats_float_type f) { return f ; } ATSinline() ats_llint_type atspre_llint_of_float (ats_float_type f) { return f ; } // ATSinline() ats_float_type atspre_float_of_int (ats_int_type i) { return (ats_float_type)i ; } ATSinline() ats_float_type atspre_float_of_uint (ats_uint_type u) { return (ats_float_type)u ; } // ATSinline() ats_float_type atspre_float_of_lint (ats_lint_type i) { return (ats_float_type)i ; } ATSinline() ats_float_type atspre_float_of_ulint (ats_ulint_type u) { return (ats_float_type)u ; } // ATSinline() ats_float_type atspre_float_of_llint (ats_llint_type i) { return (ats_float_type)i ; } ATSinline() ats_float_type atspre_float_of_ullint (ats_ullint_type u) { return (ats_float_type)u ; } // ATSinline() ats_float_type atspre_float_of_size (ats_size_type sz) { return (ats_float_type)sz ; } // ATSinline() ats_float_type atspre_float_of_double (ats_double_type d) { return (ats_float_type)d ; } // end of [atspre_float_of_double] ATSinline() ats_float_type atspre_float_of_string (const ats_ptr_type s) { return (ats_float_type)(atof ((char *)s)) ; } // end of [atspre_float_of_string] /* ****** ****** */ ATSinline() ats_float_type atspre_abs_float (ats_float_type f) { return (f >= 0.0 ? f : -f) ; } // end of [atspre_abs_float] ATSinline() ats_float_type atspre_neg_float (ats_float_type f) { return (-f) ; } ATSinline() ats_float_type atspre_succ_float (ats_float_type f) { return (f + 1.0) ; } ATSinline() ats_float_type atspre_pred_float (ats_float_type f) { return (f - 1.0) ; } // ATSinline() ats_float_type atspre_add_float_float (ats_float_type f1, ats_float_type f2) { return (f1 + f2) ; } // end of [atspre_add_float_float] ATSinline() ats_float_type atspre_sub_float_float (ats_float_type f1, ats_float_type f2) { return (f1 - f2) ; } // end of [atspre_sub_float_float] // ATSinline() ats_float_type atspre_mul_float_float (ats_float_type f1, ats_float_type f2) { return (f1 * f2) ; } // end of [atspre_mul_float_float] ATSinline() ats_float_type atspre_mul_int_float (ats_int_type i1, ats_float_type f2) { return ((float)i1 * f2) ; } // end of [atspre_mul_int_float] ATSinline() ats_float_type atspre_mul_float_int (ats_float_type f1, ats_int_type i2) { return (f1 * (float)i2) ; } // end of [atspre_mul_float_int] // ATSinline() ats_float_type atspre_div_float_float (ats_float_type f1, ats_float_type f2) { return (f1 / f2) ; } // end of [atspre_div_float_float] ATSinline() ats_float_type atspre_div_float_int (ats_float_type f1, ats_int_type i2) { return (f1 / (float)i2) ; } // end of [atspre_div_float_int] ATSinline() ats_float_type atspre_div_int_float (ats_float_type i1, ats_int_type f2) { return ((float)i1 / f2) ; } // end of [atspre_div_int_float] // ATSinline() ats_bool_type atspre_lt_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 < f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_float_float] ATSinline() ats_bool_type atspre_lte_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 <= f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_float_float] ATSinline() ats_bool_type atspre_gt_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 > f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_float_float] ATSinline() ats_bool_type atspre_gte_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 >= f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_float_float] ATSinline() ats_bool_type atspre_eq_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 == f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_float_float] ATSinline() ats_bool_type atspre_neq_float_float ( ats_float_type f1, ats_float_type f2 ) { return (f1 != f2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_neq_float_float] // compare, max and min ATSinline() ats_int_type atspre_compare_float_float (ats_float_type f1, ats_float_type f2) { if (f1 < f2) return (-1) ; if (f1 > f2) return ( 1) ; return 0 ; } ATSinline() ats_float_type atspre_max_float_float (ats_float_type f1, ats_float_type f2) { return (f1 >= f2) ? f1 : f2 ; } ATSinline() ats_float_type atspre_min_float_float (ats_float_type f1, ats_float_type f2) { return (f1 <= f2) ? f1 : f2 ; } // square function ATSinline() ats_float_type atspre_square_float (ats_float_type f) { return (f * f) ; } // cube function ATSinline() ats_float_type atspre_cube_float (ats_float_type f) { return (f * f * f) ; } // print function ATSinline() ats_void_type atspre_fprint_float ( ats_ptr_type out, ats_float_type f ) { int n = fprintf ((FILE*)out, "%f", f) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_float] failed.\n") ; } // end of [if] return ; } /* end of [atspre_fprint_float] */ ATSinline() ats_void_type atspre_print_float (ats_float_type f) { // atspre_stdout_view_get () ; atspre_fprint_float ((ats_ptr_type)stdout, f) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_float (ats_float_type f) { // atspre_stderr_view_get () ; atspre_fprint_float ((ats_ptr_type)stderr, f) ; // atspre_stderr_view_set () ; return ; } // stringization ATSinline() ats_ptr_type atspre_tostrptr_float (ats_float_type f) { return atspre_tostringf ((ats_ptr_type)"%f", f) ; } // end of [atspre_tostrptr_float] /* ****** ****** */ /* floating point numbers of double precision */ /* ****** ****** */ ATSinline() ats_int_type atspre_int_of_double (ats_double_type d) { return (ats_int_type)d ; } ATSinline() ats_lint_type atspre_lint_of_double (ats_double_type d) { return (ats_lint_type)d ; } ATSinline() ats_llint_type atspre_llint_of_double (ats_double_type d) { return (ats_llint_type)d ; } // end of [atspre_llint_of_double] ATSinline() ats_ullint_type atspre_ullint_of_double (ats_double_type d) { return ((ats_ullint_type)d) ; } // end of [atspre_ullint_of_double] /* ****** ****** */ ATSinline() ats_double_type atspre_double_of_int (ats_int_type i) { return (ats_double_type)i ; } // end of [atspre_double_of_int] ATSinline() ats_double_type atspre_double_of_uint (ats_uint_type u) { return (ats_double_type)u ; } // end of [atspre_double_of_uint] ATSinline() ats_double_type atspre_double_of_lint (ats_lint_type i) { return (ats_double_type)i ; } // end of [atspre_double_of_lint] ATSinline() ats_double_type atspre_double_of_ulint (ats_ulint_type u) { return (ats_double_type)u ; } // end of [atspre_double_of_ulint] ATSinline() ats_double_type atspre_double_of_llint (ats_llint_type i) { return (ats_double_type)i ; } // end of [atspre_double_of_llint] ATSinline() ats_double_type atspre_double_of_ullint (ats_ullint_type u) { return (ats_double_type)u ; } // end of [atspre_double_of_ullint] ATSinline() ats_double_type atspre_double_of_size (ats_size_type sz) { return (ats_double_type)sz ; } // end of [atspre_double_of_size] ATSinline() ats_double_type atspre_double_of_float (ats_float_type f) { return (ats_double_type)f ; } // end of [atspre_double_of_float] ATSinline() ats_double_type atspre_double_of_string (const ats_ptr_type s) { return (ats_double_type)(atof ((char*)s)) ; } // end of [atspre_double_of_string] /* ****** ****** */ ATSinline() ats_double_type atspre_abs_double (ats_double_type f) { return (f >= 0.0 ? f : -f) ; } // end of [atspre_abs_double] ATSinline() ats_double_type atspre_neg_double (ats_double_type f) { return (-f) ; } ATSinline() ats_double_type atspre_succ_double (ats_double_type f) { return (f + 1.0) ; } ATSinline() ats_double_type atspre_pred_double (ats_double_type f) { return (f - 1.0) ; } /* ****** ****** */ ATSinline() ats_double_type atspre_add_double_double (ats_double_type f1, ats_double_type f2) { return (f1 + f2) ; } // end of [atspre_add_double_double] ATSinline() ats_double_type atspre_add_double_int (ats_double_type f1, ats_int_type i2) { return (f1 + i2) ; } // end of [atspre_add_double_int] ATSinline() ats_double_type atspre_add_int_double (ats_int_type i1, ats_double_type f2) { return (i1 + f2) ; } // end of [atspre_add_int_double] ATSinline() ats_double_type atspre_sub_double_double (ats_double_type f1, ats_double_type f2) { return (f1 - f2) ; } // end of [atspre_sub_double_double] ATSinline() ats_double_type atspre_sub_double_int (ats_double_type f1, ats_int_type i2) { return (f1 - i2) ; } ATSinline() ats_double_type atspre_sub_int_double (ats_int_type i1, ats_double_type f2) { return (i1 - f2) ; } // end of [atspre_sub_int_double] ATSinline() ats_double_type atspre_mul_double_double (ats_double_type d1, ats_double_type d2) { return (d1 * d2) ; } // end of [atspre_mul_double_double] ATSinline() ats_double_type atspre_mul_double_int (ats_double_type d1, ats_int_type i2) { return (d1 * (double)i2) ; } // end of [atspre_mul_double_int] ATSinline() ats_double_type atspre_mul_int_double (ats_int_type i1, ats_double_type d2) { return ((double)i1 * d2) ; } // end of [atspre_mul_int_double] ATSinline() ats_double_type atspre_div_double_double (ats_double_type d1, ats_double_type d2) { return (d1 / d2) ; } // end of [atspre_div_double_double] ATSinline() ats_double_type atspre_div_double_int (ats_double_type d1, ats_int_type i2) { return (d1 / (double)i2) ; } // end of [atspre_div_double_int] ATSinline() ats_double_type atspre_div_int_double (ats_int_type i1, ats_double_type d2) { return ((double)i1 / d2) ; } // end of [atspre_div_int_double] ATSinline() ats_bool_type atspre_lt_double_double ( ats_double_type d1, ats_double_type d2 ) { return (d1 < d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_double_double] ATSinline() ats_bool_type atspre_lte_double_double ( ats_double_type d1, ats_double_type d2 ) { return (d1 <= d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_double_double] ATSinline() ats_bool_type atspre_gt_double_double (ats_double_type d1, ats_double_type d2) { return (d1 > d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_double_double] ATSinline() ats_bool_type atspre_gte_double_double (ats_double_type d1, ats_double_type d2) { return (d1 >= d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_double_double] ATSinline() ats_bool_type atspre_eq_double_double (ats_double_type d1, ats_double_type d2) { return (d1 == d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_double_double] ATSinline() ats_bool_type atspre_neq_double_double (ats_double_type d1, ats_double_type d2) { return (d1 != d2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_neq_double_double] // // compare, max and min // ATSinline() ats_int_type atspre_compare_double_double (ats_double_type d1, ats_double_type d2) { if (d1 < d2) return (-1) ; else if (d1 > d2) return ( 1) ; else return 0 ; } // end of [atspre_compare_double_double] ATSinline() ats_double_type atspre_max_double_double (ats_double_type d1, ats_double_type d2) { return (d1 >= d2) ? d1 : d2 ; } // end of [atspre_max_double_double] ATSinline() ats_double_type atspre_min_double_double (ats_double_type d1, ats_double_type d2) { return (d1 <= d2) ? d1 : d2 ; } // end of [atspre_min_double_double] // square function ATSinline() ats_double_type atspre_square_double (ats_double_type d) { return (d * d) ; } // cube function ATSinline() ats_double_type atspre_cube_double (ats_double_type d) { return (d * d * d) ; } // print functions ATSinline() ats_void_type atspre_fprint_double (ats_ptr_type out, ats_double_type f) { int n = fprintf ((FILE *)out, "%f", f) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_double] failed.\n") ; } // end of [if] return ; } /* end of [atspre_fprint_double] */ ATSinline() ats_void_type atspre_print_double (ats_double_type f) { // atspre_stdout_view_get () ; atspre_fprint_double ((ats_ptr_type)stdout, f) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_double] ATSinline() ats_void_type atspre_prerr_double (ats_double_type f) { // atspre_stderr_view_get () ; atspre_fprint_double ((ats_ptr_type)stderr, f) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_double] // stringization ATSinline() ats_ptr_type atspre_tostrptr_double (ats_double_type f) { return atspre_tostringf ((ats_ptr_type)"%f", f) ; } // end of [atspre_tostrptr_double] /* ****** ****** */ /* floating point numbers of long double precision */ /* ****** ****** */ ATSinline() ats_int_type atspre_int_of_ldouble (ats_ldouble_type ld) { return ld ; } ATSinline() ats_lint_type atspre_lint_of_ldouble (ats_ldouble_type ld) { return ld ; } ATSinline() ats_llint_type atspre_llint_of_ldouble (ats_ldouble_type ld) { return ld ; } // ATSinline() ats_ldouble_type atspre_ldouble_of_int (ats_int_type i) { return ((ats_ldouble_type)i) ; } // end of [atspre_ldouble_of_int] ATSinline() ats_ldouble_type atspre_ldouble_of_lint (ats_lint_type li) { return (ats_ldouble_type)li ; } // end of [atspre_ldouble_of_lint] ATSinline() ats_ldouble_type atspre_ldouble_of_llint (ats_llint_type lli) { return (ats_ldouble_type)lli ; } // end of [atspre_ldouble_of_llint] // ATSinline() ats_ldouble_type atspre_ldouble_of_float (ats_float_type f) { return ((ats_ldouble_type)f) ; } // end of [atspre_ldouble_of_float] ATSinline() ats_ldouble_type atspre_ldouble_of_double (ats_double_type d) { return ((ats_ldouble_type)d) ; } // end of [atspre_ldouble_of_double] // ATSinline() ats_ldouble_type atspre_abs_ldouble (ats_ldouble_type f) { return (f >= 0.0 ? f : -f) ; } ATSinline() ats_ldouble_type atspre_neg_ldouble (ats_ldouble_type f) { return (-f) ; } ATSinline() ats_ldouble_type atspre_succ_ldouble (ats_ldouble_type f) { return (f + 1.0) ; } ATSinline() ats_ldouble_type atspre_pred_ldouble (ats_ldouble_type f) { return (f - 1.0) ; } ATSinline() ats_ldouble_type atspre_add_ldouble_ldouble (ats_ldouble_type f1, ats_ldouble_type f2) { return (f1 + f2) ; } // end of [atspre_add_ldouble_ldouble] ATSinline() ats_ldouble_type atspre_sub_ldouble_ldouble (ats_ldouble_type f1, ats_ldouble_type f2) { return (f1 - f2) ; } // end of [atspre_sub_ldouble_ldouble] // ATSinline() ats_ldouble_type atspre_mul_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 * ld2) ; } // end of [atspre_mul_ldouble_ldouble] ATSinline() ats_ldouble_type atspre_mul_int_ldouble (ats_int_type i1, ats_ldouble_type ld2) { return ((long double)i1 * ld2) ; } // end of [atspre_mul_int_ldouble] ATSinline() ats_ldouble_type atspre_mul_ldouble_int (ats_ldouble_type ld1, ats_int_type i2) { return (ld1 * (long double)i2) ; } // end of [atspre_mul_ldouble_int] // ATSinline() ats_ldouble_type atspre_div_ldouble_ldouble ( ats_ldouble_type ld1, ats_ldouble_type ld2 ) { return (ld1 / ld2) ; } // end of [atspre_div_ldouble_ldouble] ATSinline() ats_ldouble_type atspre_div_ldouble_int (ats_ldouble_type ld1, ats_int_type i2) { return (ld1 / (long double)i2) ; } // end of [atspre_div_ldouble_int] // ATSinline() ats_bool_type atspre_lt_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 == ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lt_ldouble_ldouble] ATSinline() ats_bool_type atspre_lte_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 <= ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_lte_ldouble_ldouble] ATSinline() ats_bool_type atspre_gt_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 > ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gt_ldouble_ldouble] ATSinline() ats_bool_type atspre_gte_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 >= ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_gte_ldouble_ldouble] ATSinline() ats_bool_type atspre_eq_ldouble_ldouble ( ats_ldouble_type ld1, ats_ldouble_type ld2 ) { return (ld1 == ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_eq_ldouble_ldouble] ATSinline() ats_bool_type atspre_neq_ldouble_ldouble ( ats_ldouble_type ld1, ats_ldouble_type ld2 ) { return (ld1 != ld2 ? ats_true_bool : ats_false_bool) ; } // end of [atspre_neq_ldouble_ldouble] // compare, max and min ATSinline() ats_int_type atspre_compare_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { if (ld1 < ld2) return (-1) ; else if (ld1 > ld2) return ( 1) ; else return 0 ; } // end of [atspre_compare_ldouble_ldouble] ATSinline() ats_ldouble_type atspre_max_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 >= ld2) ? ld1 : ld2 ; } // end of [atspre_max_ldouble_ldouble] ATSinline() ats_ldouble_type atspre_min_ldouble_ldouble (ats_ldouble_type ld1, ats_ldouble_type ld2) { return (ld1 <= ld2) ? ld1 : ld2 ; } // end of [atspre_min_ldouble_ldouble] // square function ATSinline() ats_ldouble_type atspre_square_ldouble (ats_ldouble_type ld) { return (ld * ld) ; } // cube function ATSinline() ats_ldouble_type atspre_cube_ldouble (ats_ldouble_type ld) { return (ld * ld * ld) ; } // print functions ATSinline() ats_void_type atspre_fprint_ldouble ( ats_ptr_type out, ats_ldouble_type f ) { int n = fprintf ((FILE *)out, "%Lf", f) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"exit(ATS): [fprint_ldouble] failed.\n") ; } // end of [if] return ; } /* end of [atspre_fprint_ldouble] */ ATSinline() ats_void_type atspre_print_ldouble (ats_ldouble_type f) { // atspre_stdout_view_get () ; atspre_fprint_ldouble ((ats_ptr_type)stdout, f) ; // atspre_stdout_view_set () ; return ; } // end of [atspre_print_ldouble] ATSinline() ats_void_type atspre_prerr_ldouble (ats_ldouble_type f) { // atspre_stderr_view_get () ; atspre_fprint_ldouble ((ats_ptr_type)stderr, f) ; // atspre_stderr_view_set () ; return ; } // end of [atspre_prerr_ldouble] // stringization ATSinline() ats_ptr_type atspre_tostrptr_ldouble (ats_ldouble_type f) { return atspre_tostringf ((ats_ptr_type)"%Lf", f) ; } // end of [atspre_tostrptr_ldouble] /* ****** ****** */ #endif /* ATS_PRELUDE_FLOAT_CATS */ /* end of [float.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/.keeper0000664000175000017500000000000012655455557020027 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/char.cats0000664000175000017500000001571712655455557020371 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_CHAR_CATS #define ATS_PRELUDE_CHAR_CATS /* ****** ****** */ #include /* ****** ****** */ #if(0) #ifndef isascii extern int isascii (int c) ; // _XOPEN_SOURCE #endif // end of [isascii] #ifndef isblank extern int isblank (int c) ; // _XOPEN_SOURCE >= 600 #endif // end of [isblank] #ifndef toascii extern int toascii (int c) ; // _XOPEN_SOURCE #endif // end of [toascii] #endif // end of [#if(0)] /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ // // HX: implemented in [prelude/DATS/basics.dats] // extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ /* // // HX: these are now casting functions: // ATSinline() ats_char_type atspre_char_of_schar (ats_schar_type c) { return c ; } ATSinline() ats_schar_type atspre_schar_of_char (ats_char_type c) { return c ; } ATSinline() ats_char_type atspre_char_of_uchar (ats_uchar_type c) { return c ; } ATSinline() ats_uchar_type atspre_uchar_of_char (ats_char_type c) { return c ; } */ /* ****** ****** */ ATSinline() ats_char_type atspre_char_of_int (ats_int_type i) { return i ; } ATSinline() ats_schar_type atspre_schar_of_int (ats_int_type i) { return i ; } ATSinline() ats_uchar_type atspre_uchar_of_int (ats_int_type i) { return i ; } /* ****** ****** */ ATSinline() ats_char_type atspre_char_of_uint (ats_uint_type u) { return u ; } ATSinline() ats_schar_type atspre_schar_of_uint (ats_uint_type u) { return u ; } ATSinline() ats_uchar_type atspre_uchar_of_uint (ats_uint_type u) { return u ; } /* ****** ****** */ #define atspre_char1_of_char atspre_char_of_char #define atspre_char1_of_int atspre_char_of_int #define atspre_char1_of_uint atspre_char_of_uint /* ****** ****** */ ATSinline() ats_int_type atspre_sub_char_char ( ats_char_type c1 , ats_char_type c2 ) { return (c1 - c2) ; } /* end of [atspre_sub_char_char] */ /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_char_char (ats_char_type c1, ats_char_type c2) { return (c1 < c2) ; } // end of [atspre_lt_char_char] ATSinline() ats_bool_type atspre_lte_char_char (ats_char_type c1, ats_char_type c2) { return (c1 <= c2) ; } // end of [atspre_lte_char_char] ATSinline() ats_bool_type atspre_gt_char_char (ats_char_type c1, ats_char_type c2) { return (c1 > c2) ; } // end of [atspre_gt_char_char] ATSinline() ats_bool_type atspre_gte_char_char (ats_char_type c1, ats_char_type c2) { return (c1 >= c2) ; } // end of [atspre_gte_char_char] ATSinline() ats_bool_type atspre_eq_char_char (ats_char_type c1, ats_char_type c2) { return (c1 == c2) ; } // end of [atspre_eq_char_char] ATSinline() ats_bool_type atspre_neq_char_char (ats_char_type c1, ats_char_type c2) { return (c1 != c2) ; } // end of [atspre_neq_char_char] ATSinline() ats_int_type atspre_compare_char_char (ats_char_type c1, ats_char_type c2) { int i = c1 - c2 ; if (i > 0) return 1 ; if (i < 0) return -1 ; return 0 ; } /* end of [atspre_compare_char_char] */ /* ****** ****** */ // // HX: print functions // ATSinline() ats_void_type atspre_fprint_char ( ats_ptr_type out, ats_char_type c ) { int n = fputc ((unsigned char)c, (FILE*)out) ; if (n < 0) { ats_exit_errmsg (n, (ats_ptr_type)"Exit: [fprint_char] failed.\n") ; } // end of [if] return ; } // end of [atspre_fprint_char] ATSinline() ats_void_type atspre_print_char (ats_char_type c) { // atspre_stdout_view_get () ; atspre_fprint_char((ats_ptr_type)stdout, c) ; // atspre_stdout_view_set () ; return ; } ATSinline() ats_void_type atspre_prerr_char (ats_char_type c) { // atspre_stderr_view_get () ; atspre_fprint_char((ats_ptr_type)stderr, c) ; // atspre_stderr_view_set () ; return ; } // stringization ATSinline() ats_ptr_type atspre_tostrptr_char (ats_char_type c) { char *p ; p = (char *)ATS_MALLOC(2) ; *p = (char)c ; *(p+1) = '\000' ; return (ats_ptr_type)p ; } // end of [atspre_tostrptr_char] /* ****** ****** */ ATSinline() ats_bool_type atspre_char_isalnum (ats_char_type c) { return isalnum((int)c) ; } ATSinline() ats_bool_type atspre_char_isalpha (ats_char_type c) { return isalpha((int)c) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_char_isascii (ats_char_type c) { return isascii((int)c) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_char_isblank (ats_char_type c) { return isblank((int)c) ; } /* ****** ****** */ ATSinline() ats_bool_type atspre_char_iscntrl (ats_char_type c) { return iscntrl((int)c) ; } ATSinline() ats_bool_type atspre_char_isdigit (ats_char_type c) { return isdigit((int)c) ; } ATSinline() ats_bool_type atspre_char_isgraph (ats_char_type c) { return isgraph((int)c) ; } ATSinline() ats_bool_type atspre_char_islower (ats_char_type c) { return islower((int)c) ; } ATSinline() ats_bool_type atspre_char_isnull (ats_char_type c) { return (c == '\000' ? ats_true_bool : ats_false_bool) ; } // end of [atspre_char_isnull] ATSinline() ats_bool_type atspre_char_isprint (ats_char_type c) { return isprint((int)c) ; } ATSinline() ats_bool_type atspre_char_ispunct (ats_char_type c) { return ispunct((int)c) ; } ATSinline() ats_bool_type atspre_char_isspace (ats_char_type c) { return isspace((int)c) ; } ATSinline() ats_bool_type atspre_char_isupper (ats_char_type c) { return isupper((int)c) ; } ATSinline() ats_bool_type atspre_char_isxdigit (ats_char_type c) { return isxdigit((int)c) ; } /* ****** ****** */ ATSinline() ats_char_type atspre_char_tolower (ats_char_type c) { return (int)tolower((int)c) ; } ATSinline() ats_char_type atspre_char_toupper (ats_char_type c) { return (int)toupper((int)c) ; } /* ****** ****** */ #endif /* ATS_PRELUDE_CHAR_CATS */ /* end of [char.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/CATS/bool.cats0000664000175000017500000001146012655455557020376 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2002-2008 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) */ /* ****** ****** */ #ifndef ATS_PRELUDE_BOOL_CATS #define ATS_PRELUDE_BOOL_CATS /* ****** ****** */ extern int fprintf (FILE *stream, const char *format, ...) ; // in [stdio.h] /* ****** ****** */ extern ats_void_type ats_exit_errmsg(ats_int_type n, ats_ptr_type msg) ; /* ****** ****** */ ATSinline() ats_bool_type atspre_neg_bool (ats_bool_type b) { return (b ? ats_false_bool : ats_true_bool) ; } // end of [atspre_neg_bool] /* ****** ****** */ #if(0) ATSinline() ats_bool_type atspre_add_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { if (b1) { return ats_true_bool ; } else { return b2 ; } } // end of [atspre_add_bool_bool] ATSinline() ats_bool_type atspre_mul_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { if (b1) { return b2 ; } else { return ats_false_bool ; } } // end of [atspre_mul_bool_bool] #endif #define atspre_add_bool_bool(b1, b2) ((b1) || (b2)) #define atspre_mul_bool_bool(b1, b2) ((b1) && (b2)) /* ****** ****** */ ATSinline() ats_bool_type atspre_lt_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { return (!b1 && b2) ; } // end of [atspre_lt_bool_bool] ATSinline() ats_bool_type atspre_lte_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { return (!b1 || b2) ; } // end of [atspre_lte_bool_bool] ATSinline() ats_bool_type atspre_gt_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { return (b1 && !b2) ; } // end of [atspre_gt_bool_bool] ATSinline() ats_bool_type atspre_gte_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { return (b1 || !b2) ; } // end of [atspre_gte_bool_bool] ATSinline() ats_bool_type atspre_eq_bool_bool ( ats_bool_type b1, ats_bool_type b2 ) { if (b1) { return b2 ; } else { return !b2 ; } } // end of [atspre_eq_bool_bool] ATSinline() ats_bool_type atspre_neq_bool_bool (ats_bool_type b1, ats_bool_type b2) { if (b1) { return !b2 ; } else { return b2 ; } } // end of [atspre_neq_bool_bool] /* ****** ****** */ // // HX: print functions // ATSinline() ats_void_type atspre_fprint_bool ( ats_ptr_type out, ats_bool_type b ) { int n ; if (b) { n = fprintf ((FILE *)out, "true") ; } else { n = fprintf ((FILE *)out, "false") ; } // end of [if] if (n < 0) { ats_exit_errmsg(n, (ats_ptr_type)"Exit: [fprint_bool] failed.\n") ; } // end of [if] return ; } // end of [atspre_fprint_bool] ATSinline() ats_void_type atspre_print_bool (ats_bool_type b) { // atspre_stdout_view_get() ; atspre_fprint_bool ((ats_ptr_type)stdout, b) ; // atspre_stdout_view_set() ; return ; } // end of [atspre_print_bool] ATSinline() ats_void_type atspre_prerr_bool (ats_bool_type b) { // atspre_stderr_view_get() ; atspre_fprint_bool ((ats_ptr_type)stderr, b) ; // atspre_stderr_view_set() ; return ; } // end of [atspre_prerr_bool] // // HX: stringization // ATSinline() ats_ptr_type atspre_tostring_bool (ats_bool_type b) { return (b ? (ats_ptr_type)"true" : (ats_ptr_type)"false") ; } // end of [atspre_tostring_bool] /* ****** ****** */ #define atspre_neg_bool1 atspre_neg_bool #define atspre_add_bool1_bool1 atspre_add_bool_bool #define atspre_mul_bool1_bool1 atspre_mul_bool_bool #define atspre_lt_bool1_bool1 atspre_lt_bool_bool #define atspre_lte_bool1_bool1 atspre_lte_bool_bool #define atspre_gt_bool1_bool1 atspre_gt_bool_bool #define atspre_gte_bool1_bool1 atspre_gte_bool_bool #define atspre_eq_bool1_bool1 atspre_eq_bool_bool #define atspre_neq_bool1_bool1 atspre_neq_bool_bool #define atspre_compare_bool1_bool1 atspre_compare_bool_bool /* ****** ****** */ #endif /* ATS_PRELUDE_BOOL_CATS */ /* end of [bool.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_filebas_dats.c0000664000175000017500000010322212655455557021432 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/sys/CATS/stat.cats" #include "libc/sys/CATS/types.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ #include #include typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } *charlst ; // end of [typedef] ATSinline() ats_ptr_type string_make_charlst_rev (ats_int_type sz, ats_ptr_type cs) { char *s0, *s ; charlst cs_next ; s0 = (char*)ATS_MALLOC (sz + 1) ; s = s0 + sz ; *s-- = '\0' ; while (cs != (charlst)0) { *s-- = ((charlst)cs)->atslab_0 ; cs_next = ((charlst)cs)->atslab_1 ; ATS_FREE (cs) ; cs = cs_next ; } // end of [while] return s0 ; } /* string_make_charlst_rev */ /* type definitions */ typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_nil_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_cons_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_nil_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_cons_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_char_type, atspre_char_of_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_iadd) (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_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_ssize_type, atspre_ssize1_of_int1) (ats_int_type) ; ATSextern_fun(ats_ssize_type, atspre_sub_ssize1_ssize1) (ats_ssize_type, ats_ssize_type) ; ATSextern_fun(ats_bool_type, atspre_neq_ssize1_ssize1) (ats_ssize_type, ats_ssize_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_int_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line_vt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_make_file) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_make_file) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_vt_make_file) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_vt_make_file) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_fclose_exn) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_fclose_exn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, string_make_charlst_rev) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_fputc_exn) (ats_char_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_fputs_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_fflush_exn) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISBLK) (ats_mode_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISCHR) (ats_mode_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISDIR) (ats_mode_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISFIFO) (ats_mode_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISREG) (ats_mode_type) ; ATSextern_fun(ats_bool_type, atslib_S_ISLNK) (ats_mode_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type loop_1 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_bool_type __ats_fun_7 (ats_uint_type arg0) ; static ats_bool_type __ats_fun_9 (ats_uint_type arg0) ; static ats_bool_type __ats_fun_11 (ats_uint_type arg0) ; static ats_bool_type __ats_fun_13 (ats_uint_type arg0) ; static ats_bool_type __ats_fun_15 (ats_uint_type arg0) ; static ats_void_type loop_18 (ats_ptr_type arg0, ats_ref_type arg1, ats_ssize_type arg2) ; static ats_ptr_type __ats_fun_22 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr) ; static ats_ptr_type __ats_fun_24 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_24_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_24_clofun (ats_clo_ptr_type cloptr) ; static ats_ptr_type __ats_fun_26 (ats_ptr_type env0, ats_bool_type arg0) ; static ats_clo_ptr_type __ats_fun_26_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_26_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) ; static ats_ptr_type __ats_fun_29 (ats_bool_type arg0) ; static ats_clo_ptr_type __ats_fun_29_closure_make () ; static ats_ptr_type __ats_fun_29_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) ; static ats_ptr_type loop_28 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type __ats_fun_30 (ats_ptr_type env0, ats_bool_type arg0) ; static ats_clo_ptr_type __ats_fun_30_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_30_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 3688(line=135, offs=7) -- 4242(line=155, offs=6) */ ATSstaticdec() ats_ptr_type loop_1 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_char_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; __ats_lab_loop_1: tmp2 = atslib_fgetc_err (arg0) ; tmp3 = atspre_neq_int_int (tmp2, EOF) ; if (tmp3) { tmp4 = atspre_char_of_int (tmp2) ; tmp5 = atspre_neq_char_char (tmp4, '\n') ; if (tmp5) { tmp6 = atspre_iadd (arg1, 1) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp7, atslab_0, tmp4) ; ats_selptrset_mac(anairiats_sum_0, tmp7, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp6 ; arg2 = tmp7 ; goto __ats_lab_loop_1 ; // tail call } else { tmp1 = string_make_charlst_rev (arg1, arg2) ; } /* end of [if] */ } else { tmp8 = atspre_ieq (arg1, 0) ; if (tmp8) { // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp1 = atspre_strptr_null () ; } else { tmp1 = string_make_charlst_rev (arg1, arg2) ; } /* end of [if] */ } /* end of [if] */ return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 3670(line=134, offs=15) -- 4298(line=158, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line_vt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line_vt: tmp9 = (ats_sum_ptr_type)0 ; tmp0 = loop_1 (arg0, 0, tmp9) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line_vt] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 4347(line=161, offs=12) -- 4420(line=163, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line: tmp11 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line_vt (arg0) ; tmp10 = ats_castfn_mac(ats_ptr_type, tmp11) ; return (tmp10) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 4871(line=186, offs=13) -- 4956(line=188, offs=2) */ ATSglobaldec() ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__output_line (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__output_line: /* tmp13 = */ atslib_fputs_exn (arg1, arg0) ; /* tmp14 = */ atslib_fputc_exn ('\n', arg0) ; /* tmp12 = */ atslib_fflush_exn (arg0) ; return /* (tmp12) */ ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__output_line] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5197(line=203, offs=18) -- 5418(line=212, offs=4) */ ATSglobaldec() ats_bool_type atspre_test_file_exists (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_stat_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; __ats_lab_atspre_test_file_exists: /* ats_stat_type tmp16 ; */ tmp17 = atslib_stat_err (arg0, (&tmp16)) ; tmp18 = atspre_ieq (tmp17, 0) ; if (tmp18) { tmp15 = ats_true_bool ; } else { tmp15 = ats_false_bool ; } /* end of [if] */ return (tmp15) ; } /* end of [atspre_test_file_exists] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5497(line=218, offs=3) -- 5766(line=228, offs=4) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_stat_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_bool_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_mode_type, tmp24) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode: /* ats_stat_type tmp20 ; */ tmp21 = atslib_stat_err (arg0, (&tmp20)) ; tmp22 = atspre_ieq (tmp21, 0) ; if (tmp22) { tmp24 = ats_select_mac(tmp20, st_mode) ; tmp23 = ((ats_bool_type(*)(ats_uint_type))arg1) (ats_castfn_mac(ats_uint_type, tmp24)) ; if (tmp23) { tmp19 = 1 ; } else { tmp19 = 0 ; } /* end of [if] */ } else { tmp19 = -1 ; } /* end of [if] */ return (tmp19) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5875(line=233, offs=34) -- 5900(line=233, offs=59) */ ATSstaticdec() ats_bool_type __ats_fun_7 (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp26) ; __ats_lab___ats_fun_7: tmp26 = atslib_S_ISBLK (ats_castfn_mac(ats_mode_type, arg0)) ; return (tmp26) ; } /* end of [__ats_fun_7] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5844(line=233, offs=3) -- 5901(line=233, offs=60) */ ATSglobaldec() ats_int_type atspre_test_file_isblk (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp25) ; __ats_lab_atspre_test_file_isblk: tmp25 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (arg0, &__ats_fun_7) ; return (tmp25) ; } /* end of [atspre_test_file_isblk] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5990(line=237, offs=34) -- 6015(line=237, offs=59) */ ATSstaticdec() ats_bool_type __ats_fun_9 (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp28) ; __ats_lab___ats_fun_9: tmp28 = atslib_S_ISCHR (ats_castfn_mac(ats_mode_type, arg0)) ; return (tmp28) ; } /* end of [__ats_fun_9] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 5959(line=237, offs=3) -- 6016(line=237, offs=60) */ ATSglobaldec() ats_int_type atspre_test_file_ischr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp27) ; __ats_lab_atspre_test_file_ischr: tmp27 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (arg0, &__ats_fun_9) ; return (tmp27) ; } /* end of [atspre_test_file_ischr] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6105(line=241, offs=34) -- 6130(line=241, offs=59) */ ATSstaticdec() ats_bool_type __ats_fun_11 (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp30) ; __ats_lab___ats_fun_11: tmp30 = atslib_S_ISDIR (ats_castfn_mac(ats_mode_type, arg0)) ; return (tmp30) ; } /* end of [__ats_fun_11] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6074(line=241, offs=3) -- 6131(line=241, offs=60) */ ATSglobaldec() ats_int_type atspre_test_file_isdir (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp29) ; __ats_lab_atspre_test_file_isdir: tmp29 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (arg0, &__ats_fun_11) ; return (tmp29) ; } /* end of [atspre_test_file_isdir] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6221(line=245, offs=34) -- 6247(line=245, offs=60) */ ATSstaticdec() ats_bool_type __ats_fun_13 (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp32) ; __ats_lab___ats_fun_13: tmp32 = atslib_S_ISFIFO (ats_castfn_mac(ats_mode_type, arg0)) ; return (tmp32) ; } /* end of [__ats_fun_13] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6190(line=245, offs=3) -- 6248(line=245, offs=61) */ ATSglobaldec() ats_int_type atspre_test_file_isfifo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp31) ; __ats_lab_atspre_test_file_isfifo: tmp31 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (arg0, &__ats_fun_13) ; return (tmp31) ; } /* end of [atspre_test_file_isfifo] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6338(line=249, offs=34) -- 6363(line=249, offs=59) */ ATSstaticdec() ats_bool_type __ats_fun_15 (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; __ats_lab___ats_fun_15: tmp34 = atslib_S_ISREG (ats_castfn_mac(ats_mode_type, arg0)) ; return (tmp34) ; } /* end of [__ats_fun_15] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6307(line=249, offs=3) -- 6364(line=249, offs=60) */ ATSglobaldec() ats_int_type atspre_test_file_isreg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp33) ; __ats_lab_atspre_test_file_isreg: tmp33 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_mode (arg0, &__ats_fun_15) ; return (tmp33) ; } /* end of [atspre_test_file_isreg] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6441(line=255, offs=17) -- 6721(line=265, offs=4) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_isemp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_stat_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_off_type, tmp40) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_isemp: /* ats_stat_type tmp36 ; */ tmp37 = atslib_lstat_err (arg0, (&tmp36)) ; tmp38 = atspre_ieq (tmp37, 0) ; if (tmp38) { tmp40 = ats_select_mac(tmp36, st_size) ; tmp39 = atspre_eq_lint_lint (ats_castfn_mac(ats_lint_type, tmp40), 0L) ; if (tmp39) { tmp35 = 1 ; } else { tmp35 = 0 ; } /* end of [if] */ } else { tmp35 = -1 ; } /* end of [if] */ return (tmp35) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_isemp] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 6777(line=268, offs=17) -- 7045(line=278, offs=4) */ ATSglobaldec() ats_int_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_islnk (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_stat_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_mode_type, tmp46) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_islnk: /* ats_stat_type tmp42 ; */ tmp43 = atslib_lstat_err (arg0, (&tmp42)) ; tmp44 = atspre_ieq (tmp43, 0) ; if (tmp44) { tmp46 = ats_select_mac(tmp42, st_mode) ; tmp45 = atslib_S_ISLNK (tmp46) ; if (tmp45) { tmp41 = 1 ; } else { tmp41 = 0 ; } /* end of [if] */ } else { tmp41 = -1 ; } /* end of [if] */ return (tmp41) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__test_file_islnk] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 7224(line=290, offs=5) -- 7714(line=314, offs=4) */ ATSstaticdec() ats_void_type loop_18 (ats_ptr_type arg0, ats_ref_type arg1, ats_ssize_type arg2) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_bool_type, tmp48) ; ATSlocal (ats_ssize_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_char_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ssize_type, tmp55) ; ATSlocal (ats_ssize_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_loop_18: tmp49 = atspre_ssize1_of_int1 (0) ; tmp48 = atspre_neq_ssize1_ssize1 (arg2, tmp49) ; if (tmp48) { tmp50 = atslib_fgetc_err (arg0) ; tmp51 = atspre_gte_int_int (tmp50, 0) ; if (tmp51) { tmp52 = atspre_char_of_int (tmp50) ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp53, atslab_0, tmp52) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp53 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp54 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; tmp56 = atspre_ssize1_of_int1 (1) ; tmp55 = atspre_sub_ssize1_ssize1 (arg2, tmp56) ; arg0 = arg0 ; arg1 = tmp54 ; arg2 = tmp55 ; goto __ats_lab_loop_18 ; // tail call } else { tmp57 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp57 ; } /* end of [if] */ } else { tmp58 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp58 ; } /* end of [if] */ return /* (tmp47) */ ; } /* end of [loop_18] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 7789(line=320, offs=3) -- 7868(line=327, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ssize_type, tmp62) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file: /* ats_ptr_type tmp60 ; */ tmp62 = atspre_ssize1_of_int1 (-1) ; /* tmp61 = */ loop_18 (arg0, (&tmp60), tmp62) ; tmp59 = tmp60 ; return (tmp59) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 7944(line=331, offs=3) -- 8052(line=339, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file_len (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file_len: /* ats_ptr_type tmp64 ; */ /* tmp65 = */ loop_18 (arg0, (&tmp64), ats_castfn_mac(ats_ssize_type, ats_castfn_mac(ats_size_type, arg1))) ; tmp63 = tmp64 ; return (tmp63) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_list_vt_make_file_len] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8179(line=347, offs=11) -- 8427(line=356, offs=22) */ ATSstaticdec() ats_ptr_type __ats_fun_22 (ats_ptr_type env0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_char_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab___ats_fun_22: tmp68 = atslib_fgetc_err (env0) ; tmp69 = atspre_neq_int_int (tmp68, EOF) ; if (tmp69) { tmp70 = atspre_char_of_int (tmp68) ; tmp71 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_make_file (env0) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp67, atslab_0, tmp70) ; ats_selptrset_mac(anairiats_sum_0, tmp67, atslab_1, tmp71) ; } else { /* tmp72 = */ atslib_fclose_exn (env0) ; tmp67 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp67) ; } /* end of [__ats_fun_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_22_closure_type ; ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_22 (((__ats_fun_22_closure_type*)cloptr)->closure_env_0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_22_closure_init (__ats_fun_22_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_22_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) { __ats_fun_22_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_22_closure_type)) ; __ats_fun_22_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8171(line=347, offs=3) -- 8427(line=356, offs=22) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_make_file (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_make_file: ats_instr_move_lazy_delay_mac (tmp66, ats_ptr_type, __ats_fun_22_closure_make (arg0)) ; return (tmp66) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_make_file] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8531(line=363, offs=11) -- 8815(line=372, offs=24) */ ATSstaticdec() ats_ptr_type __ats_fun_24 (ats_ptr_type env0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_bool_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab___ats_fun_24: tmp75 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__input_line (env0) ; tmp76 = atspre_stropt_is_some (tmp75) ; if (tmp76) { tmp77 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_make_file (env0) ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp74, atslab_0, ats_castfn_mac(ats_ptr_type, tmp75)) ; ats_selptrset_mac(anairiats_sum_1, tmp74, atslab_1, tmp77) ; } else { /* tmp78 = */ atslib_fclose_exn (env0) ; tmp74 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp74) ; } /* end of [__ats_fun_24] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_24_closure_type ; ats_ptr_type __ats_fun_24_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_24 (((__ats_fun_24_closure_type*)cloptr)->closure_env_0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_24_closure_init (__ats_fun_24_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_24_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_24_closure_make (ats_ptr_type env0) { __ats_fun_24_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_24_closure_type)) ; __ats_fun_24_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8523(line=363, offs=3) -- 8815(line=372, offs=24) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_make_file (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_make_file: ats_instr_move_lazy_delay_mac (tmp73, ats_ptr_type, __ats_fun_24_closure_make (arg0)) ; return (tmp73) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_make_file] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8969(line=381, offs=5) -- 9381(line=397, offs=2) */ ATSstaticdec() ats_ptr_type __ats_fun_26 (ats_ptr_type env0, ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_char_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; __ats_lab___ats_fun_26: if (arg0) { tmp81 = atslib_fgetc_err (env0) ; tmp82 = atspre_gte_int_int (tmp81, 0) ; if (tmp82) { tmp83 = atspre_char_of_int (tmp81) ; tmp84 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_vt_make_file (env0) ; tmp80 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp80, atslab_0, tmp83) ; ats_selptrset_mac(anairiats_sum_0, tmp80, atslab_1, tmp84) ; } else { /* tmp85 = */ atslib_fclose_exn (env0) ; tmp80 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } else { /* tmp80 = */ atslib_fclose_exn (env0) ; } /* end of [if] */ return (tmp80) ; } /* end of [__ats_fun_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_26_closure_type ; ats_ptr_type __ats_fun_26_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) { return __ats_fun_26 (((__ats_fun_26_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_26_closure_init (__ats_fun_26_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_26_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_26_closure_make (ats_ptr_type env0) { __ats_fun_26_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_26_closure_type)) ; __ats_fun_26_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 8938(line=379, offs=11) -- 9381(line=397, offs=2) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_vt_make_file (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_vt_make_file: ats_instr_move_lazy_ldelay_mac (tmp79, ats_ptr_type, __ats_fun_26_closure_make (arg0)) ; return (tmp79) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__char_stream_vt_make_file] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 10213(line=427, offs=29) -- 10234(line=427, offs=50) */ ATSstaticdec() ats_ptr_type __ats_fun_29 (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; __ats_lab___ats_fun_29: if (arg0) { tmp100 = (ats_sum_ptr_type)0 ; } else { /* empty */ } /* end of [if] */ return (tmp100) ; } /* end of [__ats_fun_29] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_29_closure_type ; ats_ptr_type __ats_fun_29_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) { return __ats_fun_29 (arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_29_closure_init (__ats_fun_29_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_29_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_29_closure_make () { __ats_fun_29_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_29_closure_type)) ; __ats_fun_29_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 9524(line=405, offs=5) -- 10355(line=432, offs=4) */ ATSstaticdec() ats_ptr_type loop_28 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_char_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_loop_28: tmp88 = atslib_fgetc_err (arg0) ; tmp89 = atspre_gte_int_int (tmp88, 0) ; if (tmp89) { tmp90 = atspre_char_of_int (tmp88) ; tmp91 = atspre_neq_char_char (tmp90, '\n') ; if (tmp91) { tmp92 = atspre_iadd (arg1, 1) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp93, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_0, tmp93, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp92 ; arg2 = tmp93 ; goto __ats_lab_loop_28 ; // tail call } else { tmp94 = string_make_charlst_rev (arg1, arg2) ; tmp95 = ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_vt_make_file (arg0) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_1, tmp95) ; } /* end of [if] */ } else { /* tmp96 = */ atslib_fclose_exn (arg0) ; tmp97 = atspre_igt (arg1, 0) ; if (tmp97) { tmp98 = string_make_charlst_rev (arg1, arg2) ; ats_instr_move_lazy_ldelay_mac (tmp99, ats_ptr_type, __ats_fun_29_closure_make ()) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_0, tmp98) ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_1, tmp99) ; } else { // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp87 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } /* end of [if] */ return (tmp87) ; } /* end of [loop_28] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 10385(line=436, offs=1) -- 10525(line=442, offs=2) */ ATSstaticdec() ats_ptr_type __ats_fun_30 (ats_ptr_type env0, ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab___ats_fun_30: if (arg0) { tmp102 = (ats_sum_ptr_type)0 ; tmp101 = loop_28 (env0, 0, tmp102) ; } else { /* tmp101 = */ atslib_fclose_exn (env0) ; } /* end of [if] */ return (tmp101) ; } /* end of [__ats_fun_30] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_30_closure_type ; ats_ptr_type __ats_fun_30_clofun (ats_clo_ptr_type cloptr, ats_bool_type arg0) { return __ats_fun_30 (((__ats_fun_30_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_30_closure_init (__ats_fun_30_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_30_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_30_closure_make (ats_ptr_type env0) { __ats_fun_30_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_30_closure_type)) ; __ats_fun_30_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/research/Anairiats/prelude/DATS/filebas.dats: 9486(line=403, offs=11) -- 10552(line=444, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_vt_make_file (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_vt_make_file: ats_instr_move_lazy_ldelay_mac (tmp86, ats_ptr_type, __ats_fun_30_closure_make (arg0)) ; return (tmp86) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__line_stream_vt_make_file] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2filebas_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2stat_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2sys_2SATS_2types_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2filebas_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_filebas_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_integer_dats.c0000664000175000017500000001030312655455557021457 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imul2) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_ndiv2) (ats_int_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2integer_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2integer_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2integer_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_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 */ // stringization ats_ptr_type atspre_tostrptr_llint (ats_llint_type i0) { ats_llint_type i, i1 ; int n ; char *res ; // i1 = (i0 >= 0 ? i0 : -i0) ; for (i = i1, n = 0; i > 0; i = i / 10) n += 1 ; if (i0 < 0) n += 1 ; if (i0 == 0) n = 1; res = ATS_MALLOC(n+1) ; res = res + n ; *res = '\000' ; for (i = i1, n = 0; i > 0; i = i / 10) { *--res = ('0' + i % 10) ; } // end of [for] if (i0 < 0) *--res = '-' ; if (i0 == 0) *--res = '0' ; // return res ; } // end of [atspre_tostrptr_llint] /* ****** ****** */ ats_ptr_type atspre_tostrptr_ullint (ats_ullint_type i0) { ats_ullint_type i; int n ; char *res ; // for (i = i0, n = 0; i > 0; i = i / 10) n += 1 ; if (i0 == 0) n = 1 ; res = ATS_MALLOC(n+1) ; res = res + n; *res = '\000' ; for (i = i0, n = 0; i > 0; i = i / 10) { *--res = ('0' + i % 10) ; } // end of [for] if (i0 == 0) *--res = '0' ; // return res ; } // end of [atspre_tostrptr_ullint] /* ****** ****** */ /* end of [DATS_integer_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_lazy_dats.c0000664000175000017500000000611612655455557021010 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_isub) (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_ieq) (ats_int_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2lazy_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2lazy_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2lazy_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 [DATS_lazy_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/basics_sta_sats.c0000664000175000017500000000752012655455557021350 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__unit_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__box_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__box_vt_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list0_cons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list0_nil_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__option0_some_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__option0_none_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_nil_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_cons_1) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_nil_0) ; ATSglobal(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_cons_1) ; /* exn constructor declarations */ /* static load function */ ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__unit_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__box_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__box_vt_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list0_cons_0.tag = 0 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list0_nil_1.tag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0.tag = 0 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1.tag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__option0_some_0.tag = 0 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__option0_none_1.tag = 1 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1.tag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0.tag = 0 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1.tag = 1 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1.tag = 1 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_nil_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_cons_1.tag = 1 ; ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_nil_0.tag = 0 ; // ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__stream_vt_cons_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [basics_sta_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/.keeper0000664000175000017500000000000012655455557017275 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_sizetype_dats.c0000664000175000017500000001037312655455557021705 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_size_type, atspre_sub_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_size_type, atspre_div2_size1_size1) (ats_size_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/sizetype.dats: 1658(line=46, offs=9) -- 2092(line=63, offs=4) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2prelude_2SATS_2sizetype_2esats__divmod_size1_size1 (ats_size_type arg0, ats_size_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_size_type, tmp0) ; ATSlocal (ats_size_type, tmp1) ; ATSlocal (ats_size_type, tmp2) ; ATSlocal (ats_size_type, tmp3) ; ATSlocal (ats_size_type, tmp4) ; ATSlocal (ats_size_type, tmp5) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2sizetype_2esats__divmod_size1_size1: tmp1 = atspre_div2_size1_size1 (arg0, arg1) ; tmp2 = ats_selsin_mac(tmp1, atslab_1) ; tmp3 = atspre_mul2_size1_size1 (tmp2, arg1) ; tmp4 = ats_selsin_mac(tmp3, atslab_1) ; tmp5 = atspre_sub_size1_size1 (arg0, tmp4) ; ats_ptrget_mac(ats_size_type, arg2) = tmp5 ; tmp0 = tmp2 ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2sizetype_2esats__divmod_size1_size1] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2sizetype_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2sizetype_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2sizetype_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_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 [DATS_sizetype_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_printf_dats.c0000664000175000017500000001425312655455557021334 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 "libc/CATS/stdarg.cats" /* external codes at top */ #define ATSPRE_SPRINTF_GUESS 16 /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_ptr_type, atspre_vsprintf_size) (ats_size_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, atspre_vsprintf) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, atslib_va_end) (ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/printf.dats: 3563(line=139, offs=16) -- 3736(line=145, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2printf_2esats__tostringf_size (ats_size_type arg0, ats_ptr_type arg1, ...) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; ATSlocal (va_list, arg2) ; va_start(arg2, arg1) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2printf_2esats__tostringf_size: tmp1 = atspre_vsprintf_size (arg0, arg1, (&arg2)) ; /* tmp2 = */ atslib_va_end ((&arg2)) ; tmp0 = tmp1 ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2printf_2esats__tostringf_size] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/printf.dats: 3785(line=148, offs=11) -- 3942(line=154, offs=4) */ ATSglobaldec() ats_ptr_type atspre_tostringf (ats_ptr_type arg0, ...) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; __ats_lab_atspre_tostringf: tmp4 = atspre_vsprintf (arg0, (&arg1)) ; /* tmp5 = */ atslib_va_end ((&arg1)) ; tmp3 = tmp4 ; return (tmp3) ; } /* end of [atspre_tostringf] */ /* static load function */ extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2printf_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__staload_flag = 1 ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdarg_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2printf_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2printf_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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 */ ats_void_type atspre_exit_prerrf ( const ats_int_type status, const ats_ptr_type fmt, ... ) { va_list ap ; va_start(ap, fmt) ; vfprintf(stderr, (char*)fmt, ap) ; va_end(ap) ; /* fprintf (stderr, "atspre_exit_prerrf: status = %i\n", status) ; */ exit(status) ; return ; // deadcode } /* end of [atspre_exit_prerrf] */ ats_void_type atspre_assert_prerrf ( ats_bool_type assertion, ats_ptr_type fmt, ... ) { int err ; va_list ap ; if (!assertion) { /* assertion is false */ va_start(ap, fmt) ; err = vfprintf(stderr, (char*)fmt, ap) ; va_end(ap) ; if (err < 0) { ats_exit_errmsg ( err, "[atspre_assert_prerrf]: prerrf failed\n" ) ; } else { ats_exit_errmsg (1, "[atspre_assert_prerrf]: assert failed\n") ; } } /* end of [if] */ return ; } /* end of [atspre_assert_prerrf] */ ats_ptr_type atspre_vsprintf_size ( ats_size_type bsz , const ats_ptr_type fmt, ats_ref_type ap0 ) { int n ; char *res ; va_list ap ; // while (1) { res = ATS_MALLOC(bsz) ; va_copy(ap, *(va_list*)ap0) ; n = vsnprintf(res, bsz, (char*)fmt, ap) ; va_end(ap) ; if (n >= 0) { if (n < bsz) return res ; bsz = n+1 ; ATS_FREE(res) ; continue ; } else { return ((ats_ptr_type)0) ; } // end of [if] } // end of [while] // return (ats_ptr_type)0 ; // deadcode // } /* end of [atspre_vsprintf_size] */ ats_ptr_type atspre_vsprintf ( const ats_ptr_type fmt, ats_ref_type ap0 ) { char *res = (char*)atspre_vsprintf_size (ATSPRE_SPRINTF_GUESS, fmt, ap0) ; if (!res) { ats_exit_errmsg (1, "exit(ATS): [atspre_vsprintf] failed.\n") ; } // end of [if] return res ; } // end of [atspre_vsprintf] /* external codes at bot */ /* ****** ****** */ /* end of [DATS_printf_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/prelude/DATS_matrix0_dats.c0000664000175000017500000002102112655455557021405 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2015-1-19: 19h:28m ** */ /* 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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_2 ; ats_size_type atslab_3 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_3 ; ats_size_type atslab_4 ; ats_size_type atslab_5 ; } anairiats_rec_1 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (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_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_gt_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_elt_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz__main) (ats_size_type, ats_size_type, anairiats_rec_0) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_istot_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_nat_nat_nat_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__lemma_for_matrix_subscripting_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__sasp__matrix0_viewt0ype_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_anairiats_rec_1 (anairiats_rec_1 arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_anairiats_rec_1 (anairiats_rec_1 arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (anairiats_rec_1, tmp2) ; __ats_lab_ref_01088_anairiats_rec_1: /* anairiats_rec_1 tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(anairiats_rec_1)) ; return (tmp1) ; } /* end of [ref_01088_anairiats_rec_1] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix0.dats: 2042(line=62, offs=13) -- 2174(line=67, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz (ats_size_type arg0, ats_size_type arg1, anairiats_rec_0 arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (anairiats_rec_1, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz: tmp4 = ats_select_mac(arg2, atslab_2) ; tmp3.atslab_3 = tmp4 ; tmp3.atslab_4 = arg0 ; tmp3.atslab_5 = arg1 ; tmp0 = ref_01088_anairiats_rec_1 (tmp3) ; return (tmp0) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix0.dats: 2261(line=71, offs=18) -- 2336(line=74, offs=4) */ ATSglobaldec() ats_ptr_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz__main (ats_size_type arg0, ats_size_type arg1, anairiats_rec_0 arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (anairiats_rec_1, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz__main: tmp7 = ats_select_mac(arg2, atslab_2) ; tmp6.atslab_3 = tmp7 ; tmp6.atslab_4 = arg0 ; tmp6.atslab_5 = arg1 ; tmp5 = ref_01088_anairiats_rec_1 (tmp6) ; return (tmp5) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_make_arrpsz__main] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix0.dats: 2958(line=94, offs=23) -- 3022(line=96, offs=4) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_row (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_row: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp8 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp9), atslab_4) ; return (tmp8) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_row] */ /* // /home/hwxi/research/Anairiats/prelude/DATS/matrix0.dats: 3070(line=98, offs=23) -- 3134(line=100, offs=4) */ ATSglobaldec() ats_size_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_col (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_size_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_col: tmp11 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp10 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_5) ; return (tmp10) ; } /* end of [ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__matrix0_col] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__staload (void) ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__staload () { static int ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__staload_flag = 0 ; if (ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__staload_flag) return ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2reference_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2matrix0_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration // extern ats_int_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__dynload_flag ; ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__dynload () { // ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__dynload_flag = 1 ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_istot_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_isfun_prfck () ; ATS_2d0_2e2_2e12_2prelude_2SATS_2arith_2esats__mul_nat_nat_nat_prfck () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2matrix0_2edats__lemma_for_matrix_subscripting_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 [DATS_matrix0_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_sats.c0000664000175000017500000002774212655455557021103 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_rec_1 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ecst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eiatm_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eimul_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Esizeof_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eapp_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ecst_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eiatm_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eimul_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Esizeof_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eapp_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19.tag = 19 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_constraint3_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing_print_dats.c0000664000175000017500000017276512655455557021325 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTE_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOLLAR_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASH_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DO_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIX_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPORT_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MACDEF_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITHTYPE_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRDELAY_92) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_ARG_96) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTERN_97) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRVCOPYENV_115) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN3_138) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_arr_141) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_tmp_142) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_srp_144) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_ext_145) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CDATA_149) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_token) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_print.dats: 1516(line=46, offs=3) -- 11245(line=274, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_token (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_char_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_token: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_token_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("AT()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BACKSLASH()")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BANG()")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BAR()")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BQUOTE()")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COLON()")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOLLAR()")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOT()")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQ()")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 20) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("HASH()")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 30) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("TILDE()")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOTINT(%i)"), tmp2) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOTDOT()")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOTDOTDOT()")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQGT()")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQLT()")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQLTGT()")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp1)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQSLASHEQGT()")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp1)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQGTGT()")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp1)->tag != 19) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EQSLASHEQGTGT()")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp1)->tag != 21) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LT()")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp1)->tag != 22) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("GT()")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp1)->tag != 23) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("GTLT()")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp1)->tag != 24) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOTLT()")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp1)->tag != 25) { goto __ats_lab_25_0 ; } __ats_lab_24_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("GTDOT()")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp1)->tag != 26) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DOTLTGTDOT()")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp1)->tag != 27) { goto __ats_lab_27_0 ; } __ats_lab_26_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("MINUSGT()")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp1)->tag != 28) { goto __ats_lab_28_0 ; } __ats_lab_27_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("MINUSLT()")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp1)->tag != 29) { goto __ats_lab_29_0 ; } __ats_lab_28_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("MINUSLTGT()")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_30_0 ; } __ats_lab_29_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COLONLT()")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp1)->tag != 31) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ABSTYPE(%i)"), tmp3) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp1)->tag != 32) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("AND()")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp1)->tag != 33) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("AS()")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp1)->tag != 34) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ASSUME()")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp1)->tag != 35) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BEGIN()")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp1)->tag != 36) { goto __ats_lab_36_0 ; } __ats_lab_35_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("CASE(...)")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp1)->tag != 37) { goto __ats_lab_37_0 ; } __ats_lab_36_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("CLASSDEC()")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp1)->tag != 38) { goto __ats_lab_38_0 ; } __ats_lab_37_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DATASORT()")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp1)->tag != 39) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DATATYPE(%i)"), tmp4) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp1)->tag != 40) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DO()")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp1)->tag != 41) { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DYNLOAD()")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp1)->tag != 42) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ELSE()")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp1)->tag != 43) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("END()")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp1)->tag != 44) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EXCEPTION()")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp1)->tag != 45) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EXTERN()")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp1)->tag != 46) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EXTYPE()")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp1)->tag != 47) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EXTVAR()")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp1)->tag != 48) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FIX(%i)"), tmp5) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp1)->tag != 49) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FIXITY(...)")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp1)->tag != 50) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FOR()")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp1)->tag != 51) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FORSTAR()")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp1)->tag != 52) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FUN(...)")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp1)->tag != 53) { goto __ats_lab_53_0 ; } __ats_lab_52_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IF()")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp1)->tag != 54) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IMPLEMENT(%i)"), tmp6) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp1)->tag != 55) { goto __ats_lab_55_0 ; } __ats_lab_54_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IMPORT()")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp1)->tag != 56) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IN()")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp1)->tag != 57) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LAM(%i)"), tmp7) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp1)->tag != 58) { goto __ats_lab_58_0 ; } __ats_lab_57_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LET()")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp1)->tag != 59) { goto __ats_lab_59_0 ; } __ats_lab_58_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LOCAL()")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp1)->tag != 60) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("MACDEF(%i)"), tmp8) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp1)->tag != 61) { goto __ats_lab_61_0 ; } __ats_lab_60_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("NONFIX()")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp1)->tag != 62) { goto __ats_lab_62_0 ; } __ats_lab_61_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("OVERLOAD()")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp1)->tag != 63) { goto __ats_lab_63_0 ; } __ats_lab_62_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("OF()")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp1)->tag != 64) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("OP()")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp1)->tag != 65) { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("REC()")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp1)->tag != 66) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SIF()")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp1)->tag != 67) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SCASE()")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp1)->tag != 68) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SORTDEF()")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp1)->tag != 69) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("STACST()")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp1)->tag != 70) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("STADEF()")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp1)->tag != 71) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("STALOAD()")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp1)->tag != 72) { goto __ats_lab_72_0 ; } __ats_lab_71_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("STATIC()")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp1)->tag != 73) { goto __ats_lab_73_0 ; } __ats_lab_72_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SYMELIM()")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp1)->tag != 74) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SYMINTR()")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp1)->tag != 75) { goto __ats_lab_75_0 ; } __ats_lab_74_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("THEN()")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp1)->tag != 76) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("TKINDEF()")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp1)->tag != 77) { goto __ats_lab_77_0 ; } __ats_lab_76_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("TRY()")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp1)->tag != 78) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("TYPE(%i)"), tmp9) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp1)->tag != 79) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("TYPEDEF(%i)"), tmp10) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp1)->tag != 80) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("VAL(...)")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp1)->tag != 81) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("VAR(%i)"), tmp11) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp1)->tag != 82) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WHEN()")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp1)->tag != 83) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WHERE()")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp1)->tag != 84) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WHILE()")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp1)->tag != 85) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WHILESTAR()")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp1)->tag != 86) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WITH()")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp1)->tag != 87) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("WITHTYPE(%i)"), tmp12) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp1)->tag != 88) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ADDRAT()")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp1)->tag != 89) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FOLDAT()")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp1)->tag != 90) { goto __ats_lab_90_0 ; } __ats_lab_89_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FREEAT()")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp1)->tag != 91) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("VIEWAT()")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp1)->tag != 92) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRDELAY(%i)"), tmp13) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp1)->tag != 93) { goto __ats_lab_93_0 ; } __ats_lab_92_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRARRPSZ()")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp1)->tag != 94) { goto __ats_lab_94_0 ; } __ats_lab_93_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRD2CTYPE()")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp1)->tag != 95) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREFFMASK()")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp1)->tag != 96) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREFFMASK(%i)"), tmp14) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp1)->tag != 97) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTERN()")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp1)->tag != 98) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTKIND()")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp1)->tag != 99) { goto __ats_lab_99_0 ; } __ats_lab_98_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTYPE()")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp1)->tag != 100) { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTYPE_STRUCT()")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp1)->tag != 101) { goto __ats_lab_101_0 ; } __ats_lab_100_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTVAL()")) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp1)->tag != 102) { goto __ats_lab_102_0 ; } __ats_lab_101_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTFCALL()")) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp1)->tag != 103) { goto __ats_lab_103_0 ; } __ats_lab_102_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLREXTMCALL()")) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp1)->tag != 104) { goto __ats_lab_104_0 ; } __ats_lab_103_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRLITERAL()")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp1)->tag != 105) { goto __ats_lab_105_0 ; } __ats_lab_104_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRMYFILENAME()")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp1)->tag != 106) { goto __ats_lab_106_0 ; } __ats_lab_105_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRMYLOCATION()")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp1)->tag != 107) { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRMYFUNCTION()")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp1)->tag != 108) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRLST(%i)"), tmp15) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp1)->tag != 109) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRREC(%i)"), tmp16) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp1)->tag != 110) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRTUP(%i)"), tmp17) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp1)->tag != 111) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRBREAK()")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp1)->tag != 112) { goto __ats_lab_112_0 ; } __ats_lab_111_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRCONTINUE()")) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp1)->tag != 113) { goto __ats_lab_113_0 ; } __ats_lab_112_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRRAISE()")) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp1)->tag != 114) { goto __ats_lab_114_0 ; } __ats_lab_113_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRSHOWTYPE()")) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp1)->tag != 115) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRVCOPYENV(%i)"), tmp18) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp1)->tag != 116) { goto __ats_lab_116_0 ; } __ats_lab_115_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRTEMPENVER()")) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp1)->tag != 117) { goto __ats_lab_117_0 ; } __ats_lab_116_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRSOLASSERT()")) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp1)->tag != 118) { goto __ats_lab_118_0 ; } __ats_lab_117_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("DLRSOLVERIFY()")) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp1)->tag != 119) { goto __ats_lab_119_0 ; } __ats_lab_118_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPIF()")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp1)->tag != 120) { goto __ats_lab_120_0 ; } __ats_lab_119_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPIFDEF()")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp1)->tag != 121) { goto __ats_lab_121_0 ; } __ats_lab_120_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPIFNDEF()")) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp1)->tag != 122) { goto __ats_lab_122_0 ; } __ats_lab_121_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPTHEN()")) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp1)->tag != 126) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPELSE()")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp1)->tag != 123) { goto __ats_lab_124_0 ; } __ats_lab_123_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPELIF()")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp1)->tag != 124) { goto __ats_lab_125_0 ; } __ats_lab_124_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPELIFDEF()")) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp1)->tag != 125) { goto __ats_lab_126_0 ; } __ats_lab_125_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPELIFNDEF()")) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp1)->tag != 127) { goto __ats_lab_127_0 ; } __ats_lab_126_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPENDIF()")) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp1)->tag != 128) { goto __ats_lab_128_0 ; } __ats_lab_127_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPERROR()")) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp1)->tag != 129) { goto __ats_lab_129_0 ; } __ats_lab_128_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPPRERR()")) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp1)->tag != 130) { goto __ats_lab_130_0 ; } __ats_lab_129_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPPRINT()")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp1)->tag != 131) { goto __ats_lab_131_0 ; } __ats_lab_130_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPASSERT()")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp1)->tag != 132) { goto __ats_lab_132_0 ; } __ats_lab_131_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPUNDEF()")) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp1)->tag != 133) { goto __ats_lab_133_0 ; } __ats_lab_132_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPDEFINE()")) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp1)->tag != 134) { goto __ats_lab_134_0 ; } __ats_lab_133_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPINCLUDE()")) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp1)->tag != 135) { goto __ats_lab_135_0 ; } __ats_lab_134_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPREQUIRE()")) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp1)->tag != 136) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPPRAGMA()")) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp1)->tag != 137) { goto __ats_lab_137_0 ; } __ats_lab_136_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPCODEGEN2()")) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp1)->tag != 138) { goto __ats_lab_138_0 ; } __ats_lab_137_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SRPCODEGEN3()")) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp1)->tag != 139) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_alp(%s)"), tmp19) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp1)->tag != 140) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_sym(%s)"), tmp20) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp1)->tag != 141) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_arr(%s)"), tmp21) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp1)->tag != 142) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_tmp(%s)"), tmp22) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp1)->tag != 143) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_dlr(%s)"), tmp23) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp1)->tag != 144) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_srp(%s)"), tmp24) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp1)->tag != 145) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("IDENT_ext(%s)"), tmp25) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp1)->tag != 146) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("INT(%i; %s)"), tmp26, tmp27) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp1)->tag != 147) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("CHAR(%c)"), tmp28) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp1)->tag != 148) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("FLOAT(%i; %s)"), tmp29, tmp30) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp1)->tag != 149) { goto __ats_lab_149_0 ; } __ats_lab_148_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("CDATA(...)")) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp1)->tag != 150) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("STRING(%s)"), tmp31) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp1)->tag != 151) { goto __ats_lab_151_0 ; } __ats_lab_150_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COMMA()")) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)tmp1)->tag != 152) { goto __ats_lab_152_0 ; } __ats_lab_151_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("SEMICOLON()")) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp1)->tag != 153) { goto __ats_lab_153_0 ; } __ats_lab_152_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LPAREN()")) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp1)->tag != 154) { goto __ats_lab_154_0 ; } __ats_lab_153_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("RPAREN()")) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp1)->tag != 155) { goto __ats_lab_155_0 ; } __ats_lab_154_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LBRACKET()")) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp1)->tag != 156) { goto __ats_lab_156_0 ; } __ats_lab_155_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("RBRACKET()")) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp1)->tag != 157) { goto __ats_lab_157_0 ; } __ats_lab_156_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("LBRACE()")) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp1)->tag != 158) { goto __ats_lab_158_0 ; } __ats_lab_157_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("RBRACE()")) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp1)->tag != 159) { goto __ats_lab_159_0 ; } __ats_lab_158_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATLPAREN()")) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp1)->tag != 160) { goto __ats_lab_160_0 ; } __ats_lab_159_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("QUOTELPAREN()")) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp1)->tag != 161) { goto __ats_lab_161_0 ; } __ats_lab_160_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATLBRACKET()")) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)tmp1)->tag != 162) { goto __ats_lab_162_0 ; } __ats_lab_161_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("QUOTELBRACKET()")) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp1)->tag != 163) { goto __ats_lab_163_0 ; } __ats_lab_162_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("HASHLBRACKET()")) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp1)->tag != 164) { goto __ats_lab_164_0 ; } __ats_lab_163_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATLBRACE()")) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)tmp1)->tag != 165) { goto __ats_lab_165_0 ; } __ats_lab_164_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("QUOTELBRACE()")) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp1)->tag != 166) { goto __ats_lab_166_0 ; } __ats_lab_165_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("BQUOTELPAREN()")) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp1)->tag != 167) { goto __ats_lab_167_0 ; } __ats_lab_166_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COMMALPAREN()")) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp1)->tag != 168) { goto __ats_lab_168_0 ; } __ats_lab_167_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("PERCENTLPAREN()")) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)tmp1)->tag != 169) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EXTCODE(%i, %s)"), tmp32, tmp33) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: if (((ats_sum_ptr_type)tmp1)->tag != 170) { goto __ats_lab_170_0 ; } __ats_lab_169_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COMMENT_line()")) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp1)->tag != 171) { goto __ats_lab_171_0 ; } __ats_lab_170_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COMMENT_block()")) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)tmp1)->tag != 172) { goto __ats_lab_172_0 ; } __ats_lab_171_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("COMMENT_rest()")) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp1)->tag != 173) { goto __ats_lab_173_0 ; } __ats_lab_172_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("ERR()")) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp1)->tag != 174) { goto __ats_lab_174_0 ; } __ats_lab_173_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("EOF()")) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: // if (((ats_sum_ptr_type)tmp1)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_174_1: /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("NONE()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_token] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_print.dats: 11345(line=281, offs=23) -- 11383(line=281, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__print_token (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__print_token: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_token (stdout, arg0) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__print_token] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_lexing_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing_token_dats.c0000664000175000017500000045760112655455557021304 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" /* external codes at top */ typedef ats_ptr_type string ; typedef ats_ptr_type tnode ; /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_2 ; typedef struct { string atslab_0 ; tnode atslab_1 ; } anairiats_rec_3 ; typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infix_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixl_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_prefix_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_postfix_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTE_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOLLAR_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASH_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DO_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIX_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPORT_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MACDEF_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITHTYPE_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRDELAY_92) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_ARG_96) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTERN_97) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRVCOPYENV_115) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN3_138) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172) ; /* external dynamic constant declarations */ ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_mul_int_double) (ats_int_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_int) (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_size_type, atspre_mod1_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_int_type, atspre_compare_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ulint_type, atspre_string_hash_33) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSPROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATATYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAPROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FNX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FUN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFUN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRAXI) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASTFN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLMNT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLEMENT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PREFIX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__POSTFIX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACDEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACRODEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPEDEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROPDEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWDEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHPROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRDELAY) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLDELAY) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_NTM) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_EXN) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_REF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_WRT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_ALL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_V) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_VT) ; ATSextern_fun(ats_void_type, atslib_hashtbl_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_clear__linprb) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__linprb) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint_tsz__linprb) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type, ats_size_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert1_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert2_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DOT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PERCENT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__QMARK) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSPROP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEW) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATATYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAPROP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEW) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIXAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FNX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FUN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFUN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRAXI) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASTFN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLMNT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLEMENT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PREFIX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__POSTFIX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAM) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAMAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAM) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAMAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACRODEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TKINDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPEDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROPDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FORSTAR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILESTAR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHPROP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEW) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDRAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLD) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLDAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREEAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRDELAY) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLDELAY) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_NTM) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_EXN) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_REF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_WRT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_ALL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_V) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_VT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INTZERO) ; /* internal function declarations */ static ats_void_type keyitem_nullify_02058_anairiats_rec_3 (ats_ref_type arg0) ; static ats_bool_type keyitem_isnot_null_02059_anairiats_rec_3 (ats_ref_type arg0) ; static ats_ulint_type hash_key_02053_string (string arg0, ats_clo_ref_type arg1) ; static ats_bool_type equal_key_key_02054_string (string arg0, string arg1, ats_clo_ref_type arg2) ; static ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2ctnode (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) ; static ats_ptr_type hashtbl_ptr_split_046_string_2ctnode (ats_ptr_type arg0, ats_size_type arg1) ; static ats_void_type loop_10 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_clo_ptr_type loop_10_closure_make (string env0, ats_clo_ref_type env1) ; static ats_void_type loop_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type hashtbl_ptr_probe_ofs_054_string_2ctnode (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) ; static ats_void_type hashtbl_ptr_relocate_0103_string_2ctnode (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) ; static ats_void_type hashtbl_resize_0124_string_2ctnode (ats_ptr_type arg0, ats_size_type arg1) ; static ats_bool_type hashtbl_insert_02065_string_2ctnode (ats_ptr_type arg0, string arg1, tnode arg2, ats_ref_type arg3) ; static ats_void_type insert_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type hashtbl_search_02064_string_2ctnode (ats_ptr_type arg0, string arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; ATSstatic (ats_ptr_type, statmp3) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp9) ; ATSstatic (ats_ptr_type, statmp10) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp12) ; ATSstatic (ats_ptr_type, statmp13) ; ATSstatic (ats_ptr_type, statmp14) ; ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp16) ; ATSstatic (ats_ptr_type, statmp17) ; ATSstatic (ats_ptr_type, statmp18) ; ATSstatic (ats_ptr_type, statmp19) ; ATSstatic (ats_ptr_type, statmp20) ; ATSstatic (ats_ptr_type, statmp21) ; ATSstatic (ats_ptr_type, statmp22) ; ATSstatic (ats_ptr_type, statmp23) ; ATSstatic (ats_ptr_type, statmp24) ; ATSstatic (ats_ptr_type, statmp25) ; ATSstatic (ats_ptr_type, statmp26) ; ATSstatic (ats_ptr_type, statmp27) ; ATSstatic (ats_ptr_type, statmp28) ; ATSstatic (ats_ptr_type, statmp29) ; ATSstatic (ats_ptr_type, statmp30) ; ATSstatic (ats_ptr_type, statmp31) ; ATSstatic (ats_ptr_type, statmp32) ; ATSstatic (ats_ptr_type, statmp33) ; ATSstatic (ats_ptr_type, statmp34) ; ATSstatic (ats_ptr_type, statmp35) ; ATSstatic (ats_ptr_type, statmp36) ; ATSstatic (ats_ptr_type, statmp37) ; ATSstatic (ats_ptr_type, statmp38) ; ATSstatic (ats_ptr_type, statmp39) ; ATSstatic (ats_ptr_type, statmp40) ; ATSstatic (ats_ptr_type, statmp41) ; ATSstatic (ats_ptr_type, statmp42) ; ATSstatic (ats_ptr_type, statmp43) ; ATSstatic (ats_ptr_type, statmp44) ; ATSstatic (ats_ptr_type, statmp45) ; ATSstatic (ats_ptr_type, statmp46) ; ATSstatic (ats_ptr_type, statmp47) ; ATSstatic (ats_ptr_type, statmp48) ; ATSstatic (ats_ptr_type, statmp49) ; ATSstatic (ats_ptr_type, statmp50) ; ATSstatic (ats_ptr_type, statmp51) ; ATSstatic (ats_ptr_type, statmp52) ; ATSstatic (ats_ptr_type, statmp53) ; ATSstatic (ats_ptr_type, statmp54) ; ATSstatic (ats_ptr_type, statmp55) ; ATSstatic (ats_ptr_type, statmp56) ; ATSstatic (ats_ptr_type, statmp57) ; ATSstatic (ats_ptr_type, statmp58) ; ATSstatic (ats_ptr_type, statmp59) ; ATSstatic (ats_ptr_type, statmp60) ; ATSstatic (ats_ptr_type, statmp61) ; ATSstatic (ats_ptr_type, statmp62) ; ATSstatic (ats_ptr_type, statmp63) ; ATSstatic (ats_ptr_type, statmp64) ; ATSstatic (ats_ptr_type, statmp65) ; ATSstatic (ats_ptr_type, statmp66) ; ATSstatic (ats_ptr_type, statmp67) ; ATSstatic (ats_ptr_type, statmp68) ; ATSstatic (ats_ptr_type, statmp69) ; ATSstatic (ats_ptr_type, statmp70) ; ATSstatic (ats_ptr_type, statmp71) ; ATSstatic (ats_ptr_type, statmp72) ; ATSstatic (ats_ptr_type, statmp73) ; ATSstatic (ats_ptr_type, statmp74) ; ATSstatic (ats_ptr_type, statmp75) ; ATSstatic (ats_ptr_type, statmp76) ; ATSstatic (ats_ptr_type, statmp77) ; ATSstatic (ats_ptr_type, statmp78) ; ATSstatic (ats_ptr_type, statmp79) ; ATSstatic (ats_ptr_type, statmp80) ; ATSstatic (ats_ptr_type, statmp81) ; ATSstatic (ats_ptr_type, statmp82) ; ATSstatic (ats_ptr_type, statmp83) ; ATSstatic (ats_ptr_type, statmp84) ; ATSstatic (ats_ptr_type, statmp85) ; ATSstatic (ats_ptr_type, statmp86) ; ATSstatic (ats_ptr_type, statmp87) ; ATSstatic (ats_ptr_type, statmp88) ; ATSstatic (ats_ptr_type, statmp89) ; ATSstatic (ats_ptr_type, statmp90) ; ATSstatic (ats_ptr_type, statmp91) ; ATSstatic (ats_ptr_type, statmp92) ; ATSstatic (ats_ptr_type, statmp93) ; ATSstatic (ats_ptr_type, statmp94) ; ATSstatic (ats_ptr_type, statmp95) ; ATSstatic (ats_ptr_type, statmp96) ; ATSstatic (ats_ptr_type, statmp97) ; ATSstatic (ats_ptr_type, statmp98) ; ATSstatic (ats_ptr_type, statmp99) ; ATSstatic (ats_ptr_type, statmp100) ; ATSstatic (ats_ptr_type, statmp101) ; ATSstatic (ats_ptr_type, statmp102) ; ATSstatic (ats_ptr_type, statmp103) ; ATSstatic (ats_ptr_type, statmp104) ; ATSstatic (ats_ptr_type, statmp105) ; ATSstatic (ats_ptr_type, statmp106) ; ATSstatic (ats_ptr_type, statmp107) ; ATSstatic (ats_ptr_type, statmp108) ; ATSstatic (ats_ptr_type, statmp109) ; ATSstatic (ats_ptr_type, statmp110) ; ATSstatic (ats_ptr_type, statmp111) ; ATSstatic (ats_ptr_type, statmp112) ; ATSstatic (ats_ptr_type, statmp113) ; ATSstatic (ats_ptr_type, statmp114) ; ATSstatic (ats_ptr_type, statmp115) ; ATSstatic (ats_ptr_type, statmp116) ; ATSstatic (ats_ptr_type, statmp117) ; ATSstatic (ats_ptr_type, statmp118) ; ATSstatic (ats_ptr_type, statmp119) ; ATSstatic (ats_ptr_type, statmp120) ; ATSstatic (ats_ptr_type, statmp121) ; ATSstatic (ats_ptr_type, statmp130) ; // ATSstatic_void (statmp199) ; ATSstatic (ats_ptr_type, statmp200) ; // ATSstatic_void (statmp201) ; ATSstatic (ats_ptr_type, statmp202) ; // ATSstatic_void (statmp203) ; ATSstatic (ats_ptr_type, statmp204) ; // ATSstatic_void (statmp205) ; ATSstatic (ats_ptr_type, statmp206) ; // ATSstatic_void (statmp207) ; ATSstatic (ats_ptr_type, statmp208) ; // ATSstatic_void (statmp209) ; ATSstatic (ats_ptr_type, statmp210) ; // ATSstatic_void (statmp211) ; ATSstatic (ats_ptr_type, statmp212) ; // ATSstatic_void (statmp213) ; ATSstatic (ats_ptr_type, statmp214) ; // ATSstatic_void (statmp215) ; ATSstatic (ats_ptr_type, statmp216) ; // ATSstatic_void (statmp217) ; ATSstatic (ats_ptr_type, statmp218) ; // ATSstatic_void (statmp219) ; ATSstatic (ats_ptr_type, statmp220) ; // ATSstatic_void (statmp221) ; ATSstatic (ats_ptr_type, statmp222) ; // ATSstatic_void (statmp223) ; ATSstatic (ats_ptr_type, statmp224) ; // ATSstatic_void (statmp225) ; ATSstatic (ats_ptr_type, statmp226) ; // ATSstatic_void (statmp227) ; ATSstatic (ats_ptr_type, statmp228) ; // ATSstatic_void (statmp229) ; ATSstatic (ats_ptr_type, statmp230) ; // ATSstatic_void (statmp231) ; ATSstatic (ats_ptr_type, statmp232) ; // ATSstatic_void (statmp233) ; ATSstatic (ats_ptr_type, statmp234) ; // ATSstatic_void (statmp235) ; ATSstatic (ats_ptr_type, statmp236) ; // ATSstatic_void (statmp237) ; ATSstatic (ats_ptr_type, statmp238) ; // ATSstatic_void (statmp239) ; ATSstatic (ats_ptr_type, statmp240) ; // ATSstatic_void (statmp241) ; ATSstatic (ats_ptr_type, statmp242) ; // ATSstatic_void (statmp243) ; ATSstatic (ats_ptr_type, statmp244) ; // ATSstatic_void (statmp245) ; ATSstatic (ats_ptr_type, statmp246) ; // ATSstatic_void (statmp247) ; ATSstatic (ats_ptr_type, statmp248) ; // ATSstatic_void (statmp249) ; ATSstatic (ats_ptr_type, statmp250) ; // ATSstatic_void (statmp251) ; ATSstatic (ats_ptr_type, statmp252) ; // ATSstatic_void (statmp253) ; // ATSstatic_void (statmp254) ; // ATSstatic_void (statmp255) ; // ATSstatic_void (statmp256) ; // ATSstatic_void (statmp257) ; // ATSstatic_void (statmp258) ; // ATSstatic_void (statmp259) ; // ATSstatic_void (statmp260) ; // ATSstatic_void (statmp261) ; ATSstatic (ats_ptr_type, statmp262) ; // ATSstatic_void (statmp263) ; ATSstatic (ats_ptr_type, statmp264) ; // ATSstatic_void (statmp265) ; ATSstatic (ats_ptr_type, statmp266) ; // ATSstatic_void (statmp267) ; ATSstatic (ats_ptr_type, statmp268) ; // ATSstatic_void (statmp269) ; ATSstatic (ats_ptr_type, statmp270) ; // ATSstatic_void (statmp271) ; ATSstatic (ats_ptr_type, statmp272) ; // ATSstatic_void (statmp273) ; // ATSstatic_void (statmp274) ; // ATSstatic_void (statmp275) ; // ATSstatic_void (statmp276) ; // ATSstatic_void (statmp277) ; // ATSstatic_void (statmp278) ; ATSstatic (ats_ptr_type, statmp279) ; // ATSstatic_void (statmp280) ; ATSstatic (ats_ptr_type, statmp281) ; // ATSstatic_void (statmp282) ; ATSstatic (ats_ptr_type, statmp283) ; // ATSstatic_void (statmp284) ; ATSstatic (ats_ptr_type, statmp285) ; // ATSstatic_void (statmp286) ; ATSstatic (ats_ptr_type, statmp287) ; // ATSstatic_void (statmp288) ; ATSstatic (ats_ptr_type, statmp289) ; // ATSstatic_void (statmp290) ; // ATSstatic_void (statmp291) ; // ATSstatic_void (statmp292) ; // ATSstatic_void (statmp293) ; // ATSstatic_void (statmp294) ; // ATSstatic_void (statmp295) ; // ATSstatic_void (statmp296) ; // ATSstatic_void (statmp297) ; ATSstatic (ats_ptr_type, statmp298) ; // ATSstatic_void (statmp299) ; ATSstatic (ats_ptr_type, statmp300) ; // ATSstatic_void (statmp301) ; ATSstatic (ats_ptr_type, statmp302) ; // ATSstatic_void (statmp303) ; ATSstatic (ats_ptr_type, statmp304) ; // ATSstatic_void (statmp305) ; // ATSstatic_void (statmp306) ; // ATSstatic_void (statmp307) ; // ATSstatic_void (statmp308) ; // ATSstatic_void (statmp309) ; // ATSstatic_void (statmp310) ; // ATSstatic_void (statmp311) ; // ATSstatic_void (statmp312) ; // ATSstatic_void (statmp313) ; // ATSstatic_void (statmp314) ; ATSstatic (ats_ptr_type, statmp315) ; // ATSstatic_void (statmp316) ; ATSstatic (ats_ptr_type, statmp317) ; // ATSstatic_void (statmp318) ; ATSstatic (ats_ptr_type, statmp319) ; // ATSstatic_void (statmp320) ; // ATSstatic_void (statmp321) ; // ATSstatic_void (statmp322) ; ATSstatic (ats_ptr_type, statmp323) ; // ATSstatic_void (statmp324) ; ATSstatic (ats_ptr_type, statmp325) ; // ATSstatic_void (statmp326) ; ATSstatic (ats_ptr_type, statmp327) ; // ATSstatic_void (statmp328) ; ATSstatic (ats_ptr_type, statmp329) ; // ATSstatic_void (statmp330) ; ATSstatic (ats_ptr_type, statmp331) ; // ATSstatic_void (statmp332) ; ATSstatic (ats_ptr_type, statmp333) ; // ATSstatic_void (statmp334) ; ATSstatic (ats_ptr_type, statmp335) ; // ATSstatic_void (statmp336) ; ATSstatic (ats_ptr_type, statmp337) ; // ATSstatic_void (statmp338) ; ATSstatic (ats_ptr_type, statmp339) ; // ATSstatic_void (statmp340) ; ATSstatic (ats_ptr_type, statmp341) ; // ATSstatic_void (statmp342) ; ATSstatic (ats_ptr_type, statmp343) ; // ATSstatic_void (statmp344) ; ATSstatic (ats_ptr_type, statmp345) ; // ATSstatic_void (statmp346) ; ATSstatic (ats_ptr_type, statmp347) ; // ATSstatic_void (statmp348) ; ATSstatic (ats_ptr_type, statmp349) ; // ATSstatic_void (statmp350) ; ATSstatic (ats_ptr_type, statmp351) ; // ATSstatic_void (statmp352) ; ATSstatic (ats_ptr_type, statmp353) ; // ATSstatic_void (statmp354) ; ATSstatic (ats_ptr_type, statmp355) ; // ATSstatic_void (statmp356) ; ATSstatic (ats_ptr_type, statmp357) ; // ATSstatic_void (statmp358) ; // ATSstatic_void (statmp359) ; // ATSstatic_void (statmp360) ; // ATSstatic_void (statmp361) ; // ATSstatic_void (statmp362) ; // ATSstatic_void (statmp363) ; // ATSstatic_void (statmp364) ; // ATSstatic_void (statmp365) ; // ATSstatic_void (statmp366) ; ATSstatic (ats_ptr_type, statmp367) ; // ATSstatic_void (statmp368) ; ATSstatic (ats_ptr_type, statmp369) ; // ATSstatic_void (statmp370) ; ATSstatic (ats_ptr_type, statmp371) ; // ATSstatic_void (statmp372) ; // ATSstatic_void (statmp373) ; // ATSstatic_void (statmp374) ; // ATSstatic_void (statmp375) ; // ATSstatic_void (statmp376) ; // ATSstatic_void (statmp377) ; // ATSstatic_void (statmp378) ; // ATSstatic_void (statmp379) ; ATSstatic (ats_ptr_type, statmp380) ; // ATSstatic_void (statmp381) ; ATSstatic (ats_ptr_type, statmp382) ; // ATSstatic_void (statmp383) ; ATSstatic (ats_ptr_type, statmp384) ; // ATSstatic_void (statmp385) ; // ATSstatic_void (statmp386) ; // ATSstatic_void (statmp387) ; // ATSstatic_void (statmp388) ; // ATSstatic_void (statmp389) ; // ATSstatic_void (statmp390) ; // ATSstatic_void (statmp391) ; ATSstatic (ats_ptr_type, statmp392) ; // ATSstatic_void (statmp393) ; ATSstatic (ats_ptr_type, statmp394) ; // ATSstatic_void (statmp395) ; ATSstatic (ats_ptr_type, statmp396) ; // ATSstatic_void (statmp397) ; ATSstatic (ats_ptr_type, statmp398) ; // ATSstatic_void (statmp399) ; ATSstatic (ats_ptr_type, statmp400) ; // ATSstatic_void (statmp401) ; ATSstatic (ats_ptr_type, statmp402) ; // ATSstatic_void (statmp403) ; ATSstatic (ats_ptr_type, statmp404) ; // ATSstatic_void (statmp405) ; ATSstatic (ats_ptr_type, statmp406) ; // ATSstatic_void (statmp407) ; ATSstatic (ats_ptr_type, statmp408) ; // ATSstatic_void (statmp409) ; ATSstatic (ats_ptr_type, statmp410) ; // ATSstatic_void (statmp411) ; ATSstatic (ats_ptr_type, statmp412) ; // ATSstatic_void (statmp413) ; // ATSstatic_void (statmp414) ; // ATSstatic_void (statmp415) ; // ATSstatic_void (statmp416) ; // ATSstatic_void (statmp417) ; // ATSstatic_void (statmp418) ; // ATSstatic_void (statmp419) ; // ATSstatic_void (statmp420) ; // ATSstatic_void (statmp421) ; // ATSstatic_void (statmp422) ; // ATSstatic_void (statmp423) ; // ATSstatic_void (statmp424) ; // ATSstatic_void (statmp425) ; // ATSstatic_void (statmp426) ; // ATSstatic_void (statmp427) ; // ATSstatic_void (statmp428) ; // ATSstatic_void (statmp429) ; // ATSstatic_void (statmp430) ; // ATSstatic_void (statmp431) ; ATSstatic (ats_ptr_type, statmp432) ; // ATSstatic_void (statmp433) ; ATSstatic (ats_ptr_type, statmp434) ; // ATSstatic_void (statmp435) ; ATSstatic (ats_ptr_type, statmp436) ; // ATSstatic_void (statmp437) ; ATSstatic (ats_ptr_type, statmp438) ; // ATSstatic_void (statmp439) ; // ATSstatic_void (statmp440) ; // ATSstatic_void (statmp441) ; ATSstatic (ats_ptr_type, statmp442) ; // ATSstatic_void (statmp443) ; ATSstatic (ats_ptr_type, statmp444) ; // ATSstatic_void (statmp445) ; ATSstatic (ats_ptr_type, statmp446) ; // ATSstatic_void (statmp447) ; ATSstatic (ats_ptr_type, statmp448) ; // ATSstatic_void (statmp449) ; ATSstatic (ats_ptr_type, statmp450) ; // ATSstatic_void (statmp451) ; ATSstatic (ats_ptr_type, statmp452) ; // ATSstatic_void (statmp453) ; ATSstatic (ats_ptr_type, statmp454) ; // ATSstatic_void (statmp455) ; ATSstatic (ats_ptr_type, statmp456) ; // ATSstatic_void (statmp457) ; ATSstatic (ats_ptr_type, statmp458) ; // ATSstatic_void (statmp459) ; ATSstatic (ats_ptr_type, statmp460) ; // ATSstatic_void (statmp461) ; ATSstatic (ats_ptr_type, statmp462) ; // ATSstatic_void (statmp463) ; ATSstatic (ats_ptr_type, statmp464) ; // ATSstatic_void (statmp465) ; ATSstatic (ats_ptr_type, statmp466) ; // ATSstatic_void (statmp467) ; ATSstatic (ats_ptr_type, statmp468) ; // ATSstatic_void (statmp469) ; ATSstatic (ats_ptr_type, statmp470) ; // ATSstatic_void (statmp471) ; ATSstatic (ats_ptr_type, statmp472) ; // ATSstatic_void (statmp473) ; ATSstatic (ats_ptr_type, statmp474) ; // ATSstatic_void (statmp475) ; ATSstatic (ats_ptr_type, statmp476) ; // ATSstatic_void (statmp477) ; ATSstatic (ats_ptr_type, statmp478) ; // ATSstatic_void (statmp479) ; ATSstatic (ats_ptr_type, statmp480) ; // ATSstatic_void (statmp481) ; ATSstatic (ats_ptr_type, statmp482) ; // ATSstatic_void (statmp483) ; ATSstatic (ats_ptr_type, statmp484) ; // ATSstatic_void (statmp485) ; ATSstatic (ats_ptr_type, statmp486) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 6546(line=253, offs=3) -- 6668(line=257, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_is_comment (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_is_comment: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 170) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp122 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 171) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp122 = ats_true_bool ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 172) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp122 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp122 = ats_false_bool ; break ; } while (0) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_is_comment] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 7488(line=295, offs=3) -- 7687(line=307, offs=2) */ ATSstaticdec() ats_void_type keyitem_nullify_02058_anairiats_rec_3 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp123) ; __ats_lab_keyitem_nullify_02058_anairiats_rec_3: ats_select_mac(ats_ptrget_mac(anairiats_rec_3, arg0), atslab_0) = ats_castfn_mac(string, atspre_null_ptr) ; return /* (tmp123) */ ; } /* end of [keyitem_nullify_02058_anairiats_rec_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 7761(line=311, offs=3) -- 8056(line=328, offs=2) */ ATSstaticdec() ats_bool_type keyitem_isnot_null_02059_anairiats_rec_3 (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; ATSlocal (string, tmp126) ; __ats_lab_keyitem_isnot_null_02059_anairiats_rec_3: tmp126 = ats_select_mac(ats_ptrget_mac(anairiats_rec_3, arg0), atslab_0) ; tmp125 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp126), atspre_null_ptr) ; tmp124 = ats_castfn_mac(ats_bool_type, tmp125) ; return (tmp124) ; } /* end of [keyitem_isnot_null_02059_anairiats_rec_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 8199(line=335, offs=3) -- 8232(line=335, offs=36) */ ATSstaticdec() ats_ulint_type hash_key_02053_string (string arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ulint_type, tmp127) ; __ats_lab_hash_key_02053_string: tmp127 = atspre_string_hash_33 (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp127) ; } /* end of [hash_key_02053_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 8269(line=339, offs=3) -- 8318(line=339, offs=52) */ ATSstaticdec() ats_bool_type equal_key_key_02054_string (string arg0, string arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; __ats_lab_equal_key_key_02054_string: tmp129 = atspre_compare_string_string (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; tmp128 = atspre_ieq (tmp129, 0) ; return (tmp128) ; } /* end of [equal_key_key_02054_string] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 19885(line=623, offs=3) -- 20024(line=626, offs=4) */ ATSstaticdec() ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2ctnode (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_atslib_hashtbl_make_hint__linprb_string_2ctnode: tmp131 = atslib_hashtbl_make_hint_tsz__linprb (arg0, arg1, arg2, sizeof(anairiats_rec_3)) ; return (tmp131) ; } /* end of [atslib_hashtbl_make_hint__linprb_string_2ctnode] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 5439(line=171, offs=47) -- 5885(line=184, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_split_046_string_2ctnode (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_size_type, tmp147) ; ATSlocal (ats_size_type, tmp148) ; __ats_lab_hashtbl_ptr_split_046_string_2ctnode: tmp147 = atspre_mul2_size1_size1 (arg1, sizeof(anairiats_rec_3)) ; tmp148 = ats_selsin_mac(tmp147, atslab_1) ; tmp146 = atspre_padd_size (arg0, tmp148) ; return (tmp146) ; } /* end of [hashtbl_ptr_split_046_string_2ctnode] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6608(line=211, offs=7) -- 7396(line=234, offs=8) */ ATSstaticdec() ats_void_type loop_10 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp150) ; ATSlocal (ats_bool_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; ATSlocal (string, tmp153) ; ATSlocal (ats_bool_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_size_type, tmp156) ; __ats_lab_loop_10: tmp151 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp151) { tmp152 = keyitem_isnot_null_02059_anairiats_rec_3 (arg0) ; if (tmp152) { tmp153 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_0) ; tmp154 = equal_key_key_02054_string (env0, tmp153, env1) ; if (tmp154) { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; ats_ptrget_mac(ats_bool_type, arg3) = ats_true_bool ; } else { tmp155 = atspre_padd_size (arg0, sizeof(anairiats_rec_3)) ; tmp156 = atspre_sub_size1_int1 (arg1, 1) ; arg0 = tmp155 ; arg1 = tmp156 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_10 ; // tail call } /* end of [if] */ } else { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp150) */ ; } /* end of [loop_10] */ typedef struct { ats_fun_ptr_type closure_fun ; string closure_env_0 ; ats_clo_ref_type closure_env_1 ; } loop_10_closure_type ; ats_void_type loop_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { loop_10 (((loop_10_closure_type*)cloptr)->closure_env_0, ((loop_10_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; return ; } /* end of function */ ATSinline() ats_void_type loop_10_closure_init (loop_10_closure_type *p_clo, string env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_10_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_10_closure_make (string env0, ats_clo_ref_type env1) { loop_10_closure_type *p_clo = ATS_MALLOC(sizeof(loop_10_closure_type)) ; loop_10_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6222(line=201, offs=22) -- 7691(line=244, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_probe_ofs_054_string_2ctnode (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_size_type, tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_bool_type, tmp161) ; __ats_lab_hashtbl_ptr_probe_ofs_054_string_2ctnode: tmp145 = hashtbl_ptr_split_046_string_2ctnode (arg0, arg4) ; tmp149 = ats_selsin_mac(tmp145, atslab_2) ; /* ats_ptr_type tmp157 ; */ tmp157 = atspre_null_ptr ; ats_ptrget_mac(ats_bool_type, arg5) = ats_false_bool ; tmp159 = atspre_sub_size1_size1 (arg3, arg4) ; /* tmp158 = */ loop_10 (arg1, arg2, tmp149, tmp159, (&tmp157), arg5) ; tmp161 = atspre_peq (tmp157, atspre_null_ptr) ; if (tmp161) { /* tmp160 = */ loop_10 (arg1, arg2, arg0, arg4, (&tmp157), arg5) ; } else { /* empty */ } /* end of [if] */ tmp144 = tmp157 ; return (tmp144) ; } /* end of [hashtbl_ptr_probe_ofs_054_string_2ctnode] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 9389(line=302, offs=38) -- 10782(line=340, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_relocate_0103_string_2ctnode (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp180) ; ATSlocal (ats_bool_type, tmp181) ; ATSlocal (ats_bool_type, tmp182) ; ATSlocal (string, tmp184) ; ATSlocal (tnode, tmp185) ; ATSlocal (ats_ulint_type, tmp186) ; ATSlocal (ats_size_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_size_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab_hashtbl_ptr_relocate_0103_string_2ctnode: tmp181 = atspre_gt_size1_int1 (arg0, 0) ; if (tmp181) { tmp182 = keyitem_isnot_null_02059_anairiats_rec_3 (arg2) ; if (tmp182) { tmp184 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_0) ; tmp185 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_1) ; tmp186 = hash_key_02053_string (tmp184, arg4) ; tmp187 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp186), arg1) ; /* ats_bool_type tmp188 ; */ tmp189 = hashtbl_ptr_probe_ofs_054_string_2ctnode (arg3, tmp184, arg5, arg1, tmp187, (&tmp188)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp189), atslab_0) = tmp184 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp189), atslab_1) = tmp185 ; } else { /* empty */ } /* end of [if] */ tmp190 = atspre_sub_size1_int1 (arg0, 1) ; tmp191 = atspre_padd_size (arg2, sizeof(anairiats_rec_3)) ; arg0 = tmp190 ; arg1 = arg1 ; arg2 = tmp191 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_hashtbl_ptr_relocate_0103_string_2ctnode ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp180) */ ; } /* end of [hashtbl_ptr_relocate_0103_string_2ctnode] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 10895(line=345, offs=37) -- 11621(line=364, offs=2) */ ATSstaticdec() ats_void_type hashtbl_resize_0124_string_2ctnode (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_size_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_clo_ref_type, tmp194) ; ATSlocal (ats_clo_ref_type, tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab_hashtbl_resize_0124_string_2ctnode: tmp176 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp177 = atslib_hashtbl_ptr_make__linprb (arg1, sizeof(anairiats_rec_3)) ; tmp178 = ats_selsin_mac(tmp177, atslab_2) ; tmp192 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_sz) ; tmp193 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_pbeg) ; tmp194 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_hash) ; tmp195 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_eqfn) ; /* tmp179 = */ hashtbl_ptr_relocate_0103_string_2ctnode (tmp192, arg1, tmp193, tmp178, tmp194, tmp195) ; tmp197 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_pbeg) ; /* tmp196 = */ atslib_hashtbl_ptr_free__linprb (tmp197) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_sz) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp176), atslab_pbeg) = tmp178 ; return /* (tmp175) */ ; } /* end of [hashtbl_resize_0124_string_2ctnode] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 14588(line=454, offs=3) -- 15998(line=498, offs=2) */ ATSstaticdec() ats_bool_type hashtbl_insert_02065_string_2ctnode (ats_ptr_type arg0, string arg1, tnode arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ulint_type, tmp137) ; ATSlocal (ats_clo_ref_type, tmp138) ; ATSlocal (ats_size_type, tmp139) ; ATSlocal (ats_size_type, tmp140) ; ATSlocal (ats_bool_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_clo_ref_type, tmp163) ; ATSlocal (ats_bool_type, tmp164) ; ATSlocal (tnode, tmp166) ; ATSlocal (ats_size_type, tmp167) ; ATSlocal (ats_size_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_double_type, tmp170) ; ATSlocal (ats_double_type, tmp171) ; ATSlocal (ats_double_type, tmp172) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_bool_type, tmp174) ; ATSlocal (ats_size_type, tmp198) ; __ats_lab_hashtbl_insert_02065_string_2ctnode: tmp136 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp138 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_hash) ; tmp137 = hash_key_02053_string (arg1, tmp138) ; tmp139 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_sz) ; tmp140 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp137), tmp139) ; /* ats_bool_type tmp141 ; */ /* ats_int_type tmp142 ; */ tmp142 = 0 ; tmp162 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_pbeg) ; tmp163 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_eqfn) ; tmp143 = hashtbl_ptr_probe_ofs_054_string_2ctnode (tmp162, arg1, tmp163, tmp139, tmp140, (&tmp141)) ; tmp164 = ats_castfn_mac(ats_bool_type, tmp141) ; if (tmp164) { tmp166 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp143), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp143), atslab_1) = arg2 ; ats_ptrget_mac(tnode, arg3) = tmp166 ; } else { tmp167 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_tot) ; tmp168 = atspre_add_size_int (tmp167, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp136), atslab_tot) = tmp168 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp143), atslab_0) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp143), atslab_1) = arg2 ; tmp171 = atspre_double_of_size (tmp167) ; tmp170 = atspre_mul_int_double (2, tmp171) ; tmp172 = atspre_double_of_size (tmp139) ; tmp169 = atspre_gte_double_double (tmp170, tmp172) ; if (tmp169) { tmp142 = 1 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp174 = atspre_gt_int_int (tmp142, 0) ; if (tmp174) { tmp198 = atspre_add_size1_size1 (tmp139, tmp139) ; /* tmp173 = */ hashtbl_resize_0124_string_2ctnode (arg0, tmp198) ; } else { /* empty */ } /* end of [if] */ tmp135 = tmp164 ; return (tmp135) ; } /* end of [hashtbl_insert_02065_string_2ctnode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 8404(line=344, offs=5) -- 8633(line=352, offs=2) */ ATSstaticdec() ats_void_type insert_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp132) ; ATSlocal (tnode, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; __ats_lab_insert_6: /* tnode tmp133 ; */ tmp134 = hashtbl_insert_02065_string_2ctnode (arg0, ats_castfn_mac(string, arg1), ats_castfn_mac(tnode, arg2), (&tmp133)) ; return /* (tmp132) */ ; } /* end of [insert_6] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 8459(line=270, offs=16) -- 9173(line=291, offs=4) */ ATSstaticdec() ats_bool_type hashtbl_search_02064_string_2ctnode (ats_ptr_type arg0, string arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ulint_type, tmp493) ; ATSlocal (ats_clo_ref_type, tmp494) ; ATSlocal (ats_size_type, tmp495) ; ATSlocal (ats_size_type, tmp496) ; ATSlocal (ats_bool_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_clo_ref_type, tmp500) ; ATSlocal (ats_size_type, tmp501) ; ATSlocal (tnode, tmp502) ; __ats_lab_hashtbl_search_02064_string_2ctnode: tmp492 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp494 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp492), atslab_hash) ; tmp493 = hash_key_02053_string (arg1, tmp494) ; tmp496 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp492), atslab_sz) ; tmp495 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp493), tmp496) ; /* ats_bool_type tmp497 ; */ tmp499 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp492), atslab_pbeg) ; tmp500 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp492), atslab_eqfn) ; tmp501 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp492), atslab_sz) ; tmp498 = hashtbl_ptr_probe_ofs_054_string_2ctnode (tmp499, arg1, tmp500, tmp501, tmp495, (&tmp497)) ; if (tmp497) { tmp502 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_3, tmp498), atslab_1) ; ats_ptrget_mac(tnode, arg2) = tmp502 ; tmp491 = ats_true_bool ; } else { tmp491 = ats_false_bool ; } /* end of [if] */ return (tmp491) ; } /* end of [hashtbl_search_02064_string_2ctnode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_token.dats: 15991(line=648, offs=14) -- 16365(line=669, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (tnode, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_bool_type, tmp490) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search: /* tnode tmp488 ; */ tmp489 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp130)), atslab_1) ; tmp490 = hashtbl_search_02064_string_2ctnode (tmp489, ats_castfn_mac(string, arg0), (&tmp488)) ; if (tmp490) { tmp487 = ats_castfn_mac(ats_ptr_type, tmp488) ; } else { tmp487 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0) ; } /* end of [if] */ return (tmp487) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__tnode_search] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert1_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats____assert2_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp9, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp14, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp16, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp17, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp18, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp19, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp20, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp21, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp22, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp23, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp24, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp25, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp26, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp27, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp28, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp29, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp30, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp32, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp33, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp34, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp35, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp36, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp37, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp38, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp39, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp40, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp41, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp42, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp43, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp44, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp45, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp46, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp47, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp48, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp49, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp50, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp51, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp52, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp53, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp54, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp55, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp56, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp57, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp58, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp59, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp60, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp61, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp62, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp63, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp64, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp65, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp66, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp67, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp68, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp69, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp70, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp72, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp73, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp74, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp75, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp76, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp77, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp78, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp79, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp80, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp81, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp82, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp83, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp84, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp85, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp86, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp87, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp88, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp89, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp90, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp91, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp92, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp93, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp94, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp95, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp96, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp97, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp98, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp99, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp100, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp101, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp102, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp103, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp104, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp105, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp106, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp107, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp108, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp109, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp110, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp111, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp112, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp113, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp114, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp115, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp116, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp117, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp118, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp119, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp120, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp121, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp130, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp200, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp202, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp204, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp206, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp208, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp210, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp212, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp214, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp216, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp218, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp220, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp222, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp224, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp226, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp228, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp230, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp232, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp234, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp236, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp238, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp240, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp242, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp244, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp246, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp248, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp250, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp252, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp262, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp264, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp266, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp268, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp270, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp272, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp279, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp281, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp283, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp285, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp287, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp289, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp298, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp300, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp302, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp304, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp315, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp317, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp319, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp323, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp325, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp327, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp329, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp331, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp333, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp335, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp337, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp339, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp341, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp343, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp345, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp347, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp349, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp351, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp353, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp355, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp357, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp367, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp369, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp371, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp380, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp382, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp384, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp392, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp394, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp396, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp398, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp400, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp402, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp404, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp406, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp408, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp410, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp412, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp432, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp434, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp436, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp438, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp442, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp444, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp446, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp448, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp450, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp452, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp454, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp456, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp458, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp460, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp462, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp464, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp466, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp468, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp470, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp472, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp474, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp476, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp478, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp480, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp482, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp484, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp486, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp0 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DOT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DOT = statmp0 ; statmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp1)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp1, atslab_0, ATSstrcst("%")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PERCENT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PERCENT = statmp1 ; statmp2 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp2)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp2, atslab_0, ATSstrcst("?")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__QMARK, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__QMARK = statmp2 ; statmp3 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp3)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp3, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSTYPE = statmp3 ; statmp4 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp4)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp4, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE = statmp4 ; statmp5 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp5)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp5, atslab_0, 5) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSPROP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSPROP = statmp5 ; statmp6 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp6)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp6, atslab_0, 7) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEW, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEW = statmp6 ; statmp7 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp7)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp7, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE = statmp7 ; statmp8 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp8)->tag = 31 ; ats_selptrset_mac(anairiats_sum_1, statmp8, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE = statmp8 ; statmp10 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; statmp9 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp9)->tag = 36 ; ats_selptrset_mac(anairiats_sum_0, statmp9, atslab_0, statmp10) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE = statmp9 ; statmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; statmp11 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp11)->tag = 36 ; ats_selptrset_mac(anairiats_sum_0, statmp11, atslab_0, statmp12) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_pos = statmp11 ; statmp14 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; statmp13 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp13)->tag = 36 ; ats_selptrset_mac(anairiats_sum_0, statmp13, atslab_0, statmp14) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASE_neg = statmp13 ; statmp15 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp15)->tag = 39 ; ats_selptrset_mac(anairiats_sum_1, statmp15, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATATYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATATYPE = statmp15 ; statmp16 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp16)->tag = 39 ; ats_selptrset_mac(anairiats_sum_1, statmp16, atslab_0, 5) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAPROP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAPROP = statmp16 ; statmp17 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp17)->tag = 39 ; ats_selptrset_mac(anairiats_sum_1, statmp17, atslab_0, 7) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEW, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEW = statmp17 ; statmp18 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp18)->tag = 39 ; ats_selptrset_mac(anairiats_sum_1, statmp18, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE = statmp18 ; statmp19 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp19)->tag = 48 ; ats_selptrset_mac(anairiats_sum_1, statmp19, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIX = statmp19 ; statmp20 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp20)->tag = 48 ; ats_selptrset_mac(anairiats_sum_1, statmp20, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIXAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FIXAT = statmp20 ; statmp22 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; statmp21 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp21)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp21, atslab_0, statmp22) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FN = statmp21 ; statmp24 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; statmp23 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp23)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp23, atslab_0, statmp24) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FNX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FNX = statmp23 ; statmp26 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; statmp25 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp25)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp25, atslab_0, statmp26) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FUN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FUN = statmp25 ; statmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; statmp27 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp27)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp27, atslab_0, statmp28) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFN = statmp27 ; statmp30 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; statmp29 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp29)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp29, atslab_0, statmp30) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFUN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFUN = statmp29 ; statmp32 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; statmp31 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp31)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp31, atslab_0, statmp32) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRAXI, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRAXI = statmp31 ; statmp34 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; statmp33 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp33)->tag = 52 ; ats_selptrset_mac(anairiats_sum_0, statmp33, atslab_0, statmp34) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASTFN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASTFN = statmp33 ; statmp35 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp35)->tag = 54 ; ats_selptrset_mac(anairiats_sum_1, statmp35, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLMNT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLMNT = statmp35 ; statmp36 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp36)->tag = 54 ; ats_selptrset_mac(anairiats_sum_1, statmp36, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLEMENT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLEMENT = statmp36 ; statmp37 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp37)->tag = 54 ; ats_selptrset_mac(anairiats_sum_1, statmp37, atslab_0, -1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT = statmp37 ; statmp39 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infix_0) ; statmp38 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp38)->tag = 49 ; ats_selptrset_mac(anairiats_sum_0, statmp38, atslab_0, statmp39) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIX = statmp38 ; statmp41 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixl_1) ; statmp40 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp40)->tag = 49 ; ats_selptrset_mac(anairiats_sum_0, statmp40, atslab_0, statmp41) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXL = statmp40 ; statmp43 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixr_2) ; statmp42 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp42)->tag = 49 ; ats_selptrset_mac(anairiats_sum_0, statmp42, atslab_0, statmp43) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXR = statmp42 ; statmp45 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_prefix_3) ; statmp44 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp44)->tag = 49 ; ats_selptrset_mac(anairiats_sum_0, statmp44, atslab_0, statmp45) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PREFIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PREFIX = statmp44 ; statmp47 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_postfix_4) ; statmp46 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp46)->tag = 49 ; ats_selptrset_mac(anairiats_sum_0, statmp46, atslab_0, statmp47) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__POSTFIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__POSTFIX = statmp46 ; statmp48 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp48)->tag = 57 ; ats_selptrset_mac(anairiats_sum_1, statmp48, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAM, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAM = statmp48 ; statmp49 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp49)->tag = 57 ; ats_selptrset_mac(anairiats_sum_1, statmp49, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAMAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LAMAT = statmp49 ; statmp50 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp50)->tag = 57 ; ats_selptrset_mac(anairiats_sum_1, statmp50, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAM, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAM = statmp50 ; statmp51 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp51)->tag = 57 ; ats_selptrset_mac(anairiats_sum_1, statmp51, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAMAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LLAMAT = statmp51 ; statmp52 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp52)->tag = 60 ; ats_selptrset_mac(anairiats_sum_1, statmp52, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACDEF = statmp52 ; statmp53 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp53)->tag = 60 ; ats_selptrset_mac(anairiats_sum_1, statmp53, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACRODEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACRODEF = statmp53 ; statmp54 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TKINDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TKINDEF = statmp54 ; statmp55 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp55)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp55, atslab_0, ATSstrcst("type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE = statmp55 ; statmp56 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp56)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp56, atslab_0, 8) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_pos = statmp56 ; statmp57 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp57)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp57, atslab_0, 24) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPE_neg = statmp57 ; statmp58 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp58)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp58, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE = statmp58 ; statmp59 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp59)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp59, atslab_0, 9) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_pos = statmp59 ; statmp60 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp60)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp60, atslab_0, 25) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T0YPE_neg = statmp60 ; statmp61 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp61)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp61, atslab_0, ATSstrcst("prop")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP = statmp61 ; statmp62 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp62)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp62, atslab_0, 13) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_pos = statmp62 ; statmp63 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp63)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp63, atslab_0, 29) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROP_neg = statmp63 ; statmp64 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp64)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp64, atslab_0, ATSstrcst("view")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW = statmp64 ; statmp65 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWAT = statmp65 ; statmp66 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp66)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp66, atslab_0, 15) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_pos = statmp66 ; statmp67 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp67)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp67, atslab_0, 31) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEW_neg = statmp67 ; statmp68 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp68)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp68, atslab_0, ATSstrcst("viewtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE = statmp68 ; statmp69 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp69)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp69, atslab_0, 10) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_pos = statmp69 ; statmp70 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp70)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp70, atslab_0, 26) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPE_neg = statmp70 ; statmp71 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp71)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp71, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE = statmp71 ; statmp72 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp72)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp72, atslab_0, 11) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_pos = statmp72 ; statmp73 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp73)->tag = 78 ; ats_selptrset_mac(anairiats_sum_1, statmp73, atslab_0, 27) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWT0YPE_neg = statmp73 ; statmp74 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp74)->tag = 79 ; ats_selptrset_mac(anairiats_sum_1, statmp74, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPEDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPEDEF = statmp74 ; statmp75 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp75)->tag = 79 ; ats_selptrset_mac(anairiats_sum_1, statmp75, atslab_0, 5) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROPDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROPDEF = statmp75 ; statmp76 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp76)->tag = 79 ; ats_selptrset_mac(anairiats_sum_1, statmp76, atslab_0, 7) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWDEF = statmp76 ; statmp77 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp77)->tag = 79 ; ats_selptrset_mac(anairiats_sum_1, statmp77, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF = statmp77 ; statmp79 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; statmp78 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp78)->tag = 80 ; ats_selptrset_mac(anairiats_sum_0, statmp78, atslab_0, statmp79) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL = statmp78 ; statmp81 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; statmp80 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp80)->tag = 80 ; ats_selptrset_mac(anairiats_sum_0, statmp80, atslab_0, statmp81) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_pos = statmp80 ; statmp83 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; statmp82 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp82)->tag = 80 ; ats_selptrset_mac(anairiats_sum_0, statmp82, atslab_0, statmp83) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAL_neg = statmp82 ; statmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; statmp84 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp84)->tag = 80 ; ats_selptrset_mac(anairiats_sum_0, statmp84, atslab_0, statmp85) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAL = statmp84 ; statmp86 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp86)->tag = 81 ; ats_selptrset_mac(anairiats_sum_1, statmp86, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAR = statmp86 ; statmp87 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp87)->tag = 81 ; ats_selptrset_mac(anairiats_sum_1, statmp87, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAR = statmp87 ; statmp88 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOR = statmp88 ; statmp89 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FORSTAR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FORSTAR = statmp89 ; statmp90 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILE = statmp90 ; statmp91 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILESTAR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WHILESTAR = statmp91 ; statmp92 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp92)->tag = 87 ; ats_selptrset_mac(anairiats_sum_1, statmp92, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHTYPE = statmp92 ; statmp93 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp93)->tag = 87 ; ats_selptrset_mac(anairiats_sum_1, statmp93, atslab_0, 5) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHPROP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHPROP = statmp93 ; statmp94 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp94)->tag = 87 ; ats_selptrset_mac(anairiats_sum_1, statmp94, atslab_0, 7) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEW, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEW = statmp94 ; statmp95 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp95)->tag = 87 ; ats_selptrset_mac(anairiats_sum_1, statmp95, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE = statmp95 ; statmp96 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp96)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp96, atslab_0, ATSstrcst("addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDR = statmp96 ; statmp97 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDRAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ADDRAT = statmp97 ; statmp98 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp98)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp98, atslab_0, ATSstrcst("fold")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLD, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLD = statmp98 ; statmp99 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLDAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FOLDAT = statmp99 ; statmp100 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)statmp100)->tag = 139 ; ats_selptrset_mac(anairiats_sum_0, statmp100, atslab_0, ATSstrcst("free")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREE = statmp100 ; statmp101 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREEAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FREEAT = statmp101 ; statmp102 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp102)->tag = 92 ; ats_selptrset_mac(anairiats_sum_1, statmp102, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRDELAY, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRDELAY = statmp102 ; statmp103 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp103)->tag = 92 ; ats_selptrset_mac(anairiats_sum_1, statmp103, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLDELAY, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLDELAY = statmp103 ; statmp104 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK = statmp104 ; statmp105 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp105)->tag = 96 ; ats_selptrset_mac(anairiats_sum_1, statmp105, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_NTM, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_NTM = statmp105 ; statmp106 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp106)->tag = 96 ; ats_selptrset_mac(anairiats_sum_1, statmp106, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_EXN, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_EXN = statmp106 ; statmp107 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp107)->tag = 96 ; ats_selptrset_mac(anairiats_sum_1, statmp107, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_REF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_REF = statmp107 ; statmp108 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp108)->tag = 96 ; ats_selptrset_mac(anairiats_sum_1, statmp108, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_WRT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_WRT = statmp108 ; statmp109 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp109)->tag = 96 ; ats_selptrset_mac(anairiats_sum_1, statmp109, atslab_0, 4) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_ALL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_ALL = statmp109 ; statmp110 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp110)->tag = 108 ; ats_selptrset_mac(anairiats_sum_1, statmp110, atslab_0, -1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST = statmp110 ; statmp111 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp111)->tag = 108 ; ats_selptrset_mac(anairiats_sum_1, statmp111, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T = statmp111 ; statmp112 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp112)->tag = 108 ; ats_selptrset_mac(anairiats_sum_1, statmp112, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT = statmp112 ; statmp113 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp113)->tag = 109 ; ats_selptrset_mac(anairiats_sum_1, statmp113, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC = statmp113 ; statmp114 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp114)->tag = 109 ; ats_selptrset_mac(anairiats_sum_1, statmp114, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T = statmp114 ; statmp115 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp115)->tag = 109 ; ats_selptrset_mac(anairiats_sum_1, statmp115, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT = statmp115 ; statmp116 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp116)->tag = 110 ; ats_selptrset_mac(anairiats_sum_1, statmp116, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP = statmp116 ; statmp117 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp117)->tag = 110 ; ats_selptrset_mac(anairiats_sum_1, statmp117, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T = statmp117 ; statmp118 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp118)->tag = 110 ; ats_selptrset_mac(anairiats_sum_1, statmp118, atslab_0, 3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT = statmp118 ; statmp119 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp119)->tag = 115 ; ats_selptrset_mac(anairiats_sum_1, statmp119, atslab_0, 7) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_V, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_V = statmp119 ; statmp120 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)statmp120)->tag = 115 ; ats_selptrset_mac(anairiats_sum_1, statmp120, atslab_0, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_VT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_VT = statmp120 ; statmp121 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp121)->tag = 146 ; ats_selptrset_mac(anairiats_sum_2, statmp121, atslab_0, 10) ; ats_selptrset_mac(anairiats_sum_2, statmp121, atslab_1, ATSstrcst("0")) ; ats_selptrset_mac(anairiats_sum_2, statmp121, atslab_2, 0u) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INTZERO, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INTZERO = statmp121 ; statmp130 = atslib_hashtbl_make_hint__linprb_string_2ctnode (ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), 193) ; statmp200 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; /* statmp199 = */ insert_6 (statmp130, ATSstrcst("@"), statmp200) ; statmp202 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; /* statmp201 = */ insert_6 (statmp130, ATSstrcst("!"), statmp202) ; statmp204 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; /* statmp203 = */ insert_6 (statmp130, ATSstrcst("|"), statmp204) ; statmp206 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTE_5) ; /* statmp205 = */ insert_6 (statmp130, ATSstrcst("`"), statmp206) ; statmp208 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; /* statmp207 = */ insert_6 (statmp130, ATSstrcst(":"), statmp208) ; statmp210 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOLLAR_8) ; /* statmp209 = */ insert_6 (statmp130, ATSstrcst("$"), statmp210) ; statmp212 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; /* statmp211 = */ insert_6 (statmp130, ATSstrcst("."), statmp212) ; statmp214 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; /* statmp213 = */ insert_6 (statmp130, ATSstrcst("="), statmp214) ; statmp216 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASH_20) ; /* statmp215 = */ insert_6 (statmp130, ATSstrcst("#"), statmp216) ; statmp218 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; /* statmp217 = */ insert_6 (statmp130, ATSstrcst("~"), statmp218) ; statmp220 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10) ; /* statmp219 = */ insert_6 (statmp130, ATSstrcst(".."), statmp220) ; statmp222 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; /* statmp221 = */ insert_6 (statmp130, ATSstrcst("..."), statmp222) ; statmp224 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; /* statmp223 = */ insert_6 (statmp130, ATSstrcst("=>"), statmp224) ; statmp226 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15) ; /* statmp225 = */ insert_6 (statmp130, ATSstrcst("=<"), statmp226) ; statmp228 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16) ; /* statmp227 = */ insert_6 (statmp130, ATSstrcst("=<>"), statmp228) ; statmp230 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17) ; /* statmp229 = */ insert_6 (statmp130, ATSstrcst("=/=>"), statmp230) ; statmp232 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18) ; /* statmp231 = */ insert_6 (statmp130, ATSstrcst("=>>"), statmp232) ; statmp234 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19) ; /* statmp233 = */ insert_6 (statmp130, ATSstrcst("=/=>>"), statmp234) ; statmp236 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; /* statmp235 = */ insert_6 (statmp130, ATSstrcst("<"), statmp236) ; statmp238 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; /* statmp237 = */ insert_6 (statmp130, ATSstrcst(">"), statmp238) ; statmp240 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; /* statmp239 = */ insert_6 (statmp130, ATSstrcst("><"), statmp240) ; statmp242 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; /* statmp241 = */ insert_6 (statmp130, ATSstrcst(".<"), statmp242) ; statmp244 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25) ; /* statmp243 = */ insert_6 (statmp130, ATSstrcst(">."), statmp244) ; statmp246 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; /* statmp245 = */ insert_6 (statmp130, ATSstrcst(".<>."), statmp246) ; statmp248 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; /* statmp247 = */ insert_6 (statmp130, ATSstrcst("->"), statmp248) ; statmp250 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28) ; /* statmp249 = */ insert_6 (statmp130, ATSstrcst("-<"), statmp250) ; statmp252 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; /* statmp251 = */ insert_6 (statmp130, ATSstrcst("-<>"), statmp252) ; /* statmp253 = */ insert_6 (statmp130, ATSstrcst("abstype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSTYPE) ; /* statmp254 = */ insert_6 (statmp130, ATSstrcst("abst0ype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABST0YPE) ; /* statmp255 = */ insert_6 (statmp130, ATSstrcst("absprop"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSPROP) ; /* statmp256 = */ insert_6 (statmp130, ATSstrcst("absview"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEW) ; /* statmp257 = */ insert_6 (statmp130, ATSstrcst("absvtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE) ; /* statmp258 = */ insert_6 (statmp130, ATSstrcst("absviewtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWTYPE) ; /* statmp259 = */ insert_6 (statmp130, ATSstrcst("absvt0ype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; /* statmp260 = */ insert_6 (statmp130, ATSstrcst("absviewt0ype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__ABSVIEWT0YPE) ; statmp262 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; /* statmp261 = */ insert_6 (statmp130, ATSstrcst("as"), statmp262) ; statmp264 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32) ; /* statmp263 = */ insert_6 (statmp130, ATSstrcst("and"), statmp264) ; statmp266 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; /* statmp265 = */ insert_6 (statmp130, ATSstrcst("assume"), statmp266) ; statmp268 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35) ; /* statmp267 = */ insert_6 (statmp130, ATSstrcst("begin"), statmp268) ; statmp270 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37) ; /* statmp269 = */ insert_6 (statmp130, ATSstrcst("classdec"), statmp270) ; statmp272 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; /* statmp271 = */ insert_6 (statmp130, ATSstrcst("datasort"), statmp272) ; /* statmp273 = */ insert_6 (statmp130, ATSstrcst("datatype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATATYPE) ; /* statmp274 = */ insert_6 (statmp130, ATSstrcst("dataprop"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAPROP) ; /* statmp275 = */ insert_6 (statmp130, ATSstrcst("dataview"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEW) ; /* statmp276 = */ insert_6 (statmp130, ATSstrcst("datavtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE) ; /* statmp277 = */ insert_6 (statmp130, ATSstrcst("dataviewtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DATAVIEWTYPE) ; statmp279 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DO_40) ; /* statmp278 = */ insert_6 (statmp130, ATSstrcst("do"), statmp279) ; statmp281 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43) ; /* statmp280 = */ insert_6 (statmp130, ATSstrcst("end"), statmp281) ; statmp283 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; /* statmp282 = */ insert_6 (statmp130, ATSstrcst("extern"), statmp283) ; statmp285 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; /* statmp284 = */ insert_6 (statmp130, ATSstrcst("extype"), statmp285) ; statmp287 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; /* statmp286 = */ insert_6 (statmp130, ATSstrcst("extvar"), statmp287) ; statmp289 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; /* statmp288 = */ insert_6 (statmp130, ATSstrcst("exception"), statmp289) ; /* statmp290 = */ insert_6 (statmp130, ATSstrcst("fn"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FN) ; /* statmp291 = */ insert_6 (statmp130, ATSstrcst("fnx"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FNX) ; /* statmp292 = */ insert_6 (statmp130, ATSstrcst("fun"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__FUN) ; /* statmp293 = */ insert_6 (statmp130, ATSstrcst("prfn"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFN) ; /* statmp294 = */ insert_6 (statmp130, ATSstrcst("prfun"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRFUN) ; /* statmp295 = */ insert_6 (statmp130, ATSstrcst("praxi"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRAXI) ; /* statmp296 = */ insert_6 (statmp130, ATSstrcst("castfn"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__CASTFN) ; statmp298 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; /* statmp297 = */ insert_6 (statmp130, ATSstrcst("if"), statmp298) ; statmp300 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75) ; /* statmp299 = */ insert_6 (statmp130, ATSstrcst("then"), statmp300) ; statmp302 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42) ; /* statmp301 = */ insert_6 (statmp130, ATSstrcst("else"), statmp302) ; statmp304 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56) ; /* statmp303 = */ insert_6 (statmp130, ATSstrcst("in"), statmp304) ; /* statmp305 = */ insert_6 (statmp130, ATSstrcst("infix"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIX) ; /* statmp306 = */ insert_6 (statmp130, ATSstrcst("infixl"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXL) ; /* statmp307 = */ insert_6 (statmp130, ATSstrcst("infixr"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__INFIXR) ; /* statmp308 = */ insert_6 (statmp130, ATSstrcst("prefix"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PREFIX) ; /* statmp309 = */ insert_6 (statmp130, ATSstrcst("postfix"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__POSTFIX) ; /* statmp310 = */ insert_6 (statmp130, ATSstrcst("implmnt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLMNT) ; /* statmp311 = */ insert_6 (statmp130, ATSstrcst("implement"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__IMPLEMENT) ; /* statmp312 = */ insert_6 (statmp130, ATSstrcst("primplmnt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT) ; /* statmp313 = */ insert_6 (statmp130, ATSstrcst("primplement"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRIMPLMNT) ; statmp315 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPORT_55) ; /* statmp314 = */ insert_6 (statmp130, ATSstrcst("import"), statmp315) ; statmp317 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58) ; /* statmp316 = */ insert_6 (statmp130, ATSstrcst("let"), statmp317) ; statmp319 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; /* statmp318 = */ insert_6 (statmp130, ATSstrcst("local"), statmp319) ; /* statmp320 = */ insert_6 (statmp130, ATSstrcst("macdef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACDEF) ; /* statmp321 = */ insert_6 (statmp130, ATSstrcst("macrodef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__MACRODEF) ; statmp323 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; /* statmp322 = */ insert_6 (statmp130, ATSstrcst("nonfix"), statmp323) ; statmp325 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; /* statmp324 = */ insert_6 (statmp130, ATSstrcst("symelim"), statmp325) ; statmp327 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; /* statmp326 = */ insert_6 (statmp130, ATSstrcst("symintr"), statmp327) ; statmp329 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62) ; /* statmp328 = */ insert_6 (statmp130, ATSstrcst("overload"), statmp329) ; statmp331 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63) ; /* statmp330 = */ insert_6 (statmp130, ATSstrcst("of"), statmp331) ; statmp333 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; /* statmp332 = */ insert_6 (statmp130, ATSstrcst("op"), statmp333) ; statmp335 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65) ; /* statmp334 = */ insert_6 (statmp130, ATSstrcst("rec"), statmp335) ; statmp337 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66) ; /* statmp336 = */ insert_6 (statmp130, ATSstrcst("sif"), statmp337) ; statmp339 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67) ; /* statmp338 = */ insert_6 (statmp130, ATSstrcst("scase"), statmp339) ; statmp341 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; /* statmp340 = */ insert_6 (statmp130, ATSstrcst("sortdef"), statmp341) ; statmp343 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; /* statmp342 = */ insert_6 (statmp130, ATSstrcst("sta"), statmp343) ; statmp345 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; /* statmp344 = */ insert_6 (statmp130, ATSstrcst("stacst"), statmp345) ; statmp347 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; /* statmp346 = */ insert_6 (statmp130, ATSstrcst("stadef"), statmp347) ; statmp349 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72) ; /* statmp348 = */ insert_6 (statmp130, ATSstrcst("static"), statmp349) ; statmp351 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; /* statmp350 = */ insert_6 (statmp130, ATSstrcst("staload"), statmp351) ; statmp353 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; /* statmp352 = */ insert_6 (statmp130, ATSstrcst("dynload"), statmp353) ; statmp355 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77) ; /* statmp354 = */ insert_6 (statmp130, ATSstrcst("try"), statmp355) ; statmp357 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; /* statmp356 = */ insert_6 (statmp130, ATSstrcst("tkindef"), statmp357) ; /* statmp358 = */ insert_6 (statmp130, ATSstrcst("typedef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__TYPEDEF) ; /* statmp359 = */ insert_6 (statmp130, ATSstrcst("propdef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PROPDEF) ; /* statmp360 = */ insert_6 (statmp130, ATSstrcst("viewdef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWDEF) ; /* statmp361 = */ insert_6 (statmp130, ATSstrcst("vtypedef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF) ; /* statmp362 = */ insert_6 (statmp130, ATSstrcst("viewtypedef"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VIEWTYPEDEF) ; /* statmp363 = */ insert_6 (statmp130, ATSstrcst("prval"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAL) ; /* statmp364 = */ insert_6 (statmp130, ATSstrcst("var"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__VAR) ; /* statmp365 = */ insert_6 (statmp130, ATSstrcst("prvar"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__PRVAR) ; statmp367 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82) ; /* statmp366 = */ insert_6 (statmp130, ATSstrcst("when"), statmp367) ; statmp369 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; /* statmp368 = */ insert_6 (statmp130, ATSstrcst("where"), statmp369) ; statmp371 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86) ; /* statmp370 = */ insert_6 (statmp130, ATSstrcst("with"), statmp371) ; /* statmp372 = */ insert_6 (statmp130, ATSstrcst("withtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHTYPE) ; /* statmp373 = */ insert_6 (statmp130, ATSstrcst("withprop"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHPROP) ; /* statmp374 = */ insert_6 (statmp130, ATSstrcst("withview"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEW) ; /* statmp375 = */ insert_6 (statmp130, ATSstrcst("withvtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE) ; /* statmp376 = */ insert_6 (statmp130, ATSstrcst("withviewtype"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__WITHVIEWTYPE) ; /* statmp377 = */ insert_6 (statmp130, ATSstrcst("$delay"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRDELAY) ; /* statmp378 = */ insert_6 (statmp130, ATSstrcst("$ldelay"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLDELAY) ; statmp380 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; /* statmp379 = */ insert_6 (statmp130, ATSstrcst("$arrpsz"), statmp380) ; statmp382 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; /* statmp381 = */ insert_6 (statmp130, ATSstrcst("$arrptrsize"), statmp382) ; statmp384 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94) ; /* statmp383 = */ insert_6 (statmp130, ATSstrcst("$d2ctype"), statmp384) ; /* statmp385 = */ insert_6 (statmp130, ATSstrcst("$effmask"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK) ; /* statmp386 = */ insert_6 (statmp130, ATSstrcst("$effmask_ntm"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_NTM) ; /* statmp387 = */ insert_6 (statmp130, ATSstrcst("$effmask_exn"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_EXN) ; /* statmp388 = */ insert_6 (statmp130, ATSstrcst("$effmask_ref"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_REF) ; /* statmp389 = */ insert_6 (statmp130, ATSstrcst("$effmask_wrt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_WRT) ; /* statmp390 = */ insert_6 (statmp130, ATSstrcst("$effmask_all"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLREFFMASK_ALL) ; statmp392 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTERN_97) ; /* statmp391 = */ insert_6 (statmp130, ATSstrcst("$extern"), statmp392) ; statmp394 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98) ; /* statmp393 = */ insert_6 (statmp130, ATSstrcst("$extkind"), statmp394) ; statmp396 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99) ; /* statmp395 = */ insert_6 (statmp130, ATSstrcst("$extype"), statmp396) ; statmp398 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100) ; /* statmp397 = */ insert_6 (statmp130, ATSstrcst("$extype_struct"), statmp398) ; statmp400 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101) ; /* statmp399 = */ insert_6 (statmp130, ATSstrcst("$extval"), statmp400) ; statmp402 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102) ; /* statmp401 = */ insert_6 (statmp130, ATSstrcst("$extfcall"), statmp402) ; statmp404 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103) ; /* statmp403 = */ insert_6 (statmp130, ATSstrcst("$extmcall"), statmp404) ; statmp406 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104) ; /* statmp405 = */ insert_6 (statmp130, ATSstrcst("$literal"), statmp406) ; statmp408 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105) ; /* statmp407 = */ insert_6 (statmp130, ATSstrcst("$myfilename"), statmp408) ; statmp410 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106) ; /* statmp409 = */ insert_6 (statmp130, ATSstrcst("$mylocation"), statmp410) ; statmp412 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107) ; /* statmp411 = */ insert_6 (statmp130, ATSstrcst("$myfunction"), statmp412) ; /* statmp413 = */ insert_6 (statmp130, ATSstrcst("$lst"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST) ; /* statmp414 = */ insert_6 (statmp130, ATSstrcst("$lst_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T) ; /* statmp415 = */ insert_6 (statmp130, ATSstrcst("$lst_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT) ; /* statmp416 = */ insert_6 (statmp130, ATSstrcst("$list"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST) ; /* statmp417 = */ insert_6 (statmp130, ATSstrcst("$list_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_T) ; /* statmp418 = */ insert_6 (statmp130, ATSstrcst("$list_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRLST_VT) ; /* statmp419 = */ insert_6 (statmp130, ATSstrcst("$rec"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC) ; /* statmp420 = */ insert_6 (statmp130, ATSstrcst("$rec_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T) ; /* statmp421 = */ insert_6 (statmp130, ATSstrcst("$rec_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT) ; /* statmp422 = */ insert_6 (statmp130, ATSstrcst("$record"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC) ; /* statmp423 = */ insert_6 (statmp130, ATSstrcst("$record_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_T) ; /* statmp424 = */ insert_6 (statmp130, ATSstrcst("$record_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRREC_VT) ; /* statmp425 = */ insert_6 (statmp130, ATSstrcst("$tup"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP) ; /* statmp426 = */ insert_6 (statmp130, ATSstrcst("$tup_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T) ; /* statmp427 = */ insert_6 (statmp130, ATSstrcst("$tup_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT) ; /* statmp428 = */ insert_6 (statmp130, ATSstrcst("$tuple"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP) ; /* statmp429 = */ insert_6 (statmp130, ATSstrcst("$tuple_t"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_T) ; /* statmp430 = */ insert_6 (statmp130, ATSstrcst("$tuple_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRTUP_VT) ; statmp432 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111) ; /* statmp431 = */ insert_6 (statmp130, ATSstrcst("$break"), statmp432) ; statmp434 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112) ; /* statmp433 = */ insert_6 (statmp130, ATSstrcst("$continue"), statmp434) ; statmp436 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113) ; /* statmp435 = */ insert_6 (statmp130, ATSstrcst("$raise"), statmp436) ; statmp438 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114) ; /* statmp437 = */ insert_6 (statmp130, ATSstrcst("$showtype"), statmp438) ; /* statmp439 = */ insert_6 (statmp130, ATSstrcst("$vcopyenv_v"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_V) ; /* statmp440 = */ insert_6 (statmp130, ATSstrcst("$vcopyenv_vt"), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__DLRVCOPYENV_VT) ; statmp442 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116) ; /* statmp441 = */ insert_6 (statmp130, ATSstrcst("$tempenver"), statmp442) ; statmp444 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117) ; /* statmp443 = */ insert_6 (statmp130, ATSstrcst("$solver_assert"), statmp444) ; statmp446 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118) ; /* statmp445 = */ insert_6 (statmp130, ATSstrcst("$solver_verify"), statmp446) ; statmp448 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; /* statmp447 = */ insert_6 (statmp130, ATSstrcst("#if"), statmp448) ; statmp450 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; /* statmp449 = */ insert_6 (statmp130, ATSstrcst("#ifdef"), statmp450) ; statmp452 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; /* statmp451 = */ insert_6 (statmp130, ATSstrcst("#ifndef"), statmp452) ; statmp454 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122) ; /* statmp453 = */ insert_6 (statmp130, ATSstrcst("#then"), statmp454) ; statmp456 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; /* statmp455 = */ insert_6 (statmp130, ATSstrcst("#elif"), statmp456) ; statmp458 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; /* statmp457 = */ insert_6 (statmp130, ATSstrcst("#elifdef"), statmp458) ; statmp460 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; /* statmp459 = */ insert_6 (statmp130, ATSstrcst("#elifndef"), statmp460) ; statmp462 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126) ; /* statmp461 = */ insert_6 (statmp130, ATSstrcst("#else"), statmp462) ; statmp464 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; /* statmp463 = */ insert_6 (statmp130, ATSstrcst("#endif"), statmp464) ; statmp466 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; /* statmp465 = */ insert_6 (statmp130, ATSstrcst("#error"), statmp466) ; statmp468 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; /* statmp467 = */ insert_6 (statmp130, ATSstrcst("#prerr"), statmp468) ; statmp470 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; /* statmp469 = */ insert_6 (statmp130, ATSstrcst("#print"), statmp470) ; statmp472 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; /* statmp471 = */ insert_6 (statmp130, ATSstrcst("#assert"), statmp472) ; statmp474 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; /* statmp473 = */ insert_6 (statmp130, ATSstrcst("#undef"), statmp474) ; statmp476 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; /* statmp475 = */ insert_6 (statmp130, ATSstrcst("#define"), statmp476) ; statmp478 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; /* statmp477 = */ insert_6 (statmp130, ATSstrcst("#include"), statmp478) ; statmp480 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135) ; /* statmp479 = */ insert_6 (statmp130, ATSstrcst("#require"), statmp480) ; statmp482 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136) ; /* statmp481 = */ insert_6 (statmp130, ATSstrcst("#pragma"), statmp482) ; statmp484 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137) ; /* statmp483 = */ insert_6 (statmp130, ATSstrcst("#codegen2"), statmp484) ; statmp486 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN3_138) ; /* statmp485 = */ insert_6 (statmp130, ATSstrcst("#codegen3"), statmp486) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lexing_token_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_deref_dats.c0000664000175000017500000015500412655455557021165 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_deref_context_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_deref_reflinsel_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_t0ype_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_vt0ype_vtype) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02055_ () ; static ats_void_type prerr_error3_loc_02061_ (ats_ptr_type arg0) ; static ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxerr_nonderef_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_reflinsel_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux1_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux2_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux3_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux4_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 1744(line=55, offs=28) -- 1774(line=55, offs=58) */ ATSstaticdec() ats_void_type prerr_FILENAME_02055_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02055_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_deref")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02055_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02061_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_02061_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_02061_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 2069(line=75, offs=1) -- 2444(line=87, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_auxerr_pfobj_1: /* tmp2 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": dereference cannot be performed")) ; /* tmp6 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp8 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp9 = */ atspre_prerr_newline () ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 53 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_1, arg1) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ; return /* (tmp1) */ ; } /* end of [auxerr_pfobj_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 2475(line=90, offs=1) -- 3974(line=155, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; ATSlocal (anairiats_rec_1, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_bool_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_auxmain_3: // tmp12 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_2) ; ATS_FREE(arg1) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp14 ; /* ats_int_type tmp15 ; */ tmp15 = 0 ; /* ats_int_type tmp16 ; */ tmp16 = 0 ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp14, arg2, (&tmp15), (&tmp16)) ; tmp18 = ats_select_mac(tmp17, atslab_0) ; tmp19 = ats_select_mac(tmp17, atslab_1) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp18) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp19) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp20) ; if (tmp22) { tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp14), atslab_s2exp_srt) ; /* ats_ptr_type tmp24 ; */ tmp24 = (ats_sum_ptr_type)0 ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp14, arg2, (&tmp24)) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp24 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp26 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp24 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp26 = ats_false_bool ; break ; } while (0) ; tmp28 = atspre_neg_bool (tmp26) ; if (tmp28) { /* tmp29 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst(": the linear component cannot taken out.")) ; /* tmp31 = */ atspre_prerr_newline () ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp32)->tag = 56 ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_1, tmp14) ; ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_2, arg2) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp32) ; } else { /* empty */ } /* end of [if] */ /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp12) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize (1, tmp25) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp24 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_6, tmp24, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp36, tmp34) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp24 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp35 = tmp14 ; break ; } while (0) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp13, tmp35) ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp39, atslab_0, tmp37) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp12, tmp39) ; tmp11 = tmp25 ; } else { tmp11 = tmp20 ; } /* end of [if] */ return (tmp11) ; } /* end of [auxmain_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 4043(line=161, offs=3) -- 4405(line=176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp41 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_6, tmp41, atslab_0) ; ATS_FREE(tmp41) ; tmp40 = auxmain_3 (arg0, tmp42, arg2, arg3) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp41 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp43 ; /* tmp44 = */ auxerr_pfobj_1 (arg0, arg1) ; tmp40 = tmp43 ; break ; } while (0) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 4487(line=185, offs=1) -- 4733(line=194, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonderef_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_auxerr_nonderef_5: /* tmp46 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp47 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression cannot be dereferenced.")) ; /* tmp48 = */ atspre_prerr_newline () ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp49)->tag = 52 ; ats_selptrset_mac(anairiats_sum_7, tmp49, atslab_0, arg1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp49) ; return /* (tmp45) */ ; } /* end of [auxerr_nonderef_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 4767(line=197, offs=1) -- 5029(line=206, offs=4) */ ATSstaticdec() ats_void_type auxerr_reflinsel_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_auxerr_reflinsel_6: /* tmp51 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp52 = */ atspre_prerr_string (ATSstrcst(": the linear component cannot taken out.")) ; /* tmp53 = */ atspre_prerr_newline () ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp54)->tag = 64 ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_1, arg2) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp54) ; return /* (tmp50) */ ; } /* end of [auxerr_reflinsel_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 5085(line=211, offs=1) -- 5495(line=235, offs=4) */ ATSstaticdec() ats_ptr_type aux1_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_aux1_7: tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp56 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp55 = aux2_8 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp56 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_6, tmp56, atslab_0) ; ATS_FREE(tmp56) ; /* ats_ptr_type tmp58 ; */ tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref (arg0, tmp57, arg3, (&tmp58)) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr (arg0, tmp59, arg2, tmp58, arg3) ; break ; } while (0) ; return (tmp55) ; } /* end of [aux1_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 5518(line=238, offs=1) -- 6317(line=278, offs=4) */ ATSstaticdec() ats_ptr_type aux2_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; ATSlocal (anairiats_rec_1, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_bool_type, tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab_aux2_8: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (arg1) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (tmp61 != (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp60 = aux3_9 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (tmp61 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_6, tmp61, atslab_0) ; ATS_FREE(tmp61) ; /* ats_ptr_type tmp63 ; */ tmp63 = tmp62 ; /* ats_int_type tmp64 ; */ tmp64 = 0 ; /* ats_int_type tmp65 ; */ tmp65 = 0 ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp62, arg3, (&tmp64), (&tmp65)) ; tmp67 = ats_select_mac(tmp66, atslab_0) ; tmp68 = ats_select_mac(tmp66, atslab_1) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp67) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp68) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp69) ; if (tmp71) { /* tmp72 = */ auxerr_reflinsel_6 (arg0, arg2, arg3, tmp69) ; } else { /* empty */ } /* end of [if] */ tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (arg0) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref (arg0, tmp69, arg2, tmp63, arg3) ; break ; } while (0) ; return (tmp60) ; } /* end of [aux2_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 6340(line=281, offs=1) -- 6686(line=303, offs=4) */ ATSstaticdec() ats_ptr_type aux3_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_aux3_9: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_t0ype_type (arg1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp75 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp74 = aux4_10 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp75 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_6, tmp75, atslab_0) ; ATS_FREE(tmp75) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval (arg0, tmp76, 0, arg2) ; break ; } while (0) ; return (tmp74) ; } /* end of [aux3_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 6709(line=306, offs=1) -- 7097(line=328, offs=4) */ ATSstaticdec() ats_ptr_type aux4_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab_aux4_10: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_lazy_vt0ype_vtype (arg1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp78 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_6, tmp78, atslab_0) ; ATS_FREE(tmp78) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval (arg0, tmp79, 1, arg2) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp78 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: /* tmp80 = */ auxerr_nonderef_5 (arg0, arg2) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; break ; } while (0) ; return (tmp77) ; } /* end of [aux4_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_deref.dats: 7167(line=334, offs=3) -- 7785(line=376, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref: tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp82) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp82) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp85) ; tmp81 = aux1_7 (arg0, tmp86, tmp82, tmp83) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_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 () ; #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_trans3_deref_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_error_dats.c0000664000175000017500000005605412655455557021235 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type the_trans2errlst_get_1 () ; static ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_7 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp3) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(ats_ptr_type)) ; return (tmp1) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_error.dats: 1706(line=60, offs=1) -- 1888(line=69, offs=4) */ ATSstaticdec() ats_ptr_type the_trans2errlst_get_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_the_trans2errlst_get_1: tmp5 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp6 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp7 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp5) = tmp7 ; tmp4 = tmp6 ; return (tmp4) ; } /* end of [the_trans2errlst_get_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_error.dats: 1976(line=74, offs=22) -- 2081(line=78, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_1, tmp11) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp18 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp19 = atspre_iadd (arg1, 1) ; arg0 = tmp18 ; arg1 = tmp19 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = arg1 ; break ; } while (0) ; return (tmp16) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp15) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp15 = loop_5 (arg0, 0) ; return (tmp15) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_7: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp23 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp22) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp21 = */ loop_7 (arg0) ; return /* (tmp21) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_error.dats: 2155(line=81, offs=27) -- 2580(line=102, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_finalize () { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_finalize: tmp13 = the_trans2errlst_get_1 () ; tmp14 = list_vt_length_01501_ats_ptr_type (tmp13) ; /* tmp20 = */ list_vt_free_01499_ats_ptr_type (tmp13) ; tmp25 = atspre_igt (tmp14, 0) ; if (tmp25) { /* tmp24 = */ atspre_fprintf_exn (stderr, ATSstrcst("patsopt(TRANS2): there are [%i] errors in total.\n"), tmp14) ; } else { /* empty */ } /* end of [if] */ tmp26 = atspre_igt (tmp14, 0) ; if (tmp26) { tmp27 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN) ; /* tmp12 = */ ats_raise_exn (tmp27) ; } else { /* empty */ } /* end of [if] */ return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_finalize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp3 = (ats_sum_ptr_type)0 ; statmp0 = ref_01088_ats_ptr_type (statmp3) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans2_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_e0xp_dats.c0000664000175000017500000011723612655455557021212 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atme0xp_60) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_list) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_eval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__datsdef_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type p_e0xpseq_vt_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_atme0xp_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_atme0xp_tok_3 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_e0xp0_6 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_datsval_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 1760(line=61, offs=1) -- 1879(line=68, offs=2) */ ATSstaticdec() ats_ptr_type p_e0xpseq_vt_0 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab_p_e0xpseq_vt_0: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp) ; return (tmp0) ; } /* end of [p_e0xpseq_vt_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 1945(line=74, offs=3) -- 1992(line=74, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq: tmp2 = p_e0xpseq_vt_0 (arg0, arg1, arg2) ; tmp1 = ats_castfn_mac(ats_ptr_type, tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xpseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 2196(line=91, offs=1) -- 2318(line=97, offs=2) */ ATSstaticdec() ats_ptr_type p_atme0xp_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_p_atme0xp_2: tmp4 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atme0xp_60) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_atme0xp_tok_3, tmp4) ; return (tmp3) ; } /* end of [p_atme0xp_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab_loop_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp22 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: break ; } while (0) ; return /* (tmp21) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp20) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp20 = */ loop_5 (arg0) ; return /* (tmp20) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 2342(line=100, offs=1) -- 3658(line=163, offs=4) */ ATSstaticdec() ats_ptr_type p_atme0xp_tok_3 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; __ats_lab_p_atme0xp_tok_3: tmp6 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp7 ; */ tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de, (&tmp7)) ; if (!tmp10) { goto __ats_lab_1_0 ; } tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0de (ats_castfn_mac(ats_ptr_type, tmp7)) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp9)->tag != 146) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt (arg3) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp9)->tag != 147) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har (arg3) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp9)->tag != 148) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat (arg3) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp9)->tag != 150) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring (arg3) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp9)->tag != 153) { goto __ats_lab_8_0 ; } __ats_lab_5_1: /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp16 = p_e0xpseq_vt_0 (arg0, 0, arg2) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp18 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp6) ; if (tmp18) { tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_list (arg3, ats_castfn_mac(ats_ptr_type, tmp16), tmp17) ; } else { /* tmp19 = */ list_vt_free_01499_ats_ptr_type (tmp16) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp9)->tag != 168) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp6) ; tmp26 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp6) ; if (tmp26) { tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_eval (arg3, tmp24, tmp25) ; } else { tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp27 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp27 ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp5) ; } /* end of [p_atme0xp_tok_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 3812(line=177, offs=1) -- 4025(line=186, offs=2) */ ATSstaticdec() ats_ptr_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_loop_7: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp29 = arg0 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app (arg0, tmp30) ; arg0 = tmp32 ; arg1 = tmp31 ; goto __ats_lab_loop_7 ; // tail call break ; } while (0) ; return (tmp29) ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 3745(line=172, offs=1) -- 4198(line=196, offs=4) */ ATSstaticdec() ats_ptr_type p_e0xp0_6 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_p_e0xp0_6: tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &p_atme0xp_2) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp33 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp33 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_2, tmp33, atslab_0) ; tmp35 = ats_caselptrlab_mac(anairiats_sum_2, tmp33, atslab_1) ; ATS_FREE(tmp33) ; tmp28 = loop_7 (tmp34, tmp35) ; break ; } while (0) ; return (tmp28) ; } /* end of [p_e0xp0_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp53) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; return /* (tmp53) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 4325(line=205, offs=7) -- 5350(line=249, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_uint_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_int_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp: tmp37 = ats_ptrget_mac(ats_int_type, arg2) ; tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp40 ; */ tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp39), atslab_token_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_e0xp0_6, (&tmp40)) ; if (!tmp42) { goto __ats_lab_15_0 ; } tmp43 = ats_castfn_mac(ats_ptr_type, tmp40) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp (arg0, 0, arg2) ; tmp45 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp37) ; if (tmp45) { tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app (tmp43, tmp44) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp37 ; tmp36 = tmp43 ; } /* end of [if] */ break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp41)->tag != 53) { goto __ats_lab_18_0 ; } __ats_lab_15_1: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp47 = p_e0xp0_6 (arg0, arg1, arg2) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN, tmp37) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp, tmp37) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp) ; tmp51 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp37) ; if (tmp51) { tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_if (tmp39, tmp47, tmp49, ats_castfn_mac(ats_ptr_type, tmp50)) ; } else { /* tmp52 = */ option_vt_free_01544_ats_ptr_type (tmp50) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp38) ; } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp54 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp54 ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 5490(line=259, offs=1) -- 6217(line=300, offs=4) */ ATSstaticdec() ats_ptr_type p_datsval_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_uint_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab_p_datsval_10: tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp58 ; */ tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp57), atslab_token_loc) ; tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp57), atslab_token_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp60)->tag != 146) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt (tmp57) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp60)->tag != 147) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har (tmp57) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp60)->tag != 148) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat (tmp57) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp60)->tag != 150) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring (tmp57) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp60)->tag != 139) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid (tmp59, tmp65) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid (tmp59, ATSstrcst("")) ; break ; } while (0) ; return (tmp55) ; } /* end of [p_datsval_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_e0xp.dats: 6362(line=311, offs=3) -- 6769(line=335, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_datsdef (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_uint_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_datsdef: tmp68 = ats_ptrget_mac(ats_int_type, arg2) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de (arg0, arg1, arg2) ; tmp72 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp68) ; if (tmp72) { tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ, &p_datsval_10) ; } else { tmp71 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp73 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp68) ; if (tmp73) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__datsdef_make (tmp70, ats_castfn_mac(ats_ptr_type, tmp71)) ; } else { /* tmp74 = */ option_vt_free_01544_ats_ptr_type (tmp71) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp69) ; } /* end of [if] */ return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_datsdef] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_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 () ; #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_parsing_e0xp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_print_dats.c0000664000175000017500000061101112655455557021116 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_primdec_loc ; ats_ptr_type atslab_primdec_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_s2aspdec_loc ; ats_ptr_type atslab_s2aspdec_cst ; ats_ptr_type atslab_s2aspdec_def ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_hivaldec_loc ; ats_ptr_type atslab_hivaldec_pat ; ats_ptr_type atslab_hivaldec_def ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_hivardec_loc ; ats_int_type atslab_hivardec_knd ; ats_ptr_type atslab_hivardec_dvar_ptr ; ats_ptr_type atslab_hivardec_dvar_view ; ats_ptr_type atslab_hivardec_type ; ats_ptr_type atslab_hivardec_init ; } anairiats_rec_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_primlab_loc ; ats_ptr_type atslab_primlab_node ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_22 ; typedef struct { anairiats_rec_22 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_24 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_25 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_26 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_27 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_28 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_29 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_30 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargtmpref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVenv_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVint_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVintrep_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVbool_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVchar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfloat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVstring_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVi0nt_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVf0loat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcstsp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcstmat_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvarmat_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKi0nt_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKf0loat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIFUNDEC2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIIMPDEC2_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primcstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_labprimvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpmovlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__fprint_labprimval) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type __ats_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fpr_25 (ats_ptr_type arg0, anairiats_rec_22 arg1) ; static ats_void_type aux_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_anairiats_rec_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type fpr_45 (ats_ptr_type arg0, anairiats_rec_22 arg1) ; static ats_void_type loop_47 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_anairiats_rec_22 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 2136(line=87, offs=3) -- 2627(line=110, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primcstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primcstsp: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("$myfilename(")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp1) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("$mylocation(")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("$myfunction(")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp7) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primcstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 2707(line=116, offs=3) -- 2747(line=116, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primdec (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primdec: /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec (stdout, arg0) ; return /* (tmp10) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 2774(line=119, offs=3) -- 2814(line=119, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primdec (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primdec: /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec (stderr, arg0) ; return /* (tmp11) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_bool_type, tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_int_type, tmp47) ; __ats_lab_aux_5: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp45 = atspre_gt_int_int (arg1, 0) ; if (tmp45) { /* tmp44 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp46 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp42) ; tmp47 = atspre_add_int_int (arg1, 1) ; arg0 = tmp43 ; arg1 = tmp47 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp41) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp40 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp40) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 4434(line=194, offs=23) -- 4488(line=194, offs=77) */ ATSstaticdec() ats_void_type __ats_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab___ats_fun_6: tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_hifundec_var) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp58) ; return /* (tmp57) */ ; } /* end of [__ats_fun_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 4755(line=206, offs=23) -- 4809(line=206, offs=77) */ ATSstaticdec() ats_void_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab___ats_fun_7: tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_hivaldec_pat) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp66) ; return /* (tmp65) */ ; } /* end of [__ats_fun_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 5081(line=217, offs=23) -- 5135(line=217, offs=77) */ ATSstaticdec() ats_void_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab___ats_fun_8: tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_hivaldec_pat) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp74) ; return /* (tmp73) */ ; } /* end of [__ats_fun_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 5334(line=227, offs=23) -- 5393(line=227, offs=82) */ ATSstaticdec() ats_void_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab___ats_fun_9: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_hivardec_dvar_ptr) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp79) ; return /* (tmp78) */ ; } /* end of [__ats_fun_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 2866(line=125, offs=3) -- 6818(line=287, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_primdec_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp13)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("PMDnone()")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp13)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("PMDlist(\n")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp14) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp13)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("PMDsaspdec(")) ; tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp17), atslab_s2aspdec_cst) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp20) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp13)->tag != 3) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp13, atslab_0) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("PMDextvar(")) ; /* tmp23 = */ atspre_fprint_string (arg0, tmp21) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp13)->tag != 4) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("PMDdatdecs(")) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp24) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp13)->tag != 5) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("PMDexndecs(")) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (arg0, tmp27) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp13)->tag != 10) { goto __ats_lab_12_0 ; } __ats_lab_9_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_cst) ; tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_imparg) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_tmparg) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("PMDimpdec(")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp31) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("; imparg=")) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp32) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("; tmparg=")) ; /* tmp39 = */ fprintlst_01885_ats_ptr_type (arg0, tmp33, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp13)->tag != 6) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_2) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst("PMDfundecs(")) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funkind (arg0, tmp48) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst (arg0, tmp49) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp56 = */ fprintlst_01885_ats_ptr_type (arg0, tmp50, ATSstrcst(", "), &__ats_fun_6) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp13)->tag != 7) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvaldecs(")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind (arg0, tmp59) ; /* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp64 = */ fprintlst_01885_ats_ptr_type (arg0, tmp60, ATSstrcst(", "), &__ats_fun_7) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp13)->tag != 8) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvaldecs_rec(")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_valkind (arg0, tmp67) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp72 = */ fprintlst_01885_ats_ptr_type (arg0, tmp68, ATSstrcst(", "), &__ats_fun_8) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp13)->tag != 9) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_4, tmp13, atslab_0) ; /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvardecs(")) ; /* tmp77 = */ fprintlst_01885_ats_ptr_type (arg0, tmp75, ATSstrcst(", "), &__ats_fun_9) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp13)->tag != 11) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_11, tmp13, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_11, tmp13, atslab_1) ; /* tmp82 = */ atspre_fprint_string (arg0, ATSstrcst("PMDinclude(")) ; /* tmp83 = */ atspre_fprint_int (arg0, tmp80) ; /* tmp84 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp81) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp13)->tag != 12) { goto __ats_lab_22_0 ; } __ats_lab_17_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp86), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp87)->tag != 15) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 5699(line=243, offs=9) -- 5756(line=244, offs=47)") ; } tmp88 = ats_caselptrlab_mac(anairiats_sum_13, tmp87, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_13, tmp87, atslab_1) ; /* tmp90 = */ atspre_fprint_string (arg0, ATSstrcst("PMDstaload(")) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp88 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_14, tmp88, atslab_0) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp92) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp88 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: break ; } while (0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp88 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp93 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp88 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: break ; } while (0) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp89) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp13)->tag != 13) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ; /* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("PMDstaloadloc(")) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp95) ; /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp96) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst(" = (*primdeclist*)")) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp13)->tag != 14) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp101), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp102)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 6474(line=272, offs=9) -- 6508(line=272, offs=43)") ; } tmp103 = ats_caselptrlab_mac(anairiats_sum_1, tmp102, atslab_0) ; /* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("PMDdynload(")) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp103) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)tmp13)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: /* tmp106 = */ atspre_fprint_string (arg0, ATSstrcst("PMDlocal(")) ; /* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 6898(line=293, offs=3) -- 7026(line=299, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst: /* tmp109 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdec) ; /* tmp108 = */ atspre_fprint_newline (arg0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 7107(line=305, offs=3) -- 7147(line=305, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primval (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primval: /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (stdout, arg0) ; return /* (tmp110) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 7174(line=308, offs=3) -- 7214(line=308, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primval (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primval: /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (stderr, arg0) ; return /* (tmp111) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 7264(line=313, offs=16) -- 13810(line=608, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; ATSlocal (ats_int_type, tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_int_type, tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_int_type, tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; ATSlocal (ats_int_type, tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_int_type, tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_bool_type, tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; ATSlocal (ats_char_type, tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_double_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval: tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp113)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp115 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmp(")) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp114) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp113)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpref(")) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp117) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp113)->tag != 2) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst("PMVarg(")) ; /* tmp122 = */ atspre_fprint_int (arg0, tmp120) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp113)->tag != 3) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ; /* tmp124 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargref(")) ; /* tmp125 = */ atspre_fprint_int (arg0, tmp123) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp113)->tag != 4) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ; /* tmp127 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargtmpref(")) ; /* tmp128 = */ atspre_fprint_int (arg0, tmp126) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp113)->tag != 5) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargenv(")) ; /* tmp131 = */ atspre_fprint_int (arg0, tmp129) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp113)->tag != 6) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp133 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcst(")) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp132) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp113)->tag != 7) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst("PMVenv(")) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp135) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp113)->tag != 8) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("PMVint(")) ; /* tmp140 = */ atspre_fprint_int (arg0, tmp138) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp113)->tag != 9) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("PMVintrep(")) ; /* tmp143 = */ atspre_fprint_string (arg0, tmp141) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp113)->tag != 10) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_17, tmp113, atslab_0) ; /* tmp145 = */ atspre_fprint_string (arg0, ATSstrcst("PMVbool(")) ; /* tmp146 = */ atspre_fprint_bool (arg0, tmp144) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp113)->tag != 11) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_18, tmp113, atslab_0) ; /* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst("PMVchar(")) ; tmp150 = atspre_char_isprint (tmp147) ; if (tmp150) { /* tmp149 = */ atspre_fprint_char (arg0, tmp147) ; } else { /* tmp149 = */ atspre_fprintf_exn (arg0, ATSstrcst("int(%i)"), ats_castfn_mac(ats_int_type, tmp147)) ; } /* end of [if] */ /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp113)->tag != 12) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_19, tmp113, atslab_0) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("PMVfloat(")) ; /* tmp153 = */ atspre_fprint_double (arg0, tmp151) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp113)->tag != 13) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("PMVstring(")) ; /* tmp156 = */ atspre_fprint_string (arg0, tmp154) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp113)->tag != 14) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("PMVi0nt(")) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp157) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp113)->tag != 15) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("PMVf0loat(")) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp160) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp113)->tag != 16) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst("PMVsizeof(")) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp163) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp113)->tag != 17) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primcstsp (arg0, tmp166) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp113)->tag != 18) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtop()")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp113)->tag != 19) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVempty()")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp113)->tag != 20) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp168 = */ atspre_fprint_string (arg0, ATSstrcst("PMVextval(")) ; /* tmp169 = */ atspre_fprint_string (arg0, tmp167) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp113)->tag != 21) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ; /* tmp172 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcastfn(")) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp170) ; /* tmp174 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp171) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp113)->tag != 22) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp179 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselcon(")) ; /* tmp180 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp176) ; /* tmp181 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp177) ; /* tmp183 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp178) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp113)->tag != 23) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp188 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselect(")) ; /* tmp189 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp185) ; /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp186) ; /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab (arg0, tmp187) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp113)->tag != 24) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp197 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselect2(")) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp194) ; /* tmp199 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp195) ; /* tmp201 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp196) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp113)->tag != 25) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp206 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselptr(")) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp203) ; /* tmp208 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp204) ; /* tmp210 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp205) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp113)->tag != 26) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp213 = */ atspre_fprint_string (arg0, ATSstrcst("PMVptrof(")) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp212) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp113)->tag != 27) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp218 = */ atspre_fprint_string (arg0, ATSstrcst("PMVptrofsel(")) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp215) ; /* tmp220 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp216) ; /* tmp222 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp217) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp113)->tag != 28) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_1) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_2) ; /* tmp227 = */ atspre_fprint_string (arg0, ATSstrcst("PMVrefarg(")) ; /* tmp228 = */ atspre_fprint_int (arg0, tmp224) ; /* tmp229 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp230 = */ atspre_fprint_int (arg0, tmp225) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp226) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp113)->tag != 29) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ; /* tmp234 = */ atspre_fprint_string (arg0, ATSstrcst("PMVfunlab(")) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp233) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp113)->tag != 30) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp236 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_0) ; tmp237 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_1) ; /* tmp238 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcfunlab(")) ; /* tmp239 = */ atspre_fprint_string (arg0, ATSstrcst("knd=")) ; /* tmp240 = */ atspre_fprint_int (arg0, tmp236) ; /* tmp241 = */ atspre_fprint_string (arg0, ATSstrcst("; flab=")) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp237) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp113)->tag != 31) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ; tmp244 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ; /* tmp245 = */ atspre_fprint_string (arg0, ATSstrcst("PMVd2vfunlab(")) ; /* tmp246 = */ atspre_fprint_string (arg0, ATSstrcst("d2v=")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp243) ; /* tmp248 = */ atspre_fprint_string (arg0, ATSstrcst(", flab=")) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp244) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp113)->tag != 32) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_0) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_1) ; /* tmp252 = */ atspre_fprint_string (arg0, ATSstrcst("PMVlamfix(")) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("knd=")) ; /* tmp254 = */ atspre_fprint_int (arg0, tmp250) ; /* tmp255 = */ atspre_fprint_string (arg0, ATSstrcst("; fun=")) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp251) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp113)->tag != 33) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ; /* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltcst(")) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp257) ; /* tmp261 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp262 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp258) ; /* tmp263 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp113)->tag != 34) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ; tmp265 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltvar(")) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp264) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp265) ; /* tmp270 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp113)->tag != 35) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp271 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp274 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltcstmat[")) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind (arg0, tmp273) ; /* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst("](")) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp271) ; /* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp272) ; /* tmp280 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp113)->tag != 36) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ; /* tmp284 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltvarmat[")) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind (arg0, tmp283) ; /* tmp286 = */ atspre_fprint_string (arg0, ATSstrcst("](")) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp281) ; /* tmp288 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp289 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp282) ; /* tmp290 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (((ats_sum_ptr_type)tmp113)->tag != 37) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVerror()")) ; break ; } while (0) ; return /* (tmp112) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 13890(line=614, offs=3) -- 13949(line=615, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist: /* tmp291 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval) ; return /* (tmp291) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14030(line=622, offs=3) -- 14070(line=622, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primlab: /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab (stdout, arg0) ; return /* (tmp292) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_primlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14097(line=625, offs=3) -- 14137(line=625, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primlab: /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab (stderr, arg0) ; return /* (tmp293) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14189(line=631, offs=3) -- 14528(line=650, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab: tmp295 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_primlab_node) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp295)->tag != 0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_1, tmp295, atslab_0) ; /* tmp297 = */ atspre_fprint_string (arg0, ATSstrcst("PMLlab(")) ; /* tmp298 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp296) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (((ats_sum_ptr_type)tmp295)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_1, tmp295, atslab_0) ; /* tmp300 = */ atspre_fprint_string (arg0, ATSstrcst("PMLind(")) ; /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp299) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp294) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14587(line=654, offs=3) -- 14646(line=655, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp302) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst: /* tmp302 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlab) ; return /* (tmp302) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14785(line=664, offs=3) -- 14916(line=667, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__fprint_labprimval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; // ATSlocal_void (tmp306) ; // ATSlocal_void (tmp307) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__fprint_labprimval: tmp304 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp304) ; /* tmp307 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp305) ; return /* (tmp303) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__fprint_labprimval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 14981(line=671, offs=3) -- 15043(line=672, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_labprimvalist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp308) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_labprimvalist: /* tmp308 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__fprint_labprimval) ; return /* (tmp308) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_labprimvalist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 15124(line=679, offs=3) -- 16172(line=730, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_int_type, tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_bool_type, tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_char_type, tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_double_type, tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp311 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKcon(")) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp310) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp313 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKint(")) ; /* tmp315 = */ atspre_fprint_int (arg0, tmp313) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_0) ; /* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKbool(")) ; /* tmp318 = */ atspre_fprint_bool (arg0, tmp316) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_18, arg1, atslab_0) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKchar(")) ; /* tmp321 = */ atspre_fprint_char (arg0, tmp319) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_19, arg1, atslab_0) ; /* tmp323 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKfloat(")) ; /* tmp324 = */ atspre_fprint_double (arg0, tmp322) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp326 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKstring(")) ; /* tmp327 = */ atspre_fprint_string (arg0, tmp325) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp329 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKi0nt(")) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp328) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (((ats_sum_ptr_type)arg1)->tag != 7) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp331 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp332 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKf0loat(")) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp331) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp309) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 16214(line=733, offs=13) -- 16248(line=733, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patck (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patck: /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (stdout, arg0) ; return /* (tmp334) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 16271(line=735, offs=13) -- 16305(line=735, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patck (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp335) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patck: /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (stderr, arg0) ; return /* (tmp335) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 16378(line=742, offs=5) -- 16536(line=750, offs=2) */ ATSstaticdec() ats_void_type fpr_25 (ats_ptr_type arg0, anairiats_rec_22 arg1) { /* local vardec */ // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; __ats_lab_fpr_25: tmp339 = ats_select_mac(arg1, atslab_1) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp339) ; /* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("<-")) ; tmp341 = ats_select_mac(arg1, atslab_0) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp341) ; return /* (tmp337) */ ; } /* end of [fpr_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp343) ; ATSlocal (anairiats_rec_22, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_bool_type, tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_int_type, tmp349) ; __ats_lab_aux_27: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp344 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_0) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_1) ; tmp347 = atspre_gt_int_int (arg1, 0) ; if (tmp347) { /* tmp346 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp348 = */ ((ats_void_type(*)(ats_ptr_type, anairiats_rec_22))env2) (env0, tmp344) ; tmp349 = atspre_add_int_int (arg1, 1) ; arg0 = tmp345 ; arg1 = tmp349 ; goto __ats_lab_aux_27 ; // tail call break ; } while (0) ; return /* (tmp343) */ ; } /* end of [aux_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_27_closure_type ; ats_void_type aux_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_27 (((aux_27_closure_type*)cloptr)->closure_env_0, ((aux_27_closure_type*)cloptr)->closure_env_1, ((aux_27_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_27_closure_init (aux_27_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_27_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_27_closure_type *p_clo = ATS_MALLOC(sizeof(aux_27_closure_type)) ; aux_27_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_anairiats_rec_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp342) ; __ats_lab_fprintlst_01885_anairiats_rec_22: /* tmp342 = */ aux_27 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp342) */ ; } /* end of [fprintlst_01885_anairiats_rec_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 16355(line=740, offs=18) -- 16583(line=754, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpmovlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpmovlst: /* tmp336 = */ fprintlst_01885_anairiats_rec_22 (arg0, arg1, ATSstrcst(", "), &fpr_25) ; return /* (tmp336) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpmovlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 16663(line=760, offs=3) -- 17760(line=818, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTnone()")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp352 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplab(")) ; /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp351) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp354 = ats_caselptrlab_mac(anairiats_sum_24, arg1, atslab_0) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_24, arg1, atslab_1) ; /* tmp356 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplabint(")) ; /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp354) ; /* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp359 = */ atspre_fprint_int (arg0, tmp355) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp361 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp362 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplabmov(")) ; /* tmp363 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp360) ; /* tmp364 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp365 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpmovlst (arg0, tmp361) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* tmp366 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTcaseof_fail(")) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_81_0 ; } __ats_lab_80_1: /* tmp367 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTfunarg_fail(")) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTraise(")) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp368) ; /* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp369) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp350) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 17808(line=821, offs=16) -- 17845(line=821, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patckont (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patckont: /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (stdout, arg0) ; return /* (tmp374) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_patckont] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 17871(line=823, offs=16) -- 17908(line=823, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patckont (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patckont: /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (stderr, arg0) ; return /* (tmp375) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_patckont] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 17956(line=829, offs=3) -- 28721(line=1261, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; // ATSlocal_void (tmp379) ; // ATSlocal_void (tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; // ATSlocal_void (tmp398) ; ATSlocal (ats_int_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; // ATSlocal_void (tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_int_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; // ATSlocal_void (tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; // ATSlocal_void (tmp430) ; // ATSlocal_void (tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; // ATSlocal_void (tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; // ATSlocal_void (tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; // ATSlocal_void (tmp465) ; // ATSlocal_void (tmp466) ; ATSlocal (ats_int_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; // ATSlocal_void (tmp472) ; // ATSlocal_void (tmp473) ; // ATSlocal_void (tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; // ATSlocal_void (tmp487) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; // ATSlocal_void (tmp490) ; // ATSlocal_void (tmp491) ; // ATSlocal_void (tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; // ATSlocal_void (tmp496) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; // ATSlocal_void (tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; // ATSlocal_void (tmp508) ; // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; // ATSlocal_void (tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; // ATSlocal_void (tmp516) ; // ATSlocal_void (tmp517) ; // ATSlocal_void (tmp518) ; // ATSlocal_void (tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; // ATSlocal_void (tmp523) ; // ATSlocal_void (tmp524) ; // ATSlocal_void (tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; // ATSlocal_void (tmp530) ; // ATSlocal_void (tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_int_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; // ATSlocal_void (tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; // ATSlocal_void (tmp539) ; // ATSlocal_void (tmp540) ; // ATSlocal_void (tmp541) ; // ATSlocal_void (tmp542) ; // ATSlocal_void (tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_int_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; // ATSlocal_void (tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; // ATSlocal_void (tmp556) ; // ATSlocal_void (tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; // ATSlocal_void (tmp573) ; // ATSlocal_void (tmp574) ; // ATSlocal_void (tmp575) ; // ATSlocal_void (tmp576) ; // ATSlocal_void (tmp577) ; // ATSlocal_void (tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; // ATSlocal_void (tmp582) ; // ATSlocal_void (tmp583) ; // ATSlocal_void (tmp584) ; // ATSlocal_void (tmp585) ; // ATSlocal_void (tmp586) ; // ATSlocal_void (tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_int_type, tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; // ATSlocal_void (tmp592) ; // ATSlocal_void (tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_int_type, tmp596) ; // ATSlocal_void (tmp597) ; // ATSlocal_void (tmp598) ; // ATSlocal_void (tmp599) ; // ATSlocal_void (tmp600) ; // ATSlocal_void (tmp601) ; // ATSlocal_void (tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; // ATSlocal_void (tmp605) ; // ATSlocal_void (tmp606) ; // ATSlocal_void (tmp607) ; // ATSlocal_void (tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; // ATSlocal_void (tmp611) ; // ATSlocal_void (tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; // ATSlocal_void (tmp617) ; // ATSlocal_void (tmp618) ; // ATSlocal_void (tmp619) ; // ATSlocal_void (tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; // ATSlocal_void (tmp625) ; // ATSlocal_void (tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; // ATSlocal_void (tmp628) ; // ATSlocal_void (tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; // ATSlocal_void (tmp632) ; // ATSlocal_void (tmp633) ; // ATSlocal_void (tmp634) ; // ATSlocal_void (tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; // ATSlocal_void (tmp638) ; // ATSlocal_void (tmp639) ; // ATSlocal_void (tmp640) ; // ATSlocal_void (tmp641) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr: tmp377 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_instr_node) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp377)->tag != 0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp378 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp379 = */ atspre_fprint_string (arg0, ATSstrcst("INSfunlab(")) ; /* tmp380 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp378) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp377)->tag != 1) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp381 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp382 = */ atspre_fprint_string (arg0, ATSstrcst("INStmplab(")) ; /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp381) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp377)->tag != 2) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp385 = */ atspre_fprint_string (arg0, ATSstrcst("INScomment(")) ; /* tmp386 = */ atspre_fprint_string (arg0, tmp384) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp377)->tag != 3) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp387 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp388 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp389 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_val(")) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp387) ; /* tmp391 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp388) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp377)->tag != 4) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp393 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp394 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp395 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_val(")) ; /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp393) ; /* tmp397 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp394) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp377)->tag != 5) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_11, tmp377, atslab_0) ; tmp400 = ats_caselptrlab_mac(anairiats_sum_11, tmp377, atslab_1) ; /* tmp401 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_arg_val(")) ; /* tmp402 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg(%i)"), tmp399) ; /* tmp403 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp400) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp377)->tag != 6) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp405 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_0) ; tmp406 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_1) ; tmp407 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_2) ; tmp408 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_3) ; /* tmp409 = */ atspre_fprint_string (arg0, ATSstrcst("INSfcall(")) ; /* tmp410 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp405) ; /* tmp411 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp406) ; /* tmp413 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp407) ; /* tmp415 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp416 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp408) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp377)->tag != 7) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp417 = ats_caselptrlab_mac(anairiats_sum_27, tmp377, atslab_0) ; tmp418 = ats_caselptrlab_mac(anairiats_sum_27, tmp377, atslab_1) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_27, tmp377, atslab_2) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_27, tmp377, atslab_3) ; tmp421 = ats_caselptrlab_mac(anairiats_sum_27, tmp377, atslab_4) ; /* tmp422 = */ atspre_fprint_string (arg0, ATSstrcst("INSfcall2(")) ; /* tmp423 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp417) ; /* tmp424 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp425 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp418) ; /* tmp426 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp427 = */ atspre_fprint_int (arg0, tmp419) ; /* tmp428 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp420) ; /* tmp430 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp431 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp421) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp377)->tag != 8) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_0) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_1) ; tmp434 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_2) ; /* tmp435 = */ atspre_fprint_string (arg0, ATSstrcst("INSextfcall(")) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp432) ; /* tmp437 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp438 = */ atspre_fprint_string (arg0, tmp433) ; /* tmp439 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp440 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp434) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp377)->tag != 9) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp441 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_0) ; tmp442 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_1) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_2) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_3) ; /* tmp445 = */ atspre_fprint_string (arg0, ATSstrcst("INSextmcall(")) ; /* tmp446 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp441) ; /* tmp447 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp442) ; /* tmp449 = */ atspre_fprint_string (arg0, ATSstrcst(".")) ; /* tmp450 = */ atspre_fprint_string (arg0, tmp443) ; /* tmp451 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp452 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp444) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp377)->tag != 10) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp453 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_0) ; tmp454 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_1) ; tmp455 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_2) ; /* tmp456 = */ atspre_fprint_string (arg0, ATSstrcst("INScond(\n")) ; /* tmp457 = */ atspre_fprint_string (arg0, ATSstrcst("**COND**\n")) ; /* tmp458 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp453) ; /* tmp459 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp460 = */ atspre_fprint_string (arg0, ATSstrcst("**THEN**\n")) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst (arg0, tmp454) ; /* tmp462 = */ atspre_fprint_string (arg0, ATSstrcst("**ELSE**\n")) ; /* tmp463 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst (arg0, tmp455) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp377)->tag != 11) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp464 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp465 = */ atspre_fprint_string (arg0, ATSstrcst("INSfreecon(")) ; /* tmp466 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp464) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp377)->tag != 12) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("INSloop(...)")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp377)->tag != 13) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp467 = ats_caselptrlab_mac(anairiats_sum_11, tmp377, atslab_0) ; tmp468 = ats_caselptrlab_mac(anairiats_sum_11, tmp377, atslab_1) ; /* tmp469 = */ atspre_fprint_string (arg0, ATSstrcst("INSloopexn(")) ; /* tmp470 = */ atspre_fprint_int (arg0, tmp467) ; /* tmp471 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp472 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp468) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp377)->tag != 14) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp473 = */ atspre_fprint_string (arg0, ATSstrcst("INScaseof(")) ; /* tmp474 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp377)->tag != 15) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("INSletpop()")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp377)->tag != 16) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp475 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp476 = */ atspre_fprint_string (arg0, ATSstrcst("INSletpush(\n")) ; /* tmp477 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp475) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp377)->tag != 17) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_0) ; tmp479 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_1) ; tmp480 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_2) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_3) ; /* tmp482 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_con(")) ; /* tmp483 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp478) ; /* tmp484 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp479) ; /* tmp486 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp480) ; /* tmp488 = */ atspre_fprint_string (arg0, ATSstrcst(";")) ; /* tmp489 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_labprimvalist (arg0, tmp481) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp377)->tag != 19) { goto __ats_lab_101_0 ; } __ats_lab_100_1: /* tmp490 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_boxrec(")) ; /* tmp491 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp377)->tag != 20) { goto __ats_lab_102_0 ; } __ats_lab_101_1: /* tmp492 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_fltrec(")) ; /* tmp493 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp377)->tag != 21) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp494 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_1) ; tmp495 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_2) ; /* tmp496 = */ atspre_fprint_string (arg0, ATSstrcst("INSpatck(")) ; /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (arg0, tmp494) ; /* tmp498 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (arg0, tmp495) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp377)->tag != 22) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp500 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_0) ; tmp501 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_1) ; tmp502 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_2) ; tmp503 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_3) ; /* tmp504 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_ptrofsel(")) ; /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp500) ; /* tmp506 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp501) ; /* tmp508 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp509 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp502) ; /* tmp510 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp511 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp503) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp377)->tag != 23) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp512 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_0) ; tmp513 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_1) ; tmp514 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_2) ; tmp515 = ats_caselptrlab_mac(anairiats_sum_26, tmp377, atslab_3) ; /* tmp516 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_ptrofs(")) ; /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp512) ; /* tmp518 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp513) ; /* tmp520 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp521 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp514) ; /* tmp523 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp524 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp515) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp377)->tag != 24) { goto __ats_lab_106_0 ; } __ats_lab_105_1: /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("INSxstore_ptrofs(...)")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp377)->tag != 25) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp526 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp528 = */ atspre_fprint_string (arg0, ATSstrcst("INSraise(")) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp526) ; /* tmp530 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp531 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp527) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp377)->tag != 26) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_0) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_1) ; tmp534 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_2) ; tmp535 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_3) ; /* tmp536 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_delay(")) ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp532) ; /* tmp538 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp539 = */ atspre_fprint_int (arg0, tmp533) ; /* tmp540 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp541 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp534) ; /* tmp542 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp535) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp377)->tag != 27) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp544 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_0) ; tmp545 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_1) ; tmp546 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_2) ; tmp547 = ats_caselptrlab_mac(anairiats_sum_28, tmp377, atslab_3) ; /* tmp548 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_lazyeval(")) ; /* tmp549 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp544) ; /* tmp550 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp551 = */ atspre_fprint_int (arg0, tmp545) ; /* tmp552 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp546) ; /* tmp554 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp555 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp547) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp377)->tag != 28) { goto __ats_lab_110_0 ; } __ats_lab_109_1: /* tmp556 = */ atspre_fprint_string (arg0, ATSstrcst("INStrywith(")) ; /* tmp557 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp377)->tag != 29) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp558 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp559 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_nil(")) ; /* tmp560 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp558) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp377)->tag != 30) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp561 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp562 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_list_nil(")) ; /* tmp563 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp561) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp377)->tag != 31) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp564 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp565 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp566 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_list_cons(")) ; /* tmp567 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp564) ; /* tmp568 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp569 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp565) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp377)->tag != 32) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp570 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_0) ; tmp571 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_1) ; tmp572 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_2) ; /* tmp573 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_phead(")) ; /* tmp574 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp570) ; /* tmp575 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp576 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp571) ; /* tmp577 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp572) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp377)->tag != 33) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp579 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_0) ; tmp580 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_1) ; tmp581 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_2) ; /* tmp582 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_ptail(")) ; /* tmp583 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp579) ; /* tmp584 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp585 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp580) ; /* tmp586 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp587 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp581) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp377)->tag != 35) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp588 = ats_caselptrlab_mac(anairiats_sum_24, tmp377, atslab_0) ; tmp589 = ats_caselptrlab_mac(anairiats_sum_24, tmp377, atslab_1) ; /* tmp590 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_arrpsz_asz(")) ; /* tmp591 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp588) ; /* tmp592 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp593 = */ atspre_fprint_int (arg0, tmp589) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp377)->tag != 36) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp594 = ats_caselptrlab_mac(anairiats_sum_29, tmp377, atslab_0) ; tmp595 = ats_caselptrlab_mac(anairiats_sum_29, tmp377, atslab_1) ; tmp596 = ats_caselptrlab_mac(anairiats_sum_29, tmp377, atslab_2) ; /* tmp597 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_arrpsz_ptr(")) ; /* tmp598 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp594) ; /* tmp599 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp600 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp595) ; /* tmp601 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp602 = */ atspre_fprint_int (arg0, tmp596) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp377)->tag != 34) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp603 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp604 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp605 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_arrpsz_ptr(")) ; /* tmp606 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp603) ; /* tmp607 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp608 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp604) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp377)->tag != 37) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp609 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp610 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp611 = */ atspre_fprint_string (arg0, ATSstrcst("INSupdate_ptrinc(")) ; /* tmp612 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp609) ; /* tmp613 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp610) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp377)->tag != 38) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp615 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp616 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp617 = */ atspre_fprint_string (arg0, ATSstrcst("INSupdate_ptrdec(")) ; /* tmp618 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp615) ; /* tmp619 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp620 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp616) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp377)->tag != 39) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp621 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp622 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp623 = */ atspre_fprint_string (arg0, ATSstrcst("INSclosure_initize(")) ; /* tmp624 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp621) ; /* tmp625 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ; /* tmp626 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp622) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp377)->tag != 40) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp627 = ats_caselptrlab_mac(anairiats_sum_1, tmp377, atslab_0) ; /* tmp628 = */ atspre_fprint_string (arg0, ATSstrcst("INStmpdec(")) ; /* tmp629 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp627) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp377)->tag != 41) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp630 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp631 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp632 = */ atspre_fprint_string (arg0, ATSstrcst("INSextvar(")) ; /* tmp633 = */ atspre_fprint_string (arg0, tmp630) ; /* tmp634 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp635 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp631) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp377)->tag != 42) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp636 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_0) ; tmp637 = ats_caselptrlab_mac(anairiats_sum_4, tmp377, atslab_1) ; /* tmp638 = */ atspre_fprint_string (arg0, ATSstrcst("INSdcstdef(")) ; /* tmp639 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp636) ; /* tmp640 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp641 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp637) ; /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: __ats_lab_124_1: /* tmp376 = */ atspre_fprint_string (arg0, ATSstrcst("INS...(...)")) ; break ; } while (0) ; return /* (tmp376) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 28791(line=1266, offs=13) -- 28829(line=1266, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_instr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp642) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_instr: /* tmp642 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr (stdout, arg0) ; return /* (tmp642) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_instr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 28852(line=1268, offs=13) -- 28890(line=1268, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_instr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp643) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_instr: /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr (stderr, arg0) ; return /* (tmp643) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_instr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 28941(line=1274, offs=3) -- 29063(line=1280, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp644) ; // ATSlocal_void (tmp645) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst: /* tmp645 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr) ; /* tmp644 = */ atspre_fprint_newline (arg0) ; return /* (tmp644) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 29163(line=1288, offs=5) -- 29568(line=1310, offs=4) */ ATSstaticdec() ats_void_type loop_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; // ATSlocal_void (tmp651) ; ATSlocal (ats_bool_type, tmp652) ; // ATSlocal_void (tmp653) ; // ATSlocal_void (tmp654) ; // ATSlocal_void (tmp655) ; ATSlocal (ats_int_type, tmp656) ; __ats_lab_loop_36: do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp648 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_0) ; tmp649 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_1) ; tmp650 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_2) ; tmp652 = atspre_gt_int_int (arg2, 0) ; if (tmp652) { /* tmp651 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; } else { /* empty */ } /* end of [if] */ /* tmp653 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp648) ; /* tmp654 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ; /* tmp655 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp649) ; tmp656 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp650 ; arg2 = tmp656 ; goto __ats_lab_loop_36 ; // tail call break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: break ; } while (0) ; return /* (tmp647) */ ; } /* end of [loop_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 29140(line=1286, offs=3) -- 29615(line=1314, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp646) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub: /* tmp646 = */ loop_36 (arg0, arg1, 0) ; return /* (tmp646) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 29672(line=1318, offs=3) -- 29921(line=1333, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp657) ; ATSlocal (ats_ptr_type, tmp658) ; // ATSlocal_void (tmp659) ; // ATSlocal_void (tmp660) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt: do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp658 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; /* tmp659 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp660 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp658) ; /* tmp657 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (arg1 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 29746(line=1325, offs=1) -- 29914(line=1331, offs=28)") ; } __ats_lab_128_1: /* tmp657 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp657) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 30002(line=1339, offs=3) -- 30266(line=1354, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hifundec2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_ptr_type, tmp663) ; // ATSlocal_void (tmp664) ; // ATSlocal_void (tmp665) ; // ATSlocal_void (tmp666) ; // ATSlocal_void (tmp667) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hifundec2: tmp662 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp663 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp664 = */ atspre_fprint_string (arg0, ATSstrcst("HIFUNDEC2(")) ; /* tmp665 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec (arg0, tmp662) ; /* tmp666 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp667 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp663) ; /* tmp661 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp661) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hifundec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 30347(line=1360, offs=3) -- 30618(line=1375, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hiimpdec2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; // ATSlocal_void (tmp674) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hiimpdec2: tmp669 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_0) ; tmp670 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_1) ; /* tmp671 = */ atspre_fprint_string (arg0, ATSstrcst("HIIMPDEC2(")) ; /* tmp672 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec (arg0, tmp669) ; /* tmp673 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp674 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp670) ; /* tmp668 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp668) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hiimpdec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 30699(line=1381, offs=3) -- 31577(line=1414, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; // ATSlocal_void (tmp678) ; // ATSlocal_void (tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; // ATSlocal_void (tmp684) ; // ATSlocal_void (tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; // ATSlocal_void (tmp687) ; // ATSlocal_void (tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; // ATSlocal_void (tmp691) ; // ATSlocal_void (tmp692) ; // ATSlocal_void (tmp693) ; // ATSlocal_void (tmp694) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat: do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: /* tmp675 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATnone()")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp676 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_0) ; tmp677 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_1) ; /* tmp678 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATsome(")) ; tmp680 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp676), atslab_hiimpdec_cst) ; /* tmp679 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp680) ; /* tmp681 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp683 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp676), atslab_hiimpdec_imparg) ; /* tmp682 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp683) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp686 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp676), atslab_hiimpdec_tmparg) ; /* tmp685 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp686) ; /* tmp687 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp688 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp677) ; /* tmp675 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: tmp689 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp690 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ; /* tmp691 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATsome2(")) ; /* tmp692 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp690) ; /* tmp693 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp694 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp689) ; /* tmp675 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp675) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 31640(line=1417, offs=23) -- 31816(line=1427, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp695) ; ATSlocal (ats_int_type, tmp696) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp696 = 0 ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp696 = 1 ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: tmp696 = 2 ; break ; } while (0) ; /* tmp695 = */ atspre_fprint_int (arg0, tmp696) ; return /* (tmp695) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 31902(line=1433, offs=3) -- 32697(line=1464, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; // ATSlocal_void (tmp700) ; // ATSlocal_void (tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; // ATSlocal_void (tmp703) ; // ATSlocal_void (tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; // ATSlocal_void (tmp706) ; // ATSlocal_void (tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; // ATSlocal_void (tmp710) ; // ATSlocal_void (tmp711) ; // ATSlocal_void (tmp712) ; // ATSlocal_void (tmp713) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat: do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp697 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATnone()")) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp698 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_0) ; tmp699 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_1) ; /* tmp700 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATsome(")) ; tmp702 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp698), atslab_hifundec_var) ; /* tmp701 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp702) ; /* tmp703 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp705 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp698), atslab_hifundec_imparg) ; /* tmp704 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp705) ; /* tmp706 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp707 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp699) ; /* tmp697 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: tmp708 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp709 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ; /* tmp710 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATsome2(")) ; /* tmp711 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp709) ; /* tmp712 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp713 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp708) ; /* tmp697 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp697) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 32760(line=1467, offs=23) -- 32936(line=1477, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp714) ; ATSlocal (ats_int_type, tmp715) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp715 = 0 ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp715 = 1 ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp715 = 2 ; break ; } while (0) ; /* tmp714 = */ atspre_fprint_int (arg0, tmp715) ; return /* (tmp714) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 33045(line=1484, offs=5) -- 33185(line=1490, offs=2) */ ATSstaticdec() ats_void_type fpr_45 (ats_ptr_type arg0, anairiats_rec_22 arg1) { /* local vardec */ // ATSlocal_void (tmp717) ; // ATSlocal_void (tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; // ATSlocal_void (tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; __ats_lab_fpr_45: tmp719 = ats_select_mac(arg1, atslab_0) ; /* tmp718 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp719) ; /* tmp720 = */ atspre_fprint_string (arg0, ATSstrcst("->")) ; tmp721 = ats_select_mac(arg1, atslab_1) ; /* tmp717 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp721) ; return /* (tmp717) */ ; } /* end of [fpr_45] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_47 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; __ats_lab_loop_47: do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp726 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp726 ; goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: break ; } while (0) ; return /* (tmp725) */ ; } /* end of [loop_47] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_anairiats_rec_22 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp724) ; __ats_lab_list_vt_free_01499_anairiats_rec_22: /* tmp724 = */ loop_47 (arg0) ; return /* (tmp724) */ ; } /* end of [list_vt_free_01499_anairiats_rec_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_print.dats: 33019(line=1482, offs=17) -- 33354(line=1498, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_vbindmap (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp716) ; ATSlocal (ats_ptr_type, tmp722) ; // ATSlocal_void (tmp723) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_vbindmap: tmp722 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize (arg1) ; /* tmp723 = */ fprintlst_01885_anairiats_rec_22 (arg0, ats_castfn_mac(ats_ptr_type, tmp722), ATSstrcst("; "), &fpr_45) ; /* tmp716 = */ list_vt_free_01499_anairiats_rec_22 (tmp722) ; return /* (tmp716) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_vbindmap] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_ccomp_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_print_dats.c0000664000175000017500000015135612655455557022112 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_c3nstr_loc ; ats_ptr_type atslab_c3nstr_kind ; ats_ptr_type atslab_c3nstr_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_h3ypo_loc ; ats_ptr_type atslab_h3ypo_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKmain_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKloop_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_10 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_10_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 1632(line=49, offs=3) -- 2446(line=85, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_c3nstr_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("C3NSTRprop(")) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_c3nstr_kind) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind (arg0, tmp5) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp2) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("C3NSTRitmlst(")) ; tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_c3nstr_kind) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind (arg0, tmp11) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst (arg0, tmp8) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)tmp1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("C3NSTRsolverify(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp14) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 2497(line=88, offs=14) -- 2532(line=88, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_c3nstr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_c3nstr: /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr (stdout, arg0) ; return /* (tmp17) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_c3nstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 2556(line=90, offs=14) -- 2591(line=90, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr: /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr (stderr, arg0) ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_c3nstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 2644(line=96, offs=3) -- 3384(line=134, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_int_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKmain()")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKcase_exhaustiveness(...)")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKtermet_isnat()")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKtermet_isdec()")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKsome_fin()")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKsome_lvar()")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKsome_vbox()")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKlstate()")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKlstate(")) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp20) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKloop(")) ; /* tmp25 = */ atspre_fprint_int (arg0, tmp23) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("C3TKsolverify()")) ; break ; } while (0) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstrkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 3462(line=140, offs=3) -- 4133(line=169, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_h3ypo_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp27)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_1, tmp27, atslab_0) ; /* tmp29 = */ atspre_fprint_string (arg0, ATSstrcst("H2YPOprop(")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp28) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp27)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_4, tmp27, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_4, tmp27, atslab_1) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("H2YPObind(")) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp31) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp32) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)tmp27)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_4, tmp27, atslab_0) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_4, tmp27, atslab_1) ; /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("H2YPOeqeq(")) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp37) ; /* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst(" == ")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp38) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 4182(line=172, offs=13) -- 4216(line=172, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_h3ypo (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_h3ypo: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo (stdout, arg0) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__print_h3ypo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 4239(line=174, offs=13) -- 4273(line=174, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_h3ypo (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_h3ypo: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo (stderr, arg0) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__prerr_h3ypo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 4321(line=180, offs=3) -- 5825(line=241, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itm: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMsvar(")) ; /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp46) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMhypo(")) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_h3ypo (arg0, tmp49) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMsVar(")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (arg0, tmp52) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (tmp52) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp55 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_5, tmp55, atslab_0) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("->")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp57) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp55 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: break ; } while (0) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMcnstr(")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr (arg0, tmp59) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp62), atslab_c3nstroptref_ref) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMcnstr_ref(")) ; tmp66 = ats_ptrget_mac(ats_ptr_type, tmp63) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp66 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_5, tmp66, atslab_0) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_c3nstr (arg0, tmp67) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (tmp66 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: break ; } while (0) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMdisj(")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst (arg0, tmp68) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp72 = */ atspre_fprint_string (arg0, ATSstrcst("S3ITMsolassert(")) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp71) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_10 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_bool_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_int_type, tmp82) ; __ats_lab_aux_10: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp80 = atspre_gt_int_int (arg1, 0) ; if (tmp80) { /* tmp79 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp81 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp77) ; tmp82 = atspre_add_int_int (arg1, 1) ; arg0 = tmp78 ; arg1 = tmp82 ; goto __ats_lab_aux_10 ; // tail call break ; } while (0) ; return /* (tmp76) */ ; } /* end of [aux_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_10_closure_type ; ats_void_type aux_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_10 (((aux_10_closure_type*)cloptr)->closure_env_0, ((aux_10_closure_type*)cloptr)->closure_env_1, ((aux_10_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_10_closure_init (aux_10_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_10_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_10_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_10_closure_type *p_clo = ATS_MALLOC(sizeof(aux_10_closure_type)) ; aux_10_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp75) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp75 = */ aux_10 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp75) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 5901(line=247, offs=3) -- 5956(line=247, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst: /* tmp74 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itm) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_print.dats: 6017(line=252, offs=3) -- 6077(line=252, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst: /* tmp83 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlst) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_s3itmlstlst] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_trans3_env_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_sats.c0000664000175000017500000010237712655455557020223 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_rec_1 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_lvar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_vbox_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINdone_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGsta_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGdyn_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymelim_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cpragma_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csaspdec_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALarrsub_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALnone_5) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_lvar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_vbox_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINdone_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGsta_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGdyn_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18.tag = 18 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52.tag = 52 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54.tag = 54 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55.tag = 55 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56.tag = 56 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57.tag = 57 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58.tag = 58 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59.tag = 59 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60.tag = 60 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61.tag = 61 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62.tag = 62 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63.tag = 63 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64.tag = 64 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65.tag = 65 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66.tag = 66 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67.tag = 67 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68.tag = 68 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69.tag = 69 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70.tag = 70 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71.tag = 71 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72.tag = 72 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymelim_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cpragma_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csaspdec_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26.tag = 26 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALarrsub_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALnone_5.tag = 5 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_stamp_dats.c0000664000175000017500000013614512655455557017737 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_0 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, 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_bool_type, atspre_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__count_get_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lt_count_count) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lte_count_count) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__eq_count_count) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__neq_count_count) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__compare_count_count) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_count) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__sasp__stampset_viewtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__sasp__stamp_t0ype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type __ats_fun_22 (ats_int_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type __ats_fun_22_closure_make () ; static ats_int_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) ; static ats_ptr_type linset_make_nil_01771_ () ; static ats_bool_type linset_is_empty_01773_ (ats_ptr_type arg0) ; static ats_bool_type linset_isnot_empty_01774_ (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_01770_ats_int_type (ats_int_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_31 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_31_closure_make (ats_int_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type linset_is_member_01776_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_067_ats_int_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_0121_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_097_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_35 (ats_clo_ref_type env0, ats_ref_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type insert_35_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_35_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1) ; static ats_bool_type linset_insert_01780_ats_int_type (ats_ref_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_void_type aux_41 (ats_ptr_type arg0) ; static ats_void_type linset_free_01778_ats_int_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp9) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp13) ; ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp17) ; ATSstatic (ats_ptr_type, statmp19) ; ATSstatic (ats_ptr_type, statmp21) ; ATSstatic (ats_ptr_type, statmp23) ; ATSstatic (ats_ptr_type, statmp25) ; ATSstatic (ats_ptr_type, statmp27) ; ATSstatic (ats_ptr_type, statmp29) ; ATSstatic (ats_ptr_type, statmp31) ; ATSstatic (ats_ptr_type, statmp33) ; ATSstatic (ats_ptr_type, statmp36) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1558(line=47, offs=15) -- 1586(line=47, offs=43) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__count_get_int (arg0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1639(line=53, offs=3) -- 1679(line=53, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lt_stamp_stamp (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lt_stamp_stamp: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lt_count_count (arg0, arg1) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lt_stamp_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1708(line=56, offs=3) -- 1749(line=56, offs=44) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lte_stamp_stamp (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lte_stamp_stamp: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__lte_count_count (arg0, arg1) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__lte_stamp_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1780(line=60, offs=3) -- 1820(line=60, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__eq_count_count (arg0, arg1) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1849(line=63, offs=3) -- 1890(line=63, offs=44) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__neq_stamp_stamp (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__neq_stamp_stamp: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__neq_count_count (arg0, arg1) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__neq_stamp_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 1926(line=67, offs=3) -- 1971(line=67, offs=48) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__compare_count_count (arg0, arg1) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2023(line=72, offs=16) -- 2052(line=72, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp: tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_count (arg0) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2088(line=75, offs=3) -- 2135(line=75, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp: tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count (arg0, arg1) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2183(line=80, offs=14) -- 2221(line=80, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp: /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count (arg0, arg1) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2388(line=96, offs=20) -- 2419(line=96, offs=51) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2rtdat_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2rtdat_stamp_make: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp9) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2rtdat_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2546(line=109, offs=18) -- 2577(line=109, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2cst_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2cst_stamp_make: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp11) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2cst_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2704(line=122, offs=18) -- 2735(line=122, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2var_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2var_stamp_make: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp13) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2var_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 2862(line=135, offs=18) -- 2893(line=135, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp15) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3021(line=148, offs=19) -- 3052(line=148, offs=50) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2hole_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2hole_stamp_make: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp17) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2hole_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3179(line=161, offs=18) -- 3210(line=161, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2con_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2con_stamp_make: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp19) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2con_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3337(line=174, offs=18) -- 3368(line=174, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2cst_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2cst_stamp_make: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp21) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2cst_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3495(line=187, offs=18) -- 3526(line=187, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2mac_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2mac_stamp_make: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp23) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2mac_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3653(line=200, offs=18) -- 3684(line=200, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2var_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2var_stamp_make: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp25) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2var_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3812(line=213, offs=19) -- 3843(line=213, offs=50) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp27) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 3971(line=226, offs=19) -- 4002(line=226, offs=50) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmplab_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmplab_stamp_make: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp29) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmplab_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4130(line=239, offs=19) -- 4161(line=239, offs=50) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmpvar_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmpvar_stamp_make: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp31) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmpvar_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4289(line=252, offs=19) -- 4320(line=252, offs=50) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () { /* local vardec */ ATSlocal (ats_int_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp33) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4484(line=265, offs=7) -- 4559(line=268, offs=47) */ ATSstaticdec() ats_int_type __ats_fun_22 (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp35) ; __ats_lab___ats_fun_22: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (arg0, arg1) ; return (tmp35) ; } /* end of [__ats_fun_22] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_22_closure_type ; ats_int_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) { return __ats_fun_22 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_22_closure_init (__ats_fun_22_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_22_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_22_closure_make () { __ats_fun_22_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_22_closure_type)) ; __ats_fun_22_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_01771_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab_linset_make_nil_01771_: tmp38 = (ats_sum_ptr_type)0 ; return (tmp38) ; } /* end of [linset_make_nil_01771_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4657(line=275, offs=17) -- 4684(line=275, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_nil: tmp37 = linset_make_nil_01771_ () ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2977(line=114, offs=17) -- 3047(line=115, offs=65) */ ATSstaticdec() ats_bool_type linset_is_empty_01773_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp40) ; __ats_lab_linset_is_empty_01773_: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp40 = ats_false_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp40 = ats_true_bool ; break ; } while (0) ; return (tmp40) ; } /* end of [linset_is_empty_01773_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4715(line=278, offs=20) -- 4745(line=278, offs=50) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_nil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_nil: tmp39 = linset_is_empty_01773_ (arg0) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3108(line=119, offs=20) -- 3178(line=120, offs=65) */ ATSstaticdec() ats_bool_type linset_isnot_empty_01774_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp42) ; __ats_lab_linset_isnot_empty_01774_: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp42 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp42 = ats_false_bool ; break ; } while (0) ; return (tmp42) ; } /* end of [linset_isnot_empty_01774_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4779(line=280, offs=23) -- 4812(line=280, offs=56) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_isnot_nil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_isnot_nil: tmp41 = linset_isnot_empty_01774_ (arg0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_isnot_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_01770_ats_int_type (ats_int_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp50) ; __ats_lab_compare_elt_elt_01770_ats_int_type: tmp50 = ((ats_int_type(*)(ats_clo_ptr_type, ats_int_type, ats_int_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp50) ; } /* end of [compare_elt_elt_01770_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3861(line=149, offs=7) -- 4231(line=160, offs=33) */ ATSstaticdec() ats_bool_type aux_31 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_aux_31: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp47 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_2) ; tmp48 = &ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; tmp49 = compare_elt_elt_01770_ats_int_type (env0, tmp46, env1) ; tmp51 = atspre_lt_int_int (tmp49, 0) ; if (tmp51) { tmp52 = ats_ptrget_mac(ats_ptr_type, tmp47) ; arg0 = tmp52 ; goto __ats_lab_aux_31 ; // tail call } else { tmp53 = atspre_gt_int_int (tmp49, 0) ; if (tmp53) { tmp54 = ats_ptrget_mac(ats_ptr_type, tmp48) ; arg0 = tmp54 ; goto __ats_lab_aux_31 ; // tail call } else { tmp45 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp45 = ats_false_bool ; break ; } while (0) ; return (tmp45) ; } /* end of [aux_31] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_31_closure_type ; ats_bool_type aux_31_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_31 (((aux_31_closure_type*)cloptr)->closure_env_0, ((aux_31_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_31_closure_init (aux_31_closure_type *p_clo, ats_int_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_31_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_31_closure_make (ats_int_type env0, ats_clo_ref_type env1) { aux_31_closure_type *p_clo = ATS_MALLOC(sizeof(aux_31_closure_type)) ; aux_31_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3822(line=148, offs=3) -- 4251(line=162, offs=2) */ ATSstaticdec() ats_bool_type linset_is_member_01776_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp44) ; __ats_lab_linset_is_member_01776_ats_int_type: tmp44 = aux_31 (arg1, arg2, arg0) ; return (tmp44) ; } /* end of [linset_is_member_01776_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4849(line=284, offs=3) -- 4892(line=284, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_member (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_member: tmp43 = linset_is_member_01776_ats_int_type (arg0, arg1, statmp36) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_is_member] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_067_ats_int_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; __ats_lab_avltree_height_067_ats_int_type: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp69 = tmp70 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp69 = 0 ; break ; } while (0) ; return (tmp69) ; } /* end of [avltree_height_067_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_0121_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_bool_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab_avltree_rrotate_0121_ats_int_type: tmp80 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp80 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp81 = &ats_caselptrlab_mac(anairiats_sum_0, tmp80, atslab_0) ; tmp82 = &ats_caselptrlab_mac(anairiats_sum_0, tmp80, atslab_2) ; tmp83 = &ats_caselptrlab_mac(anairiats_sum_0, tmp80, atslab_3) ; tmp85 = ats_ptrget_mac(ats_ptr_type, tmp82) ; tmp84 = avltree_height_067_ats_int_type (tmp85) ; tmp87 = ats_ptrget_mac(ats_ptr_type, tmp83) ; tmp86 = avltree_height_067_ats_int_type (tmp87) ; tmp89 = atspre_iadd (tmp84, 0) ; tmp88 = atspre_igte (tmp89, tmp86) ; if (tmp88) { tmp90 = atspre_iadd (tmp86, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp90 ; tmp91 = ats_ptrget_mac(ats_ptr_type, tmp83) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp91 ; tmp93 = atspre_imax (tmp84, tmp90) ; tmp92 = atspre_iadd (1, tmp93) ; ats_ptrget_mac(ats_int_type, tmp81) = tmp92 ; ats_ptrget_mac(ats_ptr_type, tmp83) = arg5 ; tmp79 = tmp80 ; } else { tmp94 = ats_ptrget_mac(ats_ptr_type, tmp83) ; // if (tmp94 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp95 = &ats_caselptrlab_mac(anairiats_sum_0, tmp94, atslab_0) ; tmp96 = &ats_caselptrlab_mac(anairiats_sum_0, tmp94, atslab_2) ; tmp97 = &ats_caselptrlab_mac(anairiats_sum_0, tmp94, atslab_3) ; tmp99 = ats_ptrget_mac(ats_ptr_type, tmp96) ; tmp98 = avltree_height_067_ats_int_type (tmp99) ; tmp101 = ats_ptrget_mac(ats_ptr_type, tmp97) ; tmp100 = avltree_height_067_ats_int_type (tmp101) ; tmp103 = atspre_imax (tmp100, arg3) ; tmp102 = atspre_iadd (1, tmp103) ; ats_ptrget_mac(ats_int_type, arg0) = tmp102 ; tmp104 = ats_ptrget_mac(ats_ptr_type, tmp97) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp104 ; tmp106 = atspre_imax (tmp84, tmp98) ; tmp105 = atspre_iadd (1, tmp106) ; ats_ptrget_mac(ats_int_type, tmp81) = tmp105 ; tmp107 = ats_ptrget_mac(ats_ptr_type, tmp96) ; ats_ptrget_mac(ats_ptr_type, tmp83) = tmp107 ; ats_ptrget_mac(ats_int_type, tmp95) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp96) = tmp80 ; ats_ptrget_mac(ats_ptr_type, tmp97) = arg5 ; tmp79 = tmp94 ; } /* end of [if] */ return (tmp79) ; } /* end of [avltree_rrotate_0121_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_097_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_avltree_lrotate_097_ats_int_type: tmp120 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp120 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp121 = &ats_caselptrlab_mac(anairiats_sum_0, tmp120, atslab_0) ; tmp122 = &ats_caselptrlab_mac(anairiats_sum_0, tmp120, atslab_2) ; tmp123 = &ats_caselptrlab_mac(anairiats_sum_0, tmp120, atslab_3) ; tmp125 = ats_ptrget_mac(ats_ptr_type, tmp122) ; tmp124 = avltree_height_067_ats_int_type (tmp125) ; tmp127 = ats_ptrget_mac(ats_ptr_type, tmp123) ; tmp126 = avltree_height_067_ats_int_type (tmp127) ; tmp129 = atspre_iadd (tmp126, 0) ; tmp128 = atspre_ilte (tmp124, tmp129) ; if (tmp128) { tmp130 = atspre_iadd (tmp124, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp130 ; tmp131 = ats_ptrget_mac(ats_ptr_type, tmp122) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp131 ; tmp133 = atspre_imax (tmp130, tmp126) ; tmp132 = atspre_iadd (1, tmp133) ; ats_ptrget_mac(ats_int_type, tmp121) = tmp132 ; ats_ptrget_mac(ats_ptr_type, tmp122) = arg5 ; tmp119 = tmp120 ; } else { tmp134 = ats_ptrget_mac(ats_ptr_type, tmp122) ; // if (tmp134 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp135 = &ats_caselptrlab_mac(anairiats_sum_0, tmp134, atslab_0) ; tmp136 = &ats_caselptrlab_mac(anairiats_sum_0, tmp134, atslab_2) ; tmp137 = &ats_caselptrlab_mac(anairiats_sum_0, tmp134, atslab_3) ; tmp139 = ats_ptrget_mac(ats_ptr_type, tmp136) ; tmp138 = avltree_height_067_ats_int_type (tmp139) ; tmp141 = ats_ptrget_mac(ats_ptr_type, tmp137) ; tmp140 = avltree_height_067_ats_int_type (tmp141) ; tmp143 = atspre_imax (arg1, tmp138) ; tmp142 = atspre_iadd (1, tmp143) ; ats_ptrget_mac(ats_int_type, arg0) = tmp142 ; tmp144 = ats_ptrget_mac(ats_ptr_type, tmp136) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp144 ; tmp146 = atspre_imax (tmp140, tmp126) ; tmp145 = atspre_iadd (1, tmp146) ; ats_ptrget_mac(ats_int_type, tmp121) = tmp145 ; tmp147 = ats_ptrget_mac(ats_ptr_type, tmp137) ; ats_ptrget_mac(ats_ptr_type, tmp122) = tmp147 ; ats_ptrget_mac(ats_int_type, tmp135) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp136) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp137) = tmp120 ; tmp119 = tmp134 ; } /* end of [if] */ return (tmp119) ; } /* end of [avltree_lrotate_097_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_35 (ats_clo_ref_type env0, ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_int_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab_insert_35: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp60 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp61 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp62 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp63 = &ats_caselptrlab_mac(anairiats_sum_0, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp65 = ats_ptrget_mac(ats_int_type, tmp61) ; tmp64 = compare_elt_elt_01770_ats_int_type (arg1, tmp65, env0) ; tmp66 = atspre_lt_int_int (tmp64, 0) ; if (tmp66) { tmp67 = insert_35 (env0, tmp62, arg1) ; tmp71 = ats_ptrget_mac(ats_ptr_type, tmp62) ; tmp68 = avltree_height_067_ats_int_type (tmp71) ; tmp73 = ats_ptrget_mac(ats_ptr_type, tmp63) ; tmp72 = avltree_height_067_ats_int_type (tmp73) ; tmp75 = atspre_isub (tmp68, tmp72) ; tmp74 = atspre_ilte (tmp75, 1) ; if (tmp74) { tmp77 = atspre_imax (tmp68, tmp72) ; tmp76 = atspre_iadd (1, tmp77) ; ats_ptrget_mac(ats_int_type, tmp60) = tmp76 ; tmp59 = tmp67 ; } else { tmp78 = avltree_rrotate_0121_ats_int_type (tmp60, tmp68, tmp62, tmp72, tmp63, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp78 ; tmp59 = tmp67 ; } /* end of [if] */ } else { tmp108 = atspre_gt_int_int (tmp64, 0) ; if (tmp108) { tmp109 = insert_35 (env0, tmp63, arg1) ; tmp111 = ats_ptrget_mac(ats_ptr_type, tmp62) ; tmp110 = avltree_height_067_ats_int_type (tmp111) ; tmp113 = ats_ptrget_mac(ats_ptr_type, tmp63) ; tmp112 = avltree_height_067_ats_int_type (tmp113) ; tmp115 = atspre_isub (tmp112, tmp110) ; tmp114 = atspre_ilte (tmp115, 1) ; if (tmp114) { tmp117 = atspre_imax (tmp110, tmp112) ; tmp116 = atspre_iadd (1, tmp117) ; ats_ptrget_mac(ats_int_type, tmp60) = tmp116 ; tmp59 = tmp109 ; } else { tmp118 = avltree_lrotate_097_ats_int_type (tmp60, tmp110, tmp62, tmp112, tmp63, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp118 ; tmp59 = tmp109 ; } /* end of [if] */ } else { tmp59 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp149 = (ats_sum_ptr_type)0 ; tmp150 = (ats_sum_ptr_type)0 ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp148, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_0, tmp148, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_0, tmp148, atslab_2, tmp149) ; ats_selptrset_mac(anairiats_sum_0, tmp148, atslab_3, tmp150) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp148 ; tmp59 = ats_false_bool ; break ; } while (0) ; return (tmp59) ; } /* end of [insert_35] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_35_closure_type ; ats_bool_type insert_35_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1) { return insert_35 (((insert_35_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_35_closure_init (insert_35_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_35_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_35_closure_make (ats_clo_ref_type env0) { insert_35_closure_type *p_clo = ATS_MALLOC(sizeof(insert_35_closure_type)) ; insert_35_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_01780_ats_int_type (ats_ref_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp58) ; __ats_lab_linset_insert_01780_ats_int_type: tmp58 = insert_35 (arg2, arg0, arg1) ; return (tmp58) ; } /* end of [linset_insert_01780_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 4922(line=288, offs=3) -- 5011(line=291, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_add (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_add: /* ats_ptr_type tmp56 ; */ tmp56 = arg0 ; tmp57 = linset_insert_01780_ats_int_type ((&tmp56), arg1, statmp36) ; tmp55 = tmp56 ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_41 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; // ATSlocal_void (tmp156) ; __ats_lab_aux_41: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_2) ; tmp155 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp156 = */ aux_41 (tmp154) ; arg0 = tmp155 ; goto __ats_lab_aux_41 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: break ; } while (0) ; return /* (tmp153) */ ; } /* end of [aux_41] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_01778_ats_int_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp152) ; __ats_lab_linset_free_01778_ats_int_type: /* tmp152 = */ aux_41 (arg0) ; return /* (tmp152) */ ; } /* end of [linset_free_01778_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_stamp.dats: 5068(line=294, offs=18) -- 5094(line=294, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_free: /* tmp151 = */ linset_free_01778_ats_int_type (arg0) ; return /* (tmp151) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stampset_vt_free] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp9, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp17, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp19, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp21, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp23, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp25, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp27, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp29, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp33, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp36, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; statmp36 = __ats_fun_22_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_stamp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_lamlp_dats.c0000664000175000017500000011634412655455557022061 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPlam_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop0_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop1_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__lamlpenv_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_4 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp4) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 1555(line=43, offs=28) -- 1589(line=43, offs=62) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env_lamlp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_ptr_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 1919(line=68, offs=3) -- 2227(line=80, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_top () { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_top: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp7 = ats_ptrget_mac(ats_ptr_type, tmp6) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp7 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_1, tmp7, atslab_0) ; tmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp5, atslab_0, tmp8) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp7 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp5 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 2344(line=88, offs=5) -- 2810(line=108, offs=4) */ ATSstaticdec() ats_ptr_type loop_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_loop_4: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_2_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp12 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp11)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_0) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, tmp13) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp11)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = ats_ptrget_mac(ats_ptr_type, tmp12) ; arg0 = tmp14 ; goto __ats_lab_loop_4 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)tmp11)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp15 = ats_ptrget_mac(ats_ptr_type, tmp12) ; arg0 = tmp15 ; goto __ats_lab_loop_4 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp10 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp10) ; } /* end of [loop_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 2320(line=86, offs=3) -- 2923(line=114, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg () { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg: tmp16 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp17 = ats_ptrget_mac(ats_ptr_type, tmp16) ; tmp9 = loop_4 (tmp17) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 3011(line=120, offs=3) -- 3180(line=125, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop () { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop: tmp19 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp20 = ats_ptrget_mac(ats_ptr_type, tmp19) ; if (tmp20 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 3136(line=124, offs=7) -- 3163(line=124, offs=34)") ; } tmp21 = ats_caselptrlab_mac(anairiats_sum_1, tmp20, atslab_1) ; ATS_FREE(tmp20) ; ats_ptrget_mac(ats_ptr_type, tmp19) = tmp21 ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 3269(line=130, offs=23) -- 3440(line=136, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam: tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp25)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp25, atslab_0, arg0) ; tmp26 = ats_ptrget_mac(ats_ptr_type, tmp23) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp24, atslab_0, tmp25) ; ats_selptrset_mac(anairiats_sum_1, tmp24, atslab_1, tmp26) ; ats_ptrget_mac(ats_ptr_type, tmp23) = tmp24 ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 3531(line=141, offs=25) -- 3696(line=147, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop0 () { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop0: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp30 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__LAMLPloop0_1) ; tmp31 = ats_ptrget_mac(ats_ptr_type, tmp28) ; tmp29 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp29, atslab_0, tmp30) ; ats_selptrset_mac(anairiats_sum_1, tmp29, atslab_1, tmp31) ; ats_ptrget_mac(ats_ptr_type, tmp28) = tmp29 ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_lamlp.dats: 3770(line=151, offs=3) -- 3967(line=157, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop1: tmp33 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp35 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp35)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp35, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp35, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp35, atslab_2, arg2) ; tmp36 = ats_ptrget_mac(ats_ptr_type, tmp33) ; tmp34 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_0, tmp35) ; ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_1, tmp36) ; ats_ptrget_mac(ats_ptr_type, tmp33) = tmp34 ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_loop1] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp4 = (ats_sum_ptr_type)0 ; statmp1 = ref_01088_ats_ptr_type (statmp4) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_lamlp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_util_dats.c0000664000175000017500000015503112655455557021306 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null) (ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun) (ats_ref_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep) (ats_ref_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type loop_5 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type loop_5_closure_make (ats_ptr_type env0) ; static ats_void_type loop_5_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_void_type loop_7 (ats_ptr_type env0, ats_ptr_type env1, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type loop_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type loop_7_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 1806(line=62, offs=3) -- 1880(line=64, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; // ATSlocal_void (tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 1957(line=70, offs=1) -- 2285(line=85, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; // ATSlocal_void (tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp3), atslab_token_node) ; tmp4 = ((ats_bool_type(*)(ats_ptr_type))arg3) (tmp5) ; if (tmp4) { /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp2 = tmp3 ; } else { tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp3), atslab_token_loc) ; tmp8 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp8 ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp7, arg4) ; tmp2 = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ; } /* end of [if] */ return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 2359(line=91, offs=3) -- 2506(line=97, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun: tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_token_node) ; tmp12 = ((ats_bool_type(*)(ats_ptr_type))arg1) (tmp13) ; if (tmp12) { /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp10 = ats_true_bool ; } else { tmp10 = ats_false_bool ; } /* end of [if] */ return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 2584(line=103, offs=3) -- 2960(line=117, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_uint_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_token_node) ; tmp18 = ((ats_bool_type(*)(ats_ptr_type))arg1) (tmp19) ; if (tmp18) { /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; /* ats_int_type tmp21 ; */ tmp21 = 0 ; tmp22 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg2) (arg0, 0, (&tmp21)) ; tmp23 = atspre_eq_int_int (tmp21, 0) ; if (tmp23) { tmp15 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp15, atslab_0, tmp22) ; } else { /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp16) ; tmp15 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } else { tmp15 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 3138(line=129, offs=7) -- 3651(line=151, offs=6) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type env0, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_loop_5: tmp27 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))env0) (arg0, 1, arg2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp28 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (!tmp28) { goto __ats_lab_1_1 ; } tmp29 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp29 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp30 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp30, atslab_0, tmp27) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp30 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp31 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = arg0 ; arg1 = tmp31 ; arg2 = arg2 ; goto __ats_lab_loop_5 ; // tail call break ; } while (0) ; return /* (tmp26) */ ; } /* end of [loop_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_5_closure_type ; ats_void_type loop_5_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { loop_5 (((loop_5_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_5_closure_init (loop_5_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_5_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_5_closure_make (ats_ptr_type env0) { loop_5_closure_type *p_clo = ATS_MALLOC(sizeof(loop_5_closure_type)) ; loop_5_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 3075(line=125, offs=3) -- 3773(line=157, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun: /* ats_ptr_type tmp32 ; */ /* ats_int_type tmp33 ; */ tmp33 = 0 ; /* tmp34 = */ loop_5 (arg2, arg0, (&tmp32), (&tmp33)) ; tmp25 = tmp32 ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 3955(line=169, offs=7) -- 4683(line=199, offs=6) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type env0, ats_ptr_type env1, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_uint_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_loop_7: tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp38 = ((ats_bool_type(*)(ats_ref_type))env0) (arg0) ; if (tmp38) { tmp39 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))env1) (arg0, 0, arg2) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp40 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (!tmp40) { goto __ats_lab_3_1 ; } /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp37) ; tmp42 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp42 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp43 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp43, atslab_0, tmp39) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp43 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp44 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = arg0 ; arg1 = tmp44 ; arg2 = arg2 ; goto __ats_lab_loop_7 ; // tail call break ; } while (0) ; } else { tmp45 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp45 ; } /* end of [if] */ return /* (tmp36) */ ; } /* end of [loop_7] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } loop_7_closure_type ; ats_void_type loop_7_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2) { loop_7 (((loop_7_closure_type*)cloptr)->closure_env_0, ((loop_7_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; return ; } /* end of function */ ATSinline() ats_void_type loop_7_closure_init (loop_7_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_7_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) { loop_7_closure_type *p_clo = ATS_MALLOC(sizeof(loop_7_closure_type)) ; loop_7_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 3887(line=165, offs=3) -- 4805(line=205, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_int_type, tmp47) ; // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun: /* ats_ptr_type tmp46 ; */ /* ats_int_type tmp47 ; */ tmp47 = 0 ; /* tmp48 = */ loop_7 (arg2, arg3, arg0, (&tmp46), (&tmp47)) ; tmp35 = tmp46 ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 4882(line=211, offs=3) -- 4939(line=212, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun: tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test, arg2) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5017(line=219, offs=3) -- 5281(line=233, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep: /* ats_int_type tmp51 ; */ tmp51 = 0 ; tmp52 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg2) (arg0, 1, (&tmp51)) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp53 = atspre_gt_int_int (tmp51, 0) ; if (!tmp53) { goto __ats_lab_5_1 ; } tmp50 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg0, 1, arg3, arg2) ; tmp50 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp50, atslab_0, tmp52) ; ats_selptrset_mac(anairiats_sum_3, tmp50, atslab_1, tmp54) ; break ; } while (0) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5358(line=239, offs=3) -- 5414(line=240, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5472(line=245, offs=3) -- 5530(line=246, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA: tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5594(line=251, offs=3) -- 5656(line=252, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_SEMICOLON (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_SEMICOLON: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON_test) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_SEMICOLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5722(line=257, offs=3) -- 5782(line=258, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BARSEMI (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BARSEMI: tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_sep (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BARSEMI] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 5861(line=265, offs=1) -- 6188(line=284, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_int_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep: tmp60 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null (tmp60) ; if (!tmp61) { goto __ats_lab_7_1 ; } tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg0, 1, arg4, arg3) ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp59, atslab_0, tmp60) ; ats_selptrset_mac(anairiats_sum_3, tmp59, atslab_1, tmp62) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp63 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp63 ; tmp59 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 6265(line=290, offs=3) -- 6331(line=291, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND_test) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 6402(line=298, offs=1) -- 6682(line=315, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun: tmp66 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null (tmp66) ; if (!tmp67) { goto __ats_lab_9_1 ; } tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 1, arg3) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_3, tmp65, atslab_1, tmp68) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp69 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp69 ; tmp65 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 6751(line=321, offs=3) -- 6873(line=326, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun: /* ats_int_type tmp71 ; */ tmp71 = 0 ; tmp72 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg2) (arg0, 1, (&tmp71)) ; tmp73 = atspre_eq_int_int (tmp71, 0) ; if (tmp73) { tmp70 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp70, atslab_0, tmp72) ; } else { tmp70 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__popt_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 6944(line=332, offs=1) -- 7302(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_uint_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_bool_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun: tmp75 = ats_ptrget_mac(ats_int_type, arg2) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp77 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; tmp79 = atspre_lte_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp75) ; if (tmp79) { tmp78 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg4) (arg0, 0, arg2) ; } else { tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ tmp81 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp75) ; if (tmp81) { /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp76) ; } else { /* empty */ } /* end of [if] */ tmp74 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp74, atslab_0, tmp77) ; ats_selptrset_mac(anairiats_sum_3, tmp74, atslab_1, tmp78) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 7377(line=365, offs=1) -- 7871(line=398, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_uint_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_bool_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun: tmp83 = ats_ptrget_mac(ats_int_type, arg2) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp85 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; tmp87 = atspre_lte_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp83) ; if (tmp87) { tmp86 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg4) (arg0, 0, arg2) ; } else { tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ tmp89 = atspre_lte_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp83) ; if (tmp89) { tmp88 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg5) (arg0, 0, arg2) ; } else { tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ tmp91 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp83) ; if (tmp91) { /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp84) ; } else { /* empty */ } /* end of [if] */ tmp82 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp82, atslab_0, tmp85) ; ats_selptrset_mac(anairiats_sum_4, tmp82, atslab_1, tmp86) ; ats_selptrset_mac(anairiats_sum_4, tmp82, atslab_2, tmp88) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 7941(line=404, offs=3) -- 8052(line=409, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun: /* ats_int_type tmp93 ; */ tmp93 = 0 ; tmp94 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg1) (arg0, 1, (&tmp93)) ; ats_ptrget_mac(ats_ptr_type, arg2) = ats_castfn_mac(ats_ptr_type, tmp94) ; tmp92 = atspre_eq_int_int (tmp93, 0) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_loop_23: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp99 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: break ; } while (0) ; return /* (tmp98) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp97) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp97 = */ loop_23 (arg0) ; return /* (tmp97) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 8121(line=415, offs=3) -- 8254(line=418, offs=70) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_10_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; ATS_FREE(arg0) ; /* tmp95 = */ list_vt_free_01499_ats_ptr_type (tmp96) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp102 = */ list_vt_free_01499_ats_ptr_type (tmp100) ; /* tmp95 = */ list_vt_free_01499_ats_ptr_type (tmp101) ; break ; } while (0) ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 8333(line=425, offs=6) -- 8662(line=446, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, arg2) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp105), atslab_token_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp106)->tag != 4) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, arg2) ; tmp103 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp103)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp103, atslab_0, tmp104) ; ats_selptrset_mac(anairiats_sum_6, tmp103, atslab_1, tmp108) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp103 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp103)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_0, tmp104) ; break ; } while (0) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 8737(line=452, offs=3) -- 9130(line=476, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p1list12_fun (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p1list12_fun: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test, arg3) ; tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_1, tmp110) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg1) ; tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp112), atslab_token_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp113)->tag != 4) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg1) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg1, arg2, arg3) ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp109)->tag = 1 ; ats_selptrset_mac(anairiats_sum_6, tmp109, atslab_0, tmp111) ; ats_selptrset_mac(anairiats_sum_6, tmp109, atslab_1, tmp115) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp109)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp109, atslab_0, tmp111) ; break ; } while (0) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p1list12_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 9196(line=481, offs=9) -- 9297(line=486, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun: tmp117 = atspre_lte_int_int (ats_ptrget_mac(ats_int_type, arg2), arg4) ; if (tmp117) { tmp116 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; } else { tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_util.dats: 9371(line=494, offs=1) -- 9764(line=511, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_uint_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_bool_type, tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun: tmp119 = ats_ptrget_mac(ats_int_type, arg2) ; ats_ptrget_mac(ats_int_type, arg2) = 0 ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp122 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type))arg3) (arg0, arg1, arg2, tmp121) ; tmp124 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp124) { /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp120) ; tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp121), atslab_token_loc) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp126, arg4) ; } else { /* empty */ } /* end of [if] */ tmp127 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp119) ; ats_ptrget_mac(ats_int_type, arg2) = tmp127 ; tmp118 = tmp122 ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_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 () ; #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_parsing_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_patcst2_sats.c0000664000175000017500000001412212655455557020200 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__LABP2ATCST_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcon_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCempty_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCintc_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCbool_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCchar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcharc_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCfloat_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCstring_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCrec_10) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__LABP2ATCST_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcon_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCempty_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCintc_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCbool_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCchar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcharc_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCfloat_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCstring_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCrec_10.tag = 10 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_patcst2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_global_dats.c0000664000175000017500000007701112655455557020047 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_val(ats_ptr_type, atspre_stropt_none) ; 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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp10) ; ATSstatic (ats_ptr_type, statmp16) ; ATSstatic (ats_ptr_type, statmp19) ; ATSstatic (ats_ptr_type, statmp22) ; ATSstatic (ats_ptr_type, statmp25) ; ATSstatic (ats_ptr_type, statmp28) ; ATSstatic (ats_ptr_type, statmp29) ; ATSstatic (ats_ptr_type, statmp34) ; ATSstatic (ats_ptr_type, statmp37) ; ATSstatic (ats_ptr_type, statmp40) ; ATSstatic (ats_ptr_type, statmp43) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(ats_ptr_type)) ; return (tmp1) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 1666(line=55, offs=28) -- 1684(line=55, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get: tmp3 = ats_ptrget_mac(ats_ptr_type, statmp0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 1713(line=58, offs=18) -- 1741(line=58, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set: ats_ptrget_mac(ats_ptr_type, statmp0) = arg0 ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 1800(line=64, offs=3) -- 1840(line=64, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_name (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_name: /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp5) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 1906(line=68, offs=3) -- 1948(line=68, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_none () { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_none: /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set (atspre_stropt_none) ; return /* (tmp6) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_none] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp9 ; */ tmp9 = arg0 ; tmp8 = atspre_ref_make_elt_tsz ((&tmp9), sizeof(ats_int_type)) ; return (tmp8) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2141(line=81, offs=18) -- 2159(line=81, offs=36) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () { /* local vardec */ ATSlocal (ats_int_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get: tmp11 = ats_ptrget_mac(ats_int_type, statmp7) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2187(line=83, offs=18) -- 2217(line=83, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set: ats_ptrget_mac(ats_int_type, statmp7) = arg0 ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2253(line=86, offs=23) -- 2349(line=89, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get_decl () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get_decl: tmp14 = ats_ptrget_mac(ats_ptr_type, statmp10) ; ats_ptrget_mac(ats_ptr_type, statmp10) = atspre_null_ptr ; tmp13 = tmp14 ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get_decl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2416(line=91, offs=23) -- 2449(line=91, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set_decl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set_decl: ats_ptrget_mac(ats_ptr_type, statmp10) = arg0 ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set_decl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2863(line=118, offs=31) -- 2884(line=118, offs=52) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_get () { /* local vardec */ ATSlocal (ats_int_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_get: tmp17 = ats_ptrget_mac(ats_int_type, statmp16) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 2915(line=119, offs=31) -- 2948(line=119, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set: ats_ptrget_mac(ats_int_type, statmp16) = arg0 ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3107(line=134, offs=21) -- 3128(line=134, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_get: tmp20 = ats_ptrget_mac(ats_ptr_type, statmp19) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3159(line=136, offs=21) -- 3204(line=136, offs=66) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_set (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_set: ats_ptrget_mac(ats_ptr_type, statmp19) = ats_castfn_mac(ats_ptr_type, arg0) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3348(line=148, offs=31) -- 3369(line=148, offs=52) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_get () { /* local vardec */ ATSlocal (ats_int_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_get: tmp23 = ats_ptrget_mac(ats_int_type, statmp22) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3400(line=149, offs=31) -- 3433(line=149, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set: ats_ptrget_mac(ats_int_type, statmp22) = arg0 ; return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3597(line=163, offs=23) -- 3620(line=163, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get: tmp26 = ats_ptrget_mac(ats_ptr_type, statmp25) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3653(line=165, offs=23) -- 3694(line=165, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_set (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_set: ats_ptrget_mac(ats_ptr_type, statmp25) = ats_castfn_mac(ats_ptr_type, arg0) ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3890(line=182, offs=21) -- 3911(line=182, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_get: tmp30 = ats_ptrget_mac(ats_ptr_type, statmp28) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 3949(line=186, offs=3) -- 4041(line=190, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_ppush (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_ppush: tmp32 = ats_ptrget_mac(ats_ptr_type, statmp28) ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp33, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp33, atslab_1, tmp32) ; ats_ptrget_mac(ats_ptr_type, statmp28) = tmp33 ; return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_IATS_dirlst_ppush] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4220(line=203, offs=26) -- 4234(line=203, offs=40) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get () { /* local vardec */ ATSlocal (ats_int_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get: tmp35 = ats_ptrget_mac(ats_int_type, statmp34) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4270(line=205, offs=26) -- 4296(line=205, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_set: ats_ptrget_mac(ats_int_type, statmp34) = arg0 ; return /* (tmp36) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4441(line=218, offs=26) -- 4455(line=218, offs=40) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get () { /* local vardec */ ATSlocal (ats_int_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get: tmp38 = ats_ptrget_mac(ats_int_type, statmp37) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4491(line=220, offs=26) -- 4517(line=220, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_set: ats_ptrget_mac(ats_int_type, statmp37) = arg0 ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4648(line=233, offs=27) -- 4663(line=233, offs=42) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get () { /* local vardec */ ATSlocal (ats_int_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get: tmp41 = ats_ptrget_mac(ats_int_type, statmp40) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4700(line=235, offs=27) -- 4727(line=235, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_set: ats_ptrget_mac(ats_int_type, statmp40) = arg0 ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4908(line=249, offs=33) -- 4929(line=249, offs=54) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get () { /* local vardec */ ATSlocal (ats_int_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get: tmp44 = ats_ptrget_mac(ats_int_type, statmp43) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_global.dats: 4972(line=251, offs=33) -- 5003(line=251, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_set (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_set: ats_ptrget_mac(ats_int_type, statmp43) = arg0 ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPENV_maxtmprecdepth_set] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp16, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp19, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp22, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp25, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp28, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp29, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp34, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp37, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp40, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp43, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp0 = ref_01088_ats_ptr_type (atspre_stropt_none) ; statmp7 = ref_01088_ats_int_type (0) ; statmp10 = ref_01088_ats_ptr_type (atspre_null_ptr) ; statmp16 = ref_01088_ats_int_type (0) ; statmp19 = ref_01088_ats_ptr_type (atspre_stropt_none) ; statmp22 = ref_01088_ats_int_type (0) ; statmp25 = ref_01088_ats_ptr_type (atspre_stropt_none) ; statmp29 = (ats_sum_ptr_type)0 ; statmp28 = ref_01088_ats_ptr_type (statmp29) ; statmp34 = ref_01088_ats_int_type (0) ; statmp37 = ref_01088_ats_int_type (0) ; statmp40 = ref_01088_ats_int_type (1) ; statmp43 = ref_01088_ats_int_type (100) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_global_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_env_sats.c0000664000175000017500000000632012655455557020701 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM2_1) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM2_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_env_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_hidynexp_dats.c0000664000175000017500000051667512655455557020455 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_9 ; typedef struct { anairiats_rec_9 atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_hilab_loc ; ats_ptr_type atslab_hilab_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_higmat_loc ; ats_ptr_type atslab_higmat_exp ; ats_ptr_type atslab_higmat_pat ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_hiclau_loc ; ats_ptr_type atslab_hiclau_pat ; ats_ptr_type atslab_hiclau_gua ; ats_int_type atslab_hiclau_seq ; ats_int_type atslab_hiclau_neg ; ats_ptr_type atslab_hiclau_body ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_hivaldec_loc ; ats_ptr_type atslab_hivaldec_pat ; ats_ptr_type atslab_hivaldec_def ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_hivardec_loc ; ats_int_type atslab_hivardec_knd ; ats_ptr_type atslab_hivardec_dvar_ptr ; ats_ptr_type atslab_hivardec_dvar_view ; ats_ptr_type atslab_hivardec_type ; ats_ptr_type atslab_hivardec_init ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_27 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_28 ; /* external typedefs */ typedef anairiats_rec_26 *hiimpdec_t ; typedef anairiats_rec_23 *hifundec_t ; typedef anairiats_rec_1 *hipat_t ; /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEignore_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcastfn_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextfcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextmcall_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcon_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfreeat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEapp_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEif_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEsif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElst_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofvar_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofsel_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErefarg_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_var_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrpsz_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrinit_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEraise_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtempenver_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEerrexp_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextvar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaloadloc_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlocal_18) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_castfn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_hifundec_getref_hideclopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_insert) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_bool_type f_2 (ats_ptr_type arg0) ; static ats_bool_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) ; static ats_ptr_type auxlst_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type set_96 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_99 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 1894(line=70, offs=16) -- 1916(line=70, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type: tmp0 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hipat_type) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 1994(line=78, offs=5) -- 2123(line=84, offs=4) */ ATSstaticdec() ats_bool_type f_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_f_2: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp3), atslab_hipat_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp4)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp2 = ats_false_bool ; break ; } while (0) ; return (tmp2) ; } /* end of [f_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 32895(line=1167, offs=7) -- 33167(line=1176, offs=21) */ ATSstaticdec() ats_bool_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; __ats_lab_loop_5: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp10 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp8, arg2) ; if (tmp10) { arg0 = tmp9 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_5 ; // tail call } else { tmp7 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp7 = ats_true_bool ; break ; } while (0) ; return (tmp7) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 32865(line=1166, offs=20) -- 33218(line=1180, offs=4) */ ATSstaticdec() ats_bool_type list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; __ats_lab_list_forall_funenv_01366_ats_ptr_type: tmp6 = loop_5 (arg0, arg1, arg2) ; return (tmp6) ; } /* end of [list_forall_funenv_01366_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 33288(line=1183, offs=25) -- 33550(line=1192, offs=4) */ ATSstaticdec() ats_bool_type list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; __ats_lab_list_forall_fun_01367_ats_ptr_type: tmp5 = list_forall_funenv_01366_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp5) ; } /* end of [list_forall_fun_01367_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 1973(line=76, offs=3) -- 2176(line=88, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_unused (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_unused: tmp1 = list_forall_fun_01367_ats_ptr_type (arg0, &f_2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_unused] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2259(line=93, offs=17) -- 2365(line=98, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node: tmp12 = (ats_sum_ptr_type)0 ; tmp11 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_type, arg1) ; ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_node, arg2) ; ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_asvar, tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2436(line=103, offs=11) -- 2496(line=104, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_any: tmp14 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp14)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp14, atslab_0, arg2) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp14) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2540(line=108, offs=11) -- 2600(line=109, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var: tmp16 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp16)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_0, arg2) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp16) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2665(line=115, offs=11) -- 2771(line=118, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con: tmp18 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp18)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_3, arg5) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp18) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2821(line=123, offs=3) -- 2895(line=124, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any: tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp20)->tag = 12 ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_1, arg3) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp20) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 2966(line=131, offs=3) -- 3022(line=132, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_int: tmp22 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp22)->tag = 2 ; ats_selptrset_mac(anairiats_sum_6, tmp22, atslab_0, arg2) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp22) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3070(line=136, offs=3) -- 3133(line=137, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_intrep: tmp24 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp24)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp24, atslab_0, arg2) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3183(line=142, offs=3) -- 3240(line=143, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool: tmp26 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp26)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp26, atslab_0, arg2) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp26) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3288(line=148, offs=3) -- 3345(line=149, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_char: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp28)->tag = 5 ; ats_selptrset_mac(anairiats_sum_8, tmp28, atslab_0, arg2) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp28) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3394(line=154, offs=3) -- 3456(line=155, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_float: tmp30 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp30)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp30, atslab_0, arg2) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3507(line=160, offs=3) -- 3570(line=161, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_string: tmp32 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp32)->tag = 6 ; ats_selptrset_mac(anairiats_sum_3, tmp32, atslab_0, arg2) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp32) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3641(line=168, offs=3) -- 3702(line=169, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_i0nt: tmp34 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp34)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_0, arg2) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3752(line=174, offs=3) -- 3815(line=175, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_f0loat: tmp36 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp36)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp36, atslab_0, arg2) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 3887(line=182, offs=3) -- 3941(line=183, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_empty: tmp38 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 4633(line=220, offs=5) -- 5055(line=240, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab_auxlst_21: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp61 = auxlst_21 (env0, env1, env2, env3, env4, env5, env6, env7, tmp60) ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, env5) ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_1, tmp59) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_0, env6) ; ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_1, tmp61) ; tmp66 = (ats_sum_ptr_type)0 ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_0, tmp63) ; ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_1, tmp66) ; tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, tmp62) ; ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, tmp65) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con (env0, env1, env4, env3, env7, tmp64) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_con_any (env0, env1, env4, env2) ; break ; } while (0) ; return (tmp58) ; } /* end of [auxlst_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; ats_ptr_type closure_env_3 ; ats_ptr_type closure_env_4 ; ats_ptr_type closure_env_5 ; ats_ptr_type closure_env_6 ; ats_ptr_type closure_env_7 ; } auxlst_21_closure_type ; ats_ptr_type auxlst_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_21 (((auxlst_21_closure_type*)cloptr)->closure_env_0, ((auxlst_21_closure_type*)cloptr)->closure_env_1, ((auxlst_21_closure_type*)cloptr)->closure_env_2, ((auxlst_21_closure_type*)cloptr)->closure_env_3, ((auxlst_21_closure_type*)cloptr)->closure_env_4, ((auxlst_21_closure_type*)cloptr)->closure_env_5, ((auxlst_21_closure_type*)cloptr)->closure_env_6, ((auxlst_21_closure_type*)cloptr)->closure_env_7, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_21_closure_init (auxlst_21_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_21_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; p_clo->closure_env_3 = env3 ; p_clo->closure_env_4 = env4 ; p_clo->closure_env_5 = env5 ; p_clo->closure_env_6 = env6 ; p_clo->closure_env_7 = env7 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) { auxlst_21_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_21_closure_type)) ; auxlst_21_closure_init (p_clo, env0, env1, env2, env3, env4, env5, env6, env7) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 4008(line=190, offs=1) -- 5100(line=244, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (anairiats_rec_9, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_lst: tmp41 = atspre_eq_int_int (arg1, 0) ; if (tmp41) { tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; } else { tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; } /* end of [if] */ tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp40) ; if (tmp42 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 4219(line=202, offs=5) -- 4258(line=203, offs=29)") ; } tmp43 = ats_caselptrlab_mac(anairiats_sum_10, tmp42, atslab_0) ; tmp44 = ats_select_mac(tmp43, atslab_0) ; tmp45 = ats_select_mac(tmp43, atslab_1) ; tmp47 = atspre_eq_int_int (arg1, 0) ; if (tmp47) { tmp46 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; } else { tmp46 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; } /* end of [if] */ tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (0) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (1) ; tmp51 = (ats_sum_ptr_type)0 ; tmp50 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_0, tmp48) ; ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_1, tmp51) ; ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_2, arg3) ; tmp53 = (ats_sum_ptr_type)0 ; tmp52 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_0, tmp49) ; ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_1, tmp53) ; ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_2, arg2) ; tmp56 = (ats_sum_ptr_type)0 ; tmp55 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_0, tmp52) ; ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_1, tmp56) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, tmp50) ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_1, tmp55) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (tmp45, tmp54) ; tmp39 = auxlst_21 (arg0, arg2, tmp44, tmp45, tmp46, tmp48, tmp49, tmp57, arg4) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 5165(line=249, offs=11) -- 5261(line=252, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec: tmp68 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp68)->tag = 13 ; ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_2, arg4) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp68) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 5306(line=257, offs=1) -- 5693(line=279, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec2: tmp71 = atspre_eq_int_int (arg2, 0) ; if (tmp71) { tmp70 = ats_true_bool ; } else { tmp70 = ats_false_bool ; } /* end of [if] */ if (tmp70) { do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } tmp72 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ; if (tmp72 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; // tmp74 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_1) ; tmp69 = tmp74 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; } else { tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec (arg0, arg1, arg2, arg3, arg4) ; } /* end of [if] */ return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_rec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 5763(line=285, offs=3) -- 5835(line=286, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_refas: tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp76)->tag = 14 ; ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, arg3) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp76) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 5904(line=293, offs=3) -- 5982(line=294, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_ann: tmp78 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp78)->tag = 15 ; ats_selptrset_mac(anairiats_sum_5, tmp78, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp78, atslab_1, arg3) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp78) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6053(line=300, offs=17) -- 6076(line=300, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_get_type: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hidexp_type) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_get_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab_loop_30: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp87 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp85, arg3) ; tmp88 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp88, atslab_0, tmp87) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp88 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp89 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp86 ; arg1 = arg1 ; arg2 = tmp89 ; arg3 = arg3 ; goto __ats_lab_loop_30 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp90 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp90 ; break ; } while (0) ; return /* (tmp84) */ ; } /* end of [loop_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp91 ; */ /* tmp92 = */ loop_30 (arg0, arg1, (&tmp91), arg2) ; tmp83 = tmp91 ; return (tmp83) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp82 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp82) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6106(line=302, offs=20) -- 6220(line=306, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexplst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexplst_get_type: tmp81 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_get_type) ; tmp80 = ats_castfn_mac(ats_ptr_type, tmp81) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexplst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6303(line=312, offs=3) -- 6381(line=314, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node: tmp93 = ATS_MALLOC(sizeof(anairiats_rec_13)) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_type, arg1) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_node, arg2) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6456(line=320, offs=3) -- 6517(line=321, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cst: tmp95 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp95)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp95, atslab_0, arg2) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp95) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6565(line=326, offs=3) -- 6626(line=327, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var: tmp97 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp97)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp97, atslab_0, arg2) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp97) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6695(line=334, offs=3) -- 6752(line=335, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_int: tmp99 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp99)->tag = 2 ; ats_selptrset_mac(anairiats_sum_6, tmp99, atslab_0, arg2) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp99) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6803(line=340, offs=3) -- 6867(line=341, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_intrep: tmp101 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp101)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_0, arg2) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp101) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 6919(line=346, offs=3) -- 6977(line=347, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool: tmp103 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp103)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp103, atslab_0, arg2) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7027(line=352, offs=3) -- 7085(line=353, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_char: tmp105 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp105)->tag = 5 ; ats_selptrset_mac(anairiats_sum_8, tmp105, atslab_0, arg2) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp105) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7136(line=358, offs=3) -- 7199(line=359, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_float: tmp107 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp107)->tag = 6 ; ats_selptrset_mac(anairiats_sum_3, tmp107, atslab_0, arg2) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp107) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7252(line=364, offs=3) -- 7316(line=365, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_string: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp109)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp109, atslab_0, arg2) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp109) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7389(line=372, offs=3) -- 7451(line=373, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_i0nt: tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp111)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, arg2) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp111) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7503(line=378, offs=3) -- 7566(line=379, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_f0loat: tmp113 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp113)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_0, arg2) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp113) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7640(line=386, offs=3) -- 7699(line=387, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cstsp: tmp115 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp115)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp115, atslab_0, arg2) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp115) ; return (tmp114) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7767(line=393, offs=11) -- 7820(line=394, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_top (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_top: tmp117 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp117) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7867(line=398, offs=13) -- 7922(line=399, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty: tmp119 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp119) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 7975(line=404, offs=3) -- 8039(line=405, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ignore (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ignore: tmp121 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp121)->tag = 13 ; ats_selptrset_mac(anairiats_sum_3, tmp121, atslab_0, arg2) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp121) ; return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ignore] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8114(line=412, offs=3) -- 8187(line=413, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_castfn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_castfn: tmp123 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp123)->tag = 14 ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_1, arg3) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp123) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_castfn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8262(line=420, offs=3) -- 8327(line=421, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extval: tmp125 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp125)->tag = 15 ; ats_selptrset_mac(anairiats_sum_3, tmp125, atslab_0, arg2) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp125) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8383(line=426, offs=3) -- 8462(line=427, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extfcall: tmp127 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp127)->tag = 16 ; ats_selptrset_mac(anairiats_sum_5, tmp127, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp127, atslab_1, arg3) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp127) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8520(line=432, offs=3) -- 8611(line=433, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extmcall: tmp129 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp129)->tag = 17 ; ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_2, arg4) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp129) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8685(line=439, offs=12) -- 8779(line=441, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_con: tmp131 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp131)->tag = 18 ; ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_2, arg4) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp131) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8830(line=447, offs=3) -- 8907(line=448, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpcst: tmp133 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp133)->tag = 19 ; ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_1, arg3) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp133) ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 8961(line=453, offs=3) -- 9038(line=454, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpvar: tmp135 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp135)->tag = 20 ; ats_selptrset_mac(anairiats_sum_5, tmp135, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp135, atslab_1, arg3) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp135) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 9111(line=460, offs=15) -- 9166(line=461, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_foldat: tmp137 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp137) ; return (tmp136) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 9192(line=464, offs=15) -- 9255(line=465, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_freeat: tmp139 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp139)->tag = 22 ; ats_selptrset_mac(anairiats_sum_3, tmp139, atslab_0, arg2) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp139) ; return (tmp138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_freeat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 9325(line=471, offs=12) -- 9397(line=472, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let: tmp141 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp141)->tag = 23 ; ats_selptrset_mac(anairiats_sum_5, tmp141, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp141, atslab_1, arg3) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp141) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 9466(line=479, offs=3) -- 9559(line=480, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app: tmp143 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp143)->tag = 24 ; ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_2, arg4) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp143) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 9606(line=484, offs=13) -- 10336(line=517, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app2: tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg3), atslab_hidexp_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp146)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_3, tmp146, atslab_0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_castfn (tmp147) ; if (tmp148) { tmp145 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp145, atslab_0, tmp147) ; } else { tmp145 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp145 = (ats_sum_ptr_type)0 ; break ; } while (0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp145 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_15, tmp145, atslab_0) ; ATS_FREE(tmp145) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_2, arg4, atslab_0) ; tmp150 = tmp151 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg3), atslab_hidexp_loc) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype () ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_empty (tmp152, tmp153) ; break ; } while (0) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_castfn (arg0, arg1, tmp149, tmp150) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp145 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp144) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_app2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 10405(line=523, offs=3) -- 10497(line=524, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if: tmp155 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp155)->tag = 25 ; ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_2, arg4) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp155) ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 10544(line=529, offs=3) -- 10637(line=530, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_sif (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_sif: tmp157 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp157)->tag = 26 ; ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_2, arg4) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp157) ; return (tmp156) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_sif] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 10707(line=537, offs=3) -- 10793(line=538, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_case: tmp159 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp159)->tag = 27 ; ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_2, arg4) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp159) ; return (tmp158) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_case] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 10863(line=545, offs=3) -- 10954(line=546, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lst: tmp161 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp161)->tag = 28 ; ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_2, arg4) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp161) ; return (tmp160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 11023(line=553, offs=3) -- 11116(line=554, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp163)->tag = 29 ; ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_2, arg4) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp163) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 11163(line=559, offs=1) -- 11591(line=584, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_bool_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2: tmp166 = atspre_eq_int_int (arg2, 0) ; if (tmp166) { tmp165 = ats_true_bool ; } else { tmp165 = ats_false_bool ; } /* end of [if] */ if (tmp165) { do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } tmp167 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ; if (tmp167 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; // tmp169 = ats_caselptrlab_mac(anairiats_sum_2, tmp168, atslab_1) ; tmp164 = tmp169 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec (arg0, arg1, arg2, arg3, arg4) ; break ; } while (0) ; } else { tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec (arg0, arg1, arg2, arg3, arg4) ; } /* end of [if] */ return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_rec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 11664(line=590, offs=3) -- 11727(line=591, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_seq: tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp171)->tag = 30 ; ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, arg2) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp171) ; return (tmp170) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 11798(line=598, offs=3) -- 11891(line=599, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selab: tmp173 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp173)->tag = 31 ; ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_2, arg4) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 11967(line=606, offs=3) -- 12033(line=607, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofvar: tmp175 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp175)->tag = 32 ; ats_selptrset_mac(anairiats_sum_3, tmp175, atslab_0, arg2) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp175) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12091(line=612, offs=3) -- 12181(line=613, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofsel: tmp177 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp177)->tag = 33 ; ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_2, arg4) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp177) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12258(line=620, offs=3) -- 12356(line=621, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_refarg: tmp179 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp179)->tag = 34 ; ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_2, arg4) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp179) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12431(line=628, offs=3) -- 12523(line=629, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selvar: tmp181 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp181)->tag = 35 ; ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_2, arg4) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp181) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12577(line=634, offs=3) -- 12669(line=635, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp183)->tag = 36 ; ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_2, arg4) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp183) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_selptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12747(line=642, offs=3) -- 12860(line=643, offs=73) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_var: tmp185 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp185)->tag = 37 ; ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_3, arg5) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp185) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 12920(line=648, offs=3) -- 13033(line=649, offs=73) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr: tmp187 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp187)->tag = 38 ; ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_3, arg5) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp187) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13114(line=656, offs=3) -- 13227(line=657, offs=73) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_var: tmp189 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp189)->tag = 39 ; ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_3, arg5) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp189) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13287(line=662, offs=3) -- 13400(line=663, offs=73) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr: tmp191 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp191)->tag = 40 ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_3, arg5) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp191) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13476(line=670, offs=1) -- 13582(line=673, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrpsz: tmp193 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp193)->tag = 41 ; ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_2, arg4) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp193) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13635(line=678, offs=1) -- 13760(line=681, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrinit: tmp195 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp195)->tag = 42 ; ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_3, arg5) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp195) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13835(line=688, offs=3) -- 13906(line=689, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_raise: tmp197 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp197)->tag = 43 ; ats_selptrset_mac(anairiats_sum_3, tmp197, atslab_0, arg2) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp197) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 13984(line=696, offs=3) -- 14045(line=697, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_vcopyenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_vcopyenv: tmp199 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp199)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp199, atslab_0, arg2) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp199) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14101(line=703, offs=3) -- 14170(line=704, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tempenver: tmp201 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp201)->tag = 44 ; ats_selptrset_mac(anairiats_sum_3, tmp201, atslab_0, arg2) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp201) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14216(line=710, offs=1) -- 14322(line=714, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam: tmp203 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp203)->tag = 45 ; ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_2, arg4) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp203) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14391(line=721, offs=3) -- 14484(line=722, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_fix: tmp205 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp205)->tag = 46 ; ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_2, arg4) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp205) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14557(line=729, offs=3) -- 14620(line=730, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_delay: tmp207 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp207)->tag = 47 ; ats_selptrset_mac(anairiats_sum_3, tmp207, atslab_0, arg2) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp207) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14672(line=734, offs=3) -- 14754(line=735, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ldelay: tmp209 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp209)->tag = 48 ; ats_selptrset_mac(anairiats_sum_5, tmp209, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp209, atslab_1, arg3) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp209) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_ldelay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14812(line=740, offs=3) -- 14888(line=741, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lazyeval: tmp211 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp211)->tag = 49 ; ats_selptrset_mac(anairiats_sum_19, tmp211, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_19, tmp211, atslab_1, arg3) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp211) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_lazyeval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 14965(line=748, offs=3) -- 15065(line=749, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loop: tmp213 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp213)->tag = 50 ; ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_3, arg5) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp213) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15118(line=754, offs=3) -- 15183(line=755, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loopexn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loopexn: tmp215 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp215)->tag = 51 ; ats_selptrset_mac(anairiats_sum_6, tmp215, atslab_0, arg2) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp215) ; return (tmp214) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15260(line=762, offs=3) -- 15339(line=763, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_trywith: tmp217 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp217)->tag = 52 ; ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_1, arg3) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp217) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15415(line=770, offs=3) -- 15469(line=770, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_errexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_errexp: tmp219 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEerrexp_53) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp219) ; return (tmp218) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_errexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15538(line=776, offs=11) -- 15599(line=778, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_lab: tmp221 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp221)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_0, arg1) ; tmp220 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp220, atslab_hilab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_20, tmp220, atslab_hilab_node, tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15620(line=780, offs=11) -- 15681(line=782, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_ind: tmp223 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp223)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp223, atslab_0, arg1) ; tmp222 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp222, atslab_hilab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_20, tmp222, atslab_hilab_node, tmp223) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hilab_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15728(line=788, offs=3) -- 15808(line=792, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__higmat_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__higmat_make: tmp224 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_loc, arg0) ; ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_exp, arg1) ; ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_pat, arg2) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__higmat_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 15858(line=796, offs=3) -- 16008(line=803, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make: tmp225 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_gua, arg2) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_seq, arg3) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_neg, arg4) ; ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_body, arg5) ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiclau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 16079(line=809, offs=1) -- 16249(line=818, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_make: tmp227 = (ats_sum_ptr_type)0 ; tmp228 = (ats_sum_ptr_type)0 ; tmp226 = ATS_MALLOC(sizeof(anairiats_rec_23)) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_var, arg1) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_imparg, arg2) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_def, arg3) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_hidecl, tmp227) ; ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_funlab, tmp228) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 16405(line=830, offs=3) -- 16452(line=830, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt: tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_hifundec_hidecl) ; tmp229 = ats_castfn_mac(ats_ptr_type, tmp230) ; return (tmp229) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp234) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp234) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp233) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp233 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp233) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 16553(line=837, offs=5) -- 16664(line=841, offs=63) */ ATSstaticdec() ats_void_type set_96 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab_set_96: tmp235 = patsopt_hifundec_getref_hideclopt (arg0) ; /* tmp232 = */ ptrset_01764_ats_ptr_type (tmp235, arg1) ; return /* (tmp232) */ ; } /* end of [set_96] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 16672(line=843, offs=5) -- 16888(line=856, offs=4) */ ATSstaticdec() ats_void_type auxlst_99 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; __ats_lab_auxlst_99: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp239 = */ set_96 (tmp237, arg1) ; arg0 = tmp238 ; arg1 = arg1 ; goto __ats_lab_auxlst_99 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: break ; } while (0) ; return /* (tmp236) */ ; } /* end of [auxlst_99] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 16528(line=835, offs=3) -- 16938(line=860, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt: /* tmp231 = */ auxlst_99 (arg0, arg1) ; return /* (tmp231) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17048(line=868, offs=3) -- 17130(line=872, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivaldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivaldec_make: tmp240 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_pat, arg1) ; ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_def, arg2) ; return (tmp240) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivaldec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17182(line=876, offs=1) -- 17363(line=886, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivardec_make: tmp241 = ATS_MALLOC(sizeof(anairiats_rec_25)) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_knd, arg1) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_dvar_ptr, arg2) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_dvar_view, arg3) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_type, arg4) ; ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_init, arg5) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17436(line=892, offs=1) -- 17671(line=903, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiimpdec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiimpdec_make: tmp243 = (ats_sum_ptr_type)0 ; tmp244 = (ats_sum_ptr_type)0 ; tmp242 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_knd, arg1) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_cst, arg2) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_imparg, arg3) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_tmparg, arg4) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_def, arg5) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_funlab, tmp243) ; ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_instrlst, tmp244) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiimpdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17749(line=909, offs=3) -- 17804(line=911, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node: tmp245 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp245, atslab_hidecl_loc, arg0) ; ats_selptrset_mac(anairiats_rec_27, tmp245, atslab_hidecl_node, arg1) ; return (tmp245) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17857(line=914, offs=13) -- 17901(line=915, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none: tmp247 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp247) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 17949(line=919, offs=13) -- 18003(line=920, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_list: tmp249 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp249)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp249, atslab_0, arg1) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp249) ; return (tmp248) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18075(line=926, offs=16) -- 18130(line=927, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_saspdec: tmp251 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp251)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp251, atslab_0, arg1) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp251) ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18206(line=934, offs=3) -- 18280(line=935, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extype: tmp253 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp253)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp253, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp253, atslab_1, arg2) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp253) ; return (tmp252) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18334(line=940, offs=3) -- 18408(line=941, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extvar: tmp255 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp255)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp255, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp255, atslab_1, arg2) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp255) ; return (tmp254) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18463(line=946, offs=3) -- 18540(line=947, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extcode: tmp257 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp257)->tag = 5 ; ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_2, arg3) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp257) ; return (tmp256) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18617(line=954, offs=3) -- 18684(line=955, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_datdecs: tmp259 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp259)->tag = 7 ; ats_selptrset_mac(anairiats_sum_19, tmp259, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp259, atslab_1, arg2) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp259) ; return (tmp258) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_datdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18740(line=960, offs=3) -- 18797(line=961, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_exndecs: tmp261 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp261)->tag = 6 ; ats_selptrset_mac(anairiats_sum_3, tmp261, atslab_0, arg1) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp261) ; return (tmp260) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 18875(line=968, offs=3) -- 18943(line=969, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dcstdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dcstdecs: tmp263 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp263)->tag = 8 ; ats_selptrset_mac(anairiats_sum_5, tmp263, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp263, atslab_1, arg2) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp263) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dcstdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19020(line=976, offs=3) -- 19086(line=977, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_impdec: tmp265 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp265)->tag = 9 ; ats_selptrset_mac(anairiats_sum_19, tmp265, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp265, atslab_1, arg2) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp265) ; return (tmp264) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19162(line=984, offs=3) -- 19245(line=985, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_fundecs: tmp267 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp267)->tag = 10 ; ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_2, arg3) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp267) ; return (tmp266) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19320(line=991, offs=16) -- 19387(line=992, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs: tmp269 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp269)->tag = 11 ; ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_1, arg2) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp269) ; return (tmp268) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19445(line=996, offs=20) -- 19516(line=997, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec: tmp271 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp271)->tag = 12 ; ats_selptrset_mac(anairiats_sum_5, tmp271, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp271, atslab_1, arg2) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp271) ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19595(line=1003, offs=16) -- 19652(line=1004, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_vardecs: tmp273 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp273)->tag = 13 ; ats_selptrset_mac(anairiats_sum_3, tmp273, atslab_0, arg1) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp273) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19729(line=1011, offs=3) -- 19796(line=1012, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_include: tmp275 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp275)->tag = 14 ; ats_selptrset_mac(anairiats_sum_19, tmp275, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp275, atslab_1, arg2) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp275) ; return (tmp274) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 19871(line=1018, offs=16) -- 19988(line=1021, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staload: tmp277 = ATS_MALLOC(sizeof(anairiats_sum_28)) ; ((ats_sum_ptr_type)tmp277)->tag = 15 ; ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_4, arg5) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp277) ; return (tmp276) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 20047(line=1026, offs=3) -- 20135(line=1027, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staloadloc: tmp279 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp279)->tag = 16 ; ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_2, arg3) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp279) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 20213(line=1033, offs=16) -- 20268(line=1034, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dynload: tmp281 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp281)->tag = 17 ; ats_selptrset_mac(anairiats_sum_3, tmp281, atslab_0, arg1) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp281) ; return (tmp280) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 20341(line=1040, offs=14) -- 20408(line=1041, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_local: tmp283 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp283)->tag = 18 ; ats_selptrset_mac(anairiats_sum_5, tmp283, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp283, atslab_1, arg2) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp283) ; return (tmp282) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_local] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; __ats_lab_ptr0_get_01759_ats_ptr_type: tmp287 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp287) ; } /* end of [ptr0_get_01759_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp286) ; __ats_lab_ptrget_01763_ats_ptr_type: tmp286 = ptr0_get_01759_ats_ptr_type (arg0) ; return (tmp286) ; } /* end of [ptrget_01763_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 20657(line=1056, offs=28) -- 20760(line=1058, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt: tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap (arg0) ; tmp284 = ptrget_01763_ats_ptr_type (tmp285) ; return (tmp284) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 20838(line=1061, offs=28) -- 20941(line=1063, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt: tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap (arg0) ; tmp288 = ptrget_01763_ats_ptr_type (tmp289) ; return (tmp288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 21056(line=1071, offs=3) -- 21197(line=1078, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find: tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_search (arg0, arg1) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp291 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_15, tmp291, atslab_0) ; ATS_FREE(tmp291) ; tmp290 = tmp292 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp291 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp290 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp290) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 21261(line=1082, offs=3) -- 21446(line=1089, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_bool_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert: tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_hiimpdec_cst) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptrget_mac(ats_ptr_type, arg0), tmp294) ; tmp297 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_1, tmp295) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_insert (arg0, tmp294, tmp297) ; return /* (tmp293) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 21531(line=1095, offs=3) -- 21575(line=1095, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp298) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_find: tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search (arg0, arg1) ; return (tmp298) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 21639(line=1100, offs=3) -- 21760(line=1105, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_bool_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_insert: tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_hifundec_var) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert (arg0, tmp300, arg1) ; return /* (tmp299) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp.dats: 21827(line=1109, offs=3) -- 22044(line=1122, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; // ATSlocal_void (tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (arg0, tmp303) ; arg0 = arg0 ; arg1 = tmp304 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: break ; } while (0) ; return /* (tmp302) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_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 () ; #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 */ ats_void_type patsopt_hipat_set_asvar ( ats_ptr_type hip, ats_ptr_type opt ) { ((hipat_t)hip)->atslab_hipat_asvar = opt ; return ; } // end of [patsopt_hipat_set_asvar] ats_ptr_type patsopt_hifundec_getref_hideclopt (ats_ptr_type fundec) { return &((hifundec_t)fundec)->atslab_hifundec_hidecl ; } // end of [patsopt_hifundec_getref_hideclopt] ats_ptr_type patsopt_hifundec_getref_funlabopt (ats_ptr_type fundec) { return &((hifundec_t)fundec)->atslab_hifundec_funlab ; } // end of [patsopt_hifundec_getref_funlabopt] ats_ptr_type patsopt_hiimpdec_getref_funlabopt (ats_ptr_type impdec) { return &((hiimpdec_t)impdec)->atslab_hiimpdec_funlab ; } // end of [patsopt_hiimpdec_getref_funlabopt] ats_ptr_type patsopt_hiimpdec_getref_instrlstopt (ats_ptr_type impdec) { return &((hiimpdec_t)impdec)->atslab_hiimpdec_instrlst ; } // end of [patsopt_hiimpdec_getref_instrlstopt] /* ****** ****** */ /* end of [pats_hidynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_funlab_dats.c0000664000175000017500000032635512655455557021247 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_funlab_name ; ats_int_type atslab_funlab_level ; ats_ptr_type atslab_funlab_funclo ; ats_ptr_type atslab_funlab_type ; ats_int_type atslab_funlab_tmpknd ; ats_ptr_type atslab_funlab_d2copt ; ats_ptr_type atslab_funlab_d2vopt ; ats_int_type atslab_funlab_ncopy ; ats_ptr_type atslab_funlab_origin ; ats_int_type atslab_funlab_suffix ; ats_ptr_type atslab_funlab_tmparg ; ats_ptr_type atslab_funlab_funent ; ats_int_type atslab_funlab_stamp ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_none) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_ncopy) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_ncopy) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize) (ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__funlabset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__ccomp_funlab_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02426_ () ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type prerr_interror_02427_ () ; static ats_ptr_type d2cst_get_gname_26 (ats_ptr_type arg0) ; static ats_ptr_type flname_make_27 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type flname_make_30 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type aux_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_39 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_39_closure_make () ; static ats_int_type __ats_fun_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_make_nil_05294_ () ; static ats_void_type loop_45 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type linset_free_05301_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_05293_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type loop_48 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type loop_48_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type loop_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type linset_is_member_05299_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type ins_52 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0) ; static ats_clo_ptr_type ins_52_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type ins_52_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0) ; static ats_bool_type linset_insert_05303_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_57 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linset_listize_05318_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linset_listize_free_05319_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_61 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp149) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 1762(line=57, offs=28) -- 1792(line=57, offs=58) */ ATSstaticdec() ats_void_type prerr_FILENAME_02426_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02426_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_funlab")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02426_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp3 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp3) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 2986(line=130, offs=1) -- 3877(line=174, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_int_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make: tmp2 = ptr_alloc_01070_anairiats_rec_1 () ; tmp4 = ats_selsin_mac(tmp2, atslab_2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; ATS_FREE(arg3) ; tmp5 = tmp6 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_hisexp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp7)->tag != 5) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_4, tmp7, atslab_0) ; tmp5 = tmp8 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp5 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_name) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_level) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_type) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_funclo) = tmp5 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_tmpknd) = -1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_d2copt) = arg4 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_d2vopt) = arg5 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_ncopy) = 0 ; tmp9 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_origin) = tmp9 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_suffix) = 0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_tmparg) = arg6 ; tmp10 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_funent) = tmp10 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_funlab_stamp) = arg7 ; tmp1 = atspre_ref_make_view_ptr (tmp4) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 3950(line=179, offs=17) -- 4030(line=181, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name: tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp11 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_funlab_name) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4087(line=184, offs=18) -- 4168(line=186, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp13 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_funlab_level) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4225(line=189, offs=17) -- 4305(line=191, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type: tmp16 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp15 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp16), atslab_funlab_type) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4363(line=194, offs=19) -- 4445(line=196, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo: tmp18 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_funlab_funclo) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4505(line=199, offs=19) -- 4587(line=201, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd: tmp20 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp19 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp20), atslab_funlab_tmpknd) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4646(line=203, offs=19) -- 4740(line=205, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd: tmp22 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp22), atslab_funlab_tmpknd) = arg1 ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_tmpknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4800(line=208, offs=19) -- 4882(line=210, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp23 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp24), atslab_funlab_d2copt) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 4941(line=212, offs=19) -- 5023(line=214, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp25 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp26), atslab_funlab_d2vopt) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5082(line=217, offs=18) -- 5163(line=219, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_ncopy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_ncopy: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp27 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp28), atslab_funlab_ncopy) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_ncopy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5220(line=221, offs=18) -- 5313(line=223, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_ncopy (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_ncopy: tmp30 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp30), atslab_funlab_ncopy) = arg1 ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_ncopy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5374(line=227, offs=3) -- 5499(line=231, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin: tmp32 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp33 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp32), atslab_funlab_origin) ; tmp31 = ats_castfn_mac(ats_ptr_type, tmp33) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5561(line=235, offs=3) -- 5694(line=238, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_origin (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_origin: tmp35 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp35), atslab_funlab_origin) = ats_castfn_mac(ats_ptr_type, arg1) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_origin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5754(line=241, offs=19) -- 5836(line=243, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix: tmp37 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp36 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp37), atslab_funlab_suffix) ; return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 5895(line=245, offs=19) -- 5989(line=247, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix: tmp39 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp39), atslab_funlab_suffix) = arg1 ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_suffix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 6049(line=250, offs=19) -- 6131(line=252, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg: tmp41 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp40 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp41), atslab_funlab_tmparg) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 6191(line=255, offs=19) -- 6273(line=257, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent: tmp43 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp42 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp43), atslab_funlab_funent) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 6332(line=259, offs=19) -- 6426(line=261, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent: tmp45 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp45), atslab_funlab_funent) = arg1 ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_funent] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 6487(line=265, offs=3) -- 6583(line=269, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp: tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp46 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp47), atslab_funlab_stamp) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02427_ () { /* local vardec */ // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; __ats_lab_prerr_interror_02427_: /* tmp54 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp55 = */ prerr_FILENAME_02426_ () ; /* tmp53 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp53) */ ; } /* end of [prerr_interror_02427_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 6724(line=278, offs=3) -- 7089(line=296, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg: tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg0) ; tmp50 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp49), atslab_hisexp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp50)->tag != 5) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_4, tmp50, atslab_1) ; tmp48 = tmp51 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: /* tmp52 = */ prerr_interror_02427_ () ; /* tmp56 = */ atspre_prerr_string (ATSstrcst(": funlab_get_type_arg: hse = ")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (tmp49) ; /* tmp58 = */ atspre_prerr_newline () ; tmp60 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 7000(line=291, offs=14) -- 7016(line=291, offs=30)", ATSstrcst("\n")) ; /* tmp59 = */ atspre_assert_errmsg (ats_false_bool, tmp60) ; /* tmp48 = */ ats_exit (1) ; break ; } while (0) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 7155(line=300, offs=3) -- 7520(line=318, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type (arg0) ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp62), atslab_hisexp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp63)->tag != 5) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_4, tmp63, atslab_2) ; tmp61 = tmp64 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: /* tmp65 = */ prerr_interror_02427_ () ; /* tmp66 = */ atspre_prerr_string (ATSstrcst(": funlab_get_type_arg: hse = ")) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (tmp62) ; /* tmp68 = */ atspre_prerr_newline () ; tmp70 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 7431(line=313, offs=14) -- 7447(line=313, offs=30)", ATSstrcst("\n")) ; /* tmp69 = */ atspre_assert_errmsg (ats_false_bool, tmp70) ; /* tmp61 = */ ats_exit (1) ; break ; } while (0) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_res] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 7607(line=324, offs=3) -- 7728(line=328, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_ncopy (arg0) ; tmp73 = atspre_add_int_int (tmp72, 1) ; /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_set_ncopy (arg0, tmp73) ; tmp71 = tmp73 ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_incget_ncopy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 7812(line=334, offs=3) -- 8308(line=352, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp77 = (ats_sum_ptr_type)0 ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get () ; tmp81 = atspre_stropt_is_none (tmp79) ; if (tmp81) { tmp80 = ATSstrcst("__patsfun_") ; } else { tmp82 = atspre_string_append (ats_castfn_mac(ats_ptr_type, tmp79), ATSstrcst("patsfun_")) ; tmp80 = ats_castfn_mac(ats_ptr_type, tmp82) ; } /* end of [if] */ tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp (tmp80, tmp78) ; tmp84 = (ats_sum_ptr_type)0 ; tmp85 = (ats_sum_ptr_type)0 ; tmp86 = (ats_sum_ptr_type)0 ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (tmp83, tmp76, arg0, tmp77, tmp84, tmp85, tmp86, tmp78) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 8371(line=359, offs=1) -- 8754(line=373, offs=4) */ ATSstaticdec() ats_ptr_type d2cst_get_gname_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab_d2cst_get_gname_26: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg0) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp88)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp89) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp88)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_6, tmp88, atslab_0) ; tmp87 = tmp90 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp88)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_6, tmp88, atslab_0) ; tmp87 = tmp91 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)tmp88)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_6, tmp88, atslab_0) ; tmp87 = tmp92 ; break ; } while (0) ; return (tmp87) ; } /* end of [d2cst_get_gname_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 8788(line=375, offs=5) -- 9009(line=384, offs=4) */ ATSstaticdec() ats_ptr_type flname_make_27 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_flname_make_27: tmp94 = d2cst_get_gname_26 (arg0) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp (arg1) ; tmp96 = atspre_tostringf (ATSstrcst("%s$%s"), tmp94, tmp95) ; tmp93 = ats_castfn_mac(ats_ptr_type, tmp96) ; return (tmp93) ; } /* end of [flname_make_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 9093(line=390, offs=3) -- 9371(line=403, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp99, atslab_0, arg0) ; tmp100 = (ats_sum_ptr_type)0 ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () ; tmp102 = flname_make_27 (arg0, tmp101) ; tmp103 = (ats_sum_ptr_type)0 ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (tmp102, tmp98, arg1, arg2, tmp99, tmp103, tmp100, tmp101) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dcst_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 9441(line=407, offs=1) -- 9731(line=421, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_tmpcst_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_tmpcst_type: tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp106 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp106, atslab_0, arg0) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () ; tmp108 = flname_make_27 (arg0, tmp107) ; tmp109 = (ats_sum_ptr_type)0 ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (tmp108, tmp105, arg2, arg3, tmp106, tmp109, arg1, tmp107) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_tmpcst_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 9824(line=430, offs=1) -- 10305(line=454, offs=4) */ ATSstaticdec() ats_ptr_type flname_make_30 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_flname_make_30: tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get () ; tmp112 = atspre_stropt_is_none (tmp111) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg0) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp114) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_stamp (arg1) ; if (tmp112) { tmp116 = atspre_tostringf (ATSstrcst("%s_%s"), tmp113, tmp115) ; tmp110 = ats_castfn_mac(ats_ptr_type, tmp116) ; } else { tmp117 = atspre_tostringf (ATSstrcst("%s%s_%s"), ats_castfn_mac(ats_ptr_type, tmp111), tmp113, tmp115) ; tmp110 = ats_castfn_mac(ats_ptr_type, tmp117) ; } /* end of [if] */ return (tmp110) ; } /* end of [flname_make_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 10389(line=460, offs=3) -- 10688(line=473, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type: tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp120, atslab_0, arg0) ; tmp121 = (ats_sum_ptr_type)0 ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__funlab_stamp_make () ; tmp123 = flname_make_30 (arg0, tmp122) ; tmp124 = (ats_sum_ptr_type)0 ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make (tmp123, tmp119, arg1, arg2, tmp124, tmp120, tmp121, tmp122) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_make_dvar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 11210(line=505, offs=3) -- 11482(line=514, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_int_type, tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_int_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab: tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ; /* tmp127 = */ atspre_fprint_string (arg0, tmp126) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix (arg1) ; /* tmp129 = */ atspre_fprintf_exn (arg0, ATSstrcst("$%i"), tmp128) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (arg1) ; /* tmp125 = */ atspre_fprintf_exn (arg0, ATSstrcst("(level=%i)"), tmp130) ; return /* (tmp125) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 11533(line=517, offs=14) -- 11574(line=517, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funlab: /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (stdout, arg0) ; return /* (tmp131) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 11598(line=519, offs=14) -- 11639(line=519, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funlab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funlab: /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (stderr, arg0) ; return /* (tmp132) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_bool_type, tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_int_type, tmp141) ; __ats_lab_aux_37: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp139 = atspre_gt_int_int (arg1, 0) ; if (tmp139) { /* tmp138 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp140 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp136) ; tmp141 = atspre_add_int_int (arg1, 1) ; arg0 = tmp137 ; arg1 = tmp141 ; goto __ats_lab_aux_37 ; // tail call break ; } while (0) ; return /* (tmp135) */ ; } /* end of [aux_37] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_37_closure_type ; ats_void_type aux_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_37 (((aux_37_closure_type*)cloptr)->closure_env_0, ((aux_37_closure_type*)cloptr)->closure_env_1, ((aux_37_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_37_closure_init (aux_37_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_37_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_37_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_37_closure_type *p_clo = ATS_MALLOC(sizeof(aux_37_closure_type)) ; aux_37_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp134) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp134 = */ aux_37 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp134) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 11691(line=525, offs=3) -- 11788(line=531, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst: /* tmp133 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) ; return /* (tmp133) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 11872(line=537, offs=3) -- 12031(line=546, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablstopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablstopt: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp144 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst (arg0, tmp143) ; /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp142) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablstopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12248(line=560, offs=1) -- 12357(line=561, offs=73) */ ATSstaticdec() ats_int_type __ats_fun_39 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; __ats_lab___ats_fun_39: tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (arg0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (arg1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp147, tmp148) ; return (tmp146) ; } /* end of [__ats_fun_39] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_39_closure_type ; ats_int_type __ats_fun_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_39 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_39_closure_init (__ats_fun_39_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_39_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_39_closure_make () { __ats_fun_39_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_39_closure_type)) ; __ats_fun_39_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 2205(line=76, offs=17) -- 2224(line=76, offs=36) */ ATSstaticdec() ats_ptr_type linset_make_nil_05294_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp151) ; __ats_lab_linset_make_nil_05294_: tmp151 = (ats_sum_ptr_type)0 ; return (tmp151) ; } /* end of [linset_make_nil_05294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12426(line=567, offs=18) -- 12453(line=567, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil: tmp150 = linset_make_nil_05294_ () ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_45 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab_loop_45: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp156 ; goto __ats_lab_loop_45 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: break ; } while (0) ; return /* (tmp155) */ ; } /* end of [loop_45] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp154) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp154 = */ loop_45 (arg0) ; return /* (tmp154) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 3275(line=126, offs=26) -- 3301(line=126, offs=52) */ ATSstaticdec() ats_void_type linset_free_05301_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp153) ; __ats_lab_linset_free_05301_ats_ptr_type: /* tmp153 = */ list_vt_free_01499_ats_ptr_type (arg0) ; return /* (tmp153) */ ; } /* end of [linset_free_05301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12483(line=570, offs=19) -- 12511(line=570, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_free: /* tmp152 = */ linset_free_05301_ats_ptr_type (arg0) ; return /* (tmp152) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 2049(line=66, offs=17) -- 2077(line=66, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_05293_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp163) ; __ats_lab_compare_elt_elt_05293_ats_ptr_type: tmp163 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp163) ; } /* end of [compare_elt_elt_05293_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 2449(line=92, offs=5) -- 2990(line=112, offs=42) */ ATSstaticdec() ats_bool_type loop_48 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_bool_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_loop_48: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp161 = &ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp162 = compare_elt_elt_05293_ats_ptr_type (env0, tmp160, env1) ; tmp164 = atspre_lt_int_int (tmp162, 0) ; if (tmp164) { tmp159 = ats_false_bool ; } else { tmp165 = atspre_gt_int_int (tmp162, 0) ; if (tmp165) { tmp166 = ats_ptrget_mac(ats_ptr_type, tmp161) ; arg0 = tmp166 ; goto __ats_lab_loop_48 ; // tail call } else { tmp159 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp159 = ats_false_bool ; break ; } while (0) ; return (tmp159) ; } /* end of [loop_48] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } loop_48_closure_type ; ats_bool_type loop_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop_48 (((loop_48_closure_type*)cloptr)->closure_env_0, ((loop_48_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type loop_48_closure_init (loop_48_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_48_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_48_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { loop_48_closure_type *p_clo = ATS_MALLOC(sizeof(loop_48_closure_type)) ; loop_48_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 2422(line=90, offs=3) -- 3026(line=116, offs=4) */ ATSstaticdec() ats_bool_type linset_is_member_05299_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp158) ; __ats_lab_linset_is_member_05299_ats_ptr_type: tmp158 = loop_48 (arg1, arg2, arg0) ; return (tmp158) ; } /* end of [linset_is_member_05299_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12545(line=574, offs=3) -- 12592(line=574, offs=50) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_ismem: tmp157 = linset_is_member_05299_ats_ptr_type (arg0, arg1, statmp149) ; return (tmp157) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 3380(line=133, offs=7) -- 4109(line=153, offs=10) */ ATSstaticdec() ats_bool_type ins_52 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; ATSlocal (ats_bool_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_bool_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_ins_52: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp173 = &ats_caselptrlab_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp174 = compare_elt_elt_05293_ats_ptr_type (env0, tmp172, env1) ; tmp175 = atspre_lt_int_int (tmp174, 0) ; if (tmp175) { tmp176 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp176, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_7, tmp176, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp176 ; tmp171 = ats_false_bool ; } else { tmp177 = atspre_gt_int_int (tmp174, 0) ; if (tmp177) { arg0 = tmp173 ; goto __ats_lab_ins_52 ; // tail call } else { tmp171 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp179 = (ats_sum_ptr_type)0 ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp178, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_7, tmp178, atslab_1, tmp179) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp178 ; tmp171 = ats_false_bool ; break ; } while (0) ; return (tmp171) ; } /* end of [ins_52] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } ins_52_closure_type ; ats_bool_type ins_52_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0) { return ins_52 (((ins_52_closure_type*)cloptr)->closure_env_0, ((ins_52_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type ins_52_closure_init (ins_52_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&ins_52_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type ins_52_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { ins_52_closure_type *p_clo = ATS_MALLOC(sizeof(ins_52_closure_type)) ; ins_52_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 3354(line=132, offs=3) -- 4171(line=157, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_05303_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp170) ; __ats_lab_linset_insert_05303_ats_ptr_type: tmp170 = ins_52 (arg1, arg2, arg0) ; return (tmp170) ; } /* end of [linset_insert_05303_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12654(line=579, offs=3) -- 12748(line=583, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add: /* ats_ptr_type tmp168 ; */ tmp168 = arg0 ; tmp169 = linset_insert_05303_ats_ptr_type ((&tmp168), arg1, statmp149) ; tmp167 = tmp168 ; return (tmp167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_57 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_loop_57: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp187 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp187, atslab_0, tmp185) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp187 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp188 = &ats_caselptrlab_mac(anairiats_sum_7, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp186 ; arg1 = tmp188 ; goto __ats_lab_loop_57 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp189 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp189 ; break ; } while (0) ; return /* (tmp184) */ ; } /* end of [loop_57] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp190 ; */ /* tmp191 = */ loop_57 (arg0, (&tmp190)) ; tmp183 = tmp190 ; return (tmp183) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp182 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp182) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 8836(line=360, offs=16) -- 8862(line=360, offs=42) */ ATSstaticdec() ats_ptr_type linset_listize_05318_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp181) ; __ats_lab_linset_listize_05318_ats_ptr_type: tmp181 = list_vt_copy_01498_ats_ptr_type (arg0) ; return (tmp181) ; } /* end of [linset_listize_05318_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12810(line=586, offs=22) -- 12841(line=586, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize: tmp180 = linset_listize_05318_ats_ptr_type (arg0) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_listord.dats: 8898(line=362, offs=34) -- 8907(line=362, offs=43) */ ATSstaticdec() ats_ptr_type linset_listize_free_05319_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; __ats_lab_linset_listize_free_05319_ats_ptr_type: tmp193 = arg0 ; return (tmp193) ; } /* end of [linset_listize_free_05319_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12879(line=588, offs=27) -- 12915(line=588, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free: tmp192 = linset_listize_free_05319_ats_ptr_type (arg0) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12984(line=595, offs=5) -- 13220(line=608, offs=4) */ ATSstaticdec() ats_ptr_type loop_61 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab_loop_61: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (arg1, tmp196) ; arg0 = tmp197 ; arg1 = tmp198 ; goto __ats_lab_loop_61 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp195 = arg1 ; break ; } while (0) ; return (tmp195) ; } /* end of [loop_61] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 12965(line=593, offs=15) -- 13284(line=612, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlablst2set (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlablst2set: tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil () ; tmp194 = loop_61 (arg0, tmp199) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlablst2set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funlab.dats: 13365(line=618, offs=3) -- 13541(line=624, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlabset_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlabset_vt: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize (arg1) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlablst (arg0, ats_castfn_mac(ats_ptr_type, tmp201)) ; /* tmp200 = */ list_vt_free_01499_ats_ptr_type (tmp201) ; return /* (tmp200) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlabset_vt] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_listord_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_listord_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_listord_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_listord_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp149, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp149 = __ats_fun_39_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_funlab_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_tokbuf_dats.c0000664000175000017500000013246512655455557020106 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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_lexbuf.cats" #include "pats_location.cats" #include "libats/ngc/CATS/deque_arr.cats" #include "libats/ngc/CATS/deque_arr.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_filp) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_getc) (ats_ref_type, ats_clo_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_string) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_uninitize) (ats_ref_type) ; 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_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, 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_getinc_token) (ats_ref_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_untrans_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__sasp__tokbuf_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_ptr_type (ats_size_type arg0) ; static ats_void_type deque_initialize_02066_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_void_type deque_clear_beg_02081_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_ptr_type deque_get_elt_at_02071_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1) ; static ats_ptr_type DEQUEptrnxt_02093_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type deque_insert_end_02074_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type deque_update_capacity_02086_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ; static ats_ptr_type DEQUEptrprv_02091_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type deque_insert_beg_02073_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/array.dats: 23852(line=868, offs=17) -- 23896(line=868, offs=61) */ ATSstaticdec() ats_ptr_type array_ptr_alloc_01563_ats_ptr_type (ats_size_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_array_ptr_alloc_01563_ats_ptr_type: tmp2 = atspre_array_ptr_alloc_tsz (arg0, sizeof(ats_ptr_type)) ; return (tmp2) ; } /* end of [array_ptr_alloc_01563_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 5421(line=211, offs=22) -- 5522(line=214, offs=69) */ ATSstaticdec() ats_void_type deque_initialize_02066_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab_deque_initialize_02066_ats_ptr_type: /* tmp5 = */ atslib_ngc_deque_arr_deque_initialize_tsz (arg0, arg1, arg2, sizeof(ats_ptr_type)) ; return /* (tmp5) */ ; } /* end of [deque_initialize_02066_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 2454(line=103, offs=3) -- 2806(line=125, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_filp (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_filp: tmp1 = array_ptr_alloc_01563_ats_ptr_type (1024) ; tmp3 = ats_selsin_mac(tmp1, atslab_2) ; /* tmp4 = */ deque_initialize_02066_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), 1024, tmp3) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = 0u ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_filp (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf), arg1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_filp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 2893(line=131, offs=3) -- 3233(line=153, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_getc (ats_ref_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_getc: tmp7 = array_ptr_alloc_01563_ats_ptr_type (1024) ; tmp8 = ats_selsin_mac(tmp7, atslab_2) ; /* tmp9 = */ deque_initialize_02066_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), 1024, tmp8) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = 0u ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_getc (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf), arg1) ; return /* (tmp6) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_getc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 3322(line=159, offs=3) -- 3662(line=181, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string: tmp11 = array_ptr_alloc_01563_ats_ptr_type (1024) ; tmp12 = ats_selsin_mac(tmp11, atslab_2) ; /* tmp13 = */ deque_initialize_02066_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), 1024, tmp12) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = 0u ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_initize_string (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf), arg1) ; return /* (tmp10) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 3753(line=187, offs=3) -- 4063(line=208, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_lexbuf (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_lexbuf: tmp15 = array_ptr_alloc_01563_ats_ptr_type (1024) ; tmp16 = ats_selsin_mac(tmp15, atslab_2) ; /* tmp17 = */ deque_initialize_02066_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), 1024, tmp16) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = 0u ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf) = ats_ptrget_mac(pats_lexbuf_struct, arg1) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initize_lexbuf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4149(line=214, offs=3) -- 4424(line=227, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize: tmp19 = atslib_ngc_deque_arr_deque_uninitialize (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp20 = ats_selsin_mac(tmp19, atslab_2) ; /* tmp21 = */ atspre_array_ptr_free (tmp20) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__lexbuf_uninitize (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf)) ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4502(line=232, offs=17) -- 4518(line=232, offs=33) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok: tmp23 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4545(line=234, offs=17) -- 4569(line=234, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok: ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = arg1 ; return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4616(line=239, offs=15) -- 4649(line=239, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_uint_type, tmp26) ; ATSlocal (ats_uint_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1: tmp27 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; tmp26 = atspre_add_uint_uint (tmp27, 1u) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = tmp26 ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4679(line=241, offs=20) -- 4714(line=241, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby_count (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_uint_type, tmp29) ; ATSlocal (ats_uint_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby_count: tmp30 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; tmp29 = atspre_add_uint_uint (tmp30, arg1) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = tmp29 ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby_count] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 10929(line=427, offs=15) -- 11658(line=451, offs=2) */ ATSstaticdec() ats_void_type deque_clear_beg_02081_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_size_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_size_type, tmp40) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptrdiff_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_size_type, tmp47) ; __ats_lab_deque_clear_beg_02081_ats_ptr_type: tmp36 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp37 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ; tmp38 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) ; /* ats_ptr_type tmp39 ; */ tmp40 = atspre_mul_size1_size1 (arg1, sizeof(ats_ptr_type)) ; tmp39 = atspre_padd_size (tmp38, tmp40) ; tmp42 = atspre_pgte (tmp39, tmp37) ; if (tmp42) { tmp44 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; tmp45 = atspre_pdiff (tmp39, tmp37) ; tmp43 = atspre_padd_size (tmp44, ats_castfn_mac(ats_size_type, tmp45)) ; tmp39 = tmp43 ; } else { /* empty */ } /* end of [if] */ tmp46 = ats_castfn_mac(ats_ptr_type, tmp39) ; tmp47 = atspre_sub_size1_size1 (tmp36, arg1) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp47 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) = tmp46 ; return /* (tmp35) */ ; } /* end of [deque_clear_beg_02081_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 4760(line=246, offs=14) -- 5176(line=266, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_uint_type, tmp32) ; ATSlocal (ats_size_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset: tmp32 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = 0u ; tmp33 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp34 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, tmp32), tmp33) ; if (tmp34) { /* tmp31 = */ deque_clear_beg_02081_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), ats_castfn_mac(ats_size_type, tmp32)) ; } else { /* tmp31 = */ ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; } /* end of [if] */ return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_reset] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 7245(line=285, offs=3) -- 7378(line=291, offs=2) */ ATSstaticdec() ats_ptr_type deque_get_elt_at_02071_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_deque_get_elt_at_02071_ats_ptr_type: tmp53 = atslib_ngc_deque_arr_deque_takeout_tsz (arg0, arg1, sizeof(ats_ptr_type)) ; tmp54 = ats_selsin_mac(tmp53, atslab_2) ; tmp52 = ats_ptrget_mac(ats_ptr_type, tmp54) ; return (tmp52) ; } /* end of [deque_get_elt_at_02071_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 4302(line=161, offs=29) -- 4599(line=171, offs=4) */ ATSstaticdec() ats_ptr_type DEQUEptrnxt_02093_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_DEQUEptrnxt_02093_ats_ptr_type: /* ats_ptr_type tmp63 ; */ tmp63 = atspre_padd_size (arg1, sizeof(ats_ptr_type)) ; tmp66 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ; tmp65 = atspre_pgte (tmp63, tmp66) ; if (tmp65) { tmp67 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; tmp63 = tmp67 ; } else { /* empty */ } /* end of [if] */ tmp62 = tmp63 ; return (tmp62) ; } /* end of [DEQUEptrnxt_02093_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 8755(line=344, offs=18) -- 9091(line=357, offs=4) */ ATSstaticdec() ats_void_type deque_insert_end_02074_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_size_type, tmp69) ; ATSlocal (ats_size_type, tmp70) ; __ats_lab_deque_insert_end_02074_ats_ptr_type: tmp60 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) ; tmp61 = DEQUEptrnxt_02093_ats_ptr_type (arg0, tmp60) ; tmp68 = ats_selsin_mac(tmp61, atslab_1) ; ats_ptrget_mac(ats_ptr_type, tmp60) = arg1 ; tmp70 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp69 = atspre_add_size1_int1 (tmp70, 1) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp69 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) = tmp68 ; return /* (tmp59) */ ; } /* end of [deque_insert_end_02074_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 13207(line=513, offs=23) -- 13311(line=516, offs=71) */ ATSstaticdec() ats_ptr_type deque_update_capacity_02086_ats_ptr_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; __ats_lab_deque_update_capacity_02086_ats_ptr_type: tmp75 = atslib_ngc_deque_arr_deque_update_capacity_tsz (arg0, arg1, arg2, sizeof(ats_ptr_type)) ; return (tmp75) ; } /* end of [deque_update_capacity_02086_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 5253(line=272, offs=3) -- 6077(line=310, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_uint_type, tmp49) ; ATSlocal (ats_size_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_size_type, tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_size_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token: tmp49 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; tmp50 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp51 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, tmp49), tmp50) ; if (tmp51) { tmp48 = deque_get_elt_at_02071_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), ats_castfn_mac(ats_size_type, tmp49)) ; } else { tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexing_next_token_ncmnt (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), lexbuf)) ; tmp56 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp58 = atspre_gt_size1_size1 (tmp56, tmp50) ; if (tmp58) { /* tmp57 = */ deque_insert_end_02074_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), tmp55) ; } else { tmp71 = atspre_add_size1_size1 (tmp56, tmp56) ; tmp72 = array_ptr_alloc_01563_ats_ptr_type (tmp71) ; tmp73 = ats_selsin_mac(tmp72, atslab_2) ; tmp74 = deque_update_capacity_02086_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), tmp71, tmp73) ; tmp76 = ats_selsin_mac(tmp74, atslab_2) ; /* tmp77 = */ atspre_array_ptr_free (tmp76) ; /* tmp57 = */ deque_insert_end_02074_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), tmp55) ; } /* end of [if] */ tmp48 = tmp55 ; } /* end of [if] */ return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 6161(line=316, offs=3) -- 6262(line=320, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_getinc_token (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_uint_type, tmp80) ; ATSlocal (ats_uint_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_getinc_token: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp81 = ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) ; tmp80 = atspre_add_uint_uint (tmp81, 1u) ; ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), ntok) = tmp80 ; tmp78 = tmp79 ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_getinc_token] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 6351(line=326, offs=3) -- 6542(line=333, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_discard_all (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_discard_all: /* loop initialization */ /* empty */ ats_loop_beg_mac(__ats_lab_0) /* empty */ if (!ats_true_bool) break ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_getinc_token (arg0) ; tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp83), atslab_token_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp85)->tag != 174) { goto __ats_lab_3_0 ; } __ats_lab_2_1: goto __ats_lab_1 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: goto __ats_lab_0 ; break ; } while (0) ; ats_loop_end_mac(__ats_lab_0, __ats_lab_1) return /* (tmp82) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_discard_all] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 3559(line=132, offs=29) -- 3846(line=142, offs=4) */ ATSstaticdec() ats_ptr_type DEQUEptrprv_02091_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_bool_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_DEQUEptrprv_02091_ats_ptr_type: /* ats_ptr_type tmp94 ; */ tmp94 = arg1 ; tmp97 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ; tmp96 = atspre_plte (tmp94, tmp97) ; if (tmp96) { tmp98 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ; tmp94 = tmp98 ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp99 ; */ tmp99 = atspre_psub_size (tmp94, sizeof(ats_ptr_type)) ; tmp93 = tmp99 ; return (tmp93) ; } /* end of [DEQUEptrprv_02091_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 8011(line=317, offs=18) -- 8338(line=328, offs=2) */ ATSstaticdec() ats_void_type deque_insert_beg_02073_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_size_type, tmp101) ; ATSlocal (ats_size_type, tmp102) ; __ats_lab_deque_insert_beg_02073_ats_ptr_type: tmp91 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) ; tmp92 = DEQUEptrprv_02091_ats_ptr_type (arg0, tmp91) ; tmp100 = ats_selsin_mac(tmp92, atslab_1) ; ats_ptrget_mac(ats_ptr_type, tmp100) = arg1 ; tmp102 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ; tmp101 = atspre_add_size1_int1 (tmp102, 1) ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp101 ; ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) = tmp100 ; return /* (tmp90) */ ; } /* end of [deque_insert_beg_02073_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_tokbuf.dats: 6627(line=339, offs=3) -- 7213(line=366, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_unget_token (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp86) ; ATSlocal (ats_size_type, tmp87) ; ATSlocal (ats_size_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_size_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_unget_token: tmp87 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp88 = ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf)) ; tmp89 = atspre_gt_size1_size1 (tmp88, tmp87) ; if (tmp89) { /* tmp86 = */ deque_insert_beg_02073_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), arg1) ; } else { tmp103 = atspre_add_size1_size1 (tmp88, tmp88) ; tmp104 = array_ptr_alloc_01563_ats_ptr_type (tmp103) ; tmp105 = ats_selsin_mac(tmp104, atslab_2) ; tmp106 = deque_update_capacity_02086_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), tmp103, tmp105) ; tmp107 = ats_selsin_mac(tmp106, atslab_2) ; /* tmp108 = */ atspre_array_ptr_free (tmp107) ; /* tmp86 = */ deque_insert_beg_02073_ats_ptr_type (&ats_select_mac(ats_ptrget_mac(pats_tokbuf_struct, arg0), tbuf), arg1) ; } /* end of [if] */ return /* (tmp86) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_unget_token] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_trans_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__tokbuf0_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_tokbuf_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_dmac_dats.c0000664000175000017500000013230112655455557021156 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2mac_loc ; ats_ptr_type atslab_d2mac_sym ; ats_int_type atslab_d2mac_kind ; ats_ptr_type atslab_d2mac_arglst ; ats_ptr_type atslab_d2mac_def ; ats_int_type atslab_d2mac_stamp ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGdyn_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2mac_stamp_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sasp__d2mac_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_void_type aux_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp3 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp3) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 2222(line=82, offs=12) -- 2640(line=101, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_make: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2mac_stamp_make () ; tmp2 = ptr_alloc_01070_anairiats_rec_1 () ; tmp4 = ats_selsin_mac(tmp2, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_loc) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_sym) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_kind) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_arglst) = arg3 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_def) = arg4 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp4), atslab_d2mac_stamp) = tmp1 ; tmp0 = atspre_ref_make_view_ptr (tmp4) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 2689(line=104, offs=15) -- 2765(line=106, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_loc: tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp5 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_d2mac_loc) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 2817(line=109, offs=15) -- 2893(line=111, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym: tmp8 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp7 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp8), atslab_d2mac_sym) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 2946(line=114, offs=16) -- 3023(line=116, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind: tmp10 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp9 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp10), atslab_d2mac_kind) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 3079(line=119, offs=18) -- 3158(line=121, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst: tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp11 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_d2mac_arglst) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 3213(line=124, offs=15) -- 3289(line=126, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp13 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_d2mac_def) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 3340(line=128, offs=15) -- 3428(line=130, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_set_def (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_set_def: tmp16 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp16), atslab_d2mac_def) = arg1 ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_set_def] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 3482(line=133, offs=17) -- 3560(line=135, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_stamp: tmp18 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_d2mac_stamp) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 3660(line=143, offs=3) -- 3977(line=155, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarg: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("M2ACARGsta(")) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp20) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst("M2ACARGdyn(")) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp23) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_bool_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_int_type, tmp34) ; __ats_lab_aux_12: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp32 = atspre_gt_int_int (arg1, 0) ; if (tmp32) { /* tmp31 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp33 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp29) ; tmp34 = atspre_add_int_int (arg1, 1) ; arg0 = tmp30 ; arg1 = tmp34 ; goto __ats_lab_aux_12 ; // tail call break ; } while (0) ; return /* (tmp28) */ ; } /* end of [aux_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_12_closure_type ; ats_void_type aux_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_12 (((aux_12_closure_type*)cloptr)->closure_env_0, ((aux_12_closure_type*)cloptr)->closure_env_1, ((aux_12_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_12_closure_init (aux_12_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_12_closure_type *p_clo = ATS_MALLOC(sizeof(aux_12_closure_type)) ; aux_12_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp27 = */ aux_12 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp27) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 4036(line=159, offs=3) -- 4093(line=159, offs=60) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarglst: /* tmp26 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarg) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_m2acarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 4169(line=165, offs=14) -- 4225(line=166, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_sym (arg1) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp36) ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 4274(line=169, offs=23) -- 4308(line=169, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2mac (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2mac: /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac (stdout, arg0) ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_dmac.dats: 4331(line=170, offs=23) -- 4365(line=170, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac: /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac (stderr, arg0) ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_dynexp2_dmac_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_basics_sats.c0000664000175000017500000001376712655455557020102 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infix_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixl_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_prefix_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_postfix_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infix_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixl_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixr_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_prefix_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_postfix_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_basics_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_sats.c0000664000175000017500000003224212655455557020034 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_1 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rt_tr_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s2var_check_tmplev_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_effvar_tr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_app_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_impred_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s2exp_trdn_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_S1Ed2ctype_tr_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1arg_trdn_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1marg_trdn_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sp1at_trdn_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_sort_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_sort_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_repeat_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_missing_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_q1marg_tr_dec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rtext_tr_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1expdef_tr_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_arg_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_res_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atcon_tr_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atdec_tr_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macdef_check_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macvar_check_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_p1at_tr_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_ann_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_i1nvarg_tr_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_c1lau_tr_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_f1undec_tr_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1cstdec_tr_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_prv1ardec_tr_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_nontop_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_tmparg_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_def_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_staloadnm_39) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rt_tr_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s2var_check_tmplev_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_effvar_tr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trup_app_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1exp_trdn_impred_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s2exp_trdn_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_S1Ed2ctype_tr_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1arg_trdn_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1marg_trdn_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sp1at_trdn_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_sort_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_sort_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_repeat_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_missing_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_q1marg_tr_dec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1rtext_tr_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1expdef_tr_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_arg_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_s1aspdec_tr_res_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atcon_tr_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1atdec_tr_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macdef_check_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macvar_check_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_p1at_tr_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_ann_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_i1nvarg_tr_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_c1lau_tr_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_f1undec_tr_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1cstdec_tr_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_prv1ardec_tr_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_nontop_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_impdec_tmparg_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_overload_def_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1ecl_tr_staloadnm_39.tag = 39 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_dats.c0000664000175000017500000045017612655455557021065 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_h3ypo_loc ; ats_ptr_type atslab_h3ypo_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Evar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ecst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebadd_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebmul_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebeq_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebneq_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebineq_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Ebdom_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eiatm_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eicff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eisum_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eimul_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Esizeof_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eapp_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eerr_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsbexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTcons_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnonlin_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTmark_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnil_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_eq_bool_bool) (ats_bool_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_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_bool_type, atspre_ieq) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_addr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_is_equal) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_null_addr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_badd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bmul) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlte) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_null) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_nonlin) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_s2cst_s2explst) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize_map) (ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__sasp__s2cfunmap = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__sasp__s2vbcfenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__sasp__s2vbcfenv_viewtype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsvar_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsbexp_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTcons_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnonlin_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTmark_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnil_5) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_null) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_unit) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_0) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_1) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_2) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_neg_1) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type traux_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type synlt_s2hnf_s2hnf_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type synlte_s2hnf_s2hnf_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type synlte_s2hnf_s2explst_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2exp_synlt_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2exp_synlte_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlt_21 (ats_bool_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_ptr_type auxlte_22 (ats_bool_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_ptr_type auxlst_23 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s2exp_metdec_reduce_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxeq_25 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxbind_26 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_34 (ats_ptr_type arg0) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1, ats_ref_type arg2) ; static ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2vbcfenv_add2_cstapp_40 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp9) ; ATSstatic (ats_ptr_type, statmp10) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp12) ; ATSstatic (ats_ptr_type, statmp13) ; ATSstatic (ats_ptr_type, statmp14) ; ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp16) ; ATSstatic (ats_ptr_type, statmp17) ; ATSstatic (ats_ptr_type, statmp18) ; ATSstatic (ats_ptr_type, statmp336) ; // ATSstatic_void (statmp337) ; // ATSstatic_void (statmp338) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 1671(line=52, offs=28) -- 1700(line=52, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_constraint3")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 2072(line=79, offs=11) -- 2091(line=79, offs=30) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp1)->tag = 19 ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, arg0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 2135(line=84, offs=11) -- 2231(line=88, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool (arg0) ; if (tmp3) { tmp2 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp2)->tag = 5 ; ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_0, arg0) ; } else { tmp2 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp2)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_0, arg0) ; } /* end of [if] */ return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 2297(line=92, offs=22) -- 2317(line=92, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bvar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bvar: tmp4 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp4)->tag = 5 ; ats_selptrset_mac(anairiats_sum_1, tmp4, atslab_0, arg0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 2361(line=97, offs=11) -- 2380(line=97, offs=30) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst: tmp5 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp5)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp5, atslab_0, arg0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 2424(line=102, offs=11) -- 2458(line=102, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_app: tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp6)->tag = 18 ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_1, arg1) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 3010(line=125, offs=12) -- 3055(line=126, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool: if (arg0) { tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true ; } else { tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; } /* end of [if] */ return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 3125(line=132, offs=15) -- 3796(line=167, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp21) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp22) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg0)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt (tmp23) ; if (((ats_sum_ptr_type)tmp24)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 3699(line=162, offs=9) -- 3741(line=162, offs=51)") ; } tmp25 = ats_caselptrlab_mac(anairiats_sum_2, tmp24, atslab_1) ; tmp20 = tmp25 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)arg0)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp20 = tmp26 ; break ; } while (0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 4734(line=205, offs=9) -- 4990(line=212, offs=31) */ ATSstaticdec() ats_ptr_type traux_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_traux_10: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (arg0, tmp48) ; arg0 = tmp50 ; arg1 = tmp49 ; goto __ats_lab_traux_10 ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp47 = arg0 ; break ; } while (0) ; return (tmp47) ; } /* end of [traux_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20) */ ATSstaticdec() ats_ptr_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_loop_13: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp59 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg0) (arg1, tmp57, arg3) ; arg0 = arg0 ; arg1 = tmp59 ; arg2 = tmp58 ; arg3 = arg3 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp56 = arg1 ; break ; } while (0) ; return (tmp56) ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; __ats_lab_list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type: tmp55 = loop_13 (arg0, arg1, arg2, arg3) ; return (tmp55) ; } /* end of [list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type: tmp54 = list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ; return (tmp54) ; } /* end of [list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 3919(line=175, offs=5) -- 5529(line=235, offs=4) */ ATSstaticdec() ats_ptr_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_loop_9: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (arg0, tmp29) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp28 = arg0 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp28 = arg0 ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp28 = arg0 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp28 = arg0 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (arg0, tmp30) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; arg0 = arg0 ; arg1 = tmp31 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp34 = loop_9 (arg0, tmp32) ; arg0 = tmp34 ; arg1 = tmp33 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp37 = loop_9 (arg0, tmp35) ; arg0 = tmp37 ; arg1 = tmp36 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp40 = loop_9 (arg0, tmp38) ; arg0 = tmp40 ; arg1 = tmp39 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp42 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp43 = loop_9 (arg0, tmp41) ; arg0 = tmp43 ; arg1 = tmp42 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg1)->tag != 11) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; arg0 = arg0 ; arg1 = tmp44 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg1)->tag != 12) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (arg0, tmp45) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_36_0 ; } __ats_lab_33_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_listize (tmp46) ; tmp28 = traux_10 (arg0, tmp51) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; arg0 = arg0 ; arg1 = tmp52 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp28 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&loop_9, arg0, tmp53) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg1)->tag != 16) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp62 = loop_9 (arg0, tmp60) ; arg0 = tmp62 ; arg1 = tmp61 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg1)->tag != 17) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp28 = arg0 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg1)->tag != 18) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp65 = loop_9 (arg0, tmp63) ; tmp28 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&loop_9, tmp65, tmp64) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (((ats_sum_ptr_type)arg1)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp28 = arg0 ; break ; } while (0) ; return (tmp28) ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 3869(line=172, offs=15) -- 5607(line=241, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_fvs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_fvs: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; tmp27 = loop_9 (tmp66, arg0) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_fvs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 5680(line=247, offs=3) -- 8425(line=348, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_44_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp68, tmp69) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_50_0 ; } __ats_lab_47_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp70, tmp71) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_53_0 ; } __ats_lab_50_1: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp67 = ats_true_bool ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_56_0 ; } __ats_lab_53_1: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp67 = ats_true_bool ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_59_0 ; } __ats_lab_56_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp67 = atspre_eq_bool_bool (tmp72, tmp73) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_62_0 ; } __ats_lab_59_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp74, tmp75) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_65_0 ; } __ats_lab_62_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; arg0 = tmp76 ; arg1 = tmp77 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp78, tmp80) ; if (tmp82) { arg0 = tmp79 ; arg1 = tmp81 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_71_0 ; } __ats_lab_68_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp83, tmp85) ; if (tmp87) { arg0 = tmp84 ; arg1 = tmp86 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_74_0 ; } __ats_lab_71_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp88, tmp90) ; if (tmp92) { arg0 = tmp89 ; arg1 = tmp91 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_77_0 ; } __ats_lab_74_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp94 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp93, tmp95) ; if (tmp97) { arg0 = tmp94 ; arg1 = tmp96 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_80_0 ; } __ats_lab_77_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)arg1)->tag != 11) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp102 = atspre_ieq (tmp98, tmp100) ; if (tmp102) { arg0 = tmp99 ; arg1 = tmp101 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)arg0)->tag != 12) { goto __ats_lab_83_0 ; } __ats_lab_80_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)arg1)->tag != 12) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp103, tmp104) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_86_0 ; } __ats_lab_83_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)arg1)->tag != 13) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varmset_is_equal (tmp105, tmp106) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_89_0 ; } __ats_lab_86_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)arg1)->tag != 14) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (tmp107, tmp109) ; if (tmp111) { arg0 = tmp108 ; arg1 = tmp110 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg0)->tag != 15) { goto __ats_lab_92_0 ; } __ats_lab_89_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg1)->tag != 15) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq (tmp112, tmp113) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)arg0)->tag != 16) { goto __ats_lab_95_0 ; } __ats_lab_92_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)arg1)->tag != 16) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp114, tmp116) ; if (tmp118) { arg0 = tmp115 ; arg1 = tmp117 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq ; // tail call } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)arg0)->tag != 17) { goto __ats_lab_98_0 ; } __ats_lab_95_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg1)->tag != 17) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq (tmp119, tmp120) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)arg0)->tag != 18) { goto __ats_lab_101_0 ; } __ats_lab_98_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)arg1)->tag != 18) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp121, tmp123) ; if (tmp125) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq (tmp122, tmp124) ; } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: tmp67 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (((ats_sum_ptr_type)arg0)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp67 = ats_false_bool ; break ; } while (0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 8499(line=354, offs=3) -- 8823(line=365, offs=6) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_102_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (tmp127, tmp129) ; if (tmp131) { arg0 = tmp128 ; arg1 = tmp130 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq ; // tail call } else { tmp126 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp126 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp126 = ats_false_bool ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp126 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 8913(line=373, offs=1) -- 9251(line=390, offs=4) */ ATSstaticdec() ats_bool_type synlt_s2hnf_s2hnf_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_synlt_s2hnf_s2hnf_16: tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp134 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp133), atslab_s2exp_node) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp134)->tag != 17) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_2, tmp134, atslab_1) ; tmp132 = synlte_s2hnf_s2explst_18 (arg0, tmp135) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: tmp132 = ats_false_bool ; break ; } while (0) ; return (tmp132) ; } /* end of [synlt_s2hnf_s2hnf_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 9281(line=393, offs=1) -- 9404(line=397, offs=65) */ ATSstaticdec() ats_bool_type synlte_s2hnf_s2hnf_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; __ats_lab_synlte_s2hnf_s2hnf_17: tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq (arg0, arg1) ; if (tmp137) { tmp136 = ats_true_bool ; } else { tmp136 = synlt_s2hnf_s2hnf_16 (arg0, arg1) ; } /* end of [if] */ return (tmp136) ; } /* end of [synlte_s2hnf_s2hnf_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 9502(line=405, offs=1) -- 9841(line=418, offs=25) */ ATSstaticdec() ats_bool_type synlte_s2hnf_s2explst_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_bool_type, tmp142) ; __ats_lab_synlte_s2hnf_s2explst_18: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp139) ; tmp142 = synlte_s2hnf_s2hnf_17 (arg0, tmp141) ; if (tmp142) { tmp138 = ats_true_bool ; } else { arg0 = arg0 ; arg1 = tmp140 ; goto __ats_lab_synlte_s2hnf_s2explst_18 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp138 = ats_false_bool ; break ; } while (0) ; return (tmp138) ; } /* end of [synlte_s2hnf_s2explst_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 9905(line=424, offs=1) -- 10058(line=431, offs=4) */ ATSstaticdec() ats_bool_type s2exp_synlt_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_s2exp_synlt_19: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp143 = synlt_s2hnf_s2hnf_16 (tmp144, tmp145) ; return (tmp143) ; } /* end of [s2exp_synlt_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 10088(line=434, offs=1) -- 10243(line=441, offs=4) */ ATSstaticdec() ats_bool_type s2exp_synlte_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_s2exp_synlte_20: tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp146 = synlte_s2hnf_s2hnf_17 (tmp147, tmp148) ; return (tmp146) ; } /* end of [s2exp_synlte_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 10324(line=449, offs=5) -- 10590(line=462, offs=6) */ ATSstaticdec() ats_ptr_type auxlt_21 (ats_bool_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; __ats_lab_auxlt_21: if (arg0) { tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt (arg1, arg2) ; } else { tmp150 = s2exp_synlt_19 (arg1, arg2) ; if (tmp150) { ats_ptrget_mac(ats_int_type, arg3) = 1 ; } else { ats_ptrget_mac(ats_int_type, arg3) = -1 ; } /* end of [if] */ tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (tmp150) ; } /* end of [if] */ return (tmp149) ; } /* end of [auxlt_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 10631(line=465, offs=5) -- 10906(line=478, offs=6) */ ATSstaticdec() ats_ptr_type auxlte_22 (ats_bool_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_bool_type, tmp153) ; __ats_lab_auxlte_22: if (arg0) { tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlte (arg1, arg2) ; } else { tmp153 = s2exp_synlte_20 (arg1, arg2) ; if (tmp153) { ats_ptrget_mac(ats_int_type, arg3) = 1 ; } else { ats_ptrget_mac(ats_int_type, arg3) = -1 ; } /* end of [if] */ tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (tmp153) ; } /* end of [if] */ return (tmp152) ; } /* end of [auxlte_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 10929(line=480, offs=5) -- 12215(line=528, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_23 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_bool_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_bool_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; __ats_lab_auxlst_23: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_112_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* ats_int_type tmp158 ; */ tmp158 = 0 ; /* ats_int_type tmp159 ; */ tmp159 = 0 ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_113_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp156), atslab_s2exp_srt) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int (tmp163) ; tmp164 = auxlt_21 (tmp162, tmp156, tmp160, (&tmp158)) ; do { /* branch: __ats_lab_114 */ __ats_lab_114_0: __ats_lab_114_1: tmp165 = atspre_gt_int_int (tmp158, 0) ; if (!tmp165) { goto __ats_lab_115_1 ; } tmp155 = tmp164 ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: __ats_lab_115_1: tmp166 = atspre_eq_int_int (tmp158, 0) ; if (!tmp166) { goto __ats_lab_116_1 ; } tmp167 = auxlte_22 (tmp162, tmp156, tmp160, (&tmp159)) ; tmp168 = auxlst_23 (tmp157, tmp161) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bmul (tmp167, tmp168) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_badd (tmp164, tmp169) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp170 = auxlte_22 (tmp162, tmp156, tmp160, (&tmp159)) ; tmp171 = atspre_gte_int_int (tmp159, 0) ; if (tmp171) { arg0 = tmp157 ; arg1 = tmp161 ; goto __ats_lab_auxlst_23 ; // tail call } else { tmp155 = tmp170 ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_true_bool) ; break ; } while (0) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; break ; } while (0) ; return (tmp155) ; } /* end of [auxlst_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 12264(line=532, offs=5) -- 12355(line=533, offs=72) */ ATSstaticdec() ats_ptr_type s2exp_metdec_reduce_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_s2exp_metdec_reduce_24: tmp172 = auxlst_23 (arg0, arg1) ; return (tmp172) ; } /* end of [s2exp_metdec_reduce_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 12444(line=543, offs=1) -- 13057(line=570, offs=4) */ ATSstaticdec() ats_ptr_type auxeq_25 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_bool_type, tmp177) ; ATSlocal (ats_bool_type, tmp178) ; ATSlocal (ats_bool_type, tmp179) ; ATSlocal (ats_bool_type, tmp180) ; __ats_lab_auxeq_25: tmp174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, arg1) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, arg2) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: __ats_lab_119_1: tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int (tmp174) ; if (!tmp177) { goto __ats_lab_120_1 ; } tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq (tmp175, tmp176) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_addr (tmp174) ; if (!tmp178) { goto __ats_lab_121_1 ; } tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_ieq (tmp175, tmp176) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: __ats_lab_121_1: tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool (tmp174) ; if (!tmp179) { goto __ats_lab_122_1 ; } tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_beq (tmp175, tmp176) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: __ats_lab_122_1: tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (arg1, arg2) ; if (tmp180) { tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true ; } else { tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; } /* end of [if] */ break ; } while (0) ; return (tmp173) ; } /* end of [auxeq_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 13081(line=573, offs=1) -- 13445(line=592, offs=4) */ ATSstaticdec() ats_ptr_type auxbind_26 (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; __ats_lab_auxbind_26: tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (arg2) ; tmp183 = auxeq_25 (arg1, tmp182, arg3) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg3) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (arg0, arg2, tmp184) ; tmp181 = tmp183 ; return (tmp181) ; } /* end of [auxbind_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 13515(line=598, offs=3) -- 15188(line=663, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_bool_type, tmp195) ; ATSlocal (ats_bool_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make: tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp187) ; tmp189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp188), atslab_s2exp_node) ; do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp189)->tag != 7) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_1, tmp189, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_var (tmp190) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp189)->tag != 0) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_7, tmp189, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_int (tmp191) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp189)->tag != 1) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_1, tmp189, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf (tmp192) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp189)->tag != 4) { goto __ats_lab_131_0 ; } __ats_lab_126_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_1, tmp189, atslab_0) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_null_addr, tmp193) ; if (!tmp194) { goto __ats_lab_128_1 ; } tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_null ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: __ats_lab_128_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_true_bool, tmp193) ; if (!tmp195) { goto __ats_lab_129_1 ; } tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_false_bool, tmp193) ; if (!tmp196) { goto __ats_lab_130_1 ; } tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst (tmp193) ; break ; } while (0) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp189)->tag != 17) { goto __ats_lab_134_0 ; } __ats_lab_131_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_1) ; tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp197), atslab_s2exp_node) ; do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp199)->tag != 4) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_1, tmp199, atslab_0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_s2cst_s2explst (arg0, tmp200, tmp198) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: __ats_lab_133_1: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp197) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (arg0, tmp198) ; tmp186 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp186)->tag = 18 ; ats_selptrset_mac(anairiats_sum_2, tmp186, atslab_0, tmp201) ; ats_selptrset_mac(anairiats_sum_2, tmp186, atslab_1, tmp202) ; break ; } while (0) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp189)->tag != 15) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_1) ; tmp186 = auxeq_25 (arg0, tmp203, tmp204) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp189)->tag != 21) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_2, tmp189, atslab_1) ; tmp207 = s2exp_metdec_reduce_24 (tmp205, tmp206) ; arg0 = arg0 ; arg1 = tmp207 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make ; // tail call break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp189)->tag != 13) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_1, tmp189, atslab_0) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp208) ; tmp186 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp186)->tag = 17 ; ats_selptrset_mac(anairiats_sum_1, tmp186, atslab_0, tmp209) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp188), atslab_s2exp_srt) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_err (tmp210) ; break ; } while (0) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 15242(line=667, offs=3) -- 15450(line=671, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_h3ypo (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_h3ypo: tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_h3ypo_node) ; do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp212)->tag != 0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_1, tmp212, atslab_0) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp213) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp212)->tag != 1) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp214 = ats_caselptrlab_mac(anairiats_sum_2, tmp212, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_2, tmp212, atslab_1) ; tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_h3ypo_loc) ; tmp211 = auxbind_26 (tmp216, arg0, tmp214, tmp215) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (((ats_sum_ptr_type)tmp212)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_2, tmp212, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_2, tmp212, atslab_1) ; tmp211 = auxeq_25 (arg0, tmp217, tmp218) ; break ; } while (0) ; return (tmp211) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_h3ypo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 15553(line=680, offs=3) -- 15744(line=689, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make: do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp220 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp221 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp220) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (arg0, tmp221) ; tmp219 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp219, atslab_0, tmp222) ; ats_selptrset_mac(anairiats_sum_5, tmp219, atslab_1, tmp223) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp219 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp219) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 16329(line=716, offs=15) -- 16349(line=716, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_nil: tmp224 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnil_5) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp231) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_147_1: break ; } while (0) ; return /* (tmp231) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 16376(line=719, offs=16) -- 16778(line=728, offs=27) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; // ATSlocal_void (tmp230) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free: do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp226 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free ; // tail call break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp227 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free ; // tail call break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_148_0 ; } __ats_lab_145_1: tmp228 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp229 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp230 = */ option_vt_free_01544_ats_ptr_type (tmp228) ; arg0 = tmp229 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free ; // tail call break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp232 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free ; // tail call break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; ATS_FREE(arg0) ; arg0 = tmp233 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free ; // tail call break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: // if (((ats_sum_ptr_type)arg0)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_150_1: break ; } while (0) ; return /* (tmp225) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 16856(line=733, offs=7) -- 17285(line=744, offs=42) */ ATSstaticdec() ats_ptr_type aux_34 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab_aux_34: do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp236 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp236 ; goto __ats_lab_aux_34 ; // tail call break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp237 ; goto __ats_lab_aux_34 ; // tail call break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp240 = */ option_vt_free_01544_ats_ptr_type (tmp238) ; arg0 = tmp239 ; goto __ats_lab_aux_34 ; // tail call break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_2) ; ATS_FREE(arg0) ; arg0 = tmp241 ; goto __ats_lab_aux_34 ; // tail call break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; ATS_FREE(arg0) ; tmp235 = tmp242 ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: // if (((ats_sum_ptr_type)arg0)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_156_1: tmp235 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnil_5) ; break ; } while (0) ; return (tmp235) ; } /* end of [aux_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 16833(line=732, offs=15) -- 17352(line=749, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp234) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop: tmp243 = aux_34 (ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp243 ; return /* (tmp234) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 17408(line=752, offs=16) -- 17481(line=754, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push: tmp245 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp245)->tag = 4 ; ats_selptrset_mac(anairiats_sum_1, tmp245, atslab_0, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp245 ; return /* (tmp244) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 17565(line=760, offs=3) -- 18795(line=812, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_bool_type, tmp253) ; ATSlocal (ats_bool_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp: do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 0) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp247 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp247 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp ; // tail call break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 1) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp248 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp248 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp ; // tail call break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 2) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp252 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (arg1, tmp249) ; if (tmp254) { tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_syneq (arg2, tmp250) ; } else { tmp253 = ats_false_bool ; } /* end of [if] */ if (tmp253) { tmp246 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp246, atslab_0, tmp251) ; } else { arg0 = tmp252 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 3) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp255 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; arg0 = tmp255 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp ; // tail call break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 4) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp256 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; arg0 = tmp256 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp ; // tail call break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: // if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_162_1: tmp246 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 18886(line=818, offs=3) -- 19928(line=865, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_bool_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin: do { /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 0) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp258 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp258 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin ; // tail call break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 1) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp259 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp259 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin ; // tail call break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 2) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp260 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; arg0 = tmp260 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin ; // tail call break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 3) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp263 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_syneq (arg1, tmp262) ; if (tmp264) { tmp257 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp257, atslab_0, tmp261) ; } else { arg0 = tmp263 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 4) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp265 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; arg0 = tmp265 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin ; // tail call break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: // if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_168_1: tmp257 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp257) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 20032(line=872, offs=5) -- 21356(line=918, offs=4) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_bool_type, tmp271) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab_loop_39: do { /* branch: __ats_lab_169 */ __ats_lab_169_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_170_0 ; } __ats_lab_169_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp269 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp270 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp270, atslab_0, tmp268) ; ats_selptrset_mac(anairiats_sum_5, tmp270, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp270 ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_is_bool (tmp268) ; if (tmp271) { tmp274 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp274)->tag = 12 ; ats_selptrset_mac(anairiats_sum_1, tmp274, atslab_0, tmp268) ; tmp273 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp273, atslab_0, tmp274) ; ats_selptrset_mac(anairiats_sum_5, tmp273, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp273 ; } else { /* empty */ } /* end of [if] */ tmp275 = ats_ptrget_mac(ats_ptr_type, tmp269) ; arg0 = tmp275 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp277 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp278 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp278, atslab_0, tmp276) ; ats_selptrset_mac(anairiats_sum_5, tmp278, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp278 ; tmp279 = ats_ptrget_mac(ats_ptr_type, tmp277) ; arg0 = tmp279 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_174_0 ; } __ats_lab_171_1: tmp280 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp281 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_4) ; tmp283 = ats_ptrget_mac(ats_ptr_type, tmp280) ; do { /* branch: __ats_lab_172 */ __ats_lab_172_0: if (tmp283 == (ats_sum_ptr_type)0) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_11, tmp283, atslab_0) ; tmp285 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp285, atslab_0, tmp284) ; ats_selptrset_mac(anairiats_sum_5, tmp285, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp285 ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: // if (tmp283 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_173_1: break ; } while (0) ; tmp286 = ats_ptrget_mac(ats_ptr_type, tmp281) ; arg0 = tmp286 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp287 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp288 = &ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_2) ; tmp289 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp289, atslab_0, tmp287) ; ats_selptrset_mac(anairiats_sum_5, tmp289, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp289 ; tmp290 = ats_ptrget_mac(ats_ptr_type, tmp288) ; arg0 = tmp290 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp291 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp292 = ats_ptrget_mac(ats_ptr_type, tmp291) ; arg0 = tmp292 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: // if (((ats_sum_ptr_type)arg0)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_176_1: break ; } while (0) ; return /* (tmp267) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 20013(line=870, offs=19) -- 21515(line=926, offs=4) */ ATSglobaldec() anairiats_rec_12 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_extract (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_12, tmp266) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; // ATSlocal_void (tmp295) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_extract: /* ats_ptr_type tmp293 ; */ tmp293 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp294 ; */ tmp294 = (ats_sum_ptr_type)0 ; /* tmp295 = */ loop_39 (arg0, (&tmp293), (&tmp294)) ; tmp266.atslab_0 = tmp293 ; tmp266.atslab_1 = tmp294 ; return (tmp266) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_extract] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab_loop_42: do { /* branch: __ats_lab_177 */ __ats_lab_177_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp306 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp306, atslab_0, tmp304) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp306 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp307 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp305 ; arg1 = arg1 ; arg2 = tmp307 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_178_1: tmp309 = (ats_sum_ptr_type)0 ; tmp308 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp308, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp308, atslab_1, tmp309) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp308 ; break ; } while (0) ; return /* (tmp303) */ ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp310) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp302 ; */ /* tmp310 = */ loop_42 (arg0, arg1, (&tmp302)) ; tmp301 = tmp302 ; return (tmp301) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 21572(line=931, offs=1) -- 22238(line=960, offs=4) */ ATSstaticdec() ats_void_type s2vbcfenv_add2_cstapp_40 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; __ats_lab_s2vbcfenv_add2_cstapp_40: tmp297 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp297)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp297 ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg1) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (arg4) ; tmp300 = list_extend_01337_ats_ptr_type (arg2, tmp299) ; tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool, tmp298, ats_castfn_mac(ats_ptr_type, tmp300)) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make (arg0, tmp311) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_lintize (arg0, tmp312) ; tmp315 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp315, atslab_0, tmp313) ; tmp314 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp314)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp314, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp314, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp314, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_9, tmp314, atslab_3, tmp315) ; ats_selptrset_mac(anairiats_sum_9, tmp314, atslab_4, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp314 ; return /* (tmp296) */ ; } /* end of [s2vbcfenv_add2_cstapp_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 22326(line=966, offs=3) -- 22371(line=966, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar: tmp317 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp317)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp317, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp317, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp317 ; return /* (tmp316) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 22437(line=971, offs=3) -- 22485(line=971, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp: tmp319 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp319)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp319, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp319, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp319 ; return /* (tmp318) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 22553(line=976, offs=3) -- 22760(line=986, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_nonlin (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_nonlin: tmp321 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp321)->tag = 3 ; ats_selptrset_mac(anairiats_sum_10, tmp321, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp321, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp321, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp321 ; return /* (tmp320) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_nonlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 22893(line=996, offs=3) -- 23219(line=1010, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_cstapp (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_cstapp: tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (arg0, arg2) ; /* tmp322 = */ s2vbcfenv_add2_cstapp_40 (arg0, arg1, arg2, tmp323, arg3) ; return /* (tmp322) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_cstapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 23312(line=1016, offs=3) -- 23680(line=1035, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp: tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (arg0, arg3) ; tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_cstapp (arg0, arg2, tmp325) ; do { /* branch: __ats_lab_179 */ __ats_lab_179_0: if (tmp326 == (ats_sum_ptr_type)0) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp327 = ats_caselptrlab_mac(anairiats_sum_11, tmp326, atslab_0) ; ATS_FREE(tmp326) ; tmp324 = tmp327 ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: // if (tmp326 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_180_1: tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (arg1) ; /* tmp329 = */ s2vbcfenv_add2_cstapp_40 (arg0, arg2, arg3, tmp325, tmp328) ; tmp324 = tmp328 ; break ; } while (0) ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_cstapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 23777(line=1041, offs=3) -- 24081(line=1057, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; // ATSlocal_void (tmp335) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin: tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_find_nonlin (arg0, arg1) ; do { /* branch: __ats_lab_181 */ __ats_lab_181_0: if (tmp331 == (ats_sum_ptr_type)0) { goto __ats_lab_182_0 ; } __ats_lab_181_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_11, tmp331, atslab_0) ; ATS_FREE(tmp331) ; tmp330 = tmp332 ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: // if (tmp331 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_182_1: tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_get_srt (arg1) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (tmp333) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_add_nonlin (arg0, tmp334, arg1) ; tmp330 = tmp334 ; break ; } while (0) ; return (tmp330) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2vbcfenv_replace_nonlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 24475(line=1079, offs=3) -- 24945(line=1099, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_s2cst_s2explst (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_s2cst_s2explst: tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_find (statmp336, arg1) ; do { /* branch: __ats_lab_183 */ __ats_lab_183_0: if (tmp340 == (ats_sum_ptr_type)0) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp341 = ats_caselptrlab_mac(anairiats_sum_11, tmp340, atslab_0) ; ATS_FREE(tmp340) ; tmp339 = ((ats_ptr_type(*)(ats_ref_type, ats_ptr_type))tmp341) (arg0, arg2) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: // if (tmp340 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_184_1: tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_cst (arg1) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3explst_make (arg0, arg2) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_app (tmp342, tmp343) ; break ; } while (0) ; return (tmp339) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_make_s2cst_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3.dats: 25039(line=1104, offs=24) -- 25151(line=1107, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize () { /* local vardec */ // ATSlocal_void (tmp344) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize_map ((&statmp336)) ; return /* (tmp344) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsvar_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTsbexp_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTcons_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnonlin_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTmark_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__S2VBCFLSTnil_5.tag = 5 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp9, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp14, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp16, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp17, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp18, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp336, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp7 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_null, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_null = statmp7 ; statmp8 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_unit, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_unit = statmp8 ; statmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp9)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, statmp9, atslab_0, ats_true_bool) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_true = statmp9 ; statmp10 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp10)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, statmp10, atslab_0, ats_false_bool) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_false = statmp10 ; statmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_0, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_0 = statmp11 ; statmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_1, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_1 = statmp12 ; statmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2 = statmp13 ; statmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (-1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1 = statmp14 ; statmp15 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Enull_2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_0 = statmp15 ; statmp16 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__S3Eunit_3) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_1 = statmp16 ; statmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_2, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_2 = statmp17 ; statmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_intinf (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__intinf_neg_1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_neg_1, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s3exp_neg_1 = statmp18 ; /* ats_ptr_type statmp336 ; */ statmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstmap_nil () ; /* statmp337 = */ atspre_vbox_make_view_ptr ((&statmp336)) ; /* statmp338 = ats_selsin_mac(statmp337, atslab_1) */ ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_constraint3_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_syntax_print_dats.c0000664000175000017500000060216012655455557021350 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_s0rtq_loc ; ats_ptr_type atslab_s0rtq_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_s0taq_loc ; ats_ptr_type atslab_s0taq_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_sqi0de_loc ; ats_ptr_type atslab_sqi0de_qua ; ats_ptr_type atslab_sqi0de_sym ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_dqi0de_loc ; ats_ptr_type atslab_dqi0de_qua ; ats_ptr_type atslab_dqi0de_sym ; } anairiats_rec_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_e0xp_loc ; ats_ptr_type atslab_e0xp_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s0rt_loc ; ats_ptr_type atslab_s0rt_node ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_d0atsrtcon_loc ; ats_ptr_type atslab_d0atsrtcon_sym ; ats_ptr_type atslab_d0atsrtcon_arg ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_d0atsrtdec_loc ; ats_ptr_type atslab_d0atsrtdec_sym ; ats_ptr_type atslab_d0atsrtdec_con ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_a0srt_loc ; ats_ptr_type atslab_a0srt_sym ; ats_ptr_type atslab_a0srt_srt ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_a0msrt_loc ; ats_ptr_type atslab_a0msrt_arg ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_s0rtext_loc ; ats_ptr_type atslab_s0rtext_node ; } anairiats_rec_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_23 ; typedef struct { ats_ptr_type atslab_s0qua_loc ; ats_ptr_type atslab_s0qua_node ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_s0exp_loc ; ats_ptr_type atslab_s0exp_node ; } anairiats_rec_25 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_26 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_27 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_28 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_29 ; typedef struct { ats_ptr_type atslab_q0marg_loc ; ats_ptr_type atslab_q0marg_arg ; } anairiats_rec_30 ; typedef struct { ats_ptr_type atslab_p0at_loc ; ats_ptr_type atslab_p0at_node ; } anairiats_rec_31 ; typedef struct { ats_ptr_type atslab_labp0at_loc ; ats_ptr_type atslab_labp0at_node ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_d0exp_loc ; ats_ptr_type atslab_d0exp_node ; } anairiats_rec_33 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_34 ; typedef struct { ats_ptr_type atslab_s0tacon_loc ; ats_ptr_type atslab_s0tacon_sym ; ats_ptr_type atslab_s0tacon_arg ; ats_ptr_type atslab_s0tacon_def ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_s0tacst_loc ; ats_ptr_type atslab_s0tacst_sym ; ats_ptr_type atslab_s0tacst_arg ; ats_ptr_type atslab_s0tacst_res ; } anairiats_rec_36 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_37 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_38 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdotcolon_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_adj_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYinf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpos_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstringid_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPapp_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfun_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPeval_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPlist_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPif_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTlist_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTtype_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyarr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etytup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_ext_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Euni_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eexi_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eann_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Ed2ctype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tchar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlst_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Ttup_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trec_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfree_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tunfold_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Texist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tsvararg_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trefas_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eliteral_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecasehead_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Escasehead_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrsub_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrpsz_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrinit_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_lab_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_ind_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eraise_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_arg_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eshowtype_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Evcopyenv_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etempenver_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esexparg_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eann_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elam_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efix_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efor_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhile_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolassert_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolverify_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpact_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0xty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xpactkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0atsrtdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qualst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labp0at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labd0exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ecl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_29 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_29_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type fprint_d0atsrtcon_34 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_a0srt_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_a0msrt_37 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_s0tacon_54 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_s0tacst_55 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 1707(line=54, offs=3) -- 1944(line=64, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("MSKencode")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("MSKdecode")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("MSKxstage")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2003(line=67, offs=18) -- 2042(line=67, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_macsynkind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_macsynkind: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind (stdout, arg0) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_macsynkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2070(line=69, offs=18) -- 2109(line=69, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_macsynkind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_macsynkind: /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind (stderr, arg0) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_macsynkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2157(line=75, offs=3) -- 2350(line=79, offs=56) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("$myfilename")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("$mylocation")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("$myfunction")) ; break ; } while (0) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2552(line=90, offs=3) -- 2643(line=95, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp5)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2574(line=92, offs=5) -- 2608(line=93, offs=29)") ; } tmp6 = ats_caselptrlab_mac(anairiats_sum_1, tmp5, atslab_1) ; /* tmp4 = */ atspre_fprint_string (arg0, tmp6) ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2694(line=99, offs=3) -- 2772(line=101, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_char_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp8)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2715(line=100, offs=7) -- 2742(line=100, offs=34)") ; } tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp8, atslab_0) ; /* tmp7 = */ atspre_fprint_char (arg0, tmp9) ; return /* (tmp7) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2825(line=105, offs=3) -- 2923(line=110, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp11)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2847(line=107, offs=5) -- 2888(line=108, offs=34)") ; } tmp12 = ats_caselptrlab_mac(anairiats_sum_1, tmp11, atslab_1) ; /* tmp10 = */ atspre_fprint_string (arg0, tmp12) ; return /* (tmp10) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2978(line=114, offs=3) -- 3060(line=116, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring: tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp14)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 2999(line=115, offs=7) -- 3028(line=115, offs=36)") ; } tmp15 = ats_caselptrlab_mac(anairiats_sum_3, tmp14, atslab_0) ; /* tmp13 = */ atspre_fprint_string (arg0, tmp15) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3132(line=122, offs=3) -- 3174(line=122, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_i0de_sym) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp17) ; return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3221(line=125, offs=22) -- 3254(line=125, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_i0de (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_i0de: /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (stdout, arg0) ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3276(line=126, offs=22) -- 3309(line=126, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de: /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (stderr, arg0) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3355(line=131, offs=14) -- 3525(line=137, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq: tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s0rtq_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp21 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp21 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_6, tmp21, atslab_0) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp22) ; /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst(".")) ; break ; } while (0) ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3574(line=140, offs=23) -- 3608(line=140, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0rtq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0rtq: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq (stdout, arg0) ; return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0rtq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3631(line=141, offs=23) -- 3665(line=141, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0rtq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0rtq: /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq (stderr, arg0) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0rtq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 3711(line=146, offs=14) -- 3996(line=156, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_s0taq_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp27)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp27)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp27, atslab_0) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp28) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(".")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (((ats_sum_ptr_type)tmp27)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_3, tmp27, atslab_0) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp30) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(":")) ; break ; } while (0) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4045(line=159, offs=23) -- 4079(line=159, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0taq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0taq: /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (stdout, arg0) ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_s0taq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4102(line=160, offs=23) -- 4136(line=160, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (stderr, arg0) ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_s0taq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4162(line=163, offs=15) -- 4265(line=166, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_sqi0de (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_sqi0de: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_sqi0de_qua) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (arg0, tmp36) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_sqi0de_sym) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp37) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_sqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4337(line=171, offs=14) -- 4789(line=186, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_d0ynq_node) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp39)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp39)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_3, tmp39, atslab_0) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp40) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst(".")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp39)->tag != 2) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_3, tmp39, atslab_0) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp42) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst(":")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (((ats_sum_ptr_type)tmp39)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_10, tmp39, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_10, tmp39, atslab_1) ; /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp44) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp45) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst(":")) ; break ; } while (0) ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4838(line=189, offs=23) -- 4872(line=189, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_d0ynq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_d0ynq: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (stdout, arg0) ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_d0ynq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4895(line=190, offs=23) -- 4929(line=190, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (stderr, arg0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 4955(line=193, offs=15) -- 5058(line=196, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de: tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_dqi0de_qua) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp52) ; tmp53 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_dqi0de_sym) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp53) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 5109(line=198, offs=24) -- 5144(line=198, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_dqi0de (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_dqi0de: /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (stdout, arg0) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__print_dqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 5168(line=199, offs=24) -- 5203(line=199, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_dqi0de (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_dqi0de: /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (stderr, arg0) ; return /* (tmp55) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_dqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 5249(line=204, offs=14) -- 5472(line=211, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0rec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0rec: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("P0RECint(...)")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("P0RECi0de(...)")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("P0RECi0de_adj(...)")) ; break ; } while (0) ; return /* (tmp56) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 5545(line=217, offs=3) -- 5749(line=227, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0xty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0xty: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("F0XTYinf(...)")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("F0XTYpre(...)")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("F0XTYpos(...)")) ; break ; } while (0) ; return /* (tmp57) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0xty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 5828(line=233, offs=3) -- 6099(line=241, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xpactkind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xpactkind: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPACTassert")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPACTerror")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPACTprint")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPACTprint")) ; break ; } while (0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xpactkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_29 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_bool_type, tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_int_type, tmp96) ; __ats_lab_aux_29: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_0) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_1) ; tmp94 = atspre_gt_int_int (arg1, 0) ; if (tmp94) { /* tmp93 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp95 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp91) ; tmp96 = atspre_add_int_int (arg1, 1) ; arg0 = tmp92 ; arg1 = tmp96 ; goto __ats_lab_aux_29 ; // tail call break ; } while (0) ; return /* (tmp90) */ ; } /* end of [aux_29] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_29_closure_type ; ats_void_type aux_29_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_29 (((aux_29_closure_type*)cloptr)->closure_env_0, ((aux_29_closure_type*)cloptr)->closure_env_1, ((aux_29_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_29_closure_init (aux_29_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_29_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_29_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_29_closure_type *p_clo = ATS_MALLOC(sizeof(aux_29_closure_type)) ; aux_29_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp89) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp89 = */ aux_29 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp89) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; __ats_lab_fprintopt_01695_ats_ptr_type: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp114 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp117 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp115) ; /* tmp114 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp114) */ ; } /* end of [fprintopt_01695_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 6185(line=249, offs=3) -- 7991(line=316, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp: tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_e0xp_node) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPide(")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp61) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp60)->tag != 2) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPchar(")) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (arg0, tmp64) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp60)->tag != 1) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPint(")) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp67) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp60)->tag != 3) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPfloat(")) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp70) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp60)->tag != 4) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp74 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPstring(")) ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (arg0, tmp73) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp60)->tag != 5) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPstringid(")) ; /* tmp78 = */ atspre_fprint_string (arg0, tmp76) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp60)->tag != 6) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_10, tmp60, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_10, tmp60, atslab_1) ; /* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPapp(")) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp79) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp80) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp60)->tag != 7) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_10, tmp60, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_10, tmp60, atslab_1) ; /* tmp87 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPfun(")) ; /* tmp88 = */ fprintlst_01694_ats_ptr_type (arg0, tmp85, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) ; /* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp86) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp60)->tag != 8) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPeval(")) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp99) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp60)->tag != 9) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_3, tmp60, atslab_0) ; /* tmp103 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPlist(")) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xplst (arg0, tmp102) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (((ats_sum_ptr_type)tmp60)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_15, tmp60, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_15, tmp60, atslab_1) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_15, tmp60, atslab_2) ; /* tmp108 = */ atspre_fprint_string (arg0, ATSstrcst("E0XPif(")) ; /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp105) ; /* tmp110 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp106) ; /* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp113 = */ fprintopt_01695_ats_ptr_type (arg0, tmp107, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp59) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 8042(line=319, offs=16) -- 8104(line=320, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xplst: /* tmp118 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) ; return /* (tmp118) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 8178(line=326, offs=3) -- 8219(line=326, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab: tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_l0ab_lab) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp120) ; return /* (tmp119) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 8288(line=332, offs=13) -- 9144(line=364, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_int_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt: tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_s0rt_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp122)->tag != 2) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_10, tmp122, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_10, tmp122, atslab_1) ; /* tmp125 = */ atspre_fprint_string (arg0, ATSstrcst("S0RTapp(")) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp123) ; /* tmp127 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp124) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp122)->tag != 0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_3, tmp122, atslab_0) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst("S0RTide(")) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp129) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp122)->tag != 1) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_10, tmp122, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_10, tmp122, atslab_1) ; /* tmp134 = */ atspre_fprint_string (arg0, ATSstrcst("S0RTqid(")) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtq (arg0, tmp132) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp133) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp122)->tag != 3) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_3, tmp122, atslab_0) ; /* tmp138 = */ atspre_fprint_string (arg0, ATSstrcst("S0RTlist(")) ; /* tmp139 = */ fprintlst_01694_ats_ptr_type (arg0, tmp137, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (((ats_sum_ptr_type)tmp122)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_12, tmp122, atslab_0) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst("S0RTtype(")) ; /* tmp142 = */ atspre_fprint_int (arg0, tmp140) ; /* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp121) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 9195(line=368, offs=5) -- 9590(line=381, offs=2) */ ATSstaticdec() ats_void_type fprint_d0atsrtcon_34 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; // ATSlocal_void (tmp148) ; __ats_lab_fprint_d0atsrtcon_34: tmp145 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_d0atsrtcon_sym) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp145) ; tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_d0atsrtcon_arg) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (tmp146 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_6, tmp146, atslab_0) ; /* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst(" of ")) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp147) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (tmp146 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(" of ()")) ; break ; } while (0) ; return /* (tmp143) */ ; } /* end of [fprint_d0atsrtcon_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 9650(line=384, offs=19) -- 9843(line=389, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0atsrtdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0atsrtdec: tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d0atsrtdec_sym) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp151) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_d0atsrtdec_con) ; /* tmp149 = */ fprintlst_01694_ats_ptr_type (arg0, tmp153, ATSstrcst(" | "), &fprint_d0atsrtcon_34) ; return /* (tmp149) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0atsrtdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 9900(line=393, offs=5) -- 10190(line=403, offs=2) */ ATSstaticdec() ats_void_type fprint_a0srt_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab_fprint_a0srt_36: tmp156 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_a0srt_sym) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (tmp156 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_6, tmp156, atslab_0) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp157) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp156 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: break ; } while (0) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_a0srt_srt) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp159) ; return /* (tmp154) */ ; } /* end of [fprint_a0srt_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 10221(line=405, offs=5) -- 10423(line=411, offs=2) */ ATSstaticdec() ats_void_type fprint_a0msrt_37 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_fprint_a0msrt_37: /* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_a0msrt_arg) ; /* tmp162 = */ fprintlst_01694_ats_ptr_type (arg0, tmp163, ATSstrcst(", "), &fprint_a0srt_36) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp160) */ ; } /* end of [fprint_a0msrt_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 10497(line=416, offs=16) -- 11187(line=442, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext: tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_s0rtext_node) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp165)->tag != 0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_3, tmp165, atslab_0) ; /* tmp167 = */ atspre_fprint_string (arg0, ATSstrcst("S0TEsrt(")) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp166) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (((ats_sum_ptr_type)tmp165)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_23, tmp165, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_23, tmp165, atslab_1) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_23, tmp165, atslab_2) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_23, tmp165, atslab_3) ; /* tmp173 = */ atspre_fprint_string (arg0, ATSstrcst("S0TEsub(")) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp169) ; /* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext (arg0, tmp170) ; /* tmp177 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp171) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp172 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp179 = */ fprintlst_01694_ats_ptr_type (arg0, tmp172, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp172 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: break ; } while (0) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp164) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 11260(line=447, offs=14) -- 11877(line=472, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua: tmp182 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_s0qua_node) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp182)->tag != 0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_3, tmp182, atslab_0) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("S0QUAprop(")) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp183) ; /* tmp181 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (((ats_sum_ptr_type)tmp182)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_15, tmp182, atslab_0) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_15, tmp182, atslab_1) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_15, tmp182, atslab_2) ; /* tmp189 = */ atspre_fprint_string (arg0, ATSstrcst("S0QUAvar(")) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp186) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (tmp187 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp191 = */ fprintlst_01694_ats_ptr_type (arg0, tmp187, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp187 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: break ; } while (0) ; /* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rtext (arg0, tmp188) ; /* tmp181 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp181) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 11930(line=475, offs=17) -- 11987(line=476, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qualst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qualst: /* tmp195 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua) ; return /* (tmp195) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qualst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 12061(line=482, offs=14) -- 15938(line=651, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_int_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; // ATSlocal_void (tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp: tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_s0exp_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp197)->tag != 0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp199 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eide(")) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp198) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp197)->tag != 1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp203 = */ atspre_fprint_string (arg0, ATSstrcst("S0Esqid(")) ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0taq (arg0, tmp201) ; /* tmp205 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp202) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp197)->tag != 2) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp207 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eopid(")) ; /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp206) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp197)->tag != 3) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp210 = */ atspre_fprint_string (arg0, ATSstrcst("S0Ei0nt(")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp209) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp197)->tag != 4) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp213 = */ atspre_fprint_string (arg0, ATSstrcst("S0Echar(")) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (arg0, tmp212) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp197)->tag != 5) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp216 = */ atspre_fprint_string (arg0, ATSstrcst("S0Efloat(")) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp215) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp197)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp218 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp219 = */ atspre_fprint_string (arg0, ATSstrcst("S0Estring(")) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (arg0, tmp218) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp197)->tag != 7) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp223 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eextype(")) ; /* tmp224 = */ atspre_fprint_string (arg0, tmp221) ; /* tmp225 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp222) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp197)->tag != 8) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp229 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eextkind(")) ; /* tmp230 = */ atspre_fprint_string (arg0, tmp227) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp228) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp197)->tag != 9) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eapp(")) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp233) ; /* tmp237 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp234) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp197)->tag != 11) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp239 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eimp(")) ; /* tmp240 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp197)->tag != 10) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_15, tmp197, atslab_1) ; tmp242 = ats_caselptrlab_mac(anairiats_sum_15, tmp197, atslab_2) ; /* tmp243 = */ atspre_fprint_string (arg0, ATSstrcst("S0Elam(")) ; /* tmp244 = */ fprintopt_01695_ats_ptr_type (arg0, tmp241, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt) ; /* tmp245 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp242) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp197)->tag != 12) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp248 = */ atspre_fprint_string (arg0, ATSstrcst("S0Elist(")) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp247) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp197)->tag != 13) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp252 = */ atspre_fprint_string (arg0, ATSstrcst("S0Elist2(")) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp250) ; /* tmp254 = */ atspre_fprint_string (arg0, ATSstrcst(" | ")) ; /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp251) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp197)->tag != 14) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp256 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp257 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp258 = */ atspre_fprint_string (arg0, ATSstrcst("S0Etyarr(")) ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp256) ; /* tmp260 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp257) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp197)->tag != 15) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp262 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_0) ; tmp263 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_1) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_2) ; /* tmp265 = */ atspre_fprint_string (arg0, ATSstrcst("S0Etytup(")) ; /* tmp266 = */ atspre_fprint_int (arg0, tmp262) ; /* tmp267 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp268 = */ atspre_fprint_int (arg0, tmp263) ; /* tmp269 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp264) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp197)->tag != 16) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp271 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_0) ; tmp272 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_1) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_26, tmp197, atslab_2) ; /* tmp274 = */ atspre_fprint_string (arg0, ATSstrcst("S0Etyrec(")) ; /* tmp275 = */ atspre_fprint_int (arg0, tmp271) ; /* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp277 = */ atspre_fprint_int (arg0, tmp272) ; /* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp279 = */ fprintlst_01694_ats_ptr_type (arg0, tmp273, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp197)->tag != 17) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_27, tmp197, atslab_0) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_27, tmp197, atslab_1) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_27, tmp197, atslab_2) ; /* tmp283 = */ atspre_fprint_string (arg0, ATSstrcst("S0Etyrec_ext(")) ; /* tmp284 = */ atspre_fprint_string (arg0, tmp280) ; /* tmp285 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp286 = */ atspre_fprint_int (arg0, tmp281) ; /* tmp287 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp288 = */ fprintlst_01694_ats_ptr_type (arg0, tmp282, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp197)->tag != 18) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ; /* tmp290 = */ atspre_fprint_string (arg0, ATSstrcst("S0Euni(")) ; /* tmp291 = */ fprintlst_01694_ats_ptr_type (arg0, tmp289, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp197)->tag != 19) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_28, tmp197, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_28, tmp197, atslab_1) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eexi(")) ; /* tmp295 = */ atspre_fprint_int (arg0, tmp292) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp297 = */ fprintlst_01694_ats_ptr_type (arg0, tmp293, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qua) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp197)->tag != 20) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_0) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_10, tmp197, atslab_1) ; /* tmp300 = */ atspre_fprint_string (arg0, ATSstrcst("S0Eann(")) ; /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp298) ; /* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp299) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (((ats_sum_ptr_type)tmp197)->tag != 21) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst("S0Ed2ctype(...)")) ; break ; } while (0) ; return /* (tmp196) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 16014(line=657, offs=3) -- 16069(line=657, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp304) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst: /* tmp304 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp) ; return /* (tmp304) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 16127(line=662, offs=3) -- 16178(line=662, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt: /* tmp305 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp) ; return /* (tmp305) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 16257(line=669, offs=3) -- 16569(line=680, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exparg: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* tmp306 = */ atspre_fprint_string (arg0, ATSstrcst("{..}")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_81_0 ; } __ats_lab_80_1: /* tmp306 = */ atspre_fprint_string (arg0, ATSstrcst("{...}")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp308 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; /* tmp309 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0explst (arg0, tmp307) ; /* tmp306 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; break ; } while (0) ; return /* (tmp306) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 16648(line=686, offs=3) -- 16810(line=691, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp: // tmp311 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_0) ; tmp312 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_2) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp311) ; /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp312) ; return /* (tmp310) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labs0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 16887(line=697, offs=3) -- 17020(line=701, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marg: /* tmp316 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_q0marg_arg) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0qualst (arg0, tmp318) ; /* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; return /* (tmp315) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 17077(line=705, offs=3) -- 17131(line=705, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp319) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marglst: /* tmp319 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(""), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marg) ; return /* (tmp319) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_q0marglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 17205(line=711, offs=13) -- 20164(line=836, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; // ATSlocal_void (tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_int_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_int_type, tmp361) ; ATSlocal (ats_int_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_int_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; // ATSlocal_void (tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; // ATSlocal_void (tmp397) ; // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; // ATSlocal_void (tmp400) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at: tmp321 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_31, arg1), atslab_p0at_node) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp321)->tag != 0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp323 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tide(")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp322) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp321)->tag != 2) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp326 = */ atspre_fprint_string (arg0, ATSstrcst("P0Topid(")) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp325) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp321)->tag != 1) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_10, tmp321, atslab_0) ; tmp329 = ats_caselptrlab_mac(anairiats_sum_10, tmp321, atslab_1) ; /* tmp330 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tdqid(")) ; /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp328) ; /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp329) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp321)->tag != 3) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tint(")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp333) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp321)->tag != 4) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp337 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tchar(")) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (arg0, tmp336) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp321)->tag != 5) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tfloat(")) ; /* tmp341 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp339) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp321)->tag != 6) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp342 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp343 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tstring(")) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (arg0, tmp342) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp321)->tag != 7) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_10, tmp321, atslab_0) ; /* tmp346 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tapp(")) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp345) ; /* tmp348 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp321)->tag != 8) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp349 = ats_caselptrlab_mac(anairiats_sum_28, tmp321, atslab_0) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_28, tmp321, atslab_1) ; /* tmp351 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tlist(")) ; /* tmp352 = */ atspre_fprint_int (arg0, tmp349) ; /* tmp353 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp354 = */ fprintlst_01694_ats_ptr_type (arg0, tmp350, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp321)->tag != 9) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_28, tmp321, atslab_0) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_28, tmp321, atslab_1) ; /* tmp357 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tlst(")) ; /* tmp358 = */ atspre_fprint_int (arg0, tmp355) ; /* tmp359 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp360 = */ fprintlst_01694_ats_ptr_type (arg0, tmp356, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp321)->tag != 11) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_0) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_1) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_2) ; /* tmp364 = */ atspre_fprint_string (arg0, ATSstrcst("P0Trec(")) ; /* tmp365 = */ atspre_fprint_int (arg0, tmp361) ; /* tmp366 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp367 = */ atspre_fprint_int (arg0, tmp362) ; /* tmp368 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp369 = */ fprintlst_01694_ats_ptr_type (arg0, tmp363, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labp0at) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp321)->tag != 10) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_0) ; tmp371 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_1) ; tmp372 = ats_caselptrlab_mac(anairiats_sum_26, tmp321, atslab_2) ; /* tmp373 = */ atspre_fprint_string (arg0, ATSstrcst("P0Ttup(")) ; /* tmp374 = */ atspre_fprint_int (arg0, tmp370) ; /* tmp375 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp376 = */ atspre_fprint_int (arg0, tmp371) ; /* tmp377 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp378 = */ fprintlst_01694_ats_ptr_type (arg0, tmp372, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp321)->tag != 12) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp380 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tfree(")) ; /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp379) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp321)->tag != 13) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_3, tmp321, atslab_0) ; /* tmp383 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tunfold(")) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp382) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp321)->tag != 14) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp385 = */ atspre_fprint_string (arg0, ATSstrcst("P0Texist(")) ; /* tmp386 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp321)->tag != 15) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp387 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tsvararg(")) ; /* tmp388 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp321)->tag != 16) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp389 = ats_caselptrlab_mac(anairiats_sum_15, tmp321, atslab_0) ; tmp390 = ats_caselptrlab_mac(anairiats_sum_15, tmp321, atslab_2) ; /* tmp391 = */ atspre_fprint_string (arg0, ATSstrcst("P0Trefas(")) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp389) ; /* tmp393 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp390) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp321)->tag != 17) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp395 = ats_caselptrlab_mac(anairiats_sum_10, tmp321, atslab_0) ; tmp396 = ats_caselptrlab_mac(anairiats_sum_10, tmp321, atslab_1) ; /* tmp397 = */ atspre_fprint_string (arg0, ATSstrcst("P0Tann(")) ; /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp395) ; /* tmp399 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp396) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (((ats_sum_ptr_type)tmp321)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("P0Terr()")) ; break ; } while (0) ; return /* (tmp320) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 20236(line=841, offs=16) -- 20496(line=848, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labp0at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labp0at: tmp402 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg1), atslab_labp0at_node) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (tmp402 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp403 = ats_caselptrlab_mac(anairiats_sum_14, tmp402, atslab_0) ; tmp404 = ats_caselptrlab_mac(anairiats_sum_14, tmp402, atslab_1) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp403) ; /* tmp406 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_p0at (arg0, tmp404) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (tmp402 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: /* tmp401 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; break ; } while (0) ; return /* (tmp401) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labp0at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 20569(line=854, offs=14) -- 27186(line=1156, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; // ATSlocal_void (tmp413) ; // ATSlocal_void (tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; // ATSlocal_void (tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; // ATSlocal_void (tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; // ATSlocal_void (tmp431) ; // ATSlocal_void (tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; // ATSlocal_void (tmp434) ; // ATSlocal_void (tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; // ATSlocal_void (tmp437) ; // ATSlocal_void (tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; // ATSlocal_void (tmp442) ; // ATSlocal_void (tmp443) ; // ATSlocal_void (tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; // ATSlocal_void (tmp453) ; ATSlocal (ats_int_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; // ATSlocal_void (tmp463) ; // ATSlocal_void (tmp464) ; // ATSlocal_void (tmp465) ; // ATSlocal_void (tmp466) ; // ATSlocal_void (tmp467) ; // ATSlocal_void (tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; // ATSlocal_void (tmp472) ; // ATSlocal_void (tmp473) ; // ATSlocal_void (tmp474) ; // ATSlocal_void (tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; // ATSlocal_void (tmp478) ; // ATSlocal_void (tmp479) ; // ATSlocal_void (tmp480) ; // ATSlocal_void (tmp481) ; ATSlocal (ats_int_type, tmp482) ; ATSlocal (ats_int_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; // ATSlocal_void (tmp487) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; // ATSlocal_void (tmp490) ; ATSlocal (ats_int_type, tmp491) ; ATSlocal (ats_int_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; // ATSlocal_void (tmp494) ; // ATSlocal_void (tmp495) ; // ATSlocal_void (tmp496) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; // ATSlocal_void (tmp499) ; ATSlocal (ats_int_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; // ATSlocal_void (tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; // ATSlocal_void (tmp510) ; // ATSlocal_void (tmp511) ; // ATSlocal_void (tmp512) ; // ATSlocal_void (tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; // ATSlocal_void (tmp516) ; // ATSlocal_void (tmp517) ; ATSlocal (ats_int_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; // ATSlocal_void (tmp523) ; ATSlocal (ats_int_type, tmp524) ; // ATSlocal_void (tmp525) ; // ATSlocal_void (tmp526) ; // ATSlocal_void (tmp527) ; // ATSlocal_void (tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; // ATSlocal_void (tmp530) ; // ATSlocal_void (tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; // ATSlocal_void (tmp533) ; // ATSlocal_void (tmp534) ; ATSlocal (ats_int_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; // ATSlocal_void (tmp539) ; // ATSlocal_void (tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; // ATSlocal_void (tmp542) ; // ATSlocal_void (tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; // ATSlocal_void (tmp556) ; ATSlocal (ats_int_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; // ATSlocal_void (tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp563) ; // ATSlocal_void (tmp564) ; // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; ATSlocal (ats_int_type, tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; // ATSlocal_void (tmp570) ; // ATSlocal_void (tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; // ATSlocal_void (tmp573) ; // ATSlocal_void (tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; // ATSlocal_void (tmp576) ; // ATSlocal_void (tmp577) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp: tmp408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_d0exp_node) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp408)->tag != 0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp410 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eide(")) ; /* tmp411 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp409) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp408)->tag != 2) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp412 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp413 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eopid(")) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp412) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp408)->tag != 1) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_0) ; tmp416 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_1) ; /* tmp417 = */ atspre_fprint_string (arg0, ATSstrcst("D0Edqid(")) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp415) ; /* tmp419 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp416) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp408)->tag != 3) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp421 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp422 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eidext(")) ; /* tmp423 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp421) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp408)->tag != 4) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp425 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eint(")) ; /* tmp426 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp424) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp408)->tag != 5) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp427 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp428 = */ atspre_fprint_string (arg0, ATSstrcst("D0Echar(")) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_c0har (arg0, tmp427) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp408)->tag != 6) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp431 = */ atspre_fprint_string (arg0, ATSstrcst("D0Efloat(")) ; /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp430) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp408)->tag != 7) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp433 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp434 = */ atspre_fprint_string (arg0, ATSstrcst("D0Estring(")) ; /* tmp435 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0tring (arg0, tmp433) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp408)->tag != 8) { goto __ats_lab_112_0 ; } __ats_lab_111_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eempty()")) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp408)->tag != 9) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp437 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ecstsp(")) ; /* tmp438 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (arg0, tmp436) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp408)->tag != 10) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp439 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp440 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eliteral(")) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp439) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp408)->tag != 17) { goto __ats_lab_115_0 ; } __ats_lab_114_1: /* tmp442 = */ atspre_fprint_string (arg0, ATSstrcst("D0Elet(")) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp408)->tag != 18) { goto __ats_lab_116_0 ; } __ats_lab_115_1: /* tmp444 = */ atspre_fprint_string (arg0, ATSstrcst("D0Edeclseq(")) ; /* tmp445 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp408)->tag != 19) { goto __ats_lab_117_0 ; } __ats_lab_116_1: /* tmp446 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ewhere(")) ; /* tmp447 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp408)->tag != 20) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp448 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_0) ; tmp449 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_1) ; /* tmp450 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eapp(")) ; /* tmp451 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp448) ; /* tmp452 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp453 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp449) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp408)->tag != 21) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_0) ; tmp455 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_1) ; /* tmp456 = */ atspre_fprint_string (arg0, ATSstrcst("D0Elist(")) ; /* tmp457 = */ atspre_fprint_int (arg0, tmp454) ; /* tmp458 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp459 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst (arg0, tmp455) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp408)->tag != 22) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp460 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_1) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_2) ; tmp462 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_3) ; /* tmp463 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eifhead(")) ; /* tmp464 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp460) ; /* tmp465 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp466 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp461) ; /* tmp467 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp468 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0expopt (arg0, tmp462) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp408)->tag != 23) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp469 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_1) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_2) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_23, tmp408, atslab_3) ; /* tmp472 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esifhead(")) ; /* tmp473 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp469) ; /* tmp474 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp475 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp470) ; /* tmp476 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp477 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp471) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp408)->tag != 24) { goto __ats_lab_122_0 ; } __ats_lab_121_1: /* tmp478 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ecasehead(")) ; /* tmp479 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp408)->tag != 25) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp480 = */ atspre_fprint_string (arg0, ATSstrcst("D0Escasehead(")) ; /* tmp481 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp408)->tag != 27) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp482 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_0) ; tmp483 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_1) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_2) ; /* tmp485 = */ atspre_fprint_string (arg0, ATSstrcst("D0Etup(")) ; /* tmp486 = */ atspre_fprint_int (arg0, tmp482) ; /* tmp487 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp488 = */ atspre_fprint_int (arg0, tmp483) ; /* tmp489 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp490 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst (arg0, tmp484) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp408)->tag != 28) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp491 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_0) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_1) ; tmp493 = ats_caselptrlab_mac(anairiats_sum_26, tmp408, atslab_2) ; /* tmp494 = */ atspre_fprint_string (arg0, ATSstrcst("D0Erec(")) ; /* tmp495 = */ atspre_fprint_int (arg0, tmp491) ; /* tmp496 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp497 = */ atspre_fprint_int (arg0, tmp492) ; /* tmp498 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp499 = */ fprintlst_01694_ats_ptr_type (arg0, tmp493, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labd0exp) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp408)->tag != 26) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp500 = ats_caselptrlab_mac(anairiats_sum_34, tmp408, atslab_0) ; tmp501 = ats_caselptrlab_mac(anairiats_sum_34, tmp408, atslab_1) ; tmp502 = ats_caselptrlab_mac(anairiats_sum_34, tmp408, atslab_2) ; /* tmp503 = */ atspre_fprint_string (arg0, ATSstrcst("D0Elst(")) ; /* tmp504 = */ atspre_fprint_int (arg0, tmp500) ; /* tmp505 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp506 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt (arg0, tmp501) ; /* tmp507 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp508 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp502) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp408)->tag != 29) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp509 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp510 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eseq(")) ; /* tmp511 = */ fprintlst_01694_ats_ptr_type (arg0, tmp509, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp408)->tag != 30) { goto __ats_lab_128_0 ; } __ats_lab_127_1: /* tmp512 = */ atspre_fprint_string (arg0, ATSstrcst("D0Earrsub(")) ; /* tmp513 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp408)->tag != 31) { goto __ats_lab_129_0 ; } __ats_lab_128_1: /* tmp514 = */ atspre_fprint_string (arg0, ATSstrcst("D0Earrpsz(")) ; /* tmp515 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp408)->tag != 32) { goto __ats_lab_130_0 ; } __ats_lab_129_1: /* tmp516 = */ atspre_fprint_string (arg0, ATSstrcst("D0Earrinit(")) ; /* tmp517 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp408)->tag != 33) { goto __ats_lab_131_0 ; } __ats_lab_130_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eptrof()")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp408)->tag != 34) { goto __ats_lab_132_0 ; } __ats_lab_131_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eviewat()")) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp408)->tag != 35) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp518 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_0) ; tmp519 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_1) ; /* tmp520 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esel_lab(")) ; /* tmp521 = */ atspre_fprint_int (arg0, tmp518) ; /* tmp522 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp523 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp519) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp408)->tag != 36) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp524 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_0) ; /* tmp525 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esel_int(")) ; /* tmp526 = */ atspre_fprint_int (arg0, tmp524) ; /* tmp527 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp528 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp408)->tag != 37) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp529 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp530 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eraise(")) ; /* tmp531 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp529) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp408)->tag != 38) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eeffmask(...)")) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp408)->tag != 39) { goto __ats_lab_137_0 ; } __ats_lab_136_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eeffmask_arg(...)")) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp408)->tag != 40) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp533 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eshowtype(")) ; /* tmp534 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp532) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp408)->tag != 41) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp535 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_0) ; tmp536 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_1) ; /* tmp537 = */ atspre_fprint_string (arg0, ATSstrcst("D0Evcopyenv(")) ; /* tmp538 = */ atspre_fprint_int (arg0, tmp535) ; /* tmp539 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp540 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp536) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp408)->tag != 42) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp541 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp542 = */ atspre_fprint_string (arg0, ATSstrcst("D0Etempenver(")) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp541) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp408)->tag != 43) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp544 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp545 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esexparg(")) ; /* tmp546 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exparg (arg0, tmp544) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp408)->tag != 45) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp547 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_0) ; tmp548 = ats_caselptrlab_mac(anairiats_sum_10, tmp408, atslab_1) ; /* tmp549 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eann(")) ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp547) ; /* tmp551 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp548) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp408)->tag != 46) { goto __ats_lab_143_0 ; } __ats_lab_142_1: /* tmp553 = */ atspre_fprint_string (arg0, ATSstrcst("D0Elam(")) ; /* tmp554 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp408)->tag != 47) { goto __ats_lab_144_0 ; } __ats_lab_143_1: /* tmp555 = */ atspre_fprint_string (arg0, ATSstrcst("D0Efix(")) ; /* tmp556 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp408)->tag != 48) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp557 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_0) ; tmp558 = ats_caselptrlab_mac(anairiats_sum_28, tmp408, atslab_1) ; /* tmp559 = */ atspre_fprint_string (arg0, ATSstrcst("D0Edelay(")) ; /* tmp560 = */ atspre_fprint_int (arg0, tmp557) ; /* tmp561 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp562 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp558) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp408)->tag != 49) { goto __ats_lab_146_0 ; } __ats_lab_145_1: /* tmp563 = */ atspre_fprint_string (arg0, ATSstrcst("D0Efor(")) ; /* tmp564 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp408)->tag != 50) { goto __ats_lab_147_0 ; } __ats_lab_146_1: /* tmp565 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ewhile(")) ; /* tmp566 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp408)->tag != 51) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp567 = ats_caselptrlab_mac(anairiats_sum_12, tmp408, atslab_0) ; /* tmp568 = */ atspre_fprint_string (arg0, ATSstrcst("D0Eloopexn(")) ; /* tmp569 = */ atspre_fprint_int (arg0, tmp567) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp408)->tag != 52) { goto __ats_lab_149_0 ; } __ats_lab_148_1: /* tmp570 = */ atspre_fprint_string (arg0, ATSstrcst("D0Etrywith(")) ; /* tmp571 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp408)->tag != 54) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp572 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp573 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esolassert(")) ; /* tmp574 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp572) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp408)->tag != 55) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp575 = ats_caselptrlab_mac(anairiats_sum_3, tmp408, atslab_0) ; /* tmp576 = */ atspre_fprint_string (arg0, ATSstrcst("D0Esolverify(")) ; /* tmp577 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp575) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: __ats_lab_151_1: /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("D0E(...)")) ; break ; } while (0) ; return /* (tmp407) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 27262(line=1162, offs=3) -- 27317(line=1162, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp578) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst: /* tmp578 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp) ; return /* (tmp578) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 27375(line=1167, offs=3) -- 27426(line=1167, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp579) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0expopt: /* tmp579 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp) ; return /* (tmp579) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 27505(line=1174, offs=3) -- 27661(line=1179, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labd0exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; // ATSlocal_void (tmp583) ; // ATSlocal_void (tmp584) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labd0exp: // tmp581 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp582 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; /* tmp583 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp581) ; /* tmp584 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp582) ; return /* (tmp580) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_labd0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 27716(line=1183, offs=5) -- 28065(line=1192, offs=2) */ ATSstaticdec() ats_void_type fprint_s0tacon_54 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp585) ; // ATSlocal_void (tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; // ATSlocal_void (tmp588) ; // ATSlocal_void (tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; // ATSlocal_void (tmp591) ; // ATSlocal_void (tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; __ats_lab_fprint_s0tacon_54: tmp587 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg1), atslab_s0tacon_sym) ; /* tmp586 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp587) ; /* tmp588 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp590 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg1), atslab_s0tacon_arg) ; /* tmp589 = */ fprintlst_01694_ats_ptr_type (arg0, tmp590, ATSstrcst(" "), &fprint_a0msrt_37) ; /* tmp591 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp592 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp593 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg1), atslab_s0tacon_def) ; /* tmp585 = */ fprintopt_01695_ats_ptr_type (arg0, tmp593, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp) ; return /* (tmp585) */ ; } /* end of [fprint_s0tacon_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 28119(line=1196, offs=5) -- 28415(line=1204, offs=2) */ ATSstaticdec() ats_void_type fprint_s0tacst_55 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp594) ; // ATSlocal_void (tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; // ATSlocal_void (tmp597) ; // ATSlocal_void (tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; // ATSlocal_void (tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; __ats_lab_fprint_s0tacst_55: tmp596 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg1), atslab_s0tacst_sym) ; /* tmp595 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp596) ; /* tmp597 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; tmp599 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg1), atslab_s0tacst_arg) ; /* tmp598 = */ fprintlst_01694_ats_ptr_type (arg0, tmp599, ATSstrcst(" "), &fprint_a0msrt_37) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("):")) ; tmp601 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg1), atslab_s0tacst_res) ; /* tmp594 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0rt (arg0, tmp601) ; return /* (tmp594) */ ; } /* end of [fprint_s0tacst_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 28811(line=1227, offs=3) -- 35453(line=1518, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; // ATSlocal_void (tmp606) ; // ATSlocal_void (tmp607) ; // ATSlocal_void (tmp608) ; // ATSlocal_void (tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; // ATSlocal_void (tmp611) ; // ATSlocal_void (tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; // ATSlocal_void (tmp614) ; // ATSlocal_void (tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; // ATSlocal_void (tmp617) ; // ATSlocal_void (tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_int_type, tmp621) ; // ATSlocal_void (tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; // ATSlocal_void (tmp625) ; // ATSlocal_void (tmp626) ; // ATSlocal_void (tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; // ATSlocal_void (tmp630) ; // ATSlocal_void (tmp631) ; // ATSlocal_void (tmp632) ; // ATSlocal_void (tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; // ATSlocal_void (tmp635) ; // ATSlocal_void (tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; // ATSlocal_void (tmp639) ; // ATSlocal_void (tmp640) ; // ATSlocal_void (tmp641) ; // ATSlocal_void (tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; // ATSlocal_void (tmp644) ; // ATSlocal_void (tmp645) ; ATSlocal (ats_int_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; // ATSlocal_void (tmp648) ; // ATSlocal_void (tmp649) ; // ATSlocal_void (tmp650) ; // ATSlocal_void (tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; // ATSlocal_void (tmp653) ; // ATSlocal_void (tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; // ATSlocal_void (tmp656) ; // ATSlocal_void (tmp657) ; ATSlocal (ats_int_type, tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; // ATSlocal_void (tmp660) ; // ATSlocal_void (tmp661) ; // ATSlocal_void (tmp662) ; // ATSlocal_void (tmp663) ; ATSlocal (ats_int_type, tmp664) ; // ATSlocal_void (tmp665) ; // ATSlocal_void (tmp666) ; // ATSlocal_void (tmp667) ; // ATSlocal_void (tmp668) ; ATSlocal (ats_int_type, tmp669) ; // ATSlocal_void (tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; // ATSlocal_void (tmp676) ; // ATSlocal_void (tmp677) ; // ATSlocal_void (tmp678) ; // ATSlocal_void (tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; // ATSlocal_void (tmp682) ; // ATSlocal_void (tmp683) ; // ATSlocal_void (tmp684) ; // ATSlocal_void (tmp685) ; ATSlocal (ats_int_type, tmp686) ; ATSlocal (ats_ptr_type, tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; // ATSlocal_void (tmp689) ; // ATSlocal_void (tmp690) ; // ATSlocal_void (tmp691) ; // ATSlocal_void (tmp692) ; // ATSlocal_void (tmp693) ; // ATSlocal_void (tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; // ATSlocal_void (tmp697) ; // ATSlocal_void (tmp698) ; // ATSlocal_void (tmp699) ; // ATSlocal_void (tmp700) ; ATSlocal (ats_int_type, tmp701) ; ATSlocal (ats_int_type, tmp702) ; // ATSlocal_void (tmp703) ; // ATSlocal_void (tmp704) ; // ATSlocal_void (tmp705) ; // ATSlocal_void (tmp706) ; // ATSlocal_void (tmp707) ; // ATSlocal_void (tmp708) ; ATSlocal (ats_int_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; // ATSlocal_void (tmp711) ; // ATSlocal_void (tmp712) ; // ATSlocal_void (tmp713) ; // ATSlocal_void (tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; // ATSlocal_void (tmp717) ; // ATSlocal_void (tmp718) ; // ATSlocal_void (tmp719) ; // ATSlocal_void (tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; // ATSlocal_void (tmp723) ; // ATSlocal_void (tmp724) ; // ATSlocal_void (tmp725) ; // ATSlocal_void (tmp726) ; ATSlocal (ats_ptr_type, tmp727) ; // ATSlocal_void (tmp728) ; // ATSlocal_void (tmp729) ; // ATSlocal_void (tmp730) ; // ATSlocal_void (tmp731) ; ATSlocal (ats_ptr_type, tmp732) ; // ATSlocal_void (tmp733) ; // ATSlocal_void (tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; // ATSlocal_void (tmp736) ; // ATSlocal_void (tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; // ATSlocal_void (tmp740) ; // ATSlocal_void (tmp741) ; // ATSlocal_void (tmp742) ; // ATSlocal_void (tmp743) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ecl: tmp603 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg1), atslab_d0ecl_node) ; do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp603)->tag != 0) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp604 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp605 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp606 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cfixity(")) ; /* tmp607 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0xty (arg0, tmp604) ; /* tmp608 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp609 = */ fprintlst_01694_ats_ptr_type (arg0, tmp605, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp603)->tag != 1) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp610 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp611 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cnonfix(")) ; /* tmp612 = */ fprintlst_01694_ats_ptr_type (arg0, tmp610, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp603)->tag != 2) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp613 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp614 = */ atspre_fprint_string (arg0, ATSstrcst("D0Csymintr(")) ; /* tmp615 = */ fprintlst_01694_ats_ptr_type (arg0, tmp613, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp603)->tag != 3) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp616 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp617 = */ atspre_fprint_string (arg0, ATSstrcst("D0Csymelim(")) ; /* tmp618 = */ fprintlst_01694_ats_ptr_type (arg0, tmp616, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp603)->tag != 4) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp619 = ats_caselptrlab_mac(anairiats_sum_38, tmp603, atslab_0) ; tmp620 = ats_caselptrlab_mac(anairiats_sum_38, tmp603, atslab_1) ; tmp621 = ats_caselptrlab_mac(anairiats_sum_38, tmp603, atslab_2) ; /* tmp622 = */ atspre_fprint_string (arg0, ATSstrcst("D0Coverload(")) ; /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp619) ; /* tmp624 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp625 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_dqi0de (arg0, tmp620) ; /* tmp626 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp627 = */ atspre_fprint_int (arg0, tmp621) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp603)->tag != 5) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp628 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp629 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp630 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ce0xpdef(")) ; /* tmp631 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp628) ; /* tmp632 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp633 = */ fprintopt_01695_ats_ptr_type (arg0, tmp629, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp603)->tag != 6) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp634 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp635 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ce0xpundef(")) ; /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp634) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp603)->tag != 7) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp637 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp638 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp639 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ce0xpact(")) ; /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xpactkind (arg0, tmp637) ; /* tmp641 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp642 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp (arg0, tmp638) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp603)->tag != 8) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp643 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp644 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cpragma(")) ; /* tmp645 = */ fprintlst_01694_ats_ptr_type (arg0, tmp643, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)tmp603)->tag != 9) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp646 = ats_caselptrlab_mac(anairiats_sum_28, tmp603, atslab_0) ; tmp647 = ats_caselptrlab_mac(anairiats_sum_28, tmp603, atslab_1) ; /* tmp648 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ccodegen(")) ; /* tmp649 = */ atspre_fprint_int (arg0, tmp646) ; /* tmp650 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp651 = */ fprintlst_01694_ats_ptr_type (arg0, tmp647, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_e0xp) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp603)->tag != 10) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp652 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp653 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cdatsrts(\n")) ; /* tmp654 = */ fprintlst_01694_ats_ptr_type (arg0, tmp652, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0atsrtdec) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp603)->tag != 11) { goto __ats_lab_164_0 ; } __ats_lab_163_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Csrtdefs(...)")) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)tmp603)->tag != 12) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp655 = ats_caselptrlab_mac(anairiats_sum_3, tmp603, atslab_0) ; /* tmp656 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cstacsts(\n")) ; /* tmp657 = */ fprintlst_01694_ats_ptr_type (arg0, tmp655, ATSstrcst("\n"), &fprint_s0tacst_55) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp603)->tag != 13) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp658 = ats_caselptrlab_mac(anairiats_sum_28, tmp603, atslab_0) ; tmp659 = ats_caselptrlab_mac(anairiats_sum_28, tmp603, atslab_1) ; /* tmp660 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cstacons(")) ; /* tmp661 = */ atspre_fprint_int (arg0, tmp658) ; /* tmp662 = */ atspre_fprint_string (arg0, ATSstrcst(";\n")) ; /* tmp663 = */ fprintlst_01694_ats_ptr_type (arg0, tmp659, ATSstrcst("\n"), &fprint_s0tacon_54) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp603)->tag != 14) { goto __ats_lab_167_0 ; } __ats_lab_166_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Ctkindef(...)")) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp603)->tag != 15) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp664 = ats_caselptrlab_mac(anairiats_sum_28, tmp603, atslab_0) ; /* tmp665 = */ atspre_fprint_string (arg0, ATSstrcst("D0Csexpdefs(")) ; /* tmp666 = */ atspre_fprint_int (arg0, tmp664) ; /* tmp667 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp668 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)tmp603)->tag != 16) { goto __ats_lab_169_0 ; } __ats_lab_168_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Csaspdec(...)")) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: if (((ats_sum_ptr_type)tmp603)->tag != 17) { goto __ats_lab_170_0 ; } __ats_lab_169_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cexndecs(...)")) ; break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp603)->tag != 18) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp669 = ats_caselptrlab_mac(anairiats_sum_34, tmp603, atslab_0) ; /* tmp670 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cdatdecs(")) ; /* tmp671 = */ atspre_fprint_int (arg0, tmp669) ; /* tmp672 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp673 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)tmp603)->tag != 24) { goto __ats_lab_172_0 ; } __ats_lab_171_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cdcstdecs(...)")) ; break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp603)->tag != 26) { goto __ats_lab_173_0 ; } __ats_lab_172_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cmacdefs(...)")) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp603)->tag != 19) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp674 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp675 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp676 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cclassdec(")) ; /* tmp677 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp674) ; /* tmp678 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp679 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0expopt (arg0, tmp675) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp603)->tag != 20) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp680 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp681 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp682 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cextype(")) ; /* tmp683 = */ atspre_fprint_string (arg0, tmp680) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp685 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp681) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp603)->tag != 21) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp686 = ats_caselptrlab_mac(anairiats_sum_34, tmp603, atslab_0) ; tmp687 = ats_caselptrlab_mac(anairiats_sum_34, tmp603, atslab_1) ; tmp688 = ats_caselptrlab_mac(anairiats_sum_34, tmp603, atslab_2) ; /* tmp689 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cextype(")) ; /* tmp690 = */ atspre_fprint_int (arg0, tmp686) ; /* tmp691 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp692 = */ atspre_fprint_string (arg0, tmp687) ; /* tmp693 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp694 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_s0exp (arg0, tmp688) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)tmp603)->tag != 22) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp695 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp696 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp697 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cextvar(")) ; /* tmp698 = */ atspre_fprint_string (arg0, tmp695) ; /* tmp699 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp700 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0exp (arg0, tmp696) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)tmp603)->tag != 23) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp701 = ats_caselptrlab_mac(anairiats_sum_26, tmp603, atslab_0) ; tmp702 = ats_caselptrlab_mac(anairiats_sum_26, tmp603, atslab_1) ; /* tmp703 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cextcode(")) ; /* tmp704 = */ atspre_fprint_int (arg0, tmp701) ; /* tmp705 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp706 = */ atspre_fprint_int (arg0, tmp702) ; /* tmp707 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp708 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)tmp603)->tag != 25) { goto __ats_lab_179_0 ; } __ats_lab_178_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cimpdec(...)")) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)tmp603)->tag != 28) { goto __ats_lab_180_0 ; } __ats_lab_179_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cvaldecs(...)")) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: if (((ats_sum_ptr_type)tmp603)->tag != 27) { goto __ats_lab_181_0 ; } __ats_lab_180_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cfundecs(...)")) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)tmp603)->tag != 29) { goto __ats_lab_182_0 ; } __ats_lab_181_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cvardecs(...)")) ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)tmp603)->tag != 30) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp709 = ats_caselptrlab_mac(anairiats_sum_27, tmp603, atslab_1) ; tmp710 = ats_caselptrlab_mac(anairiats_sum_27, tmp603, atslab_2) ; /* tmp711 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cinclude(")) ; /* tmp712 = */ atspre_fprint_int (arg0, tmp709) ; /* tmp713 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp714 = */ atspre_fprint_string (arg0, tmp710) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)tmp603)->tag != 31) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp715 = ats_caselptrlab_mac(anairiats_sum_15, tmp603, atslab_1) ; tmp716 = ats_caselptrlab_mac(anairiats_sum_15, tmp603, atslab_2) ; /* tmp717 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cstaload(")) ; /* tmp718 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt (arg0, tmp715) ; /* tmp719 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp720 = */ atspre_fprint_string (arg0, tmp716) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)tmp603)->tag != 32) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp721 = ats_caselptrlab_mac(anairiats_sum_15, tmp603, atslab_1) ; tmp722 = ats_caselptrlab_mac(anairiats_sum_15, tmp603, atslab_2) ; /* tmp723 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cstaloadnm(")) ; /* tmp724 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt (arg0, tmp721) ; /* tmp725 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp726 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp722) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp603)->tag != 33) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp727 = ats_caselptrlab_mac(anairiats_sum_15, tmp603, atslab_1) ; /* tmp728 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cstaloadloc(")) ; /* tmp729 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp727) ; /* tmp730 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp731 = */ atspre_fprint_string (arg0, ATSstrcst("(*d0eclist*)")) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: if (((ats_sum_ptr_type)tmp603)->tag != 34) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp732 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp733 = */ atspre_fprint_string (arg0, ATSstrcst("D0Crequire(")) ; /* tmp734 = */ atspre_fprint_string (arg0, tmp732) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: if (((ats_sum_ptr_type)tmp603)->tag != 35) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp735 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp736 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cdynload(")) ; /* tmp737 = */ atspre_fprint_string (arg0, tmp735) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: if (((ats_sum_ptr_type)tmp603)->tag != 36) { goto __ats_lab_189_0 ; } __ats_lab_188_1: tmp738 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_0) ; tmp739 = ats_caselptrlab_mac(anairiats_sum_10, tmp603, atslab_1) ; /* tmp740 = */ atspre_fprint_string (arg0, ATSstrcst("D0Clocal(\n")) ; /* tmp741 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist (arg0, tmp738) ; /* tmp742 = */ atspre_fprint_string (arg0, ATSstrcst("\n(*in*)\n")) ; /* tmp743 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist (arg0, tmp739) ; /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: // if (((ats_sum_ptr_type)tmp603)->tag != 37) { ats_deadcode_failure_handle () ; } __ats_lab_189_1: /* tmp602 = */ atspre_fprint_string (arg0, ATSstrcst("D0Cguadecl(...)")) ; break ; } while (0) ; return /* (tmp602) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax_print.dats: 35529(line=1524, offs=3) -- 35640(line=1527, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp744) ; // ATSlocal_void (tmp745) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist: /* tmp745 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ecl) ; /* tmp744 = */ atspre_fprint_newline (arg0) ; return /* (tmp744) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0eclist] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_syntax_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_ccompenv_dats.c0000664000175000017500000075412512655455557021612 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_7 ; typedef struct { ats_int_type atslab_ccompenv_tmplevel ; ats_int_type atslab_ccompenv_tmprecdepth ; ats_ptr_type atslab_ccompenv_freeconenv ; ats_ptr_type atslab_ccompenv_loopexnenv ; ats_ptr_type atslab_ccompenv_tailcalenv ; ats_ptr_type atslab_ccompenv_flabsetenv ; ats_ptr_type atslab_ccompenv_dvarsetenv ; ats_ptr_type atslab_ccompenv_vbindmapenv ; ats_ptr_type atslab_ccompenv_markenvlst ; ats_ptr_type atslab_ccompenv_vbindmapall ; } anairiats_rec_8 ; typedef struct { anairiats_rec_8 atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIFUNDEC2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIIMPDEC2_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTmark_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_var_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec2_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec2_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_staload_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpsub_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpcstmat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpvarmat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tempenver_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__LOOPTMPLAB3_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfnx_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__CCOMPENV_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_remove) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst2set) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hifundec2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hiimpdec2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_var) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tempenver) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get2_tempenver) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec2_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundecopt2tmpvarmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_tmpvar_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2_tmpvar_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpcstmat_tmpcst_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmat_tmpvar_match) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__fprint_markenvlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_struct_uninitize) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__ccompenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__ccompenv_vtype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTnil_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTmark_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_var_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec2_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec2_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_staload_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpsub_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpcstmat_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpvarmat_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tempenver_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__LOOPTMPLAB3_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfun_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfnx_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__CCOMPENV_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_13 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type __ats_fun_13_closure_make () ; static ats_int_type __ats_fun_13_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) ; static ats_void_type split_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type merge_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_int_type loop_18 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type loop_38 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type auxfind_66 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_int_type auxfind_lst_67 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type auxfind2_68 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxfind3_69 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxfind3_lst_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type addlst_if_85 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type auxenv_87 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type addlst_if_88 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxpop_93 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxpop2_94 (ats_ref_type arg0) ; static ats_void_type auxjoin2_95 (ats_ref_type arg0) ; static ats_ptr_type loop_109 (ats_ptr_type arg0) ; static ats_void_type auxlst_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxlst_115 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxcont_116 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxlst_118 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxcont_119 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type revapp_124 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_125 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_bool_type (ats_bool_type arg0) ; static ats_bool_type theFlag_get_127 () ; static ats_void_type theFlag_set_128 () ; static ats_void_type theFlag_unset_129 () ; static ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ; static ats_ptr_type auxlst_134 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp32) ; ATSstatic (ats_ptr_type, statmp33) ; ATSstatic (ats_ptr_type, statmp43) ; ATSstatic (ats_ptr_type, statmp44) ; ATSstatic (ats_ptr_type, statmp94) ; ATSstatic (ats_ptr_type, statmp95) ; ATSstatic (ats_ptr_type, statmp96) ; ATSstatic (ats_ptr_type, statmp97) ; ATSstatic (ats_ptr_type, statmp116) ; ATSstatic (ats_ptr_type, statmp117) ; ATSstatic (ats_ptr_type, statmp118) ; ATSstatic (ats_ptr_type, statmp119) ; ATSstatic (ats_ptr_type, statmp133) ; ATSstatic (ats_ptr_type, statmp134) ; ATSstatic (ats_ptr_type, statmp135) ; ATSstatic (ats_ptr_type, statmp136) ; ATSstatic (ats_ptr_type, statmp150) ; ATSstatic (ats_ptr_type, statmp151) ; ATSstatic (ats_ptr_type, statmp770) ; ATSstatic (ats_ptr_type, statmp771) ; ATSstatic (ats_ptr_type, statmp772) ; ATSstatic (ats_ptr_type, statmp773) ; ATSstatic (ats_ptr_type, statmp811) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_ptr_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp1 = ref_01088_ats_ptr_type (arg0) ; return (tmp1) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 2219(line=87, offs=19) -- 2327(line=95, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_add: tmp8 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp10 = ats_ptrget_mac(ats_ptr_type, tmp8) ; tmp9 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp9, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp9, atslab_1, tmp10) ; ats_ptrget_mac(ats_ptr_type, tmp8) = tmp9 ; return /* (tmp7) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_revapp_6: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp19 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp20 = ats_ptrget_mac(ats_ptr_type, tmp19) ; ats_ptrget_mac(ats_ptr_type, tmp19) = arg1 ; tmp21 = arg0 ; arg0 = tmp20 ; arg1 = tmp21 ; goto __ats_lab_revapp_6 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp18 = arg1 ; break ; } while (0) ; return (tmp18) ; } /* end of [revapp_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp17 = revapp_6 (arg0, arg1) ; return (tmp17) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp22 = (ats_sum_ptr_type)0 ; tmp16 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp22) ; return (tmp16) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 2387(line=98, offs=19) -- 2568(line=109, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_get: tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp13 = ats_ptrget_mac(ats_ptr_type, tmp12) ; tmp14 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp12) = tmp14 ; tmp15 = list_vt_reverse_01506_ats_ptr_type (tmp13) ; tmp11 = ats_castfn_mac(ats_ptr_type, tmp15) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_exndeclst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 2650(line=114, offs=20) -- 2759(line=122, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_add: tmp24 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp26 = ats_ptrget_mac(ats_ptr_type, tmp24) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp25, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp25, atslab_1, tmp26) ; ats_ptrget_mac(ats_ptr_type, tmp24) = tmp25 ; return /* (tmp23) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 2821(line=125, offs=20) -- 3003(line=136, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_get: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp29 = ats_ptrget_mac(ats_ptr_type, tmp28) ; tmp30 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp28) = tmp30 ; tmp31 = list_vt_reverse_01506_ats_ptr_type (tmp29) ; tmp27 = ats_castfn_mac(ats_ptr_type, tmp31) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_saspdeclst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 3264(line=154, offs=19) -- 3372(line=162, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_add: tmp35 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp32), atslab_1) ; tmp37 = ats_ptrget_mac(ats_ptr_type, tmp35) ; tmp36 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp36, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp36, atslab_1, tmp37) ; ats_ptrget_mac(ats_ptr_type, tmp35) = tmp36 ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 3432(line=165, offs=19) -- 3613(line=176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_get: tmp39 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp32), atslab_1) ; tmp40 = ats_ptrget_mac(ats_ptr_type, tmp39) ; tmp41 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp39) = tmp41 ; tmp42 = list_vt_reverse_01506_ats_ptr_type (tmp40) ; tmp38 = ats_castfn_mac(ats_ptr_type, tmp42) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extypelst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 3877(line=194, offs=20) -- 3986(line=202, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_add: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp43), atslab_1) ; tmp48 = ats_ptrget_mac(ats_ptr_type, tmp46) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp47, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp47, atslab_1, tmp48) ; ats_ptrget_mac(ats_ptr_type, tmp46) = tmp47 ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 4179(line=214, offs=14) -- 4353(line=222, offs=2) */ ATSstaticdec() ats_int_type __ats_fun_13 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_int_type, tmp58) ; __ats_lab___ats_fun_13: tmp55 = ats_caselptrlab_mac(anairiats_rec_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp55)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 4258(line=220, offs=7) -- 4301(line=220, offs=50)") ; } tmp56 = ats_caselptrlab_mac(anairiats_sum_3, tmp55, atslab_1) ; tmp57 = ats_caselptrlab_mac(anairiats_rec_2, ats_ptrget_mac(ats_ptr_type, arg1), atslab_hidecl_node) ; if (((ats_sum_ptr_type)tmp57)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 4308(line=221, offs=7) -- 4351(line=221, offs=50)") ; } tmp58 = ats_caselptrlab_mac(anairiats_sum_3, tmp57, atslab_1) ; tmp54 = atspre_sub_int_int (tmp56, tmp58) ; return (tmp54) ; } /* end of [__ats_fun_13] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_13_closure_type ; ats_int_type __ats_fun_13_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) { return __ats_fun_13 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_13_closure_init (__ats_fun_13_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_13_clofun ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16240(line=604, offs=5) -- 16603(line=618, offs=6) */ ATSstaticdec() ats_void_type split_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp63) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_split_15: tmp64 = atspre_igt (arg1, 0) ; if (tmp64) { // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp65 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp66 = atspre_isub (arg1, 1) ; arg0 = tmp65 ; arg1 = tmp66 ; arg2 = arg2 ; goto __ats_lab_split_15 ; // tail call } else { ats_ptrget_mac(ats_ptr_type, arg2) = ats_ptrget_mac(ats_ptr_type, arg0) ; tmp67 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp67 ; } /* end of [if] */ return /* (tmp63) */ ; } /* end of [split_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16641(line=620, offs=5) -- 17444(line=646, offs=36) */ ATSstaticdec() ats_void_type merge_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab_merge_16: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp69 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp70 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp71 = &ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp72 = &ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp73 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ref_type, ats_ref_type))(ats_closure_fun(arg2))) (arg2, tmp69, tmp71) ; tmp74 = atspre_lte_int_int (tmp73, 0) ; if (tmp74) { tmp76 = ats_ptrget_mac(ats_ptr_type, tmp70) ; /* tmp75 = */ merge_16 (tmp76, arg1, arg2, tmp70) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; } else { tmp78 = ats_ptrget_mac(ats_ptr_type, tmp72) ; /* tmp77 = */ merge_16 (arg0, tmp78, arg2, tmp72) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; break ; } while (0) ; return /* (tmp68) */ ; } /* end of [merge_16] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_18 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; __ats_lab_loop_18: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp82 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp83 = ats_ptrget_mac(ats_ptr_type, tmp82) ; tmp84 = atspre_iadd (arg1, 1) ; arg0 = tmp83 ; arg1 = tmp84 ; goto __ats_lab_loop_18 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp81 = arg1 ; break ; } while (0) ; return (tmp81) ; } /* end of [loop_18] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp80) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp80 = loop_18 (arg0, 0) ; return (tmp80) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16217(line=602, offs=7) -- 17831(line=665, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; __ats_lab_list_vt_mergesort_01524_ats_ptr_type: tmp79 = list_vt_length_01501_ats_ptr_type (arg0) ; tmp85 = atspre_igte (tmp79, 2) ; if (tmp85) { // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp86 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; /* ats_ptr_type tmp87 ; */ tmp90 = atspre_isub (tmp79, 1) ; tmp89 = atspre_idiv (tmp90, 2) ; /* tmp88 = */ split_15 (tmp86, tmp89, (&tmp87)) ; tmp91 = list_vt_mergesort_01524_ats_ptr_type (arg0, arg1) ; tmp92 = list_vt_mergesort_01524_ats_ptr_type (tmp87, arg1) ; /* tmp93 = */ merge_16 (tmp91, tmp92, arg1, (&tmp87)) ; tmp62 = tmp87 ; } else { tmp62 = arg0 ; } /* end of [if] */ return (tmp62) ; } /* end of [list_vt_mergesort_01524_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 4048(line=205, offs=20) -- 4527(line=229, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (__ats_fun_13_closure_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_get: tmp50 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp43), atslab_1) ; tmp51 = ats_ptrget_mac(ats_ptr_type, tmp50) ; tmp52 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp50) = tmp52 ; /* ats_ptr_type tmp53 ; */ tmp53 = &(tmp59) ; __ats_fun_13_closure_init (tmp53) ; // closure initialization tmp60 = list_vt_reverse_01506_ats_ptr_type (tmp51) ; tmp61 = list_vt_mergesort_01524_ats_ptr_type (tmp60, tmp53) ; tmp49 = ats_castfn_mac(ats_ptr_type, tmp61) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_extcodelst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 4886(line=250, offs=20) -- 4995(line=258, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_add: tmp99 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp94), atslab_1) ; tmp101 = ats_ptrget_mac(ats_ptr_type, tmp99) ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp100, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp100, atslab_1, tmp101) ; ats_ptrget_mac(ats_ptr_type, tmp99) = tmp100 ; return /* (tmp98) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 5057(line=261, offs=20) -- 5239(line=272, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_get: tmp103 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp94), atslab_1) ; tmp104 = ats_ptrget_mac(ats_ptr_type, tmp103) ; tmp105 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp103) = tmp105 ; tmp106 = list_vt_reverse_01506_ats_ptr_type (tmp104) ; tmp102 = ats_castfn_mac(ats_ptr_type, tmp106) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_staloadlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 5322(line=277, offs=20) -- 5431(line=285, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_add: tmp108 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp96), atslab_1) ; tmp110 = ats_ptrget_mac(ats_ptr_type, tmp108) ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp109, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp109, atslab_1, tmp110) ; ats_ptrget_mac(ats_ptr_type, tmp108) = tmp109 ; return /* (tmp107) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 5493(line=288, offs=20) -- 5675(line=299, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_get: tmp112 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp96), atslab_1) ; tmp113 = ats_ptrget_mac(ats_ptr_type, tmp112) ; tmp114 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp112) = tmp114 ; tmp115 = list_vt_reverse_01506_ats_ptr_type (tmp113) ; tmp111 = ats_castfn_mac(ats_ptr_type, tmp115) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynloadlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 5946(line=316, offs=3) -- 6274(line=333, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add: tmp121 = ats_ptrget_mac(ats_ptr_type, statmp116) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_ismem (tmp121, arg0) ; tmp123 = atspre_neg_bool (tmp122) ; if (tmp123) { tmp124 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp118), atslab_1) ; tmp126 = ats_ptrget_mac(ats_ptr_type, tmp124) ; tmp125 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp125, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp125, atslab_1, tmp126) ; ats_ptrget_mac(ats_ptr_type, tmp124) = tmp125 ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_add (tmp121, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp116) = tmp127 ; } else { /* empty */ } /* end of [if] */ return /* (tmp120) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 6334(line=336, offs=19) -- 6554(line=350, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_get: tmp129 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp118), atslab_1) ; tmp130 = ats_ptrget_mac(ats_ptr_type, tmp129) ; tmp131 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp129) = tmp131 ; tmp132 = list_vt_reverse_01506_ats_ptr_type (tmp130) ; tmp128 = ats_castfn_mac(ats_ptr_type, tmp132) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dyncstlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 6824(line=367, offs=3) -- 7152(line=384, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_bool_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_add: tmp138 = ats_ptrget_mac(ats_ptr_type, statmp133) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_ismem (tmp138, arg0) ; tmp140 = atspre_neg_bool (tmp139) ; if (tmp140) { tmp141 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp135), atslab_1) ; tmp143 = ats_ptrget_mac(ats_ptr_type, tmp141) ; tmp142 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp142, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp142, atslab_1, tmp143) ; ats_ptrget_mac(ats_ptr_type, tmp141) = tmp142 ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_add (tmp138, arg0) ; ats_ptrget_mac(ats_ptr_type, statmp133) = tmp144 ; } else { /* empty */ } /* end of [if] */ return /* (tmp137) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 7212(line=387, offs=19) -- 7432(line=401, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_get: tmp146 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp135), atslab_1) ; tmp147 = ats_ptrget_mac(ats_ptr_type, tmp146) ; tmp148 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp146) = tmp148 ; tmp149 = list_vt_reverse_01506_ats_ptr_type (tmp147) ; tmp145 = ats_castfn_mac(ats_ptr_type, tmp149) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_dynconlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 7702(line=418, offs=19) -- 7808(line=424, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add: tmp153 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp150), atslab_1) ; tmp155 = ats_ptrget_mac(ats_ptr_type, tmp153) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp154, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp154, atslab_1, tmp155) ; ats_ptrget_mac(ats_ptr_type, tmp153) = tmp154 ; return /* (tmp152) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; __ats_lab_loop_31: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; /* tmp162 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp160, arg2) ; arg0 = tmp161 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_31 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp159) */ ; } /* end of [loop_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp158) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp158 = */ loop_31 (arg0, arg1, arg2) ; return /* (tmp158) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp157) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp157 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp157) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 7873(line=428, offs=3) -- 7918(line=428, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_addlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_addlst: /* tmp156 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_add) ; return /* (tmp156) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_addlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 8002(line=434, offs=19) -- 8226(line=448, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_get: tmp164 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp150), atslab_1) ; tmp165 = ats_ptrget_mac(ats_ptr_type, tmp164) ; tmp166 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp164) = tmp166 ; tmp167 = list_vt_reverse_01506_ats_ptr_type (tmp165) ; tmp163 = ats_castfn_mac(ats_ptr_type, tmp167) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funlablst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 9107(line=484, offs=20) -- 9847(line=499, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; ATS_FREE(arg0) ; arg0 = tmp169 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp170 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp171 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp172 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp173 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp174 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp175 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp176 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp176 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp177 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp178 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)arg0)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp179 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free ; // tail call break ; } while (0) ; return /* (tmp168) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 10029(line=511, offs=5) -- 13730(line=676, offs=4) */ ATSstaticdec() ats_void_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_bool_type, tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_int_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_bool_type, tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_bool_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_bool_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_int_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_bool_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; ATSlocal (ats_bool_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; ATSlocal (ats_bool_type, tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; ATSlocal (ats_bool_type, tmp252) ; // ATSlocal_void (tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_int_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; ATSlocal (ats_bool_type, tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; // ATSlocal_void (tmp267) ; ATSlocal (ats_bool_type, tmp268) ; // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; __ats_lab_loop_35: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp182 = &ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp184 = atspre_gt_int_int (arg2, 0) ; if (tmp184) { /* tmp183 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp185 = */ atspre_fprint_string (arg0, ATSstrcst("||")) ; tmp186 = ats_ptrget_mac(ats_ptr_type, tmp182) ; tmp187 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp186 ; arg2 = tmp187 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp188 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp189 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp191 = atspre_gt_int_int (arg2, 0) ; if (tmp191) { /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp193 = ats_ptrget_mac(ats_ptr_type, tmp188) ; /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp193) ; tmp194 = ats_ptrget_mac(ats_ptr_type, tmp189) ; tmp195 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp194 ; arg2 = tmp195 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp196 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp197 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp199 = atspre_gt_int_int (arg2, 0) ; if (tmp199) { /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp200 = ats_ptrget_mac(ats_ptr_type, tmp196) ; tmp201 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp200), atslab_hifundec_var) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp201) ; tmp203 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp204 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp203 ; arg2 = tmp204 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp205 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp206 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp208 = atspre_gt_int_int (arg2, 0) ; if (tmp208) { /* tmp207 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp210 = ats_ptrget_mac(ats_ptr_type, tmp205) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hifundec2 (arg0, tmp210) ; tmp211 = ats_ptrget_mac(ats_ptr_type, tmp206) ; tmp212 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp211 ; arg2 = tmp212 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp213 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp214 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp216 = atspre_gt_int_int (arg2, 0) ; if (tmp216) { /* tmp215 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp217 = ats_ptrget_mac(ats_ptr_type, tmp213) ; tmp218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp217), atslab_hiimpdec_cst) ; /* tmp219 = */ atspre_fprint_string (arg0, ATSstrcst("HIIMPDEC(")) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp218) ; /* tmp221 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp222 = ats_ptrget_mac(ats_ptr_type, tmp214) ; tmp223 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp222 ; arg2 = tmp223 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp224 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp225 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp227 = atspre_gt_int_int (arg2, 0) ; if (tmp227) { /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp229 = ats_ptrget_mac(ats_ptr_type, tmp224) ; /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hiimpdec2 (arg0, tmp229) ; tmp230 = ats_ptrget_mac(ats_ptr_type, tmp225) ; tmp231 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp230 ; arg2 = tmp231 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp232 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp233 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp235 = atspre_gt_int_int (arg2, 0) ; if (tmp235) { /* tmp234 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp237 = ats_ptrget_mac(ats_ptr_type, tmp232) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name (tmp237) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp236) ; tmp239 = ats_ptrget_mac(ats_ptr_type, tmp233) ; tmp240 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp239 ; arg2 = tmp240 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp241 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp242 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp244 = atspre_gt_int_int (arg2, 0) ; if (tmp244) { /* tmp243 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp246 = ats_ptrget_mac(ats_ptr_type, tmp241) ; /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp246) ; tmp247 = ats_ptrget_mac(ats_ptr_type, tmp242) ; tmp248 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp247 ; arg2 = tmp248 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp249 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp250 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp252 = atspre_gt_int_int (arg2, 0) ; if (tmp252) { /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp254 = ats_ptrget_mac(ats_ptr_type, tmp249) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpcstmat (arg0, tmp254) ; tmp255 = ats_ptrget_mac(ats_ptr_type, tmp250) ; tmp256 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp255 ; arg2 = tmp256 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp257 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp258 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp260 = atspre_gt_int_int (arg2, 0) ; if (tmp260) { /* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp262 = ats_ptrget_mac(ats_ptr_type, tmp257) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvarmat (arg0, tmp262) ; tmp263 = ats_ptrget_mac(ats_ptr_type, tmp258) ; tmp264 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp263 ; arg2 = tmp264 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (((ats_sum_ptr_type)arg1)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp265 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp266 = &ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp268 = atspre_gt_int_int (arg2, 0) ; if (tmp268) { /* tmp267 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp270 = ats_ptrget_mac(ats_ptr_type, tmp265) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp270) ; tmp271 = ats_ptrget_mac(ats_ptr_type, tmp266) ; tmp272 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp271 ; arg2 = tmp272 ; goto __ats_lab_loop_35 ; // tail call break ; } while (0) ; return /* (tmp181) */ ; } /* end of [loop_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 10006(line=509, offs=19) -- 13777(line=680, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__fprint_markenvlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp180) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__fprint_markenvlst: /* tmp180 = */ loop_35 (arg0, arg1, 0) ; return /* (tmp180) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__fprint_markenvlst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_38 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab_loop_38: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp279 ; goto __ats_lab_loop_38 ; // tail call break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: break ; } while (0) ; return /* (tmp278) */ ; } /* end of [loop_38] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp277) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp277 = */ loop_38 (arg0) ; return /* (tmp277) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 13954(line=691, offs=17) -- 14133(line=701, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; // ATSlocal_void (tmp276) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp276 = */ list_vt_free_01499_ats_ptr_type (tmp274) ; arg0 = tmp275 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: break ; } while (0) ; return /* (tmp273) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 14423(line=719, offs=17) -- 14607(line=729, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; // ATS_FREE(tmp281) ; arg0 = tmp282 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp280) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 14894(line=750, offs=15) -- 14986(line=757, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; ATS_FREE(arg0) ; /* tmp283 = */ list_vt_free_01499_ats_ptr_type (tmp284) ; break ; } while (0) ; return /* (tmp283) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 15120(line=767, offs=17) -- 15287(line=778, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; // ATSlocal_void (tmp288) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free (tmp286) ; arg0 = tmp287 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: break ; } while (0) ; return /* (tmp285) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 15462(line=788, offs=17) -- 15593(line=796, offs=24) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; // ATSlocal_void (tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_free (tmp290) ; arg0 = tmp291 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp289) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 15788(line=810, offs=17) -- 15918(line=818, offs=24) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; // ATSlocal_void (tmp296) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_free (tmp294) ; arg0 = tmp295 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: break ; } while (0) ; return /* (tmp293) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 16123(line=831, offs=18) -- 16245(line=839, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp298 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: break ; } while (0) ; return /* (tmp297) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 16906(line=871, offs=27) -- 17423(line=890, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_struct_uninitize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; // ATSlocal_void (tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_struct_uninitize: tmp301 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_markenvlst) ; /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__markenvlst_vt_free (tmp301) ; tmp303 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_freeconenv) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__freeconenv_free (tmp303) ; tmp305 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_loopexnenv) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__loopexnenv_free (tmp305) ; tmp307 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_tailcalenv) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tailcalenv_free (tmp307) ; tmp309 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_flabsetenv) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__flabsetenv_free (tmp309) ; tmp311 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_dvarsetenv) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dvarsetenv_free (tmp311) ; tmp313 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_vbindmapenv) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__vbindmapenv_free (tmp313) ; tmp314 = ats_select_mac(ats_ptrget_mac(anairiats_rec_8, arg0), atslab_ccompenv_vbindmapall) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_free (tmp314) ; return /* (tmp299) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_struct_uninitize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 17642(line=905, offs=3) -- 18413(line=932, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_make () { /* local vardec */ ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_make: tmp316 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; tmp317 = &ats_caselptrlab_mac(anairiats_sum_9, tmp316, atslab_0) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_tmplevel) = 0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_tmprecdepth) = 0 ; tmp318 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_freeconenv) = tmp318 ; tmp319 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_loopexnenv) = tmp319 ; tmp320 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_tailcalenv) = tmp320 ; tmp321 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_flabsetenv) = tmp321 ; tmp322 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_dvarsetenv) = tmp322 ; tmp323 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_vbindmapenv) = tmp323 ; tmp324 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTnil_0) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_markenvlst) = tmp324 ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_nil () ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp317), atslab_ccompenv_vbindmapall) = tmp325 ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv (tmp316) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv (tmp316) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv (tmp316) ; tmp315 = tmp316 ; return (tmp315) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 18486(line=937, offs=15) -- 18646(line=947, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; // ATSlocal_void (tmp331) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_free: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: // __ats_lab_50_1: tmp330 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_struct_uninitize (tmp330) ; ATS_FREE(arg0) ; break ; } while (0) ; return /* (tmp329) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 18723(line=953, offs=3) -- 18997(line=965, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_ccompenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_ccompenv: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: // __ats_lab_51_1: tmp333 = &ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("ccompenv_markenvlst: ")) ; tmp336 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp333), atslab_ccompenv_markenvlst) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__fprint_markenvlst (arg0, tmp336) ; /* tmp332 = */ atspre_fprint_newline (arg0) ; break ; } while (0) ; return /* (tmp332) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_ccompenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 19082(line=971, offs=3) -- 19196(line=977, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel: tmp338 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp337 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp338), atslab_ccompenv_tmplevel) ; return (tmp337) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 19266(line=981, offs=3) -- 19410(line=987, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_int_type, tmp341) ; ATSlocal (ats_int_type, tmp342) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel: tmp340 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp342 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp340), atslab_ccompenv_tmplevel) ; tmp341 = atspre_add_int_int (tmp342, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp340), atslab_ccompenv_tmplevel) = tmp341 ; return /* (tmp339) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 19480(line=991, offs=3) -- 19624(line=997, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_int_type, tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel: tmp344 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp346 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp344), atslab_ccompenv_tmplevel) ; tmp345 = atspre_sub_int_int (tmp346, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp344), atslab_ccompenv_tmplevel) = tmp345 ; return /* (tmp343) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmplevel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 19718(line=1003, offs=3) -- 19833(line=1009, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth: tmp348 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp347 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp348), atslab_ccompenv_tmprecdepth) ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tmprecdepth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 19909(line=1013, offs=3) -- 20059(line=1019, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmprecdepth (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_int_type, tmp351) ; ATSlocal (ats_int_type, tmp352) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmprecdepth: tmp350 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp352 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp350), atslab_ccompenv_tmprecdepth) ; tmp351 = atspre_add_int_int (tmp352, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp350), atslab_ccompenv_tmprecdepth) = tmp351 ; return /* (tmp349) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tmprecdepth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 20135(line=1023, offs=3) -- 20311(line=1030, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmprecdepth (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_int_type, tmp356) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmprecdepth: tmp354 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp355 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp354), atslab_ccompenv_tmprecdepth) ; tmp356 = atspre_sub_int_int (tmp355, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp354), atslab_ccompenv_tmprecdepth) = tmp356 ; return /* (tmp353) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tmprecdepth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 20407(line=1036, offs=3) -- 20638(line=1045, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv: tmp358 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp359 = (ats_sum_ptr_type)0 ; tmp360 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp358), atslab_ccompenv_freeconenv) ; tmp361 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp361, atslab_0, tmp359) ; ats_selptrset_mac(anairiats_sum_1, tmp361, atslab_1, tmp360) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp358), atslab_ccompenv_freeconenv) = tmp361 ; return /* (tmp357) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 20715(line=1049, offs=3) -- 20890(line=1055, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv: tmp363 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp364 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp363), atslab_ccompenv_freeconenv) ; if (tmp364 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 20764(line=1052, offs=5) -- 20816(line=1052, offs=57)") ; } tmp365 = ats_caselptrlab_mac(anairiats_sum_1, tmp364, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_1, tmp364, atslab_1) ; ATS_FREE(tmp364) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp363), atslab_ccompenv_freeconenv) = tmp366 ; tmp362 = tmp365 ; return (tmp362) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 20988(line=1061, offs=3) -- 21224(line=1072, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv: tmp368 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp369 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp368), atslab_ccompenv_freeconenv) ; if (tmp369 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 21036(line=1064, offs=5) -- 21088(line=1065, offs=40)") ; } tmp370 = &ats_caselptrlab_mac(anairiats_sum_1, tmp369, atslab_0) ; tmp372 = ats_ptrget_mac(ats_ptr_type, tmp370) ; tmp371 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp371, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp371, atslab_1, tmp372) ; ats_ptrget_mac(ats_ptr_type, tmp370) = tmp371 ; return /* (tmp367) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 21301(line=1076, offs=3) -- 21525(line=1087, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp373) ; ATSlocal (ats_bool_type, tmp374) ; ATSlocal (ats_bool_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary (arg3) ; tmp375 = atspre_neg_bool (tmp374) ; if (tmp375) { /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv (arg0, arg1) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: break ; } while (0) ; return /* (tmp373) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 21623(line=1093, offs=3) -- 21844(line=1100, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv: tmp377 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp377, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp377, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp377, atslab_2, arg3) ; tmp378 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp380 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp378), atslab_ccompenv_loopexnenv) ; tmp379 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp379, atslab_0, tmp377) ; ats_selptrset_mac(anairiats_sum_1, tmp379, atslab_1, tmp380) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp378), atslab_ccompenv_loopexnenv) = tmp379 ; return /* (tmp376) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 21918(line=1104, offs=3) -- 22128(line=1112, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv: tmp382 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp383 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp382), atslab_ccompenv_loopexnenv) ; if (tmp383 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 21962(line=1106, offs=7) -- 22008(line=1106, offs=53)") ; } tmp384 = ats_caselptrlab_mac(anairiats_sum_1, tmp383, atslab_0) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_1, tmp383, atslab_1) ; ATS_FREE(tmp383) ; // ATS_FREE(tmp384) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp382), atslab_ccompenv_loopexnenv) = tmp385 ; return /* (tmp381) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 22200(line=1116, offs=3) -- 22441(line=1125, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopfini (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopfini: tmp387 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp388 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp387), atslab_ccompenv_loopexnenv) ; if (tmp388 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 22244(line=1118, offs=7) -- 22290(line=1118, offs=53)") ; } tmp389 = &ats_caselptrlab_mac(anairiats_sum_1, tmp388, atslab_0) ; tmp390 = ats_ptrget_mac(ats_ptr_type, tmp389) ; // tmp391 = ats_caselptrlab_mac(anairiats_sum_10, tmp390, atslab_1) ; tmp386 = tmp391 ; return (tmp386) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopfini] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 22511(line=1129, offs=3) -- 22752(line=1138, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopcont (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopcont: tmp393 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp394 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp393), atslab_ccompenv_loopexnenv) ; if (tmp394 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 22555(line=1131, offs=7) -- 22601(line=1131, offs=53)") ; } tmp395 = &ats_caselptrlab_mac(anairiats_sum_1, tmp394, atslab_0) ; tmp396 = ats_ptrget_mac(ats_ptr_type, tmp395) ; // tmp397 = ats_caselptrlab_mac(anairiats_sum_10, tmp396, atslab_2) ; tmp392 = tmp397 ; return (tmp392) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_loopcont] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 22845(line=1144, offs=3) -- 23109(line=1157, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv: tmp399 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp400 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp400)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp400, atslab_0, arg1) ; tmp401 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp399), atslab_ccompenv_tailcalenv) ; tmp402 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp402, atslab_0, tmp400) ; ats_selptrset_mac(anairiats_sum_1, tmp402, atslab_1, tmp401) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp399), atslab_ccompenv_tailcalenv) = tmp402 ; return /* (tmp398) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 23187(line=1161, offs=3) -- 23392(line=1171, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv_fnx (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv_fnx: tmp404 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp405 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp405)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp405, atslab_0, arg1) ; tmp406 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp404), atslab_ccompenv_tailcalenv) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_0, tmp405) ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_1, tmp406) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp404), atslab_ccompenv_tailcalenv) = tmp407 ; return /* (tmp403) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_tailcalenv_fnx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 23470(line=1175, offs=3) -- 23669(line=1185, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; // ATSlocal_void (tmp413) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv: tmp409 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp410 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp409), atslab_ccompenv_tailcalenv) ; if (tmp410 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 23520(line=1179, offs=5) -- 23572(line=1180, offs=39)") ; } tmp411 = ats_caselptrlab_mac(anairiats_sum_1, tmp410, atslab_0) ; tmp412 = ats_caselptrlab_mac(anairiats_sum_1, tmp410, atslab_1) ; ATS_FREE(tmp410) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__tlcalitm_free (tmp411) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp409), atslab_ccompenv_tailcalenv) = tmp412 ; return /* (tmp408) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dec_tailcalenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 23760(line=1194, offs=1) -- 24168(line=1215, offs=4) */ ATSstaticdec() ats_int_type auxfind_66 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; ATSlocal (ats_bool_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; __ats_lab_auxfind_66: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (tmp415) ; tmp417 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp (arg0, tmp416) ; if (tmp417) { tmp414 = 0 ; } else { tmp414 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp418 = &ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp419 = ats_ptrget_mac(ats_ptr_type, tmp418) ; tmp414 = auxfind_lst_67 (arg0, ats_castfn_mac(ats_ptr_type, tmp419), 1) ; break ; } while (0) ; return (tmp414) ; } /* end of [auxfind_66] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 24194(line=1218, offs=1) -- 24509(line=1234, offs=4) */ ATSstaticdec() ats_int_type auxfind_lst_67 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_bool_type, tmp424) ; ATSlocal (ats_int_type, tmp425) ; __ats_lab_auxfind_lst_67: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp421 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp422 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (tmp421) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp (arg0, tmp423) ; if (tmp424) { tmp420 = arg2 ; } else { tmp425 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp422 ; arg2 = tmp425 ; goto __ats_lab_auxfind_lst_67 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp420 = -1 ; break ; } while (0) ; return (tmp420) ; } /* end of [auxfind_lst_67] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 24560(line=1239, offs=1) -- 25122(line=1269, offs=4) */ ATSstaticdec() ats_ptr_type auxfind2_68 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_bool_type, tmp430) ; __ats_lab_auxfind2_68: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_61_0 ; } __ats_lab_58_1: tmp427 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (tmp427) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (tmp428 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp429 = ats_caselptrlab_mac(anairiats_sum_11, tmp428, atslab_0) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2cst_d2cst (arg0, tmp429) ; if (tmp430) { tmp426 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp426, atslab_0, tmp427) ; } else { tmp426 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (tmp428 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp426 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp426 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp426) ; } /* end of [auxfind2_68] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 25170(line=1274, offs=1) -- 25882(line=1311, offs=4) */ ATSstaticdec() ats_ptr_type auxfind3_69 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_bool_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; __ats_lab_auxfind3_69: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_62_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (tmp432) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp433 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_11, tmp433, atslab_0) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (arg0, tmp434) ; if (tmp435) { tmp431 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp431, atslab_0, tmp432) ; } else { tmp431 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (tmp433 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp431 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp436 = &ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; ats_ptrget_mac(ats_int_type, arg2) = 1 ; tmp437 = ats_ptrget_mac(ats_ptr_type, tmp436) ; tmp431 = auxfind3_lst_70 (arg0, ats_castfn_mac(ats_ptr_type, tmp437), arg2) ; break ; } while (0) ; return (tmp431) ; } /* end of [auxfind3_69] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 25909(line=1314, offs=1) -- 26559(line=1346, offs=4) */ ATSstaticdec() ats_ptr_type auxfind3_lst_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_bool_type, tmp443) ; ATSlocal (ats_int_type, tmp444) ; __ats_lab_auxfind3_lst_70: do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_66_1: tmp439 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp440 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2vopt (tmp439) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (tmp441 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_11, tmp441, atslab_0) ; tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (arg0, tmp442) ; if (tmp443) { tmp438 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp438, atslab_0, tmp439) ; } else { tmp444 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp444 ; arg0 = arg0 ; arg1 = tmp440 ; arg2 = arg2 ; goto __ats_lab_auxfind3_lst_70 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (tmp441 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp438 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp438 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp438) ; } /* end of [auxfind3_lst_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 26647(line=1352, offs=3) -- 26893(line=1365, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp445) ; ATSlocal (ats_int_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv: tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (arg1) ; tmp447 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp448 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp447), atslab_ccompenv_tailcalenv) ; if (tmp448 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 26730(line=1357, offs=5) -- 26781(line=1358, offs=39)") ; } tmp449 = &ats_caselptrlab_mac(anairiats_sum_1, tmp448, atslab_0) ; tmp450 = ats_ptrget_mac(ats_ptr_type, tmp449) ; tmp445 = auxfind_66 (tmp446, tmp450) ; return (tmp445) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 26973(line=1369, offs=3) -- 27197(line=1383, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst: tmp452 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp453 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp452), atslab_ccompenv_tailcalenv) ; if (tmp453 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 27025(line=1373, offs=5) -- 27076(line=1374, offs=39)") ; } tmp454 = &ats_caselptrlab_mac(anairiats_sum_1, tmp453, atslab_0) ; tmp455 = ats_ptrget_mac(ats_ptr_type, tmp454) ; tmp451 = auxfind2_68 (arg1, tmp455) ; return (tmp451) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 27281(line=1387, offs=3) -- 27515(line=1401, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_var: tmp457 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp458 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp457), atslab_ccompenv_tailcalenv) ; if (tmp458 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 27338(line=1391, offs=5) -- 27389(line=1392, offs=39)") ; } tmp459 = &ats_caselptrlab_mac(anairiats_sum_1, tmp458, atslab_0) ; tmp460 = ats_ptrget_mac(ats_ptr_type, tmp459) ; tmp456 = auxfind3_69 (arg1, tmp460, arg2) ; return (tmp456) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 27905(line=1423, offs=3) -- 28384(line=1448, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpcst: tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_cst (arg0, arg1) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (tmp462 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp463 = ats_caselptrlab_mac(anairiats_sum_11, tmp462, atslab_0) ; ATS_FREE(tmp462) ; tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match (tmp463, arg2) ; if (tmp464) { tmp461 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp461, atslab_0, tmp463) ; } else { tmp461 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (tmp462 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp461 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp461) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 28495(line=1454, offs=3) -- 28985(line=1479, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_bool_type, tmp468) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpvar: tmp466 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_var (arg0, arg1, arg3) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (tmp466 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp467 = ats_caselptrlab_mac(anairiats_sum_11, tmp466, atslab_0) ; ATS_FREE(tmp466) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_tmparg_match (tmp467, arg2) ; if (tmp468) { tmp465 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp465, atslab_0, tmp467) ; } else { tmp465 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (tmp466 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: tmp465 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp465) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_tailcalenv_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 29305(line=1501, offs=3) -- 29518(line=1511, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv: tmp470 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil () ; tmp472 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp470), atslab_ccompenv_dvarsetenv) ; tmp473 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp473, atslab_0, tmp471) ; ats_selptrset_mac(anairiats_sum_1, tmp473, atslab_1, tmp472) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp470), atslab_ccompenv_dvarsetenv) = tmp473 ; return /* (tmp469) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_dvarsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 29595(line=1515, offs=3) -- 29841(line=1529, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_incwth_dvarsetenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_incwth_dvarsetenv: tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst2set (arg1) ; tmp476 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp477 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp476), atslab_ccompenv_dvarsetenv) ; tmp478 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp478, atslab_0, tmp475) ; ats_selptrset_mac(anairiats_sum_1, tmp478, atslab_1, tmp477) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp476), atslab_ccompenv_dvarsetenv) = tmp478 ; return /* (tmp474) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_incwth_dvarsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 29942(line=1535, offs=3) -- 30117(line=1543, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv: tmp480 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp481 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp480), atslab_ccompenv_dvarsetenv) ; if (tmp481 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 29996(line=1539, offs=5) -- 30048(line=1539, offs=57)") ; } tmp482 = ats_caselptrlab_mac(anairiats_sum_1, tmp481, atslab_0) ; tmp483 = ats_caselptrlab_mac(anairiats_sum_1, tmp481, atslab_1) ; ATS_FREE(tmp481) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp480), atslab_ccompenv_dvarsetenv) = tmp483 ; tmp479 = tmp482 ; return (tmp479) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_dvarsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 30222(line=1549, offs=3) -- 30577(line=1569, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp484) ; ATSlocal (ats_int_type, tmp485) ; ATSlocal (ats_bool_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_var: tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (arg1) ; tmp486 = atspre_gt_int_int (tmp485, 0) ; if (tmp486) { tmp487 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env (arg1) ; tmp489 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp487), atslab_ccompenv_dvarsetenv) ; if (tmp489 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 30381(line=1561, offs=5) -- 30433(line=1562, offs=40)") ; } tmp490 = &ats_caselptrlab_mac(anairiats_sum_1, tmp489, atslab_0) ; tmp492 = ats_ptrget_mac(ats_ptr_type, tmp490) ; tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (tmp492, tmp488) ; ats_ptrget_mac(ats_ptr_type, tmp490) = tmp491 ; } else { /* empty */ } /* end of [if] */ return /* (tmp484) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 30655(line=1573, offs=3) -- 31011(line=1592, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_bool_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env: tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (tmp494) ; tmp496 = atspre_gt_int_int (tmp495, 0) ; if (tmp496) { tmp497 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp498 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp497), atslab_ccompenv_dvarsetenv) ; if (tmp498 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 30815(line=1584, offs=5) -- 30867(line=1585, offs=40)") ; } tmp499 = &ats_caselptrlab_mac(anairiats_sum_1, tmp498, atslab_0) ; tmp501 = ats_ptrget_mac(ats_ptr_type, tmp499) ; tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (tmp501, arg1) ; ats_ptrget_mac(ats_ptr_type, tmp499) = tmp500 ; } else { /* empty */ } /* end of [if] */ return /* (tmp493) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 31106(line=1598, offs=3) -- 31376(line=1611, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv: tmp503 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp504 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil () ; tmp506 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp503), atslab_ccompenv_flabsetenv) ; tmp505 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp505, atslab_0, tmp504) ; ats_selptrset_mac(anairiats_sum_1, tmp505, atslab_1, tmp506) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp503), atslab_ccompenv_flabsetenv) = tmp505 ; return /* (tmp502) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_flabsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 31453(line=1615, offs=3) -- 31702(line=1625, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv: tmp508 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp509 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp508), atslab_ccompenv_flabsetenv) ; if (tmp509 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 31506(line=1619, offs=5) -- 31556(line=1619, offs=55)") ; } tmp510 = ats_caselptrlab_mac(anairiats_sum_1, tmp509, atslab_0) ; tmp511 = ats_caselptrlab_mac(anairiats_sum_1, tmp509, atslab_1) ; ATS_FREE(tmp509) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp508), atslab_ccompenv_flabsetenv) = tmp511 ; tmp507 = tmp510 ; return (tmp507) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_flabsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 31800(line=1631, offs=3) -- 32098(line=1646, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv: tmp513 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp514 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp513), atslab_ccompenv_flabsetenv) ; if (tmp514 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 31928(line=1640, offs=5) -- 31979(line=1641, offs=39)") ; } tmp515 = &ats_caselptrlab_mac(anairiats_sum_1, tmp514, atslab_0) ; tmp517 = ats_ptrget_mac(ats_ptr_type, tmp515) ; tmp516 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (tmp517, arg1) ; ats_ptrget_mac(ats_ptr_type, tmp515) = tmp516 ; return /* (tmp512) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 32231(line=1654, offs=5) -- 32692(line=1675, offs=4) */ ATSstaticdec() ats_void_type addlst_if_85 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_int_type, tmp523) ; // ATSlocal_void (tmp524) ; ATSlocal (ats_bool_type, tmp525) ; __ats_lab_addlst_if_85: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp520 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp521 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (tmp520) ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_level (tmp522) ; tmp525 = atspre_lte_int_int (tmp523, arg1) ; if (tmp525) { /* tmp524 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env (arg0, tmp520) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp521 ; goto __ats_lab_addlst_if_85 ; // tail call break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: break ; } while (0) ; return /* (tmp519) */ ; } /* end of [addlst_if_85] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 32199(line=1652, offs=3) -- 32759(line=1681, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_dvarsetenv_if (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp518) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_dvarsetenv_if: /* tmp518 = */ addlst_if_85 (arg0, arg1, arg2) ; return /* (tmp518) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_dvarsetenv_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 32908(line=1689, offs=5) -- 33360(line=1712, offs=4) */ ATSstaticdec() ats_void_type auxenv_87 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; // ATSlocal_void (tmp532) ; __ats_lab_auxenv_87: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_76_1: tmp528 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp529 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp530 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (tmp528) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search (arg1, tmp530) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp531 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: ATS_FREE(tmp531) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp531 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: /* tmp532 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_dvarsetenv_env (arg0, tmp528) ; break ; } while (0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp529 ; goto __ats_lab_auxenv_87 ; // tail call break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: break ; } while (0) ; return /* (tmp527) */ ; } /* end of [auxenv_87] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 33390(line=1714, offs=5) -- 34024(line=1740, offs=4) */ ATSstaticdec() ats_ptr_type addlst_if_88 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_int_type, tmp536) ; ATSlocal (ats_bool_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; // ATSlocal_void (tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; // ATSlocal_void (tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; __ats_lab_addlst_if_88: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp534 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp535 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; ATS_FREE(arg3) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (tmp534) ; tmp537 = atspre_gt_int_int (tmp536, arg1) ; if (tmp537) { tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp534) ; if (tmp538 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 33628(line=1727, offs=11) -- 33663(line=1727, offs=46)") ; } tmp539 = ats_caselptrlab_mac(anairiats_sum_11, tmp538, atslab_0) ; tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst (tmp539) ; /* tmp540 = */ auxenv_87 (arg0, arg2, tmp541) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp535 ; goto __ats_lab_addlst_if_88 ; // tail call } else { /* tmp542 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_flabsetenv (arg0, tmp534) ; tmp543 = addlst_if_88 (arg0, arg1, arg2, tmp535) ; tmp533 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp533, atslab_0, tmp534) ; ats_selptrset_mac(anairiats_sum_1, tmp533, atslab_1, tmp543) ; } /* end of [if] */ break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp533 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp533) ; } /* end of [addlst_if_88] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 32869(line=1687, offs=3) -- 34098(line=1746, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp526) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap: tmp526 = addlst_if_88 (arg0, arg1, arg2, arg3) ; return (tmp526) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_addlst_flabsetenv_ifmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 34203(line=1752, offs=3) -- 34411(line=1762, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv: tmp545 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil () ; tmp547 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp545), atslab_ccompenv_vbindmapenv) ; tmp548 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp548, atslab_0, tmp546) ; ats_selptrset_mac(anairiats_sum_1, tmp548, atslab_1, tmp547) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp545), atslab_ccompenv_vbindmapenv) = tmp548 ; return /* (tmp544) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_vbindmapenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 34490(line=1766, offs=3) -- 34669(line=1777, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_vbindmapenv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_vbindmapenv: tmp550 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp551 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp550), atslab_ccompenv_vbindmapenv) ; if (tmp551 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 34544(line=1771, offs=5) -- 34597(line=1772, offs=40)") ; } tmp552 = ats_caselptrlab_mac(anairiats_sum_1, tmp551, atslab_0) ; tmp553 = ats_caselptrlab_mac(anairiats_sum_1, tmp551, atslab_1) ; ATS_FREE(tmp551) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp550), atslab_ccompenv_vbindmapenv) = tmp553 ; tmp549 = tmp552 ; return (tmp549) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_vbindmapenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 34769(line=1783, offs=3) -- 35024(line=1796, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_bool_type, tmp558) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenv: tmp555 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp556 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp555), atslab_ccompenv_vbindmapenv) ; if (tmp556 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 34825(line=1787, offs=5) -- 34877(line=1788, offs=40)") ; } tmp557 = &ats_caselptrlab_mac(anairiats_sum_1, tmp556, atslab_0) ; tmp558 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_insert (tmp557, arg1, arg2) ; return /* (tmp554) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 35104(line=1800, offs=3) -- 35329(line=1813, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv: tmp560 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp561 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp560), atslab_ccompenv_vbindmapenv) ; if (tmp561 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 35163(line=1806, offs=5) -- 35215(line=1807, offs=40)") ; } tmp562 = &ats_caselptrlab_mac(anairiats_sum_1, tmp561, atslab_0) ; tmp563 = ats_ptrget_mac(ats_ptr_type, tmp562) ; tmp559 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_search (tmp563, arg1) ; return (tmp559) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 35483(line=1826, offs=5) -- 36331(line=1853, offs=4) */ ATSstaticdec() ats_ptr_type auxpop_93 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_bool_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; __ats_lab_auxpop_93: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp564 = arg1 ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp565 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; ATS_FREE(arg1) ; tmp564 = tmp565 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp566 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp567 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp568 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_remove (arg0, tmp566) ; arg0 = arg0 ; arg1 = tmp567 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp569 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp569 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp570 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp570 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp571 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp571 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp572 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp572 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp573 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp573 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp574 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp574 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp575 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp575 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp576 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp576 ; goto __ats_lab_auxpop_93 ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)arg1)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp577 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; ATS_FREE(arg1) ; arg0 = arg0 ; arg1 = tmp577 ; goto __ats_lab_auxpop_93 ; // tail call break ; } while (0) ; return (tmp564) ; } /* end of [auxpop_93] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 38239(line=1916, offs=1) -- 39330(line=1951, offs=4) */ ATSstaticdec() ats_void_type auxpop2_94 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; __ats_lab_auxpop2_94: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 2) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp579 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp579 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 3) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp580 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp580 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 4) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp581 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp581 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 1) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp582 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp582 ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 5) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp583 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp583 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 6) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp584 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp584 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 7) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp585 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp585 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 8) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp586 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp586 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 9) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp587 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp587 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 10) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp588 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp588 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp589 = ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp589 ; arg0 = arg0 ; goto __ats_lab_auxpop2_94 ; // tail call break ; } while (0) ; return /* (tmp578) */ ; } /* end of [auxpop2_94] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 39356(line=1954, offs=1) -- 41092(line=2004, offs=4) */ ATSstaticdec() ats_void_type auxjoin2_95 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; __ats_lab_auxjoin2_95: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 2) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp591 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp591 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 3) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp592 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp592 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 4) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp593 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp593 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 5) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp594 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp594 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 6) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp595 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp595 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 7) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp596 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp596 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 8) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp597 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp597 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 9) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp598 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp598 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 10) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp599 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp599 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 11) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp600 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp600 ; goto __ats_lab_auxjoin2_95 ; // tail call break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (((ats_sum_ptr_type)ats_ptrget_mac(ats_ptr_type, arg0))->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp601 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp601 ; /* tmp590 = */ auxpop2_94 (arg0) ; break ; } while (0) ; return /* (tmp590) */ ; } /* end of [auxjoin2_95] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 41163(line=2009, offs=15) -- 41367(line=2025, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push: tmp603 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp604 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp603), atslab_ccompenv_markenvlst) ; tmp605 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp605)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp605, atslab_0, tmp604) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp603), atslab_ccompenv_markenvlst) = tmp605 ; return /* (tmp602) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 41420(line=2029, offs=3) -- 41666(line=2045, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop: tmp607 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp608 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp607), atslab_ccompenv_markenvlst) ; tmp609 = auxpop_93 (&ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp607), atslab_ccompenv_vbindmapall), tmp608) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp607), atslab_ccompenv_markenvlst) = tmp609 ; return /* (tmp606) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 42059(line=2072, offs=3) -- 42274(line=2085, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin: tmp611 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; /* tmp610 = */ auxjoin2_95 (&ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp611), atslab_ccompenv_markenvlst)) ; return /* (tmp610) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_localjoin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 42388(line=2093, offs=3) -- 42815(line=2112, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_bool_type, tmp616) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapall: tmp613 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp614 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp613), atslab_ccompenv_markenvlst) ; tmp615 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp615)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp615, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp615, atslab_1, tmp614) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp613), atslab_ccompenv_markenvlst) = tmp615 ; tmp616 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_insert (&ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp613), atslab_ccompenv_vbindmapall), arg1, arg2) ; return /* (tmp612) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 42892(line=2116, offs=3) -- 43040(line=2123, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall: tmp618 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp619 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp618), atslab_ccompenv_vbindmapall) ; tmp617 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmaplst_vt_search (tmp619, arg1) ; return (tmp617) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_find_vbindmapall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 43140(line=2129, offs=3) -- 43276(line=2134, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp620) ; // ATSlocal_void (tmp621) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall: /* tmp621 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenv (arg0, arg1, arg2) ; /* tmp620 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapall (arg0, arg1, arg2) ; return /* (tmp620) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 43374(line=2140, offs=3) -- 43570(line=2149, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec: tmp623 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp624 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp623), atslab_ccompenv_markenvlst) ; tmp625 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp625)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp625, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp625, atslab_1, tmp624) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp623), atslab_ccompenv_markenvlst) = tmp625 ; return /* (tmp622) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 43637(line=2153, offs=3) -- 43831(line=2163, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec2: tmp627 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp628 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp627), atslab_ccompenv_markenvlst) ; tmp629 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp629)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp629, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp629, atslab_1, tmp628) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp627), atslab_ccompenv_markenvlst) = tmp629 ; return /* (tmp626) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 43919(line=2169, offs=3) -- 44115(line=2178, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec: tmp631 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp632 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp631), atslab_ccompenv_markenvlst) ; tmp633 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp633)->tag = 5 ; ats_selptrset_mac(anairiats_sum_5, tmp633, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp633, atslab_1, tmp632) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp631), atslab_ccompenv_markenvlst) = tmp633 ; return /* (tmp630) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 44182(line=2182, offs=3) -- 44376(line=2192, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec2: tmp635 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp636 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp635), atslab_ccompenv_markenvlst) ; tmp637 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp637)->tag = 6 ; ats_selptrset_mac(anairiats_sum_5, tmp637, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp637, atslab_1, tmp636) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp635), atslab_ccompenv_markenvlst) = tmp637 ; return /* (tmp634) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 44465(line=2198, offs=3) -- 44667(line=2208, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload: tmp639 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp640 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp639), atslab_ccompenv_markenvlst) ; tmp641 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp641)->tag = 7 ; ats_selptrset_mac(anairiats_sum_5, tmp641, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp641, atslab_1, tmp640) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp639), atslab_ccompenv_markenvlst) = tmp641 ; return /* (tmp638) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 44755(line=2214, offs=3) -- 44944(line=2224, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpsub (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpsub: tmp643 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp644 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp643), atslab_ccompenv_markenvlst) ; tmp645 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp645)->tag = 8 ; ats_selptrset_mac(anairiats_sum_5, tmp645, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp645, atslab_1, tmp644) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp643), atslab_ccompenv_markenvlst) = tmp645 ; return /* (tmp642) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 45134(line=2239, offs=5) -- 46910(line=2312, offs=4) */ ATSstaticdec() ats_ptr_type loop_109 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_ptr_type, tmp657) ; ATSlocal (ats_ptr_type, tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_ptr_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; __ats_lab_loop_109: do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp647 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp648 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp647 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp647, atslab_0, tmp648) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp649 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp650 = ats_ptrget_mac(ats_ptr_type, tmp649) ; arg0 = tmp650 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp651 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp652 = ats_ptrget_mac(ats_ptr_type, tmp651) ; arg0 = tmp652 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp653 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp654 = ats_ptrget_mac(ats_ptr_type, tmp653) ; arg0 = tmp654 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp655 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp656 = ats_ptrget_mac(ats_ptr_type, tmp655) ; arg0 = tmp656 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp657 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp658 = ats_ptrget_mac(ats_ptr_type, tmp657) ; arg0 = tmp658 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp659 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp660 = ats_ptrget_mac(ats_ptr_type, tmp659) ; arg0 = tmp660 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp661 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp662 = ats_ptrget_mac(ats_ptr_type, tmp661) ; arg0 = tmp662 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp663 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp664 = ats_ptrget_mac(ats_ptr_type, tmp663) ; arg0 = tmp664 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp665 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp666 = ats_ptrget_mac(ats_ptr_type, tmp665) ; arg0 = tmp666 ; goto __ats_lab_loop_109 ; // tail call break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (((ats_sum_ptr_type)arg0)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp667 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp668 = ats_ptrget_mac(ats_ptr_type, tmp667) ; arg0 = tmp668 ; goto __ats_lab_loop_109 ; // tail call break ; } while (0) ; return (tmp647) ; } /* end of [loop_109] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 45115(line=2237, offs=3) -- 47041(line=2320, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub: tmp669 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp670 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp669), atslab_ccompenv_markenvlst) ; tmp646 = loop_109 (tmp670) ; return (tmp646) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 47134(line=2326, offs=3) -- 47492(line=2342, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdecloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp671) ; ATSlocal (ats_ptr_type, tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdecloc: tmp672 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub (arg0) ; do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (tmp672 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp673 = ats_caselptrlab_mac(anairiats_sum_11, tmp672, atslab_0) ; ATS_FREE(tmp672) ; tmp675 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg2), atslab_hiimpdec_tmparg) ; tmp674 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst (arg1, tmp675) ; tmp676 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp676, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp676, atslab_1, tmp673) ; ats_selptrset_mac(anairiats_sum_10, tmp676, atslab_2, tmp674) ; /* tmp671 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdec2 (arg0, tmp676) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (tmp672 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: break ; } while (0) ; return /* (tmp671) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_impdecloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 47561(line=2349, offs=1) -- 47879(line=2367, offs=4) */ ATSstaticdec() ats_void_type auxlst_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp677) ; ATSlocal (ats_ptr_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; // ATSlocal_void (tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; __ats_lab_auxlst_111: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; } __ats_lab_132_1: break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_133_1: tmp678 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; tmp679 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_1) ; tmp681 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp681, atslab_0, tmp678) ; ats_selptrset_mac(anairiats_sum_1, tmp681, atslab_1, arg1) ; /* tmp680 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundec2 (arg0, tmp681) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp679 ; goto __ats_lab_auxlst_111 ; // tail call break ; } while (0) ; return /* (tmp677) */ ; } /* end of [auxlst_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 47960(line=2373, offs=3) -- 48273(line=2386, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundecsloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundecsloc: do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp683 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__ccompenv_find_tmpsub (arg0) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (tmp683 == (ats_sum_ptr_type)0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp684 = ats_caselptrlab_mac(anairiats_sum_11, tmp683, atslab_0) ; ATS_FREE(tmp683) ; /* tmp682 = */ auxlst_111 (arg0, tmp684, arg4) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: // if (tmp683 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_137_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp682) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_fundecsloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 48390(line=2394, offs=3) -- 48598(line=2404, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpcstmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; ATSlocal (ats_ptr_type, tmp687) ; ATSlocal (ats_ptr_type, tmp688) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpcstmat: tmp686 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp687 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp686), atslab_ccompenv_markenvlst) ; tmp688 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp688)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp688, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp688, atslab_1, tmp687) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp686), atslab_ccompenv_markenvlst) = tmp688 ; return /* (tmp685) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpcstmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 48670(line=2408, offs=3) -- 48878(line=2418, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpvarmat: tmp690 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp691 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp690), atslab_ccompenv_markenvlst) ; tmp692 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp692)->tag = 10 ; ats_selptrset_mac(anairiats_sum_5, tmp692, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp692, atslab_1, tmp691) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp690), atslab_ccompenv_markenvlst) = tmp692 ; return /* (tmp689) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tmpvarmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 48947(line=2425, offs=1) -- 51606(line=2517, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_115 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; ATSlocal (ats_ptr_type, tmp700) ; ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; ATSlocal (ats_ptr_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_ptr_type, tmp727) ; __ats_lab_auxlst_115: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp693 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp694 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp695 = ats_ptrget_mac(ats_ptr_type, tmp694) ; arg0 = tmp695 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp696 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp697 = ats_ptrget_mac(ats_ptr_type, tmp696) ; arg0 = tmp697 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp698 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp699 = ats_ptrget_mac(ats_ptr_type, tmp698) ; arg0 = tmp699 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp700 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp701 = ats_ptrget_mac(ats_ptr_type, tmp700) ; arg0 = tmp701 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp702 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp703 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp704 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec_tmpcst_match (tmp702, arg1, arg2, 0) ; tmp705 = ats_ptrget_mac(ats_ptr_type, tmp703) ; tmp693 = auxcont_116 (tmp704, tmp705, arg1, arg2) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp706 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp707 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp708 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdec2_tmpcst_match (tmp706, arg1, arg2, 0) ; tmp709 = ats_ptrget_mac(ats_ptr_type, tmp707) ; tmp693 = auxcont_116 (tmp708, tmp709, arg1, arg2) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_148_0 ; } __ats_lab_145_1: tmp710 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp711 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp712 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt (tmp710) ; do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (tmp712 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp713 = ats_caselptrlab_mac(anairiats_sum_11, tmp712, atslab_0) ; tmp714 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (tmp713, arg1) ; tmp715 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiimpdeclst_tmpcst_match (tmp714, arg1, arg2, 1) ; tmp716 = ats_ptrget_mac(ats_ptr_type, tmp711) ; tmp693 = auxcont_116 (tmp715, tmp716, arg1, arg2) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: // if (tmp712 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_147_1: tmp717 = ats_ptrget_mac(ats_ptr_type, tmp711) ; arg0 = tmp717 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp718 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp719 = ats_ptrget_mac(ats_ptr_type, tmp718) ; arg0 = tmp719 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp720 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp721 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp722 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpcstmat_tmpcst_match (tmp720, arg1, arg2) ; tmp723 = ats_ptrget_mac(ats_ptr_type, tmp721) ; tmp693 = auxcont_116 (tmp722, tmp723, arg1, arg2) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp724 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp725 = ats_ptrget_mac(ats_ptr_type, tmp724) ; arg0 = tmp725 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: // if (((ats_sum_ptr_type)arg0)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_151_1: tmp726 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp727 = ats_ptrget_mac(ats_ptr_type, tmp726) ; arg0 = tmp727 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_115 ; // tail call break ; } while (0) ; return (tmp693) ; } /* end of [auxlst_115] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 51634(line=2520, offs=1) -- 51859(line=2534, offs=4) */ ATSstaticdec() ats_ptr_type auxcont_116 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp728) ; __ats_lab_auxcont_116: do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp728 = arg0 ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp728 = arg0 ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_154_1: tmp728 = auxlst_115 (arg1, arg2, arg3) ; break ; } while (0) ; return (tmp728) ; } /* end of [auxcont_116] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 51939(line=2540, offs=3) -- 52087(line=2550, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match: tmp730 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp731 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp730), atslab_ccompenv_markenvlst) ; tmp729 = auxlst_115 (tmp731, arg1, arg2) ; return (tmp729) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpcst_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 52178(line=2558, offs=5) -- 54476(line=2633, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_118 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_ptr_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; ATSlocal (ats_ptr_type, tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_ptr_type, tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; ATSlocal (ats_ptr_type, tmp758) ; ATSlocal (ats_ptr_type, tmp759) ; ATSlocal (ats_ptr_type, tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; ATSlocal (ats_ptr_type, tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; ATSlocal (ats_ptr_type, tmp765) ; __ats_lab_auxlst_118: do { /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp732 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp733 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp734 = ats_ptrget_mac(ats_ptr_type, tmp733) ; arg0 = tmp734 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp735 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp736 = ats_ptrget_mac(ats_ptr_type, tmp735) ; arg0 = tmp736 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp737 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp738 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp739 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec_tmpvar_match (tmp737, arg1, arg2) ; tmp740 = ats_ptrget_mac(ats_ptr_type, tmp738) ; tmp732 = auxcont_119 (tmp739, tmp740, arg1, arg2) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp741 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp742 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp743 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundec2_tmpvar_match (tmp741, arg1, arg2) ; tmp744 = ats_ptrget_mac(ats_ptr_type, tmp742) ; tmp732 = auxcont_119 (tmp743, tmp744, arg1, arg2) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp745 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp746 = ats_ptrget_mac(ats_ptr_type, tmp745) ; arg0 = tmp746 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp747 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp748 = ats_ptrget_mac(ats_ptr_type, tmp747) ; arg0 = tmp748 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp749 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp750 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt (tmp749) ; if (tmp751 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 53500(line=2606, offs=9) -- 53552(line=2607, offs=40)") ; } tmp752 = ats_caselptrlab_mac(anairiats_sum_11, tmp751, atslab_0) ; tmp753 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_find (tmp752, arg1) ; tmp754 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hifundecopt2tmpvarmat (tmp753, arg2) ; tmp755 = ats_ptrget_mac(ats_ptr_type, tmp750) ; tmp732 = auxcont_119 (tmp754, tmp755, arg1, arg2) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp756 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp757 = ats_ptrget_mac(ats_ptr_type, tmp756) ; arg0 = tmp757 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp758 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp759 = ats_ptrget_mac(ats_ptr_type, tmp758) ; arg0 = tmp759 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp760 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp761 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp762 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarmat_tmpvar_match (tmp760, arg1, arg2) ; tmp763 = ats_ptrget_mac(ats_ptr_type, tmp761) ; tmp732 = auxcont_119 (tmp762, tmp763, arg1, arg2) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: // if (((ats_sum_ptr_type)arg0)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_166_1: tmp764 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp765 = ats_ptrget_mac(ats_ptr_type, tmp764) ; arg0 = tmp765 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_auxlst_118 ; // tail call break ; } while (0) ; return (tmp732) ; } /* end of [auxlst_118] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 54501(line=2635, offs=5) -- 54726(line=2649, offs=4) */ ATSstaticdec() ats_ptr_type auxcont_119 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp766) ; __ats_lab_auxcont_119: do { /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp766 = arg0 ; break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp766 = arg0 ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp766 = auxlst_118 (arg1, arg2, arg3) ; break ; } while (0) ; return (tmp766) ; } /* end of [auxcont_119] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 54806(line=2655, offs=3) -- 54951(line=2663, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp767) ; ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match: tmp768 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp769 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp768), atslab_ccompenv_markenvlst) ; tmp767 = auxlst_118 (tmp769, arg1, arg2) ; return (tmp767) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_tmpvar_match] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 55190(line=2677, offs=31) -- 55220(line=2677, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst () { /* local vardec */ ATSlocal (ats_ptr_type, tmp774) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst: tmp774 = ats_castfn_mac(ats_ptr_type, statmp770) ; return (tmp774) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_tmpvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 55263(line=2679, offs=32) -- 55293(line=2679, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst () { /* local vardec */ ATSlocal (ats_ptr_type, tmp775) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst: tmp775 = ats_castfn_mac(ats_ptr_type, statmp772) ; return (tmp775) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_toplevel_getref_primdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 55394(line=2690, offs=1) -- 55588(line=2700, offs=2) */ ATSstaticdec() ats_ptr_type revapp_124 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; ATSlocal (ats_ptr_type, tmp780) ; __ats_lab_revapp_124: do { /* branch: __ats_lab_170 */ __ats_lab_170_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp777 = arg1 ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_171_1: tmp778 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp779 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp780 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp780, atslab_0, tmp778) ; ats_selptrset_mac(anairiats_sum_1, tmp780, atslab_1, arg1) ; arg0 = tmp779 ; arg1 = tmp780 ; goto __ats_lab_revapp_124 ; // tail call break ; } while (0) ; return (tmp777) ; } /* end of [revapp_124] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 55596(line=2703, offs=1) -- 57295(line=2764, offs=2) */ ATSstaticdec() ats_ptr_type auxlst_125 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (ats_ptr_type, tmp788) ; ATSlocal (ats_ptr_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp791) ; ATSlocal (ats_ptr_type, tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_ptr_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; __ats_lab_auxlst_125: do { /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp781 = arg1 ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp782 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp783 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp785 = ats_ptrget_mac(ats_ptr_type, tmp782) ; tmp784 = revapp_124 (tmp785, arg1) ; tmp786 = ats_ptrget_mac(ats_ptr_type, tmp783) ; arg0 = tmp786 ; arg1 = tmp784 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp787 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp788 = ats_ptrget_mac(ats_ptr_type, tmp787) ; arg0 = tmp788 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp789 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp790 = ats_ptrget_mac(ats_ptr_type, tmp789) ; arg0 = tmp790 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp791 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp792 = ats_ptrget_mac(ats_ptr_type, tmp791) ; arg0 = tmp792 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp793 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp794 = ats_ptrget_mac(ats_ptr_type, tmp793) ; arg0 = tmp794 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp795 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp796 = ats_ptrget_mac(ats_ptr_type, tmp795) ; arg0 = tmp796 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp797 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp798 = ats_ptrget_mac(ats_ptr_type, tmp797) ; arg0 = tmp798 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_181_0 ; } __ats_lab_180_1: tmp799 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp800 = ats_ptrget_mac(ats_ptr_type, tmp799) ; arg0 = tmp800 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_182_0 ; } __ats_lab_181_1: tmp801 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp802 = ats_ptrget_mac(ats_ptr_type, tmp801) ; arg0 = tmp802 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp803 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp804 = ats_ptrget_mac(ats_ptr_type, tmp803) ; arg0 = tmp804 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: // if (((ats_sum_ptr_type)arg0)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_183_1: tmp805 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp806 = ats_ptrget_mac(ats_ptr_type, tmp805) ; arg0 = tmp806 ; arg1 = arg1 ; goto __ats_lab_auxlst_125 ; // tail call break ; } while (0) ; return (tmp781) ; } /* end of [auxlst_125] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 55375(line=2687, offs=3) -- 57465(line=2772, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tempenver (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; ATSlocal (ats_ptr_type, tmp810) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tempenver: tmp807 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp809 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp807), atslab_ccompenv_markenvlst) ; tmp810 = (ats_sum_ptr_type)0 ; tmp808 = auxlst_125 (tmp809, tmp810) ; tmp776 = list_vt_reverse_01506_ats_ptr_type (tmp808) ; return (tmp776) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tempenver] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_bool_type (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_bool_type, tmp813) ; __ats_lab_ref_01088_ats_bool_type: /* ats_bool_type tmp813 ; */ tmp813 = arg0 ; tmp812 = atspre_ref_make_elt_tsz ((&tmp813), sizeof(ats_bool_type)) ; return (tmp812) ; } /* end of [ref_01088_ats_bool_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 57566(line=2781, offs=1) -- 57591(line=2781, offs=26) */ ATSstaticdec() ats_bool_type theFlag_get_127 () { /* local vardec */ ATSlocal (ats_bool_type, tmp814) ; __ats_lab_theFlag_get_127: tmp814 = ats_ptrget_mac(ats_bool_type, statmp811) ; return (tmp814) ; } /* end of [theFlag_get_127] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 57596(line=2783, offs=1) -- 57629(line=2783, offs=34) */ ATSstaticdec() ats_void_type theFlag_set_128 () { /* local vardec */ // ATSlocal_void (tmp815) ; __ats_lab_theFlag_set_128: ats_ptrget_mac(ats_bool_type, statmp811) = ats_true_bool ; return /* (tmp815) */ ; } /* end of [theFlag_set_128] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 57634(line=2785, offs=1) -- 57670(line=2785, offs=37) */ ATSstaticdec() ats_void_type theFlag_unset_129 () { /* local vardec */ // ATSlocal_void (tmp816) ; __ats_lab_theFlag_unset_129: ats_ptrget_mac(ats_bool_type, statmp811) = ats_false_bool ; return /* (tmp816) */ ; } /* end of [theFlag_unset_129] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 57729(line=2791, offs=3) -- 58048(line=2811, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp817) ; // ATSlocal_void (tmp818) ; ATSlocal (ats_ptr_type, tmp819) ; ATSlocal (ats_ptr_type, tmp820) ; ATSlocal (ats_ptr_type, tmp821) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tempenver: /* tmp818 = */ theFlag_set_128 () ; tmp819 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp820 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp819), atslab_ccompenv_markenvlst) ; tmp821 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp821)->tag = 11 ; ats_selptrset_mac(anairiats_sum_5, tmp821, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp821, atslab_1, tmp820) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_8, tmp819), atslab_ccompenv_markenvlst) = tmp821 ; return /* (tmp817) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_tempenver] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87) */ ATSstaticdec() ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp827) ; __ats_lab_list_vt_is_nil_01494_: do { /* branch: __ats_lab_184 */ __ats_lab_184_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp827 = ats_true_bool ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_185_1: tmp827 = ats_false_bool ; break ; } while (0) ; return (tmp827) ; } /* end of [list_vt_is_nil_01494_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 58142(line=2817, offs=3) -- 58378(line=2837, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get2_tempenver (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_bool_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; // ATSlocal_void (tmp825) ; ATSlocal (ats_bool_type, tmp826) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get2_tempenver: tmp823 = theFlag_get_127 () ; if (tmp823) { tmp824 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get_tempenver (arg0) ; tmp826 = list_vt_is_nil_01494_ (tmp824) ; if (tmp826) { /* tmp825 = */ theFlag_unset_129 () ; } else { /* empty */ } /* end of [if] */ tmp822 = tmp824 ; } else { tmp822 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp822) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get2_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 58508(line=2845, offs=5) -- 58773(line=2860, offs=2) */ ATSstaticdec() ats_ptr_type auxlst_134 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_ptr_type, tmp831) ; ATSlocal (ats_ptr_type, tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; __ats_lab_auxlst_134: do { /* branch: __ats_lab_186 */ __ats_lab_186_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp829 = arg0 ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_187_1: tmp830 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp831 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp833 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env (tmp830) ; tmp832 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (arg0, tmp833) ; arg0 = tmp832 ; arg1 = tmp831 ; goto __ats_lab_auxlst_134 ; // tail call break ; } while (0) ; return (tmp829) ; } /* end of [auxlst_134] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_ccompenv.dats: 58483(line=2843, offs=3) -- 59012(line=2872, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dvarsetenv_add_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp828) ; ATSlocal (ats_ptr_type, tmp834) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dvarsetenv_add_tempenver: tmp834 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_get2_tempenver (arg0) ; tmp828 = auxlst_134 (arg1, tmp834) ; return (tmp828) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_dvarsetenv_add_tempenver] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTnil_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTmark_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_var_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_fundec2_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_impdec2_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_staload_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpsub_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpcstmat_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tmpvarmat_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__MARKENVLSTcons_tempenver_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__LOOPTMPLAB3_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfun_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__TCIfnx_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__CCOMPENV_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp32, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp33, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp43, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp44, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp94, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp95, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp96, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp97, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp116, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp117, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp118, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp119, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp133, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp134, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp135, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp136, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp150, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp151, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp770, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp771, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp772, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp773, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp811, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp4 = (ats_sum_ptr_type)0 ; statmp0 = ref_make_elt_01089_ats_ptr_type (statmp4) ; statmp6 = (ats_sum_ptr_type)0 ; statmp5 = ref_make_elt_01089_ats_ptr_type (statmp6) ; statmp33 = (ats_sum_ptr_type)0 ; statmp32 = ref_make_elt_01089_ats_ptr_type (statmp33) ; statmp44 = (ats_sum_ptr_type)0 ; statmp43 = ref_make_elt_01089_ats_ptr_type (statmp44) ; statmp95 = (ats_sum_ptr_type)0 ; statmp94 = ref_make_elt_01089_ats_ptr_type (statmp95) ; statmp97 = (ats_sum_ptr_type)0 ; statmp96 = ref_make_elt_01089_ats_ptr_type (statmp97) ; statmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_nil () ; statmp116 = ref_make_elt_01089_ats_ptr_type (statmp117) ; statmp119 = (ats_sum_ptr_type)0 ; statmp118 = ref_make_elt_01089_ats_ptr_type (statmp119) ; statmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_nil () ; statmp133 = ref_make_elt_01089_ats_ptr_type (statmp134) ; statmp136 = (ats_sum_ptr_type)0 ; statmp135 = ref_make_elt_01089_ats_ptr_type (statmp136) ; statmp151 = (ats_sum_ptr_type)0 ; statmp150 = ref_make_elt_01089_ats_ptr_type (statmp151) ; statmp771 = (ats_sum_ptr_type)0 ; statmp770 = ref_01088_ats_ptr_type (statmp771) ; statmp773 = (ats_sum_ptr_type)0 ; statmp772 = ref_01088_ats_ptr_type (statmp773) ; statmp811 = ref_01088_ats_bool_type (ats_false_bool) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_ccompenv_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing_error_dats.c0000664000175000017500000010317712655455557021311 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_lexerr_loc ; ats_ptr_type atslab_lexerr_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_oct_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_hex_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_unclose_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_QUOTE_dangling_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_unclose_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_oct_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_hex_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_EXTCODE_unclose_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_DIGIT_oct_89_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_UNSUPPORTED_char_11) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_lexerr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__the_lexerrlst_get) (ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp7) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 1667(line=54, offs=3) -- 1722(line=56, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make: tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_lexerr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_lexerr_node, arg1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__lexerr_make] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_int_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp6 ; */ tmp6 = arg0 ; tmp5 = atspre_ref_make_elt_tsz ((&tmp6), sizeof(ats_ptr_type)) ; return (tmp5) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp13 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp12) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp11 = */ loop_5 (arg0) ; return /* (tmp11) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 2279(line=87, offs=3) -- 2488(line=94, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_clear () { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_clear: ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp14 = ats_ptrget_mac(ats_ptr_type, tmp9) ; /* tmp10 = */ list_vt_free_01499_ats_ptr_type (tmp14) ; tmp15 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp15 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 2552(line=98, offs=3) -- 2858(line=109, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp18 = ats_ptrget_mac(ats_int_type, tmp17) ; tmp19 = atspre_add_int_int (tmp18, 1) ; ats_ptrget_mac(ats_int_type, tmp17) = tmp19 ; tmp20 = atspre_lt_int_int (tmp18, 100) ; if (tmp20) { tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp23 = ats_ptrget_mac(ats_ptr_type, tmp21) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_1, tmp23) ; ats_ptrget_mac(ats_ptr_type, tmp21) = tmp22 ; } else { /* empty */ } /* end of [if] */ return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__the_lexerrlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_revapp_10: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp32 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp33 = ats_ptrget_mac(ats_ptr_type, tmp32) ; ats_ptrget_mac(ats_ptr_type, tmp32) = arg1 ; tmp34 = arg0 ; arg0 = tmp33 ; arg1 = tmp34 ; goto __ats_lab_revapp_10 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp31 = arg1 ; break ; } while (0) ; return (tmp31) ; } /* end of [revapp_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp30 = revapp_10 (arg0, arg1) ; return (tmp30) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp35 = (ats_sum_ptr_type)0 ; tmp29 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp35) ; return (tmp29) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 2920(line=113, offs=3) -- 3127(line=120, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__the_lexerrlst_get (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__the_lexerrlst_get: tmp25 = ats_ptrget_mac(ats_int_type, statmp1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp25 ; ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp27 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp28 = list_vt_reverse_01506_ats_ptr_type (tmp27) ; tmp36 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp26) = tmp36 ; tmp24 = tmp28 ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__the_lexerrlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 3229(line=128, offs=3) -- 5917(line=203, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_lexerr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_char_type, tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_char_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_lexerr: tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_lexerr_loc) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp38) ; tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_lexerr_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp40)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp41 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp42 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the char format (oct) is incorrect.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp40)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp43 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp44 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the char format (hex) is incorrect.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp40)->tag != 2) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp45 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp46 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the char consant is unclosed.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp40)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp47 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp48 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the string-char format (oct) is incorrect.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp40)->tag != 6) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp49 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp50 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the string-char format (hex) is incorrect.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp40)->tag != 4) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp51 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp52 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the string constant is unclosed.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp40)->tag != 7) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp53 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp54 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the comment block is unclosed.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp40)->tag != 8) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp55 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp56 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the external code block is unclosed.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp40)->tag != 9) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_3, tmp40, atslab_0) ; /* tmp58 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp59 = */ atspre_fprintf_exn (arg0, ATSstrcst(": illegal digit (oct): %c"), tmp57) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp40)->tag != 10) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp60 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp61 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the floating exponent is empty.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp40)->tag != 3) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp62 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp63 = */ atspre_fprintf_exn (arg0, ATSstrcst(": the quote symbol (') is dangling.")) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (((ats_sum_ptr_type)tmp40)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_3, tmp40, atslab_0) ; /* tmp65 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(lexing)")) ; /* tmp66 = */ atspre_fprintf_exn (arg0, ATSstrcst(": unsupported char: %c"), tmp64) ; /* tmp37 = */ atspre_fprint_newline (arg0) ; break ; } while (0) ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_lexerr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 6067(line=213, offs=7) -- 6304(line=220, offs=27) */ ATSstaticdec() ats_int_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_int_type, tmp74) ; __ats_lab_loop_13: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_lexerr (arg0, tmp71) ; tmp74 = atspre_sub_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp72 ; arg2 = tmp74 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp70 = arg2 ; break ; } while (0) ; return (tmp70) ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lexing_error.dats: 5999(line=209, offs=3) -- 6719(line=239, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_the_lexerrlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_int_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_bool_type, tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_the_lexerrlst: /* ats_int_type tmp68 ; */ tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__the_lexerrlst_get ((&tmp68)) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (tmp69 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp75 = loop_13 (arg0, tmp69, tmp68) ; tmp77 = atspre_gt_int_int (tmp75, 0) ; if (tmp77) { /* tmp78 = */ atspre_fprint_string (arg0, ATSstrcst("There are possibly some additional errors.")) ; /* tmp76 = */ atspre_fprint_newline (arg0) ; } else { /* empty */ } /* end of [if] */ tmp67 = 1 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (tmp69 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp67 = 0 ; break ; } while (0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__fprint_the_lexerrlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = ref_01088_ats_int_type (0) ; statmp7 = (ats_sum_ptr_type)0 ; statmp4 = ref_01088_ats_ptr_type (statmp7) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lexing_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_icnstr_dats.c0000664000175000017500000014563612655455557022451 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_ilte) (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_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__prerr_s3exp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find) (ats_ptr_type, ats_ptr_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__sasp__s2varindmap = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_int_type cmp_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type cmp_1_closure_make () ; static ats_int_type cmp_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type compare_key_key_04537_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_02076_ats_ptr_type_2cats_int_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_02129_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_02104_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_5 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_5_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_5_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_04546_ats_ptr_type_2cats_int_type (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_int_type loop_3 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type linmap_make_nil_04538_ () ; static ats_ptr_type search_14 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_14_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_04544_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_04543_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_void_type _free_17 (ats_ptr_type arg0) ; static ats_void_type linmap_free_04555_ats_ptr_type_2cats_int_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 1625(line=51, offs=18) -- 1661(line=51, offs=54) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_constraint3_icnstr")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 2193(line=82, offs=4) -- 2268(line=84, offs=47) */ ATSstaticdec() ats_int_type cmp_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; __ats_lab_cmp_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (arg0, arg1) ; return (tmp1) ; } /* end of [cmp_1] */ typedef struct { ats_fun_ptr_type closure_fun ; } cmp_1_closure_type ; ats_int_type cmp_1_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return cmp_1 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type cmp_1_closure_init (cmp_1_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&cmp_1_clofun ; return ; } /* end of function */ ats_clo_ptr_type cmp_1_closure_make () { cmp_1_closure_type *p_clo = ATS_MALLOC(sizeof(cmp_1_closure_type)) ; cmp_1_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 2008(line=61, offs=17) -- 2036(line=61, offs=45) */ ATSstaticdec() ats_int_type compare_key_key_04537_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; __ats_lab_compare_key_key_04537_ats_ptr_type: tmp16 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp16) ; } /* end of [compare_key_key_04537_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_02076_ats_ptr_type_2cats_int_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; __ats_lab_avltree_height_02076_ats_ptr_type_2cats_int_type: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp21 = tmp22 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp21 = 0 ; break ; } while (0) ; return (tmp21) ; } /* end of [avltree_height_02076_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02129_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_avltree_rrotate_02129_ats_ptr_type_2cats_int_type: tmp32 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp32 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp33 = &ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ; tmp34 = &ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_3) ; tmp35 = &ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_4) ; tmp37 = ats_ptrget_mac(ats_ptr_type, tmp34) ; tmp36 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp37) ; tmp39 = ats_ptrget_mac(ats_ptr_type, tmp35) ; tmp38 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp39) ; tmp41 = atspre_iadd (tmp36, 0) ; tmp40 = atspre_igte (tmp41, tmp38) ; if (tmp40) { tmp42 = atspre_iadd (tmp38, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp42 ; tmp43 = ats_ptrget_mac(ats_ptr_type, tmp35) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp43 ; tmp45 = atspre_imax (tmp36, tmp42) ; tmp44 = atspre_iadd (1, tmp45) ; ats_ptrget_mac(ats_int_type, tmp33) = tmp44 ; ats_ptrget_mac(ats_ptr_type, tmp35) = arg5 ; tmp31 = tmp32 ; } else { tmp46 = ats_ptrget_mac(ats_ptr_type, tmp35) ; // if (tmp46 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp47 = &ats_caselptrlab_mac(anairiats_sum_3, tmp46, atslab_0) ; tmp48 = &ats_caselptrlab_mac(anairiats_sum_3, tmp46, atslab_3) ; tmp49 = &ats_caselptrlab_mac(anairiats_sum_3, tmp46, atslab_4) ; tmp51 = ats_ptrget_mac(ats_ptr_type, tmp48) ; tmp50 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp51) ; tmp53 = ats_ptrget_mac(ats_ptr_type, tmp49) ; tmp52 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp53) ; tmp55 = atspre_imax (tmp52, arg3) ; tmp54 = atspre_iadd (1, tmp55) ; ats_ptrget_mac(ats_int_type, arg0) = tmp54 ; tmp56 = ats_ptrget_mac(ats_ptr_type, tmp49) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp56 ; tmp58 = atspre_imax (tmp36, tmp50) ; tmp57 = atspre_iadd (1, tmp58) ; ats_ptrget_mac(ats_int_type, tmp33) = tmp57 ; tmp59 = ats_ptrget_mac(ats_ptr_type, tmp48) ; ats_ptrget_mac(ats_ptr_type, tmp35) = tmp59 ; ats_ptrget_mac(ats_int_type, tmp47) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp48) = tmp32 ; ats_ptrget_mac(ats_ptr_type, tmp49) = arg5 ; tmp31 = tmp46 ; } /* end of [if] */ return (tmp31) ; } /* end of [avltree_rrotate_02129_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02104_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab_avltree_lrotate_02104_ats_ptr_type_2cats_int_type: tmp72 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp72 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp73 = &ats_caselptrlab_mac(anairiats_sum_3, tmp72, atslab_0) ; tmp74 = &ats_caselptrlab_mac(anairiats_sum_3, tmp72, atslab_3) ; tmp75 = &ats_caselptrlab_mac(anairiats_sum_3, tmp72, atslab_4) ; tmp77 = ats_ptrget_mac(ats_ptr_type, tmp74) ; tmp76 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp77) ; tmp79 = ats_ptrget_mac(ats_ptr_type, tmp75) ; tmp78 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp79) ; tmp81 = atspre_iadd (tmp78, 0) ; tmp80 = atspre_ilte (tmp76, tmp81) ; if (tmp80) { tmp82 = atspre_iadd (tmp76, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp82 ; tmp83 = ats_ptrget_mac(ats_ptr_type, tmp74) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp83 ; tmp85 = atspre_imax (tmp82, tmp78) ; tmp84 = atspre_iadd (1, tmp85) ; ats_ptrget_mac(ats_int_type, tmp73) = tmp84 ; ats_ptrget_mac(ats_ptr_type, tmp74) = arg5 ; tmp71 = tmp72 ; } else { tmp86 = ats_ptrget_mac(ats_ptr_type, tmp74) ; // if (tmp86 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp87 = &ats_caselptrlab_mac(anairiats_sum_3, tmp86, atslab_0) ; tmp88 = &ats_caselptrlab_mac(anairiats_sum_3, tmp86, atslab_3) ; tmp89 = &ats_caselptrlab_mac(anairiats_sum_3, tmp86, atslab_4) ; tmp91 = ats_ptrget_mac(ats_ptr_type, tmp88) ; tmp90 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp91) ; tmp93 = ats_ptrget_mac(ats_ptr_type, tmp89) ; tmp92 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp93) ; tmp95 = atspre_imax (arg1, tmp90) ; tmp94 = atspre_iadd (1, tmp95) ; ats_ptrget_mac(ats_int_type, arg0) = tmp94 ; tmp96 = ats_ptrget_mac(ats_ptr_type, tmp88) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp96 ; tmp98 = atspre_imax (tmp92, tmp78) ; tmp97 = atspre_iadd (1, tmp98) ; ats_ptrget_mac(ats_int_type, tmp73) = tmp97 ; tmp99 = ats_ptrget_mac(ats_ptr_type, tmp89) ; ats_ptrget_mac(ats_ptr_type, tmp74) = tmp99 ; ats_ptrget_mac(ats_int_type, tmp87) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp88) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp89) = tmp72 ; tmp71 = tmp86 ; } /* end of [if] */ return (tmp71) ; } /* end of [avltree_lrotate_02104_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_5 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab_insert_5: do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_1_1: tmp10 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp11 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp12 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp13 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp14 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp17 = ats_ptrget_mac(ats_ptr_type, tmp11) ; tmp15 = compare_key_key_04537_ats_ptr_type (env0, tmp17, env1) ; tmp18 = atspre_lt_int_int (tmp15, 0) ; if (tmp18) { tmp19 = insert_5 (env0, env1, tmp13, arg1, arg2) ; tmp23 = ats_ptrget_mac(ats_ptr_type, tmp13) ; tmp20 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp23) ; tmp25 = ats_ptrget_mac(ats_ptr_type, tmp14) ; tmp24 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp25) ; tmp27 = atspre_isub (tmp20, tmp24) ; tmp26 = atspre_ilte (tmp27, 1) ; if (tmp26) { tmp29 = atspre_imax (tmp20, tmp24) ; tmp28 = atspre_iadd (1, tmp29) ; ats_ptrget_mac(ats_int_type, tmp10) = tmp28 ; tmp9 = tmp19 ; } else { tmp30 = avltree_rrotate_02129_ats_ptr_type_2cats_int_type (tmp10, tmp20, tmp13, tmp24, tmp14, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp30 ; tmp9 = tmp19 ; } /* end of [if] */ } else { tmp60 = atspre_gt_int_int (tmp15, 0) ; if (tmp60) { tmp61 = insert_5 (env0, env1, tmp14, arg1, arg2) ; tmp63 = ats_ptrget_mac(ats_ptr_type, tmp13) ; tmp62 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp63) ; tmp65 = ats_ptrget_mac(ats_ptr_type, tmp14) ; tmp64 = avltree_height_02076_ats_ptr_type_2cats_int_type (tmp65) ; tmp67 = atspre_isub (tmp64, tmp62) ; tmp66 = atspre_ilte (tmp67, 1) ; if (tmp66) { tmp69 = atspre_imax (tmp62, tmp64) ; tmp68 = atspre_iadd (1, tmp69) ; ats_ptrget_mac(ats_int_type, tmp10) = tmp68 ; tmp9 = tmp61 ; } else { tmp70 = avltree_lrotate_02104_ats_ptr_type_2cats_int_type (tmp10, tmp62, tmp13, tmp64, tmp14, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp70 ; tmp9 = tmp61 ; } /* end of [if] */ } else { tmp100 = ats_ptrget_mac(ats_int_type, tmp12) ; ats_ptrget_mac(ats_int_type, arg2) = tmp100 ; ats_ptrget_mac(ats_int_type, tmp12) = arg1 ; tmp9 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp102 = (ats_sum_ptr_type)0 ; tmp103 = (ats_sum_ptr_type)0 ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_3, tmp102) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_4, tmp103) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp101 ; tmp9 = ats_false_bool ; break ; } while (0) ; return (tmp9) ; } /* end of [insert_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_5_closure_type ; ats_bool_type insert_5_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { return insert_5 (((insert_5_closure_type*)cloptr)->closure_env_0, ((insert_5_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_5_closure_init (insert_5_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_5_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_5_closure_type *p_clo = ATS_MALLOC(sizeof(insert_5_closure_type)) ; insert_5_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_04546_ats_ptr_type_2cats_int_type (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp8) ; __ats_lab_linmap_insert_04546_ats_ptr_type_2cats_int_type: tmp8 = insert_5 (arg1, arg3, arg0, arg2, arg4) ; return (tmp8) ; } /* end of [linmap_insert_04546_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 2382(line=94, offs=5) -- 2825(line=107, offs=41) */ ATSstaticdec() ats_int_type loop_3 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; __ats_lab_loop_3: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp5 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* ats_int_type tmp6 ; */ tmp7 = linmap_insert_04546_ats_ptr_type_2cats_int_type (arg2, tmp4, arg1, cmp_1_closure_make (), (&tmp6)) ; tmp104 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp105 = atspre_iadd (arg1, 1) ; arg0 = tmp104 ; arg1 = tmp105 ; arg2 = arg2 ; goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp3 = arg1 ; break ; } while (0) ; return (tmp3) ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_04538_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; __ats_lab_linmap_make_nil_04538_: tmp107 = (ats_sum_ptr_type)0 ; return (tmp107) ; } /* end of [linmap_make_nil_04538_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 2324(line=90, offs=7) -- 2942(line=116, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp2) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_make: /* ats_ptr_type tmp106 ; */ tmp106 = linmap_make_nil_04538_ () ; tmp108 = loop_3 (arg0, 0, (&tmp106)) ; tmp2.atslab_0 = tmp106 ; tmp2.atslab_1 = tmp108 ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_make] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_14 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_search_14: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_6_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp117 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp118 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp119 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_4) ; tmp120 = compare_key_key_04537_ats_ptr_type (env0, tmp116, env1) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp121 = atspre_lt_int_int (tmp120, 0) ; if (!tmp121) { goto __ats_lab_8_1 ; } tmp122 = ats_ptrget_mac(ats_ptr_type, tmp118) ; arg0 = tmp122 ; goto __ats_lab_search_14 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp123 = atspre_gt_int_int (tmp120, 0) ; if (!tmp123) { goto __ats_lab_9_1 ; } tmp124 = ats_ptrget_mac(ats_ptr_type, tmp119) ; arg0 = tmp124 ; goto __ats_lab_search_14 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp115 = tmp117 ; break ; } while (0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp115 = atspre_null_ptr ; break ; } while (0) ; return (tmp115) ; } /* end of [search_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_14_closure_type ; ats_ptr_type search_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_14 (((search_14_closure_type*)cloptr)->closure_env_0, ((search_14_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_14_closure_init (search_14_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_14_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_14_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { search_14_closure_type *p_clo = ATS_MALLOC(sizeof(search_14_closure_type)) ; search_14_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_04544_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_linmap_search_ref_04544_ats_ptr_type_2cats_int_type: tmp114 = search_14 (arg1, arg2, arg0) ; return (tmp114) ; } /* end of [linmap_search_ref_04544_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_04543_ats_ptr_type_2cats_int_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_bool_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; __ats_lab_linmap_search_04543_ats_ptr_type_2cats_int_type: tmp113 = linmap_search_ref_04544_ats_ptr_type_2cats_int_type (arg0, arg1, arg2) ; tmp125 = atspre_pgt (tmp113, atspre_null_ptr) ; if (tmp125) { tmp126 = ats_ptrget_mac(ats_int_type, tmp113) ; ats_ptrget_mac(ats_int_type, arg3) = tmp126 ; tmp112 = ats_true_bool ; } else { tmp112 = ats_false_bool ; } /* end of [if] */ return (tmp112) ; } /* end of [linmap_search_04543_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 3006(line=120, offs=7) -- 3299(line=130, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_bool_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find: /* ats_int_type tmp110 ; */ tmp111 = linmap_search_04543_ats_ptr_type_2cats_int_type (arg0, arg1, cmp_1_closure_make (), (&tmp110)) ; if (tmp111) { tmp109 = atspre_iadd (tmp110, 1) ; } else { tmp109 = 0 ; } /* end of [if] */ return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_find] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20597(line=699, offs=7) -- 20733(line=701, offs=65) */ ATSstaticdec() ats_void_type _free_17 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; __ats_lab__free_17: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_3) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_4) ; ATS_FREE(arg0) ; /* tmp132 = */ _free_17 (tmp130) ; arg0 = tmp131 ; goto __ats_lab__free_17 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: break ; } while (0) ; return /* (tmp129) */ ; } /* end of [_free_17] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 20567(line=698, offs=13) -- 20755(line=703, offs=2) */ ATSstaticdec() ats_void_type linmap_free_04555_ats_ptr_type_2cats_int_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp128) ; __ats_lab_linmap_free_04555_ats_ptr_type_2cats_int_type: /* tmp128 = */ _free_17 (arg0) ; return /* (tmp128) */ ; } /* end of [linmap_free_04555_ats_ptr_type_2cats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_icnstr.dats: 3352(line=133, offs=18) -- 3380(line=133, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_free: /* tmp127 = */ linmap_free_04555_ats_ptr_type_2cats_int_type (arg0) ; return /* (tmp127) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__s2varindmap_free] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_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_constraint3_icnstr_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_typerase_decl_dats.c0000664000175000017500000032260112655455557021430 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d3ecl_loc ; ats_ptr_type atslab_d3ecl_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_i3mpdec_loc ; ats_ptr_type atslab_i3mpdec_cst ; ats_ptr_type atslab_i3mpdec_imparg ; ats_ptr_type atslab_i3mpdec_tmparg ; ats_ptr_type atslab_i3mpdec_def ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_12 ; typedef struct { anairiats_rec_12 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_f3undec_loc ; ats_ptr_type atslab_f3undec_var ; ats_ptr_type atslab_f3undec_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_v3aldec_loc ; ats_ptr_type atslab_v3aldec_pat ; ats_ptr_type atslab_v3aldec_def ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_v3ardec_loc ; ats_int_type atslab_v3ardec_knd ; ats_ptr_type atslab_v3ardec_dvar_var ; ats_ptr_type atslab_v3ardec_dvar_view ; ats_ptr_type atslab_v3ardec_type ; ats_ptr_type atslab_v3ardec_init ; ats_ptr_type atslab_v3ardec_dvaropt ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_18 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Csaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextvar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cprvardecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cinclude_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaload_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaloadloc_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdynload_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clocal_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlocal_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_d3exp_tyer_isprf_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; 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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_mhnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivaldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivardec_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiimpdec_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_is_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extcode) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_datdecs) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dcstdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_impdec) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_vardecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staloadloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_finalize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3ecl_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_impdec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_fundecs) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs_rec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_vardecs) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpcstimpmap_make_hideclist) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpvardecmap_make_hideclist) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02080_ () ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type revapp_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error4_loc_02087_ (ats_ptr_type arg0) ; static ats_ptr_type f3undec_tyer_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type app_19 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type __ats_fun_22 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f3undeclst_tyer_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type v3aldec_tyer_24 (ats_ptr_type arg0) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type v3aldeclst_tyer_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type v3ardec_tyer_29 (ats_ptr_type arg0) ; static ats_void_type aux_32 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_33 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_35 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_36 (ats_ref_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 1724(line=54, offs=18) -- 1755(line=54, offs=49) */ ATSstaticdec() ats_void_type prerr_FILENAME_02080_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02080_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_typerase_decl")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02080_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp38) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp37) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp37 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp37) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 2818(line=113, offs=3) -- 5776(line=232, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3ecl_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3ecl_tyer: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none (tmp2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp3)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp4) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_list (tmp2, tmp5) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp3)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_saspdec (tmp2, tmp6) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp3)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_1) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp2, tmp8) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extype (tmp2, tmp7, tmp9) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp3)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_0) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_1) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp11) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extvar (tmp2, tmp10, tmp12) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp3)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_1) ; tmp15 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_extcode (tmp2, tmp13, tmp14, tmp15) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp3)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_exndecs (tmp2, tmp16) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp3)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_datdecs (tmp2, tmp17, tmp18) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp3)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_1) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dcstdecs (tmp2, tmp19, tmp20) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp3)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_impdec (arg0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp3)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_fundecs (arg0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp3)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs (arg0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp3)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs_rec (arg0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp3)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_vardecs (arg0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp3)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none (tmp2) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp3)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp22) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_include (tmp2, tmp21, tmp23) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp3)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_1) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_2) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_3) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_4) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt (tmp27) ; if (tmp29 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 4222(line=175, offs=9) -- 4279(line=176, offs=44)") ; } tmp30 = ats_caselptrlab_mac(anairiats_sum_8, tmp29, atslab_0) ; tmp32 = atspre_eq_int_int (tmp28, 0) ; if (tmp32) { tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp30) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpcstimpmap_make_hideclist (tmp33) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap (tmp27) ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp39, atslab_0, tmp34) ; /* tmp36 = */ ptrset_01764_ats_ptr_type (tmp35, tmp39) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpvardecmap_make_hideclist (tmp33) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap (tmp27) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp42, atslab_0, tmp40) ; /* tmp31 = */ ptrset_01764_ats_ptr_type (tmp41, tmp42) ; } else { /* empty */ } /* end of [if] */ tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staload (tmp2, tmp24, tmp25, tmp26, tmp27, tmp28) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp3)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_1) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_2) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt (tmp45) ; if (tmp46 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 5153(line=206, offs=9) -- 5210(line=207, offs=44)") ; } tmp47 = ats_caselptrlab_mac(anairiats_sum_8, tmp46, atslab_0) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp47) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_staloadloc (tmp2, tmp43, tmp44, tmp48) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp3)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_dynload (tmp2, tmp49) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)tmp3)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_0) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_3, tmp3, atslab_1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp50) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (tmp51) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_local (tmp2, tmp52, tmp53) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3ecl_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 5903(line=242, offs=5) -- 6248(line=259, offs=4) */ ATSstaticdec() ats_ptr_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab_loop_5: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3ecl_tyer (tmp56) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_is_empty (tmp58) ; if (tmp59) { arg0 = tmp57 ; arg1 = arg1 ; goto __ats_lab_loop_5 ; // tail call } else { tmp60 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp60, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_10, tmp60, atslab_1, arg1) ; arg0 = tmp57 ; arg1 = tmp60 ; goto __ats_lab_loop_5 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp55 = arg1 ; break ; } while (0) ; return (tmp55) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_revapp_8: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp67 = &ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp68 = ats_ptrget_mac(ats_ptr_type, tmp67) ; ats_ptrget_mac(ats_ptr_type, tmp67) = arg1 ; tmp69 = arg0 ; arg0 = tmp68 ; arg1 = tmp69 ; goto __ats_lab_revapp_8 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp66 = arg1 ; break ; } while (0) ; return (tmp66) ; } /* end of [revapp_8] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp65 = revapp_8 (arg0, arg1) ; return (tmp65) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp70 = (ats_sum_ptr_type)0 ; tmp64 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp70) ; return (tmp64) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 5848(line=238, offs=3) -- 6381(line=266, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer: tmp62 = (ats_sum_ptr_type)0 ; tmp61 = loop_5 (arg0, tmp62) ; tmp63 = list_vt_reverse_01506_ats_ptr_type (tmp61) ; tmp54 = ats_castfn_mac(ats_ptr_type, tmp63) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 6462(line=272, offs=3) -- 6559(line=275, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer_errck (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer_errck: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer (arg0) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_finalize () ; tmp71 = tmp72 ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer_errck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 6644(line=281, offs=3) -- 7225(line=311, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_impdec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_impdec: tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; if (((ats_sum_ptr_type)tmp76)->tag != 9) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 6690(line=284, offs=5) -- 6731(line=284, offs=46)") ; } tmp77 = ats_caselptrlab_mac(anairiats_sum_5, tmp76, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_5, tmp76, atslab_1) ; tmp79 = atspre_gte_int_int (tmp77, 0) ; if (tmp79) { tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp78), atslab_i3mpdec_loc) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp78), atslab_i3mpdec_cst) ; tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp78), atslab_i3mpdec_imparg) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp78), atslab_i3mpdec_tmparg) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_mhnfize (tmp83) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2cst_tyer (tmp81) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp78), atslab_i3mpdec_def) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp87) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hiimpdec_make (tmp80, tmp77, tmp85, tmp82, tmp84, tmp86) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_impdec (tmp75, tmp77, tmp88) ; } else { tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_none (tmp75) ; } /* end of [if] */ return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_impdec] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab_loop_13: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp97 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp97, atslab_0, tmp95) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp97 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp98 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp96 ; arg1 = arg1 ; arg2 = tmp98 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp94) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp99) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp93 ; */ /* tmp99 = */ loop_13 (arg0, arg1, (&tmp93)) ; tmp92 = tmp93 ; return (tmp92) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 7302(line=316, offs=15) -- 7486(line=326, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (anairiats_rec_12, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_24_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_1) ; tmp100 = ats_select_mac(tmp90, atslab_s2qua_svs) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg (tmp91) ; tmp89 = list_append_01312_ats_ptr_type (tmp100, tmp101) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp89 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2455(line=89, offs=18) -- 2514(line=92, offs=2) */ ATSstaticdec() ats_void_type prerr_error4_loc_02087_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; __ats_lab_prerr_error4_loc_02087_: /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp109 = */ atspre_prerr_string (ATSstrcst(": error(4)")) ; return /* (tmp109) */ ; } /* end of [prerr_error4_loc_02087_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 7546(line=333, offs=1) -- 8134(line=368, offs=4) */ ATSstaticdec() ats_ptr_type f3undec_tyer_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_f3undec_tyer_14: tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_f3undec_loc) ; tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_f3undec_var) ; tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_f3undec_def) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp105) ; if (tmp106) { /* tmp108 = */ prerr_error4_loc_02087_ (tmp103) ; /* tmp111 = */ atspre_prerr_string (ATSstrcst(": [fun] should be replaced with [prfun].")) ; /* tmp112 = */ atspre_prerr_newline () ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp113)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp113, atslab_0, tmp105) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add (tmp113) ; } else { /* empty */ } /* end of [if] */ tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (tmp104) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp105) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundec_make (tmp103, tmp114, arg0, tmp115) ; return (tmp102) ; } /* end of [f3undec_tyer_14] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54647(line=1953, offs=6) -- 54699(line=1953, offs=58) */ ATSstaticdec() ats_ptr_type app_19 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_app_19: tmp122 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp122) ; } /* end of [app_19] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab_loop_21: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp127 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp125, arg3) ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp128, atslab_0, tmp127) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp128 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp129 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp126 ; arg1 = arg1 ; arg2 = tmp129 ; arg3 = arg3 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp130 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp130 ; break ; } while (0) ; return /* (tmp124) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp131 ; */ /* tmp132 = */ loop_21 (arg0, arg1, (&tmp131), arg2) ; tmp123 = tmp131 ; return (tmp123) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54575(line=1951, offs=23) -- 54763(line=1956, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type: tmp121 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_19, arg1) ; return (tmp121) ; } /* end of [list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54041(line=1936, offs=19) -- 54491(line=1948, offs=2) */ ATSstaticdec() ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_list_map_cloptr_01415_ats_ptr_type_ats_ptr_type: tmp120 = list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (arg0, arg1) ; return (tmp120) ; } /* end of [list_map_cloptr_01415_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 8453(line=385, offs=47) -- 8494(line=385, offs=88) */ ATSstaticdec() ats_ptr_type __ats_fun_22 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; __ats_lab___ats_fun_22: tmp134 = f3undec_tyer_14 (env0, arg0) ; return (tmp134) ; } /* end of [__ats_fun_22] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_22_closure_type ; ats_ptr_type __ats_fun_22_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_22 (((__ats_fun_22_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_22_closure_init (__ats_fun_22_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_22_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_22_closure_make (ats_ptr_type env0) { __ats_fun_22_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_22_closure_type)) ; __ats_fun_22_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 8165(line=371, offs=1) -- 8569(line=391, offs=4) */ ATSstaticdec() ats_ptr_type f3undeclst_tyer_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab_f3undeclst_tyer_16: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof (arg0) ; if (tmp117) { tmp116 = (ats_sum_ptr_type)0 ; } else { tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__decarg2imparg (arg1) ; /* ats_ptr_type tmp133 ; */ tmp133 = __ats_fun_22_closure_make (tmp118) ; tmp119 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg2, tmp133) ; ATS_FREE(tmp133) ; tmp116 = ats_castfn_mac(ats_ptr_type, tmp119) ; } /* end of [if] */ return (tmp116) ; } /* end of [f3undeclst_tyer_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 8654(line=397, offs=3) -- 8926(line=410, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_fundecs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_fundecs: tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; if (((ats_sum_ptr_type)tmp137)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 8712(line=402, offs=5) -- 8762(line=403, offs=40)") ; } tmp138 = ats_caselptrlab_mac(anairiats_sum_9, tmp137, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_9, tmp137, atslab_1) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_9, tmp137, atslab_2) ; tmp141 = f3undeclst_tyer_16 (tmp138, tmp139, tmp140) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_fundecs (tmp136, tmp138, tmp139, tmp141) ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp144, atslab_0, tmp142) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt (tmp141, tmp144) ; tmp135 = tmp142 ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 9017(line=419, offs=1) -- 9559(line=454, offs=4) */ ATSstaticdec() ats_ptr_type v3aldec_tyer_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab_v3aldec_tyer_24: tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_v3aldec_loc) ; tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_v3aldec_pat) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__p3at_tyer (tmp148) ; tmp149 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_v3aldec_def) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp149) ; if (tmp150) { /* tmp152 = */ prerr_error4_loc_02087_ (tmp146) ; /* tmp153 = */ atspre_prerr_string (ATSstrcst(": [val] should be replaced with [prval].")) ; /* tmp154 = */ atspre_prerr_newline () ; tmp155 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp155)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp155, atslab_0, tmp149) ; /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add (tmp155) ; } else { /* empty */ } /* end of [if] */ tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3exp_tyer (tmp149) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivaldec_make (tmp146, tmp147, tmp156) ; return (tmp145) ; } /* end of [v3aldec_tyer_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp160 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp160) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 9590(line=457, offs=1) -- 9864(line=472, offs=4) */ ATSstaticdec() ats_ptr_type v3aldeclst_tyer_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_bool_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab_v3aldeclst_tyer_25: tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof (arg0) ; if (tmp158) { tmp157 = (ats_sum_ptr_type)0 ; } else { tmp159 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg1, &v3aldec_tyer_24) ; tmp157 = ats_castfn_mac(ats_ptr_type, tmp159) ; } /* end of [if] */ return (tmp157) ; } /* end of [v3aldeclst_tyer_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 9947(line=477, offs=20) -- 10117(line=485, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs: tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; if (((ats_sum_ptr_type)tmp163)->tag != 11) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 9993(line=480, offs=5) -- 10033(line=480, offs=45)") ; } tmp164 = ats_caselptrlab_mac(anairiats_sum_3, tmp163, atslab_0) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_3, tmp163, atslab_1) ; tmp166 = v3aldeclst_tyer_25 (tmp164, tmp165) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs (tmp162, tmp164, tmp166) ; return (tmp161) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 10183(line=488, offs=24) -- 10361(line=496, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs_rec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs_rec: tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; if (((ats_sum_ptr_type)tmp169)->tag != 12) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 10229(line=491, offs=5) -- 10273(line=491, offs=49)") ; } tmp170 = ats_caselptrlab_mac(anairiats_sum_3, tmp169, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_3, tmp169, atslab_1) ; tmp172 = v3aldeclst_tyer_25 (tmp170, tmp171) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec (tmp168, tmp170, tmp172) ; return (tmp167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_valdecs_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 10453(line=505, offs=1) -- 10829(line=525, offs=4) */ ATSstaticdec() ats_ptr_type v3ardec_tyer_29 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_v3ardec_tyer_29: tmp174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_loc) ; tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_knd) ; tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_dvar_var) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d2var_tyer (tmp176) ; tmp178 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_dvar_view) ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_type) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp174, tmp179) ; tmp182 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_v3ardec_init) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3expopt_tyer (tmp182) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hivardec_make (tmp174, tmp175, tmp177, tmp178, tmp180, tmp181) ; return (tmp173) ; } /* end of [v3ardec_tyer_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 10909(line=530, offs=20) -- 11109(line=539, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_vardecs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_vardecs: tmp184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_loc) ; tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3ecl_node) ; if (((ats_sum_ptr_type)tmp185)->tag != 13) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 10955(line=533, offs=5) -- 10990(line=533, offs=40)") ; } tmp186 = ats_caselptrlab_mac(anairiats_sum_2, tmp185, atslab_0) ; tmp187 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp186, &v3ardec_tyer_29) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_vardecs (tmp184, ats_castfn_mac(ats_ptr_type, tmp187)) ; return (tmp183) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__d3ecl_tyer_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 11242(line=548, offs=5) -- 11749(line=576, offs=4) */ ATSstaticdec() ats_void_type aux_32 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; // ATSlocal_void (tmp196) ; __ats_lab_aux_32: tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_hidecl_node) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp190)->tag != 9) { goto __ats_lab_33_0 ; } __ats_lab_30_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_5, tmp190, atslab_1) ; tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, tmp191), atslab_hiimpdec_tmparg) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp192 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp189 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert (arg0, tmp191) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (tmp192 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: break ; } while (0) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp190)->tag != 14) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_5, tmp190, atslab_1) ; /* tmp189 = */ auxlst_33 (arg0, tmp193) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp190)->tag != 18) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_3, tmp190, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_3, tmp190, atslab_1) ; /* tmp196 = */ auxlst_33 (arg0, tmp194) ; /* tmp189 = */ auxlst_33 (arg0, tmp195) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: break ; } while (0) ; return /* (tmp189) */ ; } /* end of [aux_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 11776(line=578, offs=5) -- 11988(line=591, offs=4) */ ATSstaticdec() ats_void_type auxlst_33 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; __ats_lab_auxlst_33: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; /* tmp200 = */ aux_32 (arg0, tmp198) ; arg0 = arg0 ; arg1 = tmp199 ; goto __ats_lab_auxlst_33 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: break ; } while (0) ; return /* (tmp197) */ ; } /* end of [auxlst_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 11224(line=546, offs=29) -- 12098(line=599, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpcstimpmap_make_hideclist (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpcstimpmap_make_hideclist: /* ats_ptr_type tmp201 ; */ tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstmap_nil () ; /* tmp202 = */ auxlst_33 ((&tmp201), arg0) ; tmp188 = tmp201 ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpcstimpmap_make_hideclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 12217(line=606, offs=5) -- 12696(line=633, offs=4) */ ATSstaticdec() ats_void_type aux_35 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; // ATSlocal_void (tmp211) ; __ats_lab_aux_35: tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_hidecl_node) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp205)->tag != 10) { goto __ats_lab_41_0 ; } __ats_lab_38_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp205, atslab_1) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_9, tmp205, atslab_2) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (tmp206 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts (arg0, tmp207) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp206 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: break ; } while (0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp205)->tag != 14) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_5, tmp205, atslab_1) ; /* tmp204 = */ auxlst_36 (arg0, tmp208) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp205)->tag != 18) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_3, tmp205, atslab_0) ; tmp210 = ats_caselptrlab_mac(anairiats_sum_3, tmp205, atslab_1) ; /* tmp211 = */ auxlst_36 (arg0, tmp209) ; /* tmp204 = */ auxlst_36 (arg0, tmp210) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: break ; } while (0) ; return /* (tmp204) */ ; } /* end of [aux_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 12723(line=635, offs=5) -- 12935(line=648, offs=4) */ ATSstaticdec() ats_void_type auxlst_36 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; __ats_lab_auxlst_36: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; /* tmp215 = */ aux_35 (arg0, tmp213) ; arg0 = arg0 ; arg1 = tmp214 ; goto __ats_lab_auxlst_36 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp212) */ ; } /* end of [auxlst_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_decl.dats: 12199(line=604, offs=29) -- 13045(line=656, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpvardecmap_make_hideclist (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpvardecmap_make_hideclist: /* ats_ptr_type tmp216 ; */ tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_nil () ; /* tmp217 = */ auxlst_36 ((&tmp216), arg0) ; tmp203 = tmp216 ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__tmpvardecmap_make_hideclist] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_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 () ; #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_typerase_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_solve_dats.c0000664000175000017500000051641312655455557021411 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_15 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_label_equal_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_stamp_equal_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_funclo_equal_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_clokind_equal_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_linearity_equal_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_pfarity_equal_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2eff_subeq_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_boxity_equal_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_tyreckind_equal_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_refval_equal_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2zexp_merge_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_equal_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2exp_tyleq_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2Var_s2exp_solve_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_s2explst_length_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_labs2explst_length_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__STAERR_wths2explst_shape_16) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (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_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_subset) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_get_pol) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_nameless) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_argsrtss) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_lbs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_ubs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err) (ats_ptr_type, ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err) (ats_ptr_type, ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err) (ats_ptr_type, ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_tyleq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err_nck) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err_nck) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lVar_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_rVar_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_solve_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_bool_type aux_check_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2hnf_equal_solve_abscon_err_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type auxsolve_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type auxcheck_50 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2hnf_hypequal_solve_abscon_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 2201(line=79, offs=3) -- 2386(line=85, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (arg1, arg2) ; tmp1 = atspre_ieq (tmp2, 0) ; if (tmp1) { /* empty */ } else { tmp3 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp3 ; tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp4)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_2, arg2) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp4) ; } /* end of [if] */ return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 2471(line=90, offs=3) -- 2656(line=96, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__stamp_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__stamp_equal_solve_err: tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (arg1, arg2) ; tmp6 = atspre_ieq (tmp7, 0) ; if (tmp6) { /* empty */ } else { tmp8 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp8 ; tmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp9)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_2, arg2) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp9) ; } /* end of [if] */ return /* (tmp5) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__stamp_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 2759(line=103, offs=3) -- 2866(line=106, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve: /* ats_int_type tmp11 ; */ tmp11 = 0 ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err (arg0, arg1, arg2, (&tmp11)) ; tmp10 = tmp11 ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 2934(line=110, offs=3) -- 3113(line=116, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__eq_funclo_funclo (arg1, arg2) ; if (tmp14) { /* empty */ } else { tmp15 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp15 ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp16)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_2, arg2) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp16) ; } /* end of [if] */ return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 3222(line=123, offs=3) -- 3408(line=129, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__clokind_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__clokind_equal_solve_err: tmp18 = atspre_eq_int_int (arg1, arg2) ; if (tmp18) { /* empty */ } else { tmp19 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp19 ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp20)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp20, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp20, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp20, atslab_2, arg2) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp20) ; } /* end of [if] */ return /* (tmp17) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__clokind_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 3516(line=136, offs=3) -- 3630(line=139, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; // ATSlocal_void (tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve: /* ats_int_type tmp22 ; */ tmp22 = 0 ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err (arg0, arg1, arg2, (&tmp22)) ; tmp21 = tmp22 ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 3704(line=143, offs=3) -- 3892(line=149, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err: tmp25 = atspre_eq_int_int (arg1, arg2) ; if (tmp25) { /* empty */ } else { tmp26 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp26 ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp27)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp27, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp27, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp27, atslab_2, arg2) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp27) ; } /* end of [if] */ return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 4000(line=156, offs=3) -- 4112(line=159, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve: /* ats_int_type tmp29 ; */ tmp29 = 0 ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (arg0, arg1, arg2, (&tmp29)) ; tmp28 = tmp29 ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 4182(line=163, offs=3) -- 4368(line=169, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err: tmp32 = atspre_eq_int_int (arg1, arg2) ; if (tmp32) { /* empty */ } else { tmp33 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp33 ; tmp34 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp34)->tag = 5 ; ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_2, arg2) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp34) ; } /* end of [if] */ return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 4477(line=176, offs=3) -- 4777(line=187, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err: tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (arg2) ; if (tmp37) { tmp36 = atspre_sub_int_int (1, arg1) ; } else { tmp36 = arg1 ; } /* end of [if] */ tmp38 = atspre_eq_int_int (tmp36, 0) ; if (tmp38) { /* empty */ } else { tmp39 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp39 ; tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp40)->tag = 7 ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_2, arg2) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp40) ; } /* end of [if] */ return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 4852(line=191, offs=3) -- 5040(line=197, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (arg1, arg2) ; if (tmp42) { /* empty */ } else { tmp43 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp43 ; tmp44 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp44)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp44, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp44, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp44, atslab_2, arg2) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp44) ; } /* end of [if] */ return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 5151(line=204, offs=3) -- 5336(line=210, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_int_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err: tmp46 = atspre_eq_int_int (arg1, arg2) ; if (tmp46) { /* empty */ } else { tmp47 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp47 ; tmp48 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp48)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp48, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp48, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp48, atslab_2, arg2) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp48) ; } /* end of [if] */ return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 5576(line=221, offs=3) -- 5892(line=230, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (arg1) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge (tmp50, arg2) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot (tmp51) ; if (tmp53) { tmp54 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp54 ; tmp55 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp55)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_1, tmp50) ; ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_2, arg2) ; /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp55) ; } else { /* empty */ } /* end of [if] */ /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp (arg1, tmp51) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 6116(line=241, offs=3) -- 6446(line=254, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt (arg1) ; tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_srt) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp58, tmp57) ; tmp60 = atspre_neg_bool (tmp59) ; if (tmp60) { tmp61 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp61 ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp62)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_2, arg2) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp62) ; } else { /* empty */ } /* end of [if] */ return /* (tmp56) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 7175(line=282, offs=3) -- 8007(line=311, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (anairiats_rec_0, tmp66) ; ATSlocal (ats_int_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp (arg3, tmp65) ; tmp67 = ats_select_mac(tmp66, atslab_0) ; tmp68 = ats_select_mac(tmp66, atslab_1) ; tmp69 = ats_select_mac(tmp66, atslab_2) ; tmp70 = ats_select_mac(tmp66, atslab_3) ; tmp71 = atspre_eq_int_int (tmp67, 0) ; if (tmp71) { /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst (tmp70, arg3) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err_nck (arg0, arg1, arg2, arg3, arg4) ; } else { /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq (arg0, tmp64, tmp65) ; } /* end of [if] */ return /* (tmp63) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 8091(line=315, offs=3) -- 8721(line=337, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err_nck (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_bool_type, tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err_nck: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err (arg0, arg3, tmp74, arg4) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred (tmp74) ; if (tmp76) { tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp74) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err (arg0, arg3, tmp78, arg4) ; } else { /* empty */ } /* end of [if] */ tmp80 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp80, atslab_0, tmp74) ; /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link (arg3, tmp80) ; if (tmp76) { tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs (arg3) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err (arg0, tmp81, arg2, arg4) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs (arg3) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err (arg0, arg2, tmp83, arg4) ; } else { /* empty */ } /* end of [if] */ return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err_nck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 9145(line=354, offs=3) -- 10105(line=387, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (anairiats_rec_0, tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; // ATSlocal_void (tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp (arg3, tmp85) ; tmp88 = ats_select_mac(tmp87, atslab_0) ; tmp89 = ats_select_mac(tmp87, atslab_1) ; tmp90 = ats_select_mac(tmp87, atslab_2) ; tmp91 = ats_select_mac(tmp87, atslab_3) ; tmp92 = atspre_eq_int_int (tmp88, 0) ; if (tmp92) { /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst (tmp91, arg3) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err_nck (arg0, arg1, arg2, arg3, arg4) ; } else { /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq (arg0, tmp85, tmp86) ; } /* end of [if] */ return /* (tmp84) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 10189(line=391, offs=3) -- 10817(line=413, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err_nck (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_bool_type, tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err_nck: tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err (arg0, arg3, tmp95, arg4) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred (tmp95) ; if (tmp97) { tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp95) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err (arg0, arg3, tmp99, arg4) ; } else { /* empty */ } /* end of [if] */ tmp101 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp101, atslab_0, tmp95) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link (arg3, tmp101) ; if (tmp97) { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs (arg3) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err (arg0, tmp102, arg1, arg4) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs (arg3) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err (arg0, arg1, tmp104, arg4) ; } else { /* empty */ } /* end of [if] */ return /* (tmp94) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err_nck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 10913(line=419, offs=3) -- 11027(line=422, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve: /* ats_int_type tmp106 ; */ tmp106 = 0 ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err (arg0, arg1, arg2, (&tmp106)) ; tmp105 = tmp106 ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 11093(line=426, offs=3) -- 12085(line=463, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_uint_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_uint_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_uint_type, tmp115) ; ATSlocal (ats_uint_type, tmp116) ; ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_bool_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err: tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize (arg1) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize (arg2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp109)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: __ats_lab_0_2: tmp111 = ats_caselptrlab_mac(anairiats_sum_7, tmp109, atslab_0) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp111) ; if (!tmp112) { goto __ats_lab_1_1 ; } break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: if (((ats_sum_ptr_type)tmp110)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_2: tmp113 = ats_caselptrlab_mac(anairiats_sum_7, tmp110, atslab_0) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (tmp113) ; if (!tmp114) { goto __ats_lab_2_0 ; } break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp109)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: if (((ats_sum_ptr_type)tmp110)->tag != 0) { goto __ats_lab_4_1 ; } __ats_lab_2_2: tmp115 = ats_caselptrlab_mac(anairiats_sum_7, tmp109, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_7, tmp110, atslab_0) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_subset (tmp115, tmp116) ; if (!tmp117) { goto __ats_lab_7_2 ; } break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp109)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: if (((ats_sum_ptr_type)tmp110)->tag != 1) { goto __ats_lab_4_1 ; } __ats_lab_3_2: tmp118 = ats_caselptrlab_mac(anairiats_sum_8, tmp109, atslab_0) ; tmp119 = ats_caselptrlab_mac(anairiats_sum_8, tmp110, atslab_0) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (tmp118, tmp119) ; if (!tmp120) { goto __ats_lab_4_2 ; } break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: if (((ats_sum_ptr_type)tmp110)->tag != 1) { goto __ats_lab_7_1 ; } __ats_lab_4_2: tmp121 = ats_caselptrlab_mac(anairiats_sum_8, tmp110, atslab_0) ; tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp121), atslab_s2exp_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp122)->tag != 8) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_8, tmp122, atslab_0) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff (tmp109) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp124) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp121) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err (arg0, tmp125, tmp126, tmp123, arg3) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp127 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp127 ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp128)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp128, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp128, atslab_1, tmp109) ; ats_selptrset_mac(anairiats_sum_2, tmp128, atslab_2, tmp110) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp128) ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: __ats_lab_7_2: tmp129 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp129 ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp130)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp130, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp130, atslab_1, tmp109) ; ats_selptrset_mac(anairiats_sum_2, tmp130, atslab_2, tmp110) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp130) ; break ; } while (0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 12170(line=469, offs=1) -- 12288(line=474, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; // ATSlocal_void (tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve: /* ats_int_type tmp132 ; */ tmp132 = 0 ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err (arg0, arg1, arg2, (&tmp132)) ; tmp131 = tmp132 ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 12351(line=478, offs=1) -- 12469(line=483, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; // ATSlocal_void (tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve: /* ats_int_type tmp135 ; */ tmp135 = 0 ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, arg1, arg2, (&tmp135)) ; tmp134 = tmp135 ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 12695(line=496, offs=5) -- 13092(line=513, offs=4) */ ATSstaticdec() ats_void_type aux_solve_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; __ats_lab_aux_solve_23: tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s2exp_node) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp141)->tag != 17) { goto __ats_lab_9_0 ; } __ats_lab_8_1: if (((ats_sum_ptr_type)tmp142)->tag != 17) { goto __ats_lab_9_1 ; } __ats_lab_8_2: tmp143 = ats_caselptrlab_mac(anairiats_sum_9, tmp141, atslab_0) ; tmp144 = ats_caselptrlab_mac(anairiats_sum_9, tmp141, atslab_1) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_9, tmp142, atslab_0) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_9, tmp142, atslab_1) ; /* tmp147 = */ aux_solve_23 (arg0, tmp143, tmp145, arg3) ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (arg0, tmp144, tmp146, arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: __ats_lab_9_2: break ; } while (0) ; return /* (tmp140) */ ; } /* end of [aux_solve_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 13122(line=515, offs=5) -- 13398(line=530, offs=4) */ ATSstaticdec() ats_bool_type aux_check_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab_aux_check_24: tmp149 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s2exp_node) ; tmp150 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp149)->tag != 4) { goto __ats_lab_11_0 ; } __ats_lab_10_1: if (((ats_sum_ptr_type)tmp150)->tag != 4) { goto __ats_lab_12_1 ; } __ats_lab_10_2: tmp151 = ats_caselptrlab_mac(anairiats_sum_8, tmp149, atslab_0) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_8, tmp150, atslab_0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp151, tmp152) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp149)->tag != 17) { goto __ats_lab_12_0 ; } __ats_lab_11_1: if (((ats_sum_ptr_type)tmp150)->tag != 17) { goto __ats_lab_12_1 ; } __ats_lab_11_2: tmp153 = ats_caselptrlab_mac(anairiats_sum_9, tmp149, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_9, tmp150, atslab_0) ; arg0 = tmp153 ; arg1 = tmp154 ; goto __ats_lab_aux_check_24 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: __ats_lab_12_2: tmp148 = ats_false_bool ; break ; } while (0) ; return (tmp148) ; } /* end of [aux_check_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 12529(line=488, offs=1) -- 13546(line=536, offs=4) */ ATSstaticdec() ats_void_type s2hnf_equal_solve_abscon_err_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; __ats_lab_s2hnf_equal_solve_abscon_err_22: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp155 = aux_check_24 (tmp138, tmp139) ; if (tmp155) { /* tmp137 = */ aux_solve_23 (arg0, tmp138, tmp139, arg3) ; } else { tmp156 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp156 ; } /* end of [if] */ return /* (tmp137) */ ; } /* end of [s2hnf_equal_solve_abscon_err_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 13644(line=542, offs=3) -- 17167(line=671, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_bool_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_bool_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_int_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_bool_type, tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; // ATSlocal_void (tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_int_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_bool_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_bool_type, tmp211) ; ATSlocal (ats_bool_type, tmp212) ; ATSlocal (ats_bool_type, tmp213) ; ATSlocal (ats_bool_type, tmp214) ; ATSlocal (ats_bool_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err: tmp158 = ats_ptrget_mac(ats_int_type, arg3) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp159), atslab_s2exp_node) ; tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp160), atslab_s2exp_node) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp161)->tag != 26) { goto __ats_lab_14_0 ; } __ats_lab_13_1: __ats_lab_13_2: tmp164 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp164) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err (arg0, tmp165, arg2, arg3) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: if (((ats_sum_ptr_type)tmp162)->tag != 26) { goto __ats_lab_15_0 ; } __ats_lab_14_2: tmp166 = ats_caselptrlab_mac(anairiats_sum_8, tmp162, atslab_0) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp166) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err (arg0, arg1, tmp167, arg3) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp161)->tag != 8) { goto __ats_lab_18_0 ; } __ats_lab_15_1: __ats_lab_15_2: tmp168 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp162)->tag != 8) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_8, tmp162, atslab_0) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var (tmp168, tmp169) ; if (!tmp170) { goto __ats_lab_17_1 ; } break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_lVar_err (arg0, arg1, arg2, tmp168, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: if (((ats_sum_ptr_type)tmp162)->tag != 8) { goto __ats_lab_19_0 ; } __ats_lab_18_2: tmp171 = ats_caselptrlab_mac(anairiats_sum_8, tmp162, atslab_0) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err (arg0, arg1, arg2, tmp171, arg3) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp161)->tag != 4) { goto __ats_lab_22_0 ; } __ats_lab_19_1: __ats_lab_19_2: tmp172 = ats_caselptrlab_mac(anairiats_sum_8, tmp161, atslab_0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp162)->tag != 4) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_8, tmp162, atslab_0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp172, tmp173) ; if (tmp174) { /* empty */ } else { tmp175 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp175 ; } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq (arg0, tmp159, tmp160) ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp161)->tag != 22) { goto __ats_lab_25_0 ; } __ats_lab_22_1: __ats_lab_22_2: tmp176 = ats_caselptrlab_mac(anairiats_sum_10, tmp161, atslab_0) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_10, tmp161, atslab_1) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp162)->tag != 22) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_10, tmp162, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_10, tmp162, atslab_1) ; tmp180 = atspre_gte_int_int (tmp176, tmp178) ; if (tmp180) { /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp177, tmp179, arg3) ; } else { tmp181 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp181 ; } /* end of [if] */ break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp182 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp182 ; break ; } while (0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp161)->tag != 12) { goto __ats_lab_28_0 ; } __ats_lab_25_1: __ats_lab_25_2: tmp183 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp162)->tag != 12) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_0) ; tmp186 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_1) ; /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp183, tmp185, arg3) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp184, tmp186, arg3) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp188 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp188 ; break ; } while (0) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp161)->tag != 24) { goto __ats_lab_31_0 ; } __ats_lab_28_1: __ats_lab_28_2: tmp189 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp162)->tag != 24) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_1) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp189, tmp191, arg3) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (arg0, tmp190, tmp192, arg3) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp194 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp194 ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp161)->tag != 25) { goto __ats_lab_34_0 ; } __ats_lab_31_1: __ats_lab_31_2: tmp195 = ats_caselptrlab_mac(anairiats_sum_4, tmp161, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_4, tmp161, atslab_1) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_4, tmp161, atslab_2) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp162)->tag != 25) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_4, tmp162, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_4, tmp162, atslab_1) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_4, tmp162, atslab_2) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err (arg0, tmp195, tmp198, arg3) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (arg0, tmp196, tmp199, arg3) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_nameless (tmp195) ; if (tmp203) { /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_equal_solve_err (arg0, tmp197, tmp200, arg3) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp204 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp204 ; break ; } while (0) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp161)->tag != 31) { goto __ats_lab_37_0 ; } __ats_lab_34_1: __ats_lab_34_2: tmp205 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp161, atslab_1) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp162)->tag != 31) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_0) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_9, tmp162, atslab_1) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp205, tmp207, arg3) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_equal_solve_err (arg0, tmp206, tmp208, arg3) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp210 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp210 ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: __ats_lab_37_2: tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon (arg1) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon (arg2) ; tmp211 = atspre_mul_bool_bool (tmp212, tmp213) ; if (!tmp211) { goto __ats_lab_38_2 ; } /* tmp163 = */ s2hnf_equal_solve_abscon_err_22 (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: __ats_lab_38_2: tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2 (arg1, arg2) ; if (!tmp214) { goto __ats_lab_39_2 ; } break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: __ats_lab_39_2: /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_eqeq (arg0, tmp159, tmp160) ; break ; } while (0) ; tmp215 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg3), tmp158) ; if (tmp215) { tmp216 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp216)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp216, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp216, atslab_1, tmp159) ; ats_selptrset_mac(anairiats_sum_2, tmp216, atslab_2, tmp160) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp216) ; } else { /* empty */ } /* end of [if] */ return /* (tmp157) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 17235(line=674, offs=23) -- 17393(line=683, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err: tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_equal_solve_err (arg0, tmp218, tmp219, arg3) ; return /* (tmp217) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 17526(line=691, offs=5) -- 18027(line=710, offs=6) */ ATSstaticdec() ats_int_type loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; __ats_lab_loop_28: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_40_1: tmp222 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp222, tmp224, arg3) ; arg0 = arg0 ; arg1 = tmp223 ; arg2 = tmp225 ; arg3 = arg3 ; goto __ats_lab_loop_28 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp221 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp221 = -1 ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp221 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp221) ; } /* end of [loop_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 17487(line=689, offs=3) -- 18289(line=722, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp220) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err: tmp227 = loop_28 (arg0, arg1, arg2, arg3) ; tmp228 = atspre_neq_int_int (tmp227, 0) ; if (tmp228) { tmp229 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp229 ; tmp230 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp230)->tag = 14 ; ats_selptrset_mac(anairiats_sum_12, tmp230, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp230, atslab_1, tmp227) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp230) ; } else { /* empty */ } /* end of [if] */ return /* (tmp220) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 18430(line=730, offs=5) -- 19053(line=749, offs=6) */ ATSstaticdec() ats_int_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; __ats_lab_loop_30: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_46_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp236 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp237 = ats_caselptrlab_mac(anairiats_sum_13, tmp233, atslab_0) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_13, tmp233, atslab_2) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_13, tmp235, atslab_0) ; tmp240 = ats_caselptrlab_mac(anairiats_sum_13, tmp235, atslab_2) ; /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err (arg0, tmp237, tmp239, arg3) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp238, tmp240, arg3) ; arg0 = arg0 ; arg1 = tmp234 ; arg2 = tmp236 ; arg3 = arg3 ; goto __ats_lab_loop_30 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp232 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp232 = -1 ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp232 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp232) ; } /* end of [loop_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 18389(line=728, offs=3) -- 19335(line=761, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp231) ; ATSlocal (ats_int_type, tmp243) ; ATSlocal (ats_bool_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_equal_solve_err: tmp243 = loop_30 (arg0, arg1, arg2, arg3) ; tmp244 = atspre_neq_int_int (tmp243, 0) ; if (tmp244) { tmp245 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp245 ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp246)->tag = 15 ; ats_selptrset_mac(anairiats_sum_12, tmp246, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp246, atslab_1, tmp243) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp246) ; } else { /* empty */ } /* end of [if] */ return /* (tmp231) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 19473(line=769, offs=5) -- 20330(line=803, offs=4) */ ATSstaticdec() ats_int_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp248) ; ATSlocal (ats_int_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; __ats_lab_loop_32: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_53_0 ; } __ats_lab_52_1: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_56_1 ; } __ats_lab_52_2: tmp249 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_1) ; tmp254 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_2) ; /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp249, tmp252, arg3) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp250, tmp253, arg3) ; arg0 = arg0 ; arg1 = tmp251 ; arg2 = tmp254 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_54_0 ; } __ats_lab_53_1: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_56_1 ; } __ats_lab_53_2: tmp257 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_1) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_2) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp257, tmp260, arg3) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp258, tmp261, arg3) ; arg0 = arg0 ; arg1 = tmp259 ; arg2 = tmp262 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_55_0 ; } __ats_lab_54_1: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_56_1 ; } __ats_lab_54_2: tmp265 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; arg0 = arg0 ; arg1 = tmp265 ; arg2 = tmp266 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_56_1 ; } __ats_lab_55_2: tmp248 = 0 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: __ats_lab_56_2: tmp267 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp267 ; tmp248 = 1 ; break ; } while (0) ; return (tmp248) ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 19438(line=767, offs=3) -- 20512(line=811, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_equal_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp247) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_bool_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_equal_solve_err: tmp268 = loop_32 (arg0, arg1, arg2, arg3) ; tmp269 = atspre_gt_int_int (tmp268, 0) ; if (tmp269) { tmp270 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp270)->tag = 16 ; ats_selptrset_mac(anairiats_sum_2, tmp270, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp270, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp270, atslab_2, arg2) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp270) ; } else { /* empty */ } /* end of [if] */ return /* (tmp247) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_equal_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 20769(line=822, offs=3) -- 21227(line=840, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lVar_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lVar_err: tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err (arg0, arg3, tmp272, arg4) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp272) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err (arg0, arg3, tmp274, arg4) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs (arg3) ; /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err (arg0, tmp276, arg2, arg4) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make (arg0, tmp272) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs (arg3) ; tmp280 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp280, atslab_0, tmp278) ; ats_selptrset_mac(anairiats_sum_11, tmp280, atslab_1, tmp279) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_ubs (arg3, tmp280) ; return /* (tmp271) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lVar_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 21462(line=849, offs=3) -- 22173(line=884, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_rVar_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_rVar_err: tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_s2exp_srtck_err (arg0, arg3, tmp282, arg4) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp282) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2Var_merge_szexp_err (arg0, arg3, tmp284, arg4) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs (arg3) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err (arg0, arg1, tmp286, arg4) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make (arg0, tmp282) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs (arg3) ; tmp290 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp290, atslab_0, tmp288) ; ats_selptrset_mac(anairiats_sum_11, tmp290, atslab_1, tmp289) ; /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_lbs (arg3, tmp290) ; return /* (tmp281) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_rVar_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 22265(line=890, offs=3) -- 22379(line=893, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; // ATSlocal_void (tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve: /* ats_int_type tmp292 ; */ tmp292 = 0 ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, arg1, arg2, (&tmp292)) ; tmp291 = tmp292 ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 22441(line=897, offs=3) -- 22555(line=900, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; // ATSlocal_void (tmp296) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve: /* ats_int_type tmp295 ; */ tmp295 = 0 ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, arg1, arg2, (&tmp295)) ; tmp294 = tmp295 ; return (tmp294) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 22642(line=906, offs=3) -- 30379(line=1164, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp297) ; ATSlocal (ats_int_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_bool_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_bool_type, tmp321) ; ATSlocal (ats_bool_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_int_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (anairiats_rec_1, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (anairiats_rec_1, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_bool_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_bool_type, tmp361) ; ATSlocal (ats_int_type, tmp362) ; ATSlocal (ats_int_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_bool_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_int_type, tmp373) ; // ATSlocal_void (tmp374) ; ATSlocal (ats_int_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_int_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_int_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_int_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; ATSlocal (ats_int_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; // ATSlocal_void (tmp398) ; ATSlocal (ats_int_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_int_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_int_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_int_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; // ATSlocal_void (tmp412) ; // ATSlocal_void (tmp413) ; ATSlocal (ats_int_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_bool_type, tmp421) ; // ATSlocal_void (tmp422) ; ATSlocal (ats_int_type, tmp423) ; ATSlocal (ats_int_type, tmp424) ; ATSlocal (ats_int_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_int_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_int_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; ATSlocal (ats_int_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_bool_type, tmp439) ; ATSlocal (ats_bool_type, tmp440) ; ATSlocal (ats_int_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_bool_type, tmp443) ; ATSlocal (ats_int_type, tmp444) ; ATSlocal (ats_bool_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err: tmp298 = ats_ptrget_mac(ats_int_type, arg3) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp299), atslab_s2exp_node) ; tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp300), atslab_s2exp_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp301)->tag != 26) { goto __ats_lab_58_0 ; } __ats_lab_57_1: __ats_lab_57_2: tmp304 = ats_caselptrlab_mac(anairiats_sum_8, tmp301, atslab_0) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp304) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, tmp305, arg2, arg3) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: if (((ats_sum_ptr_type)tmp302)->tag != 26) { goto __ats_lab_61_1 ; } __ats_lab_58_2: tmp306 = ats_caselptrlab_mac(anairiats_sum_8, tmp302, atslab_0) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp306) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp307) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp308), atslab_s2exp_node) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp309)->tag != 8) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_8, tmp309, atslab_0) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_equal_solve_rVar_err (arg0, arg1, tmp307, tmp310, arg3) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, arg1, tmp307, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: if (((ats_sum_ptr_type)tmp302)->tag != 8) { goto __ats_lab_62_0 ; } __ats_lab_61_2: tmp311 = ats_caselptrlab_mac(anairiats_sum_8, tmp302, atslab_0) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_rVar_err (arg0, arg1, arg2, tmp311, arg3) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp301)->tag != 8) { goto __ats_lab_63_0 ; } __ats_lab_62_1: __ats_lab_62_2: tmp312 = ats_caselptrlab_mac(anairiats_sum_8, tmp301, atslab_0) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lVar_err (arg0, arg1, arg2, tmp312, arg3) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp301)->tag != 22) { goto __ats_lab_66_0 ; } __ats_lab_63_1: __ats_lab_63_2: tmp313 = ats_caselptrlab_mac(anairiats_sum_10, tmp301, atslab_0) ; tmp314 = ats_caselptrlab_mac(anairiats_sum_10, tmp301, atslab_1) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp302)->tag != 22) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp315 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_0) ; tmp316 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_1) ; tmp317 = atspre_gte_int_int (tmp313, tmp315) ; if (tmp317) { /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp314, tmp316, arg3) ; } else { tmp318 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp318 ; } /* end of [if] */ break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp319 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp319 ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: if (((ats_sum_ptr_type)tmp302)->tag != 22) { goto __ats_lab_69_0 ; } __ats_lab_66_2: tmp320 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_0) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp321 = atspre_eq_int_int (tmp320, 0) ; if (!tmp321) { goto __ats_lab_68_1 ; } tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (tmp299) ; if (tmp322) { tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq (tmp299, tmp300) ; if (tmp323) { /* empty */ } else { tmp324 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp324 ; } /* end of [if] */ } else { tmp325 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp325 ; } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp326 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp326 ; break ; } while (0) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp301)->tag != 28) { goto __ats_lab_70_0 ; } __ats_lab_69_1: __ats_lab_69_2: /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp328 = ats_selsin_mac(tmp327, atslab_1) */ ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add (arg0, arg2) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_all (tmp299, arg0, arg3) ; tmp331 = ats_select_mac(tmp330, atslab_0) ; tmp332 = ats_select_mac(tmp330, atslab_1) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp332) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp331, tmp329, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: if (((ats_sum_ptr_type)tmp302)->tag != 27) { goto __ats_lab_71_1 ; } __ats_lab_70_2: /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp336 = ats_selsin_mac(tmp335, atslab_1) */ ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, arg1) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all (tmp300, arg0, arg3) ; tmp339 = ats_select_mac(tmp338, atslab_0) ; tmp340 = ats_select_mac(tmp338, atslab_1) ; /* tmp341 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp340) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp337, tmp339, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: if (((ats_sum_ptr_type)tmp302)->tag != 28) { goto __ats_lab_72_0 ; } __ats_lab_71_2: /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp344 = ats_selsin_mac(tmp343, atslab_1) */ ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_absuni_and_add (arg0, arg2) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp299, tmp345, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp301)->tag != 27) { goto __ats_lab_73_0 ; } __ats_lab_72_1: __ats_lab_72_2: /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp348 = ats_selsin_mac(tmp347, atslab_1) */ ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (arg0, arg1) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp349, tmp300, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (arg0) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp301)->tag != 4) { goto __ats_lab_76_0 ; } __ats_lab_73_1: __ats_lab_73_2: tmp351 = ats_caselptrlab_mac(anairiats_sum_8, tmp301, atslab_0) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp302)->tag != 4) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp352 = ats_caselptrlab_mac(anairiats_sum_8, tmp302, atslab_0) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq (tmp351, tmp352) ; if (tmp353) { /* empty */ } else { tmp354 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp354 ; } /* end of [if] */ break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp355 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp355 ; break ; } while (0) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp301)->tag != 17) { goto __ats_lab_84_0 ; } __ats_lab_76_1: __ats_lab_76_2: tmp356 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_0) ; tmp357 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_1) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp302)->tag != 4) { goto __ats_lab_80_0 ; } __ats_lab_77_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_8, tmp302, atslab_0) ; tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp356), atslab_s2exp_node) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp359)->tag != 4) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_8, tmp359, atslab_0) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq (tmp360, tmp358) ; if (tmp361) { /* empty */ } else { tmp362 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp362 ; } /* end of [if] */ break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: __ats_lab_79_1: tmp363 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp363 ; break ; } while (0) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp302)->tag != 17) { goto __ats_lab_83_0 ; } __ats_lab_80_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_0) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_1) ; tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp356), atslab_s2exp_node) ; tmp367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp364), atslab_s2exp_node) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp366)->tag != 4) { goto __ats_lab_82_0 ; } __ats_lab_81_1: if (((ats_sum_ptr_type)tmp367)->tag != 4) { goto __ats_lab_82_1 ; } __ats_lab_81_2: tmp368 = ats_caselptrlab_mac(anairiats_sum_8, tmp366, atslab_0) ; tmp369 = ats_caselptrlab_mac(anairiats_sum_8, tmp367, atslab_0) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_subeq (tmp368, tmp369) ; if (tmp370) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_argsrtss (tmp368) ; if (tmp371 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 26618(line=1040, offs=15) -- 26668(line=1040, offs=65)") ; } tmp372 = ats_caselptrlab_mac(anairiats_sum_11, tmp371, atslab_0) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err (arg0, tmp372, tmp357, tmp365, arg3) ; } else { tmp373 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp373 ; } /* end of [if] */ break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: __ats_lab_82_2: /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp356, tmp364, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (arg0, tmp357, tmp365, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp375 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp375 ; break ; } while (0) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp301)->tag != 19) { goto __ats_lab_87_0 ; } __ats_lab_84_1: __ats_lab_84_2: tmp376 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_0) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_1) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_2) ; tmp379 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_3) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_4) ; tmp381 = ats_caselptrlab_mac(anairiats_sum_15, tmp301, atslab_5) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp302)->tag != 19) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_1) ; tmp384 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_2) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_3) ; tmp386 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_4) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_5) ; /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err (arg0, tmp376, tmp382, arg3) ; /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve_err (arg0, tmp377, tmp383, arg3) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (arg0, tmp379, tmp385, arg3) ; /* tmp391 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err (arg0, tmp378, tmp384, arg3) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err (arg0, tmp386, tmp380, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp381, tmp387, arg3) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp393 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp393 ; break ; } while (0) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp301)->tag != 12) { goto __ats_lab_90_0 ; } __ats_lab_87_1: __ats_lab_87_2: tmp394 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_0) ; tmp395 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_1) ; do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp302)->tag != 12) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp396 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_0) ; tmp397 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_1) ; /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp394, tmp396, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp395, tmp397, arg3) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp399 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp399 ; break ; } while (0) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp301)->tag != 24) { goto __ats_lab_93_0 ; } __ats_lab_90_1: __ats_lab_90_2: tmp400 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_1) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp302)->tag != 24) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp402 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_0) ; tmp403 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_1) ; /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp400, tmp402, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (arg0, tmp401, tmp403, arg3) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: tmp405 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp405 ; break ; } while (0) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp301)->tag != 25) { goto __ats_lab_96_0 ; } __ats_lab_93_1: __ats_lab_93_2: tmp406 = ats_caselptrlab_mac(anairiats_sum_4, tmp301, atslab_0) ; tmp407 = ats_caselptrlab_mac(anairiats_sum_4, tmp301, atslab_1) ; tmp408 = ats_caselptrlab_mac(anairiats_sum_4, tmp301, atslab_2) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp302)->tag != 25) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_4, tmp302, atslab_0) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_4, tmp302, atslab_1) ; tmp411 = ats_caselptrlab_mac(anairiats_sum_4, tmp302, atslab_2) ; /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__tyreckind_equal_solve_err (arg0, tmp406, tmp409, arg3) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (arg0, tmp407, tmp410, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_tyleq_solve_err (arg0, tmp408, tmp411, arg3) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp414 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp414 ; break ; } while (0) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp301)->tag != 11) { goto __ats_lab_99_0 ; } __ats_lab_96_1: __ats_lab_96_2: tmp415 = ats_caselptrlab_mac(anairiats_sum_2, tmp301, atslab_0) ; tmp416 = ats_caselptrlab_mac(anairiats_sum_2, tmp301, atslab_1) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_2, tmp301, atslab_2) ; do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp302)->tag != 11) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp418 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_1) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_2) ; tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp415, tmp418) ; if (tmp421) { /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp416, tmp419, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_equal_solve_err (arg0, tmp417, tmp420, arg3) ; } else { tmp423 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp423 ; } /* end of [if] */ break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: tmp424 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp424 ; break ; } while (0) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp301)->tag != 29) { goto __ats_lab_102_0 ; } __ats_lab_99_1: __ats_lab_99_2: tmp425 = ats_caselptrlab_mac(anairiats_sum_10, tmp301, atslab_0) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_10, tmp301, atslab_1) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp302)->tag != 29) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp427 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_0) ; tmp428 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_1) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp425, tmp427, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp426, tmp428, arg3) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: tmp430 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp430 ; break ; } while (0) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp301)->tag != 31) { goto __ats_lab_105_0 ; } __ats_lab_102_1: __ats_lab_102_2: tmp431 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_0) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_9, tmp301, atslab_1) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp302)->tag != 31) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp433 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_0) ; tmp434 = ats_caselptrlab_mac(anairiats_sum_9, tmp302, atslab_1) ; /* tmp435 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp431, tmp433, arg3) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_tyleq_solve_err (arg0, tmp432, tmp434, arg3) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: tmp436 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp436 ; break ; } while (0) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp301)->tag != 23) { goto __ats_lab_108_0 ; } __ats_lab_105_1: __ats_lab_105_2: tmp437 = ats_caselptrlab_mac(anairiats_sum_8, tmp301, atslab_0) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp302)->tag != 23) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_8, tmp302, atslab_0) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq (tmp437, tmp438) ; tmp439 = atspre_neg_bool (tmp440) ; if (tmp439) { tmp441 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp441 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: tmp442 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp442 ; break ; } while (0) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: __ats_lab_108_1: __ats_lab_108_2: tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_syneq2 (arg1, arg2) ; if (!tmp443) { goto __ats_lab_109_2 ; } break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: __ats_lab_109_2: tmp444 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp444 ; break ; } while (0) ; tmp445 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg3), tmp298) ; if (tmp445) { tmp446 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp446)->tag = 12 ; ats_selptrset_mac(anairiats_sum_2, tmp446, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp446, atslab_1, tmp299) ; ats_selptrset_mac(anairiats_sum_2, tmp446, atslab_2, tmp300) ; /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp446) ; } else { /* empty */ } /* end of [if] */ return /* (tmp297) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 30449(line=1168, offs=3) -- 30618(line=1174, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err: tmp448 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp449 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, tmp448, tmp449, arg3) ; return /* (tmp447) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 30751(line=1182, offs=5) -- 31252(line=1201, offs=6) */ ATSstaticdec() ats_int_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; // ATSlocal_void (tmp456) ; __ats_lab_loop_40: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_110_1: tmp452 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp453 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp455 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; /* tmp456 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp452, tmp454, arg3) ; arg0 = arg0 ; arg1 = tmp453 ; arg2 = tmp455 ; arg3 = arg3 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp451 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_113_1: do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp451 = -1 ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: tmp451 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp451) ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 30712(line=1180, offs=3) -- 31515(line=1213, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp450) ; ATSlocal (ats_int_type, tmp457) ; ATSlocal (ats_bool_type, tmp458) ; ATSlocal (ats_int_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err: tmp457 = loop_40 (arg0, arg1, arg2, arg3) ; tmp458 = atspre_neq_int_int (tmp457, 0) ; if (tmp458) { tmp459 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp459 ; tmp460 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp460)->tag = 14 ; ats_selptrset_mac(anairiats_sum_12, tmp460, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp460, atslab_1, tmp457) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp460) ; } else { /* empty */ } /* end of [if] */ return /* (tmp450) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 31656(line=1221, offs=5) -- 32279(line=1240, offs=6) */ ATSstaticdec() ats_int_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; // ATSlocal_void (tmp471) ; // ATSlocal_void (tmp472) ; __ats_lab_loop_42: do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_116_1: tmp463 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp464 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp465 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp466 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_13, tmp463, atslab_0) ; tmp468 = ats_caselptrlab_mac(anairiats_sum_13, tmp463, atslab_2) ; tmp469 = ats_caselptrlab_mac(anairiats_sum_13, tmp465, atslab_0) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_13, tmp465, atslab_2) ; /* tmp471 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__label_equal_solve_err (arg0, tmp467, tmp469, arg3) ; /* tmp472 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp468, tmp470, arg3) ; arg0 = arg0 ; arg1 = tmp464 ; arg2 = tmp466 ; arg3 = arg3 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp462 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: do { /* branch: __ats_lab_120 */ __ats_lab_120_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp462 = -1 ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: tmp462 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp462) ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 31615(line=1219, offs=3) -- 32546(line=1252, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_tyleq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp461) ; ATSlocal (ats_int_type, tmp473) ; ATSlocal (ats_bool_type, tmp474) ; ATSlocal (ats_int_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_tyleq_solve_err: tmp473 = loop_42 (arg0, arg1, arg2, arg3) ; tmp474 = atspre_neq_int_int (tmp473, 0) ; if (tmp474) { tmp475 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp475 ; tmp476 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp476)->tag = 15 ; ats_selptrset_mac(anairiats_sum_12, tmp476, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp476, atslab_1, tmp473) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp476) ; } else { /* empty */ } /* end of [if] */ return /* (tmp461) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__labs2explst_tyleq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 32684(line=1260, offs=5) -- 33787(line=1302, offs=4) */ ATSstaticdec() ats_int_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_int_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_int_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_int_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; // ATSlocal_void (tmp493) ; // ATSlocal_void (tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_int_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; // ATSlocal_void (tmp501) ; // ATSlocal_void (tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_int_type, tmp505) ; __ats_lab_loop_44: do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_123_0 ; } __ats_lab_122_1: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_123_1 ; } __ats_lab_122_2: tmp479 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp480 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp482 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; tmp483 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_1) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_2) ; /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp479, tmp482, arg3) ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp480, tmp483, arg3) ; arg0 = arg0 ; arg1 = tmp481 ; arg2 = tmp484 ; arg3 = arg3 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_124_0 ; } __ats_lab_123_1: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_127_1 ; } __ats_lab_123_2: tmp487 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp488 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp489 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp490 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_1) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_2) ; /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp487, tmp490, arg3) ; /* tmp494 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp488, tmp491, arg3) ; arg0 = arg0 ; arg1 = tmp489 ; arg2 = tmp492 ; arg3 = arg3 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_125_0 ; } __ats_lab_124_1: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_127_1 ; } __ats_lab_124_2: tmp495 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp496 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp498 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_0) ; tmp499 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_1) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_14, arg2, atslab_2) ; /* tmp501 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__refval_equal_solve_err (arg0, tmp495, tmp498, arg3) ; /* tmp502 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp496, tmp499, arg3) ; arg0 = arg0 ; arg1 = tmp497 ; arg2 = tmp500 ; arg3 = arg3 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_126_0 ; } __ats_lab_125_1: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_127_1 ; } __ats_lab_125_2: tmp503 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp504 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; arg0 = arg0 ; arg1 = tmp503 ; arg2 = tmp504 ; arg3 = arg3 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_127_0 ; } __ats_lab_126_1: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_127_1 ; } __ats_lab_126_2: tmp478 = 0 ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: __ats_lab_127_1: __ats_lab_127_2: tmp505 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp505 ; tmp478 = 1 ; break ; } while (0) ; return (tmp478) ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 32649(line=1258, offs=3) -- 33969(line=1310, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_tyleq_solve_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp477) ; ATSlocal (ats_int_type, tmp506) ; ATSlocal (ats_bool_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_tyleq_solve_err: tmp506 = loop_44 (arg0, arg1, arg2, arg3) ; tmp507 = atspre_gt_int_int (tmp506, 0) ; if (tmp507) { tmp508 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp508)->tag = 16 ; ats_selptrset_mac(anairiats_sum_2, tmp508, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp508, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp508, atslab_2, arg2) ; /* tmp477 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__the_staerrlst_add (tmp508) ; } else { /* empty */ } /* end of [if] */ return /* (tmp477) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__wths2explst_tyleq_solve_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 34070(line=1316, offs=3) -- 34401(line=1327, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; // ATSlocal_void (tmp514) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err: do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp510 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp511 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val (tmp510) ; tmp512 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp513) ; /* tmp514 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, tmp512, arg2, arg3) ; arg0 = arg0 ; arg1 = tmp511 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err ; // tail call break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: break ; } while (0) ; return /* (tmp509) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_lbs_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 34479(line=1331, offs=3) -- 34810(line=1342, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; // ATSlocal_void (tmp520) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err: do { /* branch: __ats_lab_130 */ __ats_lab_130_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp516 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp517 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val (tmp516) ; tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp519) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve_err (arg0, arg1, tmp518, arg3) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp517 ; arg3 = arg3 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err ; // tail call break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: break ; } while (0) ; return /* (tmp515) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__s2hnf_tyleq_solve_ubs_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 34918(line=1348, offs=3) -- 35780(line=1380, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (anairiats_rec_1, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_int_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; // ATSlocal_void (tmp530) ; ATSlocal (ats_bool_type, tmp531) ; ATSlocal (ats_bool_type, tmp532) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_135_0 ; } __ats_lab_132_1: tmp522 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp523 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp524 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_0) ; tmp525 = ats_caselptrlab_mac(anairiats_sum_11, arg3, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 35169(line=1360, offs=11) -- 35214(line=1361, offs=36)") ; } tmp526 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_1) ; tmp529 = ats_select_mac(tmp526, atslab_1) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_get_pol (tmp529) ; tmp531 = atspre_eq_int_int (tmp528, 0) ; if (tmp531) { /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_equal_solve_err (arg0, tmp522, tmp524, arg4) ; } else { tmp532 = atspre_gt_int_int (tmp528, 0) ; if (tmp532) { /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp522, tmp524, arg4) ; } else { /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve_err (arg0, tmp524, tmp522, arg4) ; } /* end of [if] */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp527 ; arg2 = tmp523 ; arg3 = tmp525 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err ; // tail call break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: break ; } while (0) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: break ; } while (0) ; return /* (tmp521) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_tyleq_solve_argsrtlst_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 36164(line=1398, offs=1) -- 36494(line=1410, offs=17) */ ATSstaticdec() ats_void_type auxsolve_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; // ATSlocal_void (tmp543) ; __ats_lab_auxsolve_49: tmp537 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s2exp_node) ; tmp538 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_node) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp537)->tag != 17) { goto __ats_lab_137_0 ; } __ats_lab_136_1: if (((ats_sum_ptr_type)tmp538)->tag != 17) { goto __ats_lab_137_1 ; } __ats_lab_136_2: tmp539 = ats_caselptrlab_mac(anairiats_sum_9, tmp537, atslab_0) ; tmp540 = ats_caselptrlab_mac(anairiats_sum_9, tmp537, atslab_1) ; tmp541 = ats_caselptrlab_mac(anairiats_sum_9, tmp538, atslab_0) ; tmp542 = ats_caselptrlab_mac(anairiats_sum_9, tmp538, atslab_1) ; /* tmp543 = */ auxsolve_49 (arg0, tmp539, tmp541) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve (arg0, tmp540, tmp542) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: __ats_lab_137_2: break ; } while (0) ; return /* (tmp536) */ ; } /* end of [auxsolve_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 36523(line=1414, offs=1) -- 36773(line=1426, offs=2) */ ATSstaticdec() ats_bool_type auxcheck_50 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; __ats_lab_auxcheck_50: tmp545 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_s2exp_node) ; tmp546 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp545)->tag != 4) { goto __ats_lab_139_0 ; } __ats_lab_138_1: if (((ats_sum_ptr_type)tmp546)->tag != 4) { goto __ats_lab_140_1 ; } __ats_lab_138_2: tmp547 = ats_caselptrlab_mac(anairiats_sum_8, tmp545, atslab_0) ; tmp548 = ats_caselptrlab_mac(anairiats_sum_8, tmp546, atslab_0) ; tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp547, tmp548) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp545)->tag != 17) { goto __ats_lab_140_0 ; } __ats_lab_139_1: if (((ats_sum_ptr_type)tmp546)->tag != 17) { goto __ats_lab_140_1 ; } __ats_lab_139_2: tmp549 = ats_caselptrlab_mac(anairiats_sum_9, tmp545, atslab_0) ; tmp550 = ats_caselptrlab_mac(anairiats_sum_9, tmp546, atslab_0) ; arg0 = tmp549 ; arg1 = tmp550 ; goto __ats_lab_auxcheck_50 ; // tail call break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: __ats_lab_140_1: __ats_lab_140_2: tmp544 = ats_false_bool ; break ; } while (0) ; return (tmp544) ; } /* end of [auxcheck_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 35854(line=1385, offs=1) -- 37009(line=1441, offs=4) */ ATSstaticdec() ats_void_type s2hnf_hypequal_solve_abscon_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_bool_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; __ats_lab_s2hnf_hypequal_solve_abscon_48: tmp534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp551 = auxcheck_50 (tmp534, tmp535) ; if (tmp551) { /* tmp533 = */ auxsolve_49 (arg0, tmp534, tmp535) ; } else { tmp552 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; /* tmp533 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp552) ; } /* end of [if] */ return /* (tmp533) */ ; } /* end of [s2hnf_hypequal_solve_abscon_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 37105(line=1447, offs=3) -- 38777(line=1512, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_hypequal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_bool_type, tmp558) ; ATSlocal (ats_bool_type, tmp559) ; ATSlocal (ats_bool_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_bool_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_int_type, tmp566) ; ATSlocal (ats_bool_type, tmp567) ; ATSlocal (ats_bool_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_bool_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_bool_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; // ATSlocal_void (tmp577) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_hypequal_solve: tmp554 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp555 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ; tmp556 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp554), atslab_s2exp_node) ; tmp557 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp555), atslab_s2exp_node) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: __ats_lab_141_1: __ats_lab_141_2: tmp559 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon (arg1) ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon (arg2) ; tmp558 = atspre_mul_bool_bool (tmp559, tmp560) ; if (!tmp558) { goto __ats_lab_142_0 ; } /* tmp553 = */ s2hnf_hypequal_solve_abscon_48 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp556)->tag != 4) { goto __ats_lab_143_0 ; } __ats_lab_142_1: if (((ats_sum_ptr_type)tmp557)->tag != 4) { goto __ats_lab_148_1 ; } __ats_lab_142_2: tmp561 = ats_caselptrlab_mac(anairiats_sum_8, tmp556, atslab_0) ; tmp562 = ats_caselptrlab_mac(anairiats_sum_8, tmp557, atslab_0) ; tmp563 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp561, tmp562) ; if (!tmp563) { goto __ats_lab_150_2 ; } break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp556)->tag != 7) { goto __ats_lab_147_0 ; } __ats_lab_143_1: if (((ats_sum_ptr_type)tmp557)->tag != 7) { goto __ats_lab_147_1 ; } __ats_lab_143_2: tmp564 = ats_caselptrlab_mac(anairiats_sum_8, tmp556, atslab_0) ; tmp565 = ats_caselptrlab_mac(anairiats_sum_8, tmp557, atslab_0) ; tmp566 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2var_s2var (tmp564, tmp565) ; do { /* branch: __ats_lab_144 */ __ats_lab_144_0: __ats_lab_144_1: tmp567 = atspre_igt (tmp566, 0) ; if (!tmp567) { goto __ats_lab_145_1 ; } /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (arg0, tmp564, arg2) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: __ats_lab_145_1: tmp568 = atspre_ilt (tmp566, 0) ; if (!tmp568) { goto __ats_lab_146_1 ; } /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (arg0, tmp565, arg1) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: __ats_lab_146_1: break ; } while (0) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp556)->tag != 7) { goto __ats_lab_148_0 ; } __ats_lab_147_1: __ats_lab_147_2: tmp569 = ats_caselptrlab_mac(anairiats_sum_8, tmp556, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp (tmp569, tmp555) ; if (tmp570) { /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (arg0, arg1, arg2) ; } else { /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (arg0, tmp569, arg2) ; } /* end of [if] */ break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: __ats_lab_148_1: if (((ats_sum_ptr_type)tmp557)->tag != 7) { goto __ats_lab_149_0 ; } __ats_lab_148_2: tmp571 = ats_caselptrlab_mac(anairiats_sum_8, tmp557, atslab_0) ; tmp572 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2var_occurcheck_s2exp (tmp571, tmp554) ; if (tmp572) { /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (arg0, arg1, arg2) ; } else { /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_bind (arg0, tmp571, arg1) ; } /* end of [if] */ break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp556)->tag != 19) { goto __ats_lab_150_0 ; } __ats_lab_149_1: if (((ats_sum_ptr_type)tmp557)->tag != 19) { goto __ats_lab_150_1 ; } __ats_lab_149_2: tmp573 = ats_caselptrlab_mac(anairiats_sum_15, tmp556, atslab_4) ; tmp574 = ats_caselptrlab_mac(anairiats_sum_15, tmp556, atslab_5) ; tmp575 = ats_caselptrlab_mac(anairiats_sum_15, tmp557, atslab_4) ; tmp576 = ats_caselptrlab_mac(anairiats_sum_15, tmp557, atslab_5) ; /* tmp577 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp574, tmp576) ; /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve (arg0, tmp575, tmp573) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: __ats_lab_150_1: __ats_lab_150_2: /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_eqeq (arg0, arg1, arg2) ; break ; } while (0) ; return /* (tmp553) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_hypequal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 38866(line=1518, offs=3) -- 39004(line=1523, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve: tmp579 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp580 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg2) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_hypequal_solve (arg0, tmp579, tmp580) ; return /* (tmp578) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_solve.dats: 39075(line=1527, offs=3) -- 39645(line=1553, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; // ATSlocal_void (tmp588) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve: do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_154_0 ; } __ats_lab_151_1: do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } __ats_lab_152_1: break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_153_1: tmp582 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp582) ; break ; } while (0) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_154_1: tmp583 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp584 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_1) ; do { /* branch: __ats_lab_155 */ __ats_lab_155_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp585 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool (ats_false_bool) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp585) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_156_1: tmp586 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp587 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (arg0, tmp583, tmp586) ; arg0 = arg0 ; arg1 = tmp584 ; arg2 = tmp587 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve ; // tail call break ; } while (0) ; break ; } while (0) ; return /* (tmp581) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2explst_hypequal_solve] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_staexp2_solve_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_mapgen_dats.c0000664000175000017500000045555012655455557021537 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_18 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_21 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_23 ; typedef struct { anairiats_rec_23 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_gm2at_loc ; ats_ptr_type atslab_gm2at_exp ; ats_ptr_type atslab_gm2at_pat ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_sc2lau_loc ; ats_ptr_type atslab_sc2lau_pat ; ats_ptr_type atslab_sc2lau_body ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_30 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_31 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_32 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_33 ; typedef struct { ats_ptr_type atslab_i2mpdec_loc ; ats_ptr_type atslab_i2mpdec_locid ; ats_ptr_type atslab_i2mpdec_cst ; ats_ptr_type atslab_i2mpdec_imparg ; ats_ptr_type atslab_i2mpdec_tmparg ; ats_ptr_type atslab_i2mpdec_tmpgua ; ats_ptr_type atslab_i2mpdec_def ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_f2undec_loc ; ats_ptr_type atslab_f2undec_var ; ats_ptr_type atslab_f2undec_def ; ats_ptr_type atslab_f2undec_ann ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_v2aldec_loc ; ats_ptr_type atslab_v2aldec_pat ; ats_ptr_type atslab_v2aldec_def ; ats_ptr_type atslab_v2aldec_ann ; } anairiats_rec_36 ; typedef struct { ats_ptr_type atslab_v2ardec_loc ; ats_int_type atslab_v2ardec_knd ; ats_ptr_type atslab_v2ardec_svar ; ats_ptr_type atslab_v2ardec_dvar ; ats_ptr_type atslab_v2ardec_pfat ; ats_ptr_type atslab_v2ardec_type ; ats_ptr_type atslab_v2ardec_init ; ats_ptr_type atslab_v2ardec_dvaropt ; } anairiats_rec_37 ; typedef struct { ats_ptr_type atslab_prv2ardec_loc ; ats_ptr_type atslab_prv2ardec_dvar ; ats_ptr_type atslab_prv2ardec_type ; ats_ptr_type atslab_prv2ardec_init ; } anairiats_rec_38 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__MYENV_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2Var_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__MYENV_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type d2conlst_app_03945_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2pitm_app_03963_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2pitmlst_app_03964_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2itm_app_03960_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2itmopt_app_03962_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2cstlst_app_03943_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2explst_app_03947_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2explstlst_app_03948_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2varlst_app_03944_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labs2explst_app_03949_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type wths2explst_app_03950_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2exp_app_03946_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2explst_app_03976_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2exparg_app_03967_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2exparglst_app_03968_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type t2mpmarg_app_03969_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type t2mpmarglst_app_03970_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2exparg_app_03981_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2exparglst_app_03982_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2expopt_app_03978_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2qualst_app_03952_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labp2atlst_app_03973_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type p2at_app_03971_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type p2atlst_app_03972_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type p2atopt_app_03974_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type gm2at_app_03983_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type gm2atlst_app_03984_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type c2lau_app_03985_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type c2laulst_app_03986_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type sp2at_app_03966_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type sc2lau_app_03987_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type sc2laulst_app_03988_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2expopt_app_03951_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labd2explst_app_03977_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2lab_app_03979_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2lablst_app_03980_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2varlst_app_03958_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2exp_app_03975_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_dcon_49 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_scst_50 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2atdecs_app_03965_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2cstlst_app_03957_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type i2mpdec_app_03991_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type f2undec_app_03992_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type f2undeclst_app_03993_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type v2aldec_app_03994_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type v2aldeclst_app_03995_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2varopt_app_03959_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type v2ardec_app_03996_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type v2ardeclst_app_03997_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prv2ardec_app_03998_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prv2ardeclst_app_03999_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2ecl_app_03989_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2eclist_app_03990_ (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 2203(line=91, offs=3) -- 2463(line=103, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app: // tmp1 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_0) ; tmp3 = ats_ptrget_mac(ats_ptr_type, tmp1) ; tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add (tmp3, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp1) = tmp2 ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 2509(line=107, offs=3) -- 2769(line=119, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app: // tmp5 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp7 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (tmp7, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp5) = tmp6 ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 2815(line=123, offs=3) -- 3075(line=135, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2Var_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2Var_app: // tmp9 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_2) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add (tmp11, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2Var_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 3121(line=139, offs=3) -- 3381(line=151, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app: // tmp13 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_3) ; tmp15 = ats_ptrget_mac(ats_ptr_type, tmp13) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_add (tmp15, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp13) = tmp14 ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 3427(line=155, offs=3) -- 3687(line=167, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app: // tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_4) ; tmp19 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_add (tmp19, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp17) = tmp18 ; return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 3733(line=171, offs=3) -- 3993(line=183, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app: // tmp21 = &ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, arg1), atslab_5) ; tmp23 = ats_ptrget_mac(ats_ptr_type, tmp21) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add (tmp23, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp21) = tmp22 ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 4037(line=185, offs=21) -- 4052(line=185, offs=36) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app: return /* (tmp24) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 2061(line=79, offs=3) -- 2107(line=79, offs=49) */ ATSstaticdec() ats_void_type d2conlst_app_03945_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab_d2conlst_app_03945_: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app) ; return /* (tmp48) */ ; } /* end of [d2conlst_app_03945_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3275(line=152, offs=3) -- 3355(line=156, offs=4) */ ATSstaticdec() ats_void_type d2pitm_app_03963_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_d2pitm_app_03963_: // tmp52 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; /* tmp51 = */ d2itm_app_03960_ (tmp52, arg1) ; return /* (tmp51) */ ; } /* end of [d2pitm_app_03963_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3439(line=163, offs=3) -- 3486(line=163, offs=50) */ ATSstaticdec() ats_void_type d2pitmlst_app_03964_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp50) ; __ats_lab_d2pitmlst_app_03964_: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &d2pitm_app_03963_) ; return /* (tmp50) */ ; } /* end of [d2pitmlst_app_03964_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 2602(line=115, offs=3) -- 2923(line=127, offs=4) */ ATSstaticdec() ats_void_type d2itm_app_03960_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_d2itm_app_03960_: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app (tmp45, arg1) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp46, arg1) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; /* tmp44 = */ d2conlst_app_03945_ (tmp47, arg1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp44 = */ d2pitmlst_app_03964_ (tmp49, arg1) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 2625(line=118, offs=1) -- 2916(line=125, offs=44)") ; } __ats_lab_14_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp53, arg1) ; break ; } while (0) ; return /* (tmp44) */ ; } /* end of [d2itm_app_03960_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3113(line=141, offs=3) -- 3189(line=144, offs=49) */ ATSstaticdec() ats_void_type d2itmopt_app_03962_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_d2itmopt_app_03962_: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_7_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; /* tmp42 = */ d2itm_app_03960_ (tmp43, arg1) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: break ; } while (0) ; return /* (tmp42) */ ; } /* end of [d2itmopt_app_03962_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 1845(line=65, offs=3) -- 1891(line=65, offs=49) */ ATSstaticdec() ats_void_type s2cstlst_app_03943_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab_s2cstlst_app_03943_: /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app) ; return /* (tmp55) */ ; } /* end of [s2cstlst_app_03943_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5647(line=269, offs=3) -- 5693(line=269, offs=49) */ ATSstaticdec() ats_void_type s2explst_app_03947_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp63) ; __ats_lab_s2explst_app_03947_: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2exp_app_03946_) ; return /* (tmp63) */ ; } /* end of [s2explst_app_03947_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5735(line=274, offs=3) -- 5786(line=274, offs=54) */ ATSstaticdec() ats_void_type s2explstlst_app_03948_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp62) ; __ats_lab_s2explstlst_app_03948_: /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2explst_app_03947_) ; return /* (tmp62) */ ; } /* end of [s2explstlst_app_03948_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 1953(line=72, offs=3) -- 1999(line=72, offs=49) */ ATSstaticdec() ats_void_type s2varlst_app_03944_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp91) ; __ats_lab_s2varlst_app_03944_: /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app) ; return /* (tmp91) */ ; } /* end of [s2varlst_app_03944_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5849(line=281, offs=3) -- 6071(line=294, offs=4) */ ATSstaticdec() ats_void_type labs2explst_app_03949_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; __ats_lab_labs2explst_app_03949_: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp109 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; // tmp110 = ats_caselptrlab_mac(anairiats_sum_14, tmp108, atslab_2) ; /* tmp111 = */ s2exp_app_03946_ (tmp110, arg1) ; arg0 = tmp109 ; arg1 = arg1 ; goto __ats_lab_labs2explst_app_03949_ ; // tail call break ; } while (0) ; return /* (tmp107) */ ; } /* end of [labs2explst_app_03949_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 6160(line=301, offs=3) -- 6481(line=316, offs=4) */ ATSstaticdec() ats_void_type wths2explst_app_03950_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_wths2explst_app_03950_: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_2) ; /* tmp131 = */ s2exp_app_03946_ (tmp129, arg1) ; arg0 = tmp130 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_03950_ ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_2) ; /* tmp134 = */ s2exp_app_03946_ (tmp132, arg1) ; arg0 = tmp133 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_03950_ ; // tail call break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; arg0 = tmp135 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_03950_ ; // tail call break ; } while (0) ; return /* (tmp128) */ ; } /* end of [wths2explst_app_03950_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 2830(line=132, offs=3) -- 5565(line=262, offs=4) */ ATSstaticdec() ats_void_type s2exp_app_03946_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; __ats_lab_s2exp_app_03946_: tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp59)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp59)->tag != 1) { goto __ats_lab_21_0 ; } __ats_lab_20_1: break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp59)->tag != 2) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp59)->tag != 3) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp59)->tag != 4) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app (tmp60, arg1) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp59)->tag != 5) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp58 = */ s2explstlst_app_03948_ (tmp61, arg1) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp59)->tag != 6) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp58 = */ s2explstlst_app_03948_ (tmp64, arg1) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp59)->tag != 7) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app (tmp65, arg1) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp59)->tag != 8) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2Var_app (tmp66, arg1) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp59)->tag != 9) { goto __ats_lab_29_0 ; } __ats_lab_28_1: break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp59)->tag != 10) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (tmp67, arg1) ; /* tmp58 = */ s2explst_app_03947_ (tmp68, arg1) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp59)->tag != 11) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_0) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (tmp70, arg1) ; /* tmp74 = */ s2exp_app_03946_ (tmp71, arg1) ; /* tmp58 = */ s2explst_app_03947_ (tmp72, arg1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp59)->tag != 12) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp77 = */ s2exp_app_03946_ (tmp75, arg1) ; arg0 = tmp76 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp59)->tag != 13) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; arg0 = tmp78 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp59)->tag != 14) { goto __ats_lab_34_0 ; } __ats_lab_33_1: break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp59)->tag != 15) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp81 = */ s2exp_app_03946_ (tmp79, arg1) ; arg0 = tmp80 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp59)->tag != 16) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; /* tmp84 = */ s2exp_app_03946_ (tmp82, arg1) ; arg0 = tmp83 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp59)->tag != 17) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp87 = */ s2exp_app_03946_ (tmp85, arg1) ; /* tmp58 = */ s2explst_app_03947_ (tmp86, arg1) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp59)->tag != 18) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp90 = */ s2varlst_app_03944_ (tmp88, arg1) ; arg0 = tmp89 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp59)->tag != 19) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_13, tmp59, atslab_4) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_13, tmp59, atslab_5) ; /* tmp94 = */ s2explst_app_03947_ (tmp92, arg1) ; arg0 = tmp93 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp59)->tag != 20) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp97 = */ s2explst_app_03947_ (tmp95, arg1) ; arg0 = tmp96 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp59)->tag != 21) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp100 = */ s2explst_app_03947_ (tmp98, arg1) ; /* tmp58 = */ s2explst_app_03947_ (tmp99, arg1) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp59)->tag != 22) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_1) ; arg0 = tmp101 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp59)->tag != 23) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; arg0 = tmp102 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp59)->tag != 24) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp105 = */ s2exp_app_03946_ (tmp103, arg1) ; /* tmp58 = */ s2explst_app_03947_ (tmp104, arg1) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp59)->tag != 25) { goto __ats_lab_47_0 ; } __ats_lab_44_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_6, tmp59, atslab_2) ; /* tmp58 = */ labs2explst_app_03949_ (tmp106, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp59)->tag != 26) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; arg0 = tmp112 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp59)->tag != 27) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp116 = */ s2varlst_app_03944_ (tmp113, arg1) ; /* tmp117 = */ s2explst_app_03947_ (tmp114, arg1) ; arg0 = tmp115 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp59)->tag != 28) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_0) ; tmp119 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp121 = */ s2varlst_app_03944_ (tmp118, arg1) ; /* tmp122 = */ s2explst_app_03947_ (tmp119, arg1) ; arg0 = tmp120 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp59)->tag != 29) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_1) ; arg0 = tmp123 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp59)->tag != 30) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_5, tmp59, atslab_0) ; arg0 = tmp124 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_03946_ ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp59)->tag != 31) { goto __ats_lab_57_0 ; } __ats_lab_52_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_1) ; /* tmp127 = */ s2exp_app_03946_ (tmp125, arg1) ; /* tmp58 = */ wths2explst_app_03950_ (tmp126, arg1) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (((ats_sum_ptr_type)tmp59)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: break ; } while (0) ; return /* (tmp58) */ ; } /* end of [s2exp_app_03946_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 15009(line=784, offs=3) -- 15170(line=794, offs=4) */ ATSstaticdec() ats_void_type d2explst_app_03976_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; __ats_lab_d2explst_app_03976_: do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp149 = */ d2exp_app_03975_ (tmp147, arg1) ; arg0 = tmp148 ; arg1 = arg1 ; goto __ats_lab_d2explst_app_03976_ ; // tail call break ; } while (0) ; return /* (tmp146) */ ; } /* end of [d2explst_app_03976_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 6742(line=388, offs=3) -- 6895(line=397, offs=4) */ ATSstaticdec() ats_void_type s2exparg_app_03967_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_s2exparg_app_03967_: tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_s2exparg_node) ; do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp162)->tag != 0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp162)->tag != 1) { goto __ats_lab_84_0 ; } __ats_lab_83_1: break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (((ats_sum_ptr_type)tmp162)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_5, tmp162, atslab_0) ; /* tmp161 = */ s2explst_app_03947_ (tmp163, arg1) ; break ; } while (0) ; return /* (tmp161) */ ; } /* end of [s2exparg_app_03967_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 6985(line=404, offs=3) -- 7036(line=405, offs=40) */ ATSstaticdec() ats_void_type s2exparglst_app_03968_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp160) ; __ats_lab_s2exparglst_app_03968_: /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2exparg_app_03967_) ; return /* (tmp160) */ ; } /* end of [s2exparglst_app_03968_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 7098(line=412, offs=3) -- 7151(line=413, offs=40) */ ATSstaticdec() ats_void_type t2mpmarg_app_03969_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; __ats_lab_t2mpmarg_app_03969_: tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_t2mpmarg_arg) ; /* tmp175 = */ s2explst_app_03947_ (tmp176, arg1) ; return /* (tmp175) */ ; } /* end of [t2mpmarg_app_03969_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 7193(line=418, offs=3) -- 7244(line=419, offs=40) */ ATSstaticdec() ats_void_type t2mpmarglst_app_03970_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp174) ; __ats_lab_t2mpmarglst_app_03970_: /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &t2mpmarg_app_03969_) ; return /* (tmp174) */ ; } /* end of [t2mpmarglst_app_03970_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16022(line=851, offs=3) -- 16182(line=858, offs=4) */ ATSstaticdec() ats_void_type d2exparg_app_03981_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_d2exparg_app_03981_: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp187 = */ s2exparglst_app_03968_ (tmp188, arg1) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_2) ; /* tmp187 = */ d2explst_app_03976_ (tmp189, arg1) ; break ; } while (0) ; return /* (tmp187) */ ; } /* end of [d2exparg_app_03981_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16270(line=865, offs=3) -- 16318(line=865, offs=51) */ ATSstaticdec() ats_void_type d2exparglst_app_03982_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp186) ; __ats_lab_d2exparglst_app_03982_: /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &d2exparg_app_03981_) ; return /* (tmp186) */ ; } /* end of [d2exparglst_app_03982_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 15549(line=818, offs=3) -- 15625(line=821, offs=49) */ ATSstaticdec() ats_void_type d2expopt_app_03978_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; __ats_lab_d2expopt_app_03978_: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; /* tmp195 = */ d2exp_app_03975_ (tmp196, arg1) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_96_1: break ; } while (0) ; return /* (tmp195) */ ; } /* end of [d2expopt_app_03978_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 6737(line=335, offs=3) -- 6964(line=346, offs=4) */ ATSstaticdec() ats_void_type s2qualst_app_03952_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp218) ; ATSlocal (anairiats_rec_23, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; __ats_lab_s2qualst_app_03952_: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_24, arg0, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_24, arg0, atslab_1) ; tmp222 = ats_select_mac(tmp219, atslab_s2qua_svs) ; /* tmp221 = */ s2varlst_app_03944_ (tmp222, arg1) ; tmp224 = ats_select_mac(tmp219, atslab_s2qua_sps) ; /* tmp223 = */ s2explst_app_03947_ (tmp224, arg1) ; arg0 = tmp220 ; arg1 = arg1 ; goto __ats_lab_s2qualst_app_03952_ ; // tail call break ; } while (0) ; return /* (tmp218) */ ; } /* end of [s2qualst_app_03952_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 8557(line=499, offs=3) -- 8876(line=516, offs=4) */ ATSstaticdec() ats_void_type labp2atlst_app_03973_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; // ATSlocal_void (tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; __ats_lab_labp2atlst_app_03973_: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_115_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp229)->tag != 0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_8, tmp229, atslab_1) ; /* tmp231 = */ p2at_app_03971_ (tmp232, arg1) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (((ats_sum_ptr_type)tmp229)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: break ; } while (0) ; arg0 = tmp230 ; arg1 = arg1 ; goto __ats_lab_labp2atlst_app_03973_ ; // tail call break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: break ; } while (0) ; return /* (tmp228) */ ; } /* end of [labp2atlst_app_03973_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 7300(line=426, offs=3) -- 8370(line=485, offs=4) */ ATSstaticdec() ats_void_type p2at_app_03971_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab_p2at_app_03971_: tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp210)->tag != 0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp210)->tag != 1) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_5, tmp210, atslab_0) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp211, arg1) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp210)->tag != 2) { goto __ats_lab_104_0 ; } __ats_lab_101_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_22, tmp210, atslab_1) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_22, tmp210, atslab_2) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_22, tmp210, atslab_3) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_22, tmp210, atslab_5) ; /* tmp216 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (tmp212, arg1) ; /* tmp217 = */ s2qualst_app_03952_ (tmp213, arg1) ; /* tmp225 = */ s2exp_app_03946_ (tmp214, arg1) ; /* tmp209 = */ p2atlst_app_03972_ (tmp215, arg1) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp210)->tag != 3) { goto __ats_lab_105_0 ; } __ats_lab_104_1: break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp210)->tag != 4) { goto __ats_lab_106_0 ; } __ats_lab_105_1: break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp210)->tag != 5) { goto __ats_lab_107_0 ; } __ats_lab_106_1: break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp210)->tag != 6) { goto __ats_lab_108_0 ; } __ats_lab_107_1: break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp210)->tag != 7) { goto __ats_lab_109_0 ; } __ats_lab_108_1: break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp210)->tag != 8) { goto __ats_lab_110_0 ; } __ats_lab_109_1: break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp210)->tag != 9) { goto __ats_lab_111_0 ; } __ats_lab_110_1: break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp210)->tag != 10) { goto __ats_lab_112_0 ; } __ats_lab_111_1: break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp210)->tag != 11) { goto __ats_lab_113_0 ; } __ats_lab_112_1: break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp210)->tag != 12) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_10, tmp210, atslab_1) ; /* tmp209 = */ p2atlst_app_03972_ (tmp226, arg1) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp210)->tag != 13) { goto __ats_lab_119_0 ; } __ats_lab_114_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_25, tmp210, atslab_2) ; /* tmp209 = */ labp2atlst_app_03973_ (tmp227, arg1) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp210)->tag != 14) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp233 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_0) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_1) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp233, arg1) ; arg0 = tmp234 ; arg1 = arg1 ; goto __ats_lab_p2at_app_03971_ ; // tail call break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp210)->tag != 15) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp236 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_0) ; tmp237 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_1) ; /* tmp238 = */ s2varlst_app_03944_ (tmp236, arg1) ; arg0 = tmp237 ; arg1 = arg1 ; goto __ats_lab_p2at_app_03971_ ; // tail call break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp210)->tag != 16) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_5, tmp210, atslab_0) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp239, arg1) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp210)->tag != 17) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_0) ; tmp241 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_1) ; /* tmp242 = */ p2at_app_03971_ (tmp240, arg1) ; /* tmp209 = */ s2exp_app_03946_ (tmp241, arg1) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp210)->tag != 18) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_10, tmp210, atslab_1) ; /* tmp209 = */ p2atlst_app_03972_ (tmp243, arg1) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (((ats_sum_ptr_type)tmp210)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: break ; } while (0) ; return /* (tmp209) */ ; } /* end of [p2at_app_03971_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 8450(line=492, offs=3) -- 8495(line=492, offs=48) */ ATSstaticdec() ats_void_type p2atlst_app_03972_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp208) ; __ats_lab_p2atlst_app_03972_: /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &p2at_app_03971_) ; return /* (tmp208) */ ; } /* end of [p2atlst_app_03972_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 8960(line=523, offs=3) -- 9035(line=526, offs=48) */ ATSstaticdec() ats_void_type p2atopt_app_03974_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab_p2atopt_app_03974_: do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; /* tmp250 = */ p2at_app_03971_ (tmp251, arg1) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: break ; } while (0) ; return /* (tmp250) */ ; } /* end of [p2atopt_app_03974_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16377(line=872, offs=3) -- 16479(line=876, offs=2) */ ATSstaticdec() ats_void_type gm2at_app_03983_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab_gm2at_app_03983_: tmp249 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_gm2at_exp) ; /* tmp248 = */ d2exp_app_03975_ (tmp249, arg1) ; tmp252 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_gm2at_pat) ; /* tmp247 = */ p2atopt_app_03974_ (tmp252, arg1) ; return /* (tmp247) */ ; } /* end of [gm2at_app_03983_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16539(line=881, offs=3) -- 16584(line=881, offs=48) */ ATSstaticdec() ats_void_type gm2atlst_app_03984_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp246) ; __ats_lab_gm2atlst_app_03984_: /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &gm2at_app_03983_) ; return /* (tmp246) */ ; } /* end of [gm2atlst_app_03984_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16643(line=888, offs=3) -- 16791(line=893, offs=2) */ ATSstaticdec() ats_void_type c2lau_app_03985_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_ptr_type, tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; __ats_lab_c2lau_app_03985_: tmp244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c2lau_pat) ; /* tmp207 = */ p2atlst_app_03972_ (tmp244, arg1) ; tmp253 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c2lau_gua) ; /* tmp245 = */ gm2atlst_app_03984_ (tmp253, arg1) ; tmp254 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_c2lau_body) ; /* tmp206 = */ d2exp_app_03975_ (tmp254, arg1) ; return /* (tmp206) */ ; } /* end of [c2lau_app_03985_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16855(line=898, offs=3) -- 16901(line=898, offs=49) */ ATSstaticdec() ats_void_type c2laulst_app_03986_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp205) ; __ats_lab_c2laulst_app_03986_: /* tmp205 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &c2lau_app_03985_) ; return /* (tmp205) */ ; } /* end of [c2laulst_app_03986_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 6467(line=369, offs=3) -- 6660(line=381, offs=4) */ ATSstaticdec() ats_void_type sp2at_app_03966_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; // ATSlocal_void (tmp265) ; __ats_lab_sp2at_app_03966_: tmp262 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_sp2at_node) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (tmp262 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_3, tmp262, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_3, tmp262, atslab_1) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2cst_app (tmp263, arg1) ; /* tmp261 = */ s2varlst_app_03944_ (tmp264, arg1) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (tmp262 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: break ; } while (0) ; return /* (tmp261) */ ; } /* end of [sp2at_app_03966_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 16961(line=905, offs=3) -- 17067(line=909, offs=2) */ ATSstaticdec() ats_void_type sc2lau_app_03987_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab_sc2lau_app_03987_: tmp266 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg0), atslab_sc2lau_pat) ; /* tmp260 = */ sp2at_app_03966_ (tmp266, arg1) ; tmp267 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg0), atslab_sc2lau_body) ; /* tmp259 = */ d2exp_app_03975_ (tmp267, arg1) ; return /* (tmp259) */ ; } /* end of [sc2lau_app_03987_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 17133(line=914, offs=3) -- 17180(line=914, offs=50) */ ATSstaticdec() ats_void_type sc2laulst_app_03988_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp258) ; __ats_lab_sc2laulst_app_03988_: /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &sc2lau_app_03987_) ; return /* (tmp258) */ ; } /* end of [sc2laulst_app_03988_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 6565(line=322, offs=14) -- 6648(line=326, offs=53) */ ATSstaticdec() ats_void_type s2expopt_app_03951_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; __ats_lab_s2expopt_app_03951_: do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; /* tmp273 = */ s2exp_app_03946_ (tmp274, arg1) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: break ; } while (0) ; return /* (tmp273) */ ; } /* end of [s2expopt_app_03951_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 15259(line=801, offs=3) -- 15434(line=809, offs=6) */ ATSstaticdec() ats_void_type labd2explst_app_03977_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; // ATSlocal_void (tmp281) ; __ats_lab_labd2explst_app_03977_: do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp279 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; // tmp280 = ats_caselptrlab_mac(anairiats_sum_3, tmp278, atslab_1) ; /* tmp281 = */ d2exp_app_03975_ (tmp280, arg1) ; arg0 = tmp279 ; arg1 = arg1 ; goto __ats_lab_labd2explst_app_03977_ ; // tail call break ; } while (0) ; return /* (tmp277) */ ; } /* end of [labd2explst_app_03977_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 15710(line=829, offs=3) -- 15834(line=837, offs=4) */ ATSstaticdec() ats_void_type d2lab_app_03979_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab_d2lab_app_03979_: tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg0), atslab_d2lab_node) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp288)->tag != 0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (((ats_sum_ptr_type)tmp288)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_5, tmp288, atslab_0) ; /* tmp287 = */ d2explst_app_03976_ (tmp289, arg1) ; break ; } while (0) ; return /* (tmp287) */ ; } /* end of [d2lab_app_03979_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 15916(line=844, offs=3) -- 15962(line=844, offs=49) */ ATSstaticdec() ats_void_type d2lablst_app_03980_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp286) ; __ats_lab_d2lablst_app_03980_: /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &d2lab_app_03979_) ; return /* (tmp286) */ ; } /* end of [d2lablst_app_03980_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 2329(line=97, offs=3) -- 2375(line=97, offs=49) */ ATSstaticdec() ats_void_type d2varlst_app_03958_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp322) ; __ats_lab_d2varlst_app_03958_: /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app) ; return /* (tmp322) */ ; } /* end of [d2varlst_app_03958_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 9119(line=534, offs=3) -- 14929(line=777, offs=4) */ ATSstaticdec() ats_void_type d2exp_app_03975_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; // ATSlocal_void (tmp272) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; // ATSlocal_void (tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; // ATSlocal_void (tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; // ATSlocal_void (tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; // ATSlocal_void (tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; // ATSlocal_void (tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; // ATSlocal_void (tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab_d2exp_app_03975_: tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp138)->tag != 0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app (tmp139, arg1) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp138)->tag != 1) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp140, arg1) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp138)->tag != 2) { goto __ats_lab_62_0 ; } __ats_lab_61_1: break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp138)->tag != 3) { goto __ats_lab_63_0 ; } __ats_lab_62_1: break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp138)->tag != 4) { goto __ats_lab_64_0 ; } __ats_lab_63_1: break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp138)->tag != 5) { goto __ats_lab_65_0 ; } __ats_lab_64_1: break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp138)->tag != 6) { goto __ats_lab_66_0 ; } __ats_lab_65_1: break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp138)->tag != 7) { goto __ats_lab_67_0 ; } __ats_lab_66_1: break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp138)->tag != 8) { goto __ats_lab_68_0 ; } __ats_lab_67_1: break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp138)->tag != 9) { goto __ats_lab_69_0 ; } __ats_lab_68_1: break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp138)->tag != 10) { goto __ats_lab_70_0 ; } __ats_lab_69_1: break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp138)->tag != 11) { goto __ats_lab_71_0 ; } __ats_lab_70_1: break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp138)->tag != 12) { goto __ats_lab_72_0 ; } __ats_lab_71_1: break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp138)->tag != 13) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ s2exp_app_03946_ (tmp141, arg1) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp138)->tag != 14) { goto __ats_lab_74_0 ; } __ats_lab_73_1: break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp138)->tag != 15) { goto __ats_lab_75_0 ; } __ats_lab_74_1: break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp138)->tag != 16) { goto __ats_lab_76_0 ; } __ats_lab_75_1: break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp138)->tag != 17) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; /* tmp137 = */ s2exp_app_03946_ (tmp142, arg1) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp138)->tag != 18) { goto __ats_lab_80_0 ; } __ats_lab_77_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_0) ; tmp144 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp145 = */ s2exp_app_03946_ (tmp143, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp144, arg1) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp138)->tag != 19) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_0) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_1) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_3) ; /* tmp153 = */ s2exp_app_03946_ (tmp150, arg1) ; /* tmp154 = */ d2exp_app_03975_ (tmp151, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp152, arg1) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp138)->tag != 20) { goto __ats_lab_85_0 ; } __ats_lab_81_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_18, tmp138, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_18, tmp138, atslab_2) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_18, tmp138, atslab_5) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (tmp155, arg1) ; /* tmp159 = */ s2exparglst_app_03968_ (tmp156, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp157, arg1) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp138)->tag != 21) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app (tmp164, arg1) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp138)->tag != 22) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp167 = */ s2exparglst_app_03968_ (tmp165, arg1) ; arg0 = tmp166 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp138)->tag != 23) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp170 = */ s2exparglst_app_03968_ (tmp168, arg1) ; arg0 = tmp169 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp138)->tag != 24) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp173 = */ d2exp_app_03975_ (tmp171, arg1) ; /* tmp137 = */ t2mpmarglst_app_03970_ (tmp172, arg1) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp138)->tag != 25) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp179 = */ d2eclist_app_03990_ (tmp177, arg1) ; arg0 = tmp178 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp138)->tag != 26) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp182 = */ d2eclist_app_03990_ (tmp181, arg1) ; arg0 = tmp180 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp138)->tag != 27) { goto __ats_lab_94_0 ; } __ats_lab_91_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp185 = */ d2exp_app_03975_ (tmp183, arg1) ; /* tmp137 = */ d2exparglst_app_03982_ (tmp184, arg1) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp138)->tag != 28) { goto __ats_lab_97_0 ; } __ats_lab_94_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_1) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_2) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_3) ; /* tmp193 = */ d2exp_app_03975_ (tmp190, arg1) ; /* tmp194 = */ d2exp_app_03975_ (tmp191, arg1) ; /* tmp137 = */ d2expopt_app_03978_ (tmp192, arg1) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp138)->tag != 29) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_1) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_2) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_3) ; /* tmp200 = */ s2exp_app_03946_ (tmp197, arg1) ; /* tmp201 = */ d2exp_app_03975_ (tmp198, arg1) ; arg0 = tmp199 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp138)->tag != 30) { goto __ats_lab_127_0 ; } __ats_lab_98_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_2) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_3) ; /* tmp204 = */ d2explst_app_03976_ (tmp202, arg1) ; /* tmp137 = */ c2laulst_app_03986_ (tmp203, arg1) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp138)->tag != 31) { goto __ats_lab_130_0 ; } __ats_lab_127_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp256 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp257 = */ s2exp_app_03946_ (tmp255, arg1) ; /* tmp137 = */ sc2laulst_app_03988_ (tmp256, arg1) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp138)->tag != 32) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp268 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp138)->tag != 33) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp269 = ats_caselptrlab_mac(anairiats_sum_10, tmp138, atslab_1) ; /* tmp137 = */ d2explst_app_03976_ (tmp269, arg1) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp138)->tag != 34) { goto __ats_lab_135_0 ; } __ats_lab_132_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_15, tmp138, atslab_1) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_15, tmp138, atslab_2) ; /* tmp272 = */ s2expopt_app_03951_ (tmp270, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp271, arg1) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp138)->tag != 35) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_25, tmp138, atslab_2) ; /* tmp137 = */ d2explst_app_03976_ (tmp275, arg1) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp138)->tag != 36) { goto __ats_lab_139_0 ; } __ats_lab_136_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_25, tmp138, atslab_2) ; /* tmp137 = */ labd2explst_app_03977_ (tmp276, arg1) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp138)->tag != 37) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ d2explst_app_03976_ (tmp282, arg1) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp138)->tag != 38) { goto __ats_lab_143_0 ; } __ats_lab_140_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp285 = */ d2exp_app_03975_ (tmp283, arg1) ; /* tmp137 = */ d2lablst_app_03980_ (tmp284, arg1) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp138)->tag != 39) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp290 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp138)->tag != 40) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp291 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp138)->tag != 64) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp294 = */ d2exp_app_03975_ (tmp292, arg1) ; /* tmp137 = */ s2exp_app_03946_ (tmp293, arg1) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp138)->tag != 65) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; arg0 = tmp295 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp138)->tag != 66) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; arg0 = tmp296 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp138)->tag != 41) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp297 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp138)->tag != 42) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp300 = */ d2exp_app_03975_ (tmp298, arg1) ; arg0 = tmp299 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp138)->tag != 43) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp301 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp303 = */ d2exp_app_03975_ (tmp301, arg1) ; arg0 = tmp302 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)tmp138)->tag != 44) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_0) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_1) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_3) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2sym_app (tmp304, arg1) ; /* tmp308 = */ d2exp_app_03975_ (tmp305, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp306, arg1) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp138)->tag != 45) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp309 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp311 = */ s2expopt_app_03951_ (tmp309, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp310, arg1) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp138)->tag != 46) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp312 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_0) ; tmp313 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp314 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp315 = */ s2exp_app_03946_ (tmp312, arg1) ; /* tmp316 = */ d2expopt_app_03978_ (tmp313, arg1) ; /* tmp137 = */ d2explst_app_03976_ (tmp314, arg1) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp138)->tag != 47) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp317 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp138)->tag != 48) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp318 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; arg0 = tmp318 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp138)->tag != 49) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp319 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp319 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp138)->tag != 50) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_10, tmp138, atslab_1) ; arg0 = tmp320 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)tmp138)->tag != 51) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp321 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; /* tmp137 = */ d2varlst_app_03958_ (tmp321, arg1) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: if (((ats_sum_ptr_type)tmp138)->tag != 52) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp324 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp325 = */ s2exparg_app_03967_ (tmp323, arg1) ; arg0 = tmp324 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp138)->tag != 53) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_31, tmp138, atslab_2) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_31, tmp138, atslab_3) ; /* tmp328 = */ p2atlst_app_03972_ (tmp326, arg1) ; arg0 = tmp327 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)tmp138)->tag != 54) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp329 = ats_caselptrlab_mac(anairiats_sum_31, tmp138, atslab_2) ; tmp330 = ats_caselptrlab_mac(anairiats_sum_31, tmp138, atslab_3) ; /* tmp331 = */ p2atlst_app_03972_ (tmp329, arg1) ; arg0 = tmp330 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp138)->tag != 56) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_0) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; tmp336 = ats_ptrget_mac(ats_ptr_type, tmp332) ; /* tmp335 = */ d2varlst_app_03958_ (tmp336, arg1) ; /* tmp337 = */ s2explst_app_03947_ (tmp333, arg1) ; arg0 = tmp334 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp138)->tag != 55) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp338 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_0) ; tmp339 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp341 = */ s2varlst_app_03944_ (tmp338, arg1) ; /* tmp342 = */ s2explst_app_03947_ (tmp339, arg1) ; arg0 = tmp340 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: if (((ats_sum_ptr_type)tmp138)->tag != 57) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_15, tmp138, atslab_1) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_15, tmp138, atslab_2) ; /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp343, arg1) ; arg0 = tmp344 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp138)->tag != 58) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp346 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp346 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp138)->tag != 59) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp347 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_0) ; tmp348 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp349 = */ d2exp_app_03975_ (tmp347, arg1) ; /* tmp137 = */ d2expopt_app_03978_ (tmp348, arg1) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp138)->tag != 60) { goto __ats_lab_168_0 ; } __ats_lab_167_1: tmp350 = ats_caselptrlab_mac(anairiats_sum_32, tmp138, atslab_1) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_32, tmp138, atslab_2) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_32, tmp138, atslab_3) ; tmp353 = ats_caselptrlab_mac(anairiats_sum_32, tmp138, atslab_4) ; /* tmp354 = */ d2exp_app_03975_ (tmp350, arg1) ; /* tmp355 = */ d2exp_app_03975_ (tmp351, arg1) ; /* tmp356 = */ d2exp_app_03975_ (tmp352, arg1) ; arg0 = tmp353 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)tmp138)->tag != 61) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp357 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp358 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp359 = */ d2exp_app_03975_ (tmp357, arg1) ; arg0 = tmp358 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: if (((ats_sum_ptr_type)tmp138)->tag != 62) { goto __ats_lab_170_0 ; } __ats_lab_169_1: break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)tmp138)->tag != 63) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_1) ; tmp361 = ats_caselptrlab_mac(anairiats_sum_12, tmp138, atslab_2) ; /* tmp362 = */ d2exp_app_03975_ (tmp360, arg1) ; /* tmp137 = */ c2laulst_app_03986_ (tmp361, arg1) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: if (((ats_sum_ptr_type)tmp138)->tag != 71) { goto __ats_lab_172_0 ; } __ats_lab_171_1: break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp138)->tag != 70) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_0) ; arg0 = tmp363 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp138)->tag != 67) { goto __ats_lab_174_0 ; } __ats_lab_173_1: break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp138)->tag != 68) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; arg0 = tmp364 ; arg1 = arg1 ; goto __ats_lab_d2exp_app_03975_ ; // tail call break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp138)->tag != 69) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_8, tmp138, atslab_1) ; /* tmp137 = */ d2explst_app_03976_ (tmp365, arg1) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: // if (((ats_sum_ptr_type)tmp138)->tag != 72) { ats_deadcode_failure_handle () ; } __ats_lab_176_1: break ; } while (0) ; return /* (tmp137) */ ; } /* end of [d2exp_app_03975_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3571(line=173, offs=1) -- 3864(line=188, offs=2) */ ATSstaticdec() ats_void_type auxlst_dcon_49 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; // ATSlocal_void (tmp373) ; __ats_lab_auxlst_dcon_49: do { /* branch: __ats_lab_179 */ __ats_lab_179_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_180_0 ; } __ats_lab_179_1: break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_180_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp370 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2con_app (tmp369, arg1) ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type (tmp369) ; /* tmp373 = */ s2exp_app_03946_ (tmp372, arg1) ; arg0 = tmp370 ; arg1 = arg1 ; goto __ats_lab_auxlst_dcon_49 ; // tail call break ; } while (0) ; return /* (tmp368) */ ; } /* end of [auxlst_dcon_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3899(line=191, offs=1) -- 4266(line=210, offs=2) */ ATSstaticdec() ats_void_type auxlst_scst_50 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab_auxlst_scst_50: do { /* branch: __ats_lab_181 */ __ats_lab_181_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_182_0 ; } __ats_lab_181_1: break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_182_1: tmp375 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp376 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (tmp375) ; do { /* branch: __ats_lab_183 */ __ats_lab_183_0: if (tmp377 != (ats_sum_ptr_type)0) { goto __ats_lab_184_0 ; } __ats_lab_183_1: break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: // if (tmp377 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_184_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_7, tmp377, atslab_0) ; /* tmp378 = */ auxlst_dcon_49 (tmp379, arg1) ; break ; } while (0) ; arg0 = tmp376 ; arg1 = arg1 ; goto __ats_lab_auxlst_scst_50 ; // tail call break ; } while (0) ; return /* (tmp374) */ ; } /* end of [auxlst_scst_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 3546(line=170, offs=3) -- 4366(line=216, offs=4) */ ATSstaticdec() ats_void_type d2atdecs_app_03965_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp380) ; __ats_lab_d2atdecs_app_03965_: /* tmp380 = */ s2cstlst_app_03943_ (arg0, arg1) ; /* tmp367 = */ auxlst_scst_50 (arg0, arg1) ; return /* (tmp367) */ ; } /* end of [d2atdecs_app_03965_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 2221(line=90, offs=3) -- 2267(line=90, offs=49) */ ATSstaticdec() ats_void_type d2cstlst_app_03957_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp383) ; __ats_lab_d2cstlst_app_03957_: /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app) ; return /* (tmp383) */ ; } /* end of [d2cstlst_app_03957_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 18973(line=1008, offs=3) -- 19247(line=1017, offs=2) */ ATSstaticdec() ats_void_type i2mpdec_app_03991_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; // ATSlocal_void (tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; __ats_lab_i2mpdec_app_03991_: tmp387 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_i2mpdec_cst) ; /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2cst_app (tmp387, arg1) ; tmp389 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_i2mpdec_imparg) ; /* tmp388 = */ s2varlst_app_03944_ (tmp389, arg1) ; tmp391 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_i2mpdec_tmparg) ; /* tmp390 = */ s2explstlst_app_03948_ (tmp391, arg1) ; tmp393 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_i2mpdec_tmpgua) ; /* tmp392 = */ s2explstlst_app_03948_ (tmp393, arg1) ; tmp394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg0), atslab_i2mpdec_def) ; /* tmp385 = */ d2exp_app_03975_ (tmp394, arg1) ; return /* (tmp385) */ ; } /* end of [i2mpdec_app_03991_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 19330(line=1024, offs=3) -- 19481(line=1031, offs=2) */ ATSstaticdec() ats_void_type f2undec_app_03992_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp399) ; // ATSlocal_void (tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab_f2undec_app_03992_: tmp401 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_var) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp401, arg1) ; tmp403 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_def) ; /* tmp402 = */ d2exp_app_03975_ (tmp403, arg1) ; tmp404 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_f2undec_ann) ; /* tmp399 = */ s2expopt_app_03951_ (tmp404, arg1) ; return /* (tmp399) */ ; } /* end of [f2undec_app_03992_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 19549(line=1036, offs=3) -- 19597(line=1036, offs=51) */ ATSstaticdec() ats_void_type f2undeclst_app_03993_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp398) ; __ats_lab_f2undeclst_app_03993_: /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &f2undec_app_03992_) ; return /* (tmp398) */ ; } /* end of [f2undeclst_app_03993_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 19658(line=1043, offs=3) -- 19808(line=1050, offs=2) */ ATSstaticdec() ats_void_type v2aldec_app_03994_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; // ATSlocal_void (tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; __ats_lab_v2aldec_app_03994_: tmp409 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_pat) ; /* tmp408 = */ p2at_app_03971_ (tmp409, arg1) ; tmp411 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_def) ; /* tmp410 = */ d2exp_app_03975_ (tmp411, arg1) ; tmp412 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_36, arg0), atslab_v2aldec_ann) ; /* tmp407 = */ s2expopt_app_03951_ (tmp412, arg1) ; return /* (tmp407) */ ; } /* end of [v2aldec_app_03994_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 19876(line=1055, offs=3) -- 19924(line=1055, offs=51) */ ATSstaticdec() ats_void_type v2aldeclst_app_03995_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp406) ; __ats_lab_v2aldeclst_app_03995_: /* tmp406 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &v2aldec_app_03994_) ; return /* (tmp406) */ ; } /* end of [v2aldeclst_app_03995_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 2435(line=104, offs=3) -- 2515(line=107, offs=53) */ ATSstaticdec() ats_void_type d2varopt_app_03959_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; __ats_lab_d2varopt_app_03959_: do { /* branch: __ats_lab_192 */ __ats_lab_192_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_193_0 ; } __ats_lab_192_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; /* tmp422 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp423, arg1) ; break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_193_1: break ; } while (0) ; return /* (tmp422) */ ; } /* end of [d2varopt_app_03959_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 19985(line=1062, offs=3) -- 20280(line=1072, offs=2) */ ATSstaticdec() ats_void_type v2ardec_app_03996_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; // ATSlocal_void (tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; // ATSlocal_void (tmp421) ; ATSlocal (ats_ptr_type, tmp424) ; // ATSlocal_void (tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; // ATSlocal_void (tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; __ats_lab_v2ardec_app_03996_: tmp418 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_svar) ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__s2var_app (tmp418, arg1) ; tmp420 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_dvar) ; /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp420, arg1) ; tmp424 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_pfat) ; /* tmp421 = */ d2varopt_app_03959_ (tmp424, arg1) ; tmp426 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_type) ; /* tmp425 = */ s2expopt_app_03951_ (tmp426, arg1) ; tmp428 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_init) ; /* tmp427 = */ d2expopt_app_03978_ (tmp428, arg1) ; tmp429 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_37, arg0), atslab_v2ardec_dvaropt) ; /* tmp416 = */ d2varopt_app_03959_ (tmp429, arg1) ; return /* (tmp416) */ ; } /* end of [v2ardec_app_03996_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 20348(line=1077, offs=3) -- 20396(line=1077, offs=51) */ ATSstaticdec() ats_void_type v2ardeclst_app_03997_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp415) ; __ats_lab_v2ardeclst_app_03997_: /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &v2ardec_app_03996_) ; return /* (tmp415) */ ; } /* end of [v2ardeclst_app_03997_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 20459(line=1084, offs=3) -- 20626(line=1091, offs=2) */ ATSstaticdec() ats_void_type prv2ardec_app_03998_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp432) ; // ATSlocal_void (tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; __ats_lab_prv2ardec_app_03998_: tmp434 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_prv2ardec_dvar) ; /* tmp433 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__d2var_app (tmp434, arg1) ; tmp436 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_prv2ardec_type) ; /* tmp435 = */ s2expopt_app_03951_ (tmp436, arg1) ; tmp437 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_38, arg0), atslab_prv2ardec_init) ; /* tmp432 = */ d2expopt_app_03978_ (tmp437, arg1) ; return /* (tmp432) */ ; } /* end of [prv2ardec_app_03998_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 20698(line=1096, offs=3) -- 20748(line=1096, offs=53) */ ATSstaticdec() ats_void_type prv2ardeclst_app_03999_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp431) ; __ats_lab_prv2ardeclst_app_03999_: /* tmp431 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &prv2ardec_app_03998_) ; return /* (tmp431) */ ; } /* end of [prv2ardeclst_app_03999_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 17237(line=921, offs=3) -- 18635(line=980, offs=4) */ ATSstaticdec() ats_void_type d2ecl_app_03989_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; // ATSlocal_void (tmp397) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; // ATSlocal_void (tmp440) ; __ats_lab_d2ecl_app_03989_: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_d2ecl_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp39)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp39)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_5, tmp39, atslab_0) ; /* tmp38 = */ d2eclist_app_03990_ (tmp40, arg1) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp39)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp39)->tag != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp39)->tag != 4) { goto __ats_lab_16_0 ; } __ats_lab_6_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_6, tmp39, atslab_2) ; /* tmp38 = */ d2itmopt_app_03962_ (tmp41, arg1) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp39)->tag != 7) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_5, tmp39, atslab_0) ; /* tmp38 = */ s2cstlst_app_03943_ (tmp54, arg1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp39)->tag != 8) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_10, tmp39, atslab_1) ; /* tmp38 = */ s2cstlst_app_03943_ (tmp56, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp39)->tag != 10) { goto __ats_lab_58_0 ; } __ats_lab_18_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_1) ; /* tmp38 = */ s2exp_app_03946_ (tmp57, arg1) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp39)->tag != 11) { goto __ats_lab_177_0 ; } __ats_lab_58_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_1) ; /* tmp38 = */ d2exp_app_03975_ (tmp136, arg1) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: if (((ats_sum_ptr_type)tmp39)->tag != 12) { goto __ats_lab_178_0 ; } __ats_lab_177_1: break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)tmp39)->tag != 13) { goto __ats_lab_185_0 ; } __ats_lab_178_1: tmp366 = ats_caselptrlab_mac(anairiats_sum_10, tmp39, atslab_1) ; /* tmp38 = */ d2atdecs_app_03965_ (tmp366, arg1) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp39)->tag != 14) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp381 = ats_caselptrlab_mac(anairiats_sum_5, tmp39, atslab_0) ; /* tmp38 = */ d2conlst_app_03945_ (tmp381, arg1) ; break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: if (((ats_sum_ptr_type)tmp39)->tag != 15) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_15, tmp39, atslab_2) ; /* tmp38 = */ d2cstlst_app_03957_ (tmp382, arg1) ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: if (((ats_sum_ptr_type)tmp39)->tag != 16) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_10, tmp39, atslab_1) ; /* tmp38 = */ i2mpdec_app_03991_ (tmp384, arg1) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: if (((ats_sum_ptr_type)tmp39)->tag != 17) { goto __ats_lab_189_0 ; } __ats_lab_188_1: tmp395 = ats_caselptrlab_mac(anairiats_sum_12, tmp39, atslab_1) ; tmp396 = ats_caselptrlab_mac(anairiats_sum_12, tmp39, atslab_2) ; /* tmp397 = */ s2qualst_app_03952_ (tmp395, arg1) ; /* tmp38 = */ f2undeclst_app_03993_ (tmp396, arg1) ; break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: if (((ats_sum_ptr_type)tmp39)->tag != 18) { goto __ats_lab_190_0 ; } __ats_lab_189_1: tmp405 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_1) ; /* tmp38 = */ v2aldeclst_app_03995_ (tmp405, arg1) ; break ; /* branch: __ats_lab_190 */ __ats_lab_190_0: if (((ats_sum_ptr_type)tmp39)->tag != 19) { goto __ats_lab_191_0 ; } __ats_lab_190_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_1) ; /* tmp38 = */ v2aldeclst_app_03995_ (tmp413, arg1) ; break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: if (((ats_sum_ptr_type)tmp39)->tag != 20) { goto __ats_lab_194_0 ; } __ats_lab_191_1: tmp414 = ats_caselptrlab_mac(anairiats_sum_5, tmp39, atslab_0) ; /* tmp38 = */ v2ardeclst_app_03997_ (tmp414, arg1) ; break ; /* branch: __ats_lab_194 */ __ats_lab_194_0: if (((ats_sum_ptr_type)tmp39)->tag != 21) { goto __ats_lab_195_0 ; } __ats_lab_194_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_5, tmp39, atslab_0) ; /* tmp38 = */ prv2ardeclst_app_03999_ (tmp430, arg1) ; break ; /* branch: __ats_lab_195 */ __ats_lab_195_0: if (((ats_sum_ptr_type)tmp39)->tag != 22) { goto __ats_lab_196_0 ; } __ats_lab_195_1: break ; /* branch: __ats_lab_196 */ __ats_lab_196_0: if (((ats_sum_ptr_type)tmp39)->tag != 23) { goto __ats_lab_197_0 ; } __ats_lab_196_1: break ; /* branch: __ats_lab_197 */ __ats_lab_197_0: if (((ats_sum_ptr_type)tmp39)->tag != 24) { goto __ats_lab_198_0 ; } __ats_lab_197_1: break ; /* branch: __ats_lab_198 */ __ats_lab_198_0: if (((ats_sum_ptr_type)tmp39)->tag != 25) { goto __ats_lab_199_0 ; } __ats_lab_198_1: break ; /* branch: __ats_lab_199 */ __ats_lab_199_0: if (((ats_sum_ptr_type)tmp39)->tag != 26) { goto __ats_lab_200_0 ; } __ats_lab_199_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_0) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_8, tmp39, atslab_1) ; /* tmp440 = */ d2eclist_app_03990_ (tmp438, arg1) ; /* tmp38 = */ d2eclist_app_03990_ (tmp439, arg1) ; break ; /* branch: __ats_lab_200 */ __ats_lab_200_0: if (((ats_sum_ptr_type)tmp39)->tag != 27) { goto __ats_lab_201_0 ; } __ats_lab_200_1: break ; /* branch: __ats_lab_201 */ __ats_lab_201_0: __ats_lab_201_1: break ; } while (0) ; return /* (tmp38) */ ; } /* end of [d2ecl_app_03989_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_appenv.hats: 18727(line=991, offs=3) -- 18888(line=1001, offs=4) */ ATSstaticdec() ats_void_type d2eclist_app_03990_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; __ats_lab_d2eclist_app_03990_: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp37 = */ d2ecl_app_03989_ (tmp35, arg1) ; arg0 = tmp36 ; arg1 = arg1 ; goto __ats_lab_d2eclist_app_03990_ ; // tail call break ; } while (0) ; return /* (tmp34) */ ; } /* end of [d2eclist_app_03990_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_mapgen.dats: 4107(line=191, offs=3) -- 4603(line=219, offs=4) */ ATSglobaldec() anairiats_rec_2 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2eclist_mapgen_all (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_2, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2eclist_mapgen_all: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil () ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil () ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_nil () ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cstset_vt_nil () ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil () ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_0, tmp26) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_1, tmp27) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_2, tmp28) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_3, tmp29) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_4, tmp30) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_5, tmp31) ; /* tmp33 = */ d2eclist_app_03990_ (arg0, ats_castfn_mac(ats_ptr_type, tmp32)) ; // tmp441 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_0) ; tmp442 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_1) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_2) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_3) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_4) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_1, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32)), atslab_5) ; ATS_FREE(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp32))) ; tmp25.atslab_0 = tmp441 ; tmp25.atslab_1 = tmp442 ; tmp25.atslab_2 = tmp443 ; tmp25.atslab_3 = tmp444 ; tmp25.atslab_4 = tmp445 ; tmp25.atslab_5 = tmp446 ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2eclist_mapgen_all] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__MYENV_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_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 () ; #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_dynexp2_mapgen_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_histaexp_dats.c0000664000175000017500000027103012655455557020431 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HITNAM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyabs_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEapp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEextype_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyclo_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEvararg_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2exp_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2zexp_15) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_flted) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_fltext) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_size) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_extype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_clotyp) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_funptr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datcontyp) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined) ; /* internal function declarations */ static ats_bool_type s2cst_is_void_3 (ats_ptr_type arg0) ; static ats_bool_type s2exp_is_void_4 (ats_ptr_type arg0) ; static ats_ptr_type hisexp_make_node_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlab_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlablst_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlstlst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; ATSstatic (ats_ptr_type, statmp3) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp9) ; ATSstatic (ats_ptr_type, statmp10) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp12) ; ATSstatic (ats_ptr_type, statmp13) ; ATSstatic (ats_ptr_type, statmp14) ; ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp16) ; ATSstatic (ats_ptr_type, statmp17) ; ATSstatic (ats_ptr_type, statmp18) ; ATSstatic (ats_ptr_type, statmp19) ; ATSstatic (ats_ptr_type, statmp20) ; ATSstatic (ats_ptr_type, statmp21) ; ATSstatic (ats_ptr_type, statmp22) ; ATSstatic (ats_ptr_type, statmp60) ; ATSstatic (ats_ptr_type, statmp61) ; ATSstatic (ats_ptr_type, statmp62) ; ATSstatic (ats_ptr_type, statmp63) ; ATSstatic (ats_ptr_type, statmp64) ; ATSstatic (ats_ptr_type, statmp65) ; ATSstatic (ats_ptr_type, statmp66) ; ATSstatic (ats_ptr_type, statmp67) ; ATSstatic (ats_ptr_type, statmp68) ; ATSstatic (ats_ptr_type, statmp69) ; ATSstatic (ats_ptr_type, statmp70) ; ATSstatic (ats_ptr_type, statmp71) ; ATSstatic (ats_ptr_type, statmp72) ; ATSstatic (ats_ptr_type, statmp73) ; ATSstatic (ats_ptr_type, statmp74) ; ATSstatic (ats_ptr_type, statmp75) ; ATSstatic (ats_ptr_type, statmp76) ; ATSstatic (ats_ptr_type, statmp77) ; ATSstatic (ats_ptr_type, statmp78) ; ATSstatic (ats_ptr_type, statmp79) ; ATSstatic (ats_ptr_type, statmp80) ; ATSstatic (ats_ptr_type, statmp81) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 3715(line=160, offs=3) -- 3933(line=173, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_boxknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_boxknd: tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp24)->tag != 8) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_3, tmp24, atslab_0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (tmp25) ; if (tmp26) { tmp23 = 1 ; } else { tmp23 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp24)->tag != 10) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp23 = 0 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp23 = -1 ; break ; } while (0) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_boxknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 3995(line=177, offs=3) -- 4164(line=188, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd: tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp28)->tag != 8) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, tmp28, atslab_0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_fltext (tmp29) ; if (tmp30) { tmp27 = 1 ; } else { tmp27 = 0 ; } /* end of [if] */ break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp27 = -1 ; break ; } while (0) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 4242(line=193, offs=16) -- 4316(line=197, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_boxed (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_int_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_boxed: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_name) ; // tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp32, atslab_0) ; tmp31 = atspre_gt_int_int (tmp33, 0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_boxed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 4380(line=204, offs=1) -- 4470(line=206, offs=54) */ ATSstaticdec() ats_bool_type s2cst_is_void_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; __ats_lab_s2cst_is_void_3: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype, arg0) ; return (tmp34) ; } /* end of [s2cst_is_void_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 4478(line=209, offs=1) -- 4812(line=225, offs=2) */ ATSstaticdec() ats_bool_type s2exp_is_void_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_s2exp_is_void_4: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_exp (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype, arg0) ; break ; } while (0) ; return (tmp35) ; } /* end of [s2exp_is_void_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 4865(line=231, offs=3) -- 5165(line=249, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void: tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp38)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_0) ; tmp37 = s2cst_is_void_3 (tmp39) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp38)->tag != 9) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_0) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_6, tmp40, atslab_2) ; arg0 = tmp41 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp38)->tag != 14) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_5, tmp38, atslab_0) ; tmp37 = s2exp_is_void_4 (tmp42) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp37 = ats_false_bool ; break ; } while (0) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 5269(line=257, offs=3) -- 5427(line=269, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_void (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_void: tmp44 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp44)->tag != 5) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_2) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp45) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp43 = ats_false_bool ; break ; } while (0) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_void] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 5509(line=275, offs=3) -- 5836(line=292, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret: tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp47)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_5, tmp47, atslab_0) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_equ_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype, tmp48) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp47)->tag != 11) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp46 = ats_true_bool ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp47)->tag != 9) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp47, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_6, tmp49, atslab_2) ; arg0 = tmp50 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp46 = ats_false_bool ; break ; } while (0) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 5898(line=296, offs=3) -- 6052(line=306, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_noret (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_noret: tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp52)->tag != 5) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_7, tmp52, atslab_2) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_noret (tmp53) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp51 = ats_false_bool ; break ; } while (0) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun_is_noret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 6134(line=312, offs=3) -- 6213(line=315, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyarr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyarr: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp55)->tag != 7) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp54 = ats_true_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp54 = ats_false_bool ; break ; } while (0) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 6274(line=319, offs=3) -- 6356(line=322, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin: tmp57 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp57)->tag != 9) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp56 = ats_true_bool ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp56 = ats_false_bool ; break ; } while (0) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 6438(line=327, offs=19) -- 6500(line=328, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__labhisexp_get_elt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__labhisexp_get_elt: tmp59 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp58 = tmp59 ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__labhisexp_get_elt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 8046(line=411, offs=18) -- 8184(line=418, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_int_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_int_t0ype: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_int) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp84)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_0, tmp83) ; tmp82 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp82, atslab_hisexp_name, statmp10) ; ats_selptrset_mac(anairiats_rec_1, tmp82, atslab_hisexp_node, tmp84) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_int_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 8264(line=423, offs=19) -- 8403(line=430, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_bool) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp87)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp87, atslab_0, tmp86) ; tmp85 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp85, atslab_hisexp_name, statmp10) ; ats_selptrset_mac(anairiats_rec_1, tmp85, atslab_hisexp_node, tmp87) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 8484(line=435, offs=19) -- 8623(line=442, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_size_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_size_t0ype: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atstype_size) ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp90)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp90, atslab_0, tmp89) ; tmp88 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_hisexp_name, statmp10) ; ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_hisexp_node, tmp90) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_size_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9005(line=462, offs=19) -- 9145(line=469, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype () { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_atsvoid_t0ype) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp93)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp93, atslab_0, tmp92) ; tmp91 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp91, atslab_hisexp_name, statmp10) ; ats_selptrset_mac(anairiats_rec_1, tmp91, atslab_hisexp_node, tmp93) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_void_t0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9202(line=474, offs=1) -- 9309(line=479, offs=2) */ ATSstaticdec() ats_ptr_type hisexp_make_node_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_hisexp_make_node_16: tmp94 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_hisexp_name, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_hisexp_node, arg1) ; return (tmp94) ; } /* end of [hisexp_make_node_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9388(line=484, offs=13) -- 9441(line=485, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs: tmp96 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp96)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp96, atslab_0, arg0) ; tmp95 = hisexp_make_node_16 (statmp10, tmp96) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9494(line=491, offs=3) -- 9696(line=509, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srt: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun (arg0) ; if (tmp98) { tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox ; } else { tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("atstype_unboxed")) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs (tmp99) ; } /* end of [if] */ return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9757(line=513, offs=3) -- 9896(line=521, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srtsym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_bool_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srtsym: tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun (arg0) ; if (tmp101) { tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox ; } else { tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyabs (arg1) ; } /* end of [if] */ return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_make_srtsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 9973(line=526, offs=12) -- 10028(line=527, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst: tmp103 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp103)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp103, atslab_0, arg0) ; tmp102 = hisexp_make_node_16 (statmp10, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 10074(line=533, offs=1) -- 10384(line=550, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun: tmp105 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp105)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp105, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp105, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp105, atslab_2, arg2) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp104 = hisexp_make_node_16 (statmp3, tmp105) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp107 = atspre_eq_int_int (tmp106, 0) ; if (tmp107) { tmp104 = hisexp_make_node_16 (statmp5, tmp105) ; } else { tmp104 = hisexp_make_node_16 (statmp4, tmp105) ; } /* end of [if] */ break ; } while (0) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 10453(line=556, offs=3) -- 10522(line=557, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp109)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp109, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp109, atslab_1, arg1) ; tmp108 = hisexp_make_node_16 (statmp12, tmp109) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 10594(line=564, offs=3) -- 10715(line=568, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_extype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_extype: tmp111 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp111, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, tmp111, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, tmp111, atslab_2, arg0) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp112)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp112, atslab_1, arg1) ; tmp110 = hisexp_make_node_16 (tmp111, tmp112) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 10790(line=574, offs=3) -- 10938(line=581, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg: tmp114 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_2, ATSstrcst("postiats_refarg")) ; tmp115 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp115)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp115, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp115, atslab_1, arg1) ; tmp113 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp113, atslab_hisexp_name, tmp114) ; ats_selptrset_mac(anairiats_rec_1, tmp113, atslab_hisexp_node, tmp115) ; return (tmp113) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11010(line=586, offs=14) -- 11077(line=587, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr: tmp117 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp117)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp117, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp117, atslab_1, arg1) ; tmp116 = hisexp_make_node_16 (statmp14, tmp117) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11148(line=593, offs=14) -- 11219(line=594, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec: tmp119 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp119)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp119, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp119, atslab_1, arg1) ; tmp118 = hisexp_make_node_16 (statmp15, tmp119) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11272(line=598, offs=17) -- 11337(line=599, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin: tmp121 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp121)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp121, atslab_0, arg0) ; tmp120 = hisexp_make_node_16 (statmp16, tmp121) ; return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50922(line=1801, offs=14) -- 50991(line=1803, offs=4) */ ATSstaticdec() ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_list_is_sing_01298_ats_ptr_type: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } tmp126 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; if (tmp126 != (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp125 = ats_true_bool ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp125 = ats_false_bool ; break ; } while (0) ; return (tmp125) ; } /* end of [list_is_sing_01298_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11393(line=604, offs=3) -- 11719(line=623, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_bool_type, tmp124) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec2: tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_flted (arg0) ; if (tmp123) { tmp124 = list_is_sing_01298_ats_ptr_type (arg1) ; if (tmp124) { // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp127 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin (tmp127) ; } else { tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (arg0, arg1) ; } /* end of [if] */ } else { tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (arg0, arg1) ; } /* end of [if] */ return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11791(line=628, offs=14) -- 11862(line=629, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum: tmp129 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp129)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_1, arg1) ; tmp128 = hisexp_make_node_16 (statmp17, tmp129) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 11933(line=635, offs=14) -- 12150(line=643, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar: tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (tmp131) ; if (tmp132) { tmp133 = statmp0 ; } else { tmp133 = statmp18 ; } /* end of [if] */ tmp134 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp134)->tag = 11 ; ats_selptrset_mac(anairiats_sum_5, tmp134, atslab_0, arg0) ; tmp130 = hisexp_make_node_16 (tmp133, tmp134) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 12221(line=648, offs=14) -- 12280(line=649, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyclo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyclo: tmp136 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp136)->tag = 12 ; ats_selptrset_mac(anairiats_sum_5, tmp136, atslab_0, arg0) ; tmp135 = hisexp_make_node_16 (statmp13, tmp136) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 12352(line=655, offs=15) -- 12423(line=657, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg: tmp138 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp138)->tag = 13 ; ats_selptrset_mac(anairiats_sum_5, tmp138, atslab_0, arg0) ; tmp137 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp137, atslab_hisexp_name, statmp20) ; ats_selptrset_mac(anairiats_rec_1, tmp137, atslab_hisexp_node, tmp138) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 12495(line=662, offs=14) -- 12552(line=663, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp: tmp140 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp140)->tag = 14 ; ats_selptrset_mac(anairiats_sum_5, tmp140, atslab_0, arg0) ; tmp139 = hisexp_make_node_16 (statmp21, tmp140) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 12603(line=667, offs=15) -- 12664(line=668, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp: tmp142 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp142)->tag = 15 ; ats_selptrset_mac(anairiats_sum_5, tmp142, atslab_0, arg0) ; tmp141 = hisexp_make_node_16 (statmp22, tmp142) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 12724(line=676, offs=1) -- 15564(line=799, offs=4) */ ATSstaticdec() ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_bool_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_int_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_bool_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_bool_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_bool_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_bool_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_bool_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_int_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_bool_type, tmp203) ; __ats_lab_aux_36: tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_hisexp_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp144)->tag != 0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp143 = arg1 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp144)->tag != 2) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp143 = arg1 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp144)->tag != 1) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp143 = arg1 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp144)->tag != 3) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp145 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_1) ; tmp147 = ats_ptrget_mac(ats_int_type, arg2) ; tmp148 = aux_36 (arg0, tmp145, arg2) ; tmp149 = auxlst_38 (arg0, tmp146, arg2) ; tmp150 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp147) ; if (tmp150) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_app (tmp148, tmp149) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp144)->tag != 4) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_1) ; tmp153 = ats_ptrget_mac(ats_int_type, arg2) ; tmp154 = auxlstlst_40 (arg0, tmp152, arg2) ; tmp155 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp153) ; if (tmp155) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_extype (tmp151, tmp154) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp144)->tag != 5) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_7, tmp144, atslab_0) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_7, tmp144, atslab_1) ; tmp158 = ats_caselptrlab_mac(anairiats_sum_7, tmp144, atslab_2) ; tmp159 = ats_ptrget_mac(ats_int_type, arg2) ; tmp160 = aux_36 (arg0, tmp158, arg2) ; tmp161 = auxlst_38 (arg0, tmp157, arg2) ; tmp162 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp159) ; if (tmp162) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_fun (tmp156, tmp161, tmp160) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp144)->tag != 6) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_9, tmp144, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_9, tmp144, atslab_1) ; tmp165 = ats_ptrget_mac(ats_int_type, arg2) ; tmp166 = aux_36 (arg0, tmp164, arg2) ; tmp167 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp165) ; if (tmp167) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_refarg (tmp163, tmp166) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp144)->tag != 7) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_1) ; tmp170 = ats_ptrget_mac(ats_int_type, arg2) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp169, arg2) ; tmp172 = aux_36 (arg0, tmp168, arg2) ; tmp173 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp170) ; if (tmp173) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyarr (tmp172, tmp171) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp144)->tag != 8) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_1) ; tmp176 = ats_ptrget_mac(ats_int_type, arg2) ; tmp177 = auxlablst_39 (arg0, tmp175, arg2) ; tmp178 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp176) ; if (tmp178) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrec (tmp174, tmp177) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp144)->tag != 9) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_5, tmp144, atslab_0) ; tmp180 = ats_ptrget_mac(ats_int_type, arg2) ; tmp181 = auxlab_37 (arg0, tmp179, arg2) ; tmp182 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp180) ; if (tmp182) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tyrecsin (tmp181) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp144)->tag != 10) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_1) ; tmp185 = ats_ptrget_mac(ats_int_type, arg2) ; tmp186 = auxlablst_39 (arg0, tmp184, arg2) ; tmp187 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp185) ; if (tmp187) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tysum (tmp183, tmp186) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp144)->tag != 11) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_5, tmp144, atslab_0) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find (arg0, tmp188) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp189 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_11, tmp189, atslab_0) ; ATS_FREE(tmp189) ; tmp191 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp191 ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp (tmp190) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (tmp189 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp143 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp144)->tag != 12) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp143 = arg1 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp144)->tag != 13) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_5, tmp144, atslab_0) ; tmp193 = ats_ptrget_mac(ats_int_type, arg2) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp192, arg2) ; tmp195 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp193) ; if (tmp195) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_vararg (tmp194) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp144)->tag != 14) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_5, tmp144, atslab_0) ; tmp197 = ats_ptrget_mac(ats_int_type, arg2) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp196, arg2) ; tmp199 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp197) ; if (tmp199) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2exp (tmp198) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (((ats_sum_ptr_type)tmp144)->tag != 15) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_5, tmp144, atslab_0) ; tmp201 = ats_ptrget_mac(ats_int_type, arg2) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp200, arg2) ; tmp203 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp201) ; if (tmp203) { tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_s2zexp (tmp202) ; } else { tmp143 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp143) ; } /* end of [aux_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 15586(line=801, offs=5) -- 15812(line=809, offs=4) */ ATSstaticdec() ats_ptr_type auxlab_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_bool_type, tmp210) ; __ats_lab_auxlab_37: tmp205 = ats_ptrget_mac(ats_int_type, arg2) ; // tmp206 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_2) ; tmp209 = aux_36 (arg0, tmp208, arg2) ; tmp210 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp205) ; if (tmp210) { tmp204 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_0, tmp206) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_1, tmp207) ; ats_selptrset_mac(anairiats_sum_6, tmp204, atslab_2, tmp209) ; } else { tmp204 = arg1 ; } /* end of [if] */ return (tmp204) ; } /* end of [auxlab_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 15837(line=811, offs=5) -- 16183(line=827, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_bool_type, tmp217) ; __ats_lab_auxlst_38: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp214 = ats_ptrget_mac(ats_int_type, arg2) ; tmp215 = aux_36 (arg0, tmp212, arg2) ; tmp216 = auxlst_38 (arg0, tmp213, arg2) ; tmp217 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp214) ; if (tmp217) { tmp211 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp211, atslab_0, tmp215) ; ats_selptrset_mac(anairiats_sum_10, tmp211, atslab_1, tmp216) ; } else { tmp211 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp211 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp211) ; } /* end of [auxlst_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 16208(line=829, offs=5) -- 16580(line=845, offs=4) */ ATSstaticdec() ats_ptr_type auxlablst_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_int_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_bool_type, tmp224) ; __ats_lab_auxlablst_39: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp221 = ats_ptrget_mac(ats_int_type, arg2) ; tmp222 = auxlab_37 (arg0, tmp219, arg2) ; tmp223 = auxlablst_39 (arg0, tmp220, arg2) ; tmp224 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp221) ; if (tmp224) { tmp218 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp218, atslab_0, tmp222) ; ats_selptrset_mac(anairiats_sum_10, tmp218, atslab_1, tmp223) ; } else { tmp218 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp218 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp218) ; } /* end of [auxlablst_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 16608(line=847, offs=5) -- 16980(line=863, offs=4) */ ATSstaticdec() ats_ptr_type auxlstlst_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_bool_type, tmp231) ; __ats_lab_auxlstlst_40: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp228 = ats_ptrget_mac(ats_int_type, arg2) ; tmp229 = auxlst_38 (arg0, tmp226, arg2) ; tmp230 = auxlstlst_40 (arg0, tmp227, arg2) ; tmp231 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp228) ; if (tmp231) { tmp225 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp225, atslab_0, tmp229) ; ats_selptrset_mac(anairiats_sum_10, tmp225, atslab_1, tmp230) ; } else { tmp225 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp225 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp225) ; } /* end of [auxlstlst_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_histaexp.dats: 17050(line=869, offs=3) -- 17116(line=871, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst: /* ats_int_type tmp233 ; */ tmp233 = 0 ; tmp232 = aux_36 (arg0, arg1, (&tmp233)) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_subst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp9, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp14, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp16, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp17, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp18, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp19, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp20, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp21, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp22, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp60, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp61, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp62, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp63, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp64, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp65, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp66, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp67, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp68, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp69, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp70, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp72, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp73, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp74, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp75, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp76, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp77, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp78, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp79, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp80, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp81, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp0 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp0, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp0, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp0, atslab_2, ATSstrcst("atstype_boxed")) ; statmp1 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp1, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp1, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp1, atslab_2, ATSstrcst("atstype_unboxed")) ; statmp2 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp2, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp2, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp2, atslab_2, ATSstrcst("atstype_undefined")) ; statmp3 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp3, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp3, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp3, atslab_2, ATSstrcst("atstype_funptr")) ; statmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp4, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp4, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp4, atslab_2, ATSstrcst("atstype_cloptr")) ; statmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp5, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp5, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp5, atslab_2, ATSstrcst("atstype_clotyp")) ; statmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp6, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp6, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp6, atslab_2, ATSstrcst("atstype_arrptr")) ; statmp7 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp7, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp7, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp7, atslab_2, ATSstrcst("atstype_datconptr")) ; statmp8 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp8, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp8, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp8, atslab_2, ATSstrcst("atstype_datcontyp")) ; statmp9 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp9, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp9, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp9, atslab_2, ATSstrcst("atstype_exnconptr")) ; statmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp10, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp10, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp10, atslab_2, ATSstrcst("postiats_tyabs")) ; statmp11 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp11, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp11, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_2, statmp11, atslab_2, ATSstrcst("postiats_typtr")) ; statmp12 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp12, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp12, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp12, atslab_2, ATSstrcst("postiats_tyapp")) ; statmp13 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp13, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp13, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp13, atslab_2, ATSstrcst("postiats_tyclo")) ; statmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp14, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp14, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp14, atslab_2, ATSstrcst("postiats_tyarr")) ; statmp15 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp15, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp15, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp15, atslab_2, ATSstrcst("postiats_tyrec")) ; statmp16 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp16, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp16, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp16, atslab_2, ATSstrcst("postiats_tyrecsin")) ; statmp17 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp17, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp17, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp17, atslab_2, ATSstrcst("postiats_tysum")) ; statmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp18, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp18, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp18, atslab_2, ATSstrcst("postiats_tyvar")) ; statmp19 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp19, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp19, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp19, atslab_2, ATSstrcst("postiats_tyvaret")) ; statmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp20, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp20, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp20, atslab_2, ATSstrcst("postiats_vararg")) ; statmp21 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp21, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp21, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp21, atslab_2, ATSstrcst("postiats_s2exp")) ; statmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, statmp22, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp22, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_2, statmp22, atslab_2, ATSstrcst("postiats_s2zexp")) ; statmp61 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp60 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp60, atslab_hisexp_name, statmp0) ; ats_selptrset_mac(anairiats_rec_1, statmp60, atslab_hisexp_node, statmp61) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_tybox = statmp60 ; statmp63 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp62 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp62, atslab_hisexp_name, statmp11) ; ats_selptrset_mac(anairiats_rec_1, statmp62, atslab_hisexp_node, statmp63) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr = statmp62 ; statmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("atstyclo_top")) ; statmp66 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)statmp66)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, statmp66, atslab_0, statmp64) ; statmp65 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp65, atslab_hisexp_name, statmp13) ; ats_selptrset_mac(anairiats_rec_1, statmp65, atslab_hisexp_node, statmp66) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_clotyp, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_clotyp = statmp65 ; statmp68 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp67 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp67, atslab_hisexp_name, statmp3) ; ats_selptrset_mac(anairiats_rec_1, statmp67, atslab_hisexp_node, statmp68) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_funptr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_funptr = statmp67 ; statmp70 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp69 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp69, atslab_hisexp_name, statmp4) ; ats_selptrset_mac(anairiats_rec_1, statmp69, atslab_hisexp_node, statmp70) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr = statmp69 ; statmp72 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp71 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp71, atslab_hisexp_name, statmp6) ; ats_selptrset_mac(anairiats_rec_1, statmp71, atslab_hisexp_node, statmp72) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_arrptr = statmp71 ; statmp74 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp73 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp73, atslab_hisexp_name, statmp7) ; ats_selptrset_mac(anairiats_rec_1, statmp73, atslab_hisexp_node, statmp74) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datconptr = statmp73 ; statmp76 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp75 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp75, atslab_hisexp_name, statmp8) ; ats_selptrset_mac(anairiats_rec_1, statmp75, atslab_hisexp_node, statmp76) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datcontyp, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_datcontyp = statmp75 ; statmp78 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtybox_1) ; statmp77 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp77, atslab_hisexp_name, statmp9) ; ats_selptrset_mac(anairiats_rec_1, statmp77, atslab_hisexp_node, statmp78) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr = statmp77 ; statmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("atstype_undefined")) ; statmp81 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)statmp81)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, statmp81, atslab_0, statmp79) ; statmp80 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp80, atslab_hisexp_name, statmp2) ; ats_selptrset_mac(anairiats_rec_1, statmp80, atslab_hisexp_node, statmp81) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_undefined = statmp80 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_histaexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_dats.c0000664000175000017500000060635012655455557020204 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2sym_loc ; ats_ptr_type atslab_d2sym_qua ; ats_ptr_type atslab_d2sym_sym ; ats_ptr_type atslab_d2sym_pitmlst ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_8 ; typedef struct { anairiats_rec_8 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_i2nvarg_var ; ats_ptr_type atslab_i2nvarg_type ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_23 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_loopi2nv_loc ; ats_ptr_type atslab_loopi2nv_svs ; ats_ptr_type atslab_loopi2nv_gua ; ats_ptr_type atslab_loopi2nv_arg ; ats_ptr_type atslab_loopi2nv_met ; ats_ptr_type atslab_loopi2nv_res ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_gm2at_loc ; ats_ptr_type atslab_gm2at_exp ; ats_ptr_type atslab_gm2at_pat ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_sc2lau_loc ; ats_ptr_type atslab_sc2lau_pat ; ats_ptr_type atslab_sc2lau_body ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_i2mpdec_loc ; ats_ptr_type atslab_i2mpdec_locid ; ats_ptr_type atslab_i2mpdec_cst ; ats_ptr_type atslab_i2mpdec_imparg ; ats_ptr_type atslab_i2mpdec_tmparg ; ats_ptr_type atslab_i2mpdec_tmpgua ; ats_ptr_type atslab_i2mpdec_def ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_f2undec_loc ; ats_ptr_type atslab_f2undec_var ; ats_ptr_type atslab_f2undec_def ; ats_ptr_type atslab_f2undec_ann ; } anairiats_rec_30 ; typedef struct { ats_ptr_type atslab_v2aldec_loc ; ats_ptr_type atslab_v2aldec_pat ; ats_ptr_type atslab_v2aldec_def ; ats_ptr_type atslab_v2aldec_ann ; } anairiats_rec_31 ; typedef struct { ats_ptr_type atslab_v2ardec_loc ; ats_int_type atslab_v2ardec_knd ; ats_ptr_type atslab_v2ardec_svar ; ats_ptr_type atslab_v2ardec_dvar ; ats_ptr_type atslab_v2ardec_pfat ; ats_ptr_type atslab_v2ardec_type ; ats_ptr_type atslab_v2ardec_init ; ats_ptr_type atslab_v2ardec_dvaropt ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_prv2ardec_loc ; ats_ptr_type atslab_prv2ardec_dvar ; ats_ptr_type atslab_prv2ardec_type ; ats_ptr_type atslab_prv2ardec_init ; } anairiats_rec_33 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_34 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_35 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_36 ; /* external typedefs */ typedef anairiats_rec_14 *d2exp_t ; typedef anairiats_rec_3 *p2at_t ; /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cpragma_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csaspdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil) ; /* internal function declarations */ static ats_ptr_type p2at_svs_add_svar_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type p2at_svs_add_svarlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_24 (ats_ptr_type arg0, anairiats_rec_8 arg1) ; static ats_ptr_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_30 (ats_ptr_type arg0) ; static ats_void_type loop_32 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; ATSstatic (ats_ptr_type, statmp312) ; ATSstatic (ats_ptr_type, statmp313) ; ATSstatic (ats_ptr_type, statmp314) ; ATSstatic (ats_ptr_type, statmp315) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 1988(line=74, offs=12) -- 2088(line=80, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make: tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_qua, arg1) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_sym, arg2) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_pitmlst, arg3) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 2357(line=95, offs=5) -- 2484(line=101, offs=4) */ ATSstaticdec() ats_ptr_type p2at_svs_add_svar_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_p2at_svs_add_svar_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ; return (tmp3) ; } /* end of [p2at_svs_add_svar_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20) */ ATSstaticdec() ats_ptr_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; tmp10 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg0) (arg1, tmp8, arg3) ; arg0 = arg0 ; arg1 = tmp10 ; arg2 = tmp9 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp7 = arg1 ; break ; } while (0) ; return (tmp7) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type: tmp6 = loop_5 (arg0, arg1, arg2, arg3) ; return (tmp6) ; } /* end of [list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab_list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type: tmp5 = list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ; return (tmp5) ; } /* end of [list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 2520(line=103, offs=5) -- 2695(line=110, offs=4) */ ATSstaticdec() ats_ptr_type p2at_svs_add_svarlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_p2at_svs_add_svarlst_2: tmp4 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&p2at_svs_add_svar_1, arg0, arg1) ; return (tmp4) ; } /* end of [p2at_svs_add_svarlst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 2877(line=118, offs=5) -- 2938(line=118, offs=66) */ ATSstaticdec() ats_ptr_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab___ats_fun_7: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_svs) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union (arg0, tmp13, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ; return (tmp12) ; } /* end of [__ats_fun_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 2758(line=113, offs=19) -- 2993(line=120, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union: tmp11 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&__ats_fun_7, statmp1, arg0) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3172(line=128, offs=5) -- 3233(line=128, offs=66) */ ATSstaticdec() ats_ptr_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab___ats_fun_9: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_dvs) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union (arg0, tmp16, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) ; return (tmp15) ; } /* end of [__ats_fun_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3053(line=123, offs=19) -- 3288(line=130, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union: tmp14 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&__ats_fun_9, statmp2, arg0) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3370(line=136, offs=3) -- 3576(line=142, offs=20) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_6_1 ; } __ats_lab_2_2: tmp17 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_4_0 ; } __ats_lab_3_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_6_1 ; } __ats_lab_3_2: tmp17 = ats_true_bool ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_6_1 ; } __ats_lab_4_2: tmp17 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_6_1 ; } __ats_lab_5_2: tmp17 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: __ats_lab_6_2: tmp17 = ats_false_bool ; break ; } while (0) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3655(line=149, offs=1) -- 3785(line=156, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node: tmp19 = (ats_sum_ptr_type)0 ; tmp18 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_svs, arg1) ; ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_dvs, arg2) ; ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_type, tmp19) ; ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_node, arg3) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3833(line=159, offs=10) -- 3902(line=160, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any: tmp21 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp21) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 3946(line=165, offs=3) -- 4059(line=168, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var: tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing (arg1) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp24)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, arg1) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, tmp23, tmp24) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4122(line=173, offs=10) -- 4195(line=174, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_int: tmp26 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp26)->tag = 3 ; ats_selptrset_mac(anairiats_sum_5, tmp26, atslab_0, arg1) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp26) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4240(line=178, offs=13) -- 4320(line=179, offs=68) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_intrep: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp28)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_0, arg1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp28) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4363(line=183, offs=11) -- 4437(line=184, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool: tmp30 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp30)->tag = 5 ; ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_0, arg1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4481(line=188, offs=11) -- 4555(line=189, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_char: tmp32 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp32)->tag = 6 ; ats_selptrset_mac(anairiats_sum_7, tmp32, atslab_0, arg1) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp32) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4600(line=193, offs=12) -- 4679(line=194, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_float: tmp34 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp34)->tag = 7 ; ats_selptrset_mac(anairiats_sum_4, tmp34, atslab_0, arg1) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4726(line=198, offs=13) -- 4806(line=199, offs=68) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_string: tmp36 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp36)->tag = 8 ; ats_selptrset_mac(anairiats_sum_4, tmp36, atslab_0, arg1) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4873(line=205, offs=11) -- 4947(line=206, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_i0nt: tmp38 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp38)->tag = 9 ; ats_selptrset_mac(anairiats_sum_4, tmp38, atslab_0, arg1) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 4993(line=210, offs=13) -- 5069(line=211, offs=66) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_f0loat: tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp40)->tag = 10 ; ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, arg1) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 5137(line=217, offs=12) -- 5208(line=218, offs=64) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty: tmp42 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 5397(line=230, offs=8) -- 5495(line=233, offs=46) */ ATSstaticdec() ats_ptr_type f_24 (ats_ptr_type arg0, anairiats_rec_8 arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_f_24: tmp46 = ats_select_mac(arg1, atslab_s2qua_svs) ; tmp45 = p2at_svs_add_svarlst_2 (arg0, tmp46) ; return (tmp45) ; } /* end of [f_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20) */ ATSstaticdec() ats_ptr_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (anairiats_rec_8, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_loop_27: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp53 = ((ats_ptr_type(*)(ats_ptr_type, anairiats_rec_8, ats_ptr_type))arg0) (arg1, tmp51, arg3) ; arg0 = arg0 ; arg1 = tmp53 ; arg2 = tmp52 ; arg3 = arg3 ; goto __ats_lab_loop_27 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp50 = arg1 ; break ; } while (0) ; return (tmp50) ; } /* end of [loop_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8: tmp49 = loop_27 (arg0, arg1, arg2, arg3) ; return (tmp49) ; } /* end of [list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4) */ ATSstaticdec() ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8: tmp48 = list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ; return (tmp48) ; } /* end of [list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 5273(line=224, offs=10) -- 5731(line=242, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg6) ; tmp47 = list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (&f_24, tmp44, arg3) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg6) ; tmp55 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp55)->tag = 2 ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_4, arg5) ; ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_5, arg6) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp47, tmp54, tmp55) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 5797(line=248, offs=3) -- 5954(line=253, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_list: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg2) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg2) ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp59)->tag = 18 ; ats_selptrset_mac(anairiats_sum_11, tmp59, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp59, atslab_1, arg2) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp57, tmp58, tmp59) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 6090(line=261, offs=9) -- 6367(line=268, offs=38) */ ATSstaticdec() ats_ptr_type aux_30 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_aux_30: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_9_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp62)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_12, tmp62, atslab_1) ; tmp65 = aux_30 (tmp63) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp61, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_2, tmp61, atslab_1, tmp65) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)tmp62)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: arg0 = tmp63 ; goto __ats_lab_aux_30 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp61 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp61) ; } /* end of [aux_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_32 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_loop_32: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp72 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; return /* (tmp71) */ ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp70) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp70 = */ loop_32 (arg0) ; return /* (tmp70) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 6020(line=259, offs=3) -- 6608(line=276, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec: tmp66 = aux_30 (arg3) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (ats_castfn_mac(ats_ptr_type, tmp66)) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (ats_castfn_mac(ats_ptr_type, tmp66)) ; /* tmp69 = */ list_vt_free_01499_ats_ptr_type (tmp66) ; tmp73 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp73)->tag = 13 ; ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_2, arg3) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp67, tmp68, tmp73) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 6673(line=281, offs=10) -- 6829(line=286, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg2) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg2) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp77)->tag = 12 ; ats_selptrset_mac(anairiats_sum_11, tmp77, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp77, atslab_1, arg2) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp75, tmp76, tmp77) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 6894(line=291, offs=12) -- 7096(line=298, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_refas: tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_svs) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_dvs) ; tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert (tmp81, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp82)->tag = 14 ; ats_selptrset_mac(anairiats_sum_12, tmp82, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp82, atslab_1, arg2) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp79, tmp80, tmp82) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 7165(line=304, offs=3) -- 7350(line=311, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_exist: tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_svs) ; tmp84 = p2at_svs_add_svarlst_2 (tmp85, arg1) ; tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_dvs) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp87)->tag = 15 ; ats_selptrset_mac(anairiats_sum_12, tmp87, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp87, atslab_1, arg2) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp84, tmp86, tmp87) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 7415(line=317, offs=1) -- 7508(line=321, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann: tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_svs) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_dvs) ; tmp91 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp91)->tag = 17 ; ats_selptrset_mac(anairiats_sum_12, tmp91, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp91, atslab_1, arg2) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp89, tmp90, tmp91) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 7572(line=326, offs=11) -- 7686(line=329, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox: tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing (arg1) ; tmp94 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp94)->tag = 16 ; ats_selptrset_mac(anairiats_sum_4, tmp94, atslab_0, arg1) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, tmp93, tmp94) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 7753(line=334, offs=13) -- 7825(line=335, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat: tmp96 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp96) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 7951(line=345, offs=17) -- 8024(line=347, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node: tmp98 = (ats_sum_ptr_type)0 ; tmp97 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_node, arg1) ; ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_type, tmp98) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8095(line=352, offs=11) -- 8143(line=352, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst: tmp100 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp100)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_0, arg1) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp100) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8165(line=355, offs=11) -- 8213(line=355, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var: tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp102)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, arg1) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp102) ; return (tmp101) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8256(line=360, offs=11) -- 8300(line=360, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int: tmp104 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp104)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp104, atslab_0, arg1) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp104) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8324(line=362, offs=14) -- 8375(line=362, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_intrep: tmp106 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp106)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp106, atslab_0, arg1) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp106) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8397(line=364, offs=12) -- 8442(line=364, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool: tmp108 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp108)->tag = 4 ; ats_selptrset_mac(anairiats_sum_6, tmp108, atslab_0, arg1) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp108) ; return (tmp107) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8464(line=366, offs=12) -- 8509(line=366, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char: tmp110 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp110)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp110, atslab_0, arg1) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp110) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8532(line=368, offs=13) -- 8582(line=368, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float: tmp112 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp112)->tag = 6 ; ats_selptrset_mac(anairiats_sum_4, tmp112, atslab_0, arg1) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp112) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8606(line=370, offs=14) -- 8653(line=370, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string: tmp114 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp114)->tag = 7 ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_0, arg1) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp114) ; return (tmp113) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8676(line=373, offs=12) -- 8721(line=373, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_i0nt: tmp116 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp116)->tag = 8 ; ats_selptrset_mac(anairiats_sum_4, tmp116, atslab_0, arg1) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8744(line=375, offs=13) -- 8790(line=375, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_c0har: tmp118 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp118)->tag = 9 ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_0, arg1) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp118) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8814(line=377, offs=14) -- 8861(line=377, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_f0loat: tmp120 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp120)->tag = 10 ; ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_0, arg1) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp120) ; return (tmp119) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8886(line=379, offs=15) -- 8934(line=379, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_s0tring: tmp122 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp122)->tag = 11 ; ats_selptrset_mac(anairiats_sum_4, tmp122, atslab_0, arg1) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp122) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 8977(line=384, offs=11) -- 9017(line=384, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp124) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9039(line=386, offs=12) -- 9088(line=386, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top2: tmp126 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp126)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp126, atslab_0, arg1) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp126) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9111(line=388, offs=13) -- 9153(line=388, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty: tmp128 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp128) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9200(line=394, offs=3) -- 9250(line=394, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cstsp: tmp130 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp130)->tag = 15 ; ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_0, arg1) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp130) ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9323(line=401, offs=3) -- 9375(line=401, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_literal (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_literal: tmp132 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp132)->tag = 16 ; ats_selptrset_mac(anairiats_sum_4, tmp132, atslab_0, arg1) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp132) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_literal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9449(line=408, offs=3) -- 9514(line=409, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval: tmp134 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp134)->tag = 17 ; ats_selptrset_mac(anairiats_sum_12, tmp134, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp134, atslab_1, arg2) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp134) ; return (tmp133) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9568(line=414, offs=3) -- 9647(line=415, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall: tmp136 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp136)->tag = 18 ; ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_2, arg3) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp136) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9703(line=420, offs=3) -- 9794(line=421, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall: tmp138 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp138)->tag = 19 ; ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_3, arg4) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp138) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 9866(line=428, offs=3) -- 9982(line=429, offs=71) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con: tmp140 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp140)->tag = 20 ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_4, arg5) ; ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_5, arg6) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp140) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10026(line=433, offs=11) -- 10074(line=433, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym: tmp142 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp142)->tag = 21 ; ats_selptrset_mac(anairiats_sum_4, tmp142, atslab_0, arg1) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp142) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10122(line=439, offs=3) -- 10185(line=439, offs=66) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_foldat: tmp144 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp144)->tag = 22 ; ats_selptrset_mac(anairiats_sum_12, tmp144, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp144, atslab_1, arg2) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp144) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10236(line=443, offs=3) -- 10299(line=443, offs=66) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_freeat: tmp146 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp146)->tag = 23 ; ats_selptrset_mac(anairiats_sum_12, tmp146, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp146, atslab_1, arg2) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp146) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_freeat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10369(line=449, offs=13) -- 10441(line=450, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid: tmp148 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp148)->tag = 24 ; ats_selptrset_mac(anairiats_sum_12, tmp148, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp148, atslab_1, arg2) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp148) ; return (tmp147) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10508(line=456, offs=11) -- 10572(line=457, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let: tmp150 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp150)->tag = 25 ; ats_selptrset_mac(anairiats_sum_12, tmp150, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp150, atslab_1, arg2) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp150) ; return (tmp149) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10618(line=461, offs=13) -- 10684(line=462, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where: tmp152 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp152)->tag = 26 ; ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_1, arg2) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp152) ; return (tmp151) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10754(line=468, offs=14) -- 10837(line=470, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst: tmp154 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp154)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp154, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp154, atslab_1, arg2) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp154) ; return (tmp153) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab_loop_70: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp167 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp167, atslab_0, tmp165) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp167 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp168 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp166 ; arg1 = arg1 ; arg2 = tmp168 ; goto __ats_lab_loop_70 ; // tail call break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp170 = (ats_sum_ptr_type)0 ; tmp169 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp169, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp169, atslab_1, tmp170) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp169 ; break ; } while (0) ; return /* (tmp164) */ ; } /* end of [loop_70] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp171) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp163 ; */ /* tmp171 = */ loop_70 (arg0, arg1, (&tmp163)) ; tmp162 = tmp163 ; return (tmp162) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 10863(line=473, offs=15) -- 11509(line=502, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_15_1: tmp156 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp156)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp156, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp156, atslab_1, arg3) ; tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp158)->tag != 27) { goto __ats_lab_19_0 ; } __ats_lab_16_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_12, tmp158, atslab_0) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_12, tmp158, atslab_1) ; tmp161 = list_extend_01337_ats_ptr_type (tmp160, tmp156) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp157)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_0, tmp159) ; ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_1, ats_castfn_mac(ats_ptr_type, tmp161)) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp173 = (ats_sum_ptr_type)0 ; tmp172 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_0, tmp156) ; ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_1, tmp173) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp157)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_1, tmp172) ; break ; } while (0) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp157) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp155 = arg1 ; break ; } while (0) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 11564(line=505, offs=15) -- 12098(line=527, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn: tmp175 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp175)->tag = 1 ; ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_2, arg4) ; tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp177)->tag != 27) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_1) ; tmp180 = list_extend_01337_ats_ptr_type (tmp179, tmp175) ; tmp176 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp176)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_0, tmp178) ; ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_1, ats_castfn_mac(ats_ptr_type, tmp180)) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp182 = (ats_sum_ptr_type)0 ; tmp181 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_0, tmp175) ; ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_1, tmp182) ; tmp176 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp176)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_1, tmp181) ; break ; } while (0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp176) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 12154(line=530, offs=19) -- 12450(line=541, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn: tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta (arg1, arg2, arg1, arg3) ; tmp185 = atspre_gte_int_int (arg5, -1) ; if (tmp185) { tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn (arg0, tmp184, arg5, arg4, arg6) ; } else { tmp183 = tmp184 ; } /* end of [if] */ return (tmp183) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 12526(line=546, offs=14) -- 12629(line=550, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead: tmp187 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp187)->tag = 28 ; ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_3, arg4) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp187) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 12680(line=553, offs=15) -- 12784(line=557, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead: tmp189 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp189)->tag = 29 ; ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_3, arg4) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp189) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 12858(line=562, offs=16) -- 12953(line=566, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead: tmp191 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp191)->tag = 30 ; ats_selptrset_mac(anairiats_sum_16, tmp191, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp191, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp191, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp191, atslab_3, arg4) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp191) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13008(line=569, offs=17) -- 13090(line=571, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_scasehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_scasehead: tmp193 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp193)->tag = 31 ; ats_selptrset_mac(anairiats_sum_15, tmp193, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp193, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp193, atslab_2, arg3) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp193) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_scasehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13136(line=576, offs=12) -- 13186(line=577, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing: tmp195 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp195)->tag = 32 ; ats_selptrset_mac(anairiats_sum_4, tmp195, atslab_0, arg1) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp195) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13211(line=580, offs=12) -- 13273(line=581, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list: tmp197 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp197)->tag = 33 ; ats_selptrset_mac(anairiats_sum_11, tmp197, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp197, atslab_1, arg2) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp197) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13318(line=586, offs=11) -- 13390(line=587, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst: tmp199 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp199)->tag = 34 ; ats_selptrset_mac(anairiats_sum_18, tmp199, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_18, tmp199, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp199, atslab_2, arg3) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp199) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13434(line=591, offs=11) -- 13512(line=594, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup: tmp201 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp201)->tag = 35 ; ats_selptrset_mac(anairiats_sum_13, tmp201, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_13, tmp201, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp201, atslab_2, arg3) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp201) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13562(line=598, offs=15) -- 13637(line=601, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt: tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup (arg0, 0, arg1, arg2) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13687(line=605, offs=11) -- 13761(line=606, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec: tmp204 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp204)->tag = 36 ; ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_2, arg3) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp204) ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13828(line=613, offs=3) -- 13878(line=613, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq: tmp206 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp206)->tag = 37 ; ats_selptrset_mac(anairiats_sum_4, tmp206, atslab_0, arg1) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp206) ; return (tmp205) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 13925(line=618, offs=3) -- 14161(line=628, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq2: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp209 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq (arg0, arg1) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (tmp209 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp207 = tmp208 ; break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (arg0) ; break ; } while (0) ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14231(line=634, offs=3) -- 14285(line=634, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref: tmp211 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp211)->tag = 41 ; ats_selptrset_mac(anairiats_sum_4, tmp211, atslab_0, arg1) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp211) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14335(line=638, offs=13) -- 14409(line=640, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn: tmp213 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp213)->tag = 42 ; ats_selptrset_mac(anairiats_sum_12, tmp213, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp213, atslab_1, arg2) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp213) ; return (tmp212) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14459(line=644, offs=13) -- 14533(line=646, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng: tmp215 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp215)->tag = 43 ; ats_selptrset_mac(anairiats_sum_12, tmp215, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp215, atslab_1, arg2) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp215) ; return (tmp214) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14605(line=652, offs=14) -- 14696(line=654, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub: tmp217 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp217)->tag = 44 ; ats_selptrset_mac(anairiats_sum_16, tmp217, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_16, tmp217, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp217, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp217, atslab_3, arg4) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp217) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14721(line=657, offs=14) -- 14810(line=659, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz: tmp219 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp219)->tag = 45 ; ats_selptrset_mac(anairiats_sum_12, tmp219, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp219, atslab_1, arg2) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp219) ; return (tmp218) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14836(line=662, offs=15) -- 14922(line=664, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit: tmp221 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp221)->tag = 46 ; ats_selptrset_mac(anairiats_sum_15, tmp221, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp221, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp221, atslab_2, arg3) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 14967(line=669, offs=13) -- 15017(line=669, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof: tmp223 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp223)->tag = 39 ; ats_selptrset_mac(anairiats_sum_4, tmp223, atslab_0, arg1) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp223) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15042(line=672, offs=14) -- 15093(line=672, offs=65) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat: tmp225 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp225)->tag = 40 ; ats_selptrset_mac(anairiats_sum_4, tmp225, atslab_0, arg1) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp225) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15140(line=678, offs=3) -- 15204(line=679, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab: tmp227 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp227)->tag = 38 ; ats_selptrset_mac(anairiats_sum_12, tmp227, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp227, atslab_1, arg2) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp227) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15256(line=684, offs=3) -- 15303(line=684, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot: tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab (arg0, arg1, arg2) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15357(line=689, offs=3) -- 15502(line=694, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_ptr: tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_loc) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref (tmp230, arg1) ; tmp233 = (ats_sum_ptr_type)0 ; tmp232 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp232, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_2, tmp232, atslab_1, tmp233) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab (arg0, tmp231, tmp232) ; return (tmp229) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15575(line=700, offs=3) -- 15627(line=701, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise: tmp235 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp235)->tag = 47 ; ats_selptrset_mac(anairiats_sum_4, tmp235, atslab_0, arg1) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp235) ; return (tmp234) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15655(line=705, offs=3) -- 15721(line=706, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_effmask: tmp237 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp237)->tag = 48 ; ats_selptrset_mac(anairiats_sum_12, tmp237, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp237, atslab_1, arg2) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp237) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15799(line=713, offs=3) -- 15854(line=714, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype: tmp239 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp239)->tag = 49 ; ats_selptrset_mac(anairiats_sum_4, tmp239, atslab_0, arg1) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp239) ; return (tmp238) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 15906(line=720, offs=3) -- 15971(line=721, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_vcopyenv (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_vcopyenv: tmp241 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp241)->tag = 50 ; ats_selptrset_mac(anairiats_sum_11, tmp241, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp241, atslab_1, arg2) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp241) ; return (tmp240) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16051(line=728, offs=3) -- 16109(line=729, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tempenver: tmp243 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp243)->tag = 51 ; ats_selptrset_mac(anairiats_sum_4, tmp243, atslab_0, arg1) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp243) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16158(line=735, offs=3) -- 16220(line=736, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist: tmp245 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp245)->tag = 52 ; ats_selptrset_mac(anairiats_sum_12, tmp245, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp245, atslab_1, arg2) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp245) ; return (tmp244) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16293(line=743, offs=1) -- 16385(line=746, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn: tmp247 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp247)->tag = 53 ; ats_selptrset_mac(anairiats_sum_19, tmp247, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp247, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_19, tmp247, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_19, tmp247, atslab_3, arg4) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp247) ; return (tmp246) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16417(line=750, offs=1) -- 16513(line=753, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn: tmp249 = ATS_MALLOC(sizeof(anairiats_sum_19)) ; ((ats_sum_ptr_type)tmp249)->tag = 54 ; ats_selptrset_mac(anairiats_sum_19, tmp249, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_19, tmp249, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_19, tmp249, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_19, tmp249, atslab_3, arg4) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp249) ; return (tmp248) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16543(line=757, offs=3) -- 16623(line=758, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta: tmp251 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp251)->tag = 55 ; ats_selptrset_mac(anairiats_sum_15, tmp251, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp251, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp251, atslab_2, arg3) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp251) ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16679(line=763, offs=3) -- 16755(line=764, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met: tmp253 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp253)->tag = 56 ; ats_selptrset_mac(anairiats_sum_15, tmp253, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp253, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp253, atslab_2, arg3) ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp253) ; return (tmp252) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp257 ; */ tmp257 = arg0 ; tmp256 = atspre_ref_make_elt_tsz ((&tmp257), sizeof(ats_ptr_type)) ; return (tmp256) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16815(line=769, offs=3) -- 16917(line=771, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met_new (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp258) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met_new: tmp258 = (ats_sum_ptr_type)0 ; tmp255 = ref_01088_ats_ptr_type (tmp258) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met (arg0, tmp255, arg1, arg2) ; return (tmp254) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met_new] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 16971(line=774, offs=11) -- 17061(line=776, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_fix (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_fix: tmp260 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp260)->tag = 57 ; ats_selptrset_mac(anairiats_sum_18, tmp260, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_18, tmp260, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp260, atslab_2, arg3) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp260) ; return (tmp259) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17110(line=782, offs=3) -- 17162(line=783, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay: tmp262 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp262)->tag = 58 ; ats_selptrset_mac(anairiats_sum_4, tmp262, atslab_0, arg1) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp262) ; return (tmp261) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17213(line=788, offs=3) -- 17284(line=789, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay: tmp264 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp264)->tag = 59 ; ats_selptrset_mac(anairiats_sum_12, tmp264, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp264, atslab_1, arg2) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp264) ; return (tmp263) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17341(line=794, offs=3) -- 17383(line=794, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none: tmp266 = (ats_sum_ptr_type)0 ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay (arg0, arg1, tmp266) ; return (tmp265) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17456(line=801, offs=1) -- 17560(line=804, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_for (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_for: tmp268 = ATS_MALLOC(sizeof(anairiats_sum_20)) ; ((ats_sum_ptr_type)tmp268)->tag = 60 ; ats_selptrset_mac(anairiats_sum_20, tmp268, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_20, tmp268, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_20, tmp268, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_20, tmp268, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_20, tmp268, atslab_4, arg5) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp268) ; return (tmp267) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_for] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17606(line=809, offs=1) -- 17687(line=812, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_while (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_while: tmp270 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp270)->tag = 61 ; ats_selptrset_mac(anairiats_sum_15, tmp270, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp270, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp270, atslab_2, arg3) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp270) ; return (tmp269) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_while] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17739(line=817, offs=3) -- 17789(line=817, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_loopexn (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_loopexn: tmp272 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp272)->tag = 62 ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_0, arg1) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp272) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17862(line=823, offs=15) -- 17941(line=825, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_trywith: tmp274 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp274)->tag = 63 ; ats_selptrset_mac(anairiats_sum_15, tmp274, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp274, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp274, atslab_2, arg3) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp274) ; return (tmp273) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 17991(line=831, offs=3) -- 18055(line=832, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type: tmp276 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp276)->tag = 64 ; ats_selptrset_mac(anairiats_sum_12, tmp276, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp276, atslab_1, arg2) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp276) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18111(line=837, offs=3) -- 18177(line=838, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff: tmp278 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp278)->tag = 65 ; ats_selptrset_mac(anairiats_sum_12, tmp278, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp278, atslab_1, arg2) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp278) ; return (tmp277) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18235(line=843, offs=3) -- 18299(line=844, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo: tmp280 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp280)->tag = 66 ; ats_selptrset_mac(anairiats_sum_12, tmp280, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp280, atslab_1, arg2) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp280) ; return (tmp279) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18373(line=851, offs=3) -- 18422(line=852, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac: tmp282 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp282)->tag = 67 ; ats_selptrset_mac(anairiats_sum_4, tmp282, atslab_0, arg1) ; tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp282) ; return (tmp281) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18471(line=857, offs=3) -- 18533(line=858, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn: tmp284 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp284)->tag = 68 ; ats_selptrset_mac(anairiats_sum_12, tmp284, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp284, atslab_1, arg2) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp284) ; return (tmp283) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18585(line=863, offs=3) -- 18651(line=864, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macfun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macfun: tmp286 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp286)->tag = 69 ; ats_selptrset_mac(anairiats_sum_12, tmp286, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp286, atslab_1, arg2) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp286) ; return (tmp285) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18729(line=871, offs=3) -- 18791(line=872, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solassert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solassert: tmp288 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp288)->tag = 70 ; ats_selptrset_mac(anairiats_sum_4, tmp288, atslab_0, arg1) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp288) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solassert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18820(line=875, offs=3) -- 18884(line=876, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solverify: tmp290 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp290)->tag = 71 ; ats_selptrset_mac(anairiats_sum_4, tmp290, atslab_0, arg1) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp290) ; return (tmp289) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solverify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 18933(line=881, offs=13) -- 18985(line=882, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp: tmp292 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp292) ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19034(line=887, offs=15) -- 19067(line=887, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__labd2exp_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__labd2exp_make: tmp293 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp293, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp293, atslab_1, arg1) ; return (tmp293) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__labd2exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19110(line=893, offs=1) -- 19202(line=899, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_lab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_lab: tmp295 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp295)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp295, atslab_0, arg1) ; tmp294 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp294, atslab_d2lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_21, tmp294, atslab_d2lab_node, tmp295) ; ats_selptrset_mac(anairiats_rec_21, tmp294, atslab_d2lab_overld, arg2) ; return (tmp294) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19248(line=903, offs=3) -- 19341(line=907, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind: tmp297 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp297)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp297, atslab_0, arg1) ; tmp298 = (ats_sum_ptr_type)0 ; tmp296 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp296, atslab_d2lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_21, tmp296, atslab_d2lab_node, tmp297) ; ats_selptrset_mac(anairiats_rec_21, tmp296, atslab_d2lab_overld, tmp298) ; return (tmp296) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19411(line=913, offs=3) -- 19466(line=916, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make: tmp299 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp299, atslab_i2nvarg_var, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp299, atslab_i2nvarg_type, arg1) ; return (tmp299) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19545(line=922, offs=3) -- 19678(line=928, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var: tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_i2nvarg_var) ; tmp302 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (tmp301) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp302 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_23, tmp302, atslab_0) ; tmp300 = tmp303 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp302 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp300 = tmp301 ; break ; } while (0) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19737(line=932, offs=3) -- 20177(line=957, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_bool_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type: tmp305 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_i2nvarg_type) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (tmp305 != (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp304 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp305 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_23, tmp305, atslab_0) ; tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_i2nvarg_var) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp307) ; if (tmp308) { tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp307) ; if (tmp309 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 19961(line=947, offs=9) -- 20002(line=948, offs=30)") ; } tmp310 = ats_caselptrlab_mac(anairiats_sum_23, tmp309, atslab_0) ; tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp306, tmp310) ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_23)) ; ats_selptrset_mac(anairiats_sum_23, tmp304, atslab_0, tmp311) ; } else { tmp304 = tmp305 ; } /* end of [if] */ break ; } while (0) ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 20394(line=969, offs=3) -- 20520(line=975, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make: tmp317 = (ats_sum_ptr_type)0 ; tmp316 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp316, atslab_i2nvresstate_svs, arg0) ; ats_selptrset_mac(anairiats_rec_24, tmp316, atslab_i2nvresstate_gua, arg1) ; ats_selptrset_mac(anairiats_rec_24, tmp316, atslab_i2nvresstate_arg, arg2) ; ats_selptrset_mac(anairiats_rec_24, tmp316, atslab_i2nvresstate_met, tmp317) ; return (tmp316) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 20585(line=979, offs=2) -- 20708(line=985, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make_met: tmp318 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp318, atslab_i2nvresstate_svs, arg0) ; ats_selptrset_mac(anairiats_rec_24, tmp318, atslab_i2nvresstate_gua, arg1) ; ats_selptrset_mac(anairiats_rec_24, tmp318, atslab_i2nvresstate_arg, arg2) ; ats_selptrset_mac(anairiats_rec_24, tmp318, atslab_i2nvresstate_met, arg3) ; return (tmp318) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make_met] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 20785(line=990, offs=15) -- 20946(line=999, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__loopi2nv_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp319) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__loopi2nv_make: tmp319 = ATS_MALLOC(sizeof(anairiats_rec_25)) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_loc, arg0) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_svs, arg1) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_gua, arg2) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_arg, arg4) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_met, arg3) ; ats_selptrset_mac(anairiats_rec_25, tmp319, atslab_loopi2nv_res, arg5) ; return (tmp319) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__loopi2nv_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21018(line=1005, offs=3) -- 21095(line=1007, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp320) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make: tmp320 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp320, atslab_gm2at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_26, tmp320, atslab_gm2at_exp, arg1) ; ats_selptrset_mac(anairiats_rec_26, tmp320, atslab_gm2at_pat, arg2) ; return (tmp320) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21141(line=1010, offs=12) -- 21285(line=1019, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make: tmp321 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_gua, arg2) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_seq, arg3) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_neg, arg4) ; ats_selptrset_mac(anairiats_rec_27, tmp321, atslab_c2lau_body, arg5) ; return (tmp321) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21332(line=1022, offs=13) -- 21409(line=1024, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sc2lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp322) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sc2lau_make: tmp322 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp322, atslab_sc2lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_28, tmp322, atslab_sc2lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_28, tmp322, atslab_sc2lau_body, arg2) ; return (tmp322) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sc2lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21533(line=1033, offs=14) -- 21737(line=1043, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2mpdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2mpdec_make: tmp323 = ATS_MALLOC(sizeof(anairiats_rec_29)) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_locid, arg1) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_cst, arg2) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_imparg, arg3) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_tmparg, arg4) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_tmpgua, arg5) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_i2mpdec_def, arg6) ; return (tmp323) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2mpdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21808(line=1048, offs=14) -- 21915(line=1055, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__f2undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__f2undec_make: tmp324 = ATS_MALLOC(sizeof(anairiats_rec_30)) ; ats_selptrset_mac(anairiats_rec_30, tmp324, atslab_f2undec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_30, tmp324, atslab_f2undec_var, arg1) ; ats_selptrset_mac(anairiats_rec_30, tmp324, atslab_f2undec_def, arg2) ; ats_selptrset_mac(anairiats_rec_30, tmp324, atslab_f2undec_ann, arg3) ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__f2undec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 21986(line=1060, offs=14) -- 22093(line=1067, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp325) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make: tmp325 = ATS_MALLOC(sizeof(anairiats_rec_31)) ; ats_selptrset_mac(anairiats_rec_31, tmp325, atslab_v2aldec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_31, tmp325, atslab_v2aldec_pat, arg1) ; ats_selptrset_mac(anairiats_rec_31, tmp325, atslab_v2aldec_def, arg2) ; ats_selptrset_mac(anairiats_rec_31, tmp325, atslab_v2aldec_ann, arg3) ; return (tmp325) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 22164(line=1073, offs=1) -- 22539(line=1085, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2ardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2ardec_make: tmp326 = ATS_MALLOC(sizeof(anairiats_rec_32)) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_knd, arg1) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_svar, arg2) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_dvar, arg3) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_pfat, arg4) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_type, arg5) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_init, arg6) ; ats_selptrset_mac(anairiats_rec_32, tmp326, atslab_v2ardec_dvaropt, arg7) ; return (tmp326) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 22591(line=1088, offs=16) -- 22717(line=1095, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prv2ardec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prv2ardec_make: tmp327 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp327, atslab_prv2ardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_33, tmp327, atslab_prv2ardec_dvar, arg1) ; ats_selptrset_mac(anairiats_rec_33, tmp327, atslab_prv2ardec_type, arg2) ; ats_selptrset_mac(anairiats_rec_33, tmp327, atslab_prv2ardec_init, arg3) ; return (tmp327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prv2ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 22889(line=1107, offs=3) -- 22942(line=1109, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node: tmp328 = ATS_MALLOC(sizeof(anairiats_rec_34)) ; ats_selptrset_mac(anairiats_rec_34, tmp328, atslab_d2ecl_loc, arg0) ; ats_selptrset_mac(anairiats_rec_34, tmp328, atslab_d2ecl_node, arg1) ; return (tmp328) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 22989(line=1114, offs=11) -- 23031(line=1115, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none: tmp330 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp330) ; return (tmp329) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23055(line=1118, offs=11) -- 23103(line=1119, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list: tmp332 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp332)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp332, atslab_0, arg1) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp332) ; return (tmp331) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23154(line=1125, offs=3) -- 23208(line=1126, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symintr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symintr: tmp334 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp334)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp334, atslab_0, arg1) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp334) ; return (tmp333) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symintr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23261(line=1130, offs=3) -- 23315(line=1131, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symelim (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symelim: tmp336 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp336)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp336, atslab_0, arg1) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp336) ; return (tmp335) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_symelim] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23389(line=1138, offs=1) -- 23464(line=1140, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_overload (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_overload: tmp338 = ATS_MALLOC(sizeof(anairiats_sum_35)) ; ((ats_sum_ptr_type)tmp338)->tag = 4 ; ats_selptrset_mac(anairiats_sum_35, tmp338, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_35, tmp338, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_35, tmp338, atslab_2, arg3) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp338) ; return (tmp337) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_overload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23541(line=1147, offs=3) -- 23596(line=1148, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_pragma (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_pragma: tmp340 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp340)->tag = 5 ; ats_selptrset_mac(anairiats_sum_4, tmp340, atslab_0, arg1) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp340) ; return (tmp339) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_pragma] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23626(line=1152, offs=3) -- 23686(line=1153, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_codegen (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_codegen: tmp342 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp342)->tag = 6 ; ats_selptrset_mac(anairiats_sum_11, tmp342, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp342, atslab_1, arg2) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp342) ; return (tmp341) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_codegen] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23739(line=1159, offs=3) -- 23795(line=1160, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacsts (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacsts: tmp344 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp344)->tag = 7 ; ats_selptrset_mac(anairiats_sum_4, tmp344, atslab_0, arg1) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp344) ; return (tmp343) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacsts] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 23822(line=1163, offs=3) -- 23888(line=1164, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacons (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacons: tmp346 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp346)->tag = 8 ; ats_selptrset_mac(anairiats_sum_11, tmp346, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp346, atslab_1, arg2) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp346) ; return (tmp345) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_stacons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24072(line=1179, offs=3) -- 24120(line=1179, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_saspdec: tmp348 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp348)->tag = 9 ; ats_selptrset_mac(anairiats_sum_4, tmp348, atslab_0, arg1) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp348) ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24170(line=1184, offs=14) -- 24235(line=1185, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype: tmp350 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp350)->tag = 10 ; ats_selptrset_mac(anairiats_sum_12, tmp350, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp350, atslab_1, arg2) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp350) ; return (tmp349) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24259(line=1187, offs=14) -- 24324(line=1188, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extvar: tmp352 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp352)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp352, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp352, atslab_1, arg2) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp352) ; return (tmp351) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24349(line=1190, offs=15) -- 24425(line=1191, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extcode: tmp354 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp354)->tag = 12 ; ats_selptrset_mac(anairiats_sum_13, tmp354, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_13, tmp354, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp354, atslab_2, arg3) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp354) ; return (tmp353) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24476(line=1196, offs=15) -- 24542(line=1197, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_datdecs: tmp356 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp356)->tag = 13 ; ats_selptrset_mac(anairiats_sum_11, tmp356, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp356, atslab_1, arg2) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp356) ; return (tmp355) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_datdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24570(line=1200, offs=15) -- 24625(line=1201, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_exndecs: tmp358 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp358)->tag = 14 ; ats_selptrset_mac(anairiats_sum_4, tmp358, atslab_0, arg1) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp358) ; return (tmp357) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24675(line=1206, offs=16) -- 24752(line=1207, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs: tmp360 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp360)->tag = 15 ; ats_selptrset_mac(anairiats_sum_18, tmp360, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_18, tmp360, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp360, atslab_2, arg3) ; tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp360) ; return (tmp359) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24799(line=1212, offs=15) -- 24881(line=1213, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_fundecs: tmp362 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp362)->tag = 17 ; ats_selptrset_mac(anairiats_sum_15, tmp362, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp362, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp362, atslab_2, arg3) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp362) ; return (tmp361) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 24928(line=1218, offs=15) -- 24994(line=1219, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs: tmp364 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp364)->tag = 18 ; ats_selptrset_mac(anairiats_sum_12, tmp364, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp364, atslab_1, arg2) ; tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp364) ; return (tmp363) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25024(line=1222, offs=19) -- 25094(line=1223, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec: tmp366 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp366)->tag = 19 ; ats_selptrset_mac(anairiats_sum_12, tmp366, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp366, atslab_1, arg2) ; tmp365 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp366) ; return (tmp365) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25141(line=1228, offs=15) -- 25197(line=1229, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_vardecs: tmp368 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp368)->tag = 20 ; ats_selptrset_mac(anairiats_sum_4, tmp368, atslab_0, arg1) ; tmp367 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp368) ; return (tmp367) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25225(line=1232, offs=17) -- 25283(line=1233, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_prvardecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_prvardecs: tmp370 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp370)->tag = 21 ; ats_selptrset_mac(anairiats_sum_4, tmp370, atslab_0, arg1) ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp370) ; return (tmp369) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_prvardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25329(line=1238, offs=14) -- 25392(line=1239, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_impdec: tmp372 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp372)->tag = 16 ; ats_selptrset_mac(anairiats_sum_11, tmp372, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp372, atslab_1, arg2) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp372) ; return (tmp371) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25439(line=1244, offs=15) -- 25505(line=1245, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_include: tmp374 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp374)->tag = 22 ; ats_selptrset_mac(anairiats_sum_11, tmp374, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp374, atslab_1, arg2) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp374) ; return (tmp373) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25552(line=1250, offs=15) -- 25666(line=1253, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staload: tmp376 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp376)->tag = 23 ; ats_selptrset_mac(anairiats_sum_36, tmp376, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_36, tmp376, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp376, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_36, tmp376, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_36, tmp376, atslab_4, arg5) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp376) ; return (tmp375) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25720(line=1257, offs=18) -- 25809(line=1259, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staloadloc: tmp378 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp378)->tag = 24 ; ats_selptrset_mac(anairiats_sum_15, tmp378, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp378, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp378, atslab_2, arg3) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp378) ; return (tmp377) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25856(line=1264, offs=15) -- 25908(line=1264, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dynload: tmp380 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp380)->tag = 25 ; ats_selptrset_mac(anairiats_sum_4, tmp380, atslab_0, arg1) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp380) ; return (tmp379) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 25955(line=1269, offs=3) -- 26019(line=1269, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_local: tmp382 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp382)->tag = 26 ; ats_selptrset_mac(anairiats_sum_12, tmp382, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp382, atslab_1, arg2) ; tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp382) ; return (tmp381) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_local] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2.dats: 26089(line=1274, offs=24) -- 26132(line=1274, offs=67) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_errdec (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_errdec: tmp384 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ; tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp384) ; return (tmp383) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_errdec] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp312, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp313, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp314, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp315, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil () ; statmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil () ; statmp313 = (ats_sum_ptr_type)0 ; statmp314 = (ats_sum_ptr_type)0 ; statmp315 = (ats_sum_ptr_type)0 ; statmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make (statmp313, statmp314, statmp315) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_nil = statmp312 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ ats_void_type patsopt_p2at_set_type ( ats_ptr_type p2t, ats_ptr_type opt ) { ((p2at_t)p2t)->atslab_p2at_type = opt ; return ; } // end of [patsopt_p2at_set_type] ats_void_type patsopt_d2exp_set_type ( ats_ptr_type d2e, ats_ptr_type opt ) { ((d2exp_t)d2e)->atslab_d2exp_type = opt ; return ; } // end of [patsopt_d2exp_set_type] /* ****** ****** */ /* end of [pats_dynexp2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_selab_dats.c0000664000175000017500000036252412655455557021175 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { anairiats_rec_1 atslab_0 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_14 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyrec_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_labnot_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyarr_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrind_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrdim_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_selab_linrest_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lab_overld_app_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_selab_context_63) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_box) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_igtez) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_lab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lab_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_lin) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_mut) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr_7 (ats_ptr_type arg0) ; static ats_ptr_type arrbndck_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_int_type loop_12 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_15 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxcheck_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type arrbndlst_check_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type lincheck_16 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type labfind_lincheck_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type auxlab_sexp_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_ptr_type auxlab_shnf_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static anairiats_rec_1 auxind_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static anairiats_rec_1 auxsel_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static anairiats_rec_1 auxselist_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type labfind_context_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type auxlab_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static anairiats_rec_1 auxind_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_bool_type arg4) ; static anairiats_rec_1 auxsel_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_bool_type arg3) ; static ats_void_type option_vt_free_01544_anairiats_rec_1 (ats_ptr_type arg0) ; static anairiats_rec_1 auxselist_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_bool_type arg3) ; static ats_void_type loop_32 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxerr_linrest_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type loop_40 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_take_exn_01442_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxfinize_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 1622(line=49, offs=18) -- 1652(line=49, offs=48) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_selab")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 2231(line=84, offs=12) -- 2495(line=98, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lab_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lab_trup: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2lab_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2lab_overld) ; tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2lab_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp4)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_3, tmp4, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_lab (tmp2, tmp5, tmp3) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)tmp4)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp4, atslab_0) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp6) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_ind (tmp2, tmp7) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lab_trup] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_loop_5: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp15 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp13, arg3) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp16, atslab_0, tmp15) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp16 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp17 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp14 ; arg1 = arg1 ; arg2 = tmp17 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp18 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp18 ; break ; } while (0) ; return /* (tmp12) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp19 ; */ /* tmp20 = */ loop_5 (arg0, arg1, (&tmp19), arg2) ; tmp11 = tmp19 ; return (tmp11) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp10 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp10) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 2546(line=101, offs=15) -- 2620(line=103, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup: tmp9 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lab_trup) ; tmp8 = ats_castfn_mac(ats_ptr_type, tmp9) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab_prerr_error3_loc_02046_: /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp26 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp26) */ ; } /* end of [prerr_error3_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 2754(line=116, offs=1) -- 3137(line=128, offs=4) */ ATSstaticdec() ats_void_type auxerr_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_auxerr_7: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d3exp_loc) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; /* tmp25 = */ prerr_error3_loc_02046_ (tmp23) ; /* tmp28 = */ atspre_prerr_string (ATSstrcst(": the type of the array index is not ")) ; /* tmp29 = */ atspre_prerr_string (ATSstrcst("a generic (signed or unsigned) integer type: [")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp24) ; /* tmp31 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp32 = */ atspre_prerr_newline () ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp33)->tag = 45 ; ats_selptrset_mac(anairiats_sum_3, tmp33, atslab_0, arg0) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp33) ; return /* (tmp22) */ ; } /* end of [auxerr_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 2682(line=110, offs=1) -- 3842(line=158, offs=4) */ ATSstaticdec() ats_ptr_type arrbndck_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab_arrbndck_6: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp35) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1int_index_t0ype (tmp36) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_0) ; ATS_FREE(tmp37) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_igtez (tmp38) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt (tmp38, arg1) ; tmp42 = (ats_sum_ptr_type)0 ; tmp41 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp41, atslab_0, tmp40) ; ats_selptrset_mac(anairiats_sum_4, tmp41, atslab_1, tmp42) ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_0, tmp39) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_1, tmp41) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_g1uint_index_t0ype (tmp36) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp43 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp43, atslab_0) ; ATS_FREE(tmp43) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_intlt (tmp44, arg1) ; tmp46 = (ats_sum_ptr_type)0 ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_0, tmp45) ; ats_selptrset_mac(anairiats_sum_4, tmp21, atslab_1, tmp46) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp43 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp47 = */ auxerr_7 (arg0) ; tmp21 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp21) ; } /* end of [arrbndck_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 3987(line=168, offs=5) -- 4371(line=179, offs=4) */ ATSstaticdec() ats_void_type auxerr_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_bool_type, tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_bool_type, tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_auxerr_10: /* tmp50 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp51 = */ atspre_prerr_string (ATSstrcst(": the label is expected to contain ")) ; tmp53 = atspre_lt_int_int (arg3, 0) ; if (tmp53) { /* tmp52 = */ atspre_prerr_string (ATSstrcst("more array indexes.")) ; } else { /* empty */ } /* end of [if] */ tmp55 = atspre_gt_int_int (arg3, 0) ; if (tmp55) { /* tmp54 = */ atspre_prerr_string (ATSstrcst("fewer array indexes.")) ; } else { /* empty */ } /* end of [if] */ /* tmp56 = */ atspre_prerr_newline () ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp57)->tag = 46 ; ats_selptrset_mac(anairiats_sum_7, tmp57, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp57, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp57, atslab_2, arg2) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp57) ; return /* (tmp49) */ ; } /* end of [auxerr_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_12 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; __ats_lab_loop_12: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp62 = atspre_isucc (arg1) ; arg0 = tmp61 ; arg1 = tmp62 ; goto __ats_lab_loop_12 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp60 = arg1 ; break ; } while (0) ; return (tmp60) ; } /* end of [loop_12] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp59) ; __ats_lab_list_length_01410_ats_ptr_type: tmp59 = loop_12 (arg0, 0) ; return (tmp59) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_15 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_loop_15: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp74 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp74 ; arg1 = arg1 ; goto __ats_lab_loop_15 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp73) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp75) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp72 ; */ tmp72 = arg0 ; /* tmp75 = */ loop_15 ((&tmp72), arg1) ; tmp71 = tmp72 ; return (tmp71) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 4460(line=185, offs=1) -- 4823(line=200, offs=2) */ ATSstaticdec() ats_ptr_type auxcheck_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_auxcheck_13: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_10_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 4590(line=192, offs=11) -- 4626(line=193, offs=27)") ; } tmp67 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp69 = arrbndck_6 (tmp65, tmp67) ; tmp70 = auxcheck_13 (tmp66, tmp68) ; tmp64 = list_vt_append_01504_ats_ptr_type (tmp69, tmp70) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp64 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp64) ; } /* end of [auxcheck_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 3893(line=163, offs=1) -- 5094(line=212, offs=4) */ ATSstaticdec() ats_ptr_type arrbndlst_check_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_bool_type, tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_bool_type, tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab_arrbndlst_check_9: tmp58 = list_length_01410_ats_ptr_type (arg1) ; tmp63 = list_length_01410_ats_ptr_type (arg2) ; tmp76 = atspre_isub (tmp58, tmp63) ; tmp77 = atspre_ilt (tmp76, 0) ; if (tmp77) { /* tmp78 = */ auxerr_10 (arg0, arg2, arg1, tmp76) ; tmp48 = (ats_sum_ptr_type)0 ; } else { tmp79 = atspre_igt (tmp76, 0) ; if (tmp79) { /* tmp80 = */ auxerr_10 (arg0, arg2, arg1, tmp76) ; tmp48 = (ats_sum_ptr_type)0 ; } else { tmp48 = auxcheck_13 (arg1, arg2) ; } /* end of [if] */ } /* end of [if] */ return (tmp48) ; } /* end of [arrbndlst_check_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 5179(line=221, offs=1) -- 5599(line=245, offs=4) */ ATSstaticdec() ats_void_type lincheck_16 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; __ats_lab_lincheck_16: tmp82 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), 0) ; if (tmp82) { do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; // tmp85 = ats_caselptrlab_mac(anairiats_sum_8, tmp83, atslab_2) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp85) ; if (tmp87) { tmp88 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp88 ; } else { /* empty */ } /* end of [if] */ arg0 = tmp84 ; arg1 = arg1 ; goto __ats_lab_lincheck_16 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp81) */ ; } /* end of [lincheck_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 5626(line=248, offs=1) -- 6336(line=279, offs=4) */ ATSstaticdec() ats_ptr_type labfind_lincheck_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; __ats_lab_labfind_lincheck_17: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_8, tmp90, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_8, tmp90, atslab_2) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (arg0, tmp92) ; if (tmp94) { /* tmp95 = */ lincheck_16 (tmp91, arg2) ; tmp89 = tmp93 ; } else { tmp97 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp97) { tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp93) ; if (tmp98) { tmp99 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp99 ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp91 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_labfind_lincheck_17 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp100 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp100 ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp89) ; } /* end of [labfind_lincheck_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 6371(line=282, offs=1) -- 6575(line=292, offs=4) */ ATSstaticdec() ats_ptr_type auxlab_sexp_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab_auxlab_sexp_18: tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp101 = auxlab_shnf_19 (arg0, tmp102, arg2, arg3, arg4, arg5) ; return (tmp101) ; } /* end of [auxlab_sexp_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 6602(line=295, offs=1) -- 9169(line=391, offs=4) */ ATSstaticdec() ats_ptr_type auxlab_shnf_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_bool_type, tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab_auxlab_shnf_19: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp104), atslab_s2exp_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp105)->tag != 25) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_10, tmp105, atslab_0) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_10, tmp105, atslab_2) ; /* ats_int_type tmp108 ; */ tmp108 = 0 ; tmp109 = labfind_lincheck_17 (arg3, tmp107, arg4, (&tmp108)) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_box (tmp106) ; if (tmp111) { tmp112 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg5), 1) ; ats_ptrget_mac(ats_int_type, arg5) = tmp112 ; } else { /* empty */ } /* end of [if] */ tmp114 = atspre_gt_int_int (tmp108, 0) ; if (tmp114) { /* tmp115 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp116 = */ atspre_prerr_string (ATSstrcst(": the record-type [")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp104) ; /* tmp118 = */ atspre_prerr_string (ATSstrcst("] is expected to contain the label [")) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (arg3) ; /* tmp120 = */ atspre_prerr_string (ATSstrcst("] but it does not.")) ; /* tmp121 = */ atspre_prerr_newline () ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp122)->tag = 43 ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_1, tmp104) ; ats_selptrset_mac(anairiats_sum_7, tmp122, atslab_2, arg3) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp122) ; } else { /* empty */ } /* end of [if] */ tmp103 = tmp109 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp105)->tag != 27) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp104) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add (arg0, tmp123) ; tmp103 = auxlab_sexp_18 (arg0, tmp124, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d3lab_overld) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp125 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_6, tmp125, atslab_0) ; /* tmp127 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp128 = */ atspre_prerr_string (ATSstrcst(": overloaded dot-symbol: [")) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym (tmp126) ; /* tmp130 = */ atspre_prerr_string (ATSstrcst("] should be applied.")) ; /* tmp131 = */ atspre_prerr_newline () ; tmp133 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp133)->tag = 49 ; ats_selptrset_mac(anairiats_sum_12, tmp133, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp133, atslab_1, arg2) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp133) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp125 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: /* tmp134 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp135 = */ atspre_prerr_string (ATSstrcst(": [")) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (arg3) ; /* tmp137 = */ atspre_prerr_string (ATSstrcst("] cannot be found")) ; /* tmp138 = */ atspre_prerr_string (ATSstrcst(": the type [")) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp104) ; /* tmp140 = */ atspre_prerr_string (ATSstrcst("] is expected to be a tyrec(record).")) ; /* tmp141 = */ atspre_prerr_newline () ; tmp143 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp143)->tag = 42 ; ats_selptrset_mac(anairiats_sum_12, tmp143, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp143, atslab_1, tmp104) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp143) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; break ; } while (0) ; return (tmp103) ; } /* end of [auxlab_shnf_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 9199(line=394, offs=1) -- 10169(line=440, offs=4) */ ATSstaticdec() anairiats_rec_1 auxind_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_auxind_20: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp145) ; tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp146), atslab_s2exp_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp147)->tag != 24) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_12, tmp147, atslab_0) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_12, tmp147, atslab_1) ; tmp150 = arrbndlst_check_9 (arg0, arg2, tmp149) ; tmp144.atslab_0 = tmp148 ; tmp144.atslab_1 = tmp150 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp147)->tag != 27) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp146) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opn1exi_and_add (arg0, tmp151) ; arg0 = arg0 ; arg1 = tmp152 ; arg2 = arg2 ; goto __ats_lab_auxind_20 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: /* tmp153 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp154 = */ atspre_prerr_string (ATSstrcst(": the type [")) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp146) ; /* tmp156 = */ atspre_prerr_string (ATSstrcst("] is expected to be a tyarr (array-type).")) ; /* tmp157 = */ atspre_prerr_newline () ; tmp159 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp159)->tag = 44 ; ats_selptrset_mac(anairiats_sum_12, tmp159, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp159, atslab_1, tmp146) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp159) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp161 = (ats_sum_ptr_type)0 ; tmp144.atslab_0 = tmp160 ; tmp144.atslab_1 = tmp161 ; break ; } while (0) ; return (tmp144) ; } /* end of [auxind_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 10194(line=443, offs=1) -- 10721(line=470, offs=4) */ ATSstaticdec() anairiats_rec_1 auxsel_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (anairiats_rec_1, tmp170) ; ATSlocal (ats_bool_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; __ats_lab_auxsel_21: tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3lab_loc) ; tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3lab_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp164)->tag != 0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_3, tmp164, atslab_0) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp167 = auxlab_shnf_19 (tmp163, tmp166, arg1, tmp165, arg2, arg3) ; tmp168 = (ats_sum_ptr_type)0 ; tmp162.atslab_0 = tmp167 ; tmp162.atslab_1 = tmp168 ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (((ats_sum_ptr_type)tmp164)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_3, tmp164, atslab_0) ; tmp170 = auxind_20 (tmp163, arg0, tmp169) ; tmp173 = ats_select_mac(tmp170, atslab_0) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp173) ; if (tmp172) { tmp174 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp174 ; } else { /* empty */ } /* end of [if] */ tmp162 = tmp170 ; break ; } while (0) ; return (tmp162) ; } /* end of [auxsel_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 10746(line=473, offs=1) -- 11156(line=490, offs=4) */ ATSstaticdec() anairiats_rec_1 auxselist_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (anairiats_rec_1, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (anairiats_rec_1, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab_auxselist_22: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp176 = (ats_sum_ptr_type)0 ; tmp175.atslab_0 = arg0 ; tmp175.atslab_1 = tmp176 ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp179 = auxsel_21 (arg0, tmp177, arg2, arg3) ; tmp180 = ats_select_mac(tmp179, atslab_0) ; tmp181 = ats_select_mac(tmp179, atslab_1) ; tmp182 = auxselist_22 (tmp180, tmp178, arg2, arg3) ; tmp183 = ats_select_mac(tmp182, atslab_0) ; tmp184 = ats_select_mac(tmp182, atslab_1) ; tmp185 = list_vt_append_01504_ats_ptr_type (tmp181, tmp184) ; tmp175.atslab_0 = tmp183 ; tmp175.atslab_1 = tmp185 ; break ; } while (0) ; return (tmp175) ; } /* end of [auxselist_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 11248(line=496, offs=1) -- 11331(line=499, offs=42) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp186) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing: tmp186 = auxselist_22 (arg1, arg2, arg3, arg4) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 11434(line=509, offs=1) -- 12478(line=549, offs=4) */ ATSstaticdec() ats_ptr_type labfind_context_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_bool_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (anairiats_rec_1, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; __ats_lab_labfind_context_24: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_30_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_8, tmp188, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_8, tmp188, atslab_1) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_8, tmp188, atslab_2) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (arg0, tmp190) ; if (tmp193) { tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp192), atslab_s2exp_srt) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt (tmp194) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole (tmp195) ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp197, atslab_0, tmp190) ; ats_selptrset_mac(anairiats_sum_8, tmp197, atslab_1, tmp191) ; ats_selptrset_mac(anairiats_sum_8, tmp197, atslab_2, tmp196) ; tmp198 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp198, atslab_0, tmp197) ; ats_selptrset_mac(anairiats_sum_4, tmp198, atslab_1, tmp189) ; if (ats_ptrget_mac(ats_ptr_type, arg2) != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 11893(line=528, offs=11) -- 11913(line=528, offs=31)") ; } tmp200.atslab_0 = tmp198 ; tmp200.atslab_1 = tmp195 ; tmp199 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp199, atslab_0, tmp200) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp199 ; tmp187 = tmp192 ; } else { tmp201 = labfind_context_24 (arg0, tmp189, arg2, arg3) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp203 = &ats_caselptrlab_mac(anairiats_sum_13, ats_ptrget_mac(ats_ptr_type, arg2), atslab_0) ; tmp205 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp203), atslab_0) ; tmp204 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp204, atslab_0, tmp188) ; ats_selptrset_mac(anairiats_sum_4, tmp204, atslab_1, tmp205) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp203), atslab_0) = tmp204 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (ats_ptrget_mac(ats_ptr_type, arg2) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: break ; } while (0) ; tmp187 = tmp201 ; } /* end of [if] */ break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp206 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp206 ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp187) ; } /* end of [labfind_context_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 12565(line=555, offs=1) -- 14054(line=613, offs=4) */ ATSstaticdec() ats_ptr_type auxlab_25 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (anairiats_rec_1, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (anairiats_rec_1, tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_bool_type, tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab_auxlab_25: tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp208), atslab_s2exp_node) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp209)->tag != 25) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_10, tmp209, atslab_0) ; tmp211 = ats_caselptrlab_mac(anairiats_sum_10, tmp209, atslab_1) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_10, tmp209, atslab_2) ; /* ats_ptr_type tmp213 ; */ tmp213 = (ats_sum_ptr_type)0 ; /* ats_int_type tmp214 ; */ tmp214 = 0 ; tmp215 = labfind_context_24 (arg2, tmp212, (&tmp213), (&tmp214)) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (tmp213 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } tmp217 = ats_caselptrlab_mac(anairiats_sum_13, tmp213, atslab_0) ; __ats_lab_35_1: tmp218 = ats_select_mac(tmp217, atslab_0) ; tmp219 = ats_select_mac(tmp217, atslab_1) ; ATS_FREE(tmp213) ; tmp220 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp208), atslab_s2exp_srt) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp220, tmp210, tmp211, tmp218) ; if (ats_ptrget_mac(ats_ptr_type, arg3) != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 13139(line=581, offs=15) -- 13159(line=581, offs=35)") ; } tmp223.atslab_0 = tmp221 ; tmp223.atslab_1 = tmp219 ; tmp222 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp222, atslab_0, tmp223) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp222 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (tmp213 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: break ; } while (0) ; tmp225 = atspre_gt_int_int (tmp214, 0) ; if (tmp225) { /* tmp226 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp227 = */ atspre_prerr_string (ATSstrcst(": the record-type [")) ; /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp208) ; /* tmp229 = */ atspre_prerr_string (ATSstrcst("] is expected to contain the label [")) ; /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (arg2) ; /* tmp231 = */ atspre_prerr_string (ATSstrcst("] but it does not.")) ; /* tmp232 = */ atspre_prerr_newline () ; tmp233 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp233)->tag = 43 ; ats_selptrset_mac(anairiats_sum_7, tmp233, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp233, atslab_1, tmp208) ; ats_selptrset_mac(anairiats_sum_7, tmp233, atslab_2, arg2) ; /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp233) ; } else { /* empty */ } /* end of [if] */ tmp207 = tmp215 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: /* tmp234 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp235 = */ atspre_prerr_string (ATSstrcst(": the type [")) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp208) ; /* tmp237 = */ atspre_prerr_string (ATSstrcst("] is expected to be a tyrec(record).")) ; /* tmp238 = */ atspre_prerr_newline () ; tmp240 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp240)->tag = 42 ; ats_selptrset_mac(anairiats_sum_12, tmp240, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp240, atslab_1, tmp208) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp240) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp207) ; } /* end of [auxlab_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 14079(line=616, offs=1) -- 14646(line=644, offs=4) */ ATSstaticdec() anairiats_rec_1 auxind_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_bool_type arg4) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab_auxind_26: tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp242), atslab_s2exp_node) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp243)->tag != 24) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp244 = ats_caselptrlab_mac(anairiats_sum_12, tmp243, atslab_0) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_12, tmp243, atslab_1) ; if (arg4) { tmp246 = arrbndlst_check_9 (arg0, arg2, tmp245) ; } else { tmp246 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp241.atslab_0 = tmp244 ; tmp241.atslab_1 = tmp246 ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp248 = (ats_sum_ptr_type)0 ; tmp241.atslab_0 = tmp247 ; tmp241.atslab_1 = tmp248 ; break ; } while (0) ; return (tmp241) ; } /* end of [auxind_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 14671(line=647, offs=1) -- 15121(line=670, offs=4) */ ATSstaticdec() anairiats_rec_1 auxsel_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_bool_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab_auxsel_27: tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3lab_loc) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp252 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3lab_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp252)->tag != 0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp253 = ats_caselptrlab_mac(anairiats_sum_3, tmp252, atslab_0) ; tmp254 = auxlab_25 (tmp250, tmp251, tmp253, arg2) ; tmp255 = (ats_sum_ptr_type)0 ; tmp249.atslab_0 = tmp254 ; tmp249.atslab_1 = tmp255 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (((ats_sum_ptr_type)tmp252)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp256 = ats_caselptrlab_mac(anairiats_sum_3, tmp252, atslab_0) ; tmp249 = auxind_26 (tmp250, tmp251, tmp256, arg2, arg3) ; break ; } while (0) ; return (tmp249) ; } /* end of [auxsel_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_anairiats_rec_1 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp282) ; __ats_lab_option_vt_free_01544_anairiats_rec_1: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: break ; } while (0) ; return /* (tmp282) */ ; } /* end of [option_vt_free_01544_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 15146(line=673, offs=1) -- 16845(line=737, offs=4) */ ATSstaticdec() anairiats_rec_1 auxselist_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_bool_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (anairiats_rec_1, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (anairiats_rec_1, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (anairiats_rec_1, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (anairiats_rec_1, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (anairiats_rec_1, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab_auxselist_28: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } tmp258 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; if (tmp258 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp259 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp257 = auxsel_27 (arg0, tmp259, arg2, arg3) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_43_1: tmp260 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp262 = auxsel_27 (arg0, tmp260, arg2, arg3) ; tmp263 = ats_select_mac(tmp262, atslab_0) ; tmp264 = ats_select_mac(tmp262, atslab_1) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } tmp265 = ats_caselptrlab_mac(anairiats_sum_13, ats_ptrget_mac(ats_ptr_type, arg2), atslab_0) ; __ats_lab_44_1: tmp266 = ats_select_mac(tmp265, atslab_0) ; tmp267 = ats_select_mac(tmp265, atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg2)) ; tmp268 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp268 ; tmp269 = auxselist_28 (tmp263, tmp261, arg2, arg3) ; tmp270 = ats_select_mac(tmp269, atslab_0) ; tmp272 = ats_select_mac(tmp269, atslab_1) ; tmp271 = list_vt_append_01504_ats_ptr_type (tmp264, tmp272) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp273 = &ats_caselptrlab_mac(anairiats_sum_13, ats_ptrget_mac(ats_ptr_type, arg2), atslab_0) ; tmp275 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp273), atslab_0) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp266, tmp275) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp273), atslab_0) = tmp274 ; tmp257.atslab_0 = tmp270 ; tmp257.atslab_1 = tmp271 ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (ats_ptrget_mac(ats_ptr_type, arg2) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp257.atslab_0 = tmp270 ; tmp257.atslab_1 = tmp271 ; break ; } while (0) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (ats_ptrget_mac(ats_ptr_type, arg2) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp276 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp276 ; tmp277 = auxselist_28 (tmp263, tmp261, arg2, arg3) ; tmp278 = ats_select_mac(tmp277, atslab_0) ; tmp280 = ats_select_mac(tmp277, atslab_1) ; tmp279 = list_vt_append_01504_ats_ptr_type (tmp264, tmp280) ; /* tmp281 = */ option_vt_free_01544_anairiats_rec_1 (ats_ptrget_mac(ats_ptr_type, arg2)) ; tmp283 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp283 ; tmp257.atslab_0 = tmp278 ; tmp257.atslab_1 = tmp279 ; break ; } while (0) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp284 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_s2exp_srt) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_make_srt (tmp284) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole (tmp285) ; if (ats_ptrget_mac(ats_ptr_type, arg2) != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 16707(line=731, offs=9) -- 16727(line=731, offs=29)") ; } tmp288.atslab_0 = tmp286 ; tmp288.atslab_1 = tmp285 ; tmp287 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp287, atslab_0, tmp288) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp287 ; tmp289 = (ats_sum_ptr_type)0 ; tmp257.atslab_0 = arg0 ; tmp257.atslab_1 = tmp289 ; break ; } while (0) ; return (tmp257) ; } /* end of [auxselist_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_32 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; __ats_lab_loop_32: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp296 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: break ; } while (0) ; return /* (tmp295) */ ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp294) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp294 = */ loop_32 (arg0) ; return /* (tmp294) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 16931(line=743, offs=3) -- 17354(line=769, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (anairiats_rec_1, tmp292) ; // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (anairiats_rec_1, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context: /* ats_ptr_type tmp291 ; */ tmp291 = (ats_sum_ptr_type)0 ; tmp292 = auxselist_28 (arg1, arg2, (&tmp291), ats_false_bool) ; tmp297 = ats_select_mac(tmp292, atslab_1) ; /* tmp293 = */ list_vt_free_01499_ats_ptr_type (tmp297) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp291 != (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (tmp291 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp299 = ats_caselptrlab_mac(anairiats_sum_13, tmp291, atslab_0) ; __ats_lab_54_1: tmp300 = ats_select_mac(tmp299, atslab_0) ; tmp301 = ats_select_mac(tmp299, atslab_1) ; ATS_FREE(tmp291) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make (tmp300, tmp301) ; tmp302 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp302, atslab_0, tmp303) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp302 ; break ; } while (0) ; tmp290 = ats_select_mac(tmp292, atslab_0) ; return (tmp290) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 17438(line=773, offs=3) -- 17779(line=791, offs=4) */ ATSglobaldec() anairiats_rec_1 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context_check (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (anairiats_rec_1, tmp306) ; ATSlocal (anairiats_rec_1, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context_check: /* ats_ptr_type tmp305 ; */ tmp305 = (ats_sum_ptr_type)0 ; tmp306 = auxselist_28 (arg1, arg2, (&tmp305), ats_true_bool) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (tmp305 != (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp305 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp308 = ats_caselptrlab_mac(anairiats_sum_13, tmp305, atslab_0) ; __ats_lab_56_1: tmp309 = ats_select_mac(tmp308, atslab_0) ; tmp310 = ats_select_mac(tmp308, atslab_1) ; ATS_FREE(tmp305) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2ctxt_make (tmp309, tmp310) ; tmp311 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp311, atslab_0, tmp312) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp311 ; break ; } while (0) ; tmp304 = tmp306 ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 18494(line=833, offs=3) -- 20356(line=922, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_lin (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_int_type, tmp316) ; ATSlocal (ats_int_type, tmp317) ; ATSlocal (anairiats_rec_1, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_bool_type, tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_bool_type, tmp329) ; // ATSlocal_void (tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_lin: tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (arg1, arg2) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg3) ; /* ats_int_type tmp316 ; */ tmp316 = 0 ; /* ats_int_type tmp317 ; */ tmp317 = 0 ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp314, tmp315, (&tmp316), (&tmp317)) ; tmp320 = ats_select_mac(tmp318, atslab_0) ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp320) ; tmp322 = ats_select_mac(tmp318, atslab_1) ; /* tmp321 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp322) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp319) ; if (tmp323) { tmp324 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp314), atslab_s2exp_srt) ; /* ats_ptr_type tmp325 ; */ tmp325 = (ats_sum_ptr_type)0 ; tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp314, tmp315, (&tmp325)) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp327 = ats_true_bool ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (tmp325 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp327 = ats_false_bool ; break ; } while (0) ; tmp329 = atspre_neg_bool (tmp327) ; if (tmp329) { /* tmp330 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp331 = */ atspre_prerr_string (ATSstrcst(": the linear component cannot be taken out.")) ; /* tmp332 = */ atspre_prerr_newline () ; tmp333 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp333)->tag = 63 ; ats_selptrset_mac(anairiats_sum_7, tmp333, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp333, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp333, atslab_2, tmp315) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp333) ; } else { /* empty */ } /* end of [if] */ /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (arg2) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize (1, tmp326) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_6, tmp325, atslab_0) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp337, tmp335) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (tmp325 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp336 = tmp314 ; break ; } while (0) ; tmp339 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp339, atslab_0, tmp336) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg2, tmp339) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var (arg0, tmp326, arg2, tmp314, tmp315) ; } else { tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var (arg0, tmp319, arg2, tmp314, tmp315) ; } /* end of [if] */ return (tmp313) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_lin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 20516(line=933, offs=3) -- 21035(line=970, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_mut (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_mut: tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (arg2) ; if (tmp341 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 20553(line=936, offs=1) -- 20586(line=937, offs=29)") ; } tmp342 = ats_caselptrlab_mac(anairiats_sum_6, tmp341, atslab_0) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg3) ; /* ats_ptr_type tmp344 ; */ tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_deref (arg0, tmp342, tmp343, (&tmp344)) ; tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var (arg0, tmp345, arg2, tmp344, tmp343) ; return (tmp340) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_mut] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 21120(line=976, offs=3) -- 21457(line=988, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_bool_type, tmp347) ; ATSlocal (ats_bool_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (arg2) ; if (!tmp347) { goto __ats_lab_62_1 ; } tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_lin (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg2) ; if (!tmp348) { goto __ats_lab_63_1 ; } tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab_mut (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var_nonmut (arg1, arg2) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg3) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab (arg0, tmp349, tmp350) ; break ; } while (0) ; return (tmp346) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 21545(line=997, offs=1) -- 21812(line=1008, offs=4) */ ATSstaticdec() ats_void_type auxerr_linrest_37 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; __ats_lab_auxerr_linrest_37: /* tmp352 = */ prerr_error3_loc_02046_ (arg0) ; /* tmp353 = */ atspre_prerr_string (ATSstrcst(": a linear component is abandoned by field selection.")) ; /* tmp354 = */ atspre_prerr_newline () ; tmp355 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp355)->tag = 47 ; ats_selptrset_mac(anairiats_sum_7, tmp355, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp355, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp355, atslab_2, arg2) ; /* tmp351 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp355) ; return /* (tmp351) */ ; } /* end of [auxerr_linrest_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 65219(line=2357, offs=5) -- 65793(line=2372, offs=6) */ ATSstaticdec() ats_bool_type loop_40 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp364) ; ATSlocal (ats_bool_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab_loop_40: tmp365 = atspre_igt (arg1, 0) ; if (tmp365) { do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp366 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp367 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp368 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp368, atslab_0, tmp366) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp368 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp369 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; tmp370 = atspre_isub (arg1, 1) ; arg0 = tmp367 ; arg1 = tmp370 ; arg2 = tmp369 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp371 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp371 ; tmp364 = ats_true_bool ; break ; } while (0) ; } else { tmp372 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp372 ; tmp364 = ats_false_bool ; } /* end of [if] */ return (tmp364) ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 65198(line=2355, offs=10) -- 66125(line=2386, offs=4) */ ATSstaticdec() ats_ptr_type list_take_exn_01442_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_bool_type, tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; __ats_lab_list_take_exn_01442_ats_ptr_type: /* ats_ptr_type tmp373 ; */ tmp374 = loop_40 (arg0, arg1, (&tmp373)) ; if (tmp374) { /* tmp375 = */ list_vt_free_01499_ats_ptr_type (tmp373) ; tmp376 = ListSubscriptException_make () ; /* tmp363 = */ ats_raise_exn (tmp376) ; } else { tmp363 = tmp373 ; } /* end of [if] */ return (tmp363) ; } /* end of [list_take_exn_01442_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 21845(line=1010, offs=5) -- 22875(line=1044, offs=4) */ ATSstaticdec() ats_ptr_type auxfinize_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_int_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_int_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; __ats_lab_auxfinize_38: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_69_0 ; } __ats_lab_64_1: tmp357 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ; tmp358 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ; tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp357), atslab_d3lab_overld_app) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (tmp359 != (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp360 = atspre_iadd (arg5, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp358 ; arg5 = tmp360 ; goto __ats_lab_auxfinize_38 ; // tail call break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (tmp359 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_6, tmp359, atslab_0) ; tmp362 = list_take_exn_01442_ats_ptr_type (arg3, arg5) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp361) ; tmp378 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp361), atslab_d3exp_node) ; if (((ats_sum_ptr_type)tmp378)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 22343(line=1031, offs=13) -- 22398(line=1031, offs=68)") ; } tmp379 = ats_caselptrlab_mac(anairiats_sum_10, tmp378, atslab_0) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_10, tmp378, atslab_1) ; tmp381 = ats_caselptrlab_mac(anairiats_sum_10, tmp378, atslab_2) ; if (tmp381 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 22411(line=1032, offs=13) -- 22451(line=1032, offs=53)") ; } tmp382 = ats_caselptrlab_mac(anairiats_sum_4, tmp381, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_4, tmp381, atslab_1) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp382) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab (arg0, tmp384, arg2, ats_castfn_mac(ats_ptr_type, tmp362)) ; tmp386 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp386, atslab_0, tmp385) ; ats_selptrset_mac(anairiats_sum_4, tmp386, atslab_1, tmp383) ; tmp387 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn (arg0, tmp377, tmp379, tmp380, tmp386) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp387 ; arg3 = tmp358 ; arg4 = tmp358 ; arg5 = 0 ; goto __ats_lab_auxfinize_38 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab (arg0, arg1, arg2, arg3) ; break ; } while (0) ; return (tmp356) ; } /* end of [auxfinize_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 22952(line=1050, offs=3) -- 23687(line=1078, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_int_type, tmp390) ; ATSlocal (ats_int_type, tmp391) ; ATSlocal (anairiats_rec_1, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; ATSlocal (ats_bool_type, tmp398) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg1) ; /* ats_int_type tmp390 ; */ tmp390 = 0 ; /* ats_int_type tmp391 ; */ tmp391 = 0 ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp389, arg2, (&tmp390), (&tmp391)) ; tmp393 = ats_select_mac(tmp392, atslab_0) ; tmp394 = ats_select_mac(tmp392, atslab_1) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp393) ; /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp394) ; tmp398 = atspre_gt_int_int (tmp390, 0) ; if (tmp398) { /* tmp397 = */ auxerr_linrest_37 (arg0, arg1, arg2) ; } else { /* empty */ } /* end of [if] */ // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp388 = auxfinize_38 (arg0, tmp395, arg1, arg2, arg2, 0) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp388 = arg1 ; break ; } while (0) ; return (tmp388) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_selab.dats: 23794(line=1086, offs=3) -- 24328(line=1114, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_selab: tmp400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp400)->tag != 1) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp401 = ats_caselptrlab_mac(anairiats_sum_3, tmp400, atslab_0) ; tmp402 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_loc) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d2var_trup_selab (arg0, tmp402, tmp401, arg2) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp400)->tag != 41) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp403 = ats_caselptrlab_mac(anairiats_sum_3, tmp400, atslab_0) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_deref (arg0, tmp403, arg2) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg1) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__d3exp_trup_selab (arg0, tmp404, tmp405) ; break ; } while (0) ; return (tmp399) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_selab] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_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 () ; #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_trans3_selab_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symmap_sats.c0000664000175000017500000000233512655455557020131 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_symmap_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symbol_sats.c0000664000175000017500000000205012655455557020122 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_symbol_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_codegen2_datype_dats.c0000664000175000017500000011375412655455557021650 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_cons_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxfun0_3 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxfun0_3_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxfun0_3_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxfun1_4 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type auxfun1_4_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxfun1_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxcon_5 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxcon_5_closure_make (ats_ptr_type env0) ; static ats_void_type auxcon_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxconlst_6 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxconlst_6_closure_make (ats_ptr_type env0) ; static ats_void_type auxconlst_6_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_datype_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_nil_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_cons_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxfun0_11 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type auxfun0_11_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxfun0_11_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type auxfun1_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type auxfun1_12_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxfun1_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxcon_13 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxcon_13_closure_make (ats_ptr_type env0) ; static ats_void_type auxcon_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxconlst_14 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxconlst_14_closure_make (ats_ptr_type env0) ; static ats_void_type auxconlst_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_datype_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 1813(line=66, offs=1) -- 2078(line=83, offs=2) */ ATSstaticdec() ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_auxerr_nil_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp1) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no spec on datatype is given\n")) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("*)")) ; /* tmp0 = */ atspre_fprint_newline (arg0) ; return /* (tmp0) */ ; } /* end of [auxerr_nil_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 2110(line=86, offs=1) -- 2387(line=104, offs=2) */ ATSstaticdec() ats_void_type auxerr_cons_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab_auxerr_cons_1: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp7) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no datatype of the given spec\n")) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("*)")) ; /* tmp6 = */ atspre_fprint_newline (arg0) ; return /* (tmp6) */ ; } /* end of [auxerr_cons_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 2511(line=114, offs=1) -- 2669(line=124, offs=4) */ ATSstaticdec() ats_void_type auxfun0_3 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; __ats_lab_auxfun0_3: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (env1) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp14) ; /* tmp16 = */ atspre_fprint_string (env0, ATSstrcst("datcon_")) ; /* tmp13 = */ atspre_fprint_string (env0, tmp15) ; return /* (tmp13) */ ; } /* end of [auxfun0_3] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxfun0_3_closure_type ; ats_void_type auxfun0_3_clofun (ats_clo_ptr_type cloptr) { auxfun0_3 (((auxfun0_3_closure_type*)cloptr)->closure_env_0, ((auxfun0_3_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxfun0_3_closure_init (auxfun0_3_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxfun0_3_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxfun0_3_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxfun0_3_closure_type *p_clo = ATS_MALLOC(sizeof(auxfun0_3_closure_type)) ; auxfun0_3_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 2697(line=127, offs=1) -- 2938(line=140, offs=2) */ ATSstaticdec() ats_void_type auxfun1_4 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab_auxfun1_4: tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp18)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_2, tmp18, atslab_0) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (env0, tmp19) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp18)->tag != 5) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_2, tmp18, atslab_0) ; /* tmp17 = */ atspre_fprint_string (env0, tmp20) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: /* tmp17 = */ auxfun0_3 (env0, env1) ; break ; } while (0) ; return /* (tmp17) */ ; } /* end of [auxfun1_4] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxfun1_4_closure_type ; ats_void_type auxfun1_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxfun1_4 (((auxfun1_4_closure_type*)cloptr)->closure_env_0, ((auxfun1_4_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxfun1_4_closure_init (auxfun1_4_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxfun1_4_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxfun1_4_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxfun1_4_closure_type *p_clo = ATS_MALLOC(sizeof(auxfun1_4_closure_type)) ; auxfun1_4_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 2946(line=143, offs=1) -- 3124(line=153, offs=4) */ ATSstaticdec() ats_void_type auxcon_5 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab_auxcon_5: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp22) ; /* tmp24 = */ atspre_fprint_string (env0, ATSstrcst("| ")) ; /* tmp25 = */ atspre_fprint_string (env0, tmp23) ; /* tmp26 = */ atspre_fprint_string (env0, ATSstrcst(" _ => \"")) ; /* tmp27 = */ atspre_fprint_string (env0, tmp23) ; /* tmp28 = */ atspre_fprint_string (env0, ATSstrcst("\"")) ; /* tmp21 = */ atspre_fprint_newline (env0) ; return /* (tmp21) */ ; } /* end of [auxcon_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxcon_5_closure_type ; ats_void_type auxcon_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxcon_5 (((auxcon_5_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxcon_5_closure_init (auxcon_5_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcon_5_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxcon_5_closure_make (ats_ptr_type env0) { auxcon_5_closure_type *p_clo = ATS_MALLOC(sizeof(auxcon_5_closure_type)) ; auxcon_5_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 3151(line=156, offs=1) -- 3312(line=165, offs=2) */ ATSstaticdec() ats_void_type auxconlst_6 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; __ats_lab_auxconlst_6: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp32 = */ auxcon_5 (env0, tmp30) ; arg0 = tmp31 ; goto __ats_lab_auxconlst_6 ; // tail call break ; } while (0) ; return /* (tmp29) */ ; } /* end of [auxconlst_6] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxconlst_6_closure_type ; ats_void_type auxconlst_6_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxconlst_6 (((auxconlst_6_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxconlst_6_closure_init (auxconlst_6_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxconlst_6_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxconlst_6_closure_make (ats_ptr_type env0) { auxconlst_6_closure_type *p_clo = ATS_MALLOC(sizeof(auxconlst_6_closure_type)) ; auxconlst_6_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 2420(line=107, offs=1) -- 4052(line=214, offs=4) */ ATSstaticdec() ats_void_type aux_datype_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; __ats_lab_aux_datype_2: tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name (arg2) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg2) ; if (tmp34 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 3353(line=168, offs=5) -- 3390(line=168, offs=42)") ; } tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp34, atslab_0) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)\n")) ; /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("implement\n")) ; /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("{}(*tmp*)\n")) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp40 = */ auxfun0_3 (arg0, arg2) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; /* tmp40 = */ auxfun1_4 (arg0, arg2, tmp41) ; break ; } while (0) ; /* tmp42 = */ atspre_fprint_string (arg0, ATSstrcst("\n ")) ; /* tmp43 = */ atspre_fprint_string (arg0, ATSstrcst("(arg0) =\n")) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst("(\n")) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst("case+ arg0 of\n")) ; /* tmp46 = */ auxconlst_6 (arg0, tmp35) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst(")\n")) ; /* tmp48 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)\n")) ; return /* (tmp12) */ ; } /* end of [aux_datype_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 4127(line=220, offs=3) -- 4522(line=242, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcon (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcon: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp49 = */ auxerr_nil_0 (arg0, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype (tmp50) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp52 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp49 = */ auxerr_cons_1 (arg0, arg1, tmp50) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp52 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_4, tmp52, atslab_0) ; ATS_FREE(tmp52) ; /* tmp49 = */ aux_datype_2 (arg0, arg1, tmp53, tmp51) ; break ; } while (0) ; break ; } while (0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 4607(line=251, offs=1) -- 4872(line=268, offs=2) */ ATSstaticdec() ats_void_type auxerr_nil_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_auxerr_nil_8: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp55) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no spec on datatype is given\n")) ; /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("*)\n")) ; return /* (tmp54) */ ; } /* end of [auxerr_nil_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 4904(line=271, offs=1) -- 5181(line=289, offs=2) */ ATSstaticdec() ats_void_type auxerr_cons_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; __ats_lab_auxerr_cons_9: tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp60) ; /* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): no datatype of the given spec\n")) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("*)\n")) ; return /* (tmp59) */ ; } /* end of [auxerr_cons_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 5305(line=299, offs=1) -- 5466(line=309, offs=4) */ ATSstaticdec() ats_void_type auxfun0_11 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; __ats_lab_auxfun0_11: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (env1) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp66) ; /* tmp68 = */ atspre_fprint_string (env0, ATSstrcst("datcontag_")) ; /* tmp65 = */ atspre_fprint_string (env0, tmp67) ; return /* (tmp65) */ ; } /* end of [auxfun0_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxfun0_11_closure_type ; ats_void_type auxfun0_11_clofun (ats_clo_ptr_type cloptr) { auxfun0_11 (((auxfun0_11_closure_type*)cloptr)->closure_env_0, ((auxfun0_11_closure_type*)cloptr)->closure_env_1) ; return ; } /* end of function */ ATSinline() ats_void_type auxfun0_11_closure_init (auxfun0_11_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxfun0_11_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxfun0_11_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxfun0_11_closure_type *p_clo = ATS_MALLOC(sizeof(auxfun0_11_closure_type)) ; auxfun0_11_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 5494(line=312, offs=1) -- 5735(line=325, offs=2) */ ATSstaticdec() ats_void_type auxfun1_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_auxfun1_12: tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp70)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (env0, tmp71) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp70)->tag != 5) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_2, tmp70, atslab_0) ; /* tmp69 = */ atspre_fprint_string (env0, tmp72) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: /* tmp69 = */ auxfun0_11 (env0, env1) ; break ; } while (0) ; return /* (tmp69) */ ; } /* end of [auxfun1_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxfun1_12_closure_type ; ats_void_type auxfun1_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxfun1_12 (((auxfun1_12_closure_type*)cloptr)->closure_env_0, ((auxfun1_12_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxfun1_12_closure_init (auxfun1_12_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxfun1_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxfun1_12_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxfun1_12_closure_type *p_clo = ATS_MALLOC(sizeof(auxfun1_12_closure_type)) ; auxfun1_12_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 5743(line=328, offs=1) -- 5941(line=339, offs=4) */ ATSstaticdec() ats_void_type auxcon_13 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab_auxcon_13: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg0) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp74) ; /* tmp77 = */ atspre_fprint_string (env0, ATSstrcst("| ")) ; /* tmp78 = */ atspre_fprint_string (env0, tmp76) ; /* tmp79 = */ atspre_fprint_string (env0, ATSstrcst(" _ => ")) ; /* tmp80 = */ atspre_fprint_int (env0, tmp75) ; /* tmp73 = */ atspre_fprint_newline (env0) ; return /* (tmp73) */ ; } /* end of [auxcon_13] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxcon_13_closure_type ; ats_void_type auxcon_13_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxcon_13 (((auxcon_13_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxcon_13_closure_init (auxcon_13_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcon_13_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxcon_13_closure_make (ats_ptr_type env0) { auxcon_13_closure_type *p_clo = ATS_MALLOC(sizeof(auxcon_13_closure_type)) ; auxcon_13_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 5971(line=342, offs=1) -- 6132(line=351, offs=2) */ ATSstaticdec() ats_void_type auxconlst_14 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; __ats_lab_auxconlst_14: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp84 = */ auxcon_13 (env0, tmp82) ; arg0 = tmp83 ; goto __ats_lab_auxconlst_14 ; // tail call break ; } while (0) ; return /* (tmp81) */ ; } /* end of [auxconlst_14] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxconlst_14_closure_type ; ats_void_type auxconlst_14_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxconlst_14 (((auxconlst_14_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxconlst_14_closure_init (auxconlst_14_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxconlst_14_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxconlst_14_closure_make (ats_ptr_type env0) { auxconlst_14_closure_type *p_clo = ATS_MALLOC(sizeof(auxconlst_14_closure_type)) ; auxconlst_14_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 5214(line=292, offs=1) -- 6881(line=401, offs=4) */ ATSstaticdec() ats_void_type aux_datype_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; __ats_lab_aux_datype_10: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name (arg2) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (arg2) ; if (tmp86 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 6173(line=354, offs=5) -- 6210(line=354, offs=42)") ; } tmp87 = ats_caselptrlab_mac(anairiats_sum_4, tmp86, atslab_0) ; /* tmp88 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)\n")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp90 = */ atspre_fprint_string (arg0, ATSstrcst("implement\n")) ; /* tmp91 = */ atspre_fprint_string (arg0, ATSstrcst("{}(*tmp*)\n")) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp92 = */ auxfun0_11 (arg0, arg2) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; /* tmp92 = */ auxfun1_12 (arg0, arg2, tmp93) ; break ; } while (0) ; /* tmp94 = */ atspre_fprint_string (arg0, ATSstrcst("\n ")) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("(arg0) =\n")) ; /* tmp96 = */ atspre_fprint_string (arg0, ATSstrcst("(\n")) ; /* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("case+ arg0 of\n")) ; /* tmp98 = */ auxconlst_14 (arg0, tmp87) ; /* tmp99 = */ atspre_fprint_string (arg0, ATSstrcst(")\n")) ; /* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst("//\n")) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst("(* ****** ****** *)\n")) ; return /* (tmp64) */ ; } /* end of [aux_datype_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_datype.dats: 6959(line=407, offs=3) -- 7357(line=429, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcontag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcontag: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp101 = */ auxerr_nil_8 (arg0, arg1) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype (tmp102) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp104 != (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp101 = */ auxerr_cons_9 (arg0, arg1, tmp102) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp104 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_4, tmp104, atslab_0) ; ATS_FREE(tmp104) ; /* tmp101 = */ aux_datype_10 (arg0, arg1, tmp105, tmp103) ; break ; } while (0) ; break ; } while (0) ; return /* (tmp101) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcontag] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_codegen2_datype_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_codegen2_sats.c0000664000175000017500000000625412655455557020315 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_codegen2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_sats.c0000664000175000017500000001130012655455557020023 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_prec_tr_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_e0xp_tr_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0rt_tr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0exp_tr_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_p0at_tr_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0exp_tr_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0cstdec_tr_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_termet_check_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_i0nclude_tr_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0taload_tr_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0ynload_tr_10) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_prec_tr_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_e0xp_tr_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0rt_tr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0exp_tr_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_p0at_tr_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0exp_tr_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0cstdec_tr_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_termet_check_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_i0nclude_tr_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0taload_tr_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0ynload_tr_10.tag = 10 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_solve_sats.c0000664000175000017500000000377312655455557021430 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_solve_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_taggen_sats.c0000664000175000017500000000256612655455557020076 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_taggen_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_errmsg_dats.c0000664000175000017500000000640112655455557020101 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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" /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_errmsg_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_syntax_dats.c0000664000175000017500000175440112655455557020143 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_e0fftag_loc ; ats_ptr_type atslab_e0fftag_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_e0xp_loc ; ats_ptr_type atslab_e0xp_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s0rtq_loc ; ats_ptr_type atslab_s0rtq_node ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_s0taq_loc ; ats_ptr_type atslab_s0taq_node ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_sqi0de_loc ; ats_ptr_type atslab_sqi0de_qua ; ats_ptr_type atslab_sqi0de_sym ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_dqi0de_loc ; ats_ptr_type atslab_dqi0de_qua ; ats_ptr_type atslab_dqi0de_sym ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_s0rt_loc ; ats_ptr_type atslab_s0rt_node ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_d0atsrtcon_loc ; ats_ptr_type atslab_d0atsrtcon_sym ; ats_ptr_type atslab_d0atsrtcon_arg ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_d0atsrtdec_loc ; ats_ptr_type atslab_d0atsrtdec_sym ; ats_ptr_type atslab_d0atsrtdec_con ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_s0arg_loc ; ats_ptr_type atslab_s0arg_sym ; ats_ptr_type atslab_s0arg_srt ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_s0marg_loc ; ats_ptr_type atslab_s0marg_arg ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_a0srt_loc ; ats_ptr_type atslab_a0srt_sym ; ats_ptr_type atslab_a0srt_srt ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_a0msrt_loc ; ats_ptr_type atslab_a0msrt_arg ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_s0arrdim_loc ; ats_ptr_type atslab_s0arrdim_dim ; } anairiats_rec_29 ; typedef struct { ats_ptr_type atslab_s0rtext_loc ; ats_ptr_type atslab_s0rtext_node ; } anairiats_rec_30 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_31 ; typedef struct { ats_ptr_type atslab_s0qua_loc ; ats_ptr_type atslab_s0qua_node ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_s0exp_loc ; ats_ptr_type atslab_s0exp_node ; } anairiats_rec_33 ; typedef struct { ats_ptr_type atslab_q0marg_loc ; ats_ptr_type atslab_q0marg_arg ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_a0typ_loc ; ats_ptr_type atslab_a0typ_sym ; ats_ptr_type atslab_a0typ_typ ; } anairiats_rec_35 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_36 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_37 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_38 ; typedef struct { ats_ptr_type atslab_m0acarg_loc ; ats_ptr_type atslab_m0acarg_node ; } anairiats_rec_39 ; typedef struct { ats_ptr_type atslab_d0cstarg_loc ; ats_ptr_type atslab_d0cstarg_node ; } anairiats_rec_40 ; typedef struct { ats_ptr_type atslab_s0rtdef_loc ; ats_ptr_type atslab_s0rtdef_sym ; ats_ptr_type atslab_s0rtdef_def ; } anairiats_rec_41 ; typedef struct { ats_ptr_type atslab_s0tacon_loc ; ats_ptr_type atslab_s0tacon_sym ; ats_ptr_type atslab_s0tacon_arg ; ats_ptr_type atslab_s0tacon_def ; } anairiats_rec_42 ; typedef struct { ats_ptr_type atslab_s0tacst_loc ; ats_ptr_type atslab_s0tacst_sym ; ats_ptr_type atslab_s0tacst_arg ; ats_ptr_type atslab_s0tacst_res ; } anairiats_rec_43 ; typedef struct { ats_ptr_type atslab_t0kindef_loc ; ats_ptr_type atslab_t0kindef_sym ; ats_ptr_type atslab_t0kindef_loc_id ; ats_ptr_type atslab_t0kindef_def ; } anairiats_rec_44 ; typedef struct { ats_ptr_type atslab_s0expdef_loc ; ats_ptr_type atslab_s0expdef_sym ; ats_ptr_type atslab_s0expdef_loc_id ; ats_ptr_type atslab_s0expdef_arg ; ats_ptr_type atslab_s0expdef_res ; ats_ptr_type atslab_s0expdef_def ; } anairiats_rec_45 ; typedef struct { ats_ptr_type atslab_s0aspdec_loc ; ats_ptr_type atslab_s0aspdec_qid ; ats_ptr_type atslab_s0aspdec_arg ; ats_ptr_type atslab_s0aspdec_res ; ats_ptr_type atslab_s0aspdec_def ; } anairiats_rec_46 ; typedef struct { ats_ptr_type atslab_e0xndec_loc ; ats_ptr_type atslab_e0xndec_fil ; ats_ptr_type atslab_e0xndec_sym ; ats_ptr_type atslab_e0xndec_qua ; ats_ptr_type atslab_e0xndec_arg ; } anairiats_rec_47 ; typedef struct { ats_ptr_type atslab_d0atcon_loc ; ats_ptr_type atslab_d0atcon_sym ; ats_ptr_type atslab_d0atcon_qua ; ats_ptr_type atslab_d0atcon_arg ; ats_ptr_type atslab_d0atcon_ind ; } anairiats_rec_48 ; typedef struct { ats_ptr_type atslab_d0atdec_loc ; ats_ptr_type atslab_d0atdec_loc_hd ; ats_ptr_type atslab_d0atdec_fil ; ats_ptr_type atslab_d0atdec_sym ; ats_ptr_type atslab_d0atdec_arg ; ats_ptr_type atslab_d0atdec_con ; } anairiats_rec_49 ; typedef struct { ats_ptr_type atslab_d0cstdec_loc ; ats_ptr_type atslab_d0cstdec_fil ; ats_ptr_type atslab_d0cstdec_sym ; ats_ptr_type atslab_d0cstdec_arg ; ats_ptr_type atslab_d0cstdec_eff ; ats_ptr_type atslab_d0cstdec_res ; ats_ptr_type atslab_d0cstdec_extopt ; } anairiats_rec_50 ; typedef struct { ats_ptr_type atslab_p0at_loc ; ats_ptr_type atslab_p0at_node ; } anairiats_rec_51 ; typedef struct { ats_ptr_type atslab_labp0at_loc ; ats_ptr_type atslab_labp0at_node ; } anairiats_rec_52 ; typedef struct { ats_ptr_type atslab_t0mpmarg_loc ; ats_ptr_type atslab_t0mpmarg_arg ; } anairiats_rec_53 ; typedef struct { ats_ptr_type atslab_impqi0de_loc ; ats_ptr_type atslab_impqi0de_qua ; ats_ptr_type atslab_impqi0de_sym ; ats_ptr_type atslab_impqi0de_arg ; } anairiats_rec_54 ; typedef struct { ats_ptr_type atslab_f0arg_loc ; ats_ptr_type atslab_f0arg_node ; } anairiats_rec_55 ; typedef struct { ats_ptr_type atslab_s0elop_loc ; ats_int_type atslab_s0elop_knd ; } anairiats_rec_56 ; typedef struct { ats_ptr_type atslab_i0nvarg_loc ; ats_ptr_type atslab_i0nvarg_sym ; ats_ptr_type atslab_i0nvarg_typ ; } anairiats_rec_57 ; typedef struct { ats_ptr_type atslab_i0nvresstate_loc ; ats_ptr_type atslab_i0nvresstate_qua ; ats_ptr_type atslab_i0nvresstate_arg ; } anairiats_rec_58 ; typedef struct { ats_ptr_type atslab_loopi0nv_qua ; ats_ptr_type atslab_loopi0nv_met ; ats_ptr_type atslab_loopi0nv_arg ; ats_ptr_type atslab_loopi0nv_res ; } anairiats_rec_59 ; typedef struct { ats_ptr_type atslab_ifhead_tok ; ats_ptr_type atslab_ifhead_inv ; } anairiats_rec_60 ; typedef struct { ats_ptr_type atslab_sifhead_tok ; ats_ptr_type atslab_sifhead_inv ; } anairiats_rec_61 ; typedef struct { ats_ptr_type atslab_casehead_tok ; ats_ptr_type atslab_casehead_inv ; } anairiats_rec_62 ; typedef struct { ats_ptr_type atslab_scasehead_tok ; ats_ptr_type atslab_scasehead_inv ; } anairiats_rec_63 ; typedef struct { ats_ptr_type atslab_loophead_tok ; ats_ptr_type atslab_loophead_inv ; } anairiats_rec_64 ; typedef struct { ats_ptr_type atslab_tryhead_tok ; ats_ptr_type atslab_tryhead_inv ; } anairiats_rec_65 ; typedef struct { ats_ptr_type atslab_d0exp_loc ; ats_ptr_type atslab_d0exp_node ; } anairiats_rec_66 ; typedef struct { ats_ptr_type atslab_c0lau_loc ; ats_ptr_type atslab_c0lau_pat ; ats_int_type atslab_c0lau_seq ; ats_int_type atslab_c0lau_neg ; ats_ptr_type atslab_c0lau_body ; } anairiats_rec_67 ; typedef struct { ats_ptr_type atslab_sc0lau_loc ; ats_ptr_type atslab_sc0lau_pat ; ats_ptr_type atslab_sc0lau_body ; } anairiats_rec_68 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_69 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_70 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_71 ; typedef struct { ats_ptr_type atslab_d0arrind_loc ; ats_ptr_type atslab_d0arrind_ind ; } anairiats_rec_72 ; typedef struct { ats_ptr_type atslab_itp_init ; ats_ptr_type atslab_itp_test ; ats_ptr_type atslab_itp_post ; } anairiats_rec_73 ; typedef struct { ats_ptr_type atslab_gm0at_loc ; ats_ptr_type atslab_gm0at_exp ; ats_ptr_type atslab_gm0at_pat ; } anairiats_rec_74 ; typedef struct { ats_ptr_type atslab_guap0at_loc ; ats_ptr_type atslab_guap0at_pat ; ats_ptr_type atslab_guap0at_gua ; } anairiats_rec_75 ; typedef struct { ats_ptr_type atslab_sp0at_loc ; ats_ptr_type atslab_sp0at_node ; } anairiats_rec_76 ; typedef struct { ats_ptr_type atslab_m0acdef_loc ; ats_ptr_type atslab_m0acdef_sym ; ats_ptr_type atslab_m0acdef_arg ; ats_ptr_type atslab_m0acdef_def ; } anairiats_rec_77 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_78 ; typedef struct { ats_ptr_type atslab_v0aldec_loc ; ats_ptr_type atslab_v0aldec_pat ; ats_ptr_type atslab_v0aldec_def ; ats_ptr_type atslab_v0aldec_ann ; } anairiats_rec_79 ; typedef struct { ats_ptr_type atslab_f0undec_loc ; ats_ptr_type atslab_f0undec_sym ; ats_ptr_type atslab_f0undec_sym_loc ; ats_ptr_type atslab_f0undec_arg ; ats_ptr_type atslab_f0undec_eff ; ats_ptr_type atslab_f0undec_res ; ats_ptr_type atslab_f0undec_def ; ats_ptr_type atslab_f0undec_ann ; } anairiats_rec_80 ; typedef struct { ats_ptr_type atslab_v0ardec_loc ; ats_int_type atslab_v0ardec_knd ; ats_ptr_type atslab_v0ardec_sym ; ats_ptr_type atslab_v0ardec_sym_loc ; ats_ptr_type atslab_v0ardec_pfat ; ats_ptr_type atslab_v0ardec_type ; ats_ptr_type atslab_v0ardec_init ; } anairiats_rec_81 ; typedef struct { ats_ptr_type atslab_i0mpdec_loc ; ats_ptr_type atslab_i0mpdec_qid ; ats_ptr_type atslab_i0mpdec_arg ; ats_ptr_type atslab_i0mpdec_res ; ats_ptr_type atslab_i0mpdec_def ; } anairiats_rec_82 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_83 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_84 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_85 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_86 ; typedef struct { ats_ptr_type atslab_guad0ecl_loc ; ats_ptr_type atslab_guad0ecl_node ; } anairiats_rec_87 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infix_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixl_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_infixr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_prefix_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FXK_postfix_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGprf_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGlin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGclo_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdot_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymcolon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdotcolon_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_adj_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYinf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpos_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstringid_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPapp_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfun_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPeval_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPlist_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPif_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DATSDEF_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTlist_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTtype_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SP0Tcstr_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyarr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etytup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_ext_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Euni_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eexi_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eann_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Ed2ctype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEsome_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEnone_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGsta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tchar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlst_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Ttup_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trec_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfree_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tunfold_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Texist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tsvararg_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trefas_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_sarglst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_svararglst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta1_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGmet3_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eliteral_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextval_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextfcall_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextmcall_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efoldat_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efreeat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etmpid_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecasehead_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Escasehead_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrsub_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrpsz_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrinit_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_lab_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_ind_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eraise_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_arg_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eshowtype_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Evcopyenv_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etempenver_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esexparg_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eexist_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eann_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elam_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efix_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efor_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhile_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Emacsyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolassert_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolverify_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDfname_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDnspace_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDdeclist_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpact_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_as_74) ; /* 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_int_type, atspre_int_of_string) (ats_ptr_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_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma1_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma2_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_set) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tkname) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma_process) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__e0xp_funize) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, patsopt_string_test_prefix) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none) ; /* internal function declarations */ static ats_bool_type name_is_prf_10 (ats_ptr_type arg0) ; static ats_bool_type name_is_lin0_11 (ats_ptr_type arg0) ; static ats_bool_type name_is_lin1_12 (ats_ptr_type arg0) ; static ats_bool_type name_is_fun0_13 (ats_ptr_type arg0) ; static ats_bool_type name_is_fun1_14 (ats_ptr_type arg0) ; static ats_bool_type name_is_linfun0_15 (ats_ptr_type arg0) ; static ats_bool_type name_is_linfun1_16 (ats_ptr_type arg0) ; static ats_bool_type name_is_clo0_17 (ats_ptr_type arg0) ; static ats_bool_type name_is_clo1_18 (ats_ptr_type arg0) ; static ats_bool_type name_is_linclo0_19 (ats_ptr_type arg0) ; static ats_bool_type name_is_linclo1_20 (ats_ptr_type arg0) ; static ats_bool_type name_is_cloptr0_21 (ats_ptr_type arg0) ; static ats_bool_type name_is_cloptr1_22 (ats_ptr_type arg0) ; static ats_bool_type name_is_lincloptr0_23 (ats_ptr_type arg0) ; static ats_bool_type name_is_lincloptr1_24 (ats_ptr_type arg0) ; static ats_bool_type name_is_cloref0_25 (ats_ptr_type arg0) ; static ats_bool_type name_is_cloref1_26 (ats_ptr_type arg0) ; static ats_ptr_type e0xp_fun_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type argtest_46 (ats_ptr_type arg0) ; static ats_ptr_type applst_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_49 (ats_ptr_type arg0) ; static ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_54 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type auxfun_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_ptr_type loop_82 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s0exp_lam_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux_113 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_113_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type aux_113_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_134 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_last_opt_01409_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type d0exp_macsyn_252 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_270 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type e0xp_is_location_284 (ats_ptr_type arg0) ; static ats_ptr_type e2s_285 (ats_ptr_type arg0) ; static ats_ptr_type locpragma_process0_286 (ats_ptr_type arg0) ; static ats_ptr_type locpragma_process1_287 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_302 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type srpifkind_of_token_324 (ats_ptr_type arg0) ; static ats_ptr_type srpelifkind_of_token_325 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp194) ; ATSstatic (ats_ptr_type, statmp220) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2071(line=75, offs=3) -- 2148(line=77, offs=54) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox: tmp1 = atspre_gte_int_int (arg0, 0) ; if (tmp1) { tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind (arg0) ; if (tmp2) { tmp0 = 1 ; } else { tmp0 = 0 ; } /* end of [if] */ } else { tmp0 = 1 ; } /* end of [if] */ return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2254(line=85, offs=3) -- 2331(line=87, offs=54) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_islin (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_islin: tmp4 = atspre_gte_int_int (arg0, 0) ; if (tmp4) { tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (arg0) ; if (tmp5) { tmp3 = 1 ; } else { tmp3 = 0 ; } /* end of [if] */ } else { tmp3 = 0 ; } /* end of [if] */ return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_islin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2440(line=94, offs=17) -- 2462(line=94, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null: tmp6 = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2492(line=97, offs=16) -- 2527(line=97, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_is_null (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_is_null: tmp7 = atspre_ptr_is_null (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_is_null] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2558(line=99, offs=19) -- 2596(line=99, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null: tmp8 = atspre_ptr_isnot_null (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_isnot_null] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2642(line=104, offs=10) -- 2727(line=109, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int: tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp10)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2661(line=106, offs=5) -- 2697(line=107, offs=31)") ; } tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp10, atslab_1) ; tmp9 = atspre_int_of_string (tmp11) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2797(line=114, offs=15) -- 2843(line=114, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym: tmp12 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp12, atslab_i0de_loc, arg0) ; ats_selptrset_mac(anairiats_rec_3, tmp12, atslab_i0de_sym, arg1) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 2897(line=120, offs=3) -- 2995(line=125, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (arg1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (arg0, tmp14) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3080(line=131, offs=3) -- 3208(line=135, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_lrbrackets (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_lrbrackets: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp17, tmp18) ; tmp15 = ATS_MALLOC(sizeof(anairiats_rec_3)) ; ats_selptrset_mac(anairiats_rec_3, tmp15, atslab_i0de_loc, tmp16) ; ats_selptrset_mac(anairiats_rec_3, tmp15, atslab_i0de_sym, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_lrbrackets] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3286(line=140, offs=13) -- 3422(line=144, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst: tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp21) ; tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp23 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp23)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp23, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp23, atslab_1, tmp20) ; tmp19 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp19, atslab_e0fftag_loc, tmp22) ; ats_selptrset_mac(anairiats_rec_4, tmp19, atslab_e0fftag_node, tmp23) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3534(line=154, offs=4) -- 3583(line=155, offs=38) */ ATSstaticdec() ats_bool_type name_is_prf_10 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp24) ; __ats_lab_name_is_prf_10: tmp24 = atspre_eq_string_string (arg0, ATSstrcst("prf")) ; return (tmp24) ; } /* end of [name_is_prf_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3612(line=158, offs=4) -- 3695(line=159, offs=47) */ ATSstaticdec() ats_bool_type name_is_lin0_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; __ats_lab_name_is_lin0_11: tmp26 = atspre_eq_string_string (arg0, ATSstrcst("lin")) ; if (tmp26) { tmp25 = ats_true_bool ; } else { tmp25 = atspre_eq_string_string (arg0, ATSstrcst("lin0")) ; } /* end of [if] */ return (tmp25) ; } /* end of [name_is_lin0_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3699(line=160, offs=4) -- 3748(line=160, offs=53) */ ATSstaticdec() ats_bool_type name_is_lin1_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp27) ; __ats_lab_name_is_lin1_12: tmp27 = atspre_eq_string_string (arg0, ATSstrcst("lin1")) ; return (tmp27) ; } /* end of [name_is_lin1_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3753(line=162, offs=4) -- 3836(line=163, offs=47) */ ATSstaticdec() ats_bool_type name_is_fun0_13 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; __ats_lab_name_is_fun0_13: tmp29 = atspre_eq_string_string (arg0, ATSstrcst("fun")) ; if (tmp29) { tmp28 = ats_true_bool ; } else { tmp28 = atspre_eq_string_string (arg0, ATSstrcst("fun0")) ; } /* end of [if] */ return (tmp28) ; } /* end of [name_is_fun0_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3840(line=164, offs=4) -- 3889(line=164, offs=53) */ ATSstaticdec() ats_bool_type name_is_fun1_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp30) ; __ats_lab_name_is_fun1_14: tmp30 = atspre_eq_string_string (arg0, ATSstrcst("fun1")) ; return (tmp30) ; } /* end of [name_is_fun1_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3894(line=166, offs=4) -- 3986(line=167, offs=53) */ ATSstaticdec() ats_bool_type name_is_linfun0_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; __ats_lab_name_is_linfun0_15: tmp32 = atspre_eq_string_string (arg0, ATSstrcst("linfun")) ; if (tmp32) { tmp31 = ats_true_bool ; } else { tmp31 = atspre_eq_string_string (arg0, ATSstrcst("linfun0")) ; } /* end of [if] */ return (tmp31) ; } /* end of [name_is_linfun0_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 3990(line=168, offs=4) -- 4045(line=168, offs=59) */ ATSstaticdec() ats_bool_type name_is_linfun1_16 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; __ats_lab_name_is_linfun1_16: tmp33 = atspre_eq_string_string (arg0, ATSstrcst("linfun1")) ; return (tmp33) ; } /* end of [name_is_linfun1_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4050(line=170, offs=4) -- 4132(line=171, offs=47) */ ATSstaticdec() ats_bool_type name_is_clo0_17 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; __ats_lab_name_is_clo0_17: tmp35 = atspre_eq_string_string (arg0, ATSstrcst("clo")) ; if (tmp35) { tmp34 = ats_true_bool ; } else { tmp34 = atspre_eq_string_string (arg0, ATSstrcst("clo0")) ; } /* end of [if] */ return (tmp34) ; } /* end of [name_is_clo0_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4136(line=172, offs=4) -- 4185(line=172, offs=53) */ ATSstaticdec() ats_bool_type name_is_clo1_18 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp36) ; __ats_lab_name_is_clo1_18: tmp36 = atspre_eq_string_string (arg0, ATSstrcst("clo1")) ; return (tmp36) ; } /* end of [name_is_clo1_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4190(line=174, offs=4) -- 4281(line=175, offs=53) */ ATSstaticdec() ats_bool_type name_is_linclo0_19 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; __ats_lab_name_is_linclo0_19: tmp38 = atspre_eq_string_string (arg0, ATSstrcst("linclo")) ; if (tmp38) { tmp37 = ats_true_bool ; } else { tmp37 = atspre_eq_string_string (arg0, ATSstrcst("linclo0")) ; } /* end of [if] */ return (tmp37) ; } /* end of [name_is_linclo0_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4285(line=176, offs=4) -- 4340(line=176, offs=59) */ ATSstaticdec() ats_bool_type name_is_linclo1_20 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp39) ; __ats_lab_name_is_linclo1_20: tmp39 = atspre_eq_string_string (arg0, ATSstrcst("linclo1")) ; return (tmp39) ; } /* end of [name_is_linclo1_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4345(line=178, offs=4) -- 4437(line=179, offs=53) */ ATSstaticdec() ats_bool_type name_is_cloptr0_21 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; __ats_lab_name_is_cloptr0_21: tmp41 = atspre_eq_string_string (arg0, ATSstrcst("cloptr")) ; if (tmp41) { tmp40 = ats_true_bool ; } else { tmp40 = atspre_eq_string_string (arg0, ATSstrcst("cloptr0")) ; } /* end of [if] */ return (tmp40) ; } /* end of [name_is_cloptr0_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4441(line=180, offs=4) -- 4496(line=180, offs=59) */ ATSstaticdec() ats_bool_type name_is_cloptr1_22 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp42) ; __ats_lab_name_is_cloptr1_22: tmp42 = atspre_eq_string_string (arg0, ATSstrcst("cloptr1")) ; return (tmp42) ; } /* end of [name_is_cloptr1_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4501(line=182, offs=4) -- 4602(line=183, offs=59) */ ATSstaticdec() ats_bool_type name_is_lincloptr0_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; __ats_lab_name_is_lincloptr0_23: tmp44 = atspre_eq_string_string (arg0, ATSstrcst("lincloptr")) ; if (tmp44) { tmp43 = ats_true_bool ; } else { tmp43 = atspre_eq_string_string (arg0, ATSstrcst("lincloptr0")) ; } /* end of [if] */ return (tmp43) ; } /* end of [name_is_lincloptr0_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4606(line=184, offs=4) -- 4667(line=184, offs=65) */ ATSstaticdec() ats_bool_type name_is_lincloptr1_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp45) ; __ats_lab_name_is_lincloptr1_24: tmp45 = atspre_eq_string_string (arg0, ATSstrcst("lincloptr1")) ; return (tmp45) ; } /* end of [name_is_lincloptr1_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4672(line=186, offs=4) -- 4764(line=187, offs=53) */ ATSstaticdec() ats_bool_type name_is_cloref0_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; __ats_lab_name_is_cloref0_25: tmp47 = atspre_eq_string_string (arg0, ATSstrcst("cloref")) ; if (tmp47) { tmp46 = ats_true_bool ; } else { tmp46 = atspre_eq_string_string (arg0, ATSstrcst("cloref0")) ; } /* end of [if] */ return (tmp46) ; } /* end of [name_is_cloref0_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4768(line=188, offs=4) -- 4823(line=188, offs=59) */ ATSstaticdec() ats_bool_type name_is_cloref1_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp48) ; __ats_lab_name_is_cloref1_26: tmp48 = atspre_eq_string_string (arg0, ATSstrcst("cloref1")) ; return (tmp48) ; } /* end of [name_is_cloref1_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 4872(line=193, offs=14) -- 6147(line=225, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0de: tmp51 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp51) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp53 = name_is_prf_10 (tmp50) ; if (!tmp53) { goto __ats_lab_1_1 ; } tmp52 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGprf_3) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp54 = name_is_clo0_17 (tmp50) ; if (!tmp54) { goto __ats_lab_2_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 0) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp55 = name_is_clo1_18 (tmp50) ; if (!tmp55) { goto __ats_lab_3_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp56 = name_is_linclo0_19 (tmp50) ; if (!tmp56) { goto __ats_lab_4_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 0) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp57 = name_is_linclo1_20 (tmp50) ; if (!tmp57) { goto __ats_lab_5_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 1) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp58 = name_is_cloptr0_21 (tmp50) ; if (!tmp58) { goto __ats_lab_6_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp59 = name_is_cloptr1_22 (tmp50) ; if (!tmp59) { goto __ats_lab_7_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 1) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp60 = name_is_lincloptr0_23 (tmp50) ; if (!tmp60) { goto __ats_lab_8_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp61 = name_is_lincloptr1_24 (tmp50) ; if (!tmp61) { goto __ats_lab_9_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 1) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp62 = name_is_cloref0_25 (tmp50) ; if (!tmp62) { goto __ats_lab_10_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp63 = name_is_cloref1_26 (tmp50) ; if (!tmp63) { goto __ats_lab_11_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp52)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_1, -1) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_2, 1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp64 = name_is_fun0_13 (tmp50) ; if (!tmp64) { goto __ats_lab_12_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp52)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_1, 0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp65 = name_is_fun1_14 (tmp50) ; if (!tmp65) { goto __ats_lab_13_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp52)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_1, 1) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp66 = name_is_linfun0_15 (tmp50) ; if (!tmp66) { goto __ats_lab_14_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp52)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_1, 0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp67 = name_is_linfun1_16 (tmp50) ; if (!tmp67) { goto __ats_lab_15_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp52)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_7, tmp52, atslab_1, 1) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp68 = name_is_lin0_11 (tmp50) ; if (!tmp68) { goto __ats_lab_16_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp52)->tag = 4 ; ats_selptrset_mac(anairiats_sum_8, tmp52, atslab_0, 0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp69 = name_is_lin1_12 (tmp50) ; if (!tmp69) { goto __ats_lab_17_1 ; } tmp52 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp52)->tag = 4 ; ats_selptrset_mac(anairiats_sum_8, tmp52, atslab_0, 1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp52 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp52)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp52, atslab_0, arg0) ; break ; } while (0) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp49 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp49, atslab_e0fftag_loc, tmp70) ; ats_selptrset_mac(anairiats_rec_4, tmp49, atslab_e0fftag_node, tmp52) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6222(line=230, offs=17) -- 6299(line=233, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_var_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_var_fun: tmp72 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp73 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp73)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp73, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_7, tmp73, atslab_1, 0) ; tmp71 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp71, atslab_e0fftag_loc, tmp72) ; ats_selptrset_mac(anairiats_rec_4, tmp71, atslab_e0fftag_node, tmp73) ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_var_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6352(line=236, offs=14) -- 6463(line=240, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0nt: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (arg0) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp77)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp77, atslab_0, tmp75) ; tmp74 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp74, atslab_e0fftag_loc, tmp76) ; ats_selptrset_mac(anairiats_rec_4, tmp74, atslab_e0fftag_node, tmp77) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0fftag_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6583(line=247, offs=11) -- 6599(line=247, offs=27) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_emp () { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_emp: tmp78 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp78)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp78, atslab_0, 0) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_emp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6625(line=250, offs=12) -- 6687(line=252, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0nt: tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (arg0) ; tmp79 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp79)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp79, atslab_0, tmp80) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6735(line=255, offs=12) -- 6755(line=255, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de: tmp81 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp81)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp81, atslab_0, arg0) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6787(line=259, offs=3) -- 6872(line=261, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de_adj (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de_adj: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (arg2) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp82)->tag = 2 ; ats_selptrset_mac(anairiats_sum_10, tmp82, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp82, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp82, atslab_2, tmp83) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0rec_i0de_adj] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 6944(line=266, offs=11) -- 7011(line=268, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0de: tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp86 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp86)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp86, atslab_0, tmp87) ; tmp84 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp84, atslab_e0xp_loc, tmp85) ; ats_selptrset_mac(anairiats_rec_11, tmp84, atslab_e0xp_node, tmp86) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7054(line=271, offs=11) -- 7129(line=274, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt: tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp90)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp90, atslab_0, arg0) ; tmp88 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp88, atslab_e0xp_loc, tmp89) ; ats_selptrset_mac(anairiats_rec_11, tmp88, atslab_e0xp_node, tmp90) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7174(line=277, offs=12) -- 7250(line=280, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har: tmp92 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp93)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp93, atslab_0, arg0) ; tmp91 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_e0xp_loc, tmp92) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_e0xp_node, tmp93) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7297(line=283, offs=13) -- 7374(line=286, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat: tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp96 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp96)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp96, atslab_0, arg0) ; tmp94 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp94, atslab_e0xp_loc, tmp95) ; ats_selptrset_mac(anairiats_rec_11, tmp94, atslab_e0xp_node, tmp96) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7423(line=289, offs=14) -- 7501(line=292, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring: tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp99)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp99, atslab_0, arg0) ; tmp97 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_e0xp_loc, tmp98) ; ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_e0xp_node, tmp99) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7547(line=295, offs=10) -- 7656(line=299, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app: tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_loc) ; tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_loc) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp102, tmp103) ; tmp104 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp104)->tag = 6 ; ats_selptrset_mac(anairiats_sum_12, tmp104, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp104, atslab_1, arg1) ; tmp100 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp100, atslab_e0xp_loc, tmp101) ; ats_selptrset_mac(anairiats_rec_11, tmp100, atslab_e0xp_node, tmp104) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7699(line=302, offs=11) -- 7823(line=308, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_eval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_eval: tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp107, tmp108) ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp109)->tag = 8 ; ats_selptrset_mac(anairiats_sum_9, tmp109, atslab_0, arg1) ; tmp105 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_e0xp_loc, tmp106) ; ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_e0xp_node, tmp109) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_eval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 7867(line=311, offs=11) -- 7993(line=317, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_list (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_list: tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp112, tmp113) ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp114)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp114, atslab_0, arg1) ; tmp110 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp110, atslab_e0xp_loc, tmp111) ; ats_selptrset_mac(anairiats_rec_11, tmp110, atslab_e0xp_node, tmp114) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 8035(line=320, offs=9) -- 8292(line=329, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_if: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp117), atslab_e0xp_loc) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp118, tmp119) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_e0xp_loc) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp120, tmp121) ; break ; } while (0) ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp122)->tag = 10 ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_2, arg3) ; tmp115 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_e0xp_loc, tmp116) ; ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_e0xp_node, tmp122) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 8343(line=332, offs=20) -- 8405(line=334, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid: tmp124 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp124)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp124, atslab_0, arg1) ; tmp123 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp123, atslab_e0xp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp123, atslab_e0xp_node, tmp124) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_make_stringid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 8573(line=341, offs=4) -- 8691(line=345, offs=2) */ ATSstaticdec() ats_ptr_type e0xp_fun_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_e0xp_fun_44: tmp126 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp126)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp126, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp126, atslab_1, arg2) ; tmp125 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp125, atslab_e0xp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp125, atslab_e0xp_node, tmp126) ; return (tmp125) ; } /* end of [e0xp_fun_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 8791(line=351, offs=7) -- 8987(line=356, offs=26) */ ATSstaticdec() ats_bool_type argtest_46 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_argtest_46: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_20_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp129), atslab_e0xp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp131)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: arg0 = tmp130 ; goto __ats_lab_argtest_46 ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp128 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp128 = ats_true_bool ; break ; } while (0) ; return (tmp128) ; } /* end of [argtest_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 9016(line=358, offs=7) -- 9202(line=363, offs=27) */ ATSstaticdec() ats_ptr_type applst_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_applst_47: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp134 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xp_app (arg0, tmp133) ; arg0 = tmp135 ; arg1 = tmp134 ; goto __ats_lab_applst_47 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp132 = arg0 ; break ; } while (0) ; return (tmp132) ; } /* end of [applst_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 9477(line=371, offs=10) -- 9547(line=372, offs=49) */ ATSstaticdec() ats_ptr_type f_49 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_f_49: tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_node) ; if (((ats_sum_ptr_type)tmp144)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 9515(line=372, offs=17) -- 9538(line=372, offs=40)") ; } tmp145 = ats_caselptrlab_mac(anairiats_sum_9, tmp144, atslab_0) ; tmp143 = tmp145 ; return (tmp143) ; } /* end of [f_49] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab_loop_52: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp152 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp150, arg3) ; tmp153 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp153, atslab_0, tmp152) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp153 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp154 = &ats_caselptrlab_mac(anairiats_sum_15, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp151 ; arg1 = arg1 ; arg2 = tmp154 ; arg3 = arg3 ; goto __ats_lab_loop_52 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp155 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp155 ; break ; } while (0) ; return /* (tmp149) */ ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp156 ; */ /* tmp157 = */ loop_52 (arg0, arg1, (&tmp156), arg2) ; tmp148 = tmp156 ; return (tmp148) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp147 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp147) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_54 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_loop_54: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp164 ; goto __ats_lab_loop_54 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: break ; } while (0) ; return /* (tmp163) */ ; } /* end of [loop_54] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp162) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp162 = */ loop_54 (arg0) ; return /* (tmp162) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 9231(line=365, offs=7) -- 9768(line=381, offs=8) */ ATSstaticdec() ats_ptr_type auxfun_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_bool_type, tmp142) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; __ats_lab_auxfun_48: tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp137)->tag != 6) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_12, tmp137, atslab_0) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_12, tmp137, atslab_1) ; tmp140 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp140, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp140, atslab_1, arg3) ; arg0 = arg0 ; arg1 = tmp138 ; arg2 = tmp139 ; arg3 = tmp140 ; arg4 = arg4 ; goto __ats_lab_auxfun_48 ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp137)->tag != 9) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_9, tmp137, atslab_0) ; tmp142 = argtest_46 (tmp141) ; if (!tmp142) { goto __ats_lab_30_1 ; } tmp146 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp141, &f_49) ; tmp158 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp158 ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_loc) ; tmp160 = applst_47 (arg2, arg3) ; tmp136 = e0xp_fun_44 (tmp159, ats_castfn_mac(ats_ptr_type, tmp146), tmp160) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: /* tmp161 = */ list_vt_free_01499_ats_ptr_type (arg3) ; tmp136 = arg0 ; break ; } while (0) ; return (tmp136) ; } /* end of [auxfun_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 8768(line=350, offs=13) -- 9874(line=386, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__e0xp_funize (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__e0xp_funize: tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_node) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp165)->tag != 6) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_12, tmp165, atslab_0) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_12, tmp165, atslab_1) ; tmp168 = (ats_sum_ptr_type)0 ; tmp127 = auxfun_48 (arg0, tmp166, tmp167, tmp168, arg1) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp127 = arg0 ; break ; } while (0) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__e0xp_funize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 9946(line=392, offs=3) -- 9984(line=392, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__datsdef_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__datsdef_make: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp169 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp169, atslab_0, tmp170) ; ats_selptrset_mac(anairiats_sum_15, tmp169, atslab_1, arg1) ; return (tmp169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__datsdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10060(line=399, offs=3) -- 10108(line=401, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label: tmp171 = ATS_MALLOC(sizeof(anairiats_rec_16)) ; ats_selptrset_mac(anairiats_rec_16, tmp171, atslab_l0ab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_16, tmp171, atslab_l0ab_lab, arg1) ; return (tmp171) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10161(line=404, offs=16) -- 10280(line=410, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0de: tmp174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_sym (tmp174) ; tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label (tmp175, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10334(line=413, offs=16) -- 10446(line=418, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0nt: tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (tmp177) ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_label (tmp179, tmp178) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__l0ab_make_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10525(line=424, offs=3) -- 10682(line=433, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_dotlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_dotlab: tmp182 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp183 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_l0ab_loc) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp182, tmp183) ; tmp184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_l0ab_lab) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize (tmp184) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp181, tmp185) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_dotlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10755(line=438, offs=12) -- 10810(line=440, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none: tmp187 = (ats_sum_ptr_type)0 ; tmp186 = ATS_MALLOC(sizeof(anairiats_rec_17)) ; ats_selptrset_mac(anairiats_rec_17, tmp186, atslab_s0rtq_loc, arg0) ; ats_selptrset_mac(anairiats_rec_17, tmp186, atslab_s0rtq_node, tmp187) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 10858(line=443, offs=14) -- 10989(line=447, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_symdot (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_symdot: tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp190, tmp191) ; tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp192 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp192, atslab_0, tmp193) ; tmp188 = ATS_MALLOC(sizeof(anairiats_rec_17)) ; ats_selptrset_mac(anairiats_rec_17, tmp188, atslab_s0rtq_loc, tmp189) ; ats_selptrset_mac(anairiats_rec_17, tmp188, atslab_s0rtq_node, tmp192) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_symdot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11119(line=455, offs=12) -- 11174(line=457, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none: tmp196 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; tmp195 = ATS_MALLOC(sizeof(anairiats_rec_18)) ; ats_selptrset_mac(anairiats_rec_18, tmp195, atslab_s0taq_loc, arg0) ; ats_selptrset_mac(anairiats_rec_18, tmp195, atslab_s0taq_node, tmp196) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11222(line=460, offs=14) -- 11353(line=464, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symdot (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symdot: tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp200 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp199, tmp200) ; tmp202 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp201 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp201)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp201, atslab_0, tmp202) ; tmp197 = ATS_MALLOC(sizeof(anairiats_rec_18)) ; ats_selptrset_mac(anairiats_rec_18, tmp197, atslab_s0taq_loc, tmp198) ; ats_selptrset_mac(anairiats_rec_18, tmp197, atslab_s0taq_node, tmp201) ; return (tmp197) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symdot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11405(line=467, offs=16) -- 11538(line=471, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symcolon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symcolon: tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp206 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp205, tmp206) ; tmp208 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp207 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp207)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp207, atslab_0, tmp208) ; tmp203 = ATS_MALLOC(sizeof(anairiats_rec_18)) ; ats_selptrset_mac(anairiats_rec_18, tmp203, atslab_s0taq_loc, tmp204) ; ats_selptrset_mac(anairiats_rec_18, tmp203, atslab_s0taq_node, tmp207) ; return (tmp203) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symcolon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11591(line=474, offs=15) -- 11653(line=475, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_is_none: tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_s0taq_node) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp210)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp209 = ats_true_bool ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp209 = ats_false_bool ; break ; } while (0) ; return (tmp209) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_is_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11729(line=481, offs=18) -- 11868(line=487, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_none: tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none (tmp212) ; tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp211 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp211, atslab_sqi0de_loc, tmp212) ; ats_selptrset_mac(anairiats_rec_19, tmp211, atslab_sqi0de_qua, tmp213) ; ats_selptrset_mac(anairiats_rec_19, tmp211, atslab_sqi0de_sym, tmp214) ; return (tmp211) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 11928(line=491, offs=3) -- 12065(line=496, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_some (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_some: tmp217 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_s0taq_loc) ; tmp218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp217, tmp218) ; tmp219 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp215 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp215, atslab_sqi0de_loc, tmp216) ; ats_selptrset_mac(anairiats_rec_19, tmp215, atslab_sqi0de_qua, arg0) ; ats_selptrset_mac(anairiats_rec_19, tmp215, atslab_sqi0de_sym, tmp219) ; return (tmp215) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 12199(line=504, offs=12) -- 12254(line=506, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none: tmp222 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; tmp221 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp221, atslab_d0ynq_loc, arg0) ; ats_selptrset_mac(anairiats_rec_20, tmp221, atslab_d0ynq_node, tmp222) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 12302(line=509, offs=14) -- 12433(line=513, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdot (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdot: tmp225 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp226 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp225, tmp226) ; tmp228 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp227 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp227)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp227, atslab_0, tmp228) ; tmp223 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp223, atslab_d0ynq_loc, tmp224) ; ats_selptrset_mac(anairiats_rec_20, tmp223, atslab_d0ynq_node, tmp227) ; return (tmp223) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 12485(line=516, offs=16) -- 12618(line=520, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symcolon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symcolon: tmp231 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp232 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp231, tmp232) ; tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp233 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp233)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp233, atslab_0, tmp234) ; tmp229 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp229, atslab_d0ynq_loc, tmp230) ; ats_selptrset_mac(anairiats_rec_20, tmp229, atslab_d0ynq_node, tmp233) ; return (tmp229) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symcolon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 12677(line=524, offs=3) -- 12835(line=529, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdotcolon (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdotcolon: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp238 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp237, tmp238) ; tmp240 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp241 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp239 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp239)->tag = 3 ; ats_selptrset_mac(anairiats_sum_12, tmp239, atslab_0, tmp240) ; ats_selptrset_mac(anairiats_sum_12, tmp239, atslab_1, tmp241) ; tmp235 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp235, atslab_d0ynq_loc, tmp236) ; ats_selptrset_mac(anairiats_rec_20, tmp235, atslab_d0ynq_node, tmp239) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdotcolon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 12891(line=532, offs=15) -- 12953(line=533, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_is_none: tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_d0ynq_node) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp243)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp242 = ats_true_bool ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp242 = ats_false_bool ; break ; } while (0) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_is_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13029(line=539, offs=18) -- 13168(line=545, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_none: tmp245 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (tmp245) ; tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp244 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp244, atslab_dqi0de_loc, tmp245) ; ats_selptrset_mac(anairiats_rec_21, tmp244, atslab_dqi0de_qua, tmp246) ; ats_selptrset_mac(anairiats_rec_21, tmp244, atslab_dqi0de_sym, tmp247) ; return (tmp244) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13228(line=549, offs=3) -- 13365(line=554, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_some (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_some: tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_d0ynq_loc) ; tmp251 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp250, tmp251) ; tmp252 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp248 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp248, atslab_dqi0de_loc, tmp249) ; ats_selptrset_mac(anairiats_rec_21, tmp248, atslab_dqi0de_qua, arg0) ; ats_selptrset_mac(anairiats_rec_21, tmp248, atslab_dqi0de_sym, tmp252) ; return (tmp248) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13437(line=559, offs=11) -- 13504(line=561, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_i0de: tmp254 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp255)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp255, atslab_0, tmp256) ; tmp253 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp253, atslab_s0rt_loc, tmp254) ; ats_selptrset_mac(anairiats_rec_22, tmp253, atslab_s0rt_node, tmp255) ; return (tmp253) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13546(line=564, offs=10) -- 13677(line=568, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_qid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_qid: tmp259 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_s0rtq_loc) ; tmp260 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp259, tmp260) ; tmp262 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp261)->tag = 1 ; ats_selptrset_mac(anairiats_sum_12, tmp261, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp261, atslab_1, tmp262) ; tmp257 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp257, atslab_s0rt_loc, tmp258) ; ats_selptrset_mac(anairiats_rec_22, tmp257, atslab_s0rt_node, tmp261) ; return (tmp257) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_qid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13719(line=571, offs=10) -- 13828(line=575, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_app: tmp265 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_s0rt_loc) ; tmp266 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_s0rt_loc) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp265, tmp266) ; tmp267 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp267)->tag = 2 ; ats_selptrset_mac(anairiats_sum_12, tmp267, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp267, atslab_1, arg1) ; tmp263 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp263, atslab_s0rt_loc, tmp264) ; ats_selptrset_mac(anairiats_rec_22, tmp263, atslab_s0rt_node, tmp267) ; return (tmp263) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 13871(line=578, offs=11) -- 13999(line=584, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_list (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_list: tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp271 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp270, tmp271) ; tmp272 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp272)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp272, atslab_0, arg1) ; tmp268 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp268, atslab_s0rt_loc, tmp269) ; ats_selptrset_mac(anairiats_rec_22, tmp268, atslab_s0rt_node, tmp272) ; return (tmp268) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 14043(line=587, offs=11) -- 14149(line=591, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_int_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_type: tmp274 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp274)->tag != 78) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 14059(line=588, offs=7) -- 14086(line=588, offs=34)") ; } tmp275 = ats_caselptrlab_mac(anairiats_sum_8, tmp274, atslab_0) ; tmp276 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp277 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp277)->tag = 4 ; ats_selptrset_mac(anairiats_sum_8, tmp277, atslab_0, tmp275) ; tmp273 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp273, atslab_s0rt_loc, tmp276) ; ats_selptrset_mac(anairiats_rec_22, tmp273, atslab_s0rt_node, tmp277) ; return (tmp273) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 14222(line=597, offs=3) -- 14454(line=606, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtcon_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtcon_make: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp281 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp282 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp280), atslab_s0rt_loc) ; tmp279 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp281, tmp282) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp279 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; break ; } while (0) ; tmp283 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp278 = ATS_MALLOC(sizeof(anairiats_rec_23)) ; ats_selptrset_mac(anairiats_rec_23, tmp278, atslab_d0atsrtcon_loc, tmp279) ; ats_selptrset_mac(anairiats_rec_23, tmp278, atslab_d0atsrtcon_sym, tmp283) ; ats_selptrset_mac(anairiats_rec_23, tmp278, atslab_d0atsrtcon_arg, arg1) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtcon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 14538(line=611, offs=7) -- 14720(line=616, offs=52) */ ATSstaticdec() ats_ptr_type loop_82 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab_loop_82: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; arg0 = arg0 ; arg1 = tmp286 ; arg2 = tmp287 ; goto __ats_lab_loop_82 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_d0atsrtcon_loc) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp288, tmp289) ; break ; } while (0) ; return (tmp285) ; } /* end of [loop_82] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 14512(line=610, offs=3) -- 14977(line=626, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtdec_make: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; tmp290 = loop_82 (arg0, tmp291, tmp292) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp293 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp293, tmp294) ; break ; } while (0) ; tmp295 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp284 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp284, atslab_d0atsrtdec_loc, tmp290) ; ats_selptrset_mac(anairiats_rec_24, tmp284, atslab_d0atsrtdec_sym, tmp295) ; ats_selptrset_mac(anairiats_rec_24, tmp284, atslab_d0atsrtdec_con, arg2) ; return (tmp284) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15049(line=631, offs=12) -- 15260(line=638, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, tmp298), atslab_s0rt_loc) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp299, tmp300) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg1 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15077(line=632, offs=14) -- 15161(line=634, offs=29)") ; } __ats_lab_46_1: tmp297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; break ; } while (0) ; tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp296 = ATS_MALLOC(sizeof(anairiats_rec_25)) ; ats_selptrset_mac(anairiats_rec_25, tmp296, atslab_s0arg_loc, tmp297) ; ats_selptrset_mac(anairiats_rec_25, tmp296, atslab_s0arg_sym, tmp301) ; ats_selptrset_mac(anairiats_rec_25, tmp296, atslab_s0arg_srt, arg1) ; return (tmp296) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15332(line=643, offs=17) -- 15395(line=645, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_one (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_one: tmp303 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_s0arg_loc) ; tmp305 = (ats_sum_ptr_type)0 ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp304, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp304, atslab_1, tmp305) ; tmp302 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp302, atslab_s0marg_loc, tmp303) ; ats_selptrset_mac(anairiats_rec_26, tmp302, atslab_s0marg_arg, tmp304) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_one] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15454(line=649, offs=3) -- 15570(line=653, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_many (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_many: tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp308, tmp309) ; tmp306 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp306, atslab_s0marg_loc, tmp307) ; ats_selptrset_mac(anairiats_rec_26, tmp306, atslab_s0marg_arg, arg1) ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_many] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15648(line=658, offs=17) -- 15723(line=661, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_none: tmp311 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_s0rt_loc) ; tmp312 = (ats_sum_ptr_type)0 ; tmp310 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp310, atslab_a0srt_loc, tmp311) ; ats_selptrset_mac(anairiats_rec_27, tmp310, atslab_a0srt_sym, tmp312) ; ats_selptrset_mac(anairiats_rec_27, tmp310, atslab_a0srt_srt, arg0) ; return (tmp310) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15781(line=665, offs=3) -- 15912(line=670, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_some (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_some: tmp315 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp316 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_s0rt_loc) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp315, tmp316) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp317 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp317, atslab_0, tmp318) ; tmp313 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp313, atslab_a0srt_loc, tmp314) ; ats_selptrset_mac(anairiats_rec_27, tmp313, atslab_a0srt_sym, tmp317) ; ats_selptrset_mac(anairiats_rec_27, tmp313, atslab_a0srt_srt, arg1) ; return (tmp313) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 15966(line=674, offs=3) -- 16082(line=678, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0msrt_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0msrt_make: tmp321 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp322 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp321, tmp322) ; tmp319 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp319, atslab_a0msrt_loc, tmp320) ; ats_selptrset_mac(anairiats_rec_28, tmp319, atslab_a0msrt_arg, arg1) ; return (tmp319) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0msrt_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16153(line=683, offs=15) -- 16274(line=687, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arrdim_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arrdim_make: tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp326 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp325, tmp326) ; tmp323 = ATS_MALLOC(sizeof(anairiats_rec_29)) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_s0arrdim_loc, tmp324) ; ats_selptrset_mac(anairiats_rec_29, tmp323, atslab_s0arrdim_dim, arg1) ; return (tmp323) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arrdim_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16319(line=690, offs=13) -- 16386(line=692, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_srt: tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_s0rt_loc) ; tmp329 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp329)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp329, atslab_0, arg0) ; tmp327 = ATS_MALLOC(sizeof(anairiats_rec_30)) ; ats_selptrset_mac(anairiats_rec_30, tmp327, atslab_s0rtext_loc, tmp328) ; ats_selptrset_mac(anairiats_rec_30, tmp327, atslab_s0rtext_node, tmp329) ; return (tmp327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16434(line=695, offs=13) -- 16601(line=701, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_sub (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_sub: tmp332 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp333 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_token_loc) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp332, tmp333) ; tmp334 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp334)->tag = 1 ; ats_selptrset_mac(anairiats_sum_31, tmp334, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp334, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_31, tmp334, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_31, tmp334, atslab_3, arg4) ; tmp330 = ATS_MALLOC(sizeof(anairiats_rec_30)) ; ats_selptrset_mac(anairiats_rec_30, tmp330, atslab_s0rtext_loc, tmp331) ; ats_selptrset_mac(anairiats_rec_30, tmp330, atslab_s0rtext_node, tmp334) ; return (tmp330) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_sub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16648(line=704, offs=12) -- 16714(line=706, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_prop (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_prop: tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg0), atslab_s0exp_loc) ; tmp337 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp337)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp337, atslab_0, arg0) ; tmp335 = ATS_MALLOC(sizeof(anairiats_rec_32)) ; ats_selptrset_mac(anairiats_rec_32, tmp335, atslab_s0qua_loc, tmp336) ; ats_selptrset_mac(anairiats_rec_32, tmp335, atslab_s0qua_node, tmp337) ; return (tmp335) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16737(line=709, offs=12) -- 16869(line=713, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_vars (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_vars: tmp340 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp341 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg2), atslab_s0rtext_loc) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp340, tmp341) ; tmp342 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp342)->tag = 1 ; ats_selptrset_mac(anairiats_sum_14, tmp342, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp342, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp342, atslab_2, arg2) ; tmp338 = ATS_MALLOC(sizeof(anairiats_rec_32)) ; ats_selptrset_mac(anairiats_rec_32, tmp338, atslab_s0qua_loc, tmp339) ; ats_selptrset_mac(anairiats_rec_32, tmp338, atslab_s0qua_node, tmp342) ; return (tmp338) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_vars] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 16939(line=719, offs=3) -- 17055(line=723, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__q0marg_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__q0marg_make: tmp345 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp346 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp345, tmp346) ; tmp343 = ATS_MALLOC(sizeof(anairiats_rec_34)) ; ats_selptrset_mac(anairiats_rec_34, tmp343, atslab_q0marg_loc, tmp344) ; ats_selptrset_mac(anairiats_rec_34, tmp343, atslab_q0marg_arg, arg1) ; return (tmp343) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__q0marg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17123(line=728, offs=17) -- 17199(line=731, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_none: tmp348 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg0), atslab_s0exp_loc) ; tmp349 = (ats_sum_ptr_type)0 ; tmp347 = ATS_MALLOC(sizeof(anairiats_rec_35)) ; ats_selptrset_mac(anairiats_rec_35, tmp347, atslab_a0typ_loc, tmp348) ; ats_selptrset_mac(anairiats_rec_35, tmp347, atslab_a0typ_sym, tmp349) ; ats_selptrset_mac(anairiats_rec_35, tmp347, atslab_a0typ_typ, arg0) ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17257(line=735, offs=3) -- 17389(line=740, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_some (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_some: tmp352 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp353 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp352, tmp353) ; tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp354 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp354, atslab_0, tmp355) ; tmp350 = ATS_MALLOC(sizeof(anairiats_rec_35)) ; ats_selptrset_mac(anairiats_rec_35, tmp350, atslab_a0typ_loc, tmp351) ; ats_selptrset_mac(anairiats_rec_35, tmp350, atslab_a0typ_sym, tmp354) ; ats_selptrset_mac(anairiats_rec_35, tmp350, atslab_a0typ_typ, arg1) ; return (tmp350) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17463(line=745, offs=14) -- 17612(line=750, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tkname (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tkname: tmp357 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp358 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp358)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17507(line=747, offs=7) -- 17539(line=747, offs=39)") ; } tmp359 = ats_caselptrlab_mac(anairiats_sum_9, tmp358, atslab_0) ; tmp361 = (ats_sum_ptr_type)0 ; tmp360 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp360)->tag = 8 ; ats_selptrset_mac(anairiats_sum_12, tmp360, atslab_0, tmp359) ; ats_selptrset_mac(anairiats_sum_12, tmp360, atslab_1, tmp361) ; tmp356 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp356, atslab_s0exp_loc, tmp357) ; ats_selptrset_mac(anairiats_rec_33, tmp356, atslab_s0exp_node, tmp360) ; return (tmp356) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tkname] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17673(line=756, offs=5) -- 17856(line=761, offs=47) */ ATSstaticdec() ats_ptr_type loop_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab_loop_98: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp364 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; arg0 = arg0 ; arg1 = tmp363 ; arg2 = tmp364 ; goto __ats_lab_loop_98 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp365 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp366 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp365, tmp366) ; break ; } while (0) ; return (tmp362) ; } /* end of [loop_98] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17928(line=768, offs=3) -- 18208(line=776, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extype: tmp368 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp368)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 17957(line=769, offs=7) -- 17990(line=769, offs=40)") ; } tmp369 = ats_caselptrlab_mac(anairiats_sum_9, tmp368, atslab_0) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp371 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp372 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp371, tmp372) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp373 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; tmp370 = loop_98 (arg0, tmp373, tmp374) ; break ; } while (0) ; tmp375 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp375)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp375, atslab_0, tmp369) ; ats_selptrset_mac(anairiats_sum_12, tmp375, atslab_1, arg2) ; tmp367 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp367, atslab_s0exp_loc, tmp370) ; ats_selptrset_mac(anairiats_rec_33, tmp367, atslab_s0exp_node, tmp375) ; return (tmp367) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 18263(line=780, offs=3) -- 18544(line=788, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extkind (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extkind: tmp377 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp377)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 18292(line=781, offs=7) -- 18325(line=781, offs=40)") ; } tmp378 = ats_caselptrlab_mac(anairiats_sum_9, tmp377, atslab_0) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp380 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp380, tmp381) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; tmp379 = loop_98 (arg0, tmp382, tmp383) ; break ; } while (0) ; tmp384 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp384)->tag = 8 ; ats_selptrset_mac(anairiats_sum_12, tmp384, atslab_0, tmp378) ; ats_selptrset_mac(anairiats_sum_12, tmp384, atslab_1, arg2) ; tmp376 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp376, atslab_s0exp_loc, tmp379) ; ats_selptrset_mac(anairiats_rec_33, tmp376, atslab_s0exp_node, tmp384) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 18639(line=795, offs=12) -- 18709(line=797, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0de: tmp386 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp388 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp387 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp387)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp387, atslab_0, tmp388) ; tmp385 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp385, atslab_s0exp_loc, tmp386) ; ats_selptrset_mac(anairiats_rec_33, tmp385, atslab_s0exp_node, tmp387) ; return (tmp385) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 18779(line=802, offs=12) -- 18897(line=807, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_opid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_opid: tmp391 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp392 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp391, tmp392) ; tmp394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp393 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp393)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp393, atslab_0, tmp394) ; tmp389 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp389, atslab_s0exp_loc, tmp390) ; ats_selptrset_mac(anairiats_rec_33, tmp389, atslab_s0exp_node, tmp393) ; return (tmp389) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_opid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 18943(line=810, offs=12) -- 19064(line=814, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_sqid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_sqid: tmp397 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_s0taq_loc) ; tmp398 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp397, tmp398) ; tmp400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp399 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp399)->tag = 1 ; ats_selptrset_mac(anairiats_sum_12, tmp399, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp399, atslab_1, tmp400) ; tmp395 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp395, atslab_s0exp_loc, tmp396) ; ats_selptrset_mac(anairiats_rec_33, tmp395, atslab_s0exp_node, tmp399) ; return (tmp395) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_sqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19131(line=819, offs=12) -- 19201(line=822, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0nt: tmp402 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp403 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp403)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp403, atslab_0, arg0) ; tmp401 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp401, atslab_s0exp_loc, tmp402) ; ats_selptrset_mac(anairiats_rec_33, tmp401, atslab_s0exp_node, tmp403) ; return (tmp401) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19248(line=825, offs=13) -- 19319(line=828, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_c0har (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_c0har: tmp405 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp406 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp406)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp406, atslab_0, arg0) ; tmp404 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp404, atslab_s0exp_loc, tmp405) ; ats_selptrset_mac(anairiats_rec_33, tmp404, atslab_s0exp_node, tmp406) ; return (tmp404) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19389(line=833, offs=14) -- 19461(line=836, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_f0loat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_f0loat: tmp408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp409 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp409)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp409, atslab_0, arg0) ; tmp407 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp407, atslab_s0exp_loc, tmp408) ; ats_selptrset_mac(anairiats_rec_33, tmp407, atslab_s0exp_node, tmp409) ; return (tmp407) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19512(line=839, offs=15) -- 19585(line=842, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_s0tring (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_s0tring: tmp411 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp412)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp412, atslab_0, arg0) ; tmp410 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp410, atslab_s0exp_loc, tmp411) ; ats_selptrset_mac(anairiats_rec_33, tmp410, atslab_s0exp_node, tmp412) ; return (tmp410) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19653(line=847, offs=11) -- 19765(line=851, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app: tmp415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg0), atslab_s0exp_loc) ; tmp416 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp415, tmp416) ; tmp417 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp417)->tag = 9 ; ats_selptrset_mac(anairiats_sum_12, tmp417, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp417, atslab_1, arg1) ; tmp413 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp413, atslab_s0exp_loc, tmp414) ; ats_selptrset_mac(anairiats_rec_33, tmp413, atslab_s0exp_node, tmp417) ; return (tmp413) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 19830(line=856, offs=11) -- 19954(line=860, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp: tmp420 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp421 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp419 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp420, tmp421) ; tmp422 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp422)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp422, atslab_0, arg1) ; tmp418 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp418, atslab_s0exp_loc, tmp419) ; ats_selptrset_mac(anairiats_rec_33, tmp418, atslab_s0exp_node, tmp422) ; return (tmp418) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20002(line=863, offs=15) -- 20072(line=865, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp_nil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp_nil: tmp424 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp426 = (ats_sum_ptr_type)0 ; tmp425 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp425)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp425, atslab_0, tmp426) ; tmp423 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp423, atslab_s0exp_loc, tmp424) ; ats_selptrset_mac(anairiats_rec_33, tmp423, atslab_s0exp_node, tmp425) ; return (tmp423) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20124(line=869, offs=4) -- 20264(line=874, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_lam_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; __ats_lab_s0exp_lam_111: tmp428 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp428)->tag = 10 ; ats_selptrset_mac(anairiats_sum_14, tmp428, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp428, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp428, atslab_2, arg3) ; tmp427 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp427, atslab_s0exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_33, tmp427, atslab_s0exp_node, tmp428) ; return (tmp427) ; } /* end of [s0exp_lam_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20395(line=881, offs=7) -- 20644(line=888, offs=54) */ ATSstaticdec() ats_ptr_type aux_113 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; __ats_lab_aux_113: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp435 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp436 = (ats_sum_ptr_type)0 ; tmp437 = aux_113 (env0, env1, env2, tmp434, tmp435) ; tmp433 = s0exp_lam_111 (env2, arg0, tmp436, tmp437) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp433 = s0exp_lam_111 (env2, arg0, env0, env1) ; break ; } while (0) ; return (tmp433) ; } /* end of [aux_113] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_113_closure_type ; ats_ptr_type aux_113_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return aux_113 (((aux_113_closure_type*)cloptr)->closure_env_0, ((aux_113_closure_type*)cloptr)->closure_env_1, ((aux_113_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_113_closure_init (aux_113_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_113_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_113_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_113_closure_type *p_clo = ATS_MALLOC(sizeof(aux_113_closure_type)) ; aux_113_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20309(line=877, offs=12) -- 20752(line=893, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_lams (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_lams: tmp431 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp432 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg3), atslab_s0exp_loc) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp431, tmp432) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp439 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp429 = aux_113 (arg2, arg3, tmp430, tmp438, tmp439) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp429 = arg3 ; break ; } while (0) ; return (tmp429) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_lams] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20819(line=898, offs=12) -- 20944(line=902, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list: tmp442 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp443 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp442, tmp443) ; tmp444 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp444)->tag = 12 ; ats_selptrset_mac(anairiats_sum_9, tmp444, atslab_0, arg1) ; tmp440 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp440, atslab_s0exp_loc, tmp441) ; ats_selptrset_mac(anairiats_rec_33, tmp440, atslab_s0exp_node, tmp444) ; return (tmp440) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 20991(line=905, offs=13) -- 21129(line=909, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list2: tmp447 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp448 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp447, tmp448) ; tmp449 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp449)->tag = 13 ; ats_selptrset_mac(anairiats_sum_12, tmp449, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp449, atslab_1, arg2) ; tmp445 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp445, atslab_s0exp_loc, tmp446) ; ats_selptrset_mac(anairiats_rec_33, tmp445, atslab_s0exp_node, tmp449) ; return (tmp445) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 21198(line=914, offs=13) -- 21353(line=924, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyarr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyarr: tmp452 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp453 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg2), atslab_s0arrdim_loc) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp452, tmp453) ; tmp455 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, arg2), atslab_s0arrdim_dim) ; tmp454 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp454)->tag = 14 ; ats_selptrset_mac(anairiats_sum_12, tmp454, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp454, atslab_1, tmp455) ; tmp450 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp450, atslab_s0exp_loc, tmp451) ; ats_selptrset_mac(anairiats_rec_33, tmp450, atslab_s0exp_node, tmp454) ; return (tmp450) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 21422(line=929, offs=13) -- 21577(line=938, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup: tmp458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp459 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp458, tmp459) ; tmp460 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp460)->tag = 15 ; ats_selptrset_mac(anairiats_sum_36, tmp460, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp460, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp460, atslab_2, arg3) ; tmp456 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp456, atslab_s0exp_loc, tmp457) ; ats_selptrset_mac(anairiats_rec_33, tmp456, atslab_s0exp_node, tmp460) ; return (tmp456) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 21646(line=943, offs=13) -- 21801(line=952, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec: tmp463 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp464 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp463, tmp464) ; tmp465 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp465)->tag = 16 ; ats_selptrset_mac(anairiats_sum_36, tmp465, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp465, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp465, atslab_2, arg3) ; tmp461 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp461, atslab_s0exp_loc, tmp462) ; ats_selptrset_mac(anairiats_rec_33, tmp461, atslab_s0exp_node, tmp465) ; return (tmp461) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 21853(line=955, offs=17) -- 22014(line=964, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext: tmp468 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp468, tmp469) ; tmp470 = ATS_MALLOC(sizeof(anairiats_sum_37)) ; ((ats_sum_ptr_type)tmp470)->tag = 17 ; ats_selptrset_mac(anairiats_sum_37, tmp470, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_37, tmp470, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_37, tmp470, atslab_2, arg3) ; tmp466 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp466, atslab_s0exp_loc, tmp467) ; ats_selptrset_mac(anairiats_rec_33, tmp466, atslab_s0exp_node, tmp470) ; return (tmp466) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22081(line=969, offs=11) -- 22214(line=978, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_uni (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_uni: tmp473 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp474 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp472 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp473, tmp474) ; tmp475 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp475)->tag = 18 ; ats_selptrset_mac(anairiats_sum_9, tmp475, atslab_0, arg1) ; tmp471 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp471, atslab_s0exp_loc, tmp472) ; ats_selptrset_mac(anairiats_rec_33, tmp471, atslab_s0exp_node, tmp475) ; return (tmp471) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_uni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22258(line=981, offs=11) -- 22407(line=990, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi: tmp478 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp479 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp478, tmp479) ; tmp480 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp480)->tag = 19 ; ats_selptrset_mac(anairiats_sum_5, tmp480, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp480, atslab_1, arg2) ; tmp476 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp476, atslab_s0exp_loc, tmp477) ; ats_selptrset_mac(anairiats_rec_33, tmp476, atslab_s0exp_node, tmp480) ; return (tmp476) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22471(line=995, offs=10) -- 22591(line=1001, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_ann (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_ann: tmp483 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg0), atslab_s0exp_loc) ; tmp484 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_s0rt_loc) ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp483, tmp484) ; tmp485 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp485)->tag = 20 ; ats_selptrset_mac(anairiats_sum_12, tmp485, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp485, atslab_1, arg1) ; tmp481 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp481, atslab_s0exp_loc, tmp482) ; ats_selptrset_mac(anairiats_rec_33, tmp481, atslab_s0exp_node, tmp485) ; return (tmp481) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22662(line=1007, offs=3) -- 22799(line=1013, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_d2ctype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_d2ctype: tmp488 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp489 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp487 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp488, tmp489) ; tmp490 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp490)->tag = 21 ; ats_selptrset_mac(anairiats_sum_9, tmp490, atslab_0, arg1) ; tmp486 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp486, atslab_s0exp_loc, tmp487) ; ats_selptrset_mac(anairiats_rec_33, tmp486, atslab_s0exp_node, tmp490) ; return (tmp486) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_d2ctype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22874(line=1019, offs=3) -- 22919(line=1019, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labs0exp_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp491) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labs0exp_make: tmp491 = ATS_MALLOC(sizeof(anairiats_sum_38)) ; ats_selptrset_mac(anairiats_sum_38, tmp491, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_38, tmp491, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_38, tmp491, atslab_2, arg2) ; return (tmp491) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labs0exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 22990(line=1025, offs=13) -- 23126(line=1031, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_dyn: tmp494 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp495 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp493 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp494, tmp495) ; tmp496 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp496)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp496, atslab_0, arg1) ; tmp492 = ATS_MALLOC(sizeof(anairiats_rec_39)) ; ats_selptrset_mac(anairiats_rec_39, tmp492, atslab_m0acarg_loc, tmp493) ; ats_selptrset_mac(anairiats_rec_39, tmp492, atslab_m0acarg_node, tmp496) ; return (tmp492) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 23175(line=1034, offs=14) -- 23251(line=1036, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sing (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sing: tmp498 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp501 = (ats_sum_ptr_type)0 ; tmp500 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp500, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp500, atslab_1, tmp501) ; tmp499 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp499)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp499, atslab_0, tmp500) ; tmp497 = ATS_MALLOC(sizeof(anairiats_rec_39)) ; ats_selptrset_mac(anairiats_rec_39, tmp497, atslab_m0acarg_loc, tmp498) ; ats_selptrset_mac(anairiats_rec_39, tmp497, atslab_m0acarg_node, tmp499) ; return (tmp497) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 23295(line=1039, offs=13) -- 23431(line=1045, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sta: tmp504 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp505 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp503 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp504, tmp505) ; tmp506 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp506)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp506, atslab_0, arg1) ; tmp502 = ATS_MALLOC(sizeof(anairiats_rec_39)) ; ats_selptrset_mac(anairiats_rec_39, tmp502, atslab_m0acarg_loc, tmp503) ; ats_selptrset_mac(anairiats_rec_39, tmp502, atslab_m0acarg_node, tmp506) ; return (tmp502) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acarg_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 23501(line=1050, offs=14) -- 23641(line=1057, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_sta: tmp509 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp510 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp509, tmp510) ; tmp511 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp511)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp511, atslab_0, arg1) ; tmp507 = ATS_MALLOC(sizeof(anairiats_rec_40)) ; ats_selptrset_mac(anairiats_rec_40, tmp507, atslab_d0cstarg_loc, tmp508) ; ats_selptrset_mac(anairiats_rec_40, tmp507, atslab_d0cstarg_node, tmp511) ; return (tmp507) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 23691(line=1060, offs=14) -- 23841(line=1067, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn: tmp514 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp515 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp514, tmp515) ; tmp516 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp516)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp516, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp516, atslab_1, arg2) ; tmp512 = ATS_MALLOC(sizeof(anairiats_rec_40)) ; ats_selptrset_mac(anairiats_rec_40, tmp512, atslab_d0cstarg_loc, tmp513) ; ats_selptrset_mac(anairiats_rec_40, tmp512, atslab_d0cstarg_node, tmp516) ; return (tmp512) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 23912(line=1072, offs=14) -- 24190(line=1084, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtdef_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtdef_make: tmp519 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp520 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, arg1), atslab_s0rtext_loc) ; tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp519, tmp520) ; tmp521 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp517 = ATS_MALLOC(sizeof(anairiats_rec_41)) ; ats_selptrset_mac(anairiats_rec_41, tmp517, atslab_s0rtdef_loc, tmp518) ; ats_selptrset_mac(anairiats_rec_41, tmp517, atslab_s0rtdef_sym, tmp521) ; ats_selptrset_mac(anairiats_rec_41, tmp517, atslab_s0rtdef_def, arg1) ; return (tmp517) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtdef_make] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51232(line=1817, offs=5) -- 51354(line=1819, offs=58) */ ATSstaticdec() ats_ptr_type loop_134 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; __ats_lab_loop_134: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; arg0 = tmp532 ; arg1 = tmp533 ; goto __ats_lab_loop_134 ; // tail call break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp531 = arg0 ; break ; } while (0) ; return (tmp531) ; } /* end of [loop_134] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51194(line=1813, offs=11) -- 51390(line=1823, offs=2) */ ATSstaticdec() ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; __ats_lab_list_last_01407_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp534 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp535 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp530 = loop_134 (tmp534, tmp535) ; return (tmp530) ; } /* end of [list_last_01407_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51601(line=1833, offs=15) -- 51690(line=1835, offs=27) */ ATSstaticdec() ats_ptr_type list_last_opt_01409_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; __ats_lab_list_last_opt_01409_ats_ptr_type: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_59_1: tmp529 = list_last_01407_ats_ptr_type (arg0) ; tmp528 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp528, atslab_0, tmp529) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp528 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp528) ; } /* end of [list_last_opt_01409_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 24263(line=1090, offs=3) -- 24659(line=1104, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacon_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacon_make: tmp523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp525 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp526 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp525), atslab_s0exp_loc) ; tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp523, tmp526) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp527 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp527 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp536 = ats_caselptrlab_mac(anairiats_sum_13, tmp527, atslab_0) ; ATS_FREE(tmp527) ; tmp537 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp536), atslab_a0msrt_loc) ; tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp523, tmp537) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (tmp527 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp524 = tmp523 ; break ; } while (0) ; break ; } while (0) ; tmp538 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp522 = ATS_MALLOC(sizeof(anairiats_rec_42)) ; ats_selptrset_mac(anairiats_rec_42, tmp522, atslab_s0tacon_loc, tmp524) ; ats_selptrset_mac(anairiats_rec_42, tmp522, atslab_s0tacon_sym, tmp538) ; ats_selptrset_mac(anairiats_rec_42, tmp522, atslab_s0tacon_arg, arg1) ; ats_selptrset_mac(anairiats_rec_42, tmp522, atslab_s0tacon_def, arg2) ; return (tmp522) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 24742(line=1110, offs=3) -- 24897(line=1117, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacst_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacst_make: tmp541 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp542 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg2), atslab_s0rt_loc) ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp541, tmp542) ; tmp543 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp539 = ATS_MALLOC(sizeof(anairiats_rec_43)) ; ats_selptrset_mac(anairiats_rec_43, tmp539, atslab_s0tacst_loc, tmp540) ; ats_selptrset_mac(anairiats_rec_43, tmp539, atslab_s0tacst_sym, tmp543) ; ats_selptrset_mac(anairiats_rec_43, tmp539, atslab_s0tacst_arg, arg1) ; ats_selptrset_mac(anairiats_rec_43, tmp539, atslab_s0tacst_res, arg2) ; return (tmp539) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0tacst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 25213(line=1140, offs=3) -- 25427(line=1149, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0kindef_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0kindef_make: tmp545 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp547 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp545, tmp547) ; tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tkname (arg1) ; tmp549 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp544 = ATS_MALLOC(sizeof(anairiats_rec_44)) ; ats_selptrset_mac(anairiats_rec_44, tmp544, atslab_t0kindef_loc, tmp546) ; ats_selptrset_mac(anairiats_rec_44, tmp544, atslab_t0kindef_sym, tmp549) ; ats_selptrset_mac(anairiats_rec_44, tmp544, atslab_t0kindef_loc_id, tmp545) ; ats_selptrset_mac(anairiats_rec_44, tmp544, atslab_t0kindef_def, tmp548) ; return (tmp544) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0kindef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 25500(line=1154, offs=15) -- 25736(line=1166, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0expdef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0expdef_make: tmp551 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp553 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg3), atslab_s0exp_loc) ; tmp552 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp551, tmp553) ; tmp554 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp550 = ATS_MALLOC(sizeof(anairiats_rec_45)) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_loc, tmp552) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_sym, tmp554) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_loc_id, tmp551) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_arg, arg1) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_res, arg2) ; ats_selptrset_mac(anairiats_rec_45, tmp550, atslab_s0expdef_def, arg3) ; return (tmp550) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0expdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 25809(line=1171, offs=15) -- 25994(line=1181, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0aspdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0aspdec_make: tmp557 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_sqi0de_loc) ; tmp558 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg3), atslab_s0exp_loc) ; tmp556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp557, tmp558) ; tmp555 = ATS_MALLOC(sizeof(anairiats_rec_46)) ; ats_selptrset_mac(anairiats_rec_46, tmp555, atslab_s0aspdec_loc, tmp556) ; ats_selptrset_mac(anairiats_rec_46, tmp555, atslab_s0aspdec_qid, arg0) ; ats_selptrset_mac(anairiats_rec_46, tmp555, atslab_s0aspdec_arg, arg1) ; ats_selptrset_mac(anairiats_rec_46, tmp555, atslab_s0aspdec_res, arg2) ; ats_selptrset_mac(anairiats_rec_46, tmp555, atslab_s0aspdec_def, arg3) ; return (tmp555) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0aspdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 26068(line=1187, offs=3) -- 26478(line=1202, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xndec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xndec_make: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp561 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp560 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, tmp561), atslab_q0marg_loc) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp560 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; break ; } while (0) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp563 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp564 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp563), atslab_s0exp_loc) ; tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp560, tmp564) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: tmp562 = tmp560 ; break ; } while (0) ; tmp565 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp566 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp559 = ATS_MALLOC(sizeof(anairiats_rec_47)) ; ats_selptrset_mac(anairiats_rec_47, tmp559, atslab_e0xndec_loc, tmp562) ; ats_selptrset_mac(anairiats_rec_47, tmp559, atslab_e0xndec_fil, tmp565) ; ats_selptrset_mac(anairiats_rec_47, tmp559, atslab_e0xndec_sym, tmp566) ; ats_selptrset_mac(anairiats_rec_47, tmp559, atslab_e0xndec_qua, arg0) ; ats_selptrset_mac(anairiats_rec_47, tmp559, atslab_e0xndec_arg, arg2) ; return (tmp559) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xndec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 26551(line=1208, offs=3) -- 27027(line=1233, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atcon_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atcon_make: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp568 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp569 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp568 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, tmp569), atslab_q0marg_loc) ; break ; } while (0) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp571 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp572 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp571), atslab_s0exp_loc) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp568, tmp572) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp573 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp574 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp573), atslab_s0exp_loc) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp568, tmp574) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp570 = tmp568 ; break ; } while (0) ; break ; } while (0) ; tmp575 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp567 = ATS_MALLOC(sizeof(anairiats_rec_48)) ; ats_selptrset_mac(anairiats_rec_48, tmp567, atslab_d0atcon_loc, tmp570) ; ats_selptrset_mac(anairiats_rec_48, tmp567, atslab_d0atcon_sym, tmp575) ; ats_selptrset_mac(anairiats_rec_48, tmp567, atslab_d0atcon_qua, arg0) ; ats_selptrset_mac(anairiats_rec_48, tmp567, atslab_d0atcon_arg, arg3) ; ats_selptrset_mac(anairiats_rec_48, tmp567, atslab_d0atcon_ind, arg2) ; return (tmp567) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atcon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 27098(line=1238, offs=14) -- 27639(line=1260, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atdec_make: tmp577 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp579 = list_last_opt_01409_ats_ptr_type (arg2) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp579 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp580 = ats_caselptrlab_mac(anairiats_sum_13, tmp579, atslab_0) ; ATS_FREE(tmp579) ; tmp581 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_48, tmp580), atslab_d0atcon_loc) ; tmp578 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp577, tmp581) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp579 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp578 = tmp577 ; break ; } while (0) ; tmp583 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp583 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp584 = ats_caselptrlab_mac(anairiats_sum_13, tmp583, atslab_0) ; ATS_FREE(tmp583) ; tmp585 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, tmp584), atslab_a0msrt_loc) ; tmp582 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp577, tmp585) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp583 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp582 = tmp577 ; break ; } while (0) ; tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp587 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp576 = ATS_MALLOC(sizeof(anairiats_rec_49)) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_loc, tmp578) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_loc_hd, tmp582) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_fil, tmp586) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_sym, tmp587) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_arg, arg1) ; ats_selptrset_mac(anairiats_rec_49, tmp576, atslab_d0atdec_con, arg2) ; return (tmp576) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 27712(line=1265, offs=16) -- 27767(line=1266, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_sta (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_sta: tmp589 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg0) ; tmp588 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp588)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp588, atslab_0, tmp589) ; return (tmp588) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 27821(line=1271, offs=18) -- 27883(line=1273, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_ext (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp590) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_ext: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp590 = ats_true_bool ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: __ats_lab_80_1: tmp590 = ats_false_bool ; break ; } while (0) ; return (tmp590) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_ext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 27943(line=1276, offs=18) -- 28005(line=1278, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mac (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp591) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mac: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp591 = ats_true_bool ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp591 = ats_false_bool ; break ; } while (0) ; return (tmp591) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mac] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 28065(line=1281, offs=18) -- 28127(line=1283, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_sta (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp592) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_sta: do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp592 = ats_true_bool ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: tmp592 = ats_false_bool ; break ; } while (0) ; return (tmp592) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 28216(line=1289, offs=23) -- 28452(line=1304, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mainats (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mainats: do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp594 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp593 = patsopt_string_test_prefix (tmp594, ATSstrcst("mainats")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp593 = ats_false_bool ; break ; } while (0) ; return (tmp593) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dcstextdef_is_mainats] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 28533(line=1310, offs=1) -- 28931(line=1327, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstdec_make: tmp596 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp598 = ats_caselptrlab_mac(anairiats_sum_13, arg4, atslab_0) ; tmp599 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp600 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp598), atslab_token_loc) ; tmp597 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp599, tmp600) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_88_1: tmp601 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp602 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg3), atslab_s0exp_loc) ; tmp597 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp601, tmp602) ; break ; } while (0) ; tmp603 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp595 = ATS_MALLOC(sizeof(anairiats_rec_50)) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_loc, tmp597) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_fil, tmp596) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_sym, tmp603) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_arg, arg1) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_eff, arg2) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_res, arg3) ; ats_selptrset_mac(anairiats_rec_50, tmp595, atslab_d0cstdec_extopt, arg4) ; return (tmp595) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29000(line=1332, offs=11) -- 29066(line=1334, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0de (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0de: tmp605 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp607 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp606 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp606)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp606, atslab_0, tmp607) ; tmp604 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp604, atslab_p0at_loc, tmp605) ; ats_selptrset_mac(anairiats_rec_51, tmp604, atslab_p0at_node, tmp606) ; return (tmp604) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29113(line=1337, offs=11) -- 29244(line=1341, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_dqid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_dqid: tmp610 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_d0ynq_loc) ; tmp611 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp609 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp610, tmp611) ; tmp613 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp612 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp612)->tag = 1 ; ats_selptrset_mac(anairiats_sum_12, tmp612, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp612, atslab_1, tmp613) ; tmp608 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp608, atslab_p0at_loc, tmp609) ; ats_selptrset_mac(anairiats_rec_51, tmp608, atslab_p0at_node, tmp612) ; return (tmp608) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_dqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29287(line=1344, offs=11) -- 29402(line=1348, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_opid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_opid: tmp616 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp617 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp615 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp616, tmp617) ; tmp619 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp618 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp618)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp618, atslab_0, tmp619) ; tmp614 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp614, atslab_p0at_loc, tmp615) ; ats_selptrset_mac(anairiats_rec_51, tmp614, atslab_p0at_node, tmp618) ; return (tmp614) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_opid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29467(line=1353, offs=11) -- 29530(line=1355, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0nt: tmp621 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp622 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp622)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp622, atslab_0, arg0) ; tmp620 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp620, atslab_p0at_loc, tmp621) ; ats_selptrset_mac(anairiats_rec_51, tmp620, atslab_p0at_node, tmp622) ; return (tmp620) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29552(line=1357, offs=12) -- 29616(line=1359, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_c0har (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_c0har: tmp624 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp625 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp625)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp625, atslab_0, arg0) ; tmp623 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp623, atslab_p0at_loc, tmp624) ; ats_selptrset_mac(anairiats_rec_51, tmp623, atslab_p0at_node, tmp625) ; return (tmp623) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29639(line=1361, offs=13) -- 29704(line=1363, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_f0loat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_ptr_type, tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_f0loat: tmp627 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp628 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp628)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp628, atslab_0, arg0) ; tmp626 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp626, atslab_p0at_loc, tmp627) ; ats_selptrset_mac(anairiats_rec_51, tmp626, atslab_p0at_node, tmp628) ; return (tmp626) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29728(line=1365, offs=14) -- 29794(line=1367, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_s0tring (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_s0tring: tmp630 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp631 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp631)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp631, atslab_0, arg0) ; tmp629 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp629, atslab_p0at_loc, tmp630) ; ats_selptrset_mac(anairiats_rec_51, tmp629, atslab_p0at_node, tmp631) ; return (tmp629) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 29836(line=1372, offs=10) -- 29956(line=1376, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; ATSlocal (ats_ptr_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_app: tmp634 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp635 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg1), atslab_p0at_loc) ; tmp633 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp634, tmp635) ; tmp636 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp636)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp636, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp636, atslab_1, arg1) ; tmp632 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp632, atslab_p0at_loc, tmp633) ; ats_selptrset_mac(anairiats_rec_51, tmp632, atslab_p0at_node, tmp636) ; return (tmp632) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 30022(line=1382, offs=3) -- 30155(line=1386, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list: tmp639 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp640 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp639, tmp640) ; tmp641 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp641)->tag = 8 ; ats_selptrset_mac(anairiats_sum_5, tmp641, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp641, atslab_1, arg2) ; tmp637 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp637, atslab_p0at_loc, tmp638) ; ats_selptrset_mac(anairiats_rec_51, tmp637, atslab_p0at_node, tmp641) ; return (tmp637) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 30219(line=1392, offs=1) -- 30359(line=1398, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_lst (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_lst: tmp644 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp645 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp643 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp644, tmp645) ; tmp646 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp646)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp646, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp646, atslab_1, arg2) ; tmp642 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp642, atslab_p0at_loc, tmp643) ; ats_selptrset_mac(anairiats_rec_51, tmp642, atslab_p0at_node, tmp646) ; return (tmp642) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 30601(line=1416, offs=10) -- 30747(line=1422, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup: tmp649 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp650 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp648 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp649, tmp650) ; tmp651 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp651)->tag = 10 ; ats_selptrset_mac(anairiats_sum_36, tmp651, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp651, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp651, atslab_2, arg3) ; tmp647 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp647, atslab_p0at_loc, tmp648) ; ats_selptrset_mac(anairiats_rec_51, tmp647, atslab_p0at_node, tmp651) ; return (tmp647) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 30789(line=1425, offs=10) -- 30935(line=1431, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec: tmp654 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp655 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp653 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp654, tmp655) ; tmp656 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp656)->tag = 11 ; ats_selptrset_mac(anairiats_sum_36, tmp656, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp656, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp656, atslab_2, arg3) ; tmp652 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp652, atslab_p0at_loc, tmp653) ; ats_selptrset_mac(anairiats_rec_51, tmp652, atslab_p0at_node, tmp656) ; return (tmp652) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 30999(line=1436, offs=11) -- 31118(line=1440, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_free (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp657) ; ATSlocal (ats_ptr_type, tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_free: tmp659 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp660 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg1), atslab_p0at_loc) ; tmp658 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp659, tmp660) ; tmp661 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp661)->tag = 12 ; ats_selptrset_mac(anairiats_sum_9, tmp661, atslab_0, arg1) ; tmp657 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp657, atslab_p0at_loc, tmp658) ; ats_selptrset_mac(anairiats_rec_51, tmp657, atslab_p0at_node, tmp661) ; return (tmp657) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 31164(line=1443, offs=13) -- 31285(line=1447, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_unfold (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_ptr_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_unfold: tmp664 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp665 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg1), atslab_p0at_loc) ; tmp663 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp664, tmp665) ; tmp666 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp666)->tag = 13 ; ats_selptrset_mac(anairiats_sum_9, tmp666, atslab_0, arg1) ; tmp662 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp662, atslab_p0at_loc, tmp663) ; ats_selptrset_mac(anairiats_rec_51, tmp662, atslab_p0at_node, tmp666) ; return (tmp662) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_unfold] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 31357(line=1453, offs=3) -- 31485(line=1457, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_svararg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_svararg: tmp669 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp670 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp668 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp669, tmp670) ; tmp671 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp671)->tag = 15 ; ats_selptrset_mac(anairiats_sum_9, tmp671, atslab_0, arg1) ; tmp667 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp667, atslab_p0at_loc, tmp668) ; ats_selptrset_mac(anairiats_rec_51, tmp667, atslab_p0at_node, tmp671) ; return (tmp667) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_svararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 31535(line=1461, offs=3) -- 31661(line=1465, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_exist: tmp674 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp675 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp673 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp674, tmp675) ; tmp676 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp676)->tag = 14 ; ats_selptrset_mac(anairiats_sum_9, tmp676, atslab_0, arg1) ; tmp672 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp672, atslab_p0at_loc, tmp673) ; ats_selptrset_mac(anairiats_rec_51, tmp672, atslab_p0at_node, tmp676) ; return (tmp672) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 31728(line=1470, offs=12) -- 32074(line=1486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_refas (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp677) ; ATSlocal (ats_ptr_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; // ATSlocal_void (tmp687) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_refas: tmp678 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp680 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg1), atslab_p0at_loc) ; tmp679 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp678, tmp680) ; tmp681 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_node) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp681)->tag != 0) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp682 = ats_caselptrlab_mac(anairiats_sum_9, tmp681, atslab_0) ; tmp683 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp683)->tag = 16 ; ats_selptrset_mac(anairiats_sum_14, tmp683, atslab_0, tmp682) ; ats_selptrset_mac(anairiats_sum_14, tmp683, atslab_1, tmp678) ; ats_selptrset_mac(anairiats_sum_14, tmp683, atslab_2, arg1) ; tmp677 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp677, atslab_p0at_loc, tmp679) ; ats_selptrset_mac(anairiats_rec_51, tmp677, atslab_p0at_node, tmp683) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: __ats_lab_90_1: tmp685 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp686 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_as_74) ; tmp684 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make (tmp685, tmp686) ; /* tmp687 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add (tmp684) ; tmp677 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_err (tmp679) ; break ; } while (0) ; return (tmp677) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32136(line=1491, offs=10) -- 32251(line=1495, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_ann (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_ann: tmp690 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp691 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp689 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp690, tmp691) ; tmp692 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp692)->tag = 17 ; ats_selptrset_mac(anairiats_sum_12, tmp692, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp692, atslab_1, arg1) ; tmp688 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp688, atslab_p0at_loc, tmp689) ; ats_selptrset_mac(anairiats_rec_51, tmp688, atslab_p0at_node, tmp692) ; return (tmp688) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32314(line=1500, offs=10) -- 32364(line=1502, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_err: tmp694 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18) ; tmp693 = ATS_MALLOC(sizeof(anairiats_rec_51)) ; ats_selptrset_mac(anairiats_rec_51, tmp693, atslab_p0at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_51, tmp693, atslab_p0at_node, tmp694) ; return (tmp693) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32410(line=1507, offs=14) -- 32523(line=1511, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_norm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp695) ; ATSlocal (ats_ptr_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_ptr_type, tmp699) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_norm: tmp697 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_l0ab_loc) ; tmp698 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg1), atslab_p0at_loc) ; tmp696 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp697, tmp698) ; tmp699 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp699, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp699, atslab_1, arg1) ; tmp695 = ATS_MALLOC(sizeof(anairiats_rec_52)) ; ats_selptrset_mac(anairiats_rec_52, tmp695, atslab_labp0at_loc, tmp696) ; ats_selptrset_mac(anairiats_rec_52, tmp695, atslab_labp0at_node, tmp699) ; return (tmp695) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_norm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32573(line=1514, offs=14) -- 32644(line=1516, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_omit (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp700) ; ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_omit: tmp701 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp702 = (ats_sum_ptr_type)0 ; tmp700 = ATS_MALLOC(sizeof(anairiats_rec_52)) ; ats_selptrset_mac(anairiats_rec_52, tmp700, atslab_labp0at_loc, tmp701) ; ats_selptrset_mac(anairiats_rec_52, tmp700, atslab_labp0at_node, tmp702) ; return (tmp700) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_omit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32725(line=1522, offs=3) -- 32755(line=1522, offs=33) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_none () { /* local vardec */ ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_none: tmp704 = (ats_sum_ptr_type)0 ; tmp703 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp703)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp703, atslab_0, tmp704) ; return (tmp703) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32824(line=1527, offs=3) -- 32864(line=1527, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp705) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_some: tmp705 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp705)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp705, atslab_0, arg1) ; return (tmp705) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_sarglst_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 32924(line=1531, offs=20) -- 32953(line=1531, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_svararglst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp706) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_svararglst: tmp706 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp706)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp706, atslab_0, arg0) ; return (tmp706) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mparg_svararglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 33003(line=1537, offs=3) -- 33271(line=1546, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0mpmarg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0mpmarg_make: tmp708 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp710 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (tmp710 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp711 = ats_caselptrlab_mac(anairiats_sum_13, tmp710, atslab_0) ; ATS_FREE(tmp710) ; tmp712 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp711), atslab_s0exp_loc) ; tmp709 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp708, tmp712) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (tmp710 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: tmp709 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost (tmp708) ; break ; } while (0) ; tmp707 = ATS_MALLOC(sizeof(anairiats_rec_53)) ; ats_selptrset_mac(anairiats_rec_53, tmp707, atslab_t0mpmarg_loc, tmp709) ; ats_selptrset_mac(anairiats_rec_53, tmp707, atslab_t0mpmarg_arg, arg1) ; return (tmp707) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0mpmarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 33328(line=1549, offs=20) -- 33461(line=1554, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_none: tmp714 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_loc) ; tmp715 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_qua) ; tmp716 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_sym) ; tmp717 = (ats_sum_ptr_type)0 ; tmp713 = ATS_MALLOC(sizeof(anairiats_rec_54)) ; ats_selptrset_mac(anairiats_rec_54, tmp713, atslab_impqi0de_loc, tmp714) ; ats_selptrset_mac(anairiats_rec_54, tmp713, atslab_impqi0de_qua, tmp715) ; ats_selptrset_mac(anairiats_rec_54, tmp713, atslab_impqi0de_sym, tmp716) ; ats_selptrset_mac(anairiats_rec_54, tmp713, atslab_impqi0de_arg, tmp717) ; return (tmp713) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 33525(line=1558, offs=3) -- 33731(line=1566, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_some: tmp719 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_loc) ; tmp721 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp720 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp719, tmp721) ; tmp722 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_qua) ; tmp723 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_sym) ; tmp718 = ATS_MALLOC(sizeof(anairiats_rec_54)) ; ats_selptrset_mac(anairiats_rec_54, tmp718, atslab_impqi0de_loc, tmp720) ; ats_selptrset_mac(anairiats_rec_54, tmp718, atslab_impqi0de_qua, tmp722) ; ats_selptrset_mac(anairiats_rec_54, tmp718, atslab_impqi0de_sym, tmp723) ; ats_selptrset_mac(anairiats_rec_54, tmp718, atslab_impqi0de_arg, arg1) ; return (tmp718) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__impqi0de_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 33806(line=1571, offs=11) -- 33872(line=1573, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp724) ; ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn: tmp725 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp726 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp726)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp726, atslab_0, arg0) ; tmp724 = ATS_MALLOC(sizeof(anairiats_rec_55)) ; ats_selptrset_mac(anairiats_rec_55, tmp724, atslab_f0arg_loc, tmp725) ; ats_selptrset_mac(anairiats_rec_55, tmp724, atslab_f0arg_node, tmp726) ; return (tmp724) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 33897(line=1577, offs=3) -- 34026(line=1581, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp727) ; ATSlocal (ats_ptr_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta1: tmp729 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp730 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp728 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp729, tmp730) ; tmp731 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp731)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp731, atslab_0, arg1) ; tmp727 = ATS_MALLOC(sizeof(anairiats_rec_55)) ; ats_selptrset_mac(anairiats_rec_55, tmp727, atslab_f0arg_loc, tmp728) ; ats_selptrset_mac(anairiats_rec_55, tmp727, atslab_f0arg_node, tmp731) ; return (tmp727) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34074(line=1585, offs=3) -- 34203(line=1589, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta2: tmp734 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp735 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp733 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp734, tmp735) ; tmp736 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp736)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp736, atslab_0, arg1) ; tmp732 = ATS_MALLOC(sizeof(anairiats_rec_55)) ; ats_selptrset_mac(anairiats_rec_55, tmp732, atslab_f0arg_loc, tmp733) ; ats_selptrset_mac(anairiats_rec_55, tmp732, atslab_f0arg_node, tmp736) ; return (tmp732) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34250(line=1593, offs=3) -- 34381(line=1597, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; ATSlocal (ats_ptr_type, tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met: tmp739 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp740 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp738 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp739, tmp740) ; tmp741 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp741)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp741, atslab_0, arg1) ; tmp737 = ATS_MALLOC(sizeof(anairiats_rec_55)) ; ats_selptrset_mac(anairiats_rec_55, tmp737, atslab_f0arg_loc, tmp738) ; ats_selptrset_mac(anairiats_rec_55, tmp737, atslab_f0arg_node, tmp741) ; return (tmp737) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34429(line=1600, offs=15) -- 34502(line=1602, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met_nil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met_nil: tmp743 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp745 = (ats_sum_ptr_type)0 ; tmp744 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp744)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp744, atslab_0, tmp745) ; tmp742 = ATS_MALLOC(sizeof(anairiats_rec_55)) ; ats_selptrset_mac(anairiats_rec_55, tmp742, atslab_f0arg_loc, tmp743) ; ats_selptrset_mac(anairiats_rec_55, tmp742, atslab_f0arg_node, tmp744) ; return (tmp742) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34580(line=1607, offs=17) -- 34638(line=1609, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_dot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp746) ; ATSlocal (ats_ptr_type, tmp747) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_dot: tmp747 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp746 = ATS_MALLOC(sizeof(anairiats_rec_56)) ; ats_selptrset_mac(anairiats_rec_56, tmp746, atslab_s0elop_loc, tmp747) ; ats_selptrset_mac(anairiats_rec_56, tmp746, atslab_s0elop_knd, 0) ; return (tmp746) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_dot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34669(line=1611, offs=21) -- 34727(line=1613, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_minusgt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_minusgt: tmp749 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp748 = ATS_MALLOC(sizeof(anairiats_rec_56)) ; ats_selptrset_mac(anairiats_rec_56, tmp748, atslab_s0elop_loc, tmp749) ; ats_selptrset_mac(anairiats_rec_56, tmp748, atslab_s0elop_knd, 1) ; return (tmp748) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_minusgt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 34773(line=1618, offs=14) -- 34990(line=1625, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvarg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_ptr_type, tmp755) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvarg_make: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp752 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp753 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp754 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp752), atslab_s0exp_loc) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp753, tmp754) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp751 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; break ; } while (0) ; tmp755 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp750 = ATS_MALLOC(sizeof(anairiats_rec_57)) ; ats_selptrset_mac(anairiats_rec_57, tmp750, atslab_i0nvarg_loc, tmp751) ; ats_selptrset_mac(anairiats_rec_57, tmp750, atslab_i0nvarg_sym, tmp755) ; ats_selptrset_mac(anairiats_rec_57, tmp750, atslab_i0nvarg_typ, arg1) ; return (tmp750) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 35071(line=1630, offs=24) -- 35166(line=1633, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; ATSlocal (ats_ptr_type, tmp758) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none: tmp757 = (ats_sum_ptr_type)0 ; tmp758 = (ats_sum_ptr_type)0 ; tmp756 = ATS_MALLOC(sizeof(anairiats_rec_58)) ; ats_selptrset_mac(anairiats_rec_58, tmp756, atslab_i0nvresstate_loc, arg0) ; ats_selptrset_mac(anairiats_rec_58, tmp756, atslab_i0nvresstate_qua, tmp757) ; ats_selptrset_mac(anairiats_rec_58, tmp756, atslab_i0nvresstate_arg, tmp758) ; return (tmp756) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 35238(line=1637, offs=3) -- 35397(line=1642, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp759) ; ATSlocal (ats_ptr_type, tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_some: tmp761 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp762 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp760 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp761, tmp762) ; tmp759 = ATS_MALLOC(sizeof(anairiats_rec_58)) ; ats_selptrset_mac(anairiats_rec_58, tmp759, atslab_i0nvresstate_loc, tmp760) ; ats_selptrset_mac(anairiats_rec_58, tmp759, atslab_i0nvresstate_qua, arg1) ; ats_selptrset_mac(anairiats_rec_58, tmp759, atslab_i0nvresstate_arg, arg2) ; return (tmp759) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 35474(line=1647, offs=15) -- 35585(line=1654, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loopi0nv_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp763) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loopi0nv_make: tmp763 = ATS_MALLOC(sizeof(anairiats_rec_59)) ; ats_selptrset_mac(anairiats_rec_59, tmp763, atslab_loopi0nv_qua, arg0) ; ats_selptrset_mac(anairiats_rec_59, tmp763, atslab_loopi0nv_met, arg1) ; ats_selptrset_mac(anairiats_rec_59, tmp763, atslab_loopi0nv_arg, arg2) ; ats_selptrset_mac(anairiats_rec_59, tmp763, atslab_loopi0nv_res, arg3) ; return (tmp763) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loopi0nv_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 35658(line=1660, offs=3) -- 35874(line=1668, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__ifhead_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp764) ; ATSlocal (ats_ptr_type, tmp765) ; ATSlocal (ats_ptr_type, tmp766) ; ATSlocal (ats_ptr_type, tmp767) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__ifhead_make: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp766 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp765 = tmp766 ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_96_1: tmp767 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp765 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp767) ; break ; } while (0) ; tmp764 = ATS_MALLOC(sizeof(anairiats_rec_60)) ; ats_selptrset_mac(anairiats_rec_60, tmp764, atslab_ifhead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_60, tmp764, atslab_ifhead_inv, tmp765) ; return (tmp764) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__ifhead_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 35925(line=1672, offs=3) -- 36146(line=1680, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sifhead_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_ptr_type, tmp771) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sifhead_make: do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp770 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp769 = tmp770 ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp771 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp769 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp771) ; break ; } while (0) ; tmp768 = ATS_MALLOC(sizeof(anairiats_rec_61)) ; ats_selptrset_mac(anairiats_rec_61, tmp768, atslab_sifhead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_61, tmp768, atslab_sifhead_inv, tmp769) ; return (tmp768) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sifhead_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 36220(line=1686, offs=3) -- 36446(line=1694, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__casehead_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp772) ; ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_ptr_type, tmp774) ; ATSlocal (ats_ptr_type, tmp775) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__casehead_make: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp774 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp773 = tmp774 ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp775 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp773 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp775) ; break ; } while (0) ; tmp772 = ATS_MALLOC(sizeof(anairiats_rec_62)) ; ats_selptrset_mac(anairiats_rec_62, tmp772, atslab_casehead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_62, tmp772, atslab_casehead_inv, tmp773) ; return (tmp772) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__casehead_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 36501(line=1698, offs=3) -- 36732(line=1706, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__scasehead_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__scasehead_make: do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp778 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp777 = tmp778 ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp779 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp777 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp779) ; break ; } while (0) ; tmp776 = ATS_MALLOC(sizeof(anairiats_rec_63)) ; ats_selptrset_mac(anairiats_rec_63, tmp776, atslab_scasehead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_63, tmp776, atslab_scasehead_inv, tmp777) ; return (tmp776) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__scasehead_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 36813(line=1712, offs=3) -- 36874(line=1714, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp780) ; ATSlocal (ats_ptr_type, tmp781) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none: tmp781 = (ats_sum_ptr_type)0 ; tmp780 = ATS_MALLOC(sizeof(anairiats_rec_64)) ; ats_selptrset_mac(anairiats_rec_64, tmp780, atslab_loophead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_64, tmp780, atslab_loophead_inv, tmp781) ; return (tmp780) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 36938(line=1718, offs=3) -- 37074(line=1722, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_ptr_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some: tmp784 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp785 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp783 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp784, tmp785) ; tmp786 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp786, atslab_0, arg1) ; tmp782 = ATS_MALLOC(sizeof(anairiats_rec_64)) ; ats_selptrset_mac(anairiats_rec_64, tmp782, atslab_loophead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_64, tmp782, atslab_loophead_inv, tmp786) ; return (tmp782) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 37153(line=1728, offs=3) -- 37376(line=1736, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__tryhead_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (ats_ptr_type, tmp788) ; ATSlocal (ats_ptr_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__tryhead_make: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp789 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp788 = tmp789 ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp790 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp788 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp790) ; break ; } while (0) ; tmp787 = ATS_MALLOC(sizeof(anairiats_rec_65)) ; ats_selptrset_mac(anairiats_rec_65, tmp787, atslab_tryhead_tok, arg0) ; ats_selptrset_mac(anairiats_rec_65, tmp787, atslab_tryhead_inv, tmp788) ; return (tmp787) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__tryhead_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 37497(line=1745, offs=11) -- 37567(line=1747, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp791) ; ATSlocal (ats_ptr_type, tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide: tmp792 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp794 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp793 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp793)->tag = 0 ; ats_selptrset_mac(anairiats_sum_9, tmp793, atslab_0, tmp794) ; tmp791 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp791, atslab_d0exp_loc, tmp792) ; ats_selptrset_mac(anairiats_rec_66, tmp791, atslab_d0exp_node, tmp793) ; return (tmp791) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 37612(line=1750, offs=12) -- 37729(line=1754, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_opid (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp795) ; ATSlocal (ats_ptr_type, tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_opid: tmp797 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp798 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp796 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp797, tmp798) ; tmp800 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp799 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp799)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp799, atslab_0, tmp800) ; tmp795 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp795, atslab_d0exp_loc, tmp796) ; ats_selptrset_mac(anairiats_rec_66, tmp795, atslab_d0exp_node, tmp799) ; return (tmp795) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_opid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 37775(line=1757, offs=12) -- 37908(line=1761, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_ptr_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid: tmp802 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_qua) ; tmp803 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_sym) ; tmp804 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_loc) ; tmp805 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp805)->tag = 1 ; ats_selptrset_mac(anairiats_sum_12, tmp805, atslab_0, tmp802) ; ats_selptrset_mac(anairiats_sum_12, tmp805, atslab_1, tmp803) ; tmp801 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp801, atslab_d0exp_loc, tmp804) ; ats_selptrset_mac(anairiats_rec_66, tmp801, atslab_d0exp_node, tmp805) ; return (tmp801) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 37976(line=1766, offs=13) -- 38048(line=1768, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_idext (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp809) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_idext: tmp807 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp809 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp808 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp808)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp808, atslab_0, tmp809) ; tmp806 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp806, atslab_d0exp_loc, tmp807) ; ats_selptrset_mac(anairiats_rec_66, tmp806, atslab_d0exp_node, tmp808) ; return (tmp806) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_idext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38116(line=1773, offs=12) -- 38186(line=1776, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_i0nt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_ptr_type, tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_i0nt: tmp811 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp812 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp812)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp812, atslab_0, arg0) ; tmp810 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp810, atslab_d0exp_loc, tmp811) ; ats_selptrset_mac(anairiats_rec_66, tmp810, atslab_d0exp_node, tmp812) ; return (tmp810) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38233(line=1779, offs=13) -- 38304(line=1782, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_c0har (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (ats_ptr_type, tmp814) ; ATSlocal (ats_ptr_type, tmp815) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_c0har: tmp814 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp815 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp815)->tag = 5 ; ats_selptrset_mac(anairiats_sum_9, tmp815, atslab_0, arg0) ; tmp813 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp813, atslab_d0exp_loc, tmp814) ; ats_selptrset_mac(anairiats_rec_66, tmp813, atslab_d0exp_node, tmp815) ; return (tmp813) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38353(line=1785, offs=14) -- 38425(line=1788, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_f0loat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp816) ; ATSlocal (ats_ptr_type, tmp817) ; ATSlocal (ats_ptr_type, tmp818) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_f0loat: tmp817 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp818 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp818)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp818, atslab_0, arg0) ; tmp816 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp816, atslab_d0exp_loc, tmp817) ; ats_selptrset_mac(anairiats_rec_66, tmp816, atslab_d0exp_node, tmp818) ; return (tmp816) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38476(line=1791, offs=15) -- 38549(line=1794, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_s0tring (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp819) ; ATSlocal (ats_ptr_type, tmp820) ; ATSlocal (ats_ptr_type, tmp821) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_s0tring: tmp820 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp821 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp821)->tag = 7 ; ats_selptrset_mac(anairiats_sum_9, tmp821, atslab_0, arg0) ; tmp819 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp819, atslab_d0exp_loc, tmp820) ; ats_selptrset_mac(anairiats_rec_66, tmp819, atslab_d0exp_node, tmp821) ; return (tmp819) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38620(line=1799, offs=13) -- 38674(line=1801, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_empty: tmp823 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; tmp822 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp822, atslab_d0exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_66, tmp822, atslab_d0exp_node, tmp823) ; return (tmp822) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38719(line=1806, offs=13) -- 38796(line=1809, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFIL (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_ptr_type, tmp826) ; ATSlocal (ats_ptr_type, tmp827) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFIL: tmp825 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp827 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; tmp826 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp826)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp826, atslab_0, tmp827) ; tmp824 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp824, atslab_d0exp_loc, tmp825) ; ats_selptrset_mac(anairiats_rec_66, tmp824, atslab_d0exp_node, tmp826) ; return (tmp824) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFIL] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38820(line=1812, offs=13) -- 38897(line=1815, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYLOC (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp828) ; ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_ptr_type, tmp831) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYLOC: tmp829 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp831 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; tmp830 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp830)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp830, atslab_0, tmp831) ; tmp828 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp828, atslab_d0exp_loc, tmp829) ; ats_selptrset_mac(anairiats_rec_66, tmp828, atslab_d0exp_node, tmp830) ; return (tmp828) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYLOC] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 38921(line=1818, offs=13) -- 38998(line=1821, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFUN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; ATSlocal (ats_ptr_type, tmp834) ; ATSlocal (ats_ptr_type, tmp835) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFUN: tmp833 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp835 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; tmp834 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp834)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp834, atslab_0, tmp835) ; tmp832 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp832, atslab_d0exp_loc, tmp833) ; ats_selptrset_mac(anairiats_rec_66, tmp832, atslab_d0exp_node, tmp834) ; return (tmp832) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFUN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39047(line=1827, offs=3) -- 39183(line=1834, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_literal (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp836) ; ATSlocal (ats_ptr_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; ATSlocal (ats_ptr_type, tmp839) ; ATSlocal (ats_ptr_type, tmp840) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_literal: tmp838 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp839 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp837 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp838, tmp839) ; tmp840 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp840)->tag = 10 ; ats_selptrset_mac(anairiats_sum_9, tmp840, atslab_0, arg1) ; tmp836 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp836, atslab_d0exp_loc, tmp837) ; ats_selptrset_mac(anairiats_rec_66, tmp836, atslab_d0exp_node, tmp840) ; return (tmp836) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_literal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39255(line=1840, offs=1) -- 39444(line=1851, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; ATSlocal (ats_ptr_type, tmp843) ; ATSlocal (ats_ptr_type, tmp844) ; ATSlocal (ats_ptr_type, tmp845) ; ATSlocal (ats_ptr_type, tmp846) ; ATSlocal (ats_ptr_type, tmp847) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extval: tmp842 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_node) ; if (((ats_sum_ptr_type)tmp842)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39299(line=1844, offs=5) -- 39329(line=1844, offs=35)") ; } tmp843 = ats_caselptrlab_mac(anairiats_sum_9, tmp842, atslab_0) ; tmp845 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp846 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp844 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp845, tmp846) ; tmp847 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp847)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp847, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp847, atslab_1, tmp843) ; tmp841 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp841, atslab_d0exp_loc, tmp844) ; ats_selptrset_mac(anairiats_rec_66, tmp841, atslab_d0exp_node, tmp847) ; return (tmp841) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39496(line=1854, offs=16) -- 39699(line=1862, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp848) ; ATSlocal (ats_ptr_type, tmp849) ; ATSlocal (ats_ptr_type, tmp850) ; ATSlocal (ats_ptr_type, tmp851) ; ATSlocal (ats_ptr_type, tmp852) ; ATSlocal (ats_ptr_type, tmp853) ; ATSlocal (ats_ptr_type, tmp854) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extfcall: tmp849 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_node) ; if (((ats_sum_ptr_type)tmp849)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39546(line=1857, offs=7) -- 39578(line=1857, offs=39)") ; } tmp850 = ats_caselptrlab_mac(anairiats_sum_9, tmp849, atslab_0) ; tmp852 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp853 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp851 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp852, tmp853) ; tmp854 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp854)->tag = 12 ; ats_selptrset_mac(anairiats_sum_14, tmp854, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp854, atslab_1, tmp850) ; ats_selptrset_mac(anairiats_sum_14, tmp854, atslab_2, arg3) ; tmp848 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp848, atslab_d0exp_loc, tmp851) ; ats_selptrset_mac(anairiats_rec_66, tmp848, atslab_d0exp_node, tmp854) ; return (tmp848) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39753(line=1866, offs=1) -- 39968(line=1874, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp855) ; ATSlocal (ats_ptr_type, tmp856) ; ATSlocal (ats_ptr_type, tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_ptr_type, tmp861) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extmcall: tmp856 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_node) ; if (((ats_sum_ptr_type)tmp856)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 39809(line=1869, offs=7) -- 39841(line=1869, offs=39)") ; } tmp857 = ats_caselptrlab_mac(anairiats_sum_9, tmp856, atslab_0) ; tmp859 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp860 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_token_loc) ; tmp858 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp859, tmp860) ; tmp861 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp861)->tag = 13 ; ats_selptrset_mac(anairiats_sum_31, tmp861, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp861, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_31, tmp861, atslab_2, tmp857) ; ats_selptrset_mac(anairiats_sum_31, tmp861, atslab_3, arg4) ; tmp855 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp855, atslab_d0exp_loc, tmp858) ; ats_selptrset_mac(anairiats_rec_66, tmp855, atslab_d0exp_node, tmp861) ; return (tmp855) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 40043(line=1880, offs=3) -- 40309(line=1892, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp862) ; ATSlocal (ats_ptr_type, tmp863) ; ATSlocal (ats_ptr_type, tmp864) ; ATSlocal (ats_ptr_type, tmp865) ; ATSlocal (ats_ptr_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; ATSlocal (ats_ptr_type, tmp868) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_foldat: tmp863 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (tmp863 != (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp864 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (tmp863 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: tmp865 = ats_caselptrlab_mac(anairiats_sum_13, tmp863, atslab_0) ; ATS_FREE(tmp863) ; tmp866 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp867 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, tmp865), atslab_d0exp_loc) ; tmp864 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp866, tmp867) ; break ; } while (0) ; tmp868 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp868)->tag = 14 ; ats_selptrset_mac(anairiats_sum_9, tmp868, atslab_0, arg1) ; tmp862 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp862, atslab_d0exp_loc, tmp864) ; ats_selptrset_mac(anairiats_rec_66, tmp862, atslab_d0exp_node, tmp868) ; return (tmp862) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 40364(line=1896, offs=3) -- 40636(line=1910, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp869) ; ATSlocal (ats_ptr_type, tmp870) ; ATSlocal (ats_ptr_type, tmp871) ; ATSlocal (ats_ptr_type, tmp872) ; ATSlocal (ats_ptr_type, tmp873) ; ATSlocal (ats_ptr_type, tmp874) ; ATSlocal (ats_ptr_type, tmp875) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_freeat: tmp870 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (tmp870 != (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp871 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (tmp870 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp872 = ats_caselptrlab_mac(anairiats_sum_13, tmp870, atslab_0) ; ATS_FREE(tmp870) ; tmp873 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp874 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, tmp872), atslab_d0exp_loc) ; tmp871 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp873, tmp874) ; break ; } while (0) ; tmp875 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp875)->tag = 15 ; ats_selptrset_mac(anairiats_sum_9, tmp875, atslab_0, arg1) ; tmp869 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp869, atslab_d0exp_loc, tmp871) ; ats_selptrset_mac(anairiats_rec_66, tmp869, atslab_d0exp_node, tmp875) ; return (tmp869) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_freeat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 40711(line=1916, offs=3) -- 40863(line=1921, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp876) ; ATSlocal (ats_ptr_type, tmp877) ; ATSlocal (ats_ptr_type, tmp878) ; ATSlocal (ats_ptr_type, tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid: tmp877 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_loc) ; tmp879 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp878 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp877, tmp879) ; tmp880 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp880)->tag = 16 ; ats_selptrset_mac(anairiats_sum_12, tmp880, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp880, atslab_1, arg1) ; tmp876 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp876, atslab_d0exp_loc, tmp878) ; ats_selptrset_mac(anairiats_rec_66, tmp876, atslab_d0exp_node, tmp880) ; return (tmp876) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 40934(line=1926, offs=15) -- 41127(line=1933, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_let_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp881) ; ATSlocal (ats_ptr_type, tmp882) ; ATSlocal (ats_ptr_type, tmp883) ; ATSlocal (ats_ptr_type, tmp884) ; ATSlocal (ats_ptr_type, tmp885) ; ATSlocal (ats_ptr_type, tmp886) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_let_seq: tmp883 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp884 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp882 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp883, tmp884) ; tmp885 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg2, arg3, arg4) ; tmp886 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp886)->tag = 17 ; ats_selptrset_mac(anairiats_sum_12, tmp886, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp886, atslab_1, tmp885) ; tmp881 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp881, atslab_d0exp_loc, tmp882) ; ats_selptrset_mac(anairiats_rec_66, tmp881, atslab_d0exp_node, tmp886) ; return (tmp881) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_let_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 41181(line=1937, offs=3) -- 41309(line=1941, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_declseq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp887) ; ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_ptr_type, tmp889) ; ATSlocal (ats_ptr_type, tmp890) ; ATSlocal (ats_ptr_type, tmp891) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_declseq: tmp889 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp890 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp888 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp889, tmp890) ; tmp891 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp891)->tag = 18 ; ats_selptrset_mac(anairiats_sum_9, tmp891, atslab_0, arg1) ; tmp887 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp887, atslab_d0exp_loc, tmp888) ; ats_selptrset_mac(anairiats_rec_66, tmp887, atslab_d0exp_node, tmp891) ; return (tmp887) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_declseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 41382(line=1947, offs=3) -- 41513(line=1951, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_where (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp892) ; ATSlocal (ats_ptr_type, tmp893) ; ATSlocal (ats_ptr_type, tmp894) ; ATSlocal (ats_ptr_type, tmp895) ; ATSlocal (ats_ptr_type, tmp896) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_where: tmp894 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg0), atslab_d0exp_loc) ; tmp895 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp893 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp894, tmp895) ; tmp896 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp896)->tag = 19 ; ats_selptrset_mac(anairiats_sum_12, tmp896, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp896, atslab_1, arg1) ; tmp892 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp892, atslab_d0exp_loc, tmp893) ; ats_selptrset_mac(anairiats_rec_66, tmp892, atslab_d0exp_node, tmp896) ; return (tmp892) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_where] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 41580(line=1956, offs=11) -- 41704(line=1960, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; ATSlocal (ats_ptr_type, tmp899) ; ATSlocal (ats_ptr_type, tmp900) ; ATSlocal (ats_ptr_type, tmp901) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app: tmp899 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg0), atslab_d0exp_loc) ; tmp900 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp898 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp899, tmp900) ; tmp901 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp901)->tag = 20 ; ats_selptrset_mac(anairiats_sum_12, tmp901, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp901, atslab_1, arg1) ; tmp897 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp897, atslab_d0exp_loc, tmp898) ; ats_selptrset_mac(anairiats_rec_66, tmp897, atslab_d0exp_node, tmp901) ; return (tmp897) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 41772(line=1966, offs=3) -- 41907(line=1970, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp902) ; ATSlocal (ats_ptr_type, tmp903) ; ATSlocal (ats_ptr_type, tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; ATSlocal (ats_ptr_type, tmp906) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list: tmp904 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp905 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp903 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp904, tmp905) ; tmp906 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp906)->tag = 21 ; ats_selptrset_mac(anairiats_sum_5, tmp906, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp906, atslab_1, arg2) ; tmp902 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp902, atslab_d0exp_loc, tmp903) ; ats_selptrset_mac(anairiats_rec_66, tmp902, atslab_d0exp_node, tmp906) ; return (tmp902) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 41976(line=1975, offs=14) -- 42270(line=1986, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp907) ; ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_ptr_type, tmp909) ; ATSlocal (ats_ptr_type, tmp910) ; ATSlocal (ats_ptr_type, tmp911) ; ATSlocal (ats_ptr_type, tmp912) ; ATSlocal (ats_ptr_type, tmp913) ; ATSlocal (ats_ptr_type, tmp914) ; ATSlocal (ats_ptr_type, tmp915) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ifhead: tmp908 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_60, arg0), atslab_ifhead_tok) ; do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp910 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp911 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp908), atslab_token_loc) ; tmp912 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, tmp910), atslab_d0exp_loc) ; tmp909 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp911, tmp912) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp913 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp908), atslab_token_loc) ; tmp914 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp909 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp913, tmp914) ; break ; } while (0) ; tmp915 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp915)->tag = 22 ; ats_selptrset_mac(anairiats_sum_31, tmp915, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_31, tmp915, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp915, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_31, tmp915, atslab_3, arg3) ; tmp907 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp907, atslab_d0exp_loc, tmp909) ; ats_selptrset_mac(anairiats_rec_66, tmp907, atslab_d0exp_node, tmp915) ; return (tmp907) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 42321(line=1989, offs=15) -- 42511(line=1997, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sifhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp916) ; ATSlocal (ats_ptr_type, tmp917) ; ATSlocal (ats_ptr_type, tmp918) ; ATSlocal (ats_ptr_type, tmp919) ; ATSlocal (ats_ptr_type, tmp920) ; ATSlocal (ats_ptr_type, tmp921) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sifhead: tmp917 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_61, arg0), atslab_sifhead_tok) ; tmp919 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp917), atslab_token_loc) ; tmp920 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg3), atslab_d0exp_loc) ; tmp918 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp919, tmp920) ; tmp921 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp921)->tag = 23 ; ats_selptrset_mac(anairiats_sum_31, tmp921, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_31, tmp921, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp921, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_31, tmp921, atslab_3, arg3) ; tmp916 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp916, atslab_d0exp_loc, tmp918) ; ats_selptrset_mac(anairiats_rec_66, tmp916, atslab_d0exp_node, tmp921) ; return (tmp916) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 42585(line=2002, offs=16) -- 42912(line=2014, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_casehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp922) ; ATSlocal (ats_ptr_type, tmp923) ; ATSlocal (ats_ptr_type, tmp924) ; ATSlocal (ats_ptr_type, tmp925) ; ATSlocal (ats_ptr_type, tmp926) ; ATSlocal (ats_ptr_type, tmp927) ; ATSlocal (ats_ptr_type, tmp928) ; ATSlocal (ats_ptr_type, tmp929) ; ATSlocal (ats_ptr_type, tmp930) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_casehead: tmp923 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_62, arg0), atslab_casehead_tok) ; tmp924 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp923), atslab_token_loc) ; tmp926 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (tmp926 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp927 = ats_caselptrlab_mac(anairiats_sum_13, tmp926, atslab_0) ; ATS_FREE(tmp926) ; tmp928 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_67, tmp927), atslab_c0lau_loc) ; tmp925 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp924, tmp928) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (tmp926 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp929 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp925 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp924, tmp929) ; break ; } while (0) ; tmp930 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp930)->tag = 24 ; ats_selptrset_mac(anairiats_sum_14, tmp930, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp930, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp930, atslab_2, arg3) ; tmp922 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp922, atslab_d0exp_loc, tmp925) ; ats_selptrset_mac(anairiats_rec_66, tmp922, atslab_d0exp_node, tmp930) ; return (tmp922) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_casehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 42967(line=2017, offs=17) -- 43300(line=2029, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_scasehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp931) ; ATSlocal (ats_ptr_type, tmp932) ; ATSlocal (ats_ptr_type, tmp933) ; ATSlocal (ats_ptr_type, tmp934) ; ATSlocal (ats_ptr_type, tmp935) ; ATSlocal (ats_ptr_type, tmp936) ; ATSlocal (ats_ptr_type, tmp937) ; ATSlocal (ats_ptr_type, tmp938) ; ATSlocal (ats_ptr_type, tmp939) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_scasehead: tmp932 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_63, arg0), atslab_scasehead_tok) ; tmp933 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp932), atslab_token_loc) ; tmp935 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (tmp935 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp936 = ats_caselptrlab_mac(anairiats_sum_13, tmp935, atslab_0) ; ATS_FREE(tmp935) ; tmp937 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_68, tmp936), atslab_sc0lau_loc) ; tmp934 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp933, tmp937) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (tmp935 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp938 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp934 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp933, tmp938) ; break ; } while (0) ; tmp939 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp939)->tag = 25 ; ats_selptrset_mac(anairiats_sum_14, tmp939, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp939, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp939, atslab_2, arg3) ; tmp931 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp931, atslab_d0exp_loc, tmp934) ; ats_selptrset_mac(anairiats_rec_66, tmp931, atslab_d0exp_node, tmp939) ; return (tmp931) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_scasehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 43371(line=2034, offs=11) -- 43535(line=2040, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lam (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp940) ; ATSlocal (ats_ptr_type, tmp941) ; ATSlocal (ats_ptr_type, tmp942) ; ATSlocal (ats_ptr_type, tmp943) ; ATSlocal (ats_ptr_type, tmp944) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lam: tmp942 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp943 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg5), atslab_d0exp_loc) ; tmp941 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp942, tmp943) ; tmp944 = ATS_MALLOC(sizeof(anairiats_sum_69)) ; ((ats_sum_ptr_type)tmp944)->tag = 46 ; ats_selptrset_mac(anairiats_sum_69, tmp944, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_69, tmp944, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_69, tmp944, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_69, tmp944, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_69, tmp944, atslab_4, arg5) ; tmp940 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp940, atslab_d0exp_loc, tmp941) ; ats_selptrset_mac(anairiats_rec_66, tmp940, atslab_d0exp_node, tmp944) ; return (tmp940) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 43579(line=2043, offs=11) -- 43753(line=2049, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_fix (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp945) ; ATSlocal (ats_ptr_type, tmp946) ; ATSlocal (ats_ptr_type, tmp947) ; ATSlocal (ats_ptr_type, tmp948) ; ATSlocal (ats_ptr_type, tmp949) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_fix: tmp947 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp948 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg6), atslab_d0exp_loc) ; tmp946 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp947, tmp948) ; tmp949 = ATS_MALLOC(sizeof(anairiats_sum_70)) ; ((ats_sum_ptr_type)tmp949)->tag = 47 ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_4, arg5) ; ats_selptrset_mac(anairiats_sum_70, tmp949, atslab_5, arg6) ; tmp945 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp945, atslab_d0exp_loc, tmp946) ; ats_selptrset_mac(anairiats_rec_66, tmp945, atslab_d0exp_node, tmp949) ; return (tmp945) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 43822(line=2055, offs=3) -- 43950(line=2059, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_delay (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp950) ; ATSlocal (ats_ptr_type, tmp951) ; ATSlocal (ats_ptr_type, tmp952) ; ATSlocal (ats_ptr_type, tmp953) ; ATSlocal (ats_ptr_type, tmp954) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_delay: tmp952 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp953 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp951 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp952, tmp953) ; tmp954 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp954)->tag = 48 ; ats_selptrset_mac(anairiats_sum_5, tmp954, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp954, atslab_1, arg2) ; tmp950 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp950, atslab_d0exp_loc, tmp951) ; ats_selptrset_mac(anairiats_rec_66, tmp950, atslab_d0exp_node, tmp954) ; return (tmp950) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 44017(line=2065, offs=1) -- 44235(line=2072, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp955) ; ATSlocal (ats_ptr_type, tmp956) ; ATSlocal (ats_ptr_type, tmp957) ; ATSlocal (ats_ptr_type, tmp958) ; ATSlocal (ats_ptr_type, tmp959) ; ATSlocal (ats_ptr_type, tmp960) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst: tmp957 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp958 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg5), atslab_token_loc) ; tmp956 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp957, tmp958) ; tmp959 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list (arg3, -1, arg4, arg5) ; tmp960 = ATS_MALLOC(sizeof(anairiats_sum_71)) ; ((ats_sum_ptr_type)tmp960)->tag = 26 ; ats_selptrset_mac(anairiats_sum_71, tmp960, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_71, tmp960, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_71, tmp960, atslab_2, tmp959) ; tmp955 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp955, atslab_d0exp_loc, tmp956) ; ats_selptrset_mac(anairiats_rec_66, tmp955, atslab_d0exp_node, tmp960) ; return (tmp955) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 44287(line=2076, offs=3) -- 44372(line=2077, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst_quote (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp961) ; ATSlocal (ats_ptr_type, tmp962) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst_quote: tmp962 = (ats_sum_ptr_type)0 ; tmp961 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst (0, arg0, tmp962, arg0, arg1, arg2) ; return (tmp961) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst_quote] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 44443(line=2083, offs=11) -- 44591(line=2089, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp963) ; ATSlocal (ats_ptr_type, tmp964) ; ATSlocal (ats_ptr_type, tmp965) ; ATSlocal (ats_ptr_type, tmp966) ; ATSlocal (ats_ptr_type, tmp967) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup: tmp965 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp966 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp964 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp965, tmp966) ; tmp967 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp967)->tag = 27 ; ats_selptrset_mac(anairiats_sum_36, tmp967, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp967, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp967, atslab_2, arg3) ; tmp963 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp963, atslab_d0exp_loc, tmp964) ; ats_selptrset_mac(anairiats_rec_66, tmp963, atslab_d0exp_node, tmp967) ; return (tmp963) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 44635(line=2092, offs=11) -- 44783(line=2098, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp968) ; ATSlocal (ats_ptr_type, tmp969) ; ATSlocal (ats_ptr_type, tmp970) ; ATSlocal (ats_ptr_type, tmp971) ; ATSlocal (ats_ptr_type, tmp972) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec: tmp970 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp971 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp969 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp970, tmp971) ; tmp972 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp972)->tag = 28 ; ats_selptrset_mac(anairiats_sum_36, tmp972, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp972, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_36, tmp972, atslab_2, arg3) ; tmp968 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp968, atslab_d0exp_loc, tmp969) ; ats_selptrset_mac(anairiats_rec_66, tmp968, atslab_d0exp_node, tmp972) ; return (tmp968) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 44851(line=2103, offs=14) -- 45023(line=2109, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrsub (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp973) ; ATSlocal (ats_ptr_type, tmp974) ; ATSlocal (ats_ptr_type, tmp975) ; ATSlocal (ats_ptr_type, tmp976) ; ATSlocal (ats_ptr_type, tmp977) ; ATSlocal (ats_ptr_type, tmp978) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrsub: tmp974 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_loc) ; tmp976 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_dqi0de_loc) ; tmp975 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp976, tmp974) ; tmp978 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_ind) ; tmp977 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp977)->tag = 30 ; ats_selptrset_mac(anairiats_sum_14, tmp977, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp977, atslab_1, tmp974) ; ats_selptrset_mac(anairiats_sum_14, tmp977, atslab_2, tmp978) ; tmp973 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp973, atslab_d0exp_loc, tmp975) ; ats_selptrset_mac(anairiats_rec_66, tmp973, atslab_d0exp_node, tmp977) ; return (tmp973) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 45074(line=2112, offs=15) -- 45230(line=2118, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp979) ; ATSlocal (ats_ptr_type, tmp980) ; ATSlocal (ats_ptr_type, tmp981) ; ATSlocal (ats_ptr_type, tmp982) ; ATSlocal (ats_ptr_type, tmp983) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrinit: tmp981 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp982 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp980 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp981, tmp982) ; tmp983 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp983)->tag = 32 ; ats_selptrset_mac(anairiats_sum_14, tmp983, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp983, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp983, atslab_2, arg3) ; tmp979 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp979, atslab_d0exp_loc, tmp980) ; ats_selptrset_mac(anairiats_rec_66, tmp979, atslab_d0exp_node, tmp983) ; return (tmp979) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 45281(line=2121, offs=14) -- 45597(line=2133, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp984) ; ATSlocal (ats_ptr_type, tmp985) ; ATSlocal (ats_ptr_type, tmp986) ; ATSlocal (ats_ptr_type, tmp987) ; ATSlocal (ats_ptr_type, tmp988) ; ATSlocal (ats_ptr_type, tmp989) ; ATSlocal (ats_ptr_type, tmp990) ; ATSlocal (ats_ptr_type, tmp991) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrpsz: tmp986 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp987 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp985 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp986, tmp987) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } tmp989 = ats_caselptrlab_mac(anairiats_sum_15, arg3, atslab_1) ; if (tmp989 != (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp990 = ats_caselptrlab_mac(anairiats_sum_15, arg3, atslab_0) ; tmp988 = tmp990 ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp988 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list (arg2, -1, arg3, arg4) ; break ; } while (0) ; tmp991 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp991)->tag = 31 ; ats_selptrset_mac(anairiats_sum_12, tmp991, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp991, atslab_1, tmp988) ; tmp984 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp984, atslab_d0exp_loc, tmp985) ; ats_selptrset_mac(anairiats_rec_66, tmp984, atslab_d0exp_node, tmp991) ; return (tmp984) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 45667(line=2139, offs=3) -- 45889(line=2147, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp992) ; ATSlocal (ats_ptr_type, tmp993) ; ATSlocal (ats_ptr_type, tmp994) ; ATSlocal (ats_ptr_type, tmp995) ; ATSlocal (ats_ptr_type, tmp996) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq: tmp994 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp995 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp993 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp994, tmp995) ; do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp996 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp996)->tag = 29 ; ats_selptrset_mac(anairiats_sum_9, tmp996, atslab_0, arg1) ; tmp992 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp992, atslab_d0exp_loc, tmp993) ; ats_selptrset_mac(anairiats_rec_66, tmp992, atslab_d0exp_node, tmp996) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp992 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_empty (tmp993) ; break ; } while (0) ; return (tmp992) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 45956(line=2152, offs=13) -- 46030(line=2154, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ptrof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp997) ; ATSlocal (ats_ptr_type, tmp998) ; ATSlocal (ats_ptr_type, tmp999) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ptrof: tmp998 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp999 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33) ; tmp997 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp997, atslab_d0exp_loc, tmp998) ; ats_selptrset_mac(anairiats_rec_66, tmp997, atslab_d0exp_node, tmp999) ; return (tmp997) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46079(line=2157, offs=14) -- 46154(line=2159, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_viewat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1000) ; ATSlocal (ats_ptr_type, tmp1001) ; ATSlocal (ats_ptr_type, tmp1002) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_viewat: tmp1001 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1002 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34) ; tmp1000 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1000, atslab_d0exp_loc, tmp1001) ; ats_selptrset_mac(anairiats_rec_66, tmp1000, atslab_d0exp_node, tmp1002) ; return (tmp1000) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46226(line=2164, offs=15) -- 46368(line=2168, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1003) ; ATSlocal (ats_ptr_type, tmp1004) ; ATSlocal (ats_ptr_type, tmp1005) ; ATSlocal (ats_ptr_type, tmp1006) ; ATSlocal (ats_ptr_type, tmp1007) ; ATSlocal (ats_int_type, tmp1008) ; ATSlocal (ats_ptr_type, tmp1009) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_lab: tmp1005 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_56, arg0), atslab_s0elop_loc) ; tmp1006 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_l0ab_loc) ; tmp1004 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1005, tmp1006) ; tmp1008 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_56, arg0), atslab_s0elop_knd) ; tmp1009 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_l0ab_lab) ; tmp1007 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1007)->tag = 35 ; ats_selptrset_mac(anairiats_sum_5, tmp1007, atslab_0, tmp1008) ; ats_selptrset_mac(anairiats_sum_5, tmp1007, atslab_1, tmp1009) ; tmp1003 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1003, atslab_d0exp_loc, tmp1004) ; ats_selptrset_mac(anairiats_rec_66, tmp1003, atslab_d0exp_node, tmp1007) ; return (tmp1003) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46420(line=2171, offs=15) -- 46570(line=2175, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1010) ; ATSlocal (ats_ptr_type, tmp1011) ; ATSlocal (ats_ptr_type, tmp1012) ; ATSlocal (ats_ptr_type, tmp1013) ; ATSlocal (ats_ptr_type, tmp1014) ; ATSlocal (ats_int_type, tmp1015) ; ATSlocal (ats_ptr_type, tmp1016) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_ind: tmp1012 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_56, arg0), atslab_s0elop_loc) ; tmp1013 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_loc) ; tmp1011 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1012, tmp1013) ; tmp1015 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_56, arg0), atslab_s0elop_knd) ; tmp1016 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_ind) ; tmp1014 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1014)->tag = 36 ; ats_selptrset_mac(anairiats_sum_5, tmp1014, atslab_0, tmp1015) ; ats_selptrset_mac(anairiats_sum_5, tmp1014, atslab_1, tmp1016) ; tmp1010 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1010, atslab_d0exp_loc, tmp1011) ; ats_selptrset_mac(anairiats_rec_66, tmp1010, atslab_d0exp_node, tmp1014) ; return (tmp1010) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46622(line=2178, offs=15) -- 46818(line=2184, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1017) ; ATSlocal (ats_ptr_type, tmp1018) ; ATSlocal (ats_int_type, tmp1019) ; ATSlocal (ats_ptr_type, tmp1020) ; ATSlocal (ats_ptr_type, tmp1021) ; ATSlocal (ats_ptr_type, tmp1022) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_int: tmp1018 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1018)->tag != 12) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46675(line=2180, offs=7) -- 46706(line=2180, offs=38)") ; } tmp1019 = ats_caselptrlab_mac(anairiats_sum_8, tmp1018, atslab_0) ; tmp1020 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (tmp1019) ; tmp1021 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1022 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1022)->tag = 35 ; ats_selptrset_mac(anairiats_sum_5, tmp1022, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_5, tmp1022, atslab_1, tmp1020) ; tmp1017 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1017, atslab_d0exp_loc, tmp1021) ; ats_selptrset_mac(anairiats_rec_66, tmp1017, atslab_d0exp_node, tmp1022) ; return (tmp1017) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 46891(line=2190, offs=3) -- 47009(line=2194, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_raise (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1023) ; ATSlocal (ats_ptr_type, tmp1024) ; ATSlocal (ats_ptr_type, tmp1025) ; ATSlocal (ats_ptr_type, tmp1026) ; ATSlocal (ats_ptr_type, tmp1027) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_raise: tmp1025 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1026 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1024 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1025, tmp1026) ; tmp1027 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1027)->tag = 37 ; ats_selptrset_mac(anairiats_sum_9, tmp1027, atslab_0, arg1) ; tmp1023 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1023, atslab_d0exp_loc, tmp1024) ; ats_selptrset_mac(anairiats_rec_66, tmp1023, atslab_d0exp_node, tmp1027) ; return (tmp1023) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 47082(line=2200, offs=3) -- 47212(line=2204, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1028) ; ATSlocal (ats_ptr_type, tmp1029) ; ATSlocal (ats_ptr_type, tmp1030) ; ATSlocal (ats_ptr_type, tmp1031) ; ATSlocal (ats_ptr_type, tmp1032) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask: tmp1030 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1031 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1029 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1030, tmp1031) ; tmp1032 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1032)->tag = 38 ; ats_selptrset_mac(anairiats_sum_12, tmp1032, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1032, atslab_1, arg2) ; tmp1028 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1028, atslab_d0exp_loc, tmp1029) ; ats_selptrset_mac(anairiats_rec_66, tmp1028, atslab_d0exp_node, tmp1032) ; return (tmp1028) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 47270(line=2208, offs=3) -- 47404(line=2212, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask_arg (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1033) ; ATSlocal (ats_ptr_type, tmp1034) ; ATSlocal (ats_ptr_type, tmp1035) ; ATSlocal (ats_ptr_type, tmp1036) ; ATSlocal (ats_ptr_type, tmp1037) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask_arg: tmp1035 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1036 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1034 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1035, tmp1036) ; tmp1037 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1037)->tag = 39 ; ats_selptrset_mac(anairiats_sum_5, tmp1037, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp1037, atslab_1, arg2) ; tmp1033 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1033, atslab_d0exp_loc, tmp1034) ; ats_selptrset_mac(anairiats_rec_66, tmp1033, atslab_d0exp_node, tmp1037) ; return (tmp1033) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 47484(line=2218, offs=3) -- 47605(line=2222, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_showtype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1038) ; ATSlocal (ats_ptr_type, tmp1039) ; ATSlocal (ats_ptr_type, tmp1040) ; ATSlocal (ats_ptr_type, tmp1041) ; ATSlocal (ats_ptr_type, tmp1042) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_showtype: tmp1040 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1041 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1039 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1040, tmp1041) ; tmp1042 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1042)->tag = 40 ; ats_selptrset_mac(anairiats_sum_9, tmp1042, atslab_0, arg1) ; tmp1038 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1038, atslab_d0exp_loc, tmp1039) ; ats_selptrset_mac(anairiats_rec_66, tmp1038, atslab_d0exp_node, tmp1042) ; return (tmp1038) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_showtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 47682(line=2228, offs=3) -- 47813(line=2232, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_vcopyenv (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1043) ; ATSlocal (ats_ptr_type, tmp1044) ; ATSlocal (ats_ptr_type, tmp1045) ; ATSlocal (ats_ptr_type, tmp1046) ; ATSlocal (ats_ptr_type, tmp1047) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_vcopyenv: tmp1045 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1046 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1044 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1045, tmp1046) ; tmp1047 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1047)->tag = 41 ; ats_selptrset_mac(anairiats_sum_5, tmp1047, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp1047, atslab_1, arg2) ; tmp1043 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1043, atslab_d0exp_loc, tmp1044) ; ats_selptrset_mac(anairiats_rec_66, tmp1043, atslab_d0exp_node, tmp1047) ; return (tmp1043) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 47891(line=2238, offs=3) -- 48013(line=2242, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1048) ; ATSlocal (ats_ptr_type, tmp1049) ; ATSlocal (ats_ptr_type, tmp1050) ; ATSlocal (ats_ptr_type, tmp1051) ; ATSlocal (ats_ptr_type, tmp1052) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tempenver: tmp1050 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1051 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1049 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1050, tmp1051) ; tmp1052 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1052)->tag = 42 ; ats_selptrset_mac(anairiats_sum_9, tmp1052, atslab_0, arg1) ; tmp1048 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1048, atslab_d0exp_loc, tmp1049) ; ats_selptrset_mac(anairiats_rec_66, tmp1048, atslab_d0exp_node, tmp1052) ; return (tmp1048) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 48090(line=2248, offs=3) -- 48218(line=2252, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sexparg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1053) ; ATSlocal (ats_ptr_type, tmp1054) ; ATSlocal (ats_ptr_type, tmp1055) ; ATSlocal (ats_ptr_type, tmp1056) ; ATSlocal (ats_ptr_type, tmp1057) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sexparg: tmp1055 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1056 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1054 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1055, tmp1056) ; tmp1057 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1057)->tag = 43 ; ats_selptrset_mac(anairiats_sum_9, tmp1057, atslab_0, arg1) ; tmp1053 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1053, atslab_d0exp_loc, tmp1054) ; ats_selptrset_mac(anairiats_rec_66, tmp1053, atslab_d0exp_node, tmp1057) ; return (tmp1053) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sexparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 48268(line=2255, offs=13) -- 48476(line=2262, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1058) ; ATSlocal (ats_ptr_type, tmp1059) ; ATSlocal (ats_ptr_type, tmp1060) ; ATSlocal (ats_ptr_type, tmp1061) ; ATSlocal (ats_ptr_type, tmp1062) ; ATSlocal (ats_ptr_type, tmp1063) ; ATSlocal (ats_ptr_type, tmp1064) ; ATSlocal (ats_ptr_type, tmp1065) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_exist: tmp1060 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1061 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg4), atslab_token_loc) ; tmp1059 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1060, tmp1061) ; tmp1063 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1064 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1062 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1063, tmp1064) ; tmp1065 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1065)->tag = 44 ; ats_selptrset_mac(anairiats_sum_14, tmp1065, atslab_0, tmp1062) ; ats_selptrset_mac(anairiats_sum_14, tmp1065, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp1065, atslab_2, arg3) ; tmp1058 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1058, atslab_d0exp_loc, tmp1059) ; ats_selptrset_mac(anairiats_rec_66, tmp1058, atslab_d0exp_node, tmp1065) ; return (tmp1058) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 48547(line=2267, offs=15) -- 48889(line=2282, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1066) ; ATSlocal (ats_ptr_type, tmp1067) ; ATSlocal (ats_ptr_type, tmp1068) ; ATSlocal (ats_ptr_type, tmp1069) ; ATSlocal (ats_ptr_type, tmp1070) ; ATSlocal (ats_ptr_type, tmp1071) ; ATSlocal (ats_ptr_type, tmp1072) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead: tmp1067 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_64, arg0), atslab_loophead_tok) ; tmp1068 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1067), atslab_token_loc) ; tmp1070 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1069 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1068, tmp1070) ; tmp1071 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_64, arg0), atslab_loophead_inv) ; tmp1072 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp1072)->tag = 49 ; ats_selptrset_mac(anairiats_sum_31, tmp1072, atslab_0, tmp1071) ; ats_selptrset_mac(anairiats_sum_31, tmp1072, atslab_1, tmp1068) ; ats_selptrset_mac(anairiats_sum_31, tmp1072, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp1072, atslab_3, arg2) ; tmp1066 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1066, atslab_d0exp_loc, tmp1069) ; ats_selptrset_mac(anairiats_rec_66, tmp1066, atslab_d0exp_node, tmp1072) ; return (tmp1066) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 48964(line=2287, offs=17) -- 49312(line=2302, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1073) ; ATSlocal (ats_ptr_type, tmp1074) ; ATSlocal (ats_ptr_type, tmp1075) ; ATSlocal (ats_ptr_type, tmp1076) ; ATSlocal (ats_ptr_type, tmp1077) ; ATSlocal (ats_ptr_type, tmp1078) ; ATSlocal (ats_ptr_type, tmp1079) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead: tmp1074 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_64, arg0), atslab_loophead_tok) ; tmp1075 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1074), atslab_token_loc) ; tmp1077 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1076 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1075, tmp1077) ; tmp1078 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_64, arg0), atslab_loophead_inv) ; tmp1079 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp1079)->tag = 50 ; ats_selptrset_mac(anairiats_sum_31, tmp1079, atslab_0, tmp1078) ; ats_selptrset_mac(anairiats_sum_31, tmp1079, atslab_1, tmp1075) ; ats_selptrset_mac(anairiats_sum_31, tmp1079, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp1079, atslab_3, arg2) ; tmp1073 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1073, atslab_d0exp_loc, tmp1076) ; ats_selptrset_mac(anairiats_rec_66, tmp1073, atslab_d0exp_node, tmp1079) ; return (tmp1073) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 49389(line=2308, offs=3) -- 49463(line=2310, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1080) ; ATSlocal (ats_ptr_type, tmp1081) ; ATSlocal (ats_ptr_type, tmp1082) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn: tmp1081 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1082 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp1082)->tag = 51 ; ats_selptrset_mac(anairiats_sum_8, tmp1082, atslab_0, arg0) ; tmp1080 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1080, atslab_d0exp_loc, tmp1081) ; ats_selptrset_mac(anairiats_rec_66, tmp1080, atslab_d0exp_node, tmp1082) ; return (tmp1080) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 49542(line=2316, offs=3) -- 49905(line=2326, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_trywith_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1083) ; ATSlocal (ats_ptr_type, tmp1084) ; ATSlocal (ats_ptr_type, tmp1085) ; ATSlocal (ats_ptr_type, tmp1086) ; ATSlocal (ats_ptr_type, tmp1087) ; ATSlocal (ats_ptr_type, tmp1088) ; ATSlocal (ats_ptr_type, tmp1089) ; ATSlocal (ats_ptr_type, tmp1090) ; ATSlocal (ats_ptr_type, tmp1091) ; ATSlocal (ats_ptr_type, tmp1092) ; ATSlocal (ats_ptr_type, tmp1093) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_trywith_seq: tmp1084 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_65, arg0), atslab_tryhead_tok) ; tmp1086 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (tmp1086 == (ats_sum_ptr_type)0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp1087 = ats_caselptrlab_mac(anairiats_sum_13, tmp1086, atslab_0) ; ATS_FREE(tmp1086) ; tmp1088 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1084), atslab_token_loc) ; tmp1089 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_67, tmp1087), atslab_c0lau_loc) ; tmp1085 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1088, tmp1089) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: // if (tmp1086 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_120_1: tmp1090 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1084), atslab_token_loc) ; tmp1091 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1085 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1090, tmp1091) ; break ; } while (0) ; tmp1092 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (tmp1084, arg1, arg2) ; tmp1093 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1093)->tag = 52 ; ats_selptrset_mac(anairiats_sum_14, tmp1093, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp1093, atslab_1, tmp1092) ; ats_selptrset_mac(anairiats_sum_14, tmp1093, atslab_2, arg3) ; tmp1083 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1083, atslab_d0exp_loc, tmp1085) ; ats_selptrset_mac(anairiats_rec_66, tmp1083, atslab_d0exp_node, tmp1093) ; return (tmp1083) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_trywith_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 49974(line=2331, offs=11) -- 50092(line=2335, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ann (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1094) ; ATSlocal (ats_ptr_type, tmp1095) ; ATSlocal (ats_ptr_type, tmp1096) ; ATSlocal (ats_ptr_type, tmp1097) ; ATSlocal (ats_ptr_type, tmp1098) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ann: tmp1096 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg0), atslab_d0exp_loc) ; tmp1097 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp1095 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1096, tmp1097) ; tmp1098 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1098)->tag = 45 ; ats_selptrset_mac(anairiats_sum_12, tmp1098, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp1098, atslab_1, arg1) ; tmp1094 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1094, atslab_d0exp_loc, tmp1095) ; ats_selptrset_mac(anairiats_rec_66, tmp1094, atslab_d0exp_node, tmp1098) ; return (tmp1094) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 50165(line=2341, offs=3) -- 50286(line=2345, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solassert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1099) ; ATSlocal (ats_ptr_type, tmp1100) ; ATSlocal (ats_ptr_type, tmp1101) ; ATSlocal (ats_ptr_type, tmp1102) ; ATSlocal (ats_ptr_type, tmp1103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solassert: tmp1101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1101, tmp1102) ; tmp1103 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1103)->tag = 54 ; ats_selptrset_mac(anairiats_sum_9, tmp1103, atslab_0, arg1) ; tmp1099 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1099, atslab_d0exp_loc, tmp1100) ; ats_selptrset_mac(anairiats_rec_66, tmp1099, atslab_d0exp_node, tmp1103) ; return (tmp1099) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solassert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 50344(line=2349, offs=3) -- 50465(line=2353, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1104) ; ATSlocal (ats_ptr_type, tmp1105) ; ATSlocal (ats_ptr_type, tmp1106) ; ATSlocal (ats_ptr_type, tmp1107) ; ATSlocal (ats_ptr_type, tmp1108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solverify: tmp1106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg1), atslab_s0exp_loc) ; tmp1105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1106, tmp1107) ; tmp1108 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1108)->tag = 55 ; ats_selptrset_mac(anairiats_sum_9, tmp1108, atslab_0, arg1) ; tmp1104 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1104, atslab_d0exp_loc, tmp1105) ; ats_selptrset_mac(anairiats_rec_66, tmp1104, atslab_d0exp_node, tmp1108) ; return (tmp1104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solverify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 50527(line=2360, offs=1) -- 50653(line=2365, offs=2) */ ATSstaticdec() ats_ptr_type d0exp_macsyn_252 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1109) ; ATSlocal (ats_ptr_type, tmp1110) ; __ats_lab_d0exp_macsyn_252: tmp1110 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1110)->tag = 53 ; ats_selptrset_mac(anairiats_sum_12, tmp1110, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1110, atslab_1, arg2) ; tmp1109 = ATS_MALLOC(sizeof(anairiats_rec_66)) ; ats_selptrset_mac(anairiats_rec_66, tmp1109, atslab_d0exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_66, tmp1109, atslab_d0exp_node, tmp1110) ; return (tmp1109) ; } /* end of [d0exp_macsyn_252] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 50735(line=2371, offs=3) -- 50850(line=2375, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_cross (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1111) ; ATSlocal (ats_ptr_type, tmp1112) ; ATSlocal (ats_ptr_type, tmp1113) ; ATSlocal (ats_ptr_type, tmp1114) ; ATSlocal (ats_ptr_type, tmp1115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_cross: tmp1113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1113, tmp1114) ; tmp1115 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; tmp1111 = d0exp_macsyn_252 (tmp1112, tmp1115, arg1) ; return (tmp1111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_cross] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 50915(line=2379, offs=3) -- 51030(line=2383, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_decode (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1116) ; ATSlocal (ats_ptr_type, tmp1117) ; ATSlocal (ats_ptr_type, tmp1118) ; ATSlocal (ats_ptr_type, tmp1119) ; ATSlocal (ats_ptr_type, tmp1120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_decode: tmp1118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1118, tmp1119) ; tmp1120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; tmp1116 = d0exp_macsyn_252 (tmp1117, tmp1120, arg1) ; return (tmp1116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_decode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 51100(line=2387, offs=3) -- 51223(line=2391, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_encode_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1121) ; ATSlocal (ats_ptr_type, tmp1122) ; ATSlocal (ats_ptr_type, tmp1123) ; ATSlocal (ats_ptr_type, tmp1124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_encode_seq: tmp1122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg0, arg1, arg2) ; tmp1123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, tmp1122), atslab_d0exp_loc) ; tmp1124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; tmp1121 = d0exp_macsyn_252 (tmp1123, tmp1124, tmp1122) ; return (tmp1121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_encode_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 51329(line=2398, offs=15) -- 51366(line=2398, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labd0exp_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labd0exp_make: tmp1125 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp1125, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp1125, atslab_1, arg1) ; return (tmp1125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labd0exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 51415(line=2404, offs=3) -- 51509(line=2406, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_sing (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1126) ; ATSlocal (ats_ptr_type, tmp1127) ; ATSlocal (ats_ptr_type, tmp1128) ; ATSlocal (ats_ptr_type, tmp1129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_sing: tmp1127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1129 = (ats_sum_ptr_type)0 ; tmp1128 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp1128, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp1128, atslab_1, tmp1129) ; tmp1126 = ATS_MALLOC(sizeof(anairiats_rec_72)) ; ats_selptrset_mac(anairiats_rec_72, tmp1126, atslab_d0arrind_loc, tmp1127) ; ats_selptrset_mac(anairiats_rec_72, tmp1126, atslab_d0arrind_ind, tmp1128) ; return (tmp1126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 51563(line=2410, offs=3) -- 51665(line=2413, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_cons (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1130) ; ATSlocal (ats_ptr_type, tmp1131) ; ATSlocal (ats_ptr_type, tmp1132) ; ATSlocal (ats_ptr_type, tmp1133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_cons: tmp1131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_loc) ; tmp1133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_72, arg1), atslab_d0arrind_ind) ; tmp1132 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp1132, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp1132, atslab_1, tmp1133) ; tmp1130 = ATS_MALLOC(sizeof(anairiats_rec_72)) ; ats_selptrset_mac(anairiats_rec_72, tmp1130, atslab_d0arrind_loc, tmp1131) ; ats_selptrset_mac(anairiats_rec_72, tmp1130, atslab_d0arrind_ind, tmp1132) ; return (tmp1130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_cons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 51741(line=2419, offs=1) -- 51998(line=2429, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__initestpost_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1134) ; ATSlocal (ats_ptr_type, tmp1135) ; ATSlocal (ats_ptr_type, tmp1136) ; ATSlocal (ats_ptr_type, tmp1137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__initestpost_make: tmp1135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg0, arg1, arg2) ; tmp1136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg2, arg3, arg4) ; tmp1137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg4, arg5, arg6) ; tmp1134 = ATS_MALLOC(sizeof(anairiats_rec_73)) ; ats_selptrset_mac(anairiats_rec_73, tmp1134, atslab_itp_init, tmp1135) ; ats_selptrset_mac(anairiats_rec_73, tmp1134, atslab_itp_test, tmp1136) ; ats_selptrset_mac(anairiats_rec_73, tmp1134, atslab_itp_post, tmp1137) ; return (tmp1134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__initestpost_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 52073(line=2435, offs=3) -- 52294(line=2443, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__gm0at_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1138) ; ATSlocal (ats_ptr_type, tmp1139) ; ATSlocal (ats_ptr_type, tmp1140) ; ATSlocal (ats_ptr_type, tmp1141) ; ATSlocal (ats_ptr_type, tmp1142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__gm0at_make: do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp1140 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp1141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg0), atslab_d0exp_loc) ; tmp1142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, tmp1140), atslab_p0at_loc) ; tmp1139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1141, tmp1142) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: tmp1139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg0), atslab_d0exp_loc) ; break ; } while (0) ; tmp1138 = ATS_MALLOC(sizeof(anairiats_rec_74)) ; ats_selptrset_mac(anairiats_rec_74, tmp1138, atslab_gm0at_loc, tmp1139) ; ats_selptrset_mac(anairiats_rec_74, tmp1138, atslab_gm0at_exp, arg0) ; ats_selptrset_mac(anairiats_rec_74, tmp1138, atslab_gm0at_pat, arg1) ; return (tmp1138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__gm0at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 52342(line=2446, offs=14) -- 52679(line=2457, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guap0at_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1143) ; ATSlocal (ats_ptr_type, tmp1144) ; ATSlocal (ats_ptr_type, tmp1145) ; ATSlocal (ats_ptr_type, tmp1146) ; ATSlocal (ats_ptr_type, tmp1147) ; ATSlocal (ats_ptr_type, tmp1148) ; ATSlocal (ats_ptr_type, tmp1149) ; ATSlocal (ats_ptr_type, tmp1150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guap0at_make: do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp1145 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp1144 = tmp1145 ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp1144 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp1146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp1148 = list_last_opt_01409_ats_ptr_type (tmp1144) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (tmp1148 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp1149 = ats_caselptrlab_mac(anairiats_sum_13, tmp1148, atslab_0) ; ATS_FREE(tmp1148) ; tmp1150 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_74, tmp1149), atslab_gm0at_loc) ; tmp1147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1146, tmp1150) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (tmp1148 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp1147 = tmp1146 ; break ; } while (0) ; tmp1143 = ATS_MALLOC(sizeof(anairiats_rec_75)) ; ats_selptrset_mac(anairiats_rec_75, tmp1143, atslab_guap0at_loc, tmp1147) ; ats_selptrset_mac(anairiats_rec_75, tmp1143, atslab_guap0at_pat, arg0) ; ats_selptrset_mac(anairiats_rec_75, tmp1143, atslab_guap0at_gua, tmp1144) ; return (tmp1143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guap0at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 52734(line=2461, offs=3) -- 52908(line=2469, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__c0lau_make (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1151) ; ATSlocal (ats_ptr_type, tmp1152) ; ATSlocal (ats_ptr_type, tmp1153) ; ATSlocal (ats_ptr_type, tmp1154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__c0lau_make: tmp1153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_75, arg0), atslab_guap0at_loc) ; tmp1154 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg3), atslab_d0exp_loc) ; tmp1152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1153, tmp1154) ; tmp1151 = ATS_MALLOC(sizeof(anairiats_rec_67)) ; ats_selptrset_mac(anairiats_rec_67, tmp1151, atslab_c0lau_loc, tmp1152) ; ats_selptrset_mac(anairiats_rec_67, tmp1151, atslab_c0lau_pat, arg0) ; ats_selptrset_mac(anairiats_rec_67, tmp1151, atslab_c0lau_seq, arg1) ; ats_selptrset_mac(anairiats_rec_67, tmp1151, atslab_c0lau_neg, arg2) ; ats_selptrset_mac(anairiats_rec_67, tmp1151, atslab_c0lau_body, arg3) ; return (tmp1151) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__c0lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 52975(line=2474, offs=12) -- 53103(line=2478, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sp0at_cstr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1155) ; ATSlocal (ats_ptr_type, tmp1156) ; ATSlocal (ats_ptr_type, tmp1157) ; ATSlocal (ats_ptr_type, tmp1158) ; ATSlocal (ats_ptr_type, tmp1159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sp0at_cstr: tmp1157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_sqi0de_loc) ; tmp1158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1157, tmp1158) ; tmp1159 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ats_selptrset_mac(anairiats_sum_15, tmp1159, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp1159, atslab_1, arg1) ; tmp1155 = ATS_MALLOC(sizeof(anairiats_rec_76)) ; ats_selptrset_mac(anairiats_rec_76, tmp1155, atslab_sp0at_loc, tmp1156) ; ats_selptrset_mac(anairiats_rec_76, tmp1155, atslab_sp0at_node, tmp1159) ; return (tmp1155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sp0at_cstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 53150(line=2481, offs=13) -- 53276(line=2485, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sc0lau_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1160) ; ATSlocal (ats_ptr_type, tmp1161) ; ATSlocal (ats_ptr_type, tmp1162) ; ATSlocal (ats_ptr_type, tmp1163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sc0lau_make: tmp1162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_76, arg0), atslab_sp0at_loc) ; tmp1163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1162, tmp1163) ; tmp1160 = ATS_MALLOC(sizeof(anairiats_rec_68)) ; ats_selptrset_mac(anairiats_rec_68, tmp1160, atslab_sc0lau_loc, tmp1161) ; ats_selptrset_mac(anairiats_rec_68, tmp1160, atslab_sc0lau_pat, arg0) ; ats_selptrset_mac(anairiats_rec_68, tmp1160, atslab_sc0lau_body, arg1) ; return (tmp1160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sc0lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 53346(line=2490, offs=14) -- 53502(line=2497, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acdef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1164) ; ATSlocal (ats_ptr_type, tmp1165) ; ATSlocal (ats_ptr_type, tmp1166) ; ATSlocal (ats_ptr_type, tmp1167) ; ATSlocal (ats_ptr_type, tmp1168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acdef_make: tmp1166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp1167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1166, tmp1167) ; tmp1168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp1164 = ATS_MALLOC(sizeof(anairiats_rec_77)) ; ats_selptrset_mac(anairiats_rec_77, tmp1164, atslab_m0acdef_loc, tmp1165) ; ats_selptrset_mac(anairiats_rec_77, tmp1164, atslab_m0acdef_sym, tmp1168) ; ats_selptrset_mac(anairiats_rec_77, tmp1164, atslab_m0acdef_arg, arg1) ; ats_selptrset_mac(anairiats_rec_77, tmp1164, atslab_m0acdef_def, arg2) ; return (tmp1164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__m0acdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 53575(line=2503, offs=3) -- 53856(line=2510, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1169) ; ATSlocal (ats_ptr_type, tmp1170) ; ATSlocal (ats_ptr_type, tmp1171) ; ATSlocal (ats_ptr_type, tmp1172) ; ATSlocal (ats_ptr_type, tmp1173) ; ATSlocal (ats_ptr_type, tmp1174) ; ATSlocal (ats_ptr_type, tmp1175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0aldec_make: do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp1171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp1172 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg1), atslab_d0exp_loc) ; tmp1170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1171, tmp1172) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: tmp1173 = ats_caselptrlab_mac(anairiats_sum_78, arg2, atslab_1) ; tmp1174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_51, arg0), atslab_p0at_loc) ; tmp1175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp1173), atslab_s0exp_loc) ; tmp1170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1174, tmp1175) ; break ; } while (0) ; tmp1169 = ATS_MALLOC(sizeof(anairiats_rec_79)) ; ats_selptrset_mac(anairiats_rec_79, tmp1169, atslab_v0aldec_loc, tmp1170) ; ats_selptrset_mac(anairiats_rec_79, tmp1169, atslab_v0aldec_pat, arg0) ; ats_selptrset_mac(anairiats_rec_79, tmp1169, atslab_v0aldec_def, arg1) ; ats_selptrset_mac(anairiats_rec_79, tmp1169, atslab_v0aldec_ann, arg2) ; return (tmp1169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0aldec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 53927(line=2516, offs=1) -- 54323(line=2535, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1176) ; ATSlocal (ats_ptr_type, tmp1177) ; ATSlocal (ats_ptr_type, tmp1178) ; ATSlocal (ats_ptr_type, tmp1179) ; ATSlocal (ats_ptr_type, tmp1180) ; ATSlocal (ats_ptr_type, tmp1181) ; ATSlocal (ats_ptr_type, tmp1182) ; ATSlocal (ats_ptr_type, tmp1183) ; ATSlocal (ats_ptr_type, tmp1184) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0undec_make: do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (arg5 != (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp1178 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp1179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg4), atslab_d0exp_loc) ; tmp1177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1178, tmp1179) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (arg5 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp1180 = ats_caselptrlab_mac(anairiats_sum_78, arg5, atslab_1) ; tmp1181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp1182 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp1180), atslab_s0exp_loc) ; tmp1177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1181, tmp1182) ; break ; } while (0) ; tmp1183 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_sym) ; tmp1184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_i0de_loc) ; tmp1176 = ATS_MALLOC(sizeof(anairiats_rec_80)) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_loc, tmp1177) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_sym, tmp1183) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_sym_loc, tmp1184) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_arg, arg1) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_eff, arg2) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_res, arg3) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_def, arg4) ; ats_selptrset_mac(anairiats_rec_80, tmp1176, atslab_f0undec_ann, arg5) ; return (tmp1176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0undec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 54394(line=2541, offs=1) -- 55172(line=2580, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0ardec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1185) ; ATSlocal (ats_int_type, tmp1186) ; ATSlocal (ats_ptr_type, tmp1187) ; ATSlocal (ats_ptr_type, tmp1188) ; ATSlocal (ats_ptr_type, tmp1189) ; ATSlocal (ats_ptr_type, tmp1190) ; ATSlocal (ats_ptr_type, tmp1191) ; ATSlocal (ats_ptr_type, tmp1192) ; ATSlocal (ats_ptr_type, tmp1193) ; ATSlocal (ats_ptr_type, tmp1194) ; ATSlocal (ats_ptr_type, tmp1195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0ardec_make: /* ats_int_type tmp1186 ; */ tmp1186 = 0 ; do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp1187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp1188 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp1186 = 1 ; tmp1187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1188), atslab_token_loc) ; break ; } while (0) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp1190 = ats_caselptrlab_mac(anairiats_sum_13, arg4, atslab_0) ; tmp1189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, tmp1190), atslab_d0exp_loc) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp1191 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp1189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp1191), atslab_i0de_loc) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp1192 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp1189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp1192), atslab_s0exp_loc) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp1189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; break ; } while (0) ; break ; } while (0) ; break ; } while (0) ; tmp1193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1187, tmp1189) ; tmp1194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp1195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp1185 = ATS_MALLOC(sizeof(anairiats_rec_81)) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_loc, tmp1193) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_knd, tmp1186) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_sym, tmp1194) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_sym_loc, tmp1195) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_pfat, arg2) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_type, arg3) ; ats_selptrset_mac(anairiats_rec_81, tmp1185, atslab_v0ardec_init, arg4) ; return (tmp1185) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__v0ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 55243(line=2586, offs=1) -- 55429(line=2598, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mpdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1196) ; ATSlocal (ats_ptr_type, tmp1197) ; ATSlocal (ats_ptr_type, tmp1198) ; ATSlocal (ats_ptr_type, tmp1199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mpdec_make: tmp1198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_54, arg0), atslab_impqi0de_loc) ; tmp1199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg3), atslab_d0exp_loc) ; tmp1197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1198, tmp1199) ; tmp1196 = ATS_MALLOC(sizeof(anairiats_rec_82)) ; ats_selptrset_mac(anairiats_rec_82, tmp1196, atslab_i0mpdec_loc, tmp1197) ; ats_selptrset_mac(anairiats_rec_82, tmp1196, atslab_i0mpdec_qid, arg0) ; ats_selptrset_mac(anairiats_rec_82, tmp1196, atslab_i0mpdec_arg, arg1) ; ats_selptrset_mac(anairiats_rec_82, tmp1196, atslab_i0mpdec_res, arg2) ; ats_selptrset_mac(anairiats_rec_82, tmp1196, atslab_i0mpdec_def, arg3) ; return (tmp1196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0mpdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 55488(line=2605, offs=1) -- 55675(line=2611, offs=47) */ ATSstaticdec() ats_ptr_type loop_270 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1200) ; ATSlocal (ats_ptr_type, tmp1201) ; ATSlocal (ats_ptr_type, tmp1202) ; ATSlocal (ats_ptr_type, tmp1203) ; ATSlocal (ats_ptr_type, tmp1204) ; __ats_lab_loop_270: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp1201 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp1202 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; arg0 = arg0 ; arg1 = tmp1201 ; arg2 = tmp1202 ; goto __ats_lab_loop_270 ; // tail call break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp1203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1204 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp1200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1203, tmp1204) ; break ; } while (0) ; return (tmp1200) ; } /* end of [loop_270] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 55743(line=2618, offs=3) -- 56309(line=2645, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fixity (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1205) ; ATSlocal (ats_ptr_type, tmp1206) ; ATSlocal (ats_ptr_type, tmp1207) ; ATSlocal (ats_ptr_type, tmp1208) ; ATSlocal (ats_ptr_type, tmp1209) ; ATSlocal (ats_ptr_type, tmp1210) ; ATSlocal (ats_ptr_type, tmp1211) ; ATSlocal (ats_ptr_type, tmp1212) ; ATSlocal (ats_ptr_type, tmp1213) ; ATSlocal (ats_ptr_type, tmp1214) ; ATSlocal (ats_ptr_type, tmp1215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fixity: tmp1206 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1206)->tag != 49) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 55774(line=2621, offs=1) -- 55804(line=2621, offs=31)") ; } tmp1207 = ats_caselptrlab_mac(anairiats_sum_9, tmp1206, atslab_0) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp1207)->tag != 0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp1209 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCnon_0) ; tmp1208 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1208)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_1, tmp1209) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp1207)->tag != 1) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp1210 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOClft_1) ; tmp1208 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1208)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_1, tmp1210) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp1207)->tag != 2) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp1211 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ASSOCrgt_2) ; tmp1208 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1208)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1208, atslab_1, tmp1211) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp1207)->tag != 3) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp1208 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1208)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp1208, atslab_0, arg1) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: // if (((ats_sum_ptr_type)tmp1207)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_145_1: tmp1208 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1208)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp1208, atslab_0, arg1) ; break ; } while (0) ; do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp1213 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_0) ; tmp1214 = ats_caselptrlab_mac(anairiats_sum_15, arg2, atslab_1) ; tmp1212 = loop_270 (arg0, tmp1213, tmp1214) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_147_1: tmp1212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; } while (0) ; tmp1215 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1215)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp1215, atslab_0, tmp1208) ; ats_selptrset_mac(anairiats_sum_12, tmp1215, atslab_1, arg2) ; tmp1205 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1205, atslab_d0ecl_loc, tmp1212) ; ats_selptrset_mac(anairiats_rec_83, tmp1205, atslab_d0ecl_node, tmp1215) ; return (tmp1205) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fixity] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 56360(line=2649, offs=3) -- 56610(line=2657, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_nonfix (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1216) ; ATSlocal (ats_ptr_type, tmp1217) ; ATSlocal (ats_ptr_type, tmp1218) ; ATSlocal (ats_ptr_type, tmp1219) ; ATSlocal (ats_ptr_type, tmp1220) ; ATSlocal (ats_ptr_type, tmp1221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_nonfix: tmp1217 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1217)->tag != 61) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 56383(line=2650, offs=7) -- 56411(line=2650, offs=35)") ; } do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp1219 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp1220 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp1218 = loop_270 (arg0, tmp1219, tmp1220) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp1218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; } while (0) ; tmp1221 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1221)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp1221, atslab_0, arg1) ; tmp1216 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1216, atslab_d0ecl_loc, tmp1218) ; ats_selptrset_mac(anairiats_rec_83, tmp1216, atslab_d0ecl_node, tmp1221) ; return (tmp1216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_nonfix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 56684(line=2663, offs=3) -- 56936(line=2671, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symintr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1222) ; ATSlocal (ats_ptr_type, tmp1223) ; ATSlocal (ats_ptr_type, tmp1224) ; ATSlocal (ats_ptr_type, tmp1225) ; ATSlocal (ats_ptr_type, tmp1226) ; ATSlocal (ats_ptr_type, tmp1227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symintr: tmp1223 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1223)->tag != 74) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 56707(line=2664, offs=7) -- 56736(line=2664, offs=36)") ; } do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp1225 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp1226 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp1224 = loop_270 (arg0, tmp1225, tmp1226) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_151_1: tmp1224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; } while (0) ; tmp1227 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1227)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp1227, atslab_0, arg1) ; tmp1222 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1222, atslab_d0ecl_loc, tmp1224) ; ats_selptrset_mac(anairiats_rec_83, tmp1222, atslab_d0ecl_node, tmp1227) ; return (tmp1222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symintr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 56990(line=2675, offs=3) -- 57242(line=2683, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symelim (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1228) ; ATSlocal (ats_ptr_type, tmp1229) ; ATSlocal (ats_ptr_type, tmp1230) ; ATSlocal (ats_ptr_type, tmp1231) ; ATSlocal (ats_ptr_type, tmp1232) ; ATSlocal (ats_ptr_type, tmp1233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symelim: tmp1229 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1229)->tag != 73) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 57013(line=2676, offs=7) -- 57042(line=2676, offs=36)") ; } do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp1231 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp1232 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp1230 = loop_270 (arg0, tmp1231, tmp1232) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_153_1: tmp1230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; break ; } while (0) ; tmp1233 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1233)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp1233, atslab_0, arg1) ; tmp1228 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1228, atslab_d0ecl_loc, tmp1230) ; ats_selptrset_mac(anairiats_rec_83, tmp1228, atslab_d0ecl_node, tmp1233) ; return (tmp1228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_symelim] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 57320(line=2689, offs=3) -- 57696(line=2704, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_overload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1234) ; ATSlocal (ats_ptr_type, tmp1235) ; ATSlocal (ats_ptr_type, tmp1236) ; ATSlocal (ats_ptr_type, tmp1237) ; ATSlocal (ats_ptr_type, tmp1238) ; ATSlocal (ats_int_type, tmp1239) ; ATSlocal (ats_ptr_type, tmp1240) ; ATSlocal (ats_ptr_type, tmp1241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_overload: tmp1235 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; do { /* branch: __ats_lab_154 */ __ats_lab_154_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp1237 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp1236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1237), atslab_token_loc) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_155_1: tmp1236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg2), atslab_dqi0de_loc) ; break ; } while (0) ; tmp1238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1235, tmp1236) ; do { /* branch: __ats_lab_156 */ __ats_lab_156_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp1240 = ats_caselptrlab_mac(anairiats_sum_13, arg3, atslab_0) ; tmp1239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nt2int (tmp1240) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_157_1: tmp1239 = 0 ; break ; } while (0) ; tmp1241 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp1241)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp1241, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp1241, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_10, tmp1241, atslab_2, tmp1239) ; tmp1234 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1234, atslab_d0ecl_loc, tmp1238) ; ats_selptrset_mac(anairiats_rec_83, tmp1234, atslab_d0ecl_node, tmp1241) ; return (tmp1234) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_overload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 57772(line=2710, offs=3) -- 58067(line=2721, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1242) ; ATSlocal (ats_ptr_type, tmp1243) ; ATSlocal (ats_ptr_type, tmp1244) ; ATSlocal (ats_ptr_type, tmp1245) ; // ATSlocal_void (tmp1246) ; ATSlocal (ats_ptr_type, tmp1247) ; ATSlocal (ats_ptr_type, tmp1248) ; ATSlocal (ats_ptr_type, tmp1249) ; ATSlocal (ats_ptr_type, tmp1250) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include: tmp1243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1244)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 57831(line=2713, offs=7) -- 57864(line=2713, offs=40)") ; } tmp1245 = ats_caselptrlab_mac(anairiats_sum_9, tmp1244, atslab_0) ; /* tmp1246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (tmp1243, tmp1245) ; tmp1248 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1248, tmp1243) ; tmp1249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp1250 = ATS_MALLOC(sizeof(anairiats_sum_37)) ; ((ats_sum_ptr_type)tmp1250)->tag = 30 ; ats_selptrset_mac(anairiats_sum_37, tmp1250, atslab_0, tmp1249) ; ats_selptrset_mac(anairiats_sum_37, tmp1250, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_37, tmp1250, atslab_2, tmp1245) ; tmp1242 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1242, atslab_d0ecl_loc, tmp1247) ; ats_selptrset_mac(anairiats_rec_83, tmp1242, atslab_d0ecl_node, tmp1250) ; return (tmp1242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 58142(line=2727, offs=3) -- 58643(line=2745, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpdef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1251) ; ATSlocal (ats_ptr_type, tmp1252) ; ATSlocal (ats_ptr_type, tmp1253) ; ATSlocal (ats_ptr_type, tmp1254) ; ATSlocal (ats_ptr_type, tmp1255) ; ATSlocal (ats_ptr_type, tmp1256) ; ATSlocal (ats_ptr_type, tmp1257) ; ATSlocal (ats_ptr_type, tmp1258) ; ATSlocal (ats_int_type, tmp1259) ; ATSlocal (ats_ptr_type, tmp1260) ; ATSlocal (ats_bool_type, tmp1261) ; ATSlocal (ats_ptr_type, tmp1262) ; ATSlocal (ats_ptr_type, tmp1263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpdef: tmp1252 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp1254 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp1255 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp1254), atslab_e0xp_loc) ; tmp1253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1252, tmp1255) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_159_1: tmp1256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp1253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1252, tmp1256) ; break ; } while (0) ; do { /* branch: __ats_lab_160 */ __ats_lab_160_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp1258 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; /* ats_int_type tmp1259 ; */ tmp1259 = 0 ; tmp1260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__e0xp_funize (tmp1258, (&tmp1259)) ; tmp1261 = atspre_gt_int_int (tmp1259, 0) ; if (tmp1261) { tmp1257 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp1257, atslab_0, tmp1260) ; } else { tmp1257 = arg2 ; } /* end of [if] */ break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_161_1: tmp1257 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp1263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp1262 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1262)->tag = 5 ; ats_selptrset_mac(anairiats_sum_12, tmp1262, atslab_0, tmp1263) ; ats_selptrset_mac(anairiats_sum_12, tmp1262, atslab_1, tmp1257) ; tmp1251 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1251, atslab_d0ecl_loc, tmp1253) ; ats_selptrset_mac(anairiats_rec_83, tmp1251, atslab_d0ecl_node, tmp1262) ; return (tmp1251) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 58720(line=2751, offs=3) -- 58850(line=2755, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpundef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1264) ; ATSlocal (ats_ptr_type, tmp1265) ; ATSlocal (ats_ptr_type, tmp1266) ; ATSlocal (ats_ptr_type, tmp1267) ; ATSlocal (ats_ptr_type, tmp1268) ; ATSlocal (ats_ptr_type, tmp1269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpundef: tmp1266 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1267 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_loc) ; tmp1265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1266, tmp1267) ; tmp1269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp1268 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1268)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp1268, atslab_0, tmp1269) ; tmp1264 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1264, atslab_d0ecl_loc, tmp1265) ; ats_selptrset_mac(anairiats_rec_83, tmp1264, atslab_d0ecl_node, tmp1268) ; return (tmp1264) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpundef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 58934(line=2761, offs=3) -- 59074(line=2769, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1270) ; ATSlocal (ats_ptr_type, tmp1271) ; ATSlocal (ats_ptr_type, tmp1272) ; ATSlocal (ats_ptr_type, tmp1273) ; ATSlocal (ats_ptr_type, tmp1274) ; ATSlocal (ats_ptr_type, tmp1275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert: tmp1272 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1273 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_loc) ; tmp1271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1272, tmp1273) ; tmp1275 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3) ; tmp1274 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1274)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp1274, atslab_0, tmp1275) ; ats_selptrset_mac(anairiats_sum_12, tmp1274, atslab_1, arg1) ; tmp1270 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1270, atslab_d0ecl_loc, tmp1271) ; ats_selptrset_mac(anairiats_rec_83, tmp1270, atslab_d0ecl_node, tmp1274) ; return (tmp1270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_assert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 59162(line=2775, offs=3) -- 59301(line=2783, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_error (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1276) ; ATSlocal (ats_ptr_type, tmp1277) ; ATSlocal (ats_ptr_type, tmp1278) ; ATSlocal (ats_ptr_type, tmp1279) ; ATSlocal (ats_ptr_type, tmp1280) ; ATSlocal (ats_ptr_type, tmp1281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_error: tmp1278 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1279 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_loc) ; tmp1277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1278, tmp1279) ; tmp1281 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0) ; tmp1280 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1280)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp1280, atslab_0, tmp1281) ; ats_selptrset_mac(anairiats_sum_12, tmp1280, atslab_1, arg1) ; tmp1276 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1276, atslab_d0ecl_loc, tmp1277) ; ats_selptrset_mac(anairiats_rec_83, tmp1276, atslab_d0ecl_node, tmp1280) ; return (tmp1276) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_error] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 59388(line=2789, offs=3) -- 59527(line=2797, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1282) ; ATSlocal (ats_ptr_type, tmp1283) ; ATSlocal (ats_ptr_type, tmp1284) ; ATSlocal (ats_ptr_type, tmp1285) ; ATSlocal (ats_ptr_type, tmp1286) ; ATSlocal (ats_ptr_type, tmp1287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr: tmp1284 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1285 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_loc) ; tmp1283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1284, tmp1285) ; tmp1287 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1) ; tmp1286 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1286)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp1286, atslab_0, tmp1287) ; ats_selptrset_mac(anairiats_sum_12, tmp1286, atslab_1, arg1) ; tmp1282 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1282, atslab_d0ecl_loc, tmp1283) ; ats_selptrset_mac(anairiats_rec_83, tmp1282, atslab_d0ecl_node, tmp1286) ; return (tmp1282) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_prerr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 59614(line=2803, offs=3) -- 59753(line=2811, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_print (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1288) ; ATSlocal (ats_ptr_type, tmp1289) ; ATSlocal (ats_ptr_type, tmp1290) ; ATSlocal (ats_ptr_type, tmp1291) ; ATSlocal (ats_ptr_type, tmp1292) ; ATSlocal (ats_ptr_type, tmp1293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_print: tmp1290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1291 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_e0xp_loc) ; tmp1289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1290, tmp1291) ; tmp1293 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2) ; tmp1292 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1292)->tag = 7 ; ats_selptrset_mac(anairiats_sum_12, tmp1292, atslab_0, tmp1293) ; ats_selptrset_mac(anairiats_sum_12, tmp1292, atslab_1, arg1) ; tmp1288 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1288, atslab_d0ecl_loc, tmp1289) ; ats_selptrset_mac(anairiats_rec_83, tmp1288, atslab_d0ecl_node, tmp1292) ; return (tmp1288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_e0xpact_print] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 59831(line=2817, offs=1) -- 59998(line=2827, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1294) ; // ATSlocal_void (tmp1295) ; ATSlocal (ats_ptr_type, tmp1296) ; ATSlocal (ats_ptr_type, tmp1297) ; ATSlocal (ats_ptr_type, tmp1298) ; ATSlocal (ats_ptr_type, tmp1299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma: /* tmp1295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma_process (arg1) ; tmp1297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1298 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1297, tmp1298) ; tmp1299 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1299)->tag = 8 ; ats_selptrset_mac(anairiats_sum_9, tmp1299, atslab_0, arg1) ; tmp1294 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1294, atslab_d0ecl_loc, tmp1296) ; ats_selptrset_mac(anairiats_rec_83, tmp1294, atslab_d0ecl_node, tmp1299) ; return (tmp1294) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60093(line=2837, offs=1) -- 60404(line=2854, offs=4) */ ATSstaticdec() ats_bool_type e0xp_is_location_284 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1300) ; ATSlocal (ats_ptr_type, tmp1301) ; ATSlocal (ats_ptr_type, tmp1302) ; ATSlocal (ats_ptr_type, tmp1303) ; ATSlocal (ats_ptr_type, tmp1304) ; ATSlocal (ats_ptr_type, tmp1305) ; ATSlocal (ats_ptr_type, tmp1306) ; ATSlocal (ats_bool_type, tmp1307) ; __ats_lab_e0xp_is_location_284: tmp1302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_node) ; do { /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)tmp1302)->tag != 0) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp1303 = ats_caselptrlab_mac(anairiats_sum_9, tmp1302, atslab_0) ; tmp1301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp1303) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)tmp1302)->tag != 4) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp1304 = ats_caselptrlab_mac(anairiats_sum_9, tmp1302, atslab_0) ; tmp1305 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1304), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1305)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60259(line=2847, offs=9) -- 60294(line=2847, offs=44)") ; } tmp1306 = ats_caselptrlab_mac(anairiats_sum_9, tmp1305, atslab_0) ; tmp1301 = tmp1306 ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: __ats_lab_164_1: tmp1301 = ATSstrcst("") ; break ; } while (0) ; tmp1307 = atspre_eq_string_string (tmp1301, ATSstrcst("location")) ; if (tmp1307) { tmp1300 = ats_true_bool ; } else { tmp1300 = ats_false_bool ; } /* end of [if] */ return (tmp1300) ; } /* end of [e0xp_is_location_284] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60439(line=2857, offs=1) -- 60647(line=2867, offs=2) */ ATSstaticdec() ats_ptr_type e2s_285 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1308) ; ATSlocal (ats_ptr_type, tmp1309) ; ATSlocal (ats_ptr_type, tmp1310) ; ATSlocal (ats_ptr_type, tmp1311) ; ATSlocal (ats_ptr_type, tmp1312) ; ATSlocal (ats_ptr_type, tmp1313) ; __ats_lab_e2s_285: tmp1309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_node) ; do { /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp1309)->tag != 0) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp1310 = ats_caselptrlab_mac(anairiats_sum_9, tmp1309, atslab_0) ; tmp1308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp1310) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp1309)->tag != 4) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp1311 = ats_caselptrlab_mac(anairiats_sum_9, tmp1309, atslab_0) ; tmp1312 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1311), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1312)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60574(line=2864, offs=9) -- 60609(line=2864, offs=44)") ; } tmp1313 = ats_caselptrlab_mac(anairiats_sum_9, tmp1312, atslab_0) ; tmp1308 = tmp1313 ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: __ats_lab_167_1: tmp1308 = ATSstrcst("??????") ; break ; } while (0) ; return (tmp1308) ; } /* end of [e2s_285] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60653(line=2870, offs=1) -- 60806(line=2876, offs=2) */ ATSstaticdec() ats_ptr_type locpragma_process0_286 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1314) ; ATSlocal (ats_ptr_type, tmp1315) ; ATSlocal (ats_ptr_type, tmp1316) ; __ats_lab_locpragma_process0_286: do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp1314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make () ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp1315 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp1316 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp1314 = locpragma_process1_287 (tmp1315, tmp1316) ; break ; } while (0) ; return (tmp1314) ; } /* end of [locpragma_process0_286] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 60812(line=2879, offs=1) -- 60993(line=2885, offs=2) */ ATSstaticdec() ats_ptr_type locpragma_process1_287 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1317) ; ATSlocal (ats_ptr_type, tmp1318) ; ATSlocal (ats_ptr_type, tmp1319) ; ATSlocal (ats_ptr_type, tmp1320) ; ATSlocal (ats_ptr_type, tmp1321) ; __ats_lab_locpragma_process1_287: do { /* branch: __ats_lab_170 */ __ats_lab_170_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp1318 = e2s_285 (arg0) ; tmp1317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma1_make (tmp1318) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_171_1: tmp1319 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp1320 = e2s_285 (arg0) ; tmp1321 = e2s_285 (tmp1319) ; tmp1317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma2_make (tmp1320, tmp1321) ; break ; } while (0) ; return (tmp1317) ; } /* end of [locpragma_process1_287] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 61050(line=2891, offs=3) -- 61369(line=2910, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma_process (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1322) ; ATSlocal (ats_ptr_type, tmp1323) ; ATSlocal (ats_ptr_type, tmp1324) ; ATSlocal (ats_bool_type, tmp1325) ; ATSlocal (ats_ptr_type, tmp1326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma_process: do { /* branch: __ats_lab_172 */ __ats_lab_172_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_173_0 ; } __ats_lab_172_1: break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_173_1: tmp1323 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp1324 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; do { /* branch: __ats_lab_174 */ __ats_lab_174_0: __ats_lab_174_1: tmp1325 = e0xp_is_location_284 (tmp1323) ; if (!tmp1325) { goto __ats_lab_175_1 ; } tmp1326 = locpragma_process0_286 (tmp1324) ; /* tmp1322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_set (tmp1326) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: __ats_lab_175_1: break ; } while (0) ; break ; } while (0) ; return /* (tmp1322) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_pragma_process] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 61473(line=2918, offs=1) -- 61614(line=2926, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1327) ; ATSlocal (ats_ptr_type, tmp1328) ; ATSlocal (ats_ptr_type, tmp1329) ; ATSlocal (ats_ptr_type, tmp1330) ; ATSlocal (ats_ptr_type, tmp1331) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen2: tmp1329 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1329, tmp1330) ; tmp1331 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1331)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp1331, atslab_0, 2) ; ats_selptrset_mac(anairiats_sum_5, tmp1331, atslab_1, arg1) ; tmp1327 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1327, atslab_d0ecl_loc, tmp1328) ; ats_selptrset_mac(anairiats_rec_83, tmp1327, atslab_d0ecl_node, tmp1331) ; return (tmp1327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 61668(line=2930, offs=1) -- 61809(line=2938, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1332) ; ATSlocal (ats_ptr_type, tmp1333) ; ATSlocal (ats_ptr_type, tmp1334) ; ATSlocal (ats_ptr_type, tmp1335) ; ATSlocal (ats_ptr_type, tmp1336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen3: tmp1334 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1335 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1334, tmp1335) ; tmp1336 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1336)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp1336, atslab_0, 3) ; ats_selptrset_mac(anairiats_sum_5, tmp1336, atslab_1, arg1) ; tmp1332 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1332, atslab_d0ecl_loc, tmp1333) ; ats_selptrset_mac(anairiats_rec_83, tmp1332, atslab_d0ecl_node, tmp1336) ; return (tmp1332) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_codegen3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 61885(line=2944, offs=3) -- 62131(line=2954, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datsrts (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1337) ; ATSlocal (ats_ptr_type, tmp1338) ; ATSlocal (ats_ptr_type, tmp1339) ; ATSlocal (ats_ptr_type, tmp1340) ; ATSlocal (ats_ptr_type, tmp1341) ; ATSlocal (ats_ptr_type, tmp1342) ; ATSlocal (ats_ptr_type, tmp1343) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datsrts: tmp1338 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1340 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_176 */ __ats_lab_176_0: if (tmp1340 == (ats_sum_ptr_type)0) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp1341 = ats_caselptrlab_mac(anairiats_sum_13, tmp1340, atslab_0) ; ATS_FREE(tmp1340) ; tmp1342 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp1341), atslab_d0atsrtdec_loc) ; tmp1339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1338, tmp1342) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: // if (tmp1340 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_177_1: tmp1339 = tmp1338 ; break ; } while (0) ; tmp1343 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1343)->tag = 10 ; ats_selptrset_mac(anairiats_sum_9, tmp1343, atslab_0, arg1) ; tmp1337 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1337, atslab_d0ecl_loc, tmp1339) ; ats_selptrset_mac(anairiats_rec_83, tmp1337, atslab_d0ecl_node, tmp1343) ; return (tmp1337) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datsrts] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 62185(line=2958, offs=3) -- 62429(line=2966, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_srtdefs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1344) ; ATSlocal (ats_ptr_type, tmp1345) ; ATSlocal (ats_ptr_type, tmp1346) ; ATSlocal (ats_ptr_type, tmp1347) ; ATSlocal (ats_ptr_type, tmp1348) ; ATSlocal (ats_ptr_type, tmp1349) ; ATSlocal (ats_ptr_type, tmp1350) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_srtdefs: tmp1345 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1347 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_178 */ __ats_lab_178_0: if (tmp1347 == (ats_sum_ptr_type)0) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp1348 = ats_caselptrlab_mac(anairiats_sum_13, tmp1347, atslab_0) ; ATS_FREE(tmp1347) ; tmp1349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_41, tmp1348), atslab_s0rtdef_loc) ; tmp1346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1345, tmp1349) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: // if (tmp1347 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_179_1: tmp1346 = tmp1345 ; break ; } while (0) ; tmp1350 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1350)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp1350, atslab_0, arg1) ; tmp1344 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1344, atslab_d0ecl_loc, tmp1346) ; ats_selptrset_mac(anairiats_rec_83, tmp1344, atslab_d0ecl_node, tmp1350) ; return (tmp1344) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_srtdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 62483(line=2970, offs=3) -- 62737(line=2978, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacons (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1351) ; ATSlocal (ats_ptr_type, tmp1352) ; ATSlocal (ats_ptr_type, tmp1353) ; ATSlocal (ats_ptr_type, tmp1354) ; ATSlocal (ats_ptr_type, tmp1355) ; ATSlocal (ats_ptr_type, tmp1356) ; ATSlocal (ats_ptr_type, tmp1357) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacons: tmp1352 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1354 = list_last_opt_01409_ats_ptr_type (arg2) ; do { /* branch: __ats_lab_180 */ __ats_lab_180_0: if (tmp1354 == (ats_sum_ptr_type)0) { goto __ats_lab_181_0 ; } __ats_lab_180_1: tmp1355 = ats_caselptrlab_mac(anairiats_sum_13, tmp1354, atslab_0) ; ATS_FREE(tmp1354) ; tmp1356 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_42, tmp1355), atslab_s0tacon_loc) ; tmp1353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1352, tmp1356) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: // if (tmp1354 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_181_1: tmp1353 = tmp1352 ; break ; } while (0) ; tmp1357 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1357)->tag = 13 ; ats_selptrset_mac(anairiats_sum_5, tmp1357, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp1357, atslab_1, arg2) ; tmp1351 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1351, atslab_d0ecl_loc, tmp1353) ; ats_selptrset_mac(anairiats_rec_83, tmp1351, atslab_d0ecl_node, tmp1357) ; return (tmp1351) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 62791(line=2982, offs=3) -- 63035(line=2990, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacsts (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1358) ; ATSlocal (ats_ptr_type, tmp1359) ; ATSlocal (ats_ptr_type, tmp1360) ; ATSlocal (ats_ptr_type, tmp1361) ; ATSlocal (ats_ptr_type, tmp1362) ; ATSlocal (ats_ptr_type, tmp1363) ; ATSlocal (ats_ptr_type, tmp1364) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacsts: tmp1359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1361 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_182 */ __ats_lab_182_0: if (tmp1361 == (ats_sum_ptr_type)0) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp1362 = ats_caselptrlab_mac(anairiats_sum_13, tmp1361, atslab_0) ; ATS_FREE(tmp1361) ; tmp1363 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_43, tmp1362), atslab_s0tacst_loc) ; tmp1360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1359, tmp1363) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: // if (tmp1361 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_183_1: tmp1360 = tmp1359 ; break ; } while (0) ; tmp1364 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1364)->tag = 12 ; ats_selptrset_mac(anairiats_sum_9, tmp1364, atslab_0, arg1) ; tmp1358 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1358, atslab_d0ecl_loc, tmp1360) ; ats_selptrset_mac(anairiats_rec_83, tmp1358, atslab_d0ecl_node, tmp1364) ; return (tmp1358) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_stacsts] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 63423(line=3010, offs=15) -- 63537(line=3014, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_tkindef (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1365) ; ATSlocal (ats_ptr_type, tmp1366) ; ATSlocal (ats_ptr_type, tmp1367) ; ATSlocal (ats_ptr_type, tmp1368) ; ATSlocal (ats_ptr_type, tmp1369) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_tkindef: tmp1367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1368 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_44, arg1), atslab_t0kindef_loc) ; tmp1366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1367, tmp1368) ; tmp1369 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1369)->tag = 14 ; ats_selptrset_mac(anairiats_sum_9, tmp1369, atslab_0, arg1) ; tmp1365 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1365, atslab_d0ecl_loc, tmp1366) ; ats_selptrset_mac(anairiats_rec_83, tmp1365, atslab_d0ecl_node, tmp1369) ; return (tmp1365) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_tkindef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 63592(line=3018, offs=3) -- 63849(line=3026, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1370) ; ATSlocal (ats_ptr_type, tmp1371) ; ATSlocal (ats_ptr_type, tmp1372) ; ATSlocal (ats_ptr_type, tmp1373) ; ATSlocal (ats_ptr_type, tmp1374) ; ATSlocal (ats_ptr_type, tmp1375) ; ATSlocal (ats_ptr_type, tmp1376) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs: tmp1371 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1373 = list_last_opt_01409_ats_ptr_type (arg2) ; do { /* branch: __ats_lab_184 */ __ats_lab_184_0: if (tmp1373 == (ats_sum_ptr_type)0) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp1374 = ats_caselptrlab_mac(anairiats_sum_13, tmp1373, atslab_0) ; ATS_FREE(tmp1373) ; tmp1375 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_45, tmp1374), atslab_s0expdef_loc) ; tmp1372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1371, tmp1375) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: // if (tmp1373 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_185_1: tmp1372 = tmp1371 ; break ; } while (0) ; tmp1376 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1376)->tag = 15 ; ats_selptrset_mac(anairiats_sum_5, tmp1376, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp1376, atslab_1, arg2) ; tmp1370 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1370, atslab_d0ecl_loc, tmp1372) ; ats_selptrset_mac(anairiats_rec_83, tmp1370, atslab_d0ecl_node, tmp1376) ; return (tmp1370) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_sexpdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 63902(line=3029, offs=15) -- 64016(line=3033, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1377) ; ATSlocal (ats_ptr_type, tmp1378) ; ATSlocal (ats_ptr_type, tmp1379) ; ATSlocal (ats_ptr_type, tmp1380) ; ATSlocal (ats_ptr_type, tmp1381) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_saspdec: tmp1379 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1380 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_46, arg1), atslab_s0aspdec_loc) ; tmp1378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1379, tmp1380) ; tmp1381 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1381)->tag = 16 ; ats_selptrset_mac(anairiats_sum_9, tmp1381, atslab_0, arg1) ; tmp1377 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1377, atslab_d0ecl_loc, tmp1378) ; ats_selptrset_mac(anairiats_rec_83, tmp1377, atslab_d0ecl_node, tmp1381) ; return (tmp1377) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 64091(line=3039, offs=3) -- 64340(line=3047, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1382) ; ATSlocal (ats_ptr_type, tmp1383) ; ATSlocal (ats_ptr_type, tmp1384) ; ATSlocal (ats_ptr_type, tmp1385) ; ATSlocal (ats_ptr_type, tmp1386) ; ATSlocal (ats_ptr_type, tmp1387) ; ATSlocal (ats_ptr_type, tmp1388) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_exndecs: tmp1383 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1385 = list_last_opt_01409_ats_ptr_type (arg1) ; do { /* branch: __ats_lab_186 */ __ats_lab_186_0: if (tmp1385 == (ats_sum_ptr_type)0) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp1386 = ats_caselptrlab_mac(anairiats_sum_13, tmp1385, atslab_0) ; ATS_FREE(tmp1385) ; tmp1387 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_47, tmp1386), atslab_e0xndec_loc) ; tmp1384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1383, tmp1387) ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: // if (tmp1385 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_187_1: tmp1384 = tmp1383 ; break ; } while (0) ; tmp1388 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp1388)->tag = 17 ; ats_selptrset_mac(anairiats_sum_9, tmp1388, atslab_0, arg1) ; tmp1382 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1382, atslab_d0ecl_loc, tmp1384) ; ats_selptrset_mac(anairiats_rec_83, tmp1382, atslab_d0ecl_node, tmp1388) ; return (tmp1382) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 64418(line=3053, offs=1) -- 64710(line=3065, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_none (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1389) ; ATSlocal (ats_ptr_type, tmp1390) ; ATSlocal (ats_ptr_type, tmp1391) ; ATSlocal (ats_ptr_type, tmp1392) ; ATSlocal (ats_ptr_type, tmp1393) ; ATSlocal (ats_ptr_type, tmp1394) ; ATSlocal (ats_ptr_type, tmp1395) ; ATSlocal (ats_ptr_type, tmp1396) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_none: tmp1390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1391 = list_last_opt_01409_ats_ptr_type (arg2) ; do { /* branch: __ats_lab_188 */ __ats_lab_188_0: if (tmp1391 == (ats_sum_ptr_type)0) { goto __ats_lab_189_0 ; } __ats_lab_188_1: tmp1393 = ats_caselptrlab_mac(anairiats_sum_13, tmp1391, atslab_0) ; ATS_FREE(tmp1391) ; tmp1394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_49, tmp1393), atslab_d0atdec_loc) ; tmp1392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1390, tmp1394) ; break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: // if (tmp1391 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_189_1: tmp1392 = tmp1390 ; break ; } while (0) ; tmp1396 = (ats_sum_ptr_type)0 ; tmp1395 = ATS_MALLOC(sizeof(anairiats_sum_71)) ; ((ats_sum_ptr_type)tmp1395)->tag = 18 ; ats_selptrset_mac(anairiats_sum_71, tmp1395, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_71, tmp1395, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_71, tmp1395, atslab_2, tmp1396) ; tmp1389 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1389, atslab_d0ecl_loc, tmp1392) ; ats_selptrset_mac(anairiats_rec_83, tmp1389, atslab_d0ecl_node, tmp1395) ; return (tmp1389) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 64772(line=3069, offs=1) -- 65103(line=3082, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_some (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1397) ; ATSlocal (ats_ptr_type, tmp1398) ; ATSlocal (ats_ptr_type, tmp1399) ; ATSlocal (ats_ptr_type, tmp1400) ; ATSlocal (ats_ptr_type, tmp1401) ; ATSlocal (ats_ptr_type, tmp1402) ; ATSlocal (ats_ptr_type, tmp1403) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_some: tmp1398 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1399 = list_last_opt_01409_ats_ptr_type (arg4) ; do { /* branch: __ats_lab_190 */ __ats_lab_190_0: if (tmp1399 == (ats_sum_ptr_type)0) { goto __ats_lab_191_0 ; } __ats_lab_190_1: tmp1401 = ats_caselptrlab_mac(anairiats_sum_13, tmp1399, atslab_0) ; ATS_FREE(tmp1399) ; tmp1400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_45, tmp1401), atslab_s0expdef_loc) ; break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: // if (tmp1399 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_191_1: tmp1400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; break ; } while (0) ; tmp1402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1398, tmp1400) ; tmp1403 = ATS_MALLOC(sizeof(anairiats_sum_71)) ; ((ats_sum_ptr_type)tmp1403)->tag = 18 ; ats_selptrset_mac(anairiats_sum_71, tmp1403, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_71, tmp1403, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_71, tmp1403, atslab_2, arg4) ; tmp1397 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1397, atslab_d0ecl_loc, tmp1402) ; ats_selptrset_mac(anairiats_rec_83, tmp1397, atslab_d0ecl_node, tmp1403) ; return (tmp1397) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_datdecs_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 65184(line=3088, offs=3) -- 65406(line=3096, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_classdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1404) ; ATSlocal (ats_ptr_type, tmp1405) ; ATSlocal (ats_ptr_type, tmp1406) ; ATSlocal (ats_ptr_type, tmp1407) ; ATSlocal (ats_ptr_type, tmp1408) ; ATSlocal (ats_ptr_type, tmp1409) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_classdec: tmp1405 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; do { /* branch: __ats_lab_192 */ __ats_lab_192_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_193_0 ; } __ats_lab_192_1: tmp1407 = ats_caselptrlab_mac(anairiats_sum_13, arg2, atslab_0) ; tmp1408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp1407), atslab_s0exp_loc) ; tmp1406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1405, tmp1408) ; break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_193_1: tmp1406 = tmp1405 ; break ; } while (0) ; tmp1409 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1409)->tag = 19 ; ats_selptrset_mac(anairiats_sum_12, tmp1409, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1409, atslab_1, arg2) ; tmp1404 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1404, atslab_d0ecl_loc, tmp1406) ; ats_selptrset_mac(anairiats_rec_83, tmp1404, atslab_d0ecl_node, tmp1409) ; return (tmp1404) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_classdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 65467(line=3102, offs=5) -- 65848(line=3120, offs=6) */ ATSstaticdec() ats_ptr_type auxmain_302 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1410) ; ATSlocal (ats_ptr_type, tmp1411) ; ATSlocal (ats_ptr_type, tmp1412) ; ATSlocal (ats_ptr_type, tmp1413) ; ATSlocal (ats_ptr_type, tmp1414) ; ATSlocal (ats_ptr_type, tmp1415) ; ATSlocal (ats_ptr_type, tmp1416) ; __ats_lab_auxmain_302: tmp1411 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1412 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_194 */ __ats_lab_194_0: if (tmp1412 == (ats_sum_ptr_type)0) { goto __ats_lab_195_0 ; } __ats_lab_194_1: tmp1414 = ats_caselptrlab_mac(anairiats_sum_13, tmp1412, atslab_0) ; ATS_FREE(tmp1412) ; tmp1415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_50, tmp1414), atslab_d0cstdec_loc) ; tmp1413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1411, tmp1415) ; break ; /* branch: __ats_lab_195 */ __ats_lab_195_0: // if (tmp1412 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_195_1: tmp1413 = tmp1411 ; break ; } while (0) ; tmp1416 = ATS_MALLOC(sizeof(anairiats_sum_84)) ; ((ats_sum_ptr_type)tmp1416)->tag = 24 ; ats_selptrset_mac(anairiats_sum_84, tmp1416, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_84, tmp1416, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_84, tmp1416, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_84, tmp1416, atslab_3, arg3) ; tmp1410 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1410, atslab_d0ecl_loc, tmp1413) ; ats_selptrset_mac(anairiats_rec_83, tmp1410, atslab_d0ecl_node, tmp1416) ; return (tmp1410) ; } /* end of [auxmain_302] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 65923(line=3126, offs=3) -- 65978(line=3126, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1417) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs: tmp1417 = auxmain_302 (1, arg0, arg1, arg2) ; return (tmp1417) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66016(line=3130, offs=3) -- 66071(line=3130, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1418) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern: tmp1418 = auxmain_302 (1, arg0, arg1, arg2) ; return (tmp1418) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_extern] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66143(line=3134, offs=3) -- 66198(line=3134, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1419) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static: tmp1419 = auxmain_302 (0, arg0, arg1, arg2) ; return (tmp1419) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dcstdecs_static] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66272(line=3142, offs=3) -- 66553(line=3150, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_macdefs (ats_int_type arg0, ats_bool_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1420) ; ATSlocal (ats_ptr_type, tmp1421) ; ATSlocal (ats_ptr_type, tmp1422) ; ATSlocal (ats_ptr_type, tmp1423) ; ATSlocal (ats_ptr_type, tmp1424) ; ATSlocal (ats_ptr_type, tmp1425) ; ATSlocal (ats_ptr_type, tmp1426) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_macdefs: tmp1421 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1423 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_196 */ __ats_lab_196_0: if (tmp1423 == (ats_sum_ptr_type)0) { goto __ats_lab_197_0 ; } __ats_lab_196_1: tmp1424 = ats_caselptrlab_mac(anairiats_sum_13, tmp1423, atslab_0) ; ATS_FREE(tmp1423) ; tmp1425 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_77, tmp1424), atslab_m0acdef_loc) ; tmp1422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1421, tmp1425) ; break ; /* branch: __ats_lab_197 */ __ats_lab_197_0: // if (tmp1423 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_197_1: tmp1422 = tmp1421 ; break ; } while (0) ; tmp1426 = ATS_MALLOC(sizeof(anairiats_sum_85)) ; ((ats_sum_ptr_type)tmp1426)->tag = 26 ; ats_selptrset_mac(anairiats_sum_85, tmp1426, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_85, tmp1426, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_85, tmp1426, atslab_2, arg3) ; tmp1420 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1420, atslab_d0ecl_loc, tmp1422) ; ats_selptrset_mac(anairiats_rec_83, tmp1420, atslab_d0ecl_node, tmp1426) ; return (tmp1420) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_macdefs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66627(line=3156, offs=3) -- 66830(line=3162, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1427) ; ATSlocal (ats_ptr_type, tmp1428) ; ATSlocal (ats_ptr_type, tmp1429) ; ATSlocal (ats_ptr_type, tmp1430) ; ATSlocal (ats_ptr_type, tmp1431) ; ATSlocal (ats_ptr_type, tmp1432) ; ATSlocal (ats_ptr_type, tmp1433) ; ATSlocal (ats_ptr_type, tmp1434) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype: tmp1428 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1428)->tag != 46) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66656(line=3157, offs=7) -- 66684(line=3157, offs=35)") ; } tmp1429 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1429)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66691(line=3158, offs=7) -- 66724(line=3158, offs=40)") ; } tmp1430 = ats_caselptrlab_mac(anairiats_sum_9, tmp1429, atslab_0) ; tmp1432 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1433 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg2), atslab_s0exp_loc) ; tmp1431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1432, tmp1433) ; tmp1434 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1434)->tag = 20 ; ats_selptrset_mac(anairiats_sum_12, tmp1434, atslab_0, tmp1430) ; ats_selptrset_mac(anairiats_sum_12, tmp1434, atslab_1, arg2) ; tmp1427 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1427, atslab_d0ecl_loc, tmp1431) ; ats_selptrset_mac(anairiats_rec_83, tmp1427, atslab_d0ecl_node, tmp1434) ; return (tmp1427) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66883(line=3166, offs=3) -- 67095(line=3172, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1435) ; ATSlocal (ats_ptr_type, tmp1436) ; ATSlocal (ats_int_type, tmp1437) ; ATSlocal (ats_ptr_type, tmp1438) ; ATSlocal (ats_ptr_type, tmp1439) ; ATSlocal (ats_ptr_type, tmp1440) ; ATSlocal (ats_ptr_type, tmp1441) ; ATSlocal (ats_ptr_type, tmp1442) ; ATSlocal (ats_ptr_type, tmp1443) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype2: tmp1436 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1436)->tag != 79) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66912(line=3167, offs=7) -- 66944(line=3167, offs=39)") ; } tmp1437 = ats_caselptrlab_mac(anairiats_sum_8, tmp1436, atslab_0) ; tmp1438 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1438)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 66951(line=3168, offs=7) -- 66984(line=3168, offs=40)") ; } tmp1439 = ats_caselptrlab_mac(anairiats_sum_9, tmp1438, atslab_0) ; tmp1441 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1442 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, arg2), atslab_s0exp_loc) ; tmp1440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1441, tmp1442) ; tmp1443 = ATS_MALLOC(sizeof(anairiats_sum_71)) ; ((ats_sum_ptr_type)tmp1443)->tag = 21 ; ats_selptrset_mac(anairiats_sum_71, tmp1443, atslab_0, tmp1437) ; ats_selptrset_mac(anairiats_sum_71, tmp1443, atslab_1, tmp1439) ; ats_selptrset_mac(anairiats_sum_71, tmp1443, atslab_2, arg2) ; tmp1435 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1435, atslab_d0ecl_loc, tmp1440) ; ats_selptrset_mac(anairiats_rec_83, tmp1435, atslab_d0ecl_node, tmp1443) ; return (tmp1435) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extype2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67168(line=3178, offs=3) -- 67371(line=3184, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1444) ; ATSlocal (ats_ptr_type, tmp1445) ; ATSlocal (ats_ptr_type, tmp1446) ; ATSlocal (ats_ptr_type, tmp1447) ; ATSlocal (ats_ptr_type, tmp1448) ; ATSlocal (ats_ptr_type, tmp1449) ; ATSlocal (ats_ptr_type, tmp1450) ; ATSlocal (ats_ptr_type, tmp1451) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar: tmp1445 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1445)->tag != 47) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67197(line=3179, offs=7) -- 67225(line=3179, offs=35)") ; } tmp1446 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1446)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67232(line=3180, offs=7) -- 67265(line=3180, offs=40)") ; } tmp1447 = ats_caselptrlab_mac(anairiats_sum_9, tmp1446, atslab_0) ; tmp1449 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1450 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1448 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1449, tmp1450) ; tmp1451 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1451)->tag = 22 ; ats_selptrset_mac(anairiats_sum_12, tmp1451, atslab_0, tmp1447) ; ats_selptrset_mac(anairiats_sum_12, tmp1451, atslab_1, arg2) ; tmp1444 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1444, atslab_d0ecl_loc, tmp1448) ; ats_selptrset_mac(anairiats_rec_83, tmp1444, atslab_d0ecl_node, tmp1451) ; return (tmp1444) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67424(line=3188, offs=3) -- 67623(line=3194, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1452) ; ATSlocal (ats_ptr_type, tmp1453) ; ATSlocal (ats_ptr_type, tmp1454) ; ATSlocal (ats_ptr_type, tmp1455) ; ATSlocal (ats_ptr_type, tmp1456) ; ATSlocal (ats_ptr_type, tmp1457) ; ATSlocal (ats_ptr_type, tmp1458) ; ATSlocal (ats_ptr_type, tmp1459) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar2: tmp1453 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1453)->tag != 81) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67453(line=3189, offs=7) -- 67477(line=3189, offs=31)") ; } tmp1454 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1454)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67484(line=3190, offs=7) -- 67517(line=3190, offs=40)") ; } tmp1455 = ats_caselptrlab_mac(anairiats_sum_9, tmp1454, atslab_0) ; tmp1457 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_66, arg2), atslab_d0exp_loc) ; tmp1456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1457, tmp1458) ; tmp1459 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1459)->tag = 22 ; ats_selptrset_mac(anairiats_sum_12, tmp1459, atslab_0, tmp1455) ; ats_selptrset_mac(anairiats_sum_12, tmp1459, atslab_1, arg2) ; tmp1452 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1452, atslab_d0ecl_loc, tmp1456) ; ats_selptrset_mac(anairiats_rec_83, tmp1452, atslab_d0ecl_node, tmp1459) ; return (tmp1452) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extvar2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67698(line=3200, offs=3) -- 67839(line=3204, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1460) ; ATSlocal (ats_ptr_type, tmp1461) ; ATSlocal (ats_int_type, tmp1462) ; ATSlocal (ats_ptr_type, tmp1463) ; ATSlocal (ats_ptr_type, tmp1464) ; ATSlocal (ats_ptr_type, tmp1465) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode: tmp1461 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1461)->tag != 169) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67721(line=3201, offs=7) -- 67759(line=3201, offs=45)") ; } tmp1462 = ats_caselptrlab_mac(anairiats_sum_5, tmp1461, atslab_0) ; tmp1463 = ats_caselptrlab_mac(anairiats_sum_5, tmp1461, atslab_1) ; tmp1464 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1465 = ATS_MALLOC(sizeof(anairiats_sum_36)) ; ((ats_sum_ptr_type)tmp1465)->tag = 23 ; ats_selptrset_mac(anairiats_sum_36, tmp1465, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_36, tmp1465, atslab_1, tmp1462) ; ats_selptrset_mac(anairiats_sum_36, tmp1465, atslab_2, tmp1463) ; tmp1460 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1460, atslab_d0ecl_loc, tmp1464) ; ats_selptrset_mac(anairiats_rec_83, tmp1460, atslab_d0ecl_node, tmp1465) ; return (tmp1460) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67911(line=3209, offs=14) -- 68104(line=3216, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_impdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1466) ; ATSlocal (ats_ptr_type, tmp1467) ; ATSlocal (ats_int_type, tmp1468) ; ATSlocal (ats_ptr_type, tmp1469) ; ATSlocal (ats_ptr_type, tmp1470) ; ATSlocal (ats_ptr_type, tmp1471) ; ATSlocal (ats_ptr_type, tmp1472) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_impdec: tmp1467 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1467)->tag != 54) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 67949(line=3212, offs=7) -- 67983(line=3212, offs=41)") ; } tmp1468 = ats_caselptrlab_mac(anairiats_sum_8, tmp1467, atslab_0) ; tmp1470 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1471 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_82, arg2), atslab_i0mpdec_loc) ; tmp1469 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1470, tmp1471) ; tmp1472 = ATS_MALLOC(sizeof(anairiats_sum_71)) ; ((ats_sum_ptr_type)tmp1472)->tag = 25 ; ats_selptrset_mac(anairiats_sum_71, tmp1472, atslab_0, tmp1468) ; ats_selptrset_mac(anairiats_sum_71, tmp1472, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_71, tmp1472, atslab_2, arg2) ; tmp1466 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1466, atslab_d0ecl_loc, tmp1469) ; ats_selptrset_mac(anairiats_rec_83, tmp1466, atslab_d0ecl_node, tmp1472) ; return (tmp1466) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 68176(line=3221, offs=15) -- 68444(line=3231, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1473) ; ATSlocal (ats_ptr_type, tmp1474) ; ATSlocal (ats_ptr_type, tmp1475) ; ATSlocal (ats_ptr_type, tmp1476) ; ATSlocal (ats_ptr_type, tmp1477) ; ATSlocal (ats_ptr_type, tmp1478) ; ATSlocal (ats_ptr_type, tmp1479) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fundecs: tmp1474 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1476 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_198 */ __ats_lab_198_0: if (tmp1476 == (ats_sum_ptr_type)0) { goto __ats_lab_199_0 ; } __ats_lab_198_1: tmp1477 = ats_caselptrlab_mac(anairiats_sum_13, tmp1476, atslab_0) ; ATS_FREE(tmp1476) ; tmp1478 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_80, tmp1477), atslab_f0undec_loc) ; tmp1475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1474, tmp1478) ; break ; /* branch: __ats_lab_199 */ __ats_lab_199_0: // if (tmp1476 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_199_1: tmp1475 = tmp1474 ; break ; } while (0) ; tmp1479 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1479)->tag = 27 ; ats_selptrset_mac(anairiats_sum_14, tmp1479, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp1479, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_14, tmp1479, atslab_2, arg3) ; tmp1473 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1473, atslab_d0ecl_loc, tmp1475) ; ats_selptrset_mac(anairiats_rec_83, tmp1473, atslab_d0ecl_node, tmp1479) ; return (tmp1473) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 68517(line=3236, offs=15) -- 68789(line=3246, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_valdecs (ats_ptr_type arg0, ats_bool_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1480) ; ATSlocal (ats_ptr_type, tmp1481) ; ATSlocal (ats_ptr_type, tmp1482) ; ATSlocal (ats_ptr_type, tmp1483) ; ATSlocal (ats_ptr_type, tmp1484) ; ATSlocal (ats_ptr_type, tmp1485) ; ATSlocal (ats_ptr_type, tmp1486) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_valdecs: tmp1481 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1483 = list_last_opt_01409_ats_ptr_type (arg3) ; do { /* branch: __ats_lab_200 */ __ats_lab_200_0: if (tmp1483 == (ats_sum_ptr_type)0) { goto __ats_lab_201_0 ; } __ats_lab_200_1: tmp1484 = ats_caselptrlab_mac(anairiats_sum_13, tmp1483, atslab_0) ; ATS_FREE(tmp1483) ; tmp1485 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_79, tmp1484), atslab_v0aldec_loc) ; tmp1482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1481, tmp1485) ; break ; /* branch: __ats_lab_201 */ __ats_lab_201_0: // if (tmp1483 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_201_1: tmp1482 = tmp1481 ; break ; } while (0) ; tmp1486 = ATS_MALLOC(sizeof(anairiats_sum_86)) ; ((ats_sum_ptr_type)tmp1486)->tag = 28 ; ats_selptrset_mac(anairiats_sum_86, tmp1486, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_86, tmp1486, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_86, tmp1486, atslab_2, arg3) ; tmp1480 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1480, atslab_d0ecl_loc, tmp1482) ; ats_selptrset_mac(anairiats_rec_83, tmp1480, atslab_d0ecl_node, tmp1486) ; return (tmp1480) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 68864(line=3252, offs=3) -- 69118(line=3260, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_vardecs (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1487) ; ATSlocal (ats_ptr_type, tmp1488) ; ATSlocal (ats_ptr_type, tmp1489) ; ATSlocal (ats_ptr_type, tmp1490) ; ATSlocal (ats_ptr_type, tmp1491) ; ATSlocal (ats_ptr_type, tmp1492) ; ATSlocal (ats_ptr_type, tmp1493) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_vardecs: tmp1488 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1490 = list_last_opt_01409_ats_ptr_type (arg2) ; do { /* branch: __ats_lab_202 */ __ats_lab_202_0: if (tmp1490 == (ats_sum_ptr_type)0) { goto __ats_lab_203_0 ; } __ats_lab_202_1: tmp1491 = ats_caselptrlab_mac(anairiats_sum_13, tmp1490, atslab_0) ; ATS_FREE(tmp1490) ; tmp1492 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_81, tmp1491), atslab_v0ardec_loc) ; tmp1489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1488, tmp1492) ; break ; /* branch: __ats_lab_203 */ __ats_lab_203_0: // if (tmp1490 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_203_1: tmp1489 = tmp1488 ; break ; } while (0) ; tmp1493 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp1493)->tag = 29 ; ats_selptrset_mac(anairiats_sum_5, tmp1493, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp1493, atslab_1, arg2) ; tmp1487 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1487, atslab_d0ecl_loc, tmp1489) ; ats_selptrset_mac(anairiats_rec_83, tmp1487, atslab_d0ecl_node, tmp1493) ; return (tmp1487) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 69199(line=3266, offs=3) -- 69491(line=3278, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_fname (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1494) ; ATSlocal (ats_ptr_type, tmp1495) ; ATSlocal (ats_ptr_type, tmp1496) ; ATSlocal (ats_ptr_type, tmp1497) ; // ATSlocal_void (tmp1498) ; ATSlocal (ats_ptr_type, tmp1499) ; ATSlocal (ats_ptr_type, tmp1500) ; ATSlocal (ats_ptr_type, tmp1501) ; ATSlocal (ats_ptr_type, tmp1502) ; ATSlocal (ats_ptr_type, tmp1503) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_fname: tmp1495 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1496 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1496)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 69253(line=3269, offs=7) -- 69286(line=3269, offs=40)") ; } tmp1497 = ats_caselptrlab_mac(anairiats_sum_9, tmp1496, atslab_0) ; /* tmp1498 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (tmp1495, tmp1497) ; tmp1500 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1499 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1500, tmp1495) ; tmp1501 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp1503 = (ats_sum_ptr_type)0 ; tmp1502 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1502)->tag = 31 ; ats_selptrset_mac(anairiats_sum_14, tmp1502, atslab_0, tmp1501) ; ats_selptrset_mac(anairiats_sum_14, tmp1502, atslab_1, tmp1503) ; ats_selptrset_mac(anairiats_sum_14, tmp1502, atslab_2, tmp1497) ; tmp1494 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1494, atslab_d0ecl_loc, tmp1499) ; ats_selptrset_mac(anairiats_rec_83, tmp1494, atslab_d0ecl_node, tmp1502) ; return (tmp1494) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_fname] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 69579(line=3284, offs=3) -- 69865(line=3295, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_nspace (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1504) ; ATSlocal (ats_ptr_type, tmp1505) ; ATSlocal (ats_ptr_type, tmp1506) ; ATSlocal (ats_ptr_type, tmp1507) ; ATSlocal (ats_ptr_type, tmp1508) ; ATSlocal (ats_ptr_type, tmp1509) ; ATSlocal (ats_ptr_type, tmp1510) ; ATSlocal (ats_ptr_type, tmp1511) ; ATSlocal (ats_ptr_type, tmp1512) ; ATSlocal (ats_ptr_type, tmp1513) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_nspace: tmp1505 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1506 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1506)->tag != 143) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 69633(line=3287, offs=7) -- 69669(line=3287, offs=43)") ; } tmp1507 = ats_caselptrlab_mac(anairiats_sum_9, tmp1506, atslab_0) ; tmp1509 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1509, tmp1505) ; tmp1510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp1511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp1507) ; tmp1513 = (ats_sum_ptr_type)0 ; tmp1512 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1512)->tag = 32 ; ats_selptrset_mac(anairiats_sum_14, tmp1512, atslab_0, tmp1510) ; ats_selptrset_mac(anairiats_sum_14, tmp1512, atslab_1, tmp1513) ; ats_selptrset_mac(anairiats_sum_14, tmp1512, atslab_2, tmp1511) ; tmp1504 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1504, atslab_d0ecl_loc, tmp1508) ; ats_selptrset_mac(anairiats_rec_83, tmp1504, atslab_d0ecl_node, tmp1512) ; return (tmp1504) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_nspace] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 69950(line=3300, offs=20) -- 70083(line=3308, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1514) ; ATSlocal (ats_ptr_type, tmp1515) ; ATSlocal (ats_ptr_type, tmp1516) ; ATSlocal (ats_ptr_type, tmp1517) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_get_loc: do { /* branch: __ats_lab_204 */ __ats_lab_204_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_205_0 ; } __ats_lab_204_1: tmp1515 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp1514 = tmp1515 ; break ; /* branch: __ats_lab_205 */ __ats_lab_205_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_206_0 ; } __ats_lab_205_1: tmp1516 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp1514 = tmp1516 ; break ; /* branch: __ats_lab_206 */ __ats_lab_206_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_206_1: tmp1517 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp1514 = tmp1517 ; break ; } while (0) ; return (tmp1514) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 70168(line=3314, offs=3) -- 70242(line=3315, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_declist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1518) ; ATSlocal (ats_ptr_type, tmp1519) ; ATSlocal (ats_ptr_type, tmp1520) ; ATSlocal (ats_ptr_type, tmp1521) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_declist: tmp1520 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1521 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1520, tmp1521) ; tmp1518 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1518)->tag = 2 ; ats_selptrset_mac(anairiats_sum_12, tmp1518, atslab_0, tmp1519) ; ats_selptrset_mac(anairiats_sum_12, tmp1518, atslab_1, arg1) ; return (tmp1518) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_declist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 70331(line=3322, offs=3) -- 70974(line=3349, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_some_arg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1522) ; ATSlocal (ats_ptr_type, tmp1523) ; ATSlocal (ats_ptr_type, tmp1524) ; ATSlocal (ats_ptr_type, tmp1525) ; ATSlocal (ats_ptr_type, tmp1526) ; ATSlocal (ats_ptr_type, tmp1527) ; ATSlocal (ats_ptr_type, tmp1528) ; ATSlocal (ats_ptr_type, tmp1529) ; ATSlocal (ats_ptr_type, tmp1530) ; // ATSlocal_void (tmp1531) ; ATSlocal (ats_ptr_type, tmp1532) ; ATSlocal (ats_ptr_type, tmp1533) ; ATSlocal (ats_ptr_type, tmp1534) ; ATSlocal (ats_ptr_type, tmp1535) ; ATSlocal (ats_ptr_type, tmp1536) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_some_arg: tmp1523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_i0de_sym) ; tmp1525 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staloadarg_get_loc (arg2) ; tmp1524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1525, tmp1526) ; tmp1527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; do { /* branch: __ats_lab_207 */ __ats_lab_207_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_208_0 ; } __ats_lab_207_1: tmp1529 = ats_caselptrlab_mac(anairiats_sum_12, arg2, atslab_0) ; tmp1530 = ats_caselptrlab_mac(anairiats_sum_12, arg2, atslab_1) ; /* tmp1531 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (tmp1529, tmp1530) ; tmp1532 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp1532, atslab_0, tmp1523) ; tmp1528 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1528)->tag = 31 ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_0, tmp1527) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_1, tmp1532) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_2, tmp1530) ; break ; /* branch: __ats_lab_208 */ __ats_lab_208_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_209_0 ; } __ats_lab_208_1: tmp1533 = ats_caselptrlab_mac(anairiats_sum_12, arg2, atslab_1) ; tmp1534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp1533) ; tmp1535 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp1535, atslab_0, tmp1523) ; tmp1528 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1528)->tag = 32 ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_0, tmp1527) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_1, tmp1535) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_2, tmp1534) ; break ; /* branch: __ats_lab_209 */ __ats_lab_209_0: // if (((ats_sum_ptr_type)arg2)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_209_1: tmp1536 = ats_caselptrlab_mac(anairiats_sum_12, arg2, atslab_1) ; tmp1528 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1528)->tag = 33 ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_0, tmp1527) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_1, tmp1523) ; ats_selptrset_mac(anairiats_sum_14, tmp1528, atslab_2, tmp1536) ; break ; } while (0) ; tmp1522 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1522, atslab_d0ecl_loc, tmp1524) ; ats_selptrset_mac(anairiats_rec_83, tmp1522, atslab_d0ecl_node, tmp1528) ; return (tmp1522) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_staload_some_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71058(line=3355, offs=3) -- 71333(line=3366, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_require (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1537) ; ATSlocal (ats_ptr_type, tmp1538) ; ATSlocal (ats_ptr_type, tmp1539) ; ATSlocal (ats_ptr_type, tmp1540) ; // ATSlocal_void (tmp1541) ; ATSlocal (ats_ptr_type, tmp1542) ; ATSlocal (ats_ptr_type, tmp1543) ; ATSlocal (ats_ptr_type, tmp1544) ; ATSlocal (ats_ptr_type, tmp1545) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_require: tmp1538 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1539 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1539)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71108(line=3358, offs=5) -- 71141(line=3358, offs=38)") ; } tmp1540 = ats_caselptrlab_mac(anairiats_sum_9, tmp1539, atslab_0) ; /* tmp1541 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (tmp1538, tmp1540) ; tmp1543 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1542 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1543, tmp1538) ; tmp1544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp1545 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1545)->tag = 34 ; ats_selptrset_mac(anairiats_sum_12, tmp1545, atslab_0, tmp1544) ; ats_selptrset_mac(anairiats_sum_12, tmp1545, atslab_1, tmp1540) ; tmp1537 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1537, atslab_d0ecl_loc, tmp1542) ; ats_selptrset_mac(anairiats_rec_83, tmp1537, atslab_d0ecl_node, tmp1545) ; return (tmp1537) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_require] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71408(line=3372, offs=3) -- 71683(line=3383, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1546) ; ATSlocal (ats_ptr_type, tmp1547) ; ATSlocal (ats_ptr_type, tmp1548) ; ATSlocal (ats_ptr_type, tmp1549) ; // ATSlocal_void (tmp1550) ; ATSlocal (ats_ptr_type, tmp1551) ; ATSlocal (ats_ptr_type, tmp1552) ; ATSlocal (ats_ptr_type, tmp1553) ; ATSlocal (ats_ptr_type, tmp1554) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dynload: tmp1547 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_loc) ; tmp1548 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp1548)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71458(line=3375, offs=5) -- 71491(line=3375, offs=38)") ; } tmp1549 = ats_caselptrlab_mac(anairiats_sum_9, tmp1548, atslab_0) ; /* tmp1550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (tmp1547, tmp1549) ; tmp1552 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1551 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1552, tmp1547) ; tmp1553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp1554 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1554)->tag = 35 ; ats_selptrset_mac(anairiats_sum_12, tmp1554, atslab_0, tmp1553) ; ats_selptrset_mac(anairiats_sum_12, tmp1554, atslab_1, tmp1549) ; tmp1546 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1546, atslab_d0ecl_loc, tmp1551) ; ats_selptrset_mac(anairiats_rec_83, tmp1546, atslab_d0ecl_node, tmp1554) ; return (tmp1546) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71754(line=3388, offs=13) -- 71908(line=3394, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1555) ; ATSlocal (ats_ptr_type, tmp1556) ; ATSlocal (ats_ptr_type, tmp1557) ; ATSlocal (ats_ptr_type, tmp1558) ; ATSlocal (ats_ptr_type, tmp1559) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local: tmp1557 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1558 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp1556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1557, tmp1558) ; tmp1559 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1559)->tag = 36 ; ats_selptrset_mac(anairiats_sum_12, tmp1559, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp1559, atslab_1, arg2) ; tmp1555 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1555, atslab_d0ecl_loc, tmp1556) ; ats_selptrset_mac(anairiats_rec_83, tmp1555, atslab_d0ecl_node, tmp1559) ; return (tmp1555) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_local] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 71958(line=3398, offs=5) -- 72215(line=3406, offs=8) */ ATSstaticdec() ats_ptr_type srpifkind_of_token_324 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1560) ; ATSlocal (ats_ptr_type, tmp1561) ; // ATSlocal_void (tmp1562) ; ATSlocal (ats_ptr_type, tmp1563) ; __ats_lab_srpifkind_of_token_324: tmp1561 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; do { /* branch: __ats_lab_210 */ __ats_lab_210_0: if (((ats_sum_ptr_type)tmp1561)->tag != 119) { goto __ats_lab_211_0 ; } __ats_lab_210_1: tmp1560 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; break ; /* branch: __ats_lab_211 */ __ats_lab_211_0: if (((ats_sum_ptr_type)tmp1561)->tag != 120) { goto __ats_lab_212_0 ; } __ats_lab_211_1: tmp1560 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1) ; break ; /* branch: __ats_lab_212 */ __ats_lab_212_0: if (((ats_sum_ptr_type)tmp1561)->tag != 121) { goto __ats_lab_213_0 ; } __ats_lab_212_1: tmp1560 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2) ; break ; /* branch: __ats_lab_213 */ __ats_lab_213_0: __ats_lab_213_1: tmp1563 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 72172(line=3405, offs=16) -- 72188(line=3405, offs=32)", ATSstrcst("\n")) ; /* tmp1562 = */ atspre_assert_errmsg (ats_false_bool, tmp1563) ; tmp1560 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; break ; } while (0) ; return (tmp1560) ; } /* end of [srpifkind_of_token_324] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 72269(line=3409, offs=5) -- 72534(line=3417, offs=8) */ ATSstaticdec() ats_ptr_type srpelifkind_of_token_325 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1564) ; ATSlocal (ats_ptr_type, tmp1565) ; // ATSlocal_void (tmp1566) ; ATSlocal (ats_ptr_type, tmp1567) ; __ats_lab_srpelifkind_of_token_325: tmp1565 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; do { /* branch: __ats_lab_214 */ __ats_lab_214_0: if (((ats_sum_ptr_type)tmp1565)->tag != 123) { goto __ats_lab_215_0 ; } __ats_lab_214_1: tmp1564 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; break ; /* branch: __ats_lab_215 */ __ats_lab_215_0: if (((ats_sum_ptr_type)tmp1565)->tag != 124) { goto __ats_lab_216_0 ; } __ats_lab_215_1: tmp1564 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1) ; break ; /* branch: __ats_lab_216 */ __ats_lab_216_0: if (((ats_sum_ptr_type)tmp1565)->tag != 125) { goto __ats_lab_217_0 ; } __ats_lab_216_1: tmp1564 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2) ; break ; /* branch: __ats_lab_217 */ __ats_lab_217_0: __ats_lab_217_1: tmp1567 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 72491(line=3416, offs=16) -- 72507(line=3416, offs=32)", ATSstrcst("\n")) ; /* tmp1566 = */ atspre_assert_errmsg (ats_false_bool, tmp1567) ; tmp1564 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; break ; } while (0) ; return (tmp1564) ; } /* end of [srpelifkind_of_token_325] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 72631(line=3423, offs=15) -- 72790(line=3428, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1568) ; ATSlocal (ats_ptr_type, tmp1569) ; ATSlocal (ats_ptr_type, tmp1570) ; ATSlocal (ats_ptr_type, tmp1571) ; ATSlocal (ats_ptr_type, tmp1572) ; ATSlocal (ats_ptr_type, tmp1573) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl: tmp1570 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_loc) ; tmp1571 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_87, arg1), atslab_guad0ecl_loc) ; tmp1569 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1570, tmp1571) ; tmp1572 = srpifkind_of_token_324 (arg0) ; tmp1573 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1573)->tag = 37 ; ats_selptrset_mac(anairiats_sum_12, tmp1573, atslab_0, tmp1572) ; ats_selptrset_mac(anairiats_sum_12, tmp1573, atslab_1, arg1) ; tmp1568 = ATS_MALLOC(sizeof(anairiats_rec_83)) ; ats_selptrset_mac(anairiats_rec_83, tmp1568, atslab_d0ecl_loc, tmp1569) ; ats_selptrset_mac(anairiats_rec_83, tmp1568, atslab_d0ecl_node, tmp1573) ; return (tmp1568) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ecl_guadecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 72862(line=3433, offs=14) -- 73012(line=3440, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_one (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1574) ; ATSlocal (ats_ptr_type, tmp1575) ; ATSlocal (ats_ptr_type, tmp1576) ; ATSlocal (ats_ptr_type, tmp1577) ; ATSlocal (ats_ptr_type, tmp1578) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_one: tmp1576 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_loc) ; tmp1577 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg2), atslab_token_loc) ; tmp1575 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1576, tmp1577) ; tmp1578 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp1578)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp1578, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp1578, atslab_1, arg1) ; tmp1574 = ATS_MALLOC(sizeof(anairiats_rec_87)) ; ats_selptrset_mac(anairiats_rec_87, tmp1574, atslab_guad0ecl_loc, tmp1575) ; ats_selptrset_mac(anairiats_rec_87, tmp1574, atslab_guad0ecl_node, tmp1578) ; return (tmp1574) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_one] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 73062(line=3443, offs=14) -- 73230(line=3450, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_two (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1579) ; ATSlocal (ats_ptr_type, tmp1580) ; ATSlocal (ats_ptr_type, tmp1581) ; ATSlocal (ats_ptr_type, tmp1582) ; ATSlocal (ats_ptr_type, tmp1583) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_two: tmp1581 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_loc) ; tmp1582 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_loc) ; tmp1580 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1581, tmp1582) ; tmp1583 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp1583)->tag = 1 ; ats_selptrset_mac(anairiats_sum_14, tmp1583, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp1583, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_14, tmp1583, atslab_2, arg2) ; tmp1579 = ATS_MALLOC(sizeof(anairiats_rec_87)) ; ats_selptrset_mac(anairiats_rec_87, tmp1579, atslab_guad0ecl_loc, tmp1580) ; ats_selptrset_mac(anairiats_rec_87, tmp1579, atslab_guad0ecl_node, tmp1583) ; return (tmp1579) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_two] */ /* // /home/hwxi/Research/Postiats/git/src/pats_syntax.dats: 73281(line=3453, offs=15) -- 73522(line=3463, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_cons (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1584) ; ATSlocal (ats_ptr_type, tmp1585) ; ATSlocal (ats_ptr_type, tmp1586) ; ATSlocal (ats_ptr_type, tmp1587) ; ATSlocal (ats_ptr_type, tmp1588) ; ATSlocal (ats_ptr_type, tmp1589) ; ATSlocal (ats_ptr_type, tmp1590) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_cons: tmp1586 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_e0xp_loc) ; tmp1587 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_87, arg3), atslab_guad0ecl_loc) ; tmp1585 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp1586, tmp1587) ; tmp1588 = srpelifkind_of_token_325 (arg2) ; tmp1590 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_87, arg3), atslab_guad0ecl_node) ; tmp1589 = ATS_MALLOC(sizeof(anairiats_sum_31)) ; ((ats_sum_ptr_type)tmp1589)->tag = 2 ; ats_selptrset_mac(anairiats_sum_31, tmp1589, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_31, tmp1589, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_31, tmp1589, atslab_2, tmp1588) ; ats_selptrset_mac(anairiats_sum_31, tmp1589, atslab_3, tmp1590) ; tmp1584 = ATS_MALLOC(sizeof(anairiats_rec_87)) ; ats_selptrset_mac(anairiats_rec_87, tmp1584, atslab_guad0ecl_loc, tmp1585) ; ats_selptrset_mac(anairiats_rec_87, tmp1584, atslab_guad0ecl_node, tmp1589) ; return (tmp1584) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guad0ecl_cons] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp194, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp220, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_none (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_s0taq_none = statmp194 ; statmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none = statmp220 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_syntax_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_util_dats.c0000664000175000017500000025624412655455557021065 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_10 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trdn_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed2exp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed3exp_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tytup) (ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec) (ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc) (ats_ptr_type, ats_bool_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_d3exp_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__labd2explst_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lablst_is_overld) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type fshowtype_d3exp_1 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_int_type loop_9 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_17 (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_ptr_type aux_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type f_26 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 1608(line=48, offs=18) -- 1637(line=48, offs=47) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_util")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 2242(line=92, offs=1) -- 2795(line=125, offs=4) */ ATSstaticdec() ats_void_type fshowtype_d3exp_1 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_bool_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_fshowtype_d3exp_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_d3exp_loc) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg1) ; tmp5 = atspre_gt_int_int (arg0, 0) ; if (tmp5) { /* tmp4 = */ atspre_fprint_string (stdout, ATSstrcst("**SHOWTYPE[UP]**")) ; } else { /* tmp4 = */ atspre_fprint_string (stdout, ATSstrcst("**SHOWTYPE[DN]**")) ; } /* end of [if] */ /* tmp6 = */ atspre_fprint_string (stdout, ATSstrcst("(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (stdout, tmp2) ; /* tmp8 = */ atspre_fprint_string (stdout, ATSstrcst(")")) ; /* tmp9 = */ atspre_fprint_string (stdout, ATSstrcst(": ")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (stdout, tmp3) ; /* tmp11 = */ atspre_fprint_string (stdout, ATSstrcst(": ")) ; tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp3), atslab_s2exp_srt) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (stdout, tmp13) ; /* tmp1 = */ atspre_fprint_newline (stdout) ; return /* (tmp1) */ ; } /* end of [fshowtype_d3exp_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 2876(line=130, offs=20) -- 2908(line=130, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_up (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_up: /* tmp14 = */ fshowtype_d3exp_1 (1, arg0) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_up] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 2938(line=132, offs=20) -- 2971(line=132, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_dn (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_dn: /* tmp15 = */ fshowtype_d3exp_1 (-1, arg0) ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_dn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 3051(line=140, offs=3) -- 3207(line=145, offs=14) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp17)->tag != 66) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_4, tmp17, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_4, tmp17, atslab_1) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp19 ; tmp16 = tmp18 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp16 = arg0 ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 3297(line=152, offs=3) -- 3674(line=166, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp: tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp21)->tag != 53) { goto __ats_lab_3_0 ; } __ats_lab_2_1: ats_ptrget_mac(ats_ptr_type, arg1) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; tmp20 = arg0 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp21)->tag != 54) { goto __ats_lab_4_0 ; } __ats_lab_3_1: ats_ptrget_mac(ats_ptr_type, arg1) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; tmp20 = arg0 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp21)->tag != 55) { goto __ats_lab_5_0 ; } __ats_lab_4_1: ats_ptrget_mac(ats_ptr_type, arg1) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil ; tmp20 = arg0 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp21)->tag != 65) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_1) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp23 ; tmp20 = tmp22 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: ats_ptrget_mac(ats_ptr_type, arg1) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; tmp20 = arg0 ; break ; } while (0) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 3954(line=182, offs=1) -- 4454(line=196, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body: /* ats_ptr_type tmp25 ; */ tmp25 = arg1 ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_syn_type (arg4) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (arg5) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_funclo_of_d2exp (arg5, (&tmp25)) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp27) ; tmp31 = atspre_gt_int_int (arg2, 0) ; if (tmp31) { tmp30 = ats_true_bool ; } else { tmp30 = ats_false_bool ; } /* end of [if] */ /* ats_ptr_type tmp32 ; */ tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_s2eff_of_d2exp (tmp28, (&tmp32)) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc (arg0, tmp29, tmp30, tmp25) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp34, tmp25, arg2, tmp32, arg3, tmp26, tmp27) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_9 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; __ats_lab_loop_9: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp53 = atspre_isucc (arg1) ; arg0 = tmp52 ; arg1 = tmp53 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp51 = arg1 ; break ; } while (0) ; return (tmp51) ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp50) ; __ats_lab_list_length_01410_ats_ptr_type: tmp50 = loop_9 (arg0, 0) ; return (tmp50) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51232(line=1817, offs=5) -- 51354(line=1819, offs=58) */ ATSstaticdec() ats_ptr_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab_loop_11: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; arg0 = tmp67 ; arg1 = tmp68 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp66 = arg0 ; break ; } while (0) ; return (tmp66) ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51194(line=1813, offs=11) -- 51390(line=1823, offs=2) */ ATSstaticdec() ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_list_last_01407_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp69 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp70 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp65 = loop_11 (tmp69, tmp70) ; return (tmp65) ; } /* end of [list_last_01407_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 4542(line=202, offs=3) -- 7547(line=320, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_bool_type, tmp48) ; ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_int_type, tmp59) ; ATSlocal (ats_int_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_d2exp_loc) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp37)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype () ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp37)->tag != 4) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype () ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp37)->tag != 5) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype () ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp37)->tag != 7) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp37)->tag != 6) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp37)->tag != 8) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_5, tmp37, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type (tmp38) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp37)->tag != 9) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_t0ype () ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp37)->tag != 11) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp37)->tag != 10) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp37, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type (tmp39) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp37)->tag != 15) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_5, tmp37, atslab_0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type (arg0, tmp40) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp37)->tag != 14) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp37)->tag != 17) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_0) ; tmp35 = tmp41 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp37)->tag != 42) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp37)->tag != 34) { goto __ats_lab_25_0 ; } __ats_lab_20_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_1) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_2) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp43 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_7, tmp43, atslab_0) ; tmp45 = tmp46 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp43 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp48 = atspre_eq_int_int (tmp42, 0) ; if (tmp48) { tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } else { tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp36, tmp47) ; break ; } while (0) ; tmp49 = list_length_01410_ats_ptr_type (tmp44) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (tmp45) ; if (tmp54) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_t0ype_int_type (tmp45, tmp49) ; } else { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_list_vt0ype_int_vtype (tmp45, tmp49) ; } /* end of [if] */ break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp37)->tag != 35) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_1) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_2) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_syn_type (tmp57) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tytup (tmp55, tmp56, tmp58) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp37)->tag != 36) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_1) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_9, tmp37, atslab_2) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__labd2explst_syn_type (tmp61) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (tmp59, tmp60, tmp62) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp37)->tag != 37) { goto __ats_lab_32_0 ; } __ats_lab_27_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_5, tmp37, atslab_0) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp63 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_28_1: tmp64 = list_last_01407_ats_ptr_type (tmp63) ; arg0 = tmp64 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp63 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; break ; } while (0) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp37)->tag != 45) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_1) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp71 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_7, tmp71, atslab_0) ; tmp73 = tmp74 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp71 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp36, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; tmp75 = list_length_01410_ats_ptr_type (tmp72) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_arrpsz_vt0ype_int_vt0ype (tmp73, tmp75) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp37)->tag != 53) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_0) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_1) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_2) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_3) ; tmp80 = (ats_sum_ptr_type)0 ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body (tmp36, tmp80, tmp76, tmp77, tmp78, tmp79) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp37)->tag != 54) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_1) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_2) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_10, tmp37, atslab_3) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp85, atslab_0, 0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__d2exp_syn_type_arg_body (tmp36, tmp85, tmp81, tmp82, tmp83, tmp84) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp37)->tag != 55) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_12, tmp37, atslab_0) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_12, tmp37, atslab_1) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_12, tmp37, atslab_2) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (tmp88) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp86, tmp87, tmp89) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp37)->tag != 56) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_12, tmp37, atslab_1) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_12, tmp37, atslab_2) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (tmp91) ; tmp93 = (ats_sum_ptr_type)0 ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun (tmp93, tmp90, tmp92) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp37)->tag != 57) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_6, tmp37, atslab_2) ; arg0 = tmp94 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp37)->tag != 64) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_1) ; tmp35 = tmp95 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp37)->tag != 65) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_0) ; arg0 = tmp96 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp37)->tag != 66) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_4, tmp37, atslab_0) ; arg0 = tmp97 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp37)->tag != 72) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp36, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab_loop_15: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp105 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp103, arg3) ; tmp106 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp106, atslab_0, tmp105) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp106 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp107 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp104 ; arg1 = arg1 ; arg2 = tmp107 ; arg3 = arg3 ; goto __ats_lab_loop_15 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp108 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp108 ; break ; } while (0) ; return /* (tmp102) */ ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp109 ; */ /* tmp110 = */ loop_15 (arg0, arg1, (&tmp109), arg2) ; tmp101 = tmp109 ; return (tmp101) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp100 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp100) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 7606(line=324, offs=3) -- 7651(line=324, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_syn_type: tmp99 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type) ; tmp98 = ats_castfn_mac(ats_ptr_type, tmp99) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 7731(line=329, offs=6) -- 7880(line=335, offs=6) */ ATSstaticdec() ats_ptr_type f_17 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_f_17: tmp113 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp113), atslab_l0ab_lab) ; tmp116 = (ats_sum_ptr_type)0 ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (tmp114) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp112, atslab_0, tmp115) ; ats_selptrset_mac(anairiats_sum_13, tmp112, atslab_1, tmp116) ; ats_selptrset_mac(anairiats_sum_13, tmp112, atslab_2, tmp117) ; return (tmp112) ; } /* end of [f_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 7715(line=328, offs=22) -- 7930(line=338, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__labd2explst_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__labd2explst_syn_type: tmp118 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &f_17) ; tmp111 = ats_castfn_mac(ats_ptr_type, tmp118) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__labd2explst_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 8007(line=343, offs=13) -- 8078(line=346, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: ATS_FREE(arg0) ; break ; } while (0) ; return /* (tmp119) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 8137(line=351, offs=16) -- 8250(line=355, offs=66) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_free (tmp121) ; arg0 = tmp122 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free ; // tail call break ; } while (0) ; return /* (tmp120) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23explst_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 8339(line=363, offs=3) -- 8514(line=371, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lablst_is_overld (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lablst_is_overld: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp124 = ats_false_bool ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp125), atslab_d3lab_overld) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp127 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp124 = ats_true_bool ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (tmp127 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: arg0 = tmp126 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lablst_is_overld ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lablst_is_overld] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; __ats_lab_prerr_error3_loc_02084_: /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp138 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp138) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 8614(line=380, offs=1) -- 9466(line=410, offs=4) */ ATSstaticdec() ats_ptr_type aux_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_bool_type, tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; __ats_lab_aux_21: tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3exp_loc) ; tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d3exp_type) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp130) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp131) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2hnf_tyleq_solve (tmp129, tmp131, arg1) ; tmp136 = atspre_neq_int_int (tmp134, 0) ; if (tmp136) { /* tmp137 = */ prerr_error3_loc_02084_ (tmp129) ; /* tmp140 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats"), ATSstrcst("d3exp_trdn")) ; /* tmp141 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression cannot be assigned the type [")) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp133) ; /* tmp143 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp144 = */ atspre_prerr_newline () ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp146 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp146)->tag = 22 ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp146, atslab_1, tmp133) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp146) ; } else { /* empty */ } /* end of [if] */ /* tmp147 = */ patsopt_d3exp_set_type (arg0, tmp133) ; tmp128 = arg0 ; return (tmp128) ; } /* end of [aux_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 9529(line=416, offs=3) -- 9696(line=427, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn: tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp150 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp150)->tag != 29) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_16, tmp150, atslab_1) ; arg0 = arg0 ; arg1 = tmp151 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn ; // tail call break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp148 = aux_21 (arg0, tmp149) ; break ; } while (0) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 9798(line=435, offs=3) -- 10141(line=446, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_57_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp153, tmp155) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg (tmp154, tmp156) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp157) ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_1, tmp158) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: tmp152 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp152 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 10239(line=454, offs=5) -- 10324(line=456, offs=4) */ ATSstaticdec() ats_ptr_type f_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; __ats_lab_f_26: /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (arg0) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; return (tmp160) ; } /* end of [f_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_util.dats: 10221(line=452, offs=18) -- 10389(line=460, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_get_ind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_get_ind: tmp162 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &f_26) ; tmp159 = ats_castfn_mac(ats_ptr_type, tmp162) ; return (tmp159) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_get_ind] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_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 () ; #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_trans3_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_dynexp_dn_dats.c0000664000175000017500000042063412655455557022074 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_tup_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_rec_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_lam_dyn_36) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sif) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err) (ats_ptr_type, ats_int_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn_arg) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_dn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__funarg_d2vfin_check) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_wthtype_instantiate) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_top) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_tup) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_rec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_effmask) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_exist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_sta_nil) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_trywith) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type d2exp_funclopt_of_d2exp_1 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type d2exp_s2effopt_of_d2exp_2 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_7 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_7_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxerrlen_21 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxtup_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxrec_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type aux_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 1671(line=52, offs=28) -- 1705(line=52, offs=62) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_dynexp_dn")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 2430(line=98, offs=4) -- 2751(line=115, offs=4) */ ATSstaticdec() ats_ptr_type d2exp_funclopt_of_d2exp_1 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_d2exp_funclopt_of_d2exp_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 66) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_1) ; tmp5 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp5, atslab_0, tmp4) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp5 ; tmp1 = tmp3 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp6 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp6 ; tmp1 = arg0 ; break ; } while (0) ; return (tmp1) ; } /* end of [d2exp_funclopt_of_d2exp_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 2836(line=119, offs=4) -- 3130(line=130, offs=8) */ ATSstaticdec() ats_ptr_type d2exp_s2effopt_of_d2exp_2 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_d2exp_s2effopt_of_d2exp_2: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp8)->tag != 65) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp8, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_3, tmp8, atslab_1) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp11, atslab_0, tmp10) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp11 ; tmp7 = tmp9 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp12 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp12 ; tmp7 = arg0 ; break ; } while (0) ; return (tmp7) ; } /* end of [d2exp_s2effopt_of_d2exp_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp37 = ats_false_bool ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp37 = ats_true_bool ; break ; } while (0) ; return (tmp37) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 3916(line=173, offs=3) -- 6654(line=285, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp14) ; tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp16)->tag != 12) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_top (arg0, tmp14) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp16)->tag != 25) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere (arg0, tmp14, tmp17, tmp18) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp16)->tag != 26) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere (arg0, tmp14, tmp20, tmp19) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp16)->tag != 27) { goto __ats_lab_10_0 ; } __ats_lab_7_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_3, tmp16, atslab_1) ; tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp21), atslab_d2exp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp24)->tag != 67) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, tmp24, atslab_0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__dmacro_eval_app_short (tmp23, tmp25, tmp22) ; arg0 = tmp26 ; arg1 = tmp15 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest (arg0, tmp14) ; break ; } while (0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp16)->tag != 28) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead (arg0, tmp14) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp16)->tag != 29) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead (arg0, tmp14) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp16)->tag != 30) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_casehead (arg0, tmp14) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp16)->tag != 31) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_scasehead (arg0, tmp14) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp16)->tag != 32) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_0) ; arg0 = tmp27 ; arg1 = tmp15 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp16)->tag != 33) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_6, tmp16, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_6, tmp16, atslab_1) ; tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup_flt (tmp30, tmp28, tmp29) ; arg0 = tmp31 ; arg1 = tmp15 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp16)->tag != 35) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_tup (arg0, tmp14) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp16)->tag != 36) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_rec (arg0, tmp14) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp16)->tag != 37) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_seq (arg0, tmp14) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp16)->tag != 48) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_effmask (arg0, tmp14) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp16)->tag != 49) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_5, tmp16, atslab_0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp32, tmp15) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__fshowtype_d3exp_dn (tmp33) ; tmp13 = tmp33 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp16)->tag != 52) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_exist (arg0, tmp14) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp16)->tag != 53) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn (arg0, tmp14) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp16)->tag != 55) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_7, tmp16, atslab_0) ; tmp36 = list_is_nil_01294_ (tmp35) ; if (!tmp36) { goto __ats_lab_27_1 ; } tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_sta_nil (arg0, tmp14) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp16)->tag != 63) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_trywith (arg0, tmp14) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest (arg0, tmp14) ; break ; } while (0) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 6728(line=291, offs=3) -- 7429(line=320, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype (tmp40) ; if (tmp42) { /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp41) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_wthtype_instantiate (tmp39, tmp40) ; } else { tmp43 = tmp40 ; } /* end of [if] */ if (tmp42) { /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__funarg_d2vfin_check (tmp39) ; } else { /* empty */ } /* end of [if] */ tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp41, tmp43) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 7543(line=327, offs=16) -- 7615(line=328, offs=68) */ ATSstaticdec() ats_ptr_type __ats_fun_7 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab___ats_fun_7: tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, env0) ; return (tmp48) ; } /* end of [__ats_fun_7] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_7_closure_type ; ats_ptr_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_7 (((__ats_fun_7_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_7_closure_init (__ats_fun_7_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_7_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53639(line=1919, offs=6) -- 53788(line=1925, offs=6) */ ATSstaticdec() ats_ptr_type app_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_app_9: tmp52 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp52) ; } /* end of [app_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab_loop_11: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp57 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp55, arg3) ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp58, atslab_0, tmp57) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp58 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp59 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp56 ; arg1 = arg1 ; arg2 = tmp59 ; arg3 = arg3 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp60 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp60 ; break ; } while (0) ; return /* (tmp54) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp61 ; */ /* tmp62 = */ loop_11 (arg0, arg1, (&tmp61), arg2) ; tmp53 = tmp61 ; return (tmp53) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53503(line=1915, offs=23) -- 53963(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; __ats_lab_list_map_vclo_01414_ats_ptr_type_ats_ptr_type: tmp51 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_9, arg1) ; return (tmp51) ; } /* end of [list_map_vclo_01414_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 7510(line=326, offs=3) -- 7769(line=335, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (__ats_fun_7_closure_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt: /* ats_ptr_type tmp47 ; */ tmp47 = &(tmp49) ; __ats_fun_7_closure_init (tmp47, arg1) ; // closure initialization tmp50 = list_map_vclo_01414_ats_ptr_type_ats_ptr_type (arg0, tmp47) ; tmp46 = ats_castfn_mac(ats_ptr_type, tmp50) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trdn_elt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 7831(line=339, offs=3) -- 7945(line=347, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2expopt_trdn_elt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2expopt_trdn_elt: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp64, arg1) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp63, atslab_0, tmp65) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp63 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2expopt_trdn_elt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; __ats_lab_prerr_error3_loc_02084_: /* tmp121 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp120 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp120) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 8029(line=353, offs=3) -- 12307(line=486, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_bool_type, tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_int_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_bool_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_bool_type, tmp99) ; // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_bool_type, tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_bool_type, tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_bool_type, tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_bool_type, tmp126) ; // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; ATSlocal (ats_bool_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn: tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp68), atslab_s2exp_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp69)->tag != 19) { goto __ats_lab_37_0 ; } __ats_lab_32_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_3) ; tmp74 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_4) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_5) ; tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp76)->tag != 53) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 8336(line=369, offs=9) -- 8401(line=370, offs=55)") ; } tmp77 = ats_caselptrlab_mac(anairiats_sum_11, tmp76, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_11, tmp76, atslab_1) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_11, tmp76, atslab_2) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_11, tmp76, atslab_3) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (tmp67, tmp78, tmp73) ; tmp83 = atspre_neq_int_int (tmp81, 0) ; if (tmp83) { /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp85)->tag = 36 ; ats_selptrset_mac(anairiats_sum_3, tmp85, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp85, atslab_1, tmp68) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp85) ; } else { /* empty */ } /* end of [if] */ tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__linearity_equal_solve (tmp67, tmp77, tmp71) ; tmp88 = atspre_neq_int_int (tmp86, 0) ; if (tmp88) { /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp90 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp90)->tag = 36 ; ats_selptrset_mac(anairiats_sum_3, tmp90, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp90, atslab_1, tmp68) ; /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp90) ; } else { /* empty */ } /* end of [if] */ /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp92 = ats_selsin_mac(tmp91, atslab_1) */ ; /* ats_int_type tmp93 ; */ tmp93 = 0 ; /* ats_ptr_type tmp94 ; */ tmp95 = d2exp_funclopt_of_d2exp_1 (tmp80, (&tmp94)) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp94 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_4, tmp94, atslab_0) ; ATS_FREE(tmp94) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__funclo_equal_solve_err (tmp67, tmp97, tmp70, (&tmp93)) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp94 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; tmp99 = atspre_neq_int_int (tmp93, 0) ; if (tmp99) { /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp101)->tag = 36 ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_1, tmp68) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp101) ; } else { /* empty */ } /* end of [if] */ /* ats_int_type tmp102 ; */ tmp102 = 0 ; /* ats_ptr_type tmp103 ; */ tmp104 = d2exp_s2effopt_of_d2exp_2 (tmp95, (&tmp103)) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (tmp103 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_4, tmp103, atslab_0) ; ATS_FREE(tmp103) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2eff_subeq_solve_err (tmp67, tmp106, tmp72, (&tmp102)) ; tmp105 = tmp106 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (tmp103 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp105 = tmp72 ; break ; } while (0) ; tmp109 = atspre_neq_int_int (tmp102, 0) ; if (tmp109) { /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp111)->tag = 36 ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_1, tmp68) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp111) ; } else { /* empty */ } /* end of [if] */ /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam (tmp105) ; /* tmp113 = ats_selsin_mac(tmp112, atslab_1) */ ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__funarg_patck_exhaust (tmp67, tmp79, tmp74) ; /* ats_int_type tmp115 ; */ tmp115 = 0 ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn_arg (tmp67, tmp78, tmp79, tmp74, (&tmp115)) ; tmp118 = atspre_neq_int_int (tmp115, 0) ; if (tmp118) { /* tmp119 = */ prerr_error3_loc_02084_ (tmp67) ; /* tmp122 = */ atspre_prerr_string (ATSstrcst(": dynamic arity mismatch")) ; tmp124 = atspre_lt_int_int (tmp115, 0) ; if (tmp124) { /* tmp123 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp126 = atspre_gt_int_int (tmp115, 0) ; if (tmp126) { /* tmp125 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp127 = */ atspre_prerr_newline () ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp128)->tag = 36 ; ats_selptrset_mac(anairiats_sum_3, tmp128, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp128, atslab_1, tmp68) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp128) ; } else { /* empty */ } /* end of [if] */ /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam (tmp71) ; /* tmp130 = ats_selsin_mac(tmp129, atslab_1) */ ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (tmp116) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_lam (tmp71) ; /* tmp133 = ats_selsin_mac(tmp132, atslab_1) */ ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3atlst (tmp116) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam (tmp116) ; /* tmp136 = ats_selsin_mac(tmp135, atslab_1) */ ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp104, tmp75) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (tmp67) ; tmp140 = atspre_gt_int_int (tmp77, 0) ; if (tmp140) { /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam (tmp67) ; } else { /* empty */ } /* end of [if] */ /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_pop () ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp67) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn (tmp67, tmp68, tmp77, tmp78, tmp116, tmp137) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp69)->tag != 28) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_2) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp150 = ats_selsin_mac(tmp149, atslab_1) */ ; /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp146) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (tmp67, tmp147) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, tmp148) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp67) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta (tmp67, tmp68, tmp146, tmp147, tmp153) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp69)->tag != 29) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_1) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp155) ; arg0 = arg0 ; arg1 = tmp156 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (arg0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp157, tmp68) ; break ; } while (0) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 12396(line=492, offs=3) -- 13066(line=518, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_sta_nil (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_sta_nil: tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp160), atslab_s2exp_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp161)->tag != 28) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_1) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_7, tmp161, atslab_2) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp166 = ats_selsin_mac(tmp165, atslab_1) */ ; /* tmp167 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp162) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (tmp159, tmp163) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, tmp164) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp159) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta (tmp159, tmp160, tmp162, tmp163, tmp169) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp171)->tag != 55) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 12871(line=510, offs=9) -- 12933(line=511, offs=52)") ; } tmp172 = ats_caselptrlab_mac(anairiats_sum_7, tmp171, atslab_1) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_7, tmp171, atslab_2) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst (tmp159, tmp172) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp173, tmp160) ; break ; } while (0) ; return (tmp158) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_lam_sta_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp216) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp216) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 13154(line=524, offs=3) -- 15320(line=598, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead: tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp177)->tag != 28) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 13325(line=530, offs=5) -- 13394(line=531, offs=60)") ; } tmp178 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_1) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_2) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_3) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp179) ; tmp183 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp182), atslab_d3exp_loc) ; /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp182) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp182) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_t0ype () ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp182, tmp186) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp185) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_bool_index_t0ype (tmp188) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp192 ; */ tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp191) ; tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp180), atslab_d2exp_loc) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp193) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp196 = ats_selsin_mac(tmp195, atslab_1) */ ; /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt (tmp183, ats_castfn_mac(ats_ptr_type, tmp189)) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp180, tmp190) ; /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp194) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp193) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp192, tmp194) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (tmp191) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (tmp181 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_4, tmp181, atslab_0) ; tmp203 = tmp204 ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (tmp181 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp193) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp205) ; break ; } while (0) ; tmp206 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp203), atslab_d2exp_loc) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp206) ; /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp209 = ats_selsin_mac(tmp208, atslab_1) */ ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_propopt_neg (tmp183, ats_castfn_mac(ats_ptr_type, tmp189)) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp203, tmp190) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp207) ; /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp206) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp192, tmp207) ; /* tmp215 = */ option_vt_free_01544_ats_ptr_type (tmp189) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp192, tmp178) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp192) ; /* tmp219 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp176, tmp178) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_if (tmp176, tmp190, tmp187, tmp198, tmp211) ; return (tmp175) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_ifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 15404(line=604, offs=3) -- 16771(line=653, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead: tmp221 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp222 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp222)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 15459(line=607, offs=5) -- 15528(line=608, offs=59)") ; } tmp223 = ats_caselptrlab_mac(anairiats_sum_12, tmp222, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_12, tmp222, atslab_1) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_12, tmp222, atslab_2) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_12, tmp222, atslab_3) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () ; /* ats_ptr_type tmp229 ; */ tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_initize (tmp228) ; tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp225), atslab_d2exp_loc) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp230) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp233 = ats_selsin_mac(tmp232, atslab_1) */ ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (tmp221, tmp224) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp225, tmp227) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp231) ; /* tmp237 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp230) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp229, tmp231) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitmlst_restore_type (tmp228) ; tmp240 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp225), atslab_d2exp_loc) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__c3nstroptref_make_none (tmp240) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp243 = ats_selsin_mac(tmp242, atslab_1) */ ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bneg (tmp224) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (tmp221, tmp245) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp226, tmp227) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_cnstr_ref (tmp241) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp240) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_update (tmp229, tmp241) ; /* tmp250 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_process (tmp229, tmp223) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstaftc3nstr_finalize (tmp229) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__i2nvresstate_update (tmp221, tmp223) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sif (tmp221, tmp227, tmp224, tmp235, tmp246) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_sifhead] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 16857(line=659, offs=3) -- 17448(line=678, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere: tmp254 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push () ; /* tmp257 = ats_selsin_mac(tmp256, atslab_1) */ ; /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp259 = ats_selsin_mac(tmp258, atslab_1) */ ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let () ; /* tmp261 = ats_selsin_mac(tmp260, atslab_1) */ ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (arg2) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg3, tmp255) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (tmp254) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let (tmp254, tmp262, tmp263) ; return (tmp253) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_letwhere] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 17530(line=684, offs=3) -- 17638(line=689, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_top (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_top: tmp269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top (tmp269, tmp270) ; return (tmp268) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 17699(line=695, offs=5) -- 17955(line=706, offs=2) */ ATSstaticdec() ats_void_type auxerrlen_21 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; ATSlocal (ats_bool_type, tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_bool_type, tmp276) ; __ats_lab_auxerrlen_21: /* tmp272 = */ prerr_error3_loc_02084_ (arg0) ; tmp274 = atspre_lt_int_int (arg1, 0) ; if (tmp274) { /* tmp273 = */ atspre_prerr_string (ATSstrcst(": more record field expected.")) ; } else { /* empty */ } /* end of [if] */ tmp276 = atspre_gt_int_int (arg1, 0) ; if (tmp276) { /* tmp275 = */ atspre_prerr_string (ATSstrcst(": fewer record field expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp271 = */ atspre_prerr_newline () ; return /* (tmp271) */ ; } /* end of [auxerrlen_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 18004(line=710, offs=5) -- 18751(line=741, offs=4) */ ATSstaticdec() ats_ptr_type auxtup_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; __ats_lab_auxtup_22: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_46_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp279 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; // tmp282 = ats_caselptrlab_mac(anairiats_sum_14, tmp280, atslab_2) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp278, tmp282) ; tmp284 = auxtup_22 (tmp279, tmp281, arg2) ; tmp277 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp277, atslab_0, tmp283) ; ats_selptrset_mac(anairiats_sum_8, tmp277, atslab_1, tmp284) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp285 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp285 ; tmp277 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp286 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp286 ; tmp277 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp277 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp277) ; } /* end of [auxtup_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 18776(line=743, offs=5) -- 19621(line=776, offs=4) */ ATSstaticdec() ats_ptr_type auxrec_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_int_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; __ats_lab_auxrec_23: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_52_1: tmp288 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp289 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp290 = ats_caselptrlab_mac(anairiats_sum_8, tmp288, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_8, tmp288, atslab_1) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; // tmp294 = ats_caselptrlab_mac(anairiats_sum_14, tmp292, atslab_2) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp291, tmp294) ; tmp296 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp296, atslab_0, tmp290) ; ats_selptrset_mac(anairiats_sum_8, tmp296, atslab_1, tmp295) ; tmp297 = auxrec_23 (tmp289, tmp293, arg2) ; tmp287 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp287, atslab_0, tmp296) ; ats_selptrset_mac(anairiats_sum_8, tmp287, atslab_1, tmp297) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp298 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp298 ; tmp287 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp299 = atspre_sub_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp299 ; tmp287 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp287 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp287) ; } /* end of [auxrec_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 19691(line=782, offs=3) -- 20626(line=819, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_tup (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_int_type, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_int_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_int_type, tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; ATSlocal (ats_bool_type, tmp315) ; // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_int_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_bool_type, tmp321) ; // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_tup: tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp302)->tag != 35) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 19743(line=785, offs=5) -- 19784(line=785, offs=46)") ; } tmp303 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_0) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_1) ; tmp305 = ats_caselptrlab_mac(anairiats_sum_15, tmp302, atslab_2) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp306), atslab_s2exp_node) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp307)->tag != 25) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_16, tmp307, atslab_0) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_16, tmp307, atslab_1) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_16, tmp307, atslab_2) ; /* ats_int_type tmp311 ; */ tmp311 = 0 ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err (tmp301, tmp303, tmp308, (&tmp311)) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (tmp301, tmp304, tmp309, (&tmp311)) ; tmp315 = atspre_neq_int_int (tmp311, 0) ; if (tmp315) { /* tmp316 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp317 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp317)->tag = 33 ; ats_selptrset_mac(anairiats_sum_3, tmp317, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp317, atslab_1, tmp306) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp317) ; } else { /* empty */ } /* end of [if] */ /* ats_int_type tmp318 ; */ tmp318 = 0 ; tmp319 = auxtup_22 (tmp305, tmp310, (&tmp318)) ; tmp321 = atspre_neq_int_int (tmp318, 0) ; if (tmp321) { /* tmp322 = */ auxerrlen_21 (tmp301, tmp318) ; tmp323 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp323)->tag = 33 ; ats_selptrset_mac(anairiats_sum_3, tmp323, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp323, atslab_1, tmp306) ; /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp323) ; } else { /* empty */ } /* end of [if] */ tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup (tmp301, tmp306, tmp303, tmp304, tmp319) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest (arg0, arg1) ; break ; } while (0) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 20682(line=823, offs=3) -- 21603(line=856, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_rec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_int_type, tmp327) ; ATSlocal (ats_int_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_int_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_int_type, tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_bool_type, tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_int_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; // ATSlocal_void (tmp344) ; ATSlocal (ats_bool_type, tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_rec: tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp326 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp326)->tag != 36) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 20734(line=826, offs=5) -- 20776(line=826, offs=47)") ; } tmp327 = ats_caselptrlab_mac(anairiats_sum_15, tmp326, atslab_0) ; tmp328 = ats_caselptrlab_mac(anairiats_sum_15, tmp326, atslab_1) ; tmp329 = ats_caselptrlab_mac(anairiats_sum_15, tmp326, atslab_2) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp331 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp330), atslab_s2exp_node) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp331)->tag != 25) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_16, tmp331, atslab_0) ; tmp333 = ats_caselptrlab_mac(anairiats_sum_16, tmp331, atslab_1) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_16, tmp331, atslab_2) ; /* ats_int_type tmp335 ; */ tmp335 = 0 ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__boxity_equal_solve_err (tmp325, tmp327, tmp332, (&tmp335)) ; /* tmp337 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve_err (tmp325, tmp328, tmp333, (&tmp335)) ; tmp339 = atspre_neq_int_int (tmp335, 0) ; if (tmp339) { /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp341 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp341)->tag = 34 ; ats_selptrset_mac(anairiats_sum_3, tmp341, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp341, atslab_1, tmp330) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp341) ; } else { /* empty */ } /* end of [if] */ /* ats_int_type tmp342 ; */ tmp342 = 0 ; tmp343 = auxrec_23 (tmp329, tmp334, (&tmp342)) ; tmp345 = atspre_neq_int_int (tmp342, 0) ; if (tmp345) { /* tmp346 = */ auxerrlen_21 (tmp325, tmp342) ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp347)->tag = 33 ; ats_selptrset_mac(anairiats_sum_3, tmp347, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp347, atslab_1, tmp330) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp347) ; } else { /* empty */ } /* end of [if] */ tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec (tmp325, tmp330, tmp327, tmp328, tmp343) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn_rest (arg0, arg1) ; break ; } while (0) ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 21820(line=869, offs=5) -- 22232(line=887, offs=2) */ ATSstaticdec() ats_ptr_type aux_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; __ats_lab_aux_27: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp354 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, arg2) ; tmp357 = aux_27 (tmp354, tmp355, arg2, arg3) ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp353, atslab_0, tmp356) ; ats_selptrset_mac(anairiats_sum_8, tmp353, atslab_1, tmp357) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (arg0, arg3) ; tmp359 = (ats_sum_ptr_type)0 ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp353, atslab_0, tmp358) ; ats_selptrset_mac(anairiats_sum_8, tmp353, atslab_1, tmp359) ; break ; } while (0) ; return (tmp353) ; } /* end of [aux_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 21701(line=863, offs=16) -- 22662(line=909, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_seq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_seq: tmp349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp350)->tag != 37) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 21753(line=866, offs=5) -- 21784(line=866, offs=36)") ; } tmp351 = ats_caselptrlab_mac(anairiats_sum_5, tmp350, atslab_0) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp351 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_8, tmp351, atslab_0) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_8, tmp351, atslab_1) ; /* ats_ptr_type tmp363 ; */ tmp364 = aux_27 (tmp361, tmp362, tmp360, tmp352) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq (tmp349, tmp352, tmp364) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (tmp351 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp365 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty (tmp349, tmp360) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_trdn (tmp365, tmp352) ; break ; } while (0) ; return (tmp348) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 22743(line=915, offs=3) -- 23046(line=928, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_effmask (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; // ATSlocal_void (tmp371) ; // ATSlocal_void (tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_effmask: tmp367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp368 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp368)->tag != 48) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 22795(line=918, offs=5) -- 22835(line=918, offs=45)") ; } tmp369 = ats_caselptrlab_mac(anairiats_sum_3, tmp368, atslab_0) ; tmp370 = ats_caselptrlab_mac(anairiats_sum_3, tmp368, atslab_1) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask (tmp369) ; /* tmp372 = ats_selsin_mac(tmp371, atslab_1) */ ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp370, tmp373) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask (tmp367, tmp369, tmp374) ; return (tmp366) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 23129(line=934, offs=3) -- 24103(line=967, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_exist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_int_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (anairiats_rec_1, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (anairiats_rec_1, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; // ATSlocal_void (tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_exist: tmp377 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp378 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp378)->tag != 52) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 23182(line=936, offs=7) -- 23223(line=937, offs=33)") ; } tmp379 = ats_caselptrlab_mac(anairiats_sum_3, tmp378, atslab_0) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_3, tmp378, atslab_1) ; tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* ats_int_type tmp382 ; */ tmp382 = 0 ; /* ats_ptr_type tmp383 ; */ tmp385 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp381), atslab_s2exp_node) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp385)->tag != 31) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_3, tmp385, atslab_0) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_3, tmp385, atslab_1) ; tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg (tmp386, tmp379, (&tmp382)) ; tmp389 = ats_select_mac(tmp388, atslab_0) ; tmp390 = ats_select_mac(tmp388, atslab_1) ; tmp383 = tmp390 ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype (tmp389, tmp387) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_sexparg (tmp381, tmp379, (&tmp382)) ; tmp392 = ats_select_mac(tmp391, atslab_0) ; tmp393 = ats_select_mac(tmp391, atslab_1) ; tmp383 = tmp393 ; tmp384 = tmp392 ; break ; } while (0) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp377, tmp383) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp380, tmp384) ; return (tmp376) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 24186(line=973, offs=3) -- 24812(line=997, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_trywith (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_trywith: tmp396 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_loc) ; tmp397 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp397)->tag != 63) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_dynexp_dn.dats: 24238(line=976, offs=5) -- 24286(line=977, offs=38)") ; } tmp398 = ats_caselptrlab_mac(anairiats_sum_7, tmp397, atslab_0) ; tmp399 = ats_caselptrlab_mac(anairiats_sum_7, tmp397, atslab_1) ; tmp400 = ats_caselptrlab_mac(anairiats_sum_7, tmp397, atslab_2) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try () ; /* tmp402 = ats_selsin_mac(tmp401, atslab_1) */ ; /* tmp403 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_push_try () ; /* tmp404 = ats_selsin_mac(tmp403, atslab_1) */ ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp399, tmp405) ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_exception_vtype () ; tmp409 = (ats_sum_ptr_type)0 ; tmp408 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp408, atslab_0, tmp406) ; ats_selptrset_mac(anairiats_sum_8, tmp408, atslab_1, tmp409) ; tmp411 = (ats_sum_ptr_type)0 ; tmp410 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp410, atslab_0, tmp407) ; ats_selptrset_mac(anairiats_sum_8, tmp410, atslab_1, tmp411) ; tmp413 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__c2laulst_trdn (tmp396, tmp413, tmp398, tmp400, tmp408, tmp410, tmp405) ; /* tmp414 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () ; /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_pop () ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith (tmp396, tmp406, tmp412) ; return (tmp395) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__d2exp_trdn_trywith] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_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 () ; #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_trans3_dynexp_dn_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/Makefile0000664000175000017500000002527712655455557016050 0ustar hwxihwxi# # The main Makefile # for C-bootstrapping ATS2 # ###### # CC=gcc GCC=gcc CCOMP=$(CC) # # GCFLAG=-D_ATS_NGC # GCFLAG=-D_ATS_GCATS # GCFLAG=-D_ATS_GCBDW # # CFLAGS= # LDFLAGS= # ###### CFLAGS += -I. -I./ccomp/runtime ###### # # This is fixed: # C3NSTRINTKND=gmpknd # # [gmpknd] for CBOOT # [intknd] for CBOOTmin # ###### # LIBGMP= # ifeq ($(C3NSTRINTKND),intknd) LIBGMP := endif ifeq ($(C3NSTRINTKND),gmpknd) LIBGMP := -lgmp endif # ###### # LIBGC= gcats_o= # ifeq ($(GCFLAG),-D_ATS_GCBDW) LIBGC := -lgc endif ifeq ($(GCFLAG),-D_ATS_GCATS) gcats_o := gcats.o endif # ###### all:: patsopt ###### SOURCES := \ pats_params.hats \ pats_error.sats \ pats_error.dats \ pats_intinf.sats \ pats_intinf.dats \ pats_counter.sats \ pats_counter.dats \ pats_utils.sats \ pats_utils.dats \ pats_global.sats \ pats_global.dats \ pats_basics.sats \ pats_basics.dats \ pats_basics.hats \ pats_stamp.sats \ pats_stamp.dats \ pats_symbol.sats \ pats_symbol.dats \ pats_filename.sats \ pats_filename.dats \ pats_location.sats \ pats_location.dats \ pats_location.cats \ pats_jsonize.sats \ pats_jsonize.dats \ pats_errmsg.sats \ pats_errmsg.dats \ pats_reader.sats \ pats_reader.dats \ pats_reader.cats \ pats_lexbuf.sats \ pats_lexbuf.dats \ pats_lexbuf.cats \ pats_lexing.sats \ pats_lexing.dats \ pats_lexing.cats \ pats_lexing_print.dats \ pats_lexing_error.dats \ pats_lexing_token.dats \ pats_label.sats \ pats_label.dats \ pats_effect.sats \ pats_effect.dats \ pats_fixity.sats \ pats_fixity_prec.dats \ pats_fixity_fxty.dats \ pats_syntax.sats \ pats_syntax.dats \ pats_syntax_print.dats \ pats_depgen.sats \ pats_depgen.dats \ pats_taggen.sats \ pats_taggen.dats \ pats_tokbuf.sats \ pats_tokbuf.dats \ pats_tokbuf.cats \ pats_parsing.sats \ pats_parsing.dats \ pats_parsing_error.dats \ pats_parsing_util.dats \ pats_parsing_kwds.dats \ pats_parsing_base.dats \ pats_parsing_e0xp.dats \ pats_parsing_sort.dats \ pats_parsing_staexp.dats \ pats_parsing_p0at.dats \ pats_parsing_dynexp.dats \ pats_parsing_decl.dats \ pats_parsing_toplevel.dats \ pats_symmap.sats \ pats_symmap.dats \ pats_symmap_avltree.hats \ pats_symmap_htlinprb.hats \ pats_symenv.sats \ pats_symenv.dats \ pats_staexp1.sats \ pats_staexp1.dats \ pats_staexp1_print.dats \ pats_dynexp1.sats \ pats_dynexp1.dats \ pats_dynexp1_print.dats \ pats_trans1.sats \ pats_trans1_env.sats \ pats_trans1_env.dats \ pats_e1xpval.sats \ pats_e1xpval.dats \ pats_e1xpval_error.dats \ pats_filename_reloc.dats \ pats_trans1_error.dats \ pats_trans1_e0xp.dats \ pats_trans1_effect.dats \ pats_trans1_sort.dats \ pats_trans1_staexp.dats \ pats_trans1_p0at.dats \ pats_trans1_syndef.dats \ pats_trans1_dynexp.dats \ pats_trans1_decl.dats \ pats_staexp2.sats \ pats_staexp2.dats \ pats_stacst2.sats \ pats_stacst2.dats \ pats_staexp2_print.dats \ pats_staexp2_pprint.dats \ pats_staexp2_sort.dats \ pats_staexp2_scst.dats \ pats_staexp2_svar.dats \ pats_staexp2_svvar.dats \ pats_staexp2_hole.dats \ pats_staexp2_ctxt.dats \ pats_staexp2_dcon.dats \ pats_staexp2_skexp.dats \ pats_staexp2_szexp.dats \ pats_staexp2_util.sats \ pats_staexp2_util1.dats \ pats_staexp2_util2.dats \ pats_staexp2_util3.dats \ pats_staexp2_error.sats \ pats_staexp2_error.dats \ pats_staexp2_solve.sats \ pats_staexp2_solve.dats \ pats_patcst2.sats \ pats_patcst2.dats \ pats_dynexp2.sats \ pats_dynexp2.dats \ pats_dyncst2.sats \ pats_dyncst2.dats \ pats_dynexp2_print.dats \ pats_dynexp2_dcst.dats \ pats_dynexp2_dvar.dats \ pats_dynexp2_dmac.dats \ pats_dynexp2_util.dats \ pats_dynexp2_mapgen.dats \ pats_codegen2.sats \ pats_codegen2.dats \ pats_codegen2_util.dats \ pats_codegen2_datype.dats \ pats_codegen2_fprint.dats \ pats_jsonize_synent2.sats \ pats_jsonize_synent2.dats \ pats_trans2.sats \ pats_namespace.sats \ pats_namespace.dats \ pats_trans2_env.sats \ pats_trans2_env.dats \ pats_trans2_error.dats \ pats_trans2_sort.dats \ pats_trans2_staexp.dats \ pats_trans2_p1at.dats \ pats_trans2_dynexp.dats \ pats_trans2_impdec.dats \ pats_trans2_decl.dats \ pats_dynexp3.sats \ pats_dynexp3.dats \ pats_dynexp3_print.dats \ pats_trans3.sats \ pats_trans3_error.dats \ pats_trans3_util.dats \ pats_trans3_env.sats \ pats_trans3_env.dats \ pats_trans3_env_print.dats \ pats_trans3_env_scst.dats \ pats_trans3_env_svar.dats \ pats_trans3_env_termet.dats \ pats_trans3_env_effect.dats \ pats_trans3_env_dvar.dats \ pats_trans3_env_lamlp.dats \ pats_trans3_env_pfman.dats \ pats_trans3_env_lstate.dats \ pats_dmacro2.sats \ pats_dmacro2.dats \ pats_dmacro2_print.dats \ pats_dmacro2_eval0.dats \ pats_dmacro2_eval1.dats \ pats_trans3_p2at.dats \ pats_trans3_patcon.dats \ pats_trans3_syncst.dats \ pats_trans3_dynexp_up.dats \ pats_trans3_dynexp_dn.dats \ pats_trans3_appsym.dats \ pats_trans3_caseof.dats \ pats_trans3_selab.dats \ pats_trans3_ptrof.dats \ pats_trans3_viewat.dats \ pats_trans3_deref.dats \ pats_trans3_assgn.dats \ pats_trans3_xchng.dats \ pats_trans3_lvalres.dats \ pats_trans3_fldfrat.dats \ pats_trans3_looping.dats \ pats_trans3_decl.dats \ pats_lintprgm.sats \ pats_lintprgm.dats \ pats_lintprgm_print.dats \ pats_lintprgm_myint.cats \ pats_lintprgm_myint.dats \ pats_lintprgm_solve.dats \ pats_constraint3.sats \ pats_constraint3.dats \ pats_constraint3_print.dats \ pats_constraint3_mapgen.dats \ pats_constraint3_jsonize.dats \ pats_constraint3_init.dats \ pats_constraint3_simplify.dats \ pats_constraint3_icnstr.dats \ pats_constraint3_solve.dats \ pats_histaexp.sats \ pats_histaexp.dats \ pats_histaexp_print.dats \ pats_histaexp_funlab.dats \ pats_hidynexp.sats \ pats_hidynexp.dats \ pats_hidynexp_print.dats \ pats_hidynexp_util.dats \ pats_typerase.sats \ pats_typerase_error.dats \ pats_typerase_staexp.dats \ pats_typerase_dynexp.dats \ pats_typerase_decl.dats \ pats_ccomp.sats \ pats_ccomp.dats \ pats_ccomp_print.dats \ pats_ccomp_hitype.dats \ pats_ccomp_tmplab.dats \ pats_ccomp_tmpvar.dats \ pats_ccomp_d2env.dats \ pats_ccomp_funlab.dats \ pats_ccomp_funent.dats \ pats_ccomp_util.dats \ pats_ccomp_ccompenv.dats \ pats_ccomp_instrseq.dats \ pats_ccomp_hipat.dats \ pats_ccomp_dynexp.dats \ pats_ccomp_caseof.dats \ pats_ccomp_claulst.dats \ pats_ccomp_lazyeval.dats \ pats_ccomp_trywith.dats \ pats_ccomp_looping.dats \ pats_ccomp_decl.dats \ pats_ccomp_subst.dats \ pats_ccomp_environ.dats \ pats_ccomp_template.dats \ pats_ccomp_emit.dats \ pats_ccomp_emit2.dats \ pats_ccomp_emit3.dats \ pats_ccomp_main.dats \ pats_comarg.sats \ pats_comarg.dats \ ###### SOURCESsta := $(filter %.sats, $(SOURCES)) SOURCESdyn := $(filter %.dats, $(SOURCES)) ###### OBJECTSsta := $(SOURCESsta) OBJECTSsta := $(patsubst %.sats, %_sats.o, $(OBJECTSsta)) OBJECTSdyn := $(SOURCESdyn) OBJECTSdyn := $(patsubst %.dats, %_dats.o, $(OBJECTSdyn)) ###### OBJECTSstadyn := $(OBJECTSsta) $(OBJECTSdyn) ###### # patsopt: \ pats_main_dats.o \ $(OBJECTSstadyn) \ prelude_libats.o \ libc_libats.o libats_libats.o ; \ $(CCOMP) -O2 -I. $(GCFLAG) -o $@ \ ccomp/runtime/ats_prelude.c $^ $(gcats_o) $(LDFLAGS) $(LIBGMP) $(LIBGC) # ###### # AR=ar MV=mv # libatsopt: \ pats_main_dats.o \ $(OBJECTSstadyn) \ prelude_libats.o \ libc_libats.o libats_libats.o ; \ $(AR) -r libatsopt.a $^ $(gcats_o) && $(MV) -f libatsopt.a $(PATSHOME)/utils/libatsopt/. # ###### # %_sats.o: %_sats.c ; $(CCOMP) -O2 $(CFLAGS) -c -o $@ $< %_dats.o: %_dats.c ; $(CCOMP) -O2 $(CFLAGS) -c -o $@ $< # ###### PRELUDE_OBJECTS := \ prelude_basics_sta_sats.o \ prelude_basics_dyn_sats.o \ prelude_ats_main_prelude_dats.o \ prelude_DATS_basics_dats.o \ prelude_DATS_bool_dats.o \ prelude_DATS_char_dats.o \ prelude_DATS_float_dats.o \ prelude_DATS_integer_dats.o \ prelude_DATS_sizetype_dats.o \ prelude_DATS_pointer_dats.o \ prelude_DATS_reference_dats.o \ prelude_DATS_string_dats.o \ prelude_DATS_lazy_dats.o \ prelude_DATS_lazy_vt_dats.o \ prelude_DATS_printf_dats.o \ prelude_DATS_filebas_dats.o \ prelude_DATS_list_dats.o \ prelude_DATS_list_vt_dats.o \ prelude_DATS_list0_dats.o \ prelude_DATS_option_dats.o \ prelude_DATS_option_vt_dats.o \ prelude_DATS_option0_dats.o \ prelude_DATS_array_dats.o \ prelude_DATS_array0_dats.o \ prelude_DATS_matrix_dats.o \ prelude_DATS_matrix0_dats.o \ prelude_DATS_ptrarr_dats.o \ prelude_DATS_unsafe_dats.o \ ###### # prelude_%.o: \ prelude/%.c ; $(CCOMP) $(CFLAGS) -c -o $@ $< # prelude_libats.o: $(PRELUDE_OBJECTS) ; ld -r -o $@ $^ # ###### LIBC_OBJECTS := \ libc_SATS_errno_sats.o \ libc_SATS_fcntl_sats.o \ libc_DATS_fcntl_dats.o \ libc_SATS_stdarg_sats.o \ libc_SATS_stdio_sats.o \ libc_SATS_stdlib_sats.o \ libc_SATS_string_sats.o \ libc_SATS_time_sats.o \ libc_SATS_unistd_sats.o \ libc_DATS_unistd_dats.o \ libc_sys_SATS_stat_sats.o \ libc_sys_SATS_types_sats.o \ ifeq ($(C3NSTRINTKND),gmpknd) LIBC_OBJECTS += \ libc_SATS_gmp_sats.o libc_DATS_gmp_dats.o endif ###### # libc_%.o: \ libc/%.c ; $(CCOMP) $(CFLAGS) -c -o $@ $< # libc_libats.o: $(LIBC_OBJECTS) ; ld -r -o $@ $^ # ###### LIBATS_OBJECTS := \ libats_SATS_funmap_avltree_sats.o \ libats_DATS_funmap_avltree_dats.o \ libats_SATS_funset_avltree_sats.o \ libats_DATS_funset_avltree_dats.o \ libats_SATS_funset_listord_sats.o \ libats_DATS_funset_listord_dats.o \ libats_SATS_funmset_listord_sats.o \ libats_DATS_funmset_listord_dats.o \ libats_SATS_hashtable_chain_sats.o \ libats_DATS_hashtable_chain_dats.o \ libats_SATS_hashtable_linprb_sats.o \ libats_DATS_hashtable_linprb_dats.o \ libats_SATS_linqueue_arr_sats.o \ libats_DATS_linqueue_arr_dats.o \ libats_SATS_linqueue_lst_sats.o \ libats_DATS_linqueue_lst_dats.o \ libats_ngc_SATS_deque_arr_sats.o \ libats_ngc_DATS_deque_arr_dats.o \ ###### # libats_%.o: \ libats/%.c ; $(CCOMP) $(CFLAGS) -c -o $@ $< # libats_libats.o: $(LIBATS_OBJECTS) ; ld -r -o $@ $^ # ###### # gcats.o: \ gcats1_hats gcats1_all_cats.o ; ld -r -o $@ gcats1_all_cats.o # gcats1_hats: ; \ $(GCC) -E -P -o gcats1.hats -x c ./ccomp/runtime/GCATS/gcats1_master.hats # gcats1_all_cats.o: ; \ $(CCOMP) -O2 -I. -I./ccomp/runtime -c -o $@ -x c ./ccomp/runtime/gcats1_all.cats # ###### CPF=cp -f RMF=rm -f ###### # clean:: ; $(RMF) *~ clean:: ; $(RMF) *_sats.o clean:: ; $(RMF) *_dats.o # clean:: ; $(RMF) gcats1.hats clean:: ; $(RMF) gcats1_all_cats.o # clean:: ; $(RMF) gcats.o clean:: ; $(RMF) patsopt clean:: ; $(RMF) prelude_libats.o clean:: ; $(RMF) libc_libats.o clean:: ; $(RMF) libats_libats.o # ###### cleanall:: clean ###### ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_error_dats.c0000664000175000017500000006352012655455557021232 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type the_trans3errlst_get_1 () ; static ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_7 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp3) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(ats_ptr_type)) ; return (tmp1) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_error.dats: 1706(line=60, offs=1) -- 1886(line=69, offs=4) */ ATSstaticdec() ats_ptr_type the_trans3errlst_get_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_the_trans3errlst_get_1: tmp5 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp6 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp7 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp5) = tmp7 ; tmp4 = tmp6 ; return (tmp4) ; } /* end of [the_trans3errlst_get_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_error.dats: 1976(line=75, offs=3) -- 2090(line=78, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_1, tmp11) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp18 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp19 = atspre_iadd (arg1, 1) ; arg0 = tmp18 ; arg1 = tmp19 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = arg1 ; break ; } while (0) ; return (tmp16) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp15) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp15 = loop_5 (arg0, 0) ; return (tmp15) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_7: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp23 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp22) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp21 = */ loop_7 (arg0) ; return /* (tmp21) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_error.dats: 2161(line=81, offs=27) -- 2601(line=101, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_finalize () { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_finalize: tmp13 = the_trans3errlst_get_1 () ; tmp14 = list_vt_length_01501_ats_ptr_type (tmp13) ; /* tmp20 = */ list_vt_free_01499_ats_ptr_type (tmp13) ; tmp25 = atspre_igt (tmp14, 0) ; if (tmp25) { /* tmp24 = */ atspre_fprintf_exn (stderr, ATSstrcst("patsopt(TRANS3): there are [%i] errors in total.\n"), tmp14) ; } else { /* empty */ } /* end of [if] */ tmp26 = atspre_igt (tmp14, 0) ; if (tmp26) { tmp27 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN) ; /* tmp12 = */ ats_raise_exn (tmp27) ; } else { /* empty */ } /* end of [if] */ return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_finalize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp3 = (ats_sum_ptr_type)0 ; statmp0 = ref_01088_ats_ptr_type (statmp3) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexbuf_sats.c0000664000175000017500000000243612655455557020112 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" /* external codes at top */ #include "pats_lexbuf.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lexbuf_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_filename_reloc_dats.c0000664000175000017500000005676612655455557021571 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isalnum) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get_decl) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, patsopt_filename_theDirSep_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl0) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl1) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_PATSHOME_get) () ; ATSextern_fun(ats_ptr_type, patsopt_PATSHOMERELOC_get) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) ; static ats_bool_type isalnum__6 (ats_char_type arg0) ; static ats_int_type auxtrav_7 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxeval0_8 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type auxeval1_9 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 2435(line=105, offs=3) -- 2577(line=112, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0: tmp1 = atspre_sub_int_int (arg1, 2) ; tmp0 = atspre_string_make_substring (arg0, ats_castfn_mac(ats_size_type, 1), ats_castfn_mac(ats_size_type, tmp1)) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 2741(line=122, offs=3) -- 2791(line=122, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1: tmp2 = atspre_string_copy (ATSstrcst("$ATSPKGRELOCROOT")) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp5) ; __ats_lab_ptr0_get_01703_ats_char_type: tmp5 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp5) ; } /* end of [ptr0_get_01703_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 2923(line=132, offs=3) -- 3874(line=166, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl0 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_char_type, tmp4) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl0: tmp6 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp4 = ptr0_get_01703_ats_char_type (tmp6) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp7 = atspre_eq_char_char (tmp4, '$') ; if (!tmp7) { goto __ats_lab_5_1 ; } tmp8 = atspre_sub_int_int (arg1, 3) ; tmp9 = atspre_string_make_substring (arg0, ats_castfn_mac(ats_size_type, 2), ats_castfn_mac(ats_size_type, tmp8)) ; tmp10 = atspre_tostringf (ATSstrcst("%s_sourceloc"), ats_castfn_mac(ats_ptr_type, tmp9)) ; /* tmp11 = */ atspre_strptr_free (tmp9) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ats_castfn_mac(ats_ptr_type, tmp10)) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (tmp12) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp13 != (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0 (arg0, arg1) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (tmp13 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_0, tmp13, atslab_0) ; ATS_FREE(tmp13) ; tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_e1xp_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp15)->tag != 5) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_2, tmp15, atslab_0) ; tmp3 = atspre_string_copy (tmp16) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0 (arg0, arg1) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl0 (arg0, arg1) ; break ; } while (0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 4037(line=176, offs=3) -- 5039(line=213, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl1 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_char_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl1: tmp19 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp18 = ptr0_get_01703_ats_char_type (tmp19) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp20 = atspre_eq_char_char (tmp18, '$') ; if (!tmp20) { goto __ats_lab_11_1 ; } tmp21 = atspre_sub_int_int (arg1, 3) ; tmp22 = atspre_string_make_substring (arg0, ats_castfn_mac(ats_size_type, 2), ats_castfn_mac(ats_size_type, tmp21)) ; tmp23 = atspre_tostringf (ATSstrcst("%s_targetloc"), ats_castfn_mac(ats_ptr_type, tmp22)) ; /* tmp24 = */ atspre_strptr_free (tmp22) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ats_castfn_mac(ats_ptr_type, tmp23)) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (tmp25) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp26 != (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1 (arg0, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp26 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_0, tmp26, atslab_0) ; ATS_FREE(tmp26) ; tmp28 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp27), atslab_e1xp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp28)->tag != 5) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_2, tmp28, atslab_0) ; tmp17 = atspre_string_copy (tmp29) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1 (arg0, arg1) ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get_gurl1 (arg0, arg1) ; break ; } while (0) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 5222(line=227, offs=5) -- 5294(line=228, offs=46) */ ATSstaticdec() ats_bool_type isalnum__6 (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; __ats_lab_isalnum__6: tmp32 = atspre_char_isalnum (arg0) ; if (tmp32) { tmp31 = ats_true_bool ; } else { tmp31 = atspre_eq_char_char (arg0, '_') ; } /* end of [if] */ return (tmp31) ; } /* end of [isalnum__6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 5302(line=231, offs=1) -- 5474(line=245, offs=4) */ ATSstaticdec() ats_int_type auxtrav_7 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp33) ; ATSlocal (ats_char_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; __ats_lab_auxtrav_7: tmp34 = ptr0_get_01703_ats_char_type (arg0) ; tmp35 = isalnum__6 (tmp34) ; if (tmp35) { tmp36 = atspre_padd_int (arg0, 1) ; tmp37 = atspre_add_int_int (arg1, 1) ; arg0 = tmp36 ; arg1 = tmp37 ; goto __ats_lab_auxtrav_7 ; // tail call } else { tmp33 = arg1 ; } /* end of [if] */ return (tmp33) ; } /* end of [auxtrav_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 5505(line=248, offs=1) -- 5626(line=255, offs=2) */ ATSstaticdec() ats_ptr_type auxeval0_8 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; __ats_lab_auxeval0_8: tmp39 = atspre_lt_int_int (arg1, 100) ; if (tmp39) { tmp38 = auxeval1_9 (arg0, arg1) ; } else { tmp38 = arg0 ; } /* end of [if] */ return (tmp38) ; } /* end of [auxeval0_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 5658(line=258, offs=1) -- 6865(line=312, offs=4) */ ATSstaticdec() ats_ptr_type auxeval1_9 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_char_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; __ats_lab_auxeval1_9: tmp41 = ptr0_get_01703_ats_char_type (ats_castfn_mac(ats_ptr_type, arg0)) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp42 = atspre_eq_char_char (tmp41, '$') ; if (!tmp42) { goto __ats_lab_17_1 ; } tmp43 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp44 = auxtrav_7 (tmp43, 0) ; tmp45 = atspre_string_make_substring (arg0, ats_castfn_mac(ats_size_type, 1), ats_castfn_mac(ats_size_type, tmp44)) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ats_castfn_mac(ats_ptr_type, tmp45)) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (tmp46) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp47 != (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp40 = arg0 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp47 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_0, tmp47, atslab_0) ; ATS_FREE(tmp47) ; tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp48), atslab_e1xp_node) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp49)->tag != 5) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_2, tmp49, atslab_0) ; tmp51 = atspre_padd_int (tmp43, tmp44) ; tmp52 = atspre_tostringf (ATSstrcst("%s%s"), tmp50, ats_castfn_mac(ats_ptr_type, tmp51)) ; tmp53 = atspre_add_int_int (arg1, 1) ; tmp40 = auxeval0_8 (ats_castfn_mac(ats_ptr_type, tmp52), tmp53) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp40 = arg0 ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp40 = arg0 ; break ; } while (0) ; return (tmp40) ; } /* end of [auxeval1_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 5179(line=223, offs=3) -- 6927(line=316, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval: tmp30 = auxeval0_8 (arg0, 0) ; return (tmp30) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_filename_reloc.dats: 7061(line=326, offs=3) -- 8532(line=381, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__pkgsrcname_relocatize (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_bool_type, tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_char_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__pkgsrcname_relocatize: tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get_decl () ; tmp56 = atspre_lt_int_int (arg1, 0) ; if (tmp56) { tmp58 = atspre_pgt (tmp55, atspre_null_ptr) ; if (tmp58) { /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert (ats_castfn_mac(ats_ptr_type, tmp55), arg0) ; } else { /* empty */ } /* end of [if] */ tmp54 = arg0 ; } else { tmp59 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg0), arg1) ; tmp60 = patsopt_filename_theDirSep_get () ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl1 (arg0, arg1) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append (ats_castfn_mac(ats_ptr_type, tmp61), ats_castfn_mac(ats_ptr_type, tmp59), tmp60) ; /* tmp63 = */ atspre_strptr_free (tmp61) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval (ats_castfn_mac(ats_ptr_type, tmp62)) ; tmp66 = atspre_pgt (tmp55, atspre_null_ptr) ; if (tmp66) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_get2_gurl0 (arg0, arg1) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append (ats_castfn_mac(ats_ptr_type, tmp67), ats_castfn_mac(ats_ptr_type, tmp59), tmp60) ; /* tmp69 = */ atspre_strptr_free (tmp67) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__pkgsrcname_eval (ats_castfn_mac(ats_ptr_type, tmp68)) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert2 (ats_castfn_mac(ats_ptr_type, tmp55), tmp70, tmp64) ; } else { /* empty */ } /* end of [if] */ tmp54 = tmp64 ; } /* end of [if] */ return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__pkgsrcname_relocatize] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_filename_reloc_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_util1_dats.c0000664000175000017500000053357412655455557021326 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_7 ; typedef struct { anairiats_rec_7 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyarr_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_linearize) (ats_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat0) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tkind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec) (ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exiuni) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset) (ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_linearize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_boxed) (ats_int_type, ats_int_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst) (ats_int_type, ats_int_type, ats_int_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lab_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag) (ats_ptr_type, ats_ptr_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__sasp__stasub_vtype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_error2_loc_0 (ats_ptr_type arg0) ; static ats_ptr_type impname_linearize_1 (ats_ptr_type arg0) ; static ats_ptr_type aux_6 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_8 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type aux01_10 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) ; static ats_bool_type test1_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type test2_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type filter_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_23 (ats_ptr_type arg0) ; static ats_bool_type loop_25 (ats_ptr_type arg0) ; static ats_bool_type aux_28 (ats_ptr_type arg0, ats_uint_type arg1) ; static ats_void_type loop_34 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_anairiats_rec_7 (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_anairiats_rec_7 (ats_ptr_type arg0) ; static ats_void_type loop_37 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_anairiats_rec_7 (ats_ptr_type arg0) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type loop_42 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_49 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type revapp_52 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s2var_subst_flag_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s2Var_subst_flag_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_57 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type s2exp_subst_flag_exiuni_55 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) ; static ats_ptr_type aux_76 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_76_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type aux_76_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 1895(line=69, offs=4) -- 1987(line=72, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; // ATSlocal_void (tmp1) ; __ats_lab_prerr_error2_loc_0: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp0 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp0) */ ; } /* end of [prerr_error2_loc_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 2049(line=78, offs=4) -- 2312(line=88, offs=4) */ ATSstaticdec() ats_ptr_type impname_linearize_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; __ats_lab_impname_linearize_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; if (!tmp3) { goto __ats_lab_1_1 ; } tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; if (!tmp4) { goto __ats_lab_2_1 ; } tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; if (!tmp5) { goto __ats_lab_3_1 ; } tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp2 = arg0 ; break ; } while (0) ; return (tmp2) ; } /* end of [impname_linearize_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 2395(line=94, offs=3) -- 2910(line=115, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_linearize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_linearize: /* ats_int_type tmp7 ; */ tmp7 = 0 ; /* ats_ptr_type tmp8 ; */ tmp8 = arg0 ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp8)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_1, tmp8, atslab_0) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp10)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp10, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_2, tmp10, atslab_1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__impkind_linearize (tmp11) ; tmp14 = impname_linearize_1 (tmp12) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp16)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_0, tmp13) ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_1, tmp14) ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp15)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp15, atslab_0, tmp16) ; tmp8 = tmp15 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp7 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp7 = 1 ; break ; } while (0) ; tmp6 = tmp8 ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_linearize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 3090(line=130, offs=17) -- 4018(line=157, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc (ats_ptr_type arg0, ats_bool_type arg1, ats_bool_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_int_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc: if (arg1) { if (arg2) { tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; } else { tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; } /* end of [if] */ } else { do { /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: if (!arg2) { goto __ats_lab_14_1 ; } do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_9_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp18 != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp18 != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: /* tmp19 = */ prerr_error2_loc_0 (arg0) ; /* tmp20 = */ atspre_prerr_string (ATSstrcst(": a closure reference cannot be linear.")) ; /* tmp21 = */ atspre_prerr_newline () ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; break ; } while (0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_15_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp22 != 0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp22 != 1) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; break ; } while (0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; break ; } while (0) ; break ; } while (0) ; } /* end of [if] */ return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_prf_lin_fc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 4183(line=168, offs=3) -- 4743(line=188, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_boxed (ats_int_type arg0, ats_int_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_bool_type, tmp27) ; ATSlocal (ats_bool_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_boxed: tmp24 = atspre_gte_int_int (arg0, 0) ; if (tmp24) { tmp25 = atspre_eq_int_int (arg1, 0) ; if (tmp25) { tmp26 = atspre_gt_int_int (arg3, 0) ; if (tmp26) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ } else { tmp27 = atspre_gt_int_int (arg3, 0) ; if (tmp27) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ } /* end of [if] */ } else { tmp28 = atspre_eq_int_int (arg2, 0) ; if (tmp28) { tmp29 = atspre_eq_int_int (arg1, 0) ; if (tmp29) { tmp30 = atspre_gt_int_int (arg3, 0) ; if (tmp30) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ } else { tmp31 = atspre_gt_int_int (arg3, 0) ; if (tmp31) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ } /* end of [if] */ } else { tmp32 = atspre_eq_int_int (arg1, 0) ; if (tmp32) { tmp33 = atspre_gt_int_int (arg3, 0) ; if (tmp33) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; } /* end of [if] */ } else { tmp34 = atspre_gt_int_int (arg3, 0) ; if (tmp34) { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_boxed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 5738(line=216, offs=5) -- 6248(line=241, offs=4) */ ATSstaticdec() ats_ptr_type aux_6 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_int_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_bool_type, tmp45) ; __ats_lab_aux_6: tmp37 = atspre_gt_int_int (arg0, 0) ; if (tmp37) { if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 5855(line=223, offs=7) -- 5877(line=223, offs=29)") ; } tmp38 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp39 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp39 ; arg1 = arg1 ; arg2 = tmp38 ; goto __ats_lab_aux_6 ; // tail call } else { if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 5923(line=227, offs=7) -- 5945(line=227, offs=29)") ; } tmp40 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp42 = ats_caselptrlab_mac(anairiats_sum_5, tmp40, atslab_2) ; tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp42), atslab_s2exp_srt) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp43) ; if (tmp44) { arg0 = 0 ; arg1 = arg1 ; arg2 = tmp41 ; goto __ats_lab_aux_6 ; // tail call } else { tmp45 = atspre_eq_int_int (arg1, 0) ; if (tmp45) { tmp36 = tmp43 ; } else { tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_linearize (tmp43) ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ return (tmp36) ; } /* end of [aux_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 4846(line=193, offs=3) -- 6647(line=261, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (ats_int_type arg0, ats_int_type arg1, ats_int_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_bool_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_bool_type, tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_bool_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst: tmp46 = atspre_eq_int_int (arg3, 0) ; if (tmp46) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_boxed (arg0, arg1, arg2, arg4) ; } else { tmp47 = atspre_eq_int_int (arg3, 1) ; if (tmp47) { tmp48 = atspre_gt_int_int (arg4, 0) ; if (tmp48) { tmp49 = atspre_eq_int_int (arg1, 0) ; if (tmp49) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } /* end of [if] */ } else { tmp35 = aux_6 (arg0, arg1, arg5) ; } /* end of [if] */ } else { tmp50 = atspre_eq_int_int (arg1, 0) ; if (tmp50) { tmp51 = atspre_gt_int_int (arg4, 0) ; if (tmp51) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ } else { tmp52 = atspre_gt_int_int (arg4, 0) ; if (tmp52) { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 6780(line=271, offs=5) -- 7078(line=287, offs=4) */ ATSstaticdec() ats_ptr_type aux_8 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; __ats_lab_aux_8: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (arg0) ; tmp59 = (ats_sum_ptr_type)0 ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp58, atslab_0, tmp57) ; ats_selptrset_mac(anairiats_sum_5, tmp58, atslab_1, tmp59) ; ats_selptrset_mac(anairiats_sum_5, tmp58, atslab_2, tmp55) ; tmp61 = atspre_add_int_int (arg0, 1) ; tmp60 = aux_8 (tmp61, tmp56) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp54, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_4, tmp54, atslab_1, tmp60) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp54 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp54) ; } /* end of [aux_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 6746(line=267, offs=1) -- 7165(line=293, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tytup (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tytup: tmp62 = aux_8 (0, arg2) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (arg0, arg1, tmp62) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tytup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 7248(line=301, offs=5) -- 7761(line=325, offs=4) */ ATSstaticdec() ats_void_type aux01_10 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_int_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; __ats_lab_aux01_10: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_5, tmp65, atslab_2) ; tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp67), atslab_s2exp_srt) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp68) ; if (tmp70) { tmp71 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ; ats_ptrget_mac(ats_int_type, arg3) = tmp71 ; } else { /* empty */ } /* end of [if] */ tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp68) ; if (tmp73) { tmp74 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp74 ; } else { tmp75 = atspre_gte_int_int (arg0, arg1) ; if (tmp75) { tmp76 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg5), 1) ; ats_ptrget_mac(ats_int_type, arg5) = tmp76 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp77 = atspre_add_int_int (arg0, 1) ; arg0 = tmp77 ; arg1 = arg1 ; arg2 = tmp66 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_aux01_10 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: break ; } while (0) ; return /* (tmp64) */ ; } /* end of [aux01_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 7213(line=297, offs=1) -- 8307(line=348, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec: /* ats_int_type tmp78 ; */ tmp78 = 0 ; /* ats_int_type tmp79 ; */ tmp79 = 0 ; /* ats_int_type tmp80 ; */ tmp80 = 0 ; /* tmp81 = */ aux01_10 (0, arg1, arg2, (&tmp78), (&tmp79), (&tmp80)) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp82 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 != 1) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp82 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg0 != 2) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp82 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp82 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; break ; } while (0) ; tmp84 = atspre_gte_int_int (arg0, 3) ; if (tmp84) { tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2rt_npf_lin_prf_prgm_boxed_labs2explst (arg1, tmp78, tmp79, tmp80, arg0, arg2) ; } /* end of [if] */ tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp83, tmp82, arg1, arg2) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 8419(line=355, offs=7) -- 8863(line=368, offs=8) */ ATSstaticdec() ats_bool_type test1_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp86) ; ATSlocal (anairiats_rec_7, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_bool_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab_test1_12: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_28_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp91 = ats_select_mac(tmp87, atslab_1) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp91), atslab_s2exp_srt) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat0 (tmp93, tmp89) ; if (tmp92) { arg0 = tmp88 ; arg1 = tmp90 ; goto __ats_lab_test1_12 ; // tail call } else { tmp86 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp86 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp86 = ats_false_bool ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp86 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp86) ; } /* end of [test1_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 8917(line=371, offs=7) -- 9279(line=383, offs=26) */ ATSstaticdec() ats_bool_type test2_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_bool_type, tmp100) ; __ats_lab_test2_13: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun (arg0) ; if (tmp97) { if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 9085(line=378, offs=15) -- 9118(line=378, offs=48)") ; } tmp98 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp100 = test1_12 (tmp95, tmp98) ; if (tmp100) { arg0 = tmp99 ; arg1 = tmp96 ; goto __ats_lab_test2_13 ; // tail call } else { tmp94 = ats_false_bool ; } /* end of [if] */ } else { tmp94 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp94 = ats_true_bool ; break ; } while (0) ; return (tmp94) ; } /* end of [test2_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 9312(line=386, offs=7) -- 9963(line=407, offs=33) */ ATSstaticdec() ats_ptr_type filter_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab_filter_14: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (tmp102) ; tmp105 = test2_13 (tmp104, arg1) ; if (tmp105) { tmp106 = filter_14 (tmp103, arg1) ; tmp101 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp101, atslab_0, tmp102) ; ats_selptrset_mac(anairiats_sum_4, tmp101, atslab_1, tmp106) ; } else { arg0 = tmp103 ; arg1 = arg1 ; goto __ats_lab_filter_14 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp101 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp101) ; } /* end of [filter_14] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50922(line=1801, offs=14) -- 50991(line=1803, offs=4) */ ATSstaticdec() ats_bool_type list_is_sing_01298_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab_list_is_sing_01298_ats_ptr_type: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } tmp109 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; if (tmp109 != (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp108 = ats_true_bool ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp108 = ats_false_bool ; break ; } while (0) ; return (tmp108) ; } /* end of [list_is_sing_01298_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 8392(line=353, offs=29) -- 10077(line=414, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2cst_select_locs2explstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_bool_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2cst_select_locs2explstlst: tmp107 = list_is_sing_01298_ats_ptr_type (arg0) ; if (tmp107) { tmp85 = arg0 ; } else { tmp85 = filter_14 (arg0, arg1) ; } /* end of [if] */ return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2cst_select_locs2explstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 10166(line=419, offs=17) -- 10233(line=420, offs=58) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_nonvar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_nonvar: tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp111)->tag != 7) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp110 = ats_false_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp110 = ats_true_bool ; break ; } while (0) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_nonvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 10313(line=426, offs=18) -- 10443(line=431, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype: tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp113)->tag != 31) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp112 = ats_true_bool ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp113)->tag != 27) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_10, tmp113, atslab_2) ; arg0 = tmp114 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp112 = ats_false_bool ; break ; } while (0) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_wthtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 10588(line=440, offs=18) -- 10726(line=444, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without: tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp116)->tag != 23) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp115 = ats_true_bool ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp116)->tag != 25) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_11, tmp116, atslab_2) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without (tmp117) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp115 = ats_false_bool ; break ; } while (0) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 10792(line=449, offs=3) -- 11011(line=455, offs=24) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_bool_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_5, tmp119, atslab_2) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without (tmp121) ; if (tmp122) { arg0 = tmp120 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without ; // tail call } else { tmp118 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp118 = ats_true_bool ; break ; } while (0) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_without] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 11174(line=465, offs=3) -- 11555(line=482, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2: tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg0) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp124) ; if (tmp125) { tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp124), atslab_s2exp_node) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp126)->tag != 12) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_9, tmp126, atslab_0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_without (tmp127) ; if (tmp128) { tmp123 = ats_false_bool ; } else { tmp123 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp126)->tag != 25) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_11, tmp126, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_11, tmp126, atslab_2) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (tmp129) ; if (tmp131) { tmp123 = ats_true_bool ; } else { tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2 (tmp130) ; } /* end of [if] */ break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp123 = ats_true_bool ; break ; } while (0) ; } else { tmp123 = ats_false_bool ; } /* end of [if] */ return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 11615(line=486, offs=3) -- 11828(line=492, offs=25) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp134 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_5, tmp133, atslab_2) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2 (tmp135) ; if (tmp136) { tmp132 = ats_true_bool ; } else { arg0 = tmp134 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp132 = ats_false_bool ; break ; } while (0) ; return (tmp132) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_is_lin2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 11949(line=499, offs=7) -- 12042(line=500, offs=67) */ ATSstaticdec() ats_ptr_type loop_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab_loop_23: tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp139)->tag != 17) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_9, tmp139, atslab_0) ; arg0 = tmp140 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp138 = arg0 ; break ; } while (0) ; return (tmp138) ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 11931(line=498, offs=16) -- 12126(line=505, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_get_head (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_get_head: tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp142 = loop_23 (tmp141) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp142) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_get_head] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 12221(line=512, offs=5) -- 12489(line=522, offs=15) */ ATSstaticdec() ats_bool_type loop_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_bool_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab_loop_25: tmp145 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp145)->tag != 4) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_1, tmp145, atslab_0) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_abstr (tmp146) ; if (tmp147) { tmp144 = ats_true_bool ; } else { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tkind (tmp146) ; if (tmp148) { tmp144 = ats_true_bool ; } else { tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_iscon (tmp146) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp145)->tag != 17) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_9, tmp145, atslab_0) ; arg0 = tmp149 ; goto __ats_lab_loop_25 ; // tail call break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp144 = ats_false_bool ; break ; } while (0) ; return (tmp144) ; } /* end of [loop_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 12202(line=510, offs=17) -- 12552(line=527, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp143 = loop_25 (tmp150) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_is_abscon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 12629(line=533, offs=3) -- 12833(line=539, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_add_set (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; ATSlocal (ats_bool_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_add_set: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (arg1) ; if (!tmp152) { goto __ats_lab_61_1 ; } tmp151 = arg0 ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (arg1) ; if (!tmp153) { goto __ats_lab_62_1 ; } tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (arg1) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add (arg0, tmp154) ; break ; } while (0) ; return (tmp151) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_add_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 12954(line=548, offs=5) -- 13105(line=556, offs=4) */ ATSstaticdec() ats_bool_type aux_28 (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab_aux_28: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp157) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp158), atslab_s2exp_node) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp156 = ats_false_bool ; break ; } while (0) ; return (tmp156) ; } /* end of [aux_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 12928(line=546, offs=3) -- 13411(line=570, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_uint_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_bool_type, tmp164) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset (tmp160, arg1) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp155 = aux_28 (tmp161, arg1) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set (tmp162, arg1) ; if (tmp164) { tmp155 = ats_true_bool ; } else { arg0 = tmp163 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 13494(line=576, offs=3) -- 13824(line=589, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_uint_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_bool_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (tmp166) ; if (tmp167) { tmp165 = ats_true_bool ; } else { tmp165 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (arg1, tmp168) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp (tmp169, arg1) ; if (tmp171) { tmp165 = ats_true_bool ; } else { arg0 = tmp170 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp165) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14005(line=601, offs=17) -- 14024(line=601, offs=36) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil: tmp172 = (ats_sum_ptr_type)0 ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_34 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp176) ; ATSlocal (anairiats_rec_7, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab_loop_34: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp179 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp179, atslab_0, tmp177) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp179 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp180 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp178 ; arg1 = tmp180 ; goto __ats_lab_loop_34 ; // tail call break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp181 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp181 ; break ; } while (0) ; return /* (tmp176) */ ; } /* end of [loop_34] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_anairiats_rec_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; __ats_lab_list_copy_01322_anairiats_rec_7: /* ats_ptr_type tmp182 ; */ /* tmp183 = */ loop_34 (arg0, (&tmp182)) ; tmp175 = tmp182 ; return (tmp175) ; } /* end of [list_copy_01322_anairiats_rec_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_anairiats_rec_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; __ats_lab_list_vt_copy_01498_anairiats_rec_7: tmp174 = list_copy_01322_anairiats_rec_7 (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp174) ; } /* end of [list_vt_copy_01498_anairiats_rec_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14047(line=603, offs=13) -- 14072(line=603, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy: tmp173 = list_vt_copy_01498_anairiats_rec_7 (arg0) ; return (tmp173) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_37 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_loop_37: do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp187 ; goto __ats_lab_loop_37 ; // tail call break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: break ; } while (0) ; return /* (tmp186) */ ; } /* end of [loop_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_anairiats_rec_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp185) ; __ats_lab_list_vt_free_01499_anairiats_rec_7: /* tmp185 = */ loop_37 (arg0) ; return /* (tmp185) */ ; } /* end of [list_vt_free_01499_anairiats_rec_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14096(line=605, offs=13) -- 14121(line=605, offs=38) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp184) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free: /* tmp184 = */ list_vt_free_01499_anairiats_rec_7 (arg0) ; return /* (tmp184) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14195(line=613, offs=5) -- 14654(line=636, offs=4) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp189) ; ATSlocal (anairiats_rec_7, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_bool_type, tmp193) ; // ATSlocal_void (tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; __ats_lab_loop_39: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp191 = &ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp193 = atspre_gt_int_int (arg2, 0) ; if (tmp193) { /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp195 = ats_select_mac(tmp190, atslab_0) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp195) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst("->")) ; tmp198 = ats_select_mac(tmp190, atslab_1) ; /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp198) ; tmp199 = ats_ptrget_mac(ats_ptr_type, tmp191) ; tmp200 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp199 ; arg2 = tmp200 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: break ; } while (0) ; return /* (tmp189) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14171(line=611, offs=3) -- 14702(line=640, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__fprint_stasub (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__fprint_stasub: /* tmp188 = */ loop_39 (arg0, arg1, 0) ; return /* (tmp188) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__fprint_stasub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14774(line=646, offs=3) -- 14816(line=646, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (anairiats_rec_7, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add: tmp203.atslab_0 = arg1 ; tmp203.atslab_1 = arg2 ; tmp202 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp202, atslab_0, tmp203) ; ats_selptrset_mac(anairiats_sum_8, tmp202, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp202 ; return /* (tmp201) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14897(line=652, offs=7) -- 15329(line=666, offs=8) */ ATSstaticdec() ats_int_type loop_42 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; __ats_lab_loop_42: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_76_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp206, tmp208) ; arg0 = arg0 ; arg1 = tmp207 ; arg2 = tmp209 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp205 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp205 = -1 ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: tmp205 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp205) ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 14867(line=651, offs=3) -- 15401(line=670, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst: tmp204 = loop_42 (arg0, arg1, arg2) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_addlst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 9577(line=358, offs=7) -- 9950(line=371, offs=27) */ ATSstaticdec() ats_ptr_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (anairiats_rec_7, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_bool_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab_loop_46: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp218 = ats_select_mac(tmp215, atslab_0) ; tmp217 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg1) (arg2, tmp218, arg3) ; if (tmp217) { tmp219 = ats_select_mac(tmp215, atslab_1) ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp214, atslab_0, tmp219) ; } else { arg0 = tmp216 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_46 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: tmp214 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp214) ; } /* end of [loop_46] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 9541(line=357, offs=21) -- 9988(line=374, offs=4) */ ATSstaticdec() ats_ptr_type list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; __ats_lab_list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type: tmp213 = loop_46 (arg0, arg1, arg2, arg3) ; return (tmp213) ; } /* end of [list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 10063(line=378, offs=12) -- 10354(line=385, offs=2) */ ATSstaticdec() ats_ptr_type list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; __ats_lab_list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type: tmp212 = list_assoc_funenv_01315_ats_ptr_type_2cats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), arg2, atspre_null_ptr) ; return (tmp212) ; } /* end of [list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 15472(line=675, offs=13) -- 15659(line=681, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find: tmp211 = list_assoc_fun_01316_ats_ptr_type_2cats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var, arg1) ; return (tmp211) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 15955(line=698, offs=3) -- 16424(line=714, offs=8) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp220) ; ATSlocal (anairiats_rec_7, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp222 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp224 = ats_select_mac(tmp221, atslab_0) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset (tmp224) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem (tmp223, arg1) ; if (tmp225) { tmp220 = ats_true_bool ; } else { tmp226 = ats_ptrget_mac(ats_ptr_type, tmp222) ; arg0 = tmp226 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp220 = ats_false_bool ; break ; } while (0) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 16581(line=724, offs=5) -- 16952(line=736, offs=25) */ ATSstaticdec() ats_ptr_type loop_49 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; // ATSlocal_void (tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab_loop_49: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_dup (tmp229) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp231) ; /* tmp233 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add (arg0, tmp229, tmp232) ; tmp234 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp234, atslab_0, tmp231) ; ats_selptrset_mac(anairiats_sum_4, tmp234, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp230 ; arg2 = tmp234 ; goto __ats_lab_loop_49 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp228 = arg2 ; break ; } while (0) ; return (tmp228) ; } /* end of [loop_49] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_52 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab_revapp_52: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp240 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp241 = ats_ptrget_mac(ats_ptr_type, tmp240) ; ats_ptrget_mac(ats_ptr_type, tmp240) = arg1 ; tmp242 = arg0 ; arg0 = tmp241 ; arg1 = tmp242 ; goto __ats_lab_revapp_52 ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: tmp239 = arg1 ; break ; } while (0) ; return (tmp239) ; } /* end of [revapp_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp238 = revapp_52 (arg0, arg1) ; return (tmp238) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp243 = (ats_sum_ptr_type)0 ; tmp237 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp243) ; return (tmp237) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 16556(line=722, offs=23) -- 17057(line=745, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst: tmp236 = (ats_sum_ptr_type)0 ; tmp235 = loop_49 (arg0, arg1, tmp236) ; tmp227 = list_vt_reverse_01506_ats_ptr_type (tmp235) ; return (tmp227) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 18157(line=792, offs=1) -- 18418(line=803, offs=4) */ ATSstaticdec() ats_ptr_type s2var_subst_flag_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; __ats_lab_s2var_subst_flag_53: tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find (arg0, arg3) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (tmp245 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_13, tmp245, atslab_0) ; ATS_FREE(tmp245) ; tmp247 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp247 ; tmp244 = tmp246 ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (tmp245 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp244 = arg1 ; break ; } while (0) ; return (tmp244) ; } /* end of [s2var_subst_flag_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 18453(line=806, offs=1) -- 18937(line=828, offs=4) */ ATSstaticdec() ats_ptr_type s2Var_subst_flag_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_bool_type, tmp252) ; ATSlocal (ats_int_type, tmp254) ; ATSlocal (ats_bool_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab_s2Var_subst_flag_54: tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (arg3) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (tmp249 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_13, tmp249, atslab_0) ; tmp251 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp251 ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp250, arg2) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (tmp249 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_occurcheck (arg0, arg3) ; if (tmp252) { tmp254 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp254 ; } else { /* empty */ } /* end of [if] */ tmp255 = atspre_neg_bool (tmp252) ; if (tmp255) { tmp248 = arg1 ; } else { tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp256) ; } /* end of [if] */ break ; } while (0) ; return (tmp248) ; } /* end of [s2Var_subst_flag_54] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_57 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; __ats_lab_loop_57: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp268 ; goto __ats_lab_loop_57 ; // tail call break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: break ; } while (0) ; return /* (tmp267) */ ; } /* end of [loop_57] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp266) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp266 = */ loop_57 (arg0) ; return /* (tmp266) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 18972(line=831, offs=1) -- 19541(line=851, offs=4) */ ATSstaticdec() ats_ptr_type s2exp_subst_flag_exiuni_55 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; // ATSlocal_void (tmp263) ; ATSlocal (ats_bool_type, tmp264) ; // ATSlocal_void (tmp265) ; __ats_lab_s2exp_subst_flag_exiuni_55: tmp258 = ats_ptrget_mac(ats_int_type, arg3) ; /* ats_ptr_type tmp259 ; */ tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy (arg1) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp259), arg4) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (tmp259, arg5, arg3) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (tmp259, arg6, arg3) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp259) ; tmp264 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg3), tmp258) ; if (tmp264) { tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exiuni (arg0, ats_castfn_mac(ats_ptr_type, tmp260), tmp261, tmp262) ; } else { /* tmp265 = */ list_vt_free_01499_ats_ptr_type (tmp260) ; tmp257 = arg2 ; } /* end of [if] */ return (tmp257) ; } /* end of [s2exp_subst_flag_exiuni_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 19629(line=857, offs=3) -- 26196(line=1083, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_int_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_bool_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_bool_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_bool_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_bool_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_int_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_bool_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_int_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_bool_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_int_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_bool_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_int_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_bool_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_bool_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_int_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_int_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_bool_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_bool_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_int_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_int_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_int_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_bool_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_int_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_bool_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_int_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_bool_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_int_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_int_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_bool_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_int_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_bool_type, tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_int_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_bool_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_int_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_bool_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_int_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_bool_type, tmp408) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag: tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp271 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp271)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp271)->tag != 1) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp271)->tag != 2) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp271)->tag != 3) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp271)->tag != 4) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp271)->tag != 5) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp274 = ats_ptrget_mac(ats_int_type, arg2) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag (arg0, tmp273, arg2) ; tmp276 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp274) ; if (tmp276) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt (tmp270, tmp272, tmp275) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp271)->tag != 6) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp277 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp278 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp279 = ats_ptrget_mac(ats_int_type, arg2) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag (arg0, tmp278, arg2) ; tmp281 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp279) ; if (tmp281) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt (tmp270, tmp277, tmp280) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp271)->tag != 7) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp269 = s2var_subst_flag_53 (arg0, arg1, arg2, tmp282) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp271)->tag != 8) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp269 = s2Var_subst_flag_54 (arg0, arg1, arg2, tmp283) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp271)->tag != 9) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp269 = arg1 ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp271)->tag != 10) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp285 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp286 = ats_ptrget_mac(ats_int_type, arg2) ; tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp285, arg2) ; tmp288 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp286) ; if (tmp288) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp (tmp284, tmp287) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp271)->tag != 11) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_0) ; tmp290 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_1) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_2) ; tmp292 = ats_ptrget_mac(ats_int_type, arg2) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp290, arg2) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp291, arg2) ; tmp295 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp292) ; if (tmp295) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr (tmp289, tmp293, tmp294) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp271)->tag != 12) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp297 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp298 = ats_ptrget_mac(ats_int_type, arg2) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp296, arg2) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp297, arg2) ; tmp301 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp298) ; if (tmp301) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp299, tmp300) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp271)->tag != 13) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp303 = ats_ptrget_mac(ats_int_type, arg2) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp302, arg2) ; tmp305 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp303) ; if (tmp305) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof (tmp304) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp271)->tag != 14) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp307 = ats_ptrget_mac(ats_int_type, arg2) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag (arg0, tmp306, arg2) ; tmp309 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp307) ; if (tmp309) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff (tmp308) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp271)->tag != 15) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp312 = ats_ptrget_mac(ats_int_type, arg2) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp310, arg2) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp311, arg2) ; tmp315 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp312) ; if (tmp315) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq (tmp313, tmp314) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp271)->tag != 16) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_0) ; tmp317 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_1) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_2) ; tmp319 = ats_ptrget_mac(ats_int_type, arg2) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp316, arg2) ; tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp317, arg2) ; tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag (arg0, tmp318, arg2) ; tmp323 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp319) ; if (tmp323) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj (tmp320, tmp321, tmp322) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp271)->tag != 17) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp325 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp326 = ats_ptrget_mac(ats_int_type, arg2) ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp324, arg2) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp325, arg2) ; tmp329 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp326) ; if (tmp329) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp270, tmp327, tmp328) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp271)->tag != 18) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp330 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp331 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp332 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp333 ; */ tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_copy (arg0) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst ((&tmp333), tmp330) ; tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (tmp333, tmp331, arg2) ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp333) ; tmp337 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp332) ; if (tmp337) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp270, ats_castfn_mac(ats_ptr_type, tmp334), tmp335) ; } else { /* tmp338 = */ list_vt_free_01499_ats_ptr_type (tmp334) ; tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp271)->tag != 19) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_1) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_2) ; tmp342 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_3) ; tmp343 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_4) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_14, tmp271, atslab_5) ; tmp345 = ats_ptrget_mac(ats_int_type, arg2) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag (arg0, tmp341, arg2) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp343, arg2) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp344, arg2) ; tmp349 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp345) ; if (tmp349) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (tmp270, tmp339, tmp340, tmp346, tmp342, tmp347, tmp348) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp271)->tag != 20) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp350 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_0) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_1) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_2) ; tmp353 = ats_ptrget_mac(ats_int_type, arg2) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp351, arg2) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp352, arg2) ; tmp356 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp353) ; if (tmp356) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun (tmp350, tmp354, tmp355) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp271)->tag != 21) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp357 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp358 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp359 = ats_ptrget_mac(ats_int_type, arg2) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp357, arg2) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp358, arg2) ; tmp362 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp359) ; if (tmp362) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec (tmp360, tmp361) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp271)->tag != 22) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_0) ; tmp364 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_1) ; tmp365 = ats_ptrget_mac(ats_int_type, arg2) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp364, arg2) ; tmp367 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp365) ; if (tmp367) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt (tmp270, tmp363, tmp366) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp271)->tag != 23) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp369 = ats_ptrget_mac(ats_int_type, arg2) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp368, arg2) ; tmp371 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp369) ; if (tmp371) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without (tmp370) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp271)->tag != 24) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp373 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp374 = ats_ptrget_mac(ats_int_type, arg2) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp372, arg2) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp373, arg2) ; tmp377 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp374) ; if (tmp377) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr (tmp375, tmp376) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp271)->tag != 25) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp378 = ats_caselptrlab_mac(anairiats_sum_11, tmp271, atslab_0) ; tmp379 = ats_caselptrlab_mac(anairiats_sum_11, tmp271, atslab_1) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_11, tmp271, atslab_2) ; tmp381 = ats_ptrget_mac(ats_int_type, arg2) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag (arg0, tmp380, arg2) ; tmp383 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp381) ; if (tmp383) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (tmp270, tmp378, tmp379, tmp382) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp271)->tag != 26) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp385 = ats_ptrget_mac(ats_int_type, arg2) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp384, arg2) ; tmp387 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp385) ; if (tmp387) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar (tmp386) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp271)->tag != 29) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_1) ; tmp390 = ats_ptrget_mac(ats_int_type, arg2) ; tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp389, arg2) ; tmp392 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp390) ; if (tmp392) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg (tmp388, tmp391) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp271)->tag != 27) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp393 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_0) ; tmp394 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_1) ; tmp395 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_2) ; tmp269 = s2exp_subst_flag_exiuni_55 (0, arg0, arg1, arg2, tmp393, tmp394, tmp395) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp271)->tag != 28) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp396 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_0) ; tmp397 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_1) ; tmp398 = ats_caselptrlab_mac(anairiats_sum_10, tmp271, atslab_2) ; tmp269 = s2exp_subst_flag_exiuni_55 (1, arg0, arg1, arg2, tmp396, tmp397, tmp398) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp271)->tag != 30) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_1, tmp271, atslab_0) ; tmp400 = ats_ptrget_mac(ats_int_type, arg2) ; tmp401 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp399, arg2) ; tmp402 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp400) ; if (tmp402) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg (tmp401) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp271)->tag != 31) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp403 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_0) ; tmp404 = ats_caselptrlab_mac(anairiats_sum_9, tmp271, atslab_1) ; tmp405 = ats_ptrget_mac(ats_int_type, arg2) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp403, arg2) ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag (arg0, tmp404, arg2) ; tmp408 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp405) ; if (tmp408) { tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype (tmp406, tmp407) ; } else { tmp269 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (((ats_sum_ptr_type)tmp271)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: tmp269 = arg1 ; break ; } while (0) ; return (tmp269) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 26280(line=1089, offs=3) -- 26603(line=1098, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_int_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_bool_type, tmp415) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag: do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp411 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp412 = ats_ptrget_mac(ats_int_type, arg2) ; tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp410, arg2) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp411, arg2) ; tmp415 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp412) ; if (tmp415) { tmp409 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp409, atslab_0, tmp413) ; ats_selptrset_mac(anairiats_sum_4, tmp409, atslab_1, tmp414) ; } else { tmp409 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp409 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp409) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 26672(line=1103, offs=3) -- 27010(line=1112, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_int_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_bool_type, tmp422) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag: do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp417 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp418 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp419 = ats_ptrget_mac(ats_int_type, arg2) ; tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp417, arg2) ; tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag (arg0, tmp418, arg2) ; tmp422 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp419) ; if (tmp422) { tmp416 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp416, atslab_0, tmp420) ; ats_selptrset_mac(anairiats_sum_4, tmp416, atslab_1, tmp421) ; } else { tmp416 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp416 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp416) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 27103(line=1119, offs=3) -- 27571(line=1132, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_int_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_bool_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag: do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp425 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_5, tmp424, atslab_0) ; tmp427 = ats_caselptrlab_mac(anairiats_sum_5, tmp424, atslab_1) ; tmp428 = ats_caselptrlab_mac(anairiats_sum_5, tmp424, atslab_2) ; tmp429 = ats_ptrget_mac(ats_int_type, arg2) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp428, arg2) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag (arg0, tmp425, arg2) ; tmp432 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp429) ; if (tmp432) { tmp433 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp433, atslab_0, tmp426) ; ats_selptrset_mac(anairiats_sum_5, tmp433, atslab_1, tmp427) ; ats_selptrset_mac(anairiats_sum_5, tmp433, atslab_2, tmp430) ; tmp423 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp423, atslab_0, tmp433) ; ats_selptrset_mac(anairiats_sum_4, tmp423, atslab_1, tmp431) ; } else { tmp423 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: tmp423 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp423) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2explst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 27664(line=1139, offs=3) -- 28657(line=1169, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_int_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_int_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_bool_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_int_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_bool_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_int_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_bool_type, tmp452) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag: do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp434 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp435 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp436 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp437 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_2) ; tmp438 = ats_ptrget_mac(ats_int_type, arg2) ; tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp436, arg2) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag (arg0, tmp437, arg2) ; tmp441 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp438) ; if (tmp441) { tmp434 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp434)->tag = 1 ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_0, tmp435) ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_1, tmp439) ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_2, tmp440) ; } else { tmp434 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_0) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_1) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_15, arg1, atslab_2) ; tmp445 = ats_ptrget_mac(ats_int_type, arg2) ; tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp443, arg2) ; tmp447 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag (arg0, tmp444, arg2) ; tmp448 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp445) ; if (tmp448) { tmp434 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp434)->tag = 2 ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_0, tmp442) ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_1, tmp446) ; ats_selptrset_mac(anairiats_sum_15, tmp434, atslab_2, tmp447) ; } else { tmp434 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp450 = ats_ptrget_mac(ats_int_type, arg2) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag (arg0, tmp449, arg2) ; tmp452 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp450) ; if (tmp452) { tmp434 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp434)->tag = 3 ; ats_selptrset_mac(anairiats_sum_1, tmp434, atslab_0, tmp451) ; } else { tmp434 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp434) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__wths2explst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 28777(line=1176, offs=3) -- 29034(line=1186, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lab_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_int_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_bool_type, tmp457) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lab_subst_flag: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp453 = arg1 ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp454 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp455 = ats_ptrget_mac(ats_int_type, arg2) ; tmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp454, arg2) ; tmp457 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp455) ; if (tmp457) { tmp453 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp453)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp453, atslab_0, tmp456) ; } else { tmp453 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp453) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lab_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 29120(line=1191, offs=3) -- 29442(line=1200, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag: do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp459 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp461 = ats_ptrget_mac(ats_int_type, arg2) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lab_subst_flag (arg0, tmp459, arg2) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag (arg0, tmp460, arg2) ; tmp464 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp461) ; if (tmp464) { tmp458 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp458, atslab_0, tmp462) ; ats_selptrset_mac(anairiats_sum_4, tmp458, atslab_1, tmp463) ; } else { tmp458 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp458 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp458) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2lablst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 29528(line=1207, offs=3) -- 30014(line=1222, offs=8) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_int_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_bool_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_int_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_bool_type, tmp475) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag: do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp465 = arg1 ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp467 = ats_ptrget_mac(ats_int_type, arg2) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp466, arg2) ; tmp469 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp467) ; if (tmp469) { tmp465 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp465)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp465, atslab_0, tmp468) ; } else { tmp465 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_145_1: tmp470 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp471 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp472 = ats_ptrget_mac(ats_int_type, arg2) ; tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag (arg0, tmp470, arg2) ; tmp474 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag (arg0, tmp471, arg2) ; tmp475 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp472) ; if (tmp475) { tmp465 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp465)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, tmp465, atslab_0, tmp473) ; ats_selptrset_mac(anairiats_sum_9, tmp465, atslab_1, tmp474) ; } else { tmp465 = arg1 ; } /* end of [if] */ break ; } while (0) ; return (tmp465) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2eff_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 30117(line=1229, offs=3) -- 31665(line=1301, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_int_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_int_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_int_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_int_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_bool_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_bool_type, tmp503) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag: do { /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_152_0 ; } __ats_lab_149_1: tmp477 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp478 = ats_ptrget_mac(ats_int_type, arg2) ; tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_find (arg0, tmp477) ; do { /* branch: __ats_lab_150 */ __ats_lab_150_0: if (tmp479 == (ats_sum_ptr_type)0) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp480 = ats_caselptrlab_mac(anairiats_sum_13, tmp479, atslab_0) ; ATS_FREE(tmp479) ; tmp481 = atspre_add_int_int (tmp478, 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp481 ; tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp480) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: // if (tmp479 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_151_1: tmp476 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp482 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp483 = ats_ptrget_mac(ats_int_type, arg2) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp482) ; tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp484, arg2) ; tmp486 = atspre_add_int_int (tmp483, 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp486 ; tmp476 = tmp485 ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp487 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp488 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp489 = ats_ptrget_mac(ats_int_type, arg2) ; tmp490 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp487, arg2) ; tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag (arg0, tmp488, arg2) ; tmp492 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp489) ; if (tmp492) { tmp476 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp476)->tag = 7 ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_0, tmp490) ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_1, tmp491) ; } else { tmp476 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp494 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp495 = ats_ptrget_mac(ats_int_type, arg2) ; tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp493, arg2) ; tmp497 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, tmp494, arg2) ; tmp498 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp495) ; if (tmp498) { tmp476 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp476)->tag = 8 ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_0, tmp496) ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_1, tmp497) ; } else { tmp476 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp499 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp501 = ats_ptrget_mac(ats_int_type, arg2) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag (arg0, tmp500, arg2) ; tmp503 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp501) ; if (tmp503) { tmp476 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp476)->tag = 9 ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_0, tmp499) ; ats_selptrset_mac(anairiats_sum_9, tmp476, atslab_1, tmp502) ; } else { tmp476 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp476 = arg1 ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: // if (((ats_sum_ptr_type)arg1)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_159_1: tmp476 = arg1 ; break ; } while (0) ; return (tmp476) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 31751(line=1307, offs=3) -- 32085(line=1316, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_int_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_bool_type, tmp510) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag: do { /* branch: __ats_lab_160 */ __ats_lab_160_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp505 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp506 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp507 = ats_ptrget_mac(ats_int_type, arg2) ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp505, arg2) ; tmp509 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag (arg0, tmp506, arg2) ; tmp510 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp507) ; if (tmp510) { tmp504 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp504, atslab_0, tmp505) ; ats_selptrset_mac(anairiats_sum_4, tmp504, atslab_1, tmp506) ; } else { tmp504 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_161_1: tmp504 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp504) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2zexplst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 32179(line=1323, offs=3) -- 32655(line=1336, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_int_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_bool_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag: do { /* branch: __ats_lab_162 */ __ats_lab_162_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp512 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp513 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp514 = ats_caselptrlab_mac(anairiats_sum_4, tmp512, atslab_0) ; tmp515 = ats_caselptrlab_mac(anairiats_sum_4, tmp512, atslab_1) ; tmp516 = ats_ptrget_mac(ats_int_type, arg2) ; tmp517 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_subst_flag (arg0, tmp515, arg2) ; tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag (arg0, tmp513, arg2) ; tmp519 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp516) ; if (tmp519) { tmp520 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp520, atslab_0, tmp514) ; ats_selptrset_mac(anairiats_sum_4, tmp520, atslab_1, tmp517) ; tmp511 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp511, atslab_0, tmp520) ; ats_selptrset_mac(anairiats_sum_4, tmp511, atslab_1, tmp518) ; } else { tmp511 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_163_1: tmp511 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp511) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__labs2zexplst_subst_flag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 32736(line=1342, offs=13) -- 32813(line=1344, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_int_type, tmp522) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst: /* ats_int_type tmp522 ; */ tmp522 = 0 ; tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, arg1, (&tmp522)) ; return (tmp521) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 32885(line=1349, offs=16) -- 32967(line=1351, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_int_type, tmp524) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst: /* ats_int_type tmp524 ; */ tmp524 = 0 ; tmp523 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_flag (arg0, arg1, (&tmp524)) ; return (tmp523) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 33026(line=1355, offs=3) -- 33274(line=1362, offs=34) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt: do { /* branch: __ats_lab_164 */ __ats_lab_164_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_165_0 ; } __ats_lab_164_1: tmp526 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp527 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp528 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (arg0, tmp526) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt (arg0, tmp527) ; tmp525 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp525, atslab_0, tmp528) ; ats_selptrset_mac(anairiats_sum_4, tmp525, atslab_1, tmp529) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_165_1: tmp525 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp525) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 33336(line=1367, offs=3) -- 33423(line=1369, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_int_type, tmp531) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst: /* ats_int_type tmp531 ; */ tmp531 = 0 ; tmp530 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__s2explstlst_subst_flag (arg0, arg1, (&tmp531)) ; return (tmp530) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explstlst_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 33503(line=1375, offs=3) -- 33718(line=1383, offs=19) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_int_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_bool_type, tmp536) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst: do { /* branch: __ats_lab_166 */ __ats_lab_166_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp533 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; /* ats_int_type tmp534 ; */ tmp534 = 0 ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst_flag (arg0, tmp533, (&tmp534)) ; tmp536 = atspre_gt_int_int (tmp534, 0) ; if (tmp536) { tmp532 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp532, atslab_0, tmp535) ; } else { tmp532 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_167_1: tmp532 = arg1 ; break ; } while (0) ; return (tmp532) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2expopt_subst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 33792(line=1390, offs=3) -- 33987(line=1397, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; // ATSlocal_void (tmp542) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha: /* ats_ptr_type tmp538 ; */ tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (arg1) ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_add ((&tmp538), arg0, tmp540) ; tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp538, arg2) ; /* tmp542 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp538) ; tmp537 = tmp541 ; return (tmp537) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 34073(line=1402, offs=7) -- 34623(line=1416, offs=27) */ ATSstaticdec() ats_ptr_type aux_76 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_int_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_bool_type, tmp550) ; ATSlocal (ats_int_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_bool_type, tmp554) ; ATSlocal (ats_int_type, tmp555) ; ATSlocal (ats_bool_type, tmp556) ; __ats_lab_aux_76: do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp545 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp546 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; /* ats_int_type tmp547 ; */ tmp547 = 0 ; tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_alpha (env0, env1, tmp545) ; tmp550 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp545), ats_castfn_mac(ats_ptr_type, tmp548)) ; if (tmp550) { tmp551 = atspre_iadd (tmp547, 1) ; tmp547 = tmp551 ; } else { /* empty */ } /* end of [if] */ tmp552 = aux_76 (env0, env1, tmp546) ; tmp554 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp546), ats_castfn_mac(ats_ptr_type, tmp552)) ; if (tmp554) { tmp555 = atspre_add_int_int (tmp547, 1) ; tmp547 = tmp555 ; } else { /* empty */ } /* end of [if] */ tmp556 = atspre_gt_int_int (tmp547, 0) ; if (tmp556) { tmp544 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp544, atslab_0, tmp548) ; ats_selptrset_mac(anairiats_sum_4, tmp544, atslab_1, tmp552) ; } else { tmp544 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp544 = arg0 ; break ; } while (0) ; return (tmp544) ; } /* end of [aux_76] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux_76_closure_type ; ats_ptr_type aux_76_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_76 (((aux_76_closure_type*)cloptr)->closure_env_0, ((aux_76_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_76_closure_init (aux_76_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_76_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_76_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux_76_closure_type *p_clo = ATS_MALLOC(sizeof(aux_76_closure_type)) ; aux_76_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util1.dats: 34040(line=1401, offs=3) -- 34661(line=1420, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_alpha (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp543) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_alpha: tmp543 = aux_76 (arg0, arg1, arg2) ; return (tmp543) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_alpha] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_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 () ; #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_staexp2_util1_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_error_dats.c0000664000175000017500000005214212655455557021226 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type the_trans1errlst_get_1 () ; static ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_7 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp3) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(ats_ptr_type)) ; return (tmp1) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_error.dats: 1706(line=60, offs=1) -- 1886(line=69, offs=4) */ ATSstaticdec() ats_ptr_type the_trans1errlst_get_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_the_trans1errlst_get_1: tmp5 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp6 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp7 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp5) = tmp7 ; tmp4 = tmp6 ; return (tmp4) ; } /* end of [the_trans1errlst_get_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_error.dats: 1976(line=75, offs=3) -- 2090(line=78, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_1, tmp11) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp18 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp19 = atspre_iadd (arg1, 1) ; arg0 = tmp18 ; arg1 = tmp19 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = arg1 ; break ; } while (0) ; return (tmp16) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp15) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp15 = loop_5 (arg0, 0) ; return (tmp15) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_7: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp23 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp22) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp21 = */ loop_7 (arg0) ; return /* (tmp21) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_error.dats: 2164(line=81, offs=27) -- 2604(line=102, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_finalize () { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_finalize: tmp13 = the_trans1errlst_get_1 () ; tmp14 = list_vt_length_01501_ats_ptr_type (tmp13) ; /* tmp20 = */ list_vt_free_01499_ats_ptr_type (tmp13) ; tmp25 = atspre_igt (tmp14, 0) ; if (tmp25) { /* tmp24 = */ atspre_fprintf_exn (stderr, ATSstrcst("patsopt(TRANS1): there are [%i] errors in total.\n"), tmp14) ; } else { /* empty */ } /* end of [if] */ tmp26 = atspre_igt (tmp14, 0) ; if (tmp26) { tmp27 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN) ; /* tmp12 = */ ats_raise_exn (tmp27) ; } else { /* empty */ } /* end of [if] */ return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_finalize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp3 = (ats_sum_ptr_type)0 ; statmp0 = ref_01088_ats_ptr_type (statmp3) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_dynexp_dats.c0000664000175000017500000103524712655455557021415 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_9 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_i1nvarg_loc ; ats_ptr_type atslab_i1nvarg_sym ; ats_ptr_type atslab_i1nvarg_type ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_i1nvresstate_qua ; ats_ptr_type atslab_i1nvresstate_arg ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_loopi1nv_loc ; ats_ptr_type atslab_loopi1nv_qua ; ats_ptr_type atslab_loopi1nv_met ; ats_ptr_type atslab_loopi1nv_arg ; ats_ptr_type atslab_loopi1nv_res ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_gm1at_loc ; ats_ptr_type atslab_gm1at_exp ; ats_ptr_type atslab_gm1at_pat ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_c1lau_loc ; ats_ptr_type atslab_c1lau_pat ; ats_ptr_type atslab_c1lau_gua ; ats_int_type atslab_c1lau_seq ; ats_int_type atslab_c1lau_neg ; ats_ptr_type atslab_c1lau_body ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_sc1lau_loc ; ats_ptr_type atslab_sc1lau_pat ; ats_ptr_type atslab_sc1lau_body ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_sc2lau_loc ; ats_ptr_type atslab_sc2lau_pat ; ats_ptr_type atslab_sc2lau_body ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_21 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_22 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_26 ; typedef struct { ats_ptr_type atslab_dqi0de_loc ; ats_ptr_type atslab_dqi0de_qua ; ats_ptr_type atslab_dqi0de_sym ; } anairiats_rec_27 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_28 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_29 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_30 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_31 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_33 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_34 ; typedef struct { ats_ptr_type atslab_d1lab_loc ; ats_ptr_type atslab_d1lab_node ; } anairiats_rec_35 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ebool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Echar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Estring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ei0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ec0har_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ef0loat_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Es0tring_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etmpid_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhere_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edecseq_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_dyn_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esing_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eifhead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esifhead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecasehead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Escasehead_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrsub_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrinit_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrpsz_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eptrof_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eviewat_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eselab_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eraise_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eeffmask_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eshowtype_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Evcopyenv_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etempenver_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eexist_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efix_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edelay_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efor_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhile_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eloopexn_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etrywith_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_type_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacsyn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacfun_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolassert_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolverify_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_S1Ed2ctype_tr_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_sort_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_repeat_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_sc2laulst_coverck_missing_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macdef_check_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_macvar_check_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_d1exp_tr_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_i1nvarg_tr_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_c1lau_tr_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDassgn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDxchng_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDnone_3) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQCOLON) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_d1exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dstag) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_tmpcst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_literal) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_loopexn) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_foldat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_freeat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_scasehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_vcopyenv) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tempenver) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met_new) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_fix) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_while) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_for) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macfun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solassert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solverify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__labd2exp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_lab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__loopi2nv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sc2lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sp1at_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sc2laulst_coverck) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1expopt_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labd1exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1lab_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_sp2at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_deref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_assgn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_xchng) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macsyn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macfun) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_3, patsopt_s2exp_tmp_instantiate_tmpmarglst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDderef_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDassgn_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDxchng_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDnone_3) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02390_ () ; static ats_ptr_type dynspecid_of_dqid_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_ERROR_beg_02388_ () ; static ats_void_type prerr_error2_loc_02394_ (ats_ptr_type arg0) ; static ats_void_type prerr_ERROR_end_02389_ () ; static ats_void_type macdef_check_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type macvar_check_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type d1exp_tr_dqid_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_interror_loc_02392_ (ats_ptr_type arg0) ; static ats_ptr_type d1exp_tr_app_dyn_dqid_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) ; static ats_ptr_type __ats_fun_17 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_17_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type d1exp_tr_app_dyn_e1xp_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type d1exp_tr_app_sta_dyn_dqid_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_int_type arg7, ats_ptr_type arg8) ; static ats_int_type loop_23 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type d1exp_tr_app_sta_dyn_dqid_itm_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_int_type arg8, ats_ptr_type arg9) ; static ats_ptr_type d2sym_lrbrackets_28 (ats_ptr_type arg0) ; static ats_ptr_type d1exp_tr_arrsub_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d1exp_tr_wths1explst_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static anairiats_rec_10 d1exp_tr_arg_body_31 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d1exp_tr_delay_32 (ats_ptr_type arg0) ; static ats_void_type auxerr1_34 (ats_ptr_type arg0) ; static ats_void_type auxerr2_35 (ats_ptr_type arg0) ; static ats_ptr_type i1nvarg_tr_33 (ats_ptr_type arg0) ; static ats_ptr_type i1nvarglst_tr_36 (ats_ptr_type arg0) ; static ats_ptr_type i1nvresstate_tr_37 (ats_ptr_type arg0) ; static ats_ptr_type loopi1nv_tr_38 (ats_ptr_type arg0) ; static ats_ptr_type gm1at_tr_39 (ats_ptr_type arg0) ; static ats_void_type auxerr_41 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type c1lau_tr_40 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type c1laulst_tr_43 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type sc1lau_trdn_44 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type sc1laulst_trdn_45 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type sc2lau_get_dstag_46 (ats_ptr_type arg0) ; static ats_void_type auxerr_lt_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_gts_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ; static ats_void_type loop_52 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type __ats_fun_53 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type __ats_fun_53_closure_make () ; static ats_int_type __ats_fun_53_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) ; static ats_void_type split_55 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type merge_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_int_type loop_58 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxmain1_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxmain2_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr1_61 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr2_62 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type un_d1exp_sing_63 (ats_ptr_type arg0) ; static ats_void_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_67 (ats_ptr_type arg0) ; static ats_ptr_type auxlst2_68 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_cst_74 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr_cst_74_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_void_type auxerr_cst_74_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxerr1_tmpid_75 (ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr1_tmpid_75_closure_make () ; static ats_void_type auxerr1_tmpid_75_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxerr2_tmpid_76 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type auxerr2_tmpid_76_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr2_tmpid_76_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 1771(line=59, offs=18) -- 1802(line=59, offs=49) */ ATSstaticdec() ats_void_type prerr_FILENAME_02390_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02390_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_dynexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02390_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 3118(line=140, offs=1) -- 3524(line=158, offs=4) */ ATSstaticdec() ats_ptr_type dynspecid_of_dqid_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; __ats_lab_dynspecid_of_dqid_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d0ynq_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_0_1: do { /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; if (!tmp3) { goto __ats_lab_2_1 ; } tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDderef_0) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQ) ; if (!tmp4) { goto __ats_lab_3_1 ; } tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDassgn_1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQCOLON) ; if (!tmp5) { goto __ats_lab_4_1 ; } tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDxchng_2) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDnone_3) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDnone_3) ; break ; } while (0) ; return (tmp1) ; } /* end of [dynspecid_of_dqid_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1470(line=41, offs=16) -- 1507(line=41, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_beg_02388_ () { /* local vardec */ // ATSlocal_void (tmp12) ; __ats_lab_prerr_ERROR_beg_02388_: /* tmp12 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):beg**\n")) ; return /* (tmp12) */ ; } /* end of [prerr_ERROR_beg_02388_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02394_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; __ats_lab_prerr_error2_loc_02394_: /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp14 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp14) */ ; } /* end of [prerr_error2_loc_02394_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1536(line=43, offs=16) -- 1573(line=43, offs=53) */ ATSstaticdec() ats_void_type prerr_ERROR_end_02389_ () { /* local vardec */ // ATSlocal_void (tmp22) ; __ats_lab_prerr_ERROR_end_02389_: /* tmp22 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):end**\n")) ; return /* (tmp22) */ ; } /* end of [prerr_ERROR_end_02389_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 3581(line=163, offs=1) -- 4583(line=202, offs=4) */ ATSstaticdec() ats_void_type macdef_check_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_macdef_check_2: tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get () ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind (arg1) ; tmp9 = atspre_gt_int_int (tmp7, 0) ; if (tmp9) { tmp10 = atspre_gte_int_int (tmp8, 1) ; if (tmp10) { /* tmp11 = */ prerr_ERROR_beg_02388_ () ; /* tmp13 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp16 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp19 = */ atspre_prerr_string (ATSstrcst("] refers to a macdef in long form but one in short form is expected.")) ; /* tmp20 = */ atspre_prerr_newline () ; /* tmp21 = */ prerr_ERROR_end_02389_ () ; tmp23 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp23)->tag = 24 ; ats_selptrset_mac(anairiats_sum_4, tmp23, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp23, atslab_1, arg1) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp23) ; } else { /* empty */ } /* end of [if] */ } else { tmp24 = atspre_eq_int_int (tmp8, 0) ; if (tmp24) { /* tmp25 = */ prerr_ERROR_beg_02388_ () ; /* tmp26 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp27 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp30 = */ atspre_prerr_string (ATSstrcst("] refers to a macdef in short form but one in long form is expected.")) ; /* tmp31 = */ atspre_prerr_newline () ; /* tmp32 = */ prerr_ERROR_end_02389_ () ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp33)->tag = 24 ; ats_selptrset_mac(anairiats_sum_4, tmp33, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp33, atslab_1, arg1) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp33) ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ return /* (tmp6) */ ; } /* end of [macdef_check_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 4617(line=204, offs=5) -- 5043(line=221, offs=4) */ ATSstaticdec() ats_void_type macvar_check_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_macvar_check_6: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_get () ; tmp36 = atspre_gt_int_int (tmp35, 0) ; if (tmp36) { /* tmp37 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp38 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp41 = */ atspre_prerr_string (ATSstrcst("] refers incorrectly to a macro argument variable.")) ; /* tmp42 = */ atspre_prerr_newline () ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp43)->tag = 25 ; ats_selptrset_mac(anairiats_sum_4, tmp43, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp43, atslab_1, arg1) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp43) ; } else { /* empty */ } /* end of [if] */ return /* (tmp34) */ ; } /* end of [macvar_check_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 5171(line=232, offs=1) -- 5521(line=245, offs=2) */ ATSstaticdec() ats_void_type auxerr_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_auxerr_8: tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; /* tmp46 = */ prerr_error2_loc_02394_ (tmp47) ; /* tmp48 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_tr_dqid")) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg1) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg2) ; /* tmp52 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp53 = */ atspre_prerr_newline () ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp54)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp54, atslab_0, arg0) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp54) ; return /* (tmp45) */ ; } /* end of [auxerr_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 5095(line=226, offs=1) -- 7096(line=308, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_dqid_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab_d1exp_tr_dqid_7: tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (arg1, arg2) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp56 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_6_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp56, atslab_0) ; ATS_FREE(tmp56) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp57)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst (tmp55, tmp58) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp57)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var (tmp55, tmp59) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp57)->tag != 2) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity (tmp60, 0) ; if (tmp61 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 5846(line=261, offs=11) -- 5871(line=261, offs=36)") ; } tmp62 = ats_caselptrlab_mac(anairiats_sum_8, tmp61, atslab_0) ; tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp55) ; tmp64 = (ats_sum_ptr_type)0 ; tmp65 = (ats_sum_ptr_type)0 ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con (tmp55, tmp62, tmp55, tmp64, -1, tmp63, tmp65) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp57)->tag != 3) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp (tmp55, tmp66) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp67) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp57)->tag != 4) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_4, tmp57, atslab_1) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make (tmp55, arg1, arg2, tmp68) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym (tmp55, tmp69) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp57)->tag != 5) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; /* tmp71 = */ macdef_check_2 (tmp55, tmp70, arg1, arg2) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac (tmp55, tmp70) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)tmp57)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_6, tmp57, atslab_0) ; /* tmp73 = */ macvar_check_6 (tmp55, tmp72, arg1, arg2) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var (tmp55, tmp72) ; break ; } while (0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp56 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: /* tmp74 = */ auxerr_8 (arg0, arg1, arg2) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp55) ; break ; } while (0) ; return (tmp44) ; } /* end of [d1exp_tr_dqid_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02392_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; __ats_lab_prerr_interror_loc_02392_: /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp83 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp84 = */ prerr_FILENAME_02390_ () ; /* tmp81 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp81) */ ; } /* end of [prerr_interror_loc_02392_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 7768(line=345, offs=3) -- 8107(line=358, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_deref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_deref: tmp76 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } tmp77 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; if (tmp77 != (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp78) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref (tmp76, tmp79) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp80 = */ prerr_interror_loc_02392_ (tmp76) ; /* tmp85 = */ atspre_prerr_string (ATSstrcst(": d1exp_tr_deref: d1e0 = ")) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (arg0) ; /* tmp87 = */ atspre_prerr_newline () ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 8163(line=362, offs=3) -- 8563(line=377, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_assgn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_assgn: tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } tmp90 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; if (tmp90 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } tmp91 = ats_caselptrlab_mac(anairiats_sum_8, tmp90, atslab_1) ; if (tmp91 != (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_8, tmp90, atslab_0) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp92) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp93) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn (tmp89, tmp94, tmp95) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: /* tmp96 = */ prerr_interror_loc_02392_ (tmp89) ; /* tmp97 = */ atspre_prerr_string (ATSstrcst(": d1exp_tr_assgn: d1e0 = ")) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (arg0) ; /* tmp99 = */ atspre_prerr_newline () ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_assgn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 8619(line=381, offs=3) -- 9019(line=396, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_xchng (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_xchng: tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } tmp102 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; if (tmp102 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } tmp103 = ats_caselptrlab_mac(anairiats_sum_8, tmp102, atslab_1) ; if (tmp103 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp105 = ats_caselptrlab_mac(anairiats_sum_8, tmp102, atslab_0) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp104) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp105) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng (tmp101, tmp106, tmp107) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: /* tmp108 = */ prerr_interror_loc_02392_ (tmp101) ; /* tmp109 = */ atspre_prerr_string (ATSstrcst(": d1exp_tr_xchng: d1e0 = ")) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (arg0) ; /* tmp111 = */ atspre_prerr_newline () ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_xchng] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 9073(line=401, offs=1) -- 10368(line=444, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_app_dyn_dqid_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab_d1exp_tr_app_dyn_dqid_13: tmp113 = dynspecid_of_dqid_1 (arg2, arg3) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp113)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_deref (arg0, arg6) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp113)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_assgn (arg0, arg6) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp113)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_xchng (arg0, arg6) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (arg2, arg3) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp114 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_25_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_7, tmp114, atslab_0) ; ATS_FREE(tmp114) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp115)->tag != 3) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_6, tmp115, atslab_0) ; tmp112 = d1exp_tr_app_dyn_e1xp_14 (arg0, arg1, tmp116, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp117 = (ats_sum_ptr_type)0 ; tmp112 = d1exp_tr_app_sta_dyn_dqid_itm_16 (arg0, arg1, arg1, arg2, arg3, tmp115, tmp117, arg4, arg5, arg6) ; break ; } while (0) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp114 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_loc) ; /* tmp118 = */ prerr_error2_loc_02394_ (tmp119) ; /* tmp120 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_tr_app_dyn_dqid")) ; /* tmp121 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp124 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp125 = */ atspre_prerr_newline () ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp127)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp127, atslab_0, arg0) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp127) ; tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp128) ; break ; } while (0) ; break ; } while (0) ; return (tmp112) ; } /* end of [d1exp_tr_app_dyn_dqid_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 10799(line=469, offs=20) -- 10867(line=469, offs=88) */ ATSstaticdec() ats_ptr_type __ats_fun_17 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; __ats_lab___ats_fun_17: tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_d1exp (env0, arg0) ; return (tmp133) ; } /* end of [__ats_fun_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_17_closure_type ; ats_ptr_type __ats_fun_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_17 (((__ats_fun_17_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_17_closure_init (__ats_fun_17_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_17_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53639(line=1919, offs=6) -- 53788(line=1925, offs=6) */ ATSstaticdec() ats_ptr_type app_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_app_19: tmp137 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp137) ; } /* end of [app_19] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_loop_21: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp141 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp142 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp140, arg3) ; tmp143 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp143, atslab_0, tmp142) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp143 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp144 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp141 ; arg1 = arg1 ; arg2 = tmp144 ; arg3 = arg3 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp145 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp145 ; break ; } while (0) ; return /* (tmp139) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp146 ; */ /* tmp147 = */ loop_21 (arg0, arg1, (&tmp146), arg2) ; tmp138 = tmp146 ; return (tmp138) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53503(line=1915, offs=23) -- 53963(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_list_map_vclo_01414_ats_ptr_type_ats_ptr_type: tmp136 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_19, arg1) ; return (tmp136) ; } /* end of [list_map_vclo_01414_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 10408(line=447, offs=1) -- 11450(line=493, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_app_dyn_e1xp_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (__ats_fun_17_closure_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_d1exp_tr_app_dyn_e1xp_14: tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg2), atslab_e1xp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp130)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; /* ats_ptr_type tmp132 ; */ tmp132 = &(tmp134) ; __ats_fun_17_closure_init (tmp132, tmp131) ; // closure initialization tmp135 = list_map_vclo_01414_ats_ptr_type_ats_ptr_type (arg5, tmp132) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (tmp131, arg2, tmp131, ats_castfn_mac(ats_ptr_type, tmp135)) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (tmp148) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp (tmp131, tmp149) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp150) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_loc) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp (tmp151, arg2) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn (arg0, tmp152, arg3, arg4, arg5) ; break ; } while (0) ; return (tmp129) ; } /* end of [d1exp_tr_app_dyn_e1xp_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 11490(line=496, offs=1) -- 12435(line=532, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_app_sta_dyn_dqid_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_int_type arg7, ats_ptr_type arg8) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_d1exp_tr_app_sta_dyn_dqid_15: tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (arg3, arg4) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp154 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_7, tmp154, atslab_0) ; ATS_FREE(tmp154) ; tmp153 = d1exp_tr_app_sta_dyn_dqid_itm_16 (arg0, arg1, arg1, arg3, arg4, tmp155, arg5, arg6, arg7, arg8) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp154 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_loc) ; /* tmp156 = */ prerr_error2_loc_02394_ (tmp157) ; /* tmp158 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_tr_app_sta_dyn_dqid")) ; /* tmp159 = */ atspre_prerr_string (ATSstrcst(": unrecognized dynamic identifier [")) ; /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg3) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg4) ; /* tmp162 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp163 = */ atspre_prerr_newline () ; tmp165 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp165)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp165, atslab_0, arg0) ; /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp165) ; tmp166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp166) ; break ; } while (0) ; return (tmp153) ; } /* end of [d1exp_tr_app_sta_dyn_dqid_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_23 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; __ats_lab_loop_23: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp184 = atspre_isucc (arg1) ; arg0 = tmp183 ; arg1 = tmp184 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp182 = arg1 ; break ; } while (0) ; return (tmp182) ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp181) ; __ats_lab_list_length_01410_ats_ptr_type: tmp181 = loop_23 (arg0, 0) ; return (tmp181) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 12479(line=535, offs=1) -- 15719(line=677, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_app_sta_dyn_dqid_itm_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_int_type arg8, ats_ptr_type arg9) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab_d1exp_tr_app_sta_dyn_dqid_itm_16: tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_loc) ; tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_d1exp_loc) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg5)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cst (tmp170, tmp171) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg6) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg9) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (tmp168, tmp169, tmp172, tmp173, arg7, arg8, tmp174) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg5)->tag != 1) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var (tmp170, tmp175) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg6) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg9) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (tmp168, tmp169, tmp176, tmp177, arg7, arg8, tmp178) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)arg5)->tag != 2) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp180 = list_length_01410_ats_ptr_type (arg9) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity (tmp179, tmp180) ; if (tmp185 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 13906(line=597, offs=9) -- 13934(line=597, offs=37)") ; } tmp186 = ats_caselptrlab_mac(anairiats_sum_8, tmp185, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg6) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg9) ; tmp190 = atspre_gte_int_int (arg8, -1) ; if (tmp190) { tmp189 = arg8 ; } else { tmp189 = -1 ; } /* end of [if] */ tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con (tmp168, tmp186, tmp169, tmp187, tmp189, arg7, tmp188) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg5)->tag != 3) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_make_e1xp (tmp170, tmp191) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn (arg0, arg1, tmp192, arg6, arg7, arg8, arg9) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg5)->tag != 4) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_4, arg5, atslab_1) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make (tmp170, arg3, arg4, tmp193) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sym (tmp170, tmp194) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg6) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg9) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (tmp168, tmp169, tmp195, tmp196, arg7, arg8, tmp197) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg5)->tag != 5) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_d1exp_loc) ; /* tmp200 = */ macdef_check_2 (tmp199, tmp198, arg3, arg4) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_mac (tmp199, tmp198) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg6) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg9) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (tmp168, tmp169, tmp201, tmp202, arg7, arg8, tmp203) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: /* tmp204 = */ prerr_error2_loc_02394_ (tmp170) ; /* tmp205 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_tr_app_sta_dyn_dqid_itm")) ; /* tmp206 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg3) ; /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg4) ; /* tmp209 = */ atspre_prerr_string (ATSstrcst("] does not refer to any variable, constant or constructor.")) ; /* tmp210 = */ atspre_prerr_newline () ; tmp212 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp212)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp212, atslab_0, arg0) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp212) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp168) ; break ; } while (0) ; return (tmp167) ; } /* end of [d1exp_tr_app_sta_dyn_dqid_itm_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 15811(line=683, offs=1) -- 16385(line=709, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn: tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp214)->tag != 0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_6, tmp214, atslab_0) ; tmp213 = d1exp_tr_app_dyn_dqid_13 (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp215, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp214)->tag != 1) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_4, tmp214, atslab_0) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_4, tmp214, atslab_1) ; tmp213 = d1exp_tr_app_dyn_dqid_13 (arg0, arg1, tmp216, tmp217, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg1) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg4) ; tmp220 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_dyn (tmp220, tmp218, arg3, arg2, tmp219) ; break ; } while (0) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 16447(line=713, offs=1) -- 17193(line=741, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn: tmp222 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_d1exp_node) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp222)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp223 = ats_caselptrlab_mac(anairiats_sum_6, tmp222, atslab_0) ; tmp221 = d1exp_tr_app_sta_dyn_dqid_15 (arg0, arg1, arg2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp223, arg3, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp222)->tag != 1) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_4, tmp222, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_4, tmp222, atslab_1) ; tmp221 = d1exp_tr_app_sta_dyn_dqid_15 (arg0, arg1, arg2, tmp224, tmp225, arg3, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg2) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (arg3) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg6) ; tmp229 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_d1exp_loc) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (tmp229, tmp230, tmp226, tmp227, arg4, arg5, tmp228) ; break ; } while (0) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 17327(line=751, offs=16) -- 18186(line=791, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macsyn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; // ATSlocal_void (tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macsyn: tmp232 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp233 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; if (((ats_sum_ptr_type)tmp233)->tag != 65) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 17373(line=754, offs=5) -- 17411(line=754, offs=43)") ; } tmp234 = ats_caselptrlab_mac(anairiats_sum_4, tmp233, atslab_0) ; tmp235 = ats_caselptrlab_mac(anairiats_sum_4, tmp233, atslab_1) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp234)->tag != 2) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec (tmp232) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp235) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc (tmp232) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn (tmp232, tmp234, tmp237) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp234)->tag != 1) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec (tmp232) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp235) ; /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc (tmp232) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn (tmp232, tmp234, tmp240) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (((ats_sum_ptr_type)tmp234)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_inc (tmp232) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp235) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_maclev_dec (tmp232) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macsyn (tmp232, tmp234, tmp243) ; break ; } while (0) ; return (tmp231) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macsyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 18315(line=801, offs=16) -- 18478(line=810, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macfun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macfun: tmp246 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; if (((ats_sum_ptr_type)tmp247)->tag != 66) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 18361(line=804, offs=5) -- 18401(line=804, offs=45)") ; } tmp248 = ats_caselptrlab_mac(anairiats_sum_4, tmp247, atslab_0) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_4, tmp247, atslab_1) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp249) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_macfun (tmp246, tmp248, tmp250) ; return (tmp245) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 18533(line=815, offs=1) -- 19231(line=837, offs=4) */ ATSstaticdec() ats_ptr_type d2sym_lrbrackets_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; // ATSlocal_void (tmp261) ; ATSlocal (ats_bool_type, tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; __ats_lab_d2sym_lrbrackets_28: tmp252 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; /* ats_int_type tmp253 ; */ tmp253 = 0 ; /* ats_ptr_type tmp254 ; */ tmp254 = (ats_sum_ptr_type)0 ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp255 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_53_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_7, tmp255, atslab_0) ; ATS_FREE(tmp255) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp257)->tag != 4) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp258 = ats_caselptrlab_mac(anairiats_sum_4, tmp257, atslab_1) ; tmp254 = tmp258 ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: tmp259 = atspre_iadd (tmp253, 1) ; tmp253 = tmp259 ; break ; } while (0) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp255 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp260 = atspre_iadd (tmp253, 1) ; tmp253 = tmp260 ; break ; } while (0) ; tmp262 = atspre_gt_int_int (tmp253, 0) ; if (tmp262) { /* tmp263 = */ prerr_interror_loc_02392_ (tmp252) ; /* tmp264 = */ atspre_prerr_string (ATSstrcst(": d2sym_lrbrackets: d1e0 = ")) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (arg0) ; /* tmp261 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (tmp252) ; tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make (tmp252, tmp266, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS, tmp254) ; return (tmp251) ; } /* end of [d2sym_lrbrackets_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 19266(line=840, offs=1) -- 19531(line=850, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_arrsub_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; __ats_lab_d1exp_tr_arrsub_29: tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp269 = d2sym_lrbrackets_28 (arg0) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg1) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (arg3) ; tmp267 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub (tmp268, tmp269, tmp270, arg2, tmp271) ; return (tmp267) ; } /* end of [d1exp_tr_arrsub_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 19632(line=857, offs=1) -- 20620(line=892, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_wths1explst_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab_d1exp_tr_wths1explst_30: tmp273 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp274 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp274)->tag != 62) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_0) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_1) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp275) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_res_impred (tmp276, arg1) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (tmp273, tmp277, tmp278) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp274)->tag != 63) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_0) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_1) ; tmp281 = d1exp_tr_wths1explst_30 (tmp279, arg1) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr (tmp280) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff (tmp273, tmp281, tmp282) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp274)->tag != 64) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_4, tmp274, atslab_1) ; tmp285 = d1exp_tr_wths1explst_30 (tmp283, arg1) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (tmp273, tmp285, tmp284) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: /* tmp286 = */ prerr_error2_loc_02394_ (tmp273) ; /* tmp287 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_wths1explst_tr")) ; /* tmp288 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is expected to be ascribed a type but it is not.")) ; /* tmp289 = */ atspre_prerr_newline () ; tmp291 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp291)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp291, atslab_0, arg0) ; /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp291) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp273) ; break ; } while (0) ; return (tmp272) ; } /* end of [d1exp_tr_wths1explst_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 20662(line=895, offs=1) -- 21823(line=933, offs=4) */ ATSstaticdec() anairiats_rec_10 d1exp_tr_arg_body_31 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_10, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; __ats_lab_d1exp_tr_arg_body_31: /* ats_ptr_type tmp293 ; */ tmp293 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg (arg0, (&tmp293)) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse (tmp293) ; tmp293 = tmp295 ; /* ats_int_type tmp296 ; */ tmp296 = -1 ; tmp298 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp294), atslab_p2at_node) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp298)->tag != 18) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_12, tmp298, atslab_0) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_12, tmp298, atslab_1) ; tmp296 = tmp299 ; tmp297 = tmp300 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp301 = (ats_sum_ptr_type)0 ; tmp297 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp297, atslab_0, tmp294) ; ats_selptrset_mac(anairiats_sum_8, tmp297, atslab_1, tmp301) ; break ; } while (0) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp303 = ats_selsin_mac(tmp302, atslab_1) */ ; tmp306 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp294), atslab_p2at_svs) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp306) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp305) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp294), atslab_p2at_dvs) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp309) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp308) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_inc () ; /* tmp311 = ats_selsin_mac(tmp310, atslab_1) */ ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none (tmp293) ; if (tmp312) { tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (arg1) ; } else { tmp313 = d1exp_tr_wths1explst_30 (arg1, tmp293) ; } /* end of [if] */ /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_dec () ; /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp292.atslab_0 = tmp296 ; tmp292.atslab_1 = tmp297 ; tmp292.atslab_2 = tmp313 ; return (tmp292) ; } /* end of [d1exp_tr_arg_body_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 21880(line=938, offs=1) -- 22701(line=975, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_tr_delay_32 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_bool_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; __ats_lab_d1exp_tr_delay_32: tmp317 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; if (((ats_sum_ptr_type)tmp318)->tag != 57) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 22025(line=946, offs=5) -- 22062(line=946, offs=42)") ; } tmp319 = ats_caselptrlab_mac(anairiats_sum_12, tmp318, atslab_0) ; tmp320 = ats_caselptrlab_mac(anairiats_sum_12, tmp318, atslab_1) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp321 = atspre_eq_int_int (tmp319, 0) ; if (!tmp321) { goto __ats_lab_64_1 ; } tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp320) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay (tmp317, tmp322) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp323 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp320), atslab_d1exp_node) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp323)->tag != 29) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_12, tmp323, atslab_1) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (tmp324 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } tmp325 = ats_caselptrlab_mac(anairiats_sum_8, tmp324, atslab_1) ; if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_8, tmp324, atslab_0) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_8, tmp325, atslab_0) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp326) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp327) ; tmp330 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp330, atslab_0, tmp329) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay (tmp317, tmp328, tmp330) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp320) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none (tmp317, tmp331) ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp320) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay_none (tmp317, tmp332) ; break ; } while (0) ; break ; } while (0) ; return (tmp316) ; } /* end of [d1exp_tr_delay_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 22815(line=982, offs=5) -- 23174(line=990, offs=2) */ ATSstaticdec() ats_void_type auxerr1_34 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; __ats_lab_auxerr1_34: tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_loc) ; /* tmp335 = */ prerr_error2_loc_02394_ (tmp336) ; /* tmp337 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("i1nvarglst_tr")) ; /* tmp338 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; tmp340 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_sym) ; /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp340) ; /* tmp341 = */ atspre_prerr_string (ATSstrcst("] should refer to a variable but it does not.")) ; /* tmp342 = */ atspre_prerr_newline () ; tmp343 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp343)->tag = 29 ; ats_selptrset_mac(anairiats_sum_6, tmp343, atslab_0, arg0) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp343) ; return /* (tmp334) */ ; } /* end of [auxerr1_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 23199(line=991, offs=5) -- 23531(line=999, offs=2) */ ATSstaticdec() ats_void_type auxerr2_35 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; __ats_lab_auxerr2_35: tmp346 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_loc) ; /* tmp345 = */ prerr_error2_loc_02394_ (tmp346) ; /* tmp347 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("i1nvarglst_tr")) ; /* tmp348 = */ atspre_prerr_string (ATSstrcst(": the dynamic identifier [")) ; tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_sym) ; /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp350) ; /* tmp351 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp352 = */ atspre_prerr_newline () ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp353)->tag = 29 ; ats_selptrset_mac(anairiats_sum_6, tmp353, atslab_0, arg0) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp353) ; return /* (tmp344) */ ; } /* end of [auxerr2_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 22755(line=979, offs=5) -- 24231(line=1029, offs=4) */ ATSstaticdec() ats_ptr_type i1nvarg_tr_33 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; __ats_lab_i1nvarg_tr_33: tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_sym) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp355) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (tmp354 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_69_1: tmp356 = ats_caselptrlab_mac(anairiats_sum_7, tmp354, atslab_0) ; ATS_FREE(tmp354) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp356)->tag != 1) { goto __ats_lab_73_0 ; } __ats_lab_70_1: tmp357 = ats_caselptrlab_mac(anairiats_sum_6, tmp356, atslab_0) ; tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i1nvarg_type) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp359 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_7, tmp359, atslab_0) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp360) ; tmp358 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp358, atslab_0, tmp361) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp359 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp358 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make (tmp357, tmp358) ; tmp333 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp333, atslab_0, tmp362) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: /* tmp363 = */ auxerr1_34 (arg0) ; tmp333 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (tmp354 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: /* tmp364 = */ auxerr2_35 (arg0) ; tmp333 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp333) ; } /* end of [i1nvarg_tr_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 24260(line=1032, offs=1) -- 24682(line=1049, offs=4) */ ATSstaticdec() ats_ptr_type i1nvarglst_tr_36 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; __ats_lab_i1nvarglst_tr_36: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_75_1: tmp366 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp367 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp368 = i1nvarg_tr_33 (tmp366) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (tmp368 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_7, tmp368, atslab_0) ; ATS_FREE(tmp368) ; tmp370 = i1nvarglst_tr_36 (tmp367) ; tmp365 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp365, atslab_0, tmp369) ; ats_selptrset_mac(anairiats_sum_8, tmp365, atslab_1, tmp370) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (tmp368 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: arg0 = tmp367 ; goto __ats_lab_i1nvarglst_tr_36 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp365 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp365) ; } /* end of [i1nvarglst_tr_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 24714(line=1052, offs=1) -- 24935(line=1058, offs=4) */ ATSstaticdec() ats_ptr_type i1nvresstate_tr_37 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (anairiats_rec_2, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; __ats_lab_i1nvresstate_tr_37: tmp373 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_i1nvresstate_qua) ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp373) ; tmp375 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_i1nvresstate_arg) ; tmp374 = i1nvarglst_tr_36 (tmp375) ; tmp376 = ats_select_mac(tmp372, atslab_s2qua_svs) ; tmp377 = ats_select_mac(tmp372, atslab_s2qua_sps) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make (tmp376, tmp377, tmp374) ; return (tmp371) ; } /* end of [i1nvresstate_tr_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 24969(line=1061, offs=1) -- 25478(line=1077, offs=4) */ ATSstaticdec() ats_ptr_type loopi1nv_tr_38 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (anairiats_rec_2, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; __ats_lab_loopi1nv_tr_38: tmp379 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_loopi1nv_loc) ; tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_loopi1nv_qua) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp381) ; tmp382 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_loopi1nv_met) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (tmp382 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp384 = ats_caselptrlab_mac(anairiats_sum_7, tmp382, atslab_0) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trdn_int (tmp384) ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp383, atslab_0, tmp385) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp382 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp383 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp387 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_loopi1nv_arg) ; tmp386 = i1nvarglst_tr_36 (tmp387) ; tmp389 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_loopi1nv_res) ; tmp388 = i1nvresstate_tr_37 (tmp389) ; tmp390 = ats_select_mac(tmp380, atslab_s2qua_svs) ; tmp391 = ats_select_mac(tmp380, atslab_s2qua_sps) ; tmp378 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__loopi2nv_make (tmp379, tmp390, tmp391, tmp383, tmp386, tmp388) ; return (tmp378) ; } /* end of [loopi1nv_tr_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 25529(line=1082, offs=1) -- 26058(line=1102, offs=4) */ ATSstaticdec() ats_ptr_type gm1at_tr_39 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; // ATSlocal_void (tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; // ATSlocal_void (tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; __ats_lab_gm1at_tr_39: tmp394 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_gm1at_exp) ; tmp393 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp394) ; tmp396 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_gm1at_pat) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (tmp396 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_7, tmp396, atslab_0) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp397) ; tmp400 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp398), atslab_p2at_svs) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp400) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp399) ; tmp403 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp398), atslab_p2at_dvs) ; tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp403) ; /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp402) ; tmp395 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp395, atslab_0, tmp398) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (tmp396 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: tmp395 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp405 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_gm1at_loc) ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make (tmp405, tmp393, tmp395) ; return (tmp392) ; } /* end of [gm1at_tr_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 26168(line=1110, offs=5) -- 26548(line=1123, offs=4) */ ATSstaticdec() ats_void_type auxerr_41 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; // ATSlocal_void (tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_bool_type, tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; __ats_lab_auxerr_41: tmp409 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_c1lau_loc) ; /* tmp408 = */ prerr_error2_loc_02394_ (tmp409) ; /* tmp410 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("c1lau_tr")) ; /* tmp411 = */ atspre_prerr_string (ATSstrcst(": this clause should contain ")) ; tmp414 = atspre_gte_int_int (arg1, arg2) ; if (tmp414) { tmp413 = ATSstrcst("more") ; } else { tmp413 = ATSstrcst("fewer") ; } /* end of [if] */ /* tmp412 = */ atspre_prerr_string (tmp413) ; /* tmp415 = */ atspre_prerr_string (ATSstrcst(" patterns.")) ; /* tmp416 = */ atspre_prerr_newline () ; tmp417 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp417)->tag = 30 ; ats_selptrset_mac(anairiats_sum_6, tmp417, atslab_0, arg0) ; /* tmp407 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp417) ; return /* (tmp407) */ ; } /* end of [auxerr_41] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp437) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp437 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp437) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 26106(line=1107, offs=1) -- 27448(line=1160, offs=4) */ ATSstaticdec() ats_ptr_type c1lau_tr_40 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_int_type, tmp425) ; // ATSlocal_void (tmp426) ; ATSlocal (ats_bool_type, tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; // ATSlocal_void (tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; // ATSlocal_void (tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_int_type, tmp443) ; __ats_lab_c1lau_tr_40: tmp418 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_loc) ; tmp419 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_pat) ; tmp421 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, tmp419), atslab_p1at_node) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp421)->tag != 14) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp422 = ats_caselptrlab_mac(anairiats_sum_12, tmp421, atslab_1) ; tmp420 = tmp422 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: tmp423 = (ats_sum_ptr_type)0 ; tmp420 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp420, atslab_0, tmp419) ; ats_selptrset_mac(anairiats_sum_8, tmp420, atslab_1, tmp423) ; break ; } while (0) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr (tmp420) ; tmp425 = list_length_01410_ats_ptr_type (tmp424) ; tmp427 = atspre_ineq (arg0, tmp425) ; if (tmp427) { /* tmp426 = */ auxerr_41 (arg1, arg0, tmp425) ; } else { /* empty */ } /* end of [if] */ /* tmp428 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp429 = ats_selsin_mac(tmp428, atslab_1) */ ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_svs_union (tmp424) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp431) ; /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp430) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (tmp424) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (tmp434) ; /* tmp435 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvarlst (tmp433) ; tmp438 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_gua) ; tmp436 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp438, &gm1at_tr_39) ; tmp440 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_body) ; tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp440) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp442 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_seq) ; tmp443 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_c1lau_neg) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make (tmp418, tmp424, ats_castfn_mac(ats_ptr_type, tmp436), tmp442, tmp443, tmp439) ; return (tmp406) ; } /* end of [c1lau_tr_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 27475(line=1162, offs=5) -- 27674(line=1168, offs=2) */ ATSstaticdec() ats_ptr_type c1laulst_tr_43 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; __ats_lab_c1laulst_tr_43: do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp445 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp447 = c1lau_tr_40 (arg0, tmp445) ; tmp448 = c1laulst_tr_43 (arg0, tmp446) ; tmp444 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp444, atslab_0, tmp447) ; ats_selptrset_mac(anairiats_sum_8, tmp444, atslab_1, tmp448) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_86_1: tmp444 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp444) ; } /* end of [c1laulst_tr_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 27725(line=1172, offs=5) -- 28087(line=1183, offs=4) */ ATSstaticdec() ats_ptr_type sc1lau_trdn_44 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; // ATSlocal_void (tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; // ATSlocal_void (tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; __ats_lab_sc1lau_trdn_44: tmp450 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_sc1lau_pat) ; /* tmp451 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp452 = ats_selsin_mac(tmp451, atslab_1) */ ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sp1at_trdn (tmp450, arg1) ; /* tmp454 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_sp2at (tmp453) ; tmp456 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_sc1lau_body) ; tmp455 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp456) ; /* tmp457 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_sc1lau_loc) ; tmp449 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__sc2lau_make (tmp458, tmp453, tmp455) ; return (tmp449) ; } /* end of [sc1lau_trdn_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 28115(line=1185, offs=5) -- 28313(line=1192, offs=2) */ ATSstaticdec() ats_ptr_type sc1laulst_trdn_45 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; __ats_lab_sc1laulst_trdn_45: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp460 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp462 = sc1lau_trdn_44 (tmp460, arg1) ; tmp463 = sc1laulst_trdn_45 (tmp461, arg1) ; tmp459 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp459, atslab_0, tmp462) ; ats_selptrset_mac(anairiats_sum_8, tmp459, atslab_1, tmp463) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_88_1: tmp459 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp459) ; } /* end of [sc1laulst_trdn_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 28416(line=1202, offs=1) -- 28631(line=1213, offs=4) */ ATSstaticdec() ats_int_type sc2lau_get_dstag_46 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; __ats_lab_sc2lau_get_dstag_46: tmp465 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_sc2lau_pat) ; tmp466 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, tmp465), atslab_sp2at_node) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (tmp466 == (ats_sum_ptr_type)0) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp467 = ats_caselptrlab_mac(anairiats_sum_8, tmp466, atslab_0) ; tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dstag (tmp467) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: // if (tmp466 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_90_1: tmp464 = -1 ; break ; } while (0) ; return (tmp464) ; } /* end of [sc2lau_get_dstag_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 28666(line=1215, offs=5) -- 28936(line=1223, offs=4) */ ATSstaticdec() ats_void_type auxerr_lt_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; // ATSlocal_void (tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; __ats_lab_auxerr_lt_47: tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg1), atslab_sc2lau_loc) ; /* tmp470 = */ prerr_error2_loc_02394_ (tmp469) ; /* tmp471 = */ atspre_prerr_string (ATSstrcst(": the static clause is repeated.")) ; /* tmp472 = */ atspre_prerr_newline () ; tmp473 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp473)->tag = 14 ; ats_selptrset_mac(anairiats_sum_4, tmp473, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp473, atslab_1, arg1) ; /* tmp468 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp473) ; return /* (tmp468) */ ; } /* end of [auxerr_lt_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 28964(line=1225, offs=5) -- 29679(line=1251, offs=4) */ ATSstaticdec() ats_void_type auxerr_gts_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp474) ; ATSlocal (ats_bool_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_bool_type, tmp478) ; ATSlocal (ats_int_type, tmp479) ; ATSlocal (ats_int_type, tmp480) ; // ATSlocal_void (tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_int_type, tmp488) ; __ats_lab_auxerr_gts_48: tmp475 = atspre_lt_int_int (arg2, arg3) ; if (tmp475) { do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp476 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp477 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp478 = atspre_gt_int_int (arg2, 0) ; if (tmp478) { tmp479 = atspre_sub_int_int (arg2, 1) ; tmp480 = atspre_sub_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp477 ; arg2 = tmp479 ; arg3 = tmp480 ; goto __ats_lab_auxerr_gts_48 ; // tail call } else { /* tmp481 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp482 = */ atspre_prerr_string (ATSstrcst(": the static clause associated with [")) ; /* tmp483 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2cst (tmp476) ; /* tmp484 = */ atspre_prerr_string (ATSstrcst("] is missing.")) ; /* tmp485 = */ atspre_prerr_newline () ; tmp487 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp487)->tag = 15 ; ats_selptrset_mac(anairiats_sum_4, tmp487, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp487, atslab_1, tmp476) ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp487) ; tmp488 = atspre_sub_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp477 ; arg2 = 0 ; arg3 = tmp488 ; goto __ats_lab_auxerr_gts_48 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp474) */ ; } /* end of [auxerr_gts_48] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_52 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; __ats_lab_loop_52: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp494 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp495 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp495, atslab_0, tmp493) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp495 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp496 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp494 ; arg1 = tmp496 ; goto __ats_lab_loop_52 ; // tail call break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp497 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp497 ; break ; } while (0) ; return /* (tmp492) */ ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp498) ; // ATSlocal_void (tmp499) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp498 ; */ /* tmp499 = */ loop_52 (arg0, (&tmp498)) ; tmp491 = tmp498 ; return (tmp491) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 29867(line=1263, offs=18) -- 29973(line=1266, offs=65) */ ATSstaticdec() ats_int_type __ats_fun_53 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_int_type, tmp502) ; ATSlocal (ats_int_type, tmp503) ; __ats_lab___ats_fun_53: tmp502 = sc2lau_get_dstag_46 (ats_ptrget_mac(ats_ptr_type, arg0)) ; tmp503 = sc2lau_get_dstag_46 (ats_ptrget_mac(ats_ptr_type, arg1)) ; tmp501 = atspre_sub_int_int (tmp502, tmp503) ; return (tmp501) ; } /* end of [__ats_fun_53] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_53_closure_type ; ats_int_type __ats_fun_53_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) { return __ats_fun_53 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_53_closure_init (__ats_fun_53_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_53_clofun ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16240(line=604, offs=5) -- 16603(line=618, offs=6) */ ATSstaticdec() ats_void_type split_55 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp507) ; ATSlocal (ats_bool_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_int_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; __ats_lab_split_55: tmp508 = atspre_igt (arg1, 0) ; if (tmp508) { // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp509 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp510 = atspre_isub (arg1, 1) ; arg0 = tmp509 ; arg1 = tmp510 ; arg2 = arg2 ; goto __ats_lab_split_55 ; // tail call } else { ats_ptrget_mac(ats_ptr_type, arg2) = ats_ptrget_mac(ats_ptr_type, arg0) ; tmp511 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp511 ; } /* end of [if] */ return /* (tmp507) */ ; } /* end of [split_55] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16641(line=620, offs=5) -- 17444(line=646, offs=36) */ ATSstaticdec() ats_void_type merge_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_int_type, tmp517) ; ATSlocal (ats_bool_type, tmp518) ; // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; // ATSlocal_void (tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; __ats_lab_merge_56: do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_95_1: tmp513 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp514 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp515 = &ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp516 = &ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp517 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ref_type, ats_ref_type))(ats_closure_fun(arg2))) (arg2, tmp513, tmp515) ; tmp518 = atspre_lte_int_int (tmp517, 0) ; if (tmp518) { tmp520 = ats_ptrget_mac(ats_ptr_type, tmp514) ; /* tmp519 = */ merge_56 (tmp520, arg1, arg2, tmp514) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; } else { tmp522 = ats_ptrget_mac(ats_ptr_type, tmp516) ; /* tmp521 = */ merge_56 (arg0, tmp522, arg2, tmp516) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; break ; } while (0) ; return /* (tmp512) */ ; } /* end of [merge_56] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_58 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_int_type, tmp528) ; __ats_lab_loop_58: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp526 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp527 = ats_ptrget_mac(ats_ptr_type, tmp526) ; tmp528 = atspre_iadd (arg1, 1) ; arg0 = tmp527 ; arg1 = tmp528 ; goto __ats_lab_loop_58 ; // tail call break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp525 = arg1 ; break ; } while (0) ; return (tmp525) ; } /* end of [loop_58] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp524) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp524 = loop_58 (arg0, 0) ; return (tmp524) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16217(line=602, offs=7) -- 17831(line=665, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_bool_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; // ATSlocal_void (tmp532) ; ATSlocal (ats_int_type, tmp533) ; ATSlocal (ats_int_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; __ats_lab_list_vt_mergesort_01524_ats_ptr_type: tmp523 = list_vt_length_01501_ats_ptr_type (arg0) ; tmp529 = atspre_igte (tmp523, 2) ; if (tmp529) { // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp530 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* ats_ptr_type tmp531 ; */ tmp534 = atspre_isub (tmp523, 1) ; tmp533 = atspre_idiv (tmp534, 2) ; /* tmp532 = */ split_55 (tmp530, tmp533, (&tmp531)) ; tmp535 = list_vt_mergesort_01524_ats_ptr_type (arg0, arg1) ; tmp536 = list_vt_mergesort_01524_ats_ptr_type (tmp531, arg1) ; /* tmp537 = */ merge_56 (tmp535, tmp536, arg1, (&tmp531)) ; tmp506 = tmp531 ; } else { tmp506 = arg0 ; } /* end of [if] */ return (tmp506) ; } /* end of [list_vt_mergesort_01524_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 29708(line=1253, offs=5) -- 30102(line=1273, offs=4) */ ATSstaticdec() ats_void_type auxmain1_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (__ats_fun_53_closure_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; __ats_lab_auxmain1_49: tmp490 = list_copy_01322_ats_ptr_type (arg1) ; /* ats_ptr_type tmp500 ; */ tmp500 = &(tmp504) ; __ats_fun_53_closure_init (tmp500) ; // closure initialization tmp505 = list_vt_mergesort_01524_ats_ptr_type (tmp490, tmp500) ; /* tmp489 = */ auxmain2_50 (arg0, tmp505, arg2) ; return /* (tmp489) */ ; } /* end of [auxmain1_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 30225(line=1281, offs=5) -- 30943(line=1311, offs=4) */ ATSstaticdec() ats_void_type loop_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_int_type, tmp542) ; ATSlocal (ats_bool_type, tmp543) ; ATSlocal (ats_bool_type, tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; ATSlocal (ats_int_type, tmp547) ; ATSlocal (ats_int_type, tmp548) ; __ats_lab_loop_59: do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp541 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp542 = sc2lau_get_dstag_46 (tmp540) ; tmp543 = atspre_gte_int_int (tmp542, 0) ; if (tmp543) { tmp544 = atspre_lt_int_int (tmp542, arg3) ; if (tmp544) { /* tmp545 = */ auxerr_lt_47 (arg0, tmp540) ; arg0 = arg0 ; arg1 = tmp541 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_59 ; // tail call } else { /* tmp546 = */ auxerr_gts_48 (arg0, arg2, arg3, tmp542) ; tmp547 = atspre_add_int_int (tmp542, 1) ; arg0 = arg0 ; arg1 = tmp541 ; arg2 = arg2 ; arg3 = tmp547 ; goto __ats_lab_loop_59 ; // tail call } /* end of [if] */ } else { arg0 = arg0 ; arg1 = tmp541 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_59 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp548 = list_length_01410_ats_ptr_type (arg2) ; /* tmp539 = */ auxerr_gts_48 (arg0, arg2, arg3, tmp548) ; break ; } while (0) ; return /* (tmp539) */ ; } /* end of [loop_59] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 30129(line=1275, offs=5) -- 31045(line=1317, offs=4) */ ATSstaticdec() ats_void_type auxmain2_50 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp538) ; ATSlocal (ats_ptr_type, tmp549) ; __ats_lab_auxmain2_50: tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst (arg2) ; /* tmp538 = */ loop_59 (arg0, arg1, tmp549, 0) ; return /* (tmp538) */ ; } /* end of [auxmain2_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 31158(line=1326, offs=1) -- 31501(line=1336, offs=4) */ ATSstaticdec() ats_void_type auxerr1_61 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; // ATSlocal_void (tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; __ats_lab_auxerr1_61: /* tmp552 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp553 = */ atspre_prerr_string (ATSstrcst(": the static expression being analyzed is of the sort [")) ; /* tmp554 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp555 = */ atspre_prerr_string (ATSstrcst("], which is not a base sort as is required.")) ; /* tmp556 = */ atspre_prerr_newline () ; tmp557 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp557)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp557, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp557, atslab_1, arg1) ; /* tmp551 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp557) ; return /* (tmp551) */ ; } /* end of [auxerr1_61] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 31526(line=1338, offs=1) -- 31868(line=1348, offs=4) */ ATSstaticdec() ats_void_type auxerr2_62 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; // ATSlocal_void (tmp561) ; // ATSlocal_void (tmp562) ; // ATSlocal_void (tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; __ats_lab_auxerr2_62: /* tmp559 = */ prerr_error2_loc_02394_ (arg0) ; /* tmp560 = */ atspre_prerr_string (ATSstrcst(": the static expression being analyzed is of the sort [")) ; /* tmp561 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (arg1) ; /* tmp562 = */ atspre_prerr_string (ATSstrcst("], which is not a datasort as is required.")) ; /* tmp563 = */ atspre_prerr_newline () ; tmp564 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp564)->tag = 13 ; ats_selptrset_mac(anairiats_sum_4, tmp564, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp564, atslab_1, arg1) ; /* tmp558 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp564) ; return /* (tmp558) */ ; } /* end of [auxerr2_62] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 31122(line=1323, offs=3) -- 32139(line=1360, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sc2laulst_coverck (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp550) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sc2laulst_coverck: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_106_0 ; } __ats_lab_103_1: tmp565 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp565)->tag != 2) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp566 = ats_caselptrlab_mac(anairiats_sum_6, tmp565, atslab_0) ; /* tmp550 = */ auxmain1_49 (arg0, arg1, tmp566) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: __ats_lab_105_1: /* tmp550 = */ auxerr2_62 (arg0, arg2) ; break ; } while (0) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: /* tmp550 = */ auxerr1_61 (arg0, arg2) ; break ; } while (0) ; return /* (tmp550) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sc2laulst_coverck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 32221(line=1367, offs=1) -- 32340(line=1374, offs=2) */ ATSstaticdec() ats_ptr_type un_d1exp_sing_63 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; ATSlocal (ats_ptr_type, tmp569) ; __ats_lab_un_d1exp_sing_63: tmp568 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp568)->tag != 28) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp569 = ats_caselptrlab_mac(anairiats_sum_6, tmp568, atslab_0) ; arg0 = tmp569 ; goto __ats_lab_un_d1exp_sing_63 ; // tail call break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: __ats_lab_108_1: tmp567 = arg0 ; break ; } while (0) ; return (tmp567) ; } /* end of [un_d1exp_sing_63] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp739) ; ATSlocal (ats_ptr_type, tmp740) ; ATSlocal (ats_ptr_type, tmp741) ; ATSlocal (ats_ptr_type, tmp742) ; ATSlocal (ats_ptr_type, tmp743) ; ATSlocal (ats_ptr_type, tmp744) ; ATSlocal (ats_ptr_type, tmp745) ; __ats_lab_loop_66: do { /* branch: __ats_lab_169 */ __ats_lab_169_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_170_0 ; } __ats_lab_169_1: tmp740 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp741 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp742 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp742, atslab_0, tmp740) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp742 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp743 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp741 ; arg1 = arg1 ; arg2 = tmp743 ; goto __ats_lab_loop_66 ; // tail call break ; /* branch: __ats_lab_170 */ __ats_lab_170_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_170_1: tmp745 = (ats_sum_ptr_type)0 ; tmp744 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp744, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp744, atslab_1, tmp745) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp744 ; break ; } while (0) ; return /* (tmp739) */ ; } /* end of [loop_66] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp737) ; ATSlocal (ats_ptr_type, tmp738) ; // ATSlocal_void (tmp746) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp738 ; */ /* tmp746 = */ loop_66 (arg0, arg1, (&tmp738)) ; tmp737 = tmp738 ; return (tmp737) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 41361(line=1758, offs=9) -- 41541(line=1766, offs=6) */ ATSstaticdec() ats_ptr_type auxlst_67 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp765) ; ATSlocal (ats_ptr_type, tmp766) ; ATSlocal (ats_ptr_type, tmp767) ; __ats_lab_auxlst_67: do { /* branch: __ats_lab_177 */ __ats_lab_177_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_178_0 ; } __ats_lab_177_1: tmp765 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_178 */ __ats_lab_178_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_178_1: tmp766 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp767 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp765 = auxlst2_68 (tmp766, tmp767) ; break ; } while (0) ; return (tmp765) ; } /* end of [auxlst_67] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 41575(line=1768, offs=9) -- 41818(line=1779, offs=6) */ ATSstaticdec() ats_ptr_type auxlst2_68 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp768) ; ATSlocal (ats_ptr_type, tmp769) ; ATSlocal (ats_ptr_type, tmp770) ; ATSlocal (ats_ptr_type, tmp771) ; __ats_lab_auxlst2_68: tmp769 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)tmp769)->tag != 1) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp770 = ats_caselptrlab_mac(anairiats_sum_6, tmp769, atslab_0) ; tmp771 = auxlst_67 (arg1) ; tmp768 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp768, atslab_0, tmp770) ; ats_selptrset_mac(anairiats_sum_8, tmp768, atslab_1, tmp771) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: __ats_lab_180_1: tmp768 = auxlst_67 (arg1) ; break ; } while (0) ; return (tmp768) ; } /* end of [auxlst2_68] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 32413(line=1379, offs=10) -- 46709(line=1966, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_int_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_bool_type, tmp578) ; ATSlocal (ats_char_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_ptr_type, tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_ptr_type, tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_int_type, tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_ptr_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_ptr_type, tmp617) ; ATSlocal (ats_ptr_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; ATSlocal (ats_ptr_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; // ATSlocal_void (tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; // ATSlocal_void (tmp630) ; // ATSlocal_void (tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_ptr_type, tmp633) ; // ATSlocal_void (tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; // ATSlocal_void (tmp636) ; // ATSlocal_void (tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_ptr_type, tmp639) ; // ATSlocal_void (tmp640) ; ATSlocal (ats_ptr_type, tmp641) ; ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_int_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; ATSlocal (ats_ptr_type, tmp647) ; ATSlocal (ats_ptr_type, tmp648) ; ATSlocal (ats_ptr_type, tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_int_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_ptr_type, tmp656) ; ATSlocal (ats_ptr_type, tmp657) ; ATSlocal (ats_ptr_type, tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_ptr_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_ptr_type, tmp667) ; ATSlocal (ats_ptr_type, tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_ptr_type, tmp672) ; ATSlocal (ats_ptr_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_ptr_type, tmp677) ; ATSlocal (ats_int_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_ptr_type, tmp683) ; ATSlocal (ats_ptr_type, tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; // ATSlocal_void (tmp687) ; ATSlocal (ats_int_type, tmp688) ; ATSlocal (ats_ptr_type, tmp689) ; ATSlocal (ats_ptr_type, tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; ATSlocal (ats_ptr_type, tmp693) ; ATSlocal (ats_ptr_type, tmp694) ; ATSlocal (ats_int_type, tmp695) ; ATSlocal (ats_int_type, tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; ATSlocal (ats_int_type, tmp699) ; ATSlocal (ats_int_type, tmp700) ; ATSlocal (ats_ptr_type, tmp701) ; ATSlocal (ats_ptr_type, tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; ATSlocal (ats_ptr_type, tmp705) ; ATSlocal (ats_ptr_type, tmp706) ; ATSlocal (ats_ptr_type, tmp707) ; ATSlocal (ats_ptr_type, tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; ATSlocal (ats_ptr_type, tmp710) ; ATSlocal (ats_ptr_type, tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; ATSlocal (ats_ptr_type, tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_ptr_type, tmp718) ; ATSlocal (ats_ptr_type, tmp719) ; ATSlocal (ats_ptr_type, tmp720) ; ATSlocal (ats_ptr_type, tmp721) ; ATSlocal (ats_ptr_type, tmp722) ; ATSlocal (ats_ptr_type, tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; ATSlocal (ats_ptr_type, tmp725) ; ATSlocal (ats_ptr_type, tmp726) ; ATSlocal (ats_int_type, tmp727) ; ATSlocal (ats_ptr_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; ATSlocal (ats_bool_type, tmp732) ; ATSlocal (ats_ptr_type, tmp733) ; ATSlocal (ats_ptr_type, tmp734) ; ATSlocal (ats_ptr_type, tmp735) ; ATSlocal (ats_ptr_type, tmp736) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_ptr_type, tmp752) ; ATSlocal (ats_ptr_type, tmp753) ; ATSlocal (ats_ptr_type, tmp754) ; ATSlocal (ats_ptr_type, tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; ATSlocal (ats_ptr_type, tmp758) ; ATSlocal (ats_ptr_type, tmp759) ; ATSlocal (ats_int_type, tmp760) ; ATSlocal (ats_ptr_type, tmp761) ; ATSlocal (ats_ptr_type, tmp762) ; ATSlocal (ats_ptr_type, tmp763) ; ATSlocal (ats_ptr_type, tmp764) ; ATSlocal (ats_ptr_type, tmp772) ; ATSlocal (ats_ptr_type, tmp773) ; ATSlocal (ats_ptr_type, tmp774) ; ATSlocal (ats_ptr_type, tmp775) ; ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; ATSlocal (ats_ptr_type, tmp780) ; ATSlocal (ats_ptr_type, tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_int_type, tmp785) ; ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (anairiats_rec_10, tmp788) ; ATSlocal (ats_int_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp791) ; ATSlocal (ats_int_type, tmp792) ; ATSlocal (ats_ptr_type, tmp793) ; ATSlocal (ats_ptr_type, tmp794) ; ATSlocal (anairiats_rec_10, tmp795) ; ATSlocal (ats_int_type, tmp796) ; ATSlocal (ats_ptr_type, tmp797) ; ATSlocal (ats_ptr_type, tmp798) ; ATSlocal (ats_ptr_type, tmp799) ; ATSlocal (ats_ptr_type, tmp800) ; ATSlocal (ats_ptr_type, tmp801) ; ATSlocal (ats_ptr_type, tmp802) ; ATSlocal (ats_int_type, tmp803) ; ATSlocal (ats_ptr_type, tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; ATSlocal (ats_ptr_type, tmp808) ; // ATSlocal_void (tmp809) ; // ATSlocal_void (tmp810) ; // ATSlocal_void (tmp811) ; // ATSlocal_void (tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; // ATSlocal_void (tmp814) ; ATSlocal (ats_ptr_type, tmp815) ; ATSlocal (ats_ptr_type, tmp816) ; // ATSlocal_void (tmp817) ; // ATSlocal_void (tmp818) ; ATSlocal (anairiats_rec_2, tmp819) ; ATSlocal (ats_ptr_type, tmp820) ; // ATSlocal_void (tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp823) ; ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_ptr_type, tmp826) ; // ATSlocal_void (tmp827) ; // ATSlocal_void (tmp828) ; ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_ptr_type, tmp830) ; ATSlocal (ats_ptr_type, tmp831) ; // ATSlocal_void (tmp832) ; ATSlocal (ats_ptr_type, tmp833) ; ATSlocal (ats_ptr_type, tmp834) ; ATSlocal (ats_ptr_type, tmp835) ; ATSlocal (ats_ptr_type, tmp836) ; ATSlocal (ats_ptr_type, tmp837) ; ATSlocal (ats_ptr_type, tmp838) ; // ATSlocal_void (tmp839) ; // ATSlocal_void (tmp840) ; ATSlocal (ats_ptr_type, tmp841) ; ATSlocal (ats_ptr_type, tmp842) ; ATSlocal (ats_ptr_type, tmp843) ; ATSlocal (ats_ptr_type, tmp844) ; ATSlocal (ats_ptr_type, tmp845) ; // ATSlocal_void (tmp846) ; ATSlocal (ats_ptr_type, tmp847) ; ATSlocal (ats_ptr_type, tmp848) ; ATSlocal (ats_ptr_type, tmp849) ; ATSlocal (ats_ptr_type, tmp850) ; ATSlocal (ats_ptr_type, tmp851) ; ATSlocal (ats_ptr_type, tmp852) ; ATSlocal (ats_ptr_type, tmp853) ; ATSlocal (ats_ptr_type, tmp854) ; ATSlocal (ats_ptr_type, tmp855) ; ATSlocal (ats_ptr_type, tmp856) ; ATSlocal (ats_ptr_type, tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_ptr_type, tmp861) ; ATSlocal (ats_ptr_type, tmp862) ; ATSlocal (ats_ptr_type, tmp863) ; ATSlocal (ats_ptr_type, tmp864) ; ATSlocal (ats_ptr_type, tmp865) ; ATSlocal (ats_ptr_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; ATSlocal (ats_ptr_type, tmp868) ; // ATSlocal_void (tmp869) ; // ATSlocal_void (tmp870) ; // ATSlocal_void (tmp871) ; // ATSlocal_void (tmp872) ; // ATSlocal_void (tmp873) ; // ATSlocal_void (tmp874) ; ATSlocal (ats_ptr_type, tmp875) ; // ATSlocal_void (tmp876) ; // ATSlocal_void (tmp877) ; // ATSlocal_void (tmp878) ; // ATSlocal_void (tmp879) ; ATSlocal (ats_ptr_type, tmp880) ; // ATSlocal_void (tmp881) ; // ATSlocal_void (tmp882) ; // ATSlocal_void (tmp883) ; // ATSlocal_void (tmp884) ; // ATSlocal_void (tmp885) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr: tmp571 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_loc) ; tmp572 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg0), atslab_d1exp_node) ; do { /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp572)->tag != 0) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp573 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = d1exp_tr_dqid_7 (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp573) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp572)->tag != 1) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp574 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp575 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp570 = d1exp_tr_dqid_7 (arg0, tmp574, tmp575) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp572)->tag != 3) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp576 = ats_caselptrlab_mac(anairiats_sum_22, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_int (tmp571, tmp576) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp572)->tag != 4) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp577 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_intrep (tmp571, tmp577) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp572)->tag != 5) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp578 = ats_caselptrlab_mac(anairiats_sum_23, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool (tmp571, tmp578) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp572)->tag != 6) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp579 = ats_caselptrlab_mac(anairiats_sum_24, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_char (tmp571, tmp579) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp572)->tag != 7) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp580 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_float (tmp571, tmp580) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp572)->tag != 8) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp581 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_string (tmp571, tmp581) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp572)->tag != 9) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp582 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_i0nt (tmp571, tmp582) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp572)->tag != 10) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp583 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_c0har (tmp571, tmp583) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp572)->tag != 11) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp584 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_f0loat (tmp571, tmp584) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp572)->tag != 12) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp585 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_s0tring (tmp571, tmp585) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp572)->tag != 15) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp586 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_cstsp (tmp571, tmp586) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp572)->tag != 16) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp587 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp588 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp587) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_literal (tmp571, tmp588) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp572)->tag != 13) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_top (tmp571) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp572)->tag != 14) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp571) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp572)->tag != 17) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp589 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp590 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp591 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (tmp589) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval (tmp571, tmp591, tmp590) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp572)->tag != 18) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp592 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp593 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp594 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; tmp595 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (tmp592) ; tmp596 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp594) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall (tmp571, tmp595, tmp593, tmp596) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp572)->tag != 19) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp597 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_0) ; tmp598 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_1) ; tmp599 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_2) ; tmp600 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_3) ; tmp601 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (tmp597) ; tmp602 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp598) ; tmp603 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp600) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall (tmp571, tmp601, tmp602, tmp599, tmp603) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp572)->tag != 60) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp604 = ats_caselptrlab_mac(anairiats_sum_22, tmp572, atslab_0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_loopexn (tmp571, tmp604) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp572)->tag != 20) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp605 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp606 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp607 = un_d1exp_sing_63 (tmp606) ; tmp608 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (tmp605) ; tmp609 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp607) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_foldat (tmp571, tmp608, tmp609) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp572)->tag != 21) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp610 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp611 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp612 = un_d1exp_sing_63 (tmp611) ; tmp613 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparglst_tr (tmp610) ; tmp614 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp612) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_freeat (tmp571, tmp613, tmp614) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp572)->tag != 22) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp615 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp616 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp617 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp615), atslab_dqi0de_qua) ; tmp618 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp615), atslab_dqi0de_sym) ; tmp619 = d1exp_tr_dqid_7 (arg0, tmp617, tmp618) ; tmp620 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__t1mpmarglst_tr (tmp616) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid (tmp571, tmp619, tmp620) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp572)->tag != 23) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp621 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp622 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp624 = ats_selsin_mac(tmp623, atslab_1) */ ; tmp625 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp621) ; tmp626 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp622) ; /* tmp627 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let (tmp571, tmp625, tmp626) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp572)->tag != 24) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp628 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp629 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; /* tmp630 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp631 = ats_selsin_mac(tmp630, atslab_1) */ ; tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp629) ; tmp633 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp628) ; /* tmp634 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where (tmp571, tmp633, tmp632) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp572)->tag != 25) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp635 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; /* tmp637 = ats_selsin_mac(tmp636, atslab_1) */ ; tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr (tmp635) ; tmp639 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp571) ; /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pop () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let (tmp571, tmp638, tmp639) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp572)->tag != 26) { goto __ats_lab_138_0 ; } __ats_lab_135_1: tmp641 = ats_caselptrlab_mac(anairiats_sum_28, tmp572, atslab_0) ; tmp642 = ats_caselptrlab_mac(anairiats_sum_28, tmp572, atslab_1) ; tmp643 = ats_caselptrlab_mac(anairiats_sum_28, tmp572, atslab_2) ; tmp644 = ats_caselptrlab_mac(anairiats_sum_28, tmp572, atslab_3) ; tmp645 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp641), atslab_d1exp_node) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp645)->tag != 27) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp646 = ats_caselptrlab_mac(anairiats_sum_4, tmp645, atslab_0) ; tmp647 = ats_caselptrlab_mac(anairiats_sum_4, tmp645, atslab_1) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn (arg0, tmp641, tmp646, tmp647, tmp642, tmp643, tmp644) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_dyn (arg0, tmp641, tmp642, tmp643, tmp644) ; break ; } while (0) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp572)->tag != 27) { goto __ats_lab_139_0 ; } __ats_lab_138_1: tmp648 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp649 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp650 = (ats_sum_ptr_type)0 ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_app_sta_dyn (arg0, arg0, tmp648, tmp649, tmp571, -2, tmp650) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp572)->tag != 28) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp651 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp652 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp651) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing (tmp571, tmp652) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp572)->tag != 29) { goto __ats_lab_143_0 ; } __ats_lab_140_1: tmp653 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_0) ; tmp654 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_1) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (tmp654 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp655 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp654) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list (tmp571, tmp653, tmp655) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (tmp654 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp571) ; break ; } while (0) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp572)->tag != 30) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp656 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_0) ; tmp657 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_1) ; tmp658 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_2) ; tmp659 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_3) ; tmp660 = i1nvresstate_tr_37 (tmp656) ; tmp661 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp657) ; tmp662 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp658) ; tmp663 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr (tmp659) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead (tmp571, tmp660, tmp661, tmp662, tmp663) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp572)->tag != 31) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp664 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_0) ; tmp665 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_1) ; tmp666 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_2) ; tmp667 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_3) ; tmp668 = i1nvresstate_tr_37 (tmp664) ; tmp669 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_bool (tmp665) ; tmp670 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp666) ; tmp671 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp667) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead (tmp571, tmp668, tmp669, tmp670, tmp671) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp572)->tag != 32) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp672 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_0) ; tmp673 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_1) ; tmp674 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_2) ; tmp675 = ats_caselptrlab_mac(anairiats_sum_26, tmp572, atslab_3) ; tmp676 = i1nvresstate_tr_37 (tmp673) ; tmp677 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp674) ; tmp678 = list_length_01410_ats_ptr_type (tmp677) ; tmp679 = c1laulst_tr_43 (tmp678, tmp675) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead (tmp571, tmp672, tmp676, tmp677, tmp679) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp572)->tag != 33) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp680 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp681 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp682 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; tmp683 = i1nvresstate_tr_37 (tmp680) ; tmp684 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trup (tmp681) ; tmp685 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp684), atslab_s2exp_srt) ; tmp686 = sc1laulst_trdn_45 (tmp682, tmp685) ; /* tmp687 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__sc2laulst_coverck (tmp571, tmp686, tmp685) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_scasehead (tmp571, tmp683, tmp684, tmp686) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp572)->tag != 34) { goto __ats_lab_153_0 ; } __ats_lab_147_1: tmp688 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_0) ; tmp689 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_1) ; tmp690 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_2) ; do { /* branch: __ats_lab_148 */ __ats_lab_148_0: if (tmp689 == (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } __ats_lab_148_1: tmp692 = ats_caselptrlab_mac(anairiats_sum_7, tmp689, atslab_0) ; do { /* branch: __ats_lab_149 */ __ats_lab_149_0: if (tmp688 != 0) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp693 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_t0ype (tmp692) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (tmp688 != 1) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp693 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_vt0ype (tmp692) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: __ats_lab_151_1: tmp693 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp692) ; break ; } while (0) ; tmp691 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp691, atslab_0, tmp693) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: // if (tmp689 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_152_1: tmp691 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp694 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp690) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst (tmp571, tmp688, tmp691, tmp694) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp572)->tag != 35) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp695 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_0) ; tmp696 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_1) ; tmp697 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_2) ; tmp698 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp697) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup (tmp571, tmp695, tmp696, tmp698) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp572)->tag != 36) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp699 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_0) ; tmp700 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_1) ; tmp701 = ats_caselptrlab_mac(anairiats_sum_31, tmp572, atslab_2) ; tmp702 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp701, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labd1exp_tr) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec (tmp571, tmp699, tmp700, ats_castfn_mac(ats_ptr_type, tmp702)) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp572)->tag != 37) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp703 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp704 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp703) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq2 (tmp571, tmp704) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp572)->tag != 38) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp705 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp706 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp707 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; tmp570 = d1exp_tr_arrsub_29 (arg0, tmp705, tmp706, tmp707) ; break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: if (((ats_sum_ptr_type)tmp572)->tag != 40) { goto __ats_lab_160_0 ; } __ats_lab_157_1: tmp708 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp709 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp710 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1expopt_trup (tmp708) ; do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (tmp710 == (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp712 = ats_caselptrlab_mac(anairiats_sum_7, tmp710, atslab_0) ; tmp711 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp711, atslab_0, tmp712) ; break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: // if (tmp710 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_159_1: tmp711 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp713 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp709) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz (tmp571, tmp711, tmp713) ; break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: if (((ats_sum_ptr_type)tmp572)->tag != 39) { goto __ats_lab_165_0 ; } __ats_lab_160_1: tmp714 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp715 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp716 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; do { /* branch: __ats_lab_161 */ __ats_lab_161_0: if (tmp715 == (ats_sum_ptr_type)0) { goto __ats_lab_164_0 ; } __ats_lab_161_1: do { /* branch: __ats_lab_162 */ __ats_lab_162_0: if (tmp716 == (ats_sum_ptr_type)0) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp717 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: // if (tmp716 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_163_1: tmp717 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; break ; } while (0) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: // if (tmp715 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_164_1: tmp717 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; break ; } while (0) ; tmp718 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp714, tmp717) ; tmp719 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr (tmp715) ; tmp720 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp716) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit (tmp571, tmp718, tmp719, tmp720) ; break ; /* branch: __ats_lab_165 */ __ats_lab_165_0: if (((ats_sum_ptr_type)tmp572)->tag != 41) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp721 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp722 = un_d1exp_sing_63 (tmp721) ; tmp723 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp722) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof (tmp571, tmp723) ; break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: if (((ats_sum_ptr_type)tmp572)->tag != 42) { goto __ats_lab_167_0 ; } __ats_lab_166_1: tmp724 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp725 = un_d1exp_sing_63 (tmp724) ; tmp726 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp725) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat (tmp571, tmp726) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: if (((ats_sum_ptr_type)tmp572)->tag != 43) { goto __ats_lab_172_0 ; } __ats_lab_167_1: tmp727 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_0) ; tmp728 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_1) ; tmp729 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_2) ; tmp730 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp728) ; tmp731 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1lab_tr (tmp729) ; tmp732 = atspre_eq_int_int (tmp727, 0) ; if (tmp732) { tmp733 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp730), atslab_d2exp_node) ; do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (((ats_sum_ptr_type)tmp733)->tag != 38) { goto __ats_lab_171_0 ; } __ats_lab_168_1: tmp734 = ats_caselptrlab_mac(anairiats_sum_4, tmp733, atslab_0) ; tmp735 = ats_caselptrlab_mac(anairiats_sum_4, tmp733, atslab_1) ; tmp736 = list_extend_01337_ats_ptr_type (tmp735, tmp731) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot (tmp571, tmp734, ats_castfn_mac(ats_ptr_type, tmp736)) ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: __ats_lab_171_1: tmp748 = (ats_sum_ptr_type)0 ; tmp747 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp747, atslab_0, tmp731) ; ats_selptrset_mac(anairiats_sum_8, tmp747, atslab_1, tmp748) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_dot (tmp571, tmp730, tmp747) ; break ; } while (0) ; } else { tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sel_ptr (tmp571, tmp730, tmp731) ; } /* end of [if] */ break ; /* branch: __ats_lab_172 */ __ats_lab_172_0: if (((ats_sum_ptr_type)tmp572)->tag != 44) { goto __ats_lab_173_0 ; } __ats_lab_172_1: tmp749 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp750 = un_d1exp_sing_63 (tmp749) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp750) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise (tmp571, tmp751) ; break ; /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)tmp572)->tag != 45) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp752 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp753 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp754 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr (tmp752) ; tmp755 = un_d1exp_sing_63 (tmp753) ; tmp756 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp755) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_effmask (tmp571, tmp754, tmp756) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: if (((ats_sum_ptr_type)tmp572)->tag != 46) { goto __ats_lab_175_0 ; } __ats_lab_174_1: tmp757 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp758 = un_d1exp_sing_63 (tmp757) ; tmp759 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp758) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype (tmp571, tmp759) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: if (((ats_sum_ptr_type)tmp572)->tag != 47) { goto __ats_lab_176_0 ; } __ats_lab_175_1: tmp760 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_0) ; tmp761 = ats_caselptrlab_mac(anairiats_sum_12, tmp572, atslab_1) ; tmp762 = un_d1exp_sing_63 (tmp761) ; tmp763 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp762) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_vcopyenv (tmp571, tmp760, tmp763) ; break ; /* branch: __ats_lab_176 */ __ats_lab_176_0: if (((ats_sum_ptr_type)tmp572)->tag != 48) { goto __ats_lab_185_0 ; } __ats_lab_176_1: tmp764 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp772 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp764) ; tmp774 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp772), atslab_d2exp_node) ; do { /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)tmp774)->tag != 1) { goto __ats_lab_182_0 ; } __ats_lab_181_1: tmp775 = ats_caselptrlab_mac(anairiats_sum_6, tmp774, atslab_0) ; tmp776 = (ats_sum_ptr_type)0 ; tmp773 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp773, atslab_0, tmp775) ; ats_selptrset_mac(anairiats_sum_8, tmp773, atslab_1, tmp776) ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)tmp774)->tag != 32) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp777 = ats_caselptrlab_mac(anairiats_sum_6, tmp774, atslab_0) ; tmp778 = (ats_sum_ptr_type)0 ; tmp773 = auxlst2_68 (tmp777, tmp778) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)tmp774)->tag != 33) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp779 = ats_caselptrlab_mac(anairiats_sum_12, tmp774, atslab_1) ; tmp773 = auxlst_67 (tmp779) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: __ats_lab_184_1: tmp773 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tempenver (tmp571, tmp773) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: if (((ats_sum_ptr_type)tmp572)->tag != 50) { goto __ats_lab_186_0 ; } __ats_lab_185_1: tmp780 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp781 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp782 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exparg_tr (tmp780) ; tmp783 = un_d1exp_sing_63 (tmp781) ; tmp784 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp783) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist (tmp571, tmp782, tmp784) ; break ; /* branch: __ats_lab_186 */ __ats_lab_186_0: if (((ats_sum_ptr_type)tmp572)->tag != 51) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp785 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_0) ; tmp786 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_1) ; tmp787 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_2) ; tmp788 = d1exp_tr_arg_body_31 (tmp786, tmp787) ; tmp789 = ats_select_mac(tmp788, atslab_0) ; tmp790 = ats_select_mac(tmp788, atslab_1) ; tmp791 = ats_select_mac(tmp788, atslab_2) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn (tmp571, tmp785, tmp789, tmp790, tmp791) ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: if (((ats_sum_ptr_type)tmp572)->tag != 52) { goto __ats_lab_188_0 ; } __ats_lab_187_1: tmp792 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_0) ; tmp793 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_1) ; tmp794 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_2) ; tmp795 = d1exp_tr_arg_body_31 (tmp793, tmp794) ; tmp796 = ats_select_mac(tmp795, atslab_0) ; tmp797 = ats_select_mac(tmp795, atslab_1) ; tmp798 = ats_select_mac(tmp795, atslab_2) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn (tmp571, tmp792, tmp796, tmp797, tmp798) ; break ; /* branch: __ats_lab_188 */ __ats_lab_188_0: if (((ats_sum_ptr_type)tmp572)->tag != 53) { goto __ats_lab_189_0 ; } __ats_lab_188_1: tmp799 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp800 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; tmp801 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1explst_trup (tmp799) ; tmp802 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp800) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_met_new (tmp571, tmp801, tmp802) ; break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: if (((ats_sum_ptr_type)tmp572)->tag != 56) { goto __ats_lab_190_0 ; } __ats_lab_189_1: tmp803 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_0) ; tmp804 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_1) ; tmp805 = ats_caselptrlab_mac(anairiats_sum_30, tmp572, atslab_2) ; tmp807 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp804), atslab_i0de_loc) ; tmp808 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_33, tmp804), atslab_i0de_sym) ; tmp806 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp807, tmp808) ; /* tmp809 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_isfix (tmp806, ats_true_bool) ; /* tmp810 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_push_nil () ; /* tmp811 = ats_selsin_mac(tmp810, atslab_1) */ ; /* tmp812 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_add_dvar (tmp806) ; tmp813 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp805) ; /* tmp814 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_pop_free () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_fix (tmp571, tmp803, tmp806, tmp813) ; break ; /* branch: __ats_lab_190 */ __ats_lab_190_0: if (((ats_sum_ptr_type)tmp572)->tag != 55) { goto __ats_lab_191_0 ; } __ats_lab_190_1: tmp815 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp816 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; /* tmp817 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp818 = ats_selsin_mac(tmp817, atslab_1) */ ; tmp819 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1qualst_tr (tmp815) ; tmp820 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp816) ; /* tmp821 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp822 = ats_select_mac(tmp819, atslab_s2qua_svs) ; tmp823 = ats_select_mac(tmp819, atslab_s2qua_sps) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_sta (tmp571, tmp822, tmp823, tmp820) ; break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: if (((ats_sum_ptr_type)tmp572)->tag != 57) { goto __ats_lab_192_0 ; } __ats_lab_191_1: tmp570 = d1exp_tr_delay_32 (arg0) ; break ; /* branch: __ats_lab_192 */ __ats_lab_192_0: if (((ats_sum_ptr_type)tmp572)->tag != 59) { goto __ats_lab_193_0 ; } __ats_lab_192_1: tmp824 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp825 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp826 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; /* tmp827 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp828 = ats_selsin_mac(tmp827, atslab_1) */ ; tmp829 = loopi1nv_tr_38 (tmp824) ; tmp830 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp825) ; tmp831 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp826) ; /* tmp832 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_while (tmp571, tmp829, tmp830, tmp831) ; break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: if (((ats_sum_ptr_type)tmp572)->tag != 58) { goto __ats_lab_196_0 ; } __ats_lab_193_1: tmp833 = ats_caselptrlab_mac(anairiats_sum_34, tmp572, atslab_0) ; tmp834 = ats_caselptrlab_mac(anairiats_sum_34, tmp572, atslab_1) ; tmp835 = ats_caselptrlab_mac(anairiats_sum_34, tmp572, atslab_2) ; tmp836 = ats_caselptrlab_mac(anairiats_sum_34, tmp572, atslab_3) ; tmp837 = ats_caselptrlab_mac(anairiats_sum_34, tmp572, atslab_4) ; tmp838 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp834) ; /* tmp839 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp840 = ats_selsin_mac(tmp839, atslab_1) */ ; tmp841 = loopi1nv_tr_38 (tmp833) ; tmp843 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp835), atslab_d1exp_node) ; do { /* branch: __ats_lab_194 */ __ats_lab_194_0: if (((ats_sum_ptr_type)tmp843)->tag != 14) { goto __ats_lab_195_0 ; } __ats_lab_194_1: tmp842 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_bool (tmp571, ats_true_bool) ; break ; /* branch: __ats_lab_195 */ __ats_lab_195_0: __ats_lab_195_1: tmp842 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp835) ; break ; } while (0) ; tmp844 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp836) ; tmp845 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp837) ; /* tmp846 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_for (tmp571, tmp841, tmp838, tmp842, tmp844, tmp845) ; break ; /* branch: __ats_lab_196 */ __ats_lab_196_0: if (((ats_sum_ptr_type)tmp572)->tag != 61) { goto __ats_lab_197_0 ; } __ats_lab_196_1: tmp847 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_0) ; tmp848 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_1) ; tmp849 = ats_caselptrlab_mac(anairiats_sum_25, tmp572, atslab_2) ; tmp850 = i1nvresstate_tr_37 (tmp847) ; tmp851 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp848) ; tmp852 = c1laulst_tr_43 (1, tmp849) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_trywith (tmp571, tmp850, tmp851, tmp852) ; break ; /* branch: __ats_lab_197 */ __ats_lab_197_0: if (((ats_sum_ptr_type)tmp572)->tag != 62) { goto __ats_lab_198_0 ; } __ats_lab_197_1: tmp853 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp854 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp855 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp853) ; tmp856 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp854) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (tmp571, tmp855, tmp856) ; break ; /* branch: __ats_lab_198 */ __ats_lab_198_0: if (((ats_sum_ptr_type)tmp572)->tag != 63) { goto __ats_lab_199_0 ; } __ats_lab_198_1: tmp857 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp858 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp859 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp857) ; tmp860 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__effcst_tr (tmp858) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff (tmp571, tmp859, tmp860) ; break ; /* branch: __ats_lab_199 */ __ats_lab_199_0: if (((ats_sum_ptr_type)tmp572)->tag != 64) { goto __ats_lab_200_0 ; } __ats_lab_199_1: tmp861 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; tmp862 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_1) ; tmp863 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp861) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (tmp571, tmp863, tmp862) ; break ; /* branch: __ats_lab_200 */ __ats_lab_200_0: if (((ats_sum_ptr_type)tmp572)->tag != 65) { goto __ats_lab_201_0 ; } __ats_lab_200_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macsyn (arg0) ; break ; /* branch: __ats_lab_201 */ __ats_lab_201_0: if (((ats_sum_ptr_type)tmp572)->tag != 66) { goto __ats_lab_202_0 ; } __ats_lab_201_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__d1exp_tr_macfun (arg0) ; break ; /* branch: __ats_lab_202 */ __ats_lab_202_0: if (((ats_sum_ptr_type)tmp572)->tag != 67) { goto __ats_lab_203_0 ; } __ats_lab_202_1: tmp864 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp865 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp864) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solassert (tmp571, tmp865) ; break ; /* branch: __ats_lab_203 */ __ats_lab_203_0: if (((ats_sum_ptr_type)tmp572)->tag != 68) { goto __ats_lab_204_0 ; } __ats_lab_203_1: tmp866 = ats_caselptrlab_mac(anairiats_sum_6, tmp572, atslab_0) ; tmp867 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn (tmp866, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_solverify (tmp571, tmp867) ; break ; /* branch: __ats_lab_204 */ __ats_lab_204_0: if (((ats_sum_ptr_type)tmp572)->tag != 69) { goto __ats_lab_205_0 ; } __ats_lab_204_1: tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp571) ; break ; /* branch: __ats_lab_205 */ __ats_lab_205_0: if (((ats_sum_ptr_type)tmp572)->tag != 2) { goto __ats_lab_206_0 ; } __ats_lab_205_1: tmp868 = ats_caselptrlab_mac(anairiats_sum_4, tmp572, atslab_0) ; /* tmp869 = */ prerr_error2_loc_02394_ (tmp571) ; /* tmp870 = */ atspre_prerr_string (ATSstrcst(": the external id [")) ; /* tmp871 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp868) ; /* tmp872 = */ atspre_prerr_string (ATSstrcst("] cannot be handled.")) ; /* tmp873 = */ atspre_prerr_newline () ; tmp875 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp875)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp875, atslab_0, arg0) ; /* tmp874 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp875) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp571) ; break ; /* branch: __ats_lab_206 */ __ats_lab_206_0: if (((ats_sum_ptr_type)tmp572)->tag != 49) { goto __ats_lab_207_0 ; } __ats_lab_206_1: /* tmp876 = */ prerr_error2_loc_02394_ (tmp571) ; /* tmp877 = */ atspre_prerr_string (ATSstrcst(": this form of expression is only allowed to occur as an argument.")) ; /* tmp878 = */ atspre_prerr_newline () ; tmp880 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp880)->tag = 27 ; ats_selptrset_mac(anairiats_sum_6, tmp880, atslab_0, arg0) ; /* tmp879 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp880) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (tmp571) ; break ; /* branch: __ats_lab_207 */ __ats_lab_207_0: __ats_lab_207_1: /* tmp881 = */ prerr_interror_loc_02392_ (tmp571) ; /* tmp882 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("d1exp_tr")) ; /* tmp883 = */ atspre_prerr_string (ATSstrcst(": not yet implemented: d1e0 = ")) ; /* tmp884 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (arg0) ; /* tmp885 = */ atspre_prerr_newline () ; /* tmp570 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp570) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 46791(line=1971, offs=13) -- 46834(line=1971, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp886) ; ATSlocal (ats_ptr_type, tmp887) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr: tmp887 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr) ; tmp886 = ats_castfn_mac(ats_ptr_type, tmp887) ; return (tmp886) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 46859(line=1974, offs=13) -- 46946(line=1977, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_ptr_type, tmp889) ; ATSlocal (ats_ptr_type, tmp890) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr: do { /* branch: __ats_lab_208 */ __ats_lab_208_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_209_0 ; } __ats_lab_208_1: tmp889 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp890 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp889) ; tmp888 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp888, atslab_0, tmp890) ; break ; /* branch: __ats_lab_209 */ __ats_lab_209_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_209_1: tmp888 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp888) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1expopt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 47020(line=1983, offs=13) -- 47110(line=1985, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labd1exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp891) ; ATSlocal (ats_ptr_type, tmp892) ; ATSlocal (ats_ptr_type, tmp893) ; ATSlocal (ats_ptr_type, tmp894) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labd1exp_tr: // tmp892 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp893 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp894 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (tmp893) ; tmp891 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__labd2exp_make (tmp892, tmp894) ; return (tmp891) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labd1exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 47176(line=1990, offs=10) -- 48143(line=2029, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1lab_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp895) ; ATSlocal (ats_ptr_type, tmp896) ; ATSlocal (ats_ptr_type, tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; ATSlocal (ats_ptr_type, tmp899) ; ATSlocal (ats_ptr_type, tmp900) ; ATSlocal (ats_ptr_type, tmp901) ; ATSlocal (ats_ptr_type, tmp902) ; ATSlocal (ats_ptr_type, tmp903) ; ATSlocal (ats_ptr_type, tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; ATSlocal (ats_ptr_type, tmp906) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1lab_tr: tmp896 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_d1lab_loc) ; tmp897 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, arg0), atslab_d1lab_node) ; do { /* branch: __ats_lab_210 */ __ats_lab_210_0: if (((ats_sum_ptr_type)tmp897)->tag != 0) { goto __ats_lab_217_0 ; } __ats_lab_210_1: tmp898 = ats_caselptrlab_mac(anairiats_sum_6, tmp897, atslab_0) ; tmp899 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize (tmp898) ; tmp900 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp899) ; do { /* branch: __ats_lab_211 */ __ats_lab_211_0: if (tmp900 == (ats_sum_ptr_type)0) { goto __ats_lab_216_0 ; } __ats_lab_211_1: tmp902 = ats_caselptrlab_mac(anairiats_sum_7, tmp900, atslab_0) ; ATS_FREE(tmp900) ; do { /* branch: __ats_lab_212 */ __ats_lab_212_0: if (((ats_sum_ptr_type)tmp902)->tag != 4) { goto __ats_lab_215_0 ; } __ats_lab_212_1: tmp903 = ats_caselptrlab_mac(anairiats_sum_4, tmp902, atslab_1) ; do { /* branch: __ats_lab_213 */ __ats_lab_213_0: if (tmp903 != (ats_sum_ptr_type)0) { goto __ats_lab_214_0 ; } __ats_lab_213_1: tmp901 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_214 */ __ats_lab_214_0: // if (tmp903 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_214_1: tmp904 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2sym_make (tmp896, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp899, tmp903) ; tmp901 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp901, atslab_0, tmp904) ; break ; } while (0) ; break ; /* branch: __ats_lab_215 */ __ats_lab_215_0: __ats_lab_215_1: tmp901 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_216 */ __ats_lab_216_0: // if (tmp900 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_216_1: tmp901 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp895 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_lab (tmp896, tmp898, tmp901) ; break ; /* branch: __ats_lab_217 */ __ats_lab_217_0: // if (((ats_sum_ptr_type)tmp897)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_217_1: tmp905 = ats_caselptrlab_mac(anairiats_sum_6, tmp897, atslab_0) ; tmp906 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1explst_tr (tmp905) ; tmp895 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind (tmp896, tmp906) ; break ; } while (0) ; return (tmp895) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1lab_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 48539(line=2050, offs=1) -- 48823(line=2061, offs=2) */ ATSstaticdec() ats_void_type auxerr_cst_74 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp909) ; // ATSlocal_void (tmp910) ; ATSlocal (ats_ptr_type, tmp911) ; // ATSlocal_void (tmp912) ; // ATSlocal_void (tmp913) ; // ATSlocal_void (tmp914) ; // ATSlocal_void (tmp915) ; // ATSlocal_void (tmp916) ; ATSlocal (ats_ptr_type, tmp917) ; __ats_lab_auxerr_cst_74: tmp911 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, env1), atslab_d2exp_loc) ; /* tmp910 = */ prerr_error2_loc_02394_ (tmp911) ; /* tmp912 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("S1Ed2ctype_tr")) ; /* tmp913 = */ atspre_prerr_string (ATSstrcst(": the dynamic constant [")) ; /* tmp914 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst (arg0) ; /* tmp915 = */ atspre_prerr_string (ATSstrcst("] should be instantiated.")) ; /* tmp916 = */ atspre_prerr_newline () ; tmp917 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp917)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp917, atslab_0, env0) ; /* tmp909 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp917) ; return /* (tmp909) */ ; } /* end of [auxerr_cst_74] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxerr_cst_74_closure_type ; ats_void_type auxerr_cst_74_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr_cst_74 (((auxerr_cst_74_closure_type*)cloptr)->closure_env_0, ((auxerr_cst_74_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_cst_74_closure_init (auxerr_cst_74_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_cst_74_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_cst_74_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxerr_cst_74_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_cst_74_closure_type)) ; auxerr_cst_74_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 48831(line=2064, offs=1) -- 49074(line=2074, offs=2) */ ATSstaticdec() ats_void_type auxerr1_tmpid_75 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp918) ; // ATSlocal_void (tmp919) ; ATSlocal (ats_ptr_type, tmp920) ; // ATSlocal_void (tmp921) ; // ATSlocal_void (tmp922) ; // ATSlocal_void (tmp923) ; // ATSlocal_void (tmp924) ; __ats_lab_auxerr1_tmpid_75: tmp920 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_d2exp_loc) ; /* tmp919 = */ prerr_error2_loc_02394_ (tmp920) ; /* tmp921 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("S1Ed2ctype_tr")) ; /* tmp922 = */ atspre_prerr_string (ATSstrcst(": a declared dynamic constant is expected instead of [")) ; /* tmp923 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg0) ; /* tmp924 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp918 = */ atspre_prerr_newline () ; return /* (tmp918) */ ; } /* end of [auxerr1_tmpid_75] */ typedef struct { ats_fun_ptr_type closure_fun ; } auxerr1_tmpid_75_closure_type ; ats_void_type auxerr1_tmpid_75_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr1_tmpid_75 (arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr1_tmpid_75_closure_init (auxerr1_tmpid_75_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr1_tmpid_75_clofun ; return ; } /* end of function */ ats_clo_ptr_type auxerr1_tmpid_75_closure_make () { auxerr1_tmpid_75_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr1_tmpid_75_closure_type)) ; auxerr1_tmpid_75_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 49079(line=2076, offs=1) -- 49400(line=2087, offs=2) */ ATSstaticdec() ats_void_type auxerr2_tmpid_76 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp925) ; // ATSlocal_void (tmp926) ; ATSlocal (ats_ptr_type, tmp927) ; // ATSlocal_void (tmp928) ; // ATSlocal_void (tmp929) ; // ATSlocal_void (tmp930) ; // ATSlocal_void (tmp931) ; // ATSlocal_void (tmp932) ; ATSlocal (ats_ptr_type, tmp933) ; __ats_lab_auxerr2_tmpid_76: tmp927 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, arg0), atslab_d2exp_loc) ; /* tmp926 = */ prerr_error2_loc_02394_ (tmp927) ; /* tmp928 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("S1Ed2ctype_tr")) ; /* tmp929 = */ atspre_prerr_string (ATSstrcst(": the dynamic constant [")) ; /* tmp930 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2cst (arg1) ; /* tmp931 = */ atspre_prerr_string (ATSstrcst("] is required to be be fully instantiated.")) ; /* tmp932 = */ atspre_prerr_newline () ; tmp933 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp933)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp933, atslab_0, env0) ; /* tmp925 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp933) ; return /* (tmp925) */ ; } /* end of [auxerr2_tmpid_76] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr2_tmpid_76_closure_type ; ats_void_type auxerr2_tmpid_76_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { auxerr2_tmpid_76 (((auxerr2_tmpid_76_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr2_tmpid_76_closure_init (auxerr2_tmpid_76_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr2_tmpid_76_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr2_tmpid_76_closure_make (ats_ptr_type env0) { auxerr2_tmpid_76_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr2_tmpid_76_closure_type)) ; auxerr2_tmpid_76_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52087(line=1854, offs=21) -- 52314(line=1862, offs=6) */ ATSstaticdec() ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp952) ; ATSlocal (ats_ptr_type, tmp953) ; ATSlocal (ats_ptr_type, tmp954) ; __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_221 */ __ats_lab_221_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_224_0 ; } __ats_lab_221_1: tmp953 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_222 */ __ats_lab_222_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_223_0 ; } __ats_lab_222_1: tmp954 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; arg0 = tmp953 ; arg1 = tmp954 ; goto __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_223 */ __ats_lab_223_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_223_1: tmp952 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_224 */ __ats_lab_224_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_224_1: do { /* branch: __ats_lab_225 */ __ats_lab_225_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_226_0 ; } __ats_lab_225_1: tmp952 = -1 ; break ; /* branch: __ats_lab_226 */ __ats_lab_226_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_226_1: tmp952 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp952) ; } /* end of [list_length_compare_01411_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats: 48469(line=2044, offs=14) -- 50824(line=2147, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__S1Ed2ctype_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp907) ; ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_ptr_type, tmp934) ; ATSlocal (ats_ptr_type, tmp935) ; ATSlocal (ats_bool_type, tmp936) ; // ATSlocal_void (tmp937) ; ATSlocal (ats_ptr_type, tmp938) ; ATSlocal (ats_ptr_type, tmp939) ; ATSlocal (ats_ptr_type, tmp940) ; ATSlocal (ats_ptr_type, tmp941) ; ATSlocal (ats_ptr_type, tmp942) ; ATSlocal (ats_ptr_type, tmp943) ; ATSlocal (ats_ptr_type, tmp944) ; ATSlocal (ats_ptr_type, tmp945) ; ATSlocal (ats_ptr_type, tmp946) ; ATSlocal (ats_int_type, tmp947) ; ATSlocal (anairiats_rec_3, tmp948) ; ATSlocal (ats_ptr_type, tmp949) ; ATSlocal (ats_ptr_type, tmp950) ; ATSlocal (ats_int_type, tmp951) ; // ATSlocal_void (tmp955) ; ATSlocal (ats_bool_type, tmp956) ; // ATSlocal_void (tmp957) ; // ATSlocal_void (tmp958) ; ATSlocal (ats_ptr_type, tmp959) ; // ATSlocal_void (tmp960) ; // ATSlocal_void (tmp961) ; // ATSlocal_void (tmp962) ; // ATSlocal_void (tmp963) ; ATSlocal (ats_ptr_type, tmp964) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__S1Ed2ctype_tr: tmp908 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1exp_tr (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp934 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp908), atslab_d2exp_node) ; do { /* branch: __ats_lab_218 */ __ats_lab_218_0: if (((ats_sum_ptr_type)tmp934)->tag != 0) { goto __ats_lab_219_0 ; } __ats_lab_218_1: tmp935 = ats_caselptrlab_mac(anairiats_sum_6, tmp934, atslab_0) ; tmp936 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_tmpcst (tmp935) ; if (tmp936) { /* tmp937 = */ auxerr_cst_74 (arg0, tmp908, tmp935) ; } else { /* empty */ } /* end of [if] */ tmp907 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (tmp935) ; break ; /* branch: __ats_lab_219 */ __ats_lab_219_0: if (((ats_sum_ptr_type)tmp934)->tag != 24) { goto __ats_lab_228_0 ; } __ats_lab_219_1: tmp938 = ats_caselptrlab_mac(anairiats_sum_4, tmp934, atslab_0) ; tmp939 = ats_caselptrlab_mac(anairiats_sum_4, tmp934, atslab_1) ; tmp940 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp938), atslab_d2exp_node) ; do { /* branch: __ats_lab_220 */ __ats_lab_220_0: if (((ats_sum_ptr_type)tmp940)->tag != 0) { goto __ats_lab_227_0 ; } __ats_lab_220_1: tmp941 = ats_caselptrlab_mac(anairiats_sum_6, tmp940, atslab_0) ; tmp942 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp908), atslab_d2exp_loc) ; tmp943 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp942) ; tmp944 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (tmp941) ; tmp945 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (tmp941) ; tmp946 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (tmp941) ; /* ats_int_type tmp947 ; */ tmp947 = 0 ; tmp948 = patsopt_s2exp_tmp_instantiate_tmpmarglst (tmp946, tmp943, tmp945, tmp939, (&tmp947)) ; tmp949 = ats_select_mac(tmp948, atslab_0) ; tmp950 = ats_select_mac(tmp948, atslab_1) ; tmp951 = list_length_compare_01411_ats_ptr_type_2cats_ptr_type (tmp939, tmp950) ; tmp956 = atspre_ilt (tmp951, 0) ; if (tmp956) { /* tmp955 = */ auxerr2_tmpid_76 (arg0, tmp938, tmp941) ; } else { /* empty */ } /* end of [if] */ tmp907 = tmp949 ; break ; /* branch: __ats_lab_227 */ __ats_lab_227_0: __ats_lab_227_1: /* tmp957 = */ auxerr1_tmpid_75 (tmp938) ; tmp907 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_228 */ __ats_lab_228_0: __ats_lab_228_1: tmp959 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_32, tmp908), atslab_d2exp_loc) ; /* tmp958 = */ prerr_error2_loc_02394_ (tmp959) ; /* tmp960 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_dynexp.dats"), ATSstrcst("S1Ed2ctype_tr")) ; /* tmp961 = */ atspre_print_string (ATSstrcst(": [$d2ctype] can only be applied to a declared dynamic constant.")) ; /* tmp962 = */ atspre_print_newline () ; tmp964 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp964)->tag = 8 ; ats_selptrset_mac(anairiats_sum_6, tmp964, atslab_0, arg0) ; /* tmp963 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp964) ; tmp907 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; return (tmp907) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__S1Ed2ctype_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDderef_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDassgn_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDxchng_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__SPDIDnone_3.tag = 3 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_trans2_dynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_staexp_dats.c0000664000175000017500000045227112655455557021643 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_s0arg_loc ; ats_ptr_type atslab_s0arg_sym ; ats_ptr_type atslab_s0arg_srt ; } anairiats_rec_8 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITHTYPE_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEsome_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEnone_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_si0de_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0exp_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0exp_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labs0exp_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0qua_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symdot) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symcolon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arrdim_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_sub) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_prop) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_vars) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_sqid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_opid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_c0har) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_f0loat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_s0tring) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp_nil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extkind) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_lams) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyarr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_ann) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_d2ctype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labs0exp_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__q0marg_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xndec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atcon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun) (ats_ref_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BARSEMI) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labs0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0qua) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0typ) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_S0Ed2ctype) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_asnameopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_atms0exp_tok) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_s0exp_tok) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type s0exp_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type loop_3 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s0exp_tytup12_1 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s0exp_tyrec12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type s0exp_tyrec12_ext_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_s0expseq_BAR_s0expseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_labs0expseq_BAR_labs0expseq_9 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_17 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_s0arrdim_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_apps0exp_20 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_exts0exp_22 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0exp0_23 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type s0exp_annopt_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_s0qua_rule2_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_cona0rgopt_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_coni0ndopt_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_d0atcon_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type d0cstarg_atyplst12_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_last_opt_01409_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_atms0exp_ngt_50 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_tmps0exp_51 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 1954(line=73, offs=1) -- 2185(line=84, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_s0exp_list12_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; ATS_FREE(arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list (arg0, ats_castfn_mac(ats_ptr_type, tmp1), arg2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list2 (arg0, ats_castfn_mac(ats_ptr_type, tmp2), ats_castfn_mac(ats_ptr_type, tmp3), arg2) ; break ; } while (0) ; return (tmp0) ; } /* end of [s0exp_list12_0] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_3 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; __ats_lab_loop_3: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp11 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp12 = ats_ptrget_mac(ats_ptr_type, tmp11) ; tmp13 = atspre_iadd (arg1, 1) ; arg0 = tmp12 ; arg1 = tmp13 ; goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp10 = arg1 ; break ; } while (0) ; return (tmp10) ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp9 = loop_3 (arg0, 0) ; return (tmp9) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_loop_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp18 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp18 ; arg1 = arg1 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp17) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp19) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp16 ; */ tmp16 = arg0 ; /* tmp19 = */ loop_5 ((&tmp16), arg1) ; tmp15 = tmp16 ; return (tmp15) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 2240(line=89, offs=1) -- 2607(line=105, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_tytup12_1 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_s0exp_tytup12_1: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp5), arg3) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp8 = list_vt_length_01501_ats_ptr_type (tmp6) ; tmp14 = list_vt_append_01504_ats_ptr_type (tmp6, tmp7) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tytup (arg0, arg1, tmp8, ats_castfn_mac(ats_ptr_type, tmp14), arg3) ; break ; } while (0) ; return (tmp4) ; } /* end of [s0exp_tytup12_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 2663(line=110, offs=1) -- 3033(line=126, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_tyrec12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_s0exp_tyrec12_6: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp21), arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp24 = list_vt_length_01501_ats_ptr_type (tmp22) ; tmp25 = list_vt_append_01504_ats_ptr_type (tmp22, tmp23) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec (arg0, arg1, tmp24, ats_castfn_mac(ats_ptr_type, tmp25), arg3) ; break ; } while (0) ; return (tmp20) ; } /* end of [s0exp_tyrec12_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 3089(line=131, offs=1) -- 3477(line=147, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_tyrec12_ext_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_s0exp_tyrec12_ext_7: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp27), arg3) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp30 = list_vt_length_01501_ats_ptr_type (tmp28) ; tmp31 = list_vt_append_01504_ats_ptr_type (tmp28, tmp29) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyrec_ext (arg0, arg1, tmp30, ats_castfn_mac(ats_ptr_type, tmp31), arg3) ; break ; } while (0) ; return (tmp26) ; } /* end of [s0exp_tyrec12_ext_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 3537(line=152, offs=1) -- 3647(line=156, offs=33) */ ATSstaticdec() ats_ptr_type p_s0expseq_BAR_s0expseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_p_s0expseq_BAR_s0expseq_8: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; return (tmp32) ; } /* end of [p_s0expseq_BAR_s0expseq_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 3689(line=160, offs=1) -- 3851(line=166, offs=4) */ ATSstaticdec() ats_ptr_type p_labs0expseq_BAR_labs0expseq_9 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; __ats_lab_p_labs0expseq_BAR_labs0expseq_9: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test (arg0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labs0exp) ; return (tmp33) ; } /* end of [p_labs0expseq_BAR_labs0expseq_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 4170(line=192, offs=3) -- 5434(line=261, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_int_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp36), atslab_token_loc) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp36), atslab_token_node) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp38)->tag != 139) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, tmp38, atslab_0) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp37, tmp39) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp38)->tag != 140) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_1, tmp38, atslab_0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp37, tmp41) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp38)->tag != 1) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AT) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp38)->tag != 3) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp38)->tag != 21) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp38)->tag != 22) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp38)->tag != 30) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp38)->tag != 27) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp38)->tag != 2) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp50 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp50 ; tmp52 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_si0de_45) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp37, tmp52) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 5619(line=277, offs=3) -- 6577(line=324, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_uint_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; // ATSlocal_void (tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq: tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp55), atslab_token_loc) ; /* ats_ptr_type tmp57 ; */ do { /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr, (&tmp57)) ; if (!tmp58) { goto __ats_lab_26_1 ; } tmp59 = ats_castfn_mac(ats_ptr_type, tmp57) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp60), atslab_token_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp61)->tag != 9) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symdot (tmp59, tmp60) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp61)->tag != 6) { goto __ats_lab_25_0 ; } __ats_lab_24_1: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0taq_symcolon (tmp59, tmp60) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp65 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp56, tmp65) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp54) ; break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp66 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp66 ; tmp68 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp56, tmp68) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 6682(line=334, offs=3) -- 7166(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_uint_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_bool_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de: tmp70 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp71 ; */ tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de, (&tmp71)) ; if (!tmp73) { goto __ats_lab_28_1 ; } tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_none (ats_castfn_mac(ats_ptr_type, tmp71)) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq (arg0, arg1, arg2) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de, tmp70) ; tmp76 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp70) ; if (tmp76) { tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sqi0de_make_some (tmp74, tmp75) ; } else { tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp72) ; } /* end of [if] */ break ; } while (0) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 7320(line=371, offs=3) -- 7382(line=372, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_asnameopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_asnameopt: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring) ; tmp77 = ats_castfn_mac(ats_ptr_type, tmp78) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_asnameopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 7645(line=387, offs=12) -- 8133(line=409, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labs0exp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_bool_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labs0exp: tmp80 = ats_ptrget_mac(ats_int_type, arg2) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab (arg0, arg1, arg2) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_asnameopt, tmp80) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, tmp80) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp80) ; tmp86 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp80) ; if (tmp86) { tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labs0exp_make (tmp82, tmp83, tmp85) ; } else { tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp81), atslab_token_loc) ; tmp89 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labs0exp_67) ; /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp88, tmp89) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labs0exp] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_17 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab_loop_17: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp101 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: break ; } while (0) ; return /* (tmp100) */ ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp99) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp99 = */ loop_17 (arg0) ; return /* (tmp99) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 8229(line=418, offs=1) -- 8775(line=438, offs=4) */ ATSstaticdec() ats_ptr_type p_s0arrdim_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_uint_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; // ATSlocal_void (tmp98) ; __ats_lab_p_s0arrdim_15: tmp91 = ats_ptrget_mac(ats_int_type, arg2) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET (arg0, arg1, arg2) ; tmp95 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp91) ; if (tmp95) { tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; } else { tmp94 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET, tmp91) ; tmp97 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp91) ; if (tmp97) { tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arrdim_make (tmp93, ats_castfn_mac(ats_ptr_type, tmp94), tmp96) ; } else { /* tmp98 = */ list_vt_free_01499_ats_ptr_type (tmp94) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp92) ; } /* end of [if] */ return (tmp90) ; } /* end of [p_s0arrdim_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 10098(line=500, offs=3) -- 10179(line=503, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp: tmp103 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0exp_66) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_atms0exp_tok, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 10236(line=508, offs=1) -- 16799(line=781, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_atms0exp_tok (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; // ATSlocal_void (tmp124) ; ATSlocal (ats_bool_type, tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_bool_type, tmp133) ; // ATSlocal_void (tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_bool_type, tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_bool_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_int_type, tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_bool_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_bool_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_bool_type, tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_bool_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_bool_type, tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_bool_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_atms0exp_tok: tmp105 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp106 ; */ tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_node) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de, (&tmp106)) ; if (!tmp108) { goto __ats_lab_32_0 ; } tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0de (ats_castfn_mac(ats_ptr_type, tmp106)) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp107)->tag != 146) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_i0nt (arg3) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp107)->tag != 147) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_c0har (arg3) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp107)->tag != 148) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_f0loat (arg3) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp107)->tag != 150) { goto __ats_lab_36_0 ; } __ats_lab_35_1: /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_s0tring (arg3) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp107)->tag != 64) { goto __ats_lab_37_0 ; } __ats_lab_36_1: /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ; tmp115 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp115) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_opid (arg3, tmp114) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0taq, (&tmp106)) ; if (!tmp116) { goto __ats_lab_38_0 ; } tmp117 = ats_castfn_mac(ats_ptr_type, tmp106) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ; tmp119 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp119) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_sqid (tmp117, tmp118) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp107)->tag != 153) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp121 = p_s0expseq_BAR_s0expseq_8 (arg0, 0, arg2) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp123 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp123) { tmp104 = s0exp_list12_0 (arg3, tmp121, tmp122) ; } else { /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp121) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco (tmp107) ; if (!tmp125) { goto __ats_lab_40_1 ; } /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp127 = p_s0expseq_BAR_s0expseq_8 (arg0, 0, arg2) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp129 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp129) { tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN (tmp107) ; if (tmp131) { tmp130 = 0 ; } else { tmp130 = 1 ; } /* end of [if] */ tmp104 = s0exp_tytup12_1 (tmp130, arg3, tmp127, tmp128) ; } else { /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp127) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco (tmp107) ; if (!tmp133) { goto __ats_lab_41_0 ; } /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp135 = p_labs0expseq_BAR_labs0expseq_9 (arg0, 0, arg2) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp137 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp137) { tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE (tmp107) ; if (tmp139) { tmp138 = 0 ; } else { tmp138 = 1 ; } /* end of [if] */ tmp104 = s0exp_tyrec12_6 (tmp138, arg3, tmp135, tmp136) ; } else { /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp135) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp107)->tag != 161) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET, tmp105) ; tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_s0arrdim_15, tmp105) ; tmp145 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp145) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_tyarr (arg3, tmp142, tmp144) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp107)->tag != 110) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_6, tmp107, atslab_0) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp149 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp149) { tmp150 = p_s0expseq_BAR_s0expseq_8 (arg0, 0, arg2) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp152 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp152) { tmp104 = s0exp_tytup12_1 (tmp146, arg3, tmp150, tmp151) ; } else { /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp150) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp107)->tag != 109) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_6, tmp107, atslab_0) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE (arg0, 0, arg2) ; tmp157 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp157) { tmp158 = p_labs0expseq_BAR_labs0expseq_9 (arg0, 0, arg2) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp160 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp160) { tmp104 = s0exp_tyrec12_6 (tmp154, arg3, tmp158, tmp159) ; } else { /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp158) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp107)->tag != 100) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF, tmp105) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, tmp105) ; tmp166 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp166) { tmp167 = p_labs0expseq_BAR_labs0expseq_9 (arg0, 0, arg2) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp169 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp169) { tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp163), atslab_token_node) ; if (((ats_sum_ptr_type)tmp170)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 14758(line=699, offs=17) -- 14791(line=699, offs=50)") ; } tmp171 = ats_caselptrlab_mac(anairiats_sum_1, tmp170, atslab_0) ; tmp104 = s0exp_tyrec12_ext_7 (tmp171, arg3, tmp167, tmp168) ; } else { /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp167) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp107)->tag != 28) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst (arg0, 0, arg2) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT (arg0, 0, arg2) ; tmp176 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp176) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp (arg3, tmp174, tmp175) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp107)->tag != 29) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_imp_nil (arg3) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp107)->tag != 157) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp181 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp181) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_uni (arg3, tmp179, tmp180) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp107)->tag != 155) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ; tmp185 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp185) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi (0, arg3, tmp183, tmp184) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp107)->tag != 163) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ; tmp189 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp189) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_exi (1, arg3, tmp187, tmp188) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp107)->tag != 94) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_S0Ed2ctype, tmp105) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp105) ; tmp194 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp105) ; if (tmp194) { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_d2ctype (arg3, ats_castfn_mac(ats_ptr_type, tmp192), tmp193) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp195 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp195 ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_atms0exp_tok] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 16959(line=794, offs=5) -- 17178(line=803, offs=2) */ ATSstaticdec() ats_ptr_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab_loop_21: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app (arg0, tmp198) ; arg0 = tmp200 ; arg1 = tmp199 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp197 = arg0 ; break ; } while (0) ; return (tmp197) ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 16888(line=790, offs=1) -- 17373(line=813, offs=4) */ ATSstaticdec() ats_ptr_type p_apps0exp_20 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab_p_apps0exp_20: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (tmp201 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_3, tmp201, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_3, tmp201, atslab_1) ; ATS_FREE(tmp201) ; tmp196 = loop_21 (tmp202, tmp203) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (tmp201 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp196) ; } /* end of [p_apps0exp_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 17589(line=824, offs=1) -- 18717(line=872, offs=4) */ ATSstaticdec() ats_ptr_type p_exts0exp_22 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_uint_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_bool_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_bool_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; __ats_lab_p_exts0exp_22: tmp205 = ats_ptrget_mac(ats_int_type, arg2) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp208 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp207), atslab_token_loc) ; tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp207), atslab_token_node) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp209)->tag != 99) { goto __ats_lab_57_0 ; } __ats_lab_56_1: /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp212 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp205) ; if (tmp212) { tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extype (tmp207, tmp211, ats_castfn_mac(ats_ptr_type, tmp213)) ; } else { tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp206) ; } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp209)->tag != 98) { goto __ats_lab_58_0 ; } __ats_lab_57_1: /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring (arg0, 0, arg2) ; tmp216 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp205) ; if (tmp216) { tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_extkind (tmp207, tmp215, ats_castfn_mac(ats_ptr_type, tmp217)) ; } else { tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp206) ; } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp218 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp218 ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp204) ; } /* end of [p_exts0exp_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 18811(line=881, offs=1) -- 19204(line=902, offs=4) */ ATSstaticdec() ats_ptr_type p_s0exp0_23 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_bool_type, tmp221) ; ATSlocal (ats_bool_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; __ats_lab_p_s0exp0_23: /* ats_ptr_type tmp220 ; */ do { /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_apps0exp_20, (&tmp220)) ; if (!tmp221) { goto __ats_lab_60_1 ; } tmp219 = ats_castfn_mac(ats_ptr_type, tmp220) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_exts0exp_22, (&tmp220)) ; if (!tmp222) { goto __ats_lab_61_1 ; } tmp219 = ats_castfn_mac(ats_ptr_type, tmp220) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: tmp223 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp223 ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp219) ; } /* end of [p_s0exp0_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 19356(line=913, offs=1) -- 19487(line=919, offs=2) */ ATSstaticdec() ats_ptr_type s0exp_annopt_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab_s0exp_annopt_24: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_ann (arg0, tmp225) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp224 = arg0 ; break ; } while (0) ; return (tmp224) ; } /* end of [s0exp_annopt_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 19665(line=932, offs=3) -- 19741(line=935, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp: tmp227 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0exp_65) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_s0exp_tok, tmp227) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 19792(line=940, offs=1) -- 20759(line=983, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_s0exp_tok (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_bool_type, tmp235) ; // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_bool_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_int_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_s0exp_tok: tmp229 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp230 ; */ tmp231 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_node) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_s0exp0_23, (&tmp230)) ; if (!tmp232) { goto __ats_lab_65_0 ; } tmp233 = ats_castfn_mac(ats_ptr_type, tmp230) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt (arg0, 0, arg2) ; tmp235 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp229) ; if (tmp235) { tmp228 = s0exp_annopt_24 (tmp233, tmp234) ; } else { tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp231)->tag != 57) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt (arg0, 0, arg2) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT, tmp229) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp229) ; tmp241 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp229) ; if (tmp241) { tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_lams (arg3, ats_castfn_mac(ats_ptr_type, tmp237), tmp238, tmp240) ; } else { /* tmp242 = */ list_vt_free_01499_ats_ptr_type (tmp237) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp243 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp243 ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__p_s0exp_tok] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 20919(line=995, offs=3) -- 22178(line=1047, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_uint_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_bool_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_bool_type, tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; // ATSlocal_void (tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext: tmp245 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp246 ; */ tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp249 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp248), atslab_token_loc) ; tmp250 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp248), atslab_token_node) ; do { /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt, (&tmp246)) ; if (!tmp251) { goto __ats_lab_68_0 ; } tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_srt (ats_castfn_mac(ats_ptr_type, tmp246)) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp250)->tag != 157) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, 0, arg2) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp245) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext, tmp245) ; tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR, tmp245) ; tmp257 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp245) ; tmp259 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp245) ; if (tmp259) { tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; } else { tmp258 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp245) ; tmp261 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp245) ; if (tmp261) { tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtext_sub (tmp248, tmp253, tmp255, tmp257, ats_castfn_mac(ats_ptr_type, tmp258), tmp260) ; } else { /* tmp262 = */ list_vt_free_01499_ats_ptr_type (tmp258) ; tmp264 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp249, tmp264) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp247) ; } /* end of [if] */ break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp265 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp265 ; tmp267 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp249, tmp267) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp244) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 22306(line=1060, offs=1) -- 22981(line=1099, offs=4) */ ATSstaticdec() ats_ptr_type p_s0qua_rule2_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_uint_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_bool_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_bool_type, tmp276) ; // ATSlocal_void (tmp277) ; __ats_lab_p_s0qua_rule2_28: tmp269 = ats_ptrget_mac(ats_int_type, arg2) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp273 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp269) ; if (tmp273) { tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_sep_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de) ; } else { tmp272 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp269) ; tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtext, tmp269) ; tmp276 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp269) ; if (tmp276) { tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_vars (tmp271, ats_castfn_mac(ats_ptr_type, tmp272), tmp275) ; } else { /* tmp277 = */ list_vt_free_01499_ats_ptr_type (tmp272) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp270) ; } /* end of [if] */ return (tmp268) ; } /* end of [p_s0qua_rule2_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 23037(line=1105, offs=3) -- 23526(line=1133, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0qua (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_bool_type, tmp282) ; ATSlocal (ats_bool_type, tmp283) ; ATSlocal (ats_int_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0qua: /* ats_ptr_type tmp279 ; */ tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp281 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp280), atslab_token_loc) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_s0qua_rule2_28, (&tmp279)) ; if (!tmp282) { goto __ats_lab_71_1 ; } tmp278 = ats_castfn_mac(ats_ptr_type, tmp279) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_apps0exp_20, (&tmp279)) ; if (!tmp283) { goto __ats_lab_72_1 ; } tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0qua_prop (ats_castfn_mac(ats_ptr_type, tmp279)) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp284 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp284 ; tmp286 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0qua_69) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp281, tmp286) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 23596(line=1139, offs=3) -- 23662(line=1140, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq: tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BARSEMI (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0qua) ; tmp287 = ats_castfn_mac(ats_ptr_type, tmp288) ; return (tmp287) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 23734(line=1147, offs=3) -- 23792(line=1148, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqs0expopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqs0expopt: tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp289 = ats_castfn_mac(ats_ptr_type, tmp290) ; return (tmp289) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqs0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 23845(line=1153, offs=3) -- 23903(line=1154, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0expopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0expopt: tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp291 = ats_castfn_mac(ats_ptr_type, tmp292) ; return (tmp291) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 23959(line=1159, offs=3) -- 24020(line=1160, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt: tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp293 = ats_castfn_mac(ats_ptr_type, tmp294) ; return (tmp293) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 24131(line=1169, offs=10) -- 24909(line=1215, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_uint_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; // ATSlocal_void (tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_bool_type, tmp304) ; // ATSlocal_void (tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_int_type, tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg: tmp296 = ats_ptrget_mac(ats_int_type, arg2) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp298), atslab_token_loc) ; tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp298), atslab_token_node) ; do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp300)->tag != 157) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp302 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp304 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp296) ; if (tmp304) { tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__q0marg_make (tmp298, tmp302, tmp303) ; } else { tmp306 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp299, tmp306) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp297) ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp307 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp307 ; tmp309 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp299, tmp309) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp295) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 24956(line=1219, offs=3) -- 25005(line=1219, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq: tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) ; tmp310 = ats_castfn_mac(ats_ptr_type, tmp311) ; return (tmp310) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0margseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 25103(line=1228, offs=1) -- 25197(line=1230, offs=43) */ ATSstaticdec() ats_ptr_type p_cona0rgopt_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp312) ; __ats_lab_p_cona0rgopt_36: tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0expopt (arg0, arg1, arg2) ; return (tmp312) ; } /* end of [p_cona0rgopt_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 25261(line=1236, offs=1) -- 26187(line=1284, offs=4) */ ATSstaticdec() ats_ptr_type p_coni0ndopt_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_int_type, tmp314) ; ATSlocal (ats_uint_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_bool_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; __ats_lab_p_coni0ndopt_37: tmp314 = ats_ptrget_mac(ats_int_type, arg2) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp317 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp316), atslab_token_loc) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp316), atslab_token_node) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp318)->tag != 153) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp322 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp314) ; if (tmp322) { tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_list (tmp316, ats_castfn_mac(ats_ptr_type, tmp320), tmp321) ; tmp313 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp313, atslab_0, tmp323) ; } else { /* tmp324 = */ list_vt_free_01499_ats_ptr_type (tmp320) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp315) ; } /* end of [if] */ break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp313 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp313) ; } /* end of [p_coni0ndopt_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 26303(line=1293, offs=3) -- 26805(line=1323, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndec (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_uint_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_bool_type, tmp331) ; ATSlocal (ats_bool_type, tmp332) ; // ATSlocal_void (tmp333) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndec: tmp326 = ats_ptrget_mac(ats_int_type, arg2) ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp331 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp326) ; if (tmp331) { tmp330 = p_cona0rgopt_36 (arg0, 0, arg2) ; } else { tmp330 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp332 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp326) ; if (tmp332) { tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__e0xndec_make (ats_castfn_mac(ats_ptr_type, tmp328), tmp329, tmp330) ; } else { /* tmp333 = */ list_vt_free_01499_ats_ptr_type (tmp328) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp327) ; } /* end of [if] */ return (tmp325) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0xndec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 26916(line=1333, offs=1) -- 27568(line=1366, offs=4) */ ATSstaticdec() ats_ptr_type p_d0atcon_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_int_type, tmp335) ; ATSlocal (ats_uint_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_bool_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_bool_type, tmp342) ; ATSlocal (ats_bool_type, tmp343) ; // ATSlocal_void (tmp344) ; __ats_lab_p_d0atcon_39: tmp335 = ats_ptrget_mac(ats_int_type, arg2) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_q0marg) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp340 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp335) ; if (tmp340) { tmp339 = p_coni0ndopt_37 (arg0, 0, arg2) ; } else { tmp339 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp342 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp335) ; if (tmp342) { tmp341 = p_cona0rgopt_36 (arg0, 0, arg2) ; } else { tmp341 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp343 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp335) ; if (tmp343) { tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atcon_make (ats_castfn_mac(ats_ptr_type, tmp337), tmp338, tmp339, tmp341) ; } else { /* tmp344 = */ list_vt_free_01499_ats_ptr_type (tmp337) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp336) ; } /* end of [if] */ return (tmp334) ; } /* end of [p_d0atcon_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 27619(line=1370, offs=3) -- 27713(line=1372, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atconseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_bool_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atconseq: tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test (arg0) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (arg0, arg1, &p_d0atcon_39) ; tmp345 = ats_castfn_mac(ats_ptr_type, tmp347) ; return (tmp345) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atconseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 27869(line=1387, offs=3) -- 28888(line=1443, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0typ (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_int_type, tmp349) ; ATSlocal (ats_uint_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_bool_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_bool_type, tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0typ: tmp349 = ats_ptrget_mac(ats_int_type, arg2) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp350) ; tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp353), atslab_token_node) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp355)->tag != 6) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (arg0, arg1, arg2) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp349) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_s0exp0_23, tmp349) ; tmp359 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp349) ; if (tmp359) { tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_some (tmp356, tmp358) ; } else { tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp350) ; } /* end of [if] */ break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp360 = p_s0exp0_23 (arg0, arg1, arg2) ; tmp361 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp349) ; if (tmp361) { tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0typ_make_none (tmp360) ; } else { tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp350) ; } /* end of [if] */ break ; } while (0) ; return (tmp348) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0typ] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 28977(line=1451, offs=1) -- 29327(line=1464, offs=2) */ ATSstaticdec() ats_ptr_type d0cstarg_atyplst12_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_int_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; __ats_lab_d0cstarg_atyplst12_42: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; ATS_FREE(arg1) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn (-1, arg0, ats_castfn_mac(ats_ptr_type, tmp363), arg2) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp365 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp366 = list_vt_length_01501_ats_ptr_type (tmp364) ; tmp367 = list_vt_append_01504_ats_ptr_type (tmp364, tmp365) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_dyn (tmp366, arg0, ats_castfn_mac(ats_ptr_type, tmp367), arg2) ; break ; } while (0) ; return (tmp362) ; } /* end of [d0cstarg_atyplst12_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 29386(line=1468, offs=3) -- 30336(line=1515, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstarg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_int_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_uint_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; // ATSlocal_void (tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_bool_type, tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_bool_type, tmp381) ; // ATSlocal_void (tmp382) ; ATSlocal (ats_int_type, tmp383) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstarg: tmp369 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp370 ; */ tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp373 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp372), atslab_token_node) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp373)->tag != 157) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp376 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp377 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp369) ; if (tmp377) { tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0cstarg_sta (tmp372, tmp375, tmp376) ; } else { tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp371) ; } /* end of [if] */ break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp373)->tag != 153) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0typ) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp381 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp369) ; if (tmp381) { tmp368 = d0cstarg_atyplst12_42 (tmp372, tmp379, tmp380) ; } else { /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp379) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp371) ; } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp383 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp383 ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp368) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0cstarg] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51232(line=1817, offs=5) -- 51354(line=1819, offs=58) */ ATSstaticdec() ats_ptr_type loop_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; __ats_lab_loop_47: do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp398 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp399 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; arg0 = tmp398 ; arg1 = tmp399 ; goto __ats_lab_loop_47 ; // tail call break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_90_1: tmp397 = arg0 ; break ; } while (0) ; return (tmp397) ; } /* end of [loop_47] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51194(line=1813, offs=11) -- 51390(line=1823, offs=2) */ ATSstaticdec() ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; __ats_lab_list_last_01407_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp400 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp396 = loop_47 (tmp400, tmp401) ; return (tmp396) ; } /* end of [list_last_01407_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51601(line=1833, offs=15) -- 51690(line=1835, offs=27) */ ATSstaticdec() ats_ptr_type list_last_opt_01409_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; __ats_lab_list_last_opt_01409_ats_ptr_type: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_88_1: tmp395 = list_last_01407_ats_ptr_type (arg0) ; tmp394 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp394, atslab_0, tmp395) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp394 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp394) ; } /* end of [list_last_opt_01409_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 30457(line=1525, offs=3) -- 31361(line=1566, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg: tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp386 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp385), atslab_token_node) ; do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp386)->tag != 10) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp384 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp384)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp384, atslab_0, tmp385) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp386)->tag != 11) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp384 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp384)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp384, atslab_0, tmp385) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (ats_castfn_mac(ats_ptr_type, tmp389) == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_87_1: tmp391 = ats_caselptrlab_mac(anairiats_sum_3, ats_castfn_mac(ats_ptr_type, tmp389), atslab_0) ; tmp392 = ats_caselptrlab_mac(anairiats_sum_3, ats_castfn_mac(ats_ptr_type, tmp389), atslab_1) ; tmp393 = list_last_opt_01409_ats_ptr_type (tmp392) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (tmp393 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp402 = ats_caselptrlab_mac(anairiats_sum_7, tmp393, atslab_0) ; ATS_FREE(tmp393) ; tmp403 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp391), atslab_s0arg_loc) ; tmp404 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp402), atslab_s0arg_loc) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp403, tmp404) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (tmp393 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp391), atslab_s0arg_loc) ; break ; } while (0) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (ats_castfn_mac(ats_ptr_type, tmp389) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp385), atslab_token_loc) ; break ; } while (0) ; tmp384 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp384)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp384, atslab_0, tmp390) ; ats_selptrset_mac(anairiats_sum_2, tmp384, atslab_1, ats_castfn_mac(ats_ptr_type, tmp389)) ; break ; } while (0) ; return (tmp384) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 31458(line=1573, offs=3) -- 31863(line=1596, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg: tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp407 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp406), atslab_token_node) ; do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp407)->tag != 10) { goto __ats_lab_96_0 ; } __ats_lab_95_1: /* tmp408 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp405 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp407)->tag != 11) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp409 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp405 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp405 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp405)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp405, atslab_0, ats_castfn_mac(ats_ptr_type, tmp410)) ; break ; } while (0) ; return (tmp405) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 31971(line=1606, offs=3) -- 32463(line=1635, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_int_type, tmp412) ; ATSlocal (ats_uint_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; // ATSlocal_void (tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_bool_type, tmp419) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype: tmp412 = ats_ptrget_mac(ats_int_type, arg2) ; tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp414), atslab_token_node) ; do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp415)->tag != 87) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp416 = ats_caselptrlab_mac(anairiats_sum_6, tmp415, atslab_0) ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp419 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp412) ; if (tmp419) { tmp411 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp411, atslab_0, tmp416) ; ats_selptrset_mac(anairiats_sum_9, tmp411, atslab_1, tmp418) ; } else { tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: __ats_lab_99_1: tmp411 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp411) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_witht0ype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 32514(line=1640, offs=1) -- 32796(line=1656, offs=4) */ ATSstaticdec() ats_ptr_type p_atms0exp_ngt_50 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_int_type, tmp423) ; __ats_lab_p_atms0exp_ngt_50: tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp422 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp421), atslab_token_node) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp422)->tag != 22) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp423 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp423 ; tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp420) ; } /* end of [p_atms0exp_ngt_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 32921(line=1666, offs=5) -- 33128(line=1678, offs=4) */ ATSstaticdec() ats_ptr_type loop_52 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; __ats_lab_loop_52: do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp425 = arg0 ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: tmp426 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp427 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp428 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0exp_app (arg0, tmp426) ; arg0 = tmp428 ; arg1 = tmp427 ; goto __ats_lab_loop_52 ; // tail call break ; } while (0) ; return (tmp425) ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 32850(line=1661, offs=1) -- 33353(line=1690, offs=4) */ ATSstaticdec() ats_ptr_type p_tmps0exp_51 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; __ats_lab_p_tmps0exp_51: tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &p_atms0exp_ngt_50) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (tmp429 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_3, tmp429, atslab_0) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_3, tmp429, atslab_1) ; ATS_FREE(tmp429) ; tmp424 = loop_52 (tmp430, tmp431) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (tmp429 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp424) ; } /* end of [p_tmps0exp_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 33404(line=1694, offs=3) -- 33559(line=1701, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq: tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &p_tmps0exp_51) ; tmp432 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__t0mpmarg_make (tmp433, ats_castfn_mac(ats_ptr_type, tmp434)) ; return (tmp432) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_staexp.dats: 33633(line=1707, offs=3) -- 34644(line=1758, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_S0Ed2ctype (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; ATSlocal (ats_uint_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_bool_type, tmp441) ; ATSlocal (ats_bool_type, tmp442) ; ATSlocal (ats_bool_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_bool_type, tmp447) ; // ATSlocal_void (tmp448) ; ATSlocal (ats_int_type, tmp449) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_S0Ed2ctype: tmp436 = ats_ptrget_mac(ats_int_type, arg2) ; tmp437 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp438 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp439 ; */ tmp440 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp438), atslab_token_node) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de, (&tmp439)) ; if (!tmp441) { goto __ats_lab_107_1 ; } tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide (ats_castfn_mac(ats_ptr_type, tmp439)) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de, (&tmp439)) ; if (!tmp442) { goto __ats_lab_108_1 ; } tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid (ats_castfn_mac(ats_ptr_type, tmp439)) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: __ats_lab_108_1: tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de, (&tmp439)) ; if (!tmp443) { goto __ats_lab_109_1 ; } tmp444 = ats_castfn_mac(ats_ptr_type, tmp439) ; tmp445 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) ; tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT, tmp436) ; tmp447 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp436) ; if (tmp447) { tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid (tmp444, ats_castfn_mac(ats_ptr_type, tmp445), tmp446) ; } else { /* tmp448 = */ list_vt_free_01499_ats_ptr_type (tmp445) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: tmp449 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp449 ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp435) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_S0Ed2ctype] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_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 () ; #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_parsing_staexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_dynexp_dats.c0000664000175000017500000053315012655455557021407 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_d0exp_loc ; ats_ptr_type atslab_d0exp_node ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_f0arg_loc ; ats_ptr_type atslab_f0arg_node ; } anairiats_rec_8 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_s0exp_loc ; ats_ptr_type atslab_s0exp_node ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_i0nvarg_loc ; ats_ptr_type atslab_i0nvarg_sym ; ats_ptr_type atslab_i0nvarg_typ ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_i0nvresstate_loc ; ats_ptr_type atslab_i0nvresstate_qua ; ats_ptr_type atslab_i0nvresstate_arg ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_loopi0nv_qua ; ats_ptr_type atslab_loopi0nv_met ; ats_ptr_type atslab_loopi0nv_arg ; ats_ptr_type atslab_loopi0nv_res ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_gm0at_loc ; ats_ptr_type atslab_gm0at_exp ; ats_ptr_type atslab_gm0at_pat ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_c0lau_loc ; ats_ptr_type atslab_c0lau_pat ; ats_int_type atslab_c0lau_seq ; ats_int_type atslab_c0lau_neg ; ats_ptr_type atslab_c0lau_body ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_guap0at_loc ; ats_ptr_type atslab_guap0at_pat ; ats_ptr_type atslab_guap0at_gua ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_sc0lau_loc ; ats_ptr_type atslab_sc0lau_pat ; ats_ptr_type atslab_sc0lau_body ; } anairiats_rec_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_21 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_clo_ref_type atslab_1 ; } anairiats_sum_22 ; typedef struct { ats_ptr_type atslab_ifhead_tok ; ats_ptr_type atslab_ifhead_inv ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_sifhead_tok ; ats_ptr_type atslab_sifhead_inv ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_casehead_tok ; ats_ptr_type atslab_casehead_inv ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_scasehead_tok ; ats_ptr_type atslab_scasehead_inv ; } anairiats_rec_27 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_28 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_29 ; typedef struct { ats_ptr_type atslab_dqi0de_loc ; ats_ptr_type atslab_dqi0de_qua ; ats_ptr_type atslab_dqi0de_sym ; } anairiats_rec_30 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_31 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_32 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_33 ; typedef struct { ats_ptr_type atslab_tryhead_tok ; ats_ptr_type atslab_tryhead_inv ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_itp_init ; ats_ptr_type atslab_itp_test ; ats_ptr_type atslab_itp_post ; } anairiats_rec_35 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMatm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXITMopr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__FXOPRpos_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta1_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta2_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGmet3_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eliteral_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextval_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextfcall_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextmcall_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efoldat_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efreeat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etmpid_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecasehead_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Escasehead_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrsub_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrpsz_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrinit_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_lab_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_ind_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eraise_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_arg_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eshowtype_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Evcopyenv_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etempenver_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esexparg_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eexist_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eann_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elam_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efix_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efor_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhile_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Emacsyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolassert_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolverify_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0exp_tr_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_termet_check_7) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__foldat_prec_dyn) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__freeat_prec_dyn) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__viewat_prec_dyn) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app) (ats_ptr_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash) (ats_ptr_type, ats_clo_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_islin) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain_ntm) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvarg_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idext) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_c0har) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_s0tring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_top) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_literal) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_foldat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_freeat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tmpid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_where) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_casehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_scasehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrsub) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sexparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ptrof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_viewat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_raise) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask_arg) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_showtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_vcopyenv) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tempenver) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_laminit_dyn) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_ana) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_syn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_fix) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_delay) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_for) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_while) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_loopexn) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_effc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo_opt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macsyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solassert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solverify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labd1exp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__gm1at_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__c1lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__sc1lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__sp0at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labd0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check) (ats_ptr_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d1exp_syndef_resolve) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__d1exp_app_proc) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02080_ () ; static ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type appf_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type appf_4_closure_make () ; static ats_ptr_type appf_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d1expitm_app_5 (ats_ptr_type arg0) ; static ats_ptr_type d1exp_get_loc_6 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_8_closure_make () ; static ats_ptr_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d1exp_make_opr_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_10 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_clo_ptr_type __ats_fun_11_closure_make () ; static ats_ptr_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d1expitm_backslash_9 (ats_ptr_type arg0) ; static ats_ptr_type d1expitm_underscore_12 (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02082_ (ats_ptr_type arg0) ; static ats_ptr_type s0expdarg_tr_13 (ats_ptr_type arg0) ; static ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s0expdarglst_tr_15 (ats_ptr_type arg0) ; static ats_ptr_type aux_20 (ats_ptr_type env0, ats_int_type env1, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_clo_ptr_type aux_20_closure_make (ats_ptr_type env0, ats_int_type env1) ; static ats_ptr_type aux_20_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type prerr_error1_loc_02083_ (ats_ptr_type arg0) ; static ats_ptr_type i0nvarg_tr_23 (ats_ptr_type arg0) ; static ats_ptr_type i0nvarglst_tr_24 (ats_ptr_type arg0) ; static ats_ptr_type i0nvresstate_tr_25 (ats_ptr_type arg0) ; static ats_ptr_type loopi0nv_tr_26 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type gm0at_tr_27 (ats_ptr_type arg0) ; static ats_ptr_type gm0atlst_tr_28 (ats_ptr_type arg0) ; static ats_ptr_type c0lau_tr_29 (ats_ptr_type arg0) ; static ats_ptr_type c0laulst_tr_30 (ats_ptr_type arg0) ; static ats_ptr_type sc0lau_tr_31 (ats_ptr_type arg0) ; static ats_ptr_type sc0laulst_tr_32 (ats_ptr_type arg0) ; static ats_ptr_type d0exp_tr_errmsg_opr_33 (ats_ptr_type arg0) ; static ats_ptr_type f_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type f_37_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type f_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_38 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type f_38_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type f_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append2_vt_01314_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_40 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_concat_01321_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_44 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type f_45 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_45_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_45_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_46 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type f_46_closure_make (ats_ptr_type env0) ; static ats_ptr_type f_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_47 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type f_47_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) ; static ats_ptr_type f_47_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type f_48 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type f_48_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) ; static ats_ptr_type f_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_item_35 (ats_ptr_type arg0) ; static ats_ptr_type loop_49 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_itemlst_36 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 2009(line=67, offs=28) -- 2040(line=67, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02080_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02080_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_dynexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02080_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6) */ ATSstaticdec() ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_3: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp20, atslab_0, tmp18) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp20 ; if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; } tmp21 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp19 ; arg1 = arg1 ; arg2 = tmp21 ; goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp23 = (ats_sum_ptr_type)0 ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp22, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp22, atslab_1, tmp23) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp22 ; break ; } while (0) ; return /* (tmp17) */ ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4) */ ATSstaticdec() ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp24) ; __ats_lab_list_extend_01337_ats_ptr_type: /* ats_ptr_type tmp16 ; */ /* tmp24 = */ loop_3 (arg0, arg1, (&tmp16)) ; tmp15 = tmp16 ; return (tmp15) ; } /* end of [list_extend_01337_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 2724(line=111, offs=1) -- 4067(line=167, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__d1exp_app_proc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__d1exp_app_proc: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp2)->tag != 2) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_3, tmp2, atslab_1) ; tmp5 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp5, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp5, atslab_1, tmp4) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idextapp (arg0, tmp3, tmp5) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_d1exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp6)->tag != 29) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_5, tmp6, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_5, tmp6, atslab_1) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_d1exp_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, tmp9, tmp7, tmp8) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp6)->tag != 49) { goto __ats_lab_8_0 ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_6, tmp6, atslab_0) ; tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp11)->tag != 27) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_1) ; tmp14 = list_extend_01337_ats_ptr_type (tmp13, tmp10) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta (arg0, tmp12, ats_castfn_mac(ats_ptr_type, tmp14)) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp26 = (ats_sum_ptr_type)0 ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_0, tmp10) ; ats_selptrset_mac(anairiats_sum_4, tmp25, atslab_1, tmp26) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_sta (arg0, arg1, tmp25) ; break ; } while (0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp27 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_d1exp_loc) ; tmp29 = (ats_sum_ptr_type)0 ; tmp28 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_1, tmp29) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, tmp27, -1, tmp28) ; break ; } while (0) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__d1exp_app_proc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4127(line=173, offs=4) -- 4409(line=186, offs=4) */ ATSstaticdec() ats_ptr_type appf_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_appf_4: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_d1exp_loc) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp32, tmp33) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__d1exp_app_proc (tmp31, arg0, arg1) ; tmp30 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp30)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_0, tmp34) ; return (tmp30) ; } /* end of [appf_4] */ typedef struct { ats_fun_ptr_type closure_fun ; } appf_4_closure_type ; ats_ptr_type appf_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return appf_4 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type appf_4_closure_init (appf_4_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&appf_4_clofun ; return ; } /* end of function */ ats_clo_ptr_type appf_4_closure_make () { appf_4_closure_type *p_clo = ATS_MALLOC(sizeof(appf_4_closure_type)) ; appf_4_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4455(line=190, offs=4) -- 4519(line=191, offs=52) */ ATSstaticdec() ats_ptr_type d1expitm_app_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_d1expitm_app_5: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxitm_app (arg0, appf_4_closure_make ()) ; return (tmp35) ; } /* end of [d1expitm_app_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4572(line=196, offs=4) -- 4620(line=196, offs=52) */ ATSstaticdec() ats_ptr_type d1exp_get_loc_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_d1exp_get_loc_6: tmp36 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; return (tmp36) ; } /* end of [d1exp_get_loc_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4724(line=205, offs=3) -- 4799(line=205, offs=78) */ ATSstaticdec() ats_ptr_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab___ats_fun_8: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, arg2, -1, arg3) ; return (tmp38) ; } /* end of [__ats_fun_8] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_8_closure_type ; ats_ptr_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_8 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_8_closure_init (__ats_fun_8_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_8_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_8_closure_make () { __ats_fun_8_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_8_closure_type)) ; __ats_fun_8_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4625(line=199, offs=1) -- 4837(line=208, offs=4) */ ATSstaticdec() ats_ptr_type d1exp_make_opr_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_d1exp_make_opr_7: tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make (&d1exp_get_loc_6, __ats_fun_8_closure_make (), arg0, arg1) ; return (tmp37) ; } /* end of [d1exp_make_opr_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4964(line=216, offs=3) -- 4984(line=216, offs=23) */ ATSstaticdec() ats_ptr_type __ats_fun_10 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; __ats_lab___ats_fun_10: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; return (tmp40) ; } /* end of [__ats_fun_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4987(line=217, offs=3) -- 5062(line=217, offs=78) */ ATSstaticdec() ats_ptr_type __ats_fun_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; __ats_lab___ats_fun_11: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, arg2, -1, arg3) ; return (tmp41) ; } /* end of [__ats_fun_11] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_11_closure_type ; ats_ptr_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { return __ats_fun_11 (arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_11_closure_init (__ats_fun_11_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_11_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_11_closure_make () { __ats_fun_11_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_11_closure_type)) ; __ats_fun_11_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 4869(line=211, offs=1) -- 5111(line=220, offs=4) */ ATSstaticdec() ats_ptr_type d1expitm_backslash_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; __ats_lab_d1expitm_backslash_9: tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxopr_make_backslash (&__ats_fun_10, __ats_fun_11_closure_make (), arg0) ; return (tmp39) ; } /* end of [d1expitm_backslash_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 5147(line=222, offs=4) -- 5223(line=223, offs=57) */ ATSstaticdec() ats_ptr_type d1expitm_underscore_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab_d1expitm_underscore_12: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_top (arg0) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp42)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp42, atslab_0, tmp43) ; return (tmp42) ; } /* end of [d1expitm_underscore_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02082_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; __ats_lab_prerr_interror_loc_02082_: /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp52 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp53 = */ prerr_FILENAME_02080_ () ; /* tmp50 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp50) */ ; } /* end of [prerr_interror_loc_02082_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 5282(line=229, offs=1) -- 5621(line=246, offs=4) */ ATSstaticdec() ats_ptr_type s0expdarg_tr_13 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab_s0expdarg_tr_13: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (arg0) ; tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp45), atslab_d1exp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp46)->tag != 49) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_6, tmp46, atslab_0) ; tmp44 = tmp47 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0exp_loc) ; /* tmp49 = */ prerr_interror_loc_02082_ (tmp48) ; /* tmp54 = */ atspre_prerr_string (ATSstrcst(": s0expdarg_tr: d1e = ")) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__prerr_d1exp (tmp45) ; /* tmp56 = */ atspre_prerr_newline () ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp44) ; } /* end of [s0expdarg_tr_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_loop_18: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp64 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp62, arg3) ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp65, atslab_0, tmp64) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp65 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp66 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp63 ; arg1 = arg1 ; arg2 = tmp66 ; arg3 = arg3 ; goto __ats_lab_loop_18 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp67 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp67 ; break ; } while (0) ; return /* (tmp61) */ ; } /* end of [loop_18] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp68 ; */ /* tmp69 = */ loop_18 (arg0, arg1, (&tmp68), arg2) ; tmp60 = tmp68 ; return (tmp60) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp59 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp59) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 5651(line=248, offs=4) -- 5735(line=249, offs=69) */ ATSstaticdec() ats_ptr_type s0expdarglst_tr_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_s0expdarglst_tr_15: tmp58 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &s0expdarg_tr_13) ; tmp57 = ats_castfn_mac(ats_ptr_type, tmp58) ; return (tmp57) ; } /* end of [s0expdarglst_tr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 6055(line=270, offs=5) -- 7782(line=339, offs=4) */ ATSstaticdec() ats_ptr_type aux_20 (ats_ptr_type env0, ats_int_type env1, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_bool_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_aux_20: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_13_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp72), atslab_f0arg_loc) ; tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp72), atslab_f0arg_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp75)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp76 = atspre_add_int_int (arg3, 1) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp76 = arg3 ; break ; } while (0) ; tmp77 = aux_20 (env0, env1, arg0, tmp73, arg2, tmp76) ; tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp77), atslab_d1exp_loc) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (env0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_9, env0, atslab_0) ; tmp79 = tmp80 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (env0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp74, tmp78) ; break ; } while (0) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp72), atslab_f0arg_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp81)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_6, tmp81, atslab_0) ; tmp83 = atspre_eq_int_int (arg3, 0) ; if (!tmp83) { goto __ats_lab_19_1 ; } tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp82) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox (arg0) ; tmp86 = atspre_gt_int_int (tmp85, 0) ; if (tmp86) { tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn (tmp79, env1, tmp84, tmp77) ; } else { tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_laminit_dyn (tmp79, env1, tmp84, tmp77) ; } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp81)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_6, tmp81, atslab_0) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp87) ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp89, atslab_0, -1) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo_opt (tmp78, tmp77, tmp89) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_dyn (tmp79, env1, tmp88, tmp90) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp81)->tag != 1) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_6, tmp81, atslab_0) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp91) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_syn (tmp79, tmp74, tmp92, tmp77) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp81)->tag != 2) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_6, tmp81, atslab_0) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0vararg_tr (tmp93) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_sta_ana (tmp79, tmp74, tmp94, tmp77) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (((ats_sum_ptr_type)tmp81)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_6, tmp81, atslab_0) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp95) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lam_met (tmp79, tmp74, tmp96, tmp77) ; break ; } while (0) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp71 = arg2 ; break ; } while (0) ; return (tmp71) ; } /* end of [aux_20] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; } aux_20_closure_type ; ats_ptr_type aux_20_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { return aux_20 (((aux_20_closure_type*)cloptr)->closure_env_0, ((aux_20_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; } /* end of function */ ATSinline() ats_void_type aux_20_closure_init (aux_20_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_20_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_20_closure_make (ats_ptr_type env0, ats_int_type env1) { aux_20_closure_type *p_clo = ATS_MALLOC(sizeof(aux_20_closure_type)) ; aux_20_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 5980(line=266, offs=1) -- 8533(line=373, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn: tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (arg7) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_9, arg5, atslab_0) ; tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp99), atslab_s0exp_loc) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp97), atslab_d1exp_loc) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp101, tmp102) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp99) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type (tmp100, tmp97, tmp103) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp98 = tmp97 ; break ; } while (0) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_9, arg6, atslab_0) ; tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp98), atslab_d1exp_loc) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_effc (tmp106, tmp98, tmp105) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp104 = tmp98 ; break ; } while (0) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp104), atslab_d1exp_loc) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_funclo (tmp109, tmp104, tmp108) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp107 = tmp104 ; break ; } while (0) ; tmp70 = aux_20 (arg1, arg3, arg0, arg4, tmp107, 0) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02083_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; __ats_lab_prerr_error1_loc_02083_: /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp115 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp115) */ ; } /* end of [prerr_error1_loc_02083_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 8609(line=379, offs=1) -- 9083(line=398, offs=26) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check (ats_ptr_type arg0, ats_bool_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; if (arg1) { tmp112 = ats_true_bool ; } else { tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain_ntm (tmp111) ; } /* end of [if] */ tmp113 = atspre_neg_bool (tmp112) ; if (tmp113) { /* tmp114 = */ prerr_error1_loc_02083_ (arg0) ; /* tmp117 = */ atspre_prerr_string (ATSstrcst(": a termination metric is missing")) ; /* tmp118 = */ atspre_prerr_newline () ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp119)->tag = 7 ; ats_selptrset_mac(anairiats_sum_6, tmp119, atslab_0, arg0) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp119) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: break ; } while (0) ; return /* (tmp110) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 9159(line=404, offs=4) -- 9305(line=409, offs=4) */ ATSstaticdec() ats_ptr_type i0nvarg_tr_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_i0nvarg_tr_23: tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_i0nvarg_typ) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp122) ; tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_i0nvarg_loc) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_i0nvarg_sym) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvarg_make (tmp123, tmp124, tmp121) ; return (tmp120) ; } /* end of [i0nvarg_tr_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 9334(line=411, offs=5) -- 9415(line=412, offs=68) */ ATSstaticdec() ats_ptr_type i0nvarglst_tr_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_i0nvarglst_tr_24: tmp126 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &i0nvarg_tr_23) ; tmp125 = ats_castfn_mac(ats_ptr_type, tmp126) ; return (tmp125) ; } /* end of [i0nvarglst_tr_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 9420(line=414, offs=4) -- 9706(line=423, offs=4) */ ATSstaticdec() ats_ptr_type i0nvresstate_tr_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_i0nvresstate_tr_25: tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i0nvresstate_qua) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp129 == (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_9, tmp129, atslab_0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp130) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: // if (tmp129 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_33_1: tmp128 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_i0nvresstate_arg) ; tmp131 = i0nvarglst_tr_24 (tmp132) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1nvresstate_make (tmp128, tmp131) ; return (tmp127) ; } /* end of [i0nvresstate_tr_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 9760(line=427, offs=4) -- 10207(line=442, offs=4) */ ATSstaticdec() ats_ptr_type loopi0nv_tr_26 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_loopi0nv_tr_26: tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_loopi0nv_qua) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (tmp135 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_9, tmp135, atslab_0) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0qualst_tr (tmp136) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp135 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp134 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_loopi0nv_met) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (tmp138 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_9, tmp138, atslab_0) ; tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0explst_tr (tmp139) ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp137, atslab_0, tmp140) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (tmp138 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp137 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_loopi0nv_arg) ; tmp141 = i0nvarglst_tr_24 (tmp142) ; tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_loopi0nv_res) ; tmp143 = i0nvresstate_tr_25 (tmp144) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_make (arg0, tmp134, tmp137, tmp141, tmp143) ; return (tmp133) ; } /* end of [loopi0nv_tr_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 10257(line=446, offs=4) -- 10507(line=455, offs=4) */ ATSstaticdec() ats_ptr_type gm0at_tr_27 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_gm0at_tr_27: tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_gm0at_exp) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp147) ; tmp149 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_gm0at_pat) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp149 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_9, tmp149, atslab_0) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp150) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp148, atslab_0, tmp151) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (tmp149 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp148 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_gm0at_loc) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__gm1at_make (tmp152, tmp146, tmp148) ; return (tmp145) ; } /* end of [gm0at_tr_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 10533(line=457, offs=4) -- 10626(line=459, offs=50) */ ATSstaticdec() ats_ptr_type gm0atlst_tr_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab_gm0atlst_tr_28: tmp154 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &gm0at_tr_27) ; tmp153 = ats_castfn_mac(ats_ptr_type, tmp154) ; return (tmp153) ; } /* end of [gm0atlst_tr_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 10676(line=464, offs=4) -- 10964(line=481, offs=4) */ ATSstaticdec() ats_ptr_type c0lau_tr_29 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_int_type, tmp165) ; __ats_lab_c0lau_tr_29: tmp156 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_c0lau_loc) ; tmp157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_c0lau_pat) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp157), atslab_guap0at_pat) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp159) ; tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp157), atslab_guap0at_gua) ; tmp160 = gm0atlst_tr_28 (tmp161) ; tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_c0lau_body) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp163) ; tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_c0lau_seq) ; tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_c0lau_neg) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__c1lau_make (tmp156, tmp158, tmp160, tmp164, tmp165, tmp162) ; return (tmp155) ; } /* end of [c0lau_tr_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 10990(line=483, offs=4) -- 11081(line=485, offs=49) */ ATSstaticdec() ats_ptr_type c0laulst_tr_30 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab_c0laulst_tr_30: tmp167 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &c0lau_tr_29) ; tmp166 = ats_castfn_mac(ats_ptr_type, tmp167) ; return (tmp166) ; } /* end of [c0laulst_tr_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 11110(line=488, offs=4) -- 11282(line=494, offs=4) */ ATSstaticdec() ats_ptr_type sc0lau_tr_31 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab_sc0lau_tr_31: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_sc0lau_pat) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__sp0at_tr (tmp170) ; tmp172 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_sc0lau_body) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp172) ; tmp173 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_sc0lau_loc) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__sc1lau_make (tmp173, tmp169, tmp171) ; return (tmp168) ; } /* end of [sc0lau_tr_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 11309(line=496, offs=4) -- 11406(line=498, offs=51) */ ATSstaticdec() ats_ptr_type sc0laulst_tr_32 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab_sc0laulst_tr_32: tmp175 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &sc0lau_tr_31) ; tmp174 = ats_castfn_mac(ats_ptr_type, tmp175) ; return (tmp174) ; } /* end of [sc0laulst_tr_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 11464(line=505, offs=4) -- 11717(line=513, offs=4) */ ATSstaticdec() ats_ptr_type d0exp_tr_errmsg_opr_33 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_d0exp_tr_errmsg_opr_33: tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0exp_loc) ; /* tmp178 = */ prerr_error1_loc_02083_ (tmp177) ; /* tmp179 = */ atspre_prerr_string (ATSstrcst(": the operator needs to be applied.")) ; /* tmp180 = */ atspre_prerr_newline () ; tmp182 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp182)->tag = 5 ; ats_selptrset_mac(anairiats_sum_6, tmp182, atslab_0, arg0) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp182) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (tmp177) ; return (tmp176) ; } /* end of [d0exp_tr_errmsg_opr_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 13718(line=597, offs=8) -- 13869(line=603, offs=8) */ ATSstaticdec() ats_ptr_type f_37 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab_f_37: tmp240 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp240) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_foldat (tmp239, env1, arg0) ; tmp238 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp238)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp238, atslab_0, tmp241) ; return (tmp238) ; } /* end of [f_37] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } f_37_closure_type ; ats_ptr_type f_37_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_37 (((f_37_closure_type*)cloptr)->closure_env_0, ((f_37_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type f_37_closure_init (f_37_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&f_37_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type f_37_closure_make (ats_ptr_type env0, ats_ptr_type env1) { f_37_closure_type *p_clo = ATS_MALLOC(sizeof(f_37_closure_type)) ; f_37_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 14042(line=610, offs=8) -- 14193(line=616, offs=8) */ ATSstaticdec() ats_ptr_type f_38 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab_f_38: tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp247) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_freeat (tmp246, env1, arg0) ; tmp245 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp245)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp245, atslab_0, tmp248) ; return (tmp245) ; } /* end of [f_38] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } f_38_closure_type ; ats_ptr_type f_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_38 (((f_38_closure_type*)cloptr)->closure_env_0, ((f_38_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type f_38_closure_init (f_38_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&f_38_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type f_38_closure_make (ats_ptr_type env0, ats_ptr_type env1) { f_38_closure_type *p_clo = ATS_MALLOC(sizeof(f_38_closure_type)) ; f_38_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 8880(line=328, offs=5) -- 9252(line=342, offs=4) */ ATSstaticdec() ats_void_type loop_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; __ats_lab_loop_42: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp367 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp367, atslab_0, tmp365) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp367 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp368 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp366 ; arg1 = arg1 ; arg2 = tmp368 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp364) */ ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 8858(line=326, offs=17) -- 9436(line=351, offs=4) */ ATSstaticdec() ats_ptr_type list_append2_vt_01314_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp369) ; // ATSlocal_void (tmp370) ; __ats_lab_list_append2_vt_01314_ats_ptr_type: /* ats_ptr_type tmp369 ; */ /* tmp370 = */ loop_42 (arg0, arg1, (&tmp369)) ; tmp363 = tmp369 ; return (tmp363) ; } /* end of [list_append2_vt_01314_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12290(line=449, offs=7) -- 12492(line=454, offs=51) */ ATSstaticdec() ats_ptr_type aux_40 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab_aux_40: do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_80_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp371 = aux_40 (tmp361, tmp362) ; tmp360 = list_append2_vt_01314_ats_ptr_type (arg0, tmp371) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: tmp372 = (ats_sum_ptr_type)0 ; tmp360 = list_append2_vt_01314_ats_ptr_type (arg0, tmp372) ; break ; } while (0) ; return (tmp360) ; } /* end of [aux_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12272(line=448, offs=13) -- 12586(line=458, offs=4) */ ATSstaticdec() ats_ptr_type list_concat_01321_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; __ats_lab_list_concat_01321_ats_ptr_type: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp373 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp359 = aux_40 (tmp373, tmp374) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp359 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp359) ; } /* end of [list_concat_01321_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab_loop_44: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp379 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: break ; } while (0) ; return /* (tmp378) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp377) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp377 = */ loop_44 (arg0) ; return /* (tmp377) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 19879(line=831, offs=8) -- 20000(line=833, offs=8) */ ATSstaticdec() ats_ptr_type f_45 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; __ats_lab_f_45: tmp425 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp424 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp425) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ptrof (tmp424, arg0) ; tmp423 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp423)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp423, atslab_0, tmp426) ; return (tmp423) ; } /* end of [f_45] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_45_closure_type ; ats_ptr_type f_45_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_45 (((f_45_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_45_closure_init (f_45_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_45_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_45_closure_make (ats_ptr_type env0) { f_45_closure_type *p_clo = ATS_MALLOC(sizeof(f_45_closure_type)) ; f_45_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 20129(line=838, offs=8) -- 20252(line=840, offs=8) */ ATSstaticdec() ats_ptr_type f_46 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; __ats_lab_f_46: tmp430 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (env0, tmp430) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_viewat (tmp429, arg0) ; tmp428 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp428)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp428, atslab_0, tmp431) ; return (tmp428) ; } /* end of [f_46] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } f_46_closure_type ; ats_ptr_type f_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_46 (((f_46_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type f_46_closure_init (f_46_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&f_46_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type f_46_closure_make (ats_ptr_type env0) { f_46_closure_type *p_clo = ATS_MALLOC(sizeof(f_46_closure_type)) ; f_46_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 22408(line=925, offs=8) -- 22556(line=929, offs=56) */ ATSstaticdec() ats_ptr_type f_47 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; __ats_lab_f_47: tmp501 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp501, env0) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab (tmp500, env1, arg0, env2) ; tmp499 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp499)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp499, atslab_0, tmp502) ; return (tmp499) ; } /* end of [f_47] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f_47_closure_type ; ats_ptr_type f_47_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_47 (((f_47_closure_type*)cloptr)->closure_env_0, ((f_47_closure_type*)cloptr)->closure_env_1, ((f_47_closure_type*)cloptr)->closure_env_2, arg0) ; } /* end of function */ ATSinline() ats_void_type f_47_closure_init (f_47_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f_47_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f_47_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { f_47_closure_type *p_clo = ATS_MALLOC(sizeof(f_47_closure_type)) ; f_47_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 22944(line=947, offs=8) -- 23092(line=951, offs=56) */ ATSstaticdec() ats_ptr_type f_48 (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; __ats_lab_f_48: tmp512 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_d1exp_loc) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp512, env0) ; tmp513 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_selab (tmp511, env1, arg0, env2) ; tmp510 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp510)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp510, atslab_0, tmp513) ; return (tmp510) ; } /* end of [f_48] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_int_type closure_env_1 ; ats_ptr_type closure_env_2 ; } f_48_closure_type ; ats_ptr_type f_48_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return f_48 (((f_48_closure_type*)cloptr)->closure_env_0, ((f_48_closure_type*)cloptr)->closure_env_1, ((f_48_closure_type*)cloptr)->closure_env_2, arg0) ; } /* end of function */ ATSinline() ats_void_type f_48_closure_init (f_48_closure_type *p_clo, ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&f_48_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type f_48_closure_make (ats_ptr_type env0, ats_int_type env1, ats_ptr_type env2) { f_48_closure_type *p_clo = ATS_MALLOC(sizeof(f_48_closure_type)) ; f_48_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 11838(line=523, offs=1) -- 24934(line=1024, offs=4) */ ATSstaticdec() ats_ptr_type aux_item_35 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_int_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_int_type, tmp338) ; ATSlocal (ats_int_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_int_type, tmp343) ; ATSlocal (ats_int_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp375) ; // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (anairiats_rec_1, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_int_type, tmp404) ; ATSlocal (ats_int_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_int_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_int_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_int_type, tmp447) ; ATSlocal (anairiats_rec_32, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (anairiats_rec_1, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_int_type, tmp452) ; ATSlocal (ats_int_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_int_type, tmp455) ; ATSlocal (ats_bool_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_int_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (anairiats_rec_32, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (anairiats_rec_1, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_int_type, tmp475) ; ATSlocal (ats_int_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_int_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_bool_type, tmp486) ; // ATSlocal_void (tmp487) ; ATSlocal (ats_int_type, tmp488) ; ATSlocal (ats_int_type, tmp489) ; ATSlocal (ats_bool_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_int_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_int_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_int_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; // ATSlocal_void (tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; __ats_lab_aux_item_35: tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0exp_loc) ; tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0exp_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp186)->tag != 0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp187, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; if (!tmp188) { goto __ats_lab_41_1 ; } tmp184 = d1expitm_backslash_9 (tmp185) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp186)->tag != 0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp189, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; if (!tmp190) { goto __ats_lab_42_1 ; } tmp184 = d1expitm_underscore_12 (tmp185) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp186)->tag != 0) { goto __ats_lab_45_0 ; } __ats_lab_42_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide (tmp185, tmp191) ; tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp191) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp193 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_0) ; ATS_FREE(tmp193) ; tmp184 = d1exp_make_opr_7 (tmp192, tmp194) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (tmp193 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp192) ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp186)->tag != 2) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp195 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ide (tmp185, tmp195) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp196) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp186)->tag != 1) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (tmp185, tmp197, tmp198) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp199) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp186)->tag != 3) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_idext (tmp185, tmp200) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp201) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp186)->tag != 4) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_i0nt (tmp185, tmp202) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp203) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp186)->tag != 5) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_c0har (tmp185, tmp204) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp205) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp186)->tag != 6) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_f0loat (tmp185, tmp206) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp207) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp186)->tag != 7) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_s0tring (tmp185, tmp208) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp209) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp186)->tag != 8) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty (tmp185) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp210) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp186)->tag != 9) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_cstsp (tmp185, tmp211) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp212) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp186)->tag != 10) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp213) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_literal (tmp185, tmp215) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp214) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp186)->tag != 11) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp216) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extval (tmp185, tmp219, tmp217) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp218) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp186)->tag != 12) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp220 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp221 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp220) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp222) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extfcall (tmp185, tmp223, tmp221, tmp224) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp225) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp186)->tag != 13) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_1) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_2) ; tmp229 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_3) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp226) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp227) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp229) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_extmcall (tmp185, tmp230, tmp231, tmp228, tmp232) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp233) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp186)->tag != 51) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp234 = ats_caselptrlab_mac(anairiats_sum_21, tmp186, atslab_0) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_loopexn (tmp185, tmp234) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp235) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp186)->tag != 14) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp236 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp237 = s0expdarglst_tr_15 (tmp236) ; tmp242 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp242)->tag = 1 ; ats_selptrset_mac(anairiats_sum_22, tmp242, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__foldat_prec_dyn) ; ats_selptrset_mac(anairiats_sum_22, tmp242, atslab_1, f_37_closure_make (tmp185, tmp237)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp242) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp186)->tag != 15) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp244 = s0expdarglst_tr_15 (tmp243) ; tmp249 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp249)->tag = 1 ; ats_selptrset_mac(anairiats_sum_22, tmp249, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__freeat_prec_dyn) ; ats_selptrset_mac(anairiats_sum_22, tmp249, atslab_1, f_38_closure_make (tmp185, tmp244)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp249) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp186)->tag != 16) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp252 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp251, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tmpid (tmp185, tmp250, ats_castfn_mac(ats_ptr_type, tmp252)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp253) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp186)->tag != 17) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp254 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp255 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; /* tmp257 = ats_selsin_mac(tmp256, atslab_1) */ ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp254) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp255) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop () ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let (tmp185, tmp258, tmp259) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp261) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp186)->tag != 18) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp262 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; /* tmp264 = ats_selsin_mac(tmp263, atslab_1) */ ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp262) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_empty (tmp185) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop () ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_let (tmp185, tmp265, tmp266) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp268) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp186)->tag != 19) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp269 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp270 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; /* tmp272 = ats_selsin_mac(tmp271, atslab_1) */ ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp270) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp269) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop () ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_where (tmp185, tmp274, tmp273) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp276) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp186)->tag != 20) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp277 = aux_itemlst_36 (arg0) ; tmp279 = d1expitm_app_5 (tmp185) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fixity_resolve (tmp185, &d1exp_get_loc_6, tmp279, tmp277) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d1exp_syndef_resolve (tmp185, tmp278) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp280) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp186)->tag != 21) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp282) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list (tmp185, tmp281, tmp283) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp284) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp186)->tag != 22) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_0) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_1) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_2) ; tmp288 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_3) ; tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp285), atslab_ifhead_inv) ; tmp289 = i0nvresstate_tr_25 (tmp290) ; tmp291 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp286) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp287) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr (tmp288) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ifhead (tmp185, tmp289, tmp291, tmp292, tmp293) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp294) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp186)->tag != 23) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_0) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_1) ; tmp297 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_2) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_3) ; tmp299 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp295), atslab_sifhead_inv) ; tmp300 = i0nvresstate_tr_25 (tmp299) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp296) ; tmp302 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp297) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp298) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sifhead (tmp185, tmp300, tmp301, tmp302, tmp303) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp304) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp186)->tag != 24) { goto __ats_lab_72_0 ; } __ats_lab_69_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp306 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp307 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp305), atslab_casehead_tok) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, tmp308), atslab_token_node) ; if (((ats_sum_ptr_type)tmp309)->tag != 36) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 16694(line=728, offs=9) -- 16723(line=728, offs=38)") ; } tmp310 = ats_caselptrlab_mac(anairiats_sum_6, tmp309, atslab_0) ; tmp311 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, tmp305), atslab_casehead_inv) ; tmp312 = i0nvresstate_tr_25 (tmp311) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp306) ; tmp315 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp313), atslab_d1exp_node) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp315)->tag != 29) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_5, tmp315, atslab_1) ; tmp314 = tmp316 ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp317 = (ats_sum_ptr_type)0 ; tmp314 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp314, atslab_0, tmp313) ; ats_selptrset_mac(anairiats_sum_4, tmp314, atslab_1, tmp317) ; break ; } while (0) ; tmp318 = c0laulst_tr_30 (tmp307) ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_casehead (tmp185, tmp310, tmp312, tmp314, tmp318) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp319) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp186)->tag != 25) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp322 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp323 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp320), atslab_scasehead_inv) ; tmp324 = i0nvresstate_tr_25 (tmp323) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp321) ; tmp326 = sc0laulst_tr_32 (tmp322) ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_scasehead (tmp185, tmp324, tmp325, tmp326) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp327) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp186)->tag != 26) { goto __ats_lab_76_0 ; } __ats_lab_73_1: tmp328 = ats_caselptrlab_mac(anairiats_sum_28, tmp186, atslab_0) ; tmp329 = ats_caselptrlab_mac(anairiats_sum_28, tmp186, atslab_1) ; tmp330 = ats_caselptrlab_mac(anairiats_sum_28, tmp186, atslab_2) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp329) ; tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp330) ; tmp334 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp332), atslab_d1exp_node) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp334)->tag != 29) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp335 = ats_caselptrlab_mac(anairiats_sum_5, tmp334, atslab_1) ; tmp333 = tmp335 ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp336 = (ats_sum_ptr_type)0 ; tmp333 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp333, atslab_0, tmp332) ; ats_selptrset_mac(anairiats_sum_4, tmp333, atslab_1, tmp336) ; break ; } while (0) ; tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_lst (tmp185, tmp328, tmp331, tmp333) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp337) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp186)->tag != 27) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp338 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_0) ; tmp339 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_1) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_2) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp340) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tup (tmp185, tmp338, tmp339, tmp341) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp342) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp186)->tag != 28) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_0) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_1) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_29, tmp186, atslab_2) ; tmp346 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp345, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labd0exp_tr) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_rec (tmp185, tmp343, tmp344, ats_castfn_mac(ats_ptr_type, tmp346)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp347) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp186)->tag != 29) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp348) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (tmp185, tmp350) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp349) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp186)->tag != 30) { goto __ats_lab_88_0 ; } __ats_lab_79_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp353 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, tmp351), atslab_dqi0de_loc) ; tmp356 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, tmp351), atslab_dqi0de_qua) ; tmp357 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_30, tmp351), atslab_dqi0de_sym) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (tmp355, tmp356, tmp357) ; tmp358 = list_concat_01321_ats_ptr_type (tmp353) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (ats_castfn_mac(ats_ptr_type, tmp358)) ; /* tmp376 = */ list_vt_free_01499_ats_ptr_type (tmp358) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrsub (tmp185, tmp354, tmp352, tmp375) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp380) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp186)->tag != 31) { goto __ats_lab_91_0 ; } __ats_lab_88_1: tmp381 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp382 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp381) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp382) ; tmp386 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp384), atslab_d1exp_node) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp386)->tag != 29) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp387 = ats_caselptrlab_mac(anairiats_sum_5, tmp386, atslab_1) ; tmp385 = tmp387 ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: __ats_lab_90_1: tmp388 = (ats_sum_ptr_type)0 ; tmp385 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp385, atslab_0, tmp384) ; ats_selptrset_mac(anairiats_sum_4, tmp385, atslab_1, tmp388) ; break ; } while (0) ; tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrpsz (tmp185, tmp383, tmp385) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp389) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp186)->tag != 32) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp390 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp391 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp392 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp393 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp390) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr (tmp391) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (tmp392) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_arrinit (tmp185, tmp393, tmp394, tmp395) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp396) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp186)->tag != 37) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp399 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp397) ; tmp398 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_raise (tmp185, tmp399) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp398) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp186)->tag != 38) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp400 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp400) ; tmp403 = ats_select_mac(tmp402, atslab_0) ; tmp404 = ats_select_mac(tmp402, atslab_1) ; tmp405 = ats_select_mac(tmp402, atslab_2) ; tmp406 = ats_select_mac(tmp402, atslab_3) ; tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp401) ; tmp408 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask (tmp185, tmp406, tmp407) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp408) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp186)->tag != 39) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp410) ; tmp412 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_effmask_arg (tmp185, tmp409, tmp411) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp412) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp186)->tag != 40) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp415 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp413) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_showtype (tmp185, tmp415) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp414) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp186)->tag != 41) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp416 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp417 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp419 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp417) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_vcopyenv (tmp185, tmp416, tmp419) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp418) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp186)->tag != 42) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp420 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp420) ; tmp421 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_tempenver (tmp185, tmp422) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp421) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp186)->tag != 33) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp427 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp427)->tag = 1 ; ats_selptrset_mac(anairiats_sum_22, tmp427, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__ptrof_prec_dyn) ; ats_selptrset_mac(anairiats_sum_22, tmp427, atslab_1, f_45_closure_make (tmp185)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp427) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp186)->tag != 34) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp432 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp432)->tag = 1 ; ats_selptrset_mac(anairiats_sum_22, tmp432, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__viewat_prec_dyn) ; ats_selptrset_mac(anairiats_sum_22, tmp432, atslab_1, f_46_closure_make (tmp185)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp432) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp186)->tag != 43) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp433 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr (tmp185, tmp433) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_sexparg (tmp185, tmp435) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp434) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp186)->tag != 44) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp437 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp438 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exparg_tr (tmp436, tmp437) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp438) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_exist (tmp185, tmp439, tmp440) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp441) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp186)->tag != 46) { goto __ats_lab_105_0 ; } __ats_lab_102_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_31, tmp186, atslab_0) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_31, tmp186, atslab_1) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_31, tmp186, atslab_2) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_31, tmp186, atslab_3) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_31, tmp186, atslab_4) ; tmp447 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_islin (tmp442) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (tmp445 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_9, tmp445, atslab_0) ; tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp449) ; tmp451 = ats_select_mac(tmp450, atslab_0) ; tmp452 = ats_select_mac(tmp450, atslab_1) ; tmp453 = ats_select_mac(tmp450, atslab_2) ; tmp454 = ats_select_mac(tmp450, atslab_3) ; tmp456 = atspre_gt_int_int (tmp447, 0) ; if (tmp456) { tmp455 = 1 ; } else { tmp455 = tmp452 ; } /* end of [if] */ tmp457 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp457, atslab_0, tmp454) ; tmp448.atslab_0 = tmp451 ; tmp448.atslab_1 = tmp455 ; tmp448.atslab_2 = tmp457 ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (tmp445 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp458 = (ats_sum_ptr_type)0 ; tmp459 = (ats_sum_ptr_type)0 ; tmp448.atslab_0 = tmp458 ; tmp448.atslab_1 = tmp447 ; tmp448.atslab_2 = tmp459 ; break ; } while (0) ; tmp460 = ats_select_mac(tmp448, atslab_0) ; tmp461 = ats_select_mac(tmp448, atslab_1) ; tmp462 = ats_select_mac(tmp448, atslab_2) ; tmp464 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp464, atslab_0, tmp185) ; tmp463 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn (tmp442, tmp464, tmp460, tmp461, tmp443, tmp444, tmp462, tmp446) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp463) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp186)->tag != 47) { goto __ats_lab_108_0 ; } __ats_lab_105_1: tmp465 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_0) ; tmp466 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_1) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_2) ; tmp468 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_3) ; tmp469 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_4) ; tmp470 = ats_caselptrlab_mac(anairiats_sum_33, tmp186, atslab_5) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (tmp469 == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp472 = ats_caselptrlab_mac(anairiats_sum_9, tmp469, atslab_0) ; tmp473 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp472) ; tmp474 = ats_select_mac(tmp473, atslab_0) ; tmp475 = ats_select_mac(tmp473, atslab_1) ; tmp476 = ats_select_mac(tmp473, atslab_2) ; tmp477 = ats_select_mac(tmp473, atslab_3) ; tmp478 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp478, atslab_0, tmp477) ; tmp471.atslab_0 = tmp474 ; tmp471.atslab_1 = tmp475 ; tmp471.atslab_2 = tmp478 ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (tmp469 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp479 = (ats_sum_ptr_type)0 ; tmp480 = (ats_sum_ptr_type)0 ; tmp471.atslab_0 = tmp479 ; tmp471.atslab_1 = 0 ; tmp471.atslab_2 = tmp480 ; break ; } while (0) ; tmp481 = ats_select_mac(tmp471, atslab_0) ; tmp482 = ats_select_mac(tmp471, atslab_1) ; tmp483 = ats_select_mac(tmp471, atslab_2) ; tmp485 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp485, atslab_0, tmp185) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn (tmp465, tmp485, tmp481, tmp482, tmp467, tmp468, tmp483, tmp470) ; tmp486 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric (tmp484) ; /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check (tmp185, tmp486, tmp483) ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__lamkind_isbox (tmp465) ; tmp490 = atspre_gt_int_int (tmp488, 0) ; if (tmp490) { tmp489 = 1 ; } else { tmp489 = 0 ; } /* end of [if] */ tmp491 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_fix (tmp185, tmp489, tmp466, tmp484) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp491) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp186)->tag != 48) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp492 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp493 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp493) ; tmp495 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_delay (tmp185, tmp492, tmp494) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp495) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp186)->tag != 35) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp496 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp498 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_lab (tmp185, tmp497) ; tmp503 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp503)->tag = 2 ; ats_selptrset_mac(anairiats_sum_22, tmp503, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ats_selptrset_mac(anairiats_sum_22, tmp503, atslab_1, f_47_closure_make (tmp185, tmp496, tmp498)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp503) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp186)->tag != 36) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp504 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_0) ; tmp505 = ats_caselptrlab_mac(anairiats_sum_5, tmp186, atslab_1) ; tmp506 = list_concat_01321_ats_ptr_type (tmp505) ; tmp507 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (ats_castfn_mac(ats_ptr_type, tmp506)) ; /* tmp508 = */ list_vt_free_01499_ats_ptr_type (tmp506) ; tmp509 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1lab_ind (tmp185, tmp507) ; tmp514 = ATS_MALLOC(sizeof(anairiats_sum_22)) ; ((ats_sum_ptr_type)tmp514)->tag = 2 ; ats_selptrset_mac(anairiats_sum_22, tmp514, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__select_prec) ; ats_selptrset_mac(anairiats_sum_22, tmp514, atslab_1, f_48_closure_make (tmp185, tmp504, tmp509)) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_3, tmp184, atslab_1, tmp514) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp186)->tag != 52) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp515 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_0) ; tmp516 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_1) ; tmp517 = ats_caselptrlab_mac(anairiats_sum_19, tmp186, atslab_2) ; tmp519 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, tmp515), atslab_tryhead_inv) ; tmp518 = i0nvresstate_tr_25 (tmp519) ; tmp520 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp516) ; tmp521 = c0laulst_tr_30 (tmp517) ; tmp522 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_trywith (tmp185, tmp518, tmp520, tmp521) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp522) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp186)->tag != 49) { goto __ats_lab_115_0 ; } __ats_lab_112_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_0) ; tmp524 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_1) ; tmp525 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_2) ; tmp526 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_3) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (tmp523 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp528 = ats_caselptrlab_mac(anairiats_sum_9, tmp523, atslab_0) ; tmp527 = loopi0nv_tr_26 (tmp524, tmp528) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (tmp523 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil (tmp524) ; break ; } while (0) ; tmp530 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, tmp525), atslab_itp_init) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp530) ; tmp532 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, tmp525), atslab_itp_test) ; tmp531 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp532) ; tmp534 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, tmp525), atslab_itp_post) ; tmp533 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp534) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp526) ; tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_for (tmp185, tmp527, tmp529, tmp531, tmp533, tmp535) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp536) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp186)->tag != 50) { goto __ats_lab_118_0 ; } __ats_lab_115_1: tmp537 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_0) ; tmp538 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_1) ; tmp539 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_2) ; tmp540 = ats_caselptrlab_mac(anairiats_sum_20, tmp186, atslab_3) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (tmp537 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp542 = ats_caselptrlab_mac(anairiats_sum_9, tmp537, atslab_0) ; tmp541 = loopi0nv_tr_26 (tmp538, tmp542) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (tmp537 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp541 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__loopi1nv_nil (tmp538) ; break ; } while (0) ; tmp543 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp539) ; tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp540) ; tmp545 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_while (tmp185, tmp541, tmp543, tmp544) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp545) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp186)->tag != 45) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp546 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp547 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp548 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp546) ; tmp549 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp547) ; tmp550 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_ann_type (tmp185, tmp548, tmp549) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp550) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp186)->tag != 53) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp551 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_0) ; tmp552 = ats_caselptrlab_mac(anairiats_sum_3, tmp186, atslab_1) ; tmp554 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp552) ; tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macsyn (tmp185, tmp551, tmp554) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp553) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp186)->tag != 54) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp555 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp555) ; tmp556 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solassert (tmp185, tmp557) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp556) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (((ats_sum_ptr_type)tmp186)->tag != 55) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: tmp558 = ats_caselptrlab_mac(anairiats_sum_6, tmp186, atslab_0) ; tmp560 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp558) ; tmp559 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_solverify (tmp185, tmp560) ; tmp184 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp184)->tag = 0 ; ats_selptrset_mac(anairiats_sum_6, tmp184, atslab_0, tmp559) ; break ; } while (0) ; return (tmp184) ; } /* end of [aux_item_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 25019(line=1028, offs=7) -- 25252(line=1033, offs=32) */ ATSstaticdec() ats_ptr_type loop_49 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_ptr_type, tmp568) ; __ats_lab_loop_49: tmp563 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0exp_node) ; do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp563)->tag != 20) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp564 = ats_caselptrlab_mac(anairiats_sum_3, tmp563, atslab_0) ; tmp565 = ats_caselptrlab_mac(anairiats_sum_3, tmp563, atslab_1) ; tmp567 = aux_item_35 (tmp565) ; tmp566 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp566, atslab_0, tmp567) ; ats_selptrset_mac(anairiats_sum_4, tmp566, atslab_1, arg1) ; arg0 = tmp564 ; arg1 = tmp566 ; goto __ats_lab_loop_49 ; // tail call break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: __ats_lab_123_1: tmp568 = aux_item_35 (arg0) ; tmp562 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp562, atslab_0, tmp568) ; ats_selptrset_mac(anairiats_sum_4, tmp562, atslab_1, arg1) ; break ; } while (0) ; return (tmp562) ; } /* end of [loop_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 24966(line=1026, offs=5) -- 25305(line=1037, offs=4) */ ATSstaticdec() ats_ptr_type aux_itemlst_36 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp569) ; __ats_lab_aux_itemlst_36: tmp569 = (ats_sum_ptr_type)0 ; tmp561 = loop_49 (arg0, tmp569) ; return (tmp561) ; } /* end of [aux_itemlst_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 11794(line=518, offs=10) -- 25667(line=1057, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr: tmp570 = aux_item_35 (arg0) ; do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp570)->tag != 0) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp571 = ats_caselptrlab_mac(anairiats_sum_6, tmp570, atslab_0) ; tmp183 = tmp571 ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: // if (((ats_sum_ptr_type)tmp570)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_125_1: tmp183 = d0exp_tr_errmsg_opr_33 (arg0) ; break ; } while (0) ; return (tmp183) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 25756(line=1064, offs=13) -- 25793(line=1064, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_ptr_type, tmp573) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr: tmp573 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr) ; tmp572 = ats_castfn_mac(ats_ptr_type, tmp573) ; return (tmp572) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0explst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 25841(line=1070, offs=3) -- 25921(line=1073, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr: do { /* branch: __ats_lab_126 */ __ats_lab_126_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp575 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp575) ; tmp574 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp574, atslab_0, tmp576) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_127_1: tmp574 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp574) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 25998(line=1080, offs=13) -- 26081(line=1082, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labd0exp_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_ptr_type, tmp580) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labd0exp_tr: // tmp578 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp579 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp580 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp579) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__labd1exp_make (tmp578, tmp580) ; return (tmp577) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__labd0exp_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_dynexp.dats: 26156(line=1088, offs=3) -- 26221(line=1090, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__S0Ed2ctype_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__S0Ed2ctype_tr: tmp582 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp581 = ats_castfn_mac(ats_ptr_type, tmp582) ; return (tmp581) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__S0Ed2ctype_tr] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_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 () ; #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_trans1_dynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_error_dats.c0000664000175000017500000020112212655455557021453 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_parerr_loc ; ats_ptr_type atslab_parerr_node ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AND_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_END_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AS_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_OF_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IN_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IF_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SIF_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_CASE_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SCASE_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_THEN_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_ELSE_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_REC_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHEN_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WITH_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_FOR_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHILE_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_TRY_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BAR_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COLON_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COMMA_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SEMICOLON_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LPAREN_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RPAREN_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACKET_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACKET_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACE_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACE_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BANG_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DOT_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQ_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQGT_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GT_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTDOT_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTLT_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPTHEN_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPENDIF_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EOF_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0nt_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0har_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_f0loat_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0tring_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0dext_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_i0de_dlr_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtid_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_si0de_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_di0de_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_pi0de_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_stai0de_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0taq_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_dqi0de_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_arrqi0de_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_tmpqi0de_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_impqi0de_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_l0ab_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0rec_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_funarrow_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_colonwith_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_e0xp_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atme0xp_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rt_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0rt_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0marg_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_a0msrt_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0exp_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0exp_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labs0exp_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtext_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0qua_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_q0marg_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmp0at_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labp0at_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_as_74) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_gm0at_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guap0at_76) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0lau_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp0_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp1_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmd0exp_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labd0exp_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_sta_84) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ecl_dyn_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guad0ecl_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_staloadarg_87) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_fname_unclosed_88) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DISCARD_89) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_bool_type, atspre_lte_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_lint_lint) (ats_lint_type, ats_lint_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_lint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_bchar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__the_parerrlst_get) (ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type synent_needed_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type keyword_needed_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type parenth_needed_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type fname_unclosed_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type token_discarded_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_lint_type arg3, ats_lint_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp7) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 1717(line=57, offs=13) -- 1772(line=59, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make: tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_parerr_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_parerr_node, arg1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_int_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp6 ; */ tmp6 = arg0 ; tmp5 = atspre_ref_make_elt_tsz ((&tmp6), sizeof(ats_ptr_type)) ; return (tmp5) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp13 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp12) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp11 = */ loop_5 (arg0) ; return /* (tmp11) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 2334(line=91, offs=3) -- 2543(line=98, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_clear () { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_clear: ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp14 = ats_ptrget_mac(ats_ptr_type, tmp9) ; /* tmp10 = */ list_vt_free_01499_ats_ptr_type (tmp14) ; tmp15 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp15 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 2610(line=102, offs=3) -- 2916(line=113, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add: tmp17 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ; tmp18 = ats_ptrget_mac(ats_int_type, tmp17) ; tmp19 = atspre_add_int_int (tmp18, 1) ; ats_ptrget_mac(ats_int_type, tmp17) = tmp19 ; tmp20 = atspre_lt_int_int (tmp18, 100) ; if (tmp20) { tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp23 = ats_ptrget_mac(ats_ptr_type, tmp21) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_1, tmp23) ; ats_ptrget_mac(ats_ptr_type, tmp21) = tmp22 ; } else { /* empty */ } /* end of [if] */ return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_revapp_10: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp32 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp33 = ats_ptrget_mac(ats_ptr_type, tmp32) ; ats_ptrget_mac(ats_ptr_type, tmp32) = arg1 ; tmp34 = arg0 ; arg0 = tmp33 ; arg1 = tmp34 ; goto __ats_lab_revapp_10 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp31 = arg1 ; break ; } while (0) ; return (tmp31) ; } /* end of [revapp_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp30 = revapp_10 (arg0, arg1) ; return (tmp30) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp35 = (ats_sum_ptr_type)0 ; tmp29 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp35) ; return (tmp29) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 2981(line=117, offs=3) -- 3188(line=124, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__the_parerrlst_get (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__the_parerrlst_get: tmp25 = ats_ptrget_mac(ats_int_type, statmp1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp25 ; ats_ptrget_mac(ats_int_type, statmp1) = 0 ; tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp4), atslab_1) ; tmp27 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp28 = list_vt_reverse_01506_ats_ptr_type (tmp27) ; tmp36 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp26) = tmp36 ; tmp24 = tmp28 ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__the_parerrlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 3303(line=132, offs=3) -- 3408(line=138, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp37) ; ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt: tmp38 = atspre_eq_int_int (arg0, 0) ; if (tmp38) { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make (arg1, arg2) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add (tmp39) ; } else { /* empty */ } /* end of [if] */ return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 3506(line=144, offs=3) -- 3664(line=151, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed: tmp41 = atspre_string_contains (arg1, '\n') ; if (tmp41) { tmp43 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_fname_unclosed_88) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parerr_make (arg0, tmp43) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add (tmp42) ; } else { /* empty */ } /* end of [if] */ return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifunclosed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 3732(line=156, offs=1) -- 3976(line=167, offs=2) */ ATSstaticdec() ats_void_type synent_needed_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab_synent_needed_13: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp46) ; /* tmp47 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): the syntactic entity [%s] is needed."), arg2) ; /* tmp44 = */ atspre_fprint_newline (arg0) ; return /* (tmp44) */ ; } /* end of [synent_needed_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 4032(line=172, offs=1) -- 4266(line=180, offs=2) */ ATSstaticdec() ats_void_type keyword_needed_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; __ats_lab_keyword_needed_14: tmp50 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp50) ; /* tmp51 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): the keyword [%s] is needed."), arg2) ; /* tmp48 = */ atspre_fprint_newline (arg0) ; return /* (tmp48) */ ; } /* end of [keyword_needed_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 4323(line=185, offs=1) -- 4557(line=193, offs=2) */ ATSstaticdec() ats_void_type parenth_needed_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; __ats_lab_parenth_needed_15: tmp54 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp54) ; /* tmp55 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): the keyword '%s' is needed."), arg2) ; /* tmp52 = */ atspre_fprint_newline (arg0) ; return /* (tmp52) */ ; } /* end of [parenth_needed_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 4614(line=198, offs=1) -- 4827(line=205, offs=2) */ ATSstaticdec() ats_void_type fname_unclosed_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; __ats_lab_fname_unclosed_16: tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp58) ; /* tmp59 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): the filename is unclosed.")) ; /* tmp56 = */ atspre_fprint_newline (arg0) ; return /* (tmp56) */ ; } /* end of [fname_unclosed_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 4884(line=210, offs=1) -- 5096(line=217, offs=2) */ ATSstaticdec() ats_void_type token_discarded_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; __ats_lab_token_discarded_17: tmp62 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp62) ; /* tmp63 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): the token is discarded.")) ; /* tmp60 = */ atspre_fprint_newline (arg0) ; return /* (tmp60) */ ; } /* end of [token_discarded_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 5495(line=241, offs=3) -- 9696(line=394, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr: tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_loc) ; tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_parerr_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp66)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("and")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp66)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("end")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp66)->tag != 2) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("as")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp66)->tag != 3) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("of")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp66)->tag != 4) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("in")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp66)->tag != 5) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("if")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp66)->tag != 6) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("sif")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp66)->tag != 7) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("case")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp66)->tag != 8) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("scase")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp66)->tag != 9) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("then")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp66)->tag != 10) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("else")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp66)->tag != 11) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("rec")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp66)->tag != 12) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("when")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp66)->tag != 13) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("with")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp66)->tag != 14) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("for")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp66)->tag != 15) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("while")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp66)->tag != 16) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("try")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp66)->tag != 17) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("|")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp66)->tag != 18) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(":")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp66)->tag != 19) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(",")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp66)->tag != 20) { goto __ats_lab_25_0 ; } __ats_lab_24_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(";")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp66)->tag != 27) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("!")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp66)->tag != 28) { goto __ats_lab_27_0 ; } __ats_lab_26_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(",")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp66)->tag != 29) { goto __ats_lab_28_0 ; } __ats_lab_27_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("=")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp66)->tag != 30) { goto __ats_lab_29_0 ; } __ats_lab_28_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("=>")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp66)->tag != 31) { goto __ats_lab_30_0 ; } __ats_lab_29_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(">")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp66)->tag != 32) { goto __ats_lab_31_0 ; } __ats_lab_30_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst(">.")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp66)->tag != 33) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("><")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp66)->tag != 34) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("#then")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp66)->tag != 35) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp64 = */ keyword_needed_14 (arg0, arg1, ATSstrcst("#endif")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp66)->tag != 21) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst("(")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp66)->tag != 22) { goto __ats_lab_36_0 ; } __ats_lab_35_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp66)->tag != 23) { goto __ats_lab_37_0 ; } __ats_lab_36_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst("[")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp66)->tag != 24) { goto __ats_lab_38_0 ; } __ats_lab_37_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst("]")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp66)->tag != 25) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst("{")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp66)->tag != 26) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp64 = */ parenth_needed_15 (arg0, arg1, ATSstrcst("}")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp66)->tag != 36) { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp68 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): [EOF] is needed")) ; /* tmp64 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp66)->tag != 37) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp70 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): [i0nt] is needed")) ; /* tmp64 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp66)->tag != 38) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp72 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): [c0har] is needed")) ; /* tmp64 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp66)->tag != 39) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp74 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): [f0loat] is needed")) ; /* tmp64 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp66)->tag != 40) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp65) ; /* tmp76 = */ atspre_fprintf_exn (arg0, ATSstrcst(": error(parsing): [s0tring] is needed")) ; /* tmp64 = */ atspre_fprint_newline (arg0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp66)->tag != 41) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("i0de")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp66)->tag != 42) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("i0dext")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp66)->tag != 43) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("i0de_dlr")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp66)->tag != 55) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("l0ab")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp66)->tag != 56) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("p0rec")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp66)->tag != 57) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("funarrow")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp66)->tag != 58) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("colonwith")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp66)->tag != 59) { goto __ats_lab_53_0 ; } __ats_lab_52_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("e0xp")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp66)->tag != 60) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("atme0xp")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp66)->tag != 61) { goto __ats_lab_55_0 ; } __ats_lab_54_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0rt")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp66)->tag != 44) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0rtid")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp66)->tag != 62) { goto __ats_lab_57_0 ; } __ats_lab_56_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("atms0rt")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp66)->tag != 63) { goto __ats_lab_58_0 ; } __ats_lab_57_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0marg")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp66)->tag != 64) { goto __ats_lab_59_0 ; } __ats_lab_58_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("a0msrt")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp66)->tag != 65) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0exp")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp66)->tag != 45) { goto __ats_lab_61_0 ; } __ats_lab_60_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("si0de")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp66)->tag != 49) { goto __ats_lab_62_0 ; } __ats_lab_61_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0taq")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp66)->tag != 66) { goto __ats_lab_63_0 ; } __ats_lab_62_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("atms0exp")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp66)->tag != 67) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("labs0exp")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp66)->tag != 68) { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0rtext")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp66)->tag != 69) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("s0qua")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp66)->tag != 70) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("q0marg")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp66)->tag != 71) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("p0at")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp66)->tag != 47) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("pi0de")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp66)->tag != 72) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("atmp0at")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp66)->tag != 73) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("labp0at")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp66)->tag != 74) { goto __ats_lab_72_0 ; } __ats_lab_71_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("p0at_as")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp66)->tag != 75) { goto __ats_lab_73_0 ; } __ats_lab_72_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("gm0at")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp66)->tag != 76) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("guap0at")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp66)->tag != 77) { goto __ats_lab_75_0 ; } __ats_lab_74_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("c0lau")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp66)->tag != 46) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("di0de")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp66)->tag != 50) { goto __ats_lab_77_0 ; } __ats_lab_76_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0ynq")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp66)->tag != 51) { goto __ats_lab_78_0 ; } __ats_lab_77_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("dqi0de")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp66)->tag != 52) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("arrqi0de")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp66)->tag != 53) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("tmpqi0de")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp66)->tag != 54) { goto __ats_lab_81_0 ; } __ats_lab_80_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("impqi0de")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp66)->tag != 78) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0exp")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp66)->tag != 79) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0exp0")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp66)->tag != 80) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0exp1")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp66)->tag != 81) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("atmd0exp")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp66)->tag != 82) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("labd0exp")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp66)->tag != 83) { goto __ats_lab_87_0 ; } __ats_lab_86_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0ecl")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp66)->tag != 48) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("stai0de")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp66)->tag != 84) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0ecl_sta")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp66)->tag != 85) { goto __ats_lab_90_0 ; } __ats_lab_89_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("d0ecl_dyn")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp66)->tag != 86) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("guad0ecl")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp66)->tag != 87) { goto __ats_lab_92_0 ; } __ats_lab_91_1: /* tmp64 = */ synent_needed_13 (arg0, arg1, ATSstrcst("staloadarg")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp66)->tag != 88) { goto __ats_lab_93_0 ; } __ats_lab_92_1: /* tmp64 = */ fname_unclosed_16 (arg0, arg1) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)tmp66)->tag != 89) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: /* tmp64 = */ token_discarded_17 (arg0, arg1) ; break ; } while (0) ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 9849(line=405, offs=5) -- 10584(line=434, offs=4) */ ATSstaticdec() ats_int_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_lint_type arg3, ats_lint_type arg4) { /* local vardec */ ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_lint_type, tmp84) ; ATSlocal (ats_bool_type, tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_bool_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; __ats_lab_loop_20: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_94_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp82 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp81), atslab_parerr_loc) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_bchar (tmp83) ; do { /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp85 = atspre_gt_lint_lint (tmp84, arg3) ; if (!tmp85) { goto __ats_lab_96_1 ; } /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr (arg0, tmp81) ; tmp87 = atspre_sub_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp82 ; arg2 = tmp87 ; arg3 = tmp84 ; arg4 = tmp84 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: tmp88 = atspre_lte_lint_lint (tmp84, arg4) ; if (!tmp88) { goto __ats_lab_97_1 ; } /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_parerr (arg0, tmp81) ; tmp90 = atspre_sub_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp82 ; arg2 = tmp90 ; arg3 = arg3 ; arg4 = tmp84 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: tmp91 = atspre_sub_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp82 ; arg2 = tmp91 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_loop_20 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp80 = arg2 ; break ; } while (0) ; return (tmp80) ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_error.dats: 9778(line=400, offs=3) -- 11017(line=453, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_the_parerrlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_int_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_bool_type, tmp94) ; // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_the_parerrlst: /* ats_int_type tmp78 ; */ tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__the_parerrlst_get ((&tmp78)) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (tmp79 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp92 = loop_20 (arg0, tmp79, tmp78, -1l, -1l) ; tmp94 = atspre_gt_int_int (tmp92, 0) ; if (tmp94) { /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("There are possibly some additional errors.")) ; /* tmp93 = */ atspre_fprint_newline (arg0) ; } else { /* empty */ } /* end of [if] */ tmp77 = 1 ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (tmp79 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp77 = 0 ; break ; } while (0) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__fprint_the_parerrlst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = ref_01088_ats_int_type (0) ; statmp7 = (ats_sum_ptr_type)0 ; statmp4 = ref_01088_ats_ptr_type (statmp7) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_parsing_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_label_dats.c0000664000175000017500000004630612655455557017671 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABsym_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_tostrptr_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_type, ...) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__sasp__label_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABsym_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 1673(line=54, offs=16) -- 1692(line=54, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int: tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp0)->tag = 0 ; ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, arg0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 1719(line=56, offs=16) -- 1738(line=56, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_sym: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, arg0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 1790(line=61, offs=19) -- 1863(line=63, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_string: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (arg0) ; tmp2 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp2)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_0, tmp3) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 1939(line=68, offs=14) -- 1995(line=69, offs=50) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_int: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2046(line=73, offs=15) -- 2108(line=74, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp5, atslab_0, tmp6) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp5 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2180(line=80, offs=14) -- 2236(line=81, offs=50) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_sym: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp7 = ats_false_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp7 = ats_true_bool ; break ; } while (0) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_is_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2287(line=85, offs=15) -- 2349(line=86, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp8 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_0, tmp9) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp8 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2423(line=93, offs=3) -- 2736(line=109, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp13 = atspre_tostringf (ATSstrcst(".%i"), tmp12) ; tmp11 = ats_castfn_mac(ats_ptr_type, tmp13) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp14) ; tmp15 = atspre_tostringf (ATSstrcst(".%s"), tmp16) ; tmp11 = ats_castfn_mac(ats_ptr_type, tmp15) ; break ; } while (0) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (tmp11) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_dotize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2811(line=115, offs=3) -- 2854(line=115, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (arg0, arg1) ; tmp17 = atspre_ieq (tmp18, 0) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 2910(line=119, offs=3) -- 2954(line=119, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (arg0, arg1) ; tmp19 = atspre_ineq (tmp20, 0) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 3037(line=126, offs=3) -- 3238(line=135, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_12_1 ; } __ats_lab_10_2: tmp22 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp21 = atspre_compare_int_int (tmp22, tmp23) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_13_1 ; } __ats_lab_11_2: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol (tmp24, tmp25) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_12_2: tmp21 = -1 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: // if (((ats_sum_ptr_type)arg1)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_13_2: tmp21 = 1 ; break ; } while (0) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 3320(line=141, offs=3) -- 3458(line=149, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__tostring_label (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__tostring_label: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp28 = atspre_tostrptr_int (tmp27) ; tmp26 = ats_castfn_mac(ats_ptr_type, tmp28) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp29) ; break ; } while (0) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__tostring_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 3531(line=154, offs=14) -- 3646(line=157, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (ats_int_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp30 = */ atspre_fprint_int (arg0, tmp31) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp32) ; break ; } while (0) ; return /* (tmp30) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 3695(line=161, offs=13) -- 3729(line=161, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__print_label (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__print_label: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (stdout, arg0) ; return /* (tmp33) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__print_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_label.dats: 3752(line=163, offs=13) -- 3786(line=163, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (stderr, arg0) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__prerr_label] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__LABsym_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_label_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_util3_dats.c0000664000175000017500000026207012655455557021316 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_12 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sVarset) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_isbot) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2cst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2var) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2Var) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lab) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lablst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_s2exp_0 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2explst_1 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2explstlst_2 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_labs2explst_3 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_wths2explst_4 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2Var_5 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2exp_exiuni_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type aux_s2lab_7 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2lablst_8 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type aux_s2eff_9 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2Var_occurcheck_s2cst_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type s2Var_occurcheck_s2var_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5, ats_ptr_type arg6) ; static ats_bool_type ismem_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 1555(line=49, offs=1) -- 4283(line=168, offs=4) */ ATSstaticdec() ats_void_type aux_s2exp_0 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab_aux_s2exp_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp0 = */ aux_s2explstlst_2 (tmp2, arg1) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp0 = */ aux_s2explstlst_2 (tmp3, arg1) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (ats_ptrget_mac(ats_ptr_type, arg1), tmp4) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp5 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; /* tmp0 = */ aux_s2Var_5 (tmp6, arg1) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp0 = */ aux_s2explst_1 (tmp7, arg1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_1) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_2) ; /* tmp10 = */ aux_s2exp_0 (tmp8, arg1) ; /* tmp0 = */ aux_s2explst_1 (tmp9, arg1) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp12 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp13 = */ aux_s2exp_0 (tmp11, arg1) ; arg0 = tmp12 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; /* tmp0 = */ aux_s2eff_9 (tmp14, arg1) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; arg0 = tmp15 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp18 = */ aux_s2exp_0 (tmp16, arg1) ; arg0 = tmp17 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_1) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_2) ; /* tmp22 = */ aux_s2exp_0 (tmp19, arg1) ; /* tmp23 = */ aux_s2exp_0 (tmp20, arg1) ; /* tmp0 = */ aux_s2lablst_8 (tmp21, arg1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp1)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp26 = */ aux_s2exp_0 (tmp24, arg1) ; /* tmp0 = */ aux_s2explst_1 (tmp25, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp1)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* ats_ptr_type tmp29 ; */ tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; /* tmp30 = */ aux_s2exp_0 (tmp28, (&tmp29)) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist (tmp29, tmp27) ; tmp29 = tmp31 ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union (ats_ptrget_mac(ats_ptr_type, arg1), tmp29) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp32 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp1)->tag != 19) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_2) ; tmp34 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_4) ; tmp35 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_5) ; /* tmp36 = */ aux_s2eff_9 (tmp33, arg1) ; /* tmp37 = */ aux_s2explst_1 (tmp34, arg1) ; arg0 = tmp35 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp1)->tag != 20) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_1) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_2) ; /* tmp40 = */ aux_s2explst_1 (tmp38, arg1) ; arg0 = tmp39 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp1)->tag != 21) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp42 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp43 = */ aux_s2explst_1 (tmp41, arg1) ; /* tmp0 = */ aux_s2explst_1 (tmp42, arg1) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp1)->tag != 22) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_1) ; arg0 = tmp44 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp1)->tag != 23) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; arg0 = tmp45 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp1)->tag != 24) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp47 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp48 = */ aux_s2exp_0 (tmp46, arg1) ; /* tmp0 = */ aux_s2explst_1 (tmp47, arg1) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp1)->tag != 25) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_2) ; /* tmp0 = */ aux_labs2explst_3 (tmp49, arg1) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp1)->tag != 26) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; arg0 = tmp50 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp1)->tag != 29) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_1) ; arg0 = tmp51 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp1)->tag != 27) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_1) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_2) ; /* tmp0 = */ aux_s2exp_exiuni_6 (tmp52, tmp53, tmp54, arg1) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp1)->tag != 28) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_1) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_2) ; /* tmp0 = */ aux_s2exp_exiuni_6 (tmp55, tmp56, tmp57, arg1) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp1)->tag != 30) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; arg0 = tmp58 ; arg1 = arg1 ; goto __ats_lab_aux_s2exp_0 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp1)->tag != 31) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; /* tmp61 = */ aux_s2exp_0 (tmp59, arg1) ; /* tmp0 = */ aux_wths2explst_4 (tmp60, arg1) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (((ats_sum_ptr_type)tmp1)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: break ; } while (0) ; return /* (tmp0) */ ; } /* end of [aux_s2exp_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 4311(line=171, offs=1) -- 4522(line=178, offs=22) */ ATSstaticdec() ats_void_type aux_s2explst_1 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; __ats_lab_aux_s2explst_1: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp65 = */ aux_s2exp_0 (tmp63, arg1) ; arg0 = tmp64 ; arg1 = arg1 ; goto __ats_lab_aux_s2explst_1 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: break ; } while (0) ; return /* (tmp62) */ ; } /* end of [aux_s2explst_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 4553(line=182, offs=1) -- 4782(line=189, offs=22) */ ATSstaticdec() ats_void_type aux_s2explstlst_2 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab_aux_s2explstlst_2: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp69 = */ aux_s2explst_1 (tmp67, arg1) ; arg0 = tmp68 ; arg1 = arg1 ; goto __ats_lab_aux_s2explstlst_2 ; // tail call break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: break ; } while (0) ; return /* (tmp66) */ ; } /* end of [aux_s2explstlst_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 4816(line=193, offs=1) -- 5104(line=203, offs=22) */ ATSstaticdec() ats_void_type aux_labs2explst_3 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; __ats_lab_aux_labs2explst_3: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_9, tmp71, atslab_2) ; /* tmp74 = */ aux_s2exp_0 (tmp73, arg1) ; arg0 = tmp72 ; arg1 = arg1 ; goto __ats_lab_aux_labs2explst_3 ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: break ; } while (0) ; return /* (tmp70) */ ; } /* end of [aux_labs2explst_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 5138(line=207, offs=1) -- 5628(line=223, offs=2) */ ATSstaticdec() ats_void_type aux_wths2explst_4 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_aux_wths2explst_4: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp77 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_2) ; /* tmp78 = */ aux_s2exp_0 (tmp76, arg1) ; arg0 = tmp77 ; arg1 = arg1 ; goto __ats_lab_aux_wths2explst_4 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_2) ; /* tmp81 = */ aux_s2exp_0 (tmp79, arg1) ; arg0 = tmp80 ; arg1 = arg1 ; goto __ats_lab_aux_wths2explst_4 ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; arg0 = tmp82 ; arg1 = arg1 ; goto __ats_lab_aux_wths2explst_4 ; // tail call break ; } while (0) ; return /* (tmp75) */ ; } /* end of [aux_wths2explst_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 5662(line=226, offs=1) -- 6003(line=243, offs=4) */ ATSstaticdec() ats_void_type aux_s2Var_5 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab_aux_s2Var_5: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (arg0) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp84 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_11, tmp84, atslab_0) ; /* tmp83 = */ aux_s2exp_0 (tmp85, arg1) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (tmp84 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt (arg0) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp87) ; tmp88 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp88, atslab_0, tmp86) ; /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link (arg0, tmp88) ; break ; } while (0) ; return /* (tmp83) */ ; } /* end of [aux_s2Var_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 6031(line=246, offs=1) -- 6340(line=259, offs=4) */ ATSstaticdec() ats_void_type aux_s2exp_exiuni_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_aux_s2exp_exiuni_6: /* ats_ptr_type tmp90 ; */ tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; /* tmp91 = */ aux_s2explst_1 (arg1, (&tmp90)) ; /* tmp92 = */ aux_s2exp_0 (arg2, (&tmp90)) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_delist (tmp90, arg0) ; tmp90 = tmp93 ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_union (ats_ptrget_mac(ats_ptr_type, arg3), tmp90) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp94 ; return /* (tmp89) */ ; } /* end of [aux_s2exp_exiuni_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 6375(line=262, offs=1) -- 6511(line=267, offs=46) */ ATSstaticdec() ats_void_type aux_s2lab_7 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab_aux_s2lab_7: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; /* tmp95 = */ aux_s2explst_1 (tmp96, arg1) ; break ; } while (0) ; return /* (tmp95) */ ; } /* end of [aux_s2lab_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 6539(line=271, offs=1) -- 6750(line=278, offs=22) */ ATSstaticdec() ats_void_type aux_s2lablst_8 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; __ats_lab_aux_s2lablst_8: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp100 = */ aux_s2lab_7 (tmp98, arg1) ; arg0 = tmp99 ; arg1 = arg1 ; goto __ats_lab_aux_s2lablst_8 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: break ; } while (0) ; return /* (tmp97) */ ; } /* end of [aux_s2lablst_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 6781(line=282, offs=1) -- 7023(line=290, offs=8) */ ATSstaticdec() ats_void_type aux_s2eff_9 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; __ats_lab_aux_s2eff_9: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; /* tmp101 = */ aux_s2exp_0 (tmp102, arg1) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp105 = */ aux_s2eff_9 (tmp103, arg1) ; arg0 = tmp104 ; arg1 = arg1 ; goto __ats_lab_aux_s2eff_9 ; // tail call break ; } while (0) ; return /* (tmp101) */ ; } /* end of [aux_s2eff_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 7119(line=297, offs=3) -- 7205(line=300, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_freevars (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_freevars: /* ats_ptr_type tmp107 ; */ tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; /* tmp108 = */ aux_s2exp_0 (arg0, (&tmp107)) ; tmp106 = tmp107 ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_freevars] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 7289(line=309, offs=1) -- 7516(line=319, offs=2) */ ATSstaticdec() ats_bool_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; __ats_lab_loop_11: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem (arg1, tmp110) ; if (tmp112) { tmp109 = ats_true_bool ; } else { arg0 = tmp111 ; arg1 = arg1 ; goto __ats_lab_loop_11 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp109 = ats_false_bool ; break ; } while (0) ; return (tmp109) ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 7562(line=324, offs=1) -- 7788(line=336, offs=4) */ ATSstaticdec() ats_bool_type s2Var_occurcheck_s2cst_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_s2Var_occurcheck_s2cst_12: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sVarset (arg1) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem (tmp114, arg0) ; if (tmp115) { tmp113 = ats_true_bool ; } else { tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst (arg0) ; tmp113 = loop_11 (tmp116, tmp114) ; } /* end of [if] */ return (tmp113) ; } /* end of [s2Var_occurcheck_s2cst_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 7829(line=339, offs=1) -- 8179(line=354, offs=4) */ ATSstaticdec() ats_bool_type s2Var_occurcheck_s2var_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_s2Var_occurcheck_s2var_13: tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sVarset (arg1) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem (tmp118, arg0) ; if (tmp119) { tmp117 = ats_true_bool ; } else { tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst (arg0) ; tmp117 = loop_11 (tmp120, tmp118) ; } /* end of [if] */ return (tmp117) ; } /* end of [s2Var_occurcheck_s2var_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 8965(line=388, offs=1) -- 9399(line=413, offs=4) */ ATSstaticdec() ats_void_type auxlst_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; __ats_lab_auxlst_14: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp124 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type, ats_ref_type, ats_ref_type))arg6) (arg0, tmp122, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp123 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; arg6 = arg6 ; goto __ats_lab_auxlst_14 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: break ; } while (0) ; return /* (tmp121) */ ; } /* end of [auxlst_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 9462(line=418, offs=12) -- 9700(line=430, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp125) ; ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2cst: tmp126 = s2Var_occurcheck_s2cst_12 (arg0, arg1) ; if (tmp126) { tmp127 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp127 ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp128, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp128, atslab_1, ats_ptrget_mac(ats_ptr_type, arg3)) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp128 ; } else { /* empty */ } /* end of [if] */ return /* (tmp125) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 9746(line=433, offs=12) -- 9962(line=443, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_bool_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2var: tmp130 = s2Var_occurcheck_s2var_13 (arg0, arg1) ; if (tmp130) { tmp131 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp131 ; tmp132 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp132, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp132, atslab_1, ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp132 ; } else { /* empty */ } /* end of [if] */ return /* (tmp129) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 10008(line=446, offs=12) -- 10333(line=461, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2Var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2Var: tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (arg1) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (tmp134 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_11, tmp134, atslab_0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp135, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (tmp134 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var (arg0, arg1) ; if (tmp136) { tmp137 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp137 ; } else { tmp138 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp138, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp138, atslab_1, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp138 ; } /* end of [if] */ break ; } while (0) ; return /* (tmp133) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 10400(line=466, offs=12) -- 13438(line=588, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; // ATSlocal_void (tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp: tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp140)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp140)->tag != 1) { goto __ats_lab_60_0 ; } __ats_lab_59_1: break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp140)->tag != 2) { goto __ats_lab_61_0 ; } __ats_lab_60_1: break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp140)->tag != 3) { goto __ats_lab_62_0 ; } __ats_lab_61_1: break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp140)->tag != 4) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2cst (arg0, tmp141, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp140)->tag != 5) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst (arg0, tmp142, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp140)->tag != 6) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst (arg0, tmp143, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp140)->tag != 7) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2var (arg0, tmp144, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp140)->tag != 8) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp145 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2Var (arg0, tmp145, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp140)->tag != 9) { goto __ats_lab_68_0 ; } __ats_lab_67_1: break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp140)->tag != 10) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp146, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp140)->tag != 11) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_1) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_2) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp147, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp148, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp140)->tag != 12) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp150, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp151 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp140)->tag != 13) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; arg0 = arg0 ; arg1 = tmp153 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp140)->tag != 14) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff (arg0, tmp154, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp140)->tag != 15) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp155, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp156 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp140)->tag != 16) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_1) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_2) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp158, arg2, arg3, arg4, arg5) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp159, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lablst (arg0, tmp160, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp140)->tag != 17) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp163, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp164, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp140)->tag != 18) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; arg0 = arg0 ; arg1 = tmp166 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp140)->tag != 19) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_5, tmp140, atslab_2) ; tmp168 = ats_caselptrlab_mac(anairiats_sum_5, tmp140, atslab_4) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_5, tmp140, atslab_5) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff (arg0, tmp167, arg2, arg3, arg4, arg5) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp168, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp169 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp140)->tag != 20) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_1) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_2) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp172, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp173 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp140)->tag != 21) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp175, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp176, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp140)->tag != 22) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_6, tmp140, atslab_1) ; arg0 = arg0 ; arg1 = tmp178 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp140)->tag != 23) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; arg0 = arg0 ; arg1 = tmp179 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp140)->tag != 24) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp180, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp181, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp140)->tag != 25) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_7, tmp140, atslab_2) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2explst (arg0, tmp183, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp140)->tag != 26) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; arg0 = arg0 ; arg1 = tmp184 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp140)->tag != 29) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_6, tmp140, atslab_1) ; arg0 = arg0 ; arg1 = tmp185 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp140)->tag != 27) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_1) ; tmp187 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_2) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp186, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp187 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp140)->tag != 28) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_1) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_4, tmp140, atslab_2) ; /* tmp191 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp189, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp190 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp140)->tag != 30) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_3, tmp140, atslab_0) ; arg0 = arg0 ; arg1 = tmp192 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp ; // tail call break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp140)->tag != 31) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp193 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_0) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_2, tmp140, atslab_1) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp193, arg2, arg3, arg4, arg5) ; /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst (arg0, tmp194, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: // if (((ats_sum_ptr_type)tmp140)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_90_1: break ; } while (0) ; return /* (tmp139) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 13489(line=592, offs=3) -- 13579(line=593, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp196) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst: /* tmp196 = */ auxlst_14 (arg0, arg1, arg2, arg3, arg4, arg5, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp) ; return /* (tmp196) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 13636(line=598, offs=3) -- 13731(line=599, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst: /* tmp197 = */ auxlst_14 (arg0, arg1, arg2, arg3, arg4, arg5, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst) ; return /* (tmp197) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 13804(line=605, offs=12) -- 14179(line=623, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff: do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp199, arg2, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff (arg0, tmp200, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp201 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff ; // tail call break ; } while (0) ; return /* (tmp198) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 14246(line=628, offs=12) -- 14431(line=639, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lab: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_95_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2explst (arg0, tmp204, arg2, arg3, arg4, arg5) ; break ; } while (0) ; return /* (tmp203) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 14482(line=643, offs=3) -- 14576(line=644, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lablst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lablst: /* tmp205 = */ auxlst_14 (arg0, arg1, arg2, arg3, arg4, arg5, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lab) ; return /* (tmp205) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2lablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 14649(line=650, offs=15) -- 14786(line=656, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2exp: tmp207 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_2) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp207, arg2, arg3, arg4, arg5) ; return /* (tmp206) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 14843(line=660, offs=3) -- 14938(line=661, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2explst: /* tmp208 = */ auxlst_14 (arg0, arg1, arg2, arg3, arg4, arg5, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2exp) ; return /* (tmp208) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_labs2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 15017(line=668, offs=1) -- 15745(line=704, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst: do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp211 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_2) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp210, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp211 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst ; // tail call break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_2) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, tmp213, arg2, arg3, arg4, arg5) ; arg0 = arg0 ; arg1 = tmp214 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst ; // tail call break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_99_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; arg0 = arg0 ; arg1 = tmp216 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst ; // tail call break ; } while (0) ; return /* (tmp209) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_wths2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 15835(line=710, offs=3) -- 16193(line=721, offs=4) */ ATSglobaldec() anairiats_rec_12 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_12, tmp217) ; ATSlocal (ats_int_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; // ATSlocal_void (tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp: /* ats_int_type tmp218 ; */ tmp218 = 0 ; /* ats_ptr_type tmp219 ; */ tmp219 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp220 ; */ tmp220 = (ats_sum_ptr_type)0 ; /* ats_ptr_type tmp221 ; */ tmp221 = (ats_sum_ptr_type)0 ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__aux2_s2exp (arg0, arg1, (&tmp218), (&tmp219), (&tmp220), (&tmp221)) ; tmp217.atslab_0 = tmp218 ; tmp217.atslab_1 = tmp219 ; tmp217.atslab_2 = tmp220 ; tmp217.atslab_3 = tmp221 ; return (tmp217) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2Var_occurcheck_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 16285(line=730, offs=1) -- 16500(line=740, offs=4) */ ATSstaticdec() ats_bool_type ismem_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_bool_type, tmp226) ; __ats_lab_ismem_28: do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp224 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp225 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp224, arg1) ; if (tmp226) { tmp223 = ats_true_bool ; } else { arg0 = tmp225 ; arg1 = arg1 ; goto __ats_lab_ismem_28 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp223 = ats_false_bool ; break ; } while (0) ; return (tmp223) ; } /* end of [ismem_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp233) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp233 = ats_false_bool ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp233 = ats_true_bool ; break ; } while (0) ; return (tmp233) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 16568(line=746, offs=3) -- 16915(line=767, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_isbot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_isbot: tmp228 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp228)->tag != 28) { goto __ats_lab_107_0 ; } __ats_lab_102_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_4, tmp228, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_4, tmp228, atslab_1) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_4, tmp228, atslab_2) ; tmp232 = list_is_nil_01294_ (tmp230) ; if (tmp232) { tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp231), atslab_s2exp_node) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp234)->tag != 7) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_3, tmp234, atslab_0) ; tmp227 = ismem_28 (tmp229, tmp235) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp227 = ats_false_bool ; break ; } while (0) ; } else { tmp227 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: tmp227 = ats_false_bool ; break ; } while (0) ; return (tmp227) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_isbot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_util3.dats: 16990(line=772, offs=17) -- 17249(line=788, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp237)->tag != 19) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_5, tmp237, atslab_5) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_isbot (tmp238) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp237)->tag != 28) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_4, tmp237, atslab_2) ; arg0 = tmp239 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot ; // tail call break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp237)->tag != 20) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_4, tmp237, atslab_2) ; arg0 = tmp240 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot ; // tail call break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: __ats_lab_111_1: tmp236 = ats_false_bool ; break ; } while (0) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_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 () ; #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_staexp2_util3_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_kwds_dats.c0000664000175000017500000027771512655455557021317 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AND_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_END_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AS_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_OF_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IN_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IF_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SIF_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_CASE_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SCASE_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_THEN_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_ELSE_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_REC_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHEN_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WITH_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_FOR_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHILE_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_TRY_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BAR_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COLON_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COMMA_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SEMICOLON_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LPAREN_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RPAREN_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACKET_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACKET_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACE_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACE_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BANG_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DOT_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQ_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQGT_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GT_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTDOT_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTLT_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPTHEN_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPENDIF_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EOF_36) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_END) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_THEN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_FORSTAR) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHILESTAR) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BARSEMI) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACKET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACKET) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BANG) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_DOT) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQGT) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GT) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTDOT) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPTHEN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPENDIF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EOF) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun) (ats_ref_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 1728(line=56, offs=8) -- 1778(line=57, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 32) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 1795(line=59, offs=7) -- 1855(line=60, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND: tmp2 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AND_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND, tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 1877(line=62, offs=12) -- 1914(line=62, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND_test: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AND) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AND_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 1933(line=65, offs=8) -- 1983(line=66, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_END (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_END: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 43) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_END] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2000(line=68, offs=7) -- 2060(line=69, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END: tmp6 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_END_1) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_END, tmp6) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2080(line=72, offs=9) -- 2131(line=73, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_THEN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_THEN: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 75) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp7 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp7 = ats_false_bool ; break ; } while (0) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_THEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2149(line=75, offs=8) -- 2211(line=76, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN: tmp9 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_THEN_9) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_THEN, tmp9) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2231(line=79, offs=9) -- 2282(line=80, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg0)->tag != 42) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp10 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp10 = ats_false_bool ; break ; } while (0) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2300(line=82, offs=8) -- 2362(line=83, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ELSE (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ELSE: tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_ELSE_10) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE, tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ELSE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2380(line=86, offs=7) -- 2429(line=87, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 33) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp13 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp13 = ats_false_bool ; break ; } while (0) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2445(line=89, offs=6) -- 2503(line=90, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AS (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AS: tmp15 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_AS_2) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS, tmp15) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_AS] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2521(line=93, offs=7) -- 2570(line=94, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 63) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp16 = ats_true_bool ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp16 = ats_false_bool ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2586(line=96, offs=6) -- 2644(line=97, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF: tmp18 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_OF_3) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF, tmp18) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2662(line=100, offs=7) -- 2711(line=101, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IN: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 56) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp19 = ats_true_bool ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp19 = ats_false_bool ; break ; } while (0) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2727(line=103, offs=6) -- 2785(line=104, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN: tmp21 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IN_4) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IN, tmp21) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2803(line=107, offs=7) -- 2852(line=108, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 53) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp22 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp22 = ats_false_bool ; break ; } while (0) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2868(line=110, offs=6) -- 2926(line=111, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IF (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IF: tmp24 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_IF_5) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF, tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 2944(line=113, offs=8) -- 2994(line=114, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 66) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp25 = ats_true_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp25 = ats_false_bool ; break ; } while (0) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3011(line=116, offs=7) -- 3071(line=117, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SIF (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SIF: tmp27 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SIF_6) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF, tmp27) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SIF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3091(line=120, offs=9) -- 3141(line=121, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 36) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp28 = ats_true_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp28 = ats_false_bool ; break ; } while (0) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3159(line=123, offs=8) -- 3221(line=124, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_CASE (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_CASE: tmp30 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_CASE_7) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_CASE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3241(line=126, offs=10) -- 3293(line=127, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 67) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp31 = ats_true_bool ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp31 = ats_false_bool ; break ; } while (0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3312(line=129, offs=9) -- 3376(line=130, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SCASE (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SCASE: tmp33 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SCASE_8) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE, tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SCASE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3395(line=133, offs=8) -- 3445(line=134, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg0)->tag != 65) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp34 = ats_true_bool ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp34 = ats_false_bool ; break ; } while (0) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3462(line=136, offs=7) -- 3522(line=137, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC: tmp36 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_REC_11) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3544(line=139, offs=12) -- 3581(line=139, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC_test: tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_REC) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_REC_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3601(line=142, offs=9) -- 3652(line=143, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg0)->tag != 86) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp38 = ats_true_bool ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp38 = ats_false_bool ; break ; } while (0) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3670(line=145, offs=8) -- 3732(line=146, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WITH_13) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WITH, tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3752(line=149, offs=9) -- 3803(line=150, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)arg0)->tag != 82) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp41 = ats_true_bool ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp41 = ats_false_bool ; break ; } while (0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3821(line=152, offs=8) -- 3883(line=153, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHEN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHEN: tmp43 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHEN_12) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN, tmp43) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 3927(line=158, offs=12) -- 3981(line=159, offs=38) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_FORSTAR (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_FORSTAR: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg0)->tag != 51) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp44 = ats_true_bool ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp44 = ats_false_bool ; break ; } while (0) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_FORSTAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4002(line=161, offs=11) -- 4066(line=162, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_FORSTAR (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_FORSTAR: tmp46 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_FOR_14) ; tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_FORSTAR, tmp46) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_FORSTAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4091(line=165, offs=14) -- 4147(line=166, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHILESTAR (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHILESTAR: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg0)->tag != 85) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp47 = ats_true_bool ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp47 = ats_false_bool ; break ; } while (0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHILESTAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4170(line=168, offs=13) -- 4238(line=169, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHILESTAR (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHILESTAR: tmp49 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_WHILE_15) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHILESTAR, tmp49) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHILESTAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4257(line=172, offs=8) -- 4307(line=173, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg0)->tag != 77) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp50 = ats_true_bool ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp50 = ats_false_bool ; break ; } while (0) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4324(line=175, offs=7) -- 4384(line=176, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_TRY (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_TRY: tmp52 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_TRY_16) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY, tmp52) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_TRY] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4424(line=181, offs=8) -- 4474(line=182, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp53 = ats_true_bool ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp53 = ats_false_bool ; break ; } while (0) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4491(line=184, offs=7) -- 4551(line=185, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR: tmp55 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BAR_17) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR, tmp55) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4573(line=187, offs=12) -- 4610(line=187, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test: tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BAR) ; return (tmp56) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4631(line=190, offs=10) -- 4683(line=191, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp57 = ats_true_bool ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp57 = ats_false_bool ; break ; } while (0) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4702(line=193, offs=9) -- 4766(line=194, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON: tmp59 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COLON_18) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON, tmp59) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4790(line=196, offs=14) -- 4829(line=196, offs=53) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON_test: tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4850(line=199, offs=10) -- 4902(line=200, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)arg0)->tag != 151) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp61 = ats_false_bool ; break ; } while (0) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 4921(line=202, offs=9) -- 4985(line=203, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA: tmp63 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_COMMA_19) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA, tmp63) ; return (tmp62) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5009(line=205, offs=14) -- 5048(line=205, offs=53) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COMMA) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5073(line=208, offs=14) -- 5129(line=209, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 152) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp65 = ats_true_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp65 = ats_false_bool ; break ; } while (0) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5152(line=211, offs=13) -- 5224(line=212, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON: tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SEMICOLON_20) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON, tmp67) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5254(line=215, offs=3) -- 5297(line=215, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON_test: tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SEMICOLON) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5349(line=219, offs=12) -- 5424(line=220, offs=59) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BARSEMI (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BARSEMI: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp69 = ats_true_bool ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 152) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp69 = ats_true_bool ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp69 = ats_false_bool ; break ; } while (0) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BARSEMI] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5450(line=222, offs=16) -- 5491(line=222, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test: tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BARSEMI) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BARSEMI_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5534(line=227, offs=11) -- 5587(line=228, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 153) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp71 = ats_true_bool ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp71 = ats_false_bool ; break ; } while (0) ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5607(line=230, offs=10) -- 5673(line=231, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN: tmp73 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LPAREN_21) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN, tmp73) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5695(line=234, offs=11) -- 5748(line=235, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RPAREN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RPAREN: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg0)->tag != 154) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp74 = ats_true_bool ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp74 = ats_false_bool ; break ; } while (0) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5768(line=237, offs=10) -- 5834(line=238, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN: tmp76 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RPAREN_22) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RPAREN, tmp76) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5879(line=243, offs=13) -- 5934(line=244, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACKET (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACKET: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 155) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp77 = ats_true_bool ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: tmp77 = ats_false_bool ; break ; } while (0) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACKET] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 5956(line=246, offs=12) -- 6026(line=247, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET: tmp79 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACKET_23) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACKET, tmp79) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6050(line=250, offs=13) -- 6105(line=251, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACKET (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACKET: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)arg0)->tag != 156) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp80 = ats_true_bool ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp80 = ats_false_bool ; break ; } while (0) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACKET] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6127(line=253, offs=12) -- 6197(line=254, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET: tmp82 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACKET_24) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACKET, tmp82) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6240(line=259, offs=11) -- 6293(line=260, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 157) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp83 = ats_true_bool ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: __ats_lab_54_1: tmp83 = ats_false_bool ; break ; } while (0) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6313(line=262, offs=10) -- 6379(line=263, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE: tmp85 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_LBRACE_25) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE, tmp85) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6401(line=266, offs=11) -- 6454(line=267, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACE: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg0)->tag != 158) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp86 = ats_true_bool ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp86 = ats_false_bool ; break ; } while (0) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6474(line=269, offs=10) -- 6540(line=270, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE: tmp88 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_RBRACE_26) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_RBRACE, tmp88) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6581(line=275, offs=9) -- 6632(line=276, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BANG (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BANG: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp89 = ats_true_bool ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp89 = ats_false_bool ; break ; } while (0) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BANG] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6650(line=278, offs=8) -- 6712(line=279, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BANG (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BANG: tmp91 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_BANG_27) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_BANG, tmp91) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BANG] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6750(line=283, offs=8) -- 6800(line=284, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_DOT (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_DOT: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp92 = ats_true_bool ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp92 = ats_false_bool ; break ; } while (0) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_DOT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6817(line=286, offs=7) -- 6877(line=287, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_DOT (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_DOT: tmp94 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_DOT_28) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_DOT, tmp94) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_DOT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6913(line=291, offs=7) -- 6962(line=292, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)arg0)->tag != 13) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp95 = ats_true_bool ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: __ats_lab_62_1: tmp95 = ats_false_bool ; break ; } while (0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 6978(line=294, offs=6) -- 7036(line=295, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ: tmp97 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQ_29) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ, tmp97) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7073(line=299, offs=9) -- 7124(line=300, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQGT (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQGT: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg0)->tag != 14) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp98 = ats_true_bool ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp98 = ats_false_bool ; break ; } while (0) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQGT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7162(line=303, offs=8) -- 7224(line=304, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT: tmp100 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EQGT_30) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQGT, tmp100) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7261(line=308, offs=7) -- 7310(line=309, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GT (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GT: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 22) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp101 = ats_true_bool ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp101 = ats_false_bool ; break ; } while (0) ; return (tmp101) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7344(line=312, offs=6) -- 7402(line=313, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT: tmp103 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GT_31) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GT, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7440(line=317, offs=10) -- 7492(line=318, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTDOT (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTDOT: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg0)->tag != 25) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp104 = ats_true_bool ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp104 = ats_false_bool ; break ; } while (0) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTDOT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7532(line=321, offs=9) -- 7596(line=322, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT: tmp106 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTDOT_32) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTDOT, tmp106) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7636(line=326, offs=9) -- 7687(line=327, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg0)->tag != 23) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp107 = ats_true_bool ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp107 = ats_false_bool ; break ; } while (0) ; return (tmp107) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7725(line=330, offs=8) -- 7787(line=331, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT: tmp109 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_GTLT_33) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT, tmp109) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7829(line=334, offs=13) -- 7867(line=334, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_test_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_GTLT) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 7911(line=339, offs=12) -- 7965(line=340, offs=38) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPTHEN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPTHEN: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg0)->tag != 122) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp111 = ats_true_bool ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp111 = ats_false_bool ; break ; } while (0) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPTHEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8009(line=343, offs=11) -- 8077(line=344, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPTHEN (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPTHEN: tmp113 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPTHEN_34) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPTHEN, tmp113) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPTHEN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8123(line=348, offs=13) -- 8178(line=349, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPENDIF (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPENDIF: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)arg0)->tag != 127) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp114 = ats_true_bool ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp114 = ats_false_bool ; break ; } while (0) ; return (tmp114) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPENDIF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8224(line=352, offs=12) -- 8294(line=353, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPENDIF (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPENDIF: tmp116 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_SRPENDIF_35) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SRPENDIF, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SRPENDIF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8357(line=359, offs=8) -- 8407(line=360, offs=34) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EOF (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EOF: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg0)->tag != 174) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp117 = ats_true_bool ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp117 = ats_false_bool ; break ; } while (0) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EOF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8443(line=363, offs=7) -- 8503(line=364, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF: tmp119 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_EOF_36) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptoken_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EOF, tmp119) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8566(line=370, offs=13) -- 8623(line=372, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN: do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)arg0)->tag != 159) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp120 = ats_true_bool ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp120 = ats_false_bool ; break ; } while (0) ; return (tmp120) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8673(line=375, offs=16) -- 8761(line=379, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg0)->tag != 159) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)arg0)->tag != 160) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: __ats_lab_81_1: tmp121 = ats_false_bool ; break ; } while (0) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8812(line=383, offs=13) -- 8869(line=385, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)arg0)->tag != 164) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp122 = ats_true_bool ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: tmp122 = ats_false_bool ; break ; } while (0) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_kwds.dats: 8919(line=388, offs=16) -- 9007(line=392, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)arg0)->tag != 164) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp123 = ats_true_bool ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)arg0)->tag != 165) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp123 = ats_true_bool ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp123 = ats_false_bool ; break ; } while (0) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_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 () ; #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_parsing_kwds_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_location_sats.c0000664000175000017500000000241312655455557020430 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "pats_location.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_location_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_tmplab_dats.c0000664000175000017500000003703112655455557021245 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_tmplab_loc ; ats_int_type atslab_tmplab_stamp ; } anairiats_rec_0 ; /* external typedefs */ /* external dynamic constructor declarations */ /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmplab_stamp_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__tmplab_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmplab.dats: 1851(line=68, offs=13) -- 1954(line=72, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tmplab_stamp_make () ; tmp0 = ATS_MALLOC(sizeof(anairiats_rec_0)) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmplab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_tmplab_stamp, tmp1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmplab.dats: 2005(line=75, offs=16) -- 2025(line=75, offs=36) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_loc: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmplab_loc) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmplab.dats: 2053(line=77, offs=18) -- 2075(line=77, offs=40) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp: tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_tmplab_stamp) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_tmplab.dats: 2145(line=84, offs=15) -- 2318(line=90, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_int_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp (arg1) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("tmplab(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp5) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_tmplab_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_sort_dats.c0000664000175000017500000041476012655455557021252 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2rtdat_sym ; ats_ptr_type atslab_s2rtdat_sconlst ; ats_int_type atslab_s2rtdat_stamp ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_prerr_int) (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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prgmkind) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__lte_impkind_impkind) (ats_int_type, ats_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2rtdat_stamp_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtdat_s2rtdat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_neg) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_pos) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_neg) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_set_s2rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_occurcheck) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_is_null) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_isnot_null) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__lte_s2rtbas_s2rtbas) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat) (ats_int_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2rtdatset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2rtVar = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2rtdat_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_pos) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_neg) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_types) ; /* internal function declarations */ static ats_void_type prerr_interror_0 () ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_bool_type s2rt_test_fun_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_35 (ats_ptr_type arg0) ; static ats_ptr_type aux_37 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type aux_42 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_42_closure_make (ats_ptr_type env0) ; static ats_bool_type aux_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type auxlst_43 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_43_closure_make (ats_ptr_type env0) ; static ats_bool_type auxlst_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type auxVar_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type __ats_fun_53 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_53_closure_make () ; static ats_int_type __ats_fun_53_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_03333_ () ; static ats_int_type compare_elt_elt_03332_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_02315_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_02298_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_58 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_58_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_58_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03342_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type listize_64 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_listize_03357_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp20) ; ATSstatic (ats_ptr_type, statmp21) ; ATSstatic (ats_ptr_type, statmp22) ; ATSstatic (ats_ptr_type, statmp23) ; ATSstatic (ats_ptr_type, statmp24) ; ATSstatic (ats_ptr_type, statmp25) ; ATSstatic (ats_ptr_type, statmp26) ; ATSstatic (ats_ptr_type, statmp27) ; ATSstatic (ats_ptr_type, statmp28) ; ATSstatic (ats_ptr_type, statmp29) ; ATSstatic (ats_ptr_type, statmp30) ; ATSstatic (ats_ptr_type, statmp31) ; ATSstatic (ats_ptr_type, statmp32) ; ATSstatic (ats_ptr_type, statmp33) ; ATSstatic (ats_ptr_type, statmp34) ; ATSstatic (ats_ptr_type, statmp35) ; ATSstatic (ats_ptr_type, statmp36) ; ATSstatic (ats_ptr_type, statmp37) ; ATSstatic (ats_ptr_type, statmp38) ; ATSstatic (ats_ptr_type, statmp39) ; ATSstatic (ats_ptr_type, statmp40) ; ATSstatic (ats_ptr_type, statmp41) ; ATSstatic (ats_ptr_type, statmp42) ; ATSstatic (ats_ptr_type, statmp43) ; ATSstatic (ats_ptr_type, statmp44) ; ATSstatic (ats_ptr_type, statmp45) ; ATSstatic (ats_ptr_type, statmp46) ; ATSstatic (ats_ptr_type, statmp47) ; ATSstatic (ats_ptr_type, statmp48) ; ATSstatic (ats_ptr_type, statmp49) ; ATSstatic (ats_ptr_type, statmp50) ; ATSstatic (ats_ptr_type, statmp51) ; ATSstatic (ats_ptr_type, statmp52) ; ATSstatic (ats_ptr_type, statmp53) ; ATSstatic (ats_ptr_type, statmp54) ; ATSstatic (ats_ptr_type, statmp55) ; ATSstatic (ats_ptr_type, statmp56) ; ATSstatic (ats_ptr_type, statmp57) ; ATSstatic (ats_ptr_type, statmp58) ; ATSstatic (ats_ptr_type, statmp59) ; ATSstatic (ats_ptr_type, statmp60) ; ATSstatic (ats_ptr_type, statmp61) ; ATSstatic (ats_ptr_type, statmp62) ; ATSstatic (ats_ptr_type, statmp63) ; ATSstatic (ats_ptr_type, statmp64) ; ATSstatic (ats_ptr_type, statmp65) ; ATSstatic (ats_ptr_type, statmp66) ; ATSstatic (ats_ptr_type, statmp67) ; ATSstatic (ats_ptr_type, statmp68) ; ATSstatic (ats_ptr_type, statmp69) ; ATSstatic (ats_ptr_type, statmp70) ; ATSstatic (ats_ptr_type, statmp71) ; ATSstatic (ats_ptr_type, statmp72) ; ATSstatic (ats_ptr_type, statmp73) ; ATSstatic (ats_ptr_type, statmp222) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 1791(line=60, offs=5) -- 1852(line=60, offs=66) */ ATSstaticdec() ats_void_type prerr_interror_0 () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_interror_0: /* tmp0 = */ atspre_prerr_string (ATSstrcst("INTERROR(pats_staexp2_sort)")) ; return /* (tmp0) */ ; } /* end of [prerr_interror_0] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp4 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp4) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 2149(line=80, offs=14) -- 2464(line=92, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_make: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2rtdat_stamp_make () ; tmp3 = ptr_alloc_01070_anairiats_rec_1 () ; tmp5 = ats_selsin_mac(tmp3, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_s2rtdat_sym) = arg0 ; tmp6 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_s2rtdat_sconlst) = tmp6 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp5), atslab_s2rtdat_stamp) = tmp2 ; tmp1 = atspre_ref_make_view_ptr (tmp5) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 2517(line=95, offs=17) -- 2596(line=97, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym: tmp8 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp7 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp8), atslab_s2rtdat_sym) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 2656(line=100, offs=21) -- 2739(line=102, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst: tmp10 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp9 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp10), atslab_s2rtdat_sconlst) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sconlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 2802(line=104, offs=21) -- 2899(line=106, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_set_sconlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_set_sconlst: tmp12 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp12), atslab_s2rtdat_sconlst) = arg1 ; return /* (tmp11) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_set_sconlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 2961(line=109, offs=19) -- 3042(line=111, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp13 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_s2rtdat_stamp) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 3149(line=119, offs=1) -- 3201(line=121, offs=42) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtdat_s2rtdat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_int_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtdat_s2rtdat: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat (arg0, arg1) ; tmp15 = atspre_eq_int_int (tmp16, 0) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtdat_s2rtdat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 3240(line=125, offs=1) -- 3325(line=130, offs=56) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp17) ; ATSlocal (ats_int_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp (arg0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_stamp (arg1) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp18, tmp19) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 6892(line=239, offs=13) -- 7758(line=275, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != 5) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg0 != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg0 != 7) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg0 != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 != 13) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_pos ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 != 29) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_neg ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_pos ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 != 24) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_neg ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != 9) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_pos ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 != 25) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_neg ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 != 15) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_pos ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 != 31) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_neg ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 != 10) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_pos ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 != 26) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_neg ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 != 11) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_pos ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 != 27) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_neg ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: /* tmp75 = */ prerr_interror_0 () ; /* tmp76 = */ atspre_prerr_string (ATSstrcst(": s2rt_impred: knd = ")) ; /* tmp77 = */ atspre_prerr_int (arg0) ; /* tmp78 = */ atspre_prerr_newline () ; tmp80 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 7662(line=270, offs=14) -- 7678(line=270, offs=30)", ATSstrcst("\n")) ; /* tmp79 = */ atspre_assert_errmsg (ats_false_bool, tmp80) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; break ; } while (0) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 7850(line=282, offs=13) -- 8006(line=289, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp82)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_2, tmp82, atslab_0) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp83, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp81 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp81 = ats_false_bool ; break ; } while (0) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 8057(line=293, offs=14) -- 8214(line=300, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_addr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_addr: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp85)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_2, tmp85, atslab_0) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp86, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp84 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp84 = ats_false_bool ; break ; } while (0) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_addr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 8265(line=303, offs=14) -- 8420(line=310, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp88)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_2, tmp88, atslab_0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp89, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp87 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp87 = ats_false_bool ; break ; } while (0) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 8730(line=331, offs=15) -- 8888(line=338, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_float (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_float: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_34_0 ; } __ats_lab_31_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp91)->tag != 0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_2, tmp91, atslab_0) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp92, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp90 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp90 = ats_false_bool ; break ; } while (0) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 8961(line=344, offs=13) -- 9090(line=350, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_dat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_dat: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_35_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp94)->tag != 2) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp93 = ats_true_bool ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp93 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp93 = ats_false_bool ; break ; } while (0) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_dat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 9180(line=356, offs=12) -- 9235(line=358, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp95 = ats_true_bool ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp95 = ats_false_bool ; break ; } while (0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 9284(line=362, offs=12) -- 9438(line=369, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp97)->tag != 1) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_3, tmp97, atslab_0) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prfkind (tmp98) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp96 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp96 = ats_false_bool ; break ; } while (0) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 9522(line=375, offs=12) -- 9675(line=382, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_45_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp100)->tag != 1) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (tmp101) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp99 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp99 = ats_false_bool ; break ; } while (0) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 9741(line=386, offs=15) -- 9899(line=393, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_52_0 ; } __ats_lab_49_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp103)->tag != 1) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_3, tmp103, atslab_0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (tmp104) ; tmp102 = atspre_neg_bool (tmp105) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp102 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp102 = ats_false_bool ; break ; } while (0) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 9987(line=399, offs=13) -- 10141(line=406, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_flat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_flat: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_53_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp107)->tag != 1) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_3, tmp107, atslab_0) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_fltkind (tmp108) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: tmp106 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp106 = ats_false_bool ; break ; } while (0) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_flat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 10207(line=410, offs=14) -- 10361(line=417, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_60_0 ; } __ats_lab_57_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp110)->tag != 1) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_3, tmp110, atslab_0) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_boxkind (tmp111) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp109 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp109 = ats_false_bool ; break ; } while (0) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 10448(line=423, offs=13) -- 10603(line=430, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_64_0 ; } __ats_lab_61_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp113)->tag != 1) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp114 = ats_caselptrlab_mac(anairiats_sum_3, tmp113, atslab_0) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_prgmkind (tmp114) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp112 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: __ats_lab_64_1: tmp112 = ats_false_bool ; break ; } while (0) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 10691(line=436, offs=15) -- 10820(line=442, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp116)->tag != 1) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp115 = ats_true_bool ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: __ats_lab_67_1: tmp115 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: tmp115 = ats_false_bool ; break ; } while (0) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 10910(line=448, offs=15) -- 11105(line=458, offs=13) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_72_0 ; } __ats_lab_69_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp118)->tag != 0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_2, tmp118, atslab_0) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp119, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp117 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp117 = ats_false_bool ; break ; } while (0) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 11181(line=466, offs=1) -- 11316(line=472, offs=2) */ ATSstaticdec() ats_bool_type s2rt_test_fun_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_s2rt_test_fun_24: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; arg0 = tmp121 ; arg1 = arg1 ; goto __ats_lab_s2rt_test_fun_24 ; // tail call break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: tmp120 = ((ats_bool_type(*)(ats_ptr_type))arg1) (arg0) ; break ; } while (0) ; return (tmp120) ; } /* end of [s2rt_test_fun_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 11394(line=478, offs=3) -- 11434(line=478, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin_fun: tmp122 = s2rt_test_fun_24 (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 11494(line=483, offs=3) -- 11536(line=483, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun: tmp123 = s2rt_test_fun_24 (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 11598(line=488, offs=3) -- 11640(line=488, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind_fun: tmp124 = s2rt_test_fun_24 (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 11739(line=496, offs=14) -- 11890(line=500, offs=11) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_get_pol (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_get_pol: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_78_0 ; } __ats_lab_75_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp126)->tag != 1) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_3, tmp126, atslab_0) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind (tmp127) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: tmp125 = 0 ; break ; } while (0) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: __ats_lab_78_1: tmp125 = 0 ; break ; } while (0) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_get_pol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 12594(line=537, offs=3) -- 12678(line=539, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar: tmp128 = atspre_peq (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 12747(line=543, offs=3) -- 12846(line=545, offs=2) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtVar_s2rtVar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp129) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtVar_s2rtVar: tmp129 = atspre_compare_ptr_ptr (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp129) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtVar_s2rtVar] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp133 ; */ tmp133 = arg0 ; tmp132 = atspre_ref_make_elt_tsz ((&tmp133), sizeof(ats_ptr_type)) ; return (tmp132) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp131 = ref_01088_ats_ptr_type (arg0) ; return (tmp131) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 12928(line=550, offs=14) -- 12997(line=552, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_make: tmp130 = ref_make_elt_01089_ats_ptr_type (ats_castfn_mac(ats_ptr_type, atspre_null_ptr)) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 13087(line=560, offs=1) -- 13556(line=586, offs=2) */ ATSstaticdec() ats_ptr_type aux_35 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab_aux_35: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp137 = ats_ptrget_mac(ats_ptr_type, tmp136) ; tmp138 = atspre_ptr_isnot_null (tmp137) ; if (tmp138) { tmp139 = aux_35 (ats_castfn_mac(ats_ptr_type, tmp137)) ; ats_ptrget_mac(ats_ptr_type, tmp136) = ats_castfn_mac(ats_ptr_type, tmp139) ; tmp135 = tmp139 ; } else { tmp135 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: __ats_lab_80_1: tmp135 = arg0 ; break ; } while (0) ; return (tmp135) ; } /* end of [aux_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 13067(line=557, offs=13) -- 13598(line=590, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink: tmp134 = aux_35 (arg0) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 13672(line=597, offs=1) -- 14571(line=641, offs=2) */ ATSstaticdec() ats_ptr_type aux_37 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_int_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_bool_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_bool_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_bool_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; __ats_lab_aux_37: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp143 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp144 = ats_ptrget_mac(ats_int_type, arg1) ; tmp145 = aux_37 (tmp143, arg1) ; tmp146 = auxlst_38 (tmp142, arg1) ; tmp147 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp144) ; if (tmp147) { tmp141 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp141)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_0, tmp146) ; ats_selptrset_mac(anairiats_sum_4, tmp141, atslab_1, tmp145) ; } else { tmp141 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp149 = ats_ptrget_mac(ats_int_type, arg1) ; tmp150 = auxlst_38 (tmp148, arg1) ; tmp151 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp149) ; if (tmp151) { tmp141 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp141)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp141, atslab_0, tmp150) ; } else { tmp141 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp153 = ats_ptrget_mac(ats_ptr_type, tmp152) ; tmp154 = atspre_ptr_isnot_null (tmp153) ; if (tmp154) { tmp155 = aux_37 (ats_castfn_mac(ats_ptr_type, tmp153), arg1) ; ats_ptrget_mac(ats_ptr_type, tmp152) = ats_castfn_mac(ats_ptr_type, tmp155) ; tmp156 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp156 ; tmp141 = tmp155 ; } else { tmp141 = arg0 ; } /* end of [if] */ break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: tmp141 = arg0 ; break ; } while (0) ; return (tmp141) ; } /* end of [aux_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 14598(line=644, offs=1) -- 14954(line=664, offs=2) */ ATSstaticdec() ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_int_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_bool_type, tmp163) ; __ats_lab_auxlst_38: do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp157 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_86_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp160 = ats_ptrget_mac(ats_int_type, arg1) ; tmp161 = aux_37 (tmp158, arg1) ; tmp162 = auxlst_38 (tmp159, arg1) ; tmp163 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp160) ; if (tmp163) { tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, tmp161) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, tmp162) ; } else { tmp157 = arg0 ; } /* end of [if] */ break ; } while (0) ; return (tmp157) ; } /* end of [auxlst_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 13652(line=594, offs=3) -- 15026(line=670, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink_all (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int_type, tmp164) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink_all: /* ats_int_type tmp164 ; */ tmp164 = 0 ; tmp140 = aux_37 (arg0, (&tmp164)) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 15106(line=676, offs=3) -- 15236(line=683, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_get_s2rt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_get_s2rt: tmp166 = ats_ptrget_mac(ats_ptr_type, arg0) ; tmp167 = atspre_ptr_isnot_null (tmp166) ; if (tmp167) { tmp165 = ats_castfn_mac(ats_ptr_type, tmp166) ; } else { tmp165 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; } /* end of [if] */ return (tmp165) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_get_s2rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 15296(line=687, offs=3) -- 15365(line=689, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_set_s2rt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_set_s2rt: ats_ptrget_mac(ats_ptr_type, arg0) = ats_castfn_mac(ats_ptr_type, arg1) ; return /* (tmp168) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_set_s2rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 15453(line=695, offs=5) -- 16033(line=727, offs=2) */ ATSstaticdec() ats_bool_type aux_42 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_bool_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_bool_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_aux_42: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp170 = ats_false_bool ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp173 = auxlst_43 (env0, tmp171) ; if (tmp173) { tmp170 = ats_true_bool ; } else { arg0 = tmp172 ; goto __ats_lab_aux_42 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp170 = auxlst_43 (env0, tmp174) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar (env0, tmp175) ; if (tmp176) { tmp170 = ats_true_bool ; } else { tmp177 = ats_ptrget_mac(ats_ptr_type, tmp175) ; tmp178 = atspre_ptr_isnot_null (tmp177) ; if (tmp178) { tmp179 = ats_castfn_mac(ats_ptr_type, tmp177) ; arg0 = tmp179 ; goto __ats_lab_aux_42 ; // tail call } else { tmp170 = ats_false_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp170 = ats_false_bool ; break ; } while (0) ; return (tmp170) ; } /* end of [aux_42] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_42_closure_type ; ats_bool_type aux_42_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_42 (((aux_42_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_42_closure_init (aux_42_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_42_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_42_closure_make (ats_ptr_type env0) { aux_42_closure_type *p_clo = ATS_MALLOC(sizeof(aux_42_closure_type)) ; aux_42_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 16060(line=730, offs=1) -- 16248(line=742, offs=2) */ ATSstaticdec() ats_bool_type auxlst_43 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_bool_type, tmp183) ; __ats_lab_auxlst_43: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp180 = ats_false_bool ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp183 = aux_42 (env0, tmp181) ; if (tmp183) { tmp180 = ats_true_bool ; } else { arg0 = tmp182 ; goto __ats_lab_auxlst_43 ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp180) ; } /* end of [auxlst_43] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_43_closure_type ; ats_bool_type auxlst_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_43 (((auxlst_43_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_43_closure_init (auxlst_43_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_43_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_43_closure_make (ats_ptr_type env0) { auxlst_43_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_43_closure_type)) ; auxlst_43_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 15427(line=693, offs=3) -- 16293(line=746, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_occurcheck (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_occurcheck: tmp169 = aux_42 (arg0, arg1) ; return (tmp169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_occurcheck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 16410(line=755, offs=10) -- 16445(line=755, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun: tmp184 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp184)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp184, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp184, atslab_1, arg1) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 16466(line=758, offs=10) -- 16488(line=758, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tup (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tup: tmp185 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp185)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp185, atslab_0, arg0) ; return (tmp185) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 16546(line=761, offs=10) -- 16561(line=761, offs=25) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err: tmp186 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 16757(line=774, offs=3) -- 17030(line=785, offs=18) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__lte_s2rtbas_s2rtbas (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__lte_s2rtbas_s2rtbas: do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_95_0 ; } __ats_lab_94_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_97_1 ; } __ats_lab_94_2: tmp188 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp188, tmp189) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_96_0 ; } __ats_lab_95_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_97_1 ; } __ats_lab_95_2: tmp190 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__lte_impkind_impkind (tmp190, tmp191) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_97_0 ; } __ats_lab_96_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_97_1 ; } __ats_lab_96_2: tmp192 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtdat_s2rtdat (tmp192, tmp193) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: __ats_lab_97_2: tmp187 = ats_false_bool ; break ; } while (0) ; return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__lte_s2rtbas_s2rtbas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 17325(line=803, offs=1) -- 17575(line=814, offs=9) */ ATSstaticdec() ats_bool_type auxVar_49 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp195) ; ATSlocal (ats_bool_type, tmp196) ; ATSlocal (ats_bool_type, tmp197) ; // ATSlocal_void (tmp198) ; __ats_lab_auxVar_49: tmp196 = atspre_gt_int_int (arg2, 0) ; if (tmp196) { tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_occurcheck (arg0, arg1) ; if (tmp197) { tmp195 = ats_false_bool ; } else { /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtVar_set_s2rt (arg0, arg1) ; tmp195 = ats_true_bool ; } /* end of [if] */ } else { tmp195 = ats_true_bool ; } /* end of [if] */ return (tmp195) ; } /* end of [auxVar_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 17294(line=800, offs=3) -- 18277(line=844, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_bool_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat: tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (arg1) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (arg2) ; do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp199)->tag != 0) { goto __ats_lab_101_0 ; } __ats_lab_98_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_2, tmp199, atslab_0) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp200)->tag != 0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_2, tmp200, atslab_0) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__lte_s2rtbas_s2rtbas (tmp201, tmp202) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: tmp194 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp199)->tag != 1) { goto __ats_lab_104_0 ; } __ats_lab_101_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_4, tmp199, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_4, tmp199, atslab_1) ; do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp200)->tag != 1) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_4, tmp200, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_4, tmp200, atslab_1) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat (arg0, tmp205, tmp203) ; if (tmp207) { arg0 = arg0 ; arg1 = tmp204 ; arg2 = tmp206 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat ; // tail call } else { tmp194 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: __ats_lab_103_1: tmp194 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp199)->tag != 2) { goto __ats_lab_107_0 ; } __ats_lab_104_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_2, tmp199, atslab_0) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp200)->tag != 2) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_2, tmp200, atslab_0) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat (arg0, tmp208, tmp209) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp194 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp199)->tag != 3) { goto __ats_lab_110_0 ; } __ats_lab_107_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_2, tmp199, atslab_0) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp200)->tag != 3) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_2, tmp200, atslab_0) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2rtVar_s2rtVar (tmp210, tmp211) ; if (!tmp212) { goto __ats_lab_109_1 ; } tmp194 = ats_true_bool ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: tmp194 = auxVar_49 (tmp210, tmp200, arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (((ats_sum_ptr_type)tmp199)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: tmp194 = ats_false_bool ; break ; } while (0) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 18351(line=850, offs=3) -- 18603(line=860, offs=20) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_bool_type, tmp218) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat: do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_113_1 ; } __ats_lab_111_2: tmp213 = ats_true_bool ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_113_1 ; } __ats_lab_112_2: tmp214 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat (arg0, tmp214, tmp216) ; if (tmp218) { arg0 = arg0 ; arg1 = tmp215 ; arg2 = tmp217 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat ; // tail call } else { tmp213 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: __ats_lab_113_2: tmp213 = ats_false_bool ; break ; } while (0) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rtlst_ltmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 18678(line=865, offs=22) -- 18710(line=865, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat0: tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat (0, arg0, arg1) ; return (tmp219) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 18732(line=866, offs=22) -- 18764(line=866, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1: tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__s2rt_ltmat (1, arg0, arg1) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 18908(line=879, offs=1) -- 18993(line=882, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_53 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp221) ; __ats_lab___ats_fun_53: tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2rtdat_s2rtdat (arg0, arg1) ; return (tmp221) ; } /* end of [__ats_fun_53] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_53_closure_type ; ats_int_type __ats_fun_53_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_53 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_53_closure_init (__ats_fun_53_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_53_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_53_closure_make () { __ats_fun_53_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_53_closure_type)) ; __ats_fun_53_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03333_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; __ats_lab_funset_make_nil_03333_: tmp224 = (ats_sum_ptr_type)0 ; return (tmp224) ; } /* end of [funset_make_nil_03333_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 19108(line=891, offs=3) -- 19143(line=891, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_nil: tmp223 = funset_make_nil_03333_ () ; return (tmp223) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_03332_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp235) ; __ats_lab_compare_elt_elt_03332_ats_ptr_type: tmp235 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp235) ; } /* end of [compare_elt_elt_03332_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02315_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_int_type, tmp253) ; ATSlocal (ats_bool_type, tmp254) ; ATSlocal (ats_int_type, tmp255) ; ATSlocal (ats_int_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; ATSlocal (ats_int_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_int_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; __ats_lab_avltree_rrotate_02315_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp247 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_2) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_3) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (tmp248 == (ats_sum_ptr_type)0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_6, tmp248, atslab_0) ; tmp250 = tmp251 ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: // if (tmp248 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_120_1: tmp250 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (tmp249 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp253 = ats_caselptrlab_mac(anairiats_sum_6, tmp249, atslab_0) ; tmp252 = tmp253 ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (tmp249 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: tmp252 = 0 ; break ; } while (0) ; tmp255 = atspre_iadd (tmp250, 0) ; tmp254 = atspre_igte (tmp255, tmp252) ; if (tmp254) { tmp256 = atspre_iadd (tmp252, 1) ; tmp258 = atspre_imax (tmp250, tmp256) ; tmp257 = atspre_iadd (1, tmp258) ; tmp259 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp259, atslab_0, tmp256) ; ats_selptrset_mac(anairiats_sum_6, tmp259, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp259, atslab_2, tmp249) ; ats_selptrset_mac(anairiats_sum_6, tmp259, atslab_3, arg4) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_0, tmp257) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_1, tmp247) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_2, tmp248) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_3, tmp259) ; } else { // if (tmp249 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp260 = ats_caselptrlab_mac(anairiats_sum_6, tmp249, atslab_1) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_6, tmp249, atslab_2) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_6, tmp249, atslab_3) ; do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (tmp261 == (ats_sum_ptr_type)0) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_6, tmp261, atslab_0) ; tmp263 = tmp264 ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: // if (tmp261 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_124_1: tmp263 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (tmp262 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp266 = ats_caselptrlab_mac(anairiats_sum_6, tmp262, atslab_0) ; tmp265 = tmp266 ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (tmp262 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp265 = 0 ; break ; } while (0) ; tmp269 = atspre_imax (tmp250, tmp263) ; tmp268 = atspre_iadd (1, tmp269) ; tmp267 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp267, atslab_0, tmp268) ; ats_selptrset_mac(anairiats_sum_6, tmp267, atslab_1, tmp247) ; ats_selptrset_mac(anairiats_sum_6, tmp267, atslab_2, tmp248) ; ats_selptrset_mac(anairiats_sum_6, tmp267, atslab_3, tmp261) ; tmp272 = atspre_imax (tmp265, arg3) ; tmp271 = atspre_iadd (1, tmp272) ; tmp270 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp270, atslab_0, tmp271) ; ats_selptrset_mac(anairiats_sum_6, tmp270, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp270, atslab_2, tmp262) ; ats_selptrset_mac(anairiats_sum_6, tmp270, atslab_3, arg4) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_1, tmp260) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_2, tmp267) ; ats_selptrset_mac(anairiats_sum_6, tmp246, atslab_3, tmp270) ; } /* end of [if] */ return (tmp246) ; } /* end of [avltree_rrotate_02315_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02298_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_int_type, tmp288) ; ATSlocal (ats_int_type, tmp289) ; ATSlocal (ats_int_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_int_type, tmp293) ; ATSlocal (ats_int_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_int_type, tmp300) ; ATSlocal (ats_int_type, tmp301) ; ATSlocal (ats_int_type, tmp302) ; ATSlocal (ats_int_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_int_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_int_type, tmp309) ; __ats_lab_avltree_lrotate_02298_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp284 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ; tmp285 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_2) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_3) ; do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (tmp285 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp288 = ats_caselptrlab_mac(anairiats_sum_6, tmp285, atslab_0) ; tmp287 = tmp288 ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (tmp285 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp287 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (tmp286 == (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_6, tmp286, atslab_0) ; tmp289 = tmp290 ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (tmp286 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: tmp289 = 0 ; break ; } while (0) ; tmp292 = atspre_iadd (tmp289, 0) ; tmp291 = atspre_ilte (tmp287, tmp292) ; if (tmp291) { tmp293 = atspre_iadd (tmp287, 1) ; tmp295 = atspre_imax (tmp293, tmp289) ; tmp294 = atspre_iadd (1, tmp295) ; tmp296 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp296, atslab_0, tmp293) ; ats_selptrset_mac(anairiats_sum_6, tmp296, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp296, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp296, atslab_3, tmp285) ; tmp283 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_0, tmp294) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_1, tmp284) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_2, tmp296) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_3, tmp286) ; } else { // if (tmp285 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp297 = ats_caselptrlab_mac(anairiats_sum_6, tmp285, atslab_1) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_6, tmp285, atslab_2) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_6, tmp285, atslab_3) ; do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (tmp298 == (ats_sum_ptr_type)0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp301 = ats_caselptrlab_mac(anairiats_sum_6, tmp298, atslab_0) ; tmp300 = tmp301 ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (tmp298 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: tmp300 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (tmp299 == (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_6, tmp299, atslab_0) ; tmp302 = tmp303 ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (tmp299 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp302 = 0 ; break ; } while (0) ; tmp306 = atspre_imax (arg1, tmp300) ; tmp305 = atspre_iadd (1, tmp306) ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_0, tmp305) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_3, tmp298) ; tmp309 = atspre_imax (tmp302, tmp289) ; tmp308 = atspre_iadd (1, tmp309) ; tmp307 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp307, atslab_0, tmp308) ; ats_selptrset_mac(anairiats_sum_6, tmp307, atslab_1, tmp284) ; ats_selptrset_mac(anairiats_sum_6, tmp307, atslab_2, tmp299) ; ats_selptrset_mac(anairiats_sum_6, tmp307, atslab_3, tmp286) ; tmp283 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_1, tmp297) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_2, tmp304) ; ats_selptrset_mac(anairiats_sum_6, tmp283, atslab_3, tmp307) ; } /* end of [if] */ return (tmp283) ; } /* end of [avltree_lrotate_02298_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_58 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_int_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_int_type, tmp241) ; ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_int_type, tmp243) ; ATSlocal (ats_int_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_bool_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_int_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_int_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_bool_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab_insert_58: do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_139_0 ; } __ats_lab_114_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp231 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp234 = compare_elt_elt_03332_ats_ptr_type (env0, tmp231, env1) ; tmp236 = atspre_lt_int_int (tmp234, 0) ; if (tmp236) { tmp237 = insert_58 (env0, env1, tmp232, arg1) ; do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (tmp237 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_6, tmp237, atslab_0) ; tmp238 = tmp239 ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (tmp237 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: tmp238 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (tmp233 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_6, tmp233, atslab_0) ; tmp240 = tmp241 ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: // if (tmp233 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_118_1: tmp240 = 0 ; break ; } while (0) ; tmp243 = atspre_isub (tmp238, tmp240) ; tmp242 = atspre_ilte (tmp243, 1) ; if (tmp242) { tmp245 = atspre_imax (tmp238, tmp240) ; tmp244 = atspre_iadd (1, tmp245) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_0, tmp244) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_1, tmp231) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_2, tmp237) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_3, tmp233) ; } else { tmp229 = avltree_rrotate_02315_ats_ptr_type (tmp231, tmp238, tmp237, tmp240, tmp233) ; } /* end of [if] */ } else { tmp273 = atspre_gt_int_int (tmp234, 0) ; if (tmp273) { tmp274 = insert_58 (env0, env1, tmp233, arg1) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (tmp232 == (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_6, tmp232, atslab_0) ; tmp275 = tmp276 ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (tmp232 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: tmp275 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (tmp274 == (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_6, tmp274, atslab_0) ; tmp277 = tmp278 ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (tmp274 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp277 = 0 ; break ; } while (0) ; tmp280 = atspre_isub (tmp277, tmp275) ; tmp279 = atspre_ilte (tmp280, 1) ; if (tmp279) { tmp282 = atspre_imax (tmp275, tmp277) ; tmp281 = atspre_iadd (1, tmp282) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_0, tmp281) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_1, tmp231) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_2, tmp232) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_3, tmp274) ; } else { tmp229 = avltree_lrotate_02298_ats_ptr_type (tmp231, tmp275, tmp232, tmp277, tmp274) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_0, tmp230) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_2, tmp232) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_3, tmp233) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_139_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp310 = (ats_sum_ptr_type)0 ; tmp311 = (ats_sum_ptr_type)0 ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_2, tmp310) ; ats_selptrset_mac(anairiats_sum_6, tmp229, atslab_3, tmp311) ; break ; } while (0) ; return (tmp229) ; } /* end of [insert_58] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_58_closure_type ; ats_ptr_type insert_58_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_58 (((insert_58_closure_type*)cloptr)->closure_env_0, ((insert_58_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_58_closure_init (insert_58_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_58_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_58_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_58_closure_type *p_clo = ATS_MALLOC(sizeof(insert_58_closure_type)) ; insert_58_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03342_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; __ats_lab_funset_insert_03342_ats_ptr_type: /* ats_bool_type tmp312 ; */ tmp313 = insert_58 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp312)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp313 ; tmp228 = tmp312 ; return (tmp228) ; } /* end of [funset_insert_03342_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 19172(line=895, offs=3) -- 19259(line=898, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_add: /* ats_ptr_type tmp226 ; */ tmp226 = arg0 ; tmp227 = funset_insert_03342_ats_ptr_type ((&tmp226), arg1, statmp222) ; tmp225 = tmp226 ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20241(line=721, offs=7) -- 20545(line=732, offs=18) */ ATSstaticdec() ats_ptr_type listize_64 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab_listize_64: do { /* branch: __ats_lab_140 */ __ats_lab_140_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_2) ; tmp319 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_3) ; tmp320 = listize_64 (tmp319, arg1) ; tmp321 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp321, atslab_0, tmp317) ; ats_selptrset_mac(anairiats_sum_5, tmp321, atslab_1, tmp320) ; arg0 = tmp318 ; arg1 = tmp321 ; goto __ats_lab_listize_64 ; // tail call break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp316 = arg1 ; break ; } while (0) ; return (tmp316) ; } /* end of [listize_64] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20189(line=719, offs=16) -- 20605(line=736, offs=4) */ ATSstaticdec() ats_ptr_type funset_listize_03357_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp322) ; __ats_lab_funset_listize_03357_ats_ptr_type: tmp322 = (ats_sum_ptr_type)0 ; tmp315 = listize_64 (arg0, tmp322) ; return (tmp315) ; } /* end of [funset_listize_03357_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_sort.dats: 19320(line=901, offs=20) -- 19349(line=901, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_listize: tmp314 = funset_listize_03357_ats_ptr_type (arg0) ; return (tmp314) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdatset_listize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp20, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp21, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp22, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp23, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp24, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp25, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp26, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp27, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp28, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp29, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp30, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp32, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp33, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp34, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp35, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp36, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp37, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp38, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp39, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp40, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp41, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp42, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp43, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp44, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp45, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp46, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp47, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp48, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp49, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp50, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp51, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp52, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp53, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp54, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp55, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp56, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp57, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp58, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp59, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp60, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp61, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp62, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp63, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp64, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp65, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp66, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp67, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp68, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp69, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp70, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp71, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp72, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp73, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp222, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp20)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp20, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT) ; statmp21 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp21)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp21, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL) ; statmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp22)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp22, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR) ; statmp23 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp23)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp23, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT) ; statmp24 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp24)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp24, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING) ; statmp25 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp25)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp25, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS) ; statmp26 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp26)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp26, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF) ; statmp27 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp27)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp27, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND) ; statmp28 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp28)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp28, atslab_0, statmp20) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int = statmp28 ; statmp29 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp29)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp29, atslab_0, statmp21) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool = statmp29 ; statmp30 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp30)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp30, atslab_0, statmp22) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr = statmp30 ; statmp31 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp31)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp31, atslab_0, statmp23) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float = statmp31 ; statmp32 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp32)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp32, atslab_0, statmp24) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string = statmp32 ; statmp33 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp33)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp33, atslab_0, statmp25) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_cls = statmp33 ; statmp34 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp34)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp34, atslab_0, statmp26) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff = statmp34 ; statmp35 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp35)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp35, atslab_0, statmp27) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_tkind = statmp35 ; statmp36 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp36)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp36, atslab_0, 5) ; ats_selptrset_mac(anairiats_sum_3, statmp36, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; statmp37 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp37)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp37, atslab_0, 13) ; ats_selptrset_mac(anairiats_sum_3, statmp37, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; statmp38 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp38)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp38, atslab_0, 29) ; ats_selptrset_mac(anairiats_sum_3, statmp38, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; statmp39 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp39)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp39, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_3, statmp39, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; statmp40 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp40)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp40, atslab_0, 8) ; ats_selptrset_mac(anairiats_sum_3, statmp40, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; statmp41 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp41)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp41, atslab_0, 24) ; ats_selptrset_mac(anairiats_sum_3, statmp41, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; statmp42 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp42)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp42, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_3, statmp42, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; statmp43 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp43)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp43, atslab_0, 9) ; ats_selptrset_mac(anairiats_sum_3, statmp43, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; statmp44 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp44)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp44, atslab_0, 25) ; ats_selptrset_mac(anairiats_sum_3, statmp44, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; statmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp45)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp45, atslab_0, 7) ; ats_selptrset_mac(anairiats_sum_3, statmp45, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; statmp46 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp46)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp46, atslab_0, 15) ; ats_selptrset_mac(anairiats_sum_3, statmp46, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; statmp47 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp47)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp47, atslab_0, 31) ; ats_selptrset_mac(anairiats_sum_3, statmp47, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; statmp48 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp48)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp48, atslab_0, 2) ; ats_selptrset_mac(anairiats_sum_3, statmp48, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; statmp49 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp49)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp49, atslab_0, 10) ; ats_selptrset_mac(anairiats_sum_3, statmp49, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; statmp50 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp50)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp50, atslab_0, 26) ; ats_selptrset_mac(anairiats_sum_3, statmp50, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; statmp51 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp51)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp51, atslab_0, 3) ; ats_selptrset_mac(anairiats_sum_3, statmp51, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; statmp52 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp52)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp52, atslab_0, 11) ; ats_selptrset_mac(anairiats_sum_3, statmp52, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; statmp53 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp53)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp53, atslab_0, 27) ; ats_selptrset_mac(anairiats_sum_3, statmp53, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; statmp54 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp54)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, statmp54, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_3, statmp54, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; statmp55 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp55)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp55, atslab_0, statmp36) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop = statmp55 ; statmp56 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp56)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp56, atslab_0, statmp37) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_pos = statmp56 ; statmp57 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp57)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp57, atslab_0, statmp38) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop_neg = statmp57 ; statmp58 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp58)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp58, atslab_0, statmp39) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type = statmp58 ; statmp59 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp59)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp59, atslab_0, statmp40) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_pos = statmp59 ; statmp60 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp60)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp60, atslab_0, statmp41) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type_neg = statmp60 ; statmp61 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp61)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp61, atslab_0, statmp42) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype = statmp61 ; statmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp62)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp62, atslab_0, statmp43) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_pos = statmp62 ; statmp63 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp63)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp63, atslab_0, statmp44) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype_neg = statmp63 ; statmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp64)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp64, atslab_0, statmp45) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view = statmp64 ; statmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp65)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp65, atslab_0, statmp46) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_pos = statmp65 ; statmp66 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp66)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp66, atslab_0, statmp47) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view_neg = statmp66 ; statmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp67)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp67, atslab_0, statmp48) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype = statmp67 ; statmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp68)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp68, atslab_0, statmp49) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_pos = statmp68 ; statmp69 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp69)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp69, atslab_0, statmp50) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype_neg = statmp69 ; statmp70 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp70)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp70, atslab_0, statmp51) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype = statmp70 ; statmp71 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp71)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp71, atslab_0, statmp52) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_pos, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_pos = statmp71 ; statmp72 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp72)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp72, atslab_0, statmp53) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_neg, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype_neg = statmp72 ; statmp73 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)statmp73)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, statmp73, atslab_0, statmp54) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_types, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_types = statmp73 ; statmp222 = __ats_fun_53_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_sort_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp1_sats.c0000664000175000017500000006760212655455557020223 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_i1nvresstate_qua ; ats_ptr_type atslab_i1nvresstate_arg ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATnorm_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATomit_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tide_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tdqid_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tint_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tintrep_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tchar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfloat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tstring_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ti0nt_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tf0loat_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_dyn_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ttup_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlst_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfree_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tunfold_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trefas_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Texist_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tann_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eintrep_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ebool_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Echar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efloat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Estring_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ei0nt_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ec0har_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ef0loat_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Es0tring_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecstsp_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eliteral_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextval_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextfcall_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextmcall_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efoldat_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efreeat_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etmpid_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elet_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhere_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edecseq_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_dyn_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esing_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eifhead_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esifhead_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecasehead_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Escasehead_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elst_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etup_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Erec_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eseq_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrsub_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrinit_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrpsz_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eptrof_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eviewat_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eselab_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eraise_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eeffmask_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eshowtype_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Evcopyenv_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etempenver_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eexist_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efix_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edelay_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efor_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhile_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eloopexn_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etrywith_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_type_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacsyn_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacfun_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolassert_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolverify_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpackname_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymintr_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymelim_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Coverload_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpdef_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpundef_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpragma_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ccodegen_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatsrts_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csrtdefs_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacsts_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacons_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ctkindef_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csexpdefs_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csaspdec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatdecs_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cexndecs_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cclassdec_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextvar_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextcode_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdcstdecs_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cmacdefs_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cfundecs_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvaldecs_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvardecs_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cinclude_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaload_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadnm_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadloc_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdynload_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clocal_35) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATnorm_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATomit_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tide_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tdqid_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tint_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tintrep_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tchar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfloat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tstring_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ti0nt_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tf0loat_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_dyn_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ttup_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlst_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfree_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tunfold_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trefas_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Texist_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tann_23.tag = 23 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1LABind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eintrep_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ebool_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Echar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efloat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Estring_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ei0nt_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ec0har_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ef0loat_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Es0tring_12.tag = 12 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etop_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eempty_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecstsp_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eliteral_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextval_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextfcall_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eextmcall_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efoldat_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efreeat_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etmpid_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elet_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhere_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edecseq_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_dyn_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eapp_sta_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esing_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eifhead_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esifhead_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ecasehead_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Escasehead_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elst_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etup_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Erec_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eseq_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrsub_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrinit_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Earrpsz_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eptrof_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eviewat_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eselab_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eraise_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eeffmask_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eshowtype_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Evcopyenv_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etempenver_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esexparg_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eexist_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_dyn_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elaminit_dyn_52.tag = 52 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_met_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_ana_54.tag = 54 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elam_sta_syn_55.tag = 55 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efix_56.tag = 56 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Edelay_57.tag = 57 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Efor_58.tag = 58 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ewhile_59.tag = 59 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eloopexn_60.tag = 60 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Etrywith_61.tag = 61 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_type_62.tag = 62 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_effc_63.tag = 63 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eann_funclo_64.tag = 64 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacsyn_65.tag = 65 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Emacfun_66.tag = 66 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolassert_67.tag = 67 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Esolverify_68.tag = 68 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eerrexp_69.tag = 69 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpackname_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymintr_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csymelim_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Coverload_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpdef_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ce1xpundef_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cpragma_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ccodegen_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatsrts_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csrtdefs_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacsts_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstacons_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Ctkindef_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csexpdefs_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Csaspdec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdatdecs_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cexndecs_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cclassdec_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextype_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextvar_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cextcode_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdcstdecs_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cmacdefs_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cimpdec_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cfundecs_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvaldecs_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cvardecs_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cinclude_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaload_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadnm_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cstaloadloc_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Cdynload_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Clocal_35.tag = 35 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp1_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_filename_sats.c0000664000175000017500000000234712655455557020406 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_filename_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_stacst2_sats.c0000664000175000017500000000447312655455557020213 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_stacst2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing_sats.c0000664000175000017500000011232212655455557020107 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTE_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOLLAR_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASH_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DO_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIX_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPORT_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MACDEF_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITHTYPE_87) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRDELAY_92) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_ARG_96) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTERN_97) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRVCOPYENV_115) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN3_138) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_arr_141) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_tmp_142) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_srp_144) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_ext_145) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CDATA_149) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_oct_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_hex_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_unclose_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_QUOTE_dangling_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_unclose_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_oct_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_hex_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_EXTCODE_unclose_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_DIGIT_oct_89_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_UNSUPPORTED_char_11) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONE_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTE_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLONLT_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOLLAR_8.tag = 8 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOT_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12.tag = 12 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13.tag = 13 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14.tag = 14 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15.tag = 15 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16.tag = 16 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18.tag = 18 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19.tag = 19 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASH_20.tag = 20 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21.tag = 21 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22.tag = 22 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23.tag = 23 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24.tag = 24 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTDOT_25.tag = 25 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26.tag = 26 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27.tag = 27 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLT_28.tag = 28 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSLTGT_29.tag = 29 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ABSTYPE_31.tag = 31 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AND_32.tag = 32 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33.tag = 33 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ASSUME_34.tag = 34 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CASE_36.tag = 36 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CLASSDEC_37.tag = 37 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATASORT_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DATATYPE_39.tag = 39 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DO_40.tag = 40 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DYNLOAD_41.tag = 41 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ELSE_42.tag = 42 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_END_43.tag = 43 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXCEPTION_44.tag = 44 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTERN_45.tag = 45 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTYPE_46.tag = 46 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTVAR_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIX_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIXITY_49.tag = 49 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50.tag = 50 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FORSTAR_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52.tag = 52 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IF_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPLEMENT_54.tag = 54 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IMPORT_55.tag = 55 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IN_56.tag = 56 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57.tag = 57 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58.tag = 58 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LOCAL_59.tag = 59 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MACDEF_60.tag = 60 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_NONFIX_61.tag = 61 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OVERLOAD_62.tag = 62 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OF_63.tag = 63 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64.tag = 64 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_REC_65.tag = 65 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SIF_66.tag = 66 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SCASE_67.tag = 67 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SORTDEF_68.tag = 68 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STACST_69.tag = 69 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STADEF_70.tag = 70 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STALOAD_71.tag = 71 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STATIC_72.tag = 72 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMELIM_73.tag = 73 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SYMINTR_74.tag = 74 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_THEN_75.tag = 75 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TKINDEF_76.tag = 76 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TRY_77.tag = 77 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78.tag = 78 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPEDEF_79.tag = 79 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80.tag = 80 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAR_81.tag = 81 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHEN_82.tag = 82 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83.tag = 83 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84.tag = 84 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILESTAR_85.tag = 85 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITH_86.tag = 86 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WITHTYPE_87.tag = 87 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88.tag = 88 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89.tag = 89 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90.tag = 90 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91.tag = 91 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRDELAY_92.tag = 92 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93.tag = 93 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRD2CTYPE_94.tag = 94 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95.tag = 95 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_ARG_96.tag = 96 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTERN_97.tag = 97 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTKIND_98.tag = 98 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_99.tag = 99 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTYPE_STRUCT_100.tag = 100 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101.tag = 101 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102.tag = 102 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103.tag = 103 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104.tag = 104 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105.tag = 105 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106.tag = 106 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107.tag = 107 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108.tag = 108 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109.tag = 109 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110.tag = 110 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111.tag = 111 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112.tag = 112 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113.tag = 113 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114.tag = 114 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRVCOPYENV_115.tag = 115 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116.tag = 116 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117.tag = 117 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118.tag = 118 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIF_119.tag = 119 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFDEF_120.tag = 120 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPIFNDEF_121.tag = 121 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPTHEN_122.tag = 122 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIF_123.tag = 123 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFDEF_124.tag = 124 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELIFNDEF_125.tag = 125 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPELSE_126.tag = 126 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPENDIF_127.tag = 127 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPERROR_128.tag = 128 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRERR_129.tag = 129 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRINT_130.tag = 130 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPASSERT_131.tag = 131 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPUNDEF_132.tag = 132 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPDEFINE_133.tag = 133 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPINCLUDE_134.tag = 134 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPREQUIRE_135.tag = 135 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPPRAGMA_136.tag = 136 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN2_137.tag = 137 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SRPCODEGEN3_138.tag = 138 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139.tag = 139 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140.tag = 140 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_arr_141.tag = 141 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_tmp_142.tag = 142 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_dlr_143.tag = 143 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_srp_144.tag = 144 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_ext_145.tag = 145 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146.tag = 146 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147.tag = 147 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148.tag = 148 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CDATA_149.tag = 149 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150.tag = 150 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMA_151.tag = 151 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152.tag = 152 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153.tag = 153 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RPAREN_154.tag = 154 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155.tag = 155 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACKET_156.tag = 156 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157.tag = 157 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_RBRACE_158.tag = 158 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLPAREN_159.tag = 159 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELPAREN_160.tag = 160 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161.tag = 161 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162.tag = 162 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163.tag = 163 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACE_164.tag = 164 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACE_165.tag = 165 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166.tag = 166 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167.tag = 167 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168.tag = 168 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EXTCODE_169.tag = 169 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_line_170.tag = 170 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_block_171.tag = 171 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMENT_rest_172.tag = 172 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ERR_173.tag = 173 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EOF_174.tag = 174 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_oct_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_hex_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_CHAR_unclose_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_QUOTE_dangling_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_unclose_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_oct_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_STRING_char_hex_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_COMMENT_block_unclose_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_EXTCODE_unclose_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_DIGIT_oct_89_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_FEXPONENT_empty_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__LE_UNSUPPORTED_char_11.tag = 11 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_lexing_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_constraint3_mapgen_dats.c0000664000175000017500000025254112655455557022410 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_c3nstroptref_loc ; ats_ptr_type atslab_c3nstroptref_ref ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_h3ypo_loc ; ats_ptr_type atslab_h3ypo_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_c3nstr_loc ; ats_ptr_type atslab_c3nstr_kind ; ats_ptr_type atslab_c3nstr_node ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_15 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyarr_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPObind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__H3YPOeqeq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__MYENV_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itm_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__h3ypo_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__MYENV_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type s2explst_app_04527_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2explstlst_app_04528_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2varlst_app_04524_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labs2explst_app_04529_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type wths2explst_app_04530_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2exp_app_04526_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2expopt_app_04531_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2zexplst_app_04534_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2zexplstlst_app_04535_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type labs2zexplst_app_04536_ (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type s2zexp_app_04533_ (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5647(line=269, offs=3) -- 5693(line=269, offs=49) */ ATSstaticdec() ats_void_type s2explst_app_04527_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; __ats_lab_s2explst_app_04527_: /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2exp_app_04526_) ; return /* (tmp16) */ ; } /* end of [s2explst_app_04527_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5735(line=274, offs=3) -- 5786(line=274, offs=54) */ ATSstaticdec() ats_void_type s2explstlst_app_04528_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp15) ; __ats_lab_s2explstlst_app_04528_: /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2explst_app_04527_) ; return /* (tmp15) */ ; } /* end of [s2explstlst_app_04528_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 1953(line=72, offs=3) -- 1999(line=72, offs=49) */ ATSstaticdec() ats_void_type s2varlst_app_04524_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab_s2varlst_app_04524_: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app) ; return /* (tmp44) */ ; } /* end of [s2varlst_app_04524_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 5849(line=281, offs=3) -- 6071(line=294, offs=4) */ ATSstaticdec() ats_void_type labs2explst_app_04529_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; __ats_lab_labs2explst_app_04529_: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp62 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; // tmp63 = ats_caselptrlab_mac(anairiats_sum_11, tmp61, atslab_2) ; /* tmp64 = */ s2exp_app_04526_ (tmp63, arg1) ; arg0 = tmp62 ; arg1 = arg1 ; goto __ats_lab_labs2explst_app_04529_ ; // tail call break ; } while (0) ; return /* (tmp60) */ ; } /* end of [labs2explst_app_04529_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 6160(line=301, offs=3) -- 6481(line=316, offs=4) */ ATSstaticdec() ats_void_type wths2explst_app_04530_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab_wths2explst_app_04530_: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_2) ; /* tmp84 = */ s2exp_app_04526_ (tmp82, arg1) ; arg0 = tmp83 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_04530_ ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_2) ; /* tmp87 = */ s2exp_app_04526_ (tmp85, arg1) ; arg0 = tmp86 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_04530_ ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (((ats_sum_ptr_type)arg0)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; arg0 = tmp88 ; arg1 = arg1 ; goto __ats_lab_wths2explst_app_04530_ ; // tail call break ; } while (0) ; return /* (tmp81) */ ; } /* end of [wths2explst_app_04530_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 2830(line=132, offs=3) -- 5565(line=262, offs=4) */ ATSstaticdec() ats_void_type s2exp_app_04526_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; __ats_lab_s2exp_app_04526_: tmp12 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp12)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp12)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp12)->tag != 2) { goto __ats_lab_12_0 ; } __ats_lab_11_1: break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp12)->tag != 3) { goto __ats_lab_13_0 ; } __ats_lab_12_1: break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp12)->tag != 4) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app (tmp13, arg1) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp12)->tag != 5) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp11 = */ s2explstlst_app_04528_ (tmp14, arg1) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp12)->tag != 6) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp11 = */ s2explstlst_app_04528_ (tmp17, arg1) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp12)->tag != 7) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app (tmp18, arg1) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp12)->tag != 8) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app (tmp19, arg1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp12)->tag != 9) { goto __ats_lab_19_0 ; } __ats_lab_18_1: break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp12)->tag != 10) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app (tmp20, arg1) ; /* tmp11 = */ s2explst_app_04527_ (tmp21, arg1) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp12)->tag != 11) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_0) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_1) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_2) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app (tmp23, arg1) ; /* tmp27 = */ s2exp_app_04526_ (tmp24, arg1) ; /* tmp11 = */ s2explst_app_04527_ (tmp25, arg1) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp12)->tag != 12) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp30 = */ s2exp_app_04526_ (tmp28, arg1) ; arg0 = tmp29 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp12)->tag != 13) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; arg0 = tmp31 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp12)->tag != 14) { goto __ats_lab_24_0 ; } __ats_lab_23_1: break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp12)->tag != 15) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp34 = */ s2exp_app_04526_ (tmp32, arg1) ; arg0 = tmp33 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp12)->tag != 16) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_1) ; /* tmp37 = */ s2exp_app_04526_ (tmp35, arg1) ; arg0 = tmp36 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp12)->tag != 17) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp40 = */ s2exp_app_04526_ (tmp38, arg1) ; /* tmp11 = */ s2explst_app_04527_ (tmp39, arg1) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp12)->tag != 18) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp42 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp43 = */ s2varlst_app_04524_ (tmp41, arg1) ; arg0 = tmp42 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp12)->tag != 19) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp12, atslab_4) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_7, tmp12, atslab_5) ; /* tmp47 = */ s2explst_app_04527_ (tmp45, arg1) ; arg0 = tmp46 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp12)->tag != 20) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_1) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_2) ; /* tmp50 = */ s2explst_app_04527_ (tmp48, arg1) ; arg0 = tmp49 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp12)->tag != 21) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp53 = */ s2explst_app_04527_ (tmp51, arg1) ; /* tmp11 = */ s2explst_app_04527_ (tmp52, arg1) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp12)->tag != 22) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_8, tmp12, atslab_1) ; arg0 = tmp54 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp12)->tag != 23) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; arg0 = tmp55 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp12)->tag != 24) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp58 = */ s2exp_app_04526_ (tmp56, arg1) ; /* tmp11 = */ s2explst_app_04527_ (tmp57, arg1) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp12)->tag != 25) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_9, tmp12, atslab_2) ; /* tmp11 = */ labs2explst_app_04529_ (tmp59, arg1) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp12)->tag != 26) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; arg0 = tmp65 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp12)->tag != 27) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_1) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_2) ; /* tmp69 = */ s2varlst_app_04524_ (tmp66, arg1) ; /* tmp70 = */ s2explst_app_04527_ (tmp67, arg1) ; arg0 = tmp68 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp12)->tag != 28) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_1) ; tmp73 = ats_caselptrlab_mac(anairiats_sum_6, tmp12, atslab_2) ; /* tmp74 = */ s2varlst_app_04524_ (tmp71, arg1) ; /* tmp75 = */ s2explst_app_04527_ (tmp72, arg1) ; arg0 = tmp73 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp12)->tag != 29) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_8, tmp12, atslab_1) ; arg0 = tmp76 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp12)->tag != 30) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_1, tmp12, atslab_0) ; arg0 = tmp77 ; arg1 = arg1 ; goto __ats_lab_s2exp_app_04526_ ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp12)->tag != 31) { goto __ats_lab_47_0 ; } __ats_lab_42_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_0) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_5, tmp12, atslab_1) ; /* tmp80 = */ s2exp_app_04526_ (tmp78, arg1) ; /* tmp11 = */ wths2explst_app_04530_ (tmp79, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (((ats_sum_ptr_type)tmp12)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: break ; } while (0) ; return /* (tmp11) */ ; } /* end of [s2exp_app_04526_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_appenv.hats: 1890(line=70, offs=3) -- 2395(line=94, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itm_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itm_app: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app (tmp1, arg1) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__h3ypo_app (tmp2, arg1) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app (tmp3, arg1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app (tmp4, arg1) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp5), atslab_c3nstroptref_ref) ; tmp7 = ats_ptrget_mac(ats_ptr_type, tmp6) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp7 != (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp7 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp7, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app (tmp8, arg1) ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app (tmp9, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (((ats_sum_ptr_type)arg0)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp0 = */ s2exp_app_04526_ (tmp10, arg1) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itm_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_appenv.hats: 2467(line=100, offs=3) -- 2628(line=110, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itm_app (tmp90, arg1) ; arg0 = tmp91 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app ; // tail call break ; } while (0) ; return /* (tmp89) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_appenv.hats: 2688(line=114, offs=3) -- 2861(line=124, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app (tmp94, arg1) ; arg0 = tmp95 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app ; // tail call break ; } while (0) ; return /* (tmp93) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlstlst_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_appenv.hats: 2939(line=130, offs=3) -- 3209(line=146, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__h3ypo_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__h3ypo_app: tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_h3ypo_node) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp98)->tag != 0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_1, tmp98, atslab_0) ; /* tmp97 = */ s2exp_app_04526_ (tmp99, arg1) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp98)->tag != 1) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_5, tmp98, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_5, tmp98, atslab_1) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app (tmp100, arg1) ; /* tmp97 = */ s2exp_app_04526_ (tmp101, arg1) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (((ats_sum_ptr_type)tmp98)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_5, tmp98, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_5, tmp98, atslab_1) ; /* tmp105 = */ s2exp_app_04526_ (tmp103, arg1) ; /* tmp97 = */ s2exp_app_04526_ (tmp104, arg1) ; break ; } while (0) ; return /* (tmp97) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__h3ypo_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_appenv.hats: 3277(line=152, offs=3) -- 3528(line=166, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app: tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_c3nstr_node) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp107)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_1, tmp107, atslab_0) ; /* tmp106 = */ s2exp_app_04526_ (tmp108, arg1) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp107)->tag != 1) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_1, tmp107, atslab_0) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__s3itmlst_app (tmp109, arg1) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (((ats_sum_ptr_type)tmp107)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_1, tmp107, atslab_0) ; /* tmp106 = */ s2exp_app_04526_ (tmp110, arg1) ; break ; } while (0) ; return /* (tmp106) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 6565(line=322, offs=14) -- 6648(line=326, offs=53) */ ATSstaticdec() ats_void_type s2expopt_app_04531_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab_s2expopt_app_04531_: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; /* tmp117 = */ s2exp_app_04526_ (tmp118, arg1) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: break ; } while (0) ; return /* (tmp117) */ ; } /* end of [s2expopt_app_04531_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_mapgen.dats: 2029(line=78, offs=3) -- 2469(line=107, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app: // tmp112 = &ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, arg1), atslab_0) ; tmp114 = ats_ptrget_mac(ats_ptr_type, tmp112) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_ismem (tmp114, arg0) ; if (tmp113) { /* empty */ } else { tmp116 = ats_ptrget_mac(ats_ptr_type, tmp112) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_add (tmp116, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp112) = tmp115 ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_def (arg0) ; /* tmp111 = */ s2expopt_app_04531_ (tmp119, arg1) ; } /* end of [if] */ return /* (tmp111) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_mapgen.dats: 2515(line=111, offs=3) -- 2766(line=123, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app: // tmp121 = &ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ; tmp123 = ats_ptrget_mac(ats_ptr_type, tmp121) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_add (tmp123, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp121) = tmp122 ; return /* (tmp120) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 7723(line=389, offs=3) -- 7770(line=389, offs=50) */ ATSstaticdec() ats_void_type s2zexplst_app_04534_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp139) ; __ats_lab_s2zexplst_app_04534_: /* tmp139 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2zexp_app_04533_) ; return /* (tmp139) */ ; } /* end of [s2zexplst_app_04534_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 7813(line=394, offs=3) -- 7865(line=394, offs=55) */ ATSstaticdec() ats_void_type s2zexplstlst_app_04535_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp138) ; __ats_lab_s2zexplstlst_app_04535_: /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (arg0, arg1, &s2zexplst_app_04534_) ; return /* (tmp138) */ ; } /* end of [s2zexplstlst_app_04535_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 7929(line=401, offs=3) -- 8121(line=410, offs=6) */ ATSstaticdec() ats_void_type labs2zexplst_app_04536_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; // ATSlocal_void (tmp152) ; __ats_lab_labs2zexplst_app_04536_: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp151 = ats_caselptrlab_mac(anairiats_sum_10, tmp149, atslab_1) ; /* tmp152 = */ s2zexp_app_04533_ (tmp151, arg1) ; arg0 = tmp150 ; arg1 = arg1 ; goto __ats_lab_labs2zexplst_app_04536_ ; // tail call break ; } while (0) ; return /* (tmp148) */ ; } /* end of [labs2zexplst_app_04536_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_appenv.hats: 7047(line=353, offs=3) -- 7631(line=380, offs=19) */ ATSstaticdec() ats_void_type s2zexp_app_04533_ (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_s2zexp_app_04533_: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_62_0 ; } __ats_lab_61_1: break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2cst_app (tmp134, arg1) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2var_app (tmp135, arg1) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app (tmp136, arg1) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp133 = */ s2zexplstlst_app_04535_ (tmp137, arg1) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp133 = */ s2zexplstlst_app_04535_ (tmp140, arg1) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp143 = */ s2zexp_app_04533_ (tmp141, arg1) ; /* tmp133 = */ s2zexplst_app_04534_ (tmp142, arg1) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp146 = */ s2zexp_app_04533_ (tmp144, arg1) ; /* tmp133 = */ s2explst_app_04527_ (tmp145, arg1) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_72_0 ; } __ats_lab_69_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp133 = */ labs2zexplst_app_04536_ (tmp147, arg1) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_73_0 ; } __ats_lab_72_1: break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: // if (((ats_sum_ptr_type)arg0)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_73_1: break ; } while (0) ; return /* (tmp133) */ ; } /* end of [s2zexp_app_04533_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_mapgen.dats: 2812(line=127, offs=3) -- 3346(line=161, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app: // tmp125 = &ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, arg1), atslab_2) ; tmp127 = ats_ptrget_mac(ats_ptr_type, tmp125) ; tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_ismem (tmp127, arg0) ; if (tmp126) { /* empty */ } else { tmp129 = ats_ptrget_mac(ats_ptr_type, tmp125) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add (tmp129, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp125) = tmp128 ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (arg0) ; /* tmp131 = */ s2expopt_app_04531_ (tmp130, arg1) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (arg0) ; /* tmp124 = */ s2zexp_app_04533_ (tmp132, arg1) ; } /* end of [if] */ return /* (tmp124) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__s2Var_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_mapgen.dats: 3390(line=163, offs=21) -- 3405(line=163, offs=36) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp153) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app: return /* (tmp153) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__d2con_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_constraint3_mapgen.dats: 3464(line=169, offs=3) -- 3810(line=186, offs=4) */ ATSglobaldec() anairiats_rec_15 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_mapgen_scst_svar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_15, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; // ATSlocal_void (tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_mapgen_scst_svar: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cstset_vt_nil () ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varset_vt_nil () ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil () ; tmp158 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp158, atslab_0, tmp155) ; ats_selptrset_mac(anairiats_sum_11, tmp158, atslab_1, tmp156) ; ats_selptrset_mac(anairiats_sum_11, tmp158, atslab_2, tmp157) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_appenv_2ehats__c3nstr_app (arg0, ats_castfn_mac(ats_ptr_type, tmp158)) ; // tmp160 = ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp158)), atslab_0) ; tmp161 = ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp158)), atslab_1) ; tmp162 = ats_caselptrlab_mac(anairiats_sum_11, ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp158)), atslab_2) ; ATS_FREE(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp158))) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_free (tmp162) ; tmp154.atslab_0 = tmp160 ; tmp154.atslab_1 = tmp161 ; return (tmp154) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_mapgen_scst_svar] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__MYENV_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_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 () ; #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_constraint3_mapgen_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_typerase_error_dats.c0000664000175000017500000007215212655455557021655 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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) ; /* 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type the_trans4errlst_get_1 () ; static ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_7 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp3) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp2 ; */ tmp2 = arg0 ; tmp1 = atspre_ref_make_elt_tsz ((&tmp2), sizeof(ats_ptr_type)) ; return (tmp1) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_error.dats: 1719(line=61, offs=1) -- 1883(line=68, offs=4) */ ATSstaticdec() ats_ptr_type the_trans4errlst_get_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_the_trans4errlst_get_1: tmp5 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp6 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp7 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp5) = tmp7 ; tmp4 = tmp6 ; return (tmp4) ; } /* end of [the_trans4errlst_get_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_error.dats: 1975(line=73, offs=22) -- 2089(line=76, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add: tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp11 = ats_ptrget_mac(ats_ptr_type, tmp9) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp10, atslab_1, tmp11) ; ats_ptrget_mac(ats_ptr_type, tmp9) = tmp10 ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_5 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; __ats_lab_loop_5: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp17 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp18 = ats_ptrget_mac(ats_ptr_type, tmp17) ; tmp19 = atspre_iadd (arg1, 1) ; arg0 = tmp18 ; arg1 = tmp19 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp16 = arg1 ; break ; } while (0) ; return (tmp16) ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp15) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp15 = loop_5 (arg0, 0) ; return (tmp15) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_7: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp23 ; goto __ats_lab_loop_7 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp22) */ ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp21 = */ loop_7 (arg0) ; return /* (tmp21) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_typerase_error.dats: 2162(line=80, offs=3) -- 2620(line=100, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_finalize () { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_finalize: tmp13 = the_trans4errlst_get_1 () ; tmp14 = list_vt_length_01501_ats_ptr_type (tmp13) ; /* tmp20 = */ list_vt_free_01499_ats_ptr_type (tmp13) ; tmp25 = atspre_igt (tmp14, 0) ; if (tmp25) { /* tmp24 = */ atspre_fprintf_exn (stderr, ATSstrcst("patsopt(TYPERASE): there are [%i] errors in total.\n"), tmp14) ; } else { /* empty */ } /* end of [if] */ tmp26 = atspre_igt (tmp14, 0) ; if (tmp26) { tmp27 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN) ; /* tmp12 = */ ats_raise_exn (tmp27) ; } else { /* empty */ } /* end of [if] */ return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__the_trans4errlst_finalize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp3 = (ats_sum_ptr_type)0 ; statmp0 = ref_01088_ats_ptr_type (statmp3) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_typerase_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_sats.c0000664000175000017500000005323512655455557020216 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMvar_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMe1xp_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatcontyp_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatconptr_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMfilenv_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsub_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEerr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SKLABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEcst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEvar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextype_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextkind_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEfun_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEapp_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyarr_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyrec_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyarr_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGseq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMvar_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMe1xp_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatcontyp_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatconptr_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMfilenv_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsub_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEerr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31.tag = 31 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SKLABELED_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEcst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEvar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextype_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEextkind_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEfun_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEapp_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyarr_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEtyrec_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyarr_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGone_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2VARARGseq_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2.tag = 2 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dmacro2_eval0_dats.c0000664000175000017500000040743212655455557021231 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2sym_loc ; ats_ptr_type atslab_d2sym_qua ; ats_ptr_type atslab_d2sym_sym ; ats_ptr_type atslab_d2sym_pitmlst ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_11 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_16 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_17 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__M2ACARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vbool_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vchar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vfloat_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vstring_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vscode_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_cmp_90) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_d2exp_91) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_app_mac_arity_92) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_evalctx_extend_93) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_int_of_llint) (ats_llint_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_llint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_sadd) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_app_sym) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2expopt) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_bool_type d2sym_is_nonqua_1 (ats_ptr_type arg0) ; static ats_ptr_type eval0_app_add_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_sub_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_mul_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_errmac_loc_02045_ (ats_ptr_type arg0) ; static ats_int_type auxerr_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type eval0_app_cmp_int_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_lt_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_lte_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_gt_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_gte_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_eq_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type eval0_app_neq_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type d2exparg_get_d2explst_14 (ats_ptr_type arg0) ; static ats_ptr_type eval0_d2exparg_1_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type eval0_d2exparglst_1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static anairiats_rec_7 eval0_d2exparg_2_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static anairiats_rec_7 eval0_d2exparglst_2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxerr_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type eval0_app_eval_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type eval0_app_lift_22 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type eval0_car_23 (ats_ptr_type arg0) ; static ats_ptr_type eval0_cdr_24 (ats_ptr_type arg0) ; static ats_ptr_type eval0_isnil_25 (ats_ptr_type arg0) ; static ats_ptr_type eval0_iscons_26 (ats_ptr_type arg0) ; static ats_ptr_type eval0_islist_27 (ats_ptr_type arg0) ; static ats_ptr_type auxerr_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type eval0_d2var_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxerr_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type aux_37 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_void_type prerr_warning2_loc_02050_ (ats_ptr_type arg0) ; static ats_void_type auxwarn_40 (ats_ptr_type arg0) ; static ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type s2exparglst_join_39 (ats_ptr_type arg0) ; static ats_void_type auxerr_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_int_type loop_49 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_52 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static anairiats_rec_7 list_split_at_01440_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 1616(line=48, offs=28) -- 1647(line=48, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_dmacro2_eval0")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 2741(line=103, offs=1) -- 2882(line=107, offs=4) */ ATSstaticdec() ats_bool_type d2sym_is_nonqua_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_d2sym_is_nonqua_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2sym_qua) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp2), atslab_d0ynq_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [d2sym_is_nonqua_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 3345(line=130, offs=5) -- 3570(line=142, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_add_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab_eval0_app_add_2: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp7 = atspre_add_int_int (tmp5, tmp6) ; tmp4 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp4)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp4, atslab_0, tmp7) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp4 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp4 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp4) ; } /* end of [eval0_app_add_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 3602(line=144, offs=5) -- 3827(line=156, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_sub_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_int_type, tmp11) ; __ats_lab_eval0_app_sub_3: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_6_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp11 = atspre_sub_int_int (tmp9, tmp10) ; tmp8 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp8)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_0, tmp11) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp8 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp8 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp8) ; } /* end of [eval0_app_sub_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 3859(line=158, offs=5) -- 4084(line=170, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_mul_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; __ats_lab_eval0_app_mul_4: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_10_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp15 = atspre_mul_int_int (tmp13, tmp14) ; tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp12)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, tmp15) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp12) ; } /* end of [eval0_app_mul_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2215(line=77, offs=18) -- 2276(line=80, offs=2) */ ATSstaticdec() ats_void_type prerr_errmac_loc_02045_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; __ats_lab_prerr_errmac_loc_02045_: /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp19 = */ atspre_prerr_string (ATSstrcst(": error(mac)")) ; return /* (tmp19) */ ; } /* end of [prerr_errmac_loc_02045_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 4220(line=178, offs=5) -- 4522(line=188, offs=4) */ ATSstaticdec() ats_int_type auxerr_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_auxerr_6: /* tmp18 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst(": values are compared that do not support comparison.")) ; /* tmp22 = */ atspre_prerr_newline () ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp24)->tag = 90 ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_2, arg2) ; /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp24) ; tmp17 = 0 ; return (tmp17) ; } /* end of [auxerr_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 4136(line=174, offs=4) -- 4771(line=203, offs=4) */ ATSstaticdec() ats_int_type eval0_app_cmp_int_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp16) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; __ats_lab_eval0_app_cmp_int_5: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_14_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp16 = atspre_compare_int_int (tmp25, tmp26) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp16 = auxerr_6 (arg0, arg1, arg2) ; break ; } while (0) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp16 = auxerr_6 (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp16) ; } /* end of [eval0_app_cmp_int_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 4828(line=208, offs=1) -- 5003(line=215, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_lt_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; __ats_lab_eval0_app_lt_8: tmp28 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp29 = atspre_ilt (tmp28, 0) ; if (tmp29) { tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp27) ; } /* end of [eval0_app_lt_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 5038(line=218, offs=1) -- 5215(line=225, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_lte_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_int_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; __ats_lab_eval0_app_lte_9: tmp31 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp32 = atspre_ilte (tmp31, 0) ; if (tmp32) { tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp30) ; } /* end of [eval0_app_lte_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 5272(line=230, offs=1) -- 5447(line=237, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_gt_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; __ats_lab_eval0_app_gt_10: tmp34 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp35 = atspre_igt (tmp34, 0) ; if (tmp35) { tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp33) ; } /* end of [eval0_app_gt_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 5482(line=240, offs=1) -- 5659(line=247, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_gte_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_bool_type, tmp38) ; __ats_lab_eval0_app_gte_11: tmp37 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp38 = atspre_igte (tmp37, 0) ; if (tmp38) { tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp36) ; } /* end of [eval0_app_gte_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 5716(line=252, offs=1) -- 5891(line=259, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_eq_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; __ats_lab_eval0_app_eq_12: tmp40 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp41 = atspre_ieq (tmp40, 0) ; if (tmp41) { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp39) ; } /* end of [eval0_app_eq_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 5926(line=262, offs=1) -- 6102(line=269, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_neq_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; __ats_lab_eval0_app_neq_13: tmp43 = eval0_app_cmp_int_5 (arg0, arg1, arg2) ; tmp44 = atspre_ineq (tmp43, 0) ; if (tmp44) { tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_true ; } else { tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__m2val_false ; } /* end of [if] */ return (tmp42) ; } /* end of [eval0_app_neq_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 6159(line=274, offs=1) -- 6326(line=281, offs=4) */ ATSstaticdec() ats_ptr_type d2exparg_get_d2explst_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_d2exparg_get_d2explst_14: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp45 = tmp46 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp45 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp45) ; } /* end of [d2exparg_get_d2explst_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 6387(line=286, offs=1) -- 6640(line=299, offs=4) */ ATSstaticdec() ats_ptr_type eval0_d2exparg_1_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_eval0_d2exparg_1_15: tmp48 = d2exparg_get_d2explst_14 (arg3) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp48 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_6, tmp48, atslab_0) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp49) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp48 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp47 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp47) ; } /* end of [eval0_d2exparg_1_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 6675(line=302, offs=1) -- 6892(line=313, offs=2) */ ATSstaticdec() ats_ptr_type eval0_d2exparglst_1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab_eval0_d2exparglst_1_16: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp50 = eval0_d2exparg_1_15 (arg0, arg1, arg2, tmp51) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp50 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp50) ; } /* end of [eval0_d2exparglst_1_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 7006(line=322, offs=1) -- 7520(line=345, offs=4) */ ATSstaticdec() anairiats_rec_7 eval0_d2exparg_2_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_7, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab_eval0_d2exparg_2_17: tmp53 = d2exparg_get_d2explst_14 (arg3) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (tmp53 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_24_1: tmp54 = ats_caselptrlab_mac(anairiats_sum_6, tmp53, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_6, tmp53, atslab_1) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp54) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp55 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_6, tmp55, atslab_0) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp57) ; tmp52.atslab_0 = tmp56 ; tmp52.atslab_1 = tmp58 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (tmp55 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp59 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; tmp52.atslab_0 = tmp56 ; tmp52.atslab_1 = tmp59 ; break ; } while (0) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (tmp53 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp60 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; tmp61 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; tmp52.atslab_0 = tmp60 ; tmp52.atslab_1 = tmp61 ; break ; } while (0) ; return (tmp52) ; } /* end of [eval0_d2exparg_2_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 7555(line=348, offs=1) -- 7800(line=360, offs=4) */ ATSstaticdec() anairiats_rec_7 eval0_d2exparglst_2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (anairiats_rec_7, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab_eval0_d2exparglst_2_18: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp62 = eval0_d2exparg_2_17 (arg0, arg1, arg2, tmp63) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp64 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; tmp65 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; tmp62.atslab_0 = tmp64 ; tmp62.atslab_1 = tmp65 ; break ; } while (0) ; return (tmp62) ; } /* end of [eval0_d2exparglst_2_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 7903(line=367, offs=15) -- 9865(line=465, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_app_sym (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (anairiats_rec_7, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (anairiats_rec_7, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (anairiats_rec_7, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (anairiats_rec_7, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (anairiats_rec_7, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (anairiats_rec_7, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (anairiats_rec_7, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_bool_type, tmp95) ; ATSlocal (anairiats_rec_7, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_bool_type, tmp99) ; ATSlocal (anairiats_rec_7, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (anairiats_rec_7, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_app_sym: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; if (!tmp67) { goto __ats_lab_31_1 ; } tmp68 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp69 = ats_select_mac(tmp68, atslab_0) ; tmp70 = ats_select_mac(tmp68, atslab_1) ; tmp66 = eval0_app_add_2 (arg0, tmp69, tmp70) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; if (!tmp71) { goto __ats_lab_32_1 ; } tmp72 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp73 = ats_select_mac(tmp72, atslab_0) ; tmp74 = ats_select_mac(tmp72, atslab_1) ; tmp66 = eval0_app_sub_3 (arg0, tmp73, tmp74) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL) ; if (!tmp75) { goto __ats_lab_33_1 ; } tmp76 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp77 = ats_select_mac(tmp76, atslab_0) ; tmp78 = ats_select_mac(tmp76, atslab_1) ; tmp66 = eval0_app_mul_4 (arg0, tmp77, tmp78) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; if (!tmp79) { goto __ats_lab_34_1 ; } tmp80 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp81 = ats_select_mac(tmp80, atslab_0) ; tmp82 = ats_select_mac(tmp80, atslab_1) ; tmp66 = eval0_app_lt_8 (arg0, tmp81, tmp82) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ) ; if (!tmp83) { goto __ats_lab_35_1 ; } tmp84 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp85 = ats_select_mac(tmp84, atslab_0) ; tmp86 = ats_select_mac(tmp84, atslab_1) ; tmp66 = eval0_app_lte_9 (arg0, tmp85, tmp86) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; if (!tmp87) { goto __ats_lab_36_1 ; } tmp88 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp89 = ats_select_mac(tmp88, atslab_0) ; tmp90 = ats_select_mac(tmp88, atslab_1) ; tmp66 = eval0_app_gt_10 (arg0, tmp89, tmp90) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ) ; if (!tmp91) { goto __ats_lab_37_1 ; } tmp92 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp93 = ats_select_mac(tmp92, atslab_0) ; tmp94 = ats_select_mac(tmp92, atslab_1) ; tmp66 = eval0_app_gte_11 (arg0, tmp93, tmp94) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; if (!tmp95) { goto __ats_lab_38_1 ; } tmp96 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp97 = ats_select_mac(tmp96, atslab_0) ; tmp98 = ats_select_mac(tmp96, atslab_1) ; tmp66 = eval0_app_eq_12 (arg0, tmp97, tmp98) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT) ; if (!tmp99) { goto __ats_lab_39_1 ; } tmp100 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp101 = ats_select_mac(tmp100, atslab_0) ; tmp102 = ats_select_mac(tmp100, atslab_1) ; tmp66 = eval0_app_neq_13 (arg0, tmp101, tmp102) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ) ; if (!tmp103) { goto __ats_lab_40_1 ; } tmp104 = eval0_d2exparglst_2_18 (arg0, arg2, arg3, arg4) ; tmp105 = ats_select_mac(tmp104, atslab_0) ; tmp106 = ats_select_mac(tmp104, atslab_1) ; tmp66 = eval0_app_neq_13 (arg0, tmp105, tmp106) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp66 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_app_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 10010(line=477, offs=5) -- 10224(line=485, offs=4) */ ATSstaticdec() ats_ptr_type auxerr_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; __ats_lab_auxerr_21: /* tmp109 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp110 = */ atspre_prerr_string (ATSstrcst(": evaluation is performed on a value not representing code.")) ; /* tmp111 = */ atspre_prerr_newline () ; tmp108 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; return (tmp108) ; } /* end of [auxerr_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 9941(line=472, offs=1) -- 10543(line=501, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_eval_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; __ats_lab_eval0_app_eval_20: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; /* ats_ptr_type tmp113 ; */ tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; /* ats_ptr_type tmp114 ; */ tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_nil () ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, tmp113, (&tmp114), tmp112) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_free (tmp114) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp113) ; tmp107 = tmp115 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp107 = auxerr_21 (arg0, arg1) ; break ; } while (0) ; return (tmp107) ; } /* end of [eval0_app_eval_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 10576(line=504, offs=1) -- 10696(line=509, offs=4) */ ATSstaticdec() ats_ptr_type eval0_app_lift_22 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_eval0_app_lift_22: tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp (arg0, arg1) ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp118)->tag = 7 ; ats_selptrset_mac(anairiats_sum_8, tmp118, atslab_0, tmp119) ; return (tmp118) ; } /* end of [eval0_app_lift_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 10750(line=513, offs=5) -- 11008(line=524, offs=29) */ ATSstaticdec() ats_ptr_type eval0_car_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_eval0_car_23: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_43_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp121)->tag != 8) { goto __ats_lab_47_0 ; } __ats_lab_44_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_8, tmp121, atslab_0) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (tmp122 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_6, tmp122, atslab_0) ; tmp120 = tmp123 ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp120 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp120) ; } /* end of [eval0_car_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 11052(line=527, offs=5) -- 11322(line=538, offs=29) */ ATSstaticdec() ats_ptr_type eval0_cdr_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_eval0_cdr_24: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_49_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp125)->tag != 8) { goto __ats_lab_53_0 ; } __ats_lab_50_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_8, tmp125, atslab_0) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp126 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_6, tmp126, atslab_1) ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp124)->tag = 8 ; ats_selptrset_mac(anairiats_sum_8, tmp124, atslab_0, tmp127) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: __ats_lab_52_1: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp124) ; } /* end of [eval0_cdr_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 11387(line=543, offs=5) -- 11666(line=554, offs=29) */ ATSstaticdec() ats_ptr_type eval0_isnil_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab_eval0_isnil_25: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_55_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp129)->tag != 8) { goto __ats_lab_59_0 ; } __ats_lab_56_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_8, tmp129, atslab_0) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (tmp130 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp128 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp128)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp128, atslab_0, ats_false_bool) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (tmp130 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 11520(line=549, offs=7) -- 11602(line=550, offs=70)") ; } __ats_lab_58_1: tmp128 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp128)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp128, atslab_0, ats_true_bool) ; break ; } while (0) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp128 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp128 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp128) ; } /* end of [eval0_isnil_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 11712(line=557, offs=5) -- 11992(line=568, offs=29) */ ATSstaticdec() ats_ptr_type eval0_iscons_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab_eval0_iscons_26: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_61_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp132)->tag != 8) { goto __ats_lab_65_0 ; } __ats_lab_62_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_8, tmp132, atslab_0) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp133 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp131 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp131)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp131, atslab_0, ats_true_bool) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp133 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 11846(line=563, offs=7) -- 11928(line=564, offs=70)") ; } __ats_lab_64_1: tmp131 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp131)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp131, atslab_0, ats_false_bool) ; break ; } while (0) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp131 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: tmp131 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp131) ; } /* end of [eval0_iscons_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 12060(line=574, offs=1) -- 12247(line=580, offs=29) */ ATSstaticdec() ats_ptr_type eval0_islist_27 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_eval0_islist_27: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_67_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp135)->tag != 8) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp134 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp134)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp134, atslab_0, ats_true_bool) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp134 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp134)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp134, atslab_0, ats_false_bool) ; break ; } while (0) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp134 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp134) ; } /* end of [eval0_islist_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 12396(line=590, offs=5) -- 12611(line=598, offs=4) */ ATSstaticdec() ats_ptr_type auxerr_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; __ats_lab_auxerr_29: /* tmp138 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp139 = */ atspre_prerr_string (ATSstrcst(": the variable [")) ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp141 = */ atspre_prerr_string (ATSstrcst("] is unbound.")) ; /* tmp142 = */ atspre_prerr_newline () ; tmp137 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; return (tmp137) ; } /* end of [auxerr_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 12315(line=586, offs=1) -- 12760(line=607, offs=4) */ ATSstaticdec() ats_ptr_type eval0_d2var_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_eval0_d2var_28: tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dfind (arg1, arg2) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp143 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_10, tmp143, atslab_0) ; ATS_FREE(tmp143) ; tmp136 = tmp144 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp143 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp136 = auxerr_29 (arg0, arg2) ; break ; } while (0) ; return (tmp136) ; } /* end of [eval0_d2var_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 12968(line=619, offs=3) -- 13253(line=629, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp147 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp146) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst (arg0, arg1, arg2, tmp147) ; tmp145 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp145, atslab_0, tmp148) ; ats_selptrset_mac(anairiats_sum_6, tmp145, atslab_1, tmp149) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp145 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 13457(line=641, offs=3) -- 13584(line=646, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2expopt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2expopt: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_10, arg3, atslab_0) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp151) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp150 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vunit_5) ; break ; } while (0) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 13658(line=652, offs=3) -- 17309(line=793, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_char_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_llint_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_char_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_bool_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_bool_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_bool_type, tmp204) ; ATSlocal (ats_bool_type, tmp205) ; ATSlocal (ats_bool_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp: tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg3), atslab_d2exp_node) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp153)->tag != 1) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp152 = eval0_d2var_28 (arg0, arg1, tmp154) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp153)->tag != 2) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_3, tmp153, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp152)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp152, atslab_0, tmp155) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp153)->tag != 5) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_12, tmp153, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp152)->tag = 2 ; ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_0, tmp156) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp153)->tag != 6) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 3 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp157) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp153)->tag != 7) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 4 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp158) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp153)->tag != 8) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp159), atslab_token_node) ; if (((ats_sum_ptr_type)tmp160)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 14257(line=683, offs=9) -- 14305(line=684, offs=38)") ; } tmp161 = ats_caselptrlab_mac(anairiats_sum_14, tmp160, atslab_1) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (tmp161) ; tmp162 = atspre_int_of_llint (tmp163) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp152)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp152, atslab_0, tmp162) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp153)->tag != 9) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp164), atslab_token_node) ; if (((ats_sum_ptr_type)tmp165)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 14442(line=690, offs=9) -- 14478(line=691, offs=25)") ; } tmp166 = ats_caselptrlab_mac(anairiats_sum_12, tmp165, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp152)->tag = 2 ; ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_0, tmp166) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp153)->tag != 10) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp167), atslab_token_node) ; if (((ats_sum_ptr_type)tmp168)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 14571(line=695, offs=9) -- 14620(line=696, offs=37)") ; } tmp169 = ats_caselptrlab_mac(anairiats_sum_14, tmp168, atslab_1) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 3 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp169) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp153)->tag != 11) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp170 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp170), atslab_token_node) ; if (((ats_sum_ptr_type)tmp171)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 14718(line=700, offs=9) -- 14750(line=700, offs=41)") ; } tmp172 = ats_caselptrlab_mac(anairiats_sum_8, tmp171, atslab_0) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 4 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp172) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp153)->tag != 32) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp173 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp ; // tail call break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp153)->tag != 27) { goto __ats_lab_91_0 ; } __ats_lab_87_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_0) ; tmp175 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_1) ; tmp176 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp174), atslab_d2exp_node) ; do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp176)->tag != 67) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_8, tmp176, atslab_0) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long (arg0, tmp177, arg1, arg2, tmp175) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp176)->tag != 21) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_8, tmp176, atslab_0) ; tmp179 = d2sym_is_nonqua_1 (tmp178) ; if (!tmp179) { goto __ats_lab_90_1 ; } tmp180 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp178), atslab_d2sym_sym) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_app_sym (arg0, tmp180, arg1, arg2, tmp175) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: __ats_lab_90_1: /* tmp181 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp182 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression at (")) ; tmp184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp174), atslab_d2exp_loc) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp184) ; /* tmp185 = */ atspre_prerr_string (ATSstrcst(") should be a macro but it is not.")) ; /* tmp186 = */ atspre_prerr_newline () ; tmp152 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp153)->tag != 28) { goto __ats_lab_94_0 ; } __ats_lab_91_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_16, tmp153, atslab_1) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_16, tmp153, atslab_2) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_16, tmp153, atslab_3) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp187) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp190)->tag != 1) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_9, tmp190, atslab_0) ; if (tmp191) { arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp188 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp ; // tail call } else { tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2expopt (arg0, arg1, arg2, tmp189) ; } /* end of [if] */ break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: __ats_lab_93_1: tmp152 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp153)->tag != 67) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_8, tmp153, atslab_0) ; tmp193 = (ats_sum_ptr_type)0 ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long (arg0, tmp192, arg1, arg2, tmp193) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp153)->tag != 68) { goto __ats_lab_99_0 ; } __ats_lab_95_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_1) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp194)->tag != 0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp195) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 7 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp196) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp194)->tag != 1) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp195) ; tmp152 = eval0_app_eval_20 (arg0, tmp197) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (((ats_sum_ptr_type)tmp194)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp195) ; tmp198 = eval0_app_eval_20 (arg0, tmp199) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp (arg0, tmp198) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp152)->tag = 7 ; ats_selptrset_mac(anairiats_sum_8, tmp152, atslab_0, tmp200) ; break ; } while (0) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp153)->tag != 69) { goto __ats_lab_106_0 ; } __ats_lab_99_1: tmp201 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_0) ; tmp202 = ats_caselptrlab_mac(anairiats_sum_15, tmp153, atslab_1) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__eval0_d2explst (arg0, arg1, arg2, tmp202) ; do { /* branch: __ats_lab_100 */ __ats_lab_100_0: __ats_lab_100_1: tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp201, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR) ; if (!tmp204) { goto __ats_lab_101_1 ; } tmp152 = eval0_car_23 (tmp203) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: __ats_lab_101_1: tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp201, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR) ; if (!tmp205) { goto __ats_lab_102_1 ; } tmp152 = eval0_cdr_24 (tmp203) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: __ats_lab_102_1: tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp201, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL) ; if (!tmp206) { goto __ats_lab_103_1 ; } tmp152 = eval0_isnil_25 (tmp203) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: __ats_lab_103_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp201, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS) ; if (!tmp207) { goto __ats_lab_104_1 ; } tmp152 = eval0_iscons_26 (tmp203) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp201, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST) ; if (!tmp208) { goto __ats_lab_105_1 ; } tmp152 = eval0_islist_27 (tmp203) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: __ats_lab_105_1: tmp152 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: /* tmp209 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp210 = */ atspre_prerr_string (ATSstrcst(": the form of dynamic expression [")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg3) ; /* tmp212 = */ atspre_prerr_string (ATSstrcst("] is unsupported for macro expansion.")) ; /* tmp213 = */ atspre_prerr_newline () ; tmp215 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp215)->tag = 91 ; ats_selptrset_mac(anairiats_sum_15, tmp215, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp215, atslab_1, arg3) ; /* tmp214 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp215) ; tmp152 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Verr_9) ; break ; } while (0) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 18269(line=850, offs=5) -- 18709(line=861, offs=4) */ ATSstaticdec() ats_void_type auxerr_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_bool_type, tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_bool_type, tmp224) ; // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; __ats_lab_auxerr_34: /* tmp218 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp219 = */ atspre_prerr_string (ATSstrcst(": some static argument group of the macro [")) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (arg1) ; tmp222 = atspre_lt_int_int (arg2, 0) ; if (tmp222) { /* tmp221 = */ atspre_prerr_string (ATSstrcst("] is expected to contain more arguments.")) ; } else { /* empty */ } /* end of [if] */ tmp224 = atspre_gt_int_int (arg2, 0) ; if (tmp224) { /* tmp223 = */ atspre_prerr_string (ATSstrcst("] is expected to contain fewer arguments.")) ; } else { /* empty */ } /* end of [if] */ /* tmp225 = */ atspre_prerr_newline () ; tmp226 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp226)->tag = 93 ; ats_selptrset_mac(anairiats_sum_15, tmp226, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp226, atslab_1, arg1) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp226) ; return /* (tmp217) */ ; } /* end of [auxerr_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 18208(line=846, offs=21) -- 19242(line=885, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg: do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } __ats_lab_107_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_1) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_1) ; tmp232 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp232)->tag = 6 ; ats_selptrset_mac(anairiats_sum_8, tmp232, atslab_0, tmp229) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_sadd (arg7, tmp227, tmp232) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp228 ; arg6 = tmp230 ; arg7 = tmp231 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: /* tmp233 = */ auxerr_34 (arg0, arg1, 1) ; tmp216 = arg7 ; break ; } while (0) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: /* tmp234 = */ auxerr_34 (arg0, arg1, -1) ; tmp216 = arg7 ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_112_1: tmp216 = arg7 ; break ; } while (0) ; break ; } while (0) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 19388(line=895, offs=1) -- 19829(line=906, offs=4) */ ATSstaticdec() ats_void_type auxerr_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_bool_type, tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_bool_type, tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab_auxerr_36: /* tmp237 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp238 = */ atspre_prerr_string (ATSstrcst(": some dynamic argument group of the macro [")) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (arg1) ; tmp241 = atspre_lt_int_int (arg2, 0) ; if (tmp241) { /* tmp240 = */ atspre_prerr_string (ATSstrcst("] is expected to contain more arguments.")) ; } else { /* empty */ } /* end of [if] */ tmp243 = atspre_gt_int_int (arg2, 0) ; if (tmp243) { /* tmp242 = */ atspre_prerr_string (ATSstrcst("] is expected to contain fewer arguments.")) ; } else { /* empty */ } /* end of [if] */ /* tmp244 = */ atspre_prerr_newline () ; tmp245 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp245)->tag = 93 ; ats_selptrset_mac(anairiats_sum_15, tmp245, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp245, atslab_1, arg1) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp245) ; return /* (tmp236) */ ; } /* end of [auxerr_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 19856(line=908, offs=5) -- 20121(line=922, offs=4) */ ATSstaticdec() ats_ptr_type aux_37 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_bool_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab_aux_37: tmp247 = atspre_gte_int_int (arg1, 1) ; if (tmp247) { tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg2, arg3, arg4) ; } else { tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg2, arg3, arg4) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp246)->tag = 7 ; ats_selptrset_mac(anairiats_sum_8, tmp246, atslab_0, tmp248) ; } /* end of [if] */ return (tmp246) ; } /* end of [aux_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 20145(line=924, offs=5) -- 20487(line=939, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_38 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab_auxlst_38: do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp250 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_0) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ; tmp252 = aux_37 (arg0, arg1, arg2, arg3, tmp250) ; tmp253 = auxlst_38 (arg0, arg1, arg2, arg3, tmp251) ; tmp249 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp249, atslab_0, tmp252) ; ats_selptrset_mac(anairiats_sum_6, tmp249, atslab_1, tmp253) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_114_1: tmp249 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp249) ; } /* end of [auxlst_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 19327(line=890, offs=21) -- 21525(line=985, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } tmp254 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_1) ; if (tmp254 != (ats_sum_ptr_type)0) { goto __ats_lab_118_0 ; } __ats_lab_115_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } tmp256 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_1) ; if (tmp256 != (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_0) ; tmp258 = aux_37 (arg0, arg2, arg3, arg4, tmp257) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd (arg7, tmp255, tmp258) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: tmp259 = auxlst_38 (arg0, arg2, arg3, arg4, arg6) ; tmp260 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp260)->tag = 8 ; ats_selptrset_mac(anairiats_sum_8, tmp260, atslab_0, tmp259) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd (arg7, tmp255, tmp260) ; break ; } while (0) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; } __ats_lab_118_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_1) ; do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp263 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_0) ; tmp264 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_1) ; tmp265 = aux_37 (arg0, arg2, arg3, arg4, tmp263) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_dadd (arg7, tmp261, tmp265) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp262 ; arg6 = tmp264 ; arg7 = tmp266 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg ; // tail call break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_120_1: /* tmp267 = */ auxerr_36 (arg0, arg1, 1) ; tmp235 = arg7 ; break ; } while (0) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_121_1: do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (arg6 == (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp268 = */ auxerr_36 (arg0, arg1, -1) ; tmp235 = arg7 ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: // if (arg6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_123_1: tmp235 = arg7 ; break ; } while (0) ; break ; } while (0) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2870(line=111, offs=20) -- 2931(line=114, offs=2) */ ATSstaticdec() ats_void_type prerr_warning2_loc_02050_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; __ats_lab_prerr_warning2_loc_02050_: /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp272 = */ atspre_prerr_string (ATSstrcst(": warning(2)")) ; return /* (tmp272) */ ; } /* end of [prerr_warning2_loc_02050_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 21646(line=993, offs=5) -- 21788(line=997, offs=2) */ ATSstaticdec() ats_void_type auxwarn_40 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp274) ; __ats_lab_auxwarn_40: /* tmp271 = */ prerr_warning2_loc_02050_ (arg0) ; /* tmp274 = */ atspre_prerr_string (ATSstrcst(": the static macro argument is ignored.")) ; /* tmp270 = */ atspre_prerr_newline () ; return /* (tmp270) */ ; } /* end of [auxwarn_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab_loop_43: do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp285 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp285, atslab_0, tmp283) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp285 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp286 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp284 ; arg1 = arg1 ; arg2 = tmp286 ; goto __ats_lab_loop_43 ; // tail call break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp282) */ ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; // ATSlocal_void (tmp287) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp281 ; */ /* tmp287 = */ loop_43 (arg0, arg1, (&tmp281)) ; tmp280 = tmp281 ; return (tmp280) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 21584(line=990, offs=1) -- 22550(line=1028, offs=4) */ ATSstaticdec() ats_ptr_type s2exparglst_join_39 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; // ATSlocal_void (tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab_s2exparglst_join_39: do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_124_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp277 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp275), atslab_s2exparg_node) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp277)->tag != 2) { goto __ats_lab_130_0 ; } __ats_lab_125_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_8, tmp277, atslab_0) ; do { /* branch: __ats_lab_126 */ __ats_lab_126_0: if (tmp276 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_126_1: tmp279 = s2exparglst_join_39 (tmp276) ; tmp269 = list_append_01312_ats_ptr_type (tmp278, tmp279) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (tmp276 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp269 = tmp278 ; break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp277)->tag != 0) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp275), atslab_s2exparg_loc) ; /* tmp288 = */ auxwarn_40 (tmp289) ; arg0 = tmp276 ; goto __ats_lab_s2exparglst_join_39 ; // tail call break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: // if (((ats_sum_ptr_type)tmp277)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_131_1: tmp291 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, tmp275), atslab_s2exparg_loc) ; /* tmp290 = */ auxwarn_40 (tmp291) ; arg0 = tmp276 ; goto __ats_lab_s2exparglst_join_39 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp269 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp269) ; } /* end of [s2exparglst_join_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 22690(line=1037, offs=5) -- 23120(line=1048, offs=4) */ ATSstaticdec() ats_void_type auxerr_45 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; ATSlocal (ats_bool_type, tmp298) ; // ATSlocal_void (tmp299) ; ATSlocal (ats_bool_type, tmp300) ; // ATSlocal_void (tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; __ats_lab_auxerr_45: /* tmp294 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp295 = */ atspre_prerr_string (ATSstrcst(": the macro argument at (")) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg1) ; tmp298 = atspre_eq_int_int (arg3, 0) ; if (tmp298) { /* tmp297 = */ atspre_prerr_string (ATSstrcst(") is expected to be static.")) ; } else { /* empty */ } /* end of [if] */ tmp300 = atspre_gt_int_int (arg3, 0) ; if (tmp300) { /* tmp299 = */ atspre_prerr_string (ATSstrcst(") is expected to be dynamic.")) ; } else { /* empty */ } /* end of [if] */ /* tmp301 = */ atspre_prerr_newline () ; tmp302 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp302)->tag = 93 ; ats_selptrset_mac(anairiats_sum_15, tmp302, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_15, tmp302, atslab_1, arg2) ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp302) ; return /* (tmp293) */ ; } /* end of [auxerr_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 22631(line=1033, offs=20) -- 23799(line=1073, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arg: do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)arg5)->tag != 0) { goto __ats_lab_136_0 ; } __ats_lab_133_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_8, arg5, atslab_0) ; do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)arg6)->tag != 0) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp304 = ats_caselptrlab_mac(anairiats_sum_15, arg6, atslab_1) ; tmp305 = s2exparglst_join_39 (tmp304) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_sarg (arg0, arg1, arg2, arg3, arg4, tmp303, tmp305, arg7) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: // if (((ats_sum_ptr_type)arg6)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_135_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_5, arg6, atslab_1) ; /* tmp307 = */ auxerr_45 (arg0, tmp306, arg1, 0) ; tmp292 = arg7 ; break ; } while (0) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (((ats_sum_ptr_type)arg5)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_8, arg5, atslab_0) ; do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)arg6)->tag != 1) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp309 = ats_caselptrlab_mac(anairiats_sum_5, arg6, atslab_2) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_darg (arg0, arg1, arg2, arg3, arg4, tmp308, tmp309, arg7) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (((ats_sum_ptr_type)arg6)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_15, arg6, atslab_0) ; /* tmp311 = */ auxerr_45 (arg0, tmp310, arg1, 1) ; tmp292 = arg7 ; break ; } while (0) ; break ; } while (0) ; return (tmp292) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 23886(line=1078, offs=23) -- 24263(line=1095, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp313 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp314 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_1) ; if (arg6 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 24003(line=1086, offs=9) -- 24031(line=1086, offs=37)") ; } tmp315 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_0) ; tmp316 = ats_caselptrlab_mac(anairiats_sum_6, arg6, atslab_1) ; tmp317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arg (arg0, arg1, arg2, arg3, arg4, tmp313, tmp315, arg7) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = tmp314 ; arg6 = tmp316 ; arg7 = tmp317 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst ; // tail call break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp312 = arg7 ; break ; } while (0) ; return (tmp312) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_49 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_int_type, tmp323) ; __ats_lab_loop_49: do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp323 = atspre_isucc (arg1) ; arg0 = tmp322 ; arg1 = tmp323 ; goto __ats_lab_loop_49 ; // tail call break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_142_1: tmp321 = arg1 ; break ; } while (0) ; return (tmp321) ; } /* end of [loop_49] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp320) ; __ats_lab_list_length_01410_ats_ptr_type: tmp320 = loop_49 (arg0, 0) ; return (tmp320) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 24391(line=1102, offs=20) -- 25380(line=1144, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_int_type, tmp319) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; // ATSlocal_void (tmp326) ; ATSlocal (ats_bool_type, tmp327) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp330) ; // ATSlocal_void (tmp331) ; ATSlocal (ats_bool_type, tmp332) ; // ATSlocal_void (tmp333) ; ATSlocal (ats_bool_type, tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long: tmp319 = list_length_01410_ats_ptr_type (arg4) ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst (arg1) ; tmp325 = list_length_01410_ats_ptr_type (tmp324) ; tmp327 = atspre_ineq (tmp319, tmp325) ; if (tmp327) { /* tmp328 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp329 = */ atspre_prerr_string (ATSstrcst(": the macro function [")) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (arg1) ; tmp332 = atspre_igt (tmp319, tmp325) ; if (tmp332) { /* tmp331 = */ atspre_prerr_string (ATSstrcst("] is overlly applied.")) ; } else { /* empty */ } /* end of [if] */ tmp334 = atspre_ilt (tmp319, tmp325) ; if (tmp334) { /* tmp333 = */ atspre_prerr_string (ATSstrcst("] is applied insufficiently.")) ; } else { /* empty */ } /* end of [if] */ /* tmp335 = */ atspre_prerr_newline () ; tmp336 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp336)->tag = 92 ; ats_selptrset_mac(anairiats_sum_4, tmp336, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp336, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp336, atslab_2, arg4) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp336) ; } else { /* empty */ } /* end of [if] */ tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst (arg0, arg1, 1, arg2, arg3, tmp324, arg4, tmp337) ; tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def (arg1) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, tmp338, arg3, tmp340) ; /* tmp341 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp338) ; tmp318 = tmp339 ; return (tmp318) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_long] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 63850(line=2298, offs=7) -- 64282(line=2312, offs=8) */ ATSstaticdec() ats_ptr_type loop_52 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_bool_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_int_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; __ats_lab_loop_52: tmp361 = atspre_igt (arg1, 0) ; if (tmp361) { // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp362 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp364 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp364, atslab_0, tmp362) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp364 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp365 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; tmp366 = atspre_isub (arg1, 1) ; arg0 = tmp363 ; arg1 = tmp366 ; arg2 = tmp365 ; goto __ats_lab_loop_52 ; // tail call } else { tmp367 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp367 ; tmp360 = arg0 ; } /* end of [if] */ return (tmp360) ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 63790(line=2296, offs=23) -- 64357(line=2316, offs=4) */ ATSstaticdec() anairiats_rec_7 list_split_at_01440_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_7, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp368) ; __ats_lab_list_split_at_01440_ats_ptr_type: /* ats_ptr_type tmp359 ; */ tmp368 = loop_52 (arg0, arg1, (&tmp359)) ; tmp358.atslab_0 = tmp359 ; tmp358.atslab_1 = tmp368 ; return (tmp358) ; } /* end of [list_split_at_01440_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval0.dats: 25509(line=1152, offs=3) -- 27198(line=1228, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_int_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; // ATSlocal_void (tmp346) ; ATSlocal (ats_bool_type, tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_bool_type, tmp356) ; ATSlocal (anairiats_rec_7, tmp357) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short: tmp343 = list_length_01410_ats_ptr_type (arg4) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_arglst (arg1) ; tmp345 = list_length_01410_ats_ptr_type (tmp344) ; tmp347 = atspre_ilt (tmp343, tmp345) ; if (tmp347) { /* tmp348 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp349 = */ atspre_prerr_string (ATSstrcst(": the macro function [")) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (arg1) ; /* tmp351 = */ atspre_prerr_string (ATSstrcst("] is applied insufficiently.")) ; /* tmp352 = */ atspre_prerr_newline () ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp353)->tag = 92 ; ats_selptrset_mac(anairiats_sum_4, tmp353, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_4, tmp353, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp353, atslab_2, arg4) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp353) ; } else { /* empty */ } /* end of [if] */ /* ats_ptr_type tmp354 ; */ tmp354 = (ats_sum_ptr_type)0 ; tmp356 = atspre_ilte (tmp345, tmp343) ; if (tmp356) { tmp357 = list_split_at_01440_ats_ptr_type (arg4, tmp345) ; tmp369 = ats_select_mac(tmp357, atslab_0) ; tmp370 = ats_select_mac(tmp357, atslab_1) ; tmp354 = ats_castfn_mac(ats_ptr_type, tmp369) ; tmp355 = tmp370 ; } else { tmp354 = arg4 ; tmp355 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_nil () ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__evalctx_extend_arglst (arg0, arg1, 0, arg2, arg3, tmp344, tmp354, tmp372) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_def (arg1) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, tmp371, arg3, tmp373) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__evalctx_free (tmp371) ; do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (tmp355 != (ats_sum_ptr_type)0) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp342 = tmp374 ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: // if (tmp355 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_144_1: tmp376 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp374), atslab_d2exp_node) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp376)->tag != 27) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp377 = ats_caselptrlab_mac(anairiats_sum_15, tmp376, atslab_0) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_15, tmp376, atslab_1) ; tmp379 = list_append_01312_ats_ptr_type (tmp378, tmp355) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst (arg0, tmp377, tmp379) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: __ats_lab_146_1: tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst (arg0, tmp374, tmp355) ; break ; } while (0) ; break ; } while (0) ; return (tmp342) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_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 () ; #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_dmacro2_eval0_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_global_sats.c0000664000175000017500000000205012655455557020055 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_global_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp2_print_dats.c0000664000175000017500000054140012655455557021412 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_d2sym_loc ; ats_ptr_type atslab_d2sym_qua ; ats_ptr_type atslab_d2sym_sym ; ats_ptr_type atslab_d2sym_pitmlst ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_i2nvarg_var ; ats_ptr_type atslab_i2nvarg_type ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_loopi2nv_loc ; ats_ptr_type atslab_loopi2nv_svs ; ats_ptr_type atslab_loopi2nv_gua ; ats_ptr_type atslab_loopi2nv_arg ; ats_ptr_type atslab_loopi2nv_met ; ats_ptr_type atslab_loopi2nv_res ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_26 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_27 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMmacvar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Terrpat_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop2_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eliteral_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efoldat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efreeat_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Escasehead_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eeffmask_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evcopyenv_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etempenver_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efix_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efor_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhile_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eloopexn_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etrywith_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacfun_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolassert_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esolverify_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eerrexp_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cpragma_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALarrsub_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALnone_5) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitmlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2atlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvresstate) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__fprint_i2nvarg) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 2107(line=73, offs=3) -- 3158(line=113, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMcst(")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp1) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMvar(")) ; /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp4) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMcon(")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (arg0, tmp7) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMe1xp(")) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp10) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMsymdef(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp13) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitmlst (arg0, tmp14) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMmacdef(")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac (arg0, tmp19) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("D2ITMmacvar(")) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp22) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3229(line=118, offs=13) -- 3263(line=118, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2itm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2itm: /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (stdout, arg0) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3286(line=120, offs=13) -- 3320(line=120, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2itm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2itm: /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (stderr, arg0) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_bool_type, tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_int_type, tmp35) ; __ats_lab_aux_5: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp33 = atspre_gt_int_int (arg1, 0) ; if (tmp33) { /* tmp32 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp34 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp30) ; tmp35 = atspre_add_int_int (arg1, 1) ; arg0 = tmp31 ; arg1 = tmp35 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp29) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp28) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp28 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp28) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3371(line=126, offs=3) -- 3426(line=126, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itmlst: /* tmp27 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm) ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3503(line=133, offs=3) -- 3730(line=140, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_int_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitm: tmp37 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("D2PITM(")) ; /* tmp40 = */ atspre_fprint_int (arg0, tmp37) ; /* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (arg0, tmp38) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp36) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3787(line=144, offs=3) -- 3843(line=144, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitmlst: /* tmp43 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitm) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2pitmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 3922(line=151, offs=3) -- 4029(line=154, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_d2sym_qua) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_d0ynq (arg0, tmp46) ; tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_d2sym_sym) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp47) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4076(line=157, offs=13) -- 4108(line=157, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2sym (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2sym: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (stdout, arg0) ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4131(line=159, offs=13) -- 4163(line=159, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (stderr, arg0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4216(line=165, offs=3) -- 4453(line=178, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("PCKcon")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("PCKlincon")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("PCKfree")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("PCKunfold")) ; break ; } while (0) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4506(line=181, offs=14) -- 4534(line=181, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_pckind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_pckind: /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind (stdout, arg0) ; return /* (tmp51) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_pckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4558(line=183, offs=14) -- 4586(line=183, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_pckind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_pckind: /* tmp52 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind (stderr, arg0) ; return /* (tmp52) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_pckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab_fprintopt_01695_ats_ptr_type: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp57 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp55) ; /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp54) */ ; } /* end of [fprintopt_01695_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4640(line=189, offs=3) -- 4692(line=189, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckindopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckindopt: /* tmp53 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind) ; return /* (tmp53) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckindopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 4768(line=196, offs=3) -- 7842(line=335, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_bool_type, tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_int_type, tmp66) ; // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_char_type, tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at: tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_p2at_node) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp59)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tany()")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp59)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tvar(")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp60) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp59)->tag != 5) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_7, tmp59, atslab_0) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tbool(")) ; /* tmp65 = */ atspre_fprint_bool (arg0, tmp63) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp59)->tag != 3) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_8, tmp59, atslab_0) ; /* tmp67 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tint(")) ; /* tmp68 = */ atspre_fprint_int (arg0, tmp66) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp59)->tag != 4) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tintrep(")) ; /* tmp71 = */ atspre_fprint_string (arg0, tmp69) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp59)->tag != 6) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_9, tmp59, atslab_0) ; /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tchar(")) ; /* tmp74 = */ atspre_fprint_char (arg0, tmp72) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp59)->tag != 7) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tfloat(")) ; /* tmp77 = */ atspre_fprint_string (arg0, tmp75) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp59)->tag != 8) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp79 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tstring(")) ; /* tmp80 = */ atspre_fprint_string (arg0, tmp78) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp59)->tag != 9) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp81 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp82 = */ atspre_fprint_string (arg0, ATSstrcst("P2Ti0nt(")) ; /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp81) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp59)->tag != 10) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp85 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tf0loat(")) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp84) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp59)->tag != 11) { goto __ats_lab_26_0 ; } __ats_lab_25_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tempty()")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp59)->tag != 2) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_1) ; tmp89 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_2) ; tmp90 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_3) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_4) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_10, tmp59, atslab_5) ; /* tmp93 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tcon(")) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind (arg0, tmp87) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp88) ; /* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst (arg0, tmp89) ; /* tmp99 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp90) ; /* tmp101 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp102 = */ atspre_fprint_int (arg0, tmp91) ; /* tmp103 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (arg0, tmp92) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp59)->tag != 18) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_11, tmp59, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_11, tmp59, atslab_1) ; /* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tlist(")) ; /* tmp108 = */ atspre_fprint_int (arg0, tmp105) ; /* tmp109 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (arg0, tmp106) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp59)->tag != 13) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_1) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_12, tmp59, atslab_2) ; /* tmp114 = */ atspre_fprint_string (arg0, ATSstrcst("P2Ttup(")) ; /* tmp115 = */ atspre_fprint_int (arg0, tmp111) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp117 = */ atspre_fprint_int (arg0, tmp112) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2atlst (arg0, tmp113) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp59)->tag != 12) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_11, tmp59, atslab_0) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_11, tmp59, atslab_1) ; /* tmp122 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tlst(")) ; /* tmp123 = */ atspre_fprint_int (arg0, tmp120) ; /* tmp124 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp125 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (arg0, tmp121) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp59)->tag != 14) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_1) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("P2Trefas(")) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp126) ; /* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (arg0, tmp127) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp59)->tag != 15) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_0) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_1) ; /* tmp134 = */ atspre_fprint_string (arg0, ATSstrcst("P2Texist(")) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp132) ; /* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (arg0, tmp133) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp59)->tag != 16) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_0, tmp59, atslab_0) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tvbox(")) ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp138) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp59)->tag != 17) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_1) ; /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst("P2Tann(")) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (arg0, tmp141) ; /* tmp145 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp146 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp142) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (((ats_sum_ptr_type)tmp59)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst("P2Terrpat()")) ; break ; } while (0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 7910(line=340, offs=12) -- 7943(line=340, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at: /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (stdout, arg0) ; return /* (tmp147) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 7965(line=342, offs=12) -- 7998(line=342, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp148) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2at: /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (stderr, arg0) ; return /* (tmp148) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8050(line=348, offs=3) -- 8104(line=348, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst: /* tmp149 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at) ; return /* (tmp149) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8159(line=352, offs=15) -- 8197(line=352, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2atlst: /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (stdout, arg0) ; return /* (tmp150) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8222(line=354, offs=15) -- 8260(line=354, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2atlst: /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (stderr, arg0) ; return /* (tmp151) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8312(line=360, offs=3) -- 8567(line=366, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2at: do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp153) ; /* tmp156 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2at (arg0, tmp154) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; break ; } while (0) ; return /* (tmp152) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8626(line=371, offs=3) -- 8683(line=371, offs=60) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2atlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp157) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2atlst: /* tmp157 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2at) ; return /* (tmp157) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labp2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 8758(line=378, offs=3) -- 21446(line=878, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_int_type, tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_bool_type, tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; ATSlocal (ats_char_type, tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_char_type, tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_int_type, tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; // ATSlocal_void (tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; ATSlocal (ats_int_type, tmp337) ; ATSlocal (ats_int_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; ATSlocal (ats_int_type, tmp346) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_int_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; // ATSlocal_void (tmp386) ; // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; // ATSlocal_void (tmp404) ; // ATSlocal_void (tmp405) ; // ATSlocal_void (tmp406) ; // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; // ATSlocal_void (tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; ATSlocal (ats_int_type, tmp418) ; ATSlocal (ats_int_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; // ATSlocal_void (tmp426) ; // ATSlocal_void (tmp427) ; // ATSlocal_void (tmp428) ; // ATSlocal_void (tmp429) ; ATSlocal (ats_int_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; // ATSlocal_void (tmp434) ; // ATSlocal_void (tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; // ATSlocal_void (tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; // ATSlocal_void (tmp445) ; // ATSlocal_void (tmp446) ; // ATSlocal_void (tmp447) ; // ATSlocal_void (tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; // ATSlocal_void (tmp453) ; // ATSlocal_void (tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; // ATSlocal_void (tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; // ATSlocal_void (tmp472) ; // ATSlocal_void (tmp473) ; // ATSlocal_void (tmp474) ; // ATSlocal_void (tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; // ATSlocal_void (tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; // ATSlocal_void (tmp487) ; // ATSlocal_void (tmp488) ; // ATSlocal_void (tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; // ATSlocal_void (tmp492) ; // ATSlocal_void (tmp493) ; // ATSlocal_void (tmp494) ; // ATSlocal_void (tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; // ATSlocal_void (tmp498) ; // ATSlocal_void (tmp499) ; // ATSlocal_void (tmp500) ; // ATSlocal_void (tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; // ATSlocal_void (tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; // ATSlocal_void (tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; // ATSlocal_void (tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; // ATSlocal_void (tmp524) ; // ATSlocal_void (tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; // ATSlocal_void (tmp527) ; // ATSlocal_void (tmp528) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp: tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp159)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp160 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ecst(")) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp160) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp159)->tag != 1) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst("D2Evar(")) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp163) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp159)->tag != 2) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_8, tmp159, atslab_0) ; /* tmp167 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eint(")) ; /* tmp168 = */ atspre_fprint_int (arg0, tmp166) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp159)->tag != 3) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp170 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eintrep(")) ; /* tmp171 = */ atspre_fprint_string (arg0, tmp169) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp159)->tag != 4) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_7, tmp159, atslab_0) ; /* tmp173 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ebool(")) ; /* tmp174 = */ atspre_fprint_bool (arg0, tmp172) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp159)->tag != 5) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_9, tmp159, atslab_0) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("D2Echar(")) ; /* tmp177 = */ atspre_fprint_char (arg0, tmp175) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp159)->tag != 6) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp179 = */ atspre_fprint_string (arg0, ATSstrcst("D2Efloat(")) ; /* tmp180 = */ atspre_fprint_string (arg0, tmp178) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp159)->tag != 7) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp182 = */ atspre_fprint_string (arg0, ATSstrcst("D2Estring(")) ; /* tmp183 = */ atspre_fprint_string (arg0, tmp181) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp159)->tag != 8) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp184), atslab_token_node) ; if (((ats_sum_ptr_type)tmp185)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 9742(line=419, offs=9) -- 9803(line=421, offs=23)") ; } tmp186 = ats_caselptrlab_mac(anairiats_sum_15, tmp185, atslab_1) ; /* tmp187 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ei0nt(")) ; /* tmp188 = */ atspre_fprint_string (arg0, tmp186) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp159)->tag != 9) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp189), atslab_token_node) ; if (((ats_sum_ptr_type)tmp190)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 9910(line=425, offs=9) -- 9939(line=425, offs=38)") ; } tmp191 = ats_caselptrlab_mac(anairiats_sum_9, tmp190, atslab_0) ; /* tmp192 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ec0har(")) ; /* tmp193 = */ atspre_fprint_char (arg0, tmp191) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp159)->tag != 10) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; tmp195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp194), atslab_token_node) ; if (((ats_sum_ptr_type)tmp195)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 10049(line=429, offs=9) -- 10112(line=431, offs=23)") ; } tmp196 = ats_caselptrlab_mac(anairiats_sum_15, tmp195, atslab_1) ; /* tmp197 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ef0loat(")) ; /* tmp198 = */ atspre_fprint_string (arg0, tmp196) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp159)->tag != 11) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; tmp200 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp199), atslab_token_node) ; if (((ats_sum_ptr_type)tmp200)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 10225(line=435, offs=9) -- 10256(line=435, offs=40)") ; } tmp201 = ats_caselptrlab_mac(anairiats_sum_0, tmp200, atslab_0) ; /* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("D2Es0tring(")) ; /* tmp203 = */ atspre_fprint_string (arg0, tmp201) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp159)->tag != 15) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp205 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ecstsp(")) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (arg0, tmp204) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp159)->tag != 16) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp208 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eliteral(")) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp207) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp159)->tag != 12) { goto __ats_lab_52_0 ; } __ats_lab_51_1: /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etop()")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp159)->tag != 13) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp211 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etop2(")) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp210) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp159)->tag != 14) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eempty()")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp159)->tag != 17) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp215 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eextval(")) ; /* tmp216 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp213) ; /* tmp217 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp218 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp219 = */ atspre_fprint_string (arg0, tmp214) ; /* tmp220 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp159)->tag != 18) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_1) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_2) ; /* tmp224 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eextfcall(")) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp221) ; /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp227 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp228 = */ atspre_fprint_string (arg0, tmp222) ; /* tmp229 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp230 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp223) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp159)->tag != 19) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_1) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_2) ; tmp235 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_3) ; /* tmp236 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eextmcall(")) ; /* tmp237 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp232) ; /* tmp238 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp233) ; /* tmp240 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp241 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp242 = */ atspre_fprint_string (arg0, tmp234) ; /* tmp243 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp235) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp159)->tag != 62) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_8, tmp159, atslab_0) ; /* tmp247 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eloopexn(")) ; /* tmp248 = */ atspre_fprint_int (arg0, tmp246) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp159)->tag != 20) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_18, tmp159, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_18, tmp159, atslab_2) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_18, tmp159, atslab_3) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_18, tmp159, atslab_5) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("D2Econ(")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp249) ; /* tmp255 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp256 = */ fprintlst_01694_ats_ptr_type (arg0, tmp250, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg) ; /* tmp257 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp258 = */ atspre_fprint_int (arg0, tmp251) ; /* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp252) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp159)->tag != 21) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp261 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp262 = */ atspre_fprint_string (arg0, ATSstrcst("D2Esym(")) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (arg0, tmp261) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp159)->tag != 22) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp264 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp265 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp266 = */ atspre_fprint_string (arg0, ATSstrcst("D2Efoldat(")) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst (arg0, tmp264) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp265) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp159)->tag != 23) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp271 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp272 = */ atspre_fprint_string (arg0, ATSstrcst("D2Efreeat(")) ; /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst (arg0, tmp270) ; /* tmp274 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp271) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp159)->tag != 24) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp276 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp277 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etmpid(")) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp276) ; /* tmp280 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp277) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp159)->tag != 25) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp284 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elet(\n")) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist (arg0, tmp282) ; /* tmp286 = */ atspre_fprint_string (arg0, ATSstrcst("\n>>in-of-let<<\n")) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp283) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp159)->tag != 26) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp288 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp289 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp290 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ewhere(")) ; /* tmp291 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp288) ; /* tmp292 = */ atspre_fprint_string (arg0, ATSstrcst(";\n")) ; /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist (arg0, tmp289) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp159)->tag != 27) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eapplst(")) ; /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp294) ; /* tmp298 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparglst (arg0, tmp295) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp159)->tag != 28) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp300 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_1) ; tmp301 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_2) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_3) ; /* tmp303 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eifhead(")) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp300) ; /* tmp305 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp301) ; /* tmp307 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt (arg0, tmp302) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp159)->tag != 29) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp309 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_1) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_2) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_17, tmp159, atslab_3) ; /* tmp312 = */ atspre_fprint_string (arg0, ATSstrcst("D2Esifhead(")) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp309) ; /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp310) ; /* tmp316 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp311) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp159)->tag != 30) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp318 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ecasehead(")) ; /* tmp319 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp159)->tag != 31) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("D2Escasehead(")) ; /* tmp321 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp159)->tag != 32) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp322 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp323 = */ atspre_fprint_string (arg0, ATSstrcst("D2Esing(")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp322) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp159)->tag != 33) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_11, tmp159, atslab_0) ; tmp326 = ats_caselptrlab_mac(anairiats_sum_11, tmp159, atslab_1) ; /* tmp327 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elist(")) ; /* tmp328 = */ atspre_fprint_int (arg0, tmp325) ; /* tmp329 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp326) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp159)->tag != 34) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp331 = ats_caselptrlab_mac(anairiats_sum_19, tmp159, atslab_1) ; tmp332 = ats_caselptrlab_mac(anairiats_sum_19, tmp159, atslab_2) ; /* tmp333 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elst(")) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt (arg0, tmp331) ; /* tmp335 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp332) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp159)->tag != 35) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_0) ; tmp338 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_1) ; tmp339 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_2) ; /* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etup(knd=")) ; /* tmp341 = */ atspre_fprint_int (arg0, tmp337) ; /* tmp342 = */ atspre_fprint_string (arg0, ATSstrcst("; npf=")) ; /* tmp343 = */ atspre_fprint_int (arg0, tmp338) ; /* tmp344 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp339) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp159)->tag != 36) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp346 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_0) ; tmp347 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_1) ; tmp348 = ats_caselptrlab_mac(anairiats_sum_12, tmp159, atslab_2) ; /* tmp349 = */ atspre_fprint_string (arg0, ATSstrcst("D2Erec(knd=")) ; /* tmp350 = */ atspre_fprint_int (arg0, tmp346) ; /* tmp351 = */ atspre_fprint_string (arg0, ATSstrcst("; npf=")) ; /* tmp352 = */ atspre_fprint_int (arg0, tmp347) ; /* tmp353 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2explst (arg0, tmp348) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp159)->tag != 37) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp356 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eseq(")) ; /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp355) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp159)->tag != 47) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp359 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eraise(")) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp358) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp159)->tag != 48) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp362 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eeffmask(")) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp361) ; /* tmp365 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp362) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp159)->tag != 49) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp367 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp368 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eshowtype(")) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp367) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp159)->tag != 50) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_11, tmp159, atslab_0) ; tmp371 = ats_caselptrlab_mac(anairiats_sum_11, tmp159, atslab_1) ; /* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst("D2Evcopyenv(")) ; /* tmp373 = */ atspre_fprint_int (arg0, tmp370) ; /* tmp374 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp371) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp159)->tag != 51) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp377 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etempenver(")) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp376) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp159)->tag != 38) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp379 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp380 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp381 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eselab(")) ; /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp379) ; /* tmp383 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst (arg0, tmp380) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp159)->tag != 39) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp385 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp386 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eptrof(")) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp385) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp159)->tag != 40) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp388 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp389 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eviewat(")) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp388) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp159)->tag != 41) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp391 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp392 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ederef(")) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp391) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp159)->tag != 42) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp394 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp395 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp396 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eassgn(")) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp394) ; /* tmp398 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp395) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp159)->tag != 43) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp400 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp401 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp402 = */ atspre_fprint_string (arg0, ATSstrcst("D2Exchng(")) ; /* tmp403 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp400) ; /* tmp404 = */ atspre_fprint_string (arg0, ATSstrcst(" :=: ")) ; /* tmp405 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp401) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp159)->tag != 44) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp406 = */ atspre_fprint_string (arg0, ATSstrcst("D2Earrsub(")) ; /* tmp407 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp159)->tag != 45) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp408 = */ atspre_fprint_string (arg0, ATSstrcst("D2Earrpsz(")) ; /* tmp409 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp159)->tag != 46) { goto __ats_lab_90_0 ; } __ats_lab_89_1: /* tmp410 = */ atspre_fprint_string (arg0, ATSstrcst("D2Earrinit(")) ; /* tmp411 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp159)->tag != 52) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp412 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp413 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp414 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eexist(")) ; /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg (arg0, tmp412) ; /* tmp416 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp413) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp159)->tag != 53) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp418 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_0) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_1) ; tmp420 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_2) ; tmp421 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_3) ; /* tmp422 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elam_dyn(")) ; /* tmp423 = */ atspre_fprint_int (arg0, tmp418) ; /* tmp424 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp425 = */ atspre_fprint_int (arg0, tmp419) ; /* tmp426 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp427 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (arg0, tmp420) ; /* tmp428 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp421) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp159)->tag != 54) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_0) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_1) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_2) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_20, tmp159, atslab_3) ; /* tmp434 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elaminit_dyn(")) ; /* tmp435 = */ atspre_fprint_int (arg0, tmp430) ; /* tmp436 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp437 = */ atspre_fprint_int (arg0, tmp431) ; /* tmp438 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp439 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_p2atlst (arg0, tmp432) ; /* tmp440 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp433) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp159)->tag != 55) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp442 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_0) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_1) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_2) ; /* tmp445 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elam_sta(")) ; /* tmp446 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp442) ; /* tmp447 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp448 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp443) ; /* tmp449 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp444) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp159)->tag != 56) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp451 = */ atspre_fprint_string (arg0, ATSstrcst("D2Elam_met(")) ; /* tmp452 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp159)->tag != 57) { goto __ats_lab_96_0 ; } __ats_lab_95_1: /* tmp453 = */ atspre_fprint_string (arg0, ATSstrcst("D2Efix(")) ; /* tmp454 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp159)->tag != 58) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp455 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp456 = */ atspre_fprint_string (arg0, ATSstrcst("D2Edelay(")) ; /* tmp457 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp455) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp159)->tag != 59) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp458 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp459 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp460 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eldelay(")) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp458) ; /* tmp462 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp463 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt (arg0, tmp459) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp159)->tag != 60) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp464 = ats_caselptrlab_mac(anairiats_sum_21, tmp159, atslab_0) ; tmp465 = ats_caselptrlab_mac(anairiats_sum_21, tmp159, atslab_1) ; tmp466 = ats_caselptrlab_mac(anairiats_sum_21, tmp159, atslab_2) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_21, tmp159, atslab_3) ; tmp468 = ats_caselptrlab_mac(anairiats_sum_21, tmp159, atslab_4) ; /* tmp469 = */ atspre_fprint_string (arg0, ATSstrcst("D2Efor(")) ; /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv (arg0, tmp464) ; /* tmp471 = */ atspre_fprint_string (arg0, ATSstrcst("; init=")) ; /* tmp472 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp465) ; /* tmp473 = */ atspre_fprint_string (arg0, ATSstrcst("; test=")) ; /* tmp474 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp466) ; /* tmp475 = */ atspre_fprint_string (arg0, ATSstrcst("; post=")) ; /* tmp476 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp467) ; /* tmp477 = */ atspre_fprint_string (arg0, ATSstrcst("; body=")) ; /* tmp478 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp468) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp159)->tag != 61) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp479 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_0) ; tmp480 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_1) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_16, tmp159, atslab_2) ; /* tmp482 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ewhile(")) ; /* tmp483 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv (arg0, tmp479) ; /* tmp484 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp480) ; /* tmp486 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp481) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp159)->tag != 63) { goto __ats_lab_101_0 ; } __ats_lab_100_1: /* tmp488 = */ atspre_fprint_string (arg0, ATSstrcst("D2Etrywith(")) ; /* tmp489 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp159)->tag != 64) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp490 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp492 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eann_type(")) ; /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp490) ; /* tmp494 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp495 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp491) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp159)->tag != 65) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp496 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp498 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eann_seff(")) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp496) ; /* tmp500 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp501 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp497) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp159)->tag != 66) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp502 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp503 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp504 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eann_funclo(")) ; /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp502) ; /* tmp506 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (arg0, tmp503) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp159)->tag != 67) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp508 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp509 = */ atspre_fprint_string (arg0, ATSstrcst("D2Emac(")) ; /* tmp510 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2mac (arg0, tmp508) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp159)->tag != 68) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp512 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp513 = */ atspre_fprint_string (arg0, ATSstrcst("D2Emacsyn(")) ; /* tmp514 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_macsynkind (arg0, tmp511) ; /* tmp515 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp516 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp512) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp159)->tag != 69) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_0) ; tmp518 = ats_caselptrlab_mac(anairiats_sum_1, tmp159, atslab_1) ; /* tmp519 = */ atspre_fprint_string (arg0, ATSstrcst("D2Emacfun(")) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp517) ; /* tmp521 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp518) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp159)->tag != 70) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp524 = */ atspre_fprint_string (arg0, ATSstrcst("D2Esolassert(")) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp523) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp159)->tag != 71) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp526 = ats_caselptrlab_mac(anairiats_sum_0, tmp159, atslab_0) ; /* tmp527 = */ atspre_fprint_string (arg0, ATSstrcst("D2Esolverify(")) ; /* tmp528 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp526) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (((ats_sum_ptr_type)tmp159)->tag != 72) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("D2Eerr()")) ; break ; } while (0) ; return /* (tmp158) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 21516(line=883, offs=13) -- 21550(line=883, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp529) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2exp: /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (stdout, arg0) ; return /* (tmp529) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 21573(line=885, offs=13) -- 21607(line=885, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp530) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp: /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (stderr, arg0) ; return /* (tmp530) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 21656(line=890, offs=17) -- 21713(line=891, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp531) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst: /* tmp531 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp) ; return /* (tmp531) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 21792(line=898, offs=3) -- 22071(line=909, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp533 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; /* tmp534 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp535 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp533) ; /* tmp532 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: /* tmp532 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp532) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 22150(line=915, offs=3) -- 22303(line=920, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; // ATSlocal_void (tmp539) ; // ATSlocal_void (tmp540) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2exp: tmp537 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp538 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_l0ab (arg0, tmp537) ; /* tmp540 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp538) ; return /* (tmp536) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 22362(line=923, offs=20) -- 22422(line=924, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp541) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2explst: /* tmp541 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2exp) ; return /* (tmp541) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_labd2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 22504(line=931, offs=3) -- 22944(line=953, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp542) ; ATSlocal (ats_ptr_type, tmp543) ; // ATSlocal_void (tmp544) ; // ATSlocal_void (tmp545) ; ATSlocal (ats_int_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; // ATSlocal_void (tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; // ATSlocal_void (tmp551) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparg: do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp543 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp544 = */ atspre_fprint_string (arg0, ATSstrcst("D2EXPARGsta(")) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst (arg0, tmp543) ; /* tmp542 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_113_1: tmp546 = ats_caselptrlab_mac(anairiats_sum_19, arg1, atslab_0) ; tmp547 = ats_caselptrlab_mac(anairiats_sum_19, arg1, atslab_2) ; /* tmp548 = */ atspre_fprint_string (arg0, ATSstrcst("D2EXPARGdyn(")) ; /* tmp549 = */ atspre_fprint_int (arg0, tmp546) ; /* tmp550 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp551 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2explst (arg0, tmp547) ; /* tmp542 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp542) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 23003(line=956, offs=20) -- 23063(line=957, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp552) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparglst: /* tmp552 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparg) ; return /* (tmp552) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 23142(line=964, offs=3) -- 23544(line=982, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; // ATSlocal_void (tmp556) ; // ATSlocal_void (tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lab: tmp554 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_d2lab_node) ; do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp554)->tag != 0) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp555 = ats_caselptrlab_mac(anairiats_sum_0, tmp554, atslab_0) ; /* tmp556 = */ atspre_fprint_string (arg0, ATSstrcst("D2LABlab(")) ; /* tmp557 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp555) ; /* tmp553 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (((ats_sum_ptr_type)tmp554)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: tmp558 = ats_caselptrlab_mac(anairiats_sum_0, tmp554, atslab_0) ; /* tmp559 = */ atspre_fprint_string (arg0, ATSstrcst("D2LABind(")) ; /* tmp560 = */ fprintlst_01694_ats_ptr_type (arg0, tmp558, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp) ; /* tmp553 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp553) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 23597(line=985, offs=17) -- 23654(line=986, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp561) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst: /* tmp561 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lab) ; return /* (tmp561) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 23787(line=997, offs=3) -- 24075(line=1013, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__fprint_i2nvarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; // ATSlocal_void (tmp565) ; ATSlocal (ats_ptr_type, tmp566) ; // ATSlocal_void (tmp567) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__fprint_i2nvarg: tmp563 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_i2nvarg_var) ; tmp564 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_i2nvarg_type) ; /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp563) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (tmp564 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp566 = ats_caselptrlab_mac(anairiats_sum_5, tmp564, atslab_0) ; /* tmp567 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp562 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp566) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (tmp564 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: break ; } while (0) ; return /* (tmp562) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__fprint_i2nvarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 24134(line=1017, offs=3) -- 24197(line=1018, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp568) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst: /* tmp568 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__fprint_i2nvarg) ; return /* (tmp568) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 24261(line=1023, offs=3) -- 24637(line=1035, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvresstate (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp569) ; // ATSlocal_void (tmp570) ; // ATSlocal_void (tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; // ATSlocal_void (tmp573) ; // ATSlocal_void (tmp574) ; ATSlocal (ats_ptr_type, tmp575) ; // ATSlocal_void (tmp576) ; // ATSlocal_void (tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; // ATSlocal_void (tmp579) ; // ATSlocal_void (tmp580) ; ATSlocal (ats_ptr_type, tmp581) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvresstate: /* tmp570 = */ atspre_fprint_string (arg0, ATSstrcst("i2nvresstate(svs=")) ; tmp572 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_i2nvresstate_svs) ; /* tmp571 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp572) ; /* tmp573 = */ atspre_fprint_string (arg0, ATSstrcst("; gua=")) ; tmp575 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_i2nvresstate_gua) ; /* tmp574 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp575) ; /* tmp576 = */ atspre_fprint_string (arg0, ATSstrcst("; met=")) ; tmp578 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_i2nvresstate_met) ; /* tmp577 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt (arg0, tmp578) ; /* tmp579 = */ atspre_fprint_string (arg0, ATSstrcst("; state=")) ; tmp581 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_i2nvresstate_arg) ; /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst (arg0, tmp581) ; /* tmp569 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp569) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvresstate] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 24699(line=1039, offs=3) -- 25119(line=1053, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp582) ; // ATSlocal_void (tmp583) ; // ATSlocal_void (tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; // ATSlocal_void (tmp586) ; // ATSlocal_void (tmp587) ; ATSlocal (ats_ptr_type, tmp588) ; // ATSlocal_void (tmp589) ; // ATSlocal_void (tmp590) ; ATSlocal (ats_ptr_type, tmp591) ; // ATSlocal_void (tmp592) ; // ATSlocal_void (tmp593) ; ATSlocal (ats_ptr_type, tmp594) ; // ATSlocal_void (tmp595) ; // ATSlocal_void (tmp596) ; ATSlocal (ats_ptr_type, tmp597) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv: /* tmp583 = */ atspre_fprint_string (arg0, ATSstrcst("loop2inv(svs=")) ; tmp585 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_loopi2nv_svs) ; /* tmp584 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp585) ; /* tmp586 = */ atspre_fprint_string (arg0, ATSstrcst("; gua=")) ; tmp588 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_loopi2nv_gua) ; /* tmp587 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp588) ; /* tmp589 = */ atspre_fprint_string (arg0, ATSstrcst("; met=")) ; tmp591 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_loopi2nv_met) ; /* tmp590 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt (arg0, tmp591) ; /* tmp592 = */ atspre_fprint_string (arg0, ATSstrcst("; state=")) ; tmp594 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_loopi2nv_arg) ; /* tmp593 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvarglst (arg0, tmp594) ; /* tmp595 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp597 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_loopi2nv_res) ; /* tmp596 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_i2nvresstate (arg0, tmp597) ; /* tmp582 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp582) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_loopi2nv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 25196(line=1059, offs=3) -- 25230(line=1059, offs=37) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp598) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2ecl: /* tmp598 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl (stdout, arg0) ; return /* (tmp598) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 25255(line=1062, offs=3) -- 25289(line=1062, offs=37) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp599) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2ecl: /* tmp599 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl (stderr, arg0) ; return /* (tmp599) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 25318(line=1066, offs=3) -- 29056(line=1221, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp600) ; ATSlocal (ats_ptr_type, tmp601) ; ATSlocal (ats_ptr_type, tmp602) ; // ATSlocal_void (tmp603) ; // ATSlocal_void (tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_int_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; // ATSlocal_void (tmp608) ; // ATSlocal_void (tmp609) ; // ATSlocal_void (tmp610) ; // ATSlocal_void (tmp611) ; // ATSlocal_void (tmp612) ; // ATSlocal_void (tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; // ATSlocal_void (tmp616) ; // ATSlocal_void (tmp617) ; ATSlocal (ats_int_type, tmp618) ; ATSlocal (ats_ptr_type, tmp619) ; // ATSlocal_void (tmp620) ; // ATSlocal_void (tmp621) ; // ATSlocal_void (tmp622) ; // ATSlocal_void (tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; // ATSlocal_void (tmp626) ; // ATSlocal_void (tmp627) ; // ATSlocal_void (tmp628) ; // ATSlocal_void (tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; // ATSlocal_void (tmp632) ; // ATSlocal_void (tmp633) ; // ATSlocal_void (tmp634) ; // ATSlocal_void (tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; // ATSlocal_void (tmp637) ; // ATSlocal_void (tmp638) ; ATSlocal (ats_int_type, tmp639) ; ATSlocal (ats_ptr_type, tmp640) ; // ATSlocal_void (tmp641) ; // ATSlocal_void (tmp642) ; // ATSlocal_void (tmp643) ; // ATSlocal_void (tmp644) ; ATSlocal (ats_int_type, tmp645) ; ATSlocal (ats_ptr_type, tmp646) ; // ATSlocal_void (tmp647) ; // ATSlocal_void (tmp648) ; // ATSlocal_void (tmp649) ; // ATSlocal_void (tmp650) ; ATSlocal (ats_int_type, tmp651) ; ATSlocal (ats_ptr_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; // ATSlocal_void (tmp654) ; // ATSlocal_void (tmp655) ; // ATSlocal_void (tmp656) ; // ATSlocal_void (tmp657) ; // ATSlocal_void (tmp658) ; // ATSlocal_void (tmp659) ; // ATSlocal_void (tmp660) ; // ATSlocal_void (tmp661) ; // ATSlocal_void (tmp662) ; // ATSlocal_void (tmp663) ; // ATSlocal_void (tmp664) ; // ATSlocal_void (tmp665) ; // ATSlocal_void (tmp666) ; // ATSlocal_void (tmp667) ; // ATSlocal_void (tmp668) ; // ATSlocal_void (tmp669) ; ATSlocal (ats_int_type, tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; // ATSlocal_void (tmp674) ; // ATSlocal_void (tmp675) ; // ATSlocal_void (tmp676) ; // ATSlocal_void (tmp677) ; // ATSlocal_void (tmp678) ; // ATSlocal_void (tmp679) ; // ATSlocal_void (tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp682) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl: tmp601 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_d2ecl_node) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp601)->tag != 0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cnone()")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp601)->tag != 1) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp602 = ats_caselptrlab_mac(anairiats_sum_0, tmp601, atslab_0) ; /* tmp603 = */ atspre_fprint_string (arg0, ATSstrcst("D2Clist(\n")) ; /* tmp604 = */ fprintlst_01694_ats_ptr_type (arg0, tmp602, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp601)->tag != 4) { goto __ats_lab_123_0 ; } __ats_lab_120_1: tmp605 = ats_caselptrlab_mac(anairiats_sum_27, tmp601, atslab_0) ; tmp606 = ats_caselptrlab_mac(anairiats_sum_27, tmp601, atslab_1) ; tmp607 = ats_caselptrlab_mac(anairiats_sum_27, tmp601, atslab_2) ; /* tmp608 = */ atspre_fprint_string (arg0, ATSstrcst("D2Coverload(")) ; /* tmp609 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0de (arg0, tmp605) ; /* tmp610 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp611 = */ atspre_fprint_int (arg0, tmp606) ; /* tmp612 = */ atspre_fprint_string (arg0, ATSstrcst("); ")) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (tmp607 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp614 = ats_caselptrlab_mac(anairiats_sum_5, tmp607, atslab_0) ; /* tmp613 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (arg0, tmp614) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (tmp607 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: /* tmp613 = */ atspre_fprint_string (arg0, ATSstrcst("*ERROR*")) ; break ; } while (0) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp601)->tag != 7) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp615 = ats_caselptrlab_mac(anairiats_sum_0, tmp601, atslab_0) ; /* tmp616 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cstacsts(")) ; /* tmp617 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp615) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp601)->tag != 8) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp618 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_0) ; tmp619 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_1) ; /* tmp620 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cstacons(")) ; /* tmp621 = */ atspre_fprint_int (arg0, tmp618) ; /* tmp622 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp619) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp601)->tag != 10) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp624 = ats_caselptrlab_mac(anairiats_sum_1, tmp601, atslab_0) ; tmp625 = ats_caselptrlab_mac(anairiats_sum_1, tmp601, atslab_1) ; /* tmp626 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cextype(")) ; /* tmp627 = */ atspre_fprint_string (arg0, tmp624) ; /* tmp628 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp629 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp625) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp601)->tag != 11) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp630 = ats_caselptrlab_mac(anairiats_sum_1, tmp601, atslab_0) ; tmp631 = ats_caselptrlab_mac(anairiats_sum_1, tmp601, atslab_1) ; /* tmp632 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cextvar(")) ; /* tmp633 = */ atspre_fprint_string (arg0, tmp630) ; /* tmp634 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; /* tmp635 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp631) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp601)->tag != 12) { goto __ats_lab_128_0 ; } __ats_lab_127_1: /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cextcode(...)")) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp601)->tag != 5) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp636 = ats_caselptrlab_mac(anairiats_sum_0, tmp601, atslab_0) ; /* tmp637 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cpragma(")) ; /* tmp638 = */ fprintlst_01694_ats_ptr_type (arg0, tmp636, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp601)->tag != 6) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp639 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_0) ; tmp640 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_1) ; /* tmp641 = */ atspre_fprint_string (arg0, ATSstrcst("D2Ccodegen(")) ; /* tmp642 = */ atspre_fprint_int (arg0, tmp639) ; /* tmp643 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp644 = */ fprintlst_01694_ats_ptr_type (arg0, tmp640, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp601)->tag != 13) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp645 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_0) ; tmp646 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_1) ; /* tmp647 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cdatdecs(")) ; /* tmp648 = */ atspre_fprint_int (arg0, tmp645) ; /* tmp649 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp650 = */ fprintlst_01694_ats_ptr_type (arg0, tmp646, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp601)->tag != 15) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp651 = ats_caselptrlab_mac(anairiats_sum_19, tmp601, atslab_0) ; tmp652 = ats_caselptrlab_mac(anairiats_sum_19, tmp601, atslab_1) ; tmp653 = ats_caselptrlab_mac(anairiats_sum_19, tmp601, atslab_2) ; /* tmp654 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cdcstdecs(")) ; /* tmp655 = */ atspre_fprint_int (arg0, tmp651) ; /* tmp656 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind (arg0, tmp652) ; /* tmp658 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp659 = */ fprintlst_01694_ats_ptr_type (arg0, tmp653, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp601)->tag != 17) { goto __ats_lab_133_0 ; } __ats_lab_132_1: /* tmp660 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cfundecs(\n")) ; /* tmp661 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp601)->tag != 18) { goto __ats_lab_134_0 ; } __ats_lab_133_1: /* tmp662 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cvaldecs(\n")) ; /* tmp663 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp601)->tag != 19) { goto __ats_lab_135_0 ; } __ats_lab_134_1: /* tmp664 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cvaldecs_rec(\n")) ; /* tmp665 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp601)->tag != 20) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp666 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cvardecs(\n")) ; /* tmp667 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp601)->tag != 21) { goto __ats_lab_137_0 ; } __ats_lab_136_1: /* tmp668 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cprvardecs(\n")) ; /* tmp669 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp601)->tag != 22) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp670 = ats_caselptrlab_mac(anairiats_sum_11, tmp601, atslab_0) ; /* tmp671 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cinclude(")) ; /* tmp672 = */ atspre_fprint_int (arg0, tmp670) ; /* tmp673 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp674 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp601)->tag != 23) { goto __ats_lab_139_0 ; } __ats_lab_138_1: /* tmp675 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cstaload(\n")) ; /* tmp676 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)tmp601)->tag != 24) { goto __ats_lab_140_0 ; } __ats_lab_139_1: /* tmp677 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cstaloadloc(\n")) ; /* tmp678 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp601)->tag != 25) { goto __ats_lab_141_0 ; } __ats_lab_140_1: /* tmp679 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cdynload(\n")) ; /* tmp680 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp601)->tag != 26) { goto __ats_lab_142_0 ; } __ats_lab_141_1: /* tmp681 = */ atspre_fprint_string (arg0, ATSstrcst("D2Clocal(\n")) ; /* tmp682 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp601)->tag != 27) { goto __ats_lab_143_0 ; } __ats_lab_142_1: /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("D2Cerrdec()")) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: __ats_lab_143_1: /* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("D2C...(...)")) ; break ; } while (0) ; return /* (tmp600) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 29113(line=1225, offs=3) -- 29174(line=1226, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp683) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist: /* tmp683 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2ecl) ; return /* (tmp683) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 29225(line=1232, offs=3) -- 30392(line=1284, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp684) ; ATSlocal (ats_ptr_type, tmp685) ; ATSlocal (ats_ptr_type, tmp686) ; // ATSlocal_void (tmp687) ; // ATSlocal_void (tmp688) ; // ATSlocal_void (tmp689) ; // ATSlocal_void (tmp690) ; ATSlocal (ats_ptr_type, tmp691) ; ATSlocal (ats_ptr_type, tmp692) ; // ATSlocal_void (tmp693) ; // ATSlocal_void (tmp694) ; // ATSlocal_void (tmp695) ; // ATSlocal_void (tmp696) ; ATSlocal (ats_ptr_type, tmp697) ; ATSlocal (ats_ptr_type, tmp698) ; // ATSlocal_void (tmp699) ; // ATSlocal_void (tmp700) ; // ATSlocal_void (tmp701) ; // ATSlocal_void (tmp702) ; ATSlocal (ats_ptr_type, tmp703) ; ATSlocal (ats_ptr_type, tmp704) ; // ATSlocal_void (tmp705) ; // ATSlocal_void (tmp706) ; // ATSlocal_void (tmp707) ; // ATSlocal_void (tmp708) ; ATSlocal (ats_ptr_type, tmp709) ; // ATSlocal_void (tmp710) ; // ATSlocal_void (tmp711) ; ATSlocal (ats_ptr_type, tmp712) ; // ATSlocal_void (tmp713) ; // ATSlocal_void (tmp714) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval: do { /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp685 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp686 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp687 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALderef(")) ; /* tmp688 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp685) ; /* tmp689 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp690 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst (arg0, tmp686) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp691 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp692 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp693 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALvar_lin(")) ; /* tmp694 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp691) ; /* tmp695 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp696 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst (arg0, tmp692) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp697 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp698 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; /* tmp699 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALvar_mul(")) ; /* tmp700 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp697) ; /* tmp701 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp702 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lablst (arg0, tmp698) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp703 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_1) ; tmp704 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_3) ; /* tmp705 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALarrsub(")) ; /* tmp706 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp703) ; /* tmp707 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp708 = */ fprintlst_01694_ats_ptr_type (arg0, tmp704, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp709 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp710 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALviewat(")) ; /* tmp711 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp709) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: // if (((ats_sum_ptr_type)arg1)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_149_1: tmp712 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; /* tmp713 = */ atspre_fprint_string (arg0, ATSstrcst("D2LVALnone(")) ; /* tmp714 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2exp (arg0, tmp712) ; /* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp684) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 30466(line=1289, offs=14) -- 30501(line=1289, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2lval (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp715) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2lval: /* tmp715 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval (stdout, arg0) ; return /* (tmp715) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2lval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp2_print.dats: 30525(line=1291, offs=14) -- 30560(line=1291, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2lval (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp716) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2lval: /* tmp716 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2lval (stderr, arg0) ; return /* (tmp716) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2lval] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_dynexp2_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_patcon_dats.c0000664000175000017500000025054012655455557021365 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_13 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trup_con_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_con_arity_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_free_update_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__PATCONTRUP_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerrf_exn) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_vwtp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_get_head) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_p3at_set_dvaropt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_p3at_set_type_left) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve) (ats_ptr_type, ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize_none) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p2at_trup_con) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_lincon_update) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_free_update) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__PATCONTRUP_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type loop_2 (ats_ptr_type arg0) ; static ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_ptr_type aux_5 (ats_ptr_type arg0) ; static ats_void_type auxvar_6 (ats_ptr_type arg0) ; static ats_void_type auxpat_7 (ats_ptr_type arg0) ; static ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxck_12 (ats_ptr_type arg0) ; static ats_ptr_type auxpat1_14 (ats_ptr_type arg0) ; static ats_ptr_type auxpat2_15 (ats_ptr_type arg0) ; static ats_ptr_type s2dcp_make_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_arity_21 (ats_ptr_type arg0, ats_int_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 1671(line=52, offs=28) -- 1702(line=52, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_patcon")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 2602(line=105, offs=7) -- 2825(line=112, offs=24) */ ATSstaticdec() ats_void_type loop_2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (anairiats_rec_3, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_loop_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp13 = ats_select_mac(tmp10, atslab_s2qua_svs) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp13) ; arg0 = tmp11 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp9) */ ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 2904(line=119, offs=7) -- 3160(line=127, offs=24) */ ATSstaticdec() ats_void_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (anairiats_rec_3, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab_loop_3: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp19 = ats_select_mac(tmp16, atslab_s2qua_sps) ; /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_proplst (arg0, tmp19) ; arg0 = arg0 ; arg1 = tmp17 ; goto __ats_lab_loop_3 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp15) */ ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab_prerr_error3_loc_02084_: /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp29 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp29) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 4203(line=161, offs=11) -- 4453(line=168, offs=37) */ ATSstaticdec() ats_ptr_type aux_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_aux_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp47 = aux_5 (tmp45) ; tmp44 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp44, atslab_0, tmp46) ; ats_selptrset_mac(anairiats_sum_9, tmp44, atslab_1, tmp47) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp44 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp44) ; } /* end of [aux_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 2461(line=97, offs=3) -- 4611(line=176, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p2at_trup_con (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p2at_trup_con: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp3)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 2506(line=100, offs=5) -- 2579(line=102, offs=19)") ; } tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_1) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_2) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_3) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_4) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_5) ; /* tmp14 = */ loop_2 (tmp5) ; /* tmp20 = */ loop_3 (tmp2, tmp5) ; tmp21 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp6), atslab_s2exp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp21)->tag != 19) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_6, tmp21, atslab_3) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_6, tmp21, atslab_4) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_6, tmp21, atslab_5) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__pfarity_equal_solve (tmp2, tmp7, tmp22) ; tmp27 = atspre_gt_int_int (tmp25, 0) ; if (tmp27) { /* tmp28 = */ prerr_error3_loc_02084_ (tmp2) ; /* tmp31 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats"), ATSstrcst("p2at_trup_con")) ; /* tmp32 = */ atspre_prerr_string (ATSstrcst(": proof arity mismatch: the constructor [")) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (tmp4) ; /* tmp34 = */ atspre_prerrf_exn (ATSstrcst("] requires [%i] arguments."), tmp22) ; /* tmp35 = */ atspre_prerr_newline () ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp37)->tag = 14 ; ats_selptrset_mac(anairiats_sum_7, tmp37, atslab_0, arg0) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp37) ; } else { /* empty */ } /* end of [if] */ tmp1 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_0, tmp8) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_1, tmp23) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_2, tmp24) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: /* tmp38 = */ prerr_error3_loc_02084_ (tmp2) ; /* tmp39 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats"), ATSstrcst("p2at_trup_con")) ; /* tmp40 = */ atspre_prerr_string (ATSstrcst(": the constructor pattern is ill-typed.")) ; /* tmp41 = */ atspre_prerr_newline () ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp43)->tag = 14 ; ats_selptrset_mac(anairiats_sum_7, tmp43, atslab_0, arg0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp43) ; tmp48 = aux_5 (tmp8) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp1 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_0, tmp8) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_1, tmp48) ; ats_selptrset_mac(anairiats_sum_8, tmp1, atslab_2, tmp49) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p2at_trup_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 4809(line=190, offs=5) -- 5043(line=205, offs=4) */ ATSstaticdec() ats_void_type auxvar_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_bool_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_auxvar_6: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_linear (arg0) ; if (tmp51) { tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (arg0) ; if (tmp52 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 4913(line=198, offs=7) -- 4953(line=199, offs=36)") ; } tmp53 = ats_caselptrlab_mac(anairiats_sum_10, tmp52, atslab_0) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp54)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp54, atslab_0, tmp53) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (arg0, tmp54) ; } else { /* empty */ } /* end of [if] */ return /* (tmp50) */ ; } /* end of [auxvar_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 5068(line=207, offs=5) -- 5210(line=215, offs=4) */ ATSstaticdec() ats_void_type auxpat_7 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_auxpat_7: tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp56)->tag != 1) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp56, atslab_0) ; /* tmp55 = */ auxvar_6 (tmp57) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp56)->tag != 14) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_12, tmp56, atslab_0) ; /* tmp55 = */ auxvar_6 (tmp58) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: break ; } while (0) ; return /* (tmp55) */ ; } /* end of [auxpat_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab_loop_11: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; /* tmp66 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp64, arg2) ; arg0 = tmp65 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: break ; } while (0) ; return /* (tmp63) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp62) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp62 = */ loop_11 (arg0, arg1, arg2) ; return /* (tmp62) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp61) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp61 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp61) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 5284(line=220, offs=20) -- 5422(line=226, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_lincon_update (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_lincon_update: /* tmp60 = */ list_app_fun_01301_ats_ptr_type (arg2, &auxpat_7) ; tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_type) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp67, atslab_0, tmp68) ; /* tmp59 = */ patsopt_p3at_set_type_left (arg0, tmp67) ; return /* (tmp59) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_lincon_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 5623(line=239, offs=5) -- 6133(line=258, offs=4) */ ATSstaticdec() ats_void_type auxck_12 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab_auxck_12: tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_loc) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (arg0) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp71 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_10, tmp71, atslab_0) ; /* tmp73 = */ prerr_error3_loc_02084_ (tmp70) ; /* tmp74 = */ atspre_prerr_string (ATSstrcst(": a value matching this pattern may not be freed")) ; /* tmp75 = */ atspre_prerr_string (ATSstrcst(": it contains a linear component of the following type [")) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (tmp72) ; /* tmp77 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp78 = */ atspre_prerr_newline () ; tmp79 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp79)->tag = 16 ; ats_selptrset_mac(anairiats_sum_7, tmp79, atslab_0, arg0) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp79) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp71 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; return /* (tmp69) */ ; } /* end of [auxck_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 6206(line=264, offs=3) -- 6268(line=265, offs=39) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_free_update (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_free_update: /* tmp80 = */ list_app_fun_01301_ats_ptr_type (arg2, &auxck_12) ; return /* (tmp80) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_free_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 6471(line=279, offs=5) -- 7526(line=326, offs=4) */ ATSstaticdec() ats_ptr_type auxpat1_14 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; __ats_lab_auxpat1_14: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp82)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_15_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_7, tmp82, atslab_0) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (arg0) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (tmp84 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp85 = tmp84 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (tmp84 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_type) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1 (tmp87) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp85, atslab_0, tmp86) ; break ; } while (0) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp83, tmp85) ; tmp81 = tmp83 ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp82)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_7, tmp82, atslab_0) ; tmp81 = tmp89 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp82)->tag != 14) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_12, tmp82, atslab_0) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (arg0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp91 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp90, tmp91) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp91 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: break ; } while (0) ; tmp81 = tmp90 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_loc) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (tmp94) ; tmp96 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp96, atslab_0, tmp93) ; /* tmp95 = */ patsopt_p3at_set_dvaropt (arg0, tmp96) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (arg0) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp97 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp98 = tmp97 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp97 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_type) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_1 (tmp100) ; tmp98 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp98, atslab_0, tmp99) ; break ; } while (0) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp93, tmp98) ; tmp81 = tmp93 ; break ; } while (0) ; return (tmp81) ; } /* end of [auxpat1_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 7552(line=328, offs=5) -- 7804(line=337, offs=4) */ ATSstaticdec() ats_ptr_type auxpat2_15 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab_auxpat2_15: tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_p3at_loc) ; tmp104 = auxpat1_14 (arg0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp104) ; if (tmp105 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 7644(line=332, offs=7) -- 7677(line=332, offs=40)") ; } tmp106 = ats_caselptrlab_mac(anairiats_sum_10, tmp105, atslab_0) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize_none (tmp103, tmp104, tmp106) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp104) ; if (tmp108 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 7758(line=334, offs=7) -- 7791(line=334, offs=40)") ; } tmp109 = ats_caselptrlab_mac(anairiats_sum_10, tmp108, atslab_0) ; tmp102 = tmp109 ; return (tmp102) ; } /* end of [auxpat2_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 7833(line=339, offs=5) -- 8072(line=347, offs=4) */ ATSstaticdec() ats_ptr_type s2dcp_make_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab_s2dcp_make_16: tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_srt (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar (tmp111) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp111) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr (arg0, tmp113, arg1) ; return (tmp110) ; } /* end of [s2dcp_make_16] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_loop_20: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp121 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp119, arg3) ; tmp122 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp122, atslab_0, tmp121) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp122 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp123 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp120 ; arg1 = arg1 ; arg2 = tmp123 ; arg3 = arg3 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp124 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp124 ; break ; } while (0) ; return /* (tmp118) */ ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp125) ; // ATSlocal_void (tmp126) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp125 ; */ /* tmp126 = */ loop_20 (arg0, arg1, (&tmp125), arg2) ; tmp117 = tmp125 ; return (tmp117) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp116 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp116) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 8152(line=353, offs=3) -- 8545(line=369, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update: tmp115 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg2, &auxpat2_15) ; tmp127 = s2dcp_make_16 (arg1, ats_castfn_mac(ats_ptr_type, tmp115)) ; tmp128 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp128, atslab_0, tmp127) ; /* tmp114 = */ patsopt_p3at_set_type_left (arg0, tmp128) ; return /* (tmp114) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 8633(line=378, offs=1) -- 9028(line=390, offs=4) */ ATSstaticdec() ats_void_type auxerr_arity_21 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; ATSlocal (ats_bool_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_bool_type, tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab_auxerr_arity_21: tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; /* tmp131 = */ prerr_error3_loc_02084_ (tmp130) ; /* tmp132 = */ atspre_prerr_string (ATSstrcst(": constructor arity mismatch")) ; tmp134 = atspre_lt_int_int (arg1, 0) ; if (tmp134) { /* tmp133 = */ atspre_prerr_string (ATSstrcst(": more arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ tmp136 = atspre_gt_int_int (arg1, 0) ; if (tmp136) { /* tmp135 = */ atspre_prerr_string (ATSstrcst(": fewer arguments are expected.")) ; } else { /* empty */ } /* end of [if] */ /* tmp137 = */ atspre_prerr_newline () ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp138)->tag = 15 ; ats_selptrset_mac(anairiats_sum_13, tmp138, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_13, tmp138, atslab_1, arg1) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp138) ; return /* (tmp129) */ ; } /* end of [auxerr_arity_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 9096(line=396, offs=3) -- 12910(line=537, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_bool_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_bool_type, tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_bool_type, tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; ATSlocal (ats_bool_type, tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_bool_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_bool_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_bool_type, tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_bool_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; // ATSlocal_void (tmp205) ; ATSlocal (ats_bool_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; ATSlocal (ats_bool_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_bool_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_con: tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_loc) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p2at_node) ; if (((ats_sum_ptr_type)tmp142)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_patcon.dats: 9297(line=405, offs=5) -- 9365(line=407, offs=19)") ; } tmp143 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_0) ; tmp144 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_1) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_4) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_2, tmp142, atslab_5) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (tmp144) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp140, arg1) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp148) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp149) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_get_head (tmp149) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp151) ; /* ats_int_type tmp153 ; */ tmp153 = -1 ; /* ats_ptr_type tmp154 ; */ tmp154 = (ats_sum_ptr_type)0 ; tmp156 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp152), atslab_s2exp_node) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp156)->tag != 4) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_7, tmp156, atslab_0) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp147, tmp157) ; if (tmp158) { tmp153 = 0 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp156)->tag != 10) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_12, tmp156, atslab_0) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_12, tmp156, atslab_1) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp144, tmp159) ; if (tmp161) { tmp153 = 1 ; tmp154 = tmp160 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: break ; } while (0) ; tmp163 = atspre_gt_int_int (tmp153, 0) ; if (tmp163) { do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp143)->tag != 2) { goto __ats_lab_31_0 ; } __ats_lab_30_1: /* tmp164 = */ prerr_error3_loc_02084_ (tmp140) ; /* tmp165 = */ atspre_prerr_string (ATSstrcst(": the pattern decoration ~(freeing) is wrongly applied.")) ; /* tmp166 = */ atspre_prerr_newline () ; tmp167 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp167)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp167, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp167, atslab_1, tmp141) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp167) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp143)->tag != 3) { goto __ats_lab_32_0 ; } __ats_lab_31_1: /* tmp168 = */ prerr_error3_loc_02084_ (tmp140) ; /* tmp169 = */ atspre_prerr_string (ATSstrcst(": the pattern decoration @(unfolding) is wrongly applied.")) ; /* tmp170 = */ atspre_prerr_newline () ; tmp171 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp171)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp171, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp171, atslab_1, tmp141) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp171) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ tmp173 = atspre_lt_int_int (tmp153, 0) ; if (tmp173) { /* tmp174 = */ prerr_error3_loc_02084_ (tmp140) ; /* tmp175 = */ atspre_prerr_string (ATSstrcst(": the constructor pattern cannot be assigned the type [")) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__pprerr_s2exp (tmp150) ; /* tmp177 = */ atspre_prerr_string (ATSstrcst("].")) ; /* tmp178 = */ atspre_prerr_newline () ; tmp179 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp179)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp179, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp179, atslab_1, tmp141) ; /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp179) ; } else { /* empty */ } /* end of [if] */ tmp181 = atspre_gt_int_int (tmp153, 0) ; if (tmp181) { tmp180 = 1 ; } else { tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_vwtp (tmp144) ; } /* end of [if] */ /* ats_ptr_type tmp182 ; */ tmp182 = tmp143 ; tmp185 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind (tmp182, tmp185) ; if (tmp184) { tmp186 = atspre_gt_int_int (tmp180, 0) ; if (tmp186) { tmp187 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; tmp182 = tmp187 ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp189 = atspre_eq_int_int (tmp180, 0) ; if (tmp189) { do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp182)->tag != 2) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp190 = */ prerr_error3_loc_02084_ (tmp140) ; /* tmp191 = */ atspre_prerr_string (ATSstrcst(": pattern decoration ~(freeing) cannot be applied.")) ; /* tmp192 = */ atspre_prerr_newline () ; tmp193 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp193)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp193, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp193, atslab_1, tmp141) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp193) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp182)->tag != 3) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp194 = */ prerr_error3_loc_02084_ (tmp140) ; /* tmp195 = */ atspre_prerr_string (ATSstrcst(": pattern decoration ~(unfolding) cannot be applied.")) ; /* tmp196 = */ atspre_prerr_newline () ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp197)->tag = 11 ; ats_selptrset_mac(anairiats_sum_12, tmp197, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp197, atslab_1, tmp141) ; /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp197) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: break ; } while (0) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp198 = atspre_eq_int_int (tmp153, 0) ; if (!tmp198) { goto __ats_lab_41_1 ; } tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p2at_trup_con (arg0) ; // tmp200 = ats_caselptrlab_mac(anairiats_sum_8, tmp199, atslab_1) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_8, tmp199, atslab_2) ; ATS_FREE(tmp199) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_hypequal_solve (tmp140, tmp201, tmp150) ; /* ats_int_type tmp203 ; */ tmp203 = 0 ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (tmp140, tmp146, tmp200, (&tmp203)) ; tmp206 = atspre_neq_int_int (tmp203, 0) ; if (tmp206) { /* tmp205 = */ auxerr_arity_21 (arg0, tmp203) ; } else { /* empty */ } /* end of [if] */ tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con (tmp140, tmp150, tmp182, tmp144, tmp145, tmp204) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp182)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp182)->tag != 1) { goto __ats_lab_39_0 ; } __ats_lab_38_1: /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_lincon_update (tmp207, tmp144, tmp204) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp182)->tag != 2) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_free_update (tmp207, tmp144, tmp204) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (((ats_sum_ptr_type)tmp182)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: /* tmp208 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update (tmp207, tmp144, tmp204) ; break ; } while (0) ; tmp139 = tmp207 ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp209 = atspre_gt_int_int (tmp153, 0) ; if (!tmp209) { goto __ats_lab_42_1 ; } /* ats_int_type tmp210 ; */ tmp210 = 0 ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2atlst_trdn (tmp140, tmp146, tmp154, (&tmp210)) ; tmp213 = atspre_neq_int_int (tmp210, 0) ; if (tmp213) { /* tmp212 = */ auxerr_arity_21 (arg0, tmp210) ; } else { /* empty */ } /* end of [if] */ tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con (tmp140, tmp150, tmp182, tmp144, tmp145, tmp211) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__p3at_unfold_update (tmp214, tmp144, tmp211) ; tmp139 = tmp214 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (tmp140, tmp150) ; break ; } while (0) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn_con] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__PATCONTRUP_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_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 () ; #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_trans3_patcon_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_print_dats.c0000664000175000017500000035630612655455557021420 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_14 ; typedef struct { anairiats_rec_0 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_17 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASpre_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASimp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTBASdef_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTbas_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTtup_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTVar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMvar_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMe1xp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatcontyp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMdatconptr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMfilenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2TEerr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtdat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtbas) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qua) (ats_ptr_type, anairiats_rec_0) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_wths2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__fprint_labs2exp) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_9 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_9_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type aux_44 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_44_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_anairiats_rec_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 2089(line=75, offs=16) -- 2167(line=77, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtdat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtdat: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rtdat_get_sym (arg1) ; /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtdat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 2242(line=82, offs=16) -- 2940(line=108, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtbas (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_int_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_bool_type, tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_bool_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtbas: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTBASpre(")) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp3) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTBASimp(")) ; /* tmp9 = */ atspre_fprint_int (arg0, tmp6) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp7) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_polkind (tmp6) ; tmp14 = atspre_gt_int_int (tmp12, 0) ; if (tmp14) { /* tmp13 = */ atspre_fprint_string (arg0, ATSstrcst("+")) ; } else { /* empty */ } /* end of [if] */ tmp16 = atspre_lt_int_int (tmp12, 0) ; if (tmp16) { /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("-")) ; } else { /* empty */ } /* end of [if] */ /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTBASdef(")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtdat (arg0, tmp17) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtbas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 3013(line=113, offs=12) -- 3046(line=113, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rt: /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (stdout, arg0) ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 3068(line=115, offs=12) -- 3101(line=115, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt: /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (stderr, arg0) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 3127(line=118, offs=13) -- 3813(line=151, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt: tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_delink (arg1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp23)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, tmp23, atslab_0) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTbas(")) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtbas (arg0, tmp24) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp23)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_3, tmp23, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_3, tmp23, atslab_1) ; /* tmp29 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTfun(")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst (arg0, tmp27) ; /* tmp31 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (arg0, tmp28) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp23)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_1, tmp23, atslab_0) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTtup(")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst (arg0, tmp33) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp23)->tag != 3) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTVar(")) ; /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)tmp23)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("S2RTerr()")) ; break ; } while (0) ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 3888(line=156, offs=15) -- 3926(line=156, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rtlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rtlst: /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst (stdout, arg0) ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 3951(line=158, offs=15) -- 3989(line=158, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rtlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rtlst: /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst (stderr, arg0) ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_9 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_int_type, tmp48) ; __ats_lab_aux_9: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp46 = atspre_gt_int_int (arg1, 0) ; if (tmp46) { /* tmp45 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp47 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp43) ; tmp48 = atspre_add_int_int (arg1, 1) ; arg0 = tmp44 ; arg1 = tmp48 ; goto __ats_lab_aux_9 ; // tail call break ; } while (0) ; return /* (tmp42) */ ; } /* end of [aux_9] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_9_closure_type ; ats_void_type aux_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_9 (((aux_9_closure_type*)cloptr)->closure_env_0, ((aux_9_closure_type*)cloptr)->closure_env_1, ((aux_9_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_9_closure_init (aux_9_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_9_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_9_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_9_closure_type *p_clo = ATS_MALLOC(sizeof(aux_9_closure_type)) ; aux_9_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp41 = */ aux_9 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp41) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 4020(line=162, offs=3) -- 4074(line=162, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst: /* tmp40 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 4148(line=168, offs=13) -- 4184(line=168, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2itm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2itm: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm (stdout, arg0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 4207(line=170, offs=13) -- 4243(line=170, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm (stderr, arg0) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 4268(line=173, offs=14) -- 5151(line=209, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMvar(")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp52) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMcst(")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp55) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMe1xp(")) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, tmp58) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMdatconptr(")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp61) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMdatcontyp(")) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp64) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (((ats_sum_ptr_type)arg1)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("S2ITMfilenv(")) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__filenv_get_name (tmp67) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp70) ; /* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp51) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2itm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5229(line=215, offs=3) -- 5271(line=215, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_tyreckind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_tyreckind: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (stdout, arg0) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_tyreckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5300(line=218, offs=3) -- 5342(line=218, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind: /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (stderr, arg0) ; return /* (tmp72) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_tyreckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5375(line=222, offs=3) -- 5802(line=238, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_int_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst("box")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst("boxlin")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst("flt0")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; /* tmp75 = */ atspre_fprint_string (arg0, ATSstrcst("flt1(")) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp74) ; /* tmp73 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)arg1)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp73 = */ atspre_fprintf_exn (arg0, ATSstrcst("fltext(%s)"), tmp77) ; break ; } while (0) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5880(line=243, offs=13) -- 5910(line=243, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2hnf (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2hnf: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2exp (tmp79) ; return /* (tmp78) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2hnf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5934(line=245, offs=13) -- 5964(line=245, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2hnf (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2hnf: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp81) ; return /* (tmp80) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2hnf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 5994(line=249, offs=3) -- 6036(line=249, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hnf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hnf: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp83) ; return /* (tmp82) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hnf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 6108(line=255, offs=13) -- 6142(line=255, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2exp: /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (stdout, arg0) ; return /* (tmp84) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 6165(line=257, offs=13) -- 6199(line=257, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp: /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (stderr, arg0) ; return /* (tmp85) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 6224(line=260, offs=14) -- 13584(line=562, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_int_type, tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp: tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp87)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_5, tmp87, atslab_0) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eint(")) ; /* tmp90 = */ atspre_fprint_int (arg0, tmp88) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp87)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp92 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eintinf(")) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, tmp91) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp87)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("S2Efloat(")) ; /* tmp96 = */ atspre_fprint_string (arg0, tmp94) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp87)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp98 = */ atspre_fprint_string (arg0, ATSstrcst("S2Estring(")) ; /* tmp99 = */ atspre_fprint_string (arg0, tmp97) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp87)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp101 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ecst(")) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp100) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp87)->tag != 5) { goto __ats_lab_29_0 ; } __ats_lab_26_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp104 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp105 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eextype(")) ; /* tmp106 = */ atspre_fprint_string (arg0, tmp103) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp104 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp104 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: /* tmp108 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp104) ; break ; } while (0) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp87)->tag != 6) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp111 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eextkind(")) ; /* tmp112 = */ atspre_fprint_string (arg0, tmp109) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp110 != (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp110 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: /* tmp114 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp110) ; break ; } while (0) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp87)->tag != 7) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst("S2Evar(")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp115) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp87)->tag != 8) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp119 = */ atspre_fprint_string (arg0, ATSstrcst("S2EVar(")) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (arg0, tmp118) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp87)->tag != 9) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp122 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ehole(")) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2hole (arg0, tmp121) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp87)->tag != 10) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp126 = */ atspre_fprint_string (arg0, ATSstrcst("S2Edatcontyp(")) ; /* tmp127 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp124) ; /* tmp128 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp125) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp87)->tag != 11) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_1) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_2) ; /* tmp133 = */ atspre_fprint_string (arg0, ATSstrcst("S2Edatconptr(")) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp130) ; /* tmp135 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp131) ; /* tmp137 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp132) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp87)->tag != 12) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eat(")) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp139) ; /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp140) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp87)->tag != 13) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp145 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst("S2Esizeof(")) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp145) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp87)->tag != 14) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eeff(")) ; /* tmp150 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp148) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp87)->tag != 15) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp153 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eeqeq(")) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp151) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp152) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp87)->tag != 16) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_0) ; tmp158 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_1) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_2) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eproj(")) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp157) ; /* tmp162 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp158) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lablst (arg0, tmp159) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp87)->tag != 17) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp168 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eapp(")) ; /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp166) ; /* tmp170 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp167) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp87)->tag != 18) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp174 = */ atspre_fprint_string (arg0, ATSstrcst("S2Elam(")) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp172) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp173) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp87)->tag != 19) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp178 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_0) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_1) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_2) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_3) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_4) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_8, tmp87, atslab_5) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("S2Efun(")) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_funclo (arg0, tmp178) ; /* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp187 = */ atspre_fprintf_exn (arg0, ATSstrcst("lin=%i"), tmp179) ; /* tmp188 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp189 = */ atspre_fprint_string (arg0, ATSstrcst("eff=")) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp180) ; /* tmp191 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp192 = */ atspre_fprintf_exn (arg0, ATSstrcst("npf=%i"), tmp181) ; /* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp182) ; /* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp183) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp87)->tag != 20) { goto __ats_lab_48_0 ; } __ats_lab_45_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_1) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_2) ; /* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("S2Emetfun(")) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp198) ; /* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (tmp197 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_9, tmp197, atslab_0) ; /* tmp203 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp204) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (tmp197 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: break ; } while (0) ; /* tmp205 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp199) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp87)->tag != 21) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp209 = */ atspre_fprint_string (arg0, ATSstrcst("S2Emetdec((")) ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp207) ; /* tmp211 = */ atspre_fprint_string (arg0, ATSstrcst(") < (")) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp208) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp87)->tag != 22) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_2, tmp87, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_2, tmp87, atslab_1) ; /* tmp215 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etop(")) ; /* tmp216 = */ atspre_fprintf_exn (arg0, ATSstrcst("knd=%i"), tmp213) ; /* tmp217 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp214) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp87)->tag != 23) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp220 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ewithout(")) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp219) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp87)->tag != 24) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp222 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp224 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etyarr(")) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp222) ; /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp227 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp223) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp87)->tag != 25) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp228 = ats_caselptrlab_mac(anairiats_sum_10, tmp87, atslab_0) ; tmp229 = ats_caselptrlab_mac(anairiats_sum_10, tmp87, atslab_1) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_10, tmp87, atslab_2) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("S2Etyrec(")) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (arg0, tmp228) ; /* tmp233 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp234 = */ atspre_fprintf_exn (arg0, ATSstrcst("npf=%i"), tmp229) ; /* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp236 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2explst (arg0, tmp230) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp87)->tag != 26) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp238 = */ atspre_fprint_string (arg0, ATSstrcst("S2Einvar(")) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp237) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp87)->tag != 29) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_2, tmp87, atslab_0) ; tmp241 = ats_caselptrlab_mac(anairiats_sum_2, tmp87, atslab_1) ; /* tmp242 = */ atspre_fprint_string (arg0, ATSstrcst("S2Erefarg(")) ; /* tmp243 = */ atspre_fprint_int (arg0, tmp240) ; /* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp245 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp241) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp87)->tag != 30) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_1, tmp87, atslab_0) ; /* tmp247 = */ atspre_fprint_string (arg0, ATSstrcst("S2Evararg(")) ; /* tmp248 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp246) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp87)->tag != 27) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_1) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_2) ; /* tmp252 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eexi(")) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp249) ; /* tmp254 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp255 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp250) ; /* tmp256 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp251) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp87)->tag != 28) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp258 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_0) ; tmp259 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_1) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_7, tmp87, atslab_2) ; /* tmp261 = */ atspre_fprint_string (arg0, ATSstrcst("S2Euni(")) ; /* tmp262 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp258) ; /* tmp263 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp259) ; /* tmp265 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp260) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp87)->tag != 31) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp267 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_0) ; tmp268 = ats_caselptrlab_mac(anairiats_sum_3, tmp87, atslab_1) ; /* tmp269 = */ atspre_fprint_string (arg0, ATSstrcst("S2Ewth(")) ; /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp267) ; /* tmp271 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp272 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_wths2explst (arg0, tmp268) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: // if (((ats_sum_ptr_type)tmp87)->tag != 32) { ats_deadcode_failure_handle () ; } __ats_lab_59_1: /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst("S2Eerr()")) ; break ; } while (0) ; return /* (tmp86) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 13657(line=567, offs=16) -- 13696(line=567, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2explst: /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (stdout, arg0) ; return /* (tmp273) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 13722(line=569, offs=16) -- 13761(line=569, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2explst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2explst: /* tmp274 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (stderr, arg0) ; return /* (tmp274) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 13791(line=573, offs=3) -- 13846(line=573, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst: /* tmp275 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) ; return /* (tmp275) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 13925(line=580, offs=3) -- 14139(line=588, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp277 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; /* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp277) ; /* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: /* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp276) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 14194(line=591, offs=16) -- 14235(line=591, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2expopt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2expopt: /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt (stdout, arg0) ; return /* (tmp280) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 14261(line=593, offs=16) -- 14302(line=593, offs=57) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2expopt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2expopt: /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2expopt (stderr, arg0) ; return /* (tmp281) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 14356(line=599, offs=3) -- 14416(line=599, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp282) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst: /* tmp282 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) ; return /* (tmp282) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 14501(line=606, offs=3) -- 14708(line=614, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; /* tmp285 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp284) ; /* tmp283 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: break ; } while (0) ; return /* (tmp283) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explstopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 14841(line=622, offs=17) -- 14998(line=627, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__fprint_labs2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__fprint_labs2exp: tmp288 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp289 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_2) ; /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp288) ; /* tmp291 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp289) ; return /* (tmp287) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__fprint_labs2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 15057(line=630, offs=20) -- 15117(line=631, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp292) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2explst: /* tmp292 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__fprint_labs2exp) ; return /* (tmp292) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_labs2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 15228(line=640, offs=5) -- 16268(line=678, offs=4) */ ATSstaticdec() ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp294) ; ATSlocal (ats_int_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; // ATSlocal_void (tmp298) ; ATSlocal (ats_bool_type, tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_int_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; // ATSlocal_void (tmp309) ; ATSlocal (ats_bool_type, tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_int_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_bool_type, tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_int_type, tmp321) ; __ats_lab_loop_33: do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_1) ; tmp297 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_2) ; tmp299 = atspre_gt_int_int (arg2, 0) ; if (tmp299) { /* tmp298 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp300 = */ atspre_fprint_string (arg0, ATSstrcst("invar(")) ; /* tmp301 = */ atspre_fprint_int (arg0, tmp295) ; /* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp296) ; /* tmp304 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp305 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp297 ; arg2 = tmp305 ; goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp307 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_1) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_2) ; tmp310 = atspre_gt_int_int (arg2, 0) ; if (tmp310) { /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp311 = */ atspre_fprint_string (arg0, ATSstrcst("trans(")) ; /* tmp312 = */ atspre_fprint_int (arg0, tmp306) ; /* tmp313 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp307) ; /* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; tmp316 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp308 ; arg2 = tmp316 ; goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp319 = atspre_gt_int_int (arg2, 0) ; if (tmp319) { /* tmp318 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp320 = */ atspre_fprintf_exn (arg0, ATSstrcst("none()")) ; tmp321 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp317 ; arg2 = tmp321 ; goto __ats_lab_loop_33 ; // tail call break ; } while (0) ; return /* (tmp294) */ ; } /* end of [loop_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 15202(line=638, offs=3) -- 16318(line=682, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_wths2explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_wths2explst: /* tmp293 = */ loop_33 (arg0, arg1, 0) ; return /* (tmp293) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_wths2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 16397(line=688, offs=3) -- 16746(line=704, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab: do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp324 = */ atspre_fprint_string (arg0, ATSstrcst("S2LABlab(")) ; /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp323) ; /* tmp322 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_69_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp327 = */ atspre_fprint_string (arg0, ATSstrcst("S2LABind(")) ; /* tmp328 = */ fprintlst_01694_ats_ptr_type (arg0, tmp326, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) ; /* tmp322 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp322) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 16795(line=707, offs=13) -- 16829(line=707, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2lab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp329) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2lab: /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab (stdout, arg0) ; return /* (tmp329) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 16852(line=709, offs=13) -- 16886(line=709, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2lab (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp330) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2lab: /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab (stderr, arg0) ; return /* (tmp330) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 16916(line=713, offs=3) -- 16971(line=713, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lablst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp331) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lablst: /* tmp331 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(" ,"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lab) ; return /* (tmp331) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2lablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 17047(line=720, offs=3) -- 17644(line=746, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp332) ; ATSlocal (ats_uint_type, tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff: do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFset(")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (arg0, tmp333) ; /* tmp332 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp337 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFexp(")) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp336) ; /* tmp332 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp341 = */ atspre_fprint_string (arg0, ATSstrcst("S2EFFadd(")) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp339) ; /* tmp343 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp340) ; /* tmp332 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp332) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 17686(line=749, offs=13) -- 17720(line=749, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2eff (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp345) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2eff: /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (stdout, arg0) ; return /* (tmp345) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 17743(line=751, offs=13) -- 17777(line=751, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff: /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (stderr, arg0) ; return /* (tmp346) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 17823(line=756, offs=14) -- 17972(line=760, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qua (ats_ptr_type arg0, anairiats_rec_0 arg1) { /* local vardec */ // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qua: tmp349 = ats_select_mac(arg1, atslab_s2qua_svs) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp349) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp351 = ats_select_mac(arg1, atslab_s2qua_sps) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp351) ; return /* (tmp347) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_44 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp354) ; ATSlocal (anairiats_rec_0, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_bool_type, tmp358) ; // ATSlocal_void (tmp359) ; ATSlocal (ats_int_type, tmp360) ; __ats_lab_aux_44: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_0) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_15, arg0, atslab_1) ; tmp358 = atspre_gt_int_int (arg1, 0) ; if (tmp358) { /* tmp357 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp359 = */ ((ats_void_type(*)(ats_ptr_type, anairiats_rec_0))env2) (env0, tmp355) ; tmp360 = atspre_add_int_int (arg1, 1) ; arg0 = tmp356 ; arg1 = tmp360 ; goto __ats_lab_aux_44 ; // tail call break ; } while (0) ; return /* (tmp354) */ ; } /* end of [aux_44] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_44_closure_type ; ats_void_type aux_44_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_44 (((aux_44_closure_type*)cloptr)->closure_env_0, ((aux_44_closure_type*)cloptr)->closure_env_1, ((aux_44_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_44_closure_init (aux_44_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_44_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_44_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_44_closure_type *p_clo = ATS_MALLOC(sizeof(aux_44_closure_type)) ; aux_44_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_anairiats_rec_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp353) ; __ats_lab_fprintlst_01694_anairiats_rec_0: /* tmp353 = */ aux_44 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp353) */ ; } /* end of [fprintlst_01694_anairiats_rec_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 18025(line=763, offs=17) -- 18086(line=764, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp352) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst: /* tmp352 = */ fprintlst_01694_anairiats_rec_0 (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qua) ; return /* (tmp352) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 18141(line=768, offs=16) -- 18180(line=768, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2qualst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp361) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2qualst: /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst (stdout, arg0) ; return /* (tmp361) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2qualst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 18206(line=770, offs=16) -- 18245(line=770, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2qualst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp362) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2qualst: /* tmp362 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2qualst (stderr, arg0) ; return /* (tmp362) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2qualst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 18293(line=775, offs=16) -- 18640(line=792, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtext (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp368) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtext: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp365 = */ atspre_fprint_string (arg0, ATSstrcst("S2TEsrt(")) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rt (arg0, tmp364) ; /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_77_0 ; } __ats_lab_76_1: /* tmp367 = */ atspre_fprint_string (arg0, ATSstrcst("S2TEsub(")) ; /* tmp368 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst("S2TEerr()")) ; break ; } while (0) ; return /* (tmp363) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2rtext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 18716(line=797, offs=17) -- 19055(line=810, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg: tmp370 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_s2exparg_node) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp370)->tag != 0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* tmp369 = */ atspre_fprint_string (arg0, ATSstrcst("S2EXPARGone()")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp370)->tag != 1) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* tmp369 = */ atspre_fprint_string (arg0, ATSstrcst("S2EXPARGall()")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (((ats_sum_ptr_type)tmp370)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp371 = ats_caselptrlab_mac(anairiats_sum_1, tmp370, atslab_0) ; /* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst("S2EXPARGseq(")) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp371) ; /* tmp369 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp369) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 19114(line=813, offs=20) -- 19174(line=814, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst: /* tmp374 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparg) ; return /* (tmp374) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_print.dats: 19253(line=821, offs=3) -- 19595(line=835, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_sp2at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; // ATSlocal_void (tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_sp2at: tmp376 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_sp2at_node) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (tmp376 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp377 = ats_caselptrlab_mac(anairiats_sum_4, tmp376, atslab_0) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_4, tmp376, atslab_1) ; /* tmp379 = */ atspre_fprint_string (arg0, ATSstrcst("SP2Tcon(")) ; /* tmp380 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp377) ; /* tmp381 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp378) ; /* tmp375 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (tmp376 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: /* tmp375 = */ atspre_fprint_string (arg0, ATSstrcst("SP2Terr()")) ; break ; } while (0) ; return /* (tmp375) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_sp2at] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_staexp2_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp3_print_dats.c0000664000175000017500000032612212655455557021415 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_d3ecl_loc ; ats_ptr_type atslab_d3ecl_node ; } anairiats_rec_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eliteral_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextval_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextfcall_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextmcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Econ_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpcst_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpvar_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eitem_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_sta_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esif_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecase_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Escase_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elst_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etup_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erec_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eseq_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eselab_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofsel_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erefarg_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ref_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_var_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ref_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_var_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ptr_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ref_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrpsz_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrinit_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eraise_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eeffmask_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evcopyenv_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etempenver_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eann_type_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_dyn_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_sta_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_met_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efix_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Edelay_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eldelay_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elazyeval_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloop_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloopexn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etrywith_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esolverify_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Csaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextvar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cprvardecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cinclude_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaload_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaloadloc_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdynload_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clocal_19) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 2029(line=67, offs=3) -- 4389(line=165, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_bool_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_char_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_p3at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tany(")) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp2) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tvar(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp5) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_2) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_3) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tcon(")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckind (arg0, tmp8) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp9) ; /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp17 = */ atspre_fprint_int (arg0, tmp10) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst (arg0, tmp11) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tint(%i)"), tmp20) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tintrep(%s)"), tmp21) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; if (tmp22) { tmp23 = ATSstrcst("true") ; } else { tmp23 = ATSstrcst("false") ; } /* end of [if] */ /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tbool(%s)"), tmp23) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tchar(%c)"), tmp24) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tfloat(%s)"), tmp25) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp0 = */ atspre_fprintf_exn (arg0, ATSstrcst("P3Tstring(%s)"), tmp26) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P3Ti0nt(...)")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tf0loat(...)")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tempty()")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P3Trec(...)")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_1) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_2) ; /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tlst(")) ; /* tmp31 = */ atspre_fprint_int (arg0, tmp27) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp28) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst (arg0, tmp29) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("P3Trefas(")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp36) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (arg0, tmp37) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst("P3Texist(")) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp42) ; /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (arg0, tmp43) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp1)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tvbox(")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp48) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp1)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("P3Tann(")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (arg0, tmp51) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp52) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (((ats_sum_ptr_type)tmp1)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("P3Terr()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 4436(line=168, offs=12) -- 4473(line=168, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_p3at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_p3at: /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (stdout, arg0) ; return /* (tmp57) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_p3at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 4495(line=170, offs=12) -- 4532(line=170, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_p3at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_p3at: /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at (stderr, arg0) ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_p3at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_bool_type, tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_int_type, tmp67) ; __ats_lab_aux_5: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp63 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp65 = atspre_gt_int_int (arg1, 0) ; if (tmp65) { /* tmp64 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp66 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp62) ; tmp67 = atspre_add_int_int (arg1, 1) ; arg0 = tmp63 ; arg1 = tmp67 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp61) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp60) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp60 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp60) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 4580(line=175, offs=16) -- 4636(line=176, offs=45) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst: /* tmp59 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3at) ; return /* (tmp59) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 4711(line=183, offs=3) -- 15741(line=652, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_int_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_bool_type, tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_char_type, tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; // ATSlocal_void (tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; // ATSlocal_void (tmp225) ; // ATSlocal_void (tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; // ATSlocal_void (tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; // ATSlocal_void (tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; ATSlocal (ats_int_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; // ATSlocal_void (tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_int_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; // ATSlocal_void (tmp339) ; // ATSlocal_void (tmp340) ; // ATSlocal_void (tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_int_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; ATSlocal (ats_int_type, tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp: tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_d3exp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp69)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ecst(")) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp70) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp69)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp74 = */ atspre_fprint_string (arg0, ATSstrcst("D3Evar(")) ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp73) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp69)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_3, tmp69, atslab_0) ; /* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eint(")) ; /* tmp78 = */ atspre_fprint_int (arg0, tmp76) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp69)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eintrep(")) ; /* tmp81 = */ atspre_fprint_string (arg0, tmp79) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp69)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_4, tmp69, atslab_0) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ebool(")) ; /* tmp84 = */ atspre_fprint_bool (arg0, tmp82) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp69)->tag != 5) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_5, tmp69, atslab_0) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst("D3Echar(")) ; /* tmp87 = */ atspre_fprint_char (arg0, tmp85) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp69)->tag != 6) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("D3Efloat(")) ; /* tmp90 = */ atspre_fprint_string (arg0, tmp88) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp69)->tag != 7) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp92 = */ atspre_fprint_string (arg0, ATSstrcst("D3Estring(")) ; /* tmp93 = */ atspre_fprint_string (arg0, tmp91) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp69)->tag != 8) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ei0nt(")) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp94) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp69)->tag != 9) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp98 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ef0loat(")) ; /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp97) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp69)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp101 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ecstsp(")) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (arg0, tmp100) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp69)->tag != 11) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eliteral(")) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp103) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp69)->tag != 12) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etop()")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp69)->tag != 13) { goto __ats_lab_35_0 ; } __ats_lab_34_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eempty()")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp69)->tag != 14) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eextval(")) ; /* tmp108 = */ atspre_fprint_string (arg0, tmp106) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp69)->tag != 15) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; /* tmp111 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eextfcall(")) ; /* tmp112 = */ atspre_fprint_string (arg0, tmp109) ; /* tmp113 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp110) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp69)->tag != 16) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp117 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; /* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eextmcall(")) ; /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp115) ; /* tmp120 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp121 = */ atspre_fprint_string (arg0, tmp116) ; /* tmp122 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp123 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp117) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp69)->tag != 17) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_1) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_2) ; /* tmp127 = */ atspre_fprint_string (arg0, ATSstrcst("D3Econ(")) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp124) ; /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp130 = */ atspre_fprint_int (arg0, tmp125) ; /* tmp131 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp126) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp69)->tag != 18) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; /* tmp134 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etmpcst(")) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp133) ; /* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp137 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp69)->tag != 19) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etmpvar(")) ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp138) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp69)->tag != 20) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp144 = */ atspre_fprint_string (arg0, ATSstrcst("D3Efoldat(")) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp143) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp69)->tag != 21) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp147 = */ atspre_fprint_string (arg0, ATSstrcst("D3Efreeat(")) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp146) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp69)->tag != 23) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elet(...)")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp69)->tag != 24) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp150 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eapp_sta(")) ; /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp149) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp69)->tag != 25) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_0) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_1) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_11, tmp69, atslab_2) ; /* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eapp_dyn(")) ; /* tmp156 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp152) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp159 = */ atspre_fprint_int (arg0, tmp153) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp154) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp69)->tag != 22) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eitem(")) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (arg0, tmp162) ; /* tmp166 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp167 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp163) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp69)->tag != 26) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; /* tmp171 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eif(")) ; /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp168) ; /* tmp173 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp169) ; /* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp170) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp69)->tag != 27) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp179 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; /* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("D3Esif(")) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp177) ; /* tmp182 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp178) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp179) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp69)->tag != 28) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst("D3Ecase(")) ; /* tmp187 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp69)->tag != 29) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp188 = */ atspre_fprint_string (arg0, ATSstrcst("D3Escase(")) ; /* tmp189 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp69)->tag != 30) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_0) ; tmp191 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_1) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_2) ; /* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elst(")) ; /* tmp194 = */ atspre_fprint_int (arg0, tmp190) ; /* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp191) ; /* tmp197 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp198 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp192) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp69)->tag != 31) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_0) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_1) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_2) ; /* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etup(")) ; /* tmp203 = */ atspre_fprint_int (arg0, tmp199) ; /* tmp204 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp205 = */ atspre_fprint_int (arg0, tmp200) ; /* tmp206 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp201) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp69)->tag != 32) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Erec(...)")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp69)->tag != 33) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp209 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eseq(")) ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp208) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp69)->tag != 34) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; /* tmp212 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eselab(")) ; /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp211) ; /* tmp214 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp215 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp69)->tag != 35) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp217 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eptrofvar(")) ; /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp216) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp69)->tag != 36) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; /* tmp221 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eptrofsel(")) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp219) ; /* tmp223 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp220) ; /* tmp225 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp226 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp69)->tag != 37) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; /* tmp228 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eviewat(")) ; /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp227) ; /* tmp230 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp231 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp69)->tag != 38) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_1) ; tmp234 = ats_caselptrlab_mac(anairiats_sum_12, tmp69, atslab_2) ; /* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("D3Erefarg(")) ; /* tmp236 = */ atspre_fprint_int (arg0, tmp232) ; /* tmp237 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp238 = */ atspre_fprint_int (arg0, tmp233) ; /* tmp239 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp234) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp69)->tag != 39) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp242 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; /* tmp243 = */ atspre_fprint_string (arg0, ATSstrcst("D3Esel_var(")) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp241) ; /* tmp245 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp242) ; /* tmp247 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp248 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp69)->tag != 40) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; /* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst("D3Esel_ptr(")) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp249) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp250) ; /* tmp255 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp256 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp69)->tag != 41) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp258 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; /* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst("D3Esel_ref(")) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp257) ; /* tmp261 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp262 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp258) ; /* tmp263 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp264 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp69)->tag != 42) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eassgn_var(...)")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp69)->tag != 43) { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eassgn_ptr(...)")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp69)->tag != 44) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eassgn_ref(...)")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp69)->tag != 45) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Exchng_var(...)")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp69)->tag != 46) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Exchng_ptr(...)")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp69)->tag != 47) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Exchng_ref(...)")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp69)->tag != 48) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eviewat_assgn(...)")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp69)->tag != 49) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp265 = ats_caselptrlab_mac(anairiats_sum_13, tmp69, atslab_0) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_13, tmp69, atslab_1) ; tmp267 = ats_caselptrlab_mac(anairiats_sum_13, tmp69, atslab_2) ; /* tmp268 = */ atspre_fprint_string (arg0, ATSstrcst("D3Earrpsz(")) ; /* tmp269 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp265) ; /* tmp270 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp271 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp266) ; /* tmp272 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp273 = */ atspre_fprint_int (arg0, tmp267) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp69)->tag != 50) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; /* tmp277 = */ atspre_fprint_string (arg0, ATSstrcst("D3Earrinit(")) ; /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp274) ; /* tmp279 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp275) ; /* tmp281 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp282 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (arg0, tmp276) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp69)->tag != 51) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp284 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eraise(")) ; /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp283) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp69)->tag != 52) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; /* tmp288 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eraise(")) ; /* tmp289 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2eff (arg0, tmp286) ; /* tmp290 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp291 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp287) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp69)->tag != 53) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp292 = ats_caselptrlab_mac(anairiats_sum_14, tmp69, atslab_0) ; tmp293 = ats_caselptrlab_mac(anairiats_sum_14, tmp69, atslab_1) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst("D3Evcopyenv(")) ; /* tmp295 = */ atspre_fprint_int (arg0, tmp292) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp293) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp69)->tag != 54) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp298 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp299 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etempenver(")) ; /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp298) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp69)->tag != 55) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp301 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp302 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; /* tmp303 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eann_type(")) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp301) ; /* tmp305 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp302) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp69)->tag != 56) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_15, tmp69, atslab_0) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_15, tmp69, atslab_1) ; tmp309 = ats_caselptrlab_mac(anairiats_sum_15, tmp69, atslab_2) ; tmp310 = ats_caselptrlab_mac(anairiats_sum_15, tmp69, atslab_3) ; /* tmp311 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elam_dyn(")) ; /* tmp312 = */ atspre_fprint_string (arg0, ATSstrcst("lin=")) ; /* tmp313 = */ atspre_fprint_int (arg0, tmp307) ; /* tmp314 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst("npf=")) ; /* tmp316 = */ atspre_fprint_int (arg0, tmp308) ; /* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_p3atlst (arg0, tmp309) ; /* tmp319 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp310) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp69)->tag != 57) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elaminit_dyn(...)")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp69)->tag != 58) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp321 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_0) ; tmp322 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_1) ; tmp323 = ats_caselptrlab_mac(anairiats_sum_10, tmp69, atslab_2) ; /* tmp324 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elam_sta(")) ; /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp321) ; /* tmp326 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp322) ; /* tmp328 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp323) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp69)->tag != 59) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp330 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp331 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; /* tmp332 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elam_met(")) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp330) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp331) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp69)->tag != 60) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_0) ; tmp337 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_1) ; tmp338 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_2) ; /* tmp339 = */ atspre_fprint_string (arg0, ATSstrcst("D3Efix(")) ; /* tmp340 = */ atspre_fprint_int (arg0, tmp336) ; /* tmp341 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp337) ; /* tmp343 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp338) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp69)->tag != 61) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp346 = */ atspre_fprint_string (arg0, ATSstrcst("D3Edelay(")) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp345) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp69)->tag != 62) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; /* tmp349 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eldelay(")) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp348) ; /* tmp351 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp352 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp69)->tag != 63) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp353 = ats_caselptrlab_mac(anairiats_sum_14, tmp69, atslab_0) ; tmp354 = ats_caselptrlab_mac(anairiats_sum_14, tmp69, atslab_1) ; /* tmp355 = */ atspre_fprint_string (arg0, ATSstrcst("D3Elazyeval(")) ; /* tmp356 = */ atspre_fprint_int (arg0, tmp353) ; /* tmp357 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp358 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (arg0, tmp354) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp69)->tag != 64) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp359 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eloop(")) ; /* tmp360 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp69)->tag != 65) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp361 = ats_caselptrlab_mac(anairiats_sum_3, tmp69, atslab_0) ; /* tmp68 = */ atspre_fprintf_exn (arg0, ATSstrcst("D3Eloopexn(%i)"), tmp361) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp69)->tag != 66) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp362 = */ atspre_fprint_string (arg0, ATSstrcst("D3Etrywith(")) ; /* tmp363 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp69)->tag != 67) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp364 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; /* tmp365 = */ atspre_fprint_string (arg0, ATSstrcst("D3Esolverify(")) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp364) ; /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (((ats_sum_ptr_type)tmp69)->tag != 68) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: /* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("D3Eerrexp()")) ; break ; } while (0) ; return /* (tmp68) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 15811(line=657, offs=13) -- 15845(line=657, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp367) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3exp: /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (stdout, arg0) ; return /* (tmp367) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 15868(line=659, offs=13) -- 15902(line=659, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3exp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp368) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3exp: /* tmp368 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp (stderr, arg0) ; return /* (tmp368) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 15951(line=664, offs=17) -- 16008(line=665, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp369) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst: /* tmp369 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3exp) ; return /* (tmp369) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 16084(line=672, offs=3) -- 17199(line=719, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl: tmp371 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_d3ecl_node) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp371)->tag != 0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cnone()")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp371)->tag != 1) { goto __ats_lab_92_0 ; } __ats_lab_91_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Clist(...)")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp371)->tag != 2) { goto __ats_lab_93_0 ; } __ats_lab_92_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Csaspdec(...)")) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp371)->tag != 3) { goto __ats_lab_94_0 ; } __ats_lab_93_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cextype(...)")) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp371)->tag != 4) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cextvar(...)")) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp371)->tag != 5) { goto __ats_lab_96_0 ; } __ats_lab_95_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cextcode(...)")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp371)->tag != 7) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cdatdecs(...)")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp371)->tag != 6) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cexndecs(...)")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp371)->tag != 8) { goto __ats_lab_99_0 ; } __ats_lab_98_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cdcstdecs(...)")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp371)->tag != 9) { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cimpdec(...)")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp371)->tag != 10) { goto __ats_lab_101_0 ; } __ats_lab_100_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cfundecs(...)")) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp371)->tag != 11) { goto __ats_lab_102_0 ; } __ats_lab_101_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cvaldecs(...)")) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp371)->tag != 12) { goto __ats_lab_103_0 ; } __ats_lab_102_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cvaldecs(...)")) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp371)->tag != 13) { goto __ats_lab_104_0 ; } __ats_lab_103_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cvardecs(...)")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp371)->tag != 14) { goto __ats_lab_105_0 ; } __ats_lab_104_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cprvardecs(...)")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp371)->tag != 15) { goto __ats_lab_106_0 ; } __ats_lab_105_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cinclude(...)")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp371)->tag != 16) { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cstaload(...)")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp371)->tag != 17) { goto __ats_lab_108_0 ; } __ats_lab_107_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cstaloadloc(...)")) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp371)->tag != 18) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_1, tmp371, atslab_0) ; /* tmp373 = */ atspre_fprint_string (arg0, ATSstrcst("D3Cdynload(")) ; /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp372) ; /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (((ats_sum_ptr_type)tmp371)->tag != 19) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: /* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("D3Clocal(...)")) ; break ; } while (0) ; return /* (tmp370) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 17269(line=724, offs=13) -- 17303(line=724, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3ecl: /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl (stdout, arg0) ; return /* (tmp375) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__print_d3ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3_print.dats: 17326(line=726, offs=13) -- 17360(line=726, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3ecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp376) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3ecl: /* tmp376 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__fprint_d3ecl (stderr, arg0) ; return /* (tmp376) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prerr_d3ecl] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_dynexp3_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_hitype_dats.c0000664000175000017500000060544712655455557021304 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "libats/CATS/hashtable_chain.cats" #include "libats/CATS/hashtable_chain.cats" /* external codes at top */ typedef ats_ptr_type hitype ; /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_8 ; typedef struct { anairiats_rec_8 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_10 ; typedef struct { hitype atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_13 ; typedef struct { ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_15 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HITNAM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyabs_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEapp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSErefarg_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyclo_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2exp_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEs2zexp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HTLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITnmd_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITapp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyarr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyrec_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtysum_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyexn_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyvar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyclo_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITrefarg_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITundef_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITerror_10) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINcons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__CHAINnil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_div_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_lte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_ulint_type, atspre_add_ulint_ulint) (ats_ulint_type, ats_ulint_type) ; ATSextern_fun(ats_ulint_type, atspre_lsl_ulint_int1) (ats_ulint_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_size_type, atspre_div_size1_int1) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_mod1_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_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_gte_size1_int1) (ats_size_type, ats_int_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__neq_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_tagless) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitypelst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_error) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tyvar_test) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__eq_hitype_hitype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2exp_typize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitypelst_sep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ulint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_hash) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemaplst_get) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_make) (ats_clo_ref_type, ats_clo_ref_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint__chain) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_free__chain) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__chain) (ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__chain) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitype_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyrec) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tysum) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyexn) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_unsplit_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__hitype_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HTLABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITnmd_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITapp_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyarr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyrec_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtysum_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyexn_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyvar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyclo_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITrefarg_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITundef_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITerror_10) ; /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01887_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_bool_type aux_8 (ats_ptr_type arg0) ; static ats_bool_type auxlablst_9 (ats_ptr_type arg0) ; static ats_void_type aux_11 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlablst_13 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxint_14 (ats_ref_type arg0, ats_int_type arg1) ; static ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ; static ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) ; static ats_void_type auxstr_15 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxsym_18 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_19 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_20 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlab_21 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlablst_22 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ulint_type hash_key_05203_hitype (hitype arg0, ats_clo_ref_type arg1) ; static ats_bool_type equal_key_key_05204_hitype (hitype arg0, hitype arg1, ats_clo_ref_type arg2) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_anairiats_rec_8 (ats_ptr_type arg0) ; static ats_ptr_type hashtbl_ptr_split_04098_hitype_2cats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) ; static ats_ptr_type chain_search_04035_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_clo_ref_type arg2) ; static ats_ptr_type hashtbl_ptr_search_ofs_04106_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_clo_ref_type arg2, ats_size_type arg3) ; static ats_ptr_type hashtbl_search_ref_05210_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1) ; static ats_bool_type hashtbl_search_05209_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ref_type arg2) ; static ats_void_type chain_insert_04044_hitype_2cats_ptr_type (ats_ref_type arg0, hitype arg1, ats_ptr_type arg2) ; static ats_void_type hashtbl_ptr_insert_ofs_04134_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ptr_type arg2, ats_size_type arg3) ; static ats_void_type hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type (ats_size_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) ; static ats_void_type hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4) ; static ats_void_type hashtbl_resize_04190_hitype_2cats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) ; static ats_void_type hashtbl_resize_double_04199_hitype_2cats_ptr_type (ats_ptr_type arg0) ; static ats_void_type hashtbl_insert_05211_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ptr_type arg2) ; static ats_void_type aux_50 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_ptr_type aux_63 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2cst_64 (ats_ptr_type arg0) ; static ats_ptr_type aux_tyarr_65 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_tyrec_66 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_tyrec2_67 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_tysum_68 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_tyexn_69 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_70 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlablst_71 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type auxfld_73 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxfldlst_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type auxkey_75 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_77 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp219) ; ATSstatic (ats_ptr_type, statmp220) ; ATSstatic (ats_ptr_type, statmp223) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 2961(line=126, offs=14) -- 3000(line=126, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_hitype (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_hitype: /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (stdout, arg0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 3024(line=128, offs=14) -- 3063(line=128, offs=53) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_hitype (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_hitype: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (stderr, arg0) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 3112(line=134, offs=3) -- 4750(line=220, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_int_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst("HITnmd(")) ; /* tmp5 = */ atspre_fprint_string (arg0, tmp3) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("HITapp(")) ; /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (arg0, tmp6) ; /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitypelst (arg0, tmp7) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst("HITtyarr(")) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (arg0, tmp12) ; /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (arg0, tmp13) ; /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("HITtyrec(")) ; /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("HITtysum(")) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp23 = */ atspre_fprint_string (arg0, ATSstrcst("HITtyexn(")) ; /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst("HITtyvar(")) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp25) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp29 = */ atspre_fprint_string (arg0, ATSstrcst("HITtyclo(")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp28) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("HITrefarg(")) ; /* tmp34 = */ atspre_fprint_int (arg0, tmp31) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype (arg0, tmp32) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("HITundef(")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp37) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("HITerror()")) ; break ; } while (0) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_int_type, tmp48) ; __ats_lab_aux_5: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp46 = atspre_gt_int_int (arg1, 0) ; if (tmp46) { /* tmp45 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp47 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp43) ; tmp48 = atspre_add_int_int (arg1, 1) ; arg0 = tmp44 ; arg1 = tmp48 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp42) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01887_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab_fprintlst_01887_ats_ptr_type: /* tmp41 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp41) */ ; } /* end of [fprintlst_01887_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 4807(line=224, offs=3) -- 4867(line=224, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitypelst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitypelst: /* tmp40 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitype) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_hitypelst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 5254(line=251, offs=3) -- 5638(line=274, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; arg0 = tmp50 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp51) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun (tmp52) ; if (tmp53) { tmp49 = 1 ; } else { tmp49 = -1 ; } /* end of [if] */ break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp49 = 0 ; break ; } while (0) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 5829(line=290, offs=1) -- 6219(line=311, offs=2) */ ATSstaticdec() ats_bool_type aux_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; __ats_lab_aux_8: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; arg0 = tmp56 ; goto __ats_lab_aux_8 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp55 = auxlablst_9 (tmp57) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp55 = auxlablst_9 (tmp58) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp55 = auxlablst_9 (tmp59) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp60) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed_fun (tmp61) ; if (tmp62) { tmp55 = ats_false_bool ; } else { tmp55 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp55 = ats_false_bool ; break ; } while (0) ; return (tmp55) ; } /* end of [aux_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 6244(line=314, offs=1) -- 6472(line=327, offs=2) */ ATSstaticdec() ats_bool_type auxlablst_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; __ats_lab_auxlablst_9: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp63 = ats_false_bool ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; // tmp66 = ats_caselptrlab_mac(anairiats_sum_5, tmp64, atslab_2) ; tmp67 = aux_8 (tmp66) ; if (tmp67) { tmp63 = ats_true_bool ; } else { arg0 = tmp65 ; goto __ats_lab_auxlablst_9 ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp63) ; } /* end of [auxlablst_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 5795(line=286, offs=3) -- 6502(line=329, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tyvar_test (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tyvar_test: tmp54 = aux_8 (arg0) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tyvar_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 7035(line=367, offs=1) -- 9080(line=476, offs=4) */ ATSstaticdec() ats_void_type aux_11 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_int_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_aux_11: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_27_0 ; } __ats_lab_24_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp72 = atspre_neq_string_string (tmp70, tmp71) ; if (tmp72) { tmp73 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp73) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp74 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp74) ; break ; } while (0) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp79 = */ aux_11 (tmp75, tmp77) ; /* tmp69 = */ auxlst_12 (tmp76, tmp78) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp80 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp80) ; break ; } while (0) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp81 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp81) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_31_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp69 = */ auxlablst_13 (tmp82, tmp83) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp84 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp84) ; break ; } while (0) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp89 = atspre_eq_int_int (tmp85, tmp87) ; if (tmp89) { /* tmp69 = */ auxlablst_13 (tmp86, tmp88) ; } else { tmp90 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp90) ; } /* end of [if] */ break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp91 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp91) ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_40_0 ; } __ats_lab_37_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp69 = */ auxlablst_13 (tmp92, tmp93) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp94 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp94) ; break ; } while (0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_43_0 ; } __ats_lab_40_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2var_s2var (tmp95, tmp96) ; if (tmp97) { tmp98 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp98) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp99 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp99) ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_46_0 ; } __ats_lab_43_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp101 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp102 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp100), ats_castfn_mac(ats_ptr_type, tmp101)) ; if (tmp102) { tmp103 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp103) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp104 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp104) ; break ; } while (0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_49_0 ; } __ats_lab_46_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp109 = atspre_eq_int_int (tmp105, tmp107) ; if (tmp109) { arg0 = tmp106 ; arg1 = tmp108 ; goto __ats_lab_aux_11 ; // tail call } else { tmp110 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp110) ; } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp111 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp111) ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_52_0 ; } __ats_lab_49_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__neq_stamp_stamp (tmp112, tmp113) ; if (tmp114) { tmp115 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp115) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp116 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp116) ; break ; } while (0) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (((ats_sum_ptr_type)arg0)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp117 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp69 = */ ats_raise_exn (tmp117) ; break ; } while (0) ; return /* (tmp69) */ ; } /* end of [aux_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 9102(line=479, offs=1) -- 9432(line=499, offs=4) */ ATSstaticdec() ats_void_type auxlst_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; __ats_lab_auxlst_12: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_55_1 ; } __ats_lab_53_2: break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_56_1 ; } __ats_lab_54_2: tmp119 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp123 = */ aux_11 (tmp119, tmp121) ; arg0 = tmp120 ; arg1 = tmp122 ; goto __ats_lab_auxlst_12 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_2: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp118 = */ ats_raise_exn (tmp124) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_2: tmp125 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp118 = */ ats_raise_exn (tmp125) ; break ; } while (0) ; return /* (tmp118) */ ; } /* end of [auxlst_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 9457(line=502, offs=1) -- 10199(line=538, offs=4) */ ATSstaticdec() ats_void_type auxlablst_13 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_auxlablst_13: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_62_1 ; } __ats_lab_57_2: break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_58_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_63_1 ; } __ats_lab_58_2: tmp127 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_5, tmp127, atslab_0) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_5, tmp127, atslab_1) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_5, tmp127, atslab_2) ; tmp134 = ats_caselptrlab_mac(anairiats_sum_5, tmp129, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_5, tmp129, atslab_1) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_5, tmp129, atslab_2) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__neq_label_label (tmp131, tmp134) ; if (tmp138) { tmp139 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp137 = */ ats_raise_exn (tmp139) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (tmp132 != (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: if (tmp135 != (ats_sum_ptr_type)0) { goto __ats_lab_61_1 ; } __ats_lab_59_2: break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (tmp132 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: if (tmp135 == (ats_sum_ptr_type)0) { goto __ats_lab_61_1 ; } __ats_lab_60_2: tmp141 = ats_caselptrlab_mac(anairiats_sum_6, tmp132, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_6, tmp135, atslab_0) ; tmp143 = atspre_neq_string_string (tmp141, tmp142) ; if (tmp143) { tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp140 = */ ats_raise_exn (tmp144) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: __ats_lab_61_2: tmp145 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp140 = */ ats_raise_exn (tmp145) ; break ; } while (0) ; /* tmp146 = */ aux_11 (tmp133, tmp136) ; arg0 = tmp128 ; arg1 = tmp130 ; goto __ats_lab_auxlablst_13 ; // tail call break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_2: tmp147 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp126 = */ ats_raise_exn (tmp147) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_2: tmp148 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) ; /* tmp126 = */ ats_raise_exn (tmp148) ; break ; } while (0) ; return /* (tmp126) */ ; } /* end of [auxlablst_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 6976(line=361, offs=3) -- 10344(line=550, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__eq_hitype_hitype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp68) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__eq_hitype_hitype: ATS_TRYWITH_TRY(tmp150) /* tmp149 = */ aux_11 (arg0, arg1) ; tmp68 = ats_true_bool ; ATS_TRYWITH_WITH(tmp150) do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp150 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn) { ats_raise_exn (tmp150) ; } __ats_lab_64_1: tmp68 = ats_false_bool ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__eq_hitype_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 10475(line=562, offs=1) -- 10622(line=568, offs=4) */ ATSstaticdec() ats_void_type auxint_14 (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp151) ; ATSlocal (ats_ulint_type, tmp152) ; ATSlocal (ats_ulint_type, tmp153) ; ATSlocal (ats_ulint_type, tmp154) ; __ats_lab_auxint_14: tmp154 = atspre_lsl_ulint_int1 (ats_ptrget_mac(ats_ulint_type, arg0), 8) ; tmp153 = atspre_add_ulint_ulint (tmp154, ats_ptrget_mac(ats_ulint_type, arg0)) ; tmp152 = atspre_add_ulint_ulint (tmp153, ats_castfn_mac(ats_ulint_type, arg1)) ; ats_ptrget_mac(ats_ulint_type, arg0) = tmp152 ; return /* (tmp151) */ ; } /* end of [auxint_14] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp159) ; __ats_lab_ptr0_get_01759_ats_char_type: tmp159 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp159) ; } /* end of [ptr0_get_01759_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp158) ; __ats_lab_ptrget_01763_ats_char_type: tmp158 = ptr0_get_01759_ats_char_type (arg0) ; return (tmp158) ; } /* end of [ptrget_01763_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 10647(line=571, offs=1) -- 10990(line=589, offs=4) */ ATSstaticdec() ats_void_type auxstr_15 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp155) ; ATSlocal (ats_bool_type, tmp156) ; ATSlocal (ats_char_type, tmp157) ; ATSlocal (ats_ulint_type, tmp160) ; ATSlocal (ats_ulint_type, tmp161) ; ATSlocal (ats_ulint_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_auxstr_15: tmp156 = atspre_string_isnot_empty (arg1) ; if (tmp156) { tmp157 = ptrget_01763_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ; tmp162 = atspre_lsl_ulint_int1 (ats_ptrget_mac(ats_ulint_type, arg0), 5) ; tmp161 = atspre_add_ulint_ulint (tmp162, ats_ptrget_mac(ats_ulint_type, arg0)) ; tmp160 = atspre_add_ulint_ulint (tmp161, ats_castfn_mac(ats_ulint_type, tmp157)) ; ats_ptrget_mac(ats_ulint_type, arg0) = tmp160 ; tmp163 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), 1) ; tmp164 = ats_castfn_mac(ats_ptr_type, tmp163) ; arg0 = arg0 ; arg1 = tmp164 ; goto __ats_lab_auxstr_15 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp155) */ ; } /* end of [auxstr_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 11015(line=592, offs=1) -- 11106(line=595, offs=44) */ ATSstaticdec() ats_void_type auxsym_18 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_auxsym_18: tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg1) ; /* tmp165 = */ auxstr_15 (arg0, tmp166) ; return /* (tmp165) */ ; } /* end of [auxsym_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 11131(line=598, offs=5) -- 12791(line=678, offs=4) */ ATSstaticdec() ats_void_type aux_19 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_int_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_bool_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; __ats_lab_aux_19: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp167 = */ auxstr_15 (arg0, tmp168) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp171 = */ aux_19 (arg0, tmp169) ; /* tmp172 = */ auxlst_20 (arg0, tmp170) ; /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_app")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp174 = */ aux_19 (arg0, tmp173) ; /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_tyarr")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp176 = */ auxlablst_22 (arg0, tmp175) ; /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_tyrec")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp179 = */ auxint_14 (arg0, tmp177) ; /* tmp180 = */ auxlablst_22 (arg0, tmp178) ; /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_tysum")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp182 = */ auxlablst_22 (arg0, tmp181) ; /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_tyexn")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp184 = */ auxstr_15 (arg0, ATSstrcst("postiats_tyvar")) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_stamp (tmp183) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int (tmp185) ; /* tmp167 = */ auxint_14 (arg0, tmp186) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp188 = */ auxstr_15 (arg0, ATSstrcst("postiats_tyclo")) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (tmp187) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int (tmp189) ; /* tmp167 = */ auxint_14 (arg0, tmp190) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp193 = */ aux_19 (arg0, tmp192) ; tmp194 = atspre_eq_int_int (tmp191, 0) ; if (tmp194) { /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("atsrefarg0_type")) ; } else { /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("atsrefarg1_type")) ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp195 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int (tmp195) ; /* tmp167 = */ auxint_14 (arg0, tmp196) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_75_1: /* tmp167 = */ auxstr_15 (arg0, ATSstrcst("postiats_error")) ; break ; } while (0) ; return /* (tmp167) */ ; } /* end of [aux_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 12813(line=681, offs=1) -- 13036(line=694, offs=4) */ ATSstaticdec() ats_void_type auxlst_20 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; __ats_lab_auxlst_20: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp200 = */ aux_19 (arg0, tmp198) ; arg0 = arg0 ; arg1 = tmp199 ; goto __ats_lab_auxlst_20 ; // tail call break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: break ; } while (0) ; return /* (tmp197) */ ; } /* end of [auxlst_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 13061(line=696, offs=5) -- 13466(line=715, offs=4) */ ATSstaticdec() ats_void_type auxlab_21 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; // ATSlocal_void (tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; // ATSlocal_void (tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab_auxlab_21: // tmp202 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_2) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int (tmp202) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (tmp204 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_7, tmp204, atslab_0) ; ATS_FREE(tmp204) ; /* tmp205 = */ auxint_14 (arg0, tmp206) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (tmp204 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: break ; } while (0) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym (tmp202) ; do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (tmp207 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_6, tmp207, atslab_0) ; ATS_FREE(tmp207) ; /* tmp208 = */ auxsym_18 (arg0, tmp209) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: // if (tmp207 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_81_1: break ; } while (0) ; /* tmp201 = */ aux_19 (arg0, tmp203) ; return /* (tmp201) */ ; } /* end of [auxlab_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 13491(line=718, offs=1) -- 13726(line=730, offs=4) */ ATSstaticdec() ats_void_type auxlablst_22 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; // ATSlocal_void (tmp213) ; __ats_lab_auxlablst_22: do { /* branch: __ats_lab_82 */ __ats_lab_82_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp213 = */ auxlab_21 (arg0, tmp211) ; arg0 = arg0 ; arg1 = tmp212 ; goto __ats_lab_auxlablst_22 ; // tail call break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_83_1: break ; } while (0) ; return /* (tmp210) */ ; } /* end of [auxlablst_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 13796(line=735, offs=13) -- 13905(line=741, offs=4) */ ATSglobaldec() ats_ulint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_hash (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ulint_type, tmp214) ; ATSlocal (ats_ulint_type, tmp215) ; // ATSlocal_void (tmp216) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_hash: /* ats_ulint_type tmp215 ; */ tmp215 = 618034ul ; /* tmp216 = */ aux_19 ((&tmp215), arg0) ; tmp214 = tmp215 ; return (tmp214) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_hash] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 14843(line=802, offs=3) -- 14917(line=806, offs=4) */ ATSstaticdec() ats_ulint_type hash_key_05203_hitype (hitype arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ulint_type, tmp217) ; __ats_lab_hash_key_05203_hitype: tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_hash (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp217) ; } /* end of [hash_key_05203_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 14973(line=809, offs=3) -- 15090(line=813, offs=4) */ ATSstaticdec() ats_bool_type equal_key_key_05204_hitype (hitype arg0, hitype arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp218) ; __ats_lab_equal_key_key_05204_hitype: tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__eq_hitype_hitype (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp218) ; } /* end of [equal_key_key_05204_hitype] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp222 ; */ tmp222 = arg0 ; tmp221 = atspre_ref_make_elt_tsz ((&tmp222), sizeof(ats_ptr_type)) ; return (tmp221) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab_revapp_30: do { /* branch: __ats_lab_84 */ __ats_lab_84_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp231 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp232 = ats_ptrget_mac(ats_ptr_type, tmp231) ; ats_ptrget_mac(ats_ptr_type, tmp231) = arg1 ; tmp233 = arg0 ; arg0 = tmp232 ; arg1 = tmp233 ; goto __ats_lab_revapp_30 ; // tail call break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_85_1: tmp230 = arg1 ; break ; } while (0) ; return (tmp230) ; } /* end of [revapp_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; __ats_lab_list_vt_reverse_append_01507_anairiats_rec_8: tmp229 = revapp_30 (arg0, arg1) ; return (tmp229) ; } /* end of [list_vt_reverse_append_01507_anairiats_rec_8] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_anairiats_rec_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp234) ; __ats_lab_list_vt_reverse_01506_anairiats_rec_8: tmp234 = (ats_sum_ptr_type)0 ; tmp228 = list_vt_reverse_append_01507_anairiats_rec_8 (arg0, tmp234) ; return (tmp228) ; } /* end of [list_vt_reverse_01506_anairiats_rec_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 15647(line=841, offs=3) -- 15807(line=852, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemaplst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemaplst_get: tmp225 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp220), atslab_1) ; tmp226 = ats_ptrget_mac(ats_ptr_type, tmp225) ; tmp227 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp225) = tmp227 ; tmp224 = list_vt_reverse_01506_anairiats_rec_8 (tmp226) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemaplst_get] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 9953(line=352, offs=51) -- 10390(line=364, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_split_04098_hitype_2cats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_size_type, tmp250) ; ATSlocal (ats_size_type, tmp251) ; __ats_lab_hashtbl_ptr_split_04098_hitype_2cats_ptr_type: tmp250 = atspre_mul2_size1_size1 (arg1, sizeof(ats_ptr_type)) ; tmp251 = ats_selsin_mac(tmp250, atslab_1) ; tmp249 = atspre_padd_size (arg0, tmp251) ; return (tmp249) ; } /* end of [hashtbl_ptr_split_04098_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 3031(line=107, offs=17) -- 3411(line=122, offs=37) */ ATSstaticdec() ats_ptr_type chain_search_04035_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (hitype, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_bool_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; __ats_lab_chain_search_04035_hitype_2cats_ptr_type: do { /* branch: __ats_lab_86 */ __ats_lab_86_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp254 = ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_0) ; tmp255 = &ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_1) ; tmp256 = &ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_2) ; tmp257 = equal_key_key_05204_hitype (arg1, tmp254, arg2) ; if (tmp257) { tmp253 = tmp255 ; } else { tmp258 = ats_ptrget_mac(ats_ptr_type, tmp256) ; arg0 = tmp258 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_chain_search_04035_hitype_2cats_ptr_type ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_87_1: tmp253 = atspre_null_ptr ; break ; } while (0) ; return (tmp253) ; } /* end of [chain_search_04035_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 10701(line=380, offs=22) -- 11153(line=392, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_search_ofs_04106_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_clo_ref_type arg2, ats_size_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp259) ; __ats_lab_hashtbl_ptr_search_ofs_04106_hitype_2cats_ptr_type: tmp248 = hashtbl_ptr_split_04098_hitype_2cats_ptr_type (arg0, arg3) ; tmp252 = ats_selsin_mac(tmp248, atslab_2) ; tmp259 = ats_ptrget_mac(ats_ptr_type, tmp252) ; tmp247 = chain_search_04035_hitype_2cats_ptr_type (tmp259, arg1, arg2) ; return (tmp247) ; } /* end of [hashtbl_ptr_search_ofs_04106_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 11228(line=395, offs=20) -- 11563(line=405, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_search_ref_05210_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ulint_type, tmp243) ; ATSlocal (ats_clo_ref_type, tmp244) ; ATSlocal (ats_size_type, tmp245) ; ATSlocal (ats_size_type, tmp246) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_clo_ref_type, tmp261) ; __ats_lab_hashtbl_search_ref_05210_hitype_2cats_ptr_type: tmp242 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp244 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp242), atslab_hash) ; tmp243 = hash_key_05203_hitype (arg1, tmp244) ; tmp246 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp242), atslab_sz) ; tmp245 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp243), tmp246) ; tmp260 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp242), atslab_pbeg) ; tmp261 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp242), atslab_eqfn) ; tmp241 = hashtbl_ptr_search_ofs_04106_hitype_2cats_ptr_type (tmp260, arg1, tmp261, tmp245) ; return (tmp241) ; } /* end of [hashtbl_search_ref_05210_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 11630(line=408, offs=16) -- 12049(line=423, offs=4) */ ATSstaticdec() ats_bool_type hashtbl_search_05209_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_bool_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab_hashtbl_search_05209_hitype_2cats_ptr_type: tmp240 = hashtbl_search_ref_05210_hitype_2cats_ptr_type (arg0, arg1) ; tmp262 = atspre_pgt (tmp240, atspre_null_ptr) ; if (tmp262) { tmp263 = ats_ptrget_mac(ats_ptr_type, tmp240) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp263 ; tmp239 = ats_true_bool ; } else { tmp239 = ats_false_bool ; } /* end of [if] */ return (tmp239) ; } /* end of [hashtbl_search_05209_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 15896(line=858, offs=3) -- 16263(line=879, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search: tmp236 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp219)), atslab_1) ; /* ats_ptr_type tmp237 ; */ tmp238 = hashtbl_search_05209_hitype_2cats_ptr_type (tmp236, ats_castfn_mac(hitype, arg0), (&tmp237)) ; if (tmp238) { tmp235 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp235, atslab_0, tmp237) ; } else { tmp235 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 3501(line=128, offs=22) -- 3611(line=131, offs=31) */ ATSstaticdec() ats_void_type chain_insert_04044_hitype_2cats_ptr_type (ats_ref_type arg0, hitype arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab_chain_insert_04044_hitype_2cats_ptr_type: tmp285 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ats_selptrset_mac(anairiats_sum_11, tmp285, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp285, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp285, atslab_2, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp285 ; return /* (tmp284) */ ; } /* end of [chain_insert_04044_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 12194(line=430, offs=22) -- 12651(line=443, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_insert_ofs_04134_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab_hashtbl_ptr_insert_ofs_04134_hitype_2cats_ptr_type: tmp282 = hashtbl_ptr_split_04098_hitype_2cats_ptr_type (arg0, arg3) ; tmp283 = ats_selsin_mac(tmp282, atslab_2) ; /* tmp281 = */ chain_insert_04044_hitype_2cats_ptr_type (tmp283, arg1, arg2) ; return /* (tmp281) */ ; } /* end of [hashtbl_ptr_insert_ofs_04134_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 13487(line=471, offs=28) -- 14334(line=495, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type (ats_size_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_clo_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp301) ; ATSlocal (hitype, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; // ATSlocal_void (tmp305) ; ATSlocal (ats_ulint_type, tmp306) ; ATSlocal (ats_size_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab_hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type: do { /* branch: __ats_lab_88 */ __ats_lab_88_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp302 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_0) ; tmp303 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_1) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_11, arg2, atslab_2) ; ATS_FREE(arg2) ; /* tmp305 = */ hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type (arg0, arg1, tmp304, arg3) ; tmp306 = hash_key_05203_hitype (tmp302, arg3) ; tmp307 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp306), arg0) ; tmp308 = hashtbl_ptr_split_04098_hitype_2cats_ptr_type (arg1, tmp307) ; tmp309 = ats_selsin_mac(tmp308, atslab_2) ; /* tmp301 = */ chain_insert_04044_hitype_2cats_ptr_type (tmp309, tmp302, tmp303) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_89_1: break ; } while (0) ; return /* (tmp301) */ ; } /* end of [hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 14518(line=503, offs=11) -- 15357(line=526, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp296) ; ATSlocal (ats_bool_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_size_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab_hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type: tmp297 = atspre_gt_size1_int1 (arg0, 0) ; if (tmp297) { tmp298 = ats_ptrget_mac(ats_ptr_type, arg2) ; tmp299 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp299 ; /* tmp300 = */ hashtbl_ptr_insert_chain_04161_hitype_2cats_ptr_type (arg1, arg3, tmp298, arg4) ; tmp310 = atspre_sub_size1_int1 (arg0, 1) ; tmp311 = atspre_padd_size (arg2, sizeof(ats_ptr_type)) ; arg0 = tmp310 ; arg1 = arg1 ; arg2 = tmp311 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp296) */ ; } /* end of [hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 15470(line=531, offs=37) -- 16007(line=545, offs=2) */ ATSstaticdec() ats_void_type hashtbl_resize_04190_hitype_2cats_ptr_type (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; // ATSlocal_void (tmp295) ; ATSlocal (ats_size_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_clo_ref_type, tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; __ats_lab_hashtbl_resize_04190_hitype_2cats_ptr_type: tmp292 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp293 = atslib_hashtbl_ptr_make__chain (arg1) ; tmp294 = ats_selsin_mac(tmp293, atslab_2) ; tmp312 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_sz) ; tmp313 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_pbeg) ; tmp314 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_hash) ; /* tmp295 = */ hashtbl_ptr_relocate_04179_hitype_2cats_ptr_type (tmp312, arg1, tmp313, tmp294, tmp314) ; tmp316 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_pbeg) ; /* tmp315 = */ atslib_hashtbl_ptr_free__chain (tmp316) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_sz) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp292), atslab_pbeg) = tmp294 ; return /* (tmp291) */ ; } /* end of [hashtbl_resize_04190_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 16396(line=562, offs=11) -- 16599(line=569, offs=4) */ ATSstaticdec() ats_void_type hashtbl_resize_double_04199_hitype_2cats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp288) ; ATSlocal (ats_size_type, tmp289) ; ATSlocal (ats_bool_type, tmp290) ; ATSlocal (ats_size_type, tmp317) ; __ats_lab_hashtbl_resize_double_04199_hitype_2cats_ptr_type: tmp289 = ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_size (arg0) ; tmp290 = atspre_gt_size1_int1 (ats_castfn_mac(ats_size_type, tmp289), 0) ; if (tmp290) { tmp317 = atspre_add_size1_size1 (ats_castfn_mac(ats_size_type, tmp289), ats_castfn_mac(ats_size_type, tmp289)) ; /* tmp288 = */ hashtbl_resize_04190_hitype_2cats_ptr_type (arg0, tmp317) ; } else { /* empty */ } /* end of [if] */ return /* (tmp288) */ ; } /* end of [hashtbl_resize_double_04199_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_chain.dats: 17030(line=589, offs=3) -- 17572(line=602, offs=2) */ ATSstaticdec() ats_void_type hashtbl_insert_05211_hitype_2cats_ptr_type (ats_ptr_type arg0, hitype arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp267) ; ATSlocal (ats_double_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_size_type, tmp270) ; ATSlocal (ats_size_type, tmp271) ; ATSlocal (ats_double_type, tmp272) ; ATSlocal (ats_double_type, tmp273) ; ATSlocal (ats_double_type, tmp274) ; ATSlocal (ats_size_type, tmp275) ; ATSlocal (ats_ulint_type, tmp276) ; ATSlocal (ats_clo_ref_type, tmp277) ; ATSlocal (ats_size_type, tmp278) ; ATSlocal (ats_size_type, tmp279) ; // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_bool_type, tmp287) ; __ats_lab_hashtbl_insert_05211_hitype_2cats_ptr_type: /* ats_double_type tmp268 ; */ tmp268 = 0.0 ; tmp269 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp271 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_tot) ; tmp270 = atspre_add_size1_int1 (tmp271, 1) ; tmp273 = atspre_double_of_size (tmp270) ; tmp275 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_sz) ; tmp274 = atspre_double_of_size (tmp275) ; tmp272 = atspre_div_double_double (tmp273, tmp274) ; tmp268 = tmp272 ; tmp277 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_hash) ; tmp276 = hash_key_05203_hitype (arg1, tmp277) ; tmp279 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_sz) ; tmp278 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp276), tmp279) ; tmp286 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_pbeg) ; /* tmp280 = */ hashtbl_ptr_insert_ofs_04134_hitype_2cats_ptr_type (tmp286, arg1, arg2, tmp278) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_10, tmp269), atslab_tot) = tmp270 ; tmp287 = atspre_gte_double_double (tmp268, 5.0) ; if (tmp287) { /* tmp267 = */ hashtbl_resize_double_04199_hitype_2cats_ptr_type (arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp267) */ ; } /* end of [hashtbl_insert_05211_hitype_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 16352(line=885, offs=3) -- 16698(line=904, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; // ATSlocal_void (tmp266) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (anairiats_rec_8, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert: tmp265 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp219)), atslab_1) ; /* tmp266 = */ hashtbl_insert_05211_hitype_2cats_ptr_type (tmp265, ats_castfn_mac(hitype, arg0), arg1) ; tmp318 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp220), atslab_1) ; tmp320.atslab_0 = arg0 ; tmp320.atslab_1 = arg1 ; tmp321 = ats_ptrget_mac(ats_ptr_type, tmp318) ; tmp319 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp319, atslab_0, tmp320) ; ats_selptrset_mac(anairiats_sum_9, tmp319, atslab_1, tmp321) ; ats_ptrget_mac(ats_ptr_type, tmp318) = tmp319 ; return /* (tmp264) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 16801(line=911, offs=13) -- 16826(line=912, offs=21) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_error () { /* local vardec */ ATSlocal (ats_ptr_type, tmp322) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_error: tmp322 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITerror_10) ; return (tmp322) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_error] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 16852(line=915, offs=13) -- 16879(line=915, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox: tmp323 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp323)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp323, atslab_0, ATSstrcst("atstype_boxed")) ; return (tmp323) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 16906(line=918, offs=13) -- 16977(line=920, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef: tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make () ; tmp324 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp324)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp324, atslab_0, tmp325) ; ats_selptrset_mac(anairiats_sum_3, tmp324, atslab_1, arg0) ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 17112(line=931, offs=3) -- 17232(line=936, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var: tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (arg1) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp327) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp328) ; return /* (tmp326) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 17419(line=951, offs=5) -- 17887(line=979, offs=4) */ ATSstaticdec() ats_void_type aux_50 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; __ats_lab_aux_50: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp331 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp332 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp333 = */ aux_50 (arg0, tmp331) ; /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitypelst_sep (arg0, tmp332, ATSstrcst(", ")) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var (arg0, tmp336) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg1) ; break ; } while (0) ; return /* (tmp330) */ ; } /* end of [aux_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 17394(line=949, offs=3) -- 18167(line=996, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitype_app (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp329) ; ATSlocal (ats_int_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_bool_type, tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_bool_type, tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_bool_type, tmp343) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitype_app: tmp337 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_is_tyvarhd (arg1) ; tmp339 = atspre_gt_int_int (tmp337, 0) ; if (tmp339) { /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstybox_type(")) ; } else { /* empty */ } /* end of [if] */ tmp341 = atspre_lt_int_int (tmp337, 0) ; if (tmp341) { /* tmp340 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyvar_type(")) ; } else { /* empty */ } /* end of [if] */ /* tmp342 = */ aux_50 (arg0, arg1) ; tmp343 = atspre_neq_int_int (tmp337, 0) ; if (tmp343) { /* tmp329 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp329) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitype_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 18244(line=1002, offs=3) -- 19767(line=1065, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; // ATSlocal_void (tmp353) ; // ATSlocal_void (tmp354) ; ATSlocal (ats_int_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_bool_type, tmp358) ; // ATSlocal_void (tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; // ATSlocal_void (tmp361) ; // ATSlocal_void (tmp362) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp345) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitype_app (arg0, arg1) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp346 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyarr_type(")) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp346) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyrec_type(*ERROR*)")) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstysum_type(*ERROR*)")) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_99_0 ; } __ats_lab_98_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyexn_type(*ERROR*)")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp349 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp350 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyclo_type(")) ; /* tmp351 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp349) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp352 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyvar_type(")) ; /* tmp354 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_s2var (arg0, tmp352) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp358 = atspre_eq_int_int (tmp355, 0) ; if (tmp358) { /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atsrefarg0_type(")) ; } else { /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atsrefarg1_type(")) ; } /* end of [if] */ /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp356) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp360 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("postiats_undef(")) ; /* tmp362 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp360) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("postiats_error()")) ; break ; } while (0) ; return /* (tmp344) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 19854(line=1072, offs=1) -- 20157(line=1089, offs=4) */ ATSstaticdec() ats_void_type auxlst_53 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_bool_type, tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_int_type, tmp370) ; __ats_lab_auxlst_53: do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp368 = atspre_gt_int_int (arg3, 0) ; if (tmp368) { /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp365) ; tmp370 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp366 ; arg2 = arg2 ; arg3 = tmp370 ; goto __ats_lab_auxlst_53 ; // tail call break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: break ; } while (0) ; return /* (tmp364) */ ; } /* end of [auxlst_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 19824(line=1069, offs=3) -- 20215(line=1093, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitypelst_sep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp363) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitypelst_sep: /* tmp363 = */ auxlst_53 (arg0, arg1, arg2, 0) ; return /* (tmp363) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__emit_hitypelst_sep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 20293(line=1099, offs=3) -- 20663(line=1123, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; // ATSlocal_void (tmp373) ; // ATSlocal_void (tmp374) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp: tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (1, arg1) ; do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp372)->tag != 9) { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("HITundef(")) ; /* tmp374 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, arg1) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: __ats_lab_107_1: /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp372) ; break ; } while (0) ; return /* (tmp371) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 20771(line=1132, offs=1) -- 21119(line=1152, offs=4) */ ATSstaticdec() ats_void_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; // ATSlocal_void (tmp379) ; ATSlocal (ats_bool_type, tmp380) ; // ATSlocal_void (tmp381) ; ATSlocal (ats_int_type, tmp382) ; __ats_lab_loop_56: do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp377 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp380 = atspre_gt_int_int (arg3, 0) ; if (tmp380) { /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp377) ; tmp382 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp378 ; arg2 = arg2 ; arg3 = tmp382 ; goto __ats_lab_loop_56 ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: break ; } while (0) ; return /* (tmp376) */ ; } /* end of [loop_56] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 20741(line=1129, offs=3) -- 21173(line=1156, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp375) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep: /* tmp375 = */ loop_56 (arg0, arg1, arg2, 0) ; return /* (tmp375) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 21255(line=1162, offs=3) -- 21617(line=1182, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel: tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (0, arg1) ; do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp384)->tag != 9) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("HITundef(")) ; /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, arg1) ; /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: __ats_lab_111_1: /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp384) ; break ; } while (0) ; return /* (tmp383) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 21734(line=1190, offs=18) -- 21866(line=1195, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyrec () { /* local vardec */ ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_int_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyrec: tmp388 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make () ; tmp389 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp (ATSstrcst("postiats_tyrec_"), tmp388) ; tmp387 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp387)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp387, atslab_0, tmp389) ; return (tmp387) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 21963(line=1201, offs=18) -- 22095(line=1206, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tysum () { /* local vardec */ ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_int_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tysum: tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make () ; tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp (ATSstrcst("postiats_tysum_"), tmp391) ; tmp390 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp390)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp390, atslab_0, tmp392) ; return (tmp390) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tysum] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 22192(line=1211, offs=18) -- 22324(line=1216, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyexn () { /* local vardec */ ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_int_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyexn: tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__hitype_stamp_make () ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__tostring_prefix_stamp (ATSstrcst("postiats_tyexn_"), tmp394) ; tmp393 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp393)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp393, atslab_0, tmp395) ; return (tmp393) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 22401(line=1222, offs=3) -- 22884(line=1251, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2exp_typize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2exp_typize: tmp397 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp397)->tag != 5) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp398 = ats_caselptrlab_mac(anairiats_sum_2, tmp397, atslab_0) ; tmp396 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp396)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp396, atslab_0, tmp398) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp397)->tag != 6) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_2, tmp397, atslab_0) ; tmp396 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp396)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp396, atslab_0, tmp399) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp397)->tag != 12) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_error () ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp397)->tag != 8) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp400 = ats_caselptrlab_mac(anairiats_sum_1, tmp397, atslab_0) ; tmp401 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp400) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize (arg0, tmp401) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: __ats_lab_116_1: tmp402 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2exp_tyer_shallow (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, arg1) ; tmp396 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (arg0, tmp402) ; break ; } while (0) ; return (tmp396) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2exp_typize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 22958(line=1257, offs=3) -- 23295(line=1277, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize: do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp404 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp403 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp403)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp403, atslab_0, tmp404) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp405 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp403 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp403)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp403, atslab_0, tmp405) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: __ats_lab_119_1: tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__s2zexp_tyer (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, arg1) ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (arg0, tmp406) ; break ; } while (0) ; return (tmp403) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 23355(line=1284, offs=1) -- 24975(line=1364, offs=4) */ ATSstaticdec() ats_ptr_type aux_63 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_int_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_bool_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_bool_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_int_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; __ats_lab_aux_63: tmp408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_name) ; tmp409 = ats_caselptrlab_mac(anairiats_sum_14, tmp408, atslab_1) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_14, tmp408, atslab_2) ; tmp411 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_node) ; do { /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: tmp412 = atspre_gt_int_int (tmp409, 0) ; if (!tmp412) { goto __ats_lab_121_0 ; } tmp407 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp407)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_0, tmp410) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp411)->tag != 0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp407 = aux_s2cst_64 (tmp413) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp411)->tag != 3) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp414 = ats_caselptrlab_mac(anairiats_sum_2, tmp411, atslab_0) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_2, tmp411, atslab_1) ; tmp416 = aux_63 (arg0, tmp414) ; tmp417 = auxlst_70 (arg0, tmp415) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp407)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp407, atslab_0, tmp416) ; ats_selptrset_mac(anairiats_sum_2, tmp407, atslab_1, tmp417) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp411)->tag != 2) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp418 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp419 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp418) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp407)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_0, tmp419) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp411)->tag != 7) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp407 = aux_tyarr_65 (arg0, arg1) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp411)->tag != 8) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp407 = aux_tyrec_66 (arg0, arg1) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp411)->tag != 9) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp420 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; // tmp421 = ats_caselptrlab_mac(anairiats_sum_5, tmp420, atslab_2) ; arg0 = arg0 ; arg1 = tmp421 ; goto __ats_lab_aux_63 ; // tail call break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp411)->tag != 10) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp422 = ats_caselptrlab_mac(anairiats_sum_2, tmp411, atslab_0) ; tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con (tmp422) ; if (tmp423) { tmp407 = aux_tysum_68 (arg0, arg1) ; } else { tmp407 = aux_tyexn_69 (arg0, arg1) ; } /* end of [if] */ break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp411)->tag != 12) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp407)->tag = 7 ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_0, ats_castfn_mac(ats_ptr_type, tmp424)) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp411)->tag != 6) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp425 = ats_caselptrlab_mac(anairiats_sum_3, tmp411, atslab_0) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_3, tmp411, atslab_1) ; tmp427 = aux_63 (arg0, tmp426) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp407)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_0, tmp425) ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_1, tmp427) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp411)->tag != 14) { goto __ats_lab_133_0 ; } __ats_lab_130_1: tmp428 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp429 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2exp_typize (arg0, tmp428) ; do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp429)->tag != 10) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef (arg1) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: __ats_lab_132_1: tmp407 = tmp429 ; break ; } while (0) ; break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp411)->tag != 15) { goto __ats_lab_136_0 ; } __ats_lab_133_1: tmp430 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__s2zexp_typize (arg0, tmp430) ; do { /* branch: __ats_lab_134 */ __ats_lab_134_0: if (((ats_sum_ptr_type)tmp431)->tag != 10) { goto __ats_lab_135_0 ; } __ats_lab_134_1: tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef (arg1) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: __ats_lab_135_1: tmp407 = tmp431 ; break ; } while (0) ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp411)->tag != 11) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_1, tmp411, atslab_0) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp407)->tag = 6 ; ats_selptrset_mac(anairiats_sum_1, tmp407, atslab_0, tmp432) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: tmp407 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_undef (arg1) ; break ; } while (0) ; return (tmp407) ; } /* end of [aux_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 24997(line=1367, offs=1) -- 25288(line=1383, offs=4) */ ATSstaticdec() ats_ptr_type aux_s2cst_64 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_bool_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; __ats_lab_aux_s2cst_64: do { /* branch: __ats_lab_138 */ __ats_lab_138_0: __ats_lab_138_1: tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype (arg0) ; if (!tmp434) { goto __ats_lab_139_1 ; } tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: __ats_lab_139_1: tmp435 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_sym (arg0) ; tmp436 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp435) ; tmp433 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp433)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp433, atslab_0, tmp436) ; break ; } while (0) ; return (tmp433) ; } /* end of [aux_s2cst_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 25316(line=1386, offs=1) -- 25494(line=1397, offs=4) */ ATSstaticdec() ats_ptr_type aux_tyarr_65 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_int_type, tmp442) ; __ats_lab_aux_tyarr_65: tmp438 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp438)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 25378(line=1391, offs=5) -- 25422(line=1392, offs=36)") ; } tmp439 = ats_caselptrlab_mac(anairiats_sum_2, tmp438, atslab_0) ; tmp440 = ats_caselptrlab_mac(anairiats_sum_2, tmp438, atslab_1) ; tmp442 = atspre_add_int_int (arg0, 1) ; tmp441 = aux_63 (tmp442, tmp439) ; tmp437 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp437)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp437, atslab_0, tmp441) ; ats_selptrset_mac(anairiats_sum_2, tmp437, atslab_1, tmp440) ; return (tmp437) ; } /* end of [aux_tyarr_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 25522(line=1400, offs=1) -- 26028(line=1427, offs=4) */ ATSstaticdec() ats_ptr_type aux_tyrec_66 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_bool_type, tmp447) ; ATSlocal (ats_bool_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; __ats_lab_aux_tyrec_66: tmp444 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp444)->tag != 8) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 25584(line=1405, offs=5) -- 25624(line=1406, offs=32)") ; } tmp445 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_0) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_2, tmp444, atslab_1) ; do { /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)tmp445)->tag != 0) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp447 = atspre_gt_int_int (arg0, 0) ; if (tmp447) { tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () ; } else { tmp443 = aux_tyrec2_67 (arg0, tmp446) ; } /* end of [if] */ break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp445)->tag != 1) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp448 = atspre_gt_int_int (arg0, 0) ; if (tmp448) { tmp443 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () ; } else { tmp443 = aux_tyrec2_67 (arg0, tmp446) ; } /* end of [if] */ break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp445)->tag != 2) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp443 = aux_tyrec2_67 (arg0, tmp446) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp445)->tag != 3) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp443 = aux_tyrec2_67 (arg0, tmp446) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: // if (((ats_sum_ptr_type)tmp445)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_144_1: tmp449 = ats_caselptrlab_mac(anairiats_sum_1, tmp445, atslab_0) ; tmp443 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp443)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp443, atslab_0, tmp449) ; break ; } while (0) ; return (tmp443) ; } /* end of [aux_tyrec_66] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 26056(line=1430, offs=1) -- 26399(line=1452, offs=4) */ ATSstaticdec() ats_ptr_type aux_tyrec2_67 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; // ATSlocal_void (tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; __ats_lab_aux_tyrec2_67: tmp451 = auxlablst_71 (arg0, arg1) ; tmp452 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp452)->tag = 3 ; ats_selptrset_mac(anairiats_sum_1, tmp452, atslab_0, tmp451) ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search (tmp452) ; do { /* branch: __ats_lab_145 */ __ats_lab_145_0: if (tmp453 != (ats_sum_ptr_type)0) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyrec () ; /* tmp455 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert (tmp452, tmp454) ; tmp450 = tmp454 ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: // if (tmp453 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_146_1: tmp456 = ats_caselptrlab_mac(anairiats_sum_6, tmp453, atslab_0) ; ATS_FREE(tmp453) ; tmp450 = tmp456 ; break ; } while (0) ; return (tmp450) ; } /* end of [aux_tyrec2_67] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 26428(line=1455, offs=1) -- 27057(line=1490, offs=4) */ ATSstaticdec() ats_ptr_type aux_tysum_68 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_bool_type, tmp461) ; ATSlocal (ats_bool_type, tmp462) ; ATSlocal (ats_int_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; // ATSlocal_void (tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; __ats_lab_aux_tysum_68: tmp458 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp458)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 26491(line=1461, offs=1) -- 26531(line=1462, offs=32)") ; } tmp459 = ats_caselptrlab_mac(anairiats_sum_2, tmp458, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_2, tmp458, atslab_1) ; tmp462 = atspre_gt_int_int (arg0, 0) ; if (tmp462) { tmp461 = ats_true_bool ; } else { tmp461 = ats_false_bool ; } /* end of [if] */ if (tmp461) { tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () ; } else { tmp464 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_tagless (tmp459) ; if (tmp464) { tmp463 = 0 ; } else { tmp463 = 1 ; } /* end of [if] */ tmp465 = auxlablst_71 (arg0, tmp460) ; tmp466 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp466)->tag = 4 ; ats_selptrset_mac(anairiats_sum_3, tmp466, atslab_0, tmp463) ; ats_selptrset_mac(anairiats_sum_3, tmp466, atslab_1, tmp465) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search (tmp466) ; do { /* branch: __ats_lab_147 */ __ats_lab_147_0: if (tmp467 != (ats_sum_ptr_type)0) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tysum () ; /* tmp469 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert (tmp466, tmp468) ; tmp457 = tmp468 ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: // if (tmp467 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_148_1: tmp470 = ats_caselptrlab_mac(anairiats_sum_6, tmp467, atslab_0) ; ATS_FREE(tmp467) ; tmp457 = tmp470 ; break ; } while (0) ; } /* end of [if] */ return (tmp457) ; } /* end of [aux_tysum_68] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 27085(line=1493, offs=1) -- 27625(line=1525, offs=4) */ ATSstaticdec() ats_ptr_type aux_tyexn_69 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_bool_type, tmp474) ; ATSlocal (ats_bool_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; // ATSlocal_void (tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; __ats_lab_aux_tyexn_69: tmp472 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg1), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp472)->tag != 10) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 27148(line=1499, offs=1) -- 27188(line=1500, offs=32)") ; } tmp473 = ats_caselptrlab_mac(anairiats_sum_2, tmp472, atslab_1) ; tmp475 = atspre_gt_int_int (arg0, 0) ; if (tmp475) { tmp474 = ats_true_bool ; } else { tmp474 = ats_false_bool ; } /* end of [if] */ if (tmp474) { tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tybox () ; } else { tmp476 = auxlablst_71 (arg0, tmp473) ; tmp477 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp477)->tag = 5 ; ats_selptrset_mac(anairiats_sum_1, tmp477, atslab_0, tmp476) ; tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_search (tmp477) ; do { /* branch: __ats_lab_149 */ __ats_lab_149_0: if (tmp478 != (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_gen_tyexn () ; /* tmp480 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemap_insert (tmp477, tmp479) ; tmp471 = tmp479 ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: // if (tmp478 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_150_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_6, tmp478, atslab_0) ; ATS_FREE(tmp478) ; tmp471 = tmp481 ; break ; } while (0) ; } /* end of [if] */ return (tmp471) ; } /* end of [aux_tyexn_69] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 27653(line=1528, offs=1) -- 27919(line=1546, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_70 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_int_type, tmp486) ; ATSlocal (ats_ptr_type, tmp487) ; __ats_lab_auxlst_70: do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp483 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp486 = atspre_add_int_int (arg0, 1) ; tmp485 = aux_63 (tmp486, tmp483) ; tmp487 = auxlst_70 (arg0, tmp484) ; tmp482 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp482, atslab_0, tmp485) ; ats_selptrset_mac(anairiats_sum_4, tmp482, atslab_1, tmp487) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_152_1: tmp482 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp482) ; } /* end of [auxlst_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 27944(line=1549, offs=1) -- 28332(line=1572, offs=4) */ ATSstaticdec() ats_ptr_type auxlablst_71 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_ptr_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; __ats_lab_auxlablst_71: do { /* branch: __ats_lab_153 */ __ats_lab_153_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp489 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp490 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; // tmp491 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_0) ; tmp492 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_1) ; tmp493 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_2) ; tmp495 = atspre_add_int_int (arg0, 1) ; tmp494 = aux_63 (tmp495, tmp493) ; tmp496 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp496, atslab_0, tmp491) ; ats_selptrset_mac(anairiats_sum_5, tmp496, atslab_1, tmp492) ; ats_selptrset_mac(anairiats_sum_5, tmp496, atslab_2, tmp494) ; tmp497 = auxlablst_71 (arg0, tmp490) ; tmp488 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp488, atslab_0, tmp496) ; ats_selptrset_mac(anairiats_sum_4, tmp488, atslab_1, tmp497) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_154_1: tmp488 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp488) ; } /* end of [auxlablst_71] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 28404(line=1577, offs=15) -- 28429(line=1577, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp498) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize: tmp498 = aux_63 (arg0, arg1) ; return (tmp498) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 28486(line=1586, offs=1) -- 29377(line=1642, offs=4) */ ATSstaticdec() ats_void_type auxfld_73 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_bool_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; // ATSlocal_void (tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; // ATSlocal_void (tmp508) ; // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; __ats_lab_auxfld_73: // tmp500 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp501 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp502 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_2) ; /* ats_bool_type tmp503 ; */ tmp503 = ats_false_bool ; /* ats_ptr_type tmp504 ; */ tmp504 = (ats_sum_ptr_type)0 ; do { /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp502)->tag != 2) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp506 = ats_caselptrlab_mac(anairiats_sum_2, tmp502, atslab_0) ; tmp507 = ats_caselptrlab_mac(anairiats_sum_2, tmp502, atslab_1) ; tmp503 = ats_true_bool ; tmp504 = tmp507 ; /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp506) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: __ats_lab_156_1: /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp502) ; break ; } while (0) ; /* tmp508 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ")) ; if (tmp503) { /* tmp509 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atstyarr_field(")) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (tmp501 == (ats_sum_ptr_type)0) { goto __ats_lab_158_0 ; } __ats_lab_157_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_6, tmp501, atslab_0) ; /* tmp510 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp511) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: // if (tmp501 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_158_1: /* tmp510 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, tmp500) ; break ; } while (0) ; if (tmp503) { /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; } else { /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;")) ; } /* end of [if] */ return /* (tmp499) */ ; } /* end of [auxfld_73] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 29402(line=1645, offs=1) -- 29774(line=1666, offs=4) */ ATSstaticdec() ats_void_type auxfldlst_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; // ATSlocal_void (tmp515) ; ATSlocal (ats_bool_type, tmp516) ; // ATSlocal_void (tmp517) ; ATSlocal (ats_int_type, tmp518) ; __ats_lab_auxfldlst_74: do { /* branch: __ats_lab_159 */ __ats_lab_159_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_160_0 ; } __ats_lab_159_1: tmp513 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp514 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; // tmp516 = atspre_gt_int_int (arg2, 0) ; if (tmp516) { /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; } else { /* empty */ } /* end of [if] */ /* tmp517 = */ auxfld_73 (arg0, tmp513) ; tmp518 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp514 ; arg2 = tmp518 ; goto __ats_lab_auxfldlst_74 ; // tail call break ; /* branch: __ats_lab_160 */ __ats_lab_160_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_160_1: break ; } while (0) ; return /* (tmp512) */ ; } /* end of [auxfldlst_74] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 29802(line=1669, offs=1) -- 30857(line=1711, offs=4) */ ATSstaticdec() ats_void_type auxkey_75 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; // ATSlocal_void (tmp525) ; // ATSlocal_void (tmp526) ; ATSlocal (ats_bool_type, tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; // ATSlocal_void (tmp530) ; ATSlocal (ats_bool_type, tmp531) ; // ATSlocal_void (tmp532) ; // ATSlocal_void (tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; // ATSlocal_void (tmp535) ; // ATSlocal_void (tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; __ats_lab_auxkey_75: do { /* branch: __ats_lab_161 */ __ats_lab_161_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_162_0 ; } __ats_lab_161_1: tmp520 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstruct {")) ; /* tmp522 = */ auxfldlst_74 (arg0, tmp520, 1) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n}")) ; break ; /* branch: __ats_lab_162 */ __ats_lab_162_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_163_0 ; } __ats_lab_162_1: tmp523 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp524 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstruct {\n")) ; tmp527 = atspre_gt_int_int (tmp523, 0) ; if (tmp527) { /* tmp526 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ; } else { /* empty */ } /* end of [if] */ /* tmp528 = */ atspre_fprintf_exn (arg0, ATSstrcst("#if(%i)\n"), tmp523) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("int contag ;\n")) ; tmp531 = atspre_gt_int_int (tmp523, 0) ; if (tmp531) { /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ; } else { /* empty */ } /* end of [if] */ /* tmp532 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif")) ; /* tmp533 = */ auxfldlst_74 (arg0, tmp524, 1) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n}")) ; break ; /* branch: __ats_lab_163 */ __ats_lab_163_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp534 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp535 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstruct {\n")) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("int exntag ;\n")) ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("char *exnmsg ;")) ; /* tmp538 = */ auxfldlst_74 (arg0, tmp534, 1) ; /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n}")) ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: __ats_lab_164_1: /* tmp519 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(**ERROR**)")) ; break ; } while (0) ; return /* (tmp519) */ ; } /* end of [auxkey_75] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 30991(line=1723, offs=1) -- 31615(line=1759, offs=4) */ ATSstaticdec() ats_void_type auxlst_77 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp540) ; ATSlocal (anairiats_rec_8, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_bool_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; // ATSlocal_void (tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; __ats_lab_auxlst_77: do { /* branch: __ats_lab_165 */ __ats_lab_165_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp541 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp542 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp544 = ats_select_mac(tmp541, atslab_1) ; tmp543 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__hitype_tyvar_test (tmp544) ; if (tmp543) { /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp546 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedef\n")) ; tmp548 = ats_select_mac(tmp541, atslab_0) ; /* tmp547 = */ auxkey_75 (arg0, tmp548) ; /* tmp549 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ")) ; tmp551 = ats_select_mac(tmp541, atslab_1) ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp551) ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" ;\n")) ; if (tmp543) { /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = tmp542 ; goto __ats_lab_auxlst_77 ; // tail call break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_166_1: break ; } while (0) ; return /* (tmp540) */ ; } /* end of [auxlst_77] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_hitype.dats: 30934(line=1717, offs=3) -- 31971(line=1771, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_typedeflst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp539) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; // ATSlocal_void (tmp556) ; // ATSlocal_void (tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_typedeflst: /* tmp554 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp555 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedefs-for-tyrecs-and-tysums(beg)\n")) ; /* tmp556 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; tmp558 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__the_hitypemaplst_get () ; /* tmp557 = */ auxlst_77 (arg0, tmp558) ; /* tmp559 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp560 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("typedefs-for-tyrecs-and-tysums(end)\n")) ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; return /* (tmp539) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_the_typedeflst] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HTLABELED_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITnmd_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITapp_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyarr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyrec_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtysum_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyexn_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyvar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITtyclo_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITrefarg_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITundef_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__HITerror_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__EQUALexn" ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; 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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_chain_2edats__hashtbl_v_unsplit_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp219, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp220, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp223, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp219 = ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_chain_2esats__hashtbl_make (ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr)) ; statmp223 = (ats_sum_ptr_type)0 ; statmp220 = ref_01088_ats_ptr_type (statmp223) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_hitype_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_hidynexp_sats.c0000664000175000017500000006074612655455557020465 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPf0loat_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPerr_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEintrep_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfloat_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcstsp_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEignore_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcastfn_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextfcall_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextmcall_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcon_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfreeat_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEapp_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEif_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEsif_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElst_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselab_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofvar_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofsel_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErefarg_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_var_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_var_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_ptr_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrpsz_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrinit_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEraise_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtempenver_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEerrexp_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextype_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextvar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdatdecs_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdcstdecs_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvardecs_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaloadloc_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlocal_18) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPf0loat_9.tag = 9 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15.tag = 15 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPerr_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEintrep_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfloat_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcstsp_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEignore_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcastfn_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextfcall_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextmcall_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcon_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20.tag = 20 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfreeat_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEapp_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEif_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEsif_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElst_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselab_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofvar_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofsel_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErefarg_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_var_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_var_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_ptr_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrpsz_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrinit_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEraise_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtempenver_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52.tag = 52 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEerrexp_53.tag = 53 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDsaspdec_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextype_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextvar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdatdecs_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdcstdecs_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvardecs_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaloadloc_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdynload_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlocal_18.tag = 18 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_hidynexp_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_d2env_dats.c0000664000175000017500000021760312655455557021011 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_2 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__D2ENV_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2env) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__d2envset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__d2env_type = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__D2ENV_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type __ats_fun_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_4_closure_make () ; static ats_int_type __ats_fun_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_make_nil_05081_ () ; static ats_void_type aux_9 (ats_ptr_type arg0) ; static ats_void_type linset_free_05088_ats_ptr_type (ats_ptr_type arg0) ; static ats_int_type compare_elt_elt_05080_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_01866_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_01920_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_01896_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_12 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_12_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_12_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_05090_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_05105_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_22 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_05106_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01721_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp11) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 1972(line=73, offs=15) -- 2023(line=75, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var: // tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp0 = tmp1 ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2079(line=78, offs=16) -- 2130(line=80, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type: // tmp3 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp2 = tmp3 ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2183(line=83, offs=12) -- 2212(line=83, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make: tmp4 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp4, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp4, atslab_1, arg1) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2278(line=90, offs=11) -- 2534(line=108, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env: tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp (arg0) ; if (tmp6 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2471(line=105, offs=5) -- 2486(line=105, offs=20)") ; } tmp7 = ats_caselptrlab_mac(anairiats_sum_1, tmp6, atslab_0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_make (arg0, tmp7) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2var2env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2731(line=120, offs=11) -- 2853(line=124, offs=72) */ ATSstaticdec() ats_int_type __ats_fun_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab___ats_fun_4: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (arg0) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__compare_d2var_d2var (tmp9, tmp10) ; return (tmp8) ; } /* end of [__ats_fun_4] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_4_closure_type ; ats_int_type __ats_fun_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_4 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_4_closure_init (__ats_fun_4_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_4_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_4_closure_make () { __ats_fun_4_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_4_closure_type)) ; __ats_fun_4_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_05081_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_linset_make_nil_05081_: tmp13 = (ats_sum_ptr_type)0 ; return (tmp13) ; } /* end of [linset_make_nil_05081_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2921(line=130, offs=17) -- 2948(line=130, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil: tmp12 = linset_make_nil_05081_ () ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_9 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; __ats_lab_aux_9: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp19 = */ aux_9 (tmp17) ; arg0 = tmp18 ; goto __ats_lab_aux_9 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp16) */ ; } /* end of [aux_9] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_05088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp15) ; __ats_lab_linset_free_05088_ats_ptr_type: /* tmp15 = */ aux_9 (arg0) ; return /* (tmp15) */ ; } /* end of [linset_free_05088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 2977(line=133, offs=18) -- 3003(line=133, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_free: /* tmp14 = */ linset_free_05088_ats_ptr_type (arg0) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_05080_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp30) ; __ats_lab_compare_elt_elt_05080_ats_ptr_type: tmp30 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp30) ; } /* end of [compare_elt_elt_05080_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_01866_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; __ats_lab_avltree_height_01866_ats_ptr_type: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp35 = tmp36 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp35 = 0 ; break ; } while (0) ; return (tmp35) ; } /* end of [avltree_height_01866_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_01920_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_int_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_int_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_int_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_avltree_rrotate_01920_ats_ptr_type: tmp46 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp46 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp47 = &ats_caselptrlab_mac(anairiats_sum_2, tmp46, atslab_0) ; tmp48 = &ats_caselptrlab_mac(anairiats_sum_2, tmp46, atslab_2) ; tmp49 = &ats_caselptrlab_mac(anairiats_sum_2, tmp46, atslab_3) ; tmp51 = ats_ptrget_mac(ats_ptr_type, tmp48) ; tmp50 = avltree_height_01866_ats_ptr_type (tmp51) ; tmp53 = ats_ptrget_mac(ats_ptr_type, tmp49) ; tmp52 = avltree_height_01866_ats_ptr_type (tmp53) ; tmp55 = atspre_iadd (tmp50, 0) ; tmp54 = atspre_igte (tmp55, tmp52) ; if (tmp54) { tmp56 = atspre_iadd (tmp52, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp56 ; tmp57 = ats_ptrget_mac(ats_ptr_type, tmp49) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp57 ; tmp59 = atspre_imax (tmp50, tmp56) ; tmp58 = atspre_iadd (1, tmp59) ; ats_ptrget_mac(ats_int_type, tmp47) = tmp58 ; ats_ptrget_mac(ats_ptr_type, tmp49) = arg5 ; tmp45 = tmp46 ; } else { tmp60 = ats_ptrget_mac(ats_ptr_type, tmp49) ; // if (tmp60 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp61 = &ats_caselptrlab_mac(anairiats_sum_2, tmp60, atslab_0) ; tmp62 = &ats_caselptrlab_mac(anairiats_sum_2, tmp60, atslab_2) ; tmp63 = &ats_caselptrlab_mac(anairiats_sum_2, tmp60, atslab_3) ; tmp65 = ats_ptrget_mac(ats_ptr_type, tmp62) ; tmp64 = avltree_height_01866_ats_ptr_type (tmp65) ; tmp67 = ats_ptrget_mac(ats_ptr_type, tmp63) ; tmp66 = avltree_height_01866_ats_ptr_type (tmp67) ; tmp69 = atspre_imax (tmp66, arg3) ; tmp68 = atspre_iadd (1, tmp69) ; ats_ptrget_mac(ats_int_type, arg0) = tmp68 ; tmp70 = ats_ptrget_mac(ats_ptr_type, tmp63) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp70 ; tmp72 = atspre_imax (tmp50, tmp64) ; tmp71 = atspre_iadd (1, tmp72) ; ats_ptrget_mac(ats_int_type, tmp47) = tmp71 ; tmp73 = ats_ptrget_mac(ats_ptr_type, tmp62) ; ats_ptrget_mac(ats_ptr_type, tmp49) = tmp73 ; ats_ptrget_mac(ats_int_type, tmp61) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp62) = tmp46 ; ats_ptrget_mac(ats_ptr_type, tmp63) = arg5 ; tmp45 = tmp60 ; } /* end of [if] */ return (tmp45) ; } /* end of [avltree_rrotate_01920_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_01896_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_int_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab_avltree_lrotate_01896_ats_ptr_type: tmp86 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp86 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp87 = &ats_caselptrlab_mac(anairiats_sum_2, tmp86, atslab_0) ; tmp88 = &ats_caselptrlab_mac(anairiats_sum_2, tmp86, atslab_2) ; tmp89 = &ats_caselptrlab_mac(anairiats_sum_2, tmp86, atslab_3) ; tmp91 = ats_ptrget_mac(ats_ptr_type, tmp88) ; tmp90 = avltree_height_01866_ats_ptr_type (tmp91) ; tmp93 = ats_ptrget_mac(ats_ptr_type, tmp89) ; tmp92 = avltree_height_01866_ats_ptr_type (tmp93) ; tmp95 = atspre_iadd (tmp92, 0) ; tmp94 = atspre_ilte (tmp90, tmp95) ; if (tmp94) { tmp96 = atspre_iadd (tmp90, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp96 ; tmp97 = ats_ptrget_mac(ats_ptr_type, tmp88) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp97 ; tmp99 = atspre_imax (tmp96, tmp92) ; tmp98 = atspre_iadd (1, tmp99) ; ats_ptrget_mac(ats_int_type, tmp87) = tmp98 ; ats_ptrget_mac(ats_ptr_type, tmp88) = arg5 ; tmp85 = tmp86 ; } else { tmp100 = ats_ptrget_mac(ats_ptr_type, tmp88) ; // if (tmp100 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp101 = &ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_0) ; tmp102 = &ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_2) ; tmp103 = &ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_3) ; tmp105 = ats_ptrget_mac(ats_ptr_type, tmp102) ; tmp104 = avltree_height_01866_ats_ptr_type (tmp105) ; tmp107 = ats_ptrget_mac(ats_ptr_type, tmp103) ; tmp106 = avltree_height_01866_ats_ptr_type (tmp107) ; tmp109 = atspre_imax (arg1, tmp104) ; tmp108 = atspre_iadd (1, tmp109) ; ats_ptrget_mac(ats_int_type, arg0) = tmp108 ; tmp110 = ats_ptrget_mac(ats_ptr_type, tmp102) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp110 ; tmp112 = atspre_imax (tmp106, tmp92) ; tmp111 = atspre_iadd (1, tmp112) ; ats_ptrget_mac(ats_int_type, tmp87) = tmp111 ; tmp113 = ats_ptrget_mac(ats_ptr_type, tmp103) ; ats_ptrget_mac(ats_ptr_type, tmp88) = tmp113 ; ats_ptrget_mac(ats_int_type, tmp101) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp102) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp103) = tmp86 ; tmp85 = tmp100 ; } /* end of [if] */ return (tmp85) ; } /* end of [avltree_lrotate_01896_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_12 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_int_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_insert_12: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp25 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp26 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp27 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp28 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp31 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp29 = compare_elt_elt_05080_ats_ptr_type (arg1, tmp31, env0) ; tmp32 = atspre_lt_int_int (tmp29, 0) ; if (tmp32) { tmp33 = insert_12 (env0, tmp27, arg1) ; tmp37 = ats_ptrget_mac(ats_ptr_type, tmp27) ; tmp34 = avltree_height_01866_ats_ptr_type (tmp37) ; tmp39 = ats_ptrget_mac(ats_ptr_type, tmp28) ; tmp38 = avltree_height_01866_ats_ptr_type (tmp39) ; tmp41 = atspre_isub (tmp34, tmp38) ; tmp40 = atspre_ilte (tmp41, 1) ; if (tmp40) { tmp43 = atspre_imax (tmp34, tmp38) ; tmp42 = atspre_iadd (1, tmp43) ; ats_ptrget_mac(ats_int_type, tmp25) = tmp42 ; tmp24 = tmp33 ; } else { tmp44 = avltree_rrotate_01920_ats_ptr_type (tmp25, tmp34, tmp27, tmp38, tmp28, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp44 ; tmp24 = tmp33 ; } /* end of [if] */ } else { tmp74 = atspre_gt_int_int (tmp29, 0) ; if (tmp74) { tmp75 = insert_12 (env0, tmp28, arg1) ; tmp77 = ats_ptrget_mac(ats_ptr_type, tmp27) ; tmp76 = avltree_height_01866_ats_ptr_type (tmp77) ; tmp79 = ats_ptrget_mac(ats_ptr_type, tmp28) ; tmp78 = avltree_height_01866_ats_ptr_type (tmp79) ; tmp81 = atspre_isub (tmp78, tmp76) ; tmp80 = atspre_ilte (tmp81, 1) ; if (tmp80) { tmp83 = atspre_imax (tmp76, tmp78) ; tmp82 = atspre_iadd (1, tmp83) ; ats_ptrget_mac(ats_int_type, tmp25) = tmp82 ; tmp24 = tmp75 ; } else { tmp84 = avltree_lrotate_01896_ats_ptr_type (tmp25, tmp76, tmp27, tmp78, tmp28, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp84 ; tmp24 = tmp75 ; } /* end of [if] */ } else { tmp24 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp115 = (ats_sum_ptr_type)0 ; tmp116 = (ats_sum_ptr_type)0 ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_2, tmp115) ; ats_selptrset_mac(anairiats_sum_2, tmp114, atslab_3, tmp116) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp114 ; tmp24 = ats_false_bool ; break ; } while (0) ; return (tmp24) ; } /* end of [insert_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_12_closure_type ; ats_bool_type insert_12_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_12 (((insert_12_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_12_closure_init (insert_12_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_12_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_12_closure_make (ats_clo_ref_type env0) { insert_12_closure_type *p_clo = ATS_MALLOC(sizeof(insert_12_closure_type)) ; insert_12_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_05090_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp23) ; __ats_lab_linset_insert_05090_ats_ptr_type: tmp23 = insert_12 (arg2, arg0, arg1) ; return (tmp23) ; } /* end of [linset_insert_05090_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3034(line=137, offs=3) -- 3123(line=140, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_bool_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add: /* ats_ptr_type tmp21 ; */ tmp21 = arg0 ; tmp22 = linset_insert_05090_ats_ptr_type ((&tmp21), arg1, statmp11) ; tmp20 = tmp21 ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27430(line=997, offs=7) -- 27766(line=1008, offs=31) */ ATSstaticdec() ats_ptr_type aux_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab_aux_19: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp121 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp122 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; tmp124 = ats_ptrget_mac(ats_ptr_type, tmp122) ; tmp123 = aux_19 (tmp124, arg1) ; tmp125 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp125, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_0, tmp125, atslab_1, tmp123) ; tmp126 = ats_ptrget_mac(ats_ptr_type, tmp121) ; arg0 = tmp126 ; arg1 = tmp125 ; goto __ats_lab_aux_19 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp119 = arg1 ; break ; } while (0) ; return (tmp119) ; } /* end of [aux_19] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27379(line=995, offs=16) -- 27815(line=1012, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_05105_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_linset_listize_05105_ats_ptr_type: tmp127 = (ats_sum_ptr_type)0 ; tmp118 = aux_19 (arg0, tmp127) ; return (tmp118) ; } /* end of [linset_listize_05105_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3183(line=143, offs=21) -- 3212(line=143, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize: tmp117 = linset_listize_05105_ats_ptr_type (arg0) ; return (tmp117) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_22 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; __ats_lab_aux_22: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp132 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_2) ; tmp133 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp134 = aux_22 (tmp133, arg1) ; tmp135 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp135, atslab_0, tmp131) ; ats_selptrset_mac(anairiats_sum_0, tmp135, atslab_1, tmp134) ; arg0 = tmp132 ; arg1 = tmp135 ; goto __ats_lab_aux_22 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp130 = arg1 ; break ; } while (0) ; return (tmp130) ; } /* end of [aux_22] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_05106_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_linset_listize_free_05106_ats_ptr_type: tmp136 = (ats_sum_ptr_type)0 ; tmp129 = aux_22 (arg0, tmp136) ; return (tmp129) ; } /* end of [linset_listize_free_05106_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3249(line=145, offs=26) -- 3283(line=145, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free: tmp128 = linset_listize_free_05106_ats_ptr_type (arg0) ; return (tmp128) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3373(line=154, offs=5) -- 3555(line=165, offs=4) */ ATSstaticdec() ats_ptr_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab_loop_24: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (arg1, tmp139) ; arg0 = tmp140 ; arg1 = tmp141 ; goto __ats_lab_loop_24 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp138 = arg1 ; break ; } while (0) ; return (tmp138) ; } /* end of [loop_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3353(line=152, offs=14) -- 3619(line=169, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst2set (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst2set: tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil () ; tmp137 = loop_24 (arg0, tmp142) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envlst2set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 3695(line=175, offs=3) -- 3931(line=188, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2env (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2env: tmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ; tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (arg1) ; /* tmp146 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp144) ; /* tmp147 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp145) ; /* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp143) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_28 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_bool_type, tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_int_type, tmp157) ; __ats_lab_aux_28: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp155 = atspre_gt_int_int (arg1, 0) ; if (tmp155) { /* tmp154 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp156 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp152) ; tmp157 = atspre_add_int_int (arg1, 1) ; arg0 = tmp153 ; arg1 = tmp157 ; goto __ats_lab_aux_28 ; // tail call break ; } while (0) ; return /* (tmp151) */ ; } /* end of [aux_28] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_28_closure_type ; ats_void_type aux_28_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_28 (((aux_28_closure_type*)cloptr)->closure_env_0, ((aux_28_closure_type*)cloptr)->closure_env_1, ((aux_28_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_28_closure_init (aux_28_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_28_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_28_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_28_closure_type *p_clo = ATS_MALLOC(sizeof(aux_28_closure_type)) ; aux_28_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01721_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp150) ; __ats_lab_fprintlst_01721_ats_ptr_type: /* tmp150 = */ aux_28 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp150) */ ; } /* end of [fprintlst_01721_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 4007(line=194, offs=3) -- 4079(line=197, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst: /* tmp149 = */ fprintlst_01721_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2env) ; return /* (tmp149) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_d2env.dats: 4161(line=203, offs=3) -- 4322(line=212, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlstopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlstopt: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlst (arg0, tmp159) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp158) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_d2envlstopt] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__D2ENV_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp11 = __ats_fun_4_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_d2env_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_label_sats.c0000664000175000017500000000262312655455557017702 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__LABELED_0) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__LABELED_0.tag = 0 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_label_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_decl_dats.c0000664000175000017500000043020712655455557021010 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2aspdec_loc ; ats_ptr_type atslab_s2aspdec_cst ; ats_ptr_type atslab_s2aspdec_def ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_i2mpdec_loc ; ats_ptr_type atslab_i2mpdec_locid ; ats_ptr_type atslab_i2mpdec_cst ; ats_ptr_type atslab_i2mpdec_imparg ; ats_ptr_type atslab_i2mpdec_tmparg ; ats_ptr_type atslab_i2mpdec_tmpgua ; ats_ptr_type atslab_i2mpdec_def ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_f2undec_loc ; ats_ptr_type atslab_f2undec_var ; ats_ptr_type atslab_f2undec_def ; ats_ptr_type atslab_f2undec_ann ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_16 ; typedef struct { anairiats_rec_16 atslab_0 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_v2aldec_loc ; ats_ptr_type atslab_v2aldec_pat ; ats_ptr_type atslab_v2aldec_def ; ats_ptr_type atslab_v2aldec_ann ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_v2ardec_loc ; ats_int_type atslab_v2ardec_knd ; ats_ptr_type atslab_v2ardec_svar ; ats_ptr_type atslab_v2ardec_dvar ; ats_ptr_type atslab_v2ardec_pfat ; ats_ptr_type atslab_v2ardec_type ; ats_ptr_type atslab_v2ardec_init ; ats_ptr_type atslab_v2ardec_dvaropt ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_prv2ardec_loc ; ats_ptr_type atslab_prv2ardec_dvar ; ats_ptr_type atslab_prv2ardec_type ; ats_ptr_type atslab_prv2ardec_init ; } anairiats_rec_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_23 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_lvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_sta_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_met_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cpragma_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstacons_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Csaspdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextype_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextvar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cextcode_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cinclude_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaload_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cdynload_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_assgn_tszeq_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_f2undeclst_tr_termetsrtck_95) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_v2aldeclst_rec_tr_linearity_96) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_cloptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind2caskind) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2ecl) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__i3mpdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__f3undec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3ardec_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prv3ardec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extcode) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_datdecs) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_impdec) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_vardecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_prvardecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staloadloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_finalize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2ecl_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squalst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_addlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_metfun_load) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop_if) (ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set_if) (ats_bool_type, ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__i2mpdec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undeclst_tr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldec_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_rec_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardeclst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardeclst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staload) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staloadloc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_dynload) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02080_ () ; static ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_10 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_10_closure_make (ats_ptr_type env0) ; static ats_void_type aux_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type d2exp_metfun_load_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type aux_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_bool_type termet_sortcheck_11 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_error3_loc_02086_ (ats_ptr_type arg0) ; static ats_void_type aux_init_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type f_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ; static ats_ptr_type list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_fini_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_21 (ats_ptr_type arg0) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_27 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_27_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_30 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type aux1_32 (ats_ptr_type arg0) ; static ats_ptr_type aux2_33 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxInitCK_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_40 (ats_ptr_type arg0) ; static ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 1724(line=56, offs=3) -- 1762(line=56, offs=41) */ ATSstaticdec() ats_void_type prerr_FILENAME_02080_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02080_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_decl")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02080_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 3280(line=137, offs=9) -- 6660(line=283, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2ecl_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2ecl_tr: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp3)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp4) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_list (tmp2, tmp5) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp3)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp3)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp3)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp3)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp3)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp3)->tag != 7) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp3)->tag != 8) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (tmp2) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp3)->tag != 9) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp6), atslab_s2aspdec_loc) ; tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp6), atslab_s2aspdec_cst) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp6), atslab_s2aspdec_def) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp9) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add (tmp7, tmp8, tmp10) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_saspdec (tmp2, tmp6) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp3)->tag != 10) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extype (tmp14, tmp12, tmp13) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp3)->tag != 11) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp16 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp16) ; tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extvar (tmp18, tmp15, tmp17) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp3)->tag != 12) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_1) ; tmp21 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extcode (tmp2, tmp19, tmp20, tmp21) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp3)->tag != 14) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_exndecs (tmp2, tmp22) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp3)->tag != 13) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_0) ; tmp24 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_datdecs (tmp2, tmp23, tmp24) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp3)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_8, tmp3, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_8, tmp3, atslab_1) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_8, tmp3, atslab_2) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs (tmp2, tmp25, tmp26, tmp27) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp3)->tag != 16) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_1) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__i2mpdec_tr (tmp29) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_impdec (tmp2, tmp28, tmp30) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp3)->tag != 17) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_1) ; tmp33 = ats_caselptrlab_mac(anairiats_sum_9, tmp3, atslab_2) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undeclst_tr (tmp31, tmp32, tmp33) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_fundecs (tmp2, tmp31, tmp32, tmp34) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp3)->tag != 18) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp36 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_tr (tmp35, tmp36) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs (tmp2, tmp35, tmp37) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp3)->tag != 19) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_rec_tr (tmp38, tmp39) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec (tmp2, tmp38, tmp40) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp3)->tag != 20) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardeclst_tr (tmp41) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_vardecs (tmp2, tmp42) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp3)->tag != 21) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardeclst_tr (tmp43) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_prvardecs (tmp2, tmp44) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp3)->tag != 22) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_0) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_7, tmp3, atslab_1) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp46) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_include (tmp2, tmp45, tmp47) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp3)->tag != 23) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staload (arg0) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp3)->tag != 24) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staloadloc (arg0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp3)->tag != 25) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_dynload (arg0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp3)->tag != 26) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp3, atslab_1) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp51 = ats_selsin_mac(tmp50, atslab_1) */ ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp48) ; /* tmp53 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp54 = ats_selsin_mac(tmp53, atslab_1) */ ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp49) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop () ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_addlst (tmp56) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_local (tmp2, tmp52, tmp55) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location (tmp2) ; /* tmp60 = */ atspre_print_newline () ; /* tmp61 = */ atspre_print_string (ATSstrcst("d2ecl_tr: d2c0 = ")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2ecl (arg0) ; /* tmp63 = */ atspre_print_newline () ; tmp65 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 6532(line=272, offs=14) -- 6548(line=272, offs=30)", ATSstrcst("\n")) ; /* tmp64 = */ atspre_assert_errmsg (ats_false_bool, tmp65) ; /* tmp1 = */ ats_exit (1) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2ecl_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_loop_5: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp73 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp71, arg3) ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp74, atslab_0, tmp73) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp74 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp75 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp72 ; arg1 = arg1 ; arg2 = tmp75 ; arg3 = arg3 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp76 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp76 ; break ; } while (0) ; return /* (tmp70) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp77 ; */ /* tmp78 = */ loop_5 (arg0, arg1, (&tmp77), arg2) ; tmp69 = tmp77 ; return (tmp69) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp68 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp68) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 6728(line=289, offs=3) -- 6798(line=292, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr: tmp67 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2ecl_tr) ; tmp66 = ats_castfn_mac(ats_ptr_type, tmp67) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 6878(line=298, offs=3) -- 6979(line=301, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr_errck (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr_errck: tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (arg0) ; /* tmp81 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_finalize () ; tmp79 = tmp80 ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr_errck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 7053(line=306, offs=12) -- 7712(line=336, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__i2mpdec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__i2mpdec_tr: tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_loc) ; tmp84 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_locid) ; tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_cst) ; tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_imparg) ; tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_tmparg) ; tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_tmpgua) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp90 = ats_selsin_mac(tmp89, atslab_1) */ ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svarlst (tmp86) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_i2mpdec_def) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp93) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp83) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__i3mpdec_make (tmp83, tmp85, tmp86, tmp87, tmp92) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__i2mpdec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 7781(line=342, offs=3) -- 8583(line=372, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; // ATSlocal_void (tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undec_tr: tmp96 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_ann) ; tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_loc) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_var) ; tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_def) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg (tmp98) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp102 = ats_selsin_mac(tmp101, atslab_1) */ ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_squalst (tmp100) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp96 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_13, tmp96, atslab_0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp99, tmp105) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp96 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp99) ; break ; } while (0) ; /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add_main (tmp97) ; tmp95 = tmp104 ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 8742(line=384, offs=7) -- 9021(line=393, offs=43) */ ATSstaticdec() ats_void_type aux_10 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_aux_10: tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_d2exp_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp109)->tag != 53) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp110 = ats_caselptrlab_mac(anairiats_sum_15, tmp109, atslab_3) ; arg0 = tmp110 ; goto __ats_lab_aux_10 ; // tail call break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp109)->tag != 55) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_9, tmp109, atslab_2) ; arg0 = tmp111 ; goto __ats_lab_aux_10 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp109)->tag != 56) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_9, tmp109, atslab_0) ; ats_ptrget_mac(ats_ptr_type, tmp112) = env0 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: break ; } while (0) ; return /* (tmp108) */ ; } /* end of [aux_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_10_closure_type ; ats_void_type aux_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { aux_10 (((aux_10_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_10_closure_init (aux_10_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_10_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_10_closure_make (ats_ptr_type env0) { aux_10_closure_type *p_clo = ATS_MALLOC(sizeof(aux_10_closure_type)) ; aux_10_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 8643(line=379, offs=1) -- 9041(line=395, offs=2) */ ATSstaticdec() ats_void_type d2exp_metfun_load_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp107) ; __ats_lab_d2exp_metfun_load_9: /* tmp107 = */ aux_10 (arg1, arg0) ; return /* (tmp107) */ ; } /* end of [d2exp_metfun_load_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 9157(line=399, offs=7) -- 9719(line=419, offs=8) */ ATSstaticdec() ats_bool_type aux_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; __ats_lab_aux_12: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_36_1: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: ats_ptrget_mac(ats_int_type, arg2) = -1 ; tmp114 = ats_true_bool ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp114 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: ats_ptrget_mac(ats_int_type, arg2) = 1 ; tmp114 = ats_true_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_ltmat1 (tmp117, tmp115) ; if (tmp119) { arg0 = tmp116 ; arg1 = tmp118 ; arg2 = arg2 ; goto __ats_lab_aux_12 ; // tail call } else { tmp114 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; break ; } while (0) ; return (tmp114) ; } /* end of [aux_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 9079(line=397, offs=5) -- 10127(line=439, offs=4) */ ATSstaticdec() ats_bool_type termet_sortcheck_11 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_bool_type, tmp125) ; __ats_lab_termet_sortcheck_11: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_42_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_13, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; /* ats_int_type tmp122 ; */ tmp122 = 0 ; tmp123 = aux_12 (tmp120, tmp121, (&tmp122)) ; if (tmp123) { tmp125 = atspre_lt_int_int (tmp122, 0) ; if (tmp125) { ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp113 = tmp123 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: tmp113 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; tmp113 = ats_true_bool ; break ; } while (0) ; return (tmp113) ; } /* end of [termet_sortcheck_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02086_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; __ats_lab_prerr_error3_loc_02086_: /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp148 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp148) */ ; } /* end of [prerr_error3_loc_02086_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 10283(line=449, offs=5) -- 11859(line=504, offs=4) */ ATSstaticdec() ats_void_type aux_init_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; // ATSlocal_void (tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (anairiats_rec_16, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_bool_type, tmp146) ; // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; __ats_lab_aux_init_14: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp129), atslab_f2undec_var) ; tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp129), atslab_f2undec_def) ; /* tmp133 = */ d2exp_metfun_load_9 (tmp132, arg1) ; /* ats_ptr_type tmp134 ; */ tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp129), atslab_f2undec_ann) ; do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (tmp135 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_13, tmp135, atslab_0) ; tmp134 = tmp136 ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (tmp135 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_syn_type (tmp132) ; break ; } while (0) ; /* ats_ptr_type tmp137 ; */ tmp137 = (ats_sum_ptr_type)0 ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_metfun_load (tmp134, tmp131) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (tmp138 != (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (tmp138 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_17, tmp138, atslab_0) ; ATS_FREE(tmp138) ; tmp141 = ats_select_mac(tmp140, atslab_0) ; tmp134 = tmp141 ; tmp143 = ats_select_mac(tmp140, atslab_1) ; tmp142 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp142, atslab_0, tmp143) ; tmp137 = tmp142 ; break ; } while (0) ; tmp144 = termet_sortcheck_11 (arg2, tmp137) ; tmp146 = atspre_neg_bool (tmp144) ; if (tmp146) { tmp150 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp129), atslab_f2undec_loc) ; /* tmp147 = */ prerr_error3_loc_02086_ (tmp150) ; /* tmp151 = */ atspre_prerr_string (ATSstrcst(": incompatible termination metric for this function.")) ; /* tmp152 = */ atspre_prerr_newline () ; tmp153 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp153)->tag = 95 ; ats_selptrset_mac(anairiats_sum_5, tmp153, atslab_0, tmp129) ; ats_selptrset_mac(anairiats_sum_5, tmp153, atslab_1, tmp137) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp153) ; } else { /* empty */ } /* end of [if] */ tmp154 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp154, atslab_0, tmp134) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp131, tmp154) ; /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp131, tmp154) ; arg0 = tmp130 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_aux_init_14 ; // tail call break ; } while (0) ; return /* (tmp128) */ ; } /* end of [aux_init_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 11982(line=511, offs=6) -- 12399(line=526, offs=6) */ ATSstaticdec() ats_ptr_type f_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; __ats_lab_f_17: tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_d3exp_type) ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_var) ; tmp161 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp161, atslab_0, tmp159) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp160, tmp161) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp160, tmp161) ; tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_loc) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__f3undec_make (tmp164, tmp160, arg1) ; return (tmp158) ; } /* end of [f_17] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 58376(line=2097, offs=5) -- 58882(line=2115, offs=4) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; __ats_lab_loop_20: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_2: tmp169 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp173 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg2) (tmp169, tmp171, arg4) ; tmp174 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp174, atslab_0, tmp173) ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp174 ; // if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp175 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ; arg0 = tmp170 ; arg1 = tmp172 ; arg2 = arg2 ; arg3 = tmp175 ; arg4 = arg4 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_2: tmp176 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp176 ; break ; } while (0) ; return /* (tmp168) */ ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 58341(line=2095, offs=3) -- 59077(line=2124, offs=4) */ ATSstaticdec() ats_ptr_type list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; __ats_lab_list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp177 ; */ /* tmp178 = */ loop_20 (arg0, arg1, arg2, (&tmp177), arg3) ; tmp167 = tmp177 ; return (tmp167) ; } /* end of [list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 59154(line=2127, offs=27) -- 59433(line=2136, offs=4) */ ATSstaticdec() ats_ptr_type list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; __ats_lab_list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type: tmp166 = list_map2_funenv_01424_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg0, arg1, ats_castfn_mac(ats_ptr_type, arg2), atspre_null_ptr) ; return (tmp166) ; } /* end of [list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 11886(line=506, offs=4) -- 12530(line=533, offs=4) */ ATSstaticdec() ats_ptr_type aux_fini_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab_aux_fini_16: tmp165 = list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), &f_17) ; tmp157 = ats_castfn_mac(ats_ptr_type, tmp165) ; return (tmp157) ; } /* end of [aux_fini_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 12671(line=541, offs=31) -- 12701(line=541, offs=61) */ ATSstaticdec() ats_ptr_type __ats_fun_21 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp181) ; __ats_lab___ats_fun_21: tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_f2undec_var) ; return (tmp181) ; } /* end of [__ats_fun_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_loop_23: do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp188 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: break ; } while (0) ; return /* (tmp187) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp186) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp186 = */ loop_23 (arg0) ; return /* (tmp186) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 10208(line=445, offs=3) -- 13019(line=557, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undeclst_tr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_bool_type, tmp127) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undeclst_tr: tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive (arg0) ; if (tmp127) { tmp180 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg2, &__ats_fun_21) ; /* ats_ptr_type tmp182 ; */ tmp182 = (ats_sum_ptr_type)0 ; /* tmp179 = */ aux_init_14 (arg2, ats_castfn_mac(ats_ptr_type, tmp180), (&tmp182)) ; } else { /* empty */ } /* end of [if] */ tmp183 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undec_tr) ; tmp184 = aux_fini_16 (arg2, tmp183) ; /* tmp185 = */ list_vt_free_01499_ats_ptr_type (tmp183) ; tmp126 = tmp184 ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__f2undeclst_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87) */ ATSstaticdec() ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp211) ; __ats_lab_list_vt_is_nil_01494_: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp211 = ats_true_bool ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp211 = ats_false_bool ; break ; } while (0) ; return (tmp211) ; } /* end of [list_vt_is_nil_01494_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 13114(line=565, offs=3) -- 14866(line=632, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldec_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_bool_type, tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_bool_type, tmp209) ; ATSlocal (ats_bool_type, tmp210) ; // ATSlocal_void (tmp212) ; ATSlocal (ats_bool_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_bool_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldec_tr: tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v2aldec_loc) ; tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v2aldec_pat) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind_is_proof (arg0) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set_if (ats_castfn_mac(ats_bool_type, tmp192), _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; /* tmp194 = ats_selsin_mac(tmp193, atslab_1) */ ; tmp195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v2aldec_def) ; tmp196 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_v2aldec_ann) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (tmp196 == (ats_sum_ptr_type)0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_13, tmp196, atslab_0) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp195, tmp198) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (tmp196 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp195) ; break ; } while (0) ; /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop_if (ats_castfn_mac(ats_bool_type, tmp192)) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp197) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__valkind2caskind (arg0) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp201)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst (tmp191) ; tmp205 = (ats_sum_ptr_type)0 ; tmp203 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp203, atslab_0, tmp204) ; ats_selptrset_mac(anairiats_sum_10, tmp203, atslab_1, tmp205) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (tmp203) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp201)->tag != 1) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst (tmp191) ; tmp208 = (ats_sum_ptr_type)0 ; tmp206 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp206, atslab_0, tmp207) ; ats_selptrset_mac(anairiats_sum_10, tmp206, atslab_1, tmp208) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (tmp206) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (((ats_sum_ptr_type)tmp201)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: tmp202 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp210 = list_vt_is_nil_01494_ (tmp202) ; if (tmp210) { tmp209 = ats_true_bool ; } else { tmp209 = ats_false_bool ; } /* end of [if] */ tmp213 = atspre_neg_bool (tmp209) ; if (tmp213) { tmp215 = (ats_sum_ptr_type)0 ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp214, atslab_0, tmp200) ; ats_selptrset_mac(anairiats_sum_10, tmp214, atslab_1, tmp215) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (tmp202) ; /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_patcstlstlst_false (tmp190, tmp201, tmp216, tmp214) ; } else { /* empty */ } /* end of [if] */ /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (tmp202) ; tmp219 = atspre_neg_bool (tmp209) ; if (tmp219) { tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn (tmp190, tmp201) ; } else { /* empty */ } /* end of [if] */ tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp191, tmp200) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3lval_set_pat_type_left (tmp197, tmp221) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at (tmp221) ; /* tmp224 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_p3at (tmp221) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make (tmp190, tmp221, tmp197) ; return (tmp189) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 14964(line=638, offs=11) -- 15019(line=639, offs=52) */ ATSstaticdec() ats_ptr_type __ats_fun_27 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; __ats_lab___ats_fun_27: tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldec_tr (env0, arg0) ; return (tmp226) ; } /* end of [__ats_fun_27] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_27_closure_type ; ats_ptr_type __ats_fun_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_27 (((__ats_fun_27_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_27_closure_init (__ats_fun_27_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_27_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_27_closure_make (ats_ptr_type env0) { __ats_fun_27_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_27_closure_type)) ; __ats_fun_27_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54647(line=1953, offs=6) -- 54699(line=1953, offs=58) */ ATSstaticdec() ats_ptr_type app_30 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp231) ; __ats_lab_app_30: tmp231 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp231) ; } /* end of [app_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54575(line=1951, offs=23) -- 54763(line=1956, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; __ats_lab_list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type: tmp230 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_30, arg1) ; return (tmp230) ; } /* end of [list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54041(line=1936, offs=19) -- 54491(line=1948, offs=2) */ ATSstaticdec() ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp229) ; __ats_lab_list_map_cloptr_01415_ats_ptr_type_ats_ptr_type: tmp229 = list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (arg0, arg1) ; return (tmp229) ; } /* end of [list_map_cloptr_01415_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 14936(line=637, offs=15) -- 15122(line=644, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; // ATSlocal_void (tmp232) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_tr: tmp227 = __ats_fun_27_closure_make (arg0) ; tmp228 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg1, tmp227) ; /* tmp232 = */ atspre_cloptr_free (tmp227) ; tmp225 = ats_castfn_mac(ats_ptr_type, tmp228) ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 15242(line=653, offs=6) -- 15835(line=670, offs=6) */ ATSstaticdec() ats_ptr_type aux1_32 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_bool_type, tmp240) ; // ATSlocal_void (tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab_aux1_32: tmp235 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_v2aldec_pat) ; tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_v2aldec_ann) ; do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (tmp237 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_13, tmp237, atslab_0) ; tmp236 = tmp238 ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (tmp237 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_syn_type (tmp235) ; break ; } while (0) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp236) ; if (tmp240) { tmp242 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, tmp235), atslab_p2at_loc) ; /* tmp241 = */ prerr_error3_loc_02086_ (tmp242) ; /* tmp243 = */ atspre_prerr_string (ATSstrcst(": this pattern cannot be assigned a linear type.")) ; /* tmp244 = */ atspre_prerr_newline () ; tmp245 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp245)->tag = 96 ; ats_selptrset_mac(anairiats_sum_5, tmp245, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp245, atslab_1, tmp236) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp245) ; } else { /* empty */ } /* end of [if] */ tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__p2at_trdn (tmp235, tmp236) ; return (tmp234) ; } /* end of [aux1_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 15934(line=676, offs=7) -- 16168(line=684, offs=6) */ ATSstaticdec() ats_ptr_type aux2_33 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; __ats_lab_aux2_33: tmp248 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_v2aldec_def) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type (arg1) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp248, tmp249) ; tmp251 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_v2aldec_loc) ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make (tmp251, arg1, tmp250) ; return (tmp247) ; } /* end of [aux2_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 15201(line=650, offs=3) -- 16266(line=691, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_rec_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_rec_tr: tmp246 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg1, &aux1_32) ; tmp252 = list_map2_fun_01425_ats_ptr_type_2cats_ptr_type_ats_ptr_type (arg1, ats_castfn_mac(ats_ptr_type, tmp246), &aux2_33) ; tmp233 = ats_castfn_mac(ats_ptr_type, tmp252) ; return (tmp233) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2aldeclst_rec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 16330(line=698, offs=1) -- 16969(line=720, offs=4) */ ATSstaticdec() ats_void_type auxInitCK_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp253) ; ATSlocal (ats_bool_type, tmp254) ; ATSlocal (ats_bool_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab_auxInitCK_34: tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq (arg2, arg3) ; tmp255 = atspre_neg_bool (tmp254) ; if (tmp255) { /* tmp256 = */ prerr_error3_loc_02086_ (arg0) ; /* tmp257 = */ atspre_prerr_string (ATSstrcst(": initialization for [")) ; /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp259 = */ atspre_prerr_string (ATSstrcst("] cannot be performed properly")) ; /* tmp260 = */ atspre_prerr_string (ATSstrcst(": mismatch of var/val type-sizes:\n")) ; /* tmp261 = */ atspre_prerr_string (ATSstrcst("var: [")) ; /* tmp262 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp263 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp264 = */ atspre_prerr_newline () ; /* tmp265 = */ atspre_prerr_string (ATSstrcst("val: [")) ; /* tmp266 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ; /* tmp267 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp268 = */ atspre_prerr_newline () ; tmp269 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp269)->tag = 54 ; ats_selptrset_mac(anairiats_sum_9, tmp269, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp269, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp269, atslab_2, arg3) ; /* tmp253 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp269) ; } else { /* empty */ } /* end of [if] */ return /* (tmp253) */ ; } /* end of [auxInitCK_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 17040(line=726, offs=3) -- 19155(line=808, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; // ATSlocal_void (tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; // ATSlocal_void (tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; // ATSlocal_void (tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardec_tr: tmp271 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_loc) ; tmp272 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_knd) ; tmp273 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_dvar) ; tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (tmp273) ; tmp275 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_type) ; tmp276 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_init) ; /* ats_ptr_type tmp277 ; */ tmp277 = (ats_sum_ptr_type)0 ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (tmp275 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_13, tmp275, atslab_0) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (tmp276 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_13, tmp276, atslab_0) ; tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp280) ; tmp282 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp282, atslab_0, tmp281) ; tmp277 = tmp282 ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp281) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp281) ; /* tmp285 = */ auxInitCK_34 (tmp271, tmp273, tmp279, tmp284) ; tmp287 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp287, atslab_0, tmp284) ; /* tmp286 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp273, tmp287) ; tmp278 = tmp279 ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (tmp276 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp279) ; tmp290 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp290, atslab_0, tmp288) ; /* tmp289 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp273, tmp290) ; tmp278 = tmp279 ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (tmp275 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (tmp276 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_13, tmp276, atslab_0) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp291) ; tmp293 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp293, atslab_0, tmp292) ; tmp277 = tmp293 ; /* tmp294 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp292) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp292) ; tmp297 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp297, atslab_0, tmp295) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp273, tmp297) ; tmp278 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp295) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (tmp276 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_Var_make_srt (tmp274, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp300, atslab_0, tmp298) ; /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp273, tmp300) ; tmp278 = tmp298 ; break ; } while (0) ; break ; } while (0) ; tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_pfat) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize (tmp274, tmp273, tmp278, tmp302) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp273) ; if (tmp303 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 18546(line=782, offs=5) -- 18578(line=782, offs=37)") ; } tmp304 = ats_caselptrlab_mac(anairiats_sum_13, tmp303, atslab_0) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp278) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp305, tmp304) ; tmp308 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp308)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp308, atslab_0, tmp306) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp301, tmp308) ; tmp309 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_dvaropt) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp309 != (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp309 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp311 = ats_caselptrlab_mac(anairiats_sum_13, tmp309, atslab_0) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp273) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp311, tmp313) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_mastype (tmp273) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp311, tmp314) ; break ; } while (0) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3ardec_make (tmp271, tmp272, tmp273, tmp301, tmp278, tmp277, tmp309) ; /* tmp316 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp273) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp273) ; tmp270 = tmp315 ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardec_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; // ATSlocal_void (tmp325) ; __ats_lab_loop_39: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp324 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; /* tmp325 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp323, arg2) ; arg0 = tmp324 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: break ; } while (0) ; return /* (tmp322) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp321) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp321 = */ loop_39 (arg0, arg1, arg2) ; return /* (tmp321) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp320) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp320 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp320) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 19307(line=821, offs=3) -- 19362(line=822, offs=43) */ ATSstaticdec() ats_void_type __ats_fun_40 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; __ats_lab___ats_fun_40: tmp327 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_v2ardec_svar) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar (tmp327) ; return /* (tmp326) */ ; } /* end of [__ats_fun_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 19248(line=815, offs=15) -- 19478(line=828, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardeclst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardeclst_tr: /* tmp319 = */ list_app_fun_01301_ats_ptr_type (arg0, &__ats_fun_40) ; tmp328 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardec_tr) ; tmp318 = ats_castfn_mac(ats_ptr_type, tmp328) ; return (tmp318) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__v2ardeclst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 19550(line=833, offs=14) -- 20247(line=865, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; // ATSlocal_void (tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; // ATSlocal_void (tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardec_tr: tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_prv2ardec_loc) ; tmp331 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_prv2ardec_dvar) ; tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_loc (tmp331) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (tmp331, 0) ; tmp334 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_prv2ardec_type) ; tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_prv2ardec_init) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (tmp336 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp337 = ats_caselptrlab_mac(anairiats_sum_13, tmp336, atslab_0) ; tmp335 = tmp337 ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (tmp336 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp335 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_empty (tmp332) ; break ; } while (0) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp334 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_13, tmp334, atslab_0) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trdn (tmp335, tmp339) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp334 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp335) ; break ; } while (0) ; tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp338) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp340) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2hnf_opnexi_and_add (tmp332, tmp341) ; tmp344 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp344, atslab_0, tmp342) ; /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp331, tmp344) ; /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp331) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_pfmanenv_add_dvar (tmp331) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prv3ardec_make (tmp330, tmp331, tmp342, tmp338) ; return (tmp329) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 20300(line=868, offs=17) -- 20361(line=869, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardeclst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardeclst_tr: tmp348 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardec_tr) ; tmp347 = ats_castfn_mac(ats_ptr_type, tmp348) ; return (tmp347) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__prv2ardeclst_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2) */ ATSstaticdec() ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp366) ; __ats_lab_ptr0_set_01760_ats_ptr_type: ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ; return /* (tmp366) */ ; } /* end of [ptr0_set_01760_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48) */ ATSstaticdec() ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp365) ; __ats_lab_ptrset_01764_ats_ptr_type: /* tmp365 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ; return /* (tmp365) */ ; } /* end of [ptrset_01764_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 20442(line=876, offs=3) -- 21166(line=903, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staload (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_int_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_int_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; // ATSlocal_void (tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; // ATSlocal_void (tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp367) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staload: tmp350 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp351 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_node) ; if (((ats_sum_ptr_type)tmp351)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 20488(line=879, offs=5) -- 20557(line=881, offs=20)") ; } tmp352 = ats_caselptrlab_mac(anairiats_sum_23, tmp351, atslab_0) ; tmp353 = ats_caselptrlab_mac(anairiats_sum_23, tmp351, atslab_1) ; tmp354 = ats_caselptrlab_mac(anairiats_sum_23, tmp351, atslab_2) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_23, tmp351, atslab_3) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_23, tmp351, atslab_4) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__filenv_get_d3eclistopt (tmp355) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (tmp357 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp357 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp355) ; /* tmp360 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp361 = ats_selsin_mac(tmp360, atslab_1) */ ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp359) ; /* tmp363 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () ; tmp364 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt (tmp355) ; tmp367 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp367, atslab_0, tmp362) ; /* tmp358 = */ ptrset_01764_ats_ptr_type (tmp364, tmp367) ; break ; } while (0) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staload (tmp350, tmp352, tmp353, tmp354, tmp355, tmp356) ; return (tmp349) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 21250(line=909, offs=3) -- 21693(line=925, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staloadloc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; // ATSlocal_void (tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; // ATSlocal_void (tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; // ATSlocal_void (tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staloadloc: tmp369 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp370 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_node) ; if (((ats_sum_ptr_type)tmp370)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 21296(line=912, offs=5) -- 21350(line=913, offs=41)") ; } tmp371 = ats_caselptrlab_mac(anairiats_sum_9, tmp370, atslab_0) ; tmp372 = ats_caselptrlab_mac(anairiats_sum_9, tmp370, atslab_1) ; tmp373 = ats_caselptrlab_mac(anairiats_sum_9, tmp370, atslab_2) ; tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_get_d2eclist (tmp373) ; /* tmp375 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_push () ; /* tmp376 = ats_selsin_mac(tmp375, atslab_1) */ ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr (tmp374) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2cstbindlst_pop_and_unbind () ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__filenv_getref_d3eclistopt (tmp373) ; tmp381 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ats_selptrset_mac(anairiats_sum_13, tmp381, atslab_0, tmp377) ; /* tmp380 = */ ptrset_01764_ats_ptr_type (tmp379, tmp381) ; tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staloadloc (tmp369, tmp371, tmp372, tmp373) ; return (tmp368) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 21777(line=931, offs=3) -- 21897(line=938, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_dynload (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_dynload: tmp383 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_loc) ; tmp384 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_d2ecl_node) ; if (((ats_sum_ptr_type)tmp384)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_decl.dats: 21823(line=934, offs=5) -- 21858(line=934, offs=40)") ; } tmp385 = ats_caselptrlab_mac(anairiats_sum_2, tmp384, atslab_0) ; tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dynload (tmp383, tmp385) ; return (tmp382) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__d2ecl_tr_dynload] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_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 () ; #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_trans3_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_svar_dats.c0000664000175000017500000010062612655455557021723 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_2 ; typedef struct { anairiats_rec_2 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_remove) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__s2varbindmap_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxrmv_2 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; ATSstatic (ats_ptr_type, statmp4) ; ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp8) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp3 ; */ tmp3 = arg0 ; tmp2 = atspre_ref_make_elt_tsz ((&tmp3), sizeof(ats_ptr_type)) ; return (tmp2) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp1 = ref_01088_ats_ptr_type (arg0) ; return (tmp1) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 1885(line=61, offs=5) -- 2124(line=68, offs=26) */ ATSstaticdec() ats_void_type auxrmv_2 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; __ats_lab_auxrmv_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_remove (arg0, tmp10) ; arg0 = arg0 ; arg1 = tmp11 ; goto __ats_lab_auxrmv_2 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp9) */ ; } /* end of [auxrmv_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 2199(line=75, offs=3) -- 2771(line=98, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp7), atslab_1) ; tmp16 = ats_ptrget_mac(ats_ptr_type, tmp14) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp16 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_1) ; ATS_FREE(tmp16) ; ats_ptrget_mac(ats_ptr_type, tmp14) = tmp18 ; tmp15 = tmp17 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp16 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp15 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp19 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp20 = ats_ptrget_mac(ats_ptr_type, tmp19) ; ats_ptrget_mac(ats_ptr_type, tmp19) = tmp15 ; tmp21 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; /* tmp13 = */ auxrmv_2 (tmp21, tmp20) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 2838(line=101, offs=23) -- 3127(line=111, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push: tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp24 = ats_ptrget_mac(ats_ptr_type, tmp23) ; tmp25 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp23) = tmp25 ; tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp7), atslab_1) ; tmp28 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_0, tmp24) ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_1, tmp28) ; ats_ptrget_mac(ats_ptr_type, tmp26) = tmp27 ; return /* (tmp22) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 3215(line=115, offs=7) -- 3596(line=127, offs=28) */ ATSstaticdec() ats_void_type aux_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (anairiats_rec_2, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; __ats_lab_aux_6: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp34 = ats_select_mac(tmp31, atslab_0) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp34) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ; tmp37 = ats_select_mac(tmp31, atslab_1) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp37) ; /* tmp38 = */ atspre_fprint_newline (arg0) ; arg0 = arg0 ; arg1 = tmp32 ; goto __ats_lab_aux_6 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp30) */ ; } /* end of [aux_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 3197(line=114, offs=25) -- 3786(line=136, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s2varbindmap (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s2varbindmap: tmp39 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp41 = ats_ptrget_mac(ats_ptr_type, tmp39) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_listize (tmp41) ; /* tmp29 = */ aux_6 (arg0, tmp40) ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__fprint_the_s2varbindmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 3858(line=139, offs=25) -- 3981(line=143, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search: tmp43 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; tmp44 = ats_ptrget_mac(ats_ptr_type, tmp43) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_search (tmp44, arg0) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_search] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 4053(line=146, offs=25) -- 4368(line=162, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_insert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_insert: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp48 = ats_ptrget_mac(ats_ptr_type, tmp46) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp47, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp47, atslab_1, tmp48) ; ats_ptrget_mac(ats_ptr_type, tmp46) = tmp47 ; tmp49 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_insert (tmp49, arg0, arg1) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_svar.dats: 4441(line=165, offs=26) -- 4748(line=181, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop () { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop: tmp51 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp5), atslab_1) ; tmp52 = ats_ptrget_mac(ats_ptr_type, tmp51) ; tmp53 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp51) = tmp53 ; tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp0), atslab_1) ; /* tmp50 = */ auxrmv_2 (tmp54, tmp52) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp4, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2varbindmap_make_nil () ; statmp0 = ref_make_elt_01089_ats_ptr_type (statmp4) ; statmp6 = (ats_sum_ptr_type)0 ; statmp5 = ref_make_elt_01089_ats_ptr_type (statmp6) ; statmp8 = (ats_sum_ptr_type)0 ; statmp7 = ref_make_elt_01089_ats_ptr_type (statmp8) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_svar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_main_dats.c0000664000175000017500000071353712655455557017545 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ #line 421 "pats_main.dats" // extern void patsopt_PATSHOME_set () ; extern char *patsopt_PATSHOME_get () ; // extern void patsopt_PATSHOMERELOC_set () ; // extern void patsopt_ATSPKGRELOCROOT_set () ; // /* type definitions */ typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_comarg0 ; ats_ptr_type atslab_PATSHOME ; ats_ptr_type atslab_waitkind ; ats_int_type atslab_ninpfile ; ats_int_type atslab_preludeflag ; ats_ptr_type atslab_infil ; ats_ptr_type atslab_outmode ; ats_ptr_type atslab_outchan ; ats_int_type atslab_depgen ; ats_int_type atslab_taggen ; ats_int_type atslab_pkgreloc ; ats_int_type atslab_codegenflag ; ats_int_type atslab_jsonizeflag ; ats_int_type atslab_typecheckflag ; ats_int_type atslab_cnstrsolveflag ; ats_int_type atslab_olevel ; ats_int_type atslab_nerror ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__COMARGkey_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_sta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_dyn_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKdefine_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinclude_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANref_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANptr_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_none) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_set) (ats_int_type) ; ATSextern_fun(ats_int_type, patsopt_debug_flag_get) () ; ATSextern_fun(ats_void_type, patsopt_debug_flag_set) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarglst_parse) (ats_int_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_DATS_flag) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_IATS_flag) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__DATS_extract) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__IATS_extract) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_ATSPKGRELOCROOT) () ; ATSextern_fun(ats_ptr_type, patsopt_filename_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush) (ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_the_prepathlst_push) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_stdin_toplevel) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel) (ats_int_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__depgen_eval) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_entlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__taggen_proc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__fprint_entlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__trans1_finalize) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set_none) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pervasive_joinwth) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgrelocitmlst_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_initialize) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__stacst2_initialize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pervasive_joinwth) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__d2eclist_codegen_out) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__d2eclist_jsonize_out) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr_errck) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_env_initialize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_finget_constraint) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_ats2_solve) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_export) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer_errck) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_main) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_patsopt_version) (ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_the_fixity_load) (ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_pervasive_load) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_the_prelude_load) (ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_the_prelude_load_if) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_pkgreloc) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_codegen_2) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_jsonize_2) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1234) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, libatsopt_patsopt_main) (ats_int_type, ats_ref_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_sta_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_dyn_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKdefine_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinclude_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANref_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANptr_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type patsopt_usage_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type waitkind_get_stadyn_2 (ats_ptr_type arg0) ; static ats_ptr_type outchan_get_filr_3 (ats_ptr_type arg0) ; static ats_ptr_type outchan_make_path_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type cmdstate_set_outchan_5 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type isinpwait_6 (anairiats_rec_2 arg0) ; static ats_bool_type isoutwait_7 (anairiats_rec_2 arg0) ; static ats_bool_type isdatswait_8 (anairiats_rec_2 arg0) ; static ats_bool_type isiatswait_9 (anairiats_rec_2 arg0) ; static ats_ptr_type theOutFilename_get_10 () ; static ats_void_type theOutFilename_set_11 (ats_ptr_type arg0) ; static ats_void_type auxerr_27 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxexn_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type process_cmdline_29 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type process_cmdline2_30 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type process_cmdline2_COMARGkey1_31 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type process_cmdline2_COMARGkey2_32 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (ats_int_type arg0, ...) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp85) ; // ATSstatic_void (statmp86) ; // ATSstatic_void (statmp87) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 9708(line=435, offs=1) -- 12219(line=495, offs=4) */ ATSstaticdec() ats_void_type patsopt_usage_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab_patsopt_usage_0: #line 440 "pats_main.dats" #line 440 "pats_main.dats" tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; #line 444 "pats_main.dats" /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("Usage: ")) ; #line 444 "pats_main.dats" /* tmp3 = */ atspre_fprint_string (arg0, tmp1) ; #line 444 "pats_main.dats" /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(" ... \n")) ; #line 444 "pats_main.dats" /* tmp5 = */ atspre_fprint_newline (arg0) ; #line 445 "pats_main.dats" /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("where a is of one of the following forms:\n")) ; #line 445 "pats_main.dats" /* tmp7 = */ atspre_fprint_newline (arg0) ; #line 447 "pats_main.dats" /* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst(" -h (for printing out this help usage)")) ; #line 447 "pats_main.dats" /* tmp9 = */ atspre_fprint_newline (arg0) ; #line 448 "pats_main.dats" /* tmp10 = */ atspre_fprint_string (arg0, ATSstrcst(" --help (for printing out this help usage)")) ; #line 448 "pats_main.dats" /* tmp11 = */ atspre_fprint_newline (arg0) ; #line 450 "pats_main.dats" /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(" -v (for printing out the version)")) ; #line 450 "pats_main.dats" /* tmp13 = */ atspre_fprint_newline (arg0) ; #line 451 "pats_main.dats" /* tmp14 = */ atspre_fprint_string (arg0, ATSstrcst(" --version (for printing out the version)")) ; #line 451 "pats_main.dats" /* tmp15 = */ atspre_fprint_newline (arg0) ; #line 453 "pats_main.dats" /* tmp16 = */ atspre_fprint_string (arg0, ATSstrcst(" -s filenames (for compiling (many) static )")) ; #line 453 "pats_main.dats" /* tmp17 = */ atspre_fprint_newline (arg0) ; #line 454 "pats_main.dats" /* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst(" --static filenames (for compiling (many) static )")) ; #line 454 "pats_main.dats" /* tmp19 = */ atspre_fprint_newline (arg0) ; #line 456 "pats_main.dats" /* tmp20 = */ atspre_fprint_string (arg0, ATSstrcst(" -d filenames (for compiling (many) dynamic )")) ; #line 456 "pats_main.dats" /* tmp21 = */ atspre_fprint_newline (arg0) ; #line 457 "pats_main.dats" /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst(" --dynamic filenames (for compiling (many) dynamic )")) ; #line 457 "pats_main.dats" /* tmp23 = */ atspre_fprint_newline (arg0) ; #line 459 "pats_main.dats" /* tmp24 = */ atspre_fprint_string (arg0, ATSstrcst(" -o filename (output into )")) ; #line 459 "pats_main.dats" /* tmp25 = */ atspre_fprint_newline (arg0) ; #line 460 "pats_main.dats" /* tmp26 = */ atspre_fprint_string (arg0, ATSstrcst(" --output filename (output into )")) ; #line 460 "pats_main.dats" /* tmp27 = */ atspre_fprint_newline (arg0) ; #line 461 "pats_main.dats" /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst(" --output-w filename (output-write into )")) ; #line 461 "pats_main.dats" /* tmp29 = */ atspre_fprint_newline (arg0) ; #line 462 "pats_main.dats" /* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst(" --output-a filename (output-append into )")) ; #line 462 "pats_main.dats" /* tmp31 = */ atspre_fprint_newline (arg0) ; #line 464 "pats_main.dats" /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(" -cc (for compiling into C)")) ; #line 464 "pats_main.dats" /* tmp33 = */ atspre_fprint_newline (arg0) ; #line 465 "pats_main.dats" /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst(" -tc (for typechecking only)")) ; #line 465 "pats_main.dats" /* tmp35 = */ atspre_fprint_newline (arg0) ; #line 466 "pats_main.dats" /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst(" --compile (for compiling into C)")) ; #line 466 "pats_main.dats" /* tmp37 = */ atspre_fprint_newline (arg0) ; #line 467 "pats_main.dats" /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst(" --typecheck (for typechecking only)")) ; #line 467 "pats_main.dats" /* tmp39 = */ atspre_fprint_newline (arg0) ; #line 472 "pats_main.dats" /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst(" --depgen (for generating information on file dependencices)")) ; #line 472 "pats_main.dats" /* tmp41 = */ atspre_fprint_newline (arg0) ; #line 476 "pats_main.dats" /* tmp42 = */ atspre_fprint_string (arg0, ATSstrcst(" --taggen (for generating tagging information on syntactic entities)")) ; #line 476 "pats_main.dats" /* tmp43 = */ atspre_fprint_newline (arg0) ; #line 478 "pats_main.dats" /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst(" --gline (for generating line pragma information in target code)")) ; #line 478 "pats_main.dats" /* tmp45 = */ atspre_fprint_newline (arg0) ; #line 480 "pats_main.dats" /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(" --debug (for enabling the generation of more informative error messages)")) ; #line 480 "pats_main.dats" /* tmp47 = */ atspre_fprint_newline (arg0) ; #line 481 "pats_main.dats" /* tmp48 = */ atspre_fprint_string (arg0, ATSstrcst(" --debug2 (for enabling the generation of debugging information in target code)")) ; #line 481 "pats_main.dats" /* tmp49 = */ atspre_fprint_newline (arg0) ; #line 483 "pats_main.dats" /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst(" --pkgreloc (for generating a script to help relocate packages in need)")) ; #line 483 "pats_main.dats" /* tmp51 = */ atspre_fprint_newline (arg0) ; #line 485 "pats_main.dats" /* tmp52 = */ atspre_fprint_string (arg0, ATSstrcst(" --codegen-2 (for outputing code generated from level-2 syntax)")) ; #line 485 "pats_main.dats" /* tmp53 = */ atspre_fprint_newline (arg0) ; #line 486 "pats_main.dats" /* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst(" --jsonize-2 (for outputing code in JSON based on level-2 syntax)")) ; #line 486 "pats_main.dats" /* tmp55 = */ atspre_fprint_newline (arg0) ; #line 488 "pats_main.dats" /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst(" --tlcalopt-disable (for disabling tail-call optimization)")) ; #line 488 "pats_main.dats" /* tmp57 = */ atspre_fprint_newline (arg0) ; #line 490 "pats_main.dats" /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(" --constraint-export (for exporting constraints in JSON format)")) ; #line 490 "pats_main.dats" /* tmp59 = */ atspre_fprint_newline (arg0) ; #line 491 "pats_main.dats" /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst(" --constraint-ignore (for entirely ignoring constraint-solving)")) ; #line 491 "pats_main.dats" /* tmp61 = */ atspre_fprint_newline (arg0) ; #line 493 "pats_main.dats" /* tmp0 = */ atspre_fprint_newline (arg0) ; return /* (tmp0) */ ; } /* end of [patsopt_usage_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 14202(line=559, offs=16) -- 14391(line=569, offs=2) */ ATSglobaldec() ats_void_type libatsopt_patsopt_version (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; __ats_lab_libatsopt_patsopt_version: #line 563 "pats_main.dats" /* tmp62 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATS/Postiats version %i.%i.%i with %s\n"), 0, 2, 6, ATSstrcst("Copyright (c) 2011-2015 Hongwei Xi")) ; return /* (tmp62) */ ; } /* end of [libatsopt_patsopt_version] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 14673(line=583, offs=4) -- 14794(line=588, offs=12) */ ATSstaticdec() ats_int_type waitkind_get_stadyn_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp63) ; __ats_lab_waitkind_get_stadyn_2: #line 585 "pats_main.dats" do { /* branch: __ats_lab_0 */ #line 586 "pats_main.dats" __ats_lab_0_0: #line 586 "pats_main.dats" if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_1_0 ; } #line 586 "pats_main.dats" __ats_lab_0_1: #line 586 "pats_main.dats" tmp63 = 0 ; break ; /* branch: __ats_lab_1 */ #line 587 "pats_main.dats" __ats_lab_1_0: #line 587 "pats_main.dats" if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_2_0 ; } #line 587 "pats_main.dats" __ats_lab_1_1: #line 587 "pats_main.dats" tmp63 = 1 ; break ; /* branch: __ats_lab_2 */ #line 588 "pats_main.dats" __ats_lab_2_0: #line 588 "pats_main.dats" __ats_lab_2_1: #line 588 "pats_main.dats" tmp63 = -1 ; break ; } while (0) ; return (tmp63) ; } /* end of [waitkind_get_stadyn_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 14980(line=599, offs=1) -- 15099(line=603, offs=2) */ ATSstaticdec() ats_ptr_type outchan_get_filr_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab_outchan_get_filr_3: #line 601 "pats_main.dats" do { /* branch: __ats_lab_3 */ #line 602 "pats_main.dats" __ats_lab_3_0: #line 602 "pats_main.dats" if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_4_0 ; } #line 602 "pats_main.dats" __ats_lab_3_1: #line 602 "pats_main.dats" tmp65 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; #line 602 "pats_main.dats" tmp64 = tmp65 ; break ; /* branch: __ats_lab_4 */ #line 602 "pats_main.dats" __ats_lab_4_0: #line 602 "pats_main.dats" // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } #line 602 "pats_main.dats" __ats_lab_4_1: #line 602 "pats_main.dats" tmp66 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; #line 602 "pats_main.dats" tmp64 = tmp66 ; break ; } while (0) ; return (tmp64) ; } /* end of [outchan_get_filr_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 15907(line=651, offs=1) -- 16294(line=675, offs=4) */ ATSstaticdec() ats_ptr_type outchan_make_path_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab_outchan_make_path_4: #line 657 "pats_main.dats" tmp69 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outmode) ; #line 657 "pats_main.dats" tmp68 = atslib_fopen_err (arg1, tmp69) ; #line 656 "pats_main.dats" tmp70 = ats_selsin_mac(tmp68, atslab_1) ; #line 662 "pats_main.dats" tmp71 = atspre_pgt (tmp70, atspre_null_ptr) ; #line 661 "pats_main.dats" if (tmp71) { #line 665 "pats_main.dats" tmp72 = tmp70 ; #line 667 "pats_main.dats" tmp67 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp67)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp67, atslab_0, ats_castfn_mac(ats_ptr_type, tmp72)) ; } else { #line 672 "pats_main.dats" tmp67 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp67)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp67, atslab_0, stderr) ; } /* end of [if] */ return (tmp67) ; } /* end of [outchan_make_path_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 16351(line=680, offs=1) -- 16667(line=697, offs=4) */ ATSstaticdec() ats_void_type cmdstate_set_outchan_5 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_int_type, tmp76) ; __ats_lab_cmdstate_set_outchan_5: #line 684 "pats_main.dats" tmp74 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 685 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) = arg1 ; #line 688 "pats_main.dats" do { /* branch: __ats_lab_5 */ #line 691 "pats_main.dats" __ats_lab_5_0: #line 691 "pats_main.dats" if (((ats_sum_ptr_type)tmp74)->tag != 0) { goto __ats_lab_6_0 ; } #line 691 "pats_main.dats" __ats_lab_5_1: break ; /* branch: __ats_lab_6 */ #line 693 "pats_main.dats" __ats_lab_6_0: #line 693 "pats_main.dats" // if (((ats_sum_ptr_type)tmp74)->tag != 1) { ats_deadcode_failure_handle () ; } #line 693 "pats_main.dats" __ats_lab_6_1: #line 693 "pats_main.dats" tmp75 = ats_caselptrlab_mac(anairiats_sum_1, tmp74, atslab_0) ; #line 694 "pats_main.dats" tmp76 = atslib_fclose_err (tmp75) ; break ; } while (0) ; return /* (tmp73) */ ; } /* end of [cmdstate_set_outchan_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 16726(line=701, offs=4) -- 16886(line=712, offs=2) */ ATSstaticdec() ats_bool_type isinpwait_6 (anairiats_rec_2 arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab_isinpwait_6: #line 707 "pats_main.dats" tmp78 = ats_select_mac(arg0, atslab_waitkind) ; #line 706 "pats_main.dats" do { /* branch: __ats_lab_7 */ #line 709 "pats_main.dats" __ats_lab_7_0: #line 709 "pats_main.dats" if (((ats_sum_ptr_type)tmp78)->tag != 1) { goto __ats_lab_8_0 ; } #line 709 "pats_main.dats" __ats_lab_7_1: #line 709 "pats_main.dats" tmp77 = ats_true_bool ; break ; /* branch: __ats_lab_8 */ #line 710 "pats_main.dats" __ats_lab_8_0: #line 710 "pats_main.dats" if (((ats_sum_ptr_type)tmp78)->tag != 2) { goto __ats_lab_9_0 ; } #line 710 "pats_main.dats" __ats_lab_8_1: #line 710 "pats_main.dats" tmp77 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ #line 711 "pats_main.dats" __ats_lab_9_0: #line 711 "pats_main.dats" __ats_lab_9_1: #line 711 "pats_main.dats" tmp77 = ats_false_bool ; break ; } while (0) ; return (tmp77) ; } /* end of [isinpwait_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 16913(line=714, offs=4) -- 17033(line=719, offs=2) */ ATSstaticdec() ats_bool_type isoutwait_7 (anairiats_rec_2 arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab_isoutwait_7: #line 717 "pats_main.dats" tmp80 = ats_select_mac(arg0, atslab_waitkind) ; #line 717 "pats_main.dats" do { /* branch: __ats_lab_10 */ #line 718 "pats_main.dats" __ats_lab_10_0: #line 718 "pats_main.dats" if (((ats_sum_ptr_type)tmp80)->tag != 3) { goto __ats_lab_11_0 ; } #line 718 "pats_main.dats" __ats_lab_10_1: #line 718 "pats_main.dats" tmp79 = ats_true_bool ; break ; /* branch: __ats_lab_11 */ #line 718 "pats_main.dats" __ats_lab_11_0: #line 718 "pats_main.dats" __ats_lab_11_1: #line 718 "pats_main.dats" tmp79 = ats_false_bool ; break ; } while (0) ; return (tmp79) ; } /* end of [isoutwait_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 17063(line=721, offs=4) -- 17184(line=726, offs=2) */ ATSstaticdec() ats_bool_type isdatswait_8 (anairiats_rec_2 arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab_isdatswait_8: #line 724 "pats_main.dats" tmp82 = ats_select_mac(arg0, atslab_waitkind) ; #line 724 "pats_main.dats" do { /* branch: __ats_lab_12 */ #line 725 "pats_main.dats" __ats_lab_12_0: #line 725 "pats_main.dats" if (((ats_sum_ptr_type)tmp82)->tag != 4) { goto __ats_lab_13_0 ; } #line 725 "pats_main.dats" __ats_lab_12_1: #line 725 "pats_main.dats" tmp81 = ats_true_bool ; break ; /* branch: __ats_lab_13 */ #line 725 "pats_main.dats" __ats_lab_13_0: #line 725 "pats_main.dats" __ats_lab_13_1: #line 725 "pats_main.dats" tmp81 = ats_false_bool ; break ; } while (0) ; return (tmp81) ; } /* end of [isdatswait_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 17215(line=728, offs=4) -- 17336(line=733, offs=2) */ ATSstaticdec() ats_bool_type isiatswait_9 (anairiats_rec_2 arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_isiatswait_9: #line 731 "pats_main.dats" tmp84 = ats_select_mac(arg0, atslab_waitkind) ; #line 731 "pats_main.dats" do { /* branch: __ats_lab_14 */ #line 732 "pats_main.dats" __ats_lab_14_0: #line 732 "pats_main.dats" if (((ats_sum_ptr_type)tmp84)->tag != 5) { goto __ats_lab_15_0 ; } #line 732 "pats_main.dats" __ats_lab_14_1: #line 732 "pats_main.dats" tmp83 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ #line 732 "pats_main.dats" __ats_lab_15_0: #line 732 "pats_main.dats" __ats_lab_15_1: #line 732 "pats_main.dats" tmp83 = ats_false_bool ; break ; } while (0) ; return (tmp83) ; } /* end of [isiatswait_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 17568(line=750, offs=1) -- 17716(line=758, offs=2) */ ATSstaticdec() ats_ptr_type theOutFilename_get_10 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_theOutFilename_get_10: #line 756 "pats_main.dats" tmp89 = statmp85 ; #line 757 "pats_main.dats" statmp85 = atspre_stropt_none ; #line 753 "pats_main.dats" tmp88 = tmp89 ; return (tmp88) ; } /* end of [theOutFilename_get_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 17752(line=761, offs=1) -- 17857(line=766, offs=2) */ ATSstaticdec() ats_void_type theOutFilename_set_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp90) ; __ats_lab_theOutFilename_set_11: #line 765 "pats_main.dats" statmp85 = arg0 ; return /* (tmp90) */ ; } /* end of [theOutFilename_set_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 18057(line=780, offs=3) -- 18856(line=812, offs=4) */ ATSglobaldec() ats_void_type libatsopt_the_fixity_load (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab_libatsopt_the_fixity_load: #line 784 "pats_main.dats" tmp92 = patsopt_filename_append (arg0, ATSstrcst("prelude/fixity.ats")) ; #line 787 "pats_main.dats" tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make (ATSstrcst("prelude/fixity.ats"), ATSstrcst("prelude/fixity.ats"), ats_castfn_mac(ats_ptr_type, tmp92)) ; #line 791 "pats_main.dats" /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (tmp93) ; #line 790 "pats_main.dats" /* tmp95 = ats_selsin_mac(tmp94, atslab_1) */ ; #line 793 "pats_main.dats" tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (0, tmp93) ; #line 795 "pats_main.dats" /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; #line 799 "pats_main.dats" /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil () ; #line 798 "pats_main.dats" /* tmp99 = ats_selsin_mac(tmp98, atslab_1) */ ; #line 800 "pats_main.dats" tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck (tmp96) ; #line 802 "pats_main.dats" tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop () ; #line 804 "pats_main.dats" /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pervasive_joinwth (tmp101) ; return /* (tmp91) */ ; } /* end of [libatsopt_the_fixity_load] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 19039(line=825, offs=3) -- 20132(line=868, offs=2) */ ATSglobaldec() ats_void_type libatsopt_pervasive_load (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; __ats_lab_libatsopt_pervasive_load: #line 834 "pats_main.dats" tmp103 = patsopt_filename_append (arg0, arg1) ; #line 838 "pats_main.dats" tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_make (arg1, arg1, ats_castfn_mac(ats_ptr_type, tmp103)) ; #line 841 "pats_main.dats" /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (tmp104) ; #line 840 "pats_main.dats" /* tmp106 = ats_selsin_mac(tmp105, atslab_1) */ ; #line 843 "pats_main.dats" tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (0, tmp104) ; #line 845 "pats_main.dats" /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; #line 849 "pats_main.dats" /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_name (ATSstrcst("ATSLIB.prelude")) ; #line 851 "pats_main.dats" /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set (ATSstrcst("atspre_")) ; #line 854 "pats_main.dats" /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; #line 853 "pats_main.dats" /* tmp112 = ats_selsin_mac(tmp111, atslab_1) */ ; #line 855 "pats_main.dats" tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck (tmp107) ; #line 857 "pats_main.dats" /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop () ; #line 860 "pats_main.dats" /* tmp115 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_push () ; #line 859 "pats_main.dats" /* tmp116 = ats_selsin_mac(tmp115, atslab_1) */ ; #line 861 "pats_main.dats" tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck (tmp113) ; #line 863 "pats_main.dats" /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_pervasive_joinwth (tmp104, tmp117) ; #line 865 "pats_main.dats" /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_set_none () ; #line 866 "pats_main.dats" /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set_none () ; return /* (tmp102) */ ; } /* end of [libatsopt_pervasive_load] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 20359(line=885, offs=3) -- 23590(line=984, offs=2) */ ATSglobaldec() ats_void_type libatsopt_the_prelude_load (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; __ats_lab_libatsopt_the_prelude_load: #line 888 "pats_main.dats" /* tmp121 = */ libatsopt_the_fixity_load (arg0) ; #line 891 "pats_main.dats" /* tmp122 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/basics_pre.sats")) ; #line 893 "pats_main.dats" /* tmp123 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/basics_sta.sats")) ; #line 895 "pats_main.dats" /* tmp124 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/basics_dyn.sats")) ; #line 897 "pats_main.dats" /* tmp125 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/basics_gen.sats")) ; #line 899 "pats_main.dats" /* tmp126 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/macrodef.sats")) ; #line 901 "pats_main.dats" /* tmp127 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__stacst2_initialize () ; #line 902 "pats_main.dats" /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__constraint3_initialize () ; #line 911 "pats_main.dats" /* tmp129 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/arith_prf.sats")) ; #line 913 "pats_main.dats" /* tmp130 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/integer.sats")) ; #line 914 "pats_main.dats" /* tmp131 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/pointer.sats")) ; #line 916 "pats_main.dats" /* tmp132 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/bool.sats")) ; #line 917 "pats_main.dats" /* tmp133 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/char.sats")) ; #line 918 "pats_main.dats" /* tmp134 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/float.sats")) ; #line 920 "pats_main.dats" /* tmp135 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/integer_ptr.sats")) ; #line 921 "pats_main.dats" /* tmp136 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/integer_fixed.sats")) ; #line 923 "pats_main.dats" /* tmp137 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/memory.sats")) ; #line 925 "pats_main.dats" /* tmp138 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/string.sats")) ; #line 926 "pats_main.dats" /* tmp139 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/strptr.sats")) ; #line 928 "pats_main.dats" /* tmp140 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/tuple.sats")) ; #line 930 "pats_main.dats" /* tmp141 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/reference.sats")) ; #line 932 "pats_main.dats" /* tmp142 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/filebas.sats")) ; #line 933 "pats_main.dats" /* tmp143 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/intrange.sats")) ; #line 935 "pats_main.dats" /* tmp144 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/gorder.sats")) ; #line 936 "pats_main.dats" /* tmp145 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/gnumber.sats")) ; #line 937 "pats_main.dats" /* tmp146 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/grandom.sats")) ; #line 946 "pats_main.dats" /* tmp147 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/checkast.sats")) ; #line 954 "pats_main.dats" /* tmp148 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/list.sats")) ; #line 955 "pats_main.dats" /* tmp149 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/list_vt.sats")) ; #line 957 "pats_main.dats" /* tmp150 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/option.sats")) ; #line 958 "pats_main.dats" /* tmp151 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/option_vt.sats")) ; #line 960 "pats_main.dats" /* tmp152 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/array.sats")) ; #line 961 "pats_main.dats" /* tmp153 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/array_prf.sats")) ; #line 962 "pats_main.dats" /* tmp154 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/arrayptr.sats")) ; #line 963 "pats_main.dats" /* tmp155 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/arrayref.sats")) ; #line 965 "pats_main.dats" /* tmp156 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/matrix.sats")) ; #line 966 "pats_main.dats" /* tmp157 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/matrixptr.sats")) ; #line 967 "pats_main.dats" /* tmp158 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/matrixref.sats")) ; #line 969 "pats_main.dats" /* tmp159 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/stream.sats")) ; #line 970 "pats_main.dats" /* tmp160 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/stream_vt.sats")) ; #line 972 "pats_main.dats" /* tmp161 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/gprint.sats")) ; #line 973 "pats_main.dats" /* tmp162 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/tostring.sats")) ; #line 975 "pats_main.dats" /* tmp163 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/parray.sats")) ; #line 977 "pats_main.dats" /* tmp120 = */ libatsopt_pervasive_load (arg0, ATSstrcst("prelude/SATS/extern.sats")) ; return /* (tmp120) */ ; } /* end of [libatsopt_the_prelude_load] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 23840(line=1001, offs=3) -- 23948(line=1006, offs=12) */ ATSglobaldec() ats_void_type libatsopt_the_prelude_load_if (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_bool_type, tmp165) ; __ats_lab_libatsopt_the_prelude_load_if: #line 1004 "pats_main.dats" tmp165 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), 0) ; #line 1004 "pats_main.dats" if (tmp165) { #line 1005 "pats_main.dats" ats_ptrget_mac(ats_int_type, arg1) = 1 ; #line 1005 "pats_main.dats" /* tmp164 = */ libatsopt_the_prelude_load (arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp164) */ ; } /* end of [libatsopt_the_prelude_load_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 24263(line=1029, offs=3) -- 24548(line=1042, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen: #line 1031 "pats_main.dats" tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__depgen_eval (arg2) ; #line 1036 "pats_main.dats" /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop () ; #line 1038 "pats_main.dats" tmp170 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1038 "pats_main.dats" tmp169 = outchan_get_filr_3 (tmp170) ; #line 1041 "pats_main.dats" /* tmp166 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__fprint_entlst (tmp169, arg1, tmp167) ; return /* (tmp166) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 24596(line=1046, offs=3) -- 24881(line=1059, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen: #line 1048 "pats_main.dats" tmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__taggen_proc (arg2) ; #line 1053 "pats_main.dats" /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop () ; #line 1055 "pats_main.dats" tmp175 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1055 "pats_main.dats" tmp174 = outchan_get_filr_3 (tmp175) ; #line 1058 "pats_main.dats" /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__fprint_entlst (tmp174, arg1, tmp172) ; return /* (tmp171) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 25066(line=1073, offs=3) -- 25249(line=1085, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_pkgreloc (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_pkgreloc: #line 1076 "pats_main.dats" tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgrelocitmlst_get () ; #line 1079 "pats_main.dats" tmp179 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1079 "pats_main.dats" tmp178 = outchan_get_filr_3 (tmp179) ; #line 1083 "pats_main.dats" /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst (tmp178, tmp177) ; return /* (tmp176) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_pkgreloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 25459(line=1101, offs=3) -- 25598(line=1108, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_codegen_2 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_codegen_2: #line 1103 "pats_main.dats" tmp181 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1104 "pats_main.dats" tmp182 = outchan_get_filr_3 (tmp181) ; #line 1107 "pats_main.dats" /* tmp180 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__d2eclist_codegen_out (tmp182, arg2) ; return /* (tmp180) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_codegen_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 26332(line=1161, offs=1) -- 26475(line=1170, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_jsonize_2 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_jsonize_2: #line 1165 "pats_main.dats" tmp184 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1166 "pats_main.dats" tmp185 = outchan_get_filr_3 (tmp184) ; #line 1169 "pats_main.dats" /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__d2eclist_jsonize_out (tmp185, arg2) ; return /* (tmp183) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_jsonize_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 27201(line=1217, offs=1) -- 27541(line=1237, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1: #line 1222 "pats_main.dats" tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck (arg2) ; #line 1225 "pats_main.dats" /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__trans1_finalize () ; #line 1228 "pats_main.dats" tmp191 = patsopt_debug_flag_get () ; #line 1228 "pats_main.dats" tmp190 = atspre_gt_int_int (tmp191, 0) ; #line 1228 "pats_main.dats" if (tmp190) { #line 1231 "pats_main.dats" /* tmp192 = */ atspre_prerr_string (ATSstrcst("The 1st translation (fixity) of [")) ; #line 1231 "pats_main.dats" /* tmp193 = */ atspre_prerr_string (arg1) ; #line 1231 "pats_main.dats" /* tmp194 = */ atspre_prerr_string (ATSstrcst("] is successfully completed!")) ; #line 1230 "pats_main.dats" /* tmp189 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ #line 1236 "pats_main.dats" tmp186 = tmp187 ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 27607(line=1243, offs=1) -- 28029(line=1267, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_bool_type, tmp198) ; ATSlocal (ats_int_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12: #line 1248 "pats_main.dats" tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1 (arg0, arg1, arg2) ; #line 1252 "pats_main.dats" tmp199 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_ninpfile) ; #line 1252 "pats_main.dats" tmp198 = atspre_gte_int_int (tmp199, 2) ; #line 1251 "pats_main.dats" if (tmp198) { #line 1254 "pats_main.dats" /* tmp197 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize () ; } else { /* empty */ } /* end of [if] */ #line 1257 "pats_main.dats" tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d1eclist_tr_errck (tmp196) ; #line 1260 "pats_main.dats" tmp203 = patsopt_debug_flag_get () ; #line 1260 "pats_main.dats" tmp202 = atspre_gt_int_int (tmp203, 0) ; #line 1260 "pats_main.dats" if (tmp202) { #line 1263 "pats_main.dats" /* tmp204 = */ atspre_prerr_string (ATSstrcst("The 2nd translation (binding) of [")) ; #line 1263 "pats_main.dats" /* tmp205 = */ atspre_prerr_string (arg1) ; #line 1263 "pats_main.dats" /* tmp206 = */ atspre_prerr_string (ATSstrcst("] is successfully completed!")) ; #line 1262 "pats_main.dats" /* tmp201 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ #line 1245 "pats_main.dats" tmp195 = tmp200 ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 28100(line=1273, offs=1) -- 29116(line=1337, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; // ATSlocal_void (tmp213) ; ATSlocal (ats_bool_type, tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_bool_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; ATSlocal (ats_bool_type, tmp220) ; ATSlocal (ats_int_type, tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123: #line 1278 "pats_main.dats" tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12 (arg0, arg1, arg2) ; #line 1281 "pats_main.dats" /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_env_initialize () ; #line 1283 "pats_main.dats" tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2eclist_tr_errck (tmp208) ; #line 1302 "pats_main.dats" tmp211 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_cnstrsolveflag) ; #line 1304 "pats_main.dats" tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_trans3_finget_constraint () ; #line 1310 "pats_main.dats" tmp214 = atspre_eq_int_int (tmp211, 0) ; #line 1309 "pats_main.dats" if (tmp214) { #line 1312 "pats_main.dats" /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_ats2_solve (tmp212) ; } else { /* empty */ } /* end of [if] */ #line 1319 "pats_main.dats" tmp216 = atspre_gt_int_int (tmp211, 0) ; #line 1318 "pats_main.dats" if (tmp216) { #line 1322 "pats_main.dats" tmp218 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1322 "pats_main.dats" tmp217 = outchan_get_filr_3 (tmp218) ; #line 1323 "pats_main.dats" /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__c3nstr_export (tmp217, tmp212) ; } else { /* empty */ } /* end of [if] */ #line 1330 "pats_main.dats" tmp221 = patsopt_debug_flag_get () ; #line 1330 "pats_main.dats" tmp220 = atspre_gt_int_int (tmp221, 0) ; #line 1329 "pats_main.dats" if (tmp220) { #line 1333 "pats_main.dats" /* tmp222 = */ atspre_prerr_string (ATSstrcst("The 3rd translation (type-checking) of [")) ; #line 1333 "pats_main.dats" /* tmp223 = */ atspre_prerr_string (arg1) ; #line 1333 "pats_main.dats" /* tmp224 = */ atspre_prerr_string (ATSstrcst("] is successfully completed!")) ; #line 1332 "pats_main.dats" /* tmp219 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ #line 1275 "pats_main.dats" tmp207 = tmp210 ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 29189(line=1343, offs=1) -- 29601(line=1365, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1234 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_bool_type, tmp229) ; ATSlocal (ats_int_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1234: #line 1348 "pats_main.dats" tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123 (arg0, arg1, arg2) ; #line 1351 "pats_main.dats" tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__d3eclist_tyer_errck (tmp226) ; #line 1358 "pats_main.dats" tmp230 = patsopt_debug_flag_get () ; #line 1358 "pats_main.dats" tmp229 = atspre_gt_int_int (tmp230, 0) ; #line 1358 "pats_main.dats" if (tmp229) { #line 1361 "pats_main.dats" /* tmp231 = */ atspre_prerr_string (ATSstrcst("The 4th translation (type/proof-erasing) of [")) ; #line 1361 "pats_main.dats" /* tmp232 = */ atspre_prerr_string (arg1) ; #line 1361 "pats_main.dats" /* tmp233 = */ atspre_prerr_string (ATSstrcst("] is successfully completed!")) ; #line 1360 "pats_main.dats" /* tmp228 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ #line 1345 "pats_main.dats" tmp225 = tmp227 ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1234] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 29678(line=1371, offs=3) -- 30713(line=1411, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp234) ; ATSlocal (ats_bool_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_bool_type, tmp241) ; ATSlocal (ats_int_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_bool_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal: #line 1373 "pats_main.dats" do { /* branch: __ats_lab_16 */ #line 1374 "pats_main.dats" __ats_lab_16_0: #line 1374 "pats_main.dats" __ats_lab_16_1: #line 1375 "pats_main.dats" tmp236 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_pkgreloc) ; #line 1375 "pats_main.dats" tmp235 = atspre_gt_int_int (tmp236, 0) ; #line 1375 "pats_main.dats" if (!tmp235) { goto __ats_lab_17_1 ; } #line 1377 "pats_main.dats" tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1 (arg0, arg1, arg2) ; #line 1380 "pats_main.dats" /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_pkgreloc (arg0, arg1, tmp237) ; break ; /* branch: __ats_lab_17 */ #line 1382 "pats_main.dats" __ats_lab_17_0: #line 1382 "pats_main.dats" __ats_lab_17_1: #line 1383 "pats_main.dats" tmp239 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_codegenflag) ; #line 1383 "pats_main.dats" tmp238 = atspre_eq_int_int (tmp239, 2) ; #line 1383 "pats_main.dats" if (!tmp238) { goto __ats_lab_18_1 ; } #line 1385 "pats_main.dats" tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12 (arg0, arg1, arg2) ; #line 1388 "pats_main.dats" /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_codegen_2 (arg0, arg1, tmp240) ; break ; /* branch: __ats_lab_18 */ #line 1390 "pats_main.dats" __ats_lab_18_0: #line 1390 "pats_main.dats" __ats_lab_18_1: #line 1391 "pats_main.dats" tmp242 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_jsonizeflag) ; #line 1391 "pats_main.dats" tmp241 = atspre_eq_int_int (tmp242, 2) ; #line 1391 "pats_main.dats" if (!tmp241) { goto __ats_lab_19_1 ; } #line 1393 "pats_main.dats" tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans12 (arg0, arg1, arg2) ; #line 1396 "pats_main.dats" /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_jsonize_2 (arg0, arg1, tmp243) ; break ; /* branch: __ats_lab_19 */ #line 1398 "pats_main.dats" __ats_lab_19_0: #line 1398 "pats_main.dats" __ats_lab_19_1: #line 1399 "pats_main.dats" tmp245 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_typecheckflag) ; #line 1399 "pats_main.dats" tmp244 = atspre_gt_int_int (tmp245, 0) ; #line 1399 "pats_main.dats" if (!tmp244) { goto __ats_lab_20_1 ; } #line 1401 "pats_main.dats" tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans123 (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_20 */ #line 1403 "pats_main.dats" __ats_lab_20_0: #line 1403 "pats_main.dats" __ats_lab_20_1: #line 1404 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_olevel) = 1 ; #line 1405 "pats_main.dats" tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_trans1234 (arg0, arg1, arg2) ; #line 1406 "pats_main.dats" tmp249 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_outchan) ; #line 1406 "pats_main.dats" tmp248 = outchan_get_filr_3 (tmp249) ; #line 1407 "pats_main.dats" tmp251 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_waitkind) ; #line 1407 "pats_main.dats" tmp250 = waitkind_get_stadyn_2 (tmp251) ; #line 1408 "pats_main.dats" tmp252 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_infil) ; #line 1408 "pats_main.dats" /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccomp_main (tmp248, tmp250, tmp252, tmp247) ; break ; } while (0) ; return /* (tmp234) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 30878(line=1427, offs=1) -- 31148(line=1446, offs=4) */ ATSstaticdec() ats_void_type auxerr_27 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp254) ; ATSlocal (ats_bool_type, tmp255) ; __ats_lab_auxerr_27: #line 1438 "pats_main.dats" tmp255 = atspre_gt_int_int (arg0, 0) ; #line 1437 "pats_main.dats" if (tmp255) { #line 1440 "pats_main.dats" /* tmp254 = */ atspre_fprintf_exn (arg1, ATSstrcst("%s//\n#error(PATSOPT_ERROR_(patsopt(%s): %s))\n//\n%s"), ATSstrcst("/* ****** ****** */\n"), arg2, arg3, ATSstrcst("/* ****** ****** */\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp254) */ ; } /* end of [auxerr_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 30795(line=1420, offs=1) -- 32221(line=1502, offs=4) */ ATSstaticdec() ats_void_type auxexn_26 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp253) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_int_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_int_type, tmp261) ; __ats_lab_auxexn_26: #line 1449 "pats_main.dats" tmp256 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; #line 1452 "pats_main.dats" tmp257 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp256), atslab_olevel) ; #line 1453 "pats_main.dats" tmp259 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp256), atslab_outchan) ; #line 1453 "pats_main.dats" tmp258 = outchan_get_filr_3 (tmp259) ; #line 1455 "pats_main.dats" tmp260 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp256), atslab_nerror) ; #line 1456 "pats_main.dats" tmp261 = atspre_add_int_int (tmp260, 1) ; #line 1456 "pats_main.dats" ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp256), atslab_nerror) = tmp261 ; #line 1462 "pats_main.dats" do { /* branch: __ats_lab_21 */ #line 1464 "pats_main.dats" __ats_lab_21_0: #line 1464 "pats_main.dats" if (arg3 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) { goto __ats_lab_22_0 ; } #line 1464 "pats_main.dats" __ats_lab_21_1: #line 1466 "pats_main.dats" /* tmp253 = */ auxerr_27 (tmp257, tmp258, arg1, ATSstrcst("fixity-errors")) ; break ; /* branch: __ats_lab_22 */ #line 1469 "pats_main.dats" __ats_lab_22_0: #line 1469 "pats_main.dats" if (arg3 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN) { goto __ats_lab_23_0 ; } #line 1469 "pats_main.dats" __ats_lab_22_1: #line 1471 "pats_main.dats" /* tmp253 = */ auxerr_27 (tmp257, tmp258, arg1, ATSstrcst("trans1-errors")) ; break ; /* branch: __ats_lab_23 */ #line 1474 "pats_main.dats" __ats_lab_23_0: #line 1474 "pats_main.dats" if (arg3 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN) { goto __ats_lab_24_0 ; } #line 1474 "pats_main.dats" __ats_lab_23_1: #line 1476 "pats_main.dats" /* tmp253 = */ auxerr_27 (tmp257, tmp258, arg1, ATSstrcst("trans2-errors")) ; break ; /* branch: __ats_lab_24 */ #line 1479 "pats_main.dats" __ats_lab_24_0: #line 1479 "pats_main.dats" if (arg3 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN) { goto __ats_lab_25_0 ; } #line 1479 "pats_main.dats" __ats_lab_24_1: #line 1481 "pats_main.dats" /* tmp253 = */ auxerr_27 (tmp257, tmp258, arg1, ATSstrcst("trans3-errors")) ; break ; /* branch: __ats_lab_25 */ #line 1484 "pats_main.dats" __ats_lab_25_0: #line 1484 "pats_main.dats" if (arg3 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN) { goto __ats_lab_26_0 ; } #line 1484 "pats_main.dats" __ats_lab_25_1: #line 1486 "pats_main.dats" /* tmp253 = */ auxerr_27 (tmp257, tmp258, arg1, ATSstrcst("trans4-errors")) ; break ; /* branch: __ats_lab_26 */ #line 1500 "pats_main.dats" __ats_lab_26_0: #line 1500 "pats_main.dats" __ats_lab_26_1: #line 1500 "pats_main.dats" /* tmp253 = */ ats_raise_exn (arg3) ; break ; } while (0) ; return /* (tmp253) */ ; } /* end of [auxexn_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 32290(line=1508, offs=3) -- 32553(line=1528, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2: #line 1514 "pats_main.dats" ATS_TRYWITH_TRY(tmp265) #line 1517 "pats_main.dats" tmp263 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; #line 1520 "pats_main.dats" /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal (tmp263, arg1, arg2) ; #line 1514 "pats_main.dats" /* tmp262 = tmp264 */ ; ATS_TRYWITH_WITH(tmp265) do { /* branch: __ats_lab_27 */ #line 1526 "pats_main.dats" __ats_lab_27_0: #line 1526 "pats_main.dats" __ats_lab_27_1: #line 1526 "pats_main.dats" /* tmp262 = */ auxexn_26 (arg0, arg1, arg2, tmp265) ; break ; } while (0) ; ATS_TRYWITH_END() ; return /* (tmp262) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 32630(line=1535, offs=1) -- 34220(line=1601, offs=4) */ ATSstaticdec() ats_void_type process_cmdline_29 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp376) ; #line 1535 "pats_main.dats" /* tmp376 = */ process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (0, arg0, arg1) ; return /* (tmp376) */ ; } /* end of [process_cmdline_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 34275(line=1606, offs=1) -- 37094(line=1719, offs=4) */ ATSstaticdec() ats_void_type process_cmdline2_30 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp377) ; #line 1606 "pats_main.dats" /* tmp377 = */ process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (1, arg0, arg1, arg2) ; return /* (tmp377) */ ; } /* end of [process_cmdline2_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 37150(line=1724, offs=1) -- 38778(line=1802, offs=4) */ ATSstaticdec() ats_void_type process_cmdline2_COMARGkey1_31 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp378) ; #line 1724 "pats_main.dats" /* tmp378 = */ process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (2, arg0, arg1, arg2) ; return /* (tmp378) */ ; } /* end of [process_cmdline2_COMARGkey1_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 38845(line=1807, offs=1) -- 40851(line=1891, offs=4) */ ATSstaticdec() ats_void_type process_cmdline2_COMARGkey2_32 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp379) ; #line 1807 "pats_main.dats" /* tmp379 = */ process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (3, arg0, arg1, arg2) ; return /* (tmp379) */ ; } /* end of [process_cmdline2_COMARGkey2_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 32630(line=1535, offs=1) -- 40851(line=1891, offs=4) */ ATSstaticdec() ats_void_type process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32 (ats_int_type arg0, ...) { /* local vardec */ ATSlocal (ats_ref_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ref_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ref_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ref_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; // ATSlocal_void (tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_bool_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_bool_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_bool_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_bool_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; ATSlocal (ats_int_type, tmp292) ; ATSlocal (ats_bool_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_bool_type, tmp301) ; ATSlocal (ats_int_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_int_type, tmp304) ; ATSlocal (ats_int_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_bool_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_bool_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_int_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; // ATSlocal_void (tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; // ATSlocal_void (tmp316) ; ATSlocal (ats_bool_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_bool_type, tmp319) ; ATSlocal (ats_bool_type, tmp320) ; ATSlocal (ats_int_type, tmp321) ; ATSlocal (ats_bool_type, tmp323) ; ATSlocal (ats_int_type, tmp324) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_bool_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; // ATSlocal_void (tmp334) ; ATSlocal (ats_bool_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_bool_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; ATSlocal (ats_int_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_int_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; // ATSlocal_void (tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_bool_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_bool_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_bool_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_bool_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; // ATSlocal_void (tmp374) ; // ATSlocal_void (tmp375) ; va_list funarg ; switch (arg0) { case 0: va_start(funarg, arg0) ; tmp266 = va_arg(funarg, ats_ref_type) ; tmp267 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_process_cmdline_29 ; case 1: va_start(funarg, arg0) ; tmp268 = va_arg(funarg, ats_ref_type) ; tmp269 = va_arg(funarg, ats_ptr_type) ; tmp270 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_process_cmdline2_30 ; case 2: va_start(funarg, arg0) ; tmp271 = va_arg(funarg, ats_ref_type) ; tmp272 = va_arg(funarg, ats_ptr_type) ; tmp273 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_process_cmdline2_COMARGkey1_31 ; case 3: va_start(funarg, arg0) ; tmp274 = va_arg(funarg, ats_ref_type) ; tmp275 = va_arg(funarg, ats_ptr_type) ; tmp276 = va_arg(funarg, ats_ptr_type) ; va_end(funarg) ; goto __ats_lab_process_cmdline2_COMARGkey2_32 ; default: exit(1) ; /* deadcode */ } /* end of switch */ ATSlocal (va_list, arg1) ; va_start(arg1, arg0) ; #line 1535 "pats_main.dats" __ats_lab_process_cmdline_29: #line 1542 "pats_main.dats" do { /* branch: __ats_lab_28 */ #line 1544 "pats_main.dats" __ats_lab_28_0: #line 1544 "pats_main.dats" if (tmp267 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } #line 1544 "pats_main.dats" __ats_lab_28_1: #line 1545 "pats_main.dats" tmp278 = ats_caselptrlab_mac(anairiats_sum_3, tmp267, atslab_0) ; #line 1545 "pats_main.dats" tmp279 = ats_caselptrlab_mac(anairiats_sum_3, tmp267, atslab_1) ; #line 1544 "pats_main.dats" ATS_FREE(tmp267) ; #line 1546 "pats_main.dats" tmp268 = tmp266 ; #line 1546 "pats_main.dats" tmp269 = tmp278 ; #line 1546 "pats_main.dats" tmp270 = tmp279 ; #line 1546 "pats_main.dats" goto __ats_lab_process_cmdline2_30 ; // tail call break ; /* branch: __ats_lab_29 */ #line 1548 "pats_main.dats" __ats_lab_29_0: #line 1548 "pats_main.dats" if (tmp267 != (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } #line 1548 "pats_main.dats" __ats_lab_29_1: #line 1549 "pats_main.dats" tmp281 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_ninpfile) ; #line 1549 "pats_main.dats" tmp280 = atspre_eq_int_int (tmp281, 0) ; #line 1549 "pats_main.dats" if (!tmp280) { goto __ats_lab_32_1 ; } #line 1551 "pats_main.dats" tmp283 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_waitkind) ; #line 1551 "pats_main.dats" tmp282 = waitkind_get_stadyn_2 (tmp283) ; #line 1554 "pats_main.dats" do { /* branch: __ats_lab_30 */ #line 1555 "pats_main.dats" __ats_lab_30_0: #line 1555 "pats_main.dats" __ats_lab_30_1: #line 1556 "pats_main.dats" tmp284 = atspre_gte_int_int (tmp282, 0) ; #line 1556 "pats_main.dats" if (!tmp284) { goto __ats_lab_31_1 ; } #line 1559 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_infil) = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin ; #line 1563 "pats_main.dats" tmp286 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_PATSHOME) ; #line 1562 "pats_main.dats" /* tmp285 = */ libatsopt_the_prelude_load_if (tmp286, &ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_preludeflag)) ; #line 1567 "pats_main.dats" tmp288 = atspre_gte_int_int (tmp282, 1) ; #line 1567 "pats_main.dats" if (tmp288) { #line 1568 "pats_main.dats" /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set (1) ; } else { /* empty */ } /* end of [if] */ #line 1570 "pats_main.dats" tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_stdin_toplevel (tmp282) ; #line 1572 "pats_main.dats" /* ats_bool_type tmp290 ; */ #line 1572 "pats_main.dats" tmp290 = ats_true_bool ; #line 1573 "pats_main.dats" tmp292 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_depgen) ; #line 1573 "pats_main.dats" tmp291 = atspre_gt_int_int (tmp292, 0) ; #line 1574 "pats_main.dats" if (tmp291) { #line 1574 "pats_main.dats" tmp290 = ats_false_bool ; } else { /* empty */ } /* end of [if] */ #line 1575 "pats_main.dats" tmp295 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp266), atslab_taggen) ; #line 1575 "pats_main.dats" tmp294 = atspre_gt_int_int (tmp295, 0) ; #line 1576 "pats_main.dats" if (tmp294) { #line 1576 "pats_main.dats" tmp290 = ats_false_bool ; } else { /* empty */ } /* end of [if] */ #line 1581 "pats_main.dats" if (tmp291) { #line 1581 "pats_main.dats" /* tmp297 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen (tmp266, ATSstrcst("__STDIN__"), tmp289) ; } else { /* empty */ } /* end of [if] */ #line 1584 "pats_main.dats" if (tmp294) { #line 1584 "pats_main.dats" /* tmp298 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen (tmp266, ATSstrcst("__STDIN__"), tmp289) ; } else { /* empty */ } /* end of [if] */ #line 1588 "pats_main.dats" if (tmp290) { #line 1589 "pats_main.dats" /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_stdin) ; } else { /* empty */ } /* end of [if] */ #line 1592 "pats_main.dats" if (tmp290) { #line 1592 "pats_main.dats" /* tmp277 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2 (tmp266, ATSstrcst("__STDIN__"), tmp289) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_31 */ #line 1596 "pats_main.dats" __ats_lab_31_0: #line 1596 "pats_main.dats" __ats_lab_31_1: break ; } while (0) ; break ; /* branch: __ats_lab_32 */ #line 1599 "pats_main.dats" __ats_lab_32_0: #line 1599 "pats_main.dats" // if (tmp267 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1599 "pats_main.dats" __ats_lab_32_1: break ; } while (0) ; return /* tmp277 */ ; #line 1535 "pats_main.dats" __ats_lab_process_cmdline2_30: #line 1614 "pats_main.dats" do { /* branch: __ats_lab_33 */ #line 1616 "pats_main.dats" __ats_lab_33_0: #line 1616 "pats_main.dats" __ats_lab_33_1: #line 1617 "pats_main.dats" tmp301 = isinpwait_6 (ats_ptrget_mac(anairiats_rec_2, tmp268)) ; #line 1617 "pats_main.dats" if (!tmp301) { goto __ats_lab_37_1 ; } #line 1623 "pats_main.dats" tmp303 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_waitkind) ; #line 1623 "pats_main.dats" tmp302 = waitkind_get_stadyn_2 (tmp303) ; #line 1625 "pats_main.dats" tmp304 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_ninpfile) ; #line 1627 "pats_main.dats" do { /* branch: __ats_lab_34 */ #line 1628 "pats_main.dats" __ats_lab_34_0: #line 1628 "pats_main.dats" #line 1629 "pats_main.dats" tmp305 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_0) ; #line 1629 "pats_main.dats" if (tmp305 != 1) { goto __ats_lab_35_0 ; } #line 1628 "pats_main.dats" __ats_lab_34_1: #line 1629 "pats_main.dats" tmp306 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1629 "pats_main.dats" tmp307 = atspre_gt_int_int (tmp304, 0) ; #line 1629 "pats_main.dats" if (!tmp307) { goto __ats_lab_36_1 ; } #line 1630 "pats_main.dats" tmp271 = tmp268 ; #line 1630 "pats_main.dats" tmp272 = tmp270 ; #line 1630 "pats_main.dats" tmp273 = tmp306 ; #line 1630 "pats_main.dats" goto __ats_lab_process_cmdline2_COMARGkey1_31 ; // tail call break ; /* branch: __ats_lab_35 */ #line 1631 "pats_main.dats" __ats_lab_35_0: #line 1631 "pats_main.dats" #line 1632 "pats_main.dats" tmp308 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_0) ; #line 1632 "pats_main.dats" if (tmp308 != 2) { goto __ats_lab_36_0 ; } #line 1631 "pats_main.dats" __ats_lab_35_1: #line 1632 "pats_main.dats" tmp309 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1632 "pats_main.dats" tmp310 = atspre_gt_int_int (tmp304, 0) ; #line 1632 "pats_main.dats" if (!tmp310) { goto __ats_lab_36_1 ; } #line 1633 "pats_main.dats" tmp274 = tmp268 ; #line 1633 "pats_main.dats" tmp275 = tmp270 ; #line 1633 "pats_main.dats" tmp276 = tmp309 ; #line 1633 "pats_main.dats" goto __ats_lab_process_cmdline2_COMARGkey2_32 ; // tail call break ; /* branch: __ats_lab_36 */ #line 1634 "pats_main.dats" __ats_lab_36_0: #line 1634 "pats_main.dats" // #line 1634 "pats_main.dats" __ats_lab_36_1: #line 1634 "pats_main.dats" tmp311 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1637 "pats_main.dats" tmp313 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_ninpfile) ; #line 1637 "pats_main.dats" tmp312 = atspre_add_int_int (tmp313, 1) ; #line 1637 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_ninpfile) = tmp312 ; #line 1641 "pats_main.dats" tmp315 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_PATSHOME) ; #line 1640 "pats_main.dats" /* tmp314 = */ libatsopt_the_prelude_load_if (tmp315, &ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_preludeflag)) ; #line 1645 "pats_main.dats" tmp317 = atspre_gte_int_int (tmp302, 1) ; #line 1645 "pats_main.dats" if (tmp317) { #line 1646 "pats_main.dats" /* tmp316 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set (1) ; } else { /* empty */ } /* end of [if] */ #line 1649 "pats_main.dats" tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel (tmp302, tmp311, &ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_infil)) ; #line 1652 "pats_main.dats" /* ats_bool_type tmp319 ; */ #line 1652 "pats_main.dats" tmp319 = ats_true_bool ; #line 1653 "pats_main.dats" tmp321 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_depgen) ; #line 1653 "pats_main.dats" tmp320 = atspre_gt_int_int (tmp321, 0) ; #line 1654 "pats_main.dats" if (tmp320) { #line 1654 "pats_main.dats" tmp319 = ats_false_bool ; } else { /* empty */ } /* end of [if] */ #line 1655 "pats_main.dats" tmp324 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_taggen) ; #line 1655 "pats_main.dats" tmp323 = atspre_gt_int_int (tmp324, 0) ; #line 1656 "pats_main.dats" if (tmp323) { #line 1656 "pats_main.dats" tmp319 = ats_false_bool ; } else { /* empty */ } /* end of [if] */ #line 1659 "pats_main.dats" if (tmp320) { #line 1659 "pats_main.dats" /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_depgen (tmp268, tmp311, tmp318) ; } else { /* empty */ } /* end of [if] */ #line 1662 "pats_main.dats" if (tmp323) { #line 1662 "pats_main.dats" /* tmp327 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_taggen (tmp268, tmp311, tmp318) ; } else { /* empty */ } /* end of [if] */ #line 1666 "pats_main.dats" if (tmp319) { #line 1666 "pats_main.dats" /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__do_transfinal2 (tmp268, tmp311, tmp318) ; } else { /* empty */ } /* end of [if] */ #line 1670 "pats_main.dats" tmp266 = tmp268 ; #line 1670 "pats_main.dats" tmp267 = tmp270 ; #line 1670 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_37 */ #line 1675 "pats_main.dats" __ats_lab_37_0: #line 1675 "pats_main.dats" __ats_lab_37_1: #line 1676 "pats_main.dats" tmp329 = isoutwait_7 (ats_ptrget_mac(anairiats_rec_2, tmp268)) ; #line 1676 "pats_main.dats" if (!tmp329) { goto __ats_lab_38_1 ; } #line 1677 "pats_main.dats" tmp330 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1677 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_waitkind) = tmp330 ; #line 1679 "pats_main.dats" #line 1679 "pats_main.dats" tmp331 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1682 "pats_main.dats" /* tmp332 = */ theOutFilename_set_11 (ats_castfn_mac(ats_ptr_type, tmp331)) ; #line 1684 "pats_main.dats" tmp333 = outchan_make_path_4 (tmp268, tmp331) ; #line 1685 "pats_main.dats" /* tmp334 = */ cmdstate_set_outchan_5 (tmp268, tmp333) ; #line 1688 "pats_main.dats" tmp266 = tmp268 ; #line 1688 "pats_main.dats" tmp267 = tmp270 ; #line 1688 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call break ; /* branch: __ats_lab_38 */ #line 1691 "pats_main.dats" __ats_lab_38_0: #line 1691 "pats_main.dats" __ats_lab_38_1: #line 1692 "pats_main.dats" tmp335 = isdatswait_8 (ats_ptrget_mac(anairiats_rec_2, tmp268)) ; #line 1692 "pats_main.dats" if (!tmp335) { goto __ats_lab_39_1 ; } #line 1693 "pats_main.dats" tmp336 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1693 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_waitkind) = tmp336 ; #line 1694 "pats_main.dats" #line 1694 "pats_main.dats" tmp337 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1695 "pats_main.dats" /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def (tmp337) ; #line 1697 "pats_main.dats" tmp266 = tmp268 ; #line 1697 "pats_main.dats" tmp267 = tmp270 ; #line 1697 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call break ; /* branch: __ats_lab_39 */ #line 1700 "pats_main.dats" __ats_lab_39_0: #line 1700 "pats_main.dats" __ats_lab_39_1: #line 1700 "pats_main.dats" tmp339 = isiatswait_9 (ats_ptrget_mac(anairiats_rec_2, tmp268)) ; #line 1700 "pats_main.dats" if (!tmp339) { goto __ats_lab_40_0 ; } #line 1701 "pats_main.dats" tmp340 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1701 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_waitkind) = tmp340 ; #line 1702 "pats_main.dats" #line 1702 "pats_main.dats" tmp341 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1703 "pats_main.dats" /* tmp342 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir (tmp341) ; #line 1705 "pats_main.dats" tmp266 = tmp268 ; #line 1705 "pats_main.dats" tmp267 = tmp270 ; #line 1705 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call break ; /* branch: __ats_lab_40 */ #line 1708 "pats_main.dats" __ats_lab_40_0: #line 1708 "pats_main.dats" #line 1708 "pats_main.dats" tmp343 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_0) ; #line 1708 "pats_main.dats" if (tmp343 != 1) { goto __ats_lab_41_0 ; } #line 1708 "pats_main.dats" __ats_lab_40_1: #line 1708 "pats_main.dats" tmp344 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1709 "pats_main.dats" tmp271 = tmp268 ; #line 1709 "pats_main.dats" tmp272 = tmp270 ; #line 1709 "pats_main.dats" tmp273 = tmp344 ; #line 1709 "pats_main.dats" goto __ats_lab_process_cmdline2_COMARGkey1_31 ; // tail call break ; /* branch: __ats_lab_41 */ #line 1710 "pats_main.dats" __ats_lab_41_0: #line 1710 "pats_main.dats" #line 1710 "pats_main.dats" tmp345 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_0) ; #line 1710 "pats_main.dats" if (tmp345 != 2) { goto __ats_lab_42_0 ; } #line 1710 "pats_main.dats" __ats_lab_41_1: #line 1710 "pats_main.dats" tmp346 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1711 "pats_main.dats" tmp274 = tmp268 ; #line 1711 "pats_main.dats" tmp275 = tmp270 ; #line 1711 "pats_main.dats" tmp276 = tmp346 ; #line 1711 "pats_main.dats" goto __ats_lab_process_cmdline2_COMARGkey2_32 ; // tail call break ; /* branch: __ats_lab_42 */ #line 1712 "pats_main.dats" __ats_lab_42_0: #line 1712 "pats_main.dats" // #line 1712 "pats_main.dats" __ats_lab_42_1: #line 1712 "pats_main.dats" tmp347 = ats_caselptrlab_mac(anairiats_sum_0, tmp269, atslab_1) ; #line 1713 "pats_main.dats" /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning (tmp347) ; #line 1714 "pats_main.dats" tmp349 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1714 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp268), atslab_waitkind) = tmp349 ; #line 1716 "pats_main.dats" tmp266 = tmp268 ; #line 1716 "pats_main.dats" tmp267 = tmp270 ; #line 1716 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call break ; } while (0) ; return /* tmp300 */ ; #line 1535 "pats_main.dats" __ats_lab_process_cmdline2_COMARGkey1_31: #line 1732 "pats_main.dats" tmp351 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1732 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp351 ; #line 1735 "pats_main.dats" do { /* branch: __ats_lab_43 */ #line 1737 "pats_main.dats" __ats_lab_43_0: #line 1737 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-o"))) { goto __ats_lab_44_0 ; } #line 1737 "pats_main.dats" __ats_lab_43_1: #line 1738 "pats_main.dats" tmp353 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; #line 1738 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp353 ; break ; /* branch: __ats_lab_44 */ #line 1741 "pats_main.dats" __ats_lab_44_0: #line 1741 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-s"))) { goto __ats_lab_45_0 ; } #line 1741 "pats_main.dats" __ats_lab_44_1: #line 1742 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_ninpfile) = 0 ; #line 1743 "pats_main.dats" tmp354 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_sta_1) ; #line 1743 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp354 ; break ; /* branch: __ats_lab_45 */ #line 1746 "pats_main.dats" __ats_lab_45_0: #line 1746 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-d"))) { goto __ats_lab_46_0 ; } #line 1746 "pats_main.dats" __ats_lab_45_1: #line 1747 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_ninpfile) = 0 ; #line 1748 "pats_main.dats" tmp355 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_dyn_2) ; #line 1748 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp355 ; break ; /* branch: __ats_lab_46 */ #line 1752 "pats_main.dats" __ats_lab_46_0: #line 1752 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-cc"))) { goto __ats_lab_47_0 ; } #line 1752 "pats_main.dats" __ats_lab_46_1: #line 1752 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_typecheckflag) = 0 ; break ; /* branch: __ats_lab_47 */ #line 1753 "pats_main.dats" __ats_lab_47_0: #line 1753 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-tc"))) { goto __ats_lab_48_0 ; } #line 1753 "pats_main.dats" __ats_lab_47_1: #line 1753 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_typecheckflag) = 1 ; break ; /* branch: __ats_lab_48 */ #line 1755 "pats_main.dats" __ats_lab_48_0: #line 1755 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-dep"))) { goto __ats_lab_49_0 ; } #line 1755 "pats_main.dats" __ats_lab_48_1: #line 1755 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_depgen) = 1 ; break ; /* branch: __ats_lab_49 */ #line 1755 "pats_main.dats" __ats_lab_49_0: #line 1755 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-tag"))) { goto __ats_lab_50_0 ; } #line 1755 "pats_main.dats" __ats_lab_49_1: #line 1755 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_taggen) = 1 ; break ; /* branch: __ats_lab_50 */ #line 1757 "pats_main.dats" __ats_lab_50_0: #line 1757 "pats_main.dats" __ats_lab_50_1: #line 1758 "pats_main.dats" tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_DATS_flag (tmp273) ; #line 1758 "pats_main.dats" if (!tmp356) { goto __ats_lab_51_1 ; } #line 1759 "pats_main.dats" tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__DATS_extract (tmp273) ; #line 1760 "pats_main.dats" tmp358 = atspre_stropt_is_some (tmp357) ; #line 1762 "pats_main.dats" if (tmp358) { #line 1765 "pats_main.dats" /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_DATS_def (ats_castfn_mac(ats_ptr_type, tmp357)) ; } else { #line 1767 "pats_main.dats" tmp359 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKdefine_4) ; #line 1767 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp359 ; } /* end of [if] */ break ; /* branch: __ats_lab_51 */ #line 1772 "pats_main.dats" __ats_lab_51_0: #line 1772 "pats_main.dats" __ats_lab_51_1: #line 1773 "pats_main.dats" tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__is_IATS_flag (tmp273) ; #line 1773 "pats_main.dats" if (!tmp360) { goto __ats_lab_52_0 ; } #line 1774 "pats_main.dats" tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__IATS_extract (tmp273) ; #line 1775 "pats_main.dats" tmp362 = atspre_stropt_is_some (tmp361) ; #line 1777 "pats_main.dats" if (tmp362) { #line 1780 "pats_main.dats" /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_IATS_dir (ats_castfn_mac(ats_ptr_type, tmp361)) ; } else { #line 1782 "pats_main.dats" tmp363 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinclude_5) ; #line 1782 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_waitkind) = tmp363 ; } /* end of [if] */ break ; /* branch: __ats_lab_52 */ #line 1788 "pats_main.dats" __ats_lab_52_0: #line 1788 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-h"))) { goto __ats_lab_53_0 ; } #line 1788 "pats_main.dats" __ats_lab_52_1: #line 1789 "pats_main.dats" tmp364 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp271), atslab_comarg0) ; #line 1791 "pats_main.dats" /* tmp352 = */ patsopt_usage_0 (stdout, tmp364) ; break ; /* branch: __ats_lab_53 */ #line 1794 "pats_main.dats" __ats_lab_53_0: #line 1794 "pats_main.dats" if (__strcmpats(tmp273, ATSstrcst("-v"))) { goto __ats_lab_54_0 ; } #line 1794 "pats_main.dats" __ats_lab_53_1: #line 1794 "pats_main.dats" /* tmp352 = */ libatsopt_patsopt_version (stdout) ; break ; /* branch: __ats_lab_54 */ #line 1796 "pats_main.dats" __ats_lab_54_0: #line 1796 "pats_main.dats" __ats_lab_54_1: #line 1796 "pats_main.dats" /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning (tmp273) ; break ; } while (0) ; #line 1801 "pats_main.dats" tmp266 = tmp271 ; #line 1801 "pats_main.dats" tmp267 = tmp272 ; #line 1801 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call return /* tmp350 */ ; #line 1535 "pats_main.dats" __ats_lab_process_cmdline2_COMARGkey2_32: #line 1815 "pats_main.dats" tmp366 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1815 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp366 ; #line 1818 "pats_main.dats" do { /* branch: __ats_lab_55 */ #line 1820 "pats_main.dats" __ats_lab_55_0: #line 1820 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--help"))) { goto __ats_lab_56_0 ; } #line 1820 "pats_main.dats" __ats_lab_55_1: #line 1822 "pats_main.dats" tmp368 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_comarg0) ; #line 1821 "pats_main.dats" /* tmp367 = */ patsopt_usage_0 (stdout, tmp368) ; break ; /* branch: __ats_lab_56 */ #line 1825 "pats_main.dats" __ats_lab_56_0: #line 1825 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--output"))) { goto __ats_lab_57_0 ; } #line 1825 "pats_main.dats" __ats_lab_56_1: #line 1826 "pats_main.dats" tmp369 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; #line 1826 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp369 ; break ; /* branch: __ats_lab_57 */ #line 1827 "pats_main.dats" __ats_lab_57_0: #line 1827 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--output-w"))) { goto __ats_lab_58_0 ; } #line 1827 "pats_main.dats" __ats_lab_57_1: #line 1828 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_outmode) = "w" ; #line 1829 "pats_main.dats" tmp370 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; #line 1829 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp370 ; break ; /* branch: __ats_lab_58 */ #line 1831 "pats_main.dats" __ats_lab_58_0: #line 1831 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--output-a"))) { goto __ats_lab_59_0 ; } #line 1831 "pats_main.dats" __ats_lab_58_1: #line 1832 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_outmode) = "a" ; #line 1833 "pats_main.dats" tmp371 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3) ; #line 1833 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp371 ; break ; /* branch: __ats_lab_59 */ #line 1836 "pats_main.dats" __ats_lab_59_0: #line 1836 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--static"))) { goto __ats_lab_60_0 ; } #line 1836 "pats_main.dats" __ats_lab_59_1: #line 1837 "pats_main.dats" tmp372 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_sta_1) ; #line 1837 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp372 ; break ; /* branch: __ats_lab_60 */ #line 1839 "pats_main.dats" __ats_lab_60_0: #line 1839 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--dynamic"))) { goto __ats_lab_61_0 ; } #line 1839 "pats_main.dats" __ats_lab_60_1: #line 1840 "pats_main.dats" tmp373 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_dyn_2) ; #line 1840 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_waitkind) = tmp373 ; break ; /* branch: __ats_lab_61 */ #line 1843 "pats_main.dats" __ats_lab_61_0: #line 1843 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--compile"))) { goto __ats_lab_62_0 ; } #line 1843 "pats_main.dats" __ats_lab_61_1: #line 1843 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_typecheckflag) = 0 ; break ; /* branch: __ats_lab_62 */ #line 1844 "pats_main.dats" __ats_lab_62_0: #line 1844 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--typecheck"))) { goto __ats_lab_63_0 ; } #line 1844 "pats_main.dats" __ats_lab_62_1: #line 1844 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_typecheckflag) = 1 ; break ; /* branch: __ats_lab_63 */ #line 1846 "pats_main.dats" __ats_lab_63_0: #line 1846 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--gline"))) { goto __ats_lab_64_0 ; } #line 1846 "pats_main.dats" __ats_lab_63_1: #line 1847 "pats_main.dats" /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_set (1) ; break ; /* branch: __ats_lab_64 */ #line 1850 "pats_main.dats" __ats_lab_64_0: #line 1850 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--debug"))) { goto __ats_lab_65_0 ; } #line 1850 "pats_main.dats" __ats_lab_64_1: #line 1851 "pats_main.dats" /* tmp367 = */ patsopt_debug_flag_set (1) ; break ; /* branch: __ats_lab_65 */ #line 1853 "pats_main.dats" __ats_lab_65_0: #line 1853 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--debug2"))) { goto __ats_lab_66_0 ; } #line 1853 "pats_main.dats" __ats_lab_65_1: #line 1854 "pats_main.dats" /* tmp374 = */ patsopt_debug_flag_set (1) ; #line 1855 "pats_main.dats" /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_set (1) ; break ; /* branch: __ats_lab_66 */ #line 1858 "pats_main.dats" __ats_lab_66_0: #line 1858 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--depgen"))) { goto __ats_lab_67_0 ; } #line 1858 "pats_main.dats" __ats_lab_66_1: #line 1858 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_depgen) = 1 ; break ; /* branch: __ats_lab_67 */ #line 1859 "pats_main.dats" __ats_lab_67_0: #line 1859 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--taggen"))) { goto __ats_lab_68_0 ; } #line 1859 "pats_main.dats" __ats_lab_67_1: #line 1859 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_taggen) = 1 ; break ; /* branch: __ats_lab_68 */ #line 1861 "pats_main.dats" __ats_lab_68_0: #line 1861 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--pkgreloc"))) { goto __ats_lab_69_0 ; } #line 1861 "pats_main.dats" __ats_lab_68_1: #line 1862 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_pkgreloc) = 1 ; #line 1863 "pats_main.dats" /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set (1) ; break ; /* branch: __ats_lab_69 */ #line 1866 "pats_main.dats" __ats_lab_69_0: #line 1866 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--codegen-2"))) { goto __ats_lab_70_0 ; } #line 1866 "pats_main.dats" __ats_lab_69_1: #line 1866 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_codegenflag) = 2 ; break ; /* branch: __ats_lab_70 */ #line 1867 "pats_main.dats" __ats_lab_70_0: #line 1867 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--jsonize-2"))) { goto __ats_lab_71_0 ; } #line 1867 "pats_main.dats" __ats_lab_70_1: #line 1867 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_jsonizeflag) = 2 ; break ; /* branch: __ats_lab_71 */ #line 1869 "pats_main.dats" __ats_lab_71_0: #line 1869 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--tlcalopt-disable"))) { goto __ats_lab_72_0 ; } #line 1869 "pats_main.dats" __ats_lab_71_1: #line 1871 "pats_main.dats" /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_CCOMPATS_tlcalopt_set (0) ; break ; /* branch: __ats_lab_72 */ #line 1874 "pats_main.dats" __ats_lab_72_0: #line 1874 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--constraint-export"))) { goto __ats_lab_73_0 ; } #line 1874 "pats_main.dats" __ats_lab_72_1: #line 1876 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_cnstrsolveflag) = 1 ; break ; /* branch: __ats_lab_73 */ #line 1878 "pats_main.dats" __ats_lab_73_0: #line 1878 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--constraint-ignore"))) { goto __ats_lab_74_0 ; } #line 1878 "pats_main.dats" __ats_lab_73_1: #line 1880 "pats_main.dats" ats_select_mac(ats_ptrget_mac(anairiats_rec_2, tmp274), atslab_cnstrsolveflag) = -1 ; break ; /* branch: __ats_lab_74 */ #line 1883 "pats_main.dats" __ats_lab_74_0: #line 1883 "pats_main.dats" if (__strcmpats(tmp276, ATSstrcst("--version"))) { goto __ats_lab_75_0 ; } #line 1883 "pats_main.dats" __ats_lab_74_1: #line 1883 "pats_main.dats" /* tmp367 = */ libatsopt_patsopt_version (stdout) ; break ; /* branch: __ats_lab_75 */ #line 1885 "pats_main.dats" __ats_lab_75_0: #line 1885 "pats_main.dats" __ats_lab_75_1: #line 1885 "pats_main.dats" /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarg_warning (tmp276) ; break ; } while (0) ; #line 1890 "pats_main.dats" tmp266 = tmp274 ; #line 1890 "pats_main.dats" tmp267 = tmp275 ; #line 1890 "pats_main.dats" goto __ats_lab_process_cmdline_29 ; // tail call return /* tmp365 */ ; return /* (tmp375) */ ; } /* end of [process_cmdline_29_0process_cmdline2_30_0process_cmdline2_COMARGkey1_31_0process_cmdline2_COMARGkey2_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 41079(line=1907, offs=3) -- 43137(line=2019, offs=2) */ ATSglobaldec() ats_void_type libatsopt_patsopt_main (ats_int_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_bool_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (anairiats_rec_2, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; ATSlocal (ats_bool_type, tmp400) ; ATSlocal (ats_int_type, tmp401) ; __ats_lab_libatsopt_patsopt_main: #line 1911 "pats_main.dats" /* tmp381 = */ patsopt_PATSHOME_set () ; #line 1919 "pats_main.dats" /* tmp382 = */ patsopt_PATSHOMERELOC_set () ; #line 1928 "pats_main.dats" /* tmp383 = */ patsopt_ATSPKGRELOCROOT_set () ; #line 1939 "pats_main.dats" tmp384 = patsopt_PATSHOME_get () ; #line 1944 "pats_main.dats" tmp385 = atspre_stropt_is_some (tmp384) ; #line 1948 "pats_main.dats" if (tmp385) { #line 1950 "pats_main.dats" tmp386 = ats_castfn_mac(ats_ptr_type, tmp384) ; } else { #line 1955 "pats_main.dats" /* tmp387 = */ atspre_prerr_string (ATSstrcst("The environment variable PATSHOME is undefined!")) ; #line 1953 "pats_main.dats" /* tmp388 = */ atspre_prerr_newline () ; #line 1958 "pats_main.dats" /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } /* end of [if] */ #line 1966 "pats_main.dats" /* tmp389 = */ libatsopt_the_prepathlst_push (tmp386) ; #line 1968 "pats_main.dats" /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_initialize () ; #line 1969 "pats_main.dats" /* tmp391 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_trans2_env_initialize () ; #line 1971 "pats_main.dats" tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__comarglst_parse (arg0, arg1) ; #line 1972 "pats_main.dats" // if (tmp392 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } #line 1972 "pats_main.dats" tmp393 = ats_caselptrlab_mac(anairiats_sum_3, tmp392, atslab_0) ; #line 1972 "pats_main.dats" tmp394 = ats_caselptrlab_mac(anairiats_sum_3, tmp392, atslab_1) ; #line 1972 "pats_main.dats" ATS_FREE(tmp392) ; #line 1975 "pats_main.dats" /* anairiats_rec_2 tmp395 ; */ #line 1978 "pats_main.dats" tmp396 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0) ; #line 1991 "pats_main.dats" tmp397 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp397)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp397, atslab_0, stdout) ; #line 1975 "pats_main.dats" tmp395.atslab_comarg0 = tmp393 ; tmp395.atslab_PATSHOME = tmp386 ; tmp395.atslab_waitkind = tmp396 ; tmp395.atslab_ninpfile = 0 ; tmp395.atslab_preludeflag = 0 ; tmp395.atslab_infil = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; tmp395.atslab_outmode = "w" ; tmp395.atslab_outchan = tmp397 ; tmp395.atslab_depgen = 0 ; tmp395.atslab_taggen = 0 ; tmp395.atslab_pkgreloc = 0 ; tmp395.atslab_codegenflag = 0 ; tmp395.atslab_jsonizeflag = 0 ; tmp395.atslab_typecheckflag = 0 ; tmp395.atslab_cnstrsolveflag = 0 ; tmp395.atslab_olevel = 0 ; tmp395.atslab_nerror = 0 ; #line 2010 "pats_main.dats" /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__process_ATSPKGRELOCROOT () ; #line 2012 "pats_main.dats" /* tmp399 = */ process_cmdline_29 ((&tmp395), tmp394) ; #line 2017 "pats_main.dats" tmp401 = ats_select_mac(tmp395, atslab_nerror) ; #line 2017 "pats_main.dats" tmp400 = atspre_gt_int_int (tmp401, 0) ; #line 2017 "pats_main.dats" if (tmp400) { #line 2017 "pats_main.dats" /* tmp380 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ return /* (tmp380) */ ; } /* end of [libatsopt_patsopt_main] */ /* // /home/hwxi/Research/Postiats/git/src/pats_main.dats: 43254(line=2027, offs=6) -- 43368(line=2033, offs=49) */ ATSglobaldec() ats_void_type mainats (ats_int_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp402) ; ATSlocal (ats_bool_type, tmp403) ; // ATSlocal_void (tmp404) ; __ats_lab_mainats: #line 2031 "pats_main.dats" tmp403 = atspre_igte (arg0, 2) ; #line 2030 "pats_main.dats" if (tmp403) { #line 2032 "pats_main.dats" /* tmp402 = */ libatsopt_patsopt_main (arg0, arg1) ; } else { #line 2033 "pats_main.dats" /* tmp404 = */ atspre_prerr_string (ATSstrcst("Hello from ATS2(ATS/Postiats)!")) ; #line 2033 "pats_main.dats" /* tmp402 = */ atspre_prerr_newline () ; } /* end of [if] */ return /* (tmp402) */ ; } /* end of [mainats] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKnone_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_sta_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinput_dyn_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKoutput_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKdefine_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__WTKinclude_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANref_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__OUTCHANptr_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload (void) ; ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload_flag = 0 ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload (void) ; // dynload flag declaration // extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__dynload () { // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp85, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ #line 159 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload () ; #line 161 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2edats__dynload () ; #line 163 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2edats__dynload () ; #line 165 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload () ; #line 166 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2edats__dynload () ; #line 168 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2edats__dynload () ; #line 170 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2edats__dynload () ; #line 172 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2edats__dynload () ; #line 174 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload () ; #line 176 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2edats__dynload () ; #line 178 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload () ; #line 180 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload () ; #line 182 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__dynload () ; #line 186 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload () ; #line 187 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexbuf_2edats__dynload () ; #line 188 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2edats__dynload () ; #line 189 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_error_2edats__dynload () ; #line 190 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_print_2edats__dynload () ; #line 191 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_token_2edats__dynload () ; #line 193 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2edats__dynload () ; #line 194 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload () ; #line 195 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_prec_2edats__dynload () ; #line 196 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_fxty_2edats__dynload () ; #line 197 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2edats__dynload () ; #line 198 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_print_2edats__dynload () ; #line 199 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_depgen_2edats__dynload () ; #line 200 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_taggen_2edats__dynload () ; #line 202 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2edats__dynload () ; #line 203 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2edats__dynload () ; #line 204 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_util_2edats__dynload () ; #line 205 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_error_2edats__dynload () ; #line 206 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_kwds_2edats__dynload () ; #line 207 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_base_2edats__dynload () ; #line 208 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_e0xp_2edats__dynload () ; #line 209 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload () ; #line 210 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_staexp_2edats__dynload () ; #line 211 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload () ; #line 212 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload () ; #line 213 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_decl_2edats__dynload () ; #line 214 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_toplevel_2edats__dynload () ; #line 216 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2edats__dynload () ; #line 217 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload () ; #line 219 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload () ; #line 220 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_print_2edats__dynload () ; #line 221 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2edats__dynload () ; #line 222 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_print_2edats__dynload () ; #line 224 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload () ; #line 226 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2edats__dynload () ; #line 227 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_error_2edats__dynload () ; #line 229 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_reloc_2edats__dynload () ; #line 231 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_e0xp_2edats__dynload () ; #line 232 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_error_2edats__dynload () ; #line 233 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_effect_2edats__dynload () ; #line 234 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_sort_2edats__dynload () ; #line 235 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_staexp_2edats__dynload () ; #line 236 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_p0at_2edats__dynload () ; #line 237 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload () ; #line 238 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_dynexp_2edats__dynload () ; #line 239 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload () ; #line 241 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload () ; #line 242 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2edats__dynload () ; #line 244 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_print_2edats__dynload () ; #line 245 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_pprint_2edats__dynload () ; #line 247 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_sort_2edats__dynload () ; #line 249 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_scst_2edats__dynload () ; #line 250 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svar_2edats__dynload () ; #line 251 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload () ; #line 253 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_hole_2edats__dynload () ; #line 254 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_ctxt_2edats__dynload () ; #line 256 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload () ; #line 258 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_skexp_2edats__dynload () ; #line 259 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload () ; #line 261 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util1_2edats__dynload () ; #line 262 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util2_2edats__dynload () ; #line 263 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util3_2edats__dynload () ; #line 265 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2edats__dynload () ; #line 266 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2edats__dynload () ; #line 268 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload () ; #line 270 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2edats__dynload () ; #line 271 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dyncst2_2edats__dynload () ; #line 273 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_print_2edats__dynload () ; #line 275 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dcst_2edats__dynload () ; #line 276 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dvar_2edats__dynload () ; #line 277 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_dmac_2edats__dynload () ; #line 279 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_util_2edats__dynload () ; #line 281 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_mapgen_2edats__dynload () ; #line 283 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_namespace_2edats__dynload () ; #line 285 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2edats__dynload () ; #line 286 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_error_2edats__dynload () ; #line 287 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_sort_2edats__dynload () ; #line 288 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_staexp_2edats__dynload () ; #line 289 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload () ; #line 290 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_dynexp_2edats__dynload () ; #line 291 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_impdec_2edats__dynload () ; #line 292 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_decl_2edats__dynload () ; #line 294 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload () ; #line 295 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload () ; #line 296 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_datype_2edats__dynload () ; #line 297 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_fprint_2edats__dynload () ; #line 299 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_synent2_2edats__dynload () ; #line 301 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload () ; #line 302 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_print_2edats__dynload () ; #line 304 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_util_2edats__dynload () ; #line 305 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_error_2edats__dynload () ; #line 307 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2edats__dynload () ; #line 308 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_print_2edats__dynload () ; #line 309 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_scst_2edats__dynload () ; #line 310 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_svar_2edats__dynload () ; #line 311 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_termet_2edats__dynload () ; #line 312 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload () ; #line 313 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload () ; #line 314 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lamlp_2edats__dynload () ; #line 315 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_pfman_2edats__dynload () ; #line 316 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_lstate_2edats__dynload () ; #line 318 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2edats__dynload () ; #line 319 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_print_2edats__dynload () ; #line 320 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval0_2edats__dynload () ; #line 321 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload () ; #line 323 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_p2at_2edats__dynload () ; #line 324 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_patcon_2edats__dynload () ; #line 325 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload () ; #line 326 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_up_2edats__dynload () ; #line 327 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_dynexp_dn_2edats__dynload () ; #line 328 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload () ; #line 329 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_caseof_2edats__dynload () ; #line 330 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_selab_2edats__dynload () ; #line 331 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_ptrof_2edats__dynload () ; #line 332 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload () ; #line 333 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_deref_2edats__dynload () ; #line 334 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_assgn_2edats__dynload () ; #line 335 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_xchng_2edats__dynload () ; #line 336 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_lvalres_2edats__dynload () ; #line 337 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_fldfrat_2edats__dynload () ; #line 338 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_looping_2edats__dynload () ; #line 339 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_decl_2edats__dynload () ; #line 341 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload () ; #line 342 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__dynload () ; #line 350 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload () ; #line 352 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_2edats__dynload () ; #line 354 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_print_2edats__dynload () ; #line 356 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_mapgen_2edats__dynload () ; #line 357 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_jsonize_2edats__dynload () ; #line 359 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_init_2edats__dynload () ; #line 360 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_simplify_2edats__dynload () ; #line 361 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_icnstr_2edats__dynload () ; #line 362 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_constraint3_solve_2edats__dynload () ; #line 364 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2edats__dynload () ; #line 365 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_print_2edats__dynload () ; #line 366 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_funlab_2edats__dynload () ; #line 368 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2edats__dynload () ; #line 369 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload () ; #line 370 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload () ; #line 372 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_error_2edats__dynload () ; #line 373 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_staexp_2edats__dynload () ; #line 374 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_dynexp_2edats__dynload () ; #line 375 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_decl_2edats__dynload () ; #line 377 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2edats__dynload () ; #line 378 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_print_2edats__dynload () ; #line 380 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hitype_2edats__dynload () ; #line 382 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmplab_2edats__dynload () ; #line 383 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_tmpvar_2edats__dynload () ; #line 385 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_d2env_2edats__dynload () ; #line 387 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funlab_2edats__dynload () ; #line 388 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload () ; #line 390 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_util_2edats__dynload () ; #line 392 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_ccompenv_2edats__dynload () ; #line 393 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload () ; #line 395 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_hipat_2edats__dynload () ; #line 397 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_dynexp_2edats__dynload () ; #line 399 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__dynload () ; #line 400 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload () ; #line 402 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_lazyeval_2edats__dynload () ; #line 404 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_trywith_2edats__dynload () ; #line 406 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_looping_2edats__dynload () ; #line 408 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_decl_2edats__dynload () ; #line 410 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_subst_2edats__dynload () ; #line 411 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload () ; #line 412 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_template_2edats__dynload () ; #line 414 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload () ; #line 415 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload () ; #line 416 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit3_2edats__dynload () ; #line 417 "pats_main.dats" _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_main_2edats__dynload () ; #line 740 "pats_main.dats" /* ats_ptr_type statmp85 ; */ #line 741 "pats_main.dats" statmp85 = atspre_stropt_none ; #line 744 "pats_main.dats" /* statmp86 = */ atspre_vbox_make_view_ptr ((&statmp85)) ; #line 743 "pats_main.dats" /* statmp87 = ats_selsin_mac(statmp86, atslab_1) */ ; return ; } /* end of [dynload function] */ ats_void_type libatsopt_dynloadall () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__dynload () ; return ; } int main (int argc, char *argv[]) { ATS_GC_INIT() ; mainats_prelude() ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_main_2edats__dynload() ; mainats((ats_int_type)argc, (ats_ptr_type)argv) ; return (0) ; } /* end of main */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_main_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_env_dats.c0000664000175000017500000025024312655455557020667 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ extern ats_ptr_type patsopt_PATSHOME_get () ; extern ats_ptr_type patsopt_PATSHOMERELOC_get () ; /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_4 ; typedef struct { ats_int_type atslab_0 ; ats_uint_type atslab_1 ; anairiats_rec_4 atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_5 ; typedef struct { anairiats_rec_4 atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__PKGRELOCITM2_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOME) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOMERELOC) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__fprint_symenv_map) (ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_push_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__sasp__trans1_env_save_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__sasp__trans1_env_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__sasp__fxtyenv_push_v = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__sasp__e1xpenv_push_v = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type the_e1xpenv_localjoin_6 () ; static ats_void_type the_e1xpenv_save_7 () ; static ats_void_type the_e1xpenv_restore_8 () ; static ats_void_type prerr_warning1_loc_02049_ (ats_ptr_type arg0) ; static ats_void_type the_fxtyenv_localjoin_18 () ; static ats_void_type the_fxtyenv_save_20 () ; static ats_void_type the_fxtyenv_restore_21 () ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type linmap_make_nil_03092_ () ; static ats_int_type compare_key_key_03091_ats_uint_type (ats_uint_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type search_33 (ats_uint_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type search_33_closure_make (ats_uint_type env0, ats_clo_ref_type env1) ; static ats_ptr_type search_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type linmap_search_ref_03098_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type linmap_search_03097_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) ; static ats_int_type avltree_height_02157_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_02210_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_02185_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_36 (ats_uint_type env0, ats_clo_ref_type env1, ats_ref_type arg0, anairiats_rec_4 arg1, ats_ref_type arg2) ; static ats_clo_ptr_type insert_36_closure_make (ats_uint_type env0, ats_clo_ref_type env1) ; static ats_bool_type insert_36_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, anairiats_rec_4 arg1, ats_ref_type arg2) ; static ats_bool_type linmap_insert_03100_ats_uint_type_2canairiats_rec_4 (ats_ref_type arg0, ats_uint_type arg1, anairiats_rec_4 arg2, ats_clo_ref_type arg3, ats_ref_type arg4) ; static ats_void_type auxpr_41 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; // ATSstatic_void (statmp3) ; // ATSstatic_void (statmp4) ; ATSstatic (ats_ptr_type, statmp30) ; ATSstatic (ats_ptr_type, statmp31) ; // ATSstatic_void (statmp32) ; // ATSstatic_void (statmp33) ; ATSstatic (ats_ptr_type, statmp59) ; ATSstatic (ats_ptr_type, statmp62) ; ATSstatic (ats_ptr_type, statmp226) ; ATSstatic (ats_ptr_type, statmp227) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 1555(line=43, offs=28) -- 1586(line=43, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_staexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 2370(line=91, offs=3) -- 2452(line=95, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add: /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (statmp2, arg0, arg1) ; return /* (tmp5) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 2514(line=99, offs=3) -- 2606(line=103, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv: /* tmp6 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_insert (statmp2, arg0, arg1) ; return /* (tmp6) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 2667(line=106, offs=18) -- 2852(line=116, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp2, arg0) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp8 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp7 = tmp8 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp8 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp2, arg0) ; break ; } while (0) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 2909(line=120, offs=1) -- 3026(line=126, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_pop: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (statmp2) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 3094(line=130, offs=3) -- 3204(line=135, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_push_nil () { /* local vardec */ // ATSlocal_void (tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_push_nil: /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (statmp2) ; return /* (tmp10) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 3243(line=138, offs=1) -- 3456(line=148, offs=2) */ ATSstaticdec() ats_void_type the_e1xpenv_localjoin_6 () { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab_the_e1xpenv_localjoin_6: /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (statmp2) ; return /* (tmp11) */ ; } /* end of [the_e1xpenv_localjoin_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 3528(line=153, offs=1) -- 3659(line=159, offs=4) */ ATSstaticdec() ats_void_type the_e1xpenv_save_7 () { /* local vardec */ // ATSlocal_void (tmp12) ; __ats_lab_the_e1xpenv_save_7: /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (statmp2) ; return /* (tmp12) */ ; } /* end of [the_e1xpenv_save_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 3694(line=162, offs=1) -- 3888(line=171, offs=2) */ ATSstaticdec() ats_void_type the_e1xpenv_restore_8 () { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_the_e1xpenv_restore_8: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (statmp2) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp14) ; return /* (tmp13) */ ; } /* end of [the_e1xpenv_restore_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2745(line=105, offs=20) -- 2806(line=108, offs=2) */ ATSstaticdec() ats_void_type prerr_warning1_loc_02049_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab_prerr_warning1_loc_02049_: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp21 = */ atspre_prerr_string (ATSstrcst(": warning(1)")) ; return /* (tmp21) */ ; } /* end of [prerr_warning1_loc_02049_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 3998(line=178, offs=23) -- 4585(line=205, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_get: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp16 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_2_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_0) ; ATS_FREE(tmp16) ; tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp17), atslab_e1xp_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp18)->tag != 7) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp15 = atspre_stropt_none ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp18)->tag != 5) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_3, tmp18, atslab_0) ; tmp15 = ats_castfn_mac(ats_ptr_type, tmp19) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp17), atslab_e1xp_loc) ; /* tmp20 = */ prerr_warning1_loc_02049_ (tmp23) ; /* tmp24 = */ atspre_prerr_string (ATSstrcst(": a string definition is required for [ATS_EXTERN_PREFIX].")) ; /* tmp25 = */ atspre_prerr_newline () ; tmp15 = atspre_stropt_none ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp16 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp15 = atspre_stropt_none ; break ; } while (0) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 4653(line=208, offs=23) -- 4803(line=213, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set: tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, arg0) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX, tmp27) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 4876(line=216, offs=28) -- 5014(line=221, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set_none () { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set_none: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX, tmp29) ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_EXTERN_PREFIX_set_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 5327(line=237, offs=3) -- 5409(line=240, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add: /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (statmp31, arg0, arg1) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 5466(line=243, offs=18) -- 5642(line=250, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (statmp31, arg0) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp36 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp35 = tmp36 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp36 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (statmp31, arg0) ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 5723(line=255, offs=20) -- 5862(line=258, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_the_fxtyenv (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_the_fxtyenv: /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__fprint_symenv_map (arg0, statmp31, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_fxty) ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_the_fxtyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 5942(line=264, offs=1) -- 6059(line=270, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop () { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (statmp31) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 6127(line=274, offs=3) -- 6237(line=279, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil () { /* local vardec */ // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil: /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (statmp31) ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 6276(line=282, offs=1) -- 6489(line=292, offs=2) */ ATSstaticdec() ats_void_type the_fxtyenv_localjoin_18 () { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab_the_fxtyenv_localjoin_18: /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (statmp31) ; return /* (tmp40) */ ; } /* end of [the_fxtyenv_localjoin_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 6586(line=297, offs=31) -- 6669(line=301, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pervasive_joinwth (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pervasive_joinwth: /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0 (statmp31, arg0) ; return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pervasive_joinwth] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 6770(line=308, offs=1) -- 6909(line=314, offs=4) */ ATSstaticdec() ats_void_type the_fxtyenv_save_20 () { /* local vardec */ // ATSlocal_void (tmp42) ; __ats_lab_the_fxtyenv_save_20: /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (statmp31) ; return /* (tmp42) */ ; } /* end of [the_fxtyenv_save_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 6944(line=316, offs=5) -- 7137(line=324, offs=2) */ ATSstaticdec() ats_void_type the_fxtyenv_restore_21 () { /* local vardec */ // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_the_fxtyenv_restore_21: tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (statmp31) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp44) ; return /* (tmp43) */ ; } /* end of [the_fxtyenv_restore_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 8204(line=384, offs=3) -- 8424(line=390, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop () { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_pop () ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp46) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_pop () ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp48) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 8489(line=394, offs=3) -- 8641(line=398, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () { /* local vardec */ // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push: /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_push_nil () ; /* tmp51 = ats_selsin_mac(tmp50, atslab_1) */ ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_push_nil () ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 8711(line=402, offs=3) -- 8951(line=407, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_localjoin () { /* local vardec */ // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_localjoin: /* tmp53 = */ the_e1xpenv_localjoin_6 () ; /* tmp52 = */ the_fxtyenv_localjoin_18 () ; return /* (tmp52) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_localjoin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 9156(line=421, offs=21) -- 9309(line=427, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save () { /* local vardec */ // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save: /* tmp55 = */ the_e1xpenv_save_7 () ; /* tmp56 = ats_selsin_mac(tmp55, atslab_1) */ ; /* tmp54 = */ the_fxtyenv_save_20 () ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 9378(line=431, offs=3) -- 9511(line=434, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore () { /* local vardec */ // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore: /* tmp58 = */ the_e1xpenv_restore_8 () ; /* tmp57 = */ the_fxtyenv_restore_21 () ; return /* (tmp57) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp61 ; */ tmp61 = arg0 ; tmp60 = atspre_ref_make_elt_tsz ((&tmp61), sizeof(ats_ptr_type)) ; return (tmp60) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3005(line=103, offs=29) -- 3014(line=103, offs=38) */ ATSstaticdec() ats_ptr_type linmap_make_nil_03092_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; __ats_lab_linmap_make_nil_03092_: tmp63 = (ats_sum_ptr_type)0 ; return (tmp63) ; } /* end of [linmap_make_nil_03092_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 9966(line=453, offs=36) -- 9996(line=453, offs=66) */ ATSstaticdec() ats_int_type compare_key_key_03091_ats_uint_type (ats_uint_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp64) ; __ats_lab_compare_key_key_03091_ats_uint_type: tmp64 = atspre_compare_uint_uint (arg0, arg1) ; return (tmp64) ; } /* end of [compare_key_key_03091_ats_uint_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4545(line=168, offs=7) -- 5110(line=188, offs=6) */ ATSstaticdec() ats_ptr_type search_33 (ats_uint_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_uint_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab_search_33: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_9_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp76 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp77 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp78 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_4) ; tmp79 = compare_key_key_03091_ats_uint_type (env0, tmp75, env1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp80 = atspre_lt_int_int (tmp79, 0) ; if (!tmp80) { goto __ats_lab_11_1 ; } tmp81 = ats_ptrget_mac(ats_ptr_type, tmp77) ; arg0 = tmp81 ; goto __ats_lab_search_33 ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp82 = atspre_gt_int_int (tmp79, 0) ; if (!tmp82) { goto __ats_lab_12_1 ; } tmp83 = ats_ptrget_mac(ats_ptr_type, tmp78) ; arg0 = tmp83 ; goto __ats_lab_search_33 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp74 = tmp76 ; break ; } while (0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp74 = atspre_null_ptr ; break ; } while (0) ; return (tmp74) ; } /* end of [search_33] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_uint_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } search_33_closure_type ; ats_ptr_type search_33_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return search_33 (((search_33_closure_type*)cloptr)->closure_env_0, ((search_33_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type search_33_closure_init (search_33_closure_type *p_clo, ats_uint_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&search_33_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type search_33_closure_make (ats_uint_type env0, ats_clo_ref_type env1) { search_33_closure_type *p_clo = ATS_MALLOC(sizeof(search_33_closure_type)) ; search_33_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4505(line=167, offs=3) -- 5131(line=189, offs=2) */ ATSstaticdec() ats_ptr_type linmap_search_ref_03098_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_linmap_search_ref_03098_ats_uint_type_2canairiats_rec_4: tmp73 = search_33 (arg1, arg2, arg0) ; return (tmp73) ; } /* end of [linmap_search_ref_03098_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 4021(line=145, offs=3) -- 4437(line=162, offs=4) */ ATSstaticdec() ats_bool_type linmap_search_03097_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_uint_type arg1, ats_clo_ref_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (anairiats_rec_4, tmp85) ; __ats_lab_linmap_search_03097_ats_uint_type_2canairiats_rec_4: tmp72 = linmap_search_ref_03098_ats_uint_type_2canairiats_rec_4 (arg0, arg1, arg2) ; tmp84 = atspre_pgt (tmp72, atspre_null_ptr) ; if (tmp84) { tmp85 = ats_ptrget_mac(anairiats_rec_4, tmp72) ; ats_ptrget_mac(anairiats_rec_4, arg3) = tmp85 ; tmp71 = ats_true_bool ; } else { tmp71 = ats_false_bool ; } /* end of [if] */ return (tmp71) ; } /* end of [linmap_search_03097_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 10054(line=459, offs=3) -- 10468(line=479, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_search (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_uint_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (anairiats_rec_4, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_search: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp (tmp66) ; tmp68 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp59), atslab_1) ; /* anairiats_rec_4 tmp69 ; */ tmp86 = ats_ptrget_mac(ats_ptr_type, tmp68) ; tmp70 = linmap_search_03097_ats_uint_type_2canairiats_rec_4 (tmp86, tmp67, ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), (&tmp69)) ; if (tmp70) { tmp65 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp65, atslab_0, tmp69) ; } else { tmp65 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_search] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 3769(line=134, offs=24) -- 3876(line=135, offs=69) */ ATSstaticdec() ats_int_type avltree_height_02157_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; __ats_lab_avltree_height_02157_ats_uint_type_2canairiats_rec_4: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp106 = tmp107 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp106 = 0 ; break ; } while (0) ; return (tmp106) ; } /* end of [avltree_height_02157_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 7405(line=276, offs=32) -- 8902(line=325, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_02210_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_int_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_int_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_int_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab_avltree_rrotate_02210_ats_uint_type_2canairiats_rec_4: tmp117 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp117 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp118 = &ats_caselptrlab_mac(anairiats_sum_5, tmp117, atslab_0) ; tmp119 = &ats_caselptrlab_mac(anairiats_sum_5, tmp117, atslab_3) ; tmp120 = &ats_caselptrlab_mac(anairiats_sum_5, tmp117, atslab_4) ; tmp122 = ats_ptrget_mac(ats_ptr_type, tmp119) ; tmp121 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp122) ; tmp124 = ats_ptrget_mac(ats_ptr_type, tmp120) ; tmp123 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp124) ; tmp126 = atspre_iadd (tmp121, 0) ; tmp125 = atspre_igte (tmp126, tmp123) ; if (tmp125) { tmp127 = atspre_iadd (tmp123, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp127 ; tmp128 = ats_ptrget_mac(ats_ptr_type, tmp120) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp128 ; tmp130 = atspre_imax (tmp121, tmp127) ; tmp129 = atspre_iadd (1, tmp130) ; ats_ptrget_mac(ats_int_type, tmp118) = tmp129 ; ats_ptrget_mac(ats_ptr_type, tmp120) = arg5 ; tmp116 = tmp117 ; } else { tmp131 = ats_ptrget_mac(ats_ptr_type, tmp120) ; // if (tmp131 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp132 = &ats_caselptrlab_mac(anairiats_sum_5, tmp131, atslab_0) ; tmp133 = &ats_caselptrlab_mac(anairiats_sum_5, tmp131, atslab_3) ; tmp134 = &ats_caselptrlab_mac(anairiats_sum_5, tmp131, atslab_4) ; tmp136 = ats_ptrget_mac(ats_ptr_type, tmp133) ; tmp135 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp136) ; tmp138 = ats_ptrget_mac(ats_ptr_type, tmp134) ; tmp137 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp138) ; tmp140 = atspre_imax (tmp137, arg3) ; tmp139 = atspre_iadd (1, tmp140) ; ats_ptrget_mac(ats_int_type, arg0) = tmp139 ; tmp141 = ats_ptrget_mac(ats_ptr_type, tmp134) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp141 ; tmp143 = atspre_imax (tmp121, tmp135) ; tmp142 = atspre_iadd (1, tmp143) ; ats_ptrget_mac(ats_int_type, tmp118) = tmp142 ; tmp144 = ats_ptrget_mac(ats_ptr_type, tmp133) ; ats_ptrget_mac(ats_ptr_type, tmp120) = tmp144 ; ats_ptrget_mac(ats_int_type, tmp132) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp133) = tmp117 ; ats_ptrget_mac(ats_ptr_type, tmp134) = arg5 ; tmp116 = tmp131 ; } /* end of [if] */ return (tmp116) ; } /* end of [avltree_rrotate_02210_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 5694(line=219, offs=32) -- 7221(line=268, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_02185_ats_uint_type_2canairiats_rec_4 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_int_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_int_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_int_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; ATSlocal (ats_int_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; __ats_lab_avltree_lrotate_02185_ats_uint_type_2canairiats_rec_4: tmp157 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp157 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp158 = &ats_caselptrlab_mac(anairiats_sum_5, tmp157, atslab_0) ; tmp159 = &ats_caselptrlab_mac(anairiats_sum_5, tmp157, atslab_3) ; tmp160 = &ats_caselptrlab_mac(anairiats_sum_5, tmp157, atslab_4) ; tmp162 = ats_ptrget_mac(ats_ptr_type, tmp159) ; tmp161 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp162) ; tmp164 = ats_ptrget_mac(ats_ptr_type, tmp160) ; tmp163 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp164) ; tmp166 = atspre_iadd (tmp163, 0) ; tmp165 = atspre_ilte (tmp161, tmp166) ; if (tmp165) { tmp167 = atspre_iadd (tmp161, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp167 ; tmp168 = ats_ptrget_mac(ats_ptr_type, tmp159) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp168 ; tmp170 = atspre_imax (tmp167, tmp163) ; tmp169 = atspre_iadd (1, tmp170) ; ats_ptrget_mac(ats_int_type, tmp158) = tmp169 ; ats_ptrget_mac(ats_ptr_type, tmp159) = arg5 ; tmp156 = tmp157 ; } else { tmp171 = ats_ptrget_mac(ats_ptr_type, tmp159) ; // if (tmp171 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp172 = &ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_0) ; tmp173 = &ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_3) ; tmp174 = &ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_4) ; tmp176 = ats_ptrget_mac(ats_ptr_type, tmp173) ; tmp175 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp176) ; tmp178 = ats_ptrget_mac(ats_ptr_type, tmp174) ; tmp177 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp178) ; tmp180 = atspre_imax (arg1, tmp175) ; tmp179 = atspre_iadd (1, tmp180) ; ats_ptrget_mac(ats_int_type, arg0) = tmp179 ; tmp181 = ats_ptrget_mac(ats_ptr_type, tmp173) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp181 ; tmp183 = atspre_imax (tmp177, tmp163) ; tmp182 = atspre_iadd (1, tmp183) ; ats_ptrget_mac(ats_int_type, tmp158) = tmp182 ; tmp184 = ats_ptrget_mac(ats_ptr_type, tmp174) ; ats_ptrget_mac(ats_ptr_type, tmp159) = tmp184 ; ats_ptrget_mac(ats_int_type, tmp172) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp173) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp174) = tmp157 ; tmp156 = tmp171 ; } /* end of [if] */ return (tmp156) ; } /* end of [avltree_lrotate_02185_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 9023(line=333, offs=5) -- 11023(line=394, offs=4) */ ATSstaticdec() ats_bool_type insert_36 (ats_uint_type env0, ats_clo_ref_type env1, ats_ref_type arg0, anairiats_rec_4 arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_uint_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_bool_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_bool_type, tmp151) ; ATSlocal (ats_int_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_int_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (anairiats_rec_4, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_insert_36: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_14_1: tmp96 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp97 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp98 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp99 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp100 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_4) ; tmp102 = ats_ptrget_mac(ats_uint_type, tmp97) ; tmp101 = compare_key_key_03091_ats_uint_type (env0, tmp102, env1) ; tmp103 = atspre_lt_int_int (tmp101, 0) ; if (tmp103) { tmp104 = insert_36 (env0, env1, tmp99, arg1, arg2) ; tmp108 = ats_ptrget_mac(ats_ptr_type, tmp99) ; tmp105 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp108) ; tmp110 = ats_ptrget_mac(ats_ptr_type, tmp100) ; tmp109 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp110) ; tmp112 = atspre_isub (tmp105, tmp109) ; tmp111 = atspre_ilte (tmp112, 1) ; if (tmp111) { tmp114 = atspre_imax (tmp105, tmp109) ; tmp113 = atspre_iadd (1, tmp114) ; ats_ptrget_mac(ats_int_type, tmp96) = tmp113 ; tmp95 = tmp104 ; } else { tmp115 = avltree_rrotate_02210_ats_uint_type_2canairiats_rec_4 (tmp96, tmp105, tmp99, tmp109, tmp100, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp115 ; tmp95 = tmp104 ; } /* end of [if] */ } else { tmp145 = atspre_gt_int_int (tmp101, 0) ; if (tmp145) { tmp146 = insert_36 (env0, env1, tmp100, arg1, arg2) ; tmp148 = ats_ptrget_mac(ats_ptr_type, tmp99) ; tmp147 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp148) ; tmp150 = ats_ptrget_mac(ats_ptr_type, tmp100) ; tmp149 = avltree_height_02157_ats_uint_type_2canairiats_rec_4 (tmp150) ; tmp152 = atspre_isub (tmp149, tmp147) ; tmp151 = atspre_ilte (tmp152, 1) ; if (tmp151) { tmp154 = atspre_imax (tmp147, tmp149) ; tmp153 = atspre_iadd (1, tmp154) ; ats_ptrget_mac(ats_int_type, tmp96) = tmp153 ; tmp95 = tmp146 ; } else { tmp155 = avltree_lrotate_02185_ats_uint_type_2canairiats_rec_4 (tmp96, tmp147, tmp99, tmp149, tmp100, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp155 ; tmp95 = tmp146 ; } /* end of [if] */ } else { tmp185 = ats_ptrget_mac(anairiats_rec_4, tmp98) ; ats_ptrget_mac(anairiats_rec_4, arg2) = tmp185 ; ats_ptrget_mac(anairiats_rec_4, tmp98) = arg1 ; tmp95 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp187 = (ats_sum_ptr_type)0 ; tmp188 = (ats_sum_ptr_type)0 ; tmp186 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_2, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_3, tmp187) ; ats_selptrset_mac(anairiats_sum_5, tmp186, atslab_4, tmp188) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp186 ; tmp95 = ats_false_bool ; break ; } while (0) ; return (tmp95) ; } /* end of [insert_36] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_uint_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_36_closure_type ; ats_bool_type insert_36_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, anairiats_rec_4 arg1, ats_ref_type arg2) { return insert_36 (((insert_36_closure_type*)cloptr)->closure_env_0, ((insert_36_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type insert_36_closure_init (insert_36_closure_type *p_clo, ats_uint_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_36_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_36_closure_make (ats_uint_type env0, ats_clo_ref_type env1) { insert_36_closure_type *p_clo = ATS_MALLOC(sizeof(insert_36_closure_type)) ; insert_36_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linmap_avltree.dats: 8988(line=331, offs=3) -- 11078(line=400, offs=4) */ ATSstaticdec() ats_bool_type linmap_insert_03100_ats_uint_type_2canairiats_rec_4 (ats_ref_type arg0, ats_uint_type arg1, anairiats_rec_4 arg2, ats_clo_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp94) ; __ats_lab_linmap_insert_03100_ats_uint_type_2canairiats_rec_4: tmp94 = insert_36 (arg1, arg3, arg0, arg2, arg4) ; return (tmp94) ; } /* end of [linmap_insert_03100_ats_uint_type_2canairiats_rec_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 10611(line=489, offs=3) -- 10959(line=504, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_insert (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_uint_type, tmp89) ; ATSlocal (anairiats_rec_4, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (anairiats_rec_4, tmp92) ; ATSlocal (ats_bool_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_insert: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg0) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp (tmp88) ; /* anairiats_rec_4 tmp90 ; */ tmp90.atslab_0 = arg1 ; tmp90.atslab_1 = arg2 ; tmp91 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp59), atslab_1) ; /* anairiats_rec_4 tmp92 ; */ tmp93 = linmap_insert_03100_ats_uint_type_2canairiats_rec_4 (tmp91, tmp89, tmp90, ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), (&tmp92)) ; return /* (tmp87) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 11140(line=517, offs=5) -- 11455(line=528, offs=2) */ ATSstaticdec() ats_void_type auxpr_41 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab_auxpr_41: tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg1), atslab_d0ecl_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp191)->tag != 30) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("include")) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp191)->tag != 31) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("staload")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp191)->tag != 34) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("require")) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp191)->tag != 35) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("dynload")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: /* tmp190 = */ atspre_fprint_string (arg0, ATSstrcst("*ERROR*")) ; break ; } while (0) ; return /* (tmp190) */ ; } /* end of [auxpr_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 11068(line=512, offs=3) -- 12397(line=569, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitm (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp189) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; // ATSlocal_void (tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitm: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp194 = */ atspre_fprint_string (arg0, ATSstrcst("{\n")) ; /* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("\"pkgreloc_kind\": ")) ; /* tmp196 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp197 = */ auxpr_41 (arg0, tmp192) ; /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp199 = */ atspre_fprint_string (arg0, ATSstrcst("\n,\n")) ; /* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("\"pkgreloc_given\": ")) ; /* tmp201 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp202 = */ atspre_fprint_string (arg0, tmp193) ; /* tmp203 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp189 = */ atspre_fprint_string (arg0, ATSstrcst("\n}\n")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_2) ; /* tmp207 = */ atspre_fprint_string (arg0, ATSstrcst("{\n")) ; /* tmp208 = */ atspre_fprint_string (arg0, ATSstrcst("\"pkgreloc_kind\": ")) ; /* tmp209 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp210 = */ auxpr_41 (arg0, tmp204) ; /* tmp211 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp212 = */ atspre_fprint_string (arg0, ATSstrcst("\n,\n")) ; /* tmp213 = */ atspre_fprint_string (arg0, ATSstrcst("\"pkgreloc_target\": ")) ; /* tmp214 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp215 = */ atspre_fprint_string (arg0, tmp206) ; /* tmp216 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp217 = */ atspre_fprint_string (arg0, ATSstrcst("\n,\n")) ; /* tmp218 = */ atspre_fprint_string (arg0, ATSstrcst("\"pkgreloc_source\": ")) ; /* tmp219 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp220 = */ atspre_fprint_string (arg0, tmp205) ; /* tmp221 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp189 = */ atspre_fprint_string (arg0, ATSstrcst("\n}\n")) ; break ; } while (0) ; return /* (tmp189) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 12464(line=573, offs=3) -- 12643(line=582, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; // ATSlocal_void (tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp223 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; /* tmp225 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitm (arg0, tmp223) ; arg0 = arg0 ; arg1 = tmp224 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst ; // tail call break ; } while (0) ; return /* (tmp222) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__fprint_pkgrelocitmlst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61997(line=2223, offs=7) -- 62162(line=2225, offs=74) */ ATSstaticdec() ats_ptr_type loop_46 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab_loop_46: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp236 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp237 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp237, atslab_0, tmp235) ; ats_selptrset_mac(anairiats_sum_10, tmp237, atslab_1, arg1) ; arg0 = tmp236 ; arg1 = tmp237 ; goto __ats_lab_loop_46 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp234 = arg1 ; break ; } while (0) ; return (tmp234) ; } /* end of [loop_46] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61976(line=2222, offs=25) -- 62297(line=2231, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp233) ; __ats_lab_list_reverse_append2_vt_01435_ats_ptr_type: tmp233 = loop_46 (arg0, arg1) ; return (tmp233) ; } /* end of [list_reverse_append2_vt_01435_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 62382(line=2236, offs=14) -- 62438(line=2237, offs=50) */ ATSstaticdec() ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab_list_reverse_01436_ats_ptr_type: tmp238 = (ats_sum_ptr_type)0 ; tmp232 = list_reverse_append2_vt_01435_ats_ptr_type (arg0, tmp238) ; return (tmp232) ; } /* end of [list_reverse_01436_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 12817(line=594, offs=24) -- 12928(line=599, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgrelocitmlst_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgrelocitmlst_get: tmp229 = ats_ptrget_mac(ats_ptr_type, statmp226) ; tmp230 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, statmp226) = tmp230 ; tmp231 = list_reverse_01436_ats_ptr_type (tmp229) ; tmp228 = ats_castfn_mac(ats_ptr_type, tmp231) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgrelocitmlst_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 13011(line=605, offs=3) -- 13307(line=624, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert: tmp240 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0ecl_loc) ; tmp241 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp241)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp241, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp241, atslab_1, arg1) ; tmp243 = ats_ptrget_mac(ats_ptr_type, statmp226) ; tmp242 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp242, atslab_0, tmp241) ; ats_selptrset_mac(anairiats_sum_10, tmp242, atslab_1, tmp243) ; ats_ptrget_mac(ats_ptr_type, statmp226) = tmp242 ; return /* (tmp239) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 13374(line=628, offs=3) -- 13890(line=655, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert2: tmp245 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_d0ecl_loc) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp246)->tag = 1 ; ats_selptrset_mac(anairiats_sum_9, tmp246, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp246, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp246, atslab_2, arg2) ; tmp248 = ats_ptrget_mac(ats_ptr_type, statmp226) ; tmp247 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp247, atslab_0, tmp246) ; ats_selptrset_mac(anairiats_sum_10, tmp247, atslab_1, tmp248) ; ats_ptrget_mac(ats_ptr_type, statmp226) = tmp247 ; return /* (tmp244) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_pkgreloc_insert2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_env.dats: 14157(line=671, offs=27) -- 14838(line=700, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_initialize () { /* local vardec */ // ATSlocal_void (tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_bool_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_initialize: tmp250 = patsopt_PATSHOME_get () ; tmp251 = atspre_stropt_is_some (tmp250) ; if (tmp251) { tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, ats_castfn_mac(ats_ptr_type, tmp250)) ; /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOME, tmp253) ; } else { /* empty */ } /* end of [if] */ tmp254 = patsopt_PATSHOMERELOC_get () ; tmp255 = atspre_stropt_is_some (tmp254) ; if (tmp255) { tmp256 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, ats_castfn_mac(ats_ptr_type, tmp254)) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_addperv (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOMERELOC, tmp256) ; } else { /* empty */ } /* end of [if] */ return /* (tmp249) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_initialize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linmap_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linmap_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp30, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp59, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp62, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp226, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp227, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () ; statmp2 = ats_selsin_mac(statmp1, atslab_1) ; /* statmp3 = */ atspre_vbox_make_view_ptr (statmp2) ; /* statmp4 = ats_selsin_mac(statmp3, atslab_1) */ ; statmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () ; statmp31 = ats_selsin_mac(statmp30, atslab_1) ; /* statmp32 = */ atspre_vbox_make_view_ptr (statmp31) ; /* statmp33 = ats_selsin_mac(statmp32, atslab_1) */ ; statmp62 = linmap_make_nil_03092_ () ; statmp59 = ref_01088_ats_ptr_type (statmp62) ; statmp227 = (ats_sum_ptr_type)0 ; statmp226 = ref_01088_ats_ptr_type (statmp227) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_env_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_emit2_dats.c0000664000175000017500000016446112655455557021016 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_10 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcstmat_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvarmat_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist) (ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_bool_type funval_isbot_0 (ats_ptr_type arg0) ; static ats_void_type aux_funval_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_void_type aux_funval2_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ; static ats_int_type auxflab_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type aux_funenv_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type emit_fparamlst_5 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_void_type emit_freeaft_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux1_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type aux1lst_9 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type aux2_10 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type aux2lst_11 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxgoto_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type loop_19 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 1905(line=73, offs=1) -- 2107(line=84, offs=4) */ ATSstaticdec() ats_bool_type funval_isbot_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_funval_isbot_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_primval_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (tmp2) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_fun_isbot (tmp3) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [funval_isbot_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 2159(line=88, offs=5) -- 3159(line=128, offs=4) */ ATSstaticdec() ats_void_type aux_funval_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_aux_funval_1: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp5)->tag != 6) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp5, atslab_0) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fundec (tmp6) ; if (tmp7) { /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp6) ; } else { /* tmp4 = */ aux_funval2_2 (arg0, arg1, arg2, arg3) ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp5)->tag != 29) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp5, atslab_0) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp8) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp5)->tag != 30) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_1) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp9) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp5)->tag != 33) { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp5)->tag != 34) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp5)->tag != 35) { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp5)->tag != 36) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: /* tmp4 = */ aux_funval2_2 (arg0, arg1, arg2, arg3) ; break ; } while (0) ; return /* (tmp4) */ ; } /* end of [aux_funval_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 3188(line=130, offs=5) -- 4169(line=179, offs=4) */ ATSstaticdec() ats_void_type aux_funval2_2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp17) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; // ATSlocal_void (tmp23) ; // ATSlocal_void (tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; __ats_lab_aux_funval2_2: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp11)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 3408(line=141, offs=5) -- 3464(line=144, offs=24)") ; } tmp12 = ats_caselptrlab_mac(anairiats_sum_4, tmp11, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_4, tmp11, atslab_1) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_4, tmp11, atslab_2) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSfunclo")) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp12 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp12 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: ats_ptrget_mac(ats_bool_type, arg3) = ats_true_bool ; break ; } while (0) ; if (ats_ptrget_mac(ats_bool_type, arg3)) { /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_clo")) ; } else { /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_fun")) ; } /* end of [if] */ /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; if (ats_ptrget_mac(ats_bool_type, arg3)) { tmp22 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp22, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_cloptr) ; ats_selptrset_mac(anairiats_sum_5, tmp22, atslab_1, tmp13) ; } else { tmp22 = tmp13 ; } /* end of [if] */ /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexplst_sep (arg0, tmp22, ATSstrcst(", ")) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp26 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp14) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp10) */ ; } /* end of [aux_funval2_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 4295(line=188, offs=5) -- 4594(line=205, offs=4) */ ATSstaticdec() ats_int_type auxflab_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_auxflab_4: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp29 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_6, tmp29, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp30) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp31, 0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp29 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp28 = 0 ; break ; } while (0) ; return (tmp28) ; } /* end of [auxflab_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 4220(line=183, offs=5) -- 4785(line=217, offs=4) */ ATSstaticdec() ats_int_type aux_funenv_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_aux_funenv_3: tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp32)->tag != 29) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp32, atslab_0) ; tmp27 = auxflab_4 (arg0, tmp33) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp32)->tag != 30) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_1) ; tmp27 = auxflab_4 (arg0, tmp34) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp27 = 0 ; break ; } while (0) ; return (tmp27) ; } /* end of [aux_funenv_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 4835(line=222, offs=1) -- 5131(line=239, offs=4) */ ATSstaticdec() ats_void_type emit_fparamlst_5 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_bool_type, tmp37) ; __ats_lab_emit_fparamlst_5: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp37 = atspre_gt_int_int (arg1, 0) ; if (tmp37) { /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist (arg0, arg2) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: break ; } while (0) ; return /* (tmp35) */ ; } /* end of [emit_fparamlst_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 5185(line=243, offs=5) -- 5485(line=260, offs=4) */ ATSstaticdec() ats_void_type emit_freeaft_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab_emit_freeaft_fun_6: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp39)->tag != 28) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_7, tmp39, atslab_1) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_7, tmp39, atslab_2) ; tmp42 = atspre_gt_int_int (tmp40, 0) ; if (tmp42) { /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfreeclo(")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp41) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: break ; } while (0) ; return /* (tmp38) */ ; } /* end of [emit_freeaft_fun_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 6356(line=308, offs=3) -- 7423(line=358, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_bool_type, tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_int_type, tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_loc) ; tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp47)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 6405(line=311, offs=5) -- 6466(line=312, offs=53)") ; } tmp48 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_1) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_2) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_9, tmp47, atslab_3) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void (tmp48) ; if (tmp52) { tmp53 = ats_true_bool ; } else { tmp53 = funval_isbot_0 (tmp49) ; } /* end of [if] */ /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove")) ; if (tmp53) { /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ; } else { /* empty */ } /* end of [if] */ /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp48) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* ats_bool_type tmp59 ; */ tmp59 = ats_false_bool ; /* tmp60 = */ aux_funval_1 (arg0, tmp49, tmp50, (&tmp59)) ; if (tmp59) { tmp61 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp61, atslab_0, tmp49) ; ats_selptrset_mac(anairiats_sum_5, tmp61, atslab_1, tmp51) ; } else { tmp61 = tmp51 ; } /* end of [if] */ /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; tmp63 = aux_funenv_3 (arg0, tmp49) ; /* tmp64 = */ emit_fparamlst_5 (arg0, tmp63, tmp61) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp45 = */ emit_freeaft_fun_6 (arg0, tmp49) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 7486(line=364, offs=5) -- 7873(line=387, offs=4) */ ATSstaticdec() ats_void_type aux1_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; ATSlocal (ats_bool_type, tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab_aux1_8: /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_tlcal(")) ; tmp70 = atspre_lte_int_int (arg1, 1) ; if (tmp70) { /* tmp69 = */ atspre_fprintf_exn (arg0, ATSstrcst("apy%i"), arg3) ; } else { /* tmp69 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%ipy%i"), arg1, arg3) ; } /* end of [if] */ /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp67) */ ; } /* end of [aux1_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 7896(line=389, offs=5) -- 8121(line=405, offs=4) */ ATSstaticdec() ats_void_type aux1lst_9 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_int_type, tmp77) ; __ats_lab_aux1lst_9: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; /* tmp76 = */ aux1_8 (arg0, arg1, tmp74, arg3) ; tmp77 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp75 ; arg3 = tmp77 ; goto __ats_lab_aux1lst_9 ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: break ; } while (0) ; return /* (tmp73) */ ; } /* end of [aux1lst_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 8147(line=407, offs=5) -- 8616(line=434, offs=4) */ ATSstaticdec() ats_void_type aux2_10 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp78) ; // ATSlocal_void (tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_bool_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_bool_type, tmp83) ; __ats_lab_aux2_10: /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSargmove_tlcal(")) ; tmp81 = atspre_lte_int_int (arg1, 1) ; if (tmp81) { /* tmp80 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg%i"), arg3) ; } else { /* tmp80 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%irg%i"), arg1, arg3) ; } /* end of [if] */ tmp83 = atspre_lte_int_int (arg1, 1) ; if (tmp83) { /* tmp82 = */ atspre_fprintf_exn (arg0, ATSstrcst(", apy%i"), arg3) ; } else { /* tmp82 = */ atspre_fprintf_exn (arg0, ATSstrcst(", a%ipy%i"), arg1, arg3) ; } /* end of [if] */ /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp78) */ ; } /* end of [aux2_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 8639(line=436, offs=5) -- 8864(line=452, offs=4) */ ATSstaticdec() ats_void_type aux2lst_11 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_int_type, tmp88) ; __ats_lab_aux2lst_11: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; /* tmp87 = */ aux2_10 (arg0, arg1, tmp85, arg3) ; tmp88 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp86 ; arg3 = tmp88 ; goto __ats_lab_aux2lst_11 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: break ; } while (0) ; return /* (tmp84) */ ; } /* end of [aux2lst_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 8890(line=454, offs=5) -- 9118(line=467, offs=4) */ ATSstaticdec() ats_void_type auxgoto_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; __ats_lab_auxgoto_12: /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfgoto(")) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__patsflab_")) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab (arg0, arg1) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp89) */ ; } /* end of [auxgoto_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 9194(line=473, offs=3) -- 9549(line=490, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall2: tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp94)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 9218(line=475, offs=5) -- 9284(line=478, offs=19)") ; } tmp95 = ats_caselptrlab_mac(anairiats_sum_10, tmp94, atslab_1) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_10, tmp94, atslab_2) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_10, tmp94, atslab_4) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStailcal_beg()\n")) ; /* tmp99 = */ aux1lst_9 (arg0, tmp96, tmp97, 0) ; /* tmp100 = */ aux2lst_11 (arg0, tmp96, tmp97, 0) ; /* tmp101 = */ auxgoto_12 (arg0, tmp95) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStailcal_end()\n")) ; return /* (tmp93) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 9657(line=498, offs=3) -- 10256(line=529, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extfcall (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; // ATSlocal_void (tmp109) ; ATSlocal (ats_bool_type, tmp110) ; // ATSlocal_void (tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extfcall: tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_loc) ; tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp104)->tag != 8) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 9706(line=501, offs=5) -- 9758(line=502, offs=41)") ; } tmp105 = ats_caselptrlab_mac(anairiats_sum_4, tmp104, atslab_0) ; tmp106 = ats_caselptrlab_mac(anairiats_sum_4, tmp104, atslab_1) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_4, tmp104, atslab_2) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void (tmp105) ; tmp110 = atspre_neg_bool (tmp108) ; if (tmp110) { /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove(")) ; } else { /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_void(")) ; } /* end of [if] */ /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp105) ; /* tmp112 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextfcall(")) ; /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp106) ; /* tmp115 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp107) ; /* tmp102 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("))) ;")) ; return /* (tmp102) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 10343(line=535, offs=3) -- 11019(line=568, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extmcall (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_bool_type, tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; // ATSlocal_void (tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; // ATSlocal_void (tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extmcall: tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_loc) ; tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp120)->tag != 9) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 10392(line=538, offs=5) -- 10453(line=539, offs=50)") ; } tmp121 = ats_caselptrlab_mac(anairiats_sum_9, tmp120, atslab_0) ; tmp122 = ats_caselptrlab_mac(anairiats_sum_9, tmp120, atslab_1) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_9, tmp120, atslab_2) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_9, tmp120, atslab_3) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_is_void (tmp121) ; tmp127 = atspre_neg_bool (tmp125) ; if (tmp127) { /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove(")) ; } else { /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_void(")) ; } /* end of [if] */ /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp121) ; /* tmp129 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp130 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSextmcall(")) ; /* tmp131 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp122) ; /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp133 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp123) ; /* tmp134 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp136 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp124) ; /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("))) ;")) ; return /* (tmp118) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 11223(line=582, offs=5) -- 11614(line=602, offs=4) */ ATSstaticdec() ats_int_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; // ATSlocal_void (tmp142) ; ATSlocal (ats_bool_type, tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; ATSlocal (ats_int_type, tmp146) ; __ats_lab_loop_17: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp139) ; tmp143 = atspre_gt_int_int (arg3, 0) ; if (tmp143) { /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp144 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp141) ; /* tmp145 = */ atspre_fprintf_exn (arg0, ATSstrcst(" env%i"), arg3) ; tmp146 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp140 ; arg2 = arg2 ; arg3 = tmp146 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp138 = arg3 ; break ; } while (0) ; return (tmp138) ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 11124(line=576, offs=3) -- 11672(line=606, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funenvlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funenvlst: tmp137 = loop_17 (arg0, arg1, ATSstrcst(", "), 0) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funenvlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 11759(line=612, offs=5) -- 12134(line=631, offs=4) */ ATSstaticdec() ats_void_type loop_19 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ // ATSlocal_void (tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; ATSlocal (ats_bool_type, tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; __ats_lab_loop_19: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp152 = atspre_gt_int_int (arg1, 0) ; if (tmp152) { /* tmp151 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg3) ; } else { /* empty */ } /* end of [if] */ /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp149) ; /* tmp154 = */ atspre_fprintf_exn (arg0, ATSstrcst(" arg%i"), arg4) ; tmp155 = atspre_add_int_int (arg1, 1) ; tmp156 = atspre_add_int_int (arg4, 1) ; arg0 = arg0 ; arg1 = tmp155 ; arg2 = tmp150 ; arg3 = arg3 ; arg4 = tmp156 ; goto __ats_lab_loop_19 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: break ; } while (0) ; return /* (tmp148) */ ; } /* end of [loop_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit2.dats: 11728(line=610, offs=3) -- 12195(line=635, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarglst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp147) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarglst: /* tmp147 = */ loop_19 (arg0, arg1, arg2, ATSstrcst(", "), 0) ; return /* (tmp147) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarglst] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit2_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_ccomp_emit2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_funent_dats.c0000664000175000017500000015312412655455557021267 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_funent_loc ; ats_ptr_type atslab_funent_lab ; ats_ptr_type atslab_funent_imparg ; ats_ptr_type atslab_funent_tmparg ; ats_ptr_type atslab_funent_tmpsub ; ats_ptr_type atslab_funent_tmpret ; ats_ptr_type atslab_funent_flablst ; ats_ptr_type atslab_funent_flablst_fin ; ats_ptr_type atslab_funent_d2envlst ; ats_ptr_type atslab_funent_d2envlst_fin ; ats_ptr_type atslab_funent_vbindmap ; ats_ptr_type atslab_funent_instrlst ; ats_ptr_type atslab_funent_tmpvarlst ; ats_ptr_type atslab_funent_fnxlablst ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ typedef anairiats_rec_0 *funent_t ; /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrlst_get_tmpvarset) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst) (ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__funent_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 2934(line=105, offs=1) -- 3540(line=139, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ptr_type arg10) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make: tmp1 = (ats_sum_ptr_type)0 ; tmp2 = (ats_sum_ptr_type)0 ; tmp3 = (ats_sum_ptr_type)0 ; tmp0 = ATS_MALLOC(sizeof(anairiats_rec_0)) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_loc, arg0) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_lab, arg1) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_imparg, arg2) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_tmparg, arg3) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_tmpsub, arg4) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_tmpret, arg5) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_flablst, arg6) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_flablst_fin, tmp1) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_d2envlst, arg7) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_d2envlst_fin, tmp2) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_vbindmap, arg8) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_instrlst, arg9) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_tmpvarlst, arg10) ; ats_selptrset_mac(anairiats_rec_0, tmp0, atslab_funent_fnxlablst, tmp3) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3612(line=144, offs=16) -- 3636(line=144, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc: tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_loc) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3663(line=147, offs=16) -- 3687(line=147, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_lab) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3718(line=151, offs=3) -- 3760(line=151, offs=45) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_level (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_level: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_lab) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (tmp7) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_level] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3820(line=155, offs=19) -- 3847(line=155, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_imparg) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3877(line=158, offs=19) -- 3904(line=158, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg: tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_tmparg) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3934(line=161, offs=19) -- 3961(line=161, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub: tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_tmpsub) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 3991(line=164, offs=19) -- 4018(line=164, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_tmpret) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4049(line=167, offs=20) -- 4077(line=167, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst: tmp12 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_flablst) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4111(line=169, offs=24) -- 4143(line=169, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst_fin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst_fin: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_flablst_fin) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst_fin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4175(line=172, offs=21) -- 4204(line=172, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst: tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_d2envlst) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4239(line=174, offs=25) -- 4272(line=174, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin: tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_d2envlst_fin) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4304(line=177, offs=21) -- 4333(line=177, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_vbindmap) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4365(line=180, offs=21) -- 4394(line=180, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst: tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_instrlst) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4427(line=183, offs=22) -- 4457(line=183, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst: tmp18 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_tmpvarlst) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4511(line=188, offs=22) -- 4541(line=188, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst: tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_funent_fnxlablst) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 4631(line=198, offs=1) -- 5016(line=215, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make2: tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrlst_get_tmpvarset (arg8) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_add (tmp21, arg4) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvarset_vt_listize_free (tmp22) ; tmp24 = (ats_sum_ptr_type)0 ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make (arg0, arg1, arg2, arg3, tmp24, arg4, arg5, arg6, arg7, arg8, ats_castfn_mac(ats_ptr_type, tmp23)) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_make2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_bool_type, tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_int_type, tmp48) ; __ats_lab_aux_19: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp46 = atspre_gt_int_int (arg1, 0) ; if (tmp46) { /* tmp45 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp47 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp43) ; tmp48 = atspre_add_int_int (arg1, 1) ; arg0 = tmp44 ; arg1 = tmp48 ; goto __ats_lab_aux_19 ; // tail call break ; } while (0) ; return /* (tmp42) */ ; } /* end of [aux_19] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_19_closure_type ; ats_void_type aux_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_19 (((aux_19_closure_type*)cloptr)->closure_env_0, ((aux_19_closure_type*)cloptr)->closure_env_1, ((aux_19_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_19_closure_init (aux_19_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_19_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_19_closure_type *p_clo = ATS_MALLOC(sizeof(aux_19_closure_type)) ; aux_19_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp41 = */ aux_19 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp41) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 5090(line=221, offs=3) -- 5981(line=263, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_imparg (arg1) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg (arg1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpsub (arg1) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmpret (arg1) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_instrlst (arg1) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("FUNENT(\n")) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("lab=")) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp26) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("imparg=")) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp27) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("tmparg=")) ; /* tmp40 = */ fprintlst_01694_ats_ptr_type (arg0, tmp28, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("tmpsub=")) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpsubopt (arg0, tmp29) ; /* tmp52 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("tmpret=")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp30) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("instrlst=\n")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instrlst (arg0, tmp31) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 6056(line=268, offs=17) -- 6180(line=274, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_is_tmplt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_is_tmplt: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_tmparg (arg0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp59 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp58 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp59 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp58 = ats_false_bool ; break ; } while (0) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_is_tmplt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 6255(line=279, offs=14) -- 6296(line=279, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funent (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funent: /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent (stdout, arg0) ; return /* (tmp60) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__print_funent] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_funent.dats: 6320(line=281, offs=14) -- 6361(line=281, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funent (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funent: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funent (stderr, arg0) ; return /* (tmp61) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_funent] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_funent_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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 */ extern ats_void_type patsopt_funent_set_tmpsub ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_tmpsub = opt ; return ; } // end of [patsopt_funent_set_tmpsub] extern ats_void_type patsopt_funent_set_flablst_fin ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_flablst_fin = opt ; return ; } // end of [patsopt_funent_set_flablst_fin] extern ats_void_type patsopt_funent_set_d2envlst_fin ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_d2envlst_fin = opt ; return ; } // end of [patsopt_funent_set_d2envlst_fin] extern ats_void_type patsopt_funent_set_fnxlablst ( ats_ptr_type fent, ats_ptr_type fls ) { ((funent_t)fent)->atslab_funent_fnxlablst = fls ; return ; } // end of [patsopt_funent_set_fnxlablst] /* ****** ****** */ /* end of [pats_ccomp_funent_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_syndef_dats.c0000664000175000017500000016635012655455557021374 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_d1exp_loc ; ats_ptr_type atslab_d1exp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Eidextapp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__D1Elist_29) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TUPZ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__syndef_search_all) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type fsyndef_CAR_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_CDR_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_ISNIL_2 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_ISCONS_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_ISLIST_4 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux1_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type app_9 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type __ats_fun_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_12_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type __ats_fun_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux1lst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type __ats_fun_15 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type __ats_fun_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux2lst_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux3_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type __ats_fun_18 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_18_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_ptr_type __ats_fun_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux3lst_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type fsyndef_TUPZ_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxpr_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxprln_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxfpr_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxfprln_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type fsyndef_PRINT_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_PRINTLN_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_PRERR_26 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_PRERRLN_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_FPRINT_28 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type fsyndef_FPRINTLN_29 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_34 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp5) ; ATSstatic (ats_ptr_type, statmp6) ; ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_ptr_type, statmp8) ; ATSstatic (ats_ptr_type, statmp9) ; ATSstatic (ats_ptr_type, statmp10) ; ATSstatic (ats_ptr_type, statmp11) ; ATSstatic (ats_ptr_type, statmp12) ; ATSstatic (ats_ptr_type, statmp13) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 2334(line=87, offs=5) -- 2430(line=89, offs=50) */ ATSstaticdec() ats_ptr_type fsyndef_CAR_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab_fsyndef_CAR_0: tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR, arg1) ; return (tmp0) ; } /* end of [fsyndef_CAR_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 2435(line=90, offs=5) -- 2531(line=92, offs=50) */ ATSstaticdec() ats_ptr_type fsyndef_CDR_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_fsyndef_CDR_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR, arg1) ; return (tmp1) ; } /* end of [fsyndef_CDR_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 2537(line=94, offs=5) -- 2637(line=96, offs=52) */ ATSstaticdec() ats_ptr_type fsyndef_ISNIL_2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_fsyndef_ISNIL_2: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL, arg1) ; return (tmp2) ; } /* end of [fsyndef_ISNIL_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 2642(line=97, offs=5) -- 2744(line=99, offs=53) */ ATSstaticdec() ats_ptr_type fsyndef_ISCONS_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_fsyndef_ISCONS_3: tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS, arg1) ; return (tmp3) ; } /* end of [fsyndef_ISCONS_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 2749(line=100, offs=5) -- 2851(line=102, offs=53) */ ATSstaticdec() ats_ptr_type fsyndef_ISLIST_4 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_fsyndef_ISLIST_4: tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_macfun (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST, arg1) ; return (tmp4) ; } /* end of [fsyndef_ISLIST_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 3454(line=122, offs=5) -- 3586(line=128, offs=4) */ ATSstaticdec() ats_ptr_type aux1_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_aux1_5: tmp16 = (ats_sum_ptr_type)0 ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp15, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_1, tmp15, atslab_1, tmp16) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, arg0, -1, tmp15) ; return (tmp14) ; } /* end of [aux1_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54647(line=1953, offs=6) -- 54699(line=1953, offs=58) */ ATSstaticdec() ats_ptr_type app_9 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_app_9: tmp21 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp21) ; } /* end of [app_9] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab_loop_11: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp26 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp24, arg3) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_0, tmp26) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp27 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp28 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp25 ; arg1 = arg1 ; arg2 = tmp28 ; arg3 = arg3 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp29 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp29 ; break ; } while (0) ; return /* (tmp23) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp30 ; */ /* tmp31 = */ loop_11 (arg0, arg1, (&tmp30), arg2) ; tmp22 = tmp30 ; return (tmp22) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54575(line=1951, offs=23) -- 54763(line=1956, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; __ats_lab_list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type: tmp20 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_9, arg1) ; return (tmp20) ; } /* end of [list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54041(line=1936, offs=19) -- 54491(line=1948, offs=2) */ ATSstaticdec() ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; __ats_lab_list_map_cloptr_01415_ats_ptr_type_ats_ptr_type: tmp19 = list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (arg0, arg1) ; return (tmp19) ; } /* end of [list_map_cloptr_01415_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 3722(line=136, offs=26) -- 3756(line=136, offs=60) */ ATSstaticdec() ats_ptr_type __ats_fun_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; __ats_lab___ats_fun_12: tmp33 = aux1_5 (env0, env1, arg0) ; return (tmp33) ; } /* end of [__ats_fun_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } __ats_fun_12_closure_type ; ats_ptr_type __ats_fun_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_12 (((__ats_fun_12_closure_type*)cloptr)->closure_env_0, ((__ats_fun_12_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_12_closure_init (__ats_fun_12_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_12_closure_make (ats_ptr_type env0, ats_ptr_type env1) { __ats_fun_12_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_12_closure_type)) ; __ats_fun_12_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 3609(line=130, offs=5) -- 3792(line=140, offs=4) */ ATSstaticdec() ats_ptr_type aux1lst_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_aux1lst_6: /* ats_ptr_type tmp32 ; */ tmp32 = __ats_fun_12_closure_make (arg0, arg1) ; tmp18 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg2, tmp32) ; ATS_FREE(tmp32) ; tmp17 = ats_castfn_mac(ats_ptr_type, tmp18) ; return (tmp17) ; } /* end of [aux1lst_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 3839(line=144, offs=5) -- 4085(line=154, offs=4) */ ATSstaticdec() ats_ptr_type aux2_13 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_aux2_13: tmp35 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg2), atslab_d1exp_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp35)->tag != 29) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_3, tmp35, atslab_1) ; tmp37 = aux1lst_6 (arg0, arg1, tmp36) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp37) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp34 = aux1_5 (arg0, arg1, arg2) ; break ; } while (0) ; return (tmp34) ; } /* end of [aux2_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4218(line=160, offs=37) -- 4252(line=160, offs=71) */ ATSstaticdec() ats_ptr_type __ats_fun_15 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; __ats_lab___ats_fun_15: tmp41 = aux2_13 (env0, env1, arg0) ; return (tmp41) ; } /* end of [__ats_fun_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } __ats_fun_15_closure_type ; ats_ptr_type __ats_fun_15_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_15 (((__ats_fun_15_closure_type*)cloptr)->closure_env_0, ((__ats_fun_15_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_15_closure_init (__ats_fun_15_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_15_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_15_closure_make (ats_ptr_type env0, ats_ptr_type env1) { __ats_fun_15_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_15_closure_type)) ; __ats_fun_15_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4108(line=156, offs=5) -- 4285(line=163, offs=4) */ ATSstaticdec() ats_ptr_type aux2lst_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_aux2lst_14: /* ats_ptr_type tmp40 ; */ tmp40 = __ats_fun_15_closure_make (arg0, arg1) ; tmp39 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg2, tmp40) ; ATS_FREE(tmp40) ; tmp38 = ats_castfn_mac(ats_ptr_type, tmp39) ; return (tmp38) ; } /* end of [aux2lst_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4332(line=167, offs=5) -- 4485(line=173, offs=4) */ ATSstaticdec() ats_ptr_type aux3_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab_aux3_16: tmp45 = (ats_sum_ptr_type)0 ; tmp44 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp44, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_1, tmp44, atslab_1, tmp45) ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp43, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_1, tmp43, atslab_1, tmp44) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, arg1, arg0, -1, tmp43) ; return (tmp42) ; } /* end of [aux3_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4633(line=179, offs=38) -- 4675(line=179, offs=80) */ ATSstaticdec() ats_ptr_type __ats_fun_18 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab___ats_fun_18: tmp49 = aux3_16 (env0, env1, env2, arg0) ; return (tmp49) ; } /* end of [__ats_fun_18] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } __ats_fun_18_closure_type ; ats_ptr_type __ats_fun_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_18 (((__ats_fun_18_closure_type*)cloptr)->closure_env_0, ((__ats_fun_18_closure_type*)cloptr)->closure_env_1, ((__ats_fun_18_closure_type*)cloptr)->closure_env_2, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_18_closure_init (__ats_fun_18_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_18_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_18_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { __ats_fun_18_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_18_closure_type)) ; __ats_fun_18_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4508(line=175, offs=5) -- 4708(line=182, offs=4) */ ATSstaticdec() ats_ptr_type aux3lst_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab_aux3lst_17: /* ats_ptr_type tmp48 ; */ tmp48 = __ats_fun_18_closure_make (arg0, arg1, arg2) ; tmp47 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (arg3, tmp48) ; ATS_FREE(tmp48) ; tmp46 = ats_castfn_mac(ats_ptr_type, tmp47) ; return (tmp46) ; } /* end of [aux3lst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4755(line=187, offs=1) -- 4849(line=190, offs=47) */ ATSstaticdec() ats_ptr_type fsyndef_TUPZ_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_fsyndef_TUPZ_19: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_list (arg0, -1, arg1) ; return (tmp50) ; } /* end of [fsyndef_TUPZ_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 4883(line=197, offs=1) -- 5155(line=214, offs=4) */ ATSstaticdec() ats_ptr_type auxpr_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_auxpr_20: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (arg0, tmp52, arg2) ; tmp54 = aux2lst_14 (arg0, tmp53, arg1) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp54) ; return (tmp51) ; } /* end of [auxpr_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 5182(line=217, offs=1) -- 5570(line=237, offs=4) */ ATSstaticdec() ats_ptr_type auxprln_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab_auxprln_21: tmp56 = auxpr_20 (arg0, arg1, arg2) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (arg0) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (arg0, tmp57, arg3) ; tmp60 = (ats_sum_ptr_type)0 ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, tmp58, arg0, -1, tmp60) ; tmp63 = (ats_sum_ptr_type)0 ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp62, atslab_0, tmp59) ; ats_selptrset_mac(anairiats_sum_1, tmp62, atslab_1, tmp63) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp61, atslab_0, tmp56) ; ats_selptrset_mac(anairiats_sum_1, tmp61, atslab_1, tmp62) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp61) ; return (tmp55) ; } /* end of [auxprln_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 5620(line=242, offs=1) -- 6044(line=266, offs=4) */ ATSstaticdec() ats_ptr_type auxfpr_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_auxfpr_22: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (arg0) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (arg0, tmp67, arg2) ; tmp69 = aux3lst_17 (arg0, tmp68, tmp65, tmp66) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp69) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (arg0) ; break ; } while (0) ; return (tmp64) ; } /* end of [auxfpr_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 6072(line=269, offs=1) -- 6895(line=305, offs=4) */ ATSstaticdec() ats_ptr_type auxfprln_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab_auxfprln_23: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_none (arg0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (arg0, tmp73, arg2) ; tmp76 = aux3lst_17 (arg0, tmp74, tmp71, tmp72) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp76) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_dqid (arg0, tmp73, arg3) ; tmp80 = (ats_sum_ptr_type)0 ; tmp79 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp79, atslab_0, tmp71) ; ats_selptrset_mac(anairiats_sum_1, tmp79, atslab_1, tmp80) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_app_dyn (arg0, tmp77, arg0, -1, tmp79) ; tmp83 = (ats_sum_ptr_type)0 ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp82, atslab_0, tmp78) ; ats_selptrset_mac(anairiats_sum_1, tmp82, atslab_1, tmp83) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp81, atslab_0, tmp75) ; ats_selptrset_mac(anairiats_sum_1, tmp81, atslab_1, tmp82) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_seq (arg0, tmp81) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (arg0) ; break ; } while (0) ; return (tmp70) ; } /* end of [auxfprln_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 6972(line=312, offs=1) -- 7065(line=315, offs=45) */ ATSstaticdec() ats_ptr_type fsyndef_PRINT_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; __ats_lab_fsyndef_PRINT_24: tmp84 = auxpr_20 (arg0, arg1, statmp5) ; return (tmp84) ; } /* end of [fsyndef_PRINT_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 7073(line=317, offs=5) -- 7198(line=323, offs=2) */ ATSstaticdec() ats_ptr_type fsyndef_PRINTLN_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; __ats_lab_fsyndef_PRINTLN_25: tmp85 = auxprln_21 (arg0, arg1, statmp5, statmp6) ; return (tmp85) ; } /* end of [fsyndef_PRINTLN_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 7258(line=328, offs=1) -- 7351(line=331, offs=45) */ ATSstaticdec() ats_ptr_type fsyndef_PRERR_26 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; __ats_lab_fsyndef_PRERR_26: tmp86 = auxpr_20 (arg0, arg1, statmp8) ; return (tmp86) ; } /* end of [fsyndef_PRERR_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 7356(line=333, offs=1) -- 7481(line=339, offs=2) */ ATSstaticdec() ats_ptr_type fsyndef_PRERRLN_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; __ats_lab_fsyndef_PRERRLN_27: tmp87 = auxprln_21 (arg0, arg1, statmp8, statmp9) ; return (tmp87) ; } /* end of [fsyndef_PRERRLN_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 7539(line=344, offs=1) -- 8046(line=374, offs=4) */ ATSstaticdec() ats_ptr_type fsyndef_FPRINT_28 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab_fsyndef_FPRINT_28: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } tmp89 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; if (tmp89 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp91 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp90), atslab_d1exp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp91)->tag != 29) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_3, tmp91, atslab_1) ; tmp88 = auxfpr_22 (arg0, tmp92, statmp11) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp94 = (ats_sum_ptr_type)0 ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp93, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_1, tmp93, atslab_1, tmp94) ; tmp88 = auxfpr_22 (arg0, tmp93, statmp11) ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp88 = auxfpr_22 (arg0, arg1, statmp11) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (arg0) ; break ; } while (0) ; return (tmp88) ; } /* end of [fsyndef_FPRINT_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 8082(line=377, offs=1) -- 8756(line=413, offs=4) */ ATSstaticdec() ats_ptr_type fsyndef_FPRINTLN_29 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab_fsyndef_FPRINTLN_29: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } tmp96 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; if (tmp96 != (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_13_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp97), atslab_d1exp_node) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp98)->tag != 29) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_3, tmp98, atslab_1) ; tmp95 = auxfprln_23 (arg0, tmp99, statmp11, statmp12) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp101 = (ats_sum_ptr_type)0 ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp100, atslab_0, tmp97) ; ats_selptrset_mac(anairiats_sum_1, tmp100, atslab_1, tmp101) ; tmp95 = auxfprln_23 (arg0, tmp100, statmp11, statmp12) ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp95 = auxfprln_23 (arg0, arg1, statmp11, statmp12) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_errexp (arg0) ; break ; } while (0) ; return (tmp95) ; } /* end of [fsyndef_FPRINTLN_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 8888(line=423, offs=3) -- 9692(line=453, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__syndef_search_all (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_bool_type, tmp109) ; ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__syndef_search_all: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR) ; if (!tmp103) { goto __ats_lab_19_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_CAR_0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR) ; if (!tmp104) { goto __ats_lab_20_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_CDR_1) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL) ; if (!tmp105) { goto __ats_lab_21_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_ISNIL_2) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS) ; if (!tmp106) { goto __ats_lab_22_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_ISCONS_3) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST) ; if (!tmp107) { goto __ats_lab_23_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_ISLIST_4) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TUPZ) ; if (!tmp108) { goto __ats_lab_24_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_TUPZ_19) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp5) ; if (!tmp109) { goto __ats_lab_25_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_PRINT_24) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp7) ; if (!tmp110) { goto __ats_lab_26_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_PRINTLN_25) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp8) ; if (!tmp111) { goto __ats_lab_27_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_PRERR_26) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp10) ; if (!tmp112) { goto __ats_lab_28_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_PRERRLN_27) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp11) ; if (!tmp113) { goto __ats_lab_29_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_FPRINT_28) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg0, statmp13) ; if (!tmp114) { goto __ats_lab_30_1 ; } tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, &fsyndef_FPRINTLN_29) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: __ats_lab_30_1: tmp102 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__syndef_search_all] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61997(line=2223, offs=7) -- 62162(line=2225, offs=74) */ ATSstaticdec() ats_ptr_type loop_34 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_loop_34: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp127 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_0, tmp125) ; ats_selptrset_mac(anairiats_sum_1, tmp127, atslab_1, arg1) ; arg0 = tmp126 ; arg1 = tmp127 ; goto __ats_lab_loop_34 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp124 = arg1 ; break ; } while (0) ; return (tmp124) ; } /* end of [loop_34] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 61976(line=2222, offs=25) -- 62297(line=2231, offs=4) */ ATSstaticdec() ats_ptr_type list_reverse_append2_vt_01435_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_list_reverse_append2_vt_01435_ats_ptr_type: tmp123 = loop_34 (arg0, arg1) ; return (tmp123) ; } /* end of [list_reverse_append2_vt_01435_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 62382(line=2236, offs=14) -- 62438(line=2237, offs=50) */ ATSstaticdec() ats_ptr_type list_reverse_01436_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab_list_reverse_01436_ats_ptr_type: tmp128 = (ats_sum_ptr_type)0 ; tmp122 = list_reverse_append2_vt_01435_ats_ptr_type (arg0, tmp128) ; return (tmp122) ; } /* end of [list_reverse_01436_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_syndef.dats: 9801(line=461, offs=3) -- 10165(line=474, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d1exp_syndef_resolve (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d1exp_syndef_resolve: tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_d1exp_node) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp116)->tag != 2) { goto __ats_lab_36_0 ; } __ats_lab_31_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_5, tmp116, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp116, atslab_1) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__syndef_search_all (tmp117) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (tmp119 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_4, tmp119, atslab_0) ; ATS_FREE(tmp119) ; tmp121 = list_reverse_01436_ats_ptr_type (tmp118) ; tmp115 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))tmp120) (arg0, ats_castfn_mac(ats_ptr_type, tmp121)) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (tmp119 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp115 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp115 = arg1 ; break ; } while (0) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d1exp_syndef_resolve] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_syndef_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp5, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp6, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp8, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp9, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("print")) ; statmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("print_newline")) ; statmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("println")) ; statmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("prerr")) ; statmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("prerr_newline")) ; statmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("prerrln")) ; statmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("fprint")) ; statmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("fprint_newline")) ; statmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("fprintln")) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans1_syndef_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_env_sats.c0000664000175000017500000000743412655455557020711 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans2_env_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_hidynexp_print_dats.c0000664000175000017500000041357012655455557021657 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_hilab_loc ; ats_ptr_type atslab_hilab_node ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_16 ; typedef struct { ats_ptr_type atslab_higmat_loc ; ats_ptr_type atslab_higmat_exp ; ats_ptr_type atslab_higmat_pat ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_hiclau_loc ; ats_ptr_type atslab_hiclau_pat ; ats_ptr_type atslab_hiclau_gua ; ats_int_type atslab_hiclau_seq ; ats_int_type atslab_hiclau_neg ; ats_ptr_type atslab_hiclau_body ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_hiimpdec_loc ; ats_int_type atslab_hiimpdec_knd ; ats_ptr_type atslab_hiimpdec_cst ; ats_ptr_type atslab_hiimpdec_imparg ; ats_ptr_type atslab_hiimpdec_tmparg ; ats_ptr_type atslab_hiimpdec_def ; ats_ptr_type atslab_hiimpdec_funlab ; ats_ptr_type atslab_hiimpdec_instrlst ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_hifundec_loc ; ats_ptr_type atslab_hifundec_var ; ats_ptr_type atslab_hifundec_imparg ; ats_ptr_type atslab_hifundec_def ; ats_ptr_type atslab_hifundec_hidecl ; ats_ptr_type atslab_hifundec_funlab ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_hivaldec_loc ; ats_ptr_type atslab_hivaldec_pat ; ats_ptr_type atslab_hivaldec_def ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_hivardec_loc ; ats_int_type atslab_hivardec_knd ; ats_ptr_type atslab_hivardec_dvar_ptr ; ats_ptr_type atslab_hivardec_dvar_view ; ats_ptr_type atslab_hivardec_type ; ats_ptr_type atslab_hivardec_init ; } anairiats_rec_24 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPerr_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HILind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtop_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEignore_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcastfn_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextfcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextmcall_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcon_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfreeat_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEapp_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEif_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEsif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcase_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElst_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselab_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofvar_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEptrofsel_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErefarg_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_var_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDExchng_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrpsz_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEarrinit_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEraise_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtempenver_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfix_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEdelay_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEldelay_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElazyeval_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloop_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEloopexn_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtrywith_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEerrexp_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDinclude_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaload_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDstaloadloc_16) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_caskind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivardec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhipat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_higmat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_hiclau) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhidexp) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 1863(line=63, offs=3) -- 4688(line=190, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; ATSlocal (ats_int_type, tmp21) ; // ATSlocal_void (tmp22) ; // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_bool_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_char_type, tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; ATSlocal (ats_int_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_hipat_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("HIPany(")) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp2) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("HIPvar(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp5) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_1) ; tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_2) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_3) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst("HIPcon(")) ; /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp8) ; /* tmp13 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp14 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp9) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst (arg0, tmp10) ; /* tmp17 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("HIPcon_any(")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp18) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp1, atslab_0) ; /* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("HIPint(")) ; /* tmp23 = */ atspre_fprint_int (arg0, tmp21) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("HIPintrep(")) ; /* tmp26 = */ atspre_fprint_string (arg0, tmp24) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ; /* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("HIPbool(")) ; /* tmp29 = */ atspre_fprint_bool (arg0, tmp27) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_6, tmp1, atslab_0) ; /* tmp31 = */ atspre_fprint_string (arg0, ATSstrcst("HIPchar(")) ; /* tmp32 = */ atspre_fprint_char (arg0, tmp30) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("HIPstring(")) ; /* tmp35 = */ atspre_fprint_string (arg0, tmp33) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp37 = */ atspre_fprint_string (arg0, ATSstrcst("HIPfloat(")) ; /* tmp38 = */ atspre_fprint_string (arg0, tmp36) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst("HIPi0nt(")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp39) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp43 = */ atspre_fprint_string (arg0, ATSstrcst("HIPf0loat(")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp42) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("HIPempty()")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_0) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_7, tmp1, atslab_1) ; /* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("HIPrec(")) ; /* tmp48 = */ atspre_fprintf_exn (arg0, ATSstrcst("knd= %i"), tmp45) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst (arg0, tmp46) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("HIPrefas(")) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp51) ; /* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp52) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp1)->tag != 15) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ; tmp58 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ; /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("HIPann(")) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp57) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp58) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)tmp1)->tag != 16) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("HIPerr()")) ; break ; } while (0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 4737(line=193, offs=13) -- 4771(line=193, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (stdout, arg0) ; return /* (tmp63) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hipat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 4794(line=195, offs=13) -- 4828(line=195, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hipat (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hipat: /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (stderr, arg0) ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hipat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_bool_type, tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab_aux_5: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp71 = atspre_gt_int_int (arg1, 0) ; if (tmp71) { /* tmp70 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp72 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp68) ; tmp73 = atspre_add_int_int (arg1, 1) ; arg0 = tmp69 ; arg1 = tmp73 ; goto __ats_lab_aux_5 ; // tail call break ; } while (0) ; return /* (tmp67) */ ; } /* end of [aux_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_5_closure_type ; ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ; aux_5_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01694_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp66) ; __ats_lab_fprintlst_01694_ats_ptr_type: /* tmp66 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp66) */ ; } /* end of [fprintlst_01694_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 4858(line=199, offs=3) -- 4913(line=199, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst: /* tmp65 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat) ; return /* (tmp65) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 5023(line=206, offs=3) -- 5177(line=212, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhipat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhipat: tmp75 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp75) ; /* tmp78 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp76) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhipat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 5238(line=216, offs=3) -- 5298(line=216, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst: /* tmp79 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhipat) ; return /* (tmp79) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhipatlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 5377(line=223, offs=3) -- 5768(line=239, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilab: tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_hilab_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp81)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_1, tmp81, atslab_0) ; /* tmp83 = */ atspre_fprint_string (arg0, ATSstrcst("HILlab(")) ; /* tmp84 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp82) ; /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)tmp81)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_1, tmp81, atslab_0) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst("HILind(")) ; /* tmp87 = */ fprintlst_01694_ats_ptr_type (arg0, tmp85, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp) ; /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp80) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 5823(line=243, offs=3) -- 5878(line=243, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst: /* tmp88 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilab) ; return /* (tmp88) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 6073(line=257, offs=3) -- 17211(line=738, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_int_type, tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; // ATSlocal_void (tmp102) ; ATSlocal (ats_bool_type, tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp105) ; ATSlocal (ats_char_type, tmp106) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp127) ; // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp129) ; // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; // ATSlocal_void (tmp132) ; // ATSlocal_void (tmp133) ; // ATSlocal_void (tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; // ATSlocal_void (tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; // ATSlocal_void (tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp167) ; // ATSlocal_void (tmp168) ; // ATSlocal_void (tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; // ATSlocal_void (tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; // ATSlocal_void (tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; // ATSlocal_void (tmp228) ; // ATSlocal_void (tmp229) ; // ATSlocal_void (tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; // ATSlocal_void (tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; // ATSlocal_void (tmp269) ; // ATSlocal_void (tmp270) ; // ATSlocal_void (tmp271) ; // ATSlocal_void (tmp272) ; // ATSlocal_void (tmp273) ; // ATSlocal_void (tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; // ATSlocal_void (tmp283) ; // ATSlocal_void (tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; // ATSlocal_void (tmp289) ; // ATSlocal_void (tmp290) ; // ATSlocal_void (tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; // ATSlocal_void (tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; // ATSlocal_void (tmp315) ; // ATSlocal_void (tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; // ATSlocal_void (tmp330) ; // ATSlocal_void (tmp331) ; // ATSlocal_void (tmp332) ; // ATSlocal_void (tmp333) ; // ATSlocal_void (tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; // ATSlocal_void (tmp348) ; // ATSlocal_void (tmp349) ; // ATSlocal_void (tmp350) ; // ATSlocal_void (tmp351) ; // ATSlocal_void (tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_int_type, tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; // ATSlocal_void (tmp360) ; // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; // ATSlocal_void (tmp365) ; // ATSlocal_void (tmp366) ; // ATSlocal_void (tmp367) ; // ATSlocal_void (tmp368) ; // ATSlocal_void (tmp369) ; // ATSlocal_void (tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; // ATSlocal_void (tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; // ATSlocal_void (tmp375) ; // ATSlocal_void (tmp376) ; ATSlocal (ats_int_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; // ATSlocal_void (tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; // ATSlocal_void (tmp385) ; ATSlocal (ats_int_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; // ATSlocal_void (tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; // ATSlocal_void (tmp400) ; // ATSlocal_void (tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; ATSlocal (ats_int_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; // ATSlocal_void (tmp406) ; // ATSlocal_void (tmp407) ; // ATSlocal_void (tmp408) ; // ATSlocal_void (tmp409) ; ATSlocal (ats_int_type, tmp410) ; // ATSlocal_void (tmp411) ; // ATSlocal_void (tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; // ATSlocal_void (tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp: tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_hidexp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp90)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp92 = */ atspre_fprint_string (arg0, ATSstrcst("HDEcst(")) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp91) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp90)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp95 = */ atspre_fprint_string (arg0, ATSstrcst("HDEvar(")) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp94) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp90)->tag != 2) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_4, tmp90, atslab_0) ; /* tmp98 = */ atspre_fprint_string (arg0, ATSstrcst("HDEint(")) ; /* tmp99 = */ atspre_fprint_int (arg0, tmp97) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp90)->tag != 3) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp101 = */ atspre_fprint_string (arg0, ATSstrcst("HDEintrep(")) ; /* tmp102 = */ atspre_fprint_string (arg0, tmp100) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp90)->tag != 4) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_5, tmp90, atslab_0) ; /* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("HDEbool(")) ; /* tmp105 = */ atspre_fprint_bool (arg0, tmp103) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp90)->tag != 5) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_6, tmp90, atslab_0) ; /* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("HDEchar(")) ; /* tmp108 = */ atspre_fprint_char (arg0, tmp106) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp90)->tag != 6) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp110 = */ atspre_fprint_string (arg0, ATSstrcst("HDEfloat(")) ; /* tmp111 = */ atspre_fprint_string (arg0, tmp109) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp90)->tag != 7) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp113 = */ atspre_fprint_string (arg0, ATSstrcst("HDEstring(")) ; /* tmp114 = */ atspre_fprint_string (arg0, tmp112) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp90)->tag != 8) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp116 = */ atspre_fprint_string (arg0, ATSstrcst("HDEi0nt(")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp115) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp90)->tag != 9) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp119 = */ atspre_fprint_string (arg0, ATSstrcst("HDEf0loat(")) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp118) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp90)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp121 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_cstsp (arg0, tmp121) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp90)->tag != 11) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("HDEtop()")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp90)->tag != 12) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("HDEempty()")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp90)->tag != 13) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp123 = */ atspre_fprint_string (arg0, ATSstrcst("HDEignore(")) ; /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp122) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp90)->tag != 14) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp127 = */ atspre_fprint_string (arg0, ATSstrcst("HDEcastfn(")) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp125) ; /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp130 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp126) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp90)->tag != 15) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp132 = */ atspre_fprint_string (arg0, ATSstrcst("HDEextval(")) ; /* tmp133 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp134 = */ atspre_fprint_string (arg0, tmp131) ; /* tmp135 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp90)->tag != 16) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp137 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp138 = */ atspre_fprint_string (arg0, ATSstrcst("HDEextfcall(")) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp140 = */ atspre_fprint_string (arg0, tmp136) ; /* tmp141 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp137) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp90)->tag != 17) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp146 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp147 = */ atspre_fprint_string (arg0, ATSstrcst("HDEextmcall(")) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp144) ; /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp150 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp151 = */ atspre_fprint_string (arg0, tmp145) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp153 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp146) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp90)->tag != 18) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("HDEcon(")) ; /* tmp159 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp155) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp156) ; /* tmp162 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst (arg0, tmp157) ; /* tmp164 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp90)->tag != 19) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp167 = */ atspre_fprint_string (arg0, ATSstrcst("HDEtmpcst(")) ; /* tmp168 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp165) ; /* tmp169 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp166) ; /* tmp171 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp90)->tag != 20) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp174 = */ atspre_fprint_string (arg0, ATSstrcst("HDEtmpvar(")) ; /* tmp175 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp172) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ; /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp173) ; /* tmp178 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp90)->tag != 21) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("HDEfoldat()")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp90)->tag != 22) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("HDEfreeat(")) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp179) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp90)->tag != 23) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp182 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("HDElet(\n")) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist (arg0, tmp182) ; /* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst("**in**\n")) ; /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp183) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp90)->tag != 24) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp191 = */ atspre_fprint_string (arg0, ATSstrcst("HDEapp(")) ; /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp188) ; /* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp189) ; /* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp196 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp190) ; /* tmp197 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp90)->tag != 25) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp199 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp200 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp201 = */ atspre_fprint_string (arg0, ATSstrcst("HDEif(")) ; /* tmp202 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp198) ; /* tmp203 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp199) ; /* tmp205 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp200) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp90)->tag != 26) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp208 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp209 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp210 = */ atspre_fprint_string (arg0, ATSstrcst("HDEsif(")) ; /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp207) ; /* tmp212 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp208) ; /* tmp214 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp209) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp90)->tag != 27) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp219 = */ atspre_fprint_string (arg0, ATSstrcst("HDEcase(\n")) ; /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_caskind (arg0, tmp216) ; /* tmp221 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp217) ; /* tmp223 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp224 = */ fprintlst_01694_ats_ptr_type (arg0, tmp218, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_hiclau) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp90)->tag != 28) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_0) ; tmp226 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_1) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_2) ; /* tmp228 = */ atspre_fprint_string (arg0, ATSstrcst("HDElst(")) ; /* tmp229 = */ atspre_fprintf_exn (arg0, ATSstrcst("lin= %i"), tmp225) ; /* tmp230 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp231 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp226) ; /* tmp232 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp233 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp227) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp90)->tag != 29) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp234 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_0) ; tmp235 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_1) ; /* tmp236 = */ atspre_fprint_string (arg0, ATSstrcst("HDErec(")) ; /* tmp237 = */ atspre_fprintf_exn (arg0, ATSstrcst("knd= %i"), tmp234) ; /* tmp238 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp239 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst (arg0, tmp235) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp90)->tag != 30) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp241 = */ atspre_fprint_string (arg0, ATSstrcst("HDEseq(")) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp240) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp90)->tag != 31) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp244 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp246 = */ atspre_fprint_string (arg0, ATSstrcst("HDEselab(")) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp243) ; /* tmp248 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp244) ; /* tmp250 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp245) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp90)->tag != 32) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp253 = */ atspre_fprint_string (arg0, ATSstrcst("HDEptrofvar(")) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp252) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp90)->tag != 33) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp256 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp257 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp258 = */ atspre_fprint_string (arg0, ATSstrcst("HDEptrofsel(")) ; /* tmp259 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp255) ; /* tmp260 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp256) ; /* tmp262 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp263 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp257) ; /* tmp265 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp90)->tag != 34) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp266 = ats_caselptrlab_mac(anairiats_sum_12, tmp90, atslab_0) ; tmp267 = ats_caselptrlab_mac(anairiats_sum_12, tmp90, atslab_1) ; tmp268 = ats_caselptrlab_mac(anairiats_sum_12, tmp90, atslab_2) ; /* tmp269 = */ atspre_fprint_string (arg0, ATSstrcst("HDErefarg(")) ; /* tmp270 = */ atspre_fprint_int (arg0, tmp266) ; /* tmp271 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp272 = */ atspre_fprint_int (arg0, tmp267) ; /* tmp273 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp274 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp268) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp90)->tag != 35) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp277 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst("HDEselvar(")) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp275) ; /* tmp280 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp276) ; /* tmp282 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp283 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp277) ; /* tmp285 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp90)->tag != 36) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_1) ; tmp288 = ats_caselptrlab_mac(anairiats_sum_11, tmp90, atslab_2) ; /* tmp289 = */ atspre_fprint_string (arg0, ATSstrcst("HDEselptr(")) ; /* tmp290 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp286) ; /* tmp291 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp287) ; /* tmp293 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp288) ; /* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp90)->tag != 37) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_0) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_1) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_2) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_3) ; /* tmp301 = */ atspre_fprint_string (arg0, ATSstrcst("HDEassgn_var(")) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp297) ; /* tmp303 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp298) ; /* tmp305 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp306 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp299) ; /* tmp308 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp309 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp300) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp90)->tag != 38) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp311 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_0) ; tmp312 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_1) ; tmp313 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_2) ; tmp314 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_3) ; /* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst("HDEassgn_ptr(")) ; /* tmp316 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp311) ; /* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp318 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp312) ; /* tmp319 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp320 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp321 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp313) ; /* tmp322 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp323 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp314) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp90)->tag != 39) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_0) ; tmp326 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_1) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_2) ; tmp328 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_3) ; /* tmp329 = */ atspre_fprint_string (arg0, ATSstrcst("HDExchng_var(")) ; /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp325) ; /* tmp331 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp326) ; /* tmp333 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp335 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp327) ; /* tmp336 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp337 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp328) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp90)->tag != 40) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_1) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_2) ; tmp342 = ats_caselptrlab_mac(anairiats_sum_2, tmp90, atslab_3) ; /* tmp343 = */ atspre_fprint_string (arg0, ATSstrcst("HDExchng_ptr(")) ; /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp339) ; /* tmp345 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp340) ; /* tmp347 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp348 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hilablst (arg0, tmp341) ; /* tmp350 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp351 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ; /* tmp352 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp342) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp90)->tag != 41) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp353 = ats_caselptrlab_mac(anairiats_sum_13, tmp90, atslab_0) ; tmp354 = ats_caselptrlab_mac(anairiats_sum_13, tmp90, atslab_1) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_13, tmp90, atslab_2) ; /* tmp356 = */ atspre_fprint_string (arg0, ATSstrcst("HDEarrpsz(")) ; /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp353) ; /* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp354) ; /* tmp360 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp361 = */ atspre_fprint_int (arg0, tmp355) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp90)->tag != 42) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp362 = ats_caselptrlab_mac(anairiats_sum_14, tmp90, atslab_0) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_14, tmp90, atslab_1) ; tmp364 = ats_caselptrlab_mac(anairiats_sum_14, tmp90, atslab_2) ; /* tmp365 = */ atspre_fprint_string (arg0, ATSstrcst("HDEarrinit(")) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp362) ; /* tmp367 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp368 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp363) ; /* tmp369 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (arg0, tmp364) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp90)->tag != 43) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp371 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst("HDEraise(")) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp371) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp90)->tag != 44) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp374 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp375 = */ atspre_fprint_string (arg0, ATSstrcst("HDEtempenver(")) ; /* tmp376 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp374) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp90)->tag != 45) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp377 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_0) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_1) ; tmp379 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_2) ; /* tmp380 = */ atspre_fprint_string (arg0, ATSstrcst("HDElam(")) ; /* tmp381 = */ atspre_fprint_int (arg0, tmp377) ; /* tmp382 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst (arg0, tmp378) ; /* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp379) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp90)->tag != 46) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_0) ; tmp387 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_1) ; tmp388 = ats_caselptrlab_mac(anairiats_sum_7, tmp90, atslab_2) ; /* tmp389 = */ atspre_fprint_string (arg0, ATSstrcst("HDEfix(")) ; /* tmp390 = */ atspre_fprint_int (arg0, tmp386) ; /* tmp391 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp392 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp387) ; /* tmp393 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp388) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp90)->tag != 47) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp395 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp396 = */ atspre_fprint_string (arg0, ATSstrcst("HDEdelay(")) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp395) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp90)->tag != 48) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp398 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; tmp399 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_1) ; /* tmp400 = */ atspre_fprint_string (arg0, ATSstrcst("HDEldelay(")) ; /* tmp401 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp398) ; /* tmp402 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp403 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp399) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp90)->tag != 49) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp404 = ats_caselptrlab_mac(anairiats_sum_15, tmp90, atslab_0) ; tmp405 = ats_caselptrlab_mac(anairiats_sum_15, tmp90, atslab_1) ; /* tmp406 = */ atspre_fprint_string (arg0, ATSstrcst("HDElazyeval(")) ; /* tmp407 = */ atspre_fprint_int (arg0, tmp404) ; /* tmp408 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp409 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp405) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp90)->tag != 50) { goto __ats_lab_72_0 ; } __ats_lab_71_1: /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("HDEloop(...)")) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp90)->tag != 51) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp410 = ats_caselptrlab_mac(anairiats_sum_4, tmp90, atslab_0) ; /* tmp411 = */ atspre_fprint_string (arg0, ATSstrcst("HDEloopexn(")) ; /* tmp412 = */ atspre_fprint_int (arg0, tmp410) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp90)->tag != 52) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_3, tmp90, atslab_0) ; /* tmp414 = */ atspre_fprint_string (arg0, ATSstrcst("HDEtrywith(")) ; /* tmp415 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp413) ; /* tmp416 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp417 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ; /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (((ats_sum_ptr_type)tmp90)->tag != 53) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: /* tmp89 = */ atspre_fprint_string (arg0, ATSstrcst("HDEerrexp()")) ; break ; } while (0) ; return /* (tmp89) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17262(line=741, offs=14) -- 17297(line=741, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp418) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp: /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (stdout, arg0) ; return /* (tmp418) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17321(line=743, offs=14) -- 17356(line=743, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp419) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidexp: /* tmp419 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (stderr, arg0) ; return /* (tmp419) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17387(line=747, offs=3) -- 17443(line=747, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp420) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst: /* tmp420 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp) ; return /* (tmp420) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11429(line=566, offs=1) -- 11696(line=579, offs=8) */ ATSstaticdec() ats_void_type fprintopt_01695_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; // ATSlocal_void (tmp424) ; // ATSlocal_void (tmp425) ; __ats_lab_fprintopt_01695_ats_ptr_type: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp422 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ; /* tmp424 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp425 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (arg0, tmp423) ; /* tmp422 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp422) */ ; } /* end of [fprintopt_01695_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17503(line=752, offs=3) -- 17555(line=752, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexpopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp421) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexpopt: /* tmp421 = */ fprintopt_01695_ats_ptr_type (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp) ; return /* (tmp421) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexpopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17690(line=761, offs=3) -- 17846(line=767, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhidexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; // ATSlocal_void (tmp429) ; // ATSlocal_void (tmp430) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhidexp: tmp427 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp428 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp429 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp427) ; /* tmp430 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp426 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp428) ; return /* (tmp426) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhidexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 17909(line=771, offs=3) -- 17970(line=771, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp431) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst: /* tmp431 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_labhidexp) ; return /* (tmp431) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_labhidexplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 18049(line=777, offs=15) -- 18282(line=783, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_higmat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp432) ; // ATSlocal_void (tmp433) ; // ATSlocal_void (tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_higmat: /* tmp433 = */ atspre_fprint_string (arg0, ATSstrcst("HIGMAT(")) ; tmp435 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_higmat_exp) ; /* tmp434 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp435) ; /* tmp436 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; tmp438 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg1), atslab_higmat_pat) ; /* tmp437 = */ fprintopt_01695_ats_ptr_type (arg0, tmp438, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat) ; /* tmp432 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp432) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_higmat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 18355(line=788, offs=15) -- 18579(line=794, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_hiclau (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; // ATSlocal_void (tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; // ATSlocal_void (tmp443) ; // ATSlocal_void (tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_hiclau: /* tmp440 = */ atspre_fprint_string (arg0, ATSstrcst("HICLAU(")) ; tmp442 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_hiclau_pat) ; /* tmp441 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipatlst (arg0, tmp442) ; /* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst(" => ")) ; tmp445 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_hiclau_body) ; /* tmp444 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp445) ; /* tmp439 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp439) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__fprint_hiclau] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 18655(line=800, offs=3) -- 18694(line=800, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp446) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidecl: /* tmp446 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl (stdout, arg0) ; return /* (tmp446) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__print_hidecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 18720(line=803, offs=3) -- 18759(line=803, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidecl (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp447) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidecl: /* tmp447 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl (stderr, arg0) ; return /* (tmp447) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hidecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 18789(line=807, offs=3) -- 21467(line=919, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; ATSlocal (ats_int_type, tmp453) ; ATSlocal (ats_int_type, tmp454) ; // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; ATSlocal (ats_int_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; // ATSlocal_void (tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; // ATSlocal_void (tmp464) ; // ATSlocal_void (tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; ATSlocal (ats_ptr_type, tmp467) ; // ATSlocal_void (tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; // ATSlocal_void (tmp473) ; // ATSlocal_void (tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; // ATSlocal_void (tmp479) ; // ATSlocal_void (tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; ATSlocal (ats_int_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; // ATSlocal_void (tmp489) ; // ATSlocal_void (tmp490) ; // ATSlocal_void (tmp491) ; // ATSlocal_void (tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; // ATSlocal_void (tmp494) ; // ATSlocal_void (tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; // ATSlocal_void (tmp498) ; // ATSlocal_void (tmp499) ; // ATSlocal_void (tmp500) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl: tmp449 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg1), atslab_hidecl_node) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp449)->tag != 0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("HIDnone()")) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp449)->tag != 1) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp450 = ats_caselptrlab_mac(anairiats_sum_1, tmp449, atslab_0) ; /* tmp451 = */ atspre_fprint_string (arg0, ATSstrcst("HIDlist(\n")) ; /* tmp452 = */ fprintlst_01694_ats_ptr_type (arg0, tmp450, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp449)->tag != 5) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp453 = ats_caselptrlab_mac(anairiats_sum_12, tmp449, atslab_0) ; tmp454 = ats_caselptrlab_mac(anairiats_sum_12, tmp449, atslab_1) ; /* tmp455 = */ atspre_fprint_string (arg0, ATSstrcst("HIDextcode(")) ; /* tmp456 = */ atspre_fprintf_exn (arg0, ATSstrcst("knd=%i, pos=%i, code=..."), tmp453, tmp454) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp449)->tag != 7) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp457 = ats_caselptrlab_mac(anairiats_sum_15, tmp449, atslab_0) ; tmp458 = ats_caselptrlab_mac(anairiats_sum_15, tmp449, atslab_1) ; /* tmp459 = */ atspre_fprint_string (arg0, ATSstrcst("HIDdatdecs(")) ; /* tmp460 = */ atspre_fprint_int (arg0, tmp457) ; /* tmp461 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp462 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp458) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp449)->tag != 6) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp463 = ats_caselptrlab_mac(anairiats_sum_1, tmp449, atslab_0) ; /* tmp464 = */ atspre_fprint_string (arg0, ATSstrcst("HIDexndecs(")) ; /* tmp465 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (arg0, tmp463) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp449)->tag != 8) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp466 = ats_caselptrlab_mac(anairiats_sum_3, tmp449, atslab_0) ; tmp467 = ats_caselptrlab_mac(anairiats_sum_3, tmp449, atslab_1) ; /* tmp468 = */ atspre_fprint_string (arg0, ATSstrcst("HIDdcstdecs(")) ; /* tmp469 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__fprint_dcstkind (arg0, tmp466) ; /* tmp470 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp471 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cstlst (arg0, tmp467) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp449)->tag != 10) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp472 = ats_caselptrlab_mac(anairiats_sum_11, tmp449, atslab_2) ; /* tmp473 = */ atspre_fprint_string (arg0, ATSstrcst("HIDfundecs(\n")) ; /* tmp474 = */ fprintlst_01694_ats_ptr_type (arg0, tmp472, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp449)->tag != 11) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp475 = ats_caselptrlab_mac(anairiats_sum_3, tmp449, atslab_1) ; /* tmp476 = */ atspre_fprint_string (arg0, ATSstrcst("HIDvaldecs(\n")) ; /* tmp477 = */ fprintlst_01694_ats_ptr_type (arg0, tmp475, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp449)->tag != 12) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp478 = ats_caselptrlab_mac(anairiats_sum_3, tmp449, atslab_1) ; /* tmp479 = */ atspre_fprint_string (arg0, ATSstrcst("HIDvaldecs_rec(\n")) ; /* tmp480 = */ fprintlst_01694_ats_ptr_type (arg0, tmp478, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp449)->tag != 13) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_1, tmp449, atslab_0) ; /* tmp482 = */ atspre_fprint_string (arg0, ATSstrcst("HIDvardecs(\n")) ; /* tmp483 = */ fprintlst_01694_ats_ptr_type (arg0, tmp481, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivardec) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp449)->tag != 9) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp484 = ats_caselptrlab_mac(anairiats_sum_15, tmp449, atslab_1) ; /* tmp485 = */ atspre_fprint_string (arg0, ATSstrcst("HIDimpdec(\n")) ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec (arg0, tmp484) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp449)->tag != 14) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp487 = ats_caselptrlab_mac(anairiats_sum_15, tmp449, atslab_0) ; tmp488 = ats_caselptrlab_mac(anairiats_sum_15, tmp449, atslab_1) ; /* tmp489 = */ atspre_fprint_string (arg0, ATSstrcst("HIDinclude(")) ; /* tmp490 = */ atspre_fprint_int (arg0, tmp487) ; /* tmp491 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ; /* tmp492 = */ fprintlst_01694_ats_ptr_type (arg0, tmp488, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("\n)")) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp449)->tag != 15) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_20, tmp449, atslab_1) ; /* tmp494 = */ atspre_fprint_string (arg0, ATSstrcst("HIDstaload(")) ; /* tmp495 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp493) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp449)->tag != 16) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp496 = ats_caselptrlab_mac(anairiats_sum_11, tmp449, atslab_0) ; tmp497 = ats_caselptrlab_mac(anairiats_sum_11, tmp449, atslab_1) ; /* tmp498 = */ atspre_fprint_string (arg0, ATSstrcst("HIDstaloadloc(")) ; /* tmp499 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp496) ; /* tmp500 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp497) ; /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: /* tmp448 = */ atspre_fprint_string (arg0, ATSstrcst("HID...(...)")) ; break ; } while (0) ; return /* (tmp448) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 21547(line=925, offs=3) -- 21790(line=939, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist: do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp502 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp503 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; /* tmp504 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidecl (arg0, tmp502) ; /* tmp505 = */ atspre_fprint_newline (arg0) ; arg0 = arg0 ; arg1 = tmp503 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist ; // tail call break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_93_1: break ; } while (0) ; return /* (tmp501) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hideclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 21870(line=945, offs=3) -- 22033(line=949, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; // ATSlocal_void (tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec: tmp508 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_hiimpdec_cst) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp508) ; /* tmp509 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp510 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_hiimpdec_def) ; /* tmp506 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp510) ; return /* (tmp506) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hiimpdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 22112(line=955, offs=3) -- 22263(line=959, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp511) ; // ATSlocal_void (tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; // ATSlocal_void (tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec: tmp513 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_hifundec_var) ; /* tmp512 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp513) ; /* tmp514 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp515 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg1), atslab_hifundec_def) ; /* tmp511 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp515) ; return /* (tmp511) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hifundec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 22321(line=963, offs=3) -- 22472(line=967, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp516) ; // ATSlocal_void (tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; // ATSlocal_void (tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec: tmp518 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_hivaldec_pat) ; /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp518) ; /* tmp519 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp520 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_hivaldec_def) ; /* tmp516 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp (arg0, tmp520) ; return /* (tmp516) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivaldec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_print.dats: 22530(line=971, offs=3) -- 22827(line=980, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivardec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; // ATSlocal_void (tmp524) ; // ATSlocal_void (tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; // ATSlocal_void (tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivardec: tmp523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_hivardec_dvar_ptr) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp523) ; /* tmp524 = */ atspre_fprint_string (arg0, ATSstrcst(" : ")) ; tmp526 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_hivardec_type) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp526) ; /* tmp527 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ; tmp528 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_hivardec_init) ; /* tmp521 = */ fprintopt_01695_ats_ptr_type (arg0, tmp528, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hidexp) ; return /* (tmp521) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__fprint_hivardec] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_print_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_hidynexp_print_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_jsonize_sats.c0000664000175000017500000001034112655455557020300 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONnul_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONint_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONintinf_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONbool_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfloat_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONstring_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlocation_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfilename_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlist_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlablist_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONoption_10) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONnul_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONint_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONintinf_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONbool_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfloat_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONstring_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlocation_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfilename_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlist_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlablist_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONoption_10.tag = 10 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_jsonize_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_errmsg_sats.c0000664000175000017500000000240012655455557020113 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_errmsg_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_sort_dats.c0000664000175000017500000014535512655455557021330 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BAR_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TYPE_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtid_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0rt_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0marg_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT2_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_symdot) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_qid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_list) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtcon_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_one) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_many) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0msrt_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_DOT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0srt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type p_s0rtseq_vt_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_5 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_atms0rt_tok_3 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_atms0rt_6 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_s0marg_tok_12 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_d0atsrtcon_16 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 1951(line=70, offs=3) -- 2736(line=104, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_int_type, tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1), atslab_token_loc) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp1), atslab_token_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 139) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp2, tmp4) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp3)->tag != 140) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp2, tmp6) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp3)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp2, ATSstrcst("\\")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp3)->tag != 27) { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp2, ATSstrcst("->")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp10 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp10 ; tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0rtid_44) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp2, tmp12) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 2806(line=110, offs=9) -- 3047(line=119, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtq: tmp14 = ats_ptrget_mac(ats_int_type, arg2) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq2_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_DOT) ; // tmp16 = ats_caselptrlab_mac(anairiats_sum_3, tmp15, atslab_0) ; tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp15, atslab_1) ; ATS_FREE(tmp15) ; tmp18 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp14) ; if (tmp18) { tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_symdot (tmp16, tmp17) ; } else { tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 3094(line=124, offs=1) -- 3210(line=129, offs=44) */ ATSstaticdec() ats_ptr_type p_s0rtseq_vt_2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; __ats_lab_p_s0rtseq_vt_2: tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) ; return (tmp19) ; } /* end of [p_s0rtseq_vt_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_loop_5: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp37 ; goto __ats_lab_loop_5 ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: break ; } while (0) ; return /* (tmp36) */ ; } /* end of [loop_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp35) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp35 = */ loop_5 (arg0) ; return /* (tmp35) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 3438(line=146, offs=1) -- 4665(line=199, offs=4) */ ATSstaticdec() ats_ptr_type p_atms0rt_tok_3 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; // ATSlocal_void (tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_int_type, tmp38) ; __ats_lab_p_atms0rt_tok_3: tmp21 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp22 ; */ tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid, (&tmp22)) ; if (!tmp24) { goto __ats_lab_6_0 ; } tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_i0de (ats_castfn_mac(ats_ptr_type, tmp22)) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp23)->tag != 78) { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp25 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_type (arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtq, (&tmp22)) ; if (!tmp26) { goto __ats_lab_8_0 ; } tmp27 = ats_castfn_mac(ats_ptr_type, tmp22) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rtid (arg0, 0, arg2) ; tmp29 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp21) ; if (tmp29) { tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_qid (tmp27, tmp28) ; } else { tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp23)->tag != 153) { goto __ats_lab_11_0 ; } __ats_lab_8_1: /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp31 = p_s0rtseq_vt_2 (arg0, 0, arg2) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp33 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp21) ; if (tmp33) { tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_list (arg3, ats_castfn_mac(ats_ptr_type, tmp31), tmp32) ; } else { /* tmp34 = */ list_vt_free_01499_ats_ptr_type (tmp31) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp38 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp38 ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp20) ; } /* end of [p_atms0rt_tok_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 4697(line=202, offs=1) -- 4811(line=205, offs=57) */ ATSstaticdec() ats_ptr_type p_atms0rt_6 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab_p_atms0rt_6: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atms0rt_62) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_atms0rt_tok_3, tmp40) ; return (tmp39) ; } /* end of [p_atms0rt_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 4975(line=217, offs=7) -- 5198(line=224, offs=28) */ ATSstaticdec() ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_loop_8: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rt_app (arg0, tmp44) ; arg0 = tmp46 ; arg1 = tmp45 ; goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp43 = arg0 ; break ; } while (0) ; return (tmp43) ; } /* end of [loop_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 4900(line=215, offs=8) -- 5339(line=232, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar1_fun (arg0, arg1, arg2, &p_atms0rt_6) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp42 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_3, tmp42, atslab_0) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp42, atslab_1) ; ATS_FREE(tmp42) ; tmp41 = loop_8 (tmp47, tmp48) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp42 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 5405(line=238, offs=3) -- 5464(line=239, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0rtopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0rtopt: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_OF, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) ; tmp49 = ats_castfn_mac(ats_ptr_type, tmp50) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0rtopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 5518(line=244, offs=3) -- 5580(line=245, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt: tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_COLON, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt) ; tmp51 = ats_castfn_mac(ats_ptr_type, tmp52) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 5687(line=256, offs=3) -- 6125(line=281, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_uint_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg: tmp54 = ats_ptrget_mac(ats_int_type, arg2) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp58 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp54) ; if (tmp58) { tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0rtopt (arg0, 0, arg2) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make (tmp57, tmp59) ; } else { tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp55) ; } /* end of [if] */ return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 6221(line=290, offs=1) -- 7020(line=327, offs=4) */ ATSstaticdec() ats_ptr_type p_s0marg_tok_12 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab_p_s0marg_tok_12: tmp61 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp62 ; */ tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_token_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de, (&tmp62)) ; if (!tmp64) { goto __ats_lab_17_0 ; } tmp65 = ats_castfn_mac(ats_ptr_type, tmp62) ; tmp67 = (ats_sum_ptr_type)0 ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0arg_make (tmp65, tmp67) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_one (tmp66) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp63)->tag != 153) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp71 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp61) ; if (tmp71) { tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0marg_make_many (arg3, ats_castfn_mac(ats_ptr_type, tmp69), tmp70) ; } else { /* tmp72 = */ list_vt_free_01499_ats_ptr_type (tmp69) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp73 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp73 ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp60) ; } /* end of [p_s0marg_tok_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 7066(line=330, offs=10) -- 7137(line=331, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg: tmp75 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_s0marg_63) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_s0marg_tok_12, tmp75) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0marg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 7247(line=341, offs=3) -- 8246(line=387, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0srt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_uint_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_bool_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0srt: tmp77 = ats_ptrget_mac(ats_int_type, arg2) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_set_ntok (arg0, tmp78) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp81), atslab_token_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp83)->tag != 6) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp77) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt, tmp77) ; tmp87 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp77) ; if (tmp87) { tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_some (tmp84, tmp86) ; } else { tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp78) ; } /* end of [if] */ break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0rt (arg0, arg1, arg2) ; tmp89 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp77) ; if (tmp89) { tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0srt_make_none (tmp88) ; } else { tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp78) ; } /* end of [if] */ break ; } while (0) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 8310(line=393, offs=3) -- 8933(line=418, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_uint_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; // ATSlocal_void (tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_int_type, tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt: tmp91 = ats_ptrget_mac(ats_int_type, arg2) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp93), atslab_token_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp94)->tag != 153) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0srt) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp98 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp91) ; if (tmp98) { tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__a0msrt_make (tmp93, ats_castfn_mac(ats_ptr_type, tmp96), tmp97) ; } else { /* tmp99 = */ list_vt_free_01499_ats_ptr_type (tmp96) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp92) ; } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp100 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp100 ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_a0msrt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 9022(line=427, offs=1) -- 9505(line=455, offs=4) */ ATSstaticdec() ats_ptr_type p_d0atsrtcon_16 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; ATSlocal (ats_uint_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab_p_d0atsrtcon_16: tmp102 = ats_ptrget_mac(ats_int_type, arg2) ; tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_si0de (arg0, arg1, arg2) ; tmp106 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp102) ; if (tmp106) { tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ofs0rtopt (arg0, 0, arg2) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0atsrtcon_make (tmp105, tmp107) ; } else { tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp103) ; } /* end of [if] */ return (tmp101) ; } /* end of [p_d0atsrtcon_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_sort.dats: 9581(line=461, offs=3) -- 9936(line=476, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtconseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtconseq: tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp109), atslab_token_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp110)->tag != 4) { goto __ats_lab_24_0 ; } __ats_lab_23_1: /* tmp111 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (arg0, arg1, &p_d0atsrtcon_16) ; tmp108 = ats_castfn_mac(ats_ptr_type, tmp112) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (arg0, arg1, &p_d0atsrtcon_16) ; tmp108 = ats_castfn_mac(ats_ptr_type, tmp113) ; break ; } while (0) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0atsrtconseq] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_sort_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 () ; #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_parsing_sort_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_reader_dats.c0000664000175000017500000010617012655455557020050 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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_reader.cats" #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_cloptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_int_of_uchar) (ats_uchar_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_free) (ats_ptr_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_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_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_void_type, atslib_fclose_exn) (ats_ptr_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__reader0_encode_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__reader0_decode_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__sasp__reader_vt0ype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__sasp__reader0 = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type __ats_fun_2 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_2_closure_make (ats_ptr_type env0) ; static ats_int_type __ats_fun_2_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type __ats_fun_3 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_3_closure_make (ats_ptr_type env0) ; static ats_void_type __ats_fun_3_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type reader0_initize_filp_1 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type __ats_fun_5 () ; static ats_clo_ptr_type __ats_fun_5_closure_make () ; static ats_void_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type reader0_initize_getc_4 (ats_ref_type arg0, ats_clo_ptr_type arg1) ; static ats_int_type __ats_fun_7 (ats_ptr_type env0, ats_ptr_type env1) ; static ats_clo_ptr_type __ats_fun_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_int_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type __ats_fun_8 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_8_closure_make (ats_ptr_type env0) ; static ats_void_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type reader0_initize_string_6 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type __ats_fun_10 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_10_closure_make (ats_ptr_type env0) ; static ats_int_type __ats_fun_10_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type loop_13 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_char_type (ats_ptr_type arg0) ; static ats_void_type __ats_fun_11 (ats_ptr_type env0) ; static ats_clo_ptr_type __ats_fun_11_closure_make (ats_ptr_type env0) ; static ats_void_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr) ; static ats_void_type reader0_initize_charlst_vt_9 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type reader0_uninitize_14 (ats_ref_type arg0) ; static ats_ptr_type ptr_alloc_01070_ats_size_type () ; static ats_ptr_type ptr_alloc_01070_ats_ptr_type () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 1998(line=74, offs=3) -- 2034(line=74, offs=39) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_get_char (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp0) ; ATSlocal (ats_clo_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_get_char: tmp1 = ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) ; tmp0 = ((ats_int_type(*)(ats_clo_ptr_type))(ats_closure_fun(tmp1))) (tmp1) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_get_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 2262(line=92, offs=11) -- 2330(line=93, offs=65) */ ATSstaticdec() ats_int_type __ats_fun_2 (ats_ptr_type env0) { /* local vardec */ ATSlocal (ats_int_type, tmp3) ; __ats_lab___ats_fun_2: tmp3 = atslib_fgetc_err (env0) ; return (tmp3) ; } /* end of [__ats_fun_2] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_2_closure_type ; ats_int_type __ats_fun_2_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_2 (((__ats_fun_2_closure_type*)cloptr)->closure_env_0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_2_closure_init (__ats_fun_2_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_2_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_2_closure_make (ats_ptr_type env0) { __ats_fun_2_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_2_closure_type)) ; __ats_fun_2_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 2368(line=97, offs=11) -- 2436(line=98, offs=65) */ ATSstaticdec() ats_void_type __ats_fun_3 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab___ats_fun_3: /* tmp5 = */ atslib_fclose_exn (env0) ; return /* (tmp5) */ ; } /* end of [__ats_fun_3] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_3_closure_type ; ats_void_type __ats_fun_3_clofun (ats_clo_ptr_type cloptr) { __ats_fun_3 (((__ats_fun_3_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_3_closure_init (__ats_fun_3_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_3_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_3_closure_make (ats_ptr_type env0) { __ats_fun_3_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_3_closure_type)) ; __ats_fun_3_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 2063(line=79, offs=1) -- 2553(line=105, offs=2) */ ATSstaticdec() ats_void_type reader0_initize_filp_1 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab_reader0_initize_filp_1: tmp4 = __ats_fun_2_closure_make (arg1) ; tmp6 = __ats_fun_3_closure_make (arg1) ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) = tmp4 ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) = tmp6 ; return /* (tmp2) */ ; } /* end of [reader0_initize_filp_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 2914(line=120, offs=17) -- 3003(line=122, offs=63) */ ATSstaticdec() ats_void_type __ats_fun_5 () { /* local vardec */ // ATSlocal_void (tmp8) ; __ats_lab___ats_fun_5: return /* (tmp8) */ ; } /* end of [__ats_fun_5] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_5_closure_type ; ats_void_type __ats_fun_5_clofun (ats_clo_ptr_type cloptr) { __ats_fun_5 () ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_5_closure_init (__ats_fun_5_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_5_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_5_closure_make () { __ats_fun_5_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_5_closure_type)) ; __ats_fun_5_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 2616(line=110, offs=1) -- 3102(line=126, offs=2) */ ATSstaticdec() ats_void_type reader0_initize_getc_4 (ats_ref_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab_reader0_initize_getc_4: tmp9 = __ats_fun_5_closure_make () ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) = ats_castfn_mac(ats_clo_ptr_type, arg1) ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) = tmp9 ; return /* (tmp7) */ ; } /* end of [reader0_initize_getc_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 3434(line=142, offs=17) -- 3821(line=157, offs=6) */ ATSstaticdec() ats_int_type __ats_fun_7 (ats_ptr_type env0, ats_ptr_type env1) { /* local vardec */ ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_size_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_char_type, tmp14) ; ATSlocal (ats_size_type, tmp15) ; __ats_lab___ats_fun_7: tmp12 = ats_ptrget_mac(ats_size_type, env1) ; tmp13 = atspre_string_isnot_atend (env0, tmp12) ; if (tmp13) { tmp14 = atspre_string_get_char_at (env0, tmp12) ; tmp15 = atspre_add_size1_int1 (tmp12, 1) ; ats_ptrget_mac(ats_size_type, env1) = tmp15 ; tmp11 = atspre_int_of_char (tmp14) ; } else { tmp11 = -1 ; } /* end of [if] */ return (tmp11) ; } /* end of [__ats_fun_7] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } __ats_fun_7_closure_type ; ats_int_type __ats_fun_7_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_7 (((__ats_fun_7_closure_type*)cloptr)->closure_env_0, ((__ats_fun_7_closure_type*)cloptr)->closure_env_1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_7_closure_init (__ats_fun_7_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_7_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_7_closure_make (ats_ptr_type env0, ats_ptr_type env1) { __ats_fun_7_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_7_closure_type)) ; __ats_fun_7_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 3857(line=159, offs=17) -- 3926(line=160, offs=66) */ ATSstaticdec() ats_void_type __ats_fun_8 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp17) ; __ats_lab___ats_fun_8: /* tmp17 = */ atspre_ptr_free (env0) ; return /* (tmp17) */ ; } /* end of [__ats_fun_8] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_8_closure_type ; ats_void_type __ats_fun_8_clofun (ats_clo_ptr_type cloptr) { __ats_fun_8 (((__ats_fun_8_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_8_closure_init (__ats_fun_8_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_8_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_8_closure_make (ats_ptr_type env0) { __ats_fun_8_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_8_closure_type)) ; __ats_fun_8_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 3162(line=131, offs=1) -- 4052(line=166, offs=2) */ ATSstaticdec() ats_void_type reader0_initize_string_6 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_reader0_initize_string_6: tmp16 = __ats_fun_7_closure_make (arg1, arg2) ; tmp18 = __ats_fun_8_closure_make (arg2) ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) = tmp16 ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) = tmp18 ; return /* (tmp10) */ ; } /* end of [reader0_initize_string_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 4417(line=189, offs=5) -- 4864(line=206, offs=6) */ ATSstaticdec() ats_int_type __ats_fun_10 (ats_ptr_type env0) { /* local vardec */ ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_char_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab___ats_fun_10: tmp21 = ats_ptrget_mac(ats_ptr_type, env0) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp21 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_1, tmp21, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_1, tmp21, atslab_1) ; ATS_FREE(tmp21) ; ats_ptrget_mac(ats_ptr_type, env0) = tmp23 ; tmp20 = atspre_int_of_uchar (ats_castfn_mac(ats_uchar_type, tmp22)) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp21 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp20 = -1 ; break ; } while (0) ; return (tmp20) ; } /* end of [__ats_fun_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_10_closure_type ; ats_int_type __ats_fun_10_clofun (ats_clo_ptr_type cloptr) { return __ats_fun_10 (((__ats_fun_10_closure_type*)cloptr)->closure_env_0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_10_closure_init (__ats_fun_10_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_10_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_10_closure_make (ats_ptr_type env0) { __ats_fun_10_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_10_closure_type)) ; __ats_fun_10_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; __ats_lab_loop_13: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp29 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: break ; } while (0) ; return /* (tmp28) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_char_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab_list_vt_free_01499_ats_char_type: /* tmp27 = */ loop_13 (arg0) ; return /* (tmp27) */ ; } /* end of [list_vt_free_01499_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 4920(line=209, offs=5) -- 5074(line=216, offs=6) */ ATSstaticdec() ats_void_type __ats_fun_11 (ats_ptr_type env0) { /* local vardec */ // ATSlocal_void (tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab___ats_fun_11: tmp30 = ats_ptrget_mac(ats_ptr_type, env0) ; /* tmp26 = */ list_vt_free_01499_ats_char_type (tmp30) ; /* tmp25 = */ atspre_ptr_free (env0) ; return /* (tmp25) */ ; } /* end of [__ats_fun_11] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_11_closure_type ; ats_void_type __ats_fun_11_clofun (ats_clo_ptr_type cloptr) { __ats_fun_11 (((__ats_fun_11_closure_type*)cloptr)->closure_env_0) ; return ; } /* end of function */ ATSinline() ats_void_type __ats_fun_11_closure_init (__ats_fun_11_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_11_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_11_closure_make (ats_ptr_type env0) { __ats_fun_11_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_11_closure_type)) ; __ats_fun_11_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 4182(line=177, offs=1) -- 5198(line=221, offs=2) */ ATSstaticdec() ats_void_type reader0_initize_charlst_vt_9 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_reader0_initize_charlst_vt_9: tmp24 = __ats_fun_10_closure_make (arg1) ; tmp31 = __ats_fun_11_closure_make (arg1) ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) = tmp24 ; ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) = tmp31 ; return /* (tmp19) */ ; } /* end of [reader0_initize_charlst_vt_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 5287(line=228, offs=1) -- 5620(line=240, offs=2) */ ATSstaticdec() ats_void_type reader0_uninitize_14 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; ATSlocal (ats_clo_ptr_type, tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_clo_ptr_type, tmp36) ; ATSlocal (ats_clo_ptr_type, tmp37) ; __ats_lab_reader0_uninitize_14: tmp34 = ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) ; /* tmp33 = */ ((ats_void_type(*)(ats_clo_ptr_type))(ats_closure_fun(tmp34))) (tmp34) ; tmp36 = ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), getchar) ; /* tmp35 = */ atspre_cloptr_free (tmp36) ; tmp37 = ats_select_mac(ats_ptrget_mac(pats_reader_struct, arg0), freeres) ; /* tmp32 = */ atspre_cloptr_free (tmp37) ; return /* (tmp32) */ ; } /* end of [reader0_uninitize_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 5915(line=261, offs=1) -- 6056(line=271, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_filp (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_filp: /* tmp38 = */ reader0_initize_filp_1 (arg0, arg1) ; return /* (tmp38) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_filp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 6143(line=277, offs=3) -- 6254(line=284, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_getc (ats_ref_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_getc: /* tmp39 = */ reader0_initize_getc_4 (arg0, arg1) ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_getc] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_ats_size_type () { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_ptr_alloc_01070_ats_size_type: tmp42 = atspre_ptr_alloc_tsz (sizeof(ats_size_type)) ; return (tmp42) ; } /* end of [ptr_alloc_01070_ats_size_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 6343(line=290, offs=3) -- 6576(line=302, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_string (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_size_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_string: tmp41 = ptr_alloc_01070_ats_size_type () ; tmp43 = ats_selsin_mac(tmp41, atslab_2) ; tmp44 = atspre_size1_of_int1 (0) ; ats_ptrget_mac(ats_size_type, tmp43) = tmp44 ; /* tmp40 = */ reader0_initize_string_6 (arg0, ats_castfn_mac(ats_ptr_type, arg1), tmp43) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_string] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_ats_ptr_type () { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; __ats_lab_ptr_alloc_01070_ats_ptr_type: tmp47 = atspre_ptr_alloc_tsz (sizeof(ats_ptr_type)) ; return (tmp47) ; } /* end of [ptr_alloc_01070_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 6674(line=308, offs=3) -- 6879(line=323, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_charlst_vt (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_charlst_vt: tmp46 = ptr_alloc_01070_ats_ptr_type () ; tmp48 = ats_selsin_mac(tmp46, atslab_2) ; ats_ptrget_mac(ats_ptr_type, tmp48) = arg1 ; /* tmp45 = */ reader0_initize_charlst_vt_9 (arg0, tmp48) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_initize_charlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_reader.dats: 6972(line=329, offs=3) -- 7068(line=335, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_uninitize (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_uninitize: /* tmp49 = */ reader0_uninitize_14 (arg0) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__reader_uninitize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__reader0_encode_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2edats__reader0_decode_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_reader_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_appsym_dats.c0000664000175000017500000032365012655455557021415 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_bool_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_11 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_13 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_d2sym_loc ; ats_ptr_type atslab_d2sym_qua ; ats_ptr_type atslab_d2sym_sym ; ats_ptr_type atslab_d2sym_pitmlst ; } anairiats_rec_16 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2KEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMsymdef_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eitem_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_item_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trup_applst_eff_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_cons2_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3PITM_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGdyn_1) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_max_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_bool_type, atspre_ieq) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexplst_ismat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3PITM_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGsta_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGdyn_1) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_ptr_type d2exp_trup_item_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_ptr_type d3exp_trup_item_6 (ats_ptr_type arg0) ; static ats_ptr_type d3pitm_get_dexp_8 (ats_ptr_type arg0) ; static ats_ptr_type d3pitm_get_type_9 (ats_ptr_type arg0) ; static ats_int_type d3pitm_get_pval_10 (ats_ptr_type arg0) ; static ats_ptr_type d3pitm_make_11 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_d3pitm_12 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxsel_arity_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxsel_skexplst_15 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmap_17 (ats_ptr_type arg0) ; static ats_ptr_type revapp_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type __ats_fun_24 (ats_ptr_type arg0) ; static ats_void_type loop_26 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static anairiats_rec_15 auxsel_arglst_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_int_type loop_28 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_bool_type app_31 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_filter_vcloptr_01342_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_filter_cloptr_01341_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_bool_type __ats_fun_34 (ats_int_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_34_closure_make (ats_int_type env0) ; static ats_bool_type __ats_fun_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxselmax_27 (ats_ptr_type arg0) ; static anairiats_rec_1 f_37 (ats_ptr_type arg0) ; static ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxins_41 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxins2_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 1671(line=52, offs=28) -- 1702(line=52, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_appsym")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52087(line=1854, offs=21) -- 52314(line=1862, offs=6) */ ATSstaticdec() ats_int_type list_length_compare_01411_ats_ptr_type_2cats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type: do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_1_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; arg0 = tmp10 ; arg1 = tmp11 ; goto __ats_lab_list_length_compare_01411_ats_ptr_type_2cats_ptr_type ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp9 = 1 ; break ; } while (0) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp9 = -1 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp9 = 0 ; break ; } while (0) ; break ; } while (0) ; return (tmp9) ; } /* end of [list_length_compare_01411_ats_ptr_type_2cats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 2142(line=80, offs=5) -- 2903(line=105, offs=4) */ ATSstaticdec() ats_bool_type loop_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_loop_1: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg1) ; tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp2), atslab_s2exp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp3)->tag != 19) { goto __ats_lab_7_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_3) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_4) ; tmp6 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_5) ; tmp7 = atspre_eq_int_int (arg2, tmp4) ; if (tmp7) { tmp8 = list_length_compare_01411_ats_ptr_type_2cats_ptr_type (arg3, tmp5) ; tmp12 = atspre_ieq (tmp8, 0) ; if (tmp12) { tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp (arg0, tmp6) ; } else { tmp1 = ats_false_bool ; } /* end of [if] */ } else { tmp1 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp3)->tag != 27) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_2) ; arg0 = arg0 ; arg1 = tmp13 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp3)->tag != 28) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_2) ; arg0 = arg0 ; arg1 = tmp14 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp3)->tag != 20) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_6, tmp3, atslab_2) ; arg0 = arg0 ; arg1 = tmp15 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_1 ; // tail call break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [loop_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 2983(line=111, offs=3) -- 3293(line=124, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_11_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp17)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_7, tmp17, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_7, tmp17, atslab_2) ; tmp16 = loop_1 (tmp18, arg1, tmp19, tmp20) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)tmp17)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: arg0 = tmp18 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp16 = ats_true_bool ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab_prerr_error3_loc_02084_: /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp32 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp32) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 3381(line=131, offs=1) -- 4320(line=170, offs=4) */ ATSstaticdec() ats_ptr_type d2exp_trup_item_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab_d2exp_trup_item_4: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (tmp22) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_type (tmp22) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis (tmp23, tmp24) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item (arg0, tmp25, arg1, arg2) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_decarg (tmp26) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (tmp26) ; if (tmp28 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 3882(line=155, offs=9) -- 3915(line=155, offs=42)") ; } tmp29 = ats_caselptrlab_mac(anairiats_sum_9, tmp28, atslab_0) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis (tmp27, tmp29) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item (arg0, tmp30, arg1, arg2) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: /* tmp31 = */ prerr_error3_loc_02084_ (arg0) ; /* tmp34 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats"), ATSstrcst("d2exp_trup_item")) ; /* tmp35 = */ atspre_prerr_string (ATSstrcst(": a dynamic constant or variable is expected.")) ; /* tmp36 = */ atspre_prerr_newline () ; tmp38 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp38)->tag = 17 ; ats_selptrset_mac(anairiats_sum_10, tmp38, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp38, atslab_1, arg1) ; /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp38) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (arg0) ; break ; } while (0) ; return (tmp21) ; } /* end of [d2exp_trup_item_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp45) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp45 = ats_false_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp45 = ats_true_bool ; break ; } while (0) ; return (tmp45) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 4375(line=174, offs=5) -- 4971(line=202, offs=4) */ ATSstaticdec() ats_ptr_type d3exp_trup_item_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_d3exp_trup_item_6: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_loc) ; tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_node) ; if (((ats_sum_ptr_type)tmp41)->tag != 22) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 4453(line=178, offs=5) -- 4491(line=178, offs=43)") ; } tmp42 = ats_caselptrlab_mac(anairiats_sum_10, tmp41, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_10, tmp41, atslab_1) ; tmp44 = list_is_nil_01294_ (tmp43) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp42)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_8, tmp42, atslab_0) ; if (tmp44) { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cst (tmp40, tmp46) ; } else { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpcst (tmp40, tmp46, tmp43) ; } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp42)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_8, tmp42, atslab_0) ; if (tmp44) { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_var (tmp40, tmp47) ; } else { tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_tmpvar (tmp40, tmp47, tmp43) ; } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp49 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 4904(line=199, offs=14) -- 4920(line=199, offs=30)", ATSstrcst("\n")) ; /* tmp48 = */ atspre_assert_errmsg (ats_false_bool, tmp49) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp40) ; break ; } while (0) ; return (tmp39) ; } /* end of [d3exp_trup_item_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5146(line=211, offs=5) -- 5234(line=214, offs=4) */ ATSstaticdec() ats_ptr_type d3pitm_get_dexp_8 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab_d3pitm_get_dexp_8: tmp51 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp50 = tmp51 ; return (tmp50) ; } /* end of [d3pitm_get_dexp_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5268(line=216, offs=5) -- 5367(line=219, offs=4) */ ATSstaticdec() ats_ptr_type d3pitm_get_type_9 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_d3pitm_get_type_9: tmp53 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp53), atslab_d3exp_type) ; return (tmp52) ; } /* end of [d3pitm_get_type_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5401(line=221, offs=5) -- 5488(line=224, offs=4) */ ATSstaticdec() ats_int_type d3pitm_get_pval_10 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; __ats_lab_d3pitm_get_pval_10: tmp55 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp54 = tmp55 ; return (tmp54) ; } /* end of [d3pitm_get_pval_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5522(line=226, offs=5) -- 5588(line=227, offs=55) */ ATSstaticdec() ats_ptr_type d3pitm_make_11 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp56) ; __ats_lab_d3pitm_make_11: tmp56 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp56, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp56, atslab_1, arg1) ; return (tmp56) ; } /* end of [d3pitm_make_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5618(line=230, offs=5) -- 5879(line=241, offs=4) */ ATSstaticdec() ats_void_type fprint_d3pitm_12 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_int_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; __ats_lab_fprint_d3pitm_12: tmp58 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp59), atslab_d3exp_node) ; if (((ats_sum_ptr_type)tmp60)->tag != 22) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 5710(line=234, offs=7) -- 5751(line=235, offs=34)") ; } tmp61 = ats_caselptrlab_mac(anairiats_sum_10, tmp60, atslab_0) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2itm (arg0, tmp61) ; /* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst(" of ")) ; /* tmp57 = */ atspre_fprint_int (arg0, tmp58) ; return /* (tmp57) */ ; } /* end of [fprint_d3pitm_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 6397(line=263, offs=3) -- 8681(line=336, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (anairiats_rec_1, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_int_type, tmp83) ; ATSlocal (anairiats_rec_1, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (anairiats_rec_2, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; // ATSlocal_void (tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst: tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_d2exp_loc) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp66)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_10, tmp66, atslab_1) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_loc) ; tmp70 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_type) ; /* ats_int_type tmp71 ; */ tmp71 = 0 ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_uni_instantiate_sexparglst (tmp70, tmp68, (&tmp71)) ; tmp73 = ats_select_mac(tmp72, atslab_0) ; tmp74 = ats_select_mac(tmp72, atslab_1) ; /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp69, tmp74) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta (tmp65, tmp73, arg1) ; arg0 = arg0 ; arg1 = tmp76 ; arg2 = tmp67 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (((ats_sum_ptr_type)tmp66)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_1) ; tmp79 = ats_caselptrlab_mac(anairiats_sum_7, tmp66, atslab_2) ; tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_loc) ; tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_type) ; /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3explst_open_and_add (tmp79) ; /* ats_int_type tmp83 ; */ tmp83 = 0 ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_unimet_instantiate_all (tmp81, tmp78, (&tmp83)) ; tmp85 = ats_select_mac(tmp84, atslab_0) ; tmp86 = ats_select_mac(tmp84, atslab_1) ; /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (tmp80, tmp86) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista (tmp65, tmp85, arg1) ; tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp85), atslab_s2exp_node) ; if (((ats_sum_ptr_type)tmp89)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 7518(line=300, offs=11) -- 7623(line=302, offs=29)") ; } tmp90 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_2) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_4) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_4, tmp89, atslab_5) ; tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (tmp80, tmp78) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2fun_opninv_and_add (tmp78, tmp92, tmp93) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_trdn_arg (tmp79, tmp95) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__un_s2exp_wthtype (tmp94, tmp93) ; tmp98 = ats_select_mac(tmp97, atslab_0) ; tmp99 = ats_select_mac(tmp97, atslab_1) ; tmp100 = ats_select_mac(tmp97, atslab_2) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3exp_fun_restore (tmp90, tmp88) ; if (tmp98) { tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d3explst_arg_restore (tmp96, tmp95, tmp100) ; } else { tmp102 = tmp96 ; } /* end of [if] */ tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff (tmp94, tmp91) ; tmp105 = atspre_gt_int_int (tmp103, 0) ; if (tmp105) { tmp106 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp106)->tag = 24 ; ats_selptrset_mac(anairiats_sum_10, tmp106, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_10, tmp106, atslab_1, tmp91) ; /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp106) ; } else { /* empty */ } /* end of [if] */ tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn (tmp65, tmp99, tmp101, tmp77, tmp102) ; arg0 = arg0 ; arg1 = tmp107 ; arg2 = tmp67 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp64 = arg1 ; break ; } while (0) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 8745(line=342, offs=5) -- 9829(line=381, offs=4) */ ATSstaticdec() ats_ptr_type auxsel_arity_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_auxsel_arity_14: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_12, tmp109, atslab_0) ; tmp112 = ats_caselptrlab_mac(anairiats_sum_12, tmp109, atslab_1) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp112)->tag != 4) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_10, tmp112, atslab_1) ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp114, atslab_0, tmp110) ; ats_selptrset_mac(anairiats_sum_5, tmp114, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp113 ; arg2 = tmp114 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxsel_arity_14 ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp115 = d2exp_trup_item_4 (arg0, tmp112, arg3) ; tmp117 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp115), atslab_d3exp_type) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__aritest_d2exparglst_s2exp (arg4, tmp117) ; tmp118 = auxsel_arity_14 (arg0, tmp110, arg2, arg3, arg4) ; if (tmp116) { tmp119 = d3pitm_make_11 (tmp111, tmp115) ; tmp108 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp108, atslab_0, tmp119) ; ats_selptrset_mac(anairiats_sum_5, tmp108, atslab_1, tmp118) ; } else { tmp108 = tmp118 ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp121 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; ATS_FREE(arg2) ; arg0 = arg0 ; arg1 = tmp120 ; arg2 = tmp121 ; arg3 = arg3 ; arg4 = arg4 ; goto __ats_lab_auxsel_arity_14 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp108 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; } while (0) ; return (tmp108) ; } /* end of [auxsel_arity_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 9860(line=383, offs=5) -- 10837(line=424, offs=4) */ ATSstaticdec() ats_ptr_type auxsel_skexplst_15 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (anairiats_rec_1, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (anairiats_rec_1, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_auxsel_skexplst_15: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_33_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp125 = ats_select_mac(tmp123, atslab_1) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp125)->tag != 5) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_10, tmp125, atslab_0) ; tmp127 = ats_caselptrlab_mac(anairiats_sum_10, tmp125, atslab_1) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2kexplst_ismat (arg1, tmp126) ; tmp130 = ats_select_mac(tmp123, atslab_0) ; tmp129.atslab_0 = tmp130 ; tmp129.atslab_1 = tmp127 ; tmp131 = auxsel_skexplst_15 (tmp124, arg1) ; if (tmp128) { tmp122 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_0, tmp129) ; ats_selptrset_mac(anairiats_sum_14, tmp122, atslab_1, tmp131) ; } else { tmp122 = tmp131 ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: arg0 = tmp124 ; arg1 = arg1 ; goto __ats_lab_auxsel_skexplst_15 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp122 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp122) ; } /* end of [auxsel_skexplst_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 11052(line=435, offs=5) -- 11203(line=440, offs=35) */ ATSstaticdec() ats_ptr_type auxmap_17 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (anairiats_rec_1, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_auxmap_17: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp136 = ats_select_mac(tmp134, atslab_0) ; tmp137 = auxmap_17 (tmp135) ; tmp133 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_0, tmp136) ; ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_1, tmp137) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp133 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp133) ; } /* end of [auxmap_17] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_revapp_20: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp145 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp146 = ats_ptrget_mac(ats_ptr_type, tmp145) ; ats_ptrget_mac(ats_ptr_type, tmp145) = arg1 ; tmp147 = arg0 ; arg0 = tmp146 ; arg1 = tmp147 ; goto __ats_lab_revapp_20 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp144 = arg1 ; break ; } while (0) ; return (tmp144) ; } /* end of [revapp_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp143 = revapp_20 (arg0, arg1) ; return (tmp143) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp148 = (ats_sum_ptr_type)0 ; tmp142 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp148) ; return (tmp142) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab_loop_23: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp167 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp168 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp166, arg3) ; tmp169 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp169, atslab_0, tmp168) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp169 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp170 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp167 ; arg1 = arg1 ; arg2 = tmp170 ; arg3 = arg3 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp171 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp171 ; break ; } while (0) ; return /* (tmp165) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp172) ; // ATSlocal_void (tmp173) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp172 ; */ /* tmp173 = */ loop_23 (arg0, arg1, (&tmp172), arg2) ; tmp164 = tmp172 ; return (tmp164) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp163 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp163) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 12009(line=471, offs=22) -- 12056(line=471, offs=69) */ ATSstaticdec() ats_ptr_type __ats_fun_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab___ats_fun_24: tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_type) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp (tmp175) ; return (tmp174) ; } /* end of [__ats_fun_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_26 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; __ats_lab_loop_26: do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp180 ; goto __ats_lab_loop_26 ; // tail call break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: break ; } while (0) ; return /* (tmp179) */ ; } /* end of [loop_26] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp178) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp178 = */ loop_26 (arg0) ; return /* (tmp178) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 10871(line=426, offs=5) -- 12719(line=492, offs=4) */ ATSstaticdec() anairiats_rec_15 auxsel_arglst_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (anairiats_rec_15, tmp132) ; ATSlocal (anairiats_rec_1, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; __ats_lab_auxsel_arglst_16: do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_39_1: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_40_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_0) ; tmp139 = &ats_caselptrlab_mac(anairiats_sum_14, arg0, atslab_1) ; tmp140 = ats_ptrget_mac(ats_ptr_type, tmp139) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp140 != (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: ATS_FREE(arg0) ; tmp141 = list_vt_reverse_01506_ats_ptr_type (arg2) ; tmp150 = ats_select_mac(tmp138, atslab_0) ; tmp151 = (ats_sum_ptr_type)0 ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp149, atslab_0, tmp150) ; ats_selptrset_mac(anairiats_sum_5, tmp149, atslab_1, tmp151) ; tmp132.atslab_0 = tmp149 ; tmp132.atslab_1 = ats_castfn_mac(ats_ptr_type, tmp141) ; tmp132.atslab_2 = arg1 ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp152 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp152)->tag != 0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_10, tmp152, atslab_0) ; tmp155 = ats_caselptrlab_mac(anairiats_sum_10, tmp152, atslab_1) ; tmp156 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp156)->tag = 0 ; ats_selptrset_mac(anairiats_sum_10, tmp156, atslab_0, tmp154) ; ats_selptrset_mac(anairiats_sum_10, tmp156, atslab_1, tmp155) ; tmp157 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_0, tmp156) ; ats_selptrset_mac(anairiats_sum_5, tmp157, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp153 ; arg2 = tmp157 ; goto __ats_lab_auxsel_arglst_16 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (((ats_sum_ptr_type)tmp152)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_7, tmp152, atslab_0) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_7, tmp152, atslab_1) ; tmp160 = ats_caselptrlab_mac(anairiats_sum_7, tmp152, atslab_2) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2explst_trup (tmp160) ; tmp162 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp161, &__ats_fun_24) ; tmp176 = auxsel_skexplst_15 (arg0, ats_castfn_mac(ats_ptr_type, tmp162)) ; /* tmp177 = */ list_vt_free_01499_ats_ptr_type (tmp162) ; tmp181 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp181)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp181, atslab_0, tmp158) ; ats_selptrset_mac(anairiats_sum_7, tmp181, atslab_1, tmp159) ; ats_selptrset_mac(anairiats_sum_7, tmp181, atslab_2, tmp161) ; tmp182 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp182, atslab_0, tmp181) ; ats_selptrset_mac(anairiats_sum_5, tmp182, atslab_1, arg2) ; arg0 = tmp176 ; arg1 = tmp153 ; arg2 = tmp182 ; goto __ats_lab_auxsel_arglst_16 ; // tail call break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp183 = list_vt_reverse_01506_ats_ptr_type (arg2) ; tmp184 = (ats_sum_ptr_type)0 ; tmp132.atslab_0 = tmp184 ; tmp132.atslab_1 = ats_castfn_mac(ats_ptr_type, tmp183) ; tmp132.atslab_2 = arg1 ; break ; } while (0) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp185 = list_vt_reverse_01506_ats_ptr_type (arg2) ; tmp186 = auxmap_17 (arg0) ; tmp132.atslab_0 = tmp186 ; tmp132.atslab_1 = ats_castfn_mac(ats_ptr_type, tmp185) ; tmp132.atslab_2 = arg1 ; break ; } while (0) ; return (tmp132) ; } /* end of [auxsel_arglst_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 12831(line=498, offs=7) -- 13051(line=506, offs=27) */ ATSstaticdec() ats_int_type loop_28 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_int_type, tmp192) ; __ats_lab_loop_28: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp191 = d3pitm_get_pval_10 (tmp189) ; tmp192 = atspre_max_int_int (arg1, tmp191) ; arg0 = tmp190 ; arg1 = tmp192 ; goto __ats_lab_loop_28 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp188 = arg1 ; break ; } while (0) ; return (tmp188) ; } /* end of [loop_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 22131(line=798, offs=6) -- 22186(line=798, offs=61) */ ATSstaticdec() ats_bool_type app_31 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp197) ; __ats_lab_app_31: tmp197 = ((ats_bool_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp197) ; } /* end of [app_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19833(line=716, offs=7) -- 20397(line=733, offs=40) */ ATSstaticdec() ats_void_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab_loop_33: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp200 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp201 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp202 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp200, arg3) ; if (tmp202) { tmp203 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp203, atslab_0, tmp200) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp203 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp204 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp201 ; arg1 = arg1 ; arg2 = tmp204 ; arg3 = arg3 ; goto __ats_lab_loop_33 ; // tail call } else { arg0 = tmp201 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_33 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: tmp205 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp205 ; break ; } while (0) ; return /* (tmp199) */ ; } /* end of [loop_33] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 19800(line=714, offs=24) -- 20566(line=744, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_funenv_01338_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; __ats_lab_list_filter_funenv_01338_ats_ptr_type: /* ats_ptr_type tmp206 ; */ /* tmp207 = */ loop_33 (arg0, arg1, (&tmp206), arg2) ; tmp198 = tmp206 ; return (tmp198) ; } /* end of [list_filter_funenv_01338_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 22056(line=796, offs=19) -- 22250(line=801, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_vcloptr_01342_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; __ats_lab_list_filter_vcloptr_01342_ats_ptr_type: tmp196 = list_filter_funenv_01338_ats_ptr_type (arg0, &app_31, arg1) ; return (tmp196) ; } /* end of [list_filter_vcloptr_01342_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 21511(line=779, offs=15) -- 21973(line=793, offs=4) */ ATSstaticdec() ats_ptr_type list_filter_cloptr_01341_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; __ats_lab_list_filter_cloptr_01341_ats_ptr_type: tmp195 = list_filter_vcloptr_01342_ats_ptr_type (arg0, arg1) ; return (tmp195) ; } /* end of [list_filter_cloptr_01341_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 13154(line=510, offs=10) -- 13194(line=510, offs=50) */ ATSstaticdec() ats_bool_type __ats_fun_34 (ats_int_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; __ats_lab___ats_fun_34: tmp210 = d3pitm_get_pval_10 (arg0) ; tmp209 = atspre_eq_int_int (tmp210, env0) ; return (tmp209) ; } /* end of [__ats_fun_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } __ats_fun_34_closure_type ; ats_bool_type __ats_fun_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_34 (((__ats_fun_34_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_34_closure_init (__ats_fun_34_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_34_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_34_closure_make (ats_int_type env0) { __ats_fun_34_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_34_closure_type)) ; __ats_fun_34_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 12780(line=496, offs=5) -- 13230(line=514, offs=4) */ ATSstaticdec() ats_ptr_type auxselmax_27 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp208) ; __ats_lab_auxselmax_27: tmp193 = loop_28 (arg0, -1000000) ; /* ats_ptr_type tmp208 ; */ tmp208 = __ats_fun_34_closure_make (tmp193) ; tmp194 = list_filter_cloptr_01341_ats_ptr_type (arg0, tmp208) ; ATS_FREE(tmp208) ; tmp187 = ats_castfn_mac(ats_ptr_type, tmp194) ; return (tmp187) ; } /* end of [auxselmax_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 13309(line=520, offs=3) -- 13417(line=524, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym: tmp212 = (ats_sum_ptr_type)0 ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym (arg0, arg1, tmp212, arg2) ; return (tmp211) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 13921(line=543, offs=7) -- 14037(line=545, offs=6) */ ATSstaticdec() anairiats_rec_1 f_37 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (anairiats_rec_1, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab_f_37: tmp220 = d3pitm_get_type_9 (arg0) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2kexp_make_s2exp (tmp220) ; tmp219.atslab_0 = arg0 ; tmp219.atslab_1 = tmp221 ; return (tmp219) ; } /* end of [f_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (anairiats_rec_1, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab_loop_40: do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp226 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp227 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp228 = ((anairiats_rec_1(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp226, arg3) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ats_selptrset_mac(anairiats_sum_14, tmp229, atslab_0, tmp228) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp229 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp230 = &ats_caselptrlab_mac(anairiats_sum_14, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp227 ; arg1 = arg1 ; arg2 = tmp230 ; arg3 = arg3 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_58_1: tmp231 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp231 ; break ; } while (0) ; return /* (tmp225) */ ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp232) ; // ATSlocal_void (tmp233) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_anairiats_rec_1: /* ats_ptr_type tmp232 ; */ /* tmp233 = */ loop_40 (arg0, arg1, (&tmp232), arg2) ; tmp224 = tmp232 ; return (tmp224) ; } /* end of [list_map_funenv_01412_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; __ats_lab_list_map_fun_01413_ats_ptr_type_anairiats_rec_1: tmp223 = list_map_funenv_01412_ats_ptr_type_anairiats_rec_1 (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp223) ; } /* end of [list_map_fun_01413_ats_ptr_type_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 13490(line=528, offs=3) -- 15490(line=596, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp234) ; ATSlocal (anairiats_rec_15, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; // ATSlocal_void (tmp249) ; // ATSlocal_void (tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; // ATSlocal_void (tmp253) ; // ATSlocal_void (tmp254) ; // ATSlocal_void (tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym: tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_d2exp_loc) ; tmp215 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_d2sym_loc) ; tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_d2sym_pitmlst) ; tmp218 = (ats_sum_ptr_type)0 ; tmp217 = auxsel_arity_14 (tmp215, tmp216, tmp218, arg2, arg3) ; tmp222 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (ats_castfn_mac(ats_ptr_type, tmp217), &f_37) ; /* tmp234 = */ list_vt_free_01499_ats_ptr_type (tmp217) ; tmp236 = (ats_sum_ptr_type)0 ; tmp235 = auxsel_arglst_16 (tmp222, arg3, tmp236) ; tmp237 = ats_select_mac(tmp235, atslab_0) ; tmp238 = auxselmax_27 (tmp237) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (tmp238 == (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } tmp239 = ats_caselptrlab_mac(anairiats_sum_5, tmp238, atslab_1) ; if (tmp239 != (ats_sum_ptr_type)0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_5, tmp238, atslab_0) ; tmp241 = d3pitm_get_dexp_8 (tmp240) ; tmp242 = d3exp_trup_item_6 (tmp241) ; tmp244 = ats_select_mac(tmp235, atslab_1) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__d3exp_trup_applst (arg0, tmp242, tmp244) ; tmp245 = ats_select_mac(tmp235, atslab_2) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d23exp_trup_applst (arg0, tmp243, tmp245) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (tmp238 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } tmp246 = ats_caselptrlab_mac(anairiats_sum_5, tmp238, atslab_1) ; if (tmp246 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_5, tmp238, atslab_0) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_5, tmp246, atslab_0) ; /* tmp249 = */ prerr_error3_loc_02084_ (tmp214) ; /* tmp250 = */ atspre_prerr_string (ATSstrcst(": the symbol [")) ; /* tmp251 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (stderr, arg1) ; /* tmp252 = */ atspre_prerr_string (ATSstrcst("] cannot be resolved due to too many matches:\n")) ; /* tmp253 = */ fprint_d3pitm_12 (stderr, tmp247) ; /* tmp254 = */ atspre_prerr_newline () ; /* tmp255 = */ fprint_d3pitm_12 (stderr, tmp248) ; /* tmp256 = */ atspre_prerr_newline () ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp258)->tag = 30 ; ats_selptrset_mac(anairiats_sum_10, tmp258, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp258, atslab_1, arg1) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp258) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp214) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (tmp238 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: /* tmp259 = */ prerr_error3_loc_02084_ (tmp214) ; /* tmp260 = */ atspre_prerr_string (ATSstrcst(": the symbol [")) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2sym (stderr, arg1) ; /* tmp262 = */ atspre_prerr_string (ATSstrcst("] cannot be resolved as no match is found.")) ; /* tmp263 = */ atspre_prerr_newline () ; tmp265 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp265)->tag = 29 ; ats_selptrset_mac(anairiats_sum_10, tmp265, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp265, atslab_1, arg1) ; /* tmp264 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp265) ; tmp213 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp214) ; break ; } while (0) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_tmpsym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 15586(line=605, offs=1) -- 15840(line=619, offs=2) */ ATSstaticdec() ats_ptr_type auxins_41 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; __ats_lab_auxins_41: tmp267 = atspre_gt_int_int (arg0, 0) ; if (tmp267) { if (arg2 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 15685(line=613, offs=9) -- 15713(line=613, offs=37)") ; } tmp268 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp271 = atspre_sub_int_int (arg0, 1) ; tmp270 = auxins_41 (tmp271, arg1, tmp269) ; tmp266 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp266, atslab_0, tmp268) ; ats_selptrset_mac(anairiats_sum_5, tmp266, atslab_1, tmp270) ; } else { tmp266 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp266, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp266, atslab_1, arg2) ; } /* end of [if] */ return (tmp266) ; } /* end of [auxins_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 15846(line=621, offs=5) -- 16503(line=651, offs=2) */ ATSstaticdec() ats_ptr_type auxins2_42 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_int_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab_auxins2_42: do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp274 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_d2exp_loc) ; tmp276 = (ats_sum_ptr_type)0 ; tmp275 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp275, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp275, atslab_1, tmp276) ; tmp273 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp273)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp273, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_7, tmp273, atslab_1, tmp274) ; ats_selptrset_mac(anairiats_sum_7, tmp273, atslab_2, tmp275) ; tmp277 = (ats_sum_ptr_type)0 ; tmp272 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_0, tmp273) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_1, tmp277) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_63_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_0) ; tmp279 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp278)->tag != 0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp280 = auxins2_42 (arg0, arg1, tmp279) ; tmp272 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_0, tmp278) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_1, tmp280) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (((ats_sum_ptr_type)tmp278)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_7, tmp278, atslab_0) ; tmp282 = ats_caselptrlab_mac(anairiats_sum_7, tmp278, atslab_1) ; tmp283 = ats_caselptrlab_mac(anairiats_sum_7, tmp278, atslab_2) ; tmp285 = auxins_41 (tmp281, arg1, tmp283) ; tmp284 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp284)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp284, atslab_0, tmp281) ; ats_selptrset_mac(anairiats_sum_7, tmp284, atslab_1, tmp282) ; ats_selptrset_mac(anairiats_sum_7, tmp284, atslab_2, tmp285) ; tmp272 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_0, tmp284) ; ats_selptrset_mac(anairiats_sum_5, tmp272, atslab_1, tmp279) ; break ; } while (0) ; break ; } while (0) ; return (tmp272) ; } /* end of [auxins2_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_appsym.dats: 16590(line=657, offs=3) -- 16769(line=665, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_seloverld (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_seloverld: tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root (arg1) ; tmp288 = auxins2_42 (arg0, tmp287, arg3) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (arg0, arg2, tmp288) ; return (tmp286) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_applst_seloverld] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3PITM_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGsta_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__D3EXPARGdyn_1.tag = 1 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_appsym_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 () ; #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_trans3_appsym_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_codegen2_dats.c0000664000175000017500000004531412655455557020276 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clocal_26) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcon_test_e1xp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcontag_test_e1xp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__fprint_test_e1xp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_process) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcontag) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_fprint) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_cons_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_4 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_4_closure_make (ats_ptr_type env0) ; static ats_void_type aux_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type auxlst_5 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_5_closure_make (ats_ptr_type env0) ; static ats_void_type auxlst_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 1748(line=63, offs=1) -- 1966(line=74, offs=2) */ ATSstaticdec() ats_void_type auxerr_nil_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_auxerr_nil_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp1) ; /* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): #codegen2()\n")) ; /* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("*)\n")) ; return /* (tmp0) */ ; } /* end of [auxerr_nil_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 1998(line=77, offs=1) -- 2239(line=89, offs=2) */ ATSstaticdec() ats_void_type auxerr_cons_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; __ats_lab_auxerr_cons_1: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_loc) ; /* tmp7 = */ atspre_fprint_string (arg0, ATSstrcst("(*\n")) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp6) ; /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst(": error(codegen2): #codegen2(")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__fprint_e1xp (arg0, arg2) ; /* tmp11 = */ atspre_fprint_string (arg0, ATSstrcst(", ...)\n")) ; /* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("*)\n")) ; return /* (tmp5) */ ; } /* end of [auxerr_cons_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 2319(line=95, offs=3) -- 2974(line=132, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_process (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_bool_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_process: tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2ecl_node) ; if (((ats_sum_ptr_type)tmp13)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 2535(line=108, offs=5) -- 2572(line=108, offs=42)") ; } tmp14 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp14 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_0_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_2, tmp14, atslab_0) ; tmp16 = ats_caselptrlab_mac(anairiats_sum_2, tmp14, atslab_1) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcon_test_e1xp (tmp15) ; if (!tmp17) { goto __ats_lab_2_1 ; } /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcon (arg0, arg1, tmp16) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcontag_test_e1xp (tmp15) ; if (!tmp18) { goto __ats_lab_3_1 ; } /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_datcontag (arg0, arg1, tmp16) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__fprint_test_e1xp (tmp15) ; if (!tmp19) { goto __ats_lab_4_1 ; } /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_fprint (arg0, arg1, tmp16) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: /* tmp12 = */ auxerr_cons_1 (arg0, arg1, tmp15) ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp14 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: /* tmp12 = */ auxerr_nil_0 (arg0, arg1) ; break ; } while (0) ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_process] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 3161(line=148, offs=1) -- 3490(line=169, offs=2) */ ATSstaticdec() ats_void_type aux_4 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_bool_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab_aux_4: tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2ecl_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp22)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, tmp22, atslab_0) ; tmp24 = atspre_lte_int_int (tmp23, 2) ; if (tmp24) { /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_process (env0, arg0) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp22)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_3, tmp22, atslab_0) ; /* tmp21 = */ auxlst_5 (env0, tmp25) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp22)->tag != 26) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_4, tmp22, atslab_1) ; /* tmp21 = */ auxlst_5 (env0, tmp26) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: break ; } while (0) ; return /* (tmp21) */ ; } /* end of [aux_4] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_4_closure_type ; ats_void_type aux_4_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { aux_4 (((aux_4_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_4_closure_init (aux_4_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_4_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_4_closure_make (ats_ptr_type env0) { aux_4_closure_type *p_clo = ATS_MALLOC(sizeof(aux_4_closure_type)) ; aux_4_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 3498(line=172, offs=1) -- 3637(line=182, offs=2) */ ATSstaticdec() ats_void_type auxlst_5 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; // ATSlocal_void (tmp30) ; __ats_lab_auxlst_5: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp29 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; /* tmp30 = */ aux_4 (env0, tmp28) ; arg0 = tmp29 ; goto __ats_lab_auxlst_5 ; // tail call break ; } while (0) ; return /* (tmp27) */ ; } /* end of [auxlst_5] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_5_closure_type ; ats_void_type auxlst_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxlst_5 (((auxlst_5_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxlst_5_closure_init (auxlst_5_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_5_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_5_closure_make (ats_ptr_type env0) { auxlst_5_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_5_closure_type)) ; auxlst_5_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2.dats: 3082(line=140, offs=3) -- 3685(line=186, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__d2eclist_codegen_out (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__d2eclist_codegen_out: /* tmp20 = */ auxlst_5 (arg0, arg1) ; return /* (tmp20) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__d2eclist_codegen_out] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_codegen2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_effect_dats.c0000664000175000017500000022124412655455557022204 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_uint_type atslab_1 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_set_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_sexp_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeff_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeffmask_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTcons_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTmark_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTnil_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing) (ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_diff) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__prerr_effset) (ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set) (ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_sexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff) (ats_uint_type, ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff) (ats_uint_type, ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__effenv_push_v = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeff_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeffmask_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTmark_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTnil_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_ptr_type efilst_mark_1 (ats_ptr_type arg0) ; static ats_ptr_type efilst_unmark_2 (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) ; static ats_void_type auxerr_15 (ats_ptr_type env0, ats_uint_type env1, ats_uint_type arg0) ; static ats_clo_ptr_type auxerr_15_closure_make (ats_ptr_type env0, ats_uint_type env1) ; static ats_void_type auxerr_15_clofun (ats_clo_ptr_type cloptr, ats_uint_type arg0) ; static ats_int_type auxcheck_17 (ats_ptr_type env0, ats_uint_type env1, ats_ptr_type arg0, ats_uint_type arg1) ; static ats_clo_ptr_type auxcheck_17_closure_make (ats_ptr_type env0, ats_uint_type env1) ; static ats_int_type auxcheck_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_uint_type arg1) ; static ats_void_type auxerr_25 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxerr_25_closure_make (ats_ptr_type env0) ; static ats_void_type auxerr_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_int_type auxcheck_26 (ats_ptr_type env0, ats_ptr_type arg0, ats_uint_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type auxcheck_26_closure_make (ats_ptr_type env0) ; static ats_int_type auxcheck_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_uint_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp15) ; ATSstatic (ats_ptr_type, statmp18) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 1606(line=47, offs=28) -- 1641(line=47, offs=63) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env_effect")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 2352(line=85, offs=1) -- 2438(line=87, offs=54) */ ATSstaticdec() ats_ptr_type efilst_mark_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab_efilst_mark_1: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp1)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_1, arg0) ; return (tmp1) ; } /* end of [efilst_mark_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 2468(line=91, offs=1) -- 2666(line=98, offs=34) */ ATSstaticdec() ats_ptr_type efilst_unmark_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_efilst_unmark_2: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp3 ; goto __ats_lab_efilst_unmark_2 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp2 = tmp4 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp2 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTnil_2) ; break ; } while (0) ; return (tmp2) ; } /* end of [efilst_unmark_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 2812(line=108, offs=3) -- 3051(line=114, offs=6) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff (ats_uint_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp5) ; ATSlocal (ats_uint_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_uint_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_diff (arg0, tmp6) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp5 = arg0 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff (arg0, tmp7) ; arg0 = tmp9 ; arg1 = tmp8 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff ; // tail call break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 3205(line=122, offs=3) -- 3447(line=128, offs=6) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff (ats_uint_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp10) ; ATSlocal (ats_uint_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_uint_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union (arg0, tmp11) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp10 = arg0 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff (arg0, tmp12) ; arg0 = tmp14 ; arg1 = tmp13 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff ; // tail call break ; } while (0) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp17 ; */ tmp17 = arg0 ; tmp16 = atspre_ref_make_elt_tsz ((&tmp17), sizeof(ats_ptr_type)) ; return (tmp16) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 3665(line=142, offs=3) -- 3823(line=148, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_add_eff (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_uint_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_add_eff: tmp20 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing (arg0) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp22)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp22, atslab_0, tmp21) ; tmp24 = ats_ptrget_mac(ats_ptr_type, tmp20) ; tmp23 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp23)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp23, atslab_0, tmp22) ; ats_selptrset_mac(anairiats_sum_2, tmp23, atslab_1, tmp24) ; ats_ptrget_mac(ats_ptr_type, tmp20) = tmp23 ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_add_eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 3904(line=154, offs=3) -- 4039(line=159, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp28 = ats_ptrget_mac(ats_ptr_type, tmp26) ; tmp27 = efilst_unmark_2 (tmp28) ; ats_ptrget_mac(ats_ptr_type, tmp26) = tmp27 ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 4098(line=163, offs=3) -- 4258(line=169, offs=6) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop_if (ats_bool_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop_if: if (arg0) { /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop () ; } else { /* empty */ } /* end of [if] */ return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_pop_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 4352(line=175, offs=17) -- 4502(line=182, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push () { /* local vardec */ // ATSlocal_void (tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push: tmp31 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp33 = ats_ptrget_mac(ats_ptr_type, tmp31) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp32)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_1, tmp33) ; ats_ptrget_mac(ats_ptr_type, tmp31) = tmp32 ; return /* (tmp30) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 4564(line=186, offs=3) -- 4766(line=195, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam: tmp35 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp35)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp35, atslab_0, arg0) ; tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp38 = ats_ptrget_mac(ats_ptr_type, tmp36) ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp37)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp37, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_1, tmp37, atslab_1, tmp38) ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp39)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp39, atslab_0, tmp35) ; ats_selptrset_mac(anairiats_sum_2, tmp39, atslab_1, tmp37) ; ats_ptrget_mac(ats_ptr_type, tmp36) = tmp39 ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 4851(line=200, offs=21) -- 5047(line=209, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set (ats_uint_type arg0) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set: tmp41 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp41)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp41, atslab_0, arg0) ; tmp42 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp44 = ats_ptrget_mac(ats_ptr_type, tmp42) ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp43)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp43, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_1, tmp43, atslab_1, tmp44) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp45)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp45, atslab_0, tmp41) ; ats_selptrset_mac(anairiats_sum_2, tmp45, atslab_1, tmp43) ; ats_ptrget_mac(ats_ptr_type, tmp42) = tmp45 ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 5116(line=213, offs=3) -- 5272(line=218, offs=28) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set_if (ats_bool_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set_if: if (arg0) { /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set (arg1) ; } else { /* empty */ } /* end of [if] */ return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_set_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 5366(line=224, offs=25) -- 5568(line=233, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask: tmp48 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp48)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp48, atslab_0, arg0) ; tmp49 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp51 = ats_ptrget_mac(ats_ptr_type, tmp49) ; tmp50 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp50)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp50, atslab_0, 0) ; ats_selptrset_mac(anairiats_sum_1, tmp50, atslab_1, tmp51) ; tmp52 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp52)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp52, atslab_0, tmp48) ; ats_selptrset_mac(anairiats_sum_2, tmp52, atslab_1, tmp50) ; ats_ptrget_mac(ats_ptr_type, tmp49) = tmp52 ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_push_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02084_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab_prerr_error3_loc_02084_: /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp56 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp56) */ ; } /* end of [prerr_error3_loc_02084_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 5765(line=245, offs=5) -- 6036(line=254, offs=4) */ ATSstaticdec() ats_void_type auxerr_15 (ats_ptr_type env0, ats_uint_type env1, ats_uint_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab_auxerr_15: /* tmp55 = */ prerr_error3_loc_02084_ (env0) ; /* tmp58 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats"), ATSstrcst("the_effenv_check_set")) ; /* tmp59 = */ atspre_prerr_string (ATSstrcst(": some disallowed effects may be incurred: ")) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__prerr_effset (arg0) ; /* tmp61 = */ atspre_prerr_newline () ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp62)->tag = 79 ; ats_selptrset_mac(anairiats_sum_5, tmp62, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp62, atslab_1, env1) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp62) ; return /* (tmp54) */ ; } /* end of [auxerr_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_uint_type closure_env_1 ; } auxerr_15_closure_type ; ats_void_type auxerr_15_clofun (ats_clo_ptr_type cloptr, ats_uint_type arg0) { auxerr_15 (((auxerr_15_closure_type*)cloptr)->closure_env_0, ((auxerr_15_closure_type*)cloptr)->closure_env_1, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_15_closure_init (auxerr_15_closure_type *p_clo, ats_ptr_type env0, ats_uint_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_15_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_15_closure_make (ats_ptr_type env0, ats_uint_type env1) { auxerr_15_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_15_closure_type)) ; auxerr_15_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 6068(line=256, offs=5) -- 7384(line=298, offs=38) */ ATSstaticdec() ats_int_type auxcheck_17 (ats_ptr_type env0, ats_uint_type env1, ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_uint_type, tmp66) ; ATSlocal (ats_uint_type, tmp67) ; ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_uint_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; __ats_lab_auxcheck_17: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_9_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp65 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp64)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_3, tmp64, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter (arg1, tmp66) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp67) ; if (tmp68) { tmp70 = ats_ptrget_mac(ats_ptr_type, tmp65) ; tmp69 = auxcheck_17 (env0, env1, tmp70, arg1) ; } else { tmp69 = 1 ; } /* end of [if] */ tmp72 = atspre_gt_int_int (tmp69, 0) ; if (tmp72) { /* tmp71 = */ auxerr_15 (env0, env1, tmp67) ; } else { /* empty */ } /* end of [if] */ tmp63 = tmp69 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (((ats_sum_ptr_type)tmp64)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_4, tmp64, atslab_0) ; tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_diff_s2eff (arg1, tmp73) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp74) ; if (tmp75) { tmp63 = 0 ; } else { tmp76 = ats_ptrget_mac(ats_ptr_type, tmp65) ; arg0 = tmp76 ; arg1 = tmp74 ; goto __ats_lab_auxcheck_17 ; // tail call } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp78 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp80 = atspre_gt_int_int (tmp77, 0) ; if (tmp80) { tmp79 = 1 ; } else { tmp81 = ats_ptrget_mac(ats_ptr_type, tmp78) ; tmp79 = auxcheck_17 (env0, env1, tmp81, arg1) ; } /* end of [if] */ tmp83 = atspre_gt_int_int (tmp77, 0) ; if (tmp83) { tmp84 = atspre_gt_int_int (tmp79, 0) ; if (tmp84) { /* tmp82 = */ auxerr_15 (env0, env1, arg1) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp63 = tmp79 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp63 = 0 ; break ; } while (0) ; return (tmp63) ; } /* end of [auxcheck_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_uint_type closure_env_1 ; } auxcheck_17_closure_type ; ats_int_type auxcheck_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_uint_type arg1) { return auxcheck_17 (((auxcheck_17_closure_type*)cloptr)->closure_env_0, ((auxcheck_17_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type auxcheck_17_closure_init (auxcheck_17_closure_type *p_clo, ats_ptr_type env0, ats_uint_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcheck_17_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxcheck_17_closure_make (ats_ptr_type env0, ats_uint_type env1) { auxcheck_17_closure_type *p_clo = ATS_MALLOC(sizeof(auxcheck_17_closure_type)) ; auxcheck_17_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 5660(line=239, offs=3) -- 7585(line=311, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp53) ; ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (arg1) ; if (tmp85) { tmp53 = 0 ; } else { tmp86 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp87 = ats_ptrget_mac(ats_ptr_type, tmp86) ; tmp53 = auxcheck_17 (arg0, arg1, tmp87, arg1) ; } /* end of [if] */ return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 7674(line=317, offs=3) -- 7738(line=318, offs=49) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_eff (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_uint_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_eff: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing (arg1) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, tmp89) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 7808(line=323, offs=3) -- 7856(line=323, offs=51) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 7924(line=328, offs=3) -- 7972(line=328, offs=51) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ntm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ntm: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ntm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 8040(line=333, offs=3) -- 8088(line=333, offs=51) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 8156(line=338, offs=3) -- 8204(line=338, offs=51) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt: tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_wrt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 8301(line=345, offs=3) -- 8466(line=348, offs=24) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_exn (arg0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp94 = 0 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp94 = 0 ; break ; } while (0) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_caskind_check_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 8710(line=361, offs=5) -- 8984(line=369, offs=4) */ ATSstaticdec() ats_void_type auxerr_25 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab_auxerr_25: /* tmp97 = */ prerr_error3_loc_02084_ (env0) ; /* tmp98 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats"), ATSstrcst("the_effenv_check_sexp")) ; /* tmp99 = */ atspre_prerr_string (ATSstrcst(": some disallowed effects may be incurred: ")) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg0) ; /* tmp101 = */ atspre_prerr_newline () ; tmp102 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp102)->tag = 80 ; ats_selptrset_mac(anairiats_sum_2, tmp102, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_2, tmp102, atslab_1, arg0) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp102) ; return /* (tmp96) */ ; } /* end of [auxerr_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxerr_25_closure_type ; ats_void_type auxerr_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxerr_25 (((auxerr_25_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxerr_25_closure_init (auxerr_25_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxerr_25_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxerr_25_closure_make (ats_ptr_type env0) { auxerr_25_closure_type *p_clo = ATS_MALLOC(sizeof(auxerr_25_closure_type)) ; auxerr_25_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 9014(line=371, offs=5) -- 10203(line=405, offs=46) */ ATSstaticdec() ats_int_type auxcheck_26 (ats_ptr_type env0, ats_ptr_type arg0, ats_uint_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_uint_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_int_type, tmp108) ; // ATSlocal_void (tmp109) ; ATSlocal (ats_bool_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_uint_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; ATSlocal (ats_bool_type, tmp121) ; __ats_lab_auxcheck_26: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_17_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp105 = &ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp104)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_3, tmp104, atslab_0) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset (arg1, tmp106) ; if (tmp107) { tmp108 = 0 ; } else { tmp108 = 1 ; } /* end of [if] */ tmp110 = atspre_gt_int_int (tmp108, 0) ; if (tmp110) { /* tmp109 = */ auxerr_25 (env0, arg2) ; } else { /* empty */ } /* end of [if] */ tmp103 = tmp108 ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (((ats_sum_ptr_type)tmp104)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp111 = ats_caselptrlab_mac(anairiats_sum_4, tmp104, atslab_0) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2eff_contain_exp (tmp111, arg2) ; if (tmp112) { tmp103 = 0 ; } else { tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__effset_union_s2eff (arg1, tmp111) ; tmp114 = ats_ptrget_mac(ats_ptr_type, tmp105) ; arg0 = tmp114 ; arg1 = tmp113 ; arg2 = arg2 ; goto __ats_lab_auxcheck_26 ; // tail call } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp116 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp118 = atspre_gt_int_int (tmp115, 0) ; if (tmp118) { tmp117 = 1 ; } else { tmp119 = ats_ptrget_mac(ats_ptr_type, tmp116) ; tmp117 = auxcheck_26 (env0, tmp119, arg1, arg2) ; } /* end of [if] */ tmp121 = atspre_gt_int_int (tmp117, 0) ; if (tmp121) { /* tmp120 = */ auxerr_25 (env0, arg2) ; } else { /* empty */ } /* end of [if] */ tmp103 = tmp117 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp103 = 0 ; break ; } while (0) ; return (tmp103) ; } /* end of [auxcheck_26] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxcheck_26_closure_type ; ats_int_type auxcheck_26_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_uint_type arg1, ats_ptr_type arg2) { return auxcheck_26 (((auxcheck_26_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type auxcheck_26_closure_init (auxcheck_26_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxcheck_26_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxcheck_26_closure_make (ats_ptr_type env0) { auxcheck_26_closure_type *p_clo = ATS_MALLOC(sizeof(auxcheck_26_closure_type)) ; auxcheck_26_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 8604(line=355, offs=3) -- 10329(line=412, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_sexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_sexp: tmp122 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp15), atslab_1) ; tmp123 = ats_ptrget_mac(ats_ptr_type, tmp122) ; tmp95 = auxcheck_26 (arg0, tmp123, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil, arg1) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_sexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_effect.dats: 10421(line=418, offs=3) -- 10983(line=443, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_uint_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2eff_hnfize (arg1) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp125)->tag != 0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp126 = ats_caselptrlab_mac(anairiats_sum_3, tmp125, atslab_0) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_set (arg0, tmp126) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp125)->tag != 1) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_4, tmp125, atslab_0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp127) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (tmp128) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_sexp (arg0, tmp129) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (((ats_sum_ptr_type)tmp125)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_2, tmp125, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_2, tmp125, atslab_1) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff (arg0, tmp130) ; tmp133 = atspre_gt_int_int (tmp132, 0) ; if (tmp133) { tmp124 = 1 ; } else { arg0 = arg0 ; arg1 = tmp131 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_effenv_check_s2eff] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeff_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFFENVITMeffmask_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTcons_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTmark_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTnil_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2basics_dyn_2esats__unit_v_elim_prfck () ; 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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp15, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp18, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp18 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_effect_2edats__EFILSTnil_2) ; statmp15 = ref_01088_ats_ptr_type (statmp18) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_effect_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_reader_sats.c0000664000175000017500000000210612655455557020061 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ #include "pats_reader.cats" /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_reader_2esats__staload_flag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_reader_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_patcst2_dats.c0000664000175000017500000052062412655455557020172 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_l0ab_loc ; ats_ptr_type atslab_l0ab_lab ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_15 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_16 ; typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_18 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__LABP2ATCST_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCempty_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCintc_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCcharc_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCfloat_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCstring_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCrec_10) ; /* 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_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_bool_bool) (ats_bool_type, ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_sing) (ats_char_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_add) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_charset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, patsopt_intinf_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_sing) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinfset) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2at) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_lst) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_diff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02595_ () ; static ats_ptr_type auxlst_3 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_3_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type auxlst_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_6 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_11 (ats_ptr_type arg0) ; static ats_void_type aux_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprint_labp2atcst_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p2at2cstlst_vt_33 (ats_ptr_type arg0) ; static ats_ptr_type labp2at2cstlst_vt_35 (ats_ptr_type arg0) ; static ats_int_type __ats_fun_37 (ats_ref_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type __ats_fun_37_closure_make () ; static ats_int_type __ats_fun_37_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) ; static ats_void_type split_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type merge_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_int_type loop_42 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type prerr_interror_loc_02597_ (ats_ptr_type arg0) ; static ats_ptr_type auxanys_45 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type app_49 (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) ; static ats_ptr_type __ats_fun_50 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_50_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_50_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type loop_52 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxmain_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type p2atcst_comp_con_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type aux_54 (ats_ptr_type arg0) ; static ats_ptr_type aux_55 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_56 (ats_int_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_56_closure_make (ats_int_type env0) ; static ats_ptr_type __ats_fun_56_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxanys_58 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_59 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_59_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_59_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_60 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_60_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_60_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_62 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_62_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_62_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type labp2atcst_comp_61 (ats_ptr_type arg0) ; static ats_ptr_type aux_64 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_64_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_65 (ats_ptr_type arg0) ; static ats_clo_ptr_type aux_65_closure_make () ; static ats_ptr_type aux_65_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_67 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_69 (ats_ptr_type arg0) ; static ats_ptr_type __ats_fun_74 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_74_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_74_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux1_76 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux2_77 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 2634(line=86, offs=28) -- 2659(line=86, offs=53) */ ATSstaticdec() ats_void_type prerr_FILENAME_02595_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02595_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_p2atcst")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02595_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 2974(line=109, offs=13) -- 3598(line=136, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_uint_type, tmp4) ; ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_size_type, tmp6) ; ATSlocal (ats_size_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp2)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 2993(line=111, offs=5) -- 3028(line=111, offs=40)") ; } tmp3 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_1) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp2, atslab_2) ; tmp5 = atspre_gt_uint_uint (tmp4, 0u) ; if (tmp5) { tmp6 = atspre_string_length (tmp3) ; tmp7 = atspre_sub_size_size (tmp6, ats_castfn_mac(ats_size_type, tmp4)) ; tmp8 = atspre_string_make_substring (tmp3, 0, ats_castfn_mac(ats_size_type, tmp7)) ; tmp9 = patsopt_intinf_make_string (ats_castfn_mac(ats_ptr_type, tmp8)) ; /* tmp10 = */ atspre_strptr_free (tmp8) ; tmp1 = tmp9 ; } else { tmp1 = patsopt_intinf_make_string (tmp3) ; } /* end of [if] */ return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4078(line=164, offs=1) -- 4264(line=174, offs=2) */ ATSstaticdec() ats_ptr_type auxlst_3 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_auxlst_3: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp21 = (ats_sum_ptr_type)0 ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp20)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_1, tmp21) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp26 = auxlst_3 (env0, env1, tmp23) ; tmp27 = (ats_sum_ptr_type)0 ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_0, tmp26) ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_1, tmp27) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp24, atslab_0, tmp22) ; ats_selptrset_mac(anairiats_sum_6, tmp24, atslab_1, tmp25) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp20)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, env1) ; ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_1, tmp24) ; break ; } while (0) ; return (tmp20) ; } /* end of [auxlst_3] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } auxlst_3_closure_type ; ats_ptr_type auxlst_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_3 (((auxlst_3_closure_type*)cloptr)->closure_env_0, ((auxlst_3_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_3_closure_init (auxlst_3_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_3_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_3_closure_make (ats_ptr_type env0, ats_ptr_type env1) { auxlst_3_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_3_closure_type)) ; auxlst_3_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 3669(line=142, offs=3) -- 4310(line=178, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_lst (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (anairiats_rec_3, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_lst: tmp13 = atspre_gte_int_int (arg0, 0) ; if (tmp13) { tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__test_linkind (arg0) ; tmp12 = atspre_neg_bool (tmp14) ; } else { tmp12 = ats_true_bool ; } /* end of [if] */ if (tmp12) { tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ; } else { tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ; } /* end of [if] */ tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp15) ; if (tmp16 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4000(line=160, offs=5) -- 4031(line=160, offs=36)") ; } tmp17 = ats_caselptrlab_mac(anairiats_sum_4, tmp16, atslab_0) ; tmp18 = ats_select_mac(tmp17, atslab_0) ; tmp19 = ats_select_mac(tmp17, atslab_1) ; tmp11 = auxlst_3 (tmp18, tmp19, arg1) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_lst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_6 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab_loop_6: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp34 ; goto __ats_lab_loop_6 ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: break ; } while (0) ; return /* (tmp33) */ ; } /* end of [loop_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp32) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp32 = */ loop_6 (arg0) ; return /* (tmp32) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4389(line=183, offs=23) -- 4571(line=189, offs=26) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp31 = */ list_vt_free_01499_ats_ptr_type (tmp29) ; arg0 = tmp30 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: break ; } while (0) ; return /* (tmp28) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_free] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab_loop_10: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp40 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp41 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp39, arg3) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp42, atslab_0, tmp41) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp42 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp43 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp40 ; arg1 = arg1 ; arg2 = tmp43 ; arg3 = arg3 ; goto __ats_lab_loop_10 ; // tail call break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp44 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp44 ; break ; } while (0) ; return /* (tmp38) */ ; } /* end of [loop_10] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp45 ; */ /* tmp46 = */ loop_10 (arg0, arg1, (&tmp45), arg2) ; tmp37 = tmp45 ; return (tmp37) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp36 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp36) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab_loop_13: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp51 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp52 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp52, atslab_0, tmp50) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp52 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp53 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp51 ; arg1 = tmp53 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp54 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp54 ; break ; } while (0) ; return /* (tmp49) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp55 ; */ /* tmp56 = */ loop_13 (arg0, (&tmp55)) ; tmp48 = tmp55 ; return (tmp48) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4733(line=196, offs=41) -- 4761(line=196, offs=69) */ ATSstaticdec() ats_ptr_type __ats_fun_11 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; __ats_lab___ats_fun_11: tmp47 = list_copy_01322_ats_ptr_type (arg0) ; return (tmp47) ; } /* end of [__ats_fun_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4641(line=193, offs=23) -- 4762(line=196, offs=70) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy: tmp35 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), &__ats_fun_11) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlstlst_vt_copy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 4850(line=203, offs=3) -- 6044(line=260, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_char_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_int_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_bool_type, tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_bool_type, tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: /* tmp57 = */ atspre_fprint_char (arg0, '_') ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp58) ; /* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (arg0, tmp59) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("P2TCempty()")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, tmp63) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; /* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("[^")) ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinfset (arg0, tmp64) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; /* tmp57 = */ atspre_fprint_bool (arg0, tmp67) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; /* tmp57 = */ atspre_fprint_char (arg0, tmp68) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst("[^")) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_charset (arg0, tmp69) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp72 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; /* tmp57 = */ atspre_fprint_string (arg0, tmp72) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; /* tmp57 = */ atspre_fprintf_exn (arg0, ATSstrcst("\"%s\""), tmp73) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp75 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp77 = atspre_eq_int_int (tmp74, 0) ; if (tmp77) { /* tmp76 = */ atspre_fprint_char (arg0, '@') ; } else { /* empty */ } /* end of [if] */ tmp79 = atspre_gt_int_int (tmp74, 0) ; if (tmp79) { /* tmp78 = */ atspre_fprint_char (arg0, '\'') ; } else { /* empty */ } /* end of [if] */ /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; /* tmp81 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst (arg0, tmp75) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; break ; } while (0) ; return /* (tmp57) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6099(line=263, offs=15) -- 6135(line=263, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcst: /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst (stdout, arg0) ; return /* (tmp82) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6160(line=265, offs=15) -- 6196(line=265, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcst: /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst (stderr, arg0) ; return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_19 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_bool_type, tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_int_type, tmp92) ; __ats_lab_aux_19: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp90 = atspre_gt_int_int (arg1, 0) ; if (tmp90) { /* tmp89 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp91 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp87) ; tmp92 = atspre_add_int_int (arg1, 1) ; arg0 = tmp88 ; arg1 = tmp92 ; goto __ats_lab_aux_19 ; // tail call break ; } while (0) ; return /* (tmp86) */ ; } /* end of [aux_19] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_19_closure_type ; ats_void_type aux_19_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_19 (((aux_19_closure_type*)cloptr)->closure_env_0, ((aux_19_closure_type*)cloptr)->closure_env_1, ((aux_19_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_19_closure_init (aux_19_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_19_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_19_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_19_closure_type *p_clo = ATS_MALLOC(sizeof(aux_19_closure_type)) ; aux_19_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp85) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp85 = */ aux_19 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp85) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6251(line=271, offs=3) -- 6308(line=271, offs=60) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst: /* tmp84 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst) ; return /* (tmp84) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6388(line=277, offs=18) -- 6429(line=277, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst: /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (stdout, arg0) ; return /* (tmp93) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6457(line=279, offs=18) -- 6498(line=279, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst: /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (stderr, arg0) ; return /* (tmp94) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6530(line=282, offs=21) -- 6600(line=283, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst_vt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst_vt: /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (stdout, ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6663(line=286, offs=21) -- 6733(line=287, offs=64) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst_vt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst_vt: /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst (stderr, ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 6792(line=292, offs=5) -- 6990(line=300, offs=4) */ ATSstaticdec() ats_void_type fprint_labp2atcst_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; // ATSlocal_void (tmp100) ; // ATSlocal_void (tmp101) ; __ats_lab_fprint_labp2atcst_24: tmp98 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp98) ; /* tmp101 = */ atspre_fprint_string (arg0, ATSstrcst("= ")) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcst (arg0, tmp99) ; return /* (tmp97) */ ; } /* end of [fprint_labp2atcst_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7055(line=304, offs=3) -- 7115(line=304, offs=63) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst: /* tmp102 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &fprint_labp2atcst_24) ; return /* (tmp102) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7180(line=308, offs=21) -- 7224(line=308, offs=65) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_labp2atcstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_labp2atcstlst: /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst (stdout, arg0) ; return /* (tmp103) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_labp2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7255(line=310, offs=21) -- 7299(line=310, offs=65) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_labp2atcstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_labp2atcstlst: /* tmp104 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_labp2atcstlst (stderr, arg0) ; return /* (tmp104) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_labp2atcstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7355(line=316, offs=3) -- 7462(line=320, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst: /* tmp106 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlst) ; /* tmp105 = */ atspre_fprint_newline (arg0) ; return /* (tmp105) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7524(line=323, offs=21) -- 7570(line=323, offs=67) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst: /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst (stdout, arg0) ; return /* (tmp107) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7601(line=325, offs=21) -- 7647(line=325, offs=67) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst: /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst (stderr, arg0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7682(line=328, offs=24) -- 7760(line=329, offs=71) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst_vt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst_vt: /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst (stdout, ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp109) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__print_p2atcstlstlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7829(line=332, offs=24) -- 7907(line=333, offs=71) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst_vt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst_vt: /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__fprint_p2atcstlstlst (stderr, ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp110) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__prerr_p2atcstlstlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 7969(line=339, offs=1) -- 8051(line=341, offs=50) */ ATSstaticdec() ats_ptr_type p2at2cstlst_vt_33 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; __ats_lab_p2at2cstlst_vt_33: tmp111 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) ; return (tmp111) ; } /* end of [p2at2cstlst_vt_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 8102(line=344, offs=23) -- 8136(line=344, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst: tmp113 = p2at2cstlst_vt_33 (arg0) ; tmp112 = ats_castfn_mac(ats_ptr_type, tmp113) ; return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 8165(line=348, offs=5) -- 8622(line=362, offs=34) */ ATSstaticdec() ats_ptr_type labp2at2cstlst_vt_35 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; __ats_lab_labp2at2cstlst_vt_35: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp115)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_5, tmp115, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp115, atslab_1) ; tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp117), atslab_l0ab_lab) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst (tmp118) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_0, tmp119) ; ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_1, tmp120) ; tmp122 = labp2at2cstlst_vt_35 (tmp116) ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp114, atslab_0, tmp121) ; ats_selptrset_mac(anairiats_sum_6, tmp114, atslab_1, tmp122) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (((ats_sum_ptr_type)tmp115)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: arg0 = tmp116 ; goto __ats_lab_labp2at2cstlst_vt_35 ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp114 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp114) ; } /* end of [labp2at2cstlst_vt_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 9625(line=411, offs=5) -- 9823(line=419, offs=8) */ ATSstaticdec() ats_int_type __ats_fun_37 (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab___ats_fun_37: tmp148 = ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp149 = ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg1), atslab_0) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (tmp148, tmp149) ; return (tmp147) ; } /* end of [__ats_fun_37] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_37_closure_type ; ats_int_type __ats_fun_37_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ref_type arg1) { return __ats_fun_37 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_37_closure_init (__ats_fun_37_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_37_clofun ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16240(line=604, offs=5) -- 16603(line=618, offs=6) */ ATSstaticdec() ats_void_type split_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp154) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab_split_39: tmp155 = atspre_igt (arg1, 0) ; if (tmp155) { // if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp156 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp157 = atspre_isub (arg1, 1) ; arg0 = tmp156 ; arg1 = tmp157 ; arg2 = arg2 ; goto __ats_lab_split_39 ; // tail call } else { ats_ptrget_mac(ats_ptr_type, arg2) = ats_ptrget_mac(ats_ptr_type, arg0) ; tmp158 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp158 ; } /* end of [if] */ return /* (tmp154) */ ; } /* end of [split_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16641(line=620, offs=5) -- 17444(line=646, offs=36) */ ATSstaticdec() ats_void_type merge_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab_merge_40: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_41_1: tmp160 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp161 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp162 = &ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp163 = &ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp164 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ref_type, ats_ref_type))(ats_closure_fun(arg2))) (arg2, tmp160, tmp162) ; tmp165 = atspre_lte_int_int (tmp164, 0) ; if (tmp165) { tmp167 = ats_ptrget_mac(ats_ptr_type, tmp161) ; /* tmp166 = */ merge_40 (tmp167, arg1, arg2, tmp161) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; } else { tmp169 = ats_ptrget_mac(ats_ptr_type, tmp163) ; /* tmp168 = */ merge_40 (arg0, tmp169, arg2, tmp163) ; ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ; break ; } while (0) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: ats_ptrget_mac(ats_ptr_type, arg3) = arg1 ; break ; } while (0) ; return /* (tmp159) */ ; } /* end of [merge_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_42 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; __ats_lab_loop_42: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp173 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp174 = ats_ptrget_mac(ats_ptr_type, tmp173) ; tmp175 = atspre_iadd (arg1, 1) ; arg0 = tmp174 ; arg1 = tmp175 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp172 = arg1 ; break ; } while (0) ; return (tmp172) ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp171) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp171 = loop_42 (arg0, 0) ; return (tmp171) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 16217(line=602, offs=7) -- 17831(line=665, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_mergesort_01524_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_bool_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_int_type, tmp180) ; ATSlocal (ats_int_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; __ats_lab_list_vt_mergesort_01524_ats_ptr_type: tmp170 = list_vt_length_01501_ats_ptr_type (arg0) ; tmp176 = atspre_igte (tmp170, 2) ; if (tmp176) { // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp177 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; /* ats_ptr_type tmp178 ; */ tmp181 = atspre_isub (tmp170, 1) ; tmp180 = atspre_idiv (tmp181, 2) ; /* tmp179 = */ split_39 (tmp177, tmp180, (&tmp178)) ; tmp182 = list_vt_mergesort_01524_ats_ptr_type (arg0, arg1) ; tmp183 = list_vt_mergesort_01524_ats_ptr_type (tmp178, arg1) ; /* tmp184 = */ merge_40 (tmp182, tmp183, arg1, (&tmp178)) ; tmp153 = tmp178 ; } else { tmp153 = arg0 ; } /* end of [if] */ return (tmp153) ; } /* end of [list_vt_mergesort_01524_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02597_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; // ATSlocal_void (tmp192) ; __ats_lab_prerr_interror_loc_02597_: /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp191 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp192 = */ prerr_FILENAME_02595_ () ; /* tmp189 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp189) */ ; } /* end of [prerr_interror_loc_02597_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 8694(line=368, offs=10) -- 10425(line=441, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_char_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_int_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (__ats_fun_37_closure_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; // ATSlocal_void (tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst: tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_p2at_node) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp124)->tag != 1) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp123 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp124)->tag != 0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp123 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp124)->tag != 2) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_13, tmp124, atslab_1) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_13, tmp124, atslab_5) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst (tmp126) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp123)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_0, tmp125) ; ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_1, tmp127) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp124)->tag != 11) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp123 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCempty_2) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp124)->tag != 3) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_14, tmp124, atslab_0) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_int (tmp128) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 3 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp129) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp124)->tag != 4) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_7, tmp124, atslab_0) ; tmp131 = patsopt_intinf_make_string (tmp130) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 3 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp131) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp124)->tag != 5) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_8, tmp124, atslab_0) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp123)->tag = 5 ; ats_selptrset_mac(anairiats_sum_8, tmp123, atslab_0, tmp132) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp124)->tag != 6) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_9, tmp124, atslab_0) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp123)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp123, atslab_0, tmp133) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp124)->tag != 7) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_7, tmp124, atslab_0) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 8 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp134) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp124)->tag != 8) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_7, tmp124, atslab_0) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 9 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp135) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp124)->tag != 9) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_7, tmp124, atslab_0) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf (tmp136) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 3 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp137) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp124)->tag != 10) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_7, tmp124, atslab_0) ; tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp138), atslab_token_node) ; if (((ats_sum_ptr_type)tmp139)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 9395(line=400, offs=9) -- 9435(line=400, offs=49)") ; } tmp140 = ats_caselptrlab_mac(anairiats_sum_2, tmp139, atslab_1) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp123)->tag = 8 ; ats_selptrset_mac(anairiats_sum_7, tmp123, atslab_0, tmp140) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp124)->tag != 12) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_10, tmp124, atslab_0) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_10, tmp124, atslab_1) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cstlst (tmp142) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_lst (tmp141, tmp143) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp124)->tag != 13) { goto __ats_lab_47_0 ; } __ats_lab_40_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_15, tmp124, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_15, tmp124, atslab_2) ; /* ats_ptr_type tmp146 ; */ tmp146 = &(tmp150) ; __ats_fun_37_closure_init (tmp146) ; // closure initialization tmp151 = labp2at2cstlst_vt_35 (tmp145) ; tmp152 = list_vt_mergesort_01524_ats_ptr_type (tmp151, tmp146) ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp123)->tag = 10 ; ats_selptrset_mac(anairiats_sum_10, tmp123, atslab_0, tmp144) ; ats_selptrset_mac(anairiats_sum_10, tmp123, atslab_1, ats_castfn_mac(ats_ptr_type, tmp152)) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp124)->tag != 14) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp185 = ats_caselptrlab_mac(anairiats_sum_5, tmp124, atslab_1) ; arg0 = tmp185 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp124)->tag != 15) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_5, tmp124, atslab_1) ; arg0 = tmp186 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp124)->tag != 16) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp123 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp124)->tag != 17) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_5, tmp124, atslab_0) ; arg0 = tmp187 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst ; // tail call break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_p2at_loc) ; /* tmp188 = */ prerr_interror_loc_02597_ (tmp193) ; /* tmp194 = */ atspre_prerr_string (ATSstrcst(": p2at2cst: p2t0 = ")) ; /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_p2at (arg0) ; /* tmp196 = */ atspre_prerr_newline () ; tmp198 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 10358(line=438, offs=26) -- 10373(line=438, offs=41)", ATSstrcst("\n")) ; /* tmp197 = */ atspre_assert_errmsg (ats_false_bool, tmp198) ; tmp123 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; break ; } while (0) ; return (tmp123) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 10574(line=452, offs=5) -- 10704(line=456, offs=56) */ ATSstaticdec() ats_ptr_type auxanys_45 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_bool_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; __ats_lab_auxanys_45: tmp201 = atspre_gt_int_int (arg0, 0) ; if (tmp201) { tmp202 = atspre_sub_int_int (arg0, 1) ; tmp204 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; tmp203 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp203, atslab_0, tmp204) ; ats_selptrset_mac(anairiats_sum_6, tmp203, atslab_1, arg1) ; arg0 = tmp202 ; arg1 = tmp203 ; goto __ats_lab_auxanys_45 ; // tail call } else { tmp200 = arg1 ; } /* end of [if] */ return (tmp200) ; } /* end of [auxanys_45] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54647(line=1953, offs=6) -- 54699(line=1953, offs=58) */ ATSstaticdec() ats_ptr_type app_49 (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; __ats_lab_app_49: tmp213 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp213) ; } /* end of [app_49] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54575(line=1951, offs=23) -- 54763(line=1956, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp212) ; __ats_lab_list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type: tmp212 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_49, arg1) ; return (tmp212) ; } /* end of [list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 54041(line=1936, offs=19) -- 54491(line=1948, offs=2) */ ATSstaticdec() ats_ptr_type list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_clo_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp211) ; __ats_lab_list_map_cloptr_01415_ats_ptr_type_ats_ptr_type: tmp211 = list_map_vcloptr_01416_ats_ptr_type_ats_ptr_type (arg0, arg1) ; return (tmp211) ; } /* end of [list_map_cloptr_01415_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 11191(line=471, offs=50) -- 11218(line=471, offs=77) */ ATSstaticdec() ats_ptr_type __ats_fun_50 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; __ats_lab___ats_fun_50: tmp215 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp215)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp215, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp215, atslab_1, arg0) ; return (tmp215) ; } /* end of [__ats_fun_50] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_50_closure_type ; ats_ptr_type __ats_fun_50_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_50 (((__ats_fun_50_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_50_closure_init (__ats_fun_50_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_50_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_50_closure_make (ats_ptr_type env0) { __ats_fun_50_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_50_closure_type)) ; __ats_fun_50_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_52 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab_loop_52: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp221 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp221 ; arg1 = arg1 ; goto __ats_lab_loop_52 ; // tail call break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp220) */ ; } /* end of [loop_52] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; // ATSlocal_void (tmp222) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp219 ; */ tmp219 = arg0 ; /* tmp222 = */ loop_52 ((&tmp219), arg1) ; tmp218 = tmp219 ; return (tmp218) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 10732(line=459, offs=5) -- 11714(line=487, offs=34) */ ATSstaticdec() ats_ptr_type auxmain_46 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab_auxmain_46: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_55_0 ; } __ats_lab_52_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (arg0, tmp206) ; if (tmp208) { tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (arg2) ; /* ats_ptr_type tmp214 ; */ tmp214 = __ats_fun_50_closure_make (tmp206) ; tmp210 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp209)), tmp214) ; ATS_FREE(tmp214) ; /* tmp216 = */ list_vt_free_01499_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp209)) ; tmp217 = auxmain_46 (arg0, tmp207, arg2) ; tmp205 = list_vt_append_01504_ats_ptr_type (tmp210, tmp217) ; } else { tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (tmp206) ; tmp225 = (ats_sum_ptr_type)0 ; tmp223 = auxanys_45 (tmp224, tmp225) ; tmp226 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp226)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp226, atslab_0, tmp206) ; ats_selptrset_mac(anairiats_sum_5, tmp226, atslab_1, ats_castfn_mac(ats_ptr_type, tmp223)) ; tmp227 = auxmain_46 (arg0, tmp207, arg2) ; tmp205 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp205, atslab_0, tmp226) ; ats_selptrset_mac(anairiats_sum_6, tmp205, atslab_1, tmp227) ; } /* end of [if] */ break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: tmp205 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp205) ; } /* end of [auxmain_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 10476(line=446, offs=1) -- 11769(line=491, offs=4) */ ATSstaticdec() ats_ptr_type p2atcst_comp_con_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp199) ; __ats_lab_p2atcst_comp_con_44: tmp199 = auxmain_46 (arg0, arg1, arg2) ; return (tmp199) ; } /* end of [p2atcst_comp_con_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 12468(line=522, offs=9) -- 12666(line=530, offs=6) */ ATSstaticdec() ats_ptr_type aux_54 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; __ats_lab_aux_54: do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp243 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: tmp244 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp245 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp246)->tag = 3 ; ats_selptrset_mac(anairiats_sum_7, tmp246, atslab_0, tmp244) ; tmp247 = aux_54 (tmp245) ; tmp243 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp243, atslab_0, tmp246) ; ats_selptrset_mac(anairiats_sum_6, tmp243, atslab_1, tmp247) ; break ; } while (0) ; return (tmp243) ; } /* end of [aux_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 12948(line=541, offs=9) -- 13145(line=549, offs=6) */ ATSstaticdec() ats_ptr_type aux_55 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_char_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; __ats_lab_aux_55: do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp258 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp259 = ats_caselptrlab_mac(anairiats_sum_17, arg0, atslab_0) ; tmp260 = ats_caselptrlab_mac(anairiats_sum_17, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp261)->tag = 6 ; ats_selptrset_mac(anairiats_sum_9, tmp261, atslab_0, tmp259) ; tmp262 = aux_55 (tmp260) ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp258, atslab_0, tmp261) ; ats_selptrset_mac(anairiats_sum_6, tmp258, atslab_1, tmp262) ; break ; } while (0) ; return (tmp258) ; } /* end of [aux_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 13804(line=573, offs=49) -- 13831(line=573, offs=76) */ ATSstaticdec() ats_ptr_type __ats_fun_56 (ats_int_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; __ats_lab___ats_fun_56: tmp273 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp273)->tag = 10 ; ats_selptrset_mac(anairiats_sum_10, tmp273, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_10, tmp273, atslab_1, arg0) ; return (tmp273) ; } /* end of [__ats_fun_56] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; } __ats_fun_56_closure_type ; ats_ptr_type __ats_fun_56_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_56 (((__ats_fun_56_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_56_closure_init (__ats_fun_56_closure_type *p_clo, ats_int_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_56_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_56_closure_make (ats_int_type env0) { __ats_fun_56_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_56_closure_type)) ; __ats_fun_56_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 11846(line=497, offs=3) -- 14020(line=583, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_bool_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_char_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; // ATSlocal_void (tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp: do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp228 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp230 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (tmp229) ; tmp232 = atspre_gte_int_int (tmp231, 0) ; if (tmp232) { tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (tmp229) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_dconlst (tmp233) ; if (tmp234 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 12060(line=508, offs=11) -- 12098(line=508, offs=49)") ; } tmp235 = ats_caselptrlab_mac(anairiats_sum_16, tmp234, atslab_0) ; tmp228 = p2atcst_comp_con_44 (tmp229, tmp235, tmp230) ; } else { tmp236 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; tmp237 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp236) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp237) ; } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp228 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_sing (tmp238) ; tmp240 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp240)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp240, atslab_0, tmp239) ; tmp241 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp240) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp241) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_63_0 ; } __ats_lab_60_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_listize (tmp242) ; tmp228 = aux_54 (tmp248) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp251 = atspre_neg_bool (tmp249) ; tmp250 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp250)->tag = 5 ; ats_selptrset_mac(anairiats_sum_8, tmp250, atslab_0, tmp251) ; tmp252 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp250) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp252) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp253 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_sing (tmp253) ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp255)->tag = 7 ; ats_selptrset_mac(anairiats_sum_7, tmp255, atslab_0, tmp254) ; tmp256 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp255) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp256) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize (tmp257) ; tmp228 = aux_55 (tmp263) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg0)->tag != 8) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp264 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; tmp265 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp264) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp265) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp266 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; tmp267 = (ats_sum_ptr_type)0 ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_0, tmp266) ; ats_selptrset_mac(anairiats_sum_6, tmp228, atslab_1, tmp267) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (((ats_sum_ptr_type)arg0)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp268 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp269 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp270 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp (tmp269) ; /* ats_ptr_type tmp272 ; */ tmp272 = __ats_fun_56_closure_make (tmp268) ; tmp271 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp270)), tmp272) ; ATS_FREE(tmp272) ; /* tmp274 = */ list_vt_free_01499_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp270)) ; tmp228 = tmp271 ; break ; } while (0) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 14118(line=591, offs=5) -- 14294(line=597, offs=23) */ ATSstaticdec() ats_ptr_type auxanys_58 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; __ats_lab_auxanys_58: do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp277 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp279 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; tmp278 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp278, atslab_0, tmp279) ; ats_selptrset_mac(anairiats_sum_6, tmp278, atslab_1, arg1) ; arg0 = tmp277 ; arg1 = tmp278 ; goto __ats_lab_auxanys_58 ; // tail call break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp276 = arg1 ; break ; } while (0) ; return (tmp276) ; } /* end of [auxanys_58] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 14442(line=608, offs=11) -- 14830(line=622, offs=8) */ ATSstaticdec() ats_ptr_type aux_59 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; __ats_lab_aux_59: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp285 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp285, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp285, atslab_1, tmp283) ; tmp286 = aux_59 (env0, tmp284) ; tmp282 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp282, atslab_0, tmp285) ; ats_selptrset_mac(anairiats_sum_6, tmp282, atslab_1, tmp286) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: tmp282 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp282) ; } /* end of [aux_59] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_59_closure_type ; ats_ptr_type aux_59_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_59 (((aux_59_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_59_closure_init (aux_59_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_59_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_59_closure_make (ats_ptr_type env0) { aux_59_closure_type *p_clo = ATS_MALLOC(sizeof(aux_59_closure_type)) ; aux_59_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 14950(line=628, offs=11) -- 15337(line=640, offs=44) */ ATSstaticdec() ats_ptr_type aux_60 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_aux_60: do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp294 = (ats_sum_ptr_type)0 ; tmp293 = auxanys_58 (env0, tmp294) ; tmp292 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp292, atslab_0, tmp290) ; ats_selptrset_mac(anairiats_sum_6, tmp292, atslab_1, tmp293) ; tmp295 = aux_60 (env0, tmp291) ; tmp289 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp289, atslab_0, tmp292) ; ats_selptrset_mac(anairiats_sum_6, tmp289, atslab_1, tmp295) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: tmp289 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp289) ; } /* end of [aux_60] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_60_closure_type ; ats_ptr_type aux_60_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_60 (((aux_60_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_60_closure_init (aux_60_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_60_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_60_closure_make (ats_ptr_type env0) { aux_60_closure_type *p_clo = ATS_MALLOC(sizeof(aux_60_closure_type)) ; aux_60_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 14096(line=589, offs=3) -- 15498(line=650, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp275 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_74_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (tmp281) ; tmp287 = aux_59 (tmp280, tmp288) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp (tmp280) ; tmp296 = aux_60 (tmp281, tmp297) ; tmp275 = list_vt_append_01504_ats_ptr_type (tmp287, tmp296) ; break ; } while (0) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 15756(line=662, offs=41) -- 15784(line=662, offs=69) */ ATSstaticdec() ats_ptr_type __ats_fun_62 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; __ats_lab___ats_fun_62: tmp304 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp304, atslab_1, arg0) ; return (tmp304) ; } /* end of [__ats_fun_62] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_62_closure_type ; ats_ptr_type __ats_fun_62_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_62 (((__ats_fun_62_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_62_closure_init (__ats_fun_62_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_62_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_62_closure_make (ats_ptr_type env0) { __ats_fun_62_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_62_closure_type)) ; __ats_fun_62_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 15553(line=655, offs=1) -- 15831(line=666, offs=4) */ ATSstaticdec() ats_ptr_type labp2atcst_comp_61 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; // ATSlocal_void (tmp305) ; __ats_lab_labp2atcst_comp_61: tmp299 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp (tmp300) ; /* ats_ptr_type tmp303 ; */ tmp303 = __ats_fun_62_closure_make (tmp299) ; tmp302 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp301), tmp303) ; ATS_FREE(tmp303) ; /* tmp305 = */ list_vt_free_01499_ats_ptr_type (tmp301) ; tmp298 = tmp302 ; return (tmp298) ; } /* end of [labp2atcst_comp_61] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 16057(line=681, offs=11) -- 16358(line=688, offs=44) */ ATSstaticdec() ats_ptr_type aux_64 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; __ats_lab_aux_64: do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp312 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp312, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_6, tmp312, atslab_1, tmp310) ; tmp313 = aux_64 (env0, tmp311) ; tmp309 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp309, atslab_0, tmp312) ; ats_selptrset_mac(anairiats_sum_6, tmp309, atslab_1, tmp313) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_82_1: tmp309 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp309) ; } /* end of [aux_64] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_64_closure_type ; ats_ptr_type aux_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_64 (((aux_64_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_64_closure_init (aux_64_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_64_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_64_closure_make (ats_ptr_type env0) { aux_64_closure_type *p_clo = ATS_MALLOC(sizeof(aux_64_closure_type)) ; aux_64_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 16482(line=694, offs=11) -- 16768(line=701, offs=44) */ ATSstaticdec() ats_ptr_type aux_65 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab_aux_65: do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp320 = (ats_sum_ptr_type)0 ; tmp319 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp319, atslab_0, tmp317) ; ats_selptrset_mac(anairiats_sum_6, tmp319, atslab_1, tmp320) ; tmp321 = aux_65 (tmp318) ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp316, atslab_0, tmp319) ; ats_selptrset_mac(anairiats_sum_6, tmp316, atslab_1, tmp321) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: tmp316 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp316) ; } /* end of [aux_65] */ typedef struct { ats_fun_ptr_type closure_fun ; } aux_65_closure_type ; ats_ptr_type aux_65_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_65 (arg0) ; } /* end of function */ ATSinline() ats_void_type aux_65_closure_init (aux_65_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_65_clofun ; return ; } /* end of function */ ats_clo_ptr_type aux_65_closure_make () { aux_65_closure_type *p_clo = ATS_MALLOC(sizeof(aux_65_closure_type)) ; aux_65_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 15914(line=672, offs=3) -- 16930(line=710, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp306 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp307 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp (tmp308) ; tmp314 = aux_64 (tmp307, tmp315) ; tmp323 = labp2atcst_comp_61 (tmp307) ; tmp322 = aux_65 (tmp323) ; tmp306 = list_vt_append_01504_ats_ptr_type (tmp314, tmp322) ; break ; } while (0) ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_comp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 17055(line=721, offs=3) -- 17112(line=721, offs=60) */ ATSstaticdec() ats_ptr_type __ats_fun_67 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; __ats_lab___ats_fun_67: tmp327 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; return (tmp327) ; } /* end of [__ats_fun_67] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 17007(line=716, offs=3) -- 17117(line=722, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any: tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_c2lau_pat) ; tmp326 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp325, &__ats_fun_67) ; tmp328 = (ats_sum_ptr_type)0 ; tmp324 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp324, atslab_0, tmp326) ; ats_selptrset_mac(anairiats_sum_6, tmp324, atslab_1, tmp328) ; return (tmp324) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 17489(line=746, offs=36) -- 17510(line=746, offs=57) */ ATSstaticdec() ats_ptr_type __ats_fun_69 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp333) ; __ats_lab___ats_fun_69: tmp333 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__P2TCany_0) ; return (tmp333) ; } /* end of [__ats_fun_69] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 17193(line=728, offs=3) -- 17786(line=757, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; // ATSlocal_void (tmp337) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp: tmp330 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_c2lau_pat) ; tmp331 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_c2lau_gua) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (tmp331 == (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp332 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp330, &__ats_fun_69) ; tmp334 = (ats_sum_ptr_type)0 ; tmp329 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp329, atslab_0, tmp332) ; ats_selptrset_mac(anairiats_sum_6, tmp329, atslab_1, tmp334) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: // if (tmp331 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_86_1: tmp335 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp330, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2at2cst) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (ats_castfn_mac(ats_ptr_type, tmp335)) ; /* tmp337 = */ list_vt_free_01499_ats_ptr_type (tmp335) ; tmp329 = tmp336 ; break ; } while (0) ; return (tmp329) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__c2lau_pat_comp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 17873(line=763, offs=3) -- 18878(line=799, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_bool_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_bool_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_bool_type, tmp351) ; ATSlocal (ats_bool_type, tmp352) ; ATSlocal (ats_bool_type, tmp353) ; ATSlocal (ats_char_type, tmp354) ; ATSlocal (ats_char_type, tmp355) ; ATSlocal (ats_char_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_bool_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_char_type, tmp360) ; ATSlocal (ats_bool_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test: do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: __ats_lab_87_2: tmp338 = ats_true_bool ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_89_0 ; } __ats_lab_88_2: tmp338 = ats_true_bool ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_90_0 ; } __ats_lab_89_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_99_1 ; } __ats_lab_89_2: tmp339 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp342 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp339, tmp341) ; if (tmp343) { tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test (tmp340, tmp342) ; } else { tmp338 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_91_0 ; } __ats_lab_90_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_99_1 ; } __ats_lab_90_2: tmp338 = ats_true_bool ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_92_0 ; } __ats_lab_91_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_92_1 ; } __ats_lab_91_2: tmp344 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp345 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (tmp344, tmp345) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_93_0 ; } __ats_lab_92_1: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_99_1 ; } __ats_lab_92_2: tmp346 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp347 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member (tmp347, tmp346) ; if (tmp348) { tmp338 = ats_false_bool ; } else { tmp338 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_94_0 ; } __ats_lab_93_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_99_1 ; } __ats_lab_93_2: tmp349 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member (tmp349, tmp350) ; if (tmp351) { tmp338 = ats_false_bool ; } else { tmp338 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_95_0 ; } __ats_lab_94_1: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_99_1 ; } __ats_lab_94_2: tmp352 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp353 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp338 = atspre_eq_bool_bool (tmp352, tmp353) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_96_0 ; } __ats_lab_95_1: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_96_1 ; } __ats_lab_95_2: tmp354 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp338 = atspre_eq_char_char (tmp354, tmp355) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_97_0 ; } __ats_lab_96_1: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_99_1 ; } __ats_lab_96_2: tmp356 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp357 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member (tmp357, tmp356) ; if (tmp358) { tmp338 = ats_false_bool ; } else { tmp338 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_98_0 ; } __ats_lab_97_1: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_99_1 ; } __ats_lab_97_2: tmp359 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp360 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member (tmp359, tmp360) ; if (tmp361) { tmp338 = ats_false_bool ; } else { tmp338 = ats_true_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)arg0)->tag != 10) { goto __ats_lab_99_0 ; } __ats_lab_98_1: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_99_1 ; } __ats_lab_98_2: tmp362 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp363 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_1) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test (tmp362, tmp363) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: __ats_lab_99_1: __ats_lab_99_2: tmp338 = ats_true_bool ; break ; } while (0) ; return (tmp338) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 18948(line=803, offs=3) -- 19327(line=819, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_bool_type, tmp369) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test: do { /* branch: __ats_lab_100 */ __ats_lab_100_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_103_0 ; } __ats_lab_100_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp367 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp368 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test (tmp365, tmp367) ; if (tmp369) { arg0 = tmp366 ; arg1 = tmp368 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test ; // tail call } else { tmp364 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp364 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_103_1: do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp364 = ats_false_bool ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_105_1: tmp364 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp364) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_inter_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 19400(line=823, offs=3) -- 20064(line=848, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_int_type, tmp379) ; ATSlocal (ats_bool_type, tmp380) ; ATSlocal (ats_bool_type, tmp381) ; ATSlocal (ats_bool_type, tmp382) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_106_1: tmp371 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp372 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp373 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp375 = ats_caselptrlab_mac(anairiats_sum_6, tmp371, atslab_0) ; tmp376 = ats_caselptrlab_mac(anairiats_sum_6, tmp371, atslab_1) ; tmp377 = ats_caselptrlab_mac(anairiats_sum_6, tmp373, atslab_0) ; tmp378 = ats_caselptrlab_mac(anairiats_sum_6, tmp373, atslab_1) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (tmp375, tmp377) ; tmp380 = atspre_ilt (tmp379, 0) ; if (tmp380) { arg0 = tmp372 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test ; // tail call } else { tmp381 = atspre_igt (tmp379, 0) ; if (tmp381) { arg0 = arg0 ; arg1 = tmp374 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test ; // tail call } else { tmp382 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_inter_test (tmp376, tmp378) ; if (tmp382) { arg0 = tmp372 ; arg1 = tmp374 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test ; // tail call } else { tmp370 = ats_false_bool ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_108_1: tmp370 = ats_true_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: tmp370 = ats_true_bool ; break ; } while (0) ; return (tmp370) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__labp2atcstlst_inter_test] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 21872(line=901, offs=48) -- 21902(line=901, offs=78) */ ATSstaticdec() ats_ptr_type __ats_fun_74 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp430) ; __ats_lab___ats_fun_74: tmp430 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp430)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp430, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp430, atslab_1, arg0) ; return (tmp430) ; } /* end of [__ats_fun_74] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_74_closure_type ; ats_ptr_type __ats_fun_74_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_74 (((__ats_fun_74_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_74_closure_init (__ats_fun_74_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_74_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_74_closure_make (ats_ptr_type env0) { __ats_fun_74_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_74_closure_type)) ; __ats_fun_74_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 20149(line=854, offs=3) -- 22138(line=912, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_diff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_bool_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_bool_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_bool_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_bool_type, tmp399) ; ATSlocal (ats_bool_type, tmp400) ; ATSlocal (ats_bool_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_char_type, tmp403) ; ATSlocal (ats_char_type, tmp404) ; ATSlocal (ats_bool_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_char_type, tmp408) ; ATSlocal (ats_bool_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_char_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_bool_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_bool_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; // ATSlocal_void (tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_diff: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: __ats_lab_110_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_111_0 ; } __ats_lab_110_2: tmp383 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: __ats_lab_111_2: tmp383 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_comp (arg1) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_113_0 ; } __ats_lab_112_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_114_1 ; } __ats_lab_112_2: tmp384 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp385 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__eq_intinf_intinf (tmp384, tmp385) ; if (tmp386) { tmp383 = (ats_sum_ptr_type)0 ; } else { tmp387 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp387) ; } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_114_0 ; } __ats_lab_113_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_122_1 ; } __ats_lab_113_2: tmp388 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp389 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp390 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member (tmp388, tmp389) ; if (tmp390) { tmp391 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp391) ; } else { tmp392 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_add (tmp388, tmp389) ; tmp393 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp393)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp393, atslab_0, tmp392) ; tmp394 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, tmp393) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp394) ; } /* end of [if] */ break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_115_0 ; } __ats_lab_114_1: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_122_1 ; } __ats_lab_114_2: tmp395 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp396 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp397 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinfset_is_member (tmp396, tmp395) ; if (tmp397) { tmp398 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp398) ; } else { tmp383 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_116_0 ; } __ats_lab_115_1: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_122_1 ; } __ats_lab_115_2: tmp399 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp400 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp401 = atspre_eq_bool_bool (tmp399, tmp400) ; if (tmp401) { tmp383 = (ats_sum_ptr_type)0 ; } else { tmp402 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp402) ; } /* end of [if] */ break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_117_0 ; } __ats_lab_116_1: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_118_1 ; } __ats_lab_116_2: tmp403 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp404 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp405 = atspre_eq_char_char (tmp403, tmp404) ; if (tmp405) { tmp383 = (ats_sum_ptr_type)0 ; } else { tmp406 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp406) ; } /* end of [if] */ break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)arg0)->tag != 7) { goto __ats_lab_118_0 ; } __ats_lab_117_1: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_122_1 ; } __ats_lab_117_2: tmp407 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp408 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member (tmp407, tmp408) ; if (tmp409) { tmp410 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp410) ; } else { tmp411 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_add (tmp407, tmp408) ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp412)->tag = 7 ; ats_selptrset_mac(anairiats_sum_7, tmp412, atslab_0, tmp411) ; tmp413 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, tmp412) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)arg0)->tag != 6) { goto __ats_lab_119_0 ; } __ats_lab_118_1: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_122_1 ; } __ats_lab_118_2: tmp414 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member (tmp415, tmp414) ; if (tmp416) { tmp417 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp417) ; } else { tmp383 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)arg0)->tag != 9) { goto __ats_lab_120_0 ; } __ats_lab_119_1: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_122_1 ; } __ats_lab_119_2: tmp418 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp420 = atspre_eq_string_string (tmp418, tmp419) ; if (tmp420) { tmp383 = (ats_sum_ptr_type)0 ; } else { tmp421 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp421) ; } /* end of [if] */ break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_121_0 ; } __ats_lab_120_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_122_1 ; } __ats_lab_120_2: tmp422 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp423 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp424 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp425 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp426 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp422, tmp424) ; if (tmp426) { tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff (tmp423, tmp425) ; /* ats_ptr_type tmp429 ; */ tmp429 = __ats_fun_74_closure_make (tmp422) ; tmp428 = list_map_cloptr_01415_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp427)), tmp429) ; ATS_FREE(tmp429) ; /* tmp431 = */ list_vt_free_01499_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp427)) ; tmp383 = tmp428 ; } else { tmp432 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp432) ; } /* end of [if] */ break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_122_0 ; } __ats_lab_121_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_122_1 ; } __ats_lab_121_2: tmp383 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: __ats_lab_122_1: __ats_lab_122_2: tmp433 = (ats_sum_ptr_type)0 ; tmp383 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp383, atslab_1, tmp433) ; break ; } while (0) ; return (tmp383) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_diff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 22333(line=925, offs=11) -- 22613(line=932, offs=44) */ ATSstaticdec() ats_ptr_type aux1_76 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; __ats_lab_aux1_76: do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp440 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp441 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp442 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp442, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_6, tmp442, atslab_1, tmp440) ; tmp443 = aux1_76 (arg0, tmp441) ; tmp439 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp439, atslab_0, tmp442) ; ats_selptrset_mac(anairiats_sum_6, tmp439, atslab_1, tmp443) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp439 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp439) ; } /* end of [aux1_76] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 22778(line=939, offs=11) -- 23106(line=947, offs=44) */ ATSstaticdec() ats_ptr_type aux2_77 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; __ats_lab_aux2_77: do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp447 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp448 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; tmp449 = list_copy_01322_ats_ptr_type (arg1) ; tmp450 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp450, atslab_0, tmp447) ; ats_selptrset_mac(anairiats_sum_6, tmp450, atslab_1, tmp449) ; tmp451 = aux2_77 (tmp448, arg1) ; tmp446 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp446, atslab_0, tmp450) ; ats_selptrset_mac(anairiats_sum_6, tmp446, atslab_1, tmp451) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_128_1: tmp446 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp446) ; } /* end of [aux2_77] */ /* // /home/hwxi/Research/Postiats/git/src/pats_patcst2.dats: 22214(line=918, offs=3) -- 23378(line=957, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_ptr_type, tmp453) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff: do { /* branch: __ats_lab_123 */ __ats_lab_123_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_123_1: tmp435 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp436 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_124 */ __ats_lab_124_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_129_0 ; } __ats_lab_124_1: tmp437 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp438 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp444 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff (tmp436, tmp438) ; tmp445 = aux1_76 (tmp435, tmp444) ; tmp453 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcst_diff (tmp435, tmp437) ; tmp452 = aux2_77 (tmp453, tmp436) ; tmp434 = list_vt_append_01504_ats_ptr_type (tmp445, tmp452) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_129_1: tmp434 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_comp (arg1) ; break ; } while (0) ; return (tmp434) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__p2atcstlst_diff] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_patcst2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_utils_dats.c0000664000175000017500000022212312655455557017743 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libc/CATS/stdlib.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.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 "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/stdio.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/stdlib.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/unistd.cats" #include "libc/sys/CATS/types.cats" #include "libc/CATS/fcntl.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ // static char *patsopt_PATSHOME = (char*)0 ; static char *patsopt_PATSHOMERELOC = (char*)0 ; static char *patsopt_ATSPKGRELOCROOT = (char*)0 ; // extern ats_ptr_type patsopt_getenv_gc(ats_ptr_type); ATSinline() char *getenv_gc (const char *name) { return (char*)(patsopt_getenv_gc((char*)name)); } // #define patsopt_getenv(name) getenv(name) // ATSextfun() ats_ptr_type patsopt_PATSHOME_get () { return patsopt_PATSHOME ; // optional string } // end of [patsopt_PATSHOME_get] ATSextfun() ats_ptr_type patsopt_PATSHOMERELOC_get () { return patsopt_PATSHOMERELOC ; // optional string } // end of [patsopt_PATSHOMERELOC_get] // ATSextfun() ats_void_type patsopt_PATSHOME_set () { patsopt_PATSHOME = getenv_gc("PATSHOME") ; if (!patsopt_PATSHOME) patsopt_PATSHOME = getenv_gc("ATSHOME") ; return ; } // end of [patsopt_PATSHOME_set] ATSextfun() ats_void_type patsopt_PATSHOMERELOC_set () { patsopt_PATSHOMERELOC = getenv_gc("PATSHOMERELOC") ; if (!patsopt_PATSHOMERELOC) patsopt_PATSHOMERELOC = getenv_gc("ATSHOMERELOC") ; return ; } // end of [patsopt_PATSHOMERELOC_set] // ATSextfun() ats_ptr_type patsopt_ATSPKGRELOCROOT_get () { return patsopt_ATSPKGRELOCROOT ; // optional string } // end of [patsopt_ATSPKGRELOCROOR_get] ATSextfun() ats_void_type patsopt_ATSPKGRELOCROOT_set () { patsopt_ATSPKGRELOCROOT = getenv_gc("ATSPKGRELOCROOT") ; return ; } // end of [patsopt_ATSPKGRELOCROOT_set] // /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { ats_char_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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_ptr_type, ats_malloc_gc) (ats_size_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; ATSextern_fun(ats_ptr_type, patsopt_getenv_gc) (ats_ptr_type) ; ATSextern_fun(ats_int_type, patsopt_strcasecmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, patsopt_string_test_prefix) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, patsopt_string_test_suffix) (ats_ptr_type, ats_ptr_type) ; 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) ; /* 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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__sasp__charset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__sasp__lstord = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) ; static ats_char_type ptrget_01707_ats_char_type (ats_ptr_type arg0) ; static ats_int_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_llint_type llint_make_string_sgn_9 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2) ; static ats_llint_type llint_make_string_sgn_base_10 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_size_type arg3) ; static ats_uint_type loop_15 (ats_ptr_type arg0, ats_size_type arg1, ats_uint_type arg2) ; static ats_uint_type loop_17 (ats_ptr_type arg0, ats_size_type arg1, ats_uint_type arg2) ; static ats_ptr_type aux_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0, ats_ptr_type env1) ; static ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_23 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type aux_23_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_23_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_25 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_clo_ptr_type aux_25_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type cmp_29 (ats_char_type arg0, ats_char_type arg1) ; static ats_clo_ptr_type cmp_29_closure_make () ; static ats_int_type cmp_29_clofun (ats_clo_ptr_type cloptr, ats_char_type arg0, ats_char_type arg1) ; static ats_ptr_type funset_make_sing_01853_ats_char_type (ats_char_type arg0) ; static ats_int_type compare_elt_elt_01851_ats_char_type (ats_char_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_34 (ats_char_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_34_closure_make (ats_char_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_01856_ats_char_type (ats_ptr_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type ins_38 (ats_char_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type ins_38_closure_make (ats_char_type env0, ats_clo_ref_type env1) ; static ats_ptr_type ins_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_01858_ats_char_type (ats_ref_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_42 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_char_type (ats_ptr_type arg0) ; static ats_ptr_type funset_listize_01869_ats_char_type (ats_ptr_type arg0) ; static ats_void_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type deque_copyout_01952_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3) ; static ats_void_type queue_copyout_01755_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 3147(line=112, offs=3) -- 3412(line=130, offs=4) */ ATSglobaldec() ats_ptr_type patsopt_getenv_gc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab_patsopt_getenv_gc: tmp1 = patsopt_getenv (arg0) ; tmp2 = atspre_stropt_is_some (tmp1) ; if (tmp2) { tmp3 = atspre_string_copy (ats_castfn_mac(ats_ptr_type, tmp1)) ; tmp0 = ats_castfn_mac(ats_ptr_type, tmp3) ; } else { tmp0 = atspre_stropt_none ; } /* end of [if] */ return (tmp0) ; } /* end of [patsopt_getenv_gc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 3492(line=136, offs=7) -- 3616(line=141, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__eqref_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__eqref_type: tmp4 = atspre_peq (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__eqref_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01703_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp10) ; __ats_lab_ptr0_get_01703_ats_char_type: tmp10 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp10) ; } /* end of [ptr0_get_01703_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_char_type ptrget_01707_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp9) ; __ats_lab_ptrget_01707_ats_char_type: tmp9 = ptr0_get_01703_ats_char_type (arg0) ; return (tmp9) ; } /* end of [ptrget_01707_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 3843(line=155, offs=7) -- 4114(line=163, offs=6) */ ATSstaticdec() ats_int_type loop_3 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_char_type, tmp7) ; ATSlocal (ats_char_type, tmp8) ; ATSlocal (ats_char_type, tmp11) ; ATSlocal (ats_char_type, tmp12) ; ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_bool_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_loop_3: tmp8 = ptrget_01707_ats_char_type (arg0) ; tmp7 = atspre_char_toupper (tmp8) ; tmp12 = ptrget_01707_ats_char_type (arg1) ; tmp11 = atspre_char_toupper (tmp12) ; tmp13 = atspre_lt_char_char (tmp7, tmp11) ; if (tmp13) { tmp6 = -1 ; } else { tmp14 = atspre_gt_char_char (tmp7, tmp11) ; if (tmp14) { tmp6 = 1 ; } else { tmp15 = atspre_neq_char_char (tmp7, '\000') ; if (tmp15) { tmp16 = atspre_padd_int (arg0, 1) ; tmp17 = atspre_padd_int (arg1, 1) ; arg0 = tmp16 ; arg1 = tmp17 ; goto __ats_lab_loop_3 ; // tail call } else { tmp6 = 0 ; } /* end of [if] */ } /* end of [if] */ } /* end of [if] */ return (tmp6) ; } /* end of [loop_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 3822(line=154, offs=12) -- 4199(line=166, offs=4) */ ATSglobaldec() ats_int_type patsopt_strcasecmp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; __ats_lab_patsopt_strcasecmp: tmp5 = loop_3 (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp5) ; } /* end of [patsopt_strcasecmp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 4438(line=183, offs=5) -- 4659(line=195, offs=4) */ ATSstaticdec() ats_bool_type loop_7 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_char_type, tmp20) ; ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_char_type, tmp22) ; ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; __ats_lab_loop_7: tmp20 = ptrget_01707_ats_char_type (arg0) ; tmp21 = atspre_gt_char_char (tmp20, '\000') ; if (tmp21) { tmp22 = ptrget_01707_ats_char_type (arg1) ; tmp23 = atspre_eq_char_char (tmp20, tmp22) ; if (tmp23) { tmp24 = atspre_padd_int (arg0, 1) ; tmp25 = atspre_padd_int (arg1, 1) ; arg0 = tmp24 ; arg1 = tmp25 ; goto __ats_lab_loop_7 ; // tail call } else { tmp19 = ats_false_bool ; } /* end of [if] */ } else { tmp19 = ats_true_bool ; } /* end of [if] */ return (tmp19) ; } /* end of [loop_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 4391(line=179, offs=3) -- 4750(line=199, offs=4) */ ATSglobaldec() ats_bool_type patsopt_string_test_prefix (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp18) ; __ats_lab_patsopt_string_test_prefix: tmp18 = loop_7 (ats_castfn_mac(ats_ptr_type, arg1), ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp18) ; } /* end of [patsopt_string_test_prefix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 4954(line=212, offs=3) -- 5212(line=229, offs=4) */ ATSglobaldec() ats_bool_type patsopt_string_test_suffix (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_size_type, tmp27) ; ATSlocal (ats_size_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_size_type, tmp31) ; __ats_lab_patsopt_string_test_suffix: tmp27 = atspre_string_length (arg0) ; tmp28 = atspre_string_length (arg1) ; tmp29 = atspre_gte_size_size (tmp27, tmp28) ; if (tmp29) { tmp31 = atspre_sub_size_size (tmp27, tmp28) ; tmp30 = atspre_padd_size (ats_castfn_mac(ats_ptr_type, arg0), tmp31) ; tmp26 = atspre_eq_string_string (ats_castfn_mac(ats_ptr_type, tmp30), arg1) ; } else { tmp26 = ats_false_bool ; } /* end of [if] */ return (tmp26) ; } /* end of [patsopt_string_test_suffix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 5340(line=241, offs=1) -- 6031(line=271, offs=4) */ ATSstaticdec() ats_llint_type llint_make_string_sgn_9 (ats_int_type arg0, ats_ptr_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_llint_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_char_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_size_type, tmp36) ; ATSlocal (ats_size_type, tmp37) ; ATSlocal (ats_char_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_size_type, tmp42) ; __ats_lab_llint_make_string_sgn_9: tmp33 = atspre_string_isnot_atend (arg1, arg2) ; if (tmp33) { tmp34 = atspre_string_get_char_at (arg1, arg2) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp34 != '0') { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp36 = atspre_add_size1_int1 (arg2, 1) ; tmp35 = atspre_string_isnot_atend (arg1, tmp36) ; if (tmp35) { tmp37 = atspre_add_size1_int1 (arg2, 1) ; tmp38 = atspre_string_get_char_at (arg1, tmp37) ; tmp40 = atspre_neq_char_char (tmp38, 'x') ; tmp41 = atspre_neq_char_char (tmp38, 'X') ; tmp39 = atspre_mul_bool_bool (tmp40, tmp41) ; if (tmp39) { tmp32 = llint_make_string_sgn_base_10 (arg0, 8, arg1, tmp37) ; } else { tmp42 = atspre_add_size1_int1 (tmp37, 1) ; tmp32 = llint_make_string_sgn_base_10 (arg0, 16, arg1, tmp42) ; } /* end of [if] */ } else { tmp32 = 0ll ; } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp32 = llint_make_string_sgn_base_10 (arg0, 10, arg1, arg2) ; break ; } while (0) ; } else { tmp32 = 0ll ; } /* end of [if] */ return (tmp32) ; } /* end of [llint_make_string_sgn_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 6071(line=274, offs=1) -- 6390(line=286, offs=4) */ ATSstaticdec() ats_llint_type llint_make_string_sgn_base_10 (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_size_type arg3) { /* local vardec */ ATSlocal (ats_llint_type, tmp43) ; ATSlocal (ats_llint_type, tmp44) ; ATSlocal (ats_llint_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_llint_make_string_sgn_base_10: tmp44 = atspre_llint_of_int (arg0) ; tmp46 = atspre_padd_int (arg2, arg3) ; tmp45 = atslib_strtoll_errnul (tmp46, arg1) ; tmp43 = atspre_mul_llint_llint (tmp44, tmp45) ; return (tmp43) ; } /* end of [llint_make_string_sgn_base_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 6485(line=292, offs=3) -- 6938(line=311, offs=4) */ ATSglobaldec() ats_llint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_llint_type, tmp47) ; ATSlocal (ats_int_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_char_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string: /* ats_int_type tmp48 ; */ tmp48 = 1 ; tmp49 = atspre_string_isnot_empty (ats_castfn_mac(ats_ptr_type, arg0)) ; if (tmp49) { tmp50 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 0) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (tmp50 != '+') { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp47 = llint_make_string_sgn_9 (1, ats_castfn_mac(ats_ptr_type, arg0), 1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp50 != '-') { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp47 = llint_make_string_sgn_9 (-1, ats_castfn_mac(ats_ptr_type, arg0), 1) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp50 != '~') { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp47 = llint_make_string_sgn_9 (-1, ats_castfn_mac(ats_ptr_type, arg0), 1) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp47 = llint_make_string_sgn_9 (1, ats_castfn_mac(ats_ptr_type, arg0), 0) ; break ; } while (0) ; } else { tmp47 = 0ll ; } /* end of [if] */ return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 6999(line=314, offs=20) -- 7024(line=314, offs=45) */ ATSglobaldec() ats_double_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_double_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string: tmp51 = atslib_atof (arg0) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 7097(line=321, offs=17) -- 7613(line=350, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_base (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_char_type, tmp54) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_bool_type, tmp56) ; ATSlocal (ats_char_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_base: tmp53 = atspre_string_isnot_atend (ats_castfn_mac(ats_ptr_type, arg0), 0) ; if (tmp53) { tmp54 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 0) ; tmp55 = atspre_eq_char_char (tmp54, '0') ; if (tmp55) { tmp56 = atspre_string_isnot_atend (ats_castfn_mac(ats_ptr_type, arg0), 1) ; if (tmp56) { tmp57 = atspre_string_get_char_at__intsz (ats_castfn_mac(ats_ptr_type, arg0), 1) ; tmp59 = atspre_eq_char_char (tmp57, 'x') ; if (tmp59) { tmp58 = ats_true_bool ; } else { tmp58 = atspre_eq_char_char (tmp57, 'X') ; } /* end of [if] */ if (tmp58) { tmp52 = 16 ; } else { tmp60 = atspre_char_isdigit (tmp57) ; if (tmp60) { tmp52 = 8 ; } else { tmp52 = 10 ; } /* end of [if] */ } /* end of [if] */ } else { tmp52 = 10 ; } /* end of [if] */ } else { tmp52 = 10 ; } /* end of [if] */ } else { tmp52 = 10 ; } /* end of [if] */ return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_base] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 7785(line=360, offs=5) -- 8002(line=371, offs=4) */ ATSstaticdec() ats_uint_type loop_15 (ats_ptr_type arg0, ats_size_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp62) ; ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_size_type, tmp64) ; ATSlocal (ats_char_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_uint_type, tmp67) ; __ats_lab_loop_15: tmp63 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp63) { tmp64 = atspre_sub_size1_int1 (arg1, 1) ; tmp65 = atspre_string_get_char_at (arg0, tmp64) ; tmp66 = atspre_string_contains (ATSstrcst("ulUL"), tmp65) ; if (tmp66) { tmp67 = atspre_add_uint_uint (arg2, 1u) ; arg0 = arg0 ; arg1 = tmp64 ; arg2 = tmp67 ; goto __ats_lab_loop_15 ; // tail call } else { tmp62 = arg2 ; } /* end of [if] */ } else { tmp62 = arg2 ; } /* end of [if] */ return (tmp62) ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 7669(line=353, offs=17) -- 8080(line=377, offs=4) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp61) ; ATSlocal (ats_size_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx: tmp68 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp61 = loop_15 (ats_castfn_mac(ats_ptr_type, arg0), tmp68, 0u) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8272(line=389, offs=5) -- 8489(line=401, offs=4) */ ATSstaticdec() ats_uint_type loop_17 (ats_ptr_type arg0, ats_size_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_uint_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_size_type, tmp72) ; ATSlocal (ats_char_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_uint_type, tmp75) ; __ats_lab_loop_17: tmp71 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp71) { tmp72 = atspre_sub_size1_int1 (arg1, 1) ; tmp73 = atspre_string_get_char_at (arg0, tmp72) ; tmp74 = atspre_string_contains (ATSstrcst("fFlL"), tmp73) ; if (tmp74) { tmp75 = atspre_add_uint_uint (arg2, 1u) ; arg0 = arg0 ; arg1 = tmp72 ; arg2 = tmp75 ; goto __ats_lab_loop_17 ; // tail call } else { tmp70 = arg2 ; } /* end of [if] */ } else { tmp70 = arg2 ; } /* end of [if] */ return (tmp70) ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8156(line=382, offs=16) -- 8567(line=407, offs=4) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__float_get_nsfx (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp69) ; ATSlocal (ats_size_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__float_get_nsfx: tmp76 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp69 = loop_17 (ats_castfn_mac(ats_ptr_type, arg0), tmp76, 0u) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__float_get_nsfx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8708(line=419, offs=12) -- 8724(line=419, offs=28) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil: tmp77 = (ats_sum_ptr_type)0 ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8748(line=422, offs=13) -- 8780(line=422, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing: tmp79 = (ats_sum_ptr_type)0 ; tmp78 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp78, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp78, atslab_1, tmp79) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8837(line=427, offs=7) -- 9106(line=434, offs=46) */ ATSstaticdec() ats_ptr_type aux_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab_aux_21: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp85 = ((ats_int_type(*)(ats_ptr_type, ats_ptr_type))env1) (env0, tmp82) ; tmp84 = atspre_lte_int_int (tmp85, 0) ; if (tmp84) { tmp81 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_1, arg0) ; } else { tmp86 = aux_21 (env0, env1, tmp83) ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_1, tmp86) ; } /* end of [if] */ break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp87 = (ats_sum_ptr_type)0 ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_0, tmp81, atslab_1, tmp87) ; break ; } while (0) ; return (tmp81) ; } /* end of [aux_21] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; } aux_21_closure_type ; ats_ptr_type aux_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_21 (((aux_21_closure_type*)cloptr)->closure_env_0, ((aux_21_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_21_closure_init (aux_21_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_21_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_21_closure_make (ats_ptr_type env0, ats_ptr_type env1) { aux_21_closure_type *p_clo = ATS_MALLOC(sizeof(aux_21_closure_type)) ; aux_21_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 8811(line=426, offs=3) -- 9142(line=438, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert: tmp80 = aux_21 (arg1, arg2, arg0) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 9227(line=445, offs=1) -- 9648(line=462, offs=2) */ ATSstaticdec() ats_ptr_type aux_23 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_bool_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; __ats_lab_aux_23: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp89 = arg1 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp89 = arg0 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; tmp95 = ((ats_int_type(*)(ats_ptr_type, ats_ptr_type))env0) (tmp90, tmp92) ; tmp94 = atspre_lte_int_int (tmp95, 0) ; if (tmp94) { tmp96 = aux_23 (env0, tmp91, arg1) ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp89, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_0, tmp89, atslab_1, tmp96) ; } else { tmp97 = aux_23 (env0, arg0, tmp93) ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp89, atslab_0, tmp92) ; ats_selptrset_mac(anairiats_sum_0, tmp89, atslab_1, tmp97) ; } /* end of [if] */ break ; } while (0) ; break ; } while (0) ; return (tmp89) ; } /* end of [aux_23] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_23_closure_type ; ats_ptr_type aux_23_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return aux_23 (((aux_23_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type aux_23_closure_init (aux_23_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_23_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_23_closure_make (ats_ptr_type env0) { aux_23_closure_type *p_clo = ATS_MALLOC(sizeof(aux_23_closure_type)) ; aux_23_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 9198(line=442, offs=3) -- 9694(line=466, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union: tmp88 = aux_23 (arg2, arg0, arg1) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_union] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 9776(line=472, offs=5) -- 10192(line=485, offs=61) */ ATSstaticdec() ats_ptr_type aux_25 (ats_ptr_type env0, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_bool_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_bool_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab_aux_25: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ; tmp103 = ((ats_int_type(*)(ats_ptr_type, ats_ptr_type))env0) (tmp100, arg0) ; tmp102 = atspre_eq_int_int (tmp103, 0) ; if (tmp102) { tmp104 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp101 ; arg2 = tmp104 ; goto __ats_lab_aux_25 ; // tail call } else { tmp105 = atspre_gt_int_int (arg2, 0) ; if (tmp105) { tmp106 = aux_25 (env0, tmp100, tmp101, 0) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp99, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp99, atslab_1, tmp106) ; } else { arg0 = tmp100 ; arg1 = tmp101 ; arg2 = 0 ; goto __ats_lab_aux_25 ; // tail call } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp107 = atspre_gt_int_int (arg2, 0) ; if (tmp107) { tmp108 = (ats_sum_ptr_type)0 ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, tmp99, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp99, atslab_1, tmp108) ; } else { tmp99 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; } while (0) ; return (tmp99) ; } /* end of [aux_25] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_25_closure_type ; ats_ptr_type aux_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { return aux_25 (((aux_25_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type aux_25_closure_init (aux_25_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_25_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_25_closure_make (ats_ptr_type env0) { aux_25_closure_type *p_clo = ATS_MALLOC(sizeof(aux_25_closure_type)) ; aux_25_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 9753(line=470, offs=7) -- 10331(line=495, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_get_dups (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_get_dups: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp98 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ; tmp110 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_1) ; tmp98 = aux_25 (arg1, tmp109, tmp110, 0) ; break ; } while (0) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord_get_dups] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10383(line=497, offs=23) -- 10392(line=497, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list: tmp111 = arg0 ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__lstord2list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10465(line=505, offs=3) -- 10679(line=515, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_char_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append: tmp113 = ptr0_get_01703_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ; tmp114 = atspre_eq_char_char (tmp113, arg2) ; if (tmp114) { tmp112 = atspre_tostringf (ATSstrcst("%s%s"), arg0, arg1) ; } else { tmp112 = atspre_tostringf (ATSstrcst("%s%c%s"), arg0, arg2, arg1) ; } /* end of [if] */ return (tmp112) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__dirpath_append] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10754(line=521, offs=2) -- 10907(line=530, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_stropt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp115) ; ATSlocal (ats_bool_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_stropt: tmp116 = atspre_stropt_is_some (arg1) ; if (tmp116) { /* tmp115 = */ atspre_fprint_string (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; } else { /* tmp115 = */ atspre_fprint_string (arg0, ATSstrcst("(none)")) ; } /* end of [if] */ return /* (tmp115) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_stropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11874(line=591, offs=4) -- 11947(line=594, offs=29) */ ATSstaticdec() ats_int_type cmp_29 (ats_char_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp117) ; __ats_lab_cmp_29: tmp117 = atspre_compare_char_char (arg0, arg1) ; return (tmp117) ; } /* end of [cmp_29] */ typedef struct { ats_fun_ptr_type closure_fun ; } cmp_29_closure_type ; ats_int_type cmp_29_clofun (ats_clo_ptr_type cloptr, ats_char_type arg0, ats_char_type arg1) { return cmp_29 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type cmp_29_closure_init (cmp_29_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&cmp_29_clofun ; return ; } /* end of function */ ats_clo_ptr_type cmp_29_closure_make () { cmp_29_closure_type *p_clo = ATS_MALLOC(sizeof(cmp_29_closure_type)) ; cmp_29_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 2248(line=76, offs=18) -- 2277(line=76, offs=47) */ ATSstaticdec() ats_ptr_type funset_make_sing_01853_ats_char_type (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab_funset_make_sing_01853_ats_char_type: tmp120 = (ats_sum_ptr_type)0 ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp119, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp119, atslab_1, tmp120) ; return (tmp119) ; } /* end of [funset_make_sing_01853_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12030(line=601, offs=14) -- 12055(line=601, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_sing (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_sing: tmp118 = funset_make_sing_01853_ats_char_type (arg0) ; return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_sing] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 1887(line=58, offs=32) -- 1915(line=58, offs=60) */ ATSstaticdec() ats_int_type compare_elt_elt_01851_ats_char_type (ats_char_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp127) ; __ats_lab_compare_elt_elt_01851_ats_char_type: tmp127 = ((ats_int_type(*)(ats_clo_ptr_type, ats_char_type, ats_char_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp127) ; } /* end of [compare_elt_elt_01851_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3671(line=138, offs=7) -- 3950(line=144, offs=27) */ ATSstaticdec() ats_bool_type aux_34 (ats_char_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp123) ; ATSlocal (ats_char_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_bool_type, tmp129) ; __ats_lab_aux_34: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp126 = compare_elt_elt_01851_ats_char_type (env0, tmp124, env1) ; tmp128 = atspre_gt_int_int (tmp126, 0) ; if (tmp128) { tmp123 = ats_false_bool ; } else { tmp129 = atspre_lt_int_int (tmp126, 0) ; if (tmp129) { arg0 = tmp125 ; goto __ats_lab_aux_34 ; // tail call } else { tmp123 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp123 = ats_false_bool ; break ; } while (0) ; return (tmp123) ; } /* end of [aux_34] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_char_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_34_closure_type ; ats_bool_type aux_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_34 (((aux_34_closure_type*)cloptr)->closure_env_0, ((aux_34_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_34_closure_init (aux_34_closure_type *p_clo, ats_char_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_34_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_34_closure_make (ats_char_type env0, ats_clo_ref_type env1) { aux_34_closure_type *p_clo = ATS_MALLOC(sizeof(aux_34_closure_type)) ; aux_34_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3645(line=137, offs=3) -- 3986(line=148, offs=4) */ ATSstaticdec() ats_bool_type funset_is_member_01856_ats_char_type (ats_ptr_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; __ats_lab_funset_is_member_01856_ats_char_type: tmp122 = aux_34 (arg1, arg2, arg0) ; return (tmp122) ; } /* end of [funset_is_member_01856_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12088(line=605, offs=3) -- 12127(line=605, offs=42) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member: tmp121 = funset_is_member_01856_ats_char_type (arg0, arg1, cmp_29_closure_make ()) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_is_member] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4180(line=158, offs=7) -- 4779(line=176, offs=10) */ ATSstaticdec() ats_ptr_type ins_38 (ats_char_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_char_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_bool_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_bool_type, tmp143) ; ATSlocal (ats_int_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_ins_38: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp137 = compare_elt_elt_01851_ats_char_type (env0, tmp135, env1) ; tmp138 = atspre_gt_int_int (tmp137, 0) ; if (tmp138) { tmp139 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp139 ; tmp134 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_1, arg0) ; } else { tmp140 = atspre_lt_int_int (tmp137, 0) ; if (tmp140) { tmp141 = ats_ptrget_mac(ats_int_type, arg1) ; tmp142 = ins_38 (env0, env1, tmp136, arg1) ; tmp143 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp141) ; if (tmp143) { tmp134 = arg0 ; } else { tmp134 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_0, tmp135) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_1, tmp142) ; } /* end of [if] */ } else { tmp134 = arg0 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp144 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp144 ; tmp145 = (ats_sum_ptr_type)0 ; tmp134 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp134, atslab_1, tmp145) ; break ; } while (0) ; return (tmp134) ; } /* end of [ins_38] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_char_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } ins_38_closure_type ; ats_ptr_type ins_38_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return ins_38 (((ins_38_closure_type*)cloptr)->closure_env_0, ((ins_38_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type ins_38_closure_init (ins_38_closure_type *p_clo, ats_char_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&ins_38_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type ins_38_closure_make (ats_char_type env0, ats_clo_ref_type env1) { ins_38_closure_type *p_clo = ATS_MALLOC(sizeof(ins_38_closure_type)) ; ins_38_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4154(line=157, offs=3) -- 4907(line=182, offs=4) */ ATSstaticdec() ats_bool_type funset_insert_01858_ats_char_type (ats_ref_type arg0, ats_char_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp133) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; __ats_lab_funset_insert_01858_ats_char_type: /* ats_int_type tmp146 ; */ tmp146 = 0 ; tmp147 = ins_38 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp146)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp147 ; tmp148 = atspre_eq_int_int (tmp146, 0) ; if (tmp148) { tmp133 = ats_true_bool ; } else { tmp133 = ats_false_bool ; } /* end of [if] */ return (tmp133) ; } /* end of [funset_insert_01858_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12169(line=610, offs=3) -- 12251(line=614, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_add (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_add: /* ats_ptr_type tmp131 ; */ tmp131 = arg0 ; tmp132 = funset_insert_01858_ats_char_type ((&tmp131), arg1, cmp_29_closure_make ()) ; tmp130 = tmp131 ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_42 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp152) ; ATSlocal (ats_char_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab_loop_42: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp155 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp155, atslab_0, tmp153) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp155 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp156 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp154 ; arg1 = tmp156 ; goto __ats_lab_loop_42 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp157 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp157 ; break ; } while (0) ; return /* (tmp152) */ ; } /* end of [loop_42] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp158) ; // ATSlocal_void (tmp159) ; __ats_lab_list_copy_01322_ats_char_type: /* ats_ptr_type tmp158 ; */ /* tmp159 = */ loop_42 (arg0, (&tmp158)) ; tmp151 = tmp158 ; return (tmp151) ; } /* end of [list_copy_01322_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 10918(line=433, offs=16) -- 10941(line=433, offs=39) */ ATSstaticdec() ats_ptr_type funset_listize_01869_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; __ats_lab_funset_listize_01869_ats_char_type: tmp150 = list_copy_01322_ats_char_type (arg0) ; return (tmp150) ; } /* end of [funset_listize_01869_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12298(line=617, offs=17) -- 12323(line=617, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize: tmp149 = funset_listize_01869_ats_char_type (arg0) ; return (tmp149) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12432(line=627, offs=5) -- 12719(line=642, offs=2) */ ATSstaticdec() ats_void_type loop_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp162) ; ATSlocal (ats_char_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_bool_type, tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_int_type, tmp168) ; __ats_lab_loop_44: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp166 = atspre_gt_int_int (arg2, 0) ; if (tmp166) { /* tmp165 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp167 = */ atspre_fprint_char (arg0, tmp163) ; tmp168 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp164 ; arg2 = tmp168 ; goto __ats_lab_loop_44 ; // tail call break ; } while (0) ; return /* (tmp162) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 12376(line=623, offs=3) -- 12769(line=646, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_charset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_charset: tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize (arg1) ; /* tmp160 = */ loop_44 (arg0, tmp161, 0) ; return /* (tmp160) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__fprint_charset] */ /* // /home/hwxi/Research/Anairiats/libats/ngc/DATS/deque_arr.dats: 13059(line=506, offs=15) -- 13123(line=507, offs=49) */ ATSstaticdec() ats_void_type deque_copyout_01952_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp175) ; __ats_lab_deque_copyout_01952_ats_uchar_type: /* tmp175 = */ atslib_ngc_deque_arr_deque_copyout_tsz (arg0, arg1, arg2, arg3, sizeof(ats_uchar_type)) ; return /* (tmp175) */ ; } /* end of [deque_copyout_01952_ats_uchar_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_arr.dats: 4072(line=159, offs=3) -- 4119(line=159, offs=50) */ ATSstaticdec() ats_void_type queue_copyout_01755_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp174) ; __ats_lab_queue_copyout_01755_ats_uchar_type: /* tmp174 = */ deque_copyout_01952_ats_uchar_type (arg0, arg1, arg2, arg3) ; return /* (tmp174) */ ; } /* end of [queue_copyout_01755_ats_uchar_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 13039(line=661, offs=3) -- 13542(line=678, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1 (ats_ref_type arg0, ats_size_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_size_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; // ATSlocal_void (tmp173) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1: tmp171 = atspre_add_size1_int1 (arg2, 1) ; tmp170 = ats_malloc_gc (tmp171) ; tmp172 = ats_selsin_mac(tmp170, atslab_2) ; /* tmp173 = */ queue_copyout_01755_ats_uchar_type (arg0, arg1, arg2, tmp172) ; /* tmp176 = */ atspre_bytes_strbuf_trans (tmp172, arg2) ; tmp177 = tmp172 ; tmp169 = ats_castfn_mac(ats_ptr_type, tmp177) ; return (tmp169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__queue_get_strptr1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 16279(line=822, offs=27) -- 16298(line=822, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__ptr_as_volatile (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp178) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__ptr_as_volatile: return /* (tmp178) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__ptr_as_volatile] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__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 ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__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 () ; ATS_2d0_2e2_2e12_2libc_2SATS_2fcntl_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdio_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2stdlib_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2unistd_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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 */ // extern ats_ssize_type atslib_fildes_read_all_err ( ats_int_type fd, ats_ref_type buf, ats_size_type ntot ) ; // end of [atslib_fildes_read_all_err] // ats_ptr_type patsopt_file2strptr (ats_int_type fd) { int err = 0 ; int nerr = 0 ; char* sbp = (char*)0 ; // long int ofs_beg, ofs_end, nbyte ; // ofs_beg = lseek (fd, 0L, SEEK_CUR) ; if (ofs_beg < 0) nerr += 1 ; ofs_end = lseek (fd, 0L, SEEK_END) ; if (ofs_end < 0) nerr += 1 ; ofs_beg = lseek (fd, ofs_beg, SEEK_SET) ; if (ofs_beg < 0) nerr += 1 ; nbyte = ofs_end - ofs_beg ; // if (nerr == 0) { sbp = ATS_MALLOC(nbyte + 1) ; } if (sbp == NULL) nerr += 1 ; // if (nerr == 0) { err = atslib_fildes_read_all_err (fd, sbp, nbyte) ; } if (err < 0) { nerr += 1 ; } // if (nerr == 0) { sbp[ofs_end] = '\0'; return sbp ; } // if (sbp) free (sbp) ; return NULL ; } // end of [patsopt_file2strptr] /* ****** ****** */ /* end of [pats_utils_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_claulst_dats.c0000664000175000017500000062513012655455557021440 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_5 ; typedef struct { anairiats_rec_5 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_hiclau_loc ; ats_ptr_type atslab_hiclau_pat ; ats_ptr_type atslab_hiclau_gua ; ats_int_type atslab_hiclau_seq ; ats_int_type atslab_hiclau_neg ; ats_ptr_type atslab_hiclau_body ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_higmat_loc ; ats_ptr_type atslab_higmat_exp ; ats_ptr_type atslab_higmat_pat ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_20 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKpat_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKlabpat_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKrparen_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPasvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPlablparen_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatlparen_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPreclparen_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatneg_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabend_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabgua_9) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_bool_bool) (ats_bool_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_int_of_llint) (ats_llint_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_llint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string) (ats_ptr_type) ; ATSextern_fun(ats_double_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_binarian) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckindopt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hipat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmplab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplstlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_isbin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_rest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__himatchlst_patcomp) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclau_patcomp) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_ccomp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmat_ccomp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKpat_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKlabpat_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKrparen_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPasvar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPlablparen_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatlparen_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPreclparen_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatneg_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabend_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabgua_9) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02457_ () ; static ats_ptr_type ptrof_3 (ats_ptr_type arg0) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type aux_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxlst_17 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type auxlst2_18 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlst_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type auxlst2_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_void_type ftpmv_25 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxmovfin_24 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop_28 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_anairiats_rec_5 (ats_ptr_type arg0) ; static ats_ptr_type revapp_31 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_anairiats_rec_5 (ats_ptr_type arg0) ; static ats_void_type loop_36 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type revapp_42 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxlst_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxtpmv_make_45 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type addrparen_46 (ats_ptr_type arg0) ; static ats_ptr_type addselcon_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type addselect_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxcomplst_49 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxcomplst_mtk_50 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type prerr_interror_loc_02459_ (ats_ptr_type arg0) ; static ats_ptr_type auxcomplst_pat_51 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxcomplst_labpat_52 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxloc_55 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst_56 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_void_type loop_59 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_extend_01503_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type addtpmv_62 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type addtlab_63 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type addfreecon_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type fptcmplst_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type fptcmplst2_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxcl_70 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxclist_71 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 1832(line=64, offs=3) -- 1871(line=64, offs=42) */ ATSstaticdec() ats_void_type prerr_FILENAME_02457_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02457_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_claulst")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02457_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 2930(line=137, offs=3) -- 3113(line=146, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp1 = tmp2 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (tmp3) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp4, tmp3) ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 3214(line=154, offs=5) -- 3298(line=155, offs=53) */ ATSstaticdec() ats_ptr_type ptrof_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab_ptrof_3: tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_primval_loc) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp7, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, arg0) ; return (tmp6) ; } /* end of [ptrof_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 3189(line=152, offs=3) -- 3638(line=173, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (arg1) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; if (tmp8) { tmp5 = ptrof_3 (tmp9) ; } else { tmp5 = tmp9 ; } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp11 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; if (tmp8) { tmp5 = ptrof_3 (tmp11) ; } else { tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (tmp10) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp12, tmp10) ; } /* end of [if] */ break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 3717(line=179, offs=3) -- 4115(line=202, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("TPMVnone(")) ; /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp14) ; /* tmp13 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("TPMVsome(")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp17) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("<-")) ; /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp18) ; /* tmp13 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 4338(line=218, offs=3) -- 4644(line=234, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (anairiats_rec_5, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp26.atslab_0 = arg1 ; tmp26.atslab_1 = tmp24 ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_0, tmp26) ; ats_selptrset_mac(anairiats_sum_6, tmp25, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp25 ; break ; } while (0) ; return /* (tmp23) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp30 ; */ tmp30 = arg0 ; tmp29 = atspre_ref_make_elt_tsz ((&tmp30), sizeof(ats_ptr_type)) ; return (tmp29) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_ref_make_elt_01089_ats_ptr_type: tmp28 = ref_01088_ats_ptr_type (arg0) ; return (tmp28) ; } /* end of [ref_make_elt_01089_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 5175(line=270, offs=18) -- 5214(line=270, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make: tmp31 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; tmp27 = ref_make_elt_01089_ats_ptr_type (tmp31) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 6007(line=311, offs=3) -- 7997(line=406, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; // ATSlocal_void (tmp80) ; // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomp: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPany(")) ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp33) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp36 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp37 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPvar(")) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp36) ; /* tmp40 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp37) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp42 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp43 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp44 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPasvar(")) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp42) ; /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp43) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPlablparen(")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp48) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_3) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_4) ; /* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPpatlparen(")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (arg0, tmp51) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__fprint_pckindopt (arg0, tmp54) ; /* tmp60 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp52) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp53) ; /* tmp64 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; tmp66 = ats_ptrget_mac(ats_ptr_type, tmp55) ; /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (arg0, tmp66) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp67 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp68 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPreclparen(")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp67) ; /* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp68) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPrparen()")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp74 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp75 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPpatckneg(")) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patck (arg0, tmp73) ; /* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; /* tmp78 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp74) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp80 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPtmplabend(")) ; /* tmp81 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp79) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg1)->tag != 9) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp83 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp84 = */ atspre_fprint_string (arg0, ATSstrcst("PTCMPtmplabgua(")) ; /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp82) ; /* tmp86 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; tmp88 = ats_ptrget_mac(ats_ptr_type, tmp83) ; /* tmp87 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_patckont (arg0, tmp88) ; /* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; } while (0) ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_12 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_bool_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_int_type, tmp97) ; __ats_lab_aux_12: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp95 = atspre_gt_int_int (arg1, 0) ; if (tmp95) { /* tmp94 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp96 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp92) ; tmp97 = atspre_add_int_int (arg1, 1) ; arg0 = tmp93 ; arg1 = tmp97 ; goto __ats_lab_aux_12 ; // tail call break ; } while (0) ; return /* (tmp91) */ ; } /* end of [aux_12] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_12_closure_type ; ats_void_type aux_12_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_12 (((aux_12_closure_type*)cloptr)->closure_env_0, ((aux_12_closure_type*)cloptr)->closure_env_1, ((aux_12_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_12_closure_init (aux_12_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_12_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_12_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_12_closure_type *p_clo = ATS_MALLOC(sizeof(aux_12_closure_type)) ; aux_12_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp90) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp90 = */ aux_12 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp90) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 8329(line=426, offs=3) -- 8388(line=427, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplst: /* tmp89 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst("; "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomp) ; return /* (tmp89) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 8453(line=432, offs=3) -- 8517(line=433, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplstlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplstlst: /* tmp98 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplst) ; return /* (tmp98) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__fprint_patcomplstlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 8738(line=448, offs=3) -- 9210(line=472, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp99 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp100)->tag != 4) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp102 = ats_caselptrlab_mac(anairiats_sum_7, tmp100, atslab_2) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp99, atslab_0, tmp102) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp100)->tag != 5) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp103 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_1) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp99, atslab_0, tmp103) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp100)->tag != 8) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_2, tmp100, atslab_0) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp99, atslab_0, tmp104) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp100)->tag != 9) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_0) ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp99, atslab_0, tmp105) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: arg0 = tmp101 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 9373(line=483, offs=3) -- 9601(line=497, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_27_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp108 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp107)->tag != 9) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_3, tmp107, atslab_1) ; tmp106 = ats_ptrget_mac(ats_ptr_type, tmp109) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: arg0 = tmp108 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail ; // tail call break ; } while (0) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp106 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; break ; } while (0) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 9894(line=515, offs=5) -- 10602(line=549, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_17 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_int_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab_auxlst_17: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp111 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp112)->tag != 0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp111 = tmp113 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp112)->tag != 1) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp111 = tmp113 ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp112)->tag != 2) { goto __ats_lab_36_0 ; } __ats_lab_35_1: arg0 = tmp113 ; arg1 = arg1 ; goto __ats_lab_auxlst_17 ; // tail call break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp112)->tag != 3) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp111 = auxlst2_18 (1, tmp113, arg1) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp112)->tag != 4) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp114 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp114 ; tmp111 = auxlst2_18 (1, tmp113, arg1) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp112)->tag != 5) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp115 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp115 ; tmp111 = auxlst2_18 (1, tmp113, arg1) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp112)->tag != 6) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp117 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 10519(line=543, offs=37) -- 10535(line=543, offs=53)", ATSstrcst("\n")) ; /* tmp116 = */ atspre_assert_errmsg (ats_false_bool, tmp117) ; tmp111 = tmp113 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp111 = tmp113 ; break ; } while (0) ; break ; } while (0) ; return (tmp111) ; } /* end of [auxlst_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 10629(line=551, offs=5) -- 11486(line=588, offs=4) */ ATSstaticdec() ats_ptr_type auxlst2_18 (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_int_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_int_type, tmp123) ; ATSlocal (ats_int_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; __ats_lab_auxlst2_18: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp118 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp119 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp120 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp119)->tag != 0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: arg0 = arg0 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp119)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: arg0 = arg0 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp119)->tag != 2) { goto __ats_lab_46_0 ; } __ats_lab_45_1: arg0 = arg0 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp119)->tag != 3) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp121 = atspre_add_int_int (arg0, 1) ; arg0 = tmp121 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp119)->tag != 4) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp122 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp122 ; tmp123 = atspre_add_int_int (arg0, 1) ; arg0 = tmp123 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp119)->tag != 5) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp124 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp124 ; tmp125 = atspre_add_int_int (arg0, 1) ; arg0 = tmp125 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp119)->tag != 6) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp126 = atspre_eq_int_int (arg0, 0) ; if (tmp126) { tmp118 = tmp120 ; } else { arg0 = arg0 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: arg0 = arg0 ; arg1 = tmp120 ; arg2 = arg2 ; goto __ats_lab_auxlst2_18 ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp118) ; } /* end of [auxlst2_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 9872(line=513, offs=19) -- 11534(line=592, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip: tmp110 = auxlst_17 (arg0, arg1) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 11619(line=598, offs=3) -- 11986(line=618, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen: do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp127 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp128)->tag != 6) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp127 = tmp129 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: __ats_lab_54_1: tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip (arg0, arg1) ; arg0 = tmp130 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen ; // tail call break ; } while (0) ; break ; } while (0) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 12434(line=645, offs=13) -- 12614(line=654, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_isbin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_isbin: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp131 = ats_true_bool ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con (tmp132) ; if (tmp133) { tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_binarian (tmp132) ; } else { tmp131 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: tmp131 = ats_false_bool ; break ; } while (0) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_isbin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 12685(line=660, offs=3) -- 13243(line=686, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_int_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_bool_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_char_type, tmp141) ; ATSlocal (ats_char_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat: do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_61_0 ; } __ats_lab_58_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp136 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp135, tmp136) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: __ats_lab_60_1: tmp134 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_64_0 ; } __ats_lab_61_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_10, arg1, atslab_0) ; tmp134 = atspre_eq_int_int (tmp137, tmp138) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: __ats_lab_63_1: tmp134 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_67_0 ; } __ats_lab_64_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_11, arg0, atslab_0) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_11, arg1, atslab_0) ; tmp134 = atspre_eq_bool_bool (tmp139, tmp140) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: __ats_lab_66_1: tmp134 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_70_0 ; } __ats_lab_67_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp134 = atspre_eq_char_char (tmp141, tmp142) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: __ats_lab_69_1: tmp134 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_73_0 ; } __ats_lab_70_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp134 = atspre_eq_string_string (tmp143, tmp144) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp134 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: tmp134 = ats_false_bool ; break ; } while (0) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 13340(line=696, offs=1) -- 13631(line=715, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_auxlst_22: do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp145 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp145, atslab_0, arg1) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 13450(line=704, offs=1) -- 13624(line=713, offs=4)") ; } __ats_lab_75_1: do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp145 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: tmp145 = auxlst2_23 (arg0, arg1, arg2) ; break ; } while (0) ; break ; } while (0) ; return (tmp145) ; } /* end of [auxlst_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 13656(line=718, offs=1) -- 16390(line=833, offs=4) */ ATSstaticdec() ats_ptr_type auxlst2_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_bool_type, tmp165) ; // ATSlocal_void (tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_bool_type, tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; // ATSlocal_void (tmp174) ; __ats_lab_auxlst2_23: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp147 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp149 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp150 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp149)->tag != 0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* ats_int_type tmp151 ; */ tmp151 = 0 ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip (arg0, (&tmp151)) ; tmp146 = auxlst_22 (tmp152, tmp150, arg2) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp149)->tag != 1) { goto __ats_lab_80_0 ; } __ats_lab_79_1: /* ats_int_type tmp153 ; */ tmp153 = 0 ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unskip (arg0, (&tmp153)) ; tmp146 = auxlst_22 (tmp154, tmp150, arg2) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp149)->tag != 2) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp146 = auxlst_22 (arg0, tmp150, arg2) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp149)->tag != 6) { goto __ats_lab_82_0 ; } __ats_lab_81_1: /* ats_int_type tmp155 ; */ tmp155 = 0 ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_unrparen (arg0, (&tmp155)) ; tmp146 = auxlst_22 (tmp156, tmp150, arg2) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: if (((ats_sum_ptr_type)tmp147)->tag != 0) { goto __ats_lab_83_1 ; } tmp146 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp146, atslab_0, arg1) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: __ats_lab_83_1: if (((ats_sum_ptr_type)tmp147)->tag != 1) { goto __ats_lab_84_1 ; } tmp146 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp146, atslab_0, arg1) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: if (((ats_sum_ptr_type)tmp147)->tag != 2) { goto __ats_lab_85_1 ; } tmp146 = auxlst_22 (tmp148, arg1, arg2) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: if (((ats_sum_ptr_type)tmp147)->tag != 6) { goto __ats_lab_86_0 ; } tmp146 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp146, atslab_0, arg1) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp149)->tag != 3) { goto __ats_lab_89_0 ; } __ats_lab_86_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_2, tmp149, atslab_0) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp147)->tag != 3) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_2, tmp147, atslab_0) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__compare_label_label (tmp158, tmp157) ; tmp160 = atspre_ieq (tmp159, 0) ; if (tmp160) { tmp146 = auxlst_22 (tmp148, tmp150, arg2) ; } else { tmp146 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp146 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp149)->tag != 4) { goto __ats_lab_93_0 ; } __ats_lab_89_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_7, tmp149, atslab_0) ; tmp162 = ats_caselptrlab_mac(anairiats_sum_7, tmp149, atslab_1) ; do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp147)->tag != 7) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_3, tmp147, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_3, tmp147, atslab_1) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat (tmp163, tmp161) ; /* tmp166 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add (arg2, tmp164, tmp162) ; if (tmp165) { tmp146 = (ats_sum_ptr_type)0 ; } else { tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_isbin (tmp163) ; if (tmp167) { tmp146 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp146, atslab_0, tmp150) ; } else { tmp146 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp146, atslab_0, arg1) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp147)->tag != 4) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp168 = ats_caselptrlab_mac(anairiats_sum_7, tmp147, atslab_0) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_7, tmp147, atslab_1) ; tmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patck_ismat (tmp168, tmp161) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add (arg2, tmp169, tmp162) ; if (tmp170) { tmp146 = auxlst_22 (tmp148, tmp150, arg2) ; } else { tmp146 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: tmp146 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp149)->tag != 5) { goto __ats_lab_96_0 ; } __ats_lab_93_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_3, tmp149, atslab_0) ; do { /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp147)->tag != 5) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_3, tmp147, atslab_0) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add (arg2, tmp173, tmp172) ; tmp146 = auxlst_22 (tmp148, tmp150, arg2) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp146 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: tmp146 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp146) ; } /* end of [auxlst2_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 16580(line=850, offs=5) -- 16851(line=865, offs=2) */ ATSstaticdec() ats_void_type ftpmv_25 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; __ats_lab_ftpmv_25: do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp178)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp178, atslab_0, tmp177) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmpmovlst_add (arg1, tmp178, arg0) ; break ; } while (0) ; return /* (tmp176) */ ; } /* end of [ftpmv_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 16416(line=836, offs=1) -- 17243(line=880, offs=4) */ ATSstaticdec() ats_void_type auxmovfin_24 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp175) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_auxmovfin_24: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp179)->tag != 4) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_7, tmp179, atslab_1) ; /* tmp175 = */ ftpmv_25 (tmp181, arg1) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp179)->tag != 5) { goto __ats_lab_103_0 ; } __ats_lab_102_1: tmp182 = ats_caselptrlab_mac(anairiats_sum_3, tmp179, atslab_0) ; /* tmp175 = */ ftpmv_25 (tmp182, arg1) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: __ats_lab_103_1: arg0 = tmp180 ; arg1 = arg1 ; goto __ats_lab_auxmovfin_24 ; // tail call break ; } while (0) ; break ; } while (0) ; return /* (tmp175) */ ; } /* end of [auxmovfin_24] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_28 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_loop_28: do { /* branch: __ats_lab_105 */ __ats_lab_105_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp189 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp189 ; goto __ats_lab_loop_28 ; // tail call break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: break ; } while (0) ; return /* (tmp188) */ ; } /* end of [loop_28] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_anairiats_rec_5 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp187) ; __ats_lab_list_vt_free_01499_anairiats_rec_5: /* tmp187 = */ loop_28 (arg0) ; return /* (tmp187) */ ; } /* end of [list_vt_free_01499_anairiats_rec_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_31 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab_revapp_31: do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp196 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp197 = ats_ptrget_mac(ats_ptr_type, tmp196) ; ats_ptrget_mac(ats_ptr_type, tmp196) = arg1 ; tmp198 = arg0 ; arg0 = tmp197 ; arg1 = tmp198 ; goto __ats_lab_revapp_31 ; // tail call break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_109_1: tmp195 = arg1 ; break ; } while (0) ; return (tmp195) ; } /* end of [revapp_31] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; __ats_lab_list_vt_reverse_append_01507_anairiats_rec_5: tmp194 = revapp_31 (arg0, arg1) ; return (tmp194) ; } /* end of [list_vt_reverse_append_01507_anairiats_rec_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_anairiats_rec_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp199) ; __ats_lab_list_vt_reverse_01506_anairiats_rec_5: tmp199 = (ats_sum_ptr_type)0 ; tmp193 = list_vt_reverse_append_01507_anairiats_rec_5 (arg0, tmp199) ; return (tmp193) ; } /* end of [list_vt_reverse_01506_anairiats_rec_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 17322(line=886, offs=3) -- 17876(line=913, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp190) ; // ATSlocal_void (tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtest: /* ats_ptr_type tmp184 ; */ tmp184 = (ats_sum_ptr_type)0 ; tmp185 = auxlst_22 (arg0, arg1, (&tmp184)) ; do { /* branch: __ats_lab_104 */ __ats_lab_104_0: if (tmp185 != (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_104_1: /* tmp186 = */ list_vt_free_01499_anairiats_rec_5 (tmp184) ; tmp183 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (tmp185 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp190 = ats_caselptrlab_mac(anairiats_sum_9, tmp185, atslab_0) ; ATS_FREE(tmp185) ; /* tmp191 = */ auxmovfin_24 (tmp190, (&tmp184)) ; tmp192 = list_vt_reverse_01506_anairiats_rec_5 (tmp184) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_tmplab (tmp190) ; if (tmp200 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 17758(line=908, offs=9) -- 17803(line=908, offs=54)") ; } tmp201 = ats_caselptrlab_mac(anairiats_sum_9, tmp200, atslab_0) ; ATS_FREE(tmp200) ; tmp183 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp183)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_0, tmp201) ; ats_selptrset_mac(anairiats_sum_3, tmp183, atslab_1, ats_castfn_mac(ats_ptr_type, tmp192)) ; break ; } while (0) ; return (tmp183) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 17985(line=921, offs=3) -- 18288(line=936, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests: do { /* branch: __ats_lab_110 */ __ats_lab_110_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; } __ats_lab_110_1: tmp202 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_111_1: tmp203 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtest (arg0, tmp203) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp205)->tag != 0) { goto __ats_lab_113_0 ; } __ats_lab_112_1: arg0 = arg0 ; arg1 = tmp204 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests ; // tail call break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: tmp202 = tmp205 ; break ; } while (0) ; break ; } while (0) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_36 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; __ats_lab_loop_36: do { /* branch: __ats_lab_115 */ __ats_lab_115_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp210 ; goto __ats_lab_loop_36 ; // tail call break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_116_1: break ; } while (0) ; return /* (tmp209) */ ; } /* end of [loop_36] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp208) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp208 = */ loop_36 (arg0) ; return /* (tmp208) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12687(line=466, offs=7) -- 13058(line=477, offs=43) */ ATSstaticdec() ats_void_type loop_39 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab_loop_39: do { /* branch: __ats_lab_119 */ __ats_lab_119_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp221 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp222 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp223 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp223, atslab_0, tmp221) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp223 ; // if (ats_ptrget_mac(ats_ptr_type, arg1) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp224 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg1), atslab_1) ; arg0 = tmp222 ; arg1 = tmp224 ; goto __ats_lab_loop_39 ; // tail call break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_120_1: tmp225 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp225 ; break ; } while (0) ; return /* (tmp220) */ ; } /* end of [loop_39] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 12658(line=464, offs=3) -- 13177(line=483, offs=2) */ ATSstaticdec() ats_ptr_type list_copy_01322_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp226) ; // ATSlocal_void (tmp227) ; __ats_lab_list_copy_01322_ats_ptr_type: /* ats_ptr_type tmp226 ; */ /* tmp227 = */ loop_39 (arg0, (&tmp226)) ; tmp219 = tmp226 ; return (tmp219) ; } /* end of [list_copy_01322_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4725(line=167, offs=18) -- 4776(line=168, offs=44) */ ATSstaticdec() ats_ptr_type list_vt_copy_01498_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp218) ; __ats_lab_list_vt_copy_01498_ats_ptr_type: tmp218 = list_copy_01322_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp218) ; } /* end of [list_vt_copy_01498_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_42 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab_revapp_42: do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp234 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp235 = ats_ptrget_mac(ats_ptr_type, tmp234) ; ats_ptrget_mac(ats_ptr_type, tmp234) = arg1 ; tmp236 = arg0 ; arg0 = tmp235 ; arg1 = tmp236 ; goto __ats_lab_revapp_42 ; // tail call break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_122_1: tmp233 = arg1 ; break ; } while (0) ; return (tmp233) ; } /* end of [revapp_42] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; __ats_lab_list_vt_reverse_append_01507_ats_ptr_type: tmp232 = revapp_42 (arg0, arg1) ; return (tmp232) ; } /* end of [list_vt_reverse_append_01507_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp237) ; __ats_lab_list_vt_reverse_01506_ats_ptr_type: tmp237 = (ats_sum_ptr_type)0 ; tmp231 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp237) ; return (tmp231) ; } /* end of [list_vt_reverse_01506_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 18618(line=957, offs=5) -- 19774(line=999, offs=4) */ ATSstaticdec() ats_void_type auxlst_34 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp207) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp238) ; // ATSlocal_void (tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; __ats_lab_auxlst_34: do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; } __ats_lab_114_1: /* tmp207 = */ list_vt_free_01499_ats_ptr_type (arg2) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_117_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp211)->tag != 4) { goto __ats_lab_123_0 ; } __ats_lab_118_1: tmp214 = ats_caselptrlab_mac(anairiats_sum_7, tmp211, atslab_0) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_7, tmp211, atslab_1) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_7, tmp211, atslab_4) ; tmp217 = list_vt_copy_01498_ats_ptr_type (arg2) ; tmp229 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp229)->tag = 7 ; ats_selptrset_mac(anairiats_sum_3, tmp229, atslab_0, tmp214) ; ats_selptrset_mac(anairiats_sum_3, tmp229, atslab_1, tmp215) ; tmp228 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp228, atslab_0, tmp229) ; ats_selptrset_mac(anairiats_sum_8, tmp228, atslab_1, tmp217) ; tmp230 = list_vt_reverse_01506_ats_ptr_type (tmp228) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests (ats_castfn_mac(ats_ptr_type, tmp230), arg1) ; /* tmp239 = */ list_vt_free_01499_ats_ptr_type (tmp230) ; ats_ptrget_mac(ats_ptr_type, tmp216) = tmp238 ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp211)->tag != 9) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_3, tmp211, atslab_1) ; tmp241 = list_vt_copy_01498_ats_ptr_type (arg2) ; tmp242 = list_vt_reverse_01506_ats_ptr_type (tmp241) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_subtests (ats_castfn_mac(ats_ptr_type, tmp242), arg1) ; /* tmp244 = */ list_vt_free_01499_ats_ptr_type (tmp242) ; ats_ptrget_mac(ats_ptr_type, tmp240) = tmp243 ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: __ats_lab_124_1: break ; } while (0) ; tmp245 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp245, atslab_0, tmp211) ; ats_selptrset_mac(anairiats_sum_8, tmp245, atslab_1, arg2) ; arg0 = tmp212 ; arg1 = arg1 ; arg2 = tmp245 ; goto __ats_lab_auxlst_34 ; // tail call break ; } while (0) ; return /* (tmp207) */ ; } /* end of [auxlst_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 18489(line=949, offs=3) -- 19839(line=1003, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_rest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp246) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_rest: tmp246 = (ats_sum_ptr_type)0 ; /* tmp206 = */ auxlst_34 (arg0, arg1, tmp246) ; return /* (tmp206) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_rest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 20039(line=1016, offs=3) -- 20470(line=1035, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail: do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp248)->tag != 4) { goto __ats_lab_130_0 ; } __ats_lab_127_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_7, tmp248, atslab_4) ; tmp252 = ats_ptrget_mac(ats_ptr_type, tmp251) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp252)->tag != 0) { goto __ats_lab_129_0 ; } __ats_lab_128_1: ats_ptrget_mac(ats_ptr_type, tmp251) = arg1 ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: break ; } while (0) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: break ; } while (0) ; arg0 = tmp249 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail ; // tail call break ; } while (0) ; return /* (tmp247) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 20670(line=1048, offs=3) -- 20929(line=1060, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill: do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_132_1: tmp254 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp255 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_rest (tmp254, tmp255) ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_jumpfill_fail (tmp254, arg1) ; arg0 = tmp255 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill ; // tail call break ; } while (0) ; return /* (tmp253) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 21184(line=1079, offs=1) -- 21364(line=1088, offs=4) */ ATSstaticdec() ats_ptr_type auxtpmv_make_45 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab_auxtpmv_make_45: tmp259 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hipat_loc) ; tmp260 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hipat_type) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp259, tmp260) ; tmp258 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp258)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp258, atslab_0, tmp261) ; ats_selptrset_mac(anairiats_sum_3, tmp258, atslab_1, arg1) ; return (tmp258) ; } /* end of [auxtpmv_make_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 21416(line=1093, offs=1) -- 21494(line=1096, offs=48) */ ATSstaticdec() ats_ptr_type addrparen_46 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab_addrparen_46: tmp263 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKrparen_2) ; tmp262 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp262, atslab_0, tmp263) ; ats_selptrset_mac(anairiats_sum_8, tmp262, atslab_1, arg0) ; return (tmp262) ; } /* end of [addrparen_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 21521(line=1101, offs=1) -- 22091(line=1125, offs=4) */ ATSstaticdec() ats_ptr_type addselcon_47 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; __ats_lab_addselcon_47: do { /* branch: __ats_lab_133 */ __ats_lab_133_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_134_0 ; } __ats_lab_133_1: tmp264 = arg3 ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: tmp265 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; tmp266 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; // tmp267 = ats_caselptrlab_mac(anairiats_sum_8, tmp265, atslab_0) ; tmp268 = ats_caselptrlab_mac(anairiats_sum_8, tmp265, atslab_1) ; tmp269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp268), atslab_hipat_loc) ; tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp268), atslab_hipat_type) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv (arg0) ; tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_selcon (tmp269, tmp270, tmp271, arg1, tmp267) ; tmp273 = auxtpmv_make_45 (tmp268, tmp272) ; tmp274 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp274)->tag = 1 ; ats_selptrset_mac(anairiats_sum_14, tmp274, atslab_0, tmp267) ; ats_selptrset_mac(anairiats_sum_14, tmp274, atslab_1, tmp268) ; ats_selptrset_mac(anairiats_sum_14, tmp274, atslab_2, tmp273) ; tmp275 = addselcon_47 (arg0, arg1, tmp266, arg3) ; tmp264 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp264, atslab_0, tmp274) ; ats_selptrset_mac(anairiats_sum_8, tmp264, atslab_1, tmp275) ; break ; } while (0) ; return (tmp264) ; } /* end of [addselcon_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 22119(line=1128, offs=1) -- 22727(line=1153, offs=4) */ ATSstaticdec() ats_ptr_type addselect_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; __ats_lab_addselect_48: do { /* branch: __ats_lab_135 */ __ats_lab_135_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_136_0 ; } __ats_lab_135_1: tmp276 = arg3 ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_136_1: tmp277 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; tmp278 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; // tmp279 = ats_caselptrlab_mac(anairiats_sum_8, tmp277, atslab_0) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_8, tmp277, atslab_1) ; tmp281 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp280), atslab_hipat_loc) ; tmp282 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp280), atslab_hipat_type) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primlab_lab (tmp281, tmp279) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv (arg0) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_select (tmp281, tmp282, tmp284, arg1, tmp283) ; tmp286 = auxtpmv_make_45 (tmp280, tmp285) ; tmp287 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp287)->tag = 1 ; ats_selptrset_mac(anairiats_sum_14, tmp287, atslab_0, tmp279) ; ats_selptrset_mac(anairiats_sum_14, tmp287, atslab_1, tmp280) ; ats_selptrset_mac(anairiats_sum_14, tmp287, atslab_2, tmp286) ; tmp288 = addselect_48 (arg0, arg1, tmp278, arg3) ; tmp276 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp276, atslab_0, tmp287) ; ats_selptrset_mac(anairiats_sum_8, tmp276, atslab_1, tmp288) ; break ; } while (0) ; return (tmp276) ; } /* end of [addselect_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 22776(line=1158, offs=1) -- 22989(line=1170, offs=4) */ ATSstaticdec() ats_ptr_type auxcomplst_49 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab_auxcomplst_49: do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp289 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp289 = auxcomplst_mtk_50 (arg0, tmp290, tmp291) ; break ; } while (0) ; return (tmp289) ; } /* end of [auxcomplst_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 23018(line=1173, offs=1) -- 23443(line=1196, offs=4) */ ATSstaticdec() ats_ptr_type auxcomplst_mtk_50 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; __ats_lab_auxcomplst_mtk_50: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp293 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp294 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp292 = auxcomplst_pat_51 (arg0, tmp294, tmp293, arg2) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_141_0 ; } __ats_lab_140_1: tmp295 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ; tmp296 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_1) ; tmp297 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_2) ; tmp292 = auxcomplst_labpat_52 (arg0, tmp297, tmp295, tmp296, arg2) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp298 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp299 = auxcomplst_49 (arg0, arg2) ; tmp292 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp292, atslab_0, tmp298) ; ats_selptrset_mac(anairiats_sum_8, tmp292, atslab_1, tmp299) ; break ; } while (0) ; return (tmp292) ; } /* end of [auxcomplst_mtk_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02459_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; // ATSlocal_void (tmp418) ; // ATSlocal_void (tmp419) ; __ats_lab_prerr_interror_loc_02459_: /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp418 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp419 = */ prerr_FILENAME_02457_ () ; /* tmp416 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp416) */ ; } /* end of [prerr_interror_loc_02459_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 23476(line=1199, offs=1) -- 28295(line=1374, offs=4) */ ATSstaticdec() ats_ptr_type auxcomplst_pat_51 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_bool_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_int_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_llint_type, tmp324) ; ATSlocal (ats_int_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_bool_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_char_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_double_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_int_type, tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; ATSlocal (ats_ptr_type, tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; // ATSlocal_void (tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_ptr_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; // ATSlocal_void (tmp415) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; // ATSlocal_void (tmp422) ; // ATSlocal_void (tmp423) ; ATSlocal (ats_ptr_type, tmp424) ; __ats_lab_auxcomplst_pat_51: tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg2), atslab_hipat_loc) ; tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg2), atslab_hipat_node) ; do { /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp302)->tag != 0) { goto __ats_lab_143_0 ; } __ats_lab_142_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp304 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp304)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp304, atslab_0, tmp303) ; tmp305 = auxcomplst_49 (arg0, arg3) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp304) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp305) ; break ; /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp302)->tag != 1) { goto __ats_lab_144_0 ; } __ats_lab_143_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp306, arg0) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_utimes (tmp306) ; tmp310 = atspre_gt_int_int (tmp308, 0) ; if (tmp310) { tmp309 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp309)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp309, atslab_0, tmp306) ; ats_selptrset_mac(anairiats_sum_3, tmp309, atslab_1, arg1) ; } else { tmp309 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp309)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp309, atslab_0, tmp306) ; } /* end of [if] */ tmp311 = auxcomplst_49 (arg0, arg3) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp309) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp311) ; break ; /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp302)->tag != 2) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp312 = ats_caselptrlab_mac(anairiats_sum_10, tmp302, atslab_0) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp316 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp316)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp316, atslab_0, tmp312) ; tmp317 = (ats_sum_ptr_type)0 ; tmp315 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp315)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp315, atslab_0, tmp316) ; ats_selptrset_mac(anairiats_sum_7, tmp315, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp315, atslab_2, tmp313) ; ats_selptrset_mac(anairiats_sum_7, tmp315, atslab_3, tmp317) ; ats_selptrset_mac(anairiats_sum_7, tmp315, atslab_4, tmp314) ; tmp318 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp319 = auxcomplst_49 (arg0, arg3) ; tmp320 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp320, atslab_0, tmp318) ; ats_selptrset_mac(anairiats_sum_8, tmp320, atslab_1, tmp319) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp315) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp320) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp302)->tag != 3) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp321 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp323 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp324 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (tmp321) ; tmp325 = atspre_int_of_llint (tmp324) ; tmp327 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp327)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp327, atslab_0, tmp325) ; tmp328 = (ats_sum_ptr_type)0 ; tmp326 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp326)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp326, atslab_0, tmp327) ; ats_selptrset_mac(anairiats_sum_7, tmp326, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp326, atslab_2, tmp322) ; ats_selptrset_mac(anairiats_sum_7, tmp326, atslab_3, tmp328) ; ats_selptrset_mac(anairiats_sum_7, tmp326, atslab_4, tmp323) ; tmp329 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp330 = auxcomplst_49 (arg0, arg3) ; tmp331 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp331, atslab_0, tmp329) ; ats_selptrset_mac(anairiats_sum_8, tmp331, atslab_1, tmp330) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp326) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp331) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp302)->tag != 4) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_11, tmp302, atslab_0) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp336 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp336)->tag = 2 ; ats_selptrset_mac(anairiats_sum_11, tmp336, atslab_0, tmp332) ; tmp337 = (ats_sum_ptr_type)0 ; tmp335 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp335)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp335, atslab_0, tmp336) ; ats_selptrset_mac(anairiats_sum_7, tmp335, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp335, atslab_2, tmp333) ; ats_selptrset_mac(anairiats_sum_7, tmp335, atslab_3, tmp337) ; ats_selptrset_mac(anairiats_sum_7, tmp335, atslab_4, tmp334) ; tmp338 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp339 = auxcomplst_49 (arg0, arg3) ; tmp340 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp340, atslab_0, tmp338) ; ats_selptrset_mac(anairiats_sum_8, tmp340, atslab_1, tmp339) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp335) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp340) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: if (((ats_sum_ptr_type)tmp302)->tag != 5) { goto __ats_lab_148_0 ; } __ats_lab_147_1: tmp341 = ats_caselptrlab_mac(anairiats_sum_12, tmp302, atslab_0) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp345 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp345)->tag = 3 ; ats_selptrset_mac(anairiats_sum_12, tmp345, atslab_0, tmp341) ; tmp346 = (ats_sum_ptr_type)0 ; tmp344 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp344)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp344, atslab_0, tmp345) ; ats_selptrset_mac(anairiats_sum_7, tmp344, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp344, atslab_2, tmp342) ; ats_selptrset_mac(anairiats_sum_7, tmp344, atslab_3, tmp346) ; ats_selptrset_mac(anairiats_sum_7, tmp344, atslab_4, tmp343) ; tmp347 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp348 = auxcomplst_49 (arg0, arg3) ; tmp349 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp349, atslab_0, tmp347) ; ats_selptrset_mac(anairiats_sum_8, tmp349, atslab_1, tmp348) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp349) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: if (((ats_sum_ptr_type)tmp302)->tag != 6) { goto __ats_lab_149_0 ; } __ats_lab_148_1: tmp350 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp354 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp354)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp354, atslab_0, tmp350) ; tmp355 = (ats_sum_ptr_type)0 ; tmp353 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp353)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp353, atslab_0, tmp354) ; ats_selptrset_mac(anairiats_sum_7, tmp353, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp353, atslab_2, tmp351) ; ats_selptrset_mac(anairiats_sum_7, tmp353, atslab_3, tmp355) ; ats_selptrset_mac(anairiats_sum_7, tmp353, atslab_4, tmp352) ; tmp356 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp357 = auxcomplst_49 (arg0, arg3) ; tmp358 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp358, atslab_0, tmp356) ; ats_selptrset_mac(anairiats_sum_8, tmp358, atslab_1, tmp357) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp353) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp358) ; break ; /* branch: __ats_lab_149 */ __ats_lab_149_0: if (((ats_sum_ptr_type)tmp302)->tag != 7) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp359 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__double_make_string (tmp359) ; tmp364 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp364)->tag = 4 ; ats_selptrset_mac(anairiats_sum_15, tmp364, atslab_0, tmp362) ; tmp365 = (ats_sum_ptr_type)0 ; tmp363 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp363)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp363, atslab_0, tmp364) ; ats_selptrset_mac(anairiats_sum_7, tmp363, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp363, atslab_2, tmp360) ; ats_selptrset_mac(anairiats_sum_7, tmp363, atslab_3, tmp365) ; ats_selptrset_mac(anairiats_sum_7, tmp363, atslab_4, tmp361) ; tmp366 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp367 = auxcomplst_49 (arg0, arg3) ; tmp368 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp368, atslab_0, tmp366) ; ats_selptrset_mac(anairiats_sum_8, tmp368, atslab_1, tmp367) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp363) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp368) ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: if (((ats_sum_ptr_type)tmp302)->tag != 8) { goto __ats_lab_151_0 ; } __ats_lab_150_1: tmp369 = ats_caselptrlab_mac(anairiats_sum_2, tmp302, atslab_0) ; tmp370 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp372 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__i0nt2intinf (tmp369) ; tmp373 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int (tmp372) ; tmp375 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp375)->tag = 1 ; ats_selptrset_mac(anairiats_sum_10, tmp375, atslab_0, tmp373) ; tmp376 = (ats_sum_ptr_type)0 ; tmp374 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp374)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp374, atslab_0, tmp375) ; ats_selptrset_mac(anairiats_sum_7, tmp374, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp374, atslab_2, tmp370) ; ats_selptrset_mac(anairiats_sum_7, tmp374, atslab_3, tmp376) ; ats_selptrset_mac(anairiats_sum_7, tmp374, atslab_4, tmp371) ; tmp377 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp378 = auxcomplst_49 (arg0, arg3) ; tmp379 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp379, atslab_0, tmp377) ; ats_selptrset_mac(anairiats_sum_8, tmp379, atslab_1, tmp378) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp374) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp379) ; break ; /* branch: __ats_lab_151 */ __ats_lab_151_0: if (((ats_sum_ptr_type)tmp302)->tag != 10) { goto __ats_lab_152_0 ; } __ats_lab_151_1: tmp300 = auxcomplst_49 (arg0, arg3) ; break ; /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp302)->tag != 11) { goto __ats_lab_153_0 ; } __ats_lab_152_1: tmp380 = ats_caselptrlab_mac(anairiats_sum_16, tmp302, atslab_0) ; tmp381 = ats_caselptrlab_mac(anairiats_sum_16, tmp302, atslab_1) ; tmp382 = ats_caselptrlab_mac(anairiats_sum_16, tmp302, atslab_2) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_16, tmp302, atslab_3) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp386 = addrparen_46 (arg3) ; tmp387 = addselcon_47 (arg1, tmp382, tmp383, tmp386) ; tmp389 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp389)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp389, atslab_0, tmp381) ; tmp390 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp390, atslab_0, tmp380) ; tmp388 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp388)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp388, atslab_0, tmp389) ; ats_selptrset_mac(anairiats_sum_7, tmp388, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp388, atslab_2, tmp384) ; ats_selptrset_mac(anairiats_sum_7, tmp388, atslab_3, tmp390) ; ats_selptrset_mac(anairiats_sum_7, tmp388, atslab_4, tmp385) ; tmp391 = auxcomplst_49 (arg0, tmp387) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp388) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp391) ; break ; /* branch: __ats_lab_153 */ __ats_lab_153_0: if (((ats_sum_ptr_type)tmp302)->tag != 12) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_3, tmp302, atslab_0) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_3, tmp302, atslab_1) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp395 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp397 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp397)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp397, atslab_0, tmp393) ; tmp398 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp398, atslab_0, tmp392) ; tmp396 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp396)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_0, tmp397) ; ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_2, tmp394) ; ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_3, tmp398) ; ats_selptrset_mac(anairiats_sum_7, tmp396, atslab_4, tmp395) ; tmp399 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp400 = auxcomplst_49 (arg0, arg3) ; tmp401 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp401, atslab_0, tmp399) ; ats_selptrset_mac(anairiats_sum_8, tmp401, atslab_1, tmp400) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp396) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp401) ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: if (((ats_sum_ptr_type)tmp302)->tag != 13) { goto __ats_lab_155_0 ; } __ats_lab_154_1: tmp402 = ats_caselptrlab_mac(anairiats_sum_17, tmp302, atslab_1) ; tmp403 = ats_caselptrlab_mac(anairiats_sum_17, tmp302, atslab_2) ; tmp404 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp301) ; tmp405 = addrparen_46 (arg3) ; tmp406 = addselect_48 (arg1, tmp403, tmp402, tmp405) ; tmp407 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp407)->tag = 5 ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp407, atslab_1, tmp404) ; tmp408 = auxcomplst_49 (arg0, tmp406) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp407) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp408) ; break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: if (((ats_sum_ptr_type)tmp302)->tag != 14) { goto __ats_lab_156_0 ; } __ats_lab_155_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_3, tmp302, atslab_0) ; tmp410 = ats_caselptrlab_mac(anairiats_sum_3, tmp302, atslab_1) ; /* tmp411 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_level (tmp409, arg0) ; tmp412 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp412)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp412, atslab_0, tmp409) ; ats_selptrset_mac(anairiats_sum_3, tmp412, atslab_1, arg1) ; tmp413 = auxcomplst_pat_51 (arg0, arg1, tmp410, arg3) ; tmp300 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_0, tmp412) ; ats_selptrset_mac(anairiats_sum_8, tmp300, atslab_1, tmp413) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: if (((ats_sum_ptr_type)tmp302)->tag != 15) { goto __ats_lab_157_0 ; } __ats_lab_156_1: tmp414 = ats_caselptrlab_mac(anairiats_sum_3, tmp302, atslab_0) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp414 ; arg3 = arg3 ; goto __ats_lab_auxcomplst_pat_51 ; // tail call break ; /* branch: __ats_lab_157 */ __ats_lab_157_0: __ats_lab_157_1: /* tmp415 = */ prerr_interror_loc_02459_ (tmp301) ; /* tmp420 = */ atspre_prerr_string (ATSstrcst(": himatchlst_patcomp: auxcomplst_pat: hip0 = ")) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__prerr_hipat (arg2) ; /* tmp422 = */ atspre_prerr_newline () ; tmp424 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 28233(line=1371, offs=14) -- 28249(line=1371, offs=30)", ATSstrcst("\n")) ; /* tmp423 = */ atspre_assert_errmsg (ats_false_bool, tmp424) ; tmp300 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp300) ; } /* end of [auxcomplst_pat_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 28328(line=1377, offs=1) -- 28631(line=1389, offs=4) */ ATSstaticdec() ats_ptr_type auxcomplst_labpat_52 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; __ats_lab_auxcomplst_labpat_52: tmp426 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp426)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp426, atslab_0, arg2) ; tmp427 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6) ; tmp428 = auxcomplst_pat_51 (arg0, arg1, arg3, arg4) ; tmp429 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp429, atslab_0, tmp427) ; ats_selptrset_mac(anairiats_sum_8, tmp429, atslab_1, tmp428) ; tmp425 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp425, atslab_0, tmp426) ; ats_selptrset_mac(anairiats_sum_8, tmp425, atslab_1, tmp429) ; return (tmp425) ; } /* end of [auxcomplst_labpat_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 28756(line=1397, offs=5) -- 28949(line=1409, offs=4) */ ATSstaticdec() ats_ptr_type auxloc_55 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; __ats_lab_auxloc_55: do { /* branch: __ats_lab_158 */ __ats_lab_158_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; } __ats_lab_158_1: tmp432 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; arg0 = tmp432 ; arg1 = tmp433 ; goto __ats_lab_auxloc_55 ; // tail call break ; /* branch: __ats_lab_159 */ __ats_lab_159_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_159_1: tmp434 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hipat_loc) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (tmp434) ; break ; } while (0) ; return (tmp431) ; } /* end of [auxloc_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 28976(line=1411, offs=5) -- 29327(line=1429, offs=4) */ ATSstaticdec() ats_ptr_type auxlst_56 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_ptr_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; __ats_lab_auxlst_56: do { /* branch: __ats_lab_160 */ __ats_lab_160_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_161_0 ; } __ats_lab_160_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp437 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp438 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp438)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp438, atslab_0, tmp436) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 29134(line=1421, offs=9) -- 29162(line=1421, offs=37)") ; } tmp439 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp440 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp441 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp441)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp441, atslab_0, tmp439) ; ats_selptrset_mac(anairiats_sum_3, tmp441, atslab_1, tmp438) ; tmp442 = auxlst_56 (tmp437, tmp440) ; tmp435 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp435, atslab_0, tmp441) ; ats_selptrset_mac(anairiats_sum_8, tmp435, atslab_1, tmp442) ; break ; /* branch: __ats_lab_161 */ __ats_lab_161_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_161_1: tmp435 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp435) ; } /* end of [auxlst_56] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp453) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_163 */ __ats_lab_163_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_164_0 ; } __ats_lab_163_1: tmp453 = ats_false_bool ; break ; /* branch: __ats_lab_164 */ __ats_lab_164_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_164_1: tmp453 = ats_true_bool ; break ; } while (0) ; return (tmp453) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6210(line=231, offs=5) -- 6424(line=236, offs=4) */ ATSstaticdec() ats_void_type loop_59 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; __ats_lab_loop_59: do { /* branch: __ats_lab_165 */ __ats_lab_165_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_166_0 ; } __ats_lab_165_1: tmp460 = &ats_caselptrlab_mac(anairiats_sum_8, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp460 ; arg1 = arg1 ; goto __ats_lab_loop_59 ; // tail call break ; /* branch: __ats_lab_166 */ __ats_lab_166_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_166_1: tmp462 = (ats_sum_ptr_type)0 ; tmp461 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp461, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp461, atslab_1, tmp462) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp461 ; break ; } while (0) ; return /* (tmp459) */ ; } /* end of [loop_59] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6138(line=227, offs=16) -- 6489(line=242, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_extend_01503_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_ptr_type, tmp463) ; // ATSlocal_void (tmp464) ; __ats_lab_list_vt_extend_01503_ats_ptr_type: /* ats_ptr_type tmp463 ; */ tmp463 = arg0 ; /* tmp464 = */ loop_59 ((&tmp463), arg1) ; tmp458 = tmp463 ; return (tmp458) ; } /* end of [list_vt_extend_01503_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 28718(line=1395, offs=3) -- 30073(line=1460, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__himatchlst_patcomp (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_bool_type, tmp452) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_ptr_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__himatchlst_patcomp: do { /* branch: __ats_lab_162 */ __ats_lab_162_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_167_0 ; } __ats_lab_162_1: tmp443 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; tmp445 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp445)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp445, atslab_0, tmp443) ; if (arg3 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 29446(line=1438, offs=9) -- 29474(line=1438, offs=37)") ; } tmp446 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_0) ; tmp447 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_1) ; tmp448 = auxloc_55 (tmp446, tmp447) ; tmp449 = auxlst_56 (tmp444, tmp447) ; tmp450 = auxcomplst_pat_51 (arg0, tmp445, tmp446, tmp449) ; tmp451 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_make (tmp448) ; tmp454 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_hiclau_gua) ; tmp452 = list_is_nil_01294_ (tmp454) ; if (tmp452) { tmp455 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp455)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp455, atslab_0, tmp451) ; } else { tmp456 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patckontref_make () ; tmp455 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp455)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp455, atslab_0, tmp451) ; ats_selptrset_mac(anairiats_sum_3, tmp455, atslab_1, tmp456) ; } /* end of [if] */ tmp457 = list_vt_extend_01503_ats_ptr_type (tmp450, tmp455) ; tmp430 = ats_castfn_mac(ats_ptr_type, tmp457) ; break ; /* branch: __ats_lab_167 */ __ats_lab_167_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_167_1: tmp430 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp430) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__himatchlst_patcomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 30280(line=1476, offs=3) -- 30559(line=1488, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclau_patcomp (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclau_patcomp: tmp466 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg1), atslab_hiclau_pat) ; tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__himatchlst_patcomp (arg0, arg1, arg2, tmp466) ; return (tmp465) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclau_patcomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 30749(line=1501, offs=3) -- 31024(line=1514, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; ATSlocal (ats_ptr_type, tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp: do { /* branch: __ats_lab_168 */ __ats_lab_168_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_169_0 ; } __ats_lab_168_1: tmp468 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp469 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp470 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclau_patcomp (arg0, tmp468, arg2) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp (arg0, tmp469, arg2) ; tmp467 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp467, atslab_0, tmp470) ; ats_selptrset_mac(anairiats_sum_8, tmp467, atslab_1, tmp471) ; break ; /* branch: __ats_lab_169 */ __ats_lab_169_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_169_1: tmp467 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp467) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 31215(line=1529, offs=1) -- 31502(line=1545, offs=4) */ ATSstaticdec() ats_ptr_type addtpmv_62 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_ptr_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; __ats_lab_addtpmv_62: do { /* branch: __ats_lab_170 */ __ats_lab_170_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_171_0 ; } __ats_lab_170_1: tmp472 = arg0 ; break ; /* branch: __ats_lab_171 */ __ats_lab_171_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_171_1: tmp473 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp474 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp475 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (tmp473) ; tmp476 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_move_val (tmp475, tmp473, tmp474) ; tmp472 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp472, atslab_0, tmp476) ; ats_selptrset_mac(anairiats_sum_8, tmp472, atslab_1, arg0) ; break ; } while (0) ; return (tmp472) ; } /* end of [addtpmv_62] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 31531(line=1548, offs=1) -- 31697(line=1554, offs=4) */ ATSstaticdec() ats_ptr_type addtlab_63 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; __ats_lab_addtlab_63: tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_loc (arg1) ; tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmplab (tmp478, arg1) ; tmp477 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp477, atslab_0, tmp479) ; ats_selptrset_mac(anairiats_sum_8, tmp477, atslab_1, arg0) ; return (tmp477) ; } /* end of [addtlab_63] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 31744(line=1559, offs=1) -- 32039(line=1575, offs=4) */ ATSstaticdec() ats_void_type addfreecon_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; __ats_lab_addfreecon_64: do { /* branch: __ats_lab_172 */ __ats_lab_172_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_175_0 ; } __ats_lab_172_1: tmp481 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ; do { /* branch: __ats_lab_173 */ __ats_lab_173_0: if (((ats_sum_ptr_type)arg3)->tag != 0) { goto __ats_lab_174_0 ; } __ats_lab_173_1: tmp482 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; /* tmp480 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_freeconenv_if (arg0, arg1, tmp481, tmp482) ; break ; /* branch: __ats_lab_174 */ __ats_lab_174_0: __ats_lab_174_1: break ; } while (0) ; break ; /* branch: __ats_lab_175 */ __ats_lab_175_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_175_1: break ; } while (0) ; return /* (tmp480) */ ; } /* end of [addfreecon_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 32089(line=1580, offs=1) -- 32450(line=1600, offs=4) */ ATSstaticdec() ats_ptr_type fptcmplst_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; __ats_lab_fptcmplst_65: do { /* branch: __ats_lab_176 */ __ats_lab_176_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_177_0 ; } __ats_lab_176_1: tmp484 = list_vt_reverse_01506_ats_ptr_type (arg3) ; tmp483 = list_vt_reverse_append_01507_ats_ptr_type (arg2, tmp484) ; break ; /* branch: __ats_lab_177 */ __ats_lab_177_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_177_1: tmp485 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp486 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp483 = fptcmplst2_66 (arg0, tmp485, tmp486, arg2, arg3) ; break ; } while (0) ; return (tmp483) ; } /* end of [fptcmplst_65] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 32481(line=1603, offs=1) -- 34197(line=1673, offs=4) */ ATSstaticdec() ats_ptr_type fptcmplst2_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; // ATSlocal_void (tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; // ATSlocal_void (tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; // ATSlocal_void (tmp506) ; ATSlocal (ats_ptr_type, tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_ptr_type, tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; __ats_lab_fptcmplst2_66: do { /* branch: __ats_lab_178 */ __ats_lab_178_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_179_0 ; } __ats_lab_178_1: tmp487 = fptcmplst_65 (arg0, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_179 */ __ats_lab_179_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_180_0 ; } __ats_lab_179_1: tmp488 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp489 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp490 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2 (tmp489, tmp488) ; /* tmp491 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp488, tmp490) ; tmp492 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp488) ; if (tmp492) { tmp493 = arg4 ; } else { tmp493 = addtpmv_62 (arg4, tmp489) ; } /* end of [if] */ tmp487 = fptcmplst_65 (arg0, arg2, arg3, tmp493) ; break ; /* branch: __ats_lab_180 */ __ats_lab_180_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_181_0 ; } __ats_lab_180_1: tmp494 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp495 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv2 (tmp495, tmp494) ; /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_add_vbindmapenvall (arg0, tmp494, tmp496) ; tmp487 = fptcmplst_65 (arg0, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_181 */ __ats_lab_181_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_182_0 ; } __ats_lab_181_1: tmp498 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp499 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp500 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ; tmp501 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_3) ; tmp502 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_4) ; tmp503 = addtpmv_62 (arg3, tmp499) ; tmp504 = addtlab_63 (tmp503, tmp500) ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__tmprimval2pmv (tmp499) ; /* tmp506 = */ addfreecon_64 (arg0, tmp505, tmp501, tmp498) ; tmp508 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp505), atslab_primval_loc) ; tmp509 = ats_ptrget_mac(ats_ptr_type, tmp502) ; tmp507 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_patck (tmp508, tmp505, tmp498, tmp509) ; tmp510 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp510, atslab_0, tmp507) ; ats_selptrset_mac(anairiats_sum_8, tmp510, atslab_1, tmp504) ; tmp487 = fptcmplst_65 (arg0, arg2, tmp510, arg4) ; break ; /* branch: __ats_lab_182 */ __ats_lab_182_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_183_0 ; } __ats_lab_182_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp512 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp513 = addtpmv_62 (arg3, tmp511) ; tmp514 = addtlab_63 (tmp513, tmp512) ; tmp487 = fptcmplst_65 (arg0, arg2, tmp514, arg4) ; break ; /* branch: __ats_lab_183 */ __ats_lab_183_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_184_0 ; } __ats_lab_183_1: tmp515 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp516 = addtlab_63 (arg3, tmp515) ; tmp487 = fptcmplst_65 (arg0, arg2, tmp516, arg4) ; break ; /* branch: __ats_lab_184 */ __ats_lab_184_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_185_0 ; } __ats_lab_184_1: tmp517 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp518 = addtlab_63 (arg3, tmp517) ; tmp487 = fptcmplst_65 (arg0, arg2, tmp518, arg4) ; break ; /* branch: __ats_lab_185 */ __ats_lab_185_0: __ats_lab_185_1: tmp487 = fptcmplst_65 (arg0, arg2, arg3, arg4) ; break ; } while (0) ; return (tmp487) ; } /* end of [fptcmplst2_66] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 34278(line=1679, offs=3) -- 34348(line=1682, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_ccomp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_ccomp: tmp520 = (ats_sum_ptr_type)0 ; tmp521 = (ats_sum_ptr_type)0 ; tmp519 = fptcmplst_65 (arg0, arg1, tmp520, tmp521) ; return (tmp519) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 34746(line=1707, offs=1) -- 35201(line=1734, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmat_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_ptr_type, tmp529) ; // ATSlocal_void (tmp530) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmat_ccomp: tmp523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg3), atslab_higmat_exp) ; tmp525 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg3), atslab_higmat_pat) ; do { /* branch: __ats_lab_186 */ __ats_lab_186_0: if (tmp525 == (ats_sum_ptr_type)0) { goto __ats_lab_187_0 ; } __ats_lab_186_1: tmp526 = ats_caselptrlab_mac(anairiats_sum_9, tmp525, atslab_0) ; tmp524 = tmp526 ; break ; /* branch: __ats_lab_187 */ __ats_lab_187_0: // if (tmp525 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_187_1: tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_bool_t0ype () ; tmp528 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, tmp523), atslab_hidexp_loc) ; tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_bool (tmp528, tmp527, ats_true_bool) ; break ; } while (0) ; tmp529 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, arg1, tmp523) ; /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hipatck_ccomp (arg0, arg1, arg4, tmp524, tmp529) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__himatch_ccomp (arg0, arg1, arg2, tmp524, tmp529) ; return /* (tmp522) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmat_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 35256(line=1738, offs=3) -- 35531(line=1751, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; // ATSlocal_void (tmp534) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp: do { /* branch: __ats_lab_188 */ __ats_lab_188_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_189_0 ; } __ats_lab_188_1: break ; /* branch: __ats_lab_189 */ __ats_lab_189_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_189_1: tmp532 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_0) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_1) ; /* tmp534 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmat_ccomp (arg0, arg1, arg2, tmp532, arg4) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp533 ; arg4 = arg4 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp ; // tail call break ; } while (0) ; return /* (tmp531) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 35593(line=1757, offs=5) -- 36741(line=1813, offs=4) */ ATSstaticdec() ats_ptr_type auxcl_70 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_ptr_type, tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; // ATSlocal_void (tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; // ATSlocal_void (tmp543) ; // ATSlocal_void (tmp544) ; ATSlocal (ats_ptr_type, tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; // ATSlocal_void (tmp548) ; // ATSlocal_void (tmp549) ; // ATSlocal_void (tmp550) ; ATSlocal (ats_ptr_type, tmp551) ; // ATSlocal_void (tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; __ats_lab_auxcl_70: tmp536 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ; /* tmp538 = ats_selsin_mac(tmp537, atslab_1) */ ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_inc_freeconenv (arg0) ; tmp540 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_ccomp (arg0, arg3) ; /* tmp541 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt (tmp536, tmp540) ; tmp542 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg2), atslab_hiclau_gua) ; do { /* branch: __ats_lab_190 */ __ats_lab_190_0: if (tmp542 != (ats_sum_ptr_type)0) { goto __ats_lab_191_0 ; } __ats_lab_190_1: break ; /* branch: __ats_lab_191 */ __ats_lab_191_0: // if (tmp542 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_191_1: /* tmp544 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment (tmp536, ATSstrcst("ibranch-guard:")) ; tmp545 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplst_find_guafail (arg3) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__higmatlst_ccomp (arg0, tmp536, arg1, tmp542, tmp545) ; break ; } while (0) ; tmp546 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg2), atslab_hiclau_loc) ; tmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_getdec_freeconenv (arg0) ; /* tmp548 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst (tmp536, tmp546, tmp547) ; /* tmp549 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment (tmp536, ATSstrcst("ibranch-mbody:")) ; tmp551 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg2), atslab_hiclau_body) ; /* tmp550 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp536, arg4, tmp551) ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ; tmp553 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp536) ; tmp554 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg2), atslab_hiclau_loc) ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__ibranch_make (tmp554, tmp553) ; return (tmp535) ; } /* end of [auxcl_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 36768(line=1815, offs=5) -- 37242(line=1836, offs=4) */ ATSstaticdec() ats_ptr_type auxclist_71 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_ptr_type, tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; __ats_lab_auxclist_71: do { /* branch: __ats_lab_192 */ __ats_lab_192_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_193_0 ; } __ats_lab_192_1: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp556 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ; tmp557 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ; if (arg3 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 36980(line=1828, offs=9) -- 37017(line=1828, offs=46)") ; } tmp558 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_0) ; tmp559 = ats_caselptrlab_mac(anairiats_sum_8, arg3, atslab_1) ; tmp560 = auxcl_70 (arg0, arg1, tmp556, tmp558, arg4) ; tmp561 = auxclist_71 (arg0, arg1, tmp557, tmp559, arg4) ; tmp555 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp555, atslab_0, tmp560) ; ats_selptrset_mac(anairiats_sum_8, tmp555, atslab_1, tmp561) ; break ; /* branch: __ats_lab_193 */ __ats_lab_193_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_193_1: tmp555 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp555) ; } /* end of [auxclist_71] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_claulst.dats: 37318(line=1842, offs=1) -- 37599(line=1855, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_ptr_type, tmp563) ; // ATSlocal_void (tmp564) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp: tmp563 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__hiclaulst_patcomp (arg1, arg3, arg2) ; /* tmp564 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__patcomplstlst_jumpfill (tmp563, arg5) ; tmp562 = auxclist_71 (arg0, arg1, arg3, tmp563, arg4) ; return (tmp562) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_patcst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKpat_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKlabpat_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__MTKrparen_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPasvar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPlablparen_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatlparen_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPreclparen_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPrparen_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPpatneg_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabend_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__PTCMPtmplabgua_9.tag = 9 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_claulst_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_ccomp_claulst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_codegen2_util_dats.c0000664000175000017500000010501112655455557021322 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_4 ; typedef struct { anairiats_rec_4 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ITMcst_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_s2cst) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_bool_type aux_test_0 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_find_4 (ats_ptr_type arg0) ; static ats_ptr_type aux_find_7 (ats_ptr_type arg0) ; static ats_void_type auxlst_10 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_10_closure_make (ats_ptr_type env0) ; static ats_void_type auxlst_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_s2qua_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, anairiats_rec_4 arg3) ; static ats_void_type aux_s2qualst_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type fprs2t_16 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_17 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop_17_closure_make (ats_ptr_type env0) ; static ats_void_type loop_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_void_type aux_15 (ats_ptr_type env0, anairiats_rec_4 arg0) ; static ats_clo_ptr_type aux_15_closure_make (ats_ptr_type env0) ; static ats_void_type aux_15_clofun (ats_clo_ptr_type cloptr, anairiats_rec_4 arg0) ; static ats_void_type auxlst_18 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_18_closure_make (ats_ptr_type env0) ; static ats_void_type auxlst_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 1714(line=60, offs=1) -- 1958(line=76, offs=2) */ ATSstaticdec() ats_bool_type aux_test_0 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab_aux_test_0: tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp2) ; tmp0 = atspre_eq_string_string (arg1, tmp3) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; tmp0 = atspre_eq_string_string (arg1, tmp4) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [aux_test_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 2034(line=81, offs=17) -- 2063(line=81, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcon_test_e1xp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcon_test_e1xp: tmp5 = aux_test_0 (arg0, ATSstrcst("datcon")) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcon_test_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 2093(line=83, offs=20) -- 2125(line=83, offs=52) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcontag_test_e1xp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcontag_test_e1xp: tmp6 = aux_test_0 (arg0, ATSstrcst("datcontag")) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__datcontag_test_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 2155(line=86, offs=17) -- 2184(line=86, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__fprint_test_e1xp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__fprint_test_e1xp: tmp7 = aux_test_0 (arg0, ATSstrcst("fprint")) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__fprint_test_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 2243(line=95, offs=1) -- 2623(line=118, offs=4) */ ATSstaticdec() ats_ptr_type aux_find_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_aux_find_4: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_find (arg0) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp9 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_3_1: tmp10 = ats_caselptrlab_mac(anairiats_sum_2, tmp9, atslab_0) ; ATS_FREE(tmp9) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp10)->tag != 1) { goto __ats_lab_7_0 ; } __ats_lab_4_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_1, tmp10, atslab_0) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp11 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp12 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_0) ; tmp8 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp8, atslab_0, tmp12) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp11 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp8 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp8 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp9 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp8 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp8) ; } /* end of [aux_find_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 2699(line=124, offs=3) -- 3070(line=154, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_s2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_s2cst: tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp14)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp15 = ats_caselptrlab_mac(anairiats_sum_1, tmp14, atslab_0) ; tmp13 = aux_find_4 (tmp15) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp13 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 3179(line=162, offs=3) -- 3443(line=177, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype: tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_s2cst (arg0) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp17 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_2, tmp17, atslab_0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_datype (tmp18) ; if (tmp19) { tmp16 = tmp17 ; } else { ATS_FREE(tmp17) ; tmp16 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp17 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp16 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_datype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 3509(line=184, offs=1) -- 3801(line=203, offs=4) */ ATSstaticdec() ats_ptr_type aux_find_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_aux_find_7: tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (arg0) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp21 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_13_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_2, tmp21, atslab_0) ; ATS_FREE(tmp21) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp22)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, tmp22, atslab_0) ; tmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_0, tmp23) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp20 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp21 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp20 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp20) ; } /* end of [aux_find_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 3877(line=209, offs=3) -- 4245(line=238, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_d2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_d2cst: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp25)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, tmp25, atslab_0) ; tmp24 = aux_find_7 (tmp26) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp24 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_get_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 4423(line=254, offs=1) -- 4589(line=265, offs=2) */ ATSstaticdec() ats_void_type auxlst_10 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_auxlst_10: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp30 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (tmp29) ; /* tmp31 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (env0, tmp32) ; arg0 = tmp30 ; goto __ats_lab_auxlst_10 ; // tail call break ; } while (0) ; return /* (tmp28) */ ; } /* end of [auxlst_10] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_10_closure_type ; ats_void_type auxlst_10_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxlst_10 (((auxlst_10_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxlst_10_closure_init (auxlst_10_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_10_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_10_closure_make (ats_ptr_type env0) { auxlst_10_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_10_closure_type)) ; auxlst_10_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 4333(line=247, offs=1) -- 4661(line=269, offs=4) */ ATSstaticdec() ats_void_type aux_s2qua_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, anairiats_rec_4 arg3) { /* local vardec */ // ATSlocal_void (tmp27) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_aux_s2qua_9: /* tmp33 = */ atspre_fprint_string (arg0, arg1) ; tmp35 = ats_select_mac(arg3, atslab_s2qua_svs) ; /* tmp34 = */ auxlst_10 (arg0, tmp35) ; /* tmp27 = */ atspre_fprint_string (arg0, arg2) ; return /* (tmp27) */ ; } /* end of [aux_s2qua_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 4689(line=272, offs=1) -- 4953(line=286, offs=2) */ ATSstaticdec() ats_void_type aux_s2qualst_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp36) ; ATSlocal (anairiats_rec_4, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; // ATSlocal_void (tmp39) ; __ats_lab_aux_s2qualst_11: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ; tmp38 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_1) ; /* tmp39 = */ aux_s2qua_9 (arg0, arg1, arg2, tmp37) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp38 ; goto __ats_lab_aux_s2qualst_11 ; // tail call break ; } while (0) ; return /* (tmp36) */ ; } /* end of [aux_s2qualst_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5041(line=292, offs=3) -- 5145(line=300, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp: tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; /* tmp40 = */ aux_s2qualst_11 (arg0, ATSstrcst("<"), ATSstrcst(">"), tmp41) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5219(line=304, offs=3) -- 5323(line=312, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; /* tmp42 = */ aux_s2qualst_11 (arg0, ATSstrcst("{"), ATSstrcst("}"), tmp43) ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstimp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5516(line=329, offs=1) -- 5719(line=342, offs=2) */ ATSstaticdec() ats_void_type fprs2t_16 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_bool_type, tmp47) ; // ATSlocal_void (tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_bool_type, tmp50) ; __ats_lab_fprs2t_16: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (arg1) ; if (tmp47) { tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (arg1) ; if (tmp49) { /* tmp48 = */ atspre_fprint_string (arg0, ATSstrcst("vt0p")) ; } else { /* empty */ } /* end of [if] */ tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_nonlin (arg1) ; if (tmp50) { /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("t0p")) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp46) */ ; } /* end of [fprs2t_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5749(line=345, offs=1) -- 6040(line=361, offs=2) */ ATSstaticdec() ats_void_type loop_17 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; __ats_lab_loop_17: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_sym (tmp52) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (tmp52) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (env0, tmp54) ; /* tmp57 = */ atspre_fprint_string (env0, ATSstrcst(":")) ; /* tmp58 = */ fprs2t_16 (env0, tmp55) ; arg0 = tmp53 ; goto __ats_lab_loop_17 ; // tail call break ; } while (0) ; return /* (tmp51) */ ; } /* end of [loop_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_17_closure_type ; ats_void_type loop_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { loop_17 (((loop_17_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type loop_17_closure_init (loop_17_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_17_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_17_closure_make (ats_ptr_type env0) { loop_17_closure_type *p_clo = ATS_MALLOC(sizeof(loop_17_closure_type)) ; loop_17_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5466(line=323, offs=1) -- 6128(line=367, offs=4) */ ATSstaticdec() ats_void_type aux_15 (ats_ptr_type env0, anairiats_rec_4 arg0) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; __ats_lab_aux_15: tmp59 = ats_select_mac(arg0, atslab_s2qua_svs) ; /* tmp60 = */ atspre_fprint_string (env0, ATSstrcst("{")) ; /* tmp61 = */ loop_17 (env0, tmp59) ; /* tmp45 = */ atspre_fprint_string (env0, ATSstrcst("}")) ; return /* (tmp45) */ ; } /* end of [aux_15] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_15_closure_type ; ats_void_type aux_15_clofun (ats_clo_ptr_type cloptr, anairiats_rec_4 arg0) { aux_15 (((aux_15_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type aux_15_closure_init (aux_15_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_15_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_15_closure_make (ats_ptr_type env0) { aux_15_closure_type *p_clo = ATS_MALLOC(sizeof(aux_15_closure_type)) ; aux_15_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 6150(line=370, offs=1) -- 6283(line=378, offs=2) */ ATSstaticdec() ats_void_type auxlst_18 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; ATSlocal (anairiats_rec_4, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; // ATSlocal_void (tmp65) ; __ats_lab_auxlst_18: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; /* tmp65 = */ aux_15 (env0, tmp63) ; arg0 = tmp64 ; goto __ats_lab_auxlst_18 ; // tail call break ; } while (0) ; return /* (tmp62) */ ; } /* end of [auxlst_18] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_18_closure_type ; ats_void_type auxlst_18_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { auxlst_18 (((auxlst_18_closure_type*)cloptr)->closure_env_0, arg0) ; return ; } /* end of function */ ATSinline() ats_void_type auxlst_18_closure_init (auxlst_18_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_18_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_18_closure_make (ats_ptr_type env0) { auxlst_18_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_18_closure_type)) ; auxlst_18_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 5441(line=320, offs=3) -- 6348(line=382, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_decarg (arg1) ; /* tmp44 = */ auxlst_18 (arg0, tmp66) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_tmpcstdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_codegen2_util.dats: 6441(line=388, offs=3) -- 6491(line=391, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_s2exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_s2exp: /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, arg1) ; return /* (tmp67) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__codegen2_emit_s2exp] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_codegen2_util_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_codegen2_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_dats.c0000664000175000017500000034614312655455557020202 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_sp2at_loc ; ats_ptr_type atslab_sp2at_exp ; ats_ptr_type atslab_sp2at_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_11 ; typedef struct { anairiats_rec_5 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_uint_type atslab_0 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_s2tavar_loc ; ats_ptr_type atslab_s2tavar_var ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s2aspdec_loc ; ats_ptr_type atslab_s2aspdec_cst ; ats_ptr_type atslab_s2aspdec_def ; } anairiats_rec_17 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2RTfun_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDbox_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt1_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__TYRECKINDflt_ext_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFexp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EFFadd_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efloat_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Estring_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ehole_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatcontyp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Edatconptr_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Esizeof_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeff_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eeqeq_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Elam_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetdec_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Erefarg_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Tcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SP2Terr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_int_of_uchar) (ats_uchar_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall) (ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union) (ats_uint_type, ats_uint_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all) ; /* internal function declarations */ static ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type aux_70 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp217) ; ATSstatic (ats_ptr_type, statmp218) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2001(line=76, offs=18) -- 2060(line=77, offs=52) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_box (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_box: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp0 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp0 = ats_false_bool ; break ; } while (0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_box] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2121(line=81, offs=21) -- 2184(line=82, offs=56) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxlin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxlin: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp1 = ats_true_bool ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp1 = ats_false_bool ; break ; } while (0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2247(line=86, offs=20) -- 2351(line=92, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp2 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp2 = ats_true_bool ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp2 = ats_false_bool ; break ; } while (0) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_boxed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2436(line=98, offs=3) -- 2571(line=105, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_flted (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_flted: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp3 = ats_true_bool ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp3 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp3 = ats_true_bool ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp3 = ats_false_bool ; break ; } while (0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_flted] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2632(line=108, offs=21) -- 2694(line=109, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_fltext (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_fltext: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_fltext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 2781(line=115, offs=23) -- 2968(line=125, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_nameless (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_nameless: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp5 = ats_true_bool ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp5 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp5 = ats_true_bool ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp5 = ats_false_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (((ats_sum_ptr_type)arg0)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp5 = ats_false_bool ; break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__tyreckind_is_nameless] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 3060(line=131, offs=3) -- 3435(line=150, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; ATSlocal (ats_int_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_23_1 ; } __ats_lab_18_2: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_20_0 ; } __ats_lab_19_1: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_23_1 ; } __ats_lab_19_2: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_21_0 ; } __ats_lab_20_1: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_23_1 ; } __ats_lab_20_2: tmp6 = ats_true_bool ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_22_0 ; } __ats_lab_21_1: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_23_1 ; } __ats_lab_21_2: tmp7 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp8 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__eq_stamp_stamp (tmp7, tmp8) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_23_0 ; } __ats_lab_22_1: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_23_1 ; } __ats_lab_22_2: tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp10 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp6 = atspre_eq_string_string (tmp9, tmp10) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: __ats_lab_23_2: tmp6 = ats_false_bool ; break ; } while (0) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 3508(line=154, offs=3) -- 3562(line=154, offs=57) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_tyreckind_tyreckind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_tyreckind_tyreckind: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (arg0, arg1) ; tmp11 = atspre_neg_bool (tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_tyreckind_tyreckind] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_loop_11: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp20 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp18, arg3) ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp21, atslab_0, tmp20) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp21 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp22 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp19 ; arg1 = arg1 ; arg2 = tmp22 ; arg3 = arg3 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp23 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp23 ; break ; } while (0) ; return /* (tmp17) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp24) ; // ATSlocal_void (tmp25) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp24 ; */ /* tmp25 = */ loop_11 (arg0, arg1, (&tmp24), arg2) ; tmp16 = tmp24 ; return (tmp16) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp15 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp15) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 3644(line=161, offs=3) -- 3846(line=172, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_con: tmp14 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (arg1, ats_castfn_mac(ats_ptr_type, tmp14)) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp27, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp27, atslab_1, arg2) ; tmp13 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp13, atslab_sp2at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp13, atslab_sp2at_exp, tmp26) ; ats_selptrset_mac(anairiats_rec_4, tmp13, atslab_sp2at_node, tmp27) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 3890(line=175, offs=11) -- 4039(line=181, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp29) ; tmp31 = (ats_sum_ptr_type)0 ; tmp28 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp28, atslab_sp2at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp28, atslab_sp2at_exp, tmp30) ; ats_selptrset_mac(anairiats_rec_4, tmp28, atslab_sp2at_node, tmp31) ; return (tmp28) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sp2at_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4107(line=187, offs=3) -- 4157(line=189, offs=2) */ ATSglobaldec() anairiats_rec_5 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_5, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make: tmp32.atslab_s2qua_svs = arg0 ; tmp32.atslab_s2qua_sps = arg1 ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4349(line=201, offs=11) -- 4409(line=203, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int: tmp35 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp35)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp35, atslab_0, arg0) ; tmp34 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp34, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ats_selptrset_mac(anairiats_rec_6, tmp34, atslab_s2exp_node, tmp35) ; tmp33 = ats_castfn_mac(ats_ptr_type, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4455(line=205, offs=14) -- 4518(line=207, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf: tmp38 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp38)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp38, atslab_0, arg0) ; tmp37 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp37, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ats_selptrset_mac(anairiats_rec_6, tmp37, atslab_s2exp_node, tmp38) ; tmp36 = ats_castfn_mac(ats_ptr_type, tmp37) ; return (tmp36) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4569(line=209, offs=16) -- 4599(line=209, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char (ats_char_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char: tmp40 = atspre_int_of_char (arg0) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4628(line=211, offs=17) -- 4659(line=211, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_uchar (ats_uchar_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_uchar: tmp42 = atspre_int_of_uchar (arg0) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int (tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_int_uchar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4708(line=217, offs=3) -- 4775(line=219, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float: tmp45 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp45)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp45, atslab_0, arg0) ; tmp44 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp44, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_float) ; ats_selptrset_mac(anairiats_rec_6, tmp44, atslab_s2exp_node, tmp45) ; tmp43 = ats_castfn_mac(ats_ptr_type, tmp44) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4850(line=225, offs=3) -- 4919(line=227, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string: tmp48 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp48)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp48, atslab_0, arg0) ; tmp47 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp47, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_string) ; ats_selptrset_mac(anairiats_rec_6, tmp47, atslab_s2exp_node, tmp48) ; tmp46 = ats_castfn_mac(ats_ptr_type, tmp47) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 4990(line=232, offs=11) -- 5092(line=236, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst: tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp52 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp52)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp52, atslab_0, arg0) ; tmp51 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp51, atslab_s2exp_srt, tmp50) ; ats_selptrset_mac(anairiats_rec_6, tmp51, atslab_s2exp_node, tmp52) ; tmp49 = ats_castfn_mac(ats_ptr_type, tmp51) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5136(line=239, offs=11) -- 5238(line=243, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var: tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg0) ; tmp56 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp56)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp56, atslab_0, arg0) ; tmp55 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp55, atslab_s2exp_srt, tmp54) ; ats_selptrset_mac(anairiats_rec_6, tmp55, atslab_s2exp_node, tmp56) ; tmp53 = ats_castfn_mac(ats_ptr_type, tmp55) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5335(line=250, offs=2) -- 5399(line=252, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var_srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var_srt: tmp59 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp59)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp59, atslab_0, arg1) ; tmp58 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp58, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp58, atslab_s2exp_node, tmp59) ; tmp57 = ats_castfn_mac(ats_ptr_type, tmp58) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5447(line=255, offs=11) -- 5569(line=259, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt (arg0) ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp62)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, arg0) ; tmp60 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp60, atslab_s2exp_srt, tmp61) ; ats_selptrset_mac(anairiats_rec_6, tmp60, atslab_s2exp_node, tmp62) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5614(line=262, offs=12) -- 5718(line=266, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2hole_get_srt (arg0) ; tmp66 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp66)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp66, atslab_0, arg0) ; tmp65 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp65, atslab_s2exp_srt, tmp64) ; ats_selptrset_mac(anairiats_rec_6, tmp65, atslab_s2exp_node, tmp66) ; tmp63 = ats_castfn_mac(ats_ptr_type, tmp65) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_hole] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5795(line=272, offs=3) -- 5878(line=274, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt: tmp69 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp69)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp69, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp69, atslab_1, arg2) ; tmp68 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp68, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp68, atslab_s2exp_node, tmp69) ; tmp67 = ats_castfn_mac(ats_ptr_type, tmp68) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extype_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 5939(line=278, offs=3) -- 6023(line=280, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt: tmp72 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp72)->tag = 6 ; ats_selptrset_mac(anairiats_sum_7, tmp72, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp72, atslab_1, arg2) ; tmp71 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp71, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp71, atslab_s2exp_node, tmp72) ; tmp70 = ats_castfn_mac(ats_ptr_type, tmp71) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_extkind_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6097(line=286, offs=3) -- 6175(line=288, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at: tmp75 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp75)->tag = 12 ; ats_selptrset_mac(anairiats_sum_7, tmp75, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp75, atslab_1, arg1) ; tmp74 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp74, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ats_selptrset_mac(anairiats_rec_6, tmp74, atslab_s2exp_node, tmp75) ; tmp73 = ats_castfn_mac(ats_ptr_type, tmp74) ; return (tmp73) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6221(line=291, offs=14) -- 6288(line=293, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof: tmp78 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp78)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp78, atslab_0, arg0) ; tmp77 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp77, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_int) ; ats_selptrset_mac(anairiats_rec_6, tmp77, atslab_s2exp_node, tmp78) ; tmp76 = ats_castfn_mac(ats_ptr_type, tmp77) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_sizeof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6358(line=299, offs=3) -- 6424(line=301, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff: tmp81 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp81)->tag = 14 ; ats_selptrset_mac(anairiats_sum_2, tmp81, atslab_0, arg0) ; tmp80 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp80, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_eff) ; ats_selptrset_mac(anairiats_rec_6, tmp80, atslab_s2exp_node, tmp81) ; tmp79 = ats_castfn_mac(ats_ptr_type, tmp80) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6472(line=305, offs=3) -- 6552(line=307, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq: tmp84 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp84)->tag = 15 ; ats_selptrset_mac(anairiats_sum_7, tmp84, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp84, atslab_1, arg1) ; tmp83 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp83, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ats_selptrset_mac(anairiats_rec_6, tmp83, atslab_s2exp_node, tmp84) ; tmp82 = ats_castfn_mac(ats_ptr_type, tmp83) ; return (tmp82) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_eqeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6600(line=311, offs=3) -- 6783(line=316, offs=24) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp87 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp87)->tag = 16 ; ats_selptrset_mac(anairiats_sum_8, tmp87, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp87, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp87, atslab_2, arg2) ; tmp86 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp86, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ats_selptrset_mac(anairiats_rec_6, tmp86, atslab_s2exp_node, tmp87) ; tmp85 = ats_castfn_mac(ats_ptr_type, tmp86) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp85 = arg0 ; break ; } while (0) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6857(line=323, offs=3) -- 6931(line=325, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt: tmp89 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp89)->tag = 17 ; ats_selptrset_mac(anairiats_sum_7, tmp89, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp89, atslab_1, arg2) ; tmp88 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp88, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp88, atslab_s2exp_node, tmp89) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 6981(line=329, offs=3) -- 7158(line=334, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam: tmp91 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_fun (ats_castfn_mac(ats_ptr_type, tmp91), tmp93) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (tmp92, arg0, arg1) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 7208(line=338, offs=3) -- 7306(line=340, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt: tmp95 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp95)->tag = 18 ; ats_selptrset_mac(anairiats_sum_7, tmp95, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp95, atslab_1, arg2) ; tmp94 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp94, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp94, atslab_s2exp_node, tmp95) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 7357(line=343, offs=14) -- 7509(line=348, offs=28) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp97 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp98 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lam (tmp97, arg1) ; arg0 = tmp98 ; arg1 = tmp99 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp96 = arg1 ; break ; } while (0) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_lamlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 7560(line=352, offs=15) -- 7682(line=356, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt: tmp102 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp102)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_4, arg5) ; ats_selptrset_mac(anairiats_sum_9, tmp102, atslab_5, arg6) ; tmp101 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp101, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp101, atslab_s2exp_node, tmp102) ; tmp100 = ats_castfn_mac(ats_ptr_type, tmp101) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_fun_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 7733(line=359, offs=14) -- 7882(line=366, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun: tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_s2exp_srt) ; tmp106 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp106)->tag = 20 ; ats_selptrset_mac(anairiats_sum_8, tmp106, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp106, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp106, atslab_2, arg2) ; tmp105 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp105, atslab_s2exp_srt, tmp104) ; ats_selptrset_mac(anairiats_rec_6, tmp105, atslab_s2exp_node, tmp106) ; tmp103 = ats_castfn_mac(ats_ptr_type, tmp105) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 7953(line=371, offs=14) -- 8043(line=375, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp109)->tag = 21 ; ats_selptrset_mac(anairiats_sum_7, tmp109, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp109, atslab_1, arg1) ; tmp108 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp108, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_bool) ; ats_selptrset_mac(anairiats_rec_6, tmp108, atslab_s2exp_node, tmp109) ; tmp107 = ats_castfn_mac(ats_ptr_type, tmp108) ; return (tmp107) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_metdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 8116(line=381, offs=3) -- 8317(line=387, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp: tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_srt (arg0) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg0) ; if (((ats_sum_ptr_type)tmp111)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 8222(line=384, offs=7) -- 8259(line=384, offs=44)") ; } tmp113 = ats_caselptrlab_mac(anairiats_sum_7, tmp111, atslab_1) ; tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (tmp113, tmp112, arg1) ; tmp110 = ats_castfn_mac(ats_ptr_type, tmp114) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 8367(line=390, offs=14) -- 8537(line=397, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun: tmp118 = (ats_sum_ptr_type)0 ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp117)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_0, tmp118) ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_1, 0) ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil) ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_3, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_4, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp117, atslab_5, arg2) ; tmp116 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp116, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type) ; ats_selptrset_mac(anairiats_rec_6, tmp116, atslab_s2exp_node, tmp117) ; tmp115 = ats_castfn_mac(ats_ptr_type, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 8616(line=403, offs=3) -- 8842(line=410, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (arg0) ; tmp122 = atspre_gt_int_int (tmp120, 0) ; if (tmp122) { tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } /* end of [if] */ tmp124 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp124)->tag = 10 ; ats_selptrset_mac(anairiats_sum_7, tmp124, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp124, atslab_1, arg1) ; tmp123 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp123, atslab_s2exp_srt, tmp121) ; ats_selptrset_mac(anairiats_rec_6, tmp123, atslab_s2exp_node, tmp124) ; tmp119 = ats_castfn_mac(ats_ptr_type, tmp123) ; return (tmp119) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 8900(line=414, offs=3) -- 9134(line=421, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_bool_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr: tmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (arg0) ; tmp128 = atspre_gt_int_int (tmp126, 0) ; if (tmp128) { tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vtype ; } else { tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } /* end of [if] */ tmp130 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp130)->tag = 11 ; ats_selptrset_mac(anairiats_sum_8, tmp130, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp130, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp130, atslab_2, arg2) ; tmp129 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp129, atslab_s2exp_srt, tmp127) ; ats_selptrset_mac(anairiats_rec_6, tmp129, atslab_s2exp_node, tmp130) ; tmp125 = ats_castfn_mac(ats_ptr_type, tmp129) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datconptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 9207(line=427, offs=3) -- 9453(line=438, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_bool_type, tmp134) ; ATSlocal (ats_bool_type, tmp135) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top: tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp132) ; if (tmp134) { tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_prop ; } else { tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (tmp132) ; if (tmp135) { tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_type ; } else { tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ } /* end of [if] */ tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt (tmp133, arg0, arg1) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 9503(line=442, offs=3) -- 9573(line=444, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt: tmp137 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp137)->tag = 22 ; ats_selptrset_mac(anairiats_sum_10, tmp137, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp137, atslab_1, arg2) ; tmp136 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp136, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp136, atslab_s2exp_node, tmp137) ; return (tmp136) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_top_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 9628(line=447, offs=15) -- 9694(line=449, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without: tmp139 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp139)->tag = 23 ; ats_selptrset_mac(anairiats_sum_2, tmp139, atslab_0, arg0) ; tmp138 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp138, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ats_selptrset_mac(anairiats_rec_6, tmp138, atslab_s2exp_node, tmp139) ; return (tmp138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 9770(line=455, offs=3) -- 9938(line=461, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_bool_type, tmp142) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr: tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (arg0) ; if (tmp142) { tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_vt0ype ; } else { tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype ; } /* end of [if] */ tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt (tmp141, arg0, arg1) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 9992(line=465, offs=3) -- 10075(line=467, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt: tmp145 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp145)->tag = 24 ; ats_selptrset_mac(anairiats_sum_7, tmp145, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp145, atslab_1, arg2) ; tmp144 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp144, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp144, atslab_s2exp_node, tmp145) ; tmp143 = ats_castfn_mac(ats_ptr_type, tmp144) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyarr_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10154(line=473, offs=3) -- 10244(line=475, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt: tmp148 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp148)->tag = 25 ; ats_selptrset_mac(anairiats_sum_11, tmp148, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_11, tmp148, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_11, tmp148, atslab_2, arg3) ; tmp147 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp147, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp147, atslab_s2exp_node, tmp148) ; tmp146 = ats_castfn_mac(ats_ptr_type, tmp147) ; return (tmp146) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_tyrec_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10317(line=480, offs=13) -- 10388(line=482, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar: tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp152 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp152)->tag = 26 ; ats_selptrset_mac(anairiats_sum_2, tmp152, atslab_0, arg0) ; tmp150 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp150, atslab_s2exp_srt, tmp151) ; ats_selptrset_mac(anairiats_rec_6, tmp150, atslab_s2exp_node, tmp152) ; tmp149 = ats_castfn_mac(ats_ptr_type, tmp150) ; return (tmp149) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_invar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10458(line=487, offs=14) -- 10542(line=489, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg: tmp154 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_srt) ; tmp155 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp155)->tag = 29 ; ats_selptrset_mac(anairiats_sum_10, tmp155, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_10, tmp155, atslab_1, arg1) ; tmp153 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp153, atslab_s2exp_srt, tmp154) ; ats_selptrset_mac(anairiats_rec_6, tmp153, atslab_s2exp_node, tmp155) ; return (tmp153) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10592(line=492, offs=14) -- 10661(line=494, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg: tmp158 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp158)->tag = 30 ; ats_selptrset_mac(anairiats_sum_2, tmp158, atslab_0, arg0) ; tmp157 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp157, atslab_s2exp_srt, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; ats_selptrset_mac(anairiats_rec_6, tmp157, atslab_s2exp_node, tmp158) ; tmp156 = ats_castfn_mac(ats_ptr_type, tmp157) ; return (tmp156) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_vararg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10729(line=499, offs=11) -- 10908(line=505, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_31_1 ; } __ats_lab_30_2: tmp159 = arg2 ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: __ats_lab_31_2: tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_s2exp_srt) ; tmp162 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp162)->tag = 27 ; ats_selptrset_mac(anairiats_sum_8, tmp162, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp162, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp162, atslab_2, arg2) ; tmp160 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp160, atslab_s2exp_srt, tmp161) ; ats_selptrset_mac(anairiats_rec_6, tmp160, atslab_s2exp_node, tmp162) ; tmp159 = ats_castfn_mac(ats_ptr_type, tmp160) ; break ; } while (0) ; return (tmp159) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 10974(line=509, offs=11) -- 11153(line=515, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_33_1 ; } __ats_lab_32_2: tmp163 = arg2 ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: __ats_lab_33_2: tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg2), atslab_s2exp_srt) ; tmp166 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp166)->tag = 28 ; ats_selptrset_mac(anairiats_sum_8, tmp166, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp166, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp166, atslab_2, arg2) ; tmp164 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp164, atslab_s2exp_srt, tmp165) ; ats_selptrset_mac(anairiats_rec_6, tmp164, atslab_s2exp_node, tmp166) ; tmp163 = ats_castfn_mac(ats_ptr_type, tmp164) ; break ; } while (0) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 11224(line=520, offs=3) -- 11337(line=524, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exiuni (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_bool_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exiuni: tmp168 = atspre_eq_int_int (arg0, 0) ; if (tmp168) { tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exi (arg1, arg2, arg3) ; } else { tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (arg1, arg2, arg3) ; } /* end of [if] */ return (tmp167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_exiuni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 11409(line=529, offs=16) -- 11829(line=543, offs=8) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__uns2exp_exiuni (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_bool_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_bool_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__uns2exp_exiuni: tmp170 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg1), atslab_s2exp_node) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp170)->tag != 27) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_0) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_1) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_2) ; tmp174 = atspre_eq_int_int (arg0, 0) ; if (!tmp174) { goto __ats_lab_36_1 ; } ats_ptrget_mac(ats_ptr_type, arg2) = tmp171 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp172 ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp173 ; tmp169 = ats_true_bool ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp170)->tag != 28) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_1) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_8, tmp170, atslab_2) ; tmp178 = atspre_eq_int_int (arg0, 1) ; if (!tmp178) { goto __ats_lab_36_1 ; } ats_ptrget_mac(ats_ptr_type, arg2) = tmp175 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp176 ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp177 ; tmp169 = ats_true_bool ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp179 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp179 ; tmp180 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg3) = tmp180 ; ats_ptrget_mac(ats_ptr_type, arg4) = arg1 ; tmp169 = ats_false_bool ; break ; } while (0) ; return (tmp169) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__uns2exp_exiuni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 11914(line=549, offs=12) -- 12074(line=554, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (anairiats_rec_5, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp181 = arg1 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp182 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp184 = ats_select_mac(tmp182, atslab_s2qua_svs) ; tmp185 = ats_select_mac(tmp182, atslab_s2qua_sps) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis (tmp183, arg1) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp184, tmp185, tmp186) ; break ; } while (0) ; return (tmp181) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_unis] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12168(line=561, offs=3) -- 12255(line=563, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype: tmp188 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp189 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp189)->tag = 31 ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp189, atslab_1, arg1) ; tmp187 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp187, atslab_s2exp_srt, tmp188) ; ats_selptrset_mac(anairiats_rec_6, tmp187, atslab_s2exp_node, tmp189) ; return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_wthtype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12324(line=568, offs=11) -- 12376(line=570, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err: tmp191 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eerr_32) ; tmp190 = ATS_MALLOC(sizeof(anairiats_rec_6)) ; ats_selptrset_mac(anairiats_rec_6, tmp190, atslab_s2exp_srt, arg0) ; ats_selptrset_mac(anairiats_rec_6, tmp190, atslab_s2exp_node, tmp191) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12425(line=573, offs=16) -- 12452(line=573, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_err () ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (tmp193) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12480(line=575, offs=17) -- 12506(line=575, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_t0ype) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12554(line=581, offs=3) -- 12613(line=582, offs=43) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq: tmp195 = atspre_peq (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_refeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12688(line=589, offs=3) -- 12722(line=589, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf: tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp197) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12775(line=592, offs=17) -- 12805(line=592, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonprf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp198) ; ATSlocal (ats_bool_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonprf: tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (arg0) ; tmp198 = atspre_neg_bool (tmp199) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonprf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12834(line=596, offs=3) -- 12868(line=596, offs=37) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin: tmp201 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_lin (tmp201) ; return (tmp200) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12921(line=599, offs=17) -- 12951(line=599, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_bool_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin: tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (arg0) ; tmp202 = atspre_neg_bool (tmp203) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 12982(line=603, offs=3) -- 13018(line=603, offs=39) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_boxed (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_boxed: tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (tmp205) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_boxed] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13095(line=610, offs=3) -- 13130(line=610, offs=38) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prgm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prgm: tmp207 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (tmp207) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prgm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13187(line=615, offs=3) -- 13224(line=615, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred: tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_srt) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_impred (tmp209) ; return (tmp208) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_impred] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13327(line=624, offs=5) -- 13621(line=639, offs=2) */ ATSstaticdec() ats_bool_type aux_70 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; __ats_lab_aux_70: tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp212)->tag != 19) { goto __ats_lab_42_0 ; } __ats_lab_39_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_9, tmp212, atslab_0) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (tmp213 != (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp211 = ats_true_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp211 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp212)->tag != 28) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp214 = ats_caselptrlab_mac(anairiats_sum_8, tmp212, atslab_2) ; arg0 = tmp214 ; goto __ats_lab_aux_70 ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp212)->tag != 27) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp215 = ats_caselptrlab_mac(anairiats_sum_8, tmp212, atslab_2) ; arg0 = tmp215 ; goto __ats_lab_aux_70 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp212)->tag != 20) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp216 = ats_caselptrlab_mac(anairiats_sum_8, tmp212, atslab_2) ; arg0 = tmp216 ; goto __ats_lab_aux_70 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp211 = ats_false_bool ; break ; } while (0) ; return (tmp211) ; } /* end of [aux_70] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13307(line=622, offs=3) -- 13663(line=643, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_FUNCLOfun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp210) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_FUNCLOfun: tmp210 = aux_70 (arg0) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_FUNCLOfun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13839(line=653, offs=14) -- 13860(line=653, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset: tmp219 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp219)->tag = 0 ; ats_selptrset_mac(anairiats_sum_13, tmp219, atslab_0, arg0) ; return (tmp219) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13883(line=656, offs=11) -- 13944(line=658, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_var: tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (arg0) ; tmp220 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp220)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp220, atslab_0, tmp221) ; return (tmp220) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 13988(line=660, offs=21) -- 14009(line=660, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp: tmp222 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp222)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp222, atslab_0, arg0) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 14034(line=664, offs=3) -- 14502(line=673, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_uint_type, tmp224) ; ATSlocal (ats_bool_type, tmp225) ; ATSlocal (ats_uint_type, tmp226) ; ATSlocal (ats_bool_type, tmp227) ; ATSlocal (ats_uint_type, tmp228) ; ATSlocal (ats_bool_type, tmp229) ; ATSlocal (ats_uint_type, tmp230) ; ATSlocal (ats_bool_type, tmp231) ; ATSlocal (ats_uint_type, tmp232) ; ATSlocal (ats_uint_type, tmp233) ; ATSlocal (ats_uint_type, tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: __ats_lab_46_2: tmp224 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp224) ; if (!tmp225) { goto __ats_lab_47_1 ; } tmp223 = arg1 ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_48_0 ; } __ats_lab_47_2: tmp226 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp226) ; if (!tmp227) { goto __ats_lab_48_0 ; } tmp223 = arg0 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: __ats_lab_48_2: tmp228 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (tmp228) ; if (!tmp229) { goto __ats_lab_49_1 ; } tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: __ats_lab_49_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_50_0 ; } __ats_lab_49_2: tmp230 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (tmp230) ; if (!tmp231) { goto __ats_lab_50_0 ; } tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_51_1 ; } __ats_lab_50_2: tmp232 = ats_caselptrlab_mac(anairiats_sum_13, arg0, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_13, arg1, atslab_0) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union (tmp232, tmp233) ; tmp223 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_effset (tmp234) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: __ats_lab_51_2: tmp223 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp223)->tag = 2 ; ats_selptrset_mac(anairiats_sum_7, tmp223, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_7, tmp223, atslab_1, arg1) ; break ; } while (0) ; return (tmp223) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 14572(line=679, offs=14) -- 14635(line=681, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one: tmp236 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; tmp235 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp235, atslab_s2exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp235, atslab_s2exparg_node, tmp236) ; return (tmp235) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 14659(line=683, offs=14) -- 14722(line=685, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all: tmp238 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; tmp237 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp237, atslab_s2exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp237, atslab_s2exparg_node, tmp238) ; return (tmp237) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 14746(line=687, offs=14) -- 14819(line=689, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq: tmp240 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp240)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp240, atslab_0, arg1) ; tmp239 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp239, atslab_s2exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp239, atslab_s2exparg_node, tmp240) ; return (tmp239) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 14896(line=695, offs=3) -- 14954(line=697, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make: tmp241 = ATS_MALLOC(sizeof(anairiats_rec_15)) ; ats_selptrset_mac(anairiats_rec_15, tmp241, atslab_t2mpmarg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_15, tmp241, atslab_t2mpmarg_arg, arg1) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 15031(line=703, offs=3) -- 15085(line=705, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2tavar_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp242) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2tavar_make: tmp242 = ATS_MALLOC(sizeof(anairiats_rec_16)) ; ats_selptrset_mac(anairiats_rec_16, tmp242, atslab_s2tavar_loc, arg0) ; ats_selptrset_mac(anairiats_rec_16, tmp242, atslab_s2tavar_var, arg1) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2tavar_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 15141(line=709, offs=3) -- 15221(line=711, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2aspdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2aspdec_make: tmp243 = ATS_MALLOC(sizeof(anairiats_rec_17)) ; ats_selptrset_mac(anairiats_rec_17, tmp243, atslab_s2aspdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_17, tmp243, atslab_s2aspdec_cst, arg1) ; ats_selptrset_mac(anairiats_rec_17, tmp243, atslab_s2aspdec_def, arg2) ; return (tmp243) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2aspdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2.dats: 15299(line=717, offs=3) -- 15421(line=722, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; // ATSlocal_void (tmp247) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp246 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp247 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg2) (tmp245, arg1) ; arg0 = tmp246 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app ; // tail call break ; } while (0) ; return /* (tmp244) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__synentlst_app] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp217, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp218, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp217 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)statmp217)->tag = 0 ; ats_selptrset_mac(anairiats_sum_13, statmp217, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_nil = statmp217 ; statmp218 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)statmp218)->tag = 0 ; ats_selptrset_mac(anairiats_sum_13, statmp218, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2eff_all = statmp218 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symenv_dats.c0000664000175000017500000010670612655455557020134 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_map ; ats_ptr_type atslab_maplst ; ats_ptr_type atslab_savedlst ; ats_ptr_type atslab_pervasive ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__fprint_symmap) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push) (ats_ref_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__sasp__symenv_vt0ype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type symmaplst_free_0 (ats_ptr_type arg0) ; static ats_ptr_type symmaplst_search_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_2 () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 1690(line=56, offs=1) -- 1878(line=62, offs=26) */ ATSstaticdec() ats_void_type symmaplst_free_0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; __ats_lab_symmaplst_free_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp1) ; arg0 = tmp2 ; goto __ats_lab_symmaplst_free_0 ; // tail call break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: break ; } while (0) ; return /* (tmp0) */ ; } /* end of [symmaplst_free_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 1911(line=66, offs=1) -- 2491(line=84, offs=4) */ ATSstaticdec() ats_ptr_type symmaplst_search_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_symmaplst_search_1: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_2_1: tmp5 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp6 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp8 = ats_ptrget_mac(ats_ptr_type, tmp5) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp8, arg1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp7 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp4 = tmp7 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (tmp7 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp10 = ats_ptrget_mac(ats_ptr_type, tmp6) ; tmp9 = symmaplst_search_1 (tmp10, arg1) ; tmp4 = tmp9 ; break ; } while (0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp4 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp4) ; } /* end of [symmaplst_search_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_ptr_alloc_01070_anairiats_rec_2: tmp13 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_2)) ; return (tmp13) ; } /* end of [ptr_alloc_01070_anairiats_rec_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 2787(line=101, offs=9) -- 3081(line=111, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil: tmp12 = ptr_alloc_01070_anairiats_rec_2 () ; tmp14 = ats_selsin_mac(tmp12, atslab_2) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_map) = tmp15 ; tmp16 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_maplst) = tmp16 ; tmp17 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_savedlst) = tmp17 ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_pervasive) = tmp18 ; tmp11 = tmp14 ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3164(line=117, offs=9) -- 3327(line=123, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search: tmp21 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp21, arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp20 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp19 = tmp20 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp20 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp22 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; tmp19 = symmaplst_search_1 (tmp22, arg1) ; break ; } while (0) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_search] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3408(line=129, offs=3) -- 3457(line=129, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert: /* tmp23 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert (&ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map), arg1, arg2) ; return /* (tmp23) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3529(line=136, offs=3) -- 3673(line=141, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop: tmp25 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; tmp26 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; if (tmp26 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3577(line=138, offs=7) -- 3615(line=138, offs=45)") ; } tmp27 = ats_caselptrlab_mac(anairiats_sum_1, tmp26, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_1, tmp26, atslab_1) ; ATS_FREE(tmp26) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp27 ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp28 ; tmp24 = tmp25 ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3726(line=145, offs=3) -- 3804(line=148, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop (arg0) ; /* tmp29 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp30) ; return /* (tmp29) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pop_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 3858(line=152, offs=3) -- 3971(line=155, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push: tmp33 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; tmp34 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_0, tmp33) ; ats_selptrset_mac(anairiats_sum_1, tmp32, atslab_1, tmp34) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp32 ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = arg1 ; return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4025(line=159, offs=3) -- 4110(line=162, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; /* tmp35 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push (arg0, tmp36) ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_push_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4190(line=168, offs=3) -- 4286(line=173, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear: tmp39 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp39) ; tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp40 ; return /* (tmp37) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_top_clear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4373(line=179, offs=8) -- 4589(line=187, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (anairiats_rec_3, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur: tmp42 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp43 ; tmp44 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; tmp45 = (ats_sum_ptr_type)0 ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp45 ; tmp47.atslab_0 = tmp42 ; tmp47.atslab_1 = tmp44 ; tmp48 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) ; tmp46 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp46, atslab_0, tmp47) ; ats_selptrset_mac(anairiats_sum_4, tmp46, atslab_1, tmp48) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) = tmp46 ; return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4650(line=191, offs=8) -- 4889(line=200, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (anairiats_rec_3, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore: tmp50 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; tmp52 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; /* tmp51 = */ symmaplst_free_0 (tmp52) ; tmp53 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) ; if (tmp53 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4757(line=195, offs=7) -- 4793(line=195, offs=43)") ; } tmp54 = ats_caselptrlab_mac(anairiats_sum_4, tmp53, atslab_0) ; tmp55 = ats_caselptrlab_mac(anairiats_sum_4, tmp53, atslab_1) ; ATS_FREE(tmp53) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) = tmp55 ; tmp56 = ats_select_mac(tmp54, atslab_0) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp56 ; tmp57 = ats_select_mac(tmp54, atslab_1) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp57 ; tmp49 = tmp50 ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_restore] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 4973(line=206, offs=8) -- 5408(line=226, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin: tmp59 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ; if (tmp59 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5012(line=209, offs=5) -- 5039(line=209, offs=32)") ; } tmp60 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_1, tmp59, atslab_1) ; ATS_FREE(tmp59) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp60) ; if (tmp61 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5070(line=211, offs=5) -- 5097(line=211, offs=32)") ; } tmp63 = ats_caselptrlab_mac(anairiats_sum_1, tmp61, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_1, tmp61, atslab_1) ; ATS_FREE(tmp61) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp64 ; tmp65 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ; ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp63 ; /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth (&ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map), tmp65) ; /* tmp67 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (tmp65) ; /* tmp58 = tmp66 */ ; return /* (tmp58) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_localjoin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5496(line=232, offs=3) -- 5541(line=233, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search: tmp69 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_pervasive) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_search (tmp69, arg1) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_search] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5615(line=238, offs=3) -- 5666(line=239, offs=38) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_insert (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_insert: /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_insert (&ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_pervasive), arg1, arg2) ; return /* (tmp70) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_insert] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5753(line=246, offs=3) -- 5847(line=252, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0: /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth (&ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_pervasive), arg1) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_free (arg1) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 5925(line=256, offs=3) -- 5973(line=256, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1: /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_joinwth (&ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_pervasive), arg1) ; return /* (tmp73) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_pervasive_joinwth1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symenv.dats: 6064(line=263, offs=3) -- 6111(line=263, offs=50) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__fprint_symenv_map (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__fprint_symenv_map: tmp75 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg1), atslab_map) ; /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__fprint_symmap (arg0, tmp75, arg2) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__fprint_symenv_map] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symmap_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symenv_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 () ; #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_symenv_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_typerase_sats.c0000664000175000017500000002625312655455557020464 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_p3at_tyer_isprf_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_d3exp_tyer_isprf_1) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_p3at_tyer_isprf_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_typerase_2esats__T4E_d3exp_tyer_isprf_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_typerase_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_instrseq_dats.c0000664000175000017500000011471112655455557021637 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "libats/CATS/linqueue_lst.cats" #include "libats/CATS/linqueue_lst.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { atslib_linqueue_lst_QUEUE atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__INSTRSEQ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool1) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_free) (ats_ptr_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_bool_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_is_empty) (ats_ref_type) ; ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_initialize) (ats_ref_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_comment) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmpdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_dcstdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt) (ats_ptr_type, ats_ptr_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_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode0_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode0_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode1_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode1_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__sasp__instrseq_vtype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__INSTRSEQ_0) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_2 () ; static ats_void_type queue_insert_01882_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type queue_uninitialize_01881_ats_ptr_type (ats_ref_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 1910(line=68, offs=3) -- 2074(line=75, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; // tmp2 = &ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; /* tmp3 = */ ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__queue_initialize (tmp2) ; tmp0 = tmp1 ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_2 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_ptr_alloc_01070_anairiats_rec_2: tmp8 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_2)) ; return (tmp8) ; } /* end of [ptr_alloc_01070_anairiats_rec_2] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_lst.dats: 7426(line=296, offs=14) -- 8184(line=319, offs=4) */ ATSstaticdec() ats_void_type queue_insert_01882_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_bool_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_queue_insert_01882_ats_ptr_type: tmp7 = ptr_alloc_01070_anairiats_rec_2 () ; tmp9 = ats_selsin_mac(tmp7, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp9), atslab_0) = arg1 ; tmp10 = ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr1) ; tmp11 = atspre_pgt (tmp10, atspre_null_ptr) ; if (tmp11) { tmp12 = ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp12), atslab_1) = tmp9 ; ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr2) = tmp9 ; } else { ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr1) = tmp9 ; ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr2) = tmp9 ; } /* end of [if] */ return /* (tmp6) */ ; } /* end of [queue_insert_01882_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 2152(line=81, offs=3) -- 2301(line=89, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: // __ats_lab_0_1: tmp5 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; /* tmp4 = */ queue_insert_01882_ats_ptr_type (tmp5, arg1) ; break ; } while (0) ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 2382(line=95, offs=3) -- 2496(line=101, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_comment (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, arg1) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp14) ; return /* (tmp13) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_comment] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 2584(line=107, offs=3) -- 2647(line=108, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_tmpdec (arg1, arg2) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp16) ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_tmpdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 2734(line=115, offs=3) -- 2807(line=116, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_extvar: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_extvar (arg1, arg2, arg3) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp18) ; return /* (tmp17) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 2895(line=123, offs=3) -- 2969(line=124, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_dcstdef (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_dcstdef: tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_dcstdef (arg1, arg2, arg3) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp20) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_dcstdef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 3053(line=131, offs=3) -- 3236(line=141, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst: do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp22 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp23 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp22) ; arg0 = arg0 ; arg1 = tmp23 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst ; // tail call break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: break ; } while (0) ; return /* (tmp21) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 3318(line=147, offs=3) -- 3512(line=157, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp28 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp26) ; arg0 = arg0 ; arg1 = tmp27 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt ; // tail call break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: break ; } while (0) ; return /* (tmp25) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_addlst_vt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 3577(line=163, offs=5) -- 3893(line=182, offs=4) */ ATSstaticdec() ats_void_type auxlst_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; __ats_lab_auxlst_10: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_freecon (arg1, tmp30) ; /* tmp33 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg0, tmp32) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp31 ; goto __ats_lab_auxlst_10 ; // tail call break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: break ; } while (0) ; return /* (tmp29) */ ; } /* end of [auxlst_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 3975(line=188, offs=3) -- 4019(line=188, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst: /* tmp34 = */ auxlst_10 (arg0, arg1, arg2) ; return /* (tmp34) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add_freeconlst] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linqueue_lst.dats: 6763(line=271, offs=20) -- 7323(line=289, offs=4) */ ATSstaticdec() ats_ptr_type queue_uninitialize_01881_ats_ptr_type (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_bool_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab_queue_uninitialize_01881_ats_ptr_type: tmp39 = ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr1) ; tmp40 = atspre_pgt (tmp39, atspre_null_ptr) ; if (tmp40) { tmp41 = ats_select_mac(ats_ptrget_mac(atslib_linqueue_lst_QUEUE, arg0), ptr2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp41), atslab_1) = atspre_null_ptr ; tmp38 = ats_castfn_mac(ats_ptr_type, tmp39) ; } else { tmp38 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp38) ; } /* end of [queue_uninitialize_01881_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_instrseq.dats: 4131(line=197, offs=3) -- 4270(line=203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free: // tmp36 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp37 = queue_uninitialize_01881_ats_ptr_type (tmp36) ; ATS_FREE(arg0) ; tmp35 = ats_castfn_mac(ats_ptr_type, tmp37) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_lst_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__INSTRSEQ_0.tag = 0 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_instrseq_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_2DATS_2linqueue_lst_2edats__slseg_v_extend_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode0_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode0_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_decode1_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats__slseg1_v_encode1_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_lst_2edats____assert_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_ccomp_instrseq_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lexing.cats0000664000175000017500000000375212655455557017573 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LEXING_CATS #define POSTIATS_SRC_PATS_LEXING_CATS /* ****** ****** */ typedef struct { // ats_empty_type empty ; // ats_lint_type sta_ntot ; /* ats_int_type sta_nlin ; ats_int_type sta_noff ; */ // ats_lint_type cur_ntot ; /* ats_int_type cur_nlin ; ats_int_type cur_noff ; */ // ats_int_type cur_char ; // ats_int_type leading_space ; // ats_uint_type nchr ; ats_ptr_type charbuf ; // queueref (char) // ats_ptr_type getchar ; // () - int // } pats_lexstate_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LEXING_CATS] /* ****** ****** */ /* end of [pats_lexing.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans2_p1at_dats.c0000664000175000017500000036623412655455557020755 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_p1at_loc ; ats_ptr_type atslab_p1at_node ; } anairiats_rec_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { anairiats_rec_1 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_9 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_14 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_17 ; typedef struct { ats_ptr_type atslab_labp1at_loc ; ats_ptr_type atslab_labp1at_node ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_19 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_none_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1VARARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__LABP1ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tany2_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tide_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tdqid_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tint_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tintrep_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_sta_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tapp_dyn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlist_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Ttup_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tlst_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tfree_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tunfold_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Trefas_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Texist_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tsvararg_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Tann_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__P1Terrpat_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2ITMe1xp_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlist_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__T2E_p1at_tr_26) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VBOX) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_is_none) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_p1at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arg) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_ind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_refas) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_arg_impred) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst) (ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labp1at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg) (ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_e1xp) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02042_ () ; static ats_ptr_type p1at_tr_ide_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type p1atconarg_is_omit_2 (ats_ptr_type arg0) ; static ats_ptr_type revapp_6 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_reverse_01506_anairiats_rec_1 (ats_ptr_type arg0) ; static ats_ptr_type p1at_tr_con_sapp1_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_void_type prerr_error2_loc_02046_ (ats_ptr_type arg0) ; static ats_void_type auxerr1_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr2_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_ptr_type p1at_tr_con_sapp2_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ref_type arg5) ; static ats_int_type loop_13 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type nanys_14 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_ptr_type p1at_tr_con_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) ; static ats_ptr_type __ats_fun_16 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type __ats_fun_16_closure_make (ats_ptr_type env0) ; static ats_ptr_type __ats_fun_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type app_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type dqid_is_vbox_21 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr2_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p2at_vbox_err_24 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p1at_tr_app_sta_dyn_itm_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) ; static ats_void_type auxerr_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type p1at_tr_free_unfold_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_34 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p1at_tr_tup_31 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) ; static ats_ptr_type p1at_tr_arg_2_40 (ats_ptr_type arg0, ats_ref_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 1671(line=52, offs=28) -- 1700(line=52, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02042_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02042_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_p1at")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02042_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 2378(line=93, offs=1) -- 3208(line=122, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_ide_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_bool_type, tmp9) ; ATSlocal (ats_bool_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab_p1at_tr_ide_1: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (arg1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp3 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_4, tmp3, atslab_0) ; ATS_FREE(tmp3) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp4)->tag != 3) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_5, tmp4, atslab_0) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp (tmp2, tmp5) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp6) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp4)->tag != 0) { goto __ats_lab_6_0 ; } __ats_lab_2_1: tmp7 = ats_caselptrlab_mac(anairiats_sum_5, tmp4, atslab_0) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_sym (tmp7) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp8, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ; if (!tmp9) { goto __ats_lab_4_1 ; } tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool (tmp2, ats_true_bool) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp8, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ; if (!tmp10) { goto __ats_lab_5_1 ; } tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_bool (tmp2, ats_false_bool) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp2, arg1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var (tmp2, tmp11) ; break ; } while (0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp2, arg1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var (tmp2, tmp12) ; break ; } while (0) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp2, arg1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var (tmp2, tmp13) ; break ; } while (0) ; return (tmp1) ; } /* end of [p1at_tr_ide_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 3559(line=143, offs=1) -- 3786(line=155, offs=4) */ ATSstaticdec() ats_bool_type p1atconarg_is_omit_2 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab_p1atconarg_is_omit_2: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } tmp15 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; if (tmp15 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp17 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp16), atslab_p1at_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp17)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp14 = ats_true_bool ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp14 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp14 = ats_false_bool ; break ; } while (0) ; return (tmp14) ; } /* end of [p1atconarg_is_omit_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28) */ ATSstaticdec() ats_ptr_type revapp_6 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab_revapp_6: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp39 = &ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp40 = ats_ptrget_mac(ats_ptr_type, tmp39) ; ats_ptrget_mac(ats_ptr_type, tmp39) = arg1 ; tmp41 = arg0 ; arg0 = tmp40 ; arg1 = tmp41 ; goto __ats_lab_revapp_6 ; // tail call break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp38 = arg1 ; break ; } while (0) ; return (tmp38) ; } /* end of [revapp_6] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_reverse_append_01507_anairiats_rec_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; __ats_lab_list_vt_reverse_append_01507_anairiats_rec_1: tmp37 = revapp_6 (arg0, arg1) ; return (tmp37) ; } /* end of [list_vt_reverse_append_01507_anairiats_rec_1] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46) */ ATSstaticdec() ats_ptr_type list_vt_reverse_01506_anairiats_rec_1 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab_list_vt_reverse_01506_anairiats_rec_1: tmp42 = (ats_sum_ptr_type)0 ; tmp36 = list_vt_reverse_append_01507_anairiats_rec_1 (arg0, tmp42) ; return (tmp36) ; } /* end of [list_vt_reverse_01506_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 3823(line=158, offs=1) -- 4932(line=198, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_con_sapp1_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (anairiats_rec_1, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (anairiats_rec_1, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_int_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_p1at_tr_con_sapp1_3: do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp22 = ats_select_mac(tmp19, atslab_s2qua_svs) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst (arg2, tmp22) ; tmp24 = ats_select_mac(tmp19, atslab_s2qua_sps) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptrget_mac(ats_ptr_type, arg2), tmp24) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (ats_castfn_mac(ats_ptr_type, tmp21), tmp23) ; tmp26 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp26, atslab_0, tmp25) ; ats_selptrset_mac(anairiats_sum_7, tmp26, atslab_1, ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp26 ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp20 ; arg4 = arg4 ; goto __ats_lab_p1at_tr_con_sapp1_3 ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf (arg1) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arg (arg1) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptrget_mac(ats_ptr_type, arg2), tmp29) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg1) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_ind (arg1) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp31 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp33 = ats_caselptrlab_mac(anairiats_sum_4, tmp31, atslab_0) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptrget_mac(ats_ptr_type, arg2), tmp33) ; tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (tmp30, tmp34) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp31 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (tmp30) ; break ; } while (0) ; tmp35 = list_vt_reverse_01506_anairiats_rec_1 (ats_ptrget_mac(ats_ptr_type, arg4)) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp35 ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun (tmp27, tmp28, tmp32) ; break ; } while (0) ; return (tmp18) ; } /* end of [p1at_tr_con_sapp1_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2096(line=71, offs=18) -- 2155(line=74, offs=2) */ ATSstaticdec() ats_void_type prerr_error2_loc_02046_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab_prerr_error2_loc_02046_: /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp46 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ; return /* (tmp46) */ ; } /* end of [prerr_error2_loc_02046_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 5230(line=212, offs=4) -- 5521(line=222, offs=4) */ ATSstaticdec() ats_void_type auxerr1_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab_auxerr1_8: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; /* tmp45 = */ prerr_error2_loc_02046_ (tmp48) ; /* tmp49 = */ atspre_prerr_string (ATSstrcst(": the constructor [")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (arg1) ; /* tmp51 = */ atspre_prerr_string (ATSstrcst("] is overly applied statically.")) ; /* tmp52 = */ atspre_prerr_newline () ; tmp53 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp53)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp53, atslab_0, arg0) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp53) ; return /* (tmp44) */ ; } /* end of [auxerr1_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 5545(line=223, offs=4) -- 5935(line=233, offs=4) */ ATSstaticdec() ats_void_type auxerr2_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_bool_type, tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_bool_type, tmp60) ; // ATSlocal_void (tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab_auxerr2_10: /* tmp55 = */ prerr_error2_loc_02046_ (arg2) ; /* tmp56 = */ atspre_prerr_string (ATSstrcst(": the static argument group is expected to contain ")) ; tmp58 = atspre_lt_int_int (arg3, 0) ; if (tmp58) { /* tmp57 = */ atspre_prerr_string (ATSstrcst("more components.")) ; } else { /* empty */ } /* end of [if] */ tmp60 = atspre_gt_int_int (arg3, 0) ; if (tmp60) { /* tmp59 = */ atspre_prerr_string (ATSstrcst("fewer components.")) ; } else { /* empty */ } /* end of [if] */ /* tmp61 = */ atspre_prerr_newline () ; tmp62 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp62)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp62, atslab_0, arg0) ; /* tmp54 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp62) ; return /* (tmp54) */ ; } /* end of [auxerr2_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 4968(line=201, offs=1) -- 7605(line=285, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_con_sapp2_7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (anairiats_rec_1, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (anairiats_rec_1, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (anairiats_rec_1, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; // ATSlocal_void (tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (anairiats_rec_1, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_p1at_tr_con_sapp2_7: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_18_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_0) ; tmp64 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp63)->tag != 0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp66 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; tmp68 = ats_select_mac(tmp65, atslab_s2qua_svs) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_extend_svarlst (arg2, tmp68) ; tmp70 = ats_select_mac(tmp65, atslab_s2qua_sps) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptrget_mac(ats_ptr_type, arg2), tmp70) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (ats_castfn_mac(ats_ptr_type, tmp67), tmp69) ; tmp72 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp72, atslab_0, tmp71) ; ats_selptrset_mac(anairiats_sum_7, tmp72, atslab_1, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp72 ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp66 ; arg4 = tmp64 ; arg5 = arg5 ; goto __ats_lab_p1at_tr_con_sapp2_7 ; // tail call break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: /* tmp73 = */ auxerr1_8 (arg0, arg1) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp63)->tag != 1) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp43 = p1at_tr_con_sapp1_3 (tmp74, arg1, arg2, arg3, arg5) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (((ats_sum_ptr_type)tmp63)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_8, tmp63, atslab_0) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_8, tmp63, atslab_1) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ; /* ats_int_type tmp79 ; */ tmp79 = 0 ; tmp80 = ats_select_mac(tmp77, atslab_s2qua_svs) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__stasub_extend_sarglst_svarlst (arg2, tmp76, tmp80, (&tmp79)) ; tmp83 = atspre_neq_int_int (tmp79, 0) ; if (tmp83) { /* tmp82 = */ auxerr2_10 (arg0, arg1, tmp75, tmp79) ; } else { /* empty */ } /* end of [if] */ tmp85 = ats_select_mac(tmp77, atslab_s2qua_sps) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_subst (ats_ptrget_mac(ats_ptr_type, arg2), tmp85) ; tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2qua_make (ats_castfn_mac(ats_ptr_type, tmp81), tmp84) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp87, atslab_0, tmp86) ; ats_selptrset_mac(anairiats_sum_7, tmp87, atslab_1, ats_ptrget_mac(ats_ptr_type, arg5)) ; ats_ptrget_mac(ats_ptr_type, arg5) = tmp87 ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp78 ; arg4 = tmp64 ; arg5 = arg5 ; goto __ats_lab_p1at_tr_con_sapp2_7 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: /* tmp88 = */ auxerr1_8 (arg0, arg1) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_s2rt_err () ; break ; } while (0) ; break ; } while (0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp43 = p1at_tr_con_sapp1_3 (tmp89, arg1, arg2, arg3, arg5) ; break ; } while (0) ; return (tmp43) ; } /* end of [p1at_tr_con_sapp2_7] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_13 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; __ats_lab_loop_13: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp96 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp97 = atspre_isucc (arg1) ; arg0 = tmp96 ; arg1 = tmp97 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp95 = arg1 ; break ; } while (0) ; return (tmp95) ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp94) ; __ats_lab_list_length_01410_ats_ptr_type: tmp94 = loop_13 (arg0, 0) ; return (tmp94) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 8280(line=314, offs=7) -- 8432(line=317, offs=22) */ ATSstaticdec() ats_ptr_type nanys_14 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; __ats_lab_nanys_14: tmp106 = atspre_gt_int_int (arg1, 0) ; if (tmp106) { tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any (arg0) ; tmp109 = atspre_sub_int_int (arg1, 1) ; tmp108 = nanys_14 (arg0, tmp109) ; tmp105 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp105, atslab_0, tmp107) ; ats_selptrset_mac(anairiats_sum_6, tmp105, atslab_1, tmp108) ; } else { tmp105 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp105) ; } /* end of [nanys_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 7662(line=290, offs=1) -- 8737(line=331, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_con_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_int_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_p1at_tr_con_11: tmp91 = p1atconarg_is_omit_2 (arg5) ; if (tmp91) { tmp92 = arg2 ; } else { tmp93 = list_length_01410_ats_ptr_type (arg5) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2con_select_arity (arg2, tmp93) ; } /* end of [if] */ if (tmp92 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 7989(line=304, offs=5) -- 8014(line=304, offs=30)") ; } tmp98 = ats_caselptrlab_mac(anairiats_sum_6, tmp92, atslab_0) ; /* ats_ptr_type tmp99 ; */ tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua (tmp98) ; /* ats_ptr_type tmp101 ; */ tmp101 = (ats_sum_ptr_type)0 ; tmp102 = p1at_tr_con_sapp2_7 (arg1, tmp98, (&tmp99), tmp100, arg3, (&tmp101)) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp99) ; tmp104 = ats_castfn_mac(ats_ptr_type, tmp101) ; if (tmp91) { if (arg5 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 8503(line=321, offs=9) -- 8528(line=321, offs=34)") ; } tmp111 = ats_caselptrlab_mac(anairiats_sum_6, arg5, atslab_0) ; tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp111), atslab_p1at_loc) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (tmp98) ; tmp110 = nanys_14 (tmp112, tmp113) ; } else { tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr (arg5) ; } /* end of [if] */ tmp114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp115 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKcon_0) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con (tmp114, tmp115, tmp98, tmp104, tmp102, arg4, tmp110) ; return (tmp90) ; } /* end of [p1at_tr_con_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 9484(line=371, offs=20) -- 9550(line=371, offs=86) */ ATSstaticdec() ats_ptr_type __ats_fun_16 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; __ats_lab___ats_fun_16: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__e1xp_make_p1at (env0, arg0) ; return (tmp120) ; } /* end of [__ats_fun_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } __ats_fun_16_closure_type ; ats_ptr_type __ats_fun_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return __ats_fun_16 (((__ats_fun_16_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_16_closure_init (__ats_fun_16_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_16_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53639(line=1919, offs=6) -- 53788(line=1925, offs=6) */ ATSstaticdec() ats_ptr_type app_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_app_18: tmp124 = ((ats_ptr_type(*)(ats_clo_ptr_type, ats_ptr_type))(ats_closure_fun(arg1))) (arg1, arg0) ; return (tmp124) ; } /* end of [app_18] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_20 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_loop_20: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp129 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp127, arg3) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp130, atslab_0, tmp129) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp130 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp131 = &ats_caselptrlab_mac(anairiats_sum_6, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp128 ; arg1 = arg1 ; arg2 = tmp131 ; arg3 = arg3 ; goto __ats_lab_loop_20 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp132 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp132 ; break ; } while (0) ; return /* (tmp126) */ ; } /* end of [loop_20] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp133) ; // ATSlocal_void (tmp134) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp133 ; */ /* tmp134 = */ loop_20 (arg0, arg1, (&tmp133), arg2) ; tmp125 = tmp133 ; return (tmp125) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53503(line=1915, offs=23) -- 53963(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type list_map_vclo_01414_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_list_map_vclo_01414_ats_ptr_type_ats_ptr_type: tmp123 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, &app_18, arg1) ; return (tmp123) ; } /* end of [list_map_vclo_01414_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 9129(line=355, offs=1) -- 10189(line=399, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_e1xp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (__ats_fun_16_closure_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_e1xp: tmp117 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg2), atslab_e1xp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp117)->tag != 10) { goto __ats_lab_32_0 ; } __ats_lab_29_1: tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; /* ats_ptr_type tmp119 ; */ tmp119 = &(tmp121) ; __ats_fun_16_closure_init (tmp119, tmp118) ; // closure initialization tmp122 = list_map_vclo_01414_ats_ptr_type_ats_ptr_type (arg4, tmp119) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (tmp118, arg2, tmp118, ats_castfn_mac(ats_ptr_type, tmp122)) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_normalize (tmp135) ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp (tmp118, tmp136) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp137) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp (tmp139, arg2) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn (arg0, tmp138, arg3, arg4) ; break ; } while (0) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 10235(line=404, offs=1) -- 10351(line=408, offs=67) */ ATSstaticdec() ats_bool_type dqid_is_vbox_21 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_bool_type, tmp141) ; __ats_lab_dqid_is_vbox_21: tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_is_none (arg0) ; if (tmp141) { tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VBOX) ; } else { tmp140 = ats_false_bool ; } /* end of [if] */ return (tmp140) ; } /* end of [dqid_is_vbox_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 10382(line=412, offs=1) -- 10783(line=423, offs=4) */ ATSstaticdec() ats_void_type auxerr1_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab_auxerr1_22: tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; /* tmp143 = */ prerr_error2_loc_02046_ (tmp144) ; /* tmp145 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats"), ATSstrcst("p1at_tr_app_dyn_dqid")) ; /* tmp146 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp149 = */ atspre_prerr_string (ATSstrcst("] does not refer to any constructor.")) ; /* tmp150 = */ atspre_prerr_newline () ; tmp151 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp151)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp151, atslab_0, arg0) ; /* tmp142 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp151) ; return /* (tmp142) */ ; } /* end of [auxerr1_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 10809(line=426, offs=1) -- 11192(line=437, offs=4) */ ATSstaticdec() ats_void_type auxerr2_23 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp155) ; // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab_auxerr2_23: tmp154 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; /* tmp153 = */ prerr_error2_loc_02046_ (tmp154) ; /* tmp155 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats"), ATSstrcst("p1at_tr_app_dyn_dqid")) ; /* tmp156 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg2) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg3) ; /* tmp159 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp160 = */ atspre_prerr_newline () ; tmp161 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp161)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp161, atslab_0, arg0) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp161) ; return /* (tmp152) */ ; } /* end of [auxerr2_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 11239(line=442, offs=1) -- 12223(line=478, offs=4) */ ATSstaticdec() ats_ptr_type p2at_vbox_err_24 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; // ATSlocal_void (tmp170) ; // ATSlocal_void (tmp171) ; // ATSlocal_void (tmp172) ; // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; // ATSlocal_void (tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab_p2at_vbox_err_24: tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } tmp164 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; if (tmp164 != (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_33_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp166 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp165), atslab_p2at_node) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp166)->tag != 0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp165), atslab_p2at_loc) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make_any (tmp168) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox (tmp163, tmp167) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp166)->tag != 1) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_5, tmp166, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_vbox (tmp163, tmp169) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: /* tmp170 = */ prerr_error2_loc_02046_ (tmp163) ; /* tmp171 = */ atspre_prerr_string (ATSstrcst(": [vbox] should be applied to a variable.")) ; /* tmp172 = */ atspre_prerr_newline () ; tmp174 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp174)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp174, atslab_0, arg0) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp174) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp163) ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: /* tmp175 = */ prerr_error2_loc_02046_ (tmp163) ; /* tmp176 = */ atspre_prerr_string (ATSstrcst(": [vbox] should be applied to exactly one argument.")) ; /* tmp177 = */ atspre_prerr_newline () ; tmp179 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp179)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp179, atslab_0, arg0) ; /* tmp178 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp179) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp163) ; break ; } while (0) ; return (tmp162) ; } /* end of [p2at_vbox_err_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 12304(line=484, offs=1) -- 13091(line=514, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; // ATSlocal_void (tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid: tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (arg2, arg3) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (tmp181 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_38_1: tmp182 = ats_caselptrlab_mac(anairiats_sum_4, tmp181, atslab_0) ; ATS_FREE(tmp181) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp182)->tag != 3) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp183 = ats_caselptrlab_mac(anairiats_sum_5, tmp182, atslab_0) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_e1xp (arg0, arg1, tmp183, arg4, arg5) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp182)->tag != 2) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_5, tmp182, atslab_0) ; tmp185 = (ats_sum_ptr_type)0 ; tmp180 = p1at_tr_con_11 (arg0, arg1, tmp184, tmp185, arg4, arg5) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: /* tmp186 = */ auxerr1_22 (arg0, arg1, arg2, arg3) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp187) ; break ; } while (0) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (tmp181 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp188 = dqid_is_vbox_21 (arg2, arg3) ; if (!tmp188) { goto __ats_lab_44_1 ; } tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr (arg5) ; tmp180 = p2at_vbox_err_24 (arg0, tmp189) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: /* tmp190 = */ auxerr2_23 (arg0, arg1, arg2, arg3) ; tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp191) ; break ; } while (0) ; break ; } while (0) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 13198(line=522, offs=1) -- 13859(line=549, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn: tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_node) ; do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp193)->tag != 2) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_5, tmp193, atslab_0) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid (arg0, arg1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp194, arg2, arg3) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp193)->tag != 3) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp195 = ats_caselptrlab_mac(anairiats_sum_8, tmp193, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_8, tmp193, atslab_1) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid (arg0, arg1, tmp195, tmp196, arg2, arg3) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: __ats_lab_47_1: tmp198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; /* tmp197 = */ prerr_error2_loc_02046_ (tmp198) ; /* tmp199 = */ atspre_prerr_string (ATSstrcst(": a (qualified) identifier is expected.")) ; /* tmp200 = */ atspre_prerr_newline () ; tmp202 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp202)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp202, atslab_0, arg0) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp202) ; tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp203) ; break ; } while (0) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 13914(line=554, offs=1) -- 14707(line=583, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_app_sta_dyn_itm_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; __ats_lab_p1at_tr_app_sta_dyn_itm_27: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)arg3)->tag != 2) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ; tmp204 = p1at_tr_con_11 (arg0, arg1, tmp205, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)arg3)->tag != 3) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp206 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ; tmp208 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__p1at_make_e1xp (tmp208, tmp206) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn (arg0, arg1, tmp207, arg4, arg5, arg6) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: tmp210 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; /* tmp209 = */ prerr_error2_loc_02046_ (tmp210) ; /* tmp211 = */ atspre_prerr_string (ATSstrcst(": the (qualified) identifier does not refer to any constructor.")) ; /* tmp212 = */ atspre_prerr_newline () ; tmp214 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp214)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp214, atslab_0, arg0) ; /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp214) ; tmp215 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp215) ; break ; } while (0) ; return (tmp204) ; } /* end of [p1at_tr_app_sta_dyn_itm_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 14831(line=592, offs=1) -- 15207(line=603, offs=4) */ ATSstaticdec() ats_void_type auxerr_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; // ATSlocal_void (tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab_auxerr_29: tmp218 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; /* tmp219 = */ prerr_error2_loc_02046_ (tmp218) ; /* tmp220 = */ atspre_prerr_string (ATSstrcst(": the (qualified) identifier [")) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__prerr_d0ynq (arg3) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (arg4) ; /* tmp223 = */ atspre_prerr_string (ATSstrcst("] is unrecognized.")) ; /* tmp224 = */ atspre_prerr_newline () ; tmp225 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp225)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp225, atslab_0, arg0) ; /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp225) ; return /* (tmp217) */ ; } /* end of [auxerr_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 14775(line=587, offs=1) -- 16307(line=643, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; // ATSlocal_void (tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; // ATSlocal_void (tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; // ATSlocal_void (tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn: tmp226 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_node) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp226)->tag != 2) { goto __ats_lab_54_0 ; } __ats_lab_51_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_5, tmp226, atslab_0) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find (tmp227) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (tmp228 == (ats_sum_ptr_type)0) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_4, tmp228, atslab_0) ; ATS_FREE(tmp228) ; tmp216 = p1at_tr_app_sta_dyn_itm_27 (arg0, arg1, arg2, tmp229, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: // if (tmp228 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_53_1: /* tmp230 = */ auxerr_29 (arg0, arg1, arg2, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__the_d0ynq_none, tmp227) ; tmp231 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp231) ; break ; } while (0) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp226)->tag != 3) { goto __ats_lab_57_0 ; } __ats_lab_54_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_8, tmp226, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_8, tmp226, atslab_1) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2expenv_find_qua (tmp232, tmp233) ; do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (tmp234 == (ats_sum_ptr_type)0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_4, tmp234, atslab_0) ; ATS_FREE(tmp234) ; tmp216 = p1at_tr_app_sta_dyn_itm_27 (arg0, arg1, arg2, tmp235, arg3, arg4, arg5) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: // if (tmp234 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_56_1: /* tmp236 = */ auxerr_29 (arg0, arg1, arg2, tmp232, tmp233) ; tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp237) ; break ; } while (0) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p1at_loc) ; /* tmp238 = */ prerr_error2_loc_02046_ (tmp239) ; /* tmp240 = */ atspre_prerr_string (ATSstrcst(": a (qualified) identifier is expected.")) ; /* tmp241 = */ atspre_prerr_newline () ; tmp243 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp243)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp243, atslab_0, arg0) ; /* tmp242 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp243) ; tmp244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp244) ; break ; } while (0) ; return (tmp216) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 16366(line=648, offs=1) -- 17044(line=679, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_free_unfold_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_int_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; // ATSlocal_void (tmp256) ; // ATSlocal_void (tmp257) ; // ATSlocal_void (tmp258) ; // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab_p1at_tr_free_unfold_30: tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (arg2) ; tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp246), atslab_p2at_node) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp247)->tag != 2) { goto __ats_lab_59_0 ; } tmp248 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_0) ; if (((ats_sum_ptr_type)tmp248)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_1) ; tmp250 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_2) ; tmp251 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_3) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_4) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_5) ; tmp254 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con (tmp254, arg0, tmp249, tmp250, tmp251, tmp252, tmp253) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp255 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p1at_loc) ; /* tmp256 = */ prerr_error2_loc_02046_ (tmp255) ; /* tmp257 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats"), ATSstrcst("p1at_tr_free_unfold")) ; /* tmp258 = */ atspre_prerr_string (ATSstrcst(": the pattern is expected to be formed with a constructor (of datavtype).")) ; /* tmp259 = */ atspre_prerr_newline () ; tmp261 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp261)->tag = 26 ; ats_selptrset_mac(anairiats_sum_5, tmp261, atslab_0, arg1) ; /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp261) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp255) ; break ; } while (0) ; return (tmp245) ; } /* end of [p1at_tr_free_unfold_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp265) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp265 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp265) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_34 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab_loop_34: do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp270 ; goto __ats_lab_loop_34 ; // tail call break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: break ; } while (0) ; return /* (tmp269) */ ; } /* end of [loop_34] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp268) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp268 = */ loop_34 (arg0) ; return /* (tmp268) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 17103(line=684, offs=1) -- 17384(line=698, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_tup_31 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp266) ; // ATSlocal_void (tmp267) ; __ats_lab_p1at_tr_tup_31: tmp263 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp264 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr) ; tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize (ats_castfn_mac(ats_ptr_type, tmp264)) ; /* tmp267 = */ list_vt_free_01499_ats_ptr_type (tmp264) ; tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec (tmp263, arg1, arg2, tmp266) ; return (tmp262) ; } /* end of [p1at_tr_tup_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp324) ; // ATSlocal_void (tmp325) ; // ATSlocal_void (tmp326) ; // ATSlocal_void (tmp327) ; __ats_lab_prerr_interror_loc_02044_: /* tmp325 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp326 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp327 = */ prerr_FILENAME_02042_ () ; /* tmp324 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp324) */ ; } /* end of [prerr_interror_loc_02044_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 17451(line=703, offs=9) -- 20359(line=817, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_ptr_type, tmp279) ; ATSlocal (ats_char_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_int_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_int_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; ATSlocal (ats_int_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_int_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; // ATSlocal_void (tmp317) ; // ATSlocal_void (tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; // ATSlocal_void (tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr: tmp272 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp273 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp273)->tag != 0) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any (tmp272) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp273)->tag != 1) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any (tmp272) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp273)->tag != 2) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = p1at_tr_ide_1 (arg0, tmp274) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp273)->tag != 3) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp275 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_0) ; tmp276 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_1) ; tmp277 = (ats_sum_ptr_type)0 ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn_dqid (arg0, arg0, tmp275, tmp276, -1, tmp277) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp273)->tag != 4) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_12, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_int (tmp272, tmp278) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp273)->tag != 5) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp279 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_intrep (tmp272, tmp279) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp273)->tag != 6) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp280 = ats_caselptrlab_mac(anairiats_sum_13, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_char (tmp272, tmp280) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp273)->tag != 8) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp281 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_string (tmp272, tmp281) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp273)->tag != 7) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp282 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_float (tmp272, tmp282) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp273)->tag != 9) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_i0nt (tmp272, tmp283) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp273)->tag != 10) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_f0loat (tmp272, tmp284) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp273)->tag != 11) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty (tmp272) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp273)->tag != 13) { goto __ats_lab_77_0 ; } __ats_lab_74_1: tmp285 = ats_caselptrlab_mac(anairiats_sum_14, tmp273, atslab_0) ; tmp286 = ats_caselptrlab_mac(anairiats_sum_14, tmp273, atslab_2) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_14, tmp273, atslab_3) ; tmp288 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp285), atslab_p1at_node) ; do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp288)->tag != 12) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp289 = ats_caselptrlab_mac(anairiats_sum_8, tmp288, atslab_0) ; tmp290 = ats_caselptrlab_mac(anairiats_sum_8, tmp288, atslab_1) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn (arg0, tmp285, tmp289, tmp290, tmp286, tmp287) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_dyn (arg0, tmp285, tmp286, tmp287) ; break ; } while (0) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp273)->tag != 12) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_0) ; tmp292 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_1) ; tmp293 = (ats_sum_ptr_type)0 ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__p1at_tr_app_sta_dyn (arg0, tmp291, tmp291, tmp292, -1, tmp293) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp273)->tag != 14) { goto __ats_lab_81_0 ; } __ats_lab_78_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_15, tmp273, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_15, tmp273, atslab_1) ; do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (tmp295 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp271 = p1at_tr_tup_31 (arg0, 0, tmp294, tmp295) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (tmp295 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty (tmp272) ; break ; } while (0) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp273)->tag != 15) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp296 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_0) ; tmp297 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_1) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_2) ; tmp271 = p1at_tr_tup_31 (arg0, tmp296, tmp297, tmp298) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp273)->tag != 16) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_0) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_1) ; tmp301 = ats_caselptrlab_mac(anairiats_sum_16, tmp273, atslab_2) ; tmp302 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp301, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labp1at_tr) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec (tmp272, tmp299, tmp300, ats_castfn_mac(ats_ptr_type, tmp302)) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp273)->tag != 17) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp303 = ats_caselptrlab_mac(anairiats_sum_15, tmp273, atslab_0) ; tmp304 = ats_caselptrlab_mac(anairiats_sum_15, tmp273, atslab_1) ; tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr (tmp304) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst (tmp272, tmp303, tmp305) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp273)->tag != 18) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp307 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKfree_2) ; tmp271 = p1at_tr_free_unfold_30 (tmp307, arg0, tmp306) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp273)->tag != 19) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp308 = ats_caselptrlab_mac(anairiats_sum_5, tmp273, atslab_0) ; tmp309 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; tmp271 = p1at_tr_free_unfold_30 (tmp309, arg0, tmp308) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp273)->tag != 20) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp310 = ats_caselptrlab_mac(anairiats_sum_17, tmp273, atslab_0) ; tmp311 = ats_caselptrlab_mac(anairiats_sum_17, tmp273, atslab_1) ; tmp312 = ats_caselptrlab_mac(anairiats_sum_17, tmp273, atslab_2) ; tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_make (tmp311, tmp310) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp312) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_refas (tmp272, tmp313, tmp314) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp273)->tag != 21) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp315 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_0) ; tmp316 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_1) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_push_nil () ; /* tmp318 = ats_selsin_mac(tmp317, atslab_1) */ ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1arglst_trup (tmp315) ; /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_add_svarlst (tmp319) ; tmp321 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp316) ; /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_s2expenv_pop_free () ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_exist (tmp272, tmp319, tmp321) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp273)->tag != 22) { goto __ats_lab_89_0 ; } __ats_lab_88_1: /* tmp323 = */ prerr_interror_loc_02044_ (tmp272) ; /* tmp328 = */ atspre_prerr_string (ATSstrcst(": p1at_tr: P1Tsvararg: this pattern should have been eliminated.")) ; /* tmp329 = */ atspre_prerr_newline () ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp272) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp273)->tag != 23) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp330 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_0) ; tmp331 = ats_caselptrlab_mac(anairiats_sum_8, tmp273, atslab_1) ; tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp330) ; tmp333 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_impred (tmp331) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp333) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann (tmp272, tmp332, tmp334) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: // if (((ats_sum_ptr_type)tmp273)->tag != 24) { ats_deadcode_failure_handle () ; } __ats_lab_90_1: tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_errpat (tmp272) ; break ; } while (0) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 20402(line=820, offs=12) -- 20444(line=820, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr: tmp336 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr) ; tmp335 = ats_castfn_mac(ats_ptr_type, tmp336) ; return (tmp335) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 20468(line=823, offs=12) -- 20693(line=833, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labp1at_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labp1at_tr: tmp338 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_labp1at_node) ; do { /* branch: __ats_lab_91 */ __ats_lab_91_0: if (tmp338 == (ats_sum_ptr_type)0) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_6, tmp338, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_6, tmp338, atslab_1) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp340) ; tmp337 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp337)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp337, atslab_0, tmp339) ; ats_selptrset_mac(anairiats_sum_8, tmp337, atslab_1, tmp341) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (tmp338 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: tmp342 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, arg0), atslab_labp1at_loc) ; tmp337 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp337)->tag = 1 ; ats_selptrset_mac(anairiats_sum_5, tmp337, atslab_0, tmp342) ; break ; } while (0) ; return (tmp337) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__labp1at_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 20763(line=839, offs=3) -- 21352(line=872, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_int_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg: tmp344 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_loc) ; tmp345 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg0), atslab_p1at_node) ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp345)->tag != 23) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp346 = ats_caselptrlab_mac(anairiats_sum_8, tmp345, atslab_0) ; tmp347 = ats_caselptrlab_mac(anairiats_sum_8, tmp345, atslab_1) ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (tmp346) ; tmp349 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__s1exp_trdn_arg_impred (tmp347, arg1) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp349) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann (tmp344, tmp348, tmp350) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp345)->tag != 14) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp351 = ats_caselptrlab_mac(anairiats_sum_15, tmp345, atslab_0) ; tmp352 = ats_caselptrlab_mac(anairiats_sum_15, tmp345, atslab_1) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg (tmp352, arg1) ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_list (tmp344, tmp351, tmp353) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: __ats_lab_95_1: tmp354 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp354)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp354, atslab_0, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp354 ; tmp343 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr (arg0) ; break ; } while (0) ; return (tmp343) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 21390(line=878, offs=1) -- 21730(line=898, offs=4) */ ATSstaticdec() ats_ptr_type p1at_tr_arg_2_40 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_int_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; __ats_lab_p1at_tr_arg_2_40: tmp356 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1at_tr_arg (arg0, arg1) ; tmp357 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp356), atslab_p2at_node) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp357)->tag != 18) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp358 = ats_caselptrlab_mac(anairiats_sum_15, tmp357, atslab_0) ; tmp359 = ats_caselptrlab_mac(anairiats_sum_15, tmp357, atslab_1) ; tmp360 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, tmp356), atslab_p2at_loc) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2atlst_tupize (tmp359) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec (tmp360, 0, tmp358, tmp361) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: __ats_lab_97_1: tmp355 = tmp356 ; break ; } while (0) ; return (tmp355) ; } /* end of [p1at_tr_arg_2_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 21807(line=904, offs=3) -- 22061(line=917, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg: do { /* branch: __ats_lab_98 */ __ats_lab_98_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp363 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp364 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp365 = p1at_tr_arg_2_40 (tmp363, arg1) ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg (tmp364, arg1) ; tmp362 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp362, atslab_0, tmp365) ; ats_selptrset_mac(anairiats_sum_6, tmp362, atslab_1, tmp366) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_99_1: tmp362 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp362) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__p1atlst_tr_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans2_p1at.dats: 22164(line=925, offs=3) -- 22412(line=936, offs=4) */ ATSglobaldec() anairiats_rec_19 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d2con_instantiate (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (anairiats_rec_19, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; ATSlocal (ats_ptr_type, tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; // ATSlocal_void (tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d2con_instantiate: /* ats_ptr_type tmp368 ; */ tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_make_nil () ; tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua (arg1) ; /* ats_ptr_type tmp370 ; */ tmp370 = (ats_sum_ptr_type)0 ; tmp371 = p1at_tr_con_sapp1_3 (arg0, arg1, (&tmp368), tmp369, (&tmp370)) ; /* tmp372 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp368) ; tmp373 = ats_castfn_mac(ats_ptr_type, tmp370) ; tmp367.atslab_0 = tmp373 ; tmp367.atslab_1 = tmp371 ; return (tmp367) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__d2con_instantiate] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans2_p1at_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 () ; #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_trans2_p1at_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_hidynexp_util_dats.c0000664000175000017500000030060712655455557021474 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_hipat_loc ; ats_ptr_type atslab_hipat_type ; ats_ptr_type atslab_hipat_node ; ats_ptr_type atslab_hipat_asvar ; } anairiats_rec_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_hidecl_loc ; ats_ptr_type atslab_hidecl_node ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_hivaldec_loc ; ats_ptr_type atslab_hivaldec_pat ; ats_ptr_type atslab_hivaldec_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_hidexp_loc ; ats_ptr_type atslab_hidexp_type ; ats_ptr_type atslab_hidexp_node ; } anairiats_rec_15 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEfun_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIPAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPstring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPempty_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPcon_any_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPrefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIPann_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEcst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEbool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEchar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEstring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEi0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEf0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEempty_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEextval_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEfoldat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDErec_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEseq_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDEselptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HDElam_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_var_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_emp_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_any_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_var_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_emp_3) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_bool_bool) (ats_bool_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_wild) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_subtest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_var_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_emp_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_any_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_var_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_emp_3) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_interror_02041_ () ; static ats_bool_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type labhipat_is_wild_17 (ats_ptr_type arg0) ; static ats_bool_type labhipat_subtest_20 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type hidexplst_is_value_22 (ats_ptr_type arg0) ; static ats_bool_type ftest_24 (ats_ptr_type arg0) ; static ats_bool_type labhidexplst_is_value_23 (ats_ptr_type arg0) ; static ats_bool_type hidecl_is_value_25 (ats_ptr_type arg0) ; static ats_bool_type hideclist_is_value_26 (ats_ptr_type arg0) ; static ats_bool_type hivaldec_is_value_27 (ats_ptr_type arg0) ; static ats_bool_type hivaldecs_is_value_28 (ats_ptr_type arg0) ; static ats_bool_type auxseq_30 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ; static ats_ptr_type hidexp_is_varemp_34 (ats_ptr_type arg0) ; static ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type hidecl_is_anybind_35 (ats_ptr_type arg0) ; static ats_ptr_type dropz_37 (ats_ptr_type arg0) ; static ats_ptr_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 1623(line=48, offs=28) -- 1654(line=48, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_hidynexp_util")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2199(line=79, offs=19) -- 2254(line=80, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_hisexp (arg0) ; tmp1 = ats_castfn_mac(ats_ptr_type, tmp2) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2285(line=82, offs=19) -- 2358(line=83, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp: /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_set_hisexp (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2413(line=89, offs=3) -- 2644(line=103, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fun (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fun: tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ; if (tmp5 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2432(line=91, offs=5) -- 2468(line=91, offs=41)") ; } tmp6 = ats_caselptrlab_mac(anairiats_sum_1, tmp5, atslab_0) ; tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp6), atslab_hisexp_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp7)->tag != 5) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp7, atslab_0) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp8 != (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp4 = ats_true_bool ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp4 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp4 = ats_false_bool ; break ; } while (0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_is_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02041_ () { /* local vardec */ // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab_prerr_interror_02041_: /* tmp16 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp17 = */ prerr_FILENAME_02040_ () ; /* tmp15 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp15) */ ; } /* end of [prerr_interror_02041_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2729(line=109, offs=3) -- 3108(line=130, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_arg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_arg: tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ; if (tmp10 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 2748(line=111, offs=5) -- 2783(line=111, offs=40)") ; } tmp11 = ats_caselptrlab_mac(anairiats_sum_1, tmp10, atslab_0) ; tmp12 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp11), atslab_hisexp_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp12)->tag != 5) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_3, tmp12, atslab_1) ; tmp9 = tmp13 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: /* tmp14 = */ prerr_interror_02041_ () ; /* tmp18 = */ atspre_prerr_string (ATSstrcst(": d2cst_get_type_arg: hse = ")) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (tmp11) ; /* tmp20 = */ atspre_prerr_newline () ; tmp22 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3019(line=125, offs=14) -- 3035(line=125, offs=30)", ATSstrcst("\n")) ; /* tmp21 = */ atspre_assert_errmsg (ats_false_bool, tmp22) ; /* tmp9 = */ ats_exit (1) ; break ; } while (0) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3174(line=134, offs=3) -- 3555(line=156, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_res (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; // ATSlocal_void (tmp28) ; // ATSlocal_void (tmp29) ; // ATSlocal_void (tmp30) ; // ATSlocal_void (tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_res: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ; if (tmp24 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3193(line=136, offs=5) -- 3228(line=136, offs=40)") ; } tmp25 = ats_caselptrlab_mac(anairiats_sum_1, tmp24, atslab_0) ; tmp26 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp25), atslab_hisexp_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp26)->tag != 5) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_3, tmp26, atslab_2) ; tmp23 = tmp27 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: /* tmp28 = */ prerr_interror_02041_ () ; /* tmp29 = */ atspre_prerr_string (ATSstrcst(": d2cst_get_type_arg: hse = ")) ; /* tmp30 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (tmp25) ; /* tmp31 = */ atspre_prerr_newline () ; tmp33 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3466(line=151, offs=14) -- 3482(line=151, offs=30)", ATSstrcst("\n")) ; /* tmp32 = */ atspre_assert_errmsg (ats_false_bool, tmp33) ; /* tmp23 = */ ats_exit (1) ; break ; } while (0) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_type_res] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3639(line=161, offs=19) -- 3694(line=162, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp: tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_hisexp (arg0) ; tmp34 = ats_castfn_mac(ats_ptr_type, tmp35) ; return (tmp34) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3725(line=164, offs=19) -- 3798(line=165, offs=61) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_set2_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_set2_hisexp: /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_hisexp (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; return /* (tmp36) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_set2_hisexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 3851(line=170, offs=19) -- 4059(line=182, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo: tmp38 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (tmp38 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_8_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, tmp38, atslab_0) ; tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp39), atslab_hisexp_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp40)->tag != 5) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_3, tmp40, atslab_0) ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp37, atslab_0, tmp41) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp37 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (tmp38 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp37 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2cst_get2_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 4140(line=187, offs=19) -- 4348(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_funclo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_funclo: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_hisexp (arg0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp43 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_1, tmp43, atslab_0) ; tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp44), atslab_hisexp_node) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp45)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp46 = ats_caselptrlab_mac(anairiats_sum_3, tmp45, atslab_0) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp42, atslab_0, tmp46) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp42 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp43 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp42 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__d2var_get2_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 4427(line=205, offs=3) -- 4612(line=216, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_hipat_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp48)->tag != 0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp47 = ats_true_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp48)->tag != 1) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp47 = ats_true_bool ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp48)->tag != 15) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp48, atslab_0) ; arg0 = tmp49 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp48)->tag != 14) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp50 = ats_caselptrlab_mac(anairiats_sum_5, tmp48, atslab_1) ; arg0 = tmp50 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild ; // tail call break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp47 = ats_false_bool ; break ; } while (0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 32895(line=1167, offs=7) -- 33167(line=1176, offs=21) */ ATSstaticdec() ats_bool_type loop_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; __ats_lab_loop_15: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp57 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp55, arg2) ; if (tmp57) { arg0 = tmp56 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_15 ; // tail call } else { tmp54 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp54 = ats_true_bool ; break ; } while (0) ; return (tmp54) ; } /* end of [loop_15] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 32865(line=1166, offs=20) -- 33218(line=1180, offs=4) */ ATSstaticdec() ats_bool_type list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp53) ; __ats_lab_list_forall_funenv_01366_ats_ptr_type: tmp53 = loop_15 (arg0, arg1, arg2) ; return (tmp53) ; } /* end of [list_forall_funenv_01366_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 33288(line=1183, offs=25) -- 33550(line=1192, offs=4) */ ATSstaticdec() ats_bool_type list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp52) ; __ats_lab_list_forall_fun_01367_ats_ptr_type: tmp52 = list_forall_funenv_01366_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp52) ; } /* end of [list_forall_fun_01367_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 4669(line=220, offs=3) -- 4715(line=220, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_is_wild (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_is_wild: tmp51 = list_forall_fun_01367_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_is_wild] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 4799(line=227, offs=5) -- 4904(line=230, offs=4) */ ATSstaticdec() ats_bool_type labhipat_is_wild_17 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab_labhipat_is_wild_17: tmp60 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_is_wild (tmp60) ; return (tmp59) ; } /* end of [labhipat_is_wild_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 4778(line=225, offs=3) -- 4987(line=234, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_wild (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_wild: tmp58 = list_forall_fun_01367_ats_ptr_type (arg0, &labhipat_is_wild_17) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_wild] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 5068(line=240, offs=3) -- 6897(line=323, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_int_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_char_type, tmp83) ; ATSlocal (ats_char_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest: tmp62 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_hipat_node) ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg1), atslab_hipat_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: if (((ats_sum_ptr_type)tmp63)->tag != 0) { goto __ats_lab_24_1 ; } __ats_lab_23_2: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: if (((ats_sum_ptr_type)tmp63)->tag != 1) { goto __ats_lab_25_1 ; } __ats_lab_24_2: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: if (((ats_sum_ptr_type)tmp63)->tag != 15) { goto __ats_lab_26_1 ; } __ats_lab_25_2: tmp64 = ats_caselptrlab_mac(anairiats_sum_5, tmp63, atslab_0) ; arg0 = arg0 ; arg1 = tmp64 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: if (((ats_sum_ptr_type)tmp63)->tag != 14) { goto __ats_lab_27_0 ; } __ats_lab_26_2: tmp65 = ats_caselptrlab_mac(anairiats_sum_5, tmp63, atslab_1) ; arg0 = arg0 ; arg1 = tmp65 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest ; // tail call break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp62)->tag != 15) { goto __ats_lab_28_0 ; } __ats_lab_27_1: __ats_lab_27_2: tmp66 = ats_caselptrlab_mac(anairiats_sum_5, tmp62, atslab_0) ; arg0 = tmp66 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest ; // tail call break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp62)->tag != 14) { goto __ats_lab_29_0 ; } __ats_lab_28_1: __ats_lab_28_2: tmp67 = ats_caselptrlab_mac(anairiats_sum_5, tmp62, atslab_1) ; arg0 = tmp67 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest ; // tail call break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp62)->tag != 11) { goto __ats_lab_33_0 ; } __ats_lab_29_1: __ats_lab_29_2: tmp68 = ats_caselptrlab_mac(anairiats_sum_7, tmp62, atslab_1) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_7, tmp62, atslab_3) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp63)->tag != 11) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_7, tmp63, atslab_1) ; tmp71 = ats_caselptrlab_mac(anairiats_sum_7, tmp63, atslab_3) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp68, tmp70) ; if (tmp72) { tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest (tmp69, tmp71) ; } else { tmp61 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp63)->tag != 12) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_5, tmp63, atslab_1) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp68, tmp73) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp62)->tag != 12) { goto __ats_lab_37_0 ; } __ats_lab_33_1: __ats_lab_33_2: tmp74 = ats_caselptrlab_mac(anairiats_sum_5, tmp62, atslab_1) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp63)->tag != 11) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp75 = ats_caselptrlab_mac(anairiats_sum_7, tmp63, atslab_1) ; tmp76 = ats_caselptrlab_mac(anairiats_sum_7, tmp63, atslab_3) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp74, tmp75) ; if (tmp77) { tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_is_wild (tmp76) ; } else { tmp61 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp63)->tag != 12) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp78 = ats_caselptrlab_mac(anairiats_sum_5, tmp63, atslab_1) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (tmp74, tmp78) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp62)->tag != 2) { goto __ats_lab_40_0 ; } __ats_lab_37_1: __ats_lab_37_2: tmp79 = ats_caselptrlab_mac(anairiats_sum_8, tmp62, atslab_0) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp63)->tag != 2) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_8, tmp63, atslab_0) ; tmp61 = atspre_eq_int_int (tmp79, tmp80) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp62)->tag != 4) { goto __ats_lab_43_0 ; } __ats_lab_40_1: __ats_lab_40_2: tmp81 = ats_caselptrlab_mac(anairiats_sum_9, tmp62, atslab_0) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp63)->tag != 4) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp82 = ats_caselptrlab_mac(anairiats_sum_9, tmp63, atslab_0) ; tmp61 = atspre_eq_bool_bool (tmp81, tmp82) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp62)->tag != 5) { goto __ats_lab_46_0 ; } __ats_lab_43_1: __ats_lab_43_2: tmp83 = ats_caselptrlab_mac(anairiats_sum_10, tmp62, atslab_0) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp63)->tag != 5) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp84 = ats_caselptrlab_mac(anairiats_sum_10, tmp63, atslab_0) ; tmp61 = atspre_eq_char_char (tmp83, tmp84) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp62)->tag != 6) { goto __ats_lab_49_0 ; } __ats_lab_46_1: __ats_lab_46_2: tmp85 = ats_caselptrlab_mac(anairiats_sum_11, tmp62, atslab_0) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp63)->tag != 6) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_11, tmp63, atslab_0) ; tmp61 = atspre_eq_string_string (tmp85, tmp86) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: __ats_lab_48_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp62)->tag != 7) { goto __ats_lab_52_0 ; } __ats_lab_49_1: __ats_lab_49_2: tmp87 = ats_caselptrlab_mac(anairiats_sum_11, tmp62, atslab_0) ; do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp63)->tag != 7) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp88 = ats_caselptrlab_mac(anairiats_sum_11, tmp63, atslab_0) ; tmp61 = atspre_eq_string_string (tmp87, tmp88) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp62)->tag != 10) { goto __ats_lab_55_0 ; } __ats_lab_52_1: __ats_lab_52_2: do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp63)->tag != 10) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp61 = ats_true_bool ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: __ats_lab_54_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp62)->tag != 13) { goto __ats_lab_58_0 ; } __ats_lab_55_1: __ats_lab_55_2: tmp89 = ats_caselptrlab_mac(anairiats_sum_12, tmp62, atslab_1) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp63)->tag != 13) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_12, tmp63, atslab_1) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest (tmp89, tmp90) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: __ats_lab_57_1: tmp61 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: __ats_lab_58_2: tmp61 = ats_false_bool ; break ; } while (0) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 6975(line=329, offs=3) -- 7317(line=348, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_subtest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_bool_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_subtest: do { /* branch: __ats_lab_59 */ __ats_lab_59_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_59_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp93 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_60 */ __ats_lab_60_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest (tmp92, tmp94) ; if (tmp96) { arg0 = tmp93 ; arg1 = tmp95 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_subtest ; // tail call } else { tmp91 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_61_1: tmp91 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp91 = ats_false_bool ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: tmp91 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipatlst_subtest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 7380(line=354, offs=5) -- 7565(line=364, offs=4) */ ATSstaticdec() ats_bool_type labhipat_subtest_20 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; __ats_lab_labhipat_subtest_20: // tmp98 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp99 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; // tmp100 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp98, tmp100) ; if (tmp102) { tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hipat_subtest (tmp99, tmp101) ; } else { tmp97 = ats_false_bool ; } /* end of [if] */ return (tmp97) ; } /* end of [labhipat_subtest_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 7652(line=370, offs=3) -- 8013(line=389, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest: do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_65_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp105 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_66 */ __ats_lab_66_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp107 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp108 = labhipat_subtest_20 (tmp104, tmp106) ; if (tmp108) { arg0 = tmp105 ; arg1 = tmp107 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest ; // tail call } else { tmp103 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_67_1: tmp103 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp103 = ats_false_bool ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_70_1: tmp103 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__labhipatlst_subtest] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8102(line=398, offs=1) -- 8186(line=400, offs=40) */ ATSstaticdec() ats_bool_type hidexplst_is_value_22 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp109) ; __ats_lab_hidexplst_is_value_22: tmp109 = list_forall_fun_01367_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value) ; return (tmp109) ; } /* end of [hidexplst_is_value_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8286(line=407, offs=5) -- 8368(line=409, offs=4) */ ATSstaticdec() ats_bool_type ftest_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_ftest_24: tmp112 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value (tmp112) ; return (tmp111) ; } /* end of [ftest_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8223(line=404, offs=1) -- 8425(line=413, offs=4) */ ATSstaticdec() ats_bool_type labhidexplst_is_value_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp110) ; __ats_lab_labhidexplst_is_value_23: tmp110 = list_forall_fun_01367_ats_ptr_type (arg0, &ftest_24) ; return (tmp110) ; } /* end of [labhidexplst_is_value_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8465(line=416, offs=1) -- 8768(line=435, offs=4) */ ATSstaticdec() ats_bool_type hidecl_is_value_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab_hidecl_is_value_25: tmp114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hidecl_node) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp114)->tag != 0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp113 = ats_true_bool ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp114)->tag != 1) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_11, tmp114, atslab_0) ; tmp113 = hideclist_is_value_26 (tmp115) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp114)->tag != 10) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp113 = ats_true_bool ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp114)->tag != 11) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp116 = ats_caselptrlab_mac(anairiats_sum_5, tmp114, atslab_1) ; tmp113 = hivaldecs_is_value_28 (tmp116) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: __ats_lab_75_1: tmp113 = ats_false_bool ; break ; } while (0) ; return (tmp113) ; } /* end of [hidecl_is_value_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8802(line=438, offs=1) -- 8889(line=440, offs=41) */ ATSstaticdec() ats_bool_type hideclist_is_value_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp117) ; __ats_lab_hideclist_is_value_26: tmp117 = list_forall_fun_01367_ats_ptr_type (arg0, &hidecl_is_value_25) ; return (tmp117) ; } /* end of [hideclist_is_value_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 8926(line=444, offs=1) -- 9005(line=446, offs=36) */ ATSstaticdec() ats_bool_type hivaldec_is_value_27 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_hivaldec_is_value_27: tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_hivaldec_def) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value (tmp119) ; return (tmp118) ; } /* end of [hivaldec_is_value_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 9013(line=449, offs=1) -- 9104(line=451, offs=43) */ ATSstaticdec() ats_bool_type hivaldecs_is_value_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp120) ; __ats_lab_hivaldecs_is_value_28: tmp120 = list_forall_fun_01367_ats_ptr_type (arg0, &hivaldec_is_value_27) ; return (tmp120) ; } /* end of [hivaldecs_is_value_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 9158(line=457, offs=3) -- 9677(line=487, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_bool_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value: tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_hidexp_node) ; do { /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp122)->tag != 1) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp122)->tag != 0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp122)->tag != 4) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp122)->tag != 5) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp122)->tag != 7) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp122)->tag != 8) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp122)->tag != 9) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp122)->tag != 15) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp122)->tag != 45) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp122)->tag != 29) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_12, tmp122, atslab_1) ; tmp121 = labhidexplst_is_value_23 (tmp123) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp122)->tag != 19) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp122)->tag != 20) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp121 = ats_true_bool ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp122)->tag != 23) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp124 = ats_caselptrlab_mac(anairiats_sum_5, tmp122, atslab_0) ; tmp125 = ats_caselptrlab_mac(anairiats_sum_5, tmp122, atslab_1) ; tmp126 = hideclist_is_value_26 (tmp124) ; if (tmp126) { arg0 = tmp125 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value ; // tail call } else { tmp121 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp121 = ats_false_bool ; break ; } while (0) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_value] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 9762(line=496, offs=1) -- 9914(line=504, offs=2) */ ATSstaticdec() ats_bool_type auxseq_30 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; __ats_lab_auxseq_30: do { /* branch: __ats_lab_90 */ __ats_lab_90_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue (arg0) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_91_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; arg0 = tmp128 ; arg1 = tmp129 ; goto __ats_lab_auxseq_30 ; // tail call break ; } while (0) ; return (tmp127) ; } /* end of [auxseq_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 9987(line=510, offs=3) -- 10353(line=528, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue: tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_hidexp_node) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp131)->tag != 1) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_11, tmp131, atslab_0) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp132) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp131)->tag != 35) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_3, tmp131, atslab_0) ; tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp133) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp131)->tag != 36) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp130 = ats_true_bool ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp131)->tag != 30) { goto __ats_lab_98_0 ; } __ats_lab_95_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_11, tmp131, atslab_0) ; do { /* branch: __ats_lab_96 */ __ats_lab_96_0: if (tmp134 == (ats_sum_ptr_type)0) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp135 = ats_caselptrlab_mac(anairiats_sum_6, tmp134, atslab_0) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_6, tmp134, atslab_1) ; tmp130 = auxseq_30 (tmp135, tmp136) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: // if (tmp134 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_97_1: tmp130 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: __ats_lab_98_1: tmp130 = ats_false_bool ; break ; } while (0) ; return (tmp130) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_is_lvalue] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4) */ ATSstaticdec() ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp140) ; __ats_lab_list_is_nil_01294_: do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp140 = ats_false_bool ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp140 = ats_true_bool ; break ; } while (0) ; return (tmp140) ; } /* end of [list_is_nil_01294_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 10662(line=548, offs=17) -- 10968(line=567, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_is_empty (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_is_empty: tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hidecl_node) ; do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp138)->tag != 0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp137 = ats_true_bool ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp138)->tag != 1) { goto __ats_lab_103_0 ; } __ats_lab_100_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_11, tmp138, atslab_0) ; tmp137 = list_is_nil_01294_ (tmp139) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp138)->tag != 10) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_3, tmp138, atslab_2) ; tmp137 = list_is_nil_01294_ (tmp141) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp138)->tag != 11) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_1) ; tmp137 = list_is_nil_01294_ (tmp142) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp138)->tag != 12) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_5, tmp138, atslab_1) ; tmp137 = list_is_nil_01294_ (tmp143) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: __ats_lab_106_1: tmp137 = ats_false_bool ; break ; } while (0) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidecl_is_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 11184(line=582, offs=5) -- 11750(line=602, offs=4) */ ATSstaticdec() ats_ptr_type hidexp_is_varemp_34 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_bool_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_hidexp_is_varemp_34: tmp145 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_hidexp_node) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp145)->tag != 1) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_11, tmp145, atslab_0) ; tmp144 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp144)->tag = 1 ; ats_selptrset_mac(anairiats_sum_11, tmp144, atslab_0, tmp146) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp145)->tag != 12) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_emp_2) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp145)->tag != 21) { goto __ats_lab_110_0 ; } __ats_lab_109_1: tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_emp_2) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp145)->tag != 29) { goto __ats_lab_113_0 ; } __ats_lab_110_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_12, tmp145, atslab_0) ; tmp148 = ats_caselptrlab_mac(anairiats_sum_12, tmp145, atslab_1) ; tmp149 = atspre_eq_int_int (tmp147, 0) ; if (tmp149) { do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (tmp148 == (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } tmp150 = ats_caselptrlab_mac(anairiats_sum_6, tmp148, atslab_1) ; if (tmp150 != (ats_sum_ptr_type)0) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_6, tmp148, atslab_0) ; // tmp152 = ats_caselptrlab_mac(anairiats_sum_6, tmp151, atslab_1) ; arg0 = tmp152 ; goto __ats_lab_hidexp_is_varemp_34 ; // tail call break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: __ats_lab_112_1: tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0) ; break ; } while (0) ; } else { tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0) ; } /* end of [if] */ break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: __ats_lab_113_1: tmp144 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0) ; break ; } while (0) ; return (tmp144) ; } /* end of [hidexp_is_varemp_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 11980(line=614, offs=5) -- 12500(line=637, offs=4) */ ATSstaticdec() ats_ptr_type aux_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_bool_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab_aux_36: tmp155 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_hipat_node) ; do { /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp155)->tag != 0) { goto __ats_lab_115_0 ; } __ats_lab_114_1: tmp154 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp154)->tag = 1 ; ats_selptrset_mac(anairiats_sum_11, tmp154, atslab_0, arg1) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp155)->tag != 1) { goto __ats_lab_116_0 ; } __ats_lab_115_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_11, tmp155, atslab_0) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp154)->tag = 2 ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_0, tmp156) ; ats_selptrset_mac(anairiats_sum_5, tmp154, atslab_1, arg1) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp155)->tag != 10) { goto __ats_lab_117_0 ; } __ats_lab_116_1: tmp154 = ATS_MALLOC(sizeof(anairiats_sum_11)) ; ((ats_sum_ptr_type)tmp154)->tag = 3 ; ats_selptrset_mac(anairiats_sum_11, tmp154, atslab_0, arg1) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp155)->tag != 13) { goto __ats_lab_120_0 ; } __ats_lab_117_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_12, tmp155, atslab_0) ; tmp158 = ats_caselptrlab_mac(anairiats_sum_12, tmp155, atslab_1) ; tmp159 = atspre_eq_int_int (tmp157, 0) ; if (tmp159) { do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (tmp158 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } tmp160 = ats_caselptrlab_mac(anairiats_sum_6, tmp158, atslab_1) ; if (tmp160 != (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_6, tmp158, atslab_0) ; // tmp162 = ats_caselptrlab_mac(anairiats_sum_6, tmp161, atslab_1) ; arg0 = tmp162 ; arg1 = arg1 ; goto __ats_lab_aux_36 ; // tail call break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: __ats_lab_119_1: tmp154 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; break ; } while (0) ; } else { tmp154 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; } /* end of [if] */ break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: __ats_lab_120_1: tmp154 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; break ; } while (0) ; return (tmp154) ; } /* end of [aux_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 11921(line=611, offs=5) -- 12771(line=651, offs=4) */ ATSstaticdec() ats_ptr_type hidecl_is_anybind_35 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; __ats_lab_hidecl_is_anybind_35: tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hidecl_node) ; do { /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp163)->tag != 11) { goto __ats_lab_124_0 ; } __ats_lab_121_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_5, tmp163, atslab_1) ; do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (tmp164 == (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } tmp165 = ats_caselptrlab_mac(anairiats_sum_6, tmp164, atslab_1) ; if (tmp165 != (ats_sum_ptr_type)0) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp166 = ats_caselptrlab_mac(anairiats_sum_6, tmp164, atslab_0) ; tmp167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp166), atslab_hivaldec_pat) ; tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp166), atslab_hivaldec_def) ; tmp153 = aux_36 (tmp167, tmp168) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: __ats_lab_123_1: tmp153 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; break ; } while (0) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: __ats_lab_124_1: tmp153 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0) ; break ; } while (0) ; return (tmp153) ; } /* end of [hidecl_is_anybind_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 12807(line=653, offs=5) -- 13010(line=667, offs=4) */ ATSstaticdec() ats_ptr_type dropz_37 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; __ats_lab_dropz_37: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp170 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; do { /* branch: __ats_lab_125 */ __ats_lab_125_0: if (tmp171 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp172 = dropz_37 (tmp171) ; tmp169 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp169, atslab_0, tmp170) ; ats_selptrset_mac(anairiats_sum_6, tmp169, atslab_1, tmp172) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: // if (tmp171 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_126_1: tmp169 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp169) ; } /* end of [dropz_37] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51232(line=1817, offs=5) -- 51354(line=1819, offs=58) */ ATSstaticdec() ats_ptr_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; __ats_lab_loop_40: do { /* branch: __ats_lab_129 */ __ats_lab_129_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp179 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp180 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; arg0 = tmp179 ; arg1 = tmp180 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_130_1: tmp178 = arg0 ; break ; } while (0) ; return (tmp178) ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51194(line=1813, offs=11) -- 51390(line=1823, offs=2) */ ATSstaticdec() ats_ptr_type list_last_01407_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; __ats_lab_list_last_01407_ats_ptr_type: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp181 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ; tmp177 = loop_40 (tmp181, tmp182) ; return (tmp177) ; } /* end of [list_last_01407_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_hidynexp_util.dats: 13086(line=673, offs=3) -- 14453(line=716, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let_simplify (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let_simplify: do { /* branch: __ats_lab_127 */ __ats_lab_127_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_141_0 ; } __ats_lab_127_1: tmp174 = hidexp_is_varemp_34 (arg3) ; do { /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp174)->tag != 1) { goto __ats_lab_135_0 ; } __ats_lab_128_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_11, tmp174, atslab_0) ; ATS_FREE(tmp174) ; tmp176 = list_last_01407_ats_ptr_type (arg2) ; tmp183 = hidecl_is_anybind_35 (tmp176) ; do { /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp183)->tag != 0) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp183)->tag != 2) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_5, tmp183, atslab_0) ; tmp185 = ats_caselptrlab_mac(anairiats_sum_5, tmp183, atslab_1) ; ATS_FREE(tmp183) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_d2var_d2var (tmp175, tmp184) ; tmp186 = atspre_neg_bool (tmp187) ; if (tmp186) { tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; } else { tmp188 = dropz_37 (arg2) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, tmp188, tmp185) ; } /* end of [if] */ break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp183)->tag != 1) { goto __ats_lab_134_0 ; } __ats_lab_133_1: ATS_FREE(tmp183) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: // if (((ats_sum_ptr_type)tmp183)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_134_1: ATS_FREE(tmp183) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp174)->tag != 2) { goto __ats_lab_140_0 ; } __ats_lab_135_1: tmp189 = list_last_01407_ats_ptr_type (arg2) ; tmp190 = hidecl_is_anybind_35 (tmp189) ; do { /* branch: __ats_lab_136 */ __ats_lab_136_0: if (((ats_sum_ptr_type)tmp190)->tag != 0) { goto __ats_lab_137_0 ; } __ats_lab_136_1: tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: if (((ats_sum_ptr_type)tmp190)->tag != 3) { goto __ats_lab_138_0 ; } __ats_lab_137_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_11, tmp190, atslab_0) ; ATS_FREE(tmp190) ; tmp192 = dropz_37 (arg2) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, tmp192, tmp191) ; break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: if (((ats_sum_ptr_type)tmp190)->tag != 1) { goto __ats_lab_139_0 ; } __ats_lab_138_1: ATS_FREE(tmp190) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_139 */ __ats_lab_139_0: // if (((ats_sum_ptr_type)tmp190)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_139_1: ATS_FREE(tmp190) ; tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (((ats_sum_ptr_type)tmp174)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: tmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let (arg0, arg1, arg2, arg3) ; break ; } while (0) ; break ; /* branch: __ats_lab_141 */ __ats_lab_141_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_141_1: tmp173 = arg3 ; break ; } while (0) ; return (tmp173) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__hidexp_let_simplify] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_var_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HDEVEsome_emp_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_any_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_var_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__HABNDsome_emp_3.tag = 3 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_util_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 () ; #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_hidynexp_util_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_jsonize_dats.c0000664000175000017500000024761212655455557020276 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_6 ; typedef struct { anairiats_rec_6 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__CK_case_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FUNCLOclo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONnul_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONintinf_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONbool_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlocation_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONfilename_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlist_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONlablist_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONoption_10) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type auxch_26 (ats_ptr_type arg0, ats_char_type arg1) ; static ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ; static ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type fprint_jsonval_string_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_void_type aux_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_ptr_type aux0_34 (ats_ptr_type arg0) ; static ats_ptr_type aux1_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 1948(line=73, offs=13) -- 1964(line=73, offs=29) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int: tmp0 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp0)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp0, atslab_0, arg0) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 1992(line=76, offs=16) -- 2011(line=76, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_intinf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_intinf: tmp1 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp1)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp1, atslab_0, arg0) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2037(line=79, offs=14) -- 2054(line=79, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_bool (ats_bool_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_bool: tmp2 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp2)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp2, atslab_0, arg0) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2082(line=82, offs=16) -- 2100(line=82, offs=34) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_double (ats_double_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_double: tmp3 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp3)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp3, atslab_0, arg0) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_double] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2128(line=85, offs=16) -- 2151(line=85, offs=39) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string: tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp4)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, arg0) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2202(line=90, offs=18) -- 2227(line=90, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location: tmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp5)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp5, atslab_0, arg0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2256(line=92, offs=18) -- 2281(line=92, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename: tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp6)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, arg0) ; return (tmp6) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2422(line=104, offs=14) -- 2449(line=104, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing: tmp9 = (ats_sum_ptr_type)0 ; tmp8 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp8, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp8, atslab_1, tmp9) ; tmp7 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp7)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp7, atslab_0, tmp8) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2475(line=106, offs=14) -- 2513(line=106, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_pair (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_pair: tmp13 = (ats_sum_ptr_type)0 ; tmp12 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp12, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp12, atslab_1, tmp13) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp11, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp11, atslab_1, tmp12) ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp10)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, tmp11) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_pair] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2565(line=111, offs=17) -- 2616(line=112, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (anairiats_rec_6, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1: tmp16.atslab_0 = arg0 ; tmp16.atslab_1 = arg1 ; tmp17 = (ats_sum_ptr_type)0 ; tmp15 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp15, atslab_0, tmp16) ; ats_selptrset_mac(anairiats_sum_7, tmp15, atslab_1, tmp17) ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp14)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_0, tmp15) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2644(line=114, offs=17) -- 2728(line=115, offs=66) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (anairiats_rec_6, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (anairiats_rec_6, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2: tmp20.atslab_0 = arg0 ; tmp20.atslab_1 = arg1 ; tmp22.atslab_0 = arg2 ; tmp22.atslab_1 = arg3 ; tmp23 = (ats_sum_ptr_type)0 ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp21, atslab_0, tmp22) ; ats_selptrset_mac(anairiats_sum_7, tmp21, atslab_1, tmp23) ; tmp19 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp19, atslab_0, tmp20) ; ats_selptrset_mac(anairiats_sum_7, tmp19, atslab_1, tmp21) ; tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp18)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, tmp19) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2756(line=118, offs=1) -- 2844(line=120, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (anairiats_rec_6, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (anairiats_rec_6, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (anairiats_rec_6, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3: tmp26.atslab_0 = arg0 ; tmp26.atslab_1 = arg1 ; tmp28.atslab_0 = arg2 ; tmp28.atslab_1 = arg3 ; tmp30.atslab_0 = arg4 ; tmp30.atslab_1 = arg5 ; tmp31 = (ats_sum_ptr_type)0 ; tmp29 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp29, atslab_0, tmp30) ; ats_selptrset_mac(anairiats_sum_7, tmp29, atslab_1, tmp31) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp27, atslab_0, tmp28) ; ats_selptrset_mac(anairiats_sum_7, tmp27, atslab_1, tmp29) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp25, atslab_0, tmp26) ; ats_selptrset_mac(anairiats_sum_7, tmp25, atslab_1, tmp27) ; tmp24 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp24)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp24, atslab_0, tmp25) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 2880(line=123, offs=1) -- 2988(line=125, offs=74) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (anairiats_rec_6, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (anairiats_rec_6, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (anairiats_rec_6, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (anairiats_rec_6, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4: tmp34.atslab_0 = arg0 ; tmp34.atslab_1 = arg1 ; tmp36.atslab_0 = arg2 ; tmp36.atslab_1 = arg3 ; tmp38.atslab_0 = arg4 ; tmp38.atslab_1 = arg5 ; tmp40.atslab_0 = arg6 ; tmp40.atslab_1 = arg7 ; tmp41 = (ats_sum_ptr_type)0 ; tmp39 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp39, atslab_0, tmp40) ; ats_selptrset_mac(anairiats_sum_7, tmp39, atslab_1, tmp41) ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp37, atslab_0, tmp38) ; ats_selptrset_mac(anairiats_sum_7, tmp37, atslab_1, tmp39) ; tmp35 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp35, atslab_0, tmp36) ; ats_selptrset_mac(anairiats_sum_7, tmp35, atslab_1, tmp37) ; tmp33 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_0, tmp34) ; ats_selptrset_mac(anairiats_sum_7, tmp33, atslab_1, tmp35) ; tmp32 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp32)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp32, atslab_0, tmp33) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3019(line=129, offs=1) -- 3150(line=133, offs=71) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (anairiats_rec_6, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (anairiats_rec_6, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (anairiats_rec_6, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (anairiats_rec_6, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (anairiats_rec_6, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval5: tmp44.atslab_0 = arg0 ; tmp44.atslab_1 = arg1 ; tmp46.atslab_0 = arg2 ; tmp46.atslab_1 = arg3 ; tmp48.atslab_0 = arg4 ; tmp48.atslab_1 = arg5 ; tmp50.atslab_0 = arg6 ; tmp50.atslab_1 = arg7 ; tmp52.atslab_0 = arg8 ; tmp52.atslab_1 = arg9 ; tmp53 = (ats_sum_ptr_type)0 ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp51, atslab_0, tmp52) ; ats_selptrset_mac(anairiats_sum_7, tmp51, atslab_1, tmp53) ; tmp49 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp49, atslab_0, tmp50) ; ats_selptrset_mac(anairiats_sum_7, tmp49, atslab_1, tmp51) ; tmp47 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp47, atslab_0, tmp48) ; ats_selptrset_mac(anairiats_sum_7, tmp47, atslab_1, tmp49) ; tmp45 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp45, atslab_0, tmp46) ; ats_selptrset_mac(anairiats_sum_7, tmp45, atslab_1, tmp47) ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp43, atslab_0, tmp44) ; ats_selptrset_mac(anairiats_sum_7, tmp43, atslab_1, tmp45) ; tmp42 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp42)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp42, atslab_0, tmp43) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3179(line=137, offs=1) -- 3330(line=141, offs=83) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ptr_type arg10, ats_ptr_type arg11) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (anairiats_rec_6, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (anairiats_rec_6, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (anairiats_rec_6, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (anairiats_rec_6, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (anairiats_rec_6, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (anairiats_rec_6, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval6: tmp56.atslab_0 = arg0 ; tmp56.atslab_1 = arg1 ; tmp58.atslab_0 = arg2 ; tmp58.atslab_1 = arg3 ; tmp60.atslab_0 = arg4 ; tmp60.atslab_1 = arg5 ; tmp62.atslab_0 = arg6 ; tmp62.atslab_1 = arg7 ; tmp64.atslab_0 = arg8 ; tmp64.atslab_1 = arg9 ; tmp66.atslab_0 = arg10 ; tmp66.atslab_1 = arg11 ; tmp67 = (ats_sum_ptr_type)0 ; tmp65 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp65, atslab_0, tmp66) ; ats_selptrset_mac(anairiats_sum_7, tmp65, atslab_1, tmp67) ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp63, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_7, tmp63, atslab_1, tmp65) ; tmp61 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp61, atslab_0, tmp62) ; ats_selptrset_mac(anairiats_sum_7, tmp61, atslab_1, tmp63) ; tmp59 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp59, atslab_0, tmp60) ; ats_selptrset_mac(anairiats_sum_7, tmp59, atslab_1, tmp61) ; tmp57 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp57, atslab_0, tmp58) ; ats_selptrset_mac(anairiats_sum_7, tmp57, atslab_1, tmp59) ; tmp55 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp55, atslab_0, tmp56) ; ats_selptrset_mac(anairiats_sum_7, tmp55, atslab_1, tmp57) ; tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp54)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, tmp55) ; return (tmp54) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3359(line=145, offs=1) -- 3530(line=149, offs=95) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval7 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ptr_type arg10, ats_ptr_type arg11, ats_ptr_type arg12, ats_ptr_type arg13) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (anairiats_rec_6, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (anairiats_rec_6, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (anairiats_rec_6, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (anairiats_rec_6, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (anairiats_rec_6, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (anairiats_rec_6, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (anairiats_rec_6, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval7: tmp70.atslab_0 = arg0 ; tmp70.atslab_1 = arg1 ; tmp72.atslab_0 = arg2 ; tmp72.atslab_1 = arg3 ; tmp74.atslab_0 = arg4 ; tmp74.atslab_1 = arg5 ; tmp76.atslab_0 = arg6 ; tmp76.atslab_1 = arg7 ; tmp78.atslab_0 = arg8 ; tmp78.atslab_1 = arg9 ; tmp80.atslab_0 = arg10 ; tmp80.atslab_1 = arg11 ; tmp82.atslab_0 = arg12 ; tmp82.atslab_1 = arg13 ; tmp83 = (ats_sum_ptr_type)0 ; tmp81 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp81, atslab_0, tmp82) ; ats_selptrset_mac(anairiats_sum_7, tmp81, atslab_1, tmp83) ; tmp79 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp79, atslab_0, tmp80) ; ats_selptrset_mac(anairiats_sum_7, tmp79, atslab_1, tmp81) ; tmp77 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp77, atslab_0, tmp78) ; ats_selptrset_mac(anairiats_sum_7, tmp77, atslab_1, tmp79) ; tmp75 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp75, atslab_0, tmp76) ; ats_selptrset_mac(anairiats_sum_7, tmp75, atslab_1, tmp77) ; tmp73 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp73, atslab_0, tmp74) ; ats_selptrset_mac(anairiats_sum_7, tmp73, atslab_1, tmp75) ; tmp71 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp71, atslab_0, tmp72) ; ats_selptrset_mac(anairiats_sum_7, tmp71, atslab_1, tmp73) ; tmp69 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp69, atslab_0, tmp70) ; ats_selptrset_mac(anairiats_sum_7, tmp69, atslab_1, tmp71) ; tmp68 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp68)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp68, atslab_0, tmp69) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3559(line=153, offs=1) -- 3750(line=157, offs=107) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6, ats_ptr_type arg7, ats_ptr_type arg8, ats_ptr_type arg9, ats_ptr_type arg10, ats_ptr_type arg11, ats_ptr_type arg12, ats_ptr_type arg13, ats_ptr_type arg14, ats_ptr_type arg15) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (anairiats_rec_6, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (anairiats_rec_6, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (anairiats_rec_6, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (anairiats_rec_6, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (anairiats_rec_6, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (anairiats_rec_6, tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (anairiats_rec_6, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (anairiats_rec_6, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval8: tmp86.atslab_0 = arg0 ; tmp86.atslab_1 = arg1 ; tmp88.atslab_0 = arg2 ; tmp88.atslab_1 = arg3 ; tmp90.atslab_0 = arg4 ; tmp90.atslab_1 = arg5 ; tmp92.atslab_0 = arg6 ; tmp92.atslab_1 = arg7 ; tmp94.atslab_0 = arg8 ; tmp94.atslab_1 = arg9 ; tmp96.atslab_0 = arg10 ; tmp96.atslab_1 = arg11 ; tmp98.atslab_0 = arg12 ; tmp98.atslab_1 = arg13 ; tmp100.atslab_0 = arg14 ; tmp100.atslab_1 = arg15 ; tmp101 = (ats_sum_ptr_type)0 ; tmp99 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp99, atslab_0, tmp100) ; ats_selptrset_mac(anairiats_sum_7, tmp99, atslab_1, tmp101) ; tmp97 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp97, atslab_0, tmp98) ; ats_selptrset_mac(anairiats_sum_7, tmp97, atslab_1, tmp99) ; tmp95 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp95, atslab_0, tmp96) ; ats_selptrset_mac(anairiats_sum_7, tmp95, atslab_1, tmp97) ; tmp93 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp93, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_7, tmp93, atslab_1, tmp95) ; tmp91 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp91, atslab_0, tmp92) ; ats_selptrset_mac(anairiats_sum_7, tmp91, atslab_1, tmp93) ; tmp89 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp89, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_7, tmp89, atslab_1, tmp91) ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp87, atslab_0, tmp88) ; ats_selptrset_mac(anairiats_sum_7, tmp87, atslab_1, tmp89) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ats_selptrset_mac(anairiats_sum_7, tmp85, atslab_0, tmp86) ; ats_selptrset_mac(anairiats_sum_7, tmp85, atslab_1, tmp87) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp84)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp84, atslab_0, tmp85) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3807(line=164, offs=3) -- 3848(line=164, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0: tmp103 = (ats_sum_ptr_type)0 ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (arg0, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3877(line=167, offs=3) -- 3934(line=168, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1: tmp106 = (ats_sum_ptr_type)0 ; tmp105 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp105, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp105, atslab_1, tmp106) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (arg0, tmp105) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 3963(line=171, offs=3) -- 4032(line=172, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2: tmp110 = (ats_sum_ptr_type)0 ; tmp109 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp109, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp109, atslab_1, tmp110) ; tmp108 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp108, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp108, atslab_1, tmp109) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (arg0, tmp108) ; return (tmp107) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4061(line=175, offs=3) -- 4146(line=176, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3: tmp115 = (ats_sum_ptr_type)0 ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp114, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp114, atslab_1, tmp115) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_1, tmp114) ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp112, atslab_1, tmp113) ; tmp111 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (arg0, tmp112) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4175(line=179, offs=3) -- 4276(line=180, offs=70) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4: tmp121 = (ats_sum_ptr_type)0 ; tmp120 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp120, atslab_0, arg4) ; ats_selptrset_mac(anairiats_sum_5, tmp120, atslab_1, tmp121) ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp119, atslab_1, tmp120) ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp118, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp118, atslab_1, tmp119) ; tmp117 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp117, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp117, atslab_1, tmp118) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (arg0, tmp117) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarg4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4310(line=184, offs=3) -- 4366(line=184, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst: tmp123 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp123)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp123, atslab_0, arg1) ; tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (arg0, tmp123) ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_conarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4446(line=190, offs=14) -- 4469(line=190, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none: tmp125 = (ats_sum_ptr_type)0 ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp124)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp124, atslab_0, tmp125) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4494(line=192, offs=14) -- 4518(line=192, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some: tmp127 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ats_selptrset_mac(anairiats_sum_8, tmp127, atslab_0, arg0) ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp126)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp126, atslab_0, tmp127) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4630(line=205, offs=1) -- 5218(line=230, offs=4) */ ATSstaticdec() ats_void_type auxch_26 (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp129) ; ATSlocal (ats_bool_type, tmp130) ; __ats_lab_auxch_26: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 != '"') { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\\"")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg1 != '\\') { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\\\")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 != '\n') { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\n")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg1 != '\015') { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\r")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg1 != '\t') { goto __ats_lab_5_0 ; } __ats_lab_4_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\t")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg1 != '\010') { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\b")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 != '\014') { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp129 = */ atspre_fprint_string (arg0, ATSstrcst("\\f")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp130 = atspre_char_isprint (arg1) ; if (tmp130) { /* tmp129 = */ atspre_fprint_char (arg0, arg1) ; } else { /* tmp129 = */ atspre_fprintf_exn (arg0, ATSstrcst("\\u00%.2X"), ats_castfn_mac(ats_uint_type, ats_castfn_mac(ats_uchar_type, arg1))) ; } /* end of [if] */ break ; } while (0) ; return /* (tmp129) */ ; } /* end of [auxch_26] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp133) ; __ats_lab_ptr0_get_01759_ats_char_type: tmp133 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp133) ; } /* end of [ptr0_get_01759_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 5244(line=233, offs=1) -- 5410(line=246, offs=4) */ ATSstaticdec() ats_void_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp131) ; ATSlocal (ats_char_type, tmp132) ; ATSlocal (ats_bool_type, tmp134) ; // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab_loop_27: tmp132 = ptr0_get_01759_ats_char_type (arg1) ; tmp134 = atspre_neq_char_char (tmp132, '\000') ; if (tmp134) { /* tmp135 = */ auxch_26 (arg0, tmp132) ; tmp136 = atspre_padd_size (arg1, sizeof(ats_char_type)) ; arg0 = arg0 ; arg1 = tmp136 ; goto __ats_lab_loop_27 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp131) */ ; } /* end of [loop_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 4556(line=199, offs=1) -- 5523(line=254, offs=4) */ ATSstaticdec() ats_void_type fprint_jsonval_string_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp128) ; // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; __ats_lab_fprint_jsonval_string_25: /* tmp137 = */ atspre_fprint_char (arg0, '"') ; /* tmp138 = */ loop_27 (arg0, ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp128 = */ atspre_fprint_char (arg0, '"') ; return /* (tmp128) */ ; } /* end of [fprint_jsonval_string_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 5608(line=260, offs=3) -- 6806(line=321, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp139) ; ATSlocal (ats_int_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; // ATSlocal_void (tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_double_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; // ATSlocal_void (tmp154) ; // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("{}")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp140 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp139 = */ atspre_fprint_int (arg0, tmp140) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp141 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp142 = */ atspre_fprint_char (arg0, '"') ; /* tmp143 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, tmp141) ; /* tmp139 = */ atspre_fprint_char (arg0, '"') ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp139 = */ atspre_fprint_bool (arg0, tmp144) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp145 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; /* tmp139 = */ atspre_fprint_double (arg0, tmp145) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp146 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp139 = */ fprint_jsonval_string_25 (arg0, tmp146) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp147) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp151 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; /* tmp152 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp150) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("\"")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp154 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp155 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist (arg0, tmp153) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp157 = */ atspre_fprint_string (arg0, ATSstrcst("{")) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist (arg0, tmp156) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("}")) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (((ats_sum_ptr_type)arg1)->tag != 10) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp160 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp159 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_8, tmp159, atslab_0) ; /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp162) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp159 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: break ; } while (0) ; /* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; break ; } while (0) ; return /* (tmp139) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 6933(line=331, offs=5) -- 7241(line=350, offs=4) */ ATSstaticdec() ats_void_type aux_31 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_bool_type, tmp168) ; // ATSlocal_void (tmp169) ; ATSlocal (ats_int_type, tmp170) ; __ats_lab_aux_31: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp168 = atspre_gt_int_int (arg2, 0) ; if (tmp168) { /* tmp167 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp169 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp165) ; tmp170 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp166 ; arg2 = tmp170 ; goto __ats_lab_aux_31 ; // tail call break ; } while (0) ; return /* (tmp164) */ ; } /* end of [aux_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 6909(line=329, offs=3) -- 7287(line=354, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist: /* tmp163 = */ aux_31 (arg0, arg1, 0) ; return /* (tmp163) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonvalist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 7398(line=362, offs=5) -- 7812(line=385, offs=4) */ ATSstaticdec() ats_void_type aux_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp172) ; ATSlocal (anairiats_rec_6, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; // ATSlocal_void (tmp175) ; ATSlocal (ats_bool_type, tmp176) ; // ATSlocal_void (tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_int_type, tmp182) ; __ats_lab_aux_33: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp173 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_0) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ; tmp176 = atspre_gt_int_int (arg2, 0) ; if (tmp176) { /* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp178 = ats_select_mac(tmp173, atslab_0) ; /* tmp177 = */ atspre_fprintf_exn (arg0, ATSstrcst("\"%s\""), tmp178) ; /* tmp179 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; tmp181 = ats_select_mac(tmp173, atslab_1) ; /* tmp180 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_jsonval (arg0, tmp181) ; tmp182 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp174 ; arg2 = tmp182 ; goto __ats_lab_aux_33 ; // tail call break ; } while (0) ; return /* (tmp172) */ ; } /* end of [aux_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 7373(line=360, offs=3) -- 7859(line=389, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist: /* tmp171 = */ aux_33 (arg0, arg1, 0) ; return /* (tmp171) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__fprint_labjsonvalist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 7926(line=395, offs=5) -- 8109(line=403, offs=4) */ ATSstaticdec() ats_ptr_type aux0_34 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; __ats_lab_aux0_34: tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (arg0) ; tmp186 = (ats_sum_ptr_type)0 ; tmp185 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp185)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp185, atslab_0, tmp186) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("funclo_name"), tmp184, ATSstrcst("funclo_arglst"), tmp185) ; return (tmp183) ; } /* end of [aux0_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 8132(line=405, offs=5) -- 8326(line=413, offs=4) */ ATSstaticdec() ats_ptr_type aux1_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; __ats_lab_aux1_35: tmp188 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (arg0) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_sing (arg1) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval2 (ATSstrcst("funclo_name"), tmp188, ATSstrcst("funclo_arglst"), tmp189) ; return (tmp187) ; } /* end of [aux1_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 8394(line=418, offs=16) -- 8516(line=422, offs=61) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funclo (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funclo: do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp190 = aux0_34 (ATSstrcst("FUNCLOfun")) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp191) ; tmp190 = aux1_35 (ATSstrcst("FUNCLOclo"), tmp192) ; break ; } while (0) ; return (tmp190) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funclo] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 8619(line=430, offs=16) -- 8783(line=435, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("CK_case")) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("CK_case_pos")) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("CK_case_neg")) ; break ; } while (0) ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_caskind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 8867(line=442, offs=16) -- 9191(line=455, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funkind: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_fn")) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_fnx")) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_fun")) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_prfn")) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_prfun")) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)arg0)->tag != 5) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_praxi")) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (((ats_sum_ptr_type)arg0)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("FK_castfn")) ; break ; } while (0) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_funkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 9275(line=462, offs=16) -- 9476(line=468, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_valkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_valkind: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("VK_val")) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("VK_prval")) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("VK_val_pos")) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("VK_val_neg")) ; break ; } while (0) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_valkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 9561(line=475, offs=17) -- 9838(line=483, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_dcstkind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp196) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_dcstkind: do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKfun")) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKval")) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKpraxi")) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKprfun")) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKprval")) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (((ats_sum_ptr_type)arg0)->tag != 5) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (ATSstrcst("DCKcastfn")) ; break ; } while (0) ; return (tmp196) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_dcstkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 9923(line=490, offs=14) -- 9960(line=491, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__stamp_get_int (arg0) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp198) ; return (tmp197) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10013(line=496, offs=15) -- 10057(line=497, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol: tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg0) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_string (tmp200) ; return (tmp199) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10087(line=499, offs=18) -- 10184(line=504, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbolopt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbolopt: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_none () ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp203 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp202) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_some (tmp203) ; break ; } while (0) ; return (tmp201) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbolopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10275(line=511, offs=17) -- 10304(line=511, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location: tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_location (arg0) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10332(line=513, offs=17) -- 10361(line=513, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_filename (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_filename: tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_filename (arg0) ; return (tmp205) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10410(line=518, offs=14) -- 10912(line=542, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_int (arg0) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp207 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_9, tmp207, atslab_0) ; ATS_FREE(tmp207) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_int (tmp208) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("LABint"), tmp209) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp207 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__label_get_sym (arg0) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp210 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_8, tmp210, atslab_0) ; ATS_FREE(tmp210) ; tmp212 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_symbol (tmp211) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonval_labval1 (ATSstrcst("LABsym"), tmp212) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp210 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp206 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONnul_0) ; break ; } while (0) ; break ; } while (0) ; return (tmp206) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_jsonize.dats: 10988(line=547, offs=16) -- 11012(line=547, offs=40) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored: tmp213 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__JSONnul_0) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__jsonize_ignored] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_jsonize_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 () ; #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_jsonize_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_tokbuf.cats0000664000175000017500000000354212655455557017574 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_TOKBUF_CATS #define POSTIATS_SRC_PATS_TOKBUF_CATS /* ****** ****** */ #include "libats/CATS/linqueue_arr.cats" /* ****** ****** */ #include "pats_lexbuf.cats" /* ****** ****** */ typedef struct { // atslib_linqueue_arr_QUEUE tbuf ; // ats_uint_type ntok ; // the current token number // pats_lexbuf_struct lexbuf ; // for lexing // } pats_tokbuf_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_TOKBUF_CATS] /* ****** ****** */ /* end of [pats_tokbuf.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_svvar_dats.c0000664000175000017500000035021612655455557021417 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ typedef ats_ptr_type s2Var ; /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_s2Var_loc ; ats_int_type atslab_s2Var_cnt ; ats_ptr_type atslab_s2Var_srt ; ats_ptr_type atslab_s2Var_link ; ats_ptr_type atslab_s2Var_svar ; ats_ptr_type atslab_s2Var_szexp ; ats_ptr_type atslab_s2Var_sVarlst ; ats_ptr_type atslab_s2Var_lbs ; ats_ptr_type atslab_s2Var_ubs ; ats_int_type atslab_s2Var_stamp ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2VarBound_loc ; ats_ptr_type atslab_s2VarBound_val ; } anairiats_rec_4 ; typedef struct { ats_int_type atslab_0 ; s2Var atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { s2Var atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_cnt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_add_sVarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_listize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2Varset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2Varset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2VarBound_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__s2Var_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () ; static ats_int_type compare_elt_elt_03672_s2Var (s2Var arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_int_type compare_elt_elt_03700_s2Var (s2Var arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_ptr_type funset_make_nil_03673_ () ; static ats_ptr_type avltree_rrotate_04010_s2Var (s2Var arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_03993_s2Var (s2Var arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_34 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_34_closure_make (s2Var env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03682_s2Var (ats_ref_type arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_39 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_39_closure_make (s2Var env0, ats_clo_ref_type env1) ; static ats_bool_type aux_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_03680_s2Var (ats_ptr_type arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_ptr_type listize_42 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_listize_03697_s2Var (ats_ptr_type arg0) ; static ats_ptr_type linset_make_nil_03701_ () ; static ats_int_type avltree_height_04267_s2Var (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04321_s2Var (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04297_s2Var (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_47 (ats_clo_ref_type env0, ats_ref_type arg0, s2Var arg1) ; static ats_clo_ptr_type insert_47_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_47_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, s2Var arg1) ; static ats_bool_type linset_insert_03710_s2Var (ats_ref_type arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_53 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_53_closure_make (s2Var env0, ats_clo_ref_type env1) ; static ats_bool_type aux_53_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type linset_is_member_03706_s2Var (ats_ptr_type arg0, s2Var arg1, ats_clo_ref_type arg2) ; static ats_void_type aux_56 (ats_ptr_type arg0) ; static ats_void_type linset_free_03708_s2Var (ats_ptr_type arg0) ; static ats_ptr_type aux_59 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_03726_s2Var (ats_ptr_type arg0) ; static ats_void_type aux_64 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_64_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_69 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp0) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_1 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; __ats_lab_ptr_alloc_01070_anairiats_rec_1: tmp5 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; return (tmp5) ; } /* end of [ptr_alloc_01070_anairiats_rec_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 2568(line=96, offs=16) -- 3232(line=131, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_int_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_srt: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp0) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make () ; tmp4 = ptr_alloc_01070_anairiats_rec_1 () ; tmp6 = ats_selsin_mac(tmp4, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_loc) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_cnt) = tmp2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_srt) = arg1 ; tmp7 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_link) = tmp7 ; tmp8 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_svar) = tmp8 ; tmp9 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp9)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp9, atslab_0, ats_castfn_mac(ats_ptr_type, tmp6)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_szexp) = tmp9 ; tmp10 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_sVarlst) = ats_castfn_mac(ats_ptr_type, tmp10) ; tmp11 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_lbs) = tmp11 ; tmp12 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_ubs) = tmp12 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp6), atslab_s2Var_stamp) = tmp3 ; tmp1 = atspre_ref_make_view_ptr (tmp6) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 3286(line=133, offs=26) -- 3981(line=166, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_var: tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_getinc (statmp0) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__s2Var_stamp_make () ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_get_srt (arg1) ; tmp17 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ; tmp18 = ats_selsin_mac(tmp17, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_loc) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_cnt) = tmp14 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_srt) = tmp16 ; tmp19 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_link) = tmp19 ; tmp20 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_svar) = tmp20 ; tmp21 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp21)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp21, atslab_0, ats_castfn_mac(ats_ptr_type, tmp18)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_szexp) = tmp21 ; tmp22 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_sVarlst) = ats_castfn_mac(ats_ptr_type, tmp22) ; tmp23 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_lbs) = tmp23 ; tmp24 = (ats_sum_ptr_type)0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_ubs) = tmp24 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp18), atslab_s2Var_stamp) = tmp15 ; tmp13 = atspre_ref_make_view_ptr (tmp18) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_make_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4055(line=171, offs=15) -- 4144(line=173, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_cnt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_cnt: tmp26 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp25 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp26), atslab_s2Var_cnt) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_cnt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4196(line=176, offs=15) -- 4285(line=178, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt: tmp28 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp27 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp28), atslab_s2Var_srt) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4338(line=181, offs=16) -- 4415(line=183, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link: tmp30 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp29 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp30), atslab_s2Var_link) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_link] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4468(line=185, offs=16) -- 4559(line=187, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link: tmp32 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp32), atslab_s2Var_link) = arg1 ; return /* (tmp31) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_link] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4614(line=190, offs=17) -- 4692(line=192, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp: tmp34 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp33 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp34), atslab_s2Var_szexp) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4747(line=194, offs=17) -- 4839(line=196, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp: tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp36), atslab_s2Var_szexp) = arg1 ; return /* (tmp35) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 4897(line=199, offs=19) -- 4999(line=203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp39 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp38), atslab_s2Var_sVarlst) ; tmp37 = ats_castfn_mac(ats_ptr_type, tmp39) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_sVarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5058(line=205, offs=19) -- 5238(line=210, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_add_sVarlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_add_sVarlst: tmp41 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp42 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp41), atslab_s2Var_sVarlst) ; tmp43 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp43, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp43, atslab_1, ats_castfn_mac(ats_ptr_type, tmp42)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp41), atslab_s2Var_sVarlst) = ats_castfn_mac(ats_ptr_type, tmp43) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_add_sVarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5294(line=213, offs=15) -- 5370(line=215, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs: tmp45 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp44 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp45), atslab_s2Var_lbs) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_lbs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5421(line=217, offs=15) -- 5509(line=219, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_lbs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_lbs: tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp47), atslab_s2Var_lbs) = arg1 ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_lbs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5560(line=221, offs=15) -- 5636(line=223, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs: tmp49 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp48 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp49), atslab_s2Var_ubs) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_ubs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5687(line=225, offs=15) -- 5775(line=227, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_ubs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_ubs: tmp51 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp51), atslab_s2Var_ubs) = arg1 ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_ubs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 5829(line=230, offs=17) -- 5920(line=232, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp: tmp53 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp52 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp53), atslab_s2Var_stamp) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6027(line=240, offs=3) -- 6267(line=254, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_add_sVarlst (tmp55, arg1) ; arg0 = tmp56 ; arg1 = arg1 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst ; // tail call break ; } while (0) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varlst_add_sVarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6491(line=269, offs=3) -- 6551(line=271, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make: tmp58 = ATS_MALLOC(sizeof(anairiats_rec_4)) ; ats_selptrset_mac(anairiats_rec_4, tmp58, atslab_s2VarBound_loc, arg0) ; ats_selptrset_mac(anairiats_rec_4, tmp58, atslab_s2VarBound_val, arg1) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6613(line=273, offs=30) -- 6635(line=273, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_loc: tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s2VarBound_loc) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6665(line=274, offs=30) -- 6687(line=274, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val: tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s2VarBound_val) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2VarBound_get_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6759(line=281, offs=15) -- 6791(line=281, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2Var_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2Var_s2Var: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (arg0, arg1) ; tmp61 = atspre_ilt (tmp62, 0) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lt_s2Var_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6818(line=283, offs=16) -- 6851(line=283, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2Var_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2Var_s2Var: tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (arg0, arg1) ; tmp63 = atspre_ilte (tmp64, 0) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__lte_s2Var_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6880(line=286, offs=15) -- 6912(line=286, offs=47) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (arg0, arg1) ; tmp65 = atspre_ieq (tmp66, 0) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2Var_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 6939(line=288, offs=16) -- 6972(line=288, offs=49) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2Var_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2Var_s2Var: tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (arg0, arg1) ; tmp67 = atspre_ineq (tmp68, 0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_s2Var_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 7007(line=291, offs=21) -- 7228(line=301, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var: tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp (arg0) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_stamp (arg1) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp70, tmp71) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 7308(line=306, offs=14) -- 7532(line=315, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp72) ; ATSlocal (ats_int_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var: tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_cnt (arg1) ; /* tmp72 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__fprint_count (arg0, tmp73) ; return /* (tmp72) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 7581(line=318, offs=13) -- 7619(line=318, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Var: /* tmp74 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (stdout, arg0) ; return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 7642(line=320, offs=13) -- 7680(line=320, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Var: /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (stderr, arg0) ; return /* (tmp75) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 8629(line=361, offs=29) -- 8695(line=362, offs=51) */ ATSstaticdec() ats_int_type compare_elt_elt_03672_s2Var (s2Var arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp76) ; __ats_lab_compare_elt_elt_03672_s2Var: tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp76) ; } /* end of [compare_elt_elt_03672_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 8734(line=364, offs=29) -- 8800(line=365, offs=51) */ ATSstaticdec() ats_int_type compare_elt_elt_03700_s2Var (s2Var arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp77) ; __ats_lab_compare_elt_elt_03700_s2Var: tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_s2Var_s2Var (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; return (tmp77) ; } /* end of [compare_elt_elt_03700_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03673_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; __ats_lab_funset_make_nil_03673_: tmp79 = (ats_sum_ptr_type)0 ; return (tmp79) ; } /* end of [funset_make_nil_03673_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 8851(line=370, offs=14) -- 8878(line=370, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil: tmp78 = funset_make_nil_03673_ () ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04010_s2Var (s2Var arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (s2Var, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; ATSlocal (ats_int_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_int_type, tmp111) ; ATSlocal (ats_int_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (s2Var, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_int_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; __ats_lab_avltree_rrotate_04010_s2Var: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp101 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_1) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_2) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_5, arg2, atslab_3) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp102 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_5, tmp102, atslab_0) ; tmp104 = tmp105 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp102 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp104 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (tmp103 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp107 = ats_caselptrlab_mac(anairiats_sum_5, tmp103, atslab_0) ; tmp106 = tmp107 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (tmp103 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: tmp106 = 0 ; break ; } while (0) ; tmp109 = atspre_iadd (tmp104, 0) ; tmp108 = atspre_igte (tmp109, tmp106) ; if (tmp108) { tmp110 = atspre_iadd (tmp106, 1) ; tmp112 = atspre_imax (tmp104, tmp110) ; tmp111 = atspre_iadd (1, tmp112) ; tmp113 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_0, tmp110) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_2, tmp103) ; ats_selptrset_mac(anairiats_sum_5, tmp113, atslab_3, arg4) ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_0, tmp111) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_1, tmp101) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_2, tmp102) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_3, tmp113) ; } else { // if (tmp103 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp114 = ats_caselptrlab_mac(anairiats_sum_5, tmp103, atslab_1) ; tmp115 = ats_caselptrlab_mac(anairiats_sum_5, tmp103, atslab_2) ; tmp116 = ats_caselptrlab_mac(anairiats_sum_5, tmp103, atslab_3) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp115, atslab_0) ; tmp117 = tmp118 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (tmp115 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp117 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp116 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp120 = ats_caselptrlab_mac(anairiats_sum_5, tmp116, atslab_0) ; tmp119 = tmp120 ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (tmp116 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp119 = 0 ; break ; } while (0) ; tmp123 = atspre_imax (tmp104, tmp117) ; tmp122 = atspre_iadd (1, tmp123) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp121, atslab_0, tmp122) ; ats_selptrset_mac(anairiats_sum_5, tmp121, atslab_1, tmp101) ; ats_selptrset_mac(anairiats_sum_5, tmp121, atslab_2, tmp102) ; ats_selptrset_mac(anairiats_sum_5, tmp121, atslab_3, tmp115) ; tmp126 = atspre_imax (tmp119, arg3) ; tmp125 = atspre_iadd (1, tmp126) ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp124, atslab_0, tmp125) ; ats_selptrset_mac(anairiats_sum_5, tmp124, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp124, atslab_2, tmp116) ; ats_selptrset_mac(anairiats_sum_5, tmp124, atslab_3, arg4) ; tmp100 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_1, tmp114) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_2, tmp121) ; ats_selptrset_mac(anairiats_sum_5, tmp100, atslab_3, tmp124) ; } /* end of [if] */ return (tmp100) ; } /* end of [avltree_rrotate_04010_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_03993_s2Var (s2Var arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (s2Var, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_int_type, tmp141) ; ATSlocal (ats_int_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_int_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (s2Var, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_int_type, tmp154) ; ATSlocal (ats_int_type, tmp155) ; ATSlocal (ats_int_type, tmp156) ; ATSlocal (ats_int_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_int_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_int_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; __ats_lab_avltree_lrotate_03993_s2Var: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp138 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_1) ; tmp139 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_2) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_5, arg4, atslab_3) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp139 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_5, tmp139, atslab_0) ; tmp141 = tmp142 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp139 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp141 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp140 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_5, tmp140, atslab_0) ; tmp143 = tmp144 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp140 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp143 = 0 ; break ; } while (0) ; tmp146 = atspre_iadd (tmp143, 0) ; tmp145 = atspre_ilte (tmp141, tmp146) ; if (tmp145) { tmp147 = atspre_iadd (tmp141, 1) ; tmp149 = atspre_imax (tmp147, tmp143) ; tmp148 = atspre_iadd (1, tmp149) ; tmp150 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp150, atslab_0, tmp147) ; ats_selptrset_mac(anairiats_sum_5, tmp150, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp150, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp150, atslab_3, tmp139) ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_0, tmp148) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_1, tmp138) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_2, tmp150) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_3, tmp140) ; } else { // if (tmp139 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp151 = ats_caselptrlab_mac(anairiats_sum_5, tmp139, atslab_1) ; tmp152 = ats_caselptrlab_mac(anairiats_sum_5, tmp139, atslab_2) ; tmp153 = ats_caselptrlab_mac(anairiats_sum_5, tmp139, atslab_3) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp152 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_5, tmp152, atslab_0) ; tmp154 = tmp155 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp152 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp154 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp153 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_5, tmp153, atslab_0) ; tmp156 = tmp157 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (tmp153 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp156 = 0 ; break ; } while (0) ; tmp160 = atspre_imax (arg1, tmp154) ; tmp159 = atspre_iadd (1, tmp160) ; tmp158 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp158, atslab_0, tmp159) ; ats_selptrset_mac(anairiats_sum_5, tmp158, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp158, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_5, tmp158, atslab_3, tmp152) ; tmp163 = atspre_imax (tmp156, tmp143) ; tmp162 = atspre_iadd (1, tmp163) ; tmp161 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp161, atslab_0, tmp162) ; ats_selptrset_mac(anairiats_sum_5, tmp161, atslab_1, tmp138) ; ats_selptrset_mac(anairiats_sum_5, tmp161, atslab_2, tmp153) ; ats_selptrset_mac(anairiats_sum_5, tmp161, atslab_3, tmp140) ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_1, tmp151) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_2, tmp158) ; ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_3, tmp161) ; } /* end of [if] */ return (tmp137) ; } /* end of [avltree_lrotate_03993_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_34 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; ATSlocal (s2Var, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_int_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_bool_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_bool_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_int_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab_insert_34: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_2_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp87 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp89 = compare_elt_elt_03672_s2Var (env0, tmp86, env1) ; tmp90 = atspre_lt_int_int (tmp89, 0) ; if (tmp90) { tmp91 = insert_34 (env0, env1, tmp87, arg1) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp91 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_5, tmp91, atslab_0) ; tmp92 = tmp93 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (tmp91 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp92 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp88 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_5, tmp88, atslab_0) ; tmp94 = tmp95 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp88 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp94 = 0 ; break ; } while (0) ; tmp97 = atspre_isub (tmp92, tmp94) ; tmp96 = atspre_ilte (tmp97, 1) ; if (tmp96) { tmp99 = atspre_imax (tmp92, tmp94) ; tmp98 = atspre_iadd (1, tmp99) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_0, tmp98) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_1, tmp86) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_2, tmp91) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_3, tmp88) ; } else { tmp84 = avltree_rrotate_04010_s2Var (tmp86, tmp92, tmp91, tmp94, tmp88) ; } /* end of [if] */ } else { tmp127 = atspre_gt_int_int (tmp89, 0) ; if (tmp127) { tmp128 = insert_34 (env0, env1, tmp88, arg1) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (tmp87 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_5, tmp87, atslab_0) ; tmp129 = tmp130 ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (tmp87 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp129 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (tmp128 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_5, tmp128, atslab_0) ; tmp131 = tmp132 ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (tmp128 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp131 = 0 ; break ; } while (0) ; tmp134 = atspre_isub (tmp131, tmp129) ; tmp133 = atspre_ilte (tmp134, 1) ; if (tmp133) { tmp136 = atspre_imax (tmp129, tmp131) ; tmp135 = atspre_iadd (1, tmp136) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_0, tmp135) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_1, tmp86) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_2, tmp87) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_3, tmp128) ; } else { tmp84 = avltree_lrotate_03993_s2Var (tmp86, tmp129, tmp87, tmp131, tmp128) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_0, tmp85) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_2, tmp87) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_3, tmp88) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp164 = (ats_sum_ptr_type)0 ; tmp165 = (ats_sum_ptr_type)0 ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_2, tmp164) ; ats_selptrset_mac(anairiats_sum_5, tmp84, atslab_3, tmp165) ; break ; } while (0) ; return (tmp84) ; } /* end of [insert_34] */ typedef struct { ats_fun_ptr_type closure_fun ; s2Var closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_34_closure_type ; ats_ptr_type insert_34_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_34 (((insert_34_closure_type*)cloptr)->closure_env_0, ((insert_34_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_34_closure_init (insert_34_closure_type *p_clo, s2Var env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_34_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_34_closure_make (s2Var env0, ats_clo_ref_type env1) { insert_34_closure_type *p_clo = ATS_MALLOC(sizeof(insert_34_closure_type)) ; insert_34_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03682_s2Var (ats_ref_type arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_bool_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab_funset_insert_03682_s2Var: /* ats_bool_type tmp166 ; */ tmp167 = insert_34 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp166)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp167 ; tmp83 = tmp166 ; return (tmp83) ; } /* end of [funset_insert_03682_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 8905(line=374, offs=3) -- 9067(line=379, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_add: /* ats_ptr_type tmp81 ; */ tmp81 = ats_castfn_mac(ats_ptr_type, arg0) ; tmp82 = funset_insert_03682_s2Var ((&tmp81), ats_castfn_mac(s2Var, arg1), 0) ; tmp80 = ats_castfn_mac(ats_ptr_type, tmp81) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4143(line=153, offs=7) -- 4406(line=161, offs=20) */ ATSstaticdec() ats_bool_type aux_39 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp170) ; ATSlocal (s2Var, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; ATSlocal (ats_bool_type, tmp175) ; ATSlocal (ats_bool_type, tmp176) ; __ats_lab_aux_39: do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp171 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp174 = compare_elt_elt_03672_s2Var (env0, tmp171, env1) ; tmp175 = atspre_lt_int_int (tmp174, 0) ; if (tmp175) { arg0 = tmp172 ; goto __ats_lab_aux_39 ; // tail call } else { tmp176 = atspre_gt_int_int (tmp174, 0) ; if (tmp176) { arg0 = tmp173 ; goto __ats_lab_aux_39 ; // tail call } else { tmp170 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp170 = ats_false_bool ; break ; } while (0) ; return (tmp170) ; } /* end of [aux_39] */ typedef struct { ats_fun_ptr_type closure_fun ; s2Var closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_39_closure_type ; ats_bool_type aux_39_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_39 (((aux_39_closure_type*)cloptr)->closure_env_0, ((aux_39_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_39_closure_init (aux_39_closure_type *p_clo, s2Var env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_39_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_39_closure_make (s2Var env0, ats_clo_ref_type env1) { aux_39_closure_type *p_clo = ATS_MALLOC(sizeof(aux_39_closure_type)) ; aux_39_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4104(line=152, offs=3) -- 4426(line=163, offs=2) */ ATSstaticdec() ats_bool_type funset_is_member_03680_s2Var (ats_ptr_type arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp169) ; __ats_lab_funset_is_member_03680_s2Var: tmp169 = aux_39 (arg1, arg2, arg0) ; return (tmp169) ; } /* end of [funset_is_member_03680_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 9121(line=383, offs=3) -- 9253(line=387, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp168) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem: tmp168 = funset_is_member_03680_s2Var (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(s2Var, arg1), 0) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20241(line=721, offs=7) -- 20545(line=732, offs=18) */ ATSstaticdec() ats_ptr_type listize_42 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (s2Var, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab_listize_42: do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp181 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp184 = listize_42 (tmp183, arg1) ; tmp185 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_0, tmp181) ; ats_selptrset_mac(anairiats_sum_6, tmp185, atslab_1, tmp184) ; arg0 = tmp182 ; arg1 = tmp185 ; goto __ats_lab_listize_42 ; // tail call break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp180 = arg1 ; break ; } while (0) ; return (tmp180) ; } /* end of [listize_42] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 20189(line=719, offs=16) -- 20605(line=736, offs=4) */ ATSstaticdec() ats_ptr_type funset_listize_03697_s2Var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp186) ; __ats_lab_funset_listize_03697_s2Var: tmp186 = (ats_sum_ptr_type)0 ; tmp179 = listize_42 (arg0, tmp186) ; return (tmp179) ; } /* end of [funset_listize_03697_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 9313(line=390, offs=18) -- 9453(line=395, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_listize (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_listize: tmp178 = funset_listize_03697_s2Var (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp177 = ats_castfn_mac(ats_ptr_type, tmp178) ; return (tmp177) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_listize] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_03701_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; __ats_lab_linset_make_nil_03701_: tmp188 = (ats_sum_ptr_type)0 ; return (tmp188) ; } /* end of [linset_make_nil_03701_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 9531(line=400, offs=17) -- 9558(line=400, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil: tmp187 = linset_make_nil_03701_ () ; return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_04267_s2Var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_int_type, tmp204) ; __ats_lab_avltree_height_04267_s2Var: do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp204 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp203 = tmp204 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp203 = 0 ; break ; } while (0) ; return (tmp203) ; } /* end of [avltree_height_04267_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04321_s2Var (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_int_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_bool_type, tmp222) ; ATSlocal (ats_int_type, tmp223) ; ATSlocal (ats_int_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_int_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_int_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_int_type, tmp236) ; ATSlocal (ats_int_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab_avltree_rrotate_04321_s2Var: tmp214 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp214 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp215 = &ats_caselptrlab_mac(anairiats_sum_5, tmp214, atslab_0) ; tmp216 = &ats_caselptrlab_mac(anairiats_sum_5, tmp214, atslab_2) ; tmp217 = &ats_caselptrlab_mac(anairiats_sum_5, tmp214, atslab_3) ; tmp219 = ats_ptrget_mac(ats_ptr_type, tmp216) ; tmp218 = avltree_height_04267_s2Var (tmp219) ; tmp221 = ats_ptrget_mac(ats_ptr_type, tmp217) ; tmp220 = avltree_height_04267_s2Var (tmp221) ; tmp223 = atspre_iadd (tmp218, 0) ; tmp222 = atspre_igte (tmp223, tmp220) ; if (tmp222) { tmp224 = atspre_iadd (tmp220, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp224 ; tmp225 = ats_ptrget_mac(ats_ptr_type, tmp217) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp225 ; tmp227 = atspre_imax (tmp218, tmp224) ; tmp226 = atspre_iadd (1, tmp227) ; ats_ptrget_mac(ats_int_type, tmp215) = tmp226 ; ats_ptrget_mac(ats_ptr_type, tmp217) = arg5 ; tmp213 = tmp214 ; } else { tmp228 = ats_ptrget_mac(ats_ptr_type, tmp217) ; // if (tmp228 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp229 = &ats_caselptrlab_mac(anairiats_sum_5, tmp228, atslab_0) ; tmp230 = &ats_caselptrlab_mac(anairiats_sum_5, tmp228, atslab_2) ; tmp231 = &ats_caselptrlab_mac(anairiats_sum_5, tmp228, atslab_3) ; tmp233 = ats_ptrget_mac(ats_ptr_type, tmp230) ; tmp232 = avltree_height_04267_s2Var (tmp233) ; tmp235 = ats_ptrget_mac(ats_ptr_type, tmp231) ; tmp234 = avltree_height_04267_s2Var (tmp235) ; tmp237 = atspre_imax (tmp234, arg3) ; tmp236 = atspre_iadd (1, tmp237) ; ats_ptrget_mac(ats_int_type, arg0) = tmp236 ; tmp238 = ats_ptrget_mac(ats_ptr_type, tmp231) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp238 ; tmp240 = atspre_imax (tmp218, tmp232) ; tmp239 = atspre_iadd (1, tmp240) ; ats_ptrget_mac(ats_int_type, tmp215) = tmp239 ; tmp241 = ats_ptrget_mac(ats_ptr_type, tmp230) ; ats_ptrget_mac(ats_ptr_type, tmp217) = tmp241 ; ats_ptrget_mac(ats_int_type, tmp229) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp230) = tmp214 ; ats_ptrget_mac(ats_ptr_type, tmp231) = arg5 ; tmp213 = tmp228 ; } /* end of [if] */ return (tmp213) ; } /* end of [avltree_rrotate_04321_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04297_s2Var (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_int_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_bool_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_int_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; ATSlocal (ats_int_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_int_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_int_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab_avltree_lrotate_04297_s2Var: tmp254 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp254 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp255 = &ats_caselptrlab_mac(anairiats_sum_5, tmp254, atslab_0) ; tmp256 = &ats_caselptrlab_mac(anairiats_sum_5, tmp254, atslab_2) ; tmp257 = &ats_caselptrlab_mac(anairiats_sum_5, tmp254, atslab_3) ; tmp259 = ats_ptrget_mac(ats_ptr_type, tmp256) ; tmp258 = avltree_height_04267_s2Var (tmp259) ; tmp261 = ats_ptrget_mac(ats_ptr_type, tmp257) ; tmp260 = avltree_height_04267_s2Var (tmp261) ; tmp263 = atspre_iadd (tmp260, 0) ; tmp262 = atspre_ilte (tmp258, tmp263) ; if (tmp262) { tmp264 = atspre_iadd (tmp258, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp264 ; tmp265 = ats_ptrget_mac(ats_ptr_type, tmp256) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp265 ; tmp267 = atspre_imax (tmp264, tmp260) ; tmp266 = atspre_iadd (1, tmp267) ; ats_ptrget_mac(ats_int_type, tmp255) = tmp266 ; ats_ptrget_mac(ats_ptr_type, tmp256) = arg5 ; tmp253 = tmp254 ; } else { tmp268 = ats_ptrget_mac(ats_ptr_type, tmp256) ; // if (tmp268 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp269 = &ats_caselptrlab_mac(anairiats_sum_5, tmp268, atslab_0) ; tmp270 = &ats_caselptrlab_mac(anairiats_sum_5, tmp268, atslab_2) ; tmp271 = &ats_caselptrlab_mac(anairiats_sum_5, tmp268, atslab_3) ; tmp273 = ats_ptrget_mac(ats_ptr_type, tmp270) ; tmp272 = avltree_height_04267_s2Var (tmp273) ; tmp275 = ats_ptrget_mac(ats_ptr_type, tmp271) ; tmp274 = avltree_height_04267_s2Var (tmp275) ; tmp277 = atspre_imax (arg1, tmp272) ; tmp276 = atspre_iadd (1, tmp277) ; ats_ptrget_mac(ats_int_type, arg0) = tmp276 ; tmp278 = ats_ptrget_mac(ats_ptr_type, tmp270) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp278 ; tmp280 = atspre_imax (tmp274, tmp260) ; tmp279 = atspre_iadd (1, tmp280) ; ats_ptrget_mac(ats_int_type, tmp255) = tmp279 ; tmp281 = ats_ptrget_mac(ats_ptr_type, tmp271) ; ats_ptrget_mac(ats_ptr_type, tmp256) = tmp281 ; ats_ptrget_mac(ats_int_type, tmp269) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp270) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp271) = tmp254 ; tmp253 = tmp268 ; } /* end of [if] */ return (tmp253) ; } /* end of [avltree_lrotate_04297_s2Var] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_47 (ats_clo_ref_type env0, ats_ref_type arg0, s2Var arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (s2Var, tmp199) ; ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_bool_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_int_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_bool_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_bool_type, tmp243) ; ATSlocal (ats_int_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_bool_type, tmp248) ; ATSlocal (ats_int_type, tmp249) ; ATSlocal (ats_int_type, tmp250) ; ATSlocal (ats_int_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; __ats_lab_insert_47: do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_32_1: tmp194 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp195 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp196 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp197 = &ats_caselptrlab_mac(anairiats_sum_5, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp199 = ats_ptrget_mac(s2Var, tmp195) ; tmp198 = compare_elt_elt_03700_s2Var (arg1, tmp199, env0) ; tmp200 = atspre_lt_int_int (tmp198, 0) ; if (tmp200) { tmp201 = insert_47 (env0, tmp196, arg1) ; tmp205 = ats_ptrget_mac(ats_ptr_type, tmp196) ; tmp202 = avltree_height_04267_s2Var (tmp205) ; tmp207 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp206 = avltree_height_04267_s2Var (tmp207) ; tmp209 = atspre_isub (tmp202, tmp206) ; tmp208 = atspre_ilte (tmp209, 1) ; if (tmp208) { tmp211 = atspre_imax (tmp202, tmp206) ; tmp210 = atspre_iadd (1, tmp211) ; ats_ptrget_mac(ats_int_type, tmp194) = tmp210 ; tmp193 = tmp201 ; } else { tmp212 = avltree_rrotate_04321_s2Var (tmp194, tmp202, tmp196, tmp206, tmp197, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp212 ; tmp193 = tmp201 ; } /* end of [if] */ } else { tmp242 = atspre_gt_int_int (tmp198, 0) ; if (tmp242) { tmp243 = insert_47 (env0, tmp197, arg1) ; tmp245 = ats_ptrget_mac(ats_ptr_type, tmp196) ; tmp244 = avltree_height_04267_s2Var (tmp245) ; tmp247 = ats_ptrget_mac(ats_ptr_type, tmp197) ; tmp246 = avltree_height_04267_s2Var (tmp247) ; tmp249 = atspre_isub (tmp246, tmp244) ; tmp248 = atspre_ilte (tmp249, 1) ; if (tmp248) { tmp251 = atspre_imax (tmp244, tmp246) ; tmp250 = atspre_iadd (1, tmp251) ; ats_ptrget_mac(ats_int_type, tmp194) = tmp250 ; tmp193 = tmp243 ; } else { tmp252 = avltree_lrotate_04297_s2Var (tmp194, tmp244, tmp196, tmp246, tmp197, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp252 ; tmp193 = tmp243 ; } /* end of [if] */ } else { tmp193 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp283 = (ats_sum_ptr_type)0 ; tmp284 = (ats_sum_ptr_type)0 ; tmp282 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ats_selptrset_mac(anairiats_sum_5, tmp282, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_5, tmp282, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_5, tmp282, atslab_2, tmp283) ; ats_selptrset_mac(anairiats_sum_5, tmp282, atslab_3, tmp284) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp282 ; tmp193 = ats_false_bool ; break ; } while (0) ; return (tmp193) ; } /* end of [insert_47] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_47_closure_type ; ats_bool_type insert_47_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, s2Var arg1) { return insert_47 (((insert_47_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_47_closure_init (insert_47_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_47_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_47_closure_make (ats_clo_ref_type env0) { insert_47_closure_type *p_clo = ATS_MALLOC(sizeof(insert_47_closure_type)) ; insert_47_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_03710_s2Var (ats_ref_type arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp192) ; __ats_lab_linset_insert_03710_s2Var: tmp192 = insert_47 (arg2, arg0, arg1) ; return (tmp192) ; } /* end of [linset_insert_03710_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 9588(line=404, offs=3) -- 9756(line=409, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_bool_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add: /* ats_ptr_type tmp190 ; */ tmp190 = ats_castfn_mac(ats_ptr_type, arg0) ; tmp191 = linset_insert_03710_s2Var ((&tmp190), ats_castfn_mac(s2Var, arg1), 0) ; tmp189 = ats_castfn_mac(ats_ptr_type, tmp190) ; return (tmp189) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3861(line=149, offs=7) -- 4231(line=160, offs=33) */ ATSstaticdec() ats_bool_type aux_53 (s2Var env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp287) ; ATSlocal (s2Var, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_int_type, tmp291) ; ATSlocal (ats_bool_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_bool_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab_aux_53: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp288 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp289 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp290 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; tmp291 = compare_elt_elt_03700_s2Var (env0, tmp288, env1) ; tmp292 = atspre_lt_int_int (tmp291, 0) ; if (tmp292) { tmp293 = ats_ptrget_mac(ats_ptr_type, tmp289) ; arg0 = tmp293 ; goto __ats_lab_aux_53 ; // tail call } else { tmp294 = atspre_gt_int_int (tmp291, 0) ; if (tmp294) { tmp295 = ats_ptrget_mac(ats_ptr_type, tmp290) ; arg0 = tmp295 ; goto __ats_lab_aux_53 ; // tail call } else { tmp287 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp287 = ats_false_bool ; break ; } while (0) ; return (tmp287) ; } /* end of [aux_53] */ typedef struct { ats_fun_ptr_type closure_fun ; s2Var closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_53_closure_type ; ats_bool_type aux_53_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_53 (((aux_53_closure_type*)cloptr)->closure_env_0, ((aux_53_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_53_closure_init (aux_53_closure_type *p_clo, s2Var env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_53_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_53_closure_make (s2Var env0, ats_clo_ref_type env1) { aux_53_closure_type *p_clo = ATS_MALLOC(sizeof(aux_53_closure_type)) ; aux_53_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3822(line=148, offs=3) -- 4251(line=162, offs=2) */ ATSstaticdec() ats_bool_type linset_is_member_03706_s2Var (ats_ptr_type arg0, s2Var arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp286) ; __ats_lab_linset_is_member_03706_s2Var: tmp286 = aux_53 (arg1, arg2, arg0) ; return (tmp286) ; } /* end of [linset_is_member_03706_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 9816(line=413, offs=3) -- 10004(line=419, offs=2) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_ismem: tmp285 = linset_is_member_03706_s2Var (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(s2Var, arg1), 0) ; return (tmp285) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4427(line=171, offs=7) -- 4555(line=175, offs=18) */ ATSstaticdec() ats_void_type aux_56 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; // ATSlocal_void (tmp301) ; __ats_lab_aux_56: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp299 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp300 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; ATS_FREE(arg0) ; /* tmp301 = */ aux_56 (tmp299) ; arg0 = tmp300 ; goto __ats_lab_aux_56 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: break ; } while (0) ; return /* (tmp298) */ ; } /* end of [aux_56] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 4410(line=170, offs=13) -- 4591(line=179, offs=4) */ ATSstaticdec() ats_void_type linset_free_03708_s2Var (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp297) ; __ats_lab_linset_free_03708_s2Var: /* tmp297 = */ aux_56 (arg0) ; return /* (tmp297) */ ; } /* end of [linset_free_03708_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10062(line=422, offs=17) -- 10114(line=423, offs=46) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp296) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_free: /* tmp296 = */ linset_free_03708_s2Var (ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp296) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_free] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_59 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (s2Var, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; __ats_lab_aux_59: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp307 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_2) ; tmp308 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp309 = aux_59 (tmp308, arg1) ; tmp310 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp310, atslab_0, tmp306) ; ats_selptrset_mac(anairiats_sum_6, tmp310, atslab_1, tmp309) ; arg0 = tmp307 ; arg1 = tmp310 ; goto __ats_lab_aux_59 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: tmp305 = arg1 ; break ; } while (0) ; return (tmp305) ; } /* end of [aux_59] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_03726_s2Var (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab_linset_listize_free_03726_s2Var: tmp311 = (ats_sum_ptr_type)0 ; tmp304 = aux_59 (arg0, tmp311) ; return (tmp304) ; } /* end of [linset_listize_free_03726_s2Var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10155(line=427, offs=3) -- 10303(line=432, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_listize_free: tmp303 = linset_listize_free_03726_s2Var (ats_castfn_mac(ats_ptr_type, arg0)) ; tmp302 = ats_castfn_mac(ats_ptr_type, tmp303) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_vt_listize_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10411(line=439, offs=16) -- 10450(line=439, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp312) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varlst: /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst (stdout, arg0) ; return /* (tmp312) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10476(line=441, offs=16) -- 10515(line=441, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp313) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varlst: /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst (stderr, arg0) ; return /* (tmp313) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_64 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; ATSlocal (ats_bool_type, tmp320) ; // ATSlocal_void (tmp321) ; ATSlocal (ats_int_type, tmp322) ; __ats_lab_aux_64: do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp318 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp320 = atspre_gt_int_int (arg1, 0) ; if (tmp320) { /* tmp319 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp321 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp317) ; tmp322 = atspre_add_int_int (arg1, 1) ; arg0 = tmp318 ; arg1 = tmp322 ; goto __ats_lab_aux_64 ; // tail call break ; } while (0) ; return /* (tmp316) */ ; } /* end of [aux_64] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_64_closure_type ; ats_void_type aux_64_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_64 (((aux_64_closure_type*)cloptr)->closure_env_0, ((aux_64_closure_type*)cloptr)->closure_env_1, ((aux_64_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_64_closure_init (aux_64_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_64_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_64_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_64_closure_type *p_clo = ATS_MALLOC(sizeof(aux_64_closure_type)) ; aux_64_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp315) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp315 = */ aux_64 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp315) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10545(line=445, offs=3) -- 10600(line=445, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst: /* tmp314 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) ; return /* (tmp314) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10676(line=451, offs=16) -- 10715(line=451, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varset (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varset: /* tmp323 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset (stdout, arg0) ; return /* (tmp323) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2Varset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10741(line=453, offs=16) -- 10780(line=453, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varset (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp324) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varset: /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset (stderr, arg0) ; return /* (tmp324) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2Varset] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_69 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; __ats_lab_loop_69: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp332 ; goto __ats_lab_loop_69 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: break ; } while (0) ; return /* (tmp331) */ ; } /* end of [loop_69] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp330) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp330 = */ loop_69 (arg0) ; return /* (tmp330) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_svvar.dats: 10810(line=457, offs=3) -- 11022(line=463, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; // ATSlocal_void (tmp327) ; // ATSlocal_void (tmp328) ; // ATSlocal_void (tmp329) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset: tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Varset_listize (arg1) ; /* tmp327 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varlst (arg0, ats_castfn_mac(ats_ptr_type, tmp326)) ; /* tmp329 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; /* tmp325 = */ list_vt_free_01499_ats_ptr_type (tmp326) ; return /* (tmp325) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Varset] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_svvar_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp0, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_counter_2esats__counter_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_svvar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_dynexp_dats.c0000664000175000017500000062757012655455557021654 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_7 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BACKSLASH_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BANG_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOT_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTINT_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQ_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLT_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQLTGT_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LT_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GT_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_GTLT_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_MINUSGT_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BEGIN_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FIX_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOR_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LAM_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LET_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHERE_83) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_WHILE_84) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ADDRAT_88) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FOLDAT_89) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FREEAT_90) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VIEWAT_91) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRDELAY_92) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRARRPSZ_93) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_95) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREFFMASK_ARG_96) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTVAL_101) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTFCALL_102) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLREXTMCALL_103) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLITERAL_104) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFILENAME_105) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYLOCATION_106) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRMYFUNCTION_107) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRBREAK_111) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRCONTINUE_112) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRRAISE_113) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSHOWTYPE_114) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRVCOPYENV_115) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTEMPENVER_116) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLASSERT_117) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRSOLVERIFY_118) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_arr_141) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_tmp_142) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_SEMICOLON_152) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_ATLBRACKET_161) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_QUOTELBRACKET_162) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_HASHLBRACKET_163) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_BQUOTELPAREN_166) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COMMALPAREN_167) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_PERCENTLPAREN_168) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_di0de_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_dqi0de_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_arrqi0de_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_tmpqi0de_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_funarrow_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp_78) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp0_79) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp1_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmd0exp_81) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labd0exp_82) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTLT) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdot) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symcolon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdotcolon) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_dot) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_minusgt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loopi0nv_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_opid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_idext) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_c0har) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_s0tring) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_f0loat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFIL) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYLOC) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFUN) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_literal) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_foldat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_freeat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_let_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_declseq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_where) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_casehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_scasehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst_quote) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrsub) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ptrof) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_viewat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_lab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_int) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_raise) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask_arg) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_showtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_vcopyenv) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tempenver) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sexparg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ann) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lam) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_fix) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_delay) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_trywith_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solassert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solverify) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_decode) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_encode_seq) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_cross) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labd0exp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_sing) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_cons) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__initestpost_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__ifhead_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sifhead_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__casehead_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__scasehead_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__tryhead_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ELSE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_FORSTAR) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHILESTAR) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p1list12_fun) (ats_ptr_type, ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0dext) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labd0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_arrqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sc0lauseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__p_d0exp_tok) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type d0exp_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type d0exp_list12_if_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4) ; static ats_ptr_type d0exp_tup12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type d0exp_rec12_7 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_d0expseq_BAR_d0expseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p1_d0expseq_BAR_d0expseq_9 (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2, ats_ref_type arg3) ; static ats_ptr_type p_labd0expseq_BAR_labd0expseq_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type pqi0de_fun_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type p_arri0de_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_tmpi0de_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_23 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_s0expelt_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_arrdimopt_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_d0arrind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0elop_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_s0expdarg_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_atmd0exp_29 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_atmd0exp_tok_30 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_argd0exp_31 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_d0exp0_32 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_d0exp1_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvarg_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvargseq_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvqua_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvresqua_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvmet_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvargstate_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvresstate_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_i0nvresstateopt_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_loopi0nv_44 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_funarrow_45 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type pstar_where_46 (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2, ats_ref_type arg3) ; static ats_ptr_type ptokhead_fun_47 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ; static ats_ptr_type p_ifhead_48 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_sifhead_49 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_casehead_50 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_scasehead_51 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_forhead_52 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_whilehead_53 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_tryhead_54 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_initestpost_55 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_loop_2: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp8 = ats_ptrget_mac(ats_ptr_type, tmp7) ; tmp9 = atspre_iadd (arg1, 1) ; arg0 = tmp8 ; arg1 = tmp9 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp6 = arg1 ; break ; } while (0) ; return (tmp6) ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp5 = loop_2 (arg0, 0) ; return (tmp5) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_loop_4: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp14 ; arg1 = arg1 ; goto __ats_lab_loop_4 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp13) */ ; } /* end of [loop_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp15) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp12 ; */ tmp12 = arg0 ; /* tmp15 = */ loop_4 ((&tmp12), arg1) ; tmp11 = tmp12 ; return (tmp11) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 1842(line=63, offs=1) -- 2177(line=77, offs=8) */ ATSstaticdec() ats_ptr_type d0exp_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_d0exp_list12_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; ATS_FREE(arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list (arg0, -1, ats_castfn_mac(ats_ptr_type, tmp1), arg2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp4 = list_vt_length_01501_ats_ptr_type (tmp2) ; tmp10 = list_vt_append_01504_ats_ptr_type (tmp2, tmp3) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_list (arg0, tmp4, ats_castfn_mac(ats_ptr_type, tmp10), arg2) ; break ; } while (0) ; return (tmp0) ; } /* end of [d0exp_list12_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 2254(line=83, offs=1) -- 2480(line=94, offs=6) */ ATSstaticdec() ats_ptr_type d0exp_list12_if_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_bool_type, tmp17) ; // ATSlocal_void (tmp18) ; __ats_lab_d0exp_list12_if_5: tmp17 = atspre_eq_int_int (arg3, arg4) ; if (tmp17) { tmp16 = d0exp_list12_0 (arg0, arg1, arg2) ; } else { /* tmp18 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (arg1) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp16) ; } /* end of [d0exp_list12_if_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 2553(line=100, offs=1) -- 2930(line=119, offs=4) */ ATSstaticdec() ats_ptr_type d0exp_tup12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab_d0exp_tup12_6: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp20 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp20), arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp22 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp23 = list_vt_length_01501_ats_ptr_type (tmp21) ; tmp24 = list_vt_append_01504_ats_ptr_type (tmp21, tmp22) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tup (arg0, arg1, tmp23, ats_castfn_mac(ats_ptr_type, tmp24), arg3) ; break ; } while (0) ; return (tmp19) ; } /* end of [d0exp_tup12_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 2981(line=124, offs=1) -- 3334(line=141, offs=4) */ ATSstaticdec() ats_ptr_type d0exp_rec12_7 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab_d0exp_rec12_7: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp26), arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp27 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp29 = list_vt_length_01501_ats_ptr_type (tmp27) ; tmp30 = list_vt_append_01504_ats_ptr_type (tmp27, tmp28) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_rec (arg0, arg1, tmp29, ats_castfn_mac(ats_ptr_type, tmp30), arg3) ; break ; } while (0) ; return (tmp25) ; } /* end of [d0exp_rec12_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 3385(line=146, offs=1) -- 3495(line=150, offs=33) */ ATSstaticdec() ats_ptr_type p_d0expseq_BAR_d0expseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_p_d0expseq_BAR_d0expseq_8: tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; return (tmp31) ; } /* end of [p_d0expseq_BAR_d0expseq_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 3537(line=154, offs=1) -- 3667(line=159, offs=39) */ ATSstaticdec() ats_ptr_type p1_d0expseq_BAR_d0expseq_9 (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_p1_d0expseq_BAR_d0expseq_9: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p1list12_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; return (tmp32) ; } /* end of [p1_d0expseq_BAR_d0expseq_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 3731(line=165, offs=1) -- 3893(line=171, offs=4) */ ATSstaticdec() ats_ptr_type p_labd0expseq_BAR_labd0expseq_10 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; __ats_lab_p_labd0expseq_BAR_labd0expseq_10: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test (arg0) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labd0exp) ; return (tmp33) ; } /* end of [p_labd0expseq_BAR_labd0expseq_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 4092(line=190, offs=3) -- 5214(line=236, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_int_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp36), atslab_token_loc) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp36), atslab_token_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp38)->tag != 139) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp39 = ats_caselptrlab_mac(anairiats_sum_1, tmp38, atslab_0) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp37, tmp39) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp38)->tag != 140) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_1, tmp38, atslab_0) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp37, tmp41) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp38)->tag != 21) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp38)->tag != 22) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp38)->tag != 2) { goto __ats_lab_15_0 ; } __ats_lab_14_1: /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp38)->tag != 3) { goto __ats_lab_16_0 ; } __ats_lab_15_1: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp38)->tag != 13) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp38)->tag != 30) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp38)->tag != 23) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_sym (tmp37, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTLT) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp50 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp50 ; tmp52 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_di0de_46) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp37, tmp52) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 5431(line=251, offs=8) -- 6728(line=313, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_uint_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; // ATSlocal_void (tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq: tmp54 = ats_ptrget_mac(ats_int_type, arg2) ; tmp55 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp56 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp57 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp56), atslab_token_loc) ; /* ats_ptr_type tmp58 ; */ do { /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr, (&tmp58)) ; if (!tmp59) { goto __ats_lab_24_1 ; } tmp60 = ats_castfn_mac(ats_ptr_type, tmp58) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp62 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp61), atslab_token_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp62)->tag != 9) { goto __ats_lab_22_0 ; } __ats_lab_21_1: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdot (tmp60, tmp61) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp62)->tag != 6) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symcolon (tmp60, tmp61) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0de_dlr (arg0, 0, arg2) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp54) ; tmp67 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp54) ; if (tmp67) { tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0ynq_symdotcolon (tmp60, tmp65, tmp66) ; } else { tmp69 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp57, tmp69) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp55) ; } /* end of [if] */ break ; } while (0) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp70 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp70 ; tmp72 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0ynq_50) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp57, tmp72) ; tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 6775(line=318, offs=1) -- 7595(line=362, offs=4) */ ATSstaticdec() ats_ptr_type pqi0de_fun_13 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_int_type, tmp74) ; ATSlocal (ats_uint_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; // ATSlocal_void (tmp85) ; __ats_lab_pqi0de_fun_13: tmp74 = ats_ptrget_mac(ats_int_type, arg2) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp77 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp76), atslab_token_loc) ; /* ats_ptr_type tmp78 ; */ do { /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, arg3, (&tmp78)) ; if (!tmp79) { goto __ats_lab_26_1 ; } tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_none (ats_castfn_mac(ats_ptr_type, tmp78)) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq, (&tmp78)) ; if (!tmp80) { goto __ats_lab_27_1 ; } tmp81 = ats_castfn_mac(ats_ptr_type, tmp78) ; tmp82 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg3) (arg0, arg1, arg2) ; tmp83 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp74) ; if (tmp83) { tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__dqi0de_make_some (tmp81, tmp82) ; } else { tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp75) ; } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp84 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp84 ; /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp77, arg4) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp73) ; } /* end of [pqi0de_fun_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 7676(line=368, offs=10) -- 7740(line=369, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de: tmp87 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_dqi0de_51) ; tmp86 = pqi0de_fun_13 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de, tmp87) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 7788(line=375, offs=1) -- 8097(line=390, offs=4) */ ATSstaticdec() ats_ptr_type p_arri0de_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; __ats_lab_p_arri0de_15: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_token_node) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp90)->tag != 141) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp91 = ats_caselptrlab_mac(anairiats_sum_1, tmp90, atslab_0) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp89), atslab_token_loc) ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp93, tmp91) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp94 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp94 ; tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp88) ; } /* end of [p_arri0de_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 8142(line=393, offs=12) -- 8210(line=394, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_arrqi0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_arrqi0de: tmp96 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_arrqi0de_52) ; tmp95 = pqi0de_fun_13 (arg0, arg1, arg2, &p_arri0de_15, tmp96) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_arrqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 8260(line=400, offs=1) -- 8569(line=415, offs=4) */ ATSstaticdec() ats_ptr_type p_tmpi0de_17 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_int_type, tmp103) ; __ats_lab_p_tmpi0de_17: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp98), atslab_token_node) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp99)->tag != 142) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, tmp99, atslab_0) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp98), atslab_token_loc) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp102, tmp100) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp103 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp103 ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp97) ; } /* end of [p_tmpi0de_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 8614(line=418, offs=12) -- 8682(line=419, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de: tmp105 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_tmpqi0de_53) ; tmp104 = pqi0de_fun_13 (arg0, arg1, arg2, &p_tmpi0de_17, tmp105) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 8782(line=429, offs=1) -- 9174(line=447, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labd0exp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labd0exp: tmp107 = ats_ptrget_mac(ats_int_type, arg2) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp109 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; // tmp110 = ats_caselptrlab_mac(anairiats_sum_5, tmp109, atslab_0) ; tmp111 = ats_caselptrlab_mac(anairiats_sum_5, tmp109, atslab_2) ; ATS_FREE(tmp109) ; tmp112 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp107) ; if (tmp112) { tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labd0exp_make (tmp110, tmp111) ; } else { tmp114 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp108), atslab_token_loc) ; tmp115 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labd0exp_82) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp114, tmp115) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labd0exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 9278(line=456, offs=3) -- 9338(line=457, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqd0expopt (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqd0expopt: tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp116 = ats_castfn_mac(ats_ptr_type, tmp117) ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_eqd0expopt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_23 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_loop_23: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp131 ; goto __ats_lab_loop_23 ; // tail call break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: break ; } while (0) ; return /* (tmp130) */ ; } /* end of [loop_23] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp129) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp129 = */ loop_23 (arg0) ; return /* (tmp129) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 9491(line=469, offs=3) -- 10068(line=500, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; // ATSlocal_void (tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq: tmp119 = ats_ptrget_mac(ats_int_type, arg2) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (arg0, 1, arg2) ; tmp121 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp119) ; if (tmp121) { tmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp122), atslab_token_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp123)->tag != 152) { goto __ats_lab_33_0 ; } __ats_lab_32_1: /* tmp124 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (arg0, 1, arg2) ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_1, tmp125) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp126 = (ats_sum_ptr_type)0 ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_3, tmp118, atslab_1, tmp126) ; break ; } while (0) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp119 ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON) ; /* tmp128 = */ list_vt_free_01499_ats_ptr_type (tmp127) ; tmp118 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp118) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 10202(line=511, offs=1) -- 11018(line=543, offs=4) */ ATSstaticdec() ats_ptr_type p_s0expelt_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_uint_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; // ATSlocal_void (tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; __ats_lab_p_s0expelt_24: tmp133 = ats_ptrget_mac(ats_int_type, arg2) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp135), atslab_token_node) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp136)->tag != 157) { goto __ats_lab_37_0 ; } __ats_lab_36_1: /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp133) ; tmp140 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp133) ; if (tmp140) { tmp132 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp132, atslab_0, tmp138) ; } else { tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp134) ; } /* end of [if] */ break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp136)->tag != 155) { goto __ats_lab_38_0 ; } __ats_lab_37_1: /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET, tmp133) ; tmp144 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp133) ; if (tmp144) { tmp132 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp132, atslab_0, tmp142) ; } else { tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp134) ; } /* end of [if] */ break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp132 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp132) ; } /* end of [p_s0expelt_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 11124(line=551, offs=1) -- 11449(line=562, offs=4) */ ATSstaticdec() ats_ptr_type p_arrdimopt_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_bool_type, tmp149) ; __ats_lab_p_arrdimopt_25: tmp146 = ats_ptrget_mac(ats_int_type, arg2) ; tmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) ; // tmp148 = ats_caselptrlab_mac(anairiats_sum_5, tmp147, atslab_1) ; ATS_FREE(tmp147) ; tmp149 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp146) ; if (tmp149) { tmp145 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp145, atslab_0, tmp148) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp146 ; tmp145 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp145) ; } /* end of [p_arrdimopt_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 11562(line=570, offs=1) -- 12367(line=602, offs=4) */ ATSstaticdec() ats_ptr_type p_d0arrind_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_uint_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; // ATSlocal_void (tmp161) ; // ATSlocal_void (tmp162) ; __ats_lab_p_d0arrind_26: tmp151 = ats_ptrget_mac(ats_int_type, arg2) ; tmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, arg1, arg2) ; tmp155 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp151) ; if (tmp155) { tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp156), atslab_token_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp157)->tag != 155) { goto __ats_lab_40_0 ; } __ats_lab_39_1: /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp159 = p_d0arrind_26 (arg0, 0, arg2) ; tmp160 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp151) ; if (tmp160) { tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_cons (ats_castfn_mac(ats_ptr_type, tmp153), tmp159) ; } else { /* tmp161 = */ list_vt_free_01499_ats_ptr_type (tmp153) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp152) ; } /* end of [if] */ break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0arrind_sing (ats_castfn_mac(ats_ptr_type, tmp153), tmp154) ; break ; } while (0) ; } else { /* tmp162 = */ list_vt_free_01499_ats_ptr_type (tmp153) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp152) ; } /* end of [if] */ return (tmp150) ; } /* end of [p_d0arrind_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 12448(line=610, offs=1) -- 12838(line=629, offs=4) */ ATSstaticdec() ats_ptr_type p_s0elop_27 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; // ATSlocal_void (tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_int_type, tmp168) ; __ats_lab_p_s0elop_27: tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp165 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp164), atslab_token_node) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp165)->tag != 9) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp166 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_dot (tmp164) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp165)->tag != 27) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp167 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0elop_make_minusgt (tmp164) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: __ats_lab_43_1: tmp168 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp168 ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp163) ; } /* end of [p_s0elop_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 12929(line=637, offs=1) -- 13300(line=649, offs=4) */ ATSstaticdec() ats_ptr_type p_s0expdarg_28 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_bool_type, tmp175) ; __ats_lab_p_s0expdarg_28: tmp170 = ats_ptrget_mac(ats_int_type, arg2) ; tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) ; // tmp172 = ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_0) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_1) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_5, tmp171, atslab_2) ; ATS_FREE(tmp171) ; tmp175 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp170) ; if (tmp175) { tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sexparg (tmp172, tmp173, tmp174) ; } else { tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp169) ; } /* end of [p_s0expdarg_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 14446(line=702, offs=1) -- 14572(line=708, offs=2) */ ATSstaticdec() ats_ptr_type p_atmd0exp_29 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab_p_atmd0exp_29: tmp177 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmd0exp_81) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_atmd0exp_tok_30, tmp177) ; return (tmp176) ; } /* end of [p_atmd0exp_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 14604(line=711, offs=1) -- 28620(line=1242, offs=4) */ ATSstaticdec() ats_ptr_type p_atmd0exp_tok_30 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_bool_type, tmp182) ; ATSlocal (ats_bool_type, tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_bool_type, tmp191) ; // ATSlocal_void (tmp192) ; // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp194) ; // ATSlocal_void (tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_bool_type, tmp199) ; ATSlocal (ats_bool_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_bool_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; // ATSlocal_void (tmp210) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; // ATSlocal_void (tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; // ATSlocal_void (tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_bool_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_bool_type, tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_bool_type, tmp229) ; // ATSlocal_void (tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_bool_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; // ATSlocal_void (tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_bool_type, tmp250) ; // ATSlocal_void (tmp251) ; // ATSlocal_void (tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_bool_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_bool_type, tmp266) ; // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_bool_type, tmp270) ; ATSlocal (ats_int_type, tmp271) ; ATSlocal (ats_bool_type, tmp272) ; // ATSlocal_void (tmp273) ; ATSlocal (ats_bool_type, tmp274) ; // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_bool_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_bool_type, tmp280) ; // ATSlocal_void (tmp281) ; // ATSlocal_void (tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_bool_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_bool_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_bool_type, tmp291) ; // ATSlocal_void (tmp292) ; // ATSlocal_void (tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_bool_type, tmp298) ; // ATSlocal_void (tmp299) ; ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_bool_type, tmp302) ; // ATSlocal_void (tmp303) ; ATSlocal (ats_bool_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_bool_type, tmp307) ; // ATSlocal_void (tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_bool_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; ATSlocal (ats_bool_type, tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_int_type, tmp316) ; // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_bool_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_bool_type, tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_int_type, tmp325) ; // ATSlocal_void (tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_bool_type, tmp330) ; // ATSlocal_void (tmp331) ; ATSlocal (ats_int_type, tmp332) ; // ATSlocal_void (tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_bool_type, tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_bool_type, tmp342) ; // ATSlocal_void (tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_bool_type, tmp348) ; // ATSlocal_void (tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_bool_type, tmp352) ; // ATSlocal_void (tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_bool_type, tmp356) ; // ATSlocal_void (tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_bool_type, tmp360) ; // ATSlocal_void (tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_bool_type, tmp364) ; ATSlocal (ats_int_type, tmp365) ; __ats_lab_p_atmd0exp_tok_30: tmp179 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp180 ; */ tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_node) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de, (&tmp180)) ; if (!tmp182) { goto __ats_lab_45_1 ; } tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ide (ats_castfn_mac(ats_ptr_type, tmp180)) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_i0dext, (&tmp180)) ; if (!tmp183) { goto __ats_lab_46_0 ; } tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_idext (ats_castfn_mac(ats_ptr_type, tmp180)) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp181)->tag != 146) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_i0nt (arg3) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp181)->tag != 147) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_c0har (arg3) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp181)->tag != 148) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp186 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_f0loat (arg3) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp181)->tag != 150) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_s0tring (arg3) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp181)->tag != 64) { goto __ats_lab_51_0 ; } __ats_lab_50_1: /* tmp188 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, 0, arg2) ; tmp190 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp190) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_opid (arg3, tmp189) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_dqi0de, (&tmp180)) ; if (!tmp191) { goto __ats_lab_52_0 ; } tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_dqid (ats_castfn_mac(ats_ptr_type, tmp180)) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp181)->tag != 105) { goto __ats_lab_53_0 ; } __ats_lab_52_1: /* tmp192 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFIL (arg3) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp181)->tag != 106) { goto __ats_lab_54_0 ; } __ats_lab_53_1: /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYLOC (arg3) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp181)->tag != 107) { goto __ats_lab_55_0 ; } __ats_lab_54_1: /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_MYFUN (arg3) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp181)->tag != 104) { goto __ats_lab_56_0 ; } __ats_lab_55_1: /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, arg1, arg2) ; tmp197 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp179) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp199 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp199) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_literal (arg3, tmp197, tmp198) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: __ats_lab_56_1: tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_s0elop_27, (&tmp180)) ; if (!tmp200) { goto __ats_lab_60_0 ; } tmp201 = ats_castfn_mac(ats_ptr_type, tmp180) ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp202), atslab_token_node) ; do { /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp203)->tag != 155) { goto __ats_lab_58_0 ; } __ats_lab_57_1: /* tmp204 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp205 = p_d0arrind_26 (arg0, 0, arg2) ; tmp206 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp206) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_ind (tmp201, tmp205) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab, (&tmp180)) ; if (!tmp207) { goto __ats_lab_59_1 ; } tmp208 = ats_castfn_mac(ats_ptr_type, tmp180) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_lab (tmp201, tmp208) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: __ats_lab_59_1: tmp209 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp209 ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp181)->tag != 12) { goto __ats_lab_61_0 ; } __ats_lab_60_1: /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sel_int (arg3) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp181)->tag != 88) { goto __ats_lab_62_0 ; } __ats_lab_61_1: /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ptrof (arg3) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp181)->tag != 91) { goto __ats_lab_63_0 ; } __ats_lab_62_1: /* tmp212 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_viewat (arg3) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp181)->tag != 89) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &p_s0expdarg_28) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_foldat (arg3, ats_castfn_mac(ats_ptr_type, tmp214)) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp181)->tag != 90) { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp215 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &p_s0expdarg_28) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_freeat (arg3, ats_castfn_mac(ats_ptr_type, tmp216)) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: __ats_lab_65_1: tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmpqi0de, (&tmp180)) ; if (!tmp217) { goto __ats_lab_66_0 ; } tmp218 = ats_castfn_mac(ats_ptr_type, tmp180) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_sep (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_tmps0expseq, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTLT_test) ; tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT, tmp179) ; tmp221 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp221) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tmpid (tmp218, ats_castfn_mac(ats_ptr_type, tmp219), tmp220) ; } else { /* tmp222 = */ list_vt_free_01499_ats_ptr_type (tmp219) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp181)->tag != 101) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp179) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA, tmp179) ; tmp227 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, tmp179) ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp229 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp229) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extval (arg3, tmp225, tmp227, tmp228) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp181)->tag != 102) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp179) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA, tmp179) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, tmp179) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp238 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp238) { tmp237 = ats_true_bool ; } else { tmp237 = ats_false_bool ; } /* end of [if] */ if (tmp237) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extfcall (arg3, tmp232, tmp234, ats_castfn_mac(ats_ptr_type, tmp235), tmp236) ; } else { /* tmp239 = */ list_vt_free_01499_ats_ptr_type (tmp235) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp181)->tag != 103) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp241 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp179) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA, tmp179) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp179) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA, tmp179) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0tring, tmp179) ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_COMMA_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp250 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp250) { tmp249 = ats_true_bool ; } else { tmp249 = ats_false_bool ; } /* end of [if] */ if (tmp249) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_extmcall (arg3, tmp242, tmp244, tmp246, ats_castfn_mac(ats_ptr_type, tmp247), tmp248) ; } else { /* tmp251 = */ list_vt_free_01499_ats_ptr_type (tmp247) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp181)->tag != 153) { goto __ats_lab_72_0 ; } __ats_lab_69_1: /* tmp252 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (arg0, 1, arg2) ; tmp254 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp254) { tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp255), atslab_token_node) ; do { /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp256)->tag != 152) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (arg0, 0, arg2) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp260 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp260) { tmp261 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp261, atslab_0, tmp253) ; ats_selptrset_mac(anairiats_sum_3, tmp261, atslab_1, tmp258) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg3, tmp261, tmp259) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: tmp262 = p1_d0expseq_BAR_d0expseq_9 (tmp253, arg0, 0, arg2) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp178 = d0exp_list12_if_5 (arg3, tmp262, tmp263, ats_ptrget_mac(ats_int_type, arg2), tmp179) ; break ; } while (0) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp179 ; tmp264 = p_d0expseq_BAR_d0expseq_8 (arg0, 0, arg2) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp178 = d0exp_list12_if_5 (arg3, tmp264, tmp265, ats_ptrget_mac(ats_int_type, arg2), tmp179) ; } /* end of [if] */ break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: __ats_lab_72_1: tmp266 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco (tmp181) ; if (!tmp266) { goto __ats_lab_73_1 ; } /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp268 = p_d0expseq_BAR_d0expseq_8 (arg0, 0, arg2) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp270 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp270) { tmp272 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN (tmp181) ; if (tmp272) { tmp271 = 0 ; } else { tmp271 = 1 ; } /* end of [if] */ tmp178 = d0exp_tup12_6 (tmp271, arg3, tmp268, tmp269) ; } else { /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp268) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: __ats_lab_73_1: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco (tmp181) ; if (!tmp274) { goto __ats_lab_74_0 ; } /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp276 = p_labd0expseq_BAR_labd0expseq_10 (arg0, 0, arg2) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp278 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp278) { tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE (tmp181) ; if (tmp280) { tmp279 = 0 ; } else { tmp279 = 1 ; } /* end of [if] */ tmp178 = d0exp_rec12_7 (tmp279, arg3, tmp276, tmp277) ; } else { /* tmp281 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp276) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp181)->tag != 161) { goto __ats_lab_75_0 ; } __ats_lab_74_1: /* tmp282 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET, tmp179) ; tmp286 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp286) { tmp285 = p_arrdimopt_25 (arg0, 0, arg2) ; } else { tmp285 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp287 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, tmp179) ; tmp289 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp289) { tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp288 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp291 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp291) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrinit (arg3, tmp283, tmp285, ats_castfn_mac(ats_ptr_type, tmp288), tmp290) ; } else { /* tmp292 = */ list_vt_free_01499_ats_ptr_type (tmp288) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp181)->tag != 163) { goto __ats_lab_76_0 ; } __ats_lab_75_1: /* tmp293 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exparg (arg0, 0, arg2) ; tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR, tmp179) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp179) ; tmp297 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET, tmp179) ; tmp298 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp298) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_exist (arg3, tmp294, tmp295, tmp296, tmp297) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp181)->tag != 162) { goto __ats_lab_77_0 ; } __ats_lab_76_1: /* tmp299 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ; tmp302 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp302) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst_quote (arg3, ats_castfn_mac(ats_ptr_type, tmp300), tmp301) ; } else { /* tmp303 = */ list_vt_free_01499_ats_ptr_type (tmp300) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_arrqi0de, (&tmp180)) ; if (!tmp304) { goto __ats_lab_78_0 ; } tmp305 = ats_castfn_mac(ats_ptr_type, tmp180) ; tmp306 = p_d0arrind_26 (arg0, 0, arg2) ; tmp307 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp307) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrsub (tmp305, tmp306) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp181)->tag != 93) { goto __ats_lab_79_0 ; } __ats_lab_78_1: /* tmp308 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp309 = p_s0expelt_24 (arg0, 0, arg2) ; tmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, tmp179) ; tmp312 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp312) { tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp311 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp313 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp314 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp314) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_arrpsz (arg3, tmp309, tmp310, ats_castfn_mac(ats_ptr_type, tmp311), tmp313) ; } else { /* tmp315 = */ list_vt_free_01499_ats_ptr_type (tmp311) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp181)->tag != 108) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_7, tmp181, atslab_0) ; /* tmp317 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp318 = p_s0expelt_24 (arg0, 0, arg2) ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, tmp179) ; tmp321 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp321) { tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp320 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp323 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp323) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lst (tmp316, arg3, tmp318, tmp319, ats_castfn_mac(ats_ptr_type, tmp320), tmp322) ; } else { /* tmp324 = */ list_vt_free_01499_ats_ptr_type (tmp320) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp181)->tag != 110) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp325 = ats_caselptrlab_mac(anairiats_sum_7, tmp181, atslab_0) ; /* tmp326 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp328 = p_d0expseq_BAR_d0expseq_8 (arg0, 0, arg2) ; tmp329 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp330 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp330) { tmp178 = d0exp_tup12_6 (tmp325, arg3, tmp328, tmp329) ; } else { /* tmp331 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp328) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp181)->tag != 109) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp332 = ats_caselptrlab_mac(anairiats_sum_7, tmp181, atslab_0) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp334 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE (arg0, 0, arg2) ; tmp335 = p_labd0expseq_BAR_labd0expseq_10 (arg0, 0, arg2) ; tmp336 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp179) ; tmp337 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp337) { tmp178 = d0exp_rec12_7 (tmp332, arg3, tmp335, tmp336) ; } else { /* tmp338 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp335) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp181)->tag != 35) { goto __ats_lab_83_0 ; } __ats_lab_82_1: /* tmp339 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp340 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (arg0, 0, arg2) ; tmp341 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END (arg0, 0, arg2) ; tmp342 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp342) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_seq (arg3, tmp340, tmp341) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp181)->tag != 58) { goto __ats_lab_84_0 ; } __ats_lab_83_1: /* tmp343 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn (arg0, 0, arg2) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_IN (arg0, 0, arg2) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq, tmp179) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_END, tmp179) ; tmp348 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp348) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_let_seq (arg3, tmp344, tmp345, tmp346, tmp347) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp181)->tag != 157) { goto __ats_lab_85_0 ; } __ats_lab_84_1: /* tmp349 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn (arg0, 0, arg2) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp352 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp352) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_declseq (arg3, tmp350, tmp351) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp181)->tag != 167) { goto __ats_lab_86_0 ; } __ats_lab_85_1: /* tmp353 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp354 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (arg0, 0, arg2) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp356 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp356) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_decode (arg3, tmp354, tmp355) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp181)->tag != 166) { goto __ats_lab_87_0 ; } __ats_lab_86_1: /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (arg0, 0, arg2) ; tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp360 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp360) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_encode_seq (arg3, tmp358, tmp359) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp181)->tag != 168) { goto __ats_lab_88_0 ; } __ats_lab_87_1: /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (arg0, 0, arg2) ; tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp179) ; tmp364 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp179) ; if (tmp364) { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_macsyn_cross (arg3, tmp362, tmp363) ; } else { tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp365 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp365 ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp178) ; } /* end of [p_atmd0exp_tok_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 28715(line=1251, offs=1) -- 29072(line=1270, offs=4) */ ATSstaticdec() ats_ptr_type p_argd0exp_31 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_bool_type, tmp368) ; ATSlocal (ats_bool_type, tmp369) ; ATSlocal (ats_int_type, tmp370) ; __ats_lab_p_argd0exp_31: /* ats_ptr_type tmp367 ; */ do { /* branch: __ats_lab_89 */ __ats_lab_89_0: __ats_lab_89_1: tmp368 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_s0expdarg_28, (&tmp367)) ; if (!tmp368) { goto __ats_lab_90_1 ; } tmp366 = ats_castfn_mac(ats_ptr_type, tmp367) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: __ats_lab_90_1: tmp369 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmd0exp_29, (&tmp367)) ; if (!tmp369) { goto __ats_lab_91_1 ; } tmp366 = ats_castfn_mac(ats_ptr_type, tmp367) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: tmp370 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp370 ; tmp366 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp366) ; } /* end of [p_argd0exp_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 29805(line=1310, offs=9) -- 30011(line=1317, offs=30) */ ATSstaticdec() ats_ptr_type loop_33 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp381) ; ATSlocal (ats_ptr_type, tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; __ats_lab_loop_33: do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp382 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp383 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp384 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app (arg0, tmp382) ; arg0 = tmp384 ; arg1 = tmp383 ; goto __ats_lab_loop_33 ; // tail call break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_94_1: tmp381 = arg0 ; break ; } while (0) ; return (tmp381) ; } /* end of [loop_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 29311(line=1286, offs=1) -- 31802(line=1394, offs=4) */ ATSstaticdec() ats_ptr_type p_d0exp0_32 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_int_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_uint_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_bool_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; ATSlocal (ats_ptr_type, tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_bool_type, tmp391) ; ATSlocal (ats_int_type, tmp392) ; // ATSlocal_void (tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_bool_type, tmp395) ; // ATSlocal_void (tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_bool_type, tmp398) ; // ATSlocal_void (tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_bool_type, tmp401) ; // ATSlocal_void (tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_bool_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_ptr_type, tmp406) ; ATSlocal (ats_int_type, tmp407) ; // ATSlocal_void (tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; __ats_lab_p_d0exp0_32: tmp372 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp373 ; */ tmp374 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp375 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp376 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp375), atslab_token_node) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: __ats_lab_92_1: tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmd0exp_29, (&tmp373)) ; if (!tmp377) { goto __ats_lab_97_0 ; } tmp378 = ats_castfn_mac(ats_ptr_type, tmp373) ; tmp379 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &p_argd0exp_31) ; tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt (arg0, 0, arg2) ; tmp385 = loop_33 (tmp378, tmp379) ; do { /* branch: __ats_lab_95 */ __ats_lab_95_0: if (tmp380 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp386 = ats_caselptrlab_mac(anairiats_sum_6, tmp380, atslab_0) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ann (tmp385, tmp386) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: // if (tmp380 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_96_1: tmp371 = tmp385 ; break ; } while (0) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp376)->tag != 111) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn (0, tmp375) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp376)->tag != 112) { goto __ats_lab_99_0 ; } __ats_lab_98_1: /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_loopexn (1, tmp375) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp376)->tag != 114) { goto __ats_lab_100_0 ; } __ats_lab_99_1: /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp390 = p_d0exp0_32 (arg0, 0, arg2) ; tmp391 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp372) ; if (tmp391) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_showtype (tmp375, tmp390) ; } else { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp374) ; } /* end of [if] */ break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp376)->tag != 115) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_7, tmp376, atslab_0) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp394 = p_d0exp0_32 (arg0, 0, arg2) ; tmp395 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp372) ; if (tmp395) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_vcopyenv (tmp392, tmp375, tmp394) ; } else { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp374) ; } /* end of [if] */ break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: if (((ats_sum_ptr_type)tmp376)->tag != 116) { goto __ats_lab_102_0 ; } __ats_lab_101_1: /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp397 = p_d0exp0_32 (arg0, 0, arg2) ; tmp398 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp372) ; if (tmp398) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_tempenver (tmp375, tmp397) ; } else { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp374) ; } /* end of [if] */ break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: if (((ats_sum_ptr_type)tmp376)->tag != 117) { goto __ats_lab_103_0 ; } __ats_lab_102_1: /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp400 = p_atmd0exp_29 (arg0, 0, arg2) ; tmp401 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp372) ; if (tmp401) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solassert (tmp375, tmp400) ; } else { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp374) ; } /* end of [if] */ break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp376)->tag != 118) { goto __ats_lab_104_0 ; } __ats_lab_103_1: /* tmp402 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp403 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_atms0exp (arg0, 0, arg2) ; tmp404 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp372) ; if (tmp404) { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_solverify (tmp375, tmp403) ; } else { tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp374) ; } /* end of [if] */ break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: __ats_lab_104_1: tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp406 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp405), atslab_token_loc) ; tmp407 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp407 ; tmp409 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp0_79) ; /* tmp408 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp406, tmp409) ; tmp371 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp371) ; } /* end of [p_d0exp0_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 32436(line=1428, offs=9) -- 32642(line=1435, offs=30) */ ATSstaticdec() ats_ptr_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; __ats_lab_loop_35: do { /* branch: __ats_lab_106 */ __ats_lab_106_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_107_0 ; } __ats_lab_106_1: tmp420 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp421 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp422 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_app (arg0, tmp420) ; arg0 = tmp422 ; arg1 = tmp421 ; goto __ats_lab_loop_35 ; // tail call break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_107_1: tmp419 = arg0 ; break ; } while (0) ; return (tmp419) ; } /* end of [loop_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 32012(line=1407, offs=1) -- 34011(line=1494, offs=4) */ ATSstaticdec() ats_ptr_type p_d0exp1_34 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_int_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_uint_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_bool_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_int_type, tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_bool_type, tmp426) ; // ATSlocal_void (tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_bool_type, tmp429) ; // ATSlocal_void (tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; ATSlocal (ats_ptr_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_ptr_type, tmp434) ; ATSlocal (ats_bool_type, tmp435) ; ATSlocal (ats_int_type, tmp436) ; // ATSlocal_void (tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_bool_type, tmp439) ; ATSlocal (ats_ptr_type, tmp440) ; ATSlocal (ats_int_type, tmp441) ; // ATSlocal_void (tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; __ats_lab_p_d0exp1_34: tmp411 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp412 ; */ tmp413 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp414 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp415 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp414), atslab_token_node) ; do { /* branch: __ats_lab_105 */ __ats_lab_105_0: __ats_lab_105_1: tmp416 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_d0exp0_32, (&tmp412)) ; if (!tmp416) { goto __ats_lab_108_0 ; } tmp417 = ats_castfn_mac(ats_ptr_type, tmp412) ; tmp418 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &p_d0exp1_34) ; tmp410 = loop_35 (tmp417, tmp418) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp415)->tag != 92) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp423 = ats_caselptrlab_mac(anairiats_sum_7, tmp415, atslab_0) ; /* tmp424 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp425 = p_d0exp0_32 (arg0, 0, arg2) ; tmp426 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp411) ; if (tmp426) { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_delay (tmp423, tmp414, tmp425) ; } else { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp415)->tag != 113) { goto __ats_lab_110_0 ; } __ats_lab_109_1: /* tmp427 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp428 = p_d0exp0_32 (arg0, 0, arg2) ; tmp429 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp411) ; if (tmp429) { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_raise (tmp414, tmp428) ; } else { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp415)->tag != 95) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp430 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp431 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, tmp411) ; tmp432 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst, tmp411) ; tmp433 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp411) ; tmp434 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_d0exp1_34, tmp411) ; tmp435 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp411) ; if (tmp435) { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask (tmp414, tmp432, tmp434) ; } else { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp415)->tag != 96) { goto __ats_lab_112_0 ; } __ats_lab_111_1: tmp436 = ats_caselptrlab_mac(anairiats_sum_7, tmp415, atslab_0) ; /* tmp437 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp438 = p_d0exp0_32 (arg0, 0, arg2) ; tmp439 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp411) ; if (tmp439) { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_effmask_arg (tmp436, tmp414, tmp438) ; } else { tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp413) ; } /* end of [if] */ break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: __ats_lab_112_1: tmp440 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp414), atslab_token_loc) ; tmp441 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp441 ; tmp443 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp1_80) ; /* tmp442 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp440, tmp443) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp410) ; } /* end of [p_d0exp1_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 34097(line=1502, offs=1) -- 34603(line=1530, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvarg_36 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_int_type, tmp445) ; ATSlocal (ats_uint_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_bool_type, tmp451) ; ATSlocal (ats_bool_type, tmp452) ; __ats_lab_p_i0nvarg_36: tmp445 = ats_ptrget_mac(ats_int_type, arg2) ; tmp446 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp447 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, arg1, arg2) ; tmp448 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COLON, tmp445) ; tmp449 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp, tmp445) ; tmp451 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp445) ; if (tmp451) { tmp450 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp450, atslab_0, tmp449) ; } else { tmp450 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp452 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp445) ; if (tmp452) { tmp444 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvarg_make (tmp447, tmp450) ; } else { tmp444 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp446) ; } /* end of [if] */ return (tmp444) ; } /* end of [p_i0nvarg_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 34631(line=1533, offs=1) -- 34743(line=1537, offs=46) */ ATSstaticdec() ats_ptr_type p_i0nvargseq_37 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; __ats_lab_p_i0nvargseq_37: tmp454 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &p_i0nvarg_36) ; tmp453 = ats_castfn_mac(ats_ptr_type, tmp454) ; return (tmp453) ; } /* end of [p_i0nvargseq_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 34851(line=1546, offs=1) -- 35219(line=1565, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvqua_38 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_int_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_bool_type, tmp459) ; __ats_lab_p_i0nvqua_38: tmp456 = ats_ptrget_mac(ats_int_type, arg2) ; tmp457 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) ; // tmp458 = ats_caselptrlab_mac(anairiats_sum_5, tmp457, atslab_1) ; ATS_FREE(tmp457) ; tmp459 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp456) ; if (tmp459) { tmp455 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp455, atslab_0, tmp458) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp456 ; tmp455 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp455) ; } /* end of [p_i0nvqua_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 35311(line=1570, offs=5) -- 35686(line=1589, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvresqua_39 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_int_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_bool_type, tmp464) ; __ats_lab_p_i0nvresqua_39: tmp461 = ats_ptrget_mac(ats_int_type, arg2) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACKET, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) ; // tmp463 = ats_caselptrlab_mac(anairiats_sum_5, tmp462, atslab_1) ; ATS_FREE(tmp462) ; tmp464 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp461) ; if (tmp464) { tmp460 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp460, atslab_0, tmp463) ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp461 ; tmp460 = (ats_sum_ptr_type)0 ; } /* end of [if] */ return (tmp460) ; } /* end of [p_i0nvresqua_39] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 35806(line=1596, offs=5) -- 36571(line=1633, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvmet_40 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp465) ; ATSlocal (ats_int_type, tmp466) ; ATSlocal (ats_uint_type, tmp467) ; ATSlocal (ats_ptr_type, tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; // ATSlocal_void (tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_bool_type, tmp473) ; // ATSlocal_void (tmp474) ; // ATSlocal_void (tmp475) ; ATSlocal (ats_ptr_type, tmp476) ; __ats_lab_p_i0nvmet_40: tmp466 = ats_ptrget_mac(ats_int_type, arg2) ; tmp467 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp468 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp469 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp468), atslab_token_node) ; do { /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp469)->tag != 24) { goto __ats_lab_114_0 ; } __ats_lab_113_1: /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp471 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp472 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT (arg0, 0, arg2) ; tmp473 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp466) ; if (tmp473) { tmp465 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp465, atslab_0, ats_castfn_mac(ats_ptr_type, tmp471)) ; } else { /* tmp474 = */ list_vt_free_01499_ats_ptr_type (tmp471) ; tmp465 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp467) ; } /* end of [if] */ break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp469)->tag != 26) { goto __ats_lab_115_0 ; } __ats_lab_114_1: /* tmp475 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp476 = (ats_sum_ptr_type)0 ; tmp465 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp465, atslab_0, tmp476) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: __ats_lab_115_1: tmp465 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp465) ; } /* end of [p_i0nvmet_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 36670(line=1641, offs=1) -- 37026(line=1660, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvargstate_41 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp477) ; ATSlocal (ats_int_type, tmp478) ; ATSlocal (ats_ptr_type, tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_bool_type, tmp481) ; __ats_lab_p_i0nvargstate_41: tmp478 = ats_ptrget_mac(ats_int_type, arg2) ; tmp479 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, &p_i0nvargseq_37, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) ; // tmp480 = ats_caselptrlab_mac(anairiats_sum_5, tmp479, atslab_1) ; ATS_FREE(tmp479) ; tmp481 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp478) ; if (tmp481) { tmp477 = tmp480 ; } else { tmp477 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp477) ; } /* end of [p_i0nvargstate_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 37126(line=1666, offs=1) -- 37882(line=1701, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvresstate_42 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_int_type, tmp483) ; ATSlocal (ats_uint_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; ATSlocal (ats_ptr_type, tmp486) ; // ATSlocal_void (tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; ATSlocal (ats_bool_type, tmp492) ; ATSlocal (ats_int_type, tmp493) ; __ats_lab_p_i0nvresstate_42: tmp483 = ats_ptrget_mac(ats_int_type, arg2) ; tmp484 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp485 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp486 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp485), atslab_token_node) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp486)->tag != 6) { goto __ats_lab_117_0 ; } __ats_lab_116_1: /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp488 = p_i0nvresqua_39 (arg0, 0, arg2) ; tmp489 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, &p_i0nvargseq_37, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) ; // tmp490 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_1) ; tmp491 = ats_caselptrlab_mac(anairiats_sum_5, tmp489, atslab_2) ; ATS_FREE(tmp489) ; tmp492 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp483) ; if (tmp492) { tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_some (tmp485, tmp488, tmp490, tmp491) ; } else { tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp484) ; } /* end of [if] */ break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: __ats_lab_117_1: tmp493 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp493 ; tmp482 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp482) ; } /* end of [p_i0nvresstate_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 37917(line=1704, offs=1) -- 38241(line=1715, offs=4) */ ATSstaticdec() ats_ptr_type p_i0nvresstateopt_43 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_int_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_bool_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; __ats_lab_p_i0nvresstateopt_43: tmp495 = ats_ptrget_mac(ats_int_type, arg2) ; tmp496 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp497 = p_i0nvresstate_42 (arg0, 1, arg2) ; tmp498 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp495) ; if (tmp498) { tmp494 = tmp497 ; } else { ats_ptrget_mac(ats_int_type, arg2) = tmp495 ; tmp499 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp496), atslab_token_loc) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0nvresstate_make_none (tmp499) ; } /* end of [if] */ return (tmp494) ; } /* end of [p_i0nvresstateopt_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 38369(line=1724, offs=1) -- 38802(line=1746, offs=4) */ ATSstaticdec() ats_ptr_type p_loopi0nv_44 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp500) ; ATSlocal (ats_int_type, tmp501) ; ATSlocal (ats_uint_type, tmp502) ; ATSlocal (ats_ptr_type, tmp503) ; ATSlocal (ats_ptr_type, tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; ATSlocal (ats_ptr_type, tmp506) ; ATSlocal (ats_bool_type, tmp507) ; __ats_lab_p_loopi0nv_44: tmp501 = ats_ptrget_mac(ats_int_type, arg2) ; tmp502 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp503 = p_i0nvqua_38 (arg0, arg1, arg2) ; tmp504 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &p_i0nvmet_40, tmp501) ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &p_i0nvargstate_41, tmp501) ; tmp506 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &p_i0nvresstateopt_43, tmp501) ; tmp507 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp501) ; if (tmp507) { tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loopi0nv_make (tmp503, tmp504, tmp505, tmp506) ; } else { tmp500 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp502) ; } /* end of [if] */ return (tmp500) ; } /* end of [p_loopi0nv_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 38906(line=1754, offs=1) -- 39723(line=1797, offs=4) */ ATSstaticdec() ats_ptr_type p_funarrow_45 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp508) ; ATSlocal (ats_int_type, tmp509) ; ATSlocal (ats_uint_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; ATSlocal (ats_ptr_type, tmp516) ; // ATSlocal_void (tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; ATSlocal (ats_bool_type, tmp520) ; ATSlocal (ats_int_type, tmp521) ; // ATSlocal_void (tmp522) ; ATSlocal (ats_ptr_type, tmp523) ; __ats_lab_p_funarrow_45: tmp509 = ats_ptrget_mac(ats_int_type, arg2) ; tmp510 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp511 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp512 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp511), atslab_token_loc) ; tmp513 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp511), atslab_token_node) ; do { /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp513)->tag != 14) { goto __ats_lab_119_0 ; } __ats_lab_118_1: /* tmp514 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp508 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp513)->tag != 16) { goto __ats_lab_120_0 ; } __ats_lab_119_1: /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp516 = (ats_sum_ptr_type)0 ; tmp508 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp508, atslab_0, tmp516) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp513)->tag != 15) { goto __ats_lab_121_0 ; } __ats_lab_120_1: /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp518 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_e0fftaglst (arg0, 0, arg2) ; tmp519 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GT, tmp509) ; tmp520 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp509) ; if (tmp520) { tmp508 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp508, atslab_0, tmp518) ; } else { tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp510) ; } /* end of [if] */ break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: __ats_lab_121_1: tmp521 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp521 ; tmp523 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_funarrow_57) ; /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp512, tmp523) ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp508) ; } /* end of [p_funarrow_45] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 39838(line=1807, offs=1) -- 40617(line=1844, offs=4) */ ATSstaticdec() ats_ptr_type pstar_where_46 (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp524) ; ATSlocal (ats_int_type, tmp525) ; ATSlocal (ats_uint_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; // ATSlocal_void (tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_bool_type, tmp533) ; ATSlocal (ats_ptr_type, tmp534) ; __ats_lab_pstar_where_46: tmp525 = ats_ptrget_mac(ats_int_type, arg3) ; tmp526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg1) ; tmp527 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg1) ; tmp528 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp527), atslab_token_node) ; do { /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp528)->tag != 83) { goto __ats_lab_123_0 ; } __ats_lab_122_1: /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg1) ; tmp530 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg1, 0, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LBRACE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0eclseq_dyn, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) ; // tmp531 = ats_caselptrlab_mac(anairiats_sum_5, tmp530, atslab_1) ; tmp532 = ats_caselptrlab_mac(anairiats_sum_5, tmp530, atslab_2) ; ATS_FREE(tmp530) ; tmp533 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg3), tmp525) ; if (tmp533) { tmp534 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_where (arg0, tmp531, tmp532) ; arg0 = tmp534 ; arg1 = arg1 ; arg2 = 0 ; arg3 = arg3 ; goto __ats_lab_pstar_where_46 ; // tail call } else { tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg1, tmp526) ; } /* end of [if] */ break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: __ats_lab_123_1: tmp524 = arg0 ; break ; } while (0) ; return (tmp524) ; } /* end of [pstar_where_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 40668(line=1849, offs=1) -- 41496(line=1890, offs=4) */ ATSstaticdec() ats_ptr_type ptokhead_fun_47 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp535) ; ATSlocal (ats_int_type, tmp536) ; ATSlocal (ats_uint_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_bool_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; // ATSlocal_void (tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; ATSlocal (ats_bool_type, tmp543) ; ATSlocal (ats_ptr_type, tmp544) ; ATSlocal (ats_bool_type, tmp545) ; ATSlocal (ats_int_type, tmp546) ; __ats_lab_ptokhead_fun_47: tmp536 = ats_ptrget_mac(ats_int_type, arg2) ; tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp538 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp538 ; tmp540 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp538), atslab_token_node) ; tmp539 = ((ats_bool_type(*)(ats_ptr_type))arg3) (tmp540) ; if (tmp539) { /* tmp541 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp542 = p_i0nvresstate_42 (arg0, 1, arg2) ; tmp543 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp536) ; if (tmp543) { tmp544 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT (arg0, 0, arg2) ; tmp545 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp536) ; if (tmp545) { tmp535 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp535, atslab_0, tmp542) ; } else { tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp537) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_int_type, arg2) = tmp536 ; tmp535 = (ats_sum_ptr_type)0 ; } /* end of [if] */ } else { tmp546 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp546 ; tmp535 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp535) ; } /* end of [ptokhead_fun_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 41585(line=1898, offs=1) -- 41825(line=1912, offs=4) */ ATSstaticdec() ats_ptr_type p_ifhead_48 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_int_type, tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_bool_type, tmp551) ; __ats_lab_p_ifhead_48: tmp548 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp549 ; */ tmp550 = ptokhead_fun_47 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_IF, (&tmp549)) ; tmp551 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp548) ; if (tmp551) { tmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__ifhead_make (tmp549, tmp550) ; } else { tmp547 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp547) ; } /* end of [p_ifhead_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 41891(line=1918, offs=1) -- 42135(line=1932, offs=4) */ ATSstaticdec() ats_ptr_type p_sifhead_49 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp552) ; ATSlocal (ats_int_type, tmp553) ; ATSlocal (ats_ptr_type, tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_bool_type, tmp556) ; __ats_lab_p_sifhead_49: tmp553 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp554 ; */ tmp555 = ptokhead_fun_47 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SIF, (&tmp554)) ; tmp556 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp553) ; if (tmp556) { tmp552 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sifhead_make (tmp554, tmp555) ; } else { tmp552 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp552) ; } /* end of [p_sifhead_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 42225(line=1940, offs=1) -- 42473(line=1954, offs=4) */ ATSstaticdec() ats_ptr_type p_casehead_50 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_int_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; ATSlocal (ats_bool_type, tmp561) ; __ats_lab_p_casehead_50: tmp558 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp559 ; */ tmp560 = ptokhead_fun_47 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_CASE, (&tmp559)) ; tmp561 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp558) ; if (tmp561) { tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__casehead_make (tmp559, tmp560) ; } else { tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp557) ; } /* end of [p_casehead_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 42545(line=1960, offs=1) -- 42797(line=1974, offs=4) */ ATSstaticdec() ats_ptr_type p_scasehead_51 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_int_type, tmp563) ; ATSlocal (ats_ptr_type, tmp564) ; ATSlocal (ats_ptr_type, tmp565) ; ATSlocal (ats_bool_type, tmp566) ; __ats_lab_p_scasehead_51: tmp563 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp564 ; */ tmp565 = ptokhead_fun_47 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_SCASE, (&tmp564)) ; tmp566 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp563) ; if (tmp566) { tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__scasehead_make (tmp564, tmp565) ; } else { tmp562 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp562) ; } /* end of [p_scasehead_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 42917(line=1983, offs=1) -- 43290(line=2006, offs=4) */ ATSstaticdec() ats_ptr_type p_forhead_52 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp567) ; ATSlocal (ats_int_type, tmp568) ; ATSlocal (ats_uint_type, tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; ATSlocal (ats_ptr_type, tmp572) ; ATSlocal (ats_bool_type, tmp573) ; __ats_lab_p_forhead_52: tmp568 = ats_ptrget_mac(ats_int_type, arg2) ; tmp569 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp570 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_FORSTAR (arg0, arg1, arg2) ; tmp571 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &p_loopi0nv_44, tmp568) ; tmp572 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT, tmp568) ; tmp573 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp568) ; if (tmp573) { tmp567 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some (tmp570, tmp571, tmp572) ; } else { tmp567 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp569) ; } /* end of [if] */ return (tmp567) ; } /* end of [p_forhead_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 43416(line=2015, offs=1) -- 43795(line=2035, offs=4) */ ATSstaticdec() ats_ptr_type p_whilehead_53 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp574) ; ATSlocal (ats_int_type, tmp575) ; ATSlocal (ats_uint_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; ATSlocal (ats_ptr_type, tmp578) ; ATSlocal (ats_ptr_type, tmp579) ; ATSlocal (ats_bool_type, tmp580) ; __ats_lab_p_whilehead_53: tmp575 = ats_ptrget_mac(ats_int_type, arg2) ; tmp576 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp577 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WHILESTAR (arg0, arg1, arg2) ; tmp578 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &p_loopi0nv_44, tmp575) ; tmp579 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT, tmp575) ; tmp580 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp575) ; if (tmp580) { tmp574 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_some (tmp577, tmp578, tmp579) ; } else { tmp574 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp576) ; } /* end of [if] */ return (tmp574) ; } /* end of [p_whilehead_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 43895(line=2044, offs=1) -- 44118(line=2056, offs=4) */ ATSstaticdec() ats_ptr_type p_tryhead_54 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp581) ; ATSlocal (ats_int_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_bool_type, tmp585) ; __ats_lab_p_tryhead_54: tmp582 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp583 ; */ tmp584 = ptokhead_fun_47 (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_TRY, (&tmp583)) ; tmp585 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp582) ; if (tmp585) { tmp581 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__tryhead_make (tmp583, tmp584) ; } else { tmp581 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp581) ; } /* end of [p_tryhead_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 44289(line=2066, offs=1) -- 45394(line=2107, offs=4) */ ATSstaticdec() ats_ptr_type p_initestpost_55 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp586) ; ATSlocal (ats_int_type, tmp587) ; ATSlocal (ats_uint_type, tmp588) ; ATSlocal (ats_ptr_type, tmp589) ; ATSlocal (ats_ptr_type, tmp590) ; ATSlocal (ats_bool_type, tmp591) ; ATSlocal (ats_ptr_type, tmp592) ; ATSlocal (ats_ptr_type, tmp593) ; ATSlocal (ats_bool_type, tmp594) ; ATSlocal (ats_ptr_type, tmp595) ; ATSlocal (ats_ptr_type, tmp596) ; ATSlocal (ats_bool_type, tmp597) ; ATSlocal (ats_ptr_type, tmp598) ; ATSlocal (ats_bool_type, tmp599) ; // ATSlocal_void (tmp600) ; // ATSlocal_void (tmp601) ; // ATSlocal_void (tmp602) ; __ats_lab_p_initestpost_55: tmp587 = ats_ptrget_mac(ats_int_type, arg2) ; tmp588 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp589 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, arg1, arg2) ; tmp591 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp587) ; if (tmp591) { tmp590 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp590 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp592 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON, tmp587) ; tmp594 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp587) ; if (tmp594) { tmp593 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp593 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp595 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_SEMICOLON, tmp587) ; tmp597 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp587) ; if (tmp597) { tmp596 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; } else { tmp596 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp598 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp587) ; tmp599 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp587) ; if (tmp599) { tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__initestpost_make (tmp589, ats_castfn_mac(ats_ptr_type, tmp590), tmp592, ats_castfn_mac(ats_ptr_type, tmp593), tmp595, ats_castfn_mac(ats_ptr_type, tmp596), tmp598) ; } else { /* tmp600 = */ list_vt_free_01499_ats_ptr_type (tmp590) ; /* tmp601 = */ list_vt_free_01499_ats_ptr_type (tmp593) ; /* tmp602 = */ list_vt_free_01499_ats_ptr_type (tmp596) ; tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp588) ; } /* end of [if] */ return (tmp586) ; } /* end of [p_initestpost_55] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 46094(line=2136, offs=3) -- 46166(line=2138, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp603) ; ATSlocal (ats_ptr_type, tmp604) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp: tmp604 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_d0exp_78) ; tmp603 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__p_d0exp_tok, tmp604) ; return (tmp603) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/option_vt.dats: 2556(line=86, offs=16) -- 2611(line=87, offs=49) */ ATSstaticdec() ats_void_type option_vt_free_01544_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp619) ; __ats_lab_option_vt_free_01544_ats_ptr_type: do { /* branch: __ats_lab_126 */ __ats_lab_126_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_127_0 ; } __ats_lab_126_1: ATS_FREE(arg0) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_127_1: break ; } while (0) ; return /* (tmp619) */ ; } /* end of [option_vt_free_01544_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_dynexp.dats: 46217(line=2143, offs=1) -- 51750(line=2369, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__p_d0exp_tok (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_int_type, tmp606) ; ATSlocal (ats_ptr_type, tmp607) ; ATSlocal (ats_ptr_type, tmp608) ; ATSlocal (ats_bool_type, tmp609) ; ATSlocal (ats_ptr_type, tmp610) ; ATSlocal (ats_bool_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; ATSlocal (ats_ptr_type, tmp613) ; ATSlocal (ats_ptr_type, tmp614) ; ATSlocal (ats_ptr_type, tmp615) ; ATSlocal (ats_ptr_type, tmp616) ; ATSlocal (ats_bool_type, tmp617) ; // ATSlocal_void (tmp618) ; ATSlocal (ats_bool_type, tmp620) ; ATSlocal (ats_ptr_type, tmp621) ; ATSlocal (ats_ptr_type, tmp622) ; ATSlocal (ats_ptr_type, tmp623) ; ATSlocal (ats_ptr_type, tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; ATSlocal (ats_ptr_type, tmp626) ; ATSlocal (ats_bool_type, tmp627) ; ATSlocal (ats_bool_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; ATSlocal (ats_ptr_type, tmp630) ; ATSlocal (ats_ptr_type, tmp631) ; ATSlocal (ats_ptr_type, tmp632) ; ATSlocal (ats_bool_type, tmp633) ; ATSlocal (ats_bool_type, tmp634) ; ATSlocal (ats_ptr_type, tmp635) ; ATSlocal (ats_ptr_type, tmp636) ; ATSlocal (ats_ptr_type, tmp637) ; ATSlocal (ats_ptr_type, tmp638) ; ATSlocal (ats_bool_type, tmp639) ; ATSlocal (ats_int_type, tmp640) ; // ATSlocal_void (tmp641) ; ATSlocal (ats_ptr_type, tmp642) ; ATSlocal (ats_ptr_type, tmp643) ; ATSlocal (ats_ptr_type, tmp644) ; ATSlocal (ats_ptr_type, tmp645) ; ATSlocal (ats_bool_type, tmp646) ; // ATSlocal_void (tmp647) ; ATSlocal (ats_int_type, tmp648) ; // ATSlocal_void (tmp649) ; ATSlocal (ats_ptr_type, tmp650) ; ATSlocal (ats_ptr_type, tmp651) ; ATSlocal (ats_bool_type, tmp652) ; ATSlocal (ats_ptr_type, tmp653) ; ATSlocal (ats_ptr_type, tmp654) ; ATSlocal (ats_ptr_type, tmp655) ; ATSlocal (ats_bool_type, tmp656) ; // ATSlocal_void (tmp657) ; // ATSlocal_void (tmp658) ; ATSlocal (ats_ptr_type, tmp659) ; ATSlocal (ats_ptr_type, tmp660) ; ATSlocal (ats_ptr_type, tmp661) ; ATSlocal (ats_bool_type, tmp662) ; ATSlocal (ats_bool_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_ptr_type, tmp666) ; ATSlocal (ats_bool_type, tmp667) ; // ATSlocal_void (tmp668) ; ATSlocal (ats_ptr_type, tmp669) ; ATSlocal (ats_ptr_type, tmp670) ; ATSlocal (ats_ptr_type, tmp671) ; ATSlocal (ats_bool_type, tmp672) ; ATSlocal (ats_bool_type, tmp673) ; ATSlocal (ats_ptr_type, tmp674) ; ATSlocal (ats_ptr_type, tmp675) ; ATSlocal (ats_ptr_type, tmp676) ; ATSlocal (ats_bool_type, tmp677) ; ATSlocal (ats_bool_type, tmp678) ; ATSlocal (ats_ptr_type, tmp679) ; ATSlocal (ats_ptr_type, tmp680) ; ATSlocal (ats_ptr_type, tmp681) ; ATSlocal (ats_ptr_type, tmp682) ; ATSlocal (ats_bool_type, tmp683) ; ATSlocal (ats_int_type, tmp684) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__p_d0exp_tok: tmp606 = ats_ptrget_mac(ats_int_type, arg2) ; /* ats_ptr_type tmp607 ; */ tmp608 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_node) ; do { /* branch: __ats_lab_124 */ __ats_lab_124_0: __ats_lab_124_1: tmp609 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_d0exp1_34, (&tmp607)) ; if (!tmp609) { goto __ats_lab_125_1 ; } tmp610 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp605 = pstar_where_46 (tmp610, arg0, arg1, arg2) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: __ats_lab_125_1: tmp611 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_ifhead_48, (&tmp607)) ; if (!tmp611) { goto __ats_lab_128_1 ; } tmp612 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp613 = p_d0exp1_34 (arg0, 0, arg2) ; tmp614 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN, tmp606) ; tmp615 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp616 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ELSE, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; tmp617 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp617) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_ifhead (tmp612, tmp613, tmp615, ats_castfn_mac(ats_ptr_type, tmp616)) ; } else { /* tmp618 = */ option_vt_free_01544_ats_ptr_type (tmp616) ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: __ats_lab_128_1: tmp620 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_sifhead_49, (&tmp607)) ; if (!tmp620) { goto __ats_lab_129_1 ; } tmp621 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp622 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp623 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_THEN, tmp606) ; tmp624 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp625 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_ELSE, tmp606) ; tmp626 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp627 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp627) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_sifhead (tmp621, tmp622, tmp624, tmp626) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: __ats_lab_129_1: tmp628 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_casehead_50, (&tmp607)) ; if (!tmp628) { goto __ats_lab_130_1 ; } tmp629 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp630 = p_d0exp1_34 (arg0, 0, arg2) ; tmp631 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF, tmp606) ; tmp632 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq, tmp606) ; tmp633 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp633) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_casehead (tmp629, tmp630, tmp631, tmp632) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: __ats_lab_130_1: tmp634 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_scasehead_51, (&tmp607)) ; if (!tmp634) { goto __ats_lab_131_0 ; } tmp635 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp636 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp637 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_OF, tmp606) ; tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sc0lauseq, tmp606) ; tmp639 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp639) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_scasehead (tmp635, tmp636, tmp637, tmp638) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: if (((ats_sum_ptr_type)tmp608)->tag != 57) { goto __ats_lab_132_0 ; } __ats_lab_131_1: tmp640 = ats_caselptrlab_mac(anairiats_sum_7, tmp608, atslab_0) ; /* tmp641 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp642 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1) ; tmp643 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt (arg0, 0, arg2) ; tmp644 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_funarrow_45, tmp606) ; tmp645 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp646 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp646) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_lam (tmp640, arg3, ats_castfn_mac(ats_ptr_type, tmp642), tmp643, tmp644, tmp645) ; } else { /* tmp647 = */ list_vt_free_01499_ats_ptr_type (tmp642) ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_132 */ __ats_lab_132_0: if (((ats_sum_ptr_type)tmp608)->tag != 48) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp648 = ats_caselptrlab_mac(anairiats_sum_7, tmp608, atslab_0) ; /* tmp649 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp650 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_di0de (arg0, 0, arg2) ; tmp652 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp652) { tmp651 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1) ; } else { tmp651 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp653 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_colons0expopt, tmp606) ; tmp654 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_funarrow_45, tmp606) ; tmp655 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp656 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp656) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_fix (tmp648, arg3, tmp650, ats_castfn_mac(ats_ptr_type, tmp651), tmp653, tmp654, tmp655) ; } else { /* tmp657 = */ list_vt_free_01499_ats_ptr_type (tmp651) ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: if (((ats_sum_ptr_type)tmp608)->tag != 50) { goto __ats_lab_134_0 ; } __ats_lab_133_1: /* tmp658 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp659 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none (arg3) ; tmp660 = p_initestpost_55 (arg0, 0, arg2) ; tmp661 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp662 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp662) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead (tmp659, tmp660, tmp661) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_134 */ __ats_lab_134_0: __ats_lab_134_1: tmp663 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_forhead_52, (&tmp607)) ; if (!tmp663) { goto __ats_lab_135_0 ; } tmp664 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp665 = p_initestpost_55 (arg0, 0, arg2) ; tmp666 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp667 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp667) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_forhead (tmp664, tmp665, tmp666) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: if (((ats_sum_ptr_type)tmp608)->tag != 84) { goto __ats_lab_136_0 ; } __ats_lab_135_1: /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp669 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__loophead_make_none (arg3) ; tmp670 = p_atmd0exp_29 (arg0, 0, arg2) ; tmp671 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp672 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp672) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead (tmp669, tmp670, tmp671) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: __ats_lab_136_1: tmp673 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_whilehead_53, (&tmp607)) ; if (!tmp673) { goto __ats_lab_137_1 ; } tmp674 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp675 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &p_atmd0exp_29, tmp606) ; tmp676 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp606) ; tmp677 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp677) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_whilehead (tmp674, tmp675, tmp676) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_137 */ __ats_lab_137_0: __ats_lab_137_1: tmp678 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_tryhead_54, (&tmp607)) ; if (!tmp678) { goto __ats_lab_138_1 ; } tmp679 = ats_castfn_mac(ats_ptr_type, tmp607) ; tmp680 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0expsemiseq (arg0, 0, arg2) ; tmp681 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_WITH, tmp606) ; tmp682 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq, tmp606) ; tmp683 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp606) ; if (tmp683) { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__d0exp_trywith_seq (tmp679, tmp680, tmp681, tmp682) ; } else { tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: __ats_lab_138_1: tmp684 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp684 ; tmp605 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp605) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__p_d0exp_tok] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_dynexp_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 () ; #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_parsing_dynexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_sats.c0000664000175000017500000007211312655455557020036 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_0 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_intsp_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_floatsp_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_nabs_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_napp_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_arity_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_srtck_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_uni_instantiate_sexparglst_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_typeless_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_some_none_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_none_some_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_some_some_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_vbox_ref_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_lst_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trup_con_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_con_arity_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_free_update_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_item_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_tmpid_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_trup_llamlocal_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_con_npf_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_laminit_funclo_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trdn_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23explst_trdn_arity_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trup_applst_eff_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_npf_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_fun_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_eff_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_sym_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_nil_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_cons2_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_exn_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_tup_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_rec_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_exist_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_lam_dyn_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_delay_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_foldat_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_freeat_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extfcall_arg_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extmcall_arg_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyrec_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_labnot_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyarr_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrind_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrdim_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_selab_linrest_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_nonmut_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lab_overld_app_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_addrless_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_assgn_tszeq_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_addreq_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_deref_context_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_linsel_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_sharing_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_proof_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_context_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_LHS_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_RHS_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_selab_context_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_deref_reflinsel_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_reflinsel_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_refsharing_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trdn_xchng_deref_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_deref_context_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_atview_69) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_without_70) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_fun_71) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_funarg_72) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_refval_73) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_linpatcon_74) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_funclo_topized_75) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_exch_type_linold_76) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_exch_type_oldnew_77) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_exch_type_linold_78) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_set_79) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_sexp_80) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_guard_trdn_81) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2lau_trdn_arity_82) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst0_trdn_noclause_83) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst2_trdn_redundant_84) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_cp2atcstlst_arity_85) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_loopexn_86) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some_87) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_none_88) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some2_89) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_cmp_90) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_d2exp_91) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_app_mac_arity_92) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_evalctx_extend_93) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval1_d2exp_94) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_f2undeclst_tr_termetsrtck_95) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_v2aldeclst_rec_tr_linearity_96) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed2exp_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed3exp_1) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_intsp_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_floatsp_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_nabs_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_napp_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_arity_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2varlst_instantiate_srtck_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_uni_instantiate_sexparglst_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_typeless_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_some_none_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_none_some_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_some_some_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_vbox_ref_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_lst_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trup_con_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_trdn_con_arity_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_p2at_free_update_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_item_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_tmpid_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_trup_llamlocal_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_con_npf_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_laminit_funclo_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trdn_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23explst_trdn_arity_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trup_applst_eff_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_npf_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_fun_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d23exp_trup_app23_eff_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_sym_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_nil_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_applst_sym_cons2_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_exn_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_tup_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_rec_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_exist_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_trdn_lam_dyn_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_delay_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_foldat_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_freeat_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extfcall_arg_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_extmcall_arg_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyrec_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_labnot_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_selab_tyarr_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrind_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_arrdim_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_selab_linrest_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_nonmut_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lab_overld_app_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_addrless_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52.tag = 52 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_assgn_tszeq_54.tag = 54 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_addreq_55.tag = 55 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_deref_context_56.tag = 56 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_linsel_57.tag = 57 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_sharing_58.tag = 58 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_proof_59.tag = 59 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_context_60.tag = 60 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_LHS_61.tag = 61 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_xchng_check_RHS_62.tag = 62 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_selab_context_63.tag = 63 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_deref_reflinsel_64.tag = 64 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_reflinsel_65.tag = 65 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_refsharing_66.tag = 66 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_trdn_xchng_deref_67.tag = 67 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_deref_context_68.tag = 68 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_atview_69.tag = 69 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_without_70.tag = 70 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_fun_71.tag = 71 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_funarg_72.tag = 72 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_refval_73.tag = 73 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_linpatcon_74.tag = 74 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_funclo_topized_75.tag = 75 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_exch_type_linold_76.tag = 76 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_exch_type_oldnew_77.tag = 77 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3lval_exch_type_linold_78.tag = 78 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_set_79.tag = 79 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_effenv_check_sexp_80.tag = 80 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_guard_trdn_81.tag = 81 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2lau_trdn_arity_82.tag = 82 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst0_trdn_noclause_83.tag = 83 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_c2laulst2_trdn_redundant_84.tag = 84 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_cp2atcstlst_arity_85.tag = 85 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_loopexn_86.tag = 86 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some_87.tag = 87 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_none_88.tag = 88 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_some2_89.tag = 89 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_cmp_90.tag = 90 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_d2exp_91.tag = 91 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval0_app_mac_arity_92.tag = 92 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_evalctx_extend_93.tag = 93 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval1_d2exp_94.tag = 94 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_f2undeclst_tr_termetsrtck_95.tag = 95 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_v2aldeclst_rec_tr_linearity_96.tag = 96 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed2exp_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__D23Ed3exp_1.tag = 1 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_dcon_dats.c0000664000175000017500000035516512655455557021211 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_s2qua_svs ; ats_ptr_type atslab_s2qua_sps ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_d2con_sym ; ats_ptr_type atslab_d2con_loc ; ats_ptr_type atslab_d2con_fil ; ats_ptr_type atslab_d2con_scst ; ats_int_type atslab_d2con_npf ; ats_int_type atslab_d2con_vwtp ; ats_ptr_type atslab_d2con_qua ; ats_ptr_type atslab_d2con_arg ; ats_int_type atslab_d2con_arity_full ; ats_int_type atslab_d2con_arity_real ; ats_ptr_type atslab_d2con_ind ; ats_ptr_type atslab_d2con_type ; ats_int_type atslab_d2con_tag ; ats_ptr_type atslab_d2con_pack ; ats_int_type atslab_d2con_stamp ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_7 ; typedef struct { anairiats_rec_7 atslab_0 ; } anairiats_sum_8 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__E_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__B_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__E_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_size_type, atspre_max_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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, atspre_ref_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2con_stamp_make) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tagless) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_binarian) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_nonlinear) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni) (ats_ptr_type, ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__d2conset_vtype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__d2conset_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__sasp__d2con_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type aux1_1 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_int_type aux2_2 (ats_int_type arg0, ats_ptr_type arg1) ; static ats_int_type loop_4 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type aux_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ptr_alloc_01070_anairiats_rec_6 () ; static ats_void_type aux_43 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_43_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_int_type __ats_fun_46 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type __ats_fun_46_closure_make () ; static ats_int_type __ats_fun_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type funset_make_nil_03699_ () ; static ats_int_type compare_elt_elt_03698_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_51 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_51_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_51_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_03706_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type avltree_rrotate_04046_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type avltree_lrotate_04029_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) ; static ats_ptr_type insert_55 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type insert_55_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) ; static ats_ptr_type insert_55_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_03708_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type linset_make_nil_03727_ () ; static ats_int_type compare_elt_elt_03726_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_int_type avltree_height_04303_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type avltree_rrotate_04357_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_ptr_type avltree_lrotate_04333_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) ; static ats_bool_type insert_62 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_clo_ptr_type insert_62_closure_make (ats_clo_ref_type env0) ; static ats_bool_type insert_62_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) ; static ats_bool_type linset_insert_03736_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type aux_69 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type linset_listize_free_03752_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp121) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 2820(line=109, offs=7) -- 2989(line=113, offs=33) */ ATSstaticdec() ats_ptr_type aux1_1 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_bool_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; __ats_lab_aux1_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp3 = atspre_gt_int_int (arg0, 0) ; if (tmp3) { tmp4 = atspre_sub_int_int (arg0, 1) ; arg0 = tmp4 ; arg1 = tmp2 ; goto __ats_lab_aux1_1 ; // tail call } else { tmp1 = arg1 ; } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp1 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp1) ; } /* end of [aux1_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 3015(line=115, offs=7) -- 3240(line=121, offs=23) */ ATSstaticdec() ats_int_type aux2_2 (ats_int_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab_aux2_2: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp6 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; tmp7 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp6), atslab_s2exp_srt) ; tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp9) ; if (tmp8) { arg0 = arg0 ; arg1 = tmp7 ; goto __ats_lab_aux2_2 ; // tail call } else { tmp10 = atspre_add_int_int (arg0, 1) ; arg0 = tmp10 ; arg1 = tmp7 ; goto __ats_lab_aux2_2 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp5 = arg0 ; break ; } while (0) ; return (tmp5) ; } /* end of [aux2_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51781(line=1842, offs=7) -- 51921(line=1845, offs=6) */ ATSstaticdec() ats_int_type loop_4 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_int_type, tmp17) ; __ats_lab_loop_4: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp16 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp17 = atspre_isucc (arg1) ; arg0 = tmp16 ; arg1 = tmp17 ; goto __ats_lab_loop_4 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp15 = arg1 ; break ; } while (0) ; return (tmp15) ; } /* end of [loop_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 51764(line=1841, offs=13) -- 52005(line=1849, offs=4) */ ATSstaticdec() ats_int_type list_length_01410_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp14) ; __ats_lab_list_length_01410_ats_ptr_type: tmp14 = loop_4 (arg0, 0) ; return (tmp14) ; } /* end of [list_length_01410_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 3401(line=131, offs=7) -- 3740(line=146, offs=4) */ ATSstaticdec() ats_ptr_type aux_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (anairiats_rec_3, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_aux_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp18 = arg0 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp19 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp20 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp21 = aux_5 (arg0, tmp20) ; tmp22 = ats_select_mac(tmp19, atslab_s2qua_svs) ; tmp23 = ats_select_mac(tmp19, atslab_s2qua_sps) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_uni (tmp22, tmp23, tmp21) ; break ; } while (0) ; return (tmp18) ; } /* end of [aux_5] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/pointer.dats: 1817(line=56, offs=24) -- 1850(line=56, offs=57) */ ATSstaticdec() ats_ptr_type ptr_alloc_01070_anairiats_rec_6 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; __ats_lab_ptr_alloc_01070_anairiats_rec_6: tmp31 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_6)) ; return (tmp31) ; } /* end of [ptr_alloc_01070_anairiats_rec_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 2656(line=99, offs=1) -- 4712(line=186, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_int_type arg6, ats_ptr_type arg7, ats_ptr_type arg8) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_int_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_int_type, tmp13) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_int_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make: tmp12 = aux1_1 (arg6, arg7) ; tmp11 = aux2_2 (0, tmp12) ; tmp13 = list_length_01410_ats_ptr_type (arg7) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg8 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, arg8, atslab_0) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cstapp (arg3, tmp25) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_cst (arg3) ; break ; } while (0) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_confun (arg6, arg7, tmp24) ; tmp27 = aux_5 (tmp26, arg5) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PACKNAME_get () ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__d2con_stamp_make () ; tmp30 = ptr_alloc_01070_anairiats_rec_6 () ; tmp32 = ats_selsin_mac(tmp30, atslab_2) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_sym) = arg2 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_loc) = arg0 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_fil) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_scst) = arg3 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_npf) = arg6 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_vwtp) = arg4 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_qua) = arg5 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_arg) = arg7 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_arity_full) = tmp13 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_arity_real) = tmp11 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_ind) = arg8 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_type) = tmp27 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_tag) = -1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_pack) = tmp28 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp32), atslab_d2con_stamp) = tmp29 ; tmp0 = atspre_ref_make_view_ptr (tmp32) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 4782(line=191, offs=15) -- 4871(line=193, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym: tmp34 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp33 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp34), atslab_d2con_sym) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 4923(line=196, offs=15) -- 5012(line=198, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_loc (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_loc: tmp36 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp35 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp36), atslab_d2con_loc) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_loc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5064(line=201, offs=15) -- 5153(line=203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp37 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp38), atslab_d2con_fil) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5206(line=206, offs=16) -- 5296(line=208, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst: tmp40 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp39 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp40), atslab_d2con_scst) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5349(line=211, offs=15) -- 5438(line=213, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf: tmp42 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp41 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp42), atslab_d2con_npf) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_npf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5491(line=216, offs=16) -- 5581(line=218, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_vwtp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_vwtp: tmp44 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp43 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp44), atslab_d2con_vwtp) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_vwtp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5655(line=223, offs=15) -- 5744(line=225, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp45 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp46), atslab_d2con_qua) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_qua] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5796(line=228, offs=15) -- 5885(line=230, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arg: tmp48 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp47 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp48), atslab_d2con_arg) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 5944(line=233, offs=22) -- 6040(line=235, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full: tmp50 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp49 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp50), atslab_d2con_arity_full) ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6106(line=238, offs=22) -- 6202(line=240, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real: tmp52 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp51 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp52), atslab_d2con_arity_real) ; return (tmp51) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6261(line=243, offs=15) -- 6350(line=245, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_ind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_ind: tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp53 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp54), atslab_d2con_ind) ; return (tmp53) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6403(line=248, offs=16) -- 6493(line=250, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type: tmp56 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp55 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp56), atslab_d2con_type) ; return (tmp55) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6567(line=255, offs=15) -- 6643(line=257, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag: tmp58 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp57 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp58), atslab_d2con_tag) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6694(line=259, offs=15) -- 6782(line=261, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag: tmp60 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp60), atslab_d2con_tag) = arg1 ; return /* (tmp59) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_set_tag] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 6858(line=267, offs=3) -- 6948(line=269, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_pack (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_pack: tmp62 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp61 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp62), atslab_d2con_pack) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_pack] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7005(line=273, offs=3) -- 7096(line=275, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp: tmp64 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ; tmp63 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_6, tmp64), atslab_d2con_stamp) ; return (tmp63) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7216(line=284, offs=16) -- 7267(line=285, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg0) ; tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp66) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7346(line=291, offs=18) -- 7386(line=292, offs=33) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary: tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_arity_real (arg0) ; tmp67 = atspre_eq_int_int (tmp68, 0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7443(line=296, offs=18) -- 7490(line=297, offs=40) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_tagless (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_tagless: tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_tagless (tmp70) ; return (tmp69) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_tagless] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7571(line=303, offs=18) -- 7750(line=313, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listnil (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (anairiats_rec_7, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listnil: tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp72) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (tmp73 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_8, tmp73, atslab_0) ; tmp76 = ats_select_mac(tmp74, atslab_0) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (arg0, tmp76) ; if (tmp75) { tmp71 = ats_true_bool ; } else { tmp71 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (tmp73 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7657(line=309, offs=3) -- 7746(line=312, offs=22)") ; } __ats_lab_11_1: tmp71 = ats_false_bool ; break ; } while (0) ; return (tmp71) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listnil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7809(line=316, offs=19) -- 7988(line=326, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listcons (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (anairiats_rec_7, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listcons: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp78) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp79 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_8, tmp79, atslab_0) ; tmp82 = ats_select_mac(tmp80, atslab_1) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (arg0, tmp82) ; if (tmp81) { tmp77 = ats_true_bool ; } else { tmp77 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (tmp79 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 7895(line=322, offs=3) -- 7984(line=325, offs=22)") ; } __ats_lab_13_1: tmp77 = ats_false_bool ; break ; } while (0) ; return (tmp77) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listcons] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8048(line=329, offs=19) -- 8096(line=330, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_listlike (tmp84) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8179(line=336, offs=19) -- 8227(line=337, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_singular (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_singular: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_singular (tmp86) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_singular] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8310(line=343, offs=19) -- 8358(line=344, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_binarian (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_binarian: tmp88 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_binarian (tmp88) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_binarian] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8443(line=351, offs=3) -- 8485(line=351, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_linear (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_linear: tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_linear (tmp90) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_linear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8519(line=354, offs=3) -- 8564(line=354, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nonlinear (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nonlinear: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_scst (arg0) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_is_nonlinear (tmp92) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nonlinear] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8618(line=360, offs=3) -- 8650(line=360, offs=35) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con: tmp94 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con (arg0, arg1) ; tmp93 = atspre_ieq (tmp94, 0) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_d2con_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8708(line=365, offs=3) -- 8741(line=365, offs=36) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_d2con_d2con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp95) ; ATSlocal (ats_int_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_d2con_d2con: tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con (arg0, arg1) ; tmp95 = atspre_ineq (tmp96, 0) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__neq_d2con_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8802(line=369, offs=21) -- 8868(line=370, offs=56) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp (arg0) ; tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_stamp (arg1) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__compare_stamp_stamp (tmp98, tmp99) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 8973(line=378, offs=14) -- 9033(line=380, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp100) ; ATSlocal (ats_bool_type, tmp101) ; ATSlocal (ats_int_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con: tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg0) ; tmp101 = atspre_gte_int_int (tmp102, 0) ; if (tmp101) { tmp100 = ats_true_bool ; } else { tmp100 = ats_false_bool ; } /* end of [if] */ return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9085(line=384, offs=14) -- 9155(line=386, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_int_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn: tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg0) ; tmp103 = atspre_eq_int_int (tmp104, -1) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9226(line=391, offs=14) -- 9307(line=393, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con: tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_sym (arg1) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp106) ; return /* (tmp105) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9356(line=396, offs=13) -- 9390(line=396, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2con (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2con: /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (stdout, arg0) ; return /* (tmp107) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9413(line=398, offs=13) -- 9447(line=398, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con: /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (stderr, arg0) ; return /* (tmp108) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_43 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_bool_type, tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_int_type, tmp117) ; __ats_lab_aux_43: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp113 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp115 = atspre_gt_int_int (arg1, 0) ; if (tmp115) { /* tmp114 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp116 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp112) ; tmp117 = atspre_add_int_int (arg1, 1) ; arg0 = tmp113 ; arg1 = tmp117 ; goto __ats_lab_aux_43 ; // tail call break ; } while (0) ; return /* (tmp111) */ ; } /* end of [aux_43] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_43_closure_type ; ats_void_type aux_43_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_43 (((aux_43_closure_type*)cloptr)->closure_env_0, ((aux_43_closure_type*)cloptr)->closure_env_1, ((aux_43_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_43_closure_init (aux_43_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_43_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_43_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_43_closure_type *p_clo = ATS_MALLOC(sizeof(aux_43_closure_type)) ; aux_43_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_01885_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp110) ; __ats_lab_fprintlst_01885_ats_ptr_type: /* tmp110 = */ aux_43 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp110) */ ; } /* end of [fprintlst_01885_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9498(line=404, offs=3) -- 9553(line=404, offs=58) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst: /* tmp109 = */ fprintlst_01885_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con) ; return /* (tmp109) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9608(line=408, offs=16) -- 9647(line=408, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2conlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2conlst: /* tmp118 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (stdout, arg0) ; return /* (tmp118) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_d2conlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9673(line=410, offs=16) -- 9712(line=410, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2conlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2conlst: /* tmp119 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2conlst (stderr, arg0) ; return /* (tmp119) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_d2conlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 9943(line=423, offs=11) -- 10028(line=427, offs=35) */ ATSstaticdec() ats_int_type __ats_fun_46 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp120) ; __ats_lab___ats_fun_46: tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__compare_d2con_d2con (arg0, arg1) ; return (tmp120) ; } /* end of [__ats_fun_46] */ typedef struct { ats_fun_ptr_type closure_fun ; } __ats_fun_46_closure_type ; ats_int_type __ats_fun_46_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) { return __ats_fun_46 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type __ats_fun_46_closure_init (__ats_fun_46_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&__ats_fun_46_clofun ; return ; } /* end of function */ ats_clo_ptr_type __ats_fun_46_closure_make () { __ats_fun_46_closure_type *p_clo = ATS_MALLOC(sizeof(__ats_fun_46_closure_type)) ; __ats_fun_46_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 2749(line=94, offs=29) -- 2758(line=94, offs=38) */ ATSstaticdec() ats_ptr_type funset_make_nil_03699_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_funset_make_nil_03699_: tmp123 = (ats_sum_ptr_type)0 ; return (tmp123) ; } /* end of [funset_make_nil_03699_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10177(line=436, offs=14) -- 10204(line=436, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp122) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_nil: tmp122 = funset_make_nil_03699_ () ; return (tmp122) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 1954(line=57, offs=30) -- 1982(line=57, offs=58) */ ATSstaticdec() ats_int_type compare_elt_elt_03698_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp131) ; __ats_lab_compare_elt_elt_03698_ats_ptr_type: tmp131 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp131) ; } /* end of [compare_elt_elt_03698_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4143(line=153, offs=7) -- 4406(line=161, offs=20) */ ATSstaticdec() ats_bool_type aux_51 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_int_type, tmp130) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_bool_type, tmp133) ; __ats_lab_aux_51: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp130 = compare_elt_elt_03698_ats_ptr_type (env0, tmp127, env1) ; tmp132 = atspre_lt_int_int (tmp130, 0) ; if (tmp132) { arg0 = tmp128 ; goto __ats_lab_aux_51 ; // tail call } else { tmp133 = atspre_gt_int_int (tmp130, 0) ; if (tmp133) { arg0 = tmp129 ; goto __ats_lab_aux_51 ; // tail call } else { tmp126 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp126 = ats_false_bool ; break ; } while (0) ; return (tmp126) ; } /* end of [aux_51] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_51_closure_type ; ats_bool_type aux_51_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_51 (((aux_51_closure_type*)cloptr)->closure_env_0, ((aux_51_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_51_closure_init (aux_51_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_51_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_51_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { aux_51_closure_type *p_clo = ATS_MALLOC(sizeof(aux_51_closure_type)) ; aux_51_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4104(line=152, offs=3) -- 4426(line=163, offs=2) */ ATSstaticdec() ats_bool_type funset_is_member_03706_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp125) ; __ats_lab_funset_is_member_03706_ats_ptr_type: tmp125 = aux_51 (arg1, arg2, arg0) ; return (tmp125) ; } /* end of [funset_is_member_03706_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10233(line=440, offs=3) -- 10276(line=440, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_ismem (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_ismem: tmp124 = funset_is_member_03706_ats_ptr_type (arg0, arg1, statmp121) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_ismem] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 5504(line=202, offs=46) -- 6164(line=224, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04046_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_int_type, tmp158) ; ATSlocal (ats_int_type, tmp159) ; ATSlocal (ats_int_type, tmp160) ; ATSlocal (ats_int_type, tmp161) ; ATSlocal (ats_bool_type, tmp162) ; ATSlocal (ats_int_type, tmp163) ; ATSlocal (ats_int_type, tmp164) ; ATSlocal (ats_int_type, tmp165) ; ATSlocal (ats_int_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_int_type, tmp171) ; ATSlocal (ats_int_type, tmp172) ; ATSlocal (ats_int_type, tmp173) ; ATSlocal (ats_int_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_int_type, tmp176) ; ATSlocal (ats_int_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_int_type, tmp180) ; __ats_lab_avltree_rrotate_04046_ats_ptr_type: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp155 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_2) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_3) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp156 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_9, tmp156, atslab_0) ; tmp158 = tmp159 ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp156 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp158 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp157 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp161 = ats_caselptrlab_mac(anairiats_sum_9, tmp157, atslab_0) ; tmp160 = tmp161 ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (tmp157 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp160 = 0 ; break ; } while (0) ; tmp163 = atspre_iadd (tmp158, 0) ; tmp162 = atspre_igte (tmp163, tmp160) ; if (tmp162) { tmp164 = atspre_iadd (tmp160, 1) ; tmp166 = atspre_imax (tmp158, tmp164) ; tmp165 = atspre_iadd (1, tmp166) ; tmp167 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_0, tmp164) ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_2, tmp157) ; ats_selptrset_mac(anairiats_sum_9, tmp167, atslab_3, arg4) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_0, tmp165) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_1, tmp155) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_2, tmp156) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_3, tmp167) ; } else { // if (tmp157 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp168 = ats_caselptrlab_mac(anairiats_sum_9, tmp157, atslab_1) ; tmp169 = ats_caselptrlab_mac(anairiats_sum_9, tmp157, atslab_2) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_9, tmp157, atslab_3) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp169 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp172 = ats_caselptrlab_mac(anairiats_sum_9, tmp169, atslab_0) ; tmp171 = tmp172 ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp169 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp171 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (tmp170 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp174 = ats_caselptrlab_mac(anairiats_sum_9, tmp170, atslab_0) ; tmp173 = tmp174 ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp170 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp173 = 0 ; break ; } while (0) ; tmp177 = atspre_imax (tmp158, tmp171) ; tmp176 = atspre_iadd (1, tmp177) ; tmp175 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp175, atslab_0, tmp176) ; ats_selptrset_mac(anairiats_sum_9, tmp175, atslab_1, tmp155) ; ats_selptrset_mac(anairiats_sum_9, tmp175, atslab_2, tmp156) ; ats_selptrset_mac(anairiats_sum_9, tmp175, atslab_3, tmp169) ; tmp180 = atspre_imax (tmp173, arg3) ; tmp179 = atspre_iadd (1, tmp180) ; tmp178 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp178, atslab_0, tmp179) ; ats_selptrset_mac(anairiats_sum_9, tmp178, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp178, atslab_2, tmp170) ; ats_selptrset_mac(anairiats_sum_9, tmp178, atslab_3, arg4) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_1, tmp168) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_2, tmp175) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_3, tmp178) ; } /* end of [if] */ return (tmp154) ; } /* end of [avltree_rrotate_04046_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 4671(line=174, offs=46) -- 5362(line=196, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04029_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_int_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_int_type, tmp198) ; ATSlocal (ats_bool_type, tmp199) ; ATSlocal (ats_int_type, tmp200) ; ATSlocal (ats_int_type, tmp201) ; ATSlocal (ats_int_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_int_type, tmp209) ; ATSlocal (ats_int_type, tmp210) ; ATSlocal (ats_int_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_int_type, tmp213) ; ATSlocal (ats_int_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_int_type, tmp217) ; __ats_lab_avltree_lrotate_04029_ats_ptr_type: // if (arg4 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp192 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_1) ; tmp193 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_2) ; tmp194 = ats_caselptrlab_mac(anairiats_sum_9, arg4, atslab_3) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (tmp193 == (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_0) ; tmp195 = tmp196 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: // if (tmp193 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_36_1: tmp195 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp194 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_9, tmp194, atslab_0) ; tmp197 = tmp198 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (tmp194 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: tmp197 = 0 ; break ; } while (0) ; tmp200 = atspre_iadd (tmp197, 0) ; tmp199 = atspre_ilte (tmp195, tmp200) ; if (tmp199) { tmp201 = atspre_iadd (tmp195, 1) ; tmp203 = atspre_imax (tmp201, tmp197) ; tmp202 = atspre_iadd (1, tmp203) ; tmp204 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp204, atslab_0, tmp201) ; ats_selptrset_mac(anairiats_sum_9, tmp204, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp204, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp204, atslab_3, tmp193) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, tmp202) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, tmp192) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_2, tmp204) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_3, tmp194) ; } else { // if (tmp193 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp205 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_1) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_2) ; tmp207 = ats_caselptrlab_mac(anairiats_sum_9, tmp193, atslab_3) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (tmp206 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_9, tmp206, atslab_0) ; tmp208 = tmp209 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (tmp206 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp208 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp207 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_9, tmp207, atslab_0) ; tmp210 = tmp211 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (tmp207 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp210 = 0 ; break ; } while (0) ; tmp214 = atspre_imax (arg1, tmp208) ; tmp213 = atspre_iadd (1, tmp214) ; tmp212 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp212, atslab_0, tmp213) ; ats_selptrset_mac(anairiats_sum_9, tmp212, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_9, tmp212, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp212, atslab_3, tmp206) ; tmp217 = atspre_imax (tmp210, tmp197) ; tmp216 = atspre_iadd (1, tmp217) ; tmp215 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp215, atslab_0, tmp216) ; ats_selptrset_mac(anairiats_sum_9, tmp215, atslab_1, tmp192) ; ats_selptrset_mac(anairiats_sum_9, tmp215, atslab_2, tmp207) ; ats_selptrset_mac(anairiats_sum_9, tmp215, atslab_3, tmp194) ; tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, arg3) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, tmp205) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_2, tmp212) ; ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_3, tmp215) ; } /* end of [if] */ return (tmp191) ; } /* end of [avltree_lrotate_04029_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6278(line=231, offs=7) -- 7544(line=264, offs=6) */ ATSstaticdec() ats_ptr_type insert_55 (ats_ptr_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_int_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_bool_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_int_type, tmp152) ; ATSlocal (ats_int_type, tmp153) ; ATSlocal (ats_bool_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_int_type, tmp183) ; ATSlocal (ats_int_type, tmp184) ; ATSlocal (ats_int_type, tmp185) ; ATSlocal (ats_int_type, tmp186) ; ATSlocal (ats_bool_type, tmp187) ; ATSlocal (ats_int_type, tmp188) ; ATSlocal (ats_int_type, tmp189) ; ATSlocal (ats_int_type, tmp190) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; __ats_lab_insert_55: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_43_0 ; } __ats_lab_18_1: tmp139 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp140 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp141 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp142 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; tmp143 = compare_elt_elt_03698_ats_ptr_type (env0, tmp140, env1) ; tmp144 = atspre_lt_int_int (tmp143, 0) ; if (tmp144) { tmp145 = insert_55 (env0, env1, tmp141, arg1) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp145 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_9, tmp145, atslab_0) ; tmp146 = tmp147 ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (tmp145 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp146 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (tmp142 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_9, tmp142, atslab_0) ; tmp148 = tmp149 ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp142 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp148 = 0 ; break ; } while (0) ; tmp151 = atspre_isub (tmp146, tmp148) ; tmp150 = atspre_ilte (tmp151, 1) ; if (tmp150) { tmp153 = atspre_imax (tmp146, tmp148) ; tmp152 = atspre_iadd (1, tmp153) ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_0, tmp152) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_1, tmp140) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_2, tmp145) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_3, tmp142) ; } else { tmp138 = avltree_rrotate_04046_ats_ptr_type (tmp140, tmp146, tmp145, tmp148, tmp142) ; } /* end of [if] */ } else { tmp181 = atspre_gt_int_int (tmp143, 0) ; if (tmp181) { tmp182 = insert_55 (env0, env1, tmp142, arg1) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (tmp141 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp184 = ats_caselptrlab_mac(anairiats_sum_9, tmp141, atslab_0) ; tmp183 = tmp184 ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (tmp141 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: tmp183 = 0 ; break ; } while (0) ; do { /* branch: __ats_lab_33 */ __ats_lab_33_0: if (tmp182 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_9, tmp182, atslab_0) ; tmp185 = tmp186 ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: // if (tmp182 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_34_1: tmp185 = 0 ; break ; } while (0) ; tmp188 = atspre_isub (tmp185, tmp183) ; tmp187 = atspre_ilte (tmp188, 1) ; if (tmp187) { tmp190 = atspre_imax (tmp183, tmp185) ; tmp189 = atspre_iadd (1, tmp190) ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_0, tmp189) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_1, tmp140) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_2, tmp141) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_3, tmp182) ; } else { tmp138 = avltree_lrotate_04029_ats_ptr_type (tmp140, tmp183, tmp141, tmp185, tmp182) ; } /* end of [if] */ } else { ats_ptrget_mac(ats_bool_type, arg1) = ats_true_bool ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_0, tmp139) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_2, tmp141) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_3, tmp142) ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_43_1: ats_ptrget_mac(ats_bool_type, arg1) = ats_false_bool ; tmp218 = (ats_sum_ptr_type)0 ; tmp219 = (ats_sum_ptr_type)0 ; tmp138 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_1, env0) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_2, tmp218) ; ats_selptrset_mac(anairiats_sum_9, tmp138, atslab_3, tmp219) ; break ; } while (0) ; return (tmp138) ; } /* end of [insert_55] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } insert_55_closure_type ; ats_ptr_type insert_55_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return insert_55 (((insert_55_closure_type*)cloptr)->closure_env_0, ((insert_55_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_55_closure_init (insert_55_closure_type *p_clo, ats_ptr_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_55_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type insert_55_closure_make (ats_ptr_type env0, ats_clo_ref_type env1) { insert_55_closure_type *p_clo = ATS_MALLOC(sizeof(insert_55_closure_type)) ; insert_55_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_avltree.dats: 6244(line=230, offs=3) -- 7632(line=267, offs=2) */ ATSstaticdec() ats_bool_type funset_insert_03708_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp137) ; ATSlocal (ats_bool_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; __ats_lab_funset_insert_03708_ats_ptr_type: /* ats_bool_type tmp220 ; */ tmp221 = insert_55 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp220)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp221 ; tmp137 = tmp220 ; return (tmp137) ; } /* end of [funset_insert_03708_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10330(line=445, offs=3) -- 10417(line=448, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_add: /* ats_ptr_type tmp135 ; */ tmp135 = arg0 ; tmp136 = funset_insert_03708_ats_ptr_type ((&tmp135), arg1, statmp121) ; tmp134 = tmp135 ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2859(line=106, offs=17) -- 2868(line=106, offs=26) */ ATSstaticdec() ats_ptr_type linset_make_nil_03727_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp223) ; __ats_lab_linset_make_nil_03727_: tmp223 = (ats_sum_ptr_type)0 ; return (tmp223) ; } /* end of [linset_make_nil_03727_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10491(line=453, offs=17) -- 10518(line=453, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_nil: tmp222 = linset_make_nil_03727_ () ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 2013(line=65, offs=17) -- 2041(line=65, offs=45) */ ATSstaticdec() ats_int_type compare_elt_elt_03726_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp234) ; __ats_lab_compare_elt_elt_03726_ats_ptr_type: tmp234 = ((ats_int_type(*)(ats_clo_ptr_type, ats_ptr_type, ats_ptr_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp234) ; } /* end of [compare_elt_elt_03726_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 3655(line=140, offs=3) -- 3740(line=141, offs=54) */ ATSstaticdec() ats_int_type avltree_height_04303_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp239) ; ATSlocal (ats_int_type, tmp240) ; __ats_lab_avltree_height_04303_ats_ptr_type: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp239 = tmp240 ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp239 = 0 ; break ; } while (0) ; return (tmp239) ; } /* end of [avltree_height_04303_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 6846(line=274, offs=32) -- 8280(line=323, offs=4) */ ATSstaticdec() ats_ptr_type avltree_rrotate_04357_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_int_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_int_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_bool_type, tmp258) ; ATSlocal (ats_int_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_int_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_int_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_int_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_int_type, tmp272) ; ATSlocal (ats_int_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_int_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; __ats_lab_avltree_rrotate_04357_ats_ptr_type: tmp250 = ats_ptrget_mac(ats_ptr_type, arg2) ; // if (tmp250 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp251 = &ats_caselptrlab_mac(anairiats_sum_9, tmp250, atslab_0) ; tmp252 = &ats_caselptrlab_mac(anairiats_sum_9, tmp250, atslab_2) ; tmp253 = &ats_caselptrlab_mac(anairiats_sum_9, tmp250, atslab_3) ; tmp255 = ats_ptrget_mac(ats_ptr_type, tmp252) ; tmp254 = avltree_height_04303_ats_ptr_type (tmp255) ; tmp257 = ats_ptrget_mac(ats_ptr_type, tmp253) ; tmp256 = avltree_height_04303_ats_ptr_type (tmp257) ; tmp259 = atspre_iadd (tmp254, 0) ; tmp258 = atspre_igte (tmp259, tmp256) ; if (tmp258) { tmp260 = atspre_iadd (tmp256, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp260 ; tmp261 = ats_ptrget_mac(ats_ptr_type, tmp253) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp261 ; tmp263 = atspre_imax (tmp254, tmp260) ; tmp262 = atspre_iadd (1, tmp263) ; ats_ptrget_mac(ats_int_type, tmp251) = tmp262 ; ats_ptrget_mac(ats_ptr_type, tmp253) = arg5 ; tmp249 = tmp250 ; } else { tmp264 = ats_ptrget_mac(ats_ptr_type, tmp253) ; // if (tmp264 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp265 = &ats_caselptrlab_mac(anairiats_sum_9, tmp264, atslab_0) ; tmp266 = &ats_caselptrlab_mac(anairiats_sum_9, tmp264, atslab_2) ; tmp267 = &ats_caselptrlab_mac(anairiats_sum_9, tmp264, atslab_3) ; tmp269 = ats_ptrget_mac(ats_ptr_type, tmp266) ; tmp268 = avltree_height_04303_ats_ptr_type (tmp269) ; tmp271 = ats_ptrget_mac(ats_ptr_type, tmp267) ; tmp270 = avltree_height_04303_ats_ptr_type (tmp271) ; tmp273 = atspre_imax (tmp270, arg3) ; tmp272 = atspre_iadd (1, tmp273) ; ats_ptrget_mac(ats_int_type, arg0) = tmp272 ; tmp274 = ats_ptrget_mac(ats_ptr_type, tmp267) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp274 ; tmp276 = atspre_imax (tmp254, tmp268) ; tmp275 = atspre_iadd (1, tmp276) ; ats_ptrget_mac(ats_int_type, tmp251) = tmp275 ; tmp277 = ats_ptrget_mac(ats_ptr_type, tmp266) ; ats_ptrget_mac(ats_ptr_type, tmp253) = tmp277 ; ats_ptrget_mac(ats_int_type, tmp265) = arg1 ; ats_ptrget_mac(ats_ptr_type, tmp266) = tmp250 ; ats_ptrget_mac(ats_ptr_type, tmp267) = arg5 ; tmp249 = tmp264 ; } /* end of [if] */ return (tmp249) ; } /* end of [avltree_rrotate_04357_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 5209(line=217, offs=32) -- 6673(line=266, offs=4) */ ATSstaticdec() ats_ptr_type avltree_lrotate_04333_ats_ptr_type (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_int_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_int_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_bool_type, tmp298) ; ATSlocal (ats_int_type, tmp299) ; ATSlocal (ats_int_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_int_type, tmp302) ; ATSlocal (ats_int_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_int_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_int_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_int_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_int_type, tmp315) ; ATSlocal (ats_int_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab_avltree_lrotate_04333_ats_ptr_type: tmp290 = ats_ptrget_mac(ats_ptr_type, arg4) ; // if (tmp290 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp291 = &ats_caselptrlab_mac(anairiats_sum_9, tmp290, atslab_0) ; tmp292 = &ats_caselptrlab_mac(anairiats_sum_9, tmp290, atslab_2) ; tmp293 = &ats_caselptrlab_mac(anairiats_sum_9, tmp290, atslab_3) ; tmp295 = ats_ptrget_mac(ats_ptr_type, tmp292) ; tmp294 = avltree_height_04303_ats_ptr_type (tmp295) ; tmp297 = ats_ptrget_mac(ats_ptr_type, tmp293) ; tmp296 = avltree_height_04303_ats_ptr_type (tmp297) ; tmp299 = atspre_iadd (tmp296, 0) ; tmp298 = atspre_ilte (tmp294, tmp299) ; if (tmp298) { tmp300 = atspre_iadd (tmp294, 1) ; ats_ptrget_mac(ats_int_type, arg0) = tmp300 ; tmp301 = ats_ptrget_mac(ats_ptr_type, tmp292) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp301 ; tmp303 = atspre_imax (tmp300, tmp296) ; tmp302 = atspre_iadd (1, tmp303) ; ats_ptrget_mac(ats_int_type, tmp291) = tmp302 ; ats_ptrget_mac(ats_ptr_type, tmp292) = arg5 ; tmp289 = tmp290 ; } else { tmp304 = ats_ptrget_mac(ats_ptr_type, tmp292) ; // if (tmp304 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp305 = &ats_caselptrlab_mac(anairiats_sum_9, tmp304, atslab_0) ; tmp306 = &ats_caselptrlab_mac(anairiats_sum_9, tmp304, atslab_2) ; tmp307 = &ats_caselptrlab_mac(anairiats_sum_9, tmp304, atslab_3) ; tmp309 = ats_ptrget_mac(ats_ptr_type, tmp306) ; tmp308 = avltree_height_04303_ats_ptr_type (tmp309) ; tmp311 = ats_ptrget_mac(ats_ptr_type, tmp307) ; tmp310 = avltree_height_04303_ats_ptr_type (tmp311) ; tmp313 = atspre_imax (arg1, tmp308) ; tmp312 = atspre_iadd (1, tmp313) ; ats_ptrget_mac(ats_int_type, arg0) = tmp312 ; tmp314 = ats_ptrget_mac(ats_ptr_type, tmp306) ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp314 ; tmp316 = atspre_imax (tmp310, tmp296) ; tmp315 = atspre_iadd (1, tmp316) ; ats_ptrget_mac(ats_int_type, tmp291) = tmp315 ; tmp317 = ats_ptrget_mac(ats_ptr_type, tmp307) ; ats_ptrget_mac(ats_ptr_type, tmp292) = tmp317 ; ats_ptrget_mac(ats_int_type, tmp305) = arg3 ; ats_ptrget_mac(ats_ptr_type, tmp306) = arg5 ; ats_ptrget_mac(ats_ptr_type, tmp307) = tmp290 ; tmp289 = tmp304 ; } /* end of [if] */ return (tmp289) ; } /* end of [avltree_lrotate_04333_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8387(line=331, offs=5) -- 10085(line=382, offs=4) */ ATSstaticdec() ats_bool_type insert_62 (ats_clo_ref_type env0, ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_int_type, tmp233) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_bool_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_int_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_bool_type, tmp244) ; ATSlocal (ats_int_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp278) ; ATSlocal (ats_bool_type, tmp279) ; ATSlocal (ats_int_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_bool_type, tmp284) ; ATSlocal (ats_int_type, tmp285) ; ATSlocal (ats_int_type, tmp286) ; ATSlocal (ats_int_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; __ats_lab_insert_62: do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_44_1: tmp229 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp230 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; tmp231 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_2) ; tmp232 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg0), atslab_3) ; tmp235 = ats_ptrget_mac(ats_ptr_type, tmp230) ; tmp233 = compare_elt_elt_03726_ats_ptr_type (arg1, tmp235, env0) ; tmp236 = atspre_lt_int_int (tmp233, 0) ; if (tmp236) { tmp237 = insert_62 (env0, tmp231, arg1) ; tmp241 = ats_ptrget_mac(ats_ptr_type, tmp231) ; tmp238 = avltree_height_04303_ats_ptr_type (tmp241) ; tmp243 = ats_ptrget_mac(ats_ptr_type, tmp232) ; tmp242 = avltree_height_04303_ats_ptr_type (tmp243) ; tmp245 = atspre_isub (tmp238, tmp242) ; tmp244 = atspre_ilte (tmp245, 1) ; if (tmp244) { tmp247 = atspre_imax (tmp238, tmp242) ; tmp246 = atspre_iadd (1, tmp247) ; ats_ptrget_mac(ats_int_type, tmp229) = tmp246 ; tmp228 = tmp237 ; } else { tmp248 = avltree_rrotate_04357_ats_ptr_type (tmp229, tmp238, tmp231, tmp242, tmp232, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp248 ; tmp228 = tmp237 ; } /* end of [if] */ } else { tmp278 = atspre_gt_int_int (tmp233, 0) ; if (tmp278) { tmp279 = insert_62 (env0, tmp232, arg1) ; tmp281 = ats_ptrget_mac(ats_ptr_type, tmp231) ; tmp280 = avltree_height_04303_ats_ptr_type (tmp281) ; tmp283 = ats_ptrget_mac(ats_ptr_type, tmp232) ; tmp282 = avltree_height_04303_ats_ptr_type (tmp283) ; tmp285 = atspre_isub (tmp282, tmp280) ; tmp284 = atspre_ilte (tmp285, 1) ; if (tmp284) { tmp287 = atspre_imax (tmp280, tmp282) ; tmp286 = atspre_iadd (1, tmp287) ; ats_ptrget_mac(ats_int_type, tmp229) = tmp286 ; tmp228 = tmp279 ; } else { tmp288 = avltree_lrotate_04333_ats_ptr_type (tmp229, tmp280, tmp231, tmp282, tmp232, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp288 ; tmp228 = tmp279 ; } /* end of [if] */ } else { tmp228 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp319 = (ats_sum_ptr_type)0 ; tmp320 = (ats_sum_ptr_type)0 ; tmp318 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp318, atslab_0, 1) ; ats_selptrset_mac(anairiats_sum_9, tmp318, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp318, atslab_2, tmp319) ; ats_selptrset_mac(anairiats_sum_9, tmp318, atslab_3, tmp320) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp318 ; tmp228 = ats_false_bool ; break ; } while (0) ; return (tmp228) ; } /* end of [insert_62] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_clo_ref_type closure_env_0 ; } insert_62_closure_type ; ats_bool_type insert_62_clofun (ats_clo_ptr_type cloptr, ats_ref_type arg0, ats_ptr_type arg1) { return insert_62 (((insert_62_closure_type*)cloptr)->closure_env_0, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type insert_62_closure_init (insert_62_closure_type *p_clo, ats_clo_ref_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&insert_62_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type insert_62_closure_make (ats_clo_ref_type env0) { insert_62_closure_type *p_clo = ATS_MALLOC(sizeof(insert_62_closure_type)) ; insert_62_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 8360(line=329, offs=3) -- 10136(line=388, offs=4) */ ATSstaticdec() ats_bool_type linset_insert_03736_ats_ptr_type (ats_ref_type arg0, ats_ptr_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp227) ; __ats_lab_linset_insert_03736_ats_ptr_type: tmp227 = insert_62 (arg2, arg0, arg1) ; return (tmp227) ; } /* end of [linset_insert_03736_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10548(line=457, offs=3) -- 10635(line=460, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_add (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_bool_type, tmp226) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_add: /* ats_ptr_type tmp225 ; */ tmp225 = arg0 ; tmp226 = linset_insert_03736_ats_ptr_type ((&tmp225), arg1, statmp121) ; tmp224 = tmp225 ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_add] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27949(line=1019, offs=7) -- 28232(line=1029, offs=19) */ ATSstaticdec() ats_ptr_type aux_69 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; __ats_lab_aux_69: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp324 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp325 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ; tmp326 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_3) ; ATS_FREE(arg0) ; tmp327 = aux_69 (tmp326, arg1) ; tmp328 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp328, atslab_0, tmp324) ; ats_selptrset_mac(anairiats_sum_1, tmp328, atslab_1, tmp327) ; arg0 = tmp325 ; arg1 = tmp328 ; goto __ats_lab_aux_69 ; // tail call break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp323 = arg1 ; break ; } while (0) ; return (tmp323) ; } /* end of [aux_69] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/linset_avltree.dats: 27898(line=1017, offs=21) -- 28295(line=1033, offs=4) */ ATSstaticdec() ats_ptr_type linset_listize_free_03752_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp329) ; __ats_lab_linset_listize_free_03752_ats_ptr_type: tmp329 = (ats_sum_ptr_type)0 ; tmp322 = aux_69 (arg0, tmp329) ; return (tmp322) ; } /* end of [linset_listize_free_03752_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_dcon.dats: 10700(line=463, offs=26) -- 10734(line=463, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_listize_free (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_listize_free: tmp321 = linset_listize_free_03752_ats_ptr_type (arg0) ; return (tmp321) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2conset_vt_listize_free] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_avltree_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_avltree_2edats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2linset_avltree_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2DATS_2linset_avltree_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_dcon_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp121, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp121 = __ats_fun_46_closure_make () ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_dcon_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_viewat_dats.c0000664000175000017500000021301112655455557021370 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_6 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eproj_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewithout_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALderef_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_nonmut_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2exp_addrless_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_pfobj_search_none_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_addreq_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2addr_viewat_deref_context_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_atview_69) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_s2exp_set_viewat_without_70) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__PFOBJ_0) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat_check) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_01849_ () ; static ats_void_type prerr_error3_loc_01855_ (ats_ptr_type arg0) ; static ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_context_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxlabs_4 (ats_ptr_type arg0) ; static ats_ptr_type auxmain_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s2addr_get_root_7 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type eq_dlablst_slablst_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_nonatview_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr_nonwithout_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxck_addreq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_nonptr_14 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxerr1_15 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlablst1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr_nonptr_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlablst1_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 1494(line=41, offs=1) -- 1542(line=43, offs=31) */ ATSstaticdec() ats_void_type prerr_FILENAME_01849_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_01849_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_viewat")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_01849_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_01855_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; __ats_lab_prerr_error3_loc_01855_: /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp3) */ ; } /* end of [prerr_error3_loc_01855_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 1976(line=74, offs=1) -- 2365(line=86, offs=4) */ ATSstaticdec() ats_void_type auxerr_pfobj_1 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_auxerr_pfobj_1: /* tmp2 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp5 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be performed")) ; /* tmp6 = */ atspre_prerr_string (ATSstrcst(": the proof search for view located at [")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp8 = */ atspre_prerr_string (ATSstrcst("] failed to turn up a result.")) ; /* tmp9 = */ atspre_prerr_newline () ; tmp10 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp10)->tag = 53 ; ats_selptrset_mac(anairiats_sum_0, tmp10, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp10, atslab_1, arg1) ; /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ; return /* (tmp1) */ ; } /* end of [auxerr_pfobj_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 2396(line=89, offs=1) -- 2755(line=99, offs=4) */ ATSstaticdec() ats_void_type auxerr_context_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab_auxerr_context_3: /* tmp12 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp13 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be performed")) ; /* tmp14 = */ atspre_prerr_string (ATSstrcst(": context cannot be formed for the atview being taken.")) ; /* tmp15 = */ atspre_prerr_newline () ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp16)->tag = 68 ; ats_selptrset_mac(anairiats_sum_1, tmp16, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp16, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_1, tmp16, atslab_2, arg2) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp16) ; return /* (tmp11) */ ; } /* end of [auxerr_context_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 2788(line=101, offs=5) -- 3071(line=112, offs=2) */ ATSstaticdec() ats_ptr_type auxlabs_4 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab_auxlabs_4: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp18), atslab_d3lab_node) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)tmp20)->tag != 0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp20, atslab_0) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp22)->tag = 0 ; ats_selptrset_mac(anairiats_sum_4, tmp22, atslab_0, tmp21) ; tmp23 = auxlabs_4 (tmp19) ; tmp17 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp17, atslab_0, tmp22) ; ats_selptrset_mac(anairiats_sum_2, tmp17, atslab_1, tmp23) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp17 = (ats_sum_ptr_type)0 ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp17 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp17) ; } /* end of [auxlabs_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 3097(line=114, offs=5) -- 3931(line=150, offs=4) */ ATSstaticdec() ats_ptr_type auxmain_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; // ATSlocal_void (tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; // ATSlocal_void (tmp40) ; __ats_lab_auxmain_5: // tmp25 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ; tmp27 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_2) ; tmp28 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_3) ; ATS_FREE(arg1) ; /* ats_ptr_type tmp29 ; */ tmp29 = (ats_sum_ptr_type)0 ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp27, arg2, (&tmp29)) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp29 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_6, tmp29, atslab_0) ; /* tmp32 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp25) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_without (tmp30) ; tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp31, tmp33) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp26, tmp34) ; tmp37 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ats_selptrset_mac(anairiats_sum_6, tmp37, atslab_0, tmp35) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp25, tmp37) ; tmp38 = auxlabs_4 (arg2) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_proj (tmp28, tmp34, tmp38) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp30, tmp39) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp29 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: /* tmp40 = */ auxerr_context_3 (arg0, tmp27, arg2) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; break ; } while (0) ; return (tmp24) ; } /* end of [auxmain_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 4009(line=156, offs=3) -- 4260(line=166, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref: tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp42 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_6, tmp42, atslab_0) ; ATS_FREE(tmp42) ; tmp41 = auxmain_5 (arg0, tmp43, arg2) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp42 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: /* tmp44 = */ auxerr_pfobj_1 (arg0, arg1) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_err (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_view) ; break ; } while (0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 4342(line=172, offs=5) -- 4548(line=180, offs=33) */ ATSstaticdec() ats_ptr_type s2addr_get_root_7 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_s2addr_get_root_7: tmp46 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg0), atslab_s2exp_node) ; do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp46)->tag != 16) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp47 = ats_caselptrlab_mac(anairiats_sum_1, tmp46, atslab_0) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_1, tmp46, atslab_2) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp48 ; tmp45 = tmp47 ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp49 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp49 ; tmp45 = arg0 ; break ; } while (0) ; return (tmp45) ; } /* end of [s2addr_get_root_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 4582(line=183, offs=5) -- 5093(line=202, offs=6) */ ATSstaticdec() ats_bool_type eq_dlablst_slablst_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; __ats_lab_eq_dlablst_slablst_8: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_10_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_11_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp55 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp51), atslab_d3lab_node) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp55)->tag != 0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: if (((ats_sum_ptr_type)tmp53)->tag != 0) { goto __ats_lab_13_1 ; } __ats_lab_12_2: tmp56 = ats_caselptrlab_mac(anairiats_sum_4, tmp55, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_4, tmp53, atslab_0) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp56, tmp57) ; if (tmp58) { arg0 = tmp52 ; arg1 = tmp54 ; goto __ats_lab_eq_dlablst_slablst_8 ; // tail call } else { tmp50 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: __ats_lab_13_2: tmp50 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: tmp50 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp50 = ats_false_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp50 = ats_true_bool ; break ; } while (0) ; break ; } while (0) ; return (tmp50) ; } /* end of [eq_dlablst_slablst_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 5179(line=210, offs=1) -- 5604(line=221, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonatview_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; // ATSlocal_void (tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab_auxerr_nonatview_9: /* tmp60 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp61 = */ atspre_prerr_string (ATSstrcst(": viewat-restoration cannot be performed")) ; /* tmp62 = */ atspre_prerr_string (ATSstrcst(": proof of some atview is needed but one of the following type is given: ")) ; /* tmp63 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp65 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp66 = */ atspre_prerr_newline () ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp67)->tag = 69 ; ats_selptrset_mac(anairiats_sum_0, tmp67, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp67, atslab_1, arg1) ; /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp67) ; return /* (tmp59) */ ; } /* end of [auxerr_nonatview_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 5639(line=224, offs=1) -- 6059(line=235, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonwithout_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; // ATSlocal_void (tmp72) ; // ATSlocal_void (tmp73) ; // ATSlocal_void (tmp74) ; // ATSlocal_void (tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_auxerr_nonwithout_10: /* tmp69 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp70 = */ atspre_prerr_string (ATSstrcst(": viewat-restoration cannot be performed")) ; /* tmp71 = */ atspre_prerr_string (ATSstrcst(": the following type is expected to be a without-type but it is not: ")) ; /* tmp72 = */ atspre_prerr_string (ATSstrcst("[")) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp74 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp75 = */ atspre_prerr_newline () ; tmp76 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp76)->tag = 70 ; ats_selptrset_mac(anairiats_sum_0, tmp76, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp76, atslab_1, arg1) ; /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp76) ; return /* (tmp68) */ ; } /* end of [auxerr_nonwithout_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 6095(line=237, offs=5) -- 6892(line=264, offs=4) */ ATSstaticdec() ats_void_type auxck_addreq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; ATSlocal (ats_bool_type, tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; // ATSlocal_void (tmp87) ; // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; // ATSlocal_void (tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; __ats_lab_auxck_addreq_11: tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg3) ; /* ats_ptr_type tmp79 ; */ tmp80 = s2addr_get_root_7 (tmp78, (&tmp79)) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_syneq (arg1, tmp80) ; if (tmp81) { tmp82 = eq_dlablst_slablst_8 (arg2, tmp79) ; } else { tmp82 = ats_false_bool ; } /* end of [if] */ tmp83 = atspre_neg_bool (tmp82) ; if (tmp83) { /* tmp84 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp85 = */ atspre_prerr_string (ATSstrcst(": viewat-restoration cannot be performed")) ; /* tmp86 = */ atspre_prerr_string (ATSstrcst(": mismatch of bef/aft locations of atviews:\n")) ; /* tmp87 = */ atspre_prerr_string (ATSstrcst("bef: [")) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ; /* tmp89 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp90 = */ atspre_prerr_newline () ; /* tmp91 = */ atspre_prerr_string (ATSstrcst("aft: [")) ; /* tmp92 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp78) ; /* tmp93 = */ atspre_prerr_string (ATSstrcst("]")) ; /* tmp94 = */ atspre_prerr_newline () ; tmp95 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp95)->tag = 55 ; ats_selptrset_mac(anairiats_sum_8, tmp95, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_8, tmp95, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp95, atslab_2, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp95, atslab_3, tmp78) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp95) ; } else { /* empty */ } /* end of [if] */ return /* (tmp77) */ ; } /* end of [auxck_addreq_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 6971(line=269, offs=19) -- 7383(line=288, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat: tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg3) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp97), atslab_s2exp_node) ; do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp98)->tag != 12) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_0, tmp98, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_0, tmp98, atslab_1) ; tmp101 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_exch_type (arg0, arg1, arg2, tmp99) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat_check (arg0, arg1, arg2, tmp97, tmp101, tmp99, tmp100) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: /* tmp96 = */ auxerr_nonatview_9 (arg0, tmp97) ; break ; } while (0) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 7449(line=291, offs=25) -- 8178(line=319, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat_check (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ // ATSlocal_void (tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; // ATSlocal_void (tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat_check: tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg4) ; tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, tmp103), atslab_s2exp_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp105)->tag != 23) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp106 = ats_caselptrlab_mac(anairiats_sum_4, tmp105, atslab_0) ; tmp104 = tmp106 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: /* tmp107 = */ auxerr_nonwithout_10 (arg0, tmp103) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; /* tmp102 = */ auxck_addreq_11 (arg0, arg1, arg2, arg6) ; return /* (tmp102) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 8271(line=328, offs=1) -- 8528(line=337, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonptr_14 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab_auxerr_nonptr_14: /* tmp109 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp110 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is expected to be a pointer.")) ; /* tmp111 = */ atspre_prerr_newline () ; tmp112 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp112)->tag = 52 ; ats_selptrset_mac(anairiats_sum_4, tmp112, atslab_0, arg1) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp112) ; return /* (tmp108) */ ; } /* end of [auxerr_nonptr_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 8560(line=339, offs=5) -- 8887(line=350, offs=4) */ ATSstaticdec() ats_void_type auxerr1_15 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp113) ; // ATSlocal_void (tmp114) ; // ATSlocal_void (tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; // ATSlocal_void (tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_auxerr1_15: /* tmp114 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp115 = */ atspre_prerr_string (ATSstrcst(": the dynamic variable [")) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp117 = */ atspre_prerr_string (ATSstrcst("] is not mutable and thus [view@] cannot be applied.")) ; /* tmp118 = */ atspre_prerr_newline () ; tmp119 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ((ats_sum_ptr_type)tmp119)->tag = 48 ; ats_selptrset_mac(anairiats_sum_0, tmp119, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_0, tmp119, atslab_1, arg1) ; /* tmp113 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp119) ; return /* (tmp113) */ ; } /* end of [auxerr1_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 8913(line=352, offs=5) -- 9250(line=369, offs=4) */ ATSstaticdec() ats_ptr_type auxlablst1_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; // ATSlocal_void (tmp123) ; __ats_lab_auxlablst1_16: tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (tmp121 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_6, tmp121, atslab_0) ; ATS_FREE(tmp121) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref (arg0, tmp122, arg3) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (tmp121 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: /* tmp123 = */ auxerr_nonptr_14 (arg0, arg2) ; tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; return (tmp120) ; } /* end of [auxlablst1_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 9329(line=375, offs=3) -- 10797(line=425, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; // ATSlocal_void (tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat: tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d2exp_loc) ; tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp126)->tag != 40) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 9375(line=378, offs=5) -- 9408(line=378, offs=38)") ; } tmp127 = ats_caselptrlab_mac(anairiats_sum_4, tmp126, atslab_0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (tmp127) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp128)->tag != 2) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp129 = ats_caselptrlab_mac(anairiats_sum_0, tmp128, atslab_0) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_0, tmp128, atslab_1) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp130) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp129) ; if (tmp132 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 9546(line=387, offs=9) -- 9579(line=387, offs=42)") ; } tmp133 = ats_caselptrlab_mac(anairiats_sum_6, tmp132, atslab_0) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (tmp125, tmp129) ; tmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (tmp125, tmp134, tmp129) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_viewat_deref (tmp125, tmp133, tmp131) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat (tmp125, tmp136, tmp135, tmp131) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp128)->tag != 0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp137 = ats_caselptrlab_mac(anairiats_sum_0, tmp128, atslab_0) ; tmp138 = ats_caselptrlab_mac(anairiats_sum_0, tmp128, atslab_1) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp137) ; /* tmp140 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp139) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp138) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp139) ; tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp142) ; tmp144 = auxlablst1_16 (tmp125, tmp143, tmp139, tmp141) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat (tmp125, tmp144, tmp139, tmp141) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp128)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: /* tmp145 = */ prerr_error3_loc_01855_ (tmp125) ; /* tmp146 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be applied")) ; /* tmp147 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is addressless.")) ; /* tmp148 = */ atspre_prerr_newline () ; tmp150 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp150)->tag = 51 ; ats_selptrset_mac(anairiats_sum_4, tmp150, atslab_0, arg0) ; /* tmp149 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp150) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp125) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: /* tmp151 = */ prerr_error3_loc_01855_ (tmp125) ; /* tmp152 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be applied: ")) ; /* tmp153 = */ atspre_prerr_newline () ; tmp155 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp155)->tag = 50 ; ats_selptrset_mac(anairiats_sum_4, tmp155, atslab_0, arg0) ; /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp155) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp125) ; break ; } while (0) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 10884(line=434, offs=1) -- 11141(line=443, offs=4) */ ATSstaticdec() ats_void_type auxerr_nonptr_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp156) ; // ATSlocal_void (tmp157) ; // ATSlocal_void (tmp158) ; // ATSlocal_void (tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_auxerr_nonptr_18: /* tmp157 = */ prerr_error3_loc_01855_ (arg0) ; /* tmp158 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is expected to be a pointer.")) ; /* tmp159 = */ atspre_prerr_newline () ; tmp160 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp160)->tag = 52 ; ats_selptrset_mac(anairiats_sum_4, tmp160, atslab_0, arg1) ; /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp160) ; return /* (tmp156) */ ; } /* end of [auxerr_nonptr_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 11173(line=445, offs=5) -- 11700(line=471, offs=4) */ ATSstaticdec() ats_ptr_type auxlablst1_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; // ATSlocal_void (tmp165) ; // ATSlocal_void (tmp166) ; __ats_lab_auxlablst1_19: tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp162 == (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp163 = ats_caselptrlab_mac(anairiats_sum_6, tmp162, atslab_0) ; ATS_FREE(tmp162) ; tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg4) ; /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat (arg0, tmp163, arg3, tmp164) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn (arg0, arg2, arg3, arg4) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp162 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: /* tmp166 = */ auxerr_nonptr_18 (arg0, arg2) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (arg0) ; break ; } while (0) ; return (tmp161) ; } /* end of [auxlablst1_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 11785(line=477, offs=3) -- 13539(line=534, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; // ATSlocal_void (tmp197) ; // ATSlocal_void (tmp198) ; // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; // ATSlocal_void (tmp204) ; // ATSlocal_void (tmp205) ; // ATSlocal_void (tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn: tmp168 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d2exp_loc) ; tmp169 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp169)->tag != 42) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 11832(line=479, offs=7) -- 11877(line=480, offs=37)") ; } tmp170 = ats_caselptrlab_mac(anairiats_sum_0, tmp169, atslab_0) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_0, tmp169, atslab_1) ; tmp172 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp170), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp172)->tag != 40) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 11884(line=481, offs=7) -- 11920(line=481, offs=43)") ; } tmp173 = ats_caselptrlab_mac(anairiats_sum_4, tmp172, atslab_0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lvalize (tmp173) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp174)->tag != 2) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp175 = ats_caselptrlab_mac(anairiats_sum_0, tmp174, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_0, tmp174, atslab_1) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp176) ; tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp175) ; if (tmp178 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_viewat.dats: 12063(line=489, offs=9) -- 12096(line=489, offs=42)") ; } tmp179 = ats_caselptrlab_mac(anairiats_sum_6, tmp178, atslab_0) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp171) ; /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp180) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp180) ; /* tmp183 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__s2addr_set_viewat (tmp168, tmp179, tmp177, tmp182) ; tmp184 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp173), atslab_d2exp_loc) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (tmp184, tmp175) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (tmp184, tmp185, tmp175) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn (tmp168, tmp186, tmp177, tmp180) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp174)->tag != 0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp187 = ats_caselptrlab_mac(anairiats_sum_0, tmp174, atslab_0) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_0, tmp174, atslab_1) ; tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp187) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp189) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2lablst_trup (tmp188) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup (tmp171) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp192) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp189) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp194) ; tmp167 = auxlablst1_19 (tmp168, tmp195, tmp189, tmp191, tmp192) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp174)->tag != 1) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp196 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp173), atslab_d2exp_loc) ; /* tmp197 = */ prerr_error3_loc_01855_ (tmp196) ; /* tmp198 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be applied")) ; /* tmp199 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression is addressless.")) ; /* tmp200 = */ atspre_prerr_newline () ; tmp202 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp202)->tag = 51 ; ats_selptrset_mac(anairiats_sum_4, tmp202, atslab_0, arg0) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp202) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp168) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, tmp173), atslab_d2exp_loc) ; /* tmp204 = */ prerr_error3_loc_01855_ (tmp203) ; /* tmp205 = */ atspre_prerr_string (ATSstrcst(": [view@] operation cannot be applied: ")) ; /* tmp206 = */ atspre_prerr_newline () ; tmp208 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp208)->tag = 50 ; ats_selptrset_mac(anairiats_sum_4, tmp208, atslab_0, arg0) ; /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp208) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp168) ; break ; } while (0) ; return (tmp167) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_viewat_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_trans3_viewat_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_comarg_sats.c0000664000175000017500000000235112655455557020071 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__COMARGkey_0) ; /* exn constructor declarations */ /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_comarg_2esats__COMARGkey_0.tag = 0 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_comarg_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp1_dats.c0000664000175000017500000045264512655455557020206 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s0rtq_loc ; ats_ptr_type atslab_s0rtq_node ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_s1rt_loc ; ats_ptr_type atslab_s1rt_node ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_s1rtpol_loc ; ats_ptr_type atslab_s1rtpol_srt ; ats_int_type atslab_s1rtpol_pol ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_d1atsrtcon_loc ; ats_ptr_type atslab_d1atsrtcon_sym ; ats_ptr_type atslab_d1atsrtcon_arg ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_d1atsrtdec_loc ; ats_ptr_type atslab_d1atsrtdec_sym ; ats_ptr_type atslab_d1atsrtdec_con ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_s1arg_loc ; ats_ptr_type atslab_s1arg_sym ; ats_ptr_type atslab_s1arg_srt ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_s1marg_loc ; ats_ptr_type atslab_s1marg_arg ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_a1srt_loc ; ats_ptr_type atslab_a1srt_sym ; ats_ptr_type atslab_a1srt_srt ; } anairiats_rec_18 ; typedef struct { ats_ptr_type atslab_a1msrt_loc ; ats_ptr_type atslab_a1msrt_arg ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_sp1at_loc ; ats_ptr_type atslab_sp1at_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_s1exp_loc ; ats_ptr_type atslab_s1exp_node ; } anairiats_rec_22 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_25 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_26 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_27 ; typedef struct { ats_ptr_type atslab_s1rtext_loc ; ats_ptr_type atslab_s1rtext_node ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_s1qua_loc ; ats_ptr_type atslab_s1qua_node ; } anairiats_rec_29 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_30 ; typedef struct { ats_ptr_type atslab_q1marg_loc ; ats_ptr_type atslab_q1marg_arg ; } anairiats_rec_31 ; typedef struct { ats_ptr_type atslab_t1mpmarg_loc ; ats_ptr_type atslab_t1mpmarg_arg ; } anairiats_rec_32 ; typedef struct { ats_ptr_type atslab_s1exparg_loc ; ats_ptr_type atslab_s1exparg_node ; } anairiats_rec_33 ; typedef struct { ats_ptr_type atslab_m1acarg_loc ; ats_ptr_type atslab_m1acarg_node ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_s1rtdef_loc ; ats_ptr_type atslab_s1rtdef_sym ; ats_ptr_type atslab_s1rtdef_def ; } anairiats_rec_35 ; typedef struct { ats_ptr_type atslab_s1tacst_loc ; ats_ptr_type atslab_s1tacst_sym ; ats_ptr_type atslab_s1tacst_fil ; ats_ptr_type atslab_s1tacst_arg ; ats_ptr_type atslab_s1tacst_res ; } anairiats_rec_36 ; typedef struct { ats_ptr_type atslab_s1tacon_loc ; ats_ptr_type atslab_s1tacon_sym ; ats_ptr_type atslab_s1tacon_fil ; ats_ptr_type atslab_s1tacon_arg ; ats_ptr_type atslab_s1tacon_def ; } anairiats_rec_37 ; typedef struct { ats_ptr_type atslab_t1kindef_loc ; ats_ptr_type atslab_t1kindef_sym ; ats_ptr_type atslab_t1kindef_loc_id ; ats_ptr_type atslab_t1kindef_def ; } anairiats_rec_38 ; typedef struct { ats_ptr_type atslab_s1expdef_loc ; ats_ptr_type atslab_s1expdef_sym ; ats_ptr_type atslab_s1expdef_loc_id ; ats_ptr_type atslab_s1expdef_arg ; ats_ptr_type atslab_s1expdef_res ; ats_ptr_type atslab_s1expdef_def ; } anairiats_rec_39 ; typedef struct { ats_ptr_type atslab_s1aspdec_loc ; ats_ptr_type atslab_s1aspdec_qid ; ats_ptr_type atslab_s1aspdec_arg ; ats_ptr_type atslab_s1aspdec_res ; ats_ptr_type atslab_s1aspdec_def ; } anairiats_rec_40 ; typedef struct { ats_ptr_type atslab_d1atcon_loc ; ats_ptr_type atslab_d1atcon_sym ; ats_ptr_type atslab_d1atcon_qua ; ats_int_type atslab_d1atcon_npf ; ats_ptr_type atslab_d1atcon_arg ; ats_ptr_type atslab_d1atcon_ind ; } anairiats_rec_41 ; typedef struct { ats_ptr_type atslab_d1atdec_loc ; ats_ptr_type atslab_d1atdec_fil ; ats_ptr_type atslab_d1atdec_sym ; ats_ptr_type atslab_d1atdec_arg ; ats_ptr_type atslab_d1atdec_con ; } anairiats_rec_42 ; typedef struct { ats_ptr_type atslab_e1xndec_loc ; ats_ptr_type atslab_e1xndec_fil ; ats_ptr_type atslab_e1xndec_sym ; ats_ptr_type atslab_e1xndec_qua ; ats_int_type atslab_e1xndec_npf ; ats_ptr_type atslab_e1xndec_arg ; } anairiats_rec_43 ; typedef struct { ats_ptr_type atslab_d1cstdec_loc ; ats_ptr_type atslab_d1cstdec_fil ; ats_ptr_type atslab_d1cstdec_sym ; ats_ptr_type atslab_d1cstdec_type ; ats_ptr_type atslab_d1cstdec_extdef ; } anairiats_rec_44 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALchar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__V1ALstring_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPchar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfloat_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPv1al_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPfun_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPif_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPeval_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPlist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTset_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTapp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTlist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTqid_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTtype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__SP1Tcstr_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_some_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTcons_none_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qprop_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Qvars_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsrt_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1TEsub_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eide_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Esqid_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Echar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Efloat_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Estring_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextype_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eextkind_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eapp_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elam_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eimp_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Einvar_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etrans_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyarr_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etytup_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Etyrec_ext_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Euni_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eexi_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eann_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Ed2ctype_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGdyn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__M1ACARGsta_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_sarglst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__I1MPARG_svararglst_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; 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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ismem) (ats_uint_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_arrow) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_v1al) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none) (ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_true) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_false) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_nil) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_all) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ntm) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_exn) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ref) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_wrt) ; /* internal function declarations */ static ats_void_type prerr_error1_loc_0 (ats_ptr_type arg0) ; static ats_bool_type s0rtq_is_none_25 (ats_ptr_type arg0) ; static ats_int_type loop_62 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_64 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_85 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_85_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_85_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_86 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_86_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_86_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_88 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_88_closure_make (ats_ptr_type env0) ; static ats_ptr_type aux_88_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type auxlst_89 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type auxlst_89_closure_make (ats_ptr_type env0) ; static ats_ptr_type auxlst_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type loop_92 (ats_ptr_type arg0, ats_ptr_type arg1) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp47) ; ATSstatic (ats_ptr_type, statmp48) ; ATSstatic (ats_ptr_type, statmp49) ; ATSstatic (ats_ptr_type, statmp50) ; ATSstatic (ats_ptr_type, statmp51) ; ATSstatic (ats_ptr_type, statmp52) ; ATSstatic (ats_ptr_type, statmp53) ; ATSstatic (ats_ptr_type, statmp54) ; ATSstatic (ats_ptr_type, statmp55) ; ATSstatic (ats_ptr_type, statmp56) ; ATSstatic (ats_ptr_type, statmp57) ; ATSstatic (ats_ptr_type, statmp58) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 1678(line=55, offs=4) -- 1770(line=58, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_0 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; // ATSlocal_void (tmp1) ; __ats_lab_prerr_error1_loc_0: /* tmp1 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp0 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp0) */ ; } /* end of [prerr_error1_loc_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 1842(line=63, offs=11) -- 1893(line=65, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make: tmp2 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_e1xp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp2, atslab_e1xp_node, arg1) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 1936(line=68, offs=10) -- 1985(line=68, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide: tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp4)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, arg1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp4) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2006(line=71, offs=10) -- 2047(line=72, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int: tmp6 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp6)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp6, atslab_0, arg1) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp6) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2070(line=74, offs=13) -- 2118(line=75, offs=36) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep: tmp8 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp8)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp8, atslab_0, arg1) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp8) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2163(line=78, offs=11) -- 2209(line=78, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char: tmp10 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp10)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp10, atslab_0, arg1) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp10) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2232(line=80, offs=13) -- 2278(line=80, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string: tmp12 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp12)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp12, atslab_0, arg1) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2300(line=82, offs=12) -- 2343(line=82, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float: tmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp14)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_0, arg1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp14) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2388(line=88, offs=3) -- 2510(line=94, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_i0nt: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp16)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2409(line=89, offs=7) -- 2460(line=90, offs=41)") ; } tmp17 = ats_caselptrlab_mac(anairiats_sum_6, tmp16, atslab_1) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep (arg0, tmp17) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2554(line=96, offs=12) -- 2631(line=98, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_char_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_c0har: tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp19)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2575(line=97, offs=7) -- 2605(line=97, offs=37)") ; } tmp20 = ats_caselptrlab_mac(anairiats_sum_4, tmp19, atslab_0) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (arg0, tmp20) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2678(line=100, offs=14) -- 2759(line=102, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_s0tring: tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp22)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2699(line=101, offs=7) -- 2731(line=101, offs=39)") ; } tmp23 = ats_caselptrlab_mac(anairiats_sum_2, tmp22, atslab_0) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_string (arg0, tmp23) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2807(line=104, offs=13) -- 2934(line=110, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_f0loat: tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp25)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 2828(line=105, offs=7) -- 2885(line=106, offs=45)") ; } tmp26 = ats_caselptrlab_mac(anairiats_sum_6, tmp25, atslab_1) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_float (arg0, tmp26) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3006(line=116, offs=3) -- 3046(line=116, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp28)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp28, atslab_0, arg1) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp28) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3091(line=121, offs=11) -- 3127(line=121, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none: tmp30 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPnone_7) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3149(line=123, offs=12) -- 3186(line=123, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_undef (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_undef: tmp32 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPundef_8) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp32) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_undef] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3228(line=129, offs=1) -- 3313(line=131, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app: tmp34 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp34)->tag = 9 ; ats_selptrset_mac(anairiats_sum_7, tmp34, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp34, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp34, atslab_2, arg3) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3336(line=135, offs=3) -- 3391(line=135, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_fun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_fun: tmp36 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp36)->tag = 10 ; ats_selptrset_mac(anairiats_sum_8, tmp36, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp36, atslab_1, arg2) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3455(line=141, offs=9) -- 3531(line=142, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_if: tmp38 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp38)->tag = 11 ; ats_selptrset_mac(anairiats_sum_7, tmp38, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp38, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp38, atslab_2, arg3) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3578(line=147, offs=11) -- 3624(line=147, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_eval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_eval: tmp40 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp40)->tag = 12 ; ats_selptrset_mac(anairiats_sum_2, tmp40, atslab_0, arg1) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_eval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3648(line=150, offs=11) -- 3699(line=150, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list: tmp42 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp42)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp42, atslab_0, arg1) ; tmp41 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp42) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3743(line=155, offs=10) -- 3783(line=155, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err: tmp44 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPerr_14) ; tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make (arg0, tmp44) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3826(line=159, offs=21) -- 3851(line=159, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_true (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_true: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (arg0, 1) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_true] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 3873(line=160, offs=22) -- 3898(line=160, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_false (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_false: tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (arg0, 0) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_false] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 4336(line=178, offs=3) -- 4465(line=181, offs=53) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_uint_type, tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp59 = ats_true_bool ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp59 = ats_false_bool ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ismem (tmp60, arg1) ; break ; } while (0) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 4523(line=185, offs=20) -- 4563(line=185, offs=60) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain_ntm (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain_ntm: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; return (tmp61) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_contain_ntm] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 4712(line=196, offs=4) -- 4802(line=197, offs=58) */ ATSstaticdec() ats_bool_type s0rtq_is_none_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab_s0rtq_is_none_25: tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0rtq_node) ; do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (tmp63 != (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp62 = ats_true_bool ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp62 = ats_false_bool ; break ; } while (0) ; return (tmp62) ; } /* end of [s0rtq_is_none_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 4872(line=203, offs=12) -- 4971(line=206, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_arrow (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_arrow: tmp65 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none (arg0) ; tmp66 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp66)->tag = 2 ; ats_selptrset_mac(anairiats_sum_8, tmp66, atslab_0, tmp65) ; ats_selptrset_mac(anairiats_sum_8, tmp66, atslab_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; tmp64 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp64, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp64, atslab_s1rt_node, tmp66) ; return (tmp64) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_arrow] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5061(line=210, offs=15) -- 5209(line=215, offs=15) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_is_arrow (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_bool_type, tmp71) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_is_arrow: tmp68 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s1rt_node) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp68)->tag != 2) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp69 = ats_caselptrlab_mac(anairiats_sum_8, tmp68, atslab_0) ; tmp70 = ats_caselptrlab_mac(anairiats_sum_8, tmp68, atslab_1) ; tmp71 = s0rtq_is_none_25 (tmp69) ; if (tmp71) { tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp70, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; } else { tmp67 = ats_false_bool ; } /* end of [if] */ break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp67 = ats_false_bool ; break ; } while (0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_is_arrow] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5291(line=221, offs=10) -- 5382(line=225, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app: tmp73 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp73)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp73, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp73, atslab_1, arg2) ; tmp72 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp72, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp72, atslab_s1rt_node, tmp73) ; return (tmp72) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5424(line=228, offs=10) -- 5578(line=232, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_fun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_fun: tmp77 = (ats_sum_ptr_type)0 ; tmp76 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp76, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp76, atslab_1, tmp77) ; tmp75 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp75, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp75, atslab_1, tmp76) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_arrow (arg0) ; tmp78 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp78)->tag = 0 ; ats_selptrset_mac(anairiats_sum_8, tmp78, atslab_0, tmp79) ; ats_selptrset_mac(anairiats_sum_8, tmp78, atslab_1, tmp75) ; tmp74 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp74, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp74, atslab_s1rt_node, tmp78) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_fun] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5620(line=235, offs=10) -- 5718(line=238, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide: tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__s0rtq_none (arg0) ; tmp82 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp82)->tag = 2 ; ats_selptrset_mac(anairiats_sum_8, tmp82, atslab_0, tmp81) ; ats_selptrset_mac(anairiats_sum_8, tmp82, atslab_1, arg1) ; tmp80 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp80, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp80, atslab_s1rt_node, tmp82) ; return (tmp80) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5763(line=242, offs=3) -- 5919(line=246, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_list: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } tmp84 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; if (tmp84 != (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp83 = tmp85 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp86 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp86)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp86, atslab_0, arg1) ; tmp83 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp83, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp83, atslab_s1rt_node, tmp86) ; break ; } while (0) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 5976(line=250, offs=10) -- 6040(line=252, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_qid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_qid: tmp88 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp88)->tag = 2 ; ats_selptrset_mac(anairiats_sum_8, tmp88, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp88, atslab_1, arg2) ; tmp87 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp87, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp87, atslab_s1rt_node, tmp88) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_qid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6190(line=262, offs=11) -- 6250(line=264, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_type (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_type: tmp90 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp90)->tag = 3 ; ats_selptrset_mac(anairiats_sum_3, tmp90, atslab_0, arg1) ; tmp89 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp89, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp89, atslab_s1rt_node, tmp90) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6271(line=267, offs=10) -- 6322(line=269, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_err: tmp92 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1RTerr_4) ; tmp91 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_s1rt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_s1rt_node, tmp92) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rt_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6368(line=274, offs=14) -- 6445(line=276, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtpol_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtpol_make: tmp93 = ATS_MALLOC(sizeof(anairiats_rec_13)) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_s1rtpol_loc, arg0) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_s1rtpol_srt, arg1) ; ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_s1rtpol_pol, arg2) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtpol_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6521(line=282, offs=3) -- 6609(line=284, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtcon_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtcon_make: tmp94 = ATS_MALLOC(sizeof(anairiats_rec_14)) ; ats_selptrset_mac(anairiats_rec_14, tmp94, atslab_d1atsrtcon_loc, arg0) ; ats_selptrset_mac(anairiats_rec_14, tmp94, atslab_d1atsrtcon_sym, arg1) ; ats_selptrset_mac(anairiats_rec_14, tmp94, atslab_d1atsrtcon_arg, arg2) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtcon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6667(line=288, offs=3) -- 6761(line=290, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtdec_make: tmp95 = ATS_MALLOC(sizeof(anairiats_rec_15)) ; ats_selptrset_mac(anairiats_rec_15, tmp95, atslab_d1atsrtdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_15, tmp95, atslab_d1atsrtdec_sym, arg1) ; ats_selptrset_mac(anairiats_rec_15, tmp95, atslab_d1atsrtdec_con, arg2) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atsrtdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6833(line=295, offs=12) -- 6904(line=297, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1arg_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1arg_make: tmp96 = ATS_MALLOC(sizeof(anairiats_rec_16)) ; ats_selptrset_mac(anairiats_rec_16, tmp96, atslab_s1arg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_16, tmp96, atslab_s1arg_sym, arg1) ; ats_selptrset_mac(anairiats_rec_16, tmp96, atslab_s1arg_srt, arg2) ; return (tmp96) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1arg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 6928(line=300, offs=13) -- 6982(line=302, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1marg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1marg_make: tmp97 = ATS_MALLOC(sizeof(anairiats_rec_17)) ; ats_selptrset_mac(anairiats_rec_17, tmp97, atslab_s1marg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_17, tmp97, atslab_s1marg_arg, arg1) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1marg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7026(line=307, offs=12) -- 7097(line=309, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1srt_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1srt_make: tmp98 = ATS_MALLOC(sizeof(anairiats_rec_18)) ; ats_selptrset_mac(anairiats_rec_18, tmp98, atslab_a1srt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_18, tmp98, atslab_a1srt_sym, arg1) ; ats_selptrset_mac(anairiats_rec_18, tmp98, atslab_a1srt_srt, arg2) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1srt_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7120(line=311, offs=13) -- 7172(line=313, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1msrt_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1msrt_make: tmp99 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp99, atslab_a1msrt_loc, arg0) ; ats_selptrset_mac(anairiats_rec_19, tmp99, atslab_a1msrt_arg, arg1) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__a1msrt_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7218(line=319, offs=3) -- 7294(line=321, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__sp1at_cstr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__sp1at_cstr: tmp101 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ats_selptrset_mac(anairiats_sum_21, tmp101, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp101, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_21, tmp101, atslab_2, arg3) ; tmp100 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp100, atslab_sp1at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_20, tmp100, atslab_sp1at_node, tmp101) ; return (tmp100) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__sp1at_cstr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7362(line=327, offs=3) -- 7420(line=329, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide: tmp103 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp103)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp103, atslab_0, arg1) ; tmp102 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp102, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp102, atslab_s1exp_node, tmp103) ; return (tmp102) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7470(line=333, offs=3) -- 7537(line=335, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_sqid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_sqid: tmp105 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp105)->tag = 1 ; ats_selptrset_mac(anairiats_sum_8, tmp105, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp105, atslab_1, arg2) ; tmp104 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp104, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp104, atslab_s1exp_node, tmp105) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_sqid] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7608(line=341, offs=3) -- 7668(line=343, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int: tmp107 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp107)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp107, atslab_0, arg1) ; tmp106 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp106, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp106, atslab_s1exp_node, tmp107) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7720(line=347, offs=3) -- 7783(line=349, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep: tmp109 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp109)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp109, atslab_0, arg1) ; tmp108 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp108, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp108, atslab_s1exp_node, tmp109) ; return (tmp108) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7836(line=353, offs=3) -- 7959(line=359, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_i0nt: tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp111)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 7857(line=354, offs=7) -- 7908(line=355, offs=41)") ; } tmp112 = ats_caselptrlab_mac(anairiats_sum_6, tmp111, atslab_1) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep (arg0, tmp112) ; return (tmp110) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8026(line=364, offs=12) -- 8083(line=366, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char: tmp114 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp114)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_0, arg1) ; tmp113 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp113, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp113, atslab_s1exp_node, tmp114) ; return (tmp113) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8129(line=368, offs=13) -- 8234(line=372, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_c0har (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_char_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_c0har: tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp116)->tag != 147) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8150(line=369, offs=7) -- 8180(line=369, offs=37)") ; } tmp117 = ats_caselptrlab_mac(anairiats_sum_4, tmp116, atslab_0) ; tmp118 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp118)->tag = 4 ; ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_0, tmp117) ; tmp115 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp115, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp115, atslab_s1exp_node, tmp118) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_c0har] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8303(line=377, offs=13) -- 8361(line=379, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_float: tmp120 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp120)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp120, atslab_0, arg1) ; tmp119 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp119, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp119, atslab_s1exp_node, tmp120) ; return (tmp119) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8412(line=381, offs=14) -- 8543(line=386, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_f0loat: tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp122)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8433(line=382, offs=7) -- 8486(line=383, offs=41)") ; } tmp123 = ats_caselptrlab_mac(anairiats_sum_6, tmp122, atslab_1) ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp124)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp124, atslab_0, tmp123) ; tmp121 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp121, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp121, atslab_s1exp_node, tmp124) ; return (tmp121) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8614(line=391, offs=14) -- 8673(line=393, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string: tmp126 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp126)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp126, atslab_0, arg1) ; tmp125 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp125, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp125, atslab_s1exp_node, tmp126) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8726(line=395, offs=15) -- 8839(line=399, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_s0tring: tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp128)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8747(line=396, offs=7) -- 8781(line=396, offs=41)") ; } tmp129 = ats_caselptrlab_mac(anairiats_sum_2, tmp128, atslab_0) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp130)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp130, atslab_0, tmp129) ; tmp127 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp127, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp127, atslab_s1exp_node, tmp130) ; return (tmp127) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_s0tring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 8915(line=405, offs=3) -- 8990(line=407, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extype: tmp132 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp132)->tag = 7 ; ats_selptrset_mac(anairiats_sum_8, tmp132, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp132, atslab_1, arg2) ; tmp131 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp131, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp131, atslab_s1exp_node, tmp132) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9020(line=411, offs=3) -- 9096(line=413, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extkind (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extkind: tmp134 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp134)->tag = 8 ; ats_selptrset_mac(anairiats_sum_8, tmp134, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp134, atslab_1, arg2) ; tmp133 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp133, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp133, atslab_s1exp_node, tmp134) ; return (tmp133) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_extkind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9141(line=418, offs=11) -- 9238(line=423, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app: tmp136 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp136)->tag = 9 ; ats_selptrset_mac(anairiats_sum_7, tmp136, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp136, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp136, atslab_2, arg3) ; tmp135 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp135, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp135, atslab_s1exp_node, tmp136) ; return (tmp135) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9282(line=426, offs=11) -- 9368(line=430, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_lam (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_lam: tmp138 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp138)->tag = 10 ; ats_selptrset_mac(anairiats_sum_7, tmp138, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp138, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp138, atslab_2, arg3) ; tmp137 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp137, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp137, atslab_s1exp_node, tmp138) ; return (tmp137) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9390(line=433, offs=11) -- 9494(line=437, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp: tmp140 = ATS_MALLOC(sizeof(anairiats_sum_23)) ; ((ats_sum_ptr_type)tmp140)->tag = 11 ; ats_selptrset_mac(anairiats_sum_23, tmp140, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_23, tmp140, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_23, tmp140, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_23, tmp140, atslab_3, arg4) ; tmp139 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp139, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp139, atslab_s1exp_node, tmp140) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_imp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9540(line=443, offs=3) -- 9739(line=452, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } tmp142 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_1) ; if (tmp142 != (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_12, arg1, atslab_0) ; tmp141 = tmp143 ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp144 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp144)->tag = 13 ; ats_selptrset_mac(anairiats_sum_24, tmp144, atslab_0, -1) ; ats_selptrset_mac(anairiats_sum_24, tmp144, atslab_1, arg1) ; tmp141 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp141, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp141, atslab_s1exp_node, tmp144) ; break ; } while (0) ; return (tmp141) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_62 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_int_type, tmp151) ; __ats_lab_loop_62: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp149 = &ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp150 = ats_ptrget_mac(ats_ptr_type, tmp149) ; tmp151 = atspre_iadd (arg1, 1) ; arg0 = tmp150 ; arg1 = tmp151 ; goto __ats_lab_loop_62 ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp148 = arg1 ; break ; } while (0) ; return (tmp148) ; } /* end of [loop_62] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp147) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp147 = loop_62 (arg0, 0) ; return (tmp147) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_64 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab_loop_64: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp156 = &ats_caselptrlab_mac(anairiats_sum_12, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp156 ; arg1 = arg1 ; goto __ats_lab_loop_64 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp155) */ ; } /* end of [loop_64] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; // ATSlocal_void (tmp157) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp154 ; */ tmp154 = arg0 ; /* tmp157 = */ loop_64 ((&tmp154), arg1) ; tmp153 = tmp154 ; return (tmp153) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 9814(line=457, offs=3) -- 10002(line=463, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_int_type, tmp146) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp158) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list2: tmp146 = list_vt_length_01501_ats_ptr_type (arg1) ; tmp152 = list_vt_append_01504_ats_ptr_type (arg1, arg2) ; tmp158 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp158)->tag = 13 ; ats_selptrset_mac(anairiats_sum_24, tmp158, atslab_0, tmp146) ; ats_selptrset_mac(anairiats_sum_24, tmp158, atslab_1, ats_castfn_mac(ats_ptr_type, tmp152)) ; tmp145 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp145, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp145, atslab_s1exp_node, tmp158) ; return (tmp145) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10055(line=467, offs=3) -- 10198(line=475, offs=28) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_npf_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_npf_list: tmp160 = atspre_gte_int_int (arg1, 0) ; if (tmp160) { tmp161 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp161)->tag = 13 ; ats_selptrset_mac(anairiats_sum_24, tmp161, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_24, tmp161, atslab_1, arg2) ; tmp159 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp159, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp159, atslab_s1exp_node, tmp161) ; } else { tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list (arg0, arg2) ; } /* end of [if] */ return (tmp159) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_npf_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10273(line=482, offs=11) -- 10343(line=484, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp163)->tag = 12 ; ats_selptrset_mac(anairiats_sum_24, tmp163, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_24, tmp163, atslab_1, arg2) ; tmp162 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp162, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp162, atslab_s1exp_node, tmp163) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10390(line=489, offs=13) -- 10462(line=491, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar: tmp165 = ATS_MALLOC(sizeof(anairiats_sum_24)) ; ((ats_sum_ptr_type)tmp165)->tag = 14 ; ats_selptrset_mac(anairiats_sum_24, tmp165, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_24, tmp165, atslab_1, arg2) ; tmp164 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp164, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp164, atslab_s1exp_node, tmp165) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_invar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10488(line=494, offs=13) -- 10564(line=496, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_trans (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_trans: tmp167 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp167)->tag = 15 ; ats_selptrset_mac(anairiats_sum_8, tmp167, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp167, atslab_1, arg2) ; tmp166 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp166, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp166, atslab_s1exp_node, tmp167) ; return (tmp166) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_trans] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10611(line=502, offs=1) -- 10706(line=507, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyarr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyarr: tmp169 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp169)->tag = 16 ; ats_selptrset_mac(anairiats_sum_8, tmp169, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp169, atslab_1, arg2) ; tmp168 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp168, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp168, atslab_s1exp_node, tmp169) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyarr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10759(line=511, offs=3) -- 10843(line=513, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tytup (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tytup: tmp171 = ATS_MALLOC(sizeof(anairiats_sum_25)) ; ((ats_sum_ptr_type)tmp171)->tag = 17 ; ats_selptrset_mac(anairiats_sum_25, tmp171, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_25, tmp171, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_25, tmp171, atslab_2, arg3) ; tmp170 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp170, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp170, atslab_s1exp_node, tmp171) ; return (tmp170) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tytup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 10888(line=518, offs=13) -- 10978(line=522, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec: tmp173 = ATS_MALLOC(sizeof(anairiats_sum_25)) ; ((ats_sum_ptr_type)tmp173)->tag = 18 ; ats_selptrset_mac(anairiats_sum_25, tmp173, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_25, tmp173, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_25, tmp173, atslab_2, arg3) ; tmp172 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp172, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp172, atslab_s1exp_node, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11030(line=525, offs=17) -- 11126(line=529, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec_ext (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec_ext: tmp175 = ATS_MALLOC(sizeof(anairiats_sum_26)) ; ((ats_sum_ptr_type)tmp175)->tag = 19 ; ats_selptrset_mac(anairiats_sum_26, tmp175, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_26, tmp175, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_26, tmp175, atslab_2, arg3) ; tmp174 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp174, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp174, atslab_s1exp_node, tmp175) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_tyrec_ext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11199(line=535, offs=1) -- 11275(line=539, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni: tmp177 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp177)->tag = 20 ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp177, atslab_1, arg2) ; tmp176 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp176, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp176, atslab_s1exp_node, tmp177) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_uni] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11324(line=543, offs=1) -- 11410(line=547, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_exi (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_exi: tmp179 = ATS_MALLOC(sizeof(anairiats_sum_27)) ; ((ats_sum_ptr_type)tmp179)->tag = 21 ; ats_selptrset_mac(anairiats_sum_27, tmp179, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_27, tmp179, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_27, tmp179, atslab_2, arg3) ; tmp178 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp178, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp178, atslab_s1exp_node, tmp179) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_exi] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11480(line=552, offs=11) -- 11550(line=554, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ann: tmp181 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp181)->tag = 22 ; ats_selptrset_mac(anairiats_sum_8, tmp181, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp181, atslab_1, arg2) ; tmp180 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp180, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp180, atslab_s1exp_node, tmp181) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11597(line=559, offs=15) -- 11665(line=561, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_d2ctype (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_d2ctype: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp183)->tag = 23 ; ats_selptrset_mac(anairiats_sum_2, tmp183, atslab_0, arg1) ; tmp182 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp182, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp182, atslab_s1exp_node, tmp183) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_d2ctype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11708(line=566, offs=11) -- 11760(line=568, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err: tmp185 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Eerr_24) ; tmp184 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp184, atslab_s1exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp184, atslab_s1exp_node, tmp185) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11809(line=574, offs=3) -- 11850(line=574, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__labs1exp_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__labs1exp_make: tmp186 = ATS_MALLOC(sizeof(anairiats_sum_21)) ; ats_selptrset_mac(anairiats_sum_21, tmp186, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_21, tmp186, atslab_1, arg1) ; ats_selptrset_mac(anairiats_sum_21, tmp186, atslab_2, arg2) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__labs1exp_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 11921(line=580, offs=13) -- 11986(line=582, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_srt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_srt: tmp188 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp188)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp188, atslab_0, arg1) ; tmp187 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp187, atslab_s1rtext_loc, arg0) ; ats_selptrset_mac(anairiats_rec_28, tmp187, atslab_s1rtext_node, tmp188) ; return (tmp187) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_srt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12010(line=585, offs=13) -- 12099(line=587, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_sub (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_sub: tmp190 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp190)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp190, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp190, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp190, atslab_2, arg3) ; tmp189 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp189, atslab_s1rtext_loc, arg0) ; ats_selptrset_mac(anairiats_rec_28, tmp189, atslab_s1rtext_node, tmp190) ; return (tmp189) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtext_sub] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12143(line=592, offs=12) -- 12204(line=594, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_prop (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_prop: tmp192 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp192)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp192, atslab_0, arg1) ; tmp191 = ATS_MALLOC(sizeof(anairiats_rec_29)) ; ats_selptrset_mac(anairiats_rec_29, tmp191, atslab_s1qua_loc, arg0) ; ats_selptrset_mac(anairiats_rec_29, tmp191, atslab_s1qua_node, tmp192) ; return (tmp191) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_prop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12227(line=597, offs=12) -- 12300(line=599, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_vars (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_vars: tmp194 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp194)->tag = 1 ; ats_selptrset_mac(anairiats_sum_8, tmp194, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp194, atslab_1, arg2) ; tmp193 = ATS_MALLOC(sizeof(anairiats_rec_29)) ; ats_selptrset_mac(anairiats_rec_29, tmp193, atslab_s1qua_loc, arg0) ; ats_selptrset_mac(anairiats_rec_29, tmp193, atslab_s1qua_node, tmp194) ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1qua_vars] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12351(line=605, offs=3) -- 12563(line=618, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_v1al (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_char_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_v1al: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int (arg0, tmp196) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char (arg0, tmp197) ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp198 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string (arg0, tmp198) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err (arg0) ; break ; } while (0) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_v1al] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12664(line=625, offs=5) -- 13637(line=666, offs=4) */ ATSstaticdec() ats_ptr_type aux_85 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_int_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_char_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; // ATSlocal_void (tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; __ats_lab_aux_85: tmp201 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_e1xp_node) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp201)->tag != 9) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_7, tmp201, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_7, tmp201, atslab_1) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_7, tmp201, atslab_2) ; tmp205 = aux_85 (env0, tmp202) ; tmp206 = auxlst_86 (env0, tmp204) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_app (env0, tmp205, tmp203, tmp206) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp201)->tag != 0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp207 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_ide (env0, tmp207) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp201)->tag != 1) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_3, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_int (env0, tmp208) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp201)->tag != 2) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp209 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_intrep (env0, tmp209) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp201)->tag != 3) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_4, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_char (env0, tmp210) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp201)->tag != 4) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp211 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_float (env0, tmp211) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp201)->tag != 5) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp212 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_string (env0, tmp212) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp201)->tag != 6) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_v1al (env0, tmp213) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp201)->tag != 13) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp214 = ats_caselptrlab_mac(anairiats_sum_2, tmp201, atslab_0) ; tmp215 = auxlst_86 (env0, tmp214) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_list (env0, tmp215) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: /* tmp216 = */ prerr_error1_loc_0 (env0) ; /* tmp217 = */ atspre_prerr_string (ATSstrcst(": the expression cannot be translated into a legal static expression.")) ; /* tmp218 = */ atspre_prerr_newline () ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_err (env0) ; break ; } while (0) ; return (tmp200) ; } /* end of [aux_85] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_85_closure_type ; ats_ptr_type aux_85_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_85 (((aux_85_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_85_closure_init (aux_85_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_85_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_85_closure_make (ats_ptr_type env0) { aux_85_closure_type *p_clo = ATS_MALLOC(sizeof(aux_85_closure_type)) ; aux_85_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 13664(line=668, offs=5) -- 13809(line=672, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_86 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab_auxlst_86: do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp220 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp221 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp222 = aux_85 (env0, tmp220) ; tmp223 = auxlst_86 (env0, tmp221) ; tmp219 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp219, atslab_0, tmp222) ; ats_selptrset_mac(anairiats_sum_12, tmp219, atslab_1, tmp223) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp219 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp219) ; } /* end of [auxlst_86] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_86_closure_type ; ats_ptr_type auxlst_86_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_86 (((auxlst_86_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_86_closure_init (auxlst_86_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_86_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_86_closure_make (ats_ptr_type env0) { auxlst_86_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_86_closure_type)) ; auxlst_86_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 12640(line=623, offs=17) -- 13852(line=677, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp199) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp: tmp199 = aux_85 (arg0, arg1) ; return (tmp199) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exp_make_e1xp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 13957(line=685, offs=5) -- 14452(line=699, offs=25) */ ATSstaticdec() ats_ptr_type aux_88 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_char_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; __ats_lab_aux_88: tmp226 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_s1exp_node) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp226)->tag != 0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_2, tmp226, atslab_0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_ide (env0, tmp227) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp226)->tag != 2) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp228 = ats_caselptrlab_mac(anairiats_sum_3, tmp226, atslab_0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_int (env0, tmp228) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp226)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp229 = ats_caselptrlab_mac(anairiats_sum_2, tmp226, atslab_0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_intrep (env0, tmp229) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp226)->tag != 4) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_4, tmp226, atslab_0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_char (env0, tmp230) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp226)->tag != 9) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp231 = ats_caselptrlab_mac(anairiats_sum_7, tmp226, atslab_0) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_7, tmp226, atslab_2) ; tmp233 = aux_88 (env0, tmp231) ; tmp234 = auxlst_89 (env0, tmp232) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_app (env0, tmp233, env0, tmp234) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp226)->tag != 13) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_24, tmp226, atslab_1) ; tmp236 = auxlst_89 (env0, tmp235) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_list (env0, tmp236) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_err (env0) ; break ; } while (0) ; return (tmp225) ; } /* end of [aux_88] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } aux_88_closure_type ; ats_ptr_type aux_88_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_88 (((aux_88_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_88_closure_init (aux_88_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_88_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type aux_88_closure_make (ats_ptr_type env0) { aux_88_closure_type *p_clo = ATS_MALLOC(sizeof(aux_88_closure_type)) ; aux_88_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 14479(line=702, offs=5) -- 14636(line=706, offs=31) */ ATSstaticdec() ats_ptr_type auxlst_89 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; __ats_lab_auxlst_89: do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_0) ; tmp239 = ats_caselptrlab_mac(anairiats_sum_12, arg0, atslab_1) ; tmp240 = aux_88 (env0, tmp238) ; tmp241 = auxlst_89 (env0, tmp239) ; tmp237 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ats_selptrset_mac(anairiats_sum_12, tmp237, atslab_0, tmp240) ; ats_selptrset_mac(anairiats_sum_12, tmp237, atslab_1, tmp241) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_39_1: tmp237 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp237) ; } /* end of [auxlst_89] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } auxlst_89_closure_type ; ats_ptr_type auxlst_89_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return auxlst_89 (((auxlst_89_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type auxlst_89_closure_init (auxlst_89_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_89_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type auxlst_89_closure_make (ats_ptr_type env0) { auxlst_89_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_89_closure_type)) ; auxlst_89_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 13931(line=683, offs=3) -- 14681(line=711, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make_s1exp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make_s1exp: tmp224 = aux_88 (arg0, arg1) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_make_s1exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 14764(line=717, offs=3) -- 14926(line=720, offs=30) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp242 = ats_false_bool ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; arg0 = tmp243 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp242 = ats_true_bool ; break ; } while (0) ; return (tmp242) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_is_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15012(line=725, offs=7) -- 15353(line=733, offs=31) */ ATSstaticdec() ats_ptr_type loop_92 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_int_type, tmp246) ; ATSlocal (ats_int_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab_loop_92: do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_30, arg0, atslab_0) ; tmp247 = ats_caselptrlab_mac(anairiats_sum_30, arg0, atslab_1) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_30, arg0, atslab_2) ; tmp249 = ats_caselptrlab_mac(anairiats_sum_30, arg0, atslab_3) ; tmp250 = ATS_MALLOC(sizeof(anairiats_sum_30)) ; ((ats_sum_ptr_type)tmp250)->tag = 1 ; ats_selptrset_mac(anairiats_sum_30, tmp250, atslab_0, tmp246) ; ats_selptrset_mac(anairiats_sum_30, tmp250, atslab_1, tmp247) ; ats_selptrset_mac(anairiats_sum_30, tmp250, atslab_2, tmp248) ; ats_selptrset_mac(anairiats_sum_30, tmp250, atslab_3, arg1) ; arg0 = tmp249 ; arg1 = tmp250 ; goto __ats_lab_loop_92 ; // tail call break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp252 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp252)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp252, atslab_0, arg1) ; arg0 = tmp251 ; arg1 = tmp252 ; goto __ats_lab_loop_92 ; // tail call break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: // if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_45_1: tmp245 = arg1 ; break ; } while (0) ; return (tmp245) ; } /* end of [loop_92] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 14990(line=724, offs=21) -- 15442(line=737, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp253) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse: tmp253 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__WTHS1EXPLSTnil_0) ; tmp244 = loop_92 (arg0, tmp253) ; return (tmp244) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__wths1explst_reverse] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15521(line=743, offs=3) -- 15573(line=745, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__q1marg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp254) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__q1marg_make: tmp254 = ATS_MALLOC(sizeof(anairiats_rec_31)) ; ats_selptrset_mac(anairiats_rec_31, tmp254, atslab_q1marg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_31, tmp254, atslab_q1marg_arg, arg1) ; return (tmp254) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__q1marg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15646(line=750, offs=17) -- 15672(line=750, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_sarglst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_sarglst: tmp255 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp255)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp255, atslab_0, arg0) ; return (tmp255) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_sarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15703(line=752, offs=20) -- 15732(line=752, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_svararglst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_svararglst: tmp256 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp256)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp256, atslab_0, arg0) ; return (tmp256) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__i1mparg_svararglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15782(line=758, offs=3) -- 15838(line=760, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1mpmarg_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp257) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1mpmarg_make: tmp257 = ATS_MALLOC(sizeof(anairiats_rec_32)) ; ats_selptrset_mac(anairiats_rec_32, tmp257, atslab_t1mpmarg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_32, tmp257, atslab_t1mpmarg_arg, arg1) ; return (tmp257) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1mpmarg_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15910(line=765, offs=14) -- 15973(line=767, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_one (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_one: tmp259 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGone_0) ; tmp258 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp258, atslab_s1exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_33, tmp258, atslab_s1exparg_node, tmp259) ; return (tmp258) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_one] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 15997(line=769, offs=14) -- 16060(line=771, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_all (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_all: tmp261 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1EXPARGall_1) ; tmp260 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp260, atslab_s1exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_33, tmp260, atslab_s1exparg_node, tmp261) ; return (tmp260) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_all] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16084(line=773, offs=14) -- 16153(line=775, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_seq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_seq: tmp263 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp263)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp263, atslab_0, arg1) ; tmp262 = ATS_MALLOC(sizeof(anairiats_rec_33)) ; ats_selptrset_mac(anairiats_rec_33, tmp262, atslab_s1exparg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_33, tmp262, atslab_s1exparg_node, tmp263) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1exparg_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16203(line=780, offs=18) -- 16273(line=782, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_dyn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_dyn: tmp265 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp265)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp265, atslab_0, arg1) ; tmp264 = ATS_MALLOC(sizeof(anairiats_rec_34)) ; ats_selptrset_mac(anairiats_rec_34, tmp264, atslab_m1acarg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_34, tmp264, atslab_m1acarg_node, tmp265) ; return (tmp264) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16331(line=785, offs=18) -- 16401(line=787, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta: tmp267 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp267)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp267, atslab_0, arg1) ; tmp266 = ATS_MALLOC(sizeof(anairiats_rec_34)) ; ats_selptrset_mac(anairiats_rec_34, tmp266, atslab_m1acarg_loc, arg0) ; ats_selptrset_mac(anairiats_rec_34, tmp266, atslab_m1acarg_node, tmp267) ; return (tmp266) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__m1acarg_make_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16476(line=792, offs=14) -- 16561(line=798, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtdef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp268) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtdef_make: tmp268 = ATS_MALLOC(sizeof(anairiats_rec_35)) ; ats_selptrset_mac(anairiats_rec_35, tmp268, atslab_s1rtdef_loc, arg0) ; ats_selptrset_mac(anairiats_rec_35, tmp268, atslab_s1rtdef_sym, arg1) ; ats_selptrset_mac(anairiats_rec_35, tmp268, atslab_s1rtdef_def, arg2) ; return (tmp268) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16632(line=804, offs=1) -- 16763(line=812, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacst_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacst_make: tmp269 = ATS_MALLOC(sizeof(anairiats_rec_36)) ; ats_selptrset_mac(anairiats_rec_36, tmp269, atslab_s1tacst_loc, arg0) ; ats_selptrset_mac(anairiats_rec_36, tmp269, atslab_s1tacst_sym, arg2) ; ats_selptrset_mac(anairiats_rec_36, tmp269, atslab_s1tacst_fil, arg1) ; ats_selptrset_mac(anairiats_rec_36, tmp269, atslab_s1tacst_arg, arg3) ; ats_selptrset_mac(anairiats_rec_36, tmp269, atslab_s1tacst_res, arg4) ; return (tmp269) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 16813(line=816, offs=1) -- 16944(line=824, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacon_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacon_make: tmp270 = ATS_MALLOC(sizeof(anairiats_rec_37)) ; ats_selptrset_mac(anairiats_rec_37, tmp270, atslab_s1tacon_loc, arg0) ; ats_selptrset_mac(anairiats_rec_37, tmp270, atslab_s1tacon_sym, arg2) ; ats_selptrset_mac(anairiats_rec_37, tmp270, atslab_s1tacon_fil, arg1) ; ats_selptrset_mac(anairiats_rec_37, tmp270, atslab_s1tacon_arg, arg3) ; ats_selptrset_mac(anairiats_rec_37, tmp270, atslab_s1tacon_def, arg4) ; return (tmp270) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 17208(line=845, offs=15) -- 17326(line=852, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1kindef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1kindef_make: tmp271 = ATS_MALLOC(sizeof(anairiats_rec_38)) ; ats_selptrset_mac(anairiats_rec_38, tmp271, atslab_t1kindef_loc, arg0) ; ats_selptrset_mac(anairiats_rec_38, tmp271, atslab_t1kindef_sym, arg1) ; ats_selptrset_mac(anairiats_rec_38, tmp271, atslab_t1kindef_loc_id, arg2) ; ats_selptrset_mac(anairiats_rec_38, tmp271, atslab_t1kindef_def, arg3) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1kindef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 17399(line=857, offs=15) -- 17567(line=866, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1expdef_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1expdef_make: tmp272 = ATS_MALLOC(sizeof(anairiats_rec_39)) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_loc, arg0) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_sym, arg1) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_loc_id, arg2) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_arg, arg3) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_res, arg4) ; ats_selptrset_mac(anairiats_rec_39, tmp272, atslab_s1expdef_def, arg5) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1expdef_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 17619(line=869, offs=15) -- 17755(line=877, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1aspdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1aspdec_make: tmp273 = ATS_MALLOC(sizeof(anairiats_rec_40)) ; ats_selptrset_mac(anairiats_rec_40, tmp273, atslab_s1aspdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_40, tmp273, atslab_s1aspdec_qid, arg1) ; ats_selptrset_mac(anairiats_rec_40, tmp273, atslab_s1aspdec_arg, arg2) ; ats_selptrset_mac(anairiats_rec_40, tmp273, atslab_s1aspdec_res, arg3) ; ats_selptrset_mac(anairiats_rec_40, tmp273, atslab_s1aspdec_def, arg4) ; return (tmp273) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1aspdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 17827(line=882, offs=14) -- 17980(line=891, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atcon_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atcon_make: tmp274 = ATS_MALLOC(sizeof(anairiats_rec_41)) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_loc, arg0) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_sym, arg1) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_qua, arg2) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_npf, arg3) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_arg, arg4) ; ats_selptrset_mac(anairiats_rec_41, tmp274, atslab_d1atcon_ind, arg5) ; return (tmp274) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atcon_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 18030(line=894, offs=14) -- 18155(line=900, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atdec_make: tmp275 = ATS_MALLOC(sizeof(anairiats_rec_42)) ; ats_selptrset_mac(anairiats_rec_42, tmp275, atslab_d1atdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_42, tmp275, atslab_d1atdec_fil, arg1) ; ats_selptrset_mac(anairiats_rec_42, tmp275, atslab_d1atdec_sym, arg2) ; ats_selptrset_mac(anairiats_rec_42, tmp275, atslab_d1atdec_arg, arg3) ; ats_selptrset_mac(anairiats_rec_42, tmp275, atslab_d1atdec_con, arg4) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 18205(line=903, offs=14) -- 18354(line=910, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xndec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xndec_make: tmp276 = ATS_MALLOC(sizeof(anairiats_rec_43)) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_fil, arg1) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_sym, arg2) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_qua, arg3) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_npf, arg4) ; ats_selptrset_mac(anairiats_rec_43, tmp276, atslab_e1xndec_arg, arg5) ; return (tmp276) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xndec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp1.dats: 18426(line=916, offs=1) -- 18570(line=924, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1cstdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1cstdec_make: tmp277 = ATS_MALLOC(sizeof(anairiats_rec_44)) ; ats_selptrset_mac(anairiats_rec_44, tmp277, atslab_d1cstdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_44, tmp277, atslab_d1cstdec_fil, arg1) ; ats_selptrset_mac(anairiats_rec_44, tmp277, atslab_d1cstdec_sym, arg2) ; ats_selptrset_mac(anairiats_rec_44, tmp277, atslab_d1cstdec_type, arg3) ; ats_selptrset_mac(anairiats_rec_44, tmp277, atslab_d1cstdec_extdef, arg4) ; return (tmp277) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1cstdec_make] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp47, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp48, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp49, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp50, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp51, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp52, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp53, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp54, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp55, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp56, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp57, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp58, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp47 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp47)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, statmp47, atslab_0, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_true, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_true = statmp47 ; statmp48 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)statmp48)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, statmp48, atslab_0, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_false, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__v1al_false = statmp48 ; statmp49 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_nil, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_nil = statmp49 ; statmp50 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_all, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_all = statmp50 ; statmp52 = (ats_sum_ptr_type)0 ; statmp51 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)statmp51)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, statmp51, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; ats_selptrset_mac(anairiats_sum_9, statmp51, atslab_1, statmp52) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ntm, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ntm = statmp51 ; statmp54 = (ats_sum_ptr_type)0 ; statmp53 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)statmp53)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, statmp53, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; ats_selptrset_mac(anairiats_sum_9, statmp53, atslab_1, statmp54) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_exn, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_exn = statmp53 ; statmp56 = (ats_sum_ptr_type)0 ; statmp55 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)statmp55)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, statmp55, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; ats_selptrset_mac(anairiats_sum_9, statmp55, atslab_1, statmp56) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ref, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_ref = statmp55 ; statmp58 = (ats_sum_ptr_type)0 ; statmp57 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)statmp57)->tag = 2 ; ats_selptrset_mac(anairiats_sum_9, statmp57, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; ats_selptrset_mac(anairiats_sum_9, statmp57, atslab_1, statmp58) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_wrt, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__effcst_wrt = statmp57 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp1_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_sats.c0000664000175000017500000010635712655455557017735 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBnil_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargtmpref_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVenv_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVint_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVintrep_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVbool_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVchar_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfloat_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVstring_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVi0nt_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVf0loat_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcstsp_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcstmat_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvarmat_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKfloat_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKi0nt_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKf0loat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVsome_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplab_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ref_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIFUNDEC2_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIIMPDEC2_0) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBcons_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPSUBnil_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TMPVARMATsome2_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargtmpref_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVenv_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVint_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVintrep_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVbool_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVchar_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfloat_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVstring_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVi0nt_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVf0loat_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcstsp_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18.tag = 18 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVd2vfunlab_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcst_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvar_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltcstmat_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpltvarmat_36.tag = 36 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37.tag = 37 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDsaspdec_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDextvar_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdatdecs_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDexndecs_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDfundecs_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDvardecs_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDimpdec_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDinclude_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaload_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDstaloadloc_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDdynload_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMDlocal_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKcon_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKint_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKbool_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKchar_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKfloat_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKstring_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKi0nt_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PATCKf0loat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__TPMVsome_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplab_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTraise_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arg_val_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14.tag = 14 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ref_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIFUNDEC2_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__HIIMPDEC2_0.tag = 0 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_syntax_sats.c0000664000175000017500000013171212655455557020153 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_s0taq_loc ; ats_ptr_type atslab_s0taq_node ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_d0ynq_loc ; ats_ptr_type atslab_d0ynq_node ; } anairiats_rec_1 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGcst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGvar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGprf_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGlin_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGfun_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGclo_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQsymdot_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymdot_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymcolon_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdot_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymcolon_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdotcolon_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECint_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_adj_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYinf_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpre_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpos_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPint_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPchar_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfloat_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstring_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstringid_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPapp_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfun_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPeval_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPlist_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPif_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DATSDEF_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTapp_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTlist_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTtype_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SP0Tcstr_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAprop_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAvars_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsrt_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsub_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Esqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eopid_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Echar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Efloat_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Estring_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextype_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextkind_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eapp_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elam_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eimp_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist2_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyarr_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etytup_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_ext_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Euni_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eexi_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eann_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Ed2ctype_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEsome_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEnone_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGsta_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGdyn_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGseq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGseq_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGdyn_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGsta_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATnorm_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATomit_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tchar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfloat_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tstring_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tapp_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlist_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlst_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Ttup_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trec_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfree_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tunfold_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Texist_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tsvararg_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trefas_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_sarglst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_svararglst_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGdyn_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta1_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta2_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGmet3_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eliteral_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextval_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextfcall_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextmcall_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efoldat_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efreeat_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etmpid_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecasehead_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Escasehead_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrsub_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrpsz_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrinit_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_lab_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_ind_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eraise_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_arg_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eshowtype_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Evcopyenv_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etempenver_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esexparg_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eexist_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eann_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elam_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efix_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edelay_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efor_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhile_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etrywith_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Emacsyn_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolassert_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolverify_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDfname_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDnspace_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDdeclist_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpact_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cpragma_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ccodegen_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatsrts_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csrtdefs_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacsts_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacons_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cclassdec_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextvar_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextcode_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDif_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifdef_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SRPIFKINDifndef_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKencode_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGcst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGvar_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGprf_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGlin_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGfun_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0FFTAGclo_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTQsymdot_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymdot_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TAQsymcolon_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdot_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymcolon_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0YNQsymdotcolon_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECint_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_adj_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYinf_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpre_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpos_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPint_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPchar_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfloat_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstring_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPstringid_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPapp_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPfun_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPeval_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPlist_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPif_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DATSDEF_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SL0ABELED_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTapp_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTlist_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0RTtype_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__SP0Tcstr_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAprop_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0QUAvars_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsrt_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0TEsub_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Esqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eopid_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Echar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Efloat_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Estring_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextype_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eextkind_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eapp_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elam_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eimp_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Elist2_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyarr_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etytup_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Etyrec_ext_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Euni_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eexi_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Eann_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0Ed2ctype_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEsome_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__WITHT0YPEnone_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGsta_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0CSTARGdyn_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0VARARGseq_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGone_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGall_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__S0EXPARGseq_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGdyn_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__M0ACARGsta_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATnorm_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__LABP0ATomit_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tdqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Topid_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tchar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfloat_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tstring_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tapp_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlist_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tlst_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Ttup_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trec_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tfree_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tunfold_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Texist_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tsvararg_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Trefas_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Tann_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0Terr_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_sarglst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__I0MPARG_svararglst_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGdyn_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta1_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGsta2_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0ARGmet3_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eide_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edqid_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eopid_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eidext_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eint_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Echar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efloat_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Estring_7.tag = 7 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eempty_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecstsp_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eliteral_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextval_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextfcall_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eextmcall_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efoldat_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efreeat_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etmpid_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elet_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edeclseq_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhere_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eapp_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elist_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eifhead_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esifhead_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ecasehead_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Escasehead_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elst_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etup_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Erec_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eseq_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrsub_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrpsz_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Earrinit_32.tag = 32 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eptrof_33.tag = 33 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eviewat_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_lab_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esel_ind_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eraise_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eeffmask_arg_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eshowtype_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Evcopyenv_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etempenver_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esexparg_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eexist_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eann_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Elam_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efix_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Edelay_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Efor_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ewhile_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Eloopexn_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Etrywith_52.tag = 52 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Emacsyn_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolassert_54.tag = 54 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Esolverify_55.tag = 55 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDfname_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDnspace_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__STLDdeclist_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpact_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cpragma_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ccodegen_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatsrts_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csrtdefs_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacsts_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacons_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cclassdec_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextvar_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextcode_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37.tag = 37 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_syntax_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_symbol_dats.c0000664000175000017500000022350712655455557020117 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ typedef ats_ptr_type string ; typedef ats_ptr_type symbol ; /* type definitions */ typedef struct { string atslab_0 ; symbol atslab_1 ; } anairiats_rec_0 ; typedef struct { ats_size_type atslab_sz ; ats_size_type atslab_tot ; ats_ptr_type atslab_pbeg ; ats_clo_ref_type atslab_hash ; ats_clo_ref_type atslab_eqfn ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_name ; ats_uint_type atslab_stamp ; } anairiats_rec_2 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_3 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; /* 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_double_type, atspre_double_of_size) (ats_size_type) ; ATSextern_fun(ats_double_type, atspre_mul_int_double) (ats_int_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_neq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_int_type, atspre_compare_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ; ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_int) (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_size_type, atspre_mod1_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_int_type, atspre_compare_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ulint_type, atspre_string_hash_33) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_clear__linprb) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__linprb) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__linprb) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint_tsz__linprb) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_ptr_is_null) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert1_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert2_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__sasp__symbol_type = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DIV) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERSAND) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERBANG) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERQMARK) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQCOLON) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTLT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTGT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTLT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAND) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LOR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARK) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARKBANG) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VBOX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAMAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LLAMAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_REFAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VT0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DEFINED) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDEFINED) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TUPZ) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STDIN__) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STRING__) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOME) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOMERELOC) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATSPKGRELOCROOT) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX) ; /* internal function declarations */ static ats_void_type keyitem_nullify_01807_anairiats_rec_0 (ats_ref_type arg0) ; static ats_bool_type keyitem_isnot_null_01808_anairiats_rec_0 (ats_ref_type arg0) ; static ats_ulint_type hash_key_01802_string (string arg0, ats_clo_ref_type arg1) ; static ats_bool_type equal_key_key_01803_string (string arg0, string arg1, ats_clo_ref_type arg2) ; static ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) ; static ats_ptr_type hashtbl_ptr_split_044_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) ; static ats_void_type loop_9 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_clo_ptr_type loop_9_closure_make (string env0, ats_clo_ref_type env1) ; static ats_void_type loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ; static ats_ptr_type hashtbl_ptr_probe_ofs_052_string_2csymbol (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) ; static ats_void_type hashtbl_ptr_relocate_0101_string_2csymbol (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) ; static ats_void_type hashtbl_resize_0122_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) ; static ats_bool_type hashtbl_insert_01814_string_2csymbol (ats_ptr_type arg0, string arg1, symbol arg2, ats_ref_type arg3) ; static ats_void_type symbol_insert_5 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type hashtbl_search_01813_string_2csymbol (ats_ptr_type arg0, string arg1, ats_ref_type arg2) ; static ats_ptr_type symbol_search_12 (ats_ptr_type arg0) ; static ats_uint_type stamp_getinc_16 () ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp7) ; ATSstatic (ats_uint_type, statmp95) ; // ATSstatic_void (statmp96) ; // ATSstatic_void (statmp97) ; ATSstatic (ats_ptr_type, statmp107) ; // ATSstatic_void (statmp108) ; ATSstatic (ats_bool_type, statmp109) ; ATSstatic (ats_uint_type, statmp110) ; ATSstatic (ats_ptr_type, statmp111) ; ATSstatic (ats_ptr_type, statmp112) ; ATSstatic (ats_ptr_type, statmp113) ; ATSstatic (ats_ptr_type, statmp114) ; ATSstatic (ats_ptr_type, statmp115) ; ATSstatic (ats_ptr_type, statmp116) ; ATSstatic (ats_ptr_type, statmp117) ; ATSstatic (ats_ptr_type, statmp118) ; ATSstatic (ats_ptr_type, statmp119) ; ATSstatic (ats_ptr_type, statmp120) ; ATSstatic (ats_ptr_type, statmp121) ; ATSstatic (ats_ptr_type, statmp122) ; ATSstatic (ats_ptr_type, statmp123) ; ATSstatic (ats_ptr_type, statmp124) ; ATSstatic (ats_ptr_type, statmp125) ; ATSstatic (ats_ptr_type, statmp126) ; ATSstatic (ats_ptr_type, statmp127) ; ATSstatic (ats_ptr_type, statmp128) ; ATSstatic (ats_ptr_type, statmp129) ; ATSstatic (ats_ptr_type, statmp130) ; ATSstatic (ats_ptr_type, statmp131) ; ATSstatic (ats_ptr_type, statmp132) ; ATSstatic (ats_ptr_type, statmp133) ; ATSstatic (ats_ptr_type, statmp134) ; ATSstatic (ats_ptr_type, statmp135) ; ATSstatic (ats_ptr_type, statmp136) ; ATSstatic (ats_ptr_type, statmp137) ; ATSstatic (ats_ptr_type, statmp138) ; ATSstatic (ats_ptr_type, statmp139) ; ATSstatic (ats_ptr_type, statmp140) ; ATSstatic (ats_ptr_type, statmp141) ; ATSstatic (ats_ptr_type, statmp142) ; ATSstatic (ats_ptr_type, statmp143) ; ATSstatic (ats_ptr_type, statmp144) ; ATSstatic (ats_ptr_type, statmp145) ; ATSstatic (ats_ptr_type, statmp146) ; ATSstatic (ats_ptr_type, statmp147) ; ATSstatic (ats_ptr_type, statmp148) ; ATSstatic (ats_ptr_type, statmp149) ; ATSstatic (ats_ptr_type, statmp150) ; ATSstatic (ats_ptr_type, statmp151) ; ATSstatic (ats_ptr_type, statmp152) ; ATSstatic (ats_ptr_type, statmp153) ; ATSstatic (ats_ptr_type, statmp154) ; ATSstatic (ats_ptr_type, statmp155) ; ATSstatic (ats_ptr_type, statmp156) ; ATSstatic (ats_ptr_type, statmp157) ; ATSstatic (ats_ptr_type, statmp158) ; ATSstatic (ats_ptr_type, statmp159) ; ATSstatic (ats_ptr_type, statmp160) ; ATSstatic (ats_ptr_type, statmp161) ; ATSstatic (ats_ptr_type, statmp162) ; ATSstatic (ats_ptr_type, statmp163) ; ATSstatic (ats_ptr_type, statmp164) ; ATSstatic (ats_ptr_type, statmp165) ; ATSstatic (ats_ptr_type, statmp166) ; ATSstatic (ats_ptr_type, statmp167) ; ATSstatic (ats_ptr_type, statmp168) ; ATSstatic (ats_ptr_type, statmp169) ; ATSstatic (ats_ptr_type, statmp170) ; ATSstatic (ats_ptr_type, statmp171) ; ATSstatic (ats_ptr_type, statmp172) ; ATSstatic (ats_ptr_type, statmp173) ; ATSstatic (ats_ptr_type, statmp174) ; ATSstatic (ats_ptr_type, statmp175) ; ATSstatic (ats_ptr_type, statmp176) ; ATSstatic (ats_ptr_type, statmp177) ; ATSstatic (ats_ptr_type, statmp178) ; ATSstatic (ats_ptr_type, statmp179) ; ATSstatic (ats_ptr_type, statmp180) ; ATSstatic (ats_ptr_type, statmp181) ; ATSstatic (ats_ptr_type, statmp182) ; ATSstatic (ats_ptr_type, statmp183) ; ATSstatic (ats_ptr_type, statmp184) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 2288(line=78, offs=3) -- 2451(line=83, offs=2) */ ATSstaticdec() ats_void_type keyitem_nullify_01807_anairiats_rec_0 (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_keyitem_nullify_01807_anairiats_rec_0: ats_select_mac(ats_ptrget_mac(anairiats_rec_0, arg0), atslab_0) = ats_castfn_mac(string, atspre_null_ptr) ; return /* (tmp0) */ ; } /* end of [keyitem_nullify_01807_anairiats_rec_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 2525(line=87, offs=3) -- 2793(line=94, offs=2) */ ATSstaticdec() ats_bool_type keyitem_isnot_null_01808_anairiats_rec_0 (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp1) ; ATSlocal (ats_bool_type, tmp2) ; ATSlocal (string, tmp3) ; __ats_lab_keyitem_isnot_null_01808_anairiats_rec_0: tmp3 = ats_select_mac(ats_ptrget_mac(anairiats_rec_0, arg0), atslab_0) ; tmp2 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp3), atspre_null_ptr) ; tmp1 = ats_castfn_mac(ats_bool_type, tmp2) ; return (tmp1) ; } /* end of [keyitem_isnot_null_01808_anairiats_rec_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 2855(line=97, offs=15) -- 2888(line=97, offs=48) */ ATSstaticdec() ats_ulint_type hash_key_01802_string (string arg0, ats_clo_ref_type arg1) { /* local vardec */ ATSlocal (ats_ulint_type, tmp4) ; __ats_lab_hash_key_01802_string: tmp4 = atspre_string_hash_33 (ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp4) ; } /* end of [hash_key_01802_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 2922(line=100, offs=3) -- 2972(line=100, offs=53) */ ATSstaticdec() ats_bool_type equal_key_key_01803_string (string arg0, string arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; __ats_lab_equal_key_key_01803_string: tmp6 = atspre_compare_string_string (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ; tmp5 = atspre_ieq (tmp6, 0) ; return (tmp5) ; } /* end of [equal_key_key_01803_string] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 19885(line=623, offs=3) -- 20024(line=626, offs=4) */ ATSstaticdec() ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp8) ; __ats_lab_atslib_hashtbl_make_hint__linprb_string_2csymbol: tmp8 = atslib_hashtbl_make_hint_tsz__linprb (arg0, arg1, arg2, sizeof(anairiats_rec_0)) ; return (tmp8) ; } /* end of [atslib_hashtbl_make_hint__linprb_string_2csymbol] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 5439(line=171, offs=47) -- 5885(line=184, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_split_044_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_size_type, tmp25) ; ATSlocal (ats_size_type, tmp26) ; __ats_lab_hashtbl_ptr_split_044_string_2csymbol: tmp25 = atspre_mul2_size1_size1 (arg1, sizeof(anairiats_rec_0)) ; tmp26 = ats_selsin_mac(tmp25, atslab_1) ; tmp24 = atspre_padd_size (arg0, tmp26) ; return (tmp24) ; } /* end of [hashtbl_ptr_split_044_string_2csymbol] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6608(line=211, offs=7) -- 7396(line=234, offs=8) */ ATSstaticdec() ats_void_type loop_9 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; ATSlocal (string, tmp31) ; ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_size_type, tmp34) ; __ats_lab_loop_9: tmp29 = atspre_gt_size1_int1 (arg1, 0) ; if (tmp29) { tmp30 = keyitem_isnot_null_01808_anairiats_rec_0 (arg0) ; if (tmp30) { tmp31 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_0) ; tmp32 = equal_key_key_01803_string (env0, tmp31, env1) ; if (tmp32) { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; ats_ptrget_mac(ats_bool_type, arg3) = ats_true_bool ; } else { tmp33 = atspre_padd_size (arg0, sizeof(anairiats_rec_0)) ; tmp34 = atspre_sub_size1_int1 (arg1, 1) ; arg0 = tmp33 ; arg1 = tmp34 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_loop_9 ; // tail call } /* end of [if] */ } else { ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp28) */ ; } /* end of [loop_9] */ typedef struct { ats_fun_ptr_type closure_fun ; string closure_env_0 ; ats_clo_ref_type closure_env_1 ; } loop_9_closure_type ; ats_void_type loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) { loop_9 (((loop_9_closure_type*)cloptr)->closure_env_0, ((loop_9_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; return ; } /* end of function */ ATSinline() ats_void_type loop_9_closure_init (loop_9_closure_type *p_clo, string env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_9_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type loop_9_closure_make (string env0, ats_clo_ref_type env1) { loop_9_closure_type *p_clo = ATS_MALLOC(sizeof(loop_9_closure_type)) ; loop_9_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 6222(line=201, offs=22) -- 7691(line=244, offs=4) */ ATSstaticdec() ats_ptr_type hashtbl_ptr_probe_ofs_052_string_2csymbol (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_size_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_bool_type, tmp39) ; __ats_lab_hashtbl_ptr_probe_ofs_052_string_2csymbol: tmp23 = hashtbl_ptr_split_044_string_2csymbol (arg0, arg4) ; tmp27 = ats_selsin_mac(tmp23, atslab_2) ; /* ats_ptr_type tmp35 ; */ tmp35 = atspre_null_ptr ; ats_ptrget_mac(ats_bool_type, arg5) = ats_false_bool ; tmp37 = atspre_sub_size1_size1 (arg3, arg4) ; /* tmp36 = */ loop_9 (arg1, arg2, tmp27, tmp37, (&tmp35), arg5) ; tmp39 = atspre_peq (tmp35, atspre_null_ptr) ; if (tmp39) { /* tmp38 = */ loop_9 (arg1, arg2, arg0, arg4, (&tmp35), arg5) ; } else { /* empty */ } /* end of [if] */ tmp22 = tmp35 ; return (tmp22) ; } /* end of [hashtbl_ptr_probe_ofs_052_string_2csymbol] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 9389(line=302, offs=38) -- 10782(line=340, offs=4) */ ATSstaticdec() ats_void_type hashtbl_ptr_relocate_0101_string_2csymbol (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) { /* local vardec */ // ATSlocal_void (tmp58) ; ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (string, tmp62) ; ATSlocal (symbol, tmp63) ; ATSlocal (ats_ulint_type, tmp64) ; ATSlocal (ats_size_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_size_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab_hashtbl_ptr_relocate_0101_string_2csymbol: tmp59 = atspre_gt_size1_int1 (arg0, 0) ; if (tmp59) { tmp60 = keyitem_isnot_null_01808_anairiats_rec_0 (arg2) ; if (tmp60) { tmp62 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_0) ; tmp63 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_1) ; tmp64 = hash_key_01802_string (tmp62, arg4) ; tmp65 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp64), arg1) ; /* ats_bool_type tmp66 ; */ tmp67 = hashtbl_ptr_probe_ofs_052_string_2csymbol (arg3, tmp62, arg5, arg1, tmp65, (&tmp66)) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp67), atslab_0) = tmp62 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp67), atslab_1) = tmp63 ; } else { /* empty */ } /* end of [if] */ tmp68 = atspre_sub_size1_int1 (arg0, 1) ; tmp69 = atspre_padd_size (arg2, sizeof(anairiats_rec_0)) ; arg0 = tmp68 ; arg1 = arg1 ; arg2 = tmp69 ; arg3 = arg3 ; arg4 = arg4 ; arg5 = arg5 ; goto __ats_lab_hashtbl_ptr_relocate_0101_string_2csymbol ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp58) */ ; } /* end of [hashtbl_ptr_relocate_0101_string_2csymbol] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 10895(line=345, offs=37) -- 11621(line=364, offs=2) */ ATSstaticdec() ats_void_type hashtbl_resize_0122_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) { /* local vardec */ // ATSlocal_void (tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; // ATSlocal_void (tmp57) ; ATSlocal (ats_size_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_clo_ref_type, tmp72) ; ATSlocal (ats_clo_ref_type, tmp73) ; // ATSlocal_void (tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab_hashtbl_resize_0122_string_2csymbol: tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp55 = atslib_hashtbl_ptr_make__linprb (arg1, sizeof(anairiats_rec_0)) ; tmp56 = ats_selsin_mac(tmp55, atslab_2) ; tmp70 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_sz) ; tmp71 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) ; tmp72 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_hash) ; tmp73 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_eqfn) ; /* tmp57 = */ hashtbl_ptr_relocate_0101_string_2csymbol (tmp70, arg1, tmp71, tmp56, tmp72, tmp73) ; tmp75 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) ; /* tmp74 = */ atslib_hashtbl_ptr_free__linprb (tmp75) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_sz) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) = tmp56 ; return /* (tmp53) */ ; } /* end of [hashtbl_resize_0122_string_2csymbol] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 14588(line=454, offs=3) -- 15998(line=498, offs=2) */ ATSstaticdec() ats_bool_type hashtbl_insert_01814_string_2csymbol (ats_ptr_type arg0, string arg1, symbol arg2, ats_ref_type arg3) { /* local vardec */ ATSlocal (ats_bool_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ulint_type, tmp15) ; ATSlocal (ats_clo_ref_type, tmp16) ; ATSlocal (ats_size_type, tmp17) ; ATSlocal (ats_size_type, tmp18) ; ATSlocal (ats_bool_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_clo_ref_type, tmp41) ; ATSlocal (ats_bool_type, tmp42) ; ATSlocal (symbol, tmp44) ; ATSlocal (ats_size_type, tmp45) ; ATSlocal (ats_size_type, tmp46) ; ATSlocal (ats_bool_type, tmp47) ; ATSlocal (ats_double_type, tmp48) ; ATSlocal (ats_double_type, tmp49) ; ATSlocal (ats_double_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_size_type, tmp76) ; __ats_lab_hashtbl_insert_01814_string_2csymbol: tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp16 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_hash) ; tmp15 = hash_key_01802_string (arg1, tmp16) ; tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_sz) ; tmp18 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp15), tmp17) ; /* ats_bool_type tmp19 ; */ /* ats_int_type tmp20 ; */ tmp20 = 0 ; tmp40 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_pbeg) ; tmp41 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_eqfn) ; tmp21 = hashtbl_ptr_probe_ofs_052_string_2csymbol (tmp40, arg1, tmp41, tmp17, tmp18, (&tmp19)) ; tmp42 = ats_castfn_mac(ats_bool_type, tmp19) ; if (tmp42) { tmp44 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) = arg2 ; ats_ptrget_mac(symbol, arg3) = tmp44 ; } else { tmp45 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_tot) ; tmp46 = atspre_add_size_int (tmp45, 1) ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_tot) = tmp46 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_0) = arg1 ; ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) = arg2 ; tmp49 = atspre_double_of_size (tmp45) ; tmp48 = atspre_mul_int_double (2, tmp49) ; tmp50 = atspre_double_of_size (tmp17) ; tmp47 = atspre_gte_double_double (tmp48, tmp50) ; if (tmp47) { tmp20 = 1 ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ tmp52 = atspre_gt_int_int (tmp20, 0) ; if (tmp52) { tmp76 = atspre_add_size1_size1 (tmp17, tmp17) ; /* tmp51 = */ hashtbl_resize_0122_string_2csymbol (arg0, tmp76) ; } else { /* empty */ } /* end of [if] */ tmp13 = tmp42 ; return (tmp13) ; } /* end of [hashtbl_insert_01814_string_2csymbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 3291(line=112, offs=5) -- 3650(line=124, offs=2) */ ATSstaticdec() ats_void_type symbol_insert_5 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (symbol, tmp11) ; ATSlocal (ats_bool_type, tmp12) ; __ats_lab_symbol_insert_5: tmp10 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp7)), atslab_1) ; /* symbol tmp11 ; */ tmp12 = hashtbl_insert_01814_string_2csymbol (tmp10, ats_castfn_mac(string, arg0), ats_castfn_mac(symbol, arg1), (&tmp11)) ; return /* (tmp9) */ ; } /* end of [symbol_insert_5] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/hashtable_linprb.dats: 8459(line=270, offs=16) -- 9173(line=291, offs=4) */ ATSstaticdec() ats_bool_type hashtbl_search_01813_string_2csymbol (ats_ptr_type arg0, string arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ulint_type, tmp83) ; ATSlocal (ats_clo_ref_type, tmp84) ; ATSlocal (ats_size_type, tmp85) ; ATSlocal (ats_size_type, tmp86) ; ATSlocal (ats_bool_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_clo_ref_type, tmp90) ; ATSlocal (ats_size_type, tmp91) ; ATSlocal (symbol, tmp92) ; __ats_lab_hashtbl_search_01813_string_2csymbol: tmp82 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; tmp84 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_hash) ; tmp83 = hash_key_01802_string (arg1, tmp84) ; tmp86 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_sz) ; tmp85 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp83), tmp86) ; /* ats_bool_type tmp87 ; */ tmp89 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_pbeg) ; tmp90 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_eqfn) ; tmp91 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_sz) ; tmp88 = hashtbl_ptr_probe_ofs_052_string_2csymbol (tmp89, arg1, tmp90, tmp91, tmp85, (&tmp87)) ; if (tmp87) { tmp92 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp88), atslab_1) ; ats_ptrget_mac(symbol, arg2) = tmp92 ; tmp81 = ats_true_bool ; } else { tmp81 = ats_false_bool ; } /* end of [if] */ return (tmp81) ; } /* end of [hashtbl_search_01813_string_2csymbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 3682(line=126, offs=5) -- 4041(line=138, offs=4) */ ATSstaticdec() ats_ptr_type symbol_search_12 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (symbol, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; __ats_lab_symbol_search_12: tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp7)), atslab_1) ; /* symbol tmp79 ; */ tmp80 = hashtbl_search_01813_string_2csymbol (tmp78, ats_castfn_mac(string, arg0), (&tmp79)) ; if (tmp80) { tmp77 = ats_castfn_mac(ats_ptr_type, tmp79) ; } else { tmp77 = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ; } /* end of [if] */ return (tmp77) ; } /* end of [symbol_search_12] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 4239(line=152, offs=17) -- 4251(line=152, offs=29) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name: tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_name) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 4279(line=154, offs=18) -- 4292(line=154, offs=31) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp: tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 4482(line=164, offs=5) -- 4623(line=169, offs=2) */ ATSstaticdec() ats_uint_type stamp_getinc_16 () { /* local vardec */ ATSlocal (ats_uint_type, tmp98) ; ATSlocal (ats_uint_type, tmp99) ; ATSlocal (ats_uint_type, tmp100) ; __ats_lab_stamp_getinc_16: tmp99 = statmp95 ; tmp100 = atspre_add_uint_uint (tmp99, 1u) ; statmp95 = tmp100 ; tmp98 = tmp99 ; return (tmp98) ; } /* end of [stamp_getinc_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 4704(line=175, offs=3) -- 5266(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_uint_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; // ATSlocal_void (tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string: tmp102 = symbol_search_12 (arg0) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp103 = atspre_ptr_is_null (tmp102) ; if (!tmp103) { goto __ats_lab_1_1 ; } tmp104 = stamp_getinc_16 () ; tmp105 = ATS_MALLOC(sizeof(anairiats_rec_2)) ; ats_selptrset_mac(anairiats_rec_2, tmp105, atslab_name, arg0) ; ats_selptrset_mac(anairiats_rec_2, tmp105, atslab_stamp, tmp104) ; /* tmp106 = */ symbol_insert_5 (arg0, tmp105) ; tmp101 = tmp105 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp101 = tmp102 ; break ; } while (0) ; return (tmp101) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10070(line=373, offs=18) -- 10100(line=373, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp185) ; ATSlocal (ats_uint_type, tmp186) ; ATSlocal (ats_uint_type, tmp187) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol: tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ; tmp185 = atspre_eq_uint_uint (tmp186, tmp187) ; return (tmp185) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10129(line=375, offs=19) -- 10160(line=375, offs=50) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__neq_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp188) ; ATSlocal (ats_uint_type, tmp189) ; ATSlocal (ats_uint_type, tmp190) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__neq_symbol_symbol: tmp189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ; tmp190 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ; tmp188 = atspre_neq_uint_uint (tmp189, tmp190) ; return (tmp188) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__neq_symbol_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10215(line=380, offs=23) -- 10254(line=380, offs=62) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp191) ; ATSlocal (ats_uint_type, tmp192) ; ATSlocal (ats_uint_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol: tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ; tmp193 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ; tmp191 = atspre_compare_uint_uint (tmp192, tmp193) ; return (tmp191) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__compare_symbol_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10300(line=385, offs=14) -- 10335(line=385, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__print_symbol (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__print_symbol: /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (stdout, arg0) ; return /* (tmp194) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__print_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10359(line=387, offs=14) -- 10394(line=387, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp195) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol: /* tmp195 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (stderr, arg0) ; return /* (tmp195) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10445(line=393, offs=3) -- 10483(line=393, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol: tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_name) ; /* tmp196 = */ atspre_fprint_string (arg0, tmp197) ; return /* (tmp196) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 10516(line=397, offs=3) -- 10763(line=409, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; /* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ; /* tmp201 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp199) ; /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: /* tmp198 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ; break ; } while (0) ; return /* (tmp198) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbolopt] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; // ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats__staload () ; #ifdef _ATS_PROOFCHECK ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ; ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ; ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert1_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2edats____assert2_prfck () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp95, sizeof(ats_uint_type)) ; ATS_GC_MARKROOT(&statmp107, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp109, sizeof(ats_bool_type)) ; ATS_GC_MARKROOT(&statmp110, sizeof(ats_uint_type)) ; ATS_GC_MARKROOT(&statmp111, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp112, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp113, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp114, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp115, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp116, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp117, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp118, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp119, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp120, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp121, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp122, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp123, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp124, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp125, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp126, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp127, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp128, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp129, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp130, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp131, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp132, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp133, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp134, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp135, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp136, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp137, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp138, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp139, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp140, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp141, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp142, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp143, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp144, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp145, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp146, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp147, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp148, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp149, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp150, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp151, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp152, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp153, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp154, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp155, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp156, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp157, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp158, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp159, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp160, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp161, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp162, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp163, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp164, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp165, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp166, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp167, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp168, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp169, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp170, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp171, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp172, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp173, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp174, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp175, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp176, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp177, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp178, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp179, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp180, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp181, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp182, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp183, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp184, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp7 = atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), 1024) ; /* ats_uint_type statmp95 ; */ statmp95 = 0u ; /* statmp96 = */ atspre_vbox_make_view_ptr ((&statmp95)) ; /* statmp97 = ats_selsin_mac(statmp96, atslab_1) */ ; statmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("")) ; statmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, statmp107), atslab_stamp) ; statmp109 = atspre_eq_uint_uint (statmp110, 0u) ; statmp111 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_symbol.dats: 5489(line=212, offs=12) -- 5512(line=212, offs=35)", ATSstrcst("\n")) ; /* statmp108 = */ atspre_assert_errmsg (statmp109, statmp111) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_empty = statmp107 ; statmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("+")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD = statmp112 ; statmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("-")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB = statmp113 ; statmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("*")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MUL = statmp114 ; statmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("/")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DIV, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DIV = statmp115 ; statmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERSAND, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERSAND = statmp116 ; statmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&!")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERBANG, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERBANG = statmp117 ; statmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&?")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERQMARK, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AMPERQMARK = statmp118 ; statmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("@")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_AT = statmp119 ; statmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("\\")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BACKSLASH = statmp120 ; statmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("!")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANG = statmp121 ; statmp122 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(":=")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQ = statmp122 ; statmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(":=:")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQCOLON, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_COLONEQCOLON = statmp123 ; statmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GT = statmp124 ; statmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">=")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTEQ = statmp125 ; statmp126 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LT = statmp126 ; statmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<=")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTEQ = statmp127 ; statmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("=")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQ = statmp128 ; statmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("==")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EQEQ = statmp129 ; statmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<>")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTGT = statmp130 ; statmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("!=")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BANGEQ = statmp131 ; statmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("><")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTLT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTLT = statmp132 ; statmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">>")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTGT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_GTGT = statmp133 ; statmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<<")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTLT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LTLT = statmp134 ; statmp135 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&&")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAND, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAND = statmp135 ; statmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("||")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LOR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LOR = statmp136 ; statmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("[]")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LRBRACKETS = statmp137 ; statmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("->")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_MINUSGT = statmp138 ; statmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("?")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARK, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARK = statmp139 ; statmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("?!")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARKBANG, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_QMARKBANG = statmp140 ; statmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("~")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TILDE = statmp141 ; statmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("_")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDERSCORE = statmp142 ; statmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vbox")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VBOX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VBOX = statmp143 ; statmp144 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("lam@")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAMAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LAMAT = statmp144 ; statmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("llam@")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LLAMAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_LLAMAT = statmp145 ; statmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ref@")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_REFAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_REFAT = statmp146 ; statmp147 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("int")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_INT = statmp147 ; statmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_BOOL = statmp148 ; statmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("addr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADDR = statmp149 ; statmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("float")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FLOAT = statmp150 ; statmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("string")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_STRING = statmp151 ; statmp152 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("cls")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CLS = statmp152 ; statmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("eff")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_EFF = statmp153 ; statmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("tkind")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TKIND = statmp154 ; statmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("prop")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PROP = statmp155 ; statmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("type")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPE = statmp156 ; statmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("t@ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_T0YPE = statmp157 ; statmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("view")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEW = statmp158 ; statmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VTYPE = statmp159 ; statmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vt0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VT0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VT0YPE = statmp160 ; statmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("viewtype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWTYPE = statmp161 ; statmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("viewt0ype")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_VIEWT0YPE = statmp162 ; statmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("types")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TYPES = statmp163 ; statmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("true_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TRUE_BOOL = statmp164 ; statmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("false_bool")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_FALSE_BOOL = statmp165 ; statmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("defined")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DEFINED, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_DEFINED = statmp166 ; statmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("undefined")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDEFINED, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_UNDEFINED = statmp167 ; statmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("car")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CAR = statmp168 ; statmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("cdr")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_CDR = statmp169 ; statmp170 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("isnil")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISNIL = statmp170 ; statmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("iscons")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISCONS = statmp171 ; statmp172 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("islist")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ISLIST = statmp172 ; statmp173 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("tupz")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TUPZ, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_TUPZ = statmp173 ; statmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("__STDIN__")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STDIN__, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STDIN__ = statmp174 ; statmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("__STRING__")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STRING__, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol__STRING__ = statmp175 ; statmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSHOME")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOME, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOME = statmp176 ; statmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSHOMERELOC")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOMERELOC, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_PATSHOMERELOC = statmp177 ; statmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATSPKGRELOCROOT")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATSPKGRELOCROOT, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATSPKGRELOCROOT = statmp178 ; statmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_PACKNAME")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME = statmp179 ; statmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_DYNLOADFLAG")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG = statmp180 ; statmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_DYNLOADNAME")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME = statmp181 ; statmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_MAINATSFLAG")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG = statmp182 ; statmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_EXTERN_PREFIX")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX = statmp183 ; statmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_STATIC_PREFIX")) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX = statmp184 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_symbol_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_env_dvar_dats.c0000664000175000017500000037611712655455557021716 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_5 ; typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_11 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTnil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_invar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_trans_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__WTHS2EXPLSTcons_none_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_lvar_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINsome_vbox_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2VFINdone_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_none_some_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_d2var_fin_some_some_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSset_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSlam_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSnil_2) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_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_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_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_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_agtz) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all) (ats_ptr_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvaropt) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_top) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_llamd2vs) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_add_labp3atlst) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__sasp__d2varenv_push_v = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSset_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSlam_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSnil_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02042_ () ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_13 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type loop_11 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type loop_19 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_21 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxlst_22 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxset_23 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type auxsetlst_24 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_31 (ats_ptr_type arg0) ; static ats_void_type prerr_error3_loc_02048_ (ats_ptr_type arg0) ; static ats_void_type auxerr1_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxerr2_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type d2vfin_check_some_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxerr_37 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2vfin_check_none_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_42 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxlst_43 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type d2vfin_checked_44 (ats_ptr_type arg0) ; static ats_void_type auxvar_46 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxpatlst_47 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) ; static ats_ptr_type p3at_get_var_50 (ats_ptr_type arg0) ; static ats_void_type d2vfin_unchecked_51 (ats_ptr_type arg0) ; static ats_void_type aux_invar_52 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type aux_trans_53 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxlst_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp31) ; ATSstatic (ats_ptr_type, statmp34) ; ATSstatic (ats_ptr_type, statmp35) ; ATSstatic (ats_ptr_type, statmp36) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 1616(line=49, offs=18) -- 1649(line=49, offs=51) */ ATSstaticdec() ats_void_type prerr_FILENAME_02042_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02042_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_env_dvar")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02042_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 2206(line=86, offs=3) -- 3562(line=135, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; // ATSlocal_void (tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2var_get_type_some (arg0, arg1) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (arg1) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp3 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ; tmp4 = tmp5 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (tmp3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2var_make_id_srt (tmp6, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_addr) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_svar (tmp7) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_var (tmp7) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_0, tmp9) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_addr (arg1, tmp11) ; tmp4 = tmp9 ; break ; } while (0) ; tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ptr_addr_type (tmp4) ; tmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_0, tmp12) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp14) ; tmp16 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp16, atslab_0, tmp12) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (arg1, tmp16) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_linval (arg1, -1) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_agtz (tmp4) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_hypadd_prop (arg0, tmp18) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_ptr_viewat_make (arg1, arg3) ; tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, tmp20) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_view (arg1, tmp22) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (arg2, tmp4) ; tmp25 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp25, atslab_0, tmp23) ; /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_mastype (tmp20, tmp25) ; tmp26 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp2, tmp4) ; tmp28 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp28, atslab_0, tmp26) ; /* tmp27 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (tmp20, tmp28) ; tmp1 = tmp20 ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 3625(line=139, offs=3) -- 3689(line=140, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize_none (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize_none: tmp30 = (ats_sum_ptr_type)0 ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize (arg0, arg1, arg2, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__d2var_mutablize_none] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp33 ; */ tmp33 = arg0 ; tmp32 = atspre_ref_make_elt_tsz ((&tmp33), sizeof(ats_ptr_type)) ; return (tmp32) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 4273(line=170, offs=22) -- 4366(line=174, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_top () { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_top: tmp38 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp39 = ats_ptrget_mac(ats_ptr_type, tmp38) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize (tmp39) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 4437(line=177, offs=27) -- 4766(line=188, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_llamd2vs () { /* local vardec */ ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_llamd2vs: tmp41 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp42 = ats_ptrget_mac(ats_ptr_type, tmp41) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp42)->tag != 1) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp43 = &ats_caselptrlab_mac(anairiats_sum_3, tmp42, atslab_1) ; tmp44 = ats_ptrget_mac(ats_ptr_type, tmp43) ; tmp45 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, tmp43) = tmp45 ; tmp40 = tmp44 ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)tmp42)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp40 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: // if (((ats_sum_ptr_type)tmp42)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_4_1: tmp40 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_llamd2vs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 4861(line=194, offs=3) -- 5095(line=205, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar: tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp49 = ats_ptrget_mac(ats_ptr_type, tmp47) ; tmp48 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add (tmp49, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp47) = tmp48 ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (arg0) ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (tmp50 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_2, tmp50, atslab_0) ; tmp53 = ats_ptrget_mac(ats_ptr_type, tmp47) ; tmp52 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add (tmp53, tmp51) ; ats_ptrget_mac(ats_ptr_type, tmp47) = tmp52 ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (tmp50 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: break ; } while (0) ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 5182(line=210, offs=7) -- 5443(line=217, offs=25) */ ATSstaticdec() ats_ptr_type loop_8 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; __ats_lab_loop_8: do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_add (arg0, tmp56) ; arg0 = tmp58 ; arg1 = tmp57 ; goto __ats_lab_loop_8 ; // tail call break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp55 = arg0 ; break ; } while (0) ; return (tmp55) ; } /* end of [loop_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 5163(line=209, offs=3) -- 5544(line=222, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvarlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvarlst: tmp59 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp61 = ats_ptrget_mac(ats_ptr_type, tmp59) ; tmp60 = loop_8 (tmp61, arg0) ; ats_ptrget_mac(ats_ptr_type, tmp59) = tmp60 ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvarlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 5615(line=226, offs=3) -- 5703(line=229, offs=18) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvaropt (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvaropt: do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp63) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_10_1: break ; } while (0) ; return /* (tmp62) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvaropt] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab_loop_13: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp73 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; return /* (tmp72) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp71 = */ loop_13 (arg0) ; return /* (tmp71) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 5862(line=238, offs=8) -- 6307(line=251, offs=11) */ ATSstaticdec() ats_ptr_type loop_11 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_loop_11: do { /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp66 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp67 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; ATS_FREE(arg0) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp66 ; tmp65 = tmp67 ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_15_0 ; } __ats_lab_12_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp69 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; ATS_FREE(arg0) ; /* tmp70 = */ list_vt_free_01499_ats_ptr_type (tmp68) ; arg0 = tmp69 ; arg1 = arg1 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil () ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp74 ; tmp65 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSnil_2) ; break ; } while (0) ; return (tmp65) ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 5795(line=236, offs=4) -- 6645(line=264, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop () { /* local vardec */ // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop: tmp75 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp77 = ats_ptrget_mac(ats_ptr_type, tmp75) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_free (tmp77) ; tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp80 = ats_ptrget_mac(ats_ptr_type, tmp78) ; tmp79 = loop_11 (tmp80, tmp75) ; ats_ptrget_mac(ats_ptr_type, tmp78) = tmp79 ; return /* (tmp64) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 6725(line=269, offs=19) -- 7006(line=279, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push () { /* local vardec */ // ATSlocal_void (tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push: tmp82 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp83 = ats_ptrget_mac(ats_ptr_type, tmp82) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil () ; ats_ptrget_mac(ats_ptr_type, tmp82) = tmp84 ; tmp85 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp87 = ats_ptrget_mac(ats_ptr_type, tmp85) ; tmp86 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp86)->tag = 0 ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_0, tmp83) ; ats_selptrset_mac(anairiats_sum_5, tmp86, atslab_1, tmp87) ; ats_ptrget_mac(ats_ptr_type, tmp85) = tmp86 ; return /* (tmp81) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 7070(line=282, offs=23) -- 7251(line=288, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp88) ; // ATSlocal_void (tmp89) ; // ATSlocal_void (tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam: /* tmp89 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push () ; /* tmp90 = ats_selsin_mac(tmp89, atslab_1) */ ; tmp91 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp93 = (ats_sum_ptr_type)0 ; tmp94 = ats_ptrget_mac(ats_ptr_type, tmp91) ; tmp92 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp92)->tag = 1 ; ats_selptrset_mac(anairiats_sum_3, tmp92, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp92, atslab_1, tmp93) ; ats_selptrset_mac(anairiats_sum_3, tmp92, atslab_2, tmp94) ; ats_ptrget_mac(ats_ptr_type, tmp91) = tmp92 ; return /* (tmp88) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 7319(line=291, offs=23) -- 7344(line=291, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let () { /* local vardec */ // ATSlocal_void (tmp95) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let: /* tmp95 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_push () ; return /* (tmp95) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 7436(line=295, offs=23) -- 7465(line=295, offs=52) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try () { /* local vardec */ // ATSlocal_void (tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try: /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_lam (0) ; return /* (tmp96) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_push_try] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 7573(line=303, offs=5) -- 8295(line=330, offs=2) */ ATSstaticdec() ats_bool_type loop_19 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp98) ; ATSlocal (ats_int_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_bool_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_loop_19: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_16_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp100 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp101 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp102 = atspre_gt_int_int (tmp99, 0) ; if (!tmp102) { goto __ats_lab_18_1 ; } tmp104 = ats_ptrget_mac(ats_ptr_type, tmp100) ; tmp103 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp103, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_4, tmp103, atslab_1, tmp104) ; ats_ptrget_mac(ats_ptr_type, tmp100) = tmp103 ; tmp105 = ats_ptrget_mac(ats_ptr_type, tmp101) ; arg0 = tmp105 ; arg1 = arg1 ; goto __ats_lab_loop_19 ; // tail call break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: __ats_lab_18_1: tmp98 = ats_false_bool ; break ; } while (0) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp106 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp107 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp109 = ats_ptrget_mac(ats_ptr_type, tmp106) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem (tmp109, arg1) ; if (tmp108) { tmp98 = ats_true_bool ; } else { tmp110 = ats_ptrget_mac(ats_ptr_type, tmp107) ; arg0 = tmp110 ; arg1 = arg1 ; goto __ats_lab_loop_19 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp98 = ats_false_bool ; break ; } while (0) ; return (tmp98) ; } /* end of [loop_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 7533(line=301, offs=3) -- 8596(line=351, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_d2var_is_llamlocal (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp97) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_d2var_is_llamlocal: tmp111 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp113 = ats_ptrget_mac(ats_ptr_type, tmp111) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_ismem (tmp113, arg0) ; if (tmp112) { tmp97 = ats_true_bool ; } else { tmp114 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp115 = ats_ptrget_mac(ats_ptr_type, tmp114) ; tmp97 = loop_19 (tmp115, arg0) ; } /* end of [if] */ return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_d2var_is_llamlocal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 8722(line=359, offs=5) -- 9147(line=374, offs=4) */ ATSstaticdec() ats_void_type aux_21 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; ATSlocal (ats_ptr_type, tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; __ats_lab_aux_21: tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (arg0) ; tmp119 = atspre_gte_int_int (tmp118, 0) ; if (tmp119) { tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__lstbefitm_make (arg0, tmp118) ; tmp121 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_0, tmp120) ; ats_selptrset_mac(anairiats_sum_4, tmp121, atslab_1, ats_ptrget_mac(ats_ptr_type, arg1)) ; ats_ptrget_mac(ats_ptr_type, arg1) = tmp121 ; } else { /* empty */ } /* end of [if] */ return /* (tmp117) */ ; } /* end of [aux_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 9171(line=376, offs=5) -- 9415(line=385, offs=2) */ ATSstaticdec() ats_void_type auxlst_22 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; // ATSlocal_void (tmp125) ; __ats_lab_auxlst_22: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; ATS_FREE(arg0) ; /* tmp125 = */ aux_21 (tmp123, arg1) ; arg0 = tmp124 ; arg1 = arg1 ; goto __ats_lab_auxlst_22 ; // tail call break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: break ; } while (0) ; return /* (tmp122) */ ; } /* end of [auxlst_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 9445(line=387, offs=5) -- 9592(line=392, offs=4) */ ATSstaticdec() ats_void_type auxset_23 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; __ats_lab_auxset_23: tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_listize (arg0) ; /* tmp126 = */ auxlst_22 (tmp127, arg1) ; return /* (tmp126) */ ; } /* end of [auxset_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 9619(line=394, offs=5) -- 10044(line=414, offs=4) */ ATSstaticdec() ats_void_type auxsetlst_24 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; // ATSlocal_void (tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_bool_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab_auxsetlst_24: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp129 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ; tmp130 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ; tmp132 = ats_ptrget_mac(ats_ptr_type, tmp129) ; /* tmp131 = */ auxset_23 (tmp132, arg1) ; tmp133 = ats_ptrget_mac(ats_ptr_type, tmp130) ; arg0 = tmp133 ; arg1 = arg1 ; goto __ats_lab_auxsetlst_24 ; // tail call break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp135 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_2) ; tmp136 = atspre_gt_int_int (tmp134, 0) ; if (!tmp136) { goto __ats_lab_25_1 ; } tmp137 = ats_ptrget_mac(ats_ptr_type, tmp135) ; arg0 = tmp137 ; arg1 = arg1 ; goto __ats_lab_auxsetlst_24 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: break ; } while (0) ; return /* (tmp128) */ ; } /* end of [auxsetlst_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 8706(line=357, offs=3) -- 10509(line=435, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst () { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; // ATSlocal_void (tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst: /* ats_ptr_type tmp138 ; */ tmp138 = (ats_sum_ptr_type)0 ; tmp139 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp31), atslab_1) ; tmp141 = ats_ptrget_mac(ats_ptr_type, tmp139) ; /* tmp140 = */ auxset_23 (tmp141, (&tmp138)) ; tmp142 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp35), atslab_1) ; tmp144 = ats_ptrget_mac(ats_ptr_type, tmp142) ; /* tmp143 = */ auxsetlst_24 (tmp144, (&tmp138)) ; tmp116 = tmp138 ; return (tmp116) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_save_lstbefitmlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 10716(line=448, offs=3) -- 11702(line=499, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; // ATSlocal_void (tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; // ATSlocal_void (tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at: tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt (arg0) ; /* tmp147 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvaropt (tmp146) ; tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp148)->tag != 0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp149 = ats_caselptrlab_mac(anairiats_sum_7, tmp148, atslab_0) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp149) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp148)->tag != 1) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp150 = ats_caselptrlab_mac(anairiats_sum_7, tmp148, atslab_0) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp150) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp148)->tag != 2) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_8, tmp148, atslab_3) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (tmp151) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp148)->tag != 17) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_5, tmp148, atslab_0) ; arg0 = tmp152 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at ; // tail call break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp148)->tag != 3) { goto __ats_lab_31_0 ; } __ats_lab_30_1: break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp148)->tag != 4) { goto __ats_lab_32_0 ; } __ats_lab_31_1: break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp148)->tag != 5) { goto __ats_lab_33_0 ; } __ats_lab_32_1: break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp148)->tag != 6) { goto __ats_lab_34_0 ; } __ats_lab_33_1: break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp148)->tag != 7) { goto __ats_lab_35_0 ; } __ats_lab_34_1: break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp148)->tag != 8) { goto __ats_lab_36_0 ; } __ats_lab_35_1: break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp148)->tag != 9) { goto __ats_lab_37_0 ; } __ats_lab_36_1: break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp148)->tag != 10) { goto __ats_lab_38_0 ; } __ats_lab_37_1: break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp148)->tag != 11) { goto __ats_lab_39_0 ; } __ats_lab_38_1: break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp148)->tag != 12) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp153 = ats_caselptrlab_mac(anairiats_sum_9, tmp148, atslab_2) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_add_labp3atlst (tmp153) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp148)->tag != 13) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_3, tmp148, atslab_2) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (tmp154) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp148)->tag != 14) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp155 = ats_caselptrlab_mac(anairiats_sum_5, tmp148, atslab_0) ; tmp156 = ats_caselptrlab_mac(anairiats_sum_5, tmp148, atslab_1) ; /* tmp157 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp155) ; arg0 = tmp156 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at ; // tail call break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp148)->tag != 15) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp158 = ats_caselptrlab_mac(anairiats_sum_5, tmp148, atslab_1) ; arg0 = tmp158 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at ; // tail call break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp148)->tag != 16) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_7, tmp148, atslab_0) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_dvar (tmp159) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: // if (((ats_sum_ptr_type)tmp148)->tag != 18) { ats_deadcode_failure_handle () ; } __ats_lab_44_1: break ; } while (0) ; return /* (tmp145) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6) */ ATSstaticdec() ats_void_type loop_29 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; // ATSlocal_void (tmp166) ; __ats_lab_loop_29: do { /* branch: __ats_lab_45 */ __ats_lab_45_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp164 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; /* tmp166 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp164, arg2) ; arg0 = tmp165 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_29 ; // tail call break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: break ; } while (0) ; return /* (tmp163) */ ; } /* end of [loop_29] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4) */ ATSstaticdec() ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp162) ; __ats_lab_list_app_funenv_01300_ats_ptr_type: /* tmp162 = */ loop_29 (arg0, arg1, arg2) ; return /* (tmp162) */ ; } /* end of [list_app_funenv_01300_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4) */ ATSstaticdec() ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp161) ; __ats_lab_list_app_fun_01301_ats_ptr_type: /* tmp161 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return /* (tmp161) */ ; } /* end of [list_app_fun_01301_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 11775(line=503, offs=3) -- 11832(line=503, offs=60) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp160) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst: /* tmp160 = */ list_app_fun_01301_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at) ; return /* (tmp160) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 11942(line=509, offs=7) -- 12188(line=519, offs=24) */ ATSstaticdec() ats_void_type loop_31 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; // ATSlocal_void (tmp172) ; __ats_lab_loop_31: do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_4, tmp169, atslab_1) ; /* tmp172 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_add_p3at (tmp171) ; arg0 = tmp170 ; goto __ats_lab_loop_31 ; // tail call break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: break ; } while (0) ; return /* (tmp168) */ ; } /* end of [loop_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 11911(line=508, offs=3) -- 12209(line=521, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_add_labp3atlst (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_add_labp3atlst: /* tmp167 = */ loop_31 (arg0) ; return /* (tmp167) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__the_d2varenv_add_labp3atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02048_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp176) ; // ATSlocal_void (tmp177) ; __ats_lab_prerr_error3_loc_02048_: /* tmp177 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp176 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp176) */ ; } /* end of [prerr_error3_loc_02048_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 12447(line=539, offs=5) -- 12837(line=551, offs=2) */ ATSstaticdec() ats_void_type auxerr1_33 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp174) ; // ATSlocal_void (tmp175) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; // ATSlocal_void (tmp180) ; // ATSlocal_void (tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab_auxerr1_33: /* tmp175 = */ prerr_error3_loc_02048_ (arg0) ; /* tmp178 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp179 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp180 = */ atspre_prerr_string (ATSstrcst("] is preserved but with an incompatible type.")) ; /* tmp181 = */ atspre_prerr_newline () ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__prerr_the_staerrlst () ; tmp183 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp183)->tag = 10 ; ats_selptrset_mac(anairiats_sum_5, tmp183, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp183, atslab_1, arg1) ; /* tmp174 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp183) ; return /* (tmp174) */ ; } /* end of [auxerr1_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 12865(line=552, offs=5) -- 13277(line=564, offs=2) */ ATSstaticdec() ats_void_type auxerr2_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; // ATSlocal_void (tmp186) ; // ATSlocal_void (tmp187) ; // ATSlocal_void (tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; // ATSlocal_void (tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab_auxerr2_35: /* tmp185 = */ prerr_error3_loc_02048_ (arg0) ; /* tmp186 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp188 = */ atspre_prerr_string (ATSstrcst("] needs to be consumed but it is preserved with the type [")) ; /* tmp189 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ; /* tmp190 = */ atspre_prerr_string (ATSstrcst("] instead.")) ; /* tmp191 = */ atspre_prerr_newline () ; tmp192 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp192)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp192, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp192, atslab_1, arg1) ; /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp192) ; return /* (tmp184) */ ; } /* end of [auxerr2_35] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 12367(line=534, offs=1) -- 15529(line=643, offs=4) */ ATSstaticdec() ats_void_type d2vfin_check_some_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_bool_type, tmp194) ; // ATSlocal_void (tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_bool_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; // ATSlocal_void (tmp200) ; // ATSlocal_void (tmp201) ; ATSlocal (ats_int_type, tmp202) ; // ATSlocal_void (tmp203) ; ATSlocal (ats_bool_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; // ATSlocal_void (tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; // ATSlocal_void (tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_bool_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; // ATSlocal_void (tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; // ATSlocal_void (tmp220) ; ATSlocal (ats_bool_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; // ATSlocal_void (tmp227) ; ATSlocal (ats_int_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_bool_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; // ATSlocal_void (tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab_d2vfin_check_some_32: tmp193 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (arg1) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp193)->tag != 0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_is_lin2 (arg2) ; if (tmp194) { /* tmp195 = */ auxerr2_35 (arg0, arg1, arg2) ; } else { /* empty */ } /* end of [if] */ tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_linval (arg1) ; tmp197 = atspre_gte_int_int (tmp196, 0) ; if (tmp197) { tmp198 = (ats_sum_ptr_type)0 ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp198) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp193)->tag != 1) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp199 = ats_caselptrlab_mac(anairiats_sum_7, tmp193, atslab_0) ; /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp201 = ats_selsin_mac(tmp200, atslab_1) */ ; tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, arg2, tmp199) ; tmp204 = atspre_gt_int_int (tmp202, 0) ; if (tmp204) { /* tmp203 = */ auxerr1_33 (arg0, arg1, arg2, tmp199) ; } else { /* empty */ } /* end of [if] */ tmp205 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp205)->tag = 4 ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_1, tmp199) ; ats_selptrset_mac(anairiats_sum_10, tmp205, atslab_2, arg2) ; /* tmp206 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp205) ; tmp207 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp207, atslab_0, tmp199) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp207) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp193)->tag != 2) { goto __ats_lab_54_0 ; } __ats_lab_51_1: tmp208 = ats_caselptrlab_mac(anairiats_sum_7, tmp193, atslab_0) ; /* tmp209 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp210 = ats_selsin_mac(tmp209, atslab_1) */ ; tmp212 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_s2exp_node) ; do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp212)->tag != 12) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp213 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_5, tmp212, atslab_1) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_nonlin (tmp213) ; if (tmp215) { tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp213) ; tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (tmp216, tmp214) ; } else { tmp211 = arg2 ; } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp218 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 14598(line=613, offs=20) -- 14614(line=613, offs=36)", ATSstrcst("\n")) ; /* tmp217 = */ atspre_assert_errmsg (ats_false_bool, tmp218) ; tmp211 = arg2 ; break ; } while (0) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, tmp211, tmp208) ; tmp221 = atspre_gt_int_int (tmp219, 0) ; if (tmp221) { /* tmp220 = */ auxerr1_33 (arg0, arg1, tmp211, tmp208) ; } else { /* empty */ } /* end of [if] */ tmp222 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp222)->tag = 5 ; ats_selptrset_mac(anairiats_sum_10, tmp222, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp222, atslab_1, tmp208) ; ats_selptrset_mac(anairiats_sum_10, tmp222, atslab_2, tmp211) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp222) ; tmp224 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp224, atslab_0, tmp208) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp224) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp193)->tag != 3) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_7, tmp193, atslab_0) ; /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_push () ; /* tmp227 = ats_selsin_mac(tmp226, atslab_1) */ ; tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__s2exp_tyleq_solve (arg0, arg2, tmp225) ; tmp230 = atspre_gt_int_int (tmp228, 0) ; if (tmp230) { /* tmp229 = */ auxerr1_33 (arg0, arg1, arg2, tmp225) ; } else { /* empty */ } /* end of [if] */ tmp231 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ((ats_sum_ptr_type)tmp231)->tag = 6 ; ats_selptrset_mac(anairiats_sum_10, tmp231, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_10, tmp231, atslab_1, tmp225) ; ats_selptrset_mac(anairiats_sum_10, tmp231, atslab_2, arg2) ; /* tmp232 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_pop_and_add (arg0, tmp231) ; tmp233 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp233, atslab_0, tmp225) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp233) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: // if (((ats_sum_ptr_type)tmp193)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_55_1: break ; } while (0) ; return /* (tmp173) */ ; } /* end of [d2vfin_check_some_32] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 15633(line=651, offs=5) -- 15896(line=660, offs=2) */ ATSstaticdec() ats_void_type auxerr_37 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp235) ; // ATSlocal_void (tmp236) ; // ATSlocal_void (tmp237) ; // ATSlocal_void (tmp238) ; // ATSlocal_void (tmp239) ; __ats_lab_auxerr_37: /* tmp236 = */ prerr_error3_loc_02048_ (arg0) ; /* tmp237 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp238 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp239 = */ atspre_prerr_string (ATSstrcst("] needs to be preserved but it is consumed instead.")) ; /* tmp235 = */ atspre_prerr_newline () ; return /* (tmp235) */ ; } /* end of [auxerr_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 15565(line=646, offs=1) -- 16735(line=690, offs=4) */ ATSstaticdec() ats_void_type d2vfin_check_none_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp234) ; ATSlocal (ats_ptr_type, tmp240) ; // ATSlocal_void (tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; // ATSlocal_void (tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; // ATSlocal_void (tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; __ats_lab_d2vfin_check_none_36: tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (arg1) ; do { /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp240)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp240)->tag != 1) { goto __ats_lab_58_0 ; } __ats_lab_57_1: /* tmp241 = */ auxerr_37 (arg0, arg1) ; tmp242 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp242)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp242, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp242, atslab_1, arg1) ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp242) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp240)->tag != 2) { goto __ats_lab_59_0 ; } __ats_lab_58_1: /* tmp243 = */ auxerr_37 (arg0, arg1) ; tmp244 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp244)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp244, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp244, atslab_1, arg1) ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp244) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp240)->tag != 3) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp245 = */ auxerr_37 (arg0, arg1) ; tmp246 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp246)->tag = 9 ; ats_selptrset_mac(anairiats_sum_5, tmp246, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_5, tmp246, atslab_1, arg1) ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp246) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: // if (((ats_sum_ptr_type)tmp240)->tag != 4) { ats_deadcode_failure_handle () ; } __ats_lab_60_1: break ; } while (0) ; return /* (tmp234) */ ; } /* end of [d2vfin_check_none_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 16811(line=695, offs=14) -- 17188(line=719, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check: tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; do { /* branch: __ats_lab_61 */ __ats_lab_61_0: if (tmp248 == (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_2, tmp248, atslab_0) ; /* tmp247 = */ d2vfin_check_some_32 (arg0, arg1, tmp249) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: // if (tmp248 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_62_1: /* tmp247 = */ d2vfin_check_none_36 (arg0, arg1) ; break ; } while (0) ; return /* (tmp247) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 17343(line=728, offs=5) -- 17566(line=736, offs=26) */ ATSstaticdec() ats_void_type loop_40 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; // ATSlocal_void (tmp254) ; __ats_lab_loop_40: do { /* branch: __ats_lab_63 */ __ats_lab_63_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check (arg0, tmp252) ; arg0 = arg0 ; arg1 = tmp253 ; goto __ats_lab_loop_40 ; // tail call break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_64_1: break ; } while (0) ; return /* (tmp251) */ ; } /* end of [loop_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 17244(line=722, offs=20) -- 17635(line=741, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp250) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check: tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_top () ; /* tmp250 = */ loop_40 (arg0, tmp255) ; return /* (tmp250) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 17724(line=747, offs=5) -- 18415(line=773, offs=4) */ ATSstaticdec() ats_void_type aux_42 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; // ATSlocal_void (tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; // ATSlocal_void (tmp264) ; // ATSlocal_void (tmp265) ; // ATSlocal_void (tmp266) ; // ATSlocal_void (tmp267) ; // ATSlocal_void (tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab_aux_42: tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ; do { /* branch: __ats_lab_65 */ __ats_lab_65_0: if (tmp258 == (ats_sum_ptr_type)0) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp259 = ats_caselptrlab_mac(anairiats_sum_2, tmp258, atslab_0) ; tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp259) ; if (tmp260) { /* tmp261 = */ prerr_error3_loc_02048_ (arg0) ; /* tmp262 = */ atspre_prerr_string (ATSstrcst(": the linear dynamic variable [")) ; /* tmp263 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2var (arg1) ; /* tmp264 = */ atspre_prerr_string (ATSstrcst("] needs to be consumed but it is preserved with the type [")) ; /* tmp265 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2exp (tmp259) ; /* tmp266 = */ atspre_prerr_string (ATSstrcst("] instead.")) ; /* tmp267 = */ atspre_prerr_newline () ; tmp269 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 18251(line=765, offs=18) -- 18267(line=765, offs=34)", ATSstrcst("\n")) ; /* tmp268 = */ atspre_assert_errmsg (ats_false_bool, tmp269) ; /* tmp257 = */ ats_exit (1) ; } else { tmp270 = (ats_sum_ptr_type)0 ; /* tmp257 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp270) ; } /* end of [if] */ break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: // if (tmp258 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_66_1: break ; } while (0) ; return /* (tmp257) */ ; } /* end of [aux_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 18439(line=775, offs=5) -- 18703(line=789, offs=2) */ ATSstaticdec() ats_void_type auxlst_43 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; // ATSlocal_void (tmp274) ; __ats_lab_auxlst_43: do { /* branch: __ats_lab_67 */ __ats_lab_67_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp273 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; ATS_FREE(arg1) ; /* tmp274 = */ aux_42 (arg0, tmp272) ; arg0 = arg0 ; arg1 = tmp273 ; goto __ats_lab_auxlst_43 ; // tail call break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_68_1: break ; } while (0) ; return /* (tmp271) */ ; } /* end of [auxlst_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 17704(line=745, offs=3) -- 18781(line=793, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp256) ; ATSlocal (ats_ptr_type, tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam: tmp275 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_get_llamd2vs () ; /* tmp256 = */ auxlst_43 (arg0, tmp275) ; return /* (tmp256) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_d2varenv_check_llam] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 18895(line=803, offs=5) -- 19075(line=812, offs=4) */ ATSstaticdec() ats_void_type d2vfin_checked_44 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_ptr_type, tmp278) ; __ats_lab_d2vfin_checked_44: tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (arg0) ; do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp277)->tag != 4) { goto __ats_lab_70_0 ; } __ats_lab_69_1: break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: __ats_lab_70_1: tmp278 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp278)->tag = 4 ; ats_selptrset_mac(anairiats_sum_7, tmp278, atslab_0, tmp277) ; /* tmp276 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (arg0, tmp278) ; break ; } while (0) ; return /* (tmp276) */ ; } /* end of [d2vfin_checked_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 19252(line=823, offs=5) -- 19758(line=846, offs=4) */ ATSstaticdec() ats_void_type auxvar_46 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; // ATSlocal_void (tmp284) ; __ats_lab_auxvar_46: tmp281 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (arg1) ; do { /* branch: __ats_lab_71 */ __ats_lab_71_0: if (tmp281 == (ats_sum_ptr_type)0) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_2, tmp281, atslab_0) ; tmp282 = tmp283 ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: // if (tmp281 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_72_1: tmp282 = arg1 ; break ; } while (0) ; /* tmp284 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__d2vfin_check (arg0, tmp282) ; /* tmp280 = */ d2vfin_checked_44 (tmp282) ; return /* (tmp280) */ ; } /* end of [auxvar_46] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 19785(line=849, offs=1) -- 20162(line=869, offs=4) */ ATSstaticdec() ats_void_type auxpatlst_47 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; // ATSlocal_void (tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab_auxpatlst_47: do { /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_73_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; tmp289 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, tmp286), atslab_p3at_node) ; do { /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp289)->tag != 1) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_7, tmp289, atslab_0) ; /* tmp288 = */ auxvar_46 (arg0, tmp290) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp289)->tag != 14) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp291 = ats_caselptrlab_mac(anairiats_sum_5, tmp289, atslab_0) ; /* tmp288 = */ auxvar_46 (arg0, tmp291) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: __ats_lab_76_1: break ; } while (0) ; arg0 = arg0 ; arg1 = tmp287 ; goto __ats_lab_auxpatlst_47 ; // tail call break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_77_1: break ; } while (0) ; return /* (tmp285) */ ; } /* end of [auxpatlst_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02044_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp295) ; // ATSlocal_void (tmp296) ; // ATSlocal_void (tmp297) ; // ATSlocal_void (tmp298) ; __ats_lab_prerr_interror_loc_02044_: /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp297 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp298 = */ prerr_FILENAME_02042_ () ; /* tmp295 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp295) */ ; } /* end of [prerr_interror_loc_02044_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 19155(line=817, offs=21) -- 20565(line=889, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__funarg_d2vfin_check (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp279) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; // ATSlocal_void (tmp294) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__funarg_d2vfin_check: tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg () ; do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (tmp292 == (ats_sum_ptr_type)0) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp293 = ats_caselptrlab_mac(anairiats_sum_2, tmp292, atslab_0) ; ATS_FREE(tmp292) ; /* tmp279 = */ auxpatlst_47 (arg0, tmp293) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: // if (tmp292 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_79_1: /* tmp294 = */ prerr_interror_loc_02044_ (arg0) ; /* tmp299 = */ atspre_prerr_string (ATSstrcst(": funarg_d2vfin_check: there is no funarg.")) ; /* tmp300 = */ atspre_prerr_newline () ; tmp301 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 20518(line=887, offs=5) -- 20534(line=887, offs=21)", ATSstrcst("\n")) ; /* tmp279 = */ atspre_assert_errmsg (ats_false_bool, tmp301) ; break ; } while (0) ; return /* (tmp279) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__funarg_d2vfin_check] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 20808(line=904, offs=5) -- 21254(line=922, offs=4) */ ATSstaticdec() ats_ptr_type p3at_get_var_50 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; ATSlocal (ats_ptr_type, tmp306) ; // ATSlocal_void (tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; __ats_lab_p3at_get_var_50: tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp304)->tag != 1) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp305 = ats_caselptrlab_mac(anairiats_sum_7, tmp304, atslab_0) ; tmp303 = tmp305 ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp304)->tag != 14) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp306 = ats_caselptrlab_mac(anairiats_sum_5, tmp304, atslab_0) ; tmp303 = tmp306 ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_loc) ; /* tmp307 = */ prerr_interror_loc_02044_ (tmp308) ; /* tmp309 = */ atspre_prerr_string (ATSstrcst(": s2exp_wthtype_instantiate")) ; /* tmp310 = */ atspre_prerr_string (ATSstrcst(": p2at_get_var: the pattern is expected to be a variable.")) ; /* tmp311 = */ atspre_prerr_newline () ; tmp313 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 21162(line=917, offs=22) -- 21178(line=917, offs=38)", ATSstrcst("\n")) ; /* tmp312 = */ atspre_assert_errmsg (ats_false_bool, tmp313) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp303) ; } /* end of [p3at_get_var_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 21287(line=924, offs=5) -- 21505(line=933, offs=4) */ ATSstaticdec() ats_void_type d2vfin_unchecked_51 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; __ats_lab_d2vfin_unchecked_51: tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_finknd (arg0) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp315)->tag != 4) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp316 = ats_caselptrlab_mac(anairiats_sum_7, tmp315, atslab_0) ; /* tmp314 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (arg0, tmp316) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: __ats_lab_84_1: break ; } while (0) ; return /* (tmp314) */ ; } /* end of [d2vfin_unchecked_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 21542(line=935, offs=5) -- 21861(line=954, offs=4) */ ATSstaticdec() ats_void_type aux_invar_52 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_bool_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; __ats_lab_aux_invar_52: tmp318 = p3at_get_var_50 (arg1) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: __ats_lab_85_1: tmp319 = atspre_eq_int_int (arg0, 0) ; if (!tmp319) { goto __ats_lab_86_1 ; } /* tmp317 = */ d2vfin_unchecked_51 (tmp318) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (tmp318) ; if (tmp320 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 21749(line=948, offs=9) -- 21803(line=951, offs=29)") ; } tmp321 = ats_caselptrlab_mac(anairiats_sum_2, tmp320, atslab_0) ; /* tmp317 = */ d2vfin_unchecked_51 (tmp321) ; break ; } while (0) ; return /* (tmp317) */ ; } /* end of [aux_invar_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 21891(line=956, offs=5) -- 22425(line=981, offs=4) */ ATSstaticdec() ats_void_type aux_trans_53 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_bool_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; __ats_lab_aux_trans_53: tmp323 = p3at_get_var_50 (arg1) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: __ats_lab_87_1: tmp324 = atspre_eq_int_int (arg0, 0) ; if (!tmp324) { goto __ats_lab_88_1 ; } tmp325 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp325)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp325, atslab_0, arg2) ; /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp323, tmp325) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: __ats_lab_88_1: tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_view (tmp323) ; if (tmp326 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 22213(line=974, offs=9) -- 22251(line=974, offs=47)") ; } tmp327 = ats_caselptrlab_mac(anairiats_sum_2, tmp326, atslab_0) ; tmp328 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp323) ; if (tmp328 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 22260(line=975, offs=9) -- 22298(line=975, offs=47)") ; } tmp329 = ats_caselptrlab_mac(anairiats_sum_2, tmp328, atslab_0) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_at (arg2, tmp329) ; tmp331 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp331)->tag = 1 ; ats_selptrset_mac(anairiats_sum_7, tmp331, atslab_0, tmp330) ; /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_set_finknd (tmp327, tmp331) ; break ; } while (0) ; return /* (tmp322) */ ; } /* end of [aux_trans_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 22455(line=983, offs=5) -- 23179(line=1013, offs=4) */ ATSstaticdec() ats_void_type auxlst_54 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp332) ; ATSlocal (ats_int_type, tmp333) ; ATSlocal (ats_ptr_type, tmp334) ; ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; // ATSlocal_void (tmp338) ; ATSlocal (ats_int_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; // ATSlocal_void (tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; __ats_lab_auxlst_54: do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp333 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp334 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp335 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 22620(line=993, offs=9) -- 22648(line=993, offs=37)") ; } tmp336 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp337 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp338 = */ aux_invar_52 (tmp333, tmp336, tmp334) ; arg0 = arg0 ; arg1 = tmp337 ; arg2 = tmp335 ; goto __ats_lab_auxlst_54 ; // tail call break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp339 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp340 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_2) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 22835(line=1000, offs=9) -- 22863(line=1000, offs=37)") ; } tmp342 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp343 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; /* tmp344 = */ aux_trans_53 (tmp339, tmp342, tmp340) ; arg0 = arg0 ; arg1 = tmp343 ; arg2 = tmp341 ; goto __ats_lab_auxlst_54 ; // tail call break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp345 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ; if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 23041(line=1007, offs=9) -- 23069(line=1007, offs=37)") ; } tmp346 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; arg0 = arg0 ; arg1 = tmp346 ; arg2 = tmp345 ; goto __ats_lab_auxlst_54 ; // tail call break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: // if (((ats_sum_ptr_type)arg2)->tag != 0) { ats_deadcode_failure_handle () ; } __ats_lab_92_1: break ; } while (0) ; return /* (tmp332) */ ; } /* end of [auxlst_54] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 20682(line=896, offs=27) -- 23632(line=1036, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_wthtype_instantiate (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_int_type, tmp347) ; ATSlocal (anairiats_rec_1, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; // ATSlocal_void (tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; // ATSlocal_void (tmp357) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_wthtype_instantiate: /* ats_int_type tmp347 ; */ tmp347 = 0 ; tmp348 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_exi_instantiate_all (arg1, arg0, (&tmp347)) ; tmp349 = ats_select_mac(tmp348, atslab_0) ; tmp350 = ats_select_mac(tmp348, atslab_1) ; /* tmp351 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp350) ; tmp352 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp349), atslab_s2exp_node) ; do { /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp352)->tag != 31) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp353 = ats_caselptrlab_mac(anairiats_sum_5, tmp352, atslab_0) ; tmp354 = ats_caselptrlab_mac(anairiats_sum_5, tmp352, atslab_1) ; tmp355 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__the_lamlpenv_get_funarg () ; if (tmp355 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_env_dvar.dats: 23414(line=1026, offs=9) -- 23492(line=1028, offs=6)") ; } tmp356 = ats_caselptrlab_mac(anairiats_sum_2, tmp355, atslab_0) ; ATS_FREE(tmp355) ; /* tmp357 = */ auxlst_54 (arg0, tmp356, tmp354) ; tmp302 = tmp353 ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: __ats_lab_94_1: tmp302 = tmp349 ; break ; } while (0) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__s2exp_wthtype_instantiate] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_solve_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSset_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSlam_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSnil_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp31, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp34, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp35, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp36, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varset_vt_nil () ; statmp31 = ref_01088_ats_ptr_type (statmp34) ; statmp36 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_env_dvar_2edats__LD2VSnil_2) ; statmp35 = ref_01088_ats_ptr_type (statmp36) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_trans3_env_dvar_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dmacro2_eval1_dats.c0000664000175000017500000044137412655455557021235 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_s2exparg_loc ; ats_ptr_type atslab_s2exparg_node ; } anairiats_rec_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_t2mpmarg_loc ; ats_ptr_type atslab_t2mpmarg_arg ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_i2nvarg_var ; ats_ptr_type atslab_i2nvarg_type ; } anairiats_rec_6 ; typedef struct { ats_ptr_type atslab_i2nvresstate_svs ; ats_ptr_type atslab_i2nvresstate_gua ; ats_ptr_type atslab_i2nvresstate_arg ; ats_ptr_type atslab_i2nvresstate_met ; } anairiats_rec_7 ; typedef struct { ats_ptr_type atslab_p2at_loc ; ats_ptr_type atslab_p2at_svs ; ats_ptr_type atslab_p2at_dvs ; ats_ptr_type atslab_p2at_type ; ats_ptr_type atslab_p2at_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { ats_ptr_type atslab_d2lab_loc ; ats_ptr_type atslab_d2lab_node ; ats_ptr_type atslab_d2lab_overld ; } anairiats_rec_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_int_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_gm2at_loc ; ats_ptr_type atslab_gm2at_exp ; ats_ptr_type atslab_gm2at_pat ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_c2lau_loc ; ats_ptr_type atslab_c2lau_pat ; ats_ptr_type atslab_c2lau_gua ; ats_int_type atslab_c2lau_seq ; ats_int_type atslab_c2lau_neg ; ats_ptr_type atslab_c2lau_body ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_d2ecl_loc ; ats_ptr_type atslab_d2ecl_node ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_v2aldec_loc ; ats_ptr_type atslab_v2aldec_pat ; ats_ptr_type atslab_v2aldec_def ; ats_ptr_type atslab_v2aldec_ann ; } anairiats_rec_23 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKdecode_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__MSKxstage_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DL0ABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGall_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EXPARGseq_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tlst_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Trec_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__P2Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ec0har_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eempty_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextval_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Econ_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esym_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etmpid_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elet_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ewhere_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eapplst_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eifhead_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esifhead_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ecasehead_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Esing_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elist_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elst_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Etup_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Erec_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eseq_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eselab_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eptrof_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eviewat_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ederef_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eassgn_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Exchng_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrsub_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrpsz_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Earrinit_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eraise_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eshowtype_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eexist_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Elam_dyn_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Edelay_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eldelay_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_type_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_seff_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Eann_funclo_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emac_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Emacsyn_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__M2Vdcode_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_dmacro_eval1_d2exp_94) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_errdec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dadd) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dfind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__stasub_make_evalctx) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__d2var_rename) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparglst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarg) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarglst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarg) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarglst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atopt) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2at) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2atlst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2exp) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2explst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparg) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparglst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_applst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_macsyn) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2at) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2atlst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2lau) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2laulst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2ecl) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst_rec) (ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02040_ () ; static ats_void_type prerr_errmac_loc_02045_ (ats_ptr_type arg0) ; static ats_void_type auxerr_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ; static ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxlst1_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxlst2_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_ptr_type auxlst1_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxlst2_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 1554(line=43, offs=28) -- 1585(line=43, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02040_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02040_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_dmacro2_eval1")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02040_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 2012(line=70, offs=14) -- 2029(line=70, offs=31) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__d2var_rename (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__d2var_rename: tmp1 = arg1 ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__d2var_rename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 3860(line=138, offs=3) -- 4114(line=151, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp5 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ptr_type))arg4) (arg0, arg1, arg2, tmp3) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, tmp4, arg4) ; tmp2 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_0, tmp5) ; ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_1, tmp6) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp2 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp2) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 4185(line=156, offs=13) -- 4455(line=171, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp: tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__stasub_make_evalctx (arg1) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_subst (tmp8, arg3) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__stasub_free (tmp8) ; tmp7 = tmp9 ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 4508(line=175, offs=3) -- 4584(line=176, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst: tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 4640(line=181, offs=3) -- 4762(line=184, offs=23) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp13) ; tmp12 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp12, atslab_0, tmp14) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp12 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp12) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 4839(line=190, offs=16) -- 5121(line=203, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg: tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg3), atslab_s2exparg_node) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)tmp16)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_one (arg0) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)tmp16)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_all (arg0) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (((ats_sum_ptr_type)tmp16)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_4, tmp16, atslab_0) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst (arg0, arg1, arg2, tmp17) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exparg_seq (arg0, tmp18) ; break ; } while (0) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 5180(line=207, offs=3) -- 5259(line=208, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparglst: tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 5337(line=214, offs=16) -- 5469(line=220, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarg: tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg3), atslab_t2mpmarg_arg) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2explst (arg0, arg1, arg2, tmp22) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__t2mpmarg_make (arg0, tmp21) ; return (tmp20) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 5528(line=224, offs=3) -- 5609(line=225, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarglst: tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarg) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 5686(line=232, offs=3) -- 5819(line=237, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var: tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dfind (ats_ptrget_mac(ats_ptr_type, arg2), arg3) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: if (tmp25 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp26 = ats_caselptrlab_mac(anairiats_sum_2, tmp25, atslab_0) ; ATS_FREE(tmp25) ; tmp24 = tmp26 ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: // if (tmp25 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_8_1: tmp24 = arg3 ; break ; } while (0) ; return (tmp24) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 5890(line=243, offs=1) -- 6070(line=248, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarg: tmp29 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg3), atslab_i2nvarg_var) ; tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var (arg0, arg1, arg2, tmp29) ; tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg3), atslab_i2nvarg_type) ; tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (arg0, arg1, arg2, tmp31) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvarg_make (tmp28, tmp30) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 6127(line=252, offs=3) -- 6205(line=253, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarglst: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarg) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 6267(line=258, offs=3) -- 6513(line=265, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate: tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_i2nvresstate_svs) ; tmp35 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_i2nvresstate_gua) ; tmp37 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_i2nvresstate_arg) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvarglst (arg0, arg1, arg2, tmp37) ; tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_7, arg3), atslab_i2nvresstate_met) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__i2nvresstate_make_met (tmp34, tmp35, tmp36, tmp38) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 6591(line=271, offs=3) -- 7872(line=332, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_ptr_type, tmp42) ; // ATSlocal_void (tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_int_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg3), atslab_p2at_node) ; do { /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp40)->tag != 0) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_any (arg0) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp40)->tag != 1) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp41 = ats_caselptrlab_mac(anairiats_sum_4, tmp40, atslab_0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__d2var_rename (arg0, tmp41) ; /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_dadd (arg2, tmp41, tmp42) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_var (arg0, tmp42) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp40)->tag != 2) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_0) ; tmp45 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_1) ; tmp46 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_2) ; tmp47 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_3) ; tmp48 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_4) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_9, tmp40, atslab_5) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst (arg0, arg1, arg2, tmp49) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_con (arg0, tmp44, tmp45, tmp46, tmp47, tmp48, tmp50) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp40)->tag != 11) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_empty (arg0) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp40)->tag != 13) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_10, tmp40, atslab_0) ; tmp52 = ats_caselptrlab_mac(anairiats_sum_10, tmp40, atslab_1) ; tmp53 = ats_caselptrlab_mac(anairiats_sum_10, tmp40, atslab_2) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2atlst (arg0, arg1, arg2, tmp53) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_rec (arg0, tmp51, tmp52, tmp54) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp40)->tag != 12) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_11, tmp40, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_11, tmp40, atslab_1) ; tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst (arg0, arg1, arg2, tmp56) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_lst (arg0, tmp55, tmp57) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp40)->tag != 17) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp58 = ats_caselptrlab_mac(anairiats_sum_12, tmp40, atslab_0) ; tmp59 = ats_caselptrlab_mac(anairiats_sum_12, tmp40, atslab_1) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (arg0, arg1, arg2, tmp58) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp59) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__p2at_ann (arg0, tmp60, tmp61) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp62 = */ atspre_print_string (ATSstrcst("eval1_p2at: not implemented yet: p2t0 = ")) ; /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_p2at (arg3) ; /* tmp64 = */ atspre_print_newline () ; tmp65 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 7834(line=329, offs=5) -- 7844(line=329, offs=15)", ATSstrcst("\n")) ; /* tmp39 = */ ats_exit_errmsg (1, tmp65) ; break ; } while (0) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 7944(line=338, offs=3) -- 8019(line=339, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst: tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 8073(line=344, offs=3) -- 8211(line=349, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atopt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atopt: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp68 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (arg0, arg1, arg2, tmp68) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_0, tmp69) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp67 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp67) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 8286(line=355, offs=3) -- 8515(line=366, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2at (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2at: do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)arg3)->tag != 0) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_12, arg3, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_12, arg3, atslab_1) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (arg0, arg1, arg2, tmp72) ; tmp70 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp70)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp70, atslab_0, tmp71) ; ats_selptrset_mac(anairiats_sum_12, tmp70, atslab_1, tmp73) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)arg3)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp70 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp70)->tag = 1 ; ats_selptrset_mac(anairiats_sum_4, tmp70, atslab_0, arg0) ; break ; } while (0) ; return (tmp70) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 8572(line=370, offs=3) -- 8652(line=371, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2atlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp74) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2atlst: tmp74 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2at) ; return (tmp74) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labp2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 8731(line=378, offs=3) -- 8807(line=379, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst: tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp) ; return (tmp75) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 8863(line=384, offs=3) -- 8985(line=387, offs=23) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt: do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp77) ; tmp76 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp76, atslab_0, tmp78) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp76 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 9062(line=393, offs=16) -- 9194(line=399, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2exp: tmp80 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp81) ; tmp79 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp79, atslab_0, tmp80) ; ats_selptrset_mac(anairiats_sum_1, tmp79, atslab_1, tmp82) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 9253(line=403, offs=3) -- 9334(line=404, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2explst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2explst: tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2exp) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2explst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 9414(line=411, offs=3) -- 9838(line=429, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst: do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_23_1: tmp85 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp86 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, tmp85), atslab_d2lab_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp88)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp87 = tmp85 ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (((ats_sum_ptr_type)tmp88)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_4, tmp88, atslab_0) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp89) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2lab_ind (arg0, tmp90) ; break ; } while (0) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst (arg0, arg1, arg2, tmp86) ; tmp84 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp84, atslab_0, tmp87) ; ats_selptrset_mac(anairiats_sum_1, tmp84, atslab_1, tmp91) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp84 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 9917(line=435, offs=3) -- 10198(line=448, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparg: do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)arg3)->tag != 0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp93 = ats_caselptrlab_mac(anairiats_sum_12, arg3, atslab_1) ; tmp92 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp92)->tag = 0 ; ats_selptrset_mac(anairiats_sum_12, tmp92, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp92, atslab_1, tmp93) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (((ats_sum_ptr_type)arg3)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_14, arg3, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_14, arg3, atslab_2) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp95) ; tmp92 = ATS_MALLOC(sizeof(anairiats_sum_14)) ; ((ats_sum_ptr_type)tmp92)->tag = 1 ; ats_selptrset_mac(anairiats_sum_14, tmp92, atslab_0, tmp94) ; ats_selptrset_mac(anairiats_sum_14, tmp92, atslab_1, arg0) ; ats_selptrset_mac(anairiats_sum_14, tmp92, atslab_2, tmp96) ; break ; } while (0) ; return (tmp92) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 10257(line=452, offs=3) -- 10336(line=453, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparglst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparglst: tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparg) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparglst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2215(line=77, offs=18) -- 2276(line=80, offs=2) */ ATSstaticdec() ats_void_type prerr_errmac_loc_02045_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; __ats_lab_prerr_errmac_loc_02045_: /* tmp106 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp105 = */ atspre_prerr_string (ATSstrcst(": error(mac)")) ; return /* (tmp105) */ ; } /* end of [prerr_errmac_loc_02045_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 10531(line=467, offs=5) -- 10946(line=479, offs=4) */ ATSstaticdec() ats_void_type auxerr_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp103) ; // ATSlocal_void (tmp104) ; // ATSlocal_void (tmp107) ; // ATSlocal_void (tmp108) ; // ATSlocal_void (tmp109) ; // ATSlocal_void (tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; // ATSlocal_void (tmp112) ; // ATSlocal_void (tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab_auxerr_27: /* tmp104 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp107 = */ atspre_prerr_string (ATSstrcst(": the dynamic symbol [")) ; /* tmp108 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2mac (arg2) ; /* tmp109 = */ atspre_prerr_string (ATSstrcst("] at (")) ; tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_d2exp_loc) ; /* tmp110 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp111) ; /* tmp112 = */ atspre_prerr_string (ATSstrcst(") refers to a macrodef (to be called inside ,(...)).")) ; /* tmp113 = */ atspre_prerr_newline () ; tmp114 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp114)->tag = 94 ; ats_selptrset_mac(anairiats_sum_12, tmp114, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_12, tmp114, atslab_1, arg1) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp114) ; return /* (tmp103) */ ; } /* end of [auxerr_27] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4) */ ATSstaticdec() ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) { /* local vardec */ // ATSlocal_void (tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; __ats_lab_loop_30: do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp128 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp129 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp130 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp130, atslab_0, tmp128) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp130 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp131 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp129 ; arg1 = arg1 ; arg2 = tmp131 ; goto __ats_lab_loop_30 ; // tail call break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_32_1: ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ; break ; } while (0) ; return /* (tmp127) */ ; } /* end of [loop_30] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4) */ ATSstaticdec() ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; // ATSlocal_void (tmp132) ; __ats_lab_list_append_01312_ats_ptr_type: /* ats_ptr_type tmp126 ; */ /* tmp132 = */ loop_30 (arg0, arg1, (&tmp126)) ; tmp125 = tmp126 ; return (tmp125) ; } /* end of [list_append_01312_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 10418(line=459, offs=20) -- 11592(line=507, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_bool_type, tmp120) ; // ATSlocal_void (tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_applst: tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg3), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp99)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 10458(line=463, offs=5) -- 10499(line=464, offs=32)") ; } tmp100 = ats_caselptrlab_mac(anairiats_sum_12, tmp99, atslab_0) ; tmp101 = ats_caselptrlab_mac(anairiats_sum_12, tmp99, atslab_1) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp100), atslab_d2exp_loc) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp100) ; tmp116 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exparglst (arg0, arg1, arg2, tmp101) ; tmp117 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp115), atslab_d2exp_node) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp117)->tag != 67) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp118 = ats_caselptrlab_mac(anairiats_sum_4, tmp117, atslab_0) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2mac_get_kind (tmp118) ; tmp120 = atspre_eq_int_int (tmp119, 0) ; if (tmp120) { tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_app_mac_short (arg0, tmp118, arg1, arg2, tmp116) ; } else { /* tmp121 = */ auxerr_27 (arg0, arg3, tmp118) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (arg0) ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp117)->tag != 27) { goto __ats_lab_33_0 ; } __ats_lab_30_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_12, tmp117, atslab_0) ; tmp123 = ats_caselptrlab_mac(anairiats_sum_12, tmp117, atslab_1) ; tmp124 = list_append_01312_ats_ptr_type (tmp123, tmp116) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst (arg0, tmp122, tmp124) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_applst (arg0, tmp115, tmp116) ; break ; } while (0) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_applst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 11675(line=512, offs=20) -- 12827(line=553, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_macsyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; // ATSlocal_void (tmp139) ; // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; // ATSlocal_void (tmp143) ; // ATSlocal_void (tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; // ATSlocal_void (tmp146) ; // ATSlocal_void (tmp147) ; // ATSlocal_void (tmp148) ; // ATSlocal_void (tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_macsyn: tmp134 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg3), atslab_d2exp_node) ; if (((ats_sum_ptr_type)tmp134)->tag != 68) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 11714(line=515, offs=7) -- 11752(line=515, offs=45)") ; } tmp135 = ats_caselptrlab_mac(anairiats_sum_12, tmp134, atslab_0) ; tmp136 = ats_caselptrlab_mac(anairiats_sum_12, tmp134, atslab_1) ; do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp135)->tag != 1) { goto __ats_lab_37_0 ; } __ats_lab_34_1: tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp136) ; do { /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp137)->tag != 7) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp138 = ats_caselptrlab_mac(anairiats_sum_4, tmp137, atslab_0) ; tmp133 = tmp138 ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: /* tmp139 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp140 = */ atspre_prerr_string (ATSstrcst(": the expansion of the dynamic expression at (")) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp136), atslab_d2exp_loc) ; /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp142) ; /* tmp143 = */ atspre_prerr_string (ATSstrcst(") is expected to return code (AST) but it does not.")) ; /* tmp144 = */ atspre_prerr_newline () ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (arg0) ; break ; } while (0) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp135)->tag != 2) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval0_d2exp (arg0, arg1, arg2, tmp136) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__liftval2dexp (arg0, tmp145) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: /* tmp146 = */ prerr_errmac_loc_02045_ (arg0) ; /* tmp147 = */ atspre_prerr_string (ATSstrcst(": macro syntax is used incorrectly: ")) ; /* tmp148 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__prerr_d2exp (arg3) ; /* tmp149 = */ atspre_prerr_newline () ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (arg0) ; break ; } while (0) ; return (tmp133) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_macsyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 12905(line=559, offs=3) -- 19514(line=802, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_int_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; // ATSlocal_void (tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; // ATSlocal_void (tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; // ATSlocal_void (tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_int_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_int_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_int_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_int_type, tmp231) ; ATSlocal (ats_int_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_ptr_type, tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; ATSlocal (ats_int_type, tmp278) ; ATSlocal (ats_int_type, tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp: tmp151 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg3), atslab_d2exp_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp151)->tag != 1) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp152 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2var (arg0, arg1, arg2, tmp152) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_var (arg0, tmp153) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp151)->tag != 0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp151)->tag != 2) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp151)->tag != 3) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp151)->tag != 5) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp151)->tag != 7) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp151)->tag != 6) { goto __ats_lab_46_0 ; } __ats_lab_45_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp151)->tag != 8) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp151)->tag != 9) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp151)->tag != 11) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp151)->tag != 10) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp151)->tag != 15) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp151)->tag != 12) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp151)->tag != 14) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp151)->tag != 17) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp154 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp155 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp154) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extval (arg0, tmp156, tmp155) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp151)->tag != 18) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp157 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_0) ; tmp158 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_1) ; tmp159 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_2) ; tmp160 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp157) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp159) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extfcall (arg0, tmp160, tmp158, tmp161) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp151)->tag != 19) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp162 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_0) ; tmp163 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_1) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_2) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_3) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp162) ; tmp167 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp163) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp165) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_extmcall (arg0, tmp166, tmp167, tmp164, tmp168) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp151)->tag != 20) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp169 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_1) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_2) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_3) ; tmp173 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_4) ; tmp174 = ats_caselptrlab_mac(anairiats_sum_18, tmp151, atslab_5) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparglst (arg0, arg1, arg2, tmp171) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp174) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_con (arg0, tmp169, tmp170, tmp175, tmp172, tmp173, tmp176) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp151)->tag != 21) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp151)->tag != 24) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp177), atslab_d2exp_node) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp179) ; tmp181 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_t2mpmarglst (arg0, arg1, arg2, tmp178) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tmpid (arg0, tmp180, tmp181) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp151)->tag != 25) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp182 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; /* tmp184 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push (arg2) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist (arg0, arg1, arg2, tmp182) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp183) ; /* tmp187 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop (arg2) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_let (arg0, tmp185, tmp186) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp151)->tag != 26) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp188 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_push (arg2) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist (arg0, arg1, arg2, tmp189) ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp188) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__alphenv_pop (arg2) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_where (arg0, tmp192, tmp191) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp151)->tag != 27) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_applst (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp151)->tag != 28) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp194 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_0) ; tmp195 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_1) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_2) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_3) ; tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate (arg0, arg1, arg2, tmp194) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp195) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp196) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt (arg0, arg1, arg2, tmp197) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ifhead (arg0, tmp198, tmp199, tmp200, tmp201) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp151)->tag != 29) { goto __ats_lab_64_0 ; } __ats_lab_63_1: tmp202 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_0) ; tmp203 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_1) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_2) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_3) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate (arg0, arg1, arg2, tmp202) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp203) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp204) ; tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp205) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sifhead (arg0, tmp206, tmp207, tmp208, tmp209) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp151)->tag != 30) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp210 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_0) ; tmp211 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_1) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_2) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_3) ; tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_i2nvresstate (arg0, arg1, arg2, tmp211) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp212) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2laulst (arg0, arg1, arg2, tmp213) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_casehead (arg0, tmp210, tmp214, tmp215, tmp216) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp151)->tag != 32) { goto __ats_lab_66_0 ; } __ats_lab_65_1: tmp217 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp218 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp217) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_sing (arg0, tmp218) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp151)->tag != 33) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp219 = ats_caselptrlab_mac(anairiats_sum_11, tmp151, atslab_0) ; tmp220 = ats_caselptrlab_mac(anairiats_sum_11, tmp151, atslab_1) ; tmp221 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp220) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_list (arg0, tmp219, tmp221) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp151)->tag != 34) { goto __ats_lab_68_0 ; } __ats_lab_67_1: tmp222 = ats_caselptrlab_mac(anairiats_sum_14, tmp151, atslab_0) ; tmp223 = ats_caselptrlab_mac(anairiats_sum_14, tmp151, atslab_1) ; tmp224 = ats_caselptrlab_mac(anairiats_sum_14, tmp151, atslab_2) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (arg0, arg1, arg2, tmp223) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp224) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lst (arg0, tmp222, tmp225, tmp226) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp151)->tag != 35) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_0) ; tmp228 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_1) ; tmp229 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_2) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp229) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_tup (arg0, tmp227, tmp228, tmp230) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp151)->tag != 36) { goto __ats_lab_70_0 ; } __ats_lab_69_1: tmp231 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_0) ; tmp232 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_1) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_10, tmp151, atslab_2) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_labd2explst (arg0, arg1, arg2, tmp233) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_rec (arg0, tmp231, tmp232, tmp234) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp151)->tag != 37) { goto __ats_lab_71_0 ; } __ats_lab_70_1: tmp235 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp235) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_seq (arg0, tmp236) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp151)->tag != 38) { goto __ats_lab_72_0 ; } __ats_lab_71_1: tmp237 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp238 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp237) ; tmp240 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2lablst (arg0, arg1, arg2, tmp238) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_selab (arg0, tmp239, tmp240) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp151)->tag != 39) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp242 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp241) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ptrof (arg0, tmp242) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp151)->tag != 40) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp244 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp243) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_viewat (arg0, tmp244) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp151)->tag != 41) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp245) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_deref (arg0, tmp246) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp151)->tag != 42) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp248 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp249 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp247) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp248) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_assgn (arg0, tmp249, tmp250) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp151)->tag != 43) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp251 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp252 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp251) ; tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp252) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_xchng (arg0, tmp253, tmp254) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp151)->tag != 44) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_0) ; tmp256 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_1) ; tmp257 = ats_caselptrlab_mac(anairiats_sum_17, tmp151, atslab_3) ; tmp258 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp256) ; tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp257) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrsub (arg0, tmp255, tmp258, arg0, tmp259) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp151)->tag != 46) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp260 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_0) ; tmp261 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_1) ; tmp262 = ats_caselptrlab_mac(anairiats_sum_16, tmp151, atslab_2) ; tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp260) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt (arg0, arg1, arg2, tmp261) ; tmp265 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp262) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrinit (arg0, tmp263, tmp264, tmp265) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp151)->tag != 45) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp266 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp267 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (arg0, arg1, arg2, tmp266) ; tmp269 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2explst (arg0, arg1, arg2, tmp267) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_arrpsz (arg0, tmp268, tmp269) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp151)->tag != 47) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp270 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp270) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_raise (arg0, tmp271) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp151)->tag != 49) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp272 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp273 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp272) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_showtype (arg0, tmp273) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp151)->tag != 52) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp274 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp275 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exparg (arg0, arg1, arg2, tmp274) ; tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp275) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_exist (arg0, tmp276, tmp277) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp151)->tag != 53) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp278 = ats_caselptrlab_mac(anairiats_sum_19, tmp151, atslab_0) ; tmp279 = ats_caselptrlab_mac(anairiats_sum_19, tmp151, atslab_1) ; tmp280 = ats_caselptrlab_mac(anairiats_sum_19, tmp151, atslab_2) ; tmp281 = ats_caselptrlab_mac(anairiats_sum_19, tmp151, atslab_3) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst (arg0, arg1, arg2, tmp280) ; tmp283 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp281) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_lam_dyn (arg0, tmp278, tmp279, tmp282, tmp283) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp151)->tag != 58) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp284 = ats_caselptrlab_mac(anairiats_sum_4, tmp151, atslab_0) ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp284) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_delay (arg0, tmp285) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp151)->tag != 59) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp286 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp287 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp286) ; tmp289 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2expopt (arg0, arg1, arg2, tmp287) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ldelay (arg0, tmp288, tmp289) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp151)->tag != 67) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp151) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp151)->tag != 68) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2exp_macsyn (arg0, arg1, arg2, arg3) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp151)->tag != 64) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp290 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp291 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp290) ; tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2exp (arg0, arg1, arg2, tmp291) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_type (arg0, tmp292, tmp293) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp151)->tag != 65) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp295 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp294) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_seff (arg0, tmp296, tmp295) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp151)->tag != 66) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp297 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_0) ; tmp298 = ats_caselptrlab_mac(anairiats_sum_12, tmp151, atslab_1) ; tmp299 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp297) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (arg0, tmp299, tmp298) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: __ats_lab_91_1: tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2exp_errexp (arg0) ; break ; } while (0) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 19585(line=808, offs=3) -- 19768(line=815, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2at (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_ptr_type, tmp304) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2at: tmp302 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg3), atslab_gm2at_exp) ; tmp301 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp302) ; tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg3), atslab_gm2at_pat) ; tmp303 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atopt (arg0, arg1, arg2, tmp304) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__gm2at_make (arg0, tmp301, tmp303) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 19821(line=819, offs=3) -- 19899(line=820, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2atlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2atlst: tmp305 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2at) ; return (tmp305) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2atlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 19973(line=827, offs=3) -- 20262(line=835, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2lau (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_int_type, tmp313) ; ATSlocal (ats_int_type, tmp314) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2lau: tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg3), atslab_c2lau_pat) ; tmp307 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2atlst (arg0, arg1, arg2, tmp308) ; tmp310 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg3), atslab_c2lau_gua) ; tmp309 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_gm2atlst (arg0, arg1, arg2, tmp310) ; tmp312 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg3), atslab_c2lau_body) ; tmp311 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp312) ; tmp313 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg3), atslab_c2lau_seq) ; tmp314 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg3), atslab_c2lau_neg) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__c2lau_make (arg0, tmp307, tmp309, tmp313, tmp314, tmp311) ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2lau] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 20315(line=839, offs=3) -- 20391(line=840, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2laulst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp315) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2laulst: tmp315 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2lau) ; return (tmp315) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_c2laulst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 20597(line=851, offs=13) -- 21224(line=881, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2ecl (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_ptr_type, tmp320) ; ATSlocal (ats_ptr_type, tmp321) ; ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; ATSlocal (ats_ptr_type, tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2ecl: tmp317 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg3), atslab_d2ecl_node) ; do { /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp317)->tag != 0) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_none (arg0) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp317)->tag != 1) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp318 = ats_caselptrlab_mac(anairiats_sum_4, tmp317, atslab_0) ; tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist (arg0, arg1, arg2, tmp318) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_list (arg0, tmp319) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp317)->tag != 18) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp320 = ats_caselptrlab_mac(anairiats_sum_12, tmp317, atslab_0) ; tmp321 = ats_caselptrlab_mac(anairiats_sum_12, tmp317, atslab_1) ; tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst (arg0, arg1, arg2, tmp321) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs (arg0, tmp320, tmp322) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp317)->tag != 19) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp323 = ats_caselptrlab_mac(anairiats_sum_12, tmp317, atslab_0) ; tmp324 = ats_caselptrlab_mac(anairiats_sum_12, tmp317, atslab_1) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst_rec (arg0, arg1, arg2, tmp324) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec (arg0, tmp323, tmp325) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: __ats_lab_96_1: tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2ecl_errdec (arg0) ; break ; } while (0) ; return (tmp316) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2ecl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 21298(line=887, offs=3) -- 21374(line=888, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist: tmp326 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_listmap (arg0, arg1, arg2, arg3, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2ecl) ; return (tmp326) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_d2eclist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 21491(line=899, offs=5) -- 21855(line=915, offs=2) */ ATSstaticdec() ats_ptr_type auxlst1_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp328) ; ATSlocal (ats_ptr_type, tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_ptr_type, tmp332) ; ATSlocal (ats_ptr_type, tmp333) ; __ats_lab_auxlst1_40: do { /* branch: __ats_lab_97 */ __ats_lab_97_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp329 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp330 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp332 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp329), atslab_v2aldec_def) ; tmp331 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp332) ; tmp333 = auxlst1_40 (arg0, arg1, arg2, tmp330) ; tmp328 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp328, atslab_0, tmp331) ; ats_selptrset_mac(anairiats_sum_1, tmp328, atslab_1, tmp333) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_98_1: tmp328 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp328) ; } /* end of [auxlst1_40] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 21925(line=918, offs=5) -- 22458(line=939, offs=4) */ ATSstaticdec() ats_ptr_type auxlst2_41 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp335) ; ATSlocal (ats_ptr_type, tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_ptr_type, tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; __ats_lab_auxlst2_41: do { /* branch: __ats_lab_99 */ __ats_lab_99_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp336 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp337 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp339 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp336), atslab_v2aldec_pat) ; tmp338 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (arg0, arg1, arg2, tmp339) ; if (arg4 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 22168(line=930, offs=9) -- 22196(line=930, offs=37)") ; } tmp340 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_0) ; tmp341 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_1) ; tmp343 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp336), atslab_v2aldec_ann) ; tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (arg0, arg1, arg2, tmp343) ; tmp344 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make (arg0, tmp338, tmp340, tmp342) ; tmp345 = auxlst2_41 (arg0, arg1, arg2, tmp337, tmp341) ; tmp335 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp335, atslab_0, tmp344) ; ats_selptrset_mac(anairiats_sum_1, tmp335, atslab_1, tmp345) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_100_1: tmp335 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp335) ; } /* end of [auxlst2_41] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 21451(line=895, offs=1) -- 22527(line=943, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp334) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst: tmp334 = auxlst1_40 (arg0, arg1, arg2, arg3) ; tmp327 = auxlst2_41 (arg0, arg1, arg2, arg3, tmp334) ; return (tmp327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 22650(line=952, offs=5) -- 23003(line=965, offs=2) */ ATSstaticdec() ats_ptr_type auxlst1_43 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; __ats_lab_auxlst1_43: do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp351 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp348), atslab_v2aldec_pat) ; tmp350 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_p2at (arg0, arg1, arg2, tmp351) ; tmp352 = auxlst1_43 (arg0, arg1, arg2, tmp349) ; tmp347 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp347, atslab_0, tmp350) ; ats_selptrset_mac(anairiats_sum_1, tmp347, atslab_1, tmp352) ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp347 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp347) ; } /* end of [auxlst1_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 23073(line=968, offs=5) -- 23579(line=984, offs=2) */ ATSstaticdec() ats_ptr_type auxlst2_44 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_ptr_type, tmp360) ; ATSlocal (ats_ptr_type, tmp361) ; ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; __ats_lab_auxlst2_44: do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp355 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_0) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_1, arg3, atslab_1) ; tmp358 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp355), atslab_v2aldec_def) ; tmp357 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__eval1_d2exp (arg0, arg1, arg2, tmp358) ; if (arg4 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 23305(line=976, offs=11) -- 23333(line=976, offs=39)") ; } tmp359 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_0) ; tmp360 = ats_caselptrlab_mac(anairiats_sum_1, arg4, atslab_1) ; tmp362 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, tmp355), atslab_v2aldec_ann) ; tmp361 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_s2expopt (arg0, arg1, arg2, tmp362) ; tmp363 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__v2aldec_make (arg0, tmp359, tmp357, tmp361) ; tmp364 = auxlst2_44 (arg0, arg1, arg2, tmp356, tmp360) ; tmp354 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp354, atslab_0, tmp363) ; ats_selptrset_mac(anairiats_sum_1, tmp354, atslab_1, tmp364) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: // if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_104_1: tmp354 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp354) ; } /* end of [auxlst2_44] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dmacro2_eval1.dats: 22610(line=948, offs=22) -- 23648(line=988, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_ptr_type, tmp353) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst_rec: tmp353 = auxlst1_43 (arg0, arg1, arg2, arg3) ; tmp346 = auxlst2_44 (arg0, arg1, arg2, arg3, tmp353) ; return (tmp346) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__eval1_v2aldeclst_rec] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dmacro2_eval1_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 () ; #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_dmacro2_eval1_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/.keeper0000664000175000017500000000000012655455557015635 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_solve_dats.c0000664000175000017500000017176412655455557021665 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ #include "pats_lintprgm_myint.cats" /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* 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_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_div_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_mod_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_gcd_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_ineg) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_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_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free) (ats_ptr_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__sasp__indexlst = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__sasp__indexset = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTmark_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTcons_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTmark_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static intknd myint_make_int_02112_intknd (ats_int_type arg0) ; static intknd myint_make_intinf_02113_intknd (ats_ptr_type arg0) ; static ats_void_type myint_free_02114_intknd (intknd arg0) ; static intknd myint_copy_02115_intknd (intknd arg0) ; static intknd neg_myint_02116_intknd (intknd arg0) ; static intknd neg1_myint_02117_intknd (intknd arg0) ; static intknd add_myint_int_02118_intknd (intknd arg0, ats_int_type arg1) ; static intknd add01_myint_myint_02119_intknd (intknd arg0, intknd arg1) ; static intknd sub01_myint_myint_02120_intknd (intknd arg0, intknd arg1) ; static intknd mul01_myint_myint_02121_intknd (intknd arg0, intknd arg1) ; static intknd mul10_myint_myint_02122_intknd (intknd arg0, intknd arg1) ; static intknd mul11_myint_myint_02123_intknd (intknd arg0, intknd arg1) ; static intknd div01_myint_myint_02124_intknd (intknd arg0, intknd arg1) ; static intknd div11_myint_myint_02125_intknd (intknd arg0, intknd arg1) ; static intknd ediv01_myint_myint_02126_intknd (intknd arg0, intknd arg1) ; static intknd mod01_myint_myint_02127_intknd (intknd arg0, intknd arg1) ; static intknd mod11_myint_myint_02128_intknd (intknd arg0, intknd arg1) ; static intknd gcd01_myint_myint_02129_intknd (intknd arg0, intknd arg1) ; static ats_bool_type lt_myint_int_02130_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type lte_myint_int_02131_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type gt_myint_int_02132_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type gte_myint_int_02133_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type eq_myint_int_02134_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type neq_myint_int_02135_intknd (intknd arg0, ats_int_type arg1) ; static ats_int_type compare_myint_int_02136_intknd (intknd arg0, ats_int_type arg1) ; static ats_bool_type lt_myint_myint_02137_intknd (intknd arg0, intknd arg1) ; static ats_bool_type lte_myint_myint_02138_intknd (intknd arg0, intknd arg1) ; static ats_bool_type gt_myint_myint_02139_intknd (intknd arg0, intknd arg1) ; static ats_bool_type gte_myint_myint_02140_intknd (intknd arg0, intknd arg1) ; static ats_void_type fprint_myint_02109_intknd (ats_ptr_type arg0, intknd arg1) ; static ats_void_type myintvec_free_02156_intknd (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type cmp_31 (ats_int_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type cmp_31_closure_make () ; static ats_int_type cmp_31_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) ; static ats_ptr_type funset_make_nil_02258_ () ; static ats_int_type compare_elt_elt_02257_ats_int_type (ats_int_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_bool_type aux_36 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) ; static ats_clo_ptr_type aux_36_closure_make (ats_int_type env0, ats_clo_ref_type env1) ; static ats_bool_type aux_36_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type funset_is_member_02262_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_ptr_type ins_40 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_clo_ptr_type ins_40_closure_make (ats_int_type env0, ats_clo_ref_type env1) ; static ats_ptr_type ins_40_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) ; static ats_bool_type funset_insert_02264_ats_int_type (ats_ref_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) ; static ats_void_type loop_44 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_int_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_42 (ats_ptr_type env0, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_clo_ptr_type loop_42_closure_make (ats_ptr_type env0) ; static ats_ptr_type loop_42_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type loop_48 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_int_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2166(line=78, offs=24) -- 2184(line=78, offs=42) */ ATSstaticdec() intknd myint_make_int_02112_intknd (ats_int_type arg0) { /* local vardec */ ATSlocal (intknd, tmp0) ; __ats_lab_myint_make_int_02112_intknd: tmp0 = ats_castfn_mac(intknd, arg0) ; return (tmp0) ; } /* end of [myint_make_int_02112_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2223(line=81, offs=27) -- 2290(line=83, offs=4) */ ATSstaticdec() intknd myint_make_intinf_02113_intknd (ats_ptr_type arg0) { /* local vardec */ ATSlocal (intknd, tmp1) ; ATSlocal (ats_int_type, tmp2) ; __ats_lab_myint_make_intinf_02113_intknd: tmp2 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_get_int (arg0) ; tmp1 = ats_castfn_mac(intknd, tmp2) ; return (tmp1) ; } /* end of [myint_make_intinf_02113_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2377(line=88, offs=20) -- 2437(line=90, offs=4) */ ATSstaticdec() ats_void_type myint_free_02114_intknd (intknd arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab_myint_free_02114_intknd: return /* (tmp3) */ ; } /* end of [myint_free_02114_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2491(line=92, offs=30) -- 2514(line=92, offs=53) */ ATSstaticdec() intknd myint_copy_02115_intknd (intknd arg0) { /* local vardec */ ATSlocal (intknd, tmp4) ; __ats_lab_myint_copy_02115_intknd: tmp4 = ats_castfn_mac(intknd, arg0) ; return (tmp4) ; } /* end of [myint_copy_02115_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2566(line=97, offs=19) -- 2586(line=97, offs=39) */ ATSstaticdec() intknd neg_myint_02116_intknd (intknd arg0) { /* local vardec */ ATSlocal (intknd, tmp5) ; ATSlocal (ats_int_type, tmp6) ; __ats_lab_neg_myint_02116_intknd: tmp6 = atspre_neg_int (ats_castfn_mac(ats_int_type, arg0)) ; tmp5 = ats_castfn_mac(intknd, tmp6) ; return (tmp5) ; } /* end of [neg_myint_02116_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2617(line=99, offs=20) -- 2637(line=99, offs=40) */ ATSstaticdec() intknd neg1_myint_02117_intknd (intknd arg0) { /* local vardec */ ATSlocal (intknd, tmp7) ; ATSlocal (ats_int_type, tmp8) ; __ats_lab_neg1_myint_02117_intknd: tmp8 = atspre_neg_int (ats_castfn_mac(ats_int_type, arg0)) ; tmp7 = ats_castfn_mac(intknd, tmp8) ; return (tmp7) ; } /* end of [neg1_myint_02117_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2693(line=104, offs=23) -- 2719(line=104, offs=49) */ ATSstaticdec() intknd add_myint_int_02118_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (intknd, tmp9) ; ATSlocal (ats_int_type, tmp10) ; __ats_lab_add_myint_int_02118_intknd: tmp10 = atspre_add_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; tmp9 = ats_castfn_mac(intknd, tmp10) ; return (tmp9) ; } /* end of [add_myint_int_02118_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2781(line=110, offs=3) -- 2841(line=112, offs=2) */ ATSstaticdec() intknd add01_myint_myint_02119_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp11) ; ATSlocal (ats_int_type, tmp12) ; __ats_lab_add01_myint_myint_02119_intknd: tmp12 = atspre_add_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp11 = ats_castfn_mac(intknd, tmp12) ; return (tmp11) ; } /* end of [add01_myint_myint_02119_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 2917(line=116, offs=3) -- 2977(line=118, offs=2) */ ATSstaticdec() intknd sub01_myint_myint_02120_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp13) ; ATSlocal (ats_int_type, tmp14) ; __ats_lab_sub01_myint_myint_02120_intknd: tmp14 = atspre_sub_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp13 = ats_castfn_mac(intknd, tmp14) ; return (tmp13) ; } /* end of [sub01_myint_myint_02120_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3072(line=123, offs=27) -- 3105(line=123, offs=60) */ ATSstaticdec() intknd mul01_myint_myint_02121_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp15) ; ATSlocal (ats_int_type, tmp16) ; __ats_lab_mul01_myint_myint_02121_intknd: tmp16 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp15 = ats_castfn_mac(intknd, tmp16) ; return (tmp15) ; } /* end of [mul01_myint_myint_02121_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3143(line=125, offs=27) -- 3176(line=125, offs=60) */ ATSstaticdec() intknd mul10_myint_myint_02122_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp17) ; ATSlocal (ats_int_type, tmp18) ; __ats_lab_mul10_myint_myint_02122_intknd: tmp18 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp17 = ats_castfn_mac(intknd, tmp18) ; return (tmp17) ; } /* end of [mul10_myint_myint_02122_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3214(line=127, offs=27) -- 3247(line=127, offs=60) */ ATSstaticdec() intknd mul11_myint_myint_02123_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp19) ; ATSlocal (ats_int_type, tmp20) ; __ats_lab_mul11_myint_myint_02123_intknd: tmp20 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp19 = ats_castfn_mac(intknd, tmp20) ; return (tmp19) ; } /* end of [mul11_myint_myint_02123_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3309(line=133, offs=3) -- 3369(line=135, offs=2) */ ATSstaticdec() intknd div01_myint_myint_02124_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp21) ; ATSlocal (ats_int_type, tmp22) ; __ats_lab_div01_myint_myint_02124_intknd: tmp22 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp21 = ats_castfn_mac(intknd, tmp22) ; return (tmp21) ; } /* end of [div01_myint_myint_02124_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3445(line=138, offs=27) -- 3478(line=138, offs=60) */ ATSstaticdec() intknd div11_myint_myint_02125_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp23) ; ATSlocal (ats_int_type, tmp24) ; __ats_lab_div11_myint_myint_02125_intknd: tmp24 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp23 = ats_castfn_mac(intknd, tmp24) ; return (tmp23) ; } /* end of [div11_myint_myint_02125_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3520(line=142, offs=3) -- 3580(line=144, offs=2) */ ATSstaticdec() intknd ediv01_myint_myint_02126_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp25) ; ATSlocal (ats_int_type, tmp26) ; __ats_lab_ediv01_myint_myint_02126_intknd: tmp26 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp25 = ats_castfn_mac(intknd, tmp26) ; return (tmp25) ; } /* end of [ediv01_myint_myint_02126_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3678(line=150, offs=3) -- 3746(line=152, offs=2) */ ATSstaticdec() intknd mod01_myint_myint_02127_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp27) ; ATSlocal (ats_int_type, tmp28) ; __ats_lab_mod01_myint_myint_02127_intknd: tmp28 = atspre_mod_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp27 = ats_castfn_mac(intknd, tmp28) ; return (tmp27) ; } /* end of [mod01_myint_myint_02127_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3822(line=155, offs=27) -- 3857(line=155, offs=62) */ ATSstaticdec() intknd mod11_myint_myint_02128_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp29) ; ATSlocal (ats_int_type, tmp30) ; __ats_lab_mod11_myint_myint_02128_intknd: tmp30 = atspre_mod_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp29 = ats_castfn_mac(intknd, tmp30) ; return (tmp29) ; } /* end of [mod11_myint_myint_02128_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 3919(line=161, offs=3) -- 3987(line=163, offs=2) */ ATSstaticdec() intknd gcd01_myint_myint_02129_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (intknd, tmp31) ; ATSlocal (ats_int_type, tmp32) ; __ats_lab_gcd01_myint_myint_02129_intknd: tmp32 = atspre_gcd_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; tmp31 = ats_castfn_mac(intknd, tmp32) ; return (tmp31) ; } /* end of [gcd01_myint_myint_02129_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4077(line=167, offs=32) -- 4098(line=167, offs=53) */ ATSstaticdec() ats_bool_type lt_myint_int_02130_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp33) ; __ats_lab_lt_myint_int_02130_intknd: tmp33 = atspre_lt_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp33) ; } /* end of [lt_myint_int_02130_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4131(line=168, offs=33) -- 4153(line=168, offs=55) */ ATSstaticdec() ats_bool_type lte_myint_int_02131_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp34) ; __ats_lab_lte_myint_int_02131_intknd: tmp34 = atspre_lte_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp34) ; } /* end of [lte_myint_int_02131_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4185(line=169, offs=32) -- 4206(line=169, offs=53) */ ATSstaticdec() ats_bool_type gt_myint_int_02132_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp35) ; __ats_lab_gt_myint_int_02132_intknd: tmp35 = atspre_gt_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp35) ; } /* end of [gt_myint_int_02132_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4239(line=170, offs=33) -- 4261(line=170, offs=55) */ ATSstaticdec() ats_bool_type gte_myint_int_02133_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp36) ; __ats_lab_gte_myint_int_02133_intknd: tmp36 = atspre_gte_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp36) ; } /* end of [gte_myint_int_02133_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4293(line=171, offs=32) -- 4314(line=171, offs=53) */ ATSstaticdec() ats_bool_type eq_myint_int_02134_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp37) ; __ats_lab_eq_myint_int_02134_intknd: tmp37 = atspre_eq_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp37) ; } /* end of [eq_myint_int_02134_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4347(line=172, offs=33) -- 4369(line=172, offs=55) */ ATSstaticdec() ats_bool_type neq_myint_int_02135_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp38) ; __ats_lab_neq_myint_int_02135_intknd: tmp38 = atspre_neq_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp38) ; } /* end of [neq_myint_int_02135_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4406(line=174, offs=27) -- 4436(line=174, offs=57) */ ATSstaticdec() ats_int_type compare_myint_int_02136_intknd (intknd arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp39) ; __ats_lab_compare_myint_int_02136_intknd: tmp39 = atspre_compare_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ; return (tmp39) ; } /* end of [compare_myint_int_02136_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4492(line=178, offs=34) -- 4521(line=178, offs=63) */ ATSstaticdec() ats_bool_type lt_myint_myint_02137_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp40) ; __ats_lab_lt_myint_myint_02137_intknd: tmp40 = atspre_lt_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; return (tmp40) ; } /* end of [lt_myint_myint_02137_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4557(line=179, offs=35) -- 4587(line=179, offs=65) */ ATSstaticdec() ats_bool_type lte_myint_myint_02138_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp41) ; __ats_lab_lte_myint_myint_02138_intknd: tmp41 = atspre_lte_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; return (tmp41) ; } /* end of [lte_myint_myint_02138_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4622(line=180, offs=34) -- 4651(line=180, offs=63) */ ATSstaticdec() ats_bool_type gt_myint_myint_02139_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp42) ; __ats_lab_gt_myint_myint_02139_intknd: tmp42 = atspre_gt_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; return (tmp42) ; } /* end of [gt_myint_myint_02139_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4687(line=181, offs=35) -- 4717(line=181, offs=65) */ ATSstaticdec() ats_bool_type gte_myint_myint_02140_intknd (intknd arg0, intknd arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp43) ; __ats_lab_gte_myint_myint_02140_intknd: tmp43 = atspre_gte_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ; return (tmp43) ; } /* end of [gte_myint_myint_02140_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4772(line=186, offs=22) -- 4809(line=186, offs=59) */ ATSstaticdec() ats_void_type fprint_myint_02109_intknd (ats_ptr_type arg0, intknd arg1) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab_fprint_myint_02109_intknd: /* tmp44 = */ atspre_fprint_int (arg0, ats_castfn_mac(ats_int_type, arg1)) ; return /* (tmp44) */ ; } /* end of [fprint_myint_02109_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_myint_int.dats: 4870(line=192, offs=7) -- 5181(line=204, offs=4) */ ATSstaticdec() ats_void_type myintvec_free_02156_intknd (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; __ats_lab_myintvec_free_02156_intknd: tmp46 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; /* tmp45 = */ atspre_array_ptr_free (tmp46) ; return /* (tmp45) */ ; } /* end of [myintvec_free_02156_intknd] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8077(line=335, offs=4) -- 8144(line=337, offs=43) */ ATSstaticdec() ats_int_type cmp_31 (ats_int_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp47) ; __ats_lab_cmp_31: tmp47 = atspre_compare_int_int (arg0, arg1) ; return (tmp47) ; } /* end of [cmp_31] */ typedef struct { ats_fun_ptr_type closure_fun ; } cmp_31_closure_type ; ats_int_type cmp_31_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1) { return cmp_31 (arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type cmp_31_closure_init (cmp_31_closure_type *p_clo) { p_clo->closure_fun = (ats_fun_ptr_type)&cmp_31_clofun ; return ; } /* end of function */ ats_clo_ptr_type cmp_31_closure_make () { cmp_31_closure_type *p_clo = ATS_MALLOC(sizeof(cmp_31_closure_type)) ; cmp_31_closure_init (p_clo) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 2201(line=74, offs=17) -- 2217(line=74, offs=33) */ ATSstaticdec() ats_ptr_type funset_make_nil_02258_ () { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab_funset_make_nil_02258_: tmp49 = (ats_sum_ptr_type)0 ; return (tmp49) ; } /* end of [funset_make_nil_02258_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8286(line=345, offs=14) -- 8313(line=345, offs=41) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_nil: tmp48 = funset_make_nil_02258_ () ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_nil] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 1887(line=58, offs=32) -- 1915(line=58, offs=60) */ ATSstaticdec() ats_int_type compare_elt_elt_02257_ats_int_type (ats_int_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp56) ; __ats_lab_compare_elt_elt_02257_ats_int_type: tmp56 = ((ats_int_type(*)(ats_clo_ptr_type, ats_int_type, ats_int_type))(ats_closure_fun(arg2))) (arg2, arg0, arg1) ; return (tmp56) ; } /* end of [compare_elt_elt_02257_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3671(line=138, offs=7) -- 3950(line=144, offs=27) */ ATSstaticdec() ats_bool_type aux_36 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_int_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_bool_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; __ats_lab_aux_36: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp53 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp54 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp55 = compare_elt_elt_02257_ats_int_type (env0, tmp53, env1) ; tmp57 = atspre_gt_int_int (tmp55, 0) ; if (tmp57) { tmp52 = ats_false_bool ; } else { tmp58 = atspre_lt_int_int (tmp55, 0) ; if (tmp58) { arg0 = tmp54 ; goto __ats_lab_aux_36 ; // tail call } else { tmp52 = ats_true_bool ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp52 = ats_false_bool ; break ; } while (0) ; return (tmp52) ; } /* end of [aux_36] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } aux_36_closure_type ; ats_bool_type aux_36_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return aux_36 (((aux_36_closure_type*)cloptr)->closure_env_0, ((aux_36_closure_type*)cloptr)->closure_env_1, arg0) ; } /* end of function */ ATSinline() ats_void_type aux_36_closure_init (aux_36_closure_type *p_clo, ats_int_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_36_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type aux_36_closure_make (ats_int_type env0, ats_clo_ref_type env1) { aux_36_closure_type *p_clo = ATS_MALLOC(sizeof(aux_36_closure_type)) ; aux_36_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 3645(line=137, offs=3) -- 3986(line=148, offs=4) */ ATSstaticdec() ats_bool_type funset_is_member_02262_ats_int_type (ats_ptr_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp51) ; __ats_lab_funset_is_member_02262_ats_int_type: tmp51 = aux_36 (arg1, arg2, arg0) ; return (tmp51) ; } /* end of [funset_is_member_02262_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8346(line=349, offs=3) -- 8389(line=349, offs=46) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp50) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member: tmp50 = funset_is_member_02262_ats_int_type (arg0, arg1, cmp_31_closure_make ()) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member] */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4180(line=158, offs=7) -- 4779(line=176, offs=10) */ ATSstaticdec() ats_ptr_type ins_40 (ats_int_type env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_bool_type, tmp69) ; ATSlocal (ats_int_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; __ats_lab_ins_40: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; tmp66 = compare_elt_elt_02257_ats_int_type (env0, tmp64, env1) ; tmp67 = atspre_gt_int_int (tmp66, 0) ; if (tmp67) { tmp68 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp68 ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_1, arg0) ; } else { tmp69 = atspre_lt_int_int (tmp66, 0) ; if (tmp69) { tmp70 = ats_ptrget_mac(ats_int_type, arg1) ; tmp71 = ins_40 (env0, env1, tmp65, arg1) ; tmp72 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg1), tmp70) ; if (tmp72) { tmp63 = arg0 ; } else { tmp63 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_0, tmp64) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_1, tmp71) ; } /* end of [if] */ } else { tmp63 = arg0 ; } /* end of [if] */ } /* end of [if] */ break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp73 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg1), 1) ; ats_ptrget_mac(ats_int_type, arg1) = tmp73 ; tmp74 = (ats_sum_ptr_type)0 ; tmp63 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_0, env0) ; ats_selptrset_mac(anairiats_sum_1, tmp63, atslab_1, tmp74) ; break ; } while (0) ; return (tmp63) ; } /* end of [ins_40] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_int_type closure_env_0 ; ats_clo_ref_type closure_env_1 ; } ins_40_closure_type ; ats_ptr_type ins_40_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ref_type arg1) { return ins_40 (((ins_40_closure_type*)cloptr)->closure_env_0, ((ins_40_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; } /* end of function */ ATSinline() ats_void_type ins_40_closure_init (ins_40_closure_type *p_clo, ats_int_type env0, ats_clo_ref_type env1) { p_clo->closure_fun = (ats_fun_ptr_type)&ins_40_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; return ; } /* end of function */ ats_clo_ptr_type ins_40_closure_make (ats_int_type env0, ats_clo_ref_type env1) { ins_40_closure_type *p_clo = ATS_MALLOC(sizeof(ins_40_closure_type)) ; ins_40_closure_init (p_clo, env0, env1) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Anairiats/libats/DATS/funset_listord.dats: 4154(line=157, offs=3) -- 4907(line=182, offs=4) */ ATSstaticdec() ats_bool_type funset_insert_02264_ats_int_type (ats_ref_type arg0, ats_int_type arg1, ats_clo_ref_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp62) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_bool_type, tmp77) ; __ats_lab_funset_insert_02264_ats_int_type: /* ats_int_type tmp75 ; */ tmp75 = 0 ; tmp76 = ins_40 (arg1, arg2, ats_ptrget_mac(ats_ptr_type, arg0), (&tmp75)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp76 ; tmp77 = atspre_eq_int_int (tmp75, 0) ; if (tmp77) { tmp62 = ats_true_bool ; } else { tmp62 = ats_false_bool ; } /* end of [if] */ return (tmp62) ; } /* end of [funset_insert_02264_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8445(line=353, offs=14) -- 8531(line=356, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_add (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_bool_type, tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_add: /* ats_ptr_type tmp60 ; */ tmp60 = arg0 ; tmp61 = funset_insert_02264_ats_int_type ((&tmp60), arg1, cmp_31_closure_make ()) ; tmp59 = tmp60 ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_add] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_44 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; __ats_lab_loop_44: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp89 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp89 ; arg1 = arg1 ; goto __ats_lab_loop_44 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp88) */ ; } /* end of [loop_44] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_int_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; // ATSlocal_void (tmp90) ; __ats_lab_list_vt_append_01504_ats_int_type: /* ats_ptr_type tmp87 ; */ tmp87 = arg0 ; /* tmp90 = */ loop_44 ((&tmp87), arg1) ; tmp86 = tmp87 ; return (tmp86) ; } /* end of [list_vt_append_01504_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8671(line=364, offs=7) -- 9035(line=377, offs=34) */ ATSstaticdec() ats_ptr_type loop_42 (ats_ptr_type env0, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_int_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_int_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab_loop_42: tmp80 = atspre_igt (arg0, 0) ; if (tmp80) { tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__indexset_is_member (env0, arg0) ; if (tmp81) { tmp82 = atspre_isub (arg0, 1) ; tmp83 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp83, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp83, atslab_1, arg1) ; arg0 = tmp82 ; arg1 = tmp83 ; arg2 = arg2 ; goto __ats_lab_loop_42 ; // tail call } else { tmp84 = atspre_isub (arg0, 1) ; tmp85 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp85, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp85, atslab_1, arg2) ; arg0 = tmp84 ; arg1 = arg1 ; arg2 = tmp85 ; goto __ats_lab_loop_42 ; // tail call } /* end of [if] */ } else { tmp79 = list_vt_append_01504_ats_int_type (arg1, arg2) ; } /* end of [if] */ return (tmp79) ; } /* end of [loop_42] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_42_closure_type ; ats_ptr_type loop_42_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { return loop_42 (((loop_42_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2) ; } /* end of function */ ATSinline() ats_void_type loop_42_closure_init (loop_42_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_42_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_42_closure_make (ats_ptr_type env0) { loop_42_closure_type *p_clo = ATS_MALLOC(sizeof(loop_42_closure_type)) ; loop_42_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 8609(line=362, offs=7) -- 9122(line=382, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make: tmp91 = atspre_isub (arg1, 1) ; tmp92 = (ats_sum_ptr_type)0 ; tmp93 = (ats_sum_ptr_type)0 ; tmp78 = loop_42 (arg0, tmp91, tmp92, tmp93) ; return (tmp78) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 9176(line=385, offs=17) -- 9279(line=388, offs=38) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp94) ; ATSlocal (ats_int_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ; tmp96 = ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp96 ; tmp94 = tmp95 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp94 = 0 ; break ; } while (0) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_choose] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_48 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab_loop_48: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp100 ; goto __ats_lab_loop_48 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: break ; } while (0) ; return /* (tmp99) */ ; } /* end of [loop_48] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_int_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp98) ; __ats_lab_list_vt_free_01499_ats_int_type: /* tmp98 = */ loop_48 (arg0) ; return /* (tmp98) */ ; } /* end of [list_vt_free_01499_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm_solve.dats: 9357(line=391, offs=25) -- 9380(line=391, offs=48) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free: /* tmp97 = */ list_vt_free_01499_ats_int_type (arg0) ; return /* (tmp97) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__indexlst_free] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_print_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2SATS_2funset_listord_2esats__staload () ; ATS_2d0_2e2_2e12_2libats_2DATS_2funset_listord_2edats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTcons_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTmark_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTcons_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTmark_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_solve_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_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 () ; #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_lintprgm_solve_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_location_dats.c0000664000175000017500000016730112655455557020421 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_filename ; ats_lint_type atslab_beg_ntot ; ats_int_type atslab_beg_nrow ; ats_int_type atslab_beg_ncol ; ats_lint_type atslab_end_ntot ; ats_int_type atslab_end_nrow ; ats_int_type atslab_end_ncol ; ats_ptr_type atslab_locpragma ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA1_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA2_2) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_bool_type, atspre_lt_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_bool_type, atspre_lte_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_bool_type, atspre_gte_lint_lint) (ats_lint_type, ats_lint_type) ; ATSextern_fun(ats_void_type, atspre_fprint_lint) (ats_ptr_type, ats_lint_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_position) (ats_ptr_type, pats_position_struct) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos) (ats_ptr_type, pats_position_struct, pats_position_struct) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__sasp__locpragma_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__sasp__location_type = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__sasp__position_t0ype = 0 ; /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA1_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA2_2) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy) ; /* internal function declarations */ static ats_bool_type location_is_none_24 (ats_ptr_type arg0) ; static ats_ptr_type location_combine_main_25 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp82) ; ATSstatic (ats_ptr_type, statmp83) ; ATSstatic (ats_ptr_type, statmp155) ; ATSstatic (ats_ptr_type, statmp158) ; ATSstatic (ats_ptr_type, statmp159) ; ATSstatic (ats_ptr_type, statmp160) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 1785(line=63, offs=3) -- 1826(line=63, offs=44) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_position (pats_position_struct arg0) { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_position: /* tmp0 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_position (stdout, arg0) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_position] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 1879(line=69, offs=3) -- 2064(line=82, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_position (ats_ptr_type arg0, pats_position_struct arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_lint_type, tmp2) ; ATSlocal (ats_int_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_lint_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_int_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_position: tmp2 = ats_select_mac(arg1, ntot) ; tmp3 = ats_select_mac(arg1, nrow) ; tmp4 = ats_select_mac(arg1, ncol) ; tmp5 = atspre_add_lint_lint (tmp2, 1L) ; tmp6 = atspre_add_int_int (tmp3, 1) ; tmp7 = atspre_add_int_int (tmp4, 1) ; /* tmp1 = */ atspre_fprintf_exn (arg0, ATSstrcst("%li(line=%i, offs=%i)"), tmp5, tmp6, tmp7) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_position] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2143(line=86, offs=29) -- 2159(line=86, offs=45) */ ATSglobaldec() ats_lint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ntot (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_lint_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ntot: tmp8 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ; return (tmp8) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ntot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2188(line=87, offs=29) -- 2204(line=87, offs=45) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_nrow (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_nrow: tmp9 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_nrow] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2233(line=88, offs=29) -- 2249(line=88, offs=45) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol (ats_ref_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol: tmp10 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_get_ncol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2296(line=94, offs=1) -- 2426(line=100, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_init (ats_ref_type arg0, ats_lint_type arg1, ats_int_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp11) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_init: ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = arg1 ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = arg2 ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = arg3 ; return /* (tmp11) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_init] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2481(line=104, offs=1) -- 2616(line=110, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_copy (ats_ref_type arg0, ats_ref_type arg1) { /* local vardec */ // ATSlocal_void (tmp12) ; ATSlocal (ats_lint_type, tmp13) ; ATSlocal (ats_int_type, tmp14) ; ATSlocal (ats_int_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_copy: tmp13 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), ntot) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp13 ; tmp14 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), nrow) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = tmp14 ; tmp15 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), ncol) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp15 ; return /* (tmp12) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_copy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 2700(line=116, offs=3) -- 3056(line=136, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char (ats_ref_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp16) ; ATSlocal (ats_bool_type, tmp17) ; ATSlocal (ats_lint_type, tmp18) ; ATSlocal (ats_lint_type, tmp19) ; ATSlocal (ats_bool_type, tmp20) ; ATSlocal (ats_int_type, tmp21) ; ATSlocal (ats_int_type, tmp22) ; ATSlocal (ats_int_type, tmp23) ; ATSlocal (ats_int_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char: tmp17 = atspre_gte_int_int (arg1, 0) ; if (tmp17) { tmp19 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ; tmp18 = atspre_add_lint_lint (tmp19, 1L) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp18 ; tmp21 = atspre_int_of_char ('\n') ; tmp20 = atspre_eq_int_int (arg1, tmp21) ; if (tmp20) { tmp23 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) ; tmp22 = atspre_add_int_int (tmp23, 1) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = tmp22 ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = 0 ; } else { tmp25 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ; tmp24 = atspre_add_int_int (tmp25, 1) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp24 ; } /* end of [if] */ } else { /* empty */ } /* end of [if] */ return /* (tmp16) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 3144(line=142, offs=3) -- 3308(line=149, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; ATSlocal (ats_lint_type, tmp27) ; ATSlocal (ats_lint_type, tmp28) ; ATSlocal (ats_lint_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_int_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count: tmp28 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ; tmp29 = atspre_lint_of_uint (arg1) ; tmp27 = atspre_sub_lint_lint (tmp28, tmp29) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp27 ; tmp31 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ; tmp30 = atspre_sub_int_int (tmp31, ats_castfn_mac(ats_int_type, arg1)) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp30 ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_decby_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 3376(line=153, offs=3) -- 3540(line=160, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count (ats_ref_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp32) ; ATSlocal (ats_lint_type, tmp33) ; ATSlocal (ats_lint_type, tmp34) ; ATSlocal (ats_lint_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count: tmp34 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ; tmp35 = atspre_lint_of_uint (arg1) ; tmp33 = atspre_add_lint_lint (tmp34, tmp35) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp33 ; tmp37 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ; tmp36 = atspre_add_int_int (tmp37, ats_castfn_mac(ats_int_type, arg1)) ; ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp36 ; return /* (tmp32) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__position_incby_count] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 3927(line=185, offs=20) -- 3947(line=185, offs=40) */ ATSglobaldec() ats_lint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_bchar (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_lint_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_bchar: tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_bchar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 3998(line=190, offs=19) -- 4018(line=190, offs=39) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow: tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4069(line=195, offs=19) -- 4089(line=195, offs=39) */ ATSglobaldec() ats_lint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_ntot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_lint_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_ntot: tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; return (tmp40) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_beg_ntot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4118(line=197, offs=19) -- 4138(line=197, offs=39) */ ATSglobaldec() ats_lint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_lint_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot: tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4192(line=202, offs=22) -- 4212(line=202, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename: tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4264(line=208, offs=3) -- 4304(line=208, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (stdout, arg0) ; return /* (tmp43) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__print_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4335(line=212, offs=3) -- 4375(line=212, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location: /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (stderr, arg0) ; return /* (tmp44) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 4428(line=218, offs=3) -- 4988(line=238, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_lint_type, tmp47) ; ATSlocal (ats_lint_type, tmp48) ; // ATSlocal_void (tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_int_type, tmp51) ; ATSlocal (ats_int_type, tmp52) ; // ATSlocal_void (tmp53) ; // ATSlocal_void (tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_int_type, tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_lint_type, tmp60) ; ATSlocal (ats_lint_type, tmp61) ; // ATSlocal_void (tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; // ATSlocal_void (tmp66) ; // ATSlocal_void (tmp67) ; ATSlocal (ats_int_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange: tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ; tmp47 = atspre_add_lint_lint (tmp48, 1L) ; /* tmp46 = */ atspre_fprint_lint (arg0, tmp47) ; /* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ; tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ; tmp51 = atspre_add_int_int (tmp52, 1) ; /* tmp50 = */ atspre_fprint_int (arg0, tmp51) ; /* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ; tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ncol) ; tmp55 = atspre_add_int_int (tmp56, 1) ; /* tmp54 = */ atspre_fprint_int (arg0, tmp55) ; /* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; /* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(" -- ")) ; tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ; tmp60 = atspre_add_lint_lint (tmp61, 1L) ; /* tmp59 = */ atspre_fprint_lint (arg0, tmp60) ; /* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ; tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_nrow) ; tmp64 = atspre_add_int_int (tmp65, 1) ; /* tmp63 = */ atspre_fprint_int (arg0, tmp64) ; /* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ncol) ; tmp68 = atspre_add_int_int (tmp69, 1) ; /* tmp67 = */ atspre_fprint_int (arg0, tmp68) ; /* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 5070(line=244, offs=3) -- 5282(line=254, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; // ATSlocal_void (tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; // ATSlocal_void (tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location: tmp72 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_locpragma) ; /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma (arg0, tmp72) ; tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ; /* tmp73 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp74) ; /* tmp75 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp70 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange (arg0, arg1) ; return /* (tmp70) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 5365(line=260, offs=3) -- 5580(line=270, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; // ATSlocal_void (tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; // ATSlocal_void (tmp81) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location: tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_locpragma) ; /* tmp77 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma (arg0, tmp78) ; tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ; /* tmp79 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full (arg0, tmp80) ; /* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange (arg0, arg1) ; return /* (tmp76) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 5908(line=291, offs=3) -- 6020(line=295, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos (pats_position_struct arg0, pats_position_struct arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos: tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos (tmp85, arg0, arg1) ; return (tmp84) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_pos_pos] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 6115(line=301, offs=3) -- 6326(line=310, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos (ats_ptr_type arg0, pats_position_struct arg1, pats_position_struct arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_lint_type, tmp87) ; ATSlocal (ats_int_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_lint_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_int_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos: tmp87 = ats_select_mac(arg1, ntot) ; tmp88 = ats_select_mac(arg1, nrow) ; tmp89 = ats_select_mac(arg1, ncol) ; tmp90 = ats_select_mac(arg2, ntot) ; tmp91 = ats_select_mac(arg2, nrow) ; tmp92 = ats_select_mac(arg2, ncol) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_get () ; tmp86 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_filename, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_beg_ntot, tmp87) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_beg_nrow, tmp88) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_beg_ncol, tmp89) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_end_ntot, tmp90) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_end_nrow, tmp91) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_end_ncol, tmp92) ; ats_selptrset_mac(anairiats_rec_1, tmp86, atslab_locpragma, tmp93) ; return (tmp86) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 6413(line=316, offs=3) -- 6627(line=325, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_lint_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_int_type, tmp98) ; ATSlocal (ats_lint_type, tmp99) ; ATSlocal (ats_int_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost: tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ; tmp96 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ; tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ; tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ; tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ; tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ; tmp94 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_filename, tmp95) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_beg_ntot, tmp96) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_beg_nrow, tmp97) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_beg_ncol, tmp98) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_end_ntot, tmp99) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_end_nrow, tmp100) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_end_ncol, tmp101) ; ats_selptrset_mac(anairiats_rec_1, tmp94, atslab_locpragma, tmp102) ; return (tmp94) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 6690(line=329, offs=3) -- 6904(line=338, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_lint_type, tmp105) ; ATSlocal (ats_int_type, tmp106) ; ATSlocal (ats_int_type, tmp107) ; ATSlocal (ats_lint_type, tmp108) ; ATSlocal (ats_int_type, tmp109) ; ATSlocal (ats_int_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost: tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ; tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ; tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ; tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ; tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ; tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ; tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ; tmp103 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_filename, tmp104) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_beg_ntot, tmp105) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_beg_nrow, tmp106) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_beg_ncol, tmp107) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_end_ntot, tmp108) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_end_nrow, tmp109) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_end_ncol, tmp110) ; ats_selptrset_mac(anairiats_rec_1, tmp103, atslab_locpragma, tmp111) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 6968(line=345, offs=1) -- 7035(line=348, offs=33) */ ATSstaticdec() ats_bool_type location_is_none_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp112) ; ATSlocal (ats_lint_type, tmp113) ; __ats_lab_location_is_none_24: tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; tmp112 = atspre_lt_lint_lint (tmp113, 0L) ; return (tmp112) ; } /* end of [location_is_none_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 7040(line=351, offs=1) -- 8153(line=394, offs=6) */ ATSstaticdec() ats_ptr_type location_combine_main_25 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_lint_type, tmp115) ; ATSlocal (ats_int_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; ATSlocal (ats_lint_type, tmp118) ; ATSlocal (ats_int_type, tmp119) ; ATSlocal (ats_int_type, tmp120) ; ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_lint_type, tmp123) ; ATSlocal (ats_lint_type, tmp124) ; ATSlocal (ats_int_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_lint_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_int_type, tmp129) ; ATSlocal (ats_lint_type, tmp130) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_lint_type, tmp133) ; ATSlocal (ats_lint_type, tmp134) ; ATSlocal (ats_int_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; ATSlocal (ats_lint_type, tmp137) ; ATSlocal (ats_int_type, tmp138) ; ATSlocal (ats_int_type, tmp139) ; ATSlocal (ats_lint_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; __ats_lab_location_combine_main_25: /* ats_lint_type tmp115 ; */ /* ats_int_type tmp116 ; */ /* ats_int_type tmp117 ; */ /* ats_lint_type tmp118 ; */ /* ats_int_type tmp119 ; */ /* ats_int_type tmp120 ; */ tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ; tmp122 = atspre_lte_lint_lint (tmp123, tmp124) ; if (tmp122) { tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ; tmp116 = tmp125 ; tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ; tmp117 = tmp126 ; tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ; tmp115 = tmp127 ; } else { tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ; tmp116 = tmp128 ; tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ncol) ; tmp117 = tmp129 ; tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ; tmp115 = tmp130 ; } /* end of [if] */ tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ; tmp134 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ; tmp132 = atspre_gte_lint_lint (tmp133, tmp134) ; if (tmp132) { tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ; tmp119 = tmp135 ; tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ; tmp120 = tmp136 ; tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ; tmp118 = tmp137 ; } else { tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_nrow) ; tmp119 = tmp138 ; tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ncol) ; tmp120 = tmp139 ; tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ; tmp118 = tmp140 ; } /* end of [if] */ tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ; tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ; tmp114 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_filename, tmp141) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_beg_ntot, tmp115) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_beg_nrow, tmp116) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_beg_ncol, tmp117) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_end_ntot, tmp118) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_end_nrow, tmp119) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_end_ncol, tmp120) ; ats_selptrset_mac(anairiats_rec_1, tmp114, atslab_locpragma, tmp142) ; return (tmp114) ; } /* end of [location_combine_main_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 8239(line=400, offs=3) -- 8399(line=403, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_bool_type, tmp144) ; ATSlocal (ats_bool_type, tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp144 = location_is_none_24 (arg0) ; if (!tmp144) { goto __ats_lab_1_1 ; } tmp143 = arg1 ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp145 = location_is_none_24 (arg1) ; if (!tmp145) { goto __ats_lab_2_1 ; } tmp143 = arg0 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp143 = location_combine_main_25 (arg0, arg1) ; break ; } while (0) ; return (tmp143) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_combine] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 8505(line=412, offs=3) -- 9037(line=442, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp146) ; ATSlocal (ats_int_type, tmp147) ; ATSlocal (ats_bool_type, tmp148) ; // ATSlocal_void (tmp149) ; // ATSlocal_void (tmp150) ; ATSlocal (ats_int_type, tmp151) ; // ATSlocal_void (tmp152) ; // ATSlocal_void (tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma: tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ; tmp148 = atspre_gte_int_int (tmp147, 0) ; if (tmp148) { /* tmp149 = */ atspre_fprint_string (arg0, ATSstrcst("#line ")) ; tmp151 = atspre_add_int_int (tmp147, 1) ; /* tmp150 = */ atspre_fprint_int (arg0, tmp151) ; /* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst(" \"")) ; tmp154 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ; /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp154) ; /* tmp146 = */ atspre_fprint_string (arg0, ATSstrcst("\"\n")) ; } else { /* empty */ } /* end of [if] */ return /* (tmp146) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp157 ; */ tmp157 = arg0 ; tmp156 = atspre_ref_make_elt_tsz ((&tmp157), sizeof(ats_ptr_type)) ; return (tmp156) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9463(line=466, offs=16) -- 9479(line=466, offs=32) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make () { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make: tmp161 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0) ; return (tmp161) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9505(line=468, offs=16) -- 9522(line=468, offs=33) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma1_make (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma1_make: tmp162 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp162)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp162, atslab_0, arg0) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma1_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9549(line=470, offs=16) -- 9577(line=470, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma2_make (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma2_make: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp163)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp163, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_3, tmp163, atslab_1, arg1) ; return (tmp163) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma2_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9617(line=474, offs=3) -- 9644(line=474, offs=30) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_get () { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_get: tmp164 = ats_ptrget_mac(ats_ptr_type, statmp155) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_get] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9681(line=477, offs=3) -- 9708(line=477, offs=30) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_set (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_set: ats_ptrget_mac(ats_ptr_type, statmp155) = arg0 ; return /* (tmp165) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_set] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 9748(line=481, offs=3) -- 9928(line=490, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_pop () { /* local vardec */ // ATSlocal_void (tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_pop: tmp167 = ats_ptrget_mac(ats_ptr_type, statmp155) ; tmp168 = ats_ptrget_mac(ats_ptr_type, statmp159) ; if (tmp168 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_location.dats: 9836(line=486, offs=7) -- 9857(line=486, offs=28)") ; } tmp169 = ats_caselptrlab_mac(anairiats_sum_4, tmp168, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_4, tmp168, atslab_1) ; ats_ptrget_mac(ats_ptr_type, statmp155) = tmp169 ; ats_ptrget_mac(ats_ptr_type, statmp159) = tmp170 ; return /* (tmp166) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 10008(line=494, offs=3) -- 10186(line=502, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_push () { /* local vardec */ // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_push: tmp172 = ats_ptrget_mac(ats_ptr_type, statmp155) ; tmp173 = ats_ptrget_mac(ats_ptr_type, statmp159) ; tmp174 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0) ; ats_ptrget_mac(ats_ptr_type, statmp155) = tmp174 ; tmp175 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp175, atslab_0, tmp172) ; ats_selptrset_mac(anairiats_sum_4, tmp175, atslab_1, tmp173) ; ats_ptrget_mac(ats_ptr_type, statmp159) = tmp175 ; return /* (tmp171) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__the_location_pragma_push] */ /* // /home/hwxi/Research/Postiats/git/src/pats_location.dats: 10275(line=507, offs=17) -- 10466(line=515, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; // ATSlocal_void (tmp178) ; // ATSlocal_void (tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; // ATSlocal_void (tmp183) ; // ATSlocal_void (tmp184) ; // ATSlocal_void (tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma: do { /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_4_0 ; } __ats_lab_3_1: break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp178 = */ atspre_fprint_string (arg0, ATSstrcst("#locpragma(")) ; /* tmp179 = */ atspre_fprint_string (arg0, tmp177) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("): ")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp180 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp181 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp182 = */ atspre_fprint_string (arg0, ATSstrcst("#locpragma(")) ; /* tmp183 = */ atspre_fprint_string (arg0, tmp180) ; /* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ; /* tmp185 = */ atspre_fprint_string (arg0, tmp181) ; /* tmp176 = */ atspre_fprint_string (arg0, ATSstrcst("): ")) ; break ; } while (0) ; return /* (tmp176) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_locpragma] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA1_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA2_2.tag = 2 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp82, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp83, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp155, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp158, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp159, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp160, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__locpragma0_make () ; statmp82 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_filename, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_ntot, -1L) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_nrow, -1) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_ncol, -1) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_ntot, -1L) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_nrow, -1) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_ncol, -1) ; ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_locpragma, statmp83) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__location_dummy = statmp82 ; statmp158 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2edats__LOCPRAGMA0_0) ; statmp155 = ref_01088_ats_ptr_type (statmp158) ; statmp160 = (ats_sum_ptr_type)0 ; statmp159 = ref_01088_ats_ptr_type (statmp160) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_location_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_parsing_p0at_dats.c0000664000175000017500000026053612655455557021204 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_6 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_COLON_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTDOTDOT_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGT_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGT_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQGTGT_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_EQSLASHEQGTGT_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLT_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DOTLTGTDOT_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_TILDE_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_AS_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_OP_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRLST_108) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRREC_109) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_DLRTUP_110) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_alp_139) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_IDENT_sym_140) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_CHAR_147) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LPAREN_153) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACKET_155) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_LBRACE_157) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_pi0de_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_71) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmp0at_72) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labp0at_73) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_gm0at_75) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guap0at_76) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0lau_77) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__SYNENT3_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12one_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__LIST12two_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_eq_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sp0at_cstr) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0de) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_opid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_dqid) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0nt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_c0har) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_f0loat) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_s0tring) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_app) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec) (ats_int_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_lst) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_exist) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_svararg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_refas) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_free) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_unfold) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_ann) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_norm) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_omit) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta1) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta2) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met_nil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__gm0at_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guap0at_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__c0lau_make) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sc0lau_make) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt) (ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null) (ats_ref_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test) (ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test) (ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun) (ats_ref_type, ats_ptr_type, ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun) (ats_ref_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun) (ats_ref_type, ats_int_type, ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labp0at) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) (ats_ref_type, ats_int_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq) (ats_ref_type, ats_int_type, ats_ref_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) ; static ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type loop_4 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p0at_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type p0at_tup12_5 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p0at_rec12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_p0atseq_BAR_p0atseq_7 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_labp0atseq_BAR_labp0atseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_void_type loop_13 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_ptr_type p_atmp0at_tok_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type p_atmp0at_14 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_argp0at_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type p_p0at0_16 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_gm0at_21 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_gm0atseq_22 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_guap0at_23 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_c0lau_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_sp0at_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; static ats_ptr_type p_sc0lau_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6) */ ATSstaticdec() ats_int_type loop_2 (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_int_type, tmp9) ; __ats_lab_loop_2: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp7 = &ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp8 = ats_ptrget_mac(ats_ptr_type, tmp7) ; tmp9 = atspre_iadd (arg1, 1) ; arg0 = tmp8 ; arg1 = tmp9 ; goto __ats_lab_loop_2 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp6 = arg1 ; break ; } while (0) ; return (tmp6) ; } /* end of [loop_2] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4) */ ATSstaticdec() ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp5) ; __ats_lab_list_vt_length_01501_ats_ptr_type: tmp5 = loop_2 (arg0, 0) ; return (tmp5) ; } /* end of [list_vt_length_01501_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4) */ ATSstaticdec() ats_void_type loop_4 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_loop_4: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp14 = &ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; arg0 = tmp14 ; arg1 = arg1 ; goto __ats_lab_loop_4 ; // tail call break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ; break ; } while (0) ; return /* (tmp13) */ ; } /* end of [loop_4] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4) */ ATSstaticdec() ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; // ATSlocal_void (tmp15) ; __ats_lab_list_vt_append_01504_ats_ptr_type: /* ats_ptr_type tmp12 ; */ tmp12 = arg0 ; /* tmp15 = */ loop_4 ((&tmp12), arg1) ; tmp11 = tmp12 ; return (tmp11) ; } /* end of [list_vt_append_01504_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 1890(line=67, offs=1) -- 2220(line=81, offs=8) */ ATSstaticdec() ats_ptr_type p0at_list12_0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_int_type, tmp4) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab_p0at_list12_0: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; ATS_FREE(arg1) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list (arg0, -1, ats_castfn_mac(ats_ptr_type, tmp1), arg2) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (((ats_sum_ptr_type)arg1)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp4 = list_vt_length_01501_ats_ptr_type (tmp2) ; tmp10 = list_vt_append_01504_ats_ptr_type (tmp2, tmp3) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_list (arg0, tmp4, ats_castfn_mac(ats_ptr_type, tmp10), arg2) ; break ; } while (0) ; return (tmp0) ; } /* end of [p0at_list12_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 2296(line=87, offs=1) -- 2644(line=102, offs=8) */ ATSstaticdec() ats_ptr_type p0at_tup12_5 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; __ats_lab_p0at_tup12_5: do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp17), arg3) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp18 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp19 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp20 = list_vt_length_01501_ats_ptr_type (tmp18) ; tmp21 = list_vt_append_01504_ats_ptr_type (tmp18, tmp19) ; tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_tup (arg0, arg1, tmp20, ats_castfn_mac(ats_ptr_type, tmp21), arg3) ; break ; } while (0) ; return (tmp16) ; } /* end of [p0at_tup12_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 2719(line=108, offs=1) -- 3068(line=121, offs=8) */ ATSstaticdec() ats_ptr_type p0at_rec12_6 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_int_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab_p0at_rec12_6: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_1, arg2, atslab_0) ; ATS_FREE(arg2) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec (arg0, arg1, -1, ats_castfn_mac(ats_ptr_type, tmp23), arg3) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (((ats_sum_ptr_type)arg2)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp24 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp25 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; tmp26 = list_vt_length_01501_ats_ptr_type (tmp24) ; tmp27 = list_vt_append_01504_ats_ptr_type (tmp24, tmp25) ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_rec (arg0, arg1, tmp26, ats_castfn_mac(ats_ptr_type, tmp27), arg3) ; break ; } while (0) ; return (tmp22) ; } /* end of [p0at_rec12_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 3118(line=127, offs=1) -- 3224(line=131, offs=32) */ ATSstaticdec() ats_ptr_type p_p0atseq_BAR_p0atseq_7 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; __ats_lab_p_p0atseq_BAR_p0atseq_7: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) ; return (tmp28) ; } /* end of [p_p0atseq_BAR_p0atseq_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 3264(line=135, offs=1) -- 3422(line=141, offs=4) */ ATSstaticdec() ats_ptr_type p_labp0atseq_BAR_labp0atseq_8 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_bool_type, tmp30) ; __ats_lab_p_labp0atseq_BAR_labp0atseq_8: tmp30 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_COMMA_test (arg0) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__plist12_fun (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labp0at) ; return (tmp29) ; } /* end of [p_labp0atseq_BAR_labp0atseq_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 3505(line=147, offs=3) -- 3967(line=166, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; ATSlocal (ats_int_type, tmp39) ; // ATSlocal_void (tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de: tmp32 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp32), atslab_token_loc) ; tmp34 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp32), atslab_token_node) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp34)->tag != 139) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp35 = ats_caselptrlab_mac(anairiats_sum_1, tmp34, atslab_0) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp33, tmp35) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp34)->tag != 140) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_1, tmp34, atslab_0) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__i0de_make_string (tmp33, tmp37) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp39 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp39 ; tmp41 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_pi0de_47) ; /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp33, tmp41) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 4073(line=174, offs=11) -- 4658(line=199, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labp0at (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_int_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; // ATSlocal_void (tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_bool_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labp0at: tmp43 = ats_ptrget_mac(ats_int_type, arg2) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp45 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp44), atslab_token_node) ; do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp45)->tag != 11) { goto __ats_lab_14_0 ; } __ats_lab_13_1: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_omit (tmp44) ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: __ats_lab_14_1: tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_l0ab, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQ, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) ; // tmp48 = ats_caselptrlab_mac(anairiats_sum_5, tmp47, atslab_0) ; tmp49 = ats_caselptrlab_mac(anairiats_sum_5, tmp47, atslab_2) ; ATS_FREE(tmp47) ; tmp50 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp43) ; if (tmp50) { tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__labp0at_norm (tmp48, tmp49) ; } else { tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp44), atslab_token_loc) ; tmp53 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_labp0at_73) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp52, tmp53) ; tmp42 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; } while (0) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_labp0at] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_13 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; __ats_lab_loop_13: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp83 ; goto __ats_lab_loop_13 ; // tail call break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: break ; } while (0) ; return /* (tmp82) */ ; } /* end of [loop_13] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp81) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp81 = */ loop_13 (arg0) ; return /* (tmp81) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 5191(line=228, offs=1) -- 9605(line=407, offs=4) */ ATSstaticdec() ats_ptr_type p_atmp0at_tok_11 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_int_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_bool_type, tmp59) ; // ATSlocal_void (tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; // ATSlocal_void (tmp63) ; // ATSlocal_void (tmp64) ; // ATSlocal_void (tmp65) ; // ATSlocal_void (tmp66) ; ATSlocal (ats_bool_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; // ATSlocal_void (tmp75) ; // ATSlocal_void (tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_bool_type, tmp79) ; // ATSlocal_void (tmp80) ; ATSlocal (ats_bool_type, tmp84) ; // ATSlocal_void (tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_bool_type, tmp88) ; ATSlocal (ats_int_type, tmp89) ; ATSlocal (ats_bool_type, tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_bool_type, tmp92) ; // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_bool_type, tmp96) ; ATSlocal (ats_int_type, tmp97) ; ATSlocal (ats_bool_type, tmp98) ; // ATSlocal_void (tmp99) ; ATSlocal (ats_int_type, tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_bool_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_bool_type, tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_int_type, tmp108) ; // ATSlocal_void (tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_bool_type, tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_int_type, tmp115) ; // ATSlocal_void (tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_bool_type, tmp120) ; // ATSlocal_void (tmp121) ; ATSlocal (ats_int_type, tmp122) ; __ats_lab_p_atmp0at_tok_11: tmp55 = ats_ptrget_mac(ats_int_type, arg2) ; tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_loc) ; /* ats_ptr_type tmp57 ; */ tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg3), atslab_token_node) ; do { /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp59 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de, (&tmp57)) ; if (!tmp59) { goto __ats_lab_16_0 ; } tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0de (ats_castfn_mac(ats_ptr_type, tmp57)) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp58)->tag != 64) { goto __ats_lab_17_0 ; } __ats_lab_16_1: /* tmp60 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (arg0, 0, arg2) ; tmp62 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp62) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_opid (arg3, tmp61) ; } else { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp58)->tag != 146) { goto __ats_lab_18_0 ; } __ats_lab_17_1: /* tmp63 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_i0nt (arg3) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp58)->tag != 147) { goto __ats_lab_19_0 ; } __ats_lab_18_1: /* tmp64 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_c0har (arg3) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp58)->tag != 148) { goto __ats_lab_20_0 ; } __ats_lab_19_1: /* tmp65 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_f0loat (arg3) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp58)->tag != 150) { goto __ats_lab_21_0 ; } __ats_lab_20_1: /* tmp66 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_s0tring (arg3) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0ynq, (&tmp57)) ; if (!tmp67) { goto __ats_lab_22_0 ; } tmp68 = ats_castfn_mac(ats_ptr_type, tmp57) ; tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_pi0de (arg0, 0, arg2) ; tmp70 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp70) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_dqid (tmp68, tmp69) ; } else { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: if (((ats_sum_ptr_type)tmp58)->tag != 153) { goto __ats_lab_23_0 ; } __ats_lab_22_1: /* tmp71 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp72 = p_p0atseq_BAR_p0atseq_7 (arg0, 0, arg2) ; tmp73 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp74 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp74) { tmp54 = p0at_list12_0 (arg3, tmp72, tmp73) ; } else { /* tmp75 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp72) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp58)->tag != 155) { goto __ats_lab_26_0 ; } __ats_lab_23_1: /* tmp76 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; tmp78 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACKET (arg0, 0, arg2) ; tmp79 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp79) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_exist (arg3, ats_castfn_mac(ats_ptr_type, tmp77), tmp78) ; } else { /* tmp80 = */ list_vt_free_01499_ats_ptr_type (tmp77) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LPAREN_deco (tmp58) ; if (!tmp84) { goto __ats_lab_27_1 ; } /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp86 = p_p0atseq_BAR_p0atseq_7 (arg0, 0, arg2) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp88 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp88) { tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLPAREN (tmp58) ; if (tmp90) { tmp89 = 0 ; } else { tmp89 = 1 ; } /* end of [if] */ tmp54 = p0at_tup12_5 (tmp89, arg3, tmp86, tmp87) ; } else { /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp86) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_LBRACE_deco (tmp58) ; if (!tmp92) { goto __ats_lab_28_0 ; } /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp94 = p_labp0atseq_BAR_labp0atseq_8 (arg0, 0, arg2) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp96 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp96) { tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_ATLBRACE (tmp58) ; if (tmp98) { tmp97 = 0 ; } else { tmp97 = 1 ; } /* end of [if] */ tmp54 = p0at_rec12_6 (tmp97, arg3, tmp94, tmp95) ; } else { /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp94) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp58)->tag != 108) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_6, tmp58, atslab_0) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp104 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp104) { tmp103 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) ; } else { tmp103 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp55) ; tmp106 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp106) { tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_lst (tmp100, arg3, ats_castfn_mac(ats_ptr_type, tmp103), tmp105) ; } else { /* tmp107 = */ list_vt_free_01499_ats_ptr_type (tmp103) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp58)->tag != 110) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp108 = ats_caselptrlab_mac(anairiats_sum_6, tmp58, atslab_0) ; /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp111 = p_p0atseq_BAR_p0atseq_7 (arg0, 0, arg2) ; tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp113 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp113) { tmp54 = p0at_tup12_5 (tmp108, arg3, tmp111, tmp112) ; } else { /* tmp114 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp111) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp58)->tag != 109) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp115 = ats_caselptrlab_mac(anairiats_sum_6, tmp58, atslab_0) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp117 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN (arg0, 0, arg2) ; tmp118 = p_labp0atseq_BAR_labp0atseq_8 (arg0, 0, arg2) ; tmp119 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN (arg0, 0, arg2) ; tmp120 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp55) ; if (tmp120) { tmp54 = p0at_rec12_6 (tmp115, arg3, tmp118, tmp119) ; } else { /* tmp121 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__list12_free (tmp118) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: __ats_lab_31_1: tmp122 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp122 ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp54) ; } /* end of [p_atmp0at_tok_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 9637(line=410, offs=1) -- 9751(line=413, offs=57) */ ATSstaticdec() ats_ptr_type p_atmp0at_14 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab_p_atmp0at_14: tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_atmp0at_72) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokwrap_fun (arg0, arg1, arg2, &p_atmp0at_tok_11, tmp124) ; return (tmp123) ; } /* end of [p_atmp0at_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 9851(line=422, offs=1) -- 10520(line=451, offs=4) */ ATSstaticdec() ats_ptr_type p_argp0at_15 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_int_type, tmp126) ; ATSlocal (ats_uint_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_bool_type, tmp131) ; // ATSlocal_void (tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_int_type, tmp136) ; __ats_lab_p_argp0at_15: tmp126 = ats_ptrget_mac(ats_int_type, arg2) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp128 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp129 ; */ tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp128), atslab_token_node) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: __ats_lab_32_1: tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmp0at_14, (&tmp129)) ; if (!tmp131) { goto __ats_lab_33_0 ; } tmp125 = ats_castfn_mac(ats_ptr_type, tmp129) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp130)->tag != 157) { goto __ats_lab_34_0 ; } __ats_lab_33_1: /* tmp132 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg (arg0, 0, arg2) ; tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp126) ; tmp135 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp126) ; if (tmp135) { tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_svararg (tmp128, tmp133, tmp134) ; } else { tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp127) ; } /* end of [if] */ break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: __ats_lab_34_1: tmp136 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp136 ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp125) ; } /* end of [p_argp0at_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 10867(line=471, offs=9) -- 11073(line=478, offs=30) */ ATSstaticdec() ats_ptr_type loop_17 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; __ats_lab_loop_17: do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp144 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp145 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_app (arg0, tmp144) ; arg0 = tmp146 ; arg1 = tmp145 ; goto __ats_lab_loop_17 ; // tail call break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_37_1: tmp143 = arg0 ; break ; } while (0) ; return (tmp143) ; } /* end of [loop_17] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 10569(line=456, offs=1) -- 11190(line=486, offs=4) */ ATSstaticdec() ats_ptr_type p_p0at0_16 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_bool_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_int_type, tmp147) ; __ats_lab_p_p0at0_16: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp139 ; */ do { /* branch: __ats_lab_35 */ __ats_lab_35_0: __ats_lab_35_1: tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmp0at_14, (&tmp139)) ; if (!tmp140) { goto __ats_lab_38_1 ; } tmp141 = ats_castfn_mac(ats_ptr_type, tmp139) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun (arg0, 0, &p_argp0at_15) ; tmp137 = loop_17 (tmp141, tmp142) ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp147 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp147 ; tmp137 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp137) ; } /* end of [p_p0at0_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 11360(line=499, offs=8) -- 12799(line=560, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_int_type, tmp149) ; ATSlocal (ats_uint_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_bool_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; // ATSlocal_void (tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_bool_type, tmp160) ; // ATSlocal_void (tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_bool_type, tmp163) ; // ATSlocal_void (tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_bool_type, tmp166) ; // ATSlocal_void (tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_bool_type, tmp169) ; ATSlocal (ats_int_type, tmp170) ; // ATSlocal_void (tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at: tmp149 = ats_ptrget_mac(ats_int_type, arg2) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp152 ; */ tmp153 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp151), atslab_token_node) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_p0at0_16, (&tmp152)) ; if (!tmp154) { goto __ats_lab_43_0 ; } tmp155 = ats_castfn_mac(ats_ptr_type, tmp152) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp156), atslab_token_node) ; do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp157)->tag != 33) { goto __ats_lab_41_0 ; } __ats_lab_40_1: /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (arg0, 0, arg2) ; tmp160 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp149) ; if (tmp160) { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_refas (tmp155, tmp159) ; } else { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp150) ; } /* end of [if] */ break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: if (((ats_sum_ptr_type)tmp157)->tag != 6) { goto __ats_lab_42_0 ; } __ats_lab_41_1: /* tmp161 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp (arg0, 0, arg2) ; tmp163 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp149) ; if (tmp163) { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_ann (tmp155, tmp162) ; } else { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp150) ; } /* end of [if] */ break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: __ats_lab_42_1: tmp148 = tmp155 ; break ; } while (0) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp153)->tag != 30) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp164 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp165 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (arg0, 0, arg2) ; tmp166 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp149) ; if (tmp166) { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_free (tmp151, tmp165) ; } else { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp150) ; } /* end of [if] */ break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp153)->tag != 1) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp167 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (arg0, 0, arg2) ; tmp169 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp149) ; if (tmp169) { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__p0at_unfold (tmp151, tmp168) ; } else { tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp150) ; } /* end of [if] */ break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp170 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp170 ; tmp172 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp151), atslab_token_loc) ; tmp173 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_p0at_71) ; /* tmp171 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp172, tmp173) ; tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 12954(line=571, offs=3) -- 14034(line=613, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_int_type, tmp175) ; ATSlocal (ats_uint_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_bool_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_bool_type, tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; // ATSlocal_void (tmp189) ; // ATSlocal_void (tmp190) ; ATSlocal (ats_int_type, tmp191) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1: tmp175 = ats_ptrget_mac(ats_int_type, arg2) ; tmp176 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp178 ; */ tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp177), atslab_token_node) ; do { /* branch: __ats_lab_46 */ __ats_lab_46_0: __ats_lab_46_1: tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmp0at_14, (&tmp178)) ; if (!tmp180) { goto __ats_lab_47_0 ; } tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn (ats_castfn_mac(ats_ptr_type, tmp178)) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp179)->tag != 157) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0quaseq (arg0, 0, arg2) ; tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE (arg0, 0, arg2) ; tmp184 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp184) { tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta1 (tmp177, tmp182, tmp183) ; } else { tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp176) ; } /* end of [if] */ break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp179)->tag != 24) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, 0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0exp) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_GTDOT (arg0, 0, arg2) ; tmp188 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp175) ; if (tmp188) { tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met (tmp177, ats_castfn_mac(ats_ptr_type, tmp186), tmp187) ; } else { /* tmp189 = */ list_vt_free_01499_ats_ptr_type (tmp186) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp176) ; } /* end of [if] */ break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp179)->tag != 26) { goto __ats_lab_50_0 ; } __ats_lab_49_1: /* tmp190 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_met_nil (tmp177) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: __ats_lab_50_1: tmp191 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp191 ; tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 14128(line=620, offs=3) -- 14763(line=647, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg2 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_int_type, tmp193) ; ATSlocal (ats_uint_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_bool_type, tmp198) ; // ATSlocal_void (tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_bool_type, tmp202) ; ATSlocal (ats_int_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg2: tmp193 = ats_ptrget_mac(ats_int_type, arg2) ; tmp194 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; /* ats_ptr_type tmp196 ; */ tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp195), atslab_token_node) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: __ats_lab_51_1: tmp198 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptest_fun (arg0, &p_atmp0at_14, (&tmp196)) ; if (!tmp198) { goto __ats_lab_52_0 ; } tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_dyn (ats_castfn_mac(ats_ptr_type, tmp196)) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp197)->tag != 157) { goto __ats_lab_53_0 ; } __ats_lab_52_1: /* tmp199 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0vararg (arg0, 0, arg2) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RBRACE, tmp193) ; tmp202 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), 0) ; if (tmp202) { tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__f0arg_sta2 (tmp195, tmp200, tmp201) ; } else { tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp194) ; } /* end of [if] */ break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp203 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp203 ; tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; break ; } while (0) ; return (tmp192) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_f0arg2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 14936(line=658, offs=5) -- 15360(line=675, offs=4) */ ATSstaticdec() ats_ptr_type p_gm0at_21 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_int_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_bool_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; // ATSlocal_void (tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab_p_gm0at_21: tmp205 = ats_ptrget_mac(ats_int_type, arg2) ; tmp206 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp (arg0, arg1, arg2) ; tmp207 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp205) ; if (tmp207) { tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_AS, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__gm0at_make (tmp206, ats_castfn_mac(ats_ptr_type, tmp208)) ; } else { tmp209 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp211 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp209), atslab_token_loc) ; tmp212 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_gm0at_75) ; /* tmp210 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp211, tmp212) ; tmp204 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp204) ; } /* end of [p_gm0at_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 15386(line=677, offs=5) -- 15495(line=680, offs=47) */ ATSstaticdec() ats_ptr_type p_gm0atseq_22 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; __ats_lab_p_gm0atseq_22: tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun1_AND (arg0, arg1, arg2, &p_gm0at_21) ; tmp213 = ats_castfn_mac(ats_ptr_type, tmp214) ; return (tmp213) ; } /* end of [p_gm0atseq_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 15524(line=683, offs=5) -- 15965(line=700, offs=4) */ ATSstaticdec() ats_ptr_type p_guap0at_23 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_int_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_bool_type, tmp218) ; ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; // ATSlocal_void (tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab_p_guap0at_23: tmp216 = ats_ptrget_mac(ats_int_type, arg2) ; tmp217 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_p0at (arg0, arg1, arg2) ; tmp218 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp216) ; if (tmp218) { tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__ptokentopt_fun (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__is_WHEN, &p_gm0atseq_22) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__guap0at_make (tmp217, ats_castfn_mac(ats_ptr_type, tmp219)) ; } else { tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp222 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp220), atslab_token_loc) ; tmp223 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_guap0at_76) ; /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (arg1, tmp222, tmp223) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp215) ; } /* end of [p_guap0at_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 16115(line=709, offs=5) -- 16989(line=742, offs=4) */ ATSstaticdec() ats_ptr_type p_c0lau_24 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_int_type, tmp225) ; ATSlocal (ats_uint_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; ATSlocal (ats_int_type, tmp229) ; // ATSlocal_void (tmp230) ; ATSlocal (ats_bool_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_int_type, tmp235) ; ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; // ATSlocal_void (tmp240) ; ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab_p_c0lau_24: tmp225 = ats_ptrget_mac(ats_int_type, arg2) ; tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp227 = p_guap0at_23 (arg0, arg1, arg2) ; /* ats_int_type tmp228 ; */ tmp228 = 0 ; /* ats_int_type tmp229 ; */ tmp229 = 0 ; tmp231 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp225) ; if (tmp231) { tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp232), atslab_token_node) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp234)->tag != 14) { goto __ats_lab_55_0 ; } __ats_lab_54_1: break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp234)->tag != 18) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp228 = 1 ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp234)->tag != 17) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp229 = 1 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp234)->tag != 19) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp228 = 1 ; tmp229 = 1 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: __ats_lab_58_1: tmp235 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg2), 1) ; ats_ptrget_mac(ats_int_type, arg2) = tmp235 ; break ; } while (0) ; tmp236 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp225) ; if (tmp236) { /* tmp230 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_incby1 (arg0) ; } else { /* empty */ } /* end of [if] */ } else { /* empty */ } /* end of [if] */ tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, 0, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp, tmp225) ; tmp238 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp225) ; if (tmp238) { tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__c0lau_make (tmp227, tmp228, tmp229, tmp237) ; } else { tmp239 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_token (arg0) ; tmp241 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp239), atslab_token_loc) ; tmp242 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__PE_c0lau_77) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__the_parerrlst_add_ifnbt (0, tmp241, tmp242) ; tmp224 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp226) ; } /* end of [if] */ return (tmp224) ; } /* end of [p_c0lau_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 17083(line=751, offs=1) -- 17637(line=770, offs=4) */ ATSstaticdec() ats_ptr_type p_sp0at_25 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_int_type, tmp244) ; ATSlocal (ats_uint_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_bool_type, tmp249) ; ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_bool_type, tmp251) ; // ATSlocal_void (tmp252) ; __ats_lab_p_sp0at_25: tmp244 = ats_ptrget_mac(ats_int_type, arg2) ; tmp245 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_get_ntok (arg0) ; tmp246 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sqi0de (arg0, arg1, arg2) ; tmp247 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_LPAREN, tmp244) ; tmp249 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp244) ; if (tmp249) { tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_COMMA (arg0, arg1, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_s0arg) ; } else { tmp248 = (ats_sum_ptr_type)0 ; } /* end of [if] */ tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pif_fun (arg0, arg1, arg2, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_RPAREN, tmp244) ; tmp251 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp244) ; if (tmp251) { tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sp0at_cstr (tmp246, ats_castfn_mac(ats_ptr_type, tmp248), tmp250) ; } else { /* tmp252 = */ list_vt_free_01499_ats_ptr_type (tmp248) ; tmp243 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__tokbuf_set_ntok_null (arg0, tmp245) ; } /* end of [if] */ return (tmp243) ; } /* end of [p_sp0at_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 17663(line=772, offs=5) -- 17953(line=783, offs=4) */ ATSstaticdec() ats_ptr_type p_sc0lau_26 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_int_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; ATSlocal (ats_bool_type, tmp258) ; __ats_lab_p_sc0lau_26: tmp254 = ats_ptrget_mac(ats_int_type, arg2) ; tmp255 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pseq3_fun (arg0, arg1, arg2, &p_sp0at_25, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_EQGT, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_d0exp) ; // tmp256 = ats_caselptrlab_mac(anairiats_sum_5, tmp255, atslab_0) ; tmp257 = ats_caselptrlab_mac(anairiats_sum_5, tmp255, atslab_2) ; ATS_FREE(tmp255) ; tmp258 = atspre_eq_int_int (ats_ptrget_mac(ats_int_type, arg2), tmp254) ; if (tmp258) { tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__sc0lau_make (tmp256, tmp257) ; } else { tmp253 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__synent_null () ; } /* end of [if] */ return (tmp253) ; } /* end of [p_sc0lau_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 18020(line=789, offs=3) -- 18113(line=791, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_bool_type, tmp260) ; ATSlocal (ats_ptr_type, tmp261) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq: tmp260 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test (arg0) ; tmp261 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (arg0, arg1, &p_c0lau_24) ; tmp259 = ats_castfn_mac(ats_ptr_type, tmp261) ; return (tmp259) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_c0lauseq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_parsing_p0at.dats: 18162(line=795, offs=3) -- 18256(line=797, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sc0lauseq (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_bool_type, tmp263) ; ATSlocal (ats_ptr_type, tmp264) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sc0lauseq: tmp263 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_BAR_test (arg0) ; tmp264 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__pstar_fun0_BAR (arg0, arg1, &p_sc0lau_26) ; tmp262 = ats_castfn_mac(ats_ptr_type, tmp264) ; return (tmp262) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__p_sc0lauseq] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_tokbuf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_p0at_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 () ; #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_parsing_p0at_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_error_sats.c0000664000175000017500000001027012655455557017751 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN) ; ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN) ; /* static load function */ ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FIXITY_EXN" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS1_EXN" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS2_EXN" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS3_EXN" ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_TRANS4_EXN" ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_error_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans1_decl_dats.c0000664000175000017500000051777712655455557021030 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_tokbuf.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ // static ats_bool_type patsopt_string_suffix_is_dats (ats_ptr_type s0) { char *s = strrchr (s0, '.') ; if (!s) return ats_false_bool ; if (strcmp (s, ".dats") != 0) return ats_false_bool ; return ats_true_bool ; } // end of [patsopt_string_suffix_is_dats] // /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_1 ; typedef struct { ats_ptr_type atslab_i0de_loc ; ats_ptr_type atslab_i0de_sym ; } anairiats_rec_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_int_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_s0tacst_loc ; ats_ptr_type atslab_s0tacst_sym ; ats_ptr_type atslab_s0tacst_arg ; ats_ptr_type atslab_s0tacst_res ; } anairiats_rec_10 ; typedef struct { ats_ptr_type atslab_s0tacon_loc ; ats_ptr_type atslab_s0tacon_sym ; ats_ptr_type atslab_s0tacon_arg ; ats_ptr_type atslab_s0tacon_def ; } anairiats_rec_11 ; typedef struct { ats_ptr_type atslab_s0rtdef_loc ; ats_ptr_type atslab_s0rtdef_sym ; ats_ptr_type atslab_s0rtdef_def ; } anairiats_rec_12 ; typedef struct { ats_ptr_type atslab_t0kindef_loc ; ats_ptr_type atslab_t0kindef_sym ; ats_ptr_type atslab_t0kindef_loc_id ; ats_ptr_type atslab_t0kindef_def ; } anairiats_rec_13 ; typedef struct { ats_ptr_type atslab_s0expdef_loc ; ats_ptr_type atslab_s0expdef_sym ; ats_ptr_type atslab_s0expdef_loc_id ; ats_ptr_type atslab_s0expdef_arg ; ats_ptr_type atslab_s0expdef_res ; ats_ptr_type atslab_s0expdef_def ; } anairiats_rec_14 ; typedef struct { ats_ptr_type atslab_s0aspdec_loc ; ats_ptr_type atslab_s0aspdec_qid ; ats_ptr_type atslab_s0aspdec_arg ; ats_ptr_type atslab_s0aspdec_res ; ats_ptr_type atslab_s0aspdec_def ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_d0atdec_loc ; ats_ptr_type atslab_d0atdec_loc_hd ; ats_ptr_type atslab_d0atdec_fil ; ats_ptr_type atslab_d0atdec_sym ; ats_ptr_type atslab_d0atdec_arg ; ats_ptr_type atslab_d0atdec_con ; } anairiats_rec_16 ; typedef struct { ats_ptr_type atslab_e0xndec_loc ; ats_ptr_type atslab_e0xndec_fil ; ats_ptr_type atslab_e0xndec_sym ; ats_ptr_type atslab_e0xndec_qua ; ats_ptr_type atslab_e0xndec_arg ; } anairiats_rec_17 ; typedef struct { ats_ptr_type atslab_s1exp_loc ; ats_ptr_type atslab_s1exp_node ; } anairiats_rec_18 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_19 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_m0acdef_loc ; ats_ptr_type atslab_m0acdef_sym ; ats_ptr_type atslab_m0acdef_arg ; ats_ptr_type atslab_m0acdef_def ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_v0aldec_loc ; ats_ptr_type atslab_v0aldec_pat ; ats_ptr_type atslab_v0aldec_def ; ats_ptr_type atslab_v0aldec_ann ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_f0undec_loc ; ats_ptr_type atslab_f0undec_sym ; ats_ptr_type atslab_f0undec_sym_loc ; ats_ptr_type atslab_f0undec_arg ; ats_ptr_type atslab_f0undec_eff ; ats_ptr_type atslab_f0undec_res ; ats_ptr_type atslab_f0undec_def ; ats_ptr_type atslab_f0undec_ann ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_v0ardec_loc ; ats_int_type atslab_v0ardec_knd ; ats_ptr_type atslab_v0ardec_sym ; ats_ptr_type atslab_v0ardec_sym_loc ; ats_ptr_type atslab_v0ardec_pfat ; ats_ptr_type atslab_v0ardec_type ; ats_ptr_type atslab_v0ardec_init ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_i0mpdec_loc ; ats_ptr_type atslab_i0mpdec_qid ; ats_ptr_type atslab_i0mpdec_arg ; ats_ptr_type atslab_i0mpdec_res ; ats_ptr_type atslab_i0mpdec_def ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_impqi0de_loc ; ats_ptr_type atslab_impqi0de_qua ; ats_ptr_type atslab_impqi0de_sym ; ats_ptr_type atslab_impqi0de_arg ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_d0ecl_loc ; ats_ptr_type atslab_d0ecl_node ; } anairiats_rec_28 ; typedef struct { ats_ptr_type atslab_e1xp_loc ; ats_ptr_type atslab_e1xp_node ; } anairiats_rec_29 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_30 ; typedef struct { anairiats_rec_30 atslab_0 ; } anairiats_sum_31 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_32 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_33 ; typedef struct { ats_ptr_type atslab_guad0ecl_loc ; ats_ptr_type atslab_guad0ecl_node ; } anairiats_rec_34 ; typedef struct { ats_ptr_type atslab_e0xp_loc ; ats_ptr_type atslab_e0xp_node ; } anairiats_rec_35 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_36 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_37 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_38 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_39 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_bool_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_40 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_41 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fn_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fnx_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_fun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfn_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_prfun_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_praxi_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__FK_castfn_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_pos_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_val_neg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__VK_prval_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FUN_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_VAL_80) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__P0RECi0de_adj_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYinf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpre_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__F0XTYpos_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTerror_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprerr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTprint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__E0XPACTassert_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Cone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ctwo_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__GD0Ccons_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfixity_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cnonfix_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymintr_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csymelim_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Coverload_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpdef_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpundef_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ce0xpact_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cpragma_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ccodegen_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatsrts_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csrtdefs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacsts_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstacons_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Ctkindef_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csexpdefs_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Csaspdec_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cexndecs_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdatdecs_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cclassdec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextype_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextvar_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cextcode_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdcstdecs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cimpdec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cmacdefs_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cfundecs_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvaldecs_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cvardecs_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cinclude_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaload_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadnm_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cstaloadloc_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Crequire_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cdynload_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Clocal_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__D0Cguadecl_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPint_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPintrep_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__E1XPstring_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__S1Elist_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_prec_tr_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_i0nclude_tr_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_s0taload_tr_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__T1E_d0ynload_tr_10) ; /* 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_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_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_int_type, atspre_int_of_llint) (ats_llint_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_none) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_llint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set_decl) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_set) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set) (ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_set) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int) (ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_inc) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_dec) (ats_int_type, ats_int_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_non) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_inf) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pre) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pos) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_get_prec) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_undef) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacst_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacon_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1kindef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1expdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1aspdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xndec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__m1acdef_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1aldec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__f1undec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1ardec_make) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1mpdec_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_list) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symintr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symelim) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_overload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpdef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpundef) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_pragma) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_codegen) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datsrts) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_srtdefs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacsts) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacons) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_tkindef) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_sexpdefs) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_saspdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_exndecs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datdecs) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_classdec) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dcstdecs) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype2) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extcode) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_macdefs) (ats_ptr_type, ats_int_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_impdec) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_fundecs) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_valdecs) (ats_ptr_type, ats_ptr_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_vardecs) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_include) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staload) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadnm) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dynload) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_local) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_finalize) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_assert) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_prerr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_print) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_error) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr) (ats_ptr_type) ; ATSextern_fun(anairiats_rec_1, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_fixity_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_nonfix_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atsrtdec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtdef_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacon_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0kindef_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0aspdec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__i0mparg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atcon_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atdec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xndec_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr) (ats_bool_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check) (ats_ptr_type, ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn) (ats_int_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_tr) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_localjoin) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_search) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_insert) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__i0nclude_tr) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, patsopt_string_suffix_is_dats) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__s0taload_tr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr_if) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__d0ynload_tr) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02915_ () ; static ats_int_type prec_make_err_1 () ; static ats_void_type prerr_error1_loc_02918_ (ats_ptr_type arg0) ; static ats_void_type prec_tr_errmsg_fxty_2 (ats_ptr_type arg0) ; static ats_void_type prec_tr_errmsg_adj_4 (ats_ptr_type arg0) ; static ats_int_type precfnd_6 (ats_ptr_type arg0) ; static ats_int_type p0rec_tr_5 (ats_ptr_type arg0) ; static ats_ptr_type f0xty_tr_7 (ats_ptr_type arg0) ; static ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type loop_11 (ats_ptr_type arg0) ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type token_get_dcstkind_23 (ats_ptr_type arg0) ; static ats_ptr_type m0acdef_tr_24 (ats_ptr_type arg0) ; static ats_ptr_type v0aldec_tr_25 (ats_ptr_type arg0) ; static ats_ptr_type f0undec_tr_26 (ats_bool_type arg0, ats_bool_type arg1, ats_ptr_type arg2) ; static ats_ptr_type f0undeclst_tr_27 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type v0ardec_tr_28 (ats_ptr_type arg0) ; static ats_ptr_type i0mpdec_tr_29 (ats_ptr_type arg0) ; static ats_void_type the_PKGRELOC_set_decl_30 (ats_ptr_type arg0) ; static ats_void_type the_PKGRELOC_set_decl_if_31 (ats_ptr_type arg0) ; static ats_ptr_type ats_filename_get_33 () ; static ats_void_type prerr_warning1_loc_02924_ (ats_ptr_type arg0) ; static ats_ptr_type ats_packname_get_34 () ; static ats_ptr_type ats_packname_get2_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type auxload_37 (ats_ptr_type arg0, ats_ref_type arg1) ; static ats_ptr_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type guad0ecl_tr_42 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_int_type intrep2int_47 (ats_ptr_type arg0) ; static ats_void_type aux_dynloadflag_48 () ; static ats_void_type aux_dynloadname_49 () ; static ats_void_type aux_mainatsflag_50 () ; static ats_void_type aux_static_prefix_51 () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 2552(line=96, offs=28) -- 2581(line=96, offs=57) */ ATSstaticdec() ats_void_type prerr_FILENAME_02915_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02915_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_decl")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02915_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 3013(line=124, offs=4) -- 3049(line=124, offs=40) */ ATSstaticdec() ats_int_type prec_make_err_1 () { /* local vardec */ ATSlocal (ats_int_type, tmp1) ; __ats_lab_prec_make_err_1: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int (0) ; return (tmp1) ; } /* end of [prec_make_err_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1977(line=66, offs=18) -- 2036(line=68, offs=2) */ ATSstaticdec() ats_void_type prerr_error1_loc_02918_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; // ATSlocal_void (tmp5) ; __ats_lab_prerr_error1_loc_02918_: /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp4 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ; return /* (tmp4) */ ; } /* end of [prerr_error1_loc_02918_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 3054(line=126, offs=4) -- 3293(line=133, offs=4) */ ATSstaticdec() ats_void_type prec_tr_errmsg_fxty_2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; // ATSlocal_void (tmp3) ; ATSlocal (ats_ptr_type, tmp6) ; // ATSlocal_void (tmp7) ; // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; // ATSlocal_void (tmp10) ; // ATSlocal_void (tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab_prec_tr_errmsg_fxty_2: tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i0de_loc) ; /* tmp3 = */ prerr_error1_loc_02918_ (tmp6) ; /* tmp7 = */ atspre_prerr_string (ATSstrcst(": the operator [")) ; tmp9 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i0de_sym) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__prerr_symbol (tmp9) ; /* tmp10 = */ atspre_prerr_string (ATSstrcst("] is given no fixity")) ; /* tmp11 = */ atspre_prerr_newline () ; tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp12)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, arg0) ; /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp12) ; return /* (tmp2) */ ; } /* end of [prec_tr_errmsg_fxty_2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 3330(line=135, offs=4) -- 3575(line=142, offs=4) */ ATSstaticdec() ats_void_type prec_tr_errmsg_adj_4 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp13) ; // ATSlocal_void (tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab_prec_tr_errmsg_adj_4: tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i0de_loc) ; /* tmp14 = */ prerr_error1_loc_02918_ (tmp15) ; /* tmp16 = */ atspre_prerr_string (ATSstrcst(": the operator for adjusting precedence can only be [+] or [-].")) ; /* tmp17 = */ atspre_prerr_newline () ; tmp18 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp18)->tag = 0 ; ats_selptrset_mac(anairiats_sum_3, tmp18, atslab_0, arg0) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp18) ; return /* (tmp13) */ ; } /* end of [prec_tr_errmsg_adj_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 3655(line=147, offs=7) -- 4352(line=170, offs=6) */ ATSstaticdec() ats_int_type precfnd_6 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_int_type, tmp25) ; // ATSlocal_void (tmp26) ; // ATSlocal_void (tmp27) ; __ats_lab_precfnd_6: tmp22 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_i0de_sym) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_find (tmp22) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (tmp21 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_0_1: tmp23 = ats_caselptrlab_mac(anairiats_sum_4, tmp21, atslab_0) ; ATS_FREE(tmp21) ; tmp24 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_get_prec (tmp23) ; do { /* branch: __ats_lab_1 */ __ats_lab_1_0: if (tmp24 == (ats_sum_ptr_type)0) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_5, tmp24, atslab_0) ; ATS_FREE(tmp24) ; tmp20 = tmp25 ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: // if (tmp24 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_2_1: /* tmp26 = */ prec_tr_errmsg_fxty_2 (arg0) ; tmp20 = prec_make_err_1 () ; break ; } while (0) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (tmp21 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: /* tmp27 = */ prec_tr_errmsg_fxty_2 (arg0) ; tmp20 = prec_make_err_1 () ; break ; } while (0) ; return (tmp20) ; } /* end of [precfnd_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 3611(line=144, offs=4) -- 4976(line=194, offs=4) */ ATSstaticdec() ats_int_type p0rec_tr_5 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_int_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_bool_type, tmp34) ; ATSlocal (ats_int_type, tmp35) ; ATSlocal (ats_bool_type, tmp36) ; ATSlocal (ats_int_type, tmp37) ; // ATSlocal_void (tmp38) ; __ats_lab_p0rec_tr_5: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp28 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__prec_make_int (tmp28) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp29 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp19 = precfnd_6 (tmp29) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_6_1: tmp30 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ; tmp31 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_2) ; tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp31), atslab_i0de_sym) ; do { /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp34 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp33, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ADD) ; if (!tmp34) { goto __ats_lab_8_1 ; } tmp35 = precfnd_6 (tmp30) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_inc (tmp35, tmp32) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp33, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_SUB) ; if (!tmp36) { goto __ats_lab_9_1 ; } tmp37 = precfnd_6 (tmp30) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__precedence_dec (tmp37, tmp32) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: /* tmp38 = */ prec_tr_errmsg_adj_4 (tmp31) ; tmp19 = prec_make_err_1 () ; break ; } while (0) ; break ; } while (0) ; return (tmp19) ; } /* end of [p0rec_tr_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 5002(line=196, offs=4) -- 5265(line=202, offs=61) */ ATSstaticdec() ats_ptr_type f0xty_tr_7 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_int_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_int_type, tmp46) ; __ats_lab_f0xty_tr_7: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp40 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_0) ; tmp41 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ; tmp42 = p0rec_tr_5 (tmp40) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_inf (tmp42, tmp41) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp43 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp44 = p0rec_tr_5 (tmp43) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pre (tmp44) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: // if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_12_1: tmp45 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp46 = p0rec_tr_5 (tmp45) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_pos (tmp46) ; break ; } while (0) ; return (tmp39) ; } /* end of [f0xty_tr_7] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 5364(line=210, offs=5) -- 6048(line=237, offs=22) */ ATSstaticdec() ats_void_type loop_9 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; // ATSlocal_void (tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; __ats_lab_loop_9: do { /* branch: __ats_lab_13 */ __ats_lab_13_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp49 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp50 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp49), atslab_i0de_sym) ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add (tmp52, arg0) ; arg0 = arg0 ; arg1 = tmp50 ; goto __ats_lab_loop_9 ; // tail call break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_14_1: break ; } while (0) ; return /* (tmp48) */ ; } /* end of [loop_9] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 5338(line=208, offs=17) -- 6101(line=241, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_fixity_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_fixity_tr: tmp53 = f0xty_tr_7 (arg0) ; /* tmp47 = */ loop_9 (tmp53, arg1) ; return /* (tmp47) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_fixity_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 6175(line=245, offs=7) -- 6359(line=249, offs=24) */ ATSstaticdec() ats_void_type loop_11 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; // ATSlocal_void (tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; __ats_lab_loop_11: do { /* branch: __ats_lab_15 */ __ats_lab_15_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp56 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp57 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp59 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp56), atslab_i0de_sym) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_fxtyenv_add (tmp59, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__fxty_non) ; arg0 = tmp57 ; goto __ats_lab_loop_11 ; // tail call break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: break ; } while (0) ; return /* (tmp55) */ ; } /* end of [loop_11] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 6157(line=244, offs=17) -- 6419(line=253, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_nonfix_tr (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_nonfix_tr: /* tmp54 = */ loop_11 (arg0) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_nonfix_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 6514(line=260, offs=12) -- 6715(line=266, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacst_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacst_tr: tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp63 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0tacst_arg) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr (tmp63) ; tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0tacst_res) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rt_tr (tmp65) ; tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0tacst_loc) ; tmp67 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_s0tacst_sym) ; tmp60 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacst_make (tmp66, tmp61, tmp67, tmp62, tmp64) ; return (tmp60) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacst_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 6782(line=271, offs=12) -- 6991(line=277, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacon_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacon_tr: tmp69 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp71 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s0tacon_arg) ; tmp70 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr (tmp71) ; tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s0tacon_def) ; tmp72 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp73) ; tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s0tacon_loc) ; tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_s0tacon_sym) ; tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1tacon_make (tmp74, tmp69, tmp75, tmp70, tmp72) ; return (tmp68) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacon_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 7266(line=296, offs=12) -- 7490(line=305, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtdef_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtdef_tr: tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0rtdef_def) ; tmp77 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtext_tr (tmp78) ; tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0rtdef_loc) ; tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, arg0), atslab_s0rtdef_sym) ; tmp76 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1rtdef_make (tmp79, tmp80, tmp77) ; return (tmp76) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtdef_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 7558(line=310, offs=13) -- 7737(line=317, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0kindef_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0kindef_tr: tmp82 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t0kindef_loc) ; tmp83 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t0kindef_sym) ; tmp84 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t0kindef_loc_id) ; tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_t0kindef_def) ; tmp85 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp86) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__t1kindef_make (tmp82, tmp83, tmp84, tmp85) ; return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0kindef_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 7806(line=322, offs=13) -- 8183(line=336, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr: tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_loc) ; tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_sym) ; tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_loc_id) ; tmp92 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_arg) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr (tmp92) ; tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_res) ; tmp93 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr (tmp94) ; tmp96 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg0), atslab_s0expdef_def) ; tmp95 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp96) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1expdef_make (tmp88, tmp89, tmp90, tmp91, tmp93, tmp95) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 8252(line=341, offs=13) -- 8472(line=349, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0aspdec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0aspdec_tr: tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s0aspdec_arg) ; tmp98 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0marglst_tr (tmp99) ; tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s0aspdec_res) ; tmp100 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtopt_tr (tmp101) ; tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s0aspdec_def) ; tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp103) ; tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s0aspdec_loc) ; tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_s0aspdec_qid) ; tmp97 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__s1aspdec_make (tmp104, tmp105, tmp98, tmp100, tmp102) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0aspdec_tr] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; __ats_lab_loop_21: do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp113 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ; tmp114 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ; tmp115 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp113, arg3) ; tmp116 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp116, atslab_0, tmp115) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp116 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp117 = &ats_caselptrlab_mac(anairiats_sum_9, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp114 ; arg1 = arg1 ; arg2 = tmp117 ; arg3 = arg3 ; goto __ats_lab_loop_21 ; // tail call break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_18_1: tmp118 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp118 ; break ; } while (0) ; return /* (tmp112) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp119) ; // ATSlocal_void (tmp120) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp119 ; */ /* tmp120 = */ loop_21 (arg0, arg1, (&tmp119), arg2) ; tmp111 = tmp119 ; return (tmp111) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp110) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp110 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp110) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 8540(line=354, offs=12) -- 8760(line=361, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atdec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atdec_tr: tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d0atdec_arg) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__a0msrtlst_tr (tmp108) ; tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d0atdec_con) ; tmp109 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp121, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atcon_tr) ; tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d0atdec_loc) ; tmp123 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d0atdec_fil) ; tmp124 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg0), atslab_d0atdec_sym) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__d1atdec_make (tmp122, tmp123, tmp124, tmp107, ats_castfn_mac(ats_ptr_type, tmp109)) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atdec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 8827(line=366, offs=12) -- 9339(line=383, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xndec_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_int_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_int_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xndec_tr: tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_e0xndec_qua) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr (tmp126) ; /* ats_int_type tmp128 ; */ tmp128 = -1 ; tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_e0xndec_arg) ; do { /* branch: __ats_lab_19 */ __ats_lab_19_0: if (tmp130 == (ats_sum_ptr_type)0) { goto __ats_lab_22_0 ; } __ats_lab_19_1: tmp131 = ats_caselptrlab_mac(anairiats_sum_4, tmp130, atslab_0) ; tmp132 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp131) ; tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_18, tmp132), atslab_s1exp_node) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (((ats_sum_ptr_type)tmp133)->tag != 13) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_19, tmp133, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_19, tmp133, atslab_1) ; tmp128 = tmp134 ; tmp129 = tmp135 ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp136 = (ats_sum_ptr_type)0 ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp129, atslab_0, tmp132) ; ats_selptrset_mac(anairiats_sum_9, tmp129, atslab_1, tmp136) ; break ; } while (0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: // if (tmp130 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_22_1: tmp129 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_e0xndec_loc) ; tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_e0xndec_fil) ; tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_17, arg0), atslab_e0xndec_sym) ; tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xndec_make (tmp137, tmp138, tmp139, tmp127, tmp128, tmp129) ; return (tmp125) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xndec_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 9389(line=387, offs=5) -- 10009(line=422, offs=4) */ ATSstaticdec() ats_ptr_type token_get_dcstkind_23 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; // ATSlocal_void (tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; __ats_lab_token_get_dcstkind_23: tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_20, arg0), atslab_token_node) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (((ats_sum_ptr_type)tmp141)->tag != 52) { goto __ats_lab_31_0 ; } __ats_lab_23_1: tmp142 = ats_caselptrlab_mac(anairiats_sum_3, tmp141, atslab_0) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp142)->tag != 0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp142)->tag != 2) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: if (((ats_sum_ptr_type)tmp142)->tag != 1) { goto __ats_lab_27_0 ; } __ats_lab_26_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp142)->tag != 3) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp142)->tag != 4) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprfun_3) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp142)->tag != 5) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKpraxi_2) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (((ats_sum_ptr_type)tmp142)->tag != 6) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKcastfn_5) ; break ; } while (0) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp141)->tag != 80) { goto __ats_lab_36_0 ; } __ats_lab_31_1: tmp143 = ats_caselptrlab_mac(anairiats_sum_3, tmp141, atslab_0) ; do { /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp143)->tag != 0) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp143)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKprval_4) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp143)->tag != 1) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (((ats_sum_ptr_type)tmp143)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKval_1) ; break ; } while (0) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: tmp145 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 9952(line=419, offs=14) -- 9968(line=419, offs=30)", ATSstrcst("\n")) ; /* tmp144 = */ atspre_assert_errmsg (ats_false_bool, tmp145) ; tmp140 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__DCKfun_0) ; break ; } while (0) ; return (tmp140) ; } /* end of [token_get_dcstkind_23] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 10066(line=426, offs=4) -- 10280(line=434, offs=4) */ ATSstaticdec() ats_ptr_type m0acdef_tr_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; __ats_lab_m0acdef_tr_24: tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_m0acdef_loc) ; tmp148 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_m0acdef_sym) ; tmp150 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_m0acdef_arg) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__m0acarglst_tr (tmp150) ; tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg0), atslab_m0acdef_def) ; tmp151 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp152) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__m1acdef_make (tmp147, tmp148, tmp149, tmp151) ; return (tmp146) ; } /* end of [m0acdef_tr_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 10329(line=438, offs=4) -- 10637(line=450, offs=4) */ ATSstaticdec() ats_ptr_type v0aldec_tr_25 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; __ats_lab_v0aldec_tr_25: tmp155 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_v0aldec_pat) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__p0at_tr (tmp155) ; tmp157 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_v0aldec_def) ; tmp156 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp157) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_v0aldec_ann) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr (tmp159) ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_22, arg0), atslab_v0aldec_loc) ; tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1aldec_make (tmp160, tmp154, tmp156, tmp158) ; return (tmp153) ; } /* end of [v0aldec_tr_25] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 10686(line=454, offs=4) -- 11686(line=501, offs=4) */ ATSstaticdec() ats_ptr_type f0undec_tr_26 (ats_bool_type arg0, ats_bool_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (anairiats_rec_24, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (anairiats_rec_1, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; ATSlocal (ats_int_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; // ATSlocal_void (tmp182) ; ATSlocal (ats_bool_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; __ats_lab_f0undec_tr_26: tmp162 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_loc) ; tmp163 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_eff) ; do { /* branch: __ats_lab_37 */ __ats_lab_37_0: if (tmp163 == (ats_sum_ptr_type)0) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp165 = ats_caselptrlab_mac(anairiats_sum_4, tmp163, atslab_0) ; tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0fftaglst_tr (tmp165) ; tmp167 = ats_select_mac(tmp166, atslab_0) ; tmp168 = ats_select_mac(tmp166, atslab_1) ; tmp169 = ats_select_mac(tmp166, atslab_2) ; tmp170 = ats_select_mac(tmp166, atslab_3) ; tmp171 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp171, atslab_0, tmp170) ; tmp164.atslab_0 = tmp167 ; tmp164.atslab_1 = tmp171 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: // if (tmp163 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_38_1: if (arg0) { tmp172 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTnil_1) ; } else { tmp172 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__EFFCSTall_0) ; } /* end of [if] */ tmp173 = (ats_sum_ptr_type)0 ; tmp174 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ats_selptrset_mac(anairiats_sum_4, tmp174, atslab_0, tmp172) ; tmp164.atslab_0 = tmp173 ; tmp164.atslab_1 = tmp174 ; break ; } while (0) ; tmp175 = ats_select_mac(tmp164, atslab_0) ; tmp176 = ats_select_mac(tmp164, atslab_1) ; tmp178 = (ats_sum_ptr_type)0 ; tmp179 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_arg) ; tmp180 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_res) ; tmp181 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_def) ; tmp177 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn (-1, tmp178, tmp175, 0, tmp179, tmp180, tmp176, tmp181) ; if (arg1) { tmp183 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1exp_is_metric (tmp177) ; /* tmp182 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__termet_check (tmp162, tmp183, tmp176) ; } else { /* empty */ } /* end of [if] */ tmp185 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_ann) ; tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__witht0ype_tr (tmp185) ; tmp186 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_sym) ; tmp187 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg2), atslab_f0undec_sym_loc) ; tmp161 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__f1undec_make (tmp162, tmp186, tmp187, tmp177, tmp184) ; return (tmp161) ; } /* end of [f0undec_tr_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 11736(line=506, offs=1) -- 12021(line=520, offs=4) */ ATSstaticdec() ats_ptr_type f0undeclst_tr_27 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_bool_type, tmp189) ; ATSlocal (ats_bool_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; __ats_lab_f0undeclst_tr_27: tmp189 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_proof (arg0) ; tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__funkind_is_recursive (arg0) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp188 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_40_1: tmp191 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_0) ; tmp192 = ats_caselptrlab_mac(anairiats_sum_9, arg1, atslab_1) ; tmp193 = f0undec_tr_26 (tmp189, tmp190, tmp191) ; tmp194 = f0undeclst_tr_27 (arg0, tmp192) ; tmp188 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp188, atslab_0, tmp193) ; ats_selptrset_mac(anairiats_sum_9, tmp188, atslab_1, tmp194) ; break ; } while (0) ; return (tmp188) ; } /* end of [f0undeclst_tr_27] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 12073(line=525, offs=1) -- 12418(line=541, offs=4) */ ATSstaticdec() ats_ptr_type v0ardec_tr_28 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_int_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; __ats_lab_v0ardec_tr_28: tmp196 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_loc) ; tmp197 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_knd) ; tmp198 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_pfat) ; tmp200 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_type) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp200) ; tmp202 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_init) ; tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0expopt_tr (tmp202) ; tmp203 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_sym) ; tmp204 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_v0ardec_sym_loc) ; tmp195 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__v1ardec_make (tmp196, tmp197, tmp203, tmp204, tmp198, tmp199, tmp201) ; return (tmp195) ; } /* end of [v0ardec_tr_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 12467(line=546, offs=1) -- 12909(line=563, offs=4) */ ATSstaticdec() ats_ptr_type i0mpdec_tr_29 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; __ats_lab_i0mpdec_tr_29: tmp206 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_loc) ; tmp207 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_qid) ; tmp209 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, tmp207), atslab_impqi0de_arg) ; tmp208 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp209, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0mpmarg_tr) ; tmp211 = (ats_sum_ptr_type)0 ; tmp212 = (ats_sum_ptr_type)0 ; tmp213 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_arg) ; tmp214 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_res) ; tmp215 = (ats_sum_ptr_type)0 ; tmp216 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_def) ; tmp210 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr_lams_dyn (-1, tmp211, tmp212, 0, tmp213, tmp214, tmp215, tmp216) ; tmp217 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_i0mpdec_loc) ; tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__i1mpdec_make (tmp217, tmp207, ats_castfn_mac(ats_ptr_type, tmp208), tmp210) ; return (tmp205) ; } /* end of [i0mpdec_tr_29] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 12961(line=568, offs=1) -- 13058(line=570, offs=52) */ ATSstaticdec() ats_void_type the_PKGRELOC_set_decl_30 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp218) ; __ats_lab_the_PKGRELOC_set_decl_30: /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_set_decl (ats_castfn_mac(ats_ptr_type, arg0)) ; return /* (tmp218) */ ; } /* end of [the_PKGRELOC_set_decl_30] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 13066(line=573, offs=1) -- 13229(line=580, offs=2) */ ATSstaticdec() ats_void_type the_PKGRELOC_set_decl_if_31 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp219) ; ATSlocal (ats_int_type, tmp220) ; ATSlocal (ats_bool_type, tmp221) ; __ats_lab_the_PKGRELOC_set_decl_if_31: tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () ; tmp221 = atspre_gt_int_int (tmp220, 0) ; if (tmp221) { /* tmp219 = */ the_PKGRELOC_set_decl_30 (arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp219) */ ; } /* end of [the_PKGRELOC_set_decl_if_31] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 13409(line=592, offs=3) -- 14918(line=652, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__i0nclude_tr (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; // ATSlocal_void (tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; ATSlocal (ats_int_type, tmp228) ; // ATSlocal_void (tmp229) ; ATSlocal (ats_bool_type, tmp230) ; // ATSlocal_void (tmp231) ; // ATSlocal_void (tmp232) ; // ATSlocal_void (tmp233) ; // ATSlocal_void (tmp234) ; // ATSlocal_void (tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_bool_type, tmp238) ; ATSlocal (ats_bool_type, tmp239) ; // ATSlocal_void (tmp240) ; // ATSlocal_void (tmp241) ; // ATSlocal_void (tmp242) ; // ATSlocal_void (tmp243) ; // ATSlocal_void (tmp244) ; // ATSlocal_void (tmp245) ; // ATSlocal_void (tmp246) ; // ATSlocal_void (tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; // ATSlocal_void (tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__i0nclude_tr: tmp223 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; /* tmp224 = */ the_PKGRELOC_set_decl_if_31 (arg0) ; tmp225 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative (arg2) ; do { /* branch: __ats_lab_41 */ __ats_lab_41_0: if (tmp225 == (ats_sum_ptr_type)0) { goto __ats_lab_42_0 ; } __ats_lab_41_1: tmp227 = ats_caselptrlab_mac(anairiats_sum_4, tmp225, atslab_0) ; ATS_FREE(tmp225) ; tmp226 = tmp227 ; break ; /* branch: __ats_lab_42 */ __ats_lab_42_0: // if (tmp225 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_42_1: tmp228 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () ; tmp230 = atspre_eq_int_int (tmp228, 0) ; if (tmp230) { /* tmp231 = */ prerr_error1_loc_02918_ (tmp223) ; /* tmp232 = */ atspre_prerr_string (ATSstrcst(": the file [")) ; /* tmp233 = */ atspre_prerr_string (arg2) ; /* tmp234 = */ atspre_prerr_string (ATSstrcst("] is not available for inclusion.")) ; /* tmp235 = */ atspre_prerr_newline () ; tmp236 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp236)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp236, atslab_0, arg0) ; /* tmp229 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp236) ; } else { /* empty */ } /* end of [if] */ tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; break ; } while (0) ; tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2 (arg1, tmp226) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check (tmp226) ; tmp239 = ats_selsin_mac(tmp238, atslab_1) ; if (tmp239) { /* tmp241 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp223) ; /* tmp242 = */ atspre_prerr_string (ATSstrcst(": error(0)")) ; /* tmp243 = */ atspre_prerr_string (ATSstrcst(": including the file [")) ; /* tmp244 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full (tmp226) ; /* tmp245 = */ atspre_prerr_string (ATSstrcst("] generates the following looping trace:\n")) ; /* tmp246 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst (stderr) ; tmp248 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp248)->tag = 8 ; ats_selptrset_mac(anairiats_sum_3, tmp248, atslab_0, arg0) ; /* tmp247 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp248) ; /* tmp240 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ /* tmp249 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp237) ; return (tmp222) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__i0nclude_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 14969(line=657, offs=1) -- 15140(line=665, offs=4) */ ATSstaticdec() ats_ptr_type ats_filename_get_33 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab_ats_filename_get_33: tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_current () ; tmp252 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (tmp251) ; tmp250 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp252) ; return (tmp250) ; } /* end of [ats_filename_get_33] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2745(line=105, offs=20) -- 2806(line=108, offs=2) */ ATSstaticdec() ats_void_type prerr_warning1_loc_02924_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp259) ; // ATSlocal_void (tmp260) ; __ats_lab_prerr_warning1_loc_02924_: /* tmp260 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp259 = */ atspre_prerr_string (ATSstrcst(": warning(1)")) ; return /* (tmp259) */ ; } /* end of [prerr_warning1_loc_02924_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 15196(line=670, offs=1) -- 15668(line=690, offs=4) */ ATSstaticdec() ats_ptr_type ats_packname_get_34 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; // ATSlocal_void (tmp258) ; ATSlocal (ats_ptr_type, tmp261) ; // ATSlocal_void (tmp262) ; // ATSlocal_void (tmp263) ; __ats_lab_ats_packname_get_34: tmp254 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp254 == (ats_sum_ptr_type)0) { goto __ats_lab_46_0 ; } __ats_lab_43_1: tmp255 = ats_caselptrlab_mac(anairiats_sum_4, tmp254, atslab_0) ; ATS_FREE(tmp254) ; tmp256 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp255), atslab_e1xp_node) ; do { /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp256)->tag != 5) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp257 = ats_caselptrlab_mac(anairiats_sum_3, tmp256, atslab_0) ; tmp253 = ats_castfn_mac(ats_ptr_type, tmp257) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp261 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp255), atslab_e1xp_loc) ; /* tmp258 = */ prerr_warning1_loc_02924_ (tmp261) ; /* tmp262 = */ atspre_prerr_string (ATSstrcst(": a string definition is required for [ATS_PACKNAME].")) ; /* tmp263 = */ atspre_prerr_newline () ; tmp253 = atspre_stropt_none ; break ; } while (0) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: // if (tmp254 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_46_1: tmp253 = atspre_stropt_none ; break ; } while (0) ; return (tmp253) ; } /* end of [ats_packname_get_34] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 15724(line=695, offs=1) -- 16535(line=730, offs=4) */ ATSstaticdec() ats_ptr_type ats_packname_get2_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_bool_type, tmp266) ; ATSlocal (ats_bool_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab_ats_packname_get2_36: tmp265 = ats_packname_get_34 () ; tmp266 = atspre_stropt_is_some (tmp265) ; if (tmp266) { tmp264 = tmp265 ; } else { tmp267 = atspre_stropt_is_some (arg0) ; if (tmp267) { tmp268 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg1) ; tmp269 = atspre_tostringf (ATSstrcst("%s%s"), ats_castfn_mac(ats_ptr_type, arg0), tmp268) ; tmp264 = ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp269)) ; } else { tmp270 = ats_filename_get_33 () ; tmp271 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (arg1) ; tmp272 = atspre_tostringf (ATSstrcst("%s%s"), tmp270, tmp271) ; tmp264 = ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, tmp272)) ; } /* end of [if] */ } /* end of [if] */ return (tmp264) ; } /* end of [ats_packname_get2_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 17224(line=767, offs=5) -- 18334(line=820, offs=4) */ ATSstaticdec() ats_ptr_type auxload_37 (ats_ptr_type arg0, ats_ref_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; ATSlocal (ats_bool_type, tmp275) ; ATSlocal (ats_int_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; // ATSlocal_void (tmp280) ; // ATSlocal_void (tmp281) ; ATSlocal (ats_ptr_type, tmp282) ; // ATSlocal_void (tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; ATSlocal (ats_ptr_type, tmp286) ; // ATSlocal_void (tmp287) ; // ATSlocal_void (tmp288) ; __ats_lab_auxload_37: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_partname (arg0) ; tmp275 = patsopt_string_suffix_is_dats (tmp274) ; if (tmp275) { tmp276 = 1 ; } else { tmp276 = 0 ; } /* end of [if] */ tmp277 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel2 (tmp276, arg0) ; /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save () ; /* tmp279 = ats_selsin_mac(tmp278, atslab_1) */ ; /* tmp280 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (arg0) ; /* tmp281 = ats_selsin_mac(tmp280, atslab_1) */ ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp277) ; /* tmp283 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; tmp284 = ats_packname_get_34 () ; tmp285 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname (tmp284) ; tmp286 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp286, atslab_0, tmp285) ; ats_selptrset_mac(anairiats_sum_9, tmp286, atslab_1, tmp282) ; /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore () ; /* tmp288 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_insert (arg0, ats_ptrget_mac(ats_int_type, arg1), tmp286) ; tmp273 = tmp286 ; return (tmp273) ; } /* end of [auxload_37] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 18402(line=826, offs=1) -- 20115(line=896, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__s0taload_tr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; // ATSlocal_void (tmp291) ; ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_int_type, tmp295) ; // ATSlocal_void (tmp296) ; ATSlocal (ats_bool_type, tmp297) ; // ATSlocal_void (tmp298) ; // ATSlocal_void (tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; ATSlocal (ats_bool_type, tmp304) ; ATSlocal (ats_bool_type, tmp305) ; // ATSlocal_void (tmp306) ; // ATSlocal_void (tmp307) ; // ATSlocal_void (tmp308) ; // ATSlocal_void (tmp309) ; // ATSlocal_void (tmp310) ; // ATSlocal_void (tmp311) ; // ATSlocal_void (tmp312) ; // ATSlocal_void (tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; // ATSlocal_void (tmp315) ; ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (anairiats_rec_30, tmp317) ; ATSlocal (ats_int_type, tmp318) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__s0taload_tr: tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; ats_ptrget_mac(ats_int_type, arg3) = 0 ; /* tmp291 = */ the_PKGRELOC_set_decl_if_31 (arg0) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative (arg2) ; do { /* branch: __ats_lab_47 */ __ats_lab_47_0: if (tmp292 == (ats_sum_ptr_type)0) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp294 = ats_caselptrlab_mac(anairiats_sum_4, tmp292, atslab_0) ; ATS_FREE(tmp292) ; tmp293 = tmp294 ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (tmp292 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp295 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () ; tmp297 = atspre_eq_int_int (tmp295, 0) ; if (tmp297) { /* tmp298 = */ prerr_error1_loc_02918_ (tmp290) ; /* tmp299 = */ atspre_prerr_string (ATSstrcst(": the file [")) ; /* tmp300 = */ atspre_prerr_string (arg2) ; /* tmp301 = */ atspre_prerr_string (ATSstrcst("] is not available for staloading.")) ; /* tmp302 = */ atspre_prerr_newline () ; tmp303 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp303)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp303, atslab_0, arg0) ; /* tmp296 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp303) ; } else { /* empty */ } /* end of [if] */ tmp293 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; break ; } while (0) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push_check (tmp293) ; tmp305 = ats_selsin_mac(tmp304, atslab_1) ; if (tmp305) { /* tmp307 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (tmp290) ; /* tmp308 = */ atspre_prerr_string (ATSstrcst(": error(0)")) ; /* tmp309 = */ atspre_prerr_string (ATSstrcst(": staloading the file [")) ; /* tmp310 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__prerr_filename_full (tmp293) ; /* tmp311 = */ atspre_prerr_string (ATSstrcst("] generates the following looping trace:\n")) ; /* tmp312 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_the_filenamelst (stderr) ; tmp314 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp314)->tag = 9 ; ats_selptrset_mac(anairiats_sum_3, tmp314, atslab_0, arg0) ; /* tmp313 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp314) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; } else { /* empty */ } /* end of [if] */ /* tmp315 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; ats_ptrget_mac(ats_ptr_type, arg4) = tmp293 ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload_file_search (tmp293) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (tmp316 == (ats_sum_ptr_type)0) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp317 = ats_caselptrlab_mac(anairiats_sum_31, tmp316, atslab_0) ; ATS_FREE(tmp316) ; tmp318 = ats_select_mac(tmp317, atslab_0) ; ats_ptrget_mac(ats_int_type, arg3) = tmp318 ; tmp289 = ats_select_mac(tmp317, atslab_1) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: // if (tmp316 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_50_1: tmp289 = auxload_37 (tmp293, arg3) ; break ; } while (0) ; return (tmp289) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__s0taload_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 20392(line=913, offs=3) -- 20544(line=922, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp319) ; ATSlocal (ats_int_type, tmp320) ; ATSlocal (ats_bool_type, tmp321) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr: tmp320 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () ; tmp321 = atspre_gt_int_int (tmp320, 0) ; if (tmp321) { tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr_if (arg0, arg1) ; } else { tmp319 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; } /* end of [if] */ return (tmp319) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 20597(line=926, offs=3) -- 20833(line=938, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr_if (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp322) ; ATSlocal (ats_ptr_type, tmp323) ; // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_ptr_type, tmp326) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr_if: tmp323 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; /* tmp324 = */ the_PKGRELOC_set_decl_30 (arg0) ; tmp325 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative (arg1) ; do { /* branch: __ats_lab_51 */ __ats_lab_51_0: if (tmp325 == (ats_sum_ptr_type)0) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp326 = ats_caselptrlab_mac(anairiats_sum_4, tmp325, atslab_0) ; ATS_FREE(tmp325) ; tmp322 = tmp326 ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: // if (tmp325 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_52_1: tmp322 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; break ; } while (0) ; return (tmp322) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 20996(line=949, offs=3) -- 21687(line=978, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__d0ynload_tr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp327) ; ATSlocal (ats_ptr_type, tmp328) ; // ATSlocal_void (tmp329) ; ATSlocal (ats_ptr_type, tmp330) ; ATSlocal (ats_ptr_type, tmp331) ; ATSlocal (ats_int_type, tmp332) ; // ATSlocal_void (tmp333) ; ATSlocal (ats_bool_type, tmp334) ; // ATSlocal_void (tmp335) ; // ATSlocal_void (tmp336) ; // ATSlocal_void (tmp337) ; // ATSlocal_void (tmp338) ; // ATSlocal_void (tmp339) ; ATSlocal (ats_ptr_type, tmp340) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__d0ynload_tr: tmp328 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; /* tmp329 = */ the_PKGRELOC_set_decl_if_31 (arg0) ; tmp330 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_relative (arg1) ; do { /* branch: __ats_lab_53 */ __ats_lab_53_0: if (tmp330 == (ats_sum_ptr_type)0) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp331 = ats_caselptrlab_mac(anairiats_sum_4, tmp330, atslab_0) ; ATS_FREE(tmp330) ; tmp327 = tmp331 ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: // if (tmp330 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_54_1: tmp332 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_PKGRELOC_get () ; tmp334 = atspre_eq_int_int (tmp332, 0) ; if (tmp334) { /* tmp335 = */ prerr_error1_loc_02918_ (tmp328) ; /* tmp336 = */ atspre_prerr_string (ATSstrcst(": the file [")) ; /* tmp337 = */ atspre_prerr_string (arg1) ; /* tmp338 = */ atspre_prerr_string (ATSstrcst("] is not available for dynloading")) ; /* tmp339 = */ atspre_prerr_newline () ; tmp340 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp340)->tag = 10 ; ats_selptrset_mac(anairiats_sum_3, tmp340, atslab_0, arg0) ; /* tmp333 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_add (tmp340) ; } else { /* empty */ } /* end of [if] */ tmp327 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ; break ; } while (0) ; return (tmp327) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__d0ynload_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 21807(line=986, offs=7) -- 22621(line=1011, offs=10) */ ATSstaticdec() ats_ptr_type loop_43 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp342) ; ATSlocal (ats_ptr_type, tmp343) ; ATSlocal (ats_ptr_type, tmp344) ; ATSlocal (ats_ptr_type, tmp345) ; ATSlocal (ats_ptr_type, tmp346) ; ATSlocal (ats_bool_type, tmp347) ; ATSlocal (ats_ptr_type, tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_ptr_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_bool_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; ATSlocal (ats_ptr_type, tmp355) ; ATSlocal (ats_ptr_type, tmp356) ; ATSlocal (ats_ptr_type, tmp357) ; ATSlocal (ats_ptr_type, tmp358) ; ATSlocal (ats_ptr_type, tmp359) ; ATSlocal (ats_bool_type, tmp360) ; __ats_lab_loop_43: do { /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp343 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_0) ; tmp344 = ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_1) ; tmp346 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp343) ; tmp345 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if (arg0, tmp346) ; tmp347 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (tmp345) ; if (tmp347) { tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp344) ; } else { tmp342 = (ats_sum_ptr_type)0 ; } /* end of [if] */ break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp348 = ats_caselptrlab_mac(anairiats_sum_32, arg1, atslab_0) ; tmp349 = ats_caselptrlab_mac(anairiats_sum_32, arg1, atslab_1) ; tmp350 = ats_caselptrlab_mac(anairiats_sum_32, arg1, atslab_2) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp348) ; tmp351 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if (arg0, tmp352) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (tmp351) ; if (tmp353) { tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp349) ; } else { tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp350) ; } /* end of [if] */ break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_57_1: tmp354 = ats_caselptrlab_mac(anairiats_sum_33, arg1, atslab_0) ; tmp355 = ats_caselptrlab_mac(anairiats_sum_33, arg1, atslab_1) ; tmp356 = ats_caselptrlab_mac(anairiats_sum_33, arg1, atslab_2) ; tmp357 = ats_caselptrlab_mac(anairiats_sum_33, arg1, atslab_3) ; tmp359 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp354) ; tmp358 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize_if (arg0, tmp359) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__v1al_is_true (tmp358) ; if (tmp360) { tmp342 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp355) ; } else { arg0 = tmp356 ; arg1 = tmp357 ; goto __ats_lab_loop_43 ; // tail call } /* end of [if] */ break ; } while (0) ; return (tmp342) ; } /* end of [loop_43] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 21737(line=982, offs=4) -- 22699(line=1015, offs=4) */ ATSstaticdec() ats_ptr_type guad0ecl_tr_42 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp341) ; ATSlocal (ats_ptr_type, tmp361) ; __ats_lab_guad0ecl_tr_42: tmp361 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_34, arg1), atslab_guad0ecl_node) ; tmp341 = loop_43 (arg0, tmp361) ; return (tmp341) ; } /* end of [guad0ecl_tr_42] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 22765(line=1020, offs=10) -- 30639(line=1328, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp362) ; ATSlocal (ats_ptr_type, tmp363) ; ATSlocal (ats_ptr_type, tmp364) ; ATSlocal (ats_ptr_type, tmp365) ; ATSlocal (ats_ptr_type, tmp366) ; // ATSlocal_void (tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; // ATSlocal_void (tmp369) ; ATSlocal (ats_ptr_type, tmp370) ; ATSlocal (ats_ptr_type, tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; ATSlocal (ats_ptr_type, tmp373) ; ATSlocal (ats_int_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; ATSlocal (ats_ptr_type, tmp377) ; ATSlocal (ats_ptr_type, tmp378) ; // ATSlocal_void (tmp379) ; ATSlocal (ats_ptr_type, tmp380) ; ATSlocal (ats_ptr_type, tmp381) ; // ATSlocal_void (tmp382) ; ATSlocal (ats_ptr_type, tmp383) ; ATSlocal (ats_ptr_type, tmp384) ; ATSlocal (ats_ptr_type, tmp385) ; ATSlocal (ats_ptr_type, tmp386) ; // ATSlocal_void (tmp387) ; ATSlocal (ats_ptr_type, tmp388) ; ATSlocal (ats_ptr_type, tmp389) ; ATSlocal (ats_ptr_type, tmp390) ; ATSlocal (ats_ptr_type, tmp391) ; ATSlocal (ats_int_type, tmp392) ; ATSlocal (ats_ptr_type, tmp393) ; ATSlocal (ats_ptr_type, tmp394) ; ATSlocal (ats_ptr_type, tmp395) ; ATSlocal (ats_ptr_type, tmp396) ; ATSlocal (ats_ptr_type, tmp397) ; ATSlocal (ats_ptr_type, tmp398) ; ATSlocal (ats_ptr_type, tmp399) ; ATSlocal (ats_ptr_type, tmp400) ; ATSlocal (ats_int_type, tmp401) ; ATSlocal (ats_ptr_type, tmp402) ; ATSlocal (ats_ptr_type, tmp403) ; ATSlocal (ats_ptr_type, tmp404) ; ATSlocal (ats_ptr_type, tmp405) ; ATSlocal (ats_int_type, tmp406) ; ATSlocal (ats_ptr_type, tmp407) ; ATSlocal (ats_ptr_type, tmp408) ; ATSlocal (ats_ptr_type, tmp409) ; ATSlocal (ats_ptr_type, tmp410) ; ATSlocal (ats_ptr_type, tmp411) ; ATSlocal (ats_ptr_type, tmp412) ; ATSlocal (ats_int_type, tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; ATSlocal (ats_ptr_type, tmp416) ; ATSlocal (ats_ptr_type, tmp417) ; ATSlocal (ats_ptr_type, tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; ATSlocal (ats_ptr_type, tmp420) ; ATSlocal (ats_ptr_type, tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; ATSlocal (ats_ptr_type, tmp423) ; ATSlocal (ats_int_type, tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_int_type, tmp431) ; ATSlocal (ats_int_type, tmp432) ; ATSlocal (ats_ptr_type, tmp433) ; ATSlocal (ats_int_type, tmp434) ; ATSlocal (ats_ptr_type, tmp435) ; ATSlocal (ats_ptr_type, tmp436) ; ATSlocal (ats_ptr_type, tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; ATSlocal (ats_bool_type, tmp439) ; ATSlocal (ats_bool_type, tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_int_type, tmp443) ; ATSlocal (ats_bool_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; ATSlocal (ats_ptr_type, tmp449) ; ATSlocal (ats_ptr_type, tmp450) ; ATSlocal (ats_ptr_type, tmp451) ; ATSlocal (ats_ptr_type, tmp452) ; ATSlocal (ats_bool_type, tmp453) ; ATSlocal (ats_ptr_type, tmp454) ; ATSlocal (ats_ptr_type, tmp455) ; ATSlocal (ats_int_type, tmp456) ; ATSlocal (ats_ptr_type, tmp457) ; ATSlocal (ats_ptr_type, tmp458) ; ATSlocal (ats_int_type, tmp459) ; ATSlocal (ats_ptr_type, tmp460) ; ATSlocal (ats_ptr_type, tmp461) ; ATSlocal (ats_ptr_type, tmp462) ; ATSlocal (ats_ptr_type, tmp463) ; ATSlocal (ats_ptr_type, tmp464) ; ATSlocal (ats_int_type, tmp465) ; ATSlocal (ats_ptr_type, tmp466) ; // ATSlocal_void (tmp467) ; // ATSlocal_void (tmp468) ; ATSlocal (ats_ptr_type, tmp469) ; // ATSlocal_void (tmp470) ; ATSlocal (ats_ptr_type, tmp471) ; ATSlocal (ats_ptr_type, tmp472) ; ATSlocal (ats_ptr_type, tmp473) ; ATSlocal (ats_int_type, tmp474) ; ATSlocal (ats_ptr_type, tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; ATSlocal (ats_ptr_type, tmp478) ; // ATSlocal_void (tmp479) ; ATSlocal (ats_ptr_type, tmp480) ; ATSlocal (ats_ptr_type, tmp481) ; ATSlocal (ats_ptr_type, tmp482) ; ATSlocal (ats_ptr_type, tmp483) ; ATSlocal (ats_ptr_type, tmp484) ; ATSlocal (ats_ptr_type, tmp485) ; // ATSlocal_void (tmp486) ; // ATSlocal_void (tmp487) ; ATSlocal (ats_ptr_type, tmp488) ; ATSlocal (ats_ptr_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; ATSlocal (ats_ptr_type, tmp491) ; // ATSlocal_void (tmp492) ; ATSlocal (ats_ptr_type, tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; ATSlocal (ats_ptr_type, tmp495) ; ATSlocal (ats_ptr_type, tmp496) ; // ATSlocal_void (tmp497) ; // ATSlocal_void (tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; // ATSlocal_void (tmp500) ; ATSlocal (ats_ptr_type, tmp501) ; ATSlocal (ats_ptr_type, tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; ATSlocal (ats_ptr_type, tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; ATSlocal (ats_ptr_type, tmp508) ; // ATSlocal_void (tmp509) ; ATSlocal (ats_ptr_type, tmp510) ; ATSlocal (ats_ptr_type, tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; ATSlocal (ats_ptr_type, tmp513) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_tr: tmp363 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; tmp364 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_node) ; do { /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp364)->tag != 0) { goto __ats_lab_59_0 ; } __ats_lab_58_1: tmp365 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp366 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; /* tmp367 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_fixity_tr (tmp365, tmp366) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none (tmp363) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp364)->tag != 1) { goto __ats_lab_60_0 ; } __ats_lab_59_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_nonfix_tr (tmp368) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none (tmp363) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp364)->tag != 2) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp370 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symintr (tmp363, tmp370) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp364)->tag != 3) { goto __ats_lab_62_0 ; } __ats_lab_61_1: tmp371 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_symelim (tmp363, tmp371) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp364)->tag != 4) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp372 = ats_caselptrlab_mac(anairiats_sum_7, tmp364, atslab_0) ; tmp373 = ats_caselptrlab_mac(anairiats_sum_7, tmp364, atslab_1) ; tmp374 = ats_caselptrlab_mac(anairiats_sum_7, tmp364, atslab_2) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_overload (tmp363, tmp372, tmp373, tmp374) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp364)->tag != 5) { goto __ats_lab_66_0 ; } __ats_lab_63_1: tmp375 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp376 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; do { /* branch: __ats_lab_64 */ __ats_lab_64_0: if (tmp376 == (ats_sum_ptr_type)0) { goto __ats_lab_65_0 ; } __ats_lab_64_1: tmp378 = ats_caselptrlab_mac(anairiats_sum_4, tmp376, atslab_0) ; tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp378) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: // if (tmp376 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_65_1: tmp377 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_none (tmp363) ; break ; } while (0) ; /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add (tmp375, tmp377) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpdef (tmp363, tmp375, tmp377) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp364)->tag != 6) { goto __ats_lab_67_0 ; } __ats_lab_66_1: tmp380 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp381 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__e1xp_undef (tmp363) ; /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_add (tmp380, tmp381) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_e1xpundef (tmp363, tmp380, tmp381) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp364)->tag != 7) { goto __ats_lab_72_0 ; } __ats_lab_67_1: tmp383 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp384 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp385 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xp_tr (tmp384) ; tmp386 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__e1xp_valize (tmp385) ; do { /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp383)->tag != 0) { goto __ats_lab_69_0 ; } __ats_lab_68_1: tmp388 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, tmp384), atslab_e0xp_loc) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_error (tmp388, tmp386) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp383)->tag != 1) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_prerr (tmp386) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp383)->tag != 2) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_print (tmp386) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: // if (((ats_sum_ptr_type)tmp383)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_71_1: tmp389 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_35, tmp384), atslab_e0xp_loc) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__do_e0xpact_assert (tmp389, tmp386) ; break ; } while (0) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none (tmp363) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp364)->tag != 8) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp390 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp391 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr (tmp390) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_pragma (tmp363, tmp391) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp364)->tag != 9) { goto __ats_lab_74_0 ; } __ats_lab_73_1: tmp392 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_0) ; tmp393 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_1) ; tmp394 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xplst_tr (tmp393) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_codegen (tmp363, tmp392, tmp394) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: if (((ats_sum_ptr_type)tmp364)->tag != 10) { goto __ats_lab_75_0 ; } __ats_lab_74_1: tmp395 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp396 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp395, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atsrtdec_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datsrts (tmp363, ats_castfn_mac(ats_ptr_type, tmp396)) ; break ; /* branch: __ats_lab_75 */ __ats_lab_75_0: if (((ats_sum_ptr_type)tmp364)->tag != 11) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp397 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp398 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp397, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0rtdef_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_srtdefs (tmp363, ats_castfn_mac(ats_ptr_type, tmp398)) ; break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (((ats_sum_ptr_type)tmp364)->tag != 12) { goto __ats_lab_77_0 ; } __ats_lab_76_1: tmp399 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp400 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp399, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacst_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacsts (tmp363, ats_castfn_mac(ats_ptr_type, tmp400)) ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: if (((ats_sum_ptr_type)tmp364)->tag != 13) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp401 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_0) ; tmp402 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_1) ; tmp403 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp402, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0tacon_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_stacons (tmp363, tmp401, ats_castfn_mac(ats_ptr_type, tmp403)) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: if (((ats_sum_ptr_type)tmp364)->tag != 14) { goto __ats_lab_79_0 ; } __ats_lab_78_1: tmp404 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp405 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__t0kindef_tr (tmp404) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_tkindef (tmp363, tmp405) ; break ; /* branch: __ats_lab_79 */ __ats_lab_79_0: if (((ats_sum_ptr_type)tmp364)->tag != 15) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp406 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_0) ; tmp407 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_1) ; tmp408 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp407, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_sexpdefs (tmp363, tmp406, ats_castfn_mac(ats_ptr_type, tmp408)) ; break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: if (((ats_sum_ptr_type)tmp364)->tag != 16) { goto __ats_lab_81_0 ; } __ats_lab_80_1: tmp409 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp410 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0aspdec_tr (tmp409) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_saspdec (tmp363, tmp410) ; break ; /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp364)->tag != 17) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp411 = ats_caselptrlab_mac(anairiats_sum_3, tmp364, atslab_0) ; tmp412 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp411, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__e0xndec_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_exndecs (tmp363, ats_castfn_mac(ats_ptr_type, tmp412)) ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: if (((ats_sum_ptr_type)tmp364)->tag != 18) { goto __ats_lab_83_0 ; } __ats_lab_82_1: tmp413 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_0) ; tmp414 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_1) ; tmp415 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_2) ; tmp416 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp414, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0atdec_tr) ; tmp417 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp415, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expdef_tr) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_datdecs (tmp363, tmp413, ats_castfn_mac(ats_ptr_type, tmp416), ats_castfn_mac(ats_ptr_type, tmp417)) ; break ; /* branch: __ats_lab_83 */ __ats_lab_83_0: if (((ats_sum_ptr_type)tmp364)->tag != 19) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp418 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp419 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp420 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0expopt_tr (tmp419) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_classdec (tmp363, tmp418, tmp420) ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: if (((ats_sum_ptr_type)tmp364)->tag != 20) { goto __ats_lab_85_0 ; } __ats_lab_84_1: tmp421 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp422 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp423 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp422) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype (tmp363, tmp421, tmp423) ; break ; /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp364)->tag != 21) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp424 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_0) ; tmp425 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_1) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_2) ; tmp427 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__s0exp_tr (tmp426) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extype2 (tmp363, tmp424, tmp425, tmp427) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: if (((ats_sum_ptr_type)tmp364)->tag != 22) { goto __ats_lab_87_0 ; } __ats_lab_86_1: tmp428 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp429 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp430 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0exp_tr (tmp429) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extvar (tmp363, tmp428, tmp430) ; break ; /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp364)->tag != 23) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp431 = ats_caselptrlab_mac(anairiats_sum_37, tmp364, atslab_0) ; tmp432 = ats_caselptrlab_mac(anairiats_sum_37, tmp364, atslab_1) ; tmp433 = ats_caselptrlab_mac(anairiats_sum_37, tmp364, atslab_2) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_extcode (tmp363, tmp431, tmp432, tmp433) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: if (((ats_sum_ptr_type)tmp364)->tag != 24) { goto __ats_lab_89_0 ; } __ats_lab_88_1: tmp434 = ats_caselptrlab_mac(anairiats_sum_38, tmp364, atslab_0) ; tmp435 = ats_caselptrlab_mac(anairiats_sum_38, tmp364, atslab_1) ; tmp436 = ats_caselptrlab_mac(anairiats_sum_38, tmp364, atslab_2) ; tmp437 = ats_caselptrlab_mac(anairiats_sum_38, tmp364, atslab_3) ; tmp438 = token_get_dcstkind_23 (tmp435) ; tmp439 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_fun (tmp438) ; tmp440 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__dcstkind_is_proof (tmp438) ; tmp441 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr (tmp436) ; tmp442 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0cstdeclst_tr (tmp439, tmp440, tmp437) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dcstdecs (tmp363, tmp434, tmp438, tmp441, tmp442) ; break ; /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp364)->tag != 26) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp443 = ats_caselptrlab_mac(anairiats_sum_39, tmp364, atslab_0) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_39, tmp364, atslab_1) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_39, tmp364, atslab_2) ; tmp446 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp445, &m0acdef_tr_24) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_macdefs (tmp363, tmp443, tmp444, ats_castfn_mac(ats_ptr_type, tmp446)) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp364)->tag != 27) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp447 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_0) ; tmp448 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_1) ; tmp449 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_2) ; tmp450 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__q0marglst_tr (tmp448) ; tmp451 = f0undeclst_tr_27 (tmp447, tmp449) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_fundecs (tmp363, tmp447, tmp450, tmp451) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp364)->tag != 28) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp452 = ats_caselptrlab_mac(anairiats_sum_40, tmp364, atslab_0) ; tmp453 = ats_caselptrlab_mac(anairiats_sum_40, tmp364, atslab_1) ; tmp454 = ats_caselptrlab_mac(anairiats_sum_40, tmp364, atslab_2) ; tmp455 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp454, &v0aldec_tr_25) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_valdecs (tmp363, tmp452, tmp453, ats_castfn_mac(ats_ptr_type, tmp455)) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp364)->tag != 29) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp456 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_0) ; tmp457 = ats_caselptrlab_mac(anairiats_sum_19, tmp364, atslab_1) ; tmp458 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp457, &v0ardec_tr_28) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_vardecs (tmp363, tmp456, ats_castfn_mac(ats_ptr_type, tmp458)) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp364)->tag != 25) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp459 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_0) ; tmp460 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_1) ; tmp461 = ats_caselptrlab_mac(anairiats_sum_36, tmp364, atslab_2) ; tmp462 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__i0mparg_tr (tmp460) ; tmp463 = i0mpdec_tr_29 (tmp461) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_impdec (tmp363, tmp459, tmp462, tmp463) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp364)->tag != 30) { goto __ats_lab_95_0 ; } __ats_lab_94_1: tmp464 = ats_caselptrlab_mac(anairiats_sum_41, tmp364, atslab_0) ; tmp465 = ats_caselptrlab_mac(anairiats_sum_41, tmp364, atslab_1) ; tmp466 = ats_caselptrlab_mac(anairiats_sum_41, tmp364, atslab_2) ; /* tmp467 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (tmp464) ; /* tmp468 = ats_selsin_mac(tmp467, atslab_1) */ ; tmp469 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__i0nclude_tr (arg0, tmp465, tmp466) ; /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_include (tmp363, tmp465, tmp469) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp364)->tag != 31) { goto __ats_lab_96_0 ; } __ats_lab_95_1: tmp471 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_0) ; tmp472 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_1) ; tmp473 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_2) ; /* ats_int_type tmp474 ; */ /* ats_ptr_type tmp475 ; */ /* tmp476 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (tmp471) ; /* tmp477 = ats_selsin_mac(tmp476, atslab_1) */ ; tmp478 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__s0taload_tr (arg0, tmp472, tmp473, (&tmp474), (&tmp475)) ; /* tmp479 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staload (tmp363, tmp472, tmp475, tmp474, tmp478) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp364)->tag != 32) { goto __ats_lab_97_0 ; } __ats_lab_96_1: tmp480 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_1) ; tmp481 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_2) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadnm (tmp363, tmp480, tmp481) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp364)->tag != 33) { goto __ats_lab_98_0 ; } __ats_lab_97_1: tmp482 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_0) ; tmp483 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_1) ; tmp484 = ats_caselptrlab_mac(anairiats_sum_32, tmp364, atslab_2) ; tmp485 = ats_packname_get_34 () ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_save () ; /* tmp487 = ats_selsin_mac(tmp486, atslab_1) */ ; tmp488 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp484) ; tmp489 = ats_packname_get2_36 (tmp485, tmp483) ; tmp490 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname (tmp489) ; tmp491 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp491, atslab_0, tmp490) ; ats_selptrset_mac(anairiats_sum_9, tmp491, atslab_1, tmp488) ; /* tmp492 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_restore () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_staloadloc (tmp363, tmp482, tmp483, tmp491) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp364)->tag != 34) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp493 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp494 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__r0equire_tr (arg0, tmp493) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_none (tmp363) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp364)->tag != 35) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp495 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp496 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; /* tmp497 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_push (tmp495) ; /* tmp498 = ats_selsin_mac(tmp497, atslab_1) */ ; tmp499 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__d0ynload_tr (arg0, tmp496) ; /* tmp500 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_pop () ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_dynload (tmp363, tmp499) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp364)->tag != 36) { goto __ats_lab_101_0 ; } __ats_lab_100_1: tmp501 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp502 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; /* tmp503 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; /* tmp504 = ats_selsin_mac(tmp503, atslab_1) */ ; tmp505 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp501) ; /* tmp506 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_push () ; /* tmp507 = ats_selsin_mac(tmp506, atslab_1) */ ; tmp508 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (tmp502) ; /* tmp509 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_trans1_env_localjoin () ; tmp510 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_28, arg0), atslab_d0ecl_loc) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_local (tmp510, tmp505, tmp508) ; break ; /* branch: __ats_lab_101 */ __ats_lab_101_0: // if (((ats_sum_ptr_type)tmp364)->tag != 37) { ats_deadcode_failure_handle () ; } __ats_lab_101_1: tmp511 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_0) ; tmp512 = ats_caselptrlab_mac(anairiats_sum_8, tmp364, atslab_1) ; tmp513 = guad0ecl_tr_42 (tmp511, tmp512) ; tmp362 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_list (tmp363, tmp513) ; break ; } while (0) ; return (tmp362) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 30684(line=1331, offs=13) -- 30741(line=1332, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp514) ; ATSlocal (ats_ptr_type, tmp515) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr: tmp515 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0ecl_tr) ; tmp514 = ats_castfn_mac(ats_ptr_type, tmp515) ; return (tmp514) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 30819(line=1339, offs=3) -- 31264(line=1367, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp516) ; ATSlocal (ats_ptr_type, tmp517) ; ATSlocal (ats_ptr_type, tmp518) ; ATSlocal (ats_bool_type, tmp519) ; ATSlocal (ats_ptr_type, tmp520) ; ATSlocal (ats_ptr_type, tmp521) ; // ATSlocal_void (tmp522) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck: tmp517 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr (arg0) ; tmp518 = ats_packname_get_34 () ; tmp519 = atspre_stropt_is_none (tmp518) ; if (tmp519) { tmp520 = tmp517 ; } else { tmp521 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__d1ecl_packname (tmp518) ; tmp520 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ats_selptrset_mac(anairiats_sum_9, tmp520, atslab_0, tmp521) ; ats_selptrset_mac(anairiats_sum_9, tmp520, atslab_1, tmp517) ; } /* end of [if] */ /* tmp522 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__the_trans1errlst_finalize () ; tmp516 = tmp520 ; return (tmp516) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__d0eclist_tr_errck] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 31328(line=1374, offs=1) -- 31431(line=1379, offs=4) */ ATSstaticdec() ats_int_type intrep2int_47 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_int_type, tmp523) ; ATSlocal (ats_llint_type, tmp524) ; __ats_lab_intrep2int_47: tmp524 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__llint_make_string (arg0) ; tmp523 = atspre_int_of_llint (tmp524) ; return (tmp523) ; } /* end of [intrep2int_47] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 31460(line=1382, offs=1) -- 32123(line=1407, offs=4) */ ATSstaticdec() ats_void_type aux_dynloadflag_48 () { /* local vardec */ // ATSlocal_void (tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; ATSlocal (ats_ptr_type, tmp527) ; ATSlocal (ats_ptr_type, tmp528) ; ATSlocal (ats_int_type, tmp529) ; ATSlocal (ats_ptr_type, tmp530) ; ATSlocal (ats_int_type, tmp531) ; // ATSlocal_void (tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; __ats_lab_aux_dynloadflag_48: tmp526 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG) ; do { /* branch: __ats_lab_102 */ __ats_lab_102_0: if (tmp526 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; } __ats_lab_102_1: tmp527 = ats_caselptrlab_mac(anairiats_sum_4, tmp526, atslab_0) ; ATS_FREE(tmp526) ; tmp528 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp527), atslab_e1xp_node) ; do { /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp528)->tag != 1) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp529 = ats_caselptrlab_mac(anairiats_sum_6, tmp528, atslab_0) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set (tmp529) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp528)->tag != 2) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp530 = ats_caselptrlab_mac(anairiats_sum_3, tmp528, atslab_0) ; tmp531 = intrep2int_47 (tmp530) ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADFLAG_set (tmp531) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: __ats_lab_105_1: tmp533 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp527), atslab_e1xp_loc) ; /* tmp532 = */ prerr_error1_loc_02918_ (tmp533) ; /* tmp534 = */ atspre_prerr_string (ATSstrcst(": non-integer definition for [ATS_DYNLOADFLAG].")) ; /* tmp535 = */ atspre_prerr_newline () ; /* tmp525 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: // if (tmp526 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_106_1: break ; } while (0) ; return /* (tmp525) */ ; } /* end of [aux_dynloadflag_48] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 32157(line=1410, offs=1) -- 32751(line=1433, offs=4) */ ATSstaticdec() ats_void_type aux_dynloadname_49 () { /* local vardec */ // ATSlocal_void (tmp536) ; ATSlocal (ats_ptr_type, tmp537) ; ATSlocal (ats_ptr_type, tmp538) ; ATSlocal (ats_ptr_type, tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; // ATSlocal_void (tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; // ATSlocal_void (tmp543) ; // ATSlocal_void (tmp544) ; __ats_lab_aux_dynloadname_49: tmp537 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME) ; do { /* branch: __ats_lab_107 */ __ats_lab_107_0: if (tmp537 == (ats_sum_ptr_type)0) { goto __ats_lab_110_0 ; } __ats_lab_107_1: tmp538 = ats_caselptrlab_mac(anairiats_sum_4, tmp537, atslab_0) ; ATS_FREE(tmp537) ; tmp539 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp538), atslab_e1xp_node) ; do { /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp539)->tag != 5) { goto __ats_lab_109_0 ; } __ats_lab_108_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_3, tmp539, atslab_0) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DYNLOADNAME_set (tmp540) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: __ats_lab_109_1: tmp542 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp538), atslab_e1xp_loc) ; /* tmp541 = */ prerr_error1_loc_02918_ (tmp542) ; /* tmp543 = */ atspre_prerr_string (ATSstrcst(": non-string definition for [ATS_DYNLOADNAME].")) ; /* tmp544 = */ atspre_prerr_newline () ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: // if (tmp537 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_110_1: break ; } while (0) ; return /* (tmp536) */ ; } /* end of [aux_dynloadname_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 32785(line=1436, offs=1) -- 33452(line=1461, offs=4) */ ATSstaticdec() ats_void_type aux_mainatsflag_50 () { /* local vardec */ // ATSlocal_void (tmp545) ; ATSlocal (ats_ptr_type, tmp546) ; ATSlocal (ats_ptr_type, tmp547) ; ATSlocal (ats_ptr_type, tmp548) ; ATSlocal (ats_int_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; ATSlocal (ats_int_type, tmp551) ; // ATSlocal_void (tmp552) ; ATSlocal (ats_ptr_type, tmp553) ; // ATSlocal_void (tmp554) ; // ATSlocal_void (tmp555) ; __ats_lab_aux_mainatsflag_50: tmp546 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG) ; do { /* branch: __ats_lab_111 */ __ats_lab_111_0: if (tmp546 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; } __ats_lab_111_1: tmp547 = ats_caselptrlab_mac(anairiats_sum_4, tmp546, atslab_0) ; ATS_FREE(tmp546) ; tmp548 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp547), atslab_e1xp_node) ; do { /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp548)->tag != 1) { goto __ats_lab_113_0 ; } __ats_lab_112_1: tmp549 = ats_caselptrlab_mac(anairiats_sum_6, tmp548, atslab_0) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set (tmp549) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp548)->tag != 2) { goto __ats_lab_114_0 ; } __ats_lab_113_1: tmp550 = ats_caselptrlab_mac(anairiats_sum_3, tmp548, atslab_0) ; tmp551 = intrep2int_47 (tmp550) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_MAINATSFLAG_set (tmp551) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: __ats_lab_114_1: tmp553 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp547), atslab_e1xp_loc) ; /* tmp552 = */ prerr_error1_loc_02918_ (tmp553) ; /* tmp554 = */ atspre_prerr_string (ATSstrcst(": non-integer definition for [ATS_MAINATSFLAG].")) ; /* tmp555 = */ atspre_prerr_newline () ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: // if (tmp546 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_115_1: break ; } while (0) ; return /* (tmp545) */ ; } /* end of [aux_mainatsflag_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 33486(line=1464, offs=1) -- 34092(line=1487, offs=4) */ ATSstaticdec() ats_void_type aux_static_prefix_51 () { /* local vardec */ // ATSlocal_void (tmp556) ; ATSlocal (ats_ptr_type, tmp557) ; ATSlocal (ats_ptr_type, tmp558) ; ATSlocal (ats_ptr_type, tmp559) ; ATSlocal (ats_ptr_type, tmp560) ; // ATSlocal_void (tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; // ATSlocal_void (tmp563) ; // ATSlocal_void (tmp564) ; __ats_lab_aux_static_prefix_51: tmp557 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__the_e1xpenv_find (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX) ; do { /* branch: __ats_lab_116 */ __ats_lab_116_0: if (tmp557 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; } __ats_lab_116_1: tmp558 = ats_caselptrlab_mac(anairiats_sum_4, tmp557, atslab_0) ; ATS_FREE(tmp557) ; tmp559 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp558), atslab_e1xp_node) ; do { /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp559)->tag != 5) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp560 = ats_caselptrlab_mac(anairiats_sum_3, tmp559, atslab_0) ; /* tmp556 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_set (tmp560) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: __ats_lab_118_1: tmp562 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_29, tmp558), atslab_e1xp_loc) ; /* tmp561 = */ prerr_error1_loc_02918_ (tmp562) ; /* tmp563 = */ atspre_prerr_string (ATSstrcst(": non-string definition for [ATS_STATIC_PREFIX].")) ; /* tmp564 = */ atspre_prerr_newline () ; /* tmp556 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () ; break ; } while (0) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: // if (tmp557 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_119_1: break ; } while (0) ; return /* (tmp556) */ ; } /* end of [aux_static_prefix_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans1_decl.dats: 34174(line=1492, offs=17) -- 34353(line=1502, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__trans1_finalize () { /* local vardec */ // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__trans1_finalize: /* tmp566 = */ aux_dynloadflag_48 () ; /* tmp567 = */ aux_dynloadname_49 () ; /* tmp568 = */ aux_mainatsflag_50 () ; /* tmp569 = */ aux_static_prefix_51 () ; /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppop () ; return /* (tmp565) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__trans1_finalize] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_parsing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_fixity_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_env_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_e1xpval_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans1_decl_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 () ; #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 */ ats_bool_type patsopt_extnam_ismac ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; /* sgn = strncmp ((char*)ext, "#", 1) ; if (sgn) sgn = strncmp ((char*)ext, "mac#", 4) ; */ sgn = strncmp ((char*)ext, "mac#", 4) ; // if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_ismac] ats_bool_type patsopt_extnam_issta ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; sgn = strncmp ((char*)ext, "sta#", 4) ; if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_issta] ats_bool_type patsopt_extnam_isext ( ats_ptr_type ext, ats_ptr_type ext_new ) { int sgn ; char* p ; int len ; sgn = strncmp ((char*)ext, "ext#", 4) ; if (sgn == 0) { p = strchr ((char*)ext, '#') ; len = strlen (p) ; *(char**)ext_new = (char*)atspre_string_make_substring(p, 1, len-1) ; return ats_true_bool ; } // end of [if] return ats_false_bool ; } // end of [patsopt_extnam_isext] /* ****** ****** */ /* end of [pats_trans1_decl_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_emit_dats.c0000664000175000017500000105473212655455557020734 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "libc/CATS/time.cats" #include "libc/sys/CATS/types.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_rec_0 ; typedef struct { ats_ptr_type atslab_hisexp_name ; ats_ptr_type atslab_hisexp_node ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_4 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_5 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_7 ; typedef struct { ats_ptr_type atslab_primval_loc ; ats_ptr_type atslab_primval_type ; ats_ptr_type atslab_primval_node ; } anairiats_rec_8 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_9 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_10 ; typedef struct { int tag ; ats_double_type atslab_0 ; } anairiats_sum_11 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_14 ; typedef struct { ats_ptr_type atslab_primlab_loc ; ats_ptr_type atslab_primlab_node ; } anairiats_rec_15 ; typedef struct { ats_ptr_type atslab_instr_loc ; ats_ptr_type atslab_instr_node ; } anairiats_rec_16 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; ats_ptr_type atslab_5 ; ats_ptr_type atslab_6 ; ats_ptr_type atslab_7 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; } anairiats_sum_18 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_19 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_20 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_21 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_22 ; typedef struct { anairiats_rec_22 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_23 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; ats_ptr_type atslab_4 ; } anairiats_sum_24 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_25 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eint_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eintinf_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyarr_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrec_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__HSEtysum_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMLind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtmpref_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVarg_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargref_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVargenv_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcst_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVenv_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVint_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVintrep_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVbool_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVchar_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfloat_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVstring_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVi0nt_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVf0loat_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVsizeof_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcstsp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVtop_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVempty_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVextval_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcastfn_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselcon_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselect2_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVselptr_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrof_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVptrofsel_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVrefarg_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVfunlab_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVcfunlab_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVlamfix_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__PMVerror_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfunlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmplab_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScomment_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_val_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_val_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfcall2_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextfcall_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextmcall_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScond_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSfreecon_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSloopexn_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INScaseof_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpop_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSletpush_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_con_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpatck_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSraise_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_delay_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStrywith_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSclosure_initize_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INStmpdec_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSextvar_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__INSdcstdef_42) ; /* 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_void_type, atspre_fprint_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isalnum) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_none) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_fil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_pack) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_pack) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_singular) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_linear) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_fil) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_pack) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp) (ats_ptr_type) ; ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_int_t0ype) () ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_boxknd) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyarr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__labhisexp_get_elt) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_suffix) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_is_envful) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primlab) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_top) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_instr) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funent_varbindmap_find) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_intinf) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_bool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_float) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVintrep) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool) (ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat) (ats_ptr_type, ats_double_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_stamp) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_symbol) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_atslabel) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primcstsp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2env) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_sizeof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize) (ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primlab) (ats_ptr_type, ats_int_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extfcall) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extmcall) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_patck) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atslib_tm_get_min) (ats_ref_type) ; ATSextern_fun(ats_int_type, atslib_tm_get_hour) (ats_ref_type) ; ATSextern_fun(ats_int_type, atslib_tm_get_mday) (ats_ref_type) ; ATSextern_fun(ats_int_type, atslib_tm_get_mon) (ats_ref_type) ; ATSextern_fun(ats_int_type, atslib_tm_get_year) (ats_ref_type) ; ATSextern_fun(ats_time_type, atslib_time_get) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_arrdim) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_arg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argenv) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_env) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_castfn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selcon) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selptr) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_refarg) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_funlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_err) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_con) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_raise) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_pmove_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc) (ats_ptr_type, ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02185_ () ; static ats_void_type auxch_14 (ats_ptr_type arg0, ats_char_type arg1) ; static ats_void_type auxch2_15 (ats_ptr_type arg0, ats_char_type arg1) ; static ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ; static ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) ; static ats_void_type auxstr_18 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_28 (ats_ptr_type arg0, ats_char_type arg1) ; static ats_void_type aux_prfx_36 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type aux_prfx_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ; static ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) ; static ats_void_type emit_tmp_49 (ats_ptr_type arg0) ; static ats_void_type emit_statmp_50 (ats_ptr_type arg0) ; static ats_void_type auxtmp_51 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type auxmain_53 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_errccomp_loc_02193_ (ats_ptr_type arg0) ; static ats_void_type aux_57 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxlst_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type loop_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_int_type auxlst_73 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ; static ats_bool_type testselptr0_79 (ats_ptr_type arg0) ; static ats_void_type auxmain_83 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_void_type prerr_interror_loc_02187_ (ats_ptr_type arg0) ; static ats_void_type loop_94 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ; static ats_void_type auxcon0_96 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxtag_97 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxarg_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type auxcon1_99 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type auxexn0_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_void_type auxexn1_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ; static ats_void_type loop_104 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ; static ats_clo_ptr_type loop_104_closure_make (ats_ptr_type env0) ; static ats_void_type loop_104_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ; static ats_void_type auxsel_105 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type auxfnd_107 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_void_type prerr_interror_02186_ () ; static ats_ptr_type auxsel_108 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type loop_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxselist_110 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ; static ats_void_type auxmain_112 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp142) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 1936(line=73, offs=18) -- 1964(line=73, offs=46) */ ATSstaticdec() ats_void_type prerr_FILENAME_02185_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02185_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_emit")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02185_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 2888(line=131, offs=3) -- 2925(line=131, offs=40) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text: /* tmp1 = */ atspre_fprint_string (arg0, arg1) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 2992(line=137, offs=13) -- 3020(line=137, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN: /* tmp2 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3043(line=139, offs=13) -- 3071(line=139, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN: /* tmp3 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; return /* (tmp3) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3117(line=144, offs=14) -- 3144(line=144, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline: /* tmp4 = */ atspre_fprint_newline (arg0) ; return /* (tmp4) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3194(line=150, offs=3) -- 3238(line=150, offs=47) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp5) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location: /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, arg1) ; return /* (tmp5) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3306(line=156, offs=10) -- 3336(line=156, offs=40) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int: /* tmp6 = */ atspre_fprint_int (arg0, arg1) ; return /* (tmp6) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3359(line=158, offs=13) -- 3400(line=158, offs=54) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_intinf (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_intinf: /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__fprint_intinf (arg0, arg1) ; return /* (tmp7) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_intinf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3426(line=160, offs=16) -- 3510(line=162, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint: /* tmp9 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVint(")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, arg1) ; /* tmp8 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3566(line=164, offs=19) -- 3654(line=166, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVintrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVintrep: /* tmp12 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVintrep(")) ; /* tmp13 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg1) ; /* tmp11 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp11) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVintrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3727(line=171, offs=11) -- 3758(line=171, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_bool (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ // ATSlocal_void (tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_bool: /* tmp14 = */ atspre_fprint_bool (arg0, arg1) ; return /* (tmp14) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3787(line=174, offs=3) -- 3877(line=176, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; // ATSlocal_void (tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool: /* tmp16 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVbool_")) ; /* tmp17 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_bool (arg0, arg1) ; /* tmp15 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()")) ; return /* (tmp15) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 3949(line=181, offs=12) -- 3988(line=181, offs=51) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_float (ats_ptr_type arg0, ats_double_type arg1) { /* local vardec */ // ATSlocal_void (tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_float: /* tmp18 = */ atspre_fprintf_exn (arg0, ATSstrcst("%.18f"), arg1) ; return /* (tmp18) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 4018(line=184, offs=3) -- 4109(line=186, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (ats_ptr_type arg0, ats_double_type arg1) { /* local vardec */ // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat: /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfloat(")) ; /* tmp21 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_float (arg0, arg1) ; /* tmp19 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; return /* (tmp19) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 4172(line=192, offs=5) -- 4610(line=212, offs=4) */ ATSstaticdec() ats_void_type auxch_14 (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp22) ; ATSlocal (ats_bool_type, tmp23) ; __ats_lab_auxch_14: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 != '\'') { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\'")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (arg1 != '\n') { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\n")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg1 != '\t') { goto __ats_lab_3_0 ; } __ats_lab_2_1: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\t")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (arg1 != '\\') { goto __ats_lab_4_0 ; } __ats_lab_3_1: /* tmp22 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\\")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp23 = atspre_char_isprint (arg1) ; if (tmp23) { /* tmp22 = */ atspre_fprint_char (arg0, arg1) ; } else { /* tmp22 = */ atspre_fprintf_exn (arg0, ATSstrcst("\\%.3o"), ats_castfn_mac(ats_uint_type, ats_castfn_mac(ats_uchar_type, arg1))) ; } /* end of [if] */ break ; } while (0) ; return /* (tmp22) */ ; } /* end of [auxch_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 4634(line=214, offs=5) -- 5096(line=235, offs=4) */ ATSstaticdec() ats_void_type auxch2_15 (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_bool_type, tmp25) ; __ats_lab_auxch2_15: do { /* branch: __ats_lab_5 */ __ats_lab_5_0: if (arg1 != '"') { goto __ats_lab_6_0 ; } __ats_lab_5_1: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\"")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (arg1 != '\n') { goto __ats_lab_7_0 ; } __ats_lab_6_1: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\n")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (arg1 != '\t') { goto __ats_lab_8_0 ; } __ats_lab_7_1: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\t")) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg1 != '\\') { goto __ats_lab_9_0 ; } __ats_lab_8_1: /* tmp24 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\\")) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp25 = atspre_char_isprint (arg1) ; if (tmp25) { /* tmp24 = */ atspre_fprint_char (arg0, arg1) ; } else { /* tmp24 = */ atspre_fprintf_exn (arg0, ATSstrcst("\\%.3o"), ats_castfn_mac(ats_uint_type, ats_castfn_mac(ats_uchar_type, arg1))) ; } /* end of [if] */ break ; } while (0) ; return /* (tmp24) */ ; } /* end of [auxch2_15] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 5161(line=240, offs=11) -- 5186(line=240, offs=36) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_char: /* tmp26 = */ auxch_14 (arg0, arg1) ; return /* (tmp26) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_char] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2) */ ATSstaticdec() ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp33) ; __ats_lab_ptr0_get_01759_ats_char_type: tmp33 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ; return (tmp33) ; } /* end of [ptr0_get_01759_ats_char_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41) */ ATSstaticdec() ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_char_type, tmp32) ; __ats_lab_ptrget_01763_ats_char_type: tmp32 = ptr0_get_01759_ats_char_type (arg0) ; return (tmp32) ; } /* end of [ptrget_01763_ats_char_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 5236(line=246, offs=5) -- 5520(line=261, offs=4) */ ATSstaticdec() ats_void_type auxstr_18 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp28) ; ATSlocal (ats_bool_type, tmp29) ; // ATSlocal_void (tmp30) ; ATSlocal (ats_char_type, tmp31) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; __ats_lab_auxstr_18: tmp29 = atspre_string_isnot_empty (arg1) ; if (tmp29) { tmp31 = ptrget_01763_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp30 = */ auxch2_15 (arg0, tmp31) ; tmp34 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), 1) ; tmp35 = ats_castfn_mac(ats_ptr_type, tmp34) ; arg0 = arg0 ; arg1 = tmp35 ; goto __ats_lab_auxstr_18 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp28) */ ; } /* end of [auxstr_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 5212(line=244, offs=3) -- 5592(line=267, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_string: /* tmp27 = */ auxstr_18 (arg0, arg1) ; return /* (tmp27) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 5688(line=274, offs=17) -- 5808(line=278, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp36) ; // ATSlocal_void (tmp37) ; // ATSlocal_void (tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar: /* tmp37 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVchar('")) ; /* tmp38 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_char (arg0, arg1) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("')")) ; return /* (tmp36) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 5866(line=281, offs=19) -- 5996(line=285, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp39) ; // ATSlocal_void (tmp40) ; // ATSlocal_void (tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring: /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVstring(\"")) ; /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_string (arg0, arg1) ; /* tmp39 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; return /* (tmp39) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 6077(line=291, offs=3) -- 6222(line=300, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt: /* tmp43 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVi0nt(")) ; /* tmp44 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_i0nt (arg0, arg1) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 6282(line=304, offs=3) -- 6431(line=313, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat: /* tmp46 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVf0loat(")) ; /* tmp47 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__fprint_f0loat (arg0, arg1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp45) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 6507(line=319, offs=3) -- 6545(line=319, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_stamp (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_stamp: /* tmp48 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, arg1) ; return /* (tmp48) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 6615(line=326, offs=3) -- 6653(line=326, offs=41) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_symbol (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_symbol: /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, arg1) ; return /* (tmp49) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_symbol] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 6816(line=340, offs=17) -- 7749(line=376, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_time_stamp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_time_type, tmp51) ; ATSlocal (ats_time_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; // ATSlocal_void (tmp55) ; // ATSlocal_void (tmp56) ; // ATSlocal_void (tmp57) ; // ATSlocal_void (tmp58) ; // ATSlocal_void (tmp59) ; ATSlocal (ats_bool_type, tmp60) ; ATSlocal (ats_int_type, tmp61) ; ATSlocal (ats_int_type, tmp62) ; ATSlocal (ats_int_type, tmp63) ; ATSlocal (ats_int_type, tmp64) ; ATSlocal (ats_int_type, tmp65) ; ATSlocal (ats_int_type, tmp66) ; ATSlocal (ats_int_type, tmp67) ; // ATSlocal_void (tmp68) ; // ATSlocal_void (tmp69) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_time_stamp: /* ats_time_type tmp51 ; */ tmp52 = atslib_time_get () ; tmp51 = tmp52 ; tmp53 = atslib_localtime ((&tmp51)) ; tmp54 = ats_selsin_mac(tmp53, atslab_1) ; /* tmp55 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp56 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("**\n")) ; /* tmp57 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** The C code is generated by ATS/Postiats\n")) ; /* tmp58 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** The starting compilation time is: ")) ; tmp60 = atspre_pgt (tmp54, atspre_null_ptr) ; if (tmp60) { tmp61 = atslib_tm_get_min (tmp54) ; tmp62 = atslib_tm_get_hour (tmp54) ; tmp63 = atslib_tm_get_mday (tmp54) ; tmp65 = atslib_tm_get_mon (tmp54) ; tmp64 = atspre_add_int_int (1, tmp65) ; tmp67 = atslib_tm_get_year (tmp54) ; tmp66 = atspre_add_int_int (1900, tmp67) ; /* tmp59 = */ atspre_fprintf_exn (arg0, ATSstrcst("%i-%i-%i: %2ih:%2im\n"), tmp66, tmp64, tmp63, tmp62, tmp61) ; } else { /* tmp59 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("**UNKNOWN**\n")) ; } /* end of [if] */ /* tmp68 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("**\n")) ; /* tmp69 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp50 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_time_stamp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 7834(line=384, offs=5) -- 8139(line=402, offs=4) */ ATSstaticdec() ats_void_type aux_28 (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_bool_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_bool_type, tmp73) ; __ats_lab_aux_28: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: __ats_lab_10_1: tmp71 = atspre_char_isalnum (arg1) ; if (!tmp71) { goto __ats_lab_11_1 ; } /* tmp70 = */ atspre_fprint_char (arg0, arg1) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: __ats_lab_11_1: tmp72 = atspre_eq_char_char (arg1, '_') ; if (!tmp72) { goto __ats_lab_12_1 ; } /* tmp70 = */ atspre_fprint_char (arg0, '_') ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: __ats_lab_12_1: tmp73 = atspre_eq_char_char (arg1, '$') ; if (!tmp73) { goto __ats_lab_13_1 ; } /* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst("__")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: /* tmp70 = */ atspre_fprintf_exn (arg0, ATSstrcst("_%.3o_"), ats_castfn_mac(ats_uint_type, arg1)) ; break ; } while (0) ; return /* (tmp70) */ ; } /* end of [aux_28] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 8204(line=408, offs=3) -- 8460(line=421, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_char_type, tmp76) ; // ATSlocal_void (tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident: tmp75 = atspre_string_isnot_empty (arg1) ; if (tmp75) { tmp76 = ptrget_01763_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ; /* tmp77 = */ aux_28 (arg0, tmp76) ; tmp78 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), 1) ; tmp79 = ats_castfn_mac(ats_ptr_type, tmp78) ; arg0 = arg0 ; arg1 = tmp79 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp74) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 8552(line=429, offs=3) -- 8617(line=431, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_label (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_label: /* tmp80 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, arg1) ; return /* (tmp80) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_label] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 8668(line=435, offs=3) -- 8772(line=438, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_atslabel (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp81) ; // ATSlocal_void (tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_atslabel: /* tmp82 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atslab__")) ; /* tmp81 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, arg1) ; return /* (tmp81) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_atslabel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 8826(line=442, offs=3) -- 8974(line=451, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp83) ; ATSlocal (ats_bool_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext: tmp84 = atspre_gt_int_int (arg1, 0) ; if (tmp84) { /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_label (arg0, arg2) ; } else { /* tmp83 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_atslabel (arg0, arg2) ; } /* end of [if] */ return /* (tmp83) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 9049(line=457, offs=3) -- 9210(line=464, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__filename_get_fullname (arg1) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__symbol_get_name (tmp86) ; /* tmp85 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp87) ; return /* (tmp85) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 9286(line=470, offs=3) -- 9915(line=500, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primcstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; // ATSlocal_void (tmp90) ; // ATSlocal_void (tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; // ATSlocal_void (tmp93) ; // ATSlocal_void (tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; // ATSlocal_void (tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primcstsp: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp89 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp90 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyfil(\"")) ; /* tmp91 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp89) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp92 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp93 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyloc(\"")) ; /* tmp94 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_location (arg0, tmp92) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_16_1: tmp95 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyfun(\"")) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp95) ; /* tmp88 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; break ; } while (0) ; return /* (tmp88) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primcstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 9989(line=506, offs=3) -- 10142(line=516, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_sizeof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp98) ; // ATSlocal_void (tmp99) ; // ATSlocal_void (tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_sizeof: /* tmp99 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVsizeof(")) ; /* tmp100 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg1) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp98) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_sizeof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 10200(line=523, offs=1) -- 10541(line=544, offs=4) */ ATSstaticdec() ats_void_type aux_prfx_36 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_bool_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab_aux_prfx_36: tmp102 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_pack (arg1) ; tmp103 = atspre_stropt_is_some (tmp102) ; if (tmp103) { /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, tmp102)) ; } else { tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_fil (arg1) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp104) ; } /* end of [if] */ return /* (tmp101) */ ; } /* end of [aux_prfx_36] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 10611(line=550, offs=3) -- 10784(line=557, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp105) ; // ATSlocal_void (tmp106) ; // ATSlocal_void (tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_s2cst: /* tmp106 = */ aux_prfx_36 (arg0, arg1) ; /* tmp107 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ; tmp108 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_name (arg1) ; /* tmp105 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp108) ; return /* (tmp105) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 10864(line=566, offs=1) -- 11146(line=585, offs=4) */ ATSstaticdec() ats_void_type aux_prfx_38 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp109) ; ATSlocal (ats_bool_type, tmp110) ; __ats_lab_aux_prfx_38: tmp110 = atspre_stropt_is_none (arg2) ; if (tmp110) { /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ; } else { /* tmp109 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, arg2)) ; } /* end of [if] */ return /* (tmp109) */ ; } /* end of [aux_prfx_38] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 11216(line=591, offs=3) -- 11686(line=617, offs=2) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; // ATSlocal_void (tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; // ATSlocal_void (tmp116) ; // ATSlocal_void (tmp117) ; ATSlocal (ats_int_type, tmp118) ; ATSlocal (ats_bool_type, tmp119) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con: tmp112 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_fil (arg1) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_pack (arg1) ; /* tmp114 = */ aux_prfx_38 (arg0, tmp112, tmp113) ; tmp115 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_name (arg1) ; /* tmp116 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ; /* tmp117 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp115) ; tmp118 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg1) ; tmp119 = atspre_gte_int_int (tmp118, 0) ; if (tmp119) { /* tmp111 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp118) ; } else { /* empty */ } /* end of [if] */ return /* (tmp111) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 11758(line=623, offs=3) -- 12562(line=659, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp120) ; ATSlocal (ats_ptr_type, tmp121) ; ATSlocal (ats_int_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; // ATSlocal_void (tmp125) ; // ATSlocal_void (tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; // ATSlocal_void (tmp128) ; ATSlocal (ats_bool_type, tmp129) ; // ATSlocal_void (tmp130) ; ATSlocal (ats_int_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst: tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg1) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (((ats_sum_ptr_type)tmp121)->tag != 0) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp122 = ats_caselptrlab_mac(anairiats_sum_3, tmp121, atslab_0) ; tmp123 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_fil (arg1) ; tmp124 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_pack (arg1) ; /* tmp125 = */ aux_prfx_38 (arg0, tmp123, tmp124) ; /* tmp126 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ; tmp127 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ; /* tmp128 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp127) ; tmp129 = atspre_eq_int_int (tmp122, 0) ; if (tmp129) { /* tmp130 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg1) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_stamp (arg0, tmp131) ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (((ats_sum_ptr_type)tmp121)->tag != 1) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp132 = ats_caselptrlab_mac(anairiats_sum_2, tmp121, atslab_0) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp132) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: if (((ats_sum_ptr_type)tmp121)->tag != 2) { goto __ats_lab_20_0 ; } __ats_lab_19_1: tmp133 = ats_caselptrlab_mac(anairiats_sum_2, tmp121, atslab_0) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp133) ; break ; /* branch: __ats_lab_20 */ __ats_lab_20_0: // if (((ats_sum_ptr_type)tmp121)->tag != 3) { ats_deadcode_failure_handle () ; } __ats_lab_20_1: tmp134 = ats_caselptrlab_mac(anairiats_sum_2, tmp121, atslab_0) ; /* tmp120 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp134) ; break ; } while (0) ; return /* (tmp120) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 12655(line=667, offs=3) -- 12711(line=667, offs=59) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_d2cst: tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ; /* tmp135 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp136) ; return /* (tmp135) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 12782(line=674, offs=3) -- 12904(line=680, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp137) ; // ATSlocal_void (tmp138) ; ATSlocal (ats_int_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab: /* tmp138 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__atstmplab")) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmplab_get_stamp (arg1) ; /* tmp137 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp139) ; return /* (tmp137) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 12957(line=684, offs=3) -- 13071(line=689, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplabint (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp140) ; // ATSlocal_void (tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplabint: /* tmp141 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, arg1) ; /* tmp140 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), arg2) ; return /* (tmp140) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplabint] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_int_type, tmp145) ; __ats_lab_ref_01088_ats_int_type: /* ats_int_type tmp145 ; */ tmp145 = arg0 ; tmp144 = atspre_ref_make_elt_tsz ((&tmp145), sizeof(ats_int_type)) ; return (tmp144) ; } /* end of [ref_01088_ats_int_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42) */ ATSstaticdec() ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp143) ; __ats_lab_ref_make_elt_01089_ats_int_type: tmp143 = ref_01088_ats_int_type (arg0) ; return (tmp143) ; } /* end of [ref_make_elt_01089_ats_int_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 13214(line=700, offs=15) -- 13241(line=700, offs=42) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx (ats_int_type arg0) { /* local vardec */ // ATSlocal_void (tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx: ats_ptrget_mac(ats_int_type, statmp142) = arg0 ; return /* (tmp146) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_set_nfnx] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 13268(line=704, offs=3) -- 13438(line=711, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp147) ; ATSlocal (ats_int_type, tmp148) ; ATSlocal (ats_bool_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg: tmp148 = ats_ptrget_mac(ats_int_type, statmp142) ; tmp149 = atspre_lte_int_int (tmp148, 1) ; if (tmp149) { /* tmp147 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg%i"), arg1) ; } else { /* tmp147 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%irg%i"), tmp148, arg1) ; } /* end of [if] */ return /* (tmp147) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 13488(line=715, offs=3) -- 13644(line=725, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funapy (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp150) ; ATSlocal (ats_int_type, tmp151) ; ATSlocal (ats_bool_type, tmp152) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funapy: tmp151 = ats_ptrget_mac(ats_int_type, statmp142) ; tmp152 = atspre_lte_int_int (tmp151, 1) ; if (tmp152) { /* tmp150 = */ atspre_fprintf_exn (arg0, ATSstrcst("apy%i"), arg1) ; } else { /* tmp150 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%ipy%i"), tmp151, arg1) ; } /* end of [if] */ return /* (tmp150) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funapy] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 13720(line=732, offs=1) -- 13779(line=735, offs=34) */ ATSstaticdec() ats_void_type emit_tmp_49 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp153) ; __ats_lab_emit_tmp_49: /* tmp153 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("tmp")) ; return /* (tmp153) */ ; } /* end of [emit_tmp_49] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 13787(line=738, offs=1) -- 14012(line=752, offs=4) */ ATSstaticdec() ats_void_type emit_statmp_50 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; // ATSlocal_void (tmp156) ; ATSlocal (ats_bool_type, tmp157) ; __ats_lab_emit_statmp_50: tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_STATIC_PREFIX_get () ; tmp157 = atspre_stropt_is_some (tmp155) ; if (tmp157) { /* tmp156 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ats_castfn_mac(ats_ptr_type, tmp155)) ; } else { /* empty */ } /* end of [if] */ /* tmp154 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("statmp")) ; return /* (tmp154) */ ; } /* end of [emit_statmp_50] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 14075(line=758, offs=5) -- 14915(line=799, offs=4) */ ATSstaticdec() ats_void_type auxtmp_51 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp158) ; ATSlocal (ats_int_type, tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_bool_type, tmp161) ; ATSlocal (ats_bool_type, tmp162) ; // ATSlocal_void (tmp163) ; ATSlocal (ats_bool_type, tmp164) ; // ATSlocal_void (tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; ATSlocal (ats_int_type, tmp168) ; ATSlocal (ats_int_type, tmp169) ; // ATSlocal_void (tmp170) ; ATSlocal (ats_int_type, tmp171) ; __ats_lab_auxtmp_51: tmp159 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp161 = atspre_eq_int_int (tmp159, 0) ; if (!tmp161) { goto __ats_lab_22_1 ; } /* tmp160 = */ emit_tmp_49 (arg0) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: /* tmp160 = */ emit_statmp_50 (arg0) ; break ; } while (0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isref (arg1) ; if (tmp162) { /* tmp163 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ref")) ; } else { /* empty */ } /* end of [if] */ tmp164 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_isret (arg1) ; if (tmp164) { /* tmp165 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ret")) ; } else { /* empty */ } /* end of [if] */ tmp166 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_origin (arg1) ; do { /* branch: __ats_lab_23 */ __ats_lab_23_0: if (tmp166 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; } __ats_lab_23_1: tmp167 = ats_caselptrlab_mac(anairiats_sum_4, tmp166, atslab_0) ; tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_suffix (arg1) ; tmp169 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp (tmp167) ; /* tmp170 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp169) ; /* tmp158 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp168) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: // if (tmp166 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_24_1: tmp171 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_stamp (arg1) ; /* tmp158 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp171) ; break ; } while (0) ; return /* (tmp158) */ ; } /* end of [auxtmp_51] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 14982(line=804, offs=13) -- 15012(line=804, offs=43) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp172) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar: /* tmp172 = */ auxtmp_51 (arg0, arg1) ; return /* (tmp172) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 15069(line=812, offs=5) -- 15732(line=846, offs=4) */ ATSstaticdec() ats_void_type auxmain_53 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; // ATSlocal_void (tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_int_type, tmp179) ; ATSlocal (ats_bool_type, tmp180) ; // ATSlocal_void (tmp181) ; ATSlocal (ats_int_type, tmp182) ; __ats_lab_auxmain_53: tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ; tmp175 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg1) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp174 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp177 = ats_caselptrlab_mac(anairiats_sum_4, tmp174, atslab_0) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp177) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: // if (tmp174 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_26_1: tmp178 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ; /* tmp176 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp178) ; break ; } while (0) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_tmpknd (arg1) ; tmp180 = atspre_gt_int_int (tmp179, 0) ; if (tmp180) { /* tmp181 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ; tmp182 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_stamp (arg1) ; /* tmp173 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp182) ; } else { /* empty */ } /* end of [if] */ return /* (tmp173) */ ; } /* end of [auxmain_53] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 15802(line=852, offs=3) -- 16117(line=867, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; // ATSlocal_void (tmp185) ; ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_int_type, tmp187) ; ATSlocal (ats_bool_type, tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab: tmp184 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_origin (arg1) ; do { /* branch: __ats_lab_27 */ __ats_lab_27_0: if (tmp184 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp186 = ats_caselptrlab_mac(anairiats_sum_4, tmp184, atslab_0) ; /* tmp185 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp186) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: // if (tmp184 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_28_1: /* tmp185 = */ auxmain_53 (arg0, arg1) ; break ; } while (0) ; tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_suffix (arg1) ; tmp188 = atspre_gt_int_int (tmp187, 0) ; if (tmp188) { /* tmp183 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp187) ; } else { /* empty */ } /* end of [if] */ return /* (tmp183) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 16168(line=871, offs=3) -- 16436(line=884, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab: tmp190 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ; do { /* branch: __ats_lab_29 */ __ats_lab_29_0: if (tmp190 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp192 = ats_caselptrlab_mac(anairiats_sum_4, tmp190, atslab_0) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2cst_get_name (tmp192) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: // if (tmp190 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_30_1: tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ; break ; } while (0) ; /* tmp189 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp191) ; return /* (tmp189) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2597(line=97, offs=20) -- 2660(line=100, offs=2) */ ATSstaticdec() ats_void_type prerr_errccomp_loc_02193_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp199) ; // ATSlocal_void (tmp200) ; __ats_lab_prerr_errccomp_loc_02193_: /* tmp200 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp199 = */ atspre_prerr_string (ATSstrcst(": error(ccomp)")) ; return /* (tmp199) */ ; } /* end of [prerr_errccomp_loc_02193_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 16664(line=902, offs=5) -- 17140(line=926, offs=4) */ ATSstaticdec() ats_void_type aux_57 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_int_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; // ATSlocal_void (tmp198) ; ATSlocal (ats_ptr_type, tmp201) ; // ATSlocal_void (tmp202) ; // ATSlocal_void (tmp203) ; __ats_lab_aux_57: tmp195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_node) ; do { /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp195)->tag != 0) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp196 = ats_caselptrlab_mac(anairiats_sum_3, tmp195, atslab_0) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp196) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp195)->tag != 1) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp197 = ats_caselptrlab_mac(anairiats_sum_2, tmp195, atslab_0) ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_intinf (arg0, tmp197) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: __ats_lab_33_1: tmp201 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg1) ; /* tmp198 = */ prerr_errccomp_loc_02193_ (tmp201) ; /* tmp202 = */ atspre_prerr_string (ATSstrcst(": the size of a stack-allocated array cannot be determined. ")) ; /* tmp203 = */ atspre_prerr_newline () ; /* tmp194 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORarrdim_unknown()")) ; break ; } while (0) ; return /* (tmp194) */ ; } /* end of [aux_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 17164(line=928, offs=5) -- 17500(line=947, offs=4) */ ATSstaticdec() ats_void_type auxlst_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; // ATSlocal_void (tmp207) ; ATSlocal (ats_bool_type, tmp208) ; // ATSlocal_void (tmp209) ; ATSlocal (ats_int_type, tmp210) ; __ats_lab_auxlst_59: do { /* branch: __ats_lab_34 */ __ats_lab_34_0: if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; } __ats_lab_34_1: break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: // if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_35_1: tmp205 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ; tmp208 = atspre_gt_int_int (arg3, 0) ; if (tmp208) { /* tmp207 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("][")) ; } else { /* empty */ } /* end of [if] */ /* tmp209 = */ aux_57 (arg0, arg1, tmp205) ; tmp210 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp206 ; arg3 = tmp210 ; goto __ats_lab_auxlst_59 ; // tail call break ; } while (0) ; return /* (tmp204) */ ; } /* end of [auxlst_59] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 16634(line=900, offs=3) -- 17605(line=951, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_arrdim (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp193) ; // ATSlocal_void (tmp211) ; // ATSlocal_void (tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_arrdim: /* tmp211 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ; /* tmp212 = */ auxlst_59 (arg0, arg1, arg2, 0) ; /* tmp193 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ; return /* (tmp193) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_arrdim] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 17676(line=957, offs=3) -- 18718(line=1020, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_int_type, tmp215) ; ATSlocal (ats_bool_type, tmp216) ; // ATSlocal_void (tmp217) ; // ATSlocal_void (tmp218) ; ATSlocal (ats_bool_type, tmp219) ; // ATSlocal_void (tmp220) ; // ATSlocal_void (tmp221) ; // ATSlocal_void (tmp222) ; // ATSlocal_void (tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; // ATSlocal_void (tmp226) ; ATSlocal (ats_bool_type, tmp227) ; // ATSlocal_void (tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_ptr_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdec: tmp214 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ; tmp215 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ; tmp216 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp214) ; if (tmp216) { /* tmp217 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ; } else { /* empty */ } /* end of [if] */ tmp219 = atspre_eq_int_int (tmp215, 0) ; if (tmp219) { /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStmpdec")) ; } else { /* tmp218 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatmpdec")) ; } /* end of [if] */ if (tmp216) { /* tmp220 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ; } else { /* empty */ } /* end of [if] */ /* tmp221 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp222 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; tmp224 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp214), atslab_hisexp_node) ; do { /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp224)->tag != 7) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp225 = ats_caselptrlab_mac(anairiats_sum_7, tmp224, atslab_1) ; /* tmp223 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_arrdim (arg0, arg1, tmp225) ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: break ; } while (0) ; tmp227 = atspre_neg_bool (tmp216) ; if (tmp227) { /* tmp228 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; tmp229 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp214), atslab_hisexp_node) ; do { /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp229)->tag != 7) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp230 = ats_caselptrlab_mac(anairiats_sum_7, tmp229, atslab_0) ; /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp230) ; break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: /* tmp226 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp214) ; break ; } while (0) ; } else { /* empty */ } /* end of [if] */ /* tmp213 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp213) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 18792(line=1026, offs=3) -- 18985(line=1036, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; // ATSlocal_void (tmp234) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst: do { /* branch: __ats_lab_40 */ __ats_lab_40_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp232 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp233 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; /* tmp234 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdec (arg0, tmp232) ; arg0 = arg0 ; arg1 = tmp233 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_41_1: break ; } while (0) ; return /* (tmp231) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpdeclst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 20155(line=1080, offs=3) -- 22102(line=1152, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp235) ; ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_int_type, tmp238) ; ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_bool_type, tmp240) ; ATSlocal (ats_char_type, tmp241) ; ATSlocal (ats_double_type, tmp242) ; ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval: tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ; tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp237)->tag != 0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (arg0, arg1) ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp237)->tag != 1) { goto __ats_lab_44_0 ; } __ats_lab_43_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref (arg0, arg1) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp237)->tag != 2) { goto __ats_lab_45_0 ; } __ats_lab_44_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_arg (arg0, arg1) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: if (((ats_sum_ptr_type)tmp237)->tag != 3) { goto __ats_lab_46_0 ; } __ats_lab_45_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argref (arg0, arg1) ; break ; /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)tmp237)->tag != 5) { goto __ats_lab_47_0 ; } __ats_lab_46_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (arg0, arg1) ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)tmp237)->tag != 7) { goto __ats_lab_48_0 ; } __ats_lab_47_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_env (arg0, arg1) ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: if (((ats_sum_ptr_type)tmp237)->tag != 6) { goto __ats_lab_49_0 ; } __ats_lab_48_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst (arg0, arg1) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp237)->tag != 8) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp238 = ats_caselptrlab_mac(anairiats_sum_3, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVint (arg0, tmp238) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp237)->tag != 9) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp239 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVintrep (arg0, tmp239) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp237)->tag != 10) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp240 = ats_caselptrlab_mac(anairiats_sum_9, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVbool (arg0, tmp240) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp237)->tag != 11) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp241 = ats_caselptrlab_mac(anairiats_sum_10, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVchar (arg0, tmp241) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: if (((ats_sum_ptr_type)tmp237)->tag != 12) { goto __ats_lab_54_0 ; } __ats_lab_53_1: tmp242 = ats_caselptrlab_mac(anairiats_sum_11, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (arg0, tmp242) ; break ; /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp237)->tag != 13) { goto __ats_lab_55_0 ; } __ats_lab_54_1: tmp243 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVstring (arg0, tmp243) ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: if (((ats_sum_ptr_type)tmp237)->tag != 14) { goto __ats_lab_56_0 ; } __ats_lab_55_1: tmp244 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (arg0, tmp244) ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp237)->tag != 15) { goto __ats_lab_57_0 ; } __ats_lab_56_1: tmp245 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (arg0, tmp245) ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp237)->tag != 17) { goto __ats_lab_58_0 ; } __ats_lab_57_1: tmp246 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primcstsp (arg0, tmp246) ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp237)->tag != 18) { goto __ats_lab_59_0 ; } __ats_lab_58_1: /* tmp235 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVtop()")) ; break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp237)->tag != 19) { goto __ats_lab_60_0 ; } __ats_lab_59_1: /* tmp235 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVempty()")) ; break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp237)->tag != 20) { goto __ats_lab_61_0 ; } __ats_lab_60_1: tmp247 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVextval(%s)"), tmp247) ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: if (((ats_sum_ptr_type)tmp237)->tag != 21) { goto __ats_lab_62_0 ; } __ats_lab_61_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (arg0, arg1) ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp237)->tag != 16) { goto __ats_lab_63_0 ; } __ats_lab_62_1: tmp248 = ats_caselptrlab_mac(anairiats_sum_2, tmp237, atslab_0) ; /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_sizeof (arg0, tmp248) ; break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp237)->tag != 22) { goto __ats_lab_64_0 ; } __ats_lab_63_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selcon (arg0, arg1) ; break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp237)->tag != 23) { goto __ats_lab_65_0 ; } __ats_lab_64_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select (arg0, arg1) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp237)->tag != 24) { goto __ats_lab_66_0 ; } __ats_lab_65_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select2 (arg0, arg1) ; break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp237)->tag != 25) { goto __ats_lab_67_0 ; } __ats_lab_66_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selptr (arg0, arg1) ; break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp237)->tag != 26) { goto __ats_lab_68_0 ; } __ats_lab_67_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof (arg0, arg1) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: if (((ats_sum_ptr_type)tmp237)->tag != 27) { goto __ats_lab_69_0 ; } __ats_lab_68_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel (arg0, arg1) ; break ; /* branch: __ats_lab_69 */ __ats_lab_69_0: if (((ats_sum_ptr_type)tmp237)->tag != 28) { goto __ats_lab_70_0 ; } __ats_lab_69_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_refarg (arg0, arg1) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (((ats_sum_ptr_type)tmp237)->tag != 29) { goto __ats_lab_71_0 ; } __ats_lab_70_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (arg0, arg1) ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: if (((ats_sum_ptr_type)tmp237)->tag != 30) { goto __ats_lab_72_0 ; } __ats_lab_71_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (arg0, arg1) ; break ; /* branch: __ats_lab_72 */ __ats_lab_72_0: if (((ats_sum_ptr_type)tmp237)->tag != 32) { goto __ats_lab_73_0 ; } __ats_lab_72_1: tmp249 = ats_caselptrlab_mac(anairiats_sum_12, tmp237, atslab_1) ; arg0 = arg0 ; arg1 = tmp249 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval ; // tail call break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (((ats_sum_ptr_type)tmp237)->tag != 37) { goto __ats_lab_74_0 ; } __ats_lab_73_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_err (arg0, arg1) ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: /* tmp235 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_primval (arg0, arg1) ; break ; } while (0) ; return /* (tmp235) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22203(line=1161, offs=1) -- 22529(line=1181, offs=4) */ ATSstaticdec() ats_void_type loop_64 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ // ATSlocal_void (tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; ATSlocal (ats_ptr_type, tmp253) ; // ATSlocal_void (tmp254) ; ATSlocal (ats_bool_type, tmp255) ; // ATSlocal_void (tmp256) ; ATSlocal (ats_int_type, tmp257) ; __ats_lab_loop_64: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: tmp252 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp253 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp255 = atspre_gt_int_int (arg2, 0) ; if (tmp255) { /* tmp254 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp256 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp252) ; tmp257 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp253 ; arg2 = tmp257 ; goto __ats_lab_loop_64 ; // tail call break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_76_1: break ; } while (0) ; return /* (tmp251) */ ; } /* end of [loop_64] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22178(line=1158, offs=3) -- 22578(line=1185, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp250) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist: /* tmp250 = */ loop_64 (arg0, arg1, 0) ; return /* (tmp250) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22658(line=1191, offs=3) -- 22746(line=1197, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_arg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_int_type, tmp260) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_arg: tmp259 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp259)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22683(line=1193, offs=5) -- 22713(line=1193, offs=35)") ; } tmp260 = ats_caselptrlab_mac(anairiats_sum_3, tmp259, atslab_0) ; /* tmp258 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp260) ; return /* (tmp258) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_arg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22830(line=1203, offs=3) -- 22920(line=1209, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_int_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argref: tmp262 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp262)->tag != 3) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 22855(line=1205, offs=5) -- 22887(line=1205, offs=37)") ; } tmp263 = ats_caselptrlab_mac(anairiats_sum_3, tmp262, atslab_0) ; /* tmp261 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp263) ; return /* (tmp261) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23007(line=1215, offs=3) -- 23111(line=1221, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_int_type, tmp266) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argenv: tmp265 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp265)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23032(line=1217, offs=5) -- 23067(line=1217, offs=40)") ; } tmp266 = ats_caselptrlab_mac(anairiats_sum_3, tmp265, atslab_0) ; /* tmp264 = */ atspre_fprintf_exn (arg0, ATSstrcst("env%i"), tmp266) ; return /* (tmp264) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_argenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23195(line=1227, offs=3) -- 23287(line=1233, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmp: tmp268 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp268)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23220(line=1229, offs=5) -- 23252(line=1229, offs=37)") ; } tmp269 = ats_caselptrlab_mac(anairiats_sum_2, tmp268, atslab_0) ; /* tmp267 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp269) ; return /* (tmp267) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23350(line=1237, offs=3) -- 23445(line=1243, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp270) ; ATSlocal (ats_ptr_type, tmp271) ; ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref: tmp271 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp271)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23375(line=1239, offs=5) -- 23410(line=1239, offs=40)") ; } tmp272 = ats_caselptrlab_mac(anairiats_sum_2, tmp271, atslab_0) ; /* tmp270 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp272) ; return /* (tmp270) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23523(line=1249, offs=3) -- 23612(line=1256, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2env (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp273) ; ATSlocal (ats_ptr_type, tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2env: tmp274 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ; /* tmp273 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp274) ; return /* (tmp273) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 23667(line=1260, offs=3) -- 24018(line=1277, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp275) ; ATSlocal (ats_ptr_type, tmp276) ; ATSlocal (ats_ptr_type, tmp277) ; // ATSlocal_void (tmp278) ; // ATSlocal_void (tmp279) ; ATSlocal (ats_ptr_type, tmp280) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env: tmp276 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funent_varbindmap_find (arg1) ; do { /* branch: __ats_lab_77 */ __ats_lab_77_0: if (tmp276 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; } __ats_lab_77_1: tmp277 = ats_caselptrlab_mac(anairiats_sum_4, tmp276, atslab_0) ; ATS_FREE(tmp276) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp277) ; break ; /* branch: __ats_lab_78 */ __ats_lab_78_0: // if (tmp276 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_78_1: /* tmp278 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVenv(")) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ; /* tmp279 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_symbol (arg0, tmp280) ; /* tmp275 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; break ; } while (0) ; return /* (tmp275) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24122(line=1285, offs=5) -- 24440(line=1304, offs=4) */ ATSstaticdec() ats_int_type auxlst_73 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; ATSlocal (ats_ptr_type, tmp284) ; // ATSlocal_void (tmp285) ; ATSlocal (ats_bool_type, tmp286) ; // ATSlocal_void (tmp287) ; ATSlocal (ats_int_type, tmp288) ; __ats_lab_auxlst_73: do { /* branch: __ats_lab_79 */ __ats_lab_79_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; } __ats_lab_79_1: tmp283 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp284 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp286 = atspre_gt_int_int (arg2, 0) ; if (tmp286) { /* tmp285 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ /* tmp287 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2env (arg0, tmp283) ; tmp288 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = tmp284 ; arg2 = tmp288 ; goto __ats_lab_auxlst_73 ; // tail call break ; /* branch: __ats_lab_80 */ __ats_lab_80_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_80_1: tmp282 = arg2 ; break ; } while (0) ; return (tmp282) ; } /* end of [auxlst_73] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24094(line=1283, offs=3) -- 24496(line=1308, offs=4) */ ATSglobaldec() ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_int_type, tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst: tmp281 = auxlst_73 (arg0, arg1, arg2) ; return (tmp281) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24574(line=1314, offs=3) -- 24669(line=1320, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_env (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp289) ; ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_env: tmp290 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp290)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24599(line=1316, offs=5) -- 24631(line=1316, offs=37)") ; } tmp291 = ats_caselptrlab_mac(anairiats_sum_2, tmp290, atslab_0) ; /* tmp289 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp291) ; return /* (tmp289) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_env] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24755(line=1326, offs=3) -- 24846(line=1332, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; ATSlocal (ats_ptr_type, tmp294) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst: tmp293 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp293)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24780(line=1328, offs=5) -- 24812(line=1328, offs=37)") ; } tmp294 = ats_caselptrlab_mac(anairiats_sum_2, tmp293, atslab_0) ; /* tmp292 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp294) ; return /* (tmp292) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24932(line=1338, offs=3) -- 25317(line=1358, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp295) ; ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; // ATSlocal_void (tmp300) ; // ATSlocal_void (tmp301) ; // ATSlocal_void (tmp302) ; // ATSlocal_void (tmp303) ; // ATSlocal_void (tmp304) ; // ATSlocal_void (tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_castfn: tmp296 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ; tmp297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp297)->tag != 21) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 24986(line=1341, offs=5) -- 25028(line=1342, offs=33)") ; } tmp298 = ats_caselptrlab_mac(anairiats_sum_7, tmp297, atslab_0) ; tmp299 = ats_caselptrlab_mac(anairiats_sum_7, tmp297, atslab_1) ; /* tmp300 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcastfn(")) ; /* tmp301 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_d2cst (arg0, tmp298) ; /* tmp302 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp303 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp296) ; /* tmp304 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp305 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp299) ; /* tmp295 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp295) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_castfn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 25403(line=1364, offs=3) -- 25505(line=1370, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; ATSlocal (ats_ptr_type, tmp308) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof: tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp307)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 25428(line=1366, offs=5) -- 25462(line=1366, offs=39)") ; } tmp308 = ats_caselptrlab_mac(anairiats_sum_2, tmp307, atslab_0) ; /* tmp306 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp308) ; return /* (tmp306) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 25594(line=1376, offs=5) -- 25713(line=1381, offs=2) */ ATSstaticdec() ats_bool_type testselptr0_79 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; ATSlocal (ats_ptr_type, tmp312) ; __ats_lab_testselptr0_79: tmp311 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_primval_node) ; do { /* branch: __ats_lab_81 */ __ats_lab_81_0: if (((ats_sum_ptr_type)tmp311)->tag != 25) { goto __ats_lab_82_0 ; } tmp312 = ats_caselptrlab_mac(anairiats_sum_13, tmp311, atslab_2) ; if (tmp312 != (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; } __ats_lab_81_1: tmp310 = ats_true_bool ; break ; /* branch: __ats_lab_82 */ __ats_lab_82_0: __ats_lab_82_1: tmp310 = ats_false_bool ; break ; } while (0) ; return (tmp310) ; } /* end of [testselptr0_79] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 25570(line=1374, offs=3) -- 26240(line=1409, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp309) ; ATSlocal (ats_bool_type, tmp313) ; ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; ATSlocal (ats_bool_type, tmp316) ; ATSlocal (ats_bool_type, tmp317) ; ATSlocal (ats_ptr_type, tmp318) ; // ATSlocal_void (tmp319) ; // ATSlocal_void (tmp320) ; // ATSlocal_void (tmp321) ; // ATSlocal_void (tmp322) ; // ATSlocal_void (tmp323) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2: tmp313 = testselptr0_79 (arg1) ; if (tmp313) { tmp314 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp314)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 25779(line=1389, offs=5) -- 25823(line=1389, offs=49)") ; } tmp315 = ats_caselptrlab_mac(anairiats_sum_13, tmp314, atslab_0) ; /* tmp309 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp315) ; } else { tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void (arg1) ; tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ; tmp317 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyarr (tmp318) ; /* tmp319 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof")) ; if (tmp316) { /* tmp320 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ; } else { /* empty */ } /* end of [if] */ /* tmp321 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ; /* tmp322 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; if (tmp317) { /* tmp323 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[0]")) ; } else { /* empty */ } /* end of [if] */ /* tmp309 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; } /* end of [if] */ return /* (tmp309) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 26327(line=1415, offs=3) -- 26715(line=1437, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_refarg (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp324) ; ATSlocal (ats_ptr_type, tmp325) ; ATSlocal (ats_int_type, tmp326) ; ATSlocal (ats_ptr_type, tmp327) ; // ATSlocal_void (tmp328) ; ATSlocal (ats_bool_type, tmp329) ; // ATSlocal_void (tmp330) ; ATSlocal (ats_bool_type, tmp331) ; // ATSlocal_void (tmp332) ; ATSlocal (ats_bool_type, tmp333) ; // ATSlocal_void (tmp334) ; ATSlocal (ats_bool_type, tmp335) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_refarg: tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp325)->tag != 28) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 26352(line=1417, offs=5) -- 26403(line=1418, offs=42)") ; } tmp326 = ats_caselptrlab_mac(anairiats_sum_14, tmp325, atslab_0) ; tmp327 = ats_caselptrlab_mac(anairiats_sum_14, tmp325, atslab_2) ; tmp329 = atspre_eq_int_int (tmp326, 0) ; if (tmp329) { /* tmp328 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg0(")) ; } else { /* empty */ } /* end of [if] */ tmp331 = atspre_gt_int_int (tmp326, 0) ; if (tmp331) { /* tmp330 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg1(")) ; } else { /* empty */ } /* end of [if] */ tmp333 = atspre_eq_int_int (tmp326, 0) ; if (tmp333) { /* tmp332 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp327) ; } else { /* empty */ } /* end of [if] */ tmp335 = atspre_gt_int_int (tmp326, 0) ; if (tmp335) { /* tmp334 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp327) ; } else { /* empty */ } /* end of [if] */ /* tmp324 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp324) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 26802(line=1443, offs=3) -- 27452(line=1485, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp336) ; ATSlocal (ats_ptr_type, tmp337) ; ATSlocal (ats_ptr_type, tmp338) ; ATSlocal (ats_bool_type, tmp339) ; // ATSlocal_void (tmp340) ; ATSlocal (ats_ptr_type, tmp341) ; // ATSlocal_void (tmp342) ; // ATSlocal_void (tmp343) ; // ATSlocal_void (tmp344) ; // ATSlocal_void (tmp345) ; // ATSlocal_void (tmp346) ; // ATSlocal_void (tmp347) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_funlab: tmp337 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp337)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 26827(line=1445, offs=5) -- 26865(line=1446, offs=29)") ; } tmp338 = ats_caselptrlab_mac(anairiats_sum_2, tmp337, atslab_0) ; tmp339 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_is_envful (tmp338) ; if (tmp339) { tmp341 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ; /* tmp342 = */ prerr_errccomp_loc_02193_ (tmp341) ; /* tmp343 = */ atspre_prerr_string (ATSstrcst(": the function is expected to be envless but it is not.")) ; /* tmp340 = */ atspre_prerr_newline () ; } else { /* empty */ } /* end of [if] */ if (tmp339) { /* tmp344 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORnotenvless(")) ; } else { /* empty */ } /* end of [if] */ /* tmp345 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfunlab(")) ; /* tmp346 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp338) ; /* tmp347 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; if (tmp339) { /* tmp336 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; } else { /* empty */ } /* end of [if] */ return /* (tmp336) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_funlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 27540(line=1491, offs=3) -- 28073(line=1518, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp348) ; ATSlocal (ats_ptr_type, tmp349) ; ATSlocal (ats_int_type, tmp350) ; ATSlocal (ats_ptr_type, tmp351) ; ATSlocal (ats_ptr_type, tmp352) ; ATSlocal (ats_ptr_type, tmp353) ; ATSlocal (ats_ptr_type, tmp354) ; // ATSlocal_void (tmp355) ; // ATSlocal_void (tmp356) ; // ATSlocal_void (tmp357) ; // ATSlocal_void (tmp358) ; // ATSlocal_void (tmp359) ; ATSlocal (ats_int_type, tmp360) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab: tmp349 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp349)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 27565(line=1493, offs=5) -- 27609(line=1494, offs=34)") ; } tmp350 = ats_caselptrlab_mac(anairiats_sum_12, tmp349, atslab_0) ; tmp351 = ats_caselptrlab_mac(anairiats_sum_12, tmp349, atslab_1) ; tmp352 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp351) ; do { /* branch: __ats_lab_83 */ __ats_lab_83_0: if (tmp352 != (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; } __ats_lab_83_1: tmp353 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_84 */ __ats_lab_84_0: // if (tmp352 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_84_1: tmp354 = ats_caselptrlab_mac(anairiats_sum_4, tmp352, atslab_0) ; tmp353 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp354) ; break ; } while (0) ; /* tmp355 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcfunlab(")) ; /* tmp356 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp350) ; /* tmp357 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp358 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp351) ; /* tmp359 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", (")) ; tmp360 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp353, 0) ; /* tmp348 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("))")) ; return /* (tmp348) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 28140(line=1525, offs=1) -- 28413(line=1542, offs=4) */ ATSstaticdec() ats_void_type auxmain_83 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp361) ; // ATSlocal_void (tmp362) ; // ATSlocal_void (tmp363) ; // ATSlocal_void (tmp364) ; // ATSlocal_void (tmp365) ; __ats_lab_auxmain_83: /* tmp362 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSderef(")) ; /* tmp363 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp364 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp365 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg2) ; /* tmp361 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp361) */ ; } /* end of [auxmain_83] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 28490(line=1548, offs=3) -- 28640(line=1555, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp366) ; ATSlocal (ats_ptr_type, tmp367) ; ATSlocal (ats_ptr_type, tmp368) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval_deref: tmp367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; do { /* branch: __ats_lab_85 */ __ats_lab_85_0: if (((ats_sum_ptr_type)tmp367)->tag != 26) { goto __ats_lab_86_0 ; } __ats_lab_85_1: tmp368 = ats_caselptrlab_mac(anairiats_sum_2, tmp367, atslab_0) ; /* tmp366 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp368) ; break ; /* branch: __ats_lab_86 */ __ats_lab_86_0: __ats_lab_86_1: /* tmp366 = */ auxmain_83 (arg0, arg1, arg2) ; break ; } while (0) ; return /* (tmp366) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval_deref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 28746(line=1563, offs=3) -- 28904(line=1571, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_err (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp369) ; // ATSlocal_void (tmp370) ; // ATSlocal_void (tmp371) ; ATSlocal (ats_ptr_type, tmp372) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_err: /* tmp370 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("PMVerr(\"")) ; tmp372 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ; /* tmp371 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_location (arg0, tmp372) ; /* tmp369 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ; return /* (tmp369) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_err] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 29382(line=1602, offs=3) -- 29697(line=1617, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primlab (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp373) ; ATSlocal (ats_ptr_type, tmp374) ; ATSlocal (ats_ptr_type, tmp375) ; ATSlocal (ats_ptr_type, tmp376) ; // ATSlocal_void (tmp377) ; // ATSlocal_void (tmp378) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primlab: tmp374 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg2), atslab_primlab_node) ; do { /* branch: __ats_lab_87 */ __ats_lab_87_0: if (((ats_sum_ptr_type)tmp374)->tag != 0) { goto __ats_lab_88_0 ; } __ats_lab_87_1: tmp375 = ats_caselptrlab_mac(anairiats_sum_2, tmp374, atslab_0) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (arg0, arg1, tmp375) ; break ; /* branch: __ats_lab_88 */ __ats_lab_88_0: // if (((ats_sum_ptr_type)tmp374)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_88_1: tmp376 = ats_caselptrlab_mac(anairiats_sum_2, tmp374, atslab_0) ; /* tmp377 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ; /* tmp378 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp376) ; /* tmp373 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ; break ; } while (0) ; return /* (tmp373) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primlab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 30324(line=1644, offs=3) -- 30661(line=1661, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp379) ; ATSlocal (ats_bool_type, tmp380) ; // ATSlocal_void (tmp381) ; // ATSlocal_void (tmp382) ; // ATSlocal_void (tmp383) ; // ATSlocal_void (tmp384) ; // ATSlocal_void (tmp385) ; // ATSlocal_void (tmp386) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_val: tmp380 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_void (arg2) ; /* tmp381 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove")) ; if (tmp380) { /* tmp382 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ; } else { /* empty */ } /* end of [if] */ /* tmp383 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp384 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp385 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp386 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ; /* tmp379 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp379) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 30822(line=1670, offs=3) -- 31122(line=1680, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_pmove_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp387) ; // ATSlocal_void (tmp388) ; // ATSlocal_void (tmp389) ; // ATSlocal_void (tmp390) ; // ATSlocal_void (tmp391) ; ATSlocal (ats_ptr_type, tmp392) ; // ATSlocal_void (tmp393) ; // ATSlocal_void (tmp394) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_pmove_val: /* tmp388 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove(")) ; /* tmp389 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp390 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; tmp392 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_type) ; /* tmp391 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp392) ; /* tmp393 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp394 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ; /* tmp387 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp387) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_pmove_val] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 31282(line=1689, offs=3) -- 31513(line=1698, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp395) ; // ATSlocal_void (tmp396) ; // ATSlocal_void (tmp397) ; // ATSlocal_void (tmp398) ; // ATSlocal_void (tmp399) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc: /* tmp396 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ptralloc(")) ; /* tmp397 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp398 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp399 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ; /* tmp395 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp395) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp474) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_101 */ __ats_lab_101_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; } __ats_lab_101_1: tmp474 = ats_true_bool ; break ; /* branch: __ats_lab_102 */ __ats_lab_102_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_102_1: tmp474 = ats_false_bool ; break ; } while (0) ; return (tmp474) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_loc_02187_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp618) ; // ATSlocal_void (tmp619) ; // ATSlocal_void (tmp620) ; // ATSlocal_void (tmp621) ; __ats_lab_prerr_interror_loc_02187_: /* tmp619 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp620 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ; /* tmp621 = */ prerr_FILENAME_02185_ () ; /* tmp618 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp618) */ ; } /* end of [prerr_interror_loc_02187_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 31590(line=1704, offs=3) -- 42562(line=2098, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp400) ; ATSlocal (ats_ptr_type, tmp401) ; // ATSlocal_void (tmp402) ; // ATSlocal_void (tmp403) ; // ATSlocal_void (tmp404) ; // ATSlocal_void (tmp405) ; ATSlocal (ats_int_type, tmp406) ; // ATSlocal_void (tmp407) ; ATSlocal (ats_bool_type, tmp408) ; ATSlocal (ats_int_type, tmp409) ; // ATSlocal_void (tmp410) ; ATSlocal (ats_bool_type, tmp411) ; // ATSlocal_void (tmp412) ; // ATSlocal_void (tmp413) ; ATSlocal (ats_ptr_type, tmp414) ; ATSlocal (ats_ptr_type, tmp415) ; // ATSlocal_void (tmp416) ; // ATSlocal_void (tmp417) ; // ATSlocal_void (tmp418) ; ATSlocal (ats_ptr_type, tmp419) ; // ATSlocal_void (tmp420) ; // ATSlocal_void (tmp421) ; ATSlocal (ats_ptr_type, tmp422) ; // ATSlocal_void (tmp423) ; // ATSlocal_void (tmp424) ; ATSlocal (ats_ptr_type, tmp425) ; ATSlocal (ats_ptr_type, tmp426) ; ATSlocal (ats_ptr_type, tmp427) ; ATSlocal (ats_ptr_type, tmp428) ; ATSlocal (ats_ptr_type, tmp429) ; ATSlocal (ats_ptr_type, tmp430) ; ATSlocal (ats_ptr_type, tmp431) ; // ATSlocal_void (tmp432) ; // ATSlocal_void (tmp433) ; // ATSlocal_void (tmp434) ; // ATSlocal_void (tmp435) ; // ATSlocal_void (tmp436) ; // ATSlocal_void (tmp437) ; ATSlocal (ats_ptr_type, tmp438) ; // ATSlocal_void (tmp439) ; // ATSlocal_void (tmp440) ; ATSlocal (ats_ptr_type, tmp441) ; ATSlocal (ats_ptr_type, tmp442) ; ATSlocal (ats_ptr_type, tmp443) ; ATSlocal (ats_ptr_type, tmp444) ; ATSlocal (ats_ptr_type, tmp445) ; ATSlocal (ats_ptr_type, tmp446) ; ATSlocal (ats_ptr_type, tmp447) ; ATSlocal (ats_ptr_type, tmp448) ; // ATSlocal_void (tmp449) ; // ATSlocal_void (tmp450) ; // ATSlocal_void (tmp451) ; // ATSlocal_void (tmp452) ; // ATSlocal_void (tmp453) ; // ATSlocal_void (tmp454) ; // ATSlocal_void (tmp455) ; // ATSlocal_void (tmp456) ; // ATSlocal_void (tmp457) ; // ATSlocal_void (tmp458) ; // ATSlocal_void (tmp459) ; // ATSlocal_void (tmp460) ; // ATSlocal_void (tmp461) ; // ATSlocal_void (tmp462) ; // ATSlocal_void (tmp463) ; // ATSlocal_void (tmp464) ; // ATSlocal_void (tmp465) ; // ATSlocal_void (tmp466) ; // ATSlocal_void (tmp467) ; // ATSlocal_void (tmp468) ; // ATSlocal_void (tmp469) ; // ATSlocal_void (tmp470) ; // ATSlocal_void (tmp471) ; // ATSlocal_void (tmp472) ; ATSlocal (ats_bool_type, tmp473) ; // ATSlocal_void (tmp475) ; // ATSlocal_void (tmp476) ; // ATSlocal_void (tmp477) ; // ATSlocal_void (tmp478) ; // ATSlocal_void (tmp479) ; // ATSlocal_void (tmp480) ; // ATSlocal_void (tmp481) ; // ATSlocal_void (tmp482) ; // ATSlocal_void (tmp483) ; // ATSlocal_void (tmp484) ; // ATSlocal_void (tmp485) ; // ATSlocal_void (tmp486) ; // ATSlocal_void (tmp487) ; // ATSlocal_void (tmp488) ; ATSlocal (ats_int_type, tmp489) ; ATSlocal (ats_ptr_type, tmp490) ; // ATSlocal_void (tmp491) ; ATSlocal (ats_bool_type, tmp492) ; // ATSlocal_void (tmp493) ; ATSlocal (ats_ptr_type, tmp494) ; // ATSlocal_void (tmp495) ; // ATSlocal_void (tmp496) ; ATSlocal (ats_ptr_type, tmp497) ; ATSlocal (ats_ptr_type, tmp498) ; ATSlocal (ats_ptr_type, tmp499) ; // ATSlocal_void (tmp500) ; // ATSlocal_void (tmp501) ; // ATSlocal_void (tmp502) ; // ATSlocal_void (tmp503) ; // ATSlocal_void (tmp504) ; // ATSlocal_void (tmp505) ; // ATSlocal_void (tmp506) ; // ATSlocal_void (tmp507) ; // ATSlocal_void (tmp508) ; // ATSlocal_void (tmp509) ; // ATSlocal_void (tmp510) ; // ATSlocal_void (tmp511) ; ATSlocal (ats_ptr_type, tmp512) ; // ATSlocal_void (tmp513) ; // ATSlocal_void (tmp514) ; // ATSlocal_void (tmp515) ; // ATSlocal_void (tmp516) ; // ATSlocal_void (tmp517) ; // ATSlocal_void (tmp518) ; ATSlocal (ats_ptr_type, tmp519) ; // ATSlocal_void (tmp520) ; // ATSlocal_void (tmp521) ; ATSlocal (ats_ptr_type, tmp522) ; // ATSlocal_void (tmp523) ; // ATSlocal_void (tmp524) ; ATSlocal (ats_ptr_type, tmp525) ; ATSlocal (ats_ptr_type, tmp526) ; // ATSlocal_void (tmp527) ; // ATSlocal_void (tmp528) ; // ATSlocal_void (tmp529) ; // ATSlocal_void (tmp530) ; ATSlocal (ats_ptr_type, tmp531) ; ATSlocal (ats_ptr_type, tmp532) ; ATSlocal (ats_ptr_type, tmp533) ; // ATSlocal_void (tmp534) ; // ATSlocal_void (tmp535) ; // ATSlocal_void (tmp536) ; // ATSlocal_void (tmp537) ; // ATSlocal_void (tmp538) ; // ATSlocal_void (tmp539) ; ATSlocal (ats_ptr_type, tmp540) ; ATSlocal (ats_ptr_type, tmp541) ; ATSlocal (ats_ptr_type, tmp542) ; // ATSlocal_void (tmp543) ; // ATSlocal_void (tmp544) ; // ATSlocal_void (tmp545) ; // ATSlocal_void (tmp546) ; // ATSlocal_void (tmp547) ; // ATSlocal_void (tmp548) ; ATSlocal (ats_ptr_type, tmp549) ; ATSlocal (ats_ptr_type, tmp550) ; // ATSlocal_void (tmp551) ; // ATSlocal_void (tmp552) ; // ATSlocal_void (tmp553) ; // ATSlocal_void (tmp554) ; ATSlocal (ats_ptr_type, tmp555) ; ATSlocal (ats_int_type, tmp556) ; // ATSlocal_void (tmp557) ; // ATSlocal_void (tmp558) ; // ATSlocal_void (tmp559) ; // ATSlocal_void (tmp560) ; ATSlocal (ats_ptr_type, tmp561) ; ATSlocal (ats_ptr_type, tmp562) ; ATSlocal (ats_int_type, tmp563) ; // ATSlocal_void (tmp564) ; // ATSlocal_void (tmp565) ; // ATSlocal_void (tmp566) ; // ATSlocal_void (tmp567) ; // ATSlocal_void (tmp568) ; // ATSlocal_void (tmp569) ; ATSlocal (ats_ptr_type, tmp570) ; ATSlocal (ats_ptr_type, tmp571) ; // ATSlocal_void (tmp572) ; // ATSlocal_void (tmp573) ; // ATSlocal_void (tmp574) ; // ATSlocal_void (tmp575) ; ATSlocal (ats_ptr_type, tmp576) ; ATSlocal (ats_ptr_type, tmp577) ; // ATSlocal_void (tmp578) ; // ATSlocal_void (tmp579) ; // ATSlocal_void (tmp580) ; // ATSlocal_void (tmp581) ; ATSlocal (ats_ptr_type, tmp582) ; ATSlocal (ats_ptr_type, tmp583) ; ATSlocal (ats_ptr_type, tmp584) ; ATSlocal (ats_ptr_type, tmp585) ; ATSlocal (ats_ptr_type, tmp586) ; // ATSlocal_void (tmp587) ; // ATSlocal_void (tmp588) ; // ATSlocal_void (tmp589) ; // ATSlocal_void (tmp590) ; // ATSlocal_void (tmp591) ; // ATSlocal_void (tmp592) ; // ATSlocal_void (tmp593) ; // ATSlocal_void (tmp594) ; // ATSlocal_void (tmp595) ; // ATSlocal_void (tmp596) ; // ATSlocal_void (tmp597) ; ATSlocal (ats_int_type, tmp598) ; // ATSlocal_void (tmp599) ; ATSlocal (ats_ptr_type, tmp600) ; // ATSlocal_void (tmp601) ; // ATSlocal_void (tmp602) ; // ATSlocal_void (tmp603) ; // ATSlocal_void (tmp604) ; ATSlocal (ats_ptr_type, tmp605) ; ATSlocal (ats_ptr_type, tmp606) ; // ATSlocal_void (tmp607) ; // ATSlocal_void (tmp608) ; // ATSlocal_void (tmp609) ; // ATSlocal_void (tmp610) ; ATSlocal (ats_ptr_type, tmp611) ; ATSlocal (ats_ptr_type, tmp612) ; // ATSlocal_void (tmp613) ; // ATSlocal_void (tmp614) ; // ATSlocal_void (tmp615) ; // ATSlocal_void (tmp616) ; // ATSlocal_void (tmp617) ; // ATSlocal_void (tmp622) ; // ATSlocal_void (tmp623) ; // ATSlocal_void (tmp624) ; ATSlocal (ats_ptr_type, tmp625) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr: tmp401 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_loc) ; /* tmp402 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n")) ; /* tmp403 = */ atspre_fprint_string (arg0, ATSstrcst("emit_instr: loc0 = ")) ; /* tmp404 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location (arg0, tmp401) ; /* tmp405 = */ atspre_fprint_string (arg0, ATSstrcst("\n*/\n")) ; tmp406 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get () ; tmp408 = atspre_gt_int_int (tmp406, 0) ; if (tmp408) { /* tmp407 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma (arg0, tmp401) ; } else { /* empty */ } /* end of [if] */ tmp409 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get () ; tmp411 = atspre_gt_int_int (tmp409, 0) ; if (tmp411) { /* tmp412 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* ")) ; /* tmp413 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ; /* tmp410 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" */\n")) ; } else { /* empty */ } /* end of [if] */ tmp414 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; do { /* branch: __ats_lab_89 */ __ats_lab_89_0: if (((ats_sum_ptr_type)tmp414)->tag != 0) { goto __ats_lab_90_0 ; } __ats_lab_89_1: tmp415 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp416 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSflab(")) ; /* tmp417 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__patsflab_")) ; /* tmp418 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit2_funlab (arg0, tmp415) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ; break ; /* branch: __ats_lab_90 */ __ats_lab_90_0: if (((ats_sum_ptr_type)tmp414)->tag != 1) { goto __ats_lab_91_0 ; } __ats_lab_90_1: tmp419 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp420 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSlab(")) ; /* tmp421 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp419) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ; break ; /* branch: __ats_lab_91 */ __ats_lab_91_0: if (((ats_sum_ptr_type)tmp414)->tag != 2) { goto __ats_lab_92_0 ; } __ats_lab_91_1: tmp422 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp423 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp424 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, tmp422) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ; break ; /* branch: __ats_lab_92 */ __ats_lab_92_0: if (((ats_sum_ptr_type)tmp414)->tag != 3) { goto __ats_lab_93_0 ; } __ats_lab_92_1: tmp425 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp426 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_move_val (arg0, tmp425, tmp426) ; break ; /* branch: __ats_lab_93 */ __ats_lab_93_0: if (((ats_sum_ptr_type)tmp414)->tag != 4) { goto __ats_lab_94_0 ; } __ats_lab_93_1: tmp427 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp428 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_pmove_val (arg0, tmp427, tmp428) ; break ; /* branch: __ats_lab_94 */ __ats_lab_94_0: if (((ats_sum_ptr_type)tmp414)->tag != 6) { goto __ats_lab_95_0 ; } __ats_lab_94_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall (arg0, arg1) ; break ; /* branch: __ats_lab_95 */ __ats_lab_95_0: if (((ats_sum_ptr_type)tmp414)->tag != 7) { goto __ats_lab_96_0 ; } __ats_lab_95_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_fcall2 (arg0, arg1) ; break ; /* branch: __ats_lab_96 */ __ats_lab_96_0: if (((ats_sum_ptr_type)tmp414)->tag != 8) { goto __ats_lab_97_0 ; } __ats_lab_96_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extfcall (arg0, arg1) ; break ; /* branch: __ats_lab_97 */ __ats_lab_97_0: if (((ats_sum_ptr_type)tmp414)->tag != 9) { goto __ats_lab_98_0 ; } __ats_lab_97_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_extmcall (arg0, arg1) ; break ; /* branch: __ats_lab_98 */ __ats_lab_98_0: if (((ats_sum_ptr_type)tmp414)->tag != 10) { goto __ats_lab_99_0 ; } __ats_lab_98_1: tmp429 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_0) ; tmp430 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_1) ; tmp431 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_2) ; /* tmp432 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(\n")) ; /* tmp433 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp429) ; /* tmp434 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n) ATSthen() {\n")) ; /* tmp435 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp430) ; /* tmp436 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} ATSelse() {\n")) ; /* tmp437 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp431) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} /* ATSendif */")) ; break ; /* branch: __ats_lab_99 */ __ats_lab_99_0: if (((ats_sum_ptr_type)tmp414)->tag != 11) { goto __ats_lab_100_0 ; } __ats_lab_99_1: tmp438 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp439 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfreecon(")) ; /* tmp440 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp438) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_100 */ __ats_lab_100_0: if (((ats_sum_ptr_type)tmp414)->tag != 12) { goto __ats_lab_103_0 ; } __ats_lab_100_1: tmp441 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_0) ; tmp442 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_1) ; tmp443 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_2) ; tmp444 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_3) ; tmp445 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_4) ; tmp446 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_5) ; tmp447 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_6) ; tmp448 = ats_caselptrlab_mac(anairiats_sum_17, tmp414, atslab_7) ; /* tmp449 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp450 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(beg)\n")) ; /* tmp451 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp452 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp444) ; /* tmp453 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp454 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp455 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(end)\n")) ; /* tmp456 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp457 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_open(")) ; /* tmp458 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp441) ; /* tmp459 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp460 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp442) ; /* tmp461 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp462 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp443) ; /* tmp463 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; /* tmp464 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp446) ; /* tmp465 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp466 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(")) ; /* tmp467 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKnot(")) ; /* tmp468 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp445) ; /* tmp469 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) ATSbreak() ;")) ; /* tmp470 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; /* tmp471 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp448) ; /* tmp472 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; tmp473 = list_is_cons_01295_ (tmp447) ; if (tmp473) { /* tmp476 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp477 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** continue after post-update\n")) ; /* tmp478 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ; /* tmp479 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp443) ; /* tmp480 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(":\n")) ; /* tmp481 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp447) ; /* tmp475 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; } else { /* empty */ } /* end of [if] */ /* tmp482 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_close(")) ; /* tmp483 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp441) ; /* tmp484 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp485 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp442) ; /* tmp486 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp487 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp443) ; /* tmp488 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; break ; /* branch: __ats_lab_103 */ __ats_lab_103_0: if (((ats_sum_ptr_type)tmp414)->tag != 13) { goto __ats_lab_104_0 ; } __ats_lab_103_1: tmp489 = ats_caselptrlab_mac(anairiats_sum_12, tmp414, atslab_0) ; tmp490 = ats_caselptrlab_mac(anairiats_sum_12, tmp414, atslab_1) ; tmp492 = atspre_eq_int_int (tmp489, 0) ; if (tmp492) { /* tmp491 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSbreak2(")) ; } else { /* tmp491 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScontinue2(")) ; } /* end of [if] */ /* tmp493 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp490) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_104 */ __ats_lab_104_0: if (((ats_sum_ptr_type)tmp414)->tag != 14) { goto __ats_lab_105_0 ; } __ats_lab_104_1: tmp494 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp495 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ; /* tmp496 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp494) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ; break ; /* branch: __ats_lab_105 */ __ats_lab_105_0: if (((ats_sum_ptr_type)tmp414)->tag != 28) { goto __ats_lab_106_0 ; } __ats_lab_105_1: tmp497 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_0) ; tmp498 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_1) ; tmp499 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_2) ; /* tmp500 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_try(")) ; /* tmp501 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp497) ; /* tmp502 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; /* tmp503 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp498) ; /* tmp504 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_with(")) ; /* tmp505 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp497) ; /* tmp506 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ; /* tmp507 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ; /* tmp508 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp499) ; /* tmp509 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_end()")) ; break ; /* branch: __ats_lab_106 */ __ats_lab_106_0: if (((ats_sum_ptr_type)tmp414)->tag != 15) { goto __ats_lab_107_0 ; } __ats_lab_106_1: /* tmp510 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp511 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ; break ; /* branch: __ats_lab_107 */ __ats_lab_107_0: if (((ats_sum_ptr_type)tmp414)->tag != 16) { goto __ats_lab_108_0 ; } __ats_lab_107_1: tmp512 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp513 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp514 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(beg)")) ; /* tmp515 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; /* tmp516 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp512) ; /* tmp517 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp518 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(end)")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ; break ; /* branch: __ats_lab_108 */ __ats_lab_108_0: if (((ats_sum_ptr_type)tmp414)->tag != 17) { goto __ats_lab_109_0 ; } __ats_lab_108_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (arg0, arg1) ; break ; /* branch: __ats_lab_109 */ __ats_lab_109_0: if (((ats_sum_ptr_type)tmp414)->tag != 20) { goto __ats_lab_110_0 ; } __ats_lab_109_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ; break ; /* branch: __ats_lab_110 */ __ats_lab_110_0: if (((ats_sum_ptr_type)tmp414)->tag != 19) { goto __ats_lab_111_0 ; } __ats_lab_110_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ; break ; /* branch: __ats_lab_111 */ __ats_lab_111_0: if (((ats_sum_ptr_type)tmp414)->tag != 21) { goto __ats_lab_112_0 ; } __ats_lab_111_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr_patck (arg0, arg1) ; break ; /* branch: __ats_lab_112 */ __ats_lab_112_0: if (((ats_sum_ptr_type)tmp414)->tag != 23) { goto __ats_lab_113_0 ; } __ats_lab_112_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (arg0, arg1) ; break ; /* branch: __ats_lab_113 */ __ats_lab_113_0: if (((ats_sum_ptr_type)tmp414)->tag != 24) { goto __ats_lab_114_0 ; } __ats_lab_113_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (arg0, arg1) ; break ; /* branch: __ats_lab_114 */ __ats_lab_114_0: if (((ats_sum_ptr_type)tmp414)->tag != 25) { goto __ats_lab_115_0 ; } __ats_lab_114_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_raise (arg0, arg1) ; break ; /* branch: __ats_lab_115 */ __ats_lab_115_0: if (((ats_sum_ptr_type)tmp414)->tag != 26) { goto __ats_lab_116_0 ; } __ats_lab_115_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (arg0, arg1) ; break ; /* branch: __ats_lab_116 */ __ats_lab_116_0: if (((ats_sum_ptr_type)tmp414)->tag != 27) { goto __ats_lab_117_0 ; } __ats_lab_116_1: /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (arg0, arg1) ; break ; /* branch: __ats_lab_117 */ __ats_lab_117_0: if (((ats_sum_ptr_type)tmp414)->tag != 29) { goto __ats_lab_118_0 ; } __ats_lab_117_1: tmp519 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp520 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_nil(")) ; /* tmp521 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp519) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_118 */ __ats_lab_118_0: if (((ats_sum_ptr_type)tmp414)->tag != 30) { goto __ats_lab_119_0 ; } __ats_lab_118_1: tmp522 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp523 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_nil(")) ; /* tmp524 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp522) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_119 */ __ats_lab_119_0: if (((ats_sum_ptr_type)tmp414)->tag != 31) { goto __ats_lab_120_0 ; } __ats_lab_119_1: tmp525 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp526 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp527 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_cons(")) ; /* tmp528 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp525) ; /* tmp529 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp530 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp526) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_120 */ __ats_lab_120_0: if (((ats_sum_ptr_type)tmp414)->tag != 32) { goto __ats_lab_121_0 ; } __ats_lab_120_1: tmp531 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_0) ; tmp532 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_1) ; tmp533 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_2) ; /* tmp534 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_phead(")) ; /* tmp535 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp531) ; /* tmp536 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp537 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp532) ; /* tmp538 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp539 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp533) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_121 */ __ats_lab_121_0: if (((ats_sum_ptr_type)tmp414)->tag != 33) { goto __ats_lab_122_0 ; } __ats_lab_121_1: tmp540 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_0) ; tmp541 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_1) ; tmp542 = ats_caselptrlab_mac(anairiats_sum_13, tmp414, atslab_2) ; /* tmp543 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_ptail(")) ; /* tmp544 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp540) ; /* tmp545 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp546 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp541) ; /* tmp547 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp548 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp542) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_122 */ __ats_lab_122_0: if (((ats_sum_ptr_type)tmp414)->tag != 34) { goto __ats_lab_123_0 ; } __ats_lab_122_1: tmp549 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp550 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp551 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_arrpsz_ptr(")) ; /* tmp552 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp549) ; /* tmp553 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp554 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp550) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_123 */ __ats_lab_123_0: if (((ats_sum_ptr_type)tmp414)->tag != 35) { goto __ats_lab_124_0 ; } __ats_lab_123_1: tmp555 = ats_caselptrlab_mac(anairiats_sum_18, tmp414, atslab_0) ; tmp556 = ats_caselptrlab_mac(anairiats_sum_18, tmp414, atslab_1) ; /* tmp557 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_asz(")) ; /* tmp558 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp555) ; /* tmp559 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp560 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp556) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_124 */ __ats_lab_124_0: if (((ats_sum_ptr_type)tmp414)->tag != 36) { goto __ats_lab_125_0 ; } __ats_lab_124_1: tmp561 = ats_caselptrlab_mac(anairiats_sum_19, tmp414, atslab_0) ; tmp562 = ats_caselptrlab_mac(anairiats_sum_19, tmp414, atslab_1) ; tmp563 = ats_caselptrlab_mac(anairiats_sum_19, tmp414, atslab_2) ; /* tmp564 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_ptr(")) ; /* tmp565 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp561) ; /* tmp566 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp567 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp562) ; /* tmp568 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp569 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp563) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_125 */ __ats_lab_125_0: if (((ats_sum_ptr_type)tmp414)->tag != 37) { goto __ats_lab_126_0 ; } __ats_lab_125_1: tmp570 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp571 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp572 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrinc(")) ; /* tmp573 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp570) ; /* tmp574 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp575 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp571) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_126 */ __ats_lab_126_0: if (((ats_sum_ptr_type)tmp414)->tag != 38) { goto __ats_lab_127_0 ; } __ats_lab_126_1: tmp576 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp577 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp578 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrdec(")) ; /* tmp579 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp576) ; /* tmp580 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp581 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp577) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_127 */ __ats_lab_127_0: if (((ats_sum_ptr_type)tmp414)->tag != 39) { goto __ats_lab_128_0 ; } __ats_lab_127_1: tmp582 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp583 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; tmp584 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp583) ; if (tmp584 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 40855(line=2043, offs=9) -- 40898(line=2044, offs=31)") ; } tmp585 = ats_caselptrlab_mac(anairiats_sum_4, tmp584, atslab_0) ; tmp586 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp585) ; /* tmp587 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSclosure_initize(")) ; /* tmp588 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp583) ; /* tmp589 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp590 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp591 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp592 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp583) ; /* tmp593 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype*)")) ; /* tmp594 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ; /* tmp595 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("&")) ; /* tmp596 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp582) ; /* tmp597 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; tmp598 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp586, 1) ; /* tmp599 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_128 */ __ats_lab_128_0: if (((ats_sum_ptr_type)tmp414)->tag != 40) { goto __ats_lab_129_0 ; } __ats_lab_128_1: tmp600 = ats_caselptrlab_mac(anairiats_sum_2, tmp414, atslab_0) ; /* tmp601 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ; /* tmp602 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINStmpdec(")) ; /* tmp603 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp600) ; /* tmp604 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ; break ; /* branch: __ats_lab_129 */ __ats_lab_129_0: if (((ats_sum_ptr_type)tmp414)->tag != 41) { goto __ats_lab_130_0 ; } __ats_lab_129_1: tmp605 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp606 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp607 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSextvar_assign(")) ; /* tmp608 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVextval(%s)"), tmp605) ; /* tmp609 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp610 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp606) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_130 */ __ats_lab_130_0: if (((ats_sum_ptr_type)tmp414)->tag != 42) { goto __ats_lab_131_0 ; } __ats_lab_130_1: tmp611 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_0) ; tmp612 = ats_caselptrlab_mac(anairiats_sum_7, tmp414, atslab_1) ; /* tmp613 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSdyncst_valbind(")) ; /* tmp614 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp611) ; /* tmp615 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp616 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp612) ; /* tmp400 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; break ; /* branch: __ats_lab_131 */ __ats_lab_131_0: __ats_lab_131_1: /* tmp617 = */ prerr_interror_loc_02187_ (tmp401) ; /* tmp622 = */ atspre_prerr_string (ATSstrcst(": pats_ccomp_emit: emit_instr: ins = ")) ; /* tmp623 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_instr (arg1) ; /* tmp624 = */ atspre_prerr_newline () ; tmp625 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 42504(line=2096, offs=22) -- 42520(line=2096, offs=38)", ATSstrcst("\n")) ; /* tmp400 = */ atspre_assert_errmsg (ats_false_bool, tmp625) ; break ; } while (0) ; return /* (tmp400) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 42659(line=2106, offs=5) -- 43134(line=2130, offs=4) */ ATSstaticdec() ats_void_type loop_94 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) { /* local vardec */ // ATSlocal_void (tmp627) ; ATSlocal (ats_ptr_type, tmp628) ; ATSlocal (ats_ptr_type, tmp629) ; // ATSlocal_void (tmp630) ; ATSlocal (ats_bool_type, tmp631) ; // ATSlocal_void (tmp632) ; ATSlocal (ats_int_type, tmp633) ; ATSlocal (ats_bool_type, tmp634) ; __ats_lab_loop_94: do { /* branch: __ats_lab_132 */ __ats_lab_132_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; } __ats_lab_132_1: tmp628 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp629 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp631 = atspre_gt_int_int (arg3, 0) ; if (tmp631) { /* tmp630 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ; } else { /* empty */ } /* end of [if] */ /* tmp632 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instr (arg0, tmp628) ; tmp633 = atspre_add_int_int (arg3, 1) ; arg0 = arg0 ; arg1 = tmp629 ; arg2 = arg2 ; arg3 = tmp633 ; goto __ats_lab_loop_94 ; // tail call break ; /* branch: __ats_lab_133 */ __ats_lab_133_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_133_1: tmp634 = atspre_eq_int_int (arg3, 0) ; if (tmp634) { /* tmp627 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* (*nothing*) */")) ; } else { /* empty */ } /* end of [if] */ break ; } while (0) ; return /* (tmp627) */ ; } /* end of [loop_94] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 42634(line=2104, offs=3) -- 43189(line=2134, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp626) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst: /* tmp626 = */ loop_94 (arg0, arg1, ATSstrcst("\n"), 0) ; return /* (tmp626) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 43250(line=2138, offs=3) -- 43355(line=2142, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp635) ; // ATSlocal_void (tmp636) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln: /* tmp636 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst (arg0, arg1) ; /* tmp635 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ; return /* (tmp635) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_instrlst_ln] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 43418(line=2148, offs=5) -- 44018(line=2179, offs=4) */ ATSstaticdec() ats_void_type auxcon0_96 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp637) ; ATSlocal (ats_bool_type, tmp638) ; // ATSlocal_void (tmp639) ; // ATSlocal_void (tmp640) ; ATSlocal (ats_int_type, tmp641) ; // ATSlocal_void (tmp642) ; // ATSlocal_void (tmp643) ; // ATSlocal_void (tmp644) ; // ATSlocal_void (tmp645) ; __ats_lab_auxcon0_96: tmp638 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ; if (tmp638) { /* tmp639 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_nil(")) ; /* tmp640 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp637 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; } else { tmp641 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ; /* tmp642 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con0(")) ; /* tmp643 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp644 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp645 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp641) ; /* tmp637 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; } /* end of [if] */ return /* (tmp637) */ ; } /* end of [auxcon0_96] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 44065(line=2183, offs=5) -- 44791(line=2217, offs=4) */ ATSstaticdec() ats_void_type auxtag_97 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp646) ; ATSlocal (ats_int_type, tmp647) ; ATSlocal (ats_bool_type, tmp648) ; ATSlocal (ats_bool_type, tmp649) ; ATSlocal (ats_int_type, tmp650) ; // ATSlocal_void (tmp651) ; ATSlocal (ats_bool_type, tmp652) ; // ATSlocal_void (tmp653) ; // ATSlocal_void (tmp654) ; // ATSlocal_void (tmp655) ; // ATSlocal_void (tmp656) ; // ATSlocal_void (tmp657) ; // ATSlocal_void (tmp658) ; // ATSlocal_void (tmp659) ; ATSlocal (ats_bool_type, tmp660) ; __ats_lab_auxtag_97: do { /* branch: __ats_lab_134 */ __ats_lab_134_0: __ats_lab_134_1: tmp648 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ; if (!tmp648) { goto __ats_lab_135_1 ; } tmp647 = 0 ; break ; /* branch: __ats_lab_135 */ __ats_lab_135_0: __ats_lab_135_1: tmp649 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_singular (arg2) ; if (!tmp649) { goto __ats_lab_136_1 ; } tmp647 = 0 ; break ; /* branch: __ats_lab_136 */ __ats_lab_136_0: __ats_lab_136_1: tmp647 = 1 ; break ; } while (0) ; tmp650 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ; tmp652 = atspre_gt_int_int (tmp647, 0) ; if (tmp652) { /* tmp651 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ; } else { /* empty */ } /* end of [if] */ /* tmp653 = */ atspre_fprintf_exn (arg0, ATSstrcst("#if(%i)\n"), tmp647) ; /* tmp654 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_tag(")) ; /* tmp655 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp656 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp657 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_int (arg0, tmp650) ; /* tmp658 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; tmp660 = atspre_gt_int_int (tmp647, 0) ; if (tmp660) { /* tmp659 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ; } else { /* empty */ } /* end of [if] */ /* tmp646 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ; return /* (tmp646) */ ; } /* end of [auxtag_97] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 44816(line=2219, offs=5) -- 45630(line=2252, offs=4) */ ATSstaticdec() ats_void_type auxarg_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp661) ; ATSlocal (ats_ptr_type, tmp662) ; ATSlocal (ats_ptr_type, tmp663) ; ATSlocal (ats_ptr_type, tmp664) ; ATSlocal (ats_ptr_type, tmp665) ; ATSlocal (ats_bool_type, tmp666) ; // ATSlocal_void (tmp667) ; // ATSlocal_void (tmp668) ; // ATSlocal_void (tmp669) ; // ATSlocal_void (tmp670) ; // ATSlocal_void (tmp671) ; // ATSlocal_void (tmp672) ; // ATSlocal_void (tmp673) ; // ATSlocal_void (tmp674) ; // ATSlocal_void (tmp675) ; // ATSlocal_void (tmp676) ; // ATSlocal_void (tmp677) ; __ats_lab_auxarg_98: do { /* branch: __ats_lab_137 */ __ats_lab_137_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; } __ats_lab_137_1: break ; /* branch: __ats_lab_138 */ __ats_lab_138_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_138_1: tmp662 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ; tmp663 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ; // tmp664 = ats_caselptrlab_mac(anairiats_sum_6, tmp662, atslab_0) ; tmp665 = ats_caselptrlab_mac(anairiats_sum_6, tmp662, atslab_1) ; tmp666 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_is_top (tmp665) ; if (tmp666) { /* tmp667 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ; } else { /* empty */ } /* end of [if] */ /* tmp668 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_ofs(")) ; /* tmp669 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp670 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp671 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ; /* tmp672 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp673 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, tmp664) ; /* tmp674 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp675 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp665) ; /* tmp676 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; if (tmp666) { /* tmp677 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ; } else { /* empty */ } /* end of [if] */ arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp663 ; goto __ats_lab_auxarg_98 ; // tail call break ; } while (0) ; return /* (tmp661) */ ; } /* end of [auxarg_98] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 45655(line=2254, offs=5) -- 46352(line=2291, offs=4) */ ATSstaticdec() ats_void_type auxcon1_99 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp678) ; ATSlocal (ats_int_type, tmp679) ; ATSlocal (ats_bool_type, tmp680) ; // ATSlocal_void (tmp681) ; // ATSlocal_void (tmp682) ; // ATSlocal_void (tmp683) ; // ATSlocal_void (tmp684) ; // ATSlocal_void (tmp685) ; // ATSlocal_void (tmp686) ; // ATSlocal_void (tmp687) ; // ATSlocal_void (tmp688) ; // ATSlocal_void (tmp689) ; __ats_lab_auxcon1_99: tmp680 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_linear (arg2) ; if (tmp680) { tmp679 = 0 ; } else { tmp679 = 1 ; } /* end of [if] */ /* tmp681 = */ atspre_fprintf_exn (arg0, ATSstrcst("/*\n#LINCONSTATUS==%i\n*/\n"), tmp679) ; /* tmp682 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_beg()\n")) ; /* tmp683 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_new(")) ; /* tmp684 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp685 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp686 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ; /* tmp687 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp688 = */ auxtag_97 (arg0, arg1, arg2) ; /* tmp689 = */ auxarg_98 (arg0, arg1, arg3, arg4) ; /* tmp678 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_end()")) ; return /* (tmp678) */ ; } /* end of [auxcon1_99] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 46399(line=2295, offs=5) -- 46662(line=2308, offs=4) */ ATSstaticdec() ats_void_type auxexn0_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ // ATSlocal_void (tmp690) ; // ATSlocal_void (tmp691) ; // ATSlocal_void (tmp692) ; // ATSlocal_void (tmp693) ; // ATSlocal_void (tmp694) ; __ats_lab_auxexn0_100: /* tmp691 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn0(")) ; /* tmp692 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp693 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp694 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ; /* tmp690 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; return /* (tmp690) */ ; } /* end of [auxexn0_100] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 46688(line=2310, offs=5) -- 47584(line=2351, offs=4) */ ATSstaticdec() ats_void_type auxexn1_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ // ATSlocal_void (tmp695) ; // ATSlocal_void (tmp696) ; // ATSlocal_void (tmp697) ; // ATSlocal_void (tmp698) ; // ATSlocal_void (tmp699) ; // ATSlocal_void (tmp700) ; // ATSlocal_void (tmp701) ; // ATSlocal_void (tmp702) ; // ATSlocal_void (tmp703) ; // ATSlocal_void (tmp704) ; // ATSlocal_void (tmp705) ; // ATSlocal_void (tmp706) ; // ATSlocal_void (tmp707) ; // ATSlocal_void (tmp708) ; // ATSlocal_void (tmp709) ; // ATSlocal_void (tmp710) ; // ATSlocal_void (tmp711) ; // ATSlocal_void (tmp712) ; __ats_lab_auxexn1_101: /* tmp696 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_beg()\n")) ; /* tmp697 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_new(")) ; /* tmp698 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp699 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp700 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ; /* tmp701 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp702 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_tag(")) ; /* tmp703 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp704 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp705 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ; /* tmp706 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp707 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_msg(")) ; /* tmp708 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ; /* tmp709 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp710 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ; /* tmp711 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp712 = */ auxarg_98 (arg0, arg1, arg3, arg4) ; /* tmp695 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_end()")) ; return /* (tmp695) */ ; } /* end of [auxexn1_101] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 47662(line=2357, offs=3) -- 48320(line=2387, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp713) ; ATSlocal (ats_ptr_type, tmp714) ; ATSlocal (ats_ptr_type, tmp715) ; ATSlocal (ats_ptr_type, tmp716) ; ATSlocal (ats_ptr_type, tmp717) ; ATSlocal (ats_ptr_type, tmp718) ; // ATSlocal_void (tmp719) ; ATSlocal (ats_bool_type, tmp720) ; ATSlocal (ats_bool_type, tmp721) ; ATSlocal (ats_bool_type, tmp722) ; // ATSlocal_void (tmp723) ; ATSlocal (ats_ptr_type, tmp724) ; // ATSlocal_void (tmp725) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_con: tmp714 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp714)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 47687(line=2359, offs=6) -- 47742(line=2360, offs=44)") ; } tmp715 = ats_caselptrlab_mac(anairiats_sum_20, tmp714, atslab_0) ; tmp716 = ats_caselptrlab_mac(anairiats_sum_20, tmp714, atslab_1) ; tmp717 = ats_caselptrlab_mac(anairiats_sum_20, tmp714, atslab_2) ; tmp718 = ats_caselptrlab_mac(anairiats_sum_20, tmp714, atslab_3) ; /* tmp719 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_newline (arg0) ; tmp720 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_con (tmp716) ; tmp721 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_exn (tmp716) ; tmp722 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__d2con_is_nullary (tmp716) ; if (tmp722) { if (tmp720) { /* tmp723 = */ auxcon0_96 (arg0, tmp715, tmp716) ; } else { /* empty */ } /* end of [if] */ if (tmp721) { /* tmp713 = */ auxexn0_100 (arg0, tmp715, tmp716) ; } else { /* empty */ } /* end of [if] */ } else { tmp724 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp717) ; if (tmp720) { /* tmp725 = */ auxcon1_99 (arg0, tmp715, tmp716, tmp724, tmp718) ; } else { /* empty */ } /* end of [if] */ if (tmp721) { /* tmp713 = */ auxexn1_101 (arg0, tmp715, tmp716, tmp724, tmp718) ; } else { /* empty */ } /* end of [if] */ } /* end of [if] */ return /* (tmp713) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 48454(line=2397, offs=5) -- 49296(line=2433, offs=4) */ ATSstaticdec() ats_void_type loop_104 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ // ATSlocal_void (tmp727) ; ATSlocal (ats_ptr_type, tmp728) ; ATSlocal (ats_ptr_type, tmp729) ; ATSlocal (ats_ptr_type, tmp730) ; ATSlocal (ats_ptr_type, tmp731) ; // ATSlocal_void (tmp732) ; ATSlocal (ats_bool_type, tmp733) ; // ATSlocal_void (tmp734) ; ATSlocal (ats_bool_type, tmp735) ; // ATSlocal_void (tmp736) ; ATSlocal (ats_bool_type, tmp737) ; // ATSlocal_void (tmp738) ; // ATSlocal_void (tmp739) ; // ATSlocal_void (tmp740) ; // ATSlocal_void (tmp741) ; // ATSlocal_void (tmp742) ; // ATSlocal_void (tmp743) ; // ATSlocal_void (tmp744) ; // ATSlocal_void (tmp745) ; ATSlocal (ats_int_type, tmp746) ; __ats_lab_loop_104: do { /* branch: __ats_lab_139 */ __ats_lab_139_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; } __ats_lab_139_1: tmp728 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_0) ; tmp729 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ; tmp730 = ats_caselptrlab_mac(anairiats_sum_6, tmp728, atslab_0) ; tmp731 = ats_caselptrlab_mac(anairiats_sum_6, tmp728, atslab_1) ; tmp733 = atspre_gt_int_int (arg5, 0) ; if (tmp733) { /* tmp732 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("\n")) ; } else { /* empty */ } /* end of [if] */ tmp735 = atspre_eq_int_int (arg0, 0) ; if (tmp735) { /* tmp734 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_fltrec_ofs (")) ; } else { /* empty */ } /* end of [if] */ tmp737 = atspre_gt_int_int (arg0, 0) ; if (tmp737) { /* tmp736 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_boxrec_ofs (")) ; } else { /* empty */ } /* end of [if] */ /* tmp738 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (env0, arg2) ; /* tmp739 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ; /* tmp740 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (env0, arg3) ; /* tmp741 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ; /* tmp742 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (env0, arg1, tmp730) ; /* tmp743 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ; /* tmp744 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (env0, tmp731) ; /* tmp745 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(") ;")) ; tmp746 = atspre_add_int_int (arg5, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = arg3 ; arg4 = tmp729 ; arg5 = tmp746 ; goto __ats_lab_loop_104 ; // tail call break ; /* branch: __ats_lab_140 */ __ats_lab_140_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_140_1: break ; } while (0) ; return /* (tmp727) */ ; } /* end of [loop_104] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop_104_closure_type ; ats_void_type loop_104_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) { loop_104 (((loop_104_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2, arg3, arg4, arg5) ; return ; } /* end of function */ ATSinline() ats_void_type loop_104_closure_init (loop_104_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop_104_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop_104_closure_make (ats_ptr_type env0) { loop_104_closure_type *p_clo = ATS_MALLOC(sizeof(loop_104_closure_type)) ; loop_104_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 48430(line=2395, offs=3) -- 50488(line=2488, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp726) ; ATSlocal (ats_ptr_type, tmp747) ; ATSlocal (ats_ptr_type, tmp748) ; ATSlocal (ats_ptr_type, tmp749) ; ATSlocal (ats_ptr_type, tmp750) ; ATSlocal (ats_ptr_type, tmp751) ; ATSlocal (ats_int_type, tmp752) ; // ATSlocal_void (tmp753) ; // ATSlocal_void (tmp754) ; ATSlocal (ats_ptr_type, tmp755) ; ATSlocal (ats_ptr_type, tmp756) ; ATSlocal (ats_ptr_type, tmp757) ; ATSlocal (ats_ptr_type, tmp758) ; ATSlocal (ats_int_type, tmp759) ; // ATSlocal_void (tmp760) ; // ATSlocal_void (tmp761) ; // ATSlocal_void (tmp762) ; // ATSlocal_void (tmp763) ; // ATSlocal_void (tmp764) ; // ATSlocal_void (tmp765) ; // ATSlocal_void (tmp766) ; // ATSlocal_void (tmp767) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec: tmp747 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; do { /* branch: __ats_lab_141 */ __ats_lab_141_0: if (((ats_sum_ptr_type)tmp747)->tag != 20) { goto __ats_lab_142_0 ; } __ats_lab_141_1: tmp748 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_0) ; tmp749 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_1) ; tmp750 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_2) ; tmp751 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (1, tmp750) ; tmp752 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp750) ; /* tmp753 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_fltrec_beg()\n")) ; /* tmp754 = */ loop_104 (arg0, 0, tmp752, tmp748, tmp751, tmp749, 0) ; /* tmp726 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_fltrec_end()")) ; break ; /* branch: __ats_lab_142 */ __ats_lab_142_0: if (((ats_sum_ptr_type)tmp747)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 49323(line=2437, offs=1) -- 50454(line=2486, offs=6)") ; } __ats_lab_142_1: tmp755 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_0) ; tmp756 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_1) ; tmp757 = ats_caselptrlab_mac(anairiats_sum_13, tmp747, atslab_2) ; tmp758 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp757) ; tmp759 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp757) ; /* tmp760 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n#LINCONSTATUS==2\n*/\n")) ; /* tmp761 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_beg()\n")) ; /* tmp762 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_new(")) ; /* tmp763 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp755) ; /* tmp764 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp765 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp758) ; /* tmp766 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ; /* tmp767 = */ loop_104 (arg0, 1, tmp759, tmp755, tmp758, tmp756, 0) ; /* tmp726 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_boxrec_end()")) ; break ; } while (0) ; return /* (tmp726) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 50554(line=2494, offs=5) -- 50926(line=2515, offs=4) */ ATSstaticdec() ats_void_type auxsel_105 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp768) ; // ATSlocal_void (tmp769) ; // ATSlocal_void (tmp770) ; // ATSlocal_void (tmp771) ; // ATSlocal_void (tmp772) ; // ATSlocal_void (tmp773) ; // ATSlocal_void (tmp774) ; __ats_lab_auxsel_105: /* tmp769 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELcon(")) ; /* tmp770 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ; /* tmp771 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp772 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, arg2) ; /* tmp773 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp774 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, arg3) ; /* tmp768 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp768) */ ; } /* end of [auxsel_105] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 51003(line=2521, offs=3) -- 51123(line=2528, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selcon (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp775) ; ATSlocal (ats_ptr_type, tmp776) ; ATSlocal (ats_ptr_type, tmp777) ; ATSlocal (ats_ptr_type, tmp778) ; ATSlocal (ats_ptr_type, tmp779) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selcon: tmp776 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp776)->tag != 22) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 51028(line=2523, offs=5) -- 51079(line=2524, offs=42)") ; } tmp777 = ats_caselptrlab_mac(anairiats_sum_13, tmp776, atslab_0) ; tmp778 = ats_caselptrlab_mac(anairiats_sum_13, tmp776, atslab_1) ; tmp779 = ats_caselptrlab_mac(anairiats_sum_13, tmp776, atslab_2) ; /* tmp775 = */ auxsel_105 (arg0, tmp777, tmp778, tmp779) ; return /* (tmp775) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selcon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 51210(line=2537, offs=1) -- 51379(line=2545, offs=4) */ ATSstaticdec() ats_ptr_type auxfnd_107 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp780) ; ATSlocal (ats_ptr_type, tmp781) ; ATSlocal (ats_ptr_type, tmp782) ; ATSlocal (ats_ptr_type, tmp783) ; ATSlocal (ats_ptr_type, tmp784) ; ATSlocal (ats_bool_type, tmp785) ; __ats_lab_auxfnd_107: if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 51273(line=2541, offs=7) -- 51298(line=2541, offs=32)") ; } tmp781 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp782 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp783 = ats_caselptrlab_mac(anairiats_sum_21, tmp781, atslab_0) ; tmp784 = ats_caselptrlab_mac(anairiats_sum_21, tmp781, atslab_2) ; tmp785 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (arg0, tmp783) ; if (tmp785) { tmp780 = tmp784 ; } else { arg0 = arg0 ; arg1 = tmp782 ; goto __ats_lab_auxfnd_107 ; // tail call } /* end of [if] */ return (tmp780) ; } /* end of [auxfnd_107] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2) */ ATSstaticdec() ats_void_type prerr_interror_02186_ () { /* local vardec */ // ATSlocal_void (tmp794) ; // ATSlocal_void (tmp795) ; // ATSlocal_void (tmp796) ; __ats_lab_prerr_interror_02186_: /* tmp795 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ; /* tmp796 = */ prerr_FILENAME_02185_ () ; /* tmp794 = */ atspre_prerr_string (ATSstrcst(")")) ; return /* (tmp794) */ ; } /* end of [prerr_interror_02186_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 51404(line=2548, offs=1) -- 52329(line=2592, offs=4) */ ATSstaticdec() ats_ptr_type auxsel_108 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp786) ; ATSlocal (ats_ptr_type, tmp787) ; ATSlocal (ats_ptr_type, tmp788) ; ATSlocal (ats_ptr_type, tmp789) ; ATSlocal (ats_ptr_type, tmp790) ; ATSlocal (ats_ptr_type, tmp791) ; ATSlocal (ats_ptr_type, tmp792) ; // ATSlocal_void (tmp793) ; // ATSlocal_void (tmp797) ; // ATSlocal_void (tmp798) ; // ATSlocal_void (tmp799) ; // ATSlocal_void (tmp800) ; // ATSlocal_void (tmp801) ; // ATSlocal_void (tmp802) ; // ATSlocal_void (tmp803) ; // ATSlocal_void (tmp804) ; ATSlocal (ats_ptr_type, tmp805) ; ATSlocal (ats_ptr_type, tmp806) ; ATSlocal (ats_ptr_type, tmp807) ; __ats_lab_auxsel_108: tmp787 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_primlab_node) ; do { /* branch: __ats_lab_143 */ __ats_lab_143_0: if (((ats_sum_ptr_type)tmp787)->tag != 0) { goto __ats_lab_148_0 ; } __ats_lab_143_1: tmp788 = ats_caselptrlab_mac(anairiats_sum_2, tmp787, atslab_0) ; tmp789 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; do { /* branch: __ats_lab_144 */ __ats_lab_144_0: if (((ats_sum_ptr_type)tmp789)->tag != 8) { goto __ats_lab_145_0 ; } __ats_lab_144_1: tmp790 = ats_caselptrlab_mac(anairiats_sum_7, tmp789, atslab_1) ; tmp786 = auxfnd_107 (tmp788, tmp790) ; break ; /* branch: __ats_lab_145 */ __ats_lab_145_0: if (((ats_sum_ptr_type)tmp789)->tag != 9) { goto __ats_lab_146_0 ; } __ats_lab_145_1: tmp791 = ats_caselptrlab_mac(anairiats_sum_2, tmp789, atslab_0) ; tmp786 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__labhisexp_get_elt (tmp791) ; break ; /* branch: __ats_lab_146 */ __ats_lab_146_0: if (((ats_sum_ptr_type)tmp789)->tag != 10) { goto __ats_lab_147_0 ; } __ats_lab_146_1: tmp792 = ats_caselptrlab_mac(anairiats_sum_7, tmp789, atslab_1) ; tmp786 = auxfnd_107 (tmp788, tmp792) ; break ; /* branch: __ats_lab_147 */ __ats_lab_147_0: __ats_lab_147_1: /* tmp793 = */ prerr_interror_02186_ () ; /* tmp797 = */ atspre_prerr_string (ATSstrcst(": auxsel: pml = ")) ; /* tmp798 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__prerr_primlab (arg1) ; /* tmp799 = */ atspre_prerr_newline () ; /* tmp800 = */ prerr_interror_02186_ () ; /* tmp801 = */ atspre_prerr_string (ATSstrcst(": auxsel: hse0 = ")) ; /* tmp802 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__prerr_hisexp (arg0) ; /* tmp803 = */ atspre_prerr_newline () ; tmp805 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 52065(line=2580, offs=24) -- 52081(line=2580, offs=40)", ATSstrcst("\n")) ; /* tmp804 = */ atspre_assert_errmsg (ats_false_bool, tmp805) ; /* tmp786 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; break ; /* branch: __ats_lab_148 */ __ats_lab_148_0: // if (((ats_sum_ptr_type)tmp787)->tag != 1) { ats_deadcode_failure_handle () ; } __ats_lab_148_1: tmp806 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ; if (((ats_sum_ptr_type)tmp806)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 52217(line=2587, offs=9) -- 52266(line=2588, offs=41)") ; } tmp807 = ats_caselptrlab_mac(anairiats_sum_7, tmp806, atslab_0) ; tmp786 = tmp807 ; break ; } while (0) ; return (tmp786) ; } /* end of [auxsel_108] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 52485(line=2602, offs=5) -- 52781(line=2615, offs=2) */ ATSstaticdec() ats_ptr_type loop_111 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp809) ; ATSlocal (ats_ptr_type, tmp810) ; ATSlocal (ats_ptr_type, tmp811) ; ATSlocal (ats_ptr_type, tmp812) ; ATSlocal (ats_ptr_type, tmp813) ; ATSlocal (anairiats_rec_22, tmp814) ; __ats_lab_loop_111: do { /* branch: __ats_lab_149 */ __ats_lab_149_0: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; } __ats_lab_149_1: tmp809 = arg2 ; break ; /* branch: __ats_lab_150 */ __ats_lab_150_0: // if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_150_1: tmp810 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ; tmp811 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ; tmp812 = auxsel_108 (arg0, tmp810) ; tmp814.atslab_0 = arg0 ; tmp814.atslab_1 = tmp810 ; tmp813 = ATS_MALLOC(sizeof(anairiats_sum_23)) ; ats_selptrset_mac(anairiats_sum_23, tmp813, atslab_0, tmp814) ; ats_selptrset_mac(anairiats_sum_23, tmp813, atslab_1, arg2) ; arg0 = tmp812 ; arg1 = tmp811 ; arg2 = tmp813 ; goto __ats_lab_loop_111 ; // tail call break ; } while (0) ; return (tmp809) ; } /* end of [loop_111] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 52354(line=2595, offs=1) -- 52847(line=2619, offs=4) */ ATSstaticdec() ats_ptr_type auxselist_110 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp808) ; ATSlocal (ats_ptr_type, tmp815) ; __ats_lab_auxselist_110: tmp815 = (ats_sum_ptr_type)0 ; tmp808 = loop_111 (arg0, arg1, tmp815) ; return (tmp808) ; } /* end of [auxselist_110] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87) */ ATSstaticdec() ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp827) ; __ats_lab_list_vt_is_nil_01494_: do { /* branch: __ats_lab_153 */ __ats_lab_153_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_154_0 ; } __ats_lab_153_1: tmp827 = ats_true_bool ; break ; /* branch: __ats_lab_154 */ __ats_lab_154_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_154_1: tmp827 = ats_false_bool ; break ; } while (0) ; return (tmp827) ; } /* end of [list_vt_is_nil_01494_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 52875(line=2622, offs=1) -- 55014(line=2707, offs=4) */ ATSstaticdec() ats_void_type auxmain_112 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ // ATSlocal_void (tmp816) ; ATSlocal (anairiats_rec_22, tmp817) ; ATSlocal (ats_ptr_type, tmp818) ; ATSlocal (ats_ptr_type, tmp819) ; ATSlocal (ats_ptr_type, tmp820) ; ATSlocal (ats_ptr_type, tmp821) ; ATSlocal (ats_ptr_type, tmp822) ; ATSlocal (ats_ptr_type, tmp824) ; ATSlocal (ats_ptr_type, tmp825) ; ATSlocal (ats_bool_type, tmp826) ; ATSlocal (ats_ptr_type, tmp828) ; ATSlocal (ats_ptr_type, tmp829) ; ATSlocal (ats_bool_type, tmp830) ; ATSlocal (ats_int_type, tmp831) ; // ATSlocal_void (tmp832) ; ATSlocal (ats_bool_type, tmp833) ; ATSlocal (ats_bool_type, tmp834) ; ATSlocal (ats_bool_type, tmp835) ; // ATSlocal_void (tmp836) ; ATSlocal (ats_int_type, tmp837) ; // ATSlocal_void (tmp838) ; // ATSlocal_void (tmp839) ; // ATSlocal_void (tmp840) ; ATSlocal (ats_int_type, tmp841) ; // ATSlocal_void (tmp842) ; __ats_lab_auxmain_112: do { /* branch: __ats_lab_151 */ __ats_lab_151_0: if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; } __ats_lab_151_1: tmp817 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_0) ; tmp818 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_1) ; ATS_FREE(arg4) ; tmp819 = ats_select_mac(tmp817, atslab_0) ; tmp820 = ats_select_mac(tmp817, atslab_1) ; /* ats_ptr_type tmp821 ; */ tmp821 = tmp819 ; /* ats_ptr_type tmp822 ; */ tmp822 = arg2 ; tmp824 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp819), atslab_hisexp_node) ; do { /* branch: __ats_lab_152 */ __ats_lab_152_0: if (((ats_sum_ptr_type)tmp824)->tag != 7) { goto __ats_lab_155_0 ; } __ats_lab_152_1: tmp825 = ats_caselptrlab_mac(anairiats_sum_7, tmp824, atslab_0) ; tmp821 = tmp825 ; tmp826 = list_vt_is_nil_01494_ (tmp818) ; if (tmp826) { tmp829 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_loc) ; tmp828 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_ptrof (tmp829, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_typtr, arg2) ; tmp822 = tmp828 ; } else { /* empty */ } /* end of [if] */ break ; /* branch: __ats_lab_155 */ __ats_lab_155_0: __ats_lab_155_1: break ; } while (0) ; /* ats_bool_type tmp830 ; */ tmp830 = ats_false_bool ; tmp831 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_boxknd (tmp819) ; tmp833 = atspre_lte_int_int (tmp831, 0) ; if (tmp833) { tmp834 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin (tmp819) ; tmp830 = tmp834 ; if (tmp830) { /* tmp832 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELrecsin(")) ; } else { tmp835 = atspre_gte_int_int (tmp831, 0) ; if (tmp835) { /* tmp832 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELfltrec(")) ; } else { /* tmp832 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELarrptrind(")) ; } /* end of [if] */ } /* end of [if] */ } else { /* tmp832 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELboxrec(")) ; } /* end of [if] */ tmp837 = atspre_add_int_int (arg5, 1) ; /* tmp836 = */ auxmain_112 (arg0, arg1, tmp822, arg3, tmp818, tmp837) ; /* tmp838 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp839 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, tmp821) ; /* tmp840 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; tmp841 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp819) ; /* tmp842 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primlab (arg0, tmp841, tmp820) ; /* tmp816 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; break ; /* branch: __ats_lab_156 */ __ats_lab_156_0: // if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_156_1: do { /* branch: __ats_lab_157 */ __ats_lab_157_0: if (arg1 != 0) { goto __ats_lab_158_0 ; } __ats_lab_157_1: /* tmp816 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ; break ; /* branch: __ats_lab_158 */ __ats_lab_158_0: __ats_lab_158_1: /* tmp816 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval_deref (arg0, arg2, arg3) ; break ; } while (0) ; break ; } while (0) ; return /* (tmp816) */ ; } /* end of [auxmain_112] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55134(line=2717, offs=3) -- 55307(line=2726, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp843) ; ATSlocal (ats_ptr_type, tmp844) ; ATSlocal (ats_ptr_type, tmp845) ; ATSlocal (ats_ptr_type, tmp846) ; ATSlocal (ats_ptr_type, tmp847) ; ATSlocal (ats_ptr_type, tmp848) ; ATSlocal (anairiats_rec_22, tmp849) ; ATSlocal (ats_ptr_type, tmp850) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select: tmp844 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp844)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55159(line=2719, offs=5) -- 55209(line=2720, offs=41)") ; } tmp845 = ats_caselptrlab_mac(anairiats_sum_13, tmp844, atslab_0) ; tmp846 = ats_caselptrlab_mac(anairiats_sum_13, tmp844, atslab_1) ; tmp847 = ats_caselptrlab_mac(anairiats_sum_13, tmp844, atslab_2) ; tmp849.atslab_0 = tmp846 ; tmp849.atslab_1 = tmp847 ; tmp850 = (ats_sum_ptr_type)0 ; tmp848 = ATS_MALLOC(sizeof(anairiats_sum_23)) ; ats_selptrset_mac(anairiats_sum_23, tmp848, atslab_0, tmp849) ; ats_selptrset_mac(anairiats_sum_23, tmp848, atslab_1, tmp850) ; /* tmp843 = */ auxmain_112 (arg0, 0, tmp845, tmp846, tmp848, 0) ; return /* (tmp843) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55395(line=2732, offs=3) -- 55634(line=2745, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select2 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp851) ; ATSlocal (ats_ptr_type, tmp852) ; ATSlocal (ats_ptr_type, tmp853) ; ATSlocal (ats_ptr_type, tmp854) ; ATSlocal (ats_ptr_type, tmp855) ; ATSlocal (ats_ptr_type, tmp856) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select2: tmp852 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp852)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55420(line=2734, offs=5) -- 55472(line=2735, offs=42)") ; } tmp853 = ats_caselptrlab_mac(anairiats_sum_13, tmp852, atslab_0) ; tmp854 = ats_caselptrlab_mac(anairiats_sum_13, tmp852, atslab_1) ; tmp855 = ats_caselptrlab_mac(anairiats_sum_13, tmp852, atslab_2) ; tmp856 = auxselist_110 (tmp854, tmp855) ; /* tmp851 = */ auxmain_112 (arg0, 0, tmp853, tmp854, tmp856, 0) ; return /* (tmp851) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_select2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55722(line=2751, offs=3) -- 55944(line=2764, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selptr (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp857) ; ATSlocal (ats_ptr_type, tmp858) ; ATSlocal (ats_ptr_type, tmp859) ; ATSlocal (ats_ptr_type, tmp860) ; ATSlocal (ats_ptr_type, tmp861) ; ATSlocal (ats_ptr_type, tmp862) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selptr: tmp858 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp858)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 55747(line=2753, offs=5) -- 55798(line=2754, offs=42)") ; } tmp859 = ats_caselptrlab_mac(anairiats_sum_13, tmp858, atslab_0) ; tmp860 = ats_caselptrlab_mac(anairiats_sum_13, tmp858, atslab_1) ; tmp861 = ats_caselptrlab_mac(anairiats_sum_13, tmp858, atslab_2) ; tmp862 = auxselist_110 (tmp860, tmp861) ; /* tmp857 = */ auxmain_112 (arg0, 1, tmp859, tmp860, tmp862, 0) ; return /* (tmp857) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_selptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56033(line=2770, offs=3) -- 56344(line=2788, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp863) ; ATSlocal (ats_ptr_type, tmp864) ; ATSlocal (ats_ptr_type, tmp865) ; ATSlocal (ats_ptr_type, tmp866) ; ATSlocal (ats_ptr_type, tmp867) ; // ATSlocal_void (tmp868) ; ATSlocal (ats_ptr_type, tmp869) ; // ATSlocal_void (tmp870) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel: tmp864 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ; if (((ats_sum_ptr_type)tmp864)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56058(line=2772, offs=5) -- 56111(line=2773, offs=42)") ; } tmp865 = ats_caselptrlab_mac(anairiats_sum_13, tmp864, atslab_0) ; tmp866 = ats_caselptrlab_mac(anairiats_sum_13, tmp864, atslab_1) ; tmp867 = ats_caselptrlab_mac(anairiats_sum_13, tmp864, atslab_2) ; /* tmp868 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof(")) ; tmp869 = auxselist_110 (tmp866, tmp867) ; /* tmp870 = */ auxmain_112 (arg0, 1, tmp865, tmp866, tmp869, 0) ; /* tmp863 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ; return /* (tmp863) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56437(line=2794, offs=3) -- 56817(line=2813, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp871) ; ATSlocal (ats_ptr_type, tmp872) ; ATSlocal (ats_ptr_type, tmp873) ; ATSlocal (ats_ptr_type, tmp874) ; ATSlocal (ats_ptr_type, tmp875) ; ATSlocal (ats_ptr_type, tmp876) ; // ATSlocal_void (tmp877) ; ATSlocal (ats_ptr_type, tmp878) ; // ATSlocal_void (tmp879) ; // ATSlocal_void (tmp880) ; // ATSlocal_void (tmp881) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs: tmp872 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp872)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56461(line=2796, offs=5) -- 56524(line=2797, offs=48)") ; } tmp873 = ats_caselptrlab_mac(anairiats_sum_20, tmp872, atslab_0) ; tmp874 = ats_caselptrlab_mac(anairiats_sum_20, tmp872, atslab_1) ; tmp875 = ats_caselptrlab_mac(anairiats_sum_20, tmp872, atslab_2) ; tmp876 = ats_caselptrlab_mac(anairiats_sum_20, tmp872, atslab_3) ; /* tmp877 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore(")) ; tmp878 = auxselist_110 (tmp874, tmp875) ; /* tmp879 = */ auxmain_112 (arg0, 1, tmp873, tmp874, tmp878, 0) ; /* tmp880 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp881 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp876) ; /* tmp871 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp871) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56913(line=2819, offs=3) -- 57326(line=2835, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp882) ; ATSlocal (ats_ptr_type, tmp883) ; ATSlocal (ats_ptr_type, tmp884) ; ATSlocal (ats_ptr_type, tmp885) ; ATSlocal (ats_ptr_type, tmp886) ; ATSlocal (ats_ptr_type, tmp887) ; ATSlocal (ats_ptr_type, tmp888) ; ATSlocal (ats_ptr_type, tmp889) ; // ATSlocal_void (tmp890) ; // ATSlocal_void (tmp891) ; // ATSlocal_void (tmp892) ; // ATSlocal_void (tmp893) ; // ATSlocal_void (tmp894) ; // ATSlocal_void (tmp895) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs: tmp883 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp883)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 56937(line=2821, offs=5) -- 57006(line=2822, offs=53)") ; } tmp884 = ats_caselptrlab_mac(anairiats_sum_24, tmp883, atslab_0) ; tmp885 = ats_caselptrlab_mac(anairiats_sum_24, tmp883, atslab_1) ; tmp886 = ats_caselptrlab_mac(anairiats_sum_24, tmp883, atslab_2) ; tmp887 = ats_caselptrlab_mac(anairiats_sum_24, tmp883, atslab_3) ; tmp888 = ats_caselptrlab_mac(anairiats_sum_24, tmp883, atslab_4) ; tmp889 = auxselist_110 (tmp886, tmp887) ; /* tmp890 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSxstore(")) ; /* tmp891 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp884) ; /* tmp892 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp893 = */ auxmain_112 (arg0, 1, tmp885, tmp886, tmp889, 0) ; /* tmp894 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp895 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp888) ; /* tmp882 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp882) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 57459(line=2845, offs=3) -- 57731(line=2859, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_raise (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp896) ; ATSlocal (ats_ptr_type, tmp897) ; ATSlocal (ats_ptr_type, tmp898) ; ATSlocal (ats_ptr_type, tmp899) ; // ATSlocal_void (tmp900) ; // ATSlocal_void (tmp901) ; // ATSlocal_void (tmp902) ; // ATSlocal_void (tmp903) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_raise: tmp897 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp897)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 57483(line=2847, offs=5) -- 57525(line=2848, offs=34)") ; } tmp898 = ats_caselptrlab_mac(anairiats_sum_7, tmp897, atslab_0) ; tmp899 = ats_caselptrlab_mac(anairiats_sum_7, tmp897, atslab_1) ; /* tmp900 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSraise_exn(")) ; /* tmp901 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp898) ; /* tmp902 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp903 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp899) ; /* tmp896 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp896) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 57817(line=2865, offs=3) -- 58354(line=2892, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp904) ; ATSlocal (ats_ptr_type, tmp905) ; ATSlocal (ats_ptr_type, tmp906) ; ATSlocal (ats_int_type, tmp907) ; ATSlocal (ats_ptr_type, tmp908) ; ATSlocal (ats_ptr_type, tmp909) ; // ATSlocal_void (tmp910) ; ATSlocal (ats_bool_type, tmp911) ; // ATSlocal_void (tmp912) ; ATSlocal (ats_bool_type, tmp913) ; ATSlocal (ats_ptr_type, tmp914) ; ATSlocal (ats_bool_type, tmp915) ; // ATSlocal_void (tmp916) ; // ATSlocal_void (tmp917) ; // ATSlocal_void (tmp918) ; // ATSlocal_void (tmp919) ; // ATSlocal_void (tmp920) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay: tmp905 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp905)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 57841(line=2867, offs=5) -- 57896(line=2868, offs=42)") ; } tmp906 = ats_caselptrlab_mac(anairiats_sum_25, tmp905, atslab_0) ; tmp907 = ats_caselptrlab_mac(anairiats_sum_25, tmp905, atslab_1) ; tmp908 = ats_caselptrlab_mac(anairiats_sum_25, tmp905, atslab_2) ; tmp909 = ats_caselptrlab_mac(anairiats_sum_25, tmp905, atslab_3) ; tmp911 = atspre_eq_int_int (tmp907, 0) ; if (tmp911) { /* tmp910 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_delay(")) ; } else { /* empty */ } /* end of [if] */ tmp913 = atspre_gt_int_int (tmp907, 0) ; if (tmp913) { /* tmp912 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ldelay(")) ; } else { /* empty */ } /* end of [if] */ tmp915 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_is_void (tmp908) ; if (tmp915) { tmp914 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_int_t0ype () ; } else { tmp914 = tmp908 ; } /* end of [if] */ /* tmp916 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp906) ; /* tmp917 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp918 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp914) ; /* tmp919 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp920 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp909) ; /* tmp904 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp904) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 58448(line=2898, offs=3) -- 58895(line=2917, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp921) ; ATSlocal (ats_ptr_type, tmp922) ; ATSlocal (ats_ptr_type, tmp923) ; ATSlocal (ats_int_type, tmp924) ; ATSlocal (ats_ptr_type, tmp925) ; ATSlocal (ats_ptr_type, tmp926) ; // ATSlocal_void (tmp927) ; ATSlocal (ats_bool_type, tmp928) ; // ATSlocal_void (tmp929) ; ATSlocal (ats_bool_type, tmp930) ; // ATSlocal_void (tmp931) ; // ATSlocal_void (tmp932) ; // ATSlocal_void (tmp933) ; // ATSlocal_void (tmp934) ; // ATSlocal_void (tmp935) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval: tmp922 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ; if (((ats_sum_ptr_type)tmp922)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_emit.dats: 58472(line=2900, offs=5) -- 58533(line=2901, offs=45)") ; } tmp923 = ats_caselptrlab_mac(anairiats_sum_25, tmp922, atslab_0) ; tmp924 = ats_caselptrlab_mac(anairiats_sum_25, tmp922, atslab_1) ; tmp925 = ats_caselptrlab_mac(anairiats_sum_25, tmp922, atslab_2) ; tmp926 = ats_caselptrlab_mac(anairiats_sum_25, tmp922, atslab_3) ; tmp928 = atspre_eq_int_int (tmp924, 0) ; if (tmp928) { /* tmp927 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_lazyeval(")) ; } else { /* empty */ } /* end of [if] */ tmp930 = atspre_gt_int_int (tmp924, 0) ; if (tmp930) { /* tmp929 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_llazyeval(")) ; } else { /* empty */ } /* end of [if] */ /* tmp931 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp923) ; /* tmp932 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp933 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp925) ; /* tmp934 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ; /* tmp935 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp926) ; /* tmp921 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ; return /* (tmp921) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stamp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_global_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_filename_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_symbol_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_emit_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp142, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp142 = ref_make_elt_01089_ats_int_type (0) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_emit_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_dats.c0000664000175000017500000001425112655455557020440 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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" /* external codes at top */ /* type definitions */ /* 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_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_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_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_ineg) (ats_int_type) ; ATSextern_fun(ats_int_type, atspre_isub) (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_ieq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ; ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free) (ats_ptr_type, ats_int_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_lintprgm.dats: 3379(line=122, offs=10) -- 3643(line=131, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free: tmp1 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ; /* tmp0 = */ atspre_array_ptr_free (tmp1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvec0_free] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__Finished" ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2edats__staload () ; #ifdef _ATS_PROOFCHECK _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lintprgm_2esats__myintvecout0_addback_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_lintprgm_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp3_dats.c0000664000175000017500000054521712655455557020211 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_p3at_loc ; ats_ptr_type atslab_p3at_node ; ats_ptr_type atslab_p3at_type ; ats_ptr_type atslab_p3at_dvaropt ; ats_ptr_type atslab_p3at_type_left ; } anairiats_rec_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_2 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_int_type atslab_0 ; } anairiats_sum_4 ; typedef struct { int tag ; ats_bool_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_char_type atslab_0 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_9 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_10 ; typedef struct { ats_ptr_type atslab_d3exp_loc ; ats_ptr_type atslab_d3exp_type ; ats_ptr_type atslab_d3exp_node ; } anairiats_rec_11 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_12 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_13 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_14 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_15 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; } anairiats_sum_16 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_17 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_sum_18 ; typedef struct { ats_ptr_type atslab_d3lab_loc ; ats_ptr_type atslab_d3lab_node ; ats_ptr_type atslab_d3lab_overld ; ats_ptr_type atslab_d3lab_overld_app ; } anairiats_rec_19 ; typedef struct { ats_ptr_type atslab_gm3at_loc ; ats_ptr_type atslab_gm3at_exp ; ats_ptr_type atslab_gm3at_pat ; } anairiats_rec_20 ; typedef struct { ats_ptr_type atslab_c3lau_loc ; ats_ptr_type atslab_c3lau_pat ; ats_ptr_type atslab_c3lau_gua ; ats_int_type atslab_c3lau_seq ; ats_int_type atslab_c3lau_neg ; ats_ptr_type atslab_c3lau_body ; } anairiats_rec_21 ; typedef struct { ats_ptr_type atslab_sc3lau_loc ; ats_ptr_type atslab_sc3lau_pat ; ats_ptr_type atslab_sc3lau_body ; } anairiats_rec_22 ; typedef struct { ats_ptr_type atslab_i3mpdec_loc ; ats_ptr_type atslab_i3mpdec_cst ; ats_ptr_type atslab_i3mpdec_imparg ; ats_ptr_type atslab_i3mpdec_tmparg ; ats_ptr_type atslab_i3mpdec_def ; } anairiats_rec_23 ; typedef struct { ats_ptr_type atslab_f3undec_loc ; ats_ptr_type atslab_f3undec_var ; ats_ptr_type atslab_f3undec_def ; } anairiats_rec_24 ; typedef struct { ats_ptr_type atslab_v3aldec_loc ; ats_ptr_type atslab_v3aldec_pat ; ats_ptr_type atslab_v3aldec_def ; } anairiats_rec_25 ; typedef struct { ats_ptr_type atslab_v3ardec_loc ; ats_int_type atslab_v3ardec_knd ; ats_ptr_type atslab_v3ardec_dvar_var ; ats_ptr_type atslab_v3ardec_dvar_view ; ats_ptr_type atslab_v3ardec_type ; ats_ptr_type atslab_v3ardec_init ; ats_ptr_type atslab_v3ardec_dvaropt ; } anairiats_rec_26 ; typedef struct { ats_ptr_type atslab_prv3ardec_loc ; ats_ptr_type atslab_prv3ardec_dvar ; ats_ptr_type atslab_prv3ardec_type ; ats_ptr_type atslab_prv3ardec_init ; } anairiats_rec_27 ; typedef struct { ats_ptr_type atslab_d3ecl_loc ; ats_ptr_type atslab_d3ecl_node ; } anairiats_rec_28 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_int_type atslab_2 ; ats_ptr_type atslab_3 ; ats_int_type atslab_4 ; } anairiats_sum_29 ; /* external typedefs */ typedef anairiats_rec_19 *d3lab_t ; typedef anairiats_rec_11 *d3exp_t ; typedef anairiats_rec_1 *p3at_t ; /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Emetfun_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecst_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eint_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eintrep_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ebool_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Echar_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eliteral_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextval_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextfcall_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextmcall_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Econ_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpcst_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpvar_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efoldat_20) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efreeat_21) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eitem_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elet_23) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_sta_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eif_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esif_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecase_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Escase_29) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elst_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etup_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erec_32) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eseq_33) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eselab_34) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofvar_35) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofsel_36) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_37) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erefarg_38) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ref_41) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_var_42) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_43) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ref_44) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_var_45) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ptr_46) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ref_47) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_48) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrpsz_49) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrinit_50) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eraise_51) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eeffmask_52) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evcopyenv_53) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etempenver_54) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eann_type_55) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_dyn_56) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_57) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_sta_58) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_met_59) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efix_60) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Edelay_61) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eldelay_62) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elazyeval_63) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloop_64) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloopexn_65) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etrywith_66) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esolverify_67) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clist_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Csaspdec_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextype_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextvar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextcode_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cexndecs_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdatdecs_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdcstdecs_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cimpdec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cfundecs_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_12) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvardecs_13) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cprvardecs_14) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cinclude_15) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaload_16) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaloadloc_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdynload_18) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clocal_19) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_lte_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_bool_type aux_labp3atlst_26 (ats_ptr_type arg0) ; static ats_void_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ; static ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type f_53 (ats_ptr_type arg0) ; static ats_bool_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_bool_type aux1_52 (ats_ptr_type arg0) ; static ats_ptr_type aux2_57 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 1671(line=52, offs=3) -- 1795(line=58, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node: tmp1 = (ats_sum_ptr_type)0 ; tmp2 = (ats_sum_ptr_type)0 ; tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_node, arg2) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_type, arg1) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_dvaropt, tmp1) ; ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_type_left, tmp2) ; return (tmp0) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 1845(line=62, offs=3) -- 1904(line=63, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any: tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp4)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, arg2) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp4) ; return (tmp3) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_any] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 1948(line=68, offs=3) -- 2007(line=69, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var: tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp6)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, arg2) ; tmp5 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp6) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2051(line=74, offs=3) -- 2142(line=75, offs=58) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con: tmp8 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ((ats_sum_ptr_type)tmp8)->tag = 2 ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_3, arg5) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp8) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2186(line=80, offs=3) -- 2239(line=80, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_int: tmp10 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp10)->tag = 3 ; ats_selptrset_mac(anairiats_sum_4, tmp10, atslab_0, arg2) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp10) ; return (tmp9) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2285(line=84, offs=3) -- 2345(line=84, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_intrep: tmp12 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp12)->tag = 4 ; ats_selptrset_mac(anairiats_sum_2, tmp12, atslab_0, arg2) ; tmp11 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp12) ; return (tmp11) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2393(line=89, offs=3) -- 2447(line=89, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_bool: tmp14 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp14)->tag = 5 ; ats_selptrset_mac(anairiats_sum_5, tmp14, atslab_0, arg2) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp14) ; return (tmp13) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2493(line=94, offs=3) -- 2547(line=94, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_char: tmp16 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp16)->tag = 6 ; ats_selptrset_mac(anairiats_sum_6, tmp16, atslab_0, arg2) ; tmp15 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp16) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2594(line=99, offs=3) -- 2653(line=99, offs=62) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_float: tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp18)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, arg2) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp18) ; return (tmp17) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2702(line=104, offs=3) -- 2762(line=104, offs=63) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_string: tmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp20)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_0, arg2) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp20) ; return (tmp19) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2810(line=109, offs=3) -- 2864(line=109, offs=57) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_i0nt: tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp22)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, arg2) ; tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp22) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 2912(line=114, offs=3) -- 2968(line=114, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_f0loat: tmp24 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp24)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp24, atslab_0, arg2) ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp24) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3017(line=119, offs=3) -- 3068(line=119, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_empty: tmp26 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp26) ; return (tmp25) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3112(line=123, offs=10) -- 3197(line=125, offs=56) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_rec: tmp28 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp28)->tag = 12 ; ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_2, arg4) ; tmp27 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp28) ; return (tmp27) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3218(line=128, offs=10) -- 3309(line=130, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst: tmp30 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp30)->tag = 13 ; ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_2, arg4) ; tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp30) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3332(line=133, offs=12) -- 3405(line=135, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_refas: tmp32 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp32)->tag = 14 ; ats_selptrset_mac(anairiats_sum_9, tmp32, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp32, atslab_1, arg3) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp32) ; return (tmp31) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_refas] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3428(line=138, offs=12) -- 3503(line=140, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_exist: tmp34 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp34)->tag = 15 ; ats_selptrset_mac(anairiats_sum_9, tmp34, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp34, atslab_1, arg3) ; tmp33 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp34) ; return (tmp33) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_exist] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3525(line=143, offs=11) -- 3587(line=145, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_vbox (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_vbox: tmp36 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp36)->tag = 16 ; ats_selptrset_mac(anairiats_sum_2, tmp36, atslab_0, arg2) ; tmp35 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp36) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_vbox] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3608(line=148, offs=10) -- 3679(line=150, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_ann: tmp38 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp38)->tag = 17 ; ats_selptrset_mac(anairiats_sum_9, tmp38, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp38, atslab_1, arg3) ; tmp37 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp38) ; return (tmp37) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_ann] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3705(line=154, offs=3) -- 3757(line=154, offs=55) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat: tmp40 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp40) ; return (tmp39) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_errpat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3828(line=160, offs=15) -- 3849(line=160, offs=36) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type: tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_type) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3877(line=162, offs=18) -- 3901(line=162, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt: tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_dvaropt) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_dvaropt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 3931(line=164, offs=20) -- 3957(line=164, offs=46) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left: tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_type_left) ; return (tmp43) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type_left] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 4002(line=169, offs=13) -- 4071(line=171, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_get_type (arg0) ; tmp44 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp45) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 4143(line=176, offs=16) -- 4235(line=179, offs=58) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_lincon (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_lincon: tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)tmp47)->tag != 2) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ; tmp49 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKlincon_1) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind (tmp48, tmp49) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp46 = ats_false_bool ; break ; } while (0) ; return (tmp46) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_lincon] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 4294(line=183, offs=16) -- 4386(line=186, offs=58) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_unfold (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_unfold: tmp51 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)tmp51)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp52 = ats_caselptrlab_mac(anairiats_sum_3, tmp51, atslab_0) ; tmp53 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__PCKunfold_3) ; tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__eq_pckind_pckind (tmp52, tmp53) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp50 = ats_false_bool ; break ; } while (0) ; return (tmp50) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_unfold] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 4452(line=194, offs=1) -- 4724(line=210, offs=2) */ ATSstaticdec() ats_bool_type aux_labp3atlst_26 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; ATSlocal (ats_ptr_type, tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; __ats_lab_aux_labp3atlst_26: do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp54 = ats_true_bool ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp56 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; // tmp57 = ats_caselptrlab_mac(anairiats_sum_10, tmp55, atslab_1) ; tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full (tmp57) ; if (tmp58) { arg0 = tmp56 ; goto __ats_lab_aux_labp3atlst_26 ; // tail call } else { tmp54 = ats_false_bool ; } /* end of [if] */ break ; } while (0) ; return (tmp54) ; } /* end of [aux_labp3atlst_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 4773(line=216, offs=3) -- 5152(line=241, offs=29) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full: tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp59 = ats_true_bool ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)tmp60)->tag != 1) { goto __ats_lab_8_0 ; } __ats_lab_7_1: tmp59 = ats_true_bool ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: if (((ats_sum_ptr_type)tmp60)->tag != 11) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp59 = ats_true_bool ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: if (((ats_sum_ptr_type)tmp60)->tag != 12) { goto __ats_lab_10_0 ; } __ats_lab_9_1: tmp61 = ats_caselptrlab_mac(anairiats_sum_7, tmp60, atslab_2) ; tmp59 = aux_labp3atlst_26 (tmp61) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp60)->tag != 14) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp62 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_1) ; arg0 = tmp62 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp60)->tag != 15) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp63 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_1) ; arg0 = tmp63 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp60)->tag != 17) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_0) ; arg0 = tmp64 ; goto __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: __ats_lab_13_1: tmp59 = ats_false_bool ; break ; } while (0) ; return (tmp59) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__p3at_is_full] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5257(line=250, offs=15) -- 5279(line=250, offs=37) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp65) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type: tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_type) ; return (tmp65) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4) */ ATSstaticdec() ats_void_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_ptr_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; __ats_lab_loop_32: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp71 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp72 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp73 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp71, arg3) ; tmp74 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp74, atslab_0, tmp73) ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp74 ; // if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } tmp75 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ; arg0 = tmp72 ; arg1 = arg1 ; arg2 = tmp75 ; arg3 = arg3 ; goto __ats_lab_loop_32 ; // tail call break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp76 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, arg2) = tmp76 ; break ; } while (0) ; return /* (tmp70) */ ; } /* end of [loop_32] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4) */ ATSstaticdec() ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp77) ; // ATSlocal_void (tmp78) ; __ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type: /* ats_ptr_type tmp77 ; */ /* tmp78 = */ loop_32 (arg0, arg1, (&tmp77), arg2) ; tmp69 = tmp77 ; return (tmp69) ; } /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2) */ ATSstaticdec() ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp68) ; __ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type: tmp68 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp68) ; } /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5313(line=254, offs=3) -- 5428(line=260, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3explst_get_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3explst_get_type: tmp67 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type) ; tmp66 = ats_castfn_mac(ats_ptr_type, tmp67) ; return (tmp66) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3explst_get_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5508(line=265, offs=14) -- 5598(line=269, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf: tmp80 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ; tmp79 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp80) ; return (tmp79) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5653(line=272, offs=17) -- 5705(line=273, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_isnot_prf (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp81) ; ATSlocal (ats_bool_type, tmp82) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_isnot_prf: tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_is_prf (arg0) ; if (tmp82) { tmp81 = ats_false_bool ; } else { tmp81 = ats_true_bool ; } /* end of [if] */ return (tmp81) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_isnot_prf] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5751(line=279, offs=1) -- 5839(line=285, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cst: tmp84 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp84)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp84, atslab_0, arg2) ; tmp83 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp83, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp83, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp83, atslab_d3exp_node, tmp84) ; return (tmp83) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 5904(line=291, offs=1) -- 5992(line=297, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var: tmp86 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp86)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp86, atslab_0, arg2) ; tmp85 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp85, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp85, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp85, atslab_d3exp_node, tmp86) ; return (tmp85) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6059(line=303, offs=3) -- 6139(line=307, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int: tmp88 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp88)->tag = 2 ; ats_selptrset_mac(anairiats_sum_4, tmp88, atslab_0, arg2) ; tmp87 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp87, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp87, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp87, atslab_d3exp_node, tmp88) ; return (tmp87) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6187(line=310, offs=3) -- 6274(line=314, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_intrep: tmp90 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp90)->tag = 3 ; ats_selptrset_mac(anairiats_sum_2, tmp90, atslab_0, arg2) ; tmp89 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp89, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp89, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp89, atslab_d3exp_node, tmp90) ; return (tmp89) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6345(line=320, offs=3) -- 6426(line=324, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_bool: tmp92 = ATS_MALLOC(sizeof(anairiats_sum_5)) ; ((ats_sum_ptr_type)tmp92)->tag = 4 ; ats_selptrset_mac(anairiats_sum_5, tmp92, atslab_0, arg2) ; tmp91 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp91, atslab_d3exp_node, tmp92) ; return (tmp91) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6474(line=328, offs=3) -- 6555(line=332, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_char: tmp94 = ATS_MALLOC(sizeof(anairiats_sum_6)) ; ((ats_sum_ptr_type)tmp94)->tag = 5 ; ats_selptrset_mac(anairiats_sum_6, tmp94, atslab_0, arg2) ; tmp93 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_node, tmp94) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6604(line=336, offs=3) -- 6690(line=340, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_float: tmp96 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp96)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp96, atslab_0, arg2) ; tmp95 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_node, tmp96) ; return (tmp95) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6741(line=344, offs=3) -- 6828(line=348, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_string: tmp98 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp98)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp98, atslab_0, arg2) ; tmp97 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_node, tmp98) ; return (tmp97) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 6899(line=354, offs=3) -- 6980(line=358, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_i0nt: tmp100 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp100)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp100, atslab_0, arg2) ; tmp99 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_node, tmp100) ; return (tmp99) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7030(line=362, offs=3) -- 7113(line=366, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_f0loat: tmp102 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp102)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp102, atslab_0, arg2) ; tmp101 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_node, tmp102) ; return (tmp101) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7183(line=372, offs=3) -- 7259(line=376, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top: tmp104 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12) ; tmp103 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_node, tmp104) ; return (tmp103) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_top] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7307(line=380, offs=3) -- 7385(line=384, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty: tmp106 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13) ; tmp105 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_node, tmp106) ; return (tmp105) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_empty] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7456(line=390, offs=3) -- 7542(line=394, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cstsp: tmp108 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp108)->tag = 10 ; ats_selptrset_mac(anairiats_sum_2, tmp108, atslab_0, arg2) ; tmp107 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_node, tmp108) ; return (tmp107) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7615(line=400, offs=3) -- 7703(line=404, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal: tmp110 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp110)->tag = 11 ; ats_selptrset_mac(anairiats_sum_2, tmp110, atslab_0, arg2) ; tmp109 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_node, tmp110) ; return (tmp109) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7777(line=410, offs=3) -- 7866(line=414, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extval: tmp112 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp112)->tag = 14 ; ats_selptrset_mac(anairiats_sum_2, tmp112, atslab_0, arg2) ; tmp111 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_node, tmp112) ; return (tmp111) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 7920(line=418, offs=3) -- 8023(line=422, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extfcall: tmp114 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp114)->tag = 15 ; ats_selptrset_mac(anairiats_sum_9, tmp114, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp114, atslab_1, arg3) ; tmp113 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_node, tmp114) ; return (tmp113) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extfcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 8079(line=426, offs=3) -- 8194(line=430, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp115) ; ATSlocal (ats_ptr_type, tmp116) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extmcall: tmp116 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp116)->tag = 16 ; ats_selptrset_mac(anairiats_sum_12, tmp116, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp116, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp116, atslab_2, arg4) ; tmp115 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_node, tmp116) ; return (tmp115) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_extmcall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 8475(line=451, offs=6) -- 8557(line=453, offs=34) */ ATSstaticdec() ats_bool_type f_53 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; __ats_lab_f_53: tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_node) ; do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (((ats_sum_ptr_type)tmp119)->tag != 12) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp118 = ats_true_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: tmp118 = ats_false_bool ; break ; } while (0) ; return (tmp118) ; } /* end of [f_53] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 13947(line=514, offs=7) -- 14180(line=521, offs=22) */ ATSstaticdec() ats_bool_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_bool_type, tmp125) ; __ats_lab_loop_56: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp123 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp124 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp125 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp123, arg2) ; if (tmp125) { tmp122 = ats_true_bool ; } else { arg0 = tmp124 ; arg1 = arg1 ; arg2 = arg2 ; goto __ats_lab_loop_56 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp122 = ats_false_bool ; break ; } while (0) ; return (tmp122) ; } /* end of [loop_56] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 13917(line=513, offs=20) -- 14231(line=525, offs=4) */ ATSstaticdec() ats_bool_type list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_bool_type, tmp121) ; __ats_lab_list_exists_funenv_01325_ats_ptr_type: tmp121 = loop_56 (arg0, arg1, arg2) ; return (tmp121) ; } /* end of [list_exists_funenv_01325_ats_ptr_type] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 14303(line=529, offs=11) -- 14565(line=538, offs=4) */ ATSstaticdec() ats_bool_type list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp120) ; __ats_lab_list_exists_fun_01326_ats_ptr_type: tmp120 = list_exists_funenv_01325_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ; return (tmp120) ; } /* end of [list_exists_fun_01326_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 8431(line=448, offs=5) -- 8599(line=456, offs=4) */ ATSstaticdec() ats_bool_type aux1_52 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp117) ; __ats_lab_aux1_52: tmp117 = list_exists_fun_01326_ats_ptr_type (arg0, &f_53) ; return (tmp117) ; } /* end of [aux1_52] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 8622(line=458, offs=5) -- 9018(line=474, offs=2) */ ATSstaticdec() ats_ptr_type aux2_57 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; __ats_lab_aux2_57: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_20_1: tmp127 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ; tmp128 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ; tmp129 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp127) ; tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp127), atslab_d3exp_node) ; do { /* branch: __ats_lab_21 */ __ats_lab_21_0: if (((ats_sum_ptr_type)tmp131)->tag != 12) { goto __ats_lab_22_0 ; } __ats_lab_21_1: tmp130 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp129) ; break ; /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp130 = tmp129 ; break ; } while (0) ; tmp132 = aux2_57 (tmp128) ; tmp126 = ATS_MALLOC(sizeof(anairiats_sum_10)) ; ats_selptrset_mac(anairiats_sum_10, tmp126, atslab_0, tmp130) ; ats_selptrset_mac(anairiats_sum_10, tmp126, atslab_1, tmp132) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp126 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp126) ; } /* end of [aux2_57] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 9078(line=479, offs=11) -- 9405(line=494, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_bool_type, tmp135) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; ATSlocal (ats_ptr_type, tmp139) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_con: /* ats_ptr_type tmp134 ; */ tmp134 = arg1 ; tmp135 = aux1_52 (arg4) ; if (tmp135) { tmp137 = aux2_57 (arg4) ; tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_datcontyp (arg2, tmp137) ; tmp134 = tmp138 ; } else { /* empty */ } /* end of [if] */ tmp139 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp139)->tag = 17 ; ats_selptrset_mac(anairiats_sum_13, tmp139, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp139, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_13, tmp139, atslab_2, arg4) ; tmp133 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp133, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp133, atslab_d3exp_type, tmp134) ; ats_selptrset_mac(anairiats_rec_11, tmp133, atslab_d3exp_node, tmp139) ; return (tmp133) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_con] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 9496(line=501, offs=14) -- 9609(line=507, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst: tmp141 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp141)->tag = 18 ; ats_selptrset_mac(anairiats_sum_9, tmp141, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp141, atslab_1, arg3) ; tmp140 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp140, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp140, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp140, atslab_d3exp_node, tmp141) ; return (tmp140) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpcst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 9659(line=510, offs=14) -- 9772(line=516, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar: tmp143 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp143)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp143, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp143, atslab_1, arg3) ; tmp142 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp142, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp142, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp142, atslab_d3exp_node, tmp143) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tmpvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 9845(line=522, offs=3) -- 9970(line=528, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp144) ; ATSlocal (ats_ptr_type, tmp145) ; ATSlocal (ats_ptr_type, tmp146) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_foldat: tmp145 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp146 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp146)->tag = 20 ; ats_selptrset_mac(anairiats_sum_2, tmp146, atslab_0, arg1) ; tmp144 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp144, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp144, atslab_d3exp_type, tmp145) ; ats_selptrset_mac(anairiats_rec_11, tmp144, atslab_d3exp_node, tmp146) ; return (tmp144) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_foldat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 10022(line=532, offs=3) -- 10147(line=538, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_freeat: tmp148 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp149 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp149)->tag = 21 ; ats_selptrset_mac(anairiats_sum_2, tmp149, atslab_0, arg1) ; tmp147 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp147, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp147, atslab_d3exp_type, tmp148) ; ats_selptrset_mac(anairiats_rec_11, tmp147, atslab_d3exp_node, tmp149) ; return (tmp147) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_freeat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 10216(line=543, offs=12) -- 10333(line=549, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item: tmp151 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp151)->tag = 22 ; ats_selptrset_mac(anairiats_sum_9, tmp151, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp151, atslab_1, arg3) ; tmp150 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp150, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp150, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp150, atslab_d3exp_node, tmp151) ; return (tmp150) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_item] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 10399(line=554, offs=11) -- 10538(line=562, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let: tmp153 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ; tmp154 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp154)->tag = 23 ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp154, atslab_1, arg2) ; tmp152 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_type, tmp153) ; ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_node, tmp154) ; return (tmp152) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_let] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 10609(line=568, offs=3) -- 10697(line=572, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta: tmp156 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp156)->tag = 24 ; ats_selptrset_mac(anairiats_sum_2, tmp156, atslab_0, arg2) ; tmp155 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp155, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp155, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp155, atslab_d3exp_node, tmp156) ; return (tmp155) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 10775(line=578, offs=3) -- 10970(line=587, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista: tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ; tmp159 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp158), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp159)->tag != 28) { goto __ats_lab_25_0 ; } __ats_lab_24_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: if (((ats_sum_ptr_type)tmp159)->tag != 20) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_sta (arg0, arg1, arg2) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp157 = arg2 ; break ; } while (0) ; return (tmp157) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_unista] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11046(line=593, offs=1) -- 11162(line=599, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn: tmp161 = ATS_MALLOC(sizeof(anairiats_sum_13)) ; ((ats_sum_ptr_type)tmp161)->tag = 25 ; ats_selptrset_mac(anairiats_sum_13, tmp161, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_13, tmp161, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_13, tmp161, atslab_2, arg4) ; tmp160 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp160, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp160, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp160, atslab_d3exp_node, tmp161) ; return (tmp160) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_app_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11231(line=604, offs=11) -- 11357(line=610, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lst: tmp163 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp163)->tag = 30 ; ats_selptrset_mac(anairiats_sum_8, tmp163, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp163, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_8, tmp163, atslab_2, arg4) ; tmp162 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_node, tmp163) ; return (tmp162) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11401(line=613, offs=11) -- 11519(line=619, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup: tmp165 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp165)->tag = 31 ; ats_selptrset_mac(anairiats_sum_7, tmp165, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp165, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp165, atslab_2, arg4) ; tmp164 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_node, tmp165) ; return (tmp164) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tup] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11563(line=622, offs=11) -- 11683(line=628, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_ptr_type, tmp167) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec: tmp167 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp167)->tag = 32 ; ats_selptrset_mac(anairiats_sum_7, tmp167, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp167, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp167, atslab_2, arg4) ; tmp166 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp166, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp166, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp166, atslab_d3exp_node, tmp167) ; return (tmp166) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11727(line=631, offs=11) -- 11817(line=637, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq: tmp169 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp169)->tag = 33 ; ats_selptrset_mac(anairiats_sum_2, tmp169, atslab_0, arg2) ; tmp168 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp168, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp168, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp168, atslab_d3exp_node, tmp169) ; return (tmp168) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_seq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 11881(line=642, offs=10) -- 12006(line=648, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_if: tmp171 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp171)->tag = 26 ; ats_selptrset_mac(anairiats_sum_12, tmp171, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp171, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp171, atslab_2, arg4) ; tmp170 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp170, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp170, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp170, atslab_d3exp_node, tmp171) ; return (tmp170) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_if] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12049(line=651, offs=11) -- 12177(line=657, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sif (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_ptr_type, tmp173) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sif: tmp173 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp173)->tag = 27 ; ats_selptrset_mac(anairiats_sum_12, tmp173, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp173, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp173, atslab_2, arg4) ; tmp172 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_node, tmp173) ; return (tmp172) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sif] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12243(line=662, offs=12) -- 12383(line=669, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_case: tmp175 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp175)->tag = 28 ; ats_selptrset_mac(anairiats_sum_12, tmp175, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp175, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp175, atslab_2, arg4) ; tmp174 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_node, tmp175) ; return (tmp174) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_case] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12430(line=672, offs=13) -- 12565(line=679, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_scase (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_scase: tmp177 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp177)->tag = 29 ; ats_selptrset_mac(anairiats_sum_9, tmp177, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp177, atslab_1, arg3) ; tmp176 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_node, tmp177) ; return (tmp176) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_scase] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12634(line=684, offs=13) -- 12736(line=690, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab: tmp179 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp179)->tag = 34 ; ats_selptrset_mac(anairiats_sum_9, tmp179, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp179, atslab_1, arg3) ; tmp178 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_node, tmp179) ; return (tmp178) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_selab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12810(line=696, offs=3) -- 12899(line=700, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar: tmp181 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp181)->tag = 35 ; ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_0, arg2) ; tmp180 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_node, tmp181) ; return (tmp180) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 12953(line=703, offs=16) -- 13070(line=709, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel: tmp183 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp183)->tag = 36 ; ats_selptrset_mac(anairiats_sum_12, tmp183, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp183, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp183, atslab_2, arg4) ; tmp182 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_node, tmp183) ; return (tmp182) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ptrofsel] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 13145(line=715, offs=3) -- 13246(line=719, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat: tmp185 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp185)->tag = 37 ; ats_selptrset_mac(anairiats_sum_9, tmp185, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp185, atslab_1, arg3) ; tmp184 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_node, tmp185) ; return (tmp184) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 13302(line=722, offs=20) -- 13467(line=730, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn: tmp187 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp188 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp188)->tag = 48 ; ats_selptrset_mac(anairiats_sum_12, tmp188, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp188, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp188, atslab_2, arg3) ; tmp186 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_type, tmp187) ; ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_node, tmp188) ; return (tmp186) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 13545(line=735, offs=15) -- 13661(line=741, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var: tmp190 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp190)->tag = 39 ; ats_selptrset_mac(anairiats_sum_12, tmp190, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp190, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp190, atslab_2, arg4) ; tmp189 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp189, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp189, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp189, atslab_d3exp_node, tmp190) ; return (tmp189) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 13736(line=747, offs=3) -- 13848(line=751, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr: tmp192 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp192)->tag = 40 ; ats_selptrset_mac(anairiats_sum_12, tmp192, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp192, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp192, atslab_2, arg4) ; tmp191 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp191, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp191, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp191, atslab_d3exp_node, tmp192) ; return (tmp191) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 13902(line=755, offs=3) -- 14014(line=759, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp193) ; ATSlocal (ats_ptr_type, tmp194) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref: tmp194 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp194)->tag = 41 ; ats_selptrset_mac(anairiats_sum_12, tmp194, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp194, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp194, atslab_2, arg4) ; tmp193 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp193, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp193, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp193, atslab_d3exp_node, tmp194) ; return (tmp193) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_sel_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 14089(line=764, offs=17) -- 14263(line=772, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var: tmp196 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp197 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp197)->tag = 42 ; ats_selptrset_mac(anairiats_sum_15, tmp197, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp197, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp197, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp197, atslab_3, arg4) ; tmp195 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp195, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp195, atslab_d3exp_type, tmp196) ; ats_selptrset_mac(anairiats_rec_11, tmp195, atslab_d3exp_node, tmp197) ; return (tmp195) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 14319(line=775, offs=17) -- 14493(line=783, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr: tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp200 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp200)->tag = 43 ; ats_selptrset_mac(anairiats_sum_15, tmp200, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp200, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp200, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp200, atslab_3, arg4) ; tmp198 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_type, tmp199) ; ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_node, tmp200) ; return (tmp198) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 14549(line=786, offs=17) -- 14723(line=794, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp201) ; ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ref: tmp202 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp203 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp203)->tag = 44 ; ats_selptrset_mac(anairiats_sum_15, tmp203, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp203, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp203, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp203, atslab_3, arg4) ; tmp201 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp201, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp201, atslab_d3exp_type, tmp202) ; ats_selptrset_mac(anairiats_rec_11, tmp201, atslab_d3exp_node, tmp203) ; return (tmp201) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_assgn_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 14800(line=799, offs=17) -- 14974(line=807, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_var: tmp205 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp206 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp206)->tag = 45 ; ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_3, arg4) ; tmp204 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp204, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp204, atslab_d3exp_type, tmp205) ; ats_selptrset_mac(anairiats_rec_11, tmp204, atslab_d3exp_node, tmp206) ; return (tmp204) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_var] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 15030(line=810, offs=17) -- 15204(line=818, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr: tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp209 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp209)->tag = 46 ; ats_selptrset_mac(anairiats_sum_15, tmp209, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp209, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp209, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp209, atslab_3, arg4) ; tmp207 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_type, tmp208) ; ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_node, tmp209) ; return (tmp207) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 15260(line=821, offs=17) -- 15434(line=829, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ref: tmp211 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp212 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp212)->tag = 47 ; ats_selptrset_mac(anairiats_sum_15, tmp212, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp212, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp212, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp212, atslab_3, arg4) ; tmp210 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp210, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp210, atslab_d3exp_type, tmp211) ; ats_selptrset_mac(anairiats_rec_11, tmp210, atslab_d3exp_node, tmp212) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_xchng_ref] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 15508(line=834, offs=14) -- 15633(line=840, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg: tmp214 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp214)->tag = 38 ; ats_selptrset_mac(anairiats_sum_7, tmp214, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp214, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_7, tmp214, atslab_2, arg4) ; tmp213 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp213, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp213, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp213, atslab_d3exp_node, tmp214) ; return (tmp213) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_refarg] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 15704(line=846, offs=1) -- 15839(line=852, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrpsz: tmp216 = ATS_MALLOC(sizeof(anairiats_sum_16)) ; ((ats_sum_ptr_type)tmp216)->tag = 49 ; ats_selptrset_mac(anairiats_sum_16, tmp216, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_16, tmp216, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_16, tmp216, atslab_2, arg4) ; tmp215 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_node, tmp216) ; return (tmp215) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrpsz] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 15890(line=856, offs=1) -- 16028(line=862, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrinit: tmp218 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp218)->tag = 50 ; ats_selptrset_mac(anairiats_sum_12, tmp218, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp218, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp218, atslab_2, arg4) ; tmp217 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp217, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp217, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp217, atslab_d3exp_node, tmp218) ; return (tmp217) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_arrinit] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 16099(line=868, offs=1) -- 16189(line=874, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_raise: tmp220 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp220)->tag = 51 ; ats_selptrset_mac(anairiats_sum_2, tmp220, atslab_0, arg2) ; tmp219 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp219, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp219, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp219, atslab_d3exp_node, tmp220) ; return (tmp219) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_raise] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 16260(line=880, offs=1) -- 16407(line=890, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask: tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ; tmp223 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp223)->tag = 52 ; ats_selptrset_mac(anairiats_sum_9, tmp223, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp223, atslab_1, arg2) ; tmp221 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_type, tmp222) ; ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_node, tmp223) ; return (tmp221) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_effmask] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 16481(line=896, offs=1) -- 16584(line=902, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_vcopyenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp224) ; ATSlocal (ats_ptr_type, tmp225) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_vcopyenv: tmp225 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp225)->tag = 53 ; ats_selptrset_mac(anairiats_sum_17, tmp225, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp225, atslab_1, arg3) ; tmp224 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_node, tmp225) ; return (tmp224) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_vcopyenv] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 16660(line=908, offs=1) -- 16756(line=914, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tempenver: tmp227 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp227)->tag = 54 ; ats_selptrset_mac(anairiats_sum_2, tmp227, atslab_0, arg2) ; tmp226 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp226, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp226, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp226, atslab_d3exp_node, tmp227) ; return (tmp226) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_tempenver] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 16834(line=920, offs=3) -- 16928(line=924, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ann_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ann_type: tmp229 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp229)->tag = 55 ; ats_selptrset_mac(anairiats_sum_9, tmp229, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp229, atslab_1, arg2) ; tmp228 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp228, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp228, atslab_d3exp_type, arg2) ; ats_selptrset_mac(anairiats_rec_11, tmp228, atslab_d3exp_node, tmp229) ; return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ann_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17002(line=930, offs=1) -- 17134(line=936, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp230) ; ATSlocal (ats_ptr_type, tmp231) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn: tmp231 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp231)->tag = 56 ; ats_selptrset_mac(anairiats_sum_18, tmp231, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp231, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_18, tmp231, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_18, tmp231, atslab_3, arg5) ; tmp230 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp230, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp230, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp230, atslab_d3exp_node, tmp231) ; return (tmp230) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17190(line=939, offs=19) -- 17326(line=945, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn: tmp233 = ATS_MALLOC(sizeof(anairiats_sum_18)) ; ((ats_sum_ptr_type)tmp233)->tag = 57 ; ats_selptrset_mac(anairiats_sum_18, tmp233, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_18, tmp233, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_18, tmp233, atslab_2, arg4) ; ats_selptrset_mac(anairiats_sum_18, tmp233, atslab_3, arg5) ; tmp232 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp232, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp232, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp232, atslab_d3exp_node, tmp233) ; return (tmp232) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17382(line=948, offs=15) -- 17508(line=954, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta: tmp235 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp235)->tag = 58 ; ats_selptrset_mac(anairiats_sum_12, tmp235, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp235, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_12, tmp235, atslab_2, arg4) ; tmp234 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp234, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp234, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp234, atslab_d3exp_node, tmp235) ; return (tmp234) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_sta] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17560(line=957, offs=15) -- 17693(line=963, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_met: tmp237 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d3exp_type) ; tmp238 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp238)->tag = 59 ; ats_selptrset_mac(anairiats_sum_9, tmp238, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp238, atslab_1, arg2) ; tmp236 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp236, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp236, atslab_d3exp_type, tmp237) ; ats_selptrset_mac(anairiats_rec_11, tmp236, atslab_d3exp_node, tmp238) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lam_met] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17762(line=969, offs=1) -- 17890(line=975, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp239) ; ATSlocal (ats_ptr_type, tmp240) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_fix: tmp240 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp240)->tag = 60 ; ats_selptrset_mac(anairiats_sum_8, tmp240, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp240, atslab_1, arg3) ; ats_selptrset_mac(anairiats_sum_8, tmp240, atslab_2, arg4) ; tmp239 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp239, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp239, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp239, atslab_d3exp_node, tmp240) ; return (tmp239) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_fix] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 17957(line=980, offs=13) -- 18051(line=986, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp241) ; ATSlocal (ats_ptr_type, tmp242) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_delay: tmp242 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp242)->tag = 61 ; ats_selptrset_mac(anairiats_sum_2, tmp242, atslab_0, arg2) ; tmp241 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp241, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp241, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp241, atslab_d3exp_node, tmp242) ; return (tmp241) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_delay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 18100(line=989, offs=14) -- 18209(line=995, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp243) ; ATSlocal (ats_ptr_type, tmp244) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ldelay: tmp244 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp244)->tag = 62 ; ats_selptrset_mac(anairiats_sum_9, tmp244, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_9, tmp244, atslab_1, arg3) ; tmp243 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp243, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp243, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp243, atslab_d3exp_node, tmp244) ; return (tmp243) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_ldelay] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 18282(line=1000, offs=16) -- 18401(line=1006, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp245) ; ATSlocal (ats_ptr_type, tmp246) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval: tmp246 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp246)->tag = 63 ; ats_selptrset_mac(anairiats_sum_17, tmp246, atslab_0, arg2) ; ats_selptrset_mac(anairiats_sum_17, tmp246, atslab_1, arg3) ; tmp245 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp245, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp245, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp245, atslab_d3exp_node, tmp246) ; return (tmp245) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_lazyeval] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 18472(line=1012, offs=1) -- 18637(line=1020, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp247) ; ATSlocal (ats_ptr_type, tmp248) ; ATSlocal (ats_ptr_type, tmp249) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loop: tmp248 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp249 = ATS_MALLOC(sizeof(anairiats_sum_15)) ; ((ats_sum_ptr_type)tmp249)->tag = 64 ; ats_selptrset_mac(anairiats_sum_15, tmp249, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_15, tmp249, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_15, tmp249, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_15, tmp249, atslab_3, arg4) ; tmp247 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp247, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp247, atslab_d3exp_type, tmp248) ; ats_selptrset_mac(anairiats_rec_11, tmp247, atslab_d3exp_node, tmp249) ; return (tmp247) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 18688(line=1024, offs=3) -- 18814(line=1030, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loopexn (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp250) ; ATSlocal (ats_ptr_type, tmp251) ; ATSlocal (ats_ptr_type, tmp252) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loopexn: tmp251 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp252 = ATS_MALLOC(sizeof(anairiats_sum_4)) ; ((ats_sum_ptr_type)tmp252)->tag = 65 ; ats_selptrset_mac(anairiats_sum_4, tmp252, atslab_0, arg1) ; tmp250 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_type, tmp251) ; ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_node, tmp252) ; return (tmp250) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_loopexn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 18887(line=1035, offs=15) -- 19016(line=1041, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp253) ; ATSlocal (ats_ptr_type, tmp254) ; ATSlocal (ats_ptr_type, tmp255) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith: tmp254 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_type) ; tmp255 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp255)->tag = 66 ; ats_selptrset_mac(anairiats_sum_9, tmp255, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp255, atslab_1, arg2) ; tmp253 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp253, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp253, atslab_d3exp_type, tmp254) ; ats_selptrset_mac(anairiats_rec_11, tmp253, atslab_d3exp_node, tmp255) ; return (tmp253) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_trywith] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 19093(line=1047, offs=3) -- 19203(line=1052, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp256) ; ATSlocal (ats_ptr_type, tmp257) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_solverify: tmp257 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp257)->tag = 67 ; ats_selptrset_mac(anairiats_sum_2, tmp257, atslab_0, arg1) ; tmp256 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp256, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp256, atslab_d3exp_type, arg1) ; ats_selptrset_mac(anairiats_rec_11, tmp256, atslab_d3exp_node, tmp257) ; return (tmp256) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_solverify] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 19277(line=1057, offs=14) -- 19405(line=1065, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp258) ; ATSlocal (ats_ptr_type, tmp259) ; ATSlocal (ats_ptr_type, tmp260) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp: tmp259 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; tmp260 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; tmp258 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp258, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp258, atslab_d3exp_type, tmp259) ; ats_selptrset_mac(anairiats_rec_11, tmp258, atslab_d3exp_node, tmp260) ; return (tmp258) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 19460(line=1068, offs=19) -- 19585(line=1074, offs=6) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp261) ; ATSlocal (ats_ptr_type, tmp262) ; ATSlocal (ats_ptr_type, tmp263) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void: tmp262 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ; tmp263 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; tmp261 = ATS_MALLOC(sizeof(anairiats_rec_11)) ; ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_loc, arg0) ; ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_type, tmp262) ; ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_node, tmp263) ; return (tmp261) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp_void] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 19658(line=1080, offs=1) -- 19783(line=1087, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_lab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp264) ; ATSlocal (ats_ptr_type, tmp265) ; ATSlocal (ats_ptr_type, tmp266) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_lab: tmp265 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp265)->tag = 0 ; ats_selptrset_mac(anairiats_sum_2, tmp265, atslab_0, arg1) ; tmp266 = (ats_sum_ptr_type)0 ; tmp264 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp264, atslab_d3lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_19, tmp264, atslab_d3lab_node, tmp265) ; ats_selptrset_mac(anairiats_rec_19, tmp264, atslab_d3lab_overld, arg2) ; ats_selptrset_mac(anairiats_rec_19, tmp264, atslab_d3lab_overld_app, tmp266) ; return (tmp264) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_lab] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 19832(line=1091, offs=3) -- 19957(line=1096, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp267) ; ATSlocal (ats_ptr_type, tmp268) ; ATSlocal (ats_ptr_type, tmp269) ; ATSlocal (ats_ptr_type, tmp270) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_ind: tmp268 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp268)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp268, atslab_0, arg1) ; tmp269 = (ats_sum_ptr_type)0 ; tmp270 = (ats_sum_ptr_type)0 ; tmp267 = ATS_MALLOC(sizeof(anairiats_rec_19)) ; ats_selptrset_mac(anairiats_rec_19, tmp267, atslab_d3lab_loc, arg0) ; ats_selptrset_mac(anairiats_rec_19, tmp267, atslab_d3lab_node, tmp268) ; ats_selptrset_mac(anairiats_rec_19, tmp267, atslab_d3lab_overld, tmp269) ; ats_selptrset_mac(anairiats_rec_19, tmp267, atslab_d3lab_overld_app, tmp270) ; return (tmp267) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3lab_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20028(line=1102, offs=3) -- 20101(line=1104, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__gm3at_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp271) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__gm3at_make: tmp271 = ATS_MALLOC(sizeof(anairiats_rec_20)) ; ats_selptrset_mac(anairiats_rec_20, tmp271, atslab_gm3at_loc, arg0) ; ats_selptrset_mac(anairiats_rec_20, tmp271, atslab_gm3at_exp, arg1) ; ats_selptrset_mac(anairiats_rec_20, tmp271, atslab_gm3at_pat, arg2) ; return (tmp271) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__gm3at_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20147(line=1107, offs=12) -- 20292(line=1115, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__c3lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp272) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__c3lau_make: tmp272 = ATS_MALLOC(sizeof(anairiats_rec_21)) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_gua, arg2) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_seq, arg3) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_neg, arg4) ; ats_selptrset_mac(anairiats_rec_21, tmp272, atslab_c3lau_body, arg5) ; return (tmp272) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__c3lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20339(line=1118, offs=13) -- 20422(line=1124, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__sc3lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp273) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__sc3lau_make: tmp273 = ATS_MALLOC(sizeof(anairiats_rec_22)) ; ats_selptrset_mac(anairiats_rec_22, tmp273, atslab_sc3lau_loc, arg0) ; ats_selptrset_mac(anairiats_rec_22, tmp273, atslab_sc3lau_pat, arg1) ; ats_selptrset_mac(anairiats_rec_22, tmp273, atslab_sc3lau_body, arg2) ; return (tmp273) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__sc3lau_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20546(line=1133, offs=14) -- 20695(line=1141, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__i3mpdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) { /* local vardec */ ATSlocal (ats_ptr_type, tmp274) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__i3mpdec_make: tmp274 = ATS_MALLOC(sizeof(anairiats_rec_23)) ; ats_selptrset_mac(anairiats_rec_23, tmp274, atslab_i3mpdec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_23, tmp274, atslab_i3mpdec_cst, arg1) ; ats_selptrset_mac(anairiats_rec_23, tmp274, atslab_i3mpdec_imparg, arg2) ; ats_selptrset_mac(anairiats_rec_23, tmp274, atslab_i3mpdec_tmparg, arg3) ; ats_selptrset_mac(anairiats_rec_23, tmp274, atslab_i3mpdec_def, arg4) ; return (tmp274) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__i3mpdec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20768(line=1147, offs=3) -- 20847(line=1151, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__f3undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp275) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__f3undec_make: tmp275 = ATS_MALLOC(sizeof(anairiats_rec_24)) ; ats_selptrset_mac(anairiats_rec_24, tmp275, atslab_f3undec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_24, tmp275, atslab_f3undec_var, arg1) ; ats_selptrset_mac(anairiats_rec_24, tmp275, atslab_f3undec_def, arg2) ; return (tmp275) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__f3undec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 20920(line=1157, offs=3) -- 20999(line=1161, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp276) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make: tmp276 = ATS_MALLOC(sizeof(anairiats_rec_25)) ; ats_selptrset_mac(anairiats_rec_25, tmp276, atslab_v3aldec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_25, tmp276, atslab_v3aldec_pat, arg1) ; ats_selptrset_mac(anairiats_rec_25, tmp276, atslab_v3aldec_def, arg2) ; return (tmp276) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3aldec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21070(line=1167, offs=1) -- 21280(line=1179, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3ardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) { /* local vardec */ ATSlocal (ats_ptr_type, tmp277) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3ardec_make: tmp277 = ATS_MALLOC(sizeof(anairiats_rec_26)) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_knd, arg1) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_dvar_var, arg2) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_dvar_view, arg3) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_type, arg4) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_init, arg5) ; ats_selptrset_mac(anairiats_rec_26, tmp277, atslab_v3ardec_dvaropt, arg6) ; return (tmp277) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__v3ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21332(line=1183, offs=1) -- 21452(line=1190, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prv3ardec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp278) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prv3ardec_make: tmp278 = ATS_MALLOC(sizeof(anairiats_rec_27)) ; ats_selptrset_mac(anairiats_rec_27, tmp278, atslab_prv3ardec_loc, arg0) ; ats_selptrset_mac(anairiats_rec_27, tmp278, atslab_prv3ardec_dvar, arg1) ; ats_selptrset_mac(anairiats_rec_27, tmp278, atslab_prv3ardec_type, arg2) ; ats_selptrset_mac(anairiats_rec_27, tmp278, atslab_prv3ardec_init, arg3) ; return (tmp278) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__prv3ardec_make] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21530(line=1196, offs=3) -- 21583(line=1198, offs=2) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp279) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node: tmp279 = ATS_MALLOC(sizeof(anairiats_rec_28)) ; ats_selptrset_mac(anairiats_rec_28, tmp279, atslab_d3ecl_loc, arg0) ; ats_selptrset_mac(anairiats_rec_28, tmp279, atslab_d3ecl_node, arg1) ; return (tmp279) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21657(line=1204, offs=3) -- 21698(line=1204, offs=44) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp280) ; ATSlocal (ats_ptr_type, tmp281) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none: tmp281 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0) ; tmp280 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp281) ; return (tmp280) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_none] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21745(line=1208, offs=3) -- 21792(line=1208, offs=50) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_list (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp282) ; ATSlocal (ats_ptr_type, tmp283) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_list: tmp283 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp283)->tag = 1 ; ats_selptrset_mac(anairiats_sum_2, tmp283, atslab_0, arg1) ; tmp282 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp283) ; return (tmp282) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_list] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21862(line=1214, offs=15) -- 21916(line=1215, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp284) ; ATSlocal (ats_ptr_type, tmp285) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_saspdec: tmp285 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp285)->tag = 2 ; ats_selptrset_mac(anairiats_sum_2, tmp285, atslab_0, arg1) ; tmp284 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp285) ; return (tmp284) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_saspdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 21990(line=1222, offs=3) -- 22063(line=1223, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp286) ; ATSlocal (ats_ptr_type, tmp287) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extype: tmp287 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp287)->tag = 3 ; ats_selptrset_mac(anairiats_sum_9, tmp287, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp287, atslab_1, arg2) ; tmp286 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp287) ; return (tmp286) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extype] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22115(line=1228, offs=3) -- 22188(line=1229, offs=51) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp288) ; ATSlocal (ats_ptr_type, tmp289) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extvar: tmp289 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp289)->tag = 4 ; ats_selptrset_mac(anairiats_sum_9, tmp289, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp289, atslab_1, arg2) ; tmp288 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp289) ; return (tmp288) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extvar] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22262(line=1236, offs=3) -- 22338(line=1237, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp290) ; ATSlocal (ats_ptr_type, tmp291) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extcode: tmp291 = ATS_MALLOC(sizeof(anairiats_sum_7)) ; ((ats_sum_ptr_type)tmp291)->tag = 5 ; ats_selptrset_mac(anairiats_sum_7, tmp291, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_7, tmp291, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_7, tmp291, atslab_2, arg3) ; tmp290 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp291) ; return (tmp290) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_extcode] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22413(line=1244, offs=3) -- 22479(line=1245, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp292) ; ATSlocal (ats_ptr_type, tmp293) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_datdecs: tmp293 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp293)->tag = 7 ; ats_selptrset_mac(anairiats_sum_17, tmp293, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp293, atslab_1, arg2) ; tmp292 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp293) ; return (tmp292) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_datdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22554(line=1252, offs=3) -- 22610(line=1253, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp294) ; ATSlocal (ats_ptr_type, tmp295) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_exndecs: tmp295 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp295)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp295, atslab_0, arg1) ; tmp294 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp295) ; return (tmp294) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_exndecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22686(line=1260, offs=3) -- 22763(line=1261, offs=54) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp296) ; ATSlocal (ats_ptr_type, tmp297) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs: tmp297 = ATS_MALLOC(sizeof(anairiats_sum_8)) ; ((ats_sum_ptr_type)tmp297)->tag = 8 ; ats_selptrset_mac(anairiats_sum_8, tmp297, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_8, tmp297, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_8, tmp297, atslab_2, arg3) ; tmp296 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp297) ; return (tmp296) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22838(line=1268, offs=3) -- 22907(line=1269, offs=49) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp298) ; ATSlocal (ats_ptr_type, tmp299) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_impdec: tmp299 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp299)->tag = 9 ; ats_selptrset_mac(anairiats_sum_17, tmp299, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp299, atslab_1, arg2) ; tmp298 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp299) ; return (tmp298) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_impdec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 22981(line=1276, offs=3) -- 23069(line=1277, offs=59) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp300) ; ATSlocal (ats_ptr_type, tmp301) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_fundecs: tmp301 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp301)->tag = 10 ; ats_selptrset_mac(anairiats_sum_12, tmp301, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp301, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp301, atslab_2, arg3) ; tmp300 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp301) ; return (tmp300) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_fundecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23144(line=1284, offs=3) -- 23210(line=1285, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp302) ; ATSlocal (ats_ptr_type, tmp303) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs: tmp303 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp303)->tag = 11 ; ats_selptrset_mac(anairiats_sum_9, tmp303, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp303, atslab_1, arg2) ; tmp302 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp303) ; return (tmp302) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23268(line=1290, offs=3) -- 23338(line=1291, offs=52) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp304) ; ATSlocal (ats_ptr_type, tmp305) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec: tmp305 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp305)->tag = 12 ; ats_selptrset_mac(anairiats_sum_9, tmp305, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp305, atslab_1, arg2) ; tmp304 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp305) ; return (tmp304) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23417(line=1298, offs=3) -- 23473(line=1299, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp306) ; ATSlocal (ats_ptr_type, tmp307) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_vardecs: tmp307 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp307)->tag = 13 ; ats_selptrset_mac(anairiats_sum_2, tmp307, atslab_0, arg1) ; tmp306 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp307) ; return (tmp306) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_vardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23529(line=1304, offs=3) -- 23587(line=1305, offs=45) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_prvardecs (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp308) ; ATSlocal (ats_ptr_type, tmp309) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_prvardecs: tmp309 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp309)->tag = 14 ; ats_selptrset_mac(anairiats_sum_2, tmp309, atslab_0, arg1) ; tmp308 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp309) ; return (tmp308) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_prvardecs] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23664(line=1312, offs=3) -- 23730(line=1313, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp310) ; ATSlocal (ats_ptr_type, tmp311) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_include: tmp311 = ATS_MALLOC(sizeof(anairiats_sum_17)) ; ((ats_sum_ptr_type)tmp311)->tag = 15 ; ats_selptrset_mac(anairiats_sum_17, tmp311, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_17, tmp311, atslab_1, arg2) ; tmp310 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp311) ; return (tmp310) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_include] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23803(line=1320, offs=1) -- 23915(line=1323, offs=53) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5) { /* local vardec */ ATSlocal (ats_ptr_type, tmp312) ; ATSlocal (ats_ptr_type, tmp313) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staload: tmp313 = ATS_MALLOC(sizeof(anairiats_sum_29)) ; ((ats_sum_ptr_type)tmp313)->tag = 16 ; ats_selptrset_mac(anairiats_sum_29, tmp313, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_29, tmp313, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_29, tmp313, atslab_2, arg3) ; ats_selptrset_mac(anairiats_sum_29, tmp313, atslab_3, arg4) ; ats_selptrset_mac(anairiats_sum_29, tmp313, atslab_4, arg5) ; tmp312 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp313) ; return (tmp312) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 23971(line=1328, offs=3) -- 24058(line=1329, offs=60) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp314) ; ATSlocal (ats_ptr_type, tmp315) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staloadloc: tmp315 = ATS_MALLOC(sizeof(anairiats_sum_12)) ; ((ats_sum_ptr_type)tmp315)->tag = 17 ; ats_selptrset_mac(anairiats_sum_12, tmp315, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_12, tmp315, atslab_1, arg2) ; ats_selptrset_mac(anairiats_sum_12, tmp315, atslab_2, arg3) ; tmp314 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp315) ; return (tmp314) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_staloadloc] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 24138(line=1336, offs=3) -- 24192(line=1337, offs=42) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp316) ; ATSlocal (ats_ptr_type, tmp317) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dynload: tmp317 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp317)->tag = 18 ; ats_selptrset_mac(anairiats_sum_2, tmp317, atslab_0, arg1) ; tmp316 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp317) ; return (tmp316) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_dynload] */ /* // /home/hwxi/Research/Postiats/git/src/pats_dynexp3.dats: 24265(line=1344, offs=3) -- 24331(line=1345, offs=47) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp318) ; ATSlocal (ats_ptr_type, tmp319) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_local: tmp319 = ATS_MALLOC(sizeof(anairiats_sum_9)) ; ((ats_sum_ptr_type)tmp319)->tag = 19 ; ats_selptrset_mac(anairiats_sum_9, tmp319, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_9, tmp319, atslab_1, arg2) ; tmp318 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp319) ; return (tmp318) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3ecl_local] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_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 () ; #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 */ ats_void_type patsopt_p3at_set_type ( ats_ptr_type p3t, ats_ptr_type s2f ) { ((p3at_t)p3t)->atslab_p3at_type = s2f ; return ; } // end of [patsopt_p3at_set_type] ats_void_type patsopt_p3at_set_dvaropt ( ats_ptr_type p3t, ats_ptr_type opt ) { ((p3at_t)p3t)->atslab_p3at_dvaropt = opt ; return ; } // end of [patsopt_p3at_set_dvaropt] ats_void_type patsopt_p3at_set_type_left ( ats_ptr_type p3t, ats_ptr_type opt ) { ((p3at_t)p3t)->atslab_p3at_type_left = opt ; return ; } // end of [patsopt_p3at_set_type_left] ats_void_type patsopt_d3exp_set_type ( ats_ptr_type d3e, ats_ptr_type s2f ) { ((d3exp_t)d3e)->atslab_d3exp_type = s2f ; return ; } // end of [patsopt_d3exp_set_type] ats_void_type patsopt_d3lab_set_overld_app ( ats_ptr_type d3l, ats_ptr_type opt ) { ((d3lab_t)d3l)->atslab_d3lab_overld_app = opt ; return ; } // end of [patsopt_d3lab_set_overld_app] /* ****** ****** */ /* end of [pats_dynexp3_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_lintprgm_myint.cats0000664000175000017500000000317312655455557021356 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: March, 2012 // /* ****** ****** */ #ifndef PATS_LINTPRGM_MYINT_CATS #define PATS_LINTPRGM_MYINT_CATS typedef ats_int_type intknd ; // -> int typedef ats_ptr_type gmpknd ; // -> intinf in libats/SATS/intinf.sats #endif // end of [PATS_LINTPRGM_MYINT_CATS] /* ****** ****** */ /* end of [pats_lintprgm_myint.cats] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_szexp_dats.c0000664000175000017500000031261612655455557021431 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_3 ; typedef struct { ats_ptr_type atslab_s2exp_srt ; ats_ptr_type atslab_s2exp_node ; } anairiats_rec_4 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_5 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_6 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_int_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_7 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_8 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_sum_9 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ecst_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evar_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2EVar_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eapp_17) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Efun_19) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etop_22) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyarr_24) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Etyrec_25) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Einvar_26) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Eexi_27) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Euni_28) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Evararg_30) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2Ewthtype_31) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__SZLABELED_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEcst_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEvar_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEVar_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextype_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEextkind_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEapp_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyarr_8) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEtyrec_9) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ; ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_lt_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_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ; ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_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_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, ats_malloc_gc) (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_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ; ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ; ATSextern_val(ats_ptr_type, atspre_stropt_none) ; ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_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_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ; 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_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_tszeq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__fprint_labs2zexp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_make_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop) (ats_ref_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_free) (ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_find) (ats_ref_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn) (ats_ptr_type, ats_ptr_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_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_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 _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__sasp__env = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ ATSglobal(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02078_ () ; static ats_void_type aux_3 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ; static ats_clo_ptr_type aux_3_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ; static ats_void_type aux_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ; static ats_void_type fprintlst_02100_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_void_type loop_14 (ats_ptr_type arg0) ; static ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ; static ats_bool_type loop1_16 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop1_16_closure_make (ats_ptr_type env0) ; static ats_bool_type loop1_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_bool_type loop2_17 (ats_ptr_type env0, ats_ptr_type arg0) ; static ats_clo_ptr_type loop2_17_closure_make (ats_ptr_type env0) ; static ats_bool_type loop2_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ; static ats_ptr_type aux_s2exp_18 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_s2exp_app_19 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux_arglst_20 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_arglstlst_21 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_ptr_type aux_labs2explst_22 (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) ; static ats_ptr_type s2zexp_linkrem_24 (ats_ptr_type arg0) ; static ats_ptr_type abort_26 () ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 1671(line=52, offs=28) -- 1702(line=52, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02078_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02078_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_staexp2_szexp")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02078_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 11030(line=541, offs=1) -- 11310(line=555, offs=2) */ ATSstaticdec() ats_void_type aux_3 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ // ATSlocal_void (tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_ptr_type, tmp26) ; // ATSlocal_void (tmp27) ; ATSlocal (ats_bool_type, tmp28) ; // ATSlocal_void (tmp29) ; ATSlocal (ats_int_type, tmp30) ; __ats_lab_aux_3: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp25 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp26 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp28 = atspre_gt_int_int (arg1, 0) ; if (tmp28) { /* tmp27 = */ atspre_fprint_string (env0, env1) ; } else { /* empty */ } /* end of [if] */ /* tmp29 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp25) ; tmp30 = atspre_add_int_int (arg1, 1) ; arg0 = tmp26 ; arg1 = tmp30 ; goto __ats_lab_aux_3 ; // tail call break ; } while (0) ; return /* (tmp24) */ ; } /* end of [aux_3] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; ats_ptr_type closure_env_1 ; ats_ptr_type closure_env_2 ; } aux_3_closure_type ; ats_void_type aux_3_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) { aux_3 (((aux_3_closure_type*)cloptr)->closure_env_0, ((aux_3_closure_type*)cloptr)->closure_env_1, ((aux_3_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ; } /* end of function */ ATSinline() ats_void_type aux_3_closure_init (aux_3_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { p_clo->closure_fun = (ats_fun_ptr_type)&aux_3_clofun ; p_clo->closure_env_0 = env0 ; p_clo->closure_env_1 = env1 ; p_clo->closure_env_2 = env2 ; return ; } /* end of function */ ats_clo_ptr_type aux_3_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) { aux_3_closure_type *p_clo = ATS_MALLOC(sizeof(aux_3_closure_type)) ; aux_3_closure_init (p_clo, env0, env1, env2) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_utils.dats: 10990(line=536, offs=11) -- 11353(line=559, offs=4) */ ATSstaticdec() ats_void_type fprintlst_02100_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp23) ; __ats_lab_fprintlst_02100_ats_ptr_type: /* tmp23 = */ aux_3 (arg0, arg2, arg3, arg1, 0) ; return /* (tmp23) */ ; } /* end of [fprintlst_02100_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 2078(line=75, offs=15) -- 3602(line=139, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; // ATSlocal_void (tmp3) ; // ATSlocal_void (tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; // ATSlocal_void (tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; // ATSlocal_void (tmp9) ; // ATSlocal_void (tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; // ATSlocal_void (tmp12) ; // ATSlocal_void (tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; // ATSlocal_void (tmp15) ; // ATSlocal_void (tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; // ATSlocal_void (tmp19) ; // ATSlocal_void (tmp20) ; // ATSlocal_void (tmp21) ; // ATSlocal_void (tmp22) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; // ATSlocal_void (tmp33) ; // ATSlocal_void (tmp34) ; // ATSlocal_void (tmp35) ; // ATSlocal_void (tmp36) ; ATSlocal (ats_ptr_type, tmp37) ; // ATSlocal_void (tmp38) ; // ATSlocal_void (tmp39) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEprf()")) ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEptr()")) ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp2 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp3 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEcst(")) ; /* tmp4 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp2) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEvar(")) ; /* tmp7 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp5) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp8 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ; /* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZE(")) ; /* tmp10 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2Var (arg0, tmp8) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_6_0 ; } __ats_lab_5_1: tmp11 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEextype(")) ; /* tmp13 = */ atspre_fprint_string (arg0, tmp11) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp14 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; /* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEextkind(")) ; /* tmp16 = */ atspre_fprint_string (arg0, tmp14) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: if (((ats_sum_ptr_type)arg1)->tag != 7) { goto __ats_lab_10_0 ; } __ats_lab_7_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp18 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp19 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEapp(")) ; /* tmp20 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp17) ; /* tmp21 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp22 = */ fprintlst_02100_ats_ptr_type (arg0, tmp18, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)arg1)->tag != 8) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp31 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp32 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp33 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEtyarr(")) ; /* tmp34 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp31) ; /* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ; /* tmp36 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2explst (arg0, tmp32) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)arg1)->tag != 9) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp37 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; /* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEtyrec(")) ; /* tmp39 = */ fprintlst_02100_ats_ptr_type (arg0, tmp37, ATSstrcst(", "), &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__fprint_labs2zexp) ; /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)arg1)->tag != 10) { goto __ats_lab_13_0 ; } __ats_lab_12_1: /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEclo()")) ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (((ats_sum_ptr_type)arg1)->tag != 11) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: /* tmp1 = */ atspre_fprint_string (arg0, ATSstrcst("S2ZEbot()")) ; break ; } while (0) ; return /* (tmp1) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 3653(line=142, offs=14) -- 3688(line=142, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2zexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2zexp: /* tmp40 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (stdout, arg0) ; return /* (tmp40) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__print_s2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 3712(line=144, offs=14) -- 3747(line=144, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2zexp (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2zexp: /* tmp41 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (stderr, arg0) ; return /* (tmp41) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__prerr_s2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 3778(line=148, offs=3) -- 3953(line=155, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__fprint_labs2zexp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; // ATSlocal_void (tmp45) ; // ATSlocal_void (tmp46) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__fprint_labs2zexp: tmp43 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp44 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp43) ; /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ; /* tmp42 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp44) ; return /* (tmp42) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__fprint_labs2zexp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4029(line=160, offs=15) -- 4079(line=161, offs=45) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp47) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot: do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)arg0)->tag != 11) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp47 = ats_true_bool ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: __ats_lab_15_1: tmp47 = ats_false_bool ; break ; } while (0) ; return (tmp47) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4206(line=168, offs=29) -- 4225(line=168, offs=48) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp48) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst: tmp48 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp48)->tag = 2 ; ats_selptrset_mac(anairiats_sum_1, tmp48, atslab_0, arg0) ; return (tmp48) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4584(line=186, offs=24) -- 4603(line=186, offs=43) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_make_nil () { /* local vardec */ ATSlocal (ats_ptr_type, tmp49) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_make_nil: tmp49 = (ats_sum_ptr_type)0 ; return (tmp49) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_make_nil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4622(line=188, offs=9) -- 4697(line=191, offs=12) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop (ats_ref_type arg0) { /* local vardec */ // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp51 = ats_caselptrlab_mac(anairiats_sum_3, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ; ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp51 ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: __ats_lab_17_1: break ; } while (0) ; return /* (tmp50) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4737(line=194, offs=10) -- 4782(line=194, offs=55) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push: tmp53 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp53, atslab_0, arg1) ; ats_selptrset_mac(anairiats_sum_3, tmp53, atslab_1, ats_ptrget_mac(ats_ptr_type, arg0)) ; ats_ptrget_mac(ats_ptr_type, arg0) = tmp53 ; return /* (tmp52) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73) */ ATSstaticdec() ats_void_type loop_14 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp56) ; ATSlocal (ats_ptr_type, tmp57) ; __ats_lab_loop_14: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp57 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; ATS_FREE(arg0) ; arg0 = tmp57 ; goto __ats_lab_loop_14 ; // tail call break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: break ; } while (0) ; return /* (tmp56) */ ; } /* end of [loop_14] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4) */ ATSstaticdec() ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp55) ; __ats_lab_list_vt_free_01499_ats_ptr_type: /* tmp55 = */ loop_14 (arg0) ; return /* (tmp55) */ ; } /* end of [list_vt_free_01499_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4802(line=196, offs=10) -- 4827(line=196, offs=35) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_free (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp54) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_free: /* tmp54 = */ list_vt_free_01499_ats_ptr_type (arg0) ; return /* (tmp54) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_free] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4870(line=199, offs=7) -- 5033(line=203, offs=27) */ ATSstaticdec() ats_bool_type loop1_16 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_bool_type, tmp62) ; __ats_lab_loop1_16: do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp60 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp61 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (env0, tmp60) ; if (tmp62) { tmp59 = ats_true_bool ; } else { arg0 = tmp61 ; goto __ats_lab_loop1_16 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp59 = ats_false_bool ; break ; } while (0) ; return (tmp59) ; } /* end of [loop1_16] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop1_16_closure_type ; ats_bool_type loop1_16_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop1_16 (((loop1_16_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type loop1_16_closure_init (loop1_16_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop1_16_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop1_16_closure_make (ats_ptr_type env0) { loop1_16_closure_type *p_clo = ATS_MALLOC(sizeof(loop1_16_closure_type)) ; loop1_16_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 5060(line=205, offs=7) -- 5235(line=209, offs=27) */ ATSstaticdec() ats_bool_type loop2_17 (ats_ptr_type env0, ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_bool_type, tmp66) ; __ats_lab_loop2_17: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp64 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp65 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp66 = loop1_16 (env0, tmp64) ; if (tmp66) { tmp63 = ats_true_bool ; } else { arg0 = tmp65 ; goto __ats_lab_loop2_17 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: tmp63 = ats_false_bool ; break ; } while (0) ; return (tmp63) ; } /* end of [loop2_17] */ typedef struct { ats_fun_ptr_type closure_fun ; ats_ptr_type closure_env_0 ; } loop2_17_closure_type ; ats_bool_type loop2_17_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) { return loop2_17 (((loop2_17_closure_type*)cloptr)->closure_env_0, arg0) ; } /* end of function */ ATSinline() ats_void_type loop2_17_closure_init (loop2_17_closure_type *p_clo, ats_ptr_type env0) { p_clo->closure_fun = (ats_fun_ptr_type)&loop2_17_clofun ; p_clo->closure_env_0 = env0 ; return ; } /* end of function */ ats_clo_ptr_type loop2_17_closure_make (ats_ptr_type env0) { loop2_17_closure_type *p_clo = ATS_MALLOC(sizeof(loop2_17_closure_type)) ; loop2_17_closure_init (p_clo, env0) ; return (ats_clo_ptr_type)p_clo ; } /* end of function */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 4848(line=198, offs=10) -- 5306(line=213, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_find (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp58) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_find: tmp58 = loop2_17 (arg1, ats_castfn_mac(ats_ptr_type, ats_ptrget_mac(ats_ptr_type, arg0))) ; return (tmp58) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_find] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 5384(line=221, offs=5) -- 7291(line=301, offs=4) */ ATSstaticdec() ats_ptr_type aux_s2exp_18 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_ptr_type, tmp68) ; ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; ATSlocal (ats_ptr_type, tmp71) ; ATSlocal (ats_ptr_type, tmp72) ; ATSlocal (ats_ptr_type, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; ATSlocal (ats_ptr_type, tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_ptr_type, tmp84) ; ATSlocal (ats_ptr_type, tmp85) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_ptr_type, tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_ptr_type, tmp92) ; ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; // ATSlocal_void (tmp96) ; ATSlocal (ats_ptr_type, tmp97) ; // ATSlocal_void (tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab_aux_s2exp_18: tmp68 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg1) ; tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp68), atslab_s2exp_node) ; do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (((ats_sum_ptr_type)tmp69)->tag != 4) { goto __ats_lab_27_0 ; } __ats_lab_24_1: tmp70 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; tmp71 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (tmp70) ; do { /* branch: __ats_lab_25 */ __ats_lab_25_0: if (tmp71 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } tmp72 = ats_caselptrlab_mac(anairiats_sum_5, tmp71, atslab_0) ; if (tmp72 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; } __ats_lab_25_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_5, tmp72, atslab_0) ; arg0 = arg0 ; arg1 = tmp73 ; goto __ats_lab_aux_s2exp_18 ; // tail call break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst (tmp70) ; break ; } while (0) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: if (((ats_sum_ptr_type)tmp69)->tag != 7) { goto __ats_lab_28_0 ; } __ats_lab_27_1: tmp74 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_find (arg0, tmp74) ; if (tmp75) { tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; } else { tmp67 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp67)->tag = 3 ; ats_selptrset_mac(anairiats_sum_1, tmp67, atslab_0, tmp74) ; } /* end of [if] */ break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: if (((ats_sum_ptr_type)tmp69)->tag != 8) { goto __ats_lab_29_0 ; } __ats_lab_28_1: tmp76 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; tmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp76) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: if (((ats_sum_ptr_type)tmp69)->tag != 5) { goto __ats_lab_30_0 ; } __ats_lab_29_1: tmp77 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_0) ; tmp78 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_1) ; tmp79 = aux_arglstlst_21 (arg0, tmp78) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp67)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_0, tmp77) ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_1, tmp79) ; break ; /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp69)->tag != 6) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp80 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_0) ; tmp81 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_1) ; tmp82 = aux_arglstlst_21 (arg0, tmp81) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp67)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_0, tmp80) ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_1, tmp82) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp69)->tag != 17) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp83 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_0) ; tmp84 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_1) ; tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp68), atslab_s2exp_srt) ; tmp67 = aux_s2exp_app_19 (arg0, tmp85, tmp83, tmp84) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp69)->tag != 19) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp69)->tag != 22) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp86 = ats_caselptrlab_mac(anairiats_sum_6, tmp69, atslab_1) ; arg0 = arg0 ; arg1 = tmp86 ; goto __ats_lab_aux_s2exp_18 ; // tail call break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp69)->tag != 24) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp87 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_0) ; tmp88 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_1) ; tmp89 = aux_s2exp_18 (arg0, tmp87) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp67)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_0, tmp89) ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_1, tmp88) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp69)->tag != 25) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp90 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_0) ; tmp91 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_1) ; tmp92 = ats_caselptrlab_mac(anairiats_sum_7, tmp69, atslab_2) ; tmp93 = aux_labs2explst_22 (arg0, tmp91, tmp92) ; tmp67 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp67)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_0, tmp90) ; ats_selptrset_mac(anairiats_sum_2, tmp67, atslab_1, tmp93) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: if (((ats_sum_ptr_type)tmp69)->tag != 27) { goto __ats_lab_37_0 ; } __ats_lab_36_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_8, tmp69, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_8, tmp69, atslab_2) ; /* tmp96 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push (arg0, tmp94) ; tmp97 = aux_s2exp_18 (arg0, tmp95) ; /* tmp98 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop (arg0) ; tmp67 = tmp97 ; break ; /* branch: __ats_lab_37 */ __ats_lab_37_0: if (((ats_sum_ptr_type)tmp69)->tag != 28) { goto __ats_lab_38_0 ; } __ats_lab_37_1: tmp99 = ats_caselptrlab_mac(anairiats_sum_8, tmp69, atslab_0) ; tmp100 = ats_caselptrlab_mac(anairiats_sum_8, tmp69, atslab_2) ; /* tmp101 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_push (arg0, tmp99) ; tmp102 = aux_s2exp_18 (arg0, tmp100) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_pop (arg0) ; tmp67 = tmp102 ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: if (((ats_sum_ptr_type)tmp69)->tag != 26) { goto __ats_lab_39_0 ; } __ats_lab_38_1: tmp104 = ats_caselptrlab_mac(anairiats_sum_1, tmp69, atslab_0) ; arg0 = arg0 ; arg1 = tmp104 ; goto __ats_lab_aux_s2exp_18 ; // tail call break ; /* branch: __ats_lab_39 */ __ats_lab_39_0: if (((ats_sum_ptr_type)tmp69)->tag != 30) { goto __ats_lab_40_0 ; } __ats_lab_39_1: tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: if (((ats_sum_ptr_type)tmp69)->tag != 31) { goto __ats_lab_41_0 ; } __ats_lab_40_1: tmp105 = ats_caselptrlab_mac(anairiats_sum_2, tmp69, atslab_0) ; arg0 = arg0 ; arg1 = tmp105 ; goto __ats_lab_aux_s2exp_18 ; // tail call break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; break ; } while (0) ; return (tmp67) ; } /* end of [aux_s2exp_18] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 7319(line=303, offs=5) -- 8239(line=335, offs=4) */ ATSstaticdec() ats_ptr_type aux_s2exp_app_19 (ats_ref_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; ATSlocal (ats_ptr_type, tmp109) ; ATSlocal (ats_ptr_type, tmp110) ; ATSlocal (ats_ptr_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_ptr_type, tmp114) ; ATSlocal (ats_ptr_type, tmp115) ; __ats_lab_aux_s2exp_app_19: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_hnfize (arg2) ; tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp107), atslab_s2exp_node) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp108)->tag != 4) { goto __ats_lab_45_0 ; } __ats_lab_42_1: tmp109 = ats_caselptrlab_mac(anairiats_sum_1, tmp108, atslab_0) ; tmp110 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2cst_get_isabs (tmp109) ; do { /* branch: __ats_lab_43 */ __ats_lab_43_0: if (tmp110 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } tmp111 = ats_caselptrlab_mac(anairiats_sum_5, tmp110, atslab_0) ; if (tmp111 == (ats_sum_ptr_type)0) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp112 = ats_caselptrlab_mac(anairiats_sum_5, tmp111, atslab_0) ; tmp113 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_app_srt (arg1, tmp112, arg3) ; tmp106 = aux_s2exp_18 (arg0, tmp113) ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: __ats_lab_44_1: tmp114 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_make_s2cst (tmp109) ; tmp115 = aux_arglst_20 (arg0, arg3) ; tmp106 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp106)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp106, atslab_0, tmp114) ; ats_selptrset_mac(anairiats_sum_2, tmp106, atslab_1, tmp115) ; break ; } while (0) ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: tmp106 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; break ; } while (0) ; return (tmp106) ; } /* end of [aux_s2exp_app_19] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 8271(line=337, offs=5) -- 8777(line=354, offs=31) */ ATSstaticdec() ats_ptr_type aux_arglst_20 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp116) ; ATSlocal (ats_ptr_type, tmp117) ; ATSlocal (ats_ptr_type, tmp118) ; ATSlocal (ats_ptr_type, tmp119) ; ATSlocal (ats_bool_type, tmp120) ; ATSlocal (ats_bool_type, tmp121) ; ATSlocal (ats_ptr_type, tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_aux_arglst_20: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp117 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp118 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp117), atslab_s2exp_srt) ; tmp121 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prgm (tmp119) ; if (tmp121) { tmp120 = ats_true_bool ; } else { tmp120 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_tkind (tmp119) ; } /* end of [if] */ if (tmp120) { tmp122 = aux_s2exp_18 (arg0, tmp117) ; tmp123 = aux_arglst_20 (arg0, tmp118) ; tmp116 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp116, atslab_0, tmp122) ; ats_selptrset_mac(anairiats_sum_3, tmp116, atslab_1, tmp123) ; } else { arg0 = arg0 ; arg1 = tmp118 ; goto __ats_lab_aux_arglst_20 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_47_1: tmp116 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp116) ; } /* end of [aux_arglst_20] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 8806(line=357, offs=5) -- 9046(line=364, offs=31) */ ATSstaticdec() ats_ptr_type aux_arglstlst_21 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_ptr_type, tmp125) ; ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; __ats_lab_aux_arglstlst_21: do { /* branch: __ats_lab_48 */ __ats_lab_48_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_49_0 ; } __ats_lab_48_1: tmp125 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp126 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp127 = aux_arglst_20 (arg0, tmp125) ; tmp128 = aux_arglstlst_21 (arg0, tmp126) ; tmp124 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp124, atslab_0, tmp127) ; ats_selptrset_mac(anairiats_sum_3, tmp124, atslab_1, tmp128) ; break ; /* branch: __ats_lab_49 */ __ats_lab_49_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_49_1: tmp124 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp124) ; } /* end of [aux_arglstlst_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 9078(line=367, offs=5) -- 9579(line=383, offs=31) */ ATSstaticdec() ats_ptr_type aux_labs2explst_22 (ats_ref_type arg0, ats_int_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_ptr_type, tmp130) ; ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_bool_type, tmp132) ; ATSlocal (ats_int_type, tmp133) ; ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; ATSlocal (ats_ptr_type, tmp138) ; __ats_lab_aux_labs2explst_22: do { /* branch: __ats_lab_50 */ __ats_lab_50_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp130 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ; tmp131 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ; tmp132 = atspre_gt_int_int (arg1, 0) ; if (tmp132) { tmp133 = atspre_sub_int_int (arg1, 1) ; arg0 = arg0 ; arg1 = tmp133 ; arg2 = tmp131 ; goto __ats_lab_aux_labs2explst_22 ; // tail call } else { tmp134 = ats_caselptrlab_mac(anairiats_sum_9, tmp130, atslab_0) ; tmp135 = ats_caselptrlab_mac(anairiats_sum_9, tmp130, atslab_2) ; tmp136 = aux_s2exp_18 (arg0, tmp135) ; tmp137 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp137, atslab_0, tmp134) ; ats_selptrset_mac(anairiats_sum_3, tmp137, atslab_1, tmp136) ; tmp138 = aux_labs2explst_22 (arg0, arg1, tmp131) ; tmp129 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_0, tmp137) ; ats_selptrset_mac(anairiats_sum_3, tmp129, atslab_1, tmp138) ; } /* end of [if] */ break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_51_1: tmp129 = (ats_sum_ptr_type)0 ; break ; } while (0) ; return (tmp129) ; } /* end of [aux_labs2explst_22] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 9660(line=390, offs=3) -- 10149(line=418, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_bool_type, tmp141) ; ATSlocal (ats_bool_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; ATSlocal (ats_ptr_type, tmp144) ; // ATSlocal_void (tmp145) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp: tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, arg0), atslab_s2exp_srt) ; tmp141 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_prf (tmp140) ; if (tmp141) { tmp139 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEprf_0) ; } else { tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2rt_is_boxed (tmp140) ; if (tmp142) { tmp139 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEptr_1) ; } else { /* ats_ptr_type tmp143 ; */ tmp143 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_make_nil () ; tmp144 = aux_s2exp_18 ((&tmp143), arg0) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__env_free (tmp143) ; tmp139 = tmp144 ; } /* end of [if] */ } /* end of [if] */ return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 10759(line=447, offs=5) -- 10860(line=449, offs=52) */ ATSstaticdec() ats_ptr_type s2zexp_linkrem_24 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; __ats_lab_s2zexp_linkrem_24: do { /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)arg0)->tag != 4) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp147 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ; tmp146 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_get_szexp (tmp147) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp146 = arg0 ; break ; } while (0) ; return (tmp146) ; } /* end of [s2zexp_linkrem_24] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 10939(line=456, offs=4) -- 10981(line=456, offs=46) */ ATSstaticdec() ats_ptr_type abort_26 () { /* local vardec */ ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; __ats_lab_abort_26: tmp150 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp149 = */ ats_raise_exn (tmp150) ; return (tmp149) ; } /* end of [abort_26] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 10918(line=454, offs=3) -- 12951(line=534, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_bool_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_bool_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; // ATSlocal_void (tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; // ATSlocal_void (tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; ATSlocal (ats_ptr_type, tmp164) ; ATSlocal (ats_ptr_type, tmp165) ; ATSlocal (ats_ptr_type, tmp166) ; ATSlocal (ats_bool_type, tmp167) ; ATSlocal (ats_ptr_type, tmp168) ; ATSlocal (ats_ptr_type, tmp169) ; ATSlocal (ats_ptr_type, tmp170) ; ATSlocal (ats_ptr_type, tmp171) ; ATSlocal (ats_ptr_type, tmp172) ; ATSlocal (ats_bool_type, tmp173) ; ATSlocal (ats_ptr_type, tmp174) ; ATSlocal (ats_ptr_type, tmp175) ; ATSlocal (ats_ptr_type, tmp176) ; ATSlocal (ats_ptr_type, tmp177) ; ATSlocal (ats_ptr_type, tmp178) ; ATSlocal (ats_ptr_type, tmp179) ; ATSlocal (ats_ptr_type, tmp180) ; ATSlocal (ats_ptr_type, tmp181) ; ATSlocal (ats_ptr_type, tmp182) ; ATSlocal (ats_ptr_type, tmp183) ; ATSlocal (ats_ptr_type, tmp184) ; ATSlocal (ats_ptr_type, tmp185) ; ATSlocal (ats_bool_type, tmp186) ; ATSlocal (ats_ptr_type, tmp187) ; ATSlocal (ats_ptr_type, tmp188) ; ATSlocal (ats_ptr_type, tmp189) ; ATSlocal (ats_ptr_type, tmp190) ; ATSlocal (ats_bool_type, tmp191) ; ATSlocal (ats_ptr_type, tmp192) ; ATSlocal (ats_ptr_type, tmp193) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn: tmp151 = s2zexp_linkrem_24 (arg0) ; tmp152 = s2zexp_linkrem_24 (arg1) ; do { /* branch: __ats_lab_54 */ __ats_lab_54_0: if (((ats_sum_ptr_type)tmp151)->tag != 11) { goto __ats_lab_55_0 ; } __ats_lab_54_1: __ats_lab_54_2: tmp148 = abort_26 () ; break ; /* branch: __ats_lab_55 */ __ats_lab_55_0: __ats_lab_55_1: if (((ats_sum_ptr_type)tmp152)->tag != 11) { goto __ats_lab_56_0 ; } __ats_lab_55_2: tmp148 = abort_26 () ; break ; /* branch: __ats_lab_56 */ __ats_lab_56_0: if (((ats_sum_ptr_type)tmp151)->tag != 0) { goto __ats_lab_57_0 ; } __ats_lab_56_1: if (((ats_sum_ptr_type)tmp152)->tag != 0) { goto __ats_lab_61_1 ; } __ats_lab_56_2: tmp148 = tmp151 ; break ; /* branch: __ats_lab_57 */ __ats_lab_57_0: if (((ats_sum_ptr_type)tmp151)->tag != 1) { goto __ats_lab_58_0 ; } __ats_lab_57_1: if (((ats_sum_ptr_type)tmp152)->tag != 1) { goto __ats_lab_61_1 ; } __ats_lab_57_2: tmp148 = tmp151 ; break ; /* branch: __ats_lab_58 */ __ats_lab_58_0: if (((ats_sum_ptr_type)tmp151)->tag != 2) { goto __ats_lab_59_0 ; } __ats_lab_58_1: if (((ats_sum_ptr_type)tmp152)->tag != 2) { goto __ats_lab_61_1 ; } __ats_lab_58_2: tmp153 = ats_caselptrlab_mac(anairiats_sum_1, tmp151, atslab_0) ; tmp154 = ats_caselptrlab_mac(anairiats_sum_1, tmp152, atslab_0) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2cst_s2cst (tmp153, tmp154) ; if (tmp155) { tmp148 = tmp151 ; } else { tmp148 = abort_26 () ; } /* end of [if] */ break ; /* branch: __ats_lab_59 */ __ats_lab_59_0: if (((ats_sum_ptr_type)tmp151)->tag != 3) { goto __ats_lab_60_0 ; } __ats_lab_59_1: if (((ats_sum_ptr_type)tmp152)->tag != 3) { goto __ats_lab_61_1 ; } __ats_lab_59_2: tmp156 = ats_caselptrlab_mac(anairiats_sum_1, tmp151, atslab_0) ; tmp157 = ats_caselptrlab_mac(anairiats_sum_1, tmp152, atslab_0) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_s2var_s2var (tmp156, tmp157) ; if (tmp158) { tmp148 = tmp151 ; } else { tmp148 = abort_26 () ; } /* end of [if] */ break ; /* branch: __ats_lab_60 */ __ats_lab_60_0: if (((ats_sum_ptr_type)tmp151)->tag != 4) { goto __ats_lab_61_0 ; } __ats_lab_60_1: __ats_lab_60_2: tmp159 = ats_caselptrlab_mac(anairiats_sum_1, tmp151, atslab_0) ; /* tmp160 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp (tmp159, tmp152) ; tmp148 = tmp152 ; break ; /* branch: __ats_lab_61 */ __ats_lab_61_0: __ats_lab_61_1: if (((ats_sum_ptr_type)tmp152)->tag != 4) { goto __ats_lab_62_0 ; } __ats_lab_61_2: tmp161 = ats_caselptrlab_mac(anairiats_sum_1, tmp152, atslab_0) ; /* tmp162 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2Var_set_szexp (tmp161, tmp151) ; tmp148 = tmp151 ; break ; /* branch: __ats_lab_62 */ __ats_lab_62_0: if (((ats_sum_ptr_type)tmp151)->tag != 5) { goto __ats_lab_63_0 ; } __ats_lab_62_1: if (((ats_sum_ptr_type)tmp152)->tag != 5) { goto __ats_lab_68_1 ; } __ats_lab_62_2: tmp163 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_0) ; tmp164 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_1) ; tmp165 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_0) ; tmp166 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_1) ; tmp167 = atspre_eq_string_string (tmp163, tmp165) ; if (tmp167) { tmp168 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn (tmp164, tmp166) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp148)->tag = 5 ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_0, tmp163) ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_1, tmp168) ; } else { tmp148 = abort_26 () ; } /* end of [if] */ break ; /* branch: __ats_lab_63 */ __ats_lab_63_0: if (((ats_sum_ptr_type)tmp151)->tag != 6) { goto __ats_lab_64_0 ; } __ats_lab_63_1: if (((ats_sum_ptr_type)tmp152)->tag != 6) { goto __ats_lab_68_1 ; } __ats_lab_63_2: tmp169 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_0) ; tmp170 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_1) ; tmp171 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_0) ; tmp172 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_1) ; tmp173 = atspre_eq_string_string (tmp169, tmp171) ; if (tmp173) { tmp174 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn (tmp170, tmp172) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp148)->tag = 6 ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_0, tmp169) ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_1, tmp174) ; } else { tmp148 = abort_26 () ; } /* end of [if] */ break ; /* branch: __ats_lab_64 */ __ats_lab_64_0: if (((ats_sum_ptr_type)tmp151)->tag != 7) { goto __ats_lab_65_0 ; } __ats_lab_64_1: if (((ats_sum_ptr_type)tmp152)->tag != 7) { goto __ats_lab_68_1 ; } __ats_lab_64_2: tmp175 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_0) ; tmp176 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_1) ; tmp177 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_0) ; tmp178 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_1) ; tmp179 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (tmp175, tmp177) ; tmp180 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn (tmp176, tmp178) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp148)->tag = 7 ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_0, tmp179) ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_1, tmp180) ; break ; /* branch: __ats_lab_65 */ __ats_lab_65_0: if (((ats_sum_ptr_type)tmp151)->tag != 8) { goto __ats_lab_66_0 ; } __ats_lab_65_1: if (((ats_sum_ptr_type)tmp152)->tag != 8) { goto __ats_lab_68_1 ; } __ats_lab_65_2: tmp181 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_0) ; tmp182 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_1) ; tmp183 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_0) ; tmp184 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_1) ; tmp185 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (tmp181, tmp183) ; tmp186 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2explst_syneq (tmp182, tmp184) ; if (tmp186) { tmp148 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp148)->tag = 8 ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_0, tmp185) ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_1, tmp182) ; } else { tmp148 = abort_26 () ; } /* end of [if] */ break ; /* branch: __ats_lab_66 */ __ats_lab_66_0: if (((ats_sum_ptr_type)tmp151)->tag != 9) { goto __ats_lab_67_0 ; } __ats_lab_66_1: if (((ats_sum_ptr_type)tmp152)->tag != 9) { goto __ats_lab_68_1 ; } __ats_lab_66_2: tmp187 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_0) ; tmp188 = ats_caselptrlab_mac(anairiats_sum_2, tmp151, atslab_1) ; tmp189 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_0) ; tmp190 = ats_caselptrlab_mac(anairiats_sum_2, tmp152, atslab_1) ; tmp191 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__eq_tyreckind_tyreckind (tmp187, tmp189) ; if (tmp191) { tmp192 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn (tmp188, tmp190) ; tmp148 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ((ats_sum_ptr_type)tmp148)->tag = 9 ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_0, tmp187) ; ats_selptrset_mac(anairiats_sum_2, tmp148, atslab_1, tmp192) ; } else { tmp193 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp148 = */ ats_raise_exn (tmp193) ; } /* end of [if] */ break ; /* branch: __ats_lab_67 */ __ats_lab_67_0: if (((ats_sum_ptr_type)tmp151)->tag != 10) { goto __ats_lab_68_0 ; } __ats_lab_67_1: if (((ats_sum_ptr_type)tmp152)->tag != 10) { goto __ats_lab_68_1 ; } __ats_lab_67_2: tmp148 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEclo_10) ; break ; /* branch: __ats_lab_68 */ __ats_lab_68_0: __ats_lab_68_1: __ats_lab_68_2: tmp148 = abort_26 () ; break ; } while (0) ; return (tmp148) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 13004(line=538, offs=3) -- 13317(line=547, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp194) ; ATSlocal (ats_ptr_type, tmp195) ; ATSlocal (ats_ptr_type, tmp196) ; ATSlocal (ats_ptr_type, tmp197) ; ATSlocal (ats_ptr_type, tmp198) ; ATSlocal (ats_ptr_type, tmp199) ; ATSlocal (ats_ptr_type, tmp200) ; ATSlocal (ats_ptr_type, tmp201) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn: do { /* branch: __ats_lab_69 */ __ats_lab_69_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_70_0 ; } __ats_lab_69_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_71_1 ; } __ats_lab_69_2: tmp195 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp196 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp197 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp198 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp199 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (tmp195, tmp197) ; tmp200 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn (tmp196, tmp198) ; tmp194 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp194, atslab_0, tmp199) ; ats_selptrset_mac(anairiats_sum_3, tmp194, atslab_1, tmp200) ; break ; /* branch: __ats_lab_70 */ __ats_lab_70_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; } __ats_lab_70_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_71_1 ; } __ats_lab_70_2: tmp194 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_71 */ __ats_lab_71_0: __ats_lab_71_1: __ats_lab_71_2: tmp201 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp194 = */ ats_raise_exn (tmp201) ; break ; } while (0) ; return (tmp194) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 13388(line=552, offs=3) -- 13721(line=561, offs=38) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp202) ; ATSlocal (ats_ptr_type, tmp203) ; ATSlocal (ats_ptr_type, tmp204) ; ATSlocal (ats_ptr_type, tmp205) ; ATSlocal (ats_ptr_type, tmp206) ; ATSlocal (ats_ptr_type, tmp207) ; ATSlocal (ats_ptr_type, tmp208) ; ATSlocal (ats_ptr_type, tmp209) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn: do { /* branch: __ats_lab_72 */ __ats_lab_72_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; } __ats_lab_72_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_74_1 ; } __ats_lab_72_2: tmp203 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp204 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp205 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp206 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp207 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplst_merge_exn (tmp203, tmp205) ; tmp208 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn (tmp204, tmp206) ; tmp202 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp202, atslab_0, tmp207) ; ats_selptrset_mac(anairiats_sum_3, tmp202, atslab_1, tmp208) ; break ; /* branch: __ats_lab_73 */ __ats_lab_73_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_74_0 ; } __ats_lab_73_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_74_1 ; } __ats_lab_73_2: tmp202 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_74 */ __ats_lab_74_0: __ats_lab_74_1: __ats_lab_74_2: tmp209 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp202 = */ ats_raise_exn (tmp209) ; break ; } while (0) ; return (tmp202) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexplstlst_merge_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 13795(line=566, offs=3) -- 14365(line=586, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp210) ; ATSlocal (ats_ptr_type, tmp211) ; ATSlocal (ats_ptr_type, tmp212) ; ATSlocal (ats_ptr_type, tmp213) ; ATSlocal (ats_ptr_type, tmp214) ; ATSlocal (ats_ptr_type, tmp215) ; ATSlocal (ats_ptr_type, tmp216) ; ATSlocal (ats_ptr_type, tmp217) ; ATSlocal (ats_ptr_type, tmp218) ; ATSlocal (ats_bool_type, tmp219) ; ATSlocal (ats_ptr_type, tmp220) ; ATSlocal (ats_ptr_type, tmp221) ; ATSlocal (ats_ptr_type, tmp222) ; ATSlocal (ats_ptr_type, tmp223) ; ATSlocal (ats_ptr_type, tmp224) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn: do { /* branch: __ats_lab_75 */ __ats_lab_75_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; } __ats_lab_75_1: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_77_1 ; } __ats_lab_75_2: tmp211 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_0) ; tmp212 = ats_caselptrlab_mac(anairiats_sum_3, arg0, atslab_1) ; tmp213 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ; tmp214 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ; tmp215 = ats_caselptrlab_mac(anairiats_sum_3, tmp211, atslab_0) ; tmp216 = ats_caselptrlab_mac(anairiats_sum_3, tmp211, atslab_1) ; tmp217 = ats_caselptrlab_mac(anairiats_sum_3, tmp213, atslab_0) ; tmp218 = ats_caselptrlab_mac(anairiats_sum_3, tmp213, atslab_1) ; tmp219 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__eq_label_label (tmp215, tmp217) ; if (tmp219) { tmp220 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (tmp216, tmp218) ; tmp221 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_0, tmp215) ; ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_1, tmp220) ; tmp222 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn (tmp212, tmp214) ; tmp210 = ATS_MALLOC(sizeof(anairiats_sum_3)) ; ats_selptrset_mac(anairiats_sum_3, tmp210, atslab_0, tmp221) ; ats_selptrset_mac(anairiats_sum_3, tmp210, atslab_1, tmp222) ; } else { tmp223 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp210 = */ ats_raise_exn (tmp223) ; } /* end of [if] */ break ; /* branch: __ats_lab_76 */ __ats_lab_76_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; } __ats_lab_76_1: if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_77_1 ; } __ats_lab_76_2: tmp210 = (ats_sum_ptr_type)0 ; break ; /* branch: __ats_lab_77 */ __ats_lab_77_0: __ats_lab_77_1: __ats_lab_77_2: tmp224 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) ; /* tmp210 = */ ats_raise_exn (tmp224) ; break ; } while (0) ; return (tmp210) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__labs2zexplst_merge_exn] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 14510(line=595, offs=3) -- 14592(line=598, offs=35) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp225) ; ATSlocal (ats_ptr_type, tmp226) ; ATSlocal (ats_ptr_type, tmp227) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge: ATS_TRYWITH_TRY(tmp227) tmp226 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__s2zexp_merge_exn (arg0, arg1) ; tmp225 = tmp226 ; ATS_TRYWITH_WITH(tmp227) do { /* branch: __ats_lab_78 */ __ats_lab_78_0: if (tmp227 != &_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn) { ats_raise_exn (tmp227) ; } __ats_lab_78_1: tmp225 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__S2ZEbot_11) ; break ; } while (0) ; ATS_TRYWITH_END() ; return (tmp225) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 14693(line=605, offs=3) -- 14794(line=609, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp228) ; ATSlocal (ats_ptr_type, tmp229) ; ATSlocal (ats_bool_type, tmp230) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq: tmp229 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_merge (arg0, arg1) ; tmp230 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_is_bot (tmp229) ; if (tmp230) { tmp228 = ats_false_bool ; } else { tmp228 = ats_true_bool ; } /* end of [if] */ return (tmp228) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 14866(line=615, offs=3) -- 15047(line=622, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_tszeq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp231) ; ATSlocal (ats_ptr_type, tmp232) ; ATSlocal (ats_ptr_type, tmp233) ; ATSlocal (ats_ptr_type, tmp234) ; ATSlocal (ats_ptr_type, tmp235) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_tszeq: tmp232 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg0) ; tmp233 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg1) ; tmp234 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp232) ; tmp235 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2zexp_make_s2exp (tmp233) ; tmp231 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2zexp_syneq (tmp234, tmp235) ; return (tmp231) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_tszeq] */ /* // /home/hwxi/Research/Postiats/git/src/pats_staexp2_szexp.dats: 15097(line=626, offs=3) -- 15164(line=627, offs=51) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp236) ; ATSlocal (ats_ptr_type, tmp237) ; ATSlocal (ats_ptr_type, tmp238) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq: tmp237 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg0) ; tmp238 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp2hnf (arg1) ; tmp236 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2hnf_tszeq (tmp237, tmp238) ; return (tmp236) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__s2exp_tszeq] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_label_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn.tag = ats_exception_con_tag_new () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn.name = "_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__S2ZEXPMERGEexn" ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_szexp_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_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_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 () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_prfck () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2edats____assert_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_staexp2_szexp_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_dynexp3_sats.c0000664000175000017500000006246612655455557020230 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecst_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eint_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eintrep_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ebool_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Echar_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efloat_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Estring_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eliteral_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextval_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextfcall_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextmcall_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Econ_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpcst_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpvar_19) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efoldat_20) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efreeat_21) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eitem_22) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elet_23) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_sta_24) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eif_26) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esif_27) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecase_28) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Escase_29) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elst_30) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etup_31) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erec_32) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eseq_33) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eselab_34) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofvar_35) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofsel_36) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_37) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erefarg_38) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ref_41) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_var_42) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_43) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ref_44) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_var_45) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ptr_46) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ref_47) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_48) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrpsz_49) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrinit_50) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eraise_51) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eeffmask_52) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evcopyenv_53) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etempenver_54) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eann_type_55) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_dyn_56) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_57) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_sta_58) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_met_59) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efix_60) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Edelay_61) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eldelay_62) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elazyeval_63) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloop_64) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloopexn_65) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etrywith_66) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esolverify_67) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clist_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Csaspdec_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextype_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextvar_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextcode_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cexndecs_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdatdecs_7) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdcstdecs_8) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cimpdec_9) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cfundecs_10) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_11) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_12) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvardecs_13) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cprvardecs_14) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cinclude_15) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaload_16) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaloadloc_17) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdynload_18) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clocal_19) ; /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__LABP3AT_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tany_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tcon_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tint_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tintrep_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tbool_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tchar_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tfloat_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tstring_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Ti0nt_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tf0loat_10.tag = 10 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tempty_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trec_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tlst_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Trefas_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Texist_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tvbox_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Tann_17.tag = 17 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__P3Terrpat_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABlab_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3LABind_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecst_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evar_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eint_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eintrep_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ebool_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Echar_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efloat_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Estring_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ei0nt_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ef0loat_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecstsp_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eliteral_11.tag = 11 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etop_12.tag = 12 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eempty_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextval_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextfcall_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eextmcall_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Econ_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpcst_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etmpvar_19.tag = 19 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efoldat_20.tag = 20 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efreeat_21.tag = 21 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eitem_22.tag = 22 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elet_23.tag = 23 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_sta_24.tag = 24 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eapp_dyn_25.tag = 25 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eif_26.tag = 26 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esif_27.tag = 27 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Ecase_28.tag = 28 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Escase_29.tag = 29 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elst_30.tag = 30 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etup_31.tag = 31 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erec_32.tag = 32 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eseq_33.tag = 33 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eselab_34.tag = 34 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofvar_35.tag = 35 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eptrofsel_36.tag = 36 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_37.tag = 37 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Erefarg_38.tag = 38 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_var_39.tag = 39 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ptr_40.tag = 40 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esel_ref_41.tag = 41 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_var_42.tag = 42 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_43.tag = 43 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eassgn_ref_44.tag = 44 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_var_45.tag = 45 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ptr_46.tag = 46 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Exchng_ref_47.tag = 47 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_48.tag = 48 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrpsz_49.tag = 49 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Earrinit_50.tag = 50 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eraise_51.tag = 51 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eeffmask_52.tag = 52 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Evcopyenv_53.tag = 53 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etempenver_54.tag = 54 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eann_type_55.tag = 55 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_dyn_56.tag = 56 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_57.tag = 57 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_sta_58.tag = 58 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elam_met_59.tag = 59 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Efix_60.tag = 60 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Edelay_61.tag = 61 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eldelay_62.tag = 62 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Elazyeval_63.tag = 63 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloop_64.tag = 64 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eloopexn_65.tag = 65 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Etrywith_66.tag = 66 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Esolverify_67.tag = 67 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Eerrexp_68.tag = 68 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cnone_0.tag = 0 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clist_1.tag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Csaspdec_2.tag = 2 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextype_3.tag = 3 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextvar_4.tag = 4 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cextcode_5.tag = 5 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cexndecs_6.tag = 6 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdatdecs_7.tag = 7 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdcstdecs_8.tag = 8 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cimpdec_9.tag = 9 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cfundecs_10.tag = 10 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_11.tag = 11 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_12.tag = 12 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cvardecs_13.tag = 13 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cprvardecs_14.tag = 14 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cinclude_15.tag = 15 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaload_16.tag = 16 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cstaloadloc_17.tag = 17 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Cdynload_18.tag = 18 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__D3Clocal_19.tag = 19 ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_dynexp3_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_staexp2_util_sats.c0000664000175000017500000000506412655455557021250 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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 */ /* prologues from statically loaded files */ #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; } anairiats_rec_0 ; typedef struct { ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_ptr_type atslab_2 ; ats_ptr_type atslab_3 ; } anairiats_rec_1 ; /* external typedefs */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_util_2esats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp1_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; return ; } /* staload function */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_staexp2_util_sats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_ccomp_environ_dats.c0000664000175000017500000016523512655455557021456 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.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 ; typedef struct { ats_ptr_type atslab_0 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_2 ; typedef struct { ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_rec_3 ; typedef struct { anairiats_rec_3 atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_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_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_sub_size1_int1) (ats_size_type, ats_int_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_gt_size1_int1) (ats_size_type, ats_int_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_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_search) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil) () ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_ismem) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_level) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst_fin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize) (ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_funent_set_flablst_fin) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, patsopt_funent_set_d2envlst_fin) (ats_ptr_type, ats_ptr_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 () ; #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_ptr_type aux_funlab_get_flablst_0 (ats_ptr_type arg0) ; static ats_ptr_type auxtrclo_1 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ; static ats_ptr_type aux_funlab_get_d2envlst_3 (ats_ptr_type arg0) ; static ats_ptr_type auxd2es_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_ptr_type auxtrclo_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ; static ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ; static ats_ptr_type aux_10 (ats_ptr_type arg0, ats_ptr_type arg1) ; static ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ; static ats_void_type auxmap_13 (ats_ref_type arg0, ats_ptr_type arg1) ; static ats_void_type auxenv_14 (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ; static ats_void_type auxlst_16 (ats_ptr_type arg0) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp67) ; ATSstatic (ats_ptr_type, statmp68) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 2529(line=107, offs=1) -- 2669(line=114, offs=4) */ ATSstaticdec() ats_ptr_type aux_funlab_get_flablst_0 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; __ats_lab_aux_funlab_get_flablst_0: tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg0) ; if (tmp1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 2593(line=110, offs=5) -- 2631(line=110, offs=43)") ; } tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_0) ; tmp0 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst (tmp2) ; return (tmp0) ; } /* end of [aux_funlab_get_flablst_0] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 2710(line=117, offs=1) -- 3880(line=171, offs=4) */ ATSstaticdec() ats_ptr_type auxtrclo_1 (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp3) ; ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_int_type, tmp6) ; ATSlocal (ats_bool_type, tmp7) ; ATSlocal (ats_bool_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_ptr_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; ATSlocal (ats_ptr_type, tmp14) ; __ats_lab_auxtrclo_1: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp4 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ; tmp5 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_level (tmp4) ; tmp7 = atspre_gte_int_int (tmp6, arg0) ; if (tmp7) { tmp8 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_ismem (arg3, tmp4) ; if (tmp8) { arg0 = arg0 ; arg1 = tmp5 ; arg2 = arg2 ; arg3 = arg3 ; goto __ats_lab_auxtrclo_1 ; // tail call } else { tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (arg3, tmp4) ; tmp10 = aux_funlab_get_flablst_0 (tmp4) ; tmp11 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_0, tmp5) ; ats_selptrset_mac(anairiats_sum_2, tmp11, atslab_1, arg2) ; arg0 = arg0 ; arg1 = tmp10 ; arg2 = tmp11 ; arg3 = tmp9 ; goto __ats_lab_auxtrclo_1 ; // tail call } /* end of [if] */ } else { tmp12 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (arg3, tmp4) ; arg0 = arg0 ; arg1 = tmp5 ; arg2 = arg2 ; arg3 = tmp12 ; goto __ats_lab_auxtrclo_1 ; // tail call } /* end of [if] */ break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_1_1: do { /* branch: __ats_lab_2 */ __ats_lab_2_0: if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp13 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ; tmp14 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ; ATS_FREE(arg2) ; arg0 = arg0 ; arg1 = tmp13 ; arg2 = tmp14 ; arg3 = arg3 ; goto __ats_lab_auxtrclo_1 ; // tail call break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: // if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_3_1: tmp3 = arg3 ; break ; } while (0) ; break ; } while (0) ; return (tmp3) ; } /* end of [auxtrclo_1] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 3959(line=177, offs=3) -- 4723(line=207, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_ptr_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_int_type, tmp19) ; ATSlocal (ats_ptr_type, tmp20) ; ATSlocal (ats_ptr_type, tmp21) ; ATSlocal (ats_ptr_type, tmp22) ; ATSlocal (ats_ptr_type, tmp23) ; ATSlocal (ats_ptr_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; // ATSlocal_void (tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst: tmp16 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst_fin (arg0) ; do { /* branch: __ats_lab_4 */ __ats_lab_4_0: if (tmp16 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; } __ats_lab_4_1: tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp16, atslab_0) ; tmp15 = tmp17 ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: // if (tmp16 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_5_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_lab (arg0) ; tmp19 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_level (arg0) ; tmp20 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_flablst (arg0) ; tmp21 = (ats_sum_ptr_type)0 ; tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_nil () ; tmp23 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_add (tmp22, tmp18) ; tmp24 = auxtrclo_1 (tmp19, tmp20, tmp21, tmp23) ; tmp25 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlabset_vt_listize_free (tmp24) ; tmp27 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp27, atslab_0, ats_castfn_mac(ats_ptr_type, tmp25)) ; /* tmp26 = */ patsopt_funent_set_flablst_fin (arg0, tmp27) ; tmp15 = ats_castfn_mac(ats_ptr_type, tmp25) ; break ; } while (0) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 5208(line=240, offs=1) -- 5509(line=254, offs=4) */ ATSstaticdec() ats_ptr_type aux_funlab_get_d2envlst_3 (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_ptr_type, tmp29) ; ATSlocal (ats_ptr_type, tmp30) ; ATSlocal (ats_ptr_type, tmp31) ; ATSlocal (ats_ptr_type, tmp32) ; __ats_lab_aux_funlab_get_d2envlst_3: tmp29 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg0) ; if (tmp29 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 5272(line=243, offs=5) -- 5310(line=243, offs=43)") ; } tmp30 = ats_caselptrlab_mac(anairiats_sum_1, tmp29, atslab_0) ; tmp31 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin (tmp30) ; do { /* branch: __ats_lab_6 */ __ats_lab_6_0: if (tmp31 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; } __ats_lab_6_1: tmp32 = ats_caselptrlab_mac(anairiats_sum_1, tmp31, atslab_0) ; tmp28 = tmp32 ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: // if (tmp31 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_7_1: tmp28 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst (tmp30) ; break ; } while (0) ; return (tmp28) ; } /* end of [aux_funlab_get_d2envlst_3] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 5551(line=257, offs=1) -- 6096(line=287, offs=4) */ ATSstaticdec() ats_ptr_type auxd2es_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp33) ; ATSlocal (ats_ptr_type, tmp34) ; ATSlocal (ats_ptr_type, tmp35) ; ATSlocal (ats_ptr_type, tmp36) ; __ats_lab_auxd2es_4: do { /* branch: __ats_lab_8 */ __ats_lab_8_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; } __ats_lab_8_1: tmp34 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp35 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp36 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_add (arg2, tmp34) ; arg0 = tmp35 ; arg1 = arg1 ; arg2 = tmp36 ; goto __ats_lab_auxd2es_4 ; // tail call break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_9_1: tmp33 = arg2 ; break ; } while (0) ; return (tmp33) ; } /* end of [auxd2es_4] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 6196(line=295, offs=1) -- 6733(line=321, offs=4) */ ATSstaticdec() ats_ptr_type auxtrclo_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp37) ; ATSlocal (ats_ptr_type, tmp38) ; ATSlocal (ats_ptr_type, tmp39) ; ATSlocal (ats_ptr_type, tmp40) ; ATSlocal (ats_ptr_type, tmp41) ; __ats_lab_auxtrclo_5: do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp37 = arg2 ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_11_1: tmp38 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp39 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp40 = aux_funlab_get_d2envlst_3 (tmp38) ; tmp41 = auxd2es_4 (tmp40, arg1, arg2) ; arg0 = tmp39 ; arg1 = arg1 ; arg2 = tmp41 ; goto __ats_lab_auxtrclo_5 ; // tail call break ; } while (0) ; return (tmp37) ; } /* end of [auxtrclo_5] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 6813(line=327, offs=3) -- 7554(line=355, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp42) ; ATSlocal (ats_ptr_type, tmp43) ; ATSlocal (ats_ptr_type, tmp44) ; ATSlocal (ats_ptr_type, tmp45) ; ATSlocal (ats_ptr_type, tmp46) ; ATSlocal (ats_ptr_type, tmp47) ; ATSlocal (ats_ptr_type, tmp48) ; ATSlocal (ats_ptr_type, tmp49) ; // ATSlocal_void (tmp50) ; ATSlocal (ats_ptr_type, tmp51) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_d2envlst_fin (arg0) ; do { /* branch: __ats_lab_12 */ __ats_lab_12_0: if (tmp43 == (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp44 = ats_caselptrlab_mac(anairiats_sum_1, tmp43, atslab_0) ; tmp42 = tmp44 ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: // if (tmp43 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_13_1: tmp45 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_flablst (arg0) ; tmp46 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap (arg0) ; tmp47 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_nil () ; tmp48 = auxtrclo_5 (tmp45, tmp46, tmp47) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2envset_vt_listize_free (tmp48) ; tmp51 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ats_selptrset_mac(anairiats_sum_1, tmp51, atslab_0, ats_castfn_mac(ats_ptr_type, tmp49)) ; /* tmp50 = */ patsopt_funent_set_d2envlst_fin (arg0, tmp51) ; tmp42 = ats_castfn_mac(ats_ptr_type, tmp49) ; break ; } while (0) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4) */ ATSstaticdec() ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp56) ; __ats_lab_list_is_cons_01295_: do { /* branch: __ats_lab_16 */ __ats_lab_16_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; } __ats_lab_16_1: tmp56 = ats_true_bool ; break ; /* branch: __ats_lab_17 */ __ats_lab_17_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_17_1: tmp56 = ats_false_bool ; break ; } while (0) ; return (tmp56) ; } /* end of [list_is_cons_01295_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 7662(line=363, offs=3) -- 7869(line=374, offs=4) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_is_envful (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_ptr_type, tmp54) ; ATSlocal (ats_ptr_type, tmp55) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_is_envful: tmp53 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg0) ; do { /* branch: __ats_lab_14 */ __ats_lab_14_0: if (tmp53 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp55 = ats_caselptrlab_mac(anairiats_sum_1, tmp53, atslab_0) ; tmp54 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp55) ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: // if (tmp53 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_15_1: tmp54 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp52 = list_is_cons_01295_ (tmp54) ; return (tmp52) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_is_envful] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 7977(line=382, offs=5) -- 8232(line=397, offs=4) */ ATSstaticdec() ats_ptr_type aux_10 (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; __ats_lab_aux_10: do { /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp59 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp60 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp61 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp59) ; tmp62 = aux_10 (tmp60, arg1) ; tmp58 = ATS_MALLOC(sizeof(anairiats_sum_2)) ; ats_selptrset_mac(anairiats_sum_2, tmp58, atslab_0, tmp61) ; ats_selptrset_mac(anairiats_sum_2, tmp58, atslab_1, tmp62) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: // if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_19_1: tmp58 = arg1 ; break ; } while (0) ; return (tmp58) ; } /* end of [aux_10] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 7957(line=380, offs=3) -- 8480(line=410, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_fullarg (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp57) ; ATSlocal (ats_ptr_type, tmp63) ; ATSlocal (ats_ptr_type, tmp64) ; ATSlocal (ats_ptr_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_fullarg: tmp63 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (arg0) ; do { /* branch: __ats_lab_20 */ __ats_lab_20_0: if (tmp63 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; } __ats_lab_20_1: tmp65 = ats_caselptrlab_mac(anairiats_sum_1, tmp63, atslab_0) ; tmp64 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp65) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: // if (tmp63 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_21_1: tmp64 = (ats_sum_ptr_type)0 ; break ; } while (0) ; tmp66 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_arg (arg0) ; tmp57 = aux_10 (tmp64, tmp66) ; return (tmp57) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_type_fullarg] */ /* // /home/hwxi/Research/Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4) */ ATSstaticdec() ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp69) ; ATSlocal (ats_ptr_type, tmp70) ; __ats_lab_ref_01088_ats_ptr_type: /* ats_ptr_type tmp70 ; */ tmp70 = arg0 ; tmp69 = atspre_ref_make_elt_tsz ((&tmp70), sizeof(ats_ptr_type)) ; return (tmp69) ; } /* end of [ref_01088_ats_ptr_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 9060(line=439, offs=1) -- 9369(line=457, offs=4) */ ATSstaticdec() ats_void_type auxmap_13 (ats_ref_type arg0, ats_ptr_type arg1) { /* local vardec */ // ATSlocal_void (tmp72) ; ATSlocal (anairiats_rec_3, tmp73) ; ATSlocal (ats_ptr_type, tmp74) ; ATSlocal (ats_bool_type, tmp75) ; ATSlocal (ats_ptr_type, tmp76) ; ATSlocal (ats_ptr_type, tmp77) ; __ats_lab_auxmap_13: do { /* branch: __ats_lab_22 */ __ats_lab_22_0: if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; } __ats_lab_22_1: tmp73 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ; tmp74 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ; ATS_FREE(arg1) ; tmp76 = ats_select_mac(tmp73, atslab_0) ; tmp77 = ats_select_mac(tmp73, atslab_1) ; tmp75 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert (arg0, tmp76, tmp77) ; arg0 = arg0 ; arg1 = tmp74 ; goto __ats_lab_auxmap_13 ; // tail call break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: // if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_23_1: break ; } while (0) ; return /* (tmp72) */ ; } /* end of [auxmap_13] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 9396(line=460, offs=1) -- 9823(line=479, offs=4) */ ATSstaticdec() ats_void_type auxenv_14 (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) { /* local vardec */ // ATSlocal_void (tmp78) ; ATSlocal (ats_ptr_type, tmp79) ; ATSlocal (ats_ptr_type, tmp80) ; ATSlocal (ats_ptr_type, tmp81) ; ATSlocal (ats_ptr_type, tmp82) ; ATSlocal (ats_ptr_type, tmp83) ; ATSlocal (ats_bool_type, tmp84) ; ATSlocal (ats_int_type, tmp85) ; __ats_lab_auxenv_14: do { /* branch: __ats_lab_24 */ __ats_lab_24_0: if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; } __ats_lab_24_1: break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: // if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_25_1: tmp79 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ; tmp80 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ; tmp81 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_var (tmp79) ; tmp82 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__d2env_get_type (tmp79) ; tmp83 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_argenv (arg1, tmp82, arg2) ; tmp84 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_insert (arg0, tmp81, tmp83) ; tmp85 = atspre_add_int_int (arg2, 1) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = tmp85 ; arg3 = tmp80 ; goto __ats_lab_auxenv_14 ; // tail call break ; } while (0) ; return /* (tmp78) */ ; } /* end of [auxenv_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 9039(line=436, offs=3) -- 10145(line=495, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp71) ; ATSlocal (ats_ptr_type, tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; ATSlocal (ats_ptr_type, tmp88) ; // ATSlocal_void (tmp89) ; ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_ptr_type, tmp91) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize: tmp86 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_loc (arg0) ; tmp87 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_vbindmap (arg0) ; tmp88 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp68), atslab_1) ; tmp90 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_listize (tmp87) ; /* tmp89 = */ auxmap_13 (tmp88, tmp90) ; tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_eval_d2envlst (arg0) ; /* tmp71 = */ auxenv_14 (tmp88, tmp86, 0, tmp91) ; return /* (tmp71) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 10266(line=504, offs=1) -- 10643(line=524, offs=2) */ ATSstaticdec() ats_void_type auxlst_16 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; // ATSlocal_void (tmp97) ; ATSlocal (ats_ptr_type, tmp98) ; __ats_lab_auxlst_16: do { /* branch: __ats_lab_26 */ __ats_lab_26_0: if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; } __ats_lab_26_1: break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: // if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_27_1: tmp94 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ; tmp95 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ; tmp96 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funlab_get_funent (tmp94) ; do { /* branch: __ats_lab_28 */ __ats_lab_28_0: if (tmp96 != (ats_sum_ptr_type)0) { goto __ats_lab_29_0 ; } __ats_lab_28_1: break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: // if (tmp96 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_29_1: tmp98 = ats_caselptrlab_mac(anairiats_sum_1, tmp96, atslab_0) ; /* tmp97 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize (tmp98) ; break ; } while (0) ; arg0 = tmp95 ; goto __ats_lab_auxlst_16 ; // tail call break ; } while (0) ; return /* (tmp93) */ ; } /* end of [auxlst_16] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 10245(line=501, offs=3) -- 10892(line=541, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize2 (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp92) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize2: tmp99 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_get_fnxlablst (arg0) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (tmp99 != (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: // if (tmp99 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; } __ats_lab_31_1: tmp100 = ats_caselptrlab_mac(anairiats_sum_2, tmp99, atslab_1) ; /* tmp92 = */ auxlst_16 (tmp100) ; break ; } while (0) ; return /* (tmp92) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_initize2] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 10994(line=547, offs=3) -- 11161(line=558, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_uninitize (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; // ATSlocal_void (tmp103) ; ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_uninitize: tmp102 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp68), atslab_1) ; tmp104 = ats_ptrget_mac(ats_ptr_type, tmp102) ; /* tmp103 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_free (tmp104) ; tmp105 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil () ; ats_ptrget_mac(ats_ptr_type, tmp102) = tmp105 ; return /* (tmp101) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__funent_varbindmap_uninitize] */ /* // /home/hwxi/Research/Postiats/git/src/pats_ccomp_environ.dats: 11267(line=564, offs=3) -- 11376(line=570, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funent_varbindmap_find (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp106) ; ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_ptr_type, tmp108) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funent_varbindmap_find: tmp107 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp68), atslab_1) ; tmp108 = ats_ptrget_mac(ats_ptr_type, tmp107) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_search (tmp108, arg0) ; return (tmp106) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__the_funent_varbindmap_find] */ /* static load function */ // extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload (void) ; // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__staload_flag = 1 ; // _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_atspre_2edats__staload () ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_histaexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_hidynexp_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_ccomp_environ_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 () ; #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp67, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp68, sizeof(ats_ptr_type)) ; /* marking external values for GC */ /* code for dynamic loading */ statmp67 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__d2varmap_vt_nil () ; statmp68 = ref_01088_ats_ptr_type (statmp67) ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_ccomp_environ_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_trans3_syncst_dats.c0000664000175000017500000020516412655455557021426 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:19m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_location.cats" #include "pats_lexbuf.cats" #include "pats_location.cats" #include "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_ptr_type atslab_d2exp_loc ; ats_ptr_type atslab_d2exp_node ; ats_ptr_type atslab_d2exp_type ; } anairiats_rec_0 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_1 ; typedef struct { ats_ptr_type atslab_token_loc ; ats_ptr_type atslab_token_node ; } anairiats_rec_2 ; typedef struct { int tag ; ats_int_type atslab_0 ; ats_ptr_type atslab_1 ; ats_uint_type atslab_2 ; } anairiats_sum_3 ; typedef struct { int tag ; ats_ptr_type atslab_0 ; } anairiats_sum_4 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_INT_146) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_FLOAT_148) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__T_STRING_150) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfil_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyloc_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_syntax_2esats__CSTSPmyfun_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Efloat_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Estring_7) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__D2Es0tring_11) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_intsp_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__T3E_floatsp_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__INT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__UINT_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LINT_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LLINT_4) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_6) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__FLOAT_0) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__DOUBLE_1) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LDOUBLE_2) ; ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_3) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_print_newline) () ; ATSextern_fun(ats_void_type, atspre_prerr_newline) () ; ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ; ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_size_type, atspre_size_of_uint) (ats_uint_type) ; ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, atspre_print_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ; ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_base) (ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx) (ats_ptr_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__float_get_nsfx) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs) (ats_int_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_void_type, patsopt_prerrf_ifdebug) (ats_ptr_type, ...) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_bool_t0ype) (ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_int_t0ype) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_intinf_t0ype) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_int_t0ype) (ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_float_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ldouble_t0ype) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type) () ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_int_type) (ats_size_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2exp) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_float) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cstsp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp) (ats_ptr_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__float_syn_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type) (ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_int_type, patsopt_strcasecmp) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_make_substring) (ats_ptr_type, ats_size_type, ats_size_type) ; ATSextern_fun(ats_void_type, ats_free_gc) (ats_ptr_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__INT_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__UINT_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LINT_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LLINT_4) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_6) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__FLOAT_0) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__DOUBLE_1) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LDOUBLE_2) ; ATSglobal(ats_sum_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_3) ; /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ static ats_void_type prerr_FILENAME_02055_ () ; static ats_void_type prerr_error3_loc_02061_ (ats_ptr_type arg0) ; static ats_ptr_type intrepsfx_syn_type_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_uint_type arg2) ; static ats_ptr_type intbaserepsfx_syn_type_ind_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_uint_type arg3) ; static ats_ptr_type floatsfx_syn_type_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_uint_type arg2) ; /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 1927(line=62, offs=28) -- 1958(line=62, offs=59) */ ATSstaticdec() ats_void_type prerr_FILENAME_02055_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_02055_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_syncst")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_02055_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 2344(line=92, offs=3) -- 2457(line=97, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_int (ats_ptr_type arg0, ats_int_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp1) ; ATSlocal (ats_ptr_type, tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_int: tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp3 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_int_t0ype (arg1) ; tmp1 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_int (tmp2, tmp3, arg1) ; return (tmp1) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_int] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 2537(line=103, offs=3) -- 2665(line=108, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_intrep (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp4) ; ATSlocal (ats_ptr_type, tmp5) ; ATSlocal (ats_ptr_type, tmp6) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_intrep: tmp5 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp6 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind (tmp5, arg1) ; tmp4 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_intrep (tmp5, tmp6, arg1) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_intrep] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 2743(line=114, offs=3) -- 2857(line=117, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_bool (ats_ptr_type arg0, ats_bool_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp7) ; ATSlocal (ats_ptr_type, tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_bool: tmp8 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_bool_bool_t0ype (arg1) ; tmp7 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_bool (tmp8, tmp9, arg1) ; return (tmp7) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_bool] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 2936(line=123, offs=3) -- 3075(line=127, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char (ats_ptr_type arg0, ats_char_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp10) ; ATSlocal (ats_ptr_type, tmp11) ; ATSlocal (ats_int_type, tmp12) ; ATSlocal (ats_ptr_type, tmp13) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char: tmp11 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp12 = atspre_int_of_char (arg1) ; tmp13 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_char_int_t0ype (tmp12) ; tmp10 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_char (tmp11, tmp13, arg1) ; return (tmp10) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_char] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 3156(line=133, offs=3) -- 3308(line=139, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp14) ; ATSlocal (ats_ptr_type, tmp15) ; ATSlocal (ats_size_type, tmp16) ; ATSlocal (ats_ptr_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string: tmp15 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp16 = atspre_string_length (arg1) ; tmp17 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_int_type (tmp16) ; tmp14 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_string (tmp15, tmp17, arg1) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string] */ /* // /home/hwxi/Research/Postiats/git/src/pats_errmsg.dats: 2336(line=83, offs=18) -- 2395(line=86, offs=2) */ ATSstaticdec() ats_void_type prerr_error3_loc_02061_ (ats_ptr_type arg0) { /* local vardec */ // ATSlocal_void (tmp44) ; // ATSlocal_void (tmp45) ; __ats_lab_prerr_error3_loc_02061_: /* tmp45 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location (arg0) ; /* tmp44 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ; return /* (tmp44) */ ; } /* end of [prerr_error3_loc_02061_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 3662(line=161, offs=1) -- 5116(line=214, offs=4) */ ATSstaticdec() ats_ptr_type intrepsfx_syn_type_6 (ats_ptr_type arg0, ats_ptr_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp18) ; ATSlocal (ats_ptr_type, tmp19) ; ATSlocal (ats_bool_type, tmp21) ; ATSlocal (ats_size_type, tmp22) ; ATSlocal (ats_size_type, tmp23) ; ATSlocal (ats_size_type, tmp24) ; ATSlocal (ats_ptr_type, tmp25) ; ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_ptr_type, tmp27) ; ATSlocal (ats_ptr_type, tmp28) ; ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_int_type, tmp30) ; ATSlocal (ats_bool_type, tmp31) ; ATSlocal (ats_int_type, tmp32) ; ATSlocal (ats_bool_type, tmp33) ; ATSlocal (ats_int_type, tmp34) ; ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_int_type, tmp36) ; ATSlocal (ats_bool_type, tmp37) ; ATSlocal (ats_int_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_int_type, tmp40) ; ATSlocal (ats_bool_type, tmp41) ; ATSlocal (ats_int_type, tmp42) ; // ATSlocal_void (tmp43) ; // ATSlocal_void (tmp46) ; // ATSlocal_void (tmp47) ; // ATSlocal_void (tmp48) ; // ATSlocal_void (tmp49) ; ATSlocal (ats_ptr_type, tmp50) ; __ats_lab_intrepsfx_syn_type_6: /* ats_ptr_type tmp19 ; */ tmp19 = atspre_null_ptr ; tmp21 = atspre_gt_uint_uint (arg2, 0u) ; if (tmp21) { tmp22 = atspre_string_length (arg1) ; tmp24 = atspre_size_of_uint (arg2) ; tmp23 = atspre_sub_size_size (tmp22, tmp24) ; tmp25 = atspre_padd_size (ats_castfn_mac(ats_ptr_type, arg1), tmp23) ; tmp19 = tmp25 ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_0 */ __ats_lab_0_0: __ats_lab_0_1: tmp26 = atspre_eq_uint_uint (arg2, 0u) ; if (!tmp26) { goto __ats_lab_1_1 ; } tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype () ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: __ats_lab_1_1: tmp27 = ats_castfn_mac(ats_ptr_type, tmp19) ; do { /* branch: __ats_lab_2 */ __ats_lab_2_0: __ats_lab_2_1: tmp30 = patsopt_strcasecmp (tmp27, ATSstrcst("U")) ; tmp29 = atspre_eq_int_int (tmp30, 0) ; if (!tmp29) { goto __ats_lab_3_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__UINT_1) ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: __ats_lab_3_1: tmp32 = patsopt_strcasecmp (tmp27, ATSstrcst("L")) ; tmp31 = atspre_eq_int_int (tmp32, 0) ; if (!tmp31) { goto __ats_lab_4_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LINT_2) ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp34 = patsopt_strcasecmp (tmp27, ATSstrcst("UL")) ; tmp33 = atspre_eq_int_int (tmp34, 0) ; if (!tmp33) { goto __ats_lab_5_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; break ; /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp36 = patsopt_strcasecmp (tmp27, ATSstrcst("LU")) ; tmp35 = atspre_eq_int_int (tmp36, 0) ; if (!tmp35) { goto __ats_lab_6_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp38 = patsopt_strcasecmp (tmp27, ATSstrcst("LL")) ; tmp37 = atspre_eq_int_int (tmp38, 0) ; if (!tmp37) { goto __ats_lab_7_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LLINT_4) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: tmp40 = patsopt_strcasecmp (tmp27, ATSstrcst("ULL")) ; tmp39 = atspre_eq_int_int (tmp40, 0) ; if (!tmp39) { goto __ats_lab_8_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; break ; /* branch: __ats_lab_8 */ __ats_lab_8_0: __ats_lab_8_1: tmp42 = patsopt_strcasecmp (tmp27, ATSstrcst("LLU")) ; tmp41 = atspre_eq_int_int (tmp42, 0) ; if (!tmp41) { goto __ats_lab_9_1 ; } tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; break ; /* branch: __ats_lab_9 */ __ats_lab_9_0: __ats_lab_9_1: tmp28 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_6) ; break ; } while (0) ; do { /* branch: __ats_lab_10 */ __ats_lab_10_0: if (((ats_sum_ptr_type)tmp28)->tag != 0) { goto __ats_lab_11_0 ; } __ats_lab_10_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_t0ype () ; break ; /* branch: __ats_lab_11 */ __ats_lab_11_0: if (((ats_sum_ptr_type)tmp28)->tag != 1) { goto __ats_lab_12_0 ; } __ats_lab_11_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_t0ype () ; break ; /* branch: __ats_lab_12 */ __ats_lab_12_0: if (((ats_sum_ptr_type)tmp28)->tag != 2) { goto __ats_lab_13_0 ; } __ats_lab_12_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_t0ype () ; break ; /* branch: __ats_lab_13 */ __ats_lab_13_0: if (((ats_sum_ptr_type)tmp28)->tag != 3) { goto __ats_lab_14_0 ; } __ats_lab_13_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_t0ype () ; break ; /* branch: __ats_lab_14 */ __ats_lab_14_0: if (((ats_sum_ptr_type)tmp28)->tag != 4) { goto __ats_lab_15_0 ; } __ats_lab_14_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_t0ype () ; break ; /* branch: __ats_lab_15 */ __ats_lab_15_0: if (((ats_sum_ptr_type)tmp28)->tag != 5) { goto __ats_lab_16_0 ; } __ats_lab_15_1: tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_t0ype () ; break ; /* branch: __ats_lab_16 */ __ats_lab_16_0: __ats_lab_16_1: /* tmp43 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp46 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats"), ATSstrcst("intrepsfx_syn_type")) ; /* tmp47 = */ atspre_prerr_string (ATSstrcst(": the suffix of the integer is not supported.")) ; /* tmp48 = */ atspre_prerr_newline () ; tmp50 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp50)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp50, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp50, atslab_1, arg1) ; /* tmp49 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp50) ; tmp18 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; break ; } while (0) ; return (tmp18) ; } /* end of [intrepsfx_syn_type_6] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 5174(line=219, offs=1) -- 7783(line=307, offs=4) */ ATSstaticdec() ats_ptr_type intbaserepsfx_syn_type_ind_8 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_uint_type arg3) { /* local vardec */ ATSlocal (ats_ptr_type, tmp51) ; ATSlocal (ats_ptr_type, tmp52) ; ATSlocal (ats_ptr_type, tmp53) ; ATSlocal (ats_bool_type, tmp55) ; ATSlocal (ats_size_type, tmp56) ; ATSlocal (ats_size_type, tmp57) ; ATSlocal (ats_size_type, tmp58) ; ATSlocal (ats_ptr_type, tmp59) ; ATSlocal (ats_ptr_type, tmp60) ; ATSlocal (ats_ptr_type, tmp61) ; ATSlocal (ats_ptr_type, tmp62) ; // ATSlocal_void (tmp63) ; ATSlocal (ats_bool_type, tmp64) ; ATSlocal (ats_bool_type, tmp65) ; ATSlocal (ats_ptr_type, tmp66) ; ATSlocal (ats_ptr_type, tmp67) ; ATSlocal (ats_bool_type, tmp68) ; ATSlocal (ats_int_type, tmp69) ; ATSlocal (ats_bool_type, tmp70) ; ATSlocal (ats_int_type, tmp71) ; ATSlocal (ats_bool_type, tmp72) ; ATSlocal (ats_int_type, tmp73) ; ATSlocal (ats_bool_type, tmp74) ; ATSlocal (ats_int_type, tmp75) ; ATSlocal (ats_bool_type, tmp76) ; ATSlocal (ats_int_type, tmp77) ; ATSlocal (ats_bool_type, tmp78) ; ATSlocal (ats_int_type, tmp79) ; ATSlocal (ats_bool_type, tmp80) ; ATSlocal (ats_int_type, tmp81) ; // ATSlocal_void (tmp82) ; // ATSlocal_void (tmp83) ; // ATSlocal_void (tmp84) ; // ATSlocal_void (tmp85) ; // ATSlocal_void (tmp86) ; ATSlocal (ats_ptr_type, tmp87) ; __ats_lab_intbaserepsfx_syn_type_ind_8: /* ats_ptr_type tmp52 ; */ tmp52 = atspre_null_ptr ; /* ats_ptr_type tmp53 ; */ tmp53 = arg2 ; tmp55 = atspre_gt_uint_uint (arg3, 0u) ; if (tmp55) { tmp56 = atspre_string_length (arg2) ; tmp58 = atspre_size_of_uint (arg3) ; tmp57 = atspre_sub_size_size (tmp56, tmp58) ; tmp59 = atspre_padd_size (ats_castfn_mac(ats_ptr_type, arg2), tmp57) ; tmp52 = tmp59 ; tmp60 = atspre_string_make_substring (arg2, 0, tmp57) ; tmp53 = tmp60 ; } else { /* empty */ } /* end of [if] */ tmp61 = ats_castfn_mac(ats_ptr_type, tmp53) ; do { /* branch: __ats_lab_17 */ __ats_lab_17_0: if (arg1 != 8) { goto __ats_lab_18_0 ; } __ats_lab_17_1: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (8, tmp61, 1) ; break ; /* branch: __ats_lab_18 */ __ats_lab_18_0: if (arg1 != 16) { goto __ats_lab_19_0 ; } __ats_lab_18_1: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (16, tmp61, 2) ; break ; /* branch: __ats_lab_19 */ __ats_lab_19_0: __ats_lab_19_1: tmp62 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__intinf_make_base_string_ofs (10, tmp61, 0) ; break ; } while (0) ; tmp64 = atspre_gt_uint_uint (arg3, 0u) ; if (tmp64) { /* tmp63 = */ ats_free_gc (tmp61) ; } else { /* empty */ } /* end of [if] */ do { /* branch: __ats_lab_20 */ __ats_lab_20_0: __ats_lab_20_1: tmp65 = atspre_eq_uint_uint (arg3, 0u) ; if (!tmp65) { goto __ats_lab_21_1 ; } tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_21 */ __ats_lab_21_0: __ats_lab_21_1: tmp66 = ats_castfn_mac(ats_ptr_type, tmp52) ; do { /* branch: __ats_lab_22 */ __ats_lab_22_0: __ats_lab_22_1: tmp69 = patsopt_strcasecmp (tmp66, ATSstrcst("U")) ; tmp68 = atspre_eq_int_int (tmp69, 0) ; if (!tmp68) { goto __ats_lab_23_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__UINT_1) ; break ; /* branch: __ats_lab_23 */ __ats_lab_23_0: __ats_lab_23_1: tmp71 = patsopt_strcasecmp (tmp66, ATSstrcst("L")) ; tmp70 = atspre_eq_int_int (tmp71, 0) ; if (!tmp70) { goto __ats_lab_24_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LINT_2) ; break ; /* branch: __ats_lab_24 */ __ats_lab_24_0: __ats_lab_24_1: tmp73 = patsopt_strcasecmp (tmp66, ATSstrcst("UL")) ; tmp72 = atspre_eq_int_int (tmp73, 0) ; if (!tmp72) { goto __ats_lab_25_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; break ; /* branch: __ats_lab_25 */ __ats_lab_25_0: __ats_lab_25_1: tmp75 = patsopt_strcasecmp (tmp66, ATSstrcst("LU")) ; tmp74 = atspre_eq_int_int (tmp75, 0) ; if (!tmp74) { goto __ats_lab_26_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3) ; break ; /* branch: __ats_lab_26 */ __ats_lab_26_0: __ats_lab_26_1: tmp77 = patsopt_strcasecmp (tmp66, ATSstrcst("LL")) ; tmp76 = atspre_eq_int_int (tmp77, 0) ; if (!tmp76) { goto __ats_lab_27_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LLINT_4) ; break ; /* branch: __ats_lab_27 */ __ats_lab_27_0: __ats_lab_27_1: tmp79 = patsopt_strcasecmp (tmp66, ATSstrcst("ULL")) ; tmp78 = atspre_eq_int_int (tmp79, 0) ; if (!tmp78) { goto __ats_lab_28_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; break ; /* branch: __ats_lab_28 */ __ats_lab_28_0: __ats_lab_28_1: tmp81 = patsopt_strcasecmp (tmp66, ATSstrcst("LLU")) ; tmp80 = atspre_eq_int_int (tmp81, 0) ; if (!tmp80) { goto __ats_lab_29_1 ; } tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5) ; break ; /* branch: __ats_lab_29 */ __ats_lab_29_0: __ats_lab_29_1: tmp67 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_6) ; break ; } while (0) ; do { /* branch: __ats_lab_30 */ __ats_lab_30_0: if (((ats_sum_ptr_type)tmp67)->tag != 0) { goto __ats_lab_31_0 ; } __ats_lab_30_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_int_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_31 */ __ats_lab_31_0: if (((ats_sum_ptr_type)tmp67)->tag != 1) { goto __ats_lab_32_0 ; } __ats_lab_31_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_uint_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_32 */ __ats_lab_32_0: if (((ats_sum_ptr_type)tmp67)->tag != 2) { goto __ats_lab_33_0 ; } __ats_lab_32_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_lint_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_33 */ __ats_lab_33_0: if (((ats_sum_ptr_type)tmp67)->tag != 3) { goto __ats_lab_34_0 ; } __ats_lab_33_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ulint_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_34 */ __ats_lab_34_0: if (((ats_sum_ptr_type)tmp67)->tag != 4) { goto __ats_lab_35_0 ; } __ats_lab_34_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_llint_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_35 */ __ats_lab_35_0: if (((ats_sum_ptr_type)tmp67)->tag != 5) { goto __ats_lab_36_0 ; } __ats_lab_35_1: tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ullint_intinf_t0ype (tmp62) ; break ; /* branch: __ats_lab_36 */ __ats_lab_36_0: __ats_lab_36_1: /* tmp82 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp83 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats"), ATSstrcst("intbaserepsfx_syn_type_ind")) ; /* tmp84 = */ atspre_prerr_string (ATSstrcst(": the suffix of the integer is not supported.")) ; /* tmp85 = */ atspre_prerr_newline () ; tmp87 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp87)->tag = 0 ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp87, atslab_1, arg2) ; /* tmp86 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp87) ; tmp51 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; break ; } while (0) ; return (tmp51) ; } /* end of [intbaserepsfx_syn_type_ind_8] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 7896(line=315, offs=3) -- 7996(line=319, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp88) ; ATSlocal (ats_uint_type, tmp89) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type: tmp89 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx (arg1) ; tmp88 = intrepsfx_syn_type_6 (arg0, arg1, tmp89) ; return (tmp88) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8058(line=323, offs=3) -- 8215(line=329, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp90) ; ATSlocal (ats_int_type, tmp91) ; ATSlocal (ats_uint_type, tmp92) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind: tmp91 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_base (arg1) ; tmp92 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__intrep_get_nsfx (arg1) ; tmp90 = intbaserepsfx_syn_type_ind_8 (arg0, tmp91, arg1, tmp92) ; return (tmp90) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__intrep_syn_type_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8275(line=333, offs=3) -- 8410(line=341, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp93) ; ATSlocal (ats_ptr_type, tmp94) ; ATSlocal (ats_ptr_type, tmp95) ; ATSlocal (ats_ptr_type, tmp96) ; ATSlocal (ats_uint_type, tmp97) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type: tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_loc) ; tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp95)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8323(line=336, offs=5) -- 8362(line=337, offs=34)") ; } tmp96 = ats_caselptrlab_mac(anairiats_sum_3, tmp95, atslab_1) ; tmp97 = ats_caselptrlab_mac(anairiats_sum_3, tmp95, atslab_2) ; tmp93 = intrepsfx_syn_type_6 (tmp94, tmp96, tmp97) ; return (tmp93) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8469(line=345, offs=3) -- 8616(line=352, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp98) ; ATSlocal (ats_ptr_type, tmp99) ; ATSlocal (ats_ptr_type, tmp100) ; ATSlocal (ats_int_type, tmp101) ; ATSlocal (ats_ptr_type, tmp102) ; ATSlocal (ats_uint_type, tmp103) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind: tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_loc) ; tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp100)->tag != 146) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8517(line=348, offs=5) -- 8554(line=348, offs=42)") ; } tmp101 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_0) ; tmp102 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_1) ; tmp103 = ats_caselptrlab_mac(anairiats_sum_3, tmp100, atslab_2) ; tmp98 = intbaserepsfx_syn_type_ind_8 (tmp99, tmp101, tmp102, tmp103) ; return (tmp98) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8697(line=358, offs=3) -- 8819(line=363, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp104) ; ATSlocal (ats_ptr_type, tmp105) ; ATSlocal (ats_ptr_type, tmp106) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_i0nt: tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp106 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__i0nt_syn_type_ind (arg1) ; tmp104 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_i0nt (tmp105, tmp106, arg1) ; return (tmp104) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_i0nt] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 8980(line=376, offs=1) -- 10065(line=410, offs=2) */ ATSstaticdec() ats_ptr_type floatsfx_syn_type_14 (ats_ptr_type arg0, ats_ptr_type arg1, ats_uint_type arg2) { /* local vardec */ ATSlocal (ats_ptr_type, tmp107) ; ATSlocal (ats_bool_type, tmp108) ; ATSlocal (ats_size_type, tmp109) ; ATSlocal (ats_size_type, tmp110) ; ATSlocal (ats_size_type, tmp111) ; ATSlocal (ats_ptr_type, tmp112) ; ATSlocal (ats_ptr_type, tmp113) ; ATSlocal (ats_bool_type, tmp114) ; ATSlocal (ats_int_type, tmp115) ; ATSlocal (ats_bool_type, tmp116) ; ATSlocal (ats_int_type, tmp117) ; // ATSlocal_void (tmp118) ; // ATSlocal_void (tmp119) ; // ATSlocal_void (tmp120) ; // ATSlocal_void (tmp121) ; // ATSlocal_void (tmp122) ; ATSlocal (ats_ptr_type, tmp123) ; __ats_lab_floatsfx_syn_type_14: do { /* branch: __ats_lab_37 */ __ats_lab_37_0: __ats_lab_37_1: tmp108 = atspre_eq_uint_uint (arg2, 0u) ; if (!tmp108) { goto __ats_lab_38_1 ; } tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () ; break ; /* branch: __ats_lab_38 */ __ats_lab_38_0: __ats_lab_38_1: tmp109 = atspre_string_length (ats_castfn_mac(ats_ptr_type, arg1)) ; tmp111 = atspre_size_of_uint (arg2) ; tmp110 = atspre_sub_size_size (tmp109, tmp111) ; tmp112 = atspre_padd_size (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg1)), tmp110) ; do { /* branch: __ats_lab_39 */ __ats_lab_39_0: __ats_lab_39_1: tmp115 = patsopt_strcasecmp (ats_castfn_mac(ats_ptr_type, tmp112), ATSstrcst("F")) ; tmp114 = atspre_eq_int_int (tmp115, 0) ; if (!tmp114) { goto __ats_lab_40_1 ; } tmp113 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__FLOAT_0) ; break ; /* branch: __ats_lab_40 */ __ats_lab_40_0: __ats_lab_40_1: tmp117 = patsopt_strcasecmp (ats_castfn_mac(ats_ptr_type, tmp112), ATSstrcst("L")) ; tmp116 = atspre_eq_int_int (tmp117, 0) ; if (!tmp116) { goto __ats_lab_41_1 ; } tmp113 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LDOUBLE_2) ; break ; /* branch: __ats_lab_41 */ __ats_lab_41_0: __ats_lab_41_1: tmp113 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_3) ; break ; } while (0) ; do { /* branch: __ats_lab_42 */ __ats_lab_42_0: if (((ats_sum_ptr_type)tmp113)->tag != 0) { goto __ats_lab_43_0 ; } __ats_lab_42_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_float_t0ype () ; break ; /* branch: __ats_lab_43 */ __ats_lab_43_0: if (((ats_sum_ptr_type)tmp113)->tag != 1) { goto __ats_lab_44_0 ; } __ats_lab_43_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_double_t0ype () ; break ; /* branch: __ats_lab_44 */ __ats_lab_44_0: if (((ats_sum_ptr_type)tmp113)->tag != 2) { goto __ats_lab_45_0 ; } __ats_lab_44_1: tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_ldouble_t0ype () ; break ; /* branch: __ats_lab_45 */ __ats_lab_45_0: __ats_lab_45_1: /* tmp118 = */ prerr_error3_loc_02061_ (arg0) ; /* tmp119 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats"), ATSstrcst("f0loat_syn_type")) ; /* tmp120 = */ atspre_prerr_string (ATSstrcst(": the suffix of the floating point number is not supported.")) ; /* tmp121 = */ atspre_prerr_newline () ; tmp123 = ATS_MALLOC(sizeof(anairiats_sum_1)) ; ((ats_sum_ptr_type)tmp123)->tag = 1 ; ats_selptrset_mac(anairiats_sum_1, tmp123, atslab_0, arg0) ; ats_selptrset_mac(anairiats_sum_1, tmp123, atslab_1, arg1) ; /* tmp122 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp123) ; tmp107 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ; break ; } while (0) ; break ; } while (0) ; return (tmp107) ; } /* end of [floatsfx_syn_type_14] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10147(line=416, offs=3) -- 10245(line=420, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__float_syn_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp124) ; ATSlocal (ats_uint_type, tmp125) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__float_syn_type: tmp125 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__float_get_nsfx (arg1) ; tmp124 = floatsfx_syn_type_14 (arg0, arg1, tmp125) ; return (tmp124) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__float_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10302(line=424, offs=3) -- 10436(line=429, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type (ats_ptr_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp126) ; ATSlocal (ats_ptr_type, tmp127) ; ATSlocal (ats_ptr_type, tmp128) ; ATSlocal (ats_ptr_type, tmp129) ; ATSlocal (ats_uint_type, tmp130) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type: tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_loc) ; tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_token_node) ; if (((ats_sum_ptr_type)tmp128)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10353(line=426, offs=7) -- 10392(line=426, offs=46)") ; } tmp129 = ats_caselptrlab_mac(anairiats_sum_3, tmp128, atslab_1) ; tmp130 = ats_caselptrlab_mac(anairiats_sum_3, tmp128, atslab_2) ; tmp126 = floatsfx_syn_type_14 (tmp127, tmp129, tmp130) ; return (tmp126) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10516(line=435, offs=3) -- 10638(line=440, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp131) ; ATSlocal (ats_ptr_type, tmp132) ; ATSlocal (ats_ptr_type, tmp133) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float: tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp133 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__float_syn_type (tmp132, arg1) ; tmp131 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_float (tmp132, tmp133, arg1) ; return (tmp131) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10699(line=444, offs=3) -- 10867(line=450, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp134) ; ATSlocal (ats_ptr_type, tmp135) ; ATSlocal (ats_ptr_type, tmp136) ; ATSlocal (ats_ptr_type, tmp137) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat: tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp136 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__f0loat_syn_type (arg1) ; tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_token_node) ; if (((ats_sum_ptr_type)tmp137)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10791(line=447, offs=7) -- 10830(line=447, offs=46)") ; } tmp134 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_f0loat (tmp135, tmp136, arg1) ; return (tmp134) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 10947(line=456, offs=3) -- 11232(line=468, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp138) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type: do { /* branch: __ats_lab_46 */ __ats_lab_46_0: if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_47_0 ; } __ats_lab_46_1: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; /* branch: __ats_lab_47 */ __ats_lab_47_0: if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_48_0 ; } __ats_lab_47_1: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; /* branch: __ats_lab_48 */ __ats_lab_48_0: // if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; } __ats_lab_48_1: tmp138 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_string_type () ; break ; } while (0) ; return (tmp138) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 11290(line=472, offs=3) -- 11400(line=479, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cstsp (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp139) ; ATSlocal (ats_ptr_type, tmp140) ; ATSlocal (ats_ptr_type, tmp141) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cstsp: tmp140 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__cstsp_syn_type (arg0, arg1) ; tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; tmp139 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_cstsp (tmp141, tmp140, arg1) ; return (tmp139) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_cstsp] */ /* // /home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 11483(line=485, offs=3) -- 12694(line=540, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_literal (ats_ptr_type arg0, ats_ptr_type arg1) { /* local vardec */ ATSlocal (ats_ptr_type, tmp142) ; ATSlocal (ats_ptr_type, tmp143) ; // ATSlocal_void (tmp144) ; // ATSlocal_void (tmp145) ; // ATSlocal_void (tmp146) ; ATSlocal (ats_ptr_type, tmp147) ; ATSlocal (ats_ptr_type, tmp148) ; ATSlocal (ats_ptr_type, tmp149) ; ATSlocal (ats_ptr_type, tmp150) ; ATSlocal (ats_ptr_type, tmp151) ; ATSlocal (ats_ptr_type, tmp152) ; ATSlocal (ats_ptr_type, tmp153) ; ATSlocal (ats_ptr_type, tmp154) ; ATSlocal (ats_ptr_type, tmp155) ; ATSlocal (ats_ptr_type, tmp156) ; ATSlocal (ats_ptr_type, tmp157) ; ATSlocal (ats_ptr_type, tmp158) ; ATSlocal (ats_ptr_type, tmp159) ; ATSlocal (ats_ptr_type, tmp160) ; ATSlocal (ats_ptr_type, tmp161) ; ATSlocal (ats_ptr_type, tmp162) ; ATSlocal (ats_ptr_type, tmp163) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_literal: tmp143 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_d2exp_loc) ; /* tmp144 = */ atspre_print_string (ATSstrcst("d2exp_trup_literal: d2e0 = ")) ; /* tmp145 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__print_d2exp (arg0) ; /* tmp146 = */ atspre_print_newline () ; tmp147 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_d2exp_node) ; do { /* branch: __ats_lab_49 */ __ats_lab_49_0: if (((ats_sum_ptr_type)tmp147)->tag != 6) { goto __ats_lab_50_0 ; } __ats_lab_49_1: tmp148 = ats_caselptrlab_mac(anairiats_sum_4, tmp147, atslab_0) ; tmp149 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_float (arg1, tmp148) ; tmp150 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float (tmp148) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal (tmp143, tmp150, tmp149) ; break ; /* branch: __ats_lab_50 */ __ats_lab_50_0: if (((ats_sum_ptr_type)tmp147)->tag != 10) { goto __ats_lab_51_0 ; } __ats_lab_50_1: tmp151 = ats_caselptrlab_mac(anairiats_sum_4, tmp147, atslab_0) ; tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp151), atslab_token_node) ; if (((ats_sum_ptr_type)tmp152)->tag != 148) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 11903(line=508, offs=5) -- 11945(line=509, offs=35)") ; } tmp153 = ats_caselptrlab_mac(anairiats_sum_3, tmp152, atslab_1) ; tmp154 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_f0loat (arg1, tmp151) ; tmp155 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_float (tmp153) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal (tmp143, tmp155, tmp154) ; break ; /* branch: __ats_lab_51 */ __ats_lab_51_0: if (((ats_sum_ptr_type)tmp147)->tag != 7) { goto __ats_lab_52_0 ; } __ats_lab_51_1: tmp156 = ats_caselptrlab_mac(anairiats_sum_4, tmp147, atslab_0) ; tmp157 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string (arg1, tmp156) ; tmp158 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string (tmp156) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal (tmp143, tmp158, tmp157) ; break ; /* branch: __ats_lab_52 */ __ats_lab_52_0: if (((ats_sum_ptr_type)tmp147)->tag != 11) { goto __ats_lab_53_0 ; } __ats_lab_52_1: tmp159 = ats_caselptrlab_mac(anairiats_sum_4, tmp147, atslab_0) ; tmp160 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp159), atslab_token_node) ; if (((ats_sum_ptr_type)tmp160)->tag != 150) { ats_caseof_failure_handle ("/home/hwxi/Research/Postiats/git/src/pats_trans3_syncst.dats: 12416(line=529, offs=5) -- 12446(line=529, offs=35)") ; } tmp161 = ats_caselptrlab_mac(anairiats_sum_4, tmp160, atslab_0) ; tmp162 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_string (arg1, tmp161) ; tmp163 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__s2exp_literal_string (tmp161) ; tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_literal (tmp143, tmp163, tmp162) ; break ; /* branch: __ats_lab_53 */ __ats_lab_53_0: __ats_lab_53_1: tmp142 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__d3exp_errexp (tmp143) ; break ; } while (0) ; return (tmp142) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__d2exp_trup_literal] */ /* static load function */ // extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__staload_flag = 1 ; // ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_utils_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_intinf_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_basics_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_lexing_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_staexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_stacst2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp2_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_dynexp3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__INT_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__UINT_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LINT_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULINT_3.tag = 3 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LLINT_4.tag = 4 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ULLINT_5.tag = 5 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_6.tag = 6 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__FLOAT_0.tag = 0 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__DOUBLE_1.tag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__LDOUBLE_2.tag = 2 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__ERROR_3.tag = 3 ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_trans3_syncst_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_trans3_syncst_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_error_dats.c0000664000175000017500000001105012655455557017727 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 */ /* external codes at top */ /* type definitions */ /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn) ; ATSextern_val(ats_exn_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr) ; /* external dynamic constant declarations */ ATSextern_fun(ats_int_type, pats_error_segfault) () ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ /* internal function declarations */ /* partial value template declarations */ /* static temporary variable declarations */ /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_error.dats: 1549(line=49, offs=7) -- 1625(line=55, offs=4) */ ATSglobaldec() ats_varet_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort () { /* local vardec */ // ATSlocal_void (tmp0) ; ATSlocal (ats_ptr_type, tmp1) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort: tmp1 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn) ; /* tmp0 = */ ats_raise_exn (tmp1) ; return /* (tmp0) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort] */ /* // /home/hwxi/Research/Postiats/git/src/pats_error.dats: 1668(line=58, offs=14) -- 1751(line=64, offs=4) */ ATSglobaldec() ats_varet_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () { /* local vardec */ // ATSlocal_void (tmp2) ; ATSlocal (ats_ptr_type, tmp3) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr: tmp3 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__FatalErrorExn_interr) ; /* tmp2 = */ ats_raise_exn (tmp3) ; return /* (tmp2) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2edats__staload () ; #ifdef _ATS_PROOFCHECK #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_error_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_effect_dats.c0000664000175000017500000007554412655455557020054 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Anairiats ** The compilation time is: 2016-2-6: 15h:18m ** */ /* 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/integer.cats" #include "prelude/CATS/sizetype.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/byte.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/reference.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 "pats_location.cats" /* external codes at top */ /* type definitions */ typedef struct { ats_uint_type atslab_0 ; ats_ptr_type atslab_1 ; } anairiats_sum_0 ; /* external typedefs */ /* external dynamic constructor declarations */ ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ; ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ; /* external dynamic constant declarations */ ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ; ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ; ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ; ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_lt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_gt_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_lnot_uint) (ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_land_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_lor_uint_uint) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_uint_type, atspre_lsl_uint_int1) (ats_uint_type, ats_int_type) ; ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ; ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ; ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr) () ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_get_name) (ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effect) (ats_ptr_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect) (ats_uint_type, ats_uint_type) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSextern_val(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil) (ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall) (ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_cmpl) (ats_uint_type) ; ATSextern_fun(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_is_inter) (ats_uint_type, ats_uint_type) ; ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset) (ats_ptr_type, ats_uint_type) ; /* external dynamic terminating constant declarations */ #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* assuming abstract types */ int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__sasp__effset_t0ype = 0 ; int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__sasp__effect_t0ype = 0 ; /* sum constructor declarations */ /* exn constructor declarations */ /* global dynamic (non-functional) constant declarations */ ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effectlst_all) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref) ; ATSglobal(ats_uint_type, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt) ; /* internal function declarations */ static ats_void_type prerr_FILENAME_01851_ () ; static ats_void_type loop_21 (ats_ptr_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_uint_type arg3, ats_ref_type arg4) ; /* partial value template declarations */ /* static temporary variable declarations */ ATSstatic (ats_ptr_type, statmp1) ; ATSstatic (ats_ptr_type, statmp2) ; ATSstatic (ats_ptr_type, statmp3) ; ATSstatic (ats_uint_type, statmp10) ; ATSstatic (ats_uint_type, statmp11) ; ATSstatic (ats_uint_type, statmp12) ; ATSstatic (ats_uint_type, statmp13) ; /* external value variable declarations */ /* function implementations */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 1547(line=42, offs=28) -- 1571(line=42, offs=52) */ ATSstaticdec() ats_void_type prerr_FILENAME_01851_ () { /* local vardec */ // ATSlocal_void (tmp0) ; __ats_lab_prerr_FILENAME_01851_: /* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_effect")) ; return /* (tmp0) */ ; } /* end of [prerr_FILENAME_01851_] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 2319(line=79, offs=18) -- 2359(line=79, offs=58) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp4) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect: tmp4 = atspre_eq_uint_uint (arg0, arg1) ; return (tmp4) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 2410(line=85, offs=3) -- 2654(line=98, offs=4) */ ATSglobaldec() ats_ptr_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_get_name (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_ptr_type, tmp5) ; // ATSlocal_void (tmp6) ; ATSlocal (ats_ptr_type, tmp7) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_get_name: do { /* branch: __ats_lab_0 */ __ats_lab_0_0: if (ats_castfn_mac(ats_int_type, arg0) != 0) { goto __ats_lab_1_0 ; } __ats_lab_0_1: tmp5 = ATSstrcst("ntm") ; break ; /* branch: __ats_lab_1 */ __ats_lab_1_0: if (ats_castfn_mac(ats_int_type, arg0) != 1) { goto __ats_lab_2_0 ; } __ats_lab_1_1: tmp5 = ATSstrcst("exn") ; break ; /* branch: __ats_lab_2 */ __ats_lab_2_0: if (ats_castfn_mac(ats_int_type, arg0) != 2) { goto __ats_lab_3_0 ; } __ats_lab_2_1: tmp5 = ATSstrcst("ref") ; break ; /* branch: __ats_lab_3 */ __ats_lab_3_0: if (ats_castfn_mac(ats_int_type, arg0) != 3) { goto __ats_lab_4_0 ; } __ats_lab_3_1: tmp5 = ATSstrcst("wrt") ; break ; /* branch: __ats_lab_4 */ __ats_lab_4_0: __ats_lab_4_1: tmp7 = atspre_string_append ("/home/hwxi/Research/Postiats/git/src/pats_effect.dats: 2576(line=96, offs=16) -- 2592(line=96, offs=32)", ATSstrcst("\n")) ; /* tmp6 = */ atspre_assert_errmsg (ats_false_bool, tmp7) ; /* tmp5 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__abort_interr () ; break ; } while (0) ; return (tmp5) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_get_name] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 2729(line=103, offs=15) -- 2780(line=103, offs=66) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effect (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp8) ; ATSlocal (ats_ptr_type, tmp9) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effect: tmp9 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_get_name (arg1) ; /* tmp8 = */ atspre_fprint_string (arg0, tmp9) ; return /* (tmp8) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effect] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3145(line=119, offs=23) -- 3159(line=119, offs=37) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp14) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing: tmp14 = atspre_lsl_uint_uint (1u, arg0) ; return (tmp14) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3191(line=121, offs=28) -- 3231(line=121, offs=68) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp15) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset: tmp15 = atspre_eq_uint_uint (arg0, arg1) ; return (tmp15) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effset_effset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3277(line=125, offs=22) -- 3302(line=125, offs=47) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp16) ; ATSlocal (ats_uint_type, tmp17) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add: tmp17 = atspre_lsl_uint_uint (1u, arg1) ; tmp16 = atspre_lor_uint_uint (arg0, tmp17) ; return (tmp16) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_add] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3325(line=126, offs=22) -- 3352(line=126, offs=49) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp18) ; ATSlocal (ats_uint_type, tmp19) ; ATSlocal (ats_uint_type, tmp20) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del: tmp20 = atspre_lsl_uint_uint (1u, arg1) ; tmp19 = atspre_lnot_uint (tmp20) ; tmp18 = atspre_land_uint_uint (arg0, tmp19) ; return (tmp18) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_del] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3399(line=131, offs=14) -- 3439(line=131, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp21) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil: tmp21 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil) ; return (tmp21) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3463(line=133, offs=14) -- 3503(line=133, offs=54) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp22) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall: tmp22 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__eq_effect_effect (arg0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all) ; return (tmp22) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3527(line=135, offs=14) -- 3598(line=136, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isfin (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp23) ; ATSlocal (ats_uint_type, tmp24) ; ATSlocal (ats_uint_type, tmp25) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isfin: tmp25 = atspre_lsl_uint_int1 (1u, 4) ; tmp24 = atspre_land_uint_uint (arg0, tmp25) ; tmp23 = atspre_eq_uint_uint (tmp24, 0u) ; return (tmp23) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isfin] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3647(line=139, offs=14) -- 3720(line=140, offs=55) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_iscof (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_bool_type, tmp26) ; ATSlocal (ats_uint_type, tmp27) ; ATSlocal (ats_uint_type, tmp28) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_iscof: tmp28 = atspre_lsl_uint_int1 (1u, 4) ; tmp27 = atspre_land_uint_uint (arg0, tmp28) ; tmp26 = atspre_lt_uint_uint (tmp27, 0u) ; return (tmp26) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_iscof] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3791(line=146, offs=14) -- 3825(line=146, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ismem (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp29) ; ATSlocal (ats_uint_type, tmp30) ; ATSlocal (ats_uint_type, tmp31) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ismem: tmp31 = atspre_lsl_uint_uint (1u, arg1) ; tmp30 = atspre_land_uint_uint (arg0, tmp31) ; tmp29 = atspre_gt_uint_uint (tmp30, 0u) ; return (tmp29) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ismem] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3853(line=150, offs=3) -- 3898(line=150, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp32) ; ATSlocal (ats_uint_type, tmp33) ; ATSlocal (ats_uint_type, tmp34) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset: tmp34 = atspre_lnot_uint (arg0) ; tmp33 = atspre_land_uint_uint (tmp34, arg1) ; tmp32 = atspre_eq_uint_uint (tmp33, 0u) ; return (tmp32) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_supset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 3952(line=155, offs=3) -- 3997(line=155, offs=48) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_subset (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp35) ; ATSlocal (ats_uint_type, tmp36) ; ATSlocal (ats_uint_type, tmp37) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_subset: tmp37 = atspre_lnot_uint (arg1) ; tmp36 = atspre_land_uint_uint (arg0, tmp37) ; tmp35 = atspre_eq_uint_uint (tmp36, 0u) ; return (tmp35) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_subset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4051(line=159, offs=17) -- 4104(line=160, offs=41) */ ATSglobaldec() ats_bool_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_is_inter (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_bool_type, tmp38) ; ATSlocal (ats_bool_type, tmp39) ; ATSlocal (ats_uint_type, tmp40) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_is_inter: tmp40 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter (arg0, arg1) ; tmp39 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (tmp40) ; tmp38 = atspre_neg_bool (tmp39) ; return (tmp38) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_is_inter] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4157(line=164, offs=13) -- 4177(line=164, offs=33) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_cmpl (ats_uint_type arg0) { /* local vardec */ ATSlocal (ats_uint_type, tmp41) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_cmpl: tmp41 = atspre_lnot_uint (arg0) ; return (tmp41) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_cmpl] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4204(line=168, offs=3) -- 4243(line=168, offs=42) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_diff (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp42) ; ATSlocal (ats_uint_type, tmp43) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_diff: tmp43 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_cmpl (arg1) ; tmp42 = atspre_land_uint_uint (arg0, tmp43) ; return (tmp42) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_diff] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4293(line=172, offs=14) -- 4318(line=172, offs=39) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp44) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter: tmp44 = atspre_land_uint_uint (arg0, arg1) ; return (tmp44) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_inter] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4343(line=175, offs=14) -- 4370(line=175, offs=41) */ ATSglobaldec() ats_uint_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union (ats_uint_type arg0, ats_uint_type arg1) { /* local vardec */ ATSlocal (ats_uint_type, tmp45) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union: tmp45 = atspre_lor_uint_uint (arg0, arg1) ; return (tmp45) ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_union] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4444(line=183, offs=5) -- 4838(line=201, offs=4) */ ATSstaticdec() ats_void_type loop_21 (ats_ptr_type arg0, ats_uint_type arg1, ats_uint_type arg2, ats_uint_type arg3, ats_ref_type arg4) { /* local vardec */ // ATSlocal_void (tmp47) ; ATSlocal (ats_bool_type, tmp48) ; ATSlocal (ats_bool_type, tmp49) ; ATSlocal (ats_uint_type, tmp50) ; // ATSlocal_void (tmp51) ; // ATSlocal_void (tmp52) ; ATSlocal (ats_bool_type, tmp53) ; ATSlocal (ats_int_type, tmp54) ; ATSlocal (ats_uint_type, tmp55) ; __ats_lab_loop_21: tmp48 = atspre_lt_uint_uint (arg3, arg2) ; if (tmp48) { tmp50 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_sing (arg3) ; tmp49 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_is_inter (arg1, tmp50) ; if (tmp49) { tmp53 = atspre_gt_int_int (ats_ptrget_mac(ats_int_type, arg4), 0) ; if (tmp53) { /* tmp52 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ; } else { /* empty */ } /* end of [if] */ tmp54 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ; ats_ptrget_mac(ats_int_type, arg4) = tmp54 ; /* tmp51 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effect (arg0, arg3) ; } else { /* empty */ } /* end of [if] */ tmp55 = atspre_add_uint_uint (arg3, 1u) ; arg0 = arg0 ; arg1 = arg1 ; arg2 = arg2 ; arg3 = tmp55 ; arg4 = arg4 ; goto __ats_lab_loop_21 ; // tail call } else { /* empty */ } /* end of [if] */ return /* (tmp47) */ ; } /* end of [loop_21] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 4420(line=181, offs=3) -- 5164(line=218, offs=4) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (ats_ptr_type arg0, ats_uint_type arg1) { /* local vardec */ // ATSlocal_void (tmp46) ; ATSlocal (ats_int_type, tmp56) ; ATSlocal (ats_bool_type, tmp57) ; ATSlocal (ats_bool_type, tmp58) ; // ATSlocal_void (tmp59) ; // ATSlocal_void (tmp60) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset: /* ats_int_type tmp56 ; */ tmp56 = 0 ; do { /* branch: __ats_lab_5 */ __ats_lab_5_0: __ats_lab_5_1: tmp57 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isnil (arg1) ; if (!tmp57) { goto __ats_lab_6_1 ; } /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("0")) ; break ; /* branch: __ats_lab_6 */ __ats_lab_6_0: __ats_lab_6_1: tmp58 = _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_isall (arg1) ; if (!tmp58) { goto __ats_lab_7_1 ; } /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("1")) ; break ; /* branch: __ats_lab_7 */ __ats_lab_7_0: __ats_lab_7_1: /* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ; /* tmp60 = */ loop_21 (arg0, arg1, ats_castfn_mac(ats_uint_type, 4), 0u, (&tmp56)) ; /* tmp46 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ; break ; } while (0) ; return /* (tmp46) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 5215(line=221, offs=14) -- 5250(line=221, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__print_effset (ats_uint_type arg0) { /* local vardec */ // ATSlocal_void (tmp61) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__print_effset: /* tmp61 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (stdout, arg0) ; return /* (tmp61) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__print_effset] */ /* // /home/hwxi/Research/Postiats/git/src/pats_effect.dats: 5274(line=223, offs=14) -- 5309(line=223, offs=49) */ ATSglobaldec() ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__prerr_effset (ats_uint_type arg0) { /* local vardec */ // ATSlocal_void (tmp62) ; __ats_lab__2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__prerr_effset: /* tmp62 = */ _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__fprint_effset (stderr, arg0) ; return /* (tmp62) */ ; } /* end of [_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__prerr_effset] */ /* static load function */ extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload (void) ; extern ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload (void) ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__staload () { static int _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__staload_flag = 0 ; if (_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__staload_flag) return ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__staload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_error_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2esats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_errmsg_2edats__staload () ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__staload () ; return ; } /* staload function */ /* dynamic load function */ // dynload flag declaration extern ats_int_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload_flag ; ats_void_type _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload () { _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__dynload_flag = 1 ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2edats__staload () ; #ifdef _ATS_PROOFCHECK #endif /* _ATS_PROOFCHECK */ /* marking static variables for GC */ ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp3, sizeof(ats_ptr_type)) ; ATS_GC_MARKROOT(&statmp10, sizeof(ats_uint_type)) ; ATS_GC_MARKROOT(&statmp11, sizeof(ats_uint_type)) ; ATS_GC_MARKROOT(&statmp12, sizeof(ats_uint_type)) ; ATS_GC_MARKROOT(&statmp13, sizeof(ats_uint_type)) ; /* marking external values for GC */ /* code for dynamic loading */ ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm = ats_castfn_mac(ats_uint_type, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn = ats_castfn_mac(ats_uint_type, 1) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref = ats_castfn_mac(ats_uint_type, 2) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt = ats_castfn_mac(ats_uint_type, 3) ; statmp1 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, statmp1, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; statmp2 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, statmp1), atslab_1) ; statmp3 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, statmp3, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ats_ptrget_mac(ats_ptr_type, statmp2) = statmp3 ; statmp2 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, statmp3), atslab_1) ; statmp3 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, statmp3, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ats_ptrget_mac(ats_ptr_type, statmp2) = statmp3 ; statmp2 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, statmp3), atslab_1) ; statmp3 = ATS_MALLOC(sizeof(anairiats_sum_0)) ; ats_selptrset_mac(anairiats_sum_0, statmp3, atslab_0, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ats_ptrget_mac(ats_ptr_type, statmp2) = statmp3 ; statmp2 = &ats_selptr_mac(ats_castptr_mac(anairiats_sum_0, statmp3), atslab_1) ; statmp3 = (ats_sum_ptr_type)0 ; ats_ptrget_mac(ats_ptr_type, statmp2) = statmp3 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effectlst_all, sizeof(ats_ptr_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effectlst_all = statmp1 ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_nil = ats_castfn_mac(ats_uint_type, 0) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_all = ats_castfn_mac(ats_uint_type, -1) ; statmp10 = atspre_lsl_uint_uint (1u, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ntm) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ntm = statmp10 ; statmp11 = atspre_lsl_uint_uint (1u, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_exn) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_exn = statmp11 ; statmp12 = atspre_lsl_uint_uint (1u, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_ref) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_ref = statmp12 ; statmp13 = atspre_lsl_uint_uint (1u, _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effect_wrt) ; ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt, sizeof(ats_uint_type)) ; _2home_2hwxi_2Research_2Postiats_2git_2src_2pats_effect_2esats__effset_wrt = statmp13 ; return ; } /* end of [dynload function] */ /* external codes at mid */ /* external codes at bot */ /* ****** ****** */ /* end of [pats_effect_dats.c] */ ATS2-Postiats-0.2.6/./src/CBOOT/pats_reader.cats0000664000175000017500000000327612655455557017550 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_READER_CATS #define POSTIATS_SRC_PATS_READER_CATS /* ****** ****** */ typedef struct { // ats_ptr_type getchar ; // () - int ats_ptr_type freeres ; // () -> void // } pats_reader_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_READER_CATS] /* ****** ****** */ /* end of [pats_reader.cats] */ ATS2-Postiats-0.2.6/./src/pats_intinf_int.hats0000664000175000017500000001245312655455557017603 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2014 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_intinf.sats" (* ****** ****** *) datatype intinf = INTINF of (llint) (* ****** ****** *) // fun un .<>. ( intinf: intinf ) :<> llint = let val+INTINF(i) = intinf in i end // (* ****** ****** *) assume intinf_type = intinf (* ****** ****** *) implement intinf_make_int (i) = INTINF ($UN.cast{llint}(i)) implement intinf_make_size (sz) = INTINF ($UN.cast{llint}(sz)) (* ****** ****** *) // (* ** HX: [rep] is unsigned! *) implement intinf_make_string (rep) = let val i = $UT.llint_make_string (rep) in INTINF (i) end // end of [intinf_make_string] // (* ****** ****** *) local staload STDLIB = "libc/SATS/stdlib.sats" in (* in-of-local *) implement intinf_make_base_string_ofs (base, rep, ofs) = let // val rep = __cast (rep) where { extern castfn __cast (x: string): ptr } val rep_ofs = __cast (rep + ofs) where { extern castfn __cast (x: ptr): string } // val x = $STDLIB.strtoll_errnul (rep_ofs, base) // in INTINF (x) end // end of [intinf_make_base_string_ofs] end // end of [local] (* ****** ****** *) implement fprint_intinf (out, x) = fprint_llint (out, un(x)) (* ****** ****** *) implement intinf_get_int (x) = $UN.cast2int (un(x)) (* ****** ****** *) implement lt_intinf_int (x1, x2) = compare_intinf_int (x1, x2) < 0 implement lte_intinf_int (x1, x2) = compare_intinf_int (x1, x2) <= 0 implement gt_intinf_int (x1, x2) = compare_intinf_int (x1, x2) > 0 implement gte_intinf_int (x1, x2) = compare_intinf_int (x1, x2) >= 0 (* ****** ****** *) implement eq_intinf_int (x1, x2) = compare_intinf_int (x1, x2) = 0 implement eq_int_intinf (x1, x2) = compare_intinf_int (x2, x1) = 0 implement eq_intinf_intinf (x1, x2) = compare_intinf_intinf (x1, x2) = 0 (* ****** ****** *) implement neq_intinf_int (x1, x2) = compare_intinf_int (x1, x2) != 0 implement neq_int_intinf (x1, x2) = compare_intinf_int (x2, x1) != 0 implement neq_intinf_intinf (x1, x2) = compare_intinf_intinf (x1, x2) != 0 (* ****** ****** *) // implement compare_intinf_int (x1, x2) = let val i1 = un (x1) val i2 = llint_of_int (x2) in compare_llint_llint (i1, i2) end // end of [compare_intinf_int] // implement compare_intinf_intinf (x1, x2) = compare_llint_llint (un(x1), un(x2)) // (* ****** ****** *) // implement neg_intinf (x) = INTINF (~(un(x))) // (* ****** ****** *) // implement add_intinf_int (x1, x2) = INTINF (un(x1) + llint_of_int (x2)) implement add_int_intinf (x1, x2) = INTINF (llint_of_int (x1) + un(x2)) // implement add_intinf_intinf (x1, x2) = INTINF (un(x1) + un(x2)) // (* ****** ****** *) implement sub_intinf_intinf (x1, x2) = INTINF (un(x1) - un(x2)) (* ****** ****** *) // implement mul_intinf_int (x1, x2) = INTINF (un(x1) * llint_of_int (x2)) implement mul_int_intinf (x1, x2) = INTINF (llint_of_int (x1) * un(x2)) // implement mul_intinf_intinf (x1, x2) = INTINF (un(x1) * un(x2)) // (* ****** ****** *) local // staload "libats/SATS/funset_listord.sats" staload _(*anon*) = "libats/DATS/funset_listord.dats" // fn cmp ( x1: intinf, x2: intinf ) : int = compare_intinf_intinf (x1, x2) // assume intinfset_type = set (intinf) // in (*in-of-local*) implement intinfset_sing (x) = funset_make_sing (x) implement intinfset_is_member (xs, x) = funset_is_member (xs, x, cmp) // end of [val] implement intinfset_add (xs, x) = xs where { var xs = xs val _(*exist*) = funset_insert (xs, x, cmp) } (* end of [val] *) implement intinfset_listize (xs) = funset_listize (xs) end // end of [local] (* ****** ****** *) implement fprint_intinfset (out, xs) = { val xs = intinfset_listize (xs) val () = $UT.fprintlst (out, $UN.castvwtp1{intinflst}(xs), ", ", fprint_intinf) val () = list_vt_free (xs) } (* end of [fprint_intinfset] *) (* ****** ****** *) (* end of [pats_intinf_int.hats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_dynexp.dats0000664000175000017500000014333712655455557020244 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans2_dynexp" // (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload SYM = "./pats_symbol.sats" overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) // staload SYN = "./pats_syntax.sats" typedef d0ynq = $SYN.d0ynq // overload fprint with $SYN.fprint_macsynkind // macdef print_dqid (dq, id) = ($SYN.print_d0ynq ,(dq); $SYM.print_symbol ,(id)) // end of [print_dqid] macdef prerr_dqid (dq, id) = ($SYN.prerr_d0ynq ,(dq); $SYM.prerr_symbol ,(id)) // end of [prerr_dqid] // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_e1xpval.sats" staload "./pats_dynexp1.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) // macdef l2l (x) = list_of_list_vt (,(x)) macdef list_sing (x) = list_cons (,(x), list_nil) // (* ****** ****** *) (* ** HX: dynamic special identifier *) datatype dynspecid = | SPDIDderef | SPDIDassgn | SPDIDxchng | SPDIDnone // end of [dynspecid] (* ****** ****** *) fun dynspecid_of_dqid ( dq: d0ynq, id: symbol ) : dynspecid = let in // case+ dq.d0ynq_node of // case+ | $SYN.D0YNQnone() => (case+ 0 of | _ when id = $SYM.symbol_BANG => SPDIDderef () | _ when id = $SYM.symbol_COLONEQ => SPDIDassgn () | _ when id = $SYM.symbol_COLONEQCOLON => SPDIDxchng () | _ => SPDIDnone () ) (* end of [D0YNQnone] *) | _ (*non-D0YNQnone*) => SPDIDnone () // end // end of [dynspecid_of_dqid] (* ****** ****** *) fun macdef_check ( loc0: location , d2m0: d2mac, dq: d0ynq, id: symbol ) : void = let val lev = the_maclev_get () val knd = d2mac_get_kind (d2m0) in // if lev > 0 then ( if knd >= 1 then let val () = prerr_ERROR_beg() val () = prerr_error2_loc (loc0) val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerrln! ("] refers to a macdef in long form but one in short form is expected.") val () = prerr_ERROR_end() in the_trans2errlst_add (T2E_macdef_check (loc0, d2m0)) end else () // end of [if] ) else ( // lev = 0 if knd = 0 then let // val () = prerr_ERROR_beg() val () = prerr_error2_loc (loc0) val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerrln! ("] refers to a macdef in short form but one in long form is expected.") val () = prerr_ERROR_end() in the_trans2errlst_add (T2E_macdef_check (loc0, d2m0)) end else () // end of [if] ) (* end of [if] *) // end (* end of [macdef_check] *) fun macvar_check ( loc0: location, d2v: d2var, dq: d0ynq, id: symbol ) : void = let val lev = the_maclev_get () in // if lev > 0 then let val () = prerr_error2_loc (loc0) val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerr "] refers incorrectly to a macro argument variable."; val () = prerr_newline () in the_trans2errlst_add (T2E_macvar_check (loc0, d2v)) end (* end of [if] *) // end // end of [macvar_check] (* ****** ****** *) fun d1exp_tr_dqid ( d1e0: d1exp, dq: d0ynq, id: symbol ) : d2exp = let // fun auxerr ( d1e0: d1exp, dq: d0ynq, id: symbol ) : void = { val () = prerr_error2_loc (d1e0.d1exp_loc) // end of [val] val () = filprerr_ifdebug "d1exp_tr_dqid" val () = prerr ": the dynamic identifier [" val () = prerr_dqid (dq, id) val () = prerrln! "] is unrecognized." val () = the_trans2errlst_add (T2E_d1exp_tr(d1e0)) } (* end of [auxerr] *) // val loc0 = d1e0.d1exp_loc val ans0 = the_d2expenv_find_qua (dq, id) // in // case+ ans0 of | ~Some_vt d2i0 => ( case+ d2i0 of // | D2ITMcst d2c => d2exp_cst (loc0, d2c) | D2ITMvar d2v => d2exp_var (loc0, d2v) // | D2ITMcon d2cs => let val d2cs = d2con_select_arity (d2cs, 0) val-list_cons (d2c, _) = d2cs // HX: [d2cs] cannot be nil val locarg = $LOC.location_rightmost (loc0) in d2exp_con ( loc0, d2c, loc0, list_nil(*sarg*), ~1(*npf*), locarg, list_nil(*darg*) ) // end of [d2exp_con] end // end of [D2ITEMcon] // | D2ITMe1xp exp => let val d1e = d1exp_make_e1xp (loc0, exp) in d1exp_tr (d1e) end // end of [D2ITMe1xp] // | D2ITMsymdef (sym, d2pis) => let val d2s = d2sym_make (loc0, dq, id, d2pis) in d2exp_sym (loc0, d2s) end // end of [D2ITEMsymdef] // | D2ITMmacdef (d2m) => let val () = macdef_check (loc0, d2m, dq, id) in d2exp_mac (loc0, d2m) end // end of [D2ITEMmacdef] | D2ITMmacvar (d2v) => let val () = macvar_check (loc0, d2v, dq, id) in d2exp_var (loc0, d2v) end // end of [D2ITEMmacvar] // (* | _ (*rest-of-d2itm*) => let val () = ( print "d1exp_tr_dqid: d2i0 = "; print_d2itm d2i0; print_newline () ) // end of [val] val () = auxerr (d1e0, dq, id) in d2exp_err (loc0) end // end of [_(*rest-of-d2itm*)] *) // ) // end of [Some_vt] | ~None_vt () => let val () = auxerr (d1e0, dq, id) in d2exp_errexp (loc0) end // end of [None_vt] end // end of [d1exp_tr_dqid] (* ****** ****** *) extern fun d1exp_tr_app_dyn ( d1e0: d1exp // all , d1e1: d1exp // fun , locarg: location, npf: int, darg: d1explst ) : d2exp // end of [d1exp_tr_app_dyn] extern fun d1exp_tr_app_sta_dyn ( d1e0: d1exp // all , d1e1: d1exp // sapp , d1e2: d1exp // fun , sarg: s1exparglst // static arg , locarg: location, npf: int, darg: d1explst ) : d2exp // end of [d1exp_tr_app_sta_dyn] (* ****** ****** *) // extern fun d1exp_tr_deref(d1e0: d1exp, d1es: d1explst): d2exp and d1exp_tr_assgn(d1e0: d1exp, d1es: d1explst): d2exp and d1exp_tr_xchng(d1e0: d1exp, d1es: d1explst): d2exp // (* ****** ****** *) implement d1exp_tr_deref (d1e0, d1es) = let val loc0 = d1e0.d1exp_loc in case+ d1es of | list_cons ( d1e, list_nil () ) => d2exp_deref (loc0, d1exp_tr d1e) | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": d1exp_tr_deref: d1e0 = ", d1e0) in $ERR.abort_interr{d2exp}((*reachable*)) end // end of [_] end // end of [d1exp_tr_deref] implement d1exp_tr_assgn (d1e0, d1es) = let val loc0 = d1e0.d1exp_loc in case+ d1es of | list_cons ( d1e1, list_cons (d1e2, list_nil ()) ) => d2exp_assgn (loc0, d1exp_tr d1e1, d1exp_tr d1e2) // end of [...] | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": d1exp_tr_assgn: d1e0 = ", d1e0) in $ERR.abort_interr{d2exp}((*reachable*)) end // end of [_] end // end of [d1exp_tr_assgn] implement d1exp_tr_xchng (d1e0, d1es) = let val loc0 = d1e0.d1exp_loc in case+ d1es of | list_cons ( d1e1, list_cons (d1e2, list_nil ()) ) => d2exp_xchng (loc0, d1exp_tr d1e1, d1exp_tr d1e2) // end of [...] | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": d1exp_tr_xchng: d1e0 = ", d1e0) in $ERR.abort_interr{d2exp}((*reachable*)) end // end of [_] end // end of [d1exp_tr_xchng] (* ****** ****** *) fun d1exp_tr_app_dyn_dqid ( d1e0: d1exp // all , d1e1: d1exp // sapp , dq: d0ynq, id: symbol // d1e1 -> dqid , locarg: location, npf: int, darg: d1explst ) : d2exp = let // val spdid = dynspecid_of_dqid (dq, id) // in // case+ spdid of | SPDIDderef () => d1exp_tr_deref (d1e0, darg) | SPDIDassgn () => d1exp_tr_assgn (d1e0, darg) | SPDIDxchng () => d1exp_tr_xchng (d1e0, darg) | _ (*SPDIDnone*) => let val ans = the_d2expenv_find_qua (dq, id) in case+ ans of | ~Some_vt d2i => ( case+ d2i of | D2ITMe1xp (exp) => d1exp_tr_app_dyn_e1xp (d1e0, d1e1, exp, locarg, npf, darg) | _ => let val sarg = list_nil() in d1exp_tr_app_sta_dyn_dqid_itm (d1e0, d1e1, d1e1, dq, id, d2i, sarg, locarg, npf, darg) end // end of [_] ) // end of [Some_vt] | ~None_vt () => let val () = prerr_error2_loc (d1e1.d1exp_loc) val () = filprerr_ifdebug "d1exp_tr_app_dyn_dqid" val () = prerr ": the dynamic identifier [" val () = prerr_dqid (dq, id) val () = prerr "] is unrecognized." val () = prerr_newline ((*void*)) val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) in d2exp_errexp (d1e0.d1exp_loc) end // end of [None_vt] end // end of [_] // end // end of [d1exp_tr_app_dyn_dqid] and d1exp_tr_app_dyn_e1xp ( d1e0: d1exp // all , d1e1: d1exp // fun , exp1: e1xp // exp1 <- d1e1 , locarg: location, npf: int, darg: d1explst ) : d2exp = let in // case+ exp1.e1xp_node of | E1XPfun _ => let val loc0 = d1e0.d1exp_loc // prval pfu = unit_v () // val exps = list_map_vclo {unit_v} ( pfu | darg, !p_clo ) where { var !p_clo = @lam (pf: !unit_v | d1e: d1exp): e1xp => e1xp_make_d1exp (loc0, d1e) } // end of [where] // end of [val] // prval unit_v () = pfu // val exp1 = e1xp_app (loc0, exp1, loc0, (l2l)exps) (* val () = println! ("d1exp_tr_app_dyn_e1xp: exp1 = ", exp1) *) val exp2 = e1xp_normalize (exp1) (* val () = println! ("d1exp_tr_app_dyn_e1xp: exp2 = ", exp2) *) val d1e0_new = d1exp_make_e1xp (loc0, exp2) in d1exp_tr (d1e0_new) end // end of [E1XPfun] | _ => let val loc1 = d1e1.d1exp_loc val d1e_fun = d1exp_make_e1xp (loc1, exp1) in d1exp_tr_app_dyn (d1e0, d1e_fun, locarg, npf, darg) end (* end of [_] *) // end // end of [d1exp_tr_app_dyn_e1xp] and d1exp_tr_app_sta_dyn_dqid ( d1e0: d1exp // all , d1e1: d1exp // sapp , d1e2: d1exp // fun , dq: d0ynq, id: symbol , sarg: s1exparglst // static arg , locarg: location, npf: int, darg: d1explst ) : d2exp = let val ans = the_d2expenv_find_qua (dq, id) in // case+ ans of | ~Some_vt d2i => let (* val () = ( println! ("d1exp_tr_app_sta_dyn_dqid: d2i = ", d2i) ) // end of [val] *) in d1exp_tr_app_sta_dyn_dqid_itm ( d1e0, d1e1, d1e1, dq, id, d2i, sarg, locarg, npf, darg ) // end of [...] end // end of [Some_vt] | ~None_vt () => let val () = prerr_error2_loc (d1e1.d1exp_loc) val () = filprerr_ifdebug "d1exp_tr_app_sta_dyn_dqid" val () = prerr ": unrecognized dynamic identifier [" val () = prerr_dqid (dq, id) val () = prerr "]." val () = prerr_newline () val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) in d2exp_errexp (d1e0.d1exp_loc) end // end of [None_vt] end // end of [d1exp_tr_app_sta_dyn_dqid] and d1exp_tr_app_sta_dyn_dqid_itm ( d1e0: d1exp // all , d1e1: d1exp // sapp , d1e2: d1exp // fun , dq: d0ynq, id: symbol , d2i: d2itm , sarg: s1exparglst , locarg: location, npf: int, darg: d1explst ) : d2exp = let // val loc0 = d1e0.d1exp_loc val loc1 = d1e1.d1exp_loc val loc2 = d1e2.d1exp_loc // (* val () = ( println! ("d1exp_tr_app_sta_dyn_dqid_itm: loc0 = ", loc0); println! ("d1exp_tr_app_sta_dyn_dqid_itm: d1e0 = ", d1e0); println! ("d1exp_tr_app_sta_dyn_dqid_itm: d1e1 = ", d1e1); println! ("d1exp_tr_app_sta_dyn_dqid_itm: d1e2 = ", d1e2); ) // end of [val] val () = ( print "d1exp_tr_app_sta_dyn_dqid_itm: dqid = "; print_dqid (dq, id); print_newline () ) // end of [val] *) // in // case+ d2i of // | D2ITMcst (d2c) => let val d2e2 = d2exp_cst (loc2, d2c) // end of [val] val sarg = s1exparglst_tr (sarg) // end of [val] val darg = d1explst_tr (darg) in d2exp_app_sta_dyn (loc0, loc1, d2e2, sarg, locarg, npf, darg) end // end of [D2ITMcst] // | D2ITMvar (d2v) => let val d2e2 = d2exp_var (loc2, d2v) // end of [val] val sarg = s1exparglst_tr (sarg) // end of [val] val darg = d1explst_tr (darg) in d2exp_app_sta_dyn (loc0, loc1, d2e2, sarg, locarg, npf, darg) end // end of [D2ITMvar] // | D2ITMcon (d2cs) => let // val n = list_length (darg) val d2cs = d2con_select_arity (d2cs, n) // end of [val] val-list_cons (d2c, d2cs) = d2cs // val sarg = s1exparglst_tr (sarg) // end of [val] val darg = d1explst_tr (darg) // val npf = (if npf >= ~1 then npf else ~1): int // in d2exp_con (loc0, d2c, loc1, sarg, npf, locarg, darg) end // end of [D2ITEMcon] // | D2ITMe1xp (exp) => let val d1e2 = d1exp_make_e1xp (loc2, exp) in d1exp_tr_app_sta_dyn (d1e0, d1e1, d1e2, sarg, locarg, npf, darg) end // end of [D2ITMe1xp] // | D2ITMsymdef (sym, d2pis) => let // val d2s2 = d2sym_make(loc2, dq, id, d2pis) // end of [val] val d2e2 = d2exp_sym (loc2, d2s2) // val sarg = s1exparglst_tr (sarg) // end of [val] val darg = d1explst_tr (darg) // in d2exp_app_sta_dyn (loc0, loc1, d2e2, sarg, locarg, npf, darg) end // end of [D2ITMsymdef] // | D2ITMmacdef (d2m) => let // val loc2 = d1e2.d1exp_loc // val () = macdef_check(loc2,d2m,dq,id) // end of [val] // val d2e2 = d2exp_mac (loc2, d2m) // val sarg = s1exparglst_tr (sarg) // end of [val] val darg = d1explst_tr (darg) // in d2exp_app_sta_dyn (loc0, loc1, d2e2, sarg, locarg, npf, darg) end // end of [D2ITEMmacdef] // (* | D2ITMmacvar (d2v) => let val loc2 = d1e2.d1exp_loc val () = macvar_check (loc,d2v,dq,id) // end of [val] in d2exp_var (loc0, d2v) end // end of [D2ITEMmacvar] *) | _ => let // val () = prerr_error2_loc (loc2) val () = filprerr_ifdebug "d1exp_tr_app_sta_dyn_dqid_itm" // val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerr "] does not refer to any variable, constant or constructor." val () = prerr_newline ((*void*)) val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) // in d2exp_errexp (loc0) end (* end of [_] *) // end // end of [d1exp_tr_app_sta_dyn_dqid_itm] (* ****** ****** *) implement d1exp_tr_app_dyn ( d1e0, d1e1, locarg, npf, darg ) = let (* val () = begin println! ("d1exp_tr_app_dyn: d1e0 = ", d1e0); end // end of [val] *) in // case+ d1e1.d1exp_node of | D1Eide (id) => let val dq = $SYN.the_d0ynq_none in d1exp_tr_app_dyn_dqid (d1e0, d1e1, dq, id, locarg, npf, darg) end | D1Edqid (dq, id) => d1exp_tr_app_dyn_dqid (d1e0, d1e1, dq, id, locarg, npf, darg) // end of [D1Edqid] | _ => let val d2e1 = d1exp_tr (d1e1) val darg = d1explst_tr (darg) in d2exp_app_dyn (d1e0.d1exp_loc, d2e1, npf, locarg, darg) end // end of [_] // end // end of [d1exp_tr_app_dyn] implement d1exp_tr_app_sta_dyn ( d1e0, d1e1, d1e2, sarg, locarg, npf, darg ) = let (* val () = ( println! ("d1exp_tr_app_sta_dyn: d1e0 = ", d1e0); fprintln! (stdout_ref, "d1exp_tr_app_sta_dyn: sarg = ", sarg); ) // end of [val] *) in // case+ d1e2.d1exp_node of | D1Eide (id) => let val dq = $SYN.the_d0ynq_none in d1exp_tr_app_sta_dyn_dqid (d1e0, d1e1, d1e2, dq, id, sarg, locarg, npf, darg) end | D1Edqid (dq, id) => d1exp_tr_app_sta_dyn_dqid (d1e0, d1e1, d1e2, dq, id, sarg, locarg, npf, darg) // end of [D1Edqid] | _ => let val d2e2 = d1exp_tr (d1e2) val sarg = s1exparglst_tr (sarg) val darg = d1explst_tr (darg) in d2exp_app_sta_dyn (d1e0.d1exp_loc, d1e1.d1exp_loc, d2e2, sarg, locarg, npf, darg) end // end of [_] // end // end of [d1exp_tr_app_sta_dyn] (* ****** ****** *) extern fun d1exp_tr_macsyn (d1e0: d1exp): d2exp // implement d1exp_tr_macsyn(d1e0) = let // val loc0 = d1e0.d1exp_loc val-D1Emacsyn (knd, d1e) = d1e0.d1exp_node (* val () = { val out = stdout_ref val () = fprintln! (out, "d1exp_tr_macsyn: knd = ", knd) val () = fprintln! (out, "d1exp_tr_macsyn: d1e = ", d1e) } (* end of [val] *) *) // macdef inc () = the_maclev_inc (loc0) macdef dec () = the_maclev_dec (loc0) // in // case+ knd of | $SYN.MSKxstage () => let val () = dec () val d2e = d1exp_tr (d1e) val () = inc () in d2exp_macsyn (loc0, knd, d2e) end // end of [MSKcross] | $SYN.MSKdecode () => let val () = dec () val d2e = d1exp_tr (d1e) val () = inc () in d2exp_macsyn (loc0, knd, d2e) end // end of [MSKdecode] | $SYN.MSKencode () => let val () = inc () val d2e = d1exp_tr (d1e) val () = dec () in d2exp_macsyn (loc0, knd, d2e) end // end of [MSKencode] // end // end of [d1exp_tr_macsyn] (* ****** ****** *) extern fun d1exp_tr_macfun (d1e0: d1exp): d2exp // implement d1exp_tr_macfun(d1e0) = let // val loc0 = d1e0.d1exp_loc val-D1Emacfun (name, d1es) = d1e0.d1exp_node // val d2es = d1explst_tr (d1es) // in d2exp_macfun (loc0, name, d2es) end // end of [d1exp_tr_macfun] (* ****** ****** *) fun d2sym_lrbrackets (d1e0: d1exp): d2sym = let val loc0 = d1e0.d1exp_loc val id = $SYM.symbol_LRBRACKETS var err: int = 0 var d2pis: d2pitmlst = list_nil () val ans = the_d2expenv_find (id) val () = ( case+ ans of | ~Some_vt d2i => ( case+ d2i of | D2ITMsymdef (sym, xs) => d2pis := xs | _ => err := err + 1 ) // end of [Some_vt] | ~None_vt () => (err := err + 1) ) // end of [val] val () = if err > 0 then { // run-time checking val () = prerr_interror_loc (loc0) val () = (prerr ": d2sym_lrbrackets: d1e0 = "; prerr_d1exp d1e0) val () = prerr_newline () } // end of [val] in d2sym_make (loc0, $SYN.d0ynq_none (loc0), id, d2pis) end // end of [d2sym_lrbrackets] fun d1exp_tr_arrsub ( d1e0: d1exp, arr: d1exp, locind: location, ind: d1explst ) : d2exp = let val loc0 = d1e0.d1exp_loc val d2s = d2sym_lrbrackets (d1e0) val arr = d1exp_tr (arr) val ind = d1explst_tr (ind) in d2exp_arrsub (loc0, d2s, arr, locind, ind) end // end of [d1exp_tr_arrsub] (* ****** ****** *) // // HX: [w1ts] is assumed to be not empty // fun d1exp_tr_wths1explst ( d1e0: d1exp, w1ts: wths1explst ) : d2exp = let val loc0 = d1e0.d1exp_loc in // case+ d1e0.d1exp_node of | D1Eann_type (d1e, s1e) => let val d2e = d1exp_tr (d1e) val s2e = s1exp_trdn_res_impred (s1e, w1ts) in d2exp_ann_type (loc0, d2e, s2e) end // end of [D1Eann_type] | D1Eann_effc (d1e, efc) => let val d2e = d1exp_tr_wths1explst (d1e, w1ts) val s2fe = effcst_tr (efc) in d2exp_ann_seff (loc0, d2e, s2fe) end // end of [D1Eann_effc] | D1Eann_funclo (d1e, fc) => let val d2e = d1exp_tr_wths1explst (d1e, w1ts) in d2exp_ann_funclo (loc0, d2e, fc) end // end of[D1Eann_funclo] | _ => let val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "d1exp_wths1explst_tr" val () = prerr ": the dynamic expression is expected to be ascribed a type but it is not." val () = prerr_newline ((*void*)) val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) in d2exp_errexp (loc0) end // end of [_] end (* end of [d1exp_tr_wths1explst] *) fun d1exp_tr_arg_body ( p1t_arg: p1at, d1e_body: d1exp ) : @(int, p2atlst, d2exp) = let var w1ts = WTHS1EXPLSTnil () val p2t_arg = p1at_tr_arg (p1t_arg, w1ts) val () = w1ts := wths1explst_reverse (w1ts) var npf: int = ~1 // HX: default val p2ts_arg = ( case+ p2t_arg.p2at_node of | P2Tlist (npf1, p2ts) => (npf := npf1; p2ts) | _ => list_sing (p2t_arg) // HX: npf = -1 ) : p2atlst // end of [val] val (pfenv | ()) = the_trans2_env_push () val () = { val () = the_s2expenv_add_svarlst ($UT.lstord2list (p2t_arg.p2at_svs)) val () = the_d2expenv_add_dvarlst ($UT.lstord2list (p2t_arg.p2at_dvs)) } (* end of [val] *) // val (pfinc | ()) = the_d2varlev_inc () // val d2e_body = let val isnone = wths1explst_is_none (w1ts) in if isnone then d1exp_tr (d1e_body) // HX: regular else d1exp_tr_wths1explst (d1e_body, w1ts) // end of [if] end : d2exp // end of [val] // val () = the_d2varlev_dec (pfinc | (*none*)) // val () = the_trans2_env_pop (pfenv | (*none*)) // // val p2ts_arg = lamvararg_proc (p2ts_arg) // HX-2010-08-26: for handling variadic functions // in @(npf, p2ts_arg, d2e_body) end // end of [d1exp_tr_arg_body] (* ****** ****** *) fun d1exp_tr_delay (d1e0: d1exp): d2exp = let // #define nil list_nil #define cons list_cons #define :: list_cons // val loc0 = d1e0.d1exp_loc val-D1Edelay (lin, d1e) = d1e0.d1exp_node // in // case+ 0 of | _ when lin = 0 => ( d2exp_delay (loc0, d1exp_tr (d1e)) ) // end of [_ when lin = 0] | _ => ( // $ldelay: lin = 1 case+ d1e.d1exp_node of | D1Elist ( _(*npf*), d1es ) => ( case+ d1es of | cons ( d1e1, cons (d1e2, d1es) ) => let val d2e1 = d1exp_tr (d1e1) and d2e2 = d1exp_tr (d1e2) in d2exp_ldelay (loc0, d2e1, Some (d2e2)) end // cons (_, cons (_, nil)) | _ => ( d2exp_ldelay_none (loc0, d1exp_tr (d1e)) ) // end of [_] ) // end of [D1Elist] | _ => d2exp_ldelay_none (loc0, d1exp_tr (d1e)) ) // end of [_] // end // end of [d1exp_tr_delay] (* ****** ****** *) fun i1nvarg_tr (x: i1nvarg): Option_vt (i2nvarg) = let // fun auxerr1 (x: i1nvarg): void = { val () = prerr_error2_loc (x.i1nvarg_loc) val () = filprerr_ifdebug ("i1nvarglst_tr") val () = prerr ": the dynamic identifier [" val () = $SYM.prerr_symbol (x.i1nvarg_sym) val () = prerr "] should refer to a variable but it does not." val () = prerr_newline () val () = the_trans2errlst_add (T2E_i1nvarg_tr (x)) } // end of [auxerr1] fun auxerr2 (x: i1nvarg): void = { val () = prerr_error2_loc (x.i1nvarg_loc) val () = filprerr_ifdebug ("i1nvarglst_tr") val () = prerr ": the dynamic identifier [" val () = $SYM.prerr_symbol (x.i1nvarg_sym) val () = prerr "] is unrecognized." val () = prerr_newline () val () = the_trans2errlst_add (T2E_i1nvarg_tr (x)) } // end of [auxerr2] // val ans = the_d2expenv_find x.i1nvarg_sym // in // case+ ans of | ~Some_vt d2i => (case+ d2i of | D2ITMvar d2v => let val typ = ( case+ x.i1nvarg_type of | Some s1e => let val s2e = s1exp_trdn_impred (s1e) in Some (s2e) end // end of [Some] | None () => None () ) : s2expopt // end of [val] val arg = i2nvarg_make (d2v, typ) in Some_vt (arg) end // end of [D2ITEMvar] | _ => let val () = auxerr1 (x) in None_vt () end // end of [_] ) // end of [Some_vt] | ~None_vt () => let val () = auxerr2 (x) in None_vt () end // end of [None_vt] // end of [case] end // end of [i1nvarg_tr] fun i1nvarglst_tr (xs: i1nvarglst): i2nvarglst = let (* val () = print "i1nvarlst_tr: xs = " val () = fprint_i1nvarglst (stdout_ref, xs) val () = print_newline () *) in // case+ xs of | list_cons (x, xs) => let val opt = i1nvarg_tr (x) in case+ opt of | ~Some_vt (x) => list_cons (x, i1nvarglst_tr (xs)) | ~None_vt () => i1nvarglst_tr (xs) end (* end of [list_cons] *) | list_nil () => list_nil () // end // end of [i1nvarglst_tr] fun i1nvresstate_tr (r1es: i1nvresstate): i2nvresstate = let val s2q = s1qualst_tr (r1es.i1nvresstate_qua) val body = i1nvarglst_tr (r1es.i1nvresstate_arg) in i2nvresstate_make (s2q.s2qua_svs, s2q.s2qua_sps, body) end // end of [i1nvresstate_tr] fun loopi1nv_tr (inv: loopi1nv): loopi2nv = let val loc = inv.loopi1nv_loc val s2q = s1qualst_tr (inv.loopi1nv_qua) val met = inv.loopi1nv_met val met = ( case+ met of | Some s1es => let val s2es = s1explst_trdn_int s1es in Some (s2es) end // end of [Some] | None () => None () ) : s2explstopt // end of [val] val arg = i1nvarglst_tr (inv.loopi1nv_arg) val res = i1nvresstate_tr (inv.loopi1nv_res) in loopi2nv_make (loc, s2q.s2qua_svs, s2q.s2qua_sps, met, arg, res) end // end of [loopi1nv_tr] (* ****** ****** *) fun gm1at_tr ( gm1t: gm1at ) : gm2at = let val d2e = d1exp_tr (gm1t.gm1at_exp) val p2topt = ( case+ gm1t.gm1at_pat of | Some p1t => let val p2t = p1at_tr p1t val s2vs = $UT.lstord2list (p2t.p2at_svs) val () = the_s2expenv_add_svarlst s2vs val d2vs = $UT.lstord2list (p2t.p2at_dvs) val () = the_d2expenv_add_dvarlst d2vs in Some (p2t) end // end of [Some] | None () => None () ) : p2atopt // end of [val] in gm2at_make (gm1t.gm1at_loc, d2e, p2topt) end // end of [gm1at_tr] (* ****** ****** *) fun c1lau_tr {n:nat} (n: int n, c1l: c1lau): c2lau = let // fun auxerr ( c1l: c1lau, n: int, n1: int ) : void = let val () = prerr_error2_loc (c1l.c1lau_loc) val () = filprerr_ifdebug ("c1lau_tr") val () = prerr ": this clause should contain " val () = prerr_string (if n >= n1 then "more" else "fewer") val () = prerr " patterns." val () = prerr_newline () val () = the_trans2errlst_add (T2E_c1lau_tr (c1l)) in // nothing end // end of [auxerr] // val loc = c1l.c1lau_loc val p1t = c1l.c1lau_pat val p1ts = (case+ p1t.p1at_node of | P1Tlist (_(*npf*), p1ts) => p1ts | _ => list_sing (p1t) ) : p1atlst // end of [val] val p2ts = p1atlst_tr (p1ts) val n1 = list_length (p2ts) (* val () = ( printf ("c1lau_tr: n = %i and n1 = %i\n", @(n, n1)) ) // end of [val] *) // val () = if n != n1 then auxerr (c1l, n, n1) // val (pfenv | ()) = the_trans2_env_push () val () = let val s2vs = $UT.lstord2list (p2atlst_svs_union p2ts) in the_s2expenv_add_svarlst (s2vs) end // end of [val] val () = let val d2vs = $UT.lstord2list (p2atlst_dvs_union p2ts) in the_d2expenv_add_dvarlst (d2vs) end // end of [val] // val gua = l2l (list_map_fun (c1l.c1lau_gua, gm1at_tr)) val body = d1exp_tr (c1l.c1lau_body) val () = the_trans2_env_pop (pfenv | (*none*)) // in c2lau_make (loc, p2ts, gua, c1l.c1lau_seq, c1l.c1lau_neg, body) end // end of [c1lau_tr] fun c1laulst_tr {n:nat} (n: int n, c1ls: c1laulst): c2laulst = ( case+ c1ls of | list_cons (c1l, c1ls) => list_cons (c1lau_tr (n, c1l), c1laulst_tr (n, c1ls)) | list_nil () => list_nil () ) // end of [c1laulst_tr] (* ****** ****** *) fun sc1lau_trdn ( sc1l: sc1lau, s2t_pat: s2rt ) : sc2lau = let val sp1t = sc1l.sc1lau_pat val (pfenv | ()) = the_s2expenv_push_nil () val sp2t = sp1at_trdn (sp1t, s2t_pat) val () = the_s2expenv_add_sp2at (sp2t) val body = d1exp_tr (sc1l.sc1lau_body) val () = the_s2expenv_pop_free (pfenv | (*none*)) in sc2lau_make (sc1l.sc1lau_loc, sp2t, body) end // end of [sc1lau_tr] fun sc1laulst_trdn ( xs: sc1laulst, s2t: s2rt ) : sc2laulst = ( case+ xs of | list_cons (x, xs) => list_cons (sc1lau_trdn (x, s2t), sc1laulst_trdn (xs, s2t)) | list_nil () => list_nil () ) // end of [sc1laulst_trdn] (* ****** ****** *) local vtypedef sc2laulst_vt = List_vt (sc2lau) fun sc2lau_get_dstag .<>. ( sc2l: sc2lau ) :<> int = let val sp2t = sc2l.sc2lau_pat in case+ sp2t.sp2at_node of | SP2Tcon (s2c, _) => $effmask_all (s2cst_get_dstag (s2c)) | SP2Terr () => ~1 (*err*) end // end of [sc2lau_get_dstag] fun auxerr_lt (loc0: location, sc2l: sc2lau): void = let val loc = sc2l.sc2lau_loc val () = prerr_error2_loc (loc) val () = prerr ": the static clause is repeated." val () = prerr_newline () in the_trans2errlst_add (T2E_sc2laulst_coverck_repeat (loc0, sc2l)) end // end of [auxerr_lt] fun auxerr_gts ( loc0: location, s2cs: s2cstlst, n: int, tag: int ) : void = let in // if n < tag then ( case+ s2cs of | list_cons (s2c, s2cs) => ( if n > 0 then auxerr_gts (loc0, s2cs, n-1, tag-1) else let val () = prerr_error2_loc (loc0) val () = prerr ": the static clause associated with [" val () = prerr_s2cst (s2c) val () = prerr "] is missing." val () = prerr_newline () val () = the_trans2errlst_add (T2E_sc2laulst_coverck_missing (loc0, s2c)) // end of [val] in auxerr_gts (loc0, s2cs, 0, tag-1) end // end of [if] ) // end of [list_cons] | list_nil () => () ) else () // end of [if] // end // end of [auxerr_gts] fun auxmain1 ( loc0: location , sc2ls: sc2laulst , s2td_pat: s2rtdat ) : void = let val sc2ls2 = list_copy (sc2ls) val sc2ls2 = let var !p_clo = @lam ( x1: &sc2lau, x2: &sc2lau ) : int = sc2lau_get_dstag (x1) - sc2lau_get_dstag (x2) in list_vt_mergesort (sc2ls2, !p_clo) end // end of [val] val () = auxmain2 (loc0, sc2ls2, s2td_pat) in // empty end // end of [auxmain1] and auxmain2 ( loc0: location , sc2ls: List_vt (sc2lau) , s2td_pat: s2rtdat ) : void = let // fun loop ( loc0: location , sc2ls: sc2laulst_vt, s2cs: s2cstlst, n: int ) : void = let in // case+ sc2ls of | ~list_vt_cons (sc2l, sc2ls) => let val tag = sc2lau_get_dstag (sc2l) in if tag >= 0 then ( if tag < n then let val () = auxerr_lt (loc0, sc2l) in loop (loc0, sc2ls, s2cs, n) end else let val () = auxerr_gts (loc0, s2cs, n, tag) in loop (loc0, sc2ls, s2cs, tag+1) end // end of [if] ) else loop (loc0, sc2ls, s2cs, n) // skipping SP2Terr // end of [if] end // end of [list_vt_cons] | ~list_vt_nil () => let val ns2cs = list_length (s2cs) in auxerr_gts (loc0, s2cs, n, ns2cs) end // end of [list_vt_nil] end // end of [loop] // val s2cs = s2rtdat_get_sconlst (s2td_pat) // in loop (loc0, sc2ls, s2cs, 0) end // end of [auxmain2] in (* in of [local] *) implement sc2laulst_coverck (loc0, sc2ls, s2t_pat) = let // fun auxerr1 ( loc0: location, s2t_pat: s2rt ) : void = let val () = prerr_error2_loc (loc0) val () = prerr ": the static expression being analyzed is of the sort [" val () = prerr_s2rt (s2t_pat) val () = prerrln! ("], which is not a base sort as is required.") in the_trans2errlst_add (T2E_sc2laulst_coverck_sort (loc0, s2t_pat)) end // end of [auxerr1] fun auxerr2 ( loc0: location, s2t_pat: s2rt ) : void = let val () = prerr_error2_loc (loc0) val () = prerr ": the static expression being analyzed is of the sort [" val () = prerr_s2rt (s2t_pat) val () = prerrln! ("], which is not a datasort as is required.") in the_trans2errlst_add (T2E_sc2laulst_coverck_sort (loc0, s2t_pat)) end // end of [auxerr2] // in // case s2t_pat of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASdef s2td => auxmain1 (loc0, sc2ls, s2td) | _ (*non-S2RTBASdef*) => auxerr2 (loc0, s2t_pat) ) (* end of [S2RTbas] *) | _(*non-S2RTbas*) => auxerr1 (loc0, s2t_pat) // end // end of [sc2laulst_coverck] end // end of [local] (* ****** ****** *) // fun un_d1exp_sing (d1e: d1exp): d1exp = ( // case+ d1e.d1exp_node of | D1Esing(d1e) => un_d1exp_sing(d1e) | _ => d1e // ) (* end of [un_d1exp_sing] *) // (* ****** ****** *) implement d1exp_tr (d1e0) = let val loc0 = d1e0.d1exp_loc // (* fun aux_d2e2i (d2e: d2exp): int = ( case+ d2e.d2exp_node of // | D2Eint (i) => i // | D2Ei0nt (x) => let val-$LEX.T_INT (base, rep, sfx) = x.token_node in $UN.cast2int($UT.llint_make_string(rep)) end // end of [D2Ei0nt] | _(*rest-of-D2E*) => (~1) ) (* end of [aux_d2e2i] *) *) (* // val () = println! ("d1exp_tr: d1e0 = ", d1e0) // *) in // case+ d1e0.d1exp_node of // | D1Eide (id) => let val dq = $SYN.the_d0ynq_none in d1exp_tr_dqid (d1e0, dq, id) end // end of [D1Eide] | D1Edqid (dq, id) => d1exp_tr_dqid (d1e0, dq, id) // | D1Eint (i) => d2exp_int (loc0, i) | D1Eintrep (rep) => d2exp_intrep (loc0, rep) // | D1Ebool (b) => d2exp_bool (loc0, b) | D1Echar (c) => d2exp_char (loc0, c) // | D1Efloat (rep) => d2exp_float (loc0, rep) | D1Estring (str) => d2exp_string (loc0, str) // | D1Ei0nt (x) => d2exp_i0nt (loc0, x) | D1Ec0har (x) => d2exp_c0har (loc0, x) | D1Ef0loat (x) => d2exp_f0loat (loc0, x) | D1Es0tring (x) => d2exp_s0tring (loc0, x) // | D1Ecstsp (csp) => d2exp_cstsp (loc0, csp) // end of [D1Ecstsp] // | D1Eliteral (d1e) => d2exp_literal(loc0, d1exp_tr(d1e)) // end of [D1Eliteral] // | D1Etop () => d2exp_top (loc0) | D1Eempty () => d2exp_empty (loc0) // | D1Eextval (s1e, name) => let val s2e = s1exp_trdn_vt0ype (s1e) // end of [val] in d2exp_extval (loc0, s2e, name) end (* end of [D1Eextval] *) // | D1Eextfcall (s1e, _fun, _arg) => let val s2e = s1exp_trdn_vt0ype (s1e) val _arg = d1explst_tr (_arg) in d2exp_extfcall (loc0, s2e, _fun, _arg) end (* end of [D1Eextfcall] *) | D1Eextmcall ( s1e, _obj, _mtd, _arg ) => let val s2e = s1exp_trdn_vt0ype (s1e) // end of [val] val _obj = d1exp_tr (_obj) val _arg = d1explst_tr (_arg) in d2exp_extmcall (loc0, s2e, _obj, _mtd, _arg) end (* end of [D1Eextmcall] *) // | D1Eloopexn (knd) => d2exp_loopexn (loc0, knd) // | D1Efoldat (s1as, d1e) => let val d1e = un_d1exp_sing (d1e) val s2as = s1exparglst_tr (s1as) in d2exp_foldat (loc0, s2as, d1exp_tr (d1e)) end // end of [D1Efoldat] | D1Efreeat (s1as, d1e) => let val d1e = un_d1exp_sing (d1e) val s2as = s1exparglst_tr (s1as) in d2exp_freeat (loc0, s2as, d1exp_tr (d1e)) end // end of [D1Efreeat] // | D1Etmpid (qid, t1mas) => let val q = qid.dqi0de_qua and id = qid.dqi0de_sym val d2e_qid = d1exp_tr_dqid (d1e0, q, id) val t2mas = t1mpmarglst_tr (t1mas) in d2exp_tmpid (loc0, d2e_qid, t2mas) end // end of [D1Etmpid] // | D1Elet (d1cs, d1e) => let val (pfenv | ()) = the_trans2_env_push () val d2cs = d1eclist_tr (d1cs); val d2e = d1exp_tr (d1e) val () = the_trans2_env_pop (pfenv | (*none*)) in d2exp_let (loc0, d2cs, d2e) end // end of [D1Elet] | D1Ewhere (d1e, d1cs) => let val (pfenv | ()) = the_trans2_env_push () val d2cs = d1eclist_tr (d1cs); val d2e = d1exp_tr (d1e) val () = the_trans2_env_pop (pfenv | (*none*)) in d2exp_where (loc0, d2e, d2cs) end // end of [D1Ewhere] | D1Edecseq (d1cs) => let val (pfenv | ()) = the_trans2_env_push () val d2cs = d1eclist_tr (d1cs); val d2e = d2exp_empty (loc0) val () = the_trans2_env_pop (pfenv | (*none*)) in d2exp_let (loc0, d2cs, d2e) end // end of [D1Edecseq] // | D1Eapp_dyn ( d1e1, locarg, npf, darg ) => ( case+ d1e1.d1exp_node of | D1Eapp_sta (d1e2, sarg) => d1exp_tr_app_sta_dyn ( d1e0, d1e1, d1e2, sarg, locarg, npf, darg ) // end of [D1Eapp_sta] | _ => d1exp_tr_app_dyn (d1e0, d1e1, locarg, npf, darg) ) // end of [D1Eapp_dyn] | D1Eapp_sta (d1e1, sarg) => let val locarg = loc0 // HX: it is just a dummy in d1exp_tr_app_sta_dyn ( d1e0, d1e0, d1e1, sarg, locarg, ~2(*fake*), list_nil(*darg*) ) // end of [d1exp_tr_app_sta_dyn] end // end of [D1Eapp_sta] // | D1Esing (d1e) => d2exp_sing(loc0, d1exp_tr (d1e)) // | D1Elist ( npf, d1es ) => ( case+ d1es of | list_cons _ => let val d2es = d1explst_tr (d1es) in d2exp_list (loc0, npf, d2es) end // end of [list_cons] | list_nil () => d2exp_empty (loc0) ) // end of [D1Elist] // | D1Eifhead ( r1es, _cond, _then, _else ) => let val r2es = i1nvresstate_tr r1es val _cond = d1exp_tr (_cond) val _then = d1exp_tr (_then) val _else = d1expopt_tr (_else) in d2exp_ifhead (loc0, r2es, _cond, _then, _else) end // end of [D1Eifhead] | D1Esifhead ( r1es, _cond, _then, _else ) => let val r2es = i1nvresstate_tr (r1es) val _cond = s1exp_trdn_bool (_cond) val _then = d1exp_tr (_then) and _else = d1exp_tr (_else) in d2exp_sifhead (loc0, r2es, _cond, _then, _else) end // end of [D1Eifhead] // | D1Ecasehead ( knd, r1es, d1es, c1ls ) => let val r2es = i1nvresstate_tr (r1es) val d2es = d1explst_tr (d1es) val ntup = list_length (d2es) val c2ls = c1laulst_tr (ntup, c1ls) in d2exp_casehead (loc0, knd, r2es, d2es, c2ls) end // end of [D1Ecasehead] | D1Escasehead ( r1es, s1e, sc1ls ) => let val r2es = i1nvresstate_tr (r1es) val s2e = s1exp_trup (s1e) val s2t_pat = s2e.s2exp_srt val sc2ls = sc1laulst_trdn (sc1ls, s2t_pat) val () = sc2laulst_coverck (loc0, sc2ls, s2t_pat) // FIXME!!! // end of [val] in d2exp_scasehead (loc0, r2es, s2e, sc2ls) end // end of [D1Escasehead] // | D1Elst ( lin, s1eopt, d1es ) => let val opt = ( case+ s1eopt of | Some s1e => let val s2e = ( case+ lin of | 0 => s1exp_trdn_t0ype (s1e) | 1 => s1exp_trdn_vt0ype (s1e) | _ => s1exp_trdn_impred (s1e) // unspecified ) : s2exp // end of [val] in Some (s2e) end // end of [Some] | None () => None () ) : s2expopt // end of [val] val d2es = d1explst_tr (d1es) in d2exp_lst (loc0, lin, opt, d2es) end // end of [D1Elst] // | D1Etup ( tupknd, npf, d1es ) => let in d2exp_tup (loc0, tupknd, npf, d1explst_tr d1es) end // end of [D1Etup] | D1Erec ( recknd, npf, ld1es ) => let val ld2es = list_map_fun (ld1es, labd1exp_tr) // end of [val] in d2exp_rec (loc0, recknd, npf, (l2l)ld2es) end // end of [D1Erec] // | D1Eseq d1es => let val d2es = d1explst_tr (d1es) in d2exp_seq2 (loc0, d2es) end // end of [D1Eseq] // | D1Earrsub (arr, locind, ind) => let in d1exp_tr_arrsub (d1e0, arr, locind, ind) end // end of [D1Earrsub] | D1Earrpsz (elt, init) => let val opt = s1expopt_trup (elt) val opt = ( case+ opt of | Some s2e => Some (s2e) | None () => None () ) : s2expopt val init = d1explst_tr (init) in d2exp_arrpsz (loc0, opt, init) end // end of [D1Earrpsz] // | D1Earrinit ( s1e_elt, asz, init ) => let val s2t_elt = ( case+ asz of | Some _ => ( case+ init of | list_cons _ => s2rt_t0ype // cannot be linear | list_nil ((*uninitized*)) => s2rt_vt0ype // can be linear ) (* end of [Some] *) | None _ => s2rt_vt0ype // can be linear ) : s2rt // end of [val] val s2e_elt = s1exp_trdn (s1e_elt, s2t_elt) val asz = d1expopt_tr (asz) val init = d1explst_tr (init) in d2exp_arrinit (loc0, s2e_elt, asz, init) end // end of [D1Earrinit] // | D1Eptrof (d1e) => let val d1e = un_d1exp_sing (d1e) in d2exp_ptrof (loc0, d1exp_tr (d1e)) end // end of [D1Eptrof] // | D1Eviewat (d1e) => let val d1e = un_d1exp_sing (d1e) in d2exp_viewat (loc0, d1exp_tr (d1e)) end // end of [D1Eviewat] // | D1Eselab (knd, d1e, d1l) => let val d2e = d1exp_tr d1e val d2l = d1lab_tr (d1l) in if knd = 0 then ( // [.] case+ d2e.d2exp_node of | D2Eselab (d2e_root, d2ls) => ( d2exp_sel_dot (loc0, d2e_root, l2l (list_extend (d2ls, d2l))) ) (* end of [D2Eselab] *) | _ (*non-D2Eselab*) => d2exp_sel_dot (loc0, d2e, list_sing (d2l)) ) else ( d2exp_sel_ptr (loc0, d2e, d2l) // [->] ) (* end of [if] *) end (* end of [D1Eselab] *) // | D1Eraise (d1e_exn) => let val d1e_exn = un_d1exp_sing (d1e_exn) // end of [val] in d2exp_raise (loc0, d1exp_tr(d1e_exn)) end // end of [D1Eraise] // | D1Eeffmask (efc, d1e_body) => let val s2fe = effcst_tr(efc) val d1e_body = un_d1exp_sing (d1e_body) // end of [val] val d2e_body = d1exp_tr (d1e_body) in d2exp_effmask (loc0, s2fe, d2e_body) end // end of [D1Eeffmask] // | D1Eshowtype (d1e) => let val d1e = un_d1exp_sing(d1e) in d2exp_showtype (loc0, d1exp_tr(d1e)) end // end of [D1Eshowtype] // | D1Evcopyenv (knd, d1e) => let val d1e = un_d1exp_sing(d1e) in d2exp_vcopyenv (loc0, knd, d1exp_tr d1e) end // end of [D1Evcopyenv] // | D1Etempenver (d1e) => let // fun auxlst ( d2es: d2explst ) : d2varlst = ( case+ d2es of | list_nil ((*void*)) => list_nil () | list_cons (d2e, d2es) => auxlst2 (d2e, d2es) ) (* end of [auxlst] *) // and auxlst2 ( d2e: d2exp, d2es: d2explst ) : d2varlst = ( case+ d2e.d2exp_node of | D2Evar (d2v) => list_cons(d2v, auxlst(d2es)) // end of [D2Evar] | _(*non-D2Evar*) => auxlst(d2es) ) (* end of [auxlst2] *) // val d2e = d1exp_tr (d1e) // val d2vs = ( case+ d2e.d2exp_node of | D2Evar (d2v) => list_sing(d2v) | D2Esing (d2e) => auxlst2(d2e, list_nil(*void*)) // end of [D2Esing] | D2Elist (_(*npf*), d2es) => auxlst (d2es) // end of [D2Elist] | _(*rest-of-d2exp*) => list_nil(*void*) ) : d2varlst // end of [val] in d2exp_tempenver (loc0, d2vs) end // end of [D1Etempenver] // | D1Eexist (s1a, d1e) => let val s2a = s1exparg_tr(s1a) val d1e = un_d1exp_sing(d1e) in d2exp_exist (loc0, s2a, d1exp_tr(d1e)) end // end of [D1Eexist] // | D1Elam_dyn ( lin, p1t_arg, d1e_body ) => let val @( npf, p2ts_arg, d2e_body ) = d1exp_tr_arg_body (p1t_arg, d1e_body) // end of [val] in d2exp_lam_dyn (loc0, lin, npf, p2ts_arg, d2e_body) end // end of [D1Elam_dyn] | D1Elaminit_dyn ( lin, p1t_arg, d1e_body ) => let val @(npf, p2ts_arg, d2e_body) = d1exp_tr_arg_body (p1t_arg, d1e_body) in d2exp_laminit_dyn (loc0, lin, npf, p2ts_arg, d2e_body) end // end of [D1Elam_dyn] | D1Elam_met (locarg, met, body) => let val met = s1explst_trup (met) val body = d1exp_tr (body) in d2exp_lam_met_new (loc0, met, body) end (* end of [D1Elam_met] *) | D1Efix ( knd, id, d1e_body ) => let val d2v = d2var_make (id.i0de_loc, id.i0de_sym) // end of [val] val () = d2var_set_isfix (d2v, true) val (pfenv | ()) = the_d2expenv_push_nil () val () = the_d2expenv_add_dvar (d2v) val d2e_body = d1exp_tr (d1e_body) val () = the_d2expenv_pop_free (pfenv | (*none*)) in d2exp_fix (loc0, knd, d2v, d2e_body) end // end of [D1Efix] // | D1Elam_sta_syn ( _(*locarg*), s1qs, d1e ) => let val (pfenv | ()) = the_s2expenv_push_nil () val s2q = s1qualst_tr (s1qs) val d2e = d1exp_tr (d1e) val () = the_s2expenv_pop_free (pfenv | (*none*)) in d2exp_lam_sta (loc0, s2q.s2qua_svs, s2q.s2qua_sps, d2e) end // end of [D1Elam_sta_syn] // | D1Edelay _ => d1exp_tr_delay (d1e0) // | D1Ewhile ( i1nv, d1e_test, d1e_body ) => let val (pfenv | ()) = the_s2expenv_push_nil () val i2nv = loopi1nv_tr (i1nv) val d2e_test = d1exp_tr (d1e_test) val d2e_body = d1exp_tr (d1e_body) val () = the_s2expenv_pop_free (pfenv | (*none*)) in d2exp_while (loc0, i2nv, d2e_test, d2e_body) end // end of [D1Ewhile] // | D1Efor ( i1nv, init, test, post, body ) => let val init = d1exp_tr (init) val (pfenv | ()) = the_s2expenv_push_nil () val i2nv = loopi1nv_tr (i1nv) val test = ( case+ test.d1exp_node of | D1Eempty () => d2exp_bool (loc0, true) | _ => d1exp_tr test ) : d2exp // end of [val] val post = d1exp_tr (post) val body = d1exp_tr (body) val () = the_s2expenv_pop_free (pfenv | (*none*)) in d2exp_for (loc0, i2nv, init, test, post, body) end // end of [D1Efor] // | D1Etrywith (r1es, d1e, c1ls) => let val r2es = i1nvresstate_tr (r1es) val d2e = d1exp_tr (d1e) val c2ls = c1laulst_tr (1(*npat*), c1ls) in d2exp_trywith (loc0, r2es, d2e, c2ls) end // end of [D1Etrywith] // | D1Eann_type (d1e, s1e) => let val d2e = d1exp_tr (d1e) val s2e = s1exp_trdn_impred (s1e) in d2exp_ann_type (loc0, d2e, s2e) end // end of [D1Eann_type] | D1Eann_effc (d1e, efc) => let val d2e = d1exp_tr (d1e) val s2fe = effcst_tr (efc) in d2exp_ann_seff (loc0, d2e, s2fe) end // end of [D1Eann_effc] | D1Eann_funclo (d1e, funclo) => let val d2e = d1exp_tr (d1e) in d2exp_ann_funclo (loc0, d2e, funclo) end // end of [D1Eann_funclo] // | D1Emacsyn _ => d1exp_tr_macsyn (d1e0) | D1Emacfun _ => d1exp_tr_macfun (d1e0) // | D1Esolassert(d1e) => d2exp_solassert(loc0, d1exp_tr(d1e)) | D1Esolverify(s1e) => d2exp_solverify(loc0, s1exp_trdn(s1e, s2rt_prop)) // | D1Eerrexp () => d2exp_errexp (loc0) // | D1Eidextapp (id, d1es) => let val () = prerr_error2_loc (loc0) val () = prerr ": the external id [" val () = $SYM.prerr_symbol (id) val () = prerr "] cannot be handled." val () = prerr_newline ((*void*)) val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) in d2exp_errexp (loc0) end // end of [_] // | D1Esexparg _ => let val () = prerr_error2_loc (loc0) val () = prerr ": this form of expression is only allowed to occur as an argument." val () = prerr_newline ((*void*)) val () = the_trans2errlst_add (T2E_d1exp_tr (d1e0)) in d2exp_errexp (loc0) end // end of [D1Esexparg] // // (* | _ (*unsupported*) => let val () = prerr_interror_loc (loc0) val () = filprerr_ifdebug "d1exp_tr" val () = prerrln! (": not yet implemented: d1e0 = ", d1e0) in $ERR.abort_interr{d2exp}((*reachable*)) end // end of [_(*unsupported*)] // *) // end // end of [let] // end of [d1exp_tr] (* ****** ****** *) implement d1explst_tr (d1es) = l2l (list_map_fun (d1es, d1exp_tr)) implement d1expopt_tr (d1eopt) = ( case+ d1eopt of | Some (d1e) => Some (d1exp_tr (d1e)) | None () => None () ) (* end of [d1expopt_tr] *) (* ****** ****** *) implement labd1exp_tr (ld1e) = let val+$SYN.DL0ABELED (l, d1e) = ld1e in labd2exp_make (l, d1exp_tr (d1e)) end // end of [labd0exp_tr] (* ****** ****** *) implement d1lab_tr (d1l0) = let // val loc0 = d1l0.d1lab_loc // in // case+ d1l0.d1lab_node of | D1LABlab (lab) => let val dotid = $LAB.label_dotize (lab) // end of [dotid] val ans = the_d2expenv_find (dotid) val opt = ( case+ ans of | ~Some_vt (d2i) => ( case+ d2i of | D2ITMsymdef (sym, xs) => ( case+ xs of | list_nil () => None () | list_cons _ => let val dq = $SYN.the_d0ynq_none val d2s = d2sym_make (loc0, dq, dotid, xs) in Some (d2s) end // end of [list_cons] ) (* D2ITMsymdef *) | _ (*non-symdef*) => None () ) (* end of [some_vt] *) | ~None_vt ((*void*)) => None () ) : d2symopt // end of [val] in d2lab_lab (loc0, lab, opt) end // end of [d1lab_tr] | D1LABind (ind) => d2lab_ind (loc0, d1explst_tr (ind)) // end // end of [d1lab_tr] (* ****** ****** *) // // HX: it is declared in [pats_trans3_env.sats] // extern fun s2exp_tmp_instantiate_tmpmarglst ( s2f: s2exp , locarg: loc_t, s2qs: s2qualst, t2mas: t2mpmarglst, err: &int ) : (s2exp(*res*), t2mpmarglst) = "ext#patsopt_s2exp_tmp_instantiate_tmpmarglst" // implement S1Ed2ctype_tr(d2ctp) = let // val d2e0 = d1exp_tr($UN.cast{d1exp}(d2ctp)) // fun auxerr_cst ( d2c: d2cst ) : void = { val () = prerr_error2_loc (d2e0.d2exp_loc) val () = filprerr_ifdebug "S1Ed2ctype_tr" val () = prerrln! (": the dynamic constant [", d2c, "] should be instantiated.") val () = the_trans2errlst_add (T2E_S1Ed2ctype_tr(d2ctp)) } // fun auxerr1_tmpid ( d2e_id: d2exp ) : void = { val () = prerr_error2_loc (d2e_id.d2exp_loc) val () = filprerr_ifdebug "S1Ed2ctype_tr" val () = prerrln! (": a declared dynamic constant is expected instead of [", d2e_id, "].") } fun auxerr2_tmpid ( d2e_id: d2exp, d2c: d2cst ) : void = { val () = prerr_error2_loc (d2e_id.d2exp_loc) val () = filprerr_ifdebug "S1Ed2ctype_tr" val () = prerrln! (": the dynamic constant [", d2c, "] is required to be be fully instantiated.") val () = the_trans2errlst_add (T2E_S1Ed2ctype_tr(d2ctp)) } // in // case+ d2e0.d2exp_node of (* cast+ *) // | D2Ecst(d2c) => let val istmp = d2cst_is_tmpcst(d2c) val () = if istmp then auxerr_cst(d2c) in d2cst_get_type(d2c) end // end of [D2Ecst] // | D2Etmpid (d2e_id, t2mas) => ( case+ d2e_id.d2exp_node of (* case+ *) | D2Ecst (d2c) => let val loc0 = d2e0.d2exp_loc val locarg = $LOC.location_rightmost(loc0) val s2e = d2cst_get_type(d2c) val s2qs = d2cst_get_decarg (d2c) val s2e_d2c = d2cst_get_type (d2c) // var err: int = 0 val (s2e_tmp, t2mas2) = s2exp_tmp_instantiate_tmpmarglst(s2e_d2c, locarg, s2qs, t2mas, err) // val sgn = list_length_compare(t2mas, t2mas2) val ((*check*)) = if sgn < 0 then auxerr2_tmpid(d2e_id, d2c) // partial instantiation // in s2e_tmp end // end of [D2Ecst] | _ (*non-D2Ecst*) => let val () = auxerr1_tmpid(d2e_id) in s2exp_s2rt_err() end // end of [non-D2Ecst] ) (* end of [D2Etmpid] *) // | _(*rest-of-d2exp*) => let val () = prerr_error2_loc (d2e0.d2exp_loc) val () = filprerr_ifdebug "S1Ed2ctype_tr" val () = println! (": [$d2ctype] can only be applied to a declared dynamic constant.") val () = the_trans2errlst_add (T2E_S1Ed2ctype_tr(d2ctp)) in s2exp_s2rt_err((*error*)) end // end of [rest-d2exp] // end // end of [S1Ed2ctype_tr] (* ****** ****** *) (* end of [pats_trans2_dynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_p2at.dats0000664000175000017500000011555112655455557017601 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_p2at" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label staload LOC = "./pats_location.sats" macdef print_location = $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) extern fun p2at_trdn_any (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_var (p2t0: p2at, s2f0: s2hnf): p3at (* ****** ****** *) local extern fun aux_p2at (p2t0: p2at): s2exp extern fun aux_labp2atlst (lp2ts: labp2atlst): labs2explst in (* in of [local] *) implement aux_p2at (p2t0) = let (* val () = println! ("aux_p2at: p2t0 = ", p2t0) *) in // case+ p2t0.p2at_node of // | P2Tann (p2t, s2e_ann) => s2e_ann // | P2Tany _ => s2exp_Var_make_srt (p2t0.p2at_loc, s2rt_t0ype) // end of [P2Tany] | P2Tvar _ => s2exp_Var_make_srt (p2t0.p2at_loc, s2rt_t0ype) // end of [P2Tvar] // | P2Tint _ => s2exp_int_t0ype () // int0 | P2Tintrep (rep) => intrep_syn_type (p2t0.p2at_loc, rep) // intrep (* end of [P2Tintrep] *) // | P2Tbool _ => s2exp_bool_t0ype () // bool0 | P2Tchar _ => s2exp_char_t0ype () // char0 | P2Tstring _ => s2exp_string_type () // string0 | P2Tfloat _ => s2exp_double_t0ype () // double // | P2Ti0nt (x) => i0nt_syn_type (x) | P2Tf0loat (x) => f0loat_syn_type (x) // | P2Tempty () => s2exp_void_t0ype () // | P2Tcon _ => s2exp_Var_make_srt (p2t0.p2at_loc, s2rt_t0ype) (* end of [P2Tcon] *) // | P2Tlst (lin, p2ts) => s2exp_t0ype_err () // (* | P2Ttup : tuples have been turned into records *) // | P2Trec (knd, npf, lp2ts) => s2exp_tyrec (knd, npf, aux_labp2atlst (lp2ts)) // | P2Trefas (d2v, p2t) => p2at_syn_type (p2t) // | P2Tvbox (d2v) => let val s2e = s2exp_Var_make_srt (p2t0.p2at_loc, s2rt_view) // end of [val] in s2exp_vbox_view_prop (s2e) end // end of [P2Tvbox] // | P2Texist _ => s2exp_t0ype_err () // | P2Tlist (npf, p2ts) => s2exp_t0ype_err () // | P2Terrpat ((*void*)) => s2exp_t0ype_err () (* | _(*yet-to-be-processed*) => exitloc (1) *) // end // end of [aux_p2at] implement aux_labp2atlst (lp2ts) = let in // case+ lp2ts of | list_cons (lp2t, lp2ts) => ( case+ lp2t of | LABP2ATnorm (l0, p2t) => let val l = l0.l0ab_lab val s2e = p2at_syn_type (p2t) val ls2e = SLABELED (l, None(*name*), s2e) in list_cons (ls2e, aux_labp2atlst (lp2ts)) end // end of [LABP2ATnorm] | LABP2ATomit (loc) => list_nil () // HX: should an error be reported? ) // end of [list_cons] | list_nil ((*void*)) => list_nil () // end // end of [aux_labp2atlst] (* ****** ****** *) implement p2at_syn_type (p2t0) = s2e0 where { val s2e0 = aux_p2at (p2t0) val () = p2at_set_type (p2t0, Some (s2e0)) } // end of [p2at_syn_type] end // end of [local] (* ****** ****** *) implement p2atlst_syn_type (p2ts) = l2l (list_map_fun (p2ts, p2at_syn_type)) // end of [p2atlst_syn_type] (* ****** ****** *) implement p2at_trup_arg (p2t0) = let (* val () = begin println! ("p2at_trup_arg: p2t0 = ", p2t0) end // end of [val] *) in // case+ p2t0.p2at_node of | P2Tann (p2t, s2e) => p2at_trdn_arg (p2t, s2e) // end of [P2Tann] | _ (*non-P2Tann*) => let val-Some (s2e) = p2t0.p2at_type in p2at_trdn (p2t0, s2e) end // end of [_] // end // end of [p2at_trup_arg] (* ****** ****** *) local fn p2at_proofize (p2t: p2at) = let val dvs = p2t.p2at_dvs val dvs = $UT.lstord2list (dvs) in list_foreach_fun (dvs, lam d2v =<1> d2var_set_isprf (d2v, true)) end (* end of [p2at_proofize] *) in (* in-of-local *) implement p2atlst_trup_arg (npf, p2ts) = res where { // fun loop ( npf: int, p2ts: p2atlst , res: &p3atlst? >> p3atlst ) : void = ( // case+ p2ts of | list_nil() => (res := list_nil) | list_cons (p2t, p2ts) => let // val () = if npf > 0 then p2at_proofize (p2t) // end of [if] // val p3t = p2at_trup_arg (p2t) // val () = res := list_cons {p3at}{0} (p3t, ?) // val+list_cons (_, !p_res) = res // val () = loop (npf-1, p2ts, !p_res) // prval ((*folded*)) = fold@ (res) in // nothing end // end of [list_cons] // ) (* end of [loop] *) // var res: p3atlst // uninitized val ((*void*)) = loop (npf, p2ts, res) // } (* end of [p2atlst_trup_arg] *) (* ****** ****** *) local fun p2at_trdn_arg_refarg_var (p2t0: p2at, s2e0: s2exp): p3at = let // val loc0 = p2t0.p2at_loc val-S2Erefarg (refknd, s2e) = s2e0.s2exp_node val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) val-P2Tvar (d2v) = p2t0.p2at_node // in // case+ 0 of | _ when refknd = 0 => let // call-by-value val p3t0 = p2at_trdn_var (p2t0, s2f) val () = p3at_set_type (p3t0, s2e0) val-Some (s2e) = d2var_get_type (d2v) val () = d2var_set_finknd (d2v, D2VFINsome (s2e)) // HX: may be overwritten later in p3t0 end // end of [refknd = 0] | _ (*refknd = 1*) => let // call-by-reference val loc0 = p2t0.p2at_loc val p3t0 = p3at_var (loc0, s2e0, d2v) val s2e_opn = s2hnf_opnexi_and_add (loc0, s2f) val sym = d2var_get_sym (d2v) val s2v_addr = s2var_make_id_srt (sym, s2rt_addr) val () = trans3_env_add_svar (s2v_addr) // adding svar val s2e_addr = s2exp_var (s2v_addr) val () = d2var_set_addr (d2v, Some s2e_addr) val s2e_ptr = s2exp_ptr_addr_type (s2e_addr) val () = d2var_set_type (d2v, Some (s2e_ptr)) val () = d2var_set_mastype (d2v, Some (s2e_ptr)) (* val () = let val s2p = s2exp_agtz (s2e_addr) in trans3_env_hypadd_prop (loc0, s2p) end // end of [val] *) val d2vw = d2var_ptr_viewat_make_none (d2v) val () = d2var_set_view (d2v, Some d2vw) // [d2v] is mutable val s2at = s2exp_at (s2e, s2e_addr) val () = d2var_set_mastype (d2vw, Some s2at) val s2at_opn = s2exp_at (s2e_opn, s2e_addr) val () = d2var_set_type (d2vw, Some (s2at_opn)) val () = d2var_set_finknd (d2vw, D2VFINsome (s2at_opn)) // HX: may be overwritten later in p3t0 end // end of [refknd = 1] end (* end of [p2at_trdn_arg_refarg_var] *) fun p2at_trdn_arg_refarg_err ( p2t0: p2at, s2e0: s2exp ) : p3at = let val loc0 = p2t0.p2at_loc val () = prerr_error3_loc (loc0) val () = prerr ": the pattern is expected to be a variable." val () = prerr_newline () val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) in p3at_errpat (loc0, s2e0) end // end of [p2at_trdn_arg_refarg_err] in (* in-of-local *) implement p2at_trdn_arg (p2t0, s2e0) = let // val s2f0 = s2exp2hnf (s2e0) val s2e0 = s2hnf2exp (s2f0) (* // val () = println! ("p2at_trdn_arg: s2e0 = ", s2e0) // *) in // case+ s2e0.s2exp_node of | S2Erefarg _ => ( case+ p2t0.p2at_node of | P2Tvar _ => p2at_trdn_arg_refarg_var (p2t0, s2e0) | _ (*non-P2Tvar*) => p2at_trdn_arg_refarg_err (p2t0, s2e0) ) | _ (*non-S2Erefarg*) => p2at_trdn (p2t0, s2e0) // end // end of [p2at_trdn_arg] end // end of [local] (* ****** ****** *) implement p2atlst_trdn_arg ( loc0, npf, p2ts, s2es, serr ) = let // fun aux {n:nat} .. ( npf: int , p2ts: p2atlst, s2es: list (s2exp, n) , serr: &int ) : list (p3at, n) = case+ p2ts of | list_cons (p2t, p2ts) => ( case+ s2es of | list_cons (s2e, s2es) => let val () = if npf > 0 then p2at_proofize (p2t) // end of [val] val p3t = p2at_trdn_arg (p2t, s2e) val p3ts = aux (npf-1, p2ts, s2es, serr) in list_cons (p3t, p3ts) end // end of [list_cons] | list_nil () => let val () = serr := serr + 1 in list_nil () end // end of [list_nil] ) // end of [list_cons] | list_nil () => ( case+ s2es of | list_cons (s2e, s2es) => let val () = serr := serr - 1 val p3t = p3at_errpat (loc0, s2e) val p3ts = aux (npf-1, p2ts, s2es, serr) in list_cons (p3t, p3ts) end // end of [list_cons] | list_nil () => list_nil () ) // end of [list_nil] // end of [aux] in aux (npf, p2ts, s2es, serr) end (* end of [p2atlst_trdn_arg] *) (* ****** ****** *) end // end of [local] (* ****** ****** *) extern fun p2atlst_trdn_elt (p2ts: p2atlst, s2e: s2exp): p3atlst implement p2atlst_trdn_elt (p2ts, s2e) = case+ p2ts of | list_cons (p2t, p2ts) => let val p3t = p2at_trdn (p2t, s2e) in list_cons (p3t, p2atlst_trdn_elt (p2ts, s2e)) end | list_nil () => list_nil () // end of [p2atlst_trdn_elt] (* ****** ****** *) extern fun p2at_trdn_int (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_intrep (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_bool (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_char (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_float (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_string (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_i0nt (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_f0loat (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_empty (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_rec (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_lst (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_refas (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_exist (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_vbox (p2t0: p2at, s2f0: s2hnf): p3at extern fun p2at_trdn_ann (p2t0: p2at, s2f0: s2hnf): p3at (* ****** ****** *) implement p2at_trdn (p2t0, s2e0) = let // val loc0 = p2t0.p2at_loc val s2f0 = s2exp2hnf (s2e0) // (* val () = ( println! ("p2at_trdn: p2t0 = ", p2t0); println! ("p2at_trdn: s2f0 = ", s2f0); ) (* end of [val] *) *) // in // case+ p2t0.p2at_node of // | P2Tany _ => p2at_trdn_any (p2t0, s2f0) | P2Tvar _ => p2at_trdn_var (p2t0, s2f0) // | P2Tcon _ => p2at_trdn_con (p2t0, s2f0) // | P2Tint _ => p2at_trdn_int (p2t0, s2f0) | P2Tintrep _ => p2at_trdn_intrep (p2t0, s2f0) | P2Tbool _ => p2at_trdn_bool (p2t0, s2f0) | P2Tchar _ => p2at_trdn_char (p2t0, s2f0) | P2Tfloat _ => p2at_trdn_float (p2t0, s2f0) | P2Tstring _ => p2at_trdn_string (p2t0, s2f0) // | P2Ti0nt _ => p2at_trdn_i0nt (p2t0, s2f0) | P2Tf0loat _ => p2at_trdn_f0loat (p2t0, s2f0) // | P2Tempty () => p2at_trdn_empty (p2t0, s2f0) // | P2Trec _ => p2at_trdn_rec (p2t0, s2f0) | P2Tlst _ => p2at_trdn_lst (p2t0, s2f0) // | P2Trefas _ => p2at_trdn_refas (p2t0, s2f0) // | P2Texist _ => p2at_trdn_exist (p2t0, s2f0) // | P2Tvbox _ => let val err = the_effenv_check_ref (loc0) val () = if err > 0 then the_trans3errlst_add (T3E_p2at_trdn_vbox_ref (p2t0)) // end of [val] val () = the_effenv_add_eff ($EFF.effect_ref) in p2at_trdn_vbox (p2t0, s2f0) end // end of [P2Tvbox] // | P2Tann _ => p2at_trdn_ann (p2t0, s2f0) // | P2Terrpat () => let val s2e = s2hnf2exp (s2f0) in p3at_errpat (loc0, s2e) end // end of [P2Terr] // | _ => let val ( ) = ( println! ("p2at_trdn: p2t0 = ", p2t0) ) // end of [val] in exitloc (1) end // end of [_] end // end of [p2at_trdn] (* ****** ****** *) implement p2atlst_trdn (loc0, p2ts, s2es, serr) = let (* val () = ( fprintln! (stdout_ref, "p2atlst_trdn: p2ts = ", p2ts); fprintln! (stdout_ref, "p2atlst_trdn: s2es = ", s2es); ) // end of [val] *) in // case+ p2ts of | list_cons (p2t, p2ts) => ( case+ s2es of | list_cons (s2e, s2es) => let val p3t = p2at_trdn (p2t, s2e) val p3ts = p2atlst_trdn (loc0, p2ts, s2es, serr) in list_cons (p3t, p3ts) end | list_nil () => let val () = serr := serr + 1 in list_nil () end ) // end of [list_cons] | list_nil () => ( case+ s2es of | list_cons (s2e, s2es) => let val () = serr := serr - 1 val p3t = p3at_errpat (loc0, s2e) val p3ts = p2atlst_trdn (loc0, p2ts, s2es, serr) in list_cons (p3t, p3ts) end // end of [list_cons] | list_nil () => list_nil () ) // end // end of [p2atlst_trdn] (* ****** ****** *) implement p2at_trdn_any (p2t0, s2f0) = let val loc0 = p2t0.p2at_loc val s2e0 = s2hnf2exp (s2f0) val d2v = d2var_make_any (loc0) val () = d2var_set_mastype (d2v, Some (s2e0)) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val () = d2var_set_type (d2v, None ()) val islin = s2exp_is_lin (s2e0) val p3t0 = p3at_any (loc0, s2e, d2v) val () = if islin then p3at_set_type_left (p3t0, Some (s2e0)) in p3t0 end // end of [p2at_trdn_any] (* ****** ****** *) implement p2at_trdn_var (p2t0, s2f0) = let val loc0 = p2t0.p2at_loc val-P2Tvar (d2v) = p2t0.p2at_node // val s2e0 = s2hnf2exp (s2f0) val s2t0 = s2e0.s2exp_srt val islin = s2rt_is_lin (s2t0) // val () = d2var_set_mastype (d2v, Some s2e0) val () = if islin then { // linear var val () = d2var_set_linval (d2v, 0) val () = d2var_set_finknd (d2v, D2VFINnone()) } // end of [val] (* val () = begin println! ("p2at_trdn_var: d2v = ", d2v); println! ("p2at_trdn_var: s2e0 = ", s2e0); println! ("p2at_trdn_var: s2t0 = ", s2t0); end // end of [val] *) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val () = d2var_set_type (d2v, Some s2e) (* val () = begin println! ("p2at_trdn_var: d2v = ", d2v); println! ("p2at_trdn_var: s2e = ", s2e); end // end of [val] *) in p3at_var (loc0, s2e, d2v) end // end of [p2at_trdn_var] (* ****** ****** *) implement p2at_trdn_int (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tint (i) = p2t0.p2at_node // val s2c_knd = s2cstref_get_cst (the_int_kind) val s2e_knd = s2exp_cst (s2c_knd) val s2e_ind = s2exp_int (i) val s2f_ind = s2exp2hnf_cast (s2e_ind) val s2e_pat = s2exp_g1int_kind_index_t0ype (s2e_knd, s2e_ind) // val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val p3t0 = p3at_int (loc0, s2e, i) // var nerr: int = 0 val () = ( case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_g1int_int_t0ype, s2e_fun ) => let val-list_cons (s2e1_arg, s2es_arg) = s2es_arg val-list_cons (s2e2_arg, s2es_arg) = s2es_arg val () = $SOL.s2exp_tyleq_solve_err (loc0, s2e_knd, s2e1_arg, nerr) val s2f2_arg = s2exp2hnf (s2e2_arg) in trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f2_arg) end (* end of [S2Eapp] *) | _ => $SOL.s2exp_tyleq_solve_err (loc0, s2e_pat, s2e, nerr) ) (* end of [val] *) // val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the integer pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] // in p3t0 end // end of [p2at_trdn_int] (* ****** ****** *) implement p2at_trdn_bool (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tbool (b) = p2t0.p2at_node val s2e_ind = s2exp_bool (b) val s2f_ind = s2exp2hnf_cast (s2e_ind) val s2e_pat = s2exp_bool_index_t0ype (s2e_ind) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val p3t0 = p3at_bool (loc0, s2e, b) // in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_bool_bool_t0ype, s2e_fun ) => let val-list_cons (s2e_arg, _) = s2es_arg val s2f_arg = s2exp2hnf (s2e_arg) val () = trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f_arg) in p3t0 end (* end of [S2Eapp] *) | _ => let val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e) val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the boolean pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] in p3t0 end (* end of [_] *) // end // end of [p2at_trdn_bool] (* ****** ****** *) implement p2at_trdn_char (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tchar (c) = p2t0.p2at_node val s2e_ind = s2exp_int_char (c) val s2f_ind = s2exp2hnf_cast (s2e_ind) val s2e_pat = s2exp_char_index_t0ype (s2e_ind) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val p3t0 = p3at_char (loc0, s2e, c) // in // case+ s2e.s2exp_node of // case+ | S2Eapp ( s2e_fun, s2es_arg ) when s2cstref_equ_exp ( the_char_int_t0ype, s2e_fun ) => let val- list_cons (s2e_arg, _) = s2es_arg // end of [val] val s2f_arg = s2exp2hnf (s2e_arg) val () = trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f_arg) in p3t0 end (* end of [S2Eapp] *) | _ (*non-S2Eapp*) => let val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e) // end of [val] val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the char pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } (* end of [val] *) in p3t0 end (* end of [_] *) end // end of [p2at_trdn_char] (* ****** ****** *) implement p2at_trdn_float (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tfloat(dbl) = p2t0.p2at_node // val s2e_pat = s2exp_double_t0ype((*void*)) // val s2e0 = s2hnf2exp (s2f0) val p3t0 = p3at_float (loc0, s2e0, dbl) // in case+ 0 of | _ (*non-S2Eapp*) => let val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e0) // end of [val] val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the floating-point pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } (* end of [val] *) in p3t0 end // end of [_(*non-S2Eapp*)] end // end of [p2at_trdn_float] (* ****** ****** *) implement p2at_trdn_string (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tstring(str) = p2t0.p2at_node val n = string_length (str) val n = $INTINF.intinf_make_size (n) // val s2e_ind = s2exp_intinf (n) val s2f_ind = s2exp2hnf_cast (s2e_ind) val s2e_pat = s2exp_string_index_type (s2e_ind) // val s2e = s2hnf_opnexi_and_add (loc0, s2f0) // val p3t0 = p3at_string (loc0, s2e, str) // in // case+ s2e.s2exp_node of // case+ | S2Eapp ( s2e_fun, s2es_arg ) when s2cstref_equ_exp ( the_string_int_type, s2e_fun ) => let val- list_cons (s2e_arg, _) = s2es_arg // end of [val-] val s2f_arg = s2exp2hnf (s2e_arg) val ((*void*)) = trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f_arg) // end of [val] in p3t0 end (* end of [S2Eapp] *) // | _ (*non-S2Eapp*) => let val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e) // end of [val] val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the string pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } (* end of [val] *) in p3t0 end // end of [_(*non-S2Eapp*)] // end // end of [p2at_trdn_string] (* ****** ****** *) local fun auxcheck ( loc0: loc_t, s2e: s2exp, s2e_pat: s2exp, nerr: &int ) : void = let // val-S2Eapp (s2e_pat_fun, s2es_pat_arg) = s2e_pat.s2exp_node val-list_cons (s2e_pat_knd, s2es_pat_arg) = s2es_pat_arg val-list_cons (s2e_pat_ind, s2es_pat_arg) = s2es_pat_arg // in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) => let val () = $SOL.s2exp_tyleq_solve_err (loc0, s2e_pat_fun, s2e_fun, nerr) // end of [val] in case+ s2es_arg of | list_cons (s2e1_arg, s2es_arg) => let val () = $SOL.s2exp_tyleq_solve_err (loc0, s2e_pat_knd, s2e1_arg, nerr) // end of [val] in case+ s2es_arg of | list_cons (s2e2_arg, _) => let val s2f_pat_ind = s2exp2hnf (s2e_pat_ind) // end of [val] val s2f2_arg = s2exp2hnf (s2e2_arg) in trans3_env_hypadd_eqeq (loc0, s2f_pat_ind, s2f2_arg) end // end of [list_cons] | list_nil () => () end // end of [list_cons] | list_nil () => (nerr := nerr + 1) end // end of [S2Eapp] | _ => $SOL.s2exp_tyleq_solve_err (loc0, s2e_pat, s2e, nerr) // end // end of [auxcheck] in (* in-of-local *) implement p2at_trdn_intrep (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tintrep (rep) = p2t0.p2at_node val s2e_pat = intrep_syn_type_ind (loc0, rep) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val p3t0 = p3at_intrep (loc0, s2e, rep) // var nerr: int = 0 val () = auxcheck (loc0, s2e, s2e_pat, nerr) val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the integer pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } (* end of [val] *) // in p3t0 end // end of [p2at_trdn_intrep] implement p2at_trdn_i0nt (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Ti0nt (x) = p2t0.p2at_node val s2e_pat = i0nt_syn_type_ind (x) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val p3t0 = p3at_i0nt (loc0, s2e, x) // var nerr: int = 0 val () = auxcheck (loc0, s2e, s2e_pat, nerr) // val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the integer pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } (* end of [val] *) // in p3t0 end // end of [p2at_trdn_i0nt] end // end of [local] (* ****** ****** *) implement p2at_trdn_f0loat (p2t0, s2f0) = let val loc0 = p2t0.p2at_loc val-P2Tf0loat (x) = p2t0.p2at_node val s2e_pat = f0loat_syn_type (x) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e) val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the pattern of floating point number is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] in p3at_f0loat (loc0, s2e, x) end // end of [p2at_trdn_f0loat] (* ****** ****** *) implement p2at_trdn_empty (p2t0, s2f0) = let val loc0 = p2t0.p2at_loc val-P2Tempty () = p2t0.p2at_node val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val s2e_pat = s2exp_void_t0ype () val err = $SOL.s2exp_tyleq_solve (loc0, s2e_pat, s2e) val () = if (err > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the void pattern is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] in p3at_empty (loc0, s2e) end // end of [p2at_trdn_empty] (* ****** ****** *) extern fun labp2atlst_trdn ( loc0: loc_t , lp2ts: labp2atlst, ls2es: labs2explst, nerr: &int ) : labp3atlst // end of [labp2atlst_trdn_labs2explst] implement labp2atlst_trdn (loc0, lp2ts, ls2es, nerr) = let // val isomit = aux (lp2ts) where { fun aux (xs: labp2atlst): bool = case+ xs of | list_cons (x, xs) => (case+ x of | LABP2ATnorm _ => aux (xs) | LABP2ATomit _ => true ) // end of [list_cons] | list_nil () => false // end of [aux] } // end of [val] // fun auxrest ( lp2ts: labp2atlst, nerr: &int ) : void = ( case+ lp2ts of | list_cons (lp2t, lp2ts) => ( case+ lp2t of | LABP2ATnorm (l0, _) => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "labp2atlst_trdn" val () = prerr ": there is no component of the label [" val () = $LAB.prerr_label (l0.l0ab_lab) val () = prerr "] in the type assigned to the tuple/record pattern." val () = prerr_newline () val () = nerr := nerr + 1 in auxrest (lp2ts, nerr) end // end of [LABP2ATnorm] | LABP2ATomit (loc) => auxrest (lp2ts, nerr) ) // end of [list_cons] | list_nil () => () ) (* end of [auxrest] *) // fun auxfind ( lp2ts: &labp2atlst, l: label ) : Option_vt (p2at) = case+ lp2ts of | list_cons (lp2t, lp2ts1) => ( case+ lp2t of | LABP2ATnorm (l0, p2t) => if l = l0.l0ab_lab then let val () = lp2ts := lp2ts1 in Some_vt (p2t) end else let var lp2ts1 = lp2ts1 val res = auxfind (lp2ts1, l) val found = option_vt_is_some (res) val () = if found then (lp2ts := list_cons (lp2t, lp2ts1)) // end of [val] in res end // end of [if] | LABP2ATomit _ => let val () = lp2ts := list_sing (lp2t) in None_vt () end // end of [LABP2ATomit] ) (* end of [list_cons] *) | list_nil () => None_vt () // end of [auxfind] // fun auxcheck ( lp2ts: &labp2atlst, ls2es: labs2explst, err: &int ) : labp3atlst = let in // case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, _, s2e) = ls2e val opt = auxfind (lp2ts, l) in case+ opt of | ~Some_vt (p2t) => let val p3t = p2at_trdn (p2t, s2e) val lp3t = LABP3AT (l, p3t) val lp3ts = auxcheck (lp2ts, ls2es, err) in list_cons (lp3t, lp3ts) end // end of [Some_vt] | ~None_vt () => let var p3t: p3at val () = if isomit then { val d2v = d2var_make_any (loc0) val () = p3t := p3at_any (loc0, s2e, d2v) } else { // HX: no omission is allowed val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "labp2atlst_trdn" val () = prerr ": there is no component of the label [" val () = $LAB.prerr_label (l) val () = prerr "]" val () = prerr_newline () val () = err := err + 1 val () = p3t := p3at_errpat (loc0, s2e) } // end of [val] val lp3t = LABP3AT (l, p3t) val lp3ts = auxcheck (lp2ts, ls2es, err) in list_cons (lp3t, lp3ts) end // end of [None_vt] end (* end of [list_cons] *) | list_nil () => list_nil () end // end of [auxcheck] // var lp2ts = lp2ts val lp3ts = auxcheck (lp2ts, ls2es, nerr) val () = auxrest (lp2ts, nerr) // in lp3ts end // end of [labp2atlst_trdn] (* ****** ****** *) implement p2at_trdn_rec (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Trec (knd, npf, lp2ts) = p2t0.p2at_node val s2e = s2hnf_opnexi_and_add (loc0, s2f0) // in // case+ s2e.s2exp_node of | S2Etyrec (knd1, npf1, ls2es) => let val isbox = (knd > 0) val isbox1 = tyreckind_is_boxed (knd1) val () = if (isbox != isbox1) then { val () = prerr_error3_loc (loc0) val () = prerr ": the tuple/record pattern is " val () = if isbox then prerr "boxed but it is assigned a flat/unboxed type." val () = if ~isbox then prerr "flat/unboxed but it is assigned a boxed type." val () = prerr_newline () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] val nerr = $SOL.pfarity_equal_solve (loc0, npf, npf1) val () = if (nerr > 0) then { val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] var nerr: int = 0 val lp3ts = labp2atlst_trdn (loc0, lp2ts, ls2es, nerr) val () = if (nerr > 0) then { val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] in p3at_rec (loc0, s2e, knd, npf, lp3ts) end // end of [S2Etyrec] | _ => let // val () = prerr_error3_loc (loc0) val () = prerrln! (": the tuple/record pattern is ill-typed.") // val s2e0 = s2hnf2exp (s2f0) val ((*void*)) = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) // in p3at_errpat (loc0, s2e) end // end of [_] // end // end of [p2at_trdn_rec] (* ****** ****** *) local // fun auxerr_lin (p2t0: p2at): void = let val () = prerr_error3_loc (p2t0.p2at_loc) val () = prerrln! (": the list-pattern should be non-linear.") in the_trans3errlst_add (T3E_p2at_trdn_lst (0, p2t0)) end // end of [auxerr_lin] // fun auxerr_nonlin (p2t0: p2at): void = let val () = prerr_error3_loc (p2t0.p2at_loc) val () = prerrln! (": the list-pattern should be linear but it is not.") in the_trans3errlst_add (T3E_p2at_trdn_lst (1, p2t0)) end // end of [auxerr_nonlin] // in (* in-of-local *) implement p2at_trdn_lst (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tlst (lin, p2ts) = p2t0.p2at_node val s2e = s2hnf_opnexi_and_add (loc0, s2f0) // val islin = ( if lin >= 0 then test_linkind(lin) else false ) : bool // end of [val] // in // case+ s2e.s2exp_node of // | S2Eapp ( s2e_fun, s2es_arg ) when s2cstref_equ_exp ( the_list_t0ype_int_type, s2e_fun ) => let val-list_cons (s2e1_arg, s2es_arg) = s2es_arg val-list_cons (s2e2_arg, s2es_arg) = s2es_arg val p3ts = p2atlst_trdn_elt (p2ts, s2e1_arg) val n = list_length (p3ts) val s2e_ind = s2exp_int (n) val s2f_ind = s2exp2hnf_cast (s2e_ind) // end of [val] val s2f2_arg = s2exp2hnf (s2e2_arg) val () = trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f2_arg) // val () = if islin then auxerr_lin (p2t0) // in p3at_lst (loc0, s2e, 0(*lin*), s2e1_arg, p3ts) end // list_t0ype_int_type // | S2Eapp ( s2e_fun, s2es_arg ) when s2cstref_equ_exp ( the_list_vt0ype_int_vtype, s2e_fun ) => let val-list_cons (s2e1_arg, s2es_arg) = s2es_arg val-list_cons (s2e2_arg, s2es_arg) = s2es_arg val p3ts = p2atlst_trdn_elt (p2ts, s2e1_arg) val n = list_length (p3ts) val s2e_ind = s2exp_int (n) val s2f_ind = s2exp2hnf_cast (s2e_ind) // end of [val] val s2f2_arg = s2exp2hnf (s2e2_arg) val () = trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f2_arg) // val () = if not(islin) then auxerr_nonlin (p2t0) // in p3at_lst (loc0, s2e, 1(*lin*), s2e1_arg, p3ts) end // list_vt0ype_int_vtype // | _ => let val () = prerr_error3_loc (loc0) val () = prerr ": the list pattern is ill-typed."; val () = prerr_newline () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) in p3at_errpat (loc0, s2e) end // end of [_] // end // end of [p2at_trdn_lst] end // end of [local] (* ****** ****** *) implement p2at_trdn_refas (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Trefas (d2v, p2t) = p2t0.p2at_node val s2e0 = s2hnf2exp (s2f0) val () = d2var_set_mastype (d2v, Some s2e0) val s2e1 = s2hnf_opnexi_and_add (loc0, s2f0) val p3t = p2at_trdn (p2t, s2e1) val p3t0 = p3at_refas (loc0, s2e0, d2v, p3t) val () = let val opt = p3at_get_type_left (p3t) in // case+ opt of | Some _ => { // // HX-2012-05: // [d2v] must be linear in this case // val () = d2var_set_type (d2v, opt) val () = d2var_set_linval (d2v, 0) } // end of [Some] | None () => ( d2var_set_type (d2v, Some (s2exp_topize_1 (s2e1))) ) // end of [None] // end // end of [val] // in p3t0 end // end of [p2at_trdn_refas] (* ****** ****** *) local fun auxerr1 ( loc0: loc_t , s2v1: s2var, s2v2: s2var ) : void = let val s2t1 = s2var_get_srt (s2v1) val s2t2 = s2var_get_srt (s2v2) val () = prerr_error3_loc (loc0) val () = prerr ": the static variable ["; val () = prerr_s2var (s2v1) val () = prerr "] is of the sort [" val () = prerr_s2rt (s2t1) val () = prerr "] but it is bound to a term of the sort [" val () = prerr_s2rt (s2t2) val () = prerr "]." val () = prerr_newline () in // nothing end // end of [auxerr1] // fun auxerr2 ( loc0: loc_t, s2v1: s2var ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": there is no binding for the static variable ["; val () = prerr_s2var (s2v1) val () = prerr "]" val () = prerr_newline () in // nothing end // end of [auxerr2] // fun auxbind ( loc0: loc_t , sub: &stasub, s2vs1: s2varlst, s2vs2: s2varlst , err: &int ) : void = let in // case+ s2vs1 of | list_cons (s2v1, s2vs1) => ( case+ s2vs2 of | list_cons (s2v2, s2vs2) => let val s2t1 = s2var_get_srt (s2v1) val s2t2 = s2var_get_srt (s2v2) var s2e1 // HX: [s2e1] is for [s2v2] : s2exp = s2exp_var_srt (s2t2, s2v1) // end of [var] val ismat = s2rt_ltmat1 (s2t2, s2t1) val () = if not(ismat) then { val () = err := err + 1 val () = auxerr1 (loc0, s2v1, s2v2) val () = s2e1 := s2exp_err (s2t2) // for [s2v2] } // end of [val] val () = stasub_add (sub, s2v2, s2e1) in auxbind (loc0, sub, s2vs1, s2vs2, err) end // end of [list_cons] | list_nil () => let val () = err := err + 1 val () = auxerr2 (loc0, s2v1) in auxbind (loc0, sub, s2vs1, s2vs2, err) end // end of [list_nil] ) // end of [list_cons] | list_nil () => (case+ s2vs2 of | list_cons _ => auxbind (loc0, sub, s2vs1, s2vs2, err) | list_nil () => () ) // end of [list_nil] // end // end of [auxbind] in (* in-of-local *) implement p2at_trdn_exist (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Texist (s2vs, p2t) = p2t0.p2at_node val s2e0 = s2hnf2exp (s2f0) // in // case+ s2e0.s2exp_node of | S2Eexi (s2vs2, s2ps2, s2e) => let var sub: stasub = stasub_make_nil () var err: int = 0 val () = auxbind (loc0, sub, s2vs, s2vs2, err) val () = if (err > 0) then { val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) } // end of [val] val () = trans3_env_add_svarlst (s2vs) val s2ps2 = s2explst_subst_vt (sub, s2ps2) val () = trans3_env_hypadd_proplst_vt (loc0, s2ps2) val s2e = s2exp_subst (sub, s2e) val () = stasub_free (sub) val p3t = p2at_trdn (p2t, s2e) in p3at_exist (loc0, s2e0, s2vs, p3t) end // end of [S2Eexi] | _ => let val () = prerr_error3_loc (loc0) val () = prerr ": the pattern is given the type [" val () = prerr_s2exp (s2e0) val () = prerr "] but an existentially quantified type is expected." val () = prerr_newline () val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) in p3at_errpat (loc0, s2e0) end (* end of [_] *) // end // end of [p2at_trdn_exist] end // end of [local] (* ****** ****** *) implement p2at_trdn_vbox (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tvbox (d2v) = p2t0.p2at_node val s2e0 = s2hnf2exp (s2f0) val opt = un_s2exp_vbox_view_prop (s2f0) in // case+ opt of // | ~Some_vt (s2e) => let val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) val islin = s2exp_is_lin (s2e) val () = d2var_set_mastype (d2v, Some s2e) val () = if islin then { val () = d2var_set_linval (d2v, 0) val () = d2var_set_finknd (d2v, D2VFINsome_vbox (s2e)) } // end of [if] val s2e = s2hnf_opnexi_and_add (loc0, s2f) val () = d2var_set_type (d2v, Some s2e) in p3at_vbox (loc0, s2e0, d2v) end // end of [Some_vt] // | ~None_vt ((*void*)) => let val () = prerr_error3_loc (loc0) val () = prerr ": the pattern is given the type [" val () = prerr_s2exp (s2e0) val () = prerr "] but a vbox type is expected instead." val () = prerr_newline () val () = the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) in p3at_errpat (loc0, s2e0) end // end of [None_vt] // end // end of [p2at_trdn_vbox] (* ****** ****** *) implement p2at_trdn_ann (p2t0, s2f0) = let // val loc0 = p2t0.p2at_loc val-P2Tann (p2t, s2e_ann) = p2t0.p2at_node val s2e0 = s2hnf_opnexi_and_add (loc0, s2f0) val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e0, s2e_ann) // val () = if (nerr > 0) then let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "p2at_trdn_ann" val () = prerr ": the pattern cannot be given the ascribed type." val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end // end of [if] // end of [val] // val p3t = p2at_trdn (p2t, s2e0) // in p3at_ann (loc0, s2e0, p3t, s2e_ann) end // end of [p2at_trdn_ann] (* ****** ****** *) implement guard_trdn (loc0, gval, s2e0) = let // val s2f0 = s2exp2hnf (s2e0) val s2e_ind = s2exp_bool (gval) val s2f_ind = s2exp2hnf_cast (s2e_ind) val s2e_gval = s2exp_bool_index_t0ype (s2e_ind) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) in // case+ s2e.s2exp_node of // | S2Eapp ( s2e_fun, s2es_arg ) when s2cstref_equ_exp ( the_bool_bool_t0ype, s2e_fun ) => let val-list_cons (s2e_arg, _) = s2es_arg // end of [val] val s2f_arg = s2exp2hnf (s2e_arg) in trans3_env_hypadd_eqeq (loc0, s2f_ind, s2f_arg) end // end of [S2Eapp] // | _ (*non-app*) => let val nerr = $SOL.s2exp_tyleq_solve (loc0, s2e_gval, s2e) val () = if (nerr > 0) then { val () = prerr_error3_loc (loc0) val () = prerr ": the guard is ill-typed." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0 = s2hnf2exp (s2f0) val () = the_trans3errlst_add (T3E_guard_trdn (loc0, gval, s2e0)) } (* end of [if] *) // end of [val] in (* nothing *) end // end of [_] // end // end of [guard_trdn] (* ****** ****** *) (* implement p3at_mutablize (p3t0) = let val loc0 = p3t0.p3at_loc // fun auxvar ( loc0: loc_t, d2v: d2var ) : void = let val-Some (s2e0) = d2var_get_mastype (d2v) val d2vw = d2var_mutablize (loc0, d2v, s2e0) val-Some (s2l) = d2var_get_addr (d2v) val s2at0 = s2exp_at (s2exp_topize_0 (s2e0), s2l) val () = d2var_set_finknd (d2vw, D2VFINsome (s2at0)) in // nothing end // end of [auxvar] // in // case+ p3t0.p3at_node of | P3Tvar (d2v) => auxvar (loc0, d2v) | P3Trefas (d2v, _) => auxvar (loc0, d2v) | P3Tann (p3t, _) => p3at_mutablize (p3t) // | _ => () // end // end of [p3at_mutablize] *) (* ****** ****** *) (* end of [pats_trans3_p2at.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_print.dats0000664000175000017500000007363712655455557020256 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) (* ** for T_* constructors *) staload "./pats_lexing.sats" (* ****** ****** *) // staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" // macdef fprint_symbol = $SYM.fprint_symbol // macdef fprint_l0ab = $SYN.fprint_l0ab macdef fprint_i0de = $SYN.fprint_i0de macdef fprint_cstsp = $SYN.fprint_cstsp macdef fprint_d0ynq = $SYN.fprint_d0ynq macdef fprint_macsynkind = $SYN.fprint_macsynkind // (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) implement fprint_d2itm (out, x0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x0 of // | D2ITMcst d2c => begin prstr "D2ITMcst("; fprint_d2cst (out, d2c); prstr ")" end // end of [D2ITMcst] | D2ITMvar d2v => begin prstr "D2ITMvar("; fprint_d2var (out, d2v); prstr ")" end // end of [D2ITMvar] | D2ITMcon d2cs => { val () = prstr "D2ITMcon(" val () = fprint_d2conlst (out, d2cs) val () = prstr ")" } // end of [D2ITMcon] | D2ITMe1xp e1xp => begin prstr "D2ITMe1xp("; fprint_e1xp (out, e1xp); prstr ")" end // end of [D2ITMe1xp] // | D2ITMsymdef (sym, d2pis) => { val () = prstr "D2ITMsymdef(" val () = fprint_symbol (out, sym) val () = prstr "; " val () = fprint_d2pitmlst (out, d2pis) val () = prstr ")" } // end of [D2ITMsymdef] // | D2ITMmacdef d2m => begin prstr "D2ITMmacdef("; fprint_d2mac (out, d2m); prstr ")" end // end of [D2ITMmacdef] | D2ITMmacvar d2v => begin prstr "D2ITMmacvar("; fprint_d2var (out, d2v); prstr ")" end // end of [D2ITMmacvar] // // end of [case] end // end of [fprint_d2item] (* ****** ****** *) implement print_d2itm (x) = fprint_d2itm (stdout_ref, x) implement prerr_d2itm (x) = fprint_d2itm (stderr_ref, x) (* ****** ****** *) implement fprint_d2itmlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2itm) // end of [fprint_d2itmlst] (* ****** ****** *) implement fprint_d2pitm (out, x) = { val D2PITM (pval, d2i) = x val () = fprint_string (out, "D2PITM(") val () = fprint_int (out, pval) val () = fprint_string (out, ", ") val () = fprint_d2itm (out, d2i) val () = fprint_string (out, ")") } // end of [fprint_d2pitm] implement fprint_d2pitmlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2pitm) // end of [fprint_d2pitmlst] (* ****** ****** *) // implement fprint_d2sym (out, d2s) = { val () = fprint_d0ynq (out, d2s.d2sym_qua) val () = fprint_symbol (out, d2s.d2sym_sym) } (* end of [d2sym] *) // implement print_d2sym (d2s) = fprint (stdout_ref, d2s) implement prerr_d2sym (d2s) = fprint (stderr_ref, d2s) // (* ****** ****** *) // implement fprint_pckind (out, pck) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ pck of | PCKcon () => prstr "PCKcon" | PCKlincon () => prstr "PCKlincon" | PCKfree () => prstr "PCKfree" | PCKunfold () => prstr "PCKunfold" // end // end of [fprint_pckind] // implement print_pckind (x) = fprint (stdout_ref, x) implement prerr_pckind (x) = fprint (stderr_ref, x) // (* ****** ****** *) implement fprint_pckindopt (out, opt) = $UT.fprintopt (out, opt, fprint_pckind) // end of [fprint_pckindopt] (* ****** ****** *) implement fprint_p2at (out, x0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x0.p2at_node of // | P2Tany () => { val () = prstr "P2Tany()" } | P2Tvar (d2v) => { val () = prstr "P2Tvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } | P2Tbool (x) => { val () = prstr "P2Tbool(" val () = fprint_bool (out, x) val () = prstr ")" } | P2Tint (x) => { val () = prstr "P2Tint(" val () = fprint_int (out, x) val () = prstr ")" } | P2Tintrep (rep) => { val () = prstr "P2Tintrep(" val () = fprint_string (out, rep) val () = prstr ")" } | P2Tchar (x) => { val () = prstr "P2Tchar(" val () = fprint_char (out, x) val () = prstr ")" } | P2Tfloat (x) => { val () = prstr "P2Tfloat(" val () = fprint_string (out, x) val () = prstr ")" } | P2Tstring (x) => { val () = prstr "P2Tstring(" val () = fprint_string (out, x) val () = prstr ")" } // | P2Ti0nt (x) => { val () = prstr "P2Ti0nt(" val () = $SYN.fprint_i0nt (out, x) val () = prstr ")" } | P2Tf0loat (x) => { val () = prstr "P2Tf0loat(" val () = $SYN.fprint_f0loat (out, x) val () = prstr ")" } // | P2Tempty () => { val () = prstr "P2Tempty()" } | P2Tcon ( pck, d2c, s2qs, s2f, npf, p2ts ) => { val () = prstr "P2Tcon(" val () = fprint_pckind (out, pck) val () = prstr "; " val () = fprint_d2con (out, d2c) val () = prstr "; " val () = fprint_s2qualst (out, s2qs) val () = prstr "; " val () = fprint_s2exp (out, s2f) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p2atlst (out, p2ts) val () = prstr ")" } // | P2Tlist (npf, p2ts) => { val () = prstr "P2Tlist(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p2atlst (out, p2ts) val () = prstr ")" } // | P2Trec (knd, npf, lp2ts) => { val () = prstr "P2Ttup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_labp2atlst (out, lp2ts) val () = prstr ")" } | P2Tlst (lin, p2ts) => { val () = prstr "P2Tlst(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_p2atlst (out, p2ts) val () = prstr ")" } // | P2Trefas (d2v, p2t) => { val () = prstr "P2Trefas(" val () = fprint_d2var (out, d2v) val () = prstr "; " val () = fprint_p2at (out, p2t) val () = prstr ")" } // | P2Texist (s2vs, p2t) => { val () = prstr "P2Texist(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_p2at (out, p2t) val () = prstr ")" } // | P2Tvbox (d2v) => { val () = prstr "P2Tvbox(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // | P2Tann (p2t, s2f) => { val () = prstr "P2Tann(" val () = fprint_p2at (out, p2t) val () = prstr ", " val () = fprint_s2exp (out, s2f) val () = prstr ")" } | P2Terrpat ((*void*)) => prstr "P2Terrpat()" (* | _ => prstr "P2T...(...)" *) // end // end of [fprint_p2at] (* ****** ****** *) implement print_p2at (x) = fprint_p2at (stdout_ref, x) implement prerr_p2at (x) = fprint_p2at (stderr_ref, x) (* ****** ****** *) // implement fprint_p2atlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_p2at) // end of [fprint_p2atlst] // implement print_p2atlst (xs) = fprint_p2atlst (stdout_ref, xs) implement prerr_p2atlst (xs) = fprint_p2atlst (stderr_ref, xs) // (* ****** ****** *) implement fprint_labp2at (out, lp2t) = case+ lp2t of | LABP2ATnorm (l0, p2t) => { val () = fprint_l0ab (out, l0) val () = fprint_string (out, "=") val () = fprint_p2at (out, p2t) } // end of [LABP2ATnorm] | LABP2ATomit (loc) => fprint_string (out, "...") // end of [fprint_labp2at] implement fprint_labp2atlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labp2at) // end of [fprint_p2atlst] (* ****** ****** *) implement fprint_d2exp (out, d2e0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ d2e0.d2exp_node of // | D2Ecst (d2c) => { val () = prstr "D2Ecst(" val () = fprint_d2cst (out, d2c) val () = prstr ")" } // end of [D2Ecst] | D2Evar (d2v) => { val () = prstr "D2Evar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // end of [D2Evar] // | D2Eint (x) => { val () = fprint! (out, "D2Eint(", x, ")") } (* end of [D2Eint] *) | D2Eintrep (rep) => { val () = fprint! (out, "D2Eintrep(", rep, ")") } (* end of [D2Eintrep] *) | D2Ebool (x) => { val () = fprint! (out, "D2Ebool(", x, ")") } (* end of [D2Ebool] *) | D2Echar (x) => { val () = fprint! (out, "D2Echar(", x, ")") } (* end of [D2Echar] *) | D2Efloat (rep) => { val () = fprint! (out, "D2Efloat(", rep, ")") } (* end of [D2Efloat] *) | D2Estring (str) => { val () = fprint! (out, "D2Estring(", str, ")") } (* end of [D2Estring] *) // | D2Ei0nt (tok) => { val-T_INT ( _(*base*), rep, _(*sfx*) ) = tok.token_node val () = fprint! (out, "D2Ei0nt(", rep, ")") } (* end of [D2Ei0nt] *) | D2Ec0har (tok) => { val-T_CHAR (chr) = tok.token_node val () = fprint! (out, "D2Ec0har(", chr, ")") } (* end of [D2Ec0har] *) | D2Ef0loat (tok) => { val-T_FLOAT ( _(*base*), rep, _(*sfx*) ) = tok.token_node val () = fprint! (out, "D2Ef0loat(", rep, ")") } (* end of [D2Ef0loat] *) | D2Es0tring (tok) => { val-T_STRING (str) = tok.token_node val () = fprint! (out, "D2Es0tring(", str, ")") } (* end of [D2Es0tring] *) // | D2Ecstsp (csp) => { val () = prstr "D2Ecstsp(" val () = fprint_cstsp (out, csp) val () = prstr ")" } // end of [D2Ecstsp] // | D2Eliteral (d2e) => { val () = prstr "D2Eliteral(" val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end of [D2Eliteral] // | D2Etop () => { val () = prstr "D2Etop()" } // end of [D2Etop] | D2Etop2 (s2e) => { val () = prstr "D2Etop2(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [D2Etop2] // | D2Eempty () => prstr "D2Eempty()" // | D2Eextval (s2e, name) => { val () = prstr "D2Eextval(" val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, name) val () = prstr "\"" val ((*closing*)) = prstr ")" } // end of [D2Eextval] // | D2Eextfcall (s2e, _fun, _arg) => { val () = prstr "D2Eextfcall(" val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, _fun) val () = prstr "\"" val () = prstr "; " val () = fprint_d2explst (out, _arg) val ((*closing*)) = prstr ")" } (* end of [D2Eextfcall] *) | D2Eextmcall (s2e, _obj, _mtd, _arg) => { val () = prstr "D2Eextmcall(" val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = fprint_d2exp (out, _obj) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, _mtd) val () = prstr "\"" val () = prstr "; " val () = fprint_d2explst (out, _arg) val ((*closing*)) = prstr ")" } (* end of [D2Eextmcall] *) // | D2Eloopexn (knd) => { val () = prstr "D2Eloopexn(" val () = fprint_int (out, knd) val () = prstr ")" } // end of [D2Eloopexn] // | D2Econ ( d2c, _(*loc*), s2as, npf, _(*loc*), d2es ) => { val () = prstr "D2Econ(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = $UT.fprintlst (out, s2as, ", ", fprint_s2exparg) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d2explst (out, d2es) val () = prstr ")" } // end of [D2Econ] // | D2Esym (d2s) => { val () = fprint! (out, "D2Esym(", d2s, ")") // end of [val] } // end of [D2Esym] // | D2Efoldat (s2as, d2e) => { val () = prstr "D2Efoldat(" val () = fprint_s2exparglst (out, s2as) val () = prstr "; " val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end of [D2Efoldat] | D2Efreeat (s2as, d2e) => { val () = prstr "D2Efreeat(" val () = fprint_s2exparglst (out, s2as) val () = prstr "; " val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end of [D2Efreeat] // | D2Etmpid (d2e_id, t2mas) => { val () = prstr "D2Etmpid(" val () = fprint_d2exp (out, d2e_id) val () = prstr "; " val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ")" } (* end of [D2Etmpid] *) // | D2Elet (d2cs, d2e) => { val () = prstr "D2Elet(\n" val () = fprint_d2eclist (out, d2cs) // end of [val] val () = prstr "\n>>in-of-let<<\n" val () = fprint_d2exp (out, d2e) val () = prstr "\n)" } (* end of [D2Elet] *) | D2Ewhere (d2e, d2cs) => { val () = prstr "D2Ewhere(" val () = fprint_d2exp (out, d2e) val () = prstr ";\n" val () = fprint_d2eclist (out, d2cs) val () = prstr "\n)" } (* end of [D2Ewhere] *) // | D2Eapplst (d2e, d2as) => { val () = prstr "D2Eapplst(" val () = fprint_d2exp (out, d2e) val () = prstr "; " val () = fprint_d2exparglst (out, d2as) val () = prstr ")" } (* end of [D2Eapplst] *) // | D2Eifhead ( invres, _test, _then, _else ) => { // D2Eifhead val () = prstr "D2Eifhead(" val () = fprint_d2exp (out, _test) val () = prstr "; " val () = fprint_d2exp (out, _then) val () = prstr "; " val () = fprint_d2expopt (out, _else) val () = prstr ")" } (* end of [D2Eifhead] *) | D2Esifhead ( invres, _test, _then, _else ) => { // D2Esifhead val () = prstr "D2Esifhead(" val () = fprint_s2exp (out, _test) val () = prstr "; " val () = fprint_d2exp (out, _then) val () = prstr "; " val () = fprint_d2exp (out, _else) val () = prstr ")" } (* end of [D2Esifhead] *) // | D2Ecasehead _ => { val () = prstr "D2Ecasehead(" val () = fprint_string (out, "...") val () = prstr ")" } | D2Escasehead _ => { val () = prstr "D2Escasehead(" val () = fprint_string (out, "...") val () = prstr ")" } // | D2Esing (d2e) => fprint! (out, "D2Esing(", d2e, ")") | D2Elist (npf, d2es) => fprint! (out, "D2Elist(", npf, "; ", d2es, ")") (* end of [D2Elist] *) // | D2Elst ( lin, opt, d2es ) => { val () = prstr "D2Elst(" val () = fprint_s2expopt (out, opt) val () = prstr "; " val () = fprint_d2explst (out, d2es) val () = prstr ")" } (* end of [D2Elst] *) | D2Etup ( knd, npf, d2es ) => { val () = prstr "D2Etup(knd=" val () = fprint_int (out, knd) val () = prstr "; npf=" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d2explst (out, d2es) val () = prstr ")" } (* end of [D2Etup] *) | D2Erec ( knd, npf, ld2es ) => { val () = prstr "D2Erec(knd=" val () = fprint_int (out, knd) val () = prstr "; npf=" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_labd2explst (out, ld2es) val () = prstr ")" } (* end of [D2Erec] *) // | D2Eseq (d2es) => fprint! (out, "D2Eseq(", d2es, ")") // | D2Eraise (d2e) => fprint! (out, "D2Eraise(", d2e, ")") // | D2Eeffmask (s2fe, d2e) => fprint! (out, "D2Eeffmask(", s2fe, "; ", d2e, ")") // end of [D2Eeffmask] // | D2Eshowtype (d2e) => fprint! (out, "D2Eshowtype(", d2e, ")") // | D2Evcopyenv (knd, d2e) => fprint! (out, "D2Evcopyenv(", knd, "; ", d2e, ")") // | D2Etempenver (d2vs) => fprint! (out, "D2Etempenver(", d2vs, ")") // | D2Eselab (d2e, d2ls) => fprint! (out, "D2Eselab(", d2e, "; ", d2ls, ")") // | D2Eptrof (d2e) => fprint! (out, "D2Eptrof(", d2e, ")") // | D2Eviewat (d2e) => fprint! (out, "D2Eviewat(", d2e, ")") // | D2Ederef (d2e) => fprint! (out, "D2Ederef(", d2e, ")") // | D2Eassgn (d2e_l, d2e_r) => fprint! (out, "D2Eassgn(", d2e_l, " := ", d2e_r, ")") | D2Exchng (d2e_l, d2e_r) => fprint! (out, "D2Exchng(", d2e_l, " :=: ", d2e_r, ")") // | D2Earrsub _ => { val () = prstr "D2Earrsub(" val () = fprint_string (out, "...") val () = prstr ")" } | D2Earrpsz _ => { val () = prstr "D2Earrpsz(" val () = fprint_string (out, "...") val () = prstr ")" } | D2Earrinit _ => { val () = prstr "D2Earrinit(" val () = fprint_string (out, "...") val () = prstr ")" } // | D2Eexist (s2a, d2e) => { val () = prstr "D2Eexist(" val () = fprint_s2exparg (out, s2a) val () = prstr "; " val () = fprint_d2exp (out, d2e) val () = prstr ")" } (* end of [D2Eexist] *) // | D2Elam_dyn ( lin, npf, p2ts, d2e ) => { val () = prstr "D2Elam_dyn(" // end of [val] val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p2atlst (out, p2ts) val () = prstr "; " val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end of [D2Elam_dyn] | D2Elaminit_dyn ( lin, npf, p2ts, d2e ) => { val () = prstr "D2Elaminit_dyn(" // end of [val] val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p2atlst (out, p2ts) val () = prstr "; " val () = fprint_d2exp (out, d2e) val ((*closed*)) = prstr ")" } // end of [D2Elaminit_dyn] // | D2Elam_sta (s2vs, s2ps, d2e) => { val () = prstr "D2Elam_sta(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_s2explst (out, s2ps) val () = prstr "; " val () = fprint_d2exp (out, d2e) val ((*closed*)) = prstr ")" } (* end of [D2Elam_sta] *) // | D2Elam_met _ => { val () = prstr "D2Elam_met(" val () = fprint_string (out, "...") val ((*closed*)) = prstr ")" } // end of [D2Elam_met] // | D2Efix _ => { val () = prstr "D2Efix(" val () = fprint_string (out, "...") val ((*closed*)) = prstr ")" } // end of [D2Efix] // | D2Edelay (d2e) => fprint! (out, "D2Edelay(", d2e, ")") // end of [D2Edelay] | D2Eldelay (_eval, _free) => { val () = prstr "D2Eldelay(" val () = fprint_d2exp (out, _eval) val () = prstr "; " val () = fprint_d2expopt (out, _free) val () = prstr ")" } // end of [D2Edelay] // | D2Efor ( i2nv , init, test, post, body ) => { val () = prstr "D2Efor(" val () = fprint_loopi2nv (out, i2nv) val () = prstr "; init=" val () = fprint_d2exp (out, init) val () = prstr "; test=" val () = fprint_d2exp (out, test) val () = prstr "; post=" val () = fprint_d2exp (out, post) val () = prstr "; body=" val () = fprint_d2exp (out, body) val () = prstr ")" } (* end of [D2Efor] *) | D2Ewhile (i2nv, test, body) => { val () = prstr "D2Ewhile(" val () = fprint_loopi2nv (out, i2nv) val () = prstr "; " val () = fprint_d2exp (out, test) val () = prstr "; " val () = fprint_d2exp (out, body) val () = prstr ")" } // end of [D2Ewhile] // | D2Etrywith _ => { val () = prstr "D2Etrywith(" val () = fprint_string (out, "...") val () = prstr ")" } // end of [D2Etrywith] // | D2Eann_type (d2e, s2f) => { val () = prstr "D2Eann_type(" val () = fprint_d2exp (out, d2e) val () = prstr " : " val () = fprint_s2exp (out, s2f) val () = prstr ")" } // end of [D2Eann_type] | D2Eann_seff (d2e, s2fe) => { val () = prstr "D2Eann_seff(" val () = fprint_d2exp (out, d2e) val () = prstr " : " val () = fprint_s2eff (out, s2fe) val () = prstr ")" } // end of [D2Eann_seff] | D2Eann_funclo (d2e, funclo) => { val () = prstr "D2Eann_funclo(" val () = fprint_d2exp (out, d2e) val () = prstr " : " val () = fprint_funclo (out, funclo) val () = prstr ")" } // end of [D2Eann_funclo] // | D2Emac (d2m) => { val () = prstr "D2Emac(" val () = fprint_d2mac (out, d2m) val () = prstr ")" } | D2Emacsyn (knd, d2e) => { val () = prstr "D2Emacsyn(" val () = fprint_macsynkind (out, knd) val () = prstr "; " val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end of [D2Emacsyn] | D2Emacfun (name, d2es) => { val () = prstr "D2Emacfun(" val () = fprint_symbol (out, name) val () = prstr "; " val () = fprint_d2explst (out, d2es) val () = prstr ")" } // end of [D2Emacfun] // | D2Esolassert (d2e_prf) => { val () = prstr "D2Esolassert(" val () = fprint_d2exp(out, d2e_prf) val () = prstr ")" } | D2Esolverify (s2e_prop) => { val () = prstr "D2Esolverify(" val () = fprint_s2exp(out, s2e_prop) val () = prstr ")" } // | D2Eerrexp ((*void*)) => prstr "D2Eerr()" // (* | _ => prstr "D2E...(...)" *) // end // end of [fprint_d2exp] (* ****** ****** *) implement print_d2exp (x) = fprint_d2exp (stdout_ref, x) implement prerr_d2exp (x) = fprint_d2exp (stderr_ref, x) (* ****** ****** *) implement fprint_d2explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2exp) // end of [fprint_d2explst] (* ****** ****** *) implement fprint_d2expopt (out, opt) = let in case+ opt of | Some (d2e) => { val () = fprint_string (out, "Some(") // end of [val] val () = fprint_d2exp (out, d2e) val () = fprint_string (out, ")") } // end of [Some] | None () => fprint_string (out, "None()") end // end of [fprint_d2expopt] (* ****** ****** *) implement fprint_labd2exp (out, x) = { val $SYN.DL0ABELED (l0, d2e) = x val () = fprint_l0ab (out, l0) val () = fprint_string (out, "=") val () = fprint_d2exp (out, d2e) } // end of [fprint_labd2exp] implement fprint_labd2explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labd2exp) // end of [fprint_labs2explst] (* ****** ****** *) implement fprint_d2exparg (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of | D2EXPARGsta (_(*loc*), s2as) => { val () = prstr "D2EXPARGsta(" val () = fprint_s2exparglst (out, s2as) val () = prstr ")" } | D2EXPARGdyn (npf, _(*loc*), d2es) => { val () = prstr "D2EXPARGdyn(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d2explst (out, d2es) val () = prstr ")" } // end // end of [fprint_d2exparg] implement fprint_d2exparglst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2exparg) // end of [fprint_d2exparglst] (* ****** ****** *) implement fprint_d2lab (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x.d2lab_node of | D2LABlab (lab) => { val () = prstr "D2LABlab(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } // end of [D2LABlab] | D2LABind (ind) => { val () = prstr "D2LABind(" val () = $UT.fprintlst (out, ind, ", ", fprint_d2exp) val () = prstr ")" } // end of [D2LABind] // end // end of [fprint_d2lab] implement fprint_d2lablst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2lab) // end of [fprint_d2lablst] (* ****** ****** *) // extern fun fprint_i2nvarg : fprint_type (i2nvarg) // implement fprint_i2nvarg (out, arg) = let // val d2v = arg.i2nvarg_var val opt = arg.i2nvarg_type val () = fprint_d2var (out, d2v) // in // case+ opt of | Some (s2e) => { val () = fprint_string (out, ": ") val () = fprint_s2exp (out, s2e) } // end of [Some] | None () => () // end of [None] // end // end of [fprint_i2nvarg] implement fprint_i2nvarglst (out, args) = $UT.fprintlst (out, args, ", ", fprint_i2nvarg) // end of [fprint_i2nvarglst] implement fprint_i2nvresstate (out, r2es) = let macdef prstr (s) = fprint_string (out, ,(s)) in prstr ("i2nvresstate(svs="); fprint_s2varlst (out, r2es.i2nvresstate_svs); prstr ("; gua="); fprint_s2explst (out, r2es.i2nvresstate_gua); prstr ("; met="); fprint_s2explstopt (out, r2es.i2nvresstate_met); prstr ("; state="); fprint_i2nvarglst (out, r2es.i2nvresstate_arg); prstr (")"); end // end of [fprint_i2nvresstate] implement fprint_loopi2nv (out, i2nv) = let macdef prstr (s) = fprint_string (out, ,(s)) in prstr ("loop2inv(svs="); fprint_s2varlst (out, i2nv.loopi2nv_svs); prstr ("; gua="); fprint_s2explst (out, i2nv.loopi2nv_gua); prstr ("; met="); fprint_s2explstopt (out, i2nv.loopi2nv_met); prstr ("; state="); fprint_i2nvarglst (out, i2nv.loopi2nv_arg); prstr ("; "); fprint_i2nvresstate (out, i2nv.loopi2nv_res); prstr (")"); end // end of [fprint_loopi2nv] (* ****** ****** *) // implement print_d2ecl (x) = fprint_d2ecl (stdout_ref, x) implement prerr_d2ecl (x) = fprint_d2ecl (stderr_ref, x) // implement fprint_d2ecl (out, x0) = let // macdef prstr(s) = fprint_string (out, ,(s)) // in // case+ x0.d2ecl_node of // case+ // | D2Cnone () => prstr "D2Cnone()" // | D2Clist (xs) => { val () = prstr "D2Clist(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_d2ecl) val () = prstr "\n)" } // end of [D2Clist] // | D2Coverload (id, pval, opt) => { val () = prstr "D2Coverload(" val ( ) = fprint_i0de (out, id) val () = prstr "(" val () = fprint_int (out, pval) val () = prstr "); " val () = ( case+ opt of | Some d2i => fprint_d2itm (out, d2i) | None ((*void*)) => fprint_string (out, "*ERROR*") ) : void // end of [val] val () = prstr ")" } // end of [D2Coverload] // | D2Cstacsts (s2cs) => { val () = fprint! (out, "D2Cstacsts(", s2cs, ")") } (* end of [D2Cstacsts] *) | D2Cstacons (knd, s2cs) => { val () = fprint! (out, "D2Cstacons(", knd, "; ", s2cs, ")") } (* end of [D2Cstacons] *) // | D2Cextype (name, s2e) => { val () = fprint! (out, "D2Cextype(", name, " = ", s2e, ")") } (* end of [D2Cextype] *) | D2Cextvar (name, d2e) => { val () = fprint! (out, "D2Cextvar(", name, " = ", d2e, ")") } (* end of [D2Cextvar] *) // | D2Cextcode _ => prstr "D2Cextcode(...)" // | D2Cpragma(xs) => { val () = prstr "D2Cpragma(" val () = $UT.fprintlst (out, xs, ", ", fprint_e1xp) val () = prstr (")") } | D2Ccodegen (knd, xs) => { val () = prstr "D2Ccodegen(" val () = fprint_int (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_e1xp) val () = prstr (")") } (* end of [D2Ccodegen] *) // | D2Cdatdecs (knd, s2cs) => { val () = prstr "D2Cdatdecs(" val () = fprint_int (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, s2cs, ", ", fprint_s2cst) val () = prstr ")" } // end of [D2Cdatdecs] // | D2Cdcstdecs (knd, dck, d2cs) => { val () = prstr "D2Cdcstdecs(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_dcstkind (out, dck) val () = prstr "; " val () = $UT.fprintlst (out, d2cs, ", ", fprint_d2cst) val () = prstr ")" } // end of [D2Cdcstdecs] // | D2Cfundecs _ => { val () = prstr "D2Cfundecs(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cfundecs] | D2Cvaldecs _ => { val () = prstr "D2Cvaldecs(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cvaldecs] | D2Cvaldecs_rec _ => { val () = prstr "D2Cvaldecs_rec(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cvaldecs_rec] | D2Cvardecs _ => { val () = prstr "D2Cvardecs(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cvardecs] | D2Cprvardecs _ => { val () = prstr "D2Cprvardecs(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cprvardecs] // | D2Cinclude (knd, d2cs) => { val () = prstr "D2Cinclude(" val () = fprint_int (out, knd) val () = prstr "\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cinclude] // | D2Cstaload _ => { val () = prstr "D2Cstaload(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cstaload] | D2Cstaloadloc _ => { val () = prstr "D2Cstaloadloc(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cstaload] // | D2Cdynload _ => { val () = prstr "D2Cdynload(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Cdynload] // | D2Clocal _ => { val () = prstr "D2Clocal(\n" val () = prstr "..." val () = prstr "\n)" } // end of [D2Clocal] // | D2Cerrdec () => prstr "D2Cerrdec()" // | _ (*rest-of-d2ecl*) => prstr "D2C...(...)" // end // end of [fprint_d2ecl] // implement fprint_d2eclist (out, d2cs) = $UT.fprintlst (out, d2cs, "\n", fprint_d2ecl) // (* ****** ****** *) implement fprint_d2lval (out, x0) = let // macdef prstr(s) = fprint_string (out, ,(s)) // in // case+ x0 of // | D2LVALderef (d2e, d2ls) => { val () = prstr "D2LVALderef(" val () = fprint_d2exp (out, d2e) val () = prstr "; " val () = fprint_d2lablst (out, d2ls) val () = prstr ")" } | D2LVALvar_lin (d2v, d2ls) => { val () = prstr "D2LVALvar_lin(" val () = fprint_d2var (out, d2v) val () = prstr "; " val () = fprint_d2lablst (out, d2ls) val () = prstr ")" } | D2LVALvar_mut (d2v, d2ls) => { val () = prstr "D2LVALvar_mul(" val () = fprint_d2var (out, d2v) val () = prstr "; " val () = fprint_d2lablst (out, d2ls) val () = prstr ")" } | D2LVALarrsub (d2s, d2e, loc, ind) => { val () = prstr "D2LVALarrsub(" val () = fprint_d2exp (out, d2e) val () = prstr "; " val () = $UT.fprintlst (out, ind, ", ", fprint_d2exp) val () = prstr ")" } | D2LVALviewat (d2e) => { val () = prstr "D2LVALviewat(" val () = fprint_d2exp (out, d2e) val () = prstr ")" } | D2LVALnone (d2e) => { val () = prstr "D2LVALnone(" val () = fprint_d2exp (out, d2e) val () = prstr ")" } // end // end of [fprint_d2lval] (* ****** ****** *) // implement print_d2lval (x) = fprint_d2lval (stdout_ref, x) implement prerr_d2lval (x) = fprint_d2lval (stderr_ref, x) // (* ****** ****** *) (* end of [pats_dynexp2_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_stacst2.dats0000664000175000017500000007737012655455557017032 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_stacst2" (* ****** ****** *) staload "./pats_effect.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) abstype s2cstnul (l:addr) typedef s2cstnul = [l:agez] s2cstnul (l) extern castfn s2cstnul_none (x: ptr null):<> s2cstnul (null) extern castfn s2cstnul_some (x: s2cst):<> [l:agz] s2cstnul (l) extern castfn s2cstnul_unsome {l:agz} (x: s2cstnul l):<> s2cst extern fun s2cstnul_is_null {l:addr} (x: s2cstnul (l)): bool (l==null) = "atspre_ptr_is_null" // end of [s2cstnul_is_null] extern fun s2cstnul_isnot_null {l:addr} (x: s2cstnul (l)): bool (l > null) = "atspre_ptr_isnot_null" // end of [s2cstnul_isnot_null] (* ****** ****** *) local typedef syms2cst_struct = @{ sym= symbol, cst= s2cstnul } // end of [syms2cst_struct] assume s2cstref_type = ref (syms2cst_struct) in // in of [local] fun s2cstref_get_sym (r: s2cstref): symbol = let val (vbox pf | p) = ref_get_view_ptr (r) in p->sym end // end of [s2cstref_get_sym] fun s2cstref_get_cstnul (r: s2cstref): s2cstnul = let val (vbox pf | p) = ref_get_view_ptr (r) in p->cst end // end of [s2cstref_get_cstnul] fun s2cstref_set_cstnul (r: s2cstref, s2c: s2cstnul): void = let val (vbox pf | p) = ref_get_view_ptr (r) in p->cst := s2c end // end of [s2cstref_set_cstnul] implement s2cstref_make (name) = let val id = $SYM.symbol_make_string (name) val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim (pfgc) val () = (p->sym := id; p->cst := s2cstnul_none (null)) in ref_make_view_ptr (pfat | p) end // end of [s2cstref_make] end // end of [local] (* ****** ****** *) implement s2cstref_get_cst (r) = let // fn auxerr (id: symbol): s2cst = let val () = prerr_interror () val () = prerr ": s2cstref_get_cst: " val () = prerr "the pervasive static constant [" val () = $SYM.prerr_symbol (id) val () = prerr "] is not available." val () = prerr_newline (); in $ERR.abort {s2cst} () end (* end of [auxerr] *) // val s2c = s2cstref_get_cstnul (r) val isnul = s2cstnul_is_null (s2c) // in // if isnul then let val id = s2cstref_get_sym (r) val ans = the_s2expenv_pervasive_find (id) in // case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | S2ITMcst s2cs => let val-list_cons (s2c, _) = s2cs val () = s2cstref_set_cstnul (r, s2cstnul_some (s2c)) in s2c end // end of [S2ITMcst] | _ => auxerr (id) ) // end of [Some_vt] | ~None_vt () => auxerr (id) // end else s2cstnul_unsome (s2c) // end of [if] end // end of [s2cstref_get_cst] (* ****** ****** *) implement s2cstref_equ_cst (r, s2c) = eq_s2cst_s2cst (s2cstref_get_cst (r), s2c) // end of [s2cstref_equ_cst] implement s2cstref_equ_exp (r, s2e) = begin case+ s2e.s2exp_node of | S2Ecst s2c => s2cstref_equ_cst (r, s2c) | S2Eapp (s2e, _) => s2cstref_equ_exp (r, s2e) | _ => false end // end of [s2cstref_equ_exp] (* ****** ****** *) implement the_true_bool = s2cstref_make ("true_bool") implement the_false_bool = s2cstref_make ("false_bool") implement the_neg_bool = s2cstref_make "neg_bool" implement the_add_bool_bool = s2cstref_make "add_bool_bool" implement the_mul_bool_bool = s2cstref_make "mul_bool_bool" implement the_eq_bool_bool = s2cstref_make "eq_bool_bool" implement the_neq_bool_bool = s2cstref_make "neq_bool_bool" (* ****** ****** *) implement the_neg_int = s2cstref_make "neg_int" implement the_add_int_int = s2cstref_make "add_int_int" implement the_sub_int_int = s2cstref_make "sub_int_int" implement the_mul_int_int = s2cstref_make "mul_int_int" implement the_div_int_int = s2cstref_make "div_int_int" implement the_ndiv_int_int = s2cstref_make "ndiv_int_int" implement the_idiv_int_int = s2cstref_make "idiv_int_int" implement the_lt_int_int = s2cstref_make "lt_int_int" implement the_lte_int_int = s2cstref_make "lte_int_int" implement the_gt_int_int = s2cstref_make "gt_int_int" implement the_gte_int_int = s2cstref_make "gte_int_int" implement the_eq_int_int = s2cstref_make "eq_int_int" implement the_neq_int_int = s2cstref_make "neq_int_int" implement the_abs_int = s2cstref_make "abs_int" implement the_absrel_int_int = s2cstref_make "absrel_int_int" implement the_sgn_int = s2cstref_make "sgn_int" implement the_sgnrel_int_int = s2cstref_make "sgnrel_int_int" implement the_max_int_int = s2cstref_make "max_int_int" implement the_min_int_int = s2cstref_make "min_int_int" implement the_maxrel_int_int_int = s2cstref_make "maxrel_int_int_int" implement the_minrel_int_int_int = s2cstref_make "minrel_int_int_int" implement the_ndivrel_int_int_int = s2cstref_make "ndivrel_int_int_int" implement the_idivrel_int_int_int = s2cstref_make "idivrel_int_int_int" (* ****** ****** *) implement the_ifint_bool_int_int = s2cstref_make "ifint_bool_int_int" implement the_ifintrel_bool_int_int_int = s2cstref_make "ifintrel_bool_int_int_int" // (* // HX-2012-06-12: removed implement the_int_of_char = s2cstref_make "int_of_char" implement the_char_of_int = s2cstref_make "char_of_int" *) // implement the_int_of_addr = s2cstref_make "int_of_addr" implement the_addr_of_int = s2cstref_make "addr_of_int" (* ****** ****** *) implement the_null_addr = s2cstref_make "null_addr" implement the_lt_addr_addr = s2cstref_make "lt_addr_addr" implement the_lte_addr_addr = s2cstref_make "lte_addr_addr" implement the_gt_addr_addr = s2cstref_make "gt_addr_addr" implement the_gte_addr_addr = s2cstref_make "gte_addr_addr" implement the_eq_addr_addr = s2cstref_make "eq_addr_addr" implement the_neq_addr_addr = s2cstref_make "neq_addr_addr" implement the_add_addr_int = s2cstref_make "add_addr_int" implement the_sub_addr_int = s2cstref_make "sub_addr_int" implement the_sub_addr_addr = s2cstref_make "sub_addr_addr" (* ****** ****** *) implement the_lte_cls_cls = s2cstref_make "lte_cls_cls" implement the_gte_cls_cls = s2cstref_make "gte_cls_cls" implement the_lterel_cls_cls = s2cstref_make "lterel_cls_cls" implement the_gterel_cls_cls = s2cstref_make "gterel_cls_cls" (* ****** ****** *) implement s2exp_agtz (s2l) = let val s2c = s2cstref_get_cst (the_gt_addr_addr) val _0 = s2exp_int (0) // HX: 0 for null in s2exp_cstapp (s2c, list_pair (s2l, _0)) end // end of [s2exp_agtz] (* ****** ****** *) implement s2exp_bneg (s2p) = let val s2c = s2cstref_get_cst (the_neg_bool) in s2exp_cstapp (s2c, list_sing (s2p)) end // end of [s2exp_bneg] implement s2exp_badd (s2p1, s2p2) = let val s2c = s2cstref_get_cst (the_add_bool_bool) in s2exp_cstapp (s2c, list_pair (s2p1, s2p2)) end // end of [s2exp_badd] implement s2exp_bmul (s2p1, s2p2) = let val s2c = s2cstref_get_cst (the_mul_bool_bool) in s2exp_cstapp (s2c, list_pair (s2p1, s2p2)) end // end of [s2exp_bmul] (* ****** ****** *) implement s2exp_ineg (s2e) = let val s2c = s2cstref_get_cst (the_neg_int) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_ineg] (* ****** ****** *) implement s2exp_intlt (s2i1, s2i2) = let val s2c = s2cstref_get_cst (the_lt_int_int) in s2exp_cstapp (s2c, list_pair (s2i1, s2i2)) end // end of [s2exp_intlt] implement s2exp_intlte (s2i1, s2i2) = let val s2c = s2cstref_get_cst (the_lte_int_int) in s2exp_cstapp (s2c, list_pair (s2i1, s2i2)) end // end of [s2exp_intlte] implement s2exp_intgt (s2i1, s2i2) = let val s2c = s2cstref_get_cst (the_gt_int_int) in s2exp_cstapp (s2c, list_pair (s2i1, s2i2)) end // end of [s2exp_intgt] implement s2exp_intgte (s2i1, s2i2) = let val s2c = s2cstref_get_cst (the_gte_int_int) in s2exp_cstapp (s2c, list_pair (s2i1, s2i2)) end // end of [s2exp_intgte] implement s2exp_intneq (s2i1, s2i2) = let val s2c = s2cstref_get_cst (the_neq_int_int) in s2exp_cstapp (s2c, list_pair (s2i1, s2i2)) end // end of [s2exp_intneq] implement s2exp_igtez (s2i) = let val _0 = s2exp_int (0) in s2exp_intgte (s2i, _0) end // end of [s2exp_igtez] (* ****** ****** *) implement un_s2exp_intconst (s2i) = let in // case+ s2i.s2exp_node of // | S2Eint (x) => Some_vt (x) // | S2Eintinf (x) => Some_vt ($INTINF.intinf_get_int(x)) // | _(*noninteger*) => None_vt((*void*)) // end // end of [un_s2exp_intconst] (* ****** ****** *) implement the_atstkind_type = s2cstref_make "atstkind_type" implement the_atstkind_t0ype = s2cstref_make "atstkind_t0ype" (* ****** ****** *) (* implement the_bool_kind = s2cstref_make "bool_kind" *) implement s2exp_bool (b) = let val s2cref = ( if b then the_true_bool else the_false_bool ) : s2cstref // end of [val] in s2exp_cst (s2cstref_get_cst (s2cref)) end // end of [s2exp_bool] implement the_bool_t0ype = s2cstref_make "bool_t0ype" implement the_bool_bool_t0ype = s2cstref_make "bool_bool_t0ype" implement s2exp_bool_t0ype () = s2exp_cst (s2cstref_get_cst (the_bool_t0ype)) // end of [s2exp_bool_t0ype] implement s2exp_bool_bool_t0ype (b) = let val s2c = s2cstref_get_cst (the_bool_bool_t0ype) val ind = s2exp_bool (b) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_bool_bool_t0ype] (* ****** ****** *) implement s2exp_bool_index_t0ype (ind) = let val s2c = s2cstref_get_cst (the_bool_bool_t0ype) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_bool_index_t0ype] implement un_s2exp_bool_index_t0ype (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_bool_bool_t0ype, s2e_fun ) => let val-list_cons (s2b, _) = s2es_arg in Some_vt (s2b) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_bool_index_t0ype] (* ****** ****** *) implement the_int_kind = s2cstref_make "int_kind" implement the_uint_kind = s2cstref_make "uint_kind" // implement the_lint_kind = s2cstref_make "lint_kind" implement the_ulint_kind = s2cstref_make "ulint_kind" // implement the_llint_kind = s2cstref_make "llint_kind" implement the_ullint_kind = s2cstref_make "ullint_kind" // implement the_size_kind = s2cstref_make "size_kind" implement the_ssize_kind = s2cstref_make "ssize_kind" // implement the_g0int_t0ype = s2cstref_make "g0int_t0ype" implement the_g1int_int_t0ype = s2cstref_make "g1int_int_t0ype" implement the_g0uint_t0ype = s2cstref_make "g0uint_t0ype" implement the_g1uint_int_t0ype = s2cstref_make "g1uint_int_t0ype" local fun auxg0i (knd: s2cst): s2exp = let val knd = s2exp_cst (knd) val g0i = s2cstref_get_cst (the_g0int_t0ype) in s2exp_cstapp (g0i, list_sing (knd)) end // end of [auxg0i] fun auxg0u (knd: s2cst): s2exp = let val knd = s2exp_cst (knd) val g0u = s2cstref_get_cst (the_g0uint_t0ype) in s2exp_cstapp (g0u, list_sing (knd)) end // end of [auxg0u] fun auxg1i ( knd: s2cst, ind: s2exp ) : s2exp = let val knd = s2exp_cst (knd) val g1i = s2cstref_get_cst (the_g1int_int_t0ype) in s2exp_cstapp (g1i, list_pair (knd, ind)) end // end of [auxg1i] fun auxg1u ( knd: s2cst, ind: s2exp ) : s2exp = let val knd = s2exp_cst (knd) val g1u = s2cstref_get_cst (the_g1uint_int_t0ype) in s2exp_cstapp (g1u, list_pair (knd, ind)) end // end of [auxg1u] in // in of [local] implement s2exp_int_t0ype () = auxg0i (s2cstref_get_cst (the_int_kind)) // end of [s2exp_int_t0ype] implement s2exp_uint_t0ype () = auxg0u (s2cstref_get_cst (the_uint_kind)) // end of [s2exp_uint_t0ype] implement s2exp_lint_t0ype () = auxg0u (s2cstref_get_cst (the_lint_kind)) // end of [s2exp_lint_t0ype] implement s2exp_ulint_t0ype () = auxg0u (s2cstref_get_cst (the_ulint_kind)) // end of [s2exp_ulint_t0ype] implement s2exp_llint_t0ype () = auxg0u (s2cstref_get_cst (the_llint_kind)) // end of [s2exp_llint_t0ype] implement s2exp_ullint_t0ype () = auxg0u (s2cstref_get_cst (the_ullint_kind)) // end of [s2exp_ullint_t0ype] (* ****** ****** *) implement s2exp_int_int_t0ype (i) = let val knd = s2cstref_get_cst (the_int_kind) val ind = s2exp_int (i) in auxg1i (knd, ind) end // end of [s2exp_int_int_t0ype] implement s2exp_int_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_int_kind) val ind = s2exp_intinf (inf) in auxg1i (knd, ind) end // end of [s2exp_int_intinf_t0ype] (* ****** ****** *) implement s2exp_uint_int_t0ype (i) = let val knd = s2cstref_get_cst (the_uint_kind) val ind = s2exp_int (i) in auxg1u (knd, ind) end // end of [s2exp_uint_intinf_t0ype] implement s2exp_uint_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_uint_kind) val ind = s2exp_intinf (inf) in auxg1u (knd, ind) end // end of [s2exp_uint_intinf_t0ype] (* ****** ****** *) implement s2exp_lint_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_lint_kind) val ind = s2exp_intinf (inf) in auxg1i (knd, ind) end // end of [s2exp_lint_intinf_t0ype] implement s2exp_ulint_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_ulint_kind) val ind = s2exp_intinf (inf) in auxg1u (knd, ind) end // end of [s2exp_ulint_intinf_t0ype] implement s2exp_llint_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_llint_kind) val ind = s2exp_intinf (inf) in auxg1i (knd, ind) end // end of [s2exp_llint_intinf_t0ype] implement s2exp_ullint_intinf_t0ype (inf) = let val knd = s2cstref_get_cst (the_ullint_kind) val ind = s2exp_intinf (inf) in auxg1u (knd, ind) end // end of [s2exp_ullint_intinf_t0ype] end // end of [local] (* ****** ****** *) implement s2exp_g0int_kind_t0ype (knd) = let val g0i = s2cstref_get_cst (the_g0int_t0ype) in s2exp_cstapp (g0i, list_sing (knd)) end // end of [s2exp_g0int_kind_t0ype] implement s2exp_g1int_kind_index_t0ype (knd, ind) = let val g1i = s2cstref_get_cst (the_g1int_int_t0ype) in s2exp_cstapp (g1i, list_pair (knd, ind)) end // end of [s2exp_g1int_kind_index_t0ype] (* ****** ****** *) implement un_s2exp_g1int_index_t0ype (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_g1int_int_t0ype, s2e_fun ) => let val-list_cons (s2e1_knd, s2es_arg) = s2es_arg val-list_cons (s2e2_ind, s2es_arg) = s2es_arg in Some_vt (s2e2_ind) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_g1int_index_t0ype] (* ****** ****** *) implement s2exp_g0uint_kind_t0ype (knd) = let val g0u = s2cstref_get_cst (the_g0uint_t0ype) in s2exp_cstapp (g0u, list_sing (knd)) end // end of [s2exp_g0uint_kind_t0ype] implement s2exp_g1uint_kind_index_t0ype (knd, ind) = let val g1u = s2cstref_get_cst (the_g1uint_int_t0ype) in s2exp_cstapp (g1u, list_pair (knd, ind)) end // end of [s2exp_g1uint_kind_index_t0ype] (* ****** ****** *) implement un_s2exp_g1uint_index_t0ype (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_g1uint_int_t0ype, s2e_fun ) => let val-list_cons (s2e1_knd, s2es_arg) = s2es_arg val-list_cons (s2e2_ind, s2es_arg) = s2es_arg in Some_vt (s2e2_ind) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_g1uint_index_t0ype] (* ****** ****** *) implement un_s2exp_g1size_index_t0ype (s2f) = let val opt = un_s2exp_g1int_index_t0ype (s2f) in // case+ opt of | Some_vt _ => let prval () = fold@ (opt) in opt end // end of [Some_vt] | ~None_vt () => un_s2exp_g1uint_index_t0ype (s2f) // end of [None_vt] // end // end of [un_s2exp_g1size_index_t0ype] (* ****** ****** *) implement s2exp_int_index_t0ype (ind) = let val knd = s2cstref_get_cst (the_int_kind) in s2exp_g1int_kind_index_t0ype (s2exp_cst (knd), ind) end // end of [s2exp_int_index_t0ype] implement s2exp_uint_index_t0ype (ind) = let val knd = s2cstref_get_cst (the_int_kind) in s2exp_g1uint_kind_index_t0ype (s2exp_cst (knd), ind) end // end of [s2exp_uint_index_t0ype] (* ****** ****** *) implement the_char_t0ype = s2cstref_make "char_t0ype" implement the_char_int_t0ype = s2cstref_make "char_int_t0ype" implement s2exp_char_t0ype () = s2exp_cst (s2cstref_get_cst (the_char_t0ype)) // end of [s2exp_char_t0ype] implement s2exp_char_int_t0ype (c) = let val s2c = s2cstref_get_cst (the_char_int_t0ype) val ind = s2exp_int (c) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_char_int_t0ype] (* ****** ****** *) implement s2exp_char_index_t0ype (ind) = let val s2c = s2cstref_get_cst (the_char_int_t0ype) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_char_index_t0ype] implement un_s2exp_char_index_t0ype (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_char_int_t0ype, s2e_fun ) => let val-list_cons (s2e, _) = s2es_arg in Some_vt (s2e) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_char_index_t0ype] (* ****** ****** *) implement the_schar_t0ype = s2cstref_make "schar_t0ype" implement the_schar_int_t0ype = s2cstref_make "schar_int_t0ype" implement s2exp_schar_t0ype () = s2exp_cst (s2cstref_get_cst (the_schar_t0ype)) // end of [s2exp_schar_t0ype] implement s2exp_schar_int_t0ype (c) = let val s2c = s2cstref_get_cst (the_schar_int_t0ype) val ind = s2exp_int (c) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_schar_int_t0ype] implement the_uchar_t0ype = s2cstref_make "uchar_t0ype" implement the_uchar_int_t0ype = s2cstref_make "uchar_int_t0ype" implement s2exp_uchar_t0ype () = s2exp_cst (s2cstref_get_cst (the_uchar_t0ype)) // end of [s2exp_uchar_t0ype] implement s2exp_uchar_int_t0ype (c) = let val s2c = s2cstref_get_cst (the_uchar_int_t0ype) val ind = s2exp_int (c) in s2exp_cstapp (s2c, list_sing (ind)) end // end of [s2exp_uchar_int_t0ype] (* ****** ****** *) // implement the_float_kind = s2cstref_make "float_kind" implement the_double_kind = s2cstref_make "double_kind" implement the_ldouble_kind = s2cstref_make "ldouble_kind" // implement the_g0float_t0ype = s2cstref_make "g0float_t0ype" // local fun auxmain (knd: s2cst): s2exp = let val knd = s2exp_cst (knd) val g0f = s2cstref_get_cst (the_g0float_t0ype) in s2exp_cstapp (g0f, list_sing (knd)) end // end of [auxmain] in // in of [local] implement s2exp_float_t0ype () = auxmain (s2cstref_get_cst (the_float_kind)) // end of [s2exp_float_t0ype] implement s2exp_double_t0ype () = auxmain (s2cstref_get_cst (the_double_kind)) // end of [s2exp_double_t0ype] implement s2exp_ldouble_t0ype () = auxmain (s2cstref_get_cst (the_ldouble_kind)) // end of [s2exp_ldouble_t0ype] end // end of [local] (* ****** ****** *) implement the_string_type = s2cstref_make "string_type" implement the_string_int_type = s2cstref_make "string_int_type" implement s2exp_string_type () = s2exp_cst (s2cstref_get_cst (the_string_type)) // end of [s2exp_string_type] implement s2exp_string_int_type (n) = let // // HX: the cast is okay as we do not attempt // to handle string of extremely long length // val ind = s2exp_int ((int_of_size)n) val s2c = s2cstref_get_cst (the_string_int_type) in s2exp_cstapp (s2c, list_sing(ind)) end // end of [s2exp_string_type] implement s2exp_string_index_type (ind) = let val s2c = s2cstref_get_cst (the_string_int_type) in s2exp_cstapp (s2c, list_sing(ind)) end // end of [s2exp_string_index_type] (* ****** ****** *) implement the_literal_float = s2cstref_make "literal_float" implement the_literal_string = s2cstref_make "literal_string" implement s2exp_literal_float (rep) = let val ind = s2exp_float (rep) val s2c = s2cstref_get_cst (the_literal_float) in s2exp_cstapp (s2c, list_sing(ind)) end // end of [s2exp_literal_float] implement s2exp_literal_string (str) = let val ind = s2exp_string (str) val s2c = s2cstref_get_cst (the_literal_string) in s2exp_cstapp (s2c, list_sing(ind)) end // end of [s2exp_literal_string] (* ****** ****** *) implement the_ptr_type = s2cstref_make "ptr_type" implement s2exp_ptr_type () = s2exp_cst (s2cstref_get_cst (the_ptr_type)) // end of [s2exp_ptr_type] (* ****** ****** *) implement the_ptr_addr_type = s2cstref_make "ptr_addr_type" implement s2exp_ptr_addr_type (s2l) = let val s2c = s2cstref_get_cst (the_ptr_addr_type) in s2exp_cstapp (s2c, list_sing (s2l)) end // end of [s2exp_ptr_addr_type] implement un_s2exp_ptr_addr_type (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_ptr_addr_type, s2e_fun ) => let val-list_cons (s2l, _) = s2es_arg in Some_vt (s2l) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_ptr_addr_type] (* ****** ****** *) implement the_atsvoid_t0ype = s2cstref_make "atsvoid_t0ype" implement s2exp_void_t0ype () = s2exp_cst (s2cstref_get_cst (the_atsvoid_t0ype)) // end of [s2exp_void_t0ype] (* ****** ****** *) implement the_unit_prop = s2cstref_make "unit_p" implement s2exp_unit_prop () = s2exp_cst (s2cstref_get_cst (the_unit_prop)) // end of [s2exp_unit_prop] implement the_unit_view = s2cstref_make "unit_v" implement s2exp_unit_view () = s2exp_cst (s2cstref_get_cst (the_unit_view)) // end of [s2exp_unit_view] (* ****** ****** *) implement the_exception_vtype = s2cstref_make "exception_vtype" implement s2exp_exception_vtype () = s2exp_cst (s2cstref_get_cst (the_exception_vtype)) // end of [s2exp_exception_vtype] (* ****** ****** *) implement the_arrpsz_vt0ype_int_vt0ype = s2cstref_make "arrpsz_vt0ype_int_vt0ype" implement s2exp_arrpsz_vt0ype_int_vt0ype (s2e, s2i) = let val ind = s2exp_int (s2i) val s2c = s2cstref_get_cst (the_arrpsz_vt0ype_int_vt0ype) in s2exp_cstapp (s2c, list_pair (s2e, ind)) end // end of [s2exp_list_vt0ype_int_vtype] (* ****** ****** *) (* implement the_list0_t0ype_type = s2cstref_make "list0_t0ype_type" implement s2exp_list0_t0ype_type (s2e) = let val s2c = s2cstref_get_cst (the_list0_t0ype_type) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_list0_t0ype_type] *) (* ****** ****** *) implement the_list_t0ype_int_type = s2cstref_make "list_t0ype_int_type" implement s2exp_list_t0ype_int_type (s2e, s2i) = let val ind = s2exp_int (s2i) val s2c = s2cstref_get_cst (the_list_t0ype_int_type) in s2exp_cstapp (s2c, list_pair (s2e, ind)) end // end of [s2exp_list_t0ype_int_type] implement the_list_vt0ype_int_vtype = s2cstref_make "list_vt0ype_int_vtype" implement s2exp_list_vt0ype_int_vtype (s2e, s2i) = let val ind = s2exp_int (s2i) val s2c = s2cstref_get_cst (the_list_vt0ype_int_vtype) in s2exp_cstapp (s2c, list_pair (s2e, ind)) end // end of [s2exp_list_vt0ype_int_vtype] (* ****** ****** *) implement the_vbox_view_prop = s2cstref_make "vbox_view_prop" implement s2exp_vbox_view_prop (s2e) = let val s2c = s2cstref_get_cst (the_vbox_view_prop) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_vbox_view_prop] implement un_s2exp_vbox_view_prop (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_vbox_view_prop, s2e_fun ) => let val-list_cons (s2e, _) = s2es_arg in Some_vt (s2e) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_vbox_view_prop] (* ****** ****** *) implement the_ref_vt0ype_type = s2cstref_make "ref_vt0ype_type" implement s2exp_ref_vt0ype_type (s2e) = let val s2c = s2cstref_get_cst (the_ref_vt0ype_type) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_ref_vt0ype_type] implement un_s2exp_ref_vt0ype_type (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_ref_vt0ype_type, s2e_fun ) => let val-list_cons (s2e, _) = s2es_arg in Some_vt (s2e) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_ref_vt0ype_type] (* ****** ****** *) implement the_lazy_t0ype_type = s2cstref_make "lazy_t0ype_type" implement s2exp_lazy_t0ype_type (s2e) = let val s2c = s2cstref_get_cst (the_lazy_t0ype_type) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_lazy_t0ype_type] implement un_s2exp_lazy_t0ype_type (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_lazy_t0ype_type, s2e_fun ) => let val-list_cons (s2e, _) = s2es_arg in Some_vt (s2e) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_lazy_t0ype_type] (* ****** ****** *) implement the_lazy_vt0ype_vtype = s2cstref_make "lazy_vt0ype_vtype" implement s2exp_lazy_vt0ype_vtype (s2e) = let val s2c = s2cstref_get_cst (the_lazy_vt0ype_vtype) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_lazy_vt0ype_vtype] implement un_s2exp_lazy_vt0ype_vtype (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of | S2Eapp (s2e_fun, s2es_arg) when s2cstref_equ_exp ( the_lazy_vt0ype_vtype, s2e_fun ) => let val-list_cons (s2e, _) = s2es_arg in Some_vt (s2e) end // end of [S2Eapp when ...] | _ => None_vt () // end // end of [un_s2exp_lazy_vt0ype_vtype] (* ****** ****** *) implement the_bottom_t0ype_uni = s2cstref_make "bottom_t0ype_uni" implement s2exp_bottom_t0ype_uni () = s2exp_cst (s2cstref_get_cst (the_bottom_t0ype_uni)) // end of [s2exp_bottom_t0ype_uni] implement the_bottom_t0ype_exi = s2cstref_make "bottom_t0ype_exi" implement s2exp_bottom_t0ype_exi () = s2exp_cst (s2cstref_get_cst (the_bottom_t0ype_exi)) // end of [s2exp_bottom_t0ype_exi] (* ****** ****** *) implement the_bottom_vt0ype_uni = s2cstref_make "bottom_vt0ype_uni" implement s2exp_bottom_vt0ype_uni () = s2exp_cst (s2cstref_get_cst (the_bottom_vt0ype_uni)) // end of [s2exp_bottom_vt0ype_uni] implement the_bottom_vt0ype_exi = s2cstref_make "bottom_vt0ype_exi" implement s2exp_bottom_vt0ype_exi () = s2exp_cst (s2cstref_get_cst (the_bottom_vt0ype_exi)) // end of [s2exp_bottom_vt0ype_exi] (* ****** ****** *) implement the_vcopyenv_view_view = s2cstref_make "vcopyenv_view_view" implement s2exp_vcopyenv_v (s2e) = let val s2c = s2cstref_get_cst (the_vcopyenv_view_view) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_vcopyenv_v] (* ****** ****** *) implement the_vcopyenv_vt0ype_vt0ype = s2cstref_make "vcopyenv_vt0ype_vt0ype" implement s2exp_vcopyenv_vt (s2e) = let val s2c = s2cstref_get_cst (the_vcopyenv_vt0ype_vt0ype) in s2exp_cstapp (s2c, list_sing (s2e)) end // end of [s2exp_vcopyenv_vt] (* ****** ****** *) implement the_effnil = s2cstref_make "effnil" implement the_effall = s2cstref_make "effall" implement the_effntm = s2cstref_make "effntm" implement the_effexn = s2cstref_make "effexn" implement the_effref = s2cstref_make "effref" implement the_effwrt = s2cstref_make "effwrt" (* ****** ****** *) implement s2eff_hnfize (s2fe) = let // fun aux .<>. ( s2fe: s2eff, s2e: s2exp ) : s2eff = let val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of // | S2Ecst (s2c) => ( case+ 0 of | _ when s2cstref_equ_cst (the_effnil, s2c) => s2eff_effset (effset_nil) | _ when s2cstref_equ_cst (the_effall, s2c) => s2eff_effset (effset_all) | _ when s2cstref_equ_cst (the_effntm, s2c) => s2eff_effset (effset_ntm) | _ when s2cstref_equ_cst (the_effexn, s2c) => s2eff_effset (effset_exn) | _ when s2cstref_equ_cst (the_effref, s2c) => s2eff_effset (effset_ref) | _ when s2cstref_equ_cst (the_effwrt, s2c) => s2eff_effset (effset_wrt) | _ => s2fe ) // end of [S2Ecst] | S2Evar (s2v) => s2fe | S2EVar (s2v) => s2fe | S2Eeff (s2fe) => s2fe | _ => let val s2e = s2exp_err (s2rt_eff) in s2eff_exp (s2e) end // end of [_] // end (* end of [aux] *) // in // case+ s2fe of | S2EFFset _ => s2fe | S2EFFexp (s2e) => aux (s2fe, s2e) | S2EFFadd _ => s2fe // end // end of [s2eff_make_s2exp] (* ****** ****** *) extern fun sizeof_t0ype_int_assume (): void extern fun at_vt0ype_addr_view_assume (): void extern fun invar_assume (s2cr: s2cstref, s2t: s2rt): void extern fun invar_prop_prop_assume (): void extern fun invar_view_view_assume (): void extern fun invar_t0ype_t0ype_assume (): void extern fun invar_vt0ype_vt0ype_assume (): void implement stacst2_initialize () = () where { // val () = sizeof_t0ype_int_assume () // sizeof(VT) // val () = at_vt0ype_addr_view_assume () // VT @ L // val () = invar_assume (the_invar_prop_prop, s2rt_prop) val () = invar_assume (the_invar_view_view, s2rt_view) val () = invar_assume (the_invar_t0ype_t0ype, s2rt_t0ype) val () = invar_assume (the_invar_vt0ype_vt0ype, s2rt_vt0ype) // } // end of [stacst2_initialize] (* ****** ****** *) implement the_at_vt0ype_addr_view = s2cstref_make "at_vt0ype_addr_view" // in prelude/basics_pre.sats // end of [the_at_vt0ype_addr_view] implement at_vt0ype_addr_view_assume () = let val s2c = s2cstref_get_cst (the_at_vt0ype_addr_view) val s2t_def = s2cst_get_srt (s2c) val s2v1 = s2var_make_srt s2rt_vt0ype and s2v2 = s2var_make_srt s2rt_addr val arg1 = s2exp_var (s2v1) val arg2 = s2exp_var (s2v2) val s2f_body = s2exp_at (arg1, arg2) val s2e_def = s2exp_lam_srt (s2t_def, '[s2v1, s2v2], s2f_body) in s2cst_set_def (s2c, Some s2e_def) end // end of [at_vt0ype_addr_view_assume] (* ****** ****** *) implement the_sizeof_t0ype_int = s2cstref_make "sizeof_t0ype_int" // in prelude/basics_pre.sats // end of [the_sizeof_t0ype_int] implement sizeof_t0ype_int_assume () = let val s2c = s2cstref_get_cst (the_sizeof_t0ype_int) val s2t_def = s2cst_get_srt s2c val s2v = s2var_make_srt s2rt_t0ype val arg = s2exp_var (s2v) val s2e_body = s2exp_sizeof (arg) val s2e_def = s2exp_lam_srt (s2t_def, '[s2v], s2e_body) in s2cst_set_def (s2c, Some s2e_def) end // end of [sizeof_t0ype_int_assume] (* ****** ****** *) // // HX: // declared in [basic_pre.sats] // implement the_invar_prop_prop = s2cstref_make "invar_prop_prop" implement the_invar_view_view = s2cstref_make "invar_view_view" implement the_invar_t0ype_t0ype = s2cstref_make "invar_t0ype_t0ype" implement the_invar_vt0ype_vt0ype = s2cstref_make "invar_vt0ype_vt0ype" // (* ****** ****** *) implement invar_assume (s2cr, s2t) = let // val s2c = s2cstref_get_cst (s2cr) val s2t_def = s2cst_get_srt (s2c) val s2v = s2var_make_srt (s2t) val arg = s2exp_var (s2v) val s2e_body = s2exp_invar (arg) val s2e_def = s2exp_lam_srt (s2t_def, '[s2v], s2e_body) // in s2cst_set_def (s2c, Some s2e_def) end // end of [invar_assume] (* ****** ****** *) // // HX-2013-09: for internal use // implement the_atstype_int = s2cstref_make "atstype_int" implement the_atstype_bool = s2cstref_make "atstype_bool" implement the_atstype_uint = s2cstref_make "atstype_uint" implement the_atstype_size = s2cstref_make "atstype_size" implement the_atstype_ssize = s2cstref_make "atstype_ssize" // (* ****** ****** *) (* end of [pats_stacst2.dats] *) ATS2-Postiats-0.2.6/./src/pats_syntax.sats0000664000175000017500000014647012655455557017012 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload LOC = "./pats_location.sats" typedef location = $LOC.location // staload LEX = "./pats_lexing.sats" typedef token = $LEX.token typedef tokenopt = Option (token) // staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolist = $SYM.symbolist typedef symbolopt = $SYM.symbolopt // (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label staload FIX = "./pats_fixity.sats" typedef assoc = $FIX.assoc staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename (* ****** ****** *) // abstype synent // a boxed union // castfn synent_encode {a:type} (x: a): synent castfn synent_decode {a:type} (x: synent): (a) // fun synent_null {a:type} (): a // = null fun synent_is_null {a:type} (x: a):<> bool fun synent_isnot_null {a:type} (x: a):<> bool // (* ****** ****** *) datatype srpifkind = | SRPIFKINDif | SRPIFKINDifdef | SRPIFKINDifndef // end of [srpifkind] (* ****** ****** *) // datatype macsynkind = | MSKencode of () | MSKdecode of () // HX: cross-stage persistence: | MSKxstage of () // = decode(lift(.)) // end of [macsynkind] // fun print_macsynkind (x: macsynkind): void fun prerr_macsynkind (x: macsynkind): void fun fprint_macsynkind : fprint_type (macsynkind) // (* ****** ****** *) (* datatype lamkind = | LAMKINDlam of location | LAMKINDlamat of location | LAMKINDllam of location | LAMKINDllamat of location | LAMKINDfix of location | LAMKINDfixat of location | LAMKINDifix of (location) // HX: implicit FIX *) #define LAMKINDifix (~1) fun lamkind_isbox (knd: int): int fun lamkind_islin (knd: int): int (* ****** ****** *) datatype cstsp = // special constants | CSTSPmyfil (* the filename where $myfile appears *) | CSTSPmyloc (* the location where $mylocation appears *) | CSTSPmyfun (* the function name where $myfunction appears *) (* | CSTSPmylinecnt of (int) | CSTSPmycharcnt of (lint) *) // end of [cstsp] fun fprint_cstsp : fprint_type (cstsp) (* ****** ****** *) typedef i0nt = token typedef i0ntopt = Option (i0nt) typedef c0har = token typedef f0loat = token typedef s0tring = token typedef s0tringopt = Option (s0tring) (* ****** ****** *) fun i0nt2int (x: i0nt): int (* ****** ****** *) fun fprint_i0nt : fprint_type (i0nt) fun fprint_c0har : fprint_type (c0har) fun fprint_f0loat : fprint_type (f0loat) fun fprint_s0tring : fprint_type (s0tring) (* ****** ****** *) typedef i0de = '{ i0de_loc= location, i0de_sym= symbol } (* end of [i0de] *) typedef i0delst = List (i0de) typedef i0deopt = Option (i0de) fun i0de_make_sym (loc: location, sym: symbol): i0de fun i0de_make_string (loc: location, name: string): i0de fun i0de_make_lrbrackets (t_beg: token, t_end: token): i0de fun print_i0de (x: i0de): void fun prerr_i0de (x: i0de): void fun fprint_i0de : fprint_type (i0de) (* ****** ****** *) datatype e0fftag_node = | E0FFTAGint of int // [0/1] | E0FFTAGcst of (int(*neg*), string) // [0/1]: pos/neg | E0FFTAGvar of i0de | E0FFTAGprf | E0FFTAGlin of int(*non/lin*) | E0FFTAGfun of ( int(*non/lin*), int(*nil/all*) ) // E0FFTAGfun | E0FFTAGclo of ( int(*non/lin*), int(*1/~1:ptr/ref*), int(*nil/all*) ) // E0FFTAGclo // end of [e0fftag_node] typedef e0fftag = '{ e0fftag_loc= location, e0fftag_node= e0fftag_node } // end of [e0fftag] typedef e0fftaglst = List e0fftag typedef e0fftaglstopt = Option e0fftaglst fun e0fftag_i0de (_: i0de): e0fftag fun e0fftag_i0nt (_: i0nt): e0fftag fun e0fftag_cst (i: int, _: i0de): e0fftag fun e0fftag_var_fun (t_fun: token): e0fftag (* ****** ****** *) datatype s0rtq_node = | S0RTQnone | S0RTQsymdot of symbol (* fileid *) /* | S0RTQfiledot of string (* filename *) */ // end of [s0rtq_node] typedef s0rtq = '{ s0rtq_loc= location, s0rtq_node= s0rtq_node } // end of [s0rtq] fun s0rtq_none (loc: location): s0rtq fun s0rtq_symdot (ent1: i0de, tok2: token): s0rtq fun print_s0rtq (x: s0rtq): void fun prerr_s0rtq (x: s0rtq): void fun fprint_s0rtq : fprint_type (s0rtq) (* ****** ****** *) datatype s0taq_node = | S0TAQnone | S0TAQsymdot of symbol | S0TAQsymcolon of symbol (* | S0TAQfildot of string (* filename *) *) // end of [s0taq_node] typedef s0taq = '{ s0taq_loc= location, s0taq_node= s0taq_node } val the_s0taq_none : s0taq fun s0taq_none (loc: location): s0taq fun s0taq_symdot (ent1: i0de, tok2: token): s0taq fun s0taq_symcolon (ent1: i0de, tok2: token): s0taq fun s0taq_is_none (q: s0taq): bool fun print_s0taq (x: s0taq): void fun prerr_s0taq (x: s0taq): void fun fprint_s0taq : fprint_type (s0taq) (* ****** ****** *) typedef sqi0de = '{ sqi0de_loc= location , sqi0de_qua= s0taq, sqi0de_sym= symbol } // end of [sqi0de] fun sqi0de_make_none (ent: i0de): sqi0de fun sqi0de_make_some (ent1: s0taq, ent2: i0de): sqi0de fun fprint_sqi0de : fprint_type (sqi0de) (* ****** ****** *) datatype d0ynq_node = | D0YNQnone of () | D0YNQsymdot of symbol | D0YNQsymcolon of symbol | D0YNQsymdotcolon of (symbol, symbol) (* | D0YNQfildot of string (* filename *) | D0YNQfildot_symcolon of (string (* filename *), symbol) *) // end of [d0ynq_node] (* ****** ****** *) typedef d0ynq = '{ d0ynq_loc= location, d0ynq_node= d0ynq_node } (* end of [d0ynq] *) (* ****** ****** *) // val the_d0ynq_none : d0ynq fun d0ynq_none(loc: location): d0ynq // fun d0ynq_symdot (ent1: i0de, tok2: token): d0ynq fun d0ynq_symcolon (ent1: i0de, tok2: token): d0ynq fun d0ynq_symdotcolon (ent1: i0de, ent2: i0de, ent3: token): d0ynq // fun d0ynq_is_none (q: d0ynq): bool // (* ****** ****** *) fun print_d0ynq (x: d0ynq): void fun prerr_d0ynq (x: d0ynq): void fun fprint_d0ynq : fprint_type (d0ynq) (* ****** ****** *) typedef dqi0de = '{ dqi0de_loc= location , dqi0de_qua= d0ynq, dqi0de_sym= symbol } // end of [dqi0de] fun dqi0de_make_none (ent: i0de): dqi0de fun dqi0de_make_some (ent1: d0ynq, ent2: i0de): dqi0de fun print_dqi0de (x: dqi0de): void fun prerr_dqi0de (x: dqi0de): void fun fprint_dqi0de : fprint_type (dqi0de) (* ****** ****** *) datatype p0rec = | P0RECint of int | P0RECi0de of i0de | P0RECi0de_adj of (i0de, i0de(*opr*), int) // end of [p0rec] fun p0rec_emp (): p0rec fun p0rec_i0de (x: i0de): p0rec fun p0rec_i0de_adj (ide: i0de, opr: i0de, int: i0nt): p0rec fun p0rec_i0nt (x: i0nt): p0rec fun fprint_p0rec : fprint_type (p0rec) (* ****** ****** *) datatype f0xty = | F0XTYinf of (p0rec, assoc) // infix | F0XTYpre of p0rec // prefix | F0XTYpos of p0rec // postfix // end of [f0xty] fun fprint_f0xty : fprint_type (f0xty) (* ****** ****** *) // datatype e0xpactkind = | E0XPACTerror of () | E0XPACTprerr of () | E0XPACTprint of () | E0XPACTassert of () // fun fprint_e0xpactkind : fprint_type(e0xpactkind) // (* ****** ****** *) datatype e0xp_node = | E0XPide of symbol | E0XPint of i0nt // [i0nt] is processed later | E0XPchar of c0har | E0XPfloat of f0loat | E0XPstring of s0tring | E0XPstringid of string // | E0XPapp of (e0xp, e0xp) | E0XPfun of (symbolist, e0xp) // | E0XPeval of e0xp | E0XPlist of e0xplst // | E0XPif of (e0xp, e0xp, e0xpopt) // // end of [e0xp_node] where e0xp = '{ e0xp_loc= location, e0xp_node= e0xp_node } // end of [e0xp] and e0xplst = List (e0xp) and e0xpopt = Option (e0xp) fun e0xp_i0nt (_: i0nt): e0xp fun e0xp_c0har (_: c0har): e0xp fun e0xp_f0loat (_: f0loat): e0xp fun e0xp_s0tring (_: token): e0xp // fun e0xp_i0de (_: i0de): e0xp fun e0xp_list (_1: token, _2: e0xplst, _3: token): e0xp fun e0xp_app (_1: e0xp, _2: e0xp): e0xp fun e0xp_eval (_1: token, _2: e0xp, _3: token): e0xp // fun e0xp_if ( t_if: token, _cond: e0xp, _then: e0xp, _else: e0xpopt ) : e0xp // end of [e0xp_if] // fun e0xp_make_stringid (loc: location, id: string): e0xp // fun fprint_e0xp : fprint_type (e0xp) fun fprint_e0xplst : fprint_type (e0xplst) (* ****** ****** *) datatype datsdef = DATSDEF of (symbol, e0xpopt) fun datsdef_make (id: i0de, opt: e0xpopt): datsdef (* ****** ****** *) typedef l0ab = '{ l0ab_loc= location, l0ab_lab= label } // end of [l0ab] fun l0ab_make_label (loc: location, l: label): l0ab fun l0ab_make_i0de (x: i0de): l0ab fun l0ab_make_i0nt (x: i0nt): l0ab fun fprint_l0ab : fprint_type (l0ab) (* ****** ****** *) fun i0de_make_dotlab (t_dot: token, l0: l0ab): i0de (* ****** ****** *) datatype sl0abeled (a:type) = SL0ABELED (a) of (l0ab, s0tringopt, a) // end of [sl0abeled] datatype dl0abeled (a:type) = DL0ABELED (a) of (l0ab, a) // end of [dl0abeled] (* ****** ****** *) datatype s0rt_node = | S0RTide of symbol (* sort identifier *) | S0RTqid of (s0rtq, symbol) (* qualified sort identifier *) | S0RTapp of (s0rt (*fun*), s0rt (*arg*)) // HX: unsupported | S0RTlist of s0rtlst (* for temporary use *) | S0RTtype of int (* prop/view/type/t0ype/viewtype/viewt0ype *) // end of [s0rt_node] where s0rt: type = '{ s0rt_loc= location, s0rt_node= s0rt_node } // end of [s0rt] and s0rtlst: type = List s0rt and s0rtopt: type = Option s0rt and s0rtopt_vt: viewtype = Option_vt s0rt (* sorts with polarity *) typedef s0rtpol = '{ s0rtpol_loc= location, s0rtpol_srt= s0rt, s0rtpol_pol= int } // end of [s0rtpol] fun s0rt_i0de (_: i0de): s0rt fun s0rt_qid (sq: s0rtq, id: i0de): s0rt fun s0rt_app (_1: s0rt, _2: s0rt): s0rt fun s0rt_list (t_beg: token, xs: s0rtlst, t_end: token): s0rt // end of [s0rt_list] fun s0rt_type (tok: token): s0rt // tok = T_TYPE (knd) fun fprint_s0rt : fprint_type (s0rt) (* ****** ****** *) typedef d0atsrtcon = '{ d0atsrtcon_loc= location , d0atsrtcon_sym= symbol , d0atsrtcon_arg= s0rtopt } // end of [d0atsrtcon] typedef d0atsrtconlst = List d0atsrtcon fun d0atsrtcon_make (id: i0de, arg: s0rtopt): d0atsrtcon typedef d0atsrtdec = '{ d0atsrtdec_loc= location , d0atsrtdec_sym= symbol , d0atsrtdec_con= d0atsrtconlst } // end of [d0atsrtdec] typedef d0atsrtdeclst = List d0atsrtdec fun d0atsrtdec_make (id: i0de, t_eq: token, xs: d0atsrtconlst): d0atsrtdec // end of [d0atsrtdec_make] fun fprint_d0atsrtdec : fprint_type (d0atsrtdec) (* ****** ****** *) typedef s0arg = '{ s0arg_loc= location , s0arg_sym= symbol, s0arg_srt= s0rtopt } // end of [s0arg] typedef s0arglst = List s0arg typedef s0arglstlst = List (s0arglst) fun s0arg_make (id: i0de, _: s0rtopt): s0arg typedef s0marg = '{ s0marg_loc= location, s0marg_arg= s0arglst } // end of [s0marg] typedef s0marglst = List (s0marg) viewtypedef s0marglst_vt = List_vt (s0marg) fun s0marg_make_one (x: s0arg) : s0marg fun s0marg_make_many ( t_beg: token, xs: s0arglst, t_end: token ) : s0marg // end of [s0marg_make_many] (* ****** ****** *) typedef a0srt = '{ a0srt_loc= location , a0srt_sym= symbolopt , a0srt_srt= s0rt } // end of [a0srt] typedef a0srtlst = List (a0srt) fun a0srt_make_none (_: s0rt): a0srt fun a0srt_make_some (id: i0de, _: s0rt): a0srt typedef a0msrt = '{ a0msrt_loc= location, a0msrt_arg= a0srtlst } // end of [a0msrt] typedef a0msrtlst = List (a0msrt) viewtypedef a0msrtlst_vt = List_vt (a0msrt) fun a0msrt_make ( t_beg: token, xs: a0srtlst, t_end: token ) : a0msrt // end of [a0msrt_make] (* ****** ****** *) datatype sp0at_node = | SP0Tcstr of (sqi0de, s0arglst) // end of [sp0at_node] where sp0at: type = '{ sp0at_loc= location, sp0at_node= sp0at_node } // end of [sp0at] fun sp0at_cstr (qid: sqi0de, xs: s0arglst, t_end: token): sp0at // end of [sp0at_cstr] (* ****** ****** *) // // HX-2015-08: // for placeholding // abstype S0Ed2ctype_type = ptr typedef S0Ed2ctype = S0Ed2ctype_type // (* ****** ****** *) datatype s0exp_node = // | S0Eide of symbol | S0Esqid of (s0taq, symbol) // qualified | S0Eopid of symbol // = OP i0de // | S0Eint of i0nt | S0Echar of c0har | S0Efloat of f0loat | S0Estring of s0tring // | S0Eextype of (string(*name*), s0explst(*arg*)) | S0Eextkind of (string(*name*), s0explst(*arg*)) // | S0Eapp of (s0exp, s0exp) | S0Elam of (s0marg, s0rtopt, s0exp) // | S0Eimp of e0fftaglst // decorated implication // | S0Elist of s0explst | S0Elist2 of (s0explst(*prop/view*), s0explst(*type/vtype*)) // end of [S0Elist2] // | S0Etyarr of (s0exp (*element*), s0explst (*dimension*)) // end of [S0Etyarr] | S0Etytup of (int (*knd*), int (*npf*), s0explst) | S0Etyrec of (int (*knd*), int (*npf*), labs0explst) | S0Etyrec_ext of (string(*name*), int (*npf*), labs0explst) // | S0Euni of s0qualst // universal quantifiers | S0Eexi of (int(*funres*), s0qualst) // existential quantifiers // end of [S2Eexi] // | S0Eann of (s0exp, s0rt(*ann*)) // sort-ascribed staexps // | S0Ed2ctype of (S0Ed2ctype(*d0exp*)) // $d2ctype(d2c/tmpcst) // end of [s0exp_node] and s0rtext_node = | S0TEsrt of s0rt | S0TEsub of (i0de, s0rtext, s0exp, s0explst) // end of [s0rtext_node] and s0qua_node = | S0QUAprop of s0exp (* e.g., n >= i+j *) | S0QUAvars of (i0de, i0delst, s0rtext) (* e.g., a1,a2: type *) // end of [s0qua_node] where s0exp = '{ s0exp_loc= location, s0exp_node= s0exp_node } (* end of [s0exp] *) and s0explst = List (s0exp) and s0explst_vt = List_vt (s0exp) and s0expopt = Option (s0exp) and s0expopt_vt = Option_vt (s0exp) and s0explstlst = List (s0explst) and s0explstopt = Option (s0explst) and labs0exp = sl0abeled s0exp and labs0explst = List labs0exp and s0arrdim = '{ s0arrdim_loc= location, s0arrdim_dim= s0explst } and s0rtext = '{ (* extended sorts *) s0rtext_loc= location, s0rtext_node= s0rtext_node } and s0qua = '{ s0qua_loc= location, s0qua_node= s0qua_node } and s0qualst = List (s0qua) and s0qualst_vt = List_vt (s0qua) and s0qualstlst = List (s0qualst) and s0qualstopt = Option (s0qualst) datatype witht0ype = | WITHT0YPEsome of (int(*knd*), s0exp) | WITHT0YPEnone of () // end of [witht0ype] (* ****** ****** *) fun s0arrdim_make (t_beg: token, ind: s0explst, t_end: token): s0arrdim // end of [s0arrdim_make] fun s0rtext_srt (_: s0rt): s0rtext fun s0rtext_sub ( t_beg: token, id: i0de, _: s0rtext, _fst: s0exp, _rst: s0explst, t_end: token ) : s0rtext // end of [s0rtext_sub] fun fprint_s0rtext : fprint_type (s0rtext) fun s0qua_prop (_: s0exp): s0qua fun s0qua_vars (_fst: i0de, _rst: i0delst, _: s0rtext): s0qua fun fprint_s0qua : fprint_type (s0qua) fun fprint_s0qualst : fprint_type (s0qualst) (* ****** ****** *) fun s0exp_i0de (_: i0de): s0exp fun s0exp_sqid (sq: s0taq, id: i0de): s0exp fun s0exp_opid (_1: token, _2: i0de): s0exp (* ****** ****** *) // fun s0exp_i0nt (_: i0nt): s0exp fun s0exp_c0har (_: c0har): s0exp // fun s0exp_f0loat (_: f0loat): s0exp fun s0exp_s0tring (_: s0tring): s0exp // (* ****** ****** *) fun s0exp_app (_1: s0exp, _2: s0exp): s0exp (* ****** ****** *) fun s0exp_imp ( t_beg: token, _: e0fftaglst, t_end: token ) : s0exp // end of [s0exp_imp] fun s0exp_imp_nil (tok: token): s0exp (* ****** ****** *) fun s0exp_tkname (str: token): s0exp (* ****** ****** *) fun s0exp_extype (_1: token, _2: token, xs: s0explst): s0exp fun s0exp_extkind (_1: token, _2: token, xs: s0explst): s0exp (* ****** ****** *) fun s0exp_lams ( _1: token, _2: s0marglst, _3: s0rtopt, _4: s0exp ) : s0exp // end of [s0exp_lam] (* ****** ****** *) fun s0exp_list ( t_beg: token, xs: s0explst, t_end: token ) : s0exp // end of [s0exp_list] fun s0exp_list2 ( t_beg: token, xs1: s0explst, xs2: s0explst, t_end: token ) : s0exp // end of [s0exp_list2] (* ****** ****** *) fun s0exp_tyarr (t_beg: token, elt: s0exp, ind: s0arrdim): s0exp // end of [s0exp_tyarr] (* ****** ****** *) fun s0exp_tytup ( knd: int , t_beg: token, npf: int, ent2: s0explst, t_end: token ) : s0exp // end of [s0exp_tytup] (* ****** ****** *) fun s0exp_tyrec ( knd: int , t_beg: token, npf: int, ent2: labs0explst, t_end: token ) : s0exp // end of [s0exp_tyrec] fun s0exp_tyrec_ext ( name: string , t_beg: token, npf: int, ent2: labs0explst, t_end: token ) : s0exp // end of [s0exp_tyrec_ext] (* ****** ****** *) fun s0exp_uni ( t_beg: token, xs: s0qualst, t_end: token ) : s0exp // end of [s0exp_uni] fun s0exp_exi ( funres: int, t_beg: token, xs: s0qualst, t_end: token ) : s0exp // end of [s0exp_uni] (* ****** ****** *) fun s0exp_ann (s0e: s0exp, s0t: s0rt): s0exp (* ****** ****** *) // fun s0exp_d2ctype (t_beg: token, d2ctp: S0Ed2ctype, t_end: token): s0exp // (* ****** ****** *) fun fprint_s0exp : fprint_type (s0exp) fun fprint_s0explst : fprint_type (s0explst) fun fprint_s0expopt : fprint_type (s0expopt) (* ****** ****** *) fun labs0exp_make (lab: l0ab, name: s0tringopt, s0e: s0exp): labs0exp // end of [labs0exp_make] fun fprint_labs0exp : fprint_type (labs0exp) (* ****** ****** *) typedef q0marg = '{ q0marg_loc= location, q0marg_arg= s0qualst } // end of [q0marg] typedef q0marglst = List (q0marg) fun q0marg_make (t_beg: token, xs: s0qualst, t_end: token): q0marg // end of [q0marg] fun fprint_q0marg : fprint_type (q0marg) fun fprint_q0marglst : fprint_type (q0marglst) (* ****** ****** *) typedef a0typ = '{ a0typ_loc= location , a0typ_sym= symbolopt , a0typ_typ= s0exp } // end of [a0typ] typedef a0typlst = List (a0typ) fun a0typ_make_none (_: s0exp): a0typ fun a0typ_make_some (id: i0de, _: s0exp): a0typ (* ****** ****** *) datatype d0cstarg_node = | D0CSTARGsta of s0qualst | D0CSTARGdyn of (int(*npf*), a0typlst) // end of [d0cstarg_node] typedef d0cstarg = '{ d0cstarg_loc= location, d0cstarg_node= d0cstarg_node } // end of [d0cstarg] typedef d0cstarglst = List (d0cstarg) fun d0cstarg_sta ( t_beg: token, xs: s0qualst, t_end: token ) : d0cstarg // end of [d0cstarg_sta] fun d0cstarg_dyn ( npf: int, t_beg: token, xs: a0typlst, t_end: token ) : d0cstarg // end of [d0cstarg_dyn] (* ****** ****** *) datatype s0vararg = | S0VARARGone of (token) (* {..} *) | S0VARARGall of (token) (* {...} *) | S0VARARGseq of (location, s0arglst) // end of [s0vararg] typedef s0vararglst = List (s0vararg) datatype s0exparg = | S0EXPARGone of () // {..} | S0EXPARGall of () // {...} | S0EXPARGseq of (s0explst) // end of [s0exparg] typedef s0expargopt = Option (s0exparg) fun fprint_s0exparg : fprint_type (s0exparg) (* ****** ****** *) datatype m0acarg_node = | M0ACARGdyn of i0delst | M0ACARGsta of s0arglst // end of [m0acarg_node] typedef m0acarg = '{ m0acarg_loc= location, m0acarg_node= m0acarg_node } // end of [m0acarg] typedef m0acarglst = List (m0acarg) fun m0acarg_dyn (t_beg: token, xs: i0delst, t_end: token): m0acarg // end of [m0acarg_dyn] fun m0acarg_sing (x: i0de): m0acarg fun m0acarg_sta (t_beg: token, xs: s0arglst, t_end: token): m0acarg // end of [m0acarg_sta] (* ****** ****** *) typedef s0rtdef = '{ s0rtdef_loc= location , s0rtdef_sym= symbol , s0rtdef_def= s0rtext } // end of [s0rtdef] typedef s0rtdeflst = List s0rtdef fun s0rtdef_make (id: i0de, s0te: s0rtext): s0rtdef (* ****** ****** *) typedef s0tacst = '{ s0tacst_loc= location , s0tacst_sym= symbol , s0tacst_arg= a0msrtlst , s0tacst_res= s0rt } // end of [s0tacst] typedef s0tacstlst = List s0tacst fun s0tacst_make (id: i0de, arg: a0msrtlst, srt: s0rt): s0tacst (* ****** ****** *) typedef s0tacon = '{ s0tacon_loc= location , s0tacon_sym= symbol , s0tacon_arg= a0msrtlst , s0tacon_def= s0expopt } // end of [s0tacon] typedef s0taconlst = List s0tacon fun s0tacon_make (id: i0de, arg: a0msrtlst, def: s0expopt): s0tacon // end of [s0tacon_make] (* ****** ****** *) (* // // HX-2012-05-23: removed // typedef s0tavar = '{ s0tavar_loc= location , s0tavar_sym= symbol , s0tavar_srt= s0rt } // end of [s0tavar] typedef s0tavarlst = List s0tavar fun s0tavar_make (id: i0de, srt: s0rt): s0tavar *) (* ****** ****** *) typedef t0kindef = '{ t0kindef_loc= location , t0kindef_sym= symbol , t0kindef_loc_id= location , t0kindef_def= s0exp // HX: S0Etkname } // end of [t0kindef] fun t0kindef_make (id: i0de, def: s0tring): t0kindef (* ****** ****** *) typedef s0expdef = '{ s0expdef_loc= location , s0expdef_sym= symbol , s0expdef_loc_id= location , s0expdef_arg= s0marglst , s0expdef_res= s0rtopt , s0expdef_def= s0exp } // end of [s0expdef] typedef s0expdeflst = List s0expdef fun s0expdef_make (id: i0de, arg: s0marglst, res: s0rtopt, def: s0exp): s0expdef // end of [s0expdef_make] (* ****** ****** *) typedef s0aspdec = '{ s0aspdec_loc= location , s0aspdec_qid= sqi0de , s0aspdec_arg= s0marglst , s0aspdec_res= s0rtopt , s0aspdec_def= s0exp } // end of [s0aspdec] fun s0aspdec_make ( sqid: sqi0de, arg: s0marglst, res: s0rtopt, def: s0exp ) : s0aspdec // end of [s0aspdec_make] (* ****** ****** *) typedef e0xndec = '{ e0xndec_loc= location , e0xndec_fil= filename , e0xndec_sym= symbol , e0xndec_qua= q0marglst , e0xndec_arg= s0expopt } // end of [e0xndec] typedef e0xndeclst = List e0xndec fun e0xndec_make (qua: q0marglst, id: i0de, arg: s0expopt): e0xndec // end of [e0xndec_make] (* ****** ****** *) typedef d0atcon = '{ d0atcon_loc= location , d0atcon_sym= symbol , d0atcon_qua= q0marglst , d0atcon_arg= s0expopt , d0atcon_ind= s0expopt } (* end of [d0atcon] *) typedef d0atconlst = List(d0atcon) fun d0atcon_make ( qua: q0marglst , id: i0de, ind: s0expopt, arg: s0expopt ) : d0atcon // end of [d0atcon_make] (* ****** ****** *) typedef d0atdec = '{ d0atdec_loc= location , d0atdec_loc_hd= location , d0atdec_fil= filename , d0atdec_sym= symbol , d0atdec_arg= a0msrtlst , d0atdec_con= d0atconlst } (* end of [d0atdec] *) typedef d0atdeclst = List(d0atdec) fun d0atdec_make ( id: i0de, arg: a0msrtlst, con: d0atconlst ) : d0atdec // end of [d0atdec_make] (* ****** ****** *) datatype dcstextdef = | DCSTEXTDEFnone of (int) // 0/1 static/extern | DCSTEXTDEFsome_ext of string // extern | DCSTEXTDEFsome_mac of string // macro | DCSTEXTDEFsome_sta of string // static // end of [dcstextdef] fun dcstextdef_sta (sym: symbol): dcstextdef fun dcstextdef_is_ext (x: dcstextdef):<> bool fun dcstextdef_is_mac (x: dcstextdef):<> bool fun dcstextdef_is_sta (x: dcstextdef):<> bool fun dcstextdef_is_mainats (x: dcstextdef):<> bool (* ****** ****** *) typedef d0cstdec = '{ d0cstdec_loc= location , d0cstdec_fil= filename , d0cstdec_sym= symbol , d0cstdec_arg= d0cstarglst , d0cstdec_eff= e0fftaglstopt , d0cstdec_res= s0exp , d0cstdec_extopt= s0tringopt } // end of [d0cstdec] typedef d0cstdeclst = List d0cstdec fun d0cstdec_make ( ide: i0de , arg: d0cstarglst , eff: e0fftaglstopt , res: s0exp // return type , ext: s0tringopt (* optional external name *) ) : d0cstdec // end of [d0cstdec_make] (* ****** ****** *) datatype p0at_node = // | P0Tide of symbol | P0Tdqid of (d0ynq, symbol) | P0Topid of symbol // | P0Tint of i0nt | P0Tchar of c0har | P0Tfloat of f0loat | P0Tstring of s0tring // | P0Tapp of (p0at, p0at) // | P0Tlist of (int(*npf*), p0atlst) // | P0Tlst of (int(*lin*), p0atlst) // pattern list // // tupknd: // TYTUPKIND_flt(0)/TYTUPKIND_box(1)/TYTUPKIND_box_t(2)/TYTUPKIND_box_vt(3) // recknd: // TYRECKIND_flt(0)/TYRECKIND_box(1)/TYRECKIND_box_t(2)/TYRECKIND_box_vt(3) // | P0Ttup of (int (*tupknd*), int(*npf*), p0atlst) | P0Trec of (int (*recknd*), int(*npf*), labp0atlst) // | P0Tfree of p0at | P0Tunfold of p0at // | P0Texist of s0arglst | P0Tsvararg of s0vararg // | P0Trefas of (symbol, location, p0at(*p0t*)) // | P0Tann of (p0at, s0exp) // | P0Terr of () // indicating syntax-error // end of [p0at_node] and labp0at_node = | LABP0ATnorm of (l0ab, p0at) | LABP0ATomit of () where p0at = '{ p0at_loc= location, p0at_node= p0at_node } (* end of [p0at] *) and p0atlst = List (p0at) and p0atlst_vt = List_vt (p0at) and p0atopt = Option p0at and labp0at = '{ labp0at_loc= location, labp0at_node= labp0at_node } and labp0atlst = List (labp0at) (* ****** ****** *) fun p0at_i0de (x: i0de): p0at fun p0at_opid (_1: token, id: i0de): p0at fun p0at_dqid (dq: d0ynq, id: i0de): p0at fun p0at_i0nt (x: i0nt): p0at fun p0at_c0har (x: c0har): p0at fun p0at_f0loat (x: f0loat): p0at fun p0at_s0tring (x: s0tring): p0at fun p0at_app (x1: p0at, x2: p0at): p0at fun p0at_list (t_beg: token, npf: int, xs: p0atlst, t_end: token): p0at // end of [p0ats_list] (* ****** ****** *) fun p0at_tup ( knd: int, t_beg: token, npf: int, xs: p0atlst, t_end: token ) : p0at // end of [p0at_tup] fun p0at_rec ( knd: int, t_beg: token, npf: int, xs: labp0atlst, t_end: token ) : p0at // end of [p0at_rec] (* ****** ****** *) fun p0at_lst ( lin: int , t_beg: token, p0ts: p0atlst, t_end: token ) : p0at // end of [p0at_lst] (* // // HX-2014-07: // a list-pattern // like '[x1, x2] is no longer supported // fun p0at_lst_quote ( t_beg: token, p0ts: p0atlst, t_end: token ) : p0at // end of [p0at_lst_quote] *) (* ****** ****** *) fun p0at_exist ( t_beg: token, qua: s0arglst, t_end: token ) : p0at // end of [p0at_exist] fun p0at_svararg ( t_beg: token, x: s0vararg, t_end: token ) : p0at // end of [p0at_svararg] fun p0at_refas (id: p0at, pat: p0at): p0at fun p0at_free (tok: token, p0t: p0at): p0at fun p0at_unfold (tok: token, p0t: p0at): p0at fun p0at_ann (p0t: p0at, ann: s0exp): p0at fun p0at_err (loc: location): p0at // HX: indicating syntax-error (* ****** ****** *) fun fprint_p0at : fprint_type (p0at) (* ****** ****** *) // fun labp0at_norm (lab: l0ab, p: p0at): labp0at // fun labp0at_omit (tok: token): labp0at // fun fprint_labp0at : fprint_type (labp0at) // (* ****** ****** *) datatype i0mparg = | I0MPARG_sarglst of s0arglst | I0MPARG_svararglst of s0vararglst // end of [i0mparg] fun i0mparg_sarglst_none (): i0mparg fun i0mparg_sarglst_some ( t_beg: token, arg: s0arglst, t_end: token ) : i0mparg // end of [i0mparg_sarglst_some] fun i0mparg_svararglst (arg: s0vararglst): i0mparg (* ****** ****** *) // typedef t0mpmarg = '{ t0mpmarg_loc= location, t0mpmarg_arg= s0explst } (* end of [t0mpmarg] *) // typedef t0mpmarglst = List (t0mpmarg) // fun t0mpmarg_make (tok: token, arg: s0explst): t0mpmarg // (* ****** ****** *) // typedef impqi0de = '{ impqi0de_loc= location , impqi0de_qua= d0ynq , impqi0de_sym= symbol , impqi0de_arg= t0mpmarglst } (* end of [impqi0de] *) // fun impqi0de_make_none (qid: dqi0de): impqi0de fun impqi0de_make_some (qid: dqi0de, args: t0mpmarglst, t_gt: token): impqi0de // end of [impqi0de_make_some] // (* ****** ****** *) // datatype f0arg_node = | F0ARGdyn of p0at | F0ARGsta1 of s0qualst | F0ARGsta2 of s0vararg | F0ARGmet3 of s0explst // end of [f0arg_node] // typedef f0arg = '{ f0arg_loc= location, f0arg_node= f0arg_node } (* end of [f0arg] *) // typedef f0arglst = List (f0arg) vtypedef f0arglst_vt = List_vt (f0arg) // (* ****** ****** *) // fun f0arg_dyn (x: p0at): f0arg // fun f0arg_sta1 ( t_beg: token, qua: s0qualst, t_end: token ) : f0arg // end of [f0arg_sta1] fun f0arg_sta2 ( t_beg: token, arg: s0vararg, t_end: token ) : f0arg // end of [f0arg_sta2] // fun f0arg_met (t_beg: token, xs: s0explst, t_end: token): f0arg // end of [f0arg_met] // fun f0arg_met_nil (tok: token): f0arg // (* ****** ****** *) // typedef s0elop = '{ s0elop_loc= location , s0elop_knd= int // 0/1 : (.)/(->) } (* end of [s0elop] *) // fun s0elop_make_dot (tok: token): s0elop fun s0elop_make_minusgt (tok: token): s0elop // (* ****** ****** *) // typedef i0nvarg = '{ i0nvarg_loc= location , i0nvarg_sym= symbol , i0nvarg_typ= s0expopt } (* end of [i0nvarg] *) // typedef i0nvarglst = List i0nvarg // fun i0nvarg_make (id: i0de, opt: s0expopt): i0nvarg // (* ****** ****** *) typedef i0nvresstate = '{ i0nvresstate_loc= location , i0nvresstate_qua= s0qualstopt , i0nvresstate_arg= i0nvarglst } (* end of [i0nvresstate] *) fun i0nvresstate_make_none (loc: location): i0nvresstate fun i0nvresstate_make_some ( t_beg: token, qua: s0qualstopt, arg: i0nvarglst, t_end: token ) : i0nvresstate // end of [i0nvresstate_make_some] (* ****** ****** *) typedef loopi0nv = '{ loopi0nv_qua= s0qualstopt , loopi0nv_met= s0explstopt , loopi0nv_arg= i0nvarglst , loopi0nv_res= i0nvresstate } (* end of [loopi0nv] *) typedef loopi0nvopt = Option loopi0nv fun loopi0nv_make ( qua: s0qualstopt , met: s0explstopt , arg: i0nvarglst , res: i0nvresstate ) : loopi0nv // end of [loopi0nv_make] (* ****** ****** *) datatype d0ecl_node = // | D0Cfixity of (f0xty, i0delst) // prefix, infix, postfix // D0Cfixity | D0Cnonfix of (i0delst) // absolving fixity status // | D0Csymintr of (i0delst) // symbols for overloading | D0Csymelim of (i0delst) // eliminating overloading symbols | D0Coverload of (i0de, dqi0de, int(*pval*)) // overloading // | D0Ce0xpdef of (symbol, e0xpopt) // HX: #define // D0Ce0xpdef | D0Ce0xpundef of (symbol) // HX: #undef // | D0Ce0xpact of (e0xpactkind, e0xp) // HX: assert, error, prerr, print, ... // D0Ce0xpact // | D0Cpragma of (e0xplst) // #pragma(CATEGORY, ...) | D0Ccodegen of (int(*level*), e0xplst) // #codegen2, #codegen3 // | D0Cdatsrts of d0atsrtdeclst (* datasorts *) | D0Csrtdefs of s0rtdeflst (* sort definition *) // | D0Cstacsts of (s0tacstlst) (* static constants *) | D0Cstacons of (int(*knd*), s0taconlst) (* abstype defintion *) (* | D0Cstavars of (s0tavarlst) (* static constants *) // HX-2012-05-23: removed *) | D0Ctkindef of t0kindef (* primitive tkind *) | D0Csexpdefs of (int(*knd*), s0expdeflst) (* staexp definition *) | D0Csaspdec of s0aspdec (* static assumption *) // | D0Cexndecs of (e0xndeclst) | D0Cdatdecs of (int(*knd*), d0atdeclst, s0expdeflst) // | D0Cclassdec of (i0de, s0expopt) // class declaration // D0Cclassdec // | D0Cextype of (string, s0exp) // externally named types | D0Cextype of (int(*knd*), string, s0exp) // externally named structs | D0Cextvar of (string, d0exp) // externally named left-values // | D0Cextcode of (int(*knd*), int(*pos*), string(*code*)) // external code // | D0Cdcstdecs of (int(*0/1:sta/ext*), token, q0marglst, d0cstdeclst) // dyncst // | D0Cimpdec of (int(*knd*), i0mparg, i0mpdec) // knd=0/1: implement/primplmnt // end of [D0Cimpdec] // | D0Cmacdefs of (int(*knd*), bool(*rec*), m0acdeflst) // macro definitions // | D0Cfundecs of (funkind, q0marglst, f0undeclst) // fun declarations | D0Cvaldecs of (valkind, bool(*isrec*), v0aldeclst) // val declarations | D0Cvardecs of (int(*knd*), v0ardeclst) // variable declarations // knd=0/1:var/prvar // end of [D0Cvardec] // | D0Cinclude of (* file inclusion *) (filename(*pfil*), int(*0:sta/1:dyn*), string(*filename*)) // end of [D0Cinclude] // | D0Cstaload of (filename(*pfil*), symbolopt, string(*fname*)) // HX: "..." | D0Cstaloadnm of (filename(*pfil*), symbolopt, symbol(*nspace*)) // HX: $... | D0Cstaloadloc of (filename(*pfil*), symbol(*nspace*), d0eclist) // HX: { ... } // | D0Crequire of (filename(*pfil*), string(*path*)) // HX: for pkgreloc // | D0Cdynload of (filename(*pfil*), string(*path*)) // HX: dynloading(*initization*) // | D0Clocal of (d0eclist, d0eclist) // HX: local ... in ... end | D0Cguadecl of (srpifkind, guad0ecl) // HX: guarded declarations // end of [d0ecl_node] and staloadarg = | STLDfname of (location, string) // staload "..." | STLDnspace of (location, string) // staload $... | STLDdeclist of (location, d0eclist) // staload { ... } // end of [staloadarg] and guad0ecl_node = | GD0Cone of (e0xp, d0eclist) | GD0Ctwo of (e0xp, d0eclist, d0eclist) | GD0Ccons of (e0xp, d0eclist, srpifkind, guad0ecl_node) // end of [guad0ecl_node] and d0exp_node = // | D0Eide of symbol // dynamic ids | D0Edqid of (d0ynq, symbol) // qualified dynamic ids // end of [D0Edqid] // | D0Eopid of symbol // dynamic operator ids // | D0Eidext of symbol // dynamic external ids // | D0Eint of i0nt // integers | D0Echar of c0har // characters | D0Efloat of f0loat // floats | D0Estring of s0tring // strings // | D0Eempty of () // | D0Ecstsp of cstsp // special constants // | D0Eliteral of (d0exp) // $literal: int, float, string // | D0Eextval of (s0exp(*type*), string(*name*)) // external values | D0Eextfcall of (s0exp(*res*), string(*fun*), d0explst(*arg*)) // external fcalls // end of [D0Eextfcall] | D0Eextmcall of (s0exp(*res*), d0exp, string(*method*), d0explst(*arg*)) // external mcalls // end of [D0Eextmcall] // | D0Efoldat of d0explst (* folding at a given address *) | D0Efreeat of d0explst (* freeing at a given address *) // | D0Etmpid of (dqi0de, t0mpmarglst) // template id // | D0Elet of (d0eclist, d0exp) // dynamic let-expression | D0Edeclseq of d0eclist // = let [d0eclist] in (*nothing*) end | D0Ewhere of (d0exp, d0eclist) // dynamic where-expression // | D0Eapp of (d0exp, d0exp) // functional application // | D0Elist of (int(*npf*), d0explst) // | D0Eifhead of (ifhead, d0exp, d0exp, d0expopt) | D0Esifhead of (sifhead, s0exp, d0exp, d0exp) // HX: no dangling else-branch | D0Ecasehead of (casehead, d0exp, c0laulst) | D0Escasehead of (scasehead, s0exp, sc0laulst) // | D0Elst of (int(*lin*), s0expopt, d0exp(*elts*)) // // tupknd: // TYTUPKIND_flt(0)/TYTUPKIND_box(1)/TYTUPKIND_box_t(2)/TYTUPKIND_box_vt(3) // recknd: // TYRECKIND_flt(0)/TYRECKIND_box(1)/TYRECKIND_box_t(2)/TYRECKIND_box_vt(3) // | D0Etup of (int(*tupknd*), int(*npf*), d0explst) | D0Erec of (int(*recknd*), int (*npf*), labd0explst) // | D0Eseq of d0explst // dynamic sequence-expression // | D0Earrsub of // array subscripting (dqi0de, location(*ind*), d0explstlst(*ind*)) | D0Earrpsz of (s0expopt (*elt*), d0exp (*int*)) // arraysize expr | D0Earrinit of (* array initilization *) (s0exp (*elt*), d0expopt (*asz*), d0explst (*ini*)) // | D0Eptrof of () // taking the addr of a left-value | D0Eviewat of () // taking the view at the addr of a left-value // | D0Esel_lab of (int(*knd*), label) | D0Esel_ind of (int(*knd*), d0explstlst(*ind*)) // | D0Eraise of (d0exp) // $raise | D0Eeffmask of (e0fftaglst, d0exp) | D0Eeffmask_arg of (int(*knd*), d0exp) // | D0Eshowtype of (d0exp) // $showtype for static debugging // | D0Evcopyenv of (int(*knd*), d0exp) // $vcopyenv_v/$vcopyenv_vt // | D0Etempenver of (d0exp) // $tempenver for adding environvar // | D0Esexparg of s0exparg // static multi-argument // | D0Eexist of (location(*qua*), s0exparg, d0exp) // existential sum // | D0Eann of (d0exp, s0exp) // type-ascribed dynamic expressions // | D0Elam of (int(*knd*), f0arglst, s0expopt, e0fftaglstopt, d0exp) | D0Efix of (int(*knd*), i0de, f0arglst, s0expopt, e0fftaglstopt, d0exp) // | D0Edelay of (int(*knd*), d0exp(*body*)) // $delay and $ldelay // | D0Efor of ( loopi0nvopt, location(*inv*), initestpost, d0exp(*body*) ) // end of [D0Efor] | D0Ewhile of ( loopi0nvopt, location(*inv*), d0exp(*test*), d0exp(*body*) ) // end of [D0Ewhile] // | D0Eloopexn of int(*break/continue: 0/1*) // | D0Etrywith of (tryhead, d0exp, c0laulst) (* try-expression *) // | D0Emacsyn of (macsynkind, d0exp) // macro syntax // HX: not yet in use // | D0Esolassert of (d0exp) // $solver_assert(d0e_prf) | D0Esolverify of (s0exp) // $solver_verify(s0e_prop) // // end of [d0exp_node] // end of [datatype] (* ****** ****** *) where d0ecl = '{ d0ecl_loc= location, d0ecl_node= d0ecl_node } // end of [d0ecl] and d0eclist : type = List (d0ecl) and d0eclist_vt : viewtype = List_vt (d0ecl) and guad0ecl: type = '{ guad0ecl_loc= location, guad0ecl_node= guad0ecl_node } // end of [guad0ecl] (* ****** ****** *) and d0exp = '{ d0exp_loc= location, d0exp_node= d0exp_node } // end of [d0exp] and d0explst : type = List (d0exp) and d0explst_vt : viewtype = List_vt (d0exp) and d0explstlst : type = List (d0explst) and d0expopt : type = Option (d0exp) and d0expopt_vt : viewtype = Option_vt (d0exp) and labd0exp = dl0abeled (d0exp) and labd0explst = List (labd0exp) (* ****** ****** *) and d0arrind = '{ d0arrind_loc= location, d0arrind_ind= d0explstlst } // end of [d0arrind] (* ****** ****** *) and initestpost = '{ itp_init= d0exp, itp_test= d0exp, itp_post= d0exp } // end of [initestpost] (* ****** ****** *) and gm0at = '{ gm0at_loc= location, gm0at_exp= d0exp, gm0at_pat= p0atopt } // end of [gm0at] and gm0atlst = List (gm0at) (* ****** ****** *) and guap0at = '{ guap0at_loc= location , guap0at_pat= p0at , guap0at_gua= gm0atlst } // end of [guap0at] (* ****** ****** *) and ifhead = '{ ifhead_tok= token, ifhead_inv= i0nvresstate } // end of [ifhead] and sifhead = '{ sifhead_tok= token, sifhead_inv= i0nvresstate } // end of [sifhead] (* ****** ****** *) and casehead = '{ casehead_tok= token, casehead_inv= i0nvresstate } // end of [casehead] and scasehead = '{ scasehead_tok= token, scasehead_inv= i0nvresstate } // end of [scasehead] (* ****** ****** *) and loophead = '{ loophead_tok= token, loophead_inv= loopi0nvopt } // end of [lookhead] (* ****** ****** *) and tryhead = '{ tryhead_tok= token, tryhead_inv= i0nvresstate } // end of [tryhead] (* ****** ****** *) and c0lau = '{ c0lau_loc= location , c0lau_pat= guap0at , c0lau_seq= int , c0lau_neg= int , c0lau_body= d0exp } // end of [c0lau] and c0laulst: type = List c0lau and sc0lau = '{ sc0lau_loc= location , sc0lau_pat= sp0at , sc0lau_body= d0exp } // end of [sc0lau] and sc0laulst: type = List sc0lau (* ****** ****** *) and m0acdef = '{ m0acdef_loc= location , m0acdef_sym= symbol , m0acdef_arg= m0acarglst , m0acdef_def= d0exp } // end of [m0acdef] and m0acdeflst = List m0acdef (* ****** ****** *) and f0undec = '{ f0undec_loc= location , f0undec_sym= symbol , f0undec_sym_loc= location , f0undec_arg= f0arglst , f0undec_eff= e0fftaglstopt , f0undec_res= s0expopt , f0undec_def= d0exp , f0undec_ann= witht0ype } // end of [f0undec] and f0undeclst = List f0undec (* ****** ****** *) and v0aldec = '{ v0aldec_loc= location , v0aldec_pat= p0at , v0aldec_def= d0exp , v0aldec_ann= witht0ype } // end of [v0aldec] and v0aldeclst: type = List v0aldec (* ****** ****** *) and v0ardec = '{ v0ardec_loc= location , v0ardec_knd= int (* knd=0/1:var/ptr *) , v0ardec_sym= symbol , v0ardec_sym_loc= location , v0ardec_pfat= i0deopt // proof of at-view , v0ardec_type= s0expopt (* type annotation *) , v0ardec_init= d0expopt // value for initialization } // end of [v0ardec] and v0ardeclst = List v0ardec (* ****** ****** *) and i0mpdec = '{ i0mpdec_loc= location , i0mpdec_qid= impqi0de , i0mpdec_arg= f0arglst , i0mpdec_res= s0expopt , i0mpdec_def= d0exp } // end of [i0mpdec] (* ****** ****** *) fun d0exp_ide (id: i0de): d0exp fun d0exp_opid (_: token, id: i0de): d0exp fun d0exp_dqid (qid: dqi0de): d0exp fun d0exp_idext (id: i0de): d0exp // external id fun d0exp_i0nt (_: i0nt): d0exp fun d0exp_c0har (_: c0har): d0exp fun d0exp_s0tring (_: s0tring): d0exp fun d0exp_f0loat (_: f0loat): d0exp fun d0exp_empty (loc: location): d0exp (* ****** ****** *) fun d0exp_MYFIL (tok: token): d0exp fun d0exp_MYLOC (tok: token): d0exp fun d0exp_MYFUN (tok: token): d0exp (* ****** ****** *) // fun d0exp_literal (t_beg: token, lit: d0exp, t_end: token): d0exp // (* ****** ****** *) // fun d0exp_extval ( t_beg: token , _type: s0exp, name: token , t_end: token ) : d0exp // end of [d0exp_extval] // fun d0exp_extfcall ( t_beg: token , _type: s0exp, _fun: token, _arg: d0explst , t_end: token ) : d0exp // end of [d0exp_extfcall] fun d0exp_extmcall ( t_beg: token , _type: s0exp, _obj: d0exp, _mtd: token, _arg: d0explst , t_end: token ) : d0exp // end of [d0exp_extmcall] // (* ****** ****** *) fun d0exp_label_int (t_dot: token, lab: token): d0exp fun d0exp_label_sym (t_dot: token, lab: token): d0exp (* ****** ****** *) fun d0exp_foldat (t_foldat: token, _: d0explst): d0exp fun d0exp_freeat (t_freeat: token, _: d0explst): d0exp (* ****** ****** *) fun d0exp_tmpid (qid: dqi0de, arg: t0mpmarglst, t_gt: token): d0exp (* ****** ****** *) fun d0exp_let_seq ( t_let: token , d0cs: d0eclist , t_in: token , d0e: d0explst , t_end: token ) : d0exp // end of [d0exp_let_seq] fun d0exp_declseq (t_beg: token, ds: d0eclist, t_end: token) : d0exp // end of [d0exp_declseq] fun d0exp_where (d0e: d0exp, d0cs: d0eclist, t_end: token) : d0exp // end of [d0exp_where] (* ****** ****** *) fun d0exp_app (_1: d0exp, _2: d0exp): d0exp (* ****** ****** *) fun d0exp_list ( t_beg: token, npf: int, xs: d0explst, t_end: token ) : d0exp // end of [d0exp_list] (* ****** ****** *) // fun d0exp_ifhead ( hd: ifhead, _cond: d0exp, _then: d0exp, _else: d0expopt ) : d0exp // end of [d0exp_ifhead] fun d0exp_sifhead ( hd: sifhead, _cond: s0exp, _then: d0exp, _else: d0exp ) : d0exp // end of [d0exp_sifhead] // (* ****** ****** *) // fun d0exp_casehead (hd: casehead, d0e: d0exp, t_of: token, c0ls: c0laulst): d0exp // end of [d0exp_casehead] fun d0exp_scasehead (hd: scasehead, s0e: s0exp, t_of: token, c0ls: sc0laulst): d0exp // end of [d0exp_scasehead] // (* ****** ****** *) fun d0exp_lst ( lin: int , t_beg: token , elt: s0expopt , t_lp: token , xs: d0explst // elements , t_rp: token ) : d0exp // end of [d0exp_lst] fun d0exp_lst_quote (t_beg: token, elts: d0explst, t_end: token): d0exp // end of [d0exp_lst_quote] (* ****** ****** *) fun d0exp_tup ( knd: int, t_beg: token, npf: int, xs: d0explst, t_end: token ) : d0exp // end of [d0exp_tup] fun d0exp_rec ( knd: int, t_beg: token, npf: int, xs: labd0explst, t_end: token ) : d0exp // end of [d0exp_rec] (* ****** ****** *) fun d0exp_seq (t_beg: token, xs: d0explst, t_end: token): d0exp // end of [d0exp_seq] (* ****** ****** *) fun d0exp_arrsub (qid: dqi0de, ind: d0arrind): d0exp fun d0exp_arrinit ( t_beg: token, elt: s0exp, dim: d0expopt, ini: d0explst, t_end: token ) : d0exp // end of [d0exp_arrinit] fun d0exp_arrpsz ( t_beg: token, elt: s0expopt, t_lp: token, elts: d0explst, t_rp: token ) : d0exp // end of [d0exp_arrpsz] (* ****** ****** *) fun d0exp_ptrof (t_addrat: token): d0exp // addr@ fun d0exp_viewat (t_viewat: token): d0exp // view@ (* ****** ****** *) // fun d0exp_sel_lab (sel: s0elop, lab: l0ab): d0exp fun d0exp_sel_ind (sel: s0elop, ind: d0arrind): d0exp // fun d0exp_sel_int (tok: token): d0exp // tok=T_DOTINT(...) // (* ****** ****** *) // fun d0exp_raise (tok: token, d0e: d0exp): d0exp // fun d0exp_effmask (tok: token, eff: e0fftaglst, d0e: d0exp): d0exp // fun d0exp_effmask_arg(knd: int, tok: token, d0e: d0exp): d0exp // (* ****** ****** *) fun d0exp_showtype (tok: token, d0e: d0exp): d0exp (* ****** ****** *) // fun d0exp_vcopyenv (knd: int(*0/1*), tok: token, d0e: d0exp): d0exp // (* ****** ****** *) fun d0exp_tempenver (tok: token, d0e: d0exp): d0exp (* ****** ****** *) fun d0exp_sexparg (t_beg: token, s0a: s0exparg, t_end: token): d0exp // end of [d0exp_sexparg] fun d0exp_exist ( t_beg: token, s0a: s0exparg, t_bar: token, d0e: d0exp, t_end: token ) : d0exp // end of [d0exp_exist] (* ****** ****** *) fun d0exp_ann (_1: d0exp, _2: s0exp): d0exp (* ****** ****** *) fun d0exp_lam ( knd: int , t_lam: token , arg: f0arglst , res: s0expopt , eff: e0fftaglstopt , d0e: d0exp ) : d0exp // end of [d0exp_lam] fun d0exp_fix ( knd: int , t_lam: token , fid: i0de , arg: f0arglst , res: s0expopt , eff: e0fftaglstopt , d0e: d0exp ) : d0exp // end of [d0exp_fix] (* ****** ****** *) fun d0exp_delay (knd: int, tok: token, body: d0exp): d0exp (* ****** ****** *) fun d0exp_forhead ( hd: loophead, itp: initestpost, body: d0exp ) : d0exp // end of [d0exp_forhead] fun d0exp_whilehead (hd: loophead, test: d0exp, body: d0exp): d0exp // end of [d0exp_whilehead] (* ****** ****** *) fun d0exp_loopexn (knd: int, tok: token): d0exp // knd=0/1: brk/cont // end of [d0exp_loopexn] (* ****** ****** *) fun d0exp_trywith_seq ( hd: tryhead, d0es: d0explst, t_with: token, c0ls: c0laulst ) : d0exp // end of [d0exp_trywith_seq] (* ****** ****** *) // fun d0exp_solassert (tok: token, d0e: d0exp): d0exp fun d0exp_solverify (tok: token, s0e: s0exp): d0exp // (* ****** ****** *) fun d0exp_macsyn_decode (t_beg: token, _: d0exp, t_end: token): d0exp // end of [d0exp_macsyn_decode] fun d0exp_macsyn_encode_seq (t_beg: token, _: d0explst, t_end: token): d0exp // end of [d0exp_macsyn_encode_seq] fun d0exp_macsyn_cross (t_beg: token, _: d0exp, t_end: token): d0exp // end of [d0exp_macsyn_cross] (* ****** ****** *) fun labd0exp_make (ent1: l0ab, ent2: d0exp): labd0exp (* ****** ****** *) // fun fprint_d0exp : fprint_type (d0exp) fun fprint_d0explst : fprint_type (d0explst) fun fprint_d0expopt : fprint_type (d0expopt) // overload fprint with fprint_d0exp overload fprint with fprint_d0explst // (* ****** ****** *) fun fprint_labd0exp : fprint_type (labd0exp) (* ****** ****** *) (* ** HX: d0arrind_sing: tok is RBRACKET *) fun d0arrind_sing (d0es: d0explst, tok: token): d0arrind fun d0arrind_cons (d0es: d0explst, ind: d0arrind): d0arrind (* ****** ****** *) fun initestpost_make ( t_beg: token , init: d0explst , t_sep: token , test: d0explst , t_sep: token , post: d0explst , t_end: token ) : initestpost // end of [initestpost_make] (* ****** ****** *) fun gm0at_make (d0e: d0exp, pat: p0atopt): gm0at fun guap0at_make (p0t: p0at, mat: Option (gm0atlst)): guap0at (* ****** ****** *) fun ifhead_make (t_if: token, invopt: Option (i0nvresstate)): ifhead fun sifhead_make (t_sif: token, invopt: Option (i0nvresstate)): sifhead fun casehead_make (t_case: token, invopt: Option (i0nvresstate)): casehead fun scasehead_make (t_scase: token, invopt: Option (i0nvresstate)): scasehead fun loophead_make_none (t_head: token): loophead fun loophead_make_some (t_head: token, inv: loopi0nv, t_eqgt: token): loophead // end of [loophead_make_some] fun tryhead_make (t_try: token, invopt: Option (i0nvresstate)): tryhead // end of [tryhead_make] (* ****** ****** *) fun c0lau_make ( gp0t: guap0at, seq: int, neg: int, body: d0exp ) : c0lau // end of [c0lau_make] fun sc0lau_make (sp0t: sp0at, body: d0exp): sc0lau (* ****** ****** *) fun m0acdef_make (id: i0de, arg: m0acarglst, def: d0exp): m0acdef // end of [m0acdef_make] (* ****** ****** *) fun v0aldec_make (p0t: p0at, def: d0exp, ann: witht0ype): v0aldec // end of [v0aldec_make] (* ****** ****** *) fun f0undec_make ( fid: i0de , arg: f0arglst , eff: e0fftaglstopt, res: s0expopt , def: d0exp , ann: witht0ype ) : f0undec // end of [f0undec_make] (* ****** ****** *) fun v0ardec_make ( opt: tokenopt // optional BANG , pid: i0de , pfat: i0deopt // proof of at-view , s0eopt: s0expopt // type annotation , d0eopt: d0expopt // value for initialization ) : v0ardec // end of [v0ardec_make] (* ****** ****** *) fun i0mpdec_make ( qid: impqi0de, arg: f0arglst, res: s0expopt, def: d0exp ) : i0mpdec // end of [i0mpdec_make] (* ****** ****** *) // fun d0ecl_fixity (_1: token, _2: p0rec, _3: i0delst): d0ecl // end of [d0ecl_fixity] // fun d0ecl_nonfix (_1: token, _2: i0delst): d0ecl // fun d0ecl_include (knd: int, _1: token, _2: token): d0ecl // fun d0ecl_symintr (_1: token, _2: i0delst): d0ecl fun d0ecl_symelim (_1: token, _2: i0delst): d0ecl // (* ****** ****** *) // fun d0ecl_e0xpdef ( _1: token, _2: i0de, _3: e0xpopt ) : d0ecl // HX: #define // fun d0ecl_e0xpundef (_1: token, _2: i0de): d0ecl // HX: #undef // (* ****** ****** *) // fun d0ecl_e0xpact_assert (_1: token, _2: e0xp): d0ecl // HX: #assert // fun d0ecl_e0xpact_error (_1: token, _2: e0xp): d0ecl fun d0ecl_e0xpact_prerr (_1: token, _2: e0xp): d0ecl fun d0ecl_e0xpact_print (_1: token, _2: e0xp): d0ecl // (* ****** ****** *) // fun d0ecl_pragma ( tok_beg: token , e0xplst: e0xplst , tok_end: token ) : d0ecl // end-of-fun // fun d0ecl_pragma_process(xs: e0xplst): void // (* ****** ****** *) // fun d0ecl_codegen2 (tok_beg: token, xs: e0xplst, tok_end: token): d0ecl fun d0ecl_codegen3 (tok_beg: token, xs: e0xplst, tok_end: token): d0ecl // (* ****** ****** *) // fun d0ecl_datsrts (_1: token, _2: d0atsrtdeclst): d0ecl // fun d0ecl_srtdefs (_1: token, _2: s0rtdeflst): d0ecl // fun d0ecl_stacons (knd: int, _1: token, _2: s0taconlst): d0ecl // fun d0ecl_stacsts (_1: token, _2: s0tacstlst): d0ecl // (* fun d0ecl_stavars (_1: token, _2: s0tavarlst): d0ecl *) fun d0ecl_tkindef (_1: token, _2: t0kindef): d0ecl fun d0ecl_saspdec (_1: token, _2: s0aspdec): d0ecl // fun d0ecl_sexpdefs (knd: int, _1: token, _2: s0expdeflst): d0ecl // fun d0ecl_exndecs (_1: token, _2: e0xndeclst): d0ecl // (* ****** ****** *) // fun d0ecl_datdecs_none ( knd: int , tok: token, ds_dec: d0atdeclst ) : d0ecl // end-of-fun fun d0ecl_datdecs_some ( knd: int , t1: token, ds_dec: d0atdeclst , t2: token, ds_def: s0expdeflst ) : d0ecl // end of [d0ecl_datdecs_some] // (* ****** ****** *) // fun d0ecl_macdefs ( knd: int, isrec: bool, t: token, defs: m0acdeflst ) : d0ecl // end of [d0ecl_macdefs] // fun d0ecl_overload ( tok: token, id: i0de, dqid: dqi0de, opt: i0ntopt ) : d0ecl // end-of-fun // fun d0ecl_classdec(t: token, id: i0de, sup: s0expopt): d0ecl // fun d0ecl_extype (tok: token, name: s0tring, s0e: s0exp): d0ecl fun d0ecl_extype2 (tok: token, name: s0tring, s0e: s0exp): d0ecl // fun d0ecl_extvar (tok: token, name: s0tring, d0e: d0exp): d0ecl fun d0ecl_extvar2 (tok: token, name: s0tring, d0e: d0exp): d0ecl // fun d0ecl_extcode (knd: int, tok(*string*): token): d0ecl // fun d0ecl_impdec (t_implement: token, imparg: i0mparg, d: i0mpdec): d0ecl // end of [d0ecl_impdec] // fun d0ecl_fundecs ( knd: funkind, tok: token, arg: q0marglst, ds: f0undeclst ) : d0ecl // end of [d0ecl_fundecs] fun d0ecl_valdecs ( knd: valkind, isrec: bool, tok: token, ds: v0aldeclst ) : d0ecl // end of [d0ecl_valdecs] fun d0ecl_vardecs (knd: int, tok: token, ds: v0ardeclst): d0ecl // fun staloadarg_get_loc (arg: staloadarg): location fun staloadarg_declist (t_lbrace: token, ds: d0eclist, t_rbrace: token): staloadarg // fun d0ecl_staload_fname (tok: token, tok2: token): d0ecl fun d0ecl_staload_nspace (tok: token, tok2: token): d0ecl fun d0ecl_staload_some_arg (tok: token, ent2: i0de, arg: staloadarg): d0ecl // fun d0ecl_require (tok: token, ent2: token): d0ecl // fun d0ecl_dynload (tok: token, ent2: token): d0ecl // typedef d0ecl_dcstdecs_type = (token, q0marglst, d0cstdeclst) -> d0ecl // fun d0ecl_dcstdecs : d0ecl_dcstdecs_type fun d0ecl_dcstdecs_extern : d0ecl_dcstdecs_type // HX: a static const is not exported fun d0ecl_dcstdecs_static : d0ecl_dcstdecs_type // fun d0ecl_local ( t_local: token, ds_head: d0eclist, ds_body: d0eclist, t_end: token ) : d0ecl // end of [d0ecl_local] // fun d0ecl_guadecl (knd: token, gdc: guad0ecl): d0ecl // (* ****** ****** *) fun guad0ecl_one (gua: e0xp, ds_then: d0eclist, t_endif: token): guad0ecl // end of [guad0ecl_one] fun guad0ecl_two ( gua: e0xp, ds_then: d0eclist, ds_else: d0eclist, t_endif: token ) : guad0ecl // end of [guad0ecl_two] fun guad0ecl_cons ( gua: e0xp, ds: d0eclist, knd: token, rest: guad0ecl ) : guad0ecl // end of [guad0ecl_cons] (* ****** ****** *) fun fprint_d0ecl : fprint_type (d0ecl) fun fprint_d0eclist : fprint_type (d0eclist) (* ****** ****** *) (* fun fprint_guadecl : fprint_type (guad0ecl) fun fprint_staloadarg : fprint_type (staloadarg) *) (* ****** ****** *) (* end of [pats_syntax.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_util.dats0000664000175000017500000002435512655455557017711 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_util" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) local fun fshowtype_d3exp ( knd: int, d3e: d3exp ) : void = let // val out = stdout_ref // val loc = d3e.d3exp_loc val s2e = d3exp_get_type (d3e) // val () = ( if knd > 0 then fprint (out, "**SHOWTYPE[UP]**") else fprint (out, "**SHOWTYPE[DN]**") ) (* end of [val] *) // val () = fprint (out, "(") val () = $LOC.fprint_location (out, loc) val () = fprint (out, ")") // val () = fprint (out, ": ") val () = fpprint_s2exp (out, s2e) // val () = fprint (out, ": ") val () = fprint_s2rt (out, s2e.s2exp_srt) // val () = fprint_newline (out) // in // nothing end // end of [fshowtype_d3exp] in (* in-of-local *) implement fshowtype_d3exp_up (d3e) = fshowtype_d3exp (1, d3e) implement fshowtype_d3exp_dn (d3e) = fshowtype_d3exp (~1, d3e) end // end of [local] (* ****** ****** *) implement d2exp_funclo_of_d2exp (d2e0, fc0) = case+ d2e0.d2exp_node of | D2Eann_funclo (d2e, fc) => let val () = fc0 := fc in d2e end // end of [D2Eann_funclo] | _ => d2e0 // end of [d2exp_funclo_of_d2exp] (* ****** ****** *) implement d2exp_s2eff_of_d2exp (d2e0, s2fe0) = case+ d2e0.d2exp_node of | D2Elam_dyn _ => (s2fe0 := s2eff_nil; d2e0) | D2Elaminit_dyn _ => (s2fe0 := s2eff_nil; d2e0) | D2Elam_sta _ => (s2fe0 := s2eff_nil; d2e0) | D2Eann_seff (d2e, s2fe) => let val () = s2fe0 := s2fe in d2e end // end of [D2Eann_seff] | _ => let val () = s2fe0 := s2eff_all in d2e0 end // end of [_] // end of [d2exp_s2eff_of_d2exp] (* ****** ****** *) // extern fun d2exp_syn_type_arg_body ( loc0: location , fc0: funclo, lin: int, npf: int , p2ts_arg: p2atlst, d2e_body: d2exp ) : s2exp // end of [d2exp_syn_type_arg_body] // implement d2exp_syn_type_arg_body ( loc0, fc0, lin, npf, p2ts_arg, d2e_body ) = let var fc: funclo = fc0 val s2es = p2atlst_syn_type (p2ts_arg) val s2e_res = d2exp_syn_type (d2e_body) val d2e_body = d2exp_funclo_of_d2exp (d2e_body, fc) val isprf = s2exp_is_prf (s2e_res) val islin = (if lin > 0 then true else false): bool var s2fe: s2eff val d2e_body = d2exp_s2eff_of_d2exp (d2e_body, s2fe) val s2t_fun = s2rt_prf_lin_fc (loc0, isprf, islin, fc) in s2exp_fun_srt (s2t_fun, fc, lin, s2fe, npf, s2es, s2e_res) end // end of [d2exp_syn_type_arg_body] // (* ****** ****** *) implement d2exp_syn_type (d2e0) = let // val loc0 = d2e0.d2exp_loc // val s2e0 =( case+ d2e0.d2exp_node of // | D2Eint _ => s2exp_int_t0ype () | D2Ebool _ => s2exp_bool_t0ype () | D2Echar _ => s2exp_char_t0ype () | D2Estring _ => s2exp_string_type () | D2Efloat _ => s2exp_double_t0ype () // | D2Ei0nt (x) => i0nt_syn_type (x) | D2Ec0har _ => s2exp_char_t0ype () | D2Es0tring _ => s2exp_string_type () | D2Ef0loat (x) => f0loat_syn_type (x) // | D2Ecstsp (x) => cstsp_syn_type (d2e0, x) // | D2Eempty () => s2exp_void_t0ype () // | D2Eextval (s2e, _(*name*)) => s2e // | D2Eassgn _ => s2exp_void_t0ype () // | D2Elst (lin, opt, d2es) => let val s2e = ( case+ opt of | Some s2e => s2e | None () => let val s2t = ( if lin = 0 then s2rt_t0ype else s2rt_vt0ype ) : s2rt // end of [val] in s2exp_Var_make_srt (loc0, s2t) end // end of [None] ) : s2exp // end of [val] val n = list_length (d2es) val isnonlin = s2exp_is_nonlin (s2e) in if isnonlin then s2exp_list_t0ype_int_type (s2e, n) else s2exp_list_vt0ype_int_vtype (s2e, n) // end of [if] end // end of [D2Elst] | D2Etup (knd, npf, d2es) => let val s2es = d2explst_syn_type (d2es) in s2exp_tytup (knd, npf, s2es) end // end of [D2Etup] | D2Erec (knd, npf, ld2es) => let val ls2es = labd2explst_syn_type (ld2es) in s2exp_tyrec (knd, npf, ls2es) end // end of [D2Erec] | D2Eseq (d2es) => (case+ d2es of | list_cons _ => let val d2e = list_last (d2es) in d2exp_syn_type (d2e) end | list_nil () => s2exp_void_t0ype () ) // end of [D2Eseq] // | D2Earrpsz (opt, d2es) => let val s2e = ( case+ opt of | Some s2e => s2e | None () => s2exp_Var_make_srt (loc0, s2rt_t0ype) ) : s2exp // end of [val] val n = list_length (d2es) in s2exp_arrpsz_vt0ype_int_vt0ype (s2e, n) end // end of [D2Earrpsz] // | D2Elam_dyn ( lin, npf, p2ts_arg, d2e_body ) => let val fc0 = FUNCLOfun // HX: default in d2exp_syn_type_arg_body (loc0, fc0, lin, npf, p2ts_arg, d2e_body) end // end of [D2Elam_dyn] // | D2Elaminit_dyn ( lin, npf, p2ts_arg, d2e_body ) => let val fc0 = FUNCLOclo(0) // HX: default in d2exp_syn_type_arg_body (loc0, fc0, lin, npf, p2ts_arg, d2e_body) end // end of [D2Elaminit_dyn] // | D2Elam_sta (s2vs, s2ps, d2e) => let val s2e = d2exp_syn_type (d2e) in s2exp_uni (s2vs, s2ps, s2e) end // end of [D2Elam_sta] | D2Elam_met (_ref, met, d2e) => let val s2e = d2exp_syn_type (d2e) in s2exp_metfun (None(*stamp*), met, s2e) end // end of [D2Elam_met] // | D2Efix (knd, d2v, d2e) => d2exp_syn_type (d2e) // | D2Eann_type (_, s2e) => s2e | D2Eann_seff (d2e, _) => d2exp_syn_type (d2e) | D2Eann_funclo (d2e, _) => d2exp_syn_type (d2e) // | D2Eerrexp ((*void*)) => s2exp_t0ype_err () // | _ => let val s2e = s2exp_Var_make_srt (loc0, s2rt_t0ype) // end of [val] in s2e end // end of [_] ) : s2exp // end of [val] in s2e0 end // end of [d2exp_syn_type] implement d2explst_syn_type (xs) = l2l (list_map_fun (xs, d2exp_syn_type)) // end of [d2explst_syn_type] implement labd2explst_syn_type (xs) = let fn f ( x: labd2exp ) : labs2exp = let val $SYN.DL0ABELED (l0, d2e) = x in SLABELED (l0.l0ab_lab, None(*none*), d2exp_syn_type d2e) end // end of [f] in l2l (list_map_fun (xs, f)) end // end of labd2explst_syn_type] (* ****** ****** *) implement d23exp_free (x) = ( // case+ x of | ~D23Ed2exp (d2e) => () | ~D23Ed3exp (d3e) => () // ) (* end of [d23exp_free] *) implement d23explst_free (xs) = ( // case+ xs of | ~list_vt_nil () => () | ~list_vt_cons (x, xs) => (d23exp_free (x); d23explst_free (xs)) // ) (* end of [d23explst_free] *) (* ****** ****** *) implement d3lablst_is_overld (d3ls) = ( // case+ d3ls of | list_nil () => false | list_cons (d3l, d3ls) => ( case+ d3l.d3lab_overld of | Some _ => true | None () => d3lablst_is_overld (d3ls) ) (* end of [list_cons] *) // ) (* end of [d3lablst_is_overld] *) // (* ****** ****** *) local fun aux .<>. ( d3e1: d3exp, s2f2: s2hnf ) : d3exp = let val loc = d3e1.d3exp_loc val s2e1 = d3e1.d3exp_type val s2f1 = s2exp2hnf (s2e1) val s2e1 = s2hnf2exp (s2f1) val s2e2 = s2hnf2exp (s2f2) (* val () = ( println! ("d3exp_trdn: aux: s2e1 = ", s2e1); println! ("d3exp_trdn: aux: s2e2 = ", s2e2); ) // end of [val] *) val err = $SOL.s2hnf_tyleq_solve (loc, s2f1, s2f2) val () = if (err != 0) then let val () = prerr_error3_loc (loc) val () = filprerr_ifdebug "d3exp_trdn" val () = prerr ": the dynamic expression cannot be assigned the type [" val () = prerr_s2exp (s2e2) val () = prerr "]." val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d3exp_trdn (d3e1, s2e2)) end // end of [if] // end of [val] val () = d3exp_set_type (d3e1, s2e2) in d3e1 end // end of [_] in (* in of [local] *) implement d3exp_trdn (d3e1, s2e2) = let // val s2f2 = s2exp2hnf (s2e2) // in // case+ s2e2.s2exp_node of | S2Erefarg (_, s2e2) => d3exp_trdn (d3e1, s2e2) | _ => aux (d3e1, s2f2) // end (* end of [d3exp_trdn] *) end // end of [local] (* ****** ****** *) implement d3explst_trdn_arg (d3es, s2es) = case+ d3es of | list_cons (d3e, d3es) => ( case+ s2es of | list_cons (s2e, s2es) => let val d3e = d3exp_trdn (d3e, s2e) in list_cons (d3e, d3explst_trdn_arg (d3es, s2es)) end // end of [list_cons] | list_nil () => list_nil () ) // end of [list_cons] | list_nil () => list_nil () // end of [d3explst_trdn_arg] (* ****** ****** *) implement d3explst_get_ind (xs) = let // fun f (x: d3exp): s2exp = let val () = d3exp_open_and_add (x) in d3exp_get_type (x) end // end of [d3exp_get_ind] // in l2l (list_map_fun (xs, f)) end // end of [d3explst_get_ind] (* ****** ****** *) (* end of [pats_trans3_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexbuf.sats0000664000175000017500000000717312655455557016745 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) %{# #include "pats_lexbuf.cats" %} // end of [%{#] (* ****** ****** *) staload LOC = "./pats_location.sats" typedef position = $LOC.position typedef location = $LOC.location (* ****** ****** *) // absvt@ype lexbuf_vt0ype = $extype "pats_lexbuf_struct" // vtypedef lexbuf = lexbuf_vt0ype // (* ****** ****** *) fun lexbuf_initize_filp {m:file_mode}{l0:addr} ( pfmod: file_mode_lte(m,r) , pffil: FILE (m) @ l0 | lexbuf: &lexbuf? >> lexbuf, p0: ptr l0 ) : void // end of [lexbuf_initize_filp] (* ****** ****** *) fun lexbuf_initize_getc ( buf: &lexbuf? >> lexbuf, getc: () - int ) : void // end of [lexbuf_initize_getc] (* ****** ****** *) fun lexbuf_initize_string ( buf: &lexbuf? >> lexbuf, inp: string ) : void // end of [lexbuf_initize_string] (* ****** ****** *) fun lexbuf_initize_charlst_vt ( buf: &lexbuf? >> lexbuf, inp: List_vt (char) ) : void // end of [lexbuf_initize_charlst_vt] (* ****** ****** *) fun lexbuf_uninitize ( buf: &lexbuf >> lexbuf? ) : void // end of [lexbuf_uninitize] (* ****** ****** *) fun lexbuf_get_base (buf: &lexbuf): lint (* ****** ****** *) // fun lexbuf_get_position ( buf: &lexbuf, pos: &position? >> position ) : void // end-of-fun // fun lexbuf_set_position (buf: &lexbuf >> lexbuf, pos: &position): void // (* ****** ****** *) fun lexbuf_get_nspace (buf: &lexbuf): int fun lexbuf_set_nspace (buf: &lexbuf, n: int): void (* ****** ****** *) fun lexbufpos_diff (buf: &lexbuf, pos: &position): uint // end of [lexbufpos_diff] fun lexbufpos_get_location (buf: &lexbuf, pos: &position): location // end of [lexbufpos_get_location] (* ****** ****** *) fun lexbuf_get_char (buf: &lexbuf, nchr: uint): int fun lexbufpos_get_char (buf: &lexbuf, position: &position): int (* ****** ****** *) fun lexbuf_incby_count (buf: &lexbuf, cnt: uint): void (* ****** ****** *) // fun lexbuf_get_strptr0 (buf: &lexbuf, ln: uint): strptr0 fun lexbuf_get_strptr1 (buf: &lexbuf, ln: uint): strptr1 // fun lexbufpos_get_strptr0 (buf: &lexbuf, pos: &position): strptr0 fun lexbufpos_get_strptr1 (buf: &lexbuf, pos: &position): strptr1 // fun lexbuf_get_substrptr0 (buf: &lexbuf, st: uint, ln: uint): strptr0 fun lexbuf_get_substrptr1 (buf: &lexbuf, st: uint, ln: uint): strptr1 // (* ****** ****** *) (* end of [pats_lexbuf.sats] *) ATS2-Postiats-0.2.6/./src/pats_hidynexp_print.dats0000664000175000017500000005460512655455557020507 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload FIL = "./pats_filename.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) implement fprint_hipat (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x.hipat_node of // | HIPany (d2v) => { val () = prstr "HIPany(" val () = fprint_d2var (out, d2v) val () = prstr ")" } (* end of [HIPany] *) | HIPvar (d2v) => { val () = prstr "HIPvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } (* end of [HIPvar] *) // | HIPcon ( pck, d2c, hse_sum, lhips ) => { val () = prstr "HIPcon(" val () = fprint_d2con (out, d2c) val () = prstr "(" val () = fprint_hisexp (out, hse_sum) val () = prstr "; " val () = fprint_labhipatlst (out, lhips) val () = prstr ")" val () = prstr ")" } | HIPcon_any (pck, d2c) => { val () = prstr "HIPcon_any(" val () = fprint_d2con (out, d2c) val () = prstr ")" } // | HIPint (i) => { val () = prstr "HIPint(" val () = fprint_int (out, i) val () = prstr ")" } | HIPintrep (intrep) => { val () = prstr "HIPintrep(" val () = fprint_string (out, intrep) val () = prstr ")" } | HIPbool (b) => { val () = prstr "HIPbool(" val () = fprint_bool (out, b) val () = prstr ")" } | HIPchar (c) => { val () = prstr "HIPchar(" val () = fprint_char (out, c) val () = prstr ")" } | HIPstring (str) => { val () = prstr "HIPstring(" val () = fprint_string (out, str) val () = prstr ")" } | HIPfloat (rep) => { val () = prstr "HIPfloat(" val () = fprint_string (out, rep) val () = prstr ")" } // | HIPi0nt (tok) => { val () = prstr "HIPi0nt(" val () = $SYN.fprint_i0nt (out, tok) val () = prstr ")" } | HIPf0loat (tok) => { val () = prstr "HIPf0loat(" val () = $SYN.fprint_f0loat (out, tok) val () = prstr ")" } // end of [HIPf0lat] // | HIPempty () => prstr "HIPempty()" // (* | HIPlst ( hse_elt, hips_elt ) => { val () = prstr "HIPlst(" val () = fprint_hisexp (out, hse_elt) val () = prstr "; " val () = fprint_hipatlst (out, hips_elt) val () = prstr ")" } // end of [HIPlst] *) // | HIPrec ( knd, lhips, hse_rec ) => { val () = prstr "HIPrec(" val () = fprintf (out, "knd= %i", @(knd)) val () = prstr "; " val () = fprint_labhipatlst (out, lhips) val () = prstr ")" } // end of [HIPrec] // | HIPrefas (d2v, hip) => { val () = prstr "HIPrefas(" val () = fprint_d2var (out, d2v) val () = prstr ", " val () = fprint_hipat (out, hip) val () = prstr (")") } (* end of [HIPrefas] *) // | HIPann (hip, ann) => { val () = prstr "HIPann(" val () = fprint_hipat (out, hip) val () = prstr " : " val () = fprint_hisexp (out, ann) val () = prstr ")" } (* end of [HIPann] *) // | HIPerr ((*void*)) => prstr "HIPerr()" // (* | _ => { val () = fprint_string (out, "HIP...(...)") } // end of [_] *) // end // end of [fprint_hipat] implement print_hipat (x) = fprint_hipat (stdout_ref, x) implement prerr_hipat (x) = fprint_hipat (stderr_ref, x) implement fprint_hipatlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_hipat) // end of [fprint_hipatlst] extern fun fprint_labhipat : fprint_type (labhipat) implement fprint_labhipat (out, lx) = { val LABHIPAT (l, x) = lx val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "= ") val () = fprint_hipat (out, x) } // end of [fprint_labhipat] implement fprint_labhipatlst (out, lxs) = $UT.fprintlst (out, lxs, ", ", fprint_labhipat) // end of [fprint_labhipatlst] (* ****** ****** *) implement fprint_hilab (out, hil) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ hil.hilab_node of | HILlab (lab) => { val () = prstr "HILlab(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } // end of [HILlab] | HILind (ind) => { val () = prstr "HILind(" val () = $UT.fprintlst (out, ind, ", ", fprint_hidexp) val () = prstr ")" } // end of [HILind] // end // end of [fprint_hilab] implement fprint_hilablst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_hilab) // end of [fprint_hilablst] (* ****** ****** *) extern fun fprint_higmat : fprint_type (higmat) extern fun fprint_hiclau : fprint_type (hiclau) (* ****** ****** *) implement fprint_hidexp (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x.hidexp_node of // | HDEcst (d2c) => { val () = prstr "HDEcst(" val () = fprint_d2cst (out, d2c) val () = prstr ")" } | HDEvar (d2v) => { val () = prstr "HDEvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // | HDEint (i) => { val () = prstr "HDEint(" val () = fprint_int (out, i) val () = prstr ")" } | HDEintrep (rep) => { val () = prstr "HDEintrep(" val () = fprint_string (out, rep) val () = prstr ")" } | HDEbool (b) => { val () = prstr "HDEbool(" val () = fprint_bool (out, b) val () = prstr ")" } | HDEchar (c) => { val () = prstr "HDEchar(" val () = fprint_char (out, c) val () = prstr ")" } | HDEfloat (rep) => { val () = prstr "HDEfloat(" val () = fprint_string (out, rep) val () = prstr ")" } | HDEstring (str) => { val () = prstr "HDEstring(" val () = fprint_string (out, str) val () = prstr ")" } // | HDEi0nt (tok) => { val () = prstr "HDEi0nt(" val () = $SYN.fprint_i0nt (out, tok) val () = prstr ")" } | HDEf0loat (tok) => { val () = prstr "HDEf0loat(" val () = $SYN.fprint_f0loat (out, tok) val () = prstr ")" } // | HDEcstsp (x) => { val () = $SYN.fprint_cstsp (out, x) } // | HDEtop () => prstr "HDEtop()" | HDEempty () => prstr "HDEempty()" | HDEignore (hde) => { val () = prstr "HDEignore(" val () = fprint_hidexp (out, hde) val () = prstr ")" } // | HDEcastfn (d2c, arg) => { val () = prstr "HDEcastfn(" val () = fprint_d2cst (out, d2c) val () = prstr ", " val () = fprint_hidexp (out, arg) val () = prstr ")" } // | HDEextval (name) => { val () = prstr "HDEextval(" val () = prstr "\"" val () = fprint_string (out, name) val () = prstr "\"" val () = prstr ")" } // | HDEextfcall (_fun, _arg) => { val () = prstr "HDEextfcall(" val () = prstr "\"" val () = fprint_string (out, _fun) val () = prstr "\"" val () = prstr "; " val () = fprint_hidexplst (out, _arg) val () = prstr ")" } | HDEextmcall (_obj, _mtd, _arg) => { val () = prstr "HDEextmcall(" val () = fprint_hidexp (out, _obj) val () = prstr "; " val () = prstr "\"" val () = fprint_string (out, _mtd) val () = prstr "\"" val () = prstr "; " val () = fprint_hidexplst (out, _arg) val () = prstr ")" } // | HDEcon ( d2c, hse_sum, lhdes ) => { val () = prstr "HDEcon(" val () = fprint_d2con (out, d2c) val () = prstr "(" val () = fprint_hisexp (out, hse_sum) val () = prstr "; " val () = fprint_labhidexplst (out, lhdes) val () = prstr ")" val () = prstr ")" } // end of [HDEcon] // | HDEtmpcst (d2c, t2mas) => { val () = prstr "HDEtmpcst(" val () = fprint_d2cst (out, d2c) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } | HDEtmpvar (d2v, t2mas) => { val () = prstr "HDEtmpvar(" val () = fprint_d2var (out, d2v) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } // | HDEfoldat () => prstr "HDEfoldat()" | HDEfreeat (hde) => { val () = prstr "HDEfreeat(" val () = fprint_hidexp (out, hde) val () = prstr ")" } // | HDElet (hids, hde) => { val () = prstr "HDElet(\n" val () = fprint_hideclist (out, hids) val () = prstr "**in**\n" val () = fprint_hidexp (out, hde) val () = prstr "\n)" } // | HDEapp ( _fun, hse_fun, _arg ) => { val () = prstr "HDEapp(" val () = fprint_hidexp (out, _fun) val () = prstr "(" val () = fprint_hisexp (out, hse_fun) val () = prstr "; " val () = fprint_hidexplst (out, _arg) val () = prstr ")" val () = prstr ")" } // | HDEif ( _cond, _then, _else ) => { val () = prstr "HDEif(" val () = fprint_hidexp (out, _cond) val () = prstr "; " val () = fprint_hidexp (out, _then) val () = prstr "; " val () = fprint_hidexp (out, _else) val () = prstr ")" } // end of [HDEif] | HDEsif ( _cond, _then, _else ) => { val () = prstr "HDEsif(" val () = fpprint_s2exp (out, _cond) val () = prstr "; " val () = fprint_hidexp (out, _then) val () = prstr "; " val () = fprint_hidexp (out, _else) val () = prstr ")" } // end of [HDEsif] // | HDEcase ( knd, hdes, hcls ) => { val () = prstr "HDEcase(\n" val () = fprint_caskind (out, knd) val () = prstr "\n" val () = fprint_hidexplst (out, hdes) val () = prstr "\n" val () = $UT.fprintlst (out, hcls, "\n", fprint_hiclau) val () = prstr "\n)" } // end of [HDEcase] // | HDElst ( lin, hse_elt, hdes ) => { val () = prstr "HDElst(" val () = fprintf (out, "lin= %i", @(lin)) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val () = prstr "; " val () = fprint_hidexplst (out, hdes) val () = prstr ")" } // end of [HDElst] | HDErec ( knd, lhdes, hse_rec ) => { val () = prstr "HDErec(" val () = fprintf (out, "knd= %i", @(knd)) val () = prstr "; " val () = fprint_labhidexplst (out, lhdes) val () = prstr ")" } // end of [HDErec] | HDEseq (hdes) => { val () = prstr "HDEseq(" val () = fprint_hidexplst (out, hdes) val () = prstr ")" } // | HDEselab ( hde, hse_flt, hils ) => { val () = prstr "HDEselab(" val () = fprint_hidexp (out, hde) val () = prstr "; " val () = fprint_hisexp (out, hse_flt) val () = prstr "; " val () = fprint_hilablst (out, hils) val () = prstr ")" } // | HDEptrofvar (d2v) => { val () = prstr "HDEptrofvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } | HDEptrofsel (hde, hse_rt, hils) => { val () = prstr "HDEptrofsel(" val () = fprint_hidexp (out, hde) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr ")" } // | HDErefarg (knd, freeknd, hde) => { val () = prstr "HDErefarg(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, freeknd) val () = prstr "; " val () = fprint_hidexp (out, hde) val () = prstr ")" } // | HDEselvar (d2v, hse_rt, hils) => { val () = prstr "HDEselvar(" val () = fprint_d2var (out, d2v) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr ")" } | HDEselptr (hde, hse_rt, hils) => { val () = prstr "HDEselptr(" val () = fprint_hidexp (out, hde) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr ")" } // | HDEassgn_var ( d2v_l, hse_rt, hils, hde_r ) => { val () = prstr "HDEassgn_var(" val () = fprint_d2var (out, d2v_l) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr " := " val () = fprint_hidexp (out, hde_r) val () = prstr ")" } | HDEassgn_ptr ( hde_l, hse_rt, hils, hde_r ) => { val () = prstr "HDEassgn_ptr(" val () = fprint_hidexp (out, hde_l) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr " := " val () = fprint_hidexp (out, hde_r) val () = prstr ")" } // | HDExchng_var ( d2v_l, hse_rt, hils, hde_r ) => { val () = prstr "HDExchng_var(" val () = fprint_d2var (out, d2v_l) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr " := " val () = fprint_hidexp (out, hde_r) val () = prstr ")" } | HDExchng_ptr ( hde_l, hse_rt, hils, hde_r ) => { val () = prstr "HDExchng_ptr(" val () = fprint_hidexp (out, hde_l) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_hilablst (out, hils) val () = prstr "]" val () = prstr " := " val () = fprint_hidexp (out, hde_r) val () = prstr ")" } // | HDEarrpsz ( hse_elt, hdes_elt, asz ) => { val () = prstr "HDEarrpsz(" val () = fprint_hisexp (out, hse_elt) val () = prstr "; " val () = fprint_hidexplst (out, hdes_elt) val () = prstr "; " val () = fprint_int (out, asz) val () = prstr ")" } | HDEarrinit ( hse_elt, hde_asz, hdes_elt, asz ) => { val () = prstr "HDEarrinit(" val () = fprint_hisexp (out, hse_elt) val () = prstr "; " val () = fprint_hidexp (out, hde_asz) val () = prstr "; " val () = fprint_hidexplst (out, hdes_elt) val () = prstr ")" } // | HDEraise (hde) => { val () = prstr "HDEraise(" val () = fprint_hidexp (out, hde) val () = prstr ")" } // (* | HDEvcopyenv (d2v) => HX: HDEvar(d2v) *) // | HDEtempenver (d2vs) => { val () = prstr "HDEtempenver(" val () = fprint_d2varlst (out, d2vs) val () = prstr ")" } // | HDElam (knd, _arg, _body) => { val () = prstr "HDElam(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_hipatlst (out, _arg) val () = prstr "; " val () = fprint_hidexp (out, _body) val () = prstr ")" } // end of [HDElam] // | HDEfix (knd, f_d2v, hde_def) => { val () = prstr "HDEfix(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_d2var (out, f_d2v) val () = prstr "; " val () = fprint_hidexp (out, hde_def) val () = prstr ")" } // end of [HDEfix] // | HDEdelay (hde) => { val () = prstr "HDEdelay(" val () = fprint_hidexp (out, hde) val () = prstr ")" } | HDEldelay (hde1, hde2) => { val () = prstr "HDEldelay(" val () = fprint_hidexp (out, hde1) val () = prstr "; " val () = fprint_hidexp (out, hde2) val () = prstr ")" } (* end of [HDEldelay] *) // | HDElazyeval (lin, hde) => { val () = prstr "HDElazyeval(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_hidexp (out, hde) val () = prstr ")" } // | HDEloop _ => { val () = prstr "HDEloop(...)" } | HDEloopexn (knd) => { val () = prstr "HDEloopexn(" val () = fprint_int (out, knd) val () = prstr ")" } // | HDEtrywith (hde, hicls) => { val () = prstr "HDEtrywith(" val () = fprint_hidexp (out, hde) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } // | HDEerrexp ((*void*)) => prstr "HDEerrexp()" // (* | _ => { val () = fprint_string (out, "HDE...(...)") } // end of [_] *) // end // end of [fprint_hidexp] implement print_hidexp (x) = fprint_hidexp (stdout_ref, x) implement prerr_hidexp (x) = fprint_hidexp (stderr_ref, x) implement fprint_hidexplst (out, xs) = $UT.fprintlst (out, xs, "; ", fprint_hidexp) // end of [fprint_hidexplst] implement fprint_hidexpopt (out, opt) = $UT.fprintopt (out, opt, fprint_hidexp) // end of [fprint_hidexpopt] (* ****** ****** *) extern fun fprint_labhidexp : fprint_type (labhidexp) implement fprint_labhidexp (out, lx) = { val LABHIDEXP (l, x) = lx val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "= ") val () = fprint_hidexp (out, x) } // end of [fprint_labhidexp] implement fprint_labhidexplst (out, lxs) = $UT.fprintlst (out, lxs, "; ", fprint_labhidexp) // end of [fprint_labhidexplst] (* ****** ****** *) implement fprint_higmat (out, x) = { val () = fprint_string (out, "HIGMAT(") val () = fprint_hidexp (out, x.higmat_exp) val () = fprint_string (out, "; ") val () = $UT.fprintopt (out, x.higmat_pat, fprint_hipat) val () = fprint_string (out, ")") } // end of [fprint_higmat] (* ****** ****** *) implement fprint_hiclau (out, x) = { val () = fprint_string (out, "HICLAU(") val () = fprint_hipatlst (out, x.hiclau_pat) val () = fprint_string (out, " => ") val () = fprint_hidexp (out, x.hiclau_body) val () = fprint_string (out, ")") } // end of [fprint_hiclau] (* ****** ****** *) // implement print_hidecl (hid) = fprint_hidecl (stdout_ref, hid) implement prerr_hidecl (hid) = fprint_hidecl (stderr_ref, hid) // implement fprint_hidecl (out, hid) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ hid.hidecl_node of // | HIDnone () => prstr "HIDnone()" // | HIDlist (hids) => { val () = prstr "HIDlist(\n" val () = $UT.fprintlst (out, hids, "\n", fprint_hidecl) val () = prstr "\n)" } // | HIDextcode (knd, pos, code) => { val () = prstr "HIDextcode(" val () = fprintf (out, "knd=%i, pos=%i, code=...", @(knd, pos)) val () = prstr ")" } (* end of [HIDextcode] *) // | HIDdatdecs (knd, s2cs) => { val () = prstr "HIDdatdecs(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_s2cstlst (out, s2cs) val () = prstr ")" } // | HIDexndecs (d2cs) => { val () = prstr "HIDexndecs(" val () = fprint_d2conlst (out, d2cs) val () = prstr ")" } // | HIDdcstdecs (dck, d2cs) => { val () = prstr "HIDdcstdecs(" val () = fprint_dcstkind (out, dck) val () = prstr "; " val () = fprint_d2cstlst (out, d2cs) val () = prstr ")" } // | HIDfundecs (knd, decarg, hfds) => { val () = prstr "HIDfundecs(\n" val () = $UT.fprintlst (out, hfds, "\n", fprint_hifundec) val () = prstr "\n)" } // end of [HIDfundec] // | HIDvaldecs (knd, hvds) => { val () = prstr "HIDvaldecs(\n" val () = $UT.fprintlst (out, hvds, "\n", fprint_hivaldec) val () = prstr "\n)" } // end of [HIDvaldec] | HIDvaldecs_rec (knd, hvds) => { val () = prstr "HIDvaldecs_rec(\n" val () = $UT.fprintlst (out, hvds, "\n", fprint_hivaldec) val () = prstr "\n)" } // end of [HIDvaldec_rec] // | HIDvardecs (hvds) => { val () = prstr "HIDvardecs(\n" val () = $UT.fprintlst (out, hvds, "\n", fprint_hivardec) val () = prstr "\n)" } // end of [HIDvardec] // | HIDimpdec (knd, himpdec) => { val () = prstr "HIDimpdec(\n" val () = fprint_hiimpdec (out, himpdec) val () = prstr "\n)" } (* end of [HIDimpdec] *) // | HIDinclude (knd, hids) => { val () = prstr "HIDinclude(" val () = fprint_int (out, knd) val () = prstr "\n" val () = $UT.fprintlst (out, hids, "\n", fprint_hidecl) val () = prstr "\n)" } (* end of [HIDinclude] *) // | HIDstaload (idopt, cfil, _, _, _) => { val () = prstr "HIDstaload(" val () = $FIL.fprint_filename_full (out, cfil) val () = prstr ")" } (* end of [HIDstaload] *) | HIDstaloadloc (pfil, nspace, hids) => { val () = prstr "HIDstaloadloc(" val () = $FIL.fprint_filename_full (out, pfil) val () = $SYM.fprint_symbol (out, nspace) val () = prstr ")" } (* end of [HIDstaloadloc] *) // | _ => { val () = prstr "HID...(...)" } // end of [_] // end // end of [fprint_hidecl] // (* ****** ****** *) implement fprint_hideclist (out, hids) = let in // case+ hids of | list_cons (hid, hids) => let val () = fprint_hidecl (out, hid) val () = fprint_newline (out) in fprint_hideclist (out, hids) end // end of [list_cons] | list_nil () => () // end // end of [fprint_hideclist] (* ****** ****** *) implement fprint_hiimpdec (out, himpdec) = { val () = fprint_d2cst (out, himpdec.hiimpdec_cst) val () = fprint_string (out, " = ") val () = fprint_hidexp (out, himpdec.hiimpdec_def) } // end of [fprint_hiimpdec] (* ****** ****** *) implement fprint_hifundec (out, hvd) = { val () = fprint_d2var (out, hvd.hifundec_var) val () = fprint_string (out, " = ") val () = fprint_hidexp (out, hvd.hifundec_def) } // end of [fprint_hifundec] implement fprint_hivaldec (out, hvd) = { val () = fprint_hipat (out, hvd.hivaldec_pat) val () = fprint_string (out, " = ") val () = fprint_hidexp (out, hvd.hivaldec_def) } // end of [fprint_hivaldec] implement fprint_hivardec (out, hvd) = let macdef prstr (s) = fprint_string (out, ,(s)) val () = fprint_d2var (out, hvd.hivardec_dvar_ptr) val () = prstr " : " val () = fprint_hisexp (out, hvd.hivardec_type) val () = prstr " = " val () = $UT.fprintopt (out, hvd.hivardec_init, fprint_hidexp) in // nothing end // end of [fprint_hivardec] (* ****** ****** *) (* end of [pats_hidynexp_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_env.sats0000664000175000017500000001025712655455557017535 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload FIX = "./pats_fixity.sats" typedef fxty = $FIX.fxty (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload "./pats_syntax.sats" staload "./pats_symmap.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) fun the_e1xpenv_add (k: symbol, x: e1xp): void fun the_e1xpenv_addperv (k: symbol, x: e1xp): void fun the_e1xpenv_find (k: symbol): Option_vt (e1xp) (* ****** ******* *) // absview e1xpenv_push_v // fun the_e1xpenv_pop (pf: e1xpenv_push_v | (*none*)): symmap (e1xp) fun the_e1xpenv_push_nil (): (e1xpenv_push_v | void) // (* ****** ******* *) fun the_EXTERN_PREFIX_get (): Stropt fun the_EXTERN_PREFIX_set (prfx: string): void fun the_EXTERN_PREFIX_set_none (): void (* ****** ******* *) fun the_fxtyenv_add (key: symbol, itm: fxty): void fun the_fxtyenv_find (key: symbol): Option_vt (fxty) absview fxtyenv_push_v fun the_fxtyenv_pop (pf: fxtyenv_push_v | (*none*)): symmap (fxty) fun the_fxtyenv_push_nil (): (fxtyenv_push_v | void) fun the_fxtyenv_pervasive_joinwth (map: symmap (fxty)): void (* ****** ******* *) fun fprint_the_fxtyenv (out: FILEref): void // mostly for debugging (* ****** ****** *) (* // // HX-2014-07: // these function are no longer in use // absview trans1_level_v // for avoiding negative levels fun the_trans1_level_get (): int fun the_trans1_level_dec (pf: trans1_level_v | (*none*)): void fun the_trans1_level_inc (): (trans1_level_v | void) *) (* ****** ****** *) absview trans1_env_push_v fun the_trans1_env_pop (pf: trans1_env_push_v | (*none*)): void fun the_trans1_env_push (): (trans1_env_push_v | void) (* ** HX: for handling *) fun the_trans1_env_localjoin ( pf1: trans1_env_push_v, pf2: trans1_env_push_v | (*none*) ) : void // end of [trans1_env_localjoin] (* ****** ******* *) absview trans1_env_save_v fun the_trans1_env_save ((*none*)): (trans1_env_save_v | void) fun the_trans1_env_restore (pf: trans1_env_save_v | (*none*)): void (* ****** ****** *) fun staload_file_search (fil: filename): Option_vt@(int(*ldflg*), d1eclist) fun staload_file_insert (fil: filename, loadflag: int, d1cs: d1eclist): void (* ****** ******* *) // datatype pkgrelocitm = | PKGRELOCITM of (d0ecl, string(*given*)) | PKGRELOCITM2 of (d0ecl, string(*source*), string(*target*)) typedef pkgrelocitmlst = List (pkgrelocitm) // fun fprint_pkgrelocitm (out: FILEref, x: pkgrelocitm): void fun fprint_pkgrelocitmlst (out: FILEref, xs: pkgrelocitmlst): void // (* ****** ******* *) // fun the_pkgrelocitmlst_get (): pkgrelocitmlst // fun the_pkgreloc_insert (d0c: d0ecl, given: string): void fun the_pkgreloc_insert2 (d0c: d0ecl, given_s: string, given_t: string): void // (* ****** ******* *) fun the_trans1_env_initialize (): void (* ****** ******* *) (* end of [pats_trans1_env.sats] *) ATS2-Postiats-0.2.6/./src/pats_filename.sats0000664000175000017500000001147412655455557017237 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) abstype filename_type typedef filename = filename_type vtypedef filenameopt_vt = Option_vt (filename) (* ****** ****** *) fun theDirSep_get (): char = "patsopt_filename_theDirSep_get" // end of [theDirSep_get] fun theParDir_get (): string // parent directory fun theCurDir_get (): string // current directory (* ****** ****** *) // // HX-2012-08: // 0/1: intepreted locally/externally // fun givename_srchknd (given: string): int // (* ****** ****** *) fun givename_get_ngurl (given: string): int (* ****** ****** *) fun filename_get_givename (fil: filename): string fun filename_get_partname (fil: filename): string fun filename_get_fullname (fil: filename): $SYM.symbol (* ****** ****** *) (* // fun print_filename: filename -> void fun prerr_filename: filename -> void fun fprint_filename : (FILEref, filename) -> void // overload print with print_filename overload prerr with prerr_filename overload fprint with fprint_filename // *) (* ****** ****** *) fun print_filename_full (fil: filename): void fun prerr_filename_full (fil: filename): void fun fprint_filename_full (out: FILEref, fil: filename): void (* ****** ****** *) fun fprint2_filename_full (out: FILEref, fil: filename): void (* ****** ****** *) fun filename_merge ( fil: string, givename: string ) : Strptr1 = "patsopt_filename_merge" fun filename_append ( dir: string, givename: string ) :<> Strptr1 = "patsopt_filename_append" (* ****** ****** *) fun eq_filename_filename (x1: filename, x2: filename):<> bool fun compare_filename_filename (x1: filename, x2: filename):<> Sgn overload compare with compare_filename_filename (* ****** ****** *) // val filename_dummy : filename (* DUMMY *) // val filename_stdin : filename (* STDIN *) val filename_string : filename (* STRING *) // (* ****** ****** *) fun filename_is_dummy : filename -> bool fun filename_isnot_dummy : filename -> bool (* ****** ****** *) fun filename_is_sats (fil: filename): bool fun filename_is_dats (fil: filename): bool (* ****** ****** *) // fun filename_get_current((*void*)): filename // (* ****** ****** *) // absview the_filenamelst_push_v // fun the_filenamelst_pop (pf: the_filenamelst_push_v | (*none*)): void // fun the_filenamelst_push (fil: filename): (the_filenamelst_push_v | void) // end of [the_filenamelst_push] // fun the_filenamelst_push_check (fil: filename): (the_filenamelst_push_v | bool) // end of [the_filenamelst_push_check] // fun the_filenamelst_ppop (): void fun the_filenamelst_ppush (fil: filename): void // fun fprint_the_filenamelst (out: FILEref): void // (* ****** ****** *) // typedef path = string // fun path_normalize (s0: NSHARED(path)): path fun path_normalize_vt (s0: NSHARED(path)): Strptr1 // (* ****** ****** *) // absview the_pathlst_push_v // (* ****** ****** *) // fun the_pathlst_pop ( pf: the_pathlst_push_v | (*none*) ) : void // end-of-function // fun the_pathlst_push (x: path): (the_pathlst_push_v | void) fun the_pathlst_ppush(x: path): void // HX: permanent push // fun the_prepathlst_push (x: path): void = "ext#libatsopt_the_prepathlst_push" // (* ****** ****** *) // fun filename_make (given: string, part: string, full: string): filename // (* ****** ****** *) // fun pkgsrcname_relocatize (given: string, ngurl: int): string // (* ****** ****** *) fun filenameopt_make_local (name: string): filenameopt_vt fun filenameopt_make_relative (name: string): filenameopt_vt (* ****** ****** *) (* end of [pats_filename.sats] *) ATS2-Postiats-0.2.6/./src/pats_jsonize_synent2.sats0000664000175000017500000000740612655455557020622 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2013 // (* ****** ****** *) // // Author: William Blair // Authoremail: william.douglass.blairATgmailDOTcom // Contribing Time: August 7, 2014 // (* ****** ****** *) // // HX-2014-12-09: Reorganizing // (* ****** ****** *) // staload JSON = "./pats_jsonize.sats" typedef jsonval = $JSON.jsonval // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" // (* ****** ****** *) // // Statics // (* ****** ****** *) // fun jsonize_s2rt (s2t: s2rt): jsonval fun jsonize_s2rtlst (s2ts: s2rtlst): jsonval // fun jsonize_s2cst (s2c: s2cst): jsonval fun jsonize_s2cst_long (s2c: s2cst): jsonval fun jsonize_s2cstlst (s2cs: s2cstlst): jsonval // fun jsonize_s2rtdat_long (s2td: s2rtdat): jsonval // fun jsonize_s2var (s2v: s2var): jsonval fun jsonize_s2var_long (s2v: s2var): jsonval // fun jsonize_s2Var (s2V: s2Var): jsonval fun jsonize_s2Var_long (s2V: s2Var): jsonval // fun jsonize_s2varlst (s2vs: s2varlst): jsonval // fun jsonize_d2con (d2c: d2con): jsonval fun jsonize_d2con_long (d2c: d2con): jsonval fun jsonize_d2conlst (d2cs: d2conlst): jsonval // fun jsonize_tyreckind : tyreckind -> jsonval // fun jsonize_s2exp (flag: int, s2e: s2exp): jsonval fun jsonize_s2explst (flag: int, s2es: s2explst): jsonval fun jsonize_s2expopt (flag: int, s2eopt: s2expopt): jsonval // fun jsonize_labs2explst (flag: int, ls2es: labs2explst): jsonval // fun jsonize_s2eff (s2fe: s2eff): jsonval // fun jsonize_s2zexp (s2e: s2zexp): jsonval // (* ****** ****** *) // fun jsonize0_s2exp (s2e: s2exp): jsonval // w/o hnfizing fun jsonize1_s2exp (s2e: s2exp): jsonval // with hnfizing // fun jsonize0_s2explst (s2es: s2explst): jsonval // w/o hnfizing fun jsonize1_s2explst (s2es: s2explst): jsonval // with hnfizing // fun jsonize0_s2expopt (opt: s2expopt): jsonval // w/o hnfizing fun jsonize1_s2expopt (opt: s2expopt): jsonval // with hnfizing // (* ****** ****** *) // // Dynamics // (* ****** ****** *) fun jsonize_d2cst (d2c: d2cst): jsonval fun jsonize_d2cst_long (d2c: d2cst): jsonval fun jsonize_d2cstlst (d2cs: d2cstlst): jsonval (* ****** ****** *) fun jsonize_d2var (d2v: d2var): jsonval fun jsonize_d2var_long (d2v: d2var): jsonval (* ****** ****** *) fun jsonize_d2itm (d2i: d2itm): jsonval (* ****** ****** *) fun jsonize_d2ecl (d2c: d2ecl): jsonval fun jsonize_d2eclist (d2cs: d2eclist): jsonval (* ****** ****** *) // fun d2eclist_jsonize_out (out: FILEref, d2cs: d2eclist): void // (* ****** ****** *) (* end of [pats_jsonize_synent2.sats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_emit3.dats0000664000175000017500000012013712655455557017637 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_ccomp_emit2" // (* ****** ****** *) // staload ERR = "./pats_error.sats" // staload FIL = "./pats_filename.sats" staload LOC = "./pats_location.sats" // (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload S2E = "./pats_staexp2.sats" typedef d2con = $S2E.d2con typedef d2conlst = $S2E.d2conlst (* ****** ****** *) staload D2E = "./pats_dynexp2.sats" typedef d2cst = $D2E.d2cst typedef d2ecl = $D2E.d2ecl typedef d2eclist = $D2E.d2eclist overload = with $D2E.eq_d2cst_d2cst overload != with $D2E.neq_d2cst_d2cst (* ****** ****** *) staload TR2ENV = "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement emit_exndec (out, hid) = let // val loc0 = hid.hidecl_loc val-HIDexndecs (d2cs) = hid.hidecl_node // val () = emit_text (out, "/*\n") val () = emit_location (out, loc0) val () = emit_text (out, "\n*/\n") // fun auxlst ( out: FILEref, d2cs: d2conlst ) : void = let in // case+ d2cs of | list_nil () => () | list_cons (d2c, d2cs) => let val () = emit_text (out, "ATSdynexn_dec(") val () = emit_d2con (out, d2c) val () = emit_text (out, ") ;\n") in auxlst (out, d2cs) end // end of [list_cons] // end (* end of [auxlst] *) // in auxlst (out, d2cs) end // end of [emit_exndec] (* ****** ****** *) implement emit_saspdec (out, hid) = let // val loc0 = hid.hidecl_loc val-HIDsaspdec (d2c) = hid.hidecl_node // val () = emit_text (out, "/*\n") val () = emit_location (out, loc0) val () = emit_text (out, "\n*/\n") // val () = emit_text (out, "ATSassume(") val () = emit_s2cst (out, d2c.s2aspdec_cst) val () = emit_text (out, ") ;\n") // in // nothing end // end of [emit_saspdec] (* ****** ****** *) implement emit_extype (out, hid) = let // val loc0 = hid.hidecl_loc // val-HIDextype (name, hse_def) = hid.hidecl_node // val () = emit_text (out, "/*\n") val () = emit_location (out, loc0) val () = emit_text (out, "\n*/\n") // in // case+ hse_def.hisexp_node of // | HSEtysum _ => { // val () = emit_text (out, "typedef\n") val () = emit_hisexp_sel (out, hse_def) val () = emit_text (out, "\n") val () = emit_text (out, name) val () = emit_text (out, "_") val () = emit_text (out, " ;\n") // val () = emit_text (out, "typedef\n") val () = emit_text (out, name) val () = emit_text (out, "_ *") val () = emit_text (out, name) val () = emit_text (out, " ;\n") // } (* end of [HSEtysum] *) // | _ (*non-tysum*) => { val () = emit_text (out, "typedef\n") val () = emit_hisexp (out, hse_def) val () = emit_text (out, "\n") val () = emit_text (out, name) val () = emit_text (out, " ;\n") } (* end of [non-tysum] *) // end // end of [emit_extype] (* ****** ****** *) implement emit_extcode (out, hid) = let // val loc0 = hid.hidecl_loc val-HIDextcode (knd, pos, code) = hid.hidecl_node // val () = emit_text (out, "/*\n") val () = emit_location (out, loc0) val () = emit_text (out, "\n*/") val () = emit_text (out, "\nATSextcode_beg()") val () = emit_text (out, code) val () = emit_text (out, "ATSextcode_end()\n") // in // nothing end // end of [emit_extcode] (* ****** ****** *) local fun auxloc ( out: FILEref, loc: location ) : void = let val () = emit_text (out, "/*\n") val () = emit_location (out, loc) val () = emit_text (out, "\n*/\n") in // nothing end // end of [auxloc] fun auxsta ( out: FILEref, d2cs: d2eclist ) : void = let in // case+ d2cs of | list_cons (d2c, d2cs) => let val () = ( case+ d2c.d2ecl_node of | $D2E.D2Cextcode (knd, pos, code) => let val () = auxloc (out, d2c.d2ecl_loc) // end of [val] in emit_text (out, code) end // end of [D2Cextcode] | $D2E.D2Cstaload ( idopt, fil, flag, fenv, loaded ) => let val () = auxloc (out, d2c.d2ecl_loc) val d2cs = $TR2ENV.filenv_get_d2eclist (fenv) val issta = $FIL.filename_is_sats (fil) in if issta then auxsta (out, d2cs) else () end // end of [D2Cstaload] | _ (*skipped*) => ((*void*)) ) : void // end of [val] in auxsta (out, d2cs) end // end of [list_cons] | list_nil () => () // end // end of [auxsta] fun auxdyn ( out: FILEref, d2cs: d2eclist ) : void = let in // case+ d2cs of | list_cons (d2c, d2cs) => let val ( ) = ( case+ d2c.d2ecl_node of | $D2E.D2Cstaload ( idopt, fil, flag, fenv, loaded ) => let val () = auxloc (out, d2c.d2ecl_loc) val d2cs = $TR2ENV.filenv_get_d2eclist (fenv) val issta = $FIL.filename_is_sats (fil) in if issta then auxsta (out, d2cs) else auxdyn (out, d2cs) // end of [if] end // end of [D2Cstaload] | $D2E.D2Clocal ( d2cs_head, d2cs_body ) => let val () = auxdyn (out, d2cs_head) val () = auxdyn (out, d2cs_body) in (*nothing*) end // end of [D2Clocal] | _ => () ) : void // end of [val] in auxdyn (out, d2cs) end // end of [list_cons] | list_nil () => () // end // end of [auxdyn] in (* in of [local] *) implement emit_staload (out, hid) = let // val-HIDstaload ( idopt, fil, flag, fenv, loaded ) = hid.hidecl_node // end-of-val (* val () = println! ("emit_staload: flag = ", flag) *) val d2cs = $TR2ENV.filenv_get_d2eclist (fenv) // val issta = $FIL.filename_is_sats (fil) // in if issta then auxsta (out, d2cs) else auxdyn (out, d2cs) end // end of [emit_staload] end // end of [local] (* ****** ****** *) extern fun emit_tmprimval (out: FILEref, tpmv: tmprimval): void extern fun emit_tmpmovlst (out: FILEref, tmvlst: tmpmovlst): void (* ****** ****** *) implement emit_tmprimval (out, tpmv) = ( case+ tpmv of | TPMVnone (pmv) => emit_primval (out, pmv) | TPMVsome (tmp, _) => emit_tmpvar (out, tmp) ) (* end of [emit_tmprimval] *) (* ****** ****** *) implement emit_tmpmovlst (out, tmvlst) = let // fun auxlst ( out: FILEref, i: int, xs: tmpmovlst ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = emit_text (out, "ATSINSmove(") val () = emit_tmpvar (out, x.1) val () = emit_text (out, ", ") val () = emit_tmprimval (out, x.0) val () = emit_text (out, ") ;") in auxlst (out, i+1, xs) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] // in auxlst (out, 0(*i*), tmvlst) end (* end of [emit_tmpmovlst] *) (* ****** ****** *) // extern fun emit_patckont (out: FILEref, fail: patckont): void // implement emit_patckont (out, fail) = let in // case+ fail of // | PTCKNTtmplab (tlab) => { val () = emit_text (out, "ATSINSgoto(") val () = emit_tmplab (out, tlab) val ((*closing*)) = emit_text (out, ")") } // | PTCKNTtmplabint (tlab, int) => { val () = emit_text (out, "ATSINSgoto(") val () = emit_tmplabint (out, tlab, int) val ((*closing*)) = emit_text (out, ")") } // | PTCKNTtmplabmov (tlab, tmvlst) => { val () = emit_tmpmovlst (out, tmvlst) val () = emit_text (out, "ATSINSgoto(") val () = emit_tmplab (out, tlab) val ((*closing*)) = emit_text (out, ")") } // | PTCKNTraise (tmp, pmv_exn) => { val () = emit_text (out, "ATSINSraise_exn(") val () = ( emit_tmpvar (out, tmp); emit_text (out, ", "); emit_primval (out, pmv_exn) ) (* end of [val] *) val ((*closing*)) = emit_text (out, ")") } // | PTCKNTcaseof_fail (loc) => { val () = emit_text (out, "ATSINScaseof_fail(\"") val () = $LOC.fprint_location (out, loc) val ((*closing*)) = emit_text (out, "\")") } // | PTCKNTfunarg_fail (loc, flab) => { val () = emit_text (out, "ATSINSfunarg_fail(\"") val () = $LOC.fprint_location (out, loc) val ((*closing*)) = emit_text (out, "\")") } // | PTCKNTnone ((*void*)) => { val () = emit_text (out, "ATSINSdeadcode_fail()") } // end // (* end of [emit_patckont] *) // (* ****** ****** *) // // HX-2013-01: // // the kind of code duplication in the implementation // of [emit_instr_patck] can be readily removed by using // template system of ATS2. // // local fun auxcon ( out: FILEref , pmv: primval , d2c: d2con, fail: patckont ) : void =let // val s2c = $S2E.d2con_get_scst (d2c) // in // case+ 0 of | _ when $S2E.s2cst_is_singular (s2c) => () | _ when $S2E.s2cst_is_listlike (s2c) => let val islst = $S2E.s2cst_get_islst (s2c) val isnil = ( case+ islst of | Some xx => $S2E.eq_d2con_d2con (d2c, xx.0) | None () => false (* deadcode *) ) : bool // end of [val] val () = emit_text (out, "ATSifthen(") val () = ( if isnil then emit_text (out, "ATSCKptriscons(") else emit_text (out, "ATSCKptrisnull(") // end of [if] ) : void // end of [val] val () = emit_primval (out, pmv) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") in // nothing end // end of [islistlike] | _ => let val isnul = $S2E.d2con_is_nullary (d2c) // end of [val] val () = emit_text (out, "ATSifnthen(") val () = ( if isnul then emit_text (out, "ATSCKpat_con0(") else emit_text (out, "ATSCKpat_con1(") // end of [if] ) : void // end of [val] val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_int (out, $S2E.d2con_get_tag (d2c)) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") in // nothing end // end of [PATCKcon] // end // end of [auxcon] fun auxexn ( out: FILEref , pmv: primval , d2c: d2con, fail: patckont ) : void = let // val narg = $S2E.d2con_get_arity_real (d2c) // val () = emit_text (out, "ATSifnthen(") val () = ( if narg = 0 then emit_text (out, "ATSCKpat_exn0(") else emit_text (out, "ATSCKpat_exn1(") // end of [if] ) : void // end of [val] val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_d2con (out, d2c); val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") // in // nothing end // end of [auxexn] fun auxmain ( out: FILEref , pmv: primval, patck: patck, fail: patckont ) : void = let in // case+ patck of // | PATCKcon (d2c) => let val iscon = $S2E.d2con_is_con (d2c) in if iscon then auxcon (out, pmv, d2c, fail) else auxexn (out, pmv, d2c, fail) // end of [if] end // end of [PATCKcon] // | PATCKint (i) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_int(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVint (out, i) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKint] *) // | PATCKbool (b) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_bool(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVbool (out, b) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKbool] *) // | PATCKchar (c) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_char(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVchar (out, c) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKchar] *) // | PATCKfloat (float) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_float(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVfloat (out, float) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKfloat] *) // | PATCKstring (string) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_string(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVstring (out, string) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKstring] *) // | PATCKi0nt (tok) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_int(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVi0nt (out, tok) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKi0nt] *) // | PATCKf0loat (tok) => { val () = emit_text (out, "ATSifnthen(") val () = emit_text (out, "ATSCKpat_float(") val () = emit_primval (out, pmv) val () = emit_text (out, ", ") val () = emit_ATSPMVf0loat (out, tok) val () = emit_text (out, ")) { ") val () = emit_patckont (out, fail) val () = emit_text (out, " ; } ;") } (* end of [PATCKf0loat] *) // (* | _ (*unrecognized*) => let val () = prerr_interror () val () = prerrln! (": emit_instr_patck: patck = ", patck) val () = assertloc (false) in $ERR.abort ((*void*)) end // end of [let] // end of [_] *) // end (* end of [auxmain] *) in (* in of [local] *) implement emit_instr_patck (out, ins) = let // val-INSpatck (pmv, patck, fail) = ins.instr_node val isnone = patckont_is_none (fail) val () = if isnone then emit_text (out, "#if(0)\n") val () = auxmain (out, pmv, patck, fail) val () = if isnone then emit_text (out, "\n#endif") // in // nothing end // end of [emit_instr_patck] end // end of [local] (* ****** ****** *) local fun aux ( out: FILEref, ibr: ibranch ) : void = let // val inss = ibr.ibranch_inslst // val () = emit_text (out, "ATSbranch_beg()\n") val () = emit_instrlst_ln (out, inss) val () = emit_text (out, "ATSbranch_end()\n") // in // nothing end // end of [emit_branch] in (*in-of-local*) implement emit_ibranchlst (out, ibrs) = let // fun auxlst ( out: FILEref , i: int, ibrs: ibranchlst ) : void = let in // case+ ibrs of | list_cons (ibr, ibrs) => { val () = aux (out, ibr) val () = emit_newline (out) val () = auxlst (out, i+1, ibrs) } // end of [list_cons] | list_nil () => () // end // end of [auxlst] // val () = emit_text ( out, "/*\n** ibranchlst-beg\n*/\n" ) val () = auxlst (out, 0(*i*), ibrs) val () = emit_text ( out, "/*\n** ibranchlst-end\n*/\n" ) in // nothing end // end of [emit_ibranchlst] end // end of [local] (* ****** ****** *) local fun auxfun ( out: FILEref, fent: funent ) : void = let // val flab = funent_get_lab (fent) val istmp = (funlab_get_tmpknd (flab) > 0) // val qopt = funlab_get_d2copt (flab) val isqua = ( case+ qopt of Some (d2c) => true | None () => false ) : bool // end of [val] val isext = ( case+ qopt of | Some (d2c) => if $D2E.d2cst_is_static (d2c) then false else true | None _ => false ) : bool // end of [val] // val flopt = funlab_get_origin (flab) val isqua = ( case+ flopt of Some _ => false | None () => isqua ) : bool // end of [val] val isext = ( case+ flopt of Some _ => false | None () => isext ) : bool // end of [val] val issta = not (isext) // val () = if istmp then emit_text (out, "#if(0)\n") val () = if isqua then emit_text (out, "#if(0)\n") // val () = if isext then emit_text (out, "ATSextern()\n") val () = if issta then emit_text (out, "ATSstatic()\n") // val hse_res = funlab_get_type_res (flab) val hses_arg = funlab_get_type_fullarg (flab) // val ( ) = emit_hisexp (out, hse_res) val () = emit_text (out, "\n") val () = emit_funlab (out, flab) val () = emit_text (out, "(") val ( ) = emit_hisexplst_sep (out, hses_arg, ", ") val () = emit_text (out, ") ;\n") // val () = if isqua then emit_text (out, "#endif // end of [QUALIFIED]\n") // val () = if istmp then emit_text (out, "#endif // end of [TEMPLATE]\n") // in // nothing end // end of [auxfun] in (* in of [local] *) implement emit_funent_ptype (out, fent) = let // val () = auxfun (out, fent) // val () = emit_newline (out) // in // nothing end // end of [emit_funentry_ptype] end // end of [local] (* ****** ****** *) local fun aux0_arglst ( out: FILEref , hses: hisexplst, i: int ) : void = let in // case+ hses of // | list_nil () => () // | list_cons (hse, hses) => let val () = if i > 0 then emit_text (out, ", ") // end of [if] val () = emit_hisexp (out, hse) in aux0_arglst (out, hses, i+1) end // end of [list_cons] // end (* end of [aux0_arglst] *) fun aux1_arglst ( out: FILEref , hses: hisexplst, n0: int, i: int ) : void = let in // case+ hses of // | list_nil () => () // | list_cons (hse, hses) => let val () = if n0+i > 0 then emit_text (out, ", ") val () = ( emit_hisexp (out, hse); emit_text (out, " arg"); emit_int (out, i) ) : void // end of [val] in aux1_arglst (out, hses, n0, i+1) end // end of [list_cons] // end (* end of [aux1_arglst] *) fun aux2_arglst ( out: FILEref , hses: hisexplst, n0: int, i: int ) : void = let in // case+ hses of // | list_nil () => () // | list_cons (hse, hses) => let val () = if n0+i > 0 then emit_text (out, ", ") val () = ( emit_text (out, "arg"); emit_int (out, i) ) : void // end of [val] in aux2_arglst (out, hses, n0, i+1) end // end of [list_cons] // end (* end of [aux2_arglst] *) fun aux0_envlst ( out: FILEref, d2es: d2envlst, i: int ) : void = let in // case+ d2es of // | list_nil () => () // | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) val () = if i > 0 then emit_text (out, ", ") // end of [if] val () = emit_hisexp (out, hse) in aux0_envlst (out, d2es, i+1) end // end of [list_cons] // end (* end of [aux0_envlst] *) fun aux1_envlst ( out: FILEref, d2es: d2envlst, i: int ) : void = let in // case+ d2es of // | list_nil () => () // | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) val () = ( emit_hisexp (out, hse); emit_text (out, " env"); emit_int (out, i) ) val () = emit_text (out, " ;\n") in aux1_envlst (out, d2es, i+1) end // end of [list_cons] // end (* end of [aux1_envlst] *) fun aux2_envlst ( out: FILEref , d2es: d2envlst, n0: int, i: int ) : int = let in // case+ d2es of // | list_nil () => (n0+i) // | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) val () = if n0+i > 0 then emit_text (out, ", ") val () = ( emit_hisexp (out, hse); emit_text (out, " env"); emit_int (out, i) ) : void // end of [val] in aux2_envlst (out, d2es, n0, i+1) end // end of [list_cons] // end (* end of [aux2_envlst] *) fun aux3_envlst ( out: FILEref , d2es: d2envlst, n0: int, i: int ) : int = let in // case+ d2es of // | list_nil () => (n0+i) // | list_cons (d2e, d2es) => let val () = if n0+i > 0 then emit_text (out, ", ") val () = ( emit_text (out, "env"); emit_int (out, i) ) : void // end of [val] in aux3_envlst (out, d2es, n0, i+1) end // end of [list_cons] // end (* end of [aux3_envlst] *) fun aux4_envlst ( out: FILEref , d2es: d2envlst, n0: int, i: int ) : int = let in // case+ d2es of // | list_nil () => (i) // | list_cons (d2e, d2es) => let val () = if n0+i > 0 then emit_text (out, ", ") val () = ( emit_text (out, "p_cenv->env"); emit_int (out, i) ) : void // end of [val] in aux4_envlst (out, d2es, n0, i+1) end // end of [list_cons] // end (* end of [aux4_envlst] *) fun aux5_envlst ( out: FILEref, d2es: d2envlst, i: int ) : void = let in // case+ d2es of | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) val () = ( emit_text (out, "p_cenv->env"); emit_int (out, i) ) : void // end of [val] val () = ( emit_text (out, " = "); emit_text (out, "env"); emit_int (out, i) ) : void // end of [val] val () = emit_text (out, " ;\n") in aux5_envlst (out, d2es, i+1) end // end of [list_cons] | list_nil () => () // end (* end of [aux5_envlst] *) fun auxclo_type ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = let // val () = emit_text (out, "typedef\n") val () = emit_text (out, "ATSstruct {\n") val () = emit_text (out, "atstype_funptr cfun ;\n") val () = aux1_envlst (out, d2es, 0) val ((*closing*)) = emit_text (out, "} ") // val () = emit_funlab (out, flab) val () = emit_text (out, "__closure_t0ype ;\n") // in // nothing end (* end of [auxclo_type] *) fun auxclo_cfun ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = let // val hse_res = funlab_get_type_res (flab) val hses_arg = funlab_get_type_arg (flab) // val isvoid = hisexp_is_void (hse_res) // val () = emit_text (out, "ATSstatic()\n") val () = emit_hisexp (out, hse_res) val () = emit_text (out, "\n") val () = emit_funlab (out, flab) val () = emit_text (out, "__cfun") val () = emit_text (out, "\n(\n") val () = emit_funlab (out, flab) val () = emit_text (out, "__closure_t0ype *p_cenv") val () = aux1_arglst (out, hses_arg, 1, 0) val () = emit_text (out, "\n)\n{\n") val () = emit_text (out, "ATSFCreturn") val () = if isvoid then emit_text (out, "_void") val () = emit_text (out, "(") val () = emit_funlab (out, flab) val () = emit_text (out, "(") val n0 = aux4_envlst (out, d2es, 0, 0) val () = aux2_arglst (out, hses_arg, n0, 0) val () = emit_text (out, ")) ;\n") val () = emit_text (out, "} /* end of [cfun] */\n") // in // nothing end (* end of [auxclo_cfun] *) fun auxclo_init ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = let // val () = emit_text (out, "ATSstatic()\n") val () = emit_text (out, "atstype_cloptr\n") // val () = emit_funlab (out, flab) val () = emit_text (out, "__closureinit") val () = emit_text (out, "\n(\n") // val () = emit_funlab (out, flab) val () = emit_text (out, "__closure_t0ype *p_cenv") val n0 = aux2_envlst (out, d2es, 1, 0) // val () = emit_text (out, "\n)\n{\n") val () = aux5_envlst (out, d2es, 0) val () = emit_text (out, "p_cenv->cfun = ") val () = emit_funlab (out, flab) val () = emit_text (out, "__cfun ;\n") val () = emit_text (out, "return p_cenv ;\n") val () = emit_text (out, "} /* end of [closureinit] */\n") // in // nothing end (* end of [auxclo_init] *) fun auxclo_create ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = let // val () = emit_text (out, "ATSstatic()\n") val () = emit_text (out, "atstype_cloptr\n") // val () = emit_funlab (out, flab) val () = emit_text (out, "__closurerize") val () = emit_text (out, "\n(\n") // val n0 = aux2_envlst (out, d2es, 0, 0) val () = if n0 = 0 then emit_text (out, "// argumentless") // val () = emit_text (out, "\n)\n{\n") val () = emit_text (out, "return ") val () = emit_funlab (out, flab) val () = emit_text (out, "__closureinit(") val () = emit_text (out, "ATS_MALLOC(sizeof(") val () = emit_funlab (out, flab) val () = emit_text (out, "__closure_t0ype))") val n0 = aux3_envlst (out, d2es, 1, 0) val () = emit_text (out, ") ;\n") val () = emit_text (out, "} /* end of [closurerize] */\n") // in // nothing end (* end of [auxclo_create] *) fun auxall_beg ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = { // val hse_res = funlab_get_type_res (flab) val hses_arg = funlab_get_type_arg (flab) // val () = emit_text ( out , "ATSclosurerize_beg" ) (* end of [val] *) // val () = emit_LPAREN (out) // val () = emit_funlab (out, flab) // val () = emit_text (out, ", ") // val () = emit_LPAREN (out) val () = aux0_envlst (out, d2es, 0) val () = emit_RPAREN (out) // val () = emit_text (out, ", ") // val () = emit_LPAREN (out) val () = aux0_arglst (out, hses_arg, 0) val () = emit_RPAREN (out) // val () = emit_text (out, ", ") // val () = emit_hisexp (out, hse_res) // val () = emit_RPAREN (out) val () = emit_newline (out) // } (* end of [auxall_end] *) fun auxall_end ( out: FILEref , flab: funlab, d2es: d2envlst ) : void = { // val () = emit_text (out, "ATSclosurerize_end()\n") // } (* end of [auxall_end] *) in (* in of [local] *) implement emit_funent_closure (out, fent) = let // val flab = funent_get_lab (fent) val d2es = funent_eval_d2envlst (fent) // val () = auxall_beg (out, flab, d2es) // val () = auxclo_type (out, flab, d2es) val () = auxclo_cfun (out, flab, d2es) val () = auxclo_init (out, flab, d2es) // val fc = funlab_get_funclo (flab) val () = if funclo_is_ptr(fc) then auxclo_create (out, flab, d2es) // end of [if] // val () = auxall_end (out, flab, d2es) // in // nothing end // end of [emit_funent_closure] end // end of [local] (* ****** ****** *) // extern fun emit_funlab_funarg (out: FILEref, flab: funlab): void // implement emit_funlab_funarg (out, flab) = let // fun auxlst ( out: FILEref, hses: hisexplst, i: int ) : void = let in // case+ hses of | list_cons (hse, hses) => let val () = emit_text (out, "ATStmpdec(") // end of [val] (* val isvoid = hisexp_is_void (hse) val () = if isvoid then emit_text (out, "_void") *) val () = ( emit_funarg (out, i); emit_text (out, ", "); emit_hisexp (out, hse) ) (* end of [val] *) val () = emit_text (out, ") ;\n") in auxlst (out, hses, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxlst] // val hses = funlab_get_type_arg (flab) // in auxlst (out, hses, 0(*i*)) end // end of [emit_funlab_funarg] // (* ****** ****** *) // extern fun emit_funlab_funapy (out: FILEref, flab: funlab): void // implement emit_funlab_funapy (out, flab) = let // fun auxlst ( out: FILEref, hses: hisexplst, i: int ) : void = let in // case+ hses of | list_cons (hse, hses) => let val () = emit_text (out, "ATStmpdec(") // end of [val] (* val isvoid = hisexp_is_void (hse) val () = if isvoid then emit_text (out, "_void") *) val () = ( emit_funapy (out, i); emit_text (out, ", "); emit_hisexp (out, hse) ) (* end of [val] *) val () = emit_text (out, ") ;\n") in auxlst (out, hses, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxlst] // val hses = funlab_get_type_arg (flab) // in auxlst (out, hses, 0(*i*)) end // end of [emit_funlab_funapy] (* ****** ****** *) extern fun emit_funent_fundec (out: FILEref, fent: funent): void implement emit_funent_fundec (out, fent) = let // val flab = funent_get_lab (fent) // val tmpret = funent_get_tmpret (fent) val ntlcal = tmpvar_get_tailcal (tmpret) // val () = emit_text (out, "/* tmpvardeclst(beg) */\n") // val () = if ntlcal >= 2 then emit_funlab_funapy (out, flab) // val () = emit_tmpdeclst (out, funent_get_tmpvarlst (fent)) // val () = emit_text (out, "/* tmpvardeclst(end) */\n") // in // nothing end // end of [emit_funent_fundec] (* ****** ****** *) // extern fun emit_funent_funbody (out: FILEref, fent: funent): void // implement emit_funent_funbody (out, fent) = let // val () = emit_text (out, "ATSfunbody_beg()\n") val () = emit_instrlst_ln (out, funent_get_instrlst (fent)) val () = emit_text (out, "ATSfunbody_end()\n") // val tmpret = funent_get_tmpret (fent) // val () = let val isvoid = tmpvar_is_void (tmpret) in if ~isvoid then emit_text(out, "ATSreturn(") else emit_text(out, "ATSreturn_void(") // end of [if] end : void // end of [let] // end of [val] // val () = emit_tmpvar (out, tmpret) // val ((*closing*)) = emit_text (out, ") ;\n") // in // nothing end // end of [emit_funent_funbody] (* ****** ****** *) extern fun emit_funent_fnxdeclst (out: FILEref, fent0: funent): void extern fun emit_funent_fnxbodylst (out: FILEref, fent0: funent): void (* ****** ****** *) local fun auxfl ( out: FILEref , fent0: funent, fl: funlab ) : void = let // val opt = funlab_get_funent (fl) // in // case+ opt of | Some (fent) => let val () = emit_funlab_funarg (out, fl) val () = emit_funent_fundec (out, fent) in // nothing end // end of [Some] | None ((*void*)) => () // end // end of [auxfl] and auxflist ( out: FILEref , fent0: funent, fls: funlablst, i: int ) : void = let in // case+ fls of | list_cons (fl, fls) => let val () = emit_set_nfnx (i) val () = auxfl (out, fent0, fl) val () = emit_set_nfnx (0) val () = auxflist (out, fent0, fls, i+1) in // nothing end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxflist] in (* in of [local] *) implement emit_funent_fnxdeclst (out, fent0) = let // val fls = funent_get_fnxlablst (fent0) // val () = ( case+ fls of | list_cons _ => emit_text (out, "/*\nemit_funent_fnxdeclst:\n*/\n") | _ => ((*void*)) ) : void // end of [val] // in // case+ fls of | list_cons (fl0, fls) => auxflist (out, fent0, fls, 2(*i*)) // end of [list_cons] | list_nil ((*void*)) => () // end // end of [emit_funent_fnxdeclst] end // end of [local] (* ****** ****** *) local fun auxfl ( out: FILEref , fent0: funent, fl: funlab ) : void = let // val opt = funlab_get_funent (fl) // in // case+ opt of | Some (fent) => emit_funent_funbody (out, fent) | None ((*void*)) => () // end // end of [auxfl] and auxflist ( out: FILEref , fent0: funent, fls: funlablst, i: int ) : void = let in // case+ fls of | list_cons (fl, fls) => let val () = emit_set_nfnx (i) val () = auxfl (out, fent0, fl) val () = emit_set_nfnx (0) val () = auxflist (out, fent0, fls, i+1) in // nothing end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxflist] in (* in of [local] *) implement emit_funent_fnxbodylst (out, fent0) = let // val fls = funent_get_fnxlablst (fent0) // val () = ( case+ fls of | list_cons _ => emit_text (out, "/*\nemit_funent_fnxbodylst:\n*/\n") | _ => ((*void*)) ) : void // end of [val] // in // case+ fls of | list_cons (fl0, fls) => auxflist (out, fent0, fls, 2(*i*)) // end of [list_cons] | list_nil ((*void*)) => () // end // end of [emit_funent_fnxbodylst] end // end of [local] (* ****** ****** *) local fun auxtmp ( out: FILEref, fent: funent ) : void = let // val imparg = funent_get_imparg (fent) val tmparg = funent_get_tmparg (fent) val tsubopt = funent_get_tmpsub (fent) // val () = emit_text (out, "/*\n") val () = emit_text (out, "imparg = ") val () = $S2E.fprint_s2varlst (out, imparg) val () = emit_text (out, "\n") val () = emit_text (out, "tmparg = ") val () = $S2E.fprint_s2explstlst (out, tmparg) val () = emit_text (out, "\n") val () = emit_text (out, "tmpsub = ") val () = fprint_tmpsubopt (out, tsubopt) val () = emit_text (out, "\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [auxtmp] in (* in of [local] *) implement emit_funent_implmnt (out, fent) = let (* val () = fprintln! (stdout_ref, "emit_funent_implmnt: fent = ", fent) *) val loc0 = funent_get_loc (fent) val flab = funent_get_lab (fent) val d2es = funent_eval_d2envlst (fent) (* val () = fprintln! (stdout_ref, "emit_funent_implmnt: d2es = ", d2es) *) val () = emit_text (out, "/*\n") val () = $LOC.fprint_location (out, loc0) val () = emit_text (out, "\n*/\n") // val () = emit_text (out, "/*\n") val () = emit_text (out, "local: ") val lfls0 = funent_get_flablst (fent) val () = fprint_funlablst (out, lfls0) val () = emit_newline (out) val () = emit_text (out, "global: ") val gfls0 = funent_eval_flablst (fent) val () = fprint_funlablst (out, gfls0) val () = emit_newline (out) // val () = emit_text (out, "local: ") val ld2es = funent_eval_d2envlst (fent) val () = fprint_d2envlst (out, ld2es) val () = emit_newline (out) val () = emit_text (out, "global: ") val gd2es = funent_eval_d2envlst (fent) val () = fprint_d2envlst (out, gd2es) val () = emit_newline (out) // val () = emit_text (out, "*/\n") // val hse_res = funlab_get_type_res (flab) val hses_arg = funlab_get_type_arg (flab) // // function header // val qopt = funlab_get_d2copt (flab) val isext = ( case+ qopt of | Some (d2c) => if $D2E.d2cst_is_static (d2c) then false else true | None _ => false ) : bool // end of [val] val flopt = funlab_get_origin (flab) val isext = ( case+ flopt of Some (d2c) => false | None () => isext ) : bool // end of [val] val issta = not (isext) // val () = if isext then emit_text (out, "ATSextern()\n") val () = if issta then emit_text (out, "ATSstatic()\n") // val istmp = funent_is_tmplt (fent) val () = if istmp then auxtmp (out, fent) // val () = emit_hisexp (out, hse_res) val () = emit_text (out, "\n") val () = emit_funlab (out, flab) val () = emit_text (out, "(") val nenv = emit_funenvlst (out, d2es) val () = emit_funarglst (out, nenv, hses_arg) val () = emit_text (out, ")\n") // // tmpvardec and funbody // val () = funent_varbindmap_initize (fent) val () = funent_varbindmap_initize2 (fent) // val () = emit_text (out, "{\n") // val () = emit_funent_fundec (out, fent) val () = emit_funent_fnxdeclst (out, fent) // val () = emit_funent_funbody (out, fent) val () = emit_funent_fnxbodylst (out, fent) // val () = emit_text (out, "} /* end of [") val () = emit_funlab (out, flab) val () = emit_text (out, "] */\n") // val () = funent_varbindmap_uninitize (fent) // in end // end of [emit_funent_implmnt] end // end of [local] (* ****** ****** *) implement emit_dynload (out, hid) = let // val-HIDdynload (fil) = hid.hidecl_node // val () = emit_text (out, "ATSdynloadfcall(") val () = ( emit_filename (out, fil); emit_text (out, "__dynload") ) val () = emit_text (out, ") ;\n") // in // nothing end (* end of [emit_dynload] *) (* ****** ****** *) local // staload UN = "prelude/SATS/unsafe.sats" // fun emit_primdec (out: FILEref, pmd: primdec) : void = let in // case+ pmd.primdec_node of // | PMDnone () => () // | PMDlist (pmds) => emit_primdeclst (out, pmds) // | PMDsaspdec _ => () // | PMDextvar (name, inss) => emit_instrlst_ln (out, $UN.cast{instrlst}(inss)) // | PMDdatdecs _ => () | PMDexndecs _ => () // | PMDimpdec (imp) => let val opt = hiimpdec_get_instrlstopt (imp) in case+ opt of | Some (inss) => emit_instrlst_ln (out, inss) | None () => () end // end of [PMDimpdec] // | PMDfundecs _ => () // | PMDvaldecs (knd, hvds, inss) => emit_instrlst_ln (out, $UN.cast{instrlst}(inss)) | PMDvaldecs_rec (knd, hvds, inss) => emit_instrlst_ln (out, $UN.cast{instrlst}(inss)) // | PMDvardecs (hvds, inss) => emit_instrlst_ln (out, $UN.cast{instrlst}(inss)) // | PMDinclude (pfil, pmds) => emit_primdeclst (out, pmds) // | PMDstaload _ => () // | PMDstaloadloc (pfil, nspace, pmds) => emit_primdeclst (out, pmds) // | PMDdynload (cfil) => emit_dynload (out, cfil) // | PMDlocal ( pmds_head, pmds_body ) => { val ( ) = emit_text (out, "/* local */\n") val () = emit_primdeclst (out, pmds_head) val ( ) = emit_text (out, "/* in of [local] */\n") val () = emit_primdeclst (out, pmds_body) val ( ) = emit_text (out, "/* end of [local] */\n") // end of [val] } // end of [PMDlocal] // end // end of [emit_primdec] in (* in of [local] *) implement emit_primdeclst (out, pmds) = let in // case+ pmds of | list_cons (pmd, pmds) => let val () = emit_primdec (out, pmd) in emit_primdeclst (out, pmds) // end of [val] end // end of [list_cons] | list_nil () => () // end // end of [emit_primdeclst] end // end of [local] (* ****** ****** *) implement emit_d2con_extdec (out, d2c) = let // val isexn = $S2E.d2con_is_exn (d2c) val ( ) = if isexn then { // val () = emit_text (out, "ATSdynexn_extdec") val () = emit_text (out, "(") val () = emit_d2con (out, d2c) val () = emit_text (out, ") ;\n") // } // end of [if] // end of [val] // in // nothing end // end of [emit_d2con_extdec] implement emit_d2conlst_extdec (out, d2cs) = ( list_app_cloptr (d2cs, lam d2c =<1> emit_d2con_extdec (out, d2c)) ) // end of [emit_d2conlst_extdec] (* ****** ****** *) implement emit_d2conlst_initize (out, d2cs) = let // fun aux ( out: FILEref, d2c: d2con ) : void = let // val fil = $S2E.d2con_get_fil (d2c) val name = $S2E.d2con_get_name (d2c) // val () = emit_text (out, "ATSdynexn_initize(") val () = emit_d2con (out, d2c) val () = emit_text (out, ", ") val () = emit_text (out, "\"") val () = $FIL.fprint_filename_full (out, fil) val () = emit_text (out, ":") val () = emit_text (out, name) val () = emit_text (out, "\"") val () = emit_text (out, ") ;\n") // in // nothing end (* end of [aux] *) // in // case+ d2cs of | list_cons (d2c, d2cs) => let val isexn = $S2E.d2con_is_exn (d2c) val ((*void*)) = if isexn then aux (out, d2c) in emit_d2conlst_initize (out, d2cs) end // end of [list_cons] | list_nil () => () // end // end of [emit_d2conlst_initize] (* ****** ****** *) (* // // HX-2014-03-14: should it be tried? // fun d2cst_is_lamless (d2c: d2cst): bool = let // val opt = $D2E.d2cst_get_funlab (d2c) // in // case+ opt of | None () => false | Some (flab) => let val flab = $UN.cast{funlab}(flab) val opt2 = funlab_get_d2copt (flab) in case+ opt2 of | None () => false | Some (d2c2) => if d2c != d2c2 then true else false end // end of [Some] // end // end of [d2cst_is_lamless] *) (* ****** ****** *) implement emit_d2cst_extdec (out, d2c) = let // macdef ismac = $D2E.d2cst_is_mac // macdef isfundec = $D2E.d2cst_is_fundec // macdef iscastfn = $D2E.d2cst_is_castfn // in // case+ 0 of | _ when ismac (d2c) => let val () = emit_text (out, "ATSdyncst_mac(") val () = emit_d2cst (out, d2c) val () = emit_text (out, ")\n") in // nothing end // end of [ismac] | _ when isfundec(d2c) => let val issta = $D2E.d2cst_is_static (d2c) val () = ( if issta then emit_text (out, "ATSdyncst_stafun(") else emit_text (out, "ATSdyncst_extfun(") // end of [if] ) : void // end of [val] // val () = emit_d2cst (out, d2c) val () = { val () = emit_text (out, ", (") val hses = d2cst_get2_type_arg (d2c) val () = emit_hisexplst_sep (out, hses, ", ") val () = emit_text (out, "), ") } // end of [val] // val () = let val hse = d2cst_get2_type_res (d2c) in emit_hisexp (out, hse) // end of [val] end // end of [val] // val () = emit_text (out, ") ;\n") // in // nothing end // end of [isfundec] // | _ when iscastfn(d2c) => let val () = emit_text (out, "ATSdyncst_castfn(") val () = emit_d2cst (out, d2c) val () = emit_text (out, ")\n") in // nothing end // end of [castfn] | _ (*non-fun*) => let val-Some(hse) = d2cst_get2_hisexp (d2c) val () = emit_text (out, "ATSdyncst_valdec(") val () = emit_d2cst (out, d2c) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ") ;\n") in // nothing end // end of [_] // end // end of [emit_d2cst_extdec] implement emit_d2cstlst_extdec (out, d2cs) = ( list_app_cloptr (d2cs, lam d2c =<1> emit_d2cst_extdec (out, d2c)) ) // end of [emit_d2cstlst_extdec] (* ****** ****** *) (* end of [pats_ccomp_emit3.dats] *) ATS2-Postiats-0.2.6/./src/pats_taggen.sats0000664000175000017500000000343112655455557016716 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2013 // (* ****** ****** *) staload SYN = "./pats_syntax.sats" typedef d0eclist = $SYN.d0eclist (* ****** ****** *) abstype tagent_type typedef tagent = tagent_type (* ****** ****** *) vtypedef tagentlst_vt = List_vt (tagent) (* ****** ****** *) fun taggen_proc (d0cs: d0eclist): tagentlst_vt (* ****** ****** *) // fun fprint_entlst (out: FILEref, given: string, xs: tagentlst_vt): void // (* ****** ****** *) (* end of [pats_taggen.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_p1at.dats0000664000175000017500000005375012655455557017601 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans2_p1at" (* ****** ****** *) staload LAB = "./pats_label.sats" macdef label_make_int = $LAB.label_make_int staload SYM = "./pats_symbol.sats" overload = with $SYM.eq_symbol_symbol staload SYN = "./pats_syntax.sats" typedef d0ynq = $SYN.d0ynq (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_e1xpval.sats" staload "./pats_dynexp1.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fun p1at_tr_ide ( p1t0: p1at, id: symbol ) : p2at = let val loc0 = p1t0.p1at_loc val ans = the_d2expenv_find (id) in // case+ ans of | ~Some_vt d2i => begin case+ d2i of | D2ITMe1xp e1xp => let val p1t = p1at_make_e1xp (loc0, e1xp) in p1at_tr (p1t) end // end of [D2ITEMe1xp] // // HX: for handling [true] and [false] patterns // | D2ITMcst d2c => let val sym = d2cst_get_sym (d2c) in case+ 0 of | _ when sym = $SYM.symbol_TRUE_BOOL => p2at_bool (loc0, true) | _ when sym = $SYM.symbol_FALSE_BOOL => p2at_bool (loc0, false) | _ => p2at_var (loc0, d2var_make (loc0, id)) // end of [val] end // end of [D2ITEMcst] // | _ => p2at_var (loc0, d2var_make (loc0, id)) end // end of [Some_vt] | ~None_vt () => p2at_var (loc0, d2var_make (loc0, id)) end // end of [p1at_tr_ide] (* ****** ****** *) extern fun p1at_tr_app_dyn ( p1t0: p1at, p1t_fun: p1at, npf: int, darg: p1atlst ) : p2at // end of [p1at_tr_app_dyn] extern fun p1at_tr_app_sta_dyn ( p1t0: p1at, p1t1: p1at , p1t_fun: p1at, sarg: s1vararglst, npf: int, darg: p1atlst ) : p2at // end of [p1at_tr_app_sta_dyn] (* ****** ****** *) fun p1atconarg_is_omit (arg: p1atlst): bool = let in // case+ arg of | list_cons ( p1t, list_nil () ) => ( case+ p1t.p1at_node of P1Tany _ => true | _ => false ) // end of [list_cons] | _ => false // end of [_] // end // end of [p1atconarg_is_omit] fun p1at_tr_con_sapp1 ( loc0: location // p1t1.p1at_loc , d2c: d2con, sub: &stasub , s2qs: s2qualst, out: &List_vt(s2qua) ) : s2exp = let in // case+ s2qs of | list_cons (s2q, s2qs) => let val s2vs = stasub_extend_svarlst (sub, s2q.s2qua_svs) // end of [val] val s2vs = (l2l)s2vs val s2ps = s2explst_subst (sub, s2q.s2qua_sps) val s2q = s2qua_make (s2vs, s2ps) val () = out := list_vt_cons (s2q, out) in p1at_tr_con_sapp1 (loc0, d2c, sub, s2qs, out) end // end of [cons] | list_nil () => let val npf = d2con_get_npf (d2c) val s2es_arg = s2explst_subst (sub, d2con_get_arg d2c) val s2c = d2con_get_scst (d2c) val indopt = d2con_get_ind (d2c) val s2f_res = ( case+ indopt of | Some s2es_ind => let val s2es_ind = s2explst_subst (sub, s2es_ind) in s2exp_cstapp (s2c, s2es_ind) end // end of [Some] | None () => s2exp_cst (s2c) // end of [None] ) : s2exp // end of [val] val () = out := list_vt_reverse (out) in s2exp_confun (npf, s2es_arg, s2f_res) end // end of [list_nil] // end // end of [p1at_tr_con_sapp1] fun p1at_tr_con_sapp2 ( p1t1: p1at , d2c: d2con, sub: &stasub, s2qs: s2qualst, s1as: s1vararglst , out: &s2qualst_vt ) : s2exp = let (* val () = ( print "p1at_tr_con_sapp2: d2c.type = "; print_s2exp (d2con_get_type d2c); print_newline () ) // end of [val] *) fn auxerr1 ( p1t1: p1at, d2c: d2con ) : void = let val () = prerr_error2_loc (p1t1.p1at_loc) val () = prerr ": the constructor [" val () = prerr_d2con (d2c) val () = prerr "] is overly applied statically." val () = prerr_newline () in the_trans2errlst_add (T2E_p1at_tr (p1t1)) end // end of [auxerr1] fn auxerr2 ( p1t1: p1at, d2c: d2con, locarg: location, serr: int ) : void = let val () = prerr_error2_loc (locarg) val () = prerr ": the static argument group is expected to contain " val () = if serr < 0 then prerr_string ("more components.") val () = if serr > 0 then prerr_string ("fewer components.") val () = prerr_newline () in the_trans2errlst_add (T2E_p1at_tr (p1t1)) end // end of [auxerr2] // in // case+ s1as of | list_cons (s1a, s1as) => ( case+ s1a of | S1VARARGone (loc) => begin case+ s2qs of | list_cons (s2q, s2qs) => let val s2vs = stasub_extend_svarlst (sub, s2q.s2qua_svs) // end of [val] val s2vs = (l2l)s2vs val s2ps = s2explst_subst (sub, s2q.s2qua_sps) val s2q = s2qua_make (s2vs, s2ps) val () = out := list_vt_cons (s2q, out) in p1at_tr_con_sapp2 (p1t1, d2c, sub, s2qs, s1as, out) end // end of [list_cons] | list_nil () => let val () = auxerr1 (p1t1, d2c) in s2exp_s2rt_err () end (* end of [list_nil] *) end // end of [S1VARARGone] | S1VARARGall (loc) => p1at_tr_con_sapp1 (p1t1.p1at_loc, d2c, sub, s2qs, out) | S1VARARGseq (loc, sarg) => begin case+ s2qs of | list_cons (s2q, s2qs) => let // var serr: int = 0 val s2vs = s2q.s2qua_svs val s2vs = stasub_extend_sarglst_svarlst (sub, sarg, s2vs, serr) val () = if serr != 0 then let val () = auxerr2 (p1t1, d2c, loc, serr) in (*nothing*) end // end of [val] // val s2vs = (l2l)s2vs val s2ps = s2explst_subst (sub, s2q.s2qua_sps) val s2q = s2qua_make (s2vs, s2ps) val () = out := list_vt_cons (s2q, out) in p1at_tr_con_sapp2 (p1t1, d2c, sub, s2qs, s1as, out) end // end of [list_cons] | list_nil () => let val () = auxerr1 (p1t1, d2c) in s2exp_s2rt_err () end (* end of [list_nil] *) end // end of [S1VARARGseq] ) // end of [list_cons] | list_nil () => p1at_tr_con_sapp1 (p1t1.p1at_loc, d2c, sub, s2qs, out) // end // end of [p1at_tr_con_sapp2] (* ****** ****** *) fun p1at_tr_con ( p1t0: p1at, p1t1: p1at , d2cs: d2conlst, sarg: s1vararglst, npf: int, darg: p1atlst ) : p2at = let // val isargomit = p1atconarg_is_omit (darg) val d2cs = ( if isargomit then d2cs else let val n = list_length (darg) in d2con_select_arity (d2cs, n) end // end of [if] ) : d2conlst // end of [val] // val-list_cons (d2c, _) = d2cs // HX: [d2cs] cannot be nil // var sub = stasub_make_nil () val s2qs = d2con_get_qua (d2c) var out: List_vt (s2qua) = list_vt_nil () val s2e = p1at_tr_con_sapp2 (p1t1, d2c, sub, s2qs, sarg, out) val () = stasub_free (sub) val out = (l2l)out // val darg = let fun nanys (loc: location, i: int): p2atlst = if i > 0 then let val p2t = p2at_any (loc) in list_cons (p2t, nanys (loc, i-1)) end else list_nil // end of [if] // end of [nanys] in if isargomit then let val-list_cons (p1t, _) = darg in nanys (p1t.p1at_loc, d2con_get_arity_full (d2c)) end else p1atlst_tr (darg) // end of [if] end : p2atlst // end of [val] // in p2at_con (p1t0.p1at_loc, PCKcon, d2c, out, s2e, npf, darg) end // end of [p1at_tr_con] (* ****** ****** *) extern fun p1at_tr_app_dyn_e1xp ( p1t0: p1at, p1t1: p1at , e0: e1xp, npf: int, p1ts_arg: p1atlst ) : p2at // end of [p1at_tr_app_dyn_e1xp] extern fun p1at_tr_app_dyn_dqid ( p1t0: p1at, p1t1: p1at , dq: d0ynq, id: symbol, npf: int, darg: p1atlst ) : p2at // end of [p1at_tr_app_dyn_dqid] (* ****** ****** *) implement p1at_tr_app_dyn_e1xp ( p1t0, p1t1, e0, npf, darg ) = let (* val () = begin print "p1at_tr_app_dyn_e1xp: p1t0 = "; print_p1at p1t0; print_newline () end // end of [val] *) in // case+ e0.e1xp_node of | E1XPfun _ => let val loc0 = p1t0.p1at_loc // prval pfu = unit_v () val es = list_map_vclo {unit_v} (pfu | darg, !p_clo) where { var !p_clo = @lam (pf: !unit_v | p1t: p1at): e1xp => e1xp_make_p1at (loc0, p1t) } // end of [val] prval unit_v () = pfu // val e1 = e1xp_app (loc0, e0, loc0, (l2l)es) (* val () = ( print "p1at_tr_app_dyn_e1xp: e1 = "; print_e1xp e1; print_newline () ) // end of [val] *) val e2 = e1xp_normalize (e1) (* val () = ( print "p1at_tr_app_dyn_e1xp: e2 = "; print_e1xp e2; print_newline () ) // end of [val] *) val p1t0_new = p1at_make_e1xp (loc0, e2) in p1at_tr (p1t0_new) end // end of [E1XPfun] | _ => let val p1t_fun = p1at_make_e1xp (p1t1.p1at_loc, e0) // end of [val] in p1at_tr_app_dyn (p1t0, p1t_fun, npf, darg) end (* end of [_] *) // end // end of [p1at_tr_app_dyn_e1xp] local fun dqid_is_vbox ( dq: d0ynq, id: symbol ) : bool = if $SYN.d0ynq_is_none (dq) then id = $SYM.symbol_VBOX else false // end of [dqid_is_vbox] fun auxerr1 ( p1t0: p1at, p1t1: p1at, dq: d0ynq, id: symbol ) : void = let val () = prerr_error2_loc (p1t1.p1at_loc) val () = filprerr_ifdebug ("p1at_tr_app_dyn_dqid") val () = prerr ": the identifier [" val () = ($SYN.prerr_d0ynq (dq); $SYM.prerr_symbol (id)) val () = prerr "] does not refer to any constructor." val () = prerr_newline () in the_trans2errlst_add (T2E_p1at_tr (p1t0)) end // end of [auxerr1] fun auxerr2 ( p1t0: p1at, p1t1: p1at, dq: d0ynq, id: symbol ) : void = let val () = prerr_error2_loc (p1t1.p1at_loc) val () = filprerr_ifdebug ("p1at_tr_app_dyn_dqid") val () = prerr ": the identifier [" val () = ($SYN.prerr_d0ynq (dq); $SYM.prerr_symbol (id)) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_p1at_tr (p1t0)) end // end of [auxerr2] (* ****** ****** *) fun p2at_vbox_err ( p1t0: p1at, p2ts: p2atlst ) : p2at = let val loc0 = p1t0.p1at_loc in case+ p2ts of | list_cons ( p2t, list_nil () ) => ( case+ p2t.p2at_node of | P2Tany () => let val d2v = d2var_make_any (p2t.p2at_loc) // end of [val] in p2at_vbox (loc0, d2v) end // end of [P2Tany] | P2Tvar (d2v) => p2at_vbox (loc0, d2v) | _ => let val () = prerr_error2_loc (loc0) val () = prerr ": [vbox] should be applied to a variable." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (loc0) end // end of [_] ) // end of [list_cons] | _ => let val () = prerr_error2_loc (loc0) val () = prerr ": [vbox] should be applied to exactly one argument." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (loc0) end // end of [list_nil] end // end of [p2at_vbox_err] in (* in-of-local *) implement p1at_tr_app_dyn_dqid ( p1t0, p1t1, dq, id, npf, darg ) = let val ans = the_d2expenv_find_qua (dq, id) in // case+ ans of | ~Some_vt (d2i) => ( case+ d2i of | D2ITMe1xp (e0) => p1at_tr_app_dyn_e1xp (p1t0, p1t1, e0, npf, darg) | D2ITMcon (d2cs) => p1at_tr_con (p1t0, p1t1, d2cs, list_nil(*sarg*), npf, darg) | _ => let val () = auxerr1 (p1t0, p1t1, dq, id) in p2at_errpat (p1t0.p1at_loc) end // end of [_] ) // end of [Some_vt] | ~None_vt ((*void*)) => ( case+ 0 of | _ when dqid_is_vbox (dq, id) => let val p2ts = p1atlst_tr (darg) in p2at_vbox_err (p1t0, p2ts) end // end of [vbox] | _ => let val () = auxerr2 (p1t0, p1t1, dq, id) in p2at_errpat (p1t0.p1at_loc) // end of [val] end // end of [_] ) // end of [None_vt] // end // end of [p1at_tr_app_dyn_dqid] end // end of [local] (* ****** ****** *) implement p1at_tr_app_dyn ( p1t0, p1t_fun, npf, darg ) = let (* val () = begin print "p1at_tr_app_dyn: p1t0 = "; print_p1at p1t0; print_newline () end // end of [val] *) in // case+ p1t_fun.p1at_node of | P1Tide (id) => let val dq = $SYN.the_d0ynq_none in p1at_tr_app_dyn_dqid (p1t0, p1t_fun, dq, id, npf, darg) end | P1Tdqid (dq, id) => p1at_tr_app_dyn_dqid (p1t0, p1t_fun, dq, id, npf, darg) | _ => let val () = prerr_error2_loc (p1t_fun.p1at_loc) val () = prerr ": a (qualified) identifier is expected." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (p1t0.p1at_loc) end // end of [_] // end // end of [p1at_tr_app_dyn] (* ****** ****** *) fun p1at_tr_app_sta_dyn_itm ( p1t0: p1at, p1t1: p1at, p1t2: p1at , d2i: d2itm, sarg: s1vararglst, npf: int, darg: p1atlst ) : p2at = let (* val () = begin print "p1at_tr_app_sta_dyn_itm: p1t0 = "; print_p1at p1t0; print_newline () end // end of [val] *) in // case+ d2i of | D2ITMcon (d2cs) => p1at_tr_con (p1t0, p1t1, d2cs, sarg, npf, darg) // end of [D2ITMcon] | D2ITMe1xp (e0) => let val p1t2 = p1at_make_e1xp (p1t2.p1at_loc, e0) in p1at_tr_app_sta_dyn (p1t0, p1t1, p1t2, sarg, npf, darg) end | _ => let val () = prerr_error2_loc (p1t2.p1at_loc) val () = prerr ": the (qualified) identifier does not refer to any constructor." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (p1t0.p1at_loc) end end // end of [p1at_tr_app_sta_dyn_itm] implement p1at_tr_app_sta_dyn ( p1t0, p1t1, p1t_fun, sarg, npf, darg ) = let // fun auxerr .<>. ( p1t0: p1at, p1t1: p1at, p1t_fun: p1at, dq: d0ynq, id: symbol ) : void = let val loc = p1t_fun.p1at_loc val () = prerr_error2_loc (loc) val () = prerr ": the (qualified) identifier [" val () = ($SYN.prerr_d0ynq dq; $SYM.prerr_symbol id) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_p1at_tr (p1t0)) end // end of [auxerr] // in // case+ p1t_fun.p1at_node of | P1Tide (id) => let val ans = the_d2expenv_find (id) in case+ ans of | ~Some_vt (d2i) => p1at_tr_app_sta_dyn_itm (p1t0, p1t1, p1t_fun, d2i, sarg, npf, darg) | ~None_vt () => let val dq = $SYN.the_d0ynq_none val () = auxerr (p1t0, p1t1, p1t_fun, dq, id) in p2at_errpat (p1t_fun.p1at_loc) end (* end of [None] *) end // end of [P1Tide] | P1Tdqid (dq, id) => let val ans = the_d2expenv_find_qua (dq, id) in case+ ans of | ~Some_vt (d2i) => p1at_tr_app_sta_dyn_itm (p1t0, p1t1, p1t_fun, d2i, sarg, npf, darg) | ~None_vt () => let val () = auxerr (p1t0, p1t1, p1t_fun, dq, id) in p2at_errpat (p1t_fun.p1at_loc) end // end of [None_vt] end // end of [P1Tdqid] | _ => let val () = prerr_error2_loc (p1t_fun.p1at_loc) val () = prerr ": a (qualified) identifier is expected." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (p1t0.p1at_loc) end // end of [_] // end // end of [p1at_tr_app_sta_dyn] (* ****** ****** *) fun p1at_tr_free_unfold ( pck: pckind, p1t0: p1at, p1t: p1at ) : p2at = let // val p2t = p1at_tr (p1t) // in // case+ p2t.p2at_node of // | P2Tcon ( PCKcon (), d2c, s2qs, s2e, npf, darg ) => let val loc0 = p1t0.p1at_loc in p2at_con (loc0, pck, d2c, s2qs, s2e, npf, darg) end // end of [P2Tcon] // | _ => let val loc0 = p1t0.p1at_loc val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("p1at_tr_free_unfold") val () = prerr ": the pattern is expected to be formed with a constructor (of datavtype)." val () = prerr_newline () val () = the_trans2errlst_add (T2E_p1at_tr (p1t0)) in p2at_errpat (loc0) end // end of [_] // end // end of [p1at_tr_free_unfold] (* ****** ****** *) fun p1at_tr_tup ( p1t0: p1at , knd: int, npf: int, p1ts: p1atlst ) : p2at = let // val loc0 = p1t0.p1at_loc val p2ts = list_map_fun (p1ts, p1at_tr) val lp2ts = p2atlst_tupize ($UN.list_vt2t(p2ts)) val ((*freed*)) = list_vt_free (p2ts) // in p2at_rec (loc0, knd, npf, lp2ts) end // end of [p1at_tr_tup] (* ****** ****** *) implement p1at_tr (p1t0) = let // val loc0 = p1t0.p1at_loc // (* val () = println! ("p1at_tr: p1t0 = ", p1t0) *) // in // case+ p1t0.p1at_node of | P1Tany _ => p2at_any (loc0) | P1Tany2 _ => p2at_any (loc0) | P1Tide (id) => p1at_tr_ide (p1t0, id) | P1Tdqid (dq, id) => let val npf = ~1; val darg = list_nil () in p1at_tr_app_dyn_dqid (p1t0, p1t0, dq, id, npf, darg) end // end of [P2Tdqid] // | P1Tint (int) => p2at_int (loc0, int) | P1Tintrep (rep) => p2at_intrep (loc0, rep) | P1Tchar (c) => p2at_char (loc0, c) | P1Tstring (str) => p2at_string (loc0, str) | P1Tfloat (rep) => p2at_float (loc0, rep) // | P1Ti0nt (x) => p2at_i0nt (loc0, x) | P1Tf0loat (x) => p2at_f0loat (loc0, x) // | P1Tempty () => p2at_empty (loc0) // | P1Tapp_dyn ( p1t1, _(*loc*), npf, darg ) => ( case+ p1t1.p1at_node of | P1Tapp_sta (p1t_fun, sarg) => p1at_tr_app_sta_dyn (p1t0, p1t1, p1t_fun, sarg, npf, darg) // end of [P1Tapp_sta] | _ (*non-P1Tapp_sta*) => p1at_tr_app_dyn (p1t0, p1t1, npf, darg) ) (* end of [P1Tapp_dyn] *) | P1Tapp_sta (p1t_fun, sarg) => p1at_tr_app_sta_dyn (p1t0, p1t_fun, p1t_fun, sarg, ~1(*npf*), list_nil) // | P1Tlist (npf, p1ts) => ( case+ p1ts of | list_cons _ => p1at_tr_tup (p1t0, 0(*tupknd*), npf, p1ts) | list_nil () => p2at_empty (loc0) ) (* end of [P1Tlist] *) // | P1Ttup (knd, npf, p1ts) => p1at_tr_tup (p1t0, knd, npf, p1ts) | P1Trec ( knd, npf, lp1ts ) => let val lp2ts = list_map_fun (lp1ts, labp1at_tr) // end of [val] in p2at_rec (loc0, knd, npf, (l2l)lp2ts) end // end of [P1Trec] | P1Tlst (lin, p1ts) => p2at_lst (loc0, lin, p1atlst_tr (p1ts)) // | P1Tfree (p1t) => p1at_tr_free_unfold (PCKfree, p1t0, p1t) | P1Tunfold (p1t) => p1at_tr_free_unfold (PCKunfold, p1t0, p1t) // | P1Trefas ( id, loc_id, p1t ) => let val d2v = d2var_make (loc_id, id) in p2at_refas (loc0, d2v, p1at_tr (p1t)) end // end of [P1Trefas] // | P1Texist (s1as, p1t) => let val ( pfenv | () ) = the_s2expenv_push_nil () val s2vs = s1arglst_trup (s1as) val () = the_s2expenv_add_svarlst (s2vs) val p2t = p1at_tr (p1t) val () = the_s2expenv_pop_free (pfenv | (*none*)) in p2at_exist (loc0, s2vs, p2t) end | P1Tsvararg _ => let val () = prerr_interror_loc (loc0) val () = prerr ": p1at_tr: P1Tsvararg: this pattern should have been eliminated." val () = prerr_newline () in p2at_errpat (loc0) end // end of [P1Tavararg] // | P1Tann (p1t, ann) => let val p2t = p1at_tr (p1t) val ann = s1exp_trdn_impred (ann) val ann = s2exp_hnfize (ann) in p2at_ann (loc0, p2t, ann) end // end of [P1Tann] // | P1Terrpat () => p2at_errpat (loc0) // (* | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": p1at_tr: not yet implemented: p1t0 = ", p1t0, "]") in $ERR.abort_interr{p2at}((*unreachable*)) end // end of [_] *) // end // end of [p1at_tr] implement p1atlst_tr (p1ts) = l2l (list_map_fun (p1ts, p1at_tr)) implement labp1at_tr (lp1t) = let in // case+ lp1t.labp1at_node of | LABP1ATnorm (l0, p1t) => let val p2t = p1at_tr (p1t) in LABP2ATnorm (l0, p2t) end // end of [LABP1ATnorm] | LABP1ATomit ((*void*)) => LABP2ATomit (lp1t.labp1at_loc) // end // end of [labp1at_tr] (* ****** ****** *) implement p1at_tr_arg (p1t0, ws1es) = let // val loc0 = p1t0.p1at_loc // in // case+ p1t0.p1at_node of // | P1Tann (p1t, ann) => let val p2t = p1at_tr (p1t) val ann = s1exp_trdn_arg_impred (ann, ws1es) // end of [ann] val ann = s2exp_hnfize (ann) in p2at_ann (loc0, p2t, ann) end // end of [P1Tann] // | P1Tlist (npf, p1ts) => let val p2ts = p1atlst_tr_arg (p1ts, ws1es) in p2at_list (loc0, npf, p2ts) end // end of [P1Tlist] // | _ (*P1T-rest*) => let val () = ws1es := WTHS1EXPLSTcons_none (ws1es) in p1at_tr (p1t0) end // end of [P1T-rest] // end // end of [p1at_tr_arg] local fun p1at_tr_arg_2 ( p1t: p1at, w1ts: &wths1explst ) : p2at = let // val p2t = p1at_tr_arg (p1t, w1ts) // in // case+ p2t.p2at_node of | P2Tlist (npf, p2ts) => let val loc0 = p2t.p2at_loc val lp2ts = p2atlst_tupize (p2ts) in p2at_rec (loc0, 0(*tupknd*), npf, lp2ts) end // end of [P2Tlist] | _ (*non-P2Tlist*) => p2t // end // end of [p1at_tr_arg_2] in (* in-of-local *) implement p1atlst_tr_arg (p1ts, ws1es) = let in // case+ p1ts of | list_cons (p1t, p1ts) => let val p2t = p1at_tr_arg_2 (p1t, ws1es) val p2ts = p1atlst_tr_arg (p1ts, ws1es) in list_cons (p2t, p2ts) end // end of [list_cons] | list_nil () => list_nil () // end // end of [p1atlst_tr_arg] end // end of [local] (* ****** ****** *) implement d2con_instantiate (loc0, d2c) = let // var sub = stasub_make_nil () val s2qs = d2con_get_qua (d2c) var out: List_vt (s2qua) = list_vt_nil () val s2e = p1at_tr_con_sapp1 (loc0, d2c, sub, s2qs, out) val () = stasub_free (sub) val out = (l2l)out // in @(out, s2e) end // end of [p1at_con_instantiate] (* ****** ****** *) (* end of [pats_trans2_p1at.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_util2.dats0000664000175000017500000012033512655455557020142 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label overload != with $LAB.neq_label_label staload EFF = "./pats_effect.sats" overload = with $EFF.eq_effset_effset staload INTINF = "./pats_intinf.sats" macdef eq_intinf_int = $INTINF.eq_intinf_int macdef eq_int_intinf = $INTINF.eq_int_intinf macdef eq_intinf_intinf = $INTINF.eq_intinf_intinf (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) // extern fun s2exp_linkrem_flag (s2e: s2exp, flag: &int >> int): s2exp // implement s2exp_linkrem_flag (s2e0, flag) = let (* val () = println! ("s2exp_linkrem_flag: s2e0 = ", s2e0) // end of [val] *) in // case+ s2e0.s2exp_node of | S2Ecst s2c => let val isr = s2cst_get_isrec (s2c) in if isr then s2e0 else let val opt = s2cst_get_def (s2c) in case+ opt of | Some s2e => let val () = flag := flag + 1 in s2exp_linkrem_flag (s2e, flag) end // end of [Some] | None () => s2e0 end (* end of [if] *) end // end of [S2Ecst] // // HX: the link of s2V should not be updated!!! // | S2EVar s2V => ( case+ s2Var_get_link (s2V) of | Some s2e => let val () = flag := flag + 1 in s2exp_linkrem_flag (s2e, flag) end // end of [Some] | None () => s2e0 ) // end of [S2EVar] | _ => s2e0 // end of [_] end (* end of [s2exp_linkrem_flag] *) implement s2exp_linkrem (s2e0) = let var flag: int = 0 in s2exp_linkrem_flag (s2e0, flag) end // end of [s2exp_linkrem] (* ****** ****** *) fun labs2explst_top ( knd: int, ls2es0: labs2explst ) : labs2explst = let in // case+ ls2es0 of | list_cons (ls2e, ls2es) => let val SLABELED (l, name, s2e) = ls2e val s2e = s2exp_top (knd, s2e) val ls2e = SLABELED (l, name, s2e) val ls2es = labs2explst_top (knd, ls2es) in list_cons (ls2e, ls2es) end // end of [list_cons] | list_nil () => list_nil () // end // end of [labs2explst_top] (* ****** ****** *) extern fun s2exp_topize_flag (knd: int, s2e: s2exp, flag: &int >> int): s2exp // end of [s2exp_topize_flag] extern fun s2exp_invar_flag (s2e: s2exp, flag: &int >> int): s2exp (* ****** ****** *) extern fun s2exp_hnfize_flag (s2e: s2exp, flag: &int >> int): s2exp extern fun s2explst_hnfize_flag (s2es: s2explst, flag: &int >> int): s2explst extern fun labs2explst_hnfize_flag (ls2es: labs2explst, flag: &int >> int): labs2explst (* ****** ****** *) extern fun s2exp_hnfize_app ( s2e0: s2exp, s2e_fun: s2exp, s2es_arg: s2explst, flag: &int >> int ) : s2exp // [s2exp_hnfize_app] (* ****** ****** *) implement s2exp_topize_flag (knd, s2e0, flag) = let val s2t0 = s2e0.s2exp_srt in // case+ 0 of | _ when s2rt_is_prf (s2t0) => let val () = flag := flag + 1 in s2exp_unit_prop () end // end of [_ when ...] | _ (*isprf=false*) => let val isdone = ( if knd > 0 (*typization*) then (if s2exp_is_lin (s2e0) then false else true) else false // end of [if] ) : bool // end of [val] val s2e0 = s2exp_hnfize_flag (s2e0, flag) in if isdone then s2e0 // there is no need for any change else let val () = flag := flag + 1 in case+ s2e0.s2exp_node of | S2Etop (_, s2e) => s2exp_topize_flag (knd, s2e, flag) | S2Etyarr (s2e_elt, dim) => let val s2e_elt = s2exp_top (knd, s2e_elt) in s2exp_tyarr_srt (s2rt_t0ype, s2e_elt, dim) end // end of [S2Etyarr] | S2Etyrec (recknd, npf, ls2es) => let val isboxed = tyreckind_is_boxed (recknd) in if isboxed then s2exp_ptr_type () else let val ls2es = labs2explst_top (knd, ls2es) in s2exp_tyrec_srt (s2rt_t0ype, recknd, npf, ls2es) end // end of [else] // end of [if] end // end of [S2Etyrec] | _ when // HX: this seems adequate s2rt_is_boxed (s2t0) => s2exp_ptr_type () | _ => s2exp_top_srt (s2rt_t0ype, knd, s2e0) end (* end of [if] *) end // end of [_] // end (* end of [s2exp_topize_flag] *) (* ****** ****** *) implement s2exp_topize (knd, s2e) = let var flag: int = 0 in s2exp_topize_flag (knd, s2e, flag) end // end of [s2exp_topize_0] implement s2exp_topize_0 (s2e) = s2exp_topize (0(*knd*), s2e) implement s2exp_topize_1 (s2e) = s2exp_topize (1(*knd*), s2e) (* ****** ****** *) implement s2exp_invar_flag (s2e0, flag) = let // val-S2Einvar (s2e) = s2e0.s2exp_node // in // case+ s2e.s2exp_node of // | S2Evar _ => s2e0 // | S2EVar _ => let val flag0 = flag val s2e = s2exp_hnfize_flag (s2e, flag) // end of [val] in if flag <= flag0 then s2e0 else s2e end // end of [S2Evar] // | _ => let val () = flag := flag + 1 in s2exp_hnfize_flag (s2e, flag) end // end of [_] // end // end of [s2exp_invar_flag] (* ****** ****** *) implement s2exp_hnfize_app ( s2e0, s2e_fun, s2es_arg, flag ) = let (* // val () = println! ("s2exp_hnfize_app: s2e0 = ", s2e0) // *) // val flag0 = flag // val s2e_fun = s2exp_hnfize_flag (s2e_fun, flag) // val s2es_arg = s2explst_hnfize_flag (s2es_arg, flag) // (* // val () = println! ("s2exp_hnfize_app: s2es_arg = ", s2es_arg) // *) in // case+ s2e_fun.s2exp_node of // case+ | S2Elam ( s2vs_arg, s2e_body ) => let #define :: list_cons fun aux ( s2vs: s2varlst, s2es: s2explst, sub: &stasub ) : void = case+ (s2vs, s2es) of | (list_nil(), _) => () | (_, list_nil()) => () | (s2v :: s2vs, s2e :: s2es) => let val () = stasub_add (sub, s2v, s2e) in aux (s2vs, s2es, sub) end // end of [::, ::] // end of [aux] val () = flag := flag + 1 var sub = stasub_make_nil () val () = aux (s2vs_arg, s2es_arg, sub) val s2e0 = s2exp_subst (sub, s2e_body) val ((*freed*)) = stasub_free (sub) in s2exp_hnfize_flag (s2e0, flag) end // end of [S2Elam] | _ (* non-S2Elam *) => ( if flag > flag0 then s2exp_app_srt(s2e0.s2exp_srt, s2e_fun, s2es_arg) else s2e0 (* there is no change *) // end of [if] ) (* end of [non-S2Elam] *) // end // end of [s2exp_hnfize_flag_app] (* ****** ****** *) implement s2exp_hnfize_flag (s2e0, flag) = let (* val () = ( print "s2exp_hnfize_flag: s2e0 = "; print_s2exp (s2e0); print_newline () ) // end of [val] *) val s2t0 = s2e0.s2exp_srt val s2e0 = s2exp_linkrem_flag (s2e0, flag) in // case+ s2e0.s2exp_node of // | S2Eint _ => s2e0 | S2Eintinf _ => s2e0 // | S2Efloat _ => s2e0 | S2Estring _ => s2e0 // | S2Ecst _ => s2e0 // | S2Eextype _ => s2e0 | S2Eextkind _ => s2e0 // | S2Evar (s2v) => s2exp_hnfize_flag_svar (s2e0, s2v, flag) // end of [S2Evar] // | S2EVar _ => s2e0 // | S2Ehole _ => s2e0 // | S2Edatcontyp _ => s2e0 | S2Edatconptr _ => s2e0 // | S2Eat _ => s2e0 | S2Esizeof _ => s2e0 // | S2Eeff _ => s2e0 | S2Eeqeq _ => s2e0 // | S2Eproj _ => s2e0 // | S2Eapp (s2e_fun, s2es_arg) => s2exp_hnfize_app (s2e0, s2e_fun, s2es_arg, flag) // end of [S2Eapp] | S2Elam (s2vs_arg, s2e_body) => let val flag0 = flag val s2e_body = s2exp_hnfize_flag (s2e_body, flag) in if flag > flag0 then s2exp_lam_srt (s2t0, s2vs_arg, s2e_body) else s2e0 // end of [if] end // end of [S2Elam] | S2Efun _ => s2e0 | S2Emetfun _ => s2e0 | S2Emetdec _ => s2e0 // | S2Etop (knd, s2e) => s2exp_topize_flag (knd, s2e, flag) | S2Ewithout _ => s2e0 // | S2Etyarr _ => s2e0 | S2Etyrec _ => s2e0 // | S2Einvar _ => s2exp_invar_flag (s2e0, flag) // | S2Eexi _=> s2e0 | S2Euni _=> s2e0 (* | S2Eexi (s2vs, s2ps, s2e_scope) => let val flag0 = flag val s2e_scope = s2exp_hnfize_flag (s2e_scope, flag) in if flag > flag0 then s2exp_exi (s2vs, s2ps, s2e_scope) else s2e0 end // end of [S2Euni] | S2Euni (s2vs, s2ps, s2e_scope) => let val flag0 = flag val s2e_scope = s2exp_hnfize_flag (s2e_scope, flag) in if flag > flag0 then s2exp_uni (s2vs, s2ps, s2e_scope) else s2e0 end // end of [S2Euni] *) // | S2Erefarg _ => s2e0 // | S2Evararg _ => s2e0 // | S2Ewthtype _ => s2e0 // | S2Eerr () => s2e0 // (* | _ => let val () = ( print "s2exp_hnfize_flag: s2e0 = "; print_s2exp (s2e0); print_newline () ) // end of [val] val () = assertloc (false) in s2e0 end // end of [_] *) // end // end of [s2exp_hnfize_flag] (* ****** ****** *) implement s2explst_hnfize_flag (s2es0, flag) = let in // case+ s2es0 of | list_cons (s2e, s2es) => let val flag0 = flag val s2e = s2exp_hnfize_flag (s2e, flag) val s2es = s2explst_hnfize_flag (s2es, flag) in if flag > flag0 then list_cons (s2e, s2es) else s2es0 // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end // end of [s2explst_hnfize_flag] (* ****** ****** *) implement labs2explst_hnfize_flag (ls2es0, flag) = let in // case+ ls2es0 of | list_cons (ls2e, ls2es) => let val flag0 = flag val SLABELED (l, name, s2e) = ls2e val s2e = s2exp_hnfize_flag (s2e, flag) val ls2es = labs2explst_hnfize_flag (ls2es, flag) in if flag > flag0 then list_cons (SLABELED (l, name, s2e), ls2es) else ls2es0 // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end // end of [labs2explst_hnfize_flag] (* ****** ****** *) implement s2exp_hnfize (s2e) = let var flag: int = 0 in s2exp_hnfize_flag (s2e, flag) end // end of [s2exp_hnfsize] implement s2explst_hnfize (s2es) = let var flag: int = 0 in s2explst_hnfize_flag (s2es, flag) end // end of [s2explst_hnfsize] implement s2expopt_hnfize (opt) = let var flag: int = 0 in // case+ opt of | Some s2e => let val s2f = s2exp_hnfize_flag (s2e, flag) // end of [val] in if flag > 0 then Some (s2f) else opt end // end of [Some] | None () => None () // end // end of [s2expopt_hnfsize] (* ****** ****** *) // extern fun s2exp_mhnfize_flag (x: s2exp, flag: &int >> int): s2exp extern fun s2explst_mhnfize_flag (xs: s2explst, flag: &int >> int): s2explst extern fun s2explstlst_mhnfize_flag (xss: s2explstlst, flag: &int >> int): s2explstlst // (* extern fun labs2explst_mhnfize_flag (ls2es: labs2explst, flag: &int >> int): labs2explst *) // (* ****** ****** *) implement s2exp_mhnfize_flag (s2e0, flag) = let // val s2e0 = s2exp_hnfize_flag (s2e0, flag) // in // case+ s2e0.s2exp_node of | S2EVar (s2V) => let val f0 = flag val s2ze = s2Var_get_szexp (s2V) in case+ s2ze of | S2ZEvar (s2v) => let val () = flag := f0 + 1 in s2exp_var (s2v) end // end of [S2ZEvar] | _(*non-s2var*) => s2e0 end // end of [S2EVar] | _ => s2e0 // HX: should be removed eventually! // end // end of [s2exp_mhnfize_flag] (* ****** ****** *) implement s2explst_mhnfize_flag (s2es0, flag) = let in // case+ s2es0 of | list_cons (s2e, s2es) => let val flag0 = flag val s2e = s2exp_mhnfize_flag (s2e, flag) val s2es = s2explst_mhnfize_flag (s2es, flag) in if flag > flag0 then list_cons (s2e, s2es) else s2es0 end // end of [list_cons] | list_nil () => list_nil () // end // end of [s2explst_mhnfize_flag] (* ****** ****** *) implement s2explstlst_mhnfize_flag (s2ess0, flag) = let in // case+ s2ess0 of | list_cons (s2es, s2ess) => let val flag0 = flag val s2es = s2explst_mhnfize_flag (s2es, flag) val s2ess = s2explstlst_mhnfize_flag (s2ess, flag) in if flag > flag0 then list_cons (s2es, s2ess) else s2ess0 end // end of [list_cons] | list_nil () => list_nil () // end // end of [s2explstlst_mhnfize_flag] (* ****** ****** *) implement s2exp_mhnfize(s2e) = let var flag: int = 0 in s2exp_mhnfize_flag (s2e, flag) end // end of [s2exp_mhnfize] implement s2explst_mhnfize(s2es) = let var flag: int = 0 in s2explst_mhnfize_flag (s2es, flag) end // end of [s2explst_mhnfize] implement s2explstlst_mhnfize(s2ess) = let var flag: int = 0 in s2explstlst_mhnfize_flag (s2ess, flag) end // end of [s2explstlst_mhnfize] (* ****** ****** *) // implement s2exp2hnf(s2e) = $UN.cast{s2hnf}(s2exp_hnfize(s2e)) // end of [s2exp2hnf] implement s2exp2hnf_cast(s2e) = $UN.cast{s2hnf}(s2e) // implement s2hnf2exp(s2f) = $UN.cast{s2exp}(s2f) // (* ****** ****** *) // exception SYNEQexn // extern fun s2hnf_syneq_exn (s2f1: s2hnf, s2f2: s2hnf): void and s2exp_syneq_exn (s2e1: s2exp, s2e2: s2exp): void // extern fun s2hnflst_syneq_exn (xs1: s2hnflst, xs2: s2hnflst): void and s2explst_syneq_exn (xs1: s2explst, xs2: s2explst): void // extern fun s2explstlst_syneq_exn (xss1: s2explstlst, xss2: s2explstlst): void // end of [s2explstlst_syneq_exn] // (* ****** ****** *) implement s2hnf_syneq (s2f1, s2f2) = ( try let // val () = s2hnf_syneq_exn(s2f1, s2f2) // in true end with | ~SYNEQexn((*void*)) => false ) (* end of [s2hnf_syneq] *) implement s2exp_syneq (s2e1, s2e2) = ( try let // val () = s2exp_syneq_exn (s2e1, s2e2) // in true end with | ~SYNEQexn((*void*)) => false ) (* end of [s2exp_syneq] *) (* ****** ****** *) implement s2explst_syneq (xs1, xs2) = ( try let // val () = s2explst_syneq_exn (xs1, xs2) // in true end with | ~SYNEQexn ((*void*)) => false ) (* end of [s2explst_syneq] *) (* ****** ****** *) implement s2exp_syneq_exn (s2e10, s2e20) = let val s2f10 = s2exp2hnf (s2e10) and s2f20 = s2exp2hnf (s2e20) in s2hnf_syneq_exn (s2f10, s2f20) end // end of [s2exp_syneq_exn] implement s2hnflst_syneq_exn (xs1, xs2) = let in // case+ (xs1, xs2) of | (list_cons (x1, xs1), list_cons (x2, xs2)) => let val () = s2hnf_syneq_exn (x1, x2) in s2hnflst_syneq_exn (xs1, xs2) end // end of [cons, cons] | (list_nil (), list_nil ()) => () | (_, _) => $raise (SYNEQexn) // end // end of [s2hnflst_syneq_exn] implement s2explst_syneq_exn (xs1, xs2) = let in // case+ (xs1, xs2) of | (list_cons (x1, xs1), list_cons (x2, xs2)) => let val () = s2exp_syneq_exn (x1, x2) in s2explst_syneq_exn (xs1, xs2) end // end of [cons, cons] | (list_nil (), list_nil ()) => () | (_, _) => $raise (SYNEQexn) // end // end of [s2explst_syneq_exn] implement s2explstlst_syneq_exn (xss1, xss2) = case+ (xss1, xss2) of | (list_cons (xs1, xss1), list_cons (xs2, xss2)) => let val () = s2explst_syneq_exn (xs1, xs2) in s2explstlst_syneq_exn (xss1, xss2) end // end of [cons, cons] | (list_nil (), list_nil ()) => () | (_, _) => $raise (SYNEQexn) // end of [s2explstlst_syneq_exn] (* ****** ****** *) // fun s2eff_syneq ( s2fe1: s2eff, s2fe2: s2eff ) : bool = ( try let // val () = s2eff_syneq_exn (s2fe1, s2fe2) // in true end with | ~SYNEQexn((*void*)) => false ) (* end of [s2eff_syneq_exn] *) // and s2eff_syneq_exn ( s2fe1: s2eff, s2fe2: s2eff ) : void = let in // case+ (s2fe1, s2fe2) of | (S2EFFset (efs1), S2EFFset (efs2)) => if not(efs1=efs2) then $raise (SYNEQexn) // end of [S2EFFset, S2EFFset] | (S2EFFexp (s2e1), S2EFFexp (s2e2)) => s2exp_syneq_exn (s2e1, s2e2) | (S2EFFadd (s2fe11, s2fe12), S2EFFadd (s2fe21, s2fe22)) => { val () = s2eff_syneq_exn (s2fe11, s2fe21) val () = s2eff_syneq_exn (s2fe21, s2fe22) } // end of [S2EFFadd, S2EFFadd] | (_, _) => $raise (SYNEQexn) // end // end of [s2eff_syneq_exn] // (* ****** ****** *) fun s2lab_syneq ( s2l1: s2lab, s2l2: s2lab ) : bool = ( // try let // val () = s2lab_syneq_exn(s2l1, s2l2) // in true end with ~SYNEQexn() => false // ) (* end of [s2lab_syneq] *) and s2lablst_syneq ( s2ls1: s2lablst, s2ls2: s2lablst ) : bool = ( // try let // val () = s2lablst_syneq_exn(s2ls1, s2ls2) // in true end with ~SYNEQexn() => false // ) (* end of [s2lablst_syneq] *) and s2lab_syneq_exn ( s2l1: s2lab, s2l2: s2lab ) : void = let in // case+ s2l1 of | S2LABlab l1 => ( case+ s2l2 of | S2LABlab l2 => if l1 != l2 then $raise (SYNEQexn) // end of [S2LABlab] | S2LABind _ => $raise (SYNEQexn) ) | S2LABind ind1 => ( case+ s2l2 of | S2LABlab _ => $raise (SYNEQexn) | S2LABind (ind2) => s2explst_syneq_exn (ind1, ind2) ) // end // end of [s2lab_syneq_exn] and s2lablst_syneq_exn ( s2ls1: s2lablst, s2ls2: s2lablst ) : void = let in // case+ (s2ls1, s2ls2) of | (list_cons (s2l1, s2ls1), list_cons (s2l2, s2ls2)) => let val () = s2lab_syneq_exn (s2l1, s2l2) // end of [val] in s2lablst_syneq_exn (s2ls1, s2ls2) end | (list_nil (), list_nil ()) => () | (_, _) => $raise (SYNEQexn) // end // end of [s2lablst_syneq_exn] and labs2explst_syneq_exn ( ls2es1: labs2explst, ls2es2: labs2explst ) : void = let in // case+ ( ls2es1,ls2es2 ) of // case+ | (list_cons (ls2e1, ls2es1), list_cons (ls2e2, ls2es2)) => let val SLABELED (l1, _(*opt*), s2e1) = ls2e1 val SLABELED (l2, _(*opt*), s2e2) = ls2e2 in if (l1 = l2) then let val () = s2exp_syneq_exn (s2e1, s2e2) in labs2explst_syneq_exn (ls2es1, ls2es2) end else $raise (SYNEQexn) end // end of [cons, cons] | (list_nil (), list_nil ()) => () | (_(*ls2es1*), _(*ls2es2*)) => $raise (SYNEQexn) // end // end of [labs2explst_syneq_exn] (* ****** ****** *) implement s2hnf_syneq_exn (s2f10, s2f20) = let // val s2e10 = s2hnf2exp (s2f10) and s2e20 = s2hnf2exp (s2f20) val s2en10 = s2e10.s2exp_node and s2en20 = s2e20.s2exp_node // (* val () = println! ("s2hnf_syneq_exn: s2e10 = ", s2e10) val () = println! ("s2hnf_syneq_exn: s2e20 = ", s2e20) *) // in // case s2en10 of // | _ when $UT.eqref_type (s2e10, s2e20) => () // | S2Eint i1 => ( case+ s2en20 of | S2Eint i2 => if i1 != i2 then $raise (SYNEQexn) | S2Eintinf i2 => if ~eq_int_intinf (i1, i2) then $raise (SYNEQexn) | _ (* non-integer *) => $raise (SYNEQexn) ) (* end of [S2Eint] *) | S2Eintinf i1 => ( case+ s2en20 of | S2Eint i2 => if ~eq_intinf_int (i1, i2) then $raise (SYNEQexn) | S2Eintinf i2 => if ~eq_intinf_intinf (i1, i2) then $raise (SYNEQexn) | _ (* non-integer *) => $raise (SYNEQexn) ) (* end of [S2Eintinf] *) // | S2Ecst(s2c1) => ( case+ s2en20 of | S2Ecst(s2c2) => if s2c1 != s2c2 then $raise (SYNEQexn) | _ (* non-S2Ecst *) => $raise (SYNEQexn) ) (* end of [S2Ecst] *) // | S2Eextype (name1, s2ess1) => ( case+ s2en20 of | S2Eextype (name2, s2ess2) => ( if name1 = name2 then s2explstlst_syneq_exn(s2ess1, s2ess2) else $raise(SYNEQexn) ) // end of [S2Eextype] | _ (* non-S2Eextype *) => $raise (SYNEQexn) ) (* end of [S2Eextype] *) | S2Eextkind (name1, s2ess1) => ( case+ s2en20 of | S2Eextkind (name2, s2ess2) => ( if name1 = name2 then s2explstlst_syneq_exn(s2ess1, s2ess2) else $raise(SYNEQexn) ) // end of [S2Eextkind] | _ (* non-S2Eextkind *) => $raise (SYNEQexn) ) (* end of [S2Eextkind] *) // | S2Evar(s2v1) => ( case+ s2en20 of | S2Evar(s2v2) => if s2v1 != s2v2 then $raise (SYNEQexn) | _ (* non-S2Evar *) => $raise (SYNEQexn) ) (* end of [S2Evar] *) // | S2EVar(s2V1) => ( case+ s2en20 of | S2EVar(s2V2) => if s2V1 != s2V2 then $raise (SYNEQexn) | _ (* non-S2EVar *) => $raise (SYNEQexn) ) (* end of [S2EVar] *) // | S2Edatcontyp (d2c1, arg1) => ( case+ s2en20 of | S2Edatcontyp (d2c2, arg2) => ( if (d2c1 = d2c2) then s2explst_syneq_exn(arg1, arg2) else $raise(SYNEQexn) ) // end of [S2Edatcontyp] | _ (* non-S2Edatcontyp *) => $raise (SYNEQexn) ) (* end of [S2Edatcontyp] *) | S2Edatconptr (d2c1, rt1, _) => ( case+ s2en20 of | S2Edatconptr (d2c2, rt2, _) => ( if (d2c1 = d2c2) then s2exp_syneq_exn (rt1, rt2) else $raise(SYNEQexn) ) // end of [S2Edatconptr] | _ (* non-S2Edatconptr *) => $raise (SYNEQexn) ) (* end of [S2Edatconptr] *) // | S2Eeff (s2fe1) => ( case+ s2en20 of | S2Eeff (s2fe2) => s2eff_syneq_exn (s2fe1, s2fe2) | _ (* non-S2Eeff *) => $raise (SYNEQexn) ) (* end of [S2Eeff] *) // | S2Eeqeq (s2e11, s2e12) => ( case+ s2en20 of | S2Eeqeq (s2e21, s2e22) => { val () = s2exp_syneq_exn (s2e11, s2e21) val () = s2exp_syneq_exn (s2e12, s2e22) } // end of [S2Eeqeq] | _ (* non-S2Eeqeq *) => $raise (SYNEQexn) ) (* end of[S2Eeqeq] *) // | S2Eproj (s2e1, _, s2ls1) => ( case+ s2en20 of | S2Eproj (s2e2, _, s2ls2) => { val () = s2exp_syneq_exn (s2e1, s2e2) val () = s2lablst_syneq_exn (s2ls1, s2ls2) } // end of [S2Eproj] | _ (* non-S2Eproj *) => $raise (SYNEQexn) ) (* end of[S2Eproj] *) // | S2Eapp (s2e11, s2es12) => ( case+ s2en20 of | S2Eapp (s2e21, s2es22) => { val () = s2exp_syneq_exn (s2e11, s2e21) val () = s2explst_syneq_exn (s2es12, s2es22) } // end of [S2Eapp] | _ (* non-S2Eapp *) => $raise (SYNEQexn) ) (* end of [S2Eapp] *) // | S2Efun ( fc1, lin1, s2fe1, npf1, s2es1_arg, s2e1_res ) => (case+ s2en20 of | S2Efun ( fc2, lin2, s2fe2, npf2, s2es2_arg, s2e2_res ) => { val () = if fc1 != fc2 then $raise (SYNEQexn) val () = if lin1 != lin2 then $raise (SYNEQexn) val () = s2eff_syneq_exn (s2fe1, s2fe2) val () = if npf1 != npf2 then $raise (SYNEQexn) val () = s2explst_syneq_exn (s2es1_arg, s2es2_arg) val () = s2exp_syneq_exn (s2e1_res, s2e2_res) } // end of [S2Efun] | _ (* non-S2Efun *) => $raise (SYNEQexn) ) (* end of [S2Efun] *) // | S2Etop (knd1, s2e1) => ( case+ s2en20 of | S2Etop (knd2, s2e2) => ( if knd1 = knd2 then s2exp_syneq_exn(s2e1, s2e2) else $raise(SYNEQexn) ) // end of [S2Etop] | _ (* non-S2Etop *) => $raise (SYNEQexn) ) (* end of [S2Etop] *) // | S2Ewithout (s2e1) => ( case+ s2en20 of | S2Ewithout (s2e2) => s2exp_syneq_exn (s2e1, s2e2) | _ (* non-S2Ewithout *) => $raise (SYNEQexn) ) // end of [S2Ewithout] // | S2Etyarr (s2e1_elt, s2es1_int) => ( case+ s2en20 of | S2Etyarr (s2e2_elt, s2es2_int) => { val () = s2exp_syneq_exn (s2e1_elt, s2e2_elt) val () = s2explst_syneq_exn (s2es1_int, s2es2_int) } // end of [S2Etyarr] | _ (* non-S2Etyarr *) => $raise (SYNEQexn) ) (* end of [S2Etyarr] *) // | S2Etyrec (knd1, npf1, ls2es1) => ( case+ s2en20 of | S2Etyrec (knd2, npf2, ls2es2) => { val () = if knd1 != knd2 then $raise (SYNEQexn) val () = if npf1 != npf2 then $raise (SYNEQexn) val () = labs2explst_syneq_exn (ls2es1, ls2es2) } // end of [S2Etyrec] | _ (* non-S2Etyrec *) => $raise (SYNEQexn) ) (* end of [S2Etyrec] *) // | S2Einvar (s2e1) => ( case+ s2en20 of | S2Einvar (s2e2) => s2exp_syneq_exn (s2e1, s2e2) | _ (* non-S2Einvar *) => $raise (SYNEQexn) ) (* end of [S2Einvar] *) // | S2Erefarg (knd1, s2e1) => ( case+ s2en20 of | S2Erefarg (knd2, s2e2) => ( if knd1 = knd2 then s2exp_syneq_exn (s2e1, s2e2) else $raise(SYNEQexn) ) // end of [S2Erefarg] | _ (* non-S2Erefarg *) => $raise (SYNEQexn) ) (* end of [S2Erefarg] *) // | S2Evararg (s2e1) => ( case+ s2en20 of | S2Evararg (s2e2) => s2exp_syneq_exn (s2e1, s2e2) | _ (* non-S2Evararg *) => $raise (SYNEQexn) ) (* end of [S2Evararg] *) // | _ (* rest-of-s2exp *) => $raise (SYNEQexn) // end // end of [s2hnf_syneq] (* ****** ****** *) // // HX-2015-03: // s2exp_syneq2: // this version handles bound variables // (* ****** ****** *) // extern fun labs2explst_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , ls2es1: labs2explst, ls2es2: labs2explst ) : bool // end of [labs2explst_syneq_env] // (* ****** ****** *) local fun aux0 ( env1: s2varlst , env2: s2varlst , s2v10: s2var, s2v20: s2var ) : bool = ( // case+ env1 of | list_nil () => aux1_0 (env1, env2, s2v10, s2v20) | list_cons (s2v1, env1) => if s2v1 = s2v10 then aux1_t (env1, env2, s2v10, s2v20) else aux1_f (env1, env2, s2v10, s2v20) // end of [if] // ) (* end of [aux0] *) and aux1_0 ( env1: s2varlst , env2: s2varlst , s2v10: s2var, s2v20: s2var ) : bool = ( // case+ env2 of | list_nil () => if s2v10=s2v20 then true else false | list_cons (s2v2, env2) => if s2v2 = s2v20 then false else aux1_0 (env1, env2, s2v10, s2v20) // end of [if] // ) (* end of [aux1_0] *) and aux1_t ( env1: s2varlst , env2: s2varlst , s2v10: s2var, s2v20: s2var ) : bool = ( // case+ env2 of | list_nil () => false | list_cons (s2v2, env2) => if s2v2 = s2v20 then true else false // ) (* end of [aux1_t] *) and aux1_f ( env1: s2varlst , env2: s2varlst , s2v10: s2var, s2v20: s2var ) : bool = ( // case+ env2 of | list_nil () => aux2_0 (env1, env2, s2v10, s2v20) | list_cons (s2v2, env2) => if s2v2 = s2v20 then false else aux0 (env1, env2, s2v10, s2v20) // end of [if] // ) (* end of [aux1_f] *) and aux2_0 ( env1: s2varlst , env2: s2varlst , s2v10: s2var, s2v20: s2var ) : bool = ( // case+ env1 of | list_nil () => if s2v10=s2v20 then true else false | list_cons (s2v1, env1) => if s2v1 = s2v10 then false else aux2_0 (env1, env2, s2v10, s2v20) // end of [if] // ) (* end of [aux2_0] *) in (* in-of-local *) implement s2var_syneq_env ( env1, env2, s2v10, s2v20 ) = let // val env1 = $UN.linlst2lst(env1) and env2 = $UN.linlst2lst(env2) // in aux0 (env1, env2, s2v10, s2v20) end // end of [s2var_syneq_env] end // end of [local] (* ****** ****** *) local fun auxenv ( env: !s2varlst_vt, s2vs: s2varlst ) : s2varlst_vt = let val env2 = list_vt_copy (env) in list_reverse_append2_vt (s2vs, env2) end // end of [auxenv] in (* in-of-local *) implement s2hnf_syneq_env ( env1, env2, s2f10, s2f20 ) = let // val s2e10 = s2hnf2exp (s2f10) and s2e20 = s2hnf2exp (s2f20) val s2en10 = s2e10.s2exp_node and s2en20 = s2e20.s2exp_node // (* val () = println! ("s2hnf_syneq_env: s2e10 = ", s2e10) val () = println! ("s2hnf_syneq_env: s2e20 = ", s2e20) *) // in // case+ s2en10 of // | S2Eint i1 => ( case+ s2en20 of | S2Eint i2 => if i1 = i2 then true else false | S2Eintinf i2 => if eq_int_intinf (i1, i2) then true else false | _ (*non-integer*) => false ) (* end of [S2Eint] *) | S2Eintinf i1 => ( case+ s2en20 of | S2Eint i2 => if eq_intinf_int (i1, i2) then true else false | S2Eintinf i2 => if eq_intinf_intinf (i1, i2) then true else false | _ (*non-integer*) => false ) (* end of [S2Eintinf] *) // | S2Ecst(s2c1) => ( case+ s2en20 of | S2Ecst(s2c2) => if s2c1 = s2c2 then true else false | _ (* non-S2Ecst *) => false ) (* end of [S2Ecst] *) // | S2Eextype (name1, s2ess1) => ( case+ s2en20 of | S2Eextype (name2, s2ess2) => ( if name1 = name2 then ( s2explstlst_syneq_env(env1, env2, s2ess1, s2ess2) ) else false ) // end of [S2Eextype] | _ (* non-S2Eextype *) => false ) (* end of [S2Eextype] *) | S2Eextkind (name1, s2ess1) => ( case+ s2en20 of | S2Eextkind (name2, s2ess2) => ( if name1 = name2 then ( s2explstlst_syneq_env(env1, env2, s2ess1, s2ess2) ) else false ) // end of [S2Eextkind] | _ (* non-S2Eextkind *) => false ) (* end of [S2Eextkind] *) // | S2Evar(s2v1) => ( case+ s2en20 of | S2Evar(s2v2) => s2var_syneq_env (env1, env2, s2v1, s2v2) | _ (* non-S2Evar *) => false ) (* end of [S2Evar] *) // | S2EVar(s2V1) => ( case+ s2en20 of | S2EVar(s2V2) => if s2V1 = s2V2 then true else false | _ (* non-S2EVar *) => false ) (* end of [S2EVar] *) // | S2Edatcontyp (d2c1, arg1) => ( case+ s2en20 of | S2Edatcontyp (d2c2, arg2) => ( if (d2c1 = d2c2) then s2explst_syneq_env(env1, env2, arg1, arg2) else false // end of [if] ) // end of [S2Edatcontyp] | _ (* non-S2Edatcontyp *) => false ) (* end of [S2Edatcontyp] *) | S2Edatconptr (d2c1, rt1, _) => ( case+ s2en20 of | S2Edatconptr (d2c2, rt2, _) => ( if (d2c1 = d2c2) then s2exp_syneq_env (env1, env2, rt1, rt2) else false ) // end of [S2Edatconptr] | _ (* non-S2Edatconptr *) => false ) (* end of [S2Edatconptr] *) // | S2Eeqeq (s2e11, s2e12) => ( case+ s2en20 of | S2Eeqeq (s2e21, s2e22) => let val syneq = s2exp_syneq_env(env1, env2, s2e11, s2e21) // end of [val] in if syneq then s2exp_syneq_env(env1, env2, s2e12, s2e22) else false // end of [if] end // end of [S2Eeqeq] | _ (* non-S2Eeqeq *) => false ) (* end of[S2Eeqeq] *) // | S2Eproj (s2e1, _, s2ls1) => ( case+ s2en20 of | S2Eproj (s2e2, _, s2ls2) => let val syneq = s2exp_syneq_env (env1, env2, s2e1, s2e2) // end of [val] in if syneq then s2lablst_syneq (s2ls1, s2ls2) else false end // end of [S2Eproj] | _ (* non-S2Eproj *) => false ) (* end of[S2Eproj] *) // | S2Eapp (s2e11, s2es12) => ( case+ s2en20 of | S2Eapp (s2e21, s2es22) => let val syneq = s2exp_syneq_env (env1, env2, s2e11, s2e21) in if syneq then s2explst_syneq_env (env1, env2, s2es12, s2es22) else false // end of [if] end // end of [S2Eapp] | _ (* non-S2Eapp *) => false ) (* end of [S2Eapp] *) // | S2Efun ( fc1, lin1, s2fe1, npf1, s2es1_arg, s2e1_res ) => ( case+ s2en20 of | S2Efun ( fc2, lin2, s2fe2, npf2, s2es2_arg, s2e2_res ) => let val syneq = (if fc1 = fc2 then true else false): bool val syneq = (if syneq then lin1 = lin2 else false): bool val syneq = (if syneq then s2eff_syneq (s2fe1, s2fe2) else false): bool val syneq = (if syneq then npf1 = npf2 else false): bool val syneq = ( if syneq then s2explst_syneq_env(env1, env2, s2es1_arg, s2es2_arg) else false ) : bool // end of [val] in if syneq then s2exp_syneq_env (env1, env2, s2e1_res, s2e2_res) else false // end of [if] end // end of [S2Efun] | _ (* non-S2Efun *) => false ) (* end of [S2Efun] *) // | S2Etop (knd1, s2e1) => ( case+ s2en20 of | S2Etop (knd2, s2e2) => ( if knd1 = knd2 then s2exp_syneq_env(env1, env2, s2e1, s2e2) else false ) // end of [S2Etop] | _ (* non-S2Etop *) => false ) (* end of [S2Etop] *) // | S2Ewithout (s2e1) => ( case+ s2en20 of | S2Ewithout (s2e2) => s2exp_syneq_env (env1, env2, s2e1, s2e2) | _ (* non-S2Ewithout *) => false ) // end of [S2Ewithout] // | S2Etyarr (s2e1_elt, s2es1_int) => ( case+ s2en20 of | S2Etyarr (s2e2_elt, s2es2_int) => let val syneq = s2exp_syneq_env (env1, env2, s2e1_elt, s2e2_elt) in if syneq then s2explst_syneq_env (env1, env2, s2es1_int, s2es2_int) else false // end of [if] end // [S2Etyarr] | _ (* non-S2Etyarr *) => false ) (* end of [S2Etyarr] *) // | S2Etyrec (knd1, npf1, ls2es1) => ( case+ s2en20 of | S2Etyrec (knd2, npf2, ls2es2) => let val syneq = (if knd1 = knd2 then true else false): bool val syneq = (if syneq then npf1 = npf2 else false): bool in if syneq then labs2explst_syneq_env (env1, env2, ls2es1, ls2es2) else false // end of [if] end // [S2Etyrec] | _ (* non-S2Etyrec *) => false ) (* end of [S2Etyrec] *) // | S2Einvar (s2e1) => ( case+ s2en20 of | S2Einvar (s2e2) => s2exp_syneq_env (env1, env2, s2e1, s2e2) | _ (* non-S2Einvar *) => false ) (* end of [S2Einvar] *) // | S2Eexi (s2vs1, s2ps1, s2e1) => ( case+ s2en20 of | S2Eexi (s2vs2, s2ps2, s2e2) => let val env1 = auxenv (env1, s2vs1) val env2 = auxenv (env2, s2vs2) val syneq = s2explst_syneq_env (env1, env2, s2ps1, s2ps2) val syneq = ( if syneq then s2exp_syneq_env (env1, env2, s2e1, s2e2) else false // end of [if] ) : bool // end of [val] val () = list_vt_free (env1) and () = list_vt_free (env2) in syneq end // end of [S2Eexi] | _ (* non-S2Eexi *) => false ) (* end of [S2EVar] *) // | S2Erefarg (knd1, s2e1) => ( case+ s2en20 of | S2Erefarg (knd2, s2e2) => ( if knd1 = knd2 then s2exp_syneq_env (env1, env2, s2e1, s2e2) else false ) // end of [S2Erefarg] | _ (* non-S2Erefarg *) => false ) (* end of [S2Erefarg] *) // | S2Evararg (s2e1) => ( case+ s2en20 of | S2Evararg (s2e2) => s2exp_syneq_env (env1, env2, s2e1, s2e2) | _ (* non-S2Evararg *) => false ) (* end of [S2Evararg] *) // | _ (* rest-of-s2exp *) => false // end // end of [s2hnf_syneq_env] end // end of [local] (* ****** ****** *) implement s2exp_syneq_env (env1, env2, s2e10, s2e20) = let // val s2f10 = s2exp2hnf (s2e10) and s2f20 = s2exp2hnf (s2e20) // in s2hnf_syneq_env (env1, env2, s2f10, s2f20) end // end of [s2exp_syneq_env] (* ****** ****** *) implement s2explst_syneq_env (env1, env2, s2es1, s2es2) = ( // case+ s2es1 of | list_nil () => ( case+ s2es2 of | list_nil () => true | list_cons _ => false ) | list_cons (s2e1, s2es1) => ( case+ s2es2 of | list_nil () => false | list_cons (s2e2, s2es2) => ( if s2exp_syneq_env (env1, env2, s2e1, s2e2) then s2explst_syneq_env (env1, env2, s2es1, s2es2) else false ) (* end of [list_cons] *) ) (* end of [list_cons] *) // ) (* end of [s2explst_syneq_env] *) (* ****** ****** *) implement s2explstlst_syneq_env (env1, env2, s2ess1, s2ess2) = ( // case+ s2ess1 of | list_nil () => ( case+ s2ess2 of | list_nil () => true | list_cons _ => false ) | list_cons (s2es1, s2ess1) => ( case+ s2ess2 of | list_nil () => false | list_cons (s2es2, s2ess2) => ( if s2explst_syneq_env (env1, env2, s2es1, s2es2) then s2explstlst_syneq_env (env1, env2, s2ess1, s2ess2) else false ) (* end of [list_cons] *) ) (* end of [list_cons] *) // ) (* end of [s2explstlst_syneq_env] *) (* ****** ****** *) implement labs2explst_syneq_env ( env1, env2, ls2es1, ls2es2 ) = let in // case+ ( ls2es1,ls2es2 ) of // case+ | (list_cons (ls2e1, ls2es1), list_cons (ls2e2, ls2es2)) => let val SLABELED (l1, _(*opt*), s2e1) = ls2e1 val SLABELED (l2, _(*opt*), s2e2) = ls2e2 in if (l1 = l2) then let val syneq = s2exp_syneq_env(env1, env2, s2e1, s2e2) // end of [val] in if syneq then labs2explst_syneq_env(env1, env2, ls2es1, ls2es2) else false end else $raise (SYNEQexn) end // end of [cons, cons] | (list_nil (), list_nil ()) => true | (_(*ls2es1*), _(*ls2es2*)) => false // end // end of [labs2explst_syneq_env] (* ****** ****** *) // implement s2hnf_syneq2 (s2f1, s2f2) = syneq where { val env1 = list_vt_nil() val env2 = list_vt_nil() val syneq = s2hnf_syneq_env (env1, env2, s2f1, s2f2) val () = list_vt_free (env1) and () = list_vt_free (env2) } (* end of [s2hnf_syneq2] *) // implement s2exp_syneq2 (s2e1, s2e2) = syneq where { val env1 = list_vt_nil() val env2 = list_vt_nil() val syneq = s2exp_syneq_env (env1, env2, s2e1, s2e2) val () = list_vt_free (env1) and () = list_vt_free (env2) } (* end of [s2exp_syneq2] *) // implement s2explst_syneq2 (s2es1, s2es2) = syneq where { val env1 = list_vt_nil() val env2 = list_vt_nil() val syneq = s2explst_syneq_env (env1, env2, s2es1, s2es2) val () = list_vt_free (env1) and () = list_vt_free (env2) } (* end of [s2explst_syneq2] *) // (* ****** ****** *) local fun s2exp_prenexize ( knd: int // 0/1: exi/uni , s2e0: s2exp , flag: &int >> int , s2vs_res: &s2varlst_vt , s2ps_res: &s2explst_vt ) : s2exp = let // val s2e0 = s2exp_hnfize(s2e0) // in // case+ s2e0.s2exp_node of // | S2Eexi ( s2vs, s2ps, s2e_body ) => ( if knd = 0 then s2exp_prenexize_work ( knd, s2vs, s2ps, s2e_body, flag, s2vs_res, s2ps_res ) else s2e0 // end of [if] ) (* end of [S2Eexi] *) | S2Euni ( s2vs, s2ps, s2e_body ) => ( if knd > 0 then s2exp_prenexize_work ( knd, s2vs, s2ps, s2e_body, flag, s2vs_res, s2ps_res ) else s2e0 // end of [if] ) (* end of [S2Euni] *) // | S2Eat (s2e1, s2e2) => let val flag0 = flag val s2e1 = ( if knd = 0 then // exists s2exp_prenexize (knd, s2e1, flag, s2vs_res, s2ps_res) // end of [then] else s2e1 ) : s2exp // end of [val] in if flag > flag0 then s2exp_at (s2e1, s2e2) else (s2e0) end // end of [S2Eat] // (* | S2Etyrec ( recknd, npf, ls2es ) => let val flag0 = flag val ls2es = labs2explst_prenexize (knd, ls2es, s2vs_res, s2ps_res, flag) // end of [val] in if flag > flag0 then s2exp_tyrec_srt(s2e0.s2exp_srt, recknd, npf, ls2es) else s2e0 // end of [else] // end of [if] end // end of [S2Etyrec] *) | _ (*non-s2exp*) => s2e0 // end of [_] // end // end of [s2exp_prenexize] and s2exp_prenexize_work ( knd: int , s2vs: s2varlst, s2ps: s2explst, s2e_body: s2exp , flag: &int >> int , s2vs_res: &s2varlst_vt , s2ps_res: &s2explst_vt ) : s2exp = let var sub = stasub_make_nil () val s2vs = stasub_extend_svarlst (sub, s2vs) val s2ps = s2explst_subst_vt (sub, s2ps) // HX: returning a linear list val s2e_body = s2exp_subst (sub, s2e_body) val () = stasub_free (sub) val () = flag := flag + 1 val () = s2vs_res := list_vt_reverse_append (s2vs, s2vs_res) val () = s2ps_res := list_vt_reverse_append (s2ps, s2ps_res) val s2e_body = s2exp_prenexize(knd, s2e_body, flag, s2vs_res, s2ps_res) in s2e_body end // end of [s2exp_prenexize_work] and s2explst_prenexize ( knd: int , s2es0: s2explst , flag: &int >> int , s2vs_res: &s2varlst_vt , s2ps_res: &s2explst_vt ) : s2explst = let in // case+ s2es0 of | list_nil() => list_nil () | list_cons(s2e, s2es) => let val flag0 = flag val s2e = s2exp_prenexize(knd, s2e, flag, s2vs_res, s2ps_res) // end of [val] val s2es = s2explst_prenexize(knd, s2es, flag, s2vs_res, s2ps_res) // end of [val] in if flag > flag0 then list_cons (s2e, s2es) else s2es0 end // end of [cons] // end // end of [s2explst_prenexize] and labs2explst_prenexize ( knd: int , ls2es0: labs2explst , flag: &int >> int , s2vs_res: &s2varlst_vt , s2ps_res: &s2explst_vt ) : labs2explst = let in // case+ ls2es0 of | list_nil() => list_nil () | list_cons(ls2e, ls2es) => let val flag0 = flag val SLABELED (l, name, s2e) = ls2e val s2e = s2exp_prenexize(knd, s2e, flag, s2vs_res, s2ps_res) // end of [val] val ls2e = ( if flag > flag0 then SLABELED (l, name, s2e) else ls2e ) : labs2exp // end of [val] val ls2es = labs2explst_prenexize(knd, ls2es, flag, s2vs_res, s2ps_res) // end of [val] in if flag > flag0 then list_cons (ls2e, ls2es) else ls2es0 end // end of [list_cons] // end // end of [labs2explst_prenexize] in // in of [local] implement s2exp_absuni (s2e) = let var flag: int = 0 var s2vs_res : s2varlst_vt = list_vt_nil() and s2ps_res : s2explst_vt = list_vt_nil() val s2e = s2exp_prenexize(1(*uni*), s2e, flag, s2vs_res, s2ps_res) // end of [val] // val s2vs = list_vt_reverse(s2vs_res) and s2ps = list_vt_reverse(s2ps_res) // in (s2e, s2vs, s2ps) end // end of [s2exp_absuni] implement s2exp_opnexi (s2e) = let var flag: int = 0 var s2vs_res : s2varlst_vt = list_vt_nil() and s2ps_res : s2explst_vt = list_vt_nil() val s2e = s2exp_prenexize(0(*exi*), s2e, flag, s2vs_res, s2ps_res) // end of [val] // val s2vs = list_vt_reverse(s2vs_res) and s2ps = list_vt_reverse(s2ps_res) // in (s2e, s2vs, s2ps) end // end of [s2exp_opnexi] end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_util2.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_mapgen.dats0000664000175000017500000000753712655455557021243 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: December, 2014 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "./pats_jsonize.sats" (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_constraint3.sats" (* ****** ****** *) local // extern fun s2cst_app : synent_app (s2cst) and s2var_app : synent_app (s2var) and s2Var_app : synent_app (s2Var) and d2con_app : synent_app (d2con) // #include "./pats_staexp2_appenv.hats" #include "./pats_constraint3_appenv.hats" // datavtype myenv = | MYENV of (s2cstset_vt, s2varset_vt, s2Varset_vt) // in // implement s2cst_app (s2c, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (!p_s2cs, _, _) = env2 // val ismem = s2cstset_vt_ismem (!p_s2cs, s2c) // val () = ( if (ismem) then ((*void*)) else let // val () = !p_s2cs := s2cstset_vt_add(!p_s2cs, s2c) // in s2expopt_app (s2cst_get_def(s2c), env) end // end of [else] ) (* end of [val] *) // prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2cst_app] implement s2var_app (s2v, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, !p_s2vs, _) = env2 val ((*void*)) = !p_s2vs := s2varset_vt_add(!p_s2vs, s2v) prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2var_app] implement s2Var_app (s2V, env) = let // val env2 = $UN.castvwtp1{myenv}(env) val+MYENV (_, _, !p_s2Vs) = env2 // val ismem = s2Varset_vt_ismem (!p_s2Vs, s2V) // val () = if (ismem) then ((*void*)) else let // val () = !p_s2Vs := s2Varset_vt_add(!p_s2Vs, s2V) // val opt = s2Var_get_link (s2V) val void = s2expopt_app (opt, env) // val s2ze = s2Var_get_szexp (s2V) val ((*void*)) = s2zexp_app (s2ze, env) // in // nothing end // end of [else] // prval ((*void*)) = fold@ (env2) prval ((*void*)) = $UN.castvwtp0{void}(env2) // in // nothing end // end of [s2Var_app] implement d2con_app (s2v, env) = () (* ****** ****** *) implement c3nstr_mapgen_scst_svar (c3t) = let // val s2cs = s2cstset_vt_nil () val s2vs = s2varset_vt_nil () val s2Vs = s2Varset_vt_nil () // val appenv = $UN.castvwtp0{appenv}(MYENV(s2cs, s2vs, s2Vs)) // val ((*void*)) = c3nstr_app (c3t, appenv) // val+~MYENV(s2cs, s2vs, s2Vs) = $UN.castvwtp0{myenv}(appenv) // val ((*void*)) = s2Varset_vt_free (s2Vs) // in (s2cs, s2vs) end // end of [c3nstr_mapgen_scst_svar] end // end of [local] (* ****** ****** *) (* end of [pats_constraint3_mapgen.dats] *) ATS2-Postiats-0.2.6/./src/pats_codegen2_fprint.dats0000664000175000017500000003444012655455557020506 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2015 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload LOC = "./pats_location.sats" // overload fprint with $LOC.fprint_location // (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) // staload S1E = "./pats_staexp1.sats" // overload fprint with $S1E.fprint_e1xp // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" // staload "./pats_trans2_env.sats" // (* ****** ****** *) staload "./pats_codegen2.sats" (* ****** ****** *) local fun auxerr_nil ( out: FILEref, d2c0: d2ecl ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no spec on datatype is given\n" ) (* end of [val] *) // val () = fprintln! (out, "*)") // } (* end of [auxerr_nil] *) fun auxerr_s2cst ( out: FILEref, d2c0: d2ecl ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no datatype of the given spec\n" ) (* end of [val] *) // val () = fprintln! (out, "*)") // } (* end of [auxerr_s2cst] *) fun auxerr_d2cst ( out: FILEref, d2c0: d2ecl, s2dat: s2cst ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no fprint-function of the given spec\n" ) (* end of [val] *) // val () = fprintln! (out, "*)") // } (* end of [auxerr_d2cst] *) fun aux_datype ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, xs: e1xplst ) : void = let // fun auxfun1 ( s2dat: s2cst ) : Option_vt(d2cst) = let // val sym = s2cst_get_sym(s2dat) val name = $SYM.symbol_get_name(sym) val d2cf = $UN.castvwtp0{string}(sprintf("fprint_%s", @(name))) val d2cf = $SYM.symbol_make_string(d2cf) // in // case+ the_d2expenv_find(d2cf) of // case+ | ~None_vt() => None_vt() | ~Some_vt(d2i) => ( case+ d2i of | D2ITMcst(d2cf) => Some_vt(d2cf) | _ => None_vt() ) (* end of [Some_vt] *) // end // end of [auxfun1] // fun auxfun2 ( s2dat: s2cst, xs: e1xplst ) : Option_vt(d2cst) = ( case+ xs of | list_nil() => auxfun1(s2dat) | list_cons(x, _) => codegen2_get_d2cst(x) ) // val opt = auxfun2(s2dat, xs) val xs2 = ( case+ xs of | list_nil() => xs | list_cons(_, xs) => xs ) : e1xplst // end of [val] // // in // case+ opt of | ~None_vt() => auxerr_d2cst(out, d2c0, s2dat) // end of [None_vt] | ~Some_vt(d2cf) => aux_datype_d2cf(out, d2c0, s2dat, d2cf, xs2) // end of [Some_vt] // end (* end of [aux_datype] *) and aux_datype_d2cf ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, d2cf: d2cst, xs: e1xplst ) : void = let // val linesep = "(* ****** ****** *)" // val fname = d2cst_get_name(d2cf) // fun auxd2c_dec ( d2c: d2con ) : void = let // val cname = d2con_get_name(d2c) // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname) val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // in // nothing end // end of [auxd2c_dec] // fun auxd2cs_dec ( d2cs: d2conlst ) : void = ( case+ d2cs of | list_nil() => () | list_cons(d2c, d2cs) => let val () = auxd2c_dec(d2c) in auxd2cs_dec(d2cs) end ) // fun auxd2c_cla ( d2c: d2con ) : void = let // val cname = d2con_get_name(d2c) // val () = fprint! (out, "| ", cname, " _ => ") // val () = fprint! (out, fname, "$", cname) val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // in // nothing end // end of [auxd2c_cla] // fun auxd2cs_cla ( d2cs: d2conlst ) : void = ( case+ d2cs of | list_nil() => () | list_cons(d2c, d2cs) => let val () = auxd2c_cla(d2c) in auxd2cs_cla(d2cs) end ) // fun auxsep ( // argless ): void = { // val () = fprint! ( out, "//\nextern\nfun{}\n" ) (* end of [val] *) val () = fprintln! (out, fname, "$sep: (FILEref) -> void") val () = fprint! (out, "implement{}\n") val () = fprintln! (out, fname, "$sep(out) = fprint(out, \",\")") // } (* end of [auxsep] *) // fun auxcarg ( // argless ): void = { // val () = fprint! ( out , "//\nextern\nfun{a:t0p}\n" ) (* end of [val] *) val () = fprintln! (out, fname, "$carg: (FILEref, INV(a)) -> void") val () = fprint! (out, "implement{a}\n") val () = fprintln! (out, fname, "$carg(out, arg) = fprint_val(out, arg)") // } (* end of [auxcarg] *) // fun auxlpar ( // argless ): void = { // val () = fprint! ( out, "//\nextern\nfun{}\n" ) (* end of [val] *) val () = fprintln! (out, fname, "$lpar: (FILEref) -> void") val () = fprint! (out, "implement{}\n") val () = fprintln! (out, fname, "$lpar(out) = fprint(out, \"(\")") // } (* end of [auxlpar] *) fun auxrpar ( // argless ): void = { // val () = fprint! ( out, "//\nextern\nfun{}\n" ) (* end of [val] *) val () = fprintln! (out, fname, "$rpar: (FILEref) -> void") val () = fprint! (out, "implement{}\n") val () = fprintln! (out, fname, "$rpar(out) = fprint(out, \")\")") // } (* end of [auxrpar] *) // val- Some(d2cs) = s2cst_get_dconlst(s2dat) // val () = fprint! (out, linesep, "\n//\n") // val () = auxd2cs_dec (d2cs) // val () = fprint! (out, "//\n", linesep, "\n//\n") // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) // val () = fprint! (out, fname) // val () = fprint! (out, "\n ") val () = fprintln! (out, "(out, arg0) =") // val () = fprint! (out, "(\n") val () = fprintln! (out, "case+ arg0 of") // val () = auxd2cs_cla (d2cs) // clauses // val () = fprint! (out, ")\n") val () = fprintln! (out, "//\n", linesep) // val () = auxsep () val () = auxlpar () val () = auxrpar () val () = auxcarg () // val () = fprintln! (out, "//\n", linesep) // val () = aux_datype_d2cf_conlst(out, d2c0, s2dat, d2cf, d2cs) // val () = fprintln! (out, "//\n", linesep) // in // nothing end // end of [aux_datype_d2cf] and aux_datype_d2cf_con ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, d2cf: d2cst, d2cn: d2con ) : void = let // val fname = d2cst_get_name(d2cf) // val ftype = d2cst_get_type(d2cf) // val cname = d2con_get_name(d2cn) // val narg = d2con_get_arity_real(d2cn) // fun auxcon1 ( // argless ) : void = { // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname, "$con") val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // } // fun auxlpar1 ( // argless ) : void = { // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname, "$lpar") val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // } // fun auxrpar1 ( // argless ) : void = { // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname, "$rpar") val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // } // fun auxsep1_n ( n: int ) : void = { // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname, "$sep", n) val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // } // fun auxarg1_n ( n: int ) : void = { // val () = fprint(out, "extern\nfun") val () = codegen2_emit_tmpcstdec(out, d2cf) val () = fprint(out, "\n") val () = fprint! (out, fname, "$", cname, "$arg", n) val () = fprint! (out, ": $d2ctype(", fname) val () = codegen2_emit_tmpcstapp(out, d2cf) val ((*closing*)) = fprintln! (out, ")") // } // fun auxcon2 ( // argless ) : void = { // val () = fprint! (out, "val () = ") val () = fprint! (out, fname, "$", cname, "$con") val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // } fun auxlpar2 ( // argless ) : void = { // val () = fprint! (out, "val () = ") val () = fprint! (out, fname, "$", cname, "$lpar") // val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // } // fun auxrpar2 ( // argless ) : void = { // val () = fprint! (out, "val () = ") val () = fprint! (out, fname, "$", cname, "$rpar") // val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // } // fun auxsep2_n ( n: int ) : void = { // val () = fprint! (out, "val () = ") val () = fprint! (out, fname, "$", cname, "$sep", n) // val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // } fun auxarg2_n ( n: int ) : void = { // val () = fprint! (out, "val () = ") val () = fprint! (out, fname, "$", cname, "$arg", n) // val () = codegen2_emit_tmpcstapp(out, d2cf) val () = fprintln! (out, "(out, arg0)") // } // fun auxbody2 ( n0: int, n: int ) : void = ( // if n < narg then let val () = if n > n0 then auxsep2_n(n) // end of [val] val () = auxarg2_n(n+1) in auxbody2(n0, n+1) end // end of [then] else () // end of [else] // ) (* end of [auxbody2] *) // fun auxcon3 ( // argless ) : void = { // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) // val () = fprint! (out, fname, "$", cname, "$con(out, _) = ") val () = fprintln! (out, "fprint(out, \"", cname, "\")") // } (* end of [auxcon3] *) // fun auxlpar3 ( // argless ) : void = { // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) val () = fprintln! (out, fname, "$", cname, "$lpar(out, _) = ", fname, "$lpar(out)") // } (* end of [auxlpar3] *) // fun auxrpar3 ( // argless ) : void = { // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) val () = fprintln! (out, fname, "$", cname, "$rpar(out, _) = ", fname, "$rpar(out)") // } (* end of [auxrpar3] *) // fun auxsep3_n ( n: int ) : void = { // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) val () = fprintln! (out, fname, "$", cname, "$sep", n, "(out, _) = ", fname, "$sep<>(out)") // } (* end of [auxsep3_n] *) // fun auxpat3_n ( n: int ) : void = let // fun aux(i: int): void = ( if (i <= narg) then let val () = if i > 1 then fprint(out, ", ") // end of [val] val () = if (i = n) then fprint!(out, "arg", n) // end of [val] val () = if (i != n) then fprint(out, "_") in aux(i+1) end // end of [then] else () // end of [else] ) // in fprint!(out, cname, "("); aux(1); fprint(out, ")") end // end of [auxpat3_n] // fun auxarg3_n ( n: int ) : void = { // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) val () = fprintln! (out, fname, "$", cname, "$arg", n, "(out, arg0) =") // val () = fprint (out, " let val-") // val () = auxpat3_n(n) // val () = fprintln! (out, " = arg0 in ", fname, "$carg(out, arg", n, ") end") // } (* end of [auxarg3_n] *) // val () = fprint(out, "//\n") // val () = auxcon1() val () = auxlpar1() val () = auxrpar1() val () = loop(1) where { fun loop(n: int): void = if n < narg then (auxsep1_n(n); loop(n+1)) } val () = loop(1) where { fun loop(n: int): void = if n <= narg then (auxarg1_n(n); loop(n+1)) } // val () = fprint(out, "//\n") // val () = fprint(out, "implement") val () = codegen2_emit_tmpcstimp(out, d2cf) val () = fprintln! (out) // val () = fprintln! (out, fname, "$", cname, "(out, arg0) = ") // val () = fprintln! (out, "{\n//") val () = auxcon2() val () = auxlpar2() val () = auxbody2(0, 0) val () = auxrpar2() val () = fprintln! (out, "//\n}") // val () = auxcon3() val () = auxlpar3() val () = auxrpar3() val () = loop(1) where { fun loop(n: int): void = if n < narg then (auxsep3_n(n); loop(n+1)) } val () = loop(1) where { fun loop(n: int): void = if n <= narg then (auxarg3_n(n); loop(n+1)) } // in // nothing end // end of [aux_datype_d2cf_con] and aux_datype_d2cf_conlst ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, d2cf: d2cst, xs: d2conlst ) : void = ( case+ xs of | list_nil() => () | list_cons(x, xs) => { val () = aux_datype_d2cf_con(out, d2c0, s2dat, d2cf, x) val () = aux_datype_d2cf_conlst(out, d2c0, s2dat, d2cf, xs) } ) (* end of [aux_datype_d2cf_conlst] *) in (* in-of-local *) implement codegen2_fprint (out, d2c0, xs) = let // (* val () = println! ("codegen2_fprint: d2c0 = ", d2c0) *) // in // case+ xs of | list_nil() => auxerr_nil(out, d2c0) // end of [list_nil] | list_cons(x, xs) => let val opt = codegen2_get_datype(x) in case+ opt of | ~None_vt() => auxerr_s2cst(out, d2c0) | ~Some_vt(s2c) => aux_datype(out, d2c0, s2c, xs) end // end of [list_cons] // end // end of [codegen2_fprint] end // end of [local] (* ****** ****** *) (* end of [pats_codegen2_fprint.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_solve.dats0000664000175000017500000004410512655455557021114 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // #include "./pats_params.hats" // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_constraint3_solve" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_patcst2.sats" staload "./pats_dynexp2.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) staload "./pats_lintprgm.sats" staload "./pats_constraint3.sats" (* ****** ****** *) local // #include "./pats_lintprgm_myint.dats" // in (*nothing*) end (* ****** ****** *) local staload _(*anon*) = "./pats_lintprgm.dats" staload _(*anon*) = "./pats_lintprgm_solve.dats" staload _(*anon*) = "./pats_constraint3_icnstr.dats" fun{ a:t@ype } indexset_make_s3exp {n:nat} ( vim: !s2varindmap (n), s3e: s3exp ) : indexset (n+1) = let typedef res = indexset (n+1) vtypedef map = s2varindmap (n) fun loop ( s2vs: s2varlst_vt, vim: !map, res: res ) : res = case+ s2vs of | ~list_vt_cons (s2v, s2vs) => let val ind = s2varindmap_find (vim, s2v) val res = ( if ind > 0 then indexset_add (res, ind) else res ) : res // end of [val] in loop (s2vs, vim, res) end // end of [list_vt_cons] | ~list_vt_nil () => res // end of [loop] val s2vs = s3exp_get_fvs (s3e) val s2vs = s2varset_vt_listize_free (s2vs) in loop (s2vs, vim, indexset_nil ()) end // end of [indexset_make_s3exp] (* ****** ****** *) fun{ a:t@ype } auxsolve{n:nat} ( loc0: location , vim: !s2varindmap (n), n: int n , s3ps_asmp: s3explst, s3p_conc: s3exp ) : int(*~1/0*) = let // // HX: note that the order is reversed: // val ics_asmp = let // vtypedef res = icnstrlst (a, n+1) // fun loop ( loc0: location , vim: !s2varindmap (n), n: int n, s3ps: s3explst , res: res ) : res = let in case+ s3ps of | list_nil ((*void*)) => res | list_cons (s3p, s3ps) => let val ic = s3exp2icnstr (loc0, vim, n, s3p) // end ofl[val] (* val () = ( println! ("auxsolve: loop: s3p = ", s3p); print "auxsolve: loop: ic = "; print_icnstr (ic, n+1); print_newline (); ) (* end of [val] *) *) in loop (loc0, vim, n, s3ps, list_vt_cons (ic, res)) end // end of [list_cons] end // end of [loop] // in loop (loc0, vim, n, s3ps_asmp, list_vt_nil) end // end of [val] // val ic_conc = s3exp2icnstr (loc0, vim, n, s3p_conc) // val ic_conc_neg = icnstr_negate (ic_conc) // (* val () = ( print ("auxsolve: ic_conc_neg = "); print_icnstr (ic_conc_neg, n+1); print_newline () ) (* end of [val] *) *) // val iset = indexset_make_s3exp (vim, s3p_conc) // // HX: this is the entire constraint matrix var ics_all : icnstrlst (a, n+1) = list_vt_cons (ic_conc_neg, ics_asmp) // val ans = icnstrlst_solve (iset, ics_all, n+1) val () = icnstrlst_free (ics_all, n+1) // (* val () = println! ("auxsolve: ans = ", ans) *) in // ans // ~1: contradiction reached; 0: undecided yet // end // end of [auxsolve] in (* in of [local] *) implement s3explst_solve_s2exp (loc0, env, s2p, err) = let // val s3p = s3exp_make (env, s2p) val s3p = ( case+ s3p of | S3Eerr _ => let val () = prerr_warning3_loc (loc0) val () = prerr ": the constraint [" val () = pprerr_s2exp (s2p) val () = prerr "] cannot be translated into a form accepted by the constraint solver." val () = prerr_newline () in s3exp_false // HX: make it the worst scenario end // end of [S3Eerr] | _ => s3p // end of [_] ) : s3exp // end of [val] // var status: int = 0 val () = ( case+ s3p of | S3Ebool (true) => status := ~1 | _ => () ) // end of [val] // val () = if status >= 0 then { val s3p_conc = s3exp_lintize (env, s3p) // HX: processed for being turned into a vector // val (s2vs, s3ps) = s2vbcfenv_extract (env) val s2vs_ = $UN.castvwtp1 {s2varlst} (s2vs) // HX: cannot be SHARED! val s3ps_asmp = $UN.castvwtp1 {s3explst} (s3ps) // HX: cannot be SHARED! // (* val () = begin print "s3explst_solve_s2exp: s2vs = "; print_s2varlst (s2vs_); print_newline (); print "s3explst_solve_s2exp: s3ps =\n"; $UT.fprintlst ( stdout_ref, s3ps_asmp, "\n", fprint_s3exp ) ; print_newline (); println! ("s3explst_solve_s2exp: s2p = ", s2p); println! ("s3explst_solve_s2exp: s3p = ", s3p); end // end of [val] *) // val (vim, n) = s2varindmap_make (s2vs) // // HX: [C3NSTRINTKND] defined in [pats_params.hats] // #if C3NSTRINTKND="intknd" #then val ans = auxsolve (loc0, vim, n, s3ps_asmp, s3p_conc) #elif C3NSTRINTKND="gmpknd" #then val ans = auxsolve (loc0, vim, n, s3ps_asmp, s3p_conc) #else val () = assertloc (false) val ans = 0 // HX: it is never executed at run-time #endif // end of [#if] // val () = status := ans // val () = s2varindmap_free (vim) val () = list_vt_free (s2vs) and () = list_vt_free (s3ps) // } (* end of [status >= 0] *) // (* val () = ( println! ("s3explst_solve_s2exp: status = ", status) ) (* end of [val] *) *) // in status(*~1/0*) end // end of [s3explst_solve_s2exp] end // end of [local] (* ****** ****** *) // // HX-2012-03: // for errmsg reporting; the function returns 0 // normally; if it returns 1, then the reported // error should be treated as a warning instead. // extern fun c3nstr_solve_errmsg(c3t: c3nstr, unsolved: uint): int // (* ****** ****** *) extern fun c3nstr_solve_main ( env: &s2vbcfenv, c3t: c3nstr, unsolved: &uint, err: &int ) : int(*status*) // end of [c3nstr_solve_main] extern fun c3nstr_solve_prop ( loc0: location, env: &s2vbcfenv, s2p: s2exp, err: &int ) : int(*status*) // end of [c3nstr_solve_prop] extern fun c3nstr_solve_itmlst ( loc0: location , env: &s2vbcfenv , s3is: s3itmlst, unsolved: &uint, err: &int ) : int(*status*) // end of [c3nstr_solve_itmlst] extern fun c3nstr_solve_itmlst_cnstr ( loc0: location , env: &s2vbcfenv , s3is: s3itmlst, c3t: c3nstr, unsolved: &uint, err: &int ) : int(*status*) // end of [c3nstr_solve_itmlst_cnstr] extern fun c3nstr_solve_itmlst_disj ( loc0: location , env: &s2vbcfenv , s3is: s3itmlst, s3iss: s3itmlstlst, unsolved: &uint, err: &int ) : int(*status*) // end of [c3nstr_solve_itmlst_disj] extern fun c3nstr_solve_solverify ( loc0: location, env: &s2vbcfenv, s2e_prop: s2exp, err: &int ) : int(*status*) // end of [c3nstr_solve_solverify] (* ****** ****** *) extern fun prerr_case_exhaustiveness_errmsg ( loc0: location, casknd: caskind, p2tcs: p2atcstlst ) : void // end of [prerr_case_exhaustiveness_errmsg] implement prerr_case_exhaustiveness_errmsg (loc0, casknd, p2tcs) = let // fun prlst ( p2tcs: p2atcstlst ) : void = let in case+ p2tcs of | list_cons (p2tc, p2tcs) => let val () = fprint_p2atcst (stderr_ref, p2tc) // end of [val] val () = fprint_newline (stderr_ref) in prlst (p2tcs) end // end of [list_cons] | list_nil () => () end // end of [prlst] // in // case+ casknd of // | CK_case_pos () => let val () = prerr_error3_loc (loc0) val () = prerr ": pattern match is nonexhaustive:\n"; in prlst (p2tcs) end // end of [CK_case] | CK_case_neg () => () // HX: ignored per the wish of the programmer // // HX: this case is *not* recommended for use // | CK_case () => let val () = prerr_warning3_loc (loc0) val () = prerr ": pattern match is nonexhaustive:\n"; in prlst (p2tcs) end // end of [CK_case] // end // end of [prerr_case_exhaustiveness_errmsg] (* ****** ****** *) implement c3nstr_solve_errmsg (c3t, unsolved) = let // val loc0 = c3t.c3nstr_loc val c3tk = c3t.c3nstr_kind // fun prerr_c3nstr_if ( unsolved: uint, c3t: c3nstr ) : void = if (unsolved = 0u) then (prerr ": "; prerr_c3nstr c3t) // end of [prerr_c3nstr_if] // in // case+ c3tk of | C3TKmain((*void*)) => ( if unsolved = 0u then let val () = prerr_error3_loc (loc0) val () = prerrln! (": unsolved constraint: ", c3t) in 0 // this one is treated as an error end // end of [then] else 0 // this errmsg has already been reported // end of [if] ) (* end of [C3STRKmain] *) | C3TKcase_exhaustiveness (casknd, p2tcs) => let val () = prerr_case_exhaustiveness_errmsg (loc0, casknd, p2tcs) in case+ casknd of | CK_case () => 1 (*warning*) | CK_case_pos () => 0 (*error*) | CK_case_neg () => 0 (*deadcode*) end // end of [C3TKcase_exhaustiveness] // | C3TKtermet_isnat () => 0 where { val () = prerr_error3_loc (loc0) val () = prerr ( ": unsolved constraint for termetric being well-founded" ) (* end of [val] *) val () = prerr_c3nstr_if (unsolved, c3t) val () = prerr_newline ((*void*)) } // end of [C3TKtermet_isnat] | C3TKtermet_isdec () => 0 where { val () = prerr_error3_loc (loc0) val () = prerr ( ": unsolved constraint for termetric being strictly decreasing" ) (* end of [val] *) val () = prerr_c3nstr_if (unsolved, c3t) val () = prerr_newline ((*void*)) } // end of [C3STRKmetric_dec] // | C3TKsome_fin _ => (0) where { val () = prerr_error3_loc (loc0) val ((*void*)) = prerrln! ": unsolved constraint for var preservation" } (* end of [C3TKsome_fin] *) | C3TKsome_lvar _ => (0) where { val () = prerr_error3_loc (loc0) val ((*void*)) = prerrln! ": unsolved constraint for lvar preservation" } (* end of [C3TKsome_lvar] *) | C3TKsome_vbox _ => (0) where { val () = prerr_error3_loc (loc0) val ((*void*)) = prerrln! ": unsolved constraint for vbox preservation" } (* end of [C3TKsome_vbox] *) // | C3TKlstate () => 0 where { val () = prerr_error3_loc (loc0) val () = prerrln! ": unsolved constraint for lstate merging" } // end of [C3TKlstate] | C3TKlstate_var (d2v) => 0 where { val () = prerr_error3_loc (loc0) val () = prerrln! (": unsolved constraint for merging the lstate of [", d2v, "]") } // end of [C3TKlstate_var] // | C3TKloop(knd) => (0) where { val () = prerr_error3_loc (loc0) val () = if knd < 0 then prerr ": unsolved constraint for loop(enter)" val () = if knd = 0 then prerr ": unsolved constraint for loop(break)" val () = if knd > 0 then prerr ": unsolved constraint for loop(continue)" val () = prerr_newline ((*void*)) } (* end of [C3TKloop] *) // | C3TKsolverify() => (0) where { val () = prerr_error3_loc (loc0) val () = prerrln! ": the constraint is expected to be verified externally." } (* end of [C3TKsolver] *) // end // end of [c3nstr_solve_errmsg] (* ****** ****** *) implement c3nstr_solve_main ( env, c3t, unsolved, err ) = let // val loc0 = c3t.c3nstr_loc // (* // val () = println! ("c3nstr_solve_main: c3t = ", c3t) // *) // var status: int = ( // // ~1: solved; 0: unsolved // case+ c3t.c3nstr_node of // case+ | C3NSTRprop s2p => c3nstr_solve_prop (loc0, env, s2p, err) // end of [C3NSTRprop] | C3NSTRitmlst(s3is) => c3nstr_solve_itmlst (loc0, env, s3is, unsolved, err) // end of [C3NSTRitmlst] // | C3NSTRsolverify(s2e_prop) => c3nstr_solve_solverify (loc0, env, s2e_prop, err) // ) : int // end of [val] // val () = if status >= 0 then { val iswarn = c3nstr_solve_errmsg(c3t, unsolved) // end of [val] val () = if iswarn > 0 then (status := ~1) } (* end of [if] *) // (* // val () = println! ("c3nstr_solve_main: status = ", status) // *) // val () = if status >= 0 then (unsolved := unsolved + 1u) // in status (* 0: unsolved; ~1: solved *) end // end of [c3nstr_solve_main] (* ****** ****** *) implement c3nstr_solve_prop (loc0, env, s2p, err) = let (* val () = begin print "c3nstr_solve_prop: s2p = "; pprint_s2exp (s2p); print_newline (); end // end of [val] *) in s3explst_solve_s2exp (loc0, env, s2p, err) end // end of [c3nstr_solve_prop] (* ****** ****** *) implement c3nstr_solve_itmlst ( loc0, env, s3is, unsolved, err ) = let (* // val () = begin print "c3str_solve_itmlst: s3is = "; fprint_s3itmlst (stdout_ref, s3is); print_newline (); end // end of [val] // *) in // case+ s3is of | list_nil() => ~1 | list_cons(s3i, s3is) => ( case+ s3i of | S3ITMsvar(s2v) => let val () = s2vbcfenv_add_svar (env, s2v) in c3nstr_solve_itmlst(loc0, env, s3is, unsolved, err) end // end of [S3ITMsvar] | S3ITMhypo(h3p) => let val s3p = s3exp_make_h3ypo (env, h3p) val () = ( case+ s3p of | S3Eerr _ => let (* val () = begin prerr_warning3_loc (loc0); prerr ": unused hypothesis: ["; prerr_h3ypo (h3p); prerr "]"; prerr_newline () end // end of [val] *) in // nothing end // end of [S3Eerr] | _ (*non-S3Eerr*) => let val s3p = s3exp_lintize(env, s3p) in s2vbcfenv_add_sbexp (env, s3p) end // end of [_] ) : void // end of [val] in c3nstr_solve_itmlst(loc0, env, s3is, unsolved, err) end // end of [S3ITMhypo] | S3ITMsVar(s2V) => c3nstr_solve_itmlst(loc0, env, s3is, unsolved, err) | S3ITMcnstr(c3t) => c3nstr_solve_itmlst_cnstr(loc0, env, s3is, c3t, unsolved, err) | S3ITMcnstr_ref(ctr) => let val ref = ctr.c3nstroptref_ref in case+ !ref of | None () => ~1(*solved*) | Some c3t => c3nstr_solve_itmlst_cnstr(loc0, env, s3is, c3t, unsolved, err) // end of [Some] end // end of [S3ITMcnstr_ref] | S3ITMdisj(s3iss_disj) => c3nstr_solve_itmlst_disj(loc0, env, s3is, s3iss_disj, unsolved, err) // | S3ITMsolassert(s2e_prop) => let (* val () = print! "c3nstr_solve_itmlst" val () = println! (": S3ITMsolassert: s2e_prop = ", s2e_prop) // end of [val] *) in c3nstr_solve_itmlst(loc0, env, s3is, unsolved, err) end // end of [S3ITMsolassert] // ) (* end of [list_cons] *) // end // end of [c3nstr_solve_itmlst] (* ****** ****** *) implement c3nstr_solve_itmlst_cnstr ( loc0, env, s3is, c3t, unsolved, err ) = let val (pf1 | ()) = s2vbcfenv_push (env) val (pf2 | ()) = the_s2varbindmap_push () val ans1 = c3nstr_solve_main (env, c3t, unsolved, err) // end of [val] val () = the_s2varbindmap_pop (pf2 | (*none*)) val () = s2vbcfenv_pop (pf1 | env) val ans2 = c3nstr_solve_itmlst (loc0, env, s3is, unsolved, err) // end of [val] in if ans1 >= 0 then 0(*unsolved*) else ans2 end // end of [c3nstr_solve_itmlst_cnstr] (* ****** ****** *) implement c3nstr_solve_itmlst_disj ( loc0, env, s3is0, s3iss(*disj*), unsolved, err ) = let (* // val () = ( println! ("c3nstr_solve_itmlst_disj: s3iss = ...") ) (* end of [val] *) // *) in // case+ s3iss of | list_nil ((*void*)) => ~1(*solved*) // end of [list_nil] | list_cons (s3is, s3iss) => let val (pf1 | ()) = s2vbcfenv_push (env) val (pf2 | ()) = the_s2varbindmap_push () val s3is1 = list_append (s3is, s3is0) val _(*ans*) = c3nstr_solve_itmlst (loc0, env, s3is1, unsolved, err) val ((*void*)) = the_s2varbindmap_pop (pf2 | (*none*)) val ((*void*)) = s2vbcfenv_pop (pf1 |env) in c3nstr_solve_itmlst_disj (loc0, env, s3is0, s3iss, unsolved, err) end // end of [list_cons] // end // end of [c3nstr_solve_itmlst_disj] (* ****** ****** *) implement c3nstr_solve_solverify (loc0, env, s2e_prop, err) = let // (* val () = println! ("c3nstr_solve_solverify: s2e_prop = ", s2e_prop) // end of [val] *) // in 0(*unsolved*) end // end of [c3nstr_solve_solverify] (* ****** ****** *) implement c3nstr_ats2_solve (c3t) = let (* // val () = ( println! ("c3nstr_ats2_solve: c3t = ", c3t) ) (* end of [val] *) // *) var env: s2vbcfenv = s2vbcfenv_nil () // // HX-2010-09-09: this is needed for solving val () = the_s2varbindmap_freetop () // top-level constraints!!! // var unsolved: uint = 0u and err: int = 0 val _(*status*) = c3nstr_solve_main (env, c3t, unsolved, err) val ((*freed*)) = s2vbcfenv_free (env) // in // case+ 0 of | _ when unsolved = 0u => let (* val () = prerrln! ("typechecking is finished successfully!") // end of [val] *) in // nothing end // end of [unsolved = 0] | _ (*unsolved*) => // unsolved > 0 { val () = prerr "typechecking has failed" val () = if unsolved <= 1u then prerr ": there is one unsolved constraint" // end of [if] val () = if unsolved >= 2u then prerr ": there are some unsolved constraints" // end of [if] val () = prerrln! ( ": please inspect the above reported error message(s) for information." ) (* end of [val] *) val () = $ERR.abort{void}() } (* end of [_ when unsolved > 0] *) // end // end of [c3nstr_ats2_solve] (* ****** ****** *) (* end of [pats_constraint3_solve.dats] *) ATS2-Postiats-0.2.6/./src/pats_basics.dats0000664000175000017500000002072012655455557016676 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) implement VIEWT0YPE_knd = VIEWT0YPE_int (* ****** ****** *) implement test_fltkind (knd) = let val knd = uint_of (knd) val fltflag = uint_of (FLTFLAG) in (knd \land_uint_uint fltflag) > 0u end // end of [test_fltkind] implement test_boxkind (knd) = if test_fltkind (knd) then false else true // end of [test_boxkind] implement test_linkind (knd) = let val knd = uint_of (knd) val linflag = uint_of (LINFLAG) in (knd \land_uint_uint linflag) > 0u end // end of [test_linkind] implement test_prfkind (knd) = let val knd = uint_of (knd) val prfflag = uint_of (PRFFLAG) in (knd \land_uint_uint prfflag) > 0u end // end of [test_prfkind] implement test_prgmkind (knd) = let val knd = uint_of (knd) val prfflag = uint_of (PRFFLAG) in (knd \land_uint_uint prfflag) = 0u end // end of [test_prgmkind] implement test_polkind (knd) = let val knd = uint_of (knd) val polflag = uint_of (POLFLAG) val knd = knd \land_uint_uint polflag in if knd = 0u then 0 else (if knd < polflag then 1 else ~1) end // end of [test_polkind] (* ****** ****** *) implement impkind_linearize (knd) = let val linflag = uint_of (LINFLAG) val knd = uint_of (knd) \lor_uint_uint linflag in int_of (knd) end // end of [impkind_linearize] implement impkind_neutralize (knd) = let val polflag = uint_of (POLFLAG) val knd = uint_of (knd) \land_uint_uint ~polflag in int_of (knd) end // end of [impkind_neutralize] (* ****** ****** *) implement lte_impkind_impkind (k1, k2) = let val polflag = uint_of (POLFLAG) val polmask = ~polflag val k1 = uint_of (k1) \land_uint_uint polmask val k2 = uint_of (k2) \land_uint_uint polmask in (k1 \land_uint_uint ~k2) = 0u end // end of [lte_impkind_impkind] (* ****** ****** *) implement fprint_caskind (out, knd) = ( case+ knd of | CK_case () => fprint_string (out, "case") | CK_case_pos () => fprint_string (out, "case+") | CK_case_neg () => fprint_string (out, "case-") ) // end of [fprint_caskind] (* ****** ****** *) implement funkind_is_proof (fk) = let in // case+ fk of | FK_prfn () => true | FK_prfun () => true | FK_praxi () => true | _ (*non-proof*) => false // end // end of [funkind_is_proof] implement funkind_is_recursive (fk) = let in // case+ fk of // | FK_fun () => true | FK_fnx () => true // | FK_prfun () => true | FK_praxi () => true // HX: praxi=prfun // | FK_castfn () => true // | _ (*non-recursive*) => false // end // end of [funkind_is_recursive] implement funkind_is_mutailrec (fk) = ( case+ fk of FK_fnx () => true | _ => false ) // end of [funkind_is_mutailrec] (* ****** ****** *) implement fprint_funkind (out, fk) = let in // case+ fk of // | FK_fn () => fprint_string (out, "fn") | FK_fnx () => fprint_string (out, "fnx") | FK_fun () => fprint_string (out, "fun") // | FK_prfn () => fprint_string (out, "prfn") | FK_prfun () => fprint_string (out, "prfun") // | FK_praxi () => fprint_string (out, "praxi") // | FK_castfn () => fprint_string (out, "castfn") // end // end of [fprint_funkind] (* ****** ****** *) (* implement valkind_is_model (vk) = case+ vk of VK_mcval () => true | _ => false // end of [valkind_is_model] *) implement valkind_is_proof (vk) = case+ vk of VK_prval () => true | _ => false // end of [valkind_is_proof] (* ****** ****** *) implement fprint_valkind (out, vk) = let in // case+ vk of | VK_val () => fprint_string (out, "val") | VK_val_pos () => fprint_string (out, "val+") | VK_val_neg () => fprint_string (out, "val-") | VK_prval () => fprint_string (out, "prval") // end (* end of [fprint_valkind] *) (* ****** ****** *) implement valkind2caskind (vk) = let in // case+ vk of | VK_val () => CK_case () | VK_prval () => CK_case_pos () // = val+ | VK_val_pos () => CK_case_pos () // val+ | VK_val_neg () => CK_case_neg () // val- // end // end of [valkind2caskind] (* ****** ****** *) implement dcstkind_is_fun (x) = case+ x of DCKfun () => true | _ => false // end of [dcstkind_is_fun] implement dcstkind_is_val (x) = case+ x of DCKval () => true | _ => false // end of [dcstkind_is_val] implement dcstkind_is_prfun (x) = case+ x of DCKprfun () => true | _ => false // end of [dcstkind_is_prfun] implement dcstkind_is_prval (x) = case+ x of DCKprval () => true | _ => false // end of [dcstkind_is_prval] (* ****** ****** *) implement dcstkind_is_proof (dk) = let in // case+ dk of | DCKpraxi () => true | DCKprfun () => true | DCKprval () => true | _ (*non-proof*) => false // end // end of [dcstkind_is_proof] implement dcstkind_is_castfn (dk) = case+ dk of DCKcastfn () => true | _ => false // end of [dcstkind_is_castfn] (* ****** ****** *) implement fprint_dcstkind (out, dk) = let in // case+ dk of | DCKfun () => fprint_string (out, "DCKfun()") | DCKval () => fprint_string (out, "DCKval()") | DCKpraxi () => fprint_string (out, "DCKpraxi()") | DCKprfun () => fprint_string (out, "DCKprfun()") | DCKprval () => fprint_string (out, "DCKprval()") | DCKcastfn () => fprint_string (out, "DCKcastfn()") // end // end of [fprint_dcstkind] (* ****** ****** *) implement funclo_is_clo (fc) = case+ fc of | FUNCLOclo (knd) => true | FUNCLOfun _ => false // end of [funclo_is_clo] (* ****** ****** *) implement funclo_is_ptr (fc) = case+ fc of | FUNCLOclo (knd) => knd != 0 | FUNCLOfun _ => true // end of [funclo_is_ptr] implement funclo_is_cloptr (fc) = case+ fc of | FUNCLOclo (knd) => knd != 0 | FUNCLOfun _ => false // end of [funclo_is_cloptr] (* ****** ****** *) implement eq_funclo_funclo (fc1, fc2) = case+ (fc1, fc2) of | (FUNCLOclo knd1, FUNCLOclo knd2) => knd1 = knd2 | (FUNCLOfun (), FUNCLOfun ()) => true | (_, _) => false // end of [eq_funclo_funclo] implement neq_funclo_funclo (fc1, fc2) = ~eq_funclo_funclo (fc1, fc2) (* ****** ****** *) implement fprint_funclo (out, fc) = ( case+ fc of | FUNCLOclo (knd) => fprintf (out, "CLO(%i)", @(knd)) | FUNCLOfun () => fprintf (out, "FUN", @()) ) (* end of [fprint_funclo] *) implement print_funclo (fc) = fprint_funclo (stdout_ref, fc) implement prerr_funclo (fc) = fprint_funclo (stderr_ref, fc) (* ****** ****** *) local // var the_flag: int = 0 // 1 val p_the_flag = &the_flag // val ( pf_the_flag | ((*void*)) ) = vbox_make_view_ptr{int}(view@ the_flag | p_the_flag) // in (* in-of-local *) implement debug_flag_get () = let prval vbox (pf) = pf_the_flag in !p_the_flag end // end of [debug_flag_get] implement debug_flag_set (x) = let prval vbox (pf) = pf_the_flag in !p_the_flag := x end // end of [debug_flag_set] end // end of [local] (* ****** ****** *) %{$ ats_void_type patsopt_vfprintf_ifdebug ( ats_ptr_type out , ats_ptr_type fmt , va_list ap // variadic arguments ) { // if (patsopt_debug_flag_get () > 0) { (void)vfprintf((FILE*)out, (char*)fmt, ap) ; } // end of [if] // return ; } // end of [patsopt_debug_printf] ats_void_type patsopt_prerrf_ifdebug ( ats_ptr_type fmt, ... ) { va_list ap ; va_start(ap, fmt) ; patsopt_vfprintf_ifdebug(stderr, (char*)fmt, ap) ; va_end(ap) ; return ; } // end of [patsopt_debug_prerrf] %} // end of [%{$] (* ****** ****** *) (* end of [pats_basics.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_svvar.dats0000664000175000017500000002554712655455557020255 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload CNTR = "./pats_counter.sats" staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) typedef s2Var_struct = @{ s2Var_loc= location , s2Var_cnt= $CNTR.count // the count , s2Var_srt= s2rt // the sort (* , s2Var_varknd= int // derived from tyvarknd *) (* , s2Var_skexp= s2kexp // skeleton *) , s2Var_link= s2expopt // solution , s2Var_svar= s2varopt // instantiated static var , s2Var_szexp= s2zexp // unique size , s2Var_sVarlst= ptr(*s2Varlst*) // exist. vars in its solution , s2Var_lbs= s2VarBoundlst // lower bounds , s2Var_ubs= s2VarBoundlst // upper bounds , s2Var_stamp= stamp // uniqueness } // end of [s2Var_struct] (* ****** ****** *) val the_s2Var_name_counter = $CNTR.counter_make () (* ****** ****** *) local assume s2Var_type = ref (s2Var_struct) in (* in of [local] *) implement s2Var_make_srt (loc, s2t) = let // val cnt = $CNTR.counter_getinc (the_s2Var_name_counter) // val stamp = $STMP.s2Var_stamp_make ((*void*)) // val (pfgc, pfat | p) = ptr_alloc () prval ((*void*)) = free_gc_elim {s2Var_struct?} (pfgc) // val () = begin p->s2Var_loc := loc; p->s2Var_cnt := cnt; p->s2Var_srt := s2t; (* p->s2Var_varknd := 0; *) p->s2Var_link := None (); p->s2Var_svar := None (); p->s2Var_szexp := S2ZEVar ($UN.cast{s2Var}(p)); // p->s2Var_sVarlst := $UN.cast{ptr}(list_nil); // p->s2Var_lbs := list_nil (); p->s2Var_ubs := list_nil (); // p->s2Var_stamp := stamp; // end // end of [val] // in // ref_make_view_ptr {s2Var_struct} (pfat | p) // end // end of [s2Var_make_srt] implement s2Var_make_var (loc, s2v) = let // val cnt = $CNTR.counter_getinc (the_s2Var_name_counter) val stamp = $STMP.s2Var_stamp_make () val s2t = s2var_get_srt s2v val (pfgc, pfat | p) = ptr_alloc_tsz {s2Var_struct} (sizeof) prval () = free_gc_elim {s2Var_struct?} (pfgc) // val () = begin p->s2Var_loc := loc; p->s2Var_cnt := cnt; p->s2Var_srt := s2t; (* p->s2Var_varknd := 0; *) p->s2Var_link := None (); p->s2Var_svar := None (); p->s2Var_szexp := S2ZEVar ($UN.cast {s2Var}(p)); // p->s2Var_sVarlst := $UN.cast{ptr}(list_nil); // p->s2Var_lbs := list_nil (); p->s2Var_ubs := list_nil (); // p->s2Var_stamp := stamp; // end // end of [val] // in // ref_make_view_ptr {s2Var_struct} (pfat | p) // end // end of [s2Var_make_var] (* ****** ****** *) implement s2Var_get_cnt (s2V) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_cnt end // end of [s2Var_get_sym] implement s2Var_get_srt (s2V) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_srt end // end of [s2Var_get_srt] implement s2Var_get_link (s2V) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_link end // end of [s2Var_get_link] implement s2Var_set_link (s2V, link) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_link := link end // end of [s2Var_set_link] implement s2Var_get_szexp (s2V) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_szexp end // end of [s2Var_get_szexp] implement s2Var_set_szexp (s2V, s2ze) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_szexp := s2ze end // end of [s2Var_set_szexp] implement s2Var_get_sVarlst (s2V) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in $UN.cast{s2Varlst}(p->s2Var_sVarlst) end // end of [s2Var_get_sVarlst] implement s2Var_add_sVarlst (s2V, s2V2) = let val (vbox pf | p) = ref_get_view_ptr (s2V) val s2Vs2 = $UN.cast{s2Varlst}(p->s2Var_sVarlst) in p->s2Var_sVarlst := $UN.cast{ptr}(list_cons(s2V2, s2Vs2)) end // end of [s2Var_add_sVarlst] implement s2Var_get_lbs (s2V) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_lbs end // end of [s2Var_get_lbs] implement s2Var_set_lbs (s2V, lbs) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_lbs := lbs end // end of [s2Var_set_lbs] implement s2Var_get_ubs (s2V) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_ubs end // end of [s2Var_get_ubs] implement s2Var_set_ubs (s2V, ubs) = let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_ubs := ubs end // end of [s2Var_set_ubs] implement s2Var_get_stamp (s2V) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2V) in p->s2Var_stamp end // end of [s2Var_get_stamp] end // end of [local] (* ****** ****** *) implement s2Varlst_add_sVarlst (s2Vs, s2V2) = let in // case+ s2Vs of | list_nil () => () | list_cons (s2V, s2Vs) => let val () = s2Var_add_sVarlst (s2V, s2V2) // end of [val] in s2Varlst_add_sVarlst (s2Vs, s2V2) end // end of [list_cons] // end // end of [s2Varlst_add_sVarlst] (* ****** ****** *) local assume s2VarBound_type = '{ s2VarBound_loc= location, s2VarBound_val= s2exp } // end of [s2VarBound_type] in (* in of [local] *) implement s2VarBound_make (loc, s2f) = '{ s2VarBound_loc= loc, s2VarBound_val= s2f } (* end of [s2VarBound_make] *) implement s2VarBound_get_loc (x) = x.s2VarBound_loc implement s2VarBound_get_val (x) = x.s2VarBound_val end // end of [local] (* ****** ****** *) // implement lt_s2Var_s2Var(x1, x2) = (compare (x1, x2) < 0) implement lte_s2Var_s2Var(x1, x2) = (compare (x1, x2) <= 0) // implement eq_s2Var_s2Var(x1, x2) = (compare (x1, x2) = 0) implement neq_s2Var_s2Var(x1, x2) = (compare (x1, x2) != 0) // implement compare_s2Var_s2Var (x1, x2) = let (* val () = $effmask_all ( println! ("compare_s2var_s2var: x1 = ", x1); println! ("compare_s2var_s2var: x2 = ", x2); ) (* end of [val] *) *) in compare (s2Var_get_stamp (x1), s2Var_get_stamp (x2)) end // end of [compare_s2Var_s2Var] // (* ****** ****** *) implement fprint_s2Var (out, s2V) = let val () = $CNTR.fprint_count (out, s2Var_get_cnt s2V) (* val () = fprint_string (out, "(") val () = $STMP.fprint_stamp (out, s2Var_get_stamp s2V) val () = fprint_string (out, ")") *) in // empty end // end of [fprint_s2Var] implement print_s2Var (s2V) = fprint_s2Var (stdout_ref, s2V) implement prerr_s2Var (s2V) = fprint_s2Var (stderr_ref, s2V) (* ****** ****** *) local // %{^ typedef ats_ptr_type s2Var ; %} // end of [%{^] // staload FS = "libats/SATS/funset_avltree.sats" staload _(*anon*) = "libats/DATS/funset_avltree.dats" // staload LS = "libats/SATS/linset_avltree.sats" staload _(*anon*) = "libats/DATS/linset_avltree.dats" // abstype s2Var1 = $extype "s2Var" typedef s2Var1set = $FS.set (s2Var1) vtypedef s2Var1set_vt = $LS.set (s2Var1) // assume s2Varset_type = $FS.set (s2Var) assume s2Varset_vtype = $LS.set (s2Var) // extern castfn of_s2Var (x: s2Var):<> s2Var1 extern castfn to_s2Var (x: s2Var1):<> s2Var extern castfn of_s2Varset (xs: s2Varset):<> s2Var1set extern castfn to_s2Varset (xs: s2Var1set):<> s2Varset extern castfn of_s2Varset_vt (xs: s2Varset_vt):<> s2Var1set_vt extern castfn to_s2Varset_vt (xs: s2Var1set_vt):<> s2Varset_vt // typedef cmp(elt:t@ype) = (elt, elt) - int // val cmp = $extval (cmp(s2Var1), "0") // implement $FS.compare_elt_elt (x1, x2, cmp) = compare_s2Var_s2Var (to_s2Var(x1), to_s2Var(x2)) implement $LS.compare_elt_elt (x1, x2, cmp) = compare_s2Var_s2Var (to_s2Var(x1), to_s2Var(x2)) // in (* in of [local] *) implement s2Varset_nil () = $FS.funset_make_nil () implement s2Varset_add (xs, x) = xs where { val x = of_s2Var (x) var xs = of_s2Varset (xs) val _(*replaced*) = $FS.funset_insert (xs, x, cmp) val xs = to_s2Varset (xs) } // end of [s2Varset_add] implement s2Varset_ismem (xs, x) = found where { val x = of_s2Var (x) val xs = of_s2Varset (xs) val found = $FS.funset_is_member (xs, x, cmp) } // end of [s2Varset_is_member] implement s2Varset_listize (xs) = let val xs = of_s2Varset (xs) viewtypedef res = List_vt (s2Var) in $UN.castvwtp_trans{res}($FS.funset_listize (xs)) end // end of [s2Varset_listize] (* ****** ****** *) implement s2Varset_vt_nil () = $LS.linset_make_nil () implement s2Varset_vt_add (xs, x) = xs where { val x = of_s2Var (x) var xs = of_s2Varset_vt (xs) val _(*replaced*) = $LS.linset_insert (xs, x, cmp) val xs = to_s2Varset_vt (xs) } // end of [s2Varset_vt_add] implement s2Varset_vt_ismem (xs, x) = found where { val x = of_s2Var (x) val xs = $UN.castvwtp1{s2Var1set_vt}(xs) val found = $LS.linset_is_member (xs, x, cmp) prval () = $UN.castvwtp0{void}(xs) } // end of [s2Varset_vt_ismem] implement s2Varset_vt_free(xs) = $LS.linset_free (of_s2Varset_vt (xs)) implement s2Varset_vt_listize_free (xs) = let val xs = of_s2Varset_vt (xs) viewtypedef res = List_vt (s2Var) in $UN.castvwtp_trans{res}($LS.linset_listize_free (xs)) end // end of [s2Varset_vt_listize_free] end // end of [local] (* ****** ****** *) implement print_s2Varlst (xs) = fprint_s2Varlst (stdout_ref, xs) implement prerr_s2Varlst (xs) = fprint_s2Varlst (stderr_ref, xs) implement fprint_s2Varlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2Var) // end of [fprint_s2Varlst] (* ****** ****** *) implement print_s2Varset (xs) = fprint_s2Varset (stdout_ref, xs) implement prerr_s2Varset (xs) = fprint_s2Varset (stderr_ref, xs) implement fprint_s2Varset (out, xs) = () where { val xs = s2Varset_listize (xs) val () = fprint_string (out, "[") val () = fprint_s2Varlst (out, $UN.linlst2lst (xs)) val () = fprint_string (out, "]") val () = list_vt_free (xs) } // end of [fprint_s2Varset] (* ****** ****** *) (* end of [pats_staexp2_svvar.dats] *) ATS2-Postiats-0.2.6/./src/pats_location.sats0000664000175000017500000001077112655455557017266 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) %{# #include "pats_location.cats" %} // end of [%{#] (* ****** ****** *) staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename (* ****** ****** *) abst@ype position_t0ype = $extype "pats_position_struct" typedef position = position_t0ype (* ****** ****** *) fun fprint_position (out: FILEref, pos: position): void overload fprint with fprint_position fun print_position (pos: position): void overload print with print_position (* ****** ****** *) // fun position_get_ntot (pos: &position): lint // total char offset fun position_get_nrow (pos: &position): int // line number fun position_get_ncol (pos: &position): int // line offset // (* ****** ****** *) // fun position_init ( pos0: &position? >> position, ntot: lint, nrow: int, ncol: int ) : void // end of [position_init] // fun position_copy ( pos0: &position? >> position, pos1: &position ) : void // end of [position_copy] // (* ****** ****** *) // fun position_incby_char (pos: &position, i: int): void // fun position_decby_count (pos: &position, n: uint): void fun position_incby_count (pos: &position, n: uint): void // (* ****** ****** *) abstype location_type typedef location = location_type (* ****** ****** *) (* ** HX: returning the beginning char count *) fun location_get_bchar (loc: location): lint (* ****** ****** *) // fun location_beg_nrow (loc: location): int // beg row count // (* ****** ****** *) // fun location_beg_ntot (loc: location): lint // beg char count fun location_end_ntot (loc: location): lint // end char count // (* ****** ****** *) fun location_get_filename (loc: location): filename (* ****** ****** *) // fun print_location (loc: location): void fun prerr_location (loc: location): void fun fprint_location (out: FILEref, loc: location): void // overload print with print_location overload prerr with prerr_location overload fprint with fprint_location // (* ****** ****** *) fun fprint_locrange (out: FILEref, loc: location): void (* ****** ****** *) // fun fprint2_location (out: FILEref, loc: location): void // (* ****** ****** *) val location_dummy : location (* dummy location *) (* ****** ****** *) fun location_make_pos_pos ( pos1: position, pos2: position ) : location // end of [location_make_pos_pos] fun location_make_fil_pos_pos ( fil: filename, pos1: position, pos2: position ) : location // end of [location_make_fil_pos_pos] (* ****** ****** *) fun location_leftmost(loc: location): location fun location_rightmost(loc: location): location (* ****** ****** *) // fun location_combine (loc1: location, loc2: location): location // (* ****** ****** *) // fun fprint_line_pragma(out: FILEref, loc: location): void // (* ****** ****** *) // abstype locpragma_type = ptr typedef locpragma = locpragma_type // fun locpragma0_make(): locpragma fun locpragma1_make(loc: string): locpragma fun locpragma2_make(fil: string, loc: string): locpragma // fun the_location_pragma_pop((*void*)): void fun the_location_pragma_push((*void*)): void // fun the_location_pragma_get(): locpragma fun the_location_pragma_set(x: locpragma): void // fun fprint_locpragma(out: FILEref, loc: locpragma): void // (* ****** ****** *) (* end of [pats_location.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_svar.dats0000664000175000017500000001140612655455557020550 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) local assume s2varbindmap_push_v = unit_v val the_s2varbindmap = ref_make_elt (s2varbindmap_make_nil ()) // end of [val] viewtypedef s2varlstlst_vt = List_vt (s2varlst_vt) val the_s2varlst = ref_make_elt (list_vt_nil) val the_s2varlstlst = ref_make_elt (list_vt_nil) fun auxrmv ( map: &s2varbindmap, s2vs: s2varlst_vt ) : void = case+ s2vs of | ~list_vt_cons (s2v, s2vs) => let val () = s2varbindmap_remove (map, s2v) in auxrmv (map, s2vs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end of [auxrmv] in // in of [local] implement the_s2varbindmap_pop (pf | (*nothing*)) = let // prval unit_v () = pf val s2vs = let val (vbox pf | pp) = ref_get_view_ptr (the_s2varlstlst) in case+ !pp of | ~list_vt_cons (xs, xss) => let val () = !pp := xss in xs end | list_vt_nil () => let prval () = fold@ (!pp) in list_vt_nil end end : s2varlst_vt val s2vs = xs where { val (vbox pf | p) = ref_get_view_ptr (the_s2varlst) val xs = !p val () = !p := s2vs } // end of [val] val () = let val (vbox pf | p) = ref_get_view_ptr (the_s2varbindmap) in $effmask_ref (auxrmv (!p, s2vs)) end // end of [val] // in // nothing end // end of [the_s2varbindmap_pop] implement the_s2varbindmap_push () = let val s2vs = s2vs where { val (vbox pf | p) = ref_get_view_ptr (the_s2varlst) val s2vs = !p val () = !p := list_vt_nil () } // end of [val] val (vbox pf | pp) = ref_get_view_ptr (the_s2varlstlst) val () = !pp := list_vt_cons (s2vs, !pp) in (unit_v () | ()) end // end of [the_s2varbindmap_push] implement fprint_the_s2varbindmap (out) = let fun aux ( out: FILEref, kis: List_vt @(s2var, s2exp) ) : void = case+ kis of | ~list_vt_cons (ki, kis) => let val () = fprint_s2var (out, ki.0) val () = fprint_string (out, " -> ") val () = fprint_s2exp (out, ki.1) val () = fprint_newline (out) in aux (out, kis) end // end of [list_vt_cons] | ~list_vt_nil () => () // end of [aux] val kis = let val (vbox pf | p) = ref_get_view_ptr (the_s2varbindmap) in $effmask_ref (s2varbindmap_listize (!p)) end // end of [val] in aux (out, kis) end // end of [fprint_the_s2varbindmap] implement the_s2varbindmap_search (s2v) = let val (vbox pf | p) = ref_get_view_ptr (the_s2varbindmap) in $effmask_ref (s2varbindmap_search (!p, s2v)) end // end of [the_s2varbindmap_search] implement the_s2varbindmap_insert (s2v, s2f) = let // val () = let val (vbox pf | p) = ref_get_view_ptr (the_s2varlst) in !p := list_vt_cons (s2v, !p) end // end of [val] // val () = let val (vbox pf | p) = ref_get_view_ptr (the_s2varbindmap) in $effmask_ref (s2varbindmap_insert (!p, s2v, s2f)) end // end of [val] // in (* nothing *) end // end of [the_s2varbindmap_insert] implement the_s2varbindmap_freetop () = let // val s2vs = xs where { val (vbox pf | p) = ref_get_view_ptr (the_s2varlst) val xs = !p val () = !p := list_vt_nil () } // end of [val] // val () = let val (vbox pf | p) = ref_get_view_ptr (the_s2varbindmap) in $effmask_ref (auxrmv (!p, s2vs)) end // end of [val] // in (*nothing*) end // end of [the_s2varbinmap_freetop] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_env_svar.dats] *) ATS2-Postiats-0.2.6/./src/pats_codegen2_util.dats0000664000175000017500000001466112655455557020164 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2015 // (* ****** ****** *) // staload SYM = "./pats_symbol.sats" // overload fprint with $SYM.fprint_symbol // (* ****** ****** *) // staload "./pats_staexp1.sats" // staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" // staload "./pats_trans2_env.sats" // (* ****** ****** *) staload "./pats_codegen2.sats" (* ****** ****** *) local fun aux_test ( x0: e1xp, name: string ) : bool = ( // case+ x0.e1xp_node of // case+ | E1XPide(id2) => ( name = $SYM.symbol_get_name(id2) ) (* end of [E1XPide] *) | E1XPstring(name2) => (name = name2) // | _ (*rest-of-e1xp*) => false // ) (* end of [aux_test] *) in (* in-of-local *) // implement datcon_test_e1xp(x0) = aux_test(x0, "datcon") implement datcontag_test_e1xp(x0) = aux_test(x0, "datcontag") // implement fprint_test_e1xp(x0) = aux_test(x0, "fprint") // end // end of [local] (* ****** ****** *) local fun aux_find ( name: symbol ) : Option_vt(s2cst) = let // val ans = the_s2expenv_find (name) // in // case+ ans of // | ~Some_vt(s2i) => ( case+ s2i of | S2ITMcst(s2cs) => ( case+ s2cs of | list_cons(s2c, _) => Some_vt(s2c) | list_nil() => None_vt() ) | _ (*non-S2ITMcst*) => None_vt() ) (* end of [Some_vt] *) // | ~None_vt((*void*)) => None_vt() // end // end of [aux_find] in (* in-of-local *) implement codegen2_get_s2cst (x0) = let (* // val () = println! ("codegen2_get_s2cst: x0 = ", x0) // *) in // case+ x0.e1xp_node of // case+ // | E1XPide(name) => aux_find(name) // (* | E1XPstring (name) => let val name2 = $SYM.symbol_make_string(name) // end of [val] in aux_find(name2) end // end of [E1XPstring] *) // | _(*rest-of-e1xp*) => None_vt((*void*)) // end // end of [codegen2_get_s2cst] end // end of [local] (* ****** ****** *) implement codegen2_get_datype (x0) = let // val opt = codegen2_get_s2cst(x0) // in // case+ opt of | Some_vt(s2c) => ( if s2cst_is_datype(s2c) then (fold@{s2cst}(opt); opt) else (free@{s2cst}(opt); None_vt()) ) (* end of [Some_vt] *) | ~None_vt((*void*)) => None_vt() // end // end of [codegen2_get_datype] (* ****** ****** *) local fun aux_find ( name: symbol ) : Option_vt(d2cst) = let // val ans = the_d2expenv_find (name) // in // case+ ans of // | ~Some_vt(d2i) => ( case+ d2i of | D2ITMcst(d2c) => Some_vt(d2c) | _ (*non-D2ITMcst*) => None_vt() ) (* end of [Some_vt] *) // | ~None_vt((*void*)) => None_vt() // end // end of [aux_find] in (* in-of-local *) implement codegen2_get_d2cst (x0) = let (* // val () = println! ("codegen2_get_d2cst: x0 = ", x0) // *) in // case+ x0.e1xp_node of // case+ // | E1XPide(name) => aux_find(name) // (* | E1XPstring (name) => let val name2 = $SYM.symbol_make_string(name) // end of [val] in aux_find(name2) end // end of [E1XPstring] *) | _(*rest-of-e1xp*) => None_vt((*void*)) // end // end of [codegen2_get_d2cst] end // end of [local] (* ****** ****** *) local fun aux_s2qua ( out: FILEref , lpar: string, rpar: string, s2q: s2qua ) : void = let // fun auxlst ( s2vs: s2varlst ) : void = ( case+ s2vs of | list_nil() => () | list_cons(s2v, s2vs) => ( fprint(out, s2var_get_sym(s2v)); auxlst(s2vs) ) ) // in fprint(out, lpar); auxlst(s2q.s2qua_svs); fprint(out, rpar) end // end of [aux_s2qua] fun aux_s2qualst ( out: FILEref , lpar: string, rpar: string, s2qs: s2qualst ) : void = ( case+ s2qs of | list_nil() => () | list_cons (s2q, s2qs) => () where { val () = aux_s2qua(out, lpar, rpar, s2q) val () = aux_s2qualst(out, lpar, rpar, s2qs) } ) (* end of [aux_s2qualst] *) in (* in-of-local *) implement codegen2_emit_tmpcstapp (out, d2cf) = let // val s2qs = d2cst_get_decarg(d2cf) // in // aux_s2qualst(out, "<", ">", s2qs) // end // end of [codegen2_emit_tmpcstapp] implement codegen2_emit_tmpcstimp (out, d2cf) = let // val s2qs = d2cst_get_decarg(d2cf) // in // aux_s2qualst(out, "{", "}", s2qs) // end // end of [codegen2_emit_tmpcstimp] end // end of [local] (* ****** ****** *) implement codegen2_emit_tmpcstdec (out, d2cf) = let // fun aux ( s2q: s2qua ) : void = let // fun fprs2t ( out: FILEref, s2t: s2rt ) : void = ( // if s2rt_is_prgm(s2t) then { val () = if s2rt_is_lin(s2t) then fprint(out, "vt0p") val () = if s2rt_is_nonlin(s2t) then fprint(out, "t0p") } // ) (* end of [fprs2t] *) // fun loop ( s2vs: s2varlst ) : void = ( case+ s2vs of | list_nil() => () | list_cons (s2v, s2vs) => let val sym = s2var_get_sym(s2v) val s2t = s2var_get_srt(s2v) in fprint(out, sym); fprint(out, ":"); fprs2t(out, s2t); loop(s2vs) end // end of [list_cons] ) // val s2vs = s2q.s2qua_svs // in fprint(out, "{"); loop(s2vs); fprint(out, "}"); end // end of [aux] fun auxlst ( s2qs: s2qualst ) : void = ( case+ s2qs of | list_nil() => () | list_cons(s2q, s2qs) => (aux(s2q); auxlst(s2qs)) ) (* end of [auxlst] *) // in auxlst(d2cst_get_decarg(d2cf)) end // end of [codegen2_emit_tmpcstdec] (* ****** ****** *) // implement codegen2_emit_s2exp (out, s2e0) = let in fprint_s2exp(out, s2e0) end // codegen2_emit_s2exp // (* ****** ****** *) (* end of [pats_codegen2_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_env.sats0000664000175000017500000002023712655455557017535 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload SYMMAP = "./pats_symmap.sats" vtypedef symmap(itm:type) = $SYMMAP.symmap(itm) (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) // // HX: // [filenv] is introduced in [pats_staexp2.sats]; // using [minus] to indicate the need for the presence // of [filenv] (for otherwise GC may reclaim [filenv] // while the extracted ptr is still in use! // viewtypedef s2temap = symmap (s2rtext) viewtypedef s2itmmap = symmap (s2itm) viewtypedef d2itmmap = symmap (d2itm) fun filenv_make ( fil: filename , m0: s2temap, m1: s2itmmap, m2: d2itmmap, d2cs: d2eclist ) : filenv // end of [filenv_make] (* fun filenv_get_name (fenv: filenv): filename // in [pats_staexp2.sats] // end of [filenv_get_name] *) fun filenv_get_s2temap (fenv: filenv): [l:addr] (s2temap @ l, minus (filenv, s2temap @ l) | ptr l) // end of [filenv_get_s2temap] fun filenv_get_s2itmmap (fenv: filenv): [l:addr] (s2itmmap @ l, minus (filenv, s2itmmap @ l) | ptr l) // end of [filenv_get_s2itmmap] fun filenv_get_d2itmmap (fenv: filenv): [l:addr] (d2itmmap @ l, minus (filenv, d2itmmap @ l) | ptr l) // end of [filenv_get_d2itmmap] fun filenv_get_d2eclist (fenv: filenv): d2eclist (* ****** ****** *) // fun filenv_getref_d3eclistopt (fenv: filenv): Ptr1 (* fun filenv_getref_hideclistopt (fenv: filenv): Ptr1 *) (* ****** ****** *) // fun filenv_getref_tmpcstimpmap (fenv: filenv): Ptr1 fun filenv_getref_tmpvardecmap (fenv: filenv): Ptr1 // (* ****** ****** *) fun the_s2rtenv_add (id: symbol, s2te: s2rtext): void fun the_s2rtenv_find (id: symbol): s2rtextopt_vt fun the_s2rtenv_find_qua (q: $SYN.s0rtq, id: symbol): s2rtextopt_vt (* ****** ****** *) absview s2rtenv_push_v (* ****** ****** *) fun the_s2rtenv_top_clear ((*void*)): void (* ****** ****** *) // fun the_s2rtenv_pop (pf: s2rtenv_push_v | (*none*)): s2temap fun the_s2rtenv_pop_free (pf: s2rtenv_push_v | (*none*)): void fun the_s2rtenv_push_nil (): (s2rtenv_push_v | void) // (* ****** ****** *) fun the_s2rtenv_localjoin ( pf1: s2rtenv_push_v, pf2: s2rtenv_push_v | (*none*) ) : void // end of [the_s2rtenv_localjoin] fun the_s2rtenv_pervasive_joinwth0 (map: s2temap): void fun the_s2rtenv_pervasive_joinwth1 (map: !s2temap): void (* ****** ****** *) fun the_s2expenv_add (id: symbol, s2i: s2itm): void // end of [the_s2expenv_add] fun the_s2expenv_add_scst (s2c: s2cst): void fun the_s2expenv_add_svar (s2v: s2var): void fun the_s2expenv_add_svarlst (s2vs: s2varlst): void fun the_s2expenv_add_sp2at (sp2t: sp2at): void fun the_s2expenv_add_datconptr (d2c: d2con): void fun the_s2expenv_add_datcontyp (d2c: d2con): void fun the_s2expenv_find (id: symbol): s2itmopt_vt fun the_s2expenv_find_qua (q: $SYN.s0taq, id: symbol): s2itmopt_vt fun the_s2expenv_pervasive_find (id: symbol): Option_vt (s2itm) (* ****** ****** *) // absview s2expenv_push_v // (* ****** ****** *) fun the_s2expenv_top_clear ((*void*)): void (* ****** ****** *) // fun the_s2expenv_pop (pf: s2expenv_push_v | (*none*)): s2itmmap fun the_s2expenv_pop_free (pf: s2expenv_push_v | (*none*)): void fun the_s2expenv_push_nil (): (s2expenv_push_v | void) // (* ****** ****** *) fun the_s2expenv_localjoin ( pf1: s2expenv_push_v, pf2: s2expenv_push_v | (*none*) ) : void // end of [the_s2expenv_localjoin] fun the_s2expenv_pervasive_joinwth0 (map: s2itmmap): void fun the_s2expenv_pervasive_joinwth1 (map: !s2itmmap): void (* ****** ****** *) fun the_maclev_get (): int fun the_maclev_inc (loc: location): void fun the_maclev_dec (loc: location): void (* ****** ****** *) fun the_macdeflev_get (): int fun the_macdeflev_inc (): void fun the_macdeflev_dec (): void (* ****** ****** *) fun the_tmplev_get (): int fun the_tmplev_inc (): void fun the_tmplev_dec (): void fun s2var_check_tmplev (loc: location, s2v: s2var): void fun s2qualstlst_set_tmplev (s2qs: s2qualst, tmplev: int): void (* ****** ****** *) absview the_d2varlev_inc_v // fun the_d2varlev_get (): int fun the_d2varlev_inc (): (the_d2varlev_inc_v | void) fun the_d2varlev_dec (pf: the_d2varlev_inc_v | (*none*)): void // fun the_d2varlev_save (): int fun the_d2varlev_restore (lev0: int): void // (* ****** ****** *) // fun the_d2expenv_add (id: symbol, d2i: d2itm): void // fun the_d2expenv_add_dcon (d2c: d2con): void fun the_d2expenv_add_dcst (d2c: d2cst): void fun the_d2expenv_add_dmacdef (d2m: d2mac): void fun the_d2expenv_add_dmacvar (d2v: d2var): void fun the_d2expenv_add_dmacvarlst (d2vs: d2varlst): void fun the_d2expenv_add_dvar (d2v: d2var): void fun the_d2expenv_add_dvarlst (d2vs: d2varlst): void fun the_d2expenv_add_dvaropt (d2vopt: d2varopt): void // fun the_d2expenv_add_fundeclst (knd: funkind, f2ds: f2undeclst): void // (* ****** ****** *) fun the_d2expenv_find (id: symbol): d2itmopt_vt fun the_d2expenv_find_qua (q: $SYN.d0ynq, id: symbol): d2itmopt_vt fun the_d2expenv_current_find (id: symbol): Option_vt (d2itm) fun the_d2expenv_pervasive_find (id: symbol): Option_vt (d2itm) (* ****** ****** *) // absview d2expenv_push_v // (* ****** ****** *) fun the_d2expenv_top_clear ((*void*)): void (* ****** ****** *) // fun the_d2expenv_pop (pf: d2expenv_push_v | (*none*)): d2itmmap fun the_d2expenv_pop_free (pf: d2expenv_push_v | (*none*)): void fun the_d2expenv_push_nil ((*void*)): (d2expenv_push_v | void) // (* ****** ****** *) fun the_d2expenv_localjoin ( pf1: d2expenv_push_v, pf2: d2expenv_push_v | (*none*) ) : void // end of [the_d2expenv_localjoin] fun the_d2expenv_pervasive_joinwth0 (map: d2itmmap): void fun the_d2expenv_pervasive_joinwth1 (map: !d2itmmap): void (* ****** ****** *) // absview staload_level_push_v // fun the_staload_level_get (): int // fun the_staload_level_pop (pf: staload_level_push_v | (*none*)): void // fun the_staload_level_push (): (staload_level_push_v | void) // (* ****** ****** *) fun the_filenvmap_add (fid: symbol, fenv: filenv): void fun the_filenvmap_find (fid: symbol): Option_vt (filenv) (* ****** ****** *) // absview trans2_env_push_v // fun the_trans2_env_pop (pf: trans2_env_push_v | (*none*)): void // fun the_trans2_env_push (): (trans2_env_push_v | void) // fun the_trans2_env_localjoin ( pf1: trans2_env_push_v, pf2: trans2_env_push_v | (*none*) ) : void // end of [trans2_env_localjoin] // (* ****** ****** *) // absview trans2_env_save_v // fun the_trans2_env_save ((*none*)): (trans2_env_save_v | void) fun the_trans2_env_restore (pf: trans2_env_save_v | (*none*)) : (s2temap, s2itmmap, d2itmmap) // (* ****** ****** *) fun the_trans2_env_pervasive_joinwth (pf: trans2_env_push_v | fil: filename, d2cs: d2eclist): void // end of [the_trans2_env_pervasive_joinwth1] (* ****** ****** *) fun the_trans2_env_initialize ((*void*)): void (* ****** ****** *) (* end of [pats_trans2_env.sats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_jsonize.dats0000664000175000017500000002436612655455557021454 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload "./pats_jsonize.sats" staload _(*anon*) = "./pats_jsonize.dats" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_jsonize_synent2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" staload "./pats_constraint3.sats" (* ****** ****** *) #define nil list_nil #define :: list_cons #define cons list_cons (* ****** ****** *) // macdef jsonize_loc (x) = jsonize_location (,(x)) // (* ****** ****** *) (* // // HX-2013-12-24: // this does not seem to be really useful // // HX-2015-06-06: // Change-of-mind! // *) extern fun jsonize_c3nstrkind : jsonize_ftype (c3nstrkind) // implement jsonize_c3nstrkind (knd) = let in // case+ knd of // | C3TKmain() => jsonval_conarg0 ("C3TKmain") // | C3TKcase_exhaustiveness (knd, p2tcss) => let val knd = jsonize_caskind (knd) val p2tcss = jsonize_ignored (p2tcss) in jsonval_conarg2 ("C3TKcase_exhaustiveness", knd, p2tcss) // end of [jsonval_conarg2] end // end of [C3TKcase_exhaustiveness] // | C3TKtermet_isnat() => jsonval_conarg0 ("C3TKtermet_isnat") | C3TKtermet_isdec() => jsonval_conarg0 ("C3TKtermet_isdec") // | C3TKsome_fin (d2v, s2e1, s2e2) => let val d2v = jsonize_d2var (d2v) val s2e1 = jsonize1_s2exp (s2e1) val s2e2 = jsonize1_s2exp (s2e2) in jsonval_conarg3 ("C3TKsome_fin", d2v, s2e1, s2e2) end // end of [C3TKsome_fin] | C3TKsome_lvar (d2v, s2e1, s2e2) => let val d2v = jsonize_d2var (d2v) val s2e1 = jsonize1_s2exp (s2e1) val s2e2 = jsonize1_s2exp (s2e2) in jsonval_conarg3 ("C3TKsome_lvar", d2v, s2e1, s2e2) end // end of [C3TKsome_lvar] | C3TKsome_vbox (d2v, s2e1, s2e2) => let val d2v = jsonize_d2var (d2v) val s2e1 = jsonize1_s2exp (s2e1) val s2e2 = jsonize1_s2exp (s2e2) in jsonval_conarg3 ("C3TKsome_vbox", d2v, s2e1, s2e2) end // end of [C3TKsome_vbox] // | C3TKlstate() => jsonval_conarg0 ("C3TKlstate") | C3TKlstate_var(d2v) => jsonval_conarg1 ("C3TKlstate_var", jsonize_d2var (d2v)) // end of [C3TKlstate_var] // | C3TKloop(knd) => jsonval_conarg1 ("C3TKloop", jsonval_int (knd)) // end of [C3TKloop] // | C3TKsolverify() => jsonval_conarg0 ("C3TKsolverify") // end // end of [jsonize_c3nstrkind] (* ****** ****** *) extern fun jsonize_s3itm: jsonize_ftype (s3itm) extern fun jsonize_s3itmlst: jsonize_ftype (s3itmlst) extern fun jsonize_s3itmlstlst: jsonize_ftype (s3itmlstlst) (* ****** ****** *) extern fun jsonize_h3ypo: jsonize_ftype (h3ypo) extern fun jsonize_c3nstropt: jsonize_ftype (c3nstropt) (* ****** ****** *) implement jsonize_s3itm (s3i) = let in // case+ s3i of // | S3ITMsvar(s2v) => jsonval_conarg1 ("S3ITMsvar", jsonize_s2var(s2v)) // end of [S3ITMsvar] // | S3ITMhypo(h3p) => jsonval_conarg1 ("S3ITMhypo", jsonize_h3ypo(h3p)) // end of [S3ITMhypo] // | S3ITMsVar(s2V) => jsonval_conarg1 ("S3ITMsVar", jsonize_s2Var(s2V)) // end of [S3ITMsVar] // | S3ITMcnstr(c3t) => jsonval_conarg1 ("S3ITMcnstr", jsonize_c3nstr(c3t)) // end of [S3ITMcnstr] // | S3ITMcnstr_ref(c3tr) => let val loc = c3tr.c3nstroptref_loc val ref = c3tr.c3nstroptref_ref val loc = jsonize_location (loc) val opt = jsonize_c3nstropt (!ref) in jsonval_conarg2 ("S3ITMcnstr_ref", loc, opt) end // end of [S3ITMcnstr_ref] // | S3ITMdisj(s3iss) => jsonval_conarg1 ("S3ITMdisj", jsonize_s3itmlstlst(s3iss)) // end of [S3ITMdisj] // | S3ITMsolassert(s2e_prop) => jsonval_conarg1 ("S3ITMsolassert", jsonize1_s2exp(s2e_prop)) // end of [S3ITMsolassert] // end // end of [jsonize_s3itm] (* ****** ****** *) // implement jsonize_s3itmlst (s3is) = jsonize_list_fun(s3is, jsonize_s3itm) implement jsonize_s3itmlstlst (s3iss) = jsonize_list_fun(s3iss, jsonize_s3itmlst) // (* ****** ****** *) implement jsonize_h3ypo (h3p0) = let // fun auxmain (h3p0: h3ypo): jsonval = let in // case+ h3p0.h3ypo_node of // | H3YPOprop (s2e) => let (* val () = println! ("jsonize_h3ypo: H3YPOprop: s2e = ", s2e) *) in jsonval_conarg1 ("H3YPOprop", jsonize1_s2exp (s2e)) end // end of [H3YPOprop] | H3YPObind (s2v1, s2e2) => let (* val () = println! ("jsonize_h3ypo: H3YPObind: s2v1 = ", s2v1) val () = println! ("jsonize_h3ypo: H3YPObind: s2e2 = ", s2e2) *) in jsonval_conarg2 ("H3YPObind", jsonize_s2var(s2v1), jsonize1_s2exp(s2e2)) end // end of [H3YPObind] | H3YPOeqeq (s2e1, s2e2) => let (* val () = println! ("jsonize_h3ypo: H3YPObind: s2e1 = ", s2e1) val () = println! ("jsonize_h3ypo: H3YPObind: s2e2 = ", s2e2) *) in jsonval_conarg2 ("H3YPOeqeq", jsonize1_s2exp(s2e1), jsonize1_s2exp(s2e2)) end // end of [H3YPOeqeq] // end // end of [auxmain] // val loc0 = h3p0.h3ypo_loc val loc0 = jsonize_loc (loc0) val h3p0 = auxmain (h3p0) // in jsonval_labval2 ("h3ypo_loc", loc0, "h3ypo_node", h3p0) end // end of [jsonize_h3ypo] (* ****** ****** *) implement jsonize_c3nstr (c3t0) = let // fun auxmain (c3t0: c3nstr): jsonval = let in // case+ c3t0.c3nstr_node of // | C3NSTRprop(s2e) => jsonval_conarg1 ("C3NSTRprop", jsonize1_s2exp (s2e)) // end of [C3NSTRprop] // | C3NSTRitmlst(s3is) => jsonval_conarg1 ("C3NSTRitmlst", jsonize_s3itmlst (s3is)) // end of [C3NSTRitmlst] // | C3NSTRsolverify(s2e_prop) => jsonval_conarg1 ("C3NSTRsolverify", jsonize1_s2exp(s2e_prop)) // end of [C3NSTRsolverify] // end // end of [auxmain] // val loc0 = c3t0.c3nstr_loc val loc0 = jsonize_loc (loc0) // val ctk0 = jsonize_c3nstrkind(c3t0.c3nstr_kind) // val c3t0 = auxmain (c3t0) // in // jsonval_labval3 ( "c3nstr_loc", loc0, "c3nstr_kind", ctk0, "c3nstr_node", c3t0 ) (* jsonval_labval3 *) // end // end of [jsonize_c3nstr] (* ****** ****** *) implement jsonize_c3nstropt (opt) = jsonize_option_fun(opt, jsonize_c3nstr) // end of [jsonize_c3nstropt] (* ****** ****** *) local // typedef s2tds = s2rtdatset // fun aux_s2rt ( s2t0: s2rt, res: s2tds ) : s2tds = ( case+ s2t0 of | S2RTbas(s2tb) => aux_s2rtbas(s2tb, res) | S2RTfun(s2ts, s2t) => let val res = aux_s2rtlst(s2ts, res) in aux_s2rt(s2t, res) end // end of [S2RTfun] | S2RTtup(s2ts) => aux_s2rtlst(s2ts, res) | S2RTVar _ => res | S2RTerr _ => res ) // and aux_s2rtlst ( s2ts: s2rtlst, res: s2tds ) : s2tds = ( case+ s2ts of | list_nil() => res | list_cons(s2t, s2ts) => let val res = aux_s2rt(s2t, res) in aux_s2rtlst(s2ts, res) end // end of [list_cons] ) // and aux_s2rtbas ( s2tb: s2rtbas, res: s2tds ) : s2tds = ( case+ s2tb of | S2RTBASpre _ => res | S2RTBASimp _ => res | S2RTBASdef(s2td) => s2rtdatset_add(res, s2td) ) // fun aux_s2cst ( s2c: s2cst, res: s2tds ) : s2tds = ( aux_s2rt(s2cst_get_srt(s2c), res) ) fun aux_s2cstlst ( s2cs: s2cstlst, res: s2tds ) : s2tds = ( case+ s2cs of | list_nil() => res | list_cons(s2c, s2cs) => aux_s2cstlst(s2cs, aux_s2cst(s2c, res)) // end of [list_cons] ) // fun aux_s2var ( s2v: s2var, res: s2tds ) : s2tds = ( aux_s2rt(s2var_get_srt(s2v), res) ) fun aux_s2varlst ( s2vs: s2varlst, res: s2tds ) : s2tds = ( case+ s2vs of | list_nil() => res | list_cons(s2v, s2vs) => aux_s2varlst(s2vs, aux_s2var(s2v, res)) // end of [list_cons] ) // in (* in-of-local *) fun c3nstr_get_s2rtdatlst ( s2cs: s2cstlst, s2vs: s2varlst ) : List_vt(s2rtdat) = let val res = s2rtdatset_nil() val res = aux_s2cstlst(s2cs, res) val res = aux_s2varlst(s2vs, res) in s2rtdatset_listize(res) end // end of [c3nstr_get_s2rtdatlst] end // end of [local] (* ****** ****** *) implement c3nstr_export (out, c3t0) = let // val ( s2cs, s2vs ) = c3nstr_mapgen_scst_svar (c3t0) // val s2cs = s2cstset_vt_listize_free (s2cs) val s2vs = s2varset_vt_listize_free (s2vs) // val jsv_s2cs = jsonize_list_fun($UN.linlst2lst(s2cs), jsonize_s2cst_long) val jsv_s2vs = jsonize_list_fun($UN.linlst2lst(s2vs), jsonize_s2var_long) // val s2tds = c3nstr_get_s2rtdatlst ($UN.linlst2lst(s2cs), $UN.linlst2lst(s2vs)) // val jsv_s2tds = jsonize_list_fun($UN.linlst2lst(s2tds), jsonize_s2rtdat_long) // val () = list_vt_free (s2cs) val () = list_vt_free (s2vs) val () = list_vt_free (s2tds) // val jsv_c3t0 = jsonize_c3nstr (c3t0) // val () = fprint_string (out, "{\n\"s2cstmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_s2cs) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"s2varmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_s2vs) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"s2rtdatmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_s2tds) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"c3nstrbody\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_c3t0) val ((*void*)) = fprint_string (out, "\n}") val ((*void*)) = fprint_newline (out) // in // nothing end // end of [c3nstr_export] (* ****** ****** *) (* end of [pats_constraint3_jsonize.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexing_error.dats0000664000175000017500000001523412655455557020135 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_lexing.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location overload fprint with $LOC.fprint_location (* ****** ****** *) implement lexerr_make (loc, node) = '{ lexerr_loc= loc, lexerr_node= node } // end of [lexerr_make] (* ****** ****** *) viewtypedef lexerrlst_vt = List_vt (lexerr) (* ****** ****** *) // // HX-2011-03-12: // [n] stores the total number of errors, some of // which may not be recorded // extern fun the_lexerrlst_get (n: &int? >> int): lexerrlst_vt (* ****** ****** *) local // // HX-2011-03-12: // MAXLEN is the max number of errors to be reported // #define MAXLEN 100 #assert (MAXLEN > 0) val the_length = ref (0) val the_lexerrlst = ref (list_vt_nil) in // in of [local] implement the_lexerrlst_clear () = () where { val () = !the_length := 0 val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_lexerrlst) val () = list_vt_free (!p) val () = !p := list_vt_nil () } // end of [val] } // end of [the_lexerrlst_clear] implement the_lexerrlst_add (err) = () where { val n = let val (vbox pf | p) = ref_get_view_ptr (the_length) val n = !p val () = !p := n + 1 in n end // end of [val] val () = if n < MAXLEN then let val (vbox pf | p) = ref_get_view_ptr (the_lexerrlst) in !p := list_vt_cons (err, !p) end // end of [val] } // end of [the_lexerrlst_add] implement the_lexerrlst_get (n) = xs where { val () = n := !the_length val () = !the_length := 0 val (vbox pf | p) = ref_get_view_ptr (the_lexerrlst) val xs = !p val xs = list_vt_reverse (xs) val () = !p := list_vt_nil () } // end of [the_lexerrlst_get] end // end of [local] (* ****** ****** *) implement fprint_lexerr (out, x) = let val loc = x.lexerr_loc val () = fprint (out, loc) in // case+ x.lexerr_node of | LE_CHAR_oct () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the char format (oct) is incorrect.", @()) val ((*void*)) = fprint_newline (out) } | LE_CHAR_hex () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the char format (hex) is incorrect.", @()) val ((*void*)) = fprint_newline (out) } | LE_CHAR_unclose () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the char consant is unclosed.", @()) val ((*void*)) = fprint_newline (out) } | LE_STRING_char_oct () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the string-char format (oct) is incorrect.", @()) val ((*void*)) = fprint_newline (out) } | LE_STRING_char_hex () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the string-char format (hex) is incorrect.", @()) val ((*void*)) = fprint_newline (out) } | LE_STRING_unclose () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the string constant is unclosed.", @()) val ((*void*)) = fprint_newline (out) } | LE_COMMENT_block_unclose ( ) => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the comment block is unclosed.", @()) val ((*void*)) = fprint_newline (out) } | LE_EXTCODE_unclose () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the external code block is unclosed.", @()) val ((*void*)) = fprint_newline (out) } | LE_DIGIT_oct_89 (c) => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": illegal digit (oct): %c", @(c)) val ((*void*)) = fprint_newline (out) } | LE_FEXPONENT_empty () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the floating exponent is empty.", @()) val ((*void*)) = fprint_newline (out) } | LE_QUOTE_dangling () => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": the quote symbol (') is dangling.", @()) val ((*void*)) = fprint_newline (out) } | LE_UNSUPPORTED_char (c) => () where { val () = fprintf (out, ": error(lexing)", @()) val () = fprintf (out, ": unsupported char: %c", @(c)) val ((*void*)) = fprint_newline (out) } (* | _ => () where { val () = fprintf (out, ": error(lexing): unspecified", @()) val () = fprint_newline (out) } *) // end // end of [fprint_lexerr] (* ****** ****** *) implement fprint_the_lexerrlst (out) = let var n: int? val xs = the_lexerrlst_get (n) // fun loop ( out: FILEref, xs: lexerrlst_vt, n: int ) : int = case+ xs of | ~list_vt_cons (x, xs) => let val () = fprint_lexerr (out, x) in loop (out, xs, n-1) end // end of [list_vt_cons] | ~list_vt_nil () => n (* end of [loop] *) // in // case+ xs of | list_vt_cons _ => let prval () = fold@ (xs) val n = loop (out, xs, n) val () = if n > 0 then { val () = fprint_string (out, "There are possibly some additional errors.") val () = fprint_newline (out) } // end of [if] in 1 (* containing errors *) end // end of [list_vt_cons] | ~list_vt_nil () => 0 (* free of errors *) // end // end of [fprint_the_lexerrlst] (* ****** ****** *) (* end of [pats_lexing_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_counter.sats0000664000175000017500000000534612655455557017137 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) abst@ype count_t0ype = int typedef count = count_t0ype abstype counter_type // ref (count_t) typedef counter = counter_type (* ****** ****** *) fun count_get_int (x: count):<> int (* ****** ****** *) fun lt_count_count (x1: count, x2: count):<> bool overload < with lt_count_count fun lte_count_count (x1: count, x2: count):<> bool overload <= with lte_count_count fun gt_count_count (x1: count, x2: count):<> bool overload > with lt_count_count fun gte_count_count (x1: count, x2: count):<> bool overload >= with lte_count_count fun eq_count_count (x1: count, x2: count):<> bool overload = with eq_count_count fun neq_count_count (x1: count, x2: count):<> bool overload <> with neq_count_count fun compare_count_count (x1: count, x2: count):<> Sgn overload compare with compare_count_count (* ****** ****** *) fun fprint_count : fprint_type (count) (* ****** ****** *) fun tostring_count (cnt: count): string fun tostring_prefix_count (pre: string, cnt: count): string (* ****** ****** *) // fun counter_make (): counter // fun counter_inc (cntr: counter): void fun counter_get (cntr: counter): count fun counter_set (cntr: counter, cnt: count): void fun counter_reset (cntr: counter): void // fun counter_getinc (cntr: counter): count fun counter_incget (cntr: counter): count // (* ****** ****** *) (* end of [pats_counter.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_appsym.dats0000664000175000017500000004077512655455557020251 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_appsym" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) extern fun aritest_d2exparglst_s2exp (d2as: d2exparglst, s2e: s2exp): bool (* ** HX: for handling dynamic overloading *) local // fun loop ( d2as: d2exparglst , s2e: s2exp, npf: int, d2es: d2explst ) : bool = let val s2e = s2exp_hnfize (s2e) in case+ s2e.s2exp_node of | S2Efun ( _(*fc*), _(*lin*), _(*eff*), npf1, s2es_arg, s2e_res ) => if (npf = npf1) then let val sgn = list_length_compare (d2es, s2es_arg) in // end of [val] if sgn = 0 then aritest_d2exparglst_s2exp (d2as, s2e_res) else false // end of [if] end else false // end of [if] // end of [S2Efun] | S2Eexi (_(*s2vs*), _(*s2ps*), s2e) => loop (d2as, s2e, npf, d2es) | S2Euni (_(*s2vs*), _(*s2ps*), s2e) => loop (d2as, s2e, npf, d2es) | S2Emetfun (_(*opt*), _(*met*), s2e) => loop (d2as, s2e, npf, d2es) | _ => false // end of [_] end // end of [loop] // in // in of [local] implement aritest_d2exparglst_s2exp (d2as, s2e) = let in case+ d2as of | list_cons (d2a, d2as) => ( case+ d2a of | D2EXPARGdyn ( npf, _(*loc*), d2es ) => loop (d2as, s2e, npf, d2es) | D2EXPARGsta _ => aritest_d2exparglst_s2exp (d2as, s2e) ) // end of [list_cons] | list_nil ((*void*)) => true end // end of [aritest_d2exparglst_s2exp] end // end of [local] (* ****** ****** *) fun d2exp_trup_item ( loc0: loc_t, d2i: d2itm, t2mas: t2mpmarglst ) : d3exp = let (* val () = ( print "d2exp_trup_item: d2i = "; fprint_d2itm (stdout_ref, d2i); print_newline () ) // end [val] *) in // case+ d2i of | D2ITMcst d2c => let val s2qs = d2cst_get_decarg (d2c) // end of [val] val s2e = d2cst_get_type (d2c) val s2e = s2exp_unis (s2qs, s2e) in d3exp_item (loc0, s2e, d2i, t2mas) end | D2ITMvar d2v => let val s2qs = d2var_get_decarg (d2v) val-Some (s2e) = d2var_get_type (d2v) val s2e = s2exp_unis (s2qs, s2e) in d3exp_item (loc0, s2e, d2i, t2mas) end | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "d2exp_trup_item" val () = prerr ": a dynamic constant or variable is expected." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2exp_trup_item (loc0, d2i)) in d3exp_errexp (loc0) end // end of [_] // end // end of [d2exp_trup_item] (* ****** ****** *) fun d3exp_trup_item (d3e0: d3exp): d3exp = let // val loc0 = d3e0.d3exp_loc val-D3Eitem (d2i, t2mas) = d3e0.d3exp_node val isnil = list_is_nil (t2mas) // in // case+ d2i of | D2ITMcst d2c => ( if isnil then d2exp_trup_cst (loc0, d2c) else d2exp_trup_tmpcst (loc0, d2c, t2mas) // end of [if] ) // end of [D2ITMcst] | D2ITMvar d2v => ( if isnil then d2exp_trup_var (loc0, d2v) else d2exp_trup_tmpvar (loc0, d2v, t2mas) // end of [if] ) // end of [D2ITMvar] | _ => let val () = assertloc (false) in d3exp_errexp (loc0) end // end of [_] // end // end of [d3exp_trup_item] (* ****** ****** *) datatype d3pitm = D3PITM of (int, d3exp) typedef d3pitmlst = List (d3pitm) viewtypedef d3pitmlst_vt = List_vt (d3pitm) fun d3pitm_get_dexp (d3pi: d3pitm): d3exp = let val D3PITM (pval, d3e) = d3pi in d3e end // end of [d3pitm_get_dexp] fun d3pitm_get_type (d3pi: d3pitm): s2exp = let val D3PITM (pval, d3e) = d3pi in d3e.d3exp_type end // end of [d3pitm_get_type] fun d3pitm_get_pval (d3pi: d3pitm): int = let val D3PITM (pval, d3e) = d3pi in pval end // end of [d3pitm_get_pval] fun d3pitm_make (pval: int, d3e: d3exp): d3pitm = D3PITM (pval, d3e) // end of [d3pitm_make] fun fprint_d3pitm ( out: FILEref, x: d3pitm ) : void = let val D3PITM (pval, d3e) = x val-D3Eitem (d2i, t2mas) = d3e.d3exp_node val () = fprint_d2itm (out, d2i) val () = fprint_string (out, " of ") val () = fprint_int (out, pval) in // nothing end // end of [fprint_d3pitm] (* ****** ****** *) datatype d3exparg = | D3EXPARGsta of (loc_t(*arg*), s2exparglst) | D3EXPARGdyn of // HX: notice the argument list [d3es] (int(*npf*), loc_t(*arg*), d3explst) // are not opened // end of [D3EXPARGdyn] typedef d3exparglst = List d3exparg viewtypedef d3exparglst_vt = List_vt d3exparg (* ****** ****** *) extern fun d3exp_trup_applst ( d2e0: d2exp, d3e_fun: d3exp, d3as: d3exparglst ) : d3exp // end of [d3exp_trup_applst] implement d3exp_trup_applst (d2e0, d3e_fun, d3as) = let (* val () = ( print "d3exp_trup_applst: ..."; print_newline () ) // end of [val] *) val loc0 = d2e0.d2exp_loc in // case+ d3as of // | list_cons (d3a, d3as) => ( case+ d3a of | D3EXPARGsta (locarg, s2as) => let val loc_fun = d3e_fun.d3exp_loc val s2e_fun = d3e_fun.d3exp_type var err: int = 0 val (s2e_fun, s2ps) = s2exp_uni_instantiate_sexparglst (s2e_fun, s2as, err) // end of [val] val () = trans3_env_add_proplst_vt (loc_fun, s2ps) val d3e_fun = d3exp_app_sta (loc0, s2e_fun, d3e_fun) in d3exp_trup_applst (d2e0, d3e_fun, d3as) end // end of [D3EXPARGsta] | D3EXPARGdyn (npf, locarg, d3es_arg) => let val loc_fun = d3e_fun.d3exp_loc val s2e_fun = d3e_fun.d3exp_type val () = d3explst_open_and_add (d3es_arg) var err: int = 0 val (s2e_fun, s2ps) = s2exp_unimet_instantiate_all (s2e_fun, locarg, err) // HX: [err] is not used val () = trans3_env_add_proplst_vt (loc_fun, s2ps) val d3e_fun = d3exp_app_unista (loc0, s2e_fun, d3e_fun) val-S2Efun ( fc, _(*lin*), s2fe_fun, _(*npf*), s2es_fun_arg, s2e_fun_res ) = s2e_fun.s2exp_node // end of[val] // val loc_app = $LOC.location_combine (loc_fun, locarg) val s2es_fun_arg = s2fun_opninv_and_add (locarg, s2es_fun_arg, s2e_fun_res) val d3es_arg = d3explst_trdn_arg (d3es_arg, s2es_fun_arg) // val ( iswth, s2e_res, wths2es ) = un_s2exp_wthtype (loc_app, s2e_fun_res) // val d3e_fun = d3exp_fun_restore (fc, d3e_fun) val d3es_arg = ( if iswth then d3explst_arg_restore (d3es_arg, s2es_fun_arg, wths2es) else d3es_arg // end of [if] ) : d3explst // end of [val] // val err = the_effenv_check_s2eff (loc_app, s2fe_fun) val ( ) = if (err > 0) then ( the_trans3errlst_add (T3E_d3exp_trup_applst_eff (loc_app, s2fe_fun)) ) // end of [if] // end of [val] // val d3e_fun = d3exp_app_dyn (loc0, s2e_res, d3e_fun, npf, d3es_arg) in d3exp_trup_applst (d2e0, d3e_fun, d3as) end // end of [D3EXPARGdyn] ) (* end of [list_cons] *) // | list_nil ((*void*)) => d3e_fun // end of [list_nil] // end // end of [d3exp_trup_applst] (* ****** ****** *) local fun auxsel_arity ( locsym: loc_t , d2pis: d2pitmlst , d2piss: List_vt (d2pitmlst) , t2mas: t2mpmarglst , d2args: d2exparglst ) : d3pitmlst_vt = let in // case+ d2pis of | list_cons (d2pi, d2pis) => let val D2PITM (pval, d2i) = d2pi in case+ d2i of | D2ITMsymdef (_(*sym*), d2pis_new) => let val d2piss = list_vt_cons (d2pis, d2piss) in auxsel_arity (locsym, d2pis_new, d2piss, t2mas, d2args) end // end of [D2ITMsymdef] | _ => let val d3e = d2exp_trup_item (locsym, d2i, t2mas) val test = aritest_d2exparglst_s2exp (d2args, d3e.d3exp_type) val d3pis = auxsel_arity (locsym, d2pis, d2piss, t2mas, d2args) in if test then let val d3pi = d3pitm_make (pval, d3e) in list_vt_cons (d3pi, d3pis) end else d3pis // end of [if] end // end of [_] end // end of [list_cons] | list_nil () => ( case+ d2piss of | ~list_vt_cons (d2pis, d2piss) => auxsel_arity (locsym, d2pis, d2piss, t2mas, d2args) | ~list_vt_nil () => list_vt_nil () ) // end of [list_nil] // end // end of [auxsel_arity] fun auxsel_skexplst ( xs: List_vt @(d3pitm, s2kexp), s2kes: s2kexplst ) : List_vt @(d3pitm, s2kexp) = let (* val () = ( print "auxsel_skexplst: s2kes = "; fprint_s2kexplst (stdout_ref, s2kes); print_newline () ) // end of [val] *) in // case+ xs of | ~list_vt_cons (x, xs) => ( case+ x.1 of | S2KEfun (s2kes_arg, s2ke_res) => let (* val () = ( print "auxsel_skexplst: s2kes_arg = "; fprint_s2kexplst (stdout_ref, s2kes_arg); print_newline () ) // end of [val] *) val ismat = s2kexplst_ismat (s2kes, s2kes_arg) // end of [val] (* val () = ( print "auxsel_skexplst: ismat = "; print ismat; print_newline () ) // end of [val] *) val y = (x.0, s2ke_res) val ys = auxsel_skexplst (xs, s2kes) in if ismat then list_vt_cons (y, ys) else ys end // end of [list_vt_cons] | _ => auxsel_skexplst (xs, s2kes) ) // end of [list_vt_cons] | ~list_vt_nil () => list_vt_nil () // end // end of [auxsel_skexplst] fun auxsel_arglst ( xs: List_vt @(d3pitm, s2kexp) , d2as: d2exparglst, d3as: d3exparglst_vt ) : ( d3pitmlst, d3exparglst, d2exparglst ) = let // typedef T = (d3pitm, s2kexp) // fun auxmap (xs: List_vt (T)) : d3pitmlst = case+ xs of | ~list_vt_cons (x, xs) => list_cons (x.0, auxmap xs) | ~list_vt_nil () => list_nil () // end of [auxmap] in // case+ d2as of | list_cons _ => ( case+ xs of | list_vt_cons (x, !p_xs1) => ( case+ !p_xs1 of | ~list_vt_nil () => let val () = free@ {T}{0} (xs) val d3as = list_vt_reverse (d3as) in (list_sing (x.0), (l2l)d3as, d2as) end | _ => let val () = fold@ (xs) val+list_cons (d2a, d2as) = d2as in case+ d2a of | D2EXPARGsta (locarg, s2as) => let val d3a = D3EXPARGsta (locarg, s2as) in auxsel_arglst (xs, d2as, list_vt_cons (d3a, d3as)) end (* D2EXPARGsta *) | D2EXPARGdyn (npf, locarg, d2es) => let val d3es = d2explst_trup (d2es) val s2kes = list_map_fun (d3es, lam d3e =<1> s2kexp_make_s2exp (d3e.d3exp_type)) val xs = auxsel_skexplst (xs, $UN.castvwtp1 {s2kexplst} (s2kes)) val () = list_vt_free (s2kes) val d3a = D3EXPARGdyn (npf, locarg, d3es) in auxsel_arglst (xs, d2as, list_vt_cons (d3a, d3as)) end (* D2EXPARGdyn *) end // end of [_] ) // end of [list_vt_cons] | ~list_vt_nil () => let val d3as = list_vt_reverse (d3as) // end of [val] in (list_nil (), (l2l)d3as, d2as) end // end of [list_vt_nil] ) // end of [list_cons] | list_nil () => let val d3as = list_vt_reverse (d3as) in (auxmap (xs), (l2l)d3as, d2as) end // end of [list_nil] // end // end of [auxsel_arglst] #define ITMPVALMIN ~1000000 fun auxselmax (xs: d3pitmlst): d3pitmlst = let fun loop (xs: d3pitmlst, mpval: int): int = case+ xs of | list_cons (x, xs) => let val pval = d3pitm_get_pval (x) in loop (xs, max_int_int (mpval, pval)) end | list_nil () => mpval // end of [loop] val mpval = loop (xs, ITMPVALMIN) val xs = list_filter_cloptr (xs, lam (x) =<1> d3pitm_get_pval (x) = mpval) // end of [val] in (l2l)xs end // end of [auxselmax] in // in of [local] implement d2exp_trup_applst_sym (d2e0, d2s, d2as) = let val t2mas = list_nil () in d2exp_trup_applst_tmpsym (d2e0, d2s, t2mas, d2as) end // end of [d2exp_trup_applst_sym] implement d2exp_trup_applst_tmpsym (d2e0, d2s, t2mas, d2as) = let (* val () = ( print "d2exp_trup_applst_sym: d2s = "; fprint_d2sym (stdout_ref, d2s); print_newline (); print "d2exp_trup_applst_sym: d2as = "; fprint_d2exparglst (stdout_ref, d2as); print_newline (); ) // end of [val] *) val loc0 = d2e0.d2exp_loc val locsym = d2s.d2sym_loc val d2pis = d2s.d2sym_pitmlst val d3pis = auxsel_arity (locsym, d2pis, list_vt_nil, t2mas, d2as) val xs = let fun f (d3pi: d3pitm): (d3pitm, s2kexp) = let val s2e = d3pitm_get_type (d3pi) in (d3pi, s2kexp_make_s2exp s2e) end // end of [f] in list_map_fun ($UN.castvwtp1 {d3pitmlst} (d3pis), f) end // end of [val] val () = list_vt_free (d3pis) val xyz = auxsel_arglst (xs, d2as, list_vt_nil) val d3pis = xyz.0 val d3pis = auxselmax (d3pis) // in // case+ d3pis of // | list_cons ( d3pi, list_nil () ) => let val d3e_fun = d3pitm_get_dexp (d3pi) val d3e_fun = d3exp_trup_item (d3e_fun) val d3e_fun = d3exp_trup_applst (d2e0, d3e_fun, xyz.1) in d23exp_trup_applst (d2e0, d3e_fun, xyz.2) end // end of [list_sing] | list_cons ( d3pi1, list_cons (d3pi2, _) ) => let val () = prerr_error3_loc (loc0) val () = prerr ": the symbol ["; val () = fprint_d2sym (stderr_ref, d2s) val () = prerr "] cannot be resolved due to too many matches:\n" val () = fprint_d3pitm (stderr_ref, d3pi1) val () = prerr_newline () val () = fprint_d3pitm (stderr_ref, d3pi2) val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2exp_trup_applst_sym_cons2 (d2e0, d2s)) // end of [val] in d3exp_errexp (loc0) end // end of [list_cons2] // | list_nil () => let val () = prerr_error3_loc (loc0) val () = prerr ": the symbol ["; val () = fprint_d2sym (stderr_ref, d2s) val () = prerr "] cannot be resolved as no match is found." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2exp_trup_applst_sym_nil (d2e0, d2s)) in d3exp_errexp (loc0) end // end of [list_nil] // end // end of [d2exp_trup_applst_tmpsym] // end // end of [local] (* ****** ****** *) local fun auxins ( npf: int , d2e_rt: d2exp, d2es: d2explst ) : d2explst = ( if npf > 0 then let val-list_cons (d2e, d2es) = d2es in list_cons (d2e, auxins (npf-1, d2e_rt, d2es)) end // end of [then] else list_cons (d2e_rt, d2es) // end of [if] ) fun auxins2 ( d2e0: d2exp , d2e_rt: d2exp, d2as: d2exparglst ) : d2exparglst = ( case+ d2as of // | list_nil () => let val d2a = D2EXPARGdyn (~1(*npf*), d2e0.d2exp_loc, list_sing(d2e_rt)) // end of [val] in list_sing (d2a) end // end of [list_nil] // | list_cons (d2a, d2as) => ( case+ d2a of | D2EXPARGsta _ => list_cons (d2a, auxins2 (d2e0, d2e_rt, d2as)) | D2EXPARGdyn (npf, loc_arg, d2es) => let val d2a = D2EXPARGdyn (npf, loc_arg, auxins (npf, d2e_rt, d2es)) // end of [val] in list_cons (d2a, d2as) end // end of [D2EXPARGdyn] ) (* end of [list_cons] *) // ) (* end of [auxins2] *) in (* in-of-local *) implement d2exp_trup_applst_seloverld (d2e0, _fun, d2s, _arg) = let // val d2e_rt = d2exp_get_seloverld_root (_fun) val d2as_arg = auxins2 (d2e0, d2e_rt, _arg) // in d2exp_trup_applst_sym (d2e0, d2s, d2as_arg) end // end of [d2exp_trup_applst_seloverld] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_funsel.dats] *) ATS2-Postiats-0.2.6/./src/pats_hidynexp.dats0000664000175000017500000005522312655455557017270 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label (* ****** ****** *) // staload S2E = "./pats_staexp2.sats" typedef s2cst = $S2E.s2cst // staload S2C = "./pats_stacst2.sats" // staload D2E = "./pats_dynexp2.sats" typedef d2cst = $D2E.d2cst // (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) implement hipat_get_type (hip) = hip.hipat_type (* ****** ****** *) implement labhipatlst_is_unused (lhips) = let // fun f ( lhip: labhipat ) : bool = let val LABHIPAT (_, hip) = lhip in case+ hip.hipat_node of HIPany _ => true | _ => false end // end of [f] // in list_forall_fun (lhips, f) end // end of [labhipatlst_is_unused] (* ****** ****** *) implement hipat_make_node ( loc, hse, node ) = '{ hipat_loc= loc , hipat_type= hse, hipat_node= node, hipat_asvar= None(*d2v*) } // end of [hipat_make_node] (* ****** ****** *) implement hipat_any (loc, hse, d2v) = hipat_make_node (loc, hse, HIPany (d2v)) // end of [hipat_any] implement hipat_var (loc, hse, d2v) = hipat_make_node (loc, hse, HIPvar (d2v)) // end of [hipat_var] (* ****** ****** *) implement hipat_con ( loc, hse, pck, d2c, hse_sum, lhips ) = hipat_make_node (loc, hse, HIPcon (pck, d2c, hse_sum, lhips)) // end of [hipat_con] implement hipat_con_any (loc, hse, pck, d2c) = hipat_make_node (loc, hse, HIPcon_any (pck, d2c)) // end of [hipat_con_any] (* ****** ****** *) implement hipat_int (loc, hse, i) = hipat_make_node (loc, hse, HIPint (i)) // end of [hipat_int] implement hipat_intrep (loc, hse, rep) = hipat_make_node (loc, hse, HIPintrep (rep)) // end of [hipat_intrep] implement hipat_bool (loc, hse, b) = hipat_make_node (loc, hse, HIPbool (b)) // end of [hipat_bool] implement hipat_char (loc, hse, c) = hipat_make_node (loc, hse, HIPchar (c)) // end of [hipat_char] implement hipat_float (loc, hse, rep) = hipat_make_node (loc, hse, HIPfloat (rep)) // end of [hipat_float] implement hipat_string (loc, hse, str) = hipat_make_node (loc, hse, HIPstring (str)) // end of [hipat_string] (* ****** ****** *) implement hipat_i0nt (loc, hse, tok) = hipat_make_node (loc, hse, HIPi0nt (tok)) // end of [hipat_i0nt] implement hipat_f0loat (loc, hse, tok) = hipat_make_node (loc, hse, HIPf0loat (tok)) // end of [hipat_f0loat] (* ****** ****** *) implement hipat_empty (loc, hse) = hipat_make_node (loc, hse, HIPempty ()) // end of [hipat_empty] (* ****** ****** *) implement hipat_lst ( loc , lin, hse_lst, hse_elt, hips ) = let // val s2c = ( if lin = 0 then $S2C.s2cstref_get_cst ($S2C.the_list_t0ype_int_type) else $S2C.s2cstref_get_cst ($S2C.the_list_vt0ype_int_vtype) ) : s2cst // val-Some(xx) = $S2E.s2cst_get_islst (s2c) // val d2c_nil = xx.0 and d2c_cons = xx.1 // val pck = ( if lin = 0 then $D2E.PCKcon else $D2E.PCKfree ) : $D2E.pckind // val l0 = $LAB.label_make_int (0) val l1 = $LAB.label_make_int (1) // val lhse0 = HSLABELED (l0, None, hse_elt) val lhse1 = HSLABELED (l1, None, hse_lst) val lhses_arg = list_pair (lhse0, lhse1) val hse_sum = hisexp_tysum (d2c_cons, lhses_arg) // fun auxlst ( hips: hipatlst ) : hipat = let in // case+ hips of // | list_cons (hip0, hips) => let val hip1 = auxlst (hips) val lhip0 = LABHIPAT (l0, hip0) val lhip1 = LABHIPAT (l1, hip1) val lhips_arg = list_pair (lhip0, lhip1) in hipat_con (loc, hse_lst, pck, d2c_cons, hse_sum, lhips_arg) end // end of [list_cons] // | list_nil () => hipat_con_any (loc, hse_lst, pck, d2c_nil) // end // end of [auxlst] // in auxlst (hips) end // end of [hipat_lst] (* ****** ****** *) implement hipat_rec ( loc, hse, knd, lhips, hse_rec ) = hipat_make_node (loc, hse, HIPrec (knd, lhips, hse_rec)) // end of [hipat_rec] implement hipat_rec2 ( loc0, hse0, knd, lhips, hse_rec ) = let // val isflt = (if knd = 0 then true else false): bool // in // if isflt then ( case lhips of | list_cons (lx, list_nil ()) => let val+LABHIPAT (l, x) = lx in x end // end of [list_cons] | _ (*notsing*) => hipat_rec (loc0, hse0, knd, lhips, hse_rec) ) (* end of [then] *) else hipat_rec (loc0, hse0, knd, lhips, hse_rec) // end // end of [hipat_rec2] (* ****** ****** *) implement hipat_refas (loc, hse, d2v, hip) = hipat_make_node (loc, hse, HIPrefas (d2v, hip)) // end of [hipat_refas] (* ****** ****** *) implement hipat_ann (loc, hse, hip, hse_ann) = hipat_make_node (loc, hse, HIPann (hip, hse_ann)) // end of [hipat_ann] (* ****** ****** *) implement hidexp_get_type (hde) = hde.hidexp_type implement hidexplst_get_type (hdes) = let val hses = list_map_fun (hdes, hidexp_get_type) in list_of_list_vt (hses) // end of [val] end // end of [hidexplst_get_type] (* ****** ****** *) implement hidexp_make_node (loc, hse, node) = '{ hidexp_loc= loc, hidexp_type= hse, hidexp_node= node } // end of [hidexp_make_node] (* ****** ****** *) implement hidexp_cst (loc, hse, d2c) = hidexp_make_node (loc, hse, HDEcst (d2c)) // end of [hidexp_cst] implement hidexp_var (loc, hse, d2v) = hidexp_make_node (loc, hse, HDEvar (d2v)) // end of [hidexp_var] (* ****** ****** *) implement hidexp_int (loc, hse, i) = hidexp_make_node (loc, hse, HDEint (i)) // end of [hidexp_int] implement hidexp_intrep (loc, hse, rep) = hidexp_make_node (loc, hse, HDEintrep (rep)) // end of [hidexp_intrep] implement hidexp_bool (loc, hse, b) = hidexp_make_node (loc, hse, HDEbool (b)) // end of [hidexp_bool] implement hidexp_char (loc, hse, c) = hidexp_make_node (loc, hse, HDEchar (c)) // end of [hidexp_char] implement hidexp_float (loc, hse, rep) = hidexp_make_node (loc, hse, HDEfloat (rep)) // end of [hidexp_float] implement hidexp_string (loc, hse, str) = hidexp_make_node (loc, hse, HDEstring (str)) // end of [hidexp_string] (* ****** ****** *) implement hidexp_i0nt (loc, hse, tok) = hidexp_make_node (loc, hse, HDEi0nt (tok)) // end of [hidexp_i0nt] implement hidexp_f0loat (loc, hse, tok) = hidexp_make_node (loc, hse, HDEf0loat(tok)) // end of [hidexp_f0loat] (* ****** ****** *) implement hidexp_cstsp (loc, hse, x) = hidexp_make_node (loc, hse, HDEcstsp(x)) // end of [hidexp_cstsp] (* ****** ****** *) implement hidexp_top(loc, hse) = hidexp_make_node (loc, hse, HDEtop()) // end of [hidexp_top] implement hidexp_empty(loc, hse) = hidexp_make_node (loc, hse, HDEempty()) // end of [hidexp_empty] implement hidexp_ignore (loc, hse, hde) = hidexp_make_node (loc, hse, HDEignore(hde)) // end of [hidexp_ignore] (* ****** ****** *) implement hidexp_castfn (loc, hse, d2c, arg) = hidexp_make_node (loc, hse, HDEcastfn(d2c, arg)) // end of [hidexp_castfn] (* ****** ****** *) implement hidexp_extval (loc, hse, name) = hidexp_make_node (loc, hse, HDEextval(name)) // end of [hidexp_extval] implement hidexp_extfcall (loc, hse, _fun, _arg) = hidexp_make_node (loc, hse, HDEextfcall(_fun, _arg)) // end of [hidexp_extfcall] implement hidexp_extmcall (loc, hse, _obj, _mtd, _arg) = hidexp_make_node (loc, hse, HDEextmcall(_obj, _mtd, _arg)) // end of [hidexp_extmcall] (* ****** ****** *) // implement hidexp_con ( loc, hse, d2c, hse_sum, lhdes ) = hidexp_make_node(loc, hse, HDEcon (d2c, hse_sum, lhdes)) // (* ****** ****** *) implement hidexp_tmpcst (loc, hse, d2c, t2mas) = hidexp_make_node (loc, hse, HDEtmpcst(d2c, t2mas)) // end of [hidexp_tmpcst] implement hidexp_tmpvar (loc, hse, d2v, t2mas) = hidexp_make_node (loc, hse, HDEtmpvar(d2v, t2mas)) // end of [hidexp_tmpvar] (* ****** ****** *) implement hidexp_foldat (loc, hse) = hidexp_make_node (loc, hse, HDEfoldat()) implement hidexp_freeat (loc, hse, hde) = hidexp_make_node (loc, hse, HDEfreeat(hde)) // end of [hidexp_freeat] (* ****** ****** *) implement hidexp_let (loc, hse, hids, hde) = hidexp_make_node (loc, hse, HDElet(hids, hde)) // end of [hidexp_let] (* ****** ****** *) implement hidexp_app (loc, hse, hse_fun, _fun, _arg) = hidexp_make_node (loc, hse, HDEapp (_fun, hse_fun, _arg)) // end of [hidexp_app] implement hidexp_app2 ( loc0, hse, hse_fun, _fun, _arg ) = let // val opt = ( case+ _fun.hidexp_node of | HDEcst (d2c) => if $D2E.d2cst_is_castfn (d2c) then Some_vt (d2c) else None_vt | _ (*non-HDEcst*) => None_vt () ) : Option_vt (d2cst) // in // case+ opt of | ~Some_vt (d2c) => let val hde = ( case+ _arg of | list_cons (hse, _) => hse // list_cons | list_nil () => let val loc = _fun.hidexp_loc in hidexp_empty (loc, hisexp_void_t0ype()) end // end of [list_nil] ) : hidexp // end of [val] in hidexp_castfn (loc0, hse, d2c, hde) end // end of [Some_vt] | ~None_vt () => hidexp_app (loc0, hse, hse_fun, _fun, _arg) // end of [None_vt] // end // end of [hidexp_app2] (* ****** ****** *) implement hidexp_if (loc, hse, _cond, _then, _else) = hidexp_make_node (loc, hse, HDEif (_cond, _then, _else)) // end of [hidexp_if] implement hidexp_sif (loc, hse, _cond, _then, _else) = hidexp_make_node (loc, hse, HDEsif (_cond, _then, _else)) // end of [hidexp_sif] (* ****** ****** *) implement hidexp_case (loc, hse, knd, hdes, hcls) = hidexp_make_node (loc, hse, HDEcase (knd, hdes, hcls)) // end of [hidexp_case] (* ****** ****** *) implement hidexp_lst (loc, hse, lin, hse_elt, hdes) = hidexp_make_node (loc, hse, HDElst (lin, hse_elt, hdes)) // end of [hidexp_lst] (* ****** ****** *) implement hidexp_rec (loc, hse, knd, lhdes, hse_rec) = hidexp_make_node (loc, hse, HDErec (knd, lhdes, hse_rec)) // end of [hidexp_rec] implement hidexp_rec2 ( loc0, hse0, knd, lhdes, hse_rec ) = let // val isflt = (if knd = 0 then true else false): bool // in // if isflt then ( case+ lhdes of | list_cons ( lhde, list_nil() ) => let val+LABHIDEXP (l, hde) = lhde in hde end // end of [list_cons] | _ (*non-sing*) => hidexp_rec (loc0, hse0, knd, lhdes, hse_rec) // end of [non-sing] ) (* end of [then] *) else hidexp_rec (loc0, hse0, knd, lhdes, hse_rec) // end (* end of [hidexp_rec2] *) (* ****** ****** *) implement hidexp_seq (loc, hse, hdes) = hidexp_make_node (loc, hse, HDEseq (hdes)) // end of [hidexp_seq] (* ****** ****** *) implement hidexp_selab (loc, hse, hde, hse_flt, hils) = hidexp_make_node (loc, hse, HDEselab (hde, hse_flt, hils)) // end of [hidexp_selab] (* ****** ****** *) implement hidexp_ptrofvar (loc, hse, d2v) = hidexp_make_node (loc, hse, HDEptrofvar (d2v)) // end of [hidexp_ptrofvar] implement hidexp_ptrofsel (loc, hse, hde, s2rt, hils) = hidexp_make_node (loc, hse, HDEptrofsel (hde, s2rt, hils)) // end of [hidexp_ptrofsel] (* ****** ****** *) implement hidexp_refarg (loc, hse, refval, freeknd, hde) = hidexp_make_node (loc, hse, HDErefarg (refval, freeknd, hde)) // end of [hidexp_refarg] (* ****** ****** *) implement hidexp_selvar (loc, hse, d2v, hse_rt, hils) = hidexp_make_node (loc, hse, HDEselvar (d2v, hse_rt, hils)) // end of [hidexp_selvar] implement hidexp_selptr (loc, hse, hde, hse_rt, hils) = hidexp_make_node (loc, hse, HDEselptr (hde, hse_rt, hils)) // end of [hidexp_selptr] (* ****** ****** *) implement hidexp_assgn_var (loc, hse, d2v_l, hse_rt, hils, hde_r) = hidexp_make_node (loc, hse, HDEassgn_var (d2v_l, hse_rt, hils, hde_r)) // end of [hidexp_assgn_var] implement hidexp_assgn_ptr (loc, hse, hde_l, hse_rt, hils, hde_r) = hidexp_make_node (loc, hse, HDEassgn_ptr (hde_l, hse_rt, hils, hde_r)) // end of [hidexp_assgn_ptr] (* ****** ****** *) implement hidexp_xchng_var (loc, hse, d2v_l, hse_rt, hils, hde_r) = hidexp_make_node (loc, hse, HDExchng_var (d2v_l, hse_rt, hils, hde_r)) // end of [hidexp_xchng_var] implement hidexp_xchng_ptr (loc, hse, hde_l, hse_rt, hils, hde_r) = hidexp_make_node (loc, hse, HDExchng_ptr (hde_l, hse_rt, hils, hde_r)) // end of [hidexp_xchng_ptr] (* ****** ****** *) implement hidexp_arrpsz ( loc, hse, hse_elt, hdes_elt, asz ) = hidexp_make_node (loc, hse, HDEarrpsz (hse_elt, hdes_elt, asz)) // end of [hidexp_arrpsz] implement hidexp_arrinit ( loc, hse, hse_elt, hde_asz, hdes_elt, asz ) = hidexp_make_node (loc, hse, HDEarrinit (hse_elt, hde_asz, hdes_elt, asz)) // end of [hidexp_arrinit] (* ****** ****** *) implement hidexp_raise (loc, hse, hde_exn) = hidexp_make_node (loc, hse, HDEraise (hde_exn)) // end of [hidexp_raise] (* ****** ****** *) // implement hidexp_vcopyenv (loc, hse, d2v) = hidexp_make_node (loc, hse, HDEvar (d2v)) // (* ****** ****** *) // implement hidexp_tempenver (loc, hse, d2vs) = hidexp_make_node (loc, hse, HDEtempenver (d2vs)) // (* ****** ****** *) implement hidexp_lam ( loc, hse, knd , hips_arg, hde_body ) = hidexp_make_node (loc, hse, HDElam (knd, hips_arg, hde_body)) // end of [hidexp_lam] (* ****** ****** *) implement hidexp_fix (loc, hse, knd, f_d2v, hde_def) = hidexp_make_node (loc, hse, HDEfix (knd, f_d2v, hde_def)) // end of [hidexp_fix] (* ****** ****** *) // implement hidexp_delay (loc, hse, hde) = hidexp_make_node (loc, hse, HDEdelay (hde)) // end of [hidexp_delay] implement hidexp_ldelay (loc, hse, _eval, _free) = hidexp_make_node (loc, hse, HDEldelay (_eval, _free)) // end of [hidexp_ldelay] // implement hidexp_lazyeval (loc, hse, lin, hde) = hidexp_make_node (loc, hse, HDElazyeval (lin, hde)) // end of [hidexp_lazyeval] // (* ****** ****** *) implement hidexp_loop (loc, hse, init, test, post, body) = hidexp_make_node (loc, hse, HDEloop (init, test, post, body)) // end of [hidexp_loop] implement hidexp_loopexn (loc, hse, knd) = hidexp_make_node (loc, hse, HDEloopexn (knd)) // end of [hidexp_loopexn] (* ****** ****** *) implement hidexp_trywith (loc, hse, hde, hicls) = hidexp_make_node (loc, hse, HDEtrywith (hde, hicls)) // end of [hidexp_trywith] (* ****** ****** *) implement hidexp_errexp (loc, hse) = hidexp_make_node (loc, hse, HDEerrexp ()) // end of [hidexp_errexp] (* ****** ****** *) implement hilab_lab (loc, lab) = '{ hilab_loc= loc, hilab_node = HILlab (lab) } implement hilab_ind (loc, ind) = '{ hilab_loc= loc, hilab_node = HILind (ind) } (* ****** ****** *) implement higmat_make (loc, ghde, ghip) = '{ higmat_loc= loc , higmat_exp= ghde , higmat_pat= ghip } // end of [higmat_make] implement hiclau_make (loc, hips, gua, seq, neg, body) = '{ hiclau_loc= loc , hiclau_pat= hips , hiclau_gua= gua , hiclau_seq= seq , hiclau_neg= neg , hiclau_body= body } // end of [hiclau_make] (* ****** ****** *) implement hifundec_make ( loc, d2v, s2vs, def ) = '{ hifundec_loc= loc , hifundec_var= d2v , hifundec_imparg= s2vs , hifundec_def= def , hifundec_hidecl= None () , hifundec_funlab= None () } // end of [hifundec_make] (* ****** ****** *) local staload UN = "prelude/SATS/unsafe.sats" in (* in of [local] *) implement hifundec_get_hideclopt (hfd) = $UN.cast{hideclopt}(hfd.hifundec_hidecl) // end of [hifundec_get_hideclopt] implement hifundeclst_set_hideclopt (hfds, opt) = let // fun set ( hfd: hifundec, opt: hideclopt ) : void = $UN.ptrset (hifundec_getref_hideclopt (hfd), opt) // fun auxlst ( hfds: hifundeclst, opt: hideclopt ) : void = let in // case+ hfds of | list_cons (hfd, hfds) => let val () = set (hfd, opt) in auxlst (hfds, opt) end // end of [auxlst] | list_nil () => () // end // end of [auxlst] // in auxlst (hfds, opt) end // end of [hifundeclst_set_hideclopt] end // end of [local] (* ****** ****** *) implement hivaldec_make (loc, pat, def) = '{ hivaldec_loc= loc , hivaldec_pat= pat , hivaldec_def= def } // end of [hivaldec_make] implement hivardec_make ( loc, knd , d2v, d2vw, type, init ) = '{ hivardec_loc= loc , hivardec_knd= knd , hivardec_dvar_ptr= d2v , hivardec_dvar_view= d2vw , hivardec_type= type , hivardec_init= init } // end of [hivardec_make] (* ****** ****** *) implement hiimpdec_make ( loc, knd, d2c, imparg, tmparg, def ) = '{ hiimpdec_loc= loc , hiimpdec_knd= knd , hiimpdec_cst= d2c , hiimpdec_imparg= imparg , hiimpdec_tmparg= tmparg , hiimpdec_def= def , hiimpdec_funlab= None () , hiimpdec_instrlst= None () } // end of [hiimpdec_make] (* ****** ****** *) implement hidecl_make_node (loc, node) = '{ hidecl_loc= loc, hidecl_node= node } // end of [hidecl_make_node] implement hidecl_none (loc) = hidecl_make_node (loc, HIDnone ()) // end of [hidecl_none] implement hidecl_list (loc, hids) = hidecl_make_node (loc, HIDlist (hids)) // end of [hidecl_list] (* ****** ****** *) implement hidecl_saspdec (loc, d2c) = hidecl_make_node (loc, HIDsaspdec (d2c)) // end of [hidecl_saspdec] (* ****** ****** *) implement hidecl_extype (loc, name, hse_def) = hidecl_make_node (loc, HIDextype (name, hse_def)) // end of [hidecl_extype] implement hidecl_extvar (loc, name, hde_def) = hidecl_make_node (loc, HIDextvar (name, hde_def)) // end of [hidecl_extvar] implement hidecl_extcode (loc, knd, pos, code) = hidecl_make_node (loc, HIDextcode (knd, pos, code)) // end of [hidecl_extcode] (* ****** ****** *) implement hidecl_datdecs (loc, knd, s2cs) = hidecl_make_node (loc, HIDdatdecs (knd, s2cs)) // end of [hidecl_datdecs] implement hidecl_exndecs (loc, d2cs) = hidecl_make_node (loc, HIDexndecs (d2cs)) // end of [hidecl_exndecs] (* ****** ****** *) implement hidecl_dcstdecs (loc, dck, d2cs) = hidecl_make_node (loc, HIDdcstdecs (dck, d2cs)) // end of [hidecl_dcstdecs] (* ****** ****** *) implement hidecl_impdec (loc, knd, himp) = hidecl_make_node (loc, HIDimpdec (knd, himp)) // end of [hidecl_impdec] (* ****** ****** *) implement hidecl_fundecs (loc, knd, decarg, hfds) = hidecl_make_node (loc, HIDfundecs (knd, decarg, hfds)) // end of [hidecl_fundecs] (* ****** ****** *) implement hidecl_valdecs (loc, knd, hvds) = hidecl_make_node (loc, HIDvaldecs (knd, hvds)) // end of [hidecl_valdecs] implement hidecl_valdecs_rec (loc, knd, hvds) = hidecl_make_node (loc, HIDvaldecs_rec (knd, hvds)) // end of [hidecl_valdecs_rec] (* ****** ****** *) implement hidecl_vardecs (loc, hvds) = hidecl_make_node (loc, HIDvardecs (hvds)) // end of [hidecl_vardecs] (* ****** ****** *) implement hidecl_include (loc, knd, hids) = hidecl_make_node (loc, HIDinclude (knd, hids)) // end of [hidecl_include] (* ****** ****** *) implement hidecl_staload ( loc, idopt, fname, flag, loaded, fenv ) = hidecl_make_node (loc, HIDstaload (idopt, fname, flag, loaded, fenv)) // end of [hidecl_staload] implement hidecl_staloadloc (loc, pfil, nspace, hids) = hidecl_make_node (loc, HIDstaloadloc (pfil, nspace, hids)) // end of [hidecl_staloadloc] (* ****** ****** *) implement hidecl_dynload (loc, fil) = hidecl_make_node (loc, HIDdynload (fil)) // end of [hidecl_dynload] (* ****** ****** *) implement hidecl_local (loc, head, body) = hidecl_make_node (loc, HIDlocal (head, body)) // end of [hidecl_local] (* ****** ****** *) local staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" // staload TRENV2 = "./pats_trans2_env.sats" in (* in of [local] *) implement filenv_get_tmpcstimpmapopt (fenv) = let val p = $TRENV2.filenv_getref_tmpcstimpmap (fenv) in $UN.ptrget (p) end // end of [filenv_get_tmpcstimpmapopt] implement filenv_get_tmpvardecmapopt (fenv) = let val p = $TRENV2.filenv_getref_tmpvardecmap (fenv) in $UN.ptrget (p) end // end of [filenv_get_tmpvardecmapopt] end // end of [local] (* ****** ****** *) implement tmpcstimpmap_find (map, d2c) = let val opt = $D2E.d2cstmap_search (map, d2c) in // case+ opt of | ~Some_vt (imps) => imps | ~None_vt () => list_nil () // end // end of [tmpcstimpmap_find] implement tmpcstimpmap_insert (map, imp) = let val d2c = imp.hiimpdec_cst val imps = tmpcstimpmap_find (map, d2c) val _(*found*) = $D2E.d2cstmap_insert (map, d2c, list_cons (imp, imps)) in // nothing end // end of [tmpcstimpmap_insert] (* ****** ****** *) implement tmpvardecmap_find (map, d2v) = $D2E.d2varmap_search (map, d2v) // end of [tmpvardecmap_find] implement tmpvardecmap_insert (map, hfd) = let val d2v = hfd.hifundec_var val _(*found*) = $D2E.d2varmap_insert (map, d2v, hfd) in // nothing end // end of [tmpvardecmap_insert] implement tmpvardecmap_inserts (map, hfds) = let in // case+ hfds of | list_cons (hfd, hfds) => let val () = tmpvardecmap_insert (map, hfd) in tmpvardecmap_inserts (map, hfds) end // end of [list_cons] | list_nil () => () // end // end of [tmpvardecmap_inserts] (* ****** ****** *) extern typedef "hipat_t" = hipat extern typedef "hifundec_t" = hifundec extern typedef "hiimpdec_t" = hiimpdec %{$ ats_void_type patsopt_hipat_set_asvar ( ats_ptr_type hip, ats_ptr_type opt ) { ((hipat_t)hip)->atslab_hipat_asvar = opt ; return ; } // end of [patsopt_hipat_set_asvar] ats_ptr_type patsopt_hifundec_getref_hideclopt (ats_ptr_type fundec) { return &((hifundec_t)fundec)->atslab_hifundec_hidecl ; } // end of [patsopt_hifundec_getref_hideclopt] ats_ptr_type patsopt_hifundec_getref_funlabopt (ats_ptr_type fundec) { return &((hifundec_t)fundec)->atslab_hifundec_funlab ; } // end of [patsopt_hifundec_getref_funlabopt] ats_ptr_type patsopt_hiimpdec_getref_funlabopt (ats_ptr_type impdec) { return &((hiimpdec_t)impdec)->atslab_hiimpdec_funlab ; } // end of [patsopt_hiimpdec_getref_funlabopt] ats_ptr_type patsopt_hiimpdec_getref_instrlstopt (ats_ptr_type impdec) { return &((hiimpdec_t)impdec)->atslab_hiimpdec_instrlst ; } // end of [patsopt_hiimpdec_getref_instrlstopt] %} // end of [%{$] (* ****** ****** *) (* end of [pats_hidynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_appenv.hats0000664000175000017500000005051412655455557020404 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: // Hongwei Xi // Authoremail: // gmhwxiATgmailDOTcom // Start Time: December, 2014 // (* ****** ****** *) // // HX-2014-12-09: // This one implements a standard [app] function over the level-2 syntax tree // Note that [app] is often referred to as [foreach] // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" // (* ****** ****** *) // extern fun{} d2cstlst_app : synent_app (d2cstlst) // extern fun{} d2varlst_app : synent_app (d2varlst) extern fun{} d2varopt_app : synent_app (d2varopt) // (* ****** ****** *) // extern fun{} d2itm_app : synent_app (d2itm) extern fun{} d2itmlst_app : synent_app (d2itmlst) extern fun{} d2itmopt_app : synent_app (d2itmopt) // extern fun{} d2pitm_app : synent_app (d2pitm) extern fun{} d2pitmlst_app : synent_app (d2pitmlst) // (* ****** ****** *) extern fun{} d2atdecs_app : synent_app (s2cstlst) (* ****** ****** *) // implement {}(*tmp*) d2cstlst_app (xs, env) = synentlst_app (xs, env, d2cst_app) // (* ****** ****** *) // implement {}(*tmp*) d2varlst_app (xs, env) = synentlst_app (xs, env, d2var_app) // (* ****** ****** *) implement {}(*tmp*) d2varopt_app (opt, env) = ( case+ opt of | Some (d2v) => d2var_app (d2v, env) | None () => () ) (* end of [d2varopt_app] *) (* ****** ****** *) implement {}(*tmp*) d2itm_app (d2i, env) = let in // case d2i of | D2ITMcst (d2c) => d2cst_app (d2c, env) | D2ITMvar (d2v) => d2var_app (d2v, env) | D2ITMcon (d2cs) => d2conlst_app (d2cs, env) | D2ITMe1xp (e1xp) => () | D2ITMsymdef (sym, d2pis) => d2pitmlst_app (d2pis, env) | D2ITMmacdef (d2m) => () | D2ITMmacvar (d2v) => d2var_app (d2v, env) // end // end of [d2itm_app] (* ****** ****** *) // implement {}(*tmp*) d2itmlst_app (xs, env) = synentlst_app (xs, env, d2itm_app) // (* ****** ****** *) implement {}(*tmp*) d2itmopt_app (opt, env) = ( case+ opt of | Some (x) => d2itm_app (x, env) | None () => () ) (* end of [d2itmopt_app] *) (* ****** ****** *) implement {}(*tmp*) d2pitm_app (d2pi, env) = let // val+D2PITM(pval, d2i) = d2pi in d2itm_app (d2i, env) // end // end of [d2pitm_app] (* ****** ****** *) // implement {}(*tmp*) d2pitmlst_app (xs, env) = synentlst_app (xs, env, d2pitm_app) // (* ****** ****** *) implement {}(*tmp*) d2atdecs_app (s2cs, env) = let // fun auxlst_dcon ( d2cs: d2conlst, env: !appenv ) : void = ( case+ d2cs of | list_nil () => () | list_cons (d2c, d2cs) => let val () = d2con_app (d2c, env) val s2e = d2con_get_type (d2c) val () = s2exp_app (s2e, env) in auxlst_dcon (d2cs, env) end // end of [list_cons] ) (* end of [auxlst_dcon] *) // fun auxlst_scst ( s2cs: s2cstlst, env: !appenv ) : void = ( case+ s2cs of | list_nil () => () | list_cons (s2c, s2cs) => let val opt = s2cst_get_dconlst(s2c) val ((*void*)) = ( case+ opt of | None () => () | Some (d2cs) => auxlst_dcon (d2cs, env) ) (* end of [val] *) in auxlst_scst (s2cs, env) end // end of [list_cons] ) (* end of [auxlst_scst] *) // val () = s2cstlst_app (s2cs, env) // in auxlst_scst (s2cs, env) end // end of [d2atdecs_app] (* ****** ****** *) extern fun{} sp2at_app : synent_app (sp2at) (* ****** ****** *) extern fun{} s2exparg_app : synent_app (s2exparg) extern fun{} s2exparglst_app : synent_app (s2exparglst) (* ****** ****** *) extern fun{} t2mpmarg_app : synent_app (t2mpmarg) extern fun{} t2mpmarglst_app : synent_app (t2mpmarglst) (* ****** ****** *) // extern fun{} p2at_app : synent_app (p2at) extern fun{} p2atlst_app : synent_app (p2atlst) extern fun{} labp2atlst_app : synent_app (labp2atlst) // extern fun{} p2atopt_app : synent_app (p2atopt) // (* ****** ****** *) // extern fun{} d2exp_app : synent_app (d2exp) extern fun{} d2explst_app : synent_app (d2explst) extern fun{} labd2explst_app : synent_app (labd2explst) // extern fun{} d2expopt_app : synent_app (d2expopt) // (* ****** ****** *) extern fun{} d2lab_app : synent_app (d2lab) extern fun{} d2lablst_app : synent_app (d2lablst) (* ****** ****** *) extern fun{} d2exparg_app : synent_app (d2exparg) extern fun{} d2exparglst_app : synent_app (d2exparglst) (* ****** ****** *) // extern fun{} gm2at_app : synent_app (gm2at) extern fun{} gm2atlst_app : synent_app (gm2atlst) // (* ****** ****** *) // extern fun{} c2lau_app : synent_app (c2lau) extern fun{} c2laulst_app : synent_app (c2laulst) // extern fun{} sc2lau_app : synent_app (sc2lau) extern fun{} sc2laulst_app : synent_app (sc2laulst) // (* ****** ****** *) // extern fun{} d2ecl_app : synent_app (d2ecl) extern fun{} d2eclist_app : synent_app (d2eclist) // (* ****** ****** *) extern fun{} i2mpdec_app : synent_app (i2mpdec) (* ****** ****** *) // extern fun{} f2undec_app : synent_app (f2undec) extern fun{} f2undeclst_app : synent_app (f2undeclst) // extern fun{} v2aldec_app : synent_app (v2aldec) extern fun{} v2aldeclst_app : synent_app (v2aldeclst) // (* ****** ****** *) // extern fun{} v2ardec_app : synent_app (v2ardec) extern fun{} v2ardeclst_app : synent_app (v2ardeclst) // extern fun{} prv2ardec_app : synent_app (prv2ardec) extern fun{} prv2ardeclst_app : synent_app (prv2ardeclst) // (* ****** ****** *) implement {}(*tmp*) sp2at_app (sp2t, env) = let in // case+ sp2t.sp2at_node of | SP2Tcon (s2c, s2vs) => ( s2cst_app (s2c, env); s2varlst_app (s2vs, env) ) (* end of [SP2Tcon] *) | SP2Terr ((*void*)) => () // end // end of [sp2at_app] (* ****** ****** *) implement {}(*tmp*) s2exparg_app (s2a0, env) = let in // case+ s2a0.s2exparg_node of | S2EXPARGone () => () | S2EXPARGall () => () | S2EXPARGseq (s2es) => s2explst_app (s2es, env) // end // end of [s2exparg_app] (* ****** ****** *) // implement {}(*tmp*) s2exparglst_app (xs, env) = synentlst_app (xs, env, s2exparg_app) // (* ****** ****** *) // implement {}(*tmp*) t2mpmarg_app (t2ma, env) = s2explst_app (t2ma.t2mpmarg_arg, env) // implement {}(*tmp*) t2mpmarglst_app (xs, env) = synentlst_app (xs, env, t2mpmarg_app) // (* ****** ****** *) implement {}(*tmp*) p2at_app (p2t0, env) = let in // case+ p2t0.p2at_node of // | P2Tany () => () | P2Tvar (d2v) => d2var_app (d2v, env) // | P2Tcon ( knd, d2c, s2qs , s2e_con, npf, p2ts_arg ) => let val () = d2con_app (d2c, env) val () = s2qualst_app (s2qs, env) val () = s2exp_app (s2e_con, env) in p2atlst_app (p2ts_arg, env) end // end of [P2Tcon] // | P2Tint _ => () | P2Tintrep _ => () // | P2Tbool _ => () | P2Tchar _ => () | P2Tfloat _ => () | P2Tstring _ => () // | P2Ti0nt _ => () | P2Tf0loat _ => () // | P2Tempty () => () // | P2Tlst (lin, p2ts) => p2atlst_app (p2ts, env) | P2Trec (knd, npf, lp2ts) => labp2atlst_app (lp2ts, env) // | P2Trefas (d2v, p2t) => ( d2var_app (d2v, env); p2at_app (p2t, env) ) (* end of [P2Trefas] *) // | P2Texist (s2vs, p2t) => ( s2varlst_app (s2vs, env); p2at_app (p2t, env) ) (* end of [P2Texist] *) // | P2Tvbox (d2v) => d2var_app (d2v, env) // | P2Tann (p2t, s2e) => ( p2at_app (p2t, env); s2exp_app (s2e, env) ) // | P2Tlist (npf, p2ts) => p2atlst_app (p2ts, env) // | P2Terrpat () => () // end // end of [p2at_app] (* ****** ****** *) // implement {}(*tmp*) p2atlst_app (xs, env) = synentlst_app (xs, env, p2at_app) // (* ****** ****** *) implement {}(*tmp*) labp2atlst_app (lxs, env) = let in // case+ lxs of | list_cons (lx, lxs) => let val () = ( case+ lx of | LABP2ATnorm (l, x) => p2at_app (x, env) | LABP2ATomit (loc) => () ) : void // end of [val] in labp2atlst_app (lxs, env) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [labp2atlst_app] (* ****** ****** *) implement {}(*tmp*) p2atopt_app (opt, env) = ( case+ opt of | Some (x) => p2at_app (x, env) | None () => () ) (* end of [p2atopt_app] *) (* ****** ****** *) implement {}(*tmp*) d2exp_app (d2e0, env) = let in // case+ d2e0.d2exp_node of // | D2Ecst (d2c) => d2cst_app (d2c, env) | D2Evar (d2v) => d2var_app (d2v, env) // | D2Eint _ => () | D2Eintrep _ => () | D2Ebool _ => () | D2Echar _ => () | D2Efloat _ => () | D2Estring _ => () // | D2Ei0nt _ => () | D2Ec0har _ => () | D2Ef0loat _ => () | D2Es0tring _ => () // | D2Etop () => () | D2Etop2 (s2e) => s2exp_app (s2e, env) | D2Eempty () => () // | D2Ecstsp _ => () | D2Eliteral _ => () // | D2Eextval (s2e, name) => s2exp_app (s2e, env) // | D2Eextfcall (s2e_res, _fun, d2es_arg) => ( s2exp_app (s2e_res, env); d2explst_app (d2es_arg, env) ) (* end of [D2Eextfcall] *) | D2Eextmcall (s2e_res, d2e_obj, _mtd, d2es_arg) => ( s2exp_app (s2e_res, env); d2exp_app (d2e_obj, env); d2explst_app (d2es_arg, env) ) (* end of [D2Eextmcall] *) // | D2Econ ( d2c, loc1, s2as, npf, loc2, d2es_arg ) => ( d2con_app (d2c, env); s2exparglst_app (s2as, env); d2explst_app (d2es_arg, env) ) (* end of [D2Econ] *) // | D2Esym (d2s) => d2sym_app (d2s, env) // | D2Efoldat (s2as, d2e) => ( s2exparglst_app (s2as, env); d2exp_app (d2e, env) ) (* D2Efoldat *) | D2Efreeat (s2as, d2e) => ( s2exparglst_app (s2as, env); d2exp_app (d2e, env) ) (* D2Efreeat *) // | D2Etmpid (d2e_id, t2mas) => ( d2exp_app (d2e_id, env); t2mpmarglst_app (t2mas, env) ) (* end of [D2Etmpid] *) // | D2Elet (d2cs, d2e) => ( d2eclist_app (d2cs, env); d2exp_app (d2e, env) ) | D2Ewhere (d2e, d2cs) => ( d2eclist_app (d2cs, env); d2exp_app (d2e, env) ) // | D2Eapplst (d2e_fun, d2as) => ( d2exp_app (d2e_fun, env); d2exparglst_app (d2as, env) ) // | D2Eifhead (invres, _test, _then, _else) => ( d2exp_app (_test, env); d2exp_app (_then, env); d2expopt_app (_else, env); ) (* end of [D2Eifhead] *) | D2Esifhead (invres, _test, _then, _else) => ( s2exp_app (_test, env); d2exp_app (_then, env); d2exp_app (_else, env); ) (* end of [D2Esifhead] *) // | D2Ecasehead (knd, invres, d2es, c2ls) => ( d2explst_app (d2es, env); c2laulst_app (c2ls, env) ) (* end of [D2Ecaseof] *) | D2Escasehead (invres, s2e, sc2ls) => let val () = s2exp_app (s2e, env) in sc2laulst_app (sc2ls, env) end // end of [D2Escasehead] // | D2Esing (d2e) => d2exp_app (d2e, env) | D2Elist (npf, d2es) => d2explst_app (d2es, env) // | D2Elst (lin, opt, d2es) => ( s2expopt_app (opt, env); d2explst_app (d2es, env) ) (* end of [D2Elst] *) | D2Etup (knd, npf, d2es) => d2explst_app (d2es, env) | D2Erec (knd, npf, ld2es) => labd2explst_app (ld2es, env) | D2Eseq (d2es) => d2explst_app (d2es, env) // | D2Eselab (d2e, d2ls) => ( d2exp_app (d2e, env); d2lablst_app (d2ls, env) ) (* end of [D2Eselab] *) // | D2Eptrof (d2lval) => d2exp_app (d2lval, env) | D2Eviewat (d2lval) => d2exp_app (d2lval, env) // | D2Eann_type (d2e, s2e_ann) => ( d2exp_app (d2e, env); s2exp_app (s2e_ann, env) ) (* end of [D2Eapp_type] *) | D2Eann_seff (d2e, s2fe) => d2exp_app (d2e, env) | D2Eann_funclo (d2e, funclo) => d2exp_app (d2e, env) // | D2Ederef (d2e) => d2exp_app (d2e, env) | D2Eassgn (d2e_l, d2e_r) => ( d2exp_app (d2e_l, env); d2exp_app (d2e_r, env) ) (* end of [D2Eassgn] *) | D2Exchng (d2e_l, d2e_r) => ( d2exp_app (d2e_l, env); d2exp_app (d2e_r, env) ) (* end of [D2Exchng] *) // | D2Earrsub ( d2s, d2e, loc, d2es_ind ) => ( d2sym_app (d2s, env); d2exp_app (d2e, env); d2explst_app (d2es_ind, env) ) (* end of [D2Earrsub] *) | D2Earrpsz (opt, d2es_elt) => ( s2expopt_app (opt, env); d2explst_app (d2es_elt, env) ) (* end of [D2Earrpsz] *) | D2Earrinit (s2e, asz, d2es_ini) => ( s2exp_app (s2e, env); d2expopt_app (asz, env); d2explst_app (d2es_ini, env) ) (* end of [D2Earrinit] *) // | D2Eraise (d2e) => d2exp_app (d2e, env) // | D2Eeffmask (s2fe, d2e) => d2exp_app (d2e, env) // | D2Eshowtype (d2e) => d2exp_app (d2e, env) // | D2Evcopyenv (knd, d2e) => d2exp_app (d2e, env) // | D2Etempenver (d2vs) => d2varlst_app (d2vs, env) // | D2Eexist (s2a, d2e) => ( s2exparg_app (s2a, env); d2exp_app (d2e, env) ) (* end of [D2Eexist] *) // | D2Elam_dyn (lin, npf, p2ts, d2e) => ( p2atlst_app (p2ts, env); d2exp_app (d2e, env) ) (* end of [D2Elam_dyn] *) | D2Elaminit_dyn (lin, npf, p2ts, d2e) => ( p2atlst_app (p2ts, env); d2exp_app (d2e, env) ) (* end of [D2Elaminit_dyn] *) | D2Elam_met (ref, s2es_met, d2e) => ( d2varlst_app (!ref, env); s2explst_app (s2es_met, env); d2exp_app (d2e, env) ) (* end of [D2Elam_met] *) | D2Elam_sta (s2vs, s2ps_gua, d2e) => ( s2varlst_app (s2vs, env); s2explst_app (s2ps_gua, env); d2exp_app (d2e, env) ) (* end of [D2Elam_sta] *) // | D2Efix (knd, d2v_fix, d2e_body) => ( d2var_app (d2v_fix, env); d2exp_app (d2e_body, env) ) (* end of [D2Efix] *) // | D2Edelay (d2e) => d2exp_app (d2e, env) | D2Eldelay (d2e1, d2eopt2) => ( d2exp_app (d2e1, env); d2expopt_app (d2eopt2, env) ) (* end of [D2Eldelay] *) // | D2Efor ( loopinv , d2e_init, d2e_test, d2e_post, d2e_body ) => { val () = d2exp_app (d2e_init, env) val () = d2exp_app (d2e_test, env) val () = d2exp_app (d2e_post, env) val () = d2exp_app (d2e_body, env) } (* end of [D2Efor] *) | D2Ewhile (loopinv, d2e_test, d2e_body) => { val () = d2exp_app (d2e_test, env) val () = d2exp_app (d2e_body, env) } (* end of [D2Ewhile] *) // | D2Eloopexn (knd) => () // | D2Etrywith (invres, d2e, c2ls) => ( d2exp_app (d2e, env); c2laulst_app (c2ls, env) ) // | D2Esolverify(s2e) => () | D2Esolassert(d2e) => d2exp_app (d2e, env) // | D2Emac (d2mac) => () | D2Emacsyn (knd, d2e) => d2exp_app (d2e, env) | D2Emacfun (name, d2es) => d2explst_app (d2es, env) // | D2Eerrexp ((*void*)) => () // end // end of [d2exp_app] (* ****** ****** *) implement {}(*tmp*) d2explst_app (xs, env) = let in // case+ xs of | list_nil () => () | list_cons (x, xs) => ( d2exp_app(x, env); d2explst_app(xs, env) ) (* end of [list_cons] *) // end (* end of [d2explst_app] *) (* ****** ****** *) implement {}(*tmp*) labd2explst_app (lxs, env) = ( // case+ lxs of | list_nil () => () | list_cons (lx, lxs) => let val+$SYN.DL0ABELED(l, x) = lx in d2exp_app (x, env); labd2explst_app (lxs, env) end // end of [list_cons] // ) (* end of [labd2exp_app] *) (* ****** ****** *) implement {}(*tmp*) d2expopt_app (opt, env) = ( case+ opt of | Some (x) => d2exp_app (x, env) | None () => () ) (* end of [d2expopt_app] *) (* ****** ****** *) implement {}(*tmp*) d2lab_app (d2l0, env) = let in // case+ d2l0.d2lab_node of | D2LABlab (lab) => () | D2LABind (d2es) => d2explst_app (d2es, env) // end // end of [d2lab_app] (* ****** ****** *) // implement {}(*tmp*) d2lablst_app (xs, env) = synentlst_app (xs, env, d2lab_app) // (* ****** ****** *) implement {}(*tmp*) d2exparg_app (d2a0, env) = let in // case+ d2a0 of | D2EXPARGsta (loc, s2as) => s2exparglst_app (s2as, env) | D2EXPARGdyn (npf, loc, d2es) => d2explst_app (d2es, env) // end // end of [d2exparg_app] (* ****** ****** *) // implement {}(*tmp*) d2exparglst_app (xs, env) = synentlst_app (xs,env, d2exparg_app) // (* ****** ****** *) // implement {}(*tmp*) gm2at_app (gua, env) = { val () = d2exp_app (gua.gm2at_exp, env) val () = p2atopt_app (gua.gm2at_pat, env) } (* end of [gm2at] *) // implement {}(*tmp*) gm2atlst_app (xs, env) = synentlst_app (xs,env, gm2at_app) // (* ****** ****** *) // implement {}(*tmp*) c2lau_app (c2l, env) = { val () = p2atlst_app (c2l.c2lau_pat, env) val () = gm2atlst_app (c2l.c2lau_gua, env) val () = d2exp_app (c2l.c2lau_body, env) } (* end of [c2lau_app] *) // implement {}(*tmp*) c2laulst_app (xs, env) = synentlst_app (xs, env, c2lau_app) // (* ****** ****** *) // implement {}(*tmp*) sc2lau_app (sc2l, env) = { val () = sp2at_app (sc2l.sc2lau_pat, env) val () = d2exp_app (sc2l.sc2lau_body, env) } (* end of [sc2lau_app] *) // implement {}(*tmp*) sc2laulst_app (xs, env) = synentlst_app (xs, env, sc2lau_app) // (* ****** ****** *) implement {}(*tmp*) d2ecl_app (d2c0, env) = let in // case+ d2c0.d2ecl_node of // | D2Cnone () => () | D2Clist (d2cs) => d2eclist_app (d2cs, env) // | D2Csymintr (ids) => () | D2Csymelim (ids) => () // | D2Coverload (id, pval, opt) => d2itmopt_app (opt, env) // | D2Cstacsts (s2cs) => s2cstlst_app (s2cs, env) | D2Cstacons (knd, s2cs) => s2cstlst_app (s2cs, env) // (* | D2Csaspdec of s2aspdec (* for static assumption *) *) // | D2Cextype (name, s2e) => s2exp_app (s2e, env) | D2Cextvar (name, d2e) => d2exp_app (d2e, env) | D2Cextcode (knd, pos, code) => ((*void*)) // | D2Cdatdecs (int, s2cs) => d2atdecs_app (s2cs, env) | D2Cexndecs ( d2cs_exn ) => d2conlst_app (d2cs_exn, env) // | D2Cdcstdecs (staext, knd, d2cs) => d2cstlst_app (d2cs, env) // | D2Cimpdec (knd, impdec) => i2mpdec_app (impdec, env) // | D2Cfundecs (knd, s2qs, f2ds) => ( s2qualst_app (s2qs, env); f2undeclst_app (f2ds, env) ) (* end of [D2Cfundecs] *) // | D2Cvaldecs (knd, v2ds) => v2aldeclst_app (v2ds, env) | D2Cvaldecs_rec (knd, v2ds) => v2aldeclst_app (v2ds, env) // | D2Cvardecs (v2ds) => v2ardeclst_app (v2ds, env) | D2Cprvardecs (pv2ds) => prv2ardeclst_app (pv2ds, env) // | D2Cinclude _ => () // | D2Cstaload _ => () | D2Cstaloadloc _ => () | D2Cdynload _ => () // | D2Clocal (d2cs1, d2cs2) => ( d2eclist_app (d2cs1, env); d2eclist_app (d2cs2, env) ) (* end of [D2Clocal] *) // | D2Cerrdec ((*void*)) => () // | _ => () // end // end of [d2ecl_app] (* // // *) (* ****** ****** *) implement {}(*tmp*) d2eclist_app (xs, env) = let in // case+ xs of | list_nil () => () | list_cons (x, xs) => ( d2ecl_app(x, env); d2eclist_app(xs, env) ) (* end of [list_cons] *) // end (* end of [d2eclist_app] *) (* ****** ****** *) implement {}(*tmp*) i2mpdec_app (impdec, env) = { // val () = d2cst_app (impdec.i2mpdec_cst, env) val () = s2varlst_app (impdec.i2mpdec_imparg, env) val () = s2explstlst_app (impdec.i2mpdec_tmparg, env) val () = s2explstlst_app (impdec.i2mpdec_tmpgua, env) val () = d2exp_app (impdec.i2mpdec_def, env) // } // end of [i2mpdec_app] (* ****** ****** *) // implement {}(*tmp*) f2undec_app (f2d, env) = { // val () = d2var_app (f2d.f2undec_var, env) val () = d2exp_app (f2d.f2undec_def, env) val () = s2expopt_app (f2d.f2undec_ann, env) // } (* end of [f2undec_app] *) // implement {}(*tmp*) f2undeclst_app (xs, env) = synentlst_app (xs, env, f2undec_app) // (* ****** ****** *) // implement {}(*tmp*) v2aldec_app (v2d, env) = { // val () = p2at_app (v2d.v2aldec_pat, env) val () = d2exp_app (v2d.v2aldec_def, env) val () = s2expopt_app (v2d.v2aldec_ann, env) // } (* end of [v2aldec_app] *) // implement {}(*tmp*) v2aldeclst_app (xs, env) = synentlst_app (xs, env, v2aldec_app) // (* ****** ****** *) // implement {}(*tmp*) v2ardec_app (v2d, env) = { // val () = s2var_app (v2d.v2ardec_svar, env) val () = d2var_app (v2d.v2ardec_dvar, env) val () = d2varopt_app (v2d.v2ardec_pfat, env) val () = s2expopt_app (v2d.v2ardec_type, env) val () = d2expopt_app (v2d.v2ardec_init, env) val () = d2varopt_app (v2d.v2ardec_dvaropt, env) // } (* end of [v2ardec_app] *) // implement {}(*tmp*) v2ardeclst_app (xs, env) = synentlst_app (xs, env, v2ardec_app) // (* ****** ****** *) // implement {}(*tmp*) prv2ardec_app (pv2d, env) = { // val () = d2var_app (pv2d.prv2ardec_dvar, env) val () = s2expopt_app (pv2d.prv2ardec_type, env) val () = d2expopt_app (pv2d.prv2ardec_init, env) // } (* end of [prv2ardec_val] *) // implement {}(*tmp*) prv2ardeclst_app (xs, env) = synentlst_app (xs, env, prv2ardec_app) // (* ****** ****** *) (* end of [pats_dynexp2_appenv.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_sort.dats0000664000175000017500000004575112655455557020102 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) fun prerr_interror (): void = prerr "INTERROR(pats_staexp2_sort)" (* ****** ****** *) typedef s2rtdat_struct = @{ s2rtdat_sym= symbol // name , s2rtdat_sconlst= s2cstlst , s2rtdat_stamp= stamp // unique stamp } (* end of [s2rtdat_struct] *) (* ****** ****** *) local assume s2rtdat_type = ref (s2rtdat_struct) in // in of [local] implement s2rtdat_make (id) = let // val stamp = $STMP.s2rtdat_stamp_make () val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim (pfgc) // val () = p->s2rtdat_sym := id val () = p->s2rtdat_sconlst := list_nil () val () = p->s2rtdat_stamp := stamp // in // in of [let] ref_make_view_ptr (pfat | p) end // end of [s2rtdat_make] implement s2rtdat_get_sym (s2td) = let val (vbox pf | p) = ref_get_view_ptr(s2td) in p->s2rtdat_sym end // end of [s2rtdat_get_sym] implement s2rtdat_get_sconlst (s2td) = let val (vbox pf | p) = ref_get_view_ptr(s2td) in p->s2rtdat_sconlst end // end of [s2rtdat_get_sconlst] implement s2rtdat_set_sconlst (s2td, s2cs) = let val (vbox pf | p) = ref_get_view_ptr(s2td) in p->s2rtdat_sconlst := s2cs end // end of [s2rtdat_set_sconlst] implement s2rtdat_get_stamp (s2td) = let val (vbox pf | p) = ref_get_view_ptr(s2td) in p->s2rtdat_stamp end // end of [s2rtdat_get_stamp] end // end of [local] (* ****** ****** *) // implement eq_s2rtdat_s2rtdat ( x1, x2 ) = (compare_s2rtdat_s2rtdat (x1, x2) = 0) // implement compare_s2rtdat_s2rtdat ( x1, x2 ) = $effmask_all ( compare(s2rtdat_get_stamp(x1), s2rtdat_get_stamp(x2)) ) (* end of [compare_s2rtdat_s2rtdat] *) // (* ****** ****** *) local // val s2tb_int: s2rtbas = S2RTBASpre ($SYM.symbol_INT) val s2tb_bool: s2rtbas = S2RTBASpre ($SYM.symbol_BOOL) val s2tb_addr: s2rtbas = S2RTBASpre ($SYM.symbol_ADDR) // (* val s2tb_char: s2rtbas = S2RTBASpre ($SYM.symbol_CHAR) *) // val s2tb_float: s2rtbas = S2RTBASpre ($SYM.symbol_FLOAT) val s2tb_string: s2rtbas = S2RTBASpre ($SYM.symbol_STRING) // val s2tb_cls : s2rtbas = S2RTBASpre ($SYM.symbol_CLS) // for nominal classes // val s2tb_eff : s2rtbas = S2RTBASpre ($SYM.symbol_EFF) // for sets of effects // val s2tb_tkind : s2rtbas = S2RTBASpre ($SYM.symbol_TKIND) // for template arguments // in // in of [local] // implement s2rt_int = S2RTbas s2tb_int implement s2rt_bool = S2RTbas s2tb_bool implement s2rt_addr = S2RTbas s2tb_addr // (* implement s2rt_char = S2RTbas s2tb_char *) // implement s2rt_float = S2RTbas s2tb_float implement s2rt_string = S2RTbas s2tb_string // implement s2rt_cls = S2RTbas s2tb_cls // implement s2rt_eff = S2RTbas s2tb_eff // implement s2rt_tkind = S2RTbas s2tb_tkind // end // end of [local] (* ****** ****** *) local // #include "./pats_basics.hats" // val s2tb_prop: s2rtbas = S2RTBASimp (PROP_int, $SYM.symbol_PROP) val s2tb_prop_pos: s2rtbas = S2RTBASimp (PROP_pos_int, $SYM.symbol_PROP) val s2tb_prop_neg: s2rtbas = S2RTBASimp (PROP_neg_int, $SYM.symbol_PROP) // val s2tb_type: s2rtbas = S2RTBASimp (TYPE_int, $SYM.symbol_TYPE) val s2tb_type_pos: s2rtbas = S2RTBASimp (TYPE_pos_int, $SYM.symbol_TYPE) val s2tb_type_neg: s2rtbas = S2RTBASimp (TYPE_neg_int, $SYM.symbol_TYPE) // val s2tb_t0ype: s2rtbas = S2RTBASimp (T0YPE_int, $SYM.symbol_T0YPE) val s2tb_t0ype_pos: s2rtbas = S2RTBASimp (T0YPE_pos_int, $SYM.symbol_T0YPE) val s2tb_t0ype_neg: s2rtbas = S2RTBASimp (T0YPE_neg_int, $SYM.symbol_T0YPE) // val s2tb_view: s2rtbas = S2RTBASimp (VIEW_int, $SYM.symbol_VIEW) val s2tb_view_pos: s2rtbas = S2RTBASimp (VIEW_pos_int, $SYM.symbol_VIEW) val s2tb_view_neg: s2rtbas = S2RTBASimp (VIEW_neg_int, $SYM.symbol_VIEW) // val s2tb_vtype: s2rtbas = S2RTBASimp (VIEWTYPE_int, $SYM.symbol_VIEWTYPE) val s2tb_vtype_pos: s2rtbas = S2RTBASimp (VIEWTYPE_pos_int, $SYM.symbol_VIEWTYPE) val s2tb_vtype_neg: s2rtbas = S2RTBASimp (VIEWTYPE_neg_int, $SYM.symbol_VIEWTYPE) // val s2tb_vt0ype: s2rtbas = S2RTBASimp (VIEWT0YPE_int, $SYM.symbol_VIEWT0YPE) val s2tb_vt0ype_pos: s2rtbas = S2RTBASimp (VIEWT0YPE_pos_int, $SYM.symbol_VIEWT0YPE) val s2tb_vt0ype_neg: s2rtbas = S2RTBASimp (VIEWT0YPE_neg_int, $SYM.symbol_VIEWT0YPE) // val s2tb_types: s2rtbas = S2RTBASimp (T0YPE_int, $SYM.symbol_TYPES) // in // in of [local] implement s2rt_prop = S2RTbas (s2tb_prop) implement s2rt_prop_pos = S2RTbas (s2tb_prop_pos) implement s2rt_prop_neg = S2RTbas (s2tb_prop_neg) implement s2rt_type = S2RTbas (s2tb_type) implement s2rt_type_pos = S2RTbas (s2tb_type_pos) implement s2rt_type_neg = S2RTbas (s2tb_type_neg) implement s2rt_t0ype = S2RTbas (s2tb_t0ype) implement s2rt_t0ype_pos = S2RTbas (s2tb_t0ype_pos) implement s2rt_t0ype_neg = S2RTbas (s2tb_t0ype_neg) implement s2rt_view = S2RTbas (s2tb_view) implement s2rt_view_pos = S2RTbas (s2tb_view_pos) implement s2rt_view_neg = S2RTbas (s2tb_view_neg) implement s2rt_vtype = S2RTbas (s2tb_vtype) implement s2rt_vtype_pos = S2RTbas (s2tb_vtype_pos) implement s2rt_vtype_neg = S2RTbas (s2tb_vtype_neg) implement s2rt_vt0ype = S2RTbas (s2tb_vt0ype) implement s2rt_vt0ype_pos = S2RTbas (s2tb_vt0ype_pos) implement s2rt_vt0ype_neg = S2RTbas (s2tb_vt0ype_neg) implement s2rt_types = S2RTbas s2tb_types implement s2rt_impred (knd) = let in // case+ knd of // | PROP_int => s2rt_prop | TYPE_int => s2rt_type | T0YPE_int => s2rt_t0ype | VIEW_int => s2rt_view | VIEWTYPE_int => s2rt_vtype | VIEWT0YPE_int => s2rt_vt0ype // | PROP_pos_int => s2rt_prop_pos | PROP_neg_int => s2rt_prop_neg | TYPE_pos_int => s2rt_type_pos | TYPE_neg_int => s2rt_type_neg | T0YPE_pos_int => s2rt_t0ype_pos | T0YPE_neg_int => s2rt_t0ype_neg | VIEW_pos_int => s2rt_view_pos | VIEW_neg_int => s2rt_view_neg | VIEWTYPE_pos_int => s2rt_vtype_pos | VIEWTYPE_neg_int => s2rt_vtype_neg | VIEWT0YPE_pos_int => s2rt_vt0ype_pos | VIEWT0YPE_neg_int => s2rt_vt0ype_neg // | _ => let // val () = prerr_interror () val () = prerr ": s2rt_impred: knd = " val () = prerr_int (knd) val () = prerr_newline () val () = assertloc (false) in s2rt_t0ype // HX: this should be deadcode! end // end of [_] // end // end of [s2rt_impred] end // end of [local] (* ****** ****** *) implement s2rt_is_int (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => sym = $SYM.symbol_INT | _ => false ) // end of [S2RTbas] | _ => false ) // end of [s2rt_is_int] implement s2rt_is_addr (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => sym = $SYM.symbol_ADDR | _ => false ) // end of [S2RTbas] | _ => false ) // end of [s2rt_is_addr] implement s2rt_is_bool (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => sym = $SYM.symbol_BOOL | _ => false ) // end of [S2RTbas] | _ => false ) // end of [s2rt_is_bool] (* ****** ****** *) (* implement s2rt_is_char (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => sym = $SYM.symbol_CHAR | _ => false ) // end of [S2RTbas] | _ => false ) // end of [s2rt_is_char] *) (* ****** ****** *) implement s2rt_is_float (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => sym = $SYM.symbol_FLOAT | _ => false ) // end of [S2RTbas] | _ => false ) // end of [s2rt_is_float] (* ****** ****** *) implement s2rt_is_dat (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of S2RTBASdef _ => true | _ => false ) // end of [S2RTbas] | _ => false // end of [S2RTbas] ) // end of [s2rt_is_dat] (* ****** ****** *) implement s2rt_is_fun(s2t) = ( case+ s2t of S2RTfun _ => true | _ => false ) // end of [s2rt_is_fun] implement s2rt_is_prf(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => test_prfkind (knd) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_prf] (* ****** ****** *) implement s2rt_is_lin(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => test_linkind(knd) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_lin] implement s2rt_is_nonlin(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => not(test_linkind(knd)) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_nonlin] (* ****** ****** *) implement s2rt_is_flat(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => test_fltkind (knd) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_flat] implement s2rt_is_boxed(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => test_boxkind (knd) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_boxed] (* ****** ****** *) implement s2rt_is_prgm(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (knd, _) => test_prgmkind (knd) | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_prgm] (* ****** ****** *) implement s2rt_is_impred(s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of S2RTBASimp _ => true | _ => false ) // end of [S2RTbas] | _ => false // end of [_] ) // end of [s2rt_is_impred] (* ****** ****** *) implement s2rt_is_tkind (s2t) = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASpre (sym) => ( $SYM.eq_symbol_symbol (sym, $SYM.symbol_TKIND) ) | _ => false ) // end of [S2ETbas] | _ => false // end of [_] ) // end of [s2rt_is_tkind] (* ****** ****** *) local fun s2rt_test_fun ( s2t: s2rt, f: s2rt -> bool ): bool = ( case+ s2t of | S2RTfun (_, s2t) => s2rt_test_fun (s2t, f) | _ => f (s2t) ) // end of [s2rt_test_fun] in (* in-of-local *) implement s2rt_is_lin_fun (s2t) = s2rt_test_fun (s2t, s2rt_is_lin) // end of [s2rt_is_lin_fun] implement s2rt_is_boxed_fun (s2t) = s2rt_test_fun (s2t, s2rt_is_boxed) // end of [s2rt_is_boxed_fun] implement s2rt_is_tkind_fun (s2t) = s2rt_test_fun (s2t, s2rt_is_tkind) // end of [s2rt_is_tkind_fun] end // end of [local] (* ****** ****** *) implement s2rt_get_pol (s2t) = case+ s2t of | S2RTbas (s2tb) => (case+ s2tb of | S2RTBASimp (knd, _) => test_polkind (knd) | _ => 0 ) // end of [S2RTbas] | _ => 0 // polarity is neutral // end of [s2rt_get_pol] (* ****** ****** *) abstype s2rtnul (l:addr) typedef s2rtnul = [l:agez] s2rtnul (l) (* ****** ****** *) extern castfn s2rtnul_none (x: ptr null): s2rtnul (null) extern castfn s2rtnul_some (x: s2rt): [l:agz] s2rtnul (l) extern castfn s2rtnul_unsome {l:agz} (x: s2rtnul l): s2rt extern fun s2rtnul_is_null {l:addr} (x: s2rtnul (l)): bool (l==null) = "atspre_ptr_is_null" // end of [s2rtnul_is_null] extern fun s2rtnul_isnot_null {l:addr} (x: s2rtnul (l)): bool (l > null) = "atspre_ptr_isnot_null" // end of [s2rtnul_isnot_null] (* ****** ****** *) local // assume s2rtVar = ref (s2rtnul) // in (* in-of-local *) implement eq_s2rtVar_s2rtVar (x1, x2) = (p1 = p2) where { val p1 = ref_get_ptr (x1) and p2 = ref_get_ptr (x2) } // end of [eq_s2rtVar_s2rtVar] implement compare_s2rtVar_s2rtVar (x1, x2) = compare_ptr_ptr (p1, p2) where { val p1 = ref_get_ptr (x1) and p2 = ref_get_ptr (x2) } // end of [compare_s2rtVar_s2rtVar] (* ****** ****** *) implement s2rtVar_make (loc) = let val nul = s2rtnul_none (null) in ref_make_elt (nul) end // end of [s2rtVar_make] (* ****** ****** *) implement s2rt_delink (s2t0) = let // fun aux ( s2t0: s2rt ) : s2rt = ( case+ s2t0 of | S2RTVar ref => let val s2t = !ref val test = s2rtnul_isnot_null(s2t) // end of [val] in if test then let val s2t = s2rtnul_unsome(s2t) val s2t = aux (s2t) val ((*void*)) = !ref := s2rtnul_some(s2t) in s2t end // end of [then] else s2t0 // end of [else] // end of [if] end (* S2RTVar *) | _ (*non-S2RTVar*) => s2t0 ) (* end of [aux] *) // in aux (s2t0) end // end of [s2rt_delink] implement s2rt_delink_all (s2t0) = let // fun aux ( s2t0: s2rt, flag: &int ) : s2rt = ( case+ s2t0 of | S2RTfun (s2ts, s2t) => let val flag0 = flag val s2t = aux(s2t, flag) val s2ts = auxlst(s2ts, flag) in if flag > flag0 then S2RTfun (s2ts, s2t) else s2t0 // end of [if] end | S2RTtup(s2ts) => let val flag0 = flag val s2ts = auxlst (s2ts, flag) in if flag > flag0 then S2RTtup (s2ts) else s2t0 end | S2RTVar (ref) => let val s2t = !ref val isnotnull = s2rtnul_isnot_null (s2t) // end of [val] in if isnotnull then let val s2t = s2rtnul_unsome(s2t) val s2t = aux (s2t, flag) val ((*void*)) = !ref := s2rtnul_some(s2t) // end of [val] in flag := flag + 1; s2t end // end of [then] else s2t0 // end of [else] // end of [if] end (* S2RTVar *) | _ (*rest-of-s2rt*) => s2t0 ) (* end of [aux] *) // and auxlst ( s2ts0: s2rtlst, flag: &int ) : s2rtlst = ( // case+ s2ts0 of | list_nil ((*void*)) => list_nil() | list_cons (s2t, s2ts) => let val flag0 = flag val s2t = aux (s2t, flag) val s2ts = auxlst (s2ts, flag) in if flag > flag0 then list_cons(s2t, s2ts) else s2ts0 // end of [if] end // end of [list_cons] // ) (* end if [auxlst] *) // var flag: int = 0 // in aux (s2t0, flag) end // end of [s2rt_delink_all] (* ****** ****** *) implement s2rtVar_get_s2rt (s2tV) = let val s2t = !s2tV val isnot = s2rtnul_isnot_null(s2t) in // if isnot then s2rtnul_unsome(s2t) else S2RTerr() // end // end of [s2rtVar_set_s2rt] implement s2rtVar_set_s2rt (s2tV, s2t) = let val s2t = s2rtnul_some (s2t) in !s2tV := s2t end // end of [s2rtVar_set_s2rt] implement s2rtVar_occurcheck (s2tV, s2t0) = let // fun aux ( s2t0: s2rt ) : bool = ( // case+ s2t0 of // | S2RTbas _ => false // | S2RTfun (s2ts, s2t) => ( if auxlst (s2ts) then true else aux (s2t) ) (* end of [S2RTfun] *) // | S2RTtup (s2ts) => auxlst (s2ts) // | S2RTVar (s2tV1) => ( if s2tV = s2tV1 then true else let val s2t1 = !s2tV1 val isnot = s2rtnul_isnot_null(s2t1) in if isnot then aux (s2rtnul_unsome(s2t1)) else false // end of [if] end // end of [else] // end of [if] ) (* end of [S2RTVar] *) // | S2RTerr ((*void*)) => false // ) (* end of [aux] *) // and auxlst ( s2ts: s2rtlst ) : bool = ( // case+ s2ts of | list_nil () => false | list_cons (s2t, s2ts) => if aux (s2t) then true else auxlst (s2ts) // end of [list_cons] // ) (* end of [auxlst] *) // in aux (s2t0) end // end of [s2rtVar_occurcheck] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement s2rt_fun (_arg, _res) = S2RTfun (_arg, _res) implement s2rt_tup (s2ts) = S2RTtup (s2ts) // HX: tuple sort not yet supported implement s2rt_err () = S2RTerr () // HX: error indication (* ****** ****** *) // extern fun lte_s2rtbas_s2rtbas (s2tb1: s2rtbas, s2tb2: s2rtbas): bool // overload <= with lte_s2rtbas_s2rtbas // implement lte_s2rtbas_s2rtbas (s2tb1, s2tb2) = ( case+ (s2tb1, s2tb2) of // case+ | (S2RTBASpre id1, S2RTBASpre id2) => (id1 = id2) | (S2RTBASimp (knd1, id1), S2RTBASimp (knd2, id2)) => lte_impkind_impkind (knd1, knd2) | (S2RTBASdef s2td1, S2RTBASdef s2td2) => (s2td1 = s2td2) | (_, _) => false ) (* end of [lte_s2rtbas_s2rtbas] *) // (* ****** ****** *) // (* ** HX: knd=0/1: dry-run / real-run *) extern fun s2rt_ltmat (knd: int, s2t1: s2rt, s2t2: s2rt): bool extern fun s2rtlst_ltmat (knd: int, xs1: s2rtlst, xs2: s2rtlst): bool // implement s2rt_ltmat (knd, s2t1, s2t2) = let // fun auxVar ( V: s2rtVar, s2t: s2rt, knd: int ) : bool = if knd > 0 then let val test = s2rtVar_occurcheck (V, s2t) in if test then false else let val () = s2rtVar_set_s2rt (V, s2t) in true end (* end of [if] *) end else true // HX: a dry run always succeeds // end of [auxVar] // val s2t1 = s2rt_delink (s2t1) and s2t2 = s2rt_delink (s2t2) // in // case+ s2t1 of | S2RTbas (s2tb1) => (case+ s2t2 of | S2RTbas (s2tb2) => s2tb1 <= s2tb2 | _ => false ) | S2RTfun ( s2ts1, s2t1 ) => (case+ s2t2 of | S2RTfun (s2ts2, s2t2) => if s2rtlst_ltmat (knd, s2ts2, s2ts1) then s2rt_ltmat (knd, s2t1, s2t2) else false // end of [S2RTfun] | _ => false ) | S2RTtup (s2ts1) => (case+ s2t2 of | S2RTtup (s2ts2) => s2rtlst_ltmat (knd, s2ts1, s2ts2) | _ => false ) | S2RTVar (V1) => (case+ s2t2 of | S2RTVar (V2) when V1 = V2 => true | _ => auxVar (V1, s2t2, knd) ) // | S2RTerr ((*void*)) => false // end // end of [s2rt_ltmat] // (* ****** ****** *) implement s2rtlst_ltmat (knd, xs1, xs2) = ( case+ (xs1, xs2) of | (list_nil (), list_nil ()) => true | (list_cons (x1, xs1), list_cons (x2, xs2)) => ( if s2rt_ltmat (knd, x1, x2) then s2rtlst_ltmat (knd, xs1, xs2) else false ) | (_, _) => false ) (* end of [s2rtlst_ltmat] *) (* ****** ****** *) implement s2rt_ltmat0(x1, x2) = s2rt_ltmat(0, x1, x2) implement s2rt_ltmat1(x1, x2) = s2rt_ltmat(1, x1, x2) (* ****** ****** *) local // staload FS = "libats/SATS/funset_avltree.sats" staload _(*FS*) = "libats/DATS/funset_avltree.dats" // val cmp = lam ( x1: s2rtdat, x2: s2rtdat ) : int = compare_s2rtdat_s2rtdat (x1, x2) // end of [val] // assume s2rtdatset_type = $FS.set (s2rtdat) // in (* in-of-local *) implement s2rtdatset_nil ((*void*)) = $FS.funset_make_nil () implement s2rtdatset_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $FS.funset_insert (xs, x, cmp) } (* end of [s2rtdatset_add] *) implement s2rtdatset_listize (xs) = $FS.funset_listize (xs) end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_sort.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_funent.dats0000664000175000017500000001614512655455557020120 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) local typedef funent = '{ // funent_loc= location // , funent_lab= funlab // attached function label // , funent_imparg= s2varlst , funent_tmparg= s2explstlst , funent_tmpsub= tmpsubopt // , funent_tmpret= tmpvar // storing the return value // // HX-2013-04-12: // [flablst] may contain the following flabs: // 1. outer functions called internally // 2. sibling functions called internally // // [flablst_fin] may contain the following flabs: // 1. self // 1. outer functions called transitively // 2. sibling functions called transitively // , funent_flablst= funlablst // flabs in function body , funent_flablst_fin= Option (funlablst) // final value // , funent_d2envlst= d2envlst // d2vars in function body , funent_d2envlst_fin= Option (d2envlst) // final value // , funent_vbindmap= vbindmap // local varbind map // , funent_instrlst= instrlst // instructions of function body // , funent_tmpvarlst= tmpvarlst // tmpvars in function body // , funent_fnxlablst= funlablst // mutually tail-recursive funs // } (* end of [funent] *) assume funent_type = funent extern typedef "funent_t" = funent in (* in of [local] *) implement funent_make ( loc, flab , imparg, tmparg, tmpsub , tmpret, fls0, d2es, vbmap, inss, tmplst ) = let (* val () = fprintln! (stdout_ref, "funent_make: flab = ", flab) val () = fprintln! (stdout_ref, "funent_make: d2es = ", d2es) *) in '{ funent_loc= loc // , funent_lab= flab // , funent_imparg= imparg , funent_tmparg= tmparg , funent_tmpsub= tmpsub // , funent_tmpret= tmpret // , funent_flablst= fls0 , funent_flablst_fin= None() // , funent_d2envlst= d2es , funent_d2envlst_fin= None() // , funent_vbindmap= vbmap // , funent_instrlst= inss // , funent_tmpvarlst= tmplst // , funent_fnxlablst= list_nil() // } end // end of [funent_make] (* ****** ****** *) implement funent_get_loc (fent) = fent.funent_loc implement funent_get_lab (fent) = fent.funent_lab implement funent_get_level (fent) = funlab_get_level (fent.funent_lab) // end of [funent_get_level] implement funent_get_imparg (fent) = fent.funent_imparg implement funent_get_tmparg (fent) = fent.funent_tmparg implement funent_get_tmpsub (fent) = fent.funent_tmpsub implement funent_get_tmpret (fent) = fent.funent_tmpret implement funent_get_flablst (fent) = fent.funent_flablst implement funent_get_flablst_fin (fent) = fent.funent_flablst_fin implement funent_get_d2envlst (fent) = fent.funent_d2envlst implement funent_get_d2envlst_fin (fent) = fent.funent_d2envlst_fin implement funent_get_vbindmap (fent) = fent.funent_vbindmap implement funent_get_instrlst (fent) = fent.funent_instrlst implement funent_get_tmpvarlst (fent) = fent.funent_tmpvarlst (* ****** ****** *) implement funent_get_fnxlablst (fent) = fent.funent_fnxlablst (* ****** ****** *) end // end of [local] (* ****** ****** *) implement funent_make2 ( loc, flab , imparg, tmparg , tmpret, fls0, d2es, vbmap, inss ) = let val tmps = instrlst_get_tmpvarset (inss) val tmps = tmpvarset_vt_add (tmps, tmpret) val tmplst = tmpvarset_vt_listize_free (tmps) val tmplst = list_of_list_vt (tmplst) in // funent_make ( loc, flab , imparg, tmparg, None(*tsub*), tmpret, fls0, d2es, vbmap, inss, tmplst ) // end of [funent_make] // end // end of [funent_make2] (* ****** ****** *) implement fprint_funent (out, fent) = let // macdef prstr (s) = fprint_string (out, ,(s)) // val flab = funent_get_lab (fent) // val imparg = funent_get_imparg (fent) val tmparg = funent_get_tmparg (fent) val tsubopt = funent_get_tmpsub (fent) // val tmpret = funent_get_tmpret (fent) // val inss = funent_get_instrlst (fent) // val () = prstr "FUNENT(\n" // val () = prstr "lab=" val () = fprint_funlab (out, flab) val () = prstr "\n" // val () = prstr "imparg=" val () = fprint_s2varlst (out, imparg) val () = prstr "\n" // val () = prstr "tmparg=" val () = $UT.fprintlst (out, tmparg, "; ", fprint_s2explst) val () = prstr "\n" // val () = prstr "tmpsub=" val () = fprint_tmpsubopt (out, tsubopt) val () = prstr "\n" // val () = prstr "tmpret=" val () = fprint_tmpvar (out, tmpret) val () = prstr "\n" // val () = prstr "instrlst=\n" val () = fprint_instrlst (out, inss) // val () = prstr ")" in // nothing end // end of [fprint_funent] (* ****** ****** *) implement funent_is_tmplt (fent) = let val tmparg = funent_get_tmparg (fent) in // case+ tmparg of list_cons _ => true | list_nil () => false // end // end of [funent_is_tmplst] (* ****** ****** *) implement print_funent (fent) = fprint_funent (stdout_ref, fent) implement prerr_funent (fent) = fprint_funent (stderr_ref, fent) (* ****** ****** *) %{$ extern ats_void_type patsopt_funent_set_tmpsub ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_tmpsub = opt ; return ; } // end of [patsopt_funent_set_tmpsub] extern ats_void_type patsopt_funent_set_flablst_fin ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_flablst_fin = opt ; return ; } // end of [patsopt_funent_set_flablst_fin] extern ats_void_type patsopt_funent_set_d2envlst_fin ( ats_ptr_type fent, ats_ptr_type opt ) { ((funent_t)fent)->atslab_funent_d2envlst_fin = opt ; return ; } // end of [patsopt_funent_set_d2envlst_fin] extern ats_void_type patsopt_funent_set_fnxlablst ( ats_ptr_type fent, ats_ptr_type fls ) { ((funent_t)fent)->atslab_funent_fnxlablst = fls ; return ; } // end of [patsopt_funent_set_fnxlablst] %} // end of [%{$] (* ****** ****** *) (* end of [pats_ccomp_funent.dats] *) ATS2-Postiats-0.2.6/./src/Makefile0000664000175000017500000014340612655455557015175 0ustar hwxihwxi# # # This Makefile is automatically generated # from executing the following command-line: # # make -f Makefile.gen # # ###### CC=gcc export ATSCCOMP=$(CC) ###### ATSCC=$(ATSHOME)/bin/atscc ATSOPT=$(ATSHOME)/bin/atsopt ###### CFLAGS=-g CFLAGS=-g -O CFLAGS=-g -O2 ###### # GCFLAG= # # GCFLAG=-D_ATS_NGC # GCFLAG=-D_ATS_GCBDW # GCFLAG=-D_ATS_GCATS # ###### # # Bootstrapping: # # [gmpknd] for CBOOT # [intknd] for CBOOTmin # C3NSTRINTKND=gmpknd #C3NSTRINTKND=intknd # ###### DATSCC=-DATS C3NSTRINTKND=$(C3NSTRINTKND) ###### LIBATS=-lats ###### # # HX: no [gmp] ifeq ($(C3NSTRINTKND),intknd) LIBGMP= endif # # HX: [gmp] needed ifeq ($(C3NSTRINTKND),gmpknd) LIBGMP=-lgmp endif # ###### SOURCES := \ pats_params.hats \ pats_error.sats \ pats_error.dats \ pats_intinf.sats \ pats_intinf.dats \ pats_intinf_int.hats \ pats_intinf_gmp.hats \ pats_counter.sats \ pats_counter.dats \ pats_utils.sats \ pats_utils.dats \ pats_global.sats \ pats_global.dats \ pats_basics.sats \ pats_basics.dats \ pats_basics.hats \ pats_comarg.sats \ pats_comarg.dats \ pats_stamp.sats \ pats_stamp.dats \ pats_symbol.sats \ pats_symbol.dats \ pats_filename.sats \ pats_filename.dats \ pats_filename_reloc.dats \ pats_location.sats \ pats_location.dats \ pats_location.cats \ pats_jsonize.sats \ pats_jsonize.dats \ pats_errmsg.sats \ pats_errmsg.dats \ pats_reader.sats \ pats_reader.dats \ pats_reader.cats \ pats_lexbuf.sats \ pats_lexbuf.dats \ pats_lexbuf.cats \ pats_lexing.sats \ pats_lexing.dats \ pats_lexing.cats \ pats_lexing_print.dats \ pats_lexing_error.dats \ pats_lexing_token.dats \ pats_label.sats \ pats_label.dats \ pats_effect.sats \ pats_effect.dats \ pats_fixity.sats \ pats_fixity_prec.dats \ pats_fixity_fxty.dats \ pats_syntax.sats \ pats_syntax.dats \ pats_syntax_print.dats \ pats_depgen.sats \ pats_depgen.dats \ pats_taggen.sats \ pats_taggen.dats \ pats_tokbuf.sats \ pats_tokbuf.dats \ pats_tokbuf.cats \ pats_parsing.sats \ pats_parsing.dats \ pats_parsing_error.dats \ pats_parsing_util.dats \ pats_parsing_kwds.dats \ pats_parsing_base.dats \ pats_parsing_e0xp.dats \ pats_parsing_sort.dats \ pats_parsing_staexp.dats \ pats_parsing_p0at.dats \ pats_parsing_dynexp.dats \ pats_parsing_decl.dats \ pats_parsing_toplevel.dats \ pats_symmap.sats \ pats_symmap.dats \ pats_symmap_avltree.hats \ pats_symmap_htlinprb.hats \ pats_symenv.sats \ pats_symenv.dats \ pats_staexp1.sats \ pats_staexp1.dats \ pats_staexp1_print.dats \ pats_dynexp1.sats \ pats_dynexp1.dats \ pats_dynexp1_print.dats \ pats_trans1.sats \ pats_trans1_env.sats \ pats_trans1_env.dats \ pats_e1xpval.sats \ pats_e1xpval.dats \ pats_e1xpval_error.dats \ pats_trans1_error.dats \ pats_trans1_e0xp.dats \ pats_trans1_effect.dats \ pats_trans1_sort.dats \ pats_trans1_staexp.dats \ pats_trans1_p0at.dats \ pats_trans1_syndef.dats \ pats_trans1_dynexp.dats \ pats_trans1_decl.dats \ pats_staexp2.sats \ pats_staexp2.dats \ pats_stacst2.sats \ pats_stacst2.dats \ pats_staexp2_print.dats \ pats_staexp2_pprint.dats \ pats_staexp2_sort.dats \ pats_staexp2_scst.dats \ pats_staexp2_svar.dats \ pats_staexp2_svvar.dats \ pats_staexp2_hole.dats \ pats_staexp2_ctxt.dats \ pats_staexp2_dcon.dats \ pats_staexp2_skexp.dats \ pats_staexp2_szexp.dats \ pats_staexp2_util.sats \ pats_staexp2_util1.dats \ pats_staexp2_util2.dats \ pats_staexp2_util3.dats \ pats_staexp2_error.sats \ pats_staexp2_error.dats \ pats_staexp2_solve.sats \ pats_staexp2_solve.dats \ pats_patcst2.sats \ pats_patcst2.dats \ pats_dynexp2.sats \ pats_dynexp2.dats \ pats_dyncst2.sats \ pats_dyncst2.dats \ pats_dynexp2_print.dats \ pats_dynexp2_dcst.dats \ pats_dynexp2_dvar.dats \ pats_dynexp2_dmac.dats \ pats_dynexp2_util.dats \ pats_staexp2_appenv.hats \ pats_dynexp2_appenv.hats \ pats_dynexp2_mapgen.dats \ pats_trans2.sats \ pats_namespace.sats \ pats_namespace.dats \ pats_trans2_env.sats \ pats_trans2_env.dats \ pats_trans2_error.dats \ pats_trans2_sort.dats \ pats_trans2_staexp.dats \ pats_trans2_p1at.dats \ pats_trans2_dynexp.dats \ pats_trans2_impdec.dats \ pats_trans2_decl.dats \ pats_codegen2.sats \ pats_codegen2.dats \ pats_codegen2_util.dats \ pats_codegen2_datype.dats \ pats_codegen2_fprint.dats \ pats_jsonize_synent2.sats \ pats_jsonize_synent2.dats \ pats_dynexp3.sats \ pats_dynexp3.dats \ pats_dynexp3_print.dats \ pats_trans3.sats \ pats_trans3_error.dats \ pats_trans3_util.dats \ pats_trans3_env.sats \ pats_trans3_env.dats \ pats_trans3_env_print.dats \ pats_trans3_env_scst.dats \ pats_trans3_env_svar.dats \ pats_trans3_env_termet.dats \ pats_trans3_env_effect.dats \ pats_trans3_env_dvar.dats \ pats_trans3_env_lamlp.dats \ pats_trans3_env_pfman.dats \ pats_trans3_env_lstate.dats \ pats_dmacro2.sats \ pats_dmacro2.dats \ pats_dmacro2_print.dats \ pats_dmacro2_eval0.dats \ pats_dmacro2_eval1.dats \ pats_trans3_p2at.dats \ pats_trans3_patcon.dats \ pats_trans3_syncst.dats \ pats_trans3_dynexp_up.dats \ pats_trans3_dynexp_dn.dats \ pats_trans3_appsym.dats \ pats_trans3_caseof.dats \ pats_trans3_selab.dats \ pats_trans3_ptrof.dats \ pats_trans3_viewat.dats \ pats_trans3_deref.dats \ pats_trans3_assgn.dats \ pats_trans3_xchng.dats \ pats_trans3_lvalres.dats \ pats_trans3_fldfrat.dats \ pats_trans3_looping.dats \ pats_trans3_decl.dats \ pats_lintprgm.sats \ pats_lintprgm.dats \ pats_lintprgm_print.dats \ pats_lintprgm_myint.cats \ pats_lintprgm_myint.dats \ pats_lintprgm_solve.dats \ pats_constraint3.sats \ pats_constraint3.dats \ pats_constraint3_print.dats \ pats_constraint3_appenv.hats \ pats_constraint3_mapgen.dats \ pats_constraint3_jsonize.dats \ pats_constraint3_init.dats \ pats_constraint3_simplify.dats \ pats_constraint3_icnstr.dats \ pats_constraint3_solve.dats \ pats_histaexp.sats \ pats_histaexp.dats \ pats_histaexp_print.dats \ pats_histaexp_funlab.dats \ pats_hidynexp.sats \ pats_hidynexp.dats \ pats_hidynexp_print.dats \ pats_hidynexp_util.dats \ pats_typerase.sats \ pats_typerase_error.dats \ pats_typerase_staexp.dats \ pats_typerase_dynexp.dats \ pats_typerase_decl.dats \ pats_ccomp.sats \ pats_ccomp.dats \ pats_ccomp_print.dats \ pats_ccomp_hitype.dats \ pats_ccomp_tmplab.dats \ pats_ccomp_tmpvar.dats \ pats_ccomp_d2env.dats \ pats_ccomp_funlab.dats \ pats_ccomp_funent.dats \ pats_ccomp_util.dats \ pats_ccomp_ccompenv.dats \ pats_ccomp_instrseq.dats \ pats_ccomp_hipat.dats \ pats_ccomp_dynexp.dats \ pats_ccomp_caseof.dats \ pats_ccomp_claulst.dats \ pats_ccomp_lazyeval.dats \ pats_ccomp_trywith.dats \ pats_ccomp_looping.dats \ pats_ccomp_decl.dats \ pats_ccomp_subst.dats \ pats_ccomp_environ.dats \ pats_ccomp_template.dats \ pats_ccomp_emit.dats \ pats_ccomp_emit2.dats \ pats_ccomp_emit3.dats \ pats_ccomp_main.dats \ SOURCESsta := $(filter %.sats, $(SOURCES)) SOURCESdyn := $(filter %.dats, $(SOURCES)) ###### OBJECTS := \ pats_error_sats.o \ pats_error_dats.o \ pats_intinf_sats.o \ pats_intinf_dats.o \ pats_counter_sats.o \ pats_counter_dats.o \ pats_utils_sats.o \ pats_utils_dats.o \ pats_global_sats.o \ pats_global_dats.o \ pats_basics_sats.o \ pats_basics_dats.o \ pats_comarg_sats.o \ pats_comarg_dats.o \ pats_stamp_sats.o \ pats_stamp_dats.o \ pats_symbol_sats.o \ pats_symbol_dats.o \ pats_filename_sats.o \ pats_filename_dats.o \ pats_filename_reloc_dats.o \ pats_location_sats.o \ pats_location_dats.o \ pats_jsonize_sats.o \ pats_jsonize_dats.o \ pats_errmsg_sats.o \ pats_errmsg_dats.o \ pats_reader_sats.o \ pats_reader_dats.o \ pats_lexbuf_sats.o \ pats_lexbuf_dats.o \ pats_lexing_sats.o \ pats_lexing_dats.o \ pats_lexing_print_dats.o \ pats_lexing_error_dats.o \ pats_lexing_token_dats.o \ pats_label_sats.o \ pats_label_dats.o \ pats_effect_sats.o \ pats_effect_dats.o \ pats_fixity_sats.o \ pats_fixity_prec_dats.o \ pats_fixity_fxty_dats.o \ pats_syntax_sats.o \ pats_syntax_dats.o \ pats_syntax_print_dats.o \ pats_depgen_sats.o \ pats_depgen_dats.o \ pats_taggen_sats.o \ pats_taggen_dats.o \ pats_tokbuf_sats.o \ pats_tokbuf_dats.o \ pats_parsing_sats.o \ pats_parsing_dats.o \ pats_parsing_error_dats.o \ pats_parsing_util_dats.o \ pats_parsing_kwds_dats.o \ pats_parsing_base_dats.o \ pats_parsing_e0xp_dats.o \ pats_parsing_sort_dats.o \ pats_parsing_staexp_dats.o \ pats_parsing_p0at_dats.o \ pats_parsing_dynexp_dats.o \ pats_parsing_decl_dats.o \ pats_parsing_toplevel_dats.o \ pats_symmap_sats.o \ pats_symmap_dats.o \ pats_symenv_sats.o \ pats_symenv_dats.o \ pats_staexp1_sats.o \ pats_staexp1_dats.o \ pats_staexp1_print_dats.o \ pats_dynexp1_sats.o \ pats_dynexp1_dats.o \ pats_dynexp1_print_dats.o \ pats_trans1_sats.o \ pats_trans1_env_sats.o \ pats_trans1_env_dats.o \ pats_e1xpval_sats.o \ pats_e1xpval_dats.o \ pats_e1xpval_error_dats.o \ pats_trans1_error_dats.o \ pats_trans1_e0xp_dats.o \ pats_trans1_effect_dats.o \ pats_trans1_sort_dats.o \ pats_trans1_staexp_dats.o \ pats_trans1_p0at_dats.o \ pats_trans1_syndef_dats.o \ pats_trans1_dynexp_dats.o \ pats_trans1_decl_dats.o \ pats_staexp2_sats.o \ pats_staexp2_dats.o \ pats_stacst2_sats.o \ pats_stacst2_dats.o \ pats_staexp2_print_dats.o \ pats_staexp2_pprint_dats.o \ pats_staexp2_sort_dats.o \ pats_staexp2_scst_dats.o \ pats_staexp2_svar_dats.o \ pats_staexp2_svvar_dats.o \ pats_staexp2_hole_dats.o \ pats_staexp2_ctxt_dats.o \ pats_staexp2_dcon_dats.o \ pats_staexp2_skexp_dats.o \ pats_staexp2_szexp_dats.o \ pats_staexp2_util_sats.o \ pats_staexp2_util1_dats.o \ pats_staexp2_util2_dats.o \ pats_staexp2_util3_dats.o \ pats_staexp2_error_sats.o \ pats_staexp2_error_dats.o \ pats_staexp2_solve_sats.o \ pats_staexp2_solve_dats.o \ pats_patcst2_sats.o \ pats_patcst2_dats.o \ pats_dynexp2_sats.o \ pats_dynexp2_dats.o \ pats_dyncst2_sats.o \ pats_dyncst2_dats.o \ pats_dynexp2_print_dats.o \ pats_dynexp2_dcst_dats.o \ pats_dynexp2_dvar_dats.o \ pats_dynexp2_dmac_dats.o \ pats_dynexp2_util_dats.o \ pats_dynexp2_mapgen_dats.o \ pats_trans2_sats.o \ pats_namespace_sats.o \ pats_namespace_dats.o \ pats_trans2_env_sats.o \ pats_trans2_env_dats.o \ pats_trans2_error_dats.o \ pats_trans2_sort_dats.o \ pats_trans2_staexp_dats.o \ pats_trans2_p1at_dats.o \ pats_trans2_dynexp_dats.o \ pats_trans2_impdec_dats.o \ pats_trans2_decl_dats.o \ pats_codegen2_sats.o \ pats_codegen2_dats.o \ pats_codegen2_util_dats.o \ pats_codegen2_datype_dats.o \ pats_codegen2_fprint_dats.o \ pats_jsonize_synent2_sats.o \ pats_jsonize_synent2_dats.o \ pats_dynexp3_sats.o \ pats_dynexp3_dats.o \ pats_dynexp3_print_dats.o \ pats_trans3_sats.o \ pats_trans3_error_dats.o \ pats_trans3_util_dats.o \ pats_trans3_env_sats.o \ pats_trans3_env_dats.o \ pats_trans3_env_print_dats.o \ pats_trans3_env_scst_dats.o \ pats_trans3_env_svar_dats.o \ pats_trans3_env_termet_dats.o \ pats_trans3_env_effect_dats.o \ pats_trans3_env_dvar_dats.o \ pats_trans3_env_lamlp_dats.o \ pats_trans3_env_pfman_dats.o \ pats_trans3_env_lstate_dats.o \ pats_dmacro2_sats.o \ pats_dmacro2_dats.o \ pats_dmacro2_print_dats.o \ pats_dmacro2_eval0_dats.o \ pats_dmacro2_eval1_dats.o \ pats_trans3_p2at_dats.o \ pats_trans3_patcon_dats.o \ pats_trans3_syncst_dats.o \ pats_trans3_dynexp_up_dats.o \ pats_trans3_dynexp_dn_dats.o \ pats_trans3_appsym_dats.o \ pats_trans3_caseof_dats.o \ pats_trans3_selab_dats.o \ pats_trans3_ptrof_dats.o \ pats_trans3_viewat_dats.o \ pats_trans3_deref_dats.o \ pats_trans3_assgn_dats.o \ pats_trans3_xchng_dats.o \ pats_trans3_lvalres_dats.o \ pats_trans3_fldfrat_dats.o \ pats_trans3_looping_dats.o \ pats_trans3_decl_dats.o \ pats_lintprgm_sats.o \ pats_lintprgm_dats.o \ pats_lintprgm_print_dats.o \ pats_lintprgm_myint_dats.o \ pats_lintprgm_solve_dats.o \ pats_constraint3_sats.o \ pats_constraint3_dats.o \ pats_constraint3_print_dats.o \ pats_constraint3_mapgen_dats.o \ pats_constraint3_jsonize_dats.o \ pats_constraint3_init_dats.o \ pats_constraint3_simplify_dats.o \ pats_constraint3_icnstr_dats.o \ pats_constraint3_solve_dats.o \ pats_histaexp_sats.o \ pats_histaexp_dats.o \ pats_histaexp_print_dats.o \ pats_histaexp_funlab_dats.o \ pats_hidynexp_sats.o \ pats_hidynexp_dats.o \ pats_hidynexp_print_dats.o \ pats_hidynexp_util_dats.o \ pats_typerase_sats.o \ pats_typerase_error_dats.o \ pats_typerase_staexp_dats.o \ pats_typerase_dynexp_dats.o \ pats_typerase_decl_dats.o \ pats_ccomp_sats.o \ pats_ccomp_dats.o \ pats_ccomp_print_dats.o \ pats_ccomp_hitype_dats.o \ pats_ccomp_tmplab_dats.o \ pats_ccomp_tmpvar_dats.o \ pats_ccomp_d2env_dats.o \ pats_ccomp_funlab_dats.o \ pats_ccomp_funent_dats.o \ pats_ccomp_util_dats.o \ pats_ccomp_ccompenv_dats.o \ pats_ccomp_instrseq_dats.o \ pats_ccomp_hipat_dats.o \ pats_ccomp_dynexp_dats.o \ pats_ccomp_caseof_dats.o \ pats_ccomp_claulst_dats.o \ pats_ccomp_lazyeval_dats.o \ pats_ccomp_trywith_dats.o \ pats_ccomp_looping_dats.o \ pats_ccomp_decl_dats.o \ pats_ccomp_subst_dats.o \ pats_ccomp_environ_dats.o \ pats_ccomp_template_dats.o \ pats_ccomp_emit_dats.o \ pats_ccomp_emit2_dats.o \ pats_ccomp_emit3_dats.o \ pats_ccomp_main_dats.o \ ###### all:: patsopt ###### # # AS-20130407: # link order matters to GNU ld # please keep the order '$(LIBATS) $(LIBGMP)' as libats depends on libgmp # patsopt: $(OBJECTS) ; \ $(ATSCC) $(CFLAGS) $(GCFLAG) -o $@ pats_main.dats $(OBJECTS) $(LIBATS) $(LIBGMP) # cleanall:: ; $(RMF) patsopt # ###### # AR=ar MAKE=make # libatsopt: $(OBJECTS) ; \ $(ATSCC) -DATS PATSOPT_MAIN_NONE \ $(CFLAGS) $(GCFLAG) -c pats_main.dats && $(AR) -r libatsopt.a pats_main_dats.o $^ # libatsopt_min: ; $(MAKE) C3NSTRINTKND=intknd libatsopt # cleanall:: ; $(RMF) libatsopt.a # ###### # # for building patsopt through CMake # BUILD/init: ; cd BUILD; cmake ..; cd .. BUILD/clean: ; make -C BUILD -f Makefile clean BUILD/patsopt: ; make -C BUILD -j8 -f Makefile patsopt # ###### # CBOOT:: ; $(CPF) pats_*.hats CBOOT CBOOT:: ; $(CPF) pats_*.cats CBOOT CBOOT:: ; $(CPF) pats_*_sats.c CBOOT CBOOT:: ; $(CPF) pats_*_dats.c CBOOT CBOOT:: ; $(CPF) Makefile_CBOOT CBOOT/Makefile # ###### # CBOOTmin:: ; $(CPF) pats_*.hats CBOOT CBOOTmin:: ; $(CPF) pats_*.cats CBOOT CBOOTmin:: ; $(CPF) pats_*_sats.c CBOOT CBOOTmin:: ; $(CPF) pats_*_dats.c CBOOT CBOOTmin:: ; $(CPF) Makefile_CBOOTmin CBOOT/Makefile # ###### TAGATS:: ; $(RMF) $@ TAGATS:: ; $(ATSOPT) --output-a $@ --taggen -s $(SOURCESsta) -d $(SOURCESdyn) ###### pats_error_sats.c: pats_error.sats; $(ATSCC) $(DATSCC) -cc $< pats_error_sats.o: pats_error_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_error_dats.c: pats_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_error_dats.o: pats_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_intinf_sats.c: pats_intinf.sats; $(ATSCC) $(DATSCC) -cc $< pats_intinf_sats.o: pats_intinf_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_intinf_dats.c: pats_intinf.dats; $(ATSCC) $(DATSCC) -cc $< pats_intinf_dats.o: pats_intinf_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_counter_sats.c: pats_counter.sats; $(ATSCC) $(DATSCC) -cc $< pats_counter_sats.o: pats_counter_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_counter_dats.c: pats_counter.dats; $(ATSCC) $(DATSCC) -cc $< pats_counter_dats.o: pats_counter_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_utils_sats.c: pats_utils.sats; $(ATSCC) $(DATSCC) -cc $< pats_utils_sats.o: pats_utils_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_utils_dats.c: pats_utils.dats; $(ATSCC) $(DATSCC) -cc $< pats_utils_dats.o: pats_utils_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_global_sats.c: pats_global.sats; $(ATSCC) $(DATSCC) -cc $< pats_global_sats.o: pats_global_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_global_dats.c: pats_global.dats; $(ATSCC) $(DATSCC) -cc $< pats_global_dats.o: pats_global_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_basics_sats.c: pats_basics.sats; $(ATSCC) $(DATSCC) -cc $< pats_basics_sats.o: pats_basics_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_basics_dats.c: pats_basics.dats; $(ATSCC) $(DATSCC) -cc $< pats_basics_dats.o: pats_basics_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_comarg_sats.c: pats_comarg.sats; $(ATSCC) $(DATSCC) -cc $< pats_comarg_sats.o: pats_comarg_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_comarg_dats.c: pats_comarg.dats; $(ATSCC) $(DATSCC) -cc $< pats_comarg_dats.o: pats_comarg_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_stamp_sats.c: pats_stamp.sats; $(ATSCC) $(DATSCC) -cc $< pats_stamp_sats.o: pats_stamp_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_stamp_dats.c: pats_stamp.dats; $(ATSCC) $(DATSCC) -cc $< pats_stamp_dats.o: pats_stamp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_symbol_sats.c: pats_symbol.sats; $(ATSCC) $(DATSCC) -cc $< pats_symbol_sats.o: pats_symbol_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_symbol_dats.c: pats_symbol.dats; $(ATSCC) $(DATSCC) -cc $< pats_symbol_dats.o: pats_symbol_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_filename_sats.c: pats_filename.sats; $(ATSCC) $(DATSCC) -cc $< pats_filename_sats.o: pats_filename_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_filename_dats.c: pats_filename.dats; $(ATSCC) $(DATSCC) -cc $< pats_filename_dats.o: pats_filename_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_filename_reloc_dats.c: pats_filename_reloc.dats; $(ATSCC) $(DATSCC) -cc $< pats_filename_reloc_dats.o: pats_filename_reloc_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_location_sats.c: pats_location.sats; $(ATSCC) $(DATSCC) -cc $< pats_location_sats.o: pats_location_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_location_dats.c: pats_location.dats; $(ATSCC) $(DATSCC) -cc $< pats_location_dats.o: pats_location_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_jsonize_sats.c: pats_jsonize.sats; $(ATSCC) $(DATSCC) -cc $< pats_jsonize_sats.o: pats_jsonize_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_jsonize_dats.c: pats_jsonize.dats; $(ATSCC) $(DATSCC) -cc $< pats_jsonize_dats.o: pats_jsonize_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_errmsg_sats.c: pats_errmsg.sats; $(ATSCC) $(DATSCC) -cc $< pats_errmsg_sats.o: pats_errmsg_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_errmsg_dats.c: pats_errmsg.dats; $(ATSCC) $(DATSCC) -cc $< pats_errmsg_dats.o: pats_errmsg_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_reader_sats.c: pats_reader.sats; $(ATSCC) $(DATSCC) -cc $< pats_reader_sats.o: pats_reader_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_reader_dats.c: pats_reader.dats; $(ATSCC) $(DATSCC) -cc $< pats_reader_dats.o: pats_reader_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexbuf_sats.c: pats_lexbuf.sats; $(ATSCC) $(DATSCC) -cc $< pats_lexbuf_sats.o: pats_lexbuf_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexbuf_dats.c: pats_lexbuf.dats; $(ATSCC) $(DATSCC) -cc $< pats_lexbuf_dats.o: pats_lexbuf_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexing_sats.c: pats_lexing.sats; $(ATSCC) $(DATSCC) -cc $< pats_lexing_sats.o: pats_lexing_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexing_dats.c: pats_lexing.dats; $(ATSCC) $(DATSCC) -cc $< pats_lexing_dats.o: pats_lexing_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexing_print_dats.c: pats_lexing_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_lexing_print_dats.o: pats_lexing_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexing_error_dats.c: pats_lexing_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_lexing_error_dats.o: pats_lexing_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lexing_token_dats.c: pats_lexing_token.dats; $(ATSCC) $(DATSCC) -cc $< pats_lexing_token_dats.o: pats_lexing_token_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_label_sats.c: pats_label.sats; $(ATSCC) $(DATSCC) -cc $< pats_label_sats.o: pats_label_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_label_dats.c: pats_label.dats; $(ATSCC) $(DATSCC) -cc $< pats_label_dats.o: pats_label_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_effect_sats.c: pats_effect.sats; $(ATSCC) $(DATSCC) -cc $< pats_effect_sats.o: pats_effect_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_effect_dats.c: pats_effect.dats; $(ATSCC) $(DATSCC) -cc $< pats_effect_dats.o: pats_effect_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_fixity_sats.c: pats_fixity.sats; $(ATSCC) $(DATSCC) -cc $< pats_fixity_sats.o: pats_fixity_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_fixity_prec_dats.c: pats_fixity_prec.dats; $(ATSCC) $(DATSCC) -cc $< pats_fixity_prec_dats.o: pats_fixity_prec_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_fixity_fxty_dats.c: pats_fixity_fxty.dats; $(ATSCC) $(DATSCC) -cc $< pats_fixity_fxty_dats.o: pats_fixity_fxty_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_syntax_sats.c: pats_syntax.sats; $(ATSCC) $(DATSCC) -cc $< pats_syntax_sats.o: pats_syntax_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_syntax_dats.c: pats_syntax.dats; $(ATSCC) $(DATSCC) -cc $< pats_syntax_dats.o: pats_syntax_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_syntax_print_dats.c: pats_syntax_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_syntax_print_dats.o: pats_syntax_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_depgen_sats.c: pats_depgen.sats; $(ATSCC) $(DATSCC) -cc $< pats_depgen_sats.o: pats_depgen_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_depgen_dats.c: pats_depgen.dats; $(ATSCC) $(DATSCC) -cc $< pats_depgen_dats.o: pats_depgen_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_taggen_sats.c: pats_taggen.sats; $(ATSCC) $(DATSCC) -cc $< pats_taggen_sats.o: pats_taggen_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_taggen_dats.c: pats_taggen.dats; $(ATSCC) $(DATSCC) -cc $< pats_taggen_dats.o: pats_taggen_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_tokbuf_sats.c: pats_tokbuf.sats; $(ATSCC) $(DATSCC) -cc $< pats_tokbuf_sats.o: pats_tokbuf_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_tokbuf_dats.c: pats_tokbuf.dats; $(ATSCC) $(DATSCC) -cc $< pats_tokbuf_dats.o: pats_tokbuf_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_sats.c: pats_parsing.sats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_sats.o: pats_parsing_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_dats.c: pats_parsing.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_dats.o: pats_parsing_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_error_dats.c: pats_parsing_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_error_dats.o: pats_parsing_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_util_dats.c: pats_parsing_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_util_dats.o: pats_parsing_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_kwds_dats.c: pats_parsing_kwds.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_kwds_dats.o: pats_parsing_kwds_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_base_dats.c: pats_parsing_base.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_base_dats.o: pats_parsing_base_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_e0xp_dats.c: pats_parsing_e0xp.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_e0xp_dats.o: pats_parsing_e0xp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_sort_dats.c: pats_parsing_sort.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_sort_dats.o: pats_parsing_sort_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_staexp_dats.c: pats_parsing_staexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_staexp_dats.o: pats_parsing_staexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_p0at_dats.c: pats_parsing_p0at.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_p0at_dats.o: pats_parsing_p0at_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_dynexp_dats.c: pats_parsing_dynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_dynexp_dats.o: pats_parsing_dynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_decl_dats.c: pats_parsing_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_decl_dats.o: pats_parsing_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_parsing_toplevel_dats.c: pats_parsing_toplevel.dats; $(ATSCC) $(DATSCC) -cc $< pats_parsing_toplevel_dats.o: pats_parsing_toplevel_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_symmap_sats.c: pats_symmap.sats; $(ATSCC) $(DATSCC) -cc $< pats_symmap_sats.o: pats_symmap_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_symmap_dats.c: pats_symmap.dats; $(ATSCC) $(DATSCC) -cc $< pats_symmap_dats.o: pats_symmap_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_symenv_sats.c: pats_symenv.sats; $(ATSCC) $(DATSCC) -cc $< pats_symenv_sats.o: pats_symenv_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_symenv_dats.c: pats_symenv.dats; $(ATSCC) $(DATSCC) -cc $< pats_symenv_dats.o: pats_symenv_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp1_sats.c: pats_staexp1.sats; $(ATSCC) $(DATSCC) -cc $< pats_staexp1_sats.o: pats_staexp1_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp1_dats.c: pats_staexp1.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp1_dats.o: pats_staexp1_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp1_print_dats.c: pats_staexp1_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp1_print_dats.o: pats_staexp1_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp1_sats.c: pats_dynexp1.sats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp1_sats.o: pats_dynexp1_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp1_dats.c: pats_dynexp1.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp1_dats.o: pats_dynexp1_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp1_print_dats.c: pats_dynexp1_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp1_print_dats.o: pats_dynexp1_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_sats.c: pats_trans1.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_sats.o: pats_trans1_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_env_sats.c: pats_trans1_env.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_env_sats.o: pats_trans1_env_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_env_dats.c: pats_trans1_env.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_env_dats.o: pats_trans1_env_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_e1xpval_sats.c: pats_e1xpval.sats; $(ATSCC) $(DATSCC) -cc $< pats_e1xpval_sats.o: pats_e1xpval_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_e1xpval_dats.c: pats_e1xpval.dats; $(ATSCC) $(DATSCC) -cc $< pats_e1xpval_dats.o: pats_e1xpval_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_e1xpval_error_dats.c: pats_e1xpval_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_e1xpval_error_dats.o: pats_e1xpval_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_error_dats.c: pats_trans1_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_error_dats.o: pats_trans1_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_e0xp_dats.c: pats_trans1_e0xp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_e0xp_dats.o: pats_trans1_e0xp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_effect_dats.c: pats_trans1_effect.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_effect_dats.o: pats_trans1_effect_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_sort_dats.c: pats_trans1_sort.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_sort_dats.o: pats_trans1_sort_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_staexp_dats.c: pats_trans1_staexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_staexp_dats.o: pats_trans1_staexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_p0at_dats.c: pats_trans1_p0at.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_p0at_dats.o: pats_trans1_p0at_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_syndef_dats.c: pats_trans1_syndef.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_syndef_dats.o: pats_trans1_syndef_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_dynexp_dats.c: pats_trans1_dynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_dynexp_dats.o: pats_trans1_dynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans1_decl_dats.c: pats_trans1_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans1_decl_dats.o: pats_trans1_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_sats.c: pats_staexp2.sats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_sats.o: pats_staexp2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_dats.c: pats_staexp2.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_dats.o: pats_staexp2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_stacst2_sats.c: pats_stacst2.sats; $(ATSCC) $(DATSCC) -cc $< pats_stacst2_sats.o: pats_stacst2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_stacst2_dats.c: pats_stacst2.dats; $(ATSCC) $(DATSCC) -cc $< pats_stacst2_dats.o: pats_stacst2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_print_dats.c: pats_staexp2_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_print_dats.o: pats_staexp2_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_pprint_dats.c: pats_staexp2_pprint.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_pprint_dats.o: pats_staexp2_pprint_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_sort_dats.c: pats_staexp2_sort.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_sort_dats.o: pats_staexp2_sort_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_scst_dats.c: pats_staexp2_scst.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_scst_dats.o: pats_staexp2_scst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_svar_dats.c: pats_staexp2_svar.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_svar_dats.o: pats_staexp2_svar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_svvar_dats.c: pats_staexp2_svvar.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_svvar_dats.o: pats_staexp2_svvar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_hole_dats.c: pats_staexp2_hole.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_hole_dats.o: pats_staexp2_hole_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_ctxt_dats.c: pats_staexp2_ctxt.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_ctxt_dats.o: pats_staexp2_ctxt_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_dcon_dats.c: pats_staexp2_dcon.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_dcon_dats.o: pats_staexp2_dcon_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_skexp_dats.c: pats_staexp2_skexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_skexp_dats.o: pats_staexp2_skexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_szexp_dats.c: pats_staexp2_szexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_szexp_dats.o: pats_staexp2_szexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_util_sats.c: pats_staexp2_util.sats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_util_sats.o: pats_staexp2_util_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_util1_dats.c: pats_staexp2_util1.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_util1_dats.o: pats_staexp2_util1_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_util2_dats.c: pats_staexp2_util2.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_util2_dats.o: pats_staexp2_util2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_util3_dats.c: pats_staexp2_util3.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_util3_dats.o: pats_staexp2_util3_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_error_sats.c: pats_staexp2_error.sats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_error_sats.o: pats_staexp2_error_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_error_dats.c: pats_staexp2_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_error_dats.o: pats_staexp2_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_solve_sats.c: pats_staexp2_solve.sats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_solve_sats.o: pats_staexp2_solve_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_staexp2_solve_dats.c: pats_staexp2_solve.dats; $(ATSCC) $(DATSCC) -cc $< pats_staexp2_solve_dats.o: pats_staexp2_solve_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_patcst2_sats.c: pats_patcst2.sats; $(ATSCC) $(DATSCC) -cc $< pats_patcst2_sats.o: pats_patcst2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_patcst2_dats.c: pats_patcst2.dats; $(ATSCC) $(DATSCC) -cc $< pats_patcst2_dats.o: pats_patcst2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_sats.c: pats_dynexp2.sats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_sats.o: pats_dynexp2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_dats.c: pats_dynexp2.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_dats.o: pats_dynexp2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dyncst2_sats.c: pats_dyncst2.sats; $(ATSCC) $(DATSCC) -cc $< pats_dyncst2_sats.o: pats_dyncst2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_dyncst2_dats.c: pats_dyncst2.dats; $(ATSCC) $(DATSCC) -cc $< pats_dyncst2_dats.o: pats_dyncst2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_print_dats.c: pats_dynexp2_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_print_dats.o: pats_dynexp2_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_dcst_dats.c: pats_dynexp2_dcst.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_dcst_dats.o: pats_dynexp2_dcst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_dvar_dats.c: pats_dynexp2_dvar.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_dvar_dats.o: pats_dynexp2_dvar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_dmac_dats.c: pats_dynexp2_dmac.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_dmac_dats.o: pats_dynexp2_dmac_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_util_dats.c: pats_dynexp2_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_util_dats.o: pats_dynexp2_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp2_mapgen_dats.c: pats_dynexp2_mapgen.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp2_mapgen_dats.o: pats_dynexp2_mapgen_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_sats.c: pats_trans2.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_sats.o: pats_trans2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_namespace_sats.c: pats_namespace.sats; $(ATSCC) $(DATSCC) -cc $< pats_namespace_sats.o: pats_namespace_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_namespace_dats.c: pats_namespace.dats; $(ATSCC) $(DATSCC) -cc $< pats_namespace_dats.o: pats_namespace_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_env_sats.c: pats_trans2_env.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_env_sats.o: pats_trans2_env_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_env_dats.c: pats_trans2_env.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_env_dats.o: pats_trans2_env_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_error_dats.c: pats_trans2_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_error_dats.o: pats_trans2_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_sort_dats.c: pats_trans2_sort.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_sort_dats.o: pats_trans2_sort_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_staexp_dats.c: pats_trans2_staexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_staexp_dats.o: pats_trans2_staexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_p1at_dats.c: pats_trans2_p1at.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_p1at_dats.o: pats_trans2_p1at_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_dynexp_dats.c: pats_trans2_dynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_dynexp_dats.o: pats_trans2_dynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_impdec_dats.c: pats_trans2_impdec.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_impdec_dats.o: pats_trans2_impdec_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans2_decl_dats.c: pats_trans2_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans2_decl_dats.o: pats_trans2_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_codegen2_sats.c: pats_codegen2.sats; $(ATSCC) $(DATSCC) -cc $< pats_codegen2_sats.o: pats_codegen2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_codegen2_dats.c: pats_codegen2.dats; $(ATSCC) $(DATSCC) -cc $< pats_codegen2_dats.o: pats_codegen2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_codegen2_util_dats.c: pats_codegen2_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_codegen2_util_dats.o: pats_codegen2_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_codegen2_datype_dats.c: pats_codegen2_datype.dats; $(ATSCC) $(DATSCC) -cc $< pats_codegen2_datype_dats.o: pats_codegen2_datype_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_codegen2_fprint_dats.c: pats_codegen2_fprint.dats; $(ATSCC) $(DATSCC) -cc $< pats_codegen2_fprint_dats.o: pats_codegen2_fprint_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_jsonize_synent2_sats.c: pats_jsonize_synent2.sats; $(ATSCC) $(DATSCC) -cc $< pats_jsonize_synent2_sats.o: pats_jsonize_synent2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_jsonize_synent2_dats.c: pats_jsonize_synent2.dats; $(ATSCC) $(DATSCC) -cc $< pats_jsonize_synent2_dats.o: pats_jsonize_synent2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp3_sats.c: pats_dynexp3.sats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp3_sats.o: pats_dynexp3_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp3_dats.c: pats_dynexp3.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp3_dats.o: pats_dynexp3_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dynexp3_print_dats.c: pats_dynexp3_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_dynexp3_print_dats.o: pats_dynexp3_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_sats.c: pats_trans3.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_sats.o: pats_trans3_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_error_dats.c: pats_trans3_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_error_dats.o: pats_trans3_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_util_dats.c: pats_trans3_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_util_dats.o: pats_trans3_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_sats.c: pats_trans3_env.sats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_sats.o: pats_trans3_env_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_dats.c: pats_trans3_env.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_dats.o: pats_trans3_env_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_print_dats.c: pats_trans3_env_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_print_dats.o: pats_trans3_env_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_scst_dats.c: pats_trans3_env_scst.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_scst_dats.o: pats_trans3_env_scst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_svar_dats.c: pats_trans3_env_svar.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_svar_dats.o: pats_trans3_env_svar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_termet_dats.c: pats_trans3_env_termet.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_termet_dats.o: pats_trans3_env_termet_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_effect_dats.c: pats_trans3_env_effect.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_effect_dats.o: pats_trans3_env_effect_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_dvar_dats.c: pats_trans3_env_dvar.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_dvar_dats.o: pats_trans3_env_dvar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_lamlp_dats.c: pats_trans3_env_lamlp.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_lamlp_dats.o: pats_trans3_env_lamlp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_pfman_dats.c: pats_trans3_env_pfman.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_pfman_dats.o: pats_trans3_env_pfman_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_env_lstate_dats.c: pats_trans3_env_lstate.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_env_lstate_dats.o: pats_trans3_env_lstate_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dmacro2_sats.c: pats_dmacro2.sats; $(ATSCC) $(DATSCC) -cc $< pats_dmacro2_sats.o: pats_dmacro2_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_dmacro2_dats.c: pats_dmacro2.dats; $(ATSCC) $(DATSCC) -cc $< pats_dmacro2_dats.o: pats_dmacro2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dmacro2_print_dats.c: pats_dmacro2_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_dmacro2_print_dats.o: pats_dmacro2_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dmacro2_eval0_dats.c: pats_dmacro2_eval0.dats; $(ATSCC) $(DATSCC) -cc $< pats_dmacro2_eval0_dats.o: pats_dmacro2_eval0_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_dmacro2_eval1_dats.c: pats_dmacro2_eval1.dats; $(ATSCC) $(DATSCC) -cc $< pats_dmacro2_eval1_dats.o: pats_dmacro2_eval1_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_p2at_dats.c: pats_trans3_p2at.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_p2at_dats.o: pats_trans3_p2at_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_patcon_dats.c: pats_trans3_patcon.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_patcon_dats.o: pats_trans3_patcon_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_syncst_dats.c: pats_trans3_syncst.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_syncst_dats.o: pats_trans3_syncst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_dynexp_up_dats.c: pats_trans3_dynexp_up.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_dynexp_up_dats.o: pats_trans3_dynexp_up_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_dynexp_dn_dats.c: pats_trans3_dynexp_dn.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_dynexp_dn_dats.o: pats_trans3_dynexp_dn_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_appsym_dats.c: pats_trans3_appsym.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_appsym_dats.o: pats_trans3_appsym_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_caseof_dats.c: pats_trans3_caseof.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_caseof_dats.o: pats_trans3_caseof_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_selab_dats.c: pats_trans3_selab.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_selab_dats.o: pats_trans3_selab_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_ptrof_dats.c: pats_trans3_ptrof.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_ptrof_dats.o: pats_trans3_ptrof_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_viewat_dats.c: pats_trans3_viewat.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_viewat_dats.o: pats_trans3_viewat_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_deref_dats.c: pats_trans3_deref.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_deref_dats.o: pats_trans3_deref_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_assgn_dats.c: pats_trans3_assgn.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_assgn_dats.o: pats_trans3_assgn_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_xchng_dats.c: pats_trans3_xchng.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_xchng_dats.o: pats_trans3_xchng_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_lvalres_dats.c: pats_trans3_lvalres.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_lvalres_dats.o: pats_trans3_lvalres_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_fldfrat_dats.c: pats_trans3_fldfrat.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_fldfrat_dats.o: pats_trans3_fldfrat_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_looping_dats.c: pats_trans3_looping.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_looping_dats.o: pats_trans3_looping_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_trans3_decl_dats.c: pats_trans3_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_trans3_decl_dats.o: pats_trans3_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lintprgm_sats.c: pats_lintprgm.sats; $(ATSCC) $(DATSCC) -cc $< pats_lintprgm_sats.o: pats_lintprgm_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_lintprgm_dats.c: pats_lintprgm.dats; $(ATSCC) $(DATSCC) -cc $< pats_lintprgm_dats.o: pats_lintprgm_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lintprgm_print_dats.c: pats_lintprgm_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_lintprgm_print_dats.o: pats_lintprgm_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lintprgm_myint_dats.c: pats_lintprgm_myint.dats; $(ATSCC) $(DATSCC) -cc $< pats_lintprgm_myint_dats.o: pats_lintprgm_myint_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_lintprgm_solve_dats.c: pats_lintprgm_solve.dats; $(ATSCC) $(DATSCC) -cc $< pats_lintprgm_solve_dats.o: pats_lintprgm_solve_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_sats.c: pats_constraint3.sats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_sats.o: pats_constraint3_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_dats.c: pats_constraint3.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_dats.o: pats_constraint3_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_print_dats.c: pats_constraint3_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_print_dats.o: pats_constraint3_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_mapgen_dats.c: pats_constraint3_mapgen.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_mapgen_dats.o: pats_constraint3_mapgen_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_jsonize_dats.c: pats_constraint3_jsonize.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_jsonize_dats.o: pats_constraint3_jsonize_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_init_dats.c: pats_constraint3_init.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_init_dats.o: pats_constraint3_init_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_simplify_dats.c: pats_constraint3_simplify.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_simplify_dats.o: pats_constraint3_simplify_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_icnstr_dats.c: pats_constraint3_icnstr.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_icnstr_dats.o: pats_constraint3_icnstr_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_constraint3_solve_dats.c: pats_constraint3_solve.dats; $(ATSCC) $(DATSCC) -cc $< pats_constraint3_solve_dats.o: pats_constraint3_solve_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_histaexp_sats.c: pats_histaexp.sats; $(ATSCC) $(DATSCC) -cc $< pats_histaexp_sats.o: pats_histaexp_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_histaexp_dats.c: pats_histaexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_histaexp_dats.o: pats_histaexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_histaexp_print_dats.c: pats_histaexp_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_histaexp_print_dats.o: pats_histaexp_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_histaexp_funlab_dats.c: pats_histaexp_funlab.dats; $(ATSCC) $(DATSCC) -cc $< pats_histaexp_funlab_dats.o: pats_histaexp_funlab_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_hidynexp_sats.c: pats_hidynexp.sats; $(ATSCC) $(DATSCC) -cc $< pats_hidynexp_sats.o: pats_hidynexp_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_hidynexp_dats.c: pats_hidynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_hidynexp_dats.o: pats_hidynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_hidynexp_print_dats.c: pats_hidynexp_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_hidynexp_print_dats.o: pats_hidynexp_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_hidynexp_util_dats.c: pats_hidynexp_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_hidynexp_util_dats.o: pats_hidynexp_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_typerase_sats.c: pats_typerase.sats; $(ATSCC) $(DATSCC) -cc $< pats_typerase_sats.o: pats_typerase_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_typerase_error_dats.c: pats_typerase_error.dats; $(ATSCC) $(DATSCC) -cc $< pats_typerase_error_dats.o: pats_typerase_error_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_typerase_staexp_dats.c: pats_typerase_staexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_typerase_staexp_dats.o: pats_typerase_staexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_typerase_dynexp_dats.c: pats_typerase_dynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_typerase_dynexp_dats.o: pats_typerase_dynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_typerase_decl_dats.c: pats_typerase_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_typerase_decl_dats.o: pats_typerase_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_sats.c: pats_ccomp.sats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_sats.o: pats_ccomp_sats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_dats.c: pats_ccomp.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_dats.o: pats_ccomp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_print_dats.c: pats_ccomp_print.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_print_dats.o: pats_ccomp_print_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_hitype_dats.c: pats_ccomp_hitype.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_hitype_dats.o: pats_ccomp_hitype_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_tmplab_dats.c: pats_ccomp_tmplab.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_tmplab_dats.o: pats_ccomp_tmplab_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_tmpvar_dats.c: pats_ccomp_tmpvar.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_tmpvar_dats.o: pats_ccomp_tmpvar_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_d2env_dats.c: pats_ccomp_d2env.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_d2env_dats.o: pats_ccomp_d2env_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_funlab_dats.c: pats_ccomp_funlab.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_funlab_dats.o: pats_ccomp_funlab_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_funent_dats.c: pats_ccomp_funent.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_funent_dats.o: pats_ccomp_funent_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_util_dats.c: pats_ccomp_util.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_util_dats.o: pats_ccomp_util_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_ccompenv_dats.c: pats_ccomp_ccompenv.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_ccompenv_dats.o: pats_ccomp_ccompenv_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_instrseq_dats.c: pats_ccomp_instrseq.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_instrseq_dats.o: pats_ccomp_instrseq_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_hipat_dats.c: pats_ccomp_hipat.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_hipat_dats.o: pats_ccomp_hipat_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_dynexp_dats.c: pats_ccomp_dynexp.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_dynexp_dats.o: pats_ccomp_dynexp_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_caseof_dats.c: pats_ccomp_caseof.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_caseof_dats.o: pats_ccomp_caseof_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_claulst_dats.c: pats_ccomp_claulst.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_claulst_dats.o: pats_ccomp_claulst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_lazyeval_dats.c: pats_ccomp_lazyeval.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_lazyeval_dats.o: pats_ccomp_lazyeval_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_trywith_dats.c: pats_ccomp_trywith.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_trywith_dats.o: pats_ccomp_trywith_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_looping_dats.c: pats_ccomp_looping.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_looping_dats.o: pats_ccomp_looping_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_decl_dats.c: pats_ccomp_decl.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_decl_dats.o: pats_ccomp_decl_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_subst_dats.c: pats_ccomp_subst.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_subst_dats.o: pats_ccomp_subst_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_environ_dats.c: pats_ccomp_environ.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_environ_dats.o: pats_ccomp_environ_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_template_dats.c: pats_ccomp_template.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_template_dats.o: pats_ccomp_template_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_emit_dats.c: pats_ccomp_emit.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_emit_dats.o: pats_ccomp_emit_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_emit2_dats.c: pats_ccomp_emit2.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_emit2_dats.o: pats_ccomp_emit2_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_emit3_dats.c: pats_ccomp_emit3.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_emit3_dats.o: pats_ccomp_emit3_dats.c; $(ATSCC) $(CFLAGS) -c $< pats_ccomp_main_dats.c: pats_ccomp_main.dats; $(ATSCC) $(DATSCC) -cc $< pats_ccomp_main_dats.o: pats_ccomp_main_dats.c; $(ATSCC) $(CFLAGS) -c $< ###### # # HX: '-o .depend' means appending instead of overwriting # depend:: $(RMF) .depend $(ATSOPT) --output-a .depend --depgen -d pats_main.dats $(ATSOPT) --output-a .depend --depgen -s $(SOURCESsta) -d $(SOURCESdyn) -include .depend ###### DIR=. CPF=cp -f RMF=rm -f WCL=wc -l ###### # srclines:: ; $(WCL) pats_main.dats $(SOURCES) # liblines:: ; $(WCL) ../prelude/*.sats ../prelude/?ATS/*.?ats ../libc/?ATS/*.?ats ../libats/?ATS/*.?ats ../libats/?ATS/SHARE/*.?ats # ###### clean:: ; $(RMF) $(DIR)/*~ clean:: ; $(RMF) $(DIR)/*_?ats.o clean:: ; $(RMF) $(DIR)/*_?ats.c cleanall:: clean cleanall:: ; $(RMF) TAGATS ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./src/pats_staexp2_util.sats0000664000175000017500000002012712655455557020075 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload EFF = "./pats_effect.sats" typedef effect = $EFF.effect typedef effset = $EFF.effset (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_staexp2.sats" (* ****** ****** *) fun s2rt_linearize (s2t: s2rt): s2rt (* ****** ****** *) fun s2rt_prf_lin_fc (loc0: location, isprf: bool, islin: bool, fc: funclo): s2rt // end of [s2rt_prf_lin_fc] (* ****** ****** *) fun s2rt_npf_lin_prf_boxed (npf: int, lin: int, prgm: int, boxed: int): s2rt // end of [s2rt_npf_lin_prg_boxed] fun s2rt_npf_lin_prf_prgm_boxed_labs2explst ( npf: int, lin: int, prf: int, prgm: int, boxed: int, ls2es: labs2explst ) : s2rt // end of [s2rt_npf_lin_prf_prgm_boxed_labs2explst] (* ****** ****** *) // fun s2cst_select_locs2explstlst (s2cs: s2cstlst, arg: List (locs2explst)): s2cstlst // end of [s2cst_select_locs2explstlst] // (* ****** ****** *) // fun s2exp_is_nonvar (s2e: s2exp):<> bool fun s2exp_is_wthtype (s2e: s2exp):<> bool fun s2exp_is_without (s2e: s2exp):<> bool // // HX-2012-05: this one does more elaborate checking // fun s2exp_is_lin2 (x: s2exp): bool // compared to [s2exp_is_lin] // (* ****** ****** *) fun s2hnf_get_head (s2f: s2hnf): s2hnf // the head in HNF fun s2hnf_is_abscon (s2f: s2hnf): bool // is abstract or datatype (* ****** ****** *) // fun s2eff_add_set (s2fe: s2eff, eff: effset): s2eff // fun s2eff_contain_set (s2fe: s2eff, efs: effset): bool fun s2eff_contain_exp (s2fe: s2eff, s2e: s2exp): bool fun s2eff_contain_s2eff (s2fe1: s2eff, s2fe2: s2eff): bool // (* ****** ****** *) absvtype stasub_vtype // for static subst vtypedef stasub = stasub_vtype (* ****** ****** *) // fun stasub_make_nil ((*void*)) : stasub // fun stasub_free (sub: stasub): void fun stasub_copy (sub: !stasub): stasub // (* ****** ****** *) fun fprint_stasub (out: FILEref, sub: !stasub): void (* ****** ****** *) fun stasub_add (sub: &stasub, s2v: s2var, s2f: s2exp): void fun stasub_addlst (sub: &stasub, s2vs: s2varlst, s2fs: s2explst): int(*err*) // end of [stasub_addlst] (* ****** ****** *) fun stasub_find (sub: !stasub, s2v: s2var): Option_vt (s2exp) // end of [stasub_find] (* ****** ****** *) // (* fun stasub_get_domain (sub: !stasub): List_vt (s2var) *) // fun stasub_occurcheck (sub: !stasub, s2V: s2Var): bool // (* ****** ****** *) fun stasub_extend_svarlst (sub: &stasub, s2vs: s2varlst): s2varlst_vt // end of [stasub_extend_svarlst] (* ****** ****** *) // fun s2exp_subst (sub: !stasub, s2e: s2exp): s2exp // fun s2explst_subst (sub: !stasub, s2es: s2explst): s2explst fun s2explst_subst_vt (sub: !stasub, s2es: s2explst): s2explst_vt // fun s2explstlst_subst (sub: !stasub, s2ess: s2explstlst): s2explstlst // fun s2expopt_subst (sub: !stasub, os2e: s2expopt): s2expopt // (* ****** ****** *) // fun s2exp_subst_flag (sub: !stasub, s2e: s2exp, flag: &int): s2exp // end of [s2exp_subst_flag] // fun s2explst_subst_flag (sub: !stasub, s2es: s2explst, flag: &int): s2explst // end of [s2explst_subst_flag] // (* ****** ****** *) fun s2zexp_subst_flag (sub: !stasub, s2ze: s2zexp, flag: &int): s2zexp // end of [s2zexp_subst_flag] (* ****** ****** *) fun s2exp_alpha (s2v: s2var, s2v_new: s2var, s2e: s2exp): s2exp // end of [s2exp_alpha] fun s2explst_alpha (s2v: s2var, s2v_new: s2var, s2es: s2explst): s2explst // end of [s2explst_alpha] (* ****** ****** *) // fun s2ctxt_hrepl (ctxt: s2ctxt, repl: s2exp): s2exp fun s2ctxtopt_hrepl (ctxtopt: s2ctxtopt, repl: s2exp): s2expopt // fun s2exp_hrepl (s2e: s2exp, repl: s2exp): s2exp // (* ****** ****** *) fun s2exp_linkrem (s2e: s2exp): s2exp (* ****** ****** *) // fun s2exp_topize_0 (s2e: s2exp): s2exp and s2exp_topize_1 (s2e: s2exp): s2exp fun s2exp_topize (knd: int, s2e: s2exp): s2exp // (* ****** ****** *) // fun s2exp_hnfize (x: SHARED(s2exp)): s2exp fun s2explst_hnfize (xs: SHARED(s2explst)): s2explst fun s2expopt_hnfize (opt: SHARED(s2expopt)): s2expopt fun s2explstlst_hnfize (xss: SHARED(s2explstlst)): s2explstlst // // HX: this one is implemented in [pats_trans3_env.sats] // fun s2exp_hnfize_flag_svar (s2e0: s2exp, s2v: s2var, flag: &int): s2exp // (* ****** ****** *) // // HX-2013-06: applying [hnfize] recursively // fun s2exp_mhnfize (x: SHARED(s2exp)): s2exp fun s2explst_mhnfize (x: SHARED(s2explst)): s2explst fun s2explstlst_mhnfize (x: SHARED(s2explstlst)): s2explstlst (* ****** ****** *) // fun s2exp2hnf (x: SHARED(s2exp)): s2hnf // = s2exp_hnfize fun s2exp2hnf_cast (x: SHARED(s2exp)): s2hnf // HX: a cast function // fun s2hnf2exp (x: SHARED(s2hnf)): s2exp // HX: a cast function // (* ****** ****** *) fun s2hnf_syneq (s2f1: s2hnf, s2f2: s2hnf): bool fun s2exp_syneq (s2e1: s2exp, s2e2: s2exp): bool fun s2explst_syneq (xs1: s2explst, xs2: s2explst): bool (* ****** ****** *) // // HX-2015-03: // this version handles bound variables: // fun s2hnf_syneq2 (s2f1: s2hnf, s2f2: s2hnf): bool fun s2exp_syneq2 (s2e1: s2exp, s2e2: s2exp): bool fun s2explst_syneq2 (xs1: s2explst, xs2: s2explst): bool // fun s2var_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , s2v1: s2var, s2v2: s2var ) : bool // end of [s2var_syneq_env] // fun s2hnf_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , s2f1: s2hnf, s2f2: s2hnf ) : bool // end of [s2hnf_syneq_env] // fun s2exp_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , s2e1: s2exp, s2e2: s2exp ) : bool // end of [s2exp_syneq_env] // fun s2explst_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , s2es1: s2explst, s2es2: s2explst ) : bool // end of [s2explst_syneq_env] // fun s2explstlst_syneq_env ( env1: !s2varlst_vt , env2: !s2varlst_vt , s2ess1: s2explstlst, s2ess2: s2explstlst ) : bool // end of [s2explstlst_syneq_env] // (* ****** ****** *) fun s2hnf_tszeq (s2f1: s2hnf, s2f2: s2hnf): bool // type-size-equality-test fun s2exp_tszeq (s2e1: s2exp, s2e2: s2exp): bool // type-size-equality-test fun s2explst_tszeq (s2es1: s2explst, s2es2: s2explst): bool // type-size-equality-test (* ****** ****** *) fun s2kexp_ismat (x1: s2kexp, x2: s2kexp): bool fun s2kexplst_ismat (xs1: s2kexplst, xs2: s2kexplst): bool (* ****** ****** *) fun s2zexp_syneq (x1: s2zexp, x2: s2zexp): bool fun s2zexp_merge (x1: s2zexp, x2: s2zexp): s2zexp (* ****** ****** *) // // HX: implemented in [pats_staexp2_util2.dats] // fun s2exp_absuni (s2e: s2exp): @(s2exp, s2varlst_vt, s2explst_vt) // fun s2exp_opnexi (s2e: s2exp): @(s2exp, s2varlst_vt, s2explst_vt) fun s2explst_opnexi (s2es: s2explst): @(s2explst, s2varlst_vt, s2explst_vt) // (* ****** ****** *) fun s2exp_freevars (s2e: s2exp): s2varset_vt (* ****** ****** *) fun s2Var_occurcheck_s2exp (s2V0: s2Var, s2e: s2exp) : (int, s2cstlst, s2varlst, s2Varlst) // end of [s2Var_occurcheck_s2exp] (* ****** ****** *) fun s2exp_isbot (s2e: s2exp): bool fun s2exp_fun_isbot (s2e: s2exp): bool (* ****** ****** *) (* end of [pats_staexp2_util.sats] *) ATS2-Postiats-0.2.6/./src/pats_dmacro2.sats0000664000175000017500000001201412655455557016775 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2012 // (* ****** ****** *) // // HX: for handling macro expansion during typechecking // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location staload SEXP2 = "./pats_staexp2.sats" typedef s2var = $SEXP2.s2var typedef s2exp = $SEXP2.s2exp staload SUTIL = "./pats_staexp2_util.sats" viewtypedef stasub = $SUTIL.stasub staload DEXP2 = "./pats_dynexp2.sats" typedef d2var = $DEXP2.d2var typedef p2at = $DEXP2.p2at typedef d2exp = $DEXP2.d2exp typedef d2mac = $DEXP2.d2mac typedef d2exparglst = $DEXP2.d2exparglst (* ****** ****** *) datatype m2val = // | M2Vint of int | M2Vbool of bool | M2Vchar of char | M2Vfloat of string | M2Vstring of string | M2Vunit of () // | M2Vscode of s2exp // static code | M2Vdcode of d2exp // dynamic code // | M2Vlist of m2valist // | M2Verr of () // end of [m2val] where m2valist = List (m2val) (* ****** ****** *) val m2val_true : m2val and m2val_false : m2val (* ****** ****** *) fun print_m2val (x: m2val): void overload print with print_m2val fun prerr_m2val (x: m2val): void overload prerr with prerr_m2val fun fprint_m2val : fprint_type (m2val) fun fprint_m2valist : fprint_type (m2valist) (* ****** ****** *) fun liftval2dexp (loc0: location, m2v: m2val): d2exp (* ****** ****** *) absviewtype alphenv_viewtype viewtypedef alphenv = alphenv_viewtype fun alphenv_nil ():<> alphenv fun alphenv_sadd ( env: &alphenv, s2v: s2var, s2v_new: s2var ) : void // end of [alphenv_sadd] fun alphenv_dadd ( env: &alphenv, d2v: d2var, d2v_new: d2var ) : void // end of [alphenv_dadd] fun alphenv_sfind (env: !alphenv, s2v: s2var): Option_vt (s2var) // end of [alphenv_sfind] fun alphenv_dfind (env: !alphenv, d2v: d2var): Option_vt (d2var) // end of [alphenv_dfind] fun alphenv_pop (env: &alphenv): void fun alphenv_push (env: &alphenv): void fun alphenv_free (env: alphenv): void (* ****** ****** *) absviewtype evalctx_viewtype viewtypedef evalctx = evalctx_viewtype fun evalctx_nil ():<> evalctx fun print_evalctx (ctx: !evalctx): void overload print with print_evalctx fun prerr_evalctx (ctx: !evalctx): void overload prerr with prerr_evalctx fun fprint_evalctx : fprint_vtype (evalctx) fun evalctx_sadd (ctx: evalctx, s2v: s2var, m2v: m2val): evalctx // end of [evalctx_sadd] fun evalctx_dadd (ctx: evalctx, d2v: d2var, m2v: m2val): evalctx // end of [evalctx_dadd] fun evalctx_dfind (ctx: !evalctx, d2v: d2var): Option_vt (m2val) // end of [evalctx_dfind] fun evalctx_free (ctx: evalctx): void (* ****** ****** *) fun eval0_d2exp ( loc0: location, ctx: !evalctx, env: &alphenv, d2e: d2exp ) : m2val // end of [eval0_d2exp] (* ****** ****** *) fun stasub_make_evalctx (ctx: !evalctx): stasub (* ****** ****** *) typedef eval1_type (a:type) = (location(*loc0*), !evalctx, &alphenv, a) -> a // end of [eval1_type] fun eval1_listmap {a:type}{n:int} ( loc0: location, ctx: !evalctx, env: &alphenv, xs: list(a, n), f: eval1_type (a) ) : list (a, n) // end of [eval1_listmap] fun eval1_d2exp : eval1_type (d2exp) (* ****** ****** *) fun eval0_app_mac_long ( loc0: location , d2m: d2mac, ctx: !evalctx, env: &alphenv, d2as: d2exparglst ) : m2val // end of [eval0_app_mac_long] fun eval0_app_mac_short ( loc0: location , d2m: d2mac, ctx: !evalctx, env: &alphenv, d2as: d2exparglst ) : d2exp // end of [eval0_app_mac_short] (* ****** ****** *) fun dmacro_eval_decode (d2e: d2exp): d2exp fun dmacro_eval_xstage (d2e: d2exp): d2exp (* ****** ****** *) // // HX: for expanding macros in short form // fun dmacro_eval_app_short ( loc0: location, d2m: d2mac, d2as: d2exparglst ) : d2exp // end of [dmacro_eval_app_short] (* ****** ****** *) (* end of [pats_dmacro2.sats] *) ATS2-Postiats-0.2.6/./src/pats_utils.sats0000664000175000017500000001052712655455557016615 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) fun eqref_type{a:type}(x1: a, x2: a):<> bool (* ****** ****** *) // // HX: the [base] is stored inside [rep] // fun llint_make_string (rep: string): llint // (* ****** ****** *) fun double_make_string (rep: string): double (* ****** ****** *) // // HX: finding the base of [rep] // fun intrep_get_base (rep: string): int // // HX: finding the length of the suffix [UuLl]* fun intrep_get_nsfx (rep: string): uint // in the [rep] // (* ****** ****** *) // // HX: finding the length of the suffix [FfLl]* fun float_get_nsfx (rep: string): uint // in the [rep] // (* ****** ****** *) fun dirpath_append (dir: string, path: string, sep: char) : Strptr1 // end of [dirpath_append] (* ****** ****** *) fun fprint_stropt (out: FILEref, opt: Stropt): void (* ****** ****** *) fun{ a:t@ype } fprintlst ( out: FILEref , xs: List a , sep: string , fprint: (FILEref, a) -> void ) : void // end of [fprintlst] fun{ a:t@ype } fprintopt ( out: FILEref , opt: Option a , fprint: (FILEref, a) -> void ) : void // end of [fprintopt] (* ****** ****** *) // // HX-2011: // for ordered lists // abstype lstord (a:type) // fun lstord_nil {a:type} (): lstord (a) fun lstord_sing {a:type} (x: a): lstord (a) // fun lstord_insert{a:type} ( xs: lstord a, x: a, cmp: (a, a) - int ) : lstord (a) // end of [lstord_insert] fun lstord_union{a:type} ( xs: lstord a, ys: lstord a, cmp: (a, a) - int ) : lstord (a) // end of [lstord_union] (* ** HX: it returns a list of the duplicates in [xs] *) fun lstord_get_dups {a:type} (xs: lstord a, cmp: (a, a) - int): List (a) // end of [lstord_get_dups] fun lstord2list {a:type} (xs: lstord a): List (a) (* ****** ****** *) // abstype charset_type typedef charset = charset_type // typedef charlst = List (char) vtypedef charlst_vt = List_vt (char) // fun charset_sing (x: char): charset fun charset_is_member (xs: charset, x: char): bool fun charset_add (xs: charset, x: char): charset // fun charset_listize (xs: charset): charlst_vt // fun fprint_charset (out: FILEref, xs: charset): void // (* ****** ****** *) local // staload Q = "libats/SATS/linqueue_arr.sats" // vtypedef QUEUE (m:int, n:int) = $Q.QUEUE (uchar, m, n) // in (* in of [local] *) // fun queue_get_strptr1 {m,n:int} {st,ln:nat | st+ln <= n} ( q: &QUEUE (m, n), st: size_t st, ln: size_t ln ) : strptr1 // end-of-function // end // end of [local] (* ****** ****** *) local staload FCNTL = "libc/SATS/fcntl.sats" in (*in-of-local*) stadef fildes_v = $FCNTL.fildes_v (* // // HX: [fd] is regular: no support for pipe // HX: the function returns [strptr_null] as error indication // *) fun file2strptr {fd:int} ( pf: !fildes_v fd | fd: int fd ) : strptr0 = "patsopt_file2strptr" // end of [file2strptr] // end // end of [local] (* ****** ****** *) fun{ a:t@ype } tostring_fprint (prfx: string, fpr: (FILEref, a) -> void, x: a): strptr0 // end of [tostring_fprint] (* ****** ****** *) // fun ptr_as_volatile (p: ptr): void // for stopping optimization // (* ****** ****** *) (* end of [pats_utils.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_deref.dats0000664000175000017500000001733112655455557020015 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label macdef prerr_label = $LAB.prerr_label (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_deref" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": dereference cannot be performed" val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline () in the_trans3errlst_add (T3E_pfobj_search_none (loc0, s2l)) end // end of [auxerr_pfobj] fun auxmain .<>. ( loc0: loc_t , pfobj: pfobj , d3ls: d3lablst , s2rt: &s2exp? >> s2exp ) : s2exp = let val+ ~PFOBJ ( d2vw , s2e_ctx, s2e_elt, s2l ) = pfobj val () = s2rt := s2e_elt // var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e_elt, d3ls, linrest, sharing) // end of [val] // val s2e_sel = s2exp_hnfize (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) val islin = s2exp_is_lin (s2e_sel) in // if islin then let val s2t_elt = s2e_elt.s2exp_srt var ctxtopt: s2ctxtopt = None(*void*) val s2e_sel = s2exp_get_dlablst_context (loc0, s2e_elt, d3ls, ctxtopt) // end of [val] val isctx = ( case+ ctxtopt of Some _ => true | None _ => false ) : bool // end of [val] val () = if ~isctx then { val () = prerr_error3_loc (loc0) val () = prerr ": the linear component cannot taken out." val () = prerr_newline () val () = the_trans3errlst_add (T3E_s2addr_deref_context(loc0, s2e_elt, d3ls)) } // end of [val] // val () = d2var_inc_linval (d2vw) val () = let val s2e_sel = s2exp_topize (1, s2e_sel) val s2e_elt = ( case+ ctxtopt of | Some (ctxt) => s2ctxt_hrepl (ctxt, s2e_sel) | None () => s2e_elt ) : s2exp // end of [val] val s2e = s2exp_hrepl (s2e_ctx, s2e_elt) val () = d2var_set_type (d2vw, Some (s2e)) in // nothing end // end of [val] // in s2e_sel end // end of [then] else s2e_sel // end of [else] // end // end of [auxmain] in (* in-of-local *) implement s2addr_deref (loc0, s2l, d3ls, s2rt) = let val opt = pfobj_search_atview (s2l) in case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, pfobj, d3ls, s2rt) | ~None_vt () => let val s2e_sel = s2exp_t0ype_err () // end of [val] val () = s2rt := s2e_sel val () = auxerr_pfobj (loc0, s2l) in s2e_sel end // end of [None] end // end of [s2addr_deref] end // end of [local] (* ****** ****** *) local fun auxerr_nonderef ( loc0: loc_t, d3e: d3exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic expression cannot be dereferenced." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_nonderef (d3e)) end // end of [auxerr_nonderef] fun auxerr_reflinsel ( loc0: loc_t , d3e: d3exp, d3ls: d3lablst, s2e_sel: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerrln! (": the linear component cannot taken out.") in the_trans3errlst_add (T3E_d3exp_deref_reflinsel (d3e, d3ls)) end // end of [auxerr_reflinsel] (* ****** ****** *) fun aux1 ( loc0: loc_t , s2f0: s2hnf , d3e: d3exp, d3ls: d3lablst ) : d3exp = let // val opt = un_s2exp_ptr_addr_type (s2f0) // in // case+ opt of | ~None_vt () => aux2 (loc0, s2f0, d3e, d3ls) | ~Some_vt (s2l) => let var s2rt: s2exp val s2e_sel = s2addr_deref (loc0, s2l, d3ls, s2rt) // end of [val] in d3exp_sel_ptr (loc0, s2e_sel, d3e, s2rt, d3ls) end // end of [Some_vt] // end // end of [aux1] and aux2 ( loc0: loc_t , s2f0: s2hnf , d3e: d3exp, d3ls: d3lablst ) : d3exp = let // val opt = un_s2exp_ref_vt0ype_type (s2f0) // in // case+ opt of | ~None_vt () => aux3 (loc0, s2f0, d3e, d3ls) // end of [val] | ~Some_vt (s2e) => let // var s2rt = s2e // var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e, d3ls, linrest, sharing) (* end of [val] *) // val s2e_sel = s2exp_hnfize (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) val islin = s2exp_is_lin (s2e_sel) // val () = if islin then auxerr_reflinsel (loc0, d3e, d3ls, s2e_sel) // val _(*err*) = the_effenv_check_ref (loc0) // in d3exp_sel_ref (loc0, s2e_sel, d3e, s2rt, d3ls) end // end of [Some_vt] // end // end of [aux2] and aux3 ( loc0: loc_t , s2f0: s2hnf , d3e: d3exp, d3ls: d3lablst ) : d3exp = let // // HX: [d3ls] is ignored!!! // val opt = un_s2exp_lazy_t0ype_type (s2f0) // in // case+ opt of | ~None_vt () => aux4 (loc0, s2f0, d3e, d3ls) // end of [None_vt] | ~Some_vt (s2e) => d3exp_lazyeval (loc0, s2e, 0(*lin*), d3e) // end of [Some_vt] // end // end of [aux3] and aux4 ( loc0: loc_t , s2f0: s2hnf , d3e: d3exp, d3ls: d3lablst ) : d3exp = let // // HX: [d3ls] is ignored!!! // val opt = un_s2exp_lazy_vt0ype_vtype (s2f0) // in // case+ opt of | ~Some_vt (s2e) => d3exp_lazyeval (loc0, s2e, 1(*lin*), d3e) // end of [Some_vt] | ~None_vt () => let val () = auxerr_nonderef (loc0, d3e) in d3exp_errexp (loc0) end // end of [None_vt] // end // end of [aux4] in (* in-of-local *) implement d2exp_trup_deref (loc0, d2rt, d2ls) = let (* val () = println! ( "d2exp_trup_deref: d2rt = ", d2rt ) (* end of [val] *) *) val d3rt = d2exp_trup (d2rt) val d3ls = d2lablst_trup (d2ls) val () = d3exp_open_and_add (d3rt) val s2e0 = d3exp_get_type (d3rt) val s2f0 = s2exp2hnf_cast (s2e0) // (* val () = ( // if d3lablst_is_overld (d3ls) then { // val () = prerr_error3_loc (loc0) val () = prerrln! ( ": overloaded dot-symbol should be applied." ) (* end of [val] *) // val () = the_trans3errlst_add (T3E_d2exp_deref_overld(loc0, d2rt, d3ls)) // } (* end of [if] *) // ) (* end of [val] *) *) // in aux1 (loc0, s2f0, d3rt, d3ls) end // end of [d2exp_trup_deref] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_deref.dats] *) ATS2-Postiats-0.2.6/./src/pats_dmacro2_eval0.dats0000664000175000017500000006523312655455557020060 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_dmacro2_eval0" (* ****** ****** *) (* ** for T_* constructors *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) // staload SYM = "./pats_symbol.sats" // macdef symbol_ADD = $SYM.symbol_ADD macdef symbol_SUB = $SYM.symbol_SUB macdef symbol_MUL = $SYM.symbol_MUL // macdef symbol_LT = $SYM.symbol_LT macdef symbol_LTEQ = $SYM.symbol_LTEQ // macdef symbol_GT = $SYM.symbol_GT macdef symbol_GTEQ = $SYM.symbol_GTEQ // macdef symbol_EQ = $SYM.symbol_EQ macdef symbol_LTGT = $SYM.symbol_LTGT macdef symbol_BANGEQ = $SYM.symbol_BANGEQ // macdef symbol_CAR = $SYM.symbol_CAR macdef symbol_CDR = $SYM.symbol_CDR macdef symbol_ISNIL = $SYM.symbol_ISNIL macdef symbol_ISCONS = $SYM.symbol_ISCONS macdef symbol_ISLIST = $SYM.symbol_ISLIST // overload = with $SYM.eq_symbol_symbol overload print with $SYM.print_symbol // staload SYN = "./pats_syntax.sats" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) staload "./pats_dmacro2.sats" (* ****** ****** *) // // HX: not qualified dynamic symbol // fun d2sym_is_nonqua .<>. (d2s: d2sym): bool = let val q = d2s.d2sym_qua in case+ q.d0ynq_node of $SYN.D0YNQnone () => true | _ => false end // end of [d2sym_is_nonqua] (* ****** ****** *) // // HX-2012-08: // it is largely unclear how useful this feature is; so it is // now only given a primitive implementation, which can be readily // made more elaborate when a convincing need for it appears. // // extern fun eval0_app_sym ( loc0: location , sym: symbol, ctx: !evalctx, env: &alphenv, d2as: d2exparglst ) : m2val // end of [eval0_app_sym] (* ****** ****** *) local (* ****** ****** *) fun eval0_app_add ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let in // case+ m2v1 of | M2Vint (i1) => ( case+ m2v2 of | M2Vint (i2) => M2Vint (i1+i2) | _ => M2Verr() ) // end of [M2Vint] | _ => M2Verr() // end // end of [eval0_app_add] fun eval0_app_sub ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let in // case+ m2v1 of | M2Vint (i1) => ( case+ m2v2 of | M2Vint (i2) => M2Vint (i1-i2) | _ => M2Verr() ) // end of [M2Vint] | _ => M2Verr() // end // end of [eval0_app_sub] fun eval0_app_mul ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let in // case+ m2v1 of | M2Vint (i1) => ( case+ m2v2 of | M2Vint (i2) => M2Vint (i1*i2) | _ => M2Verr() ) // end of [M2Vint] | _ => M2Verr() // end // end of [eval0_app_mul] (* ****** ****** *) fn eval0_app_cmp_int ( loc0: location, m2v1: m2val, m2v2: m2val ) : Sgn = let // fun auxerr ( loc0: location , m2v1: m2val, m2v2: m2val ) : Sgn = let val () = prerr_errmac_loc (loc0) val () = prerr ": values are compared that do not support comparison." val () = prerr_newline () val () = the_trans3errlst_add (T3E_dmacro_eval0_cmp (loc0, m2v1, m2v2)) in 0(*meaningless*) end // end of [auxerr] // in // case+ m2v1 of | M2Vint (i1) => ( case+ m2v2 of | M2Vint (i2) => compare_int_int (i1, i2) | _ => auxerr (loc0, m2v1, m2v2) // end of [_] ) // end of [M2Vint] | _ => auxerr (loc0, m2v1, m2v2) // end // end of [eval0_app_cmp_int] (* ****** ****** *) fun eval0_app_lt ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn = eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn < 0 then m2val_true else m2val_false end // end of [eval0_exp_app_lt] fun eval0_app_lte ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn = eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn <= 0 then m2val_true else m2val_false end // end of [eval0_exp_app_lte] (* ****** ****** *) fun eval0_app_gt ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn = eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn > 0 then m2val_true else m2val_false end // end of [eval0_exp_app_gt] fun eval0_app_gte ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn = eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn >= 0 then m2val_true else m2val_false end // end of [eval0_exp_app_gte] (* ****** ****** *) fun eval0_app_eq ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn = eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn = 0 then m2val_true else m2val_false end // end of [eval0_exp_app_eq] fun eval0_app_neq ( loc0: location, m2v1: m2val, m2v2: m2val ) : m2val = let val sgn= eval0_app_cmp_int (loc0, m2v1, m2v2) in if sgn != 0 then m2val_true else m2val_false end // end of [eval0_exp_app_neq] (* ****** ****** *) fun d2exparg_get_d2explst (d2a: d2exparg): d2explst = let in case+ d2a of | D2EXPARGdyn (_(*loc*), _(*npf*), d2es) => d2es | D2EXPARGsta _ => list_nil () end // end of [d2exparg_get_d2explst] (* ****** ****** *) fun eval0_d2exparg_1 ( loc0: location , ctx: !evalctx, env: &alphenv, d2a: d2exparg ) : m2val = let val d2es = d2exparg_get_d2explst (d2a) in // case+ d2es of | list_cons (d2e, _) => eval0_d2exp (loc0, ctx, env, d2e) | list_nil () => M2Verr() // end // end of [eval0_d2exparg_1] fun eval0_d2exparglst_1 ( loc0: location , ctx: !evalctx, env: &alphenv, d2as: d2exparglst ) : m2val = ( // case+ d2as of | list_cons (d2a, _) => eval0_d2exparg_1 (loc0, ctx, env, d2a) | list_nil () => M2Verr() // ) // end of [eval0_d2exparglst_1] (* ****** ****** *) typedef m2val2 = @(m2val, m2val) (* ****** ****** *) fun eval0_d2exparg_2 ( loc0: location , ctx: !evalctx, env: &alphenv, d2a: d2exparg ) : m2val2 = let val d2es = d2exparg_get_d2explst (d2a) in // case+ d2es of | list_cons (d2e1, d2es) => let val m2v1 = eval0_d2exp (loc0, ctx, env, d2e1) in case+ d2es of | list_cons (d2e2, _) => let val m2v2 = eval0_d2exp (loc0, ctx, env, d2e2) in (m2v1, m2v2) end | list_nil () => (m2v1, M2Verr()) end // end of [list_cons] | list_nil ((*void*)) => (M2Verr(), M2Verr()) // end // end of [eval0_d2exparg_2] fun eval0_d2exparglst_2 ( loc0: location , ctx: !evalctx, env: &alphenv, d2as: d2exparglst ) : m2val2 = let in // case+ d2as of | list_cons (d2a, _) => eval0_d2exparg_2 (loc0, ctx, env, d2a) | list_nil ((*void*)) => (M2Verr(), M2Verr()) // end // end of [eval0_d2exparglst_2] (* ****** ****** *) in (* in of [local] *) implement eval0_app_sym ( loc0, sym, ctx, env, d2as ) = let (* val () = println! ("eval0_app_sym: sym = ", sym) // end of [val] *) in // case+ 0 of // | _ when sym = symbol_ADD => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_add (loc0, m2v1, m2v2) end | _ when sym = symbol_SUB => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_sub (loc0, m2v1, m2v2) end | _ when sym = symbol_MUL => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_mul (loc0, m2v1, m2v2) end // | _ when sym = symbol_LT => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_lt (loc0, m2v1, m2v2) end | _ when sym = symbol_LTEQ => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_lte (loc0, m2v1, m2v2) end // | _ when sym = symbol_GT => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_gt (loc0, m2v1, m2v2) end | _ when sym = symbol_GTEQ => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_gte (loc0, m2v1, m2v2) end // | _ when sym = symbol_EQ => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_eq (loc0, m2v1, m2v2) end | _ when sym = symbol_LTGT => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_neq (loc0, m2v1, m2v2) end | _ when sym = symbol_BANGEQ => let val (m2v1, m2v2) = eval0_d2exparglst_2 (loc0, ctx, env, d2as) // end of [val] in eval0_app_neq (loc0, m2v1, m2v2) end // | _ (*unrecognized-operator*) => M2Verr () // end // end of [eval0_app_sym] end // end of [local] (* ****** ****** *) fun eval0_app_eval ( loc0: location, m2v: m2val ) : m2val = let // fun auxerr ( loc0: location, m2v: m2val ) : m2val = let val () = prerr_errmac_loc (loc0) val () = prerr ": evaluation is performed on a value not representing code." val () = prerr_newline () in M2Verr () end (* end of [auxerr] *) // in // case+ m2v of | M2Vdcode (d2e) => let var ctx = evalctx_nil () var env = alphenv_nil () val m2v_res = eval0_d2exp (loc0, ctx, env, d2e) val () = alphenv_free (env) val () = evalctx_free (ctx) in m2v_res end // end of [V2ALcode] | _ => auxerr (loc0, m2v) // end // end of [eval0_app_eval] fun eval0_app_lift ( loc0: location, m2v: m2val ) : m2val = let val d2e = liftval2dexp (loc0, m2v) in M2Vdcode (d2e) end // end of [eval0_app_lift] (* ****** ****** *) fun eval0_car (m2vs: m2valist): m2val = case+ m2vs of | list_cons (m2v, _) => ( case+ m2v of | M2Vlist (m2vs) => ( case m2vs of | list_cons (m2v, _) => m2v | _ => M2Verr () ) | _ => M2Verr () ) | list_nil () => M2Verr () // argumentless // end of [eval0_car] fun eval0_cdr (m2vs: m2valist): m2val = case+ m2vs of | list_cons (m2v, _) => ( case+ m2v of | M2Vlist (m2vs) => ( case m2vs of | list_cons (_, m2vs) => M2Vlist (m2vs) | _ => M2Verr () ) | _ => M2Verr () ) | list_nil () => M2Verr () // argumentless // end of [eval0_cdr] (* ****** ****** *) fun eval0_isnil (m2vs: m2valist): m2val = case+ m2vs of | list_cons (m2v, _) => ( case+ m2v of | M2Vlist (m2vs) => ( case m2vs of | list_cons _ => M2Vbool (false) | list_nil _ => M2Vbool (true) ) | _ => M2Verr () ) | list_nil () => M2Verr () // argumentless // end of [eval0_isnil] fun eval0_iscons (m2vs: m2valist): m2val = case+ m2vs of | list_cons (m2v, _) => ( case+ m2v of | M2Vlist (m2vs) => ( case m2vs of | list_cons _ => M2Vbool (true) | list_nil _ => M2Vbool (false) ) | _ => M2Verr () ) | list_nil () => M2Verr () // argumentless // end of [eval0_iscons] (* ****** ****** *) fun eval0_islist (m2vs: m2valist): m2val = case+ m2vs of | list_cons (m2v, _) => ( case+ m2v of M2Vlist _ => M2Vbool (true) | _ => M2Vbool (false) ) | list_nil () => M2Verr () // argumentless // end of [eval0_islist] (* ****** ****** *) fun eval0_d2var ( loc0: location, ctx: !evalctx, d2v: d2var ) : m2val = let // fun auxerr ( loc0: location, d2v: d2var ) : m2val = let val () = prerr_errmac_loc (loc0) val () = (prerr ": the variable ["; prerr_d2var (d2v); prerr "] is unbound.") val () = prerr_newline () in M2Verr () end (* end of [auxerr] *) // val opt = evalctx_dfind (ctx, d2v) // in // case+ opt of | ~Some_vt (m2v) => m2v | ~None_vt () => auxerr (loc0, d2v) // end (* end of [eval0_d2var] *) (* ****** ****** *) extern fun eval0_d2explst ( loc0: location, ctx: !evalctx, env: &alphenv, d2es: d2explst ) : m2valist // end of [eval0_d2expopt] implement eval0_d2explst (loc0, ctx, env, d2es) = let in case+ d2es of | list_cons (d2e, d2es) => let val m2v = eval0_d2exp (loc0, ctx, env, d2e) val m2vs = eval0_d2explst (loc0, ctx, env, d2es) in list_cons (m2v, m2vs) end // end of [list_cons] | list_nil () => list_nil () end // end of [eval0_d2explst] (* ****** ****** *) extern fun eval0_d2expopt ( loc0: location, ctx: !evalctx, env: &alphenv, opt: d2expopt ) : m2val // end of [eval0_d2expopt] implement eval0_d2expopt (loc0, ctx, env, opt) = let in case+ opt of | Some (d2e) => eval0_d2exp (loc0, ctx, env, d2e) | None () => M2Vunit () end // end of [eval0_d2expopt] (* ****** ****** *) implement eval0_d2exp (loc0, ctx, env, d2e0) = let (* val () = ( println! ("eval0_d2exp: d2e0 = ", d2e0) ) // end of [val] *) // macdef eval0dexp (x) = eval0_d2exp (loc0, ctx, env, ,(x)) macdef eval0dexplst (x) = eval0_d2explst (loc0, ctx, env, ,(x)) macdef eval0dexpopt (x) = eval0_d2expopt (loc0, ctx, env, ,(x)) // in // case+ d2e0.d2exp_node of // case+ // | D2Evar(d2v) => m2v where { val m2v = eval0_d2var (loc0, ctx, d2v) } (* end of [D2Evar] *) // | D2Eint(i) => M2Vint (i) | D2Echar(c) => M2Vchar (c) | D2Efloat(rep) => M2Vfloat(rep) | D2Estring(str) => M2Vstring(str) // | D2Ei0nt(x) => let val-$LEX.T_INT (base, rep, sfx) = x.token_node // end of [val] in M2Vint (int_of_llint ($UT.llint_make_string (rep))) end // end of [D2Ei0nt] | D2Ec0har(x) => let val-$LEX.T_CHAR (c) = x.token_node in M2Vchar (c) // end of [val] end // end of [D2Ec0har] | D2Ef0loat(x) => let val-$LEX.T_FLOAT (bas, rep, sfx) = x.token_node in M2Vfloat (rep) // end of [val] end // end of [D2Ef0loat] | D2Es0tring(x) => let val-$LEX.T_STRING (s) = x.token_node in M2Vstring (s) end // end of [D2Es0tring] // | D2Esing(d2e) => eval0dexp(d2e) // | D2Eapplst (d2e, d2as) => ( case+ d2e.d2exp_node of // case+ | D2Emac (d2m) => ( // expanding a macro in long form eval0_app_mac_long (loc0, d2m, ctx, env, d2as) ) // end of [D2Emac] | D2Esym (d2s) when d2sym_is_nonqua d2s => ( // evaluating a predefined function (e.g., +, -, etc.) eval0_app_sym (loc0, d2s.d2sym_sym, ctx, env, d2as) ) // end of [D2Esym] | _ => let val () = prerr_errmac_loc (loc0) val () = prerr ": the dynamic expression at (" val () = $LOC.prerr_location (d2e.d2exp_loc) val () = prerr ") should be a macro but it is not." val () = prerr_newline () in M2Verr () end // end of [_] ) // end of [D2Eapplst] // | D2Eifhead ( i2nv, test, _then, _else ) => let val test = eval0dexp (test) in case+ test of | M2Vbool (b) => if b then eval0dexp (_then) else eval0dexpopt (_else) // end of [M2Vbool] | _ => M2Verr () end // end of [D2Eifhead] // | D2Emac d2m => let val d2as = list_nil () // argumentless in eval0_app_mac_long (loc0, d2m, ctx, env, d2as) end // end of [D2Emac] // | D2Emacsyn (knd, d2e) => ( case+ knd of | $SYN.MSKencode () => let val d2e = eval1_d2exp (loc0, ctx, env, d2e) // end of [val] in M2Vdcode (d2e) end // end of [MSKencode] | $SYN.MSKdecode () => eval0_app_eval (loc0, eval0dexp (d2e)) // end of [MSKdecode] | $SYN.MSKxstage () => let val m2v_res = eval0_app_eval (loc0, eval0dexp (d2e)) // end of [val] in M2Vdcode (liftval2dexp (loc0, m2v_res)) end // end of [MSKxstage] ) // end of [D2Emacsyn] // | D2Emacfun (name, d2es) => let val m2vs = eval0dexplst (d2es) in case+ 0 of | _ when name = symbol_CAR => eval0_car (m2vs) | _ when name = symbol_CDR => eval0_cdr (m2vs) | _ when name = symbol_ISNIL => eval0_isnil (m2vs) | _ when name = symbol_ISCONS => eval0_iscons (m2vs) | _ when name = symbol_ISLIST => eval0_islist (m2vs) | _ => M2Verr () end // end of [D2Emacfun] // | _ (*rest-of-d2exp*) => let val () = prerr_errmac_loc (loc0) val () = prerr ": the form of dynamic expression [" val () = prerr_d2exp (d2e0) val () = prerr "] is unsupported for macro expansion." val () = prerr_newline () val () = the_trans3errlst_add (T3E_dmacro_eval0_d2exp (loc0, d2e0)) // end of [val] in M2Verr () end // end of [_] // end // end of [eval0_d2exp] (* ****** ****** *) extern fun evalctx_extend_arg ( loc0: location , d2m: d2mac , knd: int (* 0/1: short/long *) , ctx: !evalctx , env: &alphenv , arg: m2acarg , d2a: d2exparg , res: evalctx ) : evalctx // endfun extern fun evalctx_extend_sarg ( loc0: location , d2m: d2mac , knd: int (* 0/1: short/long *) , ctx: !evalctx , env: &alphenv , sarg: s2varlst, s2es: s2explst , res: evalctx ) : evalctx // endfun extern fun evalctx_extend_darg ( loc0: location , d2m: d2mac , knd: int (* 0/1: short/long *) , ctx: !evalctx , env: &alphenv , darg: d2varlst, d2es: d2explst , res: evalctx ) : evalctx // endfun extern fun evalctx_extend_arglst ( loc0: location , d2m: d2mac , knd: int (* 0/1: short/long *) , ctx: !evalctx , env: &alphenv , args: m2acarglst , d2as: d2exparglst , res: evalctx ) : evalctx // endfun (* ****** ****** *) implement evalctx_extend_sarg ( loc0, d2m, knd, ctx, env, s2vs, s2es, res ) = let // fun auxerr ( loc0: location, d2m: d2mac, sgn: int ) : void = let val () = prerr_errmac_loc (loc0) val () = prerr ": some static argument group of the macro [" val () = prerr_d2mac (d2m) val () = if sgn < 0 then prerr "] is expected to contain more arguments." val () = if sgn > 0 then prerr "] is expected to contain fewer arguments." val () = prerr_newline () in the_trans3errlst_add (T3E_dmacro_evalctx_extend (loc0, d2m)) end // end of [auxerr] // in // case+ s2vs of | list_cons (s2v, s2vs) => ( case+ s2es of | list_cons (s2e, s2es) => let val res = evalctx_sadd (res, s2v, M2Vscode (s2e)) in evalctx_extend_sarg (loc0, d2m, knd, ctx, env, s2vs, s2es, res) end // end of [list_cons] | _ => let val () = auxerr (loc0, d2m, 1) in res end // end of [_] ) | list_nil () => ( case+ s2es of | list_cons _ => let val () = auxerr (loc0, d2m, ~1) in res end // end of [list_cons] | list_nil () => res ) // end // end of [evalctx_extend_sarg] (* ****** ****** *) implement evalctx_extend_darg ( loc0, d2m, knd, ctx, env, d2vs, d2es, res ) = let // fun auxerr ( loc0: location, d2m: d2mac, sgn: int ) : void = let val () = prerr_errmac_loc (loc0) val () = prerr ": some dynamic argument group of the macro [" val () = prerr_d2mac (d2m) val () = if sgn < 0 then prerr "] is expected to contain more arguments." val () = if sgn > 0 then prerr "] is expected to contain fewer arguments." val () = prerr_newline () in the_trans3errlst_add (T3E_dmacro_evalctx_extend (loc0, d2m)) end // end of [auxerr] // fun aux ( loc0: location, knd: int , ctx: !evalctx, env: &alphenv, d2e: d2exp ) : m2val = let in // if knd >= 1 then eval0_d2exp (loc0, ctx, env, d2e) else let // short form val d2e = eval1_d2exp (loc0, ctx, env, d2e) in M2Vdcode (d2e) end // end of [if] // end // end of [aux] // fun auxlst ( loc0: location, knd: int , ctx: !evalctx, env: &alphenv, d2es: d2explst ) : m2valist = let in // case+ d2es of | list_cons (d2e, d2es) => let val m2v = aux (loc0, knd, ctx, env, d2e) val m2vs = auxlst (loc0, knd, ctx, env, d2es) in list_cons (m2v, m2vs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlst] // in // case+ d2vs of | list_cons (d2v, list_nil ()) => ( case+ d2es of | list_cons (d2e, list_nil ()) => let val m2v = aux (loc0, knd, ctx, env, d2e) // end of [val] in evalctx_dadd (res, d2v, m2v) end // end of [list_sing] | _ => let val m2vs = auxlst (loc0, knd, ctx, env, d2es) // end of [val] in evalctx_dadd (res, d2v, M2Vlist (m2vs)) end // end of [_] ) // end of [list_sing] | list_cons (d2v, d2vs) => ( case+ d2es of | list_cons (d2e, d2es) => let val m2v = aux (loc0, knd, ctx, env, d2e) val res = evalctx_dadd (res, d2v, m2v) in evalctx_extend_darg (loc0, d2m, knd, ctx, env, d2vs, d2es, res) end // end of [list_cons] | list_nil () => let val () = auxerr (loc0, d2m, 1) in res end // end of [_] ) | list_nil () => ( case+ d2es of | list_cons _ => let val () = auxerr (loc0, d2m, ~1) in res end // end of [list_cons] | list_nil () => res ) // end // end of [evalctx_extend_darg] (* ****** ****** *) fun s2exparglst_join (s2as: s2exparglst): s2explst = let // fun auxwarn (loc) = { val () = prerr_warning2_loc (loc) val () = prerr ": the static macro argument is ignored." val () = prerr_newline () } // end of [auxwarn] // in // case+ s2as of | list_cons (s2a, s2as) => ( case+ s2a.s2exparg_node of | S2EXPARGseq (s2es) => ( case+ s2as of | list_cons _ => let val s2es2 = s2exparglst_join (s2as) in list_append (s2es, s2es2) // end of [val] end // end of [list_cons] | list_nil () => s2es // HX: this is most likely by far! ) | S2EXPARGone () => let val () = auxwarn (s2a.s2exparg_loc) in s2exparglst_join (s2as) // end of [val] end // end of [S2EXPARGone] | S2EXPARGall () => let val () = auxwarn (s2a.s2exparg_loc) in s2exparglst_join (s2as) // end of [val] end // end of [S2EXPARGall] ) // end of [list_cons] | list_nil () => list_nil () // end // end of [s2exparglst_join] (* ****** ****** *) implement evalctx_extend_arg ( loc0, d2m, knd, ctx, env, arg, d2a, res ) = let // fun auxerr ( loc0: location, loc: location, d2m: d2mac, stadyn: int ) : void = let val () = prerr_errmac_loc (loc0) val () = prerr ": the macro argument at (" val () = $LOC.prerr_location (loc) val () = if stadyn = 0 then prerr ") is expected to be static." val () = if stadyn > 0 then prerr ") is expected to be dynamic." val () = prerr_newline () in the_trans3errlst_add (T3E_dmacro_evalctx_extend (loc0, d2m)) end // end of [auxerr_dyn] // in // case+ arg of | M2ACARGsta (s2vs) => ( case+ d2a of | D2EXPARGsta (loc, s2as) => let val s2es = s2exparglst_join (s2as) in evalctx_extend_sarg (loc0, d2m, knd, ctx, env, s2vs, s2es, res) end // end of [D2EXPARGsta] | D2EXPARGdyn (npf, loc, _) => let val () = auxerr (loc0, loc, d2m, 0(*sta*)) in res end // end of [D2EXPARGdyn] ) | M2ACARGdyn (d2vs) => ( case+ d2a of | D2EXPARGdyn (loc, npf, d2es) => evalctx_extend_darg (loc0, d2m, knd, ctx, env, d2vs, d2es, res) | D2EXPARGsta (loc, s2es) => let val () = auxerr (loc0, loc, d2m, 1(*dyn*)) in res end // end of [D2EXPARGsta] ) // end // end of [eval0ctx_extend_arg] (* ****** ****** *) implement evalctx_extend_arglst ( loc0, d2m, knd, ctx, env, args, d2as, res ) = let in // case+ args of | list_cons (arg, args) => let val-list_cons (d2a, d2as) = d2as val res = evalctx_extend_arg (loc0, d2m, knd, ctx, env, arg, d2a, res) // end of [val] in evalctx_extend_arglst (loc0, d2m, knd, ctx, env, args, d2as, res) end // end of [list_cons] | list_nil () => res // end // end of [evalctx_extend_arglst] (* ****** ****** *) // // HX: expanding macros in long form // implement eval0_app_mac_long ( loc0, d2m, ctx, env, d2as ) = let (* val () = println! ("eval0_app_mac_long: d2m = ", d2m) *) // val n = list_length (d2as) val args = d2mac_get_arglst (d2m) val narg = list_length (args) // val () = ( if n != narg then let val () = prerr_errmac_loc (loc0) val () = prerr ": the macro function [" val () = prerr_d2mac (d2m) val () = if n > narg then prerr "] is overlly applied." val () = if n < narg then prerr "] is applied insufficiently." val () = prerr_newline () in the_trans3errlst_add (T3E_dmacro_eval0_app_mac_arity (loc0, d2m, d2as)) end // end of [if] ) : void // end of [val] // val ctx_new = evalctx_nil () val ctx_new = evalctx_extend_arglst ( loc0, d2m, 1(*long*), ctx, env, args, d2as, ctx_new ) // end of [val] (* val () = begin print "eval0_app_mac_long: ctx_new =\n"; print ctx_new end // end of [val] *) // val m2v = eval0_d2exp (loc0, ctx_new, env, d2mac_get_def (d2m)) // val () = evalctx_free (ctx_new) // in m2v end // end of [eval0_app_mac_long] (* ****** ****** *) // // HX: expanding macros in short form // implement eval0_app_mac_short (loc0, d2m, ctx, env, d2as) = let (* val () = ( println! ("eval0_app_mac_short: d2m = ", d2m) ) (* end of [val] *) *) val n = list_length (d2as) val args = d2mac_get_arglst (d2m) val narg = list_length (args) (* val () = ( println! ("eval0_app_mac_short: n = ", n); println! ("eval0_app_mac_short: narg = ", narg); ) // end of [val] *) val () = ( // if n < narg then let val () = prerr_errmac_loc (loc0) val () = prerr ": the macro function [" val () = prerr_d2mac (d2m) val () = prerr "] is applied insufficiently." val () = prerr_newline () in the_trans3errlst_add (T3E_dmacro_eval0_app_mac_arity (loc0, d2m, d2as)) end // end of [let] // end of [if] // ) : void // end of [val] // var d2as1 : d2exparglst = list_nil () // val d2as2 = ( // if narg <= n then let val (xs1, xs2) = list_split_at (d2as, narg) val () = d2as1 := list_of_list_vt (xs1) in xs2 end // end of [then] else let val () = d2as1 := d2as in list_nil () end // end of [else] // ) : d2exparglst // end of [val] // val ctx_new = evalctx_extend_arglst ( loc0, d2m, 0(*short*), ctx, env, args, d2as1, evalctx_nil () ) // end of [evalctx_extend_arglst] (* val () = ( print "eval0_app_mac_short: ctx_new =\n"; print_evalctx (ctx_new) ) // end of [val] *) val d2e = d2mac_get_def (d2m) val d2e = eval1_d2exp (loc0, ctx_new, env, d2e) val () = evalctx_free (ctx_new) in // case+ d2as2 of | list_nil () => (d2e) | list_cons _ => ( case+ d2e.d2exp_node of | D2Eapplst (d2e_fun, d2as1) => ( d2exp_applst (loc0, d2e_fun, list_append (d2as1, d2as2)) ) // end of [D2Eapplst] | _ (*non-D2Eapplst*) => d2exp_applst (loc0, d2e, d2as2) ) (* end of [list_cons] *) // end // end of [eval0_app_mac_short] (* ****** ****** *) (* end of [pats_dmacro2_eval0.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3.sats0000664000175000017500000002033512655455557017722 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_jsonize.sats" (* ****** ****** *) // staload "./pats_staexp2.sats" // staload TRENV3 = "./pats_trans3_env.sats" typedef h3ypo = $TRENV3.h3ypo typedef c3nstr = $TRENV3.c3nstr // (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) // // eq=1/neq=~1/gte=2/lt=~2 // typedef int2 = intBtwe (~2, 2) datatype s3exp = // | S3Evar of s2var | S3Ecst of s2cst // abstract constant // | S3Enull of () // = 0 | S3Eunit of () // = 1 | S3Ebool of bool (* boolean constant *) // | S3Ebvar of s2var // s2v == 1 | S3Ebneg of s3exp | S3Ebadd of (s3exp, s3exp) | S3Ebmul of (s3exp, s3exp) | S3Ebeq of (s3exp, s3exp) | S3Ebneq of (s3exp, s3exp) | S3Ebineq of (int2(*knd*), s3exp) // | S3Ebdom of s2var // 0 <= s2v <= 1 // | S3Eiatm of s2varmset (* mononomial term *) | S3Eicff of (intinf, s3exp) // HX: coefficient | S3Eisum of s3explst (* sum of list of icffs *) | S3Eimul of (s3exp, s3exp) // | S3Esizeof of (s2zexp) // HX: size of a type // | S3Eapp of (s3exp, s3explst) // | S3Eerr of (s2rt) // end of [s3exp] where s3explst = List (s3exp) // viewtypedef s3explst_vt = List_vt (s3exp) // (* ****** ****** *) fun s3exp_get_srt (s3e: s3exp): s2rt (* ****** ****** *) // // HX: compute the freevar set of [s3e] // fun s3exp_get_fvs (s3e: s3exp): s2varset_vt (* ****** ****** *) // fun print_s3exp (x: s3exp): void fun prerr_s3exp (x: s3exp): void fun fprint_s3exp : fprint_type (s3exp) // fun print_s3explst (xs: s3explst): void fun prerr_s3explst (xs: s3explst): void fun fprint_s3explst : fprint_type (s3explst) // overload print with print_s3exp overload prerr with prerr_s3exp overload prerr with fprint_s3exp overload print with print_s3explst overload prerr with prerr_s3explst overload prerr with fprint_s3explst // (* ****** ****** *) fun s3exp_syneq (x1: s3exp, x2: s3exp): bool fun s3explst_syneq (xs1: s3explst, xs2: s3explst): bool (* ****** ****** *) (* ** HX-2012-02-20: ** this one is used to implement S3Eisum *) fun s3exp_isgte (x1: s3exp, x2: s3exp): bool (* ****** ****** *) fun s3exp_err (s2t: s2rt): s3exp (* ****** ****** *) fun s3exp_var (s2v: s2var): s3exp fun s3exp_bvar (s2v: s2var): s3exp (* ****** ****** *) fun s3exp_cst (s2c: s2cst): s3exp (* ****** ****** *) fun s3exp_app (_fun: s3exp, _arg: s3explst): s3exp (* ****** ****** *) // val s3exp_null : s3exp val s3exp_unit : s3exp val s3exp_true: s3exp and s3exp_false: s3exp // val intinf_0 : intinf and intinf_1 : intinf and intinf_2 : intinf and intinf_neg_1 : intinf // val s3exp_0 : s3exp and s3exp_1 : s3exp and s3exp_2 : s3exp and s3exp_neg_1 : s3exp // (* ****** ****** *) fun s3exp_bool (b: bool): s3exp fun s3exp_bneg (s3e: s3exp): s3exp fun s3exp_beq (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_bneq (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_badd (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_bmul (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_ilt (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_ilte (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_igt (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_igte (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_ieq (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_ineq (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_bineq (knd: int2, s3e: s3exp): s3exp (* ****** ****** *) fun s3exp_int (i: int): s3exp fun s3exp_intinf (int: intinf): s3exp fun s3exp_icff (c: intinf, s3e: s3exp): s3exp fun s3explst_icff (c: intinf, s3es: s3explst): s3explst_vt fun s3exp_isum (s3es: s3explst): s3exp fun s3exp_ineg (s3e: s3exp): s3exp fun s3exp_isucc (s3e: s3exp): s3exp fun s3exp_ipred (s3e: s3exp): s3exp fun s3exp_iadd (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_isub (s3e1: s3exp, s3e2: s3exp): s3exp fun s3exp_imul (s3e1: s3exp, s3e2: s3exp): s3exp (* ****** ****** *) absviewtype s2vbcfenv_viewtype viewtypedef s2vbcfenv = s2vbcfenv_viewtype fun s2vbcfenv_nil (): s2vbcfenv fun s2vbcfenv_free (env: s2vbcfenv): void absview s2vbcfenv_push_v fun s2vbcfenv_pop (pf: s2vbcfenv_push_v | env: &s2vbcfenv): void fun s2vbcfenv_push (env: &s2vbcfenv): (s2vbcfenv_push_v | void) fun s2vbcfenv_find_nonlin ( env: &s2vbcfenv, s3e: s3exp ) : Option_vt (s2var) // end of [s2vbcfenv_find_nonlin] fun s2vbcfenv_find_cstapp ( env: &s2vbcfenv, s2c: s2cst, arg: s3explst ) : Option_vt (s2var) // end of [s2vbcfenv_find_cstapp] fun s2vbcfenv_extract (env: !s2vbcfenv): (s2varlst_vt, s3explst_vt) // end of [s2vbcfenv_extract] fun s2vbcfenv_add_svar (env: &s2vbcfenv, s2v: s2var): void fun s2vbcfenv_add_sbexp (env: &s2vbcfenv, s3p: s3exp): void (* // HX: for handling special static functions *) fun s2vbcfenv_add_cstapp ( env: &s2vbcfenv, s2c: s2cst, arg: s2explst, res: s2var ) : void // end of [s2vbcfenv_add_cstapp] fun s2vbcfenv_replace_cstapp ( env: &s2vbcfenv, s2t: s2rt, s2c: s2cst, arg: s2explst ) : s2var // end of [s2vbcfenv_replace_cstapp] (* // HX: for handling generic nonlinear expressions *) fun s2vbcfenv_add_nonlin (env: &s2vbcfenv, s2v: s2var, s3e: s3exp): void // end of [s2vbcfenv_add_nonlin] fun s2vbcfenv_replace_nonlin (env: &s2vbcfenv, s3e: s3exp): s2var (* ****** ****** *) // fun s3exp_make (env: &s2vbcfenv, s2e: s2exp): s3exp fun s3explst_make (env: &s2vbcfenv, s2es: s2explst): s3explst // fun s3exp_make_h3ypo (env: &s2vbcfenv, h3p: h3ypo): s3exp // // HX: these are auxiliary functions // fun s3exp_make_s2cst_s2explst ( env: &s2vbcfenv, s2c: s2cst, s2es: s2explst ) : s3exp // end of [s3exp_make_s2cst_s2explst] // (* ****** ****** *) // #define TAUTOLOGY (1) #define UNDECIDED (0) #define CONTRADICTION (~1) // fun s3explst_solve_s2exp ( loc0: location, env: &s2vbcfenv, s2p: s2exp, err: &int >> int ) : int(*status*) // end of [s3explst_solve_s2exp] (* ****** ****** *) fun s3exp_lintize (env: &s2vbcfenv, s3e: s3exp): s3exp (* ****** ****** *) absviewtype s2varindmap (n:int) fun s2varindmap_make {n:nat} (s2vs: !list_vt (s2var, n)): @(s2varindmap (n), int n) // end of [s2varindmap_make] fun s2varindmap_free {n:int} (map: s2varindmap (n)): void // end of [s2varindmap_free] // // HX: if 0 is returned, then [s2v] is not found // fun s2varindmap_find {n:nat} (map: !s2varindmap (n), s2v: s2var): natLte (n) // end of [s2varindmap_find] fun{a:t@ype} s3exp2icnstr{n:nat} ( loc: location , vim: !s2varindmap (n), n: int n, s3e: s3exp ) : icnstr (a, n+1) // end of [s3exp2icnstr] fun{a:t@ype} s3exp2myintvec{n:nat} ( vim: !s2varindmap (n), n: int n, s3e: s3exp, err: &int ) : myintvec (a, n+1) // end of [s3exp2myintvec] (* ****** ****** *) fun c3nstr_ats2_solve (c3t: c3nstr): void (* ****** ****** *) // fun c3nstr_mapgen_scst_svar (c3t: c3nstr): ( s2cstset_vt, s2varset_vt ) (* end of [c3nstr_mapgen_scst_svar] *) // fun jsonize_c3nstr (c3t: c3nstr): jsonval // fun c3nstr_export (out: FILEref, c3t: c3nstr): void // (* ****** ****** *) // abstype s2cfunmap // fun constraint3_initialize (): void fun constraint3_initialize_map (map: &s2cfunmap): void // (* ****** ****** *) (* end of [pats_constraint3.sats] *) ATS2-Postiats-0.2.6/./src/pats_main.dats0000664000175000017500000012475212655455557016370 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload STDIO = "libc/SATS/stdio.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) // staload "./pats_basics.sats" // (* ****** ****** *) // macdef isdebug() = (debug_flag_get () > 0) // (* ****** ****** *) // staload "./pats_comarg.sats" // (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_parsing.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_jsonize.sats" (* ****** ****** *) staload DEPGEN = "./pats_depgen.sats" staload TAGGEN = "./pats_taggen.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) // staload TRANS1 = "./pats_trans1.sats" staload TRENV1 = "./pats_trans1_env.sats" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload TRANS2 = "./pats_trans2.sats" staload TRENV2 = "./pats_trans2_env.sats" (* ****** ****** *) staload CODEGEN2 = "./pats_codegen2.sats" staload JSONIZE2 = "./pats_jsonize_synent2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload TRANS3 = "./pats_trans3.sats" staload TRENV3 = "./pats_trans3_env.sats" (* ****** ****** *) staload CNSTR3 = "./pats_constraint3.sats" (* ****** ****** *) // staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" // (* ****** ****** *) staload TYER = "./pats_typerase.sats" (* ****** ****** *) staload CCOMP = "./pats_ccomp.sats" (* ****** ****** *) // // HX-2015-10-02: // #define ATS_DYNLOADFLAG 0 // manual dynloading #define ATS_DYNLOADFUN_NAME "libatsopt_dynloadall" // (* ****** ****** *) // dynload "pats_error.dats" // dynload "pats_intinf.dats" // dynload "pats_counter.dats" // dynload "pats_utils.dats" dynload "pats_global.dats" // dynload "pats_basics.dats" // dynload "pats_comarg.dats" // dynload "pats_stamp.dats" // dynload "pats_symbol.dats" // dynload "pats_filename.dats" // dynload "pats_location.dats" // dynload "pats_jsonize.dats" // dynload "pats_errmsg.dats" // (* ****** ****** *) dynload "pats_reader.dats" dynload "pats_lexbuf.dats" dynload "pats_lexing.dats" dynload "pats_lexing_error.dats" dynload "pats_lexing_print.dats" dynload "pats_lexing_token.dats" dynload "pats_label.dats" dynload "pats_effect.dats" dynload "pats_fixity_prec.dats" dynload "pats_fixity_fxty.dats" dynload "pats_syntax.dats" dynload "pats_syntax_print.dats" dynload "pats_depgen.dats" dynload "pats_taggen.dats" dynload "pats_tokbuf.dats" dynload "pats_parsing.dats" dynload "pats_parsing_util.dats" dynload "pats_parsing_error.dats" dynload "pats_parsing_kwds.dats" dynload "pats_parsing_base.dats" dynload "pats_parsing_e0xp.dats" dynload "pats_parsing_sort.dats" dynload "pats_parsing_staexp.dats" dynload "pats_parsing_p0at.dats" dynload "pats_parsing_dynexp.dats" dynload "pats_parsing_decl.dats" dynload "pats_parsing_toplevel.dats" // dynload "pats_symmap.dats" dynload "pats_symenv.dats" // dynload "pats_staexp1.dats" dynload "pats_staexp1_print.dats" dynload "pats_dynexp1.dats" dynload "pats_dynexp1_print.dats" // dynload "pats_trans1_env.dats" // dynload "pats_e1xpval.dats" dynload "pats_e1xpval_error.dats" // dynload "pats_filename_reloc.dats" // dynload "pats_trans1_e0xp.dats" dynload "pats_trans1_error.dats" dynload "pats_trans1_effect.dats" dynload "pats_trans1_sort.dats" dynload "pats_trans1_staexp.dats" dynload "pats_trans1_p0at.dats" dynload "pats_trans1_syndef.dats" dynload "pats_trans1_dynexp.dats" dynload "pats_trans1_decl.dats" // dynload "pats_staexp2.dats" dynload "pats_stacst2.dats" // dynload "pats_staexp2_print.dats" dynload "pats_staexp2_pprint.dats" // dynload "pats_staexp2_sort.dats" // dynload "pats_staexp2_scst.dats" dynload "pats_staexp2_svar.dats" dynload "pats_staexp2_svvar.dats" // dynload "pats_staexp2_hole.dats" dynload "pats_staexp2_ctxt.dats" // dynload "pats_staexp2_dcon.dats" // dynload "pats_staexp2_skexp.dats" dynload "pats_staexp2_szexp.dats" // dynload "pats_staexp2_util1.dats" dynload "pats_staexp2_util2.dats" dynload "pats_staexp2_util3.dats" // dynload "pats_staexp2_error.dats" dynload "pats_staexp2_solve.dats" // dynload "pats_patcst2.dats" // dynload "pats_dynexp2.dats" dynload "pats_dyncst2.dats" // dynload "pats_dynexp2_print.dats" // dynload "pats_dynexp2_dcst.dats" dynload "pats_dynexp2_dvar.dats" dynload "pats_dynexp2_dmac.dats" // dynload "pats_dynexp2_util.dats" // dynload "pats_dynexp2_mapgen.dats" // dynload "pats_namespace.dats" // dynload "pats_trans2_env.dats" dynload "pats_trans2_error.dats" dynload "pats_trans2_sort.dats" dynload "pats_trans2_staexp.dats" dynload "pats_trans2_p1at.dats" dynload "pats_trans2_dynexp.dats" dynload "pats_trans2_impdec.dats" dynload "pats_trans2_decl.dats" // dynload "pats_codegen2.dats" dynload "pats_codegen2_util.dats" dynload "pats_codegen2_datype.dats" dynload "pats_codegen2_fprint.dats" // dynload "pats_jsonize_synent2.dats" // dynload "pats_dynexp3.dats" dynload "pats_dynexp3_print.dats" // dynload "pats_trans3_util.dats" dynload "pats_trans3_error.dats" // dynload "pats_trans3_env.dats" dynload "pats_trans3_env_print.dats" dynload "pats_trans3_env_scst.dats" dynload "pats_trans3_env_svar.dats" dynload "pats_trans3_env_termet.dats" dynload "pats_trans3_env_effect.dats" dynload "pats_trans3_env_dvar.dats" dynload "pats_trans3_env_lamlp.dats" dynload "pats_trans3_env_pfman.dats" dynload "pats_trans3_env_lstate.dats" // dynload "pats_dmacro2.dats" dynload "pats_dmacro2_print.dats" dynload "pats_dmacro2_eval0.dats" dynload "pats_dmacro2_eval1.dats" // dynload "pats_trans3_p2at.dats" dynload "pats_trans3_patcon.dats" dynload "pats_trans3_syncst.dats" dynload "pats_trans3_dynexp_up.dats" dynload "pats_trans3_dynexp_dn.dats" dynload "pats_trans3_appsym.dats" dynload "pats_trans3_caseof.dats" dynload "pats_trans3_selab.dats" dynload "pats_trans3_ptrof.dats" dynload "pats_trans3_viewat.dats" dynload "pats_trans3_deref.dats" dynload "pats_trans3_assgn.dats" dynload "pats_trans3_xchng.dats" dynload "pats_trans3_lvalres.dats" dynload "pats_trans3_fldfrat.dats" dynload "pats_trans3_looping.dats" dynload "pats_trans3_decl.dats" // dynload "pats_lintprgm.dats" dynload "pats_lintprgm_print.dats" (* // // HX: ATS_DYNLOADFLAG set to 0 // dynload pats_lintprgm_myint_int.dats dynload pats_lintprgm_myint_gmp.dats *) dynload "pats_lintprgm_solve.dats" // dynload "pats_constraint3.dats" // dynload "pats_constraint3_print.dats" // dynload "pats_constraint3_mapgen.dats" dynload "pats_constraint3_jsonize.dats" // dynload "pats_constraint3_init.dats" dynload "pats_constraint3_simplify.dats" dynload "pats_constraint3_icnstr.dats" dynload "pats_constraint3_solve.dats" // dynload "pats_histaexp.dats" dynload "pats_histaexp_print.dats" dynload "pats_histaexp_funlab.dats" // dynload "pats_hidynexp.dats" dynload "pats_hidynexp_print.dats" dynload "pats_hidynexp_util.dats" // dynload "pats_typerase_error.dats" dynload "pats_typerase_staexp.dats" dynload "pats_typerase_dynexp.dats" dynload "pats_typerase_decl.dats" // dynload "pats_ccomp.dats" dynload "pats_ccomp_print.dats" // dynload "pats_ccomp_hitype.dats" // dynload "pats_ccomp_tmplab.dats" dynload "pats_ccomp_tmpvar.dats" // dynload "pats_ccomp_d2env.dats" // dynload "pats_ccomp_funlab.dats" dynload "pats_ccomp_funent.dats" // dynload "pats_ccomp_util.dats" // dynload "pats_ccomp_ccompenv.dats" dynload "pats_ccomp_instrseq.dats" // dynload "pats_ccomp_hipat.dats" // dynload "pats_ccomp_dynexp.dats" // dynload "pats_ccomp_caseof.dats" dynload "pats_ccomp_claulst.dats" // dynload "pats_ccomp_lazyeval.dats" // dynload "pats_ccomp_trywith.dats" // dynload "pats_ccomp_looping.dats" // dynload "pats_ccomp_decl.dats" // dynload "pats_ccomp_subst.dats" dynload "pats_ccomp_environ.dats" dynload "pats_ccomp_template.dats" // dynload "pats_ccomp_emit.dats" dynload "pats_ccomp_emit2.dats" dynload "pats_ccomp_emit3.dats" dynload "pats_ccomp_main.dats" // (* ****** ****** *) %{^ // extern void patsopt_PATSHOME_set () ; extern char *patsopt_PATSHOME_get () ; // extern void patsopt_PATSHOMERELOC_set () ; // extern void patsopt_ATSPKGRELOCROOT_set () ; // %} // end of [%{^] (* ****** ****** *) fn patsopt_usage ( out: FILEref, arg0: comarg ) : void = let // val COMARGkey (_, cmdname) = arg0 // in // fprintln! (out, "Usage: ", cmdname, " ... \n"); fprintln! (out, "where a is of one of the following forms:\n"); // fprintln! (out, " -h (for printing out this help usage)"); fprintln! (out, " --help (for printing out this help usage)"); // fprintln! (out, " -v (for printing out the version)"); fprintln! (out, " --version (for printing out the version)"); // fprintln! (out, " -s filenames (for compiling (many) static )"); fprintln! (out, " --static filenames (for compiling (many) static )"); // fprintln! (out, " -d filenames (for compiling (many) dynamic )"); fprintln! (out, " --dynamic filenames (for compiling (many) dynamic )"); // fprintln! (out, " -o filename (output into )"); fprintln! (out, " --output filename (output into )"); fprintln! (out, " --output-w filename (output-write into )"); fprintln! (out, " --output-a filename (output-append into )"); // fprintln! (out, " -cc (for compiling into C)"); fprintln! (out, " -tc (for typechecking only)"); fprintln! (out, " --compile (for compiling into C)"); fprintln! (out, " --typecheck (for typechecking only)"); // (* fprintln! (out, " -dep (for generating information on file dependencices)"); *) fprintln! (out, " --depgen (for generating information on file dependencices)"); (* fprintln! (out, " -tag (for generating tagging information on syntactic entities)"); *) fprintln! (out, " --taggen (for generating tagging information on syntactic entities)"); // fprintln! (out, " --gline (for generating line pragma information in target code)"); // fprintln! (out, " --debug (for enabling the generation of more informative error messages)"); fprintln! (out, " --debug2 (for enabling the generation of debugging information in target code)"); // fprintln! (out, " --pkgreloc (for generating a script to help relocate packages in need)"); // fprintln! (out, " --codegen-2 (for outputing code generated from level-2 syntax)"); fprintln! (out, " --jsonize-2 (for outputing code in JSON based on level-2 syntax)"); // fprintln! (out, " --tlcalopt-disable (for disabling tail-call optimization)"); // fprintln! (out, " --constraint-export (for exporting constraints in JSON format)"); fprintln! (out, " --constraint-ignore (for entirely ignoring constraint-solving)"); // fprint_newline (out); // end // end of [patsopt_usage] (* ****** ****** *) // (* // HX: VERSION-0.0.1 released on September 2, 2013 HX: VERSION-0.0.2 released on September 19, 2013 HX: VERSION-0.0.3 released in the October of 2013 HX: VERSION-0.0.4 released in the November of 2013 HX: VERSION-0.0.5 released on January 15, 2014 HX: VERSION-0.0.6 released on February 16, 2014 HX: VERSION-0.0.7 released on March 30, 2014 HX: VERSION-0.0.8 released on Sunday, May 4, 2014 // HX: VERSION-0.1.0 released on Monday, June 9, 2014 HX: VERSION-0.1.1 released on Wednesday, July 30, 2014 HX: VERSION-0.1.2 released on Friday, August 29, 2014 HX: VERSION-0.1.3 released on Monday, September 29, 2014 HX: VERSION-0.1.4 released on Thursday, October 23, 2014 HX: VERSION-0.1.5 released on Thursday, November 20, 2014 HX: VERSION-0.1.6 released on Tuesday, January 6, 2015 HX: VERSION-0.1.7 released on Tuesday, January 20, 2015 HX: VERSION-0.1.8 released on Saturday, January 24, 2015 HX: VERSION-0.1.9 released on Friday, February 27, 2015 HX: VERSION-0.1.10 released on Sunday, March 22, 2015 HX: VERSION-0.1.11 released on Thursday, April 23, 2015 HX: VERSION-0.1.12 released on Saturday, May 16, 2015 HX: VERSION-0.1.13 released on Friday, May 22, 2015 // HX: VERSION-0.2.0 released on Tuesday, June 9, 2015 HX: VERSION-0.2.1 released on Sunday, July 12, 2015 HX: VERSION-0.2.2 released on Saturday, August 29, 2015 HX: VERSION-0.2.3 released on Tuesday, September 22, 2015 // *) // #define PATS_MAJOR_VERSION 0 #define PATS_MINOR_VERSION 2 #define PATS_MICRO_VERSION 6 // #define PATS_COPYRIGHT "Copyright (c) 2011-2015 Hongwei Xi" // (* // // HX-2011-04-27: this is supported in Postiats: // #define PATS_fVER (MAJOR, MINOR, MICRO) %(1000 * (1000 * MAJOR + MINOR) + MICRO) #define PATS_VERSION PATS_fVER (PATS_MAJOR_VERSION, PATS_MINOR_VERSION, PATS_MICRO_VERSION) // end of [PATS_VERSION] *) // extern fun patsopt_version (out: FILEref): void = "ext#libatsopt_patsopt_version" // implement patsopt_version(out) = { // val () = fprintf ( out , "ATS/Postiats version %i.%i.%i with %s\n" , @(PATS_MAJOR_VERSION, PATS_MINOR_VERSION, PATS_MICRO_VERSION, PATS_COPYRIGHT) ) (* end of [fprintf] *) // } (* end of [patsopt_version] *) // (* ****** ****** *) datatype waitkind = | WTKnone of () | WTKinput_sta of () // -s ... | WTKinput_dyn of () // -d ... | WTKoutput of () // -o ... | WTKdefine of () // -DATS ... | WTKinclude of () // -IATS ... // end of [waitkind] fn waitkind_get_stadyn (knd: waitkind): int = case+ knd of | WTKinput_sta () => 0 | WTKinput_dyn () => 1 | _ => ~1 // this is not a valid input kind // end of [cmdkind_get_stadyn] (* ****** ****** *) datatype outchan = | OUTCHANref of (FILEref) | OUTCHANptr of (FILEref) // end of [outchan] fun outchan_get_filr (oc: outchan): FILEref = ( case+ oc of | OUTCHANref (filr) => filr | OUTCHANptr (filr) => filr ) // end of [outchan_get_filr] (* ****** ****** *) typedef fmode = [m:file_mode] file_mode (m) typedef cmdstate = @{ comarg0= comarg // , PATSHOME= string // , waitkind= waitkind // // number of processed input files // , ninpfile= int // // prelude-loading is done or not // , preludeflag= int // , infil=filename // , outmode= fmode , outchan= outchan // , depgen= int // dep info generation , taggen= int // tagging info generation // , pkgreloc= int // relocating packages // , codegenflag= int // codegen based on level-2 syntax , jsonizeflag= int // jsonize based on level-2 syntax // , typecheckflag= int // 0 by default // , cnstrsolveflag= int // 0 by default // , olevel= int // level for output // , nerror= int // number of accumulated errors } // end of [cmdstate] (* ****** ****** *) fun outchan_make_path ( state: &cmdstate, name: string ) : outchan = let // val (pfopt | filp) = $STDIO.fopen_err (name, state.outmode) // in // if filp > null then let prval Some_v (pf) = pfopt val filr = $UN.castvwtp_trans {FILEref} @(pf | filp) in OUTCHANptr (filr) end // end of [then] else let prval None_v () = pfopt in OUTCHANref (stderr_ref) end // end of [else] // end // end of [outchan_make_path] (* ****** ****** *) fun cmdstate_set_outchan ( state: &cmdstate, out_new: outchan ) : void = let val out_old = state.outchan val ((*void*)) = state.outchan := out_new in // case+ out_old of // | OUTCHANref _ => () // | OUTCHANptr (filp) => let val err = $STDIO.fclose0_err (filp) in (*nothing*) end // end of [OUTCHANptr] // end // end of [cmdstate_set_outchan] (* ****** ****** *) fn isinpwait ( state: cmdstate ) : bool = ( case+ state.waitkind of // case+ | WTKinput_sta() => true | WTKinput_dyn() => true | _ (*non-WTKinput*) => false ) // end of [isinpwait] fn isoutwait (state: cmdstate): bool = ( case+ state.waitkind of | WTKoutput () => true | _(*non-WTKoutput*) => false ) (* end of [isoutwait] *) fn isdatswait (state: cmdstate): bool = ( case+ state.waitkind of | WTKdefine () => true | _(*non-WTKdefine*) => false ) (* end of [isdatswait] *) fn isiatswait (state: cmdstate): bool = ( case+ state.waitkind of | WTKinclude () => true | _(*non-WTKinclude*) => false ) (* end of [isiatswait] *) (* ****** ****** *) local var theOutFilename : Stropt = stropt_none // val (pf0 | ()) = vbox_make_view_ptr{Stropt}(view@(theOutFilename) | &theOutFilename) // end of [val] in (* in-of-local *) fn theOutFilename_get ( // argless ) : Stropt = out where { prval vbox pf = pf0 val out = theOutFilename val () = theOutFilename := stropt_none } // end of [theOutFilename_get] fn theOutFilename_set (name: Stropt) = () where { prval vbox pf = pf0 val () = theOutFilename := name } // end of [theOutFilename_set] end // end of [local] (* ****** ****** *) // extern fun the_fixity_load (PATSHOME: string): void = "ext#libatsopt_the_fixity_load" // implement the_fixity_load (PATSHOME) = let // val given = "prelude/fixity.ats" val fullname = $FIL.filename_append (PATSHOME, given) val fullname = string_of_strptr (fullname) val filename = $FIL.filename_make (given, given, fullname) // val ( pffil | () ) = $FIL.the_filenamelst_push(filename) val d0cs = parse_from_filename_toplevel(0(*sta*), filename) val ((*popped*)) = $FIL.the_filenamelst_pop(pffil | (*none*)) // val ( pfenv | () ) = $TRENV1.the_fxtyenv_push_nil((*void*)) val d1cs = $TRANS1.d0eclist_tr_errck (d0cs) val fxtymap = $TRENV1.the_fxtyenv_pop (pfenv | (*none*)) val ((*joined*)) = $TRENV1.the_fxtyenv_pervasive_joinwth (fxtymap) (* val () = begin print "[fixity_load] is finished."; print_newline () end // end of [val] *) in // empty end // end of [fixity_load] (* ****** ****** *) // extern fun pervasive_load ( PATSHOME: string, given: string ) : void = "ext#libatsopt_pervasive_load" // implement pervasive_load (PATSHOME, given) = { // (* val () = ( println! ("pervasive_load: given = ", given) ) (* end of [val] *) *) // val fullname = $FIL.filename_append (PATSHOME, given) val fullname = string_of_strptr (fullname) // val filename = $FIL.filename_make (given, given, fullname) // val (pfpush|()) = $FIL.the_filenamelst_push(filename) val d0cs = parse_from_filename_toplevel(0(*sta*), filename) val ((*popped*)) = $FIL.the_filenamelst_pop(pfpush | (*none*)) // val PACKNAME = "ATSLIB.prelude" val ((*default*)) = $GLOB.the_PACKNAME_set_name(PACKNAME) val ((*default*)) = $TRENV1.the_EXTERN_PREFIX_set("atspre_") // val (pfenv | ()) = $TRENV1.the_trans1_env_push((*void*)) val d1cs = $TRANS1.d0eclist_tr_errck(d0cs) val ((*popped*)) = $TRENV1.the_trans1_env_pop(pfenv | (*none*)) // val (pfenv | ()) = $TRENV2.the_trans2_env_push((*void*)) val d2cs = $TRANS2.d1eclist_tr_errck(d1cs) val ((*joined*)) = $TRENV2.the_trans2_env_pervasive_joinwth(pfenv | filename, d2cs) // val ((*reset*)) = $GLOB.the_PACKNAME_set_none() val ((*reset*)) = $TRENV1.the_EXTERN_PREFIX_set_none() // } (* end of [pervasive_load] *) (* ****** ****** *) // // HX-2015-10-05: // For use in libatsopt // extern fun the_prelude_load ( PATSHOME: string ) : void = "ext#libatsopt_the_prelude_load" // implement the_prelude_load (PATSHOME) = { // val () = the_fixity_load (PATSHOME) // val () = pervasive_load (PATSHOME, "prelude/basics_pre.sats") val () = pervasive_load (PATSHOME, "prelude/basics_sta.sats") val () = pervasive_load (PATSHOME, "prelude/basics_dyn.sats") val () = pervasive_load (PATSHOME, "prelude/basics_gen.sats") // val () = pervasive_load (PATSHOME, "prelude/macrodef.sats") // val () = stacst2_initialize () // internalizing some static consts val () = $CNSTR3.constraint3_initialize () // internalizing some maps // (* // // HX: Primary // *) // val () = pervasive_load (PATSHOME, "prelude/SATS/arith_prf.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/integer.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/pointer.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/bool.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/char.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/float.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/integer_ptr.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/integer_fixed.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/memory.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/string.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/strptr.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/tuple.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/reference.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/filebas.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/intrange.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/gorder.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/gnumber.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/grandom.sats") // (* // // manual loading // val () = pervasive_load (PATSHOME, "prelude/SATS/unsafe.sats") *) // val () = pervasive_load (PATSHOME, "prelude/SATS/checkast.sats") // (* // // HX: Secondary // *) // val () = pervasive_load (PATSHOME, "prelude/SATS/list.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/list_vt.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/option.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/option_vt.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/array.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/array_prf.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/arrayptr.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/arrayref.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/matrix.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/matrixptr.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/matrixref.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/stream.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/stream_vt.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/gprint.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/tostring.sats") // val () = pervasive_load (PATSHOME, "prelude/SATS/parray.sats") // null-terminated // val () = pervasive_load (PATSHOME, "prelude/SATS/extern.sats") // interfacing externs // (* val () = pervasive_load (PATSHOME, "prelude/SATS/giterator.sats") val () = pervasive_load (PATSHOME, "prelude/SATS/fcontainer.sats") *) // } (* end of [the_prelude_load] *) (* ****** ****** *) // // HX-2015-10-05: // For use in libatsopt // extern fun the_prelude_load_if ( PATSHOME: string, flag: &int ) : void = "ext#libatsopt_the_prelude_load_if" // implement the_prelude_load_if (PATSHOME, flag) = ( // if flag = 0 then let val () = flag := 1 in the_prelude_load (PATSHOME) end else () // end of [if] // ) (* end of [the_prelude_load_if] *) (* ****** ****** *) // extern fun do_depgen ( state: &cmdstate , given: string, d0cs: d0eclist ) : void // end of [do_depgen] extern fun do_taggen ( state: &cmdstate , given: string, d0cs: d0eclist ) : void // end of [do_taggen] // implement do_depgen (state, given, d0cs) = let // val ents = $DEPGEN.depgen_eval (d0cs) // // HX-2015-05-28: // [trans1] is not allowed after [depgen] // val ((*pop*)) = $FIL.the_filenamelst_ppop () // val filr = outchan_get_filr (state.outchan) // in $DEPGEN.fprint_entlst (filr, given, ents) end // end of [do_depgen] // implement do_taggen (state, given, d0cs) = let // val ents = $TAGGEN.taggen_proc (d0cs) // // HX-2015-05-28: // [trans1] is not allowed after [taggen] // val ((*pop*)) = $FIL.the_filenamelst_ppop () // val filr = outchan_get_filr (state.outchan) // in $TAGGEN.fprint_entlst (filr, given, ents) end // end of [do_taggen] // (* ****** ****** *) // extern fun do_pkgreloc ( state: &cmdstate , given: string, d1cs: d1eclist ) : void // end of [do_pkgreloc] // implement do_pkgreloc (state, given, d1cs) = let // val itms = $TRENV1.the_pkgrelocitmlst_get () // val filr = outchan_get_filr (state.outchan) // in // $TRENV1.fprint_pkgrelocitmlst(filr, itms) // end // end of [do_pkgreloc] // (* ****** ****** *) // extern fun do_codegen_2 ( state: &cmdstate , given: string(*unused*), d2cs: d2eclist ) : void // end-of-fun // (* ****** ****** *) implement do_codegen_2 (state, given, d2cs) = let // val out = state.outchan val out = outchan_get_filr(out) // in $CODEGEN2.d2eclist_codegen_out(out, d2cs) end // end of [do_codegen_2] (* ****** ****** *) // extern fun do_jsonize_2 ( state: &cmdstate , given: string(*unused*), d2cs: d2eclist ) : void // end-of-fun // (* ****** ****** *) local (* fun fprint_jsonlst ( out: FILEref, jsvs: jsonvalist ) : void = let // fun loop ( out: FILEref, jsvs: jsonvalist, i: int ) : void = let in // case+ jsvs of | list_cons (jsv, jsvs) => let val () = if i > 0 then fprint_string (out, ",\n") // end of [if] val ((*void*)) = fprintln! (out, jsv) in loop (out, jsvs, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, jsvs, 0) end // end of [fprint_jsonlst] *) in (* in of [local] *) implement do_jsonize_2 ( state, given, d2cs ) = let // val out = state.outchan val out = outchan_get_filr(out) // in $JSONIZE2.d2eclist_jsonize_out(out, d2cs) end (* end of [do_jsonize_2] *) end // end of [local] (* ****** ****** *) // extern fun do_trans1 ( state: &cmdstate, given: string, d0cs: d0eclist ) : d1eclist // end-of-function // extern fun do_trans12 ( state: &cmdstate, given: string, d0cs: d0eclist ) : d2eclist // end-of-function // extern fun do_trans123 ( state: &cmdstate, given: string, d0cs: d0eclist ) : d3eclist // end-of-function // extern fun do_trans1234 ( state: &cmdstate, given: string, d0cs: d0eclist ) : hideclist // end-of-function // extern fun do_transfinal (state: &cmdstate, given: string, d0cs: d0eclist): void extern fun do_transfinal2 (state: &cmdstate, given: string, d0cs: d0eclist): void // (* ****** ****** *) implement do_trans1 ( state, given, d0cs ) = let // val d1cs = $TRANS1.d0eclist_tr_errck (d0cs) // end of [val] // val () = $TRANS1.trans1_finalize () // val () = if isdebug() then { val () = prerrln! ( "The 1st translation (fixity) of [", given, "] is successfully completed!" ) (* end of [val] *) } // end of [if] // end of [val] // in d1cs end // end of [do_trans1] (* ****** ****** *) implement do_trans12 ( state, given, d0cs ) = d2cs where { // val d1cs = do_trans1 (state, given, d0cs) // val () = if state.ninpfile >= 2 then $TRENV2.the_trans2_env_initialize () // end of [if] // val d2cs = $TRANS2.d1eclist_tr_errck (d1cs) // val () = if isdebug() then { val () = prerrln! ( "The 2nd translation (binding) of [", given, "] is successfully completed!" ) (* end of [val] *) } // end of [if] // end of [val] // } (* end of [do_trans12] *) (* ****** ****** *) implement do_trans123 ( state, given, d0cs ) = d3cs where { // val d2cs = do_trans12(state, given, d0cs) // val () = $TRENV3.the_trans3_env_initialize() // val d3cs = $TRANS3.d2eclist_tr_errck(d2cs) // (* val () = { // val () = print "do_trans123: the_s3itmlst =\n" val () = $TRENV3.fprint_the_s3itmlst (stdout_ref) val ((*void*)) = print_newline ((*void*)) // } (* end of [val] *) *) // val () = { // val flag = state.cnstrsolveflag val c3t0 = $TRENV3.the_trans3_finget_constraint () // end of [val] // val () = ( // if flag = 0 then { val () = $CNSTR3.c3nstr_ats2_solve (c3t0) } (* end of [then] *) // ) (* end of [val] *) // val () = if flag > 0 then { val filr = outchan_get_filr (state.outchan) val () = $CNSTR3.c3nstr_export (filr, c3t0) } (* end of [then] *) // } (* end of [val] *) // val () = if isdebug() then { val () = prerrln! ( "The 3rd translation (type-checking) of [", given, "] is successfully completed!" ) (* end of [val] *) } // end of [then] // end of [if] // end of [val] // } (* end of [do_trans123] *) (* ****** ****** *) implement do_trans1234 ( state, given, d0cs ) = hids where { // val d3cs = do_trans123 (state, given, d0cs) // end of [d3cs] // val hids = $TYER.d3eclist_tyer_errck (d3cs) // (* val () = fprint_hideclist (stdout_ref, hids) *) // val () = if isdebug() then { val () = prerrln! ( "The 4th translation (type/proof-erasing) of [", given, "] is successfully completed!" ) (* end of [val] *) } // end of [if] // end of [val] // } (* end of [do_trans1234] *) (* ****** ****** *) implement do_transfinal (state, given, d0cs) = ( // case+ 0 of | _ when state.pkgreloc > 0 => let val d1cs = do_trans1 (state, given, d0cs) // end of [val] in do_pkgreloc (state, given, d1cs) end // end of [when ...] | _ when state.codegenflag = 2 => let val d2cs = do_trans12 (state, given, d0cs) // end of [val] in do_codegen_2 (state, given, d2cs) end // end of [when ...] | _ when state.jsonizeflag = 2 => let val d2cs = do_trans12 (state, given, d0cs) // end of [val] in do_jsonize_2 (state, given, d2cs) end // end of [when ...] | _ when state.typecheckflag > 0 => { val d3cs = do_trans123 (state, given, d0cs) } (* end of [when ...] *) | _ (*compilation*) => let val () = state.olevel := 1 // there is output val hids = do_trans1234 (state, given, d0cs) val outfil = outchan_get_filr (state.outchan) val flag = waitkind_get_stadyn (state.waitkind) val ((*void*)) = $CCOMP.ccomp_main (outfil, flag, state.infil, hids) in // nothing end // end of [_] // ) (* end of [do_transfinal] *) (* ****** ****** *) local fun auxexn ( p0: ptr , given: string, d0cs: d0eclist, exn: exn ) : void = let // fun auxerr ( n: int, outfil: FILEref, given: string, msg: string ) : void = let val cmtl = "/* ****** ****** */\n" // in // if (n > 0) then fprintf ( outfil , "%s//\n#error(PATSOPT_ERROR_(patsopt(%s): %s))\n//\n%s", @(cmtl, given, msg, cmtl) ) // end of [fprintf] // end (* end of [auxerr] *) // val (pf, fpf | p) = $UN.ptr0_vtake{cmdstate}(p0) // val olevel = p->olevel val outfil = outchan_get_filr (p->outchan) // val nerror = p->nerror val ((*void*)) = p->nerror := nerror + 1 // prval ((*addback*)) = fpf (pf) // in // case+ exn of // | ~($ERR.PATSOPT_FIXITY_EXN()) => ( auxerr (olevel, outfil, given, "fixity-errors") ) // | ~($ERR.PATSOPT_TRANS1_EXN()) => ( auxerr (olevel, outfil, given, "trans1-errors") ) // | ~($ERR.PATSOPT_TRANS2_EXN()) => ( auxerr (olevel, outfil, given, "trans2-errors") ) // | ~($ERR.PATSOPT_TRANS3_EXN()) => ( auxerr (olevel, outfil, given, "trans3-errors") ) // | ~($ERR.PATSOPT_TRANS4_EXN()) => ( auxerr (olevel, outfil, given, "trans4-errors") ) // (* | $ERR.PATSOPT_FILENONE_EXN(fname) => ( fold@(exn); fprintf (outfil, "/* ****** ****** */\n//\n", @()); fprintf (outfil, "#error(patsopt(%s): [%s] cannot be accessed)\n", @(given, fname)); fprintf (outfil, "//\n/* ****** ****** */\n", @()); $raise(exn); ) *) // | exn => $raise(exn) // end // end of [auxexn] in (* in-of-local*) implement do_transfinal2 (state, given, d0cs) = let // val p0 = &state // in // try let // val (pf, fpf | p) = $UN.ptr0_vtake{cmdstate}(p0) // val () = do_transfinal(!p, given, d0cs) // prval ((*addback*)) = fpf (pf) // in // nothing end with exn => auxexn (p0, given, d0cs, exn) // end // end of [do_transfinal2] end // end of [local] (* ****** ****** *) fn* process_cmdline {i:nat} .. ( state: &cmdstate, arglst: comarglst (i) ) : void = let in // case+ arglst of // | ~list_vt_cons (arg, arglst) => process_cmdline2 (state, arg, arglst) // | ~list_vt_nil () when state.ninpfile = 0 => let val stadyn = waitkind_get_stadyn (state.waitkind) // end of [val] in case+ 0 of | _ when stadyn >= 0 => { // val () = state.infil := $FIL.filename_stdin // val () = the_prelude_load_if (state.PATSHOME, state.preludeflag) // end of [val] // val () = if stadyn >= 1 then $GLOB.the_DYNLOADFLAG_set (1) // end of [if] val d0cs = parse_from_stdin_toplevel (stadyn) // var istrans: bool = true val isdepgen = state.depgen > 0 val () = if isdepgen then istrans := false val istaggen = state.taggen > 0 val () = if istaggen then istrans := false // val given = "__STDIN__" // val () = if isdepgen then do_depgen (state, given, d0cs) // end of [val] val () = if istaggen then do_taggen (state, given, d0cs) // end of [val] // val () = if istrans then $FIL.the_filenamelst_ppush($FIL.filename_stdin) // end of [if] val () = if istrans then do_transfinal2 (state, given, d0cs) // end of [val] // } (* end of [_ when ...] *) | _ (* stadyn < 0 *) => ((*nothing*)) end // end of [list_vt_nil when ...] // | ~list_vt_nil ((*void*)) => () // end // end of [process_cmdline] (* ****** ****** *) and process_cmdline2 {i:nat} .. ( state: &cmdstate , arg: comarg, arglst: comarglst (i) ) : void = let in // case+ arg of // | _ when isinpwait (state) => let // // HX: the [inpwait] state stays unchanged // val stadyn = waitkind_get_stadyn (state.waitkind) // end of [val] val nif = state.ninpfile in case+ arg of | COMARGkey (1, key) when nif > 0 => process_cmdline2_COMARGkey1 (state, arglst, key) | COMARGkey (2, key) when nif > 0 => process_cmdline2_COMARGkey2 (state, arglst, key) | COMARGkey (_, given) => let // val () = state.ninpfile := state.ninpfile+1 // val () = the_prelude_load_if (state.PATSHOME, state.preludeflag) // end of [val] // val () = if stadyn >= 1 then $GLOB.the_DYNLOADFLAG_set (1) // end of [if] val d0cs = parse_from_givename_toplevel (stadyn, given, state.infil) // end of [val] // var istrans: bool = true val isdepgen = state.depgen > 0 val () = if isdepgen then istrans := false val istaggen = state.taggen > 0 val () = if istaggen then istrans := false // val () = if isdepgen then do_depgen (state, given, d0cs) // end of [val] val () = if istaggen then do_taggen (state, given, d0cs) // end of [val] // val () = if istrans then do_transfinal2 (state, given, d0cs) // end of [val] // in process_cmdline (state, arglst) end (* end of [_] *) // end of [case] end // end of [_ when isinpwait] // | _ when isoutwait (state) => let val () = state.waitkind := WTKnone () // val COMARGkey (_, given) = arg // val opt = stropt_some (given) val ((*void*)) = theOutFilename_set (opt) // val _new = outchan_make_path (state, given) val ((*void*)) = cmdstate_set_outchan (state, _new) // in process_cmdline (state, arglst) end // end of [_ when isoutwait] // | _ when isdatswait (state) => let val () = state.waitkind := WTKnone () val COMARGkey (_, def) = arg val () = process_DATS_def (def) in process_cmdline (state, arglst) end // end of [_ when isdatswait] // | _ when isiatswait (state) => let val () = state.waitkind := WTKnone () val COMARGkey (_, dir) = arg val () = process_IATS_dir (dir) in process_cmdline (state, arglst) end // | COMARGkey (1, key) => process_cmdline2_COMARGkey1 (state, arglst, key) | COMARGkey (2, key) => process_cmdline2_COMARGkey2 (state, arglst, key) | COMARGkey (_, key) => let val () = comarg_warning (key) val () = state.waitkind := WTKnone () in process_cmdline (state, arglst) end // end of [COMARGkey] // end // end of [process_cmdline2] (* ****** ****** *) and process_cmdline2_COMARGkey1 {i:nat} .. ( state: &cmdstate , arglst: comarglst (i) , key: string // [key]: the string following [-] ) : void = let // val () = state.waitkind := WTKnone () val () = ( case+ key of // | "-o" => let val () = state.waitkind := WTKoutput in end // end of [-o] | "-s" => let val () = state.ninpfile := 0 val () = state.waitkind := WTKinput_sta in end // end of [-s] | "-d" => let val () = state.ninpfile := 0 val () = state.waitkind := WTKinput_dyn in end // end of [-d] // | "-cc" => (state.typecheckflag := 0) | "-tc" => (state.typecheckflag := 1) // | "-dep" => (state.depgen := 1) | "-tag" => (state.taggen := 1) // | _ when is_DATS_flag (key) => let val def = DATS_extract (key) val issome = stropt_is_some (def) in if issome then let val def = stropt_unsome (def) in process_DATS_def (def) end else let val () = state.waitkind := WTKdefine () in // nothing end // end of [if] end | _ when is_IATS_flag (key) => let val dir = IATS_extract (key) val issome = stropt_is_some (dir) in if issome then let val dir = stropt_unsome (dir) in process_IATS_dir (dir) end else let val () = state.waitkind := WTKinclude () in // nothing end // end of [if] end // | "-h" => let val cmd = state.comarg0 in patsopt_usage (stdout_ref, cmd) end // end of ["-h"] // | "-v" => patsopt_version (stdout_ref) // | _ (*rest*) => comarg_warning (key) // unrecognized key // ) : void // end of [val] // in process_cmdline (state, arglst) end // end of [process_cmdline2_COMARGkey1] (* ****** ****** *) and process_cmdline2_COMARGkey2 {i:nat} .. ( state: &cmdstate , arglst: comarglst (i) , key: string // [key]: the string following [--] ) : void = let // val () = state.waitkind := WTKnone () val () = ( case+ key of // | "--help" => patsopt_usage (stdout_ref, state.comarg0) // end of [--help] // | "--output" => state.waitkind := WTKoutput () | "--output-w" => { val () = state.outmode := file_mode_w val () = state.waitkind := WTKoutput () } // end of [--output-w] | "--output-a" => { val () = state.outmode := file_mode_a val () = state.waitkind := WTKoutput () } // end of [--output-a] // | "--static" => { val () = state.waitkind := WTKinput_sta } // end of [--static] | "--dynamic" => { val () = state.waitkind := WTKinput_dyn } // end of [--dynamic] // | "--compile" => (state.typecheckflag := 0) | "--typecheck" => (state.typecheckflag := 1) // | "--gline" => { val () = $GLOB.the_DEBUGATS_dbgline_set (1) } // end of [--gline] // mostly for debugging // | "--debug" => { val () = debug_flag_set (1) // in pats_basics } // end of [--debug] // more informative error messages | "--debug2" => { val () = debug_flag_set (1) val () = $GLOB.the_DEBUGATS_dbgflag_set (1) } // end of [--debug2] // debugging info in generated code // | "--depgen" => (state.depgen := 1) | "--taggen" => (state.taggen := 1) // | "--pkgreloc" => { val () = state.pkgreloc := 1 val () = $GLOB.the_PKGRELOC_set (1) } (* end of [--pkgreloc] *) // | "--codegen-2" => (state.codegenflag := 2) | "--jsonize-2" => (state.jsonizeflag := 2) // | "--tlcalopt-disable" => { val () = $GLOB.the_CCOMPATS_tlcalopt_set(0) } // | "--constraint-export" => { val () = state.cnstrsolveflag := 1 } | "--constraint-ignore" => { val () = state.cnstrsolveflag := ~1 } // | "--version" => patsopt_version (stdout_ref) // | _ (*unrecognized*) => comarg_warning (key) // ) : void // end of [val] // in process_cmdline (state, arglst) end // end of [process_cmdline2_COMARGkey2] (* ****** ****** *) // extern fun patsopt_main {n:pos} ( argc: int(n), argc: &(@[string][n]) ) : void = "ext#libatsopt_patsopt_main" // (* ****** ****** *) implement patsopt_main (argc, argv) = () where { // val () = set () where { extern fun set (): void = "mac#patsopt_PATSHOME_set" // end of [fun] } // end of [where] // end of [val] val () = set () where { extern fun set (): void = "mac#patsopt_PATSHOMERELOC_set" // end of [fun] } // end of [where] // end of [val] // val () = set () where { extern fun set (): void = "mac#patsopt_ATSPKGRELOCROOT_set" // end of [fun] } // end of [where] // end of [val] // val PATSHOME = let // val opt = get () where { extern fun get (): Stropt = "mac#patsopt_PATSHOME_get" } (* end of [where] *) val issome = stropt_is_some (opt) // in // if issome then stropt_unsome(opt) else let val () = prerrln! ( "The environment variable PATSHOME is undefined!" ) (* end of [val] *) in $ERR.abort ((*exit*)) end (* end of [else] *) // end : string // end of [val] // // for the run-time and atslib // val () = $FIL.the_prepathlst_push (PATSHOME) // val () = $TRENV1.the_trans1_env_initialize () val () = $TRENV2.the_trans2_env_initialize () // val arglst = comarglst_parse (argc, argv) val+~list_vt_cons (arg0, arglst) = arglst // var state = @{ comarg0= arg0 , PATSHOME= PATSHOME , waitkind= WTKnone () // // number of prcessed input files // , ninpfile= 0 // // load status of prelude files // , preludeflag= 0 // , infil= $FIL.filename_dummy // , outmode= file_mode_w , outchan= OUTCHANref(stdout_ref) // , depgen= 0 // file dependency generation , taggen= 0 // syntax tagging info generation // , pkgreloc= 0 // for package relocation // , codegenflag= 0 // syntax level for CODEgen , jsonizeflag= 0 // syntax level for JSONize // , typecheckflag= 0 // compiling by default // , cnstrsolveflag= 0 // cnstr-solving by default // , olevel= 0 // level of output // , nerror= 0 // number of accumulated errors } : cmdstate // end of [var] // val () = process_ATSPKGRELOCROOT () // val () = process_cmdline (state, arglst) // // HX-2015-01-09: // A tool like patscc should receive an error: // val () = if state.nerror > 0 then $ERR.abort{void}() // } (* end of [where] *) // end of [patsopt_main] // (* ****** ****** *) // #ifndef PATSOPT_MAIN_NONE // implement main (argc, argv) = ( // if (argc >= 2) then patsopt_main (argc, argv) else prerrln! ("Hello from ATS2(ATS/Postiats)!") // end of [if] ) (* end of [main] *) // #endif // ifndef(PATSOPT_MAIN_NONE) // (* ****** ****** *) (* end of [pats_main.dats] *) ATS2-Postiats-0.2.6/./src/pats_reader.dats0000664000175000017500000001603612655455557016701 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_reader.sats" (* ****** ****** *) viewtypedef freader (v:view) = $extype_struct "pats_reader_struct" of { pfres= v , getchar= (!v | (*none*)) - int , freeres= ( v | (*none*)) - void } // end of [freader] (* ****** ****** *) absviewt@ype reader0 = reader? // for initialization (* ****** ****** *) local // staload "libc/SATS/stdio.sats" // assume reader0 = freader (unit_v)? assume reader_vt0ype = [v:view] freader (v) // in (* in of [local] *) (* ****** ****** *) // implement reader_get_char (r) = r.getchar (r.pfres | (*none*)) // (* ****** ****** *) fun reader0_initize_filp {m:fmode}{l0:addr} ( pfmod: file_mode_lte(m,r) , pffil: FILE(m) @ l0 | r: &reader0 >> reader, p0: ptr l0 ) : void = () where { // viewdef v = FILE(m) @ l0 // val getchar = lam (pffil: !v | (*none*)): int = fgetc_err (pfmod | !p0) // end of [getchar] // val freeres = lam (pffil: v | (*none*)): void = fclose_exn (pffil | p0) // prval () = r.pfres := pffil // val ((*void*)) = r.getchar := getchar val ((*void*)) = r.freeres := freeres // } (* end of [reader0_initize_filp] *) (* ****** ****** *) fun reader0_initize_getc ( r: &reader0 >> reader, getc: () - int ) : void = () where { viewdef v = unit_v val getchar = __cast (getc) where { extern castfn __cast (f: () - int): (!v | (*none*)) - int // end of [extern] } // end of [val] val freeres = lam ( pf: v | (*none*) ) : void = let prval unit_v () = pf in (*none*) end val () = r.pfres := unit_v () val () = r.getchar := getchar val () = r.freeres := freeres } // end of [reader0_initize_getc] (* ****** ****** *) fun reader0_initize_string {n:nat} {l:addr} ( pfgc: free_gc_v (size_t?, l) , pfat: sizeLte n @ l | r: &reader0 >> reader, inp: string n, p: ptr l ) : void = () where { // viewdef v = ( free_gc_v (size_t?, l), sizeLte n @ l ) // end of [viewdef] // val getchar = lam (pf: !v | (*none*)): int = let prval pf1 = pf.1 val i = !p prval () = pf.1 := pf1 val isnotend = string_isnot_atend (inp, i) in if isnotend then let val c = string_get_char_at (inp, i) prval pf1 = pf.1 val () = !p := i + 1 prval () = pf.1 := pf1 in (int_of_char)c end else ~1 (*EOF*) // end of [if] end // end of [val] // val freeres = lam (pf: v | (*none*)): void = ptr_free (pf.0, pf.1 | p) // end of [freeres] // val () = r.pfres := (pfgc, pfat) val () = r.getchar := getchar val () = r.freeres := freeres } // end of [reader0_initize_string] (* ****** ****** *) local // viewtypedef cs = List_vt (char) // in (* in of [local] *) fun reader0_initize_charlst_vt {l:addr} ( pfgc: free_gc_v (cs?, l) , pfat: cs @ l | r: &reader0 >> reader, p: ptr l ) : void = () where { // viewdef v = ( free_gc_v (cs?, l), cs @ l ) // end of [viewdef] // val getchar = lam ( pf: !v | (*none*) ) : int = let prval pf1 = pf.1 // for dereferencing [p] in case+ !p of | ~list_vt_cons (c, cs) => let val () = !p := cs; prval () = pf.1 := pf1 in int_of_uchar (uchar_of_char (c)) end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ (!p); prval () = pf.1 := pf1 in ~1 (*EOF*) end // end of [list_vt_nil] end // end of [lam] // end of [val] // val freeres = lam ( pf: v | (*none*) ) : void = let prval (pf0, pf1) = pf val () = list_vt_free (!p) in ptr_free (pf0, pf1 | p) end // end of [freeres] // val () = r.pfres := (pfgc, pfat) val () = r.getchar := getchar val () = r.freeres := freeres } // end of [reader0_initize_charlst_vt] end // end of [local] (* ****** ****** *) fun reader0_uninitize ( r: &reader >> reader0 ) : void = () where { stavar v: view prval pf = r.pfres : v val () = r.freeres (pf | (*none*)) val () = cloptr_free (r.getchar) val () = cloptr_free (r.freeres) prval () = __assert (r) where { extern prfun __assert (r: &freader(v)? >> reader0): void } // end of [prval] } // end of [reader0_uninitize] (* ****** ****** *) end // end of [local] (* ****** ****** *) local extern prfun reader0_encode (r: &reader? >> reader0): void extern prfun reader0_decode (r: &reader0 >> reader?): void in // in of [local] (* ****** ****** *) implement reader_initize_filp ( pfmod, pffil | r, p ) = () where { // prval () = reader0_encode (r) // val ((*void*)) = reader0_initize_filp (pfmod, pffil | r, p) // } // end of [reader_initize_filp] (* ****** ****** *) implement reader_initize_getc (r, getc) = () where { // prval () = reader0_encode (r) // val ((*void*)) = reader0_initize_getc (r, getc) // } // end of [reader_initize_getc] (* ****** ****** *) implement reader_initize_string (r, inp) = () where { // val inp = string1_of_string inp val (pfgc, pfat | p) = ptr_alloc () val () = !p := size1_of_int1 (0) // prval () = reader0_encode (r) // val () = reader0_initize_string (pfgc, pfat | r, inp, p) // } (* end of preader_initize_string] *) (* ****** ****** *) implement reader_initize_charlst_vt (r, inp) = () where { val ( pfgc, pfat | p ) = ptr_alloc () // val () = !p := inp // prval () = reader0_encode (r) // val ((*void*)) = reader0_initize_charlst_vt (pfgc, pfat | r, p) // } (* end of preader_initize_charlst_vt] *) (* ****** ****** *) implement reader_uninitize (r) = () where { // val () = reader0_uninitize (r) // prval ((*void*)) = reader0_decode (r) // } (* end of [reader_uninitize] *) (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_reader.dats] *) ATS2-Postiats-0.2.6/./src/pats_basics.hats0000664000175000017500000000562012655455557016704 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Start Time: March, 2011 // (* ****** ****** *) (* // // HX: // BOX = 0x1 << 0 LIN = 0x1 << 1 PRF = 0x1 << 2 POL0 = 0x1 << 3 POL1 = 0x1 << 4 // TYPE = 00000 // 0 TYPE+ = 01000 // 8 TYPE- = 11000 // 24 T0YPE = 00001 // 1 T0YPE+ = 01001 // 9 T0YPE- = 11001 // 25 PROP = 00101 // 5 PROP+ = 01101 // 13 PROP- = 11101 // 29 VIEWTYPE = 00010 // 2 VIEWTYPE+ = 01010 // 10 VIEWTYPE- = 11010 // 26 VIEWT0YPE = 00011 // 3 VIEWT0YPE+ = 01011 // 11 VIEWT0YPE- = 11011 // 27 VIEW = 00111 // 7 VIEW+ = 01111 // 15 VIEW- = 11111 // 31 *) #define FLTFLAG (0x1 << 0) #define LINFLAG (0x1 << 1) #define PRFFLAG (0x1 << 2) #define POLFLAG (0x3 << 3) // #define TYPE_int 0 // 00000 #define TYPE_pos_int 8 // 01000 #define TYPE_neg_int 24 // 11000 // #define T0YPE_int 1 // 00001 #define T0YPE_pos_int 9 // 01001 #define T0YPE_neg_int 25 // 11001 // #define PROP_int 5 // 00101 #define PROP_pos_int 13 // 01101 #define PROP_neg_int 29 // 11101 // #define VIEWTYPE_int 2 // 00010 #define VIEWTYPE_pos_int 10 // 01010 #define VIEWTYPE_neg_int 26 // 11010 // #define VIEWT0YPE_int 3 // 00011 #define VIEWT0YPE_pos_int 11 // 01011 #define VIEWT0YPE_neg_int 27 // 11011 // #define VIEW_int 7 // 00111 #define VIEW_pos_int 15 // 01111 #define VIEW_neg_int 31 // 11111 (* ****** ****** *) // #define TYTUPKIND_flt 0 #define TYTUPKIND_box 1 #define TYTUPKIND_box_t 2 #define TYTUPKIND_box_vt 3 // #define TYRECKIND_flt 0 #define TYRECKIND_box 1 #define TYRECKIND_box_t 2 #define TYRECKIND_box_vt 3 // (* ****** ****** *) (* end of [pats_basics.hats] *) ATS2-Postiats-0.2.6/./src/pats_intinf_gmp.hats0000664000175000017500000002300312655455557017565 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "libc/SATS/gmp.sats" staload "./pats_intinf.sats" (* ****** ****** *) assume intinf_type = ref (mpz_vt) (* ****** ****** *) implement intinf_make_int (i) = let val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc) val () = mpz_init_set_int (!p, i) in ref_make_view_ptr (pfat | p) end // end of [intinf_make_int] implement intinf_make_size (sz) = let val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc) val sz = ulint_of_size (sz) val () = mpz_init_set_ulint (!p, sz) in ref_make_view_ptr (pfat | p) end // end of [intinf_make_size] (* ****** ****** *) (* ** HX: [rep] is unsigned! *) implement intinf_make_string (rep) = let val rep = string1_of_string (rep) in // if string_is_atend (rep, 0) then intinf_make_int (0) else let val c0 = rep[0] in if c0 = '0' then ( if string_is_atend (rep, 1) then intinf_make_int (0) else let val c1 = rep[1] in if (c1 != 'x' andalso c1 != 'X') then intinf_make_base_string_ofs (8, rep, 1) else intinf_make_base_string_ofs (16, rep, 2) // end of [if] end ) else intinf_make_base_string_ofs (10, rep, 0) // end of [if] end // end of [if] // end // end of [intinf_make_string] (* ****** ****** *) implement intinf_make_base_string_ofs (base, rep, ofs) = let val rep = __cast (rep) where { extern castfn __cast (x: string): ptr } val rep_ofs = __cast (rep + ofs) where { extern castfn __cast (x: ptr): string } val (pfgc, pfat | p) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc) val () = mpz_init_set_str_exn (!p, rep_ofs, base) in ref_make_view_ptr (pfat | p) end // end of [intinf_make_base_string_ofs] (* ****** ****** *) implement fprint_intinf (out, x) = let val (vbox pf_mpz | p) = ref_get_view_ptr (x) in $effmask_ref (fprint0_mpz (out, !p)) end // end of [fprint_intinf] (* ****** ****** *) implement intinf_get_int (x) = $effmask_ref (let val (vbox pf_mpz | p) = ref_get_view_ptr (x) in mpz_get_int (!p) end) // end of [intinf_get_int] (* ****** ****** *) implement lt_intinf_int (x1, x2) = compare_intinf_int (x1, x2) < 0 // end of [lt_intinf_int] implement lte_intinf_int (x1, x2) = compare_intinf_int (x1, x2) <= 0 // end of [lte_intinf_int] implement gt_intinf_int (x1, x2) = compare_intinf_int (x1, x2) > 0 // end of [gt_intinf_int] implement gte_intinf_int (x1, x2) = compare_intinf_int (x1, x2) >= 0 // end of [gte_intinf_int] (* ****** ****** *) implement eq_intinf_int (x1, x2) = compare_intinf_int (x1, x2) = 0 // end of [eq_intinf_int] implement eq_int_intinf (x1, x2) = compare_intinf_int (x2, x1) = 0 // end of [eq_int_intinf] implement eq_intinf_intinf (x1, x2) = compare_intinf_intinf (x1, x2) = 0 // end of [eq_intinf_intinf] (* ****** ****** *) implement neq_intinf_int (x1, x2) = compare_intinf_int (x1, x2) != 0 // end of [neq_intinf_int] implement neq_int_intinf (x1, x2) = compare_intinf_int (x2, x1) != 0 // end of [neq_int_intinf] implement neq_intinf_intinf (x1, x2) = compare_intinf_intinf (x1, x2) != 0 // end of [neq_intinf_intinf] (* ****** ****** *) implement compare_intinf_int (x1, x2) = $effmask_ref let val (vbox pf_mpz | p1) = ref_get_view_ptr (x1) in mpz_cmp_int (!p1, x2) end // end of [compare_intinf_int] implement compare_intinf_intinf (x1, x2) = $effmask_ref (let val (vbox pf_mpz | p1) = ref_get_view_ptr (x1) in $effmask_ref (let val (vbox pf_mpz | p2) = ref_get_view_ptr (x2) in mpz_cmp_mpz (!p1, !p2) end) end) // end of [compare_intinf_intinf] (* ****** ****** *) implement neg_intinf (x) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (x) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p) val () = mpz_neg1 (!p_res) in ref_make_view_ptr (pfat_res | p_res) end // end of [neg_intinf] (* ****** ****** *) implement add_intinf_int (x1, x2) = $effmask_ref (let val (vbox pf1 | p1) = ref_get_view_ptr (x1) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p1) val () = mpz_add (!p_res, x2) in ref_make_view_ptr (pfat_res | p_res) end) // end of [add_intinf_int] implement add_int_intinf (x1, x2) = add_intinf_int (x2, x1) implement add_intinf_intinf (x1, x2) = $effmask_ref (let val (vbox pf1 | p1) = ref_get_view_ptr (x1) in $effmask_ref (let val (vbox pf2 | p2) = ref_get_view_ptr (x2) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p1) val () = mpz_add (!p_res, !p2) in ref_make_view_ptr (pfat_res | p_res) end) end) // end of [add_intinf_intinf] (* ****** ****** *) implement sub_intinf_intinf (x1, x2) = $effmask_ref (let val (vbox pf1 | p1) = ref_get_view_ptr (x1) in $effmask_ref (let val (vbox pf2 | p2) = ref_get_view_ptr (x2) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p1) val () = mpz_sub (!p_res, !p2) in ref_make_view_ptr (pfat_res | p_res) end) end) // end of [sub_intinf_intinf] (* ****** ****** *) implement mul_intinf_int (x1, x2) = $effmask_ref (let val (vbox pf1 | p1) = ref_get_view_ptr (x1) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p1) val () = mpz_mul (!p_res, x2) in ref_make_view_ptr (pfat_res | p_res) end) // end of [mul_intinf_int] implement mul_int_intinf (x1, x2) = mul_intinf_int (x2, x1) implement mul_intinf_intinf (x1, x2) = $effmask_ref (let val (vbox pf1 | p1) = ref_get_view_ptr (x1) in $effmask_ref (let val (vbox pf2 | p2) = ref_get_view_ptr (x2) val (pfgc_res, pfat_res | p_res) = ptr_alloc_tsz {mpz_vt} (sizeof) prval () = free_gc_elim (pfgc_res) val () = mpz_init_set_mpz (!p_res, !p1) val () = mpz_mul (!p_res, !p2) in ref_make_view_ptr (pfat_res | p_res) end) end) // end of [mul_intinf_intinf] (* ****** ****** *) local // staload "libats/SATS/funset_listord.sats" staload _(*anon*) = "libats/DATS/funset_listord.dats" // fn cmp ( x1: intinf, x2: intinf ) : int = compare_intinf_intinf (x1, x2) // assume intinfset_type = set (intinf) // in (*in-of-local*) implement intinfset_sing (x) = funset_make_sing (x) implement intinfset_is_member (xs, x) = funset_is_member (xs, x, cmp) // end of [val] implement intinfset_add (xs, x) = xs where { var xs = xs val _(*exist*) = funset_insert (xs, x, cmp) } (* end of [val] *) implement intinfset_listize (xs) = funset_listize (xs) end // end of [local] (* ****** ****** *) implement fprint_intinfset (out, xs) = { val xs = intinfset_listize (xs) val () = $UT.fprintlst (out, $UN.castvwtp1{intinflst}(xs), ", ", fprint_intinf) val () = list_vt_free (xs) } (* end of [fprint_intinfset] *) (* ****** ****** *) val () = intinf_initialize () where { // extern fun intinf_initialize (): void = "patsopt_intinf_initialize" // } (* end of [where] *) // end of [val] (* ****** ****** *) %{$ // // This is necessary to prevent memory leak // static void* patsopt_intinf_malloc (size_t sz) { return ATS_MALLOC (sz) ; } // end of [patsopt_intinf_malloc] static void patsopt_intinf_free (void* ptr, size_t sz) { ATS_FREE (ptr) ; return ; } // end of [patsopt_intinf_free] static void* patsopt_intinf_realloc ( void* ptr, size_t sz_old, size_t sz_new ) { return ATS_REALLOC (ptr, sz_new) ; } // end of [patsopt_intinf_realloc] ats_void_type patsopt_intinf_initialize (/*argumentless*/) { mp_set_memory_functions ( &patsopt_intinf_malloc, &patsopt_intinf_realloc, &patsopt_intinf_free ) ; // end of [mp_set_memory_functions] return ; } // end of [patsopt_intinf_initialize] %} // end of [%{$] (* ****** ****** *) (* end of [pats_intinf_gmp.hats] *) ATS2-Postiats-0.2.6/./src/pats_basics.sats0000664000175000017500000001162312655455557016717 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) typedef fprint_type (a: t@ype) = (FILEref, a) -> void typedef fprint_vtype (a: viewt@ype) = (FILEref, !a) -> void (* ****** ****** *) val VIEWT0YPE_knd : int // = VIEWT0YPE_int (* ****** ****** *) fun test_fltkind (knd: int): bool // is flat? fun test_boxkind (knd: int): bool // is boxed? fun test_linkind (knd: int): bool // is linear? fun test_prfkind (knd: int): bool // is proof? fun test_prgmkind (knd: int): bool // is program? fun test_polkind (knd: int): int // 0/1/-1 (* ****** ****** *) fun impkind_linearize (knd: int): int fun impkind_neutralize (knd: int): int (* ****** ****** *) fun lte_impkind_impkind (k1: int, k1: int): bool (* ****** ****** *) datatype fxtykind = | FXK_infix | FXK_infixl | FXK_infixr | FXK_prefix | FXK_postfix // end of [fxtykind] (* ****** ****** *) datatype caskind = | CK_case // case | CK_case_pos // case+ | CK_case_neg // case- // end of [caskind] fun fprint_caskind : fprint_type (caskind) (* ****** ****** *) datatype funkind = // | FK_fn // nonrec fun | FK_fnx // tailrec fun | FK_fun // recursive fun // | FK_prfn // nonrec proof fun | FK_prfun // recursive proof fun // | FK_praxi // proof axion // | FK_castfn // casting fun // end of [funkind] fun funkind_is_proof (x: funkind): bool fun funkind_is_recursive (x: funkind): bool fun funkind_is_mutailrec (x: funkind): bool fun fprint_funkind : fprint_type (funkind) datatype valkind = | VK_val // val | VK_val_pos // val+ | VK_val_neg // val- (* | VK_mcval // mcval: for model-checking *) | VK_prval // prval: for theorem-proving // end of [valkind] (* ****** ****** *) fun valkind_is_model (vk: valkind):<> bool fun valkind_is_proof (vk: valkind):<> bool fun fprint_valkind : fprint_type (valkind) fun valkind2caskind (knd: valkind): caskind (* ****** ****** *) datatype dcstkind = | DCKfun of () | DCKval of () | DCKpraxi of () | DCKprfun of () | DCKprval of () | DCKcastfn of () // end of [dcstkind] fun dcstkind_is_fun (dck: dcstkind):<> bool fun dcstkind_is_val (dck: dcstkind):<> bool fun dcstkind_is_praxi (dck: dcstkind):<> bool fun dcstkind_is_prfun (dck: dcstkind):<> bool fun dcstkind_is_prval (dck: dcstkind):<> bool fun dcstkind_is_proof (dck: dcstkind):<> bool fun dcstkind_is_castfn (dck: dcstkind):<> bool fun fprint_dcstkind : fprint_type (dcstkind) (* ****** ****** *) datatype funclo = // // function or closure // | FUNCLOfun (* function *) | FUNCLOclo of int (*knd*) // closure: knd=1/0/~1: ptr/clo/ref // (* ****** ****** *) // typedef fcopt = Option (funclo) vtypedef fcopt_vt = Option_vt (funclo) // (* ****** ****** *) #define CLOPTR ( 1) #define CLOREF (~1) macdef FUNCLOcloptr = FUNCLOclo (CLOPTR) macdef FUNCLOcloref = FUNCLOclo (CLOREF) (* ****** ****** *) fun funclo_is_clo (fc: funclo): bool fun funclo_is_ptr (fc: funclo): bool fun funclo_is_cloptr (fc: funclo): bool fun print_funclo (x: funclo): void fun prerr_funclo (x: funclo): void fun fprint_funclo : fprint_type (funclo) fun eq_funclo_funclo (fc1: funclo, fc2: funclo): bool overload = with eq_funclo_funclo fun neq_funclo_funclo (fc1: funclo, fc2: funclo): bool overload != with neq_funclo_funclo (* ****** ****** *) // // HX: implemented in pats_basics.dats // fun debug_flag_get ((*void*)): int = "patsopt_debug_flag_get" fun debug_flag_set (flag: int): void = "patsopt_debug_flag_set" // fun prerrf_ifdebug {ts:types} ( fmt: printf_c ts, arg: ts ) : void = "patsopt_prerrf_ifdebug" // macdef filprerr_ifdebug (x) = prerrf_ifdebug (": [%s]: %s", @(#FILENAME, ,(x))) // (* ****** ****** *) (* end of [pats_basics.sats] *) ATS2-Postiats-0.2.6/./src/pats_global.sats0000664000175000017500000000563612655455557016722 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: August, 2012 // (* ****** ****** *) fun the_PACKNAME_get (): Stropt fun the_PACKNAME_set (opt: Stropt): void fun the_PACKNAME_set_none (): void fun the_PACKNAME_set_name (ns: string): void (* ****** ****** *) fun the_PKGRELOC_get (): int fun the_PKGRELOC_set (flag: int): void fun the_PKGRELOC_get_decl (): ptr fun the_PKGRELOC_set_decl (d0c: ptr): void (* ****** ****** *) (* // // HX-2014-06-06: // [STALOADFLAG] is no longer in use // fun the_STALOADFLAG_get (): int fun the_STALOADFLAG_set (flag: int): void *) (* ****** ****** *) fun the_DYNLOADFLAG_get (): int fun the_DYNLOADFLAG_set (flag: int): void (* ****** ****** *) fun the_DYNLOADNAME_get (): stropt fun the_DYNLOADNAME_set (name: string): void (* ****** ****** *) fun the_MAINATSFLAG_get (): int fun the_MAINATSFLAG_set (flag: int): void (* ****** ****** *) fun the_STATIC_PREFIX_get (): stropt fun the_STATIC_PREFIX_set (name: string): void (* ****** ****** *) // fun the_IATS_dirlst_get (): List (string) // // HX: ppush: permanent push // fun the_IATS_dirlst_ppush (dir: string): void // (* ****** ****** *) // fun the_DEBUGATS_dbgflag_get (): int fun the_DEBUGATS_dbgflag_set (flag: int): void // fun the_DEBUGATS_dbgline_get (): int fun the_DEBUGATS_dbgline_set (flag: int): void // (* ****** ****** *) // // HX-2015-04-26: // for managing tail-call optimization // fun the_CCOMPATS_tlcalopt_get (): int fun the_CCOMPATS_tlcalopt_set (flag: int): void // (* ****** ****** *) fun the_CCOMPENV_maxtmprecdepth_get (): int fun the_CCOMPENV_maxtmprecdepth_set (mtd: int): void (* ****** ****** *) (* end of [pats_global.sats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_kwds.dats0000664000175000017500000002160612655455557020131 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_lexing.sats" // for tokenizing staload "./pats_tokbuf.sats" // for token buffering (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) implement is_AND (x) = case+ x of | T_AND () => true | _ => false implement p_AND (buf, bt, err) = ptoken_fun (buf, bt, err, is_AND, PE_AND) implement p_AND_test (buf) = ptoken_test_fun (buf, is_AND) implement is_END (x) = case+ x of | T_END () => true | _ => false implement p_END (buf, bt, err) = ptoken_fun (buf, bt, err, is_END, PE_END) implement is_THEN (x) = case+ x of | T_THEN () => true | _ => false implement p_THEN (buf, bt, err) = ptoken_fun (buf, bt, err, is_THEN, PE_THEN) implement is_ELSE (x) = case+ x of | T_ELSE () => true | _ => false implement p_ELSE (buf, bt, err) = ptoken_fun (buf, bt, err, is_ELSE, PE_ELSE) implement is_AS (x) = case+ x of | T_AS () => true | _ => false implement p_AS (buf, bt, err) = ptoken_fun (buf, bt, err, is_AS, PE_AS) implement is_OF (x) = case+ x of | T_OF () => true | _ => false implement p_OF (buf, bt, err) = ptoken_fun (buf, bt, err, is_OF, PE_OF) implement is_IN (x) = case+ x of | T_IN () => true | _ => false implement p_IN (buf, bt, err) = ptoken_fun (buf, bt, err, is_IN, PE_IN) implement is_IF (x) = case+ x of | T_IF () => true | _ => false implement p_IF (buf, bt, err) = ptoken_fun (buf, bt, err, is_IF, PE_IF) implement is_SIF (x) = case+ x of | T_SIF () => true | _ => false implement p_SIF (buf, bt, err) = ptoken_fun (buf, bt, err, is_SIF, PE_SIF) implement is_CASE (x) = case+ x of | T_CASE _ => true | _ => false implement p_CASE (buf, bt, err) = ptoken_fun (buf, bt, err, is_CASE, PE_CASE) implement is_SCASE (x) = case+ x of | T_SCASE () => true | _ => false implement p_SCASE (buf, bt, err) = ptoken_fun (buf, bt, err, is_SCASE, PE_SCASE) implement is_REC (x) = case+ x of | T_REC () => true | _ => false implement p_REC (buf, bt, err) = ptoken_fun (buf, bt, err, is_REC, PE_REC) implement p_REC_test (buf) = ptoken_test_fun (buf, is_REC) implement is_WITH (x) = case+ x of | T_WITH () => true | _ => false implement p_WITH (buf, bt, err) = ptoken_fun (buf, bt, err, is_WITH, PE_WITH) implement is_WHEN (x) = case+ x of | T_WHEN () => true | _ => false implement p_WHEN (buf, bt, err) = ptoken_fun (buf, bt, err, is_WHEN, PE_WHEN) (* ****** ****** *) implement is_FORSTAR (x) = case+ x of | T_FORSTAR () => true | _ => false implement p_FORSTAR (buf, bt, err) = ptoken_fun (buf, bt, err, is_FORSTAR, PE_FOR) implement is_WHILESTAR (x) = case+ x of | T_WHILESTAR () => true | _ => false implement p_WHILESTAR (buf, bt, err) = ptoken_fun (buf, bt, err, is_WHILESTAR, PE_WHILE) implement is_TRY (x) = case+ x of | T_TRY () => true | _ => false implement p_TRY (buf, bt, err) = ptoken_fun (buf, bt, err, is_TRY, PE_TRY) (* ****** ****** *) implement is_BAR (x) = case+ x of | T_BAR () => true | _ => false implement p_BAR (buf, bt, err) = ptoken_fun (buf, bt, err, is_BAR, PE_BAR) implement p_BAR_test (buf) = ptoken_test_fun (buf, is_BAR) implement is_COLON (x) = case+ x of | T_COLON () => true | _ => false implement p_COLON (buf, bt, err) = ptoken_fun (buf, bt, err, is_COLON, PE_COLON) implement p_COLON_test (buf) = ptoken_test_fun (buf, is_COLON) implement is_COMMA (x) = case+ x of | T_COMMA () => true | _ => false implement p_COMMA (buf, bt, err) = ptoken_fun (buf, bt, err, is_COMMA, PE_COMMA) implement p_COMMA_test (buf) = ptoken_test_fun (buf, is_COMMA) implement is_SEMICOLON (x) = case+ x of | T_SEMICOLON () => true | _ => false implement p_SEMICOLON (buf, bt, err) = ptoken_fun (buf, bt, err, is_SEMICOLON, PE_SEMICOLON) implement p_SEMICOLON_test (buf) = ptoken_test_fun (buf, is_SEMICOLON) // end of [p_SEMICOLON_test] implement is_BARSEMI (x) = case+ x of | T_BAR () => true | T_SEMICOLON () => true | _ => false implement p_BARSEMI_test (buf) = ptoken_test_fun (buf, is_BARSEMI) (* ****** ****** *) implement is_LPAREN (x) = case+ x of | T_LPAREN () => true | _ => false implement p_LPAREN (buf, bt, err) = ptoken_fun (buf, bt, err, is_LPAREN, PE_LPAREN) implement is_RPAREN (x) = case+ x of | T_RPAREN () => true | _ => false implement p_RPAREN (buf, bt, err) = ptoken_fun (buf, bt, err, is_RPAREN, PE_RPAREN) (* ****** ****** *) implement is_LBRACKET (x) = case+ x of | T_LBRACKET () => true | _ => false implement p_LBRACKET (buf, bt, err) = ptoken_fun (buf, bt, err, is_LBRACKET, PE_LBRACKET) implement is_RBRACKET (x) = case+ x of | T_RBRACKET () => true | _ => false implement p_RBRACKET (buf, bt, err) = ptoken_fun (buf, bt, err, is_RBRACKET, PE_RBRACKET) (* ****** ****** *) implement is_LBRACE (x) = case+ x of | T_LBRACE () => true | _ => false implement p_LBRACE (buf, bt, err) = ptoken_fun (buf, bt, err, is_LBRACE, PE_LBRACE) implement is_RBRACE (x) = case+ x of | T_RBRACE () => true | _ => false implement p_RBRACE (buf, bt, err) = ptoken_fun (buf, bt, err, is_RBRACE, PE_RBRACE) (* ****** ****** *) implement is_BANG (x) = case+ x of | T_BANG () => true | _ => false implement p_BANG (buf, bt, err) = ptoken_fun (buf, bt, err, is_BANG, PE_BANG) // end of [p_BANG] implement is_DOT (x) = case+ x of | T_DOT () => true | _ => false implement p_DOT (buf, bt, err) = ptoken_fun (buf, bt, err, is_DOT, PE_DOT) // end of [p_DOT] implement is_EQ (x) = case+ x of | T_EQ () => true | _ => false implement p_EQ (buf, bt, err) = ptoken_fun (buf, bt, err, is_EQ, PE_EQ) // end of [p_EQ] implement is_EQGT (x) = case+ x of | T_EQGT () => true | _ => false // end of [is_EQGT] implement p_EQGT (buf, bt, err) = ptoken_fun (buf, bt, err, is_EQGT, PE_EQGT) // end of [p_EQGT] implement is_GT (x) = case+ x of | T_GT () => true | _ => false // end of [is_GT] implement p_GT (buf, bt, err) = ptoken_fun (buf, bt, err, is_GT, PE_GT) // end of [p_GT] implement is_GTDOT (x) = case+ x of | T_GTDOT () => true | _ => false // end of [is_GTDOT] implement p_GTDOT (buf, bt, err) = ptoken_fun (buf, bt, err, is_GTDOT, PE_GTDOT) // end of [p_GTDOT] implement is_GTLT (x) = case+ x of | T_GTLT () => true | _ => false // end of [is_GTLT] implement p_GTLT (buf, bt, err) = ptoken_fun (buf, bt, err, is_GTLT, PE_GTLT) // end of [p_GTLT] implement p_GTLT_test (buf) = ptoken_test_fun (buf, is_GTLT) (* ****** ****** *) implement is_SRPTHEN (x) = case+ x of | T_SRPTHEN () => true | _ => false // end of [is_SRPTHEN] implement p_SRPTHEN (buf, bt, err) = ptoken_fun (buf, bt, err, is_SRPTHEN, PE_SRPTHEN) // end of [p_SRPTHEN] implement is_SRPENDIF (x) = case+ x of | T_SRPENDIF () => true | _ => false // end of [is_SRPENDIF] implement p_SRPENDIF (buf, bt, err) = ptoken_fun (buf, bt, err, is_SRPENDIF, PE_SRPENDIF) // end of [p_SRPENDIF] (* ****** ****** *) implement is_EOF (x) = case+ x of | T_EOF () => true | _ => false // end of [is_EOF] implement p_EOF (buf, bt, err) = ptoken_fun (buf, bt, err, is_EOF, PE_EOF) // end of [p_EOF] (* ****** ****** *) implement is_ATLPAREN (x) = case+ x of | T_ATLPAREN () => true | _ => false // end of [is_ATLPAREN] implement is_LPAREN_deco (x) = case+ x of | T_ATLPAREN () => true | T_QUOTELPAREN () => true | _ => false // end of [is_LPAREN_deco] implement is_ATLBRACE (x) = case+ x of | T_ATLBRACE () => true | _ => false // end of [is_ATLBRACE] implement is_LBRACE_deco (x) = case+ x of | T_ATLBRACE () => true | T_QUOTELBRACE () => true | _ => false // end of [is_LBRACE_deco] (* ****** ****** *) (* end of [pats_parsing_kwds.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp3.sats0000664000175000017500000006415512655455557017055 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location typedef location = $LOC.location (* ****** ****** *) staload INT = "./pats_intinf.sats" typedef intinf = $INT.intinf (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" typedef d2cst = d2cst_type // abstract typedef d2var = d2var_type // abstract (* ****** ****** *) datatype p3at_node = // | P3Tany of d2var // wildcard | P3Tvar of (d2var) // mutability from the context // | P3Tcon of (pckind, d2con, int(*npf*), p3atlst(*arg*)) // | P3Tint of (int) | P3Tintrep of string(*rep*) | P3Tbool of (bool) | P3Tchar of (char) | P3Tfloat of (string) | P3Tstring of (string) // | P3Ti0nt of i0nt | P3Tf0loat of f0loat // | P3Tempty (* empty pattern *) // | P3Trec of (int(*knd*), int(*npf*), labp3atlst) | P3Tlst of (int(*lin*), s2exp(*elt*), p3atlst) // pattern list // | P3Trefas of (d2var, p3at) // referenced pattern // | P3Texist of (s2varlst, p3at) // existential opening // | P3Tvbox of (d2var) // vbox pattern // | P3Tann of (p3at, s2exp) // ascribed pattern // | P3Terrpat of ((*void*)) // indication of error // end of [p3at_node] and labp3at = LABP3AT of (label, p3at) where p3at = '{ p3at_loc= location , p3at_node= p3at_node , p3at_type= s2exp // HX: it may still be a s2Var , p3at_dvaropt= d2varopt // for presevation purpose , p3at_type_left= s2expopt // for presevation purpose } // end of [p3at] and p3atlst = List (p3at) and p3atopt = Option (p3at) and labp3atlst = List (labp3at) (* ****** ****** *) fun print_p3at (x: p3at): void overload print with print_p3at fun prerr_p3at (x: p3at): void overload prerr with prerr_p3at fun fprint_p3at : fprint_type (p3at) overload fprint with fprint_p3at fun fprint_p3atlst : fprint_type (p3atlst) overload fprint with fprint_p3atlst (* ****** ****** *) fun p3at_make_node ( loc: location, s2e: s2exp, node: p3at_node ) : p3at // end of [p3at_make_node] fun p3at_any ( loc: location, s2e: s2exp, d2v: d2var ) : p3at // end of [p3at_any] fun p3at_var ( loc: location, s2e: s2exp, d2v: d2var ) : p3at // end of [p3at_var] fun p3at_con ( loc: location , s2e: s2exp, pck: pckind, d2c: d2con, npf: int, arg: p3atlst ) : p3at // end of [p3at_con] fun p3at_int ( loc: location, s2f: s2exp, i: int ) : p3at // end of [p3at_int] fun p3at_intrep ( loc: location, s2f: s2exp, rep: string ) : p3at // end of [p3at_intrep] fun p3at_bool ( loc: location, s2f: s2exp, b: bool ) : p3at // end of [p3at_bool] fun p3at_char ( loc: location, s2f: s2exp, c: char ) : p3at // end of [p3at_char] fun p3at_float ( loc: location, s2f: s2exp, rep: string ) : p3at // end of [p3at_float] fun p3at_string ( loc: location, s2f: s2exp, str: string ) : p3at // end of [p3at_string] // fun p3at_i0nt ( loc: location, s2f: s2exp, x: i0nt ) : p3at // end of [p3at_i0nt] fun p3at_f0loat ( loc: location, s2f: s2exp, x: f0loat ) : p3at // end of [p3at_f0loat] // fun p3at_empty (loc: location, s2f: s2exp): p3at fun p3at_rec ( loc: location , s2f: s2exp, knd: int, npf: int, lp3ts: labp3atlst ) : p3at // end of [p3at_rec] fun p3at_lst ( loc: location, s2f: s2exp, lin: int, s2e_elt: s2exp, p3ts: p3atlst ) : p3at // end of [p3at_lst] fun p3at_refas ( loc: location, s2f: s2exp, d2v: d2var, p3t: p3at ) : p3at // end of [p3at_refas] fun p3at_exist ( loc: location, s2f: s2exp, s2vs: s2varlst, p3t: p3at ) : p3at // end of [p3at_exist] fun p3at_vbox (loc: location, s2f: s2exp, d2v: d2var): p3at // end of [p3at_vbox] fun p3at_ann ( loc: location, s2f: s2exp, p3t: p3at, ann: s2exp ) : p3at // end of [p3at_ann] fun p3at_errpat (loc: location, s2f: s2exp): p3at (* ****** ****** *) fun p3at_get_type (p3t: p3at): s2exp fun p3at_set_type (p3t: p3at, s2f: s2exp): void = "patsopt_p3at_set_type" // end of [p3at_set_type] fun p3at_get_dvaropt (p3t: p3at): d2varopt fun p3at_set_dvaropt (p3t: p3at, opt: d2varopt): void = "patsopt_p3at_set_dvaropt" // end of [p3at_set_dvaropt] fun p3at_get_type_left (p3t: p3at): s2expopt fun p3at_set_type_left (p3t: p3at, opt: s2expopt): void = "patsopt_p3at_set_type_left" // end of [p3at_set_type_left] (* ****** ****** *) // fun p3at_is_prf (p3t: p3at): bool // fun p3at_is_full (p3t: p3at): bool // (* ****** ****** *) fun p3at_is_lincon (p3t: p3at): bool fun p3at_is_unfold (p3t: p3at): bool (* ****** ****** *) datatype d3ecl_node = // | D3Cnone of () | D3Clist of d3eclist // // HX: needed for compiling abstract types // | D3Csaspdec of (s2aspdec) // | D3Cextype of (string(*name*), s2exp(*def*)) | D3Cextvar of (string(*name*), d3exp(*def*)) | D3Cextcode of (int(*knd*), int(*pos*), string(*code*)) // | D3Cexndecs of (d2conlst) // HX: exception decls | D3Cdatdecs of (int(*knd*), s2cstlst) // HX: DT decls // | D3Cdcstdecs of (int(*0/1:sta/ext*), dcstkind, d2cstlst) // | D3Cimpdec of ( int(*knd*), i3mpdec // knd=0/1 : implement/primplmnt ) // end of [D3Cimpdec] // | D3Cfundecs of (funkind, s2qualst(*decarg*), f3undeclst) // | D3Cvaldecs of (valkind, v3aldeclst) | D3Cvaldecs_rec of (valkind, v3aldeclst) // | D3Cvardecs of (v3ardeclst) // local variable declarations // end of [D3Cvardecs] | D3Cprvardecs of (prv3ardeclst) // local proof variable declarations // end of [D3Cprvardecs] // | D3Cinclude of (int(*knd*), d3eclist) (* file inclusion *) // | D3Cstaload of ( symbolopt, filename, int(*flag*), filenv, int(*loaded*) ) (* end of [D3Cstaload] *) // | D3Cstaloadloc of (filename(*pfil*), symbol(*nspace*), filenv) // | D3Cdynload of (filename) // | D3Clocal of (d3eclist(*head*), d3eclist(*body*)) // end of [d3ecl_node] and d3exp_node = // | D3Ecst of (d2cst) // dynamic constants | D3Evar of (d2var) // dynamic variables // | D3Eint of (int) | D3Eintrep of (string(*rep*)) | D3Ebool of (bool) | D3Echar of (char) | D3Efloat of string(*rep*) | D3Estring of string(*val*) // | D3Ei0nt of i0nt | D3Ef0loat of f0loat // | D3Ecstsp of ($SYN.cstsp) // | D3Eliteral of (d3exp) // $literal: int, float, string // | D3Etop of () // unspecified value | D3Eempty of () // the void-value of void-type // | D3Eextval of (string(*name*)) | D3Eextfcall of (string(*fun*), d3explst(*arg*)) | D3Eextmcall of (d3exp(*obj*), string(*mtd*), d3explst(*arg*)) // | D3Econ of (d2con, int(*npf*), d3explst(*arg*)) // | D3Etmpcst of (d2cst, t2mpmarglst) | D3Etmpvar of (d2var, t2mpmarglst) // | D3Efoldat of (d3exp) | D3Efreeat of (d3exp) // | D3Eitem of (d2itm, t2mpmarglst) // HX: for temporary use // end of [D3Eitem] // | D3Elet of (d3eclist, d3exp) // | D3Eapp_sta of d3exp // static application | D3Eapp_dyn of (d3exp, int(*npf*), d3explst) // | D3Eif of ( d3exp(*cond*), d3exp(*then*), d3exp(*else*) ) // end of [D3Eif] | D3Esif of ( s2exp(*cond*), d3exp(*then*), d3exp(*else*) ) // end of [D3Esif] // | D3Ecase of ( caskind, d3explst(*values*), c3laulst(*clauses*) ) (* end of [D3Ecase] *) | D3Escase of ( s2exp(*static-value*), sc3laulst(*static-clauses*) ) (* end of [D3Escase] *) // | D3Elst of (* list expression *) (int(*lin*), s2exp(*elt*), d3explst) | D3Etup of (* tuple expression *) (int(*tupknd*), int(*npf*), d3explst) | D3Erec of (* record expression *) (int(*recknd*), int(*npf*), labd3explst) | D3Eseq of (d3explst) // sequencing // | D3Eselab of (d3exp, d3lablst) // record/tuple field selection // | D3Eptrofvar of (d2var) // taking the address of | D3Eptrofsel of (d3exp, s2exp(*root*), d3lablst) // taking the address of // | D3Eviewat of (d3exp, d3lablst) // taking the atview of // it is to be erased // | D3Erefarg of // refval=1/0: call-by-ref/val argument // freeknd=1/0: to be freed or not after call (int(*refval*), int(*freeknd*), d3exp) // end of [D3Erefarg] // | D3Esel_var of (d2var, s2exp(*root*), d3lablst) // call-by-val/ref | D3Esel_ptr of (d3exp, s2exp(*root*), d3lablst) // pointed record/tuple field selection | D3Esel_ref of (d3exp, s2exp(*root*), d3lablst) // referenced record/tuple field selection // | D3Eassgn_var of (d2var(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) | D3Eassgn_ptr of (d3exp(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) | D3Eassgn_ref of (d3exp(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) // | D3Exchng_var of (d2var(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) | D3Exchng_ptr of (d3exp(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) | D3Exchng_ref of (d3exp(*left*), s2exp(*root*), d3lablst, d3exp(*right*)) // | D3Eviewat_assgn of (d3exp, d3lablst, d3exp) // returing the atview of // it is to be erased // | D3Earrpsz of (s2exp(*elt*), d3explst, int(*size*)) | D3Earrinit of // For instance, @[int](1,2,3) (s2exp(*elt*), d3exp(*asz*), d3explst(*elt*)) // | D3Eraise of (d3exp) // HX: raised exception // | D3Eeffmask of (s2eff, d3exp) // $effmask(s2eff, d3exp) // | D3Evcopyenv of (int(*knd*), d2var) // $vcopyenv_v/vcopyenv_vt // | D3Etempenver of (d2varlst) // $tempenver for environvars // | D3Eann_type of (d3exp, s2exp) // HX: annotated with type // | D3Elam_dyn of // dynamic abstraction (int(*lin*), int(*npf*), p3atlst, d3exp) | D3Elaminit_dyn of // dynamic flat funtion closure (int(*lin*), int(*npf*), p3atlst, d3exp) | D3Elam_sta of // static abstraction (s2varlst(*s2vs*), s2explst(*s2ps*), d3exp) | D3Elam_met of (s2explst(*met*), d3exp) // term. metric // | D3Efix of ( int(*knd: 0/1: flat/boxed*), d2var(*fixvar*), d3exp(*def*) ) // end of [D3Efix] // | D3Edelay of d3exp(*eval*) // delayed evaluation | D3Eldelay of (d3exp(*eval*), d3exp(*free*)) // delayed evaluation // end of [D3Eldelay] // | D3Elazyeval of (int(*lin*), d3exp) // lazy-value evaluation // | D3Eloop of (* for/while-loops *) ( d3expopt(*init*), d3exp(*test*), d3expopt(*post*), d3exp(*body*) ) | D3Eloopexn of int(*knd*) (* knd=0/1: break/continue *) // | D3Etrywith of (d3exp(*try-exp*), c3laulst(*with-clauses*)) // | D3Esolverify of (s2exp) // HX: $solver_verify // | D3Eerrexp of ((*void*)) // HX: indication of error // end of [d3exp_node] // end of [datatype] and d3lab_node = | D3LABlab of (label) | D3LABind of (d3explst) // end of [d3lab_node] where d3ecl = '{ d3ecl_loc= location, d3ecl_node= d3ecl_node } // end of [d3ecl] and d3eclist = List (d3ecl) and d3eclistopt = Option (d3eclist) and d3exp = '{ d3exp_loc= location , d3exp_type= s2exp // HX: it may still be s2Var!!! , d3exp_node= d3exp_node } (* end of [d3exp] *) and d3explst = List (d3exp) and d3expopt = Option (d3exp) and labd3exp = dl0abeled (d3exp) and labd3explst = List (labd3exp) (* ****** ****** *) and d3lab = '{ d3lab_loc= location , d3lab_node= d3lab_node , d3lab_overld= d2symopt , d3lab_overld_app= d3expopt } (* end of [d3lab] *) and d3lablst = List (d3lab) (* ****** ****** *) and gm3at = '{ gm3at_loc= location , gm3at_exp= d3exp , gm3at_pat= p3atopt } (* end of [gm3at] *) and gm3atlst = List (gm3at) and c3lau (n:int) = '{ c3lau_loc= location , c3lau_pat= list (p3at, n) , c3lau_gua= gm3atlst // clause guard , c3lau_seq= int // sequentiality , c3lau_neg= int // negativativity , c3lau_body= d3exp // expression body } (* end of [c3lau] *) and c3lau = [n:nat] c3lau (n) and c3laulst (n:int) = List (c3lau (n)) and c3laulst = [n:nat] c3laulst (n) and c3laulst_vt (n:int) = List_vt (c3lau (n)) and sc3lau = '{ sc3lau_loc= location , sc3lau_pat= sp2at , sc3lau_body= d3exp } (* end of [sc3lau] *) and sc3laulst = List (sc3lau) (* ****** ****** *) and i3mpdec = '{ i3mpdec_loc= location , i3mpdec_cst= d2cst , i3mpdec_imparg= s2varlst , i3mpdec_tmparg= s2explstlst , i3mpdec_def= d3exp } (* end of [i3mpdec] *) (* ****** ****** *) and f3undec = '{ f3undec_loc= location , f3undec_var= d2var , f3undec_def= d3exp } (* end of [f3undec] *) and f3undeclst = List f3undec (* ****** ****** *) and v3aldec = '{ v3aldec_loc= location , v3aldec_pat= p3at , v3aldec_def= d3exp } (* end of [v3aldec] *) and v3aldeclst = List (v3aldec) (* ****** ****** *) and v3ardec = '{ v3ardec_loc= location , v3ardec_knd= int // knd=0/1:var/ptr , v3ardec_dvar_var= d2var , v3ardec_dvar_view= d2var , v3ardec_type= s2exp // type annotation , v3ardec_init= d3expopt // value for initialization , v3ardec_dvaropt= d2varopt // address of variable } (* end of [v3ardec] *) and v3ardeclst = List (v3ardec) (* ****** ****** *) and prv3ardec = '{ prv3ardec_loc= location , prv3ardec_dvar= d2var, prv3ardec_type= s2exp, prv3ardec_init= d3exp } (* end of [prv3ardec] *) and prv3ardeclst = List (prv3ardec) (* ****** ****** *) // fun d3exp_get_type (d3e: d3exp): s2exp fun d3explst_get_type (d3es: d3explst): s2explst // fun d3exp_set_type (d3e: d3exp, s2f: s2exp): void = "ext#patsopt_d3exp_set_type" // end of [d3exp_set_type] (* ****** ****** *) fun d3exp_is_prf (d3e: d3exp): bool fun d3exp_isnot_prf (d3e: d3exp): bool (* ****** ****** *) // fun print_d3exp(d3e: d3exp): void fun prerr_d3exp(d3e: d3exp): void fun fprint_d3exp : fprint_type (d3exp) fun fprint_d3explst : fprint_type (d3explst) // overload print with print_d3exp overload prerr with prerr_d3exp overload fprint with fprint_d3exp // (* ****** ****** *) fun d3exp_var (loc: location, s2f: s2exp, d2v: d2var): d3exp // end of [d3exp_var] (* ****** ****** *) fun d3exp_int (loc: location, s2f: s2exp, i: int) : d3exp // end of [d3exp_int] fun d3exp_intrep (loc: location, s2f: s2exp, rep: string) : d3exp // end of [d3exp_intrep] fun d3exp_bool (loc: location, s2f: s2exp, b: bool): d3exp // end of [d3exp_bool] fun d3exp_char (loc: location, s2f: s2exp, c: char): d3exp // end of [d3exp_char] fun d3exp_string (loc: location, s2f: s2exp, str: string): d3exp // end of [d3exp_string] fun d3exp_float (loc: location, s2f: s2exp, rep: string): d3exp // end of [d3exp_float] (* ****** ****** *) fun d3exp_i0nt ( loc: location, s2f: s2exp, x: i0nt ) : d3exp // end of [d3exp_i0nt] fun d3exp_f0loat (loc: location, s2f: s2exp, x: f0loat): d3exp // end of [d3exp_float] (* ****** ****** *) fun d3exp_top (loc: location, s2f: s2exp): d3exp fun d3exp_empty (loc: location, s2f: s2exp): d3exp (* ****** ****** *) fun d3exp_cstsp (loc: location, s2f: s2exp, x: $SYN.cstsp): d3exp // end of [d3exp_cstsp] (* ****** ****** *) fun d3exp_literal (loc: location, s2f: s2exp, d3e_lit: d3exp): d3exp // end of [d3exp_literal] (* ****** ****** *) // fun d3exp_extval (loc: location, s2f: s2exp, name: string): d3exp // fun d3exp_extfcall ( loc: location, s2f: s2exp, _fun: string, _arg: d3explst ) : d3exp // end of [d3exp_extfcall] // fun d3exp_extmcall ( loc: location, s2f: s2exp, _obj: d3exp, _mtd: string, _arg: d3explst ) : d3exp // end of [d3exp_extmcall] // (* ****** ****** *) fun d3exp_cst (loc: location, s2f: s2exp, d2c: d2cst): d3exp // end of [d3exp_cst] fun d3exp_con ( loc: location , s2f_res: s2exp, d2c: d2con, npf: int, d3es: d3explst ) : d3exp // end of [d3exp_con] (* ****** ****** *) fun d3exp_foldat (loc: location, d3e: d3exp): d3exp fun d3exp_freeat (loc: location, d3e: d3exp): d3exp (* ****** ****** *) fun d3exp_tmpcst ( loc: location, s2f: s2exp, d2c: d2cst, t2mas: t2mpmarglst ) : d3exp // end of [d3exp_tmpcst] fun d3exp_tmpvar ( loc: location, s2f: s2exp, d2v: d2var, t2mas: t2mpmarglst ) : d3exp // end of [d3exp_tmpvar] (* ****** ****** *) fun d3exp_item ( loc: location, s2f: s2exp, d2i: d2itm, t2mas: t2mpmarglst ) : d3exp // end of [d3exp_item] (* ****** ****** *) fun d3exp_let (loc: location, d3cs: d3eclist, d3e: d3exp): d3exp // end of [d3exp_let] (* ****** ****** *) fun d3exp_app_sta (loc: location, s2f: s2exp, d3e: d3exp): d3exp // end of [d3exp_app_sta] fun d3exp_app_unista (loc: location, s2f: s2exp, d3e: d3exp): d3exp // end of [d3exp_app_unista] fun d3exp_app_dyn ( loc: location , s2f: s2exp, _fun: d3exp, npf: int, _arg: d3explst ) : d3exp // end of [d3exp_app_dyn] (* ****** ****** *) fun d3exp_lst ( loc: location , s2f0: s2exp, lin: int, s2f_elt: s2exp, d3es: d3explst ) : d3exp // end of [d3exp_lst] fun d3exp_tup ( loc: location , s2f0: s2exp, tupknd: int, npf: int, d3es: d3explst ) : d3exp // end of [d3exp_tup] fun d3exp_rec ( loc: location , s2f0: s2exp, recknd: int, npf: int, ld3es: labd3explst ) : d3exp // end of [d3exp_rec] fun d3exp_seq (loc: location, s2f: s2exp, d3es: d3explst): d3exp // end of [d3exp_seq] (* ****** ****** *) // fun d3exp_if ( loc: location , s2e_if: s2exp , _cond: d3exp, _then: d3exp, _else: d3exp ) : d3exp // end of [d3exp_if] // fun d3exp_sif ( loc: location , s2e_sif: s2exp , _cond: s2exp, _then: d3exp, _else: d3exp ) : d3exp // end of [d3exp_sif] // (* ****** ****** *) // fun d3exp_case ( loc: location , s2e_case: s2exp , knd: caskind, d3es: d3explst, c3ls: c3laulst ) : d3exp // end of [d3exp_case] // fun d3exp_scase ( loc: location , s2e_scase: s2exp, s2e_val: s2exp, sc3ls: sc3laulst ) : d3exp // end of [d3exp_scase] // (* ****** ****** *) fun d3exp_sel_var ( loc: loc_t , s2e: s2exp, d2v: d2var, s2rt: s2exp, d3ls: d3lablst ) : d3exp // end of [d3exp_sel_var] fun d3exp_sel_ptr ( loc: loc_t , s2e: s2exp, d3e: d3exp, s2rt: s2exp, d3ls: d3lablst ) : d3exp // end of [d3exp_sel_ptr] fun d3exp_sel_ref ( loc: loc_t , s2e: s2exp, d3e: d3exp, s2rt: s2exp, d3ls: d3lablst ) : d3exp // end of [d3exp_sel_ref] (* ****** ****** *) fun d3exp_assgn_var ( loc: loc_t , d2v_l: d2var, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_assgn_var] fun d3exp_assgn_ptr ( loc: loc_t , d3e_l: d3exp, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_assgn_ptr] fun d3exp_assgn_ref ( loc: loc_t , d3e_l: d3exp, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_assgn_ref] (* ****** ****** *) fun d3exp_xchng_var ( loc: loc_t , d2v_l: d2var, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_xchng_var] fun d3exp_xchng_ptr ( loc: loc_t , d3e_l: d3exp, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_xchng_ptr] fun d3exp_xchng_ref ( loc: loc_t , d3e_l: d3exp, s2rt: s2exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_xchng_ref] (* ****** ****** *) fun d3exp_refarg ( loc: loc_t, s2e: s2exp, refval: int, freeknd: int, d3e: d3exp ) : d3exp // end of [d3exp_refarg] (* ****** ****** *) fun d3exp_arrpsz ( loc: loc_t , s2e_arrpsz: s2exp, elt: s2exp, d3es_elt: d3explst, asz: int ) : d3exp // end of [d3exp_arrpsz] fun d3exp_arrinit ( loc: loc_t , s2e_arr: s2exp, elt: s2exp, d3e_asz: d3exp, d3es_elt: d3explst ) : d3exp // end of [d3exp_arrinit] (* ****** ****** *) fun d3exp_selab (loc: loc_t, s2f: s2exp, d3e: d3exp, d3ls: d3lablst): d3exp // end of [d3exp_selab] (* ****** ****** *) // fun d3exp_ptrofvar(loc: loc_t, s2f: s2exp, d2v: d2var): d3exp // fun d3exp_ptrofsel ( loc: loc_t, s2f: s2exp, d3e: d3exp, s2rt: s2exp, d3ls: d3lablst ) : d3exp // end of [d3exp_ptrofsel] // (* ****** ****** *) fun d3exp_viewat ( loc: loc_t, s2at: s2exp, d3e: d3exp, d3ls: d3lablst ) : d3exp // end of [d3exp_viewat] fun d3exp_viewat_assgn ( loc: loc_t, d3e_l: d3exp, d3ls: d3lablst, d3e_r: d3exp ) : d3exp // end of [d3exp_viewat_assgn] (* ****** ****** *) fun d3exp_raise (loc: location, s2f: s2exp, d3e: d3exp): d3exp // end of [d3exp_raise] (* ****** ****** *) fun d3exp_effmask (loc: location, s2fe: s2eff, d3e: d3exp): d3exp // end of [d3exp_effmask] (* ****** ****** *) // fun d3exp_vcopyenv ( loc: location, s2f: s2exp, knd: int, d2v: d2var ) : d3exp // end of [d3exp_vcopyenv] // (* ****** ****** *) // fun d3exp_tempenver (loc: location, s2f: s2exp, d2vs: d2varlst): d3exp // (* ****** ****** *) fun d3exp_lam_dyn ( loc: location, typ: s2exp , lin: int, npf: int, arg: p3atlst, body: d3exp ) : d3exp // end of [d3exp_lam_dyn] fun d3exp_laminit_dyn ( loc: location, typ: s2exp , lin: int, npf: int, arg: p3atlst, body: d3exp ) : d3exp // end of [d3exp_laminit_dyn] (* ****** ****** *) fun d3exp_lam_sta ( loc: location, typ: s2exp , s2vs: s2varlst, s2ps: s2explst, body: d3exp ) : d3exp // end of [d3exp_lam_sta] fun d3exp_lam_met (loc: location, met: s2explst, body: d3exp): d3exp // end of [d3exp_lam_met] (* ****** ****** *) fun d3exp_fix ( loc: location , s2e_def: s2exp, knd: int, f: d2var, d3e_def: d3exp ) : d3exp // end of [d3exp_fix] (* ****** ****** *) // fun d3exp_delay (loc: location, s2e: s2exp, _eval: d3exp): d3exp fun d3exp_ldelay ( loc: location, s2e: s2exp, _eval: d3exp, _free: d3exp ) : d3exp // end of [d3exp_ldelay] // fun d3exp_lazyeval ( loc: location, s2e_res: s2exp, lin: int, delayed: d3exp ) : d3exp // end of [d3exp_lazyeval] // (* ****** ****** *) fun d3exp_loop ( loc: location , init: d3expopt, test: d3exp, post: d3expopt, body: d3exp ) : d3exp // end of [d3exp_loop] fun d3exp_loopexn (loc: location, knd: int): d3exp (* ****** ****** *) fun d3exp_trywith ( loc: location, d3e: d3exp, c3ls: c3laulst ) : d3exp // end of [d3exp_trywith] (* ****** ****** *) fun d3exp_ann_type (loc: location, d3e: d3exp, s2f: s2exp): d3exp // end of [d3exp_ann_type] (* ****** ****** *) // fun d3exp_solverify (loc: location, s2f: s2exp): d3exp // (* ****** ****** *) fun d3exp_errexp (loc: location): d3exp fun d3exp_errexp_void (loc: location): d3exp (* ****** ****** *) // fun d3lab_lab (loc: location, lab: label, opt: d2symopt): d3lab // fun d3lab_ind (loc: location, ind: d3explst): d3lab // (* ****** ****** *) fun d3lab_set_overld_app (d3l: d3lab, opt: d3expopt): void = "patsopt_d3lab_set_overld_app" // end of [d3lab_set_overld_app] (* ****** ****** *) fun gm3at_make ( loc: location, d3e: d3exp, opt: p3atopt ) : gm3at // end of [gm3at_make] fun c3lau_make{n:nat} ( loc: location , p3ts: list (p3at, n) , gua: gm3atlst, seq: int, neg: int, body: d3exp ): c3lau (n) // end of [c3lau_make] fun sc3lau_make ( loc: location, sp2t: sp2at, d3e: d3exp ) : sc3lau // end of [sc3lau_make] (* ****** ****** *) fun i3mpdec_make ( loc: location, d2c: d2cst , imparg: s2varlst, tmparg: s2explstlst, def: d3exp ) : i3mpdec // end of [i3mpdec_make] (* ****** ****** *) fun f3undec_make ( loc: location, d2v: d2var, def: d3exp ) : f3undec // end of [f3undec_make] fun v3aldec_make ( loc: location, p3t: p3at, def: d3exp ) : v3aldec // end of [v3aldec_make] (* ****** ****** *) fun v3ardec_make ( loc: location , knd: int (*0/1:var/ptr*) , d2v: d2var, d2vw: d2var , type: s2exp, init: d3expopt, d2vopt: d2varopt ) : v3ardec // end of [v3ardec_make] fun prv3ardec_make ( loc: location, d2v: d2var, s2e0: s2exp, ini: d3exp ) : prv3ardec // end of [prv3ardec_make] (* ****** ****** *) fun d3ecl_make_node (loc: location, node: d3ecl_node): d3ecl // end of [d3ecl_make_node] (* ****** ****** *) fun print_d3ecl (d3c: d3ecl): void overload print with print_d3ecl fun prerr_d3ecl (d3c: d3ecl): void overload prerr with prerr_d3ecl fun fprint_d3ecl : fprint_type (d3ecl) (* ****** ****** *) fun d3ecl_none (loc: location): d3ecl fun d3ecl_list (loc: location, xs: d3eclist): d3ecl (* ****** ****** *) fun d3ecl_saspdec (loc: location, d2c: s2aspdec): d3ecl (* ****** ****** *) fun d3ecl_extype (loc: location, name: string, s2e_def: s2exp): d3ecl // end of [d3ecl_extype] fun d3ecl_extvar (loc: location, name: string, d3e_def: d3exp): d3ecl // end of [d3ecl_extvar] fun d3ecl_extcode (loc: location, knd: int, pos: int, code: string): d3ecl // end of [d3ecl_extcode] (* ****** ****** *) fun d3ecl_datdecs (loc: location, knd: int, s2cs: s2cstlst): d3ecl // end of [d3ecl_datdecs] (* ****** ****** *) fun d3ecl_exndecs (loc: location, d2cs: d2conlst): d3ecl (* ****** ****** *) fun d3ecl_dcstdecs ( loc: location, knd: int, dck: dcstkind, d2cs: d2cstlst ) : d3ecl // end of [d3ecl_dcstdecs] (* ****** ****** *) fun d3ecl_impdec (loc: location, knd: int, d3c: i3mpdec) : d3ecl // end of [d3ecl_impdec] (* ****** ****** *) fun d3ecl_fundecs ( loc: location, knd: funkind, decarg: s2qualst, f3ds: f3undeclst ) : d3ecl // end of [d3ecl_fundecs] fun d3ecl_valdecs ( loc: location, knd: valkind, v3ds: v3aldeclst ) : d3ecl // end of [d3ecl_valdecs] fun d3ecl_valdecs_rec ( loc: location, knd: valkind, v3ds: v3aldeclst ) : d3ecl // end of [d3ecl_valdecs_rec] fun d3ecl_vardecs (loc: location, v3ds: v3ardeclst): d3ecl fun d3ecl_prvardecs (loc: location, v3ds: prv3ardeclst): d3ecl (* ****** ****** *) fun d3ecl_include (loc: location, stadyn: int, d3cs: d3eclist): d3ecl // end of [d3ecl_include] (* ****** ****** *) fun d3ecl_staload ( loc: location , idopt: symbolopt , cfil: filename, loadflag: int, fenv: filenv, loaded: int ) : d3ecl // end of [d2ecl_staload] fun d3ecl_staloadloc (loc: location, pfil: filename, nspace: symbol, fenv: filenv): d3ecl // end of [d3ecl_staloadloc] (* ****** ****** *) fun d3ecl_dynload (loc: location, cfil: filename): d3ecl (* ****** ****** *) fun d3ecl_local (loc: location, head: d3eclist, body: d3eclist): d3ecl // end of [d3ecl_local] (* ****** ****** *) (* end of [pats_dynexp3.sats] *) ATS2-Postiats-0.2.6/./src/pats_effect.sats0000664000175000017500000000660112655455557016707 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) abst@ype effect_t0ype = int typedef effect = effect_t0ype typedef effectlst = List (effect) abst@ype effset_t0ype = uint typedef effset = effset_t0ype (* ****** ****** *) val effect_ntm : effect val effect_exn : effect val effect_ref : effect val effect_wrt : effect val effectlst_all : effectlst fun effect_get_name (eff: effect): string fun print_effect (x: effect): void overload print with print_effect fun prerr_effect (x: effect): void overload prerr with prerr_effect fun fprint_effect : fprint_type (effect) fun fprint_effectlst : fprint_type (effectlst) fun eq_effect_effect (x1: effect, x2: effect):<> bool overload = with eq_effect_effect (* ****** ****** *) val effset_all: effset and effset_nil: effset val effset_ntm : effset val effset_exn : effset val effset_ref : effset val effset_wrt : effset fun effset_sing (eff: effect):<> effset fun eq_effset_effset (x1: effset, x2: effset):<> bool overload = with eq_effset_effset fun effset_add (efs: effset, eff: effect):<> effset fun effset_del (efs: effset, eff: effect):<> effset fun effset_isnil (efs: effset):<> bool fun effset_isall (efs: effset):<> bool (* ** HX-2012-03: ** [efs] is finite if its sign bit is clr ** [efs] is cofinite if its sign bit is set *) fun effset_isfin (efs: effset):<> bool fun effset_iscof (efs: effset):<> bool fun effset_ismem (efs: effset, eff: effect):<> bool fun effset_supset (efs1: effset, efs2: effset):<> bool fun effset_subset (efs1: effset, efs2: effset):<> bool (* ** HX: complement and difference *) fun effset_cmpl (efs: effset):<> effset fun effset_diff (efs1: effset, efs2: effset):<> effset (* ** HX: intersection and union *) fun effset_inter (efs1: effset, efs2: effset):<> effset fun effset_union (efs1: effset, efs2: effset):<> effset fun effset_is_inter (efs1: effset, efs2: effset):<> bool (* ****** ****** *) fun print_effset (efs: effset): void fun prerr_effset (efs: effset): void fun fprint_effset : fprint_type (effset) (* ****** ****** *) (* end of [pats_effect.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_fldfrat.dats0000664000175000017500000001563612655455557020360 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_fldfrat" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local fun auxck_free ( loc0: loc_t , s2es: s2explst, nerr: int ) : int = let in // case+ s2es of | list_cons (s2e, s2es) => let (* val () = ( println! ("auxck_free: s2e = ", s2e) ) // end of [val] *) var nerr: int = nerr val islin = s2exp_is_lin2 (s2e) val () = if islin then let val () = nerr := nerr + 1 val () = prerr_error3_loc (loc0) val () = prerr ": [free@] operation cannot be performed" val () = prerrln! (": a linear component of the type [", s2e, "] may be abandoned.") // end of [val] in // nothing end // end of [val] in auxck_free (loc0, s2es, nerr) end // end of [list_cons] | list_nil () => nerr // end // end of [auxck_free] fun auxfind ( loc0: loc_t, s2ls: s2explst ) : s2explst = let in // case+ s2ls of | list_cons (s2l, s2ls) => let (* val () = println! ("auxfind: s2l = ", s2l) // end of [val] *) val opt = pfobj_search_atview (s2l) val s2e_elt = ( case+ opt of | ~Some_vt (pfobj) => let val+~PFOBJ ( d2v, s2e_ctx, s2e_elt, _(*s2l*) ) = pfobj // end of [val] (* // // HX-2012-08-10: // s2e_ctx is assumed to be of the form []@L for some L // val s2e_out = s2exp_without (s2e_elt) val s2e = s2exp_hrepl (s2e_ctx, s2e_out) val () = d2var_set_type (d2v, Some(s2e)) *) val () = d2var_set_type (d2v, None(*void*)) in s2e_elt end // end of [Some_vt] | ~None_vt ((*void*)) => s2exp_err (s2rt_t0ype) ) : s2exp // end of [val] val s2es_elt = auxfind (loc0, s2ls) in list_cons (s2e_elt, s2es_elt) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxfind] fun auxmain ( loc0: loc_t , opknd: int // 0/1 free/fold , s2as: s2exparglst, d2e: d2exp ) : d3exp = let val loc = d2e.d2exp_loc val d3e = d2exp_trup (d2e) val () = d3exp_open_and_add d3e val s2e_ptr = d3exp_get_type (d3e) in // case s2e_ptr.s2exp_node of | S2Edatconptr (d2c, _(*rt*), arg) => let val s2es_elt = auxfind (loc0, arg) val s2e_dcon = d2con_get_type (d2c) var err: int = 0 val (s2e_dcon, s2ps) = s2exp_uni_instantiate_sexparglst (s2e_dcon, s2as, err) // end of [val] val () = trans3_env_add_proplst_vt (loc0, s2ps) val locarg = $LOC.location_leftmost (loc) val (s2e_dcon, s2ps) = s2exp_uni_instantiate_all (s2e_dcon, locarg, err) // HX: [err] is not used val () = trans3_env_add_proplst_vt (loc0, s2ps) val-S2Efun ( fc, lin, s2fe, nof, s2es_arg, s2e_res ) = s2e_dcon.s2exp_node // end of [val] // val () = if opknd = 0 then let val nerr = auxck_free (loc0, s2es_elt, 0(*nerr*)) in if nerr > 0 then the_trans3errlst_add (T3E_d3exp_freeat (loc0, d3e)) // end of [if] end // end of [val] // val () = if opknd > 0 then let var err: int = 0 val () = $SOL.s2explst_tyleq_solve_err (loc0, s2es_elt, s2es_arg, err) // end of [val] in if err > 0 then let val () = prerr_error3_loc (loc) val () = prerr ": [fold@] operation cannot be formed" val () = prerrln! ": some argument types are mismatched." val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_d3exp_foldat (loc0, d3e)) end // end of [if] end // end of [val] val () = if opknd > 0 then let var err: int = 0 val () = d3lval_set_type_err (0(*refval*), d3e, s2e_res, err) in if err > 0 then let val () = prerr_error3_loc (loc) val () = prerr ": [fold@] operation cannot be formed" val () = prerrln! ": the type of the dynamic expression cannot be changed." in the_trans3errlst_add (T3E_d3exp_foldat (loc0, d3e)) end (* end of [if] *) end // end of [val] in d3e end // end of [S2Edatconptr] | _ => let val () = prerr_error3_loc (loc) val () = if opknd = 0 then prerr ": [free@] operation cannot be performed" val () = if opknd > 0 then prerr ": [fold@] operation cannot be performed" val () = prerrln! (": unfolded datatype constructor is expected.") in d3exp_errexp (loc0) end // end of [_] // end // end of [auxmain] in // in of [local] implement d2exp_trup_foldat (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Efoldat (s2as, d2e) = d2e0.d2exp_node val d3e = auxmain (loc0, 1(*opknd*), s2as, d2e) // in d3exp_foldat (loc0, d3e) end // end of [d2exp_trup_foldat] implement d2exp_trup_freeat (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Efreeat (s2as, d2e) = d2e0.d2exp_node // val err = the_effenv_check_wrt (loc0) val () = if (err > 0) then ( the_trans3errlst_add (T3E_d2exp_trup_wrt (loc0)) ) // end of [if] // end of [val] // val d3e = auxmain (loc0, 0(*opknd*), s2as, d2e) // in d3exp_freeat (loc0, d3e) end // end of [d2exp_trup_freeat] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_fldfrat.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_lamlp.dats0000664000175000017500000001001712655455557020677 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_env_lamlp" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local assume lamlpenv_push_v = unit_v val the_lamlplst = ref (list_vt_nil) in // in of [local] implement the_lamlpenv_top ((*void*)) = let val ( vbox pf | pp ) = ref_get_view_ptr (the_lamlplst) in case+ !pp of | list_vt_cons (x, _) => let prval () = fold@ (!pp) in Some_vt x end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ (!pp) in None_vt () end // end of [list_vt_nil] end // end of [the_lamlpenv_push_top] (* ****** ****** *) implement the_lamlpenv_get_funarg ((*void*)) = let // fun loop ( xs: !lamlplst_vt ) : Option_vt (p3atlst) = let in // case+ xs of | list_vt_cons (x, !p_xs) => ( case+ x of | LAMLPlam (p3ts) => (fold@ (xs); Some_vt (p3ts)) | LAMLPloop0 _ => let val res = loop (!p_xs) in fold@ (xs); res end // end of [LAMLPloop0] | LAMLPloop1 _ => let val res = loop (!p_xs) in fold@ (xs); res end // end of [LAMLPloop1] ) // end of [list_vt_cons] | list_vt_nil () => (fold@ (xs); None_vt ()) // end // end of [loop] // val (vbox pf | pp) = ref_get_view_ptr (the_lamlplst) // in $effmask_ref (loop (!pp)) end // end of [the_lamlpenv_get_funarg] (* ****** ****** *) implement the_lamlpenv_pop (pfpush | (*none*)) = let prval () = unit_v_elim (pfpush) val (vbox pf | pp) = ref_get_view_ptr (the_lamlplst) val-~list_vt_cons (_, xs) = !pp in !pp := xs end // end of [the_lamlpenv_push_pop] (* ****** ****** *) implement the_lamlpenv_push_lam (p3ts) = let val (vbox pf | pp) = ref_get_view_ptr (the_lamlplst) val () = !pp := list_vt_cons (LAMLPlam (p3ts), !pp) prval pfpush = unit_v () in (pfpush | ()) end // end of [the_lamlpenv_push_lam] (* ****** ****** *) implement the_lamlpenv_push_loop0 () = let val (vbox pf | pp) = ref_get_view_ptr (the_lamlplst) val () = !pp := list_vt_cons (LAMLPloop0 (), !pp) prval pfpush = unit_v () in (pfpush | ()) end // end of [the_lamlpenv_push_loop0] implement the_lamlpenv_push_loop1 (i2nv, lbis, post) = let val (vbox pf | pp) = ref_get_view_ptr (the_lamlplst) val () = !pp := list_vt_cons (LAMLPloop1 (i2nv, lbis, post), !pp) prval pfpush = unit_v () in (pfpush | ()) end // end of [the_lamlpenv_push_loop1] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_env_lamlp.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp.sats0000664000175000017500000015673612655455557016573 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label (* ****** ****** *) // staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename // staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location // (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload SYN = "./pats_syntax.sats" typedef i0nt = $SYN.i0nt typedef f0loat = $SYN.f0loat (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) // staload S2EUT = "./pats_staexp2_util.sats" vtypedef stasub = $S2EUT.stasub // (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) fun the_exndeclst_get (): hideclist fun the_exndeclst_add (hid: hidecl): void (* ****** ****** *) fun the_saspdeclst_get (): hideclist fun the_saspdeclst_add (hid: hidecl): void (* ****** ****** *) fun the_extypelst_get (): hideclist fun the_extypelst_add (hid: hidecl): void (* ****** ****** *) fun the_extcodelst_get (): hideclist fun the_extcodelst_add (hid: hidecl): void (* ****** ****** *) fun the_staloadlst_get (): hideclist fun the_staloadlst_add (hid: hidecl): void fun the_dynloadlst_get (): hideclist fun the_dynloadlst_add (hid: hidecl): void (* ****** ****** *) fun the_dynconlst_get (): d2conlst fun the_dynconlst_add (d2c: d2con): void (* ****** ****** *) fun the_dyncstlst_get (): d2cstlst fun the_dyncstlst_add (d2c: d2cst): void (* ****** ****** *) abstype tmplab_type typedef tmplab = tmplab_type typedef tmplabopt = Option (tmplab) (* ****** ****** *) fun tmplab_make (loc: loc_t): tmplab fun tmplab_get_loc (x: tmplab): loc_t fun tmplab_get_stamp (x: tmplab): stamp (* ****** ****** *) fun print_tmplab (x: tmplab): void fun prerr_tmplab (x: tmplab): void overload print with print_tmplab overload prerr with prerr_tmplab fun fprint_tmplab : fprint_type (tmplab) overload fprint with fprint_tmplab (* ****** ****** *) abstype tmpvar_type typedef tmpvar = tmpvar_type // typedef tmpvarlst = List (tmpvar) typedef tmpvaropt = Option (tmpvar) // vtypedef tmpvarlst_vt = List_vt (tmpvar) vtypedef tmpvaropt_vt = Option_vt (tmpvar) (* ****** ****** *) absvtype tmpvarset_vtype vtypedef tmpvarset_vt = tmpvarset_vtype absvtype tmpvarmap_vtype (a:type) vtypedef tmpvarmap_vt (a:type) = tmpvarmap_vtype (a) (* ****** ****** *) fun tmpvar_make (loc: loc_t, hse: hisexp): tmpvar fun tmpvar_make_ref (loc: loc_t, hse: hisexp): tmpvar fun tmpvar_make_ret (loc: loc_t, hse: hisexp): tmpvar (* ****** ****** *) fun tmpvar_copy_err (tmp: tmpvar): tmpvar (* ****** ****** *) // fun tmpvar_get_loc (tmp: tmpvar): loc_t // fun tmpvar_get_type (tmp: tmpvar): hisexp // fun tmpvar_isref (tmp: tmpvar): bool // tmpref? fun tmpvar_isret (tmp: tmpvar): bool // tmpret? fun tmpvar_iserr (tmp: tmpvar): bool // tmperr? // fun tmpvar_get_topknd (tmp: tmpvar): int // knd=0/1: local/(static)top // fun tmpvar_get_origin (tmp: tmpvar): tmpvaropt fun tmpvar_get_suffix (tmp: tmpvar): int // fun tmpvar_get_stamp (tmp: tmpvar): stamp // unicity // (* ****** ****** *) fun tmpvar_get_tailcal (tmp: tmpvar): int // if >= 2 fun tmpvar_inc_tailcal (tmp: tmpvar): void // incby 1 (* ****** ****** *) fun tmpvar_set_tyclo (tmp: tmpvar, fl: funlab): void (* ****** ****** *) // fun print_tmpvar (x: tmpvar): void fun prerr_tmpvar (x: tmpvar): void fun fprint_tmpvar : fprint_type (tmpvar) fun fprint_tmpvaropt : fprint_type (tmpvaropt) // overload print with print_tmpvar overload prerr with prerr_tmpvar overload fprint with fprint_tmpvar overload fprint with fprint_tmpvaropt // (* ****** ****** *) fun eq_tmpvar_tmpvar (x1: tmpvar, x2: tmpvar):<> bool overload = with eq_tmpvar_tmpvar fun compare_tmpvar_tmpvar (x1: tmpvar, x2: tmpvar):<> int overload compare with compare_tmpvar_tmpvar (* ****** ****** *) fun tmpvarset_vt_nil ():<> tmpvarset_vt fun tmpvarset_vt_free (xs: tmpvarset_vt):<> void fun tmpvarset_vt_add (xs: tmpvarset_vt, x: tmpvar):<> tmpvarset_vt fun tmpvarset_vt_listize (xs: !tmpvarset_vt):<> tmpvarlst_vt fun tmpvarset_vt_listize_free (xs: tmpvarset_vt):<> tmpvarlst_vt (* ****** ****** *) fun tmpvarmap_vt_nil {a:type} ():<> tmpvarmap_vt (a) fun tmpvarmap_vt_free {a:type} (map: tmpvarmap_vt(a)):<> void fun tmpvarmap_vt_search {a:type} (map: !tmpvarmap_vt(a), tmp: tmpvar): Option_vt (a) fun tmpvarmap_vt_insert {a:type} (map: &tmpvarmap_vt(a), tmp: tmpvar, x: a): bool(*found*) fun tmpvarmap_vt_remove {a:type} (map: &tmpvarmap_vt(a), tmp: tmpvar): bool(*found*) (* ****** ****** *) // abstype d2env_type // typedef d2env = d2env_type // typedef d2envlst = List (d2env) vtypedef d2envlst_vt = List_vt (d2env) // typedef d2envlstopt = Option (d2envlst) // (* ****** ****** *) fun d2var2env (d2v: d2var): d2env fun d2env_get_var (x: d2env):<> d2var fun d2env_get_type (x: d2env):<> hisexp fun d2env_make (d2v: d2var, hse: hisexp): d2env fun fprint_d2env : fprint_type (d2env) overload fprint with fprint_d2env fun fprint_d2envlst : fprint_type (d2envlst) overload fprint with fprint_d2envlst fun fprint_d2envlstopt : fprint_type (d2envlstopt) overload fprint with fprint_d2envlstopt (* ****** ****** *) absvtype d2envset_vtype vtypedef d2envset_vt = d2envset_vtype fun d2envset_vt_nil ():<> d2envset_vt fun d2envset_vt_free (xs: d2envset_vt): void fun d2envset_vt_ismem (xs: !d2envset_vt, x: d2env):<> bool fun d2envset_vt_add (xs: d2envset_vt, x: d2env):<> d2envset_vt fun d2envset_vt_listize (xs: !d2envset_vt):<> List_vt (d2env) fun d2envset_vt_listize_free (xs: d2envset_vt):<> List_vt (d2env) fun d2envlst2set (d2es: d2envlst): d2envset_vt (* ****** ****** *) // // HX: function label // abstype ccomp_funlab_type typedef funlab = ccomp_funlab_type typedef funlablst = List (funlab) vtypedef funlablst_vt = List_vt (funlab) typedef funlabopt = Option (funlab) vtypedef funlabopt_vt = Option_vt (funlab) // typedef funlablstopt = Option (funlablst) // fun print_funlab (x: funlab): void fun prerr_funlab (x: funlab): void overload print with print_funlab overload prerr with prerr_funlab // fun fprint_funlab : fprint_type (funlab) overload fprint with fprint_funlab fun fprint_funlablst : fprint_type (funlablst) overload fprint with fprint_funlablst // fun fprint_funlablstopt : fprint_type (funlablstopt) overload fprint with fprint_funlablstopt // (* ****** ****** *) // fun funlab_make ( name: string , level: int , hse0: hisexp , fcopt: fcopt_vt , qopt: d2cstopt , sopt: d2varopt , t2mas: t2mpmarglst , stamp: stamp ) : funlab // end of [funlab_make] // fun funlab_make_type (hse: hisexp): funlab // fun funlab_make_dcst_type (d2c: d2cst, hse: hisexp, opt: fcopt_vt): funlab fun funlab_make_dvar_type (d2v: d2var, hse: hisexp, opt: fcopt_vt): funlab // fun funlab_make_tmpcst_type ( d2c: d2cst, t2ms: t2mpmarglst, hse: hisexp, opt: fcopt_vt ) : funlab // endfun (* // // HX-2014-11-01: // Where is this needed? // fun funlab_make_tmpvar_type ( d2v: d2var, t2ms: t2mpmarglst, hse: hisexp, opt: fcopt_vt ) : funlab // endfun *) // (* ****** ****** *) // fun funlab_get_name (flab: funlab): string // fun funlab_get_level (flab: funlab): int // fun funlab_get_tmpknd (flab: funlab): int fun funlab_set_tmpknd (flab: funlab, knd: int): void // fun funlab_get_d2copt (flab: funlab): d2cstopt // global fun funlab_get_d2vopt (flab: funlab): d2varopt // static // fun funlab_get_type (flab: funlab): hisexp fun funlab_get_funclo (flab: funlab): funclo fun funlab_get_type_arg (flab: funlab): hisexplst fun funlab_get_type_res (flab: funlab): hisexp // fun funlab_get_ncopy (flab: funlab): int fun funlab_set_ncopy (flab: funlab, cnt: int): void fun funlab_incget_ncopy (flab: funlab): int // fun funlab_get_origin (flab: funlab): funlabopt fun funlab_set_origin (flab: funlab, opt: funlabopt): void // fun funlab_get_suffix (flab: funlab): int fun funlab_set_suffix (flab: funlab, sfx: int): void // fun funlab_get_tmparg (flab: funlab): t2mpmarglst // fun funlab_get_stamp (flab: funlab):<> stamp // (* ****** ****** *) fun funlab_is_envful (flab: funlab): bool (* ****** ****** *) // // HX: obtaining env+arg-list // fun funlab_get_type_fullarg (flab: funlab): hisexplst (* ****** ****** *) absvtype funlabset_vtype vtypedef funlabset_vt = funlabset_vtype fun funlabset_vt_nil (): funlabset_vt fun funlabset_vt_free (fls: funlabset_vt): void fun funlabset_vt_ismem (fls: !funlabset_vt, fl: funlab): bool fun funlabset_vt_add (fls: funlabset_vt, fl: funlab): funlabset_vt fun funlabset_vt_listize (fls: !funlabset_vt): funlablst_vt fun funlabset_vt_listize_free (fls: funlabset_vt): funlablst_vt fun funlablst2set (fls: funlablst): funlabset_vt fun fprint_funlabset_vt (out: FILEref, fls: !funlabset_vt): void overload fprint with fprint_funlabset_vt (* ****** ****** *) // // HX: function entry // abstype funent_type typedef funent = funent_type typedef funentlst = List (funent) typedef funentopt = Option (funent) vtypedef funentopt_vt = Option_vt (funent) // fun print_funent (x: funent): void overload print with print_funent fun prerr_funent (x: funent): void overload prerr with prerr_funent fun fprint_funent : fprint_type (funent) overload fprint with fprint_funent // (* ****** ****** *) fun funent_is_tmplt (feng: funent): bool (* ****** ****** *) fun funent_get_loc (fent: funent): loc_t // fun funent_get_lab (fent: funent): funlab // fun funent_get_level (fent: funent): int // fun funent_get_imparg (fent: funent): s2varlst fun funent_get_tmparg (fent: funent): s2explstlst // fun funent_get_tmpret (fent: funent): tmpvar // return value // fun funent_get_flablst (fent: funent): funlablst fun funent_get_flablst_fin (fent: funent): Option (funlablst) // fun funent_get_d2envlst (fent: funent): d2envlst fun funent_get_d2envlst_fin (fent: funent): Option (d2envlst) // fun funent_get_tmpvarlst (fent: funent): tmpvarlst // fun funent_get_fnxlablst (fent: funent): funlablst fun funent_set_fnxlablst (fent: funent, fls: funlablst): void = "patsopt_funent_set_fnxlablst" // (* ****** ****** *) (* // HX: transitive closure of called functions *) fun funent_eval_flablst (fent: funent): funlablst (* // HX: environvals occurring in called functions *) fun funent_eval_d2envlst (fent: funent): d2envlst // (* ****** ****** *) fun funlab_get_funent (flab: funlab): funentopt fun funlab_set_funent (flab: funlab, opt: funentopt): void (* ****** ****** *) fun the_funlablst_get (): funlablst fun the_funlablst_add (flab: funlab): void fun the_funlablst_addlst (fls: funlablst): void (* ****** ****** *) datatype tmpsub = | TMPSUBcons of (s2var, s2exp, tmpsub) | TMPSUBnil of () typedef tmpsubopt = Option (tmpsub) vtypedef tmpsubopt_vt = Option_vt (tmpsub) fun fprint_tmpsub : fprint_type (tmpsub) fun fprint_tmpsubopt : fprint_type (tmpsubopt) (* ****** ****** *) overload fprint with fprint_tmpsub overload fprint with fprint_tmpsubopt (* ****** ****** *) fun tmpsub2stasub (xs: tmpsub): stasub fun tmpsub_append (xs1: tmpsub, xs2: tmpsub): tmpsub (* ****** ****** *) datatype tmpcstmat = | TMPCSTMATnone of () | TMPCSTMATsome of (hiimpdec, tmpsub, int(*knd*)) | TMPCSTMATsome2 of (d2cst, s2explstlst, funlab) // end of [tmpcstmat] fun fprint_tmpcstmat : fprint_type (tmpcstmat) fun fprint_tmpcstmat_kind : fprint_type (tmpcstmat) // 1/0:found/not (* ****** ****** *) datatype tmpvarmat = | TMPVARMATnone of () | TMPVARMATsome of (hifundec, tmpsub, int(*knd*)) | TMPVARMATsome2 of (d2var, s2explstlst, funlab) // end of [tmpvarmat] fun fprint_tmpvarmat : fprint_type (tmpvarmat) fun fprint_tmpvarmat_kind : fprint_type (tmpvarmat) // 1/0:found/not (* ****** ****** *) overload fprint with fprint_tmpcstmat overload fprint with fprint_tmpvarmat (* ****** ****** *) abstype ccomp_instrlst_type typedef instrlst = ccomp_instrlst_type (* ****** ****** *) datatype primcstsp = | PMCSTSPmyfil of (filename) | PMCSTSPmyloc of (loc_t) | PMCSTSPmyfun of (funlab) // HX: for function name // end of [primcstsp] fun fprint_primcstsp : fprint_type (primcstsp) (* ****** ****** *) datatype primdec_node = // | PMDnone of () | PMDlist of (primdeclst) // | PMDsaspdec of (s2aspdec) // | PMDextvar of (string(*name*), instrlst) // end of [PMDextvar] // | PMDdatdecs of (s2cstlst) | PMDexndecs of (d2conlst) // | PMDfundecs of ( funkind, s2qualst, hifundeclst ) // end of [PMDfundecs] // | PMDvaldecs of (valkind, hivaldeclst, instrlst) // end of [PMDvaldecs] | PMDvaldecs_rec of (valkind, hivaldeclst, instrlst) // end of [PMDvaldecs_rec] // | PMDvardecs of (hivardeclst, instrlst) // | PMDimpdec of (hiimpdec) // | PMDinclude of (int(*knd*), primdeclst) // | PMDstaload of (hidecl) // HX: staloading // | PMDstaloadloc of (filename, symbol, primdeclst) // | PMDdynload of (hidecl) // HX: dynloading // | PMDlocal of (primdeclst, primdeclst) // end of [primdec_node] and primval_node = // | PMVtmp of (tmpvar) // temporary variables | PMVtmpref of (tmpvar) // for addresses of temporary variables // | PMVarg of (int) | PMVargref of (int) // call-by-reference | PMVargtmpref of (int) // call-by-reference but treated as tmpvar | PMVargenv of (int) // arguments for environvals // | PMVcst of (d2cst) // for constants | PMVenv of (d2var) // for environvals // | PMVint of (int) | PMVintrep of (string) // | PMVbool of (bool) | PMVchar of (char) | PMVfloat of (double) | PMVstring of (string) // | PMVi0nt of (i0nt) | PMVf0loat of (f0loat) // | PMVsizeof of (hisexp) // | PMVcstsp of (primcstsp) // | PMVtop of () | PMVempty of () // | PMVextval of (string(*name*)) // | PMVcastfn of (d2cst, primval) // | PMVselcon of (primval, hisexp(*tysum*), label) | PMVselect of (primval, hisexp(*tyroot*), primlab) | PMVselect2 of (primval, hisexp(*tyroot*), primlablst) // | PMVselptr of (primval, hisexp(*tyroot*), primlablst) // | PMVptrof of (primval) | PMVptrofsel of (primval, hisexp(*tyroot*), primlablst) // | PMVrefarg of (int(*knd*), int(*freeknd*), primval) // | PMVfunlab of (funlab) | PMVcfunlab of (int(*knd*), funlab) // | PMVd2vfunlab of (d2var, funlab) // for fundecloc reloc // | PMVlamfix of (int(*knd*), primval) // knd=0/1:lam/fix // | PMVtmpltcst of (d2cst, t2mpmarglst) // for template constants | PMVtmpltvar of (d2var, t2mpmarglst) // for template variables // | PMVtmpltcstmat of (d2cst, t2mpmarglst, tmpcstmat) // for matched template constants | PMVtmpltvarmat of (d2var, t2mpmarglst, tmpvarmat) // for matched template variables // | PMVerror of () // end of [primval_node] and primlab_node = | PMLlab of (label) | PMLind of (primvalist(*ind*)) // end of [primlab] and labprimval = LABPRIMVAL of (label, primval) (* ****** ****** *) where primdec = '{ primdec_loc= loc_t , primdec_node= primdec_node } // end of [primdec] and primdeclst = List (primdec) and primdeclst_vt = List_vt (primdec) and primval = '{ primval_loc= loc_t , primval_type= hisexp , primval_node= primval_node } // end of [primval] and primvalist = List (primval) and primvalist_vt = List_vt (primval) and primvalopt = Option (primval) and labprimvalist = List (labprimval) and labprimvalist_vt = List_vt (labprimval) and primlab = '{ primlab_loc= loc_t , primlab_node= primlab_node } // end of [primlab] and primlablst = List (primlab) (* ****** ****** *) fun print_primdec (pmd: primdec): void overload print with print_primdec fun prerr_primdec (pmd: primdec): void overload prerr with prerr_primdec fun fprint_primdec : fprint_type (primdec) fun fprint_primdeclst : fprint_type (primdeclst) (* ****** ****** *) fun primdec_none (loc: loc_t): primdec (* ****** ****** *) // fun primdec_list (loc: loc_t, pmds: primdeclst): primdec // (* ****** ****** *) fun primdec_saspdec (loc: loc_t, d2c: s2aspdec): primdec // end of [primdec_saspdec] (* ****** ****** *) fun primdec_extvar (loc: loc_t, name: string, inss: instrlst): primdec // end of [primdec_extvar] (* ****** ****** *) fun primdec_datdecs (loc: loc_t, s2cs: s2cstlst): primdec // end of [primdec_datdecs] fun primdec_exndecs (loc: loc_t, d2cs: d2conlst): primdec // end of [primdec_exndecs] (* ****** ****** *) fun primdec_fundecs ( loc: loc_t , knd: funkind, decarg: s2qualst, hfds: hifundeclst ) : primdec // end of [primdec_fundecs] (* ****** ****** *) fun primdec_valdecs ( loc: loc_t, knd: valkind, hvds: hivaldeclst, inss: instrlst ) : primdec // end of [primdec_valdecs] fun primdec_valdecs_rec ( loc: loc_t, knd: valkind, hvds: hivaldeclst, inss: instrlst ) : primdec // end of [primdec_valdecs_rec] (* ****** ****** *) fun primdec_vardecs (loc: loc_t, hvds: hivardeclst, inss: instrlst): primdec // end of [primdec_vardecs] (* ****** ****** *) fun primdec_impdec (loc: loc_t, imp: hiimpdec): primdec // end of [primdec_impdec] (* ****** ****** *) fun primdec_include (loc: loc_t, knd: int, pmds: primdeclst): primdec (* ****** ****** *) // fun primdec_staload (loc: loc_t, hid: hidecl): primdec // fun primdec_staloadloc ( loc: loc_t, pfil: filename, nspace: symbol, pmds: primdeclst ) : primdec // end of [primdec_staloadloc] // fun primdec_dynload (loc: loc_t, hid: hidecl): primdec // (* ****** ****** *) fun primdec_local (loc: loc_t, _head: primdeclst, _body: primdeclst): primdec // end of [primdec_local] (* ****** ****** *) // fun print_primval (x: primval): void fun prerr_primval (x: primval): void // overload print with print_primval overload prerr with prerr_primval // fun fprint_primval : fprint_type (primval) fun fprint_primvalist : fprint_type (primvalist) // overload fprint with fprint_primval overload fprint with fprint_primvalist // (* ****** ****** *) // fun print_primlab (x: primlab): void fun prerr_primlab (x: primlab): void // overload print with print_primlab overload prerr with prerr_primlab // fun fprint_primlab : fprint_type (primlab) fun fprint_primlablst : fprint_type (primlablst) // overload fprint with fprint_primlab overload fprint with fprint_primlablst // (* ****** ****** *) fun fprint_labprimvalist : fprint_type (labprimvalist) (* ****** ****** *) fun tmpvar_is_void (tmp: tmpvar): bool (* ****** ****** *) fun primval_is_void (pmv: primval): bool (* ****** ****** *) fun primval_is_top (pmv: primval): bool (* uninitiated *) fun primval_is_empty (pmv: primval): bool (* value of size(0) *) (* ****** ****** *) fun primval_is_nshared (pmv: primval): bool // left-val/field-sel (* ****** ****** *) fun primlab_is_lab (pml: primlab): bool fun primlab_is_ind (pml: primlab): bool (* ****** ****** *) fun primval_tmp (loc: loc_t, hse: hisexp, tmp: tmpvar): primval fun primval_tmpref (loc: loc_t, hse: hisexp, tmp: tmpvar): primval (* ****** ****** *) fun primval_arg (loc: loc_t, hse: hisexp, narg: int): primval fun primval_argref (loc: loc_t, hse: hisexp, narg: int): primval fun primval_argtmpref (loc: loc_t, hse: hisexp, narg: int): primval fun primval_argenv (loc: loc_t, hse: hisexp, nenv: int): primval (* ****** ****** *) fun primval_cst (loc: loc_t, hse: hisexp, d2c: d2cst): primval // end of [primval_cst] fun primval_env (loc: loc_t, hse: hisexp, d2v: d2var): primval // end of [primval_env] (* ****** ****** *) fun primval_int (loc: loc_t, hse: hisexp, i: int): primval fun primval_intrep (loc: loc_t, hse: hisexp, rep: string): primval (* ****** ****** *) fun primval_bool (loc: loc_t, hse: hisexp, b: bool): primval fun primval_char (loc: loc_t, hse: hisexp, c: char): primval fun primval_float (loc: loc_t, hse: hisexp, f: double): primval fun primval_string (loc: loc_t, hse: hisexp, str: string): primval (* ****** ****** *) fun primval_i0nt (loc: loc_t, hse: hisexp, tok: i0nt): primval fun primval_f0loat (loc: loc_t, hse: hisexp, tok: f0loat): primval (* ****** ****** *) fun primval_sizeof (loc: loc_t, hse: hisexp, hselt: hisexp): primval // end of [primval_sizeof] (* ****** ****** *) fun primval_cstsp (loc: loc_t, hse: hisexp, cstsp: primcstsp): primval // end of [primval_cstsp] (* ****** ****** *) fun primval_top (loc: loc_t, hse: hisexp): primval fun primval_empty (loc: loc_t, hse: hisexp): primval (* ****** ****** *) fun primval_extval (loc: loc_t, hse: hisexp, name: string): primval // end of [primval_extval] (* ****** ****** *) fun primval_castfn ( loc: loc_t, hse: hisexp, d2c: d2cst, arg: primval ) : primval // end of [primval_castfn] (* ****** ****** *) fun primval_selcon ( loc: loc_t , hse: hisexp, pmv: primval, hse_sum: hisexp, lab: label ) : primval // end of [primval_selcon] fun primval_select ( loc: loc_t , hse: hisexp, pmv: primval, hse_rt: hisexp, pml: primlab ) : primval // end of [primval_select] fun primval_select2 ( loc: loc_t , hse: hisexp, pmv: primval, hse_rt: hisexp, pmls: primlablst ) : primval // end of [primval_select2] (* ****** ****** *) fun primval_selptr ( loc: loc_t , hse: hisexp, pmv: primval, hse_rt: hisexp, pmls: primlablst ) : primval // end of [primval_selptr] (* ****** ****** *) fun primval_ptrof (loc: loc_t, hse: hisexp, pmv: primval): primval // end of [primval_ptrof] fun primval_ptrofsel ( loc: loc_t , hse: hisexp, pmv: primval, hse_rt: hisexp, pmls: primlablst ) : primval // end of [primval_ptrofsel] (* ****** ****** *) fun primval_refarg ( loc: loc_t , hse: hisexp, knd: int, freeknd: int, pmv: primval ) : primval // end of [primval_refarg] (* ****** ****** *) // fun primval_funlab (loc: loc_t, hse: hisexp, flab: funlab): primval fun primval_cfunlab (loc: loc_t, hse: hisexp, knd: int, flab: funlab): primval // (* ****** ****** *) fun primval_d2vfunlab ( loc: loc_t, hse: hisexp, d2v: d2var, flab: funlab ) : primval // end of [primval_d2vfunlab] (* ****** ****** *) fun primval_lamfix (knd: int, pmv_funval: primval): primval (* ****** ****** *) fun primval_tmpltcst ( loc: loc_t, hse: hisexp, d2c: d2cst, t2mas: t2mpmarglst ) : primval // end of [primval_tmpltcst] fun primval_tmpltcstmat ( loc: loc_t, hse: hisexp, d2c: d2cst, t2mas: t2mpmarglst, mat: tmpcstmat ) : primval // end of [primval_tmpltcstmat] (* ****** ****** *) fun primval_tmpltvar ( loc: loc_t, hse: hisexp, d2v: d2var, t2mas: t2mpmarglst ) : primval // end of [primval_tmpltvar] fun primval_tmpltvarmat ( loc: loc_t, hse: hisexp, d2v: d2var, t2mas: t2mpmarglst, mat: tmpvarmat ) : primval // end of [primval_tmpltvarmat] (* ****** ****** *) fun primval_error (loc: loc_t, hse: hisexp): primval (* ****** ****** *) fun primval_make_sizeof (loc: loc_t, hselt: hisexp): primval (* ****** ****** *) fun primval_make_funlab (loc: loc_t, flab: funlab): primval fun primval_make2_funlab (loc: loc_t, hse0: hisexp, flab: funlab): primval (* ****** ****** *) fun primval_make_d2vfunlab (loc: loc_t, d2v: d2var, flab: funlab): primval // end of [primval_make_d2vfunlab] (* ****** ****** *) fun primval_make_tmp (loc: loc_t, tmp: tmpvar): primval fun primval_make_tmpref (loc: loc_t, tmp: tmpvar): primval (* ****** ****** *) fun primval_make_ptrofsel (loc: loc_t, pmv: primval, hse_rt: hisexp, pmls: primlablst): primval // end of [primval_make_ptrofsel] (* ****** ****** *) fun primlab_lab (loc: loc_t, lab: label): primlab fun primlab_ind (loc: loc_t, ind: primvalist): primlab (* ****** ****** *) datatype patck = // | PATCKcon of (d2con) // | PATCKint of (int) | PATCKbool of (bool) | PATCKchar of (char) | PATCKfloat of (double) | PATCKstring of (string) // | PATCKi0nt of (i0nt) | PATCKf0loat of (f0loat) // // end of [patck] (* ****** ****** *) datatype tmprimval = | TPMVnone of (primval) | TPMVsome of (tmpvar, primval) // end of [tmprimval] (* ****** ****** *) fun fprint_tmprimval (out: FILEref, x: tmprimval): void overload fprint with fprint_tmprimval (* ****** ****** *) typedef tmpmov = @( tmprimval(*src*), tmpvar(*dst*) ) (* end of [tmpmov] *) typedef tmpmovlst = List (tmpmov) vtypedef tmpmovlst_vt = List_vt (tmpmov) (* ****** ****** *) fun fprint_tmpmovlst (out: FILEref, xs: tmpmovlst): void overload fprint with fprint_tmpmovlst (* ****** ****** *) datatype patckont = | PTCKNTnone of () | PTCKNTtmplab of tmplab | PTCKNTtmplabint of (tmplab, int) | PTCKNTtmplabmov of (tmplab, tmpmovlst) | PTCKNTcaseof_fail of (loc_t) // run-time failure | PTCKNTfunarg_fail of (loc_t, funlab) // run-time failure | PTCKNTraise of (tmpvar(*ret*), primval) // end of [patckont] (* ****** ****** *) fun print_patck (x: patck): void overload print with print_patck fun prerr_patck (x: patck): void overload prerr with prerr_patck fun fprint_patck : fprint_type (patck) fun print_patckont (x: patckont): void overload print with print_patckont fun prerr_patckont (x: patckont): void overload prerr with prerr_patckont fun fprint_patckont : fprint_type (patckont) (* ****** ****** *) fun patckont_is_none (fail: patckont): bool (* ****** ****** *) datatype instr_node = // | INSfunlab of (funlab) | INStmplab of (tmplab) // | INScomment of (string) // | INSmove_val of (tmpvar, primval) // | INSpmove_val of (tmpvar(*ptr*), primval) // | INSmove_arg_val of (int(*arg*), primval) // | INSfcall of // regular funcall (tmpvar, primval(*fun*), hisexp, primvalist(*arg*)) | INSfcall2 of // tail-recursive funcall // ntl: 0/1+ : fun/fnx (tmpvar, funlab, int(*ntl*), hisexp, primvalist(*arg*)) // | INSextfcall of (tmpvar, string(*fun*), primvalist(*arg*)) | INSextmcall of (tmpvar, primval(*obj*), string(*mtd*), primvalist(*arg*)) // | INScond of ( // conditinal instruction primval(*test*), instrlst(*then*), instrlst(*else*) ) // end of [INScond] // | INSfreecon of (primval) // memory dealloc_t // | INSloop of ( tmplab(*init*) , tmplab(*fini*) , tmplab(*cont*) , instrlst(*init*) , primval(*test*), instrlst(*test*) , instrlst(*post*) , instrlst(*body*) ) // end of [INSloop] | INSloopexn of (int(*knd*), tmplab) // knd=0/1: break/continue // | INScaseof of (ibranchlst) // caseof-branch-statements // | INSletpop of () | INSletpush of (primdeclst) // | INSmove_con of (tmpvar, d2con, hisexp, labprimvalist(*arg*)) // | INSmove_ref of (tmpvar, primval) // tmp := ref (pmv) // | INSmove_boxrec of (tmpvar, labprimvalist(*arg*), hisexp) | INSmove_fltrec of (tmpvar, labprimvalist(*arg*), hisexp) // | INSpatck of (primval, patck, patckont) // pattern check // (* | INSmove_selcon of (tmpvar, primval, hisexp(*tysum*), label) // end of [INSmove_selcon] | INSmove_select of (tmpvar, primval, hisexp(*tyroot*), primlab) // end of [INSmove_select] | INSmove_select2 of (tmpvar, primval, hisexp(*tyroot*), primlablst) // end of [INSmove_select2] *) // | INSmove_ptrofsel of (tmpvar, primval, hisexp(*tyroot*), primlablst) // end of [INSmove_ptrofsel] // | INSstore_ptrofs of (primval(*left*), hisexp(*tyroot*), primlablst(*ofs*), primval(*right*)) | INSxstore_ptrofs of (tmpvar, primval(*left*), hisexp(*tyroot*), primlablst(*ofs*), primval(*right*)) // | INSraise of (tmpvar(*dummy*), primval) // raising an exception // | INSmove_delay of (tmpvar, int(*lin*), hisexp, primval(*thunk*)) // suspending evaluation | INSmove_lazyeval of (tmpvar, int(*lin*), hisexp, primval(*lazyval*)) // evaluating lazy-values // | INStrywith of (tmpvar(*exn*), instrlst, ibranchlst) // for try-with expressions // | INSmove_list_nil of (tmpvar) | INSpmove_list_nil of (tmpvar) | INSpmove_list_cons of (tmpvar, hisexp(*elt*)) | INSmove_list_phead of // hd <- &(tl->val) (tmpvar(*hd*), tmpvar(*tl*), hisexp(*elt*)) | INSmove_list_ptail of // tl_new <- &(tl_old->next) (tmpvar(*new*), tmpvar(*old*), hisexp(*elt*)) // | INSmove_arrpsz_ptr of (tmpvar, tmpvar) // | INSstore_arrpsz_asz of (tmpvar, int(*asz*)) | INSstore_arrpsz_ptr of (tmpvar, hisexp(*elt*), int(*asz*)) // | INSupdate_ptrinc of (tmpvar, hisexp(*elt*)) | INSupdate_ptrdec of (tmpvar, hisexp(*elt*)) // | INSclosure_initize of (tmpvar, funlab) // | INStmpdec of (tmpvar) // HX-2013-01: this is a no-op // | INSextvar of (string, primval) // HX-2013-05: extvar def | INSdcstdef of (d2cst, primval) // HX-2013-05: global const def // // end of [instr_node] where instr = '{ instr_loc= loc_t, instr_node= instr_node } // end of [instr] and instrlst = List (instr) and instrlst_vt = List_vt (instr) and instrlstopt = Option (instrlst) and ibranch = '{ ibranch_loc= loc_t, ibranch_inslst= instrlst } // end of [ibranch] and ibranchlst = List (ibranch) (* ****** ****** *) fun print_instr (x: instr): void fun prerr_instr (x: instr): void overload prerr with prerr_instr overload print with print_instr fun fprint_instr : fprint_type (instr) overload fprint with fprint_instr fun fprint_instrlst : fprint_type (instrlst) overload fprint with fprint_instrlst (* ****** ****** *) fun instr_funlab (loc: loc_t, flab: funlab): instr fun instr_tmplab (loc: loc_t, tlab: tmplab): instr (* ****** ****** *) fun instr_comment (loc: loc_t, str: string): instr (* ****** ****** *) fun instr_move_val ( loc: loc_t, tmp: tmpvar, pmv: primval ) : instr // end of [instr_move_val] fun instr_pmove_val ( loc: loc_t, tmp: tmpvar, pmv: primval ) : instr // end of [instr_pmove_val] (* ****** ****** *) fun instr_move_arg_val (loc: loc_t, arg: int, pmv: primval): instr // end of [instr_move_arg_val] (* ****** ****** *) fun instr_fcall ( loc: loc_t , tmpret: tmpvar , pmv_fun: primval, hse_fun: hisexp, pmvs_arg: primvalist ) : instr // end of [instr_fcall] fun instr_fcall2 ( loc: loc_t , tmpret: tmpvar , fl: funlab, ntl: int, hse_fun: hisexp, pmvs_arg: primvalist ) : instr // end of [instr_fcall2] (* ****** ****** *) // fun instr_extfcall ( loc: loc_t , tmpret: tmpvar, _fun: string, _arg: primvalist ) : instr // end of [instr_extfcall] // fun instr_extmcall ( loc: loc_t , tmpret: tmpvar, _obj: primval, _mtd: string, _arg: primvalist ) : instr // end of [instr_extmcall] // (* ****** ****** *) fun instr_cond ( loc: loc_t , _cond: primval, _then: instrlst, _else: instrlst ) : instr // end of [instr_cond] (* ****** ****** *) fun instr_freecon (loc: loc_t, pmv: primval): instr (* ****** ****** *) fun instr_loop ( loc: loc_t , tlab_init: tmplab , tlab_fini: tmplab , tlab_cont: tmplab , inss_init: instrlst , pmv_test: primval, inss_test: instrlst , inss_post: instrlst , inss_body: instrlst ) : instr // end of [instr_loop] fun instr_loopexn ( loc: loc_t, knd: int, tlab: tmplab ) : instr // end of [instr_loopexn] (* ****** ****** *) fun instr_caseof (loc: loc_t, xs: ibranchlst): instr (* ****** ****** *) fun instr_letpop (loc: loc_t): instr fun instr_letpush (loc: loc_t, pmds: primdeclst): instr (* ****** ****** *) fun instr_move_con ( loc: loc_t , tmp: tmpvar, d2c: d2con, hse_sum: hisexp, lpmvs: labprimvalist ) : instr // end of [instr_move_con] (* ****** ****** *) fun instr_move_ref (loc: loc_t, tmp: tmpvar, pmv: primval): instr // end of [instr_move_ref] (* ****** ****** *) fun instr_move_boxrec ( loc: loc_t, tmp: tmpvar, arg: labprimvalist, hse: hisexp ) : instr // end of [instr_move_boxrec] fun instr_move_fltrec ( loc: loc_t, tmp: tmpvar, arg: labprimvalist, hse: hisexp ) : instr // end of [instr_move_fltrec] fun instr_move_fltrec2 ( loc: loc_t, tmp: tmpvar, arg: labprimvalist, hse: hisexp ) : instr // end of [instr_move_fltrec2] (* ****** ****** *) fun instr_patck ( loc: loc_t, pmv: primval, ptck: patck, ptknt: patckont ) : instr // pattern check (* ****** ****** *) fun instr_move_selcon ( loc: loc_t , tmp: tmpvar, hse: hisexp, pmv: primval, hse_sum: hisexp, lab: label ) : instr // end of [instr_move_selcon] fun instr_move_select ( loc: loc_t , tmp: tmpvar, hse: hisexp, pmv: primval, hse_rt: hisexp, pml: primlab ) : instr // end of [instr_move_select] fun instr_move_select2 ( loc: loc_t , tmp: tmpvar, hse: hisexp, pmv: primval, hse_rt: hisexp, pmls: primlablst ) : instr // end of [instr_move_select2] (* ****** ****** *) fun instr_move_ptrofsel ( loc: loc_t, tmp: tmpvar , pmv: primval, hse_rt: hisexp, pmls: primlablst ) : instr // end of [instr_move_ptrofsel] (* ****** ****** *) (* fun instr_load_ptrofs ( loc: loc_t, tmp: tmpvar , pmv: primval, hse_rt: hisexp, pmls: primlablst ) : instr // end of [instr_load_ptrofs] *) (* ****** ****** *) fun instr_store_ptrofs ( loc: loc_t , pmv_l: primval, hse_rt: hisexp, pmls: primlablst , pmv_r: primval ) : instr // end of [instr_store_ptrofs] fun instr_xstore_ptrofs ( loc: loc_t, tmp: tmpvar , pmv_l: primval, hse_rt: hisexp, pmls: primlablst , pmv_r: primval ) : instr // end of [instr_xstore_ptrofs] (* ****** ****** *) fun instr_raise ( loc: loc_t, tmp: tmpvar, pmv_exn: primval ) : instr // end of [instr_raise] (* ****** ****** *) fun instr_move_delay ( loc: loc_t, tmp: tmpvar, lin: int, hse: hisexp, thunk: primval ) : instr // end of [instr_move_delay] fun instr_move_lazyeval ( loc: loc_t, tmp: tmpvar, lin: int, hse: hisexp, pmv_lazy: primval ) : instr // end of [instr_move_lazyeval] (* ****** ****** *) fun instr_trywith ( loc: loc_t , tmp(*exn*): tmpvar, _try: instrlst, _with: ibranchlst ) : instr // end of [instr_trywith] (* ****** ****** *) fun instr_move_list_nil (loc: loc_t, tmp: tmpvar): instr fun instr_pmove_list_nil (loc: loc_t, tmp: tmpvar): instr fun instr_pmove_list_cons (loc: loc_t, tmp: tmpvar, elt: hisexp): instr (* ****** ****** *) fun instr_move_list_phead (loc: loc_t, tmphd: tmpvar, tmptl: tmpvar, elt: hisexp): instr fun instr_move_list_ptail (loc: loc_t, tl_new: tmpvar, tl_old: tmpvar, elt: hisexp): instr (* ****** ****** *) fun instr_move_arrpsz_ptr (loc: loc_t, tmp: tmpvar, psz: tmpvar): instr (* ****** ****** *) fun instr_store_arrpsz_asz (loc: loc_t, tmp: tmpvar, asz: int) : instr fun instr_store_arrpsz_ptr ( loc: loc_t, tmp: tmpvar, hse_elt: hisexp, asz: int ) : instr // end of [instr_store_arrpsz_asz] (* ****** ****** *) fun instr_update_ptrinc (loc: loc_t, tmpelt: tmpvar, hse_elt: hisexp): instr // end of [instr_update_ptrinc] fun instr_update_ptrdec (loc: loc_t, tmpelt: tmpvar, hse_elt: hisexp): instr // end of [instr_update_ptrdec] (* ****** ****** *) // fun instr_closure_initize (loc: loc_t, tmpret: tmpvar, flab: funlab): instr // (* ****** ****** *) fun instr_tmpdec (loc: loc_t, tmp: tmpvar): instr (* ****** ****** *) fun instr_extvar (loc: loc_t, xnm: string, pmv: primval): instr fun instr_dcstdef (loc: loc_t, d2c: d2cst, pmv: primval): instr (* ****** ****** *) fun ibranch_make (loc: loc_t, inss: instrlst): ibranch (* ****** ****** *) fun primlab_lab (loc: loc_t, lab: label): primlab fun primlab_ind (loc: loc_t, ind: primvalist): primlab (* ****** ****** *) fun instrlst_get_tmpvarset (xs: instrlst): tmpvarset_vt fun primdeclst_get_tmpvarset (xs: primdeclst): tmpvarset_vt (* ****** ****** *) absvtype instrseq_vtype vtypedef instrseq = instrseq_vtype (* ****** ****** *) fun instrseq_make_nil (): instrseq fun instrseq_get_free (res: instrseq): instrlst (* ****** ****** *) // fun instrseq_add (res: !instrseq, x: instr): void // (* ****** ****** *) // fun instrseq_add_comment (res: !instrseq, comment: string): void // (* ****** ****** *) // fun instrseq_add_tmpdec (res: !instrseq, loc: loc_t, tmp: tmpvar): void // (* ****** ****** *) // fun instrseq_add_extvar ( res: !instrseq, loc: loc_t, xnm: string, pmv: primval ) : void // end-of-fun // fun instrseq_add_dcstdef (res: !instrseq, loc: loc_t, d2c: d2cst, pmv: primval): void // (* ****** ****** *) // fun instrseq_addlst (res: !instrseq, xs: instrlst): void fun instrseq_addlst_vt (res: !instrseq, xs: instrlst_vt): void // (* ****** ****** *) // fun instrseq_add_freeconlst (res: !instrseq, loc0: loc_t, pmvs: primvalist_vt): void // (* ****** ****** *) fun hifundec_get_funlabopt (hfd: hifundec): Option (funlab) fun hifundec_set_funlabopt (hfd: hifundec, opt: Option (funlab)): void (* ****** ****** *) fun hiimpdec_get_funlabopt (imp: hiimpdec): Option (funlab) fun hiimpdec_set_funlabopt (imp: hiimpdec, opt: Option (funlab)): void (* ****** ****** *) fun hiimpdec_get_instrlstopt (imp: hiimpdec): Option (instrlst) fun hiimpdec_set_instrlstopt (imp: hiimpdec, opt: Option (instrlst)): void (* ****** ****** *) typedef vbindmap = d2varmap (primval) (* ****** ****** *) fun fprint_vbindmap (out: FILEref, vbmap: vbindmap): void (* ****** ****** *) fun funent_make ( loc: loc_t , flab: funlab , imparg: s2varlst , tmparg: s2explstlst , tmpsub: tmpsubopt , tmpret: tmpvar , fls0: funlablst, d2es: d2envlst , vbmap: vbindmap , inss_body: instrlst , tmplst: tmpvarlst ) : funent // end of [funent_make] fun funent_make2 ( loc: loc_t , flab: funlab , imparg: s2varlst , tmparg: s2explstlst , tmpret: tmpvar , fls0: funlablst, d2es: d2envlst , vbmap: vbindmap , inss_body: instrlst ) : funent // end of [funent_make2] (* ****** ****** *) fun funent_get_tmpsub (fent: funent): tmpsubopt fun funent_set_tmpsub (fent: funent, opt: tmpsubopt): void = "patsopt_funent_set_tmpsub" // end of [funent_set_tmpsub] fun funent_get_vbindmap (fent: funent): vbindmap fun funent_get_instrlst (fent: funent): instrlst (* ****** ****** *) // datatype hifundec2 = HIFUNDEC2 of (hifundec, tmpsub) // fun fprint_hifundec2 (out: FILEref, hfd2: hifundec2): void // datatype hiimpdec2 = HIIMPDEC2 of (hiimpdec, tmpsub, s2explstlst) // fun fprint_hiimpdec2 (out: FILEref, imp2: hiimpdec2): void // (* ****** ****** *) absvtype ccompenv_vtype vtypedef ccompenv = ccompenv_vtype fun ccompenv_make (): ccompenv fun ccompenv_free (env: ccompenv): void (* ****** ****** *) fun fprint_ccompenv (out: FILEref, env: !ccompenv): void (* ****** ****** *) fun ccompenv_get_tmplevel (env: !ccompenv): int fun ccompenv_inc_tmplevel (env: !ccompenv): void fun ccompenv_dec_tmplevel (env: !ccompenv): void (* ****** ****** *) fun ccompenv_get_tmprecdepth (env: !ccompenv): int fun ccompenv_inc_tmprecdepth (env: !ccompenv): void fun ccompenv_dec_tmprecdepth (env: !ccompenv): void (* ****** ****** *) // fun ccompenv_inc_freeconenv (env: !ccompenv): void fun ccompenv_getdec_freeconenv (env: !ccompenv): primvalist_vt // fun ccompenv_add_freeconenv (env: !ccompenv, pmv: primval): void fun ccompenv_add_freeconenv_if (env: !ccompenv, pmv: primval, pck: pckind, d2c: d2con): void // (* ****** ****** *) fun ccompenv_get_loopfini (env: !ccompenv): tmplab fun ccompenv_get_loopcont (env: !ccompenv): tmplab fun ccompenv_inc_loopexnenv ( env: !ccompenv, init: tmplab, fini: tmplab, cont: tmplab ) : void // end of [ccompenv_inc_loopexnenv] fun ccompenv_dec_loopexnenv (env: !ccompenv): void (* ****** ****** *) // fun ccompenv_dec_tailcalenv (env: !ccompenv): void // fun ccompenv_inc_tailcalenv (env: !ccompenv, fl: funlab): void fun ccompenv_inc_tailcalenv_fnx (env: !ccompenv, fls: funlablst_vt): void // fun ccompenv_find_tailcalenv (env: !ccompenv, fl: funlab): int // fun ccompenv_find_tailcalenv_cst (env: !ccompenv, d2c: d2cst): funlabopt_vt fun ccompenv_find_tailcalenv_var (env: !ccompenv, d2v: d2var, ntl: &int): funlabopt_vt // fun ccompenv_find_tailcalenv_tmpcst (env: !ccompenv, d2c: d2cst, t2mas: t2mpmarglst): funlabopt_vt fun ccompenv_find_tailcalenv_tmpvar (env: !ccompenv, d2v: d2var, t2mas: t2mpmarglst, ntl: &int): funlabopt_vt // (* ****** ****** *) (* fun ccompenv_get_funlevel (env: !ccompenv): int (* function level *) *) (* ****** ****** *) // fun ccompenv_inc_dvarsetenv (env: !ccompenv): void fun ccompenv_incwth_dvarsetenv (env: !ccompenv, d2es: d2envlst): void fun ccompenv_getdec_dvarsetenv (env: !ccompenv): d2envset_vt // fun ccompenv_add_dvarsetenv_var (env: !ccompenv, d2v: d2var): void fun ccompenv_add_dvarsetenv_env (env: !ccompenv, d2e: d2env): void // (* ****** ****** *) // fun ccompenv_inc_flabsetenv (env: !ccompenv): void fun ccompenv_getdec_flabsetenv (env: !ccompenv): funlabset_vt fun ccompenv_add_flabsetenv (env: !ccompenv, fl: funlab): void // (* ****** ****** *) // fun ccompenv_addlst_dvarsetenv_if (env: !ccompenv, flev0: int, d2es: d2envlst): void fun ccompenv_addlst_flabsetenv_ifmap (env: !ccompenv, flev0: int, vbmap: vbindmap, fls0: funlablst_vt): funlablst_vt // (* ****** ****** *) // fun ccompenv_inc_vbindmapenv (env: !ccompenv): void fun ccompenv_getdec_vbindmapenv (env: !ccompenv): vbindmap // fun ccompenv_add_vbindmapenv (env: !ccompenv, d2v: d2var, pmv: primval): void fun ccompenv_find_vbindmapenv (env: !ccompenv, d2v: d2var): Option_vt (primval) // (* ****** ****** *) // absview ccompenv_push_v // fun ccompenv_push (env: !ccompenv): (ccompenv_push_v | void) // fun ccompenv_pop (pfpush: ccompenv_push_v | env: !ccompenv): void // fun ccompenv_localjoin (pf1: ccompenv_push_v, pf2: ccompenv_push_v | env: !ccompenv): void // (* ****** ****** *) fun ccompenv_add_vbindmapall (env: !ccompenv, d2v: d2var, pmv: primval): void // end of [ccompenv_add_vbindmapall] fun ccompenv_find_vbindmapall (env: !ccompenv, d2v: d2var): Option_vt (primval) // end of [ccompenv_find_vbindmapall] (* ****** ****** *) fun ccompenv_add_vbindmapenvall (env: !ccompenv, d2v: d2var, pmv: primval): void // end of [ccompenv_add_vbindmapenvall] (* ****** ****** *) // fun ccompenv_add_tmpsub (env: !ccompenv, tsub: tmpsub): void // (* ****** ****** *) // fun ccompenv_add_fundec (env: !ccompenv, hfd: hifundec): void fun ccompenv_add_fundec2 (env: !ccompenv, hfd2: hifundec2): void // fun ccompenv_add_impdec (env: !ccompenv, imp: hiimpdec): void fun ccompenv_add_impdec2 (env: !ccompenv, imp2: hiimpdec2): void // fun ccompenv_add_staload (env: !ccompenv, fenv: filenv): void // (* ****** ****** *) // fun ccompenv_add_impdecloc ( env: !ccompenv, sub: !stasub, imp: hiimpdec ) : void // end of [ccompenv_add_impdecloc] // fun ccompenv_add_fundecsloc ( env: !ccompenv , sub: !stasub, knd: funkind, decarg: s2qualst, hfds: hifundeclst ) : void // end of [ccompenv_add_fundecsloc] // fun ccompenv_add_tmpcstmat (env: !ccompenv, tmpmat: tmpcstmat): void fun ccompenv_add_tmpvarmat (env: !ccompenv, tmpmat: tmpvarmat): void // (* ****** ****** *) // // HX-2015-01-10: // [get] and [get2] return the same result // however, [get2] is supposed to be more efficient // fun ccompenv_get_tempenver (env: !ccompenv): d2varlst_vt fun ccompenv_get2_tempenver (env: !ccompenv): d2varlst_vt // fun ccompenv_add_tempenver (env: !ccompenv, d2vs: d2varlst): void // (* ****** ****** *) // fun ccompenv_dvarsetenv_add_tempenver (env: !ccompenv, d2es: d2envset_vt): d2envset_vt // (* ****** ****** *) fun hipatck_ccomp ( env: !ccompenv, res: !instrseq , fail: patckont, hip: hipat, pmv: primval ) : void // end of [hipatck_ccomp] (* ****** ****** *) fun himatch_ccomp ( env: !ccompenv, res: !instrseq , level: int, hip: hipat, pmv: primval // HX: [pmv] matches [hip] ) : void // end of [himatch_ccomp] fun himatch2_ccomp ( env: !ccompenv, res: !instrseq , level: int, hip: hipat, pmv: primval // HX: [pmv] matches [hip] ) : void // end of [himatch2_ccomp] (* ****** ****** *) fun hifunarg_ccomp ( env: !ccompenv, res: !instrseq , flab: funlab, level: int, loc_fun: loc_t, hips: hipatlst ) : void // end of [hifunarg_ccomp] (* ****** ****** *) typedef hidexp_ccomp_funtype = (!ccompenv, !instrseq, hidexp) -> primval // fun hidexp_ccomp : hidexp_ccomp_funtype fun hidexp_ccomp_lam : hidexp_ccomp_funtype fun hidexp_ccomp_fix : hidexp_ccomp_funtype fun hidexp_ccomp_loop : hidexp_ccomp_funtype fun hidexp_ccomp_loopexn : hidexp_ccomp_funtype // fun hidexp_ccompv : hidexp_ccomp_funtype // (* ****** ****** *) typedef hidexp_ccomp_ret_funtype = (!ccompenv, !instrseq, tmpvar(*ret*), hidexp) -> void // fun hidexp_ccomp_ret : hidexp_ccomp_ret_funtype // fun hidexp_ccomp_ret_case : hidexp_ccomp_ret_funtype // fun hidexp_ccomp_ret_raise : hidexp_ccomp_ret_funtype // fun hidexp_ccomp_ret_delay : hidexp_ccomp_ret_funtype fun hidexp_ccomp_ret_ldelay : hidexp_ccomp_ret_funtype fun hidexp_ccomp_ret_lazyeval : hidexp_ccomp_ret_funtype // fun hidexp_ccomp_ret_trywith : hidexp_ccomp_ret_funtype // (* ****** ****** *) // fun hidexplst_ccomp (env: !ccompenv, res: !instrseq, hdes: hidexplst): primvalist // end of [hidexplst_ccomp] // fun hidexplst_ccompv (env: !ccompenv, res: !instrseq, hdes: hidexplst): primvalist // end of [hidexplst_ccompv] // (* ****** ****** *) fun hidexp_ccomp_funlab_arg_body ( env: !ccompenv , flab: funlab // HX: needed for recursion , imparg: s2varlst , tmparg: s2explstlst , prolog: instrlst , loc_fun: loc_t , hips_arg: hipatlst , hde_body: hidexp ) : funent // end of [hidexp_ccomp_arg_body_funlab] (* ****** ****** *) fun hiclaulst_ccomp ( env: !ccompenv , lvl0: int , pmvs: primvalist , hicls: hiclaulst , tmpret: tmpvar , fail: patckont ) : ibranchlst // end of [hiclaulst_ccomp] (* ****** ****** *) fun hilab_ccomp (env: !ccompenv, res: !instrseq, hil: hilab): primlab fun hilablst_ccomp (env: !ccompenv, res: !instrseq, hils: hilablst): primlablst (* ****** ****** *) fun hiimpdec_ccomp ( env: !ccompenv, level: int, imp: hiimpdec, knd: int ) : void // end of [hiimpdec_ccomp] fun hiimpdec_ccomp_if ( env: !ccompenv, level: int, imp: hiimpdec, knd: int ) : void // end of [hiimpdec_ccomp_if] (* ****** ****** *) fun hifundeclst_ccomp ( env: !ccompenv, lvl0: int , knd: funkind, decarg: s2qualst, hfds: hifundeclst ) : void // end of [hifundeclst_ccomp] (* ****** ****** *) fun hidecl_ccomp (env: !ccompenv, hid: hidecl): primdec fun hideclist_ccomp (env: !ccompenv, hids: hideclist): primdeclst fun hideclist_ccomp0 (hids: hideclist): primdeclst (* ****** ****** *) // // HX-2013-04: for handling environvals // fun funent_varbindmap_initize (fent: funent): void fun funent_varbindmap_initize2 (fent: funent): void fun funent_varbindmap_uninitize (fent: funent): void fun the_funent_varbindmap_find (d2v: d2var): Option_vt (primval) // (* ****** ****** *) fun emit_text (out: FILEref, txt: string): void // end of [emit_text] fun emit_LPAREN (out: FILEref): void fun emit_RPAREN (out: FILEref): void fun emit_newline (out: FILEref): void (* ****** ****** *) // fun emit_location (out: FILEref, x: loc_t): void // (* ****** ****** *) fun emit_int (out: FILEref, x: int): void fun emit_intinf (out: FILEref, x: intinf): void fun emit_bool (out: FILEref, x: bool): void fun emit_char (out: FILEref, x: char): void fun emit_float (out: FILEref, x: double): void fun emit_string (out: FILEref, x: string): void (* ****** ****** *) fun emit_ATSPMVint (out: FILEref, x: int): void fun emit_ATSPMVintrep (out: FILEref, x: string): void fun emit_ATSPMVbool (out: FILEref, x: bool): void fun emit_ATSPMVchar (out: FILEref, x: char): void fun emit_ATSPMVfloat (out: FILEref, x: double): void fun emit_ATSPMVstring (out: FILEref, str: string): void fun emit_ATSPMVi0nt (out: FILEref, tok: $SYN.i0nt): void fun emit_ATSPMVf0loat (out: FILEref, tok: $SYN.f0loat): void (* ****** ****** *) fun emit_stamp (out: FILEref, x: stamp): void fun emit_symbol (out: FILEref, x: symbol): void (* ****** ****** *) fun emit_time_stamp (out: FILEref): void fun emit_ats_ccomp_header (out: FILEref): void fun emit_ats_ccomp_prelude (out: FILEref): void (* ****** ****** *) fun emit_ident (out: FILEref, id: string): void fun emit_label (out: FILEref, lab: label): void fun emit_atslabel (out: FILEref, lab: label): void fun emit_labelext (out: FILEref, knd: int, lab: label): void fun emit_filename (out: FILEref, fil: filename): void (* ****** ****** *) fun emit_primcstsp (out: FILEref, pmc: primcstsp): void (* ****** ****** *) fun emit_s2cst (out: FILEref, d2c: s2cst): void // HX: global fun emit2_s2cst (out: FILEref, d2c: s2cst): void // HX: local (* ****** ****** *) fun emit_d2con (out: FILEref, d2c: d2con): void fun emit_d2cst (out: FILEref, d2c: d2cst): void // HX: global fun emit2_d2cst (out: FILEref, d2c: d2cst): void // HX: local (* ****** ****** *) fun emit_d2env (out: FILEref, d2e: d2env): void fun emit_d2var_env (out: FILEref, d2v: d2var): void fun emit_d2envlst (out: FILEref, d2es: d2envlst, i: int): int(*nenv*) (* ****** ****** *) fun emit_exndec (out: FILEref, hid: hidecl): void fun emit_saspdec (out: FILEref, hid: hidecl): void (* ****** ****** *) fun emit_extype (out: FILEref, hid: hidecl): void fun emit_extcode (out: FILEref, hid: hidecl): void (* ****** ****** *) fun emit_staload (out: FILEref, hid: hidecl): void fun emit_dynload (out: FILEref, hid: hidecl): void (* ****** ****** *) // fun emit_d2con_extdec (out: FILEref, d2c: d2con): void fun emit_d2conlst_extdec (out: FILEref, d2cs: d2conlst): void fun emit_d2conlst_initize (out: FILEref, d2cs: d2conlst): void // fun emit_d2cst_extdec (out: FILEref, d2c: d2cst): void fun emit_d2cstlst_extdec (out: FILEref, d2cs: d2cstlst): void // (* ****** ****** *) fun emit_sizeof (out: FILEref, hselt: hisexp): void (* ****** ****** *) fun emit_tmplab (out: FILEref, tlab: tmplab): void fun emit_tmplabint (out: FILEref, tlab: tmplab, i: int): void (* ****** ****** *) // fun emit_set_nfnx (n: int): void // fun emit_funarg (out: FILEref, n: int): void fun emit_funapy (out: FILEref, n: int): void // (* ****** ****** *) fun emit_tmpvar (out: FILEref, tmp: tmpvar): void (* ****** ****** *) fun emit_funlab (out: FILEref, flab: funlab): void // HX: global fun emit2_funlab (out: FILEref, flab: funlab): void // HX: local (* ****** ****** *) fun emit_tmpdec (out: FILEref, tmp: tmpvar): void fun emit_tmpdeclst (out: FILEref, tmps: tmpvarlst): void (* ****** ****** *) // // HX-2013-01: // these are implemented in [pats_ccomp_hitype.dats] // abstype hitype_type typedef hitype = hitype_type typedef hitypelst = List (hitype) // fun print_hitype (hit: hitype): void fun prerr_hitype (hit: hitype): void fun fprint_hitype : fprint_type (hitype) fun fprint_hitypelst : fprint_type (hitypelst) // overload print with print_hitype overload prerr with prerr_hitype overload fprint with fprint_hitype overload fprint with fprint_hitypelst // (* ****** ****** *) // // HX: flag=0/1: flatten/regular // fun hisexp_typize(flag: int, hse: hisexp): hitype // (* ****** ****** *) fun emit_hitype (out: FILEref, hit: hitype): void (* ****** ****** *) fun emit_hisexp (out: FILEref, hse: hisexp): void fun emit_hisexplst_sep (out: FILEref, hses: hisexplst, sep: string): void // end of [emit_hisexplst_sep] fun emit_hisexp_sel (out: FILEref, hse: hisexp): void (* ****** ****** *) (* // // HX-2016-01-01: // It is commented out as it is no in use // fun emit_funtype_arg_res (out: FILEref, _arg: hisexplst, _res: hisexp): void // end of [emit_funtype_arg_res] *) (* ****** ****** *) fun emit_primval (out: FILEref, pmv: primval): void fun emit_primvalist (out: FILEref, pmvs: primvalist): void (* ****** ****** *) fun emit_primval_deref (out: FILEref, pmv: primval, hse_rt: hisexp): void // end of [emit_primval_deref] (* ****** ****** *) fun emit_primlab (out: FILEref, extknd: int, pml: primlab): void (* ****** ****** *) // typedef emit_instr_type = (FILEref, instr) -> void // fun emit_instr : emit_instr_type // fun emit_instr_fcall : emit_instr_type fun emit_instr_fcall2 : emit_instr_type // fun emit_instr_extfcall : emit_instr_type fun emit_instr_extmcall : emit_instr_type // fun emit_instr_patck : emit_instr_type // (* ****** ****** *) fun emit_ibranchlst : (FILEref, ibranchlst) -> void (* ****** ****** *) fun emit_instrlst (out: FILEref, inss: instrlst): void fun emit_instrlst_ln (out: FILEref, inss: instrlst): void (* ****** ****** *) // fun emit_funenvlst (out: FILEref, d2es: d2envlst): int fun emit_funarglst (out: FILEref, nenv: int, hses_arg: hisexplst): void // (* ****** ****** *) // fun emit_the_tmpdeclst (out: FILEref): void fun emit_the_funlablst (out: FILEref): void fun emit_the_primdeclst (out: FILEref): void fun emit_the_typedeflst (out: FILEref): void // fun emit_the_dynconlst_extdec (out: FILEref): void fun emit_the_dyncstlst_extdec (out: FILEref): void // fun emit_the_primdeclst_valimp (out: FILEref): void // (* ****** ****** *) // // HX: for emitting the prototype of a function entry // fun emit_funent_ptype (out: FILEref, fent: funent): void // fun emit_funent_closure (out: FILEref, fent: funent): void // fun emit_funent_implmnt (out: FILEref, fent: funent): void // (* ****** ****** *) fun emit_primdeclst (out: FILEref, pmds: primdeclst): void (* ****** ****** *) // fun funlab_tmparg_match (fl0: funlab, t2mas: t2mpmarglst) : bool (* fun funlab_tmpcst_match (fl: funlab, d2c: d2cst, t2mas: t2mpmarglst): bool // end of [funlab_tmpcst_match] *) (* fun funlab_tmpvar_match (fl: funlab, d2v: d2var, t2mas: t2mpmarglst): bool // end of [funlab_tmpvar_match] *) // (* ****** ****** *) // fun hiimpdec_tmpcst_match ( imp: hiimpdec, d2c: d2cst, t2mas: t2mpmarglst, knd: int ) : tmpcstmat // end of [hiimpdec_tmpcst_match] // fun hiimpdec2_tmpcst_match ( imp2: hiimpdec2, d2c: d2cst, t2mas: t2mpmarglst, knd: int ) : tmpcstmat // end of [hiimpdec2_tmpcst_match] // fun hiimpdeclst_tmpcst_match ( imps: hiimpdeclst, d2c: d2cst, t2mas: t2mpmarglst, knd: int ) : tmpcstmat // end of [hiimpdeclst_tmpcst_match] // (* ****** ****** *) // fun hifundec2tmpvarmat (hfd: hifundec, t2mas: t2mpmarglst): tmpvarmat fun hifundecopt2tmpvarmat (opt: Option_vt (hifundec), t2mas: t2mpmarglst): tmpvarmat // fun hifundec_tmpvar_match (hfd: hifundec, d2v: d2var, t2mas: t2mpmarglst): tmpvarmat // end of [hifundec_tmpvar_match] fun hifundec2_tmpvar_match (hfd2: hifundec2, d2v: d2var, t2mas: t2mpmarglst): tmpvarmat // end of [hifundec2_tmpvar_match] (* ****** ****** *) fun ccomp_tmpcstmat ( env: !ccompenv , loc0: loc_t, hse0: hisexp , d2c: d2cst, t2ms: t2mpmarglst, tmpmat: tmpcstmat ) : primval // end-of-function fun tmpcstmat_tmpcst_match (mat: tmpcstmat, d2c: d2cst, t2mas: t2mpmarglst): tmpcstmat // end of [tmpcstmat_tmpcst_match] fun ccompenv_tmpcst_match (env: !ccompenv, d2c: d2cst, t2mas: t2mpmarglst): tmpcstmat // end of [ccompenv_tmpcst_match] (* ****** ****** *) fun ccomp_tmpvarmat ( env: !ccompenv , loc0: loc_t, hse0: hisexp , d2v: d2var, t2ms: t2mpmarglst, tmpmat: tmpvarmat ) : primval // end-of-function fun tmpvarmat_tmpvar_match (mat: tmpvarmat, d2v: d2var, t2mas: t2mpmarglst): tmpvarmat // end of [tmpvarmat_tmpvar_match] fun ccompenv_tmpvar_match (env: !ccompenv, d2v: d2var, t2mas: t2mpmarglst): tmpvarmat // end of [ccompenv_tmpvar_match] (* ****** ****** *) fun t2mpmarglst_subst (loc0: loc_t, sub: !stasub, t2mas: t2mpmarglst): t2mpmarglst // end of [t2mpmarglst_subst] fun t2mpmarglst_tsubst (loc0: loc_t, tsub: tmpsub, t2mas: t2mpmarglst): t2mpmarglst // end of [t2mpmarglst_tsubst] (* ****** ****** *) // fun d2envlst_subst (sub: !stasub, d2vs: d2envlst): d2envlst_vt // (* ****** ****** *) // fun funlab_subst (sub: !stasub, flab: funlab): funlab // fun funent_subst ( env: !ccompenv , sub: !stasub, flab2: funlab, fent: funent, sfx: int ) : funent // end of [funent_subst] (* ****** ****** *) fun the_toplevel_getref_tmpvarlst (): Ptr1 fun the_toplevel_getref_primdeclst (): Ptr1 (* ****** ****** *) fun ccomp_main ( out: FILEref, flag: int, infil: filename, hids: hideclist ) : void // end of [ccomp_main] (* ****** ****** *) (* end of [pats_ccomp.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_syncst.dats0000664000175000017500000003076212655455557020256 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2011 // (* ****** ****** *) // // HX-2011-11-17: // for handling syntactic constants (int, bool, char, string, float) during // translation of level 3 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload INT = "./pats_intinf.sats" stadef intinf = $INT.intinf // integers of infinite precision (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_syncst" (* ****** ****** *) (* ** for T_* constructors *) staload "./pats_lexing.sats" (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_stacst2.sats" // staload "./pats_dynexp2.sats" // staload "./pats_dynexp3.sats" // (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) #define s2s string1_of_string (* ****** ****** *) implement d2exp_trup_int (d2e0, i) = let val loc0 = d2e0.d2exp_loc val s2f = s2exp_int_int_t0ype (i) in d3exp_int (loc0, s2f, i) end // end of [d2exp_trup_int] (* ****** ****** *) implement d2exp_trup_intrep (d2e0, rep) = let val loc0 = d2e0.d2exp_loc val s2f = intrep_syn_type_ind (loc0, rep) in d3exp_intrep (loc0, s2f, rep) end // end of [d2exp_trup_int] (* ****** ****** *) implement d2exp_trup_bool (d2e0, b) = let val loc0 = d2e0.d2exp_loc val s2f = s2exp_bool_bool_t0ype (b) in d3exp_bool (loc0, s2f, b) end // end of [d2exp_trup_bool] (* ****** ****** *) implement d2exp_trup_char (d2e0, c) = let val loc0 = d2e0.d2exp_loc val i = int_of_char (c) val s2f = s2exp_char_int_t0ype (i) in d3exp_char (loc0, s2f, c) end // end of [d2exp_trup_char] (* ****** ****** *) implement d2exp_trup_string (d2e0, str) = let val loc0 = d2e0.d2exp_loc val n = string_length (str) val s2f = s2exp_string_int_type (n) in d3exp_string (loc0, s2f, str) end // end of [d2exp_trup_string] (* ****** ****** *) // // HX: implemented in [pats_utils.dats] // extern fun strcasecmp (x1: string, x2: string):<> int = "ext#patsopt_strcasecmp" // end of [strcasecmp] (* ****** ****** *) local datatype intknd = | INT | UINT | LINT | ULINT | LLINT | ULLINT | ERROR // end of [intknd] in (* in of [local] *) fun intrepsfx_syn_type ( loc0: loc_t , rep: string, sfx: uint ) : s2exp = let // var p_sfx: ptr = null val () = if sfx > 0u then let val n = string_length (rep) val ln = n - (size_of_uint)sfx val () = p_sfx := $UN.cast2ptr (rep) + ln in // nothing end // end of [val] // in // case+ sfx of | _ when sfx = 0u => s2exp_int_t0ype () | _ => let val sfx = $UN.cast {string} (p_sfx) val knd = (case+ 0 of | _ when strcasecmp (sfx, "U") = 0 => UINT // | _ when strcasecmp (sfx, "L") = 0 => LINT | _ when strcasecmp (sfx, "UL") = 0 => ULINT | _ when strcasecmp (sfx, "LU") = 0 => ULINT // | _ when strcasecmp (sfx, "LL") = 0 => LLINT | _ when strcasecmp (sfx, "ULL") = 0 => ULLINT | _ when strcasecmp (sfx, "LLU") = 0 => ULLINT // | _ => ERROR () ) : intknd // end of [val] in case+ knd of | INT () => s2exp_int_t0ype () | UINT () => s2exp_uint_t0ype () | LINT () => s2exp_lint_t0ype () | ULINT () => s2exp_ulint_t0ype () | LLINT () => s2exp_llint_t0ype () | ULLINT () => s2exp_ullint_t0ype () | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "intrepsfx_syn_type" val () = prerr ": the suffix of the integer is not supported." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_intsp (loc0, rep)) in s2exp_t0ype_err () end // end of [_] end // end of [_] end // end of [intrepsfx_syn_type] (* ****** ****** *) fun intbaserepsfx_syn_type_ind ( loc0: loc_t , base: int, rep: string, sfx: uint ) : s2exp = let var p_sfx: ptr = null // var rep1: string = rep val () = if sfx > 0u then let val n = string_length (rep) val ln = n - (size_of_uint)sfx val () = p_sfx := $UN.cast2ptr(rep) + ln val () = rep1 := __make (rep, 0, ln) where { extern fun __make ( x: string, st: size_t, ln: size_t ) : string = "atspre_string_make_substring" } // end of [val] in // nothing end // end of [val] val [n:int] rep1 = (s2s)rep1 val inf = (case+ base of | 8 => let prval () = __assert () where { extern praxi __assert (): [n >= 1] void } // end of [prval] in $INT.intinf_make_base_string_ofs (8, rep1, 1(*0*)) end // end of [8] | 16 => let prval () = __assert () where { extern praxi __assert (): [n >= 2] void } // end of [prval] in $INT.intinf_make_base_string_ofs (16, rep1, 2(*0x*)) end // end of [16] | _ => // base=10 and ofs=0 $INT.intinf_make_base_string_ofs (10, rep1, 0) // end of [_] ) : intinf // end of [val] val () = if sfx > 0u then __free (rep1) where { extern fun __free (x: string): void = "ats_free_gc" } // end of [val] // in // case+ sfx of | _ when sfx = 0u => s2exp_int_intinf_t0ype (inf) // end of [default] | _ => let val sfx = $UN.cast{string}(p_sfx) val knd = (case+ 0 of | _ when strcasecmp (sfx, "U") = 0 => UINT // | _ when strcasecmp (sfx, "L") = 0 => LINT | _ when strcasecmp (sfx, "UL") = 0 => ULINT | _ when strcasecmp (sfx, "LU") = 0 => ULINT // | _ when strcasecmp (sfx, "LL") = 0 => LLINT | _ when strcasecmp (sfx, "ULL") = 0 => ULLINT | _ when strcasecmp (sfx, "LLU") = 0 => ULLINT // | _ => ERROR () ) : intknd // end of [val] in case+ knd of | INT () => s2exp_int_intinf_t0ype (inf) | UINT () => s2exp_uint_intinf_t0ype (inf) | LINT () => s2exp_lint_intinf_t0ype (inf) | ULINT () => s2exp_ulint_intinf_t0ype (inf) | LLINT () => s2exp_llint_intinf_t0ype (inf) | ULLINT () => s2exp_ullint_intinf_t0ype (inf) | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "intbaserepsfx_syn_type_ind" val () = prerr ": the suffix of the integer is not supported." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_intsp (loc0, rep)) in s2exp_t0ype_err () end // end of [_] end // end of [_] // end of [case] // end // end of [intbaserepsfx_syn_type_ind] end // end of [local] (* ****** ****** *) implement intrep_syn_type (loc0, rep) = let val sfx = $UT.intrep_get_nsfx (rep) in intrepsfx_syn_type (loc0, rep, sfx) end // end of [intrep_syn_type] implement intrep_syn_type_ind (loc0, rep) = let val base = $UT.intrep_get_base (rep) val sfx = $UT.intrep_get_nsfx (rep) in intbaserepsfx_syn_type_ind (loc0, base, rep, sfx) end // end of [intrep_syn_type_ind] implement i0nt_syn_type (x(*i0nt*)) = let // val loc0 = x.token_loc val-T_INT (base, rep, sfx) = x.token_node // in intrepsfx_syn_type (loc0, rep, sfx) end // end of [i0nt_syn_t0ype] implement i0nt_syn_type_ind (x(*i0nt*)) = let // val loc0 = x.token_loc val-T_INT (base, rep, sfx) = x.token_node // in intbaserepsfx_syn_type_ind (loc0, base, rep, sfx) end // end of [i0nt_syn_type_ind] (* ****** ****** *) implement d2exp_trup_i0nt (d2e0, x(*i0nt*)) = let val loc0 = d2e0.d2exp_loc val s2e0 = i0nt_syn_type_ind (x) in d3exp_i0nt (loc0, s2e0, x) end // end of [d2exp_trup_i0nt] (* ****** ****** *) local datatype fltknd = | FLOAT | DOUBLE | LDOUBLE | ERROR // end of [fltknd] in (* in of [local] *) fun floatsfx_syn_type ( loc0: loc_t, rep: string, sfx: uint ) : s2exp = (case+ 0 of | _ when sfx = 0u => s2exp_double_t0ype () | _ (*sfx > 0*) => let val rep1 = (s2s)rep val n = string_length (rep1) val ln = n - (size_of_uint)sfx val p_sfx = $UN.cast2ptr (rep1) + ln val sfx = $UN.cast {string} (p_sfx) val knd = (case+ 0 of | _ when strcasecmp (sfx, "F") = 0 => FLOAT (* | _ when strcasecmp (sfx, "D") = 0 => DOUBLE *) | _ when strcasecmp (sfx, "L") = 0 => LDOUBLE | _ => ERROR () ) : fltknd // end of [val] in case+ knd of | FLOAT () => s2exp_float_t0ype () | DOUBLE () => s2exp_double_t0ype () | LDOUBLE () => s2exp_ldouble_t0ype () | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "f0loat_syn_type" val () = prerr ": the suffix of the floating point number is not supported." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_floatsp (loc0, rep)) in s2exp_t0ype_err () end // end of [_] end // end of [_] ) // end of [floatsfx_syn_type] end // end of [local] implement float_syn_type (loc0, rep) = let val sfx = $UT.float_get_nsfx (rep) in floatsfx_syn_type (loc0, rep, sfx) end // end of [float_syn_type] implement f0loat_syn_type (x(*f0loat*)) = let val loc0 = x.token_loc val-T_FLOAT (base, rep, sfx) = x.token_node in floatsfx_syn_type (loc0, rep, sfx) end // end of [f0loat_syn_type] (* ****** ****** *) implement d2exp_trup_float (d2e0, rep) = let val loc0 = d2e0.d2exp_loc val s2f = float_syn_type (loc0, rep) in d3exp_float (loc0, s2f, rep) end // end of [d2exp_trup_float] implement d2exp_trup_f0loat (d2e0, x(*f0loat*)) = let val loc0 = d2e0.d2exp_loc val s2f = f0loat_syn_type (x) val-T_FLOAT (base, rep, sfx) = x.token_node in d3exp_f0loat (loc0, s2f, x) end // end of [d2exp_trup_f0loat] (* ****** ****** *) implement cstsp_syn_type (d2e0, csp) = let in // case+ csp of | $SYN.CSTSPmyfil () => s2exp_string_type () | $SYN.CSTSPmyloc () => s2exp_string_type () | $SYN.CSTSPmyfun () => s2exp_string_type () (* | $SYN.CSTSPmylinecnt (int) => s2exp_int_t0ype () | $SYN.CSTSPmycharcnt (int) => s2exp_lint_t0ype () *) // end // end of [cstsp_syn_type] implement d2exp_trup_cstsp (d2e0, csp) = let // val s2f = cstsp_syn_type (d2e0, csp) // in d3exp_cstsp (d2e0.d2exp_loc, s2f, csp) end // end of [d2exp_trup_cstsp] (* ****** ****** *) implement d2exp_trup_literal (d2e0, d2e_lit) = let // val loc0 = d2e0.d2exp_loc // val ((*void*)) = println! ("d2exp_trup_literal: d2e0 = ", d2e0) // in // case+ d2e_lit.d2exp_node of // case+ // | D2Efloat (rep) => let val d3e_lit = d2exp_trup_float (d2e_lit, rep) // end of [val] val s2e0 = s2exp_literal_float (rep) in d3exp_literal (loc0, s2e0, d3e_lit) end // end of [D2Efloat] | D2Ef0loat (tok) => let val- T_FLOAT (_, rep, _) = tok.token_node // end of [val] val d3e_lit = d2exp_trup_f0loat (d2e_lit, tok) // end of [val] val s2e0 = s2exp_literal_float (rep) in d3exp_literal (loc0, s2e0, d3e_lit) end // end of [D2Ef0loat] // | D2Estring (str) => let val d3e_lit = d2exp_trup_string (d2e_lit, str) // end of [val] val s2e0 = s2exp_literal_string (str) in d3exp_literal (loc0, s2e0, d3e_lit) end // end of [D2Estring] | D2Es0tring (tok) => let val- T_STRING(str) = tok.token_node val d3e_lit = d2exp_trup_string (d2e_lit, str) // end of [val] val s2e0 = s2exp_literal_string (str) in d3exp_literal (loc0, s2e0, d3e_lit) end // end of [D2Es0tring] // | _ (* rest-of-D2E *) => d3exp_errexp (loc0) // end // end of [d2exp_trup_literal] (* ****** ****** *) (* end of [pats_trans3_syncst.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_dcon.dats0000664000175000017500000002510212655455557020022 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) typedef d2con_struct = @{ d2con_sym= symbol // the name , d2con_loc= location // location , d2con_fil= filename // filename , d2con_scst= s2cst // datatype , d2con_npf= int // pfarity , d2con_vwtp= int // viewtype constructor , d2con_qua= s2qualst // quantifiers , d2con_arg= s2explst // views or viewtypes , d2con_arity_full= int // full arity , d2con_arity_real= int // real arity after erasure , d2con_ind= s2explstopt // indexes , d2con_type= s2exp // type for dynamic constructor , d2con_tag= int // tag for dynamic constructor , d2con_pack= Stropt // for ATS_PACKNAME , d2con_stamp= stamp // uniqueness } (* end of [d2con_struct] *) (* ****** ****** *) local assume d2con_type = ref (d2con_struct) in (* in of [local] *) (* ****** ****** *) implement d2con_make ( loc, fil , id, s2c, vwtp, qua, npf, arg, ind ) = let (* val out = stdout_ref val () = fprintln! (out, "d2con_make: id = ", id) *) // val arity_real = let fun aux1 ( i: int, s2es: s2explst ) : s2explst = case+ s2es of | list_cons (_, s2es1) => if i > 0 then aux1 (i-1, s2es1) else s2es | list_nil () => list_nil () // end of [aux1] fun aux2 ( i: int, s2es: s2explst ) : int = case+ s2es of | list_cons (s2e, s2es1) => if s2rt_is_prf (s2e.s2exp_srt) then aux2 (i, s2es1) else aux2 (i+1, s2es1) // end of [list_cons] | list_nil () => i // end of [list_nil] // end of [aux2] in aux2 (0, aux1 (npf, arg)) end // end of [val] // val arity_full = list_length (arg) // val d2c_type = let // fun aux ( s2f: s2exp, s2qs: s2qualst ) : s2exp = ( case+ s2qs of | list_nil () => (s2f) | list_cons (s2q, s2qs) => let val s2f = aux (s2f, s2qs) val s2f_uni = s2exp_uni (s2q.s2qua_svs, s2q.s2qua_sps, s2f) // end of [val] in s2f_uni end // end of [list_cons] ) (* end of [aux] *) // val s2e_res = ( case+ ind of | Some s2es => s2exp_cstapp (s2c, s2es) | _ => s2exp_cst (s2c) ) : s2exp // end of [val] val s2e_res = s2exp_confun (npf, arg, s2e_res) // in aux (s2e_res, qua) end : s2exp // end of [val] // val pack = $GLOB.the_PACKNAME_get () // val stamp = $STMP.d2con_stamp_make () // val (pfgc, pfat | p) = ptr_alloc () prval ((*freed*)) = free_gc_elim {d2con_struct?} (pfgc) // val () = p->d2con_sym := id val () = p->d2con_loc := loc val () = p->d2con_fil := fil val () = p->d2con_scst := s2c val () = p->d2con_npf := npf val () = p->d2con_vwtp := vwtp val () = p->d2con_qua := qua val () = p->d2con_arg := arg val () = p->d2con_arity_full := arity_full val () = p->d2con_arity_real := arity_real val () = p->d2con_ind := ind val () = p->d2con_type := d2c_type val () = p->d2con_tag := ~1 val () = p->d2con_pack := pack val () = p->d2con_stamp := stamp // in // ref_make_view_ptr (pfat | p) // end // end of [d2con_make] (* ****** ****** *) implement d2con_get_sym (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_sym end // end of [d2con_get_sym] implement d2con_get_loc (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_loc end // end of [d2con_get_loc] implement d2con_get_fil (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_fil end // end of [d2con_get_fil] implement d2con_get_scst (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_scst end // end of [d2con_get_scst] implement d2con_get_npf (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_npf end // end of [d2con_get_npf] implement d2con_get_vwtp (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_vwtp end // end of [d2con_get_vwtp] (* ****** ****** *) implement d2con_get_qua (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_qua end // end of [d2con_get_qua] implement d2con_get_arg (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_arg end // end of [d2con_get_arg] implement d2con_get_arity_full (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_arity_full end // end of [d2con_get_arity_full] implement d2con_get_arity_real (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_arity_real end // end of [d2con_get_arity_real] implement d2con_get_ind (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_ind end // end of [d2con_get_ind] implement d2con_get_type (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_type end // end of [d2con_get_type] (* ****** ****** *) implement d2con_get_tag (d2c) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_tag end // end of [d2con_get_tag] implement d2con_set_tag (d2c, tag) = let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_tag := tag end // end of [d2con_set_tag] (* ****** ****** *) implement d2con_get_pack (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_pack end // end of [d2con_get_pack] implement d2con_get_stamp (d2c) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2c) in p->d2con_stamp end // end of [d2con_get_stamp] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement d2con_get_name (d2c) = $SYM.symbol_get_name (d2con_get_sym (d2c)) // end of [d2cin_get_name] (* ****** ****** *) implement d2con_is_nullary (d2c) = d2con_get_arity_real (d2c) = 0 // end of [d2con_is_nullay] implement d2con_is_tagless (d2c) = s2cst_is_tagless (d2con_get_scst (d2c)) // end of [d2con_is_tagless] (* ****** ****** *) implement d2con_is_listnil (d2c) = let // val s2c = d2con_get_scst (d2c) val opt = s2cst_get_islst (s2c) // in case opt of | Some (x) => if d2c = x.0 then true else false | None ( ) => false end // end of [d2con_is_listnil] implement d2con_is_listcons (d2c) = let // val s2c = d2con_get_scst (d2c) val opt = s2cst_get_islst (s2c) // in case opt of | Some (x) => if d2c = x.1 then true else false | None ( ) => false end // end of [d2con_is_listcons] implement d2con_is_listlike (d2c) = s2cst_is_listlike (d2con_get_scst (d2c)) // end of [d2con_is_listlike] (* ****** ****** *) implement d2con_is_singular (d2c) = s2cst_is_singular (d2con_get_scst (d2c)) // end of [d2con_is_singular] (* ****** ****** *) implement d2con_is_binarian (d2c) = s2cst_is_binarian (d2con_get_scst (d2c)) // end of [d2con_is_binarian] (* ****** ****** *) // implement d2con_is_linear (d2c) = s2cst_is_linear(d2con_get_scst(d2c)) implement d2con_is_nonlinear (d2c) = s2cst_is_nonlinear(d2con_get_scst(d2c)) // (* ****** ****** *) implement eq_d2con_d2con (x1, x2) = (compare (x1, x2) = 0) // end of [eq_d2con_d2con] implement neq_d2con_d2con (x1, x2) = (compare (x1, x2) != 0) // end of [neq_d2con_d2con] implement compare_d2con_d2con (x1, x2) = (compare (d2con_get_stamp (x1), d2con_get_stamp (x2))) // end of [compare_d2con_d2con] (* ****** ****** *) #define D2CON_TAG_EXN ~1 implement d2con_is_con (d2c) = ( if d2con_get_tag (d2c) >= 0 then true else false ) // end of [d2con_is_con] implement d2con_is_exn (d2c) = let val tag = d2con_get_tag (d2c) in tag = D2CON_TAG_EXN end // end of [d2con_is_exn] (* ****** ****** *) implement fprint_d2con (out, x) = let val sym = d2con_get_sym (x) in $SYM.fprint_symbol (out, sym) end // end of [fprint_d2con] implement print_d2con (x) = fprint_d2con (stdout_ref, x) implement prerr_d2con (x) = fprint_d2con (stderr_ref, x) (* ****** ****** *) implement fprint_d2conlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d2con) // end of [fprint_d2conlst] implement print_d2conlst (xs) = fprint_d2conlst (stdout_ref, xs) implement prerr_d2conlst (xs) = fprint_d2conlst (stderr_ref, xs) (* ****** ****** *) local // staload FS = "libats/SATS/funset_avltree.sats" staload _ = "libats/DATS/funset_avltree.dats" staload LS = "libats/SATS/linset_avltree.sats" staload _ = "libats/DATS/linset_avltree.dats" // val cmp = lam ( d2c1: d2con, d2c2: d2con ) : int = compare_d2con_d2con (d2c1, d2c2) // end of [val] // assume d2conset_type = $FS.set (d2con) assume d2conset_vtype = $LS.set (d2con) // in (* in of [local] *) implement d2conset_nil () = $FS.funset_make_nil () implement d2conset_ismem (xs, x) = $FS.funset_is_member (xs, x, cmp) // end of [d2conset_ismem] implement d2conset_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $FS.funset_insert (xs, x, cmp) } // end of [d2conset_add] (* ****** ****** *) implement d2conset_vt_nil () = $LS.linset_make_nil () implement d2conset_vt_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $LS.linset_insert (xs, x, cmp) } // end of [d2conset_vt_add] implement d2conset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_dcon.dats] *) ATS2-Postiats-0.2.6/./src/pats_codegen2_datype.dats0000664000175000017500000001646212655455557020476 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2015 // (* ****** ****** *) // staload LOC = "./pats_location.sats" // overload fprint with $LOC.fprint_location // (* ****** ****** *) // staload SYM = "./pats_symbol.sats" // (* ****** ****** *) // staload S1E = "./pats_staexp1.sats" // overload fprint with $S1E.fprint_e1xp // (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" // (* ****** ****** *) staload "./pats_codegen2.sats" (* ****** ****** *) local fun auxerr_nil ( out: FILEref, d2c0: d2ecl ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no spec on datatype is given\n" ) (* end of [val] *) // val () = fprintln! (out, "*)") // } (* end of [auxerr_nil] *) fun auxerr_cons ( out: FILEref , d2c0: d2ecl, x: e1xp ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no datatype of the given spec\n" ) (* end of [val] *) // val () = fprintln! (out, "*)") // } (* end of [auxerr_cons] *) fun aux_datype ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, xs: e1xplst ) : void = let // fun auxfun0 ( // argless ) : void = let // val sym = s2cst_get_sym(s2dat) val name = $SYM.symbol_get_name(sym) // in fprint! (out, "datcon_", name) end // end of [auxfun0] // fun auxfun1 ( x0: e1xp ) : void = ( case+ x0.e1xp_node of // case+ | $S1E.E1XPide(sym) => $SYM.fprint_symbol (out, sym) // end of [E1XPide] | $S1E.E1XPstring(name) => fprint (out, name) | _(*rest-of-e1xp*) => auxfun0((*void*)) ) // fun auxcon ( d2c: d2con ) : void = let // val sym = d2con_get_sym(d2c) val name = $SYM.symbol_get_name(sym) // in fprintln! (out, "| ", name, " _ => \"", name, "\"") end // end of [auxcon] // fun auxconlst ( d2cs: d2conlst ) : void = ( case+ d2cs of | list_nil() => () | list_cons(d2c, d2cs) => let val () = auxcon(d2c) in auxconlst(d2cs) end ) // val name = s2cst_get_name(s2dat) val-Some(d2cs) = s2cst_get_dconlst(s2dat) // (* val () = println! ("codegen2_datcon: aux_datype: s2dat = ", s2dat) val () = println! ("codegen2_datcon: aux_datype: d2conlst = ", d2cs) *) // val linesep = "(* ****** ****** *)\n" // val () = fprint! (out, linesep, "//\n") val () = fprint! (out, "implement\n") val () = fprint! (out, "{}(*tmp*)\n") val () = ( case+ xs of | list_nil() => auxfun0() | list_cons(x, _) => auxfun1(x) ) val () = fprint! (out, "\n ") val () = fprint! (out, "(arg0) =\n") // val () = fprint! (out, "(\n") val () = fprint! (out, "case+ arg0 of\n") // val () = auxconlst (d2cs) // val () = fprint! (out, ")\n") val () = fprint! (out, "//\n", linesep) // in // nothing end // end of [aux_datype] in (* in-of-local *) implement codegen2_datcon (out, d2c0, xs) = let (* // val () = println! ("codegen2_datcon: d2c0 = ", d2c0) // *) in // case+ xs of | list_nil() => auxerr_nil(out, d2c0) // end of [list_nil] | list_cons(x, xs) => let val opt = codegen2_get_datype(x) in case+ opt of | ~None_vt() => auxerr_cons(out, d2c0, x) | ~Some_vt(s2dat) => aux_datype(out, d2c0, s2dat, xs) end // end of [list_cons] // end // end of [codegen2_datcon] end // end of [local] (* ****** ****** *) local fun auxerr_nil ( out: FILEref, d2c0: d2ecl ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no spec on datatype is given\n" ) (* end of [val] *) // val () = fprint! (out, "*)\n") // } (* end of [auxerr_nil] *) fun auxerr_cons ( out: FILEref , d2c0: d2ecl, x: e1xp ) : void = { // val loc0 = d2c0.d2ecl_loc // val () = fprint! (out, "(*\n") // val () = fprint! ( out, loc0 , ": error(codegen2): no datatype of the given spec\n" ) (* end of [val] *) // val () = fprint! (out, "*)\n") // } (* end of [auxerr_cons] *) fun aux_datype ( out: FILEref , d2c0: d2ecl, s2dat: s2cst, xs: e1xplst ) : void = let // fun auxfun0 ( // argless ) : void = let // val sym = s2cst_get_sym(s2dat) val name = $SYM.symbol_get_name(sym) // in fprint! (out, "datcontag_", name) end // end of [auxfun0] // fun auxfun1 ( x0: e1xp ) : void = ( case+ x0.e1xp_node of // case+ | $S1E.E1XPide(sym) => $SYM.fprint_symbol (out, sym) // end of [E1XPide] | $S1E.E1XPstring(name) => fprint (out, name) | _(*rest-of-e1xp*) => auxfun0((*void*)) ) // fun auxcon ( d2c: d2con ) : void = let // val sym = d2con_get_sym(d2c) val tag = d2con_get_tag(d2c) val name = $SYM.symbol_get_name(sym) // in fprintln! (out, "| ", name, " _ => ", tag) end // end of [auxcontag] // fun auxconlst ( d2cs: d2conlst ) : void = ( case+ d2cs of | list_nil() => () | list_cons(d2c, d2cs) => let val () = auxcon(d2c) in auxconlst(d2cs) end ) // val name = s2cst_get_name(s2dat) val-Some(d2cs) = s2cst_get_dconlst(s2dat) // (* val () = println! ("codegen2_datcontag: aux_datype: s2dat = ", s2dat) val () = println! ("codegen2_datcontag: aux_datype: d2conlst = ", d2cs) *) // val linesep = "(* ****** ****** *)\n" // val () = fprint! (out, linesep, "//\n") // val () = fprint! (out, "implement\n") val () = fprint! (out, "{}(*tmp*)\n") val () = ( case+ xs of | list_nil() => auxfun0() | list_cons(x, _) => auxfun1(x) ) val () = fprint! (out, "\n ") val () = fprint! (out, "(arg0) =\n") // val () = fprint! (out, "(\n") val () = fprint! (out, "case+ arg0 of\n") // val () = auxconlst (d2cs) // val () = fprint! (out, ")\n") val () = fprint! (out, "//\n", linesep) // in // nothing end // end of [aux_datype] in (* in-of-local *) implement codegen2_datcontag (out, d2c0, xs) = let (* // val () = println! ("codegen2_datcontag: d2c0 = ", d2c0) // *) in // case+ xs of | list_nil() => auxerr_nil(out, d2c0) // end of [list_nil] | list_cons(x, xs) => let val opt = codegen2_get_datype(x) in case+ opt of | ~None_vt() => auxerr_cons(out, d2c0, x) | ~Some_vt(s2dat) => aux_datype(out, d2c0, s2dat, xs) end // end of [list_cons] // end // end of [codegen2_datcontag] end // end of [local] (* ****** ****** *) (* end of [pats_codegen2_datype.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_error.sats0000664000175000017500000000571212655455557020254 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) datatype staerr = // | STAERR_label_equal of (location, label, label) | STAERR_stamp_equal of (location, stamp, stamp) // | STAERR_funclo_equal of (location, funclo, funclo) | STAERR_clokind_equal of (location, int(*knd*), int(*knd*)) | STAERR_linearity_equal of (location, int(*lin*), int(*lin*)) | STAERR_pfarity_equal of (location, int(*npf*), int(*npf*)) // | STAERR_s2eff_subeq of (location, s2eff, s2eff) // | STAERR_boxity_equal of (location, int(*knd*), tyreckind) | STAERR_tyreckind_equal of (location, tyreckind, tyreckind) // | STAERR_refval_equal of (location, int(*knd*), int(*knd*)) // | STAERR_s2zexp_merge of (location, s2zexp, s2zexp) // | STAERR_s2exp_equal of (location, s2exp, s2exp) | STAERR_s2exp_tyleq of (location, s2exp, s2exp) // | STAERR_s2Var_s2exp_solve of (location, s2Var, s2exp) // | STAERR_s2explst_length of (location, int(*-1/1*)) | STAERR_labs2explst_length of (location, int(*-1/1*)) // | STAERR_wths2explst_shape of (location, wths2explst, wths2explst) // | STAERR_s2exp_linearity of (location, s2exp) // // end of [datatype] viewtypedef staerrlst_vt = List_vt (staerr) (* ****** ****** *) // fun the_staerrlst_clear (): void // fun the_staerrlst_add (x: staerr): void // // HX-2011-10-22: // [n] stores the total number of errors, some of // which may not be recorded // fun the_staerrlst_get (n: &int? >> int): staerrlst_vt // (* ****** ****** *) fun prerr_the_staerrlst (): void (* ****** ****** *) (* end of [pats_staexp2_error.sats] *) ATS2-Postiats-0.2.6/./src/pats_dyncst2.sats0000664000175000017500000000362312655455557017042 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) abstype d2cstref_type = ptr typedef d2cstref = d2cstref_type (* ****** ****** *) fun d2cstref_make (name: string): d2cstref (* ****** ****** *) fun d2cstref_get_cst (r: d2cstref): d2cst fun d2cstref_equ_cst (r: d2cstref, d2c: d2cst): bool (* ****** ****** *) val the_sizeof_vt0ype_size : d2cstref (* ****** ****** *) fun d2cst_is_sizeof (d2c: d2cst): bool // sizeof-template (* ****** ****** *) fun dyncst2_initialize (): void (* ****** ****** *) (* end of [pats_stacst2.sats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_hipat.dats0000664000175000017500000004566012655455557017732 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload UT = "./pats_utils.sats" // (* ****** ****** *) // staload LAB = "./pats_label.sats" staload LOC = "./pats_location.sats" // overload print with $LOC.print_location // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) fun hipat_getset_asvar (hip: hipat): d2var = let in // case+ hip.hipat_asvar of | Some (d2v) => (d2v) | None () => let val loc = hip.hipat_loc val d2v = d2var_make_any (loc) val () = hipat_set_asvar (hip, Some (d2v)) in d2v end // end of [None] // end // end of [hipat_getset_asvar] (* ****** ****** *) extern fun hipatck_ccomp_rec ( env: !ccompenv, res: !instrseq , fail: patckont, hip0: hipat, pmv0: primval ) : void // end of [hipatck_ccomp_rec] local fun aux ( env: !ccompenv , res: !instrseq , fail: patckont , lab: label, hip: hipat , pmv0: primval, hse_rec: hisexp ) : void = let // in // case+ hip.hipat_node of (* case+ *) | HIPany _ => () | HIPvar _ => () | HIPann (hip, ann) => aux (env, res, fail, lab, hip, pmv0, hse_rec) // end of [HIPann] // | hipnode => let val loc = hip.hipat_loc val hse = hipat_get_type (hip) val pml = primlab_lab (loc, lab) val tmp = tmpvar_make (loc, hse) val ins = instr_move_select (loc, tmp, hse, pmv0, hse_rec, pml) val pmv = primval_make_tmp (loc, tmp) // val d2v_as = hipat_getset_asvar (hip) val () = ccompenv_add_vbindmapenvall (env, d2v_as, pmv) // val () = instrseq_add (res, ins) // in hipatck_ccomp (env, res, fail, hip, pmv) end // end of [_] // end // end of [aux] fun auxlst ( env: !ccompenv , res: !instrseq , fail: patckont , lhips: labhipatlst , pmv0: primval, hse_rec: hisexp ) : void = let in // case+ lhips of | list_cons (lhip, lhips) => let val+LABHIPAT (lab, hip) = lhip val () = aux (env, res, fail, lab, hip, pmv0, hse_rec) // end of [val] in auxlst (env, res, fail, lhips, pmv0, hse_rec) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] in (* in of [local] *) implement hipatck_ccomp_rec ( env, res, fail, hip0, pmv0 ) = let // val-HIPrec (knd, lhips, hse_rec) = hip0.hipat_node // in auxlst (env, res, fail, lhips, pmv0, hse_rec) end // end of [hipatck_ccomp_rec] end // end of [local] (* ****** ****** *) extern fun hipatck_ccomp_con ( env: !ccompenv, res: !instrseq , fail: patckont, loc0: location, d2c: d2con, pmv0: primval ) : void // end of [hipatck_ccomp_con] implement hipatck_ccomp_con ( env, res, fail, loc0, d2c, pmv0 ) = let // val ins = instr_patck (loc0, pmv0, PATCKcon (d2c), fail) // in instrseq_add (res, ins) end // end of [hipatck_ccomp_con] (* ****** ****** *) extern fun hipatck_ccomp_sum ( env: !ccompenv, res: !instrseq , fail: patckont, hip0: hipat, pmv0: primval ) : void // end of [hipatck_ccomp_sum] local fun aux ( env: !ccompenv , res: !instrseq , fail: patckont , narg: int , lab: label, hip: hipat , pmv0: primval, hse_sum: hisexp ) : void = let // val loc = hip.hipat_node // in // case+ hip.hipat_node of (* case+ *) | HIPany _ => () | HIPvar _ => () | HIPann (hip, ann) => aux (env, res, fail, narg, lab, hip, pmv0, hse_sum) // end of [HIPann] | hipnode => let val loc = hip.hipat_loc val hse = hipat_get_type (hip) val tmp = tmpvar_make (loc, hse) val ins = instr_move_selcon (loc, tmp, hse, pmv0, hse_sum, lab) val pmv = primval_make_tmp (loc, tmp) var use: int = 0 // val hip = ( case+ hipnode of | HIPrefas (d2v, hip) => hip where { val isnot = not(d2var_is_mutabl(d2v)) val ((*void*)) = ( if isnot then let val () = use := use + 1 in ccompenv_add_vbindmapenvall (env, d2v, pmv) end else let val pmv = primval_selcon (loc, hse, pmv0, hse_sum, lab) val pmv_ref = primval_ptrof (loc, hisexp_typtr, pmv) in ccompenv_add_vbindmapenvall (env, d2v, pmv_ref) end // end of [if] ) : void // end of [val] } (* end of [HIPrefas] *) | _ => hip ) : hipat // end of [val] // val () = ( case+ hip.hipat_node of | HIPany _ => () | HIPvar _ => () | HIPrefas _ => () | _ => { val () = use := use + 1 val d2v_as = hipat_getset_asvar (hip) val () = ccompenv_add_vbindmapenvall (env, d2v_as, pmv) } (* end of [_] *) ) : void // end of [val] // val () = if use >= 1 then instrseq_add (res, ins) // in hipatck_ccomp (env, res, fail, hip, pmv) end // end of [_] // end // end of [aux] fun auxlst ( env: !ccompenv , res: !instrseq , fail: patckont , narg: int, lhips: labhipatlst , pmv0: primval, hse_sum: hisexp ) : void = let in case+ lhips of | list_cons (lhip, lhips) => let val LABHIPAT (lab, hip) = lhip val () = aux (env, res, fail, narg, lab, hip, pmv0, hse_sum) // end of [val] in auxlst (env, res, fail, narg+1, lhips, pmv0, hse_sum) end // end of [list_cons] | list_nil () => () end // end of [auxlst] in (* in of [local] *) implement hipatck_ccomp_sum ( env, res, fail, hip0, pmv0 ) = let // val loc0 = hip0.hipat_loc // (* val () = ( println! ("hipatck_ccomp_sum: loc0 = ", loc0); println! ("hipatck_ccomp_sum: hip0 = ", hip0); ) // end of [val] *) // val-HIPcon (pck, d2c, hse_sum, lhips) = hip0.hipat_node val ( ) = hipatck_ccomp_con (env, res, fail, loc0, d2c, pmv0) // in auxlst (env, res, fail, 0(*narg*), lhips, pmv0, hse_sum) end // end of [hipatck_ccomp_sum] end // end of [local] (* ****** ****** *) implement hipatck_ccomp ( env, res, fail, hip0, pmv0 ) = let // val loc0 = hip0.hipat_loc // (* val () = ( println! ("hipatck_ccomp: loc0 = ", loc0); println! ("hipatck_ccomp: hip0 = ", hip0); println! ("hipatck_ccomp: pmv0 = ", pmv0); ) // end of [val] *) // in // case+ hip0.hipat_node of (* case+ *) // | HIPany _ => () | HIPvar _ => () // | HIPcon _ => hipatck_ccomp_sum (env, res, fail, hip0, pmv0) // end of [HIPcon] | HIPcon_any(pck, d2c) => hipatck_ccomp_con (env, res, fail, loc0, d2c, pmv0) // end of [HIPcon_any] // | HIPint(i) => let val ins = instr_patck (loc0, pmv0, PATCKint (i), fail) in instrseq_add (res, ins) end // end of [HIPint] | HIPintrep(rep) => let val i = $UN.cast{int}($UT.llint_make_string(rep)) val ins = instr_patck (loc0, pmv0, PATCKint (i), fail) in instrseq_add (res, ins) end // end of [HIPint] // | HIPbool (b) => let val ins = instr_patck (loc0, pmv0, PATCKbool (b), fail) in instrseq_add (res, ins) end // end of [HIPbool] | HIPchar (c) => let val ins = instr_patck (loc0, pmv0, PATCKchar (c), fail) in instrseq_add (res, ins) end // end of [HIPchar] | HIPstring (str) => let val ins = instr_patck (loc0, pmv0, PATCKstring (str), fail) in instrseq_add (res, ins) end // end of [HIPstring] // | HIPi0nt (tok) => let val ins = instr_patck (loc0, pmv0, PATCKi0nt (tok), fail) in instrseq_add (res, ins) end // end of [HIPi0nt] | HIPf0loat (tok) => let val ins = instr_patck (loc0, pmv0, PATCKf0loat (tok), fail) in instrseq_add (res, ins) end // end of [HIPf0loat] // | HIPempty () => () // | HIPrec _ => hipatck_ccomp_rec (env, res, fail, hip0, pmv0) // | HIPrefas (d2v, hip) => hipatck_ccomp (env, res, fail, hip, pmv0) // | HIPann (hip, ann) => hipatck_ccomp (env, res, fail, hip, pmv0) // | _ (* rest-of-HIP *) => let val () = println! ("hipatck_ccomp: loc0 = ", loc0) val () = println! ("hipatck_ccomp: hip0 = ", hip0) in exitloc (1) end // end o [val] // end // end of [hipatck_ccomp] (* ****** ****** *) extern fun himatch_ccomp_rec ( env: !ccompenv, res: !instrseq , lvl0: int, hip0: hipat, pmv0: primval // HX: [pmv] matches [hip] ) : void // end of [himatch_ccomp] local fun auxvar ( env: !ccompenv , res: !instrseq , lvl0: int , lab: label, hip: hipat , pmv0: primval, hse_rec: hisexp ) : void = let val loc = hip.hipat_loc val-HIPvar (d2v) = hip.hipat_node val () = d2var_set_level (d2v, lvl0) val utimes = d2var_get_utimes (d2v) in // case+ 0 of | _ when utimes = 0 => () // HX: [d2v] is unused (* | _ when d2var_is_mutabl (d2v) => let val hse = hipat_get_type (hip) val pml = primlab_lab (loc, lab) val pmv = primval_select (loc, hse, pmv0, hse_rec, pml) val pmv_ref = primval_ptrof (loc, hisexp_typtr, pmv) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv_ref) in // nothing end // end of [_] *) | _ => let val hse = hipat_get_type (hip) val tmp = tmpvar_make (loc, hse) val pml = primlab_lab (loc, lab) val ins = instr_move_select (loc, tmp, hse, pmv0, hse_rec, pml) val pmv = primval_make_tmp (loc, tmp) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv) in instrseq_add (res, ins) end // end of [_] // end // end of [auxvar] fun auxpat ( env: !ccompenv , res: !instrseq , lvl0: int , lab: label, hip: hipat , pmv0: primval, hse_rec: hisexp ) : void = let in // case+ hip.hipat_node of (* case+ *) | HIPany _ => () | HIPvar (d2v) => auxvar (env, res, lvl0, lab, hip, pmv0, hse_rec) | HIPrefas (d2v, hip) => auxpat (env, res, lvl0, lab, hip, pmv0, hse_rec) // end of [HIPrefas] | HIPann (hip, _(*ann*)) => auxpat (env, res, lvl0, lab, hip, pmv0, hse_rec) // end of [HIPann] | _ => let val loc = hip.hipat_loc val-Some (d2v) = hip.hipat_asvar val-~Some_vt (pmv) = ccompenv_find_vbindmapenv (env, d2v) in himatch_ccomp (env, res, lvl0, hip, pmv) end // end of [_] end // end of [auxpat] fun auxpatlst ( env: !ccompenv , res: !instrseq , lvl0: int , lhips: labhipatlst , pmv0: primval, hse_rec: hisexp ) : void = let in // case+ lhips of | list_cons (lhip, lhips) => let val+LABHIPAT (lab, hip) = lhip val () = auxpat (env, res, lvl0, lab, hip, pmv0, hse_rec) // end of [val] in auxpatlst (env, res, lvl0, lhips, pmv0, hse_rec) end // end of [list_cons] | list_nil () => () // end // end of [auxpatlst] in (* in of [local] *) implement himatch_ccomp_rec ( env, res, lvl0, hip0, pmv0 ) = let // val-HIPrec (knd, lhips, hse_rec) = hip0.hipat_node // in auxpatlst (env, res, lvl0, lhips, pmv0, hse_rec) end // end of [himatch_ccomp_rec] end // end of [local] (* ****** ****** *) extern fun himatch_ccomp_sum ( env: !ccompenv, res: !instrseq , lvl0: int, hip0: hipat, pmv0: primval // HX: [pmv] matches [hip] ) : void // end of [himatch_ccomp_sum] local fun auxvar ( env: !ccompenv , res: !instrseq , lvl0: int , narg: int , lab: label, hip: hipat , pmv0: primval, hse_sum: hisexp ) : void = let val loc = hip.hipat_loc val-HIPvar (d2v) = hip.hipat_node val () = d2var_set_level (d2v, lvl0) val utimes = d2var_get_utimes (d2v) in // case+ 0 of | _ when utimes = 0 => () // HX: [d2v] is unused | _ when d2var_is_mutabl (d2v) => let val hse = hipat_get_type (hip) val pmv = primval_selcon (loc, hse, pmv0, hse_sum, lab) val pmv_ref = primval_ptrof (loc, hisexp_typtr, pmv) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv_ref) in // nothing end // end of [_] | _ => let val hse = hipat_get_type (hip) val tmp = tmpvar_make (loc, hse) val ins = instr_move_selcon (loc, tmp, hse, pmv0, hse_sum, lab) val pmv = primval_make_tmp (loc, tmp) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv) in instrseq_add (res, ins) end // end of [_] // end // end of [auxvar] fun auxpat ( env: !ccompenv , res: !instrseq , lvl0: int , narg: int , lab: label, hip: hipat , pmv0: primval, hse_sum: hisexp ) : void = let in // case+ hip.hipat_node of | HIPany _ => () | HIPvar (d2v) => auxvar (env, res, lvl0, narg, lab, hip, pmv0, hse_sum) // end of [HIPvar] | HIPrefas (_, hip) => auxpat (env, res, lvl0, narg, lab, hip, pmv0, hse_sum) // end of [HIPrefas] | HIPann (hip, ann) => auxpat (env, res, lvl0, narg, lab, hip, pmv0, hse_sum) // end of [HIPann] | _ => let val-Some (d2v) = hip.hipat_asvar val-~Some_vt (pmv) = ccompenv_find_vbindmapenv (env, d2v) in himatch_ccomp (env, res, lvl0, hip, pmv) end // end of [_] // end // end of [auxpat] fun auxpatlst ( env: !ccompenv , res: !instrseq , lvl0: int , narg: int , lhips: labhipatlst , pmv0: primval, hse_sum: hisexp ) : void = let in // case+ lhips of | list_cons (lhip, lhips) => let val LABHIPAT (lab, hip) = lhip val () = auxpat (env, res, lvl0, narg, lab, hip, pmv0, hse_sum) // end of [val] in auxpatlst (env, res, lvl0, narg+1, lhips, pmv0, hse_sum) end // end of [list_cons] | list_nil () => () // end // end of [auxpat] in (* in of [local] *) implement himatch_ccomp_sum ( env, res, lvl0, hip0, pmv0 ) = let (* val ( ) = println! ("himatch_ccomp_sum: hip0 = ", hip0) *) val-HIPcon (pck, d2c, hse_sum, lhips) = hip0.hipat_node // in auxpatlst (env, res, lvl0, 0(*narg*), lhips, pmv0, hse_sum) end // end of [himatch_ccomp_sum] end // end of [local] (* ****** ****** *) local fun auxvar ( env: !ccompenv , res: !instrseq , lvl0: int, d2v: d2var, pmv0: primval ) : void = let // val n = d2var_get_utimes (d2v) val () = d2var_set_level (d2v, lvl0) (* val () = ( println! ("himatch_ccomp: auxvar: n = ", n); println! ("himatch_ccomp: auxvar: d2v = ", d2v); ) // end of [val] *) // in // if n > 0 then let val ismov = ( case+ pmv0.primval_node of | _ when d2var_is_mutabl (d2v) => false | _ => primval_is_nshared (pmv0) ) : bool // end of [val] in if ismov then let val loc_d2v = d2var_get_loc (d2v) val hse_pmv = pmv0.primval_type val tmp = tmpvar_make (loc_d2v, hse_pmv) val ( ) = instrseq_add (res, instr_move_val (loc_d2v, tmp, pmv0)) val pmv1 = primval_make_tmp (loc_d2v, tmp) in ccompenv_add_vbindmapenvall (env, d2v, pmv1) end else ( ccompenv_add_vbindmapenvall (env, d2v, pmv0) ) // end of [if] end else ( // HX: [d2v] is unused! ) // end of [if] // end // end of [auxvar] in (* in of [local] *) implement himatch_ccomp ( env, res, lvl0, hip0, pmv0 ) = let // val loc0 = hip0.hipat_loc // (* val () = ( println! ("ccomp_match: lvl0 = ", lvl0); println! ("ccomp_match: hip0 = ", hip0); println! ("ccomp_match: pmv0 = ", pmv0); ) // end [val] *) // in // case+ hip0.hipat_node of | HIPany _ => () // | HIPvar (d2v) => auxvar (env, res, lvl0, d2v, pmv0) // | HIPint _ => () | HIPintrep _ => () // | HIPbool _ => () | HIPchar _ => () | HIPstring _ => () // | HIPi0nt _ => () | HIPf0loat _ => () // | HIPempty () => () // | HIPcon (pck, d2c, _, _) => let val () = ccompenv_add_freeconenv_if (env, pmv0, pck, d2c) // end of [val] val () = himatch_ccomp_sum (env, res, lvl0, hip0, pmv0) in // nothing end // end of [HIPcon] // | HIPcon_any (pck, d2c) => let val () = ccompenv_add_freeconenv_if (env, pmv0, pck, d2c) // end of [val] in // nothing end // end of [HIPcon_any] // | HIPrec _ => himatch_ccomp_rec (env, res, lvl0, hip0, pmv0) // | HIPrefas (d2v, hip) => himatch_ccomp (env, res, lvl0, hip, pmv0) // | HIPann (hip, ann) => himatch_ccomp (env, res, lvl0, hip, pmv0) // | _ (* rest-of-HIP *) => let val () = println! ("himatch_ccomp: hip0 = ", hip0) in exitloc (1) end // end of [_] // end (* end of [himatch_ccomp] *) end // end of [local] (* ****** ****** *) implement himatch2_ccomp ( env, res, lvl0, hip0, pmv0 ) = let // val () = ccompenv_inc_freeconenv (env) val ( ) = himatch_ccomp (env, res, lvl0, hip0, pmv0) val pmvs = ccompenv_getdec_freeconenv (env) // in instrseq_add_freeconlst (res, hip0.hipat_loc, pmvs) end // end of [himatch2_ccomp] (* ****** ****** *) extern fun primval_make_funarg (loc: location, hse: hisexp, narg: int): primval // end of [primval_make_funarg] implement primval_make_funarg (loc, hse0, narg) = let in // case+ hse0.hisexp_node of // | HSErefarg (refval, hse) => ( if refval = 0 then primval_arg (loc, hse0, narg) else primval_argref (loc, hse0, narg) // end of [if] ) // end of [HSErefarg] // | HSEvararg _ => primval_argtmpref (loc, hse0, narg) // | _ => primval_arg (loc, hse0, narg) // end // end of [primval_make_funarg] (* ****** ****** *) implement hifunarg_ccomp ( env, res, fl, lvl0, loc_fun, hips ) = let // fun auxpatck {n:nat} .. ( env: !ccompenv , res: !instrseq , narg: int , hips: list (hipat, n) , fail: patckont ) : list_vt (primval, n) = let in // case+ hips of | list_cons (hip, hips) => let val loc = hip.hipat_loc val hse = hip.hipat_type (* val () = begin println! ("hifunarg_ccomp: auxpatck: hip = ", hip); println! ("hifunarg_ccomp: auxpatck: hse = ", hse); end // end of [val] *) val pmv = primval_make_funarg (loc, hse, narg) val ((*void*)) = hipatck_ccomp (env, res, fail, hip, pmv) val pmvs = auxpatck (env, res, narg+1, hips, fail) in list_vt_cons (pmv, pmvs) end // end of [list_cons] | list_nil () => list_vt_nil () // end // end of [auxpatck] // fun auxmatch {n:nat} .. ( env: !ccompenv , res: !instrseq , lvl0: int , hips: list (hipat, n) , pmvs: list_vt (primval, n) ) : void = let in // case+ pmvs of | ~list_vt_cons (pmv, pmvs) => let val+list_cons (hip, hips) = hips val () = himatch_ccomp (env, res, lvl0, hip, pmv) in auxmatch (env, res, lvl0, hips, pmvs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [auxmatch] // val fail = PTCKNTfunarg_fail (loc_fun, fl) val pmvs = auxpatck (env, res, 0, hips, fail) // in auxmatch (env, res, lvl0, hips, pmvs) end // end of [hifunarg_ccomp] (* ****** ****** *) (* end of [pats_ccomp_hipat.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_env.dats0000664000175000017500000010010712655455557017511 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans2_env" (* ****** ****** *) staload "./pats_symmap.sats" staload "./pats_symenv.sats" staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" staload "./pats_namespace.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) local vtypedef filenv_struct = @{ name= filename , sort= s2temap , sexp= s2itmmap , dexp= d2itmmap , decl2= d2eclist , decl3= Option (dynexp2_d3eclist_type) (* , hidecl= Option (dynexp2_hideclist_type) *) , tcimap= Option (dynexp2_tmpcstimpmap_type) , tvdmap= Option (dynexp2_tmpvardecmap_type) } // end of [filenv_struct] assume filenv_type = ref (filenv_struct) in (* in of [local] *) implement filenv_make ( fil, s2tm, s2im, d2im, d2cs ) = let // val ( pfgc, pfat | p ) = ptr_alloc () prval () = free_gc_elim {filenv_struct?} (pfgc) // val () = p->name := fil val () = p->sort := s2tm val () = p->sexp := s2im val () = p->dexp := d2im val () = p->decl2 := d2cs val () = p->decl3 := None () (* val () = p->hidecl := None () *) val () = p->tcimap := None () val () = p->tvdmap := None () in // ref_make_view_ptr (pfat | p) // end // end of [filenv_make] implement filenv_get_name (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) in p->name end // end of [filenv_get_name] implement filenv_get_s2temap (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) prval (pf1, fpf1) = __assert (view@ (p->sort)) where { extern prfun __assert {a:vt@ype} {l:addr} (pf: !a @ l): (a @ l, minus (filenv, a @ l)) } // end of [prval] in (pf1, fpf1 | &p->sort) end // end of [filenv_get_s2temap] implement filenv_get_s2itmmap (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) prval (pf1, fpf1) = __assert (view@ (p->sexp)) where { extern prfun __assert {a:vt@ype} {l:addr} (pf: !a @ l): (a @ l, minus (filenv, a @ l)) } // end of [prval] in (pf1, fpf1 | &p->sexp) end // end of [filenv_get_s2itmmap] implement filenv_get_d2itmmap (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) prval (pf1, fpf1) = __assert (view@ (p->dexp)) where { extern prfun __assert {a:vt@ype} {l:addr} (pf: !a @ l): (a @ l, minus (filenv, a @ l)) } // end of [prval] in (pf1, fpf1 | &p->dexp) end // end of [filenv_get_d2itmmap] implement filenv_get_d2eclist (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) in p->decl2 end // end of [filenv_get_d2eclist] (* ****** ****** *) implement filenv_getref_d3eclistopt (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) in $UN.cast2Ptr1(&(p->decl3)) end // end of [filenv_getref_d3eclist] (* ****** ****** *) implement filenv_getref_tmpcstimpmap (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) in $UN.cast2Ptr1(&(p->tcimap)) end // end of [filenv_getref_tmpcstimpmap] implement filenv_getref_tmpvardecmap (fenv) = let val (vbox pf | p) = ref_get_view_ptr (fenv) in $UN.cast2Ptr1(&(p->tvdmap)) end // end of [filenv_getref_tmpvardecmap] end // end of [local] (* ****** ****** *) local // assume s2rtenv_push_v = unit_v // vtypedef s2rtenv = symenv (s2rtext) // val [l0:addr] (pf | p0) = symenv_make_nil () val (pf0 | ()) = vbox_make_view_ptr {s2rtenv} (pf | p0) // (* ****** ****** *) fun the_s2rtenv_find_namespace .<>. (id: symbol): s2rtextopt_vt = let fn f ( fenv: filenv ) : s2rtextopt_vt = let val (pf, fpf | p) = filenv_get_s2temap (fenv) val ans = symmap_search (!p, id) prval () = minus_addback (fpf, pf | fenv) in ans end // end of [f] in the_namespace_search (f) end // end of [the_s2rtenv_find_namespace] (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement the_s2rtenv_add (id, s2te) = let prval vbox pf = pf0 in symenv_insert (!p0, id, s2te) end // end of [the_s2rtenv_add] (* ****** ****** *) implement the_s2rtenv_find (id) = let val ans = let prval vbox pf = pf0 in symenv_search (!p0, id) end // end of [val] in // case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let val ans = the_s2rtenv_find_namespace (id) in case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let prval vbox pf = pf0 in symenv_pervasive_search (!p0, id) end // end of [None_vt] end // end of [None_vt] // end // end of [the_s2rtenv_find] (* ****** ****** *) implement the_s2rtenv_top_clear () = () where { prval vbox pf = pf0 val () = symenv_top_clear (!p0) } // end of [the_s2rtenv_top_clear] (* ****** ****** *) implement the_s2rtenv_pop ( pfenv | (*none*) ) = let prval unit_v () = pfenv prval vbox pf = pf0 in symenv_pop (!p0) end // end of [the_s2rtenv_pop] implement the_s2rtenv_pop_free (pfenv | (*none*)) = { prval unit_v () = pfenv prval vbox pf = pf0 val () = symenv_pop_free (!p0) } // end of [the_s2rtenv_pop_free] implement the_s2rtenv_push_nil () = (pfenv | ()) where { prval vbox pf = pf0 val () = symenv_push_nil (!p0) prval pfenv = unit_v () } // end of [the_s2rtenv_push_nil] (* ****** ****** *) fun the_s2rtenv_localjoin ( pfenv1: s2rtenv_push_v , pfenv2: s2rtenv_push_v | (*none*) ) = () where { prval unit_v () = pfenv1 prval unit_v () = pfenv2 prval vbox pf = pf0 val () = symenv_localjoin (!p0) } // end of [the_s2rtenv_localjoin] (* ****** ****** *) viewdef s2rtenv_save_v = unit_v fun the_s2rtenv_save () = let prval pfsave = unit_v () prval vbox pf = pf0 val () = symenv_savecur (!p0) in (pfsave | ()) end // end of [the_s2rtenv_save] fun the_s2rtenv_restore ( pfsave: s2rtenv_save_v | (*none*) ) : s2temap = let prval vbox pf = pf0 prval unit_v () = pfsave in symenv_restore (!p0) end // end of [the_s2rtenv_restore] (* ****** ****** *) implement the_s2rtenv_pervasive_joinwth0 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth0 (!p0, map) end // end of [the_s2rtenv_pervasive_joinwth0] implement the_s2rtenv_pervasive_joinwth1 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth1 (!p0, map) end // end of [the_s2rtenv_pervasive_joinwth1] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement the_s2rtenv_find_qua (q, id) = let (* val () = print "the_s2rtenv_find_qua: qid = " val () = ($SYN.print_s0rtq (q); $SYM.print_symbol (id)) val () = print_newline ((*void*)) *) in // case+ q.s0rtq_node of | $SYN.S0RTQnone _ => the_s2rtenv_find (id) | $SYN.S0RTQsymdot (sym) => let val ans = the_s2expenv_find (sym) in case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | S2ITMfilenv (fenv) => let val ( pf, fpf | p_map ) = filenv_get_s2temap (fenv) val ans = symmap_search (!p_map, id) prval () = minus_addback (fpf, pf | fenv) in ans end // en dof [S2ITMfil] | _ => let val loc = q.s0rtq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] should refer to a filename but it does not." val () = prerr_newline () in None_vt () end ) // end of [Some_vt] | ~None_vt () => let val loc = q.s0rtq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] is unrecognized." val () = prerr_newline () in None_vt () end // end of [case] end // end of [S2RTsymdot] // end // end of [the_s2rtenv_find_qua] (* ****** ****** *) local // assume s2expenv_push_v = unit_v // vtypedef s2expenv = symenv (s2itm) // val [l0:addr] (pf | p0) = symenv_make_nil () val (pf0 | ()) = vbox_make_view_ptr {s2expenv} (pf | p0) // (* ****** ****** *) fun the_s2expenv_find_namespace .<>. (id: symbol): s2itmopt_vt = let fn f ( fenv: filenv ) : s2itmopt_vt = let val (pf, fpf | p) = filenv_get_s2itmmap (fenv) val ans = symmap_search (!p, id) prval () = minus_addback (fpf, pf | fenv) in ans end // end of [f] in the_namespace_search (f) end // end of [the_s2expenv_find_namespace] (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement the_s2expenv_add (id, s2i) = let prval vbox pf = pf0 in symenv_insert (!p0, id, s2i) end // end of [the_s2expenv_add] (* ****** ****** *) implement the_s2expenv_find (id) = let val ans = let prval vbox pf = pf0 in symenv_search (!p0, id) end // end of [val] in // case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let val ans = the_s2expenv_find_namespace (id) in case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let prval vbox pf = pf0 in symenv_pervasive_search (!p0, id) end // end of [None_vt] end // end of [None_vt] // end // end of [the_s2expenv_find] (* ****** ****** *) implement the_s2expenv_pervasive_find (id) = let prval vbox pf = pf0 in symenv_pervasive_search (!p0, id) end // end of [the_s2expenv_pervasive_find] (* ****** ****** *) implement the_s2expenv_top_clear () = () where { prval vbox pf = pf0 val () = symenv_top_clear (!p0) } // end of [the_s2expenv_top_clear] (* ****** ****** *) implement the_s2expenv_pop ( pfenv | (*none*) ) = let prval unit_v () = pfenv prval vbox pf = pf0 in symenv_pop (!p0) end // end of [the_s2expenv_pop] implement the_s2expenv_pop_free (pfenv | (*none*)) = () where { prval unit_v () = pfenv prval vbox pf = pf0 val () = symenv_pop_free (!p0) } // end of [the_s2expenv_pop_free] implement the_s2expenv_push_nil () = (pfenv | ()) where { prval vbox pf = pf0 val () = symenv_push_nil (!p0) prval pfenv = unit_v () } // end of [the_s2expenv_push_nil] (* ****** ****** *) fun the_s2expenv_localjoin ( pfenv1: s2expenv_push_v , pfenv2: s2expenv_push_v | (*none*) ) = () where { prval unit_v () = pfenv1 prval unit_v () = pfenv2 prval vbox pf = pf0 val () = symenv_localjoin (!p0) } // end of [the_s2expenv_localjoin] (* ****** ****** *) viewdef s2expenv_save_v = unit_v fun the_s2expenv_save () = let prval pfsave = unit_v () prval vbox pf = pf0 val () = symenv_savecur (!p0) in (pfsave | ()) end // end of [the_s2expenv_save] fun the_s2expenv_restore ( pfsave: s2expenv_save_v | (*none*) ) : s2itmmap = let prval vbox pf = pf0 prval unit_v () = pfsave in symenv_restore (!p0) end // end of [the_s2expenv_restore] (* ****** ****** *) implement the_s2expenv_pervasive_joinwth0 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth0 (!p0, map) end // end of [the_s2expenv_pervasive_joinwth0] implement the_s2expenv_pervasive_joinwth1 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth1 (!p0, map) end // end of [the_s2expenv_pervasive_joinwth1] end // end of [local] (* ****** ****** *) implement the_s2expenv_find_qua (q, id) = let (* // val () = print "the_s2expenv_find_qua: qid = " val () = ($SYN.print_s0taq (q); $SYM.print_symbol (id)) val () = print_newline ((*void*)) // *) in // case+ q.s0taq_node of // | $SYN.S0TAQnone _ => the_s2expenv_find (id) // | $SYN.S0TAQsymdot (sym) => let val ans = the_s2expenv_find (sym) in case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | S2ITMfilenv (fenv) => let val ( pf, fpf | p_map ) = filenv_get_s2itmmap (fenv) val ans = symmap_search (!p_map, id) prval () = minus_addback (fpf, pf | fenv) in ans end // en dof [S2ITMfil] | _ => let val loc = q.s0taq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] should refer to a filename but it does not." val () = prerr_newline ((*void*)) in None_vt () end ) // end of [Some_vt] | ~None_vt () => let val loc = q.s0taq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] is unrecognized." val () = prerr_newline ((*void*)) in None_vt () end end // end of [S2RTsymdot] // | $SYN.S0TAQsymcolon _ => None_vt () // end // end of [the_s2expenv_find_qua] (* ****** ****** *) implement the_s2expenv_add_scst (s2c) = let (* val () = ( println! ("s2expenv_add_scst: s2c = ", s2c); println! ("s2expenv_add_scst: s2t = ", s2cst_get_srt(s2c)); ) (* end of [val] *) *) val id = s2cst_get_sym s2c // val s2cs = ( case+ the_s2expenv_find (id) of | ~Some_vt s2i => begin case+ s2i of | S2ITMcst s2cs => s2cs | _ => list_nil () end // end of [Some_vt] | ~None_vt () => list_nil () ) : s2cstlst // end of [val] // val s2i = S2ITMcst (list_cons (s2c, s2cs)) // in the_s2expenv_add (id, s2i) end // end of [the_s2expenv_add_scst] implement the_s2expenv_add_svar (s2v) = let val id = s2var_get_sym (s2v) in the_s2expenv_add (id, S2ITMvar s2v) end // end of [the_s2expenv_add_svar] implement the_s2expenv_add_svarlst (s2vs) = list_app_fun (s2vs, the_s2expenv_add_svar) // end of [the_s2expenv_add_svarlst] implement the_s2expenv_add_sp2at (sp2t) = ( case+ sp2t.sp2at_node of | SP2Tcon (s2c, s2vs) => the_s2expenv_add_svarlst (s2vs) | SP2Terr () => () // HX: a placeholder for indicating an error ) // end of [the_s2expenv_add_sp2at] implement the_s2expenv_add_datconptr (d2c) = let val sym = d2con_get_sym d2c val name = $SYM.symbol_get_name (sym) val id = $SYM.symbol_make_string (name + "_unfold") val () = the_s2expenv_add (id, S2ITMdatconptr (d2c)) in // empty end // end of [the_s2expenv_add_datconptr] implement the_s2expenv_add_datcontyp (d2c) = let val sym = d2con_get_sym d2c val name = $SYM.symbol_get_name (sym) val id = $SYM.symbol_make_string (name + "_pstruct") val () = the_s2expenv_add (id, S2ITMdatcontyp (d2c)) in // empty end // end of [the_s2expenv_add_datcontyp] (* ****** ****** *) local val the_maclev = ref_make_elt (1) // HX: the initial level is 1 // end of [val] in (* in of [local] *) implement the_maclev_get () = !the_maclev implement the_maclev_inc (loc) = let val lev = !the_maclev val () = if lev > 0 then { val () = prerr_error2_loc (loc) val () = prerr ": the syntax `(...) is used incorrectly at this location."; val () = prerr_newline () } // end of [if] // end of [val] in !the_maclev := lev + 1 end // end of [the_maclev_inc] implement the_maclev_dec (loc) = let val lev = !the_maclev val () = if lev = 0 then { val () = prerr_error2_loc (loc) val () = prerr ": the syntax ,(...) or %(...) is used incorrectly at this location."; val () = prerr_newline () } // end of [if] // end of [val] in !the_maclev := lev - 1 end // end of [the_maclev_dec] end // end of [local] (* ****** ****** *) local val the_macdeflev = ref_make_elt (0) // end of [val] in (* in of [local] *) implement the_macdeflev_get () = !the_macdeflev implement the_macdeflev_inc () = !the_macdeflev := !the_macdeflev + 1 // end of [macdeflev_inc] implement the_macdeflev_dec () = !the_macdeflev := !the_macdeflev - 1 // end of [macdeflev_dec] end // end of [local] (* ****** ****** *) local val the_tmplev = ref_make_elt (0) // end of [val] in (* in of [local] *) implement the_tmplev_get () = !the_tmplev implement the_tmplev_inc () = !the_tmplev := !the_tmplev + 1 // end of [tmplev_inc] implement the_tmplev_dec () = !the_tmplev := !the_tmplev - 1 // end of [tmplev_dec] end // end of [local] (* ****** ****** *) (* ** HX-2012-06-07: ** this function is currently not used ** in the implementation of ATS2 *) #if (0) #then implement s2var_check_tmplev (loc, s2v) = let val lev = s2var_get_tmplev (s2v) in case+ 0 of | _ when lev > 0 => let val tmplev = the_tmplev_get () in if lev < tmplev then let val () = prerr_error2_loc (loc) val () = prerr ": the static variable [" val () = prerr_s2var (s2v) val () = prerr "] is out of scope." val () = prerr_newline () in the_trans2errlst_add (T2E_s2var_check_tmplev (s2v)) end // end of [if] end // end of [_ when lev > 0]] | _ => () // HX: [s2v] is not a template variable end // end of [s2var_tmplev_check] #endif // PATS_UNUSED_CODE (* ****** ****** *) implement s2qualstlst_set_tmplev (s2qs, tmplev) = () where { fun aux ( pf: !unit_v | s2q: s2qua ) : void = list_app_cloptr (s2q.s2qua_svs, lam s2v =<1> s2var_set_tmplev (s2v, tmplev)) // end of [aux] prval pfu = unit_v () val () = list_app_vcloptr {unit_v} (pfu | s2qs, aux) prval unit_v () = pfu } // end of [s2qualstlst_set_tmplev] (* ****** ****** *) local // val the_d2varlev = ref (0) // assume the_d2varlev_inc_v = unit_v // in (* in of [local] *) implement the_d2varlev_get () = !the_d2varlev implement the_d2varlev_inc ((*void*)) = let prval pfinc = unit_v () val n = !the_d2varlev val () = !the_d2varlev := n + 1 in (pfinc | ()) end // end of [the_d2varlev_inc] implement the_d2varlev_dec (pfinc | (*none*)) = let prval unit_v () = pfinc val n = !the_d2varlev val () = !the_d2varlev := n - 1 in // nothing end // end of [the_d2varlev_dec] implement the_d2varlev_save () = let val n = !the_d2varlev in !the_d2varlev := 0; n end (* end of [the_d2varlev_save] *) implement the_d2varlev_restore (lvl0) = !the_d2varlev := lvl0 end // end of [local] (* ****** ****** *) local // assume d2expenv_push_v = unit_v // vtypedef d2expenv = symenv (d2itm) // val [l0:addr] (pf | p0) = symenv_make_nil () val (pf0 | ()) = vbox_make_view_ptr {d2expenv} (pf | p0) // (* ****** ****** *) fn the_d2expenv_find_namespace (id: symbol): d2itmopt_vt = let fn f ( fenv: filenv ) : d2itmopt_vt = let val (pf, fpf | p) = filenv_get_d2itmmap (fenv) val ans = symmap_search (!p, id) prval () = minus_addback (fpf, pf | fenv) in ans end // end of [f] in the_namespace_search (f) end // end of [the_d2expenv_find_namespace] in (* in of [local] *) implement the_d2expenv_add (id, d2i) = let prval vbox pf = pf0 in symenv_insert (!p0, id, d2i) end // end of [the_d2expenv_add] (* ****** ****** *) implement the_d2expenv_find (id) = let val ans = let prval vbox pf = pf0 in symenv_search (!p0, id) end // end of [val] in // case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let val ans = the_d2expenv_find_namespace (id) in case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => let prval vbox pf = pf0 in symenv_pervasive_search (!p0, id) end // end of [None_vt] end // end of [None_vt] // end // end of [the_d2expenv_find] (* ****** ****** *) implement the_d2expenv_current_find (id) = let prval vbox pf = pf0 in symenv_search (!p0, id) end // end of [the_d2expenv_current_find] implement the_d2expenv_pervasive_find (id) = let prval vbox pf = pf0 in symenv_pervasive_search (!p0, id) end // end of [the_d2expenv_pervasive_find] (* ****** ****** *) implement the_d2expenv_top_clear () = () where { prval vbox pf = pf0 val () = symenv_top_clear (!p0) } // end of [the_d2expenv_top_clear] (* ****** ****** *) implement the_d2expenv_pop ( pfenv | (*none*) ) = let prval unit_v () = pfenv prval vbox pf = pf0 in symenv_pop (!p0) end // end of [the_d2expenv_pop] implement the_d2expenv_pop_free (pfenv | (*none*)) = () where { prval unit_v () = pfenv prval vbox pf = pf0 val () = symenv_pop_free (!p0) } // end of [the_d2expenv_pop_free] implement the_d2expenv_push_nil () = (pfenv | ()) where { prval vbox pf = pf0 val () = symenv_push_nil (!p0) prval pfenv = unit_v () } // end of [the_d2expenv_push_nil] (* ****** ****** *) fun the_d2expenv_localjoin ( pfenv1: d2expenv_push_v , pfenv2: d2expenv_push_v | (*none*) ) = () where { prval unit_v () = pfenv1 prval unit_v () = pfenv2 prval vbox pf = pf0 val () = symenv_localjoin (!p0) } // end of [the_d2expenv_localjoin] (* ****** ****** *) viewdef d2expenv_save_v = unit_v fun the_d2expenv_save () = let prval pfsave = unit_v () prval vbox pf = pf0 val () = symenv_savecur (!p0) in (pfsave | ()) end // end of [the_d2expenv_save] fun the_d2expenv_restore ( pfsave: d2expenv_save_v | (*none*) ) : d2itmmap = let prval vbox pf = pf0 prval unit_v () = pfsave in symenv_restore (!p0) end // end of [the_d2expenv_restore] (* ****** ****** *) implement the_d2expenv_pervasive_joinwth0 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth0 (!p0, map) end // end of [the_d2expenv_pervasive_joinwth0] implement the_d2expenv_pervasive_joinwth1 (map) = let prval vbox pf = pf0 in symenv_pervasive_joinwth1 (!p0, map) end // end of [the_d2expenv_pervasive_joinwth1] end // end of [local] (* ****** ****** *) implement the_d2expenv_find_qua (q, id) = let (* val () = print "the_d2expenv_find_qua: qid = " val () = ($SYN.print_s0taq (q); $SYM.print_symbol (id)) val () = print_newline ((*void*)) *) in // case+ q.d0ynq_node of | $SYN.D0YNQnone _ => the_d2expenv_find (id) | $SYN.D0YNQsymdot (sym) => let val ans = the_s2expenv_find (sym) in case+ ans of | ~Some_vt (s2i) => ( case+ s2i of | S2ITMfilenv (fenv) => let val ( pf, fpf | p_map ) = filenv_get_d2itmmap (fenv) val ans = symmap_search (!p_map, id) prval () = minus_addback (fpf, pf | fenv) in ans end // en dof [S2ITMfil] | _ => let val loc = q.d0ynq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] should refer to a filename but it does not." val () = prerr_newline () in None_vt () end ) // end of [Some_vt] | ~None_vt () => let val loc = q.d0ynq_loc val () = prerr_error2_loc (loc) val () = prerr ": the qualifier [" val () = $SYM.prerr_symbol (sym) val () = prerr "] is unrecognized." val () = prerr_newline () in None_vt () end // end of [None_vt] end // end of [S2RTsymdot] | $SYN.D0YNQsymcolon _ => None_vt () | $SYN.D0YNQsymdotcolon _ => None_vt () // end // end of [the_s2expenv_find_qua] (* ****** ****** *) implement the_d2expenv_add_dcon (d2c) = let // val id = d2con_get_sym d2c val d2cs = ( case+ the_d2expenv_find (id) of | ~Some_vt d2i => ( case+ d2i of D2ITMcon d2cs => d2cs | _ => list_nil () ) // end of [Some_vt] | ~None_vt ((*void*)) => list_nil () ) : d2conlst // end of [val] val d2i = D2ITMcon (list_cons (d2c, d2cs)) // in the_d2expenv_add (id, d2i) end // end of [the_d2expenv_add_dcon] (* ****** ****** *) implement the_d2expenv_add_dcst (d2c) = let val id = d2cst_get_sym (d2c) in the_d2expenv_add (id, D2ITMcst d2c) end // end of [the_d2expenv_add_dcst] (* ****** ****** *) implement the_d2expenv_add_dmacdef (d2m) = let val id = d2mac_get_sym (d2m) in the_d2expenv_add (id, D2ITMmacdef d2m) end // end of [the_d2expenv_add_dmacdef] implement the_d2expenv_add_dmacvar (d2v) = let val id = d2var_get_sym (d2v) in the_d2expenv_add (id, D2ITMmacvar d2v) end // end of [the_d2expenv_add_dmacvar] implement the_d2expenv_add_dmacvarlst (d2vs) = list_app_fun (d2vs, the_d2expenv_add_dmacvar) // end of [the_d2expenv_add_dmacvarlst] (* ****** ****** *) implement the_d2expenv_add_dvar (d2v) = let val id = d2var_get_sym (d2v) in the_d2expenv_add (id, D2ITMvar d2v) end // end of [the_d2expenv_add_dvar] implement the_d2expenv_add_dvarlst (d2vs) = list_app_fun (d2vs, the_d2expenv_add_dvar) // end of [the_d2expenv_add_dvarlst] implement the_d2expenv_add_dvaropt (opt) = ( case+ opt of Some (d2v) => the_d2expenv_add_dvar (d2v) | None () => () ) // end of [the_d2expenv_add_dvaropt] (* ****** ****** *) implement the_d2expenv_add_fundeclst (knd, f2ds) = let // fun auxlst ( f2ds: f2undeclst ) : void = ( case+ f2ds of | list_cons (f2d, f2ds) => let val () = the_d2expenv_add_dvar (f2d.f2undec_var) in auxlst (f2ds) end // end of [list_cons] | list_nil ((*none*)) => () ) (* end of [auxlist] *) // in // case+ f2ds of | list_cons (f2d, f2ds) => let val () = the_d2expenv_add_dvar (f2d.f2undec_var) in if not(funkind_is_mutailrec(knd)) then auxlst (f2ds) end // end of [list_cons] | list_nil ((*none*)) => () // end // end of [the_d2expenv_add_fundeclst] (* ****** ****** *) local val the_staload_level = ref (0) assume staload_level_push_v = unit_v in (* in of [local] *) implement the_staload_level_get () = !the_staload_level implement the_staload_level_push () = (pf | ()) where { prval pf = unit_v () val n = !the_staload_level val () = !the_staload_level := n+1 } // end of [the_staload_level_push] implement the_staload_level_pop (pf | (*none*)) = let prval unit_v () = pf val n = !the_staload_level val () = !the_staload_level := n-1 in // nothing end // end of [the_staload_level_pop] end // end of [local] (* ****** ****** *) local val the_filenvmap = ref (symmap_make_nil ()) // end of [the_filenvmap] in (* in of [local] *) implement the_filenvmap_add (fid, fenv) = let val (vbox pf | p) = ref_get_view_ptr (the_filenvmap) in symmap_insert (!p, fid, fenv) end // end of [the_filenvmap_add] implement the_filenvmap_find (fid) = let val (vbox pf | p) = ref_get_view_ptr (the_filenvmap) in symmap_search (!p, fid) end // end of [the_filenvmap_find] end // end of [local] (* ****** ****** *) local assume trans2_env_push_v = @( s2rtenv_push_v, s2expenv_push_v, d2expenv_push_v ) (* end of [trans2_env_push_v] *) in (* in of [local] *) implement the_trans2_env_pop (pfenv | (*none*)) = { val () = the_namespace_pop () val () = the_s2rtenv_pop_free (pfenv.0 | (*none*)) val () = the_s2expenv_pop_free (pfenv.1 | (*none*)) val () = the_d2expenv_pop_free (pfenv.2 | (*none*)) } // end of [the_trans2_env_pop] implement the_trans2_env_push () = let val () = the_namespace_push () val (pf0 | ()) = the_s2rtenv_push_nil () val (pf1 | ()) = the_s2expenv_push_nil () val (pf2 | ()) = the_d2expenv_push_nil () in ((pf0, pf1, pf2) | ()) end // end of [the_trans2_env_push] implement the_trans2_env_localjoin (pf1, pf2 | (*none*)) = { val () = the_namespace_localjoin () val () = the_s2rtenv_localjoin (pf1.0, pf2.0 | (*none*)) val () = the_s2expenv_localjoin (pf1.1, pf2.1 | (*none*)) val () = the_d2expenv_localjoin (pf1.2, pf2.2 | (*none*)) } // end of [trans2_env_localjoin] implement the_trans2_env_pervasive_joinwth (pfenv | fil, d2cs) = { val m0 = the_s2rtenv_pop (pfenv.0 | (*none*)) val () = the_s2rtenv_pervasive_joinwth1 (m0) val m1 = the_s2expenv_pop (pfenv.1 | (*none*)) val () = the_s2expenv_pervasive_joinwth1 (m1) val m2 = the_d2expenv_pop (pfenv.2 | (*none*)) val () = the_d2expenv_pervasive_joinwth1 (m2) // val fsymb = $FIL.filename_get_fullname (fil) val fenv = filenv_make (fil, m0, m1, m2, d2cs) val ((*void*)) = the_filenvmap_add (fsymb, fenv) // } // end of [the_trans2_env_pervasive_joinwth1] end // end of [local] (* ****** ****** *) local assume trans2_env_save_v = @( s2rtenv_save_v, s2expenv_save_v, d2expenv_save_v ) // end of [trans2_env_save_v] in (* in of [local] *) implement the_trans2_env_save () = let val () = the_namespace_save () val (pf0 | ()) = the_s2rtenv_save () val (pf1 | ()) = the_s2expenv_save () val (pf2 | ()) = the_d2expenv_save () prval pfsave = (pf0, pf1, pf2) in (pfsave | ()) end // end of [the_trans1_env_save] implement the_trans2_env_restore (pfsave | (*none*)) = let val () = the_namespace_restore () val m0 = the_s2rtenv_restore (pfsave.0 | (*none*)) val m1 = the_s2expenv_restore (pfsave.1 | (*none*)) val m2 = the_d2expenv_restore (pfsave.2 | (*none*)) in (m0, m1, m2) end // end of [the_trans2_env_restore] end // end of [local] (* ****** ****** *) local fun the_s2rtenv_initialize ( // argless ) : void = { // val (pfenv | ()) = the_s2rtenv_push_nil () // // HX: pre-defined predicative sorts // val () = the_s2rtenv_add ($SYM.symbol_INT, S2TEsrt s2rt_int) val () = the_s2rtenv_add ($SYM.symbol_ADDR, S2TEsrt s2rt_addr) val () = the_s2rtenv_add ($SYM.symbol_BOOL, S2TEsrt s2rt_bool) // (* val () = the_s2rtenv_add ($SYM.symbol_CHAR, S2TEsrt s2rt_char) *) // val () = the_s2rtenv_add ($SYM.symbol_FLOAT, S2TEsrt s2rt_float) val () = the_s2rtenv_add ($SYM.symbol_STRING, S2TEsrt s2rt_string) // val () = the_s2rtenv_add ($SYM.symbol_CLS, S2TEsrt s2rt_cls) // classes // val () = the_s2rtenv_add ($SYM.symbol_EFF, S2TEsrt s2rt_eff) // effects // val () = the_s2rtenv_add ($SYM.symbol_TKIND, S2TEsrt s2rt_tkind) // // HX: pre-defined impredicative sorts // val () = the_s2rtenv_add ($SYM.symbol_PROP, S2TEsrt s2rt_prop) // val () = the_s2rtenv_add ($SYM.symbol_TYPE, S2TEsrt s2rt_type) val () = the_s2rtenv_add ($SYM.symbol_T0YPE, S2TEsrt s2rt_t0ype) // val () = the_s2rtenv_add ($SYM.symbol_VIEW, S2TEsrt s2rt_view) // val () = the_s2rtenv_add ($SYM.symbol_VTYPE, S2TEsrt s2rt_vtype) val () = the_s2rtenv_add ($SYM.symbol_VT0YPE, S2TEsrt s2rt_vt0ype) // val () = the_s2rtenv_add ($SYM.symbol_VIEWTYPE, S2TEsrt s2rt_vtype) val () = the_s2rtenv_add ($SYM.symbol_VIEWT0YPE, S2TEsrt s2rt_vt0ype) // val () = the_s2rtenv_add ($SYM.symbol_TYPES, S2TEsrt s2rt_types) // val map = the_s2rtenv_pop (pfenv | (*none*)) val ((*void*)) = the_s2rtenv_pervasive_joinwth0 (map) // } (* end of [trans2_env_initialize] *) fun the_s2rtenv_reinitialize(): void = the_s2rtenv_top_clear () (* ****** ****** *) // fun the_s2expenv_initialize (): void = () fun the_s2expenv_reinitialize(): void = the_s2expenv_top_clear() // (* ****** ****** *) // fun the_d2expenv_initialize (): void = { (* // HX-2013-02: // in prelude/basics_pre.sats: symintr [] // val (pfenv | ()) = the_d2expenv_push_nil () // val () = let val sym = $SYM.symbol_LRBRACKETS in the_d2expenv_add (sym, D2ITMsymdef (sym, list_nil)) end // end of [val] // val map = the_d2expenv_pop (pfenv | (*none*)) // val () = the_d2expenv_pervasive_joinwth0 (map) // *) // } (* end of [the_d2expenv_initialize] *) // fun the_d2expenv_reinitialize(): void = the_d2expenv_top_clear() // (* ****** ****** *) val the_trans2_env_flag = ref (0) (* ****** ****** *) in (* in of [local] *) implement the_trans2_env_initialize ( // argumentless ) = let // val n = !the_trans2_env_flag val () = !the_trans2_env_flag := n+1 // in // if n = 0 then { val () = the_s2rtenv_initialize () val () = the_s2expenv_initialize () val () = the_d2expenv_initialize () } else { val () = the_s2rtenv_reinitialize () val () = the_s2expenv_reinitialize () val () = the_d2expenv_reinitialize () } (* end of [if] *) // end // end of [the_trans2_env_initialize] end // end of [local] (* ****** ****** *) (* end of [pats_trans2_env.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_main.dats0000664000175000017500000007112312655455557017542 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "pats_basics.sats" (* ****** ****** *) // staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename // (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) // staload S2E = "./pats_staexp2.sats" typedef d2con = $S2E.d2con typedef d2conlst = $S2E.d2conlst // staload D2E = "./pats_dynexp2.sats" // typedef d2cst = $D2E.d2cst typedef d2cstlst = $D2E.d2cstlst typedef d2cstopt = $D2E.d2cstopt // (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement emit_ats_ccomp_header (out) = let val () = emit_text (out, "/*\n") val () = emit_text (out, "** include runtime header files\n") val () = emit_text (out, "*/\n") // val () = emit_text (out, "#ifndef _ATS_CCOMP_HEADER_NONE_\n") // val () = emit_text (out, "#include \"pats_ccomp_config.h\"\n") val () = emit_text (out, "#include \"pats_ccomp_basics.h\"\n") val () = emit_text (out, "#include \"pats_ccomp_typedefs.h\"\n") val () = emit_text (out, "#include \"pats_ccomp_instrset.h\"\n") val () = emit_text (out, "#include \"pats_ccomp_memalloc.h\"\n") // val () = emit_text (out, "#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n") val () = emit_text (out, "#include \"pats_ccomp_memalloca.h\"\n") val () = emit_text (out, "#include \"pats_ccomp_exception.h\"\n") val () = emit_text (out, "#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n") // val () = emit_text (out, "#endif /* _ATS_CCOMP_HEADER_NONE_ */\n") val () = emit_newline (out) in emit_newline (out) end // end of [emit_ats_ccomp_header] (* ****** ****** *) implement emit_ats_ccomp_prelude (out) = let // val () = emit_text (out, "/*\n") val () = emit_text (out, "** include prelude cats files\n") val () = emit_text (out, "*/\n") // val () = emit_text (out, "#ifndef _ATS_CCOMP_PRELUDE_NONE_\n") // // HX: primary prelude cats files // val () = emit_text (out, "//\n") val () = emit_text (out, "#include \"prelude/CATS/basics.cats\"\n") // val () = emit_text (out, "#include \"prelude/CATS/integer.cats\"\n") // val () = emit_text (out, "#include \"prelude/CATS/pointer.cats\"\n") // val () = emit_text (out, "#include \"prelude/CATS/bool.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/char.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/float.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/integer_ptr.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/integer_fixed.cats\"\n") // val () = emit_text (out, "#include \"prelude/CATS/memory.cats\"\n") // val () = emit_text (out, "#include \"prelude/CATS/string.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/strptr.cats\"\n") // val () = emit_text (out, "//\n") val () = emit_text (out, "#include \"prelude/CATS/fprintf.cats\"\n") val () = emit_text (out, "//\n") val () = emit_text (out, "#include \"prelude/CATS/filebas.cats\"\n") // // HX: secondary prelude cats files // val () = emit_text (out, "//\n") val () = emit_text (out, "#include \"prelude/CATS/list.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/option.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/array.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/arrayptr.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/arrayref.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/matrix.cats\"\n") val () = emit_text (out, "#include \"prelude/CATS/matrixptr.cats\"\n") // val () = emit_text (out, "//\n") val () = emit_text (out, "#endif /* _ATS_CCOMP_PRELUDE_NONE_ */\n") // val () = emit_text (out, "/*\n") val () = emit_text (out, "** for user-supplied prelude\n") val () = emit_text (out, "*/\n") val () = emit_text (out, "#ifdef _ATS_CCOMP_PRELUDE_USER_\n") val () = emit_text (out, "//\n") val () = emit_text (out, "#include _ATS_CCOMP_PRELUDE_USER_\n") val () = emit_text (out, "//\n") val () = emit_text (out, "#endif /* _ATS_CCOMP_PRELUDE_USER_ */\n") // val () = emit_text (out, "/*\n") val () = emit_text (out, "** for user2-supplied prelude\n") val () = emit_text (out, "*/\n") val () = emit_text (out, "#ifdef _ATS_CCOMP_PRELUDE_USER2_\n") val () = emit_text (out, "//\n") val () = emit_text (out, "#include _ATS_CCOMP_PRELUDE_USER2_\n") val () = emit_text (out, "//\n") val () = emit_text (out, "#endif /* _ATS_CCOMP_PRELUDE_USER2_ */\n") // in emit_newline (out) end // end of [emit_ats_ccomp_prelude] (* ****** ****** *) // extern fun the_dynconlst_get2 (): d2conlst extern fun the_dynconlst_set2 (xs: d2conlst): void // local val the_d2conlst = ref (None) in (*in-of-local*) implement the_dynconlst_get2 ((*void*)) = let // val opt = !the_d2conlst // in // case+ opt of | Some xs => xs | None () => xs where { val xs = the_dynconlst_get () val () = !the_d2conlst := Some (xs) } (* end of [None] *) // end // end of [the_dynconlst_get2] implement the_dynconlst_set2 (xs) = !the_d2conlst := Some (xs) end // end of [local] // (* ****** ****** *) // extern fun emit_funlablst_ptype (out: FILEref, fls: funlablst): void // implement emit_funlablst_ptype (out, fls) = let // fun loop ( out: FILEref, fls: funlablst, i: int ) : void = let in // case+ fls of | list_cons (fl, fls) => let val-Some (fent) = funlab_get_funent (fl) // end of [val] val () = emit_funent_ptype (out, fent) in loop (out, fls, i+1) end // end of [list_cons] | list_nil () => () // end // end of [loop] // in loop (out, fls, 0) end // end of [emit_funlablst_ptype] // (* ****** ****** *) // extern fun emit_funlablst_closure (out: FILEref, fls: funlablst): void // implement emit_funlablst_closure (out, fls) = let // fun loop ( out: FILEref, fls: funlablst, i: int ) : void = let in // case+ fls of | list_cons (fl, fls) => let val tmpknd = funlab_get_tmpknd (fl) val istmp = ( if tmpknd > 0 then true else false ) : bool // end of [val] val isclo = ( if istmp then false else let val fc = funlab_get_funclo (fl) in funclo_is_clo (fc) end // end of [let] // end of [if] ) : bool // end of [val] val-Some(fent) = funlab_get_funent (fl) val () = if isclo then emit_funent_closure (out, fent) // end of [val] in loop (out, fls, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, fls, 0) end // end of [emit_funlablst_closure] // (* ****** ****** *) // extern fun emit_funlablst_implmnt (out: FILEref, fls: funlablst): void // implement emit_funlablst_implmnt (out, fls) = let // fun loop ( out: FILEref, fls: funlablst, i: int ) : void = let in // case+ fls of // | list_cons (fl, fls) => let val tmpknd = funlab_get_tmpknd (fl) val-Some (fent) = funlab_get_funent (fl) val () = if tmpknd > 0 then fprint_string (out, "#if(0)\n") // end of [val] val ((*void*)) = emit_funent_implmnt (out, fent) val () = if tmpknd > 0 then fprint_string (out, "#endif // end of [TEMPLATE]\n") // end of [val] val () = emit_newline (out) in loop (out, fls, i+1) end // end of [list_cons] // | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, fls, 0) end // end of [emit_funlablst_implmnt] // (* ****** ****** *) local extern fun tmpvar_set_topknd ( x: tmpvar, knd: int ) : void = "ext#patsopt_tmpvar_set_topknd" fun auxlst_staticize (xs: tmpvarlst): void = let in // case+ xs of | list_cons (x, xs) => let val () = tmpvar_set_topknd (x, 1(*static*)) in auxlst_staticize (xs) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxlst] in (*in-of-local*) implement emit_the_tmpdeclst (out) = let // val p = the_toplevel_getref_tmpvarlst () val tmplst = $UN.ptrget (p) val () = auxlst_staticize (tmplst) // in emit_tmpdeclst (out, tmplst) end // end of [emit_the_tmpdeclst] end // end of [local] (* ****** ****** *) implement emit_the_dynconlst_extdec (out) = let // val () = emit_text (out, "/*\n") val () = emit_text (out, "dynconlst-declaration(beg)\n") val () = emit_text (out, "*/\n") // val d2cs = the_dynconlst_get2 () val () = emit_d2conlst_extdec (out, d2cs) // val () = emit_text (out, "/*\n") val () = emit_text (out, "dynconlst-declaration(end)\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [emit_the_dynconlst_extdec] (* ****** ****** *) // extern fun the_dyncstlst_get2 (): d2cstlst extern fun the_dyncstlst_set2 (xs: d2cstlst): void // local val the_d2cstlst = ref (None) in (*in-of-local*) implement the_dyncstlst_get2 ((*void*)) = let // val opt = !the_d2cstlst // in // case+ opt of | Some (xs) => xs | None ( ) => let val xs = the_dyncstlst_get () val () = !the_d2cstlst := Some (xs) in xs end // end of [None] // end // end of [the_dyncstlst_get2] implement the_dyncstlst_set2 (xs) = !the_d2cstlst := Some (xs) end // end of [local] // (* ****** ****** *) implement emit_the_dyncstlst_extdec (out) = let // val () = emit_text (out, "/*\n") val () = emit_text (out, "dyncstlst-declaration(beg)\n") val () = emit_text (out, "*/\n") // val d2cs = the_dyncstlst_get2 () val () = emit_d2cstlst_extdec (out, d2cs) // val () = emit_text (out, "/*\n") val () = emit_text (out, "dyncstlst-declaration(end)\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [emit_the_dyncstlst_extdec] (* ****** ****** *) // extern fun the_extcodelst_get2 (): hideclist extern fun the_extcodelst_set2 (xs: hideclist): void // local val the_extlst = ref (None) in (*in-of-local*) implement the_extcodelst_get2 ((*void*)) = let // val opt = !the_extlst // in // case+ opt of | Some (xs) => xs | None ( ) => let val xs = the_extcodelst_get () val () = !the_extlst := Some (xs) in xs end // end of [None] // end // end of [the_extcodelst_get2] implement the_extcodelst_set2 (xs) = !the_extlst := Some (xs) end // end of [local] // (* ****** ****** *) // extern fun the_funlablst_get2 (): funlablst // local // val the_flablst = ref (None) // in (* in of [local] *) implement the_funlablst_get2 ((*void*)) = let // val opt = !the_flablst // in // case+ opt of | Some (xs) => xs | None ( ) => let val xs = the_funlablst_get () val () = !the_flablst := Some (xs) in xs end // end of [None] // end // end of [the_fublablst_get2] end // end of [local] // (* ****** ****** *) implement emit_the_funlablst (out) = let // val fls0 = the_funlablst_get2 () // val () = emit_funlablst_ptype (out, fls0) val () = emit_funlablst_closure (out, fls0) val () = emit_funlablst_implmnt (out, fls0) // in // nothing end // end of [emit_the_funlablst] (* ****** ****** *) implement emit_the_primdeclst (out) = let // val p = the_toplevel_getref_primdeclst () // val pmdlst = $UN.ptrget (p) // in emit_primdeclst (out, pmdlst) end // end of [emit_the_primdeclst] (* ****** ****** *) local fun aux ( out: FILEref, x: primdec ) : void = let in // case+ x.primdec_node of // case+ // | PMDimpdec(imp) => let val opt = hiimpdec_get_instrlstopt (imp) // end of [val] in case+ opt of | None _ => () | Some _ => let val d2c = imp.hiimpdec_cst val-Some(hse) = d2cst_get2_hisexp (d2c) val () = emit_text (out, "ATSdyncst_valimp(") val () = emit_d2cst (out, d2c) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse) val () = emit_text (out, ") ;\n") in // nothing end // end of [Some] end // end of [PMDimpdec] // | PMDlocal (xs_head, xs_body) => { val ((*void*)) = auxlst (out, xs_head) val ((*void*)) = auxlst (out, xs_body) } (* end of [PMDlocal] *) // | PMDinclude (knd, xs_incl) => if knd > 0 then auxlst (out, xs_incl) // end of [PMDinclude] // | _ (*rest-of-PMD*) => () // end // end of [aux] and auxlst ( out: FILEref, xs: primdeclst ) : void = let in // case+ xs of | list_nil () => () | list_cons(x, xs) => let val () = aux (out, x) in auxlst (out, xs) end // end of [list_cons] // end // end of [auxlst] in (* in of [local] *) implement emit_the_primdeclst_valimp (out) = let // val p = the_toplevel_getref_primdeclst () // end of [val] val pmdlst = $UN.ptrget (p) // val () = emit_text (out, "/*\n") val () = emit_text (out, "dynvalist-implementation(beg)\n") val () = emit_text (out, "*/\n") // val () = auxlst (out, pmdlst) // val () = emit_text (out, "/*\n") val () = emit_text (out, "dynvalist-implementation(end)\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [emit_the_primdeclst_valimp] end // end of [local] (* ****** ****** *) (* #define MAIN_NONE 0 #define MAIN_VOID 1 // main() #define MAIN_ARGC_ARGV 2 // main(argc, argv) #define MAIN_ARGC_ARGV_ENVP 3 // main(argc, argv, envp) *) (* ****** ****** *) // extern fun the_mainats_initize (): void extern fun the_mainats_d2copt_get (): d2cstopt // (* ****** ****** *) local val the_mainats_d2copt = ref (None) in (* in of [local] *) implement the_mainats_initize ((*void*)) = let // fun loop (fls: funlablst): void = let // in // case+ fls of // | list_nil () => () // | list_cons (fl, fls) => let val opt = funlab_get_d2copt (fl) val () = ( case+ opt of | Some (d2c) => if $D2E.d2cst_is_mainats (d2c) then !the_mainats_d2copt := opt | None () => () ) : void // end of [val] in loop (fls) end // end of [list_cons] // end // end of [loop] // in loop (the_funlablst_get2 ()) end // end of [the_mainats_initize] implement the_mainats_d2copt_get () = !the_mainats_d2copt end // end of [local] (* ****** ****** *) extern fun the_dynloadflag_get (): int implement the_dynloadflag_get () = let // val the_mainatsflag = $GLOB.the_MAINATSFLAG_get () // in // if the_mainatsflag = 0 then let val opt = the_mainats_d2copt_get () in // case+ opt of | Some _ => (~1) | None () => $GLOB.the_DYNLOADFLAG_get () // end // end of [then] else (~1) // HX: mainatsflag overrules dynloadflag // end // end of [the_dynloadflag_get] (* ****** ****** *) extern fun emit_main_arglst_err (out: FILEref, arty: int): void implement emit_main_arglst_err (out, arty) = let // val () = if arty >= 1 then emit_text (out, "argc") val () = if arty >= 2 then emit_text (out, ", argv") val () = if arty >= 3 then emit_text (out, ", envp") val () = ( if arty <= 0 then emit_text (out, "err") else emit_text (out, ", err") // end of [if] ) : void // end of [val] // in // nothing end // end of [emit_main_arglst_err] (* ****** ****** *) extern fun emit_dynload (out: FILEref, infil: filename): void implement emit_dynload (out, infil) = { val () = emit_filename (out, infil) val () = emit_text (out, "__dynload") } extern fun emit_dynloadflag (out: FILEref, infil: filename): void implement emit_dynloadflag (out, infil) = { val () = emit_filename (out, infil) val () = emit_text (out, "__dynloadflag") } (* ****** ****** *) local staload _ = "libc/SATS/fcntl.sats" staload _ = "libc/SATS/stdio.sats" staload _ = "libc/SATS/stdlib.sats" staload _ = "libc/SATS/unistd.sats" staload "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" fun the_tmpdeclst_stringize ( ) = tostring_fprint ( "postiats_tmpdeclst_" , lam (out, _) => emit_the_tmpdeclst (out), 0 ) // end of [the_tmpdeclst_stringize] fun the_primdeclst_stringize ( ) = tostring_fprint ( "postiats_primdeclst_" , lam (out, _) => emit_the_primdeclst (out), 0 ) // end of [the_funlablst_stringize] fun the_funlablst_stringize ( ) = tostring_fprint ( "postiats_funlablst_", lam (out, _) => emit_the_funlablst (out), 0 ) // end of [the_funlablst_stringize] fun aux_staload (out: FILEref): void = let // fun loop ( out: FILEref, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = emit_staload (out, x) in loop (out, xs) // end of [val] end // end of [list_cons] | list_nil () => () // end // end of [loop] // val () = emit_text (out, "/*\n") val () = emit_text (out, "staload-prologues(beg)\n") val () = emit_text (out, "*/\n") // val () = loop (out, the_staloadlst_get ()) // val () = emit_text (out, "/*\n") val () = emit_text (out, "staload-prologues(end)\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [aux_staload] fun aux_dynload_ext (out: FILEref): void = let // fun loop ( out: FILEref, xs: hideclist ) : void = let in // case+ xs of // | list_nil () => () // | list_cons (x, xs) => let val-HIDdynload (fil) = x.hidecl_node val () = ( emit_text (out, "ATSdynloadflag_init("); emit_filename (out, fil); emit_text (out, "__dynloadflag) ;\n") ) (* end of [val] *) val () = emit_text (out, "ATSextern()\n") val () = emit_text (out, "atsvoid_t0ype\n") val () = ( emit_filename (out, fil); emit_text (out, "__dynload(/*void*/) ;\n") ) (* end of [val] *) in loop (out, xs) end (* end of [list_cons] *) // end // end of [loop] // in loop (out, the_dynloadlst_get ()) end // end of [aux_dynload_ext] fun aux_dynload_ias ( out: FILEref, infil: filename ) : void = let // val opt = $GLOB.the_DYNLOADNAME_get () // in // if stropt_is_some (opt) then let // val name = stropt_unsome (opt) // val () = emit_text (out, "ATSextern()\n") val () = emit_text (out, "atsvoid_t0ype\n") // val () = ( emit_text (out, name); emit_text (out, "()\n{\n") ) // val () = emit_text (out, "ATSfunbody_beg()\n") // val () = emit_text (out, "ATSINSmove_void(tmpret_void, ") val () = ( emit_dynload (out, infil); emit_text (out, "()) ;\n") ) // val () = emit_text (out, "ATSfunbody_end()\n") // val () = emit_text (out, "ATSreturn_void(tmpret_void) ;\n") // val () = emit_text (out, "} // end-of-dynload-alias\n") // in // nothing end // end of [then] else () // end of [else] // end // end of [aux_dynload_ias] fun aux_dynload_def ( out: FILEref , infil: filename, fbody: string ) : void = let // val flag = the_dynloadflag_get () // val () = if flag = 0 then emit_text (out, "#if(0)\n") // val () = emit_text (out, "/*\n") val () = ( emit_text (out, "** for initialization(dynloading)") ) (* end of [val] *) // val () = emit_text (out, "\n*/\n") // val () = if flag <= 0 then ( emit_text (out, "ATSdynloadflag_minit("); emit_dynloadflag (out, infil); emit_text (out, ") ;\n") ) (* end of [if] *) // val () = emit_text (out, "ATSextern()\n") val () = emit_text (out, "atsvoid_t0ype\n") // val () = emit_dynload (out, infil) val () = emit_text (out, "()\n{\n") // val () = emit_text (out, "ATSfunbody_beg()\n") // val () = emit_text (out, "ATSdynload(/*void*/)\n") // val () = if flag <= 0 then emit_text (out, "ATSdynloadflag_sta(\n") val () = if flag >= 1 then emit_text (out, "ATSdynloadflag_ext(\n") // val () = emit_dynloadflag (out, infil) val () = emit_text (out, "\n) ;\n") val () = emit_text (out, "ATSif(\n") val () = emit_text (out, "ATSCKiseqz(\n") val () = emit_dynloadflag (out, infil) val () = emit_text (out, "\n)\n) ATSthen() {\n") val () = emit_text (out, "ATSdynloadset(") val () = emit_dynloadflag (out, infil) val ((*closing*)) = emit_text (out, ") ;\n") // val () = let val d2cs = the_dynconlst_get2 () val () = emit_text (out, "/*\n") val () = emit_text (out, "dynexnlst-initize(beg)\n") val () = emit_text (out, "*/\n") val () = emit_d2conlst_initize (out, d2cs) val () = emit_text (out, "/*\n") val () = emit_text (out, "dynexnlst-initize(end)\n") val () = emit_text (out, "*/\n") in // nothing end // end of [val] // val () = emit_text (out, fbody) val () = emit_text (out, "} /* ATSendif */\n") // val () = emit_text (out, "ATSfunbody_end()\n") // val () = emit_text (out, "ATSreturn_void(tmpret_void) ;\n") val () = emit_text (out, "} /* end of [*_dynload] */\n") // val () = aux_dynload_ias (out, infil) // HX: creating an alias // val () = if flag = 0 then emit_text (out, "#endif // end of [#if(0)]\n") // in // nothing end // end of [aux_dynload_def] fun aux_main ( out: FILEref , infil: filename, d2cmain: d2cst ) : void = let // val () = emit_text (out, "\n/*\n") val () = emit_text (out, "** the ATS runtime") val () = emit_text (out, "\n*/\n") val () = emit_text (out, "#ifndef _ATS_CCOMP_RUNTIME_NONE_\n") val () = emit_text (out, "#include \"pats_ccomp_runtime.c\"\n") val () = emit_text (out, "#include \"pats_ccomp_runtime_memalloc.c\"\n") val () = emit_text (out, "#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n") val () = emit_text (out, "#include \"pats_ccomp_runtime2_dats.c\"\n") val () = emit_text (out, "#ifndef _ATS_CCOMP_RUNTIME_TRYWITH_NONE_\n") val () = emit_text (out, "#include \"pats_ccomp_runtime_trywith.c\"\n") val () = emit_text (out, "#endif /* _ATS_CCOMP_RUNTIME_TRYWITH_NONE_ */\n") val () = emit_text (out, "#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n") val () = emit_text (out, "#endif /* _ATS_CCOMP_RUNTIME_NONE_ */\n") // val () = emit_text (out, "\n/*\n") val () = emit_text (out, "** the [main] implementation") val () = emit_text (out, "\n*/\n") // val () = emit_text (out, "int\n") val () = emit_text (out, "main\n") val () = emit_text (out, "(\n") val () = emit_text (out, "int argc, char **argv, char **envp") val () = emit_text (out, "\n) {\n") val () = emit_text (out, "int err = 0 ;\n") val () = { val () = emit_filename (out, infil) val () = emit_text (out, "__dynload() ;\n") } (* end of [val] *) // val arty = let val ns = $D2E.d2cst_get_artylst (d2cmain) in case+ ns of | list_cons (n, _) => n | list_nil () => 0 end : int // end of [val] // val () = emit_text (out, "ATS") val () = emit_d2cst (out, d2cmain) val () = emit_LPAREN (out) val () = emit_main_arglst_err (out, arty) val () = emit_RPAREN (out) val () = emit_text (out, " ;\n") // val () = emit_text (out, "return (err) ;\n") val () = emit_text (out, "} /* end of [main] */") val () = emit_newline (out) // in // nothing end // end of [aux_main] fun aux_main_ifopt ( out: FILEref, infil: filename ) : void = let // val opt = the_mainats_d2copt_get () // in // case+ opt of | Some (d2c) => aux_main (out, infil, d2c) | None () => () // end // end of [aux_main_ifopt] #define DYNBEG 1 #define DYNMID 10 #define DYNEND 99 fun aux_extcodelst_if ( out: FILEref, test: (int) -> bool ) : void = let // fun loop ( out: FILEref, test: (int) -> bool, xs: hideclist ) : hideclist = let in // case+ xs of | list_cons (x, xs1) => let val-HIDextcode (knd, pos, _) = x.hidecl_node in if test (pos) then let val () = emit_extcode (out, x) in loop (out, test, xs1) end else xs // end of [if] end // end of [if] | list_nil () => list_nil () // end // end of [loop] // val xs = the_extcodelst_get2 () val xs2 = loop (out, test, xs) val () = the_extcodelst_set2 (xs2) // in // nothing end // end of [aux_extcodelst_if] fun aux_exndeclst (out: FILEref): void = let // fun loop ( out: FILEref, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = emit_exndec (out, x) in loop (out, xs) end // end of [list_cons] | list_nil () => () // end // end of [loop] // val () = ( emit_text (out, "/*\n"); emit_text (out, "exnconlst-declaration(beg)\n"); emit_text (out, "*/\n"); ) (* end of [val] *) // val () = emit_text (out, "#ifndef _ATS_CCOMP_EXCEPTION_NONE_\n") val () = emit_text (out, "\ ATSextern()\n\ atsvoid_t0ype\n\ the_atsexncon_initize\n\ (\n\ atstype_exnconptr d2c, atstype_string exnmsg\n\ ) ;\n\ ") // end of [val] val () = emit_text (out, "#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]\n") // val hids = the_exndeclst_get () val ((*void*)) = loop (out, hids) // val () = ( emit_text (out, "/*\n"); emit_text (out, "exnconlst-declaration(end)\n"); emit_text (out, "*/\n"); ) (* end of [val] *) // in (* nothing *) end // end of [aux_exndeclst] (* ****** ****** *) fun aux_saspdeclst (out: FILEref): void = let // fun loop ( out: FILEref, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = emit_saspdec (out, x) in loop (out, xs) end // end of [list_cons] | list_nil () => () // end // end of [loop] // val () = emit_text (out, "/*\n") val () = emit_text (out, "assumelst-declaration(beg)\n") val () = emit_text (out, "*/\n") // val hids = the_saspdeclst_get () val ((*void*)) = loop (out, hids) // val () = emit_text (out, "/*\n") val () = emit_text (out, "assumelst-declaration(end)\n") val () = emit_text (out, "*/\n") // in (* nothing *) end // end of [aux_saspdeclst] (* ****** ****** *) fun aux_extypelst (out: FILEref): void = let // fun loop ( out: FILEref, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = emit_extype (out, x) in loop (out, xs) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // val () = emit_text (out, "/*\n") val () = emit_text (out, "extypelst-declaration(beg)\n") val () = emit_text (out, "*/\n") // val hids = the_extypelst_get () val ((*void*)) = loop (out, hids) // val () = emit_text (out, "/*\n") val () = emit_text (out, "extypelst-declaration(end)\n") val () = emit_text (out, "*/\n") // in (* nothing *) end // end of [aux_extypelst] in (* in of [local] *) implement ccomp_main ( out, flag, infil, hids ) = let // (* val () = print ("ccomp_main: infil = ") val () = $FIL.print_filename_full (infil) val () = print_newline ((*void*)) *) // val () = emit_time_stamp (out) // val () = emit_ats_ccomp_header (out) val () = emit_ats_ccomp_prelude (out) // val () = let val pmds = hideclist_ccomp0 (hids) val p_pmds = the_toplevel_getref_primdeclst () val () = $UN.ptrset (p_pmds, pmds) val tmps = primdeclst_get_tmpvarset (pmds) val tmps = tmpvarset_vt_listize_free (tmps) val tmps = list_of_list_vt (tmps) val p_tmps = the_toplevel_getref_tmpvarlst () val () = $UN.ptrset (p_tmps, tmps) in // nothing end // end of [val] // #if(0) val () = emit_the_tmpdeclst (out) val () = emit_the_primdeclst (out) val () = emit_the_funlablst (out) #endif // end of [#if(0)] // val the_tmpdeclst_rep = the_tmpdeclst_stringize () val the_primdeclst_rep = the_primdeclst_stringize () val the_funlablst_rep = the_funlablst_stringize () // val () = aux_staload (out) // val ( ) = aux_extcodelst_if (out, lam (pos) => pos = DYNBEG) // val () = emit_the_typedeflst (out) // val () = emit_the_dynconlst_extdec (out) val () = emit_the_dyncstlst_extdec (out) // val () = emit_the_primdeclst_valimp (out) // val () = aux_exndeclst (out) // val () = aux_saspdeclst (out) // val () = aux_extypelst (out) // val ( ) = aux_extcodelst_if (out, lam (pos) => pos < DYNMID) // val () = fprint_strptr (out, the_tmpdeclst_rep) val () = strptr_free (the_tmpdeclst_rep) // val ( ) = aux_extcodelst_if (out, lam (pos) => pos <= DYNMID) // val () = fprint_strptr (out, the_funlablst_rep) val () = strptr_free (the_funlablst_rep) // val ( // HX: the call must be made before ) = the_mainats_initize () // aux_dynload is called // val () = aux_dynload_ext (out) val () = aux_dynload_def (out, infil, fbody) where { val fbody = $UN.castvwtp1{string}(the_primdeclst_rep) } // end of [where] // end of [val] val () = strptr_free (the_primdeclst_rep) // val () = aux_main_ifopt (out, infil) // val () = aux_extcodelst_if (out, lam (pos) => pos <= DYNEND) // val () = emit_text (out, "\n/* ****** ****** */\n") val () = emit_text (out, "\n/* end-of-compilation-unit */\n") // (* val ((*debugging*)) = println! ("ccomp_main: leave") *) // in // nothing end // end of [ccomp_main] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_main.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexing_print.dats0000664000175000017500000002626312655455557020144 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload "./pats_lexing.sats" (* ****** ****** *) #define c2i int_of_char (* ****** ****** *) implement fprint_token (out, tok) = case+ tok.token_node of // | T_AT () => fprintf (out, "AT()", @()) | T_BACKSLASH () => fprintf (out, "BACKSLASH()", @()) | T_BANG () => fprintf (out, "BANG()", @()) | T_BAR () => fprintf (out, "BAR()", @()) | T_BQUOTE () => fprintf (out, "BQUOTE()", @()) | T_COLON () => fprintf (out, "COLON()", @()) | T_DOLLAR () => fprintf (out, "DOLLAR()", @()) | T_DOT () => fprintf (out, "DOT()", @()) | T_EQ () => fprintf (out, "EQ()", @()) | T_HASH () => fprintf (out, "HASH()", @()) | T_TILDE () => fprintf (out, "TILDE()", @()) | T_DOTINT (x) => fprintf (out, "DOTINT(%i)", @(x)) | T_DOTDOT () => fprintf (out, "DOTDOT()", @()) | T_DOTDOTDOT () => fprintf (out, "DOTDOTDOT()", @()) | T_EQGT () => fprintf (out, "EQGT()", @()) | T_EQLT () => fprintf (out, "EQLT()", @()) | T_EQLTGT () => fprintf (out, "EQLTGT()", @()) | T_EQSLASHEQGT () => fprintf (out, "EQSLASHEQGT()", @()) | T_EQGTGT () => fprintf (out, "EQGTGT()", @()) | T_EQSLASHEQGTGT () => fprintf (out, "EQSLASHEQGTGT()", @()) // | T_LT () => fprintf (out, "LT()", @()) | T_GT () => fprintf (out, "GT()", @()) | T_GTLT () => fprintf (out, "GTLT()", @()) // | T_DOTLT () => fprintf (out, "DOTLT()", @()) | T_GTDOT () => fprintf (out, "GTDOT()", @()) // | T_DOTLTGTDOT () => fprintf (out, "DOTLTGTDOT()", @()) | T_MINUSGT () => fprintf (out, "MINUSGT()", @()) | T_MINUSLT () => fprintf (out, "MINUSLT()", @()) | T_MINUSLTGT () => fprintf (out, "MINUSLTGT()", @()) | T_COLONLT () => fprintf (out, "COLONLT()", @()) // | T_ABSTYPE (x) => fprintf (out, "ABSTYPE(%i)", @(x)) | T_AND () => fprintf (out, "AND()", @()) | T_AS () => fprintf (out, "AS()", @()) | T_ASSUME () => fprintf (out, "ASSUME()", @()) | T_BEGIN () => fprintf (out, "BEGIN()", @()) | T_CASE (x) => fprintf (out, "CASE(...)", @()) | T_CLASSDEC () => fprintf (out, "CLASSDEC()", @()) | T_DATASORT () => fprintf (out, "DATASORT()", @()) | T_DATATYPE (x) => fprintf (out, "DATATYPE(%i)", @(x)) | T_DO () => fprintf (out, "DO()", @()) | T_DYNLOAD () => fprintf (out, "DYNLOAD()", @()) | T_ELSE () => fprintf (out, "ELSE()", @()) | T_END () => fprintf (out, "END()", @()) | T_EXCEPTION () => fprintf (out, "EXCEPTION()", @()) | T_EXTERN () => fprintf (out, "EXTERN()", @()) | T_EXTYPE () => fprintf (out, "EXTYPE()", @()) | T_EXTVAR () => fprintf (out, "EXTVAR()", @()) // | T_FIX (x) => fprintf (out, "FIX(%i)", @(x)) | T_FIXITY (x) => fprintf (out, "FIXITY(...)", @()) | T_FOR () => fprintf (out, "FOR()", @()) | T_FORSTAR () => fprintf (out, "FORSTAR()", @()) | T_FUN (x) => fprintf (out, "FUN(...)", @()) | T_IF () => fprintf (out, "IF()", @()) | T_IMPLEMENT (k) => fprintf (out, "IMPLEMENT(%i)", @(k)) | T_IMPORT () => fprintf (out, "IMPORT()", @()) | T_IN () => fprintf (out, "IN()", @()) | T_LAM (x) => fprintf (out, "LAM(%i)", @(x)) | T_LET () => fprintf (out, "LET()", @()) | T_LOCAL () => fprintf (out, "LOCAL()", @()) | T_MACDEF (x) => fprintf (out, "MACDEF(%i)", @(x)) | T_NONFIX () => fprintf (out, "NONFIX()", @()) | T_OVERLOAD () => fprintf (out, "OVERLOAD()", @()) | T_OF () => fprintf (out, "OF()", @()) | T_OP () => fprintf (out, "OP()", @()) | T_REC () => fprintf (out, "REC()", @()) (* | T_REFAT () => fprintf (out, "REFAT()", @()) *) | T_SIF () => fprintf (out, "SIF()", @()) | T_SCASE () => fprintf (out, "SCASE()", @()) | T_SORTDEF () => fprintf (out, "SORTDEF()", @()) | T_STACST () => fprintf (out, "STACST()", @()) | T_STADEF () => fprintf (out, "STADEF()", @()) | T_STALOAD () => fprintf (out, "STALOAD()", @()) | T_STATIC () => fprintf (out, "STATIC()", @()) (* | T_STAVAR () => fprintf (out, "STAVAR()", @()) *) | T_SYMELIM () => fprintf (out, "SYMELIM()", @()) | T_SYMINTR () => fprintf (out, "SYMINTR()", @()) | T_THEN () => fprintf (out, "THEN()", @()) | T_TKINDEF () => fprintf (out, "TKINDEF()", @()) | T_TRY () => fprintf (out, "TRY()", @()) | T_TYPE (x) => fprintf (out, "TYPE(%i)", @(x)) | T_TYPEDEF (x) => fprintf (out, "TYPEDEF(%i)", @(x)) | T_VAL (x) => fprintf (out, "VAL(...)", @()) | T_VAR (x) => fprintf (out, "VAR(%i)", @(x)) | T_WHEN () => fprintf (out, "WHEN()", @()) | T_WHERE () => fprintf (out, "WHERE()", @()) | T_WHILE () => fprintf (out, "WHILE()", @()) | T_WHILESTAR () => fprintf (out, "WHILESTAR()", @()) | T_WITH () => fprintf (out, "WITH()", @()) | T_WITHTYPE (x) => fprintf (out, "WITHTYPE(%i)", @(x)) // | T_ADDRAT () => fprintf (out, "ADDRAT()", @()) // addr@ | T_FOLDAT () => fprintf (out, "FOLDAT()", @()) // fold@ | T_FREEAT () => fprintf (out, "FREEAT()", @()) // free@ | T_VIEWAT () => fprintf (out, "VIEWAT()", @()) // view@ // | T_DLRDELAY (x) => fprintf (out, "DLRDELAY(%i)", @(x)) // | T_DLRARRPSZ () => fprintf (out, "DLRARRPSZ()", @()) // | T_DLRD2CTYPE () => fprintf (out, "DLRD2CTYPE()", @()) // | T_DLREFFMASK () => fprintf (out, "DLREFFMASK()", @()) | T_DLREFFMASK_ARG (x) => fprintf (out, "DLREFFMASK(%i)", @(x)) // | T_DLREXTERN () => fprintf (out, "DLREXTERN()", @()) | T_DLREXTKIND () => fprintf (out, "DLREXTKIND()", @()) | T_DLREXTYPE () => fprintf (out, "DLREXTYPE()", @()) | T_DLREXTYPE_STRUCT () => fprintf (out, "DLREXTYPE_STRUCT()", @()) // | T_DLREXTVAL () => fprintf (out, "DLREXTVAL()", @()) | T_DLREXTFCALL () => fprintf (out, "DLREXTFCALL()", @()) | T_DLREXTMCALL () => fprintf (out, "DLREXTMCALL()", @()) // | T_DLRLITERAL () => fprintf (out, "DLRLITERAL()", @()) // | T_DLRMYFILENAME () => fprintf (out, "DLRMYFILENAME()", @()) | T_DLRMYLOCATION () => fprintf (out, "DLRMYLOCATION()", @()) | T_DLRMYFUNCTION () => fprintf (out, "DLRMYFUNCTION()", @()) // | T_DLRLST (x) => fprintf (out, "DLRLST(%i)", @(x)) | T_DLRREC (x) => fprintf (out, "DLRREC(%i)", @(x)) | T_DLRTUP (x) => fprintf (out, "DLRTUP(%i)", @(x)) // | T_DLRBREAK () => fprintf (out, "DLRBREAK()", @()) | T_DLRCONTINUE () => fprintf (out, "DLRCONTINUE()", @()) // | T_DLRRAISE () => fprintf (out, "DLRRAISE()", @()) // | T_DLRSHOWTYPE () => fprintf (out, "DLRSHOWTYPE()", @()) // | T_DLRVCOPYENV (x) => fprintf (out, "DLRVCOPYENV(%i)", @(x)) // | T_DLRTEMPENVER () => fprintf (out, "DLRTEMPENVER()", @()) // | T_DLRSOLASSERT () => fprintf (out, "DLRSOLASSERT()", @()) | T_DLRSOLVERIFY () => fprintf (out, "DLRSOLVERIFY()", @()) // | T_SRPIF () => fprintf (out, "SRPIF()", @()) | T_SRPIFDEF () => fprintf (out, "SRPIFDEF()", @()) | T_SRPIFNDEF () => fprintf (out, "SRPIFNDEF()", @()) | T_SRPTHEN () => fprintf (out, "SRPTHEN()", @()) | T_SRPELSE () => fprintf (out, "SRPELSE()", @()) | T_SRPELIF () => fprintf (out, "SRPELIF()", @()) | T_SRPELIFDEF () => fprintf (out, "SRPELIFDEF()", @()) | T_SRPELIFNDEF () => fprintf (out, "SRPELIFNDEF()", @()) | T_SRPENDIF () => fprintf (out, "SRPENDIF()", @()) // | T_SRPERROR () => fprintf (out, "SRPERROR()", @()) | T_SRPPRERR () => fprintf (out, "SRPPRERR()", @()) | T_SRPPRINT () => fprintf (out, "SRPPRINT()", @()) // | T_SRPASSERT () => fprintf (out, "SRPASSERT()", @()) // | T_SRPUNDEF () => fprintf (out, "SRPUNDEF()", @()) | T_SRPDEFINE () => fprintf (out, "SRPDEFINE()", @()) // | T_SRPINCLUDE () => fprintf (out, "SRPINCLUDE()", @()) | T_SRPREQUIRE () => fprintf (out, "SRPREQUIRE()", @()) // | T_SRPPRAGMA () => fprintf (out, "SRPPRAGMA()", @()) | T_SRPCODEGEN2 () => fprintf (out, "SRPCODEGEN2()", @()) | T_SRPCODEGEN3 () => fprintf (out, "SRPCODEGEN3()", @()) // | T_IDENT_alp (x) => fprintf (out, "IDENT_alp(%s)", @(x)) | T_IDENT_sym (x) => fprintf (out, "IDENT_sym(%s)", @(x)) | T_IDENT_arr (x) => fprintf (out, "IDENT_arr(%s)", @(x)) | T_IDENT_tmp (x) => fprintf (out, "IDENT_tmp(%s)", @(x)) | T_IDENT_dlr (x) => fprintf (out, "IDENT_dlr(%s)", @(x)) | T_IDENT_srp (x) => fprintf (out, "IDENT_srp(%s)", @(x)) | T_IDENT_ext (x) => fprintf (out, "IDENT_ext(%s)", @(x)) // | T_INT (base, rep, sfx) => fprintf (out, "INT(%i; %s)", @(base, rep)) | T_CHAR (x) => fprintf (out, "CHAR(%c)", @(x)) | T_FLOAT (base, rep, sfx) => fprintf (out, "FLOAT(%i; %s)", @(base, rep)) // | T_CDATA _ => fprintf (out, "CDATA(...)", @()) | T_STRING (x) => fprintf (out, "STRING(%s)", @(x)) // (* | T_LABEL (knd, x) => fprintf (out, "LABEL(%i; %s)", @(knd, x)) *) // | T_COMMA () => fprintf (out, "COMMA()", @()) | T_SEMICOLON () => fprintf (out, "SEMICOLON()", @()) // | T_LPAREN () => fprintf (out, "LPAREN()", @()) | T_RPAREN () => fprintf (out, "RPAREN()", @()) | T_LBRACKET () => fprintf (out, "LBRACKET()", @()) | T_RBRACKET () => fprintf (out, "RBRACKET()", @()) | T_LBRACE () => fprintf (out, "LBRACE()", @()) | T_RBRACE () => fprintf (out, "RBRACE()", @()) // | T_ATLPAREN () => fprintf (out, "ATLPAREN()", @()) | T_QUOTELPAREN () => fprintf (out, "QUOTELPAREN()", @()) | T_ATLBRACKET () => fprintf (out, "ATLBRACKET()", @()) | T_QUOTELBRACKET () => fprintf (out, "QUOTELBRACKET()", @()) | T_HASHLBRACKET () => fprintf (out, "HASHLBRACKET()", @()) | T_ATLBRACE () => fprintf (out, "ATLBRACE()", @()) | T_QUOTELBRACE () => fprintf (out, "QUOTELBRACE()", @()) // | T_BQUOTELPAREN () => fprintf (out, "BQUOTELPAREN()", @()) | T_COMMALPAREN () => fprintf (out, "COMMALPAREN()", @()) | T_PERCENTLPAREN () => fprintf (out, "PERCENTLPAREN()", @()) // | T_EXTCODE (knd, x) => fprintf (out, "EXTCODE(%i, %s)", @(knd, x)) // | T_COMMENT_line () => fprintf (out, "COMMENT_line()", @()) | T_COMMENT_block () => fprintf (out, "COMMENT_block()", @()) | T_COMMENT_rest () => fprintf (out, "COMMENT_rest()", @()) // | T_ERR () => fprintf (out, "ERR()", @()) | T_EOF () => fprintf (out, "EOF()", @()) // | T_NONE () => fprintf (out, "NONE()", @()) (* | _ => fprintf (out, "TOKEN()", @()) *) // (* end of [fprint_token] *) implement print_token (tok) = fprint_token (stdout_ref, tok) (* ****** ****** *) (* end of [pats_lexing_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_comarg.dats0000664000175000017500000001476412655455557016715 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/string.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload GLOB = "./pats_global.sats" staload LOC = "./pats_location.sats" staload FIL = "./pats_filename.sats" staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload PAR = "./pats_parsing.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload TRANS1 = "./pats_trans1.sats" staload TRENV1 = "./pats_trans1_env.sats" (* ****** ****** *) staload "./pats_comarg.sats" (* ****** ****** *) %{^ // extern char* patsopt_ATSPKGRELOCROOT_get () ; // %} // end of [%{^] (* ****** ****** *) implement comarg_parse (str) = let // fun loop {n,i:nat | i <= n} .. ( str: string n, n: int n, i: int i ) :<> comarg = ( if i < n then ( if (str[i] <> '-') then COMARGkey (i, str) else loop (str, n, i+1) ) else COMARGkey (n, str) ) (* end of [if] *) // end of [loop] // val str = string1_of_string str // val len = string_length (str) val len = int1_of_size1 (len) // in loop (str, len, 0) end // end of [comarg_parse] (* ****** ****** *) implement comarglst_parse {n}(argc, argv) = let // vtypedef arglst(n:int) = list_vt(comarg, n) // fun loop {i:nat | i <= n}{l:addr} .. ( pf0: arglst(0) @ l | argv: &(@[string][n]), i: int i, p: ptr l ) : (arglst (n-i) @ l | void) = ( // if i < argc then let val+~list_vt_nil () = !p val x = comarg_parse (argv.[i]) val () = !p := list_vt_cons (x, list_vt_nil ()) val+list_vt_cons (_, !lst) = !p val (pf | ()) = loop (view@ (!lst) | argv, i+1, lst) // tail-call // end of [val] in fold@(!p); (pf0 | ()) end // end of [then] else (pf0 | ()) // end of [else] // ) (* end of [loop] *) // var lst0 = list_vt_nil{comarg}() val (pf | ()) = loop (view@ lst0 | argv, 0, &lst0) prval ((*void*)) = view@ lst0 := pf // in lst0 end // end of [comarglst_parse] (* ****** ****** *) implement comarg_warning (str) = { // val () = prerr ("warning(ATS)") val () = prerr (": unrecognized command line argument [") val () = prerr (str) val () = prerr ("] is ignored.") val () = prerr_newline ((*void*)) // } (* end of [comarg_warning] *) (* ****** ****** *) implement is_DATS_flag (flag) = if strncmp (flag, "-DATS", 5) = 0 then true else false // end of [is_DATS_flag] implement is_IATS_flag (flag) = if strncmp (flag, "-IATS", 5) = 0 then true else false // end of [is_IATS_flag] (* ****** ****** *) local fun string_extract ( s: string, k: size_t ) : Stropt = let val s = string1_of_string (s) val n = string1_length (s) val k = size1_of_size (k) in if n > k then let val sub = string_make_substring (s, k, n-k) val sub = string_of_strbuf (sub) in stropt_some (sub) end else stropt_none (*void*) // end of [if] end // [string_extract] in (* in-of-local *) // implement DATS_extract (str: string) = string_extract (str, 5) implement IATS_extract (str: string) = string_extract (str, 5) // end // end of [local] (* ****** ****** *) implement process_DATS_def (def) = let // val def = string1_of_string(def) // (* val () = println! ("process_DATS_def: def = ", def) *) // val opt = $PAR.parse_from_string_parser(def, $PAR.p_datsdef) // in // case+ opt of | ~Some_vt(def) => let val+$SYN.DATSDEF(key, opt) = def val e1xp = ( case+ opt of | Some v => $TRANS1.e0xp_tr (v) | None _ => e1xp_none ($LOC.location_dummy) ) : e1xp // end of [val] in $TRENV1.the_e1xpenv_addperv (key, e1xp) end // end of [Some_vt] | ~None_vt((*void*)) => let val () = prerr ("patsopt: error(0)") val () = prerrln! ( ": the command-line argument [", def, "] cannot be properly parsed." ) (* end of [prerrln!] *) in $ERR.abort ((*reachable*)) end // end of [None_vt] // end // end of [process_DATS_def] (* ****** ****** *) // // HX: [ppush] means permanent push // implement process_IATS_dir (dir) = let // val () = $FIL.the_pathlst_ppush (dir) val () = $GLOB.the_IATS_dirlst_ppush (dir) // in // nothing end (* end of [process_IATS_dir] *) (* ****** ****** *) local extern fun getenv (name: string): Stropt = "getenv" in (* in-of-local *) implement process_ATSPKGRELOCROOT ((*void*)) = let // val opt = get() where { // extern fun get ( // argless ) : Stropt = "mac#patsopt_ATSPKGRELOCROOT_get" // end of [extern] // } (* where *) // end of [val] val issome = stropt_is_some (opt) // val def = ( // if issome then stropt_unsome (opt) else let // val user = getenv ("USER") val issome = stropt_is_some (user) val user = ( // if issome then stropt_unsome(user) else "$USER" // ) : string // end of [val] val ATSPKGRELOCROOT = sprintf("/tmp/.ATSPKGRELOCROOT-%s", @(user)) // end of [val] // in string_of_strptr(ATSPKGRELOCROOT) end // end of [else] // ) : string // end of [val] // (* val () = println! ( "process_ATSPKGRELOCROOT: def = ", def ) (* end of [val] *) *) // val key = $SYM.symbol_ATSPKGRELOCROOT val e1xp = e1xp_string ($LOC.location_dummy, def) // in $TRENV1.the_e1xpenv_addperv (key, e1xp) end // end of [process_ATSPKGRELOCROOT] end // end of [local] (* ****** ****** *) (* end of [pats_comarg.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_impdec.dats0000664000175000017500000005725012655455557020174 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: June, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans2_impdec" (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" macdef prerr_dqid (dq, id) = ($SYN.prerr_d0ynq ,(dq); $SYM.prerr_symbol ,(id)) // end of [prerr_dqid] (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #define :: list_cons #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) fun i1mpdec_select_d2cst ( d1c0: d1ecl, impdec: i1mpdec ) : Option_vt (d2cst) = let // fn auxerr1 ( d1c: i1mpdec ) : void = let val qid = d1c.i1mpdec_qid val dq = qid.impqi0de_qua and id = qid.impqi0de_sym val () = prerr_error2_loc (d1c.i1mpdec_loc) val () = prerr ": there is no suitable dynamic constant declared for [" val () = prerr_dqid (dq, id) val () = prerr "]." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr1] fn auxerr2 ( d1c: i1mpdec ) : void = let val qid = d1c.i1mpdec_qid val dq = qid.impqi0de_qua and id = qid.impqi0de_sym val () = prerr_error2_loc (d1c.i1mpdec_loc) val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerr "] does not refer to a declared dynamic constant." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr2] fn auxerr3 ( d1c: i1mpdec ) : void = let val qid = d1c.i1mpdec_qid val dq = qid.impqi0de_qua and id = qid.impqi0de_sym val () = prerr_error2_loc (d1c.i1mpdec_loc) val () = prerr ": the identifier [" val () = prerr_dqid (dq, id) val () = prerr "] is unrecognized." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr3] // val qid = impdec.i1mpdec_qid val dq = qid.impqi0de_qua and id = qid.impqi0de_sym val def = impdec.i1mpdec_def // fun aux1 ( d2pis: d2pitmlst ) : List_vt (d2cst) = case+ d2pis of | list_cons (d2pi, d2pis) => let val D2PITM (_(*pval*), d2i) = d2pi in case+ d2i of | D2ITMcst (d2c) => let val d2cs = aux1 (d2pis) val ismat = d2cst_match_def (d2c, def) in if ismat then list_vt_cons (d2c, d2cs) else d2cs end (* end of [D2ITMcst] *) | _ => aux1 (d2pis) end // end of [list_cons] | list_nil () => list_vt_nil () (* end of [aux1] *) // fun aux2 ( d2cs: List_vt (d2cst) ) : Option_vt (d2cst) = case+ d2cs of | ~list_vt_cons (d2c, d2cs) => let val () = list_vt_free (d2cs) in Some_vt (d2c) end (* end of [list_vt_cons] *) | ~list_vt_nil () => let val () = auxerr1 (impdec) in None_vt () // HX: error is reported end (* end of [list_vt_nil] *) (* end of [aux2] *) // val ans = the_d2expenv_find_qua (dq, id) // in // case+ ans of | ~Some_vt (d2i) => ( case+ d2i of | D2ITMcst (d2c) => Some_vt (d2c) | D2ITMsymdef (sym, d2pis) => let val d2cs = aux1 (d2pis) in aux2 (d2cs) end // end of [D2ITMsymdef] | _ => let val () = auxerr2 (impdec) in None_vt () // HX: error is reported end (* end of [_] *) ) // end of [Some_vt] | ~None_vt () => let val () = auxerr3 (impdec) in None_vt () // HX: error is reported end (* end of [None_vt] *) // end // end of [i1mpdec_select_d2cst] (* ****** ****** *) fun d1exp_tr_ann ( d1e0: d1exp, s2e0: s2exp ) : d2exp = let // val loc0 = d1e0.d1exp_loc val s2f0 = s2exp2hnf (s2e0) val s2e0 = s2hnf2exp (s2f0) // (* val () = ( print "d1exp_tr_ann: d1e0 = "; print_d1exp (d1e0); print_newline (); print "d1exp_tr_ann: s2f0 = "; print_s2exp (s2e0); print_newline (); ) // end of [val] *) // fn auxerr ( d1e0: d1exp, s2e0: s2exp, locarg: location, serr: int ) : void = let val () = prerr_error2_loc (locarg) val () = prerr ": static arity mismatch" val () = if serr < 0 then prerr ": more arguments are expected." val () = if serr > 0 then prerr ": fewer arguments are expected." val () = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr_ann (d1e0, s2e0)) end // end of [auxerr] // in // case+ s2e0.s2exp_node of | S2Euni (s2vs, s2ps, s2e) => ( case+ d1e0.d1exp_node of | D1Elam_sta_ana (locarg, arg, body) => let // var serr: int = 0 val (sub, s2vs) = s1vararg_bind_svarlst (arg, s2vs, serr) val s2vs = list_of_list_vt (s2vs) val () = if serr != 0 then auxerr (d1e0, s2e0, locarg, serr) // val (pf_s2expenv | ()) = the_s2expenv_push_nil () val () = the_s2expenv_add_svarlst (s2vs) val s2ps = s2explst_subst (sub, s2ps) and s2e = s2exp_subst (sub, s2e) val () = stasub_free (sub) val body = d1exp_tr_ann (body, s2e) val () = the_s2expenv_pop_free (pf_s2expenv | (*none*)) in d2exp_lam_sta (loc0, s2vs, s2ps, body) end // end of [D1Elam_sta_ana] | _ => let val d2e0 = d1exp_tr_ann (d1e0, s2e) in d2exp_lam_sta (loc0, s2vs, s2ps, d2e0) end // end of [_] ) // end of [S2Euni] | S2Efun ( fc, lin1, s2fe, npf1, s2es_arg, s2e_res ) => ( case+ d1e0.d1exp_node of | D1Elam_dyn ( lin2, p1t_arg, d1e_body ) => let val @(p2ts_arg, d2e_body) = d1exp_tr_arg_body_ann ( d1e0, fc, lin1, s2fe, npf1, s2es_arg, s2e_res, lin2, p1t_arg, d1e_body ) // end of [val] in d2exp_lam_dyn (loc0, lin1, npf1, p2ts_arg, d2e_body) end // end of [D2Elam_dyn] | D1Elaminit_dyn ( lin2, p1t_arg, d1e_body ) => let val @(p2ts_arg, d2e_body) = d1exp_tr_arg_body_ann ( d1e0, fc, lin1, s2fe, npf1, s2es_arg, s2e_res, lin2, p1t_arg, d1e_body ) // end of [val] in d2exp_laminit_dyn (loc0, lin1, npf1, p2ts_arg, d2e_body) end // end of [D2Elam_dyn] | _ => let val d2e0 = d1exp_tr (d1e0) in d2exp_ann_type (loc0, d2e0, s2e0) end (* end of [_] *) ) // end of [S2Efun] | _ => let val d2e0 = d1exp_tr d1e0 in d2exp_ann_type (loc0, d2e0, s2e0) end (* end of [_] *) // end // end of [d1exp_tr_ann] and d1exp_tr_arg_body_ann ( d1e0: d1exp , fc: funclo, lin1: int , s2fe: s2eff, npf1: int , s2es_arg: s2explst, s2e_res: s2exp , lin2: int , p1t_arg: p1at, d1e_body: d1exp ) : @(p2atlst, d2exp) = let (* val () = ( println! ("d1exp_tr_arg_body_ann: p1t_arg = ", p1t_arg); println! ("d1exp_tr_arg_body_ann: s2es_arg = ", s2es_arg); println! ("d1exp_tr_arg_body_ann: d1e_body = ", d1e_body); ) // end of [val] *) val () = let fun auxck .<>. ( d1e0: d1exp, fc: funclo ) : void = case+ fc of | FUNCLOclo (knd) when knd = 0 => let val () = prerr_error2_loc (d1e0.d1exp_loc) val () = filprerr_ifdebug "d1exp_tr_arg_body_ann" val () = prerr ": the function cannot be given an unboxed closure type."; val ((*void*)) = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end // end of [FUNCLOclo] | _ => () // end of [auxck] in auxck (d1e0, fc) end (* end of [val] *) // val () = let fun auxck .<>. ( d1e0: d1exp, lin1: int, lin2: int ) : void = if lin1 != lin2 then let val loc0 = d1e0.d1exp_loc val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "d1exp_tr_arg_body_ann" val () = if lin1 < lin2 then prerr ": linear function is given a nonlinear type." val () = if lin1 > lin2 then prerr ": nonlinear function is given a linear type." val ((*void*)) = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end // end of [if] in auxck (d1e0, lin1, lin2) end (* end of [val] *) // var wths1es = WTHS1EXPLSTnil () val p2t_arg = p1at_tr_arg (p1t_arg, wths1es) // val () = let fun auxck .<>. ( // check for refval types d1e0: d1exp, p1t_arg: p1at, wths1es: wths1explst ) : void = let val isnone = wths1explst_is_none (wths1es) in if ~isnone then let val loc = p1t_arg.p1at_loc val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "d1exp_tr_arg_body_ann" val () = prerr ": the function argument cannot be ascribed refval types." val ((*void*)) = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end (* end of [if] *) end // end of [auxck] in auxck (d1e0, p1t_arg, wths1es) end (* end of [val] *) // var npf2: int = ~1 val p2ts_arg = ( case+ p2t_arg.p2at_node of | P2Tlist (npf, p2ts) => (npf2 := npf; p2ts) | _ => list_sing (p2t_arg) ) : p2atlst // end of [val] // val () = let fun auxck .<>. ( d1e0: d1exp, npf1: int, npf2: int ) : void = if npf1 != npf2 then let // check for pfarity match val () = prerr_error2_loc (d1e0.d1exp_loc) val () = filprerr_ifdebug "d1exp_tr_arg_body_ann" val () = prerr ": proof arity mismatch" val () = prerrf (": the expected number of proof arguments is [%i]", @(npf1)) val () = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end // end of [if] // end of [auxck] in auxck (d1e0, npf1, npf2) end (* end of [val] *) // val p2ts_arg = let // fn auxerr ( d1e0: d1exp, serr: int ) : void = let val loc0 = d1e0.d1exp_loc val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "d1exp_tr_arg_body_ann" val () = prerr ": arity mismatch" val () = if serr < 0 then prerr ": more arguments are expected." val () = if serr > 0 then prerr ": fewer arguments are expected." val ((*void*)) = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end // end of [auxerr] // fun aux ( p2ts: p2atlst, s2es: s2explst, err: &int ) : p2atlst = case+ (p2ts, s2es) of | (p2t :: p2ts, s2e :: s2es) => let val s2f = s2exp_hnfize (s2e) val p2t = p2at_ann (p2t.p2at_loc, p2t, s2f) val p2ts = aux (p2ts, s2es, err) in list_cons (p2t, p2ts) end | (list_nil (), list_nil ()) => list_nil () | (list_cons _, list_nil ()) => let val () = err := err + 1 in list_nil () end | (list_nil (), list_cons _) => let val () = err := err - 1 in list_nil () end // end of [nil, cons] (* end of [aux] *) // var serr: int = 0 val p2ts_arg = aux (p2ts_arg, s2es_arg, serr) val () = if serr != 0 then auxerr (d1e0, serr) in p2ts_arg end // end of [val] // val (pfenv | ()) = the_trans2_env_push () val () = let val s2vs = $UT.lstord2list (p2t_arg.p2at_svs) in the_s2expenv_add_svarlst s2vs end // end of [val] val () = let val d2vs = $UT.lstord2list (p2t_arg.p2at_dvs) in the_d2expenv_add_dvarlst d2vs end // end of [val] // val (pflev | ()) = the_d2varlev_inc () // val () = let var err: int = 0 val () = (case+ d1e_body.d1exp_node of | D1Eann_effc _ => (err := err + 1) | D1Eann_funclo _ => (err := err + 1) | _ => () ) : void // end of [val] fun auxck .<>. (d1e0: d1exp, err: int): void = if err > 0 then let val () = prerr_error2_loc (d1e0.d1exp_loc) val () = prerr ": the [funclo/effect] annonation is redundant." val () = prerr_newline () in the_trans2errlst_add (T2E_d1exp_tr (d1e0)) end // end of [if] // end of [auxck] in auxck (d1e0, err) end (* end of [val] *) // val d2e_body = d1exp_tr_ann (d1e_body, s2e_res) // val () = the_d2varlev_dec (pflev | (*none*)) val () = the_trans2_env_pop (pfenv | (*none*)) // val loc_body = d2e_body.d2exp_loc val d2e_body = d2exp_ann_seff (loc_body, d2e_body, s2fe) val d2e_body = d2exp_ann_funclo (loc_body, d2e_body, fc) // in @(p2ts_arg, d2e_body) end // end of [d2exp_tr_arg_body_ann] (* ****** ****** *) fun stasub_add_tmparg ( sub: &stasub, s2qs: s2qualst, s2fss: s2explstlst ) : void = let in // case+ s2qs of | list_cons (s2q, s2qs) => ( case+ s2fss of | list_cons (s2fs, s2fss) => let val _(*err*) = stasub_addlst (sub, s2q.s2qua_svs, s2fs) in stasub_add_tmparg (sub, s2qs, s2fss) end // end of [list_cons] | list_nil () => () ) | list_nil () => () // end // end of [stasub_add_tmparg] (* ****** ****** *) // extern fun i1mpdec_tr_main ( d1c0: d1ecl , d2c: d2cst, imparg: i1mparg, impdec: i1mpdec ) : i2mpdec // end of [i1mpdec_tr_main] // implement i1mpdec_tr_main ( d1c0, d2c, imparg, impdec ) = let // fun aux_imparg_sarglst ( d1c0: d1ecl, s1as: s1arglst ) : s2varlst = s2vs where { val s2vs = s1arglst_trup (s1as) val () = the_s2expenv_add_svarlst (s2vs) } (* end of [aux_imparg_sarglst] *) // fun aux_imparg_svararg ( d1c0: d1ecl , s1v: s1vararg, s2qs: s2qualst, out: &s2varlstlst ) : s2qualst = let // fun auxerr1 .<>. (): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main" val () = prerr ": the implementation is overly applied." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr1] fun auxerr2 .<>. ( loc: location, serr: int ) : void = let val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "i1mpdec_tr_main" val () = prerr ": the implementation argument group is expected to contain " val () = prerr_string (if serr > 0 then "fewer" else "more") val () = prerr " components." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr2] // fun auxseq ( s1as: s1arglst, s2vs: s2varlst, serr: &int ) : s2varlst = ( case+ (s1as, s2vs) of | (s1a :: s1as, s2v :: s2vs) => let val s2t0 = s2var_get_srt (s2v) val s2v = s1arg_trdn (s1a, s2t0) val s2vs = auxseq (s1as, s2vs, serr) in list_cons (s2v, s2vs) end | (list_nil (), list_nil ()) => list_nil () | (list_cons _, list_nil ()) => let val () = serr := serr + 1 in list_nil () end | (list_nil (), list_cons _) => let val () = serr := serr - 1 in list_nil () end ) (* end of [auxseq] *) // in case+ s1v of | S1VARARGone (loc) => ( case+ s2qs of | list_cons (s2q, s2qs) => let val s2vs = list_map_fun (s2q.s2qua_svs, s2var_dup) val s2vs = (l2l)s2vs val () = the_s2expenv_add_svarlst (s2vs) val () = out := list_cons (s2vs, out) in s2qs end // end of [list_cons] | list_nil () => let val () = auxerr1 () in list_nil () end // end of [list_nil] ) (* end of [S1VARARGone] *) | S1VARARGall (loc) => ( case+ s2qs of | list_cons (s2q, s2qs) => let val s2vs = list_map_fun (s2q.s2qua_svs, s2var_dup) val s2vs = (l2l)s2vs val () = the_s2expenv_add_svarlst (s2vs) val () = out := list_cons (s2vs, out) in aux_imparg_svararg (d1c0, s1v, s2qs, out) end | list_nil () => list_nil () ) (* end of [S1VARARGall] *) | S1VARARGseq (loc, s1as) => ( case+ s2qs of | list_cons (s2q, s2qs) => let var serr: int = 0 val s2vs = auxseq (s1as, s2q.s2qua_svs, serr) val () = the_s2expenv_add_svarlst (s2vs) val () = if serr != 0 then auxerr2 (loc, serr) val () = out := list_cons (s2vs, out) in s2qs end // end of [list_cons] | list_nil () => let val () = auxerr1 () in list_nil () end // end of [list_nil] ) (* end of [S1VARARGseq] *) end // end of [aux_imparg_svararg] // fun aux_imparg_svararglst ( d1c0: d1ecl , s2qs: s2qualst, s1vs: s1vararglst, out: &s2varlstlst ) : void = let fn auxerr (): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main" val () = prerr ": the implementation is expected to be fully applied." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr] in case+ s1vs of | s1v :: s1vs => let val s2qs = aux_imparg_svararg (d1c0, s1v, s2qs, out) // end of [val] in aux_imparg_svararglst (d1c0, s2qs, s1vs, out) end // end of [::] | list_nil () => ( // // HX: make sure the implementation is fully applied // case+ s2qs of | list_cons _ => let val () = auxerr () in () end // end of [list_cons] | list_nil () => () ) (* end of [list_nil] *) end // end of [aux_imparg_svararglst] // fun aux_imparg ( d1c0: d1ecl , s2qs: s2qualst, imparg: i1mparg ) : ( s2varlst, Option_vt (s2varlstlst) ) = let in // case+ imparg of | I1MPARG_sarglst (s1as) => let val s2vs = aux_imparg_sarglst (d1c0, s1as) in (s2vs, None_vt ()) end // end of [I1MPARG_sarglst] | I1MPARG_svararglst (s1vs) => let var out: s2varlstlst = list_nil () val () = aux_imparg_svararglst (d1c0, s2qs, s1vs, out) val out = l2l (list_reverse (out)) val s2vs = l2l (list_concat (out)) in (s2vs, Some_vt (out)) end // end of [I1MPARG_svararglst] // end // end of [aux_imparg] // fun aux_tmparg_s1explst ( d1c0: d1ecl , s2vs: s2varlst, s1es: s1explst, serr: &int ) : s2explst = let (* val () = ( print "aux_tmparg_s1explst: s2vs = "; print_s2varlst (s2vs); print_newline () ) // end of [val] *) in case+ (s2vs, s1es) of | (s2v :: s2vs, s1e :: s1es) => let val s2t = s2var_get_srt (s2v) val s2e = s1exp_trdn (s1e, s2t) val s2es = aux_tmparg_s1explst (d1c0, s2vs, s1es, serr) in list_cons (s2e, s2es) end // end of [::, ::] | (list_nil (), list_nil ()) => list_nil () | (list_cons _, list_nil ()) => let val () = serr := serr + 1 in list_nil () end | (list_nil (), list_cons _) => let val () = serr := serr - 1 in list_nil () end end // end of [aux_tmparg_s1explst] // fun aux_tmparg_marglst ( d1c0: d1ecl, s2qs: s2qualst, xs: t1mpmarglst ) : s2explstlst = let // fn auxerr1 ( x: t1mpmarg, serr: int ) : void = let val () = prerr_error2_loc (x.t1mpmarg_loc) val () = filprerr_ifdebug "i1mpdec_tr_main: aux_tmparg_marglst" val () = prerr ": the template argument group is expected to be contain " val () = if serr > 0 then prerr_string "more components." val () = if serr < 0 then prerr_string "fewer components." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr1] // fn auxerr2 (): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main: aux_tmparg_marglst" val () = prerr ": the template is expected to be fully applied but it is not." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr2] // fn auxerr3 (): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main: aux_tmparg_marglst" val () = prerr ": the template is overly applied." val () = prerr_newline () in the_trans2errlst_add (T2E_d1ecl_tr_impdec (d1c0)) end // end of [auxerr3] in case+ (s2qs, xs) of | (s2q :: s2qs, x :: xs) => let var serr: int = 0 val s2es = aux_tmparg_s1explst (d1c0, s2q.s2qua_svs, x.t1mpmarg_arg, serr) val () = if serr != 0 then auxerr1 (x, serr) val s2ess = aux_tmparg_marglst (d1c0, s2qs, xs) in list_cons (s2es, s2ess) end | (list_nil (), list_nil ()) => list_nil () | (list_cons _, list_nil ()) => let val () = auxerr2 () in list_nil () end | (list_nil (), list_cons _) => let val () = auxerr3 () in list_nil () end end // end of [aux_tmparg_s1explstlst] // fun aux_tmparg ( d1c0: d1ecl , s2qs: s2qualst, tmparg: t1mpmarglst ) : s2explstlst = let in aux_tmparg_marglst (d1c0, s2qs, tmparg) end // end of [aux_tmparg] // fun auxerr_tmparg (d1c0: d1ecl): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main" val () = prerr ": the redundantly provided template arguments are ignored." val () = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_d1ecl_tr_impdec_tmparg (d1c0)) end // end of [auxerr_tmparg] // fun auxerr_nontop (d1c0: d1ecl): void = let val () = prerr_error2_loc (d1c0.d1ecl_loc) val () = filprerr_ifdebug "i1mpdec_tr_main" val () = prerr ": the implementation should be at the top-level but it is not." val () = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_d1ecl_tr_impdec_nontop (d1c0)) end // end of [auxerr_nontop] // val s2qs = d2cst_get_decarg (d2c) val isdecarg = list_is_cons (s2qs) val tmparg = impdec.i1mpdec_tmparg var tmpargerr: int = 0 // HX: redundancy val (pfenv | ()) = the_s2expenv_push_nil () val () = if isdecarg then the_tmplev_inc () val (imparg, opt) = aux_imparg (d1c0, s2qs, imparg) val sfess = ( case+ opt of | ~Some_vt (s2vss) => let fn f ( s2vs: s2varlst ) : s2explst = l2l (list_map_fun (s2vs, s2exp_var)) // end of [f] val () = ( case+ tmparg of | list_cons _ => tmpargerr := 1 | _ => () ) : void // end of [val] in l2l (list_map_fun (s2vss, f)) end // end of [Some] | ~None_vt ((*void*)) => aux_tmparg (d1c0, s2qs, tmparg) ) : s2explstlst // end of [val] // val () = if tmpargerr > 0 then auxerr_tmparg (d1c0) // val tmparg = sfess val tmpgua = list_nil () // HX: temp guards not supported // val () = ( case+ sfess of | list_nil () => if the_d2varlev_get () > 0 then auxerr_nontop (d1c0) | list_cons _ => () ) (* end of [val] *) // val d2e = let var sub = stasub_make_nil () val () = stasub_add_tmparg (sub, s2qs, tmparg) val s2e = d2cst_get_type (d2c) val s2e = s2exp_subst (sub, s2e) // proper instantiation val ((*freed*)) = stasub_free (sub) in d1exp_tr_ann (impdec.i1mpdec_def, s2e) end // end of [val] // val () = if isdecarg then the_tmplev_dec () val () = the_s2expenv_pop_free (pfenv | (*none*)) // val () = d2cst_set_def (d2c, Some d2e) // val loc = impdec.i1mpdec_loc val qid = impdec.i1mpdec_qid val locid = qid.impqi0de_loc // in // i2mpdec_make (loc, locid, d2c, imparg, tmparg, tmpgua, d2e) // end // end of [i1mpdec_tr_main] // (* ****** ****** *) implement i1mpdec_tr (d1c0) = let val-D1Cimpdec (knd, imparg, impdec) = d1c0.d1ecl_node val d2copt = i1mpdec_select_d2cst (d1c0, impdec) in case+ d2copt of | ~Some_vt (d2c) => let val impdec = i1mpdec_tr_main (d1c0, d2c, imparg, impdec) in Some_vt (impdec) end // end of [Some_vt] | ~None_vt ((*void*)) => None_vt () end // end of [i1mpdec_tr] (* ****** ****** *) (* end of [pats_trans2_impdec.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_template.dats0000664000175000017500000005572312655455557020441 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: November, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) datavtype impenv = | IMPENVcons of (s2var, s2hnf, impenv) | IMPENVnil of () // end of [impenv] extern fun fprint_impenv : fprint_vtype (impenv) extern fun impenv_find (env: !impenv, s2v: s2var): s2hnf extern fun impenv_update (env: !impenv, s2v: s2var, s2f: s2hnf): bool(*updated*) // end of [impenv_update] (* ****** ****** *) implement fprint_impenv (out, env) = let // fun loop ( out: FILEref, env: !impenv, i: int ) : void = let in // case+ env of | IMPENVcons ( s2v, s2f, !p_env ) => let val () = if i > 0 then fprint_string (out, "; ") // end of [if] val () = fprint_s2var (out, s2v) val () = fprint_string (out, " -> ") val () = fprint_s2hnf (out, s2f) val () = loop (out, !p_env, i+1) prval () = fold@ (env) in // nothing end // end of [IMPENVcons] | IMPENVnil () => let prval () = fold@ (env) in (*nothing*) end // end of [IMPENVnil] // end // end of [loop] // in loop (out, env, 0) end // end of [fprint_impenv] (* ****** ****** *) implement impenv_find (env, s2v) = let in // case+ env of | IMPENVcons ( s2v1, s2f, !p_env ) => ( if s2v = s2v1 then let prval () = fold@ (env) in s2f end else let val s2f = impenv_find (!p_env, s2v) // end of [val] prval () = fold@ (env) in s2f end // end of [if] ) // end of [IMPENVcons] | IMPENVnil () => let prval () = fold@ (env) val s2t = s2var_get_srt (s2v) val s2e = s2exp_err (s2t) in s2exp2hnf_cast (s2e) end // end of [IMPENVnil] // end // end of [impenv_find] (* ****** ****** *) implement impenv_update (env, s2v, s2f) = let (* val () = println! ("impenv_update: s2v = ", s2v) val () = println! ("impenv_update: s2f = ", s2f) *) in // case+ env of | IMPENVcons ( s2v1, !p_s2f, !p_env ) => ( if s2v = s2v1 then let val () = !p_s2f := s2f prval () = fold@ (env) in true end else let val ans = impenv_update (!p_env, s2v, s2f) // end of [val] prval () = fold@ (env) in ans end // end of [if] ) // end of [IMPENVcons] | IMPENVnil () => let prval () = fold@ (env) in false end // end of [IMPENVnil] // end // end of [impenv_update] (* ****** ****** *) extern fun s2hnf_is_err (s2f: s2hnf): bool implement s2hnf_is_err (s2f) = let val s2e = s2hnf2exp (s2f) in // case+ s2e.s2exp_node of S2Eerr () => true | _ => false // end // end of [s2hnf_is_err] (* ****** ****** *) extern fun impenv_make_nil (): impenv extern fun impenv_make_svarlst (s2vs: s2varlst): impenv (* ****** ****** *) implement impenv_make_nil () = IMPENVnil implement impenv_make_svarlst (s2vs) = let in // case+ s2vs of | list_cons (s2v, s2vs) => let val s2t = s2var_get_srt (s2v) // end of [val] val s2e = s2exp_err (s2t) val s2f = s2exp2hnf_cast (s2e) val env = impenv_make_svarlst (s2vs) in IMPENVcons (s2v, s2f, env) end // end of [list_cons] | list_nil () => IMPENVnil () // end // end of [impenv_make_svarlst] (* ****** ****** *) extern fun impenv_free (env: impenv): void implement impenv_free (env) = let in // case+ env of | ~IMPENVcons (_, _, env) => impenv_free (env) | ~IMPENVnil () => () // end // end of [impenv_free] (* ****** ****** *) // extern fun impenv2tmpsub (env: impenv): tmpsub // implement impenv2tmpsub (env) = let // fun aux ( env: impenv, tsub: tmpsub ) : tmpsub = let in // case+ env of | ~IMPENVcons (s2v, s2f, env) => let val s2e = s2hnf2exp (s2f) in TMPSUBcons(s2v, s2e, aux (env, tsub)) end // end of [IMPENVcons] | ~IMPENVnil((*void*)) => tsub // end // end of [aux] // in aux (env, TMPSUBnil(*void*)) end // end of [impenv2tmpsub] // (* ****** ****** *) local (* ****** ****** *) fun auxenv ( env: !s2varlst_vt, s2vs: s2varlst ) : s2varlst_vt = let val env2 = list_vt_copy (env) in list_reverse_append2_vt (s2vs, env2) end // end of [auxenv] (* ****** ****** *) fun auxfvar ( env: !s2varlst_vt, s2v0: s2var ) : bool = ( case+ env of | list_vt_cons (s2v, !p_env1) => ( if (s2v = s2v0) then (fold@env; false) else let val ans = auxfvar(!p_env1, s2v0) // end of [val] prval ((*void*)) = fold@env in ans end // end of [else] ) (* end of [list_vt_cons] *) | list_vt_nil() => (fold@env; true) ) (* end of [auxbvar] *) (* ****** ****** *) fun auxmat ( env: !impenv , s2e0_pat: s2exp, s2e0_arg: s2exp ) : bool = ismatch where { // val env_pat = list_vt_nil() and env_arg = list_vt_nil() // val ismatch = auxmat_env ( env, env_pat, env_arg, s2e0_pat, s2e0_arg ) (* end of [val] *) // val ((*void*)) = list_vt_free (env_pat) val ((*void*)) = list_vt_free (env_arg) // } (* end of [auxmat] *) and auxmatlst ( env: !impenv , s2es_pat: s2explst, s2es_arg: s2explst ) : bool = ismatch where { // val env_pat = list_vt_nil() and env_arg = list_vt_nil() // val ismatch = auxmatlst_env ( env, env_pat, env_arg, s2es_pat, s2es_arg ) (* end of [val] *) // val ((*void*)) = list_vt_free (env_pat) val ((*void*)) = list_vt_free (env_arg) // } (* end of [auxmatlst] *) (* ****** ****** *) and auxmat_env ( env: !impenv , env_pat: !s2varlst_vt , env_arg: !s2varlst_vt , s2e0_pat: s2exp, s2e0_arg: s2exp ) : bool = let // val s2f0_pat = s2exp2hnf(s2e0_pat) val s2f0_arg = s2exp2hnf(s2e0_arg) val s2e0_pat = s2hnf2exp(s2f0_pat) val s2e0_arg = s2hnf2exp(s2f0_arg) val s2en_pat = s2e0_pat.s2exp_node val s2en_arg = s2e0_arg.s2exp_node // (* val () = println! ("auxmat_env: s2e0_pat(aft) = ", s2e0_pat) val () = println! ("auxmat_env: s2e0_arg(aft) = ", s2e0_arg) *) // in // case+ s2en_pat of // | S2Evar(s2v) => let val ans = auxfvar (env_pat, s2v) // end of [val] in case+ ans of | true => let val s2f = impenv_find (env, s2v) // end of [val] val iserr = s2hnf_is_err (s2f) in if iserr then ( impenv_update (env, s2v, s2f0_arg) ) else (s2hnf_syneq2 (s2f, s2f0_arg)) end (* [true] *) | false => s2hnf_syneq_env (env_pat, env_arg, s2f0_pat, s2f0_arg) (* end of [false] *) end // end of [S2Evar] // | S2Ecst(s2c) => let in case+ s2en_arg of | S2Ecst(s2c_arg) => if s2c = s2c_arg then true else false // end of [S2Ecst] | _ (* non-S2Ecst *) => false end // end of [S2Ecst] // | S2Eapp ( s2e_pat, s2es_pat ) => let in case+ s2en_arg of | S2Eapp ( s2e_arg, s2es_arg ) => let val ismatch = auxmat_env (env, env_pat, env_arg, s2e_pat, s2e_arg) // end of [val] in if ismatch then auxmatlst_env (env, env_pat, env_arg, s2es_pat, s2es_arg) // end of [then] else false // end of [if] end // end of [S2Eapp] | _ (* non-S2Eapp *) => false end // end of [S2Eapp] // | S2Etyrec ( knd, npf, ls2es_pat ) => let in case+ s2en_arg of | S2Etyrec ( knd2, npf2, ls2es_arg ) => ( if knd = knd2 then auxlabmatlst_env (env, env_pat, env_arg, ls2es_pat, ls2es_arg) // end of [then] else false // end of [if] ) // end of [S2Etyrec] | _ (* non-S2Etyrec *) => false end // end of [S2Etyrec] // | S2Eexi ( s2vs_pat, s2ps_pat, s2e_pat ) => let in case+ s2en_arg of | S2Eexi ( s2vs_arg, s2ps_arg, s2e_arg ) => ismatch where { val env_pat = auxenv (env_pat, s2vs_pat) val env_arg = auxenv (env_arg, s2vs_arg) val syneq = s2explst_syneq_env ( env_pat, env_arg, s2ps_pat, s2ps_arg ) (* end of [val] *) val ismatch = ( if syneq then auxmat_env (env, env_pat, env_arg, s2e_pat, s2e_arg) // end of [then] else false ) : bool // end of [val] val () = list_vt_free(env_pat) and () = list_vt_free(env_arg) } (* [S2Eexi] *) | _ (* non-S2Eexi *) => false end // end of [S2Eexi] // | _ when s2hnf_syneq_env (env_pat, env_arg, s2f0_pat, s2f0_arg) => true // end of [when] // | _ (* rest-of-s2exp *) => false // end // end of [auxmat_env] and auxmatlst_env ( env: !impenv , env_pat: !s2varlst_vt , env_arg: !s2varlst_vt , s2es_pat: s2explst, s2es_arg: s2explst ) : bool = let // (* val () = println! ("auxmatlst_env: s2es_pat = ", s2es_pat) val () = println! ("auxmatlst_env: s2es_arg = ", s2es_arg) *) // in // case+ s2es_pat of | list_cons ( s2e_pat, s2es_pat ) => ( case+ s2es_arg of | list_cons ( s2e_arg, s2es_arg ) => let val ismatch = auxmat_env (env, env_pat, env_arg, s2e_pat, s2e_arg) in if ismatch then ( auxmatlst_env (env, env_pat, env_arg, s2es_pat, s2es_arg) ) else false end // end of [list_cons] | list_nil () => true // HX: deadcode ) // end of [list_cons] | list_nil ((*void*)) => true // end // end of [auxmatlst] and auxlabmatlst_env ( env: !impenv , env_pat: !s2varlst_vt, env_arg: !s2varlst_vt , ls2es_pat: labs2explst, ls2es_arg: labs2explst ) : bool = let (* val out = stdout_ref val () = fprintln! (out, "auxlabmatlst_env: ls2es_pat = ", ls2es_pat) val () = fprintln! (out, "auxlabmatlst_env: ls2es_arg = ", ls2es_arg) *) in // case+ ls2es_pat of | list_cons _ => ( case+ ls2es_arg of | list_cons _ => let val+list_cons (lx1, ls2es_pat) = ls2es_pat val+list_cons (lx2, ls2es_arg) = ls2es_arg val+SLABELED (l1, _, x1) = lx1 and SLABELED (l2, _, x2) = lx2 val ismatch = ( if l1 = l2 then ( auxmat_env (env, env_pat, env_arg, x1, x2) ) else false ) : bool // end of [val] in if ismatch then auxlabmatlst_env (env, env_pat, env_arg, ls2es_pat, ls2es_arg) // end of [then] else false end // end of [list_cons] | list_nil ((*void*)) => false ) (* [list_cons] *) | list_nil () => (case+ ls2es_arg of list_cons _ => false | list_nil() => true) (* end of [list_nil] *) // end // end of [auxlabmatlst_env] (* ****** ****** *) fun auxmatlstlst ( env: !impenv , s2ess: s2explstlst, t2mas: t2mpmarglst ) : bool = let in // case+ s2ess of | list_cons (s2es, s2ess) => ( case+ t2mas of | list_cons (t2ma, t2mas) => let val ans = auxmatlst (env, s2es, t2ma.t2mpmarg_arg) // end of [val] in if ans then auxmatlstlst (env, s2ess, t2mas) else false end // end of [list_cons] | list_nil ((*void*)) => true // HX: deadcode ) // end of [list_cons] | list_nil () => true // end // end of [auxmatlstlst] (* ****** ****** *) fun auxbndlstlst ( s2vs: s2varlst, t2mas: t2mpmarglst ) : tmpsub = let in // case+ t2mas of | list_cons (t2ma, t2mas) => auxbndlstlst2 (s2vs, t2ma.t2mpmarg_arg, t2mas) | list_nil () => TMPSUBnil () // end // end of [auxbndlstlst] and auxbndlstlst2 ( s2vs: s2varlst, s2es: s2explst, t2mas: t2mpmarglst ) : tmpsub = let in // case+ s2es of | list_cons (s2e, s2es) => let val s2e = s2exp_hnfize (s2e) val-list_cons (s2v, s2vs) = s2vs val tsub = auxbndlstlst2 (s2vs, s2es, t2mas) in TMPSUBcons (s2v, s2e, tsub) end // end of [list_cons] | list_nil () => auxbndlstlst (s2vs, t2mas) // end // end of [auxbndlstlst2] in (* in of [local] *) (* ****** ****** *) implement funlab_tmparg_match (fl0, t2mas) = let // val env = impenv_make_nil () val xs0 = funlab_get_tmparg (fl0) val s2ess = list_map_fun (xs0, lam x =<1> x.t2mpmarg_arg) val ans = auxmatlstlst (env, $UN.linlst2lst(s2ess), t2mas) val ((*env*)) = impenv_free (env) val ((*freed*)) = list_vt_free (s2ess) // in ans end // end of [funlab_tmparg_match] (* ****** ****** *) implement hiimpdec_tmpcst_match (imp, d2c0, t2mas, knd) = let // val d2c1 = imp.hiimpdec_cst // (* val () = println! ("hiimpdec_tmpcst_match: d2c0 = ", d2c0) val () = println! ("hiimpdec_tmpcst_match: d2c1 = ", d2c1) *) // in // if d2c0=d2c1 then let val env = impenv_make_svarlst (imp.hiimpdec_imparg) val ans = auxmatlstlst (env, imp.hiimpdec_tmparg, t2mas) in if ans then let val tsub = impenv2tmpsub (env) // end of [val] in TMPCSTMATsome (imp, tsub, knd) end else let val () = impenv_free (env) in TMPCSTMATnone () end // end of [if] end // end of [then] else TMPCSTMATnone() // else // end of [if] // end // end of [hiimpdec_tmpcst_match] (* ****** ****** *) implement hiimpdec2_tmpcst_match (imp2, d2c0, t2mas, knd) = let // val HIIMPDEC2 (imp, tsub0, tmparg) = imp2 val d2c1 = imp.hiimpdec_cst val imparg = imp.hiimpdec_imparg // (* val () = println! ("hiimpdec_tmpcst_match2: d2c0 = ", d2c0) val () = println! ("hiimpdec_tmpcst_match2: d2c1 = ", d2c1) *) // in // if d2c0=d2c1 then let val env = impenv_make_svarlst (imparg) // end of [val] val ans = auxmatlstlst (env, tmparg, t2mas) // end of [val] in if ans then let val tsub1 = impenv2tmpsub (env) val tsub01 = tmpsub_append (tsub0, tsub1) // end of [val] in TMPCSTMATsome (imp, tsub01, knd) end else let val () = impenv_free (env) in TMPCSTMATnone () end // end of [if] end // end of [then] else TMPCSTMATnone() // else // end // end of [hiimpdec2_tmpcst_match] (* ****** ****** *) implement hiimpdeclst_tmpcst_match (imps, d2c0, t2mas, knd) = let // (* val () = println! ("hiimpdeclst_tmpcst_match: d2c0 = ", d2c0) *) // in // case+ imps of | list_cons ( imp, imps ) => let val opt = hiimpdec_tmpcst_match (imp, d2c0, t2mas, knd) // end of [val] in case+ opt of | TMPCSTMATsome _ => opt | TMPCSTMATsome2 _ => opt | TMPCSTMATnone _ => hiimpdeclst_tmpcst_match (imps, d2c0, t2mas, knd) // end of [TMPCSTMATnone] end // end of [list_cons] | list_nil () => TMPCSTMATnone () // end // end of [hiimpdeclst_tmpcst_match] (* ****** ****** *) implement tmpcstmat_tmpcst_match (mat, d2c0, t2mas) = let // var ans: bool = false // val-TMPCSTMATsome2(d2c, s2ess, flab) = mat // val () = ( if d2c=d2c0 then let val env = IMPENVnil () val () = ans := auxmatlstlst (env, s2ess, t2mas) val () = impenv_free (env) // in // nothing end // end of [then] else () // end of [else] // ) : void // end of [val] // in // if ans then mat else TMPCSTMATnone() // end // end of [tmpcstmat_tmpcst_match] (* ****** ****** *) implement hifundec2tmpvarmat (hfd, t2mas) = let // val s2vs = hfd.hifundec_imparg val tsub = auxbndlstlst (s2vs, t2mas) // in TMPVARMATsome (hfd, tsub, 0(*local*)) end // end of [hifundec2tmpvarmat] implement hifundecopt2tmpvarmat (hfdopt, t2mas) = let in // case hfdopt of | ~None_vt () => TMPVARMATnone () | ~Some_vt (hfd) => hifundec2tmpvarmat (hfd, t2mas) // end // end of [hifundecopt2tmpvarmat] (* ****** ****** *) implement hifundec_tmpvar_match (hfd, d2v0, t2mas) = let // val d2v = hfd.hifundec_var // in // if d2v=d2v0 then hifundec2tmpvarmat (hfd, t2mas) else TMPVARMATnone() // end // end of [hifundec_tmpvar_match] (* ****** ****** *) implement hifundec2_tmpvar_match (hfd2, d2v0, t2mas) = let // val HIFUNDEC2 (hfd, tsub0) = hfd2 // val d2v = hfd.hifundec_var // in // if d2v=d2v0 then let val s2vs = hfd.hifundec_imparg val tsub1 = auxbndlstlst (s2vs, t2mas) val tsub01 = tmpsub_append (tsub0, tsub1) in TMPVARMATsome (hfd, tsub01, 0(*local*)) end // end of [then] else TMPVARMATnone() // end of [else] // end // end of [hifundec2_tmpvar_match] (* ****** ****** *) implement tmpvarmat_tmpvar_match (mat, d2v0, t2mas) = let // var ans: bool = false // val-TMPVARMATsome2 (d2v, s2ess, flab) = mat // val () = if d2v = d2v0 then let val env = IMPENVnil () val () = ans := auxmatlstlst (env, s2ess, t2mas) val () = impenv_free (env) // in // nothing end //end of [val] // in // if ans then mat else TMPVARMATnone() // end // end of [tmpvarmat_tmpvar_match] end // end of [local] (* ****** ****** *) // extern fun ccomp_funlab_tmpsubst (env: !ccompenv, loc0: location, hse0: hisexp, fl: funlab, tsub: tmpsub): primval extern fun ccomp_funlab_tmpsubst_none (env: !ccompenv, loc0: location, hse0: hisexp, fl: funlab, tsub: tmpsub): primval extern fun ccomp_funlab_tmpsubst_some ( env: !ccompenv, loc0: location, hse0: hisexp, fl: funlab, tsub: tmpsub, fent: funent ) : primval // end of [ccomp_funlab_tmpsubst_some] // (* ****** ****** *) implement ccomp_funlab_tmpsubst (env, loc0, hse0, flab, tsub) = let // val opt = funlab_get_funent (flab) // in // case+ opt of | None () => ccomp_funlab_tmpsubst_none (env, loc0, hse0, flab, tsub) // end of [None] | Some (fent) => ccomp_funlab_tmpsubst_some (env, loc0, hse0, flab, tsub, fent) // end of [None] // end // end of [ccomp_funlab_tmpsubst] implement ccomp_funlab_tmpsubst_none (env, loc0, hse0, flab, tsub) = let // val t2mas = funlab_get_tmparg (flab) // in // case+ t2mas of | list_cons _ => let val-Some(d2c) = funlab_get_d2copt (flab) val t2mas = t2mpmarglst_tsubst (loc0, tsub, t2mas) val tmpmat = ccompenv_tmpcst_match (env, d2c, t2mas) in ccomp_tmpcstmat (env, loc0, hse0, d2c, t2mas, tmpmat) end (* end of [list_cons] *) | list_nil () => primval_make2_funlab (loc0, hse0, flab) // end // end of [ccomp_funlab_tmpsubst_none] implement ccomp_funlab_tmpsubst_some (env, loc0, hse0, flab, tsub, fent) = let // (* val out = stdout_ref val () = fprintln! ( out, "ccomp_funlab_tmpsubst_some: tsub = ", tsub ) // end of [val] *) // val sub = tmpsub2stasub (tsub) // val sfx = funlab_incget_ncopy (flab) // val flab2 = funlab_subst (sub, flab) val () = funlab_set_suffix (flab2, sfx) val () = the_funlablst_add (flab2) // val () = ccompenv_add_flabsetenv (env, flab2) // val (pfpush|()) = ccompenv_push (env) // val () = ccompenv_add_tmpsub (env, tsub) val () = ccompenv_inc_tmprecdepth (env) val fent2 = funent_subst (env, sub, flab2, fent, sfx) val () = ccompenv_dec_tmprecdepth (env) // val ((*popped*)) = ccompenv_pop (pfpush | env) // val () = funent_set_tmpsub (fent2, Some (tsub)) // val () = funlab_set_funent (flab2, Some (fent2)) // val () = stasub_free (sub) // in primval_make2_funlab (loc0, hse0, flab2) end // end of [ccomp_funlab_tmpsubst_some] (* ****** ****** *) extern fun ccomp_tmpcstmat_some ( env: !ccompenv, loc0: location , hse0: hisexp, d2c: d2cst, t2mas: t2mpmarglst, mat: tmpcstmat ) : primval // end of [ccomp_tmpcstmat_some] (* ****** ****** *) implement ccomp_tmpcstmat (env, loc0, hse0, d2c, t2mas, mat) = let // (* val () = ( print ("ccomp_tmpcstmat: d2c = "); print_d2cst (d2c); print_newline (); print ("ccomp_tmpcstmat: t2mas = "); fpprint_t2mpmarglst (stdout_ref, t2mas); print_newline (); print ("ccomp_tmpcstmat: mat = "); fprint_tmpcstmat (stdout_ref, mat); print_newline (); ) // end of [val] *) // in // case+ mat of | TMPCSTMATsome _ => ccomp_tmpcstmat_some (env, loc0, hse0, d2c, t2mas, mat) // end of [TMPCSTMATsome] | TMPCSTMATsome2 (d2c, s2ess, flab) => primval_make2_funlab (loc0, hse0, flab) | TMPCSTMATnone() => primval_tmpltcstmat (loc0, hse0, d2c, t2mas, mat) // end of [TMPCSTMATnone] // end // end of [ccomp_tmpcstmat] implement ccomp_tmpcstmat_some (env, loc0, hse0, d2c, t2mas, mat) = let // val-TMPCSTMATsome (imp, tsub, knd) = mat // val lvl0 = the_d2varlev_save () // val () = hiimpdec_ccomp_if (env, 0(*level*), imp, knd) // val () = the_d2varlev_restore (lvl0) // val-Some (flab) = hiimpdec_get_funlabopt (imp) // in ccomp_funlab_tmpsubst (env, loc0, hse0, flab, tsub) end // end of [ccomp_tmpcstmat_some] (* ****** ****** *) extern fun ccomp_tmpvarmat_some ( env: !ccompenv , loc0: location, hse0: hisexp, d2v: d2var, t2mas: t2mpmarglst, mat: tmpvarmat ) : primval // end of [ccomp_tmpvarmat_some] (* ****** ****** *) implement ccomp_tmpvarmat (env, loc0, hse0, d2v, t2mas, mat) = let // (* val () = ( print ("ccomp_tmpvarmat: d2v = "); print_d2var (d2v); print_newline (); print ("ccomp_tmpvarmat: t2mas = "); fpprint_t2mpmarglst (stdout_ref, t2mas); print_newline (); print ("ccomp_tmpvarmat: mat = "); fprint_tmpvarmat (stdout_ref, mat); print_newline (); ) // end of [val] *) // in // case+ mat of | TMPVARMATsome _ => ccomp_tmpvarmat_some (env, loc0, hse0, d2v, t2mas, mat) // end of [ccomp_tmpvarmat_some] // end of [TMPVARMATsome] | TMPVARMATsome2 (d2c, s2ess, flab) => primval_make2_funlab (loc0, hse0, flab) | TMPVARMATnone() => primval_tmpltvarmat (loc0, hse0, d2v, t2mas, mat) // end of [TMPVARMATnone] // end // end of [ccomp_tmpvarmat] implement ccomp_tmpvarmat_some (env, loc0, hse0, d2v, t2mas, mat) = let // val-TMPVARMATsome (hfd, tsub, _(*knd*)) = mat // val opt = hifundec_get_funlabopt (hfd) val () = ( case+ opt of | None _ => let val-Some (hdc0) = hifundec_get_hideclopt (hfd) // end of [val] val-HIDfundecs (knd, decarg, hfds) = hdc0.hidecl_node // end of [val] in hifundeclst_ccomp (env, 0(*lvl0*), knd, decarg, hfds) end // end of [None] | Some _ => ((*void*)) ) val-Some(flab) = hifundec_get_funlabopt (hfd) // in ccomp_funlab_tmpsubst (env, loc0, hse0, flab, tsub) end // end of [ccomp_tmpvarmat_some] (* ****** ****** *) (* end of [pats_ccomp_template.dats] *) ATS2-Postiats-0.2.6/./src/pats_histaexp_print.dats0000664000175000017500000001232212655455557020472 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) extern fun fprint_labhisexp : fprint_type (labhisexp) (* ****** ****** *) implement fprint_hisexp (out, hse) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ hse.hisexp_node of // | HSEfun ( fc, _arg, _res ) => { val () = prstr "HSEfun(" val () = fprint_funclo(out, fc) val () = prstr "; " val () = fprint_hisexplst(out, _arg) val () = prstr "; " val () = fprint_hisexp(out, _res) val () = prstr ")" } // end of [HSEfun] // | HSEcst (s2c) => { val () = prstr "HSEcst(" val () = fprint_s2cst (out, s2c) val () = prstr ")" } | HSEapp (_fun, _arg) => { val () = prstr "HSEapp(" val () = fprint_hisexp (out, _fun) val () = prstr "; " val () = fprint_hisexplst (out, _arg) val () = prstr ")" } // end of [HSEapp] // | HSEextype (name, hsess) => { val () = prstr "HSEextype(" val () = $UT.fprintlst (out, hsess, "; ", fprint_hisexplst) val () = prstr ")" } // end of [HSEextype] // | HSErefarg (refval, hse) => { val () = prstr "HSErefarg(" val () = fprint_int (out, refval) val () = prstr "; " val () = fprint_hisexp (out, hse) val () = prstr ")" } // end of [HSErefarg] // | HSEtyabs (sym) => { val () = prstr "HSEtyabs(" val () = $SYM.fprint_symbol (out, sym) val () = prstr ")" } // end of [HSEtyabs] | HSEtybox () => { val () = prstr "HSEtybox()" } // end of [HSEtybox] // | HSEtyarr (hse, dim) => { val () = prstr "HSEtyarr(" val () = fprint_hisexp (out, hse) val () = prstr "; " val () = fpprint_s2explst (out, dim) val () = prstr ")" } // end of [HSEtyarr] // | HSEtyrec (recknd, lhses) => { val () = prstr "HSEtyrec(" val () = fprint_tyreckind (out, recknd) val () = prstr "; " val () = $UT.fprintlst (out, lhses, ", ", fprint_labhisexp) val () = prstr ")" } // end of [HSEtyrec] | HSEtyrecsin (hse) => { val () = prstr "HSEtyrecsin(" val () = fprint_labhisexp (out, hse) val () = prstr ")" } // | HSEtysum (d2c, lhses) => { val () = prstr "HSEtysum(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = $UT.fprintlst (out, lhses, ", ", fprint_labhisexp) val () = prstr ")" } // end of [HSEtysum] // | HSEtyvar (s2v) => { val () = prstr "HSEtyvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // | HSEtyclo (flab) => { val () = prstr "HSEtyclo(" val () = fprint_funlab (out, flab) val () = prstr ")" } // end of [HSEtyclo] // | HSEvararg (s2e) => { val () = prstr "HSEvararg(" val () = fpprint_s2exp (out, s2e) val () = prstr ")" } // | HSEs2exp (s2e) => { val () = prstr "HSEs2exp(" val () = fpprint_s2exp (out, s2e) val () = prstr ")" } // | HSEs2zexp (s2ze) => { val () = prstr "HSEs2zexp(" val () = fprint_s2zexp (out, s2ze) val () = prstr ")" } // (* | _ => { val () = prstr "HSE...(...)" } *) // end // end of [fprint_hisexp] (* ****** ****** *) implement print_hisexp (pmv) = fprint_hisexp (stdout_ref, pmv) implement prerr_hisexp (pmv) = fprint_hisexp (stderr_ref, pmv) (* ****** ****** *) implement fprint_labhisexp (out, lx) = let val HSLABELED (l, _, x) = lx val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "=") val () = fprint_hisexp (out, x) in // nothing end // end of [fprint_labhisexp] (* ****** ****** *) implement fprint_hisexplst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_hisexp) // end of [fprint_hisexplst] (* ****** ****** *) (* end of [pats_histaexp_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexing_token.dats0000664000175000017500000004013312655455557020120 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" staload "./pats_lexing.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) implement DOT = T_DOT implement PERCENT = T_IDENT_alp "%" implement QMARK = T_IDENT_alp "?" (* ****** ****** *) implement ABSTYPE = T_ABSTYPE (TYPE_int) implement ABST0YPE = T_ABSTYPE (T0YPE_int) implement ABSPROP = T_ABSTYPE (PROP_int) implement ABSVIEW = T_ABSTYPE (VIEW_int) implement ABSVIEWTYPE = T_ABSTYPE (VIEWTYPE_int) implement ABSVIEWT0YPE = T_ABSTYPE (VIEWT0YPE_int) implement CASE = T_CASE (CK_case) implement CASE_pos = T_CASE (CK_case_pos) implement CASE_neg = T_CASE (CK_case_neg) implement DATATYPE = T_DATATYPE (TYPE_int) implement DATAPROP = T_DATATYPE (PROP_int) implement DATAVIEW = T_DATATYPE (VIEW_int) implement DATAVIEWTYPE = T_DATATYPE (VIEWTYPE_int) implement FIX = T_FIX (TYPE_int) implement FIXAT = T_FIX (T0YPE_int) implement FN = T_FUN (FK_fn) implement FNX = T_FUN (FK_fnx) implement FUN = T_FUN (FK_fun) // implement PRFN = T_FUN (FK_prfn) implement PRFUN = T_FUN (FK_prfun) // implement PRAXI = T_FUN (FK_praxi) // implement CASTFN = T_FUN (FK_castfn) implement IMPLMNT = T_IMPLEMENT (0) implement IMPLEMENT = T_IMPLEMENT (1) implement PRIMPLMNT = T_IMPLEMENT (~1) implement INFIX = T_FIXITY (FXK_infix) implement INFIXL = T_FIXITY (FXK_infixl) implement INFIXR = T_FIXITY (FXK_infixr) implement PREFIX = T_FIXITY (FXK_prefix) implement POSTFIX = T_FIXITY (FXK_postfix) implement LAM = T_LAM (TYPE_int) implement LAMAT = T_LAM (T0YPE_int) implement LLAM = T_LAM (VIEWTYPE_int) implement LLAMAT = T_LAM (VIEWT0YPE_int) implement MACDEF = T_MACDEF (0) // short form implement MACRODEF = T_MACDEF (1) // long form (* ****** ****** *) (* // implement REF = T_IDENT_alp "ref" // implement REFAT = T_REFAT // HX: flattened ref // // HX-2015-12-10: 'ref@' is removed for now // *) (* ****** ****** *) implement TKINDEF = T_TKINDEF () // for introducing tkinds (* implement TYPE = T_TYPE (TYPE_int) *) implement TYPE = T_IDENT_alp "type" implement TYPE_pos = T_TYPE (TYPE_pos_int) implement TYPE_neg = T_TYPE (TYPE_neg_int) // implement T0YPE = T_TYPE (T0YPE_int) implement T0YPE_pos = T_TYPE (T0YPE_pos_int) implement T0YPE_neg = T_TYPE (T0YPE_neg_int) // (* implement PROP = T_TYPE (PROP_int) *) implement PROP = T_IDENT_alp "prop" implement PROP_pos = T_TYPE (PROP_pos_int) implement PROP_neg = T_TYPE (PROP_neg_int) // (* implement VIEW = T_TYPE (VIEW_int) *) implement VIEW = T_IDENT_alp "view" implement VIEWAT = T_VIEWAT () // view@ implement VIEW_pos = T_TYPE (VIEW_pos_int) implement VIEW_neg = T_TYPE (VIEW_neg_int) // (* implement VIEWTYPE = T_TYPE (VIEWTYPE_int) *) implement VIEWTYPE = T_IDENT_alp "viewtype" implement VIEWTYPE_pos = T_TYPE (VIEWTYPE_pos_int) implement VIEWTYPE_neg = T_TYPE (VIEWTYPE_neg_int) // implement VIEWT0YPE = T_TYPE (VIEWT0YPE_int) implement VIEWT0YPE_pos = T_TYPE (VIEWT0YPE_pos_int) implement VIEWT0YPE_neg = T_TYPE (VIEWT0YPE_neg_int) implement TYPEDEF = T_TYPEDEF (T0YPE_int) implement PROPDEF = T_TYPEDEF (PROP_int) implement VIEWDEF = T_TYPEDEF (VIEW_int) implement VIEWTYPEDEF = T_TYPEDEF (VIEWT0YPE_int) implement VAL = T_VAL (VK_val) implement VAL_pos = T_VAL (VK_val_pos) implement VAL_neg = T_VAL (VK_val_neg) (* implement MCVAL = T_VAL (VK_mcval) *) implement PRVAL = T_VAL (VK_prval) implement VAR = T_VAR (0) implement PRVAR = T_VAR (1) implement FOR = T_FOR ((*void*)) implement FORSTAR = T_FORSTAR ((*void*)) implement WHILE = T_WHILE ((*void*)) implement WHILESTAR = T_WHILESTAR ((*void*)) implement WITHTYPE = T_WITHTYPE (T0YPE_int) implement WITHPROP = T_WITHTYPE (PROP_int) implement WITHVIEW = T_WITHTYPE (VIEW_int) implement WITHVIEWTYPE = T_WITHTYPE (VIEWT0YPE_int) (* ****** ****** *) implement ADDR = T_IDENT_alp "addr" implement ADDRAT = T_ADDRAT implement FOLD = T_IDENT_alp "fold" implement FOLDAT = T_FOLDAT implement FREE = T_IDENT_alp "free" implement FREEAT = T_FREEAT (* ****** ****** *) implement DLRDELAY = T_DLRDELAY(TYPE_int) implement DLRLDELAY = T_DLRDELAY(VIEWTYPE_int) (* ****** ****** *) // implement DLREFFMASK = T_DLREFFMASK () // implement DLREFFMASK_NTM = T_DLREFFMASK_ARG (0) implement DLREFFMASK_EXN = T_DLREFFMASK_ARG (1) implement DLREFFMASK_REF = T_DLREFFMASK_ARG (2) implement DLREFFMASK_WRT = T_DLREFFMASK_ARG (3) implement DLREFFMASK_ALL = T_DLREFFMASK_ARG (4) // (* ****** ****** *) implement DLRLST = T_DLRLST (~1) // unspecified implement DLRLST_T = T_DLRLST (TYPE_int) implement DLRLST_VT = T_DLRLST (VIEWTYPE_int) (* ****** ****** *) implement DLRREC = T_DLRREC (TYRECKIND_box) // unspecified implement DLRREC_T = T_DLRREC (TYRECKIND_box_t) implement DLRREC_VT = T_DLRREC (TYRECKIND_box_vt) implement DLRTUP = T_DLRTUP (TYTUPKIND_box) // unspecified implement DLRTUP_T = T_DLRTUP (TYTUPKIND_box_t) implement DLRTUP_VT = T_DLRTUP (TYTUPKIND_box_vt) (* ****** ****** *) implement DLRVCOPYENV_V = T_DLRVCOPYENV (VIEW_int) implement DLRVCOPYENV_VT = T_DLRVCOPYENV (VIEWTYPE_int) (* ****** ****** *) implement INTZERO = T_INT (10(*base*), "0", 0u(*sfx*)) (* ****** ****** *) implement tnode_is_comment (x) = case+ x of | T_COMMENT_line () => true | T_COMMENT_block () => true | T_COMMENT_rest () => true | _ => false // end of [tnode_is_comment] (* ****** ****** *) local %{^ typedef ats_ptr_type string ; typedef ats_ptr_type tnode ; %} // end of [%{^] staload "libats/SATS/hashtable_linprb.sats" staload _(*anon*) = "libats/DATS/hashtable_linprb.dats" // #define HASHTBLSZ 193 // symintr encode decode // abstype string_t = $extype"string" extern castfn string_encode (x: string):<> string_t extern castfn string_decode (x: string_t):<> string overload encode with string_encode overload decode with string_decode // abstype tnode_t = $extype"tnode" extern castfn tnode_encode (x: tnode):<> tnode_t extern castfn tnode_decode (x: tnode_t):<> tnode overload encode with tnode_encode overload decode with tnode_decode // typedef key = string_t typedef itm = tnode_t typedef keyitm = (key, itm) // implement keyitem_nullify (x) = () where { // extern prfun __assert (x: &keyitm? >> keyitm): void // end of [prfun] prval () = __assert (x) // val () = x.0 := $UN.cast{key}(null) prval () = Opt_some (x) // } (* end of [keyitem_nullify] *) // implement keyitem_isnot_null (x) = b where { // extern prfun __assert1 (x: &Opt(keyitm) >> keyitm): void prval () = __assert1 (x) // val b = $UN.cast{ptr}(x.0) <> null val [b:bool] b = bool1_of_bool (b) // extern prfun __assert2 (x: &keyitm >> opt (keyitm, b)): void prval () = __assert2 (x) // } (* end of [keyitem_isnot_null] *) // val hash0 = $UN.cast{hash(key)}(null) val eqfn0 = $UN.cast{eqfn(key)}(null) // implement hash_key (x, _) = string_hash_33 (decode(x)) // implement equal_key_key (x1, x2, _) = compare(decode(x1), decode(x2)) = 0 // val [l:addr] ptbl = hashtbl_make_hint (hash0, eqfn0, HASHTBLSZ) // fun insert ( ptbl: !HASHTBLptr (key, itm, l) , k: string, i: tnode ) : void = () where { val k = encode (k); val i = encode (i) var res: tnode_t val _ = hashtbl_insert (ptbl, k, i, res) prval () = opt_clear (res) } // end of [insert] // macdef ins (k, i) = insert (ptbl, ,(k), ,(i)) // val () = ins ("@", T_AT) val () = ins ("!", T_BANG) val () = ins ("|", T_BAR) val () = ins ("`", T_BQUOTE) val () = ins (":", T_COLON) val () = ins ("$", T_DOLLAR) val () = ins (".", T_DOT) val () = ins ("=", T_EQ) val () = ins ("#", T_HASH) val () = ins ("~", T_TILDE) // val () = ins ("..", T_DOTDOT) val () = ins ("...", T_DOTDOTDOT) // val () = ins ("=>", T_EQGT) val () = ins ("=<", T_EQLT) val () = ins ("=<>", T_EQLTGT) val () = ins ("=/=>", T_EQSLASHEQGT) val () = ins ("=>>", T_EQGTGT) val () = ins ("=/=>>", T_EQSLASHEQGTGT) // val () = ins ("<", T_LT) // opening a tmparg val () = ins (">", T_GT) // closing a tmparg // val () = ins ("><", T_GTLT) // val () = ins (".<", T_DOTLT) val () = ins (">.", T_GTDOT) // val () = ins (".<>.", T_DOTLTGTDOT) // val () = ins ("->", T_MINUSGT) val () = ins ("-<", T_MINUSLT) val () = ins ("-<>", T_MINUSLTGT) // (* val () = ins (":<", T_COLONLT) *) // val () = ins ("abstype", ABSTYPE) val () = ins ("abst0ype", ABST0YPE) val () = ins ("absprop", ABSPROP) val () = ins ("absview", ABSVIEW) val () = ins ("absvtype", ABSVIEWTYPE) val () = ins ("absviewtype", ABSVIEWTYPE) val () = ins ("absvt0ype", ABSVIEWT0YPE) val () = ins ("absviewt0ype", ABSVIEWT0YPE) // val () = ins ("as", T_AS) // val () = ins ("and", T_AND) // val () = ins ("assume", T_ASSUME) // val () = ins ("begin", T_BEGIN) // (* val () = ins ("case", CASE) *) // val () = ins ("classdec", T_CLASSDEC) // val () = ins ("datasort", T_DATASORT) // val () = ins ("datatype", DATATYPE) val () = ins ("dataprop", DATAPROP) val () = ins ("dataview", DATAVIEW) val () = ins ("datavtype", DATAVIEWTYPE) val () = ins ("dataviewtype", DATAVIEWTYPE) // val () = ins ("do", T_DO) // val () = ins ("end", T_END) // val () = ins ("extern", T_EXTERN) val () = ins ("extype", T_EXTYPE) val () = ins ("extvar", T_EXTVAR) // val () = ins ("exception", T_EXCEPTION) // val () = ins ("fn", FN) // non-recursive val () = ins ("fnx", FNX) // mutual tail-rec. val () = ins ("fun", FUN) // general-recursive // val () = ins ("prfn", PRFN) val () = ins ("prfun", PRFUN) // val () = ins ("praxi", PRAXI) val () = ins ("castfn", CASTFN) // val () = ins ("if", T_IF) val () = ins ("then", T_THEN) val () = ins ("else", T_ELSE) // val () = ins ("in", T_IN) // val () = ins ("infix", INFIX) val () = ins ("infixl", INFIXL) val () = ins ("infixr", INFIXR) val () = ins ("prefix", PREFIX) val () = ins ("postfix", POSTFIX) // val () = ins ("implmnt", IMPLMNT) // 0 val () = ins ("implement", IMPLEMENT) // 1 // val () = ins ("primplmnt", PRIMPLMNT) // ~1 val () = ins ("primplement", PRIMPLMNT) // ~1 // val () = ins ("import", T_IMPORT) // for importing packages // (* val () = ins ("lam", LAM) val () = ins ("llam", LLAM) val () = ins ("fix", FIX) *) // val () = ins ("let", T_LET) // val () = ins ("local", T_LOCAL) // val () = ins ("macdef", MACDEF) val () = ins ("macrodef", MACRODEF) // val () = ins ("nonfix", T_NONFIX) // val () = ins ("symelim", T_SYMELIM) val () = ins ("symintr", T_SYMINTR) val () = ins ("overload", T_OVERLOAD) // val () = ins ("of", T_OF) val () = ins ("op", T_OP) // val () = ins ("rec", T_REC) // val () = ins ("sif", T_SIF) val () = ins ("scase", T_SCASE) // val () = ins ("sortdef", T_SORTDEF) (* // HX: [sta] is now deprecated *) val () = ins ("sta", T_STACST) val () = ins ("stacst", T_STACST) val () = ins ("stadef", T_STADEF) val () = ins ("static", T_STATIC) (* val () = ins ("stavar", T_STAVAR) *) // val () = ins ("staload", T_STALOAD) val () = ins ("dynload", T_DYNLOAD) // val () = ins ("try", T_TRY) // val () = ins ("tkindef", T_TKINDEF) // HX-2012-05-23 // (* val () = ins ("type", TYPE) *) val () = ins ("typedef", TYPEDEF) val () = ins ("propdef", PROPDEF) val () = ins ("viewdef", VIEWDEF) val () = ins ("vtypedef", VIEWTYPEDEF) val () = ins ("viewtypedef", VIEWTYPEDEF) // (* val () = ins ("val", VAL) *) val () = ins ("prval", PRVAL) // val () = ins ("var", VAR) val () = ins ("prvar", PRVAR) // val () = ins ("when", T_WHEN) val () = ins ("where", T_WHERE) // (* val () = ins ("for", T_FOR) val () = ins ("while", T_WHILE) *) // val () = ins ("with", T_WITH) // val () = ins ("withtype", WITHTYPE) val () = ins ("withprop", WITHPROP) val () = ins ("withview", WITHVIEW) val () = ins ("withvtype", WITHVIEWTYPE) val () = ins ("withviewtype", WITHVIEWTYPE) // val () = ins ("$delay", DLRDELAY) val () = ins ("$ldelay", DLRLDELAY) // val () = ins ("$arrpsz", T_DLRARRPSZ) val () = ins ("$arrptrsize", T_DLRARRPSZ) // val () = ins ("$d2ctype", T_DLRD2CTYPE) // val () = ins ("$effmask", DLREFFMASK) val () = ins ("$effmask_ntm", DLREFFMASK_NTM) val () = ins ("$effmask_exn", DLREFFMASK_EXN) val () = ins ("$effmask_ref", DLREFFMASK_REF) val () = ins ("$effmask_wrt", DLREFFMASK_WRT) val () = ins ("$effmask_all", DLREFFMASK_ALL) // val () = ins ("$extern", T_DLREXTERN) val () = ins ("$extkind", T_DLREXTKIND) val () = ins ("$extype", T_DLREXTYPE) val () = ins ("$extype_struct", T_DLREXTYPE_STRUCT) // val () = ins ("$extval", T_DLREXTVAL) val () = ins ("$extfcall", T_DLREXTFCALL) val () = ins ("$extmcall", T_DLREXTMCALL) // val () = ins ("$literal", T_DLRLITERAL) // val () = ins ("$myfilename", T_DLRMYFILENAME) val () = ins ("$mylocation", T_DLRMYLOCATION) val () = ins ("$myfunction", T_DLRMYFUNCTION) // val () = ins ("$lst", DLRLST) val () = ins ("$lst_t", DLRLST_T) val () = ins ("$lst_vt", DLRLST_VT) val () = ins ("$list", DLRLST) val () = ins ("$list_t", DLRLST_T) val () = ins ("$list_vt", DLRLST_VT) // val () = ins ("$rec", DLRREC) val () = ins ("$rec_t", DLRREC_T) val () = ins ("$rec_vt", DLRREC_VT) val () = ins ("$record", DLRREC) val () = ins ("$record_t", DLRREC_T) val () = ins ("$record_vt", DLRREC_VT) // val () = ins ("$tup", DLRTUP) val () = ins ("$tup_t", DLRTUP_T) val () = ins ("$tup_vt", DLRTUP_VT) val () = ins ("$tuple", DLRTUP) val () = ins ("$tuple_t", DLRTUP_T) val () = ins ("$tuple_vt", DLRTUP_VT) // val () = ins ("$break", T_DLRBREAK) val () = ins ("$continue", T_DLRCONTINUE) // val () = ins ("$raise", T_DLRRAISE) // val () = ins ("$showtype", T_DLRSHOWTYPE) // val () = ins ("$vcopyenv_v", DLRVCOPYENV_V) val () = ins ("$vcopyenv_vt", DLRVCOPYENV_VT) // val () = ins ("$tempenver", T_DLRTEMPENVER) // val () = ins ("$solver_assert", T_DLRSOLASSERT) val () = ins ("$solver_verify", T_DLRSOLVERIFY) // val () = ins ("#if", T_SRPIF) val () = ins ("#ifdef", T_SRPIFDEF) val () = ins ("#ifndef", T_SRPIFNDEF) // val () = ins ("#then", T_SRPTHEN) // val () = ins ("#elif", T_SRPELIF) val () = ins ("#elifdef", T_SRPELIFDEF) val () = ins ("#elifndef", T_SRPELIFNDEF) // val () = ins ("#else", T_SRPELSE) val () = ins ("#endif", T_SRPENDIF) // val () = ins ("#error", T_SRPERROR) // val () = ins ("#prerr", T_SRPPRERR) // outpui to stderr val () = ins ("#print", T_SRPPRINT) // output to stdout // val () = ins ("#assert", T_SRPASSERT) // val () = ins ("#undef", T_SRPUNDEF) val () = ins ("#define", T_SRPDEFINE) // val () = ins ("#include", T_SRPINCLUDE) val () = ins ("#require", T_SRPREQUIRE) // val () = ins ("#pragma", T_SRPPRAGMA) // HX: general pragma val () = ins ("#codegen2", T_SRPCODEGEN2) // for level-2 codegen val () = ins ("#codegen3", T_SRPCODEGEN3) // for level-3 codegen // // HX: end of special tokens // val rtbl = HASHTBLref_make_ptr{key,itm}(ptbl) // in (* in of [local] *) // implement tnode_search (x) = let // var res: itm? // val (fptbl | ptbl) = HASHTBLref_takeout_ptr (rtbl) // val b = hashtbl_search (ptbl, encode(x), res) // prval ((*addback*)) = fptbl (ptbl) // in // if (b) then let prval () = opt_unsome{itm}(res) in decode(res) end // end of [then] else let prval () = opt_unnone{itm}(res) in T_NONE(*void*) end // end of [else] // end // end of [tnode_search] // end // end of [local] (* ****** ****** *) (* end of [pats_lexing_token.dats] *) ATS2-Postiats-0.2.6/./src/pats_global.dats0000664000175000017500000001173212655455557016675 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: August, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_global.sats" (* ****** ****** *) #include "./pats_params.hats" (* ****** ****** *) local val the_PACKNAME = ref (stropt_none) in (* in of [local] *) implement the_PACKNAME_get () = !the_PACKNAME implement the_PACKNAME_set (opt) = !the_PACKNAME := opt end // end of [local] implement the_PACKNAME_set_name (ns) = the_PACKNAME_set (stropt_some (ns)) // end of [the_PACKNAME_set] implement the_PACKNAME_set_none ((*none*)) = the_PACKNAME_set (stropt_none) // end of [the_PACKNAME_set_none] (* ****** ****** *) local // val the_PKGRELOC = ref (0) val the_PKGRELOC_decl = ref (null) // in (* in-of-local *) // implement the_PKGRELOC_get () = !the_PKGRELOC implement the_PKGRELOC_set (flag) = !the_PKGRELOC := flag // implement the_PKGRELOC_get_decl () = let val d0c = !the_PKGRELOC_decl val ((*void*)) = !the_PKGRELOC_decl := null in d0c end // end of [the_PKGRELOC_get_decl] implement the_PKGRELOC_set_decl (d0c) = !the_PKGRELOC_decl := d0c // end // end of [local] (* ****** ****** *) local // (* // // HX: it is no longer in use // val the_STALOADFLAG = ref (0) *) val the_DYNLOADFLAG = ref (0) // in (* in of [local] *) // (* // // HX-2014-06-06: // [STALOADFLAG] is no longer in use // implement the_STALOADFLAG_get () = !the_STALOADFLAG implement the_STALOADFLAG_set (flag) = !the_STALOADFLAG := flag *) // implement the_DYNLOADFLAG_get () = !the_DYNLOADFLAG implement the_DYNLOADFLAG_set (flag) = !the_DYNLOADFLAG := flag // end // end of [local] (* ****** ****** *) local // val the_DYNLOADNAME = ref(stropt_none) // in (* in-of-local *) implement the_DYNLOADNAME_get () = !the_DYNLOADNAME implement the_DYNLOADNAME_set (name) = !the_DYNLOADNAME := stropt_some(name) end // end of [local] (* ****** ****** *) local val the_MAINATSFLAG = ref (0) in (* in of [local] *) implement the_MAINATSFLAG_get () = !the_MAINATSFLAG implement the_MAINATSFLAG_set (flag) = !the_MAINATSFLAG := flag end // end of [local] (* ****** ****** *) local // val the_STATIC_PREFIX = ref (stropt_none) // in (* in-of-local *) // implement the_STATIC_PREFIX_get () = !the_STATIC_PREFIX implement the_STATIC_PREFIX_set (x) = !the_STATIC_PREFIX := stropt_some(x) // end // end of [local] (* ****** ****** *) local // typedef dirlst = List (string) // val the_IATS_dirlst = ref (list_nil) // in (*in-of-local*) // implement the_IATS_dirlst_get () = !the_IATS_dirlst // implement the_IATS_dirlst_ppush (dir) = let val dirs = !the_IATS_dirlst in !the_IATS_dirlst := list_cons (dir, dirs) end // end of [the_IATS_dirlst_ppush] // end // end of [local] (* ****** ****** *) local // val rdbgflag = ref (0) // in (*in-of-local*) // implement the_DEBUGATS_dbgflag_get () = !rdbgflag implement the_DEBUGATS_dbgflag_set (flag) = !rdbgflag := flag // end // end of [local] (* ****** ****** *) local // val rdbgline = ref (0) // in (*in-of-local*) // implement the_DEBUGATS_dbgline_get () = !rdbgline implement the_DEBUGATS_dbgline_set (flag) = !rdbgline := flag // end // end of [local] (* ****** ****** *) local // val rtlcalopt = ref (1) // in // implement the_CCOMPATS_tlcalopt_get () = !rtlcalopt implement the_CCOMPATS_tlcalopt_set (flag) = !rtlcalopt := flag // end // end of [local] (* ****** ****** *) local // val rmaxtmprecdepth = ref (CCOMPENV_MAXTMPRECDEPTH) // in (*in-of-local*) // implement the_CCOMPENV_maxtmprecdepth_get () = !rmaxtmprecdepth implement the_CCOMPENV_maxtmprecdepth_set (mtd) = !rmaxtmprecdepth := mtd // end // end of [local] (* ****** ****** *) (* end of [pats_global.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2.sats0000664000175000017500000013066212655455557017051 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" typedef lstord (a:type) = $UT.lstord (a) (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label (* ****** ****** *) staload FIL = "./pats_filename.sats" typedef filename = $FIL.filename staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolopt = $SYM.symbolopt (* ****** ****** *) // staload SYN = "./pats_syntax.sats" // typedef i0de = $SYN.i0de typedef i0delst = $SYN.i0delst // typedef i0nt = $SYN.i0nt typedef c0har = $SYN.c0har typedef f0loat = $SYN.f0loat typedef s0tring = $SYN.s0tring // typedef l0ab = $SYN.l0ab typedef dl0abeled (a:type) = $SYN.dl0abeled (a) // typedef dcstextdef = $SYN.dcstextdef typedef macsynkind = $SYN.macsynkind // (* ****** ****** *) // staload S1E = "./pats_staexp1.sats" staload D1E = "./pats_dynexp1.sats" // typedef e1xp = $S1E.e1xp typedef e1xplst = $S1E.e1xplst typedef s1exp = $S1E.s1exp typedef d1exp = $D1E.d1exp // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) // // A place holder for [hisexp] // abstype dynexp2_hisexp_type typedef hisexp = dynexp2_hisexp_type typedef hisexpopt = Option (hisexp) // // A place holder for [funlab] // abstype dynexp2_funlab_type typedef funlab = dynexp2_funlab_type typedef funlabopt = Option (funlab) // (* ****** ****** *) // // HX: assumed in [pats_dynexp2_dcst.dats] // abstype d2cst_type typedef d2cst = d2cst_type typedef d2cstlst = List (d2cst) typedef d2cstopt = Option (d2cst) // vtypedef d2cstlst_vt = List_vt (d2cst) vtypedef d2cstopt_vt = Option_vt (d2cst) // abstype d2cstset_type typedef d2cstset = d2cstset_type // absvtype d2cstset_vtype vtypedef d2cstset_vt = d2cstset_vtype // abstype d2cstmap_type(a:type) typedef d2cstmap(a:type) = d2cstmap_type(a) // (* ****** ****** *) // abstype d2var_type typedef d2var = d2var_type typedef d2varlst = List (d2var) typedef d2varopt = Option (d2var) // vtypedef d2varlst_vt = List_vt (d2var) vtypedef d2varopt_vt = Option_vt (d2var) // abstype d2varset_type // assumed in [pats_dynexp2_dvar.dats] typedef d2varset = d2varset_type absvtype d2varset_vtype // assumed in [pats_dynexp2_dvar.dats] vtypedef d2varset_vt = d2varset_vtype // abstype d2varmap_type (a:type) // assumed in [pats_dynexp2_dvar.dats] typedef d2varmap (a:type) = d2varmap_type (a) absvtype d2varmap_vtype (a:type) // assumed in [pats_dynexp2_dvar.dats] vtypedef d2varmap_vt (a:type) = d2varmap_vtype (a) // absvtype d2varmaplst_vtype (a:type) // assumed in [pats_dynexp2_dvar.dats] vtypedef d2varmaplst_vt (a:type) = d2varmaplst_vtype (a) // (* ****** ****** *) abstype d2mac_type typedef d2mac = d2mac_type typedef d2maclst = List (d2mac) (* ****** ****** *) datatype d2itm = | D2ITMcst of d2cst | D2ITMvar of d2var | D2ITMcon of d2conlst | D2ITMe1xp of (e1xp) | D2ITMsymdef of (symbol, d2pitmlst) (* overloaded symbol *) | D2ITMmacdef of d2mac | D2ITMmacvar of d2var // end of [d2itm] and d2pitm = D2PITM of (int(*pval*), d2itm) where d2itmlst = List (d2itm) and d2pitmlst = List (d2pitm) typedef d2itmopt = Option (d2itm) vtypedef d2itmopt_vt = Option_vt (d2itm) (* ****** ****** *) // typedef d2sym = '{ d2sym_loc= location , d2sym_qua= $SYN.d0ynq, d2sym_sym= symbol , d2sym_pitmlst= d2pitmlst } (* end of [d2sym] *) // (* ****** ****** *) // typedef d2symlst = List(d2sym) vtypedef d2symlst_vt = List_vt(d2sym) typedef d2symopt = Option(d2sym) // absvtype d2symset_vtype vtypedef d2symset_vt = d2symset_vtype // (* ****** ****** *) fun d2cst_make ( id: symbol , loc: location // location of declaration , fil: filename // filename of declaration , dck: dcstkind , decarg: s2qualst , artylst: List int , s2e: s2exp // HX: there is no s2Var in it , extdef: dcstextdef ) : d2cst // end of [d2cst_make] (* ****** ****** *) // // HX: implemented in [pats_dynexp2_dcst.dats] // fun print_d2cst (x: d2cst): void fun prerr_d2cst (x: d2cst): void overload print with print_d2cst overload prerr with prerr_d2cst fun fprint_d2cst : fprint_type (d2cst) fun fprint_d2cstlst : fprint_type (d2cstlst) overload fprint with fprint_d2cst overload fprint with fprint_d2cstlst (* ****** ****** *) fun d2cst_get_sym (x: d2cst): symbol fun d2cst_get_loc (x: d2cst): location fun d2cst_get_fil (x: d2cst): filename // fun d2cst_get_name (x: d2cst): string fun d2cst_get_kind (x: d2cst): dcstkind // fun d2cst_get_decarg (x: d2cst): s2qualst fun d2cst_set_decarg (x: d2cst, s2qs: s2qualst): void // fun d2cst_get_artylst (x: d2cst): List (int) // fun d2cst_get_type (x: d2cst): s2exp // fun d2cst_get_hisexp (x: d2cst): hisexpopt fun d2cst_set_hisexp (x: d2cst, opt: hisexpopt): void // fun d2cst_get_funlab (x: d2cst): funlabopt fun d2cst_set_funlab (x: d2cst, opt: funlabopt): void // fun d2cst_get_pack (x: d2cst): Stropt fun d2cst_get_extdef (x: d2cst): dcstextdef // fun d2cst_get_stamp (x: d2cst): stamp (* ****** ****** *) // fun d2cst_is_prf (d2c: d2cst): bool // a proof fun d2cst_is_nonprf (d2c: d2cst): bool // a nonproof // fun d2cst_is_mac (d2c: d2cst): bool // function fun d2cst_is_fun (d2c: d2cst): bool // function // fun d2cst_is_static (d2c: d2cst): bool // static // fun d2cst_is_fundec (d2c: d2cst): bool // fun declaration fun d2cst_is_valdec (d2c: d2cst): bool // val declaration fun d2cst_is_castfn (d2c: d2cst): bool // castfn declaration // fun d2cst_is_tmpcst (d2c: d2cst): bool // template? // fun d2cst_is_mainats (d2c: d2cst): bool // a [mainats] fun // (* ****** ****** *) fun lt_d2cst_d2cst (x1: d2cst, x2: d2cst):<> bool and lte_d2cst_d2cst (x1: d2cst, x2: d2cst):<> bool overload < with lt_d2cst_d2cst overload <= with lte_d2cst_d2cst fun eq_d2cst_d2cst (x1: d2cst, x2: d2cst):<> bool and neq_d2cst_d2cst (x1: d2cst, x2: d2cst):<> bool overload = with eq_d2cst_d2cst overload <> with neq_d2cst_d2cst overload != with neq_d2cst_d2cst fun compare_d2cst_d2cst (x1: d2cst, x2: d2cst):<> Sgn overload compare with compare_d2cst_d2cst (* ****** ****** *) fun d2cstset_nil ():<> d2cstset fun d2cstset_add (xs: d2cstset, x: d2cst):<> d2cstset fun d2cstset_ismem (xs: d2cstset, x: d2cst):<> bool (* ****** ****** *) fun d2cstset_vt_nil ():<> d2cstset_vt fun d2cstset_vt_add (xs: d2cstset_vt, x: d2cst):<> d2cstset_vt fun d2cstset_vt_listize_free (xs: d2cstset_vt):<> d2cstlst_vt (* ****** ****** *) // fun d2cstmap_nil{a:type} ():<> d2cstmap (a) fun d2cstmap_search {a:type}(map: d2cstmap(a), d2v: d2cst): Option_vt (a) fun d2cstmap_insert {a:type}(map: &d2cstmap(a), d2v: d2cst, x: a): bool(*found*) // (* ****** ****** *) fun d2var_make (loc: location, id: symbol): d2var fun d2var_make_any (loc: location): d2var fun d2var_ptr_viewat_make (ptr: d2var, opt: d2varopt): d2var fun d2var_ptr_viewat_make_none (ptr: d2var): d2var (* ****** ****** *) fun print_d2var (x: d2var): void and prerr_d2var (x: d2var): void overload print with print_d2var overload prerr with prerr_d2var fun fprint_d2var : fprint_type (d2var) overload fprint with fprint_d2var fun fprint_d2varlst : fprint_type (d2varlst) overload fprint with fprint_d2varlst (* ****** ****** *) datatype d2vfin = | D2VFINnone of () | D2VFINsome of (s2exp) | D2VFINsome_lvar of (s2exp) // for local vars | D2VFINsome_vbox of (s2exp) // for vboxed proofs | D2VFINdone of (d2vfin) // funarg_d2vfin_checked // end of [d2vfin] fun print_d2vfin (x: d2vfin): void fun prerr_d2vfin (x: d2vfin): void fun fprint_d2vfin : fprint_type (d2vfin) (* ****** ****** *) fun d2var_get_sym (x: d2var):<> symbol fun d2var_get_loc (x: d2var):<> location fun d2var_get_isfix (x: d2var):<> bool fun d2var_set_isfix (x: d2var, isfix: bool): void fun d2var_get_isprf (x: d2var):<> bool fun d2var_set_isprf (x: d2var, isprf: bool): void fun d2var_get_level (x: d2var):<> int fun d2var_set_level (x: d2var, level: int): void fun d2var_get_linval (x: d2var):<> int fun d2var_set_linval (x: d2var, linval: int): void fun d2var_inc_linval (x: d2var): void fun d2var_get_decarg (x: d2var):<> s2qualst fun d2var_set_decarg (x: d2var, decarg: s2qualst): void fun d2var_get_addr (x: d2var):<> s2expopt fun d2var_set_addr (x: d2var, opt: s2expopt): void fun d2var_get_view (x: d2var):<> d2varopt fun d2var_set_view (x: d2var, d2vopt: d2varopt): void fun d2var_get_finknd (_: d2var):<> d2vfin fun d2var_set_finknd (_: d2var, knd: d2vfin): void fun d2var_get_type (x: d2var):<> s2expopt fun d2var_set_type (x: d2var, opt: s2expopt): void // fun d2var_get_mastype (x: d2var):<> s2expopt fun d2var_set_mastype (x: d2var, opt: s2expopt): void // fun d2var_get_hisexp (x: d2var):<> hisexpopt fun d2var_set_hisexp (x: d2var, opt: hisexpopt): void // fun d2var_exch_type (x: d2var, opt: s2expopt): s2expopt // fun d2var_get_utimes (x: d2var):<> int fun d2var_set_utimes (x: d2var, nused: int):<> void fun d2var_inc_utimes (x: d2var):<> void // fun d2var_get_stamp (x: d2var):<> stamp (* ****** ****** *) (* ** HX: [d2v] is linear if its linval is nonneg *) fun d2var_is_linear (d2v: d2var): bool (* ** HX: [d2v] is mutable if it contains some view *) fun d2var_is_mutabl (d2v: d2var): bool (* ****** ****** *) fun eq_d2var_d2var (x1: d2var, x2: d2var):<> bool fun neq_d2var_d2var (x1: d2var, x2: d2var):<> bool overload = with eq_d2var_d2var overload != with neq_d2var_d2var overload <> with neq_d2var_d2var fun compare_d2var_d2var (x1: d2var, x2: d2var):<> Sgn overload compare with compare_d2var_d2var fun compare_d2vsym_d2vsym (x1: d2var, x2: d2var):<> Sgn (* ****** ****** *) fun d2varset_nil ():<> d2varset fun d2varset_ismem (xs: d2varset, x: d2var):<> bool fun d2varset_add (xs: d2varset, x: d2var):<> d2varset fun d2varset_listize (xs: !d2varset):<> List_vt (d2var) fun fprint_d2varset : fprint_type (d2varset) (* ****** ****** *) fun d2varset_vt_nil ():<> d2varset_vt fun d2varset_vt_free (xs: d2varset_vt):<> void fun d2varset_vt_ismem (xs: !d2varset_vt, x: d2var):<> bool fun d2varset_vt_add (xs: d2varset_vt, x: d2var):<> d2varset_vt fun d2varset_vt_listize (xs: !d2varset_vt):<> d2varlst_vt fun d2varset_vt_listize_free (xs: d2varset_vt):<> d2varlst_vt (* ****** ****** *) fun d2varmap_nil {a:type} ():<> d2varmap (a) fun d2varmap_search {a:type} (map: d2varmap(a), d2v: d2var):<> Option_vt (a) fun d2varmap_insert {a:type} (map: &d2varmap(a), d2v: d2var, x: a):<> bool(*found*) fun d2varmap_listize {a:type} (map: d2varmap(a)):<> List_vt @(d2var, a) (* ****** ****** *) // fun d2varmap_vt_nil {a:type} ():<> d2varmap_vt (a) fun d2varmap_vt_free {a:type} (map: d2varmap_vt(a)):<> void // fun d2varmap_vt_search {a:type} (map: !d2varmap_vt(a), d2v: d2var):<> Option_vt(a) fun d2varmap_vt_insert {a:type} (map: &d2varmap_vt(a), d2v: d2var, x: a):<> bool(*found*) fun d2varmap_vt_remove {a:type} (map: &d2varmap_vt(a), d2v: d2var):<> bool(*found*) // fun d2varmap_vt_listize {a:type} (map: !d2varmap_vt(a)):<> List_vt @(d2var, a) // (* ****** ****** *) // fun d2varmaplst_vt_nil {a:type} ():<> d2varmaplst_vt (a) fun d2varmaplst_vt_free {a:type} (map: d2varmaplst_vt(a)):<> void // fun d2varmaplst_vt_search {a:type} (map: !d2varmaplst_vt(a), d2v: d2var):<> Option_vt(a) fun d2varmaplst_vt_insert {a:type} (map: &d2varmaplst_vt(a), d2v: d2var, x: a):<> bool(*found*) fun d2varmaplst_vt_remove {a:type} (map: &d2varmaplst_vt(a), d2v: d2var):<> bool(*found*) // (* ****** ****** *) datatype m2acarg = | M2ACARGsta of s2varlst | M2ACARGdyn of d2varlst // end of [m2acarg] typedef m2acarglst = List (m2acarg) fun fprint_m2acarg : fprint_type (m2acarg) fun fprint_m2acarglst : fprint_type (m2acarglst) (* ****** ****** *) fun d2mac_get_sym (x: d2mac): symbol fun d2mac_get_loc (x: d2mac): location fun d2mac_get_kind (x: d2mac): int (* 1/0: long/short form *) fun d2mac_get_arglst (x: d2mac): m2acarglst fun d2mac_get_stamp (x: d2mac): stamp fun print_d2mac (x: d2mac): void overload print with print_d2mac fun prerr_d2mac (x: d2mac): void overload prerr with prerr_d2mac fun fprint_d2mac : fprint_type (d2mac) (* ****** ****** *) fun print_d2itm (x: d2itm): void overload print with print_d2itm fun prerr_d2itm (x: d2itm): void overload prerr with prerr_d2itm fun fprint_d2itm : fprint_type (d2itm) fun fprint_d2itmlst : fprint_type (d2itmlst) fun fprint_d2pitm : fprint_type (d2pitm) fun fprint_d2pitmlst : fprint_type (d2pitmlst) (* ****** ****** *) // fun d2sym_make ( loc: location , dq: $SYN.d0ynq, id: symbol, d2pis: d2pitmlst ) : d2sym // end of [d2sym_make] // (* ****** ****** *) // fun print_d2sym (d2s: d2sym): void fun prerr_d2sym (d2s: d2sym): void fun fprint_d2sym : fprint_type (d2sym) // overload print with print_d2sym overload prerr with prerr_d2sym overload fprint with fprint_d2sym // (* ****** ****** *) fun d2symset_vt_nil ():<> d2symset_vt fun d2symset_vt_add (xs: d2symset_vt, x: d2sym):<> d2symset_vt fun d2symset_vt_listize_free (xs: d2symset_vt):<> d2symlst_vt (* ****** ****** *) datatype pckind = | PCKcon of () // 0 // nonlin | PCKlincon of () // 1 // lincon | PCKfree of () // 2 // freeing | PCKunfold of () // 3 // folding // end of [pckind] typedef pckindopt = Option (pckind) (* ****** ****** *) // fun print_pckind (x: pckind): void fun prerr_pckind (x: pckind): void fun fprint_pckind : fprint_type (pckind) // overload print with print_pckind overload prerr with prerr_pckind overload fprint with fprint_pckind // (* ****** ****** *) fun fprint_pckindopt : fprint_type (pckindopt) (* ****** ****** *) fun eq_pckind_pckind (x1: pckind, x2: pckind): bool overload = with eq_pckind_pckind (* ****** ****** *) datatype p2at_node = // | P2Tany of () // wildcard | P2Tvar of d2var // mutability determined by the context // // constructor pattern // | P2Tcon of ( pckind, d2con, s2qualst, s2exp(*con*), int(*npf*), p2atlst ) (* end of [P2Tcon] *) // | P2Tint of int | P2Tintrep of string // | P2Tbool of bool | P2Tchar of char | P2Tfloat of string(*rep*) | P2Tstring of string // | P2Ti0nt of i0nt | P2Tf0loat of f0loat // | P2Tempty of () // | P2Tlst of (int(*lin*), p2atlst) // pattern list | P2Trec of (int(*knd*), int(*npf*), labp2atlst) // | P2Trefas of (d2var, p2at) // | P2Texist of (s2varlst, p2at) // existential opening // | P2Tvbox of d2var // vbox pattern for handling references // | P2Tann of (p2at, s2exp) // no s2Var in the ascribed type // | P2Tlist of (int(*npf*), p2atlst) // | P2Terrpat of () // HX: placeholder for indicating an error // end of [p2at_node] and labp2at = | LABP2ATnorm of (l0ab, p2at) | LABP2ATomit of (location) // for [...] // end of [labp2at] where p2at = '{ p2at_loc= location , p2at_svs= lstord (s2var) , p2at_dvs= lstord (d2var) , p2at_type= s2expopt // ref@ (s2expopt) , p2at_node= p2at_node } (* end of [p2at] *) and p2atlst = List (p2at) and p2atopt = Option (p2at) and labp2atlst = List (labp2at) (* ****** ****** *) fun p2at_set_type ( p2t: p2at, opt: s2expopt ) : void = "ext#patsopt_p2at_set_type" (* ****** ****** *) fun p2atlst_svs_union (p2ts: p2atlst): lstord (s2var) fun p2atlst_dvs_union (p2ts: p2atlst): lstord (d2var) (* ****** ****** *) fun p2at_make_node ( loc: location , svs: lstord (s2var), dvs: lstord (d2var) , node: p2at_node ) : p2at // end of [p2at_make_node] fun p2at_any (loc: location): p2at fun p2at_var (loc: location, d2v: d2var): p2at fun p2at_con ( loc: location , pck: pckind , d2c: d2con , s2qs: s2qualst , s2f_con: s2exp , npf: int , darg: p2atlst ) : p2at // end of ... fun p2at_int (loc: location, i: int): p2at fun p2at_intrep (loc: location, rep: string): p2at fun p2at_bool (loc: location, b: bool): p2at fun p2at_char (loc: location, c: char): p2at fun p2at_float (loc: location, rep: string): p2at fun p2at_string (loc: location, str: string): p2at // fun p2at_i0nt (loc: location, x: i0nt): p2at fun p2at_f0loat (loc: location, x: f0loat): p2at // fun p2at_empty (loc: location): p2at fun p2at_list // HX: flat tuple (loc: location, npf: int, p2ts: p2atlst): p2at // end of [p2at_list] fun p2at_rec ( loc: location, knd: int, npf: int, lp2ts: labp2atlst ) : p2at // end of [p2at_tup] fun p2at_lst ( loc: location, lin: int, p2ts: p2atlst ) : p2at // end of [p2at_lst] fun p2at_refas (loc: location, d2v: d2var, p2t: p2at): p2at // end of [p2at_refas] fun p2at_exist (loc: location, s2vs: s2varlst, p2t: p2at): p2at // end of [p2at_exist] fun p2at_vbox (loc: location, d2v: d2var): p2at fun p2at_ann (loc: location, p2t: p2at, ann: s2exp): p2at fun p2at_errpat (loc: location): p2at (* ****** ****** *) // fun p2atlst_tupize (p2ts: p2atlst): labp2atlst // (* ****** ****** *) // fun print_p2at (x: p2at): void fun prerr_p2at (x: p2at): void fun fprint_p2at : fprint_type (p2at) // overload print with print_p2at overload prerr with prerr_p2at overload fprint with fprint_p2at // (* ****** ****** *) // fun print_p2atlst (xs: p2atlst): void fun prerr_p2atlst (xs: p2atlst): void fun fprint_p2atlst : fprint_type (p2atlst) // overload print with print_p2atlst overload prerr with prerr_p2atlst overload fprint with fprint_p2atlst // (* ****** ****** *) fun fprint_labp2at : fprint_type (labp2at) fun fprint_labp2atlst : fprint_type (labp2atlst) (* ****** ****** *) datatype d2ecl_node = // | D2Cnone of () // for something already erased | D2Clist of d2eclist // for list of declarations // | D2Csymintr of (i0delst) | D2Csymelim of (i0delst) // for temporary use | D2Coverload of // symbol overloading (i0de, int(*pval*), d2itmopt) // [None] indicates error // end of [D2Coverload] // | D2Cpragma of (e1xplst) // HX: #pragma ... | D2Ccodegen of (int(*knd*), e1xplst) // HX: #codegen ... // | D2Cstacsts of s2cstlst // for [stacst] declarations | D2Cstacons of (int(*knd*), s2cstlst) // for [stacon] declarations // end of [D2Cstacons] // (* | D2Cstavars of s2tavarlst // for [stavar] declarations *) // | D2Csaspdec of s2aspdec (* for static assumption *) // | D2Cextype of (string(*name*), s2exp(*def*)) | D2Cextvar of (string(*name*), d2exp(*def*)) | D2Cextcode of (int(*knd*), int(*pos*), string(*code*)) // | D2Cdatdecs of (int(*knd*), s2cstlst) // datatype declarations | D2Cexndecs of (d2conlst) // exception constructor declarations // | D2Cdcstdecs of (int(*0/1:sta/ext*), dcstkind, d2cstlst) // dyncst // | D2Cimpdec of (int(*knd*), i2mpdec) // knd=0/1 : implement/primplmnt // | D2Cfundecs of (funkind, s2qualst, f2undeclst) | D2Cvaldecs of (valkind, v2aldeclst) // (nonrec) value declarations // end of [D2Cvaldecs] | D2Cvaldecs_rec of (valkind, v2aldeclst) // (recursive) value declarations // end of [D2Cvaldecs_rec] // | D2Cvardecs of (v2ardeclst) // variable declarations | D2Cprvardecs of (prv2ardeclst) // proof variable declarations // | D2Cinclude of (int(*knd*), d2eclist) (* file inclusion *) // | D2Cstaload of ( symbolopt, filename, int(*loadflag*), filenv, int(*loaded*) ) (* end of [D2staload] *) // | D2Cstaloadloc of (filename(*pfil*), symbol(*nspace*), filenv) // | D2Cdynload of (filename) (* dynamic load for initialization *) // | D2Clocal of (d2eclist(*head*), d2eclist(*body*)) // local declaration // | D2Cerrdec of ((*void*)) // HX: indication of erroneous declaration // end of [d2ecl_node] and d2exp_node = // | D2Ecst of d2cst (* dynamic constants *) | D2Evar of d2var (* dynamic variables *) // | D2Eint of int | D2Eintrep of string(*rep*) | D2Ebool of bool | D2Echar of char | D2Efloat of string(*rep*) | D2Estring of string // | D2Ei0nt of i0nt | D2Ec0har of c0har | D2Ef0loat of f0loat | D2Es0tring of s0tring // | D2Etop of () // a placeholder of unspecified type | D2Etop2 of (s2exp) // a placeholder of specified type | D2Eempty of () // the void-value (of unspecified size) // | D2Ecstsp of $SYN.cstsp // special constants // | D2Eliteral of (d2exp) // $literal: int, float, string // | D2Eextval of (s2exp(*type*), string(*name*)) | D2Eextfcall of ( s2exp(*res*), string(*fun*), d2explst(*arg*) ) (* end of [D2Eextfcall] *) | D2Eextmcall of ( s2exp(*res*), d2exp(*obj*), string(*method*), d2explst(*arg*) ) (* end of [D2Eextmcall] *) // // HX: data-constructor // | D2Econ of ( d2con, location(*fun*) , s2exparglst(*sarg*), int(*npf*), location(*arg*), d2explst(*darg*) ) (* end of [D2Econ] *) // | D2Esym of d2sym // overloaded dynamic symbol // | D2Efoldat of (* folding at a given address *) (s2exparglst, d2exp) | D2Efreeat of (* freeing at a given address *) (s2exparglst, d2exp) // | D2Etmpid of (d2exp(*id*), t2mpmarglst) // tmpcst/tmpvar instantiation // end of [D2Etmpid] // | D2Elet of (d2eclist, d2exp) // let-expression | D2Ewhere of (d2exp, d2eclist) // where-expression // | D2Eapplst of (d2exp, d2exparglst) // | D2Eifhead of // dynamic conditional (i2nvresstate, d2exp, d2exp, d2expopt) | D2Esifhead of // static conditional (i2nvresstate, s2exp, d2exp, d2exp) // | D2Ecasehead of ( // dynamic case-expression caskind, i2nvresstate, d2explst, c2laulst ) // end of [D2Ecaseof] | D2Escasehead of ( i2nvresstate, s2exp, sc2laulst // static case-expression ) // end of [D2Escaseof] // | D2Esing of (d2exp) // singleton | D2Elist of (int(*pfarity*), d2explst) // temporary // | D2Elst of (int(*lin*), s2expopt, d2explst) // list | D2Etup of (int(*knd*), int(*npf*), d2explst) // tuple | D2Erec of (int (*knd*), int (*npf*), labd2explst) // record | D2Eseq of d2explst // sequence-expressions // sequencing // | D2Eselab of (d2exp, d2lablst) // record/tuple field selection // | D2Eptrof of (d2exp) // taking the address of | D2Eviewat of (d2exp) // taking view at a given address // | D2Ederef of (d2exp) // deref a left-value | D2Eassgn of (d2exp(*left*), d2exp(*right*)) | D2Exchng of (d2exp(*left*), d2exp(*right*)) // | D2Earrsub of (* array subscription *) (d2sym, d2exp, location(*ind*), d2explst(*ind*)) | D2Earrpsz of (* $arrpsz expression *) (s2expopt (*elt*), d2explst (*elements*)) | D2Earrinit of (* array initialization *) (s2exp (*elt*), d2expopt (*asz*), d2explst (*ini*)) // | D2Eraise of (d2exp) // raised exception // | D2Eeffmask of (s2eff, d2exp) // $effmask (s2eff, d2exp) // | D2Eshowtype of (d2exp) // $showtype: for debugging // | D2Evcopyenv of (int(*knd*), d2exp) // $vcopyenv_v/$vcopyenv_vt // | D2Etempenver of (d2varlst) // $tempenver: for environvars // | D2Eexist of (s2exparg, d2exp) // witness-carrying expression // | D2Elam_dyn of (* boxed dynamic abstraction *) (int(*lin*), int(*npf*), p2atlst(*arg*), d2exp(*body*)) | D2Elaminit_dyn of (* flat dynamic abstraction *) (int(*lin*), int(*npf*), p2atlst(*arg*), d2exp(*body*)) | D2Elam_sta of (s2varlst, s2explst(*s2ps*), d2exp(*body*)) // static abstraction | D2Elam_met of (ref(d2varlst), s2explst(*met*), d2exp(*body*)) // termination metric // | D2Efix of ( int(*knd=0/1:flat/boxed*), d2var(*fixvar*), d2exp(*def*) ) (* end of [D2Efix] *) // | D2Edelay of (d2exp(*eval*)) // $delay | D2Eldelay of (d2exp(*eval*), d2expopt(*free*)) // $ldelay // | D2Efor of ( loopi2nv, d2exp(*init*), d2exp(*test*), d2exp(*post*), d2exp(*body*) ) // end of [D2Efor] | D2Ewhile of (loopi2nv, d2exp(*test*), d2exp(*body*)) // | D2Eloopexn of int(*knd*) // | D2Etrywith of (i2nvresstate, d2exp, c2laulst) // | D2Eann_type of (d2exp, s2exp) // ascribled expression | D2Eann_seff of (d2exp, s2eff) // ascribed with effects | D2Eann_funclo of (d2exp, funclo) // ascribed with funtype // | D2Emac of (d2mac) // macro-expression | D2Emacsyn of (macsynkind, d2exp) // backquote-comma-notation | D2Emacfun of (symbol(*name*), d2explst) // built-in macfun // | D2Esolassert of (d2exp) // $solve_assert(d2e_prf) | D2Esolverify of (s2exp) // $solve_verify(s2e_prop) // | D2Eerrexp of () // HX: placeholder for indicating an error // end of [d2exp_node] and d2exparg = | D2EXPARGsta of (location(*arg*), s2exparglst) | D2EXPARGdyn of (int(*npf*), location(*arg*), d2explst) // end of [d2exparg] and d2lab_node = | D2LABlab of (label) | D2LABind of (d2explst) // end of [d2lab_node] where d2ecl = '{ d2ecl_loc= location, d2ecl_node= d2ecl_node } // end of [d2ecl] and d2eclist = List (d2ecl) and d2exp = '{ d2exp_loc= location , d2exp_node= d2exp_node, d2exp_type= s2expopt } (* end of [d2exp] *) and d2explst = List (d2exp) and d2expopt = Option (d2exp) and labd2exp = dl0abeled (d2exp) and labd2explst = List (labd2exp) and d2exparglst = List (d2exparg) (* ****** ****** *) and d2lab = '{ d2lab_loc= location , d2lab_node= d2lab_node , d2lab_overld= d2symopt } // end of [d2lab] and d2lablst = List d2lab (* ****** ****** *) and i2nvarg = '{ i2nvarg_var= d2var , i2nvarg_type= s2expopt } // end of [i2nvarg] and i2nvarglst = List i2nvarg and i2nvresstate = '{ i2nvresstate_svs= s2varlst , i2nvresstate_gua= s2explst , i2nvresstate_arg= i2nvarglst , i2nvresstate_met= s2explstopt } // end of [i2nvresstate] and loopi2nv = '{ loopi2nv_loc= location , loopi2nv_svs= s2varlst , loopi2nv_gua= s2explst , loopi2nv_arg= i2nvarglst (* argument *) , loopi2nv_met= s2explstopt (* metric *) , loopi2nv_res= i2nvresstate (* result *) } // end of [loopi2nv] (* ****** ****** *) and gm2at = '{ gm2at_loc= location , gm2at_exp= d2exp , gm2at_pat= p2atopt } // end of [gm2at] and gm2atlst = List (gm2at) (* ****** ****** *) and c2lau = '{ c2lau_loc= location , c2lau_pat= p2atlst , c2lau_gua= gm2atlst , c2lau_seq= int , c2lau_neg= int , c2lau_body= d2exp } // end of [c2lau] and c2laulst = List (c2lau) and sc2lau = '{ sc2lau_loc= location , sc2lau_pat= sp2at , sc2lau_body= d2exp } // end of [sc2lau] and sc2laulst = List (sc2lau) (* ****** ****** *) and f2undec = '{ f2undec_loc= location , f2undec_var= d2var , f2undec_def= d2exp , f2undec_ann= s2expopt } // end of [f2undec] and f2undeclst = List f2undec (* ****** ****** *) and v2aldec = '{ v2aldec_loc= location , v2aldec_pat= p2at , v2aldec_def= d2exp , v2aldec_ann= s2expopt // [withtype] annotation } (* end of [v2aldec] *) and v2aldeclst = List (v2aldec) (* ****** ****** *) and v2ardec = '{ v2ardec_loc= location , v2ardec_knd= int (* knd=0/1:var/ptr *) , v2ardec_svar= s2var // static address , v2ardec_dvar= d2var // dynamic variable , v2ardec_pfat= d2varopt // proof of at-view , v2ardec_type= s2expopt (* type annotation *) , v2ardec_init= d2expopt // value for initialization , v2ardec_dvaropt= d2varopt // address of variable } (* end of [v2ardec] *) and v2ardeclst = List (v2ardec) (* ****** ****** *) and prv2ardec = '{ prv2ardec_loc= location , prv2ardec_dvar= d2var // dynamic address , prv2ardec_type= s2expopt (* optional type anno *) , prv2ardec_init= d2expopt // initial value (optional) } // end of [prv2ardec] and prv2ardeclst = List (prv2ardec) (* ****** ****** *) and i2mpdec = '{ i2mpdec_loc= location , i2mpdec_locid= location , i2mpdec_cst= d2cst , i2mpdec_imparg= s2varlst // static variables , i2mpdec_tmparg= s2explstlst // static args , i2mpdec_tmpgua= s2explstlst // static guards , i2mpdec_def= d2exp } // end of [i2mpdec] (* ****** ****** *) datatype d2lval = // type for left-values | D2LVALderef of (* ptr/ref path selection *) (d2exp(*ptr/ref*), d2lablst) | D2LVALvar_lin of (d2var, d2lablst) // linear d2var | D2LVALvar_mut of (d2var, d2lablst) // mutable d2var | D2LVALarrsub of (* array subscription *) (d2sym(*brackets*), d2exp, location(*ind*), d2explst) | D2LVALviewat of (d2exp(*lval*)) // [lval] is 'addresssed' | D2LVALnone of d2exp (* non-left-values *) // end of [d2lval] (* ****** ****** *) // fun print_d2exp (x: d2exp): void fun prerr_d2exp (x: d2exp): void fun fprint_d2exp : fprint_type (d2exp) fun fprint_d2explst : fprint_type (d2explst) fun fprint_d2expopt : fprint_type (d2expopt) // overload print with print_d2exp overload prerr with prerr_d2exp overload fprint with fprint_d2exp overload fprint with fprint_d2explst overload fprint with fprint_d2expopt // (* ****** ****** *) fun fprint_labd2exp : fprint_type (labd2exp) fun fprint_labd2explst : fprint_type (labd2explst) overload fprint with fprint_labd2explst (* ****** ****** *) fun fprint_d2exparg : fprint_type (d2exparg) fun fprint_d2exparglst : fprint_type (d2exparglst) overload fprint with fprint_d2exparglst (* ****** ****** *) fun fprint_d2lab : fprint_type (d2lab) fun fprint_d2lablst : fprint_type (d2lablst) overload fprint with fprint_d2lablst (* ****** ****** *) fun fprint_loopi2nv : fprint_type (loopi2nv) fun fprint_i2nvarglst : fprint_type (i2nvarglst) fun fprint_i2nvresstate : fprint_type (i2nvresstate) (* ****** ****** *) // fun print_d2ecl (x: d2ecl): void fun prerr_d2ecl (x: d2ecl): void fun fprint_d2ecl : fprint_type (d2ecl) fun fprint_d2eclist : fprint_type (d2eclist) // overload print with print_d2ecl overload prerr with prerr_d2ecl overload fprint with fprint_d2ecl overload fprint with fprint_d2eclist // (* ****** ****** *) // fun print_d2lval (x: d2lval): void and prerr_d2lval (x: d2lval): void fun fprint_d2lval : fprint_type (d2lval) // overload print with print_d2lval overload prerr with prerr_d2lval overload fprint with fprint_d2lval // (* ****** ****** *) // // HX: dynamic expressions // (* ****** ****** *) fun d2exp_set_type ( d2e: d2exp, opt: s2expopt ) : void = "ext#patsopt_d2exp_set_type" (* ****** ****** *) fun d2exp_make_node (loc: location, node: d2exp_node): d2exp // end of [d2exp_make_node] (* ****** ****** *) fun d2exp_var (loc: location, d2v: d2var): d2exp (* ****** ****** *) fun d2exp_int (loc: location, i: int): d2exp fun d2exp_intrep (loc: location, rep: string): d2exp fun d2exp_bool (loc: location, b: bool): d2exp fun d2exp_char (loc: location, c: char): d2exp fun d2exp_float (loc: location, rep: string): d2exp fun d2exp_string (loc: location, s: string): d2exp (* ****** ****** *) fun d2exp_i0nt (loc: location, x: i0nt): d2exp fun d2exp_c0har (loc: location, x: c0har): d2exp fun d2exp_f0loat (loc: location, x: f0loat): d2exp fun d2exp_s0tring (loc: location, x: s0tring): d2exp (* ****** ****** *) fun d2exp_top (loc: location): d2exp fun d2exp_top2 (loc: location, s2e: s2exp): d2exp (* ****** ****** *) fun d2exp_empty (loc: location): d2exp (* ****** ****** *) // fun d2exp_cstsp ( loc: location, cst: $SYN.cstsp ) : d2exp // end-of-function // fun d2exp_literal (loc: location, d2e_lit: d2exp): d2exp // (* ****** ****** *) // fun d2exp_extval ( loc: location, s2e: s2exp, name: string ) : d2exp // end of [d2exp_extval] // fun d2exp_extfcall ( loc: location , s2e: s2exp, _fun: string, _arg: d2explst ) : d2exp // end of [d2exp_extfcall] // fun d2exp_extmcall ( loc: location , s2e: s2exp, _obj: d2exp, _mtd: string, _arg: d2explst ) : d2exp // end of [d2exp_extmcall] // (* ****** ****** *) fun d2exp_cst (loc: location, d2c: d2cst): d2exp fun d2exp_con ( loc: location , d2c: d2con , locfun: location // HX: for d2c+sarg , sarg: s2exparglst , npf: int , locarg: location , darg: d2explst ) : d2exp // end of [d2exp_con] fun d2exp_sym (loc: location, d2s: d2sym): d2exp (* ****** ****** *) fun d2exp_loopexn (loc: location, knd: int): d2exp (* ****** ****** *) fun d2exp_foldat ( loc: location, s2as: s2exparglst, d2e: d2exp ) : d2exp // end of [d2exp_foldat] fun d2exp_freeat ( loc: location, s2as: s2exparglst, d2e: d2exp ) : d2exp // end of [d2exp_freeat] (* ****** ****** *) fun d2exp_tmpid ( loc: location, d2e_id: d2exp, t2mas: t2mpmarglst ): d2exp // end of [d2exp_tmpid] (* ****** ****** *) fun d2exp_let (loc: location, d2cs: d2eclist, body: d2exp): d2exp // end of [d2exp_let] fun d2exp_where (loc: location, body: d2exp, d2cs: d2eclist): d2exp // end of [d2exp_where] (* ****** ****** *) fun d2exp_applst ( loc: location , d2e_fun: d2exp, d2as: d2exparglst ) : d2exp // end of [d2exp_applst] fun d2exp_app_sta ( loc: location , d2e_fun: d2exp , locarg: location, sarg: s2exparglst ) : d2exp // end of [d2exp_app_sta] fun d2exp_app_dyn ( loc: location , d2e_fun: d2exp , npf: int, locarg: location, darg: d2explst ) : d2exp // end of [d2exp_app_dyn] fun d2exp_app_sta_dyn ( loc_dyn: location , loc_sta: location , d2e_fun: d2exp, sarg: s2exparglst , locarg: location, npf: int, darg: d2explst ) : d2exp // end of [d2exp_app_sta_dyn] (* ****** ****** *) fun d2exp_ifhead ( loc: location , res: i2nvresstate, _cond: d2exp, _then: d2exp, _else: d2expopt ) : d2exp // end of [d2exp_ifhead] fun d2exp_sifhead ( loc: location , res: i2nvresstate, _cond: s2exp, _then: d2exp, _else: d2exp ) : d2exp // end of [d2exp_sifhead] (* ****** ****** *) fun d2exp_casehead ( loc: location , knd: caskind , res: i2nvresstate , d2es: d2explst , c2ls: c2laulst ) : d2exp // end of [d2exp_casehead] fun d2exp_scasehead ( loc: location , res: i2nvresstate, s2f: s2exp, sc2ls: sc2laulst ) : d2exp // end of [d2exp_scasehead] (* ****** ****** *) // fun d2exp_sing (loc: location, d2e: d2exp): d2exp fun d2exp_list (loc: location, npf: int, d2es: d2explst): d2exp // (* ****** ****** *) // fun d2exp_lst ( loc: location , lin: int, elt: s2expopt, d2es: d2explst ) : d2exp // end of [d2exp_lst] // fun d2exp_tup ( loc: location , knd: int, npf: int, d2es: d2explst ) : d2exp // end of [d2exp_tup] fun d2exp_tup_flt ( loc: location, npf: int, d2es: d2explst ) : d2exp // end of [d2exp_tup_flt] // fun d2exp_rec ( loc: location , knd: int, npf: int, ld2es: labd2explst ) : d2exp // end of [d2exp_rec] // (* ****** ****** *) fun d2exp_seq (loc: location, d2es: d2explst): d2exp fun d2exp_seq2 (loc: location, d2es: d2explst): d2exp (* ****** ****** *) fun d2exp_deref (loc: location, d2e_lval: d2exp): d2exp fun d2exp_assgn (loc: location, _left: d2exp, _right: d2exp): d2exp // end of [d2exp_assgn] fun d2exp_xchng (loc: location, _left: d2exp, _right: d2exp): d2exp // end of [d2exp_xchng] (* ****** ****** *) fun d2exp_arrsub ( loc: location , d2s: d2sym, arr: d2exp, ind: location, ind: d2explst ) : d2exp // end of [d2exp_arrsub] fun d2exp_arrpsz ( loc: location, elt: s2expopt, elts: d2explst ) : d2exp // end of [d2exp_arrpsz] fun d2exp_arrinit ( loc: location , elt: s2exp, asz: d2expopt, ini: d2explst ) : d2exp // end of [d2exp_arrinit] (* ****** ****** *) fun d2exp_ptrof (loc: location, d2e: d2exp): d2exp fun d2exp_viewat (loc: location, d2e: d2exp): d2exp (* ****** ****** *) // fun d2exp_selab ( loc: location, _rec: d2exp, d2ls: d2lablst ) : d2exp // end of [d2exp_selab] // fun d2exp_sel_dot // = d2exp_selab ( loc: location, _rec: d2exp, d2ls: d2lablst ) : d2exp // end of [d2exp_sel_dot] // fun d2exp_sel_ptr (loc: location, _rec: d2exp, d2l: d2lab): d2exp // (* ****** ****** *) // fun d2exp_raise (loc: location, d2e: d2exp): d2exp // (* ****** ****** *) // fun d2exp_effmask (loc: location, s2fe: s2eff, d2e: d2exp): d2exp // (* ****** ****** *) // fun d2exp_showtype (loc: location, d2e: d2exp): d2exp // (* ****** ****** *) // fun d2exp_vcopyenv (loc: location, knd(*v/vt*): int, d2e: d2exp): d2exp // (* ****** ****** *) // fun d2exp_tempenver (loc: location, d2vs: d2varlst): d2exp // (* ****** ****** *) fun d2exp_exist (loc: location, s2a: s2exparg, d2e: d2exp): d2exp // end of [d2exp_exist] (* ****** ****** *) fun d2exp_lam_dyn ( loc: location , lin: int, npf: int, arg: p2atlst, body: d2exp ) : d2exp // end of [d2exp_lam_dyn] fun d2exp_laminit_dyn ( loc: location, knd: int, npf: int, arg: p2atlst, body: d2exp ) : d2exp // end of [d2exp_laminit_dyn] (* ****** ****** *) fun d2exp_lam_met ( loc: location , r: ref(d2varlst), met: s2explst, body: d2exp ) : d2exp // end of [d2exp_lam_met] fun d2exp_lam_met_new (loc: location, met: s2explst, body: d2exp): d2exp // end of [d2exp_lam_met_new] (* ****** ****** *) fun d2exp_lam_sta ( loc: location , s2vs: s2varlst, s2ps: s2explst, body: d2exp ) : d2exp // end of [d2exp_lam_sta] (* ****** ****** *) // fun d2exp_fix (loc: location, knd: int, f: d2var, body: d2exp): d2exp // (* ****** ****** *) // fun d2exp_delay (loc: location, _eval: d2exp): d2exp // fun d2exp_ldelay (loc: location, _eval: d2exp, _free: d2expopt): d2exp // fun d2exp_ldelay_none (loc: location, _eval: d2exp): d2exp // (* ****** ****** *) fun d2exp_while ( loc: location , i2nv: loopi2nv, test: d2exp, body: d2exp ) : d2exp // end of [d2exp_while] fun d2exp_for ( loc: location , i2nv: loopi2nv , init: d2exp, test: d2exp, post: d2exp, body: d2exp ) : d2exp // end of [d2exp_for] (* ****** ****** *) fun d2exp_trywith ( loc: location , r2es: i2nvresstate, d2e: d2exp, c2ls: c2laulst ) : d2exp // end of [d2exp_trywith] (* ****** ****** *) // fun d2exp_ann_type (loc: location, d2e: d2exp, ann: s2exp): d2exp // fun d2exp_ann_seff (loc: location, d2e: d2exp, s2fe: s2eff): d2exp // fun d2exp_ann_funclo (loc: location, d2e: d2exp, funclo: funclo): d2exp // (* ****** ****** *) fun d2exp_mac(loc: location, d2m: d2mac): d2exp fun d2exp_macsyn (loc: location, knd: macsynkind, d2e: d2exp): d2exp // end of [d2exp_macsyn] fun d2exp_macfun (loc: location, name: symbol, d2es: d2explst): d2exp // end of [d2exp_macfun] (* ****** ****** *) // fun d2exp_solassert (loc: location, d2e_prf: d2exp): d2exp // fun d2exp_solverify (loc: location, s2e_prop: s2exp): d2exp // (* ****** ****** *) // fun d2exp_errexp (loc: location): d2exp // HX: indicating error // (* ****** ****** *) fun labd2exp_make (l: l0ab, d2e: d2exp): labd2exp (* ****** ****** *) // fun d2lab_lab (loc: location, lab: label, opt: d2symopt): d2lab fun d2lab_ind (loc: location, ind: d2explst): d2lab // fun fprint_d2lab : fprint_type (d2lab) // (* ****** ****** *) // fun i2nvarg_make (d2v: d2var, s2f: s2expopt): i2nvarg // // HX-2012-06: // let [d2v] be [arg.i2nvarg_var]; this function // returns the proof of the atview of [d2v] if [d2v] // it is mutable; otherwise, [d2v] itself is returned // fun i2nvarg_get_var (arg: i2nvarg): d2var fun i2nvarg_get_type (arg: i2nvarg): s2expopt // val i2nvresstate_nil : i2nvresstate // fun i2nvresstate_make ( s2vs: s2varlst, s2ps: s2explst, arg: i2nvarglst ) : i2nvresstate // end of [i2nvresstate_make] // fun i2nvresstate_make_met ( s2vs: s2varlst , s2ps: s2explst, arg: i2nvarglst, met: s2explstopt ) : i2nvresstate // end of [i2nvresstate_make_met] // (* ****** ****** *) fun loopi2nv_make ( loc: location , svs: s2varlst , gua: s2explst , met: s2explstopt , arg: i2nvarglst , res: i2nvresstate ) : loopi2nv // end of [loopi2nv_make] (* ****** ****** *) fun gm2at_make ( loc: location, d2e: d2exp, p2topt: p2atopt ) : gm2at // end of [gm2at_make] fun c2lau_make ( loc: location , p2ts: p2atlst , gua: gm2atlst , seq: int, neg: int , body: d2exp ) : c2lau // end of [c2lau_make] fun sc2lau_make (loc: location, sp2t: sp2at, body: d2exp): sc2lau // end of [sc2lau_make] (* ****** ****** *) fun d2cst_get_def (d2c: d2cst): d2expopt fun d2cst_set_def (d2c: d2cst, def: d2expopt): void (* ****** ****** *) fun d2mac_make ( loc: location , sym: symbol, knd: int, args: m2acarglst, def: d2exp ) : d2mac // end of [d2mac_make] fun d2mac_get_def (x: d2mac): d2exp fun d2mac_set_def (x: d2mac, def: d2exp): void (* ****** ****** *) fun i2mpdec_make ( loc: location , locid: location , d2c: d2cst , imparg: s2varlst , tmparg: s2explstlst , tmpgua: s2explstlst , def: d2exp ) : i2mpdec // end of [i2mpdec_make] (* ****** ****** *) fun f2undec_make ( loc: location, d2v: d2var, def: d2exp, ann: s2expopt ) : f2undec // end of [f2undec_make] (* ****** ****** *) fun v2aldec_make ( loc: location, p2t0: p2at, def: d2exp, ann: s2expopt ) : v2aldec // end of [v2aldec_make] (* ****** ****** *) fun v2ardec_make ( loc: location , knd: int // knd=0/1:var/ptr , s2v: s2var // static address , d2v: d2var // dynamic variable , pfat: d2varopt // proof of at-view , type: s2expopt // type annotatio , init: d2expopt // value for initialization , d2vopt: d2varopt // address of variable ) : v2ardec // end of [v2ardec_make] fun prv2ardec_make ( loc: location, d2v: d2var, type: s2expopt, init: d2expopt ) : prv2ardec // end of [prv2ardec_make] (* ****** ****** *) // // HX: various declarations // (* ****** ****** *) fun d2ecl_none(loc: location): d2ecl fun d2ecl_list(loc: location, xs: d2eclist): d2ecl (* ****** ****** *) // fun d2ecl_symintr(loc: location, ids: i0delst): d2ecl fun d2ecl_symelim(loc: location, ids: i0delst): d2ecl // (* ****** ****** *) // fun d2ecl_overload ( loc: location, id: i0de, pval: int, opt: d2itmopt ) : d2ecl // end of [d2ecl_overload] // (* ****** ****** *) // fun d2ecl_pragma (loc: location, e1xps: e1xplst): d2ecl fun d2ecl_codegen (loc: location, knd: int, e1xps: e1xplst): d2ecl // (* ****** ****** *) // fun d2ecl_stacsts (loc: location, s2cs: s2cstlst): d2ecl // fun d2ecl_stacons (loc: location, knd: int, s2cs: s2cstlst): d2ecl // (* fun d2ecl_stavars (loc: location, xs: s2tavarlst): d2ecl *) // (* ****** ****** *) fun d2ecl_saspdec (loc: location, dec: s2aspdec): d2ecl (* ****** ****** *) // fun d2ecl_extype (loc: location, name: string, def: s2exp): d2ecl // fun d2ecl_extvar (loc: location, name: string, def: d2exp): d2ecl // fun d2ecl_extcode (loc: location, knd: int, pos: int, code: string): d2ecl // end of [d2ecl_extcode] // (* ****** ****** *) // fun d2ecl_datdecs ( loc: location, knd: int, s2cs: s2cstlst ) : d2ecl // end of [d2ecl_datdecs] // fun d2ecl_exndecs (loc: location, d2cs: d2conlst): d2ecl // fun d2ecl_dcstdecs ( loc: location, knd: int, dck: dcstkind, d2cs: d2cstlst ) : d2ecl // end of [d2ecl_dcstdecs] // (* ****** ****** *) // fun d2ecl_fundecs ( loc: location, knd: funkind, decarg: s2qualst, f2ds: f2undeclst ) : d2ecl // end of [d2ecl_fundecs] // (* ****** ****** *) // fun d2ecl_valdecs ( loc: location, knd: valkind, v2ds: v2aldeclst ) : d2ecl // end of [d2ecl_valdecs] // fun d2ecl_valdecs_rec ( loc: location, knd: valkind, v2ds: v2aldeclst ) : d2ecl // end of [d2ecl_valdecs_rec] // (* ****** ****** *) // fun d2ecl_vardecs (loc: location, v2ds: v2ardeclst): d2ecl fun d2ecl_prvardecs (loc: location, v2ds: prv2ardeclst): d2ecl // (* ****** ****** *) fun d2ecl_impdec (loc: location, knd: int, d2c: i2mpdec): d2ecl // end of [d2ecl_impdec] (* ****** ****** *) fun d2ecl_include (loc: location, knd: int, d2cs: d2eclist): d2ecl // end of [d2ecl_include] (* ****** ****** *) // fun d2ecl_staload ( loc: location , idopt: symbolopt, cfil: filename , ldflag: int, fenv: filenv, loaded: int ) : d2ecl // end-of-fun // fun d2ecl_staloadloc ( loc: location , pfil: filename, nspace: symbol, fenv: filenv ) : d2ecl // end-of-fun // (* ****** ****** *) fun d2ecl_dynload (loc: location, fil: filename): d2ecl (* ****** ****** *) // fun d2ecl_local (loc: location, ds1: d2eclist, ds2: d2eclist): d2ecl // (* ****** ****** *) fun d2ecl_errdec (loc: location): d2ecl (* ****** ****** *) // abstype dynexp2_d3eclist_type // placeholer for [d3eclist] (* abstype dynexp2_hideclist_type // placeholer for [hideclist] *) // (* ****** ****** *) // abstype dynexp2_tmpcstimpmap_type // placeholer for [tmpcstimpmap] abstype dynexp2_tmpvardecmap_type // placeholer for [tmpvardecmap] // (* ****** ****** *) (* ** HX-2013-12: ** HX-2014-09: ** these functions are ** implemented in [pats_dynexp2_util.dats] *) // fun d2exp_is_lam(d2e: d2exp): bool // fun d2exp_is_varlamcst (d2e: d2exp): bool // fun d2con_select_arity (d2cs: d2conlst, n: int): d2conlst // fun d2exp_lvalize (d2e: d2exp): d2lval // fun d2cst_match_def (d2c: d2cst, def: d1exp): bool // fun d2exp_get_seloverld (d2e0: d2exp): d2symopt fun d2exp_get_seloverld_root (d2e0: d2exp): d2exp // (* ****** ****** *) // // HX-2014-12-11 // (* ****** ****** *) // fun d2eclist_mapgen_all ( d2cs: d2eclist ) : ( s2cstset_vt // static , s2varset_vt // static , s2Varset_vt // static , d2conset_vt // static , d2cstset_vt // dynamic , d2varset_vt // dynamic ) (* end of [d2eclist_mapgen_all] *) // (* ****** ****** *) (* end of [pats_dynexp2.sats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_base.dats0000664000175000017500000002522512655455557020074 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_label.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_lexing.sats" // for tokens staload "./pats_tokbuf.sats" // for tokenizing (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement p_i0nt (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_INT _ => let val () = incby1 () in tok end | _ (*non-INT*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_i0nt) in synent_null () end // end of [_] // end // end of [p_i0nt] (* ****** ****** *) implement p_s0tring (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_STRING _ => let val () = incby1 () in tok end | _ (*non-STRING*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_s0tring) in synent_null () end // end of [_] // end // end of [p_s0tring] (* ****** ****** *) (* i0de : IDENTIFIER_alp | IDENTIFIER_sym | EQ | GT | LT | AMPERSAND | BACKSLASH | BANG | TILDE | MINUSGT | MINUSLTGT | GTLT ; /* i0de */ *) implement p_i0de (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of // | T_IDENT_alp (x) => let val () = incby1 () in i0de_make_string (loc, x) end | T_IDENT_sym (x) => let val () = incby1 () in i0de_make_string (loc, x) end // | T_EQ () => let val () = incby1 () in i0de_make_string (loc, "=") end | T_GT () => let val () = incby1 () in i0de_make_string (loc, ">") end | T_LT () => let val () = incby1 () in i0de_make_string (loc, "<") end // | T_AT () => let val () = incby1 () in i0de_make_string (loc, "@") end | T_BACKSLASH () => let val () = incby1 () in i0de_make_string (loc, "\\") end | T_BANG () => let val () = incby1 () in i0de_make_string (loc, "!") end | T_TILDE () => let val () = incby1 () in i0de_make_string (loc, "~") end // | T_MINUSGT () => let val () = incby1 () in i0de_make_string (loc, "->") end | T_MINUSLTGT () => let val () = incby1 () in i0de_make_string (loc, "-<>") end // | T_GTLT () => let val () = incby1 () in i0de_make_string (loc, "><") end // | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_i0de) in synent_null () end // end of [_] // end // end of [p_i0de] (* ****** ****** *) (* i0deseq1 := {i0de}+ *) implement p_i0deseq1 (buf, bt, err) = let val xs = pstar1_fun (buf, bt, err, p_i0de) in list_of_list_vt (xs) end // end of [p_i0deseq1] (* ****** ****** *) implement p_i0dext (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_ext (x) => let val () = incby1 () in i0de_make_string (loc, x) end | _ (*non-IDENT-ext*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_i0dext) in synent_null () end // end of [_] // end // end of [p_i0dext] (* ****** ****** *) implement p_i0de_dlr (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_dlr (x) => let val () = incby1 () in i0de_make_string (loc, x) end | _ (*non-IDENT-dlr*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_i0de_dlr) in synent_null () end // end of [_] // end // end of [p_i0de_dlr] (* ****** ****** *) (* l0ab := | i0de | i0nt /* | LPAREN l0ab RPAREN // HX: this is removed for now */ *) implement p_l0ab (buf, bt, err) = let var ent: synent? val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | _ when ptest_fun ( buf, p_i0de, ent ) => l0ab_make_i0de (synent_decode {i0de} (ent)) | T_INT _ => let val () = incby1 () in l0ab_make_i0nt (tok) end // end of [T_INT] // | _ => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_l0ab) in synent_null () end // end // end of [p_l0ab] (* ****** ****** *) (* p0rec : /*(empty)*/ | LITERAL_int | LPAREN i0de RPAREN | LPAREN i0de IDENTIFIER_sym LITERAL_int RPAREN ; /* p0rec */ *) fun p_p0rec_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : p0rec = let var ent: synent? val err0 = err macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of // | T_INT _ => let val () = incby1 () in p0rec_i0nt (tok) end // | T_LPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_i0de (buf, bt, err) in if err = err0 then let val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of | _ when ptest_fun (buf, p_i0de, ent) => let val ent3 = synent_decode {i0de} (ent) val ent4 = p_i0nt (buf, bt, err) val ent5 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then p0rec_i0de_adj (ent2, ent3, ent4) else synent_null () // end of [if] end | _ => let val ent3 = p_RPAREN (buf, bt, err) in if err = err0 then p0rec_i0de (ent2) else synent_null () end end else synent_null () // end of [if] end (* T_LPAREN *) // | _ (*rest-of-token*) => p0rec_emp () // end // end of [p_p0rec_tok] implement p_p0rec (buf, bt, err) = ptokwrap_fun (buf, bt, err, p_p0rec_tok, PE_p0rec) // end of [p_p0rec] (* ****** ****** *) fun p_effi0de ( buf: &tokbuf, bt: int, err: &int ) : i0de = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_alp name => let val () = incby1 () in i0de_make_string (loc, name) end | _ (*non-IDENT-alp*) => let val () = err := err + 1 in synent_null () end // end // end of [p_effi0de] (* e0fftag ::= | FUN | BANG effi0de | TILDE effi0de | effi0de | LITERAL_int *) implement p_e0fftag (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of // | T_FUN _ => let val () = incby1 () in e0fftag_var_fun (tok) end // | T_BANG () => let val bt = 0 val () = incby1 () val ent2 = p_effi0de (buf, bt, err) in if err = err0 then e0fftag_cst (0, ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end // | T_TILDE () => let val bt = 0 val () = incby1 () val ent2 = p_effi0de (buf, bt, err) in if err = err0 then e0fftag_cst (0, ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end // | T_INT _ => let val () = incby1 () in e0fftag_i0nt (tok) end // | _ when ptest_fun ( buf, p_effi0de, ent ) => e0fftag_i0de (synent_decode {i0de} (ent)) | _ (*rest-of-token*) => let val () = err := err + 1 in synent_null () end // end // end of [p_e0fftag] implement p_e0fftaglst (buf, bt, err) = l2l ( pstar_fun0_COMMA {e0fftag} (buf, bt, p_e0fftag) ) // end of [p_e0fftaglst] (* ****** ****** *) (* colonwith | COLON | COLONLTGT | COLONLT e0fftagseq GT *) implement p_colonwith (buf, bt, err) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val loc = tok.token_loc // (* val () = println! ("p_colonwith: bt = ", bt) val () = println! ("p_colonwith: tok = ", tok) *) // macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_COLON () => let val () = incby1 () in None () end | T_COLONLT () => let val bt = 0 val () = incby1 () val ent2 = p_e0fftaglst (buf, bt, err) val ent3 = p_GT (buf, bt, err) // err = err0 in if err = err0 then Some (ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end | _ (*rest-of-token*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_colonwith) in synent_null () end (* end of [_] *) // end // end of [p_colonwith] (* ****** ****** *) implement p_dcstkind (buf, bt, err) = let val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_FUN _ => let val () = incby1 () in tok end | T_VAL _ => let val () = incby1 () in tok end | _ (*rest-of-token*) => let val () = err := err + 1 in synent_null () end // end // end of [p_dcstkind] (* ****** ****** *) #define s2s string1_of_string (* ****** ****** *) implement p_extnamopt (buf, bt, err) = let val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) in // case+ tok.token_node of | T_EQ () => let val bt = 0 val () = tokbuf_incby1 (buf) val ent2 = p_s0tring (buf, bt, err) in if synent_is_null (ent2) then let val () = tokbuf_set_ntok (buf, n0) in None () end else Some (ent2) // end of [if] end | _ (*non-EQ*) => None () // end // end of [p_extnamopt] (* ****** ****** *) (* end of [pats_parsing_base.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_xchng.dats0000664000175000017500000003406312655455557020040 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_xchng" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, loc1: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc1) val () = prerr ": exchange cannot be performed" val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline () in the_trans3errlst_add (T3E_pfobj_search_none (loc1, s2l)) end // end of [auxerr_pfobj] fun auxmain .<>. ( loc0: loc_t // all , loc1: loc_t // right , pfobj: pfobj , d3ls: d3lablst , s2f0_sel: s2hnf // left , s2rt: &s2exp? >> s2exp ) : s2exp = let // val+~PFOBJ ( d2vw, s2e_ctx, s2e_elt, s2l ) = pfobj val () = s2rt := s2e_elt // var ctxtopt: s2ctxtopt = None () val s2e_sel = s2exp_get_dlablst_context (loc1, s2e_elt, d3ls, ctxtopt) // end of [val] val s2e0_sel = s2hnf2exp (s2f0_sel) in // case+ ctxtopt of | Some (ctxt) => let val () = d2var_inc_linval (d2vw) val s2e_elt = s2ctxt_hrepl (ctxt, s2e0_sel) val s2e = s2exp_hrepl (s2e_ctx, s2e_elt) val () = d2var_set_type (d2vw, Some (s2e)) in s2e_sel end // end of [Some] | None () => let var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc1, s2e_elt, d3ls, linrest, sharing) val s2f_sel = s2exp2hnf (s2e_sel) val () = trans3_env_add_proplst_vt (loc1, s2ps) val err = $SOL.s2hnf_tyleq_solve (loc1, s2f0_sel, s2f_sel) val () = if err > 0 then let val () = prerr_error3_loc (loc1) val () = prerr ": the LHS of exchange cannot be given its RHS type." val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_s2addr_xchng_check_RHS (loc1, s2e0_sel, s2e_sel)) end // end of [if] // end of [val] in s2e_sel end // end of [None] // end // end of [auxmain] in (* in of [local] *) implement s2addr_xchng_check ( loc0(*all*), loc1(*right*) , s2l, d3ls, s2f0(*left*), s2rt ) = let val opt = pfobj_search_atview (s2l) in case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, loc1, pfobj, d3ls, s2f0, s2rt) | ~None_vt () => let val s2e_sel = s2exp_t0ype_err () val () = s2rt := s2e_sel val () = auxerr_pfobj (loc0, loc1, s2l) in s2e_sel end // end of [None_vt] end // end of [s2addr_xchng_check] end // end of [local] (* ****** ****** *) local fun auxerr_nonderef ( d3e: d3exp ) : void = let val loc = d3e.d3exp_loc val () = prerr_error3_loc (loc) val () = prerr ": the dynamic expression cannot be dereferenced." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_nonderef (d3e)) end // end of [auxerr_nonderef] fun auxerr1 ( loc0: loc_t // all , loc1: loc_t // right , s2f0_sel: s2hnf // left , s2f1_sel: s2hnf // right ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the RHS of exchange cannot be given its LHS type." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0_sel = s2hnf2exp (s2f0_sel) val s2e1_sel = s2hnf2exp (s2f1_sel) in the_trans3errlst_add (T3E_s2addr_xchng_check_LHS (loc1, s2e0_sel, s2e1_sel)) end // end of [auxerr1] fun auxerr2 ( loc0: loc_t // all , loc1: loc_t // right , s2f0_sel: s2hnf // left , s2f1_sel: s2hnf // right ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the LHS of exchange cannot be given its RHS type." val () = prerr_newline () val () = prerr_the_staerrlst () val s2e0_sel = s2hnf2exp (s2f0_sel) val s2e1_sel = s2hnf2exp (s2f1_sel) in the_trans3errlst_add (T3E_s2addr_xchng_check_RHS (loc0, s2e0_sel, s2e1_sel)) end // end of [auxerr2] fun aux1 ( loc0: loc_t // all , loc1: loc_t // right , s2f0: s2hnf // right , d3e: d3exp, d3ls: d3lablst , s2f0_sel: s2hnf // left ) : d3exp = let val opt = un_s2exp_ptr_addr_type (s2f0) in // case+ opt of | ~Some_vt (s2l) => let var s2rt: s2exp val s2e_sel = s2addr_xchng_check (loc0, loc1, s2l, d3ls, s2f0_sel, s2rt) // end of [val] val s2f_sel = s2exp2hnf (s2e_sel) val err = $SOL.s2hnf_tyleq_solve (loc0, s2f_sel, s2f0_sel) val () = if err > 0 then auxerr1 (loc0, loc1, s2f0_sel, s2f_sel) in d3exp_sel_ptr (loc1, s2e_sel, d3e, s2rt, d3ls) end // end of [Some_vt] | ~None_vt () => aux2 (loc0, loc1, s2f0, d3e, d3ls, s2f0_sel) // end // end of [aux1] and aux2 ( loc0: loc_t // all , loc1: loc_t // right , s2f0: s2hnf // right , d3e: d3exp, d3ls: d3lablst , s2f0_sel: s2hnf // left ) : d3exp = let val opt = un_s2exp_ref_vt0ype_type (s2f0) in // case+ opt of | ~Some_vt (s2e) => let val s2rt = s2e var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc1, s2e, d3ls, linrest, sharing) val s2f_sel = s2exp2hnf (s2e_sel) val () = trans3_env_add_proplst_vt (loc1, s2ps) val err = $SOL.s2hnf_tyleq_solve (loc1, s2f0_sel, s2f_sel) val () = if err > 0 then auxerr1 (loc0, loc1, s2f0_sel, s2f_sel) val err = $SOL.s2hnf_tyleq_solve (loc0, s2f_sel, s2f0_sel) val () = if err > 0 then auxerr2 (loc0, loc1, s2f0_sel, s2f_sel) val _(*err*) = the_effenv_check_ref (loc0) in d3exp_sel_ref (loc1, s2e_sel, d3e, s2rt, d3ls) end // end of [Some_vt] | ~None_vt () => aux3 (loc0, loc1, s2f0, d3e, d3ls, s2f0_sel) // end // end of [aux2] and aux3 ( loc0: loc_t // all , loc1: loc_t // right , s2f0: s2hnf // right , d3e: d3exp, d3ls: d3lablst , s2f0_sel: s2hnf // left ) : d3exp = let val () = auxerr_nonderef (d3e) in d3exp_errexp (loc0) end // end of [aux3] in (* in of [local] *) implement d2exp_trdn_xchng_deref (loc0, loc1, d2e, d2ls, s2f0_sel) = let // val d3e = d2exp_trup (d2e) val () = d3exp_open_and_add (d3e) val d3ls = d2lablst_trup (d2ls) val s2e0 = d3exp_get_type (d3e) val s2f0 = s2exp2hnf_cast (s2e0) // in aux1 (loc0, loc1, s2f0, d3e, d3ls, s2f0_sel) end // end of [d2exp_trdn_xchng_deref] implement d2exp_trdn_xchng (loc0, d2e, s2f0_sel) = let // val loc1 = d2e.d2exp_loc val d2lv = d2exp_lvalize (d2e) // in // case+ d2lv of | D2LVALvar_mut (d2v, d2ls) => let val d3ls = d2lablst_trup (d2ls) val-Some (s2l) = d2var_get_addr (d2v) var s2rt: s2exp val s2e_sel = s2addr_xchng_check (loc0, loc1, s2l, d3ls, s2f0_sel, s2rt) val s2f_sel = s2exp2hnf (s2e_sel) val s2e_sel = s2hnf2exp (s2f_sel) val err = $SOL.s2hnf_tyleq_solve (loc0, s2f_sel, s2f0_sel) val () = if err > 0 then auxerr1 (loc0, loc1, s2f0_sel, s2f_sel) in d3exp_sel_var (loc1, s2e_sel, d2v, s2rt, d3ls) end // end of [D2LVALvar_mut] | D2LVALderef (d2e, d2ls) => d2exp_trdn_xchng_deref (loc0, loc1, d2e, d2ls, s2f0_sel) | _ => let val () = prerr_error3_loc (loc1) val () = prerr ": a left-value is required but a non-left-value is given." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2exp_nonlval (d2e)) in d3exp_errexp (loc1) end // end of [_] // end // end of [d2exp_trdn_xchng] end // end of [local] (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": exchange cannot be performed" val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline () in the_trans3errlst_add (T3E_pfobj_search_none (loc0, s2l)) end // end of [auxerr_pfobj] fun auxmain .<>. ( loc0: loc_t , pfobj: pfobj, d3ls: d3lablst , d2e_r: d2exp , s2rt: &s2exp? >> s2exp ) : d3exp = let val+~PFOBJ ( d2vw, s2e_ctx, s2e_elt, s2l ) = pfobj val () = s2rt := s2e_elt var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e_elt, d3ls, linrest, sharing) val s2f_sel = s2exp2hnf (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) in d2exp_trdn_xchng (loc0, d2e_r, s2f_sel) end // end of [auxmain] in (* in of [local] *) implement s2addr_xchng_deref ( loc0, s2l, d3ls, d2e_r, s2rt ) = let val opt = pfobj_search_atview (s2l) in case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, pfobj, d3ls, d2e_r, s2rt) | ~None_vt () => let val () = s2rt := s2exp_t0ype_err () // end of [val] val () = auxerr_pfobj (loc0, s2l) in d2exp_trup (d2e_r) end // end of [None_vt] end // end of [s2addr_xchng_deref] end // end of [local] (* ****** ****** *) local fun aux1 ( loc0: loc_t , s2f0: s2hnf // left , d3e_l: d3exp , d3ls: d3lablst , d2e_r: d2exp ) : d3exp = let val opt = un_s2exp_ptr_addr_type (s2f0) in // case+ opt of | ~Some_vt (s2l) => let var s2rt: s2exp val d3e_r = s2addr_xchng_deref (loc0, s2l, d3ls, d2e_r, s2rt) // end of [val] in d3exp_xchng_ptr (loc0, d3e_l, s2rt, d3ls, d3e_r) end // end of [Some_vt] | ~None_vt () => aux2 (loc0, s2f0, d3e_l, d3ls, d2e_r) // end // end of [aux1] and aux2 ( loc0: loc_t , s2f0: s2hnf // left , d3e_l: d3exp , d3ls: d3lablst , d2e_r: d2exp ) : d3exp = let val opt = un_s2exp_ref_vt0ype_type (s2f0) in // case+ opt of | ~Some_vt (s2e) => let val s2rt = s2e var linrest: int = 0 and sharing: int = 0 val (s2e_sel, s2ps) = s2exp_get_dlablst_linrest_sharing (loc0, s2e, d3ls, linrest, sharing) // end of [val] val s2f_sel = s2exp2hnf (s2e_sel) val () = trans3_env_add_proplst_vt (loc0, s2ps) val d3e_r = d2exp_trdn_xchng (loc0, d2e_r, s2f_sel) val _(*err*) = the_effenv_check_ref (d2e_r.d2exp_loc) in d3exp_xchng_ref (loc0, d3e_l, s2rt, d3ls, d3e_r) end // end of [Some_vt] | ~None_vt () => aux3 (loc0, s2f0, d3e_l, d3ls, d2e_r) // end // end of [aux2] and aux3 ( loc0: loc_t , s2f0: s2hnf // left , d3e_l: d3exp , d3ls: d3lablst , d2e_r: d2exp ) : d3exp = let in d3exp_errexp_void (loc0) end // end of [aux3] in (* in of [local] *) implement d2exp_trup_xchng_deref (loc0, d2e_l, d2ls, d2e_r) = let (* val () = ( print "d2exp_trup_deref: d2e_l = "; print_d2exp (d2e_l); print_newline (); print "d2exp_trup_deref: d2e_r = "; print_d2exp (d2e_r); print_newline (); ) // end of [val] *) val d3e_l = d2exp_trup (d2e_l) val () = d3exp_open_and_add (d3e_l) val d3ls = d2lablst_trup (d2ls) val s2e0 = d3exp_get_type (d3e_l) val s2f0 = s2exp2hnf_cast (s2e0) // in aux1 (loc0, s2f0, d3e_l, d3ls, d2e_r) end // end of [d2exp_trup_xchng_deref] end // end of [local] (* ****** ****** *) local fn auxerr_wrt_if (loc0: loc_t): void = let val err = the_effenv_check_wrt (loc0) in if (err > 0) then ( the_trans3errlst_add (T3E_d2exp_trup_wrt (loc0)) ) // end of [if] end // end of [auxerr_wrt] fun auxerr_lproof (d2e: d2exp): void = let val () = prerr_error3_loc (d2e.d2exp_loc) val () = prerr ": a non-proof left-value is expected." val () = prerr_newline () in the_trans3errlst_add (T3E_d2exp_nonlval (d2e)) end // end of [auxerr_lproof] fun auxerr_nonlval (d2e: d2exp): void = let val () = prerr_error3_loc (d2e.d2exp_loc) val () = prerr ": a left-value is required but a non-left-value is given." val () = prerr_newline () in the_trans3errlst_add (T3E_d2exp_nonlval (d2e)) end // end of [auxerr_nonlval] in (* in of [local] *) (* ** HX-2012-05-04: ** evaluation of [d2e_r] should not involve proofs of views! *) implement d2exp_trup_xchng (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Exchng (d2e_l, d2e_r) = d2e0.d2exp_node val d2lv_l = d2exp_lvalize (d2e_l) // in // case+ d2lv_l of | D2LVALvar_mut (d2v_l, d2ls) => let val d3ls = d2lablst_trup (d2ls) val-Some (s2l) = d2var_get_addr (d2v_l) var s2rt: s2exp val d3e_r = s2addr_xchng_deref (loc0, s2l, d3ls, d2e_r, s2rt) val () = auxerr_wrt_if (loc0) in d3exp_xchng_var (loc0, d2v_l, s2rt, d3ls, d3e_r) end // end of [D2LVALvar_mut] | D2LVALderef (d2e_l, d2ls) => let val () = auxerr_wrt_if (loc0) in d2exp_trup_xchng_deref (loc0, d2e_l, d2ls, d2e_r) end // end of [D2LVALderef] // | D2LVALvar_lin _ => let val () = auxerr_lproof (d2e_l) in d3exp_errexp_void (loc0) end // end of [_] | D2LVALviewat _ => let val () = auxerr_lproof (d2e_l) in d3exp_errexp_void (loc0) end // end of [_] // | _ => let val () = auxerr_nonlval (d2e_l) in d3exp_errexp_void (loc0) end // end of [_] // end // end of [d2exp_trup_xchng] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_xchng.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexbuf.dats0000664000175000017500000002222412655455557016720 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload LOC = "./pats_location.sats" (* ****** ****** *) // staload Q = "libats/SATS/linqueue_arr.sats" // stadef QUEUE = $Q.QUEUE staload _(*anon*) = "libats/DATS/linqueue_arr.dats" staload _(*anon*) = "libats/ngc/DATS/deque_arr.dats" // (* ****** ****** *) staload R = "./pats_reader.sats" stadef reader = $R.reader (* ****** ****** *) staload "./pats_lexbuf.sats" (* ****** ****** *) // #define uc2i int_of_uchar #define i2uc uchar_of_int // #define u2i int_of_uint #define u2l lint_of_uint #define u2sz size_of_uint // #define l2u uint_of_lint #define l2sz size_of_lint // #define sz2i int_of_size #define sz2l lint_of_size // #define size1 size1_of_size // (* ****** ****** *) // vtypedef lexbuf_int_int (m: int, n:int) = $extype_struct "pats_lexbuf_struct" of { cbuf= QUEUE (uchar, m, n) // character buffer , base= lint , base_nrow=int, base_ncol= int , nspace= int , reader= reader } (* end of [lexbuf] *) // typedef lexbuf0 = lexbuf_int_int(0, 0)? // (* ****** ****** *) assume lexbuf_vt0ype = [m,n:int] lexbuf_int_int (m, n) // end of [lexbuf_vt0ype] (* ****** ****** *) #define QINISZ 1024 // initial size #define QDELTA 1024 // subsequent increment (* ****** ****** *) // macdef Q_queue_initize = $Q.queue_initialize macdef Q_queue_uninitize = $Q.queue_uninitialize{uchar} // (* ****** ****** *) implement lexbuf_initize_filp (pfmod, pffil | buf, p0) = { // extern prfun lexbuf0_trans (buf: &lexbuf? >> lexbuf0): void // prval () = lexbuf0_trans (buf) // val () = buf.base := 0L val () = buf.base_nrow := 0 val () = buf.base_ncol := 0 val () = buf.nspace := 0 // val () = Q_queue_initize (buf.cbuf, QINISZ) val () = $R.reader_initize_filp (pfmod, pffil | buf.reader, p0) // } (* end of [lexbuf_initize_filp] *) (* ****** ****** *) implement lexbuf_initize_getc (buf, getc) = { // extern prfun lexbuf0_trans (buf: &lexbuf? >> lexbuf0): void // prval () = lexbuf0_trans (buf) // val () = buf.base := 0L val () = buf.base_nrow := 0 val () = buf.base_ncol := 0 val () = buf.nspace := 0 // val () = Q_queue_initize (buf.cbuf, QINISZ) val () = $R.reader_initize_getc (buf.reader, getc) // } (* end of [lexbuf_initize_getc] *) (* ****** ****** *) implement lexbuf_initize_string (buf, inp) = { // extern prfun lexbuf0_trans (buf: &lexbuf? >> lexbuf0): void // prval () = lexbuf0_trans (buf) // val () = buf.base := 0L val () = buf.base_nrow := 0 val () = buf.base_ncol := 0 val () = buf.nspace := 0 val () = Q_queue_initize (buf.cbuf, QINISZ) val () = $R.reader_initize_string (buf.reader, inp) // } (* end of [lexbuf_initize_string] *) (* ****** ****** *) implement lexbuf_initize_charlst_vt (buf, inp) = () where { // extern prfun lexbuf0_trans (buf: &lexbuf? >> lexbuf0): void // prval () = lexbuf0_trans(buf) // val () = buf.base := 0L val () = buf.base_nrow := 0 val () = buf.base_ncol := 0 val () = buf.nspace := 0 // val () = Q_queue_initize (buf.cbuf, QINISZ) val () = $R.reader_initize_charlst_vt (buf.reader, inp) // } (* end of [lexbuf_initize_charlst_vt] *) (* ****** ****** *) implement lexbuf_uninitize (buf) = () where { // val () = Q_queue_uninitize (buf.cbuf) val () = $R.reader_uninitize (buf.reader) // extern prfun lexbuf0_untrans (buf: &lexbuf0 >> lexbuf?): void // prval ((*void*)) = lexbuf0_untrans (buf) } // end of [lexbuf_uninitize] (* ****** ****** *) implement lexbufpos_diff (buf, pos) = let val nchr = $LOC.position_get_ntot (pos) - buf.base in (l2u)nchr end // end of [lexbufpos_diff] (* ****** ****** *) implement lexbuf_get_base (buf) = buf.base (* ****** ****** *) implement lexbuf_get_position (buf, pos) = let val ntot = buf.base val nrow = buf.base_nrow val ncol = buf.base_ncol in $LOC.position_init (pos, ntot, nrow, ncol) end // end of [lexbuf_get_position] (* ****** ****** *) implement lexbuf_set_position (buf, pos) = let // prval () = $Q.lemma_queue_param (buf.cbuf) // val base = buf.base val ntot = $LOC.position_get_ntot (pos) // val () = buf.base := ntot val () = buf.base_nrow := $LOC.position_get_nrow (pos) val () = buf.base_ncol := $LOC.position_get_ncol (pos) // val nchr = ntot - base val nchr = size1(l2sz(nchr)) val nbuf = $Q.queue_size (buf.cbuf) // in // if nchr < nbuf then let val () = $Q.queue_clear (buf.cbuf, nchr) // end of [val] in // nothing end // end of [then] else let val () = $Q.queue_clear_all{uchar}(buf.cbuf) in // nothing end // end of [else] // end // end of [lexbuf_set_position] (* ****** ****** *) implement lexbuf_get_nspace (buf) = buf.nspace implement lexbuf_set_nspace (buf, n) = buf.nspace := n (* ****** ****** *) implement lexbufpos_get_location (buf, pos) = let var bpos: position val ((*void*)) = lexbuf_get_position (buf, bpos) // end of [val] in $LOC.location_make_pos_pos (bpos, pos) end // end of [lexbufpos_get_location] (* ****** ****** *) implement lexbuf_get_char (buf, nchr) = let // prval () = $Q.lemma_queue_param (buf.cbuf) // val nchr = (u2sz)nchr val nchr = (size1)nchr val n = $Q.queue_size (buf.cbuf) // in // if nchr < n then let // val c = $Q.queue_get_elt_at (buf.cbuf, nchr) // in (uc2i)c end // end of [then] else let val i = $R.reader_get_char (buf.reader) in if i >= 0 then let val c = (i2uc)i val m = $Q.queue_cap {uchar} (buf.cbuf) in if m > n then let val () = $Q.queue_insert (buf.cbuf, c) in i end else let val () = $Q.queue_update_capacity (buf.cbuf, m+QDELTA) val () = $Q.queue_insert (buf.cbuf, c) in i end // end of [if] end else i (* EOF *) // end of [if] end // end of [else] // end // end of [lexbuf_get_char] (* ****** ****** *) implement lexbufpos_get_char (buf, pos) = let val nchr = $LOC.position_get_ntot (pos) - buf.base val nchr = (l2u)nchr in lexbuf_get_char (buf, nchr) end // end of [lexbufpos_get_char] (* ****** ****** *) implement lexbuf_incby_count (buf, cnt) = let // prval () = $Q.lemma_queue_param (buf.cbuf) // val nchr = u2sz(cnt) val nchr = (size1)nchr val n = $Q.queue_size (buf.cbuf) in if nchr < n then let val () = buf.base := buf.base + (u2l)cnt val () = buf.base_ncol := buf.base_ncol + (u2i)cnt val () = $Q.queue_clear (buf.cbuf, nchr) in // nothing end else let val () = buf.base := buf.base + (sz2l)n val () = buf.base_ncol := buf.base_ncol + (sz2i)n val () = $Q.queue_clear_all {uchar} (buf.cbuf) in // nothing end (* end of [if] *) end // end of [lexbuf_incby_count] (* ****** ****** *) implement lexbuf_get_strptr0 (buf, ln) = lexbuf_get_substrptr0 (buf, 0u, ln) // end of [lexbuf_get_strptr0] implement lexbuf_get_strptr1 (buf, ln) = lexbuf_get_substrptr1 (buf, 0u, ln) // end of [lexbuf_get_strptr] (* ****** ****** *) implement lexbuf_get_substrptr0 (buf, st, ln) = let // prval () = $Q.lemma_queue_param (buf.cbuf) // val i = u2sz(st) val i = (size1)i val k = u2sz(ln) val [k:int] k = (size1)k val n = $Q.queue_size (buf.cbuf) // (* val () = println! ("lexbuf_get_strptr: i = ", i) val () = println! ("lexbuf_get_strptr: k = ", k) val () = println! ("lexbuf_get_strptr: n = ", n) *) // in // if i + k <= n then $UT.queue_get_strptr1 (buf.cbuf, i, k) else strptr_null () // end of [if] // end // end of [lexbuf_get_substrptr0] implement lexbuf_get_substrptr1 (buf, st, ln) = str where { val str = lexbuf_get_substrptr0 (buf, st, ln) val ((*void*)) = assertloc (strptr_isnot_null (str)) } // end of [lexbuf_get_substrptr1] (* ****** ****** *) implement lexbufpos_get_strptr0 (buf, pos) = lexbuf_get_strptr0 (buf, lexbufpos_diff (buf, pos)) // end of [lexbufpos_get_strptr0] implement lexbufpos_get_strptr1 (buf, pos) = lexbuf_get_strptr1 (buf, lexbufpos_diff (buf, pos)) // end of [lexbufpos_get_strptr1] (* ****** ****** *) (* end of [pats_lexbuf.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_viewat.dats0000664000175000017500000003253112655455557020226 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> ( // argumentless ) = prerr "pats_trans3_viewat" // (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": [view@] operation cannot be performed" val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_pfobj_search_none (loc0, s2l)) end // end of [auxerr_pfobj] fun auxerr_context ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": [view@] operation cannot be performed" val () = prerr ": context cannot be formed for the atview being taken." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2addr_viewat_deref_context (loc0, s2e, d3ls)) end // end of [auxerr_context] fun auxlabs ( d3ls: d3lablst ) : s2lablst = ( case+ d3ls of | list_cons (d3l, d3ls) => ( case+ d3l.d3lab_node of | D3LABlab (l) => list_cons (S2LABlab (l), auxlabs d3ls) | _ => list_nil () // deadcode ) // end of [list_cons] | list_nil () => list_nil () ) // end of [auxlabs] fun auxmain ( loc0: loc_t , pfobj: pfobj, d3ls: d3lablst ) : s2exp(*atview*) = let val+~PFOBJ ( d2vw, s2e_ctx, s2e_elt, s2l ) = pfobj // end of [val] var ctxtopt: s2ctxtopt = None () val s2e_sel = s2exp_get_dlablst_context (loc0, s2e_elt, d3ls, ctxtopt) // end of [val] in // case+ ctxtopt of | Some (ctxt) => let // val () = d2var_inc_linval (d2vw) // val s2e_out = s2exp_without (s2e_sel) val s2e_elt = s2ctxt_hrepl (ctxt, s2e_out) val s2e = s2exp_hrepl (s2e_ctx, s2e_elt) val () = d2var_set_type (d2vw, Some (s2e)) // val s2ls = auxlabs (d3ls) val s2rt = s2exp_proj (s2l, s2e_elt, s2ls) // in s2exp_at (s2e_sel, s2rt) end // end of [Some] | None ((*void*)) => let val ( ) = auxerr_context (loc0, s2e_elt, d3ls) in s2exp_err (s2rt_view) end // end of [None] // end // end of [auxmain] in (* in of [local] *) implement s2addr_viewat_deref (loc0, s2l, d3ls) = let val opt = pfobj_search_atview (s2l) in // case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, pfobj, d3ls) | ~None_vt () => let val () = auxerr_pfobj (loc0, s2l) in s2exp_err (s2rt_view) end (* end of [None_vt] *) end // end of [s2addr_viewat_deref] end // end of [local] (* ****** ****** *) fun s2addr_get_root ( s2l: s2exp , s2ls: &s2lablst? >> s2lablst ) : s2exp = case+ s2l.s2exp_node of | S2Eproj ( s2l1, _(*type*), s2ls1 ) => (s2ls := s2ls1; s2l1) | _ => (s2ls := list_nil; s2l) // end of [s2addr_get_root] fun eq_dlablst_slablst ( d3ls: d3lablst, s2ls: s2lablst ) : bool = case+ d3ls of | list_cons (d3l, d3ls) => ( case+ s2ls of | list_cons (s2l, s2ls) => ( case+ ( d3l.d3lab_node, s2l ) of // case+ | (D3LABlab l1, S2LABlab l2) => if l1 = l2 then eq_dlablst_slablst (d3ls, s2ls) else false | (_, _) => false ) | list_nil () => false ) // end of [list_cons] | list_nil () => ( case+ s2ls of | list_cons _ => false | list_nil _ => true ) // end of [list_nil] // end of [eq_dlablst_slablst] (* ****** ****** *) local fun auxerr_nonatview ( loc0: loc_t, s2at_new: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": viewat-restoration cannot be performed" val () = prerr ": proof of some atview is needed but one of the following type is given: " val () = (prerr "["; prerr_s2exp (s2at_new); prerr "]") val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2exp_set_viewat_atview (loc0, s2at_new)) end // end of [auxerr_nonatview] fun auxerr_nonwithout ( loc0: loc_t, s2e_old: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": viewat-restoration cannot be performed" val () = prerr ": the following type is expected to be a without-type but it is not: " val () = (prerr "["; prerr_s2exp (s2e_old); prerr "]") val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2exp_set_viewat_without (loc0, s2e_old)) end // end of [auxerr_nonwithout] fun auxck_addreq ( loc0: loc_t, s2e1, d3ls, s2e2 ) : void = let // val s2e2 = s2exp_hnfize (s2e2) var s2ls: s2lablst // uninitized val s2e2_rt = s2addr_get_root (s2e2, s2ls) val rooteq = s2exp_syneq (s2e1, s2e2_rt) val addreq = ( if rooteq then eq_dlablst_slablst (d3ls, s2ls) else false ) : bool // end of [val] // in // if ~addreq then let val () = prerr_error3_loc (loc0) val () = prerr ": viewat-restoration cannot be performed" val () = prerr ": mismatch of bef/aft locations of atviews:\n" val () = (prerr "bef: ["; prerr_s2exp (s2e1); prerr "]") val () = prerr_newline ((*void*)) val () = (prerr "aft: ["; prerr_s2exp (s2e2); prerr "]") val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_s2addr_viewat_addreq (loc0, s2e1, d3ls, s2e2)) end // end of [if] // end // end of [auxck_addreq] in (* in of [local] *) implement s2addr_set_viewat ( loc0, s2l, d3ls, s2at_new ) = let val s2at_new = s2exp_hnfize (s2at_new) in // case+ s2at_new.s2exp_node of | S2Eat (s2e1, s2e2) => let val s2e_old = s2addr_exch_type (loc0, s2l, d3ls, s2e1) val () = s2addr_set_viewat_check (loc0, s2l, d3ls, s2at_new, s2e_old, s2e1, s2e2) // end of [val] in // nothing end // end of [S2Eat] | _ => auxerr_nonatview (loc0, s2at_new) // end // end of [s2addr_set_viewat] implement s2addr_set_viewat_check ( loc0, s2l, d3ls, s2at_new, s2e_old, s2e_new, s2l_new ) = let (* val () = ( println! ("s2addr_set_viewat_check: s2l = ", s2l); println! ("s2addr_set_viewat_check: s2e_old = ", s2e_old); println! ("s2addr_set_viewat_check: s2e_new = ", s2e_new); ) // end of [val] *) val s2e_old = let val s2e_old = s2exp_hnfize (s2e_old) in case+ s2e_old.s2exp_node of | S2Ewithout (s2e) => s2e | _ => let val () = auxerr_nonwithout (loc0, s2e_old) in s2exp_t0ype_err () end // end of [_] end : s2exp // end of [val] (* // // HX-2012-05-10: // skipping the check to keep a benign loophole // val () = auxck_tszeq (loc0, s2e_old, s2e_new) *) val () = auxck_addreq (loc0, s2l, d3ls, s2l_new) in // exitloc (1) end // end of [s2addr_set_viewat_check] end // end of [local] (* ****** ****** *) local fun auxerr_nonptr ( loc0: loc_t, d3e: d3exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic expression is expected to be a pointer." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_d3exp_nonderef (d3e)) end // end of [auxerr_nonptr] fun auxerr1 ( loc0: loc_t, d2v: d2var ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is not mutable and thus [view@] cannot be applied." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_d2var_nonmut (loc0, d2v)) end // end of [auxerr1] fun auxlablst1 ( loc0: loc_t , s2f0: s2hnf , d3e_l: d3exp , d3ls: d3lablst ) : s2exp = let val opt = un_s2exp_ptr_addr_type (s2f0) in // case+ opt of | ~Some_vt(s2l) => s2addr_viewat_deref (loc0, s2l, d3ls) | ~None_vt((*void*)) => let val () = auxerr_nonptr (loc0, d3e_l) in s2exp_t0ype_err () end (* end of [None_vt] *) // end // end of [auxlablst1] in (* in of [local] *) implement d2exp_trup_viewat (d2e0) = let // val loc0 = d2e0.d2exp_loc val-D2Eviewat (d2e) = d2e0.d2exp_node val d2lv = d2exp_lvalize (d2e) // in // case+ d2lv of | D2LVALvar_mut (d2v, d2ls) => let val d3ls = d2lablst_trup (d2ls) val-Some (s2l) = d2var_get_addr (d2v) val s2e = d2var_get_type_some (loc0, d2v) val d3e = d3exp_ptrofvar (loc0, s2e, d2v) val s2e_at = s2addr_viewat_deref (loc0, s2l, d3ls) in d3exp_viewat (loc0, s2e_at, d3e, d3ls) end // end of [D2LVALvar_mut] | D2LVALderef (d2e, d2ls) => let val d3e = d2exp_trup (d2e) val () = d3exp_open_and_add (d3e) val d3ls = d2lablst_trup (d2ls) val s2e0 = d3exp_get_type (d3e) val s2f0 = s2exp2hnf (s2e0) val s2e_at = auxlablst1 (loc0, s2f0, d3e, d3ls) in d3exp_viewat (loc0, s2e_at, d3e, d3ls) end // end of [D2LVALderef] // | D2LVALvar_lin _ => let val () = prerr_error3_loc (loc0) val () = prerr ": [view@] operation cannot be applied" val () = prerr ": the dynamic expression is addressless." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_d2exp_addrless (d2e0)) in d3exp_errexp (loc0) end // end of [D2LVALvar_lin] // | _ (*rest-of-d2lval*) => let val () = prerr_error3_loc (loc0) val () = prerr ": [view@] operation cannot be applied: " val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_d2exp_nonlval (d2e0)) in d3exp_errexp (loc0) end // end of [_(*rest-of-d2lval*)] // end // end of [d2exp_trup_viewat] end // end of [local] (* ****** ****** *) local fun auxerr_nonptr ( loc0: loc_t, d3e: d3exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic expression is expected to be a pointer." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_d3exp_nonderef (d3e)) end // end of [auxerr_nonptr] fun auxlablst1 ( loc0: loc_t , s2f0: s2hnf , d3e_l: d3exp , d3ls: d3lablst , d3e_r: d3exp ) : d3exp = let // val opt = un_s2exp_ptr_addr_type (s2f0) // in // case+ opt of | ~Some_vt (s2l) => let val s2e_r = d3exp_get_type (d3e_r) val () = s2addr_set_viewat (loc0, s2l, d3ls, s2e_r) // end of [val] in d3exp_viewat_assgn (loc0, d3e_l, d3ls, d3e_r) end // end of [Some_vt] | ~None_vt ((*void*)) => let val ( ) = auxerr_nonptr (loc0, d3e_l) in d3exp_errexp_void (loc0) end // end of [None_vt] end // end of [auxlablst1] in (* in of [local] *) implement d2exp_trup_viewat_assgn (d2e0) = let val loc0 = d2e0.d2exp_loc val-D2Eassgn (d2e_l, d2e_r) = d2e0.d2exp_node val-D2Eviewat (d2e_l) = d2e_l.d2exp_node val d2lv_l = d2exp_lvalize (d2e_l) in // case+ d2lv_l of | D2LVALvar_mut (d2v, d2ls) => let val d3ls = d2lablst_trup (d2ls) val-Some (s2l) = d2var_get_addr (d2v) val d3e_r = d2exp_trup (d2e_r) val () = d3exp_open_and_add (d3e_r) val s2e_r = d3exp_get_type (d3e_r) val () = s2addr_set_viewat (loc0, s2l, d3ls, s2e_r) val loc = d2e_l.d2exp_loc val s2e_l = d2var_get_type_some (loc, d2v) val d3e_l = d3exp_ptrofvar (loc, s2e_l, d2v) in d3exp_viewat_assgn (loc0, d3e_l, d3ls, d3e_r) end // end of [D2LVALvar_mut] | D2LVALderef (d2e_l, d2ls) => let val d3e_l = d2exp_trup (d2e_l) val () = d3exp_open_and_add (d3e_l) val d3ls = d2lablst_trup (d2ls) val d3e_r = d2exp_trup (d2e_r) val () = d3exp_open_and_add (d3e_r) val s2e0 = d3exp_get_type (d3e_l) val s2f0 = s2exp2hnf (s2e0) in auxlablst1 (loc0, s2f0, d3e_l, d3ls, d3e_r) end // end of [D2LVALderef] // | D2LVALvar_lin _ => let val loc = d2e_l.d2exp_loc val () = prerr_error3_loc (loc) val () = prerr ": [view@] operation cannot be applied" val () = prerr ": the dynamic expression is addressless." val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_d2exp_addrless (d2e0)) in d3exp_errexp_void (loc0) end // end of [D2LVALvar_lin] // | _ => let val loc = d2e_l.d2exp_loc val () = prerr_error3_loc (loc) val () = prerr ": [view@] operation cannot be applied: " val () = prerr_newline ((*void*)) val () = the_trans3errlst_add (T3E_d2exp_nonlval (d2e0)) in d3exp_errexp_void (loc0) end // end of [_] // end // end of [d2exp_trup_viewat_assgn] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_view.dats] *) ATS2-Postiats-0.2.6/./src/pats_comarg.sats0000664000175000017500000000440412655455557016722 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) datatype comarg = COMARGkey of (int, string) viewtypedef comarglst (n:int) = list_vt (comarg, n) (* ****** ****** *) // fun comarg_parse (s: string):<> comarg // fun comarglst_parse{n:nat} (argc: int n, argv: &(@[string][n])):<> list_vt (comarg, n) // end of [comarglst_parse] // (* ****** ****** *) fun comarg_warning (str: string): void (* ****** ****** *) fun is_DATS_flag (s: string): bool fun is_IATS_flag (s: string): bool (* ****** ****** *) fun DATS_extract (s: string): Stropt fun IATS_extract (s: string): Stropt (* ****** ****** *) // // HX: for processing command-line flag: -DATSXYZ=def or -DATS XYZ=def // fun process_DATS_def (def: string): void // // HX: for processing command-line inclusion path : -IATSpath or -IATS path // fun process_IATS_dir (dir: string): void (* ****** ****** *) fun process_ATSPKGRELOCROOT ((*void*)): void (* ****** ****** *) (* end of [pats_comarg.sats] *) ATS2-Postiats-0.2.6/./src/pats_lexing.dats0000664000175000017500000016276612655455557016741 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: March, 2011 // (* ****** ****** *) // // HX: The implementation of lexing is plainly ad hoc // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UTL = "./pats_utils.sats" staload LOC = "./pats_location.sats" (* ****** ****** *) staload "./pats_lexbuf.sats" staload "./pats_lexing.sats" (* ****** ****** *) // #define u2c char_of_uchar // #define i2c char_of_int #define c2i int_of_char // #define i2uc uchar_of_int #define uc2i int_of_uchar // #define i2u uint_of_int #define u2i int_of_uint // #define l2u uint_of_lint #define sz2i int1_of_size1 // (* ****** ****** *) macdef T_INT_oct (x, sfx) = T_INT (8, ,(x), ,(sfx)) macdef T_INT_dec (x, sfx) = T_INT (10, ,(x), ,(sfx)) macdef T_INT_hex (x, sfx) = T_INT (16, ,(x), ,(sfx)) (* ****** ****** *) // // HX: some shorthand function names // macdef posincby1 (pos) = $LOC.position_incby_count (,(pos), 1u) macdef posdecby1 (pos) = $LOC.position_decby_count (,(pos), 1u) macdef posincbyc (pos, i) = $LOC.position_incby_char (,(pos), ,(i)) // (* ****** ****** *) fun xdigit_get_val (c: char): int = ( // case+ 0 of | _ when c <= '9' => c - '0' | _ when c <= 'F' => 10 + (c - 'A') // HX: 'A' = 10 | _ when c >= 'f' => 10 + (c - 'a') // HX: 'a' = 10 | _ (* illegal *) => (0) // HX: default for illegals // ) (* end of [xdigit_get_val] *) (* ****** ****** *) fun char_for_escaped (c: char): char = ( case+ c of | 'n' => '\012' (* newline *) | 't' => '\011' (* horizontal tab *) | 'a' => '\007' (* alert *) | 'b' => '\010' (* backspace *) | 'v' => '\013' (* vertical tab *) | 'f' => '\014' (* line feed *) | 'r' => '\015' (* carriage return *) | _ (*rest-of-char*) => c ) (* end of [char_for_escaped] *) (* ****** ****** *) (* // // HX-2011: // There are various "irregular" tokens in ATS, // which complicate lexing considerably; [lexsym] is // primarily introduced for handling such tokens. // *) datatype lexsym = // | LS_NONE of () // dummy // | LS_VAL of () // for val+ and val- | LS_CASE of () // for case+ and case- // | LS_ADDR of () // for addr@ // | LS_FOLD of () // for fold@ | LS_FREE of () // for free@ // | LS_FIX of () // for fix@ | LS_LAM of () // for lam@ | LS_LLAM of () // for llam@ // (* | LS_REF of () // 'ref@' is removed *) // | LS_PROP of () // for prop+ and prop- | LS_TYPE of () // for type+ and type- | LS_VIEW of () // for view+ and view- and view@ | LS_VIEWTYPE of () // for viewtype+ and viewtype- // | LS_T of () // for t@ype | LS_T0YPE of () // for t0ype+ and t0ype- // | LS_VT of () // for vt@ype | LS_VTYPE of () // for vtype+ and vtype- | LS_VT0YPE of () // for vt0ype+ and vt0ype- // | LS_VIEWT of () // for viewt@ype | LS_VIEWT0YPE of () // for viewt0ype+ and viewt0ype- // | LS_ABST of () // for abst@ype | LS_ABSVT of () // for absvt@ype | LS_ABSVIEWT of () // for absviewt@ype // | LS_FOR of () // for for* | LS_WHILE of () // for while* // (* | LS_LTBANG of () // "" // not a symbol // | LS_SLASH2 of () // "//" line comment | LS_SLASHSTAR of () // "/*" block comment | LS_SLASH4 of () // "////" // rest-of-file comment // // end of [lexsym] (* ****** ****** *) local // // HX: // linear-probing based HB // seems very unwieldy to use // %{^ typedef ats_ptr_type string ; typedef ats_ptr_type lexsym ; %} // end of [%{^] staload "libats/SATS/hashtable_linprb.sats" staload _(*anon*) = "libats/DATS/hashtable_linprb.dats" // #define HASHTBLSZ 53 // symintr encode decode // abstype string_t = $extype"string" extern castfn string_encode (x: string):<> string_t extern castfn string_decode (x: string_t):<> string overload encode with string_encode overload decode with string_decode // abstype lexsym_t = $extype"lexsym" extern castfn lexsym_encode (x: lexsym):<> lexsym_t extern castfn lexsym_decode (x: lexsym_t):<> lexsym overload encode with lexsym_encode overload decode with lexsym_decode // typedef key = string_t typedef itm = lexsym_t typedef keyitm = (key, itm) // implement keyitem_nullify (x) = () where { extern prfun __assert (x: &keyitm? >> keyitm): void prval () = __assert (x) val () = x.0 := $UN.cast{key} (null) prval () = Opt_some (x) } (* end of [keyitem_nullify] *) // implement keyitem_isnot_null (x) = b where { extern prfun __assert1 (x: &Opt(keyitm) >> keyitm): void prval () = __assert1 (x) val b = $UN.cast{ptr} (x.0) <> null val [b:bool] b = bool1_of_bool (b) extern prfun __assert2 (x: &keyitm >> opt (keyitm, b)): void prval () = __assert2 (x) } (* end of [keyitem_isnot_null] *) // implement hash_key (x, _) = string_hash_33 (decode(x)) implement equal_key_key (x1, x2, _) = compare (decode(x1), decode(x2)) = 0 // end of [equal_key_key] // val hash0 = $UN.cast{hash(key)} (null) val eqfn0 = $UN.cast{eqfn(key)} (null) val [l:addr] ptbl = hashtbl_make_hint (hash0, eqfn0, HASHTBLSZ) // fun insert ( ptbl: !HASHTBLptr (key, itm, l) , k: string, i: lexsym ) : void = () where { val k = encode (k); val i = encode (i) var res: lexsym_t val _ = hashtbl_insert (ptbl, k, i, res) prval () = opt_clear (res) } // end of [insert] // val () = insert (ptbl, "val", LS_VAL) val () = insert (ptbl, "case", LS_CASE) // val () = insert (ptbl, "addr", LS_ADDR) // val () = insert (ptbl, "fold", LS_FOLD) val () = insert (ptbl, "free", LS_FREE) // val () = insert (ptbl, "lam", LS_LAM) val () = insert (ptbl, "llam", LS_LLAM) val () = insert (ptbl, "fix", LS_FIX) // (* val () = insert (ptbl, "ref", LS_REF) // 'ref@' removed *) // val () = insert (ptbl, "prop", LS_PROP) val () = insert (ptbl, "type", LS_TYPE) val () = insert (ptbl, "view", LS_VIEW) val () = insert (ptbl, "viewtype", LS_VIEWTYPE) // val () = insert (ptbl, "t", LS_T) val () = insert (ptbl, "t0ype", LS_T0YPE) // = t@ype // val () = insert (ptbl, "vt", LS_VT) val () = insert (ptbl, "vtype", LS_VTYPE) val () = insert (ptbl, "vt0ype", LS_VT0YPE) // = vt@ype // val () = insert (ptbl, "viewt", LS_VIEWT) val () = insert (ptbl, "viewt0ype", LS_VIEWT0YPE) // = viewt@ype // val () = insert (ptbl, "abst", LS_ABST) val () = insert (ptbl, "absvt", LS_ABSVT) val () = insert (ptbl, "absviewt", LS_ABSVIEWT) // val () = insert (ptbl, "for", LS_FOR) val () = insert (ptbl, "while", LS_WHILE) // val rtbl = HASHTBLref_make_ptr {key,itm} (ptbl) // in (* in of [local] *) fun IDENT_alp_get_lexsym (x: string): lexsym = let val (fptbl | ptbl) = HASHTBLref_takeout_ptr (rtbl) var res: itm? val b = hashtbl_search (ptbl, encode(x), res) prval () = fptbl (ptbl) in // if b then let prval () = opt_unsome {itm} (res) in decode (res) end else let prval () = opt_unnone {itm} (res) in LS_NONE (*void*) end // end of [if] // end // end of [IDENT_alp_get_lexsym] end // end of [local] (* ****** ****** *) local // staload STRING = "libc/SATS/string.sats" // for [string.cats] // extern fun substrncmp (x1: string, i1: int, x2: string, i2: int): int = "mac#atslib_substrcmp" // macdef slash2_test (x, i) = (substrncmp (,(x), ,(i), "//", 0) = 0) // in (*in-of-local*) fun IDENT_sym_get_lexsym (x: string): lexsym = let // val x = string1_of_string (x) // in // if string_isnot_atend (x, 0) then let val x0 = x[0] in // case+ x0 of (* | '<' => if string_isnot_atend (x, 1) then let val x1 = x[1] in case+ x1 of | '!' => LS_LTBANG () | '$' => LS_LTDOLLAR () | _ (*rest*) => LS_NONE () end // end of [then] else LS_NONE () // end of [else] *) | '?' => if string_isnot_atend (x, 1) then let val x1 = x[1] in case+ x1 of | '>' => LS_QMARKGT () | _ => LS_NONE () end // end of [then] else LS_NONE () // end of [else] | '/' => if string_isnot_atend (x, 1) then let val x1 = x[1] in case+ x1 of | '*' => LS_SLASHSTAR () | '/' => if slash2_test (x, 2) then LS_SLASH4 () else LS_SLASH2 () | _ (*rest*) => LS_NONE () end // end of [then] else LS_NONE () // end of [else] | _ (*rest-of-char*) => LS_NONE () // end // end of [then] else LS_NONE () // end of [else] // end // end of [IDENT_sym_get_lexsym] end // end of [local] (* ****** ****** *) // fun BLANK_test (c: char): bool = char_isspace (c) // (* ****** ****** *) fun IDENTFST_test (c: char): bool = ( case+ 0 of | _ when ('a' <= c andalso c <= 'z') => true | _ when ('A' <= c andalso c <= 'Z') => true | _ when c = '_' => true | _ (*rest-of-char*) => false ) (* end of [IDENTFST_test] *) fun IDENTRST_test (c: char): bool = ( case+ 0 of | _ when ('a' <= c andalso c <= 'z') => true | _ when ('A' <= c andalso c <= 'Z') => true | _ when ('0' <= c andalso c <= '9') => true | _ when c = '_' => true | _ when c = '\'' => true | _ when c = '$' => true | _ (*rest-of-char*) => false ) (* end of [IDENTRST_test] *) (* ****** ****** *) fun SYMBOLIC_test (c: char): bool = let val symbolic = "%&+-./:=@~`^|*!$#?<>" in string_contains (symbolic, c) end // end of [SYMBOLIC_test] (* ****** ****** *) // fun xX_test (c: char): bool = if c = 'x' then true else c = 'X' // (* ****** ****** *) // (* fun OCTAL_test (c: char): bool = ( if ('0' <= c) then (c <= '7') else false // end of [if] ) *) // (* ****** ****** *) // fun DIGIT_test (c: char): bool = char_isdigit (c) fun XDIGIT_test (c: char): bool = char_isxdigit (c) // (* ****** ****** *) // fun INTSP_test (c: char): bool = string_contains ("LlUu", c) fun FLOATSP_test (c: char): bool = string_contains ("fFlL", c) // (* ****** ****** *) // fun eE_test (c: char): bool = if c = 'e' then true else c = 'E' // fun pP_test (c: char): bool = if c = 'p' then true else c = 'P' // (* ****** ****** *) // fun SIGN_test (c: char): bool = if c = '+' then true else c = '-' // (* ****** ****** *) local // #define ESCAPED "ntvbrfa\\\?\'\"\(\[\{" // in(*in-of-local*) // fun ESCHAR_test (c: char): bool = string_contains (ESCAPED, c) // end // end of [local] (* ****** ****** *) (* // // HX: f('\n') must be false! // *) extern fun ftesting_opt ( buf: &lexbuf , pos: &position, f: char -> bool ) : uint // end of [ftesting_opt] implement ftesting_opt (buf, pos, f) = let val i = lexbufpos_get_char (buf, pos) in // if ( i >= 0 ) then ( if f ((i2c)i) then let val () = posincby1 (pos) in 1u end else 0u // end of [if] ) else 0u // end of [if] // end // end of [ftesting_opt] (* ****** ****** *) // // HX: f('\n') must be false! // extern fun ftesting_seq0 ( buf: &lexbuf , pos: &position, f: char -> bool ) : uint // end of [ftesting_seq0] implement ftesting_seq0 ( buf, pos, f ) = diff where { // fun loop ( buf: &lexbuf , nchr: uint, f: char -> bool ) : uint = let val i = lexbuf_get_char (buf, nchr) in // if i >= 0 then ( if f ((i2c)i) then loop (buf, succ(nchr), f) else nchr // end of [if] ) (* end of [then] *) else nchr // end of [else] // end // end of [loop] // val nchr0 = lexbufpos_diff (buf, pos) // val nchr1 = loop (buf, nchr0, f) // val diff = nchr1 - nchr0 val () = if diff > 0u then $LOC.position_incby_count (pos, diff) else () // end of [if] // } (* end of [ftesting_seq0] *) (* ****** ****** *) // // HX: f('\n') must be false! // extern fun ftesting_seq1 ( buf: &lexbuf , pos: &position, f: char -> bool ) : int // end of [ftesting_seq1] implement ftesting_seq1 (buf, pos, f) = let // val i = lexbufpos_get_char (buf, pos) // in // if ( i >= 0 ) then ( if f((i2c)i) then let val () = posincby1 (pos) val nchr = ftesting_seq0 (buf, pos, f) in (u2i)nchr + 1 end // end of [then] else (~1) // end of [else] // end of [if] ) else (~1) // end of [if] // end // end of [ftesting_seq1] (* ****** ****** *) // // HX-2011-03-07: // this one cannot be based on [ftesting_seq0] // as '\n' is considered a blank character // fun testing_blankseq0 ( buf: &lexbuf, pos: &position ) : uint = diff where { fun loop ( buf: &lexbuf, pos: &position, nchr: uint ) : uint = let val i = lexbuf_get_char (buf, nchr) in if ( i >= 0 ) then ( if BLANK_test ((i2c)i) then let val () = posincbyc (pos, i) in loop (buf, pos, succ(nchr)) end else nchr // end of [if] ) else nchr // end of [if] end // end of [loop] val nchr = lexbufpos_diff (buf, pos) val diff = loop (buf, pos, nchr) - nchr } (* end of testing_blankseq0] *) (* ****** ****** *) extern fun testing_litchar ( buf: &lexbuf, pos: &position, lit: char ) : int // end of [testing_litchar] implement testing_litchar ( buf, pos, lit ) = res where { val i = lexbufpos_get_char (buf, pos) val res = ( if i >= 0 then (if (i2c)i = lit then 1 else ~1) else ~1 ) : int // end of [val] val () = if res >= 0 then posincbyc (pos, i) } (* end of [testing_litchar] *) (* ****** ****** *) // // HX: [lit] contains no '\n'! // extern fun testing_literal ( buf: &lexbuf, pos: &position, lit: string ) : int // end of [testing_literal] implement testing_literal (buf, pos, lit) = res where { // val [n:int] lit = string1_of_string (lit) // fun loop {k:nat | k <= n} .. ( buf: &lexbuf , nchr: uint, lit: string n, k: size_t k ) : int = let val isnot = string_isnot_atend (lit, k) in // if isnot then let val i = lexbuf_get_char (buf, nchr) in // if ( i >= 0 ) then ( if ((i2c)i = lit[k]) then loop (buf, succ(nchr), lit, k+1) else ~1 // end of [if] ) else (~1) // end of [if] // end // end of [then] else (sz2i)k // end of [else] // end // end of [loop] // val nchr0 = lexbufpos_diff (buf, pos) val res = loop (buf, nchr0, lit, 0) val () = ( // if res >= 0 then $LOC.position_incby_count (pos, (i2u)res) else () // ) (* end of [val] *) // } // end of [testing_literal] (* ****** ****** *) fun testing_identrstseq0 (buf: &lexbuf, pos: &position): uint = ftesting_seq0 (buf, pos, IDENTRST_test) // end of [testing_identrstseq0] fun testing_symbolicseq0 (buf: &lexbuf, pos: &position): uint = ftesting_seq0 (buf, pos, SYMBOLIC_test) // end of [testing_symbolicseq0] (* ****** ****** *) // fun testing_octalseq0 ( buf: &lexbuf, pos: &position ) : uint = diff where { // fun f3 ( buf: &lexbuf, nchr: uint, c: char ) : bool = ( case+ 0 of | _ when ( '0' <= c && c <= '7' ) => true | _ when ( '8' <= c && c <= '9' ) => true where { // // HX: continue-with-error // var pos1: position val () = lexbuf_get_position (buf, pos1) val () = $LOC.position_incby_count (pos1, nchr) var pos2: position val () = lexbuf_get_position (buf, pos2) val () = $LOC.position_incby_count (pos2, succ(nchr)) val loc = $LOC.location_make_pos_pos (pos1, pos2) val err = lexerr_make (loc, LE_DIGIT_oct_89 (c)) val ((*void*)) = the_lexerrlst_add (err) } (* end of [8--9] *) | _ (*non-DIGIT*) => false ) // fun loop ( buf: &lexbuf, nchr: uint ) : uint = let val i = lexbuf_get_char (buf, nchr) in if i >= 0 then if f3 (buf, nchr, (i2c)i) then loop (buf, succ(nchr)) else nchr // end of [if] else nchr // end of [if] end // end of [loop] // val nchr0 = lexbufpos_diff (buf, pos) val nchr1 = loop (buf, nchr0) val diff = nchr1 - nchr0 val () = if diff > 0u then $LOC.position_incby_count (pos, diff) else () // end of [val] } (* end of [testing_octalseq0] *) // (* ****** ****** *) // fun testing_digitseq0 ( buf: &lexbuf, pos: &position ) : uint = ftesting_seq0 (buf, pos, DIGIT_test) // fun testing_xdigitseq0 ( buf: &lexbuf, pos: &position ) : uint = ftesting_seq0 (buf, pos, XDIGIT_test) // (* ****** ****** *) // fun testing_intspseq0 ( buf: &lexbuf, pos: &position ) : uint = ftesting_seq0 (buf, pos, INTSP_test) // (* ****** ****** *) // fun testing_floatspseq0 ( buf: &lexbuf, pos: &position ) : uint = ftesting_seq0 (buf, pos, FLOATSP_test) // (* ****** ****** *) fun testing_fexponent ( buf: &lexbuf, pos: &position ) : int = let val i = lexbufpos_get_char (buf, pos) in // if i >= 0 then let val c = (i2c)i in // if eE_test(c) then let val () = posincby1 (pos) // val k1 = ftesting_opt (buf, pos, SIGN_test) val k2 = testing_digitseq0 (buf, pos) // err: k2 = 0 // val () = if k2 = 0u then { val loc = lexbufpos_get_location (buf, pos) val err = lexerr_make (loc, LE_FEXPONENT_empty) val ((*void*)) = the_lexerrlst_add (err) } (* end of [if] *) // end of [val] // in u2i (k1+k2+1u) end // end of [then] else (~1) // end of [else] // end // end of [then] else (~1) // end of [else] // end // end of [testing_fexponent] (* ****** ****** *) fun testing_fexponent_bin ( buf: &lexbuf, pos: &position ) : int = let val i = lexbufpos_get_char (buf, pos) in // if i >= 0 then let val c = (i2c)i in // if pP_test(c) then let val () = posincby1 (pos) // val k1 = ftesting_opt (buf, pos, SIGN_test) val k2 = testing_digitseq0 (buf, pos) // err: k2 = 0 // val () = if k2 = 0u then { val loc = lexbufpos_get_location (buf, pos) val err = lexerr_make (loc, LE_FEXPONENT_empty) val ((*void*)) = the_lexerrlst_add (err) } (* end of [if] *) // end of [val] // in u2i (k1+k2+1u) end // end of [then] else (~1) // end of [else] // end // end of [then] else (~1) // end of [else] // end // end of [testing_fexponent_bin] (* ****** ****** *) fun testing_deciexp ( buf: &lexbuf, pos: &position ) : int = let val i = lexbufpos_get_char (buf, pos) in // if i >= 0 then let val c = (i2c)i in // if c = '.' then let val () = posincby1 (pos) val k1 = testing_digitseq0 (buf, pos) val k2 = testing_fexponent (buf, pos) val k12 = ( if k2 >= 0 then (u2i)k1 + k2 else (u2i)k1 ) : int // end of [val] // (* val () = if (k12 = 0) then { val loc = lexbufpos_get_location (buf, pos) val err = lexerr_make (loc, LE_FEXPONENT_empty) val ((*void*)) = the_lexerrlst_add (err) } (* end of [if] *) // end of [val] *) // in k12 + 1 end // end of [then] else ~1 // end of [else] // end // end of [then] else ~1 // end of [else] // end // end of [testing_deciexp] (* ****** ****** *) fun testing_hexiexp ( buf: &lexbuf, pos: &position ) : int = let val i = lexbufpos_get_char (buf, pos) in // if i >= 0 then let val c = (i2c)i in // if c = '.' then let val () = posincby1 (pos) val k1 = testing_xdigitseq0 (buf, pos) val k2 = testing_fexponent_bin (buf, pos) in if k2 >= 0 then (u2i)k1 + k2 + 1 else (u2i)k1 + 1 end // end of [then] else (~1) // end of [else] // end // end of [then] else (~1) // end of [else] // end // end of [testing_hexiexp] (* ****** ****** *) implement token_make (loc, node) = '{ token_loc= loc, token_node= node } (* end of [token_make] *) (* ****** ****** *) fun lexbufpos_token_reset ( buf: &lexbuf , pos: &position , node: token_node ) : token = let // val loc = lexbufpos_get_location (buf, pos) // val () = lexbuf_set_position (buf, pos) // in token_make (loc, node) end // end of [lexbufpos_token_reset] (* ****** ****** *) fun lexbufpos_lexerr_reset ( buf: &lexbuf , pos: &position , node: lexerr_node ) : token = let // val loc = lexbufpos_get_location (buf, pos) val ((*void*)) = the_lexerrlst_add (lexerr_make (loc, node)) val ((*void*)) = lexbuf_set_position (buf, pos) // in token_make (loc, T_ERR) end // end of [lexbufpos_lexerr_reset] (* ****** ****** *) // extern fun lexing_FLOAT_deciexp (buf: &lexbuf, pos: &position): token extern fun lexing_FLOAT_hexiexp (buf: &lexbuf, pos: &position): token // (* ****** ****** *) // extern fun lexing_INT_dec (buf: &lexbuf, pos: &position): token extern fun lexing_INT_oct (buf: &lexbuf, pos: &position, k1: uint): token extern fun lexing_INT_hex (buf: &lexbuf, pos: &position, k1: uint): token // (* ****** ****** *) // extern fun lexing_IDENT_alp (buf: &lexbuf, pos: &position, k1: uint): token extern fun lexing_IDENT2_alp {l:agz} (buf: &lexbuf, pos: &position, str: strptr l): token // extern fun lexing_IDENT_sym (buf: &lexbuf, pos: &position, k1: uint): token // extern fun lexing_IDENT_dlr (buf: &lexbuf, pos: &position, k1: uint): token extern fun lexing_IDENT_srp (buf: &lexbuf, pos: &position, k1: uint): token // (* ****** ****** *) // extern fun lexing_COMMENT_line (buf: &lexbuf, pos: &position): token extern fun lexing_COMMENT_block_c (buf: &lexbuf, pos: &position): token extern fun lexing_COMMENT_block_ml {l:pos} (buf: &lexbuf, pos: &position, xs: list_vt (position, l)): token extern fun lexing_COMMENT_rest (buf: &lexbuf, pos: &position): token // (* ****** ****** *) // extern fun lexing_EXTCODE (buf: &lexbuf, pos: &position): token extern fun lexing_EXTCODE_knd (buf: &lexbuf, pos: &position, knd: int): token // (* ****** ****** *) implement lexing_COMMENT_line (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // if ( i >= 0 ) then ( // case+ (i2c)i of | '\n' => ( lexbufpos_token_reset (buf, pos, T_COMMENT_line) ) (* end of [EOL] *) | _ (*non-EOL*) => let val () = posincby1 (pos) in lexing_COMMENT_line (buf, pos) end (* end of [_] *) // ) else lexbufpos_token_reset (buf, pos, T_COMMENT_line) // end // end of [lexing_COMMENT_line] (* ****** ****** *) implement lexing_COMMENT_block_c (buf, pos) = let // fun feof ( buf: &lexbuf, pos: &position ) : token = lexbufpos_lexerr_reset (buf, pos, LE_COMMENT_block_unclose) // end of [feof] // val i = lexbufpos_get_char (buf, pos) // in // if i >= 0 then ( case+ (i2c)i of | '*' when testing_literal (buf, pos, "*/") >= 0 => lexbufpos_token_reset (buf, pos, T_COMMENT_block) // end of ['*'] | _ => let val () = posincbyc (pos, i) in lexing_COMMENT_block_c (buf, pos) end // end of [_] ) else feof (buf, pos) // end of [if] // end // end of [lexing_COMMENT_block_c] (* ****** ****** *) implement lexing_COMMENT_block_ml (buf, pos, xs) = let // fun feof {l:pos} ( buf: &lexbuf , pos: &position , xs: list_vt (position, l) ) : token = let val list_vt_cons (!p_x, _) = xs val loc = $LOC.location_make_pos_pos (!p_x, pos) prval () = fold@ (xs) val () = list_vt_free (xs) val err = lexerr_make (loc, LE_COMMENT_block_unclose) val () = the_lexerrlst_add (err) val () = lexbuf_set_position (buf, pos) in token_make (loc, T_ERR) end // end of [feof] // val i = lexbufpos_get_char (buf, pos) // in // if ( i >= 0 ) then ( case+ (i2c)i of | '\(' => let var x: position val () = $LOC.position_copy (x, pos) val ans = testing_literal (buf, pos, "(*") in if ans >= 0 then lexing_COMMENT_block_ml (buf, pos, list_vt_cons (x, xs)) else let val () = posincby1 (pos) in lexing_COMMENT_block_ml (buf, pos, xs) end // end of [if] end // end of ['\('] | '*' when testing_literal (buf, pos, "*)") >= 0 => let val+~list_vt_cons (_, xs) = xs in case+ xs of | list_vt_cons _ => let prval () = fold@ (xs) in lexing_COMMENT_block_ml (buf, pos, xs) end // end of [list_vt_cons] | ~list_vt_nil () => lexbufpos_token_reset (buf, pos, T_COMMENT_block) // end of [list_vt_nil] (* end of [case] *) end // end of ['*'] | _ => let val () = posincbyc (pos, i) in lexing_COMMENT_block_ml (buf, pos, xs) end // end of [_] ) else feof (buf, pos, xs) // end of [if] // end // end of [lexing_COMMENT_block_ml] (* ****** ****** *) implement lexing_COMMENT_rest (buf, pos) = let val i = lexbufpos_get_char (buf, pos) in if i >= 0 then let val () = posincbyc (pos, i) in lexing_COMMENT_rest (buf, pos) end else ( lexbufpos_token_reset (buf, pos, T_COMMENT_rest) ) // end of [if] end // end of [lexing_COMMENT_rest] (* ****** ****** *) local // #define DYNBEG 1 #define DYNMID 10 #define DYNEND 99 // in (* in-of-local *) fun extcode_nskip (knd: int): uint = let in // case+ 0 of | _ when knd = 0 => 3u | _ when knd = DYNBEG => 3u | _ when knd < DYNMID => 4u | _ when knd = DYNMID => 2u | _ when knd < DYNEND => 4u | _ when knd = DYNEND => 3u | _ (*rest*) => 0u // HX: deadcode // end // end of [extcode_nskip] (* ****** ****** *) implement lexing_EXTCODE (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // if i >= 0 then let val c = (i2c)i val knd = ( case+ c of | '#' => 0 // HX: sta | '^' => DYNBEG // HX: dyn-beg | '$' => DYNEND // HX: dyn-end | _ (*dyn*) => DYNMID // HX: dyn-mid ) : int // end of [val] var knd: int = knd // val () = if knd != DYNMID then posincby1 (pos) // end of [val] // val () = if knd = DYNBEG then let // for ^2 val i2 = lexbufpos_get_char (buf, pos) val c2 = (i2c)i2 in if c2 = '2' then (knd := knd + 1; posincby1 (pos)) end // end of [val] val () = if knd = DYNEND then let // for $^2 val i2 = lexbufpos_get_char (buf, pos) val c2 = (i2c)i2 in if c2 = '2' then (knd := knd - 1; posincby1 (pos)) end // end of [val] // in lexing_EXTCODE_knd (buf, pos, knd) end // end of [then] else lexing_EXTCODE_knd (buf, pos, DYNMID) // end // end of [lexing_EXTCODE] (* ****** ****** *) implement lexing_EXTCODE_knd (buf, pos, knd) = let val i = lexbufpos_get_char (buf, pos) in // if i >= 0 then let val c = (i2c)i in case+ c of | '%' when // HX: '%}' closes // external code only if it initiates a newline $LOC.position_get_ncol (pos) = 0 => let val res = testing_literal (buf, pos, "%}") in if res >= 0 then let val loc = lexbufpos_get_location (buf, pos) val nchr = extcode_nskip (knd) // HX: number of skipped val len = lexbufpos_diff (buf, pos) - nchr - 2u // %}: 2u // val str = lexbuf_get_substrptr1 (buf, nchr, len) val str = string_of_strptr (str) // val () = lexbuf_set_position (buf, pos) in token_make (loc, T_EXTCODE (knd, str)) end else let val () = posincby1 (pos) in lexing_EXTCODE_knd (buf, pos, knd) end // end of [if] end // end of ['%' when ...] | _ => let val () = posincbyc (pos, i) in lexing_EXTCODE_knd (buf, pos, knd) end // end of [_] end else lexbufpos_lexerr_reset (buf, pos, LE_EXTCODE_unclose) // end of [if] end // end of [lexing_EXTCODE_knd] end // end of [local] (* ****** ****** *) extern fun lexing_LPAREN (buf: &lexbuf, pos: &position): token implement lexing_LPAREN (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in case+ (i2c)i of | '*' => let val () = posincby1 (pos) val poslst = list_vt_cons{position}(?, list_vt_nil) val list_vt_cons (!p_x, _) = poslst val () = lexbuf_get_position (buf, !p_x) prval () = fold@ (poslst) in lexing_COMMENT_block_ml (buf, pos, poslst) end // end of ['*'] | _ => lexbufpos_token_reset (buf, pos, T_LPAREN) end // end of [lexing_LPAREN] (* ****** ****** *) extern fun lexing_COMMA (buf: &lexbuf, pos: &position): token implement lexing_COMMA (buf, pos) = let val i = lexbufpos_get_char (buf, pos) in case+ (i2c)i of | '\(' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_COMMALPAREN) end // end of ['('] | _ => lexbufpos_token_reset (buf, pos, T_COMMA) end // end of [lexing_COMMA] (* ****** ****** *) extern fun lexing_AT (buf: &lexbuf, pos: &position): token implement lexing_AT (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // case+ (i2c)i of // | '\(' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_ATLPAREN) end | '\[' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_ATLBRACKET) end | '\{' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_ATLBRACE) end // | _ (*rest*) => let val k = testing_symbolicseq0 (buf, pos) // end of [val] in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_(*rest*)] // end of [case] // end // end of [lexing_AT] (* ****** ****** *) extern fun lexing_COLON (buf: &lexbuf, pos: &position): token implement lexing_COLON (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // case+ (i2c)i of // | '<' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_COLONLT) end // end of ['<'] | _ (*rest*) => let val k = testing_symbolicseq0 (buf, pos) // end of [val] in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_(*rest*)] // end // end of [lexing_COLON] (* ****** ****** *) fun FLOATDOT_test (buf: &lexbuf, c: char): bool = if lexbuf_get_nspace (buf) > 0 then DIGIT_test (c) else false // end of [testing_float_dot] (* ****** ****** *) fun string2int (x: string) = let // fun loop {n:int} {i:nat | i <= n} .. ( x: string n, i: size_t i, res: int ) :<> int = if string_isnot_atend (x, i) then let val c = x[i]; val res = 10 * res + (c - '0') in loop (x, i+1, res) end else res // end of [if] // end of [loop] // val x = string1_of_string (x) // in loop (x, 0, 0) end // end of [string2int] (* ****** ****** *) extern fun lexing_DOT (buf: &lexbuf, pos: &position): token implement lexing_DOT (buf, pos) = let val i = lexbufpos_get_char (buf, pos) val c = (i2c)i val nspace = lexbuf_get_nspace (buf) in // case+ 0 of // | _ when SYMBOLIC_test (c) => let val () = posincby1 (pos) val k0 = testing_symbolicseq0 (buf, pos) // end of [val] in lexing_IDENT_sym (buf, pos, k0+2u) end // HX: a symbolic token // | _ when FLOATDOT_test (buf, c) => let val () = posdecby1 (pos) val k0 = testing_deciexp (buf, pos) in if k0 >= 0 then lexing_FLOAT_deciexp (buf, pos) else lexbufpos_token_reset (buf, pos, T_ERR) // end of [if] end // end of [nspace > 0] // | _ when DIGIT_test (c) => let val () = posincby1 (pos) val k0 = testing_digitseq0 (buf, pos) val str = lexbuf_get_substrptr1 (buf, 1u, k0+1u) val int = string2int ($UN.castvwtp1{string}(str)) val () = strptr_free (str) in lexbufpos_token_reset (buf, pos, T_DOTINT (int)) end // end of [DOTINT] // | _ => lexbufpos_token_reset (buf, pos, DOT) // end // end of [lexing_DOT] (* ****** ****** *) extern fun lexing_PERCENT (buf: &lexbuf, pos: &position): token implement lexing_PERCENT (buf, pos) = let val i = lexbufpos_get_char (buf, pos) val c = (i2c)i in case+ c of | '\(' => let // '%(' initiates macro syntax val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_PERCENTLPAREN) end // end of ['\('] | '\{' when // '%{' must start at the beginning of a newline $LOC.position_get_ncol (pos) = 1 => let val () = posincby1 (pos) in lexing_EXTCODE (buf, pos) end // end of ['\{'] | _ => let val k = testing_symbolicseq0 (buf, pos) in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_] end // end of [lexing_PERCENT] (* ****** ****** *) extern fun lexing_DOLLAR (buf: &lexbuf, pos: &position): token implement lexing_DOLLAR (buf, pos) = let val i = lexbufpos_get_char (buf, pos) val c = (i2c)i in case+ c of | _ when IDENTFST_test (c) => let val () = posincby1 (pos) val k = testing_identrstseq0 (buf, pos) in lexing_IDENT_dlr (buf, pos, k+2u) end // end of [_ when ...] | _ => let val k = testing_symbolicseq0 (buf, pos) in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_] end // end of [lexing_DOLLAR] (* ****** ****** *) extern fun lexing_SHARP (buf: &lexbuf, pos: &position): token implement lexing_SHARP (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) val c = (i2c)i // in case+ c of | '\[' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_HASHLBRACKET) end // end of ['\('] | _ when IDENTFST_test (c) => let val () = posincby1 (pos) val k = testing_identrstseq0 (buf, pos) in lexing_IDENT_srp (buf, pos, k+2u) end // end of [_ when ...] | _ => let val k = testing_symbolicseq0 (buf, pos) in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_] end // end of [lexing_SHARP] (* ****** ****** *) extern fun lexing_BQUOTE (buf: &lexbuf, pos: &position): token implement lexing_BQUOTE (buf, pos) = let val i = lexbufpos_get_char (buf, pos) val c = (i2c)i in case+ c of | '\(' => let // '`(' initiates macro syntax val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, T_BQUOTELPAREN) end // end of ['\('] | _ => let val k = testing_symbolicseq0 (buf, pos) in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_] end // end of [lexing_BQUOTE] (* ****** ****** *) // extern fun lexing_QUOTE (buf: &lexbuf, pos: &position): token // extern fun lexing_DQUOTE (buf: &lexbuf, pos: &position): token // (* ****** ****** *) local // extern fun lexing_char_oct (buf: &lexbuf, pos: &position, k: uint): token extern fun lexing_char_hex (buf: &lexbuf, pos: &position, k: uint): token extern fun lexing_char_special (buf: &lexbuf, pos: &position): token extern fun lexing_char_closing (buf: &lexbuf, pos: &position, c: char): token // in (* in of [local] *) implement lexing_char_oct (buf, pos, k) = let fun loop ( buf: &lexbuf , k: uint, nchr: uint, i: int ) : int = if k > 0u then let val d = lexbuf_get_char (buf, nchr) val i = i * 8 + ((i2c)d - '0') in loop (buf, pred(k), succ(nchr), i) end else i val i = loop (buf, k, 2u, 0) val c = (i2c)i in lexing_char_closing (buf, pos, c) end // end of [lexing_char_oct] (* ****** ****** *) implement lexing_char_hex (buf, pos, k) = let fun loop ( buf: &lexbuf , k: uint, nchr: uint, i: int ) : int = if k > 0u then let val d = lexbuf_get_char (buf, nchr) val i = i * 16 + xdigit_get_val ((i2c)d) in loop (buf, pred(k), succ(nchr), i) end else i val i = loop (buf, k, 3u, 0) val c = (i2c)i in lexing_char_closing (buf, pos, c) end // end of [lexing_char_hex] (* ****** ****** *) implement lexing_char_special (buf, pos) = let val i = lexbufpos_get_char (buf, pos) val c = (i2c)i in case+ 0 of | _ when ESCHAR_test (c) => let val () = posincby1 (pos) val c = char_for_escaped (c) in lexing_char_closing (buf, pos, c) end // end of [_ when ...] | _ when xX_test (c) => let val () = posincby1 (pos) val k = testing_xdigitseq0 (buf, pos) in if k = 0u then lexbufpos_lexerr_reset (buf, pos, LE_CHAR_hex) else lexing_char_hex (buf, pos, k) // end of [if] end // end of [_ when ...] | _ => let val k = testing_digitseq0 (buf, pos) in if k = 0u then lexbufpos_lexerr_reset (buf, pos, LE_CHAR_oct) else lexing_char_oct (buf, pos, k) // end of [if] end // end of [_] // end of [case] end // end of [lexing_char_special] (* ****** ****** *) implement lexing_char_closing (buf, pos, c) = let val res = testing_litchar (buf, pos, '\'') in if res >= 0 then lexbufpos_token_reset (buf, pos, T_CHAR (c)) else lexbufpos_lexerr_reset (buf, pos, LE_CHAR_unclose) // end of [if] end // end of [lexing_char_closing] (* ****** ****** *) implement lexing_QUOTE (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // if i >= 0 then let val c = (i2c)i val () = posincby1 (pos) in case+ c of // | '\(' => lexbufpos_token_reset (buf, pos, T_QUOTELPAREN) | '\[' => lexbufpos_token_reset (buf, pos, T_QUOTELBRACKET) | '\{' => lexbufpos_token_reset (buf, pos, T_QUOTELBRACE) // | _ when c = '\\' => lexing_char_special (buf, pos) // | _ (*rest-of-char*) => lexing_char_closing (buf, pos, c) // end // end of [then] else ( lexbufpos_lexerr_reset (buf, pos, LE_QUOTE_dangling) ) (* end of [else] *) // end // end of [lexing_QUOTE] end // end of [local] (* ****** ****** *) local // #define AGAIN 1 // (* ****** ****** *) staload "libats/SATS/linqueue_arr.sats" staload _(*anon*) = "libats/DATS/linqueue_arr.dats" staload _(*anon*) = "libats/ngc/DATS/deque_arr.dats" (* ****** ****** *) vtypedef Q(m:int, n:int) = QUEUE(uchar, m, n) (* ****** ****** *) fun lexing_string_char_oct ( buf: &lexbuf, pos: &position ) : int = let fun loop ( buf: &lexbuf , pos: &position , n: &int, i: int ) : int = if n > 0 then let val d = lexbufpos_get_char (buf, pos) val c = (i2c)d in case+ 0 of | _ when DIGIT_test (c) => let val () = posincby1 (pos) val () = n := n-1 in loop (buf, pos, n, 8*i+(c-'0')) end // end of [_ when ...] | _ => i end else i // end of [loop] var n: int = 3 // HX: \d1d2d3 val i = loop (buf, pos, n, 0) // = 8*(8*d1 + d2) + d3 // val () = if (n = 3) then { val loc = $LOC.location_make_pos_pos (pos, pos) val err = lexerr_make (loc, LE_STRING_char_oct) val () = the_lexerrlst_add (err) } // end of [if] // in i // char code end // end of [lexing_string_char_oct] (* ****** ****** *) fun lexing_string_char_hex ( buf: &lexbuf, pos: &position ) : int = let fun loop ( buf: &lexbuf , pos: &position , n: &int, i: int ) : int = if n > 0 then let val d = lexbufpos_get_char (buf, pos) val c = (i2c)d in case+ 0 of | _ when XDIGIT_test (c) => let val () = posincby1 (pos) val () = n := n-1 in loop (buf, pos, n, 16*i+xdigit_get_val (c)) end // end of [_ when ...] | _ => i end else i // end of [loop] var n: int = 2 // HX: 0xd1d2 val i = loop (buf, pos, n, 0) // 16*d1 + d2 // val () = if (n = 2) then { val loc = $LOC.location_make_pos_pos (pos, pos) val err = lexerr_make (loc, LE_STRING_char_hex) val () = the_lexerrlst_add (err) } // end of [if] // in i // char code end // end of [lexing_string_char_hex] (* ****** ****** *) fun lexing_string_char_special ( buf: &lexbuf, pos: &position, err: &int ) : int = let // val i = lexbufpos_get_char (buf, pos) // in // if i >= 0 then let val c = (i2c)i in case+ c of | '\n' => let val () = err := AGAIN val () = posincbyc (pos, i) in 0 // HX: of no use end // end of ['\n'] | _ when ESCHAR_test (c) => let val () = posincby1 (pos) in c2i(char_for_escaped(c)) end // end of [_ when ...] | _ when xX_test (c) => let val () = posincby1 (pos) in lexing_string_char_hex (buf, pos) end // end of [_ when ...] | _ => lexing_string_char_oct (buf, pos) end else 0 // end of [if] // end // end of [lexing_string_char_special] in (* in of [local] *) implement lexing_DQUOTE (buf, pos) = let // fn regerr ( // register error buf: &lexbuf, pos: &position ) : void = let val loc = lexbufpos_get_location (buf, pos) val err = lexerr_make (loc, LE_STRING_unclose) in the_lexerrlst_add (err) end // end of [regerr] // fn* loop {m,n:int | m > 0} ( buf: &lexbuf , pos: &position , q: &Q(m, n) >> Q(m, n) , m: size_t (m), n: size_t (n) ) : #[m,n:nat] size_t(n) = let val i = lexbufpos_get_char (buf, pos) prval () = lemma_queue_param (q) // m >= n >= 0 in // if i >= 0 then let val c = (i2c)i val () = posincbyc (pos, i) in case+ c of | '"' => n // string is properly closed | '\\' => let var err: int = 0 val i = lexing_string_char_special (buf, pos, err) in if err = AGAIN then loop (buf, pos, q, m, n) else loop_ins (buf, pos, q, m, n, i) // end of [if] end // end of ['\\'] | _(*rest*) => loop_ins (buf, pos, q, m, n, i) end // end of [then] else let val () = regerr (buf, pos) in queue_size {uchar} (q) end (* end of [else] *) // end // end of [loop] // and loop_ins {m,n:int | m > 0} ( buf: &lexbuf , pos: &position , q: &Q(m, n) >> Q(m, n) , m: size_t (m), n: size_t (n), i: int ) : #[m,n:nat] size_t (n) = let val c = (i2uc)i prval () = lemma_queue_param (q) // m >= n >= 0 // end of [prval] in case+ 0 of | _ when m > n => let val () = queue_insert (q, c) in loop (buf, pos, q, m, n+1) end // end of [m > n] | _ (* m <= n *) => let val m2 = m + m val () = queue_update_capacity (q, m2) // end of [val] val ((*inserted*)) = queue_insert (q, c) in loop (buf, pos, q, m2, n+1) end // end of [m <= n] end // end of [loop_ins] // var q: QUEUE0(uchar) #define m0 128 // HX: chosen randomly val () = queue_initialize (q, m0) // val n = loop (buf, pos, q, m0, 0) val str = $UTL.queue_get_strptr1 (q, 0, n) val str = string_of_strptr (str) // val () = queue_uninitialize (q) // in lexbufpos_token_reset (buf, pos, T_STRING(str)) end // end of [lexing_DQUOTE] end // end of [local] (* ****** ****** *) fun lexing_postfix ( buf: &lexbuf , pos: &position , tn: tnode, tn_post: tnode, c0: char ) : token = let val i = lexbufpos_get_char (buf, pos) in case+ 0 of | _ when c0 = (i2c)i => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, tn_post) end | _ => lexbufpos_token_reset (buf, pos, tn) end // end of [lexing_postfix] (* ****** ****** *) fun lexing_polarity ( buf: &lexbuf, pos: &position , tn: tnode, tn_pos: tnode, tn_neg: tnode ) : token = let val i = lexbufpos_get_char (buf, pos) in case+ (i2c)i of | '+' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, tn_pos) end | '-' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, tn_neg) end | _ => lexbufpos_token_reset (buf, pos, tn) end // end of [lexing_polarity] (* ****** ****** *) // fun lexing_FOR ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, FOR, FORSTAR, '*') // fun lexing_WHILE ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, WHILE, WHILESTAR, '*') // (* ****** ****** *) fun lexing_CASE ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, CASE, CASE_pos, CASE_neg) // end of [lexing_CASE] fun lexing_VAL ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, VAL, VAL_pos, VAL_neg) // end of [lexing_VAL] (* ****** ****** *) fun lexing_TYPE ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, TYPE, TYPE_pos, TYPE_neg) // end of [lexing_TYPE] fun lexing_T0YPE ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, T0YPE, T0YPE_pos, T0YPE_neg) // end of [lexing_T0YPE] fun lexing_PROP ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, PROP, PROP_pos, PROP_neg) // end of [lexing_PROP] // fun lexing_VIEW ( buf: &lexbuf, pos: &position ) : token = let val i = lexbufpos_get_char (buf, pos) in case+ (i2c)i of | '@' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, VIEWAT) end | '+' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, VIEW_pos) end | '-' => let val () = posincby1 (pos) in lexbufpos_token_reset (buf, pos, VIEW_neg) end | _ => lexbufpos_token_reset (buf, pos, VIEW) end // end of [lexing_VIEW] // fun lexing_VIEWTYPE ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, VIEWTYPE, VIEWTYPE_pos, VIEWTYPE_neg) // end of [lexing_VIEWTYPE] fun lexing_VIEWT0YPE ( buf: &lexbuf, pos: &position ) : token = lexing_polarity (buf, pos, VIEWT0YPE, VIEWT0YPE_pos, VIEWT0YPE_neg) // end of [lexing_VIEWT0YPE] (* ****** ****** *) // fun lexing_LAM ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, LAM, LAMAT, '@') fun lexing_LLAM ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, LLAM, LLAMAT, '@') // fun lexing_FIX ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, FIX, FIXAT, '@') // (* ****** ****** *) (* fun lexing_REF ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, REF, REFAT, '@') *) (* ****** ****** *) // fun lexing_ADDR ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, ADDR, ADDRAT, '@') // fun lexing_FOLD ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, FOLD, FOLDAT, '@') // fun lexing_FREE ( buf: &lexbuf, pos: &position ) : token = lexing_postfix (buf, pos, FREE, FREEAT, '@') // (* ****** ****** *) implement lexing_IDENT_alp (buf, pos, k) = let // val i = lexbufpos_get_char (buf, pos) // in // case+ (i2c)i of // | '<' => let val () = posincby1 (pos) val str = lexbuf_get_strptr1 (buf, k) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_IDENT_tmp (str)) end // | '\[' => let val () = posincby1 (pos) val str = lexbuf_get_strptr1 (buf, k) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_IDENT_arr (str)) end // | '!' => let val () = posincby1 (pos) val str = lexbuf_get_strptr1 (buf, k) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_IDENT_ext (str)) end // | _ (*rest*) => let val mystr = lexbuf_get_strptr1 (buf, k) // end of [val] in lexing_IDENT2_alp (buf, pos, mystr) end // end of [_] // end of [case] // end // end of [lexing_IDENT_alp] (* ****** ****** *) implement lexing_IDENT2_alp {l}(buf, pos, mystr) = let // vtypedef mystr = strptr(l) // val sym = IDENT_alp_get_lexsym($UN.castvwtp1{string}{mystr}(mystr)) // in // case+ sym of | LS_ABST () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, ABST0YPE) end | LS_ABSVT () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, ABSVIEWT0YPE) end | LS_ABSVIEWT () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, ABSVIEWT0YPE) end // | LS_CASE () => let val () = strptr_free (mystr) in lexing_CASE (buf, pos) end // end of [LS_CASE] // | LS_PROP () => let val () = strptr_free (mystr) in lexing_PROP (buf, pos) end // end of [LS_PROP] // | LS_T () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexing_T0YPE (buf, pos) end | LS_TYPE () => let val () = strptr_free (mystr) in lexing_TYPE (buf, pos) end | LS_T0YPE () => let val () = strptr_free (mystr) in lexing_T0YPE (buf, pos) end // | LS_VT () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexing_VIEWT0YPE (buf, pos) end | LS_VTYPE () => let val () = strptr_free (mystr) in lexing_VIEWTYPE (buf, pos) end | LS_VT0YPE () => let val () = strptr_free (mystr) in lexing_VIEWT0YPE (buf, pos) end // | LS_VIEW () => let val () = strptr_free (mystr) in lexing_VIEW (buf, pos) end | LS_VIEWT () when testing_literal (buf, pos, "@ype") >= 0 => let val () = strptr_free (mystr) in lexing_VIEWT0YPE (buf, pos) end | LS_VIEWTYPE () => let val () = strptr_free (mystr) in lexing_VIEWTYPE (buf, pos) end | LS_VIEWT0YPE () => let val () = strptr_free (mystr) in lexing_VIEWT0YPE (buf, pos) end // | LS_VAL () => let val () = strptr_free (mystr) in lexing_VAL (buf, pos) end // end of [LS_VAL] // | LS_FOR () => let val () = strptr_free (mystr) in lexing_FOR (buf, pos) end // end of [LS_FOR] | LS_WHILE () => let val () = strptr_free (mystr) in lexing_WHILE (buf, pos) end // end of [LS_WHILE] // | LS_ADDR () => let val () = strptr_free (mystr) in lexing_ADDR (buf, pos) end | LS_FOLD () => let val () = strptr_free (mystr) in lexing_FOLD (buf, pos) end | LS_FREE () => let val () = strptr_free (mystr) in lexing_FREE (buf, pos) end // | LS_LAM () => let val () = strptr_free (mystr) in lexing_LAM (buf, pos) end | LS_LLAM () => let val () = strptr_free (mystr) in lexing_LLAM (buf, pos) end | LS_FIX () => let val () = strptr_free (mystr) in lexing_FIX (buf, pos) end // end of [LS_FIX] // (* | LS_REF () => let val () = strptr_free (mystr) in lexing_REF (buf, pos) end // end of [LS_REF] *) // | _ (*rest*) => let val tnode = tnode_search ($UN.castvwtp1{string}{mystr}(mystr)) // end of [val] in case+ tnode of | T_NONE () => let val mystr = string_of_strptr (mystr) in lexbufpos_token_reset (buf, pos, T_IDENT_alp (mystr)) end | _ (*not-NONE*) => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, tnode) end // end of [_] end // end of [_] // end of [case] // end // end of [lexing_IDENT2_alp] (* ****** ****** *) implement lexing_IDENT_sym (buf, pos, k) = let // val [l:addr] mystr = lexbuf_get_strptr1 (buf, k) // vtypedef mystr = strptr(l) // val sym = IDENT_sym_get_lexsym($UN.castvwtp1{string}{mystr}(mystr)) // in // case+ sym of (* | LS_LTBANG () => let val () = posdecby1 (pos) val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, LT) end // end of [LS_LTBANG] | LS_LTDOLLAR () => let val () = posdecby1 (pos) val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, LT) end // end of [LS_LTDOLLOR] *) | LS_QMARKGT () => let val () = posdecby1 (pos) val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, QMARK) end // end of [LS_QMARKGT] // | LS_SLASH2 () => let val () = strptr_free (mystr) in lexing_COMMENT_line (buf, pos) end // end of [LS_SLASH2] | LS_SLASHSTAR () => let val () = strptr_free (mystr) in lexing_COMMENT_block_c (buf, pos) end // end of [LS_SLASHSTAR] | LS_SLASH4 () => let val () = strptr_free (mystr) in lexing_COMMENT_rest (buf, pos) end // end of [LS_SLASH2] // | _ => let val tnode = tnode_search ($UN.castvwtp1{string}{mystr}(mystr)) // end of [val] in case+ tnode of | T_NONE () => let val mystr = string_of_strptr (mystr) in lexbufpos_token_reset (buf, pos, T_IDENT_sym (mystr)) end // end of [T_NONE] | _ => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, tnode) end // end of [_] end // end of [_] // end // end of [lexing_IDENT_sym] (* ****** ****** *) implement lexing_IDENT_dlr (buf, pos, k) = let // val [l:addr] mystr = lexbuf_get_strptr1 (buf, k) // vtypedef mystr = strptr(l) // val tnode = tnode_search($UN.castvwtp1{string}{mystr}(mystr)) // in // case+ tnode of | T_NONE () => let val mystr = string_of_strptr (mystr) // end of [val] in lexbufpos_token_reset (buf, pos, T_IDENT_dlr (mystr)) end // end of [T_NONE] | _(*rest*) => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, tnode) end // end of [_(*rest*)] end // end of [lexing_IDENT_dlr] (* ****** ****** *) implement lexing_IDENT_srp (buf, pos, k) = let // val [l:addr] mystr = lexbuf_get_strptr1 (buf, k) // vtypedef mystr = strptr(l) // val tnode = tnode_search($UN.castvwtp1{string}{mystr}(mystr)) // in // case+ tnode of // | T_NONE () => let val mystr = string_of_strptr(mystr) // end of [val] in lexbufpos_token_reset (buf, pos, T_IDENT_srp(mystr)) end // end of [T_NONE] // | _ (*rest*) => let val () = strptr_free (mystr) in lexbufpos_token_reset (buf, pos, tnode) end // end of [_(*rest*)] // end // end of [lexing_IDENT_srp] (* ****** ****** *) implement lexing_FLOAT_deciexp (buf, pos) = let val k = testing_floatspseq0 (buf, pos) val str = lexbufpos_get_strptr1 (buf, pos) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_FLOAT(10(*base*), str, k)) end // end of [lexing_FLOAT_deciexp] (* ****** ****** *) implement lexing_FLOAT_hexiexp (buf, pos) = let val k = testing_floatspseq0 (buf, pos) val str = lexbufpos_get_strptr1 (buf, pos) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_FLOAT(16(*base*), str, k)) end // end of [lexing_FLOAT_hexiexp] (* ****** ****** *) implement lexing_INT_dec (buf, pos) = let in // case+ 0 of | _ when testing_deciexp (buf, pos) >= 0 => let in lexing_FLOAT_deciexp (buf, pos) end // end of [_ when ...] | _ when testing_fexponent (buf, pos) >= 0 => let in lexing_FLOAT_deciexp (buf, pos) end // end of [_ when ...] | _ (*integer*) => let val k2 = testing_intspseq0 (buf, pos) val str = lexbufpos_get_strptr1 (buf, pos) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_INT_dec(str, k2)) end // end of [_] // end // end of [lexing_INT_dec] (* ****** ****** *) implement lexing_INT_oct (buf, pos, k1) = let // // k1: // number of digits // after the leading 0 // in // if k1 = 0u then ( lexing_INT_dec (buf, pos) ) else let // val k2 = testing_intspseq0 (buf, pos) val str = lexbufpos_get_strptr1 (buf, pos) val str = string_of_strptr (str) // in lexbufpos_token_reset (buf, pos, T_INT_oct(str, k2)) end // end of [else] // end // end of [lexing_INT_oct] (* ****** ****** *) implement lexing_INT_hex (buf, pos, k1) = let // // k1: // number of digits // after the leading 0x // in // case+ 0 of | _ when testing_hexiexp (buf, pos) >= 0 => let in lexing_FLOAT_hexiexp (buf, pos) end // end of [_ when ...] | _ when testing_fexponent_bin (buf, pos) >= 0 => let in lexing_FLOAT_hexiexp (buf, pos) end // end of [_ when ...] | _ (*integer*) => let val k2 = testing_intspseq0 (buf, pos) val str = lexbufpos_get_strptr1 (buf, pos) val str = string_of_strptr (str) in lexbufpos_token_reset (buf, pos, T_INT_hex(str, k2)) end // end of [_] // end // end of [lexing_INT_hex] (* ****** ****** *) extern fun lexing_ZERO (buf: &lexbuf, pos: &position): token implement lexing_ZERO (buf, pos) = let // val i = lexbufpos_get_char (buf, pos) // in // if i >= 0 then let val c = (i2c)i in case+ 0 of | _ when xX_test (c) => let val () = posincby1 (pos) val k1 = testing_xdigitseq0 (buf, pos) // end of [val] in lexing_INT_hex (buf, pos, k1) end // end of [_ when ...] | _ => let val k1 = testing_octalseq0 (buf, pos) // end of [val] in lexing_INT_oct (buf, pos, k1) end // end of [_] // end of [case] end // end of [then] else ( lexbufpos_token_reset (buf, pos, INTZERO) ) (* end of [else] *) // end // end of [lexing_ZERO] (* ****** ****** *) implement lexing_next_token (buf) = let // var pos: position val () = lexbuf_get_position (buf, pos) val k0 = testing_blankseq0 (buf, pos) val () = lexbuf_set_nspace (buf, (u2i)k0) val () = lexbuf_set_position (buf, pos) // val i0 = lexbuf_get_char (buf, 0u) // in // if i0 >= 0 then let val c0 = (i2c)i0 val () = posincbyc (pos, i0) in // case+ 0 of // | _ when c0 = '\(' => lexing_LPAREN (buf, pos) // handling "(*" | _ when (c0 = ')') => lexbufpos_token_reset (buf, pos, T_RPAREN) | _ when c0 = '\[' => lexbufpos_token_reset (buf, pos, T_LBRACKET) | _ when (c0 = ']') => lexbufpos_token_reset (buf, pos, T_RBRACKET) | _ when c0 = '\{' => lexbufpos_token_reset (buf, pos, T_LBRACE) | _ when (c0 = '}') => lexbufpos_token_reset (buf, pos, T_RBRACE) // | _ when c0 = ',' => lexing_COMMA (buf, pos) | _ when c0 = ';' => lexbufpos_token_reset (buf, pos, T_SEMICOLON) // | _ when c0 = '@' => lexing_AT (buf, pos) | _ when c0 = ':' => lexing_COLON (buf, pos) | _ when c0 = '.' => lexing_DOT (buf, pos) | _ when c0 = '$' => lexing_DOLLAR (buf, pos) | _ when c0 = '#' => lexing_SHARP (buf, pos) | _ when c0 = '%' => lexing_PERCENT (buf, pos) // | _ when c0 = '\'' => lexing_QUOTE (buf, pos) | _ when (c0 = '"') => lexing_DQUOTE (buf, pos) | _ when (c0 = '`') => lexing_BQUOTE (buf, pos) // | _ when c0 = '\\' => lexbufpos_token_reset (buf, pos, T_BACKSLASH) // | _ when IDENTFST_test (c0) => let val k = testing_identrstseq0 (buf, pos) // end of [val] in lexing_IDENT_alp (buf, pos, succ(k)) end // end of [_ when ...] | _ when SYMBOLIC_test (c0) => let val k = testing_symbolicseq0 (buf, pos) // end of [val] in lexing_IDENT_sym (buf, pos, succ(k)) end // end of [_ when ...] // | _ when (c0 = '0') => lexing_ZERO (buf, pos) // | _ when DIGIT_test (c0) => let val k1 = testing_digitseq0 (buf, pos) // end of [val] in lexing_INT_dec (buf, pos) // HX: k1+1 digits end // end of [_ when ...] // | _ (*rest-of-char*) => let // // HX: skipping the unrecognized char // val loc = lexbufpos_get_location (buf, pos) // end of [loc] val err = lexerr_make (loc, LE_UNSUPPORTED_char(c0)) // end of [val] val ((*void*)) = the_lexerrlst_add (err) val ((*void*)) = lexbuf_set_position (buf, pos) in lexing_next_token (buf) end // end of [rest-of-char] // end // end of [then] else ( lexbufpos_token_reset (buf, pos, T_EOF(*last*)) ) (* end of [else] *) // end // end of [lexing_next_token] (* ****** ****** *) implement lexing_next_token_ncmnt (buf) = let // val tok = lexing_next_token (buf) // in // case+ tok.token_node of | T_COMMENT_line _ => lexing_next_token_ncmnt (buf) // HX: skip | T_COMMENT_block _ => lexing_next_token_ncmnt (buf) // HX: skip // // HX-2011: // each rest-of-file comment is treated as EOF // | T_COMMENT_rest _ => token_make (tok.token_loc, T_EOF) // | _ (*non-COMMENT*) => tok // end // end of [lexing_next_token_ncmnt] (* ****** ****** *) (* end of [pats_lexing.dats] *) ATS2-Postiats-0.2.6/./src/pats_fixity.sats0000664000175000017500000001127012655455557016765 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) datatype assoc = ASSOCnon | ASSOClft | ASSOCrgt fun fprint_assoc (out: FILEref, x: assoc): void overload fprint with fprint_assoc (* ****** ****** *) abst@ype prec_t0ype = int (* precedence type *) typedef prec = prec_t0ype (* ****** ****** *) val neginf_prec : prec // lowest legal precedence value val posinf_prec : prec // highest legal precedence value (* ****** ****** *) val app_prec : prec // the precedence value for application (* ****** ****** *) val select_prec : prec // the precedence value for selection (* ****** ****** *) val backslash_prec : prec val infixtemp_prec : prec // for temp infix status (* ****** ****** *) val exi_prec_sta : prec and uni_prec_sta : prec (* ****** ****** *) val delay_prec_dyn : prec val exist_prec_dyn : prec (* ****** ****** *) val ptrof_prec_dyn : prec val addrat_prec_dyn : prec val foldat_prec_dyn : prec val freeat_prec_dyn : prec val viewat_prec_dyn : prec (* ****** ****** *) val invar_prec_sta : prec val qmark_prec_sta : prec val qmarkbang_prec_sta : prec val trans_prec_sta : prec // for >> val deref_prec_dyn : prec (* ****** ****** *) fun int_of_prec (p: prec): int fun prec_make_int (i: int): prec fun precedence_inc (p: prec, i: int): prec fun precedence_dec (p: prec, i: int): prec (* ****** ****** *) fun compare_prec_prec (p1: prec, p2: prec): Sgn overload compare with compare_prec_prec (* ****** ****** *) (* // HX: it is exported mainly for pretty printing *) datatype fxty = | FXTYnon | FXTYinf of (prec, assoc) | FXTYpre of prec | FXTYpos of prec // end of [fxty] (* ****** ****** *) fun fprint_fxty (out: FILEref, fxty: fxty): void // end of [fprint_fxty] fun prerr_fxty (fxty: fxty): void fun print_fxty (fxty: fxty): void (* ****** ****** *) val fxty_non : fxty fun fxty_inf (p: prec, a: assoc): fxty fun fxty_pre (p: prec): fxty fun fxty_pos (p: prec): fxty (* ****** ****** *) val deref_fxty_dyn : fxty // for dereference val selptr_fxty_dyn : fxty // for lab/ind selection (* ****** ****** *) fun fxty_get_prec (fxty: fxty): Option_vt (prec) (* ****** ****** *) datatype fxopr (a:type) = | FXOPRinf(a) of ( prec, assoc, (a, a) - fxitm a ) (* end of [FXOPRinf] *) | FXOPRpre(a) of (prec, a - fxitm a) | FXOPRpos(a) of (prec, a - fxitm a) // end of [fxopr] and fxitm (a:type) = FXITMatm(a) of a | FXITMopr(a) of (location, fxopr(a)) // end of [fxitm] fun fxopr_precedence {a:type} (opr: fxopr a): prec fun fxopr_associativity {a:type} (opr: fxopr a): assoc (* ****** ****** *) fun fxitm_app {a:type} ( loc: location, app: (a, a) - fxitm a ) : fxitm a // end of [fxitm_app] (* ****** ****** *) fun fxopr_make {a:type} ( locf: a -> location , appf: (location, a, location, List a) - a , oper: a, fxty: fxty ) : fxitm a // end of [fxopr_make] fun fxopr_make_backslash {a:type} ( // HX: for handling temp infix status locf: a -> location , appf: (location, a, location, List a) - a , loc0: location (* loc of [backslash] *) ) : fxitm a // end of [fxopr_make_backslash] (* ****** ****** *) fun fixity_resolve {a:type} ( loc: location , locf: a -> location, app: fxitm (a), xs: List (fxitm a) ) : (a) // end of [fixity_resolve] (* ****** ****** *) (* end of [pats_fixity.sats] *) ATS2-Postiats-0.2.6/./src/pats_e1xpval.sats0000664000175000017500000000532112655455557017031 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) // fun v1al_is_true (v: v1al): bool fun v1al_is_false (v: v1al): bool // fun v1al_is_err (v: v1al): bool // HX: V1ALerr or not // (* ****** ****** *) datatype valerr = | VE_valize of (e1xp) | VE_valize_defined of (e1xp) | VE_valize_undefined of (e1xp) | VE_maxlevel of (int, e1xp) | VE_opr_arglst of (e1xp, symbol) // opertor cannot handle its arguments | VE_E1XPide_unbound of (e1xp) | VE_E1XPundef of (e1xp) | VE_E1XPlist of (e1xp) // tuple value is not supported | VE_E1XPapp_fun of (e1xp) // the [fun] part is not an identifier | VE_E1XPappid_fun of (e1xp, symbol) // the [fun] part is not an function | VE_E1XPappid_opr of (e1xp, symbol) // the [fun] part is some unrecognized opr | VE_E1XPappid_arity of (e1xp, symbol) // arity mismatch | VE_E1XPfun of (e1xp) // function value is not supported | VE_E1XPerr of (e1xp) // end of [valerr] (* ****** ****** *) // fun fprint_valerr : fprint_type (valerr) // fun the_valerrlst_add (x: valerr): void fun fprint_the_valerrlst (out: FILEref): void // (* ****** ****** *) fun e1xp_valize (e: e1xp): v1al fun e1xp_valize_if (knd: srpifkind, e: e1xp): v1al (* ****** ****** *) fun e1xp_normalize (e: e1xp): e1xp (* ****** ****** *) (* end of [pats_e1xpval.sats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_e0xp.dats0000664000175000017500000001530512655455557020034 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt (* ****** ****** *) (* e0xpseq ::= /*(empty)*/ | e0xp {COMMA e0xpseq}* *) fun p_e0xpseq_vt ( buf: &tokbuf , bt: int, err: &int ) : List_vt (e0xp) = ( pstar_fun0_COMMA {e0xp} (buf, bt, p_e0xp) ) (* p_e0xpseq_vt *) (* ****** ****** *) // implement p_e0xpseq (buf, bt, err) = l2l(p_e0xpseq_vt(buf, bt, err)) // (* ****** ****** *) // (* atme0xp ::= | i0de | LITERAL_char | LITERAL_float | LITERAL_int | LITERAL_string | LPAREN e0xpseq RPAREN | PERCENTLPAREN e0xp RPAREN ; /* atme0xp */ *) // fun p_atme0xp ( buf: &tokbuf, bt: int, err: &int ) : e0xp = ( ptokwrap_fun (buf, bt, err, p_atme0xp_tok, PE_atme0xp) ) (* p_atme0xp *) // and p_atme0xp_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : e0xp = let // val err0 = err // var ent: synent? val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | _ when ptest_fun(buf, p_i0de, ent) => e0xp_i0de (synent_decode (ent)) // | T_INT _ => let val () = incby1 () in e0xp_i0nt (tok) end | T_CHAR _ => let val () = incby1 () in e0xp_c0har (tok) end | T_FLOAT _ => let val () = incby1 () in e0xp_f0loat (tok) end | T_STRING _ => let val () = incby1 () in e0xp_s0tring (tok) end // | T_LPAREN() => let val bt = 0 val () = incby1 () val ent2 = p_e0xpseq_vt (buf, bt, err) val ent3 = p_RPAREN (buf, bt, err) // err=err0 in if err = err0 then e0xp_list (tok, (l2l)ent2, ent3) else let val () = list_vt_free (ent2) in synent_null() end (* end of [if] *) end // end of [T_LPAREN] // | T_PERCENTLPAREN ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_e0xp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then e0xp_eval (tok, ent2, ent3) else synent_null() // end of [if] end // end of [T_PERCENTLPAREN] // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null() end // end // end of [p_atme0xp_tok] // (* ****** ****** *) // (* e0xp0 ::= {atme0xp}+ *) // fun p_e0xp0 ( buf: &tokbuf, bt: int, err: &int ) : e0xp = let // fun loop ( x0: e0xp, xs1: List_vt (e0xp) ) : e0xp = ( case+ xs1 of | ~list_vt_nil () => x0 | ~list_vt_cons (x1, xs1) => let val x0 = e0xp_app (x0, x1) in loop (x0, xs1) end // end of [list_vt_cons] ) (* end of [loop] *) // val xs = pstar1_fun (buf, bt, err, p_atme0xp) // in // case+ xs of | ~list_vt_nil () => synent_null () | ~list_vt_cons (x, xs) => loop (x, xs) // end // end of [p_e0xp0] // (* ****** ****** *) // (* e0xp ::= e0xp0 [e0xp] | IF e0xp0 THEN e0xp [ELSE e0xp] *) // implement p_e0xp(buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | _ when ptest_fun ( buf, p_e0xp0, ent ) => let val ent1 = synent_decode {e0xp} (ent) val ent2 = p_e0xp (buf, 0(*bt*), err) // optional in if err = err0 then e0xp_app (ent1, ent2) else (err := err0; ent1) // end of [if] end | T_IF () => let val () = incby1 () val ent2 = p_e0xp0 (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_THEN, err0) val ent4 = pif_fun (buf, bt, err, p_e0xp, err0) val ent5 = ptokentopt_fun {e0xp} (buf, is_ELSE, p_e0xp) in if err = err0 then e0xp_if (tok, ent2, ent4, (t2t)ent5) else let val () = option_vt_free (ent5) in tokbuf_set_ntok_null (buf, n0) end (* end of [else] *) // end of [if] end // end of [T_IF] | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null() end end // end of [p_e0xp] // (* ****** ****** *) // (* datsval ::= i0de | LITERAL_char | LITERAL_float | LITERAL_int | LITERAL_string *) // fun p_datsval ( buf: &tokbuf, bt: int, err: &int ) : e0xp = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // var ent: synent? val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ // | T_INT _ => let val () = incby1 () in e0xp_i0nt (tok) end | T_CHAR _ => let val () = incby1 () in e0xp_c0har (tok) end | T_FLOAT _ => let val () = incby1 () in e0xp_f0loat (tok) end | T_STRING _ => let val () = incby1 () in e0xp_s0tring (tok) end // | T_IDENT_alp (id) => let val () = incby1 () in e0xp_make_stringid (loc, id) end // end of [T_IDENT_alp] // | _(*rest-of-tokens*) => e0xp_make_stringid (loc, "") // end // end of [p_datsval] // (* ****** ****** *) // (* datsdef ::= i0de [EQ = datsval] // HX: for use in a command-line *) // implement p_datsdef (buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_i0de (buf, bt, err) val ent2 = ( if err = err0 then ptokentopt_fun (buf, is_EQ, p_datsval) else None_vt () // end of [if] ) : Option_vt (e0xp) // in // if err = err0 then datsdef_make (ent1, (t2t)ent2) else let val () = option_vt_free (ent2) in tokbuf_set_ntok_null (buf, n0) end // end of [else] // end // end of [p_datsdef] // (* ****** ****** *) (* end of [pats_parsing_e0xp.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_util.dats0000664000175000017500000002415112655455557017572 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "pats_basics.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement tmpvar_is_void (tmp) = hisexp_is_void (tmpvar_get_type (tmp)) // end of [tmpvar_is_void] (* ****** ****** *) implement primval_is_void (pmv) = hisexp_is_void (pmv.primval_type) // end of [primval_is_void] (* ****** ****** *) implement primval_is_top (pmv) = ( case+ pmv.primval_node of PMVtop () => true | _ => false ) // end of [primval_is_top] (* ****** ****** *) // // HX-2013-02: // [pmv] should not be assgined to a variable: // it is either a left-value, a field-section, or a lamfix-value // implement primval_is_nshared (pmv) = let in // case+ pmv.primval_node of | PMVtmpref _ => true // left-value | PMVargref _ => true // left-value // | PMVselcon _ => true // field-selection | PMVselect _ => true // field-selection | PMVselect2 _ => true // field-selection // | PMVselptr _ => true // left-value // | PMVlamfix _ => true // lamfix-value // | PMVcastfn (d2c, pmv) => primval_is_nshared (pmv) // | _ => false // end // end of [primval_is_nshared] (* ****** ****** *) implement primval_make_funlab (loc, fl) = let // val hse = funlab_get_type (fl) val funclo = funlab_get_funclo (fl) // in // case+ funclo of | FUNCLOfun () => primval_funlab (loc, hse, fl) | FUNCLOclo (knd) => primval_cfunlab (loc, hse, knd, fl) // end // end of [primval_make_funlab] (* ****** ****** *) implement primval_make2_funlab (loc, hse0, fl) = let // val hse = funlab_get_type (fl) val funclo = funlab_get_funclo (fl) // in // case+ funclo of | FUNCLOfun () => primval_funlab (loc, hse0, fl) | FUNCLOclo (knd) => primval_cfunlab (loc, hse0, knd, fl) // end // end of [primval_make2_funlab] (* ****** ****** *) implement primval_make_d2vfunlab (loc, d2v, fl) = let val hse = funlab_get_type (fl) in primval_d2vfunlab (loc, hse, d2v, fl) end // end of [primval_make_d2vfunlab] (* ****** ****** *) implement patckont_is_none (fail) = case+ fail of PTCKNTnone () => true | _ => false // end of [patckont_is_none] (* ****** ****** *) implement tmpsub2stasub (tsub) = let // fun loop (sub: &stasub, tsub: tmpsub): void = let in // case+ tsub of | TMPSUBcons (s2v, s2e, tsub) => let val () = stasub_add (sub, s2v, s2e) in loop (sub, tsub) end // end of [TMPSUBcons] | TMPSUBnil () => () // end // end of [loop] // var sub : stasub = stasub_make_nil () val () = loop (sub, tsub) // in sub end // end of [tmpsub2stasub] (* ****** ****** *) implement tmpsub_append (xs1, xs2) = let in case+ xs1 of | TMPSUBcons (s2v, s2f, xs1) => TMPSUBcons (s2v, s2f, tmpsub_append (xs1, xs2)) | TMPSUBnil () => xs2 end // end of [tmpsub_append] (* ****** ****** *) #if(0) extern fun tailcalck ( env: !ccompenv , tmpret: tmpvar, pmv: primval, ntl0: &int? >> int ) : funlabopt_vt // end of [tailcalck] implement tailcalck (env, tmpret, pmv, ntl0) = let // val () = ntl0 := ~1 val isret = tmpvar_isret (tmpret) // in // if isret then ( case+ pmv.primval_node of | PMVcst (d2c) => let val () = ntl0 := 0 in ccompenv_find_tailcalenv_cst (env, d2c) end // end of [PMVcst] | PMVfunlab (fl) => let val ntl = ccompenv_find_tailcalenv (env, fl) val () = ntl0 := ntl in if ntl >= 0 then Some_vt (fl) else None_vt () end // end of [PMVfunlab] | PMVcfunlab (knd, fl) => let val ntl = ccompenv_find_tailcalenv (env, fl) val () = ntl0 := ntl in if ntl >= 0 then Some_vt (fl) else None_vt () end // end of [PMVcfunlab] | _ => None_vt () ) else None_vt () // end of [if] // end // end of [tailcalck] #endif // #if(0) (* ****** ****** *) local fun aux ( res: &tmpvarset_vt, x: instr ) : void = let // macdef tmpadd (tmp) = (res := tmpvarset_vt_add (res, ,(tmp))) // in // case+ x.instr_node of // | INSfunlab _ => () | INStmplab _ => () // | INScomment _ => () // | INSmove_val (tmp, _) => tmpadd (tmp) | INSpmove_val (tmp, _) => tmpadd (tmp) // | INSmove_arg_val _ => () // | INSfcall (tmp, _, _, _) => tmpadd (tmp) | INSfcall2 (tmp, _, _, _, _) => tmpadd (tmp) // | INSextfcall (tmp, _fun, _arg) => tmpadd (tmp) | INSextmcall (tmp, _obj, _mtd, _arg) => tmpadd (tmp) // | INScond ( _, _then, _else ) => { val () = auxlst (res, _then) and () = auxlst (res, _else) } // end of [INScond] // | INSfreecon _ => () // | INSloop ( _, _, _, _init, _, _test, _post, _body ) => { val () = auxlst (res, _init) and () = auxlst (res, _test) and () = auxlst (res, _post) and () = auxlst (res, _body) } // end of [INSloop] | INSloopexn (knd, tlab) => () // HX: knd=0/1: break/continue // | INScaseof (ibrs) => auxibrlst (res, ibrs) // | INSletpop ((*void*)) => () | INSletpush (pmds) => auxpmdlst (res, pmds) // | INSmove_con (tmp, _, _, _) => tmpadd (tmp) // | INSmove_ref (tmp, _) => tmpadd (tmp) // | INSmove_boxrec (tmp, _, _) => tmpadd (tmp) | INSmove_fltrec (tmp, _, _) => tmpadd (tmp) // | INSpatck _ => () // | INSmove_ptrofsel (tmp, _, _, _) => tmpadd (tmp) // (* | INSload_ptrofs (tmp, _, _, _) => tmpadd (tmp) *) | INSstore_ptrofs _ => () | INSxstore_ptrofs (tmp, _, _, _, _) => tmpadd (tmp) // | INSmove_delay (tmp, _, _, _) => tmpadd (tmp) | INSmove_lazyeval (tmp, _, _, _) => tmpadd (tmp) // | INSraise _ => () | INStrywith (tmp, _try, _with) => ( tmpadd (tmp); auxlst (res, _try); auxibrlst (res, _with) ) // | INSmove_list_nil (tmp) => tmpadd (tmp) | INSpmove_list_nil (tmp) => tmpadd (tmp) | INSpmove_list_cons (tmp, _) => tmpadd (tmp) | INSmove_list_phead (tmp_hd, tmp_tl, _) => tmpadd (tmp_hd) | INSmove_list_ptail (tmp1_tl, tmp2_tl, _) => tmpadd (tmp1_tl) // | INSmove_arrpsz_ptr (tmp, _) => tmpadd (tmp) // | INSstore_arrpsz_asz (tmp, _) => tmpadd (tmp) | INSstore_arrpsz_ptr (tmp, _, _) => tmpadd (tmp) // | INSupdate_ptrinc (tmp(*ptr*), _(*type*)) => () | INSupdate_ptrdec (tmp(*ptr*), _(*type*)) => () // | INSclosure_initize _ => () // | INStmpdec (tmp) => tmpadd (tmp) // | INSextvar (d2c, pmv) => ((*void*)) | INSdcstdef (d2c, pmv) => ((*void*)) // end // end of [aux] and auxlst ( res: &tmpvarset_vt, xs: instrlst ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = aux (res, x) in auxlst (res, xs) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] and auxibr ( res: &tmpvarset_vt, ibr: ibranch ) : void = let in auxlst (res, ibr.ibranch_inslst) end // end of [auxibr] and auxibrlst ( res: &tmpvarset_vt, ibrs: ibranchlst ) : void = let in // case+ ibrs of | list_cons (ibr, ibrs) => let val () = auxibr (res, ibr) in auxibrlst (res, ibrs) end // end of [list_cons] | list_nil () => ((*empty*)) // end // end of [auxibrlst] and auxpmd ( res: &tmpvarset_vt, pmd: primdec ) : void = let in // case+ pmd.primdec_node of | PMDnone () => () // | PMDlist (pmds) => auxpmdlst (res, pmds) // | PMDsaspdec _ => () // | PMDextvar (name, inss) => let val inss = $UN.cast{instrlst}(inss) in auxlst (res, inss) end // end of [PMDextvar] // | PMDdatdecs _ => ((*void*)) | PMDexndecs _ => ((*void*)) // | PMDimpdec (impdec) => let val opt = hiimpdec_get_instrlstopt (impdec) in case+ opt of | None () => () | Some (inss) => auxlst (res, inss) end // end of [PMDimpdec] // | PMDfundecs _ => ((*void*)) // | PMDvaldecs (_, _, inss) => let val inss = $UN.cast{instrlst}(inss) in auxlst (res, inss) end // end of [PMDvaldecs] | PMDvaldecs_rec (_, _, inss) => let val inss = $UN.cast{instrlst}(inss) in auxlst (res, inss) end // end of [PMDvaldecs_rec] // | PMDvardecs (_, inss) => let val inss = $UN.cast{instrlst}(inss) in auxlst (res, inss) end // end of [PMDvardecs] // | PMDinclude (knd, pmds) => auxpmdlst (res, pmds) // | PMDstaload _ => () // | PMDstaloadloc (pfil, nspace, pmds) => auxpmdlst (res, pmds) // | PMDdynload _ => () // | PMDlocal ( pmds_head, pmds_body ) => { val () = auxpmdlst (res, pmds_head) val () = auxpmdlst (res, pmds_body) } // end of [PMDlocal] // end // end of [auxpmd] and auxpmdlst ( res: &tmpvarset_vt, pmds: primdeclst ) : void = let in // case+ pmds of | list_cons (pmd, pmds) => let val () = auxpmd (res, pmd) in auxpmdlst (res, pmds) end // end of [list_cons] | list_nil () => () // end // end of [auxpmdlst] in (* in of [local] *) implement instrlst_get_tmpvarset (xs) = let // var res : tmpvarset_vt = tmpvarset_vt_nil () val () = auxlst (res, xs) // in res end // end of [instrlst_get_tmpvarset] implement primdeclst_get_tmpvarset (xs) = let // var res : tmpvarset_vt = tmpvarset_vt_nil () val () = auxpmdlst (res, xs) // in res end // end of [primdeclst_get_tmpvarset] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm.dats0000664000175000017500000005376412655455557017304 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Time: February 2012 // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "./pats_utils.sats" (* ****** ****** *) staload "./pats_lintprgm.sats" (* ****** ****** *) implement{a} lt_myint_int (x, i) = (compare_myint_int (x, i) < 0) implement{a} lte_myint_int (x, i) = (compare_myint_int (x, i) <= 0) implement{a} gt_myint_int (x, i) = (compare_myint_int (x, i) > 0) implement{a} gte_myint_int (x, i) = (compare_myint_int (x, i) >= 0) implement{a} eq_myint_int (x, i) = (compare_myint_int (x, i) = 0) implement{a} neq_myint_int (x, i) = (compare_myint_int (x, i) != 0) (* ****** ****** *) implement{a} lt_myint_myint (x1, x2) = (compare_myint_myint (x1, x2) < 0) implement{a} lte_myint_myint (x1, x2) = (compare_myint_myint (x1, x2) <= 0) implement{a} gt_myint_myint (x1, x2) = (compare_myint_myint (x1, x2) > 0) implement{a} gte_myint_myint (x1, x2) = (compare_myint_myint (x1, x2) >= 0) (* ****** ****** *) implement{a} myintvec_get_at (iv, i) = x where { val (pf | p) = myintvec_takeout (iv) val i = size1_of_int1 (i) val (pfat, fpf | p_i) = array_ptr_takeout (pf | p, i) val x = myint_copy (!p_i) prval () = pf := fpf (pfat) prval () = myintvecout_addback (pf | iv) } // end of [myintvec_get_at] (* ****** ****** *) implement{a} myintvec_compare_at (iv, i, x) = sgn where { val (pf | p) = myintvec_takeout (iv) val i = size1_of_int1 (i) val (pfat, fpf | p_i) = array_ptr_takeout (pf | p, i) val sgn = compare_myint_int (!p_i, x) prval () = pf := fpf (pfat) prval () = myintvecout_addback (pf | iv) } // end of [myintvec_compare_at] (* ****** ****** *) implement{a} myintvec_add_int (iv, i) = let vtypedef x = myint(a) val (pf | p) = myintvec_takeout {a} (iv) prval (pf1, pf2) = array_v_uncons {x} (pf) val () = !p := add_myint_int (!p, i) prval () = pf := array_v_cons {x} (pf1, pf2) prval () = myintvecout_addback (pf | iv) in // nothing end // end of [myintvec_add_int] (* ****** ****** *) implement myintvec0_free {a}{n} (xs, n) = let vtypedef vt = myint(a) val (pfgc, pf | p) = __cast (xs) where { extern castfn __cast (x: myintvec0 (a, n)) :<> [l:addr] (free_gc_v (vt?, n, l), array_v(vt?, n, l) | ptr l) } // end of [val] in array_ptr_free (pfgc, pf | p) end // end of [myintvec0_free] implement{a} myintvec_free (iv, n) = let vtypedef x = myint(a) prval () = lemma_myintvec_params (iv) val (pfarr | p) = myintvec_takeout (iv) val asz = size1_of_int1 (n) val () = array_ptr_clear_fun (!p, asz, lam (x) =<0> myint_free (x)) prval () = myintvecout0_addback {a} (pfarr | iv) in myintvec0_free (iv, n) end // end of [myintvec_free] (* ****** ****** *) implement{a} icnstr_copy (ic, n) = case+ ic of | ICvec (knd, !p_iv) => let val iv_new = myintvec_copy (!p_iv, n) in fold@ (ic); ICvec (knd, iv_new) end // end of [ICvec] | ICveclst (knd, !p_ics) => let val ics_new = icnstrlst_copy (!p_ics, n) in fold@ (ic); ICveclst (knd, ics_new) end // end of [ICveclst] | ICerr (loc, s3e) => (fold@ (ic); ICerr (loc, s3e)) // end of [icnstr_copy] implement{a} icnstrlst_copy (ics, n) = case+ ics of | list_vt_cons (!p_ic, !p_ics1) => let val ic = icnstr_copy (!p_ic, n) val ics1 = icnstrlst_copy (!p_ics1, n) prval () = fold@ (ics) in list_vt_cons (ic, ics1) end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ (ics) in list_vt_nil () end // end of [list_vt_nil] // end of [icnstrlst_copy] (* ****** ****** *) implement{a} icnstr_negate (ic) = case+ ic of | ICvec (!p_knd, _) => ( !p_knd := ~(!p_knd); fold@ (ic); ic ) // end of [ICvec] | ICveclst (!p_knd, !p_ics) => ( !p_knd := 1-(!p_knd); !p_ics := icnstrlst_negate (!p_ics); fold@ ic; ic ) // end of [ICveclst] | ICerr _ => (fold@ (ic); ic) // end of [icnstr_negate] implement{a} icnstrlst_negate (ics) = case+ ics of | list_vt_cons (!p_ic, !p_ics) => let val () = !p_ic := icnstr_negate (!p_ic) val () = !p_ics := icnstrlst_negate (!p_ics) in fold@ (ics); ics end // end of [list_vt_cons] | list_vt_nil () => (fold@ (ics); ics) // end of [icnstrlst_negate] (* ****** ****** *) implement{a} myintveclst_free (ivs, n) = case+ ivs of | ~list_vt_cons (iv, ivs) => (myintvec_free (iv, n); myintveclst_free (ivs, n)) | ~list_vt_nil () => () // end of [myintveclst_free] (* ****** ****** *) implement{a} icnstr_free (x, n) = case+ x of | ~ICvec (knd, obj) => myintvec_free (obj, n) | ~ICveclst (knd, xs) => icnstrlst_free (xs, n) | ~ICerr (loc, s3e) => () // end of [icnstr_free] implement{a} icnstrlst_free (xs, n) = case+ xs of | ~list_vt_cons (x, xs) => (icnstr_free (x, n); icnstrlst_free (xs, n)) | ~list_vt_nil () => () // end of [icnstrlst_free] (* ****** ****** *) #define UNDECIDED 0 #define TAUTOLOGY 1 #define CONTRADICTION ~1 (* ****** ****** *) extern fun{a:t@ype} myintvec_normalize // knd=2/1:gte/eq {n:pos} (knd: int, vec: !myintvec (a, n), n: int n): Ans2(*~1/0*) // end of [myintvec_normalize] (* ****** ****** *) implement{a} myintvec_inspect {n}(knd, iv, n) = let // vtypedef vt = myint(a) // fun loop {n:nat} {l:addr} .. ( pf: !array_v (vt, n, l) | p: ptr l, n: int n ) : bool(*cffs=0*) = let in if n > 0 then let prval (pf1, pf2) = array_v_uncons {vt} (pf) in if !p = 0 then let val ans = loop (pf2 | p + sizeof, n-1) prval () = pf := array_v_cons {vt} (pf1, pf2) in ans end else let prval () = pf := array_v_cons {vt} (pf1, pf2) in false end // end of [if] end else true // end of [if] end // end of [loop] // val (pf | p) = myintvec_takeout (iv) prval (pf1, pf2) = array_v_uncons {vt} (pf) val cffsZero = loop (pf2 | p+sizeof, n-1) var ans3: Ans3 = UNDECIDED val () = ( // if cffsZero then ( case+ knd of | 2 => ( if !p >= 0 then ans3 := TAUTOLOGY else ans3 := CONTRADICTION ) // end of [gte] | ~2 => ( if !p < 0 then ans3 := TAUTOLOGY else ans3 := CONTRADICTION ) // end of [gte] | 1 => ( if !p = 0 then ans3 := TAUTOLOGY else ans3 := CONTRADICTION ) // end of [eq] | ~1 => ( if !p != 0 then ans3 := TAUTOLOGY else ans3 := CONTRADICTION ) // end of [eq] | _ => () // HX: this should not happen ) // end of [if] // ) : void // end of [val] // prval () = pf := array_v_cons {vt} (pf1, pf2) prval () = myintvecout_addback (pf | iv) // in ans3(*~1/0/1*) end // end of [myintvec_inspect] implement{a} myintvec_inspect_lt (iv, n) = myintvec_inspect (~2(*lt*), iv, n) // end of [myintvec_inspect_gte] implement{a} myintvec_inspect_gte (iv, n) = myintvec_inspect (2(*gte*), iv, n) // end of [myintvec_inspect_gte] implement{a} myintvec_inspect_eq (iv, n) = let val knd = 1(*eq*) val ans2 = myintvec_inspect (knd, iv, n) in if ans2 = 0 then myintvec_normalize (knd, iv, n) else ans2 // end of [if] end // end of [myintvec_inspect_eq] implement{a} myintvec_inspect_neq (iv, n) = myintvec_inspect (~1(*neq*), iv, n) // end of [myintvec_inspect_neq] (* ****** ****** *) implement{a} myintveclst_inspect_gte {n} (ivs, n) = let // vtypedef vt = myintvec (a,n) // in // case+ ivs of | list_vt_cons (!p_iv, !p_ivs) => let val ans3 = myintvec_inspect_gte (!p_iv, n) // end of [val] in if ans3 != 0 then let val ivs1 = !p_ivs val () = myintvec_free (!p_iv, n) val () = free@ {vt}{0} (ivs) val () = ivs := ivs1 in if ans3 > 0 then // TAUTOLOGY myintveclst_inspect_gte (ivs, n) else ~1(*CONTRADICTION*) // end of [if] end else let val ans = myintveclst_inspect_gte (!p_ivs, n) prval () = fold@ (ivs) in ans // the final answers end // end of [if] end (* end of [list_vt_cons] *) | list_vt_nil () => let prval () = fold@ (ivs) in 0(*UNDECIDED*) end // end of [list_vt_nil] // end // end of [myintveclst_inspect_gte] (* ****** ****** *) local exception Finished fun {a:t0p} myintvec_cffgcd_main {n:pos} {l:addr} ( pf: !myint(a) @ l | iv: !myintvec (a, n), n: int n, p_res: ptr l ) : void = let // macdef gcd = gcd01_myint_myint // (* // stadef v = myint(a) @ l // var !p_clo = @lam ( pf: !v | x: &myint(a) ) : void =<1> if x != 0 then ( if x != 1 then ( !p_res := gcd (!p_res, x) ) else let val () = myint_free (!p_res) val () = !p_res := myint_make_int (1) in $raise (Finished) end // end of [if] ) // end of [if] // end of [var] // val n1 = size1_of_int1(n-1) // val (pfarr | p_arr) = myintvec_takeout (iv) prval (pf1at, pf2arr) = array_v_uncons {myint(a)} (pfarr) val p2_arr = p_arr + sizeof val () = array_ptr_foreach_vclo {v} (pf | !p2_arr, !p_clo, n1) prval () = pfarr := array_v_cons {myint(a)} (pf1at, pf2arr) prval () = myintvecout_addback (pfarr | iv) *) // fun loop ( pf: !myint(a) @ l | p: ptr, i: int ) : void = ( if i < n then let val x = $UN.ptr0_get(p) extern praxi __vfree(x: myint(a)): void in // if x != 0 then ( // if x != 1 then let val () = !p_res := gcd (!p_res, x) // end of [val] prval ((*void*)) = __vfree(x) in loop (pf | p+sizeof, i+1) end // end of [then] else let val () = myint_free (!p_res) val () = !p_res := myint_make_int (1) prval ((*void*)) = __vfree(x) in // nothing end // end of [else] // ) (* end of [then] *) else let prval ((*void*)) = __vfree(x) in loop (pf | p+sizeof, i+1) end // end of [else] // end // end of [then] // ) (* end of [loop] *) // val (pfarr | p_arr) = myintvec_takeout (iv) val () = loop (pf | p_arr+sizeof, 1) prval ((*void*)) = myintvecout_addback (pfarr | iv) // in // nothing end // end of [myintvec_cffgcd_main] in (* in of [local] *) implement{a} myintvec_cffgcd {n}(iv, n) = let // var res : myint(a) = myint_make_int (0) val p_res = &res // (* // // HX-2015-01-27: // fixing a bug in (clang-3.5 -O2) // HX-2015-01-28: // this is no longer needed due to // there being no longer use of exception val ((*void*)) = ptr_as_volatile(p_res) // *) // val ivp = __cast (iv) where { extern castfn __cast (iv: !myintvec(a, n)): ptr } (* end of [val] *) // viewdef v = myint(a)@res // // HX-2012-02-25: // this is so awkward! should try* be introduced? // val () = try let val iv = __cast (ivp) where { extern castfn __cast (p: ptr): myintvec (a, n) } (* end of [val] *) prval (pf, fpf) = __assert () where { extern praxi __assert (): (v, v - void) } (* end of [prval] *) val () = myintvec_cffgcd_main (pf | iv, n, &res) prval () = fpf (pf) prval () = __free (iv) where { extern praxi __free (iv: myintvec (a, n)): void } (* end of [prval] *) in // nothing end with | ~Finished () => () // end of [try] in res end // end of [myintvec_gcd] end // end of [local] (* ****** ****** *) implement{a} myintvec_normalize {n} (knd, iv, n) = let // vtypedef vt = myint (a) // macdef sub = sub01_myint_myint macdef div = div01_myint_myint macdef ediv = ediv01_myint_myint // fun loop {n:nat} {l:addr} .. ( pf: !array_v (vt, n, l) | gcd: !vt, p: ptr l, n: int n ) :<> void = if n > 0 then let prval (pf1, pf2) = array_v_uncons {vt} (pf) // end of [prval] val () = !p := (!p \ediv gcd) val tsz = sizeof val () = loop (pf2 | gcd, p+tsz, n-1) prval () = pf := array_v_cons {vt} (pf1, pf2) in // nothing end // end of [if] // val gcd = myintvec_cffgcd (iv, n) // in // if gcd > 1 then let val (pf | p) = myintvec_takeout {a} (iv) prval (pf1, pf2) = array_v_uncons {vt} (pf) var ans2: Ans2 = 0 val () = loop (pf2 | gcd, p+sizeof, n-1) val () = ( case+ 0 of | _ when knd = 2 => ( if !p >= 0 then !p := (!p \div gcd) else let // !p < 0 val () = !p := (!p \sub gcd) val () = !p := add_myint_int (!p, 1) in !p := (!p \div gcd) end // end of [if] ) // end of [knd=2/gte] | _ when knd = 1 => let val rmd = mod11_myint_myint (!p, gcd) val () = // HX: a contradiction may be reached if rmd = 0 then (!p := (!p \ediv gcd)) else (ans2 := ~1) val () = myint_free (rmd) in (*nothing*) end // end of [knd=1/eq] | _ => let val () = assertloc (false) in ans2 := ~1 end // end of [_] ) : void // end of [val] val ((*freed*)) = myint_free (gcd) prval pf = array_v_cons {vt} (pf1, pf2) prval () = myintvecout_addback {a} (pf | iv) in ans2 end else let val ((*freed*)) = myint_free (gcd) in 0(*normal*) end // end of [if] // end // end of [myintvec_normalize] implement{a} myintvec_normalize_gte (iv, n) = () where { val _(*0*) = myintvec_normalize (2(*knd*), iv, n) } // end of [myintvec_normalize_gte] implement{a} myintveclst_normalize_gte {n} (ivs, n) = let // vtypedef vt = myintvec (a,n) // in // case+ ivs of | list_vt_cons (!p_iv, !p_ivs) => let val () = myintvec_normalize_gte (!p_iv, n) val () = myintveclst_normalize_gte (!p_ivs, n) in fold@ (ivs) end // end of [list_vt_cons] | list_vt_nil () => fold@ (ivs) // end // end of [myintveclst_normalize_gte] (* ****** ****** *) implement{a} myintvec0_make {n} (n) = let val n = size1_of_int1 (n) val (pfgc, pfarr | p) = array_ptr_alloc (n) in __cast (pfgc, pfarr | p) where { extern castfn __cast {v1,v2:view} (_:v1, _:v2 | p: ptr):<> myintvec0(a, n) } // end of [__cast] end // end of [myintvec0_make] (* ****** ****** *) implement{a} myintvec_make {n} (n) = let // vtypedef x = myint (a) // fun loop {n:nat} {l:addr} .. ( pf: !array_v (x?, n, l) >> array_v (x, n, l) | p: ptr l, n: int n ) :<> void = if n > 0 then let prval (pf1, pf2) = array_v_uncons{x?}(pf) // end of [prval] val () = !p := myint_make_int (0) val () = loop (pf2 | p+sizeof, n-1) prval () = pf := array_v_cons{x}(pf1, pf2) in // nothing end else let prval () = array_v_unnil (pf) in pf := array_v_nil {x} () end // end of [if] // end of [loop] // val iv = myintvec0_make (n) val (pf | p) = myintvec0_takeout (iv) val () = loop (pf | p, n) prval () = myintvecout_addback (pf | iv) // in iv(* initialized with zeros *) end // end of [myintvec_make] (* ****** ****** *) implement{a} myintvec_copy {n}(iv1, n) = let // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv1) // fun loop {n:nat} {l1,l2:addr} .. ( pf1: !array_v (vt, n, l1) , pf2: !array_v (vt?, n, l2) >> array_v (vt, n, l2) | p1: ptr l1, p2: ptr l2, n: int n ) :<> void = if n > 0 then let prval (pf11, pf12) = array_v_uncons {vt} (pf1) prval (pf21, pf22) = array_v_uncons {vt?} (pf2) val () = !p2 := myint_copy (!p1) val tsz = sizeof val () = loop (pf12, pf22 | p1+tsz, p2+tsz, n-1) prval () = pf1 := array_v_cons {vt} (pf11, pf12) prval () = pf2 := array_v_cons {vt} (pf21, pf22) in // nothing end else let prval () = array_v_unnil (pf2) in pf2 := array_v_nil {vt} () end // end of [if] val iv2 = myintvec0_make (n) val (pf1 | p1) = myintvec_takeout {a} (iv1) val (pf2 | p2) = myintvec0_takeout {a} (iv2) val () = loop (pf1, pf2 | p1, p2, n) prval () = myintvecout_addback {a} (pf1 | iv1) prval () = myintvecout_addback {a} (pf2 | iv2) // in iv2 end // end of [myintvec_copy] (* ****** ****** *) implement{a} myintvec_copy_cff {n} (cff, iv1, n) = let // macdef mul = mul11_myint_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv1) // fun loop {n:nat} {l1,l2:addr} .. ( pf1: !array_v (vt, n, l1) , pf2: !array_v (vt?, n, l2) >> array_v (vt, n, l2) | cff: !vt, p1: ptr l1, p2: ptr l2, n: int n ) :<> void = if n > 0 then let prval (pf11, pf12) = array_v_uncons {vt} (pf1) prval (pf21, pf22) = array_v_uncons {vt?} (pf2) val () = !p2 := (cff \mul !p1) val tsz = sizeof val () = loop (pf12, pf22 | cff, p1+tsz, p2+tsz, n-1) prval () = pf1 := array_v_cons {vt} (pf11, pf12) prval () = pf2 := array_v_cons {vt} (pf21, pf22) in // nothing end else let prval () = array_v_unnil (pf2) in pf2 := array_v_nil {vt} () end // end of [if] val iv2 = myintvec0_make (n) val (pf1 | p1) = myintvec_takeout {a} (iv1) val (pf2 | p2) = myintvec0_takeout {a} (iv2) val () = loop (pf1, pf2 | cff, p1, p2, n) prval () = myintvecout_addback {a} (pf1 | iv1) prval () = myintvecout_addback {a} (pf2 | iv2) // in iv2 end // end of [myintvec_copy_cff] (* ****** ****** *) implement{a} myintvec_negate {n} (iv, n) = let // macdef neg = neg_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv) // fun loop {n:nat} {l:addr} .. ( pf: !array_v (vt, n, l) | p: ptr l, n: int n ) :<> void = if n > 0 then let prval (pf1, pf2) = array_v_uncons {vt} (pf) val () = !p := neg (!p) val tsz = sizeof val () = loop (pf2 | p+tsz, n-1) prval () = pf := array_v_cons {vt} (pf1, pf2) in // nothing end // end of [if] // val (pf | p) = myintvec_takeout {a} (iv) // val () = loop (pf | p, n) // prval () = myintvecout_addback {a} (pf | iv) // in // nothing end // end of [myintvec_negate] (* ****** ****** *) implement{a} myintvec_scale {n} (cff, iv, n) = let // macdef mul = mul10_myint_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv) // fun loop {n:nat} {l:addr} .. ( pf: !array_v (vt, n, l) | cff: !myint(a), p: ptr l, n: int n ) :<> void = if n > 0 then let prval (pf1, pf2) = array_v_uncons {vt} (pf) val () = !p := (cff \mul !p) val tsz = sizeof val () = loop (pf2 | cff, p+tsz, n-1) prval () = pf := array_v_cons {vt} (pf1, pf2) in // nothing end // end of [if] val (pf | p) = myintvec_takeout {a} (iv) val () = loop (pf | cff, p, n) prval () = myintvecout_addback {a} (pf | iv) // in // nothing end // end of [myintvec_negate] (* ****** ****** *) implement{a} myintvec_addby {n} (iv1, iv2, n) = let // macdef add = add01_myint_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv1) // fun loop {n:nat} {l1,l2:addr} .. ( pf1: !array_v (vt, n, l1) , pf2: !array_v (vt, n, l2) | p1: ptr l1, p2: ptr l2, n: int n ) :<> void = if n > 0 then let prval (pf11, pf12) = array_v_uncons {vt} (pf1) prval (pf21, pf22) = array_v_uncons {vt} (pf2) val () = !p1 := (!p1 \add !p2) val tsz = sizeof val () = loop (pf12, pf22 | p1+tsz, p2+tsz, n-1) prval () = pf1 := array_v_cons {vt} (pf11, pf12) prval () = pf2 := array_v_cons {vt} (pf21, pf22) in // nothing end // end of [if] val (pf1 | p1) = myintvec_takeout {a} (iv1) val (pf2 | p2) = myintvec_takeout {a} (iv2) val () = loop (pf1, pf2 | p1, p2, n) prval () = myintvecout_addback {a} (pf1 | iv1) prval () = myintvecout_addback {a} (pf2 | iv2) // in // nothing end // end of [myintvec_addby] (* ****** ****** *) implement{a} myintvec_subby {n} (iv1, iv2, n) = let // macdef sub = sub01_myint_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv1) // fun loop {n:nat} {l1,l2:addr} .. ( pf1: !array_v (vt, n, l1) , pf2: !array_v (vt, n, l2) | p1: ptr l1, p2: ptr l2, n: int n ) :<> void = if n > 0 then let prval (pf11, pf12) = array_v_uncons {vt} (pf1) prval (pf21, pf22) = array_v_uncons {vt} (pf2) val () = !p1 := (!p1 \sub !p2) val tsz = sizeof val () = loop (pf12, pf22 | p1+tsz, p2+tsz, n-1) prval () = pf1 := array_v_cons {vt} (pf11, pf12) prval () = pf2 := array_v_cons {vt} (pf21, pf22) in // nothing end // end of [if] val (pf1 | p1) = myintvec_takeout {a} (iv1) val (pf2 | p2) = myintvec_takeout {a} (iv2) val () = loop (pf1, pf2 | p1, p2, n) prval () = myintvecout_addback {a} (pf1 | iv1) prval () = myintvecout_addback {a} (pf2 | iv2) // in // nothing end // end of [myintvec_subby] (* ****** ****** *) implement{a} myintvec_addby_cff {n} (iv1, cff, iv2, n) = let // macdef add = add01_myint_myint macdef mul = mul11_myint_myint // vtypedef vt = myint (a) // prval () = lemma_myintvec_params (iv1) // fun loop {n:nat} {l1,l2:addr} .. ( pf1: !array_v (vt, n, l1) , pf2: !array_v (vt, n, l2) | p1: ptr l1, cff: !vt, p2: ptr l2, n: int n ) :<> void = if n > 0 then let prval (pf11, pf12) = array_v_uncons {vt} (pf1) prval (pf21, pf22) = array_v_uncons {vt} (pf2) val cx2 = cff \mul !p2 val () = !p1 := (!p1 \add cx2) val () = myint_free (cx2) val tsz = sizeof val () = loop (pf12, pf22 | p1+tsz, cff, p2+tsz, n-1) prval () = pf1 := array_v_cons {vt} (pf11, pf12) prval () = pf2 := array_v_cons {vt} (pf21, pf22) in // nothing end // end of [if] val (pf1 | p1) = myintvec_takeout {a} (iv1) val (pf2 | p2) = myintvec_takeout {a} (iv2) val () = loop (pf1, pf2 | p1, cff, p2, n) prval () = myintvecout_addback {a} (pf1 | iv1) prval () = myintvecout_addback {a} (pf2 | iv2) // in // nothing end // end of [myintvec_addby] (* ****** ****** *) (* end of [pats_lintprgm.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3_print.dats0000664000175000017500000001262412655455557021121 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" macdef fprint_intinf = $INTINF.fprint_intinf (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_constraint3.sats" (* ****** ****** *) implement fprint_s3exp (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ x of // | S3Ecst (s2c) => { val () = prstr "S3Ecst(" val () = fprint! (out, s2c, ":", s2cst_get_srt (s2c)) val () = prstr ")" } // end of [S3Ecst] // | S3Evar (s2v) => { val () = prstr "S3Evar(" val () = fprint! (out, s2v, ":", s2var_get_srt (s2v)) val () = prstr ")" } // end of [S3Evar] // | S3Enull () => prstr "0" | S3Eunit () => prstr "1" | S3Ebool (b) => { val () = fprint_bool (out, b) } // end of [S3Ebool] // | S3Ebvar (s2v) => { val () = prstr "S3Ebvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // end of [S3Ebvar] | S3Ebneg (s3e) => { val () = prstr "S3Ebneg(" val () = fprint_s3exp (out, s3e) val () = prstr ")" } // end of [S3Ebadd] | S3Ebadd (s3e1, s3e2) => { val () = prstr "S3Ebadd(" val () = fprint_s3exp (out, s3e1) val () = prstr ", " val () = fprint_s3exp (out, s3e2) val () = prstr ")" } // end of [S3Ebadd] | S3Ebmul (s3e1, s3e2) => { val () = prstr "S3Ebmul(" val () = fprint_s3exp (out, s3e1) val () = prstr ", " val () = fprint_s3exp (out, s3e2) val () = prstr ")" } // end of [S3Ebmul] | S3Ebeq (s3e1, s3e2) => { val () = prstr "S3Ebeq(" val () = fprint_s3exp (out, s3e1) val () = prstr ", " val () = fprint_s3exp (out, s3e2) val () = prstr ")" } // end of [S3Ebeq] | S3Ebneq (s3e1, s3e2) => { val () = prstr "S3Ebneq(" val () = fprint_s3exp (out, s3e1) val () = prstr ", " val () = fprint_s3exp (out, s3e2) val () = prstr ")" } // end of [S3Ebneq] | S3Ebineq (knd, s3e) => { // eq/neq: 1/~1; gte/lt : 2/~2 val () = prstr "S3Ebineq(" val () = ( case+ knd of | 1 => prstr "=" | ~1 => prstr "!=" | 2 => prstr ">=" | ~2 => prstr "<" | _ => prstr "?" ) : void // end of [val] val () = prstr ", " val () = fprint_s3exp (out, s3e) val () = prstr ")" } // end of [S3Ebineq] // | S3Ebdom (s2v) => { val () = prstr "S3Ebdom(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // end of [S3Ebdom] // | S3Eiatm (s2vs) => { val () = prstr "S3Eiatm(" val () = fprint_s2varmset (out, s2vs) val () = prstr ")" } // end of [S3Eiatm] | S3Eicff (c, s3e) => { val () = prstr "S3Eicff(" val () = fprint_intinf (out, c) val () = prstr ", " val () = fprint_s3exp (out, s3e) val () = prstr ")" } // end of [S3Eicff] | S3Eisum (s3es) => { val () = prstr "S3Eisum(" val () = fprint_s3explst (out, s3es) val () = prstr ")" } // end of [S3Eiadd] | S3Eimul (s3e1, s3e2) => { val () = prstr "S3Eimul(" val () = fprint_s3exp (out, s3e1) val () = prstr ", " val () = fprint_s3exp (out, s3e2) val () = prstr ")" } // end of [S3Eimul] // | S3Esizeof (s2ze) => { val () = prstr "S3Esizeof(" val () = fprint_s2zexp (out, s2ze) val () = prstr ")" } // end of [S3Esizeof] // | S3Eapp (s3e, s3es) => { val () = prstr "S3Eapp(" val () = fprint_s3exp (out, s3e) val () = prstr "; " val () = fprint_s3explst (out, s3es) val () = prstr ")" } // end of [S3Eapp] // | S3Eerr (s2t) => { val () = prstr "S3Eerr(" val () = fprint_s2rt (out, s2t) val () = prstr ")" } // end of [S3Eerr] // end // end of [fprint_s3exp] implement print_s3exp (x) = fprint_s3exp (stdout_ref, x) implement prerr_s3exp (x) = fprint_s3exp (stderr_ref, x) (* ****** ****** *) implement fprint_s3explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s3exp) // end of [fprint_s3explst] implement print_s3explst (xs) = fprint_s3explst (stdout_ref, xs) implement prerr_s3explst (xs) = fprint_s3explst (stderr_ref, xs) (* ****** ****** *) (* end of [pats_constraint3_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_p0at.dats0000664000175000017500000001776512655455557017605 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" staload LOC = "./pats_location.sats" overload + with $LOC.location_combine staload SYM = "./pats_symbol.sats" macdef BACKSLASH = $SYM.symbol_BACKSLASH macdef UNDERSCORE = $SYM.symbol_UNDERSCORE overload = with $SYM.eq_symbol_symbol (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_p0at" (* ****** ****** *) staload "./pats_fixity.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) overload fprint with fprint_p0at (* ****** ****** *) macdef list_sing (x) = list_cons (,(x), list_nil ()) (* ****** ****** *) // // HX: translation of patterns // typedef p1atitm = fxitm (p1at) typedef p1atitmlst = List (p1atitm) // (* ****** ****** *) local fn appf ( _fun: p1at, _arg: p1at ) : p1atitm = let val loc_arg = _arg.p1at_loc val loc = _fun.p1at_loc + loc_arg val p1t_app = ( case+ _arg.p1at_node of | P1Tlist (npf, p1ts) => p1at_app_dyn (loc, _fun, loc_arg, npf, p1ts) // end of [P1Tlist] | P1Tsvararg s1a => begin case+ _fun.p1at_node of | P1Tapp_sta (p1t1, s1as) => let val s1as = list_extend (s1as, s1a) in p1at_app_sta (loc, p1t1, (l2l)s1as) end // end of [P1Tapp_sta] | _ => p1at_app_sta (loc, _fun, list_sing (s1a)) // end of [_] end // end of [P1Tsvararg] | _ => let val p1ts = list_sing (_arg) in p1at_app_dyn (loc, _fun, loc_arg, ~1(*npf*), p1ts) end (* end of [_] *) ) : p1at // end of [val] in FXITMatm (p1t_app) end // end of [appf] in (* in-of-local *) fn p1atitm_app (loc: location): p1atitm = fxitm_app (loc, appf) // end of [p1atitm_app] end // end of [local] fn p1at_get_loc (x: p1at): location = x.p1at_loc fn p1at_make_opr ( opr: p1at, f: fxty ) : p1atitm = begin fxopr_make {p1at} ( p1at_get_loc , lam (loc, x, loc_arg, xs) => p1at_app_dyn (loc, x, loc_arg, ~1(*npf*), xs) , opr, f ) // end of [oper_make] end // end of [p1at_make_opr] fn p1atitm_backslash (loc_opr: location) = begin fxopr_make_backslash {p1at} ( lam x => x.p1at_loc , lam (loc, x, loc_arg, xs) => p1at_app_dyn (loc, x, loc_arg, ~1(*npf*), xs) , loc_opr ) // end of [oper_make_backslash] end // end of [p1atitm_backslash] (* ****** ****** *) local fn p0at_tr_errmsg_opr (p0t0: p0at): p1at = let val loc0 = p0t0.p0at_loc val () = prerr_error1_loc (loc0) val () = prerr ": the operator needs to be applied." val () = prerr_newline () val () = the_trans1errlst_add (T1E_p0at_tr (p0t0)) in p1at_errpat (loc0) end // end of [p0at_tr_errmsg_opr] in (* in-of-local *) implement p0at_tr (p0t0) = let // #define :: list_cons // fun aux_item ( p0t0: p0at ) : p1atitm = let // val loc0 = p0t0.p0at_loc // in // case+ p0t0.p0at_node of // | P0Tide id when id = UNDERSCORE => FXITMatm (p1at_any (loc0)) // end of [P0Tide when ...] | P0Tide id when id = BACKSLASH => p1atitm_backslash (loc0) // end of [P0Tide when ...] | P0Tide id => let val p1t = p1at_ide (loc0, id) in case+ the_fxtyenv_find id of | ~Some_vt f => p1at_make_opr (p1t, f) | ~None_vt () => FXITMatm (p1t) end // end of [P0Tide] // | P0Tdqid (dq, id) => FXITMatm (p1at_dqid (loc0, dq, id)) | P0Topid (id) => FXITMatm (p1at_ide (loc0, id)) // | P0Tint (x) => FXITMatm (p1at_i0nt (loc0, x)) | P0Tchar (x) => FXITMatm (p1at_c0har (loc0, x)) | P0Tfloat (x) => FXITMatm (p1at_f0loat (loc0, x)) | P0Tstring (x) => FXITMatm (p1at_s0tring (loc0, x)) // | P0Tapp _ => let val p1t_app = fixity_resolve ( loc0, p1at_get_loc, p1atitm_app (loc0), aux_itemlst p0t0 ) // end of [val] in FXITMatm (p1t_app) end // end of [P0Tapp] // | P0Tlist (npf, p0ts) => let val p1ts = p0atlst_tr p0ts in FXITMatm (p1at_list (loc0, npf, p1ts)) end // end of [[P0Tlist] // | P0Tlst (lin, p0ts) => let val p1ts = p0atlst_tr p0ts in FXITMatm (p1at_lst (loc0, lin, p1ts)) end // end of [P1Tlst] | P0Ttup (knd, npf, p0ts) => let val p1ts = p0atlst_tr p0ts in FXITMatm (p1at_tup (loc0, knd, npf, p1ts)) end // end of [P1Ttup] | P0Trec (knd, npf, lp0ts) => let val lp1ts = labp0atlst_tr lp0ts in FXITMatm (p1at_rec (loc0, knd, npf, lp1ts)) end // end of [P0Trec] // | P0Tfree (p0t) => FXITMatm (p1at_free (loc0, p0at_tr p0t)) | P0Tunfold (p0t) => FXITMatm (p1at_unfold (loc0, p0at_tr p0t)) // | P0Trefas (id, loc_id, p0t) => FXITMatm (p1at_refas (loc0, id, loc_id, p0at_tr p0t)) // | P0Texist (s0as) => let val s1as = s0arglst_tr (s0as) fn f ( body: p1at ) : p1atitm = let val loc = loc0 + body.p1at_loc in FXITMatm (p1at_exist (loc, s1as, body)) end // end of [f] in FXITMopr (loc0, FXOPRpre (exist_prec_dyn, f)) end // end of [P0Texist] | P0Tsvararg s0a => FXITMatm (p1at_svararg (loc0, s0vararg_tr s0a)) // | P0Tann (p0t, s0e) => let val p1t = p0at_tr (p0t) val s1e = s0exp_tr (s0e) in FXITMatm (p1at_ann (loc0, p1t, s1e)) end // end of [P0Tann] // | P0Terr ((*erroneous*)) => let val () = prerr_interror_loc (loc0) val () = fprintln! (stderr_ref, ": p0at_tr: p0t0 = ", p0t0) in $ERR.abort_interr{p1atitm}((*reachable*)) end // end of [P0Terr] (* | _ => let val () = prerr_interror_loc (loc0) val () = fprintln ( stderr_ref, "p0at_tr: aux_item: p0t0 = ", p0t0 ) (* end of [val] *) val () = assertloc (false) in $ERR.abort_interr((*deadcode*)) end *) end (* end of [aux_item] *) // and aux_itemlst (p0t0: p0at): p1atitmlst = let fun loop ( p0t0: p0at, res: p1atitmlst ) : p1atitmlst = case+ p0t0.p0at_node of | P0Tapp (p0t1, p0t2) => let val res = aux_item p0t2 :: res in loop (p0t1, res) end // end of [P0Tapp] | _ => list_cons (aux_item (p0t0), res) // end of [loop] in loop (p0t0, list_nil ()) end // end of [aux_itemlist] // in // case+ aux_item (p0t0) of | FXITMatm (p1t) => p1t | FXITMopr _ => p0at_tr_errmsg_opr (p0t0) // end // end of [p0at_tr] end // end of [local] implement labp0at_tr (lp0t) = let // val loc0 = lp0t.labp0at_loc // in // case+ lp0t.labp0at_node of | LABP0ATnorm (l, p0t) => labp1at_norm (loc0, l, p0at_tr (p0t)) | LABP0ATomit ((*void*)) => labp1at_omit (loc0) // end // end of [labp0at_tr] (* ****** ****** *) // implement p0atlst_tr (xs) = l2l (list_map_fun (xs, p0at_tr)) // implement labp0atlst_tr (lxs) = l2l (list_map_fun (lxs, labp0at_tr)) // (* ****** ****** *) (* end of [pats_trans1_p0at.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_lazyeval.dats0000664000175000017500000001146712655455557020452 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2013 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement hidexp_ccomp_ret_delay (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEdelay (hde) = hde0.hidexp_node // val hse_res = hde.hidexp_type val hse_fun = hisexp_fun (FUNCLOclo(~1), list_nil, hse_res) val flab = funlab_make_type (hse_fun) val pmv0 = primval_make_funlab (loc0, flab) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) // val () = ccompenv_inc_tailcalenv (env, flab) // val tmplev = ccompenv_get_tmplevel (env) val () = if tmplev > 0 then funlab_set_tmpknd (flab, 1) // val fent = let val imparg = list_nil(*s2vs*) val tmparg = list_nil(*s2ess*) val ins = instr_funlab (loc0, flab) val prolog = list_sing (ins) in hidexp_ccomp_funlab_arg_body (env, flab, imparg, tmparg, prolog, loc0, list_nil, hde) // end of [hidexp_ccomp_funlab_arg_body] end // end of [val] val () = funlab_set_funent (flab, Some(fent)) // val () = ccompenv_dec_tailcalenv (env) // val pmv0_thk = primval_lamfix (0(*lam*), pmv0) val ins = instr_move_delay (loc0, tmpret, 0(*lin*), hse_res, pmv0_thk) val ((*void*)) = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_delay] (* ****** ****** *) implement hidexp_ccomp_ret_ldelay (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEldelay (hde1, hde2) = hde0.hidexp_node // val hse_res = hde1.hidexp_type val hse_arg = hisexp_bool_t0ype () val hses_arg = list_cons{hisexp}(hse_arg, list_nil()) val hse_fun = hisexp_fun (FUNCLOclo(1), hses_arg, hse_res) val flab = funlab_make_type (hse_fun) val pmv0 = primval_make_funlab (loc0, flab) // val d2v_flag = d2var_make_any (loc0) val ((*void*)) = d2var_inc_utimes (d2v_flag) val hde_flag = hidexp_var (loc0, hse_arg, d2v_flag) val hde2 = hidexp_ignore (hde2.hidexp_loc, hse_res, hde2) val hde12_body = hidexp_if (loc0, hse_res, hde_flag, hde1, hde2) val hip_arg = hipat_var (loc0, hse_arg, d2v_flag) val hips_arg = list_cons{hipat}(hip_arg, list_nil()) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) // val () = ccompenv_inc_tailcalenv (env, flab) // val tmplev = ccompenv_get_tmplevel (env) val () = if tmplev > 0 then funlab_set_tmpknd (flab, 1) // val fent = let val imparg = list_nil(*s2vs*) val tmparg = list_nil(*s2ess*) val ins = instr_funlab (loc0, flab) val prolog = list_sing (ins) in hidexp_ccomp_funlab_arg_body (env, flab, imparg, tmparg, prolog, loc0, hips_arg, hde12_body) // end of [hidexp_ccomp_funlab_arg_body] end // end of [val] val () = funlab_set_funent (flab, Some(fent)) // val () = ccompenv_dec_tailcalenv (env) // val pmv0_thk = primval_lamfix (0(*lam*), pmv0) val ins = instr_move_delay (loc0, tmpret, 1(*lin*), hse_res, pmv0_thk) val ((*void*)) = instrseq_add (res, ins) // in // nothing end // end of [ccomp_exp_lazy_ldelay] (* ****** ****** *) implement hidexp_ccomp_ret_lazyeval (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDElazyeval (lin, hde_lazy) = hde0.hidexp_node // val pmv_lazy = hidexp_ccomp (env, res, hde_lazy) val ins = instr_move_lazyeval (loc0, tmpret, lin, hse0, pmv_lazy) val ((*void*)) = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_lazyeval] (* ****** ****** *) (* end of [pats_ccomp_lazyeval.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_ctxt.dats0000664000175000017500000000733412655455557020070 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) datatype s2ctxt_datatype = S2CTXT of (s2exp, s2hole) assume s2ctxt_type = s2ctxt_datatype (* ****** ****** *) implement s2ctxt_make (s2e, s2h) = S2CTXT (s2e, s2h) (* ****** ****** *) extern fun s2exp_hrepl_flag (s2e0: s2exp, repl: s2exp, flag: &int): s2exp // end of [s2exp_hrepl_flag] extern fun labs2explst_hrepl_flag (ls2es: labs2explst, repl: s2exp, flag: &int): labs2explst // end of [labs2explst_hrepl_flag] implement s2exp_hrepl_flag ( s2e0, repl, flag ) = let in // case+ s2e0.s2exp_node of // | S2Ehole _ => let val () = flag := flag + 1 in repl end // end of [S2Ehole] // | S2Eat (s2e, s2a) => let val flag0 = flag val s2e = s2exp_hrepl_flag (s2e, repl, flag) in if flag > flag0 then s2exp_at (s2e, s2a) else s2e0 end // end of [S2Eat] | S2Etyrec (knd, npf, ls2es) => let val flag0 = flag val ls2es = labs2explst_hrepl_flag (ls2es, repl, flag) in if flag > flag0 then let val s2t = s2e0.s2exp_srt in s2exp_tyrec_srt (s2t, knd, npf, ls2es) end else s2e0 // end of [if] end // end of [S2Etyrec] // | _ => s2e0 // end // end of [s2exp_hrepl_flag] implement labs2explst_hrepl_flag (ls2es0, repl, flag) = let in // case+ ls2es0 of | list_cons (ls2e, ls2es) => let val flag0 = flag val SLABELED (l, name, s2e) = ls2e val s2e = s2exp_hrepl_flag (s2e, repl, flag) in if flag > flag0 then let val ls2e = SLABELED (l, name, s2e) in list_cons (ls2e, ls2es) end else let val ls2es = labs2explst_hrepl_flag (ls2es, repl, flag) in if flag > flag0 then list_cons (ls2e, ls2es) else ls2es0 end (* end of [if] *) end // end of [list_cons] | list_nil () => list_nil () // end // end of [labs2explst_hrepl_flag] (* ****** ****** *) implement s2exp_hrepl (s2e, repl) = let var flag: int = 0 in s2exp_hrepl_flag (s2e, repl, flag) end // end of [s2exp_hrepl] (* ****** ****** *) implement s2ctxt_hrepl (ctxt, repl) = let var flag: int = 0 val+S2CTXT (s2e_ctx, s2h) = ctxt val s2e = s2exp_hrepl_flag (s2e_ctx, repl, flag) in s2e end // end of [s2ctxt_hrepl] implement s2ctxtopt_hrepl (opt, repl) = ( case+ opt of | Some ctxt => Some (s2ctxt_hrepl (ctxt, repl)) | None () => None () ) // end of [s2ctxtopt_hrepl] (* ****** ****** *) (* end of [pats_staexp2_ctxt.dats] *) ATS2-Postiats-0.2.6/./src/pats_effect.dats0000664000175000017500000001236312655455557016672 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_effect" (* ****** ****** *) staload "./pats_effect.sats" (* ****** ****** *) assume effect_t0ype = uint (* ****** ****** *) // #define EFFntm 0 // nonterm #define EFFexn 1 // exception #define EFFref 2 // reference #define EFFwrt 3 // writeover // // HX-2012-03: // the maximal numberof effect is required to // strictly less than the size of unsigned int // as one bit is needed for the-rest-of-effects // #define MAX_EFFECT_NUMBER 4 // (* ****** ****** *) implement effect_ntm = (uint_of)EFFntm implement effect_exn = (uint_of)EFFexn implement effect_ref = (uint_of)EFFref implement effect_wrt = (uint_of)EFFwrt implement effectlst_all = '[ effect_ntm, effect_exn, effect_ref, effect_wrt ] // end of [effectlst_all] implement eq_effect_effect (eff1, eff2) = eq_uint_uint (eff1, eff2) (* ****** ****** *) implement effect_get_name (eff) = let // val eff = int_of(eff) // in case+ eff of | EFFntm => "ntm" | EFFexn => "exn" | EFFref => "ref" | EFFwrt => "wrt" | _ => let val () = assertloc (false) in $ERR.abort_interr((*deadcode*)) end // end of [_] end // end of [effect_get_name] (* ****** ****** *) implement fprint_effect (out, x) = fprint_string (out, effect_get_name (x)) (* ****** ****** *) assume effset_t0ype = uint (* ****** ****** *) // implement effset_nil = uint_of_int (0) // 0U implement effset_all = uint_of_int (~1) // 1...1U // implement effset_ntm = (1u << effect_ntm) implement effset_exn = (1u << effect_exn) implement effset_ref = (1u << effect_ref) implement effset_wrt = (1u << effect_wrt) // implement effset_sing (x) = (1u << x) // implement eq_effset_effset (efs1, efs2) = eq_uint_uint (efs1, efs2) // (* ****** ****** *) implement effset_add (xs, x) = xs lor (1u << x) implement effset_del (xs, x) = xs land ~(1u << x) (* ****** ****** *) implement effset_isnil (xs) = eq_effect_effect (xs, effset_nil) implement effset_isall (xs) = eq_effect_effect (xs, effset_all) implement effset_isfin (xs) = // finite (xs land (1u << MAX_EFFECT_NUMBER)) \eq_uint_uint 0u // end of [effset_isfin] implement effset_iscof (xs) = // cofinite (xs land (1u << MAX_EFFECT_NUMBER)) \lt_uint_uint 0u // end of [effset_iscof] (* ****** ****** *) implement effset_ismem (xs, x) = (xs land (1u << x)) > 0u implement effset_supset (xs1, xs2) = eq_uint_uint (~xs1 land xs2, 0u) // end of [effset_supset] implement effset_subset (xs1, xs2) = eq_uint_uint (xs1 land ~xs2, 0u) // end of [effset_subset] implement effset_is_inter (xs1, xs2) = ~effset_isnil (effset_inter (xs1, xs2)) // end of [effset_is_inter] implement effset_cmpl (xs) = lnot_uint (xs) implement effset_diff (xs1, xs2) = (xs1) land effset_cmpl(xs2) // end of [effset_diff] implement effset_inter (xs1, xs2) = xs1 land xs2 implement effset_union (xs1, xs2) = (xs1) lor (xs2) (* ****** ****** *) implement fprint_effset (out, efs) = let // fun loop ( out: FILEref , efs: effset, n: uint, i: uint, k: &int ) : void = let in // if i < n then let val isint = effset_is_inter (efs, effset_sing (i)) val () = if isint then { val () = if (k > 0) then fprint_string (out, ", ") val () = k := k + 1 val () = fprint_effect (out, i) } // end of [if] // end of [val] in loop (out, efs, n, i+1u, k) end // end of [if] // end // end of [loop] // var k: int = 0 // in // case+ 0 of | _ when effset_isnil(efs) => fprint_string (out, "0") | _ when effset_isall(efs) => fprint_string (out, "1") | _ => ( fprint_string (out, "["); loop (out, efs, (uint_of)MAX_EFFECT_NUMBER, 0u, k); fprint_string (out, "]"); ) (* end of [_] *) // end // end of [fprint_effset] implement print_effset (x) = fprint_effset (stdout_ref, x) implement prerr_effset (x) = fprint_effset (stderr_ref, x) (* ****** ****** *) (* end of [pats_effect.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_dvar.dats0000664000175000017500000005626512655455557020545 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans3_env_dvar" // (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) implement d2var_mutablize (loc0, d2v, s2e0, opt) = let (* val () = ( println! (": d2var_mutablize: d2v = ", d2v) ) // end of [val] *) // val s2e_elt = d2var_get_type_some (loc0, d2v) // val s2e_addr = let val opt = d2var_get_addr (d2v) in case+ opt of | Some (s2e_addr) => s2e_addr // HX: [d2v] is introduced by vardec | None () => let val sym = d2var_get_sym (d2v) val s2v_addr = s2var_make_id_srt (sym, s2rt_addr) val () = trans3_env_add_svar (s2v_addr) // adding svar val s2e_addr = s2exp_var (s2v_addr) val () = d2var_set_addr (d2v, Some s2e_addr) in s2e_addr end // end of [None] end // end of [let] // end of [val] // val s2e_ptr = s2exp_ptr_addr_type (s2e_addr) val () = d2var_set_type (d2v, Some (s2e_ptr)) val () = d2var_set_mastype (d2v, Some (s2e_ptr)) val () = d2var_set_linval (d2v, ~1(*nonlin*)) // // HX-2012-07: this is often needed in 'unsafe' programming style // val () = let val s2p = s2exp_agtz (s2e_addr) in trans3_env_hypadd_prop (loc0, s2p) end // end of [val] // val d2vw = d2var_ptr_viewat_make (d2v, opt) // linval is properly set val () = d2var_set_view (d2v, Some d2vw) // [d2v] is mutable // val s2at0 = s2exp_at (s2e0, s2e_addr) val () = d2var_set_mastype (d2vw, Some (s2at0)) val s2at_elt = s2exp_at (s2e_elt, s2e_addr) val () = d2var_set_type (d2vw, Some (s2at_elt)) // in d2vw end // end of [d2var_mutablize] implement d2var_mutablize_none (loc0, d2v, s2e0) = d2var_mutablize (loc0, d2v, s2e0, None ()) // end of [d2var_mutablize_none] (* ****** ****** *) extern fun the_d2varenv_push (): (d2varenv_push_v | void) local dataviewtype ld2vsetlst = // local dynamic variables | LD2VSset of (d2varset_vt, ld2vsetlst) // local dynamic variable set | LD2VSlam of (int(*lin*), d2varlst_vt, ld2vsetlst) // marker for lambdas | LD2VSnil of () // end of [ld2vsetlst] assume d2varenv_push_v = unit_v val the_ld2vs = ref (d2varset_vt_nil ()) // end of [val] val the_ld2vss = ref (LD2VSnil ()) in // in of [local] implement the_d2varenv_get_top () = let val (vbox pf | p) = ref_get_view_ptr (the_ld2vs) in d2varset_vt_listize (!p) end // end of [the_d2varenv_get_top] implement the_d2varenv_get_llamd2vs () = let val (vbox pf | pp) = ref_get_view_ptr (the_ld2vss) in case+ !pp of | LD2VSlam (lin, !p_d2vs, _) => let val d2vs = !p_d2vs; val () = !p_d2vs := list_vt_nil in fold@ (!pp); d2vs end // end of [LD2VSlam] | LD2VSset _ => (fold@ (!pp); list_vt_nil) | LD2VSnil _ => (fold@ (!pp); list_vt_nil) end // end of [the_d2varenv_get_llamd2vs] (* ****** ****** *) implement the_d2varenv_add_dvar (d2v) = let val (vbox pf | p) = ref_get_view_ptr (the_ld2vs) val () = !p := d2varset_vt_add (!p, d2v) val opt = d2var_get_view (d2v) in // case+ opt of | Some (d2vw) => !p := d2varset_vt_add (!p, d2vw) | None () => () // end // end of [the_d2varenv_add] implement the_d2varenv_add_dvarlst (d2vs) = let fun loop {n:nat} .. ( set: d2varset_vt, d2vs: list (d2var, n) ) :<> d2varset_vt = case+ d2vs of | list_cons (d2v, d2vs) => let val set = d2varset_vt_add (set, d2v) in loop (set, d2vs) end // end of [list_cons] | list_nil () => set // end of [loop] val (vbox pf | p) = ref_get_view_ptr (the_ld2vs) in !p := loop (!p, d2vs) end // end of [the_d2varenv_addlst] implement the_d2varenv_add_dvaropt (opt) = ( case+ opt of | Some (d2v) => the_d2varenv_add_dvar (d2v) | None () => () ) // end of [the_d2varenv_add_dvaropt] (* ****** ****** *) implement the_d2varenv_pop (pfpush | (*none*)) = let viewtypedef lset = d2varset_vt fun loop ( ld2vss: ld2vsetlst, res: &lset? >> lset ) : ld2vsetlst = case+ ld2vss of | ~LD2VSset (d2vs, ld2vss) => let val () = res := d2vs in ld2vss end // end of [LD2VSset] | ~LD2VSlam (lin, d2vs, ld2vss) => let val () = list_vt_free (d2vs) in loop (ld2vss, res) end // end of [LD2VSlam] | ~LD2VSnil () => let val () = res := d2varset_vt_nil () in LD2VSnil () end // end of [LD2VSnil] // end of [loop] prval unit_v () = pfpush val (vbox pf1 | p) = ref_get_view_ptr (the_ld2vs) val () = d2varset_vt_free (!p) val () = $effmask_ref let val (vbox pf2 | pp) = ref_get_view_ptr (the_ld2vss) in !pp := $effmask_ref (loop (!pp, !p)) end // end of [val] in // nothing end // end of [the_d2varenv_pop] (* ****** ****** *) implement the_d2varenv_push () = let val d2vs = d2vs where { val (vbox pf | p) = ref_get_view_ptr (the_ld2vs) val d2vs = !p val () = !p := d2varset_vt_nil () } // end of [val] val (vbox pf | pp) = ref_get_view_ptr (the_ld2vss) val () = !pp := LD2VSset (d2vs, !pp) in (unit_v () | ()) end // end of [the_d2varenv_push] implement the_d2varenv_push_lam (lin) = let val (pfpush | ()) = the_d2varenv_push () val (vbox pf | pp) = ref_get_view_ptr (the_ld2vss) val () = !pp := LD2VSlam (lin, list_vt_nil, !pp) in (pfpush | ()) end // end of [the_d2varenv_push_lam] implement the_d2varenv_push_let () = the_d2varenv_push () // HX: preventing implement // linear resources from being accessed the_d2varenv_push_try () = the_d2varenv_push_lam (0) (* ****** ****** *) implement the_d2varenv_d2var_is_llamlocal (d2v0) = let // [d2v0] is linear // fun loop ( ld2vss: !ld2vsetlst, d2v0: d2var ) : bool = ( case+ ld2vss of | LD2VSlam ( lin, !p_d2vs, !p_ld2vss ) => ( case+ 0 of | _ when lin > 0 => let val () = !p_d2vs := list_vt_cons (d2v0, !p_d2vs) // end of [val] val ans = loop (!p_ld2vss, d2v0) in fold@ (ld2vss); ans end // end of [llam] | _ => (fold@ (ld2vss); false) ) // end of [LD2VSlam] | LD2VSset (!p_d2vs, !p_ld2vss) => let val ans = d2varset_vt_ismem (!p_d2vs, d2v0) val ans = ( if ans then true else loop (!p_ld2vss, d2v0) ) // end of [val] in fold@ (ld2vss); ans end // end of [LD2VSset] | LD2VSnil () => (fold@ (ld2vss); false) ) (* end of [loop] *) // val ans = let // val ( vbox pf | p ) = ref_get_view_ptr (the_ld2vs) // in d2varset_vt_ismem (!p, d2v0) end // end of [val] // in // if ans then true else let val (vbox pf | pp) = ref_get_view_ptr (the_ld2vss) in $effmask_ref (loop (!pp, d2v0)) end // end of [if] // end // end of [the_d2varenv_d2var_is_llamlocal] (* ****** ****** *) implement the_d2varenv_save_lstbefitmlst () = let // fun aux ( d2v: d2var , res: &lstbefitmlst >> lstbefitmlst ) : void = let val linval = d2var_get_linval (d2v) (* val () = begin println! ("the_d2varenv_save_lstbefitmlst: aux: d2v = ", d2v); println! ("the_d2varenv_save_lstbefitmlst: aux: linval = ", linval); end // end of [val] *) in if linval >= 0 then let val x = lstbefitm_make (d2v, linval) in res := list_cons (x, res) end else () // end of [if] end // end of [aux] // fun auxlst ( d2vs: d2varlst_vt , res: &lstbefitmlst >> lstbefitmlst ) : void = ( case+ d2vs of | ~list_vt_cons (d2v, d2vs) => let val () = aux (d2v, res) in auxlst (d2vs, res) end // end of [list_vt_cons] | ~list_vt_nil () => () ) (* end of [auxlst] *) // fun auxset ( d2vs: !d2varset_vt , res: &lstbefitmlst >> lstbefitmlst ) : void = let val d2vs = d2varset_vt_listize (d2vs) in auxlst (d2vs, res) end // end of [auxset] // fun auxsetlst ( xs: !ld2vsetlst, res: &lstbefitmlst >> lstbefitmlst ) : void = let in // case+ xs of | LD2VSset (!p_d2vs, !p_xs) => { val () = auxset (!p_d2vs, res) val () = auxsetlst (!p_xs, res) prval () = fold@ (xs) } // end of [LD2VSset] | LD2VSlam ( lin, _(*d2vs*), !p_xs ) when lin > 0 => { val () = auxsetlst (!p_xs, res) prval () = fold@ (xs) } // end of [LD2VSlam(1)] | _ => () // end // end of [auxsetlst] // var res: lstbefitmlst = list_nil val () = let val (vbox pf | p) = ref_get_view_ptr (the_ld2vs) in $effmask_ref (auxset (!p, res)) end // end of [val] val () = let val (vbox pf | pp) = ref_get_view_ptr (the_ld2vss) in $effmask_ref (auxsetlst (!pp, res)) end // end of [val] (* val () = ( print "the_d2varset_save_lstbefitmlst: res = "; fprint_lstbefitmlst (stdout_ref, res); print_newline () ) (* end of [val] *) *) in res end // end of [the_d2varset_save_lstbefitmlst] (* ****** ****** *) end // end of [local] (* ****** ****** *) extern fun the_d2varenv_add_labp3atlst (xs: labp3atlst): void implement the_d2varenv_add_p3at (p3t) = let // val opt = p3at_get_dvaropt (p3t) val () = the_d2varenv_add_dvaropt (opt) // in // case+ p3t.p3at_node of // | P3Tany (d2v) => the_d2varenv_add_dvar (d2v) | P3Tvar (d2v) => the_d2varenv_add_dvar (d2v) // | P3Tcon ( _(*pck*), d2c, npf, p3ts ) => the_d2varenv_add_p3atlst (p3ts) // | P3Tann (p3t, s2e) => the_d2varenv_add_p3at (p3t) // | P3Tint _ => () | P3Tintrep _ => () // | P3Tbool _ => () | P3Tchar _ => () | P3Tfloat _ => () | P3Tstring _ => () // | P3Ti0nt _ => () | P3Tf0loat _ => () // | P3Tempty _ => () // | P3Trec ( knd, npf, lp3ts ) => the_d2varenv_add_labp3atlst (lp3ts) // end of [P3Trec] | P3Tlst ( lin, _elt, p3ts ) => the_d2varenv_add_p3atlst (p3ts) // | P3Trefas (d2v, p3t) => { val () = the_d2varenv_add_dvar (d2v) val () = the_d2varenv_add_p3at (p3t) } // end of [P3Trefas] // | P3Texist (s2vs, p3t) => the_d2varenv_add_p3at (p3t) // | P3Tvbox (d2v) => the_d2varenv_add_dvar (d2v) // | P3Terrpat ((*void*)) => () // end // end of [the_d2varenv_add_p3at] implement the_d2varenv_add_p3atlst (p3ts) = list_app_fun (p3ts, the_d2varenv_add_p3at) // end of [the_d2varenv_add_p3atlst] implement the_d2varenv_add_labp3atlst (xs) = loop (xs) where { fun loop ( xs: labp3atlst ) : void = case+ xs of | list_cons (x, xs) => let val LABP3AT (l, p3t) = x val () = the_d2varenv_add_p3at (p3t) in loop (xs) end // end of [list_cons] | list_nil () => () // end of [loop] } // end of [the_d2varenv_add_labp3atlst] (* ****** ****** *) // extern fun d2vfin_check (loc0: loc_t, d2v: d2var): void // (* ****** ****** *) local fun d2vfin_check_some ( loc0: loc_t, d2v: d2var, s2e: s2exp ) : void = let // fun auxerr1 ( loc0: loc_t , d2v: d2var, s2e1: s2exp, s2e2: s2exp ) : void = { val () = prerr_error3_loc (loc0) val () = prerr ": the linear dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is preserved but with an incompatible type." val () = prerr_newline () val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_d2var_fin_some_some (loc0, d2v)) } (* end of [auxerr1] *) fun auxerr2 ( loc0: loc_t, d2v: d2var, s2e: s2exp ) : void = { val () = prerr_error3_loc (loc0) val () = prerr ": the linear dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] needs to be consumed but it is preserved with the type [" val () = prerr_s2exp (s2e) val () = prerr "] instead." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d2var_fin_none_some (loc0, d2v)) } (* end of [auxerr2] *) // val d2vfin = d2var_get_finknd (d2v) (* val () = ( print "d2vfin_check_some: d2v = "; print_d2var (d2v); print_newline (); print "d2vfin_check_some: d2vfin = "; print_d2vfin (d2vfin); print_newline (); ) (* end of [val] *) *) in // case+ d2vfin of // | D2VFINnone() => let val islin = s2exp_is_lin2 (s2e) val () = if islin then auxerr2 (loc0, d2v, s2e) val linval = d2var_get_linval (d2v) in if linval >= 0 then d2var_set_type (d2v, None ()) end // end of [D2VFINnone] // | D2VFINsome (s2e_fin) => let val (pfpush | ()) = trans3_env_push() val err = $SOL.s2exp_tyleq_solve (loc0, s2e, s2e_fin) val () = if err > 0 then auxerr1 (loc0, d2v, s2e, s2e_fin) val knd = C3TKsome_fin (d2v, s2e_fin, s2e) val ((*void*)) = trans3_env_pop_and_add (pfpush | loc0, knd) in d2var_set_type (d2v, Some s2e_fin) end // end of [D2VFINsome_lvar] // | D2VFINsome_lvar (s2e_fin) => let // val (pfpush | ()) = trans3_env_push() // val s2e = ( case+ s2e.s2exp_node of // case+ | S2Eat(s2at, s2l) => let val isnonlin = s2exp_is_nonlin (s2at) in if isnonlin then s2exp_at (s2exp_topize_0 (s2at), s2l) else s2e end // end of [S2Eat] | _ (* non-S2Eat *) => let val () = assertloc (false) in s2e // HX: this should be deadcode! end // end of [_] ) : s2exp // end of [val] // val err = $SOL.s2exp_tyleq_solve (loc0, s2e, s2e_fin) val () = if err > 0 then auxerr1 (loc0, d2v, s2e, s2e_fin) val knd = C3TKsome_lvar (d2v, s2e_fin, s2e) val ((*void*)) = trans3_env_pop_and_add (pfpush | loc0, knd) // in d2var_set_type (d2v, Some (s2e_fin)) end // end of [D2VFINsome_lvar] // | D2VFINsome_vbox (s2e_box) => let val (pfpush | ()) = trans3_env_push () val err = $SOL.s2exp_tyleq_solve (loc0, s2e, s2e_box) val () = if err > 0 then auxerr1 (loc0, d2v, s2e, s2e_box) val knd = C3TKsome_vbox (d2v, s2e_box, s2e) val ((*void*)) = trans3_env_pop_and_add (pfpush | loc0, knd) in d2var_set_type (d2v, Some (s2e_box)) end // end of [D2VFINsome_vbox] // | D2VFINdone _ => () // HX: handled by [funarg_d2vfin_check] // end of [case] // end // end of [d2vfin_check_some] fun d2vfin_check_none ( loc0: loc_t, d2v: d2var ) : void = let // fun auxerr ( loc0: loc_t, d2v: d2var ) : void = { val () = prerr_error3_loc (loc0) val () = prerr ": the linear dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] needs to be preserved but it is consumed instead." val () = prerr_newline () } (* end of [auxerr] *) // val d2vfin = d2var_get_finknd (d2v) (* val () = ( print "d2vfin_check_none: d2v = "; print_d2var (d2v); print_newline (); print "d2vfin_check_none: d2vfin = "; print_d2vfin (d2vfin); print_newline (); ) (* end of [val] *) *) in // case+ d2vfin of | D2VFINnone () => () | D2VFINsome _ => let val () = auxerr (loc0, d2v) in the_trans3errlst_add (T3E_d2var_fin_none_some (loc0, d2v)) end // end of [D2VFINsome] | D2VFINsome_lvar _ => let val () = auxerr (loc0, d2v) in the_trans3errlst_add (T3E_d2var_fin_none_some (loc0, d2v)) end // end of [D2VFINsome_lvar] | D2VFINsome_vbox _ => let val () = auxerr (loc0, d2v) in the_trans3errlst_add (T3E_d2var_fin_none_some (loc0, d2v)) end // end of [D2VFINsome_vbox] | D2VFINdone _ => () // HX: handled by [funarg_d2vfin_check] // end // end of [d2vfin_check_none] in // in of [local] implement d2vfin_check (loc0, d2v) = let // (* val () = ( println! ("d2vfin_check: d2v = ", d2v) ) // end of [val] *) // val opt = d2var_get_type (d2v) // in // case+ opt of | Some (s2e) => let (* val () = ( println! ("d2vfin_check: s2e = ", s2e) ) // end of [val] *) in d2vfin_check_some (loc0, d2v, s2e) end // end of [Some] | None () => d2vfin_check_none (loc0, d2v) // end // end of [d2vfin_check] implement the_d2varenv_check (loc0) = let (* val () = ( print "the_d2varenv_check"; print_newline () ) // end of [val] *) fun loop ( loc0: loc_t, d2vs: d2varlst_vt ) : void = case+ d2vs of | ~list_vt_cons (d2v, d2vs) => let val () = d2vfin_check (loc0, d2v) in loop (loc0, d2vs) end // end of [list_vt_cons] | ~list_vt_nil () => () (* end of [loop] *) // in loop (loc0, the_d2varenv_get_top ()) end // end of [the_d2varenv_check] implement the_d2varenv_check_llam (loc0) = let // fun aux ( loc0: loc_t, d2v: d2var ) : void = let val opt = d2var_get_type (d2v) in case+ opt of | Some (s2e) => let val islin = s2exp_is_lin (s2e) in if islin then let val () = prerr_error3_loc (loc0) val () = prerr ": the linear dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] needs to be consumed but it is preserved with the type [" val () = prerr_s2exp (s2e) val () = prerr "] instead." val () = prerr_newline () val () = assertloc (false) in exit (1) end else d2var_set_type (d2v, None ()) // end of [if] end // end of [Some] | None () => () end // end of [aux] // fun auxlst ( loc0: loc_t, d2vs: d2varlst_vt ) : void = ( case+ d2vs of | ~list_vt_cons (d2v, d2vs) => let val () = aux (loc0, d2v) val () = auxlst (loc0, d2vs) in // nothing end // end of [list_vt_cons] | ~list_vt_nil () => () ) (* end of [auxlst] *) // in auxlst (loc0, the_d2varenv_get_llamd2vs ()) end // end of [the_d2varenv_check_llam] (* ****** ****** *) end // end of [local] (* ****** ****** *) local fun d2vfin_checked (d2v: d2var): void = let val d2vfin = d2var_get_finknd (d2v) in // case+ d2vfin of | D2VFINdone _ => () | _ => d2var_set_finknd (d2v, D2VFINdone (d2vfin)) // end // end of [d2vfin_checked] in // in of [local] implement funarg_d2vfin_check (loc0) = let (* val () = ( println! ("funarg_d2vfin_check: enter") ) (* end of [val] *) *) fun auxvar ( loc0: loc_t, d2v: d2var ) : void = let (* val () = begin println! ("funarg_d2vfin_check: auxvar: d2v (bef) = ", d2v) end // end of [val] *) val d2v = let val opt = d2var_get_view (d2v) in case+ opt of Some (d2v) => d2v | None () => d2v end : d2var // end of [val] (* val () = begin println! ("funarg_d2vfin_check: auxvar: d2v (aft) = ", d2v) end // end of [val] *) // val () = d2vfin_check (loc0, d2v) // in d2vfin_checked (d2v) // HX: indicating that [d2vfin_check] should skip it end // end of [auxvar] // fun auxpatlst ( loc0: loc_t, p3ts: p3atlst ) : void = let in // case+ p3ts of | list_cons (p3t, p3ts) => let val () = ( case+ p3t.p3at_node of | P3Tvar (d2v) => auxvar (loc0, d2v) | P3Trefas (d2v, _) => auxvar (loc0, d2v) | _ => () ) : void // end of [val] in auxpatlst (loc0, p3ts) end // end of [list_cons] | list_nil () => () // end // end of [auxpatlst] // val opt = the_lamlpenv_get_funarg () // in // case+ opt of | ~Some_vt p3ts => let val () = auxpatlst (loc0, p3ts) in // nothing end // end of [Some_vt] // | ~None_vt () => let val () = prerr_interror_loc (loc0) val () = prerr ": funarg_d2vfin_check: there is no funarg." val () = prerr_newline () in assertloc (false) end // end of [None_vt] end (* end of [funarg_d2vfin_check] *) end // end of [local] (* ****** ****** *) implement s2exp_wthtype_instantiate (loc0, s2e0) = let // (* val () = begin println! ("s2exp_wthtype_instantiate: s2e0 = ", s2e0) end // end of [val] *) // fun p3at_get_var (p3t: p3at): d2var = let in // case+ p3t.p3at_node of | P3Tvar (d2v) => d2v | P3Trefas (d2v, _) => d2v | _ => let val () = prerr_interror_loc (p3t.p3at_loc) // end of [val] val () = prerr ": s2exp_wthtype_instantiate" val () = prerrln! ": p2at_get_var: the pattern is expected to be a variable." val ((*exit*)) = assertloc (false) in $ERR.abort_interr{d2var}((*deadcode*)) end // end of [_] // end // end of [p3at_get_var] // fun d2vfin_unchecked (d2v: d2var): void = let val d2vfin = d2var_get_finknd (d2v) in // case+ d2vfin of | D2VFINdone(d2vfin) => d2var_set_finknd(d2v, d2vfin) | _ (*non-D2VFINdone*) => () // HX: is this deadcode? // end // end of [d2vfin_unchecked] // fun aux_invar .<>. ( refknd: int, p3t: p3at, s2e: s2exp ) : void = let // val d2v = p3at_get_var (p3t) // in // case+ 0 of | _ when refknd = 0 => d2vfin_unchecked (d2v) | _ (* refknd = 1 *) => let val-Some ( d2v_view ) = d2var_get_view (d2v) in d2vfin_unchecked (d2v_view) end // end of [_] // end // end of [aux_invar] // fun aux_trans .<>. ( refknd: int, p3t: p3at, s2e: s2exp ) : void = let // val d2v = p3at_get_var (p3t) // (* val () = println! ("aux_trans: d2v = ", d2v) val () = println! ("aux_trans: s2e = ", s2e) *) // in // case+ 0 of | _ when refknd = 0 => d2var_set_finknd (d2v, D2VFINsome s2e) | _ (* refknd = 1 *) => let val-Some (d2v_view) = d2var_get_view (d2v) val-Some (s2e_addr) = d2var_get_addr (d2v) val s2e_at = s2exp_at (s2e, s2e_addr) in d2var_set_finknd (d2v_view, D2VFINsome (s2e_at)) end // end of [_] // end // end of [aux_trans] // fun auxlst ( loc0: loc_t , p3ts: p3atlst, wths2es: wths2explst ) : void = let in // case+ wths2es of | WTHS2EXPLSTcons_invar (refknd, s2e, wths2es) => let val-list_cons (p3t, p3ts) = p3ts val () = aux_invar (refknd, p3t, s2e) in auxlst (loc0, p3ts, wths2es) end // end of [WTHS2EXPLSTcons_invar] | WTHS2EXPLSTcons_trans (refknd, s2e, wths2es) => let val-list_cons (p3t, p3ts) = p3ts val () = aux_trans (refknd, p3t, s2e) in auxlst (loc0, p3ts, wths2es) end // end of [WTHS2EXPLSTcons_trans] | WTHS2EXPLSTcons_none (wths2es) => let val-list_cons (p3t, p3ts) = p3ts in auxlst (loc0, p3ts, wths2es) end // end of [WTHS2EXPLSTcons_none] | WTHS2EXPLSTnil () => () // end // end of [auxlst] // var err: int = 0 val (s2e, s2ps) = s2exp_exi_instantiate_all (s2e0, loc0, err) val () = trans3_env_add_proplst_vt (loc0, s2ps) // in // case+ s2e.s2exp_node of // | S2Ewthtype (s2e, wths2es) => let val-~Some_vt (p3ts) = opt where { val opt = the_lamlpenv_get_funarg () } // end of [val] val () = auxlst (loc0, p3ts, wths2es) in s2e end // end of [S2Ewthtype] // | _ (*non-withtype*) => (s2e) // end // end of [s2exp_wthtype_instantiate] (* ****** ****** *) (* end of [pats_trans3_env_dvar.dats] *) ATS2-Postiats-0.2.6/./src/pats_symmap_htlinprb.hats0000664000175000017500000001150512655455557020647 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/hashtable_linprb.sats" staload _(*anon*) = "libats/DATS/hashtable_linprb.dats" (* ****** ****** *) staload "pats_symmap.sats" (* ****** ****** *) %{^ ATSinline() ats_ulint_type hashint_jenkin32 ( ats_uint_type x ) { uint32_t a = x ; a = (a+0x7ed55d16) + (a<<12); a = (a^0xc761c23c) ^ (a>>19); a = (a+0x165667b1) + (a<<5); a = (a+0xd3a2646c) ^ (a<<9); a = (a+0xfd7046c5) + (a<<3); a = (a^0xb55a4f09) ^ (a>>16); return a; } // end of [hashint_jenkin32] %} extern fun hashint_jenkin32 (x: uint):<> ulint = "mac#hashint_jenkin32" (* end of [hashint_jenkin32] *) (* ****** ****** *) // typedef key = uint typedef itm = ptr typedef keyitm = @(key, itm) assume symmap_vtype (itm:type) = HASHTBLptr1 (key, ptr) // val hash0 = $UN.cast{hash(key)} (null) val eqfn0 = $UN.cast{eqfn(key)} (null) // implement hash_key (x, _) = hashint_jenkin32 (x) implement equal_key_key (x1, x2, _) = (x1 = x2) // implement keyitem_nullify (ki) = () where { viewtypedef keyitm = (key, itm) extern prfun __assert (ki: &keyitm? >> keyitm): void prval () = __assert (ki) val () = ki.0 := 0u prval () = Opt_some (ki) } (* end of [keyitem_nullify] *) // implement keyitem_isnot_null (ki) = let prval () = __assert (ki) where { extern prfun __assert (x: &(Opt keyitm) >> keyitm):<> void } // end of [prval] val res = (ki.0 > 0u) val [b:bool] res = bool1_of_bool (res) prval () = __assert (ki) where { extern prfun __assert (x: &keyitm >> opt (keyitm, b)):<> void } // end of [prval] in res end // end of [keyitem_isnot_null] // (* ****** ****** *) #define HASHTBLSZ 97 implement symmap_make_nil () = hashtbl_make_hint (hash0, eqfn0, HASHTBLSZ) // end of [symmap_make_nil] implement symmap_free (map) = hashtbl_free (map) (* ****** ****** *) implement symmap_search {a} (map, sym) = let val k = $SYM.symbol_get_stamp (sym) var res: itm? val found = hashtbl_search (map, k, res) in if found then let prval () = opt_unsome {itm} (res) val res = $UN.cast{a} (res) in Some_vt (res) end else let prval () = opt_unnone {itm} (res) in None_vt () end (* end of [if] *) end // end of [symmap_search] implement symmap_insert {a} (map, sym, i) = { val k = $SYM.symbol_get_stamp (sym) val i: itm = $UN.cast{itm} (i) var res: itm val _exist = hashtbl_insert (map, k, i, res) prval () = opt_clear (res) } // end of [symmap_insert] (* ****** ****** *) implement symmap_joinwth {a} (map1, map2) = let // fun loop {n:nat} .. ( map: !symmap (a), kis: list_vt (keyitm, n) ) :<> void = let in // case+ kis of | list_vt_cons (!p_ki, kis1) => let var res: itm val _exist = hashtbl_insert (map, p_ki->0, p_ki->1, res) prval () = opt_clear (res) val () = free@ {keyitm} {0} (kis) in loop (map, kis1) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [loop] // val kis = hashtbl_listize (map2) // in loop (map1, kis) end // end of [symmap_joinwth] (* ****** ****** *) implement fprint_symmap{a} (out, map, f) = let var !p_clo = @lam ( pf: !unit_v | k: key, i: &itm ) : void = $effmask_all (fprint (out, k); fprint (out, " -> "); f (out, $UN.cast{a}(i)); fprint_newline (out)) prval pfu = unit_v () val () = hashtbl_foreach_vclo (pfu | map, !p_clo) prval unit_v () = pfu in // nothing end // end of [fprint_symmap] (* ****** ****** *) (* end of [pats_symmap_htlinprb.hats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2.dats0000664000175000017500000003625312655455557017030 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" macdef eq_stamp_stamp = $STMP.eq_stamp_stamp (* ****** ****** *) // staload EFF = "./pats_effect.sats" // macdef effset_isnil = $EFF.effset_isnil macdef effset_isall = $EFF.effset_isall // (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement tyreckind_is_box (knd) = case+ knd of TYRECKINDbox () => true | _ => false // end of [tyreckind_is_box] implement tyreckind_is_boxlin (knd) = case+ knd of TYRECKINDbox_lin () => true | _ => false // end of [tyreckind_is_boxlin] implement tyreckind_is_boxed (knd) = let in // case+ knd of | TYRECKINDbox _ => true | TYRECKINDbox_lin _ => true | _ => false // end // end of [tyreckind_is_boxed] (* ****** ****** *) implement tyreckind_is_flted (knd) = let in case+ knd of | TYRECKINDflt0 _ => true | TYRECKINDflt1 _ => true | TYRECKINDflt_ext _ => true | _ => false end // end of [tyreckind_is_flt] implement tyreckind_is_fltext (knd) = case+ knd of TYRECKINDflt_ext _ => true | _ => false // end of [tyreckind_is_fltext] (* ****** ****** *) implement tyreckind_is_nameless (knd) = let in // case+ knd of | TYRECKINDbox () => true | TYRECKINDbox_lin () => true | TYRECKINDflt0 () => true | TYRECKINDflt1 (stmp) => false | TYRECKINDflt_ext (name) => false // end // end of [tyreckind_is_nameless] (* ****** ****** *) implement eq_tyreckind_tyreckind (knd1, knd2) = let in // case+ (knd1, knd2) of // case+ // | (TYRECKINDbox(), TYRECKINDbox()) => true | (TYRECKINDbox_lin(), TYRECKINDbox_lin()) => true | (TYRECKINDflt0(), TYRECKINDflt0()) => true | (TYRECKINDflt1(s1), TYRECKINDflt1(s2)) => eq_stamp_stamp (s1, s2) | (TYRECKINDflt_ext(name1), TYRECKINDflt_ext(name2)) => name1 = name2 | (_, _) => false // end // end of [eq_tyreckind_tyreckind] implement neq_tyreckind_tyreckind (knd1, knd2) = not(eq_tyreckind_tyreckind (knd1, knd2)) // end of [neq_tyreckind_tyreckind] (* ****** ****** *) implement sp2at_con (loc, s2c, s2vs) = let // val s2fs = l2l(list_map_fun(s2vs, s2exp_var)) // val s2e_pat = s2exp_cstapp(s2c, s2fs) // in '{ sp2at_loc= loc , sp2at_exp= s2e_pat , sp2at_node = SP2Tcon (s2c, s2vs) } end // end of [sp2at_con] implement sp2at_err (loc) = let val s2t_pat = s2rt_err () val s2e_pat = s2exp_err (s2t_pat) in '{ sp2at_loc= loc , sp2at_exp= s2e_pat, sp2at_node= SP2Terr () } end // end of [sp2at_err] (* ****** ****** *) implement s2qua_make (svs, sps) = @{ s2qua_svs= svs, s2qua_sps= sps } // end of [s2qua_make] (* ****** ****** *) // extern castfn s2exp_of_s2exp (x: s2exp): s2exp // macdef hnf = s2exp_of_s2exp // HX: for commenting // (* ****** ****** *) implement s2exp_int (i) = hnf '{ s2exp_srt= s2rt_int, s2exp_node= S2Eint (i) } // end of [s2exp_int] implement s2exp_intinf (i) = hnf '{ s2exp_srt= s2rt_int, s2exp_node= S2Eintinf (i) } // end of [s2exp_intinf] implement s2exp_int_char (c) = s2exp_int (int_of_char(c)) implement s2exp_int_uchar (c) = s2exp_int (int_of_uchar(c)) (* ****** ****** *) implement s2exp_float (rep) = hnf '{ s2exp_srt= s2rt_float, s2exp_node= S2Efloat(rep) } (* end of [s2exp_float] *) (* ****** ****** *) implement s2exp_string (str) = hnf '{ s2exp_srt= s2rt_string, s2exp_node= S2Estring(str) } (* end of [s2exp_string] *) (* ****** ****** *) implement s2exp_cst (s2c) = let val s2t = s2cst_get_srt (s2c) in hnf '{ s2exp_srt= s2t, s2exp_node= S2Ecst (s2c) } end // end of [s2exp_cst] implement s2exp_var (s2v) = let val s2t = s2var_get_srt (s2v) in hnf '{ s2exp_srt= s2t, s2exp_node= S2Evar (s2v) } end // end of [s2exp_var] (* ** HX: for implementing [p2at_trdn_exist] *) implement s2exp_var_srt (s2t, s2v) = hnf '{ s2exp_srt= s2t, s2exp_node= S2Evar (s2v) } // end of [s2exp_var_srt] implement s2exp_Var (s2V) = let val s2t = s2Var_get_srt (s2V) in '{ // HX: this is not hnf! s2exp_srt= s2t, s2exp_node= S2EVar (s2V) } end // end of [s2exp_Var] implement s2exp_hole (s2h) = let val s2t = s2hole_get_srt (s2h) in hnf '{ s2exp_srt= s2t, s2exp_node= S2Ehole (s2h) } end // end of [s2exp_hole] (* ****** ****** *) implement s2exp_extype_srt (s2t, name, s2ess) = hnf '{ s2exp_srt= s2t, s2exp_node= S2Eextype (name, s2ess) } // end of [s2exp_extype_srt] implement s2exp_extkind_srt (s2t, name, s2ess) = hnf '{ s2exp_srt= s2t, s2exp_node= S2Eextkind (name, s2ess) } // end of [s2exp_extkind_srt] (* ****** ****** *) implement s2exp_at (s2e1, s2e2) = hnf '{ s2exp_srt= s2rt_view, s2exp_node= S2Eat (s2e1, s2e2) } // end of [s2exp_at] implement s2exp_sizeof (s2e) = hnf '{ s2exp_srt= s2rt_int, s2exp_node= S2Esizeof (s2e) } // end of [s2exp_sizeof] (* ****** ****** *) implement s2exp_eff (s2fe) = hnf '{ s2exp_srt= s2rt_eff, s2exp_node= S2Eeff (s2fe) } // end of [s2exp_eff] implement s2exp_eqeq (s2e1, s2e2) = hnf '{ s2exp_srt= s2rt_bool, s2exp_node= S2Eeqeq (s2e1, s2e2) } // end of [s2exp_eqeq] implement s2exp_proj (s2rt, s2te, s2ls) = ( case+ s2ls of | list_cons _ => hnf '{ s2exp_srt= s2rt_addr, s2exp_node= S2Eproj (s2rt, s2te, s2ls) } // end of [list_cons] | list_nil () => s2rt ) // end of [s2exp_proj] (* ****** ****** *) implement s2exp_app_srt (s2t, _fun, _arg) = '{ s2exp_srt= s2t, s2exp_node= S2Eapp (_fun, _arg) } // end of [s2exp_app_srt] implement s2exp_lam (s2vs, s2e_body) = let val s2ts = l2l (list_map_fun (s2vs, s2var_get_srt)) val s2t_fun = s2rt_fun (s2ts, s2e_body.s2exp_srt) in s2exp_lam_srt (s2t_fun, s2vs, s2e_body) end // end of [s2exp_lam] implement s2exp_lam_srt (s2t_fun, s2vs_arg, s2e_body) = '{ s2exp_srt= s2t_fun, s2exp_node= S2Elam (s2vs_arg, s2e_body) } // end of [s2exp_lam_srt] implement s2exp_lamlst ( s2vss, s2e_body ) = case+ s2vss of | list_cons (s2vs, s2vss) => s2exp_lamlst (s2vss, s2exp_lam (s2vs, s2e_body)) | list_nil () => s2e_body // end of [s2exp_lamlst] implement s2exp_fun_srt ( s2t, fc, lin, s2fe, npf, _arg, _res ) = hnf '{ s2exp_srt= s2t, s2exp_node= S2Efun (fc, lin, s2fe, npf, _arg, _res) } // end of [s2exp_fun_srt] implement s2exp_metfun ( opt, s2es_met, s2e_body ) = let val s2t = s2e_body.s2exp_srt in hnf '{ s2exp_srt= s2t , s2exp_node= S2Emetfun (opt, s2es_met, s2e_body) } end // end of [s2exp_metfun] (* ****** ****** *) implement s2exp_metdec ( s2es1, s2es2 ) = hnf '{ s2exp_srt= s2rt_bool, s2exp_node= S2Emetdec (s2es1, s2es2) } // end of [s2exp_metdec] (* ****** ****** *) implement s2exp_cstapp (s2c_fun, s2es_arg) = let val s2t_fun = s2cst_get_srt s2c_fun val s2e_fun = s2exp_cst (s2c_fun) val-S2RTfun (s2ts_arg, s2t_res) = s2t_fun in hnf (s2exp_app_srt (s2t_res, s2e_fun, s2es_arg)) end // end of [s2exp_cstapp] implement s2exp_confun ( npf, s2es_arg, s2e_res ) = hnf '{ s2exp_srt= s2rt_type , s2exp_node= S2Efun ( FUNCLOfun (), 0(*lin*), s2eff_nil, npf, s2es_arg, s2e_res ) // end of [S2Efun] } (* end of [s2exp_confun] *) (* ****** ****** *) implement s2exp_datcontyp (d2c, arg) = let val arity_real = d2con_get_arity_real (d2c) val s2t = ( if arity_real > 0 then s2rt_vtype else s2rt_type ) : s2rt // end of [val] in hnf '{ s2exp_srt= s2t, s2exp_node= S2Edatcontyp (d2c, arg) } end // end of [s2exp_datcontyp] implement s2exp_datconptr (d2c, rt, arg) = let val arity_real = d2con_get_arity_real (d2c) val s2t = ( if arity_real > 0 then s2rt_vtype else s2rt_type ) : s2rt // end of [val] in hnf '{ s2exp_srt= s2t, s2exp_node= S2Edatconptr (d2c, rt, arg) } end // end of [s2exp_datconptr] (* ****** ****** *) implement s2exp_top (knd, s2e) = let // val s2t = s2e.s2exp_srt // val s2t_new = ( if s2rt_is_prf s2t then s2rt_prop else (if s2rt_is_boxed s2t then s2rt_type else s2rt_t0ype) // end of [if] ) : s2rt // end of [val] in s2exp_top_srt (s2t_new, knd, s2e) end // end of [s2exp_top] implement s2exp_top_srt (s2t, knd, s2e) = '{ s2exp_srt= s2t, s2exp_node= S2Etop (knd, s2e) } (* end of [s2exp_top_srt] *) implement s2exp_without (s2e) = '{ s2exp_srt= s2rt_t0ype, s2exp_node= S2Ewithout (s2e) } (* end of [s2exp_without] *) (* ****** ****** *) implement s2exp_tyarr (s2e_elt, dim) = let val s2t = ( if s2exp_is_lin (s2e_elt) then s2rt_vt0ype else s2rt_t0ype ) : s2rt // end of [val in s2exp_tyarr_srt (s2t, s2e_elt, dim) end // end of [s2exp_tyarr] implement s2exp_tyarr_srt (s2t, s2e_elt, dim) = hnf '{ s2exp_srt=s2t, s2exp_node= S2Etyarr (s2e_elt, dim) } // end of [s2exp_tyarr_srt] (* ****** ****** *) implement s2exp_tyrec_srt (s2t, knd, npf, ls2es) = hnf '{ s2exp_srt= s2t, s2exp_node= S2Etyrec (knd, npf, ls2es) } // end of [s2exp_tyrec_srt] (* ****** ****** *) implement s2exp_invar (s2e) = hnf '{ s2exp_srt= s2e.s2exp_srt, s2exp_node= S2Einvar (s2e) } // end of [s2exp_invar] (* ****** ****** *) implement s2exp_refarg (refval, s2e) = '{ s2exp_srt= s2e.s2exp_srt, s2exp_node= S2Erefarg (refval, s2e) } // end of [s2exp_refarg] implement s2exp_vararg (s2e) = hnf '{ s2exp_srt= s2rt_t0ype, s2exp_node= S2Evararg (s2e) } // end of [s2exp_vararg] (* ****** ****** *) implement s2exp_exi ( s2vs, s2ps, s2f ) = case+ (s2vs, s2ps) of | (list_nil (), list_nil ()) => s2f | (_, _) => hnf '{ s2exp_srt= s2f.s2exp_srt, s2exp_node= S2Eexi (s2vs, s2ps, s2f) } // end of [s2exp_exi] // end of [s2exp_exi] implement s2exp_uni ( s2vs, s2ps, s2f ) = case+ (s2vs, s2ps) of | (list_nil (), list_nil ()) => s2f | (_, _) => hnf '{ s2exp_srt= s2f.s2exp_srt, s2exp_node= S2Euni (s2vs, s2ps, s2f) } // end of [s2exp_uni] // end of [s2exp_uni] implement s2exp_exiuni (knd, s2vs, s2ps, s2e) = if knd = 0 then s2exp_exi (s2vs, s2ps, s2e) else s2exp_uni (s2vs, s2ps, s2e) (* end of [if] *) // end of [s2exp_exiuni] implement uns2exp_exiuni ( knd, s2f, s2vs, s2ps, scope ) = case+ s2f.s2exp_node of | S2Eexi (s2vs1, s2ps1, s2e1) when knd = 0 => (s2vs := s2vs1; s2ps := s2ps1; scope := s2e1; true) | S2Euni (s2vs1, s2ps1, s2e1) when knd = 1 => (s2vs := s2vs1; s2ps := s2ps1; scope := s2e1; true) | _ => let val () = s2vs := list_nil and () = s2ps := list_nil val () = scope := s2f // dummy value in false end // end of [_] // end of [uns2exp_exiuni] (* ****** ****** *) implement s2exp_unis (s2qs, s2f) = case+ s2qs of | list_nil () => s2f | list_cons (s2q, s2qs) => ( s2exp_uni (s2q.s2qua_svs, s2q.s2qua_sps, s2exp_unis (s2qs, s2f)) ) // end of [list_cons] // end of [s2exp_unis] (* ****** ****** *) implement s2exp_wthtype (s2e, wths2es) = '{ s2exp_srt= s2e.s2exp_srt, s2exp_node= S2Ewthtype (s2e, wths2es) } // end of [s2exp_wthtype] (* ****** ****** *) implement s2exp_err (s2t) = '{ s2exp_srt= s2t, s2exp_node= S2Eerr () } // end of [s2exp_err] implement s2exp_s2rt_err () = s2exp_err (s2rt_err ()) implement s2exp_t0ype_err () = s2exp_err (s2rt_t0ype) (* ****** ****** *) implement s2exp_refeq (s2e1, s2e2) = ( $UN.cast2ptr (s2e1) = $UN.cast2ptr (s2e2) ) // end of [s2exp_refeq] (* ****** ****** *) implement s2exp_is_prf (s2e) = s2rt_is_prf (s2e.s2exp_srt) // end of [s2exp_is_prf] implement s2exp_is_nonprf (s2e) = not (s2exp_is_prf (s2e)) implement s2exp_is_lin (s2e) = s2rt_is_lin (s2e.s2exp_srt) // end of [s2exp_is_lin] implement s2exp_is_nonlin (s2e) = not (s2exp_is_lin (s2e)) implement s2exp_is_boxed (s2e) = s2rt_is_boxed (s2e.s2exp_srt) // end of [s2exp_is_boxed] (* ****** ****** *) implement s2exp_is_prgm (s2e) = s2rt_is_prgm (s2e.s2exp_srt) // end of [s2exp_is_prgm] implement s2exp_is_impred (s2e) = s2rt_is_impred (s2e.s2exp_srt) // end of [s2exp_is_impred] (* ****** ****** *) implement s2exp_is_FUNCLOfun (s2e0) = let // fun aux (s2e0: s2exp): bool = ( case+ s2e0.s2exp_node of | S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) => ( case+ fc of FUNCLOfun () => true | _ => false ) | S2Euni (_, _, s2e) => aux (s2e) | S2Eexi (_, _, s2e) => aux (s2e) | S2Emetfun (_, _, s2e) => aux (s2e) | _ => false ) (* end of [aux] *) // in aux (s2e0) end // end of [s2exp_is_FUNCLOfun] (* ****** ****** *) implement s2eff_nil = S2EFFset ($EFF.effset_nil) implement s2eff_all = S2EFFset ($EFF.effset_all) implement s2eff_effset (efs) = S2EFFset (efs) implement s2eff_var (s2v) = let val s2e = s2exp_var (s2v) in S2EFFexp (s2e) end // end of [s2eff_var] implement s2eff_exp (s2e) = S2EFFexp (s2e) implement s2eff_add (s2fe1, s2fe2) = ( case+ (s2fe1, s2fe2) of | (S2EFFset (efs1), _) when effset_isnil efs1 => s2fe2 | (_, S2EFFset (efs2)) when effset_isnil efs2 => s2fe1 | (S2EFFset (efs1), _) when effset_isall efs1 => s2eff_all | (_, S2EFFset (efs2)) when effset_isall efs2 => s2eff_all | (S2EFFset efs1, S2EFFset efs2) => let val efs = $EFF.effset_union (efs1, efs2) in s2eff_effset (efs) end // end of [S2EFFset, S2EFFset] | (_, _) => S2EFFadd (s2fe1, s2fe2) ) // end of [s2eff_add] (* ****** ****** *) implement s2exparg_one (loc) = '{ s2exparg_loc= loc, s2exparg_node= S2EXPARGone () } implement s2exparg_all (loc) = '{ s2exparg_loc= loc, s2exparg_node= S2EXPARGall () } implement s2exparg_seq (loc, s2fs) = '{ s2exparg_loc= loc, s2exparg_node= S2EXPARGseq (s2fs) } (* end of [s2exparg_seq] *) (* ****** ****** *) implement t2mpmarg_make (loc, s2fs) = '{ t2mpmarg_loc= loc, t2mpmarg_arg= s2fs } (* end of [t2mpmarg_make] *) (* ****** ****** *) implement s2tavar_make (loc, s2v) = '{ s2tavar_loc= loc, s2tavar_var= s2v } (* end of [s2tavar_make] *) implement s2aspdec_make (loc, s2c, def) = '{ s2aspdec_loc= loc, s2aspdec_cst= s2c, s2aspdec_def= def } (* end of [s2aspdec_make] *) (* ****** ****** *) implement synentlst_app (xs, env, app) = ( case+ xs of | list_nil () => () | list_cons (x, xs) => (app (x, env); synentlst_app (xs, env, app)) // end of [list_cons] ) (* end of [synentlst_app] *) (* ****** ****** *) (* end of [pats_staexp2.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp.dats0000664000175000017500000004642212655455557016542 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) // implement hifundec_get_funlabopt (hfd) = $UN.cast{funlabopt}(hfd.hifundec_funlab) implement hifundec_set_funlabopt (hfd, opt) = $UN.ptrset (hifundec_getref_funlabopt (hfd), opt) // (* ****** ****** *) // implement hiimpdec_get_funlabopt (imp) = $UN.cast{funlabopt}(imp.hiimpdec_funlab) implement hiimpdec_set_funlabopt (imp, opt) = $UN.ptrset (hiimpdec_getref_funlabopt (imp), opt) // (* ****** ****** *) // implement hiimpdec_get_instrlstopt (imp) = $UN.cast{instrlstopt}(imp.hiimpdec_instrlst) implement hiimpdec_set_instrlstopt (imp, opt) = $UN.ptrset (hiimpdec_getref_instrlstopt (imp), opt) // (* ****** ****** *) extern fun primdec_make_node ( loc: loc_t, node: primdec_node ) : primdec // end-of-function implement primdec_make_node (loc, node) = '{ primdec_loc= loc, primdec_node= node } // end of [primdec_make_node] (* ****** ****** *) implement primdec_none (loc) = primdec_make_node (loc, PMDnone ()) // end of [primdec_none] (* ****** ****** *) implement primdec_list (loc, pmds) = primdec_make_node (loc, PMDlist (pmds)) // end of [primdec_list] (* ****** ****** *) implement primdec_saspdec (loc, d2c) = primdec_make_node (loc, PMDsaspdec (d2c)) // end of [primdec_saspdec] (* ****** ****** *) implement primdec_extvar (loc, name, inss) = primdec_make_node (loc, PMDextvar (name, inss)) // end of [primdec_extvar] (* ****** ****** *) implement primdec_datdecs (loc, s2cs) = primdec_make_node (loc, PMDdatdecs (s2cs)) implement primdec_exndecs (loc, d2cs) = primdec_make_node (loc, PMDexndecs (d2cs)) (* ****** ****** *) implement primdec_impdec (loc, impdec) = primdec_make_node (loc, PMDimpdec (impdec)) // end of [primdec_impdec] (* ****** ****** *) implement primdec_fundecs (loc, knd, decarg, hfds) = primdec_make_node (loc, PMDfundecs (knd, decarg, hfds)) // end of [primdec_fundecs] (* ****** ****** *) implement primdec_valdecs (loc, knd, hvds, inss) = primdec_make_node (loc, PMDvaldecs (knd, hvds, inss)) implement primdec_valdecs_rec (loc, knd, hvds, inss) = primdec_make_node (loc, PMDvaldecs_rec (knd, hvds, inss)) (* ****** ****** *) // implement primdec_vardecs (loc, hvds, inss) = primdec_make_node (loc, PMDvardecs (hvds, inss)) // (* ****** ****** *) // implement primdec_include (loc, knd, pmds) = primdec_make_node (loc, PMDinclude (knd, pmds)) // (* ****** ****** *) // implement primdec_staload (loc, hid) = primdec_make_node (loc, PMDstaload (hid)) // implement primdec_staloadloc ( loc, pfil, nspace, hids ) = primdec_make_node (loc, PMDstaloadloc (pfil, nspace, hids)) // implement primdec_dynload (loc, hid) = primdec_make_node (loc, PMDdynload (hid)) // (* ****** ****** *) implement primdec_local (loc, _head, _body) = primdec_make_node (loc, PMDlocal (_head, _body)) // end of [primdec_local] (* ****** ****** *) extern fun primval_make_node (loc: loc_t, hse: hisexp, node: primval_node): primval implement primval_make_node (loc, hse, node) = '{ primval_loc= loc, primval_type= hse, primval_node= node } // end of [primval_make_node] (* ****** ****** *) implement primval_tmp (loc, hse, tmp) = primval_make_node (loc, hse, PMVtmp (tmp)) // end of [primval_tmp] implement primval_tmpref (loc, hse, tmp) = primval_make_node (loc, hse, PMVtmpref (tmp)) // end of [primval_tmpref] (* ****** ****** *) // implement primval_arg (loc, hse, narg) = primval_make_node (loc, hse, PMVarg (narg)) implement primval_argref (loc, hse, narg) = primval_make_node (loc, hse, PMVargref (narg)) implement primval_argtmpref (loc, hse, narg) = primval_make_node (loc, hse, PMVargtmpref (narg)) // implement primval_argenv (loc, hse, nenv) = primval_make_node (loc, hse, PMVargenv (nenv)) // (* ****** ****** *) implement primval_cst (loc, hse, d2c) = primval_make_node (loc, hse, PMVcst (d2c)) // end of [primval_cst] implement primval_env (loc, hse, d2v) = primval_make_node (loc, hse, PMVenv (d2v)) // end of [primval_env] (* ****** ****** *) implement primval_int (loc, hse, i) = primval_make_node (loc, hse, PMVint (i)) // end of [primval_int] implement primval_intrep (loc, hse, rep) = primval_make_node (loc, hse, PMVintrep (rep)) // end of [primval_intrep] (* ****** ****** *) implement primval_bool (loc, hse, b) = primval_make_node (loc, hse, PMVbool (b)) // end of [primval_bool] implement primval_char (loc, hse, c) = primval_make_node (loc, hse, PMVchar (c)) // end of [primval_char] implement primval_float (loc, hse, f) = primval_make_node (loc, hse, PMVfloat (f)) // end of [primval_float] implement primval_string (loc, hse, str) = primval_make_node (loc, hse, PMVstring (str)) // end of [primval_string] (* ****** ****** *) implement primval_i0nt (loc, hse, x) = primval_make_node (loc, hse, PMVi0nt (x)) // end of [primval_i0nt] implement primval_f0loat (loc, hse, x) = primval_make_node (loc, hse, PMVf0loat (x)) // end of [primval_f0loat] (* ****** ****** *) implement primval_sizeof (loc, hse, hselt) = primval_make_node (loc, hse, PMVsizeof (hselt)) // end of [primval_sizeof] (* ****** ****** *) implement primval_cstsp (loc, hse, cstsp) = primval_make_node (loc, hse, PMVcstsp (cstsp)) // end of [primval_cstsp] (* ****** ****** *) implement primval_top (loc, hse) = primval_make_node (loc, hse, PMVtop ()) // end of [primval_top] implement primval_empty (loc, hse) = primval_make_node (loc, hse, PMVempty ()) // end of [primval_empty] (* ****** ****** *) implement primval_extval (loc, hse, name) = primval_make_node (loc, hse, PMVextval (name)) // end of [primval_extval] (* ****** ****** *) implement primval_castfn (loc, hse, d2c, arg) = primval_make_node (loc, hse, PMVcastfn (d2c, arg)) // end of [primval_castfn] (* ****** ****** *) implement primval_selcon (loc, hse, pmv, hse_sum, lab) = primval_make_node (loc, hse, PMVselcon (pmv, hse_sum, lab)) // end of [primval_selcon] (* ****** ****** *) implement primval_select (loc, hse, pmv, hse_rt, pml) = primval_make_node (loc, hse, PMVselect (pmv, hse_rt, pml)) // end of [primval_select] implement primval_select2 (loc, hse, pmv, hse_rt, pmls) = primval_make_node (loc, hse, PMVselect2 (pmv, hse_rt, pmls)) // end of [primval_select2] (* ****** ****** *) implement primval_selptr (loc, hse, pmv, hse_rt, pmls) = primval_make_node (loc, hse, PMVselptr (pmv, hse_rt, pmls)) // end of [primval_selptr] (* ****** ****** *) implement primval_ptrof (loc, hse, pmv) = primval_make_node (loc, hse, PMVptrof (pmv)) // end of [primval_ptrof] implement primval_ptrofsel ( loc, hse, pmv, hse_rt, pmls ) = primval_make_node (loc, hse, PMVptrofsel (pmv, hse_rt, pmls)) // end of [primval_ptrofsel] (* ****** ****** *) implement primval_refarg (loc, hse, knd, freeknd, pmv) = primval_make_node (loc, hse, PMVrefarg (knd, freeknd, pmv)) // end of [primval_refarg] (* ****** ****** *) implement primval_funlab (loc, hse, fl) = primval_make_node (loc, hse, PMVfunlab (fl)) // end of [primval_funlab] implement primval_cfunlab (loc, hse, knd, fl) = primval_make_node (loc, hse, PMVcfunlab (knd, fl)) // end of [primval_cfunlab] (* ****** ****** *) implement primval_d2vfunlab (loc, hse, d2v, fl) = primval_make_node (loc, hse, PMVd2vfunlab (d2v, fl)) // end of [primval_d2vfunlab] (* ****** ****** *) implement primval_lamfix (knd, pmv_funval) = let // val loc = pmv_funval.primval_loc val hse = pmv_funval.primval_type // in primval_make_node (loc, hse, PMVlamfix (knd, pmv_funval)) end // end of [primval_lamfix] (* ****** ****** *) implement primval_tmpltcst (loc, hse, d2c, t2mas) = primval_make_node (loc, hse, PMVtmpltcst (d2c, t2mas)) // end of [primval_tmpltcst] implement primval_tmpltvar (loc, hse, d2v, t2mas) = primval_make_node (loc, hse, PMVtmpltvar (d2v, t2mas)) // end of [primval_tmpltvar] (* ****** ****** *) implement primval_tmpltcstmat (loc, hse, d2c, t2mas, mat) = primval_make_node (loc, hse, PMVtmpltcstmat (d2c, t2mas, mat)) // end of [primval_tmpltcstmat] implement primval_tmpltvarmat (loc, hse, d2v, t2mas, mat) = primval_make_node (loc, hse, PMVtmpltvarmat (d2v, t2mas, mat)) // end of [primval_tmpltvarmat] (* ****** ****** *) implement primval_error (loc, hse) = primval_make_node (loc, hse, PMVerror((*error*))) // end of [primval_error] (* ****** ****** *) implement primval_make_sizeof (loc, s2elt) = let val hse = hisexp_size_t0ype () in primval_sizeof (loc, hse, s2elt) end // end of [primval_make_sizeof] (* ****** ****** *) implement primval_make_tmp (loc, tmp) = let val hse = tmpvar_get_type (tmp) in primval_tmp (loc, hse, tmp) end // end of [primval_make_tmp] implement primval_make_tmpref (loc, tmp) = let val hse = tmpvar_get_type (tmp) in primval_tmpref (loc, hse, tmp) end // end of [primval_make_tmpref] (* ****** ****** *) implement primval_make_ptrofsel ( loc, pmv, hse_rt, pmls ) = let val hse_ptr = hisexp_typtr val hse_undef = hisexp_undefined // HX: a place holder val pmv_sel = primval_selptr (loc, hse_undef, pmv, hse_rt, pmls) in primval_ptrof (loc, hse_ptr, pmv_sel) end // end of [primval_make_ptrofsel] (* ****** ****** *) implement ibranch_make (loc, inss) = '{ ibranch_loc= loc, ibranch_inslst= inss } // end of [ibranch_make] (* ****** ****** *) implement primlab_is_lab (pml) = case+ pml.primlab_node of | PMLlab _ => true | PMLind _ => false // end of [primlab_is_lab] implement primlab_is_ind (pml) = case+ pml.primlab_node of | PMLlab _ => false | PMLind _ => true // end of [primlab_is_ind] (* ****** ****** *) implement primlab_lab (loc, lab) = '{ primlab_loc= loc, primlab_node= PMLlab (lab) } // end of [primlab_lab] implement primlab_ind (loc, ind) = '{ primlab_loc= loc, primlab_node= PMLind (ind) } // end of [primlab_ind] (* ****** ****** *) extern fun instr_make_node ( loc: loc_t, node: instr_node ) : instr // end-of-function implement instr_make_node (loc, node) = '{ instr_loc= loc, instr_node= node } // end of [instr_make_node] (* ****** ****** *) implement instr_funlab (loc, fl) = instr_make_node (loc, INSfunlab (fl)) // end of [instr_funlab] (* ****** ****** *) implement instr_tmplab (loc, tl) = instr_make_node (loc, INStmplab (tl)) // end of [instr_tmplab] (* ****** ****** *) implement instr_comment (loc, str) = instr_make_node (loc, INScomment (str)) // end of [instr_comment] (* ****** ****** *) implement instr_move_val (loc, tmp, pmv) = instr_make_node (loc, INSmove_val (tmp, pmv)) // end of [instr_move_val] implement instr_pmove_val (loc, tmp, pmv) = instr_make_node (loc, INSpmove_val (tmp, pmv)) // end of [instr_pmove_val] (* ****** ****** *) implement instr_move_arg_val (loc, arg, pmv) = instr_make_node (loc, INSmove_arg_val (arg, pmv)) // end of [instr_move_arg_val] (* ****** ****** *) implement instr_fcall ( loc, tmpret, hde_fun, hse_fun, hdes_arg ) = instr_make_node (loc, INSfcall (tmpret, hde_fun, hse_fun, hdes_arg)) // end of [instr_fcall] implement instr_fcall2 ( loc, tmpret, flab, ntl ,hse_fun, hdes_arg ) = instr_make_node (loc, INSfcall2 (tmpret, flab, ntl, hse_fun, hdes_arg)) // end of [instr_fcall2] (* ****** ****** *) implement instr_extfcall (loc, tmpret, _fun, _arg) = instr_make_node(loc, INSextfcall (tmpret, _fun, _arg)) // end of [instr_extfcall] implement instr_extmcall (loc, tmpret, _obj, _mtd, _arg) = instr_make_node(loc, INSextmcall (tmpret, _obj, _mtd, _arg)) // end of [instr_extmcall] (* ****** ****** *) implement instr_cond (loc, _cond, _then, _else) = instr_make_node (loc, INScond (_cond, _then, _else)) // end of [instr_cond] (* ****** ****** *) implement instr_freecon (loc, pmv) = instr_make_node (loc, INSfreecon (pmv)) // end of [instr_freecon] (* ****** ****** *) implement instr_loop ( loc, tlab_init, tlab_fini, tlab_cont , inss_init, pmv_test, inss_test, inss_post, inss_body ) = let // val node = INSloop ( tlab_init, tlab_fini, tlab_cont , inss_init, pmv_test, inss_test, inss_post, inss_body ) // in instr_make_node (loc, node) end // end of [instr_loop] implement instr_loopexn ( loc, knd, tlab ) = instr_make_node (loc, INSloopexn (knd, tlab)) (* ****** ****** *) implement instr_caseof (loc, xs) = instr_make_node (loc, INScaseof (xs)) // end of [instr_caseof] (* ****** ****** *) implement instr_letpop (loc) = instr_make_node (loc, INSletpop ()) // end of [instr_letpop] implement instr_letpush (loc, pmds) = instr_make_node (loc, INSletpush (pmds)) // end of [instr_letpush] (* ****** ****** *) implement instr_move_con ( loc, tmpret, d2c, hse_sum, _arg ) = instr_make_node (loc, INSmove_con (tmpret, d2c, hse_sum, _arg)) // end of [instr_move_con] (* ****** ****** *) implement instr_move_ref (loc, tmpret, pmv) = instr_make_node (loc, INSmove_ref (tmpret, pmv)) // end of [instr_move_ref] (* ****** ****** *) implement instr_move_boxrec ( loc, tmpret, lpmvs, hse_rec ) = instr_make_node (loc, INSmove_boxrec (tmpret, lpmvs, hse_rec)) // end of [instr_move_boxrec] implement instr_move_fltrec ( loc, tmpret, lpmvs, hse_rec ) = instr_make_node (loc, INSmove_fltrec (tmpret, lpmvs, hse_rec)) // end of [instr_move_fltrec] implement instr_move_fltrec2 ( loc, tmpret, lpmvs, hse_rec ) = let in // case+ hse_rec.hisexp_node of | HSEtyrecsin (lhse) => let val-list_cons (lpmv, _) = lpmvs val+LABPRIMVAL (lab, pmv) = lpmv in instr_move_val (loc, tmpret, pmv) end // end of [HSEtyrecsin] | _ => instr_move_fltrec (loc, tmpret, lpmvs, hse_rec) // end // end of [instr_move_fltrec2] (* ****** ****** *) implement instr_patck (loc, pmv, ptck, ptcknt) = instr_make_node (loc, INSpatck (pmv, ptck, ptcknt)) // end of [instr_patck] (* ****** ****** *) implement instr_move_selcon ( loc, tmp, hse, pmv, hse_sum, lab ) = let val pmv_sel = primval_selcon (loc, hse, pmv, hse_sum, lab) in instr_move_val (loc, tmp, pmv_sel) end // end of [instr_selcon] implement instr_move_select ( loc, tmp, hse, pmv, hse_rt, pml ) = let val pmv_sel = primval_select (loc, hse, pmv, hse_rt, pml) in instr_move_val (loc, tmp, pmv_sel) end // end of [instr_select] implement instr_move_select2 ( loc, tmp, hse, pmv, hse_rt, pmls ) = let val pmv_sel = primval_select2 (loc, hse, pmv, hse_rt, pmls) in instr_move_val (loc, tmp, pmv_sel) end // end of [instr_select2] (* ****** ****** *) implement instr_move_ptrofsel ( loc, tmp, pmv, hse_rt, hils ) = let // val ins = INSmove_ptrofsel (tmp, pmv, hse_rt, hils) // in instr_make_node (loc, ins) end // end of [instr_move_ptrofsel] (* ****** ****** *) (* implement instr_load_ptrofs (loc, tmp, pmv, hse_rt, pmls) = instr_make_node (loc, INSload_ptrofs (tmp, pmv, hse_rt, pmls)) // end of [instr_load_ptrofs] *) (* ****** ****** *) implement instr_store_ptrofs ( loc, pmv_l, hse_rt, ofs, pmv_r ) = let // val ins = INSstore_ptrofs (pmv_l, hse_rt, ofs, pmv_r) // in instr_make_node (loc, ins) end // end of [instr_store_ptrofs] implement instr_xstore_ptrofs ( loc, tmp, pmv_l, hse_rt, ofs, pmv_r ) = let // val ins = INSxstore_ptrofs (tmp, pmv_l, hse_rt, ofs, pmv_r) // in instr_make_node (loc, ins) end // end of [instr_xstore_ptrofs] (* ****** ****** *) implement instr_raise (loc, tmp, pmv_exn) = instr_make_node (loc, INSraise (tmp, pmv_exn)) // end of [instr_raise] (* ****** ****** *) implement instr_move_delay (loc, tmp, lin, hse, thunk) = let in instr_make_node (loc, INSmove_delay (tmp, lin, hse, thunk)) end // end of [instr_move_delay] implement instr_move_lazyeval (loc, tmp, lin, hse, pmv_lazy) = let in instr_make_node (loc, INSmove_lazyeval (tmp, lin, hse, pmv_lazy)) end // end of [instr_move_lazyeval] (* ****** ****** *) implement instr_trywith (loc, tmp, _try, _with) = let in instr_make_node (loc, INStrywith (tmp, _try, _with)) end // end of [instr_trywith] (* ****** ****** *) implement instr_move_list_nil (loc, tmp) = instr_make_node (loc, INSmove_list_nil (tmp)) // end of [instr_move_list_nil] implement instr_pmove_list_nil (loc, tmp) = instr_make_node (loc, INSpmove_list_nil (tmp)) // end of [instr_pmove_list_nil] implement instr_pmove_list_cons (loc, tmp, hse_elt) = instr_make_node (loc, INSpmove_list_cons (tmp, hse_elt)) // end of [instr_pmove_list_cons] (* ****** ****** *) implement instr_move_list_phead (loc, tmphd, tmptl, hse_elt) = instr_make_node (loc, INSmove_list_phead (tmphd, tmptl, hse_elt)) // end of [instr_move_list_phead] implement instr_move_list_ptail (loc, tl_new, tl_old, hse_elt) = instr_make_node (loc, INSmove_list_ptail (tl_new, tl_old, hse_elt)) // end of [instr_move_list_ptail] (* ****** ****** *) implement instr_move_arrpsz_ptr (loc, tmp, psz) = instr_make_node (loc, INSmove_arrpsz_ptr (tmp, psz)) // end of [instr_move_arrpsz_ptr] (* ****** ****** *) implement instr_store_arrpsz_asz (loc, tmp, asz) = instr_make_node (loc, INSstore_arrpsz_asz (tmp, asz)) // end of [instr_store_arrpsz_asz] implement instr_store_arrpsz_ptr (loc, tmp, hse_elt, asz) = instr_make_node (loc, INSstore_arrpsz_ptr (tmp, hse_elt, asz)) // end of [instr_store_arrpsz_ptr] (* ****** ****** *) implement instr_update_ptrinc (loc, tmpelt, hse_elt) = instr_make_node (loc, INSupdate_ptrinc (tmpelt, hse_elt)) // end of [instr_update_ptrinc] implement instr_update_ptrdec (loc, tmpelt, hse_elt) = instr_make_node (loc, INSupdate_ptrdec (tmpelt, hse_elt)) // end of [instr_update_ptrdec] (* ****** ****** *) // implement instr_closure_initize (loc, tmpret, flab) = instr_make_node (loc, INSclosure_initize (tmpret, flab)) // (* ****** ****** *) implement instr_tmpdec (loc, tmp) = instr_make_node (loc, INStmpdec (tmp)) // end of [instr_tmpdec] (* ****** ****** *) implement instr_extvar (loc, xnm, pmv) = instr_make_node (loc, INSextvar (xnm, pmv)) // end of [instr_extvar] (* ****** ****** *) implement instr_dcstdef (loc, d2c, pmv) = instr_make_node (loc, INSdcstdef (d2c, pmv)) // end of [instr_dcstdef] (* ****** ****** *) (* end of [pats_ccomp.dats] *) ATS2-Postiats-0.2.6/./src/pats_symmap.dats0000664000175000017500000000370612655455557016745 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) #define SYMMAP_AVLTREE 1 #define SYMMAP_HTLINPRB 0 (* ****** ****** *) #assert(SYMMAP_AVLTREE >= 0) #assert(SYMMAP_AVLTREE <= 1) (* ****** ****** *) #assert(SYMMAP_HTLINPRB >= 0) #assert(SYMMAP_HTLINPRB <= 1) (* ****** ****** *) #assert(SYMMAP_AVLTREE+SYMMAP_HTLINPRB==1) (* ****** ****** *) #if(SYMMAP_AVLTREE) #include "./pats_symmap_avltree.hats" #endif // end of [SYMMAP_AVLTREE] (* ****** ****** *) #if(SYMMAP_HTLINPRB) #include "./pats_symmap_htlinprb.hats" // HX: hashtable for experiment #endif // end of [SYMMAP_HTLINPRB] (* ****** ****** *) (* end of [pats_symmap.dats] *) ATS2-Postiats-0.2.6/./src/pats_lexing.cats0000664000175000017500000000375212655455557016725 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_LEXING_CATS #define POSTIATS_SRC_PATS_LEXING_CATS /* ****** ****** */ typedef struct { // ats_empty_type empty ; // ats_lint_type sta_ntot ; /* ats_int_type sta_nlin ; ats_int_type sta_noff ; */ // ats_lint_type cur_ntot ; /* ats_int_type cur_nlin ; ats_int_type cur_noff ; */ // ats_int_type cur_char ; // ats_int_type leading_space ; // ats_uint_type nchr ; ats_ptr_type charbuf ; // queueref (char) // ats_ptr_type getchar ; // () - int // } pats_lexstate_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_LEXING_CATS] /* ****** ****** */ /* end of [pats_lexing.cats] */ ATS2-Postiats-0.2.6/./src/pats_staexp2_szexp.dats0000664000175000017500000003562312655455557020261 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: December, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_staexp2_szexp" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) extern fun fprint_labs2zexp : fprint_type (labs2zexp) implement fprint_s2zexp (out, x) = let macdef prstr (x) = fprint_string (out, ,(x)) in // case+ x of // | S2ZEprf () => prstr "S2ZEprf()" | S2ZEptr () => prstr "S2ZEptr()" // | S2ZEcst (s2c) => { val () = prstr "S2ZEcst(" val () = fprint_s2cst (out, s2c) val () = prstr ")" } | S2ZEvar (s2v) => { val () = prstr "S2ZEvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // | S2ZEVar (s2V) => { val () = prstr "S2ZE(" val () = fprint_s2Var (out, s2V) val () = prstr ")" } // | S2ZEextype (name, _arg) => { val () = prstr "S2ZEextype(" val () = fprint_string (out, name) val () = prstr ")" } // end of [S2ZEextype] | S2ZEextkind (name, _arg) => { val () = prstr "S2ZEextkind(" val () = fprint_string (out, name) val () = prstr ")" } // end of [S2ZEextkind] // | S2ZEapp (_fun, _arg) => { val () = prstr "S2ZEapp(" val () = fprint_s2zexp (out, _fun) val () = prstr "; " val () = $UT.fprintlst (out, _arg, ", ", fprint_s2zexp) val () = prstr ")" } // end of [S2ZEapp] // | S2ZEtyarr (_elt, _dim) => { val () = prstr "S2ZEtyarr(" val () = fprint_s2zexp (out, _elt) val () = prstr "; " val () = fprint_s2explst (out, _dim) val () = prstr ")" } // end of [S2ZEtyarr] | S2ZEtyrec (knd, ls2zes) => { val () = prstr "S2ZEtyrec(" val () = $UT.fprintlst (out, ls2zes, ", ", fprint_labs2zexp) val () = prstr ")" } // end of [S2ZEtyrec] // | S2ZEclo () => prstr "S2ZEclo()" // | S2ZEbot () => prstr "S2ZEbot()" // end // end of [fprint_s2zexp] implement print_s2zexp (x) = fprint_s2zexp (stdout_ref, x) implement prerr_s2zexp (x) = fprint_s2zexp (stderr_ref, x) implement fprint_labs2zexp (out, x) = let val SZLABELED (l, s2ze) = x val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "=") val () = fprint_s2zexp (out, s2ze) in // nothing end // end of [fprint_labs2zexp] (* ****** ****** *) implement s2zexp_is_bot (x) = case+ x of S2ZEbot () => true | _ => false // end of [s2zexp_is_bot] (* ****** ****** *) extern fun s2zexp_make_s2cst (s2c: s2cst): s2zexp implement s2zexp_make_s2cst (s2c) = S2ZEcst s2c (* ****** ****** *) local absviewtype env extern fun env_make_nil (): env extern fun env_pop (env: &env): void extern fun env_push (env: &env, s2vs: s2varlst): void extern fun env_free (env: env): void extern fun env_find (env: &env, s2v: s2var): bool in // in of [local] local assume env = List_vt (s2varlst) in // in of [local] implement env_make_nil () = list_vt_nil () implement env_pop (env) = case+ env of | ~list_vt_cons (_, xss) => env := xss | _ => () // end of [env_pop] implement env_push (env, s2vs) = env := list_vt_cons (s2vs, env) implement env_free (env) = list_vt_free (env) implement env_find (env, x0) = let fun loop1 (s2vs: s2varlst): bool = case+ s2vs of | list_cons (s2v, s2vs) => if x0 = s2v then true else loop1 (s2vs) | list_nil () => false // end of [loop1] fun loop2 (s2vss: s2varlstlst): bool = case+ s2vss of | list_cons (s2vs, s2vss) => if loop1 (s2vs) then true else loop2 (s2vss) | list_nil () => false // end of [loop2] in loop2 ($UN.castvwtp1 {s2varlstlst} (env)) end // end of [env_find] end // end of [local] (* ****** ****** *) local fun aux_s2exp ( env: &env, s2e0: s2exp ) : s2zexp = let (* val () = ( print "aux_s2exp: s2e0 = "; print_s2exp s2e0; print_newline () ) // end of [val] *) val s2f0 = s2exp_hnfize (s2e0) in // case+ s2f0.s2exp_node of // | S2Ecst (s2c) => let val isabs = s2cst_get_isabs (s2c) in case+ isabs of | Some (Some s2e) => aux_s2exp (env, s2e) | _ => s2zexp_make_s2cst (s2c) end // end of [S2Ecst] // | S2Evar (s2v) => let val isexi = env_find (env, s2v) in if isexi then S2ZEbot () else S2ZEvar (s2v) end // end of [S2Evar] | S2EVar (s2V) => let val s2ze = s2Var_get_szexp (s2V) in s2ze end // end of [S2EVar] // (* | S2Edatconptr _ => S2ZEptr () // boxed | S2Edatcontyp _ => S2ZEptr () // boxed *) | S2Eextype (name, _arg) => S2ZEextype (name, aux_arglstlst (env, _arg)) | S2Eextkind (name, _arg) => S2ZEextkind (name, aux_arglstlst (env, _arg)) // | S2Eapp (s2e_fun, s2es_arg) => aux_s2exp_app (env, s2f0.s2exp_srt, s2e_fun, s2es_arg) // end of [S2Eapp] // | S2Efun _ => S2ZEclo // HX: it is unboxed // | S2Etop (knd, s2e) => aux_s2exp (env, s2e) // | S2Etyarr (_elt, _dim) => let val _elt = aux_s2exp (env, _elt) in S2ZEtyarr (_elt, _dim) end // end of [S2Etyarr] | S2Etyrec (knd, npf, ls2es) => let val ls2zes = aux_labs2explst (env, npf, ls2es) in S2ZEtyrec (knd, ls2zes) end // end of [S2Etyrec] // | S2Eexi ( s2vs, _(*s2ps*), s2e ) => let val () = env_push (env, s2vs) val s2ze = aux_s2exp (env, s2e) val () = env_pop (env) in s2ze end // end of [S2Eexi] | S2Euni ( s2vs, _(*s2ps*), s2e ) => let val () = env_push (env, s2vs) val s2ze = aux_s2exp (env, s2e) val () = env_pop (env) in s2ze end // end of [S2Eexi] // | S2Einvar (s2e) => aux_s2exp (env, s2e) // | S2Evararg _ => S2ZEbot () // | S2Ewthtype (s2e, _) => aux_s2exp (env, s2e) // | _ => S2ZEbot () // HX no available info end // end of [aux_s2exp] and aux_s2exp_app ( env: &env , s2t: s2rt , s2e_fun: s2exp, s2es_arg: s2explst ) : s2zexp = let (* val () = ( print "aux_s2exp_app: s2e_fun = "; print_s2exp s2e_fun; print_newline () ) // end of [val] val () = ( print "aux_s2exp_app: s2es_arg = "; print_s2explst s2es_arg; print_newline () ) // end of [val] *) val s2f_fun = s2exp_hnfize (s2e_fun) in case+ s2f_fun.s2exp_node of | S2Ecst s2c => let val isabs = s2cst_get_isabs (s2c) in case+ isabs of | Some (Some s2e_fun) => let val s2e = s2exp_app_srt (s2t, s2e_fun, s2es_arg) in aux_s2exp (env, s2e) end // end of [Some] | _ => let val s2ze_fun = s2zexp_make_s2cst (s2c) in S2ZEapp (s2ze_fun, aux_arglst (env, s2es_arg)) end // HX: can be incorrect for certain constructors end (* end of [S2Ecst] *) | _ => S2ZEbot () (* HX: really??? *) end // end of [aux_s2exp_app] and aux_arglst ( env: &env, s2es: s2explst ) : s2zexplst = case+ s2es of | list_cons (s2e, s2es) => let val s2t = s2e.s2exp_srt val keep = ( if s2rt_is_prgm (s2t) then true else s2rt_is_tkind (s2t) ) : bool // end of [val] in if keep then list_cons (aux_s2exp (env, s2e), aux_arglst (env, s2es)) else aux_arglst (env, s2es) // HX: non-types are all discarded // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end of [aux_arglst] and aux_arglstlst ( env: &env, s2ess: s2explstlst ) : s2zexplstlst = case+ s2ess of | list_cons (s2es, s2ess) => list_cons (aux_arglst (env, s2es), aux_arglstlst (env, s2ess)) // end of [list_cons] | list_nil () => list_nil () // end of [aux_arglstlst] and aux_labs2explst ( env: &env, npf: int, ls2es: labs2explst ) : labs2zexplst = case+ ls2es of | list_cons (ls2e, ls2es) => if npf > 0 then aux_labs2explst (env, npf-1, ls2es) else let val SLABELED (l, _(*named*), s2e) = ls2e val s2ze = aux_s2exp (env, s2e) val ls2ze = SZLABELED (l, s2ze) in list_cons (ls2ze, aux_labs2explst (env, npf, ls2es)) end (* end of [if] *) // end of [list_cons] | list_nil () => list_nil () // end of [aux_labs2explst] in // in of [local] implement s2zexp_make_s2exp (s2e0) = let val s2t0 = s2e0.s2exp_srt val isprf = s2rt_is_prf (s2t0) in // if isprf then S2ZEprf () // it equals 0 else let val isbox = s2rt_is_boxed (s2t0) in // if isbox then S2ZEptr () // it equals 1 word else let var env = env_make_nil () val s2ze = aux_s2exp (env, s2e0) (* val () = ( print "s2zexp_make_s2exp: s2ze = "; print_s2zexp s2ze; print_newline () ) // end of [val] *) val () = env_free (env) in s2ze end // end of [if] // end // end of [if] // end // end of [s2zexp_make_s2exp] end // end of [local] end // end of [local] (* ****** ****** *) exception S2ZEXPMERGEexn of () extern fun s2zexp_merge_exn (x1: s2zexp, x2: s2zexp): s2zexp // end of [s2zexp_merge_exn] extern fun s2zexplst_merge_exn (xs1: s2zexplst, xs2: s2zexplst): s2zexplst // end of [s2zexplst_merge_exn] extern fun s2zexplstlst_merge_exn (xss1: s2zexplstlst, xss2: s2zexplstlst): s2zexplstlst // end of [s2zexplstlst_merge_exn] extern fun labs2zexplst_merge_exn (lxs1: labs2zexplst, lxs2: labs2zexplst): labs2zexplst // end of [labs2zexplst_merge_exn] (* ****** ****** *) fun s2zexp_linkrem (x: s2zexp): s2zexp = case+ x of | S2ZEVar (s2V) => s2Var_get_szexp (s2V) | _ => x // end of [s2zexp_linkrem] implement s2zexp_merge_exn (x1, x2) = let // fn abort (): s2zexp = $raise S2ZEXPMERGEexn() // val s2ze1 = s2zexp_linkrem (x1) val s2ze2 = s2zexp_linkrem (x2) // (* val () = println! ("s2zexp_merge_exn: s2ze1 = ", s2ze1) val () = println! ("s2zexp_merge_exn: s2ze2 = ", s2ze2) *) // in // case+ (s2ze1, s2ze2) of // | (S2ZEbot (), _) => abort () | (_, S2ZEbot ()) => abort () // | (S2ZEprf (), S2ZEprf ()) => s2ze1 | (S2ZEptr (), S2ZEptr ()) => s2ze1 // | (S2ZEcst s2c1, S2ZEcst s2c2) => if s2c1 = s2c2 then s2ze1 else abort () | (S2ZEvar s2v1, S2ZEvar s2v2) => if s2v1 = s2v2 then s2ze1 else abort () // | (S2ZEVar s2V1, _) => let val () = s2Var_set_szexp (s2V1, s2ze2) in s2ze2 end // end of [S2ZEVar, _] | (_, S2ZEVar s2V2) => let val () = s2Var_set_szexp (s2V2, s2ze1) in s2ze1 end // end of [_, S2ZEVar] // | ( S2ZEextype (name1, _arg1), S2ZEextype (name2, _arg2) ) => if name1 = name2 then let val _arg = s2zexplstlst_merge_exn (_arg1, _arg2) in S2ZEextype (name1, _arg) end else abort () // end of [if] | ( S2ZEextkind (name1, _arg1), S2ZEextkind (name2, _arg2) ) => if name1 = name2 then let val _arg = s2zexplstlst_merge_exn (_arg1, _arg2) in S2ZEextkind (name1, _arg) end else abort () // end of [if] // | (S2ZEapp (s2ze11, s2zes12), S2ZEapp (s2ze21, s2zes22)) => let val s2ze = s2zexp_merge_exn (s2ze11, s2ze21) val s2zes = s2zexplst_merge_exn (s2zes12, s2zes22) in S2ZEapp (s2ze, s2zes) end // | (S2ZEtyarr (elt1, dim1), S2ZEtyarr (elt2, dim2)) => let val elt = s2zexp_merge_exn (elt1, elt2) in if s2explst_syneq (dim1, dim2) then S2ZEtyarr (elt, dim1) else abort () // end of [if] end | (S2ZEtyrec (knd1, ls2zes1), S2ZEtyrec (knd2, ls2zes2)) => if knd1 = knd2 then S2ZEtyrec (knd1, labs2zexplst_merge_exn (ls2zes1, ls2zes2)) else $raise S2ZEXPMERGEexn() // end of [if] // // HX-2012-06: this holds as flat closures | (S2ZEclo (), S2ZEclo ()) => S2ZEclo () // are inmovable // | (_, _) => abort () // end // end of [s2zexp] implement s2zexplst_merge_exn (xs1, xs2) = ( case+ (xs1, xs2) of | (list_cons (x1, xs1), list_cons (x2, xs2)) => let val x12 = s2zexp_merge_exn (x1, x2) in list_cons (x12, s2zexplst_merge_exn (xs1, xs2)) end // end of [cons, cons] | (list_nil (), list_nil ()) => list_nil () | (_, _) => $raise S2ZEXPMERGEexn() ) // end of [s2zexplst_merge_exn] implement s2zexplstlst_merge_exn (xss1, xss2) = ( case+ (xss1, xss2) of | (list_cons (xs1, xss1), list_cons (xs2, xss2)) => let val xs12 = s2zexplst_merge_exn (xs1, xs2) in list_cons (xs12, s2zexplstlst_merge_exn (xss1, xss2)) end // end of [cons, cons] | (list_nil (), list_nil ()) => list_nil () | (_, _) => $raise S2ZEXPMERGEexn() ) // end of [s2zexplstlst_merge_exn] implement labs2zexplst_merge_exn (lxs1, lxs2) = let in case+ (lxs1, lxs2) of | (list_cons (lx1, lxs1), list_cons (lx2, lxs2)) => let val SZLABELED (l1, x1) = lx1 and SZLABELED (l2, x2) = lx2 in if l1 = l2 then let val x12 = s2zexp_merge_exn (x1, x2) val lx = SZLABELED (l1, x12) val lxs = labs2zexplst_merge_exn (lxs1, lxs2) in list_cons (lx, lxs) end else $raise S2ZEXPMERGEexn() // end of [if] end // end of [cons, cons] | (list_nil (), list_nil ()) => list_nil () | (_, _) => $raise S2ZEXPMERGEexn() end // end of [labs2zexplst_ismat_exn] (* ****** ****** *) (* ** HX: this one is declared in [pats_staexp2_util.sats] *) implement s2zexp_merge (x1, x2) = try s2zexp_merge_exn (x1, x2) with ~S2ZEXPMERGEexn () => S2ZEbot () // HX: indication of error! // end of [s2zexp_merge] (* ****** ****** *) implement s2zexp_syneq (x1, x2) = let val x12 = s2zexp_merge (x1, x2) in if s2zexp_is_bot (x12) then false else true end // end of [s2zexp_syneq] (* ****** ****** *) implement s2hnf_tszeq (s2f1, s2f2) = let val s2e1 = s2hnf2exp (s2f1) and s2e2 = s2hnf2exp (s2f2) val x1 = s2zexp_make_s2exp (s2e1) and x2 = s2zexp_make_s2exp (s2e2) in s2zexp_syneq (x1, x2) end // end of [s2hnf_tszeq] implement s2exp_tszeq (s2e1, s2e2) = ( s2hnf_tszeq (s2exp2hnf (s2e1), s2exp2hnf (s2e2)) ) // end of [s2exp_tszeq] (* ****** ****** *) (* end of [pats_staexp2_szexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_patcst2.sats0000664000175000017500000001201312655455557017025 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload "./pats_basics.sats" // (* ****** ****** *) // staload UT = "./pats_utils.sats" // typedef charset = $UT.charset // (* ****** ****** *) // staload INTINF = "./pats_intinf.sats" // typedef intinf = $INTINF.intinf typedef intinfset = $INTINF.intinfset // (* ****** ****** *) staload LAB = "./pats_label.sats" stadef label = $LAB.label (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload STAEXP2 = "./pats_staexp2.sats" typedef d2con = $STAEXP2.d2con staload DYNEXP2 = "./pats_dynexp2.sats" typedef p2at = $DYNEXP2.p2at typedef p2atlst = $DYNEXP2.p2atlst typedef c2lau = $DYNEXP2.c2lau (* ****** ****** *) fun i0nt2intinf (x: $SYN.i0nt): intinf (* ****** ****** *) datatype p2atcst = // | P2TCany of () | P2TCcon of (d2con, p2atcstlst) | P2TCempty of () // | P2TCint of intinf | P2TCintc of intinfset // | P2TCbool of bool // | P2TCchar of char | P2TCcharc of charset // | P2TCfloat of string(*rep*) | P2TCstring of string // | P2TCrec of (int(*reckind*), labp2atcstlst) // end of [p2atcst] and labp2atcst = LABP2ATCST of (label, p2atcst) where p2atcstlst (n:int) = list (p2atcst, n) and p2atcstlst = List (p2atcst) and labp2atcstlst = List (labp2atcst) (* ****** ****** *) fun p2atcst_lst (lin: int, xs: p2atcstlst): p2atcst (* ****** ****** *) viewtypedef p2atcstlst_vt = List_vt (p2atcst) viewtypedef labp2atcstlst_vt = List_vt (labp2atcst) typedef p2atcstlstlst = List (p2atcstlst) typedef labp2atcstlstlst = List (labp2atcstlst) (* ****** ****** *) viewtypedef p2atcstlstlst_vt = List_vt (p2atcstlst_vt) viewtypedef labp2atcstlstlst_vt = List_vt (labp2atcstlst_vt) (* ****** ****** *) fun p2atcstlstlst_vt_free (xss: p2atcstlstlst_vt): void fun p2atcstlstlst_vt_copy (xss: !p2atcstlstlst_vt): p2atcstlstlst_vt (* ****** ****** *) // fun print_p2atcst (x: p2atcst): void and prerr_p2atcst (x: p2atcst): void fun fprint_p2atcst : fprint_type (p2atcst) // overload print with print_p2atcst overload prerr with prerr_p2atcst overload fprint with fprint_p2atcst // (* ****** ****** *) fun print_p2atcstlst (xs: p2atcstlst): void and prerr_p2atcstlst (xs: p2atcstlst): void fun print_p2atcstlst_vt (xs: !p2atcstlst_vt): void and prerr_p2atcstlst_vt (xs: !p2atcstlst_vt): void fun fprint_p2atcstlst : fprint_type (p2atcstlst) fun print_labp2atcstlst (xs: labp2atcstlst): void and prerr_labp2atcstlst (xs: labp2atcstlst): void fun fprint_labp2atcstlst : fprint_type (labp2atcstlst) fun print_p2atcstlstlst (xss: p2atcstlstlst): void and prerr_p2atcstlstlst (xss: p2atcstlstlst): void fun print_p2atcstlstlst_vt (xss: !p2atcstlstlst_vt): void fun prerr_p2atcstlstlst_vt (xss: !p2atcstlstlst_vt): void fun fprint_p2atcstlstlst : fprint_type (p2atcstlstlst) (* ****** ****** *) fun p2at2cst (p2t: p2at): p2atcst fun p2at2cstlst (p2ts: p2atlst): p2atcstlst (* ****** ****** *) fun p2atcst_comp (x: p2atcst): p2atcstlst_vt fun p2atcstlst_comp (xs: p2atcstlst): p2atcstlstlst_vt fun labp2atcstlst_comp (xs: labp2atcstlst): labp2atcstlstlst_vt (* ****** ****** *) // fun c2lau_pat_any (c2l: c2lau): p2atcstlstlst_vt // fun c2lau_pat_comp (c2l: c2lau): p2atcstlstlst_vt // (* ****** ****** *) fun p2atcst_inter_test (x1: p2atcst, x2: p2atcst): bool fun p2atcstlst_inter_test (xs1: p2atcstlst, xs2: p2atcstlst): bool fun labp2atcstlst_inter_test (xs1: labp2atcstlst, xs2: labp2atcstlst): bool (* ****** ****** *) fun p2atcst_diff (x1: p2atcst, x2: p2atcst): p2atcstlst_vt fun p2atcstlst_diff (xs1: p2atcstlst, xs2: p2atcstlst): p2atcstlstlst_vt // end of [p2atcstlst_diff] fun labp2atcstlst_diff (xs1: labp2atcstlst, xs2: labp2atcstlst): labp2atcstlstlst_vt // end of [labp2atcstlst_diff] (* ****** ****** *) (* end of [pats_patcst2.sats] *) ATS2-Postiats-0.2.6/./src/pats_symbol.sats0000664000175000017500000001246412655455557016764 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) abstype symbol_type // boxed typedef symbol = symbol_type typedef symbolist = List (symbol) typedef symbolopt = Option (symbol) (* ****** ****** *) val symbol_empty : symbol (* ****** ****** *) // val symbol_ADD : symbol // + val symbol_SUB : symbol // - val symbol_MUL : symbol // * val symbol_DIV : symbol // / // val symbol_AMPERSAND : symbol // & // read-only val symbol_AMPERBANG : symbol // &! // read-write val symbol_AMPERQMARK : symbol // &? // write-only // val symbol_AT : symbol // @ val symbol_BACKSLASH : symbol // \ val symbol_BANG : symbol // ! val symbol_COLONEQ : symbol // := // assign val symbol_COLONEQCOLON : symbol // :=: // exhange val symbol_FUN: symbol // fun // val symbol_GT : symbol // > val symbol_GTEQ : symbol // >= val symbol_LT : symbol // < val symbol_LTEQ : symbol // <= // val symbol_EQ : symbol // = val symbol_EQEQ : symbol // == val symbol_LTGT : symbol // <> val symbol_BANGEQ : symbol // != // val symbol_GTLT : symbol // >< // val symbol_GTGT : symbol // >> val symbol_LTLT : symbol // << // val symbol_LAND : symbol // && val symbol_LOR : symbol // || val symbol_LRBRACKETS : symbol // [] val symbol_MINUSGT : symbol // -> val symbol_MINUSLTGT : symbol // -<> val symbol_QMARK : symbol // ? val symbol_QMARKBANG : symbol // ?! val symbol_TILDE : symbol // ~ val symbol_UNDERSCORE : symbol // _ // val symbol_VBOX : symbol // for vbox pattern // val symbol_LAMAT : symbol // lam@ val symbol_LLAMAT : symbol // llam@ val symbol_REFAT : symbol // ref@ // (* ****** ****** *) // // HX: for pre-defined predicative sorts // val symbol_INT : symbol val symbol_BOOL : symbol val symbol_ADDR : symbol // (* val symbol_CHAR : symbol *) // val symbol_FLOAT : symbol val symbol_STRING : symbol // val symbol_CLS : symbol // for nominal classes // val symbol_EFF : symbol // for sets of effects // val symbol_TKIND : symbol // HX-2012-05-23: for template args // // HX: for pre-defined impredicative sorts // val symbol_PROP : symbol val symbol_TYPE : symbol val symbol_T0YPE : symbol val symbol_VIEW : symbol val symbol_VTYPE : symbol val symbol_VT0YPE : symbol val symbol_VIEWTYPE : symbol val symbol_VIEWT0YPE : symbol // val symbol_TYPES : symbol // (* ****** ****** *) val symbol_TRUE_BOOL : symbol and symbol_FALSE_BOOL : symbol (* ****** ****** *) val symbol_DEFINED : symbol // defined val symbol_UNDEFINED : symbol // undefined (* ****** ****** *) val symbol_TUPZ : symbol // TUPSIZE // for syndef (* ****** ****** *) val symbol_CAR : symbol // car val symbol_CDR : symbol // mfcdr val symbol_ISLIST : symbol // islist val symbol_ISCONS : symbol // iscons val symbol_ISNIL : symbol // islist (* ****** ****** *) // val symbol__STDIN__ : symbol val symbol__STRING__ : symbol // (* ****** ****** *) val symbol_PATSHOME : symbol val symbol_PATSHOMERELOC : symbol (* ****** ****** *) val symbol_ATSPKGRELOCROOT : symbol (* ****** ****** *) // val symbol_ATS_PACKNAME : symbol // (* // // HX-2014-06-06: // this one is no longer in use // val symbol_ATS_STALOADFLAG : symbol *) val symbol_ATS_DYNLOADFLAG : symbol // val symbol_ATS_DYNLOADNAME : symbol // val symbol_ATS_MAINATSFLAG : symbol // val symbol_ATS_EXTERN_PREFIX : symbol val symbol_ATS_STATIC_PREFIX : symbol // (* ****** ****** *) // fun eq_symbol_symbol (x1: symbol, x2: symbol):<> bool fun neq_symbol_symbol (x1: symbol, x2: symbol):<> bool fun compare_symbol_symbol (x1: symbol, x2: symbol):<> Sgn // overload = with eq_symbol_symbol overload != with eq_symbol_symbol overload compare with compare_symbol_symbol // (* ****** ****** *) // fun print_symbol (x: symbol): void fun prerr_symbol (x: symbol): void // overload print with print_symbol overload prerr with prerr_symbol // fun fprint_symbol (out: FILEref, x: symbol): void fun fprint_symbolopt (out: FILEref, opt: symbolopt): void // (* ****** ****** *) fun symbol_get_name (x: symbol):<> string fun symbol_get_stamp (x: symbol):<> uint (* ****** ****** *) fun symbol_make_string (name: string): symbol (* ****** ****** *) (* end of [pats_symbol.sats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_claulst.dats0000664000175000017500000011151712655455557020267 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> ((*void*)) = prerr "pats_ccomp_claulst" // (* ****** ****** *) // staload LAB = "./pats_label.sats" staload LOC = "./pats_location.sats" // staload SYN = "./pats_syntax.sats" // overload compare with $LAB.compare_label_label // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload P2TC = "./pats_patcst2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) (* extern fun tmprimval_make_none (pmv: primval): tmprimval extern fun tmprimval_make_some (pmv: primval): tmprimval // implement tmprimval_make_none (pmv) = TPMVnone (pmv) implement tmprimval_make_some (pmv) = let val loc = pmv.primval_loc val hse = pmv.primval_type val tmp = tmpvar_make (loc, hse) in TPMVsome (tmp, pmv) end // end of [tmprimval_make_some] *) (* ****** ****** *) // extern fun tmprimval2pmv (tpmv: tmprimval): primval extern fun tmprimval2pmv2 (tpmv: tmprimval, d2v: d2var): primval // (* ****** ****** *) implement tmprimval2pmv (tpmv) = let in // case+ tpmv of | TPMVnone (pmv) => pmv | TPMVsome (tmp, _) => let val loc = tmpvar_get_loc (tmp) in primval_make_tmp (loc, tmp) end // end of [TPMVsome] // end // end of [tmprimval2pmv] (* ****** ****** *) implement tmprimval2pmv2 (tpmv, d2v) = let // fun ptrof (pmv: primval): primval = primval_ptrof (pmv.primval_loc, hisexp_typtr, pmv) // val ismut = d2var_is_mutabl (d2v) // in // case+ tpmv of | TPMVnone (pmv) => if ismut then ptrof (pmv) else pmv | TPMVsome (tmp, pmv) => ( if ismut then ptrof (pmv) else let val loc = tmpvar_get_loc (tmp) in primval_make_tmp (loc, tmp) // end of [val] end // end of [if] ) // end of [TPMVsome] // end // end of [tmprimval2pmv2] (* ****** ****** *) implement fprint_tmprimval (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of | TPMVnone (pmv) => { val () = prstr "TPMVnone(" val () = fprint_primval (out, pmv) val () = prstr ")" } | TPMVsome (tmp, pmv) => { val () = prstr "TPMVsome(" val () = fprint_tmpvar (out, tmp) val () = prstr "<-" val () = fprint_primval (out, pmv) val () = prstr ")" } // end // end of [fprint_tmprimval] (* ****** ****** *) extern fun tmpmovlst_add ( tmvlst: &tmpmovlst_vt , tpmv1: tmprimval, tpmv2: tmprimval ) : void // end of [tmpmovlst_add] (* ****** ****** *) implement tmpmovlst_add (tmvlst, tpmv1, tpmv2) = let // (* val out = stdout_ref val () = fprintln! (out, "tmpmovlst_add: tpmv1 = ", tpmv1) val () = fprintln! (out, "tmpmovlst_add: tpmv2 = ", tpmv2) *) // in // case+ tpmv2 of | TPMVnone _ => () | TPMVsome (tmp2, _) => ( tmvlst := list_vt_cons ((tpmv1, tmp2), tmvlst) ) end // end of [tmpmovlst_add] (* ****** ****** *) datatype matoken = | MTKpat of (hipat, tmprimval) | MTKlabpat of (label, hipat, tmprimval) | MTKrparen of () // end of [matoken] typedef matokenlst = List (matoken) (* ****** ****** *) (* extern fun fprint_matoken (out: FILEref, x: matoken): void extern fun fprint_matokenlst (out: FILEref, xs: matokenlst): void *) (* ****** ****** *) typedef patckontref = ref (patckont) (* ****** ****** *) // extern fun patckontref_make (): patckontref // implement patckontref_make () = ref_make_elt (PTCKNTnone) // (* ****** ****** *) datatype patcomp = // | PTCMPany of (d2var) | PTCMPvar of (d2var, tmprimval) | PTCMPasvar of (d2var, tmprimval) // | PTCMPlablparen of (label) // | PTCMPpatlparen of ( patck, tmprimval, tmplab, pckindopt, patckontref ) (* end of [PTCMPpatlparen] *) | PTCMPreclparen of (tmprimval, tmplab) // | PTCMPrparen of () // | PTCMPpatneg of (patck, tmprimval) // | PTCMPtmplabend of (tmplab) | PTCMPtmplabgua of (tmplab, patckontref) // end of [patcomp] typedef patcomplst = List (patcomp) typedef patcomplstlst = List (patcomplst) vtypedef patcomplst_vt = List_vt (patcomp) (* ****** ****** *) extern fun fprint_patcomp (out: FILEref, x: patcomp): void overload fprint with fprint_patcomp (* ****** ****** *) implement fprint_patcomp (out, x0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x0 of // | PTCMPany (d2v) => { val () = prstr "PTCMPany(" val () = fprint_d2var (out, d2v) val () = prstr ")" } | PTCMPvar (d2v, tpmv) => { val () = prstr "PTCMPvar(" val () = fprint_d2var (out, d2v) val () = prstr ", " val () = fprint_tmprimval (out, tpmv) val () = prstr ")" } // | PTCMPasvar (d2v, tpmv) => { val () = prstr "PTCMPasvar(" val () = fprint_d2var (out, d2v) val () = prstr ", " val () = fprint_tmprimval (out, tpmv) val () = prstr ")" } // | PTCMPlablparen (lab) => { val () = prstr "PTCMPlablparen(" val () = $LAB.fprint_label (out, lab) val () = prstr ")" } // | PTCMPpatlparen (ptck, tpmv, tlab, opt, kntr) => { val () = prstr "PTCMPpatlparen(" val () = fprint_patck (out, ptck) val () = prstr ", " val () = fprint_pckindopt (out, opt) val () = prstr ", " val () = fprint_tmprimval (out, tpmv) val () = prstr ", " val () = fprint_tmplab (out, tlab) val () = prstr ", " val () = fprint_patckont (out, !kntr) val () = prstr ")" } // | PTCMPreclparen (tpmv, tlab) => { val () = prstr "PTCMPreclparen(" val () = fprint_tmprimval (out, tpmv) val () = prstr ", " val () = fprint_tmplab (out, tlab) val () = prstr ")" } // | PTCMPrparen () => { val () = prstr "PTCMPrparen()" } // | PTCMPpatneg (ptck, tpmv) => { val () = prstr "PTCMPpatckneg(" val () = fprint_patck (out, ptck) val () = prstr ", " val () = fprint_tmprimval (out, tpmv) val () = prstr ")" } // | PTCMPtmplabend (tlab) => { val () = prstr "PTCMPtmplabend(" val () = fprint_tmplab (out, tlab) val () = prstr ")" } | PTCMPtmplabgua (tlab, kntr) => { val () = prstr "PTCMPtmplabgua(" val () = fprint_tmplab (out, tlab) val () = prstr ", " val () = fprint_patckont (out, !kntr) val () = prstr ")" } // end // end of [fprint_patcomp] (* ****** ****** *) // extern fun fprint_patcomplst (out: FILEref, xs: patcomplst): void extern fun fprint_patcomplstlst (out: FILEref, xs: patcomplstlst): void // overload fprint with fprint_patcomplst overload fprint with fprint_patcomplstlst // (* ****** ****** *) implement fprint_patcomplst (out, xs) = $UT.fprintlst (out, xs, "; ", fprint_patcomp) // end of [fprint_patcomplst] implement fprint_patcomplstlst (out, xss) = $UT.fprintlst (out, xss, "\n", fprint_patcomplst) // end of [fprint_patcomplstlst] (* ****** ****** *) extern fun patcomplst_find_tmplab (xs: patcomplst): Option_vt (tmplab) // end of [patcomplst_find_tmplab] (* ****** ****** *) implement patcomplst_find_tmplab (xs) = let (* val ( ) = fprintln! ( stdout_ref, "patcomplst_find_tmplab: xs = ", xs ) (* end of [val] *) *) in // case+ xs of // | list_nil() => None_vt() // | list_cons(x, xs) => let in case x of | PTCMPpatlparen (_, _, tl, _, _) => Some_vt (tl) | PTCMPreclparen (_, tl) => Some_vt (tl) | PTCMPtmplabend (tl) => Some_vt (tl) | PTCMPtmplabgua (tl, _) => Some_vt (tl) | _ => patcomplst_find_tmplab (xs) end // end of [list_cons] // end // end of [patcomplst_find_tmplab] (* ****** ****** *) // extern fun patcomplst_find_guafail (xs: patcomplst): patckont // implement patcomplst_find_guafail (xs) = let in // case+ xs of // | list_cons(x, xs) => ( case x of | PTCMPtmplabgua (_, kntr) => !kntr | _ => patcomplst_find_guafail (xs) ) (* end of [list_cons] *) // | list_nil((*void*)) => PTCKNTnone () // end // end of [patcomplst_find_guafail] // (* ****** ****** *) // extern fun patcomplst_unskip (xs: patcomplst, na: &int >> int): patcomplst extern fun patcomplst_unrparen (xs: patcomplst, na: &int >> int): patcomplst // (* ****** ****** *) implement patcomplst_unskip (xs, na) = let // fun auxlst ( xs: patcomplst, na: &int >> int ) : patcomplst = let in // case+ xs of | list_nil() => list_nil((*void*)) // end of [list_nil] | list_cons(x, xs) => ( case+ x of // | PTCMPany _ => xs | PTCMPvar _ => xs | PTCMPasvar _ => auxlst (xs, na) // | PTCMPlablparen _ => auxlst2 (1(*plvl*), xs, na) // | PTCMPpatlparen _ => let val () = na := na + 1 in auxlst2 (1(*plvl*), xs, na) end // end of [PTCMPconlparen] // | PTCMPreclparen _ => let val () = na := na + 1 in auxlst2 (1(*plvl*), xs, na) end // end of [reclparen] // | PTCMPrparen _ => let val () = assertloc (false) in xs end // | _ => xs // ) (* end of [list_cons] *) // end // end of [auxlst] // and auxlst2 ( plvl: int , xs: patcomplst, na: &int >> int ) : patcomplst = let in // case+ xs of | list_nil() => list_nil((*void*)) // end of [list_nil] | list_cons(x, xs) => ( case+ x of // | PTCMPany _ => auxlst2 (plvl, xs, na) | PTCMPvar _ => auxlst2 (plvl, xs, na) | PTCMPasvar _ => auxlst2 (plvl, xs, na) // | PTCMPlablparen _ => auxlst2 (plvl+1, xs, na) // | PTCMPpatlparen _ => let val () = na := na + 1 in auxlst2 (plvl+1, xs, na) end // end of [PTCMPconlparen] | PTCMPreclparen _ => let val () = na := na + 1 in auxlst2 (plvl+1, xs, na) end // end of [PTCMPreclparen] // | PTCMPrparen () => ( if plvl = 0 then xs else auxlst2 (plvl, xs, na) ) // end of [PTCMPrparen] // | _ (* rest-of-PTCMP *) => auxlst2 (plvl, xs, na) // ) (* end of [list_cons] *) // end // end of [auxlst2] // in auxlst (xs, na) end // end of [patcomplst_unskip] (* ****** ****** *) implement patcomplst_unrparen (xs0, na) = let in // case+ xs0 of | list_nil() => list_nil((*void*)) // end of [list_nil] | list_cons(x, xs1) => ( case+ x of | PTCMPrparen _ => xs1 | _ => let val xs0 = patcomplst_unskip (xs0, na) // end of [val] in patcomplst_unrparen (xs0, na) end // end of [_] ) (* end of [list_cons] *) // end // end of [patcomplst_unrparen] (* ****** ****** *) extern fun patcomplst_subtest (xs1: patcomplst, xs2: patcomplst): patckont // end of [patcomplst_subtest] extern fun patcomplst_subtests (xs1: patcomplst, xss2: patcomplstlst): patckont // end of [patcomplst_subtests] (* ****** ****** *) // extern fun patck_isbin (ptck: patck): bool extern fun patck_ismat (ptck1: patck, ptck2: patck): bool // (* ****** ****** *) implement patck_isbin (ptck) = let in // case+ ptck of | PATCKbool _ => true | PATCKcon (d2c) => if d2con_is_con (d2c) then d2con_is_binarian (d2c) else false // end of [PATCKcon] | _ => false end // end of [patck_isbin] (* ****** ****** *) implement patck_ismat (ptck1, ptck2) = let in // case+ ptck1 of // | PATCKcon (d2c1) => ( case+ ptck2 of | PATCKcon (d2c2) => d2c1 = d2c2 | _ => false ) // | PATCKint (i1) => (case+ ptck2 of PATCKint (i2) => i1 = i2 | _ => false) | PATCKbool (b1) => (case+ ptck2 of PATCKbool (b2) => b1 = b2 | _ => false) | PATCKchar (c1) => (case+ ptck2 of PATCKchar (c2) => c1 = c2 | _ => false) | PATCKstring (str1) => (case+ ptck2 of PATCKstring (str2) => str1 = str2 | _ => false) // (* | PATCKi0nt of (i0nt) | PATCKf0loat of (f0loat) *) // | _ (*rest-of-PATCK*) => false end // end of [patck_ismat] (* ****** ****** *) local typedef patcomplst1 = List1 (patcomp) fun auxlst ( xs10: patcomplst , xs20: patcomplst , tmvlst: &tmpmovlst_vt ) : Option_vt (patcomplst) = let in // case xs10 of // | list_nil () => Some_vt (xs20) // | list_cons _ => ( case+ xs20 of | list_nil _ => None_vt () | list_cons _ => auxlst2 (xs10, xs20, tmvlst) ) // end // end of [auxlst] and auxlst2 ( xs10: patcomplst1 , xs20: patcomplst1 , tmvlst: &tmpmovlst_vt ) : Option_vt (patcomplst) = let // val+list_cons (x1, xs1) = xs10 val+list_cons (x2, xs2) = xs20 // val out = stdout_ref (* val () = fprintln! (out, "auxlst2: x1 = ", x1) val () = fprintln! (out, "auxlst2: xs1 = ", xs1) val () = fprintln! (out, "auxlst2: x2 = ", x2) val () = fprintln! (out, "auxlst2: xs2 = ", xs2) *) // in // case+ x2 of // | PTCMPany _ => let var na: int = 0 val xs1 = patcomplst_unskip (xs10, na) in auxlst (xs1, xs2, tmvlst) end // | PTCMPvar _ => let var na: int = 0 val xs1 = patcomplst_unskip (xs10, na) in auxlst (xs1, xs2, tmvlst) end // | PTCMPasvar _ => auxlst (xs10, xs2, tmvlst) // | PTCMPrparen _ => let var na: int = 0 val xs1 = patcomplst_unrparen (xs10, na) in auxlst (xs1, xs2, tmvlst) end // | _ when x1 as PTCMPany _ => Some_vt (xs20) | _ when x1 as PTCMPvar _ => Some_vt (xs20) // | _ when x1 as PTCMPasvar _ => auxlst (xs1, xs20, tmvlst) // | _ when x1 as PTCMPrparen () => Some_vt (xs20) // | PTCMPlablparen (lab2) => ( case+ x1 of | PTCMPlablparen (lab1) => let val sgn = compare (lab1, lab2) in if sgn = 0 then auxlst (xs1, xs2, tmvlst) else None_vt () end // end of [PTCMPlablparen] | _ => None_vt () ) // | PTCMPpatlparen (ptck2, tpmv2, _, _, _) => ( case+ x1 of | PTCMPpatneg (ptck1, tpmv1) => let val ismat = patck_ismat (ptck1, ptck2) val ((*void*)) = tmpmovlst_add (tmvlst, tpmv1, tpmv2) // end of [val] in if ismat then None_vt () else let val isbin = patck_isbin (ptck1) in if isbin then Some_vt (xs2) else Some_vt (xs20) end // end of [else] // end of [if] end // end of [PTCMPpatneg] | PTCMPpatlparen (ptck1, tpmv1, _, _, _) => let val ismat = patck_ismat (ptck1, ptck2) val ((*void*)) = tmpmovlst_add (tmvlst, tpmv1, tpmv2) // end of [val] in if ismat then auxlst (xs1, xs2, tmvlst) else None_vt(*void*) // end of [if] end // end of [PTCMPpatlparen] | _ (*non-PTCMPpatlparen*) => None_vt((*void*)) ) // // HX-2015-04-21: // bug-2015-04-21 due to // the following clause being missing // | PTCMPreclparen (tpmv2, _) => ( case+ x1 of | PTCMPreclparen (tpmv1, _) => let val ((*void*)) = tmpmovlst_add (tmvlst, tpmv1, tpmv2) // end of [val] in auxlst (xs1, xs2, tmvlst) end // end of [PTCMPreclparen] | _ (*non-PTCMPreclparen*) => None_vt((*void*)) ) (* end of [PTCMPreclparen] *) // | _ (* rest-of-PTCMP *) => None_vt((*void*)) // end // end of [auxlst2] fun auxmovfin ( xs2: patcomplst, tmvlst: &tmpmovlst_vt ) : void = let // (* // val out = stdout_ref val () = fprintln! (out, "auxmovfin: xs2 = ", xs2) // *) // fun ftpmv ( tpmv2: tmprimval , tmvlst: &tmpmovlst_vt ) : void = ( case+ tpmv2 of | TPMVnone (pmv) => ((*void*)) | TPMVsome (tmp, pmv) => let val tpmv1 = TPMVnone (pmv) in tmpmovlst_add (tmvlst, tpmv1, tpmv2) end // end of [TPMVsome] ) (* end of [ftpmv] *) // in // case+ xs2 of | list_nil() => () | list_cons(x2, xs2) => ( case+ x2 of | PTCMPpatlparen (ptck2, tpmv2, _, _, _) => ftpmv (tpmv2, tmvlst) // end of [PTCMPpatlparen] | PTCMPreclparen (tpmv2, _) => ftpmv (tpmv2, tmvlst) // HX: bug-2013-12-04 | _ (*rest-of-PTCMP...lparen*) => auxmovfin (xs2, tmvlst) ) (* end of [list_cons] *) // end // end of [auxmovfin] in (* in of [local] *) implement patcomplst_subtest (xs10, xs20) = let // var tmvlst : tmpmovlst_vt = list_vt_nil () // val opt = auxlst (xs10, xs20, tmvlst) // in // case+ :( tmvlst: tmpmovlst_vt? ) => opt of | ~None_vt () => let val () = list_vt_free (tmvlst) in PTCKNTnone ((*void*)) end // end of [None_vt] | ~Some_vt (xs2) => let val () = auxmovfin (xs2, tmvlst) val tmvlst = list_vt_reverse (tmvlst) val tmvlst = list_of_list_vt (tmvlst) val-~Some_vt(tlab) = patcomplst_find_tmplab (xs2) in PTCKNTtmplabmov (tlab, tmvlst) end // end of [some_vt] // end // end of [patcomplst_subtest] end // end of [local] (* ****** ****** *) implement patcomplst_subtests (xs1, xss2) = let in // case+ xss2 of | list_nil () => PTCKNTnone () // end of [list_nil] | list_cons (xs2, xss2) => let val ptjmp = patcomplst_subtest (xs1, xs2) in case+ ptjmp of | PTCKNTnone () => patcomplst_subtests (xs1, xss2) | _ => ptjmp end // end of [list_cons] // end // end of [patcomplst_subtests] (* ****** ****** *) // extern fun patcomplst_jumpfill_rest (xs1: patcomplst, xss2: patcomplstlst): void // (* ****** ****** *) implement patcomplst_jumpfill_rest (xs1, xss2) = let // (* val out = stdout_ref val ((*void*)) = fprintln! (out, "patcomplst_jumpfill_rest: xs1 = ", xs1) *) // fun auxlst ( xs1: patcomplst , xss2: patcomplstlst , rxs: patcomplst_vt ) : void = let in // case+ xs1 of | list_nil() => list_vt_free (rxs) // end of [list_nil] | list_cons (x1, xs1) => let val () = ( case+ x1 of | PTCMPpatlparen ( ptck, tpmv, tlab, opt, kntr ) => let val rxs1 = list_vt_copy (rxs) val rxs1 = list_vt_cons (PTCMPpatneg (ptck, tpmv), rxs1) val pxs1 = list_vt_reverse (rxs1) val ptjmp = patcomplst_subtests ($UN.linlst2lst(pxs1), xss2) val ((*freed*)) = list_vt_free (pxs1) in !kntr := ptjmp end (* end of [PTCMPpatlparen] *) | PTCMPtmplabgua (tlab, kntr) => let val rxs1 = list_vt_copy (rxs) val pxs1 = list_vt_reverse (rxs1) val ptjmp = patcomplst_subtests ($UN.linlst2lst(pxs1), xss2) val ((*freed*)) = list_vt_free (pxs1) in !kntr := ptjmp end (* end of [PTCMPtmplabgua] *) | _ (* rest-of-PTCMP *) => ((*void*)) ) : void // end of [val] in auxlst (xs1, xss2, list_vt_cons(x1, rxs)) end // end of [list_cons] // end // end of [auxlst] // in auxlst (xs1, xss2, list_vt_nil()) end // end of [patcomplst_jumpfill_rest] (* ****** ****** *) // extern fun patcomplst_jumpfill_fail (xs: patcomplst, fail: patckont): void // (* ****** ****** *) implement patcomplst_jumpfill_fail (xs, fail) = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = ( case+ x of | PTCMPpatlparen (_, _, _, _, kntr) => ( case !kntr of PTCKNTnone () => !kntr := fail | _ => () ) (* end of [PTCMPpatlparen] *) | _ (* non-PTCMPpatlparen *) => () ) : void // end of [val] in patcomplst_jumpfill_fail (xs, fail) end // end of [list_cons] // end // end of [patcomplst_jumpfill_fail] (* ****** ****** *) // extern fun patcomplstlst_jumpfill (xss: patcomplstlst, fail: patckont): void // (* ****** ****** *) implement patcomplstlst_jumpfill (xss, fail) = let in // case+ xss of | list_nil() => () | list_cons(xs, xss) => let val () = patcomplst_jumpfill_rest (xs, xss) val () = patcomplst_jumpfill_fail (xs, fail) in patcomplstlst_jumpfill (xss, fail) end // end of [list_cons] // end // end of [patcomplstlst_jumpfill] (* ****** ****** *) // extern fun himatchlst_patcomp ( lvl0: int , hicl: hiclau, pmvs: primvalist, hips: hipatlst ) : patcomplst // end of [himatchlst_patcomp] // (* ****** ****** *) local (* ****** ****** *) fun auxtpmv_make ( hip: hipat, pmv0: primval ) : tmprimval = let val loc = hip.hipat_loc val hse = hip.hipat_type val tmp = tmpvar_make (loc, hse) in TPMVsome (tmp, pmv0) end // end of [auxtpmv_make] (* ****** ****** *) fun addrparen ( mtks: matokenlst ) : matokenlst = list_cons (MTKrparen (), mtks) (* ****** ****** *) fun addselcon ( tpmv: tmprimval , hse_sum: hisexp , lxs: labhipatlst , mtks: matokenlst ) : matokenlst = let in // case+ lxs of | list_nil() => mtks | list_cons(lx, lxs) => let val+LABHIPAT (lab, hip) = lx val loc = hip.hipat_loc val hse = hip.hipat_type val pmv = tmprimval2pmv (tpmv) val pmvsel = primval_selcon (loc, hse, pmv, hse_sum, lab) val tpmvsel = auxtpmv_make (hip, pmvsel) val mtk0 = MTKlabpat (lab, hip, tpmvsel) val mtks = addselcon (tpmv, hse_sum, lxs, mtks) in list_cons (mtk0, mtks) end // end of [list_cons] // end // end of [addselcon] fun addselect ( tpmv: tmprimval , hse_rec: hisexp , lxs: labhipatlst , mtks: matokenlst ) : matokenlst = let in // case+ lxs of | list_nil() => mtks | list_cons(lx, lxs) => let val+LABHIPAT (lab, hip) = lx val loc = hip.hipat_loc val hse = hip.hipat_type val pml = primlab_lab (loc, lab) val pmv = tmprimval2pmv (tpmv) val pmvsel = primval_select (loc, hse, pmv, hse_rec, pml) val tpmvsel = auxtpmv_make (hip, pmvsel) val mtk0 = MTKlabpat (lab, hip, tpmvsel) val mtks = addselect (tpmv, hse_rec, lxs, mtks) in list_cons (mtk0, mtks) end // end of [list_cons] // end // end of [addselect] (* ****** ****** *) fun auxcomplst ( lvl0: int, mtks: matokenlst ) : patcomplst_vt = let in // case+ mtks of | list_nil () => list_vt_nil () | list_cons (mtk, mtks) => auxcomplst_mtk (lvl0, mtk, mtks) // end of [list_cons] // end // end of [auxcomplst] and auxcomplst_mtk ( lvl0: int , mtk0: matoken, mtks: matokenlst ) : patcomplst_vt = let in // case+ mtk0 of // | MTKpat(hip, tpmv) => auxcomplst_pat (lvl0, tpmv, hip, mtks) // | MTKlabpat (lab, hip, tpmv) => ( auxcomplst_labpat (lvl0, tpmv, lab, hip, mtks) ) (* end of [MTKlabpat] *) // | MTKrparen((*void*)) => ( list_vt_cons (PTCMPrparen (), auxcomplst (lvl0, mtks)) ) (* end of [MTKrparen] *) // end // end of [auxcomplst_mtk] and auxcomplst_pat ( lvl0: int , tpmv: tmprimval , hip0: hipat , mtks: matokenlst ) : patcomplst_vt = let // val loc0 = hip0.hipat_loc // in // case+ hip0.hipat_node of // | HIPany d2v => let val ptcmp0 = PTCMPany(d2v) val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, ptcmps) end | HIPvar d2v => let val ( ) = d2var_set_level (d2v, lvl0) val nused = d2var_get_utimes (d2v) val ptcmp0 = ( if nused > 0 then PTCMPvar(d2v, tpmv) else PTCMPany(d2v) // end of [if] ) : patcomp // end of [val] val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, ptcmps) end // end of [HIPvar] // | HIPint (i) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val ptcmp0 = PTCMPpatlparen (PATCKint(i), tpmv, tl, None(*knd*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPint] | HIPintrep (rep) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val i0 = $UT.llint_make_string (rep) val i0 = int_of_llint (i0) val ptcmp0 = PTCMPpatlparen (PATCKint(i0), tpmv, tl, None(*void*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPintrep] // | HIPbool (b) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val ptcmp0 = PTCMPpatlparen (PATCKbool(b), tpmv, tl, None(*knd*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPint] // | HIPchar (c) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val ptcmp0 = PTCMPpatlparen (PATCKchar(c), tpmv, tl, None(*knd*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPint] // | HIPstring (str) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val ptcmp0 = PTCMPpatlparen (PATCKstring(str), tpmv, tl, None(*knd*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPint] // | HIPfloat (rep) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val f = $UT.double_make_string (rep) val ptcmp0 = PTCMPpatlparen (PATCKfloat(f), tpmv, tl, None(*knd*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPint] // | HIPi0nt (tok) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val i0 = $P2TC.i0nt2intinf (tok) val i0 = $INTINF.intinf_get_int (i0) val ptcmp0 = PTCMPpatlparen (PATCKint(i0), tpmv, tl, None(*void*), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPi0nt] // | HIPempty () => auxcomplst (lvl0, mtks) // | HIPcon ( knd, d2c, hse_sum, lxs ) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val mtks = addrparen (mtks) val mtks = addselcon (tpmv, hse_sum, lxs, mtks) val ptcmp0 = PTCMPpatlparen (PATCKcon(d2c), tpmv, tl, Some(knd), kntr) val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, ptcmps) end // end of [HIPcon] // | HIPcon_any (knd, d2c) => let val tl = tmplab_make (loc0) val kntr = patckontref_make () val ptcmp0 = PTCMPpatlparen (PATCKcon(d2c), tpmv, tl, Some(knd), kntr) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [HIPcon_any] // | HIPrec (knd, lxs, hse_rec) => let val tl = tmplab_make (loc0) val mtks = addrparen (mtks) val mtks = addselect (tpmv, hse_rec, lxs, mtks) val ptcmp0 = PTCMPreclparen (tpmv, tl) val ptcmps = auxcomplst (lvl0, mtks) in list_vt_cons (ptcmp0, ptcmps) end // end of [HIPrec] // | HIPrefas (d2v, hip) => let val ( ) = d2var_set_level (d2v, lvl0) val ptcmp0 = PTCMPasvar (d2v, tpmv) val ptcmps = auxcomplst_pat (lvl0, tpmv, hip, mtks) in list_vt_cons (ptcmp0, ptcmps) end // end of [HIPrefas] // | HIPann (hip, _(*ann*)) => auxcomplst_pat (lvl0, tpmv, hip, mtks) // | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": himatchlst_patcomp: auxcomplst_pat: hip0 = ", hip0) val () = assertloc (false) in list_vt_nil () end // end of [_] // end // end of [auxcomplst_pat] and auxcomplst_labpat ( lvl0: int , tpmv: tmprimval , lab0: label, hip0: hipat , mtks: matokenlst ) : patcomplst_vt = let val ptcmp0 = PTCMPlablparen (lab0) val ptcmp1 = PTCMPrparen () val ptcmps = auxcomplst_pat (lvl0, tpmv, hip0, mtks) in list_vt_cons (ptcmp0, list_vt_cons (ptcmp1, ptcmps)) end // end of [auxcomplst_labpat] in (* in of [local] *) implement himatchlst_patcomp (lvl0, hicl, pmvs, hips) = let // fun auxloc ( hip: hipat, hips: hipatlst ) : location = let in // case+ hips of | list_cons (hip, hips) => auxloc (hip, hips) | list_nil ( ) => $LOC.location_rightmost (hip.hipat_loc) // end // end of [auxloc] // fun auxlst ( pmvs: primvalist, hips: hipatlst ) : matokenlst = let in // case+ pmvs of | list_cons (pmv, pmvs) => let val tpmv = TPMVnone (pmv) val-list_cons (hip, hips) = hips val mtk0 = MTKpat (hip, tpmv) val mtks = auxlst (pmvs, hips) in list_cons (mtk0, mtks) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlst] // in // case+ pmvs of // | list_cons (pmv, pmvs) => let val tpmv = TPMVnone (pmv) val-list_cons (hip, hips) = hips val lend = auxloc (hip, hips) val mtks = auxlst (pmvs, hips) val ptcmps = auxcomplst_pat (lvl0, tpmv, hip, mtks) val tlab = tmplab_make (lend) val isnot = list_is_nil (hicl.hiclau_gua) val ptcmpz = ( if isnot then PTCMPtmplabend (tlab) else let val kntr = patckontref_make () in PTCMPtmplabgua (tlab, kntr) end // end of [else] // end of [if] ) : patcomp // end of [val] val ptcmps = list_vt_extend (ptcmps, ptcmpz) in list_of_list_vt (ptcmps) end // end of [list_cons] // | list_nil () => list_nil () // end // end of [himatchlst_patcomp] end // end of [local] (* ****** ****** *) // extern fun hiclau_patcomp ( lvl0: int , hicl: hiclau, pmvs: primvalist ) : patcomplst // endfun // implement hiclau_patcomp (lvl0, hicl, pmvs) = let // val hips = hicl.hiclau_pat val ptcmps = himatchlst_patcomp (lvl0, hicl, pmvs, hips) (* val out = stdout_ref val () = fprintln! (out, "hiclau_patcomp: hips =\n", hips) val () = fprintln! (out, "hiclau_patcomp: ptcmps =\n", ptcmps) *) // in ptcmps end // end of [hiclau_patcomp] // (* ****** ****** *) extern fun hiclaulst_patcomp ( lvl0: int , hicls: hiclaulst, pmvs: primvalist ) : patcomplstlst // endfun implement hiclaulst_patcomp (lvl0, hicls, pmvs) = let in // case+ hicls of | list_cons (hicl, hicls) => let val xs = hiclau_patcomp (lvl0, hicl, pmvs) val xss = hiclaulst_patcomp (lvl0, hicls, pmvs) in list_cons (xs, xss) end // end of [list_cons] | list_nil () => list_nil () // end // end of [hiclaulst_patcomp] (* ****** ****** *) extern fun patcomplst_ccomp (env: !ccompenv, xs: patcomplst): instrlst_vt // end of [patcomplst_ccomp] (* ****** ****** *) local fun addtpmv ( res: instrlst_vt, tpmv: tmprimval ) : instrlst_vt = let in // case+ tpmv of | TPMVnone _ => res | TPMVsome (tmp, pmv) => let val loc = tmpvar_get_loc (tmp) val ins = instr_move_val (loc, tmp, pmv) in list_vt_cons (ins, res) end // end of [TPMVsome] // end (* end of [addtpmv] *) fun addtlab ( res: instrlst_vt, tlab: tmplab ) : instrlst_vt = let val loc = tmplab_get_loc (tlab) val ins = instr_tmplab (loc, tlab) in list_vt_cons (ins, res) end // end of [addtlab] (* ****** ****** *) fun addfreecon ( env: !ccompenv , pmv: primval, opt: pckindopt, ptck: patck ) : void = let in // case+ opt of | Some (knd) => ( case+ ptck of | PATCKcon (d2c) => ccompenv_add_freeconenv_if (env, pmv, knd, d2c) | _ => ((*nothing*)) ) (* end of [Some] *) | None ((*void*)) => () // end // end of [addfreecon] (* ****** ****** *) fun fptcmplst ( env: !ccompenv , xs: patcomplst , res1: instrlst_vt , res2: instrlst_vt ) : instrlst_vt = let in // case+ xs of | list_nil() => let val res2 = list_vt_reverse (res2) in list_vt_reverse_append (res1, res2) end // end of [list_nil] | list_cons(x, xs) => let in fptcmplst2 (env, x, xs, res1, res2) end // end of [list_cons] // end (* end of [fptcmplst] *) and fptcmplst2 ( env: !ccompenv , x: patcomp, xs: patcomplst , res1: instrlst_vt , res2: instrlst_vt ) : instrlst_vt = let in // case+ x of | PTCMPany (d2v) => fptcmplst (env, xs, res1, res2) // end of [PTCMPany] | PTCMPvar (d2v, tpmv) => let val pmv = tmprimval2pmv2 (tpmv, d2v) val ( ) = ccompenv_add_vbindmapenvall (env, d2v, pmv) val res2 = let val ismut = d2var_is_mutabl (d2v) in if ismut then res2 else addtpmv (res2, tpmv) end : instrlst_vt // end of [val] in fptcmplst (env, xs, res1, res2) end // end of [PTCMPvar] | PTCMPasvar (d2v, tpmv) => let val pmv = tmprimval2pmv2 (tpmv, d2v) val ( ) = ccompenv_add_vbindmapenvall (env, d2v, pmv) in fptcmplst (env, xs, res1, res2) end // end of [PTCMPasvar] // | PTCMPpatlparen ( ptck, tpmv, tlab, opt, kntr ) => let val res1 = addtpmv (res1, tpmv) val res1 = addtlab (res1, tlab) val pmv = tmprimval2pmv (tpmv) val ((*void*)) = addfreecon (env, pmv, opt, ptck) val ins = instr_patck (pmv.primval_loc, pmv, ptck, !kntr) val res1 = list_vt_cons (ins, res1) in fptcmplst (env, xs, res1, res2) end // end of [PTCMPreclparen] // | PTCMPreclparen (tpmv, tlab) => let val res1 = addtpmv (res1, tpmv) val res1 = addtlab (res1, tlab) in fptcmplst (env, xs, res1, res2) end // end of [PTCMPreclparen] // | PTCMPtmplabend (tlab) => let val res1 = addtlab (res1, tlab) in fptcmplst (env, xs, res1, res2) end // end of [PTCMPtmplabend] | PTCMPtmplabgua (tlab, _) => let val res1 = addtlab (res1, tlab) in fptcmplst (env, xs, res1, res2) end // end of [PTCMPtmplabgua] // | _ => fptcmplst (env, xs, res1, res2) // end (* end of [fptcmplst2] *) in (* in of [local] *) implement patcomplst_ccomp (env, xs) = let in fptcmplst (env, xs, list_vt_nil, list_vt_nil) end // end of [patcomplst_ccomp] end // end of [local] (* ****** ****** *) extern fun higmat_ccomp ( env: !ccompenv, res: !instrseq , lvl0: int, hig: higmat, fail: patckont ) : void // end of [higmat_ccomp] extern fun higmatlst_ccomp ( env: !ccompenv, res: !instrseq , lvl0: int, higs: higmatlst, fail: patckont ) : void // end of [higmatlst_ccomp] (* ****** ****** *) implement higmat_ccomp ( env, res, lvl0, hig, fail ) = let // val hde = hig.higmat_exp // val hip = ( // case+ hig.higmat_pat of | Some (hip) => hip | None ((*void*)) => let val hse = hisexp_bool_t0ype () in hipat_bool (hde.hidexp_loc, hse, true) end // end of [None] // ) : hipat // end of [val] // val pmv = hidexp_ccomp (env, res, hde) // val () = hipatck_ccomp (env, res, fail, hip, pmv) val () = himatch_ccomp (env, res, lvl0, hip, pmv) // in // nothing end // end of [higmat_ccomp] implement higmatlst_ccomp (env, res, lvl0, higs, fail) = let in // case+ higs of | list_nil() => () | list_cons(hig, higs) => let val () = higmat_ccomp (env, res, lvl0, hig, fail) // end of [val] in higmatlst_ccomp (env, res, lvl0, higs, fail) end (* end of [list_cons] *) // end // end of [higmatlst_ccomp] (* ****** ****** *) local fun auxcl ( env: !ccompenv , lvl0: int , hicl: hiclau , ptcmps: patcomplst , tmpret: tmpvar ) : ibranch = let // val res = instrseq_make_nil () // val (pf0 | ()) = ccompenv_push (env) val ((*void*)) = ccompenv_inc_freeconenv (env) // val inss = patcomplst_ccomp (env, ptcmps) val ((*void*)) = instrseq_addlst_vt (res, inss) // val higs = hicl.hiclau_gua (* guard-list *) // val () = ( // case+ higs of | list_nil () => () | list_cons _ => let val () = instrseq_add_comment(res, "ibranch-guard:") val fail = patcomplst_find_guafail (ptcmps) in higmatlst_ccomp (env, res, lvl0, higs, fail) end // end of [list_cons] // ) : void // end of [val] // val loc = hicl.hiclau_loc val pmvs_freecon = ccompenv_getdec_freeconenv (env) val () = instrseq_add_freeconlst (res, loc, pmvs_freecon) // val () = instrseq_add_comment (res, "ibranch-mbody:") // val () = hidexp_ccomp_ret (env, res, tmpret, hicl.hiclau_body) // val () = ccompenv_pop (pf0 | env) // val inss = instrseq_get_free (res) // (* val () = fprintln! (stdout_ref, "hiclaulst_ccomp: auxcl: inss =\n", inss) // end of [val] *) // in ibranch_make (hicl.hiclau_loc, inss) end (* end of [auxcl] *) fun auxclist ( env: !ccompenv , lvl0: int , hicls: hiclaulst , ptcmpss: patcomplstlst , tmpret: tmpvar ) : ibranchlst = let in // case+ hicls of | list_cons _ => let val+list_cons (hicl, hicls) = hicls val-list_cons (ptcmps, ptcmpss) = ptcmpss val ibranch = auxcl (env, lvl0, hicl, ptcmps, tmpret) val ibranchs = auxclist (env, lvl0, hicls, ptcmpss, tmpret) in list_cons (ibranch, ibranchs) end // end of [list_cons] | list_nil () => list_nil () // end (* end of [auxclist] *) in (* in of [local] *) implement hiclaulst_ccomp ( env, lvl0, pmvs, hicls, tmpret, fail ) = let // val ptcmpss = hiclaulst_patcomp (lvl0, hicls, pmvs) val ((*void*)) = patcomplstlst_jumpfill (ptcmpss, fail) // (* val () = fprintln! (stdout_ref, "ptcmpss =\n", ptcmpss) *) // in auxclist (env, lvl0, hicls, ptcmpss, tmpret) end // end of [hiclaulst_ccomp] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_claulst.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env_termet.dats0000664000175000017500000001354712655455557021105 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_stamp.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) implement s2explst_check_termet (loc0, s2es_met) = let // fun loop ( loc0: loc_t, s2es: s2explst ) : void = let in // case+ s2es of | list_cons (s2e, s2es) => let val isint = s2rt_is_int (s2e.s2exp_srt) val () = if isint then trans3_env_add_cnstr (c3nstr_termet_isnat (loc0, s2e)) // end of [val] in loop (loc0, s2es) end // end of [list_cons] | list_nil () => () // end of [list_nil] // end (* end of [loop] *) // in loop (loc0, s2es_met) end // end of [s2explst_check_termet] (* ****** ****** *) local // assume termetenv_push_v = unit_v // viewtypedef metbindlst_vt = List_vt @(stampset_vt, s2explst) // val the_metbindlst = ref_make_elt (list_vt_nil) // in // in of [local] implement termetenv_pop (pfpush | (*none*)) = let // vtypedef vt = @(stampset_vt, s2explst) // prval unit_v () = pfpush val (vbox pf | p) = ref_get_view_ptr (the_metbindlst) val-list_vt_cons (!p1_x, !p2_xs) = !p val () = stampset_vt_free (p1_x->0) val xs = !p2_xs val () = free@ {vt?}{0} (!p) val () = !p := xs // in (*nothing*) end // end of [termetenv_pop] implement termetenv_push (d2vs, s2es_met) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_metbindlst) val ( ) = !p := list_vt_cons (@(d2vs, s2es_met), !p) // in (unit_v () | ()) end // end of [termetenv_push] implement termetenv_push_dvarlst (d2vs, s2es_met) = let vtypedef res = stampset_vt val res = stampset_vt_nil () fn f ( res: res, d2v: d2var ) : res = stampset_vt_add (res, d2var_get_stamp (d2v)) // end of [f] val res = list_fold_left_fun (f, res, d2vs) in termetenv_push (res, s2es_met) end // end of [termetenv_push_dvarlst] implement termetenv_get_termet (d2v) = let // vtypedef vt = @(stampset_vt, s2explst) vtypedef res = Option_vt (s2explst) fun loop {n:nat} .. ( xs: !list_vt (vt, n), d2v: stamp ) : res = let in // case+ xs of | list_vt_cons (!p1_x, !p2_xs) => let val ismem = stampset_vt_is_member (p1_x->0, d2v) val ans = ( if ismem then Some_vt (p1_x->1) else loop (!p2_xs, d2v) ) : res // end of [val] prval () = fold@ (xs) in ans end // end of [list_vt_cons] | list_vt_nil () => let prval () = fold@ xs in None_vt () end // end of [list_vt_nil] // end // end of [loop] // val (vbox pf | p) = ref_get_view_ptr (the_metbindlst) // in $effmask_ref (loop (!p, d2v)) end // end of [termetenv_get_termet] end // end of [local] implement s2exp_termet_instantiate (loc0, stamp, met) = let // val ans = termetenv_get_termet (stamp) // in // case+ ans of | ~Some_vt (met_bound) => let val c3t = c3nstr_termet_isdec (loc0, met, met_bound) in trans3_env_add_cnstr (c3t) end // end of [Some_vt] | ~None_vt () => let val s2p = s2exp_bool (false) in trans3_env_add_prop (loc0, s2p) end // end of [None_vt] // end // end of [s2exp_termet_instantiate] (* ****** ****** *) implement s2exp_metfun_load (s2e0, d2v0) = let // fun aux ( s2e0: s2exp , d2v0: d2var , s2ts0: &s2rtlst ) : Option_vt s2exp = let val s2f0 = s2exp2hnf (s2e0) val s2e0 = s2hnf2exp (s2f0) in // case+ s2e0.s2exp_node of | S2Efun ( fc, lin, s2fe, npf, s2es, s2e ) => let val ans = aux (s2e, d2v0, s2ts0) in case ans of | ~Some_vt (s2e) => Some_vt ( s2exp_fun_srt (s2e0.s2exp_srt, fc, lin, s2fe, npf, s2es, s2e) ) // end of [Some_vt] | ~None_vt () => None_vt () end // end of [S2Efun] | S2Emetfun ( _(*stampopt*), s2es, s2e ) => let val stamp = d2var_get_stamp (d2v0) val () = let val s2ts = list_map_fun (s2es, lam s2e =<0> s2e.s2exp_srt) in s2ts0 := list_of_list_vt (s2ts) end // end of [val] in Some_vt (s2exp_metfun (Some stamp, s2es, s2e)) end // end of [S2Emetfun] | S2Euni ( s2vs, s2ps, s2e ) => let val ans = aux (s2e, d2v0, s2ts0) in case+ ans of | ~Some_vt s2e => Some_vt (s2exp_uni (s2vs, s2ps, s2e)) | ~None_vt () => None_vt () end // end of [S2Euni] | _ => None_vt () // end // end of [aux] // var s2ts: s2rtlst = list_nil () // in // case+ aux (s2e0, d2v0, s2ts) of | ~Some_vt s2e => Some_vt @(s2e, s2ts) | ~None_vt () => None_vt () // end // end of [s2exp_metfun_load] (* ****** ****** *) (* end of [pats_trans3_env_termet.dats] *) ATS2-Postiats-0.2.6/./src/pats_constraint3.dats0000664000175000017500000006131112655455557017702 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_constraint3" (* ****** ****** *) staload "./pats_intinf.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_trans3_env.sats" (* ****** ****** *) staload "./pats_constraint3.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) implement s3exp_err (s2t) = S3Eerr (s2t) (* ****** ****** *) implement s3exp_var (s2v) = let val isb = s2var_is_bool (s2v) in if isb then S3Ebvar (s2v) else S3Evar (s2v) end // end of [s3exp_var] (* ****** ****** *) implement s3exp_bvar (s2v) = S3Ebvar (s2v) (* ****** ****** *) implement s3exp_cst (s2c) = S3Ecst (s2c) (* ****** ****** *) implement s3exp_app (_fun, _arg) = S3Eapp (_fun, _arg) (* ****** ****** *) // implement s3exp_null = S3Enull () implement s3exp_unit = S3Enull () // implement s3exp_true = S3Ebool (true) implement s3exp_false = S3Ebool (false) // implement intinf_0 = intinf_make_int (0) implement intinf_1 = intinf_make_int (1) implement intinf_2 = intinf_make_int (2) implement intinf_neg_1 = intinf_make_int (~1) // implement s3exp_0 = S3Enull () implement s3exp_1 = S3Eunit () implement s3exp_2 = s3exp_intinf (intinf_2) implement s3exp_neg_1 = s3exp_intinf (intinf_neg_1) // (* ****** ****** *) implement s3exp_bool (b) = if b then s3exp_true else s3exp_false // end of [s3exp_bool] (* ****** ****** *) implement s3exp_get_srt (s3e) = let in // case+ s3e of | S3Evar (s2v) => s2var_get_srt (s2v) | S3Ecst (s2c) => s2cst_get_srt (s2c) | S3Enull () => s2rt_int | S3Eunit () => s2rt_int | S3Ebool (b) => s2rt_bool // | S3Ebvar _ => s2rt_bool | S3Ebneg _ => s2rt_bool | S3Ebadd _ => s2rt_bool | S3Ebmul _ => s2rt_bool | S3Ebeq _ => s2rt_bool | S3Ebneq _ => s2rt_bool | S3Ebineq _ => s2rt_bool // | S3Ebdom _ => s2rt_bool // | S3Eiatm _ => s2rt_int | S3Eicff _ => s2rt_int | S3Eisum _ => s2rt_int | S3Eimul _ => s2rt_int // | S3Esizeof _ => s2rt_int // | S3Eapp (s3e_fun, _) => s2t where { val-S2RTfun (_, s2t) = s3exp_get_srt (s3e_fun) } // end of [S3Eapp] // | S3Eerr (s2t) => s2t // end // end of [s3exp_get_srt] (* ****** ****** *) implement s3exp_get_fvs (s3e0) = let // viewtypedef res = s2varset_vt fun loop (res: res, s3e0: s3exp): res = let in // case+ s3e0 of | S3Evar (s2v) => s2varset_vt_add (res, s2v) | S3Ecst _ => res | S3Enull _ => res | S3Eunit _ => res | S3Ebool _ => res // | S3Ebvar (s2v) => s2varset_vt_add (res, s2v) | S3Ebneg (s3e) => loop (res, s3e) | S3Ebadd (s3e1, s3e2) => let val res = loop (res, s3e1) in loop (res, s3e2) end // end of [S3Ebadd] | S3Ebmul (s3e1, s3e2) => let val res = loop (res, s3e1) in loop (res, s3e2) end // end of [S3Ebmul] | S3Ebeq (s3e1, s3e2) => let val res = loop (res, s3e1) in loop (res, s3e2) end // end of [S3Ebeq] | S3Ebneq (s3e1, s3e2) => let val res = loop (res, s3e1) in loop (res, s3e2) end // end of [S3Ebneq] | S3Ebineq (_, s3e) => loop (res, s3e) // | S3Ebdom (s2v) => s2varset_vt_add (res, s2v) // | S3Eiatm (s2vs) => let fun traux ( res: s2varset_vt, xs: s2varlst_vt ) : s2varset_vt = case+ xs of | ~list_vt_cons (x, xs) => let val res = s2varset_vt_add (res, x) in traux (res, xs) end // end of [list_vt_cons] | ~list_vt_nil () => res // end of [traux] in traux (res, s2varmset_listize (s2vs)) end // end of [S3Eiatm] | S3Eicff (_, s3e) => loop (res, s3e) | S3Eisum (s3es) => list_fold_left_fun (loop, res, s3es) // end of [S3Eisum] | S3Eimul (s3e1, s3e2) => let val res = loop (res, s3e1) in loop (res, s3e2) end // end of [S3Eimul] // | S3Esizeof _ => res // | S3Eapp (s3e1, s3es2) => let val res = loop (res, s3e1) in list_fold_left_fun (loop, res, s3es2) end // end of [S3Eapp] // | S3Eerr (s2t) => res // end // end of [loop] // val res = s2varset_vt_nil () // in loop (res, s3e0) end // end of [s3exp_get_fvs] (* ****** ****** *) implement s3exp_syneq (x1, x2) = let in // case+ x1 of | S3Evar s2v1 => ( case+ x2 of S3Evar s2v2 => s2v1 = s2v2 | _ => false ) // end of [S3Evar] | S3Ecst s2c1 => ( case+ x2 of S3Ecst s2c2 => s2c1 = s2c2 | _ => false ) // end of [S3Ecst] // | S3Enull () => ( case+ x2 of S3Enull () => true | _ => false ) // end of [S3Enull] | S3Eunit () => ( case+ x2 of S3Eunit () => true | _ => false ) // end of [S3Eunit] | S3Ebool b1 => ( case+ x2 of S3Ebool b2 => b1 = b2 | _ => false ) // end of [S3Ebool] // | S3Ebvar (s2v1) => ( case+ x2 of S3Ebvar (s2v2) => s2v1 = s2v2 | _ => false ) // end of [S3Ebvar] // | S3Ebneg (x1) => ( case+ x2 of S3Ebneg (x2) => s3exp_syneq (x1, x2) | _ => false ) // end of [S3Ebneg] // | S3Ebadd (x11, x12) => ( case+ x2 of | S3Ebadd (x21, x22) => if s3exp_syneq (x11, x21) then s3exp_syneq (x12, x22) else false | _ => false // end of [_] ) (* end of [S3Ebadd] *) | S3Ebmul (x11, x12) => ( case+ x2 of | S3Ebmul (x21, x22) => if s3exp_syneq (x11, x21) then s3exp_syneq (x12, x22) else false | _ => false // end of [_] ) (* end of [S3Ebmul] *) // | S3Ebeq (x11, x12) => ( case+ x2 of | S3Ebeq (x21, x22) => if s3exp_syneq (x11, x21) then s3exp_syneq (x12, x22) else false | _ => false // end of [_] ) (* end of [S3Ebeq] *) | S3Ebneq (x11, x12) => ( case+ x2 of | S3Ebneq (x21, x22) => if s3exp_syneq (x11, x21) then s3exp_syneq (x12, x22) else false | _ => false // end of [_] ) (* end of [S3Ebneq] *) // | S3Ebineq (knd1, x1) => (case+ x2 of | S3Ebineq (knd2, x2) => if knd1 = knd2 then s3exp_syneq (x1, x2) else false | _ => false // end of [_] ) // end of [S3Ebineq] // | S3Ebdom (s2v1) => ( case+ x2 of S3Ebdom (s2v2) => s2v1 = s2v2 | _ => false ) // end of [S3Ebdom] // | S3Eiatm (s2vs1) => ( case+ x2 of | S3Eiatm (s2vs2) => s2varmset_is_equal (s2vs1, s2vs2) | _ => false ) (* end of [S3Eiatm] *) | S3Eicff (c1, x1) => ( case+ x2 of | S3Eicff (c2, x2) => if c1 = c2 then s3exp_syneq (x1, x2) else false | _ => false // end of [_] ) (* end of [S3Eicff] *) | S3Eisum (xs1) => ( case+ x2 of | S3Eisum (xs2) => s3explst_syneq (xs1, xs2) | _ => false ) (* end of [S3Eiadd] *) | S3Eimul (x11, x12) => ( case+ x2 of | S3Eimul (x21, x22) => if s3exp_syneq (x11, x21) then s3exp_syneq (x12, x22) else false | _ => false // end of [_] ) (* end of [S3Eimul] *) // | S3Esizeof (s2ze1) => ( case+ x2 of | S3Esizeof (s2ze2) => s2zexp_syneq (s2ze1, s2ze2) | _ => false ) (* end of [S3Esizeof] *) // | S3Eapp (x1, xs1) => ( case+ x2 of | S3Eapp (x2, xs2) => if s3exp_syneq (x1, x2) then s3explst_syneq (xs1, xs2) else false | _ => false // end of [_] ) (* end of [S3Eapp] *) // | S3Eerr (s2t) => false // end // end of [s3exp_syneq] (* ****** ****** *) implement s3explst_syneq (xs1, xs2) = ( case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => if s3exp_syneq (x1, x2) then s3explst_syneq (xs1, xs2) else false | list_nil () => false ) // end of [list_cons] | list_nil () => ( case+ xs2 of list_cons _ => false | list_nil () => true ) (* end of [list_nil] *) ) (* end of [s3explst_syneq] *) (* ****** ****** *) local fun synlt_s2hnf_s2hnf ( s2f1: s2hnf, s2f2: s2hnf ) : bool = let val s2e2 = s2hnf2exp s2f2 (* // val () = ( println! ("synlt_s2hnf_s2hnf: s2f1 = ", s2f1); println! ("synlt_synlt_s2hnf: s2f2 = ", s2f2); ) (* end of [val] *) *) in case+ s2e2.s2exp_node of | S2Eapp (_, s2es2) => synlte_s2hnf_s2explst (s2f1, s2es2) | _ => false end // end pf [s2exp_synlt] and synlte_s2hnf_s2hnf ( s2f1: s2hnf, s2f2: s2hnf ) : bool = s2hnf_syneq (s2f1, s2f2) orelse synlt_s2hnf_s2hnf (s2f1, s2f2) (* end of [synlte_s2hnf_s2hnf] *) // // HX-2012-02: // [s2f1] <= at least one of [s2es2] // and synlte_s2hnf_s2explst ( s2f1: s2hnf, s2es2: s2explst ): bool = case+ s2es2 of | list_cons (s2e2, s2es2) => let val s2f2 = s2exp2hnf (s2e2) in if synlte_s2hnf_s2hnf (s2f1, s2f2) then true else synlte_s2hnf_s2explst (s2f1, s2es2) // end of [if] end // end of [list_cons] | list_nil () => false // end of [synlte_s2hnf_s2explst] in (* in of [local] *) fun s2exp_synlt ( s2e1: s2exp, s2e2: s2exp ) : bool = let val s2f1 = s2exp2hnf (s2e1) and s2f2 = s2exp2hnf (s2e2) in synlt_s2hnf_s2hnf (s2f1, s2f2) end // end of [s2exp_synlt] fun s2exp_synlte ( s2e1: s2exp, s2e2: s2exp ) : bool = let val s2f1 = s2exp2hnf (s2e1) and s2f2 = s2exp2hnf (s2e2) in synlte_s2hnf_s2hnf (s2f1, s2f2) end // end of [s2exp_synlt] end // end of [local] (* ****** ****** *) local fun auxlt ( isint: bool , s2e1: s2exp, s2e2: s2exp , lt: &int(0) >> int ) : s2exp = if isint then s2exp_intlt (s2e1, s2e2) else let val islt = s2exp_synlt (s2e1, s2e2) val () = (if islt then lt := 1 else lt := ~1): void in s2exp_bool (islt) end // end of [if] // end of [auxlt] // fun auxlte ( isint: bool , s2e1: s2exp, s2e2: s2exp , lte: &int(0) >> int ) : s2exp = if isint then s2exp_intlte (s2e1, s2e2) else let val islte = s2exp_synlte (s2e1, s2e2) val () = (if islte then lte := 1 else lte := ~1): void in s2exp_bool (islte) end // end of [if] // fun auxlst ( s2es1: s2explst, s2es2: s2explst ) : s2exp = let (* // val () = ( println! ("s2exp_metdec_reduce: auxlst: s2es1 = ", s2es1); println! ("s2exp_metdec_reduce: auxlst: s2es2 = ", s2es2); ) (* end of [val] *) *) in // case+ s2es1 of | list_cons (s2e1, s2es1) => let var lt: int = 0 and lte: int = 0 in case+ s2es2 of | list_cons (s2e2, s2es2) => let val isint = s2rt_is_int (s2e1.s2exp_srt) val s2p_lt = auxlt (isint, s2e1, s2e2, lt) in case+ lt of | _ when lt > 0 => s2p_lt (*true*) | _ when lt = 0 => let val s2p_lte = auxlte (isint, s2e1, s2e2, lte) // end of [val] val s2p_rest = auxlst (s2es1, s2es2) in s2exp_badd (s2p_lt, s2exp_bmul (s2p_lte, s2p_rest)) end // end of [lt = 0] | _ (* lt < 0 *) => let val s2p_lte = auxlte (isint, s2e1, s2e2, lte) // end of [val] in if lte >= 0 then auxlst (s2es1, s2es2) else s2p_lte (*false*) // end of [if] end // end of [lt < 0] end // end of [list_cons] | list_nil () => s2exp_bool (true) end (* end of [list_cons] *) | list_nil () => s2exp_bool (false) // end // end of [auxlst] in (* in of [local] *) fun s2exp_metdec_reduce (met: s2explst, met_bound: s2explst): s2exp = auxlst (met, met_bound) // end of [s2exp_metdec_reduce] end // end of [local] (* ****** ****** *) local fun auxeq ( env: &s2vbcfenv, s2e1: s2exp, s2e2: s2exp ) : s3exp = let // val s2t1 = s2e1.s2exp_srt val s3e1 = s3exp_make (env, s2e1) and s3e2 = s3exp_make (env, s2e2) // (* val () = println! ("auxeq: s3e1 = ", s3e1) and () = println! ("auxeq: s3e2 = ", s3e2) *) // in // case+ 0 of | _ when s2rt_is_int (s2t1) => s3exp_ieq (s3e1, s3e2) | _ when s2rt_is_addr (s2t1) => s3exp_ieq (s3e1, s3e2) | _ when s2rt_is_bool (s2t1) => s3exp_beq (s3e1, s3e2) (* | _ when s2rt_is_char (s2t1) => s3exp_ieq (s3e1, s3e2) *) | _ => ( if s2exp_syneq (s2e1, s2e2) then s3exp_true else s3exp_err (s2rt_bool) ) // end of [_] // end // end of [auxeq] fun auxbind ( loc0: location , env: &s2vbcfenv, s2v1: s2var, s2e2: s2exp ) : s3exp = let (* val () = ( println! ("auxbind: s2v1 = ", s2v1); println! ("auxbind: s2e2 = ", s2e2); ) (* end of [val] *) *) // val s2e1 = s2exp_var (s2v1) val s3be = auxeq (env, s2e1, s2e2) val s2f2 = s2exp2hnf (s2e2) val () = trans3_env_hypadd_bind (loc0, s2v1, s2f2) // in s3be end // end of [aux_bind] in (* in of [local] *) implement s3exp_make (env, s2e0) = let val s2f0 = s2exp2hnf (s2e0) val s2e0 = s2hnf2exp (s2f0) (* val () = begin print "s3exp_make: s2e0 = "; pprint_s2exp (s2e0); print_newline () end // end of [val] *) in // case+ s2e0.s2exp_node of // | S2Evar s2v => s3exp_var (s2v) // | S2Eint i => s3exp_int (i) | S2Eintinf (int) => s3exp_intinf (int) // | S2Ecst s2c => (case+ s2c of | _ when s2cstref_equ_cst (the_null_addr, s2c) => s3exp_null | _ when s2cstref_equ_cst (the_true_bool, s2c) => s3exp_true | _ when s2cstref_equ_cst (the_false_bool, s2c) => s3exp_false (* | _ => let val () = s2vbcfenv_add_scst (env, s2c) in s3exp_cst (s2c) end (* end of [_] *) *) | _ (*non-primitive-cst*) => s3exp_cst (s2c) ) (* end of [S2Ecst] *) // | S2Eapp (s2e1, s2es2) => ( case+ s2e1.s2exp_node of | S2Ecst s2c1 => s3exp_make_s2cst_s2explst (env, s2c1, s2es2) // end of [S2Ecst] | _ (*non-cst*) => let val s3e1 = s3exp_make (env, s2e1) val s3es2 = s3explst_make (env, s2es2) in S3Eapp (s3e1, s3es2) end // end of [non-cst] ) (* end of [S2Eapp] *) | S2Eeqeq (s2e1, s2e2) => auxeq (env, s2e1, s2e2) | S2Emetdec (met, met_bound) => let val s2e_met = s2exp_metdec_reduce (met, met_bound) in s3exp_make (env, s2e_met) end // end of [S3Emetdec] | S2Esizeof (s2e) => let val s2ze = s2zexp_make_s2exp (s2e) in S3Esizeof (s2ze) end // end of [S2Esizeof] // | _ => let // an expression that cannot be handled (* val () = begin prerr "warning(3): s3exp_make: s2e0 = "; prerr_s2exp (s2e0); prerr_newline (); end // end of [val] *) in s3exp_err (s2e0.s2exp_srt) end // end of [_] // end // end of [s3exp_make] implement s3exp_make_h3ypo (env, h3p) = ( case+ h3p.h3ypo_node of | H3YPOprop s2p => s3exp_make (env, s2p) | H3YPObind (s2v1, s2e2) => auxbind (h3p.h3ypo_loc, env, s2v1, s2e2) | H3YPOeqeq (s2e1, s2e2) => auxeq (env, s2e1, s2e2) ) // end of [s3exp_make_h3ypo] end // end of [local] (* ****** ****** *) implement s3explst_make (env, s2es) = let macdef f (x) = s3exp_make (env, ,(x)) in // case+ s2es of | list_cons (s2e, s2es) => list_cons (f (s2e), s3explst_make (env, s2es)) | list_nil () => list_nil () // end // end of [s3explst_make] (* ****** ****** *) local // viewtypedef s3expopt_vt = Option_vt (s3exp) // dataviewtype s2vbclst = | S2VBCFLSTsvar of (s2var, s2vbclst) | S2VBCFLSTsbexp of (s3exp, s2vbclst) | S2VBCFLSTcons of ( s2cst(*scf*), s3explst(*arg*), s2var(*res*), s3expopt_vt(*rel*), s2vbclst ) // end of [S2VBCFLSTcons] | S2VBCFLSTnonlin of (s2var, s3exp, s2vbclst) | S2VBCFLSTmark of s2vbclst | S2VBCFLSTnil of () // end of [s2vbclst] assume s2vbcfenv_viewtype = s2vbclst assume s2vbcfenv_push_v = unit_v in (* in of [local] *) implement s2vbcfenv_nil () = S2VBCFLSTnil () implement s2vbcfenv_free (env) = ( case+ env of | ~S2VBCFLSTsvar (_, env) => s2vbcfenv_free (env) | ~S2VBCFLSTsbexp (_, env) => s2vbcfenv_free (env) | ~S2VBCFLSTcons (_, _, _, opt, env) => let val () = option_vt_free (opt) in s2vbcfenv_free (env) end // end of [S2VBCFLSTcons] | ~S2VBCFLSTnonlin (_, _, env) => s2vbcfenv_free (env) | ~S2VBCFLSTmark (env) => s2vbcfenv_free (env) | ~S2VBCFLSTnil () => () ) // end of [s2vbcfenv_free] implement s2vbcfenv_pop (pf | env) = let fun aux ( env: s2vbclst ) : s2vbclst = case+ env of | ~S2VBCFLSTsvar (_, env) => aux (env) | ~S2VBCFLSTsbexp (_, env) => aux (env) | ~S2VBCFLSTcons (_, _, _, opt, env) => let val () = option_vt_free (opt) in aux (env) end (* end of [S2VBCFLSTcons] *) | ~S2VBCFLSTnonlin (_, _, env) => aux (env) | ~S2VBCFLSTmark (env) => env // HX: pop is done | ~S2VBCFLSTnil () => S2VBCFLSTnil () // end of [aux] prval unit_v () = pf in env := aux (env) end (* end of [s2vbcflst_pop] *) implement s2vbcfenv_push (env) = let val () = env := S2VBCFLSTmark (env) in (unit_v () | ()) end // end of [s2vbcfenv_push] (* ****** ****** *) implement s2vbcfenv_find_cstapp (env0, s2c0, s3es0) = let in // case+ env0 of // | S2VBCFLSTsvar (_, !p_env) => let val ans = s2vbcfenv_find_cstapp (!p_env, s2c0, s3es0) in fold@ env0; ans end // end of [S2VBCFLSTsvar] // | S2VBCFLSTsbexp (_, !p_env) => let val ans = s2vbcfenv_find_cstapp (!p_env, s2c0, s3es0) in fold@ env0; ans end // end of [S2VBCFLSTsbexp] // | S2VBCFLSTcons (s2c, s3es, s2v, _, !p_env) => let val test = ( if eq_s2cst_s2cst (s2c0, s2c) then s3explst_syneq (s3es0, s3es) else false // end of [val] ) : bool // end of [val] in if test then let prval () = fold@ env0 in Some_vt (s2v) end else let val ans = s2vbcfenv_find_cstapp (!p_env, s2c0, s3es0) in fold@ env0; ans end (* end of [if] *) end // end of [S2VBCFLSTcons] // | S2VBCFLSTnonlin (_, _, !p_env) => let val ans = s2vbcfenv_find_cstapp (!p_env, s2c0, s3es0) in fold@ env0; ans end // end of [S2VBCFLSTnonlin] // | S2VBCFLSTmark (!p_env) => let val ans = s2vbcfenv_find_cstapp (!p_env, s2c0, s3es0) in fold@ env0; ans end // end of [S2VBCFLSTmark] | S2VBCFLSTnil () => let prval () = fold@ (env0) in None_vt () end // end of [S2VBCFLSTnil] // end // end of [s2vbcfenv_find_cstapp] (* ****** ****** *) implement s2vbcfenv_find_nonlin (env0, s3e0) = let in // case+ env0 of // | S2VBCFLSTsvar (_, !p_env) => let val ans = s2vbcfenv_find_nonlin (!p_env, s3e0) in fold@ env0; ans end // end of [S2VBCFLSTsvar] // | S2VBCFLSTsbexp (_, !p_env) => let val ans = s2vbcfenv_find_nonlin (!p_env, s3e0) in fold@ env0; ans end // end of [S2VBCFLSTsbexp] // | S2VBCFLSTcons (_, _, _, _, !p_env) => let val ans = s2vbcfenv_find_nonlin (!p_env, s3e0) in fold@ env0; ans end // end of [S2VBCFLSTcons] // | S2VBCFLSTnonlin (s2v, s3e, !p_env) => let val test = s3exp_syneq (s3e0, s3e) val ans = ( if test then Some_vt (s2v) else s2vbcfenv_find_nonlin (!p_env, s3e0) // end of [if] ) : Option_vt (s2var) in fold@ env0; ans end // end of [S2VBCFLSTnonlin] // | S2VBCFLSTmark (!p_env) => let val ans = s2vbcfenv_find_nonlin (!p_env, s3e0) in fold@ env0; ans end // end of [S2VBCFLSTmark] | S2VBCFLSTnil () => let prval () = fold@ (env0) in None_vt () end // end of [S2VBCFLSTnil] // end // end of [s2vbcfenv_find_nonlin] (* ****** ****** *) implement s2vbcfenv_extract (env) = let // fun loop ( env: !s2vbcfenv , s2vs: &s2varlst_vt, s3bes: &s3explst_vt ) : void = let in // case+ env of | S2VBCFLSTsvar (s2v, !p_env) => let val () = s2vs := list_vt_cons (s2v, s2vs) val isb = s2var_is_bool (s2v) val () = if isb then s3bes := list_vt_cons (S3Ebdom (s2v), s3bes) // end of [val] val () = loop (!p_env, s2vs, s3bes) in fold@ (env) end // end of [S2VBCFLSTsvar] | S2VBCFLSTsbexp (s3be, !p_env) => let val () = s3bes := list_vt_cons (s3be, s3bes) val () = loop (!p_env, s2vs, s3bes) in fold@ (env) end // end of [S2VBCFLSTsbexp] | S2VBCFLSTcons ( s2c, arg, res, !p_rel, !p_env ) => let val () = ( case+ !p_rel of | Some_vt (s3be) => let prval () = fold@ (!p_rel) in s3bes := list_vt_cons (s3be, s3bes) end // end of [Some_vt] | None_vt () => fold@ (!p_rel) ) : void // end of [val] val () = loop (!p_env, s2vs, s3bes) in fold@ (env) end // end of [S2VBCFLSTcons] | S2VBCFLSTnonlin (s2v, _, !p_env) => let val () = s2vs := list_vt_cons (s2v, s2vs) val () = loop (!p_env, s2vs, s3bes) in fold@ (env) end // end of [S2VBCFLSTnonlin] | S2VBCFLSTmark (!p_env) => let val () = loop (!p_env, s2vs, s3bes) in fold@ (env) end // end of [S2VBCFLSTmark] | S2VBCFLSTnil () => fold@ (env) // end // [end of loop] // var s2vs: s2varlst_vt = list_vt_nil () var s3bes: s3explst_vt = list_vt_nil () val () = loop (env, s2vs, s3bes) // in @(s2vs, s3bes) end // end of [s2vbcfenv_extract] (* ****** ****** *) fun s2vbcfenv_add2_cstapp ( env: &s2vbcfenv // HX: [s2c] is a defined (stadef) constant , s2c: s2cst, arg1: s2explst, arg2: s3explst , s2v: s2var ) : void = let // (* val () = println! ("s2vbcfenv_add2_cstapp: s2c = ", s2c) val () = println! ("s2vbcfenv_add2_cstapp: s2v = ", s2v) *) // val () = env := S2VBCFLSTsvar (s2v, env) // val s2e_cst = s2exp_cst (s2c) val s2e_var = s2exp_var (s2v) val s2es1 = list_extend (arg1, s2e_var) val s2e_rel = s2exp_app_srt (s2rt_bool, s2e_cst, (l2l)s2es1) // val s3be = s3exp_make (env, s2e_rel) // val s3be = s3exp_lintize (env, s3be) // nonlin terms -> vars // in env := S2VBCFLSTcons (s2c, arg2, s2v, Some_vt (s3be), env) end // end of [s2vbcfenv_add2_cstapp] (* ****** ****** *) implement s2vbcfenv_add_svar (env, s2v) = (env := S2VBCFLSTsvar (s2v, env)) // end of [s2vbcfenv_add_svar] implement s2vbcfenv_add_sbexp (env, s3be) = (env := S2VBCFLSTsbexp (s3be, env)) // end of [s2vbcfenv_add_sbexp] implement s2vbcfenv_add_nonlin (env, s2v, s3e) = let (* val () = ( println! ("s2vbcfenv_add_nonlin: s2v = "; s2v); println! ("s2vbcfenv_add_nonlin: s3e = "; s3e); ) (* end of [val] *) *) in env := S2VBCFLSTnonlin (s2v, s3e, env) end // end of [s2vbcfenv_add_nonlin] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement s2vbcfenv_add_cstapp (env, s2c, s2es_arg, s2v) = let (* val () = ( println! ("s2vbcfenv_add: s2c = ", s2c); println! ("s2vbcfenv_add: s2es_arg = ", s2es_arg); println! ("s2vbcfenv_add: s2v = ", s2v); ) (* end of [val] *) *) // val s3es_arg = s3explst_make (env, s2es_arg) // in s2vbcfenv_add2_cstapp (env, s2c, s2es_arg, s3es_arg, s2v) end // end of [s2vbcfenv_add_cstapp] (* ****** ****** *) implement s2vbcfenv_replace_cstapp (env, s2t, s2c, s2es_arg) = let // val s3es_arg = s3explst_make (env, s2es_arg) // val ans = s2vbcfenv_find_cstapp (env, s2c, s3es_arg) // in // case+ ans of | ~Some_vt (s2v) => s2v | ~None_vt ((*void*)) => s2v where { val s2v = s2var_make_srt (s2t) val () = s2vbcfenv_add2_cstapp (env, s2c, s2es_arg, s3es_arg, s2v) } (* end of [None_vt] *) // end // end of [s2vbcfenv_replace_cstapp] (* ****** ****** *) implement s2vbcfenv_replace_nonlin (env, s3e) = let // val ans = s2vbcfenv_find_nonlin (env, s3e) // in // case+ ans of | ~Some_vt (s2v) => s2v | ~None_vt ((*void*)) => s2v where { val s2t = s3exp_get_srt (s3e) val s2v = s2var_make_srt (s2t) val () = s2vbcfenv_add_nonlin (env, s2v, s3e) } (* end of [None_vt] *) // end // end of [s2vbcfenv_replace_nonlin] (* ****** ****** *) local stadef env = s2vbcfenv typedef tfun = (&env, s2explst) - s3exp assume s2cfunmap = s2cstmap (tfun) var the_s2cfunmap: s2cfunmap = s2cstmap_nil ((*void*)) val ( pf_the_s2cfunmap | () ) = vbox_make_view_ptr{s2cfunmap}(view@(the_s2cfunmap) | &the_s2cfunmap) in (* in of [local] *) implement s3exp_make_s2cst_s2explst (env, s2c, s2es) = let (* val () = println! ("s3exp_make_s2cst_s2explst: s2c = ", s2c) val () = println! ("s3exp_make_s2cst_s2explst: s2es = ", s2es) *) val opt = let prval vbox (pf) = pf_the_s2cfunmap in s2cstmap_find (the_s2cfunmap, s2c) end // end of [val] // in // case+ opt of | ~Some_vt f => f (env, s2es) | ~None_vt _ => let val s3e = s3exp_cst (s2c) val s3es = s3explst_make (env, s2es) in s3exp_app (s3e, s3es) end // end of [None_vt] // end // end of [s3exp_make_s2cst_s2explst] (* ****** ****** *) implement constraint3_initialize () = let prval vbox (pf) = pf_the_s2cfunmap in $effmask_ref (constraint3_initialize_map (the_s2cfunmap)) end // end of [constraint3_initialize] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_constraint3.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_error.dats0000664000175000017500000000524512655455557020062 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload ERR = "./pats_error.sats" (* ****** ****** *) staload "./pats_trans3.sats" (* ****** ****** *) // vtypedef trans3errlst_vt = List_vt (trans3err) // (* ****** ****** *) local val the_trans3errlst = ref (list_vt_nil) fun the_trans3errlst_get ( // argumentless ) : trans3errlst_vt = let val (vbox pf | p) = ref_get_view_ptr (the_trans3errlst) val xs = !p val () = !p := list_vt_nil () in xs end // end of [the_trans3errlst_get] in (* in-of-local *) implement the_trans3errlst_add (x) = () where { val (vbox pf | p) = ref_get_view_ptr (the_trans3errlst) val () = !p := list_vt_cons (x, !p) } // end of [the_trans3errlst_add] implement the_trans3errlst_finalize () = { val xs = the_trans3errlst_get () // end of [val] val nxs = list_vt_length (xs) val ((*freed*)) = list_vt_free (xs) // (* val () = if nxs > 0 then { val () = fprintf ( stderr_ref , "patsopt(TRANS3): there are [%i] errors in total.\n", @(nxs) ) (* end of [fprintf] *) } (* end of [if] *) // end of [val] // *) val () = if nxs > 0 then $raise($ERR.PATSOPT_TRANS3_EXN()) // end of [if] } (* end of [the_trans3errlst_finalize] *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_tokbuf.cats0000664000175000017500000000354212655455557016726 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_TOKBUF_CATS #define POSTIATS_SRC_PATS_TOKBUF_CATS /* ****** ****** */ #include "libats/CATS/linqueue_arr.cats" /* ****** ****** */ #include "pats_lexbuf.cats" /* ****** ****** */ typedef struct { // atslib_linqueue_arr_QUEUE tbuf ; // ats_uint_type ntok ; // the current token number // pats_lexbuf_struct lexbuf ; // for lexing // } pats_tokbuf_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_TOKBUF_CATS] /* ****** ****** */ /* end of [pats_tokbuf.cats] */ ATS2-Postiats-0.2.6/./src/pats_label.sats0000664000175000017500000000510112655455557016524 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) abstype label_type typedef label = label_type (* ****** ****** *) fun label_make_int (i: int): label fun label_make_sym (sym: symbol): label fun label_make_string (str: string): label (* ****** ****** *) fun label_is_int (l: label): bool fun label_get_int (l: label): Option_vt (int) (* ****** ****** *) fun label_is_sym (l: label): bool fun label_get_sym (l: label): Option_vt (symbol) (* ****** ****** *) fun label_dotize (l: label): symbol (* ****** ****** *) fun eq_label_label (l1: label, l2: label):<> bool overload = with eq_label_label fun neq_label_label (l1: label, l2: label):<> bool overload != with neq_label_label (* ****** ****** *) fun compare_label_label (l1: label, l2: label):<> Sgn overload compare with compare_label_label (* ****** ****** *) fun tostring_label (l: label): string (* ****** ****** *) fun print_label (l: label): void overload print with print_label fun prerr_label (l: label): void overload prerr with prerr_label fun fprint_label (out: FILEref, x: label): void (* ****** ****** *) datatype labeled (a:t@ype) = LABELED (a) of (label, a) (* ****** ****** *) (* end of [pats_label.sats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp3_print.dats0000664000175000017500000004201512655455557020241 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" macdef fprint_symbol = $SYM.fprint_symbol staload SYN = "./pats_syntax.sats" macdef fprint_l0ab = $SYN.fprint_l0ab macdef fprint_i0de = $SYN.fprint_i0de macdef fprint_cstsp = $SYN.fprint_cstsp macdef fprint_d0ynq = $SYN.fprint_d0ynq (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) implement fprint_p3at (out, p3t0) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ p3t0.p3at_node of // | P3Tany (d2v) => { val () = prstr "P3Tany(" val () = fprint_d2var (out, d2v) val () = prstr ")" } | P3Tvar (d2v) => { val () = prstr "P3Tvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // | P3Tcon ( pck, d2c, npf, p3ts ) => { val () = prstr "P3Tcon(" val () = fprint_pckind (out, pck) val () = prstr "; " val () = fprint_d2con (out, d2c) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p3atlst (out, p3ts) val () = prstr ")" } // end of [P3Tcon] // | P3Tint (i) => fprintf (out, "P3Tint(%i)", @(i)) | P3Tintrep (s) => fprintf (out, "P3Tintrep(%s)", @(s)) // | P3Tbool (b) => let val name = if b then "true" else "false" in fprintf (out, "P3Tbool(%s)", @(name)) end // end of [P3Tbool] | P3Tchar (c) => fprintf (out, "P3Tchar(%c)", @(c)) | P3Tfloat (rep) => fprintf (out, "P3Tfloat(%s)", @(rep)) | P3Tstring (str) => fprintf (out, "P3Tstring(%s)", @(str)) // | P3Ti0nt (i) => prstr "P3Ti0nt(...)" | P3Tf0loat (f) => prstr "P3Tf0loat(...)" // | P3Tempty () => prstr "P3Tempty()" // | P3Trec _ => prstr "P3Trec(...)" | P3Tlst ( lin, s2e_elt, p3ts ) => { val () = prstr "P3Tlst(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_s2exp (out, s2e_elt) val () = prstr "; " val () = fprint_p3atlst (out, p3ts) val () = prstr ")" } // | P3Trefas (d2v, p3t) => { val () = prstr "P3Trefas(" val () = fprint_d2var (out, d2v) val () = prstr " -> " val () = fprint_p3at (out, p3t) val () = prstr ")" } // end of [P3Trefas] // | P3Texist (s2vs, p3t) => { val () = prstr "P3Texist(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_p3at (out, p3t) val () = prstr ")" } // end of [P3Texist] // | P3Tvbox (d2v) => { val () = prstr "P3Tvbox(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // end of [P3Tvbox] // | P3Tann (p3t, s2e) => { val () = prstr "P3Tann(" val () = fprint_p3at (out, p3t) val () = prstr " : " val () = fprint_s2exp (out, s2e) val () = prstr ")" } // end of [P3Tann] // | P3Terrpat ((*void*)) => prstr "P3Terr()" // end of [p3at_node] end // end of [fprint_p3at] implement print_p3at (p3t) = fprint_p3at (stdout_ref, p3t) implement prerr_p3at (p3t) = fprint_p3at (stderr_ref, p3t) (* ****** ****** *) implement fprint_p3atlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_p3at) // end of [fprint_p3atlst] (* ****** ****** *) implement fprint_d3exp (out, d3e0) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ d3e0.d3exp_node of // | D3Ecst (d2c) => { val () = prstr "D3Ecst(" val () = fprint_d2cst (out, d2c) val () = prstr ")" } | D3Evar (d2v) => { val () = prstr "D3Evar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // | D3Eint (i) => { val () = prstr "D3Eint(" val () = fprint_int (out, i) val () = prstr ")" } | D3Eintrep (rep) => { val () = prstr "D3Eintrep(" val () = fprint_string (out, rep) val () = prstr ")" } | D3Ebool (b) => { val () = prstr "D3Ebool(" val () = fprint_bool (out, b) val () = prstr ")" } | D3Echar (c) => { val () = prstr "D3Echar(" val () = fprint_char (out, c) val () = prstr ")" } | D3Efloat (rep) => { val () = prstr "D3Efloat(" val () = fprint_string (out, rep) val () = prstr ")" } | D3Estring (str) => { val () = prstr "D3Estring(" val () = fprint_string (out, str) val () = prstr ")" } // | D3Ei0nt (tok) => { val () = prstr "D3Ei0nt(" val () = $SYN.fprint_i0nt (out, tok) val () = prstr ")" } | D3Ef0loat (tok) => { val () = prstr "D3Ef0loat(" val () = $SYN.fprint_f0loat (out, tok) val () = prstr ")" } // | D3Ecstsp (csp) => { val () = prstr "D3Ecstsp(" val () = $SYN.fprint_cstsp (out, csp) val () = prstr ")" } // | D3Eliteral (d3e) => { val () = prstr "D3Eliteral(" val () = fprint_d3exp (out, d3e) // int, float, string val () = prstr ")" } // | D3Etop () => prstr "D3Etop()" | D3Eempty () => prstr "D3Eempty()" // | D3Eextval (name) => { val () = prstr "D3Eextval(" val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } | D3Eextfcall (_fun, _arg) => { val () = prstr "D3Eextfcall(" val () = fprint_string (out, _fun) val () = prstr "; " val () = fprint_d3explst (out, _arg) val ((*closing*)) = prstr ")" } | D3Eextmcall (_obj, _mtd, _arg) => { val () = prstr "D3Eextmcall(" val () = fprint_d3exp (out, _obj) val () = prstr "; " val () = fprint_string (out, _mtd) val () = prstr "; " val () = fprint_d3explst (out, _arg) val ((*closing*)) = prstr ")" } // | D3Econ ( d2c, npf, d3es ) => { val () = prstr "D3Econ(" val () = fprint_d2con (out, d2c) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d3explst (out, d3es) val () = prstr ")" } // | D3Etmpcst (d2c, _) => { val () = prstr "D3Etmpcst(" val () = fprint_d2cst (out, d2c) val () = prstr "; " val () = prstr "..." val () = prstr ")" } | D3Etmpvar (d2v, _) => { val () = prstr "D3Etmpvar(" val () = fprint_d2var (out, d2v) val () = prstr "; " val () = prstr "..." val () = prstr ")" } // | D3Efoldat (d3e) => { val () = prstr "D3Efoldat(" val () = fprint_d3exp (out, d3e) val () = prstr ")" } | D3Efreeat (d3e) => { val () = prstr "D3Efreeat(" val () = fprint_d3exp (out, d3e) val () = prstr ")" } // | D3Elet _ => prstr "D3Elet(...)" // | D3Eapp_sta (d3e) => { val () = prstr "D3Eapp_sta(" val () = fprint_d3exp (out, d3e) val () = prstr ")" } | D3Eapp_dyn ( d3e, npf, d3es ) => { val () = prstr "D3Eapp_dyn(" val () = prstr "; " val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d3explst (out, d3es) val () = prstr ")" } // end of [D3Eapp_dyn] // | D3Eitem (d2i, t2mas) => { val () = prstr "D3Eitem(" val () = fprint_d2itm (out, d2i) val () = prstr "; " val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ")" } // | D3Eif ( _cond, _then, _else ) => { val () = prstr "D3Eif(" val () = fprint_d3exp (out, _cond) val () = prstr "; " val () = fprint_d3exp (out, _then) val () = prstr "; " val () = fprint_d3exp (out, _else) val () = prstr ")" } | D3Esif ( _cond, _then, _else ) => { val () = prstr "D3Esif(" val () = fprint_s2exp (out, _cond) val () = prstr "; " val () = fprint_d3exp (out, _then) val () = prstr "; " val () = fprint_d3exp (out, _else) val () = prstr ")" } // | D3Ecase _ => { val () = prstr "D3Ecase(" val () = prstr "..." val () = prstr ")" } | D3Escase _ => { val () = prstr "D3Escase(" val () = prstr "..." val () = prstr ")" } // | D3Elst (lin, s2e, d3es) => { val () = prstr "D3Elst(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = fprint_d3explst (out, d3es) val () = prstr ")" } // end of [D3Elst] | D3Etup ( knd, npf, d3es ) => { val () = prstr "D3Etup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d3explst (out, d3es) val () = prstr ")" } // end of [D3Etup] | D3Erec _ => prstr "D3Erec(...)" | D3Eseq (d3es) => { val () = prstr "D3Eseq(" val () = fprint_d3explst (out, d3es) val () = prstr ")" } // end of [D3Eseq] // | D3Eselab (d3e, d3ls) => { val () = prstr "D3Eselab(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } // | D3Eptrofvar (d2v) => { val () = prstr "D3Eptrofvar(" val () = fprint_d2var (out, d2v) val () = prstr ")" } | D3Eptrofsel (d3e, s2rt, d3ls) => { val () = prstr "D3Eptrofsel(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_s2exp (out, s2rt) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } | D3Eviewat (d3e, d3ls) => { val () = prstr "D3Eviewat(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } // | D3Erefarg ( refval, freeknd, d3e ) => { val () = prstr "D3Erefarg(" val () = fprint_int (out, refval) val () = prstr "; " val () = fprint_int (out, freeknd) val () = prstr "; " val () = fprint_d3exp (out, d3e) val () = prstr ")" } // | D3Esel_var (d2v, s2rt, d3ls) => { val () = prstr "D3Esel_var(" val () = fprint_d2var (out, d2v) val () = prstr "; " val () = fprint_s2exp (out, s2rt) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } | D3Esel_ptr (d3e, s2rt, d3ls) => { val () = prstr "D3Esel_ptr(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_s2exp (out, s2rt) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } | D3Esel_ref (d3e, s2rt, d3ls) => { val () = prstr "D3Esel_ref(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_s2exp (out, s2rt) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } // | D3Eassgn_var _ => prstr "D3Eassgn_var(...)" | D3Eassgn_ptr _ => prstr "D3Eassgn_ptr(...)" | D3Eassgn_ref _ => prstr "D3Eassgn_ref(...)" // | D3Exchng_var _ => prstr "D3Exchng_var(...)" | D3Exchng_ptr _ => prstr "D3Exchng_ptr(...)" | D3Exchng_ref _ => prstr "D3Exchng_ref(...)" // | D3Eviewat_assgn _ => prstr "D3Eviewat_assgn(...)" // | D3Earrpsz (s2e, d3es, asz) => { val () = prstr "D3Earrpsz(" val () = fprint_s2exp (out, s2e) val () = prstr "; " val () = fprint_d3explst (out, d3es) val () = prstr "; " val () = fprint_int (out, asz) val () = prstr ")" } | D3Earrinit ( s2e_elt, d3e_asz, d3es_elt ) => { val () = prstr "D3Earrinit(" val () = fprint_s2exp (out, s2e_elt) val () = prstr "; " val () = fprint_d3exp (out, d3e_asz) val () = prstr "; " val () = fprint_d3explst (out, d3es_elt) val () = prstr ")" } // end of [D3Earrinit] // | D3Eraise (d3e) => { val () = prstr "D3Eraise(" val () = fprint_d3exp (out, d3e) val () = prstr ")" } | D3Eeffmask (s2fe, d3e) => { val () = prstr "D3Eraise(" val () = fprint_s2eff (out, s2fe) val () = prstr "; " val () = fprint_d3exp (out, d3e) val () = prstr ")" } // | D3Evcopyenv (knd, d2v) => { val () = prstr "D3Evcopyenv(" val () = fprint_int (out, knd) val () = prstr ", " val () = fprint_d2var (out, d2v) val () = prstr ")" } // | D3Etempenver(d2vs) => { val () = prstr "D3Etempenver(" val () = fprint_d2varlst (out, d2vs) val () = prstr ")" } // | D3Eann_type (d3e, ann) => { val () = prstr "D3Eann_type(" val () = fprint_d3exp (out, d3e) val () = prstr " : " val () = fprint_s2exp (out, ann) val () = prstr ")" } // | D3Elam_dyn ( lin, npf, _arg, _body ) => { val () = prstr "D3Elam_dyn(" val () = prstr "lin=" val () = fprint_int (out, lin) val () = prstr "; " val () = prstr "npf=" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_p3atlst (out, _arg) val () = prstr "; " val () = fprint_d3exp (out, _body) val () = prstr ")" } // end of [D3Elam_dyn] | D3Elaminit_dyn _ => prstr "D3Elaminit_dyn(...)" | D3Elam_sta ( s2vs, s2ps, _body ) => { val () = prstr "D3Elam_sta(" val () = fprint_s2varlst (out, s2vs) val () = prstr "; " val () = fprint_s2explst (out, s2ps) val () = prstr "; " val () = fprint_d3exp (out, _body) val () = prstr ")" } | D3Elam_met (_met, _body) => { val () = prstr "D3Elam_met(" val () = fprint_s2explst (out, _met) val () = prstr "; " val () = fprint_d3exp (out, _body) val () = prstr ")" } // | D3Efix (knd, d2v, d3e) => { val () = prstr "D3Efix(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_d2var (out, d2v) val () = prstr "; " val () = fprint_d3exp (out, d3e) val () = prstr ")" } // | D3Edelay (d3e) => { val () = prstr "D3Edelay(" val () = fprint_d3exp (out, d3e) val () = prstr ")" } | D3Eldelay (d3e, opt) => { val () = prstr "D3Eldelay(" val () = fprint_d3exp (out, d3e) val () = prstr "; " val () = fprint_string (out, "...") val () = prstr ")" } | D3Elazyeval (lin, d3e) => { val () = prstr "D3Elazyeval(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_d3exp (out, d3e) val () = prstr ")" } // | D3Eloop _ => { val () = prstr "D3Eloop(" val () = fprint_string (out, "...") val () = prstr ")" } | D3Eloopexn (knd) => { val () = fprintf (out, "D3Eloopexn(%i)", @(knd)) } // | D3Etrywith _ => { val () = prstr "D3Etrywith(" val () = fprint_string (out, "...") val () = prstr ")" } // | D3Esolverify (s2e_prop) => { val () = prstr "D3Esolverify(" val () = fprint_s2exp (out, s2e_prop) val () = prstr ")" } // | D3Eerrexp ((*void*)) => prstr "D3Eerrexp()" // (* | _ => { val () = prstr "D3E...(...)" } *) // end // end of [fprint_d3exp] (* ****** ****** *) implement print_d3exp (x) = fprint_d3exp (stdout_ref, x) implement prerr_d3exp (x) = fprint_d3exp (stderr_ref, x) (* ****** ****** *) implement fprint_d3explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d3exp) // end of [fprint_d3explst] (* ****** ****** *) implement fprint_d3ecl (out, d3c0) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ d3c0.d3ecl_node of // | D3Cnone _ => prstr "D3Cnone()" | D3Clist _ => prstr "D3Clist(...)" // // HX: needed for compiling abstract types // | D3Csaspdec _ => prstr "D3Csaspdec(...)" // | D3Cextype _ => prstr "D3Cextype(...)" | D3Cextvar _ => prstr "D3Cextvar(...)" | D3Cextcode _ => prstr "D3Cextcode(...)" // | D3Cdatdecs _ => prstr "D3Cdatdecs(...)" | D3Cexndecs _ => prstr "D3Cexndecs(...)" | D3Cdcstdecs _ => prstr "D3Cdcstdecs(...)" // | D3Cimpdec _ => prstr "D3Cimpdec(...)" // | D3Cfundecs _ => prstr "D3Cfundecs(...)" // | D3Cvaldecs _ => prstr "D3Cvaldecs(...)" | D3Cvaldecs_rec _ => prstr "D3Cvaldecs(...)" // | D3Cvardecs _ => prstr "D3Cvardecs(...)" | D3Cprvardecs _ => prstr "D3Cprvardecs(...)" // | D3Cinclude _ => prstr "D3Cinclude(...)" // | D3Cstaload _ => prstr "D3Cstaload(...)" | D3Cstaloadloc _ => prstr "D3Cstaloadloc(...)" // | D3Cdynload (cfil) => { val () = prstr "D3Cdynload(" val () = $FIL.fprint_filename_full (out, cfil) val () = prstr ")" } // | D3Clocal _ => prstr "D3Clocal(...)" // end // end of [fprint_d3ecl] (* ****** ****** *) implement print_d3ecl (x) = fprint_d3ecl (stdout_ref, x) implement prerr_d3ecl (x) = fprint_d3ecl (stderr_ref, x) (* ****** ****** *) (* end of [pats_dynexp3_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans2_staexp.dats0000664000175000017500000020456112655455557020236 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload INT = "./pats_intinf.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans2_staexp" // (* ****** ****** *) staload LOC = "./pats_location.sats" overload + with $LOC.location_combine (* ****** ****** *) staload LEX = "./pats_lexing.sats" typedef token = $LEX.token (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol overload = with $SYM.eq_symbol_symbol overload print with $SYM.print_symbol overload prerr with $SYM.prerr_symbol staload SYN = "./pats_syntax.sats" typedef s0taq = $SYN.s0taq typedef d0ynq = $SYN.d0ynq typedef i0delst = $SYN.i0delst macdef prerr_sqid (sq, id) = ($SYN.prerr_s0taq ,(sq); $SYM.prerr_symbol ,(id)) // end of [prerr_sqid] (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_e1xpval.sats" staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_trans2.sats" staload "./pats_trans2_env.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) #define :: list_cons #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) (* ** HX: static special identifier *) datatype staspecid = SPSIDarrow | SPSIDnone fun staspecid_of_sqid (sq: s0taq, id: symbol): staspecid = begin // case+ sq.s0taq_node of | $SYN.S0TAQnone () => if id = $SYM.symbol_MINUSGT then SPSIDarrow () else SPSIDnone () // end of [S0TAQnone] | _ => SPSIDnone () // end // end of [staspecid_of_sqid] (* ****** ****** *) fun effvar_tr (efv: effvar): s2exp = let // val loc = efv.i0de_loc val sym = efv.i0de_sym val ans = the_s2expenv_find (sym) // in // case+ ans of | ~Some_vt s2i => ( case+ s2i of | S2ITMvar (s2v) => let (* val () = s2var_check_tmplev (loc, s2v) *) in s2exp_var (s2v) end // end of [S2ITEMvar] | S2ITMcst (s2cs) => let val-list_cons (s2c, _) = s2cs in s2exp_cst (s2c) end // end of [S2ITMcst] | _ => let val s2t_err = s2rt_err () val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "effvar_tr" val () = prerr! (": the static identifier [", sym) val () = prerrln! "] should refer to a variable or constant." val () = the_trans2errlst_add (T2E_effvar_tr (efv)) in s2exp_s2rt_err () end // end of [_] ) // end of [Some_vt] | ~None_vt () => let val s2t_err = s2rt_err () val () = prerr_error2_loc (loc) val () = filprerr_ifdebug ("effvar_tr") val () = prerrln! (": unrecognized static identifier [", sym, "].") val () = the_trans2errlst_add (T2E_effvar_tr (efv)) in s2exp_s2rt_err () end // end of [None_vt] end // end of [effvar_tr] fun effvarlst_tr (efvs: effvarlst): s2eff = ( case+ efvs of | list_cons (efv, efvs) => let val s2e = effvar_tr (efv) val s2fe1 = s2eff_exp (s2e) val s2fe2 = effvarlst_tr (efvs) in s2eff_add (s2fe1, s2fe2) end // end of [list_cons] | list_nil () => s2eff_nil ) // end of [effvarlst_tr] implement effcst_tr (efc) = begin case+ efc of | EFFCSTall () => s2eff_all | EFFCSTnil () => s2eff_nil | EFFCSTset (efs, efvs) => s2eff_add (s2eff_effset (efs), effvarlst_tr (efvs)) // end of [EFFSTset] end // end of [effcst_tr] (* ****** ****** *) implement s1arg_trup (s1a) = let // val s2t = ( case+ s1a.s1arg_srt of | Some s1t => s1rt_tr (s1t) | None ( ) => S2RTVar (s2rtVar_make (s1a.s1arg_loc)) ) : s2rt // end of [val] // in s2var_make_id_srt (s1a.s1arg_sym, s2t) end // end of [s1arg_trup] implement s1arglst_trup (s1as) = l2l (list_map_fun (s1as, s1arg_trup)) // end of [s1arglst_trup] (* ****** ****** *) implement s1arg_trdn (s1a, s2t0) = let // fun auxerr ( s1a: s1arg, s2t: s2rt, s2t0: s2rt ) : void = let // val () = prerr_error2_loc (s1a.s1arg_loc) // val () = filprerr_ifdebug "s1arg_trdn" val () = prerr! (": the argument is assigned the sort [", s2t) val () = prerrln! ("] but it is expected to accept a static term of the sort [", s2t0, "].") // in the_trans2errlst_add (T2E_s1arg_trdn (s1a, s2t0)) end (* end of [auxerr] *) // in case+ s1a.s1arg_srt of | Some s1t => let val s2t = s1rt_tr (s1t) val okay = s2rt_ltmat1 (s2t0, s2t) val () = if ~okay then auxerr (s1a, s2t, s2t0) in s2var_make_id_srt (s1a.s1arg_sym, s2t0) // HX: yes, [s2t0] should be used! end // end of [Some] | None () => s2var_make_id_srt (s1a.s1arg_sym, s2t0) // end (* end of [s1arg_trdn] *) implement s1arglst_trdn_err (s1as, s2ts, serr) = let (* // val () = ( println! ("s1arglst_trdn_err: serr", serr) ) (* end of [val] *) // *) in // case+ (s1as, s2ts) of | (s1a :: s1as, s2t :: s2ts) => let val s2v = s1arg_trdn (s1a, s2t) val s2vs = s1arglst_trdn_err (s1as, s2ts, serr) in list_cons (s2v, s2vs) end // end of [::, ::] | (list_nil _, list_nil _) => list_nil | (list_cons _, list_nil _) => (serr := serr + 1; list_nil) | (list_nil _, list_cons _) => (serr := serr - 1; list_nil) // end // end of [s1arglst_trdn_err] implement s1marg_trdn (s1ma, s2ts) = let // fun auxerr ( s1ma: s1marg, s2ts: s2rtlst, serr: int ) : void = let val loc0 = s1ma.s1marg_loc val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "s1marg_trdn" val () = prerr ": the static argument group is expected to contain " val () = prerr_string (if serr > 0 then "more" else "fewer") val () = prerrln! " components." in the_trans2errlst_add (T2E_s1marg_trdn (s1ma, s2ts)) end // end of [auxerr] // var serr: int = 0 val s2vs = s1arglst_trdn_err (s1ma.s1marg_arg, s2ts, serr) // end of [val] val () = if serr != 0 then auxerr (s1ma, s2ts, serr) // in s2vs end // end of [s1marg_trdn] (* ****** ****** *) local fun sp1at_get_dups (s2vs: s2varlst): s2varlst = let // typedef s2varset = $UT.lstord (s2var) // fun f ( svs: s2varset, s2v: s2var ) : s2varset = $UT.lstord_insert (svs, s2v, compare_s2vsym_s2vsym) // end of [f] // val svs = list_fold_left_fun (f, $UT.lstord_nil (), s2vs) // end of [val] // in $UT.lstord_get_dups (svs, compare_s2vsym_s2vsym) end // end of [sp1at_get_dups] fun sp1at_trdn_arg ( sp1t: sp1at , s2t_pat: s2rt , sq: s0taq, id: symbol , s1as: s1arglst, s2ts: s2rtlst ) : s2varlst = let // fun auxerr ( sp1t: sp1at, serr: int ) : void = let val loc0 = sp1t.sp1at_loc val () = prerr_error2_loc (loc0) val () = prerr ": the static constructor [" val () = prerr_sqid (sq, id) val () = prerr "] requires " val () = prerr_string (if serr > 0 then "more" else "fewer") val () = prerrln! " arguments." in the_trans2errlst_add (T2E_sp1at_trdn (sp1t, s2t_pat)) end // end of [auxerr] // var serr: int = 0 val s2vs = s1arglst_trdn_err (s1as, s2ts, serr) // end of [val] val () = if serr != 0 then auxerr (sp1t, serr) // in s2vs end // end of [sp2at_trdn_arg] in (* in of [local] *) implement sp1at_trdn (sp1t, s2t_pat) = let // val loc0 = sp1t.sp1at_loc // fun auxerr1 ( sq: s0taq, id: symbol ) : void = let // val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("sp1at_trdn") val () = prerr ": the static identifier [" val () = prerr_sqid (sq, id) val () = prerrln! ("] does not refer to a static constructor associated with the sort [", s2t_pat, "].") // in the_trans2errlst_add (T2E_sp1at_trdn (sp1t, s2t_pat)) end // end of [auxerr1] // fun auxerr2 ( sq: s0taq, id: symbol ) : void = let // val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("sp1at_trdn") val () = prerr ": the static identifier [" val () = prerr_sqid (sq, id) val () = prerrln! "] does not refer to a static constructor." // in the_trans2errlst_add(T2E_sp1at_trdn(sp1t, s2t_pat)) end // end of [auxerr2] // fun auxerr3 ( sq: s0taq, id: symbol ) : void = let // val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug ("sp1at_trdn") val () = prerr ": the static identifier [" val () = prerr_sqid (sq, id) val () = prerrln! "] is unrecognized." // in the_trans2errlst_add(T2E_sp1at_trdn(sp1t, s2t_pat)) end // end of [auxerr3] // fun auxcheck ( sp1t: sp1at, s2vs: s2varlst ) : void = let // fun procrepeat ( sp1t: sp1at, sym: symbol ) : void = ( case+ sp1t.sp1at_node of | SP1Tcstr (_(*sq*), _(*id*), s1as) => procrepeat2 (s1as, sym) ) and procrepeat2 ( s1as: s1arglst, sym: symbol ) : void = ( case+ s1as of | list_cons (s1a, s1as) => let val () = if s1a.s1arg_sym = sym then ( $LOC.prerr_location (s1a.s1arg_loc); prerr_newline () ) // end of [val] in procrepeat2 (s1as, sym) end // end of [list_cons] | list_nil () => () ) // end of [procrepeat2] // val s2vs_dups = sp1at_get_dups (s2vs) // in // case+ s2vs_dups of // case+ // | list_nil() => () // | list_cons (s2v, _) => { val sym = s2var_get_sym (s2v) val () = prerr_error2_loc (loc0) val () = prerr! (": the static variable [", sym) val () = prerrln! "] is not allowed to occur repeatedly in a pattern:" val () = procrepeat (sp1t, sym) val () = the_trans2errlst_add (T2E_sp1at_trdn (sp1t, s2t_pat)) } (* end of [list_cons] *) // end (* end of [auxcheck] *) // fun auxselect ( s2cs: s2cstlst , s2t_pat: s2rt, s2ts_arg: &s2rtlst ) : s2cstlst = let in // case+ s2cs of | list_cons (s2c, s2cs1) => let val s2t_s2c = s2cst_get_srt (s2c) in case+ s2t_s2c of | S2RTfun (s2ts, s2t) => let val test = s2rt_ltmat1 (s2t_pat, s2t) in if test then let val () = s2ts_arg := s2ts in s2cs end else auxselect (s2cs1, s2t_pat, s2ts_arg) // end of [if] end // end of [S2RTfun] | _ => auxselect (s2cs1, s2t_pat, s2ts_arg) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxselect] // in // case+ sp1t.sp1at_node of | SP1Tcstr (sq, id, s1as) => let val ans = the_s2expenv_find_qua (sq, id) in case+ ans of | ~Some_vt s2i => begin case+ s2i of | S2ITMcst (s2cs) => let var s2ts_arg: s2rtlst = list_nil () val s2cs = auxselect (s2cs, s2t_pat, s2ts_arg) in case+ s2cs of | list_cons (s2c, _) => let val s2vs = sp1at_trdn_arg (sp1t, s2t_pat, sq, id, s1as, s2ts_arg) // HX: checking for repeated occurrences val () = auxcheck (sp1t, s2vs) in sp2at_con (loc0, s2c, s2vs) end // end of [list_cons] | list_nil () => let // HX: [sqid] is not applicable val () = auxerr1 (sq, id) in sp2at_err (loc0) end // end of [list_nil] end // end of [S2ITMcst] | _ => let // HX: [sqid] does not refer to a static constructor val () = auxerr2 (sq, id) in sp2at_err (loc0) end (* end of [_] *) end // end of [Some_vt] | ~None_vt () => let // HX: [sqid] is unrecognized val () = auxerr3 (sq, id) in sp2at_err (loc0) end // end of [None_vt] end // end of [SP1Tcstr] // end // end of [sp1at_trdn] end // end of [local] (* ****** ****** *) fun s1exp_trup_sqid ( s1e0: s1exp, sq: s0taq, id: symbol ) : s2exp = let // val loc0 = s1e0.s1exp_loc val ans = the_s2expenv_find_qua (sq, id) // in // case+ ans of // | ~Some_vt s2i0 => begin case+ s2i0 of // | S2ITMcst s2cs => let val-list_cons (s2c, _) = s2cs // HX: [s2cs] cannot be empty // fun loop ( s2cs: s2cstlst, s2c0: s2cst ) : s2cst = // find the first non-functional one if it exists case+ s2cs of | list_cons (s2c, s2cs) => let val s2t = s2cst_get_srt (s2c) in if s2rt_is_fun (s2t) then loop (s2cs, s2c0) else s2c end // end of [list_cons] | list_nil () => s2c0 // end of [list_nil] val s2c = loop (s2cs, s2c) // val s2e0 = s2exp_cst (s2c) // in case+ s2cst_get_srt (s2c) of | S2RTfun ( list_nil (), s2t_res ) when s2rt_is_dat (s2t_res) => s2exp_app_srt (s2t_res, s2e0, list_nil ()) // HX: automatically applied // S2RTfun | _ (*non-S2RTfun*) => s2e0 // HX: [s2c] is not a nullary constructor end // end of [S2ITMcst] // | S2ITMe1xp e1xp => let val e1xp = e1xp_normalize (e1xp) val s1e = s1exp_make_e1xp (loc0, e1xp) in s1exp_trup (s1e) end // end of [S1ITMe1xp] // | S2ITMvar s2v => let (* val () = s2var_check_tmplev (loc0, s2v) *) in s2exp_var (s2v) end // end of [S2ITMvar] // | _ => let val () = prerr_interror_loc (loc0) val () = prerrln! (": s1exp_trup_sqid: s1e0 = ", s1e0) val () = prerrln! (": s1exp_trup_sqid: s2i0 = ", s2i0) in $ERR.abort_interr{s2exp}((*void*)) end (* end of [_] *) end // end of [Some_vt] // | ~None_vt () => let val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "s1exp_trup_sqid" val () = prerr ": the static identifier [" val () = prerr_sqid (sq, id) val () = prerrln! "] is unrecognized." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_s2rt_err () end // end of [None_vt] // end // end of [s1exp_trup_sqid] (* ****** ****** *) fun s2exp_app_wind ( s1e0: s1exp , s2e_fun: s2exp, s2ess_arg: List_vt (locs2explst) ) : s2exp = let (* // val () = ( println! ("s2exp_app_wind: aux: s1e0 = ", s1e0) ) (* end of [val] *) // *) fun aux ( s1e0: s1exp, x: locs2exp, s2t: s2rt ) : s2exp = let val s2e = x.1 (* // val () = ( println! ("s2exp_app_wind: aux: s2e = ", s2e) ) (* end of [val] *) // *) val test = s2rt_ltmat1 (s2e.s2exp_srt, s2t) // in if test then s2e else let val () = prerr_error2_loc (x.0) val () = filprerr_ifdebug "s1exp_app_wind" val () = prerr ": the static expression is of the sort [" val () = prerr_s2rt (s2e.s2exp_srt) val () = prerrln! ("] but it is expectecd to be of the sort [", s2t, "].") val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_err (s2t) end // end of [if] end // end of [s2exp_app_wind] // fun auxlst ( s1e0: s1exp, xs: locs2explst, s2ts: s2rtlst ) : s2explst = let in // case+ xs of | list_cons (x, xs) => ( case+ s2ts of | list_cons (s2t, s2ts) => let val s2e = aux (s1e0, x, s2t) in list_cons (s2e, auxlst (s1e0, xs, s2ts)) end | list_nil () => let val () = prerr_error2_loc (x.0) val () = filprerr_ifdebug "s1exp_app_wind" val ( ) = prerrln! ( ": arity mismatch: the static argument is discarded." ) (* end of [val] *) val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in auxlst (s1e0, xs, s2ts) end // end of [list_nil] ) (* end of [list_cons] *) | list_nil ((*void*)) => ( case+ s2ts of | list_cons (s2t, s2ts) => let val () = prerr_error2_loc (s1e0.s1exp_loc) val () = filprerr_ifdebug "s1exp_app_wind" val ( ) = prerrln! ( ": arity mismatch: more static arguments are needed." ) (* end of [val] *) val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) val s2e = s2exp_err (s2t) // HX: a placeholder for continuing in list_cons (s2e, auxlst (s1e0, xs, s2ts)) end // end of [list_cons] | list_nil () => list_nil () ) (* end of [list_nil] *) // end // end of [auxlst] // fun loop ( s1e0: s1exp , s2t: s2rt , xss: List_vt (locs2explst) , s2e: s2exp ) : s2exp = let in // case+ xss of | ~list_vt_cons (xs, xss) => ( if s2rt_is_fun (s2t) then let val-S2RTfun (s2ts, s2t) = s2t var err: int = 0 val s2es = auxlst (s1e0, xs, s2ts) val s2e = s2exp_app_srt (s2t, s2e, s2es) in loop (s1e0, s2t, xss, s2e) end else let val () = list_vt_free (xss) val () = prerr_error2_loc (s1e0.s1exp_loc) val () = filprerr_ifdebug "s1exp_app_wind" val () = prerrln! ": the static term is overly applied." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_err (s2t) end // end of [if] ) // end of [list_cons] | ~list_vt_nil () => s2e // end (* end if [loop] *) // in loop (s1e0, s2e_fun.s2exp_srt, s2ess_arg, s2e_fun) end // end of [s2exp_app_wind] (* ****** ****** *) typedef locs1explst = @(location, s1explst) (* ****** ****** *) fun s1exp_app_unwind ( s1e0: s1exp, xs: &List_vt (locs1explst) ) : s1exp = let in // case+ s1e0.s1exp_node of | S1Eapp ( s1e, larg, s1es ) => let val x = (larg, s1es) val () = xs := list_vt_cons (x, xs) in s1exp_app_unwind (s1e, xs) end // end of [S1Eapp] | S1Eide (id) => let val ans = the_s2expenv_find (id) in case+ ans of | ~Some_vt s2i => ( case+ s2i of | S2ITMe1xp e0 => s1exp_app_unwind_e1xp (s1e0, e0, xs) | _ => s1e0 ) // end of [Some_vt] | ~None_vt () => s1e0 end (* end of [S1Eide] *) | _ => s1e0 // end of [_] // end // end of [s1exp_app_unwind] and s1exp_app_unwind_e1xp ( s1e0: s1exp, e0: e1xp, xs: &List_vt (locs1explst) ) : s1exp = let val loc0 = s1e0.s1exp_loc val nxs = list_vt_length (xs) in // case+ e0.e1xp_node of | E1XPfun _ when nxs > 0 => let val+~list_vt_cons (x, xs1) = xs val () = xs := xs1 // prval pfu = unit_v () val es = list_map_vclo {unit_v} (pfu | x.1, !p_clo) where { var !p_clo = @lam (pf: !unit_v | s1e: s1exp): e1xp => e1xp_make_s1exp (loc0, s1e) // end of [var] } // end of [val] prval unit_v () = pfu // val e0 = e1xp_app (loc0, e0, loc0, l2l (es)) val e1 = e1xp_normalize (e0) val s1e1 = s1exp_make_e1xp (loc0, e1) in s1exp_app_unwind (s1e1, xs) end // end of [E1XPfun] | _ => let val e1 = e1xp_normalize (e0) val s1e1 = s1exp_make_e1xp (loc0, e1) in s1exp_app_unwind (s1e1, xs) end // end of [_] // end // end of [s1exp_app_unwind_e1xp] (* ****** ****** *) fun s1exp_trup_invar ( refval: int, s1e: s1exp ) : s2exp = let val s2t = ( if refval = 0 then s2rt_view (*val*) else s2rt_vt0ype (*ref*) ) : s2rt // end of [val] val s2e: s2exp = s1exp_trdn (s1e, s2t) in s2exp_refarg (refval, s2e) end // end of [s1exp_trup_invar] (* ****** ****** *) (* ** HX-2012-05-24: ** for synthesizing the second arg of S1Etrans: ** T >> _ stands for T >> T ** T >> _? stands for T >> T? ** T >> _?! stands for T >> T?! ** T? >> _ stands for T? >> T *) fun s1exp_is_underscore (s1e: s1exp): bool = let in case+ s1e.s1exp_node of | S1Eide (sym) => if sym = $SYM.symbol_UNDERSCORE then true else false | _ => false // end of [_] end // end of [s1exp_is_underscore] fun s1exp_test_top_underscore (s1e: s1exp): int = let in case+ s1e.s1exp_node of | S1Etop (knd, s1e) => if s1exp_is_underscore (s1e) then knd else ~1 | _ => ~1 end // end of [s1exp_is_top_underscore] fun s1exp_untop_if (s1e: s1exp): s1exp = ( case+ s1e.s1exp_node of S1Etop (knd, s1e) => s1e | _ => s1e ) // end of [s1exp_untop_if] fun s1exp_trans_syn_arg2 ( s1e1: s1exp, s1e2: s1exp ) : s1exp = let val isUS = s1exp_is_underscore (s1e2) in if isUS then let val s1e = s1exp_untop_if (s1e1) in s1e end else let val knd = s1exp_test_top_underscore (s1e2) in if knd >= 0 then let val s1e = s1exp_untop_if (s1e1) in s1exp_top (s1e.s1exp_loc, knd, s1e) end else s1e2 // end of [if] end // end of [if] end // end of [s1exp_trans_syn_arg2] (* ****** ****** *) implement s1exp_trup_arg (s1e0, ws1es) = let (* // val () = ( println! ("s1exp_trup_arg: s1e0 = ", s1e0) ) (* end of [val] *) // *) in // case+ s1e0.s1exp_node of | S1Einvar (refval, s1e) => let val () = ws1es := WTHS1EXPLSTcons_some (0(*invar*), refval, s1e, ws1es) // end of [val] in s1exp_trup_invar (refval, s1e) end // end of [S1Einvar] | S1Etrans (s1e1, s1e2) => ( case+ s1e1.s1exp_node of | S1Einvar (refval, s1e_arg) => let val s1e2 = s1exp_trans_syn_arg2 (s1e_arg, s1e2) val () = ws1es := WTHS1EXPLSTcons_some (1(*trans*), refval, s1e2, ws1es) // end of [val] in s1exp_trup_invar (refval, s1e_arg) end // end of [S1Einvar] | _ => let val () = prerr_error2_loc (s1e1.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_arg" // for debugging val () = prerrln! ": a refval-type must begin with !(call-by-value) or &(call-by-reference)" val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_s2rt_err () end // end of [_] ) // end of [S1Etrans] | _ => let val () = ws1es := WTHS1EXPLSTcons_none (ws1es) in s1exp_trup (s1e0) end // end of [_] // end // end of [s1exp_trup_arg] (* ****** ****** *) implement s1exp_trdn_res_impred (s1e0, ws1es) = let // fun auxwth ( ws1es: wths1explst ) : wths2explst = let in // case+ ws1es of | WTHS1EXPLSTcons_some (knd, refval, s1e, ws1es) => let val s2t = ( if refval = 0 then s2rt_view else s2rt_vt0ype ) : s2rt // end of [val] val s2e = s1exp_trdn (s1e, s2t) val ws2es = auxwth (ws1es) // // HX-2012-05: // hnfizing needed for removing READ, WRITE, etc. // val s2e = s2exp_hnfize (s2e) val isinv = ( if knd = 0 then s2exp_is_nonvar (s2e) else false ) : bool // end of [val] // in if isinv then WTHS2EXPLSTcons_invar (refval, s2e, ws2es) else WTHS2EXPLSTcons_trans (refval, s2e, ws2es) // end of [if] end // end of [WTHS1EXPLSTcons_invar] | WTHS1EXPLSTcons_none (ws1es) => let val ws2es = auxwth (ws1es) in WTHS2EXPLSTcons_none (ws2es) end // end of [WTHS1EXPLSTcons_none] | WTHS1EXPLSTnil () => WTHS2EXPLSTnil () // end // endof [auxwth] // fun auxres ( s1e: s1exp, ws1es: wths1explst ) : s2exp = let in // case+ s1e.s1exp_node of | S1Eexi ( 1(*funres*), s1qs, s1e_scope ) => let val (pf_s2expenv | ()) = the_s2expenv_push_nil () val s2q = s1qualst_tr (s1qs) val s2e_scope = auxres (s1e_scope, ws1es) val () = the_s2expenv_pop_free (pf_s2expenv | (*none*)) in s2exp_exi (s2q.s2qua_svs, s2q.s2qua_sps, s2e_scope) end // end of [S1Eexi] | _ => let val s2e = s1exp_trdn_impred (s1e) val ws2es = auxwth (ws1es) in s2exp_wthtype (s2e, ws2es) end // end of [_] // end // end of [auxres] // in // if wths1explst_is_none (ws1es) then s1exp_trdn_impred (s1e0) else auxres (s1e0, ws1es) // end of [if] // end // end of [s1exp_trdn_res_impred] (* ****** ****** *) fun s1exp_trup_arrow // arrow is a special type constructor ( s1e0: s1exp , fcopt: fcopt , islin: bool , isprf: bool , efcopt: effcstopt , xs: List_vt (locs1explst) ) : s2exp = let // #define nil list_nil #define cons list_cons #define :: list_cons // fun auxerr1 ( s1e0: s1exp, xs: !List_vt (locs1explst) ) : void = case+ xs of | list_vt_cons _ => fold@ (xs) | list_vt_nil () => { prval () = fold@ (xs) val () = prerr_error2_loc (s1e0.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_arrow" val () = prerrln! ": illegal static application." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) } // end of [list_vt_nil] // end of [auxerr1] fun auxerr2 ( s1e0: s1exp , xs: List_vt (locs1explst) ) : void = let in // case+ xs of | list_vt_cons _ => let prval () = fold@ (xs) val () = list_vt_free (xs) val () = prerr_error2_loc (s1e0.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_arrow" val () = prerrln! ": illegal static application." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in // nothing end // end of [~list_vt_cons] | ~list_vt_nil () => () // end // end of [auxerr2] // fun auxerr3 ( s1e0: s1exp, s1e: s1exp, s2t: s2rt ) : s2exp = let val () = prerr_error2_loc (s1e.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_arrow" val () = prerr ": the static expression needs to be impredicative" val () = prerrln! (" but is assigned the sort [", s2t, "].") val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_s2rt_err () end (* end of [auxerr3] *) // val () = auxerr1 (s1e0, xs) // HX: is this really needed? val-~list_vt_cons (x, xs) = xs val () = auxerr2 (s1e0, xs) // HX: reporting an error if [xs] is not nil val s1es = x.1 : s1explst val-s1e_arg :: s1e_res :: nil () = s1es // var npf: int = ~1 // HX: default var s1es_arg: s1explst = list_nil () // val () = ( case+ s1e_arg.s1exp_node of | S1Elist (n, s1es) => (npf := n; s1es_arg := s1es) | _ => s1es_arg := list_sing (s1e_arg) // HX: npf = -1 ) : void // end of [val] // var ws1es: wths1explst = WTHS1EXPLSTnil () // val s2es_arg = let fun aux ( s1es: s1explst, ws1es: &wths1explst ) : s2explst = case+ s1es of | list_cons (s1e, s1es) => let val s2e = s1exp_trup_arg (s1e, ws1es) val s2t = s2e.s2exp_srt var imp: int = 0 and types: int = 0 val () = ( case+ s2t of | S2RTbas s2tb => ( case+ s2tb of | S2RTBASimp (_, name) => { val () = imp := 1 // impredicative val () = if name = $SYM.symbol_TYPES then types := 1 } // end of [S2RTBASimp] | _ => () // end of [_] ) // end of [S2RTbas] | _ => () // end of [_] ) : void // end of [val] val s2e = ( if imp > 0 then (if types > 0 then s2exp_vararg (s2e) else s2e) else auxerr3 (s1e0, s1e, s2t) ) : s2exp // end of [val] in list_cons (s2e, aux (s1es, ws1es)) end // end of [list_cons] | list_nil () => list_nil () // end of [aux] in aux (s1es_arg, ws1es) end // end of [val] // val () = ws1es := wths1explst_reverse (ws1es) val s2e_res = s1exp_trdn_res_impred (s1e_res, ws1es) val s2t_res = s2e_res.s2exp_srt // val loc0 = s1e0.s1exp_loc val isprf = (if isprf then isprf else s2rt_is_prf s2t_res): bool val fc = ( case+ fcopt of | Some fc => fc | None () => FUNCLOfun () // default is [function] ) : funclo // end of [val] val s2t_fun = s2rt_prf_lin_fc (loc0, isprf, islin, fc) val lin = (if islin then 1 else 0): int // end of [val] val sf2e = (case+ efcopt of | Some efc => effcst_tr (efc) | None () => if isprf then s2eff_nil else s2eff_all // end of [None] ) : s2eff // end of [val] // in s2exp_fun_srt (s2t_fun, fc, lin, sf2e, npf, s2es_arg, s2e_res) end // end of [s1exp_trup_arrow] (* ****** ****** *) fun s1exp_trup_app ( s1e0: s1exp, s1opr: s1exp , _fun: s2exp, _arg: List_vt (locs1explst) ) : s2exp = let // fun auxerr1 ( s1e0: s1exp, loc: location, serr: int ) : void = { val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "s1exp_trup_app" val () = prerr ": the static application needs " val () = prerr_string (if serr > 0 then "more" else "fewer") val () = prerrln! " arguments." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) } (* end of [auxerr1] *) // fun auxerr2 ( s1e0: s1exp, loc: location, s2e: s2exp ) : void = { val () = prerr_error2_loc (loc) val () = filprerr_ifdebug "s1exp_trup_app" val () = prerr! (": the static expression [", s2e) val () = prerrln! ("] is expected to be of a functional sort but it is assigned the sort [", s2e.s2exp_srt, "].") val () = the_trans2errlst_add (T2E_s1exp_trup_app (s1e0)) } (* end of [auxerr2] *) // fun loop ( s1e0: s1exp, loc: location , s2e_fun: s2exp, xs: List_vt (locs1explst) ) : s2exp = begin case+ xs of | ~list_vt_cons (x, xs) => let val s2t_fun = s2e_fun.s2exp_srt in if s2rt_is_fun (s2t_fun) then let val-S2RTfun (s2ts_arg, s2t_res) = s2t_fun var serr: int = 0 val s2es_arg = s1explst_trdn_err (x.1, s2ts_arg, serr) in case+ 0 of | _ when serr = 0 => let val s2e_fun = s2exp_app_srt (s2t_res, s2e_fun, s2es_arg) in loop (s1e0, loc, s2e_fun, xs) end // end of [_ when serr = 0] | _ => let val () = list_vt_free (xs) val () = auxerr1 (s1e0, loc + x.0, serr) in s2exp_err (s2t_res) end // end of [_ when err != 0] // end of [case] end else let val () = list_vt_free (xs) val () = auxerr2 (s1e0, loc, s2e_fun) in s2exp_err (s2t_fun) end // end of [if] end (* end of [list_cons] *) | ~list_vt_nil _ => s2e_fun end // end of [loop] // in loop (s1e0, s1opr.s1exp_loc, _fun, _arg) end // end of [s1exp_trup_app] (* ****** ****** *) fun s1exp_trup_app_datcontyp ( s1e0: s1exp , s1opr: s1exp , d2c: d2con, xs: List_vt (locs1explst) ) : s2exp = let // fun auxck1 ( s1e0: s1exp , d2c: d2con, xs: List_vt (locs1explst) ) : int(*nerr*) = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = prerr_error2_loc (x.0) val () = prerrln! ": overly supplied static argument group." in auxck1 (s1e0, d2c, xs) + 1 end // end of [list_vt_cons] | ~list_vt_nil () => (0) // end // end of [auxck1] // fun auxck2 ( s1e0: s1exp , d2c: d2con, s1es: s1explst ) : void = let val n = list_length (s1es) val arity = d2con_get_arity_full (d2c) val sgn = n - arity in // if sgn != 0 then let val loc0 = s1e0.s1exp_loc val () = prerr_error2_loc (loc0) val () = prerr ": the type constructor [" val () = prerr_d2con (d2c) val () = if sgn < 0 then prerr "] expects more arguments."; val () = if sgn > 0 then prerr "] expects fewer arguments."; val () = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_s1exp_trup (s1e0)) end // end of [if] // end // end of [auxck2] // val s1es = ( case+ xs of | ~list_vt_cons (x, xs) => let val nerr = auxck1 (s1e0, d2c, xs) val () = ( if nerr > 0 then the_trans2errlst_add (T2E_s1exp_trup (s1e0)) // end of [if] ) // end of [val] in x.1 end // end of [list_vt_cons] | ~list_vt_nil () => list_nil () ) : s1explst // end of [val] // val () = auxck2 (s1e0, d2c, s1es) val s2es = s1explst_trdn_impred (s1es) // in s2exp_datcontyp (d2c, s2es) end // end of [s1exp_trup_app_datcontyp] (* ****** ****** *) fun s1exp_trup_app_datconptr ( s1e0: s1exp , s1opr: s1exp , d2c: d2con, xs: List_vt (locs1explst) ) : s2exp = let // fun auxck1 ( s1e0: s1exp , d2c: d2con, xs: List_vt (locs1explst) ) : int(*nerr*) = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = prerr_error2_loc (x.0) val () = prerrln! ": overly supplied static argument group." in auxck1 (s1e0, d2c, xs) + 1 end // end of [list_vt_cons] | ~list_vt_nil () => (0) // end // end of [auxck1] // fun auxck2 ( s1e0: s1exp , d2c: d2con, s1es: s1explst ) : void = let val n = list_length (s1es) val arity = d2con_get_arity_full (d2c) val sgn = n - (1(*rt*) + arity) in // if sgn != 0 then let val loc0 = s1e0.s1exp_loc val () = prerr_error2_loc (loc0) val () = prerr ": the type constructor [" val () = prerr_d2con (d2c) val () = if sgn < 0 then prerr "] expects more arguments."; val () = if sgn > 0 then prerr "] expects fewer arguments."; val () = prerr_newline ((*void*)) in the_trans2errlst_add (T2E_s1exp_trup (s1e0)) end // end of [if] // end // end of [auxck2] // val s1es = ( case+ xs of | ~list_vt_cons (x, xs) => let val nerr = auxck1 (s1e0, d2c, xs) val () = ( if nerr > 0 then the_trans2errlst_add (T2E_s1exp_trup (s1e0)) // end of [if] ) // end of [val] in x.1 end // end of [list_vt_cons] | ~list_vt_nil () => list_nil () ) : s1explst // end of [val] // val () = auxck2 (s1e0, d2c, s1es) val s2es = s1explst_trdn_addr (s1es) val-list_cons (_rt, _arg) = s2es // in s2exp_datconptr (d2c, _rt, _arg) end // end [s1exp_trup_app_datconptr] (* ****** ****** *) fun s1exp_trup_app_sqid ( s1e0: s1exp , s1opr: s1exp , sq: s0taq, id: symbol , xs: List_vt (locs1explst) ) : s2exp = let // val spsid = staspecid_of_sqid (sq, id) // in // case+ spsid of | SPSIDarrow () => s1exp_trup_arrow ( s1e0, None(*fc*), false(*lin*), false(*prf*), None(*efc*), xs ) // end of [SPSIDarrow] | _(*SPSIDnone*) => let val ans = the_s2expenv_find_qua (sq, id) in case+ ans of | ~Some_vt s2i => s1exp_trup_app_sqid_itm (s1e0, s1opr, sq, id, s2i, xs) // end of [Some_vt] | ~None_vt () => let val () = list_vt_free (xs) val () = prerr_error2_loc (s1opr.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_app_sqid" val () = prerr ": unrecognized static identifier [" val () = prerr_sqid (sq, id) val () = prerrln! "]." in s2exp_s2rt_err () end // end of [None_vt] end // end of [SPSIDnone] // end // end of [s1exp_trup_app_sqid] and s1exp_trup_app_sqid_itm ( s1e0: s1exp , s1opr: s1exp , sq: s0taq, id: symbol, s2i0: s2itm , xs: List_vt (locs1explst) ) : s2exp = let // (* val () = ( println! ("s1exp_trup_app_sqid_itm: s1e0 = ", s1e0); println! ("s1exp_trup_app_sqid_itm: s1e0 = ", s2i0); ) (* end of [val] *) *) // in // case+ s2i0 of | S2ITMcst s2cs => let typedef T1 = locs1explst // = (loc)s1explst typedef T2 = locs2explst // = (locs2exp)lst val ys = let fun f (x: T1): T2 = l2l ( list_map_fun (x.1, lam s1e =<1> (s1e.s1exp_loc, s1exp_trup s1e)) ) // end of [f] // end of [fun] in list_map_fun ($UN.castvwtp1 {List(T1)} (xs), f) end // end of [val] val () = list_vt_free (xs) val s2cs = s2cst_select_locs2explstlst (s2cs, $UN.castvwtp1 {List(T2)} (ys)) in case+ s2cs of | list_cons (s2c, _) => s2exp_app_wind (s1e0, s2exp_cst (s2c), ys) // end of [list_cons] | list_nil () => let val () = list_vt_free (ys) val () = prerr_error2_loc (s1e0.s1exp_loc) val () = filprerr_ifdebug "s1exp_trup_app_sqid_itm" val () = prerr ": none of the static constants referred to by [" val () = prerr_sqid (sq, id) val () = prerrln! "] is applicable." val () = the_trans2errlst_add (T2E_s1exp_trup (s1e0)) in s2exp_s2rt_err () end // end of [_] end // end of [S2ITEMcst] | S2ITMvar s2v => let (* val () = s2var_check_tmplev (s1opr.s1exp_loc, s2v) // end of [val] *) in s1exp_trup_app (s1e0, s1opr, s2exp_var (s2v), xs) end // end of [S2ITEMvar] // | S2ITMdatcontyp d2c => s1exp_trup_app_datcontyp (s1e0, s1opr, d2c, xs) | S2ITMdatconptr d2c => s1exp_trup_app_datconptr (s1e0, s1opr, d2c, xs) // | _ => let val () = list_vt_free (xs) val () = prerr_interror_loc (s1opr.s1exp_loc) val () = prerr_newline ((*void*)) val () = prerrln! (": NIY: s1exp_trup_app_sqid_itm: s1e0 = ", s1e0) val () = prerrln! (": NIY: s1exp_trup_app_sqid_itm: s2i0 = ", s2i0) in $ERR.abort_interr{s2exp}((*reachable*)) end // end of [_] end // end of [s1exp_trup_app_sqid_itm] (* ****** ****** *) fun s1exp_trup_top ( knd: int, s1e: s1exp ) : s2exp = let val s2e = s1exp_trdn_impred (s1e) in s2exp_top (knd, s2e) end // end of [s1exp_trup_top] (* ****** ****** *) local fun aux01 // flt/box: 0/1 ( i: int , npf: int, s1es: s1explst , lin: &int , prf: &int , prgm: &int ) : labs2explst = let in // case+ s1es of | list_cons (s1e, s1es) => let val lab = $LAB.label_make_int (i) val s2e = s1exp_trdn_impred (s1e) val ls2e = SLABELED (lab, None(), s2e) val s2t = s2e.s2exp_srt val () = if s2rt_is_lin (s2t) then (lin := lin+1) val () = if s2rt_is_prf (s2t) then (prf := prf+1) else (if i >= npf then prgm := prgm+1) // end of [if] // end of [val] in list_cons (ls2e, aux01 (i+1, npf, s1es, lin, prf, prgm)) end (* end of [list_cons] *) | list_nil () => list_nil () // end // end of [aux01] fun aux23 // box_t/box_vt : 2/3 ( i: int , npf: int, s1es: s1explst , s2t_prf: s2rt , s2t_prgm: s2rt ) : labs2explst = let in // case+ s1es of | list_cons (s1e, s1es) => let val lab = $LAB.label_make_int (i) val s2e = ( if i >= npf then s1exp_trdn (s1e, s2t_prgm) else s1exp_trdn (s1e, s2t_prf) // end of [if] ) : s2exp // end of [val] val ls2e = SLABELED (lab, None(), s2e) in list_cons (ls2e, aux23 (i+1, npf, s1es, s2t_prf, s2t_prgm)) end (* end of [list_cons] *) | list_nil () => list_nil () // end // end of [aux23] in (* in of [local] *) fun s1exp_trup_tytup_flt ( s1e0: s1exp, npf: int, s1es: s1explst ) : s2exp = let var lin: int = 0 var prf: int = 0 and prgm: int = 0 val ls2es = aux01 (0, npf, s1es, lin, prf, prgm) val boxed = 0 (* HX: this is the default *) val s2t_rec = ( s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) ) : s2rt // end of [val] in s2exp_tyrec_srt (s2t_rec, TYRECKINDflt0 (), npf, ls2es) end // end of [s1exp_trup_tytup_flt] fun s1exp_trup_tytup ( s1e0: s1exp, knd: int, npf: int, s1es: s1explst ) : s2exp = let (* val () = ( println! ("s1exp_trup_tytup: s1e0 = ", s1e0) ) (* end of [val] *) *) in // case+ knd of | TYTUPKIND_flt => s1exp_trup_tytup_flt (s1e0, npf, s1es) | TYTUPKIND_box => let var lin: int = 0 var prf: int = 0 and prgm: int = 0 val ls2es = aux01 (0, npf, s1es, lin, prf, prgm) val boxed = 1 val s2t_rec = ( s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) ) : s2rt // end of [val] val knd = ( if s2rt_is_nonlin (s2t_rec) then TYRECKINDbox () else TYRECKINDbox_lin () ) : tyreckind // end of [val] in s2exp_tyrec_srt (s2t_rec, knd, npf, ls2es) end | TYTUPKIND_box_t => let val ls2es = aux23 (0, npf, s1es, s2rt_prop, s2rt_t0ype) in s2exp_tyrec_srt (s2rt_type, TYRECKINDbox (), npf, ls2es) end | TYTUPKIND_box_vt => let val ls2es = aux23 (0, npf, s1es, s2rt_view, s2rt_vt0ype) in s2exp_tyrec_srt (s2rt_vtype, TYRECKINDbox_lin (), npf, ls2es) end | _ => let val () = assertloc (false) in s2exp_t0ype_err () end (* end of [_] *) end // end of [s1exp_trup_tytup] end // end of [local] (* ****** ****** *) local fun string_of_s0tring (tok: token): string = let val-$LEX.T_STRING (str) = tok.token_node in str end // end of [string_of_s0tring] fun aux01 ( // flt/box: 0/1 i: int , npf: int, ls1es: labs1explst , lin: &int , prf: &int , prgm: &int ) : labs2explst = begin case+ ls1es of | list_cons (ls1e, ls1es) => let val $SYN.SL0ABELED (l0ab, name, s1e) = ls1e val lab = l0ab.l0ab_lab val name = (case+ name of | Some tok => let val str = string_of_s0tring (tok) in Some (str) end // end of [Some] | None () => None ) : Option (string) val s2e = s1exp_trdn_impred (s1e) val ls2e = SLABELED (lab, name, s2e) val s2t = s2e.s2exp_srt val () = if s2rt_is_lin (s2t) then (lin := lin+1) val () = if s2rt_is_prf (s2t) then (prf := prf+1) else (if i >= npf then prgm := prgm+1) // end of [val] in list_cons (ls2e, aux01 (i+1, npf, ls1es, lin, prf, prgm)) end (* end of [list_cons] *) | list_nil () => list_nil () end // end of [aux01] fun aux23 ( // box_t/box_vt : 2/3 i: int , npf: int, ls1es: labs1explst , s2t_prf: s2rt , s2t_prgm: s2rt ) : labs2explst = begin case+ ls1es of | list_cons (ls1e, ls1es) => let val $SYN.SL0ABELED (l0ab, name, s1e) = ls1e val lab = l0ab.l0ab_lab val name = (case+ name of | Some tok => let val str = string_of_s0tring (tok) in Some (str) end // end of [Some] | None () => None ) : Option (string) val s2e = ( if i >= npf then s1exp_trdn (s1e, s2t_prgm) else s1exp_trdn (s1e, s2t_prf) // end of [if] ) : s2exp // end of [val] val ls2e = SLABELED (lab, name, s2e) in list_cons (ls2e, aux23 (i+1, npf, ls1es, s2t_prf, s2t_prgm)) end (* end of [list_cons] *) | list_nil () => list_nil () end // end of [aux23] in (* in of [local] *) fun s1exp_trup_tyrec ( s1e0: s1exp , knd: int, npf: int, ls1es: labs1explst ) : s2exp = let (* // val () = ( println! ("s1exp_trup_tyrec: s1e0 = ", s1e0); ) (* end of [val] *) // val () = println! ("s1exp_trup_tyrec: knd = ", knd) val () = println! ("s1exp_trup_tyrec: npf = ", npf) // *) in // case+ knd of | TYRECKIND_flt => let var lin: int = 0 var prf: int = 0 and prgm: int = 0 val ls2es = aux01 (0, npf, ls1es, lin, prf, prgm) val boxed = 0 val s2t_rec = ( s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) ) : s2rt // end of [val] in s2exp_tyrec_srt (s2t_rec, TYRECKINDflt0 (), npf, ls2es) end // end of [TYRECKIND_flt] | TYRECKIND_box => let var lin: int = 0 var prf: int = 0 and prgm: int = 0 val ls2es = aux01 (0, npf, ls1es, lin, prf, prgm) val boxed = 1 val s2t_rec = ( s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) ) : s2rt // end of [val] in s2exp_tyrec_srt (s2t_rec, TYRECKINDbox (), npf, ls2es) end // end of [TYRECKIND_box] | TYRECKIND_box_t => let val ls2es = aux23 (0, npf, ls1es, s2rt_prop, s2rt_t0ype) in s2exp_tyrec_srt (s2rt_type, TYRECKINDbox (), npf, ls2es) end // end of [TYRECKIND_box_t] | TYRECKIND_box_vt => let val ls2es = aux23 (0, npf, ls1es, s2rt_view, s2rt_vt0ype) in s2exp_tyrec_srt (s2rt_vtype, TYRECKINDbox (), npf, ls2es) end // end of [TYRECKIND_box_vt] | _ => let val () = assertloc (false) in s2exp_t0ype_err () end (* end of [_] *) end // end of [s1exp_trup_tyrec] fun s1exp_trup_tyrec_ext ( s1e0: s1exp, name: string, npf: int, ls1es: labs1explst ) : s2exp = let var lin: int = 0 var prf: int = 0 and prgm: int = 0 val ls2es = aux01 (0, npf, ls1es, lin, prf, prgm) val boxed = 0 val s2t_rec = ( s2rt_npf_lin_prf_prgm_boxed_labs2explst (npf, lin, prf, prgm, boxed, ls2es) ) : s2rt // end of [val] in s2exp_tyrec_srt (s2t_rec, TYRECKINDflt_ext name, npf, ls2es) end // end of [s1exp_tyrec_ext_tr_up] end // end of [local] (* ****** ****** *) implement s1exp_trup(s1e0) = let // val loc0 = s1e0.s1exp_loc // (* // val () = ( println! ("s1exp_trup: s1e0 = ", s1e0) ) (* end of [val] *) // *) in // case+ s1e0.s1exp_node of (* case+ *) // | S1Eide (id) => let val sq = $SYN.the_s0taq_none in s1exp_trup_sqid (s1e0, sq, id) end // end of [S1Eide] | S1Esqid (sq, id) => s1exp_trup_sqid (s1e0, sq, id) // | S1Eint (i) => s2exp_int (i) | S1Eintrep (rep) => let val i = $INTINF.intinf_make_string (rep) in s2exp_intinf (i) // end of [val] end // end of [S1Eintrep] // | S1Echar (c) => s2exp_int_char (c) // HX: it is signed! // | S1Efloat (rep) => s2exp_float (rep) // HX: for exporting | S1Estring (str) => s2exp_string (str) // HX: for exporting // | S1Eextype (name, s1ess) => let val s2ess = list_map_fun (s1ess, s1explst_trdn_vt0ype) // end of [val] in s2exp_extype_srt (s2rt_vt0ype, name, (l2l)s2ess) end // end of [S1Eextype] | S1Eextkind (name, s1ess) => let val s2ess = list_map_fun (s1ess, s1explst_trdn_vt0ype) // end of [val] in s2exp_extkind_srt (s2rt_tkind, name, (l2l)s2ess) end // end of [S1Eextkind] // | S1Eapp _ => let typedef T = locs1explst viewtypedef TS = List_vt (T) var xs: TS = list_vt_nil () val s1opr = s1exp_app_unwind (s1e0, xs) in case+ :(xs: TS?) => s1opr.s1exp_node of (* case+ *) | S1Eide (id) => let val sq = $SYN.the_s0taq_none in s1exp_trup_app_sqid (s1e0, s1opr, sq, id, xs) end // end of [S1Eide] | S1Esqid (sq, id) => s1exp_trup_app_sqid (s1e0, s1opr, sq, id, xs) // end of [S1Esqid] | S1Eimp (fc, lin, prf, oefc) => s1exp_trup_arrow (s1e0, Some fc, lin>0, prf>0, oefc, xs) // end of [S1Eimp] | _ (*rest-of-s1exp*) => let val s2opr = s1exp_trup (s1opr) in s1exp_trup_app (s1e0, s1opr, s2opr, xs) end // end of [_(*rest*)] end (* end of [S1Eapp] *) | S1Elam ( s1ma, s1topt, s1e_body ) => let val s2vs = s1arglst_trup (s1ma.s1marg_arg) // end of [val] val (pfenv|()) = the_s2expenv_push_nil() val ((*added*)) = the_s2expenv_add_svarlst (s2vs) val s2e_body = ( case+ s1topt of | Some s1t => let val s2t = s1rt_tr(s1t) in s1exp_trdn (s1e_body, s2t) // end of [val] end // end of [Some] | None ((*void*)) => s1exp_trup (s1e_body) ) : s2exp // end of [val] val ((*popped*)) = the_s2expenv_pop_free (pfenv | (*none*)) in s2exp_lam (s2vs, s2e_body) end // end of [S1Elam] // | S1Eimp _ => let val () = prerr_interror_loc(loc0) val () = prerrln! ( ": s1exp_trup: S1Eimp: s1e0 = ", s1e0 ) (* end of [val] *) in $ERR.abort_interr{s2exp}((*reachable*)) end // end of [S1Eimp] // | S1Etop (knd, s1e) => s1exp_trup_top (knd, s1e) // end of [S1Etop] // | S1Elist (npf, s1es) => s1exp_trup_tytup_flt (s1e0, npf, s1es) // | S1Etyarr (s1e_elt, s1es_ind) => let val s2e_elt = s1exp_trdn_vt0ype (s1e_elt) val s2es_ind = s1explst_trdn_int (s1es_ind) in s2exp_tyarr (s2e_elt, s2es_ind) end // end of [S1Etyarr] | S1Etytup (knd, npf, s1es) => s1exp_trup_tytup (s1e0, knd, npf, s1es) | S1Etyrec (knd, npf, ls1es) => s1exp_trup_tyrec (s1e0, knd, npf, ls1es) | S1Etyrec_ext (name, npf, ls1es) => s1exp_trup_tyrec_ext (s1e0, name, npf, ls1es) // | S1Einvar _ => let val () = prerr_error2_loc(loc0) val () = prerrln! ( ": invariant type can only be assigned to a function argument." ) (* end of [val] *) val () = the_trans2errlst_add(T2E_s1exp_trup(s1e0)) in s2exp_s2rt_err () end // end of [S1Einvar] | S1Etrans _ => let val () = prerr_error2_loc(loc0) val () = prerrln! ( ": transitional type can only be assigned to a function argument." ) (* end of [val] *) val () = the_trans2errlst_add(T2E_s1exp_trup(s1e0)) in s2exp_s2rt_err () end // end of [S1Etrans] // | S1Euni (s1qs, s1e_scope) => let (* val () = println! ("s1exp_trup: S1Euni: s1e0 = ", s1e0) // end of [val] *) val (pfenv|()) = the_s2expenv_push_nil() val s2q = s1qualst_tr (s1qs) val s2e_scope = s1exp_trdn_impred s1e_scope val ((*popped*)) = the_s2expenv_pop_free (pfenv | (*none*)) // end of [val] // in s2exp_uni (s2q.s2qua_svs, s2q.s2qua_sps, s2e_scope) end // end of [S1Euni] | S1Eexi (knd, s1qs, s1e_scope) => let (* val () = println! ("s1exp_trup: S1Eexi: s1e0 = ", s1e0) // end of [val] *) // val () = if knd > 0 then { val () = prerr_error2_loc(loc0) val () = prerrln! ( ": incorrect use of the existential quantifier #[...]" ) (* end of [val] *) val () = the_trans2errlst_add(T2E_s1exp_trup(s1e0)) // end of [val] } (* end of [if] *) // end of [val] // val (pfenv|()) = the_s2expenv_push_nil() val s2q = s1qualst_tr (s1qs) val s2e_scope = s1exp_trdn_impred (s1e_scope) val ((*popped*)) = the_s2expenv_pop_free (pfenv | (*none*)) in s2exp_exi (s2q.s2qua_svs, s2q.s2qua_sps, s2e_scope) end // end of [S1Eexi] // | S1Eann (s1e, s1t) => let val s2t = s1rt_tr (s1t) in s1exp_trdn (s1e, s2t) end // end of [S1Eann] // | S1Ed2ctype(d2ctp) => S1Ed2ctype_tr (d2ctp) // | S1Eerr((*error*)) => s2exp_s2rt_err((*void*)) // (* | _ (*rest-of-s1exp*) => let val () = prerr_interror_loc(loc0) val () = prerrln! (": NYI: s1exp_tr: s1e0 = ", s1e0) in $ERR.abort_interr((*unreachable*)) end // end of [_(*rest-of-s1exp*)] *) // end // end of [s1exp_trup] implement s1exp_trup_hnfize (s1e) = s2exp_hnfize (s1exp_trup s1e) (* ****** ****** *) implement s1explst_trup (s1es) = l2l (list_map_fun (s1es, s1exp_trup)) // end of [s1explst_trup] implement s1explst_trup_hnfize (s1es) = l2l (list_map_fun (s1es, s1exp_trup_hnfize)) // end of [s1explst_trup] (* ****** ****** *) implement s1expopt_trup (s1eopt) = case+ s1eopt of | Some s1e => Some (s1exp_trup s1e) | None () => None () // end of [s1expopt_trup] (* ****** ****** *) fun s1exp_trdn_lam ( s1e_lam: s1exp, s2t_fun: s2rt ) : s2exp = let // fun auxerr ( s1e: s1exp, s2t1: s2rt, s2t2: s2rt ) : void = { val () = prerr_error2_loc (s1e.s1exp_loc) val () = filprerr_ifdebug "s1exp_trdn_lam" val () = prerr ": the body of the static function is given the sort [" val () = prerr_s2rt (s2t1) val () = prerrln! ("] but it is expected to be of the sort [", s2t2, "].") val () = the_trans2errlst_add (T2E_s1exp_trdn (s1e_lam, s2t_fun)) } // end of [auxerr] // val-S1Elam ( s1ma, s1topt_res, s1e_body ) = s1e_lam.s1exp_node val-S2RTfun (s2ts_arg, s2t_res) = s2t_fun // var err: int = 0 val s2vs = s1marg_trdn (s1ma, s2ts_arg) // val s2t_res = (case+ s1topt_res of | Some s1t => s2t where { val s2t = s1rt_tr (s1t) val okay = s2rt_ltmat1 (s2t, s2t_res) val () = if ~okay then auxerr (s1e_lam, s2t, s2t_res) } // end of [Some] | None () => s2t_res ) : s2rt // end of [val] // val (pfenv | ()) = the_s2expenv_push_nil () val () = the_s2expenv_add_svarlst (s2vs) val s2e_body = s1exp_trdn (s1e_body, s2t_res) val () = the_s2expenv_pop_free (pfenv | (*none*)) // in s2exp_lam_srt (s2t_fun, s2vs, s2e_body) end // end of [s2exp_trdn_lam] implement s2exp_trdn (loc0, s2e, s2t) = let val s2t_new = s2e.s2exp_srt val test = s2rt_ltmat1 (s2t_new, s2t) in if test then s2e else let val () = prerr_error2_loc (loc0) val () = filprerr_ifdebug "s2exp_trdn" // for debugging val () = prerr ": the static expression is of the sort [" val () = prerr_s2rt (s2t_new) val () = prerrln! ("] but it is expectecd to be of the sort [", s2t, "].") val () = the_trans2errlst_add (T2E_s2exp_trdn (loc0, s2e, s2t)) in s2exp_err (s2t) end (* end of [if] *) end // end of [s2exp_trdn] implement s1exp_trdn (s1e, s2t) = let // fun auxerr // for S2Eextype ( s1e: s1exp, s2t: s2rt ) : void = { val () = prerr_error2_loc (s1e.s1exp_loc) val () = filprerr_ifdebug ("s1exp_trdn") val () = prerrln! (": the static term (extype) cannot be given the sort [", s2t, "].") val () = the_trans2errlst_add (T2E_s1exp_trdn (s1e, s2t)) } (* end of [auxerr] *) // in // case+ (s1e.s1exp_node, s2t) of // | (S1Elam _, S2RTfun _) => s1exp_trdn_lam (s1e, s2t) // | (S1Eextype (name, s1ess), _) => if s2rt_ltmat1 (s2t, s2rt_vt0ype) then let val s2ess = list_map_fun (s1ess, s1explst_trdn_vt0ype) in s2exp_extype_srt (s2t, name, (l2l)s2ess) end else let val () = auxerr (s1e, s2t) in s2exp_err (s2t) end // end of [if] // | (_, _) => let val s2e = s1exp_trup (s1e) in s2exp_trdn (s1e.s1exp_loc, s2e, s2t) end (* end of [_] *) // end // end of [s1exp_trdn] (* ****** ****** *) implement s1exp_trdn_int (s1e) = s1exp_trdn (s1e, s2rt_int) implement s1exp_trdn_addr (s1e) = s1exp_trdn (s1e, s2rt_addr) implement s1exp_trdn_bool (s1e) = s1exp_trdn (s1e, s2rt_bool) implement s1exp_trdn_t0ype (s1e) = s1exp_trdn (s1e, s2rt_t0ype) implement s1exp_trdn_vt0ype (s1e) = s1exp_trdn (s1e, s2rt_vt0ype) (* ****** ****** *) implement s1exp_trdn_impred (s1e) = let // val s2e = s1exp_trup (s1e) val s2t = s2rt_delink (s2e.s2exp_srt) val isimp = s2rt_is_impred (s2t) // in // if isimp then s2e else let val () = prerr_error2_loc (s1e.s1exp_loc) val () = filprerr_ifdebug "s1exp_trdn_impred" val () = prerr ": the static expression needs to be impredicative" val () = ( prerr " but is assigned the sort ["; prerr_s2rt (s2t); prerr "]." ) // end of [val] val () = prerr_newline () val () = the_trans2errlst_add (T2E_s1exp_trdn_impred (s1e)) in s2exp_err (s2t) end (* end of [if] *) // end // end of [s1exp_trdn_impred] (* ****** ****** *) implement s1explst_trdn_int (s1es) = l2l (list_map_fun (s1es, s1exp_trdn_int)) // end of [s1explst_trdn_int] implement s1explst_trdn_addr (s1es) = l2l (list_map_fun (s1es, s1exp_trdn_addr)) // end of [s1explst_trdn_addr] implement s1explst_trdn_bool (s1es) = l2l (list_map_fun (s1es, s1exp_trdn_bool)) // end of [s1explst_trdn_bool] implement s1explst_trdn_vt0ype (s1es) = l2l (list_map_fun (s1es, s1exp_trdn_vt0ype)) // end of [s1explst_trdn_vt0ype] implement s1explst_trdn_impred (s1es) = l2l (list_map_fun (s1es, s1exp_trdn_impred)) // end of [s1explst_trdn_impred] (* ****** ****** *) implement s1explst_trdn_err (s1es, s2ts, serr) = begin // case+ s1es of | list_cons (s1e, s1es) => ( case+ s2ts of | list_cons (s2t, s2ts) => let val s2e = s1exp_trdn (s1e, s2t) val s2es = s1explst_trdn_err (s1es, s2ts, serr) in list_cons (s2e, s2es) end // end of [list_cons] | list_nil () => let val () = serr := serr + 1 in list_nil () end // end of [list_nil] ) | list_nil () => list_nil () where { val () = (case+ s2ts of | list_cons _ => (serr := serr - 1) | list_nil () => () ) : void // end of [val] } // end of [list_nil] // end // end of [s1explst_trdn_err] (* ****** ****** *) implement s1exp_trdn_arg_impred (s1e, w1ts) = s2e where { // val s2e = s1exp_trup_arg (s1e, w1ts) val s2t = s2e.s2exp_srt val s2t = s2rt_delink (s2t) val isimp = s2rt_is_impred (s2t) // val () = if not(isimp) then let val () = prerr_error2_loc (s1e.s1exp_loc) val () = filprerr_ifdebug ("s1exp_trdn_arg_impred") val () = prerr ": the static expression needs to be impredicative" val () = prerrln! (" but it is assigned the sort [", s2t, "].") in the_trans2errlst_add (T2E_s1exp_trdn_impred (s1e)) end // end of [val] // } // end of [s1exp_trdn_arg_impred] (* ****** ****** *) implement witht1ype_tr (w1t) = ( case+ w1t of | WITHT1YPEsome (knd, s1e) => let val s2t = s2rt_impred (knd) in Some (s1exp_trdn (s1e, s2t)) end // end of [WiTHT1YPEsome] | WITHT1YPEnone () => None () ) // end of [witht1ype_tr] (* ****** ****** *) implement s1qualst_tr (s1qs) = let // fun loop ( s1qs: s1qualst , s2vs: &s2varlst_vt , s2ps: &s2explst_vt ) : void = let // fun auxsrt ( s2t1: s2rt , ids: i0delst , s2vs: &s2varlst_vt ) : void = case+ ids of | list_cons (id, ids) => let val s2v = s2var_make_id_srt (id.i0de_sym, s2t1) val () = the_s2expenv_add_svar (s2v) val () = s2vs := list_vt_cons (s2v, s2vs); in auxsrt (s2t1, ids, s2vs) end // end of [list_cons] | list_nil () => () (* end of [auxsrt] *) // fun auxsub1 ( s2v1: s2var , s2ps1: s2explst , s2v: s2var , s2ps: &s2explst_vt ) : void = case+ s2ps1 of | list_cons (s2p1, s2ps1) => let val s2p = s2exp_alpha (s2v1, s2v, s2p1) val () = s2ps := list_vt_cons (s2p, s2ps) in auxsub1 (s2v1, s2ps1, s2v, s2ps) end // end of [list_cons] | list_nil () => () (* end of [auxsub1] *) // fun auxsub2 ( s2v1: s2var , s2t1: s2rt , s2ps1: s2explst , ids: i0delst , s2vs: &s2varlst_vt , s2ps: &s2explst_vt ) : void = case+ ids of | list_cons (id, ids) => let val s2v = s2var_make_id_srt (id.i0de_sym, s2t1) // end of [val] val () = the_s2expenv_add_svar (s2v) val () = s2vs := list_vt_cons (s2v, s2vs) val () = auxsub1 (s2v1, s2ps1, s2v, s2ps) in auxsub2 (s2v1, s2t1, s2ps1, ids, s2vs, s2ps) end // end of [list_cons] | list_nil () => () (* end of [auxsub2] *) // in // case+ s1qs of | list_cons (s1q, s1qs) => begin case+ s1q.s1qua_node of | S1Qprop s1p => let val s2p = s1exp_trdn_bool (s1p) val () = s2ps := list_vt_cons (s2p, s2ps) in loop (s1qs, s2vs, s2ps) end | S1Qvars (ids, s1te) => let val s2te = s1rtext_tr (s1te) in case+ s2te of | S2TEsrt s2t1 => let val () = auxsrt (s2t1, ids, s2vs) in loop (s1qs, s2vs, s2ps) end // end of [S2TEsrt] | S2TEsub (s2v1, s2t1, s2ps1) => let val () = auxsub2 (s2v1, s2t1, s2ps1, ids, s2vs, s2ps) in loop (s1qs, s2vs, s2ps) end (* end of [S2TEsub] *) | S2TEerr () => let val s2t1 = s2rt_err () val () = auxsrt (s2t1, ids, s2vs) in loop (s1qs, s2vs, s2ps) end (* end of [S2TEerr] *) end // end of [S1Qvars] end // end of [list_cons] | list_nil () => () // end // end of [loop] // var s2vs : s2varlst_vt = list_vt_nil () var s2ps : s2explst_vt = list_vt_nil () // val () = loop (s1qs, s2vs, s2ps) // val s2vs = list_vt_reverse (s2vs) val s2ps = list_vt_reverse (s2ps) // in (* in of [let] *) // s2qua_make ((l2l)s2vs, (l2l)s2ps) // end // end of [s1qualst_tr] (* ****** ****** *) implement q1marg_tr (q1ma) = s1qualst_tr (q1ma.q1marg_arg) implement q1marg_tr_dec (q1ma) = let // val s2q = s1qualst_tr (q1ma.q1marg_arg) // in // if list_is_nil (s2q.s2qua_sps) then s2q else let // val loc = q1ma.q1marg_loc // val () = prerr_error3_loc (loc) // val () = filprerr_ifdebug "q1marg_tr_dec" // val () = prerrln! ": template arguments cannot be constrained." val () = the_trans2errlst_add (T2E_q1marg_tr_dec (q1ma)) // in s2qua_make (s2q.s2qua_svs, list_nil) // HX: sps is discarded end // end of [if] // end // end of [q1marg_tr_dec] (* ****** ****** *) implement s1rtext_tr (s1te0) = let (* val () = print "s1rtext_tr: s1te0 = " val () = fprint_s1rtext (stdout_ref, s1te0) val () = fprint_newline (stdout_ref) *) fun auxerr ( s1t: s1rt, q: s0rtq, id: symbol ) : void = let // val () = prerr_error2_loc (s1t.s1rt_loc) val () = filprerr_ifdebug "s1rtext_tr" // for debugging // val () = prerr ": the identifier ["; val () = ($SYN.prerr_s0rtq(q); $SYM.prerr_symbol(id)) val () = prerrln! "] refers to an unrecognized sort."; // in the_trans2errlst_add (T2E_s1rtext_tr (s1te0)) end // end of [auxerr] // in // case+ s1te0.s1rtext_node of // of [case+] | S1TEsrt (s1t) => ( case+ s1t.s1rt_node of | S1RTqid (q, id) => let val ans = the_s2rtenv_find_qua (q, id) in case+ ans of | ~Some_vt s2te => s2te | ~None_vt () => let val () = auxerr (s1t, q, id) in S2TEerr () end // end of [None_vt] end (* end of [S1RTqid] *) | _ => S2TEsrt (s1rt_tr s1t) ) // end of [S1TEsrt] | S1TEsub (id, s1te, s1ps) => let val s2te = s1rtext_tr s1te val s2t = (case+ s2te of | S2TEsrt s2t => s2t | S2TEsub (_, s2t, _) => s2t | S2TEerr () => s2rt_err () ) : s2rt // end of [val] val s2v_new = s2var_make_id_srt (id, s2t) val (pfenv | ()) = the_s2expenv_push_nil () val () = the_s2expenv_add_svar (s2v_new) val s2ps = s1explst_trdn_bool (s1ps) val () = the_s2expenv_pop_free (pfenv | (*none*)) val s2ps = ( case+ s2te of | S2TEsrt _ => s2ps | S2TEsub (s2v1, _, s2ps1) => begin list_append (s2ps, s2explst_alpha (s2v1, s2v_new, s2ps1)) end // end of [S2TEsub] | S2TEerr () => s2ps ) : s2explst // end of [val] in S2TEsub (s2v_new, s2t, s2ps) end // end of [S1TEsub] // end of [case] end // end of [s1rtext_tr] (* ****** ****** *) implement s1vararg_tr (x) = case+ x of | S1VARARGone (loc) => S2VARARGone () | S1VARARGall (loc) => S2VARARGall () | S1VARARGseq (loc, s1as) => let val s2vs = s1arglst_trup (s1as) in S2VARARGseq (s2vs) end // end of [S1VARARGseq] // end of [s1vararg_tr] implement s1exparg_tr (x) = let val loc = x.s1exparg_loc in // case+ x.s1exparg_node of | S1EXPARGone () => s2exparg_one (loc) | S1EXPARGall () => s2exparg_all (loc) | S1EXPARGseq (s1es) => s2exparg_seq (loc, s1explst_trup (s1es)) (* end of [S1EXPARGseq] *) // end // end of [s1exparg_tr] implement s1exparglst_tr (xs) = let val xs = list_map_fun (xs, s1exparg_tr) in (l2l)xs end // end of [s1exparglst_tr] (* ****** ****** *) implement t1mpmarg_tr (x) = let val loc = x.t1mpmarg_loc val s1es = x.t1mpmarg_arg val s2es = s1explst_trup (s1es) in t2mpmarg_make (loc, s2es) end // end of [t1mpmarg_tr] implement t1mpmarglst_tr (xs) = let val xs = list_map_fun (xs, t1mpmarg_tr) in (l2l)xs end // end of [t1mpmarglst_tr] (* ****** ****** *) implement d1atcon_tr ( s2c, islin, isprf, s2vss0, fil, d1c ) = let // fun auxerr1 ( d1c: d1atcon, id: symbol, serr: int ) : void = { // val loc = d1c.d1atcon_loc // val () = prerr_error2_loc (loc) val () = prerr ": the constructor [" // val () = $SYM.prerr_symbol (id) // val () = if serr < 0 then prerrln! "] is expected to be given more indexes." // val () = if serr > 0 then prerrln! "] is expected to be given fewer indexes." // val () = the_trans2errlst_add(T2E_d1atcon_tr(d1c)) // } (* end of [auxerr1] *) // fun auxerr2 ( d1c: d1atcon, id: symbol ) : void = { // val loc = d1c.d1atcon_loc // val () = prerr_error2_loc (loc) // val () = prerr! (": the constructor [", id) val () = prerrln! "] needs some indexes (but is given none)." // val () = the_trans2errlst_add (T2E_d1atcon_tr(d1c)) // } (* end of [auxerr2] *) // fun auxerr3 ( d1c: d1atcon, id: symbol ) : void = { val () = prerr_error2_loc (d1c.d1atcon_loc) val () = prerr! (": the constructor [", id) val () = prerrln! "] needs no indexes (but is given some)." val () = the_trans2errlst_add (T2E_d1atcon_tr(d1c)) } // end of [auxerr3] // val (pfenv|()) = the_s2expenv_push_nil() // val () = list_app_fun (s2vss0, the_s2expenv_add_svarlst) // var s2qs: List_vt (s2qua) = list_map_fun (d1c.d1atcon_qua, q1marg_tr) // val () = let fun aux ( s2qs: &List_vt (s2qua), xs: s2varlstlst ) : void = case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = aux (s2qs, xs) val s2q = s2qua_make (x, list_nil) in s2qs := list_vt_cons (s2q, s2qs) end // end of [list_cons] // end of [aux] in aux (s2qs, s2vss0) end // end of [val] val s2qs = l2l(s2qs) // val indopt_s2ts = let val s2t_fun = s2cst_get_srt(s2c) in case+ s2t_fun of S2RTfun (s2ts, _) => Some s2ts | _ => None () end : s2rtlstopt // end of [val] // val npf = d1c.d1atcon_npf and s1es_arg = d1c.d1atcon_arg // val s2es_arg = let val s2t_pfarg = ( if islin then s2rt_view else s2rt_prop ) : s2rt // end of [val] val s2t_arg = ( if isprf then s2t_pfarg else (if islin then s2rt_vt0ype else s2rt_t0ype) ) : s2rt // end of [val] fun aux ( i: int, s1es: s1explst ) : s2explst = case+ s1es of | list_cons (s1e, s1es) => let val s2t = ( if i < npf then s2t_pfarg else s2t_arg ) : s2rt val s2e = s1exp_trdn (s1e, s2t) in list_cons (s2e, aux (i+1, s1es)) end // end of [cons] | list_nil () => list_nil () // end of [list_nil] // end of [aux] in aux (0, s1es_arg) end // end of [val] // val id = d1c.d1atcon_sym val indopt_s1es = d1c.d1atcon_ind val indopt_s2es = ( // case+ ( indopt_s1es, indopt_s2ts ) of // of [case+] | (None (), None ()) => None () | (Some s1es, Some s2ts) => let var serr: int = 0 val s2es = s1explst_trdn_err (s1es, s2ts, serr) val () = if (serr != 0) then auxerr1 (d1c, id, serr) in Some (s2es) end // end of [Some, Some] | (None (), Some s2ts) => let val s2vs = ( case+ s2vss0 of | list_nil () => list_nil () | list_cons (s2vs, _) => s2vs ) : s2varlst // end of [val] val sgn = list_length_compare (s2vs, s2ts) val s2es = ( if sgn = 0 then let val s2es = list_map_fun (s2vs, s2exp_var) in (l2l)s2es end else let // sgn < 0 val () = auxerr2 (d1c, id) val s2es = list_map_fun (s2ts, s2exp_err) in (l2l)s2es // HX: placeholder for continuing end // end of [if] ) : s2explst // end of [val] in Some (s2es) end // end of [None, Some] | (Some _, None ()) => let val () = auxerr3 (d1c, id) in None () end // end of [Some, None] // ) : s2explstopt // end of [val] // val ((*popped*)) = the_s2expenv_pop_free(pfenv | (*none*)) // val loc0 = d1c.d1atcon_loc val vwtp = ( if isprf then 0 else if islin then 1 else 0 ) : int // end of [val] val d2c = d2con_make (loc0, fil, id, s2c, vwtp, s2qs, npf, s2es_arg, indopt_s2es) // end of [val] val () = the_d2expenv_add_dcon (d2c) // val () = if not(isprf) then { val () = the_s2expenv_add_datcontyp(d2c) // struct val () = if islin then the_s2expenv_add_datconptr(d2c) // unfold } // end of [if] // end of [val] // in d2c (*d2con*) end // end of [d1atcon_tr] (* ****** ****** *) implement stasub_extend_sarglst_svarlst (sub, s1as, s2vs, serr) = let // fun loop ( s1as: s1arglst , s2vs: s2varlst , sub: &stasub , s2vs1: s2varlst_vt , serr: &int ) : s2varlst_vt = case+ (s1as, s2vs) of | (s1a :: s1as, s2v :: s2vs) => let val s2t0 = s2var_get_srt (s2v) val s2v1 = s1arg_trdn (s1a, s2t0) val s2e1 = s2exp_var (s2v1) val () = stasub_add (sub, s2v, s2e1) val s2vs1 = list_vt_cons (s2v1, s2vs1) in loop (s1as, s2vs, sub, s2vs1, serr) end | (list_nil (), list_nil ()) => s2vs1 | (_ :: _, list_nil ()) => let val () = serr := serr + 1 in s2vs1 end // end of [nil, ::] | (list_nil _, _ :: _) => let val () = serr := serr - 1 in s2vs1 end // end of [::, nil] // val s2vs1 = loop (s1as, s2vs, sub, list_vt_nil, serr) in list_vt_reverse (s2vs1) end // end of [stasub_extend_sarglst_svarlst] (* ****** ****** *) implement s1vararg_bind_svarlst (s1va, s2vs, serr) = let (* val () = ( print "s1vararg_bind_svarlst: s1va = "; print_s1vararg (s1va); print_newline (); print "s1vararg_bind_svarlst: s2vs = "; print_s2varlst (s2vs); print_newline (); ) // end of [val] *) in // case+ s1va of | S1VARARGone (loc) => let var sub = stasub_make_nil () val s2vs1 = stasub_extend_svarlst (sub, s2vs) in (sub, s2vs1) end (* end of [S1VARARGone] *) | S1VARARGall (loc) => let var sub = stasub_make_nil () val s2vs1 = stasub_extend_svarlst (sub, s2vs) in (sub, s2vs1) end (* end of [S1VARARGone] *) | S1VARARGseq (locarg, s1as) => let var sub = stasub_make_nil () val s2vs1 = stasub_extend_sarglst_svarlst (sub, s1as, s2vs, serr) in (sub, s2vs1) end // end of [S1VARARGseq] // end // end of [s1vararg_bind_svarlst] (* ****** ****** *) (* end of [pats_trans2_staexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_syntax_print.dats0000664000175000017500000010677512655455557020213 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_fixity.sats" staload "./pats_label.sats" staload "./pats_symbol.sats" (* ****** ****** *) staload "./pats_lexing.sats" staload "./pats_syntax.sats" (* ****** ****** *) implement fprint_macsynkind (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in case+ x of | MSKencode () => prstr "MSKencode" | MSKdecode () => prstr "MSKdecode" | MSKxstage () => prstr "MSKxstage" // CSP: cross-stage persistence end // end of [fprint_macsynkind] implement print_macsynkind (x) = fprint_macsynkind (stdout_ref, x) implement prerr_macsynkind (x) = fprint_macsynkind (stderr_ref, x) (* ****** ****** *) implement fprint_cstsp (out, x) = ( case+ x of | CSTSPmyfil () => fprint_string (out, "$myfilename") | CSTSPmyloc () => fprint_string (out, "$mylocation") | CSTSPmyfun () => fprint_string (out, "$myfunction") (* | CSTSPmylinecnt () => fprint_string (out, "$mylinecount") | CSTSPmycharcnt () => fprint_string (out, "$mycharcount") *) ) // end of [fprint_cstsp] (* ****** ****** *) implement fprint_i0nt (out, x) = let // val-T_INT (_, rep, _) = x.token_node in fprint_string (out, rep) // end // end of [fprint_i0nt] implement fprint_c0har (out, x) = let val-T_CHAR (chr) = x.token_node in fprint_char (out, chr) end // end of [fprint_c0har] implement fprint_f0loat (out, x) = let // val-T_FLOAT (base, rep, sfx) = x.token_node in fprint_string (out, rep) // end // end of [fprint_f0loat] implement fprint_s0tring (out, x) = let val-T_STRING (str) = x.token_node in fprint_string (out, str) end // end of [fprint_c0har] (* ****** ****** *) implement fprint_i0de (out, x) = fprint_symbol (out, x.i0de_sym) // end of [fprint_i0de] implement print_i0de (x) = fprint_i0de (stdout_ref, x) implement prerr_i0de (x) = fprint_i0de (stderr_ref, x) (* ****** ****** *) implement fprint_s0rtq (out, x) = case+ x.s0rtq_node of | S0RTQnone () => () | S0RTQsymdot (sym) => { val () = fprint_symbol (out, sym) val () = fprint_string (out, ".") } // end of [fprint_s0rtq] implement print_s0rtq (x) = fprint_s0rtq (stdout_ref, x) implement prerr_s0rtq (x) = fprint_s0rtq (stderr_ref, x) (* ****** ****** *) implement fprint_s0taq (out, x) = case+ x.s0taq_node of | S0TAQnone () => () | S0TAQsymdot (sym) => { val () = fprint_symbol (out, sym) val () = fprint_string (out, ".") } | S0TAQsymcolon (sym) => { val () = fprint_symbol (out, sym) val () = fprint_string (out, ":") } // end of [fprint_s0taq] implement print_s0taq (x) = fprint_s0taq (stdout_ref, x) implement prerr_s0taq (x) = fprint_s0taq (stderr_ref, x) implement fprint_sqi0de (out, x) = { val () = fprint_s0taq (out, x.sqi0de_qua) val () = fprint_symbol (out, x.sqi0de_sym) } // end of [fprint_sqi0de] (* ****** ****** *) implement fprint_d0ynq (out, x) = case+ x.d0ynq_node of | D0YNQnone () => () | D0YNQsymdot (sym) => { val () = fprint_symbol (out, sym) val () = fprint_string (out, ".") } | D0YNQsymcolon (sym) => { val () = fprint_symbol (out, sym) val () = fprint_string (out, ":") } | D0YNQsymdotcolon (sym1, sym2) => { val () = fprint_symbol (out, sym1) val () = fprint_symbol (out, sym2) val () = fprint_string (out, ":") } // end of [fprint_d0ynq] implement print_d0ynq (x) = fprint_d0ynq (stdout_ref, x) implement prerr_d0ynq (x) = fprint_d0ynq (stderr_ref, x) implement fprint_dqi0de (out, x) = { val () = fprint_d0ynq (out, x.dqi0de_qua) val () = fprint_symbol (out, x.dqi0de_sym) } // end of [fprint_dqi0de] implement print_dqi0de (x) = fprint_dqi0de (stdout_ref, x) implement prerr_dqi0de (x) = fprint_dqi0de (stderr_ref, x) (* ****** ****** *) implement fprint_p0rec (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in case+ x of | P0RECint int => prstr "P0RECint(...)" | P0RECi0de (id) => prstr "P0RECi0de(...)" | P0RECi0de_adj _ => prstr "P0RECi0de_adj(...)" end // end of [fprint_p0rec] (* ****** ****** *) implement fprint_f0xty (out, x) = let // macdef prstr(x) = fprint_string (out, ,(x)) // in case+ x of | F0XTYinf _ => prstr "F0XTYinf(...)" | F0XTYpre _ => prstr "F0XTYpre(...)" | F0XTYpos _ => prstr "F0XTYpos(...)" end // end of [fprint_f0xty] (* ****** ****** *) implement fprint_e0xpactkind (out, x) = ( // case+ x of | E0XPACTassert ((*void*)) => fprint_string (out, "E0XPACTassert") // | E0XPACTerror () => fprint_string (out, "E0XPACTerror") | E0XPACTprerr () => fprint_string (out, "E0XPACTprint") | E0XPACTprint () => fprint_string (out, "E0XPACTprint") // ) (* end of [fprint_e0xpactkind] *) (* ****** ****** *) implement fprint_e0xp (out, x0) = let macdef prstr (str) = fprint_string (out, ,(str)) in case+ x0.e0xp_node of | E0XPide (x) => { val () = prstr "E0XPide(" val () = fprint_symbol (out, x) val () = prstr ")" } | E0XPchar (x) => { val () = prstr "E0XPchar(" val () = fprint_c0har (out, x) val () = prstr ")" } | E0XPint (x) => { val () = prstr "E0XPint(" val () = fprint_i0nt (out, x) val () = prstr ")" } | E0XPfloat (x) => { val () = prstr "E0XPfloat(" val () = fprint_f0loat (out, x) val () = prstr ")" } | E0XPstring (x) => { val () = prstr "E0XPstring(" val () = fprint_s0tring (out, x) val () = prstr ")" } | E0XPstringid (x) => { val () = prstr "E0XPstringid(" val () = fprint_string (out, x) val () = prstr ")" } | E0XPapp (x1, x2) => { val () = prstr "E0XPapp(" val () = fprint_e0xp (out, x1) val () = prstr "; " val () = fprint_e0xp (out, x2) val () = prstr ")" } | E0XPfun (arg, body) => { val () = prstr "E0XPfun(" val () = $UT.fprintlst (out, arg, ", ", fprint_symbol) val () = prstr "; " val () = fprint_e0xp (out, body) val () = prstr ")" } | E0XPeval (x) => { val () = prstr "E0XPeval(" val () = fprint_e0xp (out, x) val () = prstr ")" } | E0XPlist (xs) => { val () = prstr "E0XPlist(" val () = fprint_e0xplst (out, xs) val () = prstr ")" } | E0XPif (_cond, _then, _else) => { val () = prstr "E0XPif(" val () = fprint_e0xp (out, _cond) val () = prstr "; " val () = fprint_e0xp (out, _then) val () = prstr "; " val () = $UT.fprintopt (out, _else, fprint_e0xp) val () = prstr ")" } end // end of [fprint_e0xp] implement fprint_e0xplst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_e0xp) // end of [fprint_e0xplst] (* ****** ****** *) implement fprint_l0ab (out, x) = fprint_label (out, x.l0ab_lab) // end of [fprint_l0ab] (* ****** ****** *) implement fprint_s0rt (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in case+ x.s0rt_node of | S0RTapp (s0t1, s0t2) => { val () = prstr "S0RTapp(" val () = fprint_s0rt (out, s0t1) val () = prstr "; " val () = fprint_s0rt (out, s0t2) val () = prstr ")" } | S0RTide (id) => { val () = prstr "S0RTide(" val () = fprint_symbol (out, id) val () = prstr ")" } | S0RTqid (q, id) => { val () = prstr "S0RTqid(" val () = fprint_s0rtq (out, q) val () = fprint_symbol (out, id) val () = prstr ")" } | S0RTlist (xs) => { val () = prstr "S0RTlist(" val () = $UT.fprintlst (out, xs, ", ", fprint_s0rt) val () = prstr ")" } | S0RTtype (knd) => { val () = prstr "S0RTtype(" val () = fprint_int (out, knd) val () = prstr ")" } end // end of [fprint_s0rt] (* ****** ****** *) fun fprint_d0atsrtcon (out: FILEref, x: d0atsrtcon) = { val () = fprint_symbol (out, x.d0atsrtcon_sym) val () = ( case+ x.d0atsrtcon_arg of | Some s0t => { val () = fprint_string (out, " of ") val () = fprint_s0rt (out, s0t) } // end of [Some] | None () => { val () = fprint_string (out, " of ()") } // end of [None] ) : void // end of [val] } // end of [fprint_d0atsrtcon] implement fprint_d0atsrtdec (out, x) = { val () = fprint_symbol (out, x.d0atsrtdec_sym) val () = fprint_string (out, " = ") val () = $UT.fprintlst (out, x.d0atsrtdec_con, " | ", fprint_d0atsrtcon) } // end of [fprint_d0atsrtdec] (* ****** ****** *) fun fprint_a0srt ( out: FILEref, x: a0srt ) : void = () where { val () = (case+ x.a0srt_sym of | Some sym => ( fprint_symbol (out, sym); fprint_string (out, ": ") ) // end of [Some] | None () => () ) : void // end of [val] val () = fprint_s0rt (out, x.a0srt_srt) } // end of [fprint_a0srt] fun fprint_a0msrt ( out: FILEref, x: a0msrt ) : void = () where { val () = fprint_string (out, "(") val () = $UT.fprintlst (out, x.a0msrt_arg, ", ", fprint_a0srt) val () = fprint_string (out, ")") } // end of [fprint_a0msrt] (* ****** ****** *) implement fprint_s0rtext (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ x.s0rtext_node of | S0TEsrt s0t => { val () = prstr "S0TEsrt(" val () = fprint_s0rt (out, s0t) val () = prstr ")" } // end of [S0TEsrt] | S0TEsub (id, s0te, s0e, s0es) => { val () = prstr "S0TEsub(" val () = fprint_i0de (out, id) val () = prstr ": " val () = fprint_s0rtext (out, s0te) val () = prstr "; " val () = fprint_s0exp (out, s0e) val () = (case+ s0es of | list_cons _ => ( prstr "; "; $UT.fprintlst (out, s0es, "; ", fprint_s0exp) ) | list_nil () => () ) // end of [val] val () = prstr ")" } (* end of [S0TEsub] *) // end // end of [fprint_s0rtext] (* ****** ****** *) implement fprint_s0qua (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ x.s0qua_node of | S0QUAprop (s0e) => { val () = prstr "S0QUAprop(" val () = fprint_s0exp (out, s0e) val () = prstr ")" } | S0QUAvars (id, ids, s0te) => { val () = prstr "S0QUAvar(" val () = fprint_i0de (out, id) val () = ( case+ ids of | list_cons _ => ( prstr ", "; $UT.fprintlst (out, ids, ", ", fprint_i0de) ) | list_nil () => () ) // end of [val] val () = prstr ": " val () = fprint_s0rtext (out, s0te) val () = prstr ")" } (* end of [S0QUAvars] *) // end // end of [fprint_s0qua] implement fprint_s0qualst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s0qua) // end of [fprint_s0qualst] (* ****** ****** *) implement fprint_s0exp (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ x.s0exp_node of // | S0Eide (id) => { val () = prstr "S0Eide(" val () = fprint_symbol (out, id) val () = prstr ")" } // | S0Esqid (sq, id) => { val () = prstr "S0Esqid(" val () = fprint_s0taq (out, sq) val () = fprint_symbol (out, id) val () = prstr ")" } // | S0Eopid (id) => { val () = prstr "S0Eopid(" val () = fprint_symbol (out, id) val () = prstr ")" } // | S0Eint (x) => { val () = prstr "S0Ei0nt(" val () = fprint_i0nt (out, x) val () = prstr ")" } | S0Echar (x) => { val () = prstr "S0Echar(" val () = fprint_c0har (out, x) val () = prstr ")" } | S0Efloat (x) => { val () = prstr "S0Efloat(" val () = fprint_f0loat (out, x) val () = prstr ")" } | S0Estring (x) => { val () = prstr "S0Estring(" val () = fprint_s0tring (out, x) val () = prstr ")" } // | S0Eextype (name, s0es) => { val () = prstr "S0Eextype(" val () = fprint_string (out, name) val () = prstr "; " val () = fprint_s0explst (out, s0es) val () = prstr ")" } | S0Eextkind (name, s0es) => { val () = prstr "S0Eextkind(" val () = fprint_string (out, name) val () = prstr "; " val () = fprint_s0explst (out, s0es) val () = prstr ")" } // | S0Eapp (s0e1, s0e2) => { val () = prstr "S0Eapp(" val () = fprint_s0exp (out, s0e1) val () = prstr "; " val () = fprint_s0exp (out, s0e2) val () = prstr ")" } | S0Eimp _ => { val () = prstr "S0Eimp(" val () = fprint_string (out, "...") val () = prstr ")" } | S0Elam (_, s0topt, s0e) => { val () = prstr "S0Elam(" val () = $UT.fprintopt (out, s0topt, fprint_s0rt) val () = prstr "; " val () = fprint_s0exp (out, s0e) val () = prstr ")" } | S0Elist (s0es) => { val () = prstr "S0Elist(" val () = fprint_s0explst (out, s0es) val () = prstr ")" } | S0Elist2 (s0es1, s0es2) => { val () = prstr "S0Elist2(" val () = fprint_s0explst (out, s0es1) val () = prstr " | " val () = fprint_s0explst (out, s0es2) val () = prstr ")" } | S0Etyarr (elt, dim) => { val () = prstr "S0Etyarr(" val () = fprint_s0exp (out, elt) val () = prstr "; " val () = fprint_s0explst (out, dim) val () = prstr ")" } | S0Etytup (knd, npf, s0es) => { val () = prstr "S0Etytup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_s0explst (out, s0es) val () = prstr ")" } | S0Etyrec (knd, npf, xs) => { val () = prstr "S0Etyrec(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_labs0exp) // end of [val] val () = prstr ")" } | S0Etyrec_ext (name, npf, xs) => { val () = prstr "S0Etyrec_ext(" val () = fprint_string (out, name) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_labs0exp) // end of [val] val () = prstr ")" } // | S0Euni s0qs => { val () = prstr "S0Euni(" val () = $UT.fprintlst (out, s0qs, ", ", fprint_s0qua) val () = prstr ")" } | S0Eexi (knd, s0qs) => { val () = prstr "S0Eexi(" val () = fprint_int (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, s0qs, ", ", fprint_s0qua) val () = prstr ")" } // | S0Eann (s0e1, s0t2) => { val () = prstr "S0Eann(" val () = fprint_s0exp (out, s0e1) // end of [val] val () = prstr "; " val () = fprint_s0rt (out, s0t2) val ((*closing*)) = prstr ")" } // | S0Ed2ctype (d2ctp) => prstr "S0Ed2ctype(...)" // (* // | _ => prstr "S0E(...)" *) end // end of [fprint_s0exp] (* ****** ****** *) implement fprint_s0explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s0exp) // end of [fprint_s0explst] implement fprint_s0expopt (out, opt) = $UT.fprintopt (out, opt, fprint_s0exp) // end of [fprint_s0expopt] (* ****** ****** *) implement fprint_s0exparg (out, s0a) = let macdef prstr (str) = fprint_string (out, ,(str)) in case+ s0a of | S0EXPARGone _ => prstr "{..}" | S0EXPARGall _ => prstr "{...}" | S0EXPARGseq (s0es) => { val () = prstr "{" val () = fprint_s0explst (out, s0es) val () = prstr "}" } (* end of [S0EXPARGseq] *) end // end of [fprint_s0exparg] (* ****** ****** *) implement fprint_labs0exp (out, x) = () where { val+SL0ABELED (l, name, s0e) = x val () = fprint_l0ab (out, l) val () = fprint_string (out, "= ") val () = fprint_s0exp (out, s0e) } // end of [fprint_labs0exp] (* ****** ****** *) implement fprint_q0marg (out, x) = { val () = fprint_string (out, "{") val () = fprint_s0qualst (out, x.q0marg_arg) val () = fprint_string (out, "}") } // end of [fprint_q0marg] implement fprint_q0marglst (out, xs) = $UT.fprintlst (out, xs, "", fprint_q0marg) // end of [fprint_q0marglst] (* ****** ****** *) implement fprint_p0at (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ x.p0at_node of // | P0Tide (sym) => { val () = prstr "P0Tide(" val () = fprint_symbol (out, sym) val () = prstr ")" } | P0Topid (sym) => { val () = prstr "P0Topid(" val () = fprint_symbol (out, sym) val () = prstr ")" } | P0Tdqid (dq, sym) => { val () = prstr "P0Tdqid(" val () = fprint_d0ynq (out, dq) val () = fprint_symbol (out, sym) val () = prstr ")" } // | P0Tint (x) => { val () = prstr "P0Tint(" val () = fprint_i0nt (out, x) val () = prstr ")" } | P0Tchar (x) => { val () = prstr "P0Tchar(" val () = fprint_c0har (out, x) val () = prstr ")" } | P0Tfloat (x) => { val () = prstr "P0Tfloat(" val () = fprint_f0loat (out, x) val () = prstr ")" } | P0Tstring (x) => { val () = prstr "P0Tstring(" val () = fprint_s0tring (out, x) val () = prstr ")" } // | P0Tapp (p0t1, p0t2) => { val () = prstr "P0Tapp(" val () = fprint_p0at (out, p0t1) val () = prstr "; " // val () = fprint_p0at (out, p0t2) val () = prstr ")" } | P0Tlist (npf, p0ts) => { val () = prstr "P0Tlist(" val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, p0ts, ", ", fprint_p0at) val () = prstr ")" } // | P0Tlst (lin, p0ts) => { val () = prstr "P0Tlst(" val () = fprint_int (out, lin) val () = prstr "; " val () = $UT.fprintlst (out, p0ts, ", ", fprint_p0at) val () = prstr ")" } | P0Trec (knd, npf, lp0ts) => { val () = prstr "P0Trec(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, lp0ts, ", ", fprint_labp0at) val () = prstr ")" } | P0Ttup (knd, npf, p0ts) => { val () = prstr "P0Ttup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, p0ts, ", ", fprint_p0at) val () = prstr ")" } // | P0Tfree (p0t) => { val () = prstr "P0Tfree(" val () = fprint_p0at (out, p0t) val () = prstr ")" } | P0Tunfold (p0t) => { val () = prstr "P0Tunfold(" val () = fprint_p0at (out, p0t) val () = prstr ")" } // | P0Texist (s0as) => { val () = prstr "P0Texist(" val () = fprint_string (out, "...") val () = prstr ")" } | P0Tsvararg (s0vs) => { val () = prstr "P0Tsvararg(" val () = fprint_string (out, "...") val () = prstr ")" } // | P0Trefas (id, loc_id, p0t_as) => { val () = prstr "P0Trefas(" val () = fprint_symbol (out, id) val () = prstr ", " val () = fprint_p0at (out, p0t_as) val () = prstr ")" } // | P0Tann (p0t, s0e) => { val () = prstr "P0Tann(" val () = fprint_p0at (out, p0t) val () = prstr ": " val () = fprint_s0exp (out, s0e) val () = prstr ")" } // | P0Terr () => prstr "P0Terr()" // end // end of [fprint_p0at] (* ****** ****** *) implement fprint_labp0at (out, x) = case+ x.labp0at_node of | LABP0ATnorm (l, p0t) => { val () = fprint_l0ab (out, l) val () = fprint_string (out, "= ") val () = fprint_p0at (out, p0t) } // end of [LABP0ATnorm] | LABP0ATomit () => fprint_string (out, "...") // end of [fprint_labp0at] (* ****** ****** *) implement fprint_d0exp (out, x) = let macdef prstr (str) = fprint_string (out, ,(str)) in // case+ x.d0exp_node of // | D0Eide (sym) => { val () = prstr "D0Eide(" val () = fprint_symbol (out, sym) val () = prstr ")" } | D0Eopid (sym) => { val () = prstr "D0Eopid(" val () = fprint_symbol (out, sym) val () = prstr ")" } | D0Edqid (dq, sym) => { val () = prstr "D0Edqid(" val () = fprint_d0ynq (out, dq) val () = prstr ", " val () = fprint_symbol (out, sym) val () = prstr ")" } // | D0Eidext (sym) => { val () = prstr "D0Eidext(" val () = fprint_symbol (out, sym) val () = prstr ")" } // | D0Eint (x) => { val () = prstr "D0Eint(" val () = fprint_i0nt (out, x) val () = prstr ")" } | D0Echar (x) => { val () = prstr "D0Echar(" val () = fprint_c0har (out, x) val () = prstr ")" } | D0Efloat (x) => { val () = prstr "D0Efloat(" val () = fprint_f0loat (out, x) val () = prstr ")" } | D0Estring (x) => { val () = prstr "D0Estring(" val () = fprint_s0tring (out, x) val () = prstr ")" } | D0Eempty () => prstr "D0Eempty()" // | D0Ecstsp (x) => { val () = prstr "D0Ecstsp(" val () = fprint_cstsp (out, x) val () = prstr ")" } // | D0Eliteral (x) => { val () = prstr "D0Eliteral(" val () = fprint_d0exp (out, x) val () = prstr ")" } // | D0Elet _ => { val () = prstr "D0Elet(" val () = prstr "..." val () = prstr ")" } | D0Edeclseq _ => { val () = prstr "D0Edeclseq(" val () = prstr "..." val () = prstr ")" } | D0Ewhere _ => { val () = prstr "D0Ewhere(" val () = prstr "..." val () = prstr ")" } // | D0Eapp (_fun, _arg) => { val () = prstr "D0Eapp(" val () = fprint_d0exp (out, _fun) val () = prstr "; " val () = fprint_d0exp (out, _arg) val () = prstr ")" } // | D0Elist (npf, xs) => { val () = prstr "D0Elist(" val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d0explst (out, xs) val () = prstr ")" } // | D0Eifhead ( hd, _test, _then, _else ) => { val () = prstr "D0Eifhead(" val () = fprint_d0exp (out, _test) val () = prstr "; " val () = fprint_d0exp (out, _then) val () = prstr "; " val () = fprint_d0expopt (out, _else) val () = prstr ")" } | D0Esifhead ( hd, _test, _then, _else ) => { val () = prstr "D0Esifhead(" val () = fprint_s0exp (out, _test) val () = prstr "; " val () = fprint_d0exp (out, _then) val () = prstr "; " val () = fprint_d0exp (out, _else) val () = prstr ")" } | D0Ecasehead _ => { val () = prstr "D0Ecasehead(" val () = prstr "..." val () = prstr ")" } | D0Escasehead _ => { val () = prstr "D0Escasehead(" val () = prstr "..." val () = prstr ")" } // | D0Etup (knd, npf, xs) => { val () = prstr "D0Etup(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = fprint_d0explst (out, xs) val () = prstr ")" } | D0Erec (knd, npf, xs) => { val () = prstr "D0Erec(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, npf) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_labd0exp) val () = prstr ")" } | D0Elst (lin, elt, d0e) => { val () = prstr "D0Elst(" val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_s0expopt (out, elt) val () = prstr "; " val () = fprint_d0exp (out, d0e) val () = prstr ")" } | D0Eseq (xs) => { val () = prstr "D0Eseq(" val () = $UT.fprintlst (out, xs, "; ", fprint_d0exp) val () = prstr ")" } // | D0Earrsub _ => { val () = prstr "D0Earrsub(" val () = fprint_string (out, "...") val () = prstr ")" } | D0Earrpsz _ => { val () = prstr "D0Earrpsz(" val () = fprint_string (out, "...") val () = prstr ")" } | D0Earrinit _ => { val () = prstr "D0Earrinit(" val () = fprint_string (out, "...") val () = prstr ")" } // | D0Eptrof () => prstr "D0Eptrof()" | D0Eviewat () => prstr "D0Eviewat()" // | D0Esel_lab (knd, lab) => { val () = prstr "D0Esel_lab(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_label (out, lab) val () = prstr ")" } | D0Esel_ind (knd, ind) => { val () = prstr "D0Esel_int(" val () = fprint_int (out, knd) val () = prstr "; " val () = prstr "..." val () = prstr ")" } // | D0Eraise (d0e) => { val () = prstr "D0Eraise(" val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Eeffmask _ => { val () = prstr "D0Eeffmask(...)" } | D0Eeffmask_arg _ => { val () = prstr "D0Eeffmask_arg(...)" } // | D0Eshowtype (d0e) => { val () = prstr "D0Eshowtype(" val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Evcopyenv (knd, d0e) => { val () = prstr "D0Evcopyenv(" val () = fprint_int (out, knd) val () = prstr ", " val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Etempenver (d0e) => { val () = prstr "D0Etempenver(" val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Esexparg (s0a) => { val () = prstr "D0Esexparg(" val () = fprint_s0exparg (out, s0a) val () = prstr ")" } // | D0Eann (d0e, s0e) => { val () = prstr "D0Eann(" val () = fprint_d0exp (out, d0e) val () = prstr ": " val () = fprint_s0exp (out, s0e) val () = prstr ")" } // | D0Elam _ => { val () = prstr "D0Elam(" val () = prstr "..." val () = prstr ")" } | D0Efix _ => { val () = prstr "D0Efix(" val () = prstr "..." val () = prstr ")" } // | D0Edelay (knd, d0e) => { val () = prstr "D0Edelay(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Efor _ => { val () = prstr "D0Efor(" val () = prstr "..." val () = prstr ")" } | D0Ewhile _ => { val () = prstr "D0Ewhile(" val () = prstr "..." val () = prstr ")" } | D0Eloopexn (knd) => { val () = prstr "D0Eloopexn(" val () = fprint_int (out, knd) val () = prstr ")" } // | D0Etrywith _ => { val () = prstr "D0Etrywith(" val () = prstr "..." val () = prstr ")" } // | D0Esolassert(d0e) => { val () = prstr "D0Esolassert(" val () = fprint_d0exp (out, d0e) val () = prstr ")" } // | D0Esolverify(s0e) => { val () = prstr "D0Esolverify(" val () = fprint_s0exp (out, s0e) val () = prstr ")" } // | _ (* rest-of-D0E *) => prstr "D0E(...)" // end // end of [fprint_d0exp] (* ****** ****** *) implement fprint_d0explst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_d0exp) // end of [fprint_d0explst] implement fprint_d0expopt (out, opt) = $UT.fprintopt (out, opt, fprint_d0exp) // end of [fprint_d0expopt] (* ****** ****** *) implement fprint_labd0exp (out, x) = () where { val+DL0ABELED (l, d0e) = x val () = fprint_l0ab (out, l) val () = fprint_string (out, "= ") val () = fprint_d0exp (out, d0e) } // end of [fprint_labd0exp] (* ****** ****** *) fun fprint_s0tacon ( out: FILEref, x: s0tacon ) : void = () where { val () = fprint_symbol (out, x.s0tacon_sym) val () = fprint_string (out, "(") val () = $UT.fprintlst (out, x.s0tacon_arg, " ", fprint_a0msrt) val () = fprint_string (out, ")") val () = fprint_string (out, " = ") val () = $UT.fprintopt (out, x.s0tacon_def, fprint_s0exp) } // end of [fprint_s0tacon] (* ****** ****** *) fun fprint_s0tacst ( out: FILEref, x: s0tacst ) : void = () where { val () = fprint_symbol (out, x.s0tacst_sym) val () = fprint_string (out, "(") val () = $UT.fprintlst (out, x.s0tacst_arg, " ", fprint_a0msrt) val () = fprint_string (out, "):") val () = fprint_s0rt (out, x.s0tacst_res) } // end of [fprint_s0tacst] (* ****** ****** *) (* // // HX-2012-05-23: removed // fun fprint_s0tavar ( out: FILEref, x: s0tavar ) : void = () where { val () = fprint_symbol (out, x.s0tavar_sym) val () = fprint_string (out, "(") val () = fprint_s0rt (out, x.s0tavar_srt) val () = fprint_string (out, ")") } // end of [fprint_s0tavar] *) (* ****** ****** *) implement fprint_d0ecl (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ x.d0ecl_node of // case+ // | D0Cfixity (fxty, ids) => { val () = prstr "D0Cfixity(" val () = fprint_f0xty (out, fxty) val () = prstr "; " val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } | D0Cnonfix(ids) => { val () = prstr "D0Cnonfix(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } // | D0Csymintr(ids) => { val () = prstr "D0Csymintr(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } | D0Csymelim(ids) => { val () = prstr "D0Csymelim(" val () = $UT.fprintlst (out, ids, ", ", fprint_i0de) val () = prstr ")" } | D0Coverload (id, qid, pval) => { val () = prstr "D0Coverload(" // end of [val] val () = fprint_i0de (out, id) val () = prstr "; " val () = fprint_dqi0de (out, qid) val () = prstr "; " val () = fprint_int (out, pval) val ((*closing*)) = prstr ")" } // end of [D0Coverload] // | D0Ce0xpdef(id, def) => { val () = prstr "D0Ce0xpdef(" // end of [val] val () = fprint_symbol (out, id) val () = prstr ", " val () = $UT.fprintopt (out, def, fprint_e0xp) val ((*closing*)) = prstr ")" } | D0Ce0xpundef(idsym) => { val () = prstr "D0Ce0xpundef(" // end of [val] val () = fprint_symbol (out, idsym) val ((*closing*)) = prstr ")" } // | D0Ce0xpact(knd, act) => { val () = prstr "D0Ce0xpact(" val () = fprint_e0xpactkind (out, knd) val () = prstr "; " val () = fprint_e0xp (out, act) val ((*closing*)) = prstr ")" } // | D0Cpragma(xs) => { val () = prstr "D0Cpragma(" val () = $UT.fprintlst (out, xs, ", ", fprint_e0xp) val ((*closing*)) = prstr ")" } (* end of [D0Cpragma] *) // | D0Ccodegen(knd, xs) => { val () = prstr "D0Ccodegen(" val () = fprint_int (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, xs, ", ", fprint_e0xp) val ((*closing*)) = prstr ")" } (* end of [D0Ccodegen] *) // | D0Cdatsrts(xs) => { val () = prstr "D0Cdatsrts(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_d0atsrtdec) // end of [val] val ((*closing*)) = prstr "\n)" } | D0Csrtdefs(xs) => { val () = prstr "D0Csrtdefs(...)" } | D0Cstacsts(xs) => { val () = prstr "D0Cstacsts(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s0tacst) val ((*closing*)) = prstr "\n)" } | D0Cstacons (knd, xs) => { val () = prstr "D0Cstacons(" val () = fprint_int (out, knd) val () = prstr ";\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s0tacon) val ((*closing*)) = prstr "\n)" } (* | D0Cstavars(xs) => { val () = prstr "D0Cstavars(\n" val () = $UT.fprintlst (out, xs, "\n", fprint_s0tavar) val ((*closing*)) = prstr "\n)" } *) | D0Ctkindef(x) => { val () = prstr "D0Ctkindef(...)" } | D0Csexpdefs (knd, xs) => { val () = prstr "D0Csexpdefs(" val () = fprint! (out, knd, "; ", "...") val ((*closing*)) = prstr ")" } | D0Csaspdec(x) => { val () = prstr "D0Csaspdec(...)" } | D0Cexndecs(xs) => { val () = prstr "D0Cexndecs(...)" } | D0Cdatdecs (knd, decs, defs) => { val () = prstr "D0Cdatdecs(" val () = fprint! (out, knd, "; ", "...") val ((*closing*)) = prstr ")" } (* end of [D0Cdatdecs] *) // | D0Cdcstdecs _ => { val () = prstr "D0Cdcstdecs(...)" } // end of [D0Cdcstdecs] | D0Cmacdefs _ => { val ((*void*)) = prstr "D0Cmacdefs(...)" } (* end of [D0Cmacdefs] *) // | D0Cclassdec (id, sup) => { val () = prstr "D0Cclassdec(" val () = fprint_i0de (out, id) val () = prstr "; " val () = fprint_s0expopt (out, sup) val ((*closing*)) = prstr ")" } | D0Cextype (name, s0e_def) => { val () = prstr "D0Cextype(" val () = fprint_string (out, name) val () = prstr " = " val () = fprint_s0exp (out, s0e_def) val ((*closing*)) = prstr ")" } | D0Cextype ( knd, name, s0e_def ) => { val () = prstr "D0Cextype(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_string (out, name) val () = prstr "; " val () = fprint_s0exp (out, s0e_def) val ((*closing*)) = prstr ")" } | D0Cextvar (name, d0e) => { val () = prstr "D0Cextvar(" val () = fprint_string (out, name) val () = prstr " = " val () = fprint_d0exp (out, d0e) val ((*closing*)) = prstr ")" } | D0Cextcode ( knd, pos, code ) => { val () = prstr "D0Cextcode(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, pos) val () = prstr "\n" val () = prstr "..." val ((*closing*)) = prstr "\n)" } // | D0Cimpdec _ => { val () = prstr "D0Cimpdec(...)" } // | D0Cvaldecs _ => { val () = prstr "D0Cvaldecs(...)" } | D0Cfundecs _ => { val () = prstr "D0Cfundecs(...)" } | D0Cvardecs _ => { val () = prstr "D0Cvardecs(...)" } // | D0Cinclude ( pfil, knd, name ) => { val () = prstr "D0Cinclude(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } // | D0Cstaload ( pfil, idopt, name ) => { val () = prstr "D0Cstaload(" val () = fprint_symbolopt (out, idopt) val () = prstr "; " val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } | D0Cstaloadnm ( pfil, idopt, name ) => { val () = prstr "D0Cstaloadnm(" val () = fprint_symbolopt (out, idopt) val () = prstr "; " val () = fprint_symbol (out, name) val ((*closing*)) = prstr ")" } | D0Cstaloadloc ( pfil, idsym, d0cs ) => { val () = prstr "D0Cstaloadloc(" val () = fprint_symbol (out, idsym) val () = prstr "; " val () = fprint_string (out, "(*d0eclist*)") val ((*closing*)) = prstr ")" } // | D0Crequire (pfil, name) => { val () = prstr "D0Crequire(" val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } // | D0Cdynload (pfil, name) => { val () = prstr "D0Cdynload(" val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } // | D0Clocal ( ds_head, ds_body ) => { val () = prstr "D0Clocal(\n" val () = fprint_d0eclist (out, ds_head) val () = prstr "\n(*in*)\n" val () = fprint_d0eclist (out, ds_body) val ((*closing*)) = prstr "\n)" } // | D0Cguadecl _ => { val ((*void*)) = prstr "D0Cguadecl(...)" } // end of [case] end // end of [fprint_d0ecl] (* ****** ****** *) implement fprint_d0eclist (out, xs) = () where { val () = $UT.fprintlst (out, xs, "\n", fprint_d0ecl) val () = fprint_newline (out) } (* end of [fprint_d0eclst] *) (* ****** ****** *) (* implement fprint_staloadarg (out, arg) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ arg of | STLDfname (loc, name) => { val () = prstr "STLDfname(" val () = fprint_string (out, name) val () = prstr ")" } (* end of [STLDfname] *) | STLDnspace (loc, name) => { val () = prstr "STLDnspace(" val () = fprint_string (out, name) val () = prstr ")" } (* end of [STLDnspace] *) (* | STLDdeclist (loc, d0cs) => { val ((*void*)) = prstr "STLDdeclist(...)" } (* end of [STLDdeclist] *) *) // end // end of [fprint_staloadarg] *) (* ****** ****** *) (* end of [pats_syntax_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_dmac.dats0000664000175000017500000001051112655455557020004 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolopt = $SYM.symbolopt (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) typedef d2mac_struct = @{ d2mac_loc= location , d2mac_sym= symbol , d2mac_kind= int // short/long: 0/1 , d2mac_arglst= m2acarglst // argument , d2mac_def= d2exp // definition , d2mac_stamp= stamp // uniqueness stamp } // end of [d2mac_struct] (* ****** ****** *) local assume d2mac_type = ref (d2mac_struct) in // in of [local] implement d2mac_make ( loc, name, knd, xs, def ) = let // val stamp = $STMP.d2mac_stamp_make () val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim {d2mac_struct?} (pfgc) // val () = p->d2mac_loc := loc val () = p->d2mac_sym := name val () = p->d2mac_kind := knd val () = p->d2mac_arglst := xs val () = p->d2mac_def := def val () = p->d2mac_stamp := stamp // in // in of [let] // ref_make_view_ptr (pfat | p) // end // end of [d2mac_make] implement d2mac_get_loc (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_loc end // end of [d2cst_get_loc] implement d2mac_get_sym (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_sym end // end of [d2mac_get_sym] implement d2mac_get_kind (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_kind end // end of [d2mac_get_kind] implement d2mac_get_arglst (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_arglst end // end of [d2mac_get_arglst] implement d2mac_get_def (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_def end // end of [d2mac_get_def] implement d2mac_set_def (d2m, def) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_def := def end // end of [d2mac_set_def] implement d2mac_get_stamp (d2m) = let val (vbox pf | p) = ref_get_view_ptr (d2m) in p->d2mac_stamp end // end of [d2mac_get_stamp] end // end of [local (* ****** ****** *) implement fprint_m2acarg (out, x) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ x of | M2ACARGsta (s2vs) => ( prstr "M2ACARGsta("; fprint_s2varlst (out, s2vs); prstr ")" ) // end of [M2ACARGsta] | M2ACARGdyn (d2vs) => ( prstr "M2ACARGdyn("; fprint_d2varlst (out, d2vs); prstr ")" ) // end of [M2ACARGdyn] // end // end of [fprint_m2acarg] implement fprint_m2acarglst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_m2acarg) // end of [fprint_m2acarglst] (* ****** ****** *) implement fprint_d2mac (out, x) = $SYM.fprint_symbol (out, d2mac_get_sym (x)) // end of [fprint_d2mac] implement print_d2mac (x) = fprint_d2mac (stdout_ref, x) implement prerr_d2mac (x) = fprint_d2mac (stderr_ref, x) (* ****** ****** *) (* end of [pats_dynexp2_dmac.dats] *) ATS2-Postiats-0.2.6/./src/pats_fixity_prec.dats0000664000175000017500000000665412655455557017771 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_fixity.sats" (* ****** ****** *) implement fprint_assoc (out, x) = case+ x of | ASSOCnon () => fprint_string (out, "ASSOCnon") | ASSOClft () => fprint_string (out, "ASSOClft") | ASSOCrgt () => fprint_string (out, "ASSOCrgt") // end of [fprint_assoc] (* ****** ****** *) assume prec_t0ype: t@ype = int (* ****** ****** *) #define PRECMIN ~1000000 // this is low enough #define PRECMAX 1000000 // this is high enough implement neginf_prec = PRECMIN implement posinf_prec = PRECMAX (* ****** ****** *) implement app_prec = 70 (* ****** ****** *) implement select_prec = 80 (* .label is a postfix operator *) (* ****** ****** *) implement backslash_prec = app_prec + 1 implement infixtemp_prec = 0 (* for temporary infix status *) (* ****** ****** *) implement exi_prec_sta = 0 implement uni_prec_sta = 0 (* ****** ****** *) implement delay_prec_dyn = 0 (* for $delay and $ldelay *) (* ****** ****** *) implement exist_prec_dyn = 0 (* for dynamic patterns *) (* ****** ****** *) implement ptrof_prec_dyn = select_prec - 1 implement addrat_prec_dyn = ptrof_prec_dyn // aliasing // // HX: supporting [fold@ !p], [free@ !p] and [view@ !p] // implement foldat_prec_dyn = app_prec - 1 implement freeat_prec_dyn = app_prec - 1 implement viewat_prec_dyn = app_prec - 1 (* ****** ****** *) (* ** HX: [invar_prec_sta] must be greater than [trans_prec_sta] *) implement invar_prec_sta = 1 (* ****** ****** *) // implement qmark_prec_sta = app_prec - 1 implement qmarkbang_prec_sta = app_prec - 1 // implement trans_prec_sta = 0 (* lowest *) // implement deref_prec_dyn = 100 (* highest *) // (* ****** ****** *) implement int_of_prec (p) = p implement prec_make_int (i) = case+ 0 of | _ when i <= PRECMIN => PRECMIN | _ when i >= PRECMAX => PRECMAX | _ => i // end of [prec_make_int] (* ****** ****** *) implement precedence_inc (p, i) = prec_make_int (p + i) implement precedence_dec (p, i) = prec_make_int (p - i) (* ****** ****** *) implement compare_prec_prec (p1, p2) = compare_int_int (p1, p2) (* ****** ****** *) (* end of [pats_fixity_prec.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_skexp.dats0000664000175000017500000003024312655455557020233 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: December, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) implement fprint_s2kexp (out, s2ke) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ s2ke of | S2KEany () => { val () = prstr "S2KEany()" } | S2KEcst (s2c) => { val () = prstr "S2KEcst(" val () = fprint_s2cst (out, s2c) val () = prstr ")" } | S2KEvar (s2v) => { val () = prstr "S2KEvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // | S2KEextype (name, _arg) => { val () = prstr "S2KEextype(" val () = fprint_string (out, name) val () = prstr ")" } | S2KEextkind (name, _arg) => { val () = prstr "S2KEextkind(" val () = fprint_string (out, name) val () = prstr ")" } // | S2KEfun (_arg, _res) => { val () = prstr "S2KEfun(" val () = fprint_s2kexplst (out, _arg) val () = prstr "; " val () = fprint_s2kexp (out, _res) val () = prstr ")" } | S2KEapp (_fun, _arg) => { val () = prstr "S2KEapp(" val () = fprint_s2kexp (out, _fun) val () = prstr "; " val () = fprint_s2kexplst (out, _arg) val () = prstr ")" } | S2KEtyarr (s2ke) => { val () = prstr "S2KEtyarr(" val () = fprint_s2kexp (out, s2ke) val () = prstr ")" } | S2KEtyrec (knd, ls2kes) => { val () = prstr "S2KEtyrec(" val () = fprint_tyreckind (out, knd) val () = prstr "; " val () = $UT.fprintlst (out, ls2kes, ", ", fprint_labs2kexp) val () = prstr ")" } // (* | _ => prstr "S2KE...(...)" *) // end // end of [fprint_s2kexp] implement fprint_s2kexplst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2kexp) // end of [fprint_s2kexplst] implement fprint_labs2kexp (out, x) = { val SKLABELED (l, s2ke) = x val () = $LAB.fprint_label (out, l) val () = fprint_string (out, "=") val () = fprint_s2kexp (out, s2ke) } // end of [fprint_labs2kexp] implement print_s2kexp (x) = fprint_s2kexp (stdout_ref, x) implement prerr_s2kexp (x) = fprint_s2kexp (stderr_ref, x) (* ****** ****** *) local // absviewtype env extern fun env_make_nil (): env extern fun env_pop (env: &env): void extern fun env_push (env: &env, s2vs: s2varlst): void extern fun env_free (env: env): void extern fun env_find (env: &env, s2v: s2var): bool // in (* in of [local] *) (* ****** ****** *) local // assume env = List_vt (s2varlst) // in (* in of [local] *) // implement env_make_nil () = list_vt_nil () // implement env_pop (env) = ( case+ env of | ~list_vt_cons (_, xss) => env := xss | _ => () ) (* end of [env_pop] *) // implement env_push (env, s2vs) = env := list_vt_cons (s2vs, env) // implement env_free (env) = list_vt_free (env) // implement env_find (env, x0) = let fun loop1 (s2vs: s2varlst): bool = case+ s2vs of | list_cons (s2v, s2vs) => if x0 = s2v then true else loop1 (s2vs) | list_nil () => false // end of [loop1] fun loop2 (s2vss: s2varlstlst): bool = case+ s2vss of | list_cons (s2vs, s2vss) => if loop1 (s2vs) then true else loop2 (s2vss) | list_nil () => false // end of [loop2] in loop2 ($UN.castvwtp1 {s2varlstlst} (env)) end // end of [env_find] // end // end of [local] (* ****** ****** *) local fun aux_s2exp ( env: &env, s2e0: s2exp ) : s2kexp = let (* val () = ( print "aux_s2exp: s2e0 = "; print_s2exp s2e0; print_newline () ) // end of [val] *) val s2f0 = s2exp_hnfize (s2e0) in // case s2f0.s2exp_node of | S2Ecst (s2c) => S2KEcst (s2c) | S2Evar (s2v) => let val isexi = env_find (env, s2v) in if isexi then S2KEany () else S2KEvar (s2v) end // | S2EVar (s2V) => S2KEany () // see s2zexp for info // | S2Eextype ( name, _arg ) => S2KEextype (name, aux_arglstlst (env, _arg)) | S2Eextkind ( name, _arg ) => S2KEextkind (name, aux_arglstlst (env, _arg)) // | S2Efun ( _(*fc*), _(*lin*), _(*s2fe*), npf, _arg, _res ) => let in S2KEfun (aux_s2explst (env, _arg), aux_s2exp (env, _res)) end // end of [S2Efun] // | S2Eapp (_fun, _arg) => let val _fun = aux_s2exp (env, _fun) val _arg = aux_arglst (env, _arg) in S2KEapp (_fun, _arg) end // end of [S2Eapp] // | S2Etyarr (_elt, _dim) => let val _elt = aux_s2exp (env, _elt) in S2KEtyarr (_elt) end // end of [S2Etyarr] | S2Etyrec (knd, npf, ls2es) => let val ls2kes = aux_labs2explst (env, ls2es) in S2KEtyrec (knd, ls2kes) end // end of [S2Etyrec] // | S2Erefarg (knd, s2e) => aux_s2exp (env, s2e) // | S2Eexi ( s2vs, _(*s2ps*), s2e ) => let val () = env_push (env, s2vs) val s2ke = aux_s2exp (env, s2e) val () = env_pop (env) in s2ke end // end of [S2Eexi] | S2Euni ( s2vs, _(*s2ps*), s2e ) => let val () = env_push (env, s2vs) val s2ke = aux_s2exp (env, s2e) val () = env_pop (env) in s2ke end // end of [S2Eexi] // | S2Ewthtype (s2e, ws2es) => aux_s2exp (env, s2e) // | _ => S2KEany () // HX: no available info // end // end of [aux_s2exp] and aux_arglst ( env: &env, s2es: s2explst ) : s2kexplst = case+ s2es of | list_cons (s2e, s2es) => let val s2t = s2e.s2exp_srt val iskeep = s2rt_is_tkind (s2t) val iskeep = if iskeep then true else s2rt_is_prgm (s2t) in if iskeep then let val s2ke = aux_s2exp (env, s2e) in list_cons (s2ke, aux_arglst (env, s2es)) end else aux_arglst (env, s2es) // HX: non-types are all discarded // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end of [aux_arglst] and aux_arglstlst ( env: &env, s2ess: s2explstlst ) : s2kexplstlst = case+ s2ess of | list_cons (s2es, s2ess) => list_cons (aux_arglst (env, s2es), aux_arglstlst (env, s2ess)) // end of [list_cons] | list_nil () => list_nil () // end of [aux_arglstlst] and aux_s2explst ( env: &env, s2es: s2explst ) : s2kexplst = case+ s2es of | list_cons (s2e, s2es) => list_cons (aux_s2exp (env, s2e), aux_s2explst (env, s2es)) // end of [list_cons] | list_nil () => list_nil () // end of [aux_s2explst] and aux_labs2explst ( env: &env, ls2es: labs2explst ) : labs2kexplst = case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, _(*named*), s2e) = ls2e val s2ke = aux_s2exp (env, s2e) val ls2ke = SKLABELED (l, s2ke) val ls2kes = aux_labs2explst (env, ls2es) in list_cons (ls2ke, ls2kes) end // end of [list_cons] | list_nil () => list_nil () // end of [aux_labs2explst] in (* in of [local] *) implement s2kexp_make_s2exp (s2e0) = let (* val () = ( print "s2kexp_make_s2exp: s2e0 = "; print_s2exp s2e0; print_newline () ) // end of [val] *) var env = env_make_nil () val s2ke = aux_s2exp (env, s2e0) val () = env_free (env) (* val () = ( print "s2kexp_make_s2exp: s2ke = "; print_s2kexp s2ke; print_newline () ) // end of [val] *) in s2ke end // end of [s2kexp_make_s2exp] end // end of [local] (* ****** ****** *) end // end of [local] (* ****** ****** *) exception S2KEXPISMATexn of () extern fun s2kexp_ismat_exn (x1: s2kexp, x2: s2kexp): void // end of [s2kexp_ismat_exn] extern fun s2kexplst_ismat_exn (xs1: s2kexplst, xs2: s2kexplst): void // end of [s2kexplst_ismat_exn] extern fun s2kexplstlst_ismat_exn (xss1: s2kexplstlst, xss2: s2kexplstlst): void // end of [s2kexplstlst_ismat_exn] extern fun labs2kexplst_ismat_exn (lxs1: labs2kexplst, lxs2: labs2kexplst): void // end of [labs2kexplst_ismat_exn] (* ****** ****** *) local fn abort (): void = $raise S2KEXPISMATexn() in (* in of [local] *) implement s2kexp_ismat_exn (x1, x2) = let in // case+ (x1, x2) of | (S2KEany (), _) => () | (_, S2KEany ()) => () | (S2KEcst s2c1, S2KEcst s2c2) => if s2cst_subeq (s2c1, s2c2) then () else abort () | (S2KEvar s2v1, S2KEvar s2v2) => if s2v1 = s2v2 then () else abort () // | ( S2KEextype (name1, _arg1), S2KEextype (name2, _arg2) ) => ( if name1 = name2 then s2kexplstlst_ismat_exn (_arg1, _arg2) else abort () // end of [if] ) (* S2KEextype *) | ( S2KEextkind (name1, _arg1), S2KEextkind (name2, _arg2) ) => ( if name1 = name2 then s2kexplstlst_ismat_exn (_arg1, _arg2) else abort () // end of [if] ) (* S2KEextkind *) // | (S2KEfun (_arg1, _res1), S2KEfun (_arg2, _res2)) => let val () = s2kexplst_ismat_exn (_arg2, _arg1) // contra-variant // end of [val] in s2kexp_ismat_exn (_res1, _res2) end // end of [fun, fun] | (S2KEapp (x1, _), S2KEcst _) => s2kexp_ismat_exn (x1, x2) // | (S2KEapp (_fun1, _arg1), S2KEapp (_fun2, _arg2)) => { val () = s2kexp_ismat_exn (_fun1, _fun2) val () = s2kexplst_ismat_exn (_arg1, _arg2) } // end of [S2KEapp, S2KEapp] // | (S2KEtyarr (elt1), S2KEtyarr (elt2)) => s2kexp_ismat_exn (elt1, elt2) | (S2KEtyrec (knd1, ls2kes1), S2KEtyrec (knd2, ls2kes2)) => if knd1 = knd2 then labs2kexplst_ismat_exn (ls2kes1, ls2kes2) else abort () // end of [if] // | (_, _) => abort () // end // end of [s2kexp_ismat_exn] implement s2kexplst_ismat_exn (xs1, xs2) = let in case+ (xs1, xs2) of | (list_cons (x1, xs1), list_cons (x2, xs2)) => let val () = s2kexp_ismat_exn (x1, x2) in s2kexplst_ismat_exn (xs1, xs2) end // end of [if] | (list_nil (), list_nil ()) => () | (_, _) => abort () end // end of [s2kexplst_ismat_exn] implement s2kexplstlst_ismat_exn (xss1, xss2) = let in case+ (xss1, xss2) of | (list_cons (xs1, xss1), list_cons (xs2, xss2)) => let val () = s2kexplst_ismat_exn (xs1, xs2) in s2kexplstlst_ismat_exn (xss1, xss2) end // end of [if] | (list_nil (), list_nil ()) => () | (_, _) => abort () end // end of [s2kexplstlst_ismat_exn] implement labs2kexplst_ismat_exn (lxs1, lxs2) = let in // case+ (lxs1, lxs2) of | (list_cons (lx1, lxs1), list_cons (lx2, lxs2)) => let val SKLABELED (l1, x1) = lx1 and SKLABELED (l2, x2) = lx2 in if l1 = l2 then let val () = s2kexp_ismat_exn (x1, x2) in labs2kexplst_ismat_exn (lxs1, lxs2) end else abort () // end of [if] end // end of [cons, cons] | (list_nil (), list_nil ()) => () | (_, _) => abort () end // end of [labs2kexplst_ismat_exn] end // end of [local] (* ****** ****** *) (* ** HX: this one is declared in pats_staexp2_util.sats *) implement s2kexp_ismat (x1, x2) = try let val () = s2kexp_ismat_exn (x1, x2) in true end with ~S2KEXPISMATexn () => false // HX: indication of error! // end of [s2kexp_ismat] implement s2kexplst_ismat (xs1, xs2) = try let val () = s2kexplst_ismat_exn (xs1, xs2) in true end with ~S2KEXPISMATexn () => false // HX: indication of error! // end of [s2kexplst_ismat] (* ****** ****** *) (* end of [pats_staexp2_skexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp1.dats0000664000175000017500000004433312655455557017025 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) staload "./pats_effect.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) fn prerr_error1_loc (loc: location): void = ( $LOC.prerr_location loc; prerr ": error(1)" ) // end of [prerr_error1_loc] (* ****** ****** *) implement e1xp_make (loc, node) = '{ e1xp_loc= loc, e1xp_node= node } // end of [e1xp_make] implement e1xp_ide (loc, id) = e1xp_make (loc, E1XPide (id: symbol)) implement e1xp_int (loc, i) = e1xp_make (loc, E1XPint (i)) implement e1xp_intrep (loc, rep) = e1xp_make (loc, E1XPintrep (rep)) // end of [e1xp_intrep] implement e1xp_char (loc, c) = e1xp_make (loc, E1XPchar (c: char)) implement e1xp_string (loc, str) = e1xp_make (loc, E1XPstring (str)) implement e1xp_float (loc, rep) = e1xp_make (loc, E1XPfloat rep) (* ****** ****** *) implement e1xp_i0nt (loc, x) = let val-$LEX.T_INT (base, rep, _(*sfx*)) = x.token_node // end of [val] in e1xp_intrep (loc, rep) end // end of [e1xp_i0nt] implement e1xp_c0har (loc, x) = let val-$LEX.T_CHAR (c) = x.token_node in e1xp_char (loc, c) end // end of [e1xp_c0har] implement e1xp_s0tring (loc, x) = let val-$LEX.T_STRING (s) = x.token_node in e1xp_string (loc, s) end // end of [e1xp_s0tring] implement e1xp_f0loat (loc, x) = let val-$LEX.T_FLOAT (_(*bas*), rep, _(*sfx*)) = x.token_node // end of [val] in e1xp_float (loc, rep) end // end of [e1xp_s0tring] (* ****** ****** *) // implement e1xp_v1al (loc, v) = e1xp_make (loc, E1XPv1al (v)) // (* ****** ****** *) implement e1xp_none (loc) = e1xp_make (loc, E1XPnone ()) implement e1xp_undef (loc) = e1xp_make (loc, E1XPundef ()) (* ****** ****** *) implement e1xp_app ( loc, e_fun, loc_arg, es_arg ) = e1xp_make (loc, E1XPapp (e_fun, loc_arg, es_arg)) implement e1xp_fun (loc, arg, body) = e1xp_make (loc, E1XPfun (arg, body)) // end of [e1xp_fun] (* ****** ****** *) // implement e1xp_if (loc, _cond, _then, _else) = e1xp_make (loc, E1XPif (_cond, _then, _else)) // (* ****** ****** *) // implement e1xp_eval (loc, e) = e1xp_make (loc, E1XPeval (e: e1xp)) // implement e1xp_list (loc, es) = e1xp_make (loc, E1XPlist (es: e1xplst)) // (* ****** ****** *) implement e1xp_err (loc) = e1xp_make (loc, E1XPerr(*void*)) (* ****** ****** *) implement e1xp_true (loc) = e1xp_int (loc, 1) implement e1xp_false (loc) = e1xp_int (loc, 0) (* ****** ****** *) implement v1al_true = V1ALint (1) implement v1al_false = V1ALint (0) (* ****** ****** *) implement effcst_nil = EFFCSTnil () implement effcst_all = EFFCSTall () implement effcst_ntm = EFFCSTset (effset_ntm, list_nil) implement effcst_exn = EFFCSTset (effset_exn, list_nil) implement effcst_ref = EFFCSTset (effset_ref, list_nil) implement effcst_wrt = EFFCSTset (effset_wrt, list_nil) implement effcst_contain (efc, eff) = case+ efc of | EFFCSTall () => true | EFFCSTnil () => false | EFFCSTset (efs, evs) => effset_ismem (efs, eff) // end of [effcst_contain] implement effcst_contain_ntm (efc) = effcst_contain (efc, effect_ntm) (* ****** ****** *) (* ** HX: functions for constructing sorts *) macdef MINUSGT = $SYM.symbol_MINUSGT overload = with $SYM.eq_symbol_symbol fn s0rtq_is_none (q: s0rtq): bool = case+ q.s0rtq_node of S0RTQnone () => true | _ => false // end of [s0rtq_is_none] (* ****** ****** *) implement s1rt_arrow (loc) = let val q = s0rtq_none (loc) in '{ s1rt_loc= loc, s1rt_node= S1RTqid (q, MINUSGT) } end // end of [s1rt_arrow] (* '->' is a special sort constructor *) implement s1rt_is_arrow (s1t) = case+ s1t.s1rt_node of | S1RTqid (q, id) => if s0rtq_is_none q then id = MINUSGT else false // end of [S1RTqid] | _ => false // end of [_] // end of [s1rt_is_arrow] (* ****** ****** *) implement s1rt_app ( loc, s1t_fun, s1ts_arg ) = '{ s1rt_loc= loc, s1rt_node= S1RTapp (s1t_fun, s1ts_arg) } // end of [s1rt_app] implement s1rt_fun (loc, s1t1, s1t2) = let val s1ts = list_cons (s1t1, list_cons (s1t2, list_nil)) in '{ s1rt_loc= loc, s1rt_node= S1RTapp (s1rt_arrow (loc), s1ts) } end // end of [s1rt_fun] implement s1rt_ide (loc, id) = let val q = s0rtq_none (loc) in '{ s1rt_loc= loc, s1rt_node= S1RTqid (q, id) } end // end of [s1rt_ide] implement s1rt_list (loc, s1ts) = case+ s1ts of | list_cons (s1t, list_nil ()) => s1t // singleton elimination | _ => '{ s1rt_loc= loc, s1rt_node= S1RTlist s1ts } // end of [_] // end of [s1rt_list] implement s1rt_qid (loc, q, id) = '{ s1rt_loc= loc, s1rt_node= S1RTqid (q, id) } // end of [s1rt_qid] (* implement s1rt_tup (loc, s1ts) = '{ s1rt_loc= loc, s1rt_node= S1RTtup s1ts } // end of [s1rt_tup] *) implement s1rt_type (loc, knd) = '{ s1rt_loc= loc, s1rt_node= S1RTtype (knd) } implement s1rt_err (loc) = '{ s1rt_loc= loc, s1rt_node= S1RTerr () } (* ****** ****** *) implement s1rtpol_make (loc, s1t, pol) = '{ s1rtpol_loc= loc, s1rtpol_srt= s1t, s1rtpol_pol= pol } // end of [s1rtpol_make] (* ****** ****** *) implement d1atsrtcon_make (loc, name, arg) = '{ d1atsrtcon_loc= loc, d1atsrtcon_sym= name, d1atsrtcon_arg= arg } // end of [d1atsrtcon_make] implement d1atsrtdec_make (loc, name, conlst) = '{ d1atsrtdec_loc= loc, d1atsrtdec_sym= name, d1atsrtdec_con= conlst } // end of [d1atsrtdec_make] (* ****** ****** *) implement s1arg_make (loc, sym, res) = '{ s1arg_loc= loc, s1arg_sym= sym, s1arg_srt= res } implement s1marg_make (loc, s1as) = '{ s1marg_loc= loc, s1marg_arg= s1as } (* ****** ****** *) implement a1srt_make (loc, sym, srt) = '{ a1srt_loc= loc, a1srt_sym= sym, a1srt_srt= srt } implement a1msrt_make (loc, arg) = '{ a1msrt_loc= loc, a1msrt_arg= arg } (* ****** ****** *) implement sp1at_cstr (loc, q, id, arg) = '{ sp1at_loc= loc, sp1at_node= SP1Tcstr (q, id, arg) } // end of [sp1at_cstr] (* ****** ****** *) implement s1exp_ide (loc, id) = '{ s1exp_loc= loc, s1exp_node= S1Eide (id) } (* end of [s1exp_ide] *) implement s1exp_sqid (loc, sq, id) = '{ s1exp_loc= loc, s1exp_node= S1Esqid (sq, id) } (* end of [s1exp_sqid] *) (* ****** ****** *) implement s1exp_int (loc, int) = '{ s1exp_loc= loc, s1exp_node= S1Eint (int) } (* end of [s1exp_int] *) implement s1exp_intrep (loc, rep) = '{ s1exp_loc= loc, s1exp_node= S1Eintrep (rep) } (* end of [s1exp_intrep] *) implement s1exp_i0nt (loc, x) = let val-$LEX.T_INT (base, rep, _(*sfx*)) = x.token_node // end of [val] in s1exp_intrep (loc, rep) end // end of [s1exp_i0nt] (* ****** ****** *) implement s1exp_char (loc, c) = '{ s1exp_loc= loc, s1exp_node= S1Echar (c) } // end of [s1exp_char] implement s1exp_c0har (loc, x) = let val-$LEX.T_CHAR (c) = x.token_node in '{ s1exp_loc= loc, s1exp_node= S1Echar (c) } end // end of [s1exp_c0har] (* ****** ****** *) implement s1exp_float (loc, x) = '{ s1exp_loc= loc, s1exp_node= S1Efloat (x) } (* end of [s1exp_float] *) implement s1exp_f0loat (loc, x) = let val-$LEX.T_FLOAT (base, rep, _(*sfx*)) = x.token_node in '{ s1exp_loc= loc, s1exp_node= S1Efloat (rep) } end // end of [s1exp_f0loat] (* ****** ****** *) implement s1exp_string (loc, x) = '{ s1exp_loc= loc, s1exp_node= S1Estring (x) } (* end of [s1exp_string] *) implement s1exp_s0tring (loc, x) = let val-$LEX.T_STRING (str) = x.token_node in '{ s1exp_loc= loc, s1exp_node= S1Estring (str) } end // end of [s1exp_s0tring] (* ****** ****** *) // implement s1exp_extype (loc, name, arg) = '{ s1exp_loc= loc, s1exp_node= S1Eextype (name, arg) } // implement s1exp_extkind (loc, name, arg) = '{ s1exp_loc= loc, s1exp_node= S1Eextkind (name, arg) } // (* ****** ****** *) implement s1exp_app ( loc, _fun, loc_arg, _arg ) = '{ s1exp_loc= loc , s1exp_node= S1Eapp (_fun, loc_arg, _arg) } // end of [s1exp_app] implement s1exp_lam ( loc, arg, res, body ) = '{ s1exp_loc= loc, s1exp_node= S1Elam (arg, res, body) } implement s1exp_imp ( loc, ft, is_lin, is_prf, efc ) = '{ s1exp_loc= loc, s1exp_node= S1Eimp (ft, is_lin, is_prf, efc) } (* ****** ****** *) implement s1exp_list (loc, s1es) = ( case+ s1es of // // HX: singleton elimination is performed // | list_cons (s1e, list_nil()) => s1e | _ (*non-sing*) => '{ s1exp_loc= loc, s1exp_node= S1Elist (~1(*npf*), s1es) } // end of [non-sing] ) (* end of [s1exp_list] *) implement s1exp_list2 (loc, s1es1, s1es2) = let val npf = list_vt_length s1es1 val s1es = list_vt_append (s1es1, s1es2) val s1es = l2l (s1es) in '{ s1exp_loc= loc, s1exp_node= S1Elist (npf, s1es) } end // end of [s1exp_list2] implement s1exp_npf_list (loc, npf, s1es) = ( // if npf >= 0 then '{ s1exp_loc= loc, s1exp_node= S1Elist (npf, s1es) } (* end of [then] *) else s1exp_list (loc, s1es) // ) // end of [s1exp_npf_list] (* ****** ****** *) implement s1exp_top (loc, knd, s1e) = '{ s1exp_loc= loc, s1exp_node= S1Etop (knd, s1e) } (* ****** ****** *) // implement s1exp_invar (loc, knd, s1e) = '{ s1exp_loc= loc, s1exp_node= S1Einvar (knd, s1e) } // implement s1exp_trans (loc, s1e1, s1e2) = '{ s1exp_loc= loc, s1exp_node= S1Etrans (s1e1, s1e2) } // (* ****** ****** *) implement s1exp_tyarr ( loc, s1e_elt, s1es_dim ) = '{ s1exp_loc= loc , s1exp_node= S1Etyarr (s1e_elt, s1es_dim) } (* end of [s1exp_tyarr] *) implement s1exp_tytup (loc, knd, npf, s1es) = '{ s1exp_loc= loc, s1exp_node= S1Etytup (knd, npf, s1es) } (* ****** ****** *) implement s1exp_tyrec ( loc, knd, npf, ls1es ) = '{ s1exp_loc= loc, s1exp_node= S1Etyrec (knd, npf, ls1es) } // end of [s1exp_tyrec] implement s1exp_tyrec_ext ( loc, name, npf, ls1es ) = '{ s1exp_loc= loc, s1exp_node= S1Etyrec_ext (name, npf, ls1es) } // end of [s1exp_tyrec_ext] (* ****** ****** *) // implement s1exp_uni ( loc, s1qs, s1e ) = '{ s1exp_loc= loc, s1exp_node= S1Euni (s1qs, s1e) } (* end of [s1exp_uni] *) // implement s1exp_exi ( loc, knd, s1qs, s1e ) = '{ s1exp_loc= loc, s1exp_node= S1Eexi (knd, s1qs, s1e) } (* end of [s1exp_exi] *) // (* ****** ****** *) implement s1exp_ann (loc, s1e, s1t) = '{ s1exp_loc= loc, s1exp_node= S1Eann (s1e, s1t) } (* ****** ****** *) implement s1exp_d2ctype (loc, d2ctp) = '{ s1exp_loc= loc, s1exp_node= S1Ed2ctype (d2ctp) } (* ****** ****** *) implement s1exp_err (loc) = '{ s1exp_loc= loc, s1exp_node= S1Eerr () } (* ****** ****** *) implement labs1exp_make (l, name, s1e) = SL0ABELED (l, name, s1e) // end of [labs1exp_make] (* ****** ****** *) implement s1rtext_srt (loc, s1t) = '{ s1rtext_loc= loc, s1rtext_node= S1TEsrt (s1t) } implement s1rtext_sub (loc, sym, s1te, s1ps) = '{ s1rtext_loc= loc, s1rtext_node= S1TEsub (sym, s1te, s1ps) } (* ****** ****** *) implement s1qua_prop (loc, s1p) = '{ s1qua_loc= loc, s1qua_node= S1Qprop (s1p) } implement s1qua_vars (loc, ids, s1te) = '{ s1qua_loc= loc, s1qua_node= S1Qvars (ids, s1te) } (* ****** ****** *) implement s1exp_make_v1al (loc0, v0) = let in // case+ v0 of // | V1ALint(i) => s1exp_int (loc0, i) // | V1ALchar(c) => s1exp_char (loc0, c) // | V1ALstring(str) => s1exp_string (loc0, str) // | _(*unsupported*) => s1exp_err (loc0) // end // end of [s1exp_make_v1al] (* ****** ****** *) implement s1exp_make_e1xp (loc0, e0) = let // fun aux ( e0: e1xp ) : s1exp = let (* val () = ( print "s1exp_make_e1xp: aux: e0 = "; print_e1xp (e0); print_newline () ) // end of [val] *) in case+ e0.e1xp_node of // | E1XPapp (e1, loc_arg, es2) => s1exp_app (loc0, aux e1, loc_arg, auxlst es2) // end of [E1XPapp] // | E1XPide(id) => s1exp_ide (loc0, id) // | E1XPint(int) => s1exp_int (loc0, int) | E1XPintrep(rep) => s1exp_intrep (loc0, rep) // | E1XPchar(chr) => s1exp_char (loc0, chr) // | E1XPfloat(rep) => s1exp_float (loc0, rep) // | E1XPstring(str) => s1exp_string (loc0, str) // | E1XPv1al(v1) => s1exp_make_v1al (loc0, v1) // | E1XPlist(es) => s1exp_list (loc0, auxlst (es)) // | _ (*rest-of-E1XP*) => s1exp_err(loc0) where { val () = prerr_error1_loc (loc0) val () = prerrln! ( ": the expression cannot be translated into a legal static expression." ) (* end of [val] *) } (* end of [rest-of-E1XP] *) end (* end of [aux] *) // and auxlst ( es0: e1xplst ) : s1explst = case+ es0 of | list_cons (e, es) => list_cons (aux e, auxlst es) | list_nil () => list_nil () (* end of [auxlst] *) // in aux (e0) end // end of [s1exp_make_e1xp] (* ****** ****** *) implement e1xp_make_s1exp (loc0, s1e0) = let // fun aux ( s1e0: s1exp ) : e1xp = case+ s1e0.s1exp_node of | S1Eide (id) => e1xp_ide (loc0, id) | S1Eint (int) => e1xp_int (loc0, int) | S1Eintrep (rep) => e1xp_intrep (loc0, rep) | S1Echar (char) => e1xp_char (loc0, char) | S1Eapp (s1e_fun, _(*loc*), s1es_arg) => let val e_fun = aux (s1e_fun); val es_arg = auxlst (s1es_arg) in e1xp_app (loc0, e_fun, loc0, es_arg) end | S1Elist (_(*npf*), s1es) => e1xp_list (loc0, auxlst s1es) | _ => e1xp_err (loc0) (* end of [aux] *) // and auxlst ( s1es0: s1explst ) : e1xplst = case+ s1es0 of | list_cons (s1e, s1es) => list_cons (aux s1e, auxlst s1es) | list_nil () => list_nil () (* end of [auxlst] *) // in aux (s1e0) end // end of [e1xp_make_s1exp] (* ****** ****** *) implement wths1explst_is_none (wths1es) = case+ wths1es of | WTHS1EXPLSTcons_some _ => false | WTHS1EXPLSTcons_none (wths1es) => wths1explst_is_none (wths1es) | WTHS1EXPLSTnil () => true // end of [wths1explst_is_none] implement wths1explst_reverse (wths1es) = let fun loop ( wths1es: wths1explst, res: wths1explst ) : wths1explst = case+ wths1es of | WTHS1EXPLSTcons_some (knd, refval, s1e, wths1es) => loop (wths1es, WTHS1EXPLSTcons_some (knd, refval, s1e, res)) | WTHS1EXPLSTcons_none (wths1es) => loop (wths1es, WTHS1EXPLSTcons_none res) | WTHS1EXPLSTnil () => res // end of [WTHS1EXPLSTnil] // end of [loop] in loop (wths1es, WTHS1EXPLSTnil ()) end // end of [wths1explst_reverse] (* ****** ****** *) implement q1marg_make (loc, arg) = '{ q1marg_loc= loc, q1marg_arg= arg } // end of [q1marg_make] (* ****** ****** *) implement i1mparg_sarglst (xs) = I1MPARG_sarglst (xs) implement i1mparg_svararglst (xs) = I1MPARG_svararglst (xs) (* ****** ****** *) implement t1mpmarg_make (loc, arg) = '{ t1mpmarg_loc= loc, t1mpmarg_arg= arg } // end of [t1mpmarg_make] (* ****** ****** *) implement s1exparg_one (loc) = '{ s1exparg_loc= loc, s1exparg_node= S1EXPARGone () } implement s1exparg_all (loc) = '{ s1exparg_loc= loc, s1exparg_node= S1EXPARGall () } implement s1exparg_seq (loc, xs) = '{ s1exparg_loc= loc, s1exparg_node= S1EXPARGseq (xs) } (* ****** ****** *) implement m1acarg_make_dyn (loc, darg) = '{ m1acarg_loc= loc, m1acarg_node= M1ACARGdyn (darg) } // end of [m1acarg_make_sta] implement m1acarg_make_sta (loc, sarg) = '{ m1acarg_loc= loc, m1acarg_node= M1ACARGsta (sarg) } // end of [m1acarg_make_sta] (* ****** ****** *) implement s1rtdef_make ( loc, sym, s1te ) = '{ s1rtdef_loc= loc , s1rtdef_sym= sym , s1rtdef_def= s1te } // end of [s1rtdef_make] (* ****** ****** *) implement s1tacst_make ( loc, fil, sym, arg, res ) = '{ s1tacst_loc= loc , s1tacst_sym= sym , s1tacst_fil= fil , s1tacst_arg= arg , s1tacst_res= res } // end of [s1tacst_make] implement s1tacon_make ( loc, fil, sym, arg, def ) = '{ s1tacon_loc= loc , s1tacon_sym= sym , s1tacon_fil= fil , s1tacon_arg= arg , s1tacon_def= def } // end of [s1tacon_make] (* ****** ****** *) (* // // HX-2012-05-23: removed // implement s1tavar_make ( loc, sym, srt ) = '{ s1tavar_loc= loc , s1tavar_sym= sym , s1tavar_srt= srt } // end of [s1tavar_make] *) (* ****** ****** *) implement t1kindef_make ( loc, id, loc_id, def ) = '{ t1kindef_loc= loc , t1kindef_sym= id , t1kindef_loc_id= loc_id , t1kindef_def= def } // end of [t1kindef_make] (* ****** ****** *) implement s1expdef_make ( loc, id, loc_id, arg, res, def ) = '{ s1expdef_loc= loc , s1expdef_sym= id , s1expdef_loc_id= loc_id , s1expdef_arg= arg , s1expdef_res= res , s1expdef_def= def } // end of [s1expdef_make] implement s1aspdec_make ( loc, qid, arg, res, def ) = '{ s1aspdec_loc= loc , s1aspdec_qid= qid , s1aspdec_arg= arg , s1aspdec_res= res , s1aspdec_def= def } // end of [s1aspdec_make] (* ****** ****** *) implement d1atcon_make ( loc, id, qua, npf, arg, ind ) = '{ d1atcon_loc= loc , d1atcon_sym= id , d1atcon_qua= qua , d1atcon_npf= npf , d1atcon_arg= arg , d1atcon_ind= ind } // end of [d1atcon_make] implement d1atdec_make (loc, fil, id, arg, con) = '{ d1atdec_loc= loc , d1atdec_fil= fil , d1atdec_sym= id , d1atdec_arg= arg , d1atdec_con= con } // end of [d1atdec_make] implement e1xndec_make (loc, fil, id, qua, npf, arg) = '{ e1xndec_loc= loc , e1xndec_fil= fil , e1xndec_sym= id , e1xndec_qua= qua , e1xndec_npf= npf , e1xndec_arg= arg } // end of [e1xndec_make] (* ****** ****** *) implement d1cstdec_make ( loc, fil, id, s1e, extdef ) = '{ d1cstdec_loc= loc , d1cstdec_fil= fil , d1cstdec_sym= id , d1cstdec_type= s1e , d1cstdec_extdef= extdef } // end of [d1cstdec_make] (* ****** ****** *) (* end of [pats_staexp1.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_ptrof.dats0000664000175000017500000002010112655455557020047 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_ptrof" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_stacst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) extern fun s2addr_ptrof ( loc0: loc_t , s2l: s2exp, d3ls: d3lablst, s2rt: &s2exp? >> s2exp ) : s2exp // end of [s2addr_ptrof] local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": [addr@] operation cannot be performed" val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline () in the_trans3errlst_add (T3E_pfobj_search_none (loc0, s2l)) end // end of [auxerr_pfobj] fun auxlabs ( d3ls: d3lablst ) : s2lablst = ( case+ d3ls of | list_cons (d3l, d3ls) => ( case+ d3l.d3lab_node of | D3LABlab (lab) => let val s2l = S2LABlab (lab) in list_cons (s2l, auxlabs d3ls) end // end of [D3LABlab] | D3LABind (ind) => let val ind = d3explst_get_type (ind) val s2l = S2LABind (ind) in list_cons (s2l, auxlabs d3ls) end // end of [D3LABind] ) // end of [list_ons] | list_nil () => list_nil () ) // end of [auxlabs] fun auxmain ( loc0: loc_t , pfobj: pfobj , d3ls: d3lablst , s2rt: &s2exp? >> s2exp ) : s2exp = let // val+~PFOBJ ( d2vw, s2e_ctx, s2e_elt, s2l ) = pfobj // end of [val] // val () = s2rt := s2e_elt var linrest: int = 0 and sharing: int = 0 // val ( s2e_sel, s2ps ) = s2exp_get_dlablst_linrest_sharing ( loc0, s2e_elt, d3ls, linrest, sharing ) // endfcall // end of [val] // val s2e_sel = s2exp_hnfize (s2e_sel) val () = list_vt_free (s2ps) (*probing*) val s2ls = auxlabs (d3ls) // val s2e_prj = s2exp_proj (s2l, s2e_elt, s2ls) // in s2exp_ptr_addr_type (s2e_prj) end // end of [auxmain] in (* in of [local] *) implement s2addr_ptrof ( loc0, s2l, d3ls, s2rt ) = let val opt = pfobj_search_atview (s2l) in // case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, pfobj, d3ls, s2rt) | ~None_vt () => let val s2e_sel = s2exp_t0ype_err () // end of [val] val () = s2rt := s2e_sel val () = auxerr_pfobj (loc0, s2l) in s2e_sel end // end of [None] // end // end of [s2addr_ptrof] end // end of [local] (* ****** ****** *) local fun auxerr_nonptr ( loc0: loc_t, d3e: d3exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic expression is expected to be a pointer." val () = prerr_newline () in the_trans3errlst_add (T3E_d3exp_nonderef (d3e)) end // end of [auxerr_nonptr] fun auxerr_nonmut ( loc0: loc_t, d2v: d2var ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is not mutable and thus [addr@] cannot be applied." val () = prerr_newline () in the_trans3errlst_add (T3E_d2var_nonmut (loc0, d2v)) end // end of [auxerr_nonmut] fun auxerr_nonlval ( d2e0: d2exp ) : void = let val loc0 = d2e0.d2exp_loc val () = prerr_error3_loc (loc0) val () = prerr ": [addr@] operation cannot be performed" val () = prerr ": a left-value is required but a non-left-value is given." val () = prerr_newline () in the_trans3errlst_add (T3E_d2exp_nonlval (d2e0)) end // end of [auxerr_nonlval] in // in of [local] extern fun d2exp_trup_ptrof_varsel (loc0: loc_t, d2v: d2var, d2ls: d2lablst): d3exp extern fun d2exp_trup_ptrof_ptrsel (loc0: loc_t, d2e: d2exp, d2ls: d2lablst): d3exp implement d2exp_trup_ptrof (d2e0) = let // fun aux ( d2e0: d2exp, d2e: d2exp ) : d3exp = let // val loc0 = d2e0.d2exp_loc // in // case+ d2e.d2exp_node of // case+ // | D2Evar(d2v) => let val opt = d2var_get_addr (d2v) in case+ opt of | Some _ => let val s2e = d2var_get_type_some (loc0, d2v) // end of [val] in d3exp_ptrofvar (loc0, s2e, d2v) end // end of [Some] | None ((*void*)) => let val () = auxerr_nonmut (loc0, d2v) in d3exp_errexp (loc0) end // end of [None] end (* end of [D2Evar] *) // | D2Ederef(d2e) => d2exp_trup_ptrof_ptrsel (loc0, d2e, list_nil) // end of [D2Ederef] // | D2Eselab (d2e, d2ls) => ( case+ d2e.d2exp_node of | D2Evar (d2v) => d2exp_trup_ptrof_varsel (loc0, d2v, d2ls) // end of [D2Evar] | D2Ederef (d2e) => d2exp_trup_ptrof_ptrsel (loc0, d2e, d2ls) // end of [D2Ederef] | _ => let val () = auxerr_nonlval (d2e0) in d3exp_errexp (loc0) end // end of [_] ) // end of [D2Esel] // (* | D2Esing (d2e) => aux (d2e0, d2e) *) // | _ (*rest-of-d2exp*) => let val () = auxerr_nonlval (d2e0) in d3exp_errexp (loc0) end // end of [_] // end // end of [aux] // val-D2Eptrof (d2e) = d2e0.d2exp_node // in aux (d2e0, d2e) end // end of [d2exp_trup_ptrof] (* ****** ****** *) implement d2exp_trup_ptrof_varsel (loc0, d2v, d2ls) = let val ismut = d2var_is_mutabl (d2v) in // if ismut then let val d3ls = d2lablst_trup (d2ls) val-Some (s2e_ptr) = d2var_get_type (d2v) val d3e_ptr = d3exp_ptrofvar (loc0, s2e_ptr, d2v) in // case+ d3ls of | list_cons _ => let val-Some (s2l) = d2var_get_addr (d2v) var s2rt: s2exp val s2e_prj = s2addr_ptrof (loc0, s2l, d3ls, s2rt) in d3exp_ptrofsel (loc0, s2e_prj, d3e_ptr, s2rt, d3ls) end // end of [list_cons] | list_nil () => d3e_ptr // end of [list_nil] // end else let val () = auxerr_nonmut (loc0, d2v) in d3exp_errexp (loc0) // end of [val] end // end of [if] // end // end of [d2exp_trup_ptrof_varsel] (* ****** ****** *) implement d2exp_trup_ptrof_ptrsel (loc0, d2e, d2ls) = let val d3e = d2exp_trup (d2e) val () = d3exp_open_and_add (d3e) val d3ls = d2lablst_trup (d2ls) val s2e = d3exp_get_type (d3e) val s2f = s2exp2hnf (s2e) val opt = un_s2exp_ptr_addr_type (s2f) in // case+ opt of | ~Some_vt (s2l) => let var s2rt: s2exp val s2e_prj = ( case+ d3ls of | list_cons _ => s2addr_ptrof (loc0, s2l, d3ls, s2rt) | list_nil () => let val () = s2rt := s2exp_void_t0ype () in s2exp_ptr_addr_type (s2l) // end of [val] end // end of [list_nil] ) : s2exp // end of [val] in d3exp_ptrofsel (loc0, s2e_prj, d3e, s2rt, d3ls) end // end of [Some_vt] | ~None_vt () => let val () = auxerr_nonptr (loc0, d3e) in d3exp_errexp (loc0) end // end of [None_vt] // end // end of [d2exp_trup_ptrof_ptrset] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_ptrof.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_lvalres.dats0000664000175000017500000003720412655455557020401 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2012 // (* ****** ****** *) // // HX: for handling left-value type restoration after a function call // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans3_lvalres" // (* ****** ****** *) staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) local fun auxerr_pfobj ( loc0: loc_t, s2l: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": type-restoration cannot be performed" val () = prerr_newline () val () = prerr ": the proof search for view located at [" val () = prerr_s2exp (s2l) val () = prerr "] failed to turn up a result." val () = prerr_newline () in the_trans3errlst_add (T3E_pfobj_search_none (loc0, s2l)) end // end of [auxerr_pfobj] fun auxmain ( loc0: loc_t , pfobj: pfobj , d3ls: d3lablst , s2e_new: s2exp ) : s2exp = let // val+~PFOBJ ( d2v, s2e_ctx, s2e_elt, s2l ) = pfobj // end of [val] var ctxtopt: s2ctxtopt = None () (* val () = println! ("auxmain: s2e_elt = ", s2e_elt) *) val s2es2ps = s2exp_get_dlablst_context_check (loc0, s2e_elt, d3ls, ctxtopt) val s2e_old = s2es2ps.0 val () = trans3_env_add_proplst_vt (loc0, s2es2ps.1) // in // case+ ctxtopt of | Some (ctxt) => let val s2e_elt = s2ctxt_hrepl (ctxt, s2e_new) // end of [val] val s2e = s2exp_hrepl (s2e_ctx, s2e_elt) val () = d2var_set_type (d2v, Some (s2e)) in s2e_old end // end of [Some] | None () => let val err = $SOL.s2exp_tyleq_solve (loc0, s2e_new, s2e_old) val () = if err > 0 then let val () = prerr_error3_loc (loc0) val () = prerr ": mismatch of bef/aft types of call-by-reference: " val () = prerr_newline () val () = prerr_the_staerrlst () in the_trans3errlst_add (T3E_s2addr_exch_type_oldnew (loc0, s2e_elt, d3ls, s2e_new)) end // end of [if] // end of [val] in s2e_old end // end of [None] // end // end of [auxmain] in (* in of [local] *) implement s2addr_exch_type ( loc0, s2l, d3ls, s2e_new ) = let val opt = pfobj_search_atview (s2l) in // case+ opt of | ~Some_vt (pfobj) => auxmain (loc0, pfobj, d3ls, s2e_new) | ~None_vt () => let val () = auxerr_pfobj (loc0, s2l) in s2exp_t0ype_err () end // end of [None_vt] // end // end of [s2addr_exch_type] end // end of [local] (* ****** ****** *) local fun auxerr_linold ( loc0: loc_t , d3e: d3exp, d3ls: d3lablst, s2e_old: s2exp ) : void = let val () = prerr_error3_loc (loc0) val () = prerr ": a linear component of the following type is abandoned: " val () = (prerr "["; prerr_s2exp (s2e_old); prerr "].") val () = prerr_newline () in the_trans3errlst_add (T3E_d3lval_exch_type_linold (loc0, d3e, d3ls)) end // end of [auxerr_linold] fun d2var_refval_check ( loc0: loc_t, d2v: d2var, refval: int ) : void = if refval > 0 then let val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is required to be mutable in order to support call-by-reference." val () = prerr_newline () in the_trans3errlst_add (T3E_d3lval_refval (loc0, d2v)) end // end of [if] // end of [d2var_refval_check] in (* in of [local] *) implement d3lval_set_type_err ( refval, d3e0, s2e_new, err ) = let // val loc0 = d3e0.d3exp_loc // (* val () = ( println! ("d3lval_set_type_err: d3e0 = ", d3e0); println! ("d3lval_set_type_err: s2e_new = ", s2e_new); ) // end of [val] *) // in // case+ d3e0.d3exp_node of // | D3Evar (d2v) when d2var_is_mutabl (d2v) => let val-Some (s2l) = d2var_get_addr (d2v) val d3ls = list_nil // HX: a special case of sel_var val _(*old*) = s2addr_exch_type (loc0, s2l, d3ls, s2e_new) in // nothing end // end of [D2Evar/mutabl] // | D3Evar (d2v) when d2var_is_linear (d2v) => let val () = d2var_refval_check (loc0, d2v, refval) // end of [val] val opt = d2var_exch_type (d2v, Some (s2e_new)) // end of [val] val () = d3exp_set_type (d3e0, s2e_new) in case+ opt of | Some (s2e_old) => let val islin = s2exp_is_lin (s2e_old) val () = if islin then auxerr_linold (loc0, d3e0, list_nil(*d3ls*), s2e_old) // end of [if] // end of [val] in // nothing end // end of [Some] | None ((*none*)) => () end // end of [D2Evar/linear] // (* | D3Evar (d2v) when d2var_get_isfix (d2v) => () *) // | D3Esel_var (d2v, s2rt, d3ls) when d2var_is_mutabl (d2v) => let val-Some (s2l) = d2var_get_addr (d2v) val _(*old*) = s2addr_exch_type (loc0, s2l, d3ls, s2e_new) in // nothing end // end of [D2Evar/mutabl] | D3Esel_var (d2v, s2rt, d3ls) when d2var_is_linear (d2v) => let val () = d2var_refval_check (loc0, d2v, refval) // end of [val] val s2e = d2var_get_type_some (loc0, d2v) var ctxtopt: s2expopt = None () val s2e_old = s2exp_get_dlablst_context (loc0, s2e, d3ls, ctxtopt) val s2e_old = s2exp_hnfize (s2e_old) val islin = s2exp_is_lin (s2e_old) val () = if islin then auxerr_linold (loc0, d3e0, d3ls, s2e_old) in case+ ctxtopt of | Some (ctxt) => let val s2e = s2ctxt_hrepl (ctxt, s2e_new) // end of [val] in d2var_set_type (d2v, Some (s2e)) end // end of [Some] | None () => let val () = prerr_interror_loc (loc0) val () = prerr ": type-restoration for the left-value failed." val () = prerr_newline () val () = assertloc (false) in // this error can occur in theory, but will it do in practice? end // end of [None] end // end of [D3Evar/linear] // | D3Esel_ptr (d3e_ptr, s2rt, d3ls) => let val s2e_ptr = d3exp_get_type (d3e_ptr) val s2f_ptr = s2exp2hnf (s2e_ptr) val opt = un_s2exp_ptr_addr_type (s2f_ptr) in case+ opt of | ~Some_vt (s2l) => { val _(*old*) = s2addr_exch_type (loc0, s2l, d3ls, s2e_new) } // end of [Some_vt] | ~None_vt () => () // HX: error already registered at this point end // end of [D2Esel_ptr] // | D3Eviewat (d3e_ptr, d3ls) => let val s2e_ptr = d3exp_get_type (d3e_ptr) val s2f_ptr = s2exp2hnf (s2e_ptr) val opt = un_s2exp_ptr_addr_type (s2f_ptr) in case+ opt of | ~Some_vt (s2l) => s2addr_set_viewat (loc0, s2l, d3ls, s2e_new) | ~None_vt () => () // HX: error already registered at this point end // end of [D2Eviewat] // (* | D3Eapp_sta(d3e) => d3lval_set_type_err (refval, d3e, s2e_new, err) // end of [D3Eapp_sta] *) // | _ (*D3E...: non-left-values*) => (err := err + 1) // (* | _ (*D3E...: non-left-values*) => let val () = prerr_error3_loc (loc0) val () = prerrln! ": type-restoration cannot be applied to a non-left-value." in the_trans3errlst_add (T3E_d3lval_funarg (d3e0)) end // end of [_] *) // end // end of [d3lval_set_type_err] end // end of [local] (* ****** ****** *) implement d3lval_set_pat_type_left (d3e0, p3t) = let // val opt = p3at_get_type_left (p3t) // in // case+ opt of | Some (s2e) => let var err: int = 0 val () = d3lval_set_type_err (0(*refval*), d3e0, s2e, err) in if err > 0 then let val loc0 = d3e0.d3exp_loc val () = prerr_error3_loc (loc0) val () = prerr ": the dynamic expression should be a left-value but it is not." val () = prerr_newline () in the_trans3errlst_add (T3E_d3lval_linpatcon (d3e0, s2e)) end (* end of [if] *) end // end of [Some] | None ((*void*)) => () // end // end of [d3lval_set_pat_type_left] (* ****** ****** *) local fun loop ( d3es: d3explst, p3ts: p3atlst ) : void = let in // case+ d3es of | list_cons (d3e, d3es) => ( case+ p3ts of | list_cons (p3t, p3ts) => let val () = d3lval_set_pat_type_left (d3e, p3t) in loop (d3es, p3ts) // end of [val] end // end of [list_cons] | list_nil () => () ) // end of [list_cons] | list_nil () => () // end // end of [loop] in (* in of [local] *) implement d3lvalist_set_pat_type_left (d3es, p3ts) = loop (d3es, p3ts) end // end of [local] (* ****** ****** *) local // fun auxerr ( d3e0: d3exp ) : void = let // val loc0 = d3e0.d3exp_loc // (* val () = prerr_error3_loc (loc0) val () = prerrln! (": auxerr: d3e0 = ", d3e0) *) // val () = prerr_error3_loc (loc0) val () = prerrln! (": the function argument needs to be a left-value.") // in the_trans3errlst_add (T3E_d3lval_funarg (d3e0)) end // end of [_] // in (* in of [local] *) implement d3lval_arg_set_type (refval, d3e0, s2e_new) = let (* val () = ( println! ("d3lval_arg_set_type: d3e0 = ", d3e0); println! ("d3lval_arg_set_type: refval = ", refval); println! ("d3lval_arg_set_type: s2e_new = ", s2e_new); ) (* end of [val] *) *) var err: int = 0 var freeknd: int = 0 // free [d3e0] if it is set to 1 val () = d3lval_set_type_err (refval, d3e0, s2e_new, err) val () = ( if err > 0 then ( case+ 0 of | _ when refval > 0 => auxerr (d3e0) | _ when s2exp_is_nonlin (s2e_new) => () // HX-2013-03: safely discarded (* | _ when s2exp_fun_is_freeptr (s2e_new) => (freeknd := 1) // auto-freeing *) | _ (* refval = 0 *) => auxerr (d3e0) ) // end of [if] ) : void // end of [val] // (* val () = println! ("d3lval_arg_set_type: freeknd = ", freeknd) *) // in freeknd // freeknd=1: a linear value must be freed if it cannot be returned end (* end of [d3lval_arg_set_type] *) end // end of [local] (* ****** ****** *) fun s2exp_fun_is_freeptr (s2e_fun: s2exp) : bool = let in // case+ s2e_fun.s2exp_node of | S2Efun ( fc, lin, _(*s2fe*), _(*npf*), _(*arg*), _(*res*) ) => ( case+ fc of | FUNCLOclo (knd) => if knd > 0 then (if lin <= 0 then true else false) else false // end of [if] | _ (*non-clofun*) => false ) // end of [S2Efun] | _ (*non-fun-type*) => false // end // end of [s2exp_fun_is_freeptr] (* ****** ****** *) local fun auxerr ( d3e0: d3exp ) : void = let val loc0 = d3e0.d3exp_loc val () = prerr_error3_loc (loc0) val () = prerr ": the function itself needs to be a left-value." val () = prerr_newline () in the_trans3errlst_add (T3E_d3lval_fun (d3e0)) end // end of [_] fun auxres ( d3e0: d3exp ) : d3exp = let // val loc0 = d3e0.d3exp_loc val s2e0 = d3exp_get_type (d3e0) val s2fun = s2exp_hnfize (s2e0) // val-S2Efun ( fc0, lin, s2fe, npf, s2es_arg, s2e_res ) = s2fun.s2exp_node // val s2fun_new = ( case+ lin of | _ when lin = 0 => s2fun | _ when lin = 1 => s2exp_fun_srt ( s2rt_vtype, fc0, ~1(*topized*), s2fe, npf, s2es_arg, s2e_res ) (* end of [lin=1] *) | _ (* lin = ~1 *) => let val () = prerr_error3_loc (loc0) val () = prerr ": a linear function cannot be applied repeatedly." val () = prerr_newline () val () = the_trans3errlst_add (T3E_d3exp_funclo_topized (d3e0)) in s2fun end // end of [_] ) : s2exp // end of [val] // val refval = ( case+ fc0 of | FUNCLOclo knd => if knd = 0 then 1 else 0 | FUNCLOfun () => 0 ) : int // end of [val] // var err: int = 0 var freeknd: int = 0 // free [d3e0] if it is set to 1 val () = d3lval_set_type_err (refval, d3e0, s2fun_new, err) val () = ( if err > 0 then ( case+ 0 of | _ when refval > 0 => auxerr (d3e0) | _ when s2exp_fun_is_freeptr (s2fun_new) => (freeknd := 1) // auto-freeing | _ (* refval = 0 *) => ((* fun or cloref *)) ) // end of [if] ) : void // end of [val] // in d3exp_refarg (loc0, s2fun_new, refval, freeknd, d3e0) end // end of [auxres] #define CLO 0; #define CLOPTR 1; #define CLOREF ~1 in (* in of [local] *) implement d3exp_fun_restore (fc, d3e_fun) = let in // case+ fc of | FUNCLOclo (knd) => ( // // knd: 0/1/~1: clo/cloptr/cloref // if knd >= CLO then auxres (d3e_fun) else d3e_fun ) // end of [FUNCLOclo] | FUNCLOfun () => d3e_fun // end // end of [d3exp_fun_restore] end // end of [local] (* ****** ****** *) local fun auxlst1 ( d3es: d3explst , s2es_arg: s2explst , wths2es: wths2explst ) : d3explst = case d3es of | list_nil () => list_nil () | list_cons _ => auxlst2 (d3es, s2es_arg, wths2es) // end of [auxlst1] and auxlst2 ( d3es: d3explst , s2es_arg: s2explst , wths2es: wths2explst ) : d3explst = let in // case+ wths2es of // | WTHS2EXPLSTnil ((*void*)) => list_nil () // | WTHS2EXPLSTcons_invar (_, _, wths2es) => let val-list_cons (d3e, d3es) = d3es val-list_cons (s2e_arg, s2es_arg) = s2es_arg val loc = d3e.d3exp_loc val-S2Erefarg(refval, s2e_res) = s2e_arg.s2exp_node val freeknd = // HX: freeknd = 0 d3lval_arg_set_type (refval, d3e, s2e_res) val d3e = d3exp_refarg (loc, s2e_res, refval, freeknd, d3e) val d3es = auxlst1 (d3es, s2es_arg, wths2es) in list_cons (d3e, d3es) end // end of [WTHS2EXPLSTcons_invar] // | WTHS2EXPLSTcons_trans (refval, s2e_res, wths2es) => let val-list_cons (d3e, d3es) = d3es val-list_cons (s2e_arg, s2es_arg) = s2es_arg val loc = d3e.d3exp_loc val s2f_res = s2exp2hnf (s2e_res) val s2e_res = s2hnf_opnexi_and_add (loc, s2f_res) (* val () = ( println! ("d3explst_arg_restore: auxlst2: d3e = ", d3e); println! ("d3explst_arg_restore: auxlst2: d3e.type = ", d3e.d3exp_type); println! ("d3explst_arg_restore: auxlst2: s2e_res = ", s2e_res); ) // end of [val] *) val freeknd = // HX: freeknd = 0 d3lval_arg_set_type (refval, d3e, s2e_res) val d3e = d3exp_refarg (loc, s2e_res, refval, freeknd, d3e) val d3es = auxlst1 (d3es, s2es_arg, wths2es) in list_cons (d3e, d3es) end // end of [WTHS2EXPLSTcons_trans] // | WTHS2EXPLSTcons_none (wths2es) => let val-list_cons (d3e, d3es) = d3es val-list_cons (s2e_arg, s2es_arg) = s2es_arg val d3es = auxlst1 (d3es, s2es_arg, wths2es) in list_cons (d3e, d3es) end // end of [WTHS2EXPLSTcons_none] // end // end of [d3explst_arg_restore] in (* in of [local] *) // implement d3explst_arg_restore (d3es, s2es, wths2es) = auxlst1 (d3es, s2es, wths2es) // end // end of [local] (* ****** ****** *) (* end of [pats_trans3_lvalres.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_looping.dats0000664000175000017500000004367312655455557020407 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_trans3_looping" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) fun d2var_reset_type (d2v: d2var): void = d2var_set_type (d2v, d2var_get_mastype (d2v)) // end of [d2var_reset_type] (* ****** ****** *) fun lstbefitmlst_opnset_and_add (loc: loc_t, xs: lstbefitmlst): void = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = d2var_opnset_and_add (loc, x.lstbefitm_var) in lstbefitmlst_opnset_and_add (loc, xs) end // end of [list_cons] // end // end of [lstbefitmlst_opnset_and_add] (* // // HX-2012-11-24: is this necessary? // fun invarglst_opnset_and_add (loc: loc_t, xs: i2nvarglst): void = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = d2var_opnset_and_add (loc, x.i2nvarg_var) in invarglst_opnset_and_add (loc, xs) end // end of [list_cons] // end // end of [invarglst_opnset_and_add] *) (* ****** ****** *) // extern fun d2exp_trup_loop_dryrun ( loc0: loc_t , lsbis: lstbefitmlst , test: d2exp, post: d2expopt, body: d2exp ) : lstbefitmlst // end of [d2exp_trup_loop_dryrun] // implement d2exp_trup_loop_dryrun ( loc0, lsbis, test, post, body ) = let // val (pfpush | ()) = trans3_env_push () val (pfpush2 | ()) = the_lamlpenv_push_loop0 () // val test = d2exp_trup (test) val body = d2exp_trup (body) // val post = ( case+ post of | Some d2e => let val s2f = s2exp_void_t0ype () val d3e = d2exp_trdn (d2e, s2f) in Some (d3e) end // end of [Some] | None () => None () ) : d3expopt // end of [val] // val () = the_lamlpenv_pop (pfpush2 | (*void*)) // val s3itms = trans3_env_pop (pfpush | (*void*)) // HX: it is a dry-run val ((*freed*)) = list_vt_free (s3itms) // fun aux ( x: lstbefitm ) : lstbefitm = let // val d2v = x.lstbefitm_var // val opt = x.lstbefitm_type val opt2 = d2var_get_type (d2v) // val () = ( // // HX-2012-08: // the rule is simple: each dvar is reset if its type immedidately // after dry-run is different from the one at the start of dry-run // case+ (opt, opt2) of | (Some (s2e), Some (s2e2)) => let val iseq = s2exp_refeq (s2e, s2e2) in if ~(iseq) then d2var_reset_type (d2v) end // end of [Some, Some] | (None (), None ()) => () | (_, _) => d2var_reset_type (d2v) // HX: type-error later ) : void // end of [val] // val linval2 = d2var_get_linval (d2v) // in lstbefitm_make (d2v, linval2) end // end of [aux] // val lsbis2 = list_map_fun (lsbis, aux) // in list_of_list_vt (lsbis2) end // end of [d2exp_trup_loop_dryrun] // (* ****** ****** *) local fun auxerr_none ( loc: loc_t, d2v: d2var, s2e: s2exp ) : void = let // val () = prerr_error3_loc (loc) // val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is retained with the type [" val () = prerr_s2exp (s2e) val () = prerr "but it should be consumed instead." val () = prerr_newline () // in the_trans3errlst_add (T3E_d2var_some (loc, d2v, s2e)) end // end of [auxerr_none] fun auxerr_some ( loc: loc_t, d2v: d2var, s2e0: s2exp ) : void = let // val () = prerr_error3_loc (loc) // val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is consumed but it should be retained with the type [" val () = prerr_s2exp (s2e0) val () = prerr "] instead." val () = prerr_newline () // in the_trans3errlst_add (T3E_d2var_some (loc, d2v, s2e0)) end // end of [auxerr_some] fun auxerr_some2 ( loc: loc_t, d2v: d2var, s2e0: s2exp, s2e: s2exp ) : void = let // val () = prerr_error3_loc (loc) // val () = prerr ": the dynamic variable [" val () = prerr_d2var (d2v) val () = prerr "] is retained but with a type that fails to merge." val () = prerr_newline () val () = prerr_the_staerrlst () // in the_trans3errlst_add (T3E_d2var_some2 (loc, d2v, s2e0, s2e)) end // end of [auxerr_some2] (* ****** ****** *) fun auxVarCK ( loc: loc_t , d2v: d2var , opt: s2expopt, opt2: s2expopt ) : void = let // (* val () = println! ("auxVarCK: d2v = ", d2v) *) // in // case+ opt of | Some (s2e) => ( case+ opt2 of | Some (s2e2) => let var err0: int = 0 // (* val () = println! ("auxVarCK: s2e = ", s2e) val () = println! ("auxVarCK: s2e2 = ", s2e2) *) // val iseq = s2exp_refeq (s2e, s2e2) val () = if ~(iseq) then let // val (pfpush|()) = trans3_env_push() val err = $SOL.s2exp_tyleq_solve (loc, s2e, s2e2) val ctrknd = C3TKlstate_var (d2v) val () = trans3_env_pop_and_add (pfpush | loc, ctrknd) // in err0 := err end // end of [if] // end of [val] val () = if (err0 > 0) then { val () = prerr_the_staerrlst () val () = auxerr_some2 (loc, d2v, s2e, s2e2) } // end of [if] // end of [val] in // nothing end // end of [Some] | None () => auxerr_none (loc, d2v, s2e) ) // end of [Some] | None () => ( case+ opt2 of | Some (s2e2) => auxerr_some (loc, d2v, s2e2) | None () => () ) // end of [None] // end // end of [auxVarCK] (* ****** ****** *) fun auxMetCK ( loc: loc_t , sub: !stasub, opt: s2explstopt ) : void = let in case+ opt of | Some (met0) => let val met = s2explst_subst (sub, met0) val c3t = c3nstr_termet_isdec (loc, met, met0) in trans3_env_add_cnstr (c3t) end // end of [Some] | None () => ((*void*)) end // end of [auxMetCK] (* ****** ****** *) fun auxEnter ( loc: loc_t , i2nv: loopi2nv, lsbis: lstbefitmlst ) : void = let // (* val () = println! ("auxEnter: enter") *) // fun auxitm ( loc: loc_t , sub: !stasub, args: i2nvarglst, x: lstbefitm ) : void = let val d2v = x.lstbefitm_var in // case+ args of | list_nil ((*void*)) => let val opt = x.lstbefitm_type val opt2 = d2var_get_type (d2v) in auxVarCK (loc, d2v, opt, opt2) end // end of [list_nil] | list_cons (arg, args) => let val d2v2 = i2nvarg_get_var (arg) val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x.lstbefitm_type val opt2 = i2nvarg_get_type (arg) val opt2 = s2expopt_subst (sub, opt2) in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else auxitm (loc, sub, args, x) // else // end of [if] end // end of [list_cons] // end (* end of [auxitm] *) // fun auxitmlst ( loc: loc_t , sub: !stasub, args: i2nvarglst, xs: lstbefitmlst ) : void = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = auxitm (loc, sub, args, x) // end of [val] in auxitmlst (loc, sub, args, xs) end // end of [list_cons] // end (* end of [auxitmlst] *) // val sub = stasub_make_svarlst (loc, i2nv.loopi2nv_svs) // val (pfpush | ()) = trans3_env_push () // local val s2ps = s2explst_subst_vt(sub, i2nv.loopi2nv_gua) in val () = trans3_env_add_proplst_vt (loc, s2ps) end // end of [local] // val () = auxitmlst(loc, sub, i2nv.loopi2nv_arg, lsbis) // val ctrknd = C3TKloop(~1(*entering*)) // val ((*void*)) = trans3_env_pop_and_add (pfpush | loc, ctrknd) // val ((*freed*)) = stasub_free (sub) // in // nothing end // end of [auxEnter] (* ****** ****** *) fun auxBreak ( loc: loc_t , i2nv: loopi2nv, lsbis: lstbefitmlst ) : void = let // (* val () = println! ("auxBreak: enter") *) // fun auxitm1 ( loc: loc_t , i2nv: loopi2nv , lsbis: lstbefitmlst , sub: !stasub, args: i2nvarglst, x0: lstbefitm ) : void = let val d2v = x0.lstbefitm_var in // case+ args of | list_nil () => auxitm2 (loc, lsbis, i2nv.loopi2nv_arg, x0) // end of [list_nil] | list_cons (arg, args) => let val d2v2 = i2nvarg_get_var (arg) val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x0.lstbefitm_type val opt2 = i2nvarg_get_type (arg) val opt2 = s2expopt_subst (sub, opt2) in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else ( auxitm1 (loc, i2nv, lsbis, sub, args, x0) ) (* end of [else] *) // end of [if] end // end of [list_cons] // end // end of [auxitm1] // and auxitm2 ( loc: loc_t , lsbis: lstbefitmlst, args: i2nvarglst, x0: lstbefitm ) : void = let val d2v = x0.lstbefitm_var in // case+ args of | list_nil ((*void*)) => auxitm3 (loc, lsbis, x0) // end of [list_nil] | list_cons (arg, args) => let val d2v2 = i2nvarg_get_var (arg) val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x0.lstbefitm_type val opt2 = i2nvarg_get_type (arg) in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else ( auxitm2 (loc, lsbis, args, x0) ) (* end of [else] *) // end of [if] end // end of [list_cons] // end // end of [auxitm2] // and auxitm3 ( loc: loc_t , lsbis: lstbefitmlst, x0: lstbefitm ) : void = let val d2v = x0.lstbefitm_var in // case+ lsbis of | list_nil ((*void*)) => () | list_cons (lsbi, lsbis) => let val d2v2 = lsbi.lstbefitm_var val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x0.lstbefitm_type val opt2 = lsbi.lstbefitm_type in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else auxitm3 (loc, lsbis, x0) // else // end of [if] end // end of [list_cons] // end // end of [auxitm3] // fun auxitmlst ( loc: loc_t , i2nv: loopi2nv , lsbis: lstbefitmlst , sub: !stasub, args: i2nvarglst, xs: lstbefitmlst ) : void = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = auxitm1 (loc, i2nv, lsbis, sub, args, x) // end of [val] in auxitmlst (loc, i2nv, lsbis, sub, args, xs) end // end of [list_cons] // end (* end of [auxitmlst] *) // val r2es = i2nv.loopi2nv_res val s2vs = r2es.i2nvresstate_svs // val sub = stasub_make_svarlst(loc, s2vs) // val lsbis2 = the_d2varenv_save_lstbefitmlst () // val (pfpush | ()) = trans3_env_push () // val () = auxitmlst (loc, i2nv, lsbis, sub, r2es.i2nvresstate_arg, lsbis2) // val ctrknd = C3TKloop(0(*breaking*)) // val ((*void*)) = trans3_env_pop_and_add (pfpush | loc, ctrknd) // val ((*freed*)) = stasub_free (sub) // in // nothing end // end of [auxBreak] (* ****** ****** *) fun auxContinue ( loc: loc_t , i2nv: loopi2nv, lsbis: lstbefitmlst , post: d2expopt ) : d3expopt = let // (* val () = println! ("auxContinue: enter") *) // fun auxitm1 ( loc: loc_t , lsbis: lstbefitmlst , sub: !stasub, args: i2nvarglst, x0: lstbefitm ) : void = let val d2v = x0.lstbefitm_var in // case+ args of | list_nil() => auxitm2 (loc, lsbis, x0) // end of [list_nil] | list_cons(arg, args) => let val d2v2 = i2nvarg_get_var (arg) val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x0.lstbefitm_type val opt2 = i2nvarg_get_type (arg) val opt2 = s2expopt_subst (sub, opt2) in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else ( auxitm1 (loc, lsbis, sub, args, x0) ) (* end of [then] *) // end of [if] end // end of [list_cons] // end // end of [auxitm1] // and auxitm2 ( loc: loc_t , lsbis: lstbefitmlst, x0: lstbefitm ) : void = let val d2v = x0.lstbefitm_var in // case+ lsbis of | list_nil ((*void*)) => () | list_cons (lsbi, lsbis) => let val d2v2 = lsbi.lstbefitm_var val iseq = eq_d2var_d2var (d2v, d2v2) in if iseq then let val opt = x0.lstbefitm_type val opt2 = lsbi.lstbefitm_type in auxVarCK (loc, d2v, opt, opt2) end // end of [then] else auxitm2 (loc, lsbis, x0) // else // end of [if] end // end of [list_cons] // end // end of [auxitm2] // fun auxitmlst ( loc: loc_t , lsbis: lstbefitmlst , sub: !stasub, args: i2nvarglst, xs: lstbefitmlst ) : void = let in // case+ xs of | list_nil() => () | list_cons(x, xs) => let val () = auxitm1 (loc, lsbis, sub, args, x) // end of [val] in auxitmlst (loc, lsbis, sub, args, xs) end // end of [list_cons] // end (* end of [auxitmlst] *) // val s2f_void = s2exp_void_t0ype () // val post = ( case+ post of | Some (d2e) => Some (d2exp_trdn (d2e, s2f_void)) | None () => None () ) : d3expopt // end of [val] // val sub = stasub_make_svarlst(loc, i2nv.loopi2nv_svs) // val lsbis2 = the_d2varenv_save_lstbefitmlst () // val (pfpush | ()) = trans3_env_push () // local val s2ps = s2explst_subst_vt(sub, i2nv.loopi2nv_gua) in val () = trans3_env_add_proplst_vt (loc, s2ps) end // end of [local] // val () = auxMetCK (loc, sub, i2nv.loopi2nv_met) val () = auxitmlst (loc, lsbis, sub, i2nv.loopi2nv_arg, lsbis2) // val ctrknd = C3TKloop(1(*continue*)) // val ((*void*)) = trans3_env_pop_and_add (pfpush | loc, ctrknd) // val ((*freed*)) = stasub_free (sub) // in post(*d3expopt*) end // end of [auxContinue] in (* in of [local] *) implement d2exp_trup_loop ( loc0, i2nv, init, test, post, body ) = let // val s2f_void = s2exp_void_t0ype () // val init = ( case+ init of | Some d2e => let val d3e = d2exp_trdn (d2e, s2f_void) in Some (d3e) // end of [val] end // end of [Some] | None () => None () ) : d3expopt // end of [val] // val lsbis0 = the_d2varenv_save_lstbefitmlst () val lsbis1 = d2exp_trup_loop_dryrun (loc0, lsbis0, test, post, body) (* val () = fprintln! (stdout_ref, "lsbis0 = ", lsbis0) val () = fprintln! (stdout_ref, "lsbis1 = ", lsbis1) *) // val () = auxEnter (loc0, i2nv, lsbis0) // val locinv = i2nv.loopi2nv_loc val () = trans3_env_add_svarlst (i2nv.loopi2nv_svs) val () = trans3_env_hypadd_proplst (locinv, i2nv.loopi2nv_gua) // val _(*err*) = let val opt = i2nv.loopi2nv_met in case+ opt of | Some (met) => let val () = s2explst_check_termet (loc0, met) in (0) end // end of [Some] | None () => the_effenv_check_ntm (loc0) // HX: raising ntm-effect // end of [None] end : int // end of [val] // val invargs = i2nv.loopi2nv_arg val () = i2nvarglst_update (locinv, invargs) val () = lstbefitmlst_opnset_and_add (locinv, lsbis1) // val test = d2exp_trup (test) val loc_test = test.d3exp_loc val () = d3exp_open_and_add (test) val s2e_test = d3exp_get_type (test) val s2e_bool = s2exp_bool_t0ype () val test = d3exp_trdn (test, s2e_bool) val s2f_test = s2exp2hnf (s2e_test) // val os2p_test = un_s2exp_bool_index_t0ype (s2f_test) // val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_propopt_neg (loc_test, $UN.castvwtp1 {s2expopt}{s2expopt_vt} (os2p_test)) val () = auxBreak (loc0, i2nv, lsbis1) val () = trans3_env_pop_and_add_main (pfpush | loc0) // val (pfpush | ()) = trans3_env_push () val () = trans3_env_hypadd_propopt(*true*) (loc_test, $UN.castvwtp1 {s2expopt}{s2expopt_vt} (os2p_test)) // val (pfpush2 | ()) = the_lamlpenv_push_loop1 (i2nv, lsbis1, post) val body = d2exp_trdn (body, s2f_void) val () = the_lamlpenv_pop (pfpush2 | (*void*)) // val post = auxContinue (loc0, i2nv, lsbis1, post) // val () = trans3_env_pop_and_add_main (pfpush | loc0) // val () = option_vt_free (os2p_test) // val () = lstbefitmlst_restore_type (lsbis1) val () = i2nvarglst_update (locinv, i2nv.loopi2nv_arg) val () = i2nvresstate_update (locinv, i2nv.loopi2nv_res) // in d3exp_loop (loc0, init, test, post, body) end // end of [d2exp_trup_loop] (* ****** ****** *) implement d2exp_trup_loopexn (loc0, knd) = let // fun auxerr ( loc: loc_t, knd: int ) : void = let val () = prerr_error3_loc (loc) val () = if knd = 0 then prerr ": [break] is only allowed inside a for/while-loop" val () = if knd > 0 then prerr ": [continue] is only allowed inside a for/while-loop" val () = prerr_newline () in the_trans3errlst_add (T3E_loopexn (loc, knd)) end // end of [auxerr] // val opt = the_lamlpenv_top () val () = ( case+ opt of | ~Some_vt (lamlp) => ( case+ lamlp of | LAMLPlam _ => auxerr (loc0, knd) | LAMLPloop0 _ => () // HX: skip during dryrun | LAMLPloop1 ( i2nv, lsbis, post ) => if knd = 0 then auxBreak (loc0, i2nv, lsbis) else let val _(*post*) = auxContinue (loc0, i2nv, lsbis, post) in // nothing end // end of [if] ) // end of [Some_vt] | ~None_vt () => auxerr (loc0, knd) ) : void // end of [val] // in d3exp_loopexn (loc0, knd) end // end of [d2exp_trup_loopexn] (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [pats_trans3_looping.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_patcon.dats0000664000175000017500000003133412655455557020213 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: February, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans3_patcon" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_staexp2_error.sats" (* ****** ****** *) staload "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload SOL = "./pats_staexp2_solve.sats" (* ****** ****** *) staload "./pats_trans3.sats" staload "./pats_trans3_env.sats" (* ****** ****** *) #define l2l list_of_list_vt (* ****** ****** *) dataviewtype patcontrup = PATCONTRUP of (p2atlst, s2explst(*arg*), s2exp(*res*)) (* end of [patcontrup] *) (* ****** ****** *) // // HX-2012-05: // [patconknd]: nonlin/preserve/free/unfold: ~1/0/1/2 // extern fun p2at_trup_con (p2t0: p2at): patcontrup implement p2at_trup_con (p2t0) = let // val loc0 = p2t0.p2at_loc val-P2Tcon ( _(*pck*), d2c, s2qs, s2e_con, npf, p2ts_arg ) = p2t0.p2at_node // val () = let fun loop (s2qs: s2qualst): void = case+ s2qs of | list_cons (s2q, s2qs) => let val () = trans3_env_add_svarlst (s2q.s2qua_svs) in loop (s2qs) end // end of [list_cons] | list_nil () => () // end of [loop] in loop (s2qs) end // end of [val] // val () = let fun loop ( loc0: loc_t, s2qs: s2qualst ) : void = case+ s2qs of | list_cons (s2q, s2qs) => let val () = trans3_env_hypadd_proplst (loc0, s2q.s2qua_sps) in loop (loc0, s2qs) end // end of [list_cons] | list_nil () => () // end of [loop] in loop (loc0, s2qs) end // end of [val] // in // case+ s2e_con.s2exp_node of | S2Efun ( fc, lin, s2fe, npf_con, s2es_arg, s2e_res ) => let val err = $SOL.pfarity_equal_solve (loc0, npf, npf_con) val () = if err > 0 then { val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "p2at_trup_con" val () = prerr ": proof arity mismatch: the constructor [" val () = prerr_d2con (d2c) val () = prerrf ("] requires [%i] arguments.", @(npf_con)) val () = prerr_newline () val () = prerr_the_staerrlst () val () = the_trans3errlst_add (T3E_p2at_trup_con (p2t0)) } // end of [val] in PATCONTRUP (p2ts_arg, s2es_arg, s2e_res) end // end of [S2Efun] | _ => let val () = prerr_error3_loc (loc0) val () = filprerr_ifdebug "p2at_trup_con" val () = prerr ": the constructor pattern is ill-typed." val () = prerr_newline () val () = the_trans3errlst_add (T3E_p2at_trup_con (p2t0)) val s2es_arg = aux (p2ts_arg) where { fun aux ( p2ts: p2atlst ) : s2explst = case+ p2ts of | list_cons (_, p2ts) => let val s2e = s2exp_t0ype_err () in list_cons (s2e, aux p2ts) end // end of [list_cons] | list_nil () => list_nil () // end of [aux] } // end of [val] val s2e_res = s2exp_t0ype_err () in PATCONTRUP (p2ts_arg, s2es_arg, s2e_res) end // end of [_] // end // end of [p2at_trup_con] (* ****** ****** *) extern fun p3at_lincon_update ( p3t0: p3at, d2c: d2con, p3ts_arg: p3atlst ) : void // end of [p3at_lincon_update] (* ****** ****** *) local fun auxvar (d2v: d2var): void = let // val islin = d2var_is_linear (d2v) // in // if islin then let val-Some (s2e) = d2var_get_mastype (d2v) // end of [val] in d2var_set_finknd (d2v, D2VFINsome (s2e)) end // end of [if] // end // end of [auxvar] fun auxpat (p3t: p3at): void = let in // case+ p3t.p3at_node of | P3Tvar (d2v) => auxvar (d2v) | P3Trefas (d2v, _) => auxvar (d2v) | _ => () end // end of [auxpat] in (* in of [local] *) implement p3at_lincon_update ( p3t0, d2c, p3ts_arg ) = let val () = list_app_fun (p3ts_arg, auxpat) in p3at_set_type_left (p3t0, Some (p3t0.p3at_type)) end // end of [p3at_lincon_update] end // end of [local] (* ****** ****** *) extern fun p3at_free_update ( p3t0: p3at, d2c: d2con, p3ts_arg: p3atlst ) : void // end of [p3at_free_update] local fun auxck ( p3t: p3at ) : void = let val loc = p3t.p3at_loc val opt = p3at_get_type_left (p3t) in // case+ opt of | Some (s2e) => let val () = prerr_error3_loc (loc) val () = prerr ": a value matching this pattern may not be freed"; val () = prerr ": it contains a linear component of the following type ["; val () = pprerr_s2exp (s2e) val () = prerr "]." val () = prerr_newline () in the_trans3errlst_add (T3E_p2at_free_update (p3t)) end (* end of [if] *) | None () => () end // end of [auxck] in (* in of [local] *) implement p3at_free_update (p3t0, d2c, p3ts_arg) = list_app_fun (p3ts_arg, auxck) // end of [p3at_free_update] end // end of [local] (* ****** ****** *) extern fun p3at_unfold_update ( p3t0: p3at, d2c: d2con, p3ts_arg: p3atlst ) : void // end of [p3at_unfold_update] local fun auxpat1 (p3t: p3at): d2var = let in // case+ p3t.p3at_node of | P3Tany (d2v) => let val opt = p3at_get_type_left (p3t) val opt = ( case+ opt of | Some _ => opt | None () => Some (s2exp_topize_1 (p3t.p3at_type)) ) : s2expopt // end of [val] val () = d2var_set_type (d2v, opt) in d2v end (* end of [P3Tany] *) | P3Tvar (d2v) => d2v | P3Trefas (d2v, _) => let val opt = p3at_get_type_left (p3t) // end of [val] (* val () = p3at_set_type_left (None) *) val () = ( case+ opt of | Some _ => d2var_set_type (d2v, opt) | None _ => () ) : void // end of [val] in d2v end // end of [P3Trefas] | _ => let val d2v = d2var_make_any (p3t.p3at_loc) val () = p3at_set_dvaropt (p3t, Some (d2v)) val opt = p3at_get_type_left (p3t) val opt = ( case+ opt of | Some _ => opt | None () => Some (s2exp_topize_1 (p3t.p3at_type)) ) : s2expopt // end of [val] val () = d2var_set_type (d2v, opt) in d2v end (* end of [_] *) // end // end of [auxpat1] fun auxpat2 (p3t: p3at): s2exp = let val loc = p3t.p3at_loc val d2v = auxpat1 (p3t) val-Some (s2e) = d2var_get_type (d2v) val d2vw = d2var_mutablize_none (loc, d2v, s2e) // making [d2v] mutable val-Some (s2l) = d2var_get_addr (d2v) in s2l end (* end of [auxpat2] *) fun s2dcp_make ( d2c: d2con, arg: s2explst ) : s2exp = let val s2v = s2var_make_srt (s2rt_addr) val () = trans3_env_add_svar (s2v) // adding svar val rt = s2exp_var (s2v) // the root of datconptr in s2exp_datconptr (d2c, rt, arg) end // end of [s2dcp_make] in (* in of [local] *) implement p3at_unfold_update (p3t0, d2c, p3ts_arg) = let (* val () = println! ("p3at_unfold_update: p3t0 = ", p3t0); val () = ( println! ("p3at_unfold_update: d2c = ", d2c); fprintln! (stdout_ref, "p3at_unfold_update: p3ts_arg = ", p3ts_arg); ) (* end of [val] *) *) // val s2ls = list_map_fun (p3ts_arg, auxpat2) val s2dcp = s2dcp_make (d2c, (l2l)s2ls) // in p3at_set_type_left (p3t0, Some (s2dcp)) end // end of [p3at_unfold_update] end // end of [local] (* ****** ****** *) local fun auxerr_arity ( p2t0: p2at, serr: int ) : void = let val loc0 = p2t0.p2at_loc val () = prerr_error3_loc (loc0) val () = prerr ": constructor arity mismatch" val () = if serr < 0 then prerr ": more arguments are expected." val () = if serr > 0 then prerr ": fewer arguments are expected." val () = prerr_newline () in the_trans3errlst_add (T3E_p2at_trdn_con_arity (p2t0, serr)) end // end of [val] in (* in of [local] *) implement p2at_trdn_con (p2t0, s2f0) = let (* val () = ( println! ("p2at_trdn_con: p2t0 = ", p2t0); println! ("p2at_trdn_con: s2f0 = ", s2f0); ) // end of [val] *) val loc0 = p2t0.p2at_loc val s2e0 = s2hnf2exp (s2f0) val-P2Tcon ( pck, d2c, s2qs, s2e_con, npf, p2ts_arg ) = p2t0.p2at_node // val s2c = d2con_get_scst (d2c) val s2e = s2hnf_opnexi_and_add (loc0, s2f0) val s2f = s2exp2hnf (s2e) val s2e = s2hnf2exp (s2f) val s2f_head = s2hnf_get_head (s2f) val s2e_head = s2hnf2exp (s2f_head) // var flag: int = ~1 (*error*) var s2es_arg_alt: s2explst = list_nil () val () = ( case+ s2e_head.s2exp_node of | S2Ecst (s2c1) => if eq_s2cst_s2cst (s2c, s2c1) then flag := 0 | S2Edatcontyp (d2c1, s2es) => if eq_d2con_d2con (d2c, d2c1) then (flag := 1; s2es_arg_alt := s2es) | _ => ((*void*)) ) // end of [val] // val () = if (flag > 0) then ( case+ pck of | PCKfree () => let val ( ) = prerr_error3_loc (loc0) val () = prerr ": the pattern decoration ~(freeing) is wrongly applied." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end // end of [PCKfree] | PCKunfold () => let val ( ) = prerr_error3_loc (loc0) val () = prerr ": the pattern decoration @(unfolding) is wrongly applied." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end // end of [PCKunfold] | _ => () ) // end of [if] // end of [val] // val () = if (flag < 0) then let val ( ) = prerr_error3_loc (loc0) val () = prerr ": the constructor pattern cannot be assigned the type [" val () = pprerr_s2exp (s2e) val () = prerr "]." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end (* end of [if] // end of [val] *) // val flag_vwtp = ( if flag > 0 then 1 else d2con_get_vwtp (d2c) ) : int // end of [val] // var pck: pckind = pck val ( ) = if pck = PCKcon then (if flag_vwtp > 0 then pck := PCKlincon) // val () = if flag_vwtp = 0 then ( case+ pck of | PCKfree () => let val ( ) = prerr_error3_loc (loc0) val () = prerr ": pattern decoration ~(freeing) cannot be applied." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end // end of [PCKfree] | PCKunfold () => let val ( ) = prerr_error3_loc (loc0) val () = prerr ": pattern decoration ~(unfolding) cannot be applied." val () = prerr_newline ((*void*)) in the_trans3errlst_add (T3E_p2at_trdn (p2t0, s2e0)) end // end of [PCKunfold] | _ => ((*void*)) ) (* end of [if] *) // end of [val] // (* val () = println! ("p2at_trdn_con: pck = ", pck) val () = println! ("p2at_trdn_con: flag = ", flag) *) // val p3t0 = ( case+ 0 of | _ when flag = 0 => let val+~PATCONTRUP (p2ts, s2es_arg, s2e_res) = p2at_trup_con (p2t0) val () = $SOL.s2exp_hypequal_solve (loc0, s2e_res, s2e) var serr: int = 0 val p3ts_arg = p2atlst_trdn (loc0, p2ts_arg, s2es_arg, serr) val () = if serr != 0 then auxerr_arity (p2t0, serr) val p3t0 = p3at_con (loc0, s2e, pck, d2c, npf, p3ts_arg) // val () = ( case+ pck of | PCKcon () => () | PCKlincon () => p3at_lincon_update (p3t0, d2c, p3ts_arg) | PCKfree () => p3at_free_update (p3t0, d2c, p3ts_arg) | PCKunfold () => p3at_unfold_update (p3t0, d2c, p3ts_arg) ) : void // end of [val] // in p3t0 end // end of [flag=0] | _ when flag > 0 => let var serr: int = 0 val p3ts_arg = p2atlst_trdn (loc0, p2ts_arg, s2es_arg_alt, serr) val () = if serr != 0 then auxerr_arity (p2t0, serr) val p3t0 = p3at_con (loc0, s2e, pck, d2c, npf, p3ts_arg) val () = p3at_unfold_update (p3t0, d2c, p3ts_arg) in p3t0 end // end of [flag>0] | _ => p3at_errpat (loc0, s2e) // HX: error already registered ) : p3at // end of [val] // in p3t0 end // end of [p2at_trdn_con] end // end of [local] (* ****** ****** *) (* end of [pats_trans3_patcon.dats] *) ATS2-Postiats-0.2.6/./src/pats_errmsg.dats0000664000175000017500000000653212655455557016736 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_errmsg.sats" (* ****** ****** *) implement{} prerr_ERROR_beg() = prerr ("**ERROR(000000):beg**\n") implement{} prerr_ERROR_end() = prerr ("**ERROR(000000):end**\n") (* ****** ****** *) implement{} prerr_interror () = { val () = ( prerr "INTERROR("; prerr_FILENAME<> (); prerr ")" ) (* end of [val] *) } implement{} prerr_interror_loc (loc) = { val () = $LOC.prerr_location (loc) val () = ( prerr ": INTERROR("; prerr_FILENAME<> (); prerr ")" ) (* end of [val] *) } // end of [prerr_interror_loc] (* ****** ****** *) implement{} prerr_error1_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(1)" ) // end of [prerr_error1_loc] implement{} prerr_error2_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(2)" ) // end of [prerr_error2_loc] implement{} prerr_errmac_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(mac)" ) // end of [prerr_errmac_loc] implement{} prerr_error3_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(3)" ) // end of [prerr_error3_loc] implement{} prerr_error4_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(4)" ) // end of [prerr_error4_loc] (* ****** ****** *) implement{} prerr_errccomp_loc (loc) = ( $LOC.prerr_location (loc); prerr ": error(ccomp)" ) // end of [prerr_errccomp_loc] (* ****** ****** *) implement{} prerr_warning1_loc (loc) = ( $LOC.prerr_location (loc); prerr ": warning(1)" ) // end of [prerr_warning1_loc] implement{} prerr_warning2_loc (loc) = ( $LOC.prerr_location (loc); prerr ": warning(2)" ) // end of [prerr_warning2_loc] implement{} prerr_warning3_loc (loc) = ( $LOC.prerr_location (loc); prerr ": warning(3)" ) // end of [prerr_warning3_loc] implement{} prerr_warning4_loc (loc) = ( $LOC.prerr_location (loc); prerr ": warning(4)" ) // end of [prerr_warning4_loc] (* ****** ****** *) implement{} prerr_warnccomp_loc (loc) = ( $LOC.prerr_location (loc); prerr ": warning(ccomp)" ) // end of [prerr_warnccomp_loc] (* ****** ****** *) (* end of [pats_errmsg.dats] *) ATS2-Postiats-0.2.6/./src/.keeper0000664000175000017500000000000012655455557014767 0ustar hwxihwxiATS2-Postiats-0.2.6/./src/pats_parsing_error.dats0000664000175000017500000002554712655455557020322 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location overload fprint with $LOC.fprint_location (* ****** ****** *) staload "./pats_lexing.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) implement parerr_make (loc, node) = '{ parerr_loc= loc, parerr_node= node } // end of [parerr_make] (* ****** ****** *) vtypedef parerrlst_vt = List_vt (parerr) (* ****** ****** *) // // HX-2011-03-12: // [n] stores the total number of errors, some of // which may not be recorded // extern fun the_parerrlst_get (n: &int? >> int): parerrlst_vt // (* ****** ****** *) local // // HX-2011-03-22: // MAXLEN is the max number of errors to be reported // #define MAXLEN 100 #assert (MAXLEN > 0) // val the_length = ref (0) val the_parerrlst = ref (list_vt_nil) // in (* in-of-local *) implement the_parerrlst_clear () = () where { val () = !the_length := 0 val () = () where { val (vbox pf | p) = ref_get_view_ptr (the_parerrlst) val () = list_vt_free (!p) val () = !p := list_vt_nil () } // end of [val] } (* end of [the_parerrlst_clear] *) implement the_parerrlst_add (err) = () where { val n = let val (vbox pf | p) = ref_get_view_ptr (the_length) val n = !p val () = !p := n + 1 in n end // end of [val] val () = if n < MAXLEN then let val (vbox pf | p) = ref_get_view_ptr (the_parerrlst) in !p := list_vt_cons (err, !p) end // end of [val] } (* end of [the_parerrlst_add] *) implement the_parerrlst_get (n) = xs where { val () = n := !the_length val () = !the_length := 0 val (vbox pf | p) = ref_get_view_ptr (the_parerrlst) val xs = !p val xs = list_vt_reverse (xs) val () = !p := list_vt_nil () } (* end of [the_parerrlst_get] *) end // end of [local] (* ****** ****** *) implement the_parerrlst_add_ifnbt (bt, loc, node) = let in // if (bt = 0) then the_parerrlst_add (parerr_make (loc, node)) else () // end // end of [the_parerrlst_add_if0] (* ****** ****** *) implement the_parerrlst_add_ifunclosed (loc, name) = let val newline = '\n' in // if string_contains (name, newline) then the_parerrlst_add (parerr_make (loc, PE_fname_unclosed)) else () // end // end of [the_parerrlst_add_ifunclosed] (* ****** ****** *) fun synent_needed ( out: FILEref , x: parerr, name: string ) : void = () where { // val () = fprint (out, x.parerr_loc) val () = fprintf (out, ": error(parsing): the syntactic entity [%s] is needed.", @(name)) val () = fprint_newline (out) // } (* end of [synent_needed] *) (* ****** ****** *) fun keyword_needed ( out: FILEref , x: parerr, name: string ) : void = () where { val () = fprint (out, x.parerr_loc) val () = fprintf (out, ": error(parsing): the keyword [%s] is needed.", @(name)) val () = fprint_newline (out) } (* end of [keyword_needed] *) (* ****** ****** *) fun parenth_needed ( out: FILEref , x: parerr, name: string ) : void = () where { val () = fprint (out, x.parerr_loc) val () = fprintf (out, ": error(parsing): the keyword '%s' is needed.", @(name)) val () = fprint_newline (out) } (* end of [parenth_needed] *) (* ****** ****** *) fun fname_unclosed ( out: FILEref, x: parerr ) : void = () where { val () = fprint (out, x.parerr_loc) val () = fprintf (out, ": error(parsing): the filename is unclosed.", @()) val () = fprint_newline (out) } (* end of [fname_unclosed] *) (* ****** ****** *) fun token_discarded ( out: FILEref, x: parerr ) : void = () where { val () = fprint (out, x.parerr_loc) val () = fprintf (out, ": error(parsing): the token is discarded.", @()) val () = fprint_newline (out) } // end of [token_discarded] (* ****** ****** *) (* fun file_unavailable ( out: FILEref, x: parerr ) : void = let // val-PE_FILENONE(fname) = x.parerr_node val ((*void*)) = fprint (out, x.parerr_loc) val ((*void*)) = fprintf (out, ": error(parsing): the file [%s] is unavailable.", @(fname)) // in // nothing end // end of [file_unavailable] *) (* ****** ****** *) implement fprint_parerr (out, x) = let // val loc = x.parerr_loc and node = x.parerr_node // macdef SN (x, name) = synent_needed (out, ,(x), ,(name)) macdef KN (x, name) = keyword_needed (out, ,(x), ,(name)) macdef PN (x, name) = parenth_needed (out, ,(x), ,(name)) // in // case+ node of // | PE_AND () => KN (x, "and") | PE_END () => KN (x, "end") | PE_AS () => KN (x, "as") | PE_OF () => KN (x, "of") | PE_IN () => KN (x, "in") | PE_IF () => KN (x, "if") | PE_SIF () => KN (x, "sif") | PE_CASE () => KN (x, "case") | PE_SCASE () => KN (x, "scase") | PE_THEN () => KN (x, "then") | PE_ELSE () => KN (x, "else") | PE_REC () => KN (x, "rec") | PE_WHEN () => KN (x, "when") | PE_WITH () => KN (x, "with") // | PE_FOR () => KN (x, "for") | PE_WHILE () => KN (x, "while") | PE_TRY () => KN (x, "try") // | PE_BAR () => KN (x, "|") | PE_COLON () => KN (x, ":") | PE_COMMA () => KN (x, ",") | PE_SEMICOLON () => KN (x, ";") | PE_BANG () => KN (x, "!") | PE_DOT () => KN (x, ",") | PE_EQ () => KN (x, "=") | PE_EQGT () => KN (x, "=>") | PE_GT () => KN (x, ">") | PE_GTDOT () => KN (x, ">.") | PE_GTLT () => KN (x, "><") | PE_SRPTHEN () => KN (x, "#then") | PE_SRPENDIF () => KN (x, "#endif") // | PE_LPAREN () => PN (x, "(") | PE_RPAREN () => PN (x, ")") | PE_LBRACKET () => PN (x, "[") | PE_RBRACKET () => PN (x, "]") | PE_LBRACE () => PN (x, "{") | PE_RBRACE () => PN (x, "}") // | PE_EOF () => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): [EOF] is needed", @()) val () = fprint_newline (out) } // | PE_i0nt () => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): [i0nt] is needed", @()) val () = fprint_newline (out) } | PE_c0har () => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): [c0har] is needed", @()) val () = fprint_newline (out) } | PE_f0loat () => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): [f0loat] is needed", @()) val () = fprint_newline (out) } | PE_s0tring () => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): [s0tring] is needed", @()) val () = fprint_newline (out) } // | PE_i0de () => SN (x, "i0de") | PE_i0dext () => SN (x, "i0dext") // | PE_i0de_dlr () => SN (x, "i0de_dlr") // | PE_l0ab () => SN (x, "l0ab") | PE_p0rec () => SN (x, "p0rec") // | PE_funarrow () => SN (x, "funarrow") | PE_colonwith () => SN (x, "colonwith") // | PE_e0xp () => SN (x, "e0xp") | PE_atme0xp () => SN (x, "atme0xp") // | PE_s0rt () => SN (x, "s0rt") | PE_s0rtid () => SN (x, "s0rtid") | PE_atms0rt () => SN (x, "atms0rt") | PE_s0marg () => SN (x, "s0marg") | PE_a0msrt () => SN (x, "a0msrt") // | PE_s0exp () => SN (x, "s0exp") | PE_si0de () => SN (x, "si0de") | PE_s0taq () => SN (x, "s0taq") | PE_atms0exp () => SN (x, "atms0exp") | PE_labs0exp () => SN (x, "labs0exp") | PE_s0rtext () => SN (x, "s0rtext") | PE_s0qua () => SN (x, "s0qua") | PE_q0marg () => SN (x, "q0marg") // | PE_p0at () => SN (x, "p0at") | PE_pi0de () => SN (x, "pi0de") | PE_atmp0at () => SN (x, "atmp0at") | PE_labp0at () => SN (x, "labp0at") | PE_p0at_as () => SN (x, "p0at_as") | PE_gm0at () => SN (x, "gm0at") | PE_guap0at () => SN (x, "guap0at") | PE_c0lau () => SN (x, "c0lau") // | PE_di0de () => SN (x, "di0de") | PE_d0ynq () => SN (x, "d0ynq") | PE_dqi0de () => SN (x, "dqi0de") // | PE_arrqi0de () => SN (x, "arrqi0de") | PE_tmpqi0de () => SN (x, "tmpqi0de") | PE_impqi0de () => SN (x, "impqi0de") // | PE_d0exp () => SN (x, "d0exp") | PE_d0exp0 () => SN (x, "d0exp0") | PE_d0exp1 () => SN (x, "d0exp1") | PE_atmd0exp () => SN (x, "atmd0exp") | PE_labd0exp () => SN (x, "labd0exp") // | PE_d0ecl () => SN (x, "d0ecl") | PE_stai0de () => SN (x, "stai0de") | PE_d0ecl_sta () => SN (x, "d0ecl_sta") | PE_d0ecl_dyn () => SN (x, "d0ecl_dyn") | PE_guad0ecl () => SN (x, "guad0ecl") | PE_staloadarg () => SN (x, "staloadarg") // | PE_fname_unclosed () => fname_unclosed (out, x) // | PE_DISCARD () => token_discarded (out, x) (* | PE_FILENONE (fname) => file_unavailable (out, x) *) // (* | _ => { val () = fprint (out, loc) val () = fprintf (out, ": error(parsing): unspecified", @()) val () = fprint_newline (out) } (* end of [_] *) *) // end // end of [fprint_parerr] (* ****** ****** *) implement fprint_the_parerrlst (out) = let // var nerr: int? val xs = the_parerrlst_get (nerr) // fun loop ( out: FILEref , xs: parerrlst_vt , nerr: int , bchar_max: lint // local max , bchar_lst: lint // last char count ) : int = let in case+ xs of | ~list_vt_cons (x, xs) => let val loc = x.parerr_loc val bchar = $LOC.location_get_bchar (loc) in case+ 0 of | _ when bchar > bchar_max => let val () = fprint_parerr (out, x) in loop (out, xs, nerr-1, bchar, bchar) end | _ when bchar <= bchar_lst => let val () = fprint_parerr (out, x) in loop (out, xs, nerr-1, bchar_max, bchar) end | _ => loop (out, xs, nerr-1, bchar_max, bchar_lst) end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => nerr end // end of [loop] // in // case+ xs of | list_vt_cons _ => let prval () = fold@ (xs) val nerr = loop (out, xs, nerr, ~1l, ~1l) val () = if nerr > 0 then { val () = fprint_string (out, "There are possibly some additional errors.") val () = fprint_newline (out) } // end of [if] in 1 (* containing errors *) end // end of [list_vt_cons] | ~list_vt_nil () => 0 (* free of errors *) // end // end of [fprint_the_parerrlst] (* ****** ****** *) (* end of [pats_parsing_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_typerase_staexp.dats0000664000175000017500000004152512655455557020660 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) staload "./pats_typerase.sats" (* ****** ****** *) extern fun s2cst_tyer (loc: location, flag: int, s2c: s2cst): hisexp // end of [s2cst_tyer] (* ****** ****** *) extern fun s2hnf_tyer (loc: location, flag: int, s2f: s2hnf): hisexp // end of [s2hnf_tyer] (* ****** ****** *) extern fun s2exp_tyer_app ( loc: location, flag: int, s2t: s2rt, _fun: s2exp, _arg: s2explst ) : hisexp // end of [s2exp_tyer_app] extern fun s2exp_tyer_app2 ( loc: location, flag: int, s2t: s2rt, _fun: s2exp, _arg: s2explst ) : hisexp // end of [s2exp_tyer_app2] extern fun s2exp_tyer_apphnf ( loc: location, flag: int, s2t: s2rt, _fun: s2hnf, _arg: s2explst ) : hisexp // end of [s2exp_tyer_apphnf] extern fun s2exp_tyer_appcst ( loc: location, flag: int, s2t: s2rt, _fun: s2cst, _arg: s2explst ) : hisexp // end of [s2exp_tyer_appcst] (* ****** ****** *) extern fun s2explst_tyer_arglst (loc: location, s2es: s2explst): hisexplst (* ****** ****** *) extern fun s2exp_tyer_fun (loc: location, flag: int, s2e: s2exp): hisexp // end of [s2exp_tyer_fun] (* ****** ****** *) extern fun s2exp_tyer_datconptr (loc: location, flag: int, s2e: s2exp): hisexp // end of [s2exp_tyer_datconptr] extern fun s2exp_tyer_datcontyp (loc: location, flag: int, s2e: s2exp): hisexp // end of [s2exp_tyer_datcontyp] (* ****** ****** *) extern fun s2exp_tyer_tyarr (loc: location, flag: int, s2e: s2exp): hisexp // end of [s2exp_tyer_tyarr] extern fun s2exp_tyer_tyrec (loc: location, flag: int, s2e: s2exp): hisexp // end of [s2exp_tyer_tyrec] (* ****** ****** *) extern fun s2explst_tyer (loc: location, s2es: s2explst): hisexplst extern fun s2explst_npf_tyer (loc: location, npf: int, s2es: s2explst): hisexplst extern fun s2explst_npf_tyer_labize (loc: location, npf: int, s2es: s2explst): labhisexplst extern fun labs2explst_tyer (loc: location, flag: int, ls2es: labs2explst): labhisexplst // end of [labs2explst_tyer] extern fun labs2explst_npf_tyer (loc: location, flag: int, npf: int, ls2es: labs2explst): labhisexplst // end of [labs2explst_npf_tyer] (* ****** ****** *) // extern fun s2zexp_tyer_app (loc: location, _fun: s2zexp, _arg: s2zexplst): hisexp extern fun s2zexp_tyer_appcst (loc: location, s2c: s2cst, _arg: s2zexplst): hisexp extern fun s2zexplst_tyer_arglst (loc: location, s2zes: s2zexplst): hisexplst // (* ****** ****** *) extern fun s2zexp_tyer_tyrec (loc: location, s2ze: s2zexp): hisexp (* ****** ****** *) extern fun labs2zexplst_tyer (loc: location, ls2zes: labs2zexplst): labhisexplst (* ****** ****** *) implement s2cst_tyer (loc0, flag, s2c) = let // val opt = s2cst_get_isabs (s2c) // in // case+ opt of | Some (opt2) => ( case+ opt2 of | Some (s2e) => s2exp_tyer (loc0, flag, s2e) // end of [val | None () => hisexp_cst (s2c) ) // end of [Some] | None () => hisexp_cst (s2c) // end // end of [s2cst_tyer] (* ****** ****** *) implement s2exp_tyer ( loc0, flag, s2e0 ) = let val s2f0 = s2exp2hnf (s2e0) in s2hnf_tyer (loc0, flag, s2f0) end // end of [s2hnf_tyer] (* ****** ****** *) implement s2exp_tyer_deep (loc0, s2e0) = s2exp_tyer (loc0, 1(*flag*), s2e0) // end of [s2exp_tyer_deep] implement s2exp_tyer_shallow (loc0, s2e0) = s2exp_tyer (loc0, 0(*flag*), s2e0) // end of [s2exp_tyer_shallow] (* ****** ****** *) implement s2hnf_tyer (loc0, flag, s2f0) = let // val s2e0 = s2hnf2exp (s2f0) // (* val () = println! ("s2hnf_tyer: s2e0 = ", s2e0) *) // in // case+ s2e0.s2exp_node of // | S2Ecst (s2c) => s2cst_tyer (loc0, flag, s2c) // | S2Evar (s2v) => hisexp_tyvar (s2v) // | S2EVar (s2V) => // HX: use type-size s2zexp_tyer (loc0, s2Var_get_szexp (s2V)) (* end of [S2EVar] *) // | S2Edatconptr _ => s2exp_tyer_datconptr (loc0, flag, s2e0) | S2Edatcontyp _ => s2exp_tyer_datcontyp (loc0, flag, s2e0) // | S2Eapp ( s2e_fun, s2es_arg ) => let val s2t0 = s2e0.s2exp_srt in s2exp_tyer_app (loc0, flag, s2t0, s2e_fun, s2es_arg) end // end of [S2Eapp] | S2Elam (_, s2e_body) => s2exp_tyer (loc0, flag, s2e_body) // | S2Efun _ => s2exp_tyer_fun (loc0, flag, s2e0) | S2Emetfun (_, _, s2e_body) => s2exp_tyer (loc0, flag, s2e_body) // | S2Etop (_, s2e) => s2exp_tyer (loc0, flag, s2e) | S2Ewithout (s2e) => s2exp_tyer (loc0, flag, s2e) // | S2Etyarr _ => s2exp_tyer_tyarr (loc0, flag, s2e0) | S2Etyrec _ => s2exp_tyer_tyrec (loc0, flag, s2e0) // | S2Einvar (s2e) => s2exp_tyer (loc0, flag, s2e) // | S2Eexi (_, _, s2e) => s2exp_tyer (loc0, flag, s2e) | S2Euni (_, _, s2e) => s2exp_tyer (loc0, flag, s2e) // | S2Erefarg (knd, s2e) => let val hse = s2exp_tyer_shallow (loc0, s2e) in hisexp_refarg (knd, hse) end // end of [S2Erefarg] // | S2Evararg (s2e) => hisexp_vararg (s2e) // | S2Ewthtype (s2e, _(*ws2es*)) => s2exp_tyer (loc0, flag, s2e) // | _ => hisexp_s2exp (s2e0) // end // end of [s2hnf_tyer] (* ****** ****** *) implement s2exp_tyer_app ( loc0, flag, s2t0, s2e_fun, s2es_arg ) = let val s2f_fun = s2exp2hnf (s2e_fun) val s2e_fun = s2hnf2exp (s2f_fun) in // case+ s2e_fun.s2exp_node of // case+ | S2Ecst (s2c) => s2exp_tyer_appcst (loc0, flag, s2t0, s2c, s2es_arg) | _ (*hnf*) => s2exp_tyer_apphnf (loc0, flag, s2t0, s2f_fun, s2es_arg) // end of [_] // end // end of [s2exp_tyer_app] implement s2exp_tyer_app2 ( loc0, flag, s2t0, s2e_fun, s2es_arg ) = let // val s2f_fun = s2exp2hnf (s2e_fun) val s2e_fun = s2hnf2exp (s2f_fun) // (* val () = println! ("s2exp_typer_app2: s2e_fun = ", s2e_fun) val () = println! ("s2exp_typer_app2: s2es_arg = ", s2es_arg) *) // in // case+ s2e_fun.s2exp_node of | S2Elam ( s2vs_arg, s2e_body ) => let var sub = stasub_make_nil () val err = stasub_addlst (sub, s2vs_arg, s2es_arg) val s2e_body = s2exp_subst (sub, s2e_body) val () = stasub_free (sub) in s2exp_tyer (loc0, flag, s2e_body) end // end of [S2Elam] | _ (*hnf*) => s2exp_tyer_apphnf (loc0, flag, s2t0, s2f_fun, s2es_arg) // end of [_] // end // end of [s2exp_tyer_app2] (* ****** ****** *) implement s2exp_tyer_apphnf ( loc0, flag, s2t0, s2f_fun, s2es_arg ) = let val hse_fun = s2hnf_tyer (loc0, flag, s2f_fun) val hses_arg = s2explst_tyer_arglst (loc0, s2es_arg) in hisexp_app (hse_fun, hses_arg) end // end of [s2exp_tyer_apphnf] (* ****** ****** *) implement s2exp_tyer_appcst ( loc0, flag, s2t0, s2c, s2es_arg ) = let val opt = s2cst_get_isabs (s2c) in // case+ opt of | Some (opt2) => ( case+ opt2 of | Some (_fun) => s2exp_tyer_app2 ( loc0, flag, s2t0, _fun, s2es_arg ) // end of [Some] | None () => let val hse_fun = s2cst_tyer (loc0, flag, s2c) val hses_arg = s2explst_tyer_arglst (loc0, s2es_arg) in hisexp_app (hse_fun, hses_arg) end // end of [None] ) (* end of [Some] *) | None () => hisexp_make_srt (s2t0) // end // end of [s2exp_tyer_appcst] (* ****** ****** *) implement s2exp_tyer_fun (loc0, flag, s2e0) = let // (* val () = println! ("s2exp_tyer_fun: flag = ", flag) val () = println! ("s2exp_tyer_fun: s2e0 = ", s2e0) *) // val- S2Efun ( fc, lin, s2fe, npf, s2es_arg, s2e_res ) = s2e0.s2exp_node // in // if flag > 0 then let // val hses_arg = s2explst_npf_tyer(loc0, npf, s2es_arg) // val hse_res = s2exp_tyer_shallow(loc0, s2e_res) // in hisexp_fun (fc, hses_arg, hse_res) end // end of [then] else ( case+ fc of | FUNCLOfun() => hisexp_funptr | FUNCLOclo(knd) => if knd = 0 then hisexp_clotyp else hisexp_cloptr // end of [FUNCLOclo] ) (* end of [else] *) // end // end of [s2exp_tyer_fun] (* ****** ****** *) // implement s2exp_tyer_datconptr (loc0, flag, s2e0) = hisexp_datconptr // (* ****** ****** *) implement s2exp_tyer_datcontyp (loc0, flag, s2e0) = let // val-S2Edatcontyp (d2c, s2es) = s2e0.s2exp_node // in // if flag > 0 then let val npf = d2con_get_npf (d2c) val lhses = s2explst_npf_tyer_labize (loc0, npf, s2es) in hisexp_tysum (d2c, lhses) end else hisexp_datcontyp // end // end of [s2exp_tyer_datcontyp] (* ****** ****** *) implement s2exp_tyer_tyarr (loc0, flag, s2e0) = let // val-S2Etyarr (s2e_elt, dim) = s2e0.s2exp_node val hse_elt = s2exp_tyer (loc0, flag, s2e_elt) // in hisexp_tyarr (hse_elt, dim) end // end of [s2exp_tyer_tyarr] (* ****** ****** *) implement s2exp_tyer_tyrec (loc0, flag, s2e0) = let // val-S2Etyrec (knd, npf, ls2es) = s2e0.s2exp_node val lhses = labs2explst_npf_tyer (loc0, flag, npf, ls2es) // in // case knd of // | TYRECKINDbox () => ( if flag > 0 then hisexp_tyrec (knd, lhses) else hisexp_tybox ) // end of [TYRECKINDbox] // | TYRECKINDflt_ext _ => hisexp_tyrec (knd, lhses) // | _ (*TYRECKINDflt0/1*) => let in case+ lhses of | list_cons ( lhse, list_nil() ) => hisexp_tyrecsin (lhse) | _(*non-sing*) => hisexp_tyrec (knd, lhses) end // end of [TYRECKINDflt0/1] // end // end of [s2exp_tyer_tyrec] (* ****** ****** *) implement s2explst_tyer (loc0, s2es) = let in // case+ s2es of | list_cons (s2e, s2es) => let val isprf = s2exp_is_prf (s2e) in if isprf then s2explst_tyer (loc0, s2es) else let val hse = s2exp_tyer_shallow (loc0, s2e) // end of [val] val hses = s2explst_tyer (loc0, s2es) in list_cons (hse, hses) end // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end // end of [s2explst_tyer] (* ****** ****** *) implement s2explst_npf_tyer (loc0, npf, s2es) = let in // if npf > 0 then let val-list_cons (_, s2es) = s2es in s2explst_npf_tyer (loc0, npf-1, s2es) end else s2explst_tyer (loc0, s2es) // end of [if] // end // end of [s2explst_npf_tyer] (* ****** ****** *) implement s2explst_npf_tyer_labize (loc0, npf, s2es) = let // fun auxlst ( loc0: location , npf: int, s2es: s2explst, i: int ) : labhisexplst = let in // if npf > 0 then let val-list_cons (_, s2es) = s2es in auxlst (loc0, npf-1, s2es, i+1) end else ( // HX-2013-01: npf <= 0 // case+ s2es of | list_cons (s2e, s2es) => let val isprf = s2exp_is_prf (s2e) in if isprf then auxlst (loc0, npf, s2es, i+1) else let val lab = $LAB.label_make_int (i) val hse = s2exp_tyer_shallow (loc0, s2e) val lhse = HSLABELED (lab, None, hse) val lhses = auxlst (loc0, npf, s2es, i+1) in list_cons (lhse, lhses) end // end of [if] end // end of [list_cons] | list_nil () => list_nil () // ) // end of [if] // end // end of [auxlst] // in auxlst (loc0, npf, s2es, 0) end // end of [s2explst_npf_tyer_labize] (* ****** ****** *) implement labs2explst_tyer (loc0, flag, ls2es) = let in // case+ ls2es of | list_cons (ls2e, ls2es) => let val SLABELED (l, name, s2e) = ls2e // end of [val] val isprf = s2exp_is_prf (s2e) in if isprf then labs2explst_tyer (loc0, flag, ls2es) else let val hse = s2exp_tyer (loc0, flag, s2e) val lhse = HSLABELED (l, name, hse) val lhses = labs2explst_tyer (loc0, flag, ls2es) in list_cons (lhse, lhses) end (* end of [if] *) end | list_nil () => list_nil () // end // end of [labs2explst_tyer] (* ****** ****** *) implement labs2explst_npf_tyer (loc0, flag, npf, ls2es) = let in // if npf > 0 then let val-list_cons (_, ls2es) = ls2es in labs2explst_npf_tyer (loc0, flag, npf-1, ls2es) end else labs2explst_tyer (loc0, flag, ls2es) // end of [if] // end // end of [labs2explst_npf_tyer] (* ****** ****** *) implement s2explst_tyer_arglst (loc0, s2es) = let in // case+ s2es of | list_cons (s2e, s2es) => let val s2t = s2e.s2exp_srt val keep = s2rt_is_prgm (s2t) val keep = ( if keep then true else s2rt_is_tkind (s2t) ) : bool // end of [val] in if keep then let val hse = s2exp_tyer_shallow (loc0, s2e) val hses = s2explst_tyer_arglst (loc0, s2es) in list_cons (hse, hses) end else s2explst_tyer_arglst (loc0, s2es) // end of [if] end // end of [list_cons] | list_nil () => list_nil () // end // end of [s2explst_tyer_arglst] (* ****** ****** *) implement s2zexp_tyer (loc0, s2ze0) = let // (* val () = println! ("s2zexp_tyer: s2ze0 = ", s2ze0) *) // in // case+ s2ze0 of // | S2ZEptr () => hisexp_tybox // | S2ZEcst (s2c) => s2cst_tyer (loc0, 0(*flag*), s2c) // end of [S2ZEcst] // | S2ZEvar (s2v) => hisexp_tyvar (s2v) // | S2ZEapp (s2ze1, s2zes2) => s2zexp_tyer_app (loc0, s2ze1, s2zes2) // | S2ZEtyrec _ => s2zexp_tyer_tyrec (loc0, s2ze0) // // HX-2015-01-30: // is this the right way to go? | S2ZEVar (s2V) => hisexp_undefined // | _ (*S2ZE-rest*) => hisexp_s2zexp (s2ze0) // end // end of [s2zexp_tyer] (* ****** ****** *) implement s2zexp_tyer_app ( loc0, s2ze1, s2zes2 ) = let // val hse_fun = s2zexp_tyer (loc0, s2ze1) val hses_arg = s2zexplst_tyer_arglst (loc0, s2zes2) // in hisexp_app (hse_fun, hses_arg) end // end of [s2exp_tyer_app] (* ****** ****** *) implement s2zexplst_tyer_arglst (loc0, s2zes) = let in // case+ s2zes of | list_cons (s2ze, s2zes) => ( case+ s2ze of | S2ZEprf () => s2zexplst_tyer_arglst (loc0, s2zes) | _ (*non-proof*) => let val hse = s2zexp_tyer (loc0, s2ze) val hses = s2zexplst_tyer_arglst (loc0, s2zes) in list_cons (hse, hses) end // end of [_] ) (* end of [list_cons] *) | list_nil () => list_nil () // end // end of [s2zexplst_tyer_arglst] (* ****** ****** *) implement s2zexp_tyer_tyrec (loc0, s2ze0) = let // val-S2ZEtyrec (knd, ls2zes) = s2ze0 // val lhses = labs2zexplst_tyer (loc0, ls2zes) // in // case knd of | TYRECKINDbox () => hisexp_tybox | TYRECKINDflt_ext _ => hisexp_tyrec (knd, lhses) | _ (*TYRECKINDflt0/1*) => let in case+ lhses of | list_cons ( lhse, list_nil() ) => hisexp_tyrecsin (lhse) | _(*non-sing*) => hisexp_tyrec (knd, lhses) end // end of [TYRECKINDflt0/1] // end // end of [s2exp_tyer_tyrec] (* ****** ****** *) implement labs2zexplst_tyer (loc0, ls2zes) = let in // case+ ls2zes of | list_cons (ls2ze, ls2zes) => let val SZLABELED (l, s2ze) = ls2ze in case+ s2ze of | S2ZEprf () => labs2zexplst_tyer (loc0, ls2zes) | _(*non-proof*) => let val hse = s2zexp_tyer (loc0, s2ze) val lhse = HSLABELED (l, None(*name*), hse) val lhses = labs2zexplst_tyer (loc0, ls2zes) in list_cons (lhse, lhses) end // end of [_] end (* end of [list_cons] *) | list_nil ((*void*)) => list_nil () // end // end of [labs2zexplst_tyer] (* ****** ****** *) implement t2mpmarg_tyer (t2ma) = let // val loc0 = t2ma.t2mpmarg_loc // fun aux ( loc0: location, s2es: s2explst ) : hisexplst = let in // case+ s2es of | list_cons (s2e, s2es) => let val hse = s2exp_tyer_shallow (loc0, s2e) // end of [val] in list_cons (hse, aux (loc0, s2es)) end | list_nil () => list_nil () // end // end of [aux] // in aux (loc0, t2ma.t2mpmarg_arg) end // end of [t2mpmarg_tyer] implement t2mpmarglst_tyer (t2mas) = let val h2ess = list_map_fun (t2mas, t2mpmarg_tyer) in list_of_list_vt (h2ess) end // end of [t2mpmarglst_tyer] (* ****** ****** *) implement t2mpmarg_mhnfize (t2ma) = let val loc = t2ma.t2mpmarg_loc val s2es = t2ma.t2mpmarg_arg val s2es = s2explst_mhnfize (s2es) in t2mpmarg_make (loc, s2es) end // end of [t2mpmarg_mhnfize] implement t2mpmarglst_mhnfize (t2mas) = let // val t2mas = list_map_fun (t2mas, t2mpmarg_mhnfize) // in list_of_list_vt (t2mas) end // end of [t2mpmarglst_mhnfize] (* ****** ****** *) (* end of [pats_typerase_staexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_funlab.dats0000664000175000017500000003250112655455557020062 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_ccomp_funlab" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) typedef funlab_struct = @{ funlab_name= string // , funlab_level= int // top/inner level // , funlab_funclo= funclo (* funclo option *) // , funlab_type= hisexp (* function type *) // , funlab_tmpknd= int (* 0/1 : template use/def *) // , funlab_d2copt= d2cstopt (* global *) , funlab_d2vopt= d2varopt (* local/static *) // , funlab_ncopy= int , funlab_origin= Option (ptr) , funlab_suffix= int // , funlab_tmparg= t2mpmarglst (* tmplt use *) // , funlab_funent= funentopt // function entry // , funlab_stamp= stamp (* stamp for unicity *) } (* end of [funlab_struct] *) (* ****** ****** *) local assume ccomp_funlab_type = ref (funlab_struct) in (* in of [local] *) implement funlab_make ( name, level, hse, fcopt, qopt, sopt, t2mas, stamp ) = let // val ( pfgc, pfat | p ) = ptr_alloc () // prval () = free_gc_elim {funlab_struct?} (pfgc) // val fc = ( case+ fcopt of | ~Some_vt (fc) => fc | ~None_vt () => ( case+ hse.hisexp_node of | HSEfun (fc, _, _) => fc | _ => FUNCLOfun () ) // end of [None_vt] ) : funclo // end of [val] // val () = p->funlab_name := name val () = p->funlab_level := level // val () = p->funlab_type := hse val () = p->funlab_funclo := fc // val () = p->funlab_tmpknd := ~1 val () = p->funlab_d2copt := qopt // global val () = p->funlab_d2vopt := sopt // static // val () = p->funlab_ncopy := 0 // val () = p->funlab_origin := None () val () = p->funlab_suffix := 0 // val () = p->funlab_tmparg := t2mas // val () = p->funlab_funent := None(*funent*) // val () = p->funlab_stamp := stamp // in ref_make_view_ptr (pfat | p) end // end of [funlab_make] (* ****** ****** *) implement funlab_get_name (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_name end // end of [funlab_get_name] implement funlab_get_level (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_level end // end of [funlab_get_level] implement funlab_get_type (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_type end // end of [funlab_get_type] implement funlab_get_funclo (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_funclo end // end of [funlab_get_funclo] implement funlab_get_tmpknd (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_tmpknd end // end of [funlab_get_tmpknd] implement funlab_set_tmpknd (flab, knd) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_tmpknd := knd end // end of [funlab_set_tmpknd] implement funlab_get_d2copt (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_d2copt end // end of [funlab_get_d2copt] implement funlab_get_d2vopt (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_d2vopt end // end of [funlab_get_d2vopt] implement funlab_get_ncopy (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_ncopy end // end of [funlab_get_ncopy] implement funlab_set_ncopy (flab, cnt) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_ncopy := cnt end // end of [funlab_set_ncopy] implement funlab_get_origin (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in $UN.cast{funlabopt}(p->funlab_origin) // end of [val] end // end of [funlab_get_origin] implement funlab_set_origin (flab, opt) = let val opt = $UN.cast{Option(ptr)}(opt) val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_origin := opt end // end of [funlab_set_origin] implement funlab_get_suffix (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_suffix end // end of [funlab_get_suffix] implement funlab_set_suffix (flab, sfx) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_suffix := sfx end // end of [funlab_set_suffix] implement funlab_get_tmparg (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_tmparg end // end of [funlab_get_tmparg] implement funlab_get_funent (flab) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_funent end // end of [funlab_get_funent] implement funlab_set_funent (flab, opt) = let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_funent := opt end // end of [funlab_set_funent] implement funlab_get_stamp (flab) = $effmask_ref ( let val (vbox pf | p) = ref_get_view_ptr (flab) in p->funlab_stamp end // end of [funlab_get_stamp] ) (* end of [funlab_get_stamp] *) end // end of [local] (* ****** ****** *) implement funlab_get_type_arg (flab) = let val hse = funlab_get_type (flab) in // case+ hse.hisexp_node of | HSEfun ( _(*fc*), _arg, _(*res*) ) => _arg | _ => let val () = prerr_interror () val () = ( prerrln! (": funlab_get_type_arg: hse = ", hse) ) // end of [val] val () = assertloc (false) in exit (1) // HX: this is deadcode end (* end of [_] *) // end // end of [funlab_get_type_arg] implement funlab_get_type_res (flab) = let val hse = funlab_get_type (flab) in // case+ hse.hisexp_node of | HSEfun ( _(*fc*), _(*arg*), _res ) => _res | _ => let val () = prerr_interror () val () = ( prerrln! (": funlab_get_type_arg: hse = ", hse) ) // end of [val] val () = assertloc (false) in exit (1) // HX: this is deadcode end (* end of [_] *) // end // end of [funlab_get_type_res] (* ****** ****** *) implement funlab_incget_ncopy (flab) = cnt1 where { val cnt = funlab_get_ncopy (flab) val cnt1 = cnt + 1 val () = funlab_set_ncopy (flab, cnt1) } // end of [funlab_incget_ncopy] (* ****** ****** *) implement funlab_make_type (hse) = let val lvl0 = the_d2varlev_get () val fcopt = None_vt() // HX: by [hse] val stamp = $STMP.funlab_stamp_make () val flname = let val opt = $GLOB.the_STATIC_PREFIX_get () in if stropt_is_none(opt) then "__patsfun_" else $UN.castvwtp0{string}(stropt_unsome(opt)+"patsfun_") end // end of [val] val flname2 = $STMP.tostring_prefix_stamp (flname, stamp) in // funlab_make ( flname2, lvl0, hse, fcopt, None(*qopt*), None(*sopt*), list_nil(*t2mas*), stamp ) // end // end of [funlab_make_type] (* ****** ****** *) local fun d2cst_get_gname (d2c: d2cst): string = let val extdef = d2cst_get_extdef (d2c) in case+ extdef of // | $SYN.DCSTEXTDEFnone (knd) => let val sym = d2cst_get_sym (d2c) in $SYM.symbol_get_name (sym) end // end of [DCSTEXTDEFnone] // | $SYN.DCSTEXTDEFsome_ext (name) => name | $SYN.DCSTEXTDEFsome_mac (name) => name | $SYN.DCSTEXTDEFsome_sta (name) => name // end // end of [d2cst_get_gname] fun flname_make ( d2c: d2cst, stamp: stamp ) : string = let val d2c2 = d2cst_get_gname (d2c) val stamp2 = $STMP.tostring_stamp (stamp) val flname = sprintf ("%s$%s", @(d2c2, stamp2)) in string_of_strptr (flname) end // end of [flname_make] in (* in of [local] *) implement funlab_make_dcst_type (d2c, hse, fcopt) = let val lvl0 = the_d2varlev_get () val qopt = Some (d2c) val t2mas = list_nil () val stamp = $STMP.funlab_stamp_make () val flname = flname_make (d2c, stamp) in // funlab_make ( flname, lvl0, hse, fcopt, qopt, None (*sopt*), t2mas, stamp ) // end // end of [funlab_make_dcst_type] implement funlab_make_tmpcst_type ( d2c, t2mas, hse, fcopt ) = let val lvl0 = the_d2varlev_get () val qopt = Some (d2c) val stamp = $STMP.funlab_stamp_make () val flname = flname_make (d2c, stamp) in // funlab_make ( flname, lvl0, hse, fcopt, qopt, None (*sopt*), t2mas, stamp ) (* end of [funlab_make] *) // end // end of [funlab_make_tmpcst_type] end // end of [local] (* ****** ****** *) local fun flname_make ( d2v: d2var, stamp: stamp ) : string = let // val opt = $GLOB.the_STATIC_PREFIX_get () val isnone = stropt_is_none (opt) // val d2v2 = $SYM.symbol_get_name (d2var_get_sym (d2v)) // end of [val] val stamp2 = $STMP.tostring_stamp (stamp) in // if isnone then string_of_strptr (sprintf ("%s_%s", @(d2v2, stamp2))) else let val prfx = stropt_unsome(opt) in string_of_strptr (sprintf ("%s%s_%s", @(prfx, d2v2, stamp2))) end // end of [else] // end // end of [flname_make] in (* in of [local] *) implement funlab_make_dvar_type (d2v, hse, fcopt) = let val lvl0 = the_d2varlev_get () val sopt = Some (d2v) val t2mas = list_nil () val stamp = $STMP.funlab_stamp_make () val flname = flname_make (d2v, stamp) in // funlab_make ( flname, lvl0, hse, fcopt, None(*qopt*), sopt, t2mas, stamp ) (* end of [funlab] *) // end // end of [funlab_make_dvar_type] (* // // HX-2014-11-01: // where is this needed? // implement funlab_make_tmpvar_type ( d2v, t2mas, hse, fcopt ) = let val lvl0 = the_d2varlev_get () val sopt = Some (d2v) val stamp = $STMP.funlab_stamp_make () val flname = flname_make (d2v, stamp) in // funlab_make ( flname, lvl0, hse, fcopt, None(*qopt*), sopt, t2mas, stamp ) (* end of [funlab_make] *) // end // end of [funlab_make_tmpvar_type] *) end // end of [local] (* ****** ****** *) implement fprint_funlab (out, flab) = let val name = funlab_get_name (flab) val () = fprint_string (out, name) val sfx = funlab_get_suffix (flab) val () = fprintf (out, "$%i", @(sfx)) val flev = funlab_get_level (flab) val () = fprintf (out, "(level=%i)", @(flev)) in // nothing end // end of [fprint_funlab] implement print_funlab (flab) = fprint_funlab (stdout_ref, flab) implement prerr_funlab (flab) = fprint_funlab (stderr_ref, flab) (* ****** ****** *) implement fprint_funlablst (out, fls) = let // val () = $UT.fprintlst (out, fls, ", ", fprint_funlab) // in // nothing end // end of [fprint_funlablst] (* ****** ****** *) implement fprint_funlablstopt (out, opt) = let in // case+ opt of | Some (fls) => fprint! (out, "Some(", fls, ")") // end of [Some] | None ((*void*)) => fprint! (out, "None()") // end // end of [fprint_funlablstopt] (* ****** ****** *) local staload LS = "libats/SATS/linset_listord.sats" staload _(*anon*) = "libats/DATS/linset_listord.dats" assume funlabset_vtype = $LS.set (funlab) val cmp = lam (x: funlab, y: funlab) = $STMP.compare_stamp_stamp (funlab_get_stamp (x), funlab_get_stamp (y)) // end of [val] in (* in of [local] *) implement funlabset_vt_nil () = $LS.linset_make_nil () implement funlabset_vt_free (fls) = $LS.linset_free (fls) implement funlabset_vt_ismem (fls, fl) = $LS.linset_is_member (fls, fl, cmp) // end of [funlabset_vt_ismem] implement funlabset_vt_add (fls, fl) = fls where { var fls = fls val _(*exists*) = $LS.linset_insert (fls, fl, cmp) } // end of [funlabset_vt_add] implement funlabset_vt_listize (fls) = $LS.linset_listize (fls) implement funlabset_vt_listize_free (fls) = $LS.linset_listize_free (fls) end // end of [local] implement funlablst2set (fls) = let // fun loop ( fls: funlablst, res: funlabset_vt ) : funlabset_vt = let in // case+ fls of | list_cons (fl, fls) => let val res = funlabset_vt_add (res, fl) in loop (fls, res) end (* end of [list_cons] *) | list_nil () => res // end (* end of [loop] *) // in loop (fls, funlabset_vt_nil ()) end // end of [funlablst2set] (* ****** ****** *) implement fprint_funlabset_vt (out, fls) = let val fls = funlabset_vt_listize (fls) val ((*void*)) = fprint_funlablst (out, $UN.linlst2lst(fls)) val ((*void*)) = list_vt_free (fls) in // nothing end // end of [fprint_funlabset_vt] (* ****** ****** *) (* end of [pats_ccomp_funlab.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3.sats0000664000175000017500000004241212655455557016665 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location (* ****** ****** *) staload EFF = "./pats_effect.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" staload "./pats_dmacro2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) // // HX-2011-05: // the list of possible errors that may occur // during the level-3 translation // datatype trans3err = // | T3E_intsp of (loc_t, string(*rep*)) | T3E_floatsp of (loc_t, string(*rep*)) // | T3E_s2varlst_instantiate_nabs of (loc_t(*arg*), int(*-1/1*)) // exi | T3E_s2varlst_instantiate_napp of (loc_t(*arg*), int(*-1/1*)) // uni | T3E_s2varlst_instantiate_arity of (loc_t(*arg*), int(*-1/1*)) | T3E_s2varlst_instantiate_srtck of (loc_t(*arg*), s2rt(*s2v*), s2rt(*s2e*)) // | T3E_s2exp_uni_instantiate_sexparglst of (loc_t, s2exp, s2exparglst) // | T3E_d2var_typeless of (loc_t, d2var) // accessing a consumed linear d2var | T3E_d2var_fin_some_none of (loc_t, d2var) // should be preserved but is consumed | T3E_d2var_fin_none_some of (loc_t, d2var) // should be consumed but is preserved | T3E_d2var_fin_some_some of (loc_t, d2var) // is preserved but with something incompatible // | T3E_p2at_trdn of (p2at, s2exp) | T3E_p2at_trdn_vbox_ref of (p2at) // resulting in disallowed ref-effect // | T3E_p2at_trdn_lst of (int(*lin*), p2at) // | T3E_p2at_trup_con of p2at // pfarity // ill-typed | T3E_p2at_trdn_con_arity of (p2at, int(*serr*)) | T3E_p2at_free_update of (p3at) // linear constructor freeing // | T3E_d2exp_trup_item of (loc_t, d2itm) // | T3E_d2exp_trup_tmpid of (d2exp) // non-template treated as template // | T3E_d2var_trup_llamlocal of (d2var) // non-local linear variable // | T3E_d2exp_trup_con_npf of (d2exp, int(*npf*)) | T3E_d2exp_trup_laminit_funclo of (d2exp, funclo) // | T3E_d3exp_trdn of (d3exp, s2exp) | T3E_d23explst_trdn_arity of (loc_t, int(*serr*)) // | T3E_d3exp_trup_applst_eff of (loc_t(*app*), s2eff(*eff*)) // | T3E_d23exp_trup_app23_npf of (loc_t(*fun*), int(*npf*)) | T3E_d23exp_trup_app23_fun of (loc_t(*fun*), s2exp(*fun*)) | T3E_d23exp_trup_app23_eff of (loc_t(*app*), s2eff(*eff*)) // | T3E_d2exp_trup_sym of (d2exp) // non-applied sym | T3E_d2exp_trup_applst_sym_nil of (d2exp, d2sym) // found none | T3E_d2exp_trup_applst_sym_cons2 of (d2exp, d2sym) // found too many // | T3E_d2exp_trup_exn of (loc_t) | T3E_d2exp_trup_wrt of (loc_t) // | T3E_d2exp_trdn_tup of (d2exp, s2exp) | T3E_d2exp_trdn_rec of (d2exp, s2exp) | T3E_d2exp_trdn_exist of (d2exp, s2exp) | T3E_d2exp_trdn_lam_dyn of (d2exp, s2exp) // | T3E_d3exp_delay of (loc_t, d3exp) // | T3E_d3exp_foldat of (loc_t, d3exp) | T3E_d3exp_freeat of (loc_t, d3exp) // | T3E_d3exp_extfcall_arg of (loc_t, d3exp) | T3E_d3exp_extmcall_arg of (loc_t, d3exp) // | T3E_s2exp_selab_tyrec of (loc_t, s2exp) | T3E_s2exp_selab_labnot of (loc_t, s2exp, label) // label is not found | T3E_s2exp_selab_tyarr of (loc_t, s2exp) | T3E_d3exp_arrind of (d3exp) // arrind is not a generic integer | T3E_d3exp_arrdim of (loc_t, s2explst, d3explst) // array dimen/index mismatch | T3E_d3exp_selab_linrest of (loc_t, d3exp, d3lablst) // | T3E_d2var_nonmut of (loc_t, d2var) // no address for d2var // (* | T3E_d2var_lin_overld of (loc_t, d2var, d3lablst) | T3E_d2var_mul_overld of (loc_t, d2var, d3lablst) | T3E_d2exp_deref_overld of (loc_t, d2exp, d3lablst) *) // | T3E_d3lab_overld_app of (loc_t, d3lab) // dot-symbol not applied // | T3E_d2exp_nonlval of (d2exp) // non-lval expression | T3E_d2exp_addrless of (d2exp) // addressless lval | T3E_d3exp_nonderef of (d3exp) // non-deref expression | T3E_pfobj_search_none of (loc_t, s2exp(*addr*)) // pfobj not found // | T3E_s2exp_assgn_tszeq of (loc_t, s2exp(*bef*), s2exp(*aft*)) | T3E_s2addr_viewat_addreq of (loc_t, s2exp(*bef*), d3lablst, s2exp(*aft*)) // | T3E_s2addr_deref_context of (loc_t, s2exp, d3lablst) | T3E_s2addr_assgn_deref_linsel of (loc_t, s2exp, d3lablst) | T3E_s2addr_assgn_deref_sharing of (loc_t, s2exp, d3lablst) | T3E_s2addr_assgn_deref_proof of (loc_t, s2exp, d3lablst) | T3E_s2addr_assgn_deref_context of (loc_t, s2exp, d3lablst) // | T3E_s2addr_xchng_check_LHS of (loc_t, s2exp(*LHS*), s2exp(*RHS*)) | T3E_s2addr_xchng_check_RHS of (loc_t, s2exp(*LHS*), s2exp(*RHS*)) // | T3E_d2var_selab_context of (loc_t, d2var, d3lablst) // linsel | T3E_d3exp_deref_reflinsel of (d3exp, d3lablst) // ref linear selection | T3E_d3exp_assgn_deref_reflinsel of (d3exp, d3lablst) // linear selection | T3E_d3exp_assgn_deref_refsharing of (d3exp, d3lablst) // boxed non-linear field-update | T3E_d3exp_trdn_xchng_deref of (d3exp, d3lablst, s2exp) // type mismatch // | T3E_s2addr_viewat_deref_context of (loc_t, s2exp, d3lablst) // | T3E_s2exp_set_viewat_atview of (loc_t, s2exp(*root*)) | T3E_s2exp_set_viewat_without of (loc_t, s2exp(*root*)) (* | T3E_s2exp_set_viewat_tszeq of (loc_t, s2exp(*old*), s2exp(*new*)) | T3E_s2exp_set_viewat_addreq of (loc_t, s2exp(*root*), d3lablst, s2exp(*new*)) *) // | T3E_d3lval_fun of (d3exp) // non-left-val fun for call-by-ref | T3E_d3lval_funarg of (d3exp) // non-left-val funarg for call-by-ref | T3E_d3lval_refval of (loc_t, d2var) // non-mutable dvar used for call-by-ref | T3E_d3lval_linpatcon of (d3exp, s2exp) // non-left-val is matched against linpatcon // | T3E_d3exp_funclo_topized of (d3exp) // repeated application of a linear funclo // | T3E_s2addr_exch_type_linold of (loc_t, s2exp, d3lablst) // linear abandonment | T3E_s2addr_exch_type_oldnew of (loc_t, s2exp, d3lablst, s2exp(*new*)) | T3E_d3lval_exch_type_linold of (loc_t, d3exp, d3lablst) // linear abandonment // | T3E_effenv_check_set of (loc_t, $EFF.effset) // disallowed effects | T3E_effenv_check_sexp of (loc_t, s2exp(*S2Eeff*)) // disallowed effects // | T3E_guard_trdn of (loc_t, bool(*gval*), s2exp(*gtyp*)) | T3E_c2lau_trdn_arity of (c2lau, s2explst) | T3E_c2laulst0_trdn_noclause of (loc_t) | T3E_c2laulst2_trdn_redundant of (loc_t, c2lau) // | T3E_cp2atcstlst_arity of (loc_t, int(*serr*)) // | T3E_loopexn of (loc_t, int(*knd*)) // HX: 0/1: break/continue // | T3E_d2var_some of (loc_t, d2var, s2exp) // should be retained but consumed | T3E_d2var_none of (loc_t, d2var, s2exp) // should be consumed but retained | T3E_d2var_some2 of (loc_t, d2var, s2exp(*0*), s2exp) // retained but with a type that fails to merge // end of [T3E_d2var_some2] // | T3E_dmacro_eval0_cmp of (loc_t, m2val, m2val) | T3E_dmacro_eval0_d2exp of (loc_t, d2exp) | T3E_dmacro_eval0_app_mac_arity of (loc_t, d2mac, d2exparglst) | T3E_dmacro_evalctx_extend of (loc_t, d2mac) | T3E_dmacro_eval1_d2exp of (loc_t, d2exp) // | T3E_f2undeclst_tr_termetsrtck of (f2undec, s2rtlstopt) | T3E_v2aldeclst_rec_tr_linearity of (v2aldec, s2exp(*linear*)) // end of [trans3err] fun the_trans3errlst_add (x: trans3err): void fun the_trans3errlst_finalize (): void // cleanup all the errors (* ****** ****** *) fun p2at_syn_type (p2t: p2at): s2exp fun p2atlst_syn_type (p2ts: p2atlst): s2explst (* ****** ****** *) // fun p2at_trup_arg (p2t: p2at): p3at fun p2atlst_trup_arg (npf: int, p2ts: p2atlst): p3atlst // fun p2at_trdn_arg (p2t: p2at, s2e: s2exp): p3at fun p2atlst_trdn_arg {n:nat} ( loc: loc_t, npf: int , p2ts: p2atlst, s2es: list (s2exp, n), serr: &int ) : list (p3at, n) // end of [p2atlst_trdn_arg] // fun p2at_trdn (p2t: p2at, s2e: s2exp): p3at fun p2at_trdn_con (p2t: p2at, s2f: s2hnf): p3at fun p2atlst_trdn {n:nat} ( loc: loc_t , p2ts: p2atlst, s2es: list (s2exp, n), serr: &int ) : list (p3at, n) // end of [p2atlst_trdn] // fun guard_trdn (loc: loc_t, gval: bool, gtyp: s2exp): void // end of [guard_trdn] (* ****** ****** *) (* fun p3at_mutablize (p3t0: p3at): void // HX: var [pat] = ... *) (* ****** ****** *) fun funarg_patck_exhaust ( loc0: location, p2ts_arg: p2atlst, s2es_arg: s2explst ) : void // end of [funarg_patck_exhaust] (* ****** ****** *) fun d2exp_funclo_of_d2exp (d2e0: d2exp, fc0: &funclo): d2exp // end of [d2exp_funclo_of_d2exp] fun d2exp_s2eff_of_d2exp (d2e0: d2exp, s2fe0: &s2eff? >> s2eff): d2exp // end of [d2exp_s2eff_of_d2exp] (* ****** ****** *) fun d2exp_syn_type (d2e: d2exp): s2exp fun d2explst_syn_type (d2es: d2explst): s2explst fun labd2explst_syn_type (ld2es: labd2explst): labs2explst (* ****** ****** *) fun fshowtype_d3exp_up (d3e: d3exp): void fun fshowtype_d3exp_dn (d3e: d3exp): void (* ****** ****** *) fun d3lablst_is_overld (d3ls: d3lablst): bool (* ****** ****** *) datavtype d23exp = | D23Ed2exp of d2exp | D23Ed3exp of d3exp viewtypedef d23explst = List_vt (d23exp) fun d23exp_free (x: d23exp): void fun d23explst_free (xs: d23explst): void fun d3exp_trdn (d3e: d3exp, s2f: s2exp): d3exp fun d3explst_trdn_arg (d3es: d3explst, s2es: s2explst): d3explst // end of [d3explst_trdn_arg] (* ****** ****** *) // fun d2exp_trup_int (d2e0: d2exp, i: int): d3exp // fun intrep_syn_type // for dyn-patterns (loc0: loc_t, rep: string): s2exp // g0int fun intrep_syn_type_ind // for dyn-expressions (loc0: loc_t, rep: string): s2exp // g1int fun d2exp_trup_intrep (d2e0: d2exp, rep: string): d3exp // fun d2exp_trup_bool (d2e0: d2exp, b: bool): d3exp fun d2exp_trup_char (d2e0: d2exp, c: char): d3exp fun d2exp_trup_string (d2e0: d2exp, str: string): d3exp // fun float_syn_type (loc0: loc_t, rep: string): s2exp fun d2exp_trup_float (d2e0: d2exp, rep: string): d3exp // fun i0nt_syn_type (x: i0nt): s2exp // g0int ... fun i0nt_syn_type_ind (x: i0nt): s2exp // g1int ... fun d2exp_trup_i0nt (d2e0: d2exp, x: i0nt): d3exp // fun f0loat_syn_type (x: f0loat): s2exp fun d2exp_trup_f0loat (d2e0: d2exp, x: f0loat): d3exp // (* ****** ****** *) fun cstsp_syn_type (d2e0: d2exp, x: $SYN.cstsp): s2exp fun d2exp_trup_cstsp (d2e0: d2exp, x: $SYN.cstsp): d3exp // end of [d2exp_trup_cstsp] (* ****** ****** *) // fun d2exp_trup_literal (d2e0: d2exp, d2e_lit: d2exp): d3exp // (* ****** ****** *) fun d2var_get_type_some (loc: loc_t, d2v: d2var): s2exp // end of [d2var_get_type_some] fun d2exp_trup_cst (loc: loc_t, d2c: d2cst): d3exp fun d2exp_trup_var (loc: loc_t, d2v: d2var): d3exp fun d2exp_trup_var_mutabl (loc: loc_t, d2v: d2var): d3exp fun d2exp_trup_var_nonmut (loc: loc_t, d2v: d2var): d3exp (* ****** ****** *) fun d2exp_trup_tmpcst (loc0: loc_t, d2c: d2cst, t2mas: t2mpmarglst): d3exp // end of [d2exp_trup_tmpcst] fun d2exp_trup_tmpvar (loc0: loc_t, d2v: d2var, t2mas: t2mpmarglst): d3exp // end of [d2exp_trup_tmpvar] (* ****** ****** *) fun d2exp_trup_applst (d2e0: d2exp, _fun: d2exp, _arg: d2exparglst): d3exp // end of [d2exp_trup_applst] fun d23exp_trup_applst (d2e0: d2exp, _fun: d3exp, _arg: d2exparglst): d3exp // end of [d23exp_trup_applst] (* ****** ****** *) // fun d2exp_trup_applst_sym (d2e0: d2exp, d2s: d2sym, _arg: d2exparglst): d3exp // fun d2exp_trup_applst_tmpsym ( d2e0: d2exp, d2s: d2sym, t2mas: t2mpmarglst, _arg: d2exparglst ) : d3exp // end of [d2exp_trup_applst_tmpsym] // fun d2exp_trup_applst_seloverld (d2e0: d2exp, _fun: d2exp, d2s: d2sym, _arg: d2exparglst): d3exp // (* ****** ****** *) fun d2lab_trup (d2l: d2lab) : d3lab fun d2lablst_trup (d2ls: d2lablst) : d3lablst (* ****** ****** *) fun d3explst_get_ind (d3es: d3explst): s2explst fun s2exp_get_dlablst_linrest_sharing ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, linrest: &int, sharing: &int ) : (s2exp, s2explst_vt) // end of [fun] fun d2exp_trup_selab (loc0: loc_t, tup: d2exp, labs: d2lablst): d3exp // end of [d2exp_trup_selab] (* ****** ****** *) fun d2exp_trup_foldat (d2e0: d2exp): d3exp fun d2exp_trup_freeat (d2e0: d2exp): d3exp (* ****** ****** *) fun d2exp_trup_ptrof (d2e0: d2exp): d3exp (* ****** ****** *) fun s2exp_get_dlablst_context ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, context: &s2ctxtopt ) : s2exp (*selected*) // endfun fun s2exp_get_dlablst_context_check ( loc0: loc_t, s2e: s2exp, d3ls: d3lablst, context: &s2ctxtopt ) : (s2exp, s2explst_vt) // endfun (* ****** ****** *) fun d2exp_trup_deref (loc0: loc_t, d2e: d2exp, d2ls: d2lablst): d3exp // end of [d2exp_trup_deref] fun s2addr_deref ( loc0: loc_t, s2l: s2exp, d3ls: d3lablst, s2rt: &s2exp? >> s2exp ) : s2exp(*selected elt*) // end of [s2addr_deref] (* ****** ****** *) fun d2exp_trup_assgn (d2e0: d2exp): d3exp fun d2exp_trup_assgn_deref ( loc0: loc_t, d2e_l: d2exp, d2ls: d2lablst, d2e_r: d2exp ) : d3exp // end of [d2exp_trup_assgn_deref] fun s2addr_assgn_deref ( loc0: loc_t , s2l: s2exp, d3ls: d3lablst, d3e_r: d3exp, s2rt: &s2exp? >> s2exp ) : d3exp(*rval*) // end of [s2addr_assgn_deref] (* ****** ****** *) fun d2exp_trup_xchng (d2e0: d2exp): d3exp (* ** HX: evaluation of [d2e_r] should involving no proofs of views *) fun d2exp_trup_xchng_deref ( loc0: loc_t, d2e_l: d2exp, d2ls: d2lablst, d2e_r: d2exp ) : d3exp // end of [d2exp_trup_xchng_deref] fun s2addr_xchng_deref ( loc0: loc_t , s2l: s2exp, d3ls: d3lablst, d2e_r: d2exp, s2rt: &s2exp? >> s2exp ) : d3exp(*rval*) // end of [s2addr_xchng_deref] (* ****** ****** *) fun d2exp_trup_viewat (d2e0: d2exp): d3exp fun d2exp_trup_viewat_assgn (d2e0: d2exp): d3exp (* ****** ****** *) fun d2exp_trup_loop ( loc: loc_t , inv: loopi2nv , init: d2expopt, test: d2exp, post: d2expopt, body: d2exp ) : d3exp // end of [d2exp_trup_loop] fun d2exp_trup_loopexn (loc: loc_t, knd: int): d3exp (* ****** ****** *) fun d2exp_trup (d2e: d2exp): d3exp fun d2explst_trup (d2es: d2explst): d3explst (* ****** ****** *) fun d2exp_trdn (d2e: d2exp, s2e: s2exp): d3exp fun d2explst_trdn_elt (d2es: d2explst, s2e: s2exp): d3explst fun d2expopt_trdn_elt (od2e: d2expopt, s2e: s2exp): d3expopt (* ****** ****** *) // fun d2exp_trdn_rest (d2e: d2exp, s2f: s2hnf): d3exp // fun d2exp_trdn_ifhead (d2e: d2exp, s2f: s2hnf): d3exp fun d2exp_trdn_sifhead (d2e: d2exp, s2f: s2hnf): d3exp // fun c2laulst_trdn{n:nat} ( loc0: loc_t , casknd: caskind , invres: i2nvresstate , c2ls: c2laulst , d3es: list (d3exp, n) , s2es_pat: list (s2exp, n) , s2e_res: s2exp ) : c3laulst n // end of [c2laulst_trdn] fun d2exp_trdn_casehead (d2e: d2exp, s2f: s2hnf): d3exp fun d2exp_trdn_scasehead (d2e: d2exp, s2f: s2hnf): d3exp // fun d2exp_trdn_letwhere ( d2e0: d2exp, s2f0: s2hnf, d2cs: d2eclist, d2e_scope: d2exp ) : d3exp // end of [d2exp_trdn_letwhere] // fun d2exp_trdn_xchng (loc0: loc_t, d2e: d2exp, s2f: s2hnf): d3exp fun d2exp_trdn_xchng_deref ( loc0: loc_t, loc: loc_t, d2e: d2exp, d2ls: d2lablst, s2f: s2hnf ) : d3exp // end of [d2exp_trdn_xchng_deref] fun s2addr_xchng_check ( loc0: loc_t, loc: loc_t(*right*) , s2l: s2exp, d3ls: d3lablst, s2f: s2hnf, s2rt: &s2exp? >> s2exp ) : s2exp // end of [s2addr_xchng_check] (* ****** ****** *) fun s2addr_viewat_deref (loc0: loc_t, s2l: s2exp, d3ls: d3lablst): s2exp(*atview*) // end of [s2addr_viewat_deref] (* ****** ****** *) fun s2addr_exch_type ( loc0: location , s2l: s2exp, d3ls: d3lablst, s2e_new: s2exp ) : s2exp(*old*) // end of [s2addr_exch_type] fun s2addr_set_viewat ( loc0: loc_t , s2l: s2exp, d3ls: d3lablst, s2at_new: s2exp ) : void // end of [s2addr_set_viewat] fun s2addr_set_viewat_check ( loc0: loc_t , s2l: s2exp, d3ls: d3lablst, s2at_new: s2exp , s2e_old: s2exp, s2e_new: s2exp, s2l_new: s2exp ) : void // end of [s2addr_set_viewat_check] (* ****** ****** *) fun d3lval_set_type_err ( refval: int, d3e: d3exp, s2e: s2exp, err: &int ) : void // end of [d3lval_set_type_err] fun d3lval_set_pat_type_left (d3e0: d3exp, p3t: p3at): void // end of [fun] fun d3lvalist_set_pat_type_left (d3es: d3explst, p3ts: p3atlst): void // end of [fun] (* ****** ****** *) fun d3lval_arg_set_type (refval: int, d3e0: d3exp, s2e: s2exp): int (*freeknd*) // end of [d3lval_arg_set_type] (* ****** ****** *) fun d3exp_fun_restore (fc: funclo, d3e_fun: d3exp): d3exp fun d3explst_arg_restore ( d3es: d3explst, s2es_arg: s2explst, wths2es: wths2explst ) : d3explst // end of [d3explst_arg_restore] (* ****** ****** *) fun d2ecl_tr (d2c: d2ecl): d3ecl fun d2eclist_tr (d2cs: d2eclist): d3eclist (* ****** ****** *) fun d2eclist_tr_errck (d2cs: d2eclist): d3eclist (* ****** ****** *) (* end of [pats_trans3.sats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_emit2.dats0000664000175000017500000002777112655455557017650 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2013 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload S2E = "./pats_staexp2.sats" staload S2UT = "./pats_staexp2_util.sats" staload D2E = "./pats_dynexp2.sats" typedef d2var = $D2E.d2var typedef d2varlst = $D2E.d2varlst (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "pats_ccomp.sats" (* ****** ****** *) local fun funval_isbot (pmv: primval): bool = let in // case+ pmv.primval_node of | PMVcst (d2c) => $S2UT.s2exp_fun_isbot ($D2E.d2cst_get_type (d2c)) // end of [PMVcst] | _ => false // end of [_] // end // end of [funval_isbot] (* ****** ****** *) fun aux_funval ( out: FILEref , pmv_fun: primval, hse_fun: hisexp, isclo: &bool ) : void = let in // case+ pmv_fun.primval_node of // | PMVcst (d2c) => let val isfun = $D2E.d2cst_is_fundec (d2c) in if isfun then emit_d2cst (out, d2c) else aux_funval2 (out, pmv_fun, hse_fun, isclo) // end of [if] end // end of [PMVcst] // | PMVfunlab (flab) => emit_funlab (out, flab) | PMVcfunlab (knd, flab) => emit_funlab (out, flab) // | PMVtmpltcst _ => emit_primval (out, pmv_fun) | PMVtmpltvar _ => emit_primval (out, pmv_fun) // | PMVtmpltcstmat _ => emit_primval (out, pmv_fun) | PMVtmpltvarmat _ => emit_primval (out, pmv_fun) // | _(*funval*) => aux_funval2 (out, pmv_fun, hse_fun, isclo) // (* | _ => let val loc = pmv_fun.primval_loc val () = prerr_interror_loc (loc) val () = prerrln! (": emit_prmvfun: pmv_fun = ", pmv_fun) val () = prerrln! (": emit_prmvfun: hse_fun = ", hse_fun) val () = assertloc (false) in // nothing end // end of [_] *) end // end of [aux_funval] and aux_funval2 ( out: FILEref , pmv_fun: primval, hse_fun: hisexp, isclo: &bool ) : void = let // (* val () = println! ("aux_funval2: pmv_fun = ", pmv_fun) val () = println! ("aux_funval2: hse_fun = ", hse_fun) *) // val-HSEfun ( fc, hses_arg, hse_res ) = hse_fun.hisexp_node // val () = emit_text (out, "ATSfunclo") // val () = ( case+ fc of | FUNCLOfun _ => () | FUNCLOclo _ => isclo := true ) : void // end of [val] val () = ( if isclo then emit_text (out, "_clo") else emit_text (out, "_fun") // end of [if] ) : void // end of [val] // val () = emit_LPAREN (out) val () = emit_primval (out, pmv_fun) val () = emit_text (out, ", ") val () = emit_LPAREN (out) // val hses_arg = ( if isclo then list_cons (hisexp_cloptr, hses_arg) else (hses_arg) ) : hisexplst // end of [val] val () = emit_hisexplst_sep (out, hses_arg, ", ") // val () = emit_RPAREN (out) val () = emit_text (out, ", ") val () = emit_hisexp (out, hse_res) val () = emit_RPAREN (out) // in // nothing end // end of [aux_funval2] (* ****** ****** *) fun aux_funenv ( out: FILEref, pmv_fun: primval ) : int(*nenv*) = let // fun auxflab ( out: FILEref, flab: funlab ) : int = let val opt = funlab_get_funent (flab) in // case+ opt of | Some (fent) => let val d2es = funent_eval_d2envlst (fent) // end of [val] in emit_d2envlst (out, d2es, 0(*i*)) end (* end of [Some] *) | None ((*void*)) => (0) // end // end of [auxflab] // in (* in of [let] *) // case+ pmv_fun.primval_node of // | PMVfunlab (flab) => auxflab (out, flab) | PMVcfunlab (knd, flab) => auxflab (out, flab) // | _ => (0) // end // end of [aux_funenv] (* ****** ****** *) fun emit_fparamlst ( out: FILEref, n: int, pmvs: primvalist ) : void = let in // case+ pmvs of | list_cons _ => let val () = if (n > 0) then emit_text (out, ", ") // end of [if] in emit_primvalist (out, pmvs) end (* end of [list_cons] *) | list_nil ((*void*)) => () // end // end of [emit_fparamlst] (* ****** ****** *) fun emit_freeaft_fun ( out: FILEref, pmv: primval ) : void = let in // case+ pmv.primval_node of | PMVrefarg (knd, freeknd, pmv) => if freeknd > 0 then ( emit_text (out, "ATSINSfreeclo("); emit_primval (out, pmv); emit_text (out, ") ;\n") ) (* end of [PMVrefarg] *) | _ => () // end // end of [emit_freeaft_fun] (* ****** ****** *) (* // // HX-2014-03-02: // no support for auto-freeing of funarg // as it may interfere with tail-recursion // fun emit_freeaft_funarg ( out: FILEref, pmvs: primvalist ) : void = let in // case+ pmvs of // | list_nil () => () // | list_cons (pmv, pmvs) => let val () = ( case+ pmv.primval_node of | PMVrefarg ( knd, freeknd, pmv ) when freeknd > 0 => { val () = emit_text (out, "ATSINSfreeclo(") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;\n") } (* end of [PMVrefarg] *) | _ (*non-refarg*) => () ) : void // end of [val] in emit_freeaft_funarg (out, pmvs) end // end of [list_cons] // end // end of [emit_freeaft_funarg] *) in (* in of [local] *) implement emit_instr_fcall (out, ins) = let // val loc0 = ins.instr_loc val-INSfcall (tmp, pmv_fun, hse_fun, pmvs_arg) = ins.instr_node (* val () = ( println! ("emit_instr_fcall: pmv_fun = ", pmv_fun); println! ("emit_instr_fcall: hse_fun = ", hse_fun); ) // end of [val] *) val noret = tmpvar_is_void (tmp) val noret = ( if noret then true else funval_isbot (pmv_fun) ) : bool // end of [val] // val () = emit_text (out, "ATSINSmove") val () = ( if noret then emit_text (out, "_void") ) (* end of [val] *) val () = emit_text (out, "(") val () = emit_tmpvar (out, tmp) val () = emit_text (out, ", ") // var isclo: bool = false val () = aux_funval (out, pmv_fun, hse_fun, isclo) // val pmvs_arg = ( if isclo then list_cons (pmv_fun, pmvs_arg) else (pmvs_arg) ) : primvalist // end of [val] // val () = emit_LPAREN (out) val ln = aux_funenv (out, pmv_fun) val () = emit_fparamlst (out, ln, pmvs_arg) val () = emit_RPAREN (out) // val () = emit_text (out, ") ;\n") // val () = emit_freeaft_fun (out, pmv_fun) // (* val () = emit_freeaft_funarg (out, pmvs_arg) *) // in // nothing end // end of [emit_instr_fcall] (* ****** ****** *) local fun aux1 ( out: FILEref , ntl: int, pmv: primval, i: int ) : void = let // val () = emit_text (out, "ATSINSmove_tlcal(") // val () = ( if ntl <= 1 then fprintf (out, "apy%i", @(i)) else fprintf (out, "a%ipy%i", @(ntl, i)) // end of [if] ) : void // end of [val] // val () = emit_text (out, ", ") val () = emit_primval (out, pmv) val () = emit_text (out, ") ;\n") // in // nothing end // end of [aux1] fun aux1lst ( out: FILEref , ntl: int, pmvs: primvalist, i: int ) : void = let in // case+ pmvs of | list_cons (pmv, pmvs) => ( aux1 (out, ntl, pmv, i); aux1lst (out, ntl, pmvs, i+1) ) | list_nil () => () // end // end of [aux1lst] fun aux2 ( out: FILEref , ntl: int, pmv: primval, i: int ) : void = let // val () = emit_text (out, "ATSINSargmove_tlcal(") val () = ( if ntl <= 1 then fprintf (out, "arg%i", @(i)) else fprintf (out, "a%irg%i", @(ntl, i)) // end of [if] ) : void // end of [val] val () = ( if ntl <= 1 then fprintf (out, ", apy%i", @(i)) else fprintf (out, ", a%ipy%i", @(ntl, i)) // end of [if] ) : void // end of [val] // val () = emit_text (out, ") ;\n") // in // nothing end // end of [aux2] fun aux2lst ( out: FILEref , ntl: int, pmvs: primvalist, i: int ) : void = let in // case+ pmvs of | list_cons (pmv, pmvs) => ( aux2 (out, ntl, pmv, i); aux2lst (out, ntl, pmvs, i+1) ) | list_nil () => () // end // end of [aux2lst] fun auxgoto ( out: FILEref, flab: funlab ) : void = let // val () = emit_text (out, "ATSINSfgoto(") val () = emit_text (out, "__patsflab_") val () = emit2_funlab (out, flab) val () = emit_text (out, ") ;\n") // in // nothing end // end of [auxgoto] in (* in of [local] *) implement emit_instr_fcall2 (out, ins) = let // val-INSfcall2 ( tmp, flab, ntl, hse_fun, pmvs_arg ) = ins.instr_node // val () = emit_text (out, "ATStailcal_beg()\n") // val () = aux1lst (out, ntl, pmvs_arg, 0(*i*)) val () = aux2lst (out, ntl, pmvs_arg, 0(*i*)) val () = auxgoto (out, flab) // HX: loop again // val () = emit_text (out, "ATStailcal_end()\n") // in // nothing end // end of [emit_instr_fcall2] end // end of [local] (* ****** ****** *) implement emit_instr_extfcall (out, ins) = let // val loc0 = ins.instr_loc val-INSextfcall (tmp, _fun, pmvs_arg) = ins.instr_node // val noret = tmpvar_is_void (tmp) // val ( ) = ( if ~noret then emit_text (out, "ATSINSmove(") else emit_text (out, "ATSINSmove_void(") // end of [if] ) : void // end of [val] // val () = ( emit_tmpvar (out, tmp); emit_text (out, ", ") ) (* end of [val] *) // val () = emit_text(out, "ATSextfcall(") val () = emit_text (out, _fun) val () = emit_text (out, ", ") val () = emit_text (out, "(") val () = emit_primvalist (out, pmvs_arg) val () = emit_text (out, "))) ;") // in // nothing end // end of [emit_instr_extfcall] (* ****** ****** *) implement emit_instr_extmcall (out, ins) = let // val loc0 = ins.instr_loc val-INSextmcall (tmp, pmv_obj, _mtd, pmvs_arg) = ins.instr_node // val noret = tmpvar_is_void (tmp) // val ( ) = ( if ~noret then emit_text (out, "ATSINSmove(") else emit_text (out, "ATSINSmove_void(") // end of [if] ) : void // end of [val] // val () = ( emit_tmpvar (out, tmp); emit_text (out, ", ") ) (* end of [val] *) // val () = emit_text(out, "ATSextmcall(") val () = emit_primval (out, pmv_obj) val () = emit_text (out, ", ") val () = emit_text (out, _mtd) val () = emit_text (out, ", ") val () = emit_text (out, "(") val () = emit_primvalist (out, pmvs_arg) val () = emit_text (out, "))) ;") // in // nothing end // end of [emit_instr_extmcall] end // end of [local] (* ****** ****** *) implement emit_funenvlst (out, d2es) = let // (* val () = fprintln! (stdout_ref, "emit_funenvlst: d2es = ", d2es) *) // fun loop ( out: FILEref , d2es: d2envlst, sep: string, i: int ) : int = let in // case+ d2es of | list_cons (d2e, d2es) => let val hse = d2env_get_type (d2e) val () = if i > 0 then emit_text (out, sep) val () = emit_hisexp (out, hse) val () = fprintf (out, " env%i", @(i)) in loop (out, d2es, sep, i+1) end (* end of [list_cons] *) | list_nil () => (i) // end (* end of [loop] *) // in loop (out, d2es, ", ", 0) end // end of [emit_funenvlst] implement emit_funarglst (out, nenv, hses) = let // fun loop ( out: FILEref, n: int , hses: hisexplst, sep: string, i: int ) : void = let in // case+ hses of | list_cons (hse, hses) => let val () = if n > 0 then emit_text (out, sep) val () = emit_hisexp (out, hse) val () = fprintf (out, " arg%i", @(i)) in loop (out, n+1, hses, sep, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, nenv, hses, ", ", 0) end // end of [emit_funarglst] (* ****** ****** *) (* end of [pats_ccomp_emit2.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_env.dats0000664000175000017500000003516012655455557017516 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_staexp" (* ****** ****** *) staload LOC = "./pats_location.sats" (* ****** ****** *) staload FIL = "./pats_filename.sats" staload FIX = "./pats_fixity.sats" staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_symmap.sats" staload "./pats_symenv.sats" (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp1.sats" staload "./pats_dynexp1.sats" staload "./pats_trans1_env.sats" (* ****** ****** *) overload print with $LOC.print_location (* ****** ****** *) local // vtypedef e1xpenv = symenv (e1xp) // val [l0:addr] (pf | p0) = symenv_make_nil () val (pf0 | ()) = vbox_make_view_ptr{e1xpenv}(pf | p0) // assume e1xpenv_push_v = unit_v // HX: it is just a dummy // in (* in of [local] *) implement the_e1xpenv_add (k, i) = () where { prval vbox (pf) = pf0 val () = symenv_insert (!p0, k, i) } // end of [the_e1xpenv_add] implement the_e1xpenv_addperv (k, i) = () where { prval vbox (pf) = pf0 val () = symenv_pervasive_insert (!p0, k, i) } // end of [the_e1xpenv_addperv] implement the_e1xpenv_find (k) = let // prval vbox (pf) = pf0 // val ans = symenv_search (!p0, k) // in case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => symenv_pervasive_search (!p0, k) end // end of [the_e1xpenv_find] implement the_e1xpenv_pop ( pfenv | (*none*) ) = map where { prval vbox (pf) = pf0 prval unit_v () = pfenv val map = symenv_pop (!p0) } // end of [the_e1xpenv_pop_free] implement the_e1xpenv_push_nil () = (pfenv | ()) where { prval vbox (pf) = pf0 val () = symenv_push_nil (!p0) prval pfenv = unit_v () } // end of [the_e1xpenv_push_nil] fun the_e1xpenv_localjoin ( pfenv1: e1xpenv_push_v , pfenv2: e1xpenv_push_v | (*none*) ) = () where { prval vbox (pf) = pf0 prval unit_v () = pfenv1 prval unit_v () = pfenv2 val () = symenv_localjoin (!p0) } // end of [the_e1xpenv_localjoin] viewdef e1xpenv_save_v = unit_v fun the_e1xpenv_save () = let prval vbox (pf) = pf0 prval pfsave = unit_v () val () = symenv_savecur (!p0) in (pfsave | ()) end // end of [the_e1xpenv_save] fun the_e1xpenv_restore ( pfsave: e1xpenv_save_v | (*none*) ) : void = () where { prval vbox (pf) = pf0 prval unit_v () = pfsave val map = symenv_restore (!p0) val () = symmap_free (map) } // end of [the_e1xpenv_restore] end // end of [local] (* ****** ****** *) implement the_EXTERN_PREFIX_get () = let // macdef EXTPRFX = $SYM.symbol_ATS_EXTERN_PREFIX // val opt = the_e1xpenv_find (EXTPRFX) // in // case+ opt of | ~Some_vt (e) => ( case+ e.e1xp_node of | E1XPnone () => stropt_none | E1XPstring (x) => stropt_some (x) | _ => let val () = prerr_warning1_loc (e.e1xp_loc) val () = prerr ": a string definition is required for [ATS_EXTERN_PREFIX]." val () = prerr_newline () in stropt_none end // end of [_] ) // end of [Some_vt] | ~None_vt () => stropt_none // HX: [%] is kept to indicate a likely error // end of [None_vt] // end // end of [the_EXTERN_PREFIX_get] implement the_EXTERN_PREFIX_set (prfx) = let val e1xp = e1xp_string ($LOC.location_dummy, prfx) val () = the_e1xpenv_add ($SYM.symbol_ATS_EXTERN_PREFIX, e1xp) in // nothing end // end of [the_EXTERN_PREFIX_set] implement the_EXTERN_PREFIX_set_none () = let val e1xp = e1xp_none ($LOC.location_dummy) val () = the_e1xpenv_add ($SYM.symbol_ATS_EXTERN_PREFIX, e1xp) in // nothing end // end of [the_EXTERN_PREFIX_set_none] (* ****** ****** *) local vtypedef fxtyenv = symenv (fxty) val [l0:addr] (pf | p0) = symenv_make_nil () val (pf0 | ()) = vbox_make_view_ptr{fxtyenv} (pf | p0) assume fxtyenv_push_v = unit_v // HX: it is just a dummy in (* in of [local] *) implement the_fxtyenv_add (k, i) = () where { prval vbox (pf) = pf0 val () = symenv_insert (!p0, k, i) } // end of [the_fxtyenv_add] implement the_fxtyenv_find (k) = let prval vbox (pf) = pf0 val ans = symenv_search (!p0, k) in case+ ans of | Some_vt _ => (fold@ ans; ans) | ~None_vt () => symenv_pervasive_search (!p0, k) end // end of [the_fxtyenv_find] (* ****** ****** *) implement fprint_the_fxtyenv (out) = let prval vbox (pf) = pf0 in // HX: ref-effect is not allowed $effmask_ref (fprint_symenv_map (out, !p0, $FIX.fprint_fxty)) end // end of [fprint_the_fxtyenv] (* ****** ****** *) implement the_fxtyenv_pop ( pfenv | (*none*) ) = map where { prval vbox (pf) = pf0 prval unit_v () = pfenv val map = symenv_pop (!p0) } // end of [the_fxtyenv_pop_free] implement the_fxtyenv_push_nil () = (pfenv | ()) where { prval vbox (pf) = pf0 val () = symenv_push_nil (!p0) prval pfenv = unit_v () } // end of [the_fxtyenv_push_nil] fun the_fxtyenv_localjoin ( pfenv1: fxtyenv_push_v , pfenv2: fxtyenv_push_v | (*none*) ) = () where { prval vbox (pf) = pf0 prval unit_v () = pfenv1 prval unit_v () = pfenv2 val () = symenv_localjoin (!p0) } // end of [the_fxtyenv_localjoin] (* ****** ****** *) implement the_fxtyenv_pervasive_joinwth (map) = { prval vbox (pf) = pf0 val () = symenv_pervasive_joinwth0 (!p0, map) } // end of [the_fxtyenv_pervasive_joinwth] (* ****** ****** *) viewdef fxtyenv_save_v = unit_v fun the_fxtyenv_save () = let prval vbox (pf) = pf0 prval pfsave = unit_v () val ((*void*)) = symenv_savecur (!p0) in (pfsave | ()) end // end of [the_fxtyenv_save] fun the_fxtyenv_restore ( pfsave: fxtyenv_save_v | (*none*) ) : void = { prval vbox (pf) = pf0 prval unit_v () = pfsave val map = symenv_restore (!p0) val ((*void*)) = symmap_free (map) } // end of [the_fxtyenv_restore] end // end of [local] (* ****** ****** *) (* // // HX-2014-07: // these function are no longer in use // local var the_level: int = 0 val p_the_level = &the_level val ( pf_the_level | ((*void*)) ) = vbox_make_view_ptr{int} (view@the_level | p_the_level) assume trans1_level_v = unit_v // HX: it is just a dummy in (* in of [local] *) implement the_trans1_level_get () = let prval vbox (pf) = pf_the_level in !p_the_level end // end of [the_trans1_level_get] implement the_trans1_level_inc () = let prval pflev = unit_v () prval vbox (pf) = pf_the_level val () = !p_the_level := !p_the_level + 1 in (pflev | ()) end // end of [the_trans1_level_inc] implement the_trans1_level_dec (pflev | (*none*)) = { prval unit_v () = pflev prval vbox (pf) = pf_the_level val () = !p_the_level := !p_the_level - 1 } // end of [the_trans1_level_dec] end // end of [local] *) (* ****** ****** *) local assume trans1_env_push_v = (e1xpenv_push_v, fxtyenv_push_v) in (* in of [local] *) implement the_trans1_env_pop (pfenv | (*none*)) = () where { prval (pf1env, pf2env) = pfenv val map = the_e1xpenv_pop (pf1env | (*none*)) val () = symmap_free (map) val map = the_fxtyenv_pop (pf2env | (*none*)) val () = symmap_free (map) } // end of [the_trans1_env_pop] implement the_trans1_env_push () = (pfenv | ()) where { val (pf1env | ()) = the_e1xpenv_push_nil () val (pf2env | ()) = the_fxtyenv_push_nil () prval pfenv = (pf1env, pf2env) } // end of [the_trans1_env_pop] implement the_trans1_env_localjoin (pfenv1, pfenv2 | (*none*)) = () where { prval (pf1env1, pf2env1) = pfenv1 prval (pf1env2, pf2env2) = pfenv2 val () = the_e1xpenv_localjoin (pf1env1, pf1env2 | (*none*)) val () = the_fxtyenv_localjoin (pf2env1, pf2env2 | (*none*)) } // end of [the_trans1_env_localjoin] end // end of [local] (* ****** ****** *) local assume trans1_env_save_v = (e1xpenv_save_v, fxtyenv_save_v) in (* in of [local] *) implement the_trans1_env_save () = let val (pf1save | ()) = the_e1xpenv_save () val (pf2save | ()) = the_fxtyenv_save () prval pfsave = (pf1save, pf2save) in (pfsave | ()) end // end of [the_trans1_env_save] implement the_trans1_env_restore (pfsave | (*none*)) = { val () = the_e1xpenv_restore (pfsave.0 | (*none*)) val () = the_fxtyenv_restore (pfsave.1 | (*none*)) } // end of [the_trans1_env_restore] end // end of [local] (* ****** ****** *) local // staload UN = "prelude/SATS/unsafe.sats" staload LM = "libats/SATS/linmap_avltree.sats" staload _(*anon*) = "libats/DATS/linmap_avltree.dats" // typedef key = uint typedef itm = @(int, d1eclist) vtypedef map = $LM.map (key, itm) // val theStaloadMap = ref ($LM.linmap_make_nil ()) // val cmp0 = $UN.cast {$LM.cmp(key)} (null) implement $LM.compare_key_key (x1, x2, _) = compare (x1, x2) in (* in of [local] *) implement staload_file_search (fil) = let // val fname = $FIL.filename_get_fullname (fil) // val k0 = $SYM.symbol_get_stamp (fname) // val (vbox(pf) | p) = ref_get_view_ptr{map}(theStaloadMap) // var res: itm? val found = $LM.linmap_search (!p, k0, cmp0, res) // in // if found then let prval () = opt_unsome {itm} (res) in Some_vt (res) end else let prval () = opt_unnone {itm} (res) in None_vt () end (* end of [if] *) // end // end of [staload_file_search] (* ****** ****** *) (* ** HX-2014-06-06: ** [ldflag] is no longer in use *) implement staload_file_insert (fil, ldflag, d1cs) = { // val fname = $FIL.filename_get_fullname (fil) // val k0 = $SYM.symbol_get_stamp (fname) // var x0: itm = (ldflag, d1cs) // HX: local var // val (vbox(pf) | p) = ref_get_view_ptr{map}(theStaloadMap) // var res: itm? val _(*isexi*) = $LM.linmap_insert (!p, k0, x0, cmp0, res) prval () = opt_clear {itm} (res) // } // end of [staload_file_insert] end // end of [local] (* ****** ****** *) implement fprint_pkgrelocitm (out, itm) = let // macdef prstr (s) = fprint_string (out, ,(s)) // fun auxpr ( out: FILEref, d0c: $SYN.d0ecl ) : void = ( case+ d0c.d0ecl_node of | $SYN.D0Cinclude _ => fprint (out, "include") | $SYN.D0Cstaload _ => fprint (out, "staload") | $SYN.D0Crequire _ => fprint (out, "require") | $SYN.D0Cdynload _ => fprint (out, "dynload") | _ (*rest/deadcode*) => fprint (out, "*ERROR*") ) // in // case+ itm of | PKGRELOCITM (d0c, given) => { val () = prstr "{\n" val () = prstr "\"pkgreloc_kind\": " val () = prstr "\"" val () = auxpr (out, d0c) val () = prstr "\"" val () = prstr "\n,\n" val () = prstr "\"pkgreloc_given\": " val () = prstr "\"" val () = fprint_string (out, given) val () = prstr "\"" val () = prstr "\n}\n" } | PKGRELOCITM2 (d0c, source, target) => { val () = prstr "{\n" val () = prstr "\"pkgreloc_kind\": " val () = prstr "\"" val () = auxpr (out, d0c) val () = prstr "\"" val () = prstr "\n,\n" val () = prstr "\"pkgreloc_target\": " val () = prstr "\"" val () = fprint_string (out, target) val () = prstr "\"" val () = prstr "\n,\n" val () = prstr "\"pkgreloc_source\": " val () = prstr "\"" val () = fprint_string (out, source) val () = prstr "\"" val () = prstr "\n}\n" } // end // end of [fprint_pkgrelocitm] implement fprint_pkgrelocitmlst (out, xs) = let in // case+ xs of | list_nil () => () | list_cons (x, xs) => ( fprint_pkgrelocitm (out, x); fprint_pkgrelocitmlst (out, xs) ) (* end of [list_cons] *) // end // end of [fprint_pkgrelocitmlst] (* ****** ****** *) local // val the_itmlst = ref (list_nil) // in (* in-of-local *) implement the_pkgrelocitmlst_get () = let val xs = !the_itmlst val () = !the_itmlst := list_nil in list_of_list_vt (list_reverse (xs)) end // end of [the_itmlst_get] (* ****** ******* *) implement the_pkgreloc_insert (d0c0, given) = let // val loc0 = d0c0.d0ecl_loc // (* val () = println! ("the_pkgreloc_insert: loc0 = ", loc0) val () = println! ("the_pkgreloc_insert: given = ", given) *) // val itm = PKGRELOCITM (d0c0, given) val ((*void*)) = !the_itmlst := list_cons (itm, !the_itmlst) // in // nothing end // end of [the_pkgreloc_insert] implement the_pkgreloc_insert2 (d0c0, given_s, given_t) = let // val loc0 = d0c0.d0ecl_loc // (* val ( ) = print ("the_pkgreloc_insert: d0c0 = ") val () = $SYN.fprint_d0ecl (stdout_ref, d0c0) val () = fprint_newline (stdout_ref) *) (* val () = println! ("the_pkgreloc_insert2: ", loc0) val () = println! ("the_pkgreloc_insert2: sourceloc= ", given_s) val () = println! ("the_pkgreloc_insert2: targetloc= ", given_t) *) // val itm = PKGRELOCITM2 (d0c0, given_s, given_t) val () = !the_itmlst := list_cons (itm, !the_itmlst) // in // nothing end // end of [the_pkgreloc_insert2] end // end of [local] (* ****** ****** *) local %{^ extern ats_ptr_type patsopt_PATSHOME_get () ; extern ats_ptr_type patsopt_PATSHOMERELOC_get () ; %} // end of [%{^] in (* in of [local] *) implement the_trans1_env_initialize () = { // val opt = get () where { extern fun get (): Stropt = "mac#patsopt_PATSHOME_get" } (* end of [val] *) val issome = stropt_is_some (opt) val () = if issome then let val k = $SYM.symbol_PATSHOME val x = e1xp_string ($LOC.location_dummy, stropt_unsome(opt)) in the_e1xpenv_addperv (k, x) end // end of [if] // end of [val] // val opt = get () where { extern fun get (): Stropt = "mac#patsopt_PATSHOMERELOC_get" } (* end of [val] *) val issome = stropt_is_some (opt) val () = if issome then let val k = $SYM.symbol_PATSHOMERELOC val x = e1xp_string ($LOC.location_dummy, stropt_unsome(opt)) in the_e1xpenv_addperv (k, x) end // end of [if] // end of [val] // } (* end of [the_trans1_env_initialize] *) end // end of [local] (* ****** ****** *) (* end of [pats_trans1_env.dats] *) ATS2-Postiats-0.2.6/./src/pats_trans3_env.sats0000664000175000017500000004177312655455557017546 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" typedef loc_t = $LOC.location (* ****** ****** *) staload STMP = "./pats_stamp.sats" viewtypedef stampset_vt = $STMP.stampset_vt (* ****** ****** *) staload EFF = "./pats_effect.sats" typedef effset = $EFF.effset typedef effect = $EFF.effect typedef effectlst = $EFF.effectlst (* ****** ****** *) staload JSON = "./pats_jsonize.sats" typedef jsonval = $JSON.jsonval (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_patcst2.sats" staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) // fun filenv_get_d3eclistopt (fenv: filenv): d3eclistopt // (* ****** ****** *) datatype c3nstrkind = // | C3TKmain of () // generic // | C3TKcase_exhaustiveness of (caskind (*case/case+*), p2atcstlst) // no [case-] // | C3TKtermet_isnat of () // term. metric welfounded | C3TKtermet_isdec of () // term. metric decreasing // | C3TKsome_fin of (d2var, s2exp(*fin*), s2exp) | C3TKsome_lvar of (d2var, s2exp(*lvar*), s2exp) | C3TKsome_vbox of (d2var, s2exp(*vbox*), s2exp) // | C3TKlstate of () // lstate merge | C3TKlstate_var of (d2var) // lstate merge for d2var // | C3TKloop of (int) // HX: ~1/0/1: enter/break/continue // | C3TKsolverify of () // HX-2015-06-12: $solver_verify // end of [c3nstrkind] datatype s3itm = | S3ITMsvar of s2var | S3ITMhypo of h3ypo | S3ITMsVar of s2Var | S3ITMcnstr of c3nstr | S3ITMcnstr_ref of c3nstroptref // HX: for handling state types | S3ITMdisj of s3itmlstlst | S3ITMsolassert of (s2exp) // $solver_assert // end of [s3item] and c3nstr_node = | C3NSTRprop of s2exp | C3NSTRitmlst of s3itmlst | C3NSTRsolverify of (s2exp) // $solve_verify // end of [c3nstr_node] and h3ypo_node = | H3YPOprop of s2exp | H3YPObind of (s2var, s2exp) | H3YPOeqeq of (s2exp, s2exp) // end of [h3ypo_node] where s3itmlst = List (s3itm) and s3itmlst_vt = List_vt (s3itm) and s3itmlstlst = List (s3itmlst) and c3nstr = '{ c3nstr_loc= loc_t , c3nstr_kind= c3nstrkind , c3nstr_node= c3nstr_node } // end of [c3nstr] and c3nstropt = Option (c3nstr) and c3nstroptref = '{ c3nstroptref_loc= loc_t , c3nstroptref_ref= ref (c3nstropt) } // end of [c3nstroptref] and h3ypo = '{ h3ypo_loc= loc_t , h3ypo_node= h3ypo_node } // end of [h3ypo] (* ****** ****** *) // fun c3nstr_prop (loc: loc_t, s2e: s2exp): c3nstr // fun c3nstr_itmlst ( loc: loc_t, knd: c3nstrkind, s3is: s3itmlst ) : c3nstr // end of [c3nstr_itmlst] // fun c3nstr_case_exhaustiveness ( loc: loc_t, casknd: caskind, p2tcs: !p2atcstlst_vt ) : c3nstr // end of [c3nstr_case_exhaustiveness] fun c3nstr_termet_isnat (loc: loc_t, s2e: s2exp): c3nstr // end of [c3nstr_termet_isnat] fun c3nstr_termet_isdec (loc: loc_t, met: s2explst, mbd: s2explst): c3nstr // end of [c3nstr_termet_isdec] // fun c3nstr_solverify(loc: loc_t, s2e_prop: s2exp): c3nstr // fun c3nstroptref_make_none (loc0: loc_t): c3nstroptref // (* ****** ****** *) fun h3ypo_prop (loc: loc_t, s2e: s2exp): h3ypo fun h3ypo_bind (loc: loc_t, s2v: s2var, s2f: s2hnf): h3ypo fun h3ypo_eqeq (loc: loc_t, s2f1: s2hnf, s2f2: s2hnf): h3ypo // end of [h3ypo_eqeq] (* ****** ****** *) // fun print_c3nstr (x: c3nstr): void and prerr_c3nstr (x: c3nstr): void fun fprint_c3nstr : fprint_type (c3nstr) // overload print with print_c3nstr overload prerr with prerr_c3nstr overload fprint with fprint_c3nstr // (* ****** ****** *) // fun fprint_c3nstrkind : fprint_type (c3nstrkind) // (* ****** ****** *) // fun print_h3ypo (x: h3ypo): void and prerr_h3ypo (x: h3ypo): void fun fprint_h3ypo : fprint_type (h3ypo) // (* ****** ****** *) // fun fprint_s3itm : fprint_type (s3itm) fun fprint_s3itmlst : fprint_type (s3itmlst) fun fprint_s3itmlstlst : fprint_type (s3itmlstlst) // overload fprint with fprint_s3itm overload fprint with fprint_s3itmlst overload fprint with fprint_s3itmlstlst // (* ****** ****** *) fun s2exp_Var_make_srt (loc: loc_t, s2t: s2rt): s2exp fun s2exp_Var_make_var (loc: loc_t, s2v: s2var): s2exp (* ****** ****** *) fun stasub_make_svarlst (loc: loc_t, s2vs: s2varlst): stasub // end of [stasub_make_svarlst] (* ****** ****** *) // fun s2exp_exi_instantiate_all (s2e: s2exp, locarg: loc_t, err: &int): (s2exp, s2explst_vt) fun s2exp_uni_instantiate_all (s2e: s2exp, locarg: loc_t, err: &int): (s2exp, s2explst_vt) // fun s2exp_exiuni_instantiate_all // knd=0/1:exi/uni (knd: int, s2e: s2exp, locarg: loc_t, err: &int): (s2exp, s2explst_vt) // (* ****** ****** *) // fun s2exp_termet_instantiate (loc: loc_t, stamp: stamp, met: s2explst): void fun s2exp_unimet_instantiate_all // HX: instantiating universal quantifiers and term. metrics (s2e: s2exp, locarg: loc_t, err: &int): (s2exp, s2explst_vt) // (* ****** ****** *) // fun s2exp_exi_instantiate_sexparg (s2e: s2exp, arg: s2exparg, err: &int): (s2exp, s2explst_vt) fun s2exp_uni_instantiate_sexparglst (s2e: s2exp, arg: s2exparglst, err: &int): (s2exp, s2explst_vt) // (* ****** ****** *) // fun s2exp_tmp_instantiate_rest ( s2f: s2exp, locarg: loc_t, s2qs: s2qualst, nerr: &int ) : (s2exp(*res*), t2mpmarglst) = "ext#patsopt_s2exp_tmp_instantiate_rest" // fun s2exp_tmp_instantiate_tmpmarglst ( s2f: s2exp , locarg: loc_t, s2qs: s2qualst, t2mas: t2mpmarglst, nerr: &int ) : (s2exp(*res*), t2mpmarglst) = "ext#patsopt_s2exp_tmp_instantiate_tmpmarglst" // (* ****** ****** *) // fun s2var_occurcheck_s2exp (s2v0: s2var, s2e: s2exp): bool // (* ****** ****** *) absview trans3_env_push_v fun trans3_env_pop (pf: trans3_env_push_v | (*none*)): s3itmlst_vt // end of [trans3_env_pop] fun trans3_env_pop_and_add (pf: trans3_env_push_v | loc: loc_t, knd: c3nstrkind): void // end of [trans3_env_pop_and_add] fun trans3_env_pop_and_add_main (pf: trans3_env_push_v | loc: loc_t): void // end of [trans3_env_pop_and_add_main] fun trans3_env_push (): (trans3_env_push_v | void) (* ****** ****** *) fun trans3_env_add_svar (s2v: s2var): void fun trans3_env_add_svarlst (s2vs: s2varlst): void fun trans3_env_add_squa (s2q: s2qua): void fun trans3_env_add_squalst (s2qs: s2qualst): void fun trans3_env_add_sp2at (sp2t: sp2at): void fun trans3_env_add_sVar (s2V: s2Var): void fun trans3_env_add_sVarlst (s2Vs: s2Varlst): void fun trans3_env_add_cnstr (c3t: c3nstr): void fun trans3_env_add_cnstr_ref (ctr: c3nstroptref): void fun trans3_env_add_prop (loc: loc_t, s2p: s2exp): void fun trans3_env_add_proplst (loc: loc_t, s2ps: s2explst): void fun trans3_env_add_proplst_vt (loc: loc_t, s2ps: s2explst_vt): void fun trans3_env_add_eqeq (loc: loc_t, s2e1: s2exp, s2e2: s2exp): void // end of [trans3_env_add_eqeq] fun trans3_env_add_patcstlstlst_false ( loc: loc_t , casknd: caskind, cp2tcss: p2atcstlstlst_vt, s2es_pat: s2explst ) : void // end of [trans3_env_add_p2atcstlstlst_false] (* ****** ****** *) // fun trans3_env_hypadd_prop (loc: loc_t, s2p: s2exp): void fun trans3_env_hypadd_proplst (loc: loc_t, s2ps: s2explst): void fun trans3_env_hypadd_proplst_vt (loc: loc_t, s2ps: s2explst_vt): void // fun trans3_env_hypadd_propopt (loc: loc_t, os2p: s2expopt): void fun trans3_env_hypadd_propopt_neg (loc: loc_t, os2p: s2expopt): void // fun trans3_env_hypadd_bind (loc: loc_t, s2v1: s2var, s2f2: s2hnf): void fun trans3_env_hypadd_eqeq (loc: loc_t, s2f1: s2hnf, s2f2: s2hnf): void // fun trans3_env_hypadd_patcst (loc: loc_t, p2tc: p2atcst, s2e: s2exp): void fun trans3_env_hypadd_patcstlst (loc: loc_t, p2tcs: p2atcstlst_vt, s2es: s2explst): void fun trans3_env_hypadd_labpatcstlst (loc: loc_t, lp2tcs: labp2atcstlst_vt, ls2es: labs2explst): void fun trans3_env_hypadd_patcstlstlst (loc: loc_t, p2tcs: p2atcstlstlst_vt, s2es: s2explst): void // (* ****** ****** *) // fun trans3_env_solver_assert(loc: loc_t, s2e: s2exp): void fun trans3_env_solver_verify(loc: loc_t, s2e: s2exp): void // (* ****** ****** *) // absview s2varbindmap_push_v // fun the_s2varbindmap_freetop (): void fun the_s2varbindmap_pop (pf: s2varbindmap_push_v | (*nothing*)): void fun the_s2varbindmap_push (): (s2varbindmap_push_v | void) // fun the_s2varbindmap_search (s2v: s2var): Option_vt (s2exp) fun the_s2varbindmap_insert (s2v: s2var, s2f: s2hnf): void // // HX: for the purpose of debugging // fun fprint_the_s3itmlst (out: FILEref): void fun fprint_the_s3itmlstlst (out: FILEref): void // fun fprint_the_s2varbindmap (out: FILEref): void // (* ****** ****** *) // absview s2cstbindlst_push_v // fun the_s2cstbindlst_add (s2c: s2cst): void fun the_s2cstbindlst_addlst (s2cs: s2cstlst_vt): void fun the_s2cstbindlst_bind_and_add (loc: loc_t, s2c: s2cst, s2f: s2hnf): void // end of [the_s2cstbindlst_bind_and_add] fun the_s2cstbindlst_pop (pf: s2cstbindlst_push_v | (*none*)): s2cstlst_vt fun the_s2cstbindlst_pop_and_unbind (pf: s2cstbindlst_push_v | (*none*)): void fun the_s2cstbindlst_push (): (s2cstbindlst_push_v | void) (* ****** ****** *) absview termetenv_push_v fun s2explst_check_termet (loc0: loc_t, met: s2explst): void // end of [s2explst_check_termet] fun termetenv_pop (pf: termetenv_push_v | (*none*)): void fun termetenv_push (d2vs: stampset_vt, met: s2explst): (termetenv_push_v | void) // end of [termetenv_push] fun termetenv_push_dvarlst (d2vs: d2varlst, met: s2explst): (termetenv_push_v | void) // end of [termetenv_push_dvarlst] fun termetenv_get_termet (x: stamp): Option_vt (s2explst) fun s2exp_metfun_load (s2e0: s2exp, d2v0: d2var): Option_vt @(s2exp, s2rtlst) // end of [s2exp_metfun_load] (* ****** ****** *) absview effenv_push_v fun the_effenv_add_eff (eff: effect): void fun the_effenv_pop (pf: effenv_push_v | (*none*)): void fun the_effenv_pop_if {b:bool} (pfopt: option_v (effenv_push_v, b) | test: bool b): void fun the_effenv_push (): (effenv_push_v | void) fun the_effenv_push_lam (s2fe: s2eff): (effenv_push_v | void) // fun the_effenv_push_set (efs: effset): (effenv_push_v | void) fun the_effenv_push_set_if {b:bool} (test: bool b, efs: effset): (option_v (effenv_push_v, b) | void) // end of [the_effenv_push_set_if] // fun the_effenv_push_effmask (s2fe: s2eff): (effenv_push_v | void) fun the_effenv_check_set (loc: loc_t, efs: effset): int (*succ/fail: 0/1*) // fun the_effenv_check_eff (loc: loc_t, eff: effect): int (*succ/fail: 0/1*) // fun the_effenv_check_exn (loc: loc_t): int (*succ/fail: 0/1*) fun the_effenv_check_ntm (loc: loc_t): int (*succ/fail: 0/1*) fun the_effenv_check_ref (loc: loc_t): int (*succ/fail: 0/1*) fun the_effenv_check_wrt (loc: loc_t): int (*succ/fail: 0/1*) // fun the_effenv_caskind_check_exn (loc: loc_t, knd: caskind): int (*succ/fail: 0/1*) // end of [the_effenv_caskind_check_exn] fun the_effenv_check_sexp (loc: loc_t, s2e: s2exp): int (*succ/fail: 0/1*) fun the_effenv_check_s2eff (loc: loc_t, s2fe: s2eff): int (*succ/fail: 0/1*) (* ****** ****** *) fun s2hnf_absuni_and_add (loc: loc_t, s2f: s2hnf): s2exp // end of [s2hnf_absuni_and_add] fun s2hnf_opnexi_and_add (loc: loc_t, s2f: s2hnf): s2exp // end of [s2hnf_opnexi_and_add] fun s2hnf_opn1exi_and_add (loc: loc_t, s2f: s2hnf): s2exp // end of [s2hnf_opn1exi_and_add] fun s2fun_opninv_and_add (loc: loc_t, arg: s2explst, res: s2exp): s2explst // end of [s2fun_opninv_and_add] (* ****** ****** *) fun d2var_opnset_and_add (loc: loc_t, d2v: d2var): void (* ****** ****** *) fun un_s2exp_wthtype ( loc: loc_t, s2e: s2exp ) : ( bool(*iswth*), s2exp, wths2explst ) // end of [un_s2exp_wthtype] (* ****** ****** *) fun d3exp_open_and_add (d3e: d3exp): void fun d3explst_open_and_add (d3es: d3explst): void (* ****** ****** *) // // HX: for turning val into var // fun d2var_mutablize ( loc0: loc_t , d2v: d2var, s2e0(*master*): s2exp, opt: d2varopt ) : d2var // end of [d2var_mutablize] fun d2var_mutablize_none (loc0: loc_t, d2v: d2var, s2e0(*master*): s2exp): d2var // end of [d2var_mutablize_none] (* ****** ****** *) // // HX: for tracking linear dynamic variables // absview d2varenv_push_v fun the_d2varenv_add_dvar (d2v: d2var): void fun the_d2varenv_add_dvarlst (d2vs: d2varlst): void fun the_d2varenv_add_dvaropt (opt: d2varopt): void fun the_d2varenv_add_p3at (p3t: p3at): void fun the_d2varenv_add_p3atlst (p3ts: p3atlst): void fun the_d2varenv_get_top (): d2varlst_vt fun the_d2varenv_get_llamd2vs (): d2varlst_vt fun the_d2varenv_pop (pf: d2varenv_push_v | (*none*)): void // end of [the_d2varenv_pop] fun the_d2varenv_push_lam (knd(*lin*): int): (d2varenv_push_v | void) fun the_d2varenv_push_let (): (d2varenv_push_v | void) fun the_d2varenv_push_try (): (d2varenv_push_v | void) fun the_d2varenv_d2var_is_llamlocal (d2v: d2var): bool (* ** HX-2012-03: ** [funarg_d2vfin_check] checks d2var_finknd of funarg *) fun funarg_d2vfin_check (loc0: loc_t): void (* ** HX-2012-03: ** [s2exp_wthtype_instantiate] resets d2var_finknd of funarg *) fun s2exp_wthtype_instantiate (loc: loc_t, s2e: s2exp): s2exp (* ****** ****** *) fun the_d2varenv_check (loc0: loc_t): void fun the_d2varenv_check_llam (loc0: loc_t): void (* ****** ****** *) (* ** HX-2012-05 *) typedef lstbefitm = '{ lstbefitm_var= d2var , lstbefitm_linval= int // HX: a relic no longer in use , lstbefitm_type= s2expopt } // end of [lstbefitm] typedef lstbefitmlst = List (lstbefitm) fun lstbefitm_make (d2v: d2var, linval: int): lstbefitm fun fprint_lstbefitm : fprint_type (lstbefitm) overload fprint with fprint_lstbefitm fun fprint_lstbefitmlst : fprint_type (lstbefitmlst) overload fprint with fprint_lstbefitmlst fun the_d2varenv_save_lstbefitmlst (): lstbefitmlst fun lstbefitmlst_restore_type (xs: lstbefitmlst): void fun lstbefitmlst_restore_linval_type (xs: lstbefitmlst): void (* ****** ****** *) absviewtype lstaftc3nstr_viewtype viewtypedef lstaftc3nstr = lstaftc3nstr_viewtype fun fprint_lstaftc3nstr : fprint_vtype (lstaftc3nstr) fun lstaftc3nstr_initize (xs: lstbefitmlst): lstaftc3nstr fun lstaftc3nstr_update (x: !lstaftc3nstr, ctr: c3nstroptref): void fun lstaftc3nstr_process (x: !lstaftc3nstr, res: i2nvresstate): void fun lstaftc3nstr_finalize (x: lstaftc3nstr): void (* ****** ****** *) fun i2nvarglst_update (loc: loc_t, args: i2nvarglst): void fun i2nvresstate_update (loc: loc_t, invres: i2nvresstate): void (* ****** ****** *) // absview lamlpenv_push_v // // HX: the break/continue statements are skipped during the 1st round // datatype lamlp = | LAMLPlam of p3atlst (* function arguments *) | LAMLPloop0 of () // 1st round typechecking for loops // // 2nd round typechekcing for loops // | LAMLPloop1 of (loopi2nv, lstbefitmlst, d2expopt(*post*)) viewtypedef lamlplst_vt = List_vt (lamlp) fun the_lamlpenv_top ((*void*)): Option_vt (lamlp) fun the_lamlpenv_get_funarg ((*void*)): Option_vt (p3atlst) fun the_lamlpenv_pop (pf: lamlpenv_push_v | (*none*)): void fun the_lamlpenv_push_lam (p3ts: p3atlst): (lamlpenv_push_v | void) fun the_lamlpenv_push_loop0 () : (lamlpenv_push_v | void) fun the_lamlpenv_push_loop1 (i2nv: loopi2nv, lbis: lstbefitmlst, post: d2expopt) : (lamlpenv_push_v | void) // end of [the_lamlpenv_push_loop1] (* ****** ****** *) absview pfmanenv_push_v fun fprint_the_pfmanenv (out: FILEref): void fun the_pfmanenv_push_let (): (pfmanenv_push_v | void) fun the_pfmanenv_push_lam (lin: int): (pfmanenv_push_v | void) fun the_pfmanenv_push_try (): (pfmanenv_push_v | void) fun the_pfmanenv_pop (pf: pfmanenv_push_v | (*none*)): void fun the_pfmanenv_add_dvar (d2v: d2var): void fun the_pfmanenv_add_dvaropt (opt: d2varopt): void fun the_pfmanenv_add_dvarlst (d2vs: d2varlst): void fun the_pfmanenv_add_p3at (p3t: p3at): void fun the_pfmanenv_add_p3atlst (p3ts: p3atlst): void (* ****** ****** *) // datavtype pfobj = PFOBJ of (d2var, s2exp(*ctx*), s2exp(*elt*), s2exp(*addr*)) vtypedef pfobjopt = Option_vt (pfobj) // fun pfobj_search_atview (s2l0: s2exp): pfobjopt // (* ****** ****** *) fun the_trans3_env_initialize (): void (* ****** ****** *) fun the_trans3_finget_constraint (): c3nstr (* ****** ****** *) (* end of [pats_trans3_env.sats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_print.dats0000664000175000017500000010124112655455557017745 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _ (*anon*) = "./pats_utils.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" staload LOC = "./pats_location.sats" staload FIL = "./pats_filename.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) implement fprint_primcstsp (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of | PMCSTSPmyfil (fil) => { val () = prstr ("$myfilename(") val () = $FIL.fprint_filename_full (out, fil) val () = prstr ")" } | PMCSTSPmyloc (loc) => { val () = prstr ("$mylocation(") val () = $LOC.fprint_location (out, loc) val () = prstr ")" } | PMCSTSPmyfun (flab) => { val () = prstr ("$myfunction(") val () = fprint_funlab (out, flab) val () = prstr ")" } // end // end of [fprint_primcstsp] (* ****** ****** *) // implement print_primdec (pmd) = fprint_primdec (stdout_ref, pmd) implement prerr_primdec (pmd) = fprint_primdec (stderr_ref, pmd) // (* ****** ****** *) implement fprint_primdec (out, x) = let // val sep = ", " macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x.primdec_node of // | PMDnone () => prstr "PMDnone()" // | PMDlist (pmds) => { val () = prstr "PMDlist(\n" val () = fprint_primdeclst (out, pmds) val ((*closing*)) = prstr ")" } // | PMDsaspdec (d2c) => { val () = prstr "PMDsaspdec(" val () = fprint_s2cst (out, d2c.s2aspdec_cst) val ((*closing*)) = prstr ")" } // | PMDextvar (name, inss) => { val () = prstr "PMDextvar(" val () = fprint (out, name) val ((*closing*)) = prstr ")" } // end of [PMVextvar] // | PMDdatdecs (s2cs) => { val () = prstr "PMDdatdecs(" val () = fprint_s2cstlst (out, s2cs) val ((*closing*)) = prstr ")" } | PMDexndecs (d2cs) => { val () = prstr "PMDexndecs(" val () = fprint_d2conlst (out, d2cs) val ((*closing*)) = prstr ")" } // | PMDimpdec (imp) => { val d2c = imp.hiimpdec_cst val imparg = imp.hiimpdec_imparg val tmparg = imp.hiimpdec_tmparg val () = prstr "PMDimpdec(" val () = fprint_d2cst (out, d2c) val () = prstr "; imparg=" val () = fprint_s2varlst (out, imparg) val () = prstr "; tmparg=" val () = $UT.fprintlst (out, tmparg, "; ", fprint_s2explst) val ((*closing*)) = prstr ")" } // | PMDfundecs ( knd, decarg, hfds ) => { val () = prstr "PMDfundecs(" val () = fprint_funkind (out, knd) val () = prstr "; " val () = fprint_s2qualst (out, decarg) val () = prstr "; " val () = $UT.fprintlst ( out, hfds, sep, lam (out, hfd) => fprint_d2var (out, hfd.hifundec_var) ) // end of [val] val ((*closing*)) = prstr ")" } // | PMDvaldecs (knd, hvds, inss) => { val () = prstr "PMDvaldecs(" val () = fprint_valkind (out, knd) val () = prstr "; " val () = $UT.fprintlst ( out, hvds, sep, lam (out, hvd) => fprint_hipat (out, hvd.hivaldec_pat) ) // end of [val] val ((*closing*)) = prstr ")" } | PMDvaldecs_rec (knd, hvds, inss) => { val () = prstr "PMDvaldecs_rec(" val () = fprint_valkind (out, knd) val () = prstr "; " val () = $UT.fprintlst ( out, hvds, sep, lam (out, hvd) => fprint_hipat (out, hvd.hivaldec_pat) ) // end of [val] val ((*closing*)) = prstr ")" } // | PMDvardecs (hvds, inss) => { val () = prstr "PMDvardecs(" val () = $UT.fprintlst ( out, hvds, sep, lam (out, hvd) => fprint_d2var (out, hvd.hivardec_dvar_ptr) ) // end of [val] val ((*closing*)) = prstr ")" } // | PMDinclude (knd, pmds) => { val () = prstr "PMDinclude(" val () = fprint_int (out, knd) val () = prstr "\n" val () = fprint_primdeclst (out, pmds) val ((*closing*)) = prstr ")" } // | PMDstaload (hid) => { val-HIDstaload (idopt, cfil, _, _, _) = hid.hidecl_node val () = prstr "PMDstaload(" val () = ( case+ idopt of | Some (id) => $SYM.fprint_symbol (out, id) | None ((*void*)) => () ) : void // end of [val] val () = ( case+ idopt of Some (id) => prstr " = " | None () => () ) : void // end of [val] val () = $FIL.fprint_filename_full (out, cfil) val ((*closing*)) = prstr ")" } // | PMDstaloadloc (pfil, nspace, pmds) => { val () = prstr "PMDstaloadloc(" val () = $FIL.fprint_filename_full (out, pfil) val () = $SYM.fprint_symbol (out, nspace) val () = prstr " = (*primdeclist*)" val ((*closing*)) = prstr ")" } (* end of [PMDstaloadloc] *) // | PMDdynload (hid) => { val-HIDdynload (fil) = hid.hidecl_node val () = prstr "PMDdynload(" val () = $FIL.fprint_filename_full (out, fil) val ((*closing*)) = prstr ")" } // | PMDlocal ( pmds_head, pmds_body ) => { val () = prstr "PMDlocal(" val () = fprint_string (out, "...") val ((*closing*)) = prstr ")" } // end of [PMDlocal] // end // end of [fprint_primdec] (* ****** ****** *) implement fprint_primdeclst (out, pmds) = let val () = $UT.fprintlst (out, pmds, "\n", fprint_primdec) // end of [val] in fprint_newline (out) end // end of [fprint_primdeclst] (* ****** ****** *) // implement print_primval (pmv) = fprint_primval (stdout_ref, pmv) implement prerr_primval (pmv) = fprint_primval (stderr_ref, pmv) // (* ****** ****** *) implement fprint_primval (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x.primval_node of // | PMVtmp (tmp) => { val () = prstr "PMVtmp(" val () = fprint_tmpvar (out, tmp) val () = prstr ")" } | PMVtmpref (tmp) => { val () = prstr "PMVtmpref(" val () = fprint_tmpvar (out, tmp) val () = prstr ")" } // | PMVarg (n) => { val () = prstr "PMVarg(" val () = fprint_int (out, n) val () = prstr ")" } | PMVargref (n) => { val () = prstr "PMVargref(" val () = fprint_int (out, n) val () = prstr ")" } | PMVargtmpref (n) => { val () = prstr "PMVargtmpref(" val () = fprint_int (out, n) val () = prstr ")" } | PMVargenv (nenv) => { val () = prstr "PMVargenv(" val () = fprint_int (out, nenv) val () = prstr ")" } // | PMVcst (d2c) => { val () = prstr "PMVcst(" val () = fprint_d2cst (out, d2c) val () = prstr ")" } | PMVenv (d2v) => { val () = prstr "PMVenv(" val () = fprint_d2var (out, d2v) val () = prstr ")" } // | PMVint (i) => { val () = prstr "PMVint(" val () = fprint_int (out, i) val () = prstr ")" } | PMVintrep (rep) => { val () = prstr "PMVintrep(" val () = fprint_string (out, rep) val () = prstr ")" } // | PMVbool (b) => { val () = prstr "PMVbool(" val () = fprint_bool (out, b) val () = prstr ")" } | PMVchar (c) => { val i = $UN.cast2int(c) val () = prstr "PMVchar(" val () = ( if char_isprint(c) then fprint_char (out, c) else fprintf (out, "int(%i)", @(i)) // end of [if] ) : void // end of [val] val () = prstr ")" } | PMVfloat (f) => { val () = prstr "PMVfloat(" val () = fprint_double (out, f) val () = prstr ")" } | PMVstring (str) => { val () = prstr "PMVstring(" val () = fprint_string (out, str) val () = prstr ")" } // | PMVi0nt (tok) => { val () = prstr "PMVi0nt(" val () = $SYN.fprint_i0nt (out, tok) val () = prstr ")" } | PMVf0loat (tok) => { val () = prstr "PMVf0loat(" val () = $SYN.fprint_f0loat (out, tok) val () = prstr ")" } // | PMVsizeof (hselt) => { val () = prstr "PMVsizeof(" val () = fprint_hisexp (out, hselt) val () = prstr ")" } // | PMVcstsp (x) => { val () = fprint_primcstsp (out, x) } // | PMVtop () => prstr "PMVtop()" | PMVempty () => prstr "PMVempty()" // | PMVextval (name) => { val () = prstr "PMVextval(" val () = fprint_string (out, name) val ((*closing*)) = prstr ")" } // | PMVcastfn (d2c, arg) => { val () = prstr "PMVcastfn(" val () = fprint_d2cst (out, d2c) val () = prstr ", " val () = fprint_primval (out, arg) val () = prstr ")" } // | PMVselcon ( pmv, hse_sum, lab ) => { val () = prstr "PMVselcon(" val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_sum) val () = prstr "; " val () = $LAB.fprint_label (out, lab) // HX: argument label val () = prstr ")" } // end of [PMVselcon] // | PMVselect ( pmv, hse_sel, pml ) => { val () = prstr "PMVselect(" val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_sel) val () = prstr "; " val () = fprint_primlab (out, pml) val () = prstr ")" } // end of [PMVselect] | PMVselect2 ( pmv, hse_sel, pmls ) => { val () = prstr "PMVselect2(" val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_sel) val () = prstr "; " val () = fprint_primlablst (out, pmls) val () = prstr ")" } // end of [PMVselect2] // | PMVselptr ( pmv, hse_sel, pmls ) => { val () = prstr "PMVselptr(" val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_sel) val () = prstr "; " val () = fprint_primlablst (out, pmls) val () = prstr ")" } // end of [PMVselptr] // | PMVptrof (pmv) => { val () = prstr "PMVptrof(" val () = fprint_primval (out, pmv) val () = prstr ")" } // | PMVptrofsel (pmv, hse_rt, pmls) => { val () = prstr "PMVptrofsel(" val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_rt) val () = prstr "; " val () = fprint_primlablst (out, pmls) val () = prstr ")" } | PMVrefarg (knd, freeknd, pmv) => { val () = prstr "PMVrefarg(" val () = fprint_int (out, knd) val () = prstr "; " val () = fprint_int (out, freeknd) val () = prstr "; " val () = fprint_primval (out, pmv) val () = prstr ")" } // | PMVfunlab (flab) => { val () = prstr "PMVfunlab(" val () = fprint_funlab (out, flab) val () = prstr ")" } | PMVcfunlab (knd, flab) => { val () = prstr "PMVcfunlab(" val () = prstr "knd=" val () = fprint_int (out, knd) val () = prstr "; flab=" val () = fprint_funlab (out, flab) val () = prstr ")" } // | PMVd2vfunlab (d2v, flab) => { val () = prstr "PMVd2vfunlab(" val () = prstr "d2v=" val () = fprint_d2var (out, d2v) val () = prstr ", flab=" val () = fprint_funlab (out, flab) val () = prstr ")" } // | PMVlamfix (knd, pmv) => { val () = prstr "PMVlamfix(" val () = prstr "knd=" val () = fprint_int (out, knd) val () = prstr "; fun=" val () = fprint_primval (out, pmv) val () = prstr ")" } // | PMVtmpltcst (d2c, t2mas) => { val () = prstr "PMVtmpltcst(" val () = fprint_d2cst (out, d2c) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } | PMVtmpltvar (d2v, t2mas) => { val () = prstr "PMVtmpltvar(" val () = fprint_d2var (out, d2v) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } // | PMVtmpltcstmat (d2c, t2mas, mat) => { val () = prstr "PMVtmpltcstmat[" val () = fprint_tmpcstmat_kind (out, mat) val () = prstr "](" val () = fprint_d2cst (out, d2c) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } | PMVtmpltvarmat (d2c, t2mas, mat) => { val () = prstr "PMVtmpltvarmat[" val () = fprint_tmpvarmat_kind (out, mat) val () = prstr "](" val () = fprint_d2var (out, d2c) val () = prstr "<" val () = fpprint_t2mpmarglst (out, t2mas) val () = prstr ">" val () = prstr ")" } // | PMVerror((*error*)) => prstr "PMVerror()" // end // end of [fprint_primval] (* ****** ****** *) implement fprint_primvalist (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_primval) // end of [fprint_primvalist] (* ****** ****** *) // implement print_primlab (pmv) = fprint_primlab (stdout_ref, pmv) implement prerr_primlab (pmv) = fprint_primlab (stderr_ref, pmv) // (* ****** ****** *) implement fprint_primlab (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x.primlab_node of // | PMLlab (l) => { val () = prstr "PMLlab(" val () = $LAB.fprint_label (out, l) val () = prstr ")" } | PMLind (pmvs) => { val () = prstr "PMLind(" val () = fprint_primvalist (out, pmvs) val () = prstr ")" } // end // end of [fprint_primlab] implement fprint_primlablst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_primlab) // end of [fprint_primlablst] (* ****** ****** *) extern fun fprint_labprimval : fprint_type (labprimval) implement fprint_labprimval (out, lx) = let val LABPRIMVAL (l, x) = lx in $LAB.fprint_label (out, l); fprint_string (out, "="); fprint_primval (out, x) end // end of [fprint_labprimval] implement fprint_labprimvalist (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_labprimval) // end of [fprint_labprimvalist] (* ****** ****** *) implement fprint_patck (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of // | PATCKcon (d2c) => { val () = prstr "PATCKcon(" val () = fprint_d2con (out, d2c) val () = prstr ")" } // | PATCKint (i) => { val () = prstr "PATCKint(" val () = fprint_int (out, i) val () = prstr ")" } | PATCKbool (b) => { val () = prstr "PATCKbool(" val () = fprint_bool (out, b) val () = prstr ")" } | PATCKchar (c) => { val () = prstr "PATCKchar(" val () = fprint_char (out, c) val () = prstr ")" } | PATCKfloat (f) => { val () = prstr "PATCKfloat(" val () = fprint_double (out, f) val () = prstr ")" } | PATCKstring (str) => { val () = prstr "PATCKstring(" val () = fprint_string (out, str) val () = prstr ")" } // | PATCKi0nt (tok) => { val () = prstr "PATCKi0nt(" val () = $SYN.fprint_i0nt (out, tok) val () = prstr ")" } | PATCKf0loat (tok) => { val () = prstr "PATCKf0loat(" val () = $SYN.fprint_f0loat (out, tok) val () = prstr ")" } // end // end of [patck] implement print_patck (x) = fprint_patck (stdout_ref, x) implement prerr_patck (x) = fprint_patck (stderr_ref, x) (* ****** ****** *) implement fprint_tmpmovlst (out, xs) = let // fun fpr ( out: FILEref, x: tmpmov ) : void = { val () = fprint_tmpvar (out, x.1) val () = fprint_string (out, "<-") val () = fprint_tmprimval (out, x.0) } // in $UT.fprintlst (out, xs, ", ", fpr) end // end of [fprint_tmpmovlst] (* ****** ****** *) implement fprint_patckont (out, x) = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ x of // | PTCKNTnone ( ) => prstr "PTCKNTnone()" // | PTCKNTtmplab (tl) => { val () = prstr "PTCKNTtmplab(" val () = fprint_tmplab (out, tl) val () = prstr ")" } // | PTCKNTtmplabint (tl, int) => { val ( ) = prstr "PTCKNTtmplabint(" val () = fprint_tmplab (out, tl) val () = prstr ", " val () = fprint_int (out, int) val () = prstr ")" } // | PTCKNTtmplabmov (tl, tmvlst) => { val ( ) = prstr "PTCKNTtmplabmov(" val () = fprint_tmplab (out, tl) val () = prstr "; " val () = fprint_tmpmovlst (out, tmvlst) val () = prstr ")" } // | PTCKNTcaseof_fail (loc) => { val () = prstr "PTCKNTcaseof_fail(" val () = prstr ")" } // | PTCKNTfunarg_fail (loc, fl) => { val () = prstr "PTCKNTfunarg_fail(" val () = prstr ")" } // | PTCKNTraise (tmp, pmv) => { val () = prstr "PTCKNTraise(" val () = fprint_tmpvar (out, tmp) val () = prstr ", " val () = fprint_primval (out, pmv) val () = prstr ")" } end // end of [patckont] implement print_patckont (x) = fprint_patckont (stdout_ref, x) implement prerr_patckont (x) = fprint_patckont (stderr_ref, x) (* ****** ****** *) implement fprint_instr (out, x) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ x.instr_node of // | INSfunlab (fl) => { val () = prstr "INSfunlab(" val () = fprint_funlab (out, fl) val ((*closing*)) = prstr ")" } // | INStmplab (tl) => { val () = prstr "INStmplab(" val () = fprint_tmplab (out, tl) val ((*closing*)) = prstr ")" } // | INScomment (str) => { val () = prstr "INScomment(" val () = fprint_string (out, str) val ((*closing*)) = prstr ")" } // | INSmove_val (tmp, pmv) => { val () = prstr "INSmove_val(" val () = fprint_tmpvar (out, tmp) val () = prstr " <- " val () = fprint_primval (out, pmv) val ((*closing*)) = prstr ")" } | INSpmove_val (tmp, pmv) => { val () = prstr "INSpmove_val(" val () = fprint_tmpvar (out, tmp) val () = prstr " <- " val () = fprint_primval (out, pmv) val ((*closing*)) = prstr ")" } // | INSmove_arg_val (i, pmv) => { val () = prstr "INSmove_arg_val(" val () = fprintf (out, "arg(%i)", @(i)) val () = prstr " <- " val () = fprint_primval (out, pmv) val ((*closing*)) = prstr ")" } // | INSfcall ( tmpret , hde_fun, hse_fun, hdes_arg ) => { val () = prstr "INSfcall(" val () = fprint_tmpvar (out, tmpret) val () = prstr " <- " val () = fprint_primval (out, hde_fun) val () = prstr "(" val () = fprint_hisexp (out, hse_fun) val () = prstr "; " val () = fprint_primvalist (out, hdes_arg) val ((*closing*)) = prstr "))" } // end of [INSfcall] | INSfcall2 ( tmpret , flab, ntl, hse_fun, hdes_arg ) => { val () = prstr "INSfcall2(" val () = fprint_tmpvar (out, tmpret) val () = prstr " <- " val () = fprint_funlab (out, flab) val () = prstr "(" val () = fprint_int (out, ntl) val () = prstr "; " val () = fprint_hisexp (out, hse_fun) val () = prstr "; " val () = fprint_primvalist (out, hdes_arg) val ((*closing*)) = prstr "))" } // end of [INSfcall2] // | INSextfcall ( tmpret, _fun, _arg ) => { val () = prstr "INSextfcall(" val () = fprint_tmpvar (out, tmpret) val () = prstr " <- " val () = fprint_string (out, _fun) val () = prstr "(" val () = fprint_primvalist (out, _arg) val ((*closing*)) = prstr "))" } // end of [INSextfcall] | INSextmcall ( tmpret, _obj, _mtd, _arg ) => { val () = prstr "INSextmcall(" val () = fprint_tmpvar (out, tmpret) val () = prstr " <- " val () = ( fprint_primval (out, _obj); prstr "."; fprint_string (out, _mtd) ) (* end of [val] *) val () = prstr "(" val () = fprint_primvalist (out, _arg) val ((*closing*)) = prstr "))" } // end of [INSextmcall] // | INScond ( pmv_cond, inss_then, inss_else ) => { val () = prstr "INScond(\n" val () = prstr "**COND**\n" val () = fprint_primval (out, pmv_cond) val () = prstr "\n" val () = prstr "**THEN**\n" val () = fprint_instrlst (out, inss_then) val () = prstr "**ELSE**\n" val () = fprint_instrlst (out, inss_else) val ((*closing*)) = prstr ")" } // | INSfreecon (pmv) => { val () = prstr "INSfreecon(" val () = fprint_primval (out, pmv) val () = prstr ")" } // | INSloop _ => { val () = prstr "INSloop(...)" } | INSloopexn (knd, tlab) => { val () = prstr "INSloopexn(" val () = fprint_int (out, knd) val () = prstr ", " val () = fprint_tmplab (out, tlab) val ((*closing*)) = prstr ")" } // | INScaseof _ => { val () = prstr "INScaseof(" val () = fprint_string (out, "...") val ((*closing*)) = prstr ")" } // | INSletpop () => { val () = prstr "INSletpop()" } | INSletpush (pmds) => { val () = prstr "INSletpush(\n" val () = fprint_primdeclst (out, pmds) val ((*closing*)) = prstr ")" } // | INSmove_con ( tmpret, d2c, hse_sum, lpmvs ) => { val () = prstr "INSmove_con(" val () = fprint_tmpvar (out, tmpret) val () = prstr " <- " val () = fprint_d2con (out, d2c) val () = prstr "(" val () = fprint_hisexp (out, hse_sum) val () = prstr ";" val () = fprint_labprimvalist (out, lpmvs) val ((*closing*)) = prstr "))" } // | INSmove_boxrec _ => { val () = prstr "INSmove_boxrec(" val () = prstr "..." val ((*closing*)) = prstr ")" } | INSmove_fltrec _ => { val () = prstr "INSmove_fltrec(" val () = prstr "..." val ((*closing*)) = prstr ")" } // | INSpatck (pmv, pck, pcknt) => { val () = prstr "INSpatck(" val () = fprint_patck (out, pck) val () = prstr "; " val () = fprint_patckont (out, pcknt) val () = prstr ")" } // | INSmove_ptrofsel ( tmp, pmv, hse_sel, pmls ) => { val () = prstr "INSmove_ptrofsel(" val () = fprint_tmpvar (out, tmp) val () = prstr " <- " val () = fprint_primval (out, pmv) val () = prstr "; " val () = fprint_hisexp (out, hse_sel) val () = prstr "; " val () = fprint_primlablst (out, pmls) val ((*closing*)) = prstr ")" } // end of [INSmove_ptrofsel] // (* | INSload_ptrofs (tmp, pmv, hse_sel, ofs) => { val () = prstr "INSload_ptrofs(" val () = fprint_tmpvar (out, tmp) val () = prstr " <- " val () = fprint_primval (out, pmv) val () = prstr "(" val () = fprint_hisexp (out, hse_sel) val () = prstr ")" val () = prstr "[" val () = fprint_primlablst (out, ofs) val () = prstr "]" val () = prstr ")" } *) // | INSstore_ptrofs (pmv_l, hse_rt, ofs, pmv_r) => { val () = prstr "INSstore_ptrofs(" val () = fprint_primval (out, pmv_l) val () = prstr "(" val () = fprint_hisexp (out, hse_rt) val () = prstr ")" val () = prstr "[" val () = fprint_primlablst (out, ofs) val () = prstr "]" val () = prstr " := " val () = fprint_primval (out, pmv_r) val ((*closing*)) = prstr ")" } // | INSxstore_ptrofs _ => prstr "INSxstore_ptrofs(...)" // | INSraise (tmp, pmv_exn) => { val () = prstr "INSraise(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_primval (out, pmv_exn) val ((*closing*)) = prstr ")" } (* end of [INSraise] *) // | INSmove_delay ( tmp, lin, hse, pmv_thk ) => { val () = prstr "INSmove_delay(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_hisexp (out, hse) val () = prstr "; " val () = fprint_primval (out, pmv_thk) val ((*closing*)) = prstr ")" } (* end of [INSmove_delay] *) | INSmove_lazyeval ( tmp, lin, hse, pmv_lazy ) => { val () = prstr "INSmove_lazyeval(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_int (out, lin) val () = prstr "; " val () = fprint_hisexp (out, hse) val () = prstr "; " val () = fprint_primval (out, pmv_lazy) val ((*closing*)) = prstr ")" } (* end of [INSmove_lazyeval] *) // | INStrywith ( tmp_exn, inss_try, ibrs_with ) => { val () = prstr "INStrywith(" val () = fprint_string (out, "...") val ((*closing*)) = prstr ")" } (* end of [INStrywith] *) // | INSmove_list_nil (tmp) => { val () = prstr "INSmove_list_nil(" val () = fprint_tmpvar (out, tmp) val ((*closing*)) = prstr ")" } | INSpmove_list_nil (tmp) => { val () = prstr "INSpmove_list_nil(" val () = fprint_tmpvar (out, tmp) val ((*closing*)) = prstr ")" } | INSpmove_list_cons (tmp, hse_elt) => { val () = prstr "INSpmove_list_cons(" val () = fprint_tmpvar (out, tmp) val () = prstr ", " val () = fprint_hisexp (out, hse_elt) val ((*closing*)) = prstr ")" } // | INSmove_list_phead (tmphd, tmptl, hse_elt) => { val () = prstr "INSmove_list_phead(" val () = fprint_tmpvar (out, tmphd) val () = prstr "; " val () = fprint_tmpvar (out, tmptl) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val ((*closing*)) = prstr ")" } (* end of [INSmove_list_phead] *) | INSmove_list_ptail (tmptl1, tmptl2, hse_elt) => { val () = prstr "INSmove_list_ptail(" val () = fprint_tmpvar (out, tmptl1) val () = prstr "; " val () = fprint_tmpvar (out, tmptl2) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val ((*closing*)) = prstr ")" } (* end of [INSmove_list_ptail] *) // | INSstore_arrpsz_asz (tmp, asz) => { val () = prstr "INSstore_arrpsz_asz(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_int (out, asz) val ((*closing*)) = prstr ")" } (* end of [INSstore_arrpsz_asz] *) | INSstore_arrpsz_ptr (tmp, hse_elt, asz) => { val () = prstr "INSstore_arrpsz_ptr(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val () = prstr "; " val () = fprint_int (out, asz) val ((*closing*)) = prstr ")" } (* end of [INSstore_arrpsz_ptr] *) // | INSmove_arrpsz_ptr (tmp1, tmp2) => { val () = prstr "INSmove_arrpsz_ptr(" val () = fprint_tmpvar (out, tmp1) val () = prstr "; " val () = fprint_tmpvar (out, tmp2) val ((*closing*)) = prstr ")" } (* end of [INSmove_arrpsz_ptr] *) // | INSupdate_ptrinc (tmp, hse_elt) => { val () = prstr "INSupdate_ptrinc(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val ((*closing*)) = prstr ")" } (* end of [INSupdate_ptrinc] *) | INSupdate_ptrdec (tmp, hse_elt) => { val () = prstr "INSupdate_ptrdec(" val () = fprint_tmpvar (out, tmp) val () = prstr "; " val () = fprint_hisexp (out, hse_elt) val ((*closing*)) = prstr ")" } (* end of [INSupdate_ptrdec] *) // | INSclosure_initize (tmp, flab) => { val () = prstr "INSclosure_initize(" val () = fprint_tmpvar (out, tmp) val () = prstr " <- " val () = fprint_funlab (out, flab) val ((*closing*)) = prstr ")" } (* end of [INSclosure_initize] *) // | INStmpdec (tmp) => { val () = prstr "INStmpdec(" val () = fprint_tmpvar (out, tmp) val ((*closing*)) = prstr ")" } (* end of [INStmpdec] *) // | INSextvar (name, pmv) => { val () = prstr "INSextvar(" val () = fprint (out, name) val () = prstr " = " val () = fprint_primval (out, pmv) val ((*closing*)) = prstr ")" } (* end of [INSextvar] *) // | INSdcstdef (d2c, pmv) => { val () = prstr "INSdcstdef(" val () = fprint_d2cst (out, d2c) val () = prstr " = " val () = fprint_primval (out, pmv) val ((*closing*)) = prstr ")" } (* end of [INSdcstdef] *) // | _ (*rest-of-instr*) => prstr "INS...(...)" // end // end of [fprint_instr] (* ****** ****** *) implement print_instr (ins) = fprint_instr (stdout_ref, ins) implement prerr_instr (ins) = fprint_instr (stderr_ref, ins) (* ****** ****** *) implement fprint_instrlst (out, xs) = let val () = $UT.fprintlst (out, xs, "\n", fprint_instr) // end of [val] in fprint_newline (out) end // end of [fprint_instrlst] (* ****** ****** *) implement fprint_tmpsub (out, xs) = let // fun loop ( out: FILEref, xs: tmpsub, i: int ) : void = let // macdef prstr (s) = fprint_string (out, ,(s)) // in // case+ xs of | TMPSUBcons (s2v, s2e, xs) => let val () = if i > 0 then prstr "; " // end of [val] val () = fprint_s2var (out, s2v) val () = prstr " -> " val () = fprint_s2exp (out, s2e) in loop (out, xs, i+1) end // end of [tmpsub_cons] | TMPSUBnil () => () // end // end of [loop] // in loop (out, xs, 0) end // end of [fprint_tmpsub] implement fprint_tmpsubopt (out, opt) = let // macdef prstr (x) = fprint_string (out, ,(x)) // in // case opt of | Some (tsub) => { val () = prstr "Some(" val () = fprint_tmpsub (out, tsub) val () = prstr ")" } // end of [Some] | None () => prstr "None()" // end // end of [fprint_tmpsubopt] (* ****** ****** *) implement fprint_hifundec2 (out, hfd2) = let // val HIFUNDEC2 (hfd, tsub) = hfd2 // val () = fprint_string (out, "HIFUNDEC2(") val () = fprint_hifundec (out, hfd) val () = fprint_string (out, "; ") val () = fprint_tmpsub (out, tsub) val () = fprint_string (out, ")") // in // nothing end // end of [fprint_hifundec2] (* ****** ****** *) implement fprint_hiimpdec2 (out, imp2) = let // val HIIMPDEC2 (imp, tsub, s2ess) = imp2 // val () = fprint_string (out, "HIIMPDEC2(") val () = fprint_hiimpdec (out, imp) val () = fprint_string (out, "; ") val () = fprint_tmpsub (out, tsub) val () = fprint_string (out, ")") // in // nothing end // end of [fprint_hiimpdec2] (* ****** ****** *) implement fprint_tmpcstmat (out, opt) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ opt of | TMPCSTMATnone ((*void*)) => prstr "TMPCSTMATnone()" // end of [TMPCSTMATnone] | TMPCSTMATsome (imp, tmpsub, knd) => let val () = prstr "TMPCSTMATsome(" val () = fprint_d2cst (out, imp.hiimpdec_cst) val () = prstr "; " val () = fprint_s2varlst (out, imp.hiimpdec_imparg) val () = prstr "; " val () = fprint_s2explstlst (out, imp.hiimpdec_tmparg) val () = prstr "; " val () = fprint_tmpsub (out, tmpsub) val () = prstr ")" in // nothing end // end of [TMPCSTMATsome] | TMPCSTMATsome2 (d2c, s2ess, flab) => let val () = prstr "TMPCSTMATsome2(" val () = fprint_funlab (out, flab) val () = prstr "; " val () = fprint_s2explstlst (out, s2ess) val () = prstr ")" in // nothing end // end of [TMPCSTMATsome2] // end // end of [fprint_tmpcstmat] implement fprint_tmpcstmat_kind (out, opt) = let // val knd = ( case+ opt of | TMPCSTMATnone _ => 0 | TMPCSTMATsome _ => 1 | TMPCSTMATsome2 _ => 2 ) : int // end of [val] // in fprint_int (out, knd) end // end of [fprint_tmpcstmat_kind] (* ****** ****** *) implement fprint_tmpvarmat (out, opt) = let macdef prstr (s) = fprint_string (out, ,(s)) in // case+ opt of | TMPVARMATnone ((*void*)) => prstr "TMPVARMATnone()" // end of [TMPVARMATnone] | TMPVARMATsome (hfd, tmpsub, knd) => let val () = prstr "TMPVARMATsome(" val () = fprint_d2var (out, hfd.hifundec_var) val () = prstr "; " val () = fprint_s2varlst (out, hfd.hifundec_imparg) val () = prstr "; " val () = fprint_tmpsub (out, tmpsub) val () = prstr ")" in // nothing end // end of [TMPVARMATsome] | TMPVARMATsome2 (d2v, s2ess, flab) => let val () = prstr "TMPVARMATsome2(" val () = fprint_funlab (out, flab) val () = prstr "; " val () = fprint_s2explstlst (out, s2ess) val () = prstr ")" in // nothing end // end of [TMPVARMATsome2] // end // end of [fprint_tmpvarmat] implement fprint_tmpvarmat_kind (out, opt) = let // val knd = ( case+ opt of | TMPVARMATnone _ => 0 | TMPVARMATsome _ => 1 | TMPVARMATsome2 _ => 2 ) : int // end of [val] // in fprint_int (out, knd) end // end of [fprint_tmpvarmat_kind] (* ****** ****** *) implement fprint_vbindmap (out, vbmap) = let // fun fpr ( out: FILEref, vb: @(d2var, primval) ) : void = ( fprint_d2var (out, vb.0); fprint_string (out, "->"); fprint_primval (out, vb.1) ) (* end of [fpr] *) // val vbs = d2varmap_listize (vbmap) val () = $UT.fprintlst (out, $UN.linlst2lst(vbs), "; ", fpr) val () = list_vt_free (vbs) // in // nothing end // end of [fprint_vbindlst] (* ****** ****** *) (* end of [pats_ccomp_print.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_svar.dats0000664000175000017500000002625612655455557020065 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) // staload CNTR = "./pats_counter.sats" // staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol // staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) typedef s2var_struct = @{ s2var_sym= symbol // the name , s2var_srt= s2rt // the sort , s2var_tmplev= int // the template level , s2var_sVarset= s2Varset // existential variable occurrences , s2var_stamp= stamp // uniqueness } // end of [s2var_struct] (* ****** ****** *) val the_s2var_name_counter = $CNTR.counter_make () fn s2var_name_make (): symbol = let val n = $CNTR.counter_getinc (the_s2var_name_counter) in $SYM.symbol_make_string ($CNTR.tostring_prefix_count ("$", n)) end // end of [s2var_name_make] fn s2var_name_make_prefix (pre: string): symbol = let val n = $CNTR.counter_getinc (the_s2var_name_counter) in $SYM.symbol_make_string (pre + $CNTR.tostring_prefix_count ("$", n)) end // end of [s2var_name_make_prefix] (* ****** ****** *) local assume s2var_type = ref (s2var_struct) in // in of [local] implement s2var_make_id_srt (id, s2t) = let // val stamp = $STMP.s2var_stamp_make () val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim {s2var_struct?} (pfgc) // val () = p->s2var_sym := id val () = p->s2var_srt := s2t val () = p->s2var_tmplev := 0 val () = p->s2var_sVarset := s2Varset_nil () val () = p->s2var_stamp := stamp // in ref_make_view_ptr (pfat | p) end // end of [s2var_make_id_srt] implement s2var_get_sym (s2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_sym end // end of [s2var_get_sym] implement s2var_get_srt (s2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_srt end // end of [s2var_get_srt] implement s2var_get_tmplev (s2v) = let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_tmplev end // end of [s2var_get_tmplev] implement s2var_set_tmplev (s2v, lev) = let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_tmplev := lev end // end of [s2var_set_tmplev] implement s2var_get_sVarset (s2v) = let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_sVarset end // end of [s2var_get_sVarset] implement s2var_set_sVarset (s2v, xs) = let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_sVarset := xs end // end of [s2var_set_sVarset] implement s2varlst_set_sVarset (s2vs, xs) = case+ s2vs of | list_cons (s2v, s2vs) => ( s2var_set_sVarset (s2v, xs); s2varlst_set_sVarset (s2vs, xs) ) // end of [list_cons] | list_nil () => () // end of [s2varlst_set_sVarset] implement s2var_get_stamp (s2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2v) in p->s2var_stamp end // end of [s2var_get_stamp] end // end of [local] (* ****** ****** *) implement s2var_is_bool (s2v) = let val s2t = s2var_get_srt (s2v) in s2rt_is_bool (s2t) end // end of [s2var_is_bool] (* ****** ****** *) implement s2var_make_srt (s2t) = let val id = s2var_name_make () in s2var_make_id_srt (id, s2t) end // end of [s2var_make_srt] implement s2var_dup (s2v0) = let val id0 = s2var_get_sym s2v0 val s2t0 = s2var_get_srt s2v0 val id_new = s2var_name_make_prefix ($SYM.symbol_get_name id0) in s2var_make_id_srt (id_new, s2t0) end // end of [s2var_dup] (* ****** ****** *) implement lt_s2var_s2var (x1, x2) = (compare (x1, x2) < 0) // end of [lt_s2var_s2var] implement lte_s2var_s2var (x1, x2) = (compare (x1, x2) <= 0) // end of [lte_s2var_s2var] implement eq_s2var_s2var (x1, x2) = (compare (x1, x2) = 0) // end of [eq_s2var_s2var] implement neq_s2var_s2var (x1, x2) = (compare (x1, x2) != 0) // end of [neq_s2var_s2var] implement compare_s2var_s2var (x1, x2) = let (* val () = $effmask_all ( print "compare_s2var_s2var: x1 = "; print_s2var x1; print_newline (); print "compare_s2var_s2var: x2 = "; print_s2var x2; print_newline (); ) // end of [val] *) in compare (s2var_get_stamp (x1), s2var_get_stamp (x2)) end // end of [compare_s2var_s2var] implement compare_s2vsym_s2vsym (x1, x2) = ( $SYM.compare_symbol_symbol (s2var_get_sym (x1), s2var_get_sym (x2)) ) // end of [compare_s2vsym_s2vsym] (* ****** ****** *) implement fprint_s2var (out, s2v) = let val () = $SYM.fprint_symbol (out, s2var_get_sym s2v) // (* val () = fprint_string (out, "(") val () = $STMP.fprint_stamp (out, s2var_get_stamp s2v) val () = fprint_string (out, ")") // *) in // empty end // end of [fprint_s2var] implement print_s2var (x) = fprint_s2var (stdout_ref, x) implement prerr_s2var (x) = fprint_s2var (stderr_ref, x) implement fprint_s2varlst (out, xs) = $UT.fprintlst (out, xs, ", ", fprint_s2var) // end of [fprint_s2varlst] implement print_s2varlst (xs) = fprint_s2varlst (stdout_ref, xs) implement prerr_s2varlst (xs) = fprint_s2varlst (stderr_ref, xs) (* ****** ****** *) local // staload FS = "libats/SATS/funset_avltree.sats" staload LS = "libats/SATS/linset_avltree.sats" staload _(*FS*) = "libats/DATS/funset_avltree.dats" staload _(*LS*) = "libats/DATS/linset_avltree.dats" // val cmp = lam ( s2v1: s2var, s2v2: s2var ) : int = compare_s2var_s2var (s2v1, s2v2) // end of [val] // assume s2varset_type = $FS.set (s2var) assume s2varset_vtype = $LS.set (s2var) // in (* in-of-local *) implement s2varset_nil ((*void*)) = $FS.funset_make_nil () implement s2varset_add (xs, x) = xs where { var xs = xs val _(*rplced*) = $FS.funset_insert (xs, x, cmp) } (* end of [s2varset_add] *) implement s2varset_del (xs, x) = xs where { var xs = xs val _(*removed*) = $FS.funset_remove (xs, x, cmp) } (* end of [s2varset_del] *) implement s2varset_union (xs, ys) = $FS.funset_union (xs, ys, cmp) implement s2varset_listize (xs) = $FS.funset_listize (xs) (* ****** ****** *) implement s2varset_vt_nil ((*void*)) = $LS.linset_make_nil () implement s2varset_vt_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $LS.linset_insert (xs, x, cmp) } // end of [s2varset_vt_add] implement s2varset_vt_del (xs, x) = xs where { var xs = xs val _(*removed*) = $LS.linset_remove (xs, x, cmp) } // end of [s2varset_vt_del] implement s2varset_vt_delist (xs1, xs2) = let fun loop {n:nat} .. ( xs1: s2varset_vt, xs2: list (s2var, n) ) : s2varset_vt = case+ xs2 of | list_cons (x2, xs2) => loop (s2varset_vt_del (xs1, x2), xs2) | list_nil () => xs1 // end of [loop] in loop (xs1, xs2) end // end of [s2varset_vt_delist] implement s2varset_vt_union (xs, ys) = $LS.linset_union (xs, ys, cmp) implement s2varset_vt_free (xs) = $LS.linset_free (xs) implement s2varset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) local staload MSET = "libats/SATS/funmset_listord.sats" staload _ = "libats/DATS/funmset_listord.dats" assume s2varmset_type = $MSET.mset (s2var) val cmp = lam ( s2v1: s2var, s2v2: s2var ) : int = compare_s2var_s2var (s2v2, s2v1) // first-in-first-occur // end of [val] in // in of [local] implement s2varmset_nil () = $MSET.funmset_make_nil () implement s2varmset_sing (x) = $MSET.funmset_make_sing (x) implement s2varmset_pair (x1, x2) = $MSET.funmset_make_pair (x1, x2, cmp) // end of [s2varmset_pair] implement s2varmset_gte (xs1, xs2) = $MSET.funmset_compare (xs1, xs2, cmp) >= 0 // end of [s2varmset_gte] implement s2varmset_is_equal (xs1, xs2) = $MSET.funmset_is_equal (xs1, xs2, cmp) // end of [s2varmset_is_equal] implement s2varmset_add (xs, x) = xs where { var xs = xs val () = $MSET.funmset_insert (xs, x, cmp) } // end of [s2varmset_add] implement s2varmset_del (xs, x) = xs where { var xs = xs val _(*removed*) = $MSET.funmset_remove (xs, x, cmp) } // end of [s2varmset_del] implement s2varmset_union (xs1, xs2) = $MSET.funmset_union (xs1, xs2, cmp) // end of [s2varmset_union] implement s2varmset_listize (xs) = $MSET.funmset_listize (xs) implement fprint_s2varmset (out, xs) = let // val xs = $MSET.funmset_mlistize(xs) val () = fprint_s2varlst (out, $UN.castvwtp1 {s2varlst} (xs)) val ((*freed*)) = list_vt_free (xs) // in end // end of [fprint_s2varmset] end // end of [local] (* ****** ****** *) local staload MAP = "libats/SATS/linmap_avltree.sats" staload _ = "libats/DATS/linmap_avltree.dats" val cmp = lam ( s2v1: s2var, s2v2: s2var ) : int = compare_s2var_s2var (s2v1, s2v2) // end of [val] assume s2varbindmap_vtype = $MAP.map (s2var, s2exp) in // in of [local] // implement s2varbindmap_make_nil ((*void*)) = $MAP.linmap_make_nil () // implement s2varbindmap_search (map, k) = let (* val () = ( println! ("s2varbindmap_search: k = ", k) ) (* end of [val] *) *) // var res: s2exp? // uninitized val found = $MAP.linmap_search (map, k, cmp, res) // in // if found then let prval() = opt_unsome{s2exp}(res) in Some_vt(res) end // end of [then] else let prval() = opt_unnone{s2exp}(res) in None_vt(*void*) end // end of [else] // end (* end of [s2varbindmap_search] *) // implement s2varbindmap_insert (map, k, x) = let (* val () = ( println! ("s2varbindmap_insert: k = ", k); println! ("s2varbindmap_insert: x = ", x); ) (* end of [val] *) *) // val x = s2hnf2exp (x) var res: s2exp? // unintialized // val replaced = $MAP.linmap_insert (map, k, x, cmp, res) // prval () = opt_clear (res) // in // nothing end // end of [s2varbindmap_insert] // implement s2varbindmap_remove (map, k) = let val _(*removed*) = $MAP.linmap_remove (map, k, cmp) in (*nothing*) end // end of [s2varbindmap_remove] // implement s2varbindmap_listize (map) = $MAP.linmap_listize (map) // end // end of [local] (* ****** ****** *) (* end of [pats_staexp2_svar.dats] *) ATS2-Postiats-0.2.6/./src/pats_histaexp.dats0000664000175000017500000004150412655455557017262 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload S2C = "./pats_stacst2.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) // #define ATSTYPE_BOXED "atstype_boxed" #define ATSTYPE_UNBOXED "atstype_unboxed" #define ATSTYPE_UNDEFINED "atstype_undefined" // (* ****** ****** *) // val HITNAM_BOXED = HITNAM (1(*ptr*), 1(*fin*), ATSTYPE_BOXED) // val HITNAM_UNBOXED = HITNAM (0(*non*), 1(*fin*), ATSTYPE_UNBOXED) // val HITNAM_UNDEFINED = HITNAM (0(*non*), 1(*fin*), ATSTYPE_UNDEFINED) // (* ****** ****** *) // val HITNAM_FUNPTR = HITNAM (1(*ptr*), 1(*fin*), "atstype_funptr") val HITNAM_CLOPTR = HITNAM (1(*ptr*), 1(*fin*), "atstype_cloptr") val HITNAM_CLOTYP = HITNAM (0(*non*), 1(*fin*), "atstype_clotyp") // val HITNAM_ARRPTR = HITNAM (1(*ptr*), 1(*fin*), "atstype_arrptr") // val HITNAM_DATCONPTR = HITNAM (1(*ptr*), 1(*fin*), "atstype_datconptr") val HITNAM_DATCONTYP = HITNAM (1(*ptr*), 1(*fin*), "atstype_datcontyp") // val HITNAM_EXNCONPTR = HITNAM (1(*ptr*), 1(*fin*), "atstype_exnconptr") // (* ****** ****** *) // #define POSTIATS_TYABS "postiats_tyabs" #define POSTIATS_TYPTR "postiats_typtr" // val HITNAM_TYABS = HITNAM (0(*non*), 0(*fin*), POSTIATS_TYABS) val HITNAM_TYPTR = HITNAM (1(*ptr*), 1(*fin*), POSTIATS_TYPTR) // val HITNAM_TYAPP = HITNAM (0(*non*), 0(*tmp*), "postiats_tyapp") val HITNAM_TYCLO = HITNAM (0(*non*), 0(*tmp*), "postiats_tyclo") // val HITNAM_TYARR = HITNAM (0(*non*), 0(*tmp*), "postiats_tyarr") val HITNAM_TYREC = HITNAM (0(*non*), 0(*tmp*), "postiats_tyrec") val HITNAM_TYRECSIN = HITNAM (0(*non*), 0(*tmp*), "postiats_tyrecsin") val HITNAM_TYSUM = HITNAM (0(*non*), 0(*tmp*), "postiats_tysum") // val HITNAM_TYVAR = HITNAM (0(*non*), 0(*tmp*), "postiats_tyvar") val HITNAM_TYVARET = HITNAM (0(*non*), 0(*tmp*), "postiats_tyvaret") // val HITNAM_VARARG = HITNAM (0(*non*), 0(*tmp*), "postiats_vararg") // val HITNAM_S2EXP = HITNAM (0(*non*), 0(*tmp*), "postiats_s2exp") val HITNAM_S2ZEXP = HITNAM (0(*non*), 0(*tmp*), "postiats_s2zexp") // (* ****** ****** *) implement hisexp_get_boxknd (hse0) = let in // case+ hse0.hisexp_node of // | HSEtyrec(knd, _) => if tyreckind_is_boxed(knd) then 1 else 0 // | HSEtysum(d2c, _) => 0 // HX: it is not [1]! // | _ (*non-rec-sum*) => (~1) // HX: meaningless // end // end of [hisexp_get_boxknd] implement hisexp_get_extknd (hse0) = let in // case+ hse0.hisexp_node of // | HSEtyrec (knd, _) => if tyreckind_is_fltext(knd) then 1 else 0 // | _(*non-HSEtyrec*) => ~1 // HX: meaningless // end // end of [hisexp_get_extknd] (* ****** ****** *) implement hisexp_is_boxed(hse0) = let // val+HITNAM(knd, _, _) = hse0.hisexp_name in knd > 0 // end // end of [hisexp_is_boxed] (* ****** ****** *) local // fun s2cst_is_void (s2c: s2cst): bool = $S2C.s2cstref_equ_cst ($S2C.the_atsvoid_t0ype, s2c) // fun s2exp_is_void (s2e0: s2exp): bool = ( case+ s2e0.s2exp_node of (* | S2EVar(s2V) => let val s2ze = s2Var_get_szexp(s2V) in case+ s2ze of | S2ZEcst(s2c) => s2cst_is_void(s2c) | _ => false end // end of [S2EVar] *) | _(*non-S2EVar*) => $S2C.s2cstref_equ_exp ($S2C.the_atsvoid_t0ype, s2e0) // end of [non-S2EVar] ) // in (* in-of-local *) implement hisexp_is_void (hse0) = let in // case+ hse0.hisexp_node of // case+ // | HSEcst(s2c) => s2cst_is_void(s2c) // | HSEtyrecsin (lhse) => let val HSLABELED (_, _, hse) = lhse in hisexp_is_void(hse) end // end of [HSEtyrecsin] // | HSEs2exp(s2e) => s2exp_is_void(s2e) // | _ (*rest-of-hisexp*) => false // end // end of [hisexp_is_void] end // end of [local] (* ****** ****** *) implement hisexp_fun_is_void (hse_fun) = let in // case+ hse_fun.hisexp_node of // | HSEfun ( fc, _(*arg*), hse_res ) => hisexp_is_void(hse_res) | _ (*non-HSEfun*) => false // end // end of [hisexp_fun_is_void] (* ****** ****** *) implement hisexp_is_noret (hse0) = let in // case+ hse0.hisexp_node of // | HSEcst(s2c) => $S2C.s2cstref_equ_cst($S2C.the_atsvoid_t0ype, s2c) // end of [HSEcst] | HSEtyvar (s2v) => true // | HSEtyrecsin(lhse) => let val HSLABELED (_, _, hse) = lhse in hisexp_is_noret(hse) end // end of [HSEtyrecsin] // | _(*rest-of-hisexp*) => false // end // end of [hisexp_is_noret] implement hisexp_fun_is_noret (hse_fun) = let in // case+ hse_fun.hisexp_node of | HSEfun ( fc, _(*arg*), hse_res ) => hisexp_is_noret (hse_res) | _(*non-HSEfun*) => false // end // end of [hisexp_fun_is_void] (* ****** ****** *) implement hisexp_is_tyarr (hse0) = let in case+ hse0.hisexp_node of HSEtyarr _ => true | _ => false end // end of [hisexp_is_tyarr] implement hisexp_is_tyrecsin (hse0) = let in case+ hse0.hisexp_node of HSEtyrecsin _ => true | _ => false end // end of [hisexp_is_tyrecsin] (* ****** ****** *) implement labhisexp_get_elt (lhse) = let val HSLABELED (lab, opt, hse) = lhse in hse end // end of [labhisexp_get_elt] (* ****** ****** *) implement hisexp_tybox = '{ hisexp_name= HITNAM_BOXED, hisexp_node= HSEtybox () } (* end of [hisexp_tybox] *) implement hisexp_typtr = let in '{ hisexp_name= HITNAM_TYPTR, hisexp_node= HSEtybox () } end // end of [hisexp_typtr] (* ****** ****** *) local // val ATSTYCLO_TOP = $SYM.symbol_make_string ("atstyclo_top") // in (* in-of-local *) implement hisexp_clotyp = '{ hisexp_name= HITNAM_TYCLO , hisexp_node= HSEtyabs (ATSTYCLO_TOP) } (* [hisexp_clotyp] *) end (* end of [local] *) (* ****** ****** *) implement hisexp_funptr = '{ hisexp_name= HITNAM_FUNPTR, hisexp_node= HSEtybox () } implement hisexp_cloptr = '{ hisexp_name= HITNAM_CLOPTR, hisexp_node= HSEtybox () } implement hisexp_arrptr = '{ hisexp_name= HITNAM_ARRPTR, hisexp_node= HSEtybox () } (* end of [hisexp_arrptr] *) (* ****** ****** *) implement hisexp_datconptr = '{ hisexp_name= HITNAM_DATCONPTR, hisexp_node= HSEtybox () } (* end of [hisexp_datconptr] *) implement hisexp_datcontyp = '{ hisexp_name= HITNAM_DATCONTYP, hisexp_node= HSEtybox () } (* end of [hisexp_datcontyp] *) (* ****** ****** *) implement hisexp_exnconptr = '{ hisexp_name= HITNAM_EXNCONPTR, hisexp_node= HSEtybox () } (* end of [hisexp_exnconptr] *) (* ****** ****** *) // implement hisexp_undefined = let // val sym = $SYM.symbol_make_string(ATSTYPE_UNDEFINED) // in '{ hisexp_name= HITNAM_UNDEFINED, hisexp_node= HSEtyabs (sym) } end // end of [hisexp_undefined] // (* ****** ****** *) implement hisexp_int_t0ype () = let // val s2c = $S2C.s2cstref_get_cst ($S2C.the_atstype_int) // in '{ hisexp_name= HITNAM_TYABS, hisexp_node= HSEcst (s2c) } end // end of [hisexp_int_t0ype] (* ****** ****** *) implement hisexp_bool_t0ype () = let // val s2c = $S2C.s2cstref_get_cst ($S2C.the_atstype_bool) // in '{ hisexp_name= HITNAM_TYABS, hisexp_node= HSEcst (s2c) } end // end of [hisexp_bool_t0ype] (* ****** ****** *) implement hisexp_size_t0ype () = let // val s2c = $S2C.s2cstref_get_cst ($S2C.the_atstype_size) // in '{ hisexp_name= HITNAM_TYABS, hisexp_node= HSEcst (s2c) } end // end of [hisexp_size_t0ype] (* implement hisexp_size_t0ype () = let // val s2c1 = $S2C.s2cstref_get_cst ($S2C.the_atstkind_t0ype) val hse1 = hisexp_cst (s2c1) val s2c2 = $S2C.s2cstref_get_cst ($S2C.the_size_kind) val hse2 = hisexp_cst (s2c2) // in hisexp_app (hse1, list_sing(hse2)) end (* end of [hisexp_size_t0ype] *) *) (* ****** ****** *) implement hisexp_void_t0ype () = let // val s2c = $S2C.s2cstref_get_cst ($S2C.the_atsvoid_t0ype) // in '{ hisexp_name= HITNAM_TYABS, hisexp_node= HSEcst (s2c) } end // end of [hisexp_void_t0ype] (* ****** ****** *) fun hisexp_make_node ( hit: hitnam, node: hisexp_node ) : hisexp = '{ hisexp_name= hit, hisexp_node= node } (* end of [hisexp_make_node] *) (* ****** ****** *) // implement hisexp_tyabs(sym) = hisexp_make_node(HITNAM_TYABS, HSEtyabs(sym)) // (* ****** ****** *) implement hisexp_make_srt (s2t) = let // val isbox = s2rt_is_boxed_fun (s2t) // in // if isbox then hisexp_tybox else let val sym = $SYM.symbol_make_string(ATSTYPE_UNBOXED) // in hisexp_tyabs (sym) end // end of [else] // end // end of [hisexp_make_srt] implement hisexp_make_srtsym (s2t, sym) = let // val isbox = s2rt_is_boxed_fun (s2t) // in if isbox then hisexp_tybox else hisexp_tyabs (sym) // end of [if] end // end of [hisexp_make_srtsym] (* ****** ****** *) // implement hisexp_cst (s2c) = hisexp_make_node (HITNAM_TYABS, HSEcst (s2c)) // (* ****** ****** *) implement hisexp_fun ( funclo, arg, res ) = let // val node = HSEfun(funclo, arg, res) // in // case+ funclo of | FUNCLOfun() => hisexp_make_node(HITNAM_FUNPTR, node) | FUNCLOclo(knd) => if knd = 0 then hisexp_make_node(HITNAM_CLOTYP, node) else hisexp_make_node(HITNAM_CLOPTR, node) // end of [if] // end // end of [hisexp_fun] (* ****** ****** *) implement hisexp_app (_fun, _arg) = hisexp_make_node (HITNAM_TYAPP, HSEapp (_fun, _arg)) // end of [hisexp_app] (* ****** ****** *) implement hisexp_extype (name, s2ess) = let val hit = HITNAM(0(*non*), 1(*fin*), name) in hisexp_make_node (hit, HSEextype (name, s2ess)) end // end of [hisexp_extype] (* ****** ****** *) implement hisexp_refarg (knd, arg) = let // val hitnam = HITNAM (knd, 0(*fin*), "postiats_refarg") // in '{ hisexp_name= hitnam, hisexp_node= HSErefarg (knd, arg) } end // end of [hisexp_refarg] (* ****** ****** *) implement hisexp_tyarr (hse, dim) = hisexp_make_node (HITNAM_TYARR, HSEtyarr (hse, dim)) // end of [hisexp_tyarr] (* ****** ****** *) implement hisexp_tyrec (knd, lhses) = hisexp_make_node (HITNAM_TYREC, HSEtyrec (knd, lhses)) // end of [hisexp_tyrec] implement hisexp_tyrecsin (lhse) = hisexp_make_node (HITNAM_TYRECSIN, HSEtyrecsin (lhse)) // end of [hisexp_tyrecsin] implement hisexp_tyrec2 (knd, lhses) = let val isflt = tyreckind_is_flted (knd) in // if isflt then let val issin = list_is_sing (lhses) in // if issin then let val+ list_cons (lhse, _) = lhses in hisexp_tyrecsin (lhse) end else let in hisexp_tyrec (knd, lhses) end // end of [if] // end else hisexp_tyrec (knd, lhses) // end of [if] // end // end of [hisexp_tyrec2] (* ****** ****** *) implement hisexp_tysum (d2c, lhses) = hisexp_make_node (HITNAM_TYSUM, HSEtysum (d2c, lhses)) // end of [hisexp_tysum] (* ****** ****** *) implement hisexp_tyvar (s2v) = let val s2t = s2var_get_srt (s2v) val isbox = s2rt_is_boxed (s2t) val hit = ( if isbox then HITNAM_BOXED else HITNAM_TYVAR ) : hitnam // end of [val] in hisexp_make_node (hit, HSEtyvar (s2v)) end // end of [hisexp_tyvar] (* ****** ****** *) implement hisexp_tyclo (flab) = hisexp_make_node (HITNAM_TYCLO, HSEtyclo (flab)) // end of [hisexp_tyclo] (* ****** ****** *) implement hisexp_vararg (s2e) = '{ hisexp_name= HITNAM_VARARG, hisexp_node= HSEvararg (s2e) } // end of [hisexp_vararg] (* ****** ****** *) implement hisexp_s2exp (s2e) = hisexp_make_node (HITNAM_S2EXP, HSEs2exp (s2e)) // end of [hisexp_s2exp] implement hisexp_s2zexp (s2ze) = hisexp_make_node (HITNAM_S2ZEXP, HSEs2zexp (s2ze)) // end of [hisexp_s2zexp] (* ****** ****** *) local fun aux ( sub: !stasub, hse0: hisexp, flag: &int ) : hisexp = let in // case+ hse0.hisexp_node of // of [case] // | HSEcst _ => hse0 // | HSEtyabs _ => hse0 | HSEtybox _ => hse0 // | HSEapp ( hse_fun, hses_arg ) => let val f0 = flag val hse_fun = aux (sub, hse_fun, flag) val hses_arg = auxlst (sub, hses_arg, flag) in if flag > f0 then hisexp_app (hse_fun, hses_arg) else hse0 // end of [if] end // end of [HSEapp] // | HSEextype (name, hsess) => let val f0 = flag val hsess = auxlstlst (sub, hsess, flag) in if flag > f0 then hisexp_extype (name, hsess) else hse0 // end of [if] end // end of [HSEextype] // | HSEfun ( fc, hses_arg, hse_res ) => let val f0 = flag val hse_res = aux (sub, hse_res, flag) val hses_arg = auxlst (sub, hses_arg, flag) in if flag > f0 then hisexp_fun (fc, hses_arg, hse_res) else hse0 // end of [if] end // end of [HSEfun] // | HSErefarg (knd, hse) => let val f0 = flag val hse = aux (sub, hse, flag) in if flag > f0 then hisexp_refarg (knd, hse) else hse0 // end of [if] end // end of [HSErefarg] // | HSEtyarr (hse_elt, s2es) => let val f0 = flag val s2es = s2explst_subst_flag (sub, s2es, flag) val hse_elt = aux (sub, hse_elt, flag) in if flag > f0 then hisexp_tyarr (hse_elt, s2es) else hse0 // end of [if] end // end of [HSEtyarr] | HSEtyrec (knd, lhses) => let val f0 = flag val lhses = auxlablst (sub, lhses, flag) in if flag > f0 then hisexp_tyrec (knd, lhses) else hse0 end // end of [HSEtyrec] | HSEtyrecsin (lhse) => let val f0 = flag val lhse = auxlab (sub, lhse, flag) in if flag > f0 then hisexp_tyrecsin (lhse) else hse0 end // end of [HSEtyrecsin] | HSEtysum (d2c, lhses) => let val f0 = flag val lhses = auxlablst (sub, lhses, flag) in if flag > f0 then hisexp_tysum (d2c, lhses) else hse0 end // end of [HSEtysum] // | HSEtyvar (s2v) => let val ans = stasub_find (sub, s2v) in case+ ans of | ~Some_vt (s2e) => let val () = flag := flag + 1 in hisexp_s2exp (s2e) end // end of [Some_vt] | ~None_vt () => hse0 end // end of [HSEtyvar] // | HSEtyclo (flab) => hse0 // | HSEvararg (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then hisexp_vararg (s2e) else hse0 end // end of [HSEvararg] // | HSEs2exp (s2e) => let val f0 = flag val s2e = s2exp_subst_flag (sub, s2e, flag) in if flag > f0 then hisexp_s2exp (s2e) else hse0 end // end of [HSEs2exp] // | HSEs2zexp (s2ze) => let val f0 = flag val s2ze = s2zexp_subst_flag (sub, s2ze, flag) in if flag > f0 then hisexp_s2zexp (s2ze) else hse0 end // end of [HSEs2zexp] // (* | _ (*rest-of-hisexp*) => hse0 *) // end // end of [aux] and auxlab ( sub: !stasub, lhse0: labhisexp, flag: &int ) : labhisexp = let val f0 = flag val+HSLABELED (lab, opt, hse) = lhse0 val hse = aux (sub, hse, flag) in if flag > f0 then HSLABELED (lab, opt, hse) else lhse0 end // end of [auxlab] and auxlst ( sub: !stasub, hses0: hisexplst, flag: &int ) : hisexplst = let in // case+ hses0 of | list_cons (hse, hses) => let val f0 = flag val hse = aux (sub, hse, flag) val hses = auxlst (sub, hses, flag) in if flag > f0 then list_cons (hse, hses) else hses0 end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlst] and auxlablst ( sub: !stasub, lhses0: labhisexplst, flag: &int ) : labhisexplst = let in // case+ lhses0 of | list_cons (lhse, lhses) => let val f0 = flag val lhse = auxlab (sub, lhse, flag) val lhses = auxlablst (sub, lhses, flag) in if flag > f0 then list_cons (lhse, lhses) else lhses0 end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlablst] and auxlstlst ( sub: !stasub, hsess0: hisexplstlst, flag: &int ) : hisexplstlst = let in // case+ hsess0 of | list_cons (hses, hsess) => let val f0 = flag val hses = auxlst (sub, hses, flag) val hsess = auxlstlst (sub, hsess, flag) in if flag > f0 then list_cons (hses, hsess) else hsess0 end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlstlst] in // in of [local] implement hisexp_subst (sub, hse0) = let var flag: int = 0 in aux (sub, hse0, flag) end // end of [hisexp_subst] end // end of [local] (* ****** ****** *) (* end of [pats_histaexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_ccompenv.dats0000664000175000017500000016340712655455557020437 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) // staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" staload "./pats_dynexp2.sats" // (* ****** ****** *) // staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" // (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) local vtypedef exndeclst_vt = List_vt (hidecl) vtypedef saspdeclst_vt = List_vt (hidecl) val the_exndeclst = ref_make_elt (list_vt_nil ()) val the_saspdeclst = ref_make_elt (list_vt_nil ()) // end of [val] in (* in of [local] *) implement the_exndeclst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_exndeclst) // in !p := list_vt_cons (x, !p) end // end of [the_exndeclst_add] implement the_exndeclst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_exndeclst) val xs = !p val () = !p := list_vt_nil () val xs = list_vt_reverse (xs) // in list_of_list_vt (xs) end // end of [the_exndeclst_get] (* ****** ****** *) implement the_saspdeclst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_saspdeclst) // in !p := list_vt_cons (x, !p) end // end of [the_saspdeclst_add] implement the_saspdeclst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_saspdeclst) val xs = !p val () = !p := list_vt_nil () val xs = list_vt_reverse (xs) // in list_of_list_vt (xs) end // end of [the_saspdeclst_get] end // end of [local] (* ****** ****** *) local vtypedef extypelst_vt = List_vt (hidecl) val the_extypelst = ref_make_elt (list_vt_nil ()) // end of [val] in (* in of [local] *) implement the_extypelst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_extypelst) // in !p := list_vt_cons (x, !p) end // end of [the_extypelst_add] implement the_extypelst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_extypelst) val xs = !p val () = !p := list_vt_nil () val xs = list_vt_reverse (xs) // in list_of_list_vt (xs) end // end of [the_extypelst_get] end // end of [local] (* ****** ****** *) local vtypedef extcodelst_vt = List_vt (hidecl) val the_extcodelst = ref_make_elt (list_vt_nil ()) // end of [val] in (* in of [local] *) implement the_extcodelst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_extcodelst) // in !p := list_vt_cons (x, !p) end // end of [the_extcodelst_add] implement the_extcodelst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_extcodelst) // val xs = !p val () = !p := list_vt_nil () // var !p_cmp = @lam ( x1: &hidecl, x2: &hidecl ) : int = (pos1 - pos2) where { val-HIDextcode (knd1, pos1, _) = x1.hidecl_node val-HIDextcode (knd2, pos2, _) = x2.hidecl_node } (* end of [where] // end of [@lam] *) // val xs = list_vt_reverse (xs) val xs = list_vt_mergesort (xs, !p_cmp) // HX: stable-sorting // in list_of_list_vt (xs) end // end of [the_extcodelst_get] end // end of [local] (* ****** ****** *) local vtypedef staloadlst_vt = List_vt (hidecl) vtypedef dynloadlst_vt = List_vt (hidecl) val the_staloadlst = ref_make_elt (list_vt_nil ()) val the_dynloadlst = ref_make_elt (list_vt_nil ()) in (* in of [local] *) implement the_staloadlst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_staloadlst) // in !p := list_vt_cons (x, !p) end // end of [the_staloadlst_add] implement the_staloadlst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_staloadlst) val xs = !p val () = !p := list_vt_nil () val xs = list_vt_reverse (xs) // in list_of_list_vt (xs) end // end of [the_staloadlst_get] (* ****** ****** *) implement the_dynloadlst_add (x) = let // val ( vbox pf | p ) = ref_get_view_ptr (the_dynloadlst) // in !p := list_vt_cons (x, !p) end // end of [the_dynloadlst_add] implement the_dynloadlst_get () = let // val ( vbox pf | p ) = ref_get_view_ptr (the_dynloadlst) val xs = !p val () = !p := list_vt_nil () val xs = list_vt_reverse (xs) // in list_of_list_vt (xs) end // end of [the_dynloadlst_get] end // end of [local] (* ****** ****** *) local // val the_dyncstset = ref_make_elt (d2cstset_nil ()) val the_dyncstlst = ref_make_elt (list_vt_nil ()) // in (* in of [local] *) implement the_dyncstlst_add (d2c) = let val d2cs = !the_dyncstset val found = d2cstset_ismem (d2cs, d2c) in // if ~(found) then let val () = let val ( vbox pf | p ) = ref_get_view_ptr (the_dyncstlst) in !p := list_vt_cons (d2c, !p) end // end of [val] in !the_dyncstset := d2cstset_add (d2cs, d2c) end (* end of [if] *) // end // end of [the_dyncstlst_add] implement the_dyncstlst_get () = let // val d2cs = let val ( vbox pf | p ) = ref_get_view_ptr (the_dyncstlst) val d2cs = !p val () = !p := list_vt_nil () in list_vt_reverse (d2cs) end // end of [val] // in list_of_list_vt (d2cs) end // end of [the_dyncstlst_get] end // end of [local] (* ****** ****** *) local // val the_dynconset = ref_make_elt (d2conset_nil ()) val the_dynconlst = ref_make_elt (list_vt_nil ()) // in (* in of [local] *) implement the_dynconlst_add (d2c) = let val d2cs = !the_dynconset val found = d2conset_ismem (d2cs, d2c) in // if ~(found) then let val () = let val ( vbox pf | p ) = ref_get_view_ptr (the_dynconlst) in !p := list_vt_cons (d2c, !p) end // end of [val] in !the_dynconset := d2conset_add (d2cs, d2c) end (* end of [if] *) // end // end of [the_dynconlst_add] implement the_dynconlst_get () = let // val d2cs = let val ( vbox pf | p ) = ref_get_view_ptr (the_dynconlst) val d2cs = !p val () = !p := list_vt_nil () in list_vt_reverse (d2cs) end // end of [val] // in list_of_list_vt (d2cs) end // end of [the_dynconlst_get] end // end of [local] (* ****** ****** *) local vtypedef funlablst_vt = List_vt (funlab) val the_funlablst = ref_make_elt (list_vt_nil ()) // end of [the_funlablst] in (* in of [local] *) implement the_funlablst_add (fl) = let // val (vbox pf | p) = ref_get_view_ptr (the_funlablst) // in !p := list_vt_cons (fl, !p) end // end of [the_funlablst_add] implement the_funlablst_addlst (fls) = list_app_fun (fls, the_funlablst_add) // end of [the_funlablst_addlst] (* ****** ****** *) implement the_funlablst_get () = let // val fls = fls where { val ( vbox pf | p ) = ref_get_view_ptr (the_funlablst) val fls = !p; val () = !p := list_vt_nil () } (* end of [val] *) // val fls = list_vt_reverse (fls) // in list_of_list_vt (fls) end // end of [the_funlablst_get] end // end of [local] (* ****** ****** *) datavtype markenvlst_vt = | MARKENVLSTnil of () | MARKENVLSTmark of (markenvlst_vt) // | MARKENVLSTcons_var of (d2var, markenvlst_vt) // | MARKENVLSTcons_fundec of (hifundec, markenvlst_vt) | MARKENVLSTcons_fundec2 of (hifundec2, markenvlst_vt) // | MARKENVLSTcons_impdec of (hiimpdec, markenvlst_vt) | MARKENVLSTcons_impdec2 of (hiimpdec2, markenvlst_vt) // | MARKENVLSTcons_staload of (filenv, markenvlst_vt) // | MARKENVLSTcons_tmpsub of (tmpsub, markenvlst_vt) // | MARKENVLSTcons_tmpcstmat of (tmpcstmat, markenvlst_vt) | MARKENVLSTcons_tmpvarmat of (tmpvarmat, markenvlst_vt) // | MARKENVLSTcons_tempenver of (d2varlst, markenvlst_vt) // // end of [markenvlst] (* ****** ****** *) // extern fun markenvlst_vt_free (xs: markenvlst_vt): void // implement markenvlst_vt_free (xs) = let in case+ xs of | ~MARKENVLSTnil () => () | ~MARKENVLSTmark (xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_var (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_fundec (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_fundec2 (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_impdec (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_impdec2 (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_staload (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_tmpsub (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_tmpcstmat (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_tmpvarmat (_, xs) => markenvlst_vt_free (xs) | ~MARKENVLSTcons_tempenver (_, xs) => markenvlst_vt_free (xs) end // end of [markenvlst_vt_free] (* ****** ****** *) // extern fun fprint_markenvlst (out: FILEref, xs: !markenvlst_vt): void // implement fprint_markenvlst (out, xs) = let // fun loop ( out: FILEref, xs: !markenvlst_vt, i: int ) : void = let in // case+ xs of // | MARKENVLSTnil() => fold@ (xs) // | MARKENVLSTmark (!p_xs) => let val () = ( if i > 0 then fprint_string (out, ", ") ) val () = fprint_string (out, "||") val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTmark] | MARKENVLSTcons_var (!p_x, !p_xs) => let val () = ( if i > 0 then fprint_string (out, ", ") ) val () = fprint_d2var (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_var] // | MARKENVLSTcons_fundec (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val hfd = !p_x val d2v = hfd.hifundec_var val () = fprint_d2var (out, d2v) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_hifundec2 (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_fundec2] // | MARKENVLSTcons_impdec (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val imp = !p_x val d2c = imp.hiimpdec_cst val () = fprint! (out, "HIIMPDEC(", d2c, ")") // end of [val] val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_impdec] | MARKENVLSTcons_impdec2 (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_hiimpdec2 (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_impdec2] // | MARKENVLSTcons_staload (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [if] val fname = filenv_get_name (!p_x) val () = $FIL.fprint_filename_full (out, fname) // end of [val] val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_staload] // | MARKENVLSTcons_tmpsub (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_tmpsub (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_tmpsub] // | MARKENVLSTcons_tmpcstmat (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [if] val () = fprint_tmpcstmat (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_tmpcstmat] // | MARKENVLSTcons_tmpvarmat (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_tmpvarmat (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_tmpvarmat] // | MARKENVLSTcons_tempenver (!p_x, !p_xs) => let val () = if i > 0 then fprint_string (out, ", ") // end of [val] val () = fprint_d2varlst (out, !p_x) val () = loop (out, !p_xs, i+1) prval ((*void*)) = fold@ (xs) in // nothing end // end of [MARKENVLSTcons_tempenver] // end // end of [loop] // in loop (out, xs, 0) end // end of [fprint_markenvlst] (* ****** ****** *) vtypedef freeconenv = List_vt (primvalist_vt) extern fun freeconenv_free (xs: freeconenv): void implement freeconenv_free (xs) = let in // case+ xs of | ~list_vt_cons (x, xs) => let val () = list_vt_free (x) in freeconenv_free (xs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [freeconenv_free] (* ****** ****** *) datavtype looptmplab3 = LOOPTMPLAB3 of ( tmplab(*init*), tmplab(*fini*), tmplab(*cont*) ) // end of [looptmplab3] vtypedef loopexnenv = List_vt (looptmplab3) extern fun loopexnenv_free (xs: loopexnenv): void implement loopexnenv_free (xs) = let in // case+ xs of | ~list_vt_cons (x, xs) => let val+~LOOPTMPLAB3 (_, _, _) = x in loopexnenv_free (xs) end // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [loopexnenv_free] (* ****** ****** *) // datavtype tlcalitm = | TCIfun of funlab | TCIfnx of funlablst_vt // end of [tlcalitm] // vtypedef tailcalenv = List_vt (tlcalitm) // (* ****** ****** *) // extern fun tlcalitm_free (x: tlcalitm): void // implement tlcalitm_free (x) = let in // case+ x of | ~TCIfun (fl) => () | ~TCIfnx (fls) => list_vt_free (fls) // end // end of [tlcalitm_free] // (* ****** ****** *) // extern fun tailcalenv_free (xs: tailcalenv): void // implement tailcalenv_free (xs) = let in // case+ xs of | ~list_vt_cons (x, xs) => ( tlcalitm_free (x); tailcalenv_free (xs) ) // end of [list_vt_cons] | ~list_vt_nil () => () // end // end of [tailcalenv_free] // (* ****** ****** *) vtypedef flabsetenv = List_vt (funlabset_vt) extern fun flabsetenv_free (xs: flabsetenv): void implement flabsetenv_free (xs) = ( case+ xs of | ~list_vt_cons (x, xs) => ( funlabset_vt_free (x); flabsetenv_free (xs) ) | ~list_vt_nil () => () ) // end of [flabsetenv_free] (* ****** ****** *) vtypedef dvarsetenv = List_vt (d2envset_vt) (* ****** ****** *) extern fun dvarsetenv_free (xs: dvarsetenv): void implement dvarsetenv_free (xs) = ( case+ xs of | ~list_vt_cons (x, xs) => ( d2envset_vt_free (x); dvarsetenv_free (xs) ) | ~list_vt_nil () => () ) // end of [dvarsetenv_free] (* ****** ****** *) // vtypedef vbindmapenv = List_vt (vbindmap) // (* ****** ****** *) // extern fun vbindmapenv_free (xs: vbindmapenv): void // implement vbindmapenv_free (vbms) = let in // case+ vbms of | ~list_vt_cons (vbm, vbms) => vbindmapenv_free (vbms) | ~list_vt_nil () => () // end // end of [vbindmapenv_free] // (* ****** ****** *) viewtypedef ccompenv_struct = @{ ccompenv_tmplevel= int , ccompenv_tmprecdepth= int // , ccompenv_freeconenv= freeconenv , ccompenv_loopexnenv= loopexnenv // , ccompenv_tailcalenv= tailcalenv // , ccompenv_flabsetenv= flabsetenv , ccompenv_dvarsetenv= dvarsetenv , ccompenv_vbindmapenv= vbindmapenv // , ccompenv_markenvlst= markenvlst_vt , ccompenv_vbindmapall= d2varmaplst_vt (primval) // } // end of [ccompenv_struct] (* ****** ****** *) extern fun ccompenv_struct_uninitize (x: &ccompenv_struct >> ccompenv_struct?): void // end of [ccompenv_struct_uninitize] implement ccompenv_struct_uninitize (x) = let // val () = markenvlst_vt_free (x.ccompenv_markenvlst) (* end of [val] *) // val () = freeconenv_free (x.ccompenv_freeconenv) val () = loopexnenv_free (x.ccompenv_loopexnenv) // val () = tailcalenv_free (x.ccompenv_tailcalenv) // val () = flabsetenv_free (x.ccompenv_flabsetenv) val () = dvarsetenv_free (x.ccompenv_dvarsetenv) val () = vbindmapenv_free (x.ccompenv_vbindmapenv) // val () = d2varmaplst_vt_free (x.ccompenv_vbindmapall) // in // end of [ccompenv_struct_uninitize] end // end of [ccompenv_struct_uninitize] (* ****** ****** *) datavtype ccompenv_vt = CCOMPENV of ccompenv_struct (* ****** ****** *) assume ccompenv_vtype = ccompenv_vt (* ****** ****** *) implement ccompenv_make () = env where { val env = CCOMPENV (?) val CCOMPENV (!p) = env // val () = p->ccompenv_tmplevel := 0 val () = p->ccompenv_tmprecdepth := 0 // val () = p->ccompenv_freeconenv := list_vt_nil () val () = p->ccompenv_loopexnenv := list_vt_nil () // val () = p->ccompenv_tailcalenv := list_vt_nil () // val () = p->ccompenv_flabsetenv := list_vt_nil () val () = p->ccompenv_dvarsetenv := list_vt_nil () val () = p->ccompenv_vbindmapenv := list_vt_nil () // val () = p->ccompenv_markenvlst := MARKENVLSTnil () // val () = p->ccompenv_vbindmapall := d2varmaplst_vt_nil () // val () = fold@ (env) // val () = ccompenv_inc_flabsetenv (env) // toplevel flabs val () = ccompenv_inc_dvarsetenv (env) // toplevel d2vars val () = ccompenv_inc_vbindmapenv (env) // toplevel vbinds // } // end of [ccompenv_make] (* ****** ****** *) implement ccompenv_free (env) = let in // case+ env of | CCOMPENV (!p_env) => let val () = ccompenv_struct_uninitize (!p_env) in free@ (env) end // end of [CCOMPENV] // end // end of [ccompenv_free] (* ****** ****** *) implement fprint_ccompenv (out, env) = let in // case+ env of | CCOMPENV (!p_env) => let val () = fprint_string (out, "ccompenv_markenvlst: ") val () = fprint_markenvlst (out, p_env->ccompenv_markenvlst) val () = fprint_newline (out) in fold@ (env) end // end of [CCOMPENV] // end // end of [fprint_ccompenv] (* ****** ****** *) implement ccompenv_get_tmplevel (env) = let val CCOMPENV (!p) = env val tmplev = p->ccompenv_tmplevel prval () = fold@ (env) in tmplev end // end of [ccompenv_get_tmplevel] implement ccompenv_inc_tmplevel (env) = let val CCOMPENV (!p) = env val () = (p->ccompenv_tmplevel := p->ccompenv_tmplevel + 1) prval () = fold@ (env) in // nothing end // end of [ccompenv_inc_tmplevel] implement ccompenv_dec_tmplevel (env) = let val CCOMPENV (!p) = env val () = (p->ccompenv_tmplevel := p->ccompenv_tmplevel - 1) prval () = fold@ (env) in // nothing end // end of [ccompenv_dec_tmplevel] (* ****** ****** *) implement ccompenv_get_tmprecdepth (env) = let val CCOMPENV (!p) = env val depth = p->ccompenv_tmprecdepth prval () = fold@ (env) in depth end // end of [ccompenv_get_tmprecdepth] implement ccompenv_inc_tmprecdepth (env) = let val CCOMPENV (!p) = env val () = (p->ccompenv_tmprecdepth := p->ccompenv_tmprecdepth + 1) prval () = fold@ (env) in // nothing end // end of [ccompenv_inc_tmprecdepth] implement ccompenv_dec_tmprecdepth (env) = let val CCOMPENV (!p) = env val depth = p->ccompenv_tmprecdepth val ((*void*)) = p->ccompenv_tmprecdepth := depth - 1 prval () = fold@ (env) in // nothing end // end of [ccompenv_dec_tmprecdepth] (* ****** ****** *) implement ccompenv_inc_freeconenv (env) = let val CCOMPENV (!p) = env val pmvs = list_vt_nil{primval}() val pmvss = p->ccompenv_freeconenv val ((*void*)) = p->ccompenv_freeconenv := list_vt_cons (pmvs, pmvss) prval () = fold@ (env) in // nothing end // end of [ccompenv_inc_freeconenv] implement ccompenv_getdec_freeconenv (env) = pmvs where { val CCOMPENV (!p) = env val-~list_vt_cons (pmvs, pmvss) = p->ccompenv_freeconenv val ((*void*)) = p->ccompenv_freeconenv := pmvss prval () = fold@ (env) } // end of [ccompenv_getdec_freeconenv] (* ****** ****** *) implement ccompenv_add_freeconenv (env, pmv) = let // val CCOMPENV (!p) = env val-list_vt_cons (!p_pmvs, _) = p->ccompenv_freeconenv val () = !p_pmvs := list_vt_cons (pmv, !p_pmvs) prval () = fold@ (p->ccompenv_freeconenv) prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_freeconenv] implement ccompenv_add_freeconenv_if (env, pmv, pck, d2c) = let in // case+ pck of | PCKfree () => let val isnul = d2con_is_nullary (d2c) in if not(isnul) then ccompenv_add_freeconenv (env, pmv) end (* end of [PCKfree] *) | _ => ((*nothing*)) // end // end of [ccompenv_add_freeconenv_if] (* ****** ****** *) implement ccompenv_inc_loopexnenv (env, tl1, tl2, tl3) = let val tlll = LOOPTMPLAB3 (tl1, tl2, tl3) val CCOMPENV (!p) = env val () = (p->ccompenv_loopexnenv := list_vt_cons (tlll, p->ccompenv_loopexnenv)) prval () = fold@ (env) in // nothing end // end of [ccompenv_inc_loopexnenv] implement ccompenv_dec_loopexnenv (env) = let val CCOMPENV (!p) = env val-~list_vt_cons (x, xs) = p->ccompenv_loopexnenv val+~LOOPTMPLAB3 (_, _, _) = x val () = (p->ccompenv_loopexnenv := xs) prval () = fold@ (env) in // nothing end // end of [ccompenv_dec_loopexnenv] implement ccompenv_get_loopfini (env) = let val CCOMPENV (!p) = env val-list_vt_cons (!px, _) = p->ccompenv_loopexnenv val+LOOPTMPLAB3 (_, tl_fini, _) = !px prval () = fold@ (!px) prval () = fold@ (p->ccompenv_loopexnenv) prval () = fold@ (env) in tl_fini end // end of [ccompenv_get_loopfini] implement ccompenv_get_loopcont (env) = let val CCOMPENV (!p) = env val-list_vt_cons (!px, _) = p->ccompenv_loopexnenv val+LOOPTMPLAB3 (_, _, tl_cont) = !px prval () = fold@ (!px) prval () = fold@ (p->ccompenv_loopexnenv) prval () = fold@ (env) in tl_cont end // end of [ccompenv_get_loopcont] (* ****** ****** *) implement ccompenv_inc_tailcalenv (env, fl) = () where { (* val ( ) = println! ("ccompenv_inc_tailcalenv: fl = ", fl) *) val CCOMPENV (!p) = env val tci = TCIfun (fl) val tcis = p->ccompenv_tailcalenv val ((*void*)) = p->ccompenv_tailcalenv := list_vt_cons (tci, tcis) prval () = fold@ (env) // } // end of [ccompenv_inc_tailcalenv] implement ccompenv_inc_tailcalenv_fnx (env, fls) = () where { // val CCOMPENV (!p) = env val tci = TCIfnx (fls) val tcis = p->ccompenv_tailcalenv val ((*void*)) = p->ccompenv_tailcalenv := list_vt_cons (tci, tcis) prval () = fold@ (env) // } // end of [ccompenv_inc_tailcalenv_fnx] implement ccompenv_dec_tailcalenv (env) = () where { // val CCOMPENV (!p) = env val-~list_vt_cons (tci, tcis) = p->ccompenv_tailcalenv val () = tlcalitm_free (tci) val () = p->ccompenv_tailcalenv := tcis prval () = fold@ (env) // } // end of [ccompenv_dec_tailcalenv] (* ****** ****** *) local (* ****** ****** *) fun auxfind ( s0: stamp, tci: !tlcalitm ) : int = let in // case+ tci of | TCIfun (fl) => let val s = funlab_get_stamp (fl) val iseq = $STMP.eq_stamp_stamp (s0, s) prval () = fold@ (tci) in if iseq then 0 else ~1 end // end of [TCIfun] | TCIfnx (!p_fls) => let val res = auxfind_lst (s0, $UN.linlst2lst(!p_fls), 1) prval () = fold@ (tci) in res end // end of [TCIfnx] // end // end of [auxfind] and auxfind_lst ( s0: stamp, fls: List(funlab), i: int ) : int = let in // case+ fls of | list_cons (fl, fls) => let val s = funlab_get_stamp (fl) val iseq = $STMP.eq_stamp_stamp (s0, s) in if iseq then i else auxfind_lst (s0, fls, i+1) end // end of [list_cons] | list_nil ((*void*)) => ~1 // end // end of [auxfind_lst] (* ****** ****** *) fun auxfind2 ( d2c0: d2cst, tci: !tlcalitm ) : funlabopt_vt = let // (* val () = println! ("auxfind2: d2c0 = ", d2c0) *) // in // case+ tci of | TCIfun (fl) => let val opt = funlab_get_d2copt (fl) // end of [val] prval ((*void*)) = fold@ (tci) in case+ opt of | Some (d2c) => let val iseq = eq_d2cst_d2cst (d2c0, d2c) in if iseq then Some_vt(fl) else None_vt() end // end of [Some] | None ((*void*)) => None_vt((*void*)) end // end of [TCIfun] // | TCIfnx _ => (fold@(tci); None_vt ()) // TCIfnx // end // end of [auxfind2] (* ****** ****** *) fun auxfind3 ( d2v0: d2var, tci: !tlcalitm, ntl: &int ) : funlabopt_vt = let (* val () = println! ("auxfind3: d2v0 = ", d2v0) *) // in // case+ tci of | TCIfun(fl) => let val opt = funlab_get_d2vopt (fl) // end of [val] prval ((*void*)) = fold@ (tci) in case+ opt of | Some (d2v) => let val iseq = eq_d2var_d2var (d2v0, d2v) in if iseq then Some_vt(fl) else None_vt() end // end of [Some] | None ((*void*)) => None_vt() end // end of [TCIfun] // | TCIfnx(!p_fls) => let val () = ntl := 1 val res = auxfind3_lst (d2v0, $UN.linlst2lst(!p_fls), ntl) // end of [val] prval () = fold@ (tci) in res end // end of [TCIfnx] // end // end of [auxfind3] and auxfind3_lst ( d2v0: d2var, fls: List(funlab), ntl: &int ) : funlabopt_vt = let in // case+ fls of // | list_cons (fl, fls) => let val opt = funlab_get_d2vopt (fl) // end of [val] in case+ opt of | Some(d2v) => let val iseq = eq_d2var_d2var (d2v0, d2v) // end of [val] in if iseq then Some_vt(fl) else let val () = ntl := ntl + 1 in auxfind3_lst(d2v0, fls, ntl) end // end of [else] // end of [if] end // end of [Some] | None((*void*)) => None_vt() end // end of [list_cons] // | list_nil((*void*)) => None_vt() // end // end of [auxfind3_lst] in (* in of [local] *) implement ccompenv_find_tailcalenv (env, fl0) = let // val s0 = funlab_get_stamp (fl0) // val CCOMPENV (!p) = env val-list_vt_cons (!p_tci, _) = p->ccompenv_tailcalenv val ans = auxfind (s0, !p_tci) prval () = fold@ (p->ccompenv_tailcalenv) prval () = fold@ (env) // in ans end // end of [ccompenv_find_tailcalenv] implement ccompenv_find_tailcalenv_cst (env, d2c0) = let // val CCOMPENV (!p) = env // val-list_vt_cons (!p_tci, _) = p->ccompenv_tailcalenv // val ans = auxfind2 (d2c0, !p_tci) // prval () = fold@ (p->ccompenv_tailcalenv) prval () = fold@ (env) // in ans end // end of [ccompenv_find_tailcalenv_cst] implement ccompenv_find_tailcalenv_var (env, d2v0, ntl) = let // val CCOMPENV (!p) = env // val-list_vt_cons (!p_tci, _) = p->ccompenv_tailcalenv // val ans = auxfind3 (d2v0, !p_tci, ntl) // prval () = fold@ (p->ccompenv_tailcalenv) prval () = fold@ (env) // in ans end // end of [ccompenv_find_tailcalenv_var] end // end of [local] (* ****** ****** *) (* // implement ccompenv_find_tailcalenv_tmpcst (env, d2c0, t2mas) = ccompenv_find_tailcalenv_cst (env, d2c0) // implement ccompenv_find_tailcalenv_tmpvar (env, d2v0, t2mas, ntl) = ccompenv_find_tailcalenv_var (env, d2v0, ntl) // *) (* ****** ****** *) implement ccompenv_find_tailcalenv_tmpcst (env, d2c0, t2mas) = let // val opt = ccompenv_find_tailcalenv_cst (env, d2c0) // in // case+ opt of // | ~Some_vt(fl0) => let val ans = funlab_tmparg_match (fl0, t2mas) // end of [val] (* val () = println! ("ccompenv_find_tailcalenv_tmpcst: fl0 = ", fl0) val () = println! ("ccompenv_find_tailcalenv_tmpcst: ans = ", ans) *) in if ans then Some_vt (fl0) else None_vt () end // end [Some_vt] // | ~None_vt((*void*)) => None_vt() // end // end of [ccompenv_find_tailcalenv_tmpcst] (* ****** ****** *) implement ccompenv_find_tailcalenv_tmpvar (env, d2v0, t2mas, ntl) = let // val opt = ccompenv_find_tailcalenv_var (env, d2v0, ntl) // in // case+ opt of // | ~Some_vt (fl0) => let val ans = funlab_tmparg_match (fl0, t2mas) // end of [val] (* val () = println! ("ccompenv_find_tailcalenv_tmpcst: fl0 = ", fl0) val () = println! ("ccompenv_find_tailcalenv_tmpcst: ans = ", ans) *) in if ans then Some_vt (fl0) else None_vt () end // end [Some_vt] // | ~None_vt((*void*)) => None_vt() // end // end of [ccompenv_find_tailcalenv_tmpvar] (* ****** ****** *) (* implement ccompenv_get_funlevel (env) = n where { // val CCOMPENV (!p) = env val n = list_vt_length (p->ccompenv_flabsetenv) prval () = fold@ (env) // } // end of [ccompenv_get_funlevel] *) (* ****** ****** *) implement ccompenv_inc_dvarsetenv (env) = let // val CCOMPENV (!p) = env val d2es = d2envset_vt_nil () val d2ess = p->ccompenv_dvarsetenv val () = (p->ccompenv_dvarsetenv := list_vt_cons (d2es, d2ess)) prval () = fold@ (env) // in // nothing end // end of [ccompenv_inc_dvarsetenv] implement ccompenv_incwth_dvarsetenv (env, d2es) = let // val d2es = d2envlst2set (d2es) // val CCOMPENV (!p) = env val d2ess = p->ccompenv_dvarsetenv val () = ( p->ccompenv_dvarsetenv := list_vt_cons (d2es, d2ess) ) (* end of [val] *) prval () = fold@ (env) // in // nothing end // end of [ccompenv_incwth_dvarsetenv] (* ****** ****** *) implement ccompenv_getdec_dvarsetenv (env) = (d2vs) where { // val CCOMPENV (!p) = env val-~list_vt_cons (d2vs, d2vss) = p->ccompenv_dvarsetenv val () = p->ccompenv_dvarsetenv := d2vss prval () = fold@ (env) // } (* end of [ccompenv_getdec_dvarsetenv] *) (* ****** ****** *) implement ccompenv_add_dvarsetenv_var (env, d2v) = ((*void*)) where { // val lvl = d2var_get_level (d2v) // val () = if (lvl > 0) then { val CCOMPENV (!p) = env // val d2e = d2var2env (d2v) // val-list_vt_cons (!p_d2es, _) = p->ccompenv_dvarsetenv val () = !p_d2es := d2envset_vt_add (!p_d2es, d2e) prval () = fold@ (p->ccompenv_dvarsetenv) // prval () = fold@ (env) } (* end of [if] *) // } // end of [ccompenv_add_dvarsetenv] implement ccompenv_add_dvarsetenv_env (env, d2e) = ((*void*)) where { // val d2v = d2env_get_var (d2e) val lvl = d2var_get_level (d2v) // val () = if (lvl > 0) then { val CCOMPENV (!p) = env // val-list_vt_cons (!p_d2es, _) = p->ccompenv_dvarsetenv val () = !p_d2es := d2envset_vt_add (!p_d2es, d2e) prval () = fold@ (p->ccompenv_dvarsetenv) // prval () = fold@ (env) } (* end of [if] *) // } // end of [ccompenv_add_dvarsetenv] (* ****** ****** *) implement ccompenv_inc_flabsetenv (env) = let (* val () = println! ("ccompenv_inc_flabsetenv") *) val CCOMPENV (!p) = env val flset = funlabset_vt_nil () val () = ( p->ccompenv_flabsetenv := list_vt_cons (flset, p->ccompenv_flabsetenv) ) (* end of [val] *) prval () = fold@ (env) // in // nothing end // end of [ccompenv_inc_flabsetenv] implement ccompenv_getdec_flabsetenv (env) = (fls) where { // val CCOMPENV (!p) = env val-~list_vt_cons (fls, flss) = p->ccompenv_flabsetenv val () = p->ccompenv_flabsetenv := flss prval () = fold@ (env) (* val () = fprintln! (stdout_ref, "ccompenv_getdec_flabsetenv: fls = ", fls) *) } // end of [ccompenv_getdec_flabsetenv] (* ****** ****** *) implement ccompenv_add_flabsetenv (env, fl) = ((*void*)) where { (* val () = println! ("ccompenv_add_flabsetenv: fl = ", fl) *) // val CCOMPENV (!p) = env // val-list_vt_cons (!p_fls, _) = p->ccompenv_flabsetenv val () = !p_fls := funlabset_vt_add (!p_fls, fl) prval () = fold@ (p->ccompenv_flabsetenv) prval () = fold@ (env) // } // end of [ccompenv_add_flabsetenv] (* ****** ****** *) implement ccompenv_addlst_dvarsetenv_if (env, flvl0, d2es) = let // fun addlst_if ( env: !ccompenv , flvl0: int, d2es: d2envlst ) : void = let in // case+ d2es of | list_cons (d2e, d2es) => let val d2v = d2env_get_var (d2e) val lvl = d2var_get_level (d2v) val () = ( // HX: no need for handling siblings (=lvl0) if lvl <= flvl0 then ccompenv_add_dvarsetenv_env (env, d2e) ) : void // end of [val] in addlst_if (env, flvl0, d2es) end (* end of [list_cons] *) | list_nil ((*void*)) => () // end // end of [addlst_if] // in // addlst_if (env, flvl0, d2es) // end // end of [ccompenv_addlst_dvarsetenv_if] (* ****** ****** *) implement ccompenv_addlst_flabsetenv_ifmap (env, flvl0, vbmap, fls0) = let // fun auxenv ( env: !ccompenv , vbmap: vbindmap, d2es: d2envlst ) : void = let in // case+ d2es of | list_cons (d2e, d2es) => let val d2v = d2env_get_var (d2e) val opt = d2varmap_search (vbmap, d2v) val () = ( case+ opt of | ~Some_vt _ => () | ~None_vt _ => ccompenv_add_dvarsetenv_env (env, d2e) ) : void // end of [val] in auxenv (env, vbmap, d2es) end (* end of [list_cons] *) | list_nil () => () // end (* end of [auxenv] *) // fun addlst_if ( env: !ccompenv , flvl0: int, vbmap: vbindmap, fls: funlablst_vt ) : funlablst_vt = let in // case+ fls of | ~list_vt_cons (fl, fls) => let val flvl = funlab_get_level (fl) in if flvl > flvl0 then let val-Some(fent) = funlab_get_funent (fl) val () = auxenv (env, vbmap, funent_get_d2envlst (fent)) in addlst_if (env, flvl0, vbmap, fls) end else let val () = ccompenv_add_flabsetenv (env, fl) val fls = addlst_if (env, flvl0, vbmap, fls) in list_vt_cons (fl, fls) end (* end of [if] *) end // end of [list_cons] | ~list_vt_nil () => list_vt_nil () // end // end of [addlst_if] // in // addlst_if (env, flvl0, vbmap, fls0) // end // end of [ccompenv_addlst_flabsetenv_ifmap] (* ****** ****** *) implement ccompenv_inc_vbindmapenv (env) = let // val CCOMPENV (!p) = env val vbm = d2varmap_nil () val vbms = p->ccompenv_vbindmapenv val () = (p->ccompenv_vbindmapenv := list_vt_cons (vbm, vbms)) prval () = fold@ (env) // in // nothing end // end of [ccompenv_inc_vbindmapenv] implement ccompenv_getdec_vbindmapenv (env) = vbm where { // val CCOMPENV (!p) = env // val-~list_vt_cons (vbm, vbms) = p->ccompenv_vbindmapenv val () = p->ccompenv_vbindmapenv := vbms // prval () = fold@ (env) // } // end of [ccompenv_getdec_vbindmapenv] (* ****** ****** *) implement ccompenv_add_vbindmapenv (env, d2v, pmv) = let // val CCOMPENV (!p) = env // val-list_vt_cons (!p_vbm, _) = p->ccompenv_vbindmapenv val _(*replaced*) = d2varmap_insert (!p_vbm, d2v, pmv) prval () = fold@ (p->ccompenv_vbindmapenv) // prval () = fold@ (env) // in // nothing end (* end of [ccompenv_add_vbindmapenv] *) implement ccompenv_find_vbindmapenv (env, d2v) = opt where { // val CCOMPENV (!p) = env // val-list_vt_cons (!p_vbm, _) = p->ccompenv_vbindmapenv val opt = d2varmap_search (!p_vbm, d2v) prval () = fold@ (p->ccompenv_vbindmapenv) // prval () = fold@ (env) // } (* end of [ccompenv_find_vbindmapenv] *) (* ****** ****** *) local (* ****** ****** *) // assume ccompenv_push_v = unit_v // (* ****** ****** *) fun auxpop ( map: &d2varmaplst_vt (primval), xs: markenvlst_vt ) : markenvlst_vt = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in xs end // | ~MARKENVLSTmark (xs) => xs | ~MARKENVLSTcons_var (d2v, xs) => let val _(*removed*) = d2varmaplst_vt_remove (map, d2v) in auxpop (map, xs) end // end of [MENVLSTcons_var] | ~MARKENVLSTcons_fundec (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_fundec2 (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_impdec (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_impdec2 (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_staload (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_tmpsub (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_tmpcstmat (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_tmpvarmat (_, xs) => auxpop (map, xs) | ~MARKENVLSTcons_tempenver (_, xs) => auxpop (map, xs) // end // end of [auxpop] (* ****** ****** *) (* fun auxjoin ( map: &d2varmaplst_vt (primval), xs: &markenvlst_vt ) : void = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTnil] // | MARKENVLSTcons_var (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_var] // | MARKENVLSTcons_fundec (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_fundec2] // | MARKENVLSTcons_impdec (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_impdec] | MARKENVLSTcons_impdec2 (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_impdec2] // | MARKENVLSTcons_staload (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_staload] // | MARKENVLSTcons_tmpsub (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpsub] // | MARKENVLSTcons_tmpcstmat (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpcstmat] // | MARKENVLSTcons_tmpvarmat (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpvarmat] // | MARKENVLSTcons_tempenver (_, !p_xs) => let val () = auxjoin (map, !p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tempenver] // | ~MARKENVLSTmark (xs1) => (xs := auxpop (map, xs1)) // end // end of [auxjoin] *) (* ****** ****** *) fun auxpop2 (xs: &markenvlst_vt): void = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in (*nothing*) end // | MARKENVLSTcons_var (_, !p_xs) => let val () = auxpop2 (!p_xs); prval () = fold@(xs) in (*nothing*) end // end of [MENVLSTcons_var] | MARKENVLSTcons_fundec (_, !p_xs) => let val () = auxpop2 (!p_xs); prval () = fold@(xs) in (*nothing*) end // end of [MENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (_, !p_xs) => let val () = auxpop2 (!p_xs); prval () = fold@(xs) in (*nothing*) end // end of [MENVLSTcons_fundec2] // | ~MARKENVLSTmark (xs1) => xs := xs1 // | ~MARKENVLSTcons_impdec (_, xs1) => (xs := xs1; auxpop2(xs)) | ~MARKENVLSTcons_impdec2 (_, xs1) => (xs := xs1; auxpop2(xs)) // | ~MARKENVLSTcons_staload (_, xs1) => (xs := xs1; auxpop2(xs)) // | ~MARKENVLSTcons_tmpsub (_, xs1) => (xs := xs1; auxpop2(xs)) | ~MARKENVLSTcons_tmpcstmat (_, xs1) => (xs := xs1; auxpop2(xs)) | ~MARKENVLSTcons_tmpvarmat (_, xs1) => (xs := xs1; auxpop2(xs)) // | ~MARKENVLSTcons_tempenver (_, xs1) => (xs := xs1; auxpop2(xs)) // end // end of [auxpop2] fun auxjoin2 (xs: &markenvlst_vt) : void = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTnil] // | MARKENVLSTcons_var (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_var] // | MARKENVLSTcons_fundec (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_fundec2] // | MARKENVLSTcons_impdec (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_impdec] | MARKENVLSTcons_impdec2 (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_impdec2] // | MARKENVLSTcons_staload (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_staload] // | MARKENVLSTcons_tmpsub (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpsub] // | MARKENVLSTcons_tmpcstmat (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpcstmat] // | MARKENVLSTcons_tmpvarmat (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tmpvarmat] // | MARKENVLSTcons_tempenver (_, !p_xs) => let val () = auxjoin2 (!p_xs); prval () = fold@ (xs) in (*nothing*) end // end of [MENVLSTcons_tempenver] // | ~MARKENVLSTmark (xs1) => (xs := xs1; auxpop2 (xs)) // end // end of [auxjoin2] in (* in of [local] *) implement ccompenv_push (env) = let // val CCOMPENV (!p) = env // val xs = p->ccompenv_markenvlst // val xs = MARKENVLSTmark (xs) // val () = p->ccompenv_markenvlst := xs // prval () = fold@ (env) // in (unit_v | ()) end // end of [ccompenv_push] implement ccompenv_pop (pfpush | env) = let // prval unit_v () = pfpush // val CCOMPENV (!p) = env // val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := auxpop (p->ccompenv_vbindmapall, xs) // prval((*folded*)) = fold@ (env) // in // nothing end // end of [ccompenv_pop] (* implement ccompenv_localjoin ( pfpush, pfpush2 | env ) = let // prval unit_v () = pfpush prval unit_v () = pfpush2 // val CCOMPENV (!p) = env // val map = p->ccompenv_vbindmapall val ((*void*)) = auxjoin (map, p->ccompenv_markenvlst) // prval ((*folded*)) = fold@ (env) // in // nothing end // end of [ccompenv_localjoin] *) implement ccompenv_localjoin (pfpush, pfpush2 | env) = let // prval unit_v () = pfpush prval unit_v () = pfpush2 // val CCOMPENV (!p) = env // val () = auxjoin2 (p->ccompenv_markenvlst) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_localjoin] end // end of [local] (* ****** ****** *) implement ccompenv_add_vbindmapall (env, d2v, pmv) = let // (* val () = ( println! ("ccompenv_add_vbindmapall: d2v = ", d2v); println! ("ccompenv_add_vbindmapall: pmv = ", pmv); ) : void // end of [val] *) // val CCOMPENV (!p) = env // val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_var (d2v, xs) val _(*replaced*) = d2varmaplst_vt_insert (p->ccompenv_vbindmapall, d2v, pmv) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_vbindmapall] implement ccompenv_find_vbindmapall (env, d2v) = opt where { // val CCOMPENV (!p) = env val opt = d2varmaplst_vt_search (p->ccompenv_vbindmapall, d2v) prval () = fold@ (env) // } // end of [ccompenv_add_vbindmapall] (* ****** ****** *) implement ccompenv_add_vbindmapenvall (env, d2v, pmv) = () where { // val () = ccompenv_add_vbindmapenv (env, d2v, pmv) val () = ccompenv_add_vbindmapall (env, d2v, pmv) // } (* end of [ccompenv_add_vbindmapenvall] *) (* ****** ****** *) implement ccompenv_add_fundec (env, hfd) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_fundec (hfd, xs) prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_fundec] implement ccompenv_add_fundec2 (env, hfd2) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_fundec2 (hfd2, xs) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_fundec2] (* ****** ****** *) implement ccompenv_add_impdec (env, imp) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_impdec (imp, xs) prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_impdec] implement ccompenv_add_impdec2 (env, imp2) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_impdec2 (imp2, xs) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_impdec2] (* ****** ****** *) implement ccompenv_add_staload (env, fenv) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_staload (fenv, xs) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_staload] (* ****** ****** *) implement ccompenv_add_tmpsub (env, tsub) = let // val CCOMPENV(!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_tmpsub (tsub, xs) prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_tmpsub] (* ****** ****** *) // extern fun ccompenv_find_tmpsub ( env: !ccompenv ) : tmpsubopt_vt // endfun // implement ccompenv_find_tmpsub (env) = let // fun loop ( xs: !markenvlst_vt ) : tmpsubopt_vt = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in None_vt() end // end of [MARKENVLSTnil] // | MARKENVLSTcons_tmpsub (tsub, !p_xs) => let prval () = fold@ (xs) in Some_vt (tsub) end // end of [MARKENVLSTcons_tmpsub] // | MARKENVLSTmark (!p_xs) => let val res = loop (!p_xs); prval () = fold@ (xs) in res end // end of [MARKENVLSTcons_mark] // | MARKENVLSTcons_var (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_var] // | MARKENVLSTcons_fundec (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_fundec2] // | MARKENVLSTcons_impdec (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_impdec] | MARKENVLSTcons_impdec2 (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_impdec2] // | MARKENVLSTcons_staload (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_staload] // | MARKENVLSTcons_tmpcstmat (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_tmpcstmat] // | MARKENVLSTcons_tmpvarmat (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_tmpvarmat] // | MARKENVLSTcons_tempenver (_, !p_xs) => res where { val res = loop (!p_xs); prval () = fold@ (xs) } // end of [MARKENVLSTcons_tempenver] // end // end of [loop] // val CCOMPENV (!p) = env val res = loop (p->ccompenv_markenvlst) prval ((*void*)) = fold@ (env) // in res end // end of [ccompenv_find_tmpsub] // (* ****** ****** *) implement ccompenv_add_impdecloc (env, sub, imp) = let // val opt = ccompenv_find_tmpsub (env) // in // case+ opt of | ~Some_vt(tsub) => let val tmparg = s2explstlst_subst (sub, imp.hiimpdec_tmparg) // end of [val] in ccompenv_add_impdec2 (env, HIIMPDEC2(imp, tsub, tmparg)) end // end of [Some_vt] | ~None_vt((*void*)) => () // HX: this should never be reached! // end // end of [ccompenv_add_impdecloc] (* ****** ****** *) local fun auxlst ( env: !ccompenv, tsub: tmpsub, hfds: hifundeclst ) : void = let in // case+ hfds of | list_nil ((*void*)) => () | list_cons (hfd, hfds) => let val () = ccompenv_add_fundec2 (env, HIFUNDEC2 (hfd, tsub)) // end of [val] in auxlst (env, tsub, hfds) end // end of [list_cons] // end // end of [auxlst] in (* in of [local] *) implement ccompenv_add_fundecsloc (env, sub, knd, decarg, hfds) = let in // case+ decarg of | list_nil _ => () | list_cons _ => let val opt = ccompenv_find_tmpsub (env) in case+ opt of | ~Some_vt(tsub) => auxlst (env, tsub, hfds) | ~None_vt((*void*)) => () // HX: this should never be reached! end // end of [list_cons] // end // end of [ccompenv_add_fundecsloc] end // end of [local] (* ****** ****** *) implement ccompenv_add_tmpcstmat (env, tmpmat) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_tmpcstmat (tmpmat, xs) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_tmpcstmat] implement ccompenv_add_tmpvarmat (env, tmpmat) = let // val CCOMPENV (!p) = env val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_tmpvarmat (tmpmat, xs) // prval () = fold@ (env) // in // nothing end // end of [ccompenv_add_tmpvarmat] (* ****** ****** *) local fun auxlst ( xs: !markenvlst_vt , d2c0: d2cst , t2mas: t2mpmarglst ) : tmpcstmat = let in // case+ xs of // | MARKENVLSTnil () => let prval () = fold@ (xs) in TMPCSTMATnone () end // end of [MARKENVLSTnil] // | MARKENVLSTmark (!p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTmark] *) // | MARKENVLSTcons_var (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_var] *) // | MARKENVLSTcons_fundec (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_fundec] *) | MARKENVLSTcons_fundec2 (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_fundec2] *) // | MARKENVLSTcons_impdec (imp, !p_xs) => res where { val res = hiimpdec_tmpcst_match (imp, d2c0, t2mas, 0(*local*)) // end of [val] val res = auxcont (res, !p_xs, d2c0, t2mas) prval () = fold@ (xs) } (* end of [MARKENVLSTcons_impdec] *) | MARKENVLSTcons_impdec2 (imp2, !p_xs) => res where { val res = hiimpdec2_tmpcst_match (imp2, d2c0, t2mas, 0(*local*)) // end of [val] val res = auxcont (res, !p_xs, d2c0, t2mas) prval () = fold@ (xs) } (* end of [MARKENVLSTcons_impdec2] *) // | MARKENVLSTcons_staload (fenv, !p_xs) => let val opt = filenv_get_tmpcstimpmapopt (fenv) in case+ opt of | Some (map) => let val implst = tmpcstimpmap_find (map, d2c0) val tmpmat = hiimpdeclst_tmpcst_match (implst, d2c0, t2mas, 1(*staload*)) val tmpmat = auxcont (tmpmat, !p_xs, d2c0, t2mas) in fold@ (xs); tmpmat end // end of [Some] // // HX-2013-10-08: pervasive SATS // | None ((*void*)) => let val tmpmat = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); tmpmat end // end of [None] end (* end of [MARKENVLSTcons_staload] *) // | MARKENVLSTcons_tmpsub (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tmpsub] *) // | MARKENVLSTcons_tmpcstmat (tmpmat, !p_xs) => let val res = tmpcstmat_tmpcst_match(tmpmat, d2c0, t2mas) val res2 = auxcont (res, !p_xs, d2c0, t2mas) in fold@ (xs); res2 end // end of [MARKENVLSTcons_tmpcstmat] // | MARKENVLSTcons_tmpvarmat (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tmpvarmat] *) // | MARKENVLSTcons_tempenver (_, !p_xs) => let val res = auxlst (!p_xs, d2c0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tempenver] *) // end (* end of [auxlst] *) and auxcont ( opt: tmpcstmat , xs: !markenvlst_vt , d2c0: d2cst , t2mas: t2mpmarglst ) : tmpcstmat = let in // case+ opt of | TMPCSTMATsome _ => opt | TMPCSTMATsome2 _ => opt | TMPCSTMATnone _ => auxlst (xs, d2c0, t2mas) // end // end of [auxcont] in (* in of [local] *) implement ccompenv_tmpcst_match (env, d2c0, t2mas) = let // val CCOMPENV (!p) = env // val opt = auxlst (p->ccompenv_markenvlst, d2c0, t2mas) prval () = fold@ (env) // in opt end // end of [ccompenv_tmpcst_match] end // end of [local] (* ****** ****** *) local fun auxlst ( xs: !markenvlst_vt , d2v0: d2var , t2mas: t2mpmarglst ) : tmpvarmat = let in // case+ xs of | MARKENVLSTnil () => let prval () = fold@ (xs) in TMPVARMATnone () end // end of [MARKENVLSTnil] // | MARKENVLSTmark (!p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end // end of [MARKENVLSTmark] // | MARKENVLSTcons_var (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_var] *) // | MARKENVLSTcons_fundec (hfd, !p_xs) => res where { val res = hifundec_tmpvar_match (hfd, d2v0, t2mas) val res = auxcont (res, !p_xs, d2v0, t2mas) prval () = fold@ (xs) } (* end of [MARKENVLSTcons_fundec] *) | MARKENVLSTcons_fundec2 (hfd2, !p_xs) => res where { val res = hifundec2_tmpvar_match (hfd2, d2v0, t2mas) val res = auxcont (res, !p_xs, d2v0, t2mas) prval () = fold@ (xs) } (* end of [MARKENVLSTcons_fundec2] *) // | MARKENVLSTcons_impdec (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_impdec] *) | MARKENVLSTcons_impdec2 (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_impdec2] *) // | MARKENVLSTcons_staload (fenv, !p_xs) => tmpmat where { val-Some (map) = filenv_get_tmpvardecmapopt (fenv) val hfdopt = tmpvardecmap_find (map, d2v0) val tmpmat = hifundecopt2tmpvarmat (hfdopt, t2mas) val tmpmat = auxcont (tmpmat, !p_xs, d2v0, t2mas) prval () = fold@ (xs) } (* end of [MARKENVLSTcons_staload] *) // | MARKENVLSTcons_tmpsub (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tmpsub] *) // | MARKENVLSTcons_tmpcstmat (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tmpcstmat] *) // | MARKENVLSTcons_tmpvarmat (tmpmat, !p_xs) => let val res = tmpvarmat_tmpvar_match(tmpmat, d2v0, t2mas) val res2 = auxcont (res, !p_xs, d2v0, t2mas) in fold@ (xs); res2 end (* end of [MARKENVLSTcons_tmpvarmat] *) // | MARKENVLSTcons_tempenver (_, !p_xs) => let val res = auxlst (!p_xs, d2v0, t2mas) in fold@ (xs); res end (* end of [MARKENVLSTcons_tempenver] *) // end // end of [auxlst] and auxcont ( opt: tmpvarmat , xs: !markenvlst_vt , d2v0: d2var , t2mas: t2mpmarglst ) : tmpvarmat = let in // case+ opt of | TMPVARMATsome _ => opt | TMPVARMATsome2 _ => opt | TMPVARMATnone _ => auxlst (xs, d2v0, t2mas) // end // end of [auxcont] in (* in of [local] *) implement ccompenv_tmpvar_match (env, d2v0, t2mas) = let // val CCOMPENV (!p) = env val opt = auxlst (p->ccompenv_markenvlst, d2v0, t2mas) prval () = fold@ (env) // in opt end // end of [ccompenv_tmpvar_match] end // end of [local] (* ****** ****** *) local val the_tmplst = ref (list_nil) val the_pmdlst = ref (list_nil) in (* in of [local] *) implement the_toplevel_getref_tmpvarlst () = $UN.cast2Ptr1 (the_tmplst) implement the_toplevel_getref_primdeclst () = $UN.cast2Ptr1 (the_pmdlst) end // end of [local] (* ****** ****** *) implement ccompenv_get_tempenver (env) = let // fun revapp ( d2vs: d2varlst, res: d2varlst_vt ) : d2varlst_vt = ( case+ d2vs of | list_nil () => res | list_cons (d2v, d2vs) => revapp (d2vs, list_vt_cons (d2v, res)) // end of [list_cons] ) // fun auxlst ( xs: !markenvlst_vt, res: d2varlst_vt ) : d2varlst_vt = ( case+ xs of // | MARKENVLSTnil() => (fold@(xs); res) // | MARKENVLSTcons_tempenver (!p_x, !p_xs) => let val res = revapp (!p_x, res) val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_tempenver] // | MARKENVLSTmark(!p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTmark] // | MARKENVLSTcons_var (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_var] // | MARKENVLSTcons_fundec (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_fundec] | MARKENVLSTcons_fundec2 (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_fundec2] // | MARKENVLSTcons_impdec (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_impdec] | MARKENVLSTcons_impdec2 (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_impdec2] // | MARKENVLSTcons_staload (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_staload] // | MARKENVLSTcons_tmpsub (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_tmpsub] // | MARKENVLSTcons_tmpcstmat (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_tmpcstmat] | MARKENVLSTcons_tmpvarmat (_, !p_xs) => let val res = auxlst (!p_xs, res) in fold@(xs); res end // end of [MARKENVLSTcons_tmpvarmat] // ) (* end of [auxlst] *) // val CCOMPENV (!p) = env val d2vs = auxlst (p->ccompenv_markenvlst, list_vt_nil) prval ((*void*)) = fold@ (env) // in list_vt_reverse(d2vs) end // end of [ccompenv_get_tempenver] (* ****** ****** *) local val theFlag = ref (false) fun theFlag_get () = !theFlag fun theFlag_set () = !theFlag := true fun theFlag_unset () = !theFlag := false in (* in-of-local *) implement ccompenv_add_tempenver (env, d2vs) = let // (* val () = fprintln! (stdout_ref, "ccompenv_add_tempenver: d2vs = ", d2vs) *) // val () = theFlag_set() // val CCOMPENV (!p) = env // val xs = p->ccompenv_markenvlst val () = p->ccompenv_markenvlst := MARKENVLSTcons_tempenver (d2vs, xs) // prval ((*void*)) = fold@ (env) // in // nothing end // end of [ccompenv_add_tempenver] (* ****** ****** *) implement ccompenv_get2_tempenver (env) = let // val flag = theFlag_get () // in // if flag then let // val d2vs = ccompenv_get_tempenver(env) val ((*void*)) = if list_vt_is_nil(d2vs) then theFlag_unset() // in d2vs end // end of [then] // else list_vt_nil () // end // end of [ccompenv_get2_tempenver] (* ****** ****** *) implement ccompenv_dvarsetenv_add_tempenver (env, d2es) = let // fun auxlst ( d2es: d2envset_vt , d2vs: d2varlst_vt ) : d2envset_vt = ( // case+ d2vs of | ~list_vt_nil () => d2es | ~list_vt_cons (d2v, d2vs) => let val d2es = d2envset_vt_add (d2es, d2var2env(d2v)) in auxlst (d2es, d2vs) end // end of [list_vt_cons] // ) (* end of [auxlst] *) // val d2vs = ccompenv_get2_tempenver (env) // (* val d2vs2 = $UN.list_vt2t{d2var}(d2vs) val ((*void*)) = fprintln! (stdout_ref, "ccompenv_dvarsetenv_add_tempenver: d2vs = ", d2vs2) *) // in auxlst (d2es, d2vs) end // end of [ccompenv_dvarsetenv_add_tempenver] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_ccompenv.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing.sats0000664000175000017500000003632412655455557017123 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload LEX = "./pats_lexing.sats" typedef tnode = $LEX.tnode (* ****** ****** *) staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) datatype parerr_node = // | PE_AND | PE_END | PE_AS | PE_OF | PE_IN | PE_IF | PE_SIF | PE_CASE | PE_SCASE | PE_THEN | PE_ELSE | PE_REC | PE_WHEN | PE_WITH // | PE_FOR | PE_WHILE | PE_TRY // | PE_BAR | PE_COLON | PE_COMMA | PE_SEMICOLON // | PE_LPAREN | PE_RPAREN | PE_LBRACKET | PE_RBRACKET | PE_LBRACE | PE_RBRACE // | PE_BANG | PE_DOT | PE_EQ | PE_EQGT | PE_GT | PE_GTDOT | PE_GTLT // | PE_SRPTHEN | PE_SRPENDIF // | PE_EOF // | PE_i0nt | PE_c0har | PE_f0loat | PE_s0tring // | PE_i0de | PE_i0dext | PE_i0de_dlr // | PE_s0rtid | PE_si0de // static identifier | PE_di0de // dynamic identifier | PE_pi0de // pattern identifier | PE_stai0de // (* | PE_s0rtq // not reported *) | PE_s0taq | PE_d0ynq // | PE_dqi0de | PE_arrqi0de | PE_tmpqi0de | PE_impqi0de // | PE_l0ab | PE_p0rec // | PE_funarrow | PE_colonwith // | PE_e0xp | PE_atme0xp // | PE_s0rt | PE_atms0rt | PE_s0marg | PE_a0msrt // | PE_s0exp | PE_atms0exp | PE_labs0exp | PE_s0rtext | PE_s0qua | PE_q0marg // | PE_p0at | PE_atmp0at | PE_labp0at | PE_p0at_as | PE_gm0at | PE_guap0at | PE_c0lau // | PE_d0exp | PE_d0exp0 | PE_d0exp1 | PE_atmd0exp | PE_labd0exp // | PE_d0ecl | PE_d0ecl_sta | PE_d0ecl_dyn | PE_guad0ecl | PE_staloadarg // | PE_fname_unclosed of () // | PE_DISCARD of () (* | PE_FILENONE of string *) // end of [parerr_node] typedef parerr = '{ parerr_loc= location , parerr_node= parerr_node } // end of [parerr] fun parerr_make ( loc: location, node: parerr_node ) : parerr // end of [parerr_make] fun the_parerrlst_clear (): void (* ****** ****** *) // fun the_parerrlst_add(x: parerr): void // fun the_parerrlst_add_ifnbt ( bt: int, loc: location, node: parerr_node ) : void // end-of-function // fun the_parerrlst_add_ifunclosed (loc: location, content: string): void // (* ****** ****** *) // fun fprint_parerr(out: FILEref, x: parerr): void // fun fprint_the_parerrlst(out: FILEref): int(*err*) // 0/1 // (* ****** ****** *) // fun tokbuf_set_ntok_null{a:type}(buf: &tokbuf, n0: uint): (a) // (* ****** ****** *) typedef parser (a:type) = (&tokbuf(*>> _*), int(*bt*), &int(*err*)) -> a // end of [parser] typedef parser_tok (a:type) = (&tokbuf(*>> _*), int(*bt*), &int(*err*), token) -> a // end of [parser_tok] (* ****** ****** *) fun p_AND : parser (token) fun is_AND (x: tnode): bool fun p_AND_test (buf: &tokbuf): bool fun p_END : parser (token) fun is_END (x: tnode): bool fun p_THEN : parser (token) fun is_THEN (x: tnode): bool fun p_ELSE : parser (token) fun is_ELSE (x: tnode): bool fun p_AS : parser (token) fun is_AS (x: tnode): bool fun p_OF : parser (token) fun is_OF (x: tnode): bool fun p_IN : parser (token) fun is_IN (x: tnode): bool fun p_IF : parser (token) fun is_IF (x: tnode): bool fun p_SIF : parser (token) fun is_SIF (x: tnode): bool fun p_CASE : parser (token) fun is_CASE (x: tnode): bool fun p_SCASE : parser (token) fun is_SCASE (x: tnode): bool fun p_REC : parser (token) fun is_REC (x: tnode): bool fun p_REC_test (buf: &tokbuf): bool fun p_WITH : parser (token) fun is_WITH (x: tnode): bool fun p_WHEN : parser (token) fun is_WHEN (x: tnode): bool fun p_FORSTAR : parser (token) fun is_FORSTAR (x: tnode): bool fun p_WHILESTAR : parser (token) fun is_WHILESTAR (x: tnode): bool fun p_TRY : parser (token) fun is_TRY (x: tnode): bool (* ****** ****** *) fun p_BAR : parser (token) fun is_BAR (x: tnode): bool fun p_BAR_test (buf: &tokbuf): bool fun p_COLON : parser (token) fun is_COLON (x: tnode): bool fun p_COLON_test (buf: &tokbuf): bool fun p_COMMA : parser (token) fun is_COMMA (x: tnode): bool fun p_COMMA_test (buf: &tokbuf): bool fun p_SEMICOLON : parser (token) fun is_SEMICOLON (x: tnode): bool fun p_SEMICOLON_test (buf: &tokbuf): bool fun is_BARSEMI (x: tnode): bool fun p_BARSEMI_test (buf: &tokbuf): bool (* ****** ****** *) fun p_LPAREN : parser (token) fun is_LPAREN (x: tnode): bool fun p_RPAREN : parser (token) fun is_RPAREN (x: tnode): bool fun p_LBRACKET : parser (token) fun is_LBRACKET (x: tnode): bool fun p_RBRACKET : parser (token) fun is_RBRACKET (x: tnode): bool fun p_LBRACE : parser (token) fun is_LBRACE (x: tnode): bool fun p_RBRACE : parser (token) fun is_RBRACE (x: tnode): bool (* ****** ****** *) fun p_BANG : parser (token) fun is_BANG (x: tnode): bool fun p_DOT : parser (token) fun is_DOT (x: tnode): bool fun p_EQ : parser (token) fun is_EQ (x: tnode): bool fun p_EQGT : parser (token) fun is_EQGT (x: tnode): bool fun p_GT : parser (token) fun is_GT (x: tnode): bool fun p_GTDOT : parser (token) fun is_GTDOT (x: tnode): bool fun p_GTLT : parser (token) fun is_GTLT (x: tnode): bool fun p_GTLT_test (buf: &tokbuf): bool (* ****** ****** *) fun p_SRPTHEN : parser (token) fun is_SRPTHEN (x: tnode): bool fun p_SRPENDIF : parser (token) fun is_SRPENDIF (x: tnode): bool (* ****** ****** *) fun p_EOF : parser (token) fun is_EOF (x: tnode): bool (* ****** ****** *) fun is_ATLPAREN (x: tnode): bool (* fun is_QUOTELPAREN (x: tnode): bool *) fun is_LPAREN_deco (x: tnode): bool fun is_ATLBRACE (x: tnode): bool (* fun is_QUOTELBRACE (x: tnode): bool *) fun is_LBRACE_deco (x: tnode): bool (* ****** ****** *) fun ptoken_fun ( buf: &tokbuf , bt: int, err: &int , f: (tnode) -> bool, enode: parerr_node ) : token // end of [ptoken_fun] fun ptoken_test_fun ( buf: &tokbuf, f: (tnode) -> bool ) : bool // end of [ptoken_test_fun] fun ptokentopt_fun {a:type} ( buf: &tokbuf , f1: (tnode) -> bool, f2: parser(a) ) : Option_vt(a) // end of [ptokentopt_fun] (* ****** ****** *) fun pstar_fun{a:type} (buf: &tokbuf, bt: int, f: parser(a)): List_vt(a) // end of [pstar_fun] (* ****** ****** *) fun pstar_sep_fun {a:type} ( buf: &tokbuf , bt: int, sep: (&tokbuf) -> bool, f: parser(a) ) : List_vt (a) // end of [pstar_sep_fun] (* ****** ****** *) fun pstar_COMMA_fun {a:type} (buf: &tokbuf, bt: int, f: parser(a)): List_vt(a) // end of [pstar_COMMA_fun] (* ****** ****** *) (* // HX: fun1_sep: fun sep_fun // HX: fun0_sep: /*empty*/ | fun1_sep *) fun pstar_fun0_sep {a:type} ( buf: &tokbuf, bt: int, f: parser (a), sep: (&tokbuf) -> bool ) : List_vt (a) // end of [pstar_fun0_sep] fun pstar_fun0_BAR {a:type} ( buf: &tokbuf, bt: int, f: parser (a) ) : List_vt (a) // end of [pstar_fun0_BAR] fun pstar_fun0_COMMA {a:type} ( buf: &tokbuf, bt: int, f: parser (a) ) : List_vt (a) // end of [pstar_fun0_COMMA] fun pstar_fun0_SEMICOLON {a:type} ( buf: &tokbuf, bt: int, f: parser (a) ) : List_vt (a) // end of [pstar_fun0_SEMICOLON] fun pstar_fun0_BARSEMI {a:type} ( buf: &tokbuf, bt: int, f: parser (a) ) : List_vt (a) // end of [pstar_fun0_BARSEMI] (* ****** ****** *) fun pstar_fun1_sep {a:type} ( buf: &tokbuf , bt: int, err: &int , f: parser (a), sep: (&tokbuf) -> bool ) : List_vt (a) // end of [pstar_fun1_sep] fun pstar_fun1_AND {a:type} ( buf: &tokbuf, bt: int, err: &int, f: parser (a) ) : List_vt (a) // end of [pstar_fun1_AND] (* ****** ****** *) fun pstar1_fun {a:type} ( buf: &tokbuf, bt: int, err: &int, f: parser (a) ) : List_vt (a) // end of [pplus_fun] (* ****** ****** *) fun popt_fun {a:type} ( buf: &tokbuf, bt: int, f: parser (a) ) : Option_vt (a) // end of [popt_fun] (* ****** ****** *) datavtype synent2 ( a1: viewtype, a2:viewtype ) = SYNENT2 (a1, a2) of (a1, a2) fun pseq2_fun {a1,a2:type} ( buf: &tokbuf , bt: int, err: &int , f1: parser (a1), f2: parser (a2) ) : synent2 (a1, a2) (* ****** ****** *) datavtype synent3 ( a1: viewtype, a2:viewtype, a3:viewtype ) = SYNENT3 (a1, a2, a3) of (a1, a2, a3) fun pseq3_fun {a1,a2,a3:type} ( buf: &tokbuf , bt: int, err: &int , f1: parser (a1), f2: parser (a2), f3: parser (a3) ) : synent3 (a1, a2, a3) (* ****** ****** *) fun ptest_fun {a:type} ( buf: &tokbuf, f: parser (a), ent: &synent? >> synent ) : bool // end of [ptest_fun] (* ****** ****** *) // // HX: for syntax like: ... | ... // dataviewtype list12 (a:type) = | LIST12one (a) of List_vt (a) | LIST12two (a) of (List_vt (a), List_vt (a)) // end of [list12] fun list12_free {a:type} (ent: list12 a): void fun plist12_fun {a:type} (buf: &tokbuf, bt: int, f: parser (a)): list12 (a) // end of [plist12_fun] fun p1list12_fun {a:type} (x: a, buf: &tokbuf, bt: int, f: parser (a)): list12 (a) // end of [p1list12_fun] (* ****** ****** *) fun pif_fun {a:type} ( buf: &tokbuf , bt: int, err: &int, f: parser (a), err0: int ) : (a) // end of [pif_fun] (* ****** ****** *) fun ptokwrap_fun {a:type} ( buf: &tokbuf , bt: int, err: &int, f: parser_tok (a), enode: parerr_node ) : (a) // end of [ptokwrap_fun] (* ****** ****** *) fun p_i0nt : parser (i0nt) // integers: dec, oct, hex, etc. fun p_c0har : parser (c0har) // characters fun p_f0loat : parser (f0loat) // floating point numbers fun p_s0tring : parser (s0tring) // strings (* ****** ****** *) fun p_i0de : parser (i0de) // identifier fun p_i0deseq1 : parser (i0delst) // = {i0de}+ (* ****** ****** *) fun p_i0dext : parser (i0de) // identifier! (* ****** ****** *) fun p_i0de_dlr : parser (i0de) // $identifier (* ****** ****** *) fun p_l0ab : parser (l0ab) fun p_p0rec : parser (p0rec) fun p_e0fftag : parser (e0fftag) fun p_e0fftaglst : parser (e0fftaglst) fun p_colonwith : parser (e0fftaglstopt) fun p_dcstkind : parser (token) fun p_extnamopt : parser (s0tringopt) (* ****** ****** *) fun p_e0xp : parser (e0xp) fun p_e0xpseq : parser (e0xplst) (* ****** ****** *) fun p_datsdef : parser (datsdef) (* ****** ****** *) fun p_s0rt : parser (s0rt) fun p_s0rtq : parser (s0rtq) // sort qualifier fun p_s0rtid : parser (i0de) // sort identifier // fun p_ofs0rtopt : parser (s0rtopt) // OF s0rt fun p_colons0rtopt : parser (s0rtopt) // COLON s0rt // fun p_s0arg : parser (s0arg) // static argument fun p_s0marg : parser (s0marg) // static multi-argument // fun p_a0srt : parser (a0srt) // static argument sort fun p_a0msrt : parser (a0msrt) // static argument multi-sort // fun p_d0atsrtconseq : parser (d0atsrtconlst) (* ****** ****** *) fun p_s0exp : parser (s0exp) fun p_si0de : parser (i0de) // static identifier fun p_s0taq : parser (s0taq) // static qualifier fun p_sqi0de : parser (sqi0de) // static qualified identifier fun p_atms0exp : parser (s0exp) // atomic staic exp. fun p_labs0exp : parser (labs0exp) // labeled static exp. // fun p_s0rtext : parser (s0rtext) // fun p_s0qua : parser (s0qua) fun p_s0quaseq : parser (s0qualst) // fun p_eqs0expopt : parser (s0expopt) // EQ s0exp fun p_ofs0expopt : parser (s0expopt) // OF s0exp fun p_colons0expopt : parser (s0expopt) // OF s0exp // (* HX: argument type *) fun p_a0typ : parser (a0typ) // (* HX: quantifier-like multi-argument *) fun p_q0marg : parser (q0marg) fun p_q0margseq : parser (q0marglst) // fun p_e0xndec : parser (e0xndec) fun p_d0atconseq : parser (d0atconlst) // fun p_d0cstarg : parser (d0cstarg) // fun p_s0vararg : parser (s0vararg) fun p_s0exparg : parser (s0exparg) // fun p_witht0ype : parser (witht0ype) // fun p_tmps0expseq : parser (t0mpmarg) // (* ****** ****** *) fun p_p0at : parser (p0at) fun p_pi0de : parser (i0de) // pattern identifier fun p_labp0at : parser (labp0at) // labeled pattern fun p_f0arg1 : parser (f0arg) fun p_f0arg2 : parser (f0arg) (* ****** ****** *) fun p_d0exp : parser (d0exp) fun p_di0de : parser (i0de) // dynamic identifier fun p_d0ynq : parser (d0ynq) // dynamic qualifier fun p_dqi0de : parser (dqi0de) // dynamic qualified identifier fun p_labd0exp : parser (labd0exp) // labeled dynamic exp. fun p_arrqi0de : parser (dqi0de) fun p_tmpqi0de : parser (dqi0de) // fun p_eqd0expopt : parser (d0expopt) // EQ d0exp // fun p_d0expsemiseq : parser (d0explst) // fun p_c0lauseq : parser (c0laulst) // pattern-matching clauses fun p_sc0lauseq : parser (sc0laulst) // static pattern-matching clauses (* ****** ****** *) fun p_S0Ed2ctype : parser (d0exp) (* ****** ****** *) fun p_d0ecl : parser (d0ecl) fun p_d0ecl_sta : parser (d0ecl) fun p_d0ecl_dyn : parser (d0ecl) // fun p_d0eclseq_fun{a:type} ( buf: &tokbuf, bt: int, f: parser a ) : List_vt (a) // end-of-fun // fun p_d0eclseq_sta : parser (d0eclist) fun p_d0eclseq_dyn : parser (d0eclist) // fun p_d0atsrtdecseq : parser (d0atsrtdeclst) // fun p_s0rtdefseq : parser (s0rtdeflst) // fun p_s0taconseq : parser (s0taconlst) fun p_s0tacstseq : parser (s0tacstlst) (* fun p_s0tavarseq : parser (s0tavarlst) *) fun p_t0kindef : parser (t0kindef) // fun p_s0expdefseq : parser (s0expdeflst) // fun p_s0aspdec : parser (s0aspdec) // fun p_e0xndecseq : parser (e0xndeclst) fun p_d0atdecseq : parser (d0atdeclst) // fun p_m0acdef : parser (m0acdef) // fun p_d0cstdecseq : parser (d0cstdeclst) // (* ****** ****** *) // fun p_toplevel_sta (buf: &tokbuf, nerr: &int? >> int): d0eclist // end of [p_toplevel_sta] // fun p_toplevel_dyn (buf: &tokbuf, nerr: &int? >> int): d0eclist // end of [p_toplevel_dyn] // (* ****** ****** *) // fun parse_from_string_parser {a:type} ( inp: string, fparse: parser(a) ) : Option_vt(a) // end-of-fun // (* ****** ****** *) fun parse_from_tokbuf_toplevel ( stadyn: int, buf: &tokbuf ) : d0eclist // end-of-function (* ****** ****** *) // // HX-2015-10-04: // This one is for libatsopt // fun parse_from_string_toplevel ( stadyn: int, inp: string ) : d0eclist = "ext#libatsopt_parse_from_string_toplevel" // (* ****** ****** *) // fun parse_from_stdin_toplevel (stadyn: int): d0eclist // fun parse_from_fileref_toplevel (stadyn: int, inp: FILEref): d0eclist // end of [parse_from_fileref_toplevel] // (* ****** ****** *) // fun parse_from_filename_toplevel (stadyn: int, fil: filename): d0eclist fun parse_from_filename_toplevel2 (stadyn: int, fil: filename): d0eclist // (* ****** ****** *) fun parse_from_givename_toplevel ( stadyn: int, given: string, filref: &filename? >> filename ) : d0eclist // end of [parse_from_givename_toplevel] (* ****** ****** *) (* end of [pats_parsing.sats] *) ATS2-Postiats-0.2.6/./src/pats_trans1_e0xp.dats0000664000175000017500000002111212655455557017572 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload ERR = "./pats_error.sats" staload LOC = "./pats_location.sats" overload + with $LOC.location_combine // staload SYM = "./pats_symbol.sats" // macdef BACKSLASH = $SYM.symbol_BACKSLASH // overload = with $SYM.eq_symbol_symbol // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_trans1_e0xp" (* ****** ****** *) staload "./pats_lexing.sats" (* ****** ****** *) staload "./pats_fixity.sats" staload "./pats_syntax.sats" staload "./pats_staexp1.sats" (* ****** ****** *) staload "./pats_trans1.sats" staload "./pats_trans1_env.sats" (* ****** ****** *) staload "./pats_e1xpval.sats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) local fun do_e0xpact_fprint ( out: FILEref, v0: v1al ) : void = ( // case+ v0 of // | V1ALint i => fprint(out, i) // | V1ALchar c => fprint(out, c) // | V1ALfloat f => fprint(out, f) // | V1ALstring s => fprint(out, s) // | V1ALerr () => let val () = assertloc(false) in (*deadcode*) end (* end of [V1ALerr] *) // ) (* end of [do_e0xpact_fprint] *) in (* in-of-local *) implement do_e0xpact_prerr(v) = do_e0xpact_fprint(stderr_ref, v) implement do_e0xpact_print(v) = do_e0xpact_fprint(stdout_ref, v) end // end of [local] (* ****** ****** *) implement do_e0xpact_error (loc, v) = let // val () = prerr_error1_loc (loc) val () = prerr ": [#error] directive is encountered: " // val () = (case+ v of | V1ALint i => prerr i | V1ALchar c => prerr c | V1ALstring s => prerr s | V1ALfloat f => prerr f | V1ALerr () => let val () = assertloc (false) in (*deadcode*) end (* end of [V1ALerr] *) ) : void // end of [val] in exit {void} (1) end // end of [do_e0xpact_error] (* ****** ****** *) implement do_e0xpact_assert (loc, v) = let val is_false = ( case+ v of | V1ALint i => i = 0 | V1ALstring s => let val s = string1_of_string s in string_is_empty s end // end of [V1ALstring] | V1ALfloat f => f = 0.0 | V1ALchar c => c = '\0' | V1ALerr () => let val () = assertloc (false) in false // HX: this should be deadcode! end (* end of [V1ALerr] *) ) : bool // end of [val] in if is_false then let val () = prerr_error1_loc loc val () = prerr ": [#assert] failed!" val () = prerr_newline () in exit {void} (1) end // end of [if] end // end of [do_e0xpact_assert] (* ****** ****** *) // // HX: translation of sorts // typedef e1xpitm = fxitm (e1xp) typedef e1xpitmlst = List (e1xpitm) (* ****** ****** *) local fn appf ( _fun: e1xp, _arg: e1xp ) : e1xpitm = let val loc_fun = _fun.e1xp_loc val loc_arg = _arg.e1xp_loc val loc = loc_fun + loc_arg val xs_arg = ( case+ _arg.e1xp_node of | E1XPlist xs => xs | _ => list_sing (_arg) ) : e1xplst // end of [val] val _app = e1xp_app (loc, _fun, loc_arg, xs_arg) in FXITMatm (_app) end // end of [appf] in (* in of [local] *) fn e1xpitm_app (loc: location): e1xpitm = fxitm_app (loc, appf) // end of [e1xpitm] end // end of [local] (* ****** ****** *) fn e1xp_get_loc (x: e1xp): location = x.e1xp_loc fn e1xp_make_opr ( opr: e1xp, f: fxty ) : e1xpitm = ( fxopr_make {e1xp} ( e1xp_get_loc , lam (loc, x, loc_arg, xs) => e1xp_app (loc, x, loc_arg, xs) , opr, f ) // end of [e1xp_make_opr] ) (* end of [e1xp_make_opr] *) fn e1xpitm_backslash (loc_opr: location) = ( fxopr_make_backslash {e1xp} ( lam x => x.e1xp_loc , lam (loc, x, loc_arg, xs) => e1xp_app (loc, x, loc_arg, xs) , loc_opr ) // end of [fxopr_make_backslash] ) (* end of [e1xpitm_backslash] *) (* ****** ****** *) local fn e0xp_tr_errmsg_opr (e0: e0xp): e1xp = let val loc0 = e0.e0xp_loc val () = prerr_error1_loc (loc0) val () = prerr ": the operator needs to be applied." val () = prerr_newline () val () = the_trans1errlst_add (T1E_e0xp_tr (e0)) in e1xp_err (loc0) end // end of [e0xp_tr_errmsg_opr] fn e0xp_tr_errmsg_float (e0: e0xp): void = let val () = prerr_error1_loc (e0.e0xp_loc) val () = prerr ": the floating point number is required to be of base 10." val () = prerr_newline () val () = the_trans1errlst_add (T1E_e0xp_tr (e0)) in // nothing end // end of [e0xp_tr_errmsg_float] in (* in of [local] *) implement e0xp_tr (e0) = let // fun aux_item (e0: e0xp): e1xpitm = let val loc0 = e0.e0xp_loc in case+ e0.e0xp_node of // | E0XPide id when id = BACKSLASH => e1xpitm_backslash (loc0) | E0XPide id => let val opt = the_fxtyenv_find (id) in case+ opt of | ~None_vt () => FXITMatm (e1xp_ide (loc0, id)) | ~Some_vt (fxty) => let val e = e1xp_ide (loc0, id) in e1xp_make_opr (e, fxty) end // end of [Some_vt] end // E0XPide(non-backslash) // | E0XPint (x) => let val-T_INT (base, rep, sfx) = x.token_node // end of [val] in FXITMatm (e1xp_intrep (loc0, rep)) end // end of [E0XPint] // | E0XPchar (x) => let val-T_CHAR (c) = x.token_node in FXITMatm (e1xp_char (loc0, c)) // end of [val] end // end of [E0XPchar] // | E0XPstring (x) => let val-T_STRING (str) = x.token_node in FXITMatm (e1xp_string (loc0, str)) // end of [val] end // end of [E0XPstring] | E0XPstringid (str) => FXITMatm (e1xp_string (loc0, str)) // | E0XPfloat (x) => let val-T_FLOAT (base, rep, sfx) = x.token_node val () = if base != 10 then e0xp_tr_errmsg_float (e0) in FXITMatm (e1xp_float (loc0, rep)) end // end of [E0XPfloat] // | E0XPlist (es) => FXITMatm (e1xp_list (loc0, e0xplst_tr (es))) // | E0XPapp _ => let val e0_new = fixity_resolve ( loc0, e1xp_get_loc, e1xpitm_app (loc0), aux_itemlst e0 ) // end of [val] in FXITMatm (e0_new) end // end of [E0XPapp] // | E0XPfun (arg, body) => FXITMatm (e1xp_fun (loc0, arg, e0xp_tr (body))) // | E0XPif ( e0_cond, e0_then, e0_else ) => let val e1_cond = e0xp_tr (e0_cond) val e1_then = e0xp_tr (e0_then) val e1_else = ( case e0_else of Some x => e0xp_tr (x) | None _ => e1xp_none (loc0) ) : e1xp (* end of [val] *) in FXITMatm (e1xp_if (loc0, e1_cond, e1_then, e1_else)) end // end of [E0Xpif] // | E0XPeval (e0) => let val e1 = e0xp_tr (e0) val v1 = e1xp_valize (e1) in FXITMatm (e1xp_v1al (loc0, v1)) end // end of [E0XPeval] // end // end of [aux_item] // and aux_itemlst (e0: e0xp): e1xpitmlst = let fun loop ( e0: e0xp, res: e1xpitmlst ) : e1xpitmlst = case+ e0.e0xp_node of | E0XPapp (e1, e2) => let val res = list_cons (aux_item e2, res) in loop (e1, res) end (* end of [E0XPapp] *) | _ => list_cons (aux_item e0, res) // end of [loop] in loop (e0, list_nil ()) end // end of [aux_itemlst] // in // case+ aux_item(e0) of // case+ | FXITMatm (e) => e | FXITMopr _ => e0xp_tr_errmsg_opr (e0) // end // end of [e0xp_tr] end // end of [local] implement e0xplst_tr (es) = l2l (list_map_fun (es, e0xp_tr)) (* ****** ****** *) (* end of [pats_trans1_e0xp.dats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2_dvar.dats0000664000175000017500000004151112655455557020040 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload compare with $STMP.compare_stamp_stamp staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol typedef symbolopt = $SYM.symbolopt (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) // // HX: this is for handling type recursion // abstype d2varopt2 // = d2varopt extern castfn d2varopt2_encode (x: d2varopt):<> d2varopt2 extern castfn d2varopt2_decode (x: d2varopt2):<> d2varopt // (* ****** ****** *) typedef d2var_struct = @{ d2var_sym= symbol // name , d2var_loc= location // first location , d2var_level= int // toplevel: 0 , d2var_linval= int // nonlinear (-1) and linear (>=0) , d2var_isfix= bool // is fix-variable? , d2var_isprf= bool // is proof? , d2var_decarg= s2qualst // nil/cons -> function/template , d2var_addr= s2expopt // , d2var_view= d2varopt2 // , d2var_finknd= d2vfin // the status at the end of scope , d2var_type= s2expopt // the (current) type of a variable , d2var_hisexp= hisexpopt // the type erasure of [d2var_type] , d2var_mastype= s2expopt // the master type of a variable , d2var_utimes= int // , d2var_stamp= stamp // uniqueness stamp } (* end of [d2var_struct] *) (* ****** ****** *) local assume d2var_type = ref (d2var_struct) in (* in of [local] *) implement d2var_make (loc, id) = let // val stamp = $STMP.d2var_stamp_make () // val (pfgc, pfat | p) = ptr_alloc () prval ((*freed*)) = free_gc_elim {d2var_struct?} (pfgc) // val () = p->d2var_sym := id val () = p->d2var_loc := loc val () = p->d2var_level := ~1 val () = p->d2var_linval := ~1; val () = p->d2var_isfix := false val () = p->d2var_isprf := false val () = p->d2var_decarg := list_nil () val () = p->d2var_addr := None () val () = p->d2var_view := d2varopt2_encode (None(*d2v*)) val () = p->d2var_finknd := D2VFINnone () val () = p->d2var_type := None () val () = p->d2var_hisexp := None () val () = p->d2var_mastype := None () val () = p->d2var_utimes := 0 val () = p->d2var_stamp := stamp // in // ref_make_view_ptr (pfat | p) // end // end of [d2var_make] (* ****** ****** *) implement d2var_make_any (loc) = d2var_make (loc, $SYM.symbol_UNDERSCORE) // end of [d2var_make_any] (* ****** ****** *) implement d2var_get_sym (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_sym end // end of [d2var_get_sym] implement d2var_get_loc (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_loc end // end of [d2var_get_loc] implement d2var_get_level (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_level end // end of [d2var_get_level] implement d2var_set_level (d2v, lev) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_level := lev end // end of [d2var_set_level] implement d2var_get_linval (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_linval end // end of [d2var_get_linval] implement d2var_set_linval (d2v, lin) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_linval := lin end // end of [d2var_set_linval] implement d2var_get_isfix (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_isfix end // end of [d2var_get_isfix] implement d2var_set_isfix (d2v, isfix) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_isfix := isfix end // end of [d2var_set_isfix] implement d2var_get_isprf (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_isprf end // end of [d2var_get_isprf] implement d2var_set_isprf (d2v, isprf) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_isprf := isprf end // end of [d2var_set_isprf] implement d2var_get_decarg (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_decarg end // end of [d2var_get_decarg] implement d2var_set_decarg (d2v, decarg) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_decarg := decarg end // end of [d2var_set_decarg] implement d2var_get_addr (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_addr end // end of [d2var_get_addr] implement d2var_set_addr (d2v, s2fopt) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_addr := s2fopt end // end of [d2var_set_addr] implement d2var_get_view (d2v) = $effmask_ref let val ( vbox pf | p ) = ref_get_view_ptr (d2v) in d2varopt2_decode (p->d2var_view) end // end of [d2var_get_view] implement d2var_set_view (d2v, opt) = let val ( vbox pf | p ) = ref_get_view_ptr (d2v) in p->d2var_view := d2varopt2_encode (opt) end // end of [d2var_set_view] implement d2var_get_finknd (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_finknd end // end of [d2var_get_finknd] implement d2var_set_finknd (d2v, knd) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_finknd := knd end // end of [d2var_set_finknd] (* ****** ****** *) implement d2var_get_type (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_type end // end of [d2var_get_type] implement d2var_set_type (d2v, opt) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_type := opt end // end of [d2var_set_type] (* ****** ****** *) implement d2var_get_mastype (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_mastype end // end of [d2var_get_mastype] implement d2var_set_mastype (d2v, opt) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_mastype := opt end // end of [d2var_set_mastype] (* ****** ****** *) implement d2var_get_hisexp (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_hisexp end // end of [d2var_get_hisexp] implement d2var_set_hisexp (d2v, opt) = let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_hisexp := opt end // end of [d2var_set_hisexp] (* ****** ****** *) implement d2var_get_utimes (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_utimes end // end of [d2var_get_utimes] implement d2var_set_utimes (d2v, nused) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_utimes := nused end // end of [d2var_set_utimes] implement d2var_get_stamp (d2v) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (d2v) in p->d2var_stamp end // end of [d2var_get_stamp] end // end of [local] (* ****** ****** *) implement d2var_inc_linval (d2v) = let val lin = d2var_get_linval (d2v) in d2var_set_linval (d2v, lin+1) end // end of [d2var_inc_linval] implement d2var_inc_utimes (d2v) = let val nused = d2var_get_utimes (d2v) in d2var_set_utimes (d2v, nused+1) end // end of [d2var_inc_utimes] (* ****** ****** *) implement d2var_is_linear (d2v) = (d2var_get_linval d2v >= 0) implement d2var_is_mutabl (d2v) = case+ d2var_get_view d2v of Some _ => true | None () => false // end of [d2var_is_mutabl] (* ****** ****** *) implement eq_d2var_d2var (x1, x2) = (compare_d2var_d2var (x1, x2) = 0) implement neq_d2var_d2var (x1, x2) = (compare_d2var_d2var (x1, x2) != 0) (* ****** ****** *) implement compare_d2var_d2var (x1, x2) = $effmask_all (compare (d2var_get_stamp (x1), d2var_get_stamp (x2))) // end of [compare_d2var_d2var] implement compare_d2vsym_d2vsym (x1, x2) = $effmask_all ( $SYM.compare_symbol_symbol (d2var_get_sym (x1), d2var_get_sym (x2)) ) // end of [compare_d2vsym_d2vsym] (* ****** ****** *) implement d2var_exch_type (d2v, _new) = _old where { val _old = d2var_get_type (d2v) // end of [val] val () = d2var_set_type (d2v, _new) } // end of [d2var_exch_type] (* ****** ****** *) implement d2var_ptr_viewat_make (ptr, opt) = d2vw where { val loc = d2var_get_loc (ptr) and sym = d2var_get_sym (ptr) val d2vw = ( case+ opt of | Some d2vw => d2vw | None () => let val nam = $SYM.symbol_get_name (sym) val sym1 = $SYM.symbol_make_string (nam + "$view") in d2var_make (loc, sym1) end // end of [None] ) : d2var // end of [val] // val () = d2var_set_linval (d2vw, 0) val () = d2var_set_addr (d2vw, d2var_get_addr ptr) // } // end of [d2var_ptr_viewat_make] implement d2var_ptr_viewat_make_none (d2v_ptr) = d2var_ptr_viewat_make (d2v_ptr, None) // end of [d2var_ptr_viewat_make_none] (* ****** ****** *) implement print_d2var (d2v) = fprint_d2var (stdout_ref, d2v) implement prerr_d2var (d2v) = fprint_d2var (stderr_ref, d2v) implement fprint_d2var (out, d2v) = { // val () = $SYM.fprint_symbol (out, d2var_get_sym d2v) // val () = fprint_string (out, "$") val () = $STMP.fprint_stamp (out, d2var_get_stamp d2v) // val () = fprint_string (out, "(") val () = fprint_int (out, d2var_get_level d2v) val () = fprint_string (out, ")") // } (* end of [fprint_d2var] *) implement fprint_d2varlst (out, d2vs) = $UT.fprintlst (out, d2vs, ", ", fprint_d2var) // end of [fprint_d2varlst] (* ****** ****** *) implement print_d2vfin (x) = fprint_d2vfin (stdout_ref, x) implement prerr_d2vfin (x) = fprint_d2vfin (stderr_ref, x) implement fprint_d2vfin (out, d2vfin) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ d2vfin of | D2VFINnone () => prstr "D2VFINnone()" | D2VFINsome (s2e) => { val () = prstr "D2VFINsome(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } | D2VFINsome_lvar (s2e) => { val () = prstr "D2VFINsome_lvar(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } | D2VFINsome_vbox (s2e) => { val () = prstr "D2VFINsome_vbox(" val () = fprint_s2exp (out, s2e) val () = prstr ")" } | D2VFINdone (d2vfin) => { val () = prstr "D2VFINdone(" val () = fprint_d2vfin (out, d2vfin) val () = prstr ")" } (* end of [D2FINdone] *) // end // end of [fprint_d2vfin] (* ****** ****** *) local staload FS = "libats/SATS/funset_avltree.sats" staload _ = "libats/DATS/funset_avltree.dats" staload LS = "libats/SATS/linset_avltree.sats" staload _ = "libats/DATS/linset_avltree.dats" val cmp = lam ( d2v1: d2var, d2v2: d2var ) : int = compare_d2var_d2var (d2v1, d2v2) // end of [val] assume d2varset_type = $FS.set (d2var) assume d2varset_vtype = $LS.set (d2var) in (* in of [local] *) implement d2varset_nil () = $FS.funset_make_nil () implement d2varset_ismem (xs, x) = $FS.funset_is_member (xs, x, cmp) // end of [d2varset_ismem] implement d2varset_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $FS.funset_insert (xs, x, cmp) } // end of [d2varset_add] implement d2varset_listize (xs) = $FS.funset_listize (xs) (* ****** ****** *) implement d2varset_vt_nil () = $LS.linset_make_nil () implement d2varset_vt_free (xs) = $LS.linset_free (xs) implement d2varset_vt_ismem (xs, x) = $LS.linset_is_member (xs, x, cmp) // end of [d2varset_vt_ismem] implement d2varset_vt_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $LS.linset_insert (xs, x, cmp) } // end of [d2varset_vt_add] implement d2varset_vt_listize (xs) = $LS.linset_listize (xs) implement d2varset_vt_listize_free (xs) = $LS.linset_listize_free (xs) end // end of [local] (* ****** ****** *) implement fprint_d2varset (out, d2vset) = { // val xs = d2varset_listize (d2vset) val () = $UT.fprintlst (out, $UN.linlst2lst(xs), ", ", fprint_d2var) val () = list_vt_free (xs) // } // end of [fprint_d2varset] (* ****** ****** *) local staload FM = "libats/SATS/funmap_avltree.sats" staload _ = "libats/DATS/funmap_avltree.dats" staload LM = "libats/SATS/linmap_avltree.sats" staload _ = "libats/DATS/linmap_avltree.dats" val cmp = lam ( d2v1: d2var, d2v2: d2var ) : int = compare_d2var_d2var (d2v1, d2v2) // end of [val] assume d2varmap_type (a:type) = $FM.map (d2var, a) assume d2varmap_vtype (a:type) = $LM.map (d2var, a) assume d2varmaplst_vtype (a:type) = $LM.map (d2var, List_vt(a)) in (* in of [local] *) implement d2varmap_nil () = $FM.funmap_make_nil () implement d2varmap_search {a} (map, d2v) = $FM.funmap_search_opt (map, d2v, cmp) // end of [d2varmap_search] implement d2varmap_insert {a} (map, d2v, x) = $FM.funmap_insert (map, d2v, x, cmp) // end of [d2varmap_insert] implement d2varmap_listize {a} (map) = $FM.funmap_listize (map) // end of [d2varmap_listize] (* ****** ****** *) implement d2varmap_vt_nil () = $LM.linmap_make_nil () implement d2varmap_vt_free (map) = $LM.linmap_free (map) implement d2varmap_vt_search {a} (map, d2v) = $LM.linmap_search_opt (map, d2v, cmp) // end of [d2varmap_vt_search] implement d2varmap_vt_insert {a} (map, d2v, x) = let var res: a? // uninitialized val ans = $LM.linmap_insert (map, d2v, x, cmp, res) prval () = opt_clear (res) in ans end // end of [d2varmap_vt_insert] implement d2varmap_vt_remove {a} (map, d2v) = $LM.linmap_remove (map, d2v, cmp) // end of [d2varmap_vt_remove] implement d2varmap_vt_listize {a} (map) = $LM.linmap_listize (map) // end of [d2varmap_vt_listize] (* ****** ****** *) implement d2varmaplst_vt_nil () = $LM.linmap_make_nil () implement d2varmaplst_vt_free {a} (map) = let // typedef key = d2var vtypedef itm = List_vt (a) // fn f ( pfv: !unit_v | k: key, x: &itm >> itm?, env: !ptr ) :<> void = list_vt_free (x) // val env = null prval pfv = unit_v () val ((*void*)) = $effmask_all($LM.linmap_clear_funenv {unit_v}{ptr} (pfv | map, f, env)) prval unit_v () = pfv // in $LM.linmap_free (map) end // end of [d2varmaplst_vt_free] implement d2varmaplst_vt_search {a} (map, d2v) = let // typedef key = d2var vtypedef itm = List_vt (a) // val p = $LM.linmap_search_ref (map, d2v, cmp) // in // if (p > null) then let val xs = $UN.ptrget (p) in case+ xs of list_cons (x, _) => Some_vt (x) | _ => None_vt () // end of [case] end // end of [then] else None_vt((*void*)) // end of [if] // end // end of [d2varmaplst_vt_search] implement d2varmaplst_vt_insert {a} (map, d2v, x0) = let // typedef key = d2var vtypedef itm = List_vt (a) // val p = $LM.linmap_search_ref (map, d2v, cmp) // in // if (p > null) then let val xs = $UN.ptrget (p) val () = $UN.ptrset (p, list_vt_cons{a}(x0, xs)) in true end // end of [then] else let var res: itm val _(*false*) = $LM.linmap_insert (map, d2v, list_vt_sing(x0), cmp, res) val () = $UN.castvwtp0{void}(res) in false end // end of [else] // end of [if] // end // end of [d2varmaplst_vt_search] implement d2varmaplst_vt_remove {a} (map, d2v) = let // typedef key = d2var vtypedef itm = List_vt (a) // val p = $LM.linmap_search_ref (map, d2v, cmp) // in // if (p > null) then let val xs = $UN.ptrget (p) in case+ xs of | ~list_vt_cons (_, xs) => let val () = ( case+ xs of | list_vt_cons _ => let prval () = fold@(xs) in $UN.ptrset (p, xs) end // end of [list_vt_cons] | ~list_vt_nil () => let var res: itm val _(*true*) = $LM.linmap_takeout (map, d2v, cmp, res) // end of [val] in $UN.castvwtp0{void}(res) end // end of [list_vt_nil] ) : void // end of [val] in true end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => false end // end of [then] else false // end of [else] // end of [if] end // end of [d2varmaplst_vt_remove] end // end of [local] (* ****** ****** *) (* end of [pats_dynexp2_dvar.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_dynexp.dats0000664000175000017500000012776512655455557020143 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_ccomp_dynexp" // (* ****** ****** *) // staload GLOBAL = "./pats_global.sats" // (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dyncst2.sats" (* ****** ****** *) staload "./pats_trans2_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload TYER = "./pats_typerase.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) macdef l2l (xs) = list_of_list_vt (,(xs)) macdef list_vt2t (xs) = $UN.linlst2lst (,(xs)) (* ****** ****** *) overload fprint with fprint_vbindmap (* ****** ****** *) extern fun d2var_ccomp ( env: !ccompenv , loc0: location, hse0: hisexp, d2v: d2var ) : primval // end of [d2var_ccomp] extern fun d2var_ccomp_some ( env: !ccompenv , loc0: location, hse0: hisexp, d2v: d2var, pmv: primval ) : primval // end of [d2var_ccomp_some] implement d2var_ccomp (env, loc0, hse0, d2v) = let // val opt = ccompenv_find_vbindmapall (env, d2v) // in case+ opt of | ~Some_vt(pmv) => d2var_ccomp_some(env, loc0, hse0, d2v, pmv) // end of [Some_vt] | ~None_vt((*void*)) => primval_error (loc0, hse0) // HX-2013-04: deadcode?! // end of [None_vt] // end // end of [d2var_ccomp] implement d2var_ccomp_some ( env, loc0, hse0, d2v, pmv ) = let // val lvl0 = the_d2varlev_get () val lvl1 = d2var_get_level (d2v) // in // case+ 0 of | _ when lvl1 < lvl0 => let (* environvar *) (* val () = println! ("d2var_ccomp_some: pmv = ", pmv) *) in case+ pmv.primval_node of | PMVfunlab (fl) => let val () = ccompenv_add_flabsetenv (env, fl) in pmv end // end of [PMVfunlab] | PMVcfunlab (_, fl) => let val () = ccompenv_add_flabsetenv (env, fl) in pmv end // end of [PMVcfunlab] | PMVd2vfunlab (d2v, fl) => let val () = ccompenv_add_flabsetenv (env, fl) in pmv end // end of [PMVd2vfunlab] | _ (*non-funlab*) => let val () = ccompenv_add_dvarsetenv_var (env, d2v) in if lvl1 > 0 then primval_env (loc0, hse0, d2v) else pmv(*toplevel*) end (* end of [_] *) end // end of [environvar] // | _ (*lvl1 >= lvl0*) => pmv (* [d2v] is at current-level *) // end // end of [d2var_ccomp_some] (* ****** ****** *) extern fun hidexp_ccomp_var : hidexp_ccomp_funtype extern fun hidexp_ccomp_cst : hidexp_ccomp_funtype extern fun hidexp_ccomp_string : hidexp_ccomp_funtype extern fun hidexp_ccomp_cstsp : hidexp_ccomp_funtype extern fun hidexp_ccomp_tmpcst : hidexp_ccomp_funtype extern fun hidexp_ccomp_tmpvar : hidexp_ccomp_funtype extern fun hidexp_ccomp_seq : hidexp_ccomp_funtype extern fun hidexp_ccomp_selab : hidexp_ccomp_funtype extern fun hidexp_ccomp_selvar : hidexp_ccomp_funtype extern fun hidexp_ccomp_selptr : hidexp_ccomp_funtype extern fun hidexp_ccomp_ptrofvar : hidexp_ccomp_funtype extern fun hidexp_ccomp_ptrofsel : hidexp_ccomp_funtype extern fun hidexp_ccomp_refarg : hidexp_ccomp_funtype extern fun hidexp_ccomp_assgn_var : hidexp_ccomp_funtype extern fun hidexp_ccomp_assgn_ptr : hidexp_ccomp_funtype extern fun hidexp_ccomp_xchng_var : hidexp_ccomp_funtype extern fun hidexp_ccomp_xchng_ptr : hidexp_ccomp_funtype (* ****** ****** *) extern fun hilab_ccomp (env: !ccompenv, res: !instrseq, hil: hilab): primlab // end of [fun hilab_ccomp] extern fun hilablst_ccomp (env: !ccompenv, res: !instrseq, hils: hilablst): primlablst // end of [fun hilablst_ccomp] (* ****** ****** *) extern fun hidexp_ccomp_ret_con : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_app : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_extfcall : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_extmcall : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_if : hidexp_ccomp_ret_funtype (* extern fun hidexp_ccomp_ret_sif : hidexp_ccomp_ret_funtype *) extern fun hidexp_ccomp_ret_lst : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_rec : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_seq : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_arrpsz : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_arrinit : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_laminit : hidexp_ccomp_ret_funtype extern fun hidexp_ccomp_ret_fixinit : hidexp_ccomp_ret_funtype (* ****** ****** *) local fun auxret ( env: !ccompenv , res: !instrseq , hde0: hidexp ) : primval = let val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val tmpret = tmpvar_make (loc0, hse0) val () = hidexp_ccomp_ret (env, res, tmpret, hde0) in primval_make_tmp (loc0, tmpret) end // end of [auxret] in (* in of [local] *) implement hidexp_ccomp (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // (* val () = println! ("hidexp_ccomp: hde0 = ", hde0) val () = println! ("hidexp_ccomp: hse0 = ", hse0) *) // in // case+ hde0.hidexp_node of // | HDEvar _ => hidexp_ccomp_var (env, res, hde0) | HDEcst _ => hidexp_ccomp_cst (env, res, hde0) // | HDEint (i) => primval_int (loc0, hse0, i) | HDEintrep (rep) => primval_intrep (loc0, hse0, rep) // | HDEbool (b) => primval_bool (loc0, hse0, b) | HDEchar (c) => primval_char (loc0, hse0, c) // | HDEfloat (rep) => let val f = $UT.double_make_string (rep) in primval_float (loc0, hse0, f) // end of [val] end // end of [HDEfloat] // | HDEstring _ => hidexp_ccomp_string (env, res, hde0) // | HDEi0nt (tok) => primval_i0nt (loc0, hse0, tok) | HDEf0loat (tok) => primval_f0loat (loc0, hse0, tok) // | HDEcstsp _ => hidexp_ccomp_cstsp (env, res, hde0) // | HDEtop () => primval_top (loc0, hse0) | HDEempty () => primval_empty (loc0, hse0) | HDEignore (hde) => hidexp_ccomp (env, res, hde) // | HDEextval (name) => primval_extval (loc0, hse0, name) // | HDEcastfn ( d2c_fun, hde_arg ) => let val pmv_arg = hidexp_ccomp (env, res, hde_arg) // end of [val] in primval_castfn (loc0, hse0, d2c_fun, pmv_arg) end // end of [HDEcastfn] // | HDEextfcall _ => auxret (env, res, hde0) | HDEextmcall _ => auxret (env, res, hde0) // | HDEcon _ => auxret (env, res, hde0) // | HDEtmpcst _ => hidexp_ccomp_tmpcst (env, res, hde0) | HDEtmpvar (d2v, t2mas) => hidexp_ccomp_tmpvar (env, res, hde0) // | HDEfoldat _ => primval_empty (loc0, hse0) | HDEfreeat (hde) => let val pmv = hidexp_ccomp (env, res, hde) val ins_free = instr_freecon (loc0, pmv) val ((*void*)) = instrseq_add (res, ins_free) in primval_empty (loc0, hse0) end // end of [HDEfreeat] // | HDElet (hids, hde_scope) => let // val (pfpush|()) = ccompenv_push (env) // val pmds = hideclist_ccomp (env, hids) val ins_push = instr_letpush (loc0, pmds) val () = instrseq_add (res, ins_push) // val pmv_scope = hidexp_ccomp (env, res, hde_scope) // val ins_pop = instr_letpop (loc0) val () = instrseq_add (res, ins_pop) // val ((*popped*)) = ccompenv_pop (pfpush | env) // in pmv_scope end // end of [HDElet] // | HDEapp _ => auxret (env, res, hde0) // | HDEif _ => auxret (env, res, hde0) // | HDEcase _ => auxret (env, res, hde0) // | HDElst _ => auxret (env, res, hde0) // | HDErec _ => auxret (env, res, hde0) // | HDEseq _ => hidexp_ccomp_seq (env, res, hde0) // | HDEselab _ => hidexp_ccomp_selab (env, res, hde0) // | HDEptrofvar _ => hidexp_ccomp_ptrofvar (env, res, hde0) | HDEptrofsel _ => hidexp_ccomp_ptrofsel (env, res, hde0) // | HDErefarg _ => hidexp_ccomp_refarg (env, res, hde0) // | HDEselvar _ => hidexp_ccomp_selvar (env, res, hde0) | HDEselptr _ => hidexp_ccomp_selptr (env, res, hde0) // | HDEassgn_var _ => hidexp_ccomp_assgn_var (env, res, hde0) | HDEassgn_ptr _ => hidexp_ccomp_assgn_ptr (env, res, hde0) // | HDExchng_var _ => hidexp_ccomp_xchng_var (env, res, hde0) | HDExchng_ptr _ => hidexp_ccomp_xchng_ptr (env, res, hde0) // | HDEarrpsz _ => auxret (env, res, hde0) // | HDEraise (hde_exn) => auxret (env, res, hde0) // (* | HDEvcopyenv (d2v) => HX: HDEvar (d2v) *) // | HDEtempenver (d2vs) => let val () = ccompenv_add_tempenver(env, d2vs) in primval_empty (loc0, hse0) end // end of [HDEtempenver] // | HDElam _ => hidexp_ccomp_lam (env, res, hde0) | HDEfix _ => hidexp_ccomp_fix (env, res, hde0) // | HDEdelay _ => auxret (env, res, hde0) | HDEldelay _ => auxret (env, res, hde0) | HDElazyeval _ => auxret (env, res, hde0) // | HDEloop _ => hidexp_ccomp_loop (env, res, hde0) | HDEloopexn _ => hidexp_ccomp_loopexn (env, res, hde0) // | HDEtrywith _ => auxret (env, res, hde0) // | HDEsif _(*error*) => let val () = prerr_errccomp_loc(loc0) val () = prerrln! (": [sif] is not supported after proof-erasure.") // end of [val] in primval_error (loc0, hse0) end (* end of [HDEsif] *) // | _(*unspported*) => let val () = prerr_interror_loc(loc0) val () = prerrln! (": hidexp_ccomp: hde0 = ", hde0) in exitloc (1) end // end of [_(*unsupported*)] // end // end of [let] // end of [hidexp_ccomp] implement hidexp_ccompv (env, res, hde0) = let val islval = hidexp_is_lvalue (hde0) in if islval then auxret (env, res, hde0) else hidexp_ccomp (env, res, hde0) // end of [if] end // end of [hidexp_ccompv] end // end of [local] (* ****** ****** *) implement hidexplst_ccomp (env, res, hdes) = let // fun loop ( env: !ccompenv , res: !instrseq , hdes: hidexplst , pmvs: &primvalist_vt? >> primvalist_vt ) : void = let in // case+ hdes of | list_cons (hde, hdes) => let val pmv = hidexp_ccomp (env, res, hde) val () = pmvs := list_vt_cons {..}{0} (pmv, ?) val list_vt_cons (_, !p_pmvs) = pmvs val () = loop (env, res, hdes, !p_pmvs) val () = fold@ (pmvs) in // nothing end // end of [list_cons] | list_nil () => let val () = pmvs := list_vt_nil () in (*nothing*) end // end of [list_nil] // end // end of [loop] // var pmvs: primvalist_vt val () = loop (env, res, hdes, pmvs) // in // list_of_list_vt (pmvs) // end // end of [hidexplst_ccomp] (* ****** ****** *) implement hidexplst_ccompv (env, res, hdes) = let // fun loop ( env: !ccompenv , res: !instrseq , hdes: hidexplst , pmvs: &primvalist_vt? >> primvalist_vt ) : void = let in // case+ hdes of | list_cons (hde, hdes) => let val pmv = hidexp_ccompv (env, res, hde) val () = pmvs := list_vt_cons {..}{0} (pmv, ?) val list_vt_cons (_, !p_pmvs) = pmvs val () = loop (env, res, hdes, !p_pmvs) val () = fold@ (pmvs) in // nothing end // end of [list_cons] | list_nil () => let val () = pmvs := list_vt_nil () in (*nothing*) end // end of [list_nil] // end // end of [loop] // var pmvs: primvalist_vt val () = loop (env, res, hdes, pmvs) // in // list_of_list_vt (pmvs) // end // end of [hidexplst_ccompv] (* ****** ****** *) extern fun labhidexplst_ccomp (env: !ccompenv, res: !instrseq, lhdes: labhidexplst): labprimvalist // end of [labhidexplst_ccomp] implement labhidexplst_ccomp (env, res, lhdes) = let // fun loop ( env: !ccompenv , res: !instrseq , lhdes: labhidexplst , lpmvs: &labprimvalist_vt? >> labprimvalist_vt ) : void = let in // case+ lhdes of | list_cons (lhde, lhdes) => let val LABHIDEXP (lab, hde) = lhde val pmv = hidexp_ccomp (env, res, hde) val lpmv = LABPRIMVAL (lab, pmv) val () = lpmvs := list_vt_cons {..}{0} (lpmv, ?) val list_vt_cons (_, !p_lpmvs) = lpmvs val () = loop (env, res, lhdes, !p_lpmvs) val () = fold@ (lpmvs) in // nothing end // end of [list_cons] | list_nil () => let val () = lpmvs := list_vt_nil () in (*nothing*) end // end of [list_nil] // end // end of [loop] // var lpmvs: labprimvalist_vt val () = loop (env, res, lhdes, lpmvs) // in // list_of_list_vt (lpmvs) // end // end of [labhidexplst_ccomp] (* ****** ****** *) local fun auxval ( env: !ccompenv , res: !instrseq , tmpret: tmpvar , hde0_val: hidexp ) : void = let val loc0 = hde0_val.hidexp_loc val pmv0 = hidexp_ccomp (env, res, hde0_val) val ins0 = instr_move_val (loc0, tmpret, pmv0) in instrseq_add (res, ins0) end // end of [auxval] in (* in of [local] *) implement hidexp_ccomp_ret ( env, res, tmpret, hde0 ) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // in // case+ hde0.hidexp_node of // | HDEvar _ => auxval (env, res, tmpret, hde0) | HDEcst _ => auxval (env, res, tmpret, hde0) // | HDEint _ => auxval (env, res, tmpret, hde0) | HDEintrep _ => auxval (env, res, tmpret, hde0) // | HDEbool _ => auxval (env, res, tmpret, hde0) | HDEchar _ => auxval (env, res, tmpret, hde0) | HDEfloat _ => auxval (env, res, tmpret, hde0) | HDEstring _ => auxval (env, res, tmpret, hde0) // | HDEi0nt _ => auxval (env, res, tmpret, hde0) | HDEf0loat _ => auxval (env, res, tmpret, hde0) // | HDEtop _ => () | HDEempty _ => auxval (env, res, tmpret, hde0) | HDEignore (hde) => let val _ = hidexp_ccomp (env, res, hde) in (*nothing*) end (* end of [HDEignore] *) // | HDEcastfn _ => auxval (env, res, tmpret, hde0) // | HDEextval _ => auxval (env, res, tmpret, hde0) | HDEextfcall _ => hidexp_ccomp_ret_extfcall (env, res, tmpret, hde0) (* end of [HDEextfcall] *) | HDEextmcall _ => hidexp_ccomp_ret_extmcall (env, res, tmpret, hde0) (* end of [HDEextmcall] *) // | HDEcon _ => hidexp_ccomp_ret_con (env, res, tmpret, hde0) (* end of [HDEcon] *) // | HDEtmpcst _ => auxval (env, res, tmpret, hde0) | HDEtmpvar _ => auxval (env, res, tmpret, hde0) // | HDEfoldat _ => auxval (env, res, tmpret, hde0) | HDEfreeat _ => auxval (env, res, tmpret, hde0) // | HDElet ( hids, hde_scope ) => let // val (pf | ()) = ccompenv_push (env) // val pmds = hideclist_ccomp (env, hids) val ins_push = instr_letpush (loc0, pmds) val () = instrseq_add (res, ins_push) // val () = hidexp_ccomp_ret (env, res, tmpret, hde_scope) // val ins_pop = instr_letpop (loc0) val () = instrseq_add (res, ins_pop) // val () = ccompenv_pop (pf(*push*) | env) // in // nothing end // end of [HDElet] // | HDEapp _ => hidexp_ccomp_ret_app (env, res, tmpret, hde0) // | HDEif _ => hidexp_ccomp_ret_if (env, res, tmpret, hde0) // | HDEcase _ => hidexp_ccomp_ret_case (env, res, tmpret, hde0) // | HDElst _ => hidexp_ccomp_ret_lst (env, res, tmpret, hde0) // | HDErec _ => hidexp_ccomp_ret_rec (env, res, tmpret, hde0) // | HDEseq _ => hidexp_ccomp_ret_seq (env, res, tmpret, hde0) // | HDEselab _ => auxval (env, res, tmpret, hde0) // | HDEptrofvar _ => auxval (env, res, tmpret, hde0) | HDEptrofsel _ => auxval (env, res, tmpret, hde0) // | HDEselvar _ => auxval (env, res, tmpret, hde0) | HDEselptr _ => auxval (env, res, tmpret, hde0) // | HDEassgn_var _ => auxval (env, res, tmpret, hde0) | HDEassgn_ptr _ => auxval (env, res, tmpret, hde0) // | HDExchng_var _ => auxval (env, res, tmpret, hde0) | HDExchng_ptr _ => auxval (env, res, tmpret, hde0) // | HDEarrpsz _ => hidexp_ccomp_ret_arrpsz (env, res, tmpret, hde0) | HDEarrinit _ => hidexp_ccomp_ret_arrinit (env, res, tmpret, hde0) // | HDEraise (hde_exn) => hidexp_ccomp_ret_raise (env, res, tmpret, hde0) // | HDElam (knd, _, _) => ( if knd != 0 then auxval (env, res, tmpret, hde0) else hidexp_ccomp_ret_laminit (env, res, tmpret, hde0) ) | HDEfix (knd, _, _) => ( if knd != 0 then auxval (env, res, tmpret, hde0) else hidexp_ccomp_ret_fixinit (env, res, tmpret, hde0) ) (* end of [HDEfix] *) // | HDEdelay _ => hidexp_ccomp_ret_delay (env, res, tmpret, hde0) | HDEldelay _ => hidexp_ccomp_ret_ldelay (env, res, tmpret, hde0) | HDElazyeval _ => hidexp_ccomp_ret_lazyeval (env, res, tmpret, hde0) // | HDEloop _ => auxval (env, res, tmpret, hde0) | HDEloopexn _ => auxval (env, res, tmpret, hde0) // | HDEtrywith _ => hidexp_ccomp_ret_trywith (env, res, tmpret, hde0) // | HDEsif _(*error*) => auxval (env, res, tmpret, hde0) // | _ => let val () = println! ("hidexp_ccomp_ret: loc0 = ", loc0) val () = println! ("hidexp_ccomp_ret: hde0 = ", hde0) in exitloc (1) end // end of [_] // end // end of [hidexp_ccomp_ret] end // end of [local] (* ****** ****** *) implement hilab_ccomp (env, res, hil) = let val loc = hil.hilab_loc in // case+ hil.hilab_node of | HILlab (lab) => primlab_lab (loc, lab) // end of [HILlab] | HILind (hdes_ind) => let val pmvs_ind = hidexplst_ccomp (env, res, hdes_ind) in primlab_ind (loc, pmvs_ind) end // end of [HILind] // end // end of [hilab_ccomp] implement hilablst_ccomp (env, res, hils) = let in // case hils of | list_cons (hil, hils) => let val pml = hilab_ccomp (env, res, hil) val pmls = hilablst_ccomp (env, res, hils) in list_cons (pml, pmls) end // end of [list_cons] | list_nil () => list_nil () // end // end of [hilablst_ccomp] (* ****** ****** *) implement hidexp_ccomp_var (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEvar (d2v) = hde0.hidexp_node // val pmv = d2var_ccomp (env, loc0, hse0, d2v) // in // case+ d2var_get_view (d2v) of // | None _(*val*) => pmv | Some _(*ref*) => primval_selptr (loc0, hse0, pmv, hse0, list_nil) // end // end of [hidexp_ccomp_var] (* ****** ****** *) implement hidexp_ccomp_cst (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEcst (d2c) = hde0.hidexp_node val () = the_dyncstlst_add (d2c) // in primval_cst (loc0, hse0, d2c) end // end of [hidexp_ccomp_cst] (* ****** ****** *) implement hidexp_ccomp_string (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEstring (str) = hde0.hidexp_node // in primval_string (loc0, hse0, str) end // end of [hidexp_ccomp_string] (* ****** ****** *) implement hidexp_ccomp_cstsp (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEcstsp (x) = hde0.hidexp_node // val pmc = ( case+ x of | $SYN.CSTSPmyfil () => let val fil = $LOC.location_get_filename (loc0) // end of [val] in PMCSTSPmyfil (fil) end // end of [CSTSPmyfil] | $SYN.CSTSPmyloc () => PMCSTSPmyloc (loc0) | $SYN.CSTSPmyfun () => let val () = assertloc (false) in exit (1) end // end of [CSTSPmyfun] ) : primcstsp // end of [val] // in primval_cstsp (loc0, hse0, pmc) end // end of [hidexp_ccomp_cstsp] (* ****** ****** *) implement hidexp_ccomp_tmpcst (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEtmpcst (d2c, t2mas) = hde0.hidexp_node // val tmplev = ccompenv_get_tmplevel (env) // in // case+ 0 of | _ when d2cst_is_sizeof (d2c) => let val-list_cons (t2ma, _) = t2mas val tloc = t2ma.t2mpmarg_loc val-list_cons (targ, _) = t2ma.t2mpmarg_arg val hselt = $TYER.s2exp_tyer_shallow (tloc, targ) in primval_make_sizeof (loc0, hselt) end // ... | _ when tmplev > 0 => let in primval_tmpltcst (loc0, hse0, d2c, t2mas) end // ... | _ => let val tmpmat = ccompenv_tmpcst_match (env, d2c, t2mas) // end of [val] (* val out = stdout_ref val () = println! ("hidexp_ccomp_tmpcst: d2c = ", d2c) val () = println! ("hidexp_ccomp_tmpcst: t2mas =") val () = ( fpprint_t2mpmarglst (out, t2mas); fprint_newline (out) ) val () = fprintln! (out, "hidexp_ccomp_tmpcst: mat = ", tmpmat) *) in ccomp_tmpcstmat (env, loc0, hse0, d2c, t2mas, tmpmat) end // end of [if] // end // end of [hidexp_ccomp_tmpcst] (* ****** ****** *) implement hidexp_ccomp_tmpvar (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEtmpvar (d2v, t2mas) = hde0.hidexp_node // val tmplev = ccompenv_get_tmplevel (env) // in // case+ 0 of | _ when tmplev > 0 => let in primval_tmpltvar (loc0, hse0, d2v, t2mas) end // end of [_ when ...] | _ => let val tmpmat = ccompenv_tmpvar_match (env, d2v, t2mas) // end of [val] (* val out = stdout_ref val () = println! ("hidexp_ccomp_tmpvar: d2v = ", d2v) val () = println! ("hidexp_ccomp_tmpvar: t2mas =") val () = ( fpprint_t2mpmarglst (out, t2mas); fprint_newline (out) ) val () = fprintln! (out, "hidexp_ccomp_tmpvar: mat = ", tmpmat) *) in ccomp_tmpvarmat (env, loc0, hse0, d2v, t2mas, tmpmat) end // end of [if] // end // end of [hidexp_ccomp_tmpvar] (* ****** ****** *) implement hidexp_ccomp_seq (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val-HDEseq (hdes) = hde0.hidexp_node // fun loop ( env: !ccompenv , res: !instrseq , hde0: hidexp, hdes: hidexplst ) : primval = let in // case+ hdes of | list_cons (hde, hdes) => let val _(*void*) = hidexp_ccomp (env, res, hde0) // end of [list_cons] in loop (env, res, hde, hdes) end // end of [list_cons] | list_nil () => hidexp_ccomp (env, res, hde0) // end // end of [loop] // in // case+ hdes of | list_cons (hde, hdes) => loop (env, res, hde, hdes) | list_nil () => primval_empty (loc0, hse0) // end // end of [hidexp_ccomp_seq] (* ****** ****** *) implement hidexp_ccomp_selab (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val-HDEselab (hde, hse_rt, hils) = hde0.hidexp_node // val pmv = hidexp_ccomp (env, res, hde) val pmls = hilablst_ccomp (env, res, hils) // in primval_select2 (loc0, hse0, pmv, hse_rt, pmls) end // end of [hidexp_ccomp_selab] (* ****** ****** *) implement hidexp_ccomp_selvar (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEselvar (d2v, hse_rt, hils) = hde0.hidexp_node // val pmv = d2var_ccomp (env, loc0, hse_rt, d2v) // (* val () = ( println! ("hidexp_ccomp_selvar: d2v = ", d2v); println! ("hidexp_ccomp_selvar: pmv = ", pmv); ) (* end of [val] *) *) // val pmls = hilablst_ccomp (env, res, hils) // in // case+ d2var_get_view (d2v) of // case+ | Some _ => primval_selptr (loc0, hse0, pmv, hse_rt, pmls) | None _ => primval_select2 (loc0, hse0, pmv, hse_rt, pmls) // end // end of [hidexp_ccomp_selvar] (* ****** ****** *) implement hidexp_ccomp_selptr (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEselptr (hde, hse_rt, hils) = hde0.hidexp_node val pmv = hidexp_ccomp (env, res, hde) val pmls = hilablst_ccomp (env, res, hils) // in primval_selptr (loc0, hse0, pmv, hse_rt, pmls) end // end of [hidexp_ccomp_selptr] (* ****** ****** *) implement hidexp_ccomp_ptrofvar (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEptrofvar (d2v) = hde0.hidexp_node // in d2var_ccomp (env, loc0, hse0, d2v) end // end of [hidexp_ccomp_ptrofvar] (* ****** ****** *) implement hidexp_ccomp_ptrofsel (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEptrofsel (hde, hse_rt, hils) = hde0.hidexp_node // val pmv = hidexp_ccomp (env, res, hde) val pmls = hilablst_ccomp (env, res, hils) // in primval_make_ptrofsel (loc0, pmv, hse_rt, pmls) end // end of [hidexp_ccomp_ptrofsel] (* ****** ****** *) implement hidexp_ccomp_refarg (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDErefarg (knd, freeknd, hde) = hde0.hidexp_node // val pmv = hidexp_ccomp (env, res, hde) // in primval_refarg (loc0, hse0, knd, freeknd, pmv) end // end of [hidexp_ccomp_refarg] (* ****** ****** *) implement hidexp_ccomp_assgn_var (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEassgn_var (d2v_l, hse_rt, hils, hde_r) = hde0.hidexp_node // end of [val] val pmv_l = d2var_ccomp (env, loc0, hse_rt, d2v_l) val pmls = hilablst_ccomp (env, res, hils) val pmv_r = hidexp_ccomp (env, res, hde_r) val ins = instr_store_ptrofs (loc0, pmv_l, hse_rt, pmls, pmv_r) val () = instrseq_add (res, ins) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_assgn_var] implement hidexp_ccomp_assgn_ptr (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEassgn_ptr (hde_l, hse_rt, hils, hde_r) = hde0.hidexp_node // end of [val] val pmv1 = hidexp_ccomp (env, res, hde_l) val pmls = hilablst_ccomp (env, res, hils) val pmv2 = hidexp_ccomp (env, res, hde_r) val ins = instr_store_ptrofs (loc0, pmv1, hse_rt, pmls, pmv2) val () = instrseq_add (res, ins) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_assgn_ptr] (* ****** ****** *) implement hidexp_ccomp_xchng_var (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDExchng_var (d2v_l, hse_rt, hils, hde_r) = hde0.hidexp_node // end of [val] val hse_r = hde_r.hidexp_type val tmp = tmpvar_make (loc0, hse_r) val pmv_l = d2var_ccomp (env, loc0, hse_rt, d2v_l) val pmls = hilablst_ccomp (env, res, hils) val pmv_r = hidexp_ccomp (env, res, hde_r) val ins = instr_xstore_ptrofs (loc0, tmp, pmv_l, hse_rt, pmls, pmv_r) val () = instrseq_add (res, ins) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_xchng_var] implement hidexp_ccomp_xchng_ptr (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDExchng_ptr (hde_l, hse_rt, hils, hde_r) = hde0.hidexp_node // end of [val] val hse_r = hde_r.hidexp_type val tmp = tmpvar_make (loc0, hse_r) val pmv1 = hidexp_ccomp (env, res, hde_l) val pmls = hilablst_ccomp (env, res, hils) val pmv2 = hidexp_ccomp (env, res, hde_r) val ins = instr_xstore_ptrofs (loc0, tmp, pmv1, hse_rt, pmls, pmv2) val () = instrseq_add (res, ins) // in primval_empty (loc0, hse0) end // end of [hidexp_ccomp_xchng_ptr] (* ****** ****** *) implement hidexp_ccomp_ret_con (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEcon (d2c, hse_sum, _arg) = hde0.hidexp_node // val () = the_dynconlst_add (d2c) val lpmvs = labhidexplst_ccomp (env, res, _arg) val ins = instr_move_con (loc0, tmpret, d2c, hse_sum, lpmvs) // in instrseq_add (res, ins) end // end of [hidexp_ccomp_ret_con] (* ****** ****** *) implement hidexp_ccomp_ret_app (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEapp(hde_fun, hse_fun, hdes_arg) = hde0.hidexp_node // val pmv_fun = hidexp_ccomp (env, res, hde_fun) val pmvs_arg = hidexplst_ccomp (env, res, hdes_arg) // var added: int = 0 // val tlcalopt = $GLOBAL.the_CCOMPATS_tlcalopt_get() // val isret = ( if tlcalopt > 0 then tmpvar_isret(tmpret) else false ) : bool // end of [val] // (* val () = println! ("hidexp_ccomp_ret_app: loc0 = ", loc0) val () = println! ("hidexp_ccomp_ret_app: pmv_fun = ", pmv_fun) *) // val () = if isret then ( case+ pmv_fun.primval_node of // | PMVcst (d2c) => let val opt = ccompenv_find_tailcalenv_cst (env, d2c) // end of [val] in case+ opt of | ~Some_vt (fl) => let val ntl = 0 val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [Some_vt] | ~None_vt ((*void*)) => ((*void*)) end // end of [PMVcst] // | PMVfunlab (fl) => let val ntl = ccompenv_find_tailcalenv (env, fl) in case+ 0 of | _ when ntl >= 0 => let val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [ntl >= 0] | _ (*ntl < 0*) => ((*void*)) end // end of [PMVfunlab] // | PMVcfunlab (knd, fl) => let val ntl = ccompenv_find_tailcalenv (env, fl) in case+ 0 of | _ when ntl >= 0 => let val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [if] | _ (*ntl < 0*) => ((*void*)) end // end of [PMVcfunlab] // | PMVd2vfunlab (d2v, fl) => let val ntl = ccompenv_find_tailcalenv (env, fl) in case+ 0 of | _ when ntl >= 0 => let val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [if] | _ (*ntl < 0*) => ((*void*)) end // end of [PMVd2vfunlab] // | PMVtmpltcst (d2c, t2mas) => let val opt = ccompenv_find_tailcalenv_tmpcst (env, d2c, t2mas) // end of [val] in case+ opt of | ~Some_vt (fl) => let val ntl = 0 val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) // end of [val] val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [Some_vt] | ~None_vt ((*void*)) => ((*void*)) end // end of [PMVtmpltcst] // | PMVtmpltvar (d2v, t2mas) => let var ntl: int = 0 val opt = ccompenv_find_tailcalenv_tmpvar (env, d2v, t2mas, ntl) // end of [val] in case+ opt of | ~Some_vt (fl) => let val ins = instr_fcall2 (loc0, tmpret, fl, ntl, hse_fun, pmvs_arg) val () = added := added + 1 val () = instrseq_add (res, ins) in // nothing end // end of [Some_vt] | ~None_vt ((*void*)) => ((*void*)) end // end of [PMVtmpltvar] // | _ (*non-tail-recursive*) => () // HX: [INSfcall] is to be added // ) (* end of [if] *) // (* val () = println! ("hidexp_ccomp_ret_app: added = ", added) *) // val () = if added > 0 then tmpvar_inc_tailcal (tmpret) // val () = if added = 0 then let val ins = instr_fcall (loc0, tmpret, pmv_fun, hse_fun, pmvs_arg) in instrseq_add (res, ins) end // end of [then] // end of [if] // in // nothing end // end of [hidexp_ccomp_ret_app] (* ****** ****** *) implement hidexp_ccomp_ret_extfcall (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEextfcall (_fun, _arg) = hde0.hidexp_node // val _arg = hidexplst_ccomp (env, res, _arg) // val ins = instr_extfcall (loc0, tmpret, _fun, _arg) // in instrseq_add (res, ins) end // end of [hidexp_ccomp_ret_extfcall] (* ****** ****** *) implement hidexp_ccomp_ret_extmcall (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val-HDEextmcall (_obj, _mtd, _arg) = hde0.hidexp_node // val _obj = hidexp_ccomp (env, res, _obj) val _arg = hidexplst_ccomp (env, res, _arg) // val ins = instr_extmcall (loc0, tmpret, _obj, _mtd, _arg) // in instrseq_add (res, ins) end // end of [hidexp_ccomp_ret_extmcall] (* ****** ****** *) implement hidexp_ccomp_ret_if (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val-HDEif (hde_cond, hde_then, hde_else) = hde0.hidexp_node // val pmv_cond = hidexp_ccomp (env, res, hde_cond) // val tmpret_then = tmpret val res_then = instrseq_make_nil () val (pfpush | ()) = ccompenv_push (env) val () = hidexp_ccomp_ret (env, res_then, tmpret_then, hde_then) val () = ccompenv_pop (pfpush | env) val inss_then = instrseq_get_free (res_then) // val tmpret_else = tmpret val res_else = instrseq_make_nil () val (pfpush | ()) = ccompenv_push (env) val () = hidexp_ccomp_ret (env, res_else, tmpret_else, hde_else) val () = ccompenv_pop (pfpush | env) val inss_else = instrseq_get_free (res_else) // val ins = instr_cond (loc0, pmv_cond, inss_then, inss_else) // in instrseq_add (res, ins) end // end of [hidexp_ccomp_ret_if] (* ****** ****** *) local fun auxnode ( env: !ccompenv , res: !instrseq , tmphd: tmpvar, tmptl: tmpvar , hse_elt: hisexp, hde: hidexp ) : void = let // val loc = hde.hidexp_loc // val ins = instr_pmove_list_cons (loc, tmptl, hse_elt) val ( ) = instrseq_add (res, ins) val ins = instr_move_list_phead (loc, tmphd, tmptl, hse_elt) val ( ) = instrseq_add (res, ins) // val pmv = hidexp_ccomp (env, res, hde) val ins = instr_pmove_val (loc, tmphd, pmv) val () = instrseq_add (res, ins) // val ins = instr_move_list_ptail (loc, tmptl, tmptl, hse_elt) val () = instrseq_add (res, ins) // in // nothing end // end of [auxnode] fun auxnodelst ( env: !ccompenv , res: !instrseq , tmphd: tmpvar, tmptl: tmpvar , loc0: location, hse_elt: hisexp, hdes: hidexplst ) : void = let in // case+ hdes of | list_cons (hde, hdes) => let val () = auxnode (env, res, tmphd, tmptl, hse_elt, hde) // end of [list_cons] in auxnodelst (env, res, tmphd, tmptl, loc0, hse_elt, hdes) end // end of [list_cons] | list_nil () => let val ins = instr_pmove_list_nil (loc0, tmptl) in instrseq_add (res, ins) // end of [val] end // end of [list_nil] // end // end of [auxnodelst] in (* in of [local] *) implement hidexp_ccomp_ret_lst (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val ( ) = instrseq_add_tmpdec (res, loc0, tmpret) // val-HDElst (knd, hse_elt, hdes) = hde0.hidexp_node // in // case+ hdes of | list_cons _ => let val pmv = primval_make_tmp (loc0, tmpret) val pmv_ref = primval_ptrof (loc0, hisexp_typtr, pmv) val tmphd = tmpvar_make (loc0, hisexp_datconptr) val tmptl = tmpvar_make (loc0, hisexp_datconptr) val ins = instr_move_val (loc0, tmptl, pmv_ref) val ((*void*)) = instrseq_add (res, ins) in auxnodelst (env, res, tmphd, tmptl, loc0, hse_elt, hdes) end // end of [list_cons] | list_nil () => let val ins = instr_move_list_nil (loc0, tmpret) in instrseq_add (res, ins) // end of [val] end // end of [list_nil] end // end of [hidexp_ccomp_ret_lst] end // end of [local] (* ****** ****** *) local fun auxlst ( env: !ccompenv , res: !instrseq , lxs: labhidexplst ) : labprimvalist = let in // case+ lxs of | list_cons (lx, lxs) => let val LABHIDEXP (l, x) = lx val pmv = hidexp_ccomp (env, res, x) // end of [val] val lpmv = LABPRIMVAL (l, pmv) val lpmvs = auxlst (env, res, lxs) in list_cons (lpmv, lpmvs) end // end of [list_cons] | list_nil () => list_nil () // end // end of [auxlst] in (* in of [local] *) implement hidexp_ccomp_ret_rec (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val-HDErec (knd, lhdes, hse_rec) = hde0.hidexp_node // val lpmvs = auxlst (env, res, lhdes) // val ins = ( if knd > 0 then instr_move_boxrec (loc0, tmpret, lpmvs, hse_rec) else instr_move_fltrec2 (loc0, tmpret, lpmvs, hse_rec) // end of [if] ) : instr // end of [val] // in instrseq_add (res, ins) end // end of [hidexp_ccomp_ret_rec] end // end of [local] (* ****** ****** *) implement hidexp_ccomp_ret_seq (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val-HDEseq (hdes) = hde0.hidexp_node // fun loop ( env: !ccompenv , res: !instrseq , hde0: hidexp, hdes: hidexplst , tmpret: tmpvar ) : void = let in // case+ hdes of | list_cons (hde, hdes) => let val _(*void*) = hidexp_ccomp (env, res, hde0) // end of [list_cons] in loop (env, res, hde, hdes, tmpret) end // end of [list_cons] | list_nil () => hidexp_ccomp_ret (env, res, tmpret, hde0) // end // end of [loop] // in // case+ hdes of | list_cons ( hde, hdes ) => loop (env, res, hde, hdes, tmpret) | list_nil () => () // end // end of [hidexp_ccomp_ret_seq] (* ****** ****** *) local fun auxlst ( env: !ccompenv , res: !instrseq , arrp: tmpvar , asz: int, hse_elt: hisexp, hdes_elt: hidexplst ) : void = ( // case+ hdes_elt of | list_cons _ => let val pmvs_elt = hidexplst_ccompv (env, res, hdes_elt) in auxlst2 (env, res, arrp, hse_elt, pmvs_elt, asz, pmvs_elt) end // end of [list_cons] | list_nil((*void*)) => () // HX: uninitized array // ) (* end of [auxlst] *) and auxlst2 ( env: !ccompenv , res: !instrseq , arrp: tmpvar , hse_elt: hisexp , pmvs_elt: primvalist , n: int, xs: primvalist ) : void = ( // if n > 0 then ( // case+ xs of // | list_cons (x, xs) => let // val n = n - 1 val loc = x.primval_loc // val ins = instr_pmove_val (loc, arrp, x) val () = instrseq_add (res, ins) // val () = ( if n >= 1 then let val ins = instr_update_ptrinc (loc, arrp, hse_elt) // end of [val] in instrseq_add (res, ins) end // end of [then] // end of [if] ) : void // end of [val] // in auxlst2 (env, res, arrp, hse_elt, pmvs_elt, n, xs) end // end of [list_cons] // | list_nil () => let val xs = pmvs_elt in auxlst2 (env, res, arrp, hse_elt, pmvs_elt, n, xs) end // end of [list_nil] // ) (* end of [then] *) // ) (* end of [auxlst2] *) in (* in of [local] *) implement hidexp_ccomp_ret_arrpsz (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type // val () = instrseq_add_tmpdec (res, loc0, tmpret) // val-HDEarrpsz (hse_elt, hdes, asz) = hde0.hidexp_node // val ins = instr_store_arrpsz_asz (loc0, tmpret, asz) val ((*void*)) = instrseq_add (res, ins) val ins = instr_store_arrpsz_ptr (loc0, tmpret, hse_elt, asz) val ((*void*)) = instrseq_add (res, ins) // val arrp = tmpvar_make (loc0, hisexp_arrptr) val ins = instr_move_arrpsz_ptr (loc0, arrp, tmpret) val ((*void*)) = instrseq_add (res, ins) // in auxlst (env, res, arrp, asz, hse_elt, hdes) end // end of [hidexp_ccomp_ret_arrpsz] (* ****** ****** *) implement hidexp_ccomp_ret_arrinit (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEarrinit (hse_elt, hde_asz, hdes, asz) = hde0.hidexp_node // val loc = tmpvar_get_loc (tmpret) val arrp = tmpvar_make (loc0, hisexp_arrptr) val ins = instr_move_val (loc0, arrp, primval_make_tmp (loc, tmpret)) val ((*void*)) = instrseq_add (res, ins) // in auxlst (env, res, arrp, asz, hse_elt, hdes) end // end of [hidexp_ccomp_ret_arrinit] end // end of [local] (* ****** ****** *) implement hidexp_ccomp_ret_raise (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEraise (hde_exn) = hde0.hidexp_node val pmv_exn = hidexp_ccomp (env, res, hde_exn) // val ins = instr_raise (loc0, tmpret, pmv_exn) val () = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_raise] (* ****** ****** *) implement hidexp_ccomp_funlab_arg_body ( env , flab , imparg , tmparg , prolog , loc_fun , hips_arg , hde_body ) = let (* val () = println! ( "hidexp_ccomp_funlab_arg_body: flab = ", flab ) (* end of [val] *) *) // val res = instrseq_make_nil () val ((*void*)) = instrseq_addlst (res, prolog) // val flvl0 = funlab_get_level (flab) // val (pfinc | ()) = the_d2varlev_inc () // val () = ccompenv_inc_flabsetenv (env) val () = ccompenv_inc_dvarsetenv (env) val () = ccompenv_inc_vbindmapenv (env) // val () = let val lvl1 = the_d2varlev_get () in hifunarg_ccomp (env, res, flab, lvl1, loc_fun, hips_arg) end // end of [val] // val loc_body = hde_body.hidexp_loc val hse_body = hde_body.hidexp_type val tmpret = tmpvar_make_ret (loc_body, hse_body) val () = hidexp_ccomp_ret (env, res, tmpret, hde_body) // val vbmap = ccompenv_getdec_vbindmapenv (env) // val flset = ccompenv_getdec_flabsetenv (env) val fls0 = funlabset_vt_listize_free (flset) val fls0 = ccompenv_addlst_flabsetenv_ifmap (env, flvl0, vbmap, fls0) // val d2es = ccompenv_getdec_dvarsetenv (env) // val d2es = d2envset_vt_listize_free (d2es) // val () = the_d2varlev_dec (pfinc | (*none*)) // val inss = instrseq_get_free (res) // val fent = funent_make2 ( loc_fun, flab , imparg, tmparg, tmpret, (l2l)fls0, (l2l)d2es, vbmap, inss ) (* end of [val] *) // in fent end // end of [hidexp_ccomp_funlab_arg_body] (* ****** ****** *) extern fun hidexp_ccomp_lam_flab ( env: !ccompenv, res: !instrseq, hde0: hidexp, flab: funlab ) : void // end of [hidexp_ccomp_lam_flab] (* ****** ****** *) implement hidexp_ccomp_lam_flab (env, res, hde0, flab) = let // val loc0 = hde0.hidexp_loc val-HDElam (knd, hips_arg, hde_body) = hde0.hidexp_node // val () = ccompenv_inc_tailcalenv (env, flab) // val tmplev = ccompenv_get_tmplevel (env) val () = if tmplev > 0 then funlab_set_tmpknd (flab, 1) // val fent = let val imparg = list_nil(*s2vs*) val tmparg = list_nil(*s2ess*) val ins = instr_funlab (loc0, flab) val prolog = list_sing (ins) in hidexp_ccomp_funlab_arg_body (env, flab, imparg, tmparg, prolog, loc0, hips_arg, hde_body) // end of [hidexp_ccomp_funlab_arg_body] end // end of [val] val () = funlab_set_funent (flab, Some(fent)) // val () = ccompenv_dec_tailcalenv (env) // (* val out = stdout_ref val finfls = funent_eval_flablst (fent) val () = fprintln! (out, "hidexp_ccomp_lam: finfls = ", finfls) val find2es = funent_eval_d2envlst (fent) val () = fprintln! (out, "hidexp_ccomp_lam: find2es = ", find2es) val () = fprintln! (out, "hidexp_ccomp_lam: fent = ", fent) *) // in // nothing end // end of [hidexp_ccomp_lam_flab] (* ****** ****** *) implement hidexp_ccomp_lam (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val flab = funlab_make_type (hse0) val pmv0 = primval_make_funlab (loc0, flab) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) val () = hidexp_ccomp_lam_flab (env, res, hde0, flab) // in primval_lamfix (0(*lam*), pmv0) end // end of [hidexp_ccomp_lam] (* ****** ****** *) implement hidexp_ccomp_fix (env, res, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEfix (knd, f_d2v, hde_def) = hde0.hidexp_node val hse0 = hde_def.hidexp_type val flab = funlab_make_type (hse0) val pmv0 = primval_make_funlab (loc0, flab) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) val () = ccompenv_add_vbindmapenvall (env, f_d2v, pmv0) // val () = hidexp_ccomp_lam_flab (env, res, hde_def, flab) // in primval_lamfix (1(*fix*), pmv0) end // end of [hidexp_ccomp_fix] (* ****** ****** *) extern fun tmpvar_set2_tyclo (tmp: tmpvar, fl: funlab): void implement tmpvar_set2_tyclo (tmpret, flab) = let // typedef funlab = hisexp_funlab_type // in tmpvar_set_tyclo (tmpret, $UN.cast{funlab}(flab)) end // end of [tmpvar_set2_tyclo] (* ****** ****** *) implement hidexp_ccomp_ret_laminit (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val hse0 = hde0.hidexp_type val flab = funlab_make_type (hse0) val flvl = funlab_get_level (flab) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) val () = hidexp_ccomp_lam_flab (env, res, hde0, flab) // val () = if flvl > 0 then tmpvar_set2_tyclo (tmpret, flab) // end of [if] // end of [val] // val ins = instr_closure_initize (loc0, tmpret, flab) val () = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_laminit] (* ****** ****** *) implement hidexp_ccomp_ret_fixinit (env, res, tmpret, hde0) = let // val loc0 = hde0.hidexp_loc val-HDEfix (knd, d2v, hde) = hde0.hidexp_node // val loc = hde.hidexp_loc val hse = hde.hidexp_type val flab = funlab_make_type (hse) val flvl = funlab_get_level (flab) // val () = the_funlablst_add (flab) val () = ccompenv_add_flabsetenv (env, flab) // val pmv = primval_funlab (loc, hse, flab) val () = ccompenv_add_vbindmapenvall (env, d2v, pmv) // val () = hidexp_ccomp_lam_flab (env, res, hde, flab) // val () = if flvl > 0 then tmpvar_set2_tyclo (tmpret, flab) // end of [if] // end of [val] // val ins = instr_closure_initize (loc0, tmpret, flab) val () = instrseq_add (res, ins) // in // nothing end // end of [hidexp_ccomp_ret_fixinit] (* ****** ****** *) (* end of [pats_ccomp_dynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_solve.sats0000664000175000017500000001316712655455557020256 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: October, 2011 // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) fun label_equal_solve_err (loc: location, l1: label, l2: label, err: &int): void // end of [label_equal_solve_err] fun stamp_equal_solve_err (loc: location, s1: stamp, s2: stamp, err: &int): void // end of [stamp_equal_solve_err] (* ****** ****** *) fun funclo_equal_solve (loc: location, fc1: funclo, fc2: funclo): int(*err*) fun funclo_equal_solve_err (loc: location, fc1: funclo, fc2: funclo, err: &int): void // end of [funclo_equal_solve_err] (* ****** ****** *) fun clokind_equal_solve_err (loc: location, knd1: int, knd2: int, err: &int): void // end of [clokind_equal_solve_err] (* ****** ****** *) fun linearity_equal_solve (loc: location, lin1: int, lin2: int): int(*err*) fun linearity_equal_solve_err (loc: location, lin1: int, lin2: int, err: &int): void // end of [linearity_equal_solve_err] (* ****** ****** *) fun pfarity_equal_solve (loc: location, npf1: int, npf2: int): int(*err*) fun pfarity_equal_solve_err (loc: location, npf1: int, npf2: int, err: &int): void // end of [pfarity_equal_solve_err] (* ****** ****** *) fun s2eff_subeq_solve (loc: location, s2fe1: s2eff, s2fe2: s2eff): int(*err*) // end of [s2eff_subeq_solve] fun s2eff_subeq_solve_err (loc: location, s2fe1: s2eff, s2fe2: s2eff, err: &int): void // end of [s2eff_subeq_solve_err] (* ****** ****** *) fun boxity_equal_solve_err ( loc: location, knd1: int, knd2: tyreckind, err: &int ) : void // end of [boxity_equal_solve_err] fun tyreckind_equal_solve_err ( loc: location, knd1: tyreckind, knd2: tyreckind, err: &int ) : void // end of [tyreckind_equal_solve_err] (* ****** ****** *) fun refval_equal_solve_err (loc: location, knd1: int, knd2: int, err: &int): void // end of [refval_equal_solve_err] (* ****** ****** *) fun s2hnf_equal_solve (loc: location, s2f1: s2hnf, s2f2: s2hnf): int(*err*) // end of [s2hnf_equal_solve] fun s2exp_equal_solve (loc: location, s2e1: s2exp, s2e2: s2exp): int // end of [s2exp_equal_solve] fun s2hnf_equal_solve_err (loc: location, s2f1: s2hnf, s2f2: s2hnf, err: &int): void // end of [s2hnf_equal_solve_err] fun s2exp_equal_solve_err (loc: location, s2e1: s2exp, s2e2: s2exp, err: &int): void // end of [s2exp_equal_solve_err] fun s2explst_equal_solve_err ( loc: location, s2es1: s2explst, s2es2: s2explst, err: &int ) : void // end of [s2explst_equal_solve_err] fun labs2explst_equal_solve_err ( loc: location, ls2es1: labs2explst, ls2es2: labs2explst, err: &int ) : void // end of [labs2explst_equal_solve_err] fun wths2explst_equal_solve_err ( loc: location, ws2es1: wths2explst, ws2es2: wths2explst, err: &int ) : void // end of [wths2explst_equal_solve_err] (* ****** ****** *) fun s2hnf_tyleq_solve (loc: location, s2f1: s2hnf, s2f2: s2hnf): int(*err*) // end of [s2hnf_tyleq_solve] fun s2exp_tyleq_solve (loc: location, s2e1: s2exp, s2e2: s2exp): int // end of [s2exp_tyleq_solve] fun s2hnf_tyleq_solve_err (loc: location, s2f1: s2hnf, s2f2: s2hnf, err: &int): void // end of [s2hnf_tyleq_solve] fun s2exp_tyleq_solve_err (loc: location, s2e1: s2exp, s2e2: s2exp, err: &int): void // end of [s2exp_tyleq_solve_err] fun s2explst_tyleq_solve_err ( loc: location, s2es1: s2explst, s2es2: s2explst, err: &int ) : void // end of [s2explst_tyleq_solve_err] fun labs2explst_tyleq_solve_err ( loc: location, ls2es1: labs2explst, ls2es2: labs2explst, err: &int ) : void // end of [labs2explst_tyleq_solve_err] fun wths2explst_tyleq_solve_err ( loc: location, ws2es1: wths2explst, ws2es2: wths2explst, err: &int ) : void // end of [wths2explst_tyleq_solve_err] (* ****** ****** *) fun // HX: handling abstract types s2explst_tyleq_solve_argsrtlst_err ( loc: location , argsrts: syms2rtlst // HX: containing info on argument variances , s2es1: s2explst, s2es2: s2explst, err: &int ) : void // end of [s2explst_tyleq_solve_argvarlst_err] (* ****** ****** *) fun s2hnf_hypequal_solve (loc: location, s2f1: s2hnf, s2f2: s2hnf): void fun s2exp_hypequal_solve (loc: location, s2e1: s2exp, s2e2: s2exp): void fun s2explst_hypequal_solve (loc: location, s2es1: s2explst, s2es2: s2explst): void (* ****** ****** *) (* end of [pats_staexp2_solve.sats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_myint.dats0000664000175000017500000000335012655455557020506 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2014 // (* ****** ****** *) #include "./pats_params.hats" (* ****** ****** *) #if C3NSTRINTKND="intknd" #then // #include "./pats_lintprgm_myint_int.dats" // #elif C3NSTRINTKND="gmpknd" #then // #include "./pats_lintprgm_myint_gmp.dats" // #else // #error ("ERROR: pats_lintprgm_myint: [C3NSTRINTKND] is undefined!\n") // #endif // end of [#if] (* ****** ****** *) (* end of [pats_lintprgm_myint.dats] *) ATS2-Postiats-0.2.6/./src/pats_lintprgm_myint.cats0000664000175000017500000000317312655455557020510 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: March, 2012 // /* ****** ****** */ #ifndef PATS_LINTPRGM_MYINT_CATS #define PATS_LINTPRGM_MYINT_CATS typedef ats_int_type intknd ; // -> int typedef ats_ptr_type gmpknd ; // -> intinf in libats/SATS/intinf.sats #endif // end of [PATS_LINTPRGM_MYINT_CATS] /* ****** ****** */ /* end of [pats_lintprgm_myint.cats] */ ATS2-Postiats-0.2.6/./src/pats_counter.dats0000664000175000017500000000566112655455557017120 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_counter.sats" (* ****** ****** *) assume count_t0ype = int assume counter_type = ref (count) (* ****** ****** *) implement count_get_int (x) = x (* ****** ****** *) implement lt_count_count (x1, x2) = lt_int_int (x1, x2) implement lte_count_count (x1, x2) = lte_int_int (x1, x2) implement gt_count_count (x1, x2) = gt_int_int (x1, x2) implement gte_count_count (x1, x2) = gte_int_int (x1, x2) implement eq_count_count (x1, x2) = eq_int_int (x1, x2) implement neq_count_count (x1, x2) = neq_int_int (x1, x2) implement compare_count_count (x1, x2) = compare_int_int (x1, x2) (* ****** ****** *) implement fprint_count (out, x) = fprint_int (out, x) (* ****** ****** *) implement tostring_count (cnt) = let val str = sprintf ("%i", @(cnt)) in string_of_strptr (str) end // end of [tostring_count] implement tostring_prefix_count (pre, cnt) = let val str = sprintf ("%s%i", @(pre,cnt)) in string_of_strptr (str) end // end of [tostring_prefix_count] (* ****** ****** *) // implement counter_make () = ref_make_elt (0) // implement counter_inc (cntr) = !cntr := !cntr + 1 implement counter_get (cntr) = !cntr implement counter_set (cntr, cnt) = !cntr := cnt implement counter_reset (cntr) = !cntr := 0 // implement counter_getinc (cntr) = n where { val n = !cntr ; val () = !cntr := n + 1 } // end of [counter_getinc] // implement counter_incget (cntr) = n1 where { val n1 = !cntr + 1; val () = !cntr := n1 } // end of [counter_incget] // (* ****** ****** *) (* end of [pats_counter.dats] *) ATS2-Postiats-0.2.6/./src/pats_parsing_dynexp.dats0000664000175000017500000014517612655455557020501 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload "./pats_symbol.sats" staload "./pats_lexing.sats" staload "./pats_tokbuf.sats" staload "./pats_syntax.sats" (* ****** ****** *) staload "./pats_parsing.sats" (* ****** ****** *) #define l2l list_of_list_vt #define t2t option_of_option_vt (* ****** ****** *) viewtypedef d0explst12 = list12 (d0exp) viewtypedef labd0explst12 = list12 (labd0exp) (* ****** ****** *) fun d0exp_list12 ( t_beg: token , ent2: d0explst12 , t_end: token ) : d0exp = case+ ent2 of | ~LIST12one (xs) => d0exp_list (t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in d0exp_list (t_beg, npf, (l2l)xs12, t_end) end (* end of [LIST12two] *) // end of [d0exp_list12] (* ****** ****** *) fun d0exp_list12_if ( t_beg: token , ent2: d0explst12 , t_end: token , err: int, err0: int ) : d0exp = if err = err0 then d0exp_list12 (t_beg, ent2, t_end) else let val () = list12_free (ent2) in synent_null () end (* end of [if] *) // end of [d0exp_list12_if] (* ****** ****** *) fun d0exp_tup12 ( knd: int , t_beg: token , ent2: d0explst12 , t_end: token ) : d0exp = let in // case+ ent2 of | ~LIST12one (xs) => d0exp_tup (knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in d0exp_tup (knd, t_beg, npf, (l2l)xs12, t_end) end (* end of [LIST12two] *) // end // end of [d0exp_tup12] (* ****** ****** *) fun d0exp_rec12 ( knd: int , t_beg: token, ent2: labd0explst12, t_end: token ) : d0exp = let in // case+ ent2 of | ~LIST12one (xs) => d0exp_rec (knd, t_beg, ~1, (l2l)xs, t_end) | ~LIST12two (xs1, xs2) => let val npf = list_vt_length (xs1) val xs12 = list_vt_append (xs1, xs2) in d0exp_rec (knd, t_beg, npf, (l2l)xs12, t_end) end // end // end of [d0exp_rec12] (* ****** ****** *) fun p_d0expseq_BAR_d0expseq ( buf: &tokbuf, bt: int, err: &int ) : d0explst12 = plist12_fun (buf, bt, p_d0exp) // end of [p_d0expseq_BAR_d0expseq] fun p1_d0expseq_BAR_d0expseq ( d0e: d0exp , buf: &tokbuf, bt: int, err: &int ) : d0explst12 = p1list12_fun (d0e, buf, bt, p_d0exp) // end of [p1_d0expseq_BAR_d0expseq] (* ****** ****** *) fun p_labd0expseq_BAR_labd0expseq ( buf: &tokbuf, bt: int, err: &int ) : labd0explst12 = let val _ = p_COMMA_test (buf) in plist12_fun (buf, bt, p_labd0exp) end // end of [p_labd0expseq_BAR_labd0expseq] (* ****** ****** *) (* di0de | IDENTIFIER_alp | IDENTIFIER_sym | BACKSLASH | BANG | EQ | GT | LT | TILDE | GTLT *) implement p_di0de (buf, bt, err) = let val tok = tokbuf_get_token (buf) val loc = tok.token_loc macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_IDENT_alp (x) => let val () = incby1 () in i0de_make_string (loc, x) end | T_IDENT_sym (x) => let val () = incby1 () in i0de_make_string (loc, x) end // | T_LT () => let val () = incby1 () in i0de_make_sym (loc, symbol_LT) end | T_GT () => let val () = incby1 () in i0de_make_sym (loc, symbol_GT) end // | T_BACKSLASH ((*void*)) => let val () = incby1 () in i0de_make_sym (loc, symbol_BACKSLASH) end | T_BANG () => let val () = incby1 () in i0de_make_sym (loc, symbol_BANG) end | T_EQ () => let // [EQ] is a keyword in the statics val () = incby1 () in i0de_make_sym (loc, symbol_EQ) end | T_TILDE () => let val () = incby1 () in i0de_make_sym (loc, symbol_TILDE) end // | T_GTLT () => let val () = incby1 () in i0de_make_sym (loc, symbol_GTLT) end // | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_di0de) in synent_null () end // end of [_] // end // end of [p_di0de] (* ****** ****** *) (* d0ynq ::= | i0de_dlr DOT | i0de_dlr COLON | i0de_dlr i0de_dlr COLON /* | DOLLAR LITERAL_string DOT | DOLLAR LITERAL_string i0de_dlr COLON */ *) implement p_d0ynq(buf, bt, err) = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) // val tok = tokbuf_get_token(buf) // val loc = tok.token_loc // var ent: synent? // uninitized macdef incby1 () = tokbuf_incby1 (buf) // in // case+ 0 of | _ when ptest_fun ( buf, p_i0de_dlr, ent ) => let val bt = 0 val ent1 = synent_decode{i0de}(ent) // end of [val] val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of // case+ | T_DOT () => let val () = incby1 () in d0ynq_symdot(ent1, tok2) end | T_COLON () => let val () = incby1 () in d0ynq_symcolon(ent1, tok2) end | _ => let val ent2 = p_i0de_dlr (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_COLON, err0) in if err = err0 then d0ynq_symdotcolon(ent1, ent2, ent3) else let val () = the_parerrlst_add_ifnbt(bt, loc, PE_d0ynq) // end of [val] in tokbuf_set_ntok_null(buf, n0) end // end of [else] // end of [if] end // end of [_] end (* end of [_ when ...] *) // | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt(bt, loc, PE_d0ynq) in synent_null ((*void*)) end (* end of [_] *) // end // end of [p_d0ynq] (* ****** ****** *) fun pqi0de_fun ( buf: &tokbuf , bt: int, err: &int , f: parser (i0de) , enode: parerr_node ) : dqi0de = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) // val tok = tokbuf_get_token (buf) // val loc = tok.token_loc // var ent: synent? // uninitized // in // case+ 0 of | _ when ptest_fun (buf, f, ent) => dqi0de_make_none(synent_decode{i0de}(ent)) | _ when ptest_fun(buf, p_d0ynq, ent) => let // val bt = 0 // HX: avoiding false positive val ent1 = synent_decode{d0ynq}(ent) val ent2 = f(buf, bt, err) // HX: err = err0 in if err = err0 then dqi0de_make_some(ent1, ent2) else tokbuf_set_ntok_null(buf, n0) // end of [if] end | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, enode) in synent_null () end // end // end of [pqi0de_fun] (* dqi0de ::= di0de | d0ynq di0de *) implement p_dqi0de (buf, bt, err) = pqi0de_fun (buf, bt, err, p_di0de, PE_dqi0de) // end of [p_dqi0de] (* ****** ****** *) fun p_arri0de ( buf: &tokbuf, bt: int, err: &int ) : i0de = let val tok = tokbuf_get_token (buf) in // case+ tok.token_node of | T_IDENT_arr (name) => let val () = tokbuf_incby1 (buf) in i0de_make_string (tok.token_loc, name) end | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_arri0de] implement p_arrqi0de (buf, bt, err) = pqi0de_fun (buf, bt, err, p_arri0de, PE_arrqi0de) // end of [p_arrqi0de] (* ****** ****** *) fun p_tmpi0de ( buf: &tokbuf, bt: int, err: &int ) : i0de = let val tok = tokbuf_get_token (buf) in // case+ tok.token_node of | T_IDENT_tmp (name) => let val () = tokbuf_incby1 (buf) in i0de_make_string (tok.token_loc, name) end | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_tmpi0de] implement p_tmpqi0de (buf, bt, err) = pqi0de_fun (buf, bt, err, p_tmpi0de, PE_tmpqi0de) // end of [p_tmpqi0de] (* ****** ****** *) (* labd0exp ::= l0ab EQ d0exp *) implement p_labd0exp ( buf, bt, err ) = let val err0 = err val tok = tokbuf_get_token (buf) val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun{l0ab,token,d0exp}(buf, bt, err, p_l0ab, p_EQ, p_d0exp) (* end of [val] *) in // if (err = err0) then labd0exp_make (ent1, ent3) else let val () = the_parerrlst_add_ifnbt (bt, tok.token_loc, PE_labd0exp) in synent_null ((*okay*)) end (* end of [if] *) // end // end of [p_labd0exp] (* ****** ****** *) (* eqd0expopt :: = [EQ d0exp] *) implement p_eqd0expopt (buf, bt, err) = t2t (ptokentopt_fun (buf, is_EQ, p_d0exp)) // end of [p_eqd0expopt] (* ****** ****** *) (* d0expsemiseq = | d0exp {SEMICOLON d0exp}* {SEMICOLON}* | /*empty*/ *) implement p_d0expsemiseq (buf, bt, err) = let val err0 = err val x = p_d0exp (buf, 1(*bt*), err) // HX: optional macdef incby1 () = tokbuf_incby1 (buf) in // if err = err0 then let val tok = tokbuf_get_token (buf) in // case+ tok.token_node of | T_SEMICOLON () => let val () = incby1 () val xs = p_d0expsemiseq (buf, 1(*bt*), err) in list_cons (x, xs) end | _ (*non-SEMICOLON*) => list_sing (x) // end // end of [then] else let val () = err := err0 val semilst = pstar_fun (buf, bt, p_SEMICOLON) val () = list_vt_free (semilst) in list_nil () end // end of [else] // end // end of [p_d0expsemiseq] (* ****** ****** *) (* s0expelt ::= | LBRACE s0exp RBRACE | LBRACKET s0exp RBRACKET | /* empty*/ *) fun p_s0expelt ( buf: &tokbuf, bt: int, err: &int ) : s0expopt = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_LBRACE () => let // HX-2011-04-04: deprecated? val bt = 0 val () = incby1 () val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACE, err0) in if err = err0 then Some (ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | T_LBRACKET () => let val bt = 0 val () = incby1 () val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACKET, err0) in if err = err0 then Some (ent2) else tokbuf_set_ntok_null (buf, n0) // end of [if] end | _ => None () // HX: there is no error end // end of [p_s0expelt] (* ****** ****** *) (* arrdimopt ::= /*empty*/ | LBRACKET d0exp LBRACKET *) fun p_arrdimopt ( buf: &tokbuf, bt: int, err: &int ) : d0expopt = let val bt = 1 // HX: this is optional val err0 = err val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {token,d0exp,token} (buf, bt, err, p_LBRACKET, p_d0exp, p_RBRACKET) // end of [val] in if err = err0 then Some (ent2) else (err := err0; None ()) end // end of [p_arrdimopt] (* ****** ****** *) (* d0arrind ::= d0expcommaseq RBRACKET [LBRACKET d0arrind] *) fun p_d0arrind ( buf: &tokbuf, bt: int, err: &int ) : d0arrind = let val err0 = err val n0 = tokbuf_get_ntok (buf) macdef incby1 () = tokbuf_incby1 (buf) // val ent1 = pstar_fun0_COMMA {d0exp} (buf, bt, p_d0exp) val ent2 = p_RBRACKET (buf, bt, err) // err = err0 // in // if err = err0 then let val bt = 0 val tok = tokbuf_get_token (buf) in case+ tok.token_node of | T_LBRACKET () => let val () = incby1 () val ent4 = p_d0arrind (buf, bt, err) in if err = err0 then d0arrind_cons ((l2l)ent1, ent4) else let val () = list_vt_free (ent1) in tokbuf_set_ntok_null (buf, n0) end // end of [if] end | _ => d0arrind_sing ((l2l)ent1, ent2) end else let val () = list_vt_free (ent1) in tokbuf_set_ntok_null (buf, n0) end (* end of [if] *) // end // end of [p_d0arrind] (* ****** ****** *) (* s0elop ::= DOT | MINUSGT *) fun p_s0elop ( buf: &tokbuf, bt: int, err: &int ) : s0elop = let val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of | T_DOT () => let val () = incby1 () in s0elop_make_dot (tok) end | T_MINUSGT () => let val () = incby1 () in s0elop_make_minusgt (tok) end | _ => let val () = err := err + 1 in synent_null () end // end // end of [p_s0elop] (* ****** ****** *) (* s0expdarg ::= LBRACE s0exparg RBRACE *) fun p_s0expdarg ( buf: &tokbuf, bt: int, err: &int ) : d0exp = let val err0 = err typedef a1 = token and a2 = s0exparg and a3 = token val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun {a1,a2,a3} (buf, bt, err, p_LBRACE, p_s0exparg, p_RBRACE) // end of [val] in if err = err0 then d0exp_sexparg (ent1, ent2, ent3) else synent_null ((*okay*)) // end of [if] end // end of [p_s0expdarg] (* ****** ****** *) (* atmd0exp ::= | dqi0de | OP di0de | i0nt | s0tring | c0har | f0loat | #FILENAME | #LOCATION | BREAK | CONTINUE | LABEL // | DLREXTVAL LPAREN s0exp COMMA s0tring RPAREN | DLREXTFALL LPAREN s0exp COMMA s0tring commad0expseq RPAREN // | LPAREN d0exp SEMICOLON d0expsemiseq RPAREN | LPAREN d0expcommaseq [BAR d0expcommaseq] RPAREN // | ATLPAREN d0expcommaseq [BAR d0expcommaseq] RPAREN | QUOTELPAREN d0expcommaseq [BAR d0expcommaseq] RPAREN // | ATLBRACE labd0expseq [BAR labd0expseq] RBRACE | QUOTELBRACE labd0expseq [BAR labde0xpseq] RBRACE // | ATLBRACKET s0exp RBRACKET arrdimopt LPAREN d0expcommaseq RPAREN | HASHLBRACKET s0exparg BAR d0exp RBRACKET | QUOTELBRACKET d0expcommaseq RBRACKET // | arrqi0de d0arrind // | DLRARRPSZ s0expelt LPAREN d0expcommaseq RPAREN // | BEGIN d0expsemiseq END // | LET d0ecseq_dyn IN d0expsemiseq END | LBRACE d0ecseq_dyn RBRACE // | COMMALPAREN d0exp RPAREN // macsyn_decode | BQUOTELPAREN d0expsemiseq RPAREN // macsyn_encode_seq | PERCENTLPAREN d0exp RPAREN // macsyn_cross // *) fun p_atmd0exp ( buf: &tokbuf, bt: int, err: &int ) : d0exp = ( ptokwrap_fun (buf, bt, err, p_atmd0exp_tok, PE_atmd0exp) ) (* end of [p_atmd0exp] *) and p_atmd0exp_tok ( buf: &tokbuf, bt: int, err: &int, tok: token ) : d0exp = let // val err0 = err var ent: synent? macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // | _ when ptest_fun (buf, p_di0de, ent) => d0exp_ide (synent_decode{i0de}(ent)) | _ when ptest_fun (buf, p_i0dext, ent) => d0exp_idext (synent_decode{i0de}(ent)) // | T_INT _ => let val () = incby1 () in d0exp_i0nt (tok) end | T_CHAR _ => let val () = incby1 () in d0exp_c0har (tok) end | T_FLOAT _ => let val () = incby1 () in d0exp_f0loat (tok) end | T_STRING _ => let val () = incby1 () in d0exp_s0tring (tok) end // | T_OP _ => let val bt = 0 val () = incby1 () val ent2 = p_di0de (buf, bt, err) in if err = err0 then d0exp_opid (tok, ent2) else synent_null () // end of [if] end | _ when ptest_fun (buf, p_dqi0de, ent) => d0exp_dqid (synent_decode{dqi0de}(ent)) // | T_DLRMYFILENAME ((*void*)) => let val () = incby1 () in d0exp_MYFIL (tok) end | T_DLRMYLOCATION ((*void*)) => let val () = incby1 () in d0exp_MYLOC (tok) end | T_DLRMYFUNCTION ((*void*)) => let val () = incby1 () in d0exp_MYFUN (tok) end // | T_DLRLITERAL ((*void*)) => let val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_literal (tok, ent3, ent4) else synent_null () // end of [if] end // end of [T_DLRLITERAL] // | _ when ptest_fun ( buf, p_s0elop, ent // s0elop ::= DOT | MINUSGT ) => let val bt = 0 val ent1 = synent_decode {s0elop} (ent) // end of [val] val tok2 = tokbuf_get_token (buf) in case+ tok2.token_node of | T_LBRACKET () => let val () = incby1 () val ent2 = p_d0arrind (buf, bt, err) in if err = err0 then d0exp_sel_ind (ent1, ent2) else synent_null () // end of [if] end // end of [T_LBRACKET] | _ when ptest_fun ( buf, p_l0ab, ent ) => let val ent2 = synent_decode {l0ab} (ent) in d0exp_sel_lab (ent1, ent2) // end of [val] end // end of [when ...] | _ (*rest*) => let val () = err := err + 1 in synent_null((*dangling [s0elop]*)) end // end of [_] end // end of [p_s0elop] // | T_DOTINT _ => let val () = incby1 () in d0exp_sel_int (tok) end // end of [T_DOTINT] // | T_ADDRAT () => let val () = incby1 () in d0exp_ptrof (tok) end | T_VIEWAT () => let val () = incby1 () in d0exp_viewat (tok) end | T_FOLDAT () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun (buf, bt, p_s0expdarg) in d0exp_foldat (tok, (l2l)ent2) // HX: there is no failure end | T_FREEAT () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun (buf, bt, p_s0expdarg) in d0exp_freeat (tok, (l2l)ent2) // HX: there is no failure end // | _ when ptest_fun ( buf, p_tmpqi0de, ent ) => let val bt = 0 val ent1 = synent_decode{dqi0de}(ent) val ent2 = pstar_fun1_sep{t0mpmarg}(buf, bt, err, p_tmps0expseq, p_GTLT_test) val ent3 = pif_fun (buf, bt, err, p_GT, err0) in if err = err0 then let val ent2 = (l2l)ent2 in d0exp_tmpid (ent1, ent2, ent3) end // end of [then] else let val () = list_vt_free(ent2) in synent_null() end (* end of [else] *) // end of [if] end // | T_DLREXTVAL() => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_s0exp, err0) val ent4 = pif_fun (buf, bt, err, p_COMMA, err0) val ent5 = pif_fun (buf, bt, err, p_s0tring, err0) val ent6 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_extval(tok, ent3, ent5, ent6) else synent_null() // end of [if] end // | T_DLREXTFCALL ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_s0exp, err0) val ent4 = pif_fun (buf, bt, err, p_COMMA, err0) val ent5 = pif_fun (buf, bt, err, p_s0tring, err0) val ent6 = pstar_COMMA_fun {d0exp} (buf, bt, p_d0exp) val ent7 = pif_fun (buf, bt, err, p_RPAREN, err0) val okay = (if err = err0 then true else false): bool in if okay then let val ent6 = (l2l)ent6 in d0exp_extfcall(tok, ent3, ent5, ent6, ent7) end // end of [then] else let // HX: err > err0 val () = list_vt_free(ent6) in synent_null() end (* end of [else] *) // end of [if] end // end of [T_DLREXTFCALL] // | T_DLREXTMCALL ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_s0exp, err0) val ent4 = pif_fun (buf, bt, err, p_COMMA, err0) val ent5 = pif_fun (buf, bt, err, p_d0exp, err0) val ent6 = pif_fun (buf, bt, err, p_COMMA, err0) val ent7 = pif_fun (buf, bt, err, p_s0tring, err0) val ent8 = pstar_COMMA_fun {d0exp} (buf, bt, p_d0exp) val ent9 = pif_fun (buf, bt, err, p_RPAREN, err0) val okay = (if err = err0 then true else false): bool in if okay then let val ent8 = (l2l)ent8 in d0exp_extmcall (tok, ent3, ent5, ent7, ent8, ent9) end // end of [then] else let // HX: err > err0 val () = list_vt_free (ent8) in synent_null ((*void*)) end // end of [else] // end of [if] end // end of [T_DLREXTMCALL] // | T_LPAREN () => let val () = incby1 () val d0e = p_d0exp (buf, 1(*bt*), err) // HX: may backtrack! // end of [val] in if err = err0 then let val bt = 0 val tok2 = tokbuf_get_token(buf) in case+ tok2.token_node of // case+ | T_SEMICOLON() => let val () = incby1 () val d0es = p_d0expsemiseq(buf, bt, err) val ent3 = p_RPAREN(buf, bt, err) // err=err0 in if err = err0 then d0exp_seq(tok, list_cons(d0e, d0es), ent3) else synent_null() // end of [if] end | _ (*non-SEMICOLON*) => let val ent2 = p1_d0expseq_BAR_d0expseq(d0e, buf, bt, err) // end of [val] val ent3 = p_RPAREN(buf, bt, err) // HX: err = err0 in d0exp_list12_if (tok, ent2, ent3, err, err0) end end // end of [then] else let val bt = 0 val () = err := err0 val ent2 = p_d0expseq_BAR_d0expseq(buf, bt, err) val ent3 = p_RPAREN(buf, bt, err) // HX: err=err0 in d0exp_list12_if (tok, ent2, ent3, err, err0) end // end of [else] // end of [if] end // end of [let] // end of [T_LPAREN] // | tnd when is_LPAREN_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_d0expseq_BAR_d0expseq (buf, bt, err) // end of [val] val ent3 = p_RPAREN (buf, bt, err) // err=err0 in if err = err0 then let val knd = (if is_ATLPAREN(tnd) then 0 else 1): int // end of [val] in d0exp_tup12 (knd, tok, ent2, ent3) end // end of [then] else let val () = list12_free(ent2) in synent_null() end // end of [else] // end of [if] end | tnd when is_LBRACE_deco (tnd) => let val bt = 0 val () = incby1 () val ent2 = p_labd0expseq_BAR_labd0expseq(buf, bt, err) // end of [val] val ent3 = p_RBRACE (buf, bt, err) // err=err0 in if err = err0 then let val knd = (if is_ATLBRACE (tnd) then 0 else 1): int // end of [val] in d0exp_rec12 (knd, tok, ent2, ent3) end // end of [then] else let val () = list12_free(ent2) in synent_null() end // end of [else] // end of [if] end // (* | ATLBRACKET s0exp RBRACKET arrdimopt LPAREN d0expcommaseq RPAREN *) | T_ATLBRACKET ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RBRACKET, err0) val ent4 = ( if err = err0 then p_arrdimopt (buf, bt, err) else None () ) : d0expopt val ent5 = pif_fun (buf, bt, err, p_LPAREN, err0) val ent6 = ( if err = err0 then pstar_fun0_COMMA{d0exp}(buf, bt, p_d0exp) else list_vt_nil ((*void*)) // end of [if] ) : d0explst_vt val ent7 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_arrinit (tok, ent2, ent4, (l2l)ent6, ent7) else let val () = list_vt_free (ent6) in synent_null () end (* end of [if] *) end // (* | HASHLBRACKET s0exparg BAR d0exp RBRACKET *) | T_HASHLBRACKET ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0exparg (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_BAR, err0) val ent4 = pif_fun (buf, bt, err, p_d0exp, err0) val ent5 = pif_fun (buf, bt, err, p_RBRACKET, err0) in if err = err0 then d0exp_exist(tok, ent2, ent3, ent4, ent5) else synent_null() // end of [if] end // (* | QUOTELBRACKET d0expseq RBRACKET *) | T_QUOTELBRACKET ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA{d0exp}(buf, bt, p_d0exp) // end of [val] val ent3 = p_RBRACKET(buf, bt, err) in if err = err0 then d0exp_lst_quote(tok, (l2l)ent2, ent3) else let val () = list_vt_free(ent2) in synent_null() end // end of [else] // end of [if] end // | _ when ptest_fun ( buf, p_arrqi0de, ent ) => let val bt = 0 val ent1 = synent_decode {dqi0de} (ent) val ent2 = p_d0arrind (buf, bt, err) // err = err0 in if err = err0 then d0exp_arrsub (ent1, ent2) else synent_null () // end of [if] end // | T_DLRARRPSZ ((*void*)) => let val bt = 0 val () = incby1 () val ent2 = p_s0expelt (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_LPAREN, err0) val ent4 = ( if err = err0 then pstar_fun0_COMMA{d0exp}(buf, bt, p_d0exp) else list_vt_nil((*void*)) // end of [if] ) : d0explst_vt // end of [val] val ent5 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then let val ent4 = (l2l)ent4 in d0exp_arrpsz(tok, ent2, ent3, ent4, ent5) end // end of [then] else let val () = list_vt_free(ent4) in synent_null() end (* end of [else] *) // end of [if] end // | T_DLRLST(lin) => let val bt = 0 val () = incby1 () val ent2 = p_s0expelt (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_LPAREN, err0) val ent4 = ( if err = err0 then pstar_fun0_COMMA{d0exp}(buf, bt, p_d0exp) else list_vt_nil((*void*)) // end of [if] ) : d0explst_vt // end of [val] val ent5 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then let val ent4 = (l2l)ent4 in d0exp_lst (lin, tok, ent2, ent3, ent4, ent5) end // end of [then] else let val () = list_vt_free (ent4) in synent_null () end (* end of [else] *) // end of [if] end | T_DLRTUP(knd) => let val bt = 0 val () = incby1 () val ent2 = p_LPAREN(buf, bt, err) // err = err0 val ent3 = p_d0expseq_BAR_d0expseq(buf, bt, err) val ent4 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_tup12(knd, tok, ent3, ent4) else let val () = list12_free(ent3) in synent_null() end // end of [else] end | T_DLRREC(knd) => let val bt = 0 val () = incby1 () val ent2 = p_LBRACE (buf, bt, err) // err = err0 val ent3 = p_labd0expseq_BAR_labd0expseq(buf, bt, err) val ent4 = pif_fun (buf, bt, err, p_RBRACE, err0) in if err = err0 then d0exp_rec12 (knd, tok, ent3, ent4) else let val () = list12_free (ent3) in synent_null () end // end of [else] // end of [if] end // | T_BEGIN () => let val bt = 0 val () = incby1 () val ent2 = p_d0expsemiseq (buf, bt, err) val ent3 = p_END (buf, bt, err) // err = err0 in if err = err0 then d0exp_seq(tok, ent2, ent3) else synent_null() // end of [if] end // | T_LET () => let val bt = 0 val () = incby1 () val ent2 = p_d0eclseq_dyn (buf, bt, err) val ent3 = p_IN (buf, bt, err) // err= err0 val ent4 = pif_fun (buf, bt, err, p_d0expsemiseq, err0) val ent5 = pif_fun (buf, bt, err, p_END, err0) in if err = err0 then d0exp_let_seq (tok, ent2, ent3, ent4, ent5) else synent_null() // end of [if] end | T_LBRACE () => let val bt = 0 val () = incby1 () val ent2 = p_d0eclseq_dyn (buf, bt, err) val ent3 = p_RBRACE (buf, bt, err) // err = err0 in if err = err0 then d0exp_declseq(tok, ent2, ent3) else synent_null() // end of [if] end // | T_COMMALPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_d0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_macsyn_decode(tok, ent2, ent3) else synent_null() // end of [if] end | T_BQUOTELPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_d0expsemiseq (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_macsyn_encode_seq(tok, ent2, ent3) else synent_null() // end of [if] end | T_PERCENTLPAREN () => let val bt = 0 val () = incby1 () val ent2 = p_d0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_RPAREN, err0) in if err = err0 then d0exp_macsyn_cross(tok, ent2, ent3) else synent_null() // end of [if] end // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null((*error*)) end // (* end of [case] *) end // end of [p_atmd0exp_tok] (* ****** ****** *) (* argd0exp ::= s0expdarg | atmd0exp *) fun p_argd0exp ( buf: &tokbuf, bt: int, err: &int ) : d0exp = let var ent: synent? in // case+ 0 of | _ when ptest_fun ( buf, p_s0expdarg, ent ) => synent_decode {d0exp} (ent) | _ when ptest_fun ( buf, p_atmd0exp, ent ) => synent_decode {d0exp} (ent) | _ => let val () = err := err + 1 in synent_null () end (* end of [_] *) // end // end of [p_argd0exp] (* ****** ****** *) (* d0exp0 ::= | atmd0exp argd0expseq [COLON s0exp] | break | continue | $showtype d0exp | $vcopyenv_v d0exp | $vcopyenv_vt d0exp | $tempenver d0exp | $solassert d0exp | $solverify s0exp *) fun p_d0exp0 ( buf: &tokbuf, bt: int, err: &int ) : d0exp = let // val err0 = err var ent: synent? val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | _ when ptest_fun ( buf, p_atmd0exp, ent ) => let val bt = 0 val ent1 = synent_decode {d0exp} (ent) val ent2 = pstar_fun {d0exp} (buf, bt, p_argd0exp) val ent3 = p_colons0expopt (buf, bt, err) // err = err0 fun loop ( x0: d0exp, xs: d0explst_vt ) : d0exp = case+ xs of | ~list_vt_cons (x, xs) => let val x0 = d0exp_app (x0, x) in loop (x0, xs) end | ~list_vt_nil () => x0 // end of [loop] val d0e = loop (ent1, ent2) in case+ ent3 of | Some s0e => d0exp_ann (d0e, s0e) | None () => d0e end // | T_DLRBREAK() => let val () = incby1 () in d0exp_loopexn (0(*knd*), tok) end // end of [T_DLRBREAK] | T_DLRCONTINUE() => let val () = incby1 () in d0exp_loopexn (1(*knd*), tok) end // end of [T_DLRCONTINUE] // | T_DLRSHOWTYPE() => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err = err0 then d0exp_showtype (tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | T_DLRVCOPYENV(knd) => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err = err0 then d0exp_vcopyenv (knd, tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | T_DLRTEMPENVER() => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err = err0 then d0exp_tempenver (tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | T_DLRSOLASSERT() => let val bt = 0 val () = incby1 () val ent2 = p_atmd0exp (buf, bt, err) in if err = err0 then d0exp_solassert (tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end | T_DLRSOLVERIFY() => let val bt = 0 val () = incby1 () val ent2 = p_atms0exp (buf, bt, err) in if err = err0 then d0exp_solverify (tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | _ (* rest-of-tokens *) => let val tok = tokbuf_get_token(buf) val loc = tok.token_loc val ((*void*)) = err := err + 1 val ((*void*)) = the_parerrlst_add_ifnbt (bt, loc, PE_d0exp0) in synent_null () end end // end of [p_d0exp0] (* ****** ****** *) (* d0exp1 ::= | d0exp0 {d0exp1}* | DLRRAISE d0exp0 // done! | DLREFFMASK d0exp0 // done! | DLREFFMASK_ARG d0exp0 // done! | DLRDELAY d0exp0 // done! *) fun p_d0exp1 ( buf: &tokbuf, bt: int, err: &int ) : d0exp = let val err0 = err var ent: synent? val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) macdef incby1 () = tokbuf_incby1 (buf) in // case+ tok.token_node of // case+ | _ when ptest_fun ( buf, p_d0exp0, ent ) => let val bt = 0 val ent1 = synent_decode {d0exp} (ent) val ent2 = pstar_fun {d0exp} (buf, bt, p_d0exp1) fun loop ( x0: d0exp, xs: d0explst_vt ) : d0exp = case+ xs of | ~list_vt_cons (x, xs) => let val x0 = d0exp_app (x0, x) in loop (x0, xs) end | ~list_vt_nil () => x0 // end of [loop] in loop (ent1, ent2) end // | T_DLRDELAY(knd) => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err = err0 then d0exp_delay (knd, tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | T_DLRRAISE() => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err = err0 then d0exp_raise (tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | T_DLREFFMASK() => let val bt = 0 val () = incby1 () val ent2 = pif_fun (buf, bt, err, p_LBRACE, err0) val ent3 = pif_fun (buf, bt, err, p_e0fftaglst, err0) val ent4 = pif_fun (buf, bt, err, p_RBRACE, err0) val ent5 = pif_fun (buf, bt, err, p_d0exp1, err0) in if err = err0 then d0exp_effmask (tok, ent3, ent5) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end | T_DLREFFMASK_ARG(knd) => let val bt = 0 val () = incby1 () val ent2 = p_d0exp0 (buf, bt, err) in if err=err0 then d0exp_effmask_arg (knd, tok, ent2) else tokbuf_set_ntok_null (buf, n0) (* end of [if] *) end // | _ (*rest-of-tokens*) => let val loc = tok.token_loc val () = err := err + 1 val () = the_parerrlst_add_ifnbt (bt, loc, PE_d0exp1) in synent_null () end end // end of [p_d0exp1] (* ****** ****** *) (* i0nvarg ::= di0de COLON [s0exp] *) fun p_i0nvarg ( buf: &tokbuf, bt: int, err: &int ) : i0nvarg = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_di0de (buf, bt, err) // val bt = 0 val ent2 = pif_fun (buf, bt, err, p_COLON, err0) val ent3 = let val s0e = pif_fun{s0exp}(buf, bt, err, p_s0exp, err0) // end of [val] in if err = err0 then Some(s0e) else None() end : s0expopt // end of [val] // in if err = err0 then i0nvarg_make (ent1, ent3) else tokbuf_set_ntok_null (buf, n0) // end of [if] end // end of [p_i0nvarg] fun p_i0nvargseq ( buf: &tokbuf, bt: int, err: &int ) : i0nvarglst = l2l (pstar_fun0_COMMA (buf, bt, p_i0nvarg)) // end of [p_i0nvargseq] (* ****** ****** *) // (* i0nvqua :: /*(empty)*/ | LBRACE s0quaseq RBRACE *) fun p_i0nvqua ( buf: &tokbuf, bt: int, err: &int ) : Option (s0qualst) = let // val bt = 1 val err0 = err // typedef a1 = token typedef a2 = s0qualst typedef a3 = token // val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun{a1,a2,a3} (buf, bt, err, p_LBRACE, p_s0quaseq, p_RBRACE) // end of [pseq3_fun] in if err = err0 then Some(ent2) else (err := err0; None()) end // end of [p_i0nvqua] // (* i0nvresqua ::= /*(empty)*/ | LBRACKET s0quaseq RBRACKET *) fun p_i0nvresqua ( buf: &tokbuf, bt: int, err: &int ) : Option (s0qualst) = let // val bt = 1 val err0 = err // typedef a1 = token typedef a2 = s0qualst typedef a3 = token // val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun{a1,a2,a3} (buf, bt, err, p_LBRACKET, p_s0quaseq, p_RBRACKET) // end of [pseq3_fun] in if err = err0 then Some(ent2) else (err := err0; None()) end // end of [p_i0nvresqua] // (* ****** ****** *) (* i0nvmet ::= /*(empty)*/ | DOTLTGTDOT | DOTLT s0expseq GTDOT *) fun p_i0nvmet ( buf: &tokbuf, bt: int, err: &int ) : s0explstopt = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | T_DOTLT () => let val bt = 0 val () = incby1 () val ent2 = pstar_fun0_COMMA{s0exp}(buf, bt, p_s0exp) // end of [val] val ent3 = p_GTDOT (buf, bt, err) // err = err0 in if err = err0 then Some ((l2l)ent2) else let val () = list_vt_free(ent2) in tokbuf_set_ntok_null(buf, n0) end (* end of [else] *) end | T_DOTLTGTDOT () => let val () = incby1 () in Some (list_nil) end // end of [T_DOTLTGTDOT] | _ (*rest-of-tokens*) => None () // HX: there is no error // end // end of [p_i0nvmet] (* ****** ****** *) // (* i0nvargstate ::= LPAREN i0nvargseq RPAREN *) fun p_i0nvargstate ( buf: &tokbuf, bt: int, err: &int ) : i0nvarglst = let // val err0 = err // typedef a1 = token typedef a2 = i0nvarglst typedef a3 = token // val+~SYNENT3 (ent1, ent2, ent3) = pseq3_fun{a1,a2,a3} (buf, bt, err, p_LPAREN, p_i0nvargseq, p_RPAREN) // end of [pseq3_fun] // in if err = err0 then ent2 else synent_null((*void*)) end // end of [p_i0nvargstate] // (* i0nvresstate ::= COLON i0nvresqua LPAREN i0nvargseq RPAREN *) fun p_i0nvresstate ( buf: &tokbuf, bt: int, err: &int ) : i0nvresstate = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | T_COLON () => let val bt = 0 val () = incby1 () val ent2 = p_i0nvresqua (buf, bt, err) typedef a1 = token and a2 = i0nvarglst and a3 = token val+~SYNENT3 (ent3, ent4, ent5) = pseq3_fun{a1,a2,a3}(buf, bt, err, p_LPAREN, p_i0nvargseq, p_RPAREN) // end of [val] in if err = err0 then ( i0nvresstate_make_some (tok, ent2, ent4, ent5) ) else tokbuf_set_ntok_null (buf, n0) end | _ (*non-COLON*) => let val () = err := err + 1 in synent_null() end // end // end of [p_i0nvresstate] // fun p_i0nvresstateopt ( buf: &tokbuf, bt: int, err: &int ) : i0nvresstate = let val err0 = err val tok = tokbuf_get_token (buf) val ent = p_i0nvresstate (buf, 1(*bt*), err) // HX: optional in if err = err0 then ent else let val () = err := err0 in i0nvresstate_make_none (tok.token_loc) end (* end of [if] *) end // end of [p_i0nvresstateopt] // (* ****** ****** *) // (* loopi0nv ::= i0nvqua i0nvmet i0nvargstate i0nvresstateopt *) // fun p_loopi0nv ( buf: &tokbuf, bt: int, err: &int ) : loopi0nv = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_i0nvqua (buf, bt, err) val ent2 = pif_fun (buf, bt, err, p_i0nvmet, err0) val ent3 = pif_fun (buf, bt, err, p_i0nvargstate, err0) val ent4 = pif_fun (buf, bt, err, p_i0nvresstateopt, err0) // in // if err = err0 then loopi0nv_make(ent1, ent2, ent3, ent4) else tokbuf_set_ntok_null(buf, n0) // end // end of [loopi0nv] // (* ****** ****** *) (* funarrow ::= EQGT | EQLTGT | EQLT e0fftagseq GT *) fun p_funarrow ( buf: &tokbuf, bt: int, err: &int ) : e0fftaglstopt = let // val err0 = err // val n0 = tokbuf_get_ntok(buf) // val tok = tokbuf_get_token(buf) val loc = tok.token_loc // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | T_EQGT () => let val () = incby1 () in None () end | T_EQLTGT () => let val () = incby1 () in Some (list_nil) end | T_EQLT () => let val bt = 0 val () = incby1 () val ent2 = p_e0fftaglst (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_GT, err0) in if err = err0 then Some(ent2) else tokbuf_set_ntok_null(buf, n0) // end of [if] end | _ (*rest*) => let val () = err := err + 1 val () = the_parerrlst_add_ifnbt(bt, loc, PE_funarrow) in synent_null((*void*)) end // end of [_] // end // end of [p_funarrow] (* ****** ****** *) // (* pstar_where for { where LBRACE d0eclseq_dyn RBRACE }* *) // fun pstar_where ( d0e: d0exp , buf: &tokbuf, bt: int, err: &int ) : d0exp = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | T_WHERE () => let val bt = 0 val () = incby1 () typedef a1 = token and a2 = d0eclist and a3 = token val+~SYNENT3 (ent2, ent3, ent4) = pseq3_fun{a1,a2,a3}(buf, bt, err, p_LBRACE, p_d0eclseq_dyn, p_RBRACE) // end of [val] in if err = err0 then let val d0e = d0exp_where (d0e, ent3, ent4) in pstar_where (d0e, buf, bt, err) end else tokbuf_set_ntok_null (buf, n0) // end of [if] end // end of [T_WHERE] | _ (*non-WHERE*) => d0e // HX: it is not a where-clause // end // end of [pstar_where] (* ****** ****** *) fun ptokhead_fun ( buf: &tokbuf , bt: int , err: &int , f: (tnode) -> bool , tokres: &token? >> token ) : Option (i0nvresstate) = let val err0 = err val n0 = tokbuf_get_ntok (buf) val tok = tokbuf_get_token (buf) val () = tokres := tok macdef incby1 () = tokbuf_incby1 (buf) in // if f(tok.token_node) then let val () = incby1 () val ent2 = p_i0nvresstate(buf, 1(*bt*), err) // end of [val] in if err = err0 then let val ent3 = p_EQGT(buf, 0(*bt*), err) in if err = err0 then Some(ent2) else tokbuf_set_ntok_null(buf, n0) // end of [if] end // end of [then] else let val () = err := err0 in None () // errless end // end of [else] // end of [if] end // end of [then] else let val () = err := err + 1 in synent_null() end // end of [else] // end // end of [ptokhead_fun] (* ****** ****** *) (* ifhead: IF [i0nvresstate EQGT] *) fun p_ifhead ( buf: &tokbuf, bt: int, err: &int ) : ifhead = let // val err0 = err // var tok: token val res = ptokhead_fun(buf, bt, err, is_IF, tok) // in if err = err0 then ifhead_make(tok, res) else synent_null() // end of [if] end // end of [p_ifhead] (* sifhead: SIF [i0nvresstate EQGT] *) fun p_sifhead ( buf: &tokbuf, bt: int, err: &int ) : sifhead = let // val err0 = err // var tok: token val res = ptokhead_fun(buf, bt, err, is_SIF, tok) // in if err = err0 then sifhead_make(tok, res) else synent_null() // end of [if] end // end of [p_sifhead] (* ****** ****** *) (* casehead: CASE [i0nvresstate EQGT] *) fun p_casehead ( buf: &tokbuf, bt: int, err: &int ) : casehead = let // val err0 = err // var tok: token val res = ptokhead_fun(buf, bt, err, is_CASE, tok) // in if err = err0 then casehead_make(tok, res) else synent_null() // end of [if] end // end of [p_casehead] (* scasehead: SCASE [i0nvresstate EQGT] *) fun p_scasehead ( buf: &tokbuf, bt: int, err: &int ) : scasehead = let // val err0 = err // var tok: token val res = ptokhead_fun(buf, bt, err, is_SCASE, tok) // in if err = err0 then scasehead_make(tok, res) else synent_null() // end of [if] end // end of [p_scasehead] (* ****** ****** *) // (* forhead ::= FORSTAR loopi0nv EQGT // [for] is external id *) // fun p_forhead ( buf: &tokbuf, bt: int, err: &int ) : loophead = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_FORSTAR (buf, bt, err) // val ent2 = pif_fun (buf, bt, err, p_loopi0nv, err0) // val ent3 = pif_fun (buf, bt, err, p_EQGT, err0) // in // if err = err0 then loophead_make_some (ent1, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) // end // end of [p_forhead] // (* ****** ****** *) // (* whilehead ::= WHILESTAR loopi0nv EQGT // [while] is external id *) // fun p_whilehead ( buf: &tokbuf, bt: int, err: &int ) : loophead = let // val err0 = err // val n0 = tokbuf_get_ntok (buf) // val ent1 = p_WHILESTAR (buf, bt, err) // val ent2 = pif_fun (buf, bt, err, p_loopi0nv, err0) // val ent3 = pif_fun (buf, bt, err, p_EQGT, err0) // in if err = err0 then loophead_make_some (ent1, ent2, ent3) else tokbuf_set_ntok_null (buf, n0) end // end of [p_whilehead] // (* ****** ****** *) // (* tryhead ::= TRY [i0nvresstate EQGT] *) // fun p_tryhead ( buf: &tokbuf, bt: int, err: &int ) : tryhead = let // val err0 = err // var tok: token val res = ptokhead_fun(buf, bt, err, is_TRY, tok) // in if err = err0 then tryhead_make(tok, res) else synent_null() end // end of [p_tryhead] // (* ****** ****** *) (* initestpost ::= LPAREN d0expcommaseq SEMICOLON d0expcommaseq SEMICOLON d0expcommaseq RPAREN ; /* initestpost */ *) fun p_initestpost ( buf: &tokbuf, bt: int, err: &int ) : initestpost = let val err0 = err val n0 = tokbuf_get_ntok (buf) val ent1 = p_LPAREN (buf, bt, err) val bt = 0 val ent2 = (if err = err0 then pstar_fun0_COMMA {d0exp} (buf, bt, p_d0exp) else list_vt_nil ) : d0explst_vt // end of [val] val ent3 = pif_fun (buf, bt, err, p_SEMICOLON, err0) val ent4 = (if err = err0 then pstar_fun0_COMMA {d0exp} (buf, bt, p_d0exp) else list_vt_nil ) : d0explst_vt // end of [val] val ent5 = pif_fun (buf, bt, err, p_SEMICOLON, err0) val ent6 = (if err = err0 then pstar_fun0_COMMA {d0exp} (buf, bt, p_d0exp) else list_vt_nil ) : d0explst_vt // end of [val] val ent7 = pif_fun (buf, bt, err, p_RPAREN, err0) in // if err = err0 then let val ent2 = (l2l)ent2 val ent4 = (l2l)ent4 val ent6 = (l2l)ent6 in initestpost_make (ent1, ent2, ent3, ent4, ent5, ent6, ent7) // initestpost_make end // end of [then] else let val () = list_vt_free(ent2) val () = list_vt_free(ent4) val () = list_vt_free(ent6) in tokbuf_set_ntok_null(buf, n0) end (* end of [else] *) // end // end of [p_initestpost] (* ****** ****** *) // (* d0exp :: = | d0exp1 {WHERE LBRACE d0ecseq_dyn RBRACE}* | ifhead d0exp1 THEN d0exp [ELSE d0exp] // done! | sifhead s0exp THEN d0exp ELSE d0exp // done! | casehead d0exp1 OF c0lauseq // done! | scasehead s0exp OF sc0lauseq // done! | lamkind f0arg1seq colons0expopt funarrow d0exp // done! | fixkind di0de f0arg1seq colons0expopt funarrow d0exp // done! | whilehead atmd0exp d0exp // done! | forhead initestpost d0exp // done! | tryhead d0expsemiseq WITH c0lauseq // done! *) // extern fun p_d0exp_tok ( buf: &tokbuf , bt: int, err: &int, tok: token ) : d0exp // end-of-function // implement p_d0exp (buf, bt, err) = ( ptokwrap_fun (buf, bt, err, p_d0exp_tok, PE_d0exp) ) (* end of [p_d0exp] *) // implement p_d0exp_tok ( buf, bt, err, tok ) = let // val err0 = err var ent: synent? // macdef incby1 () = tokbuf_incby1 (buf) // in // case+ tok.token_node of // case+ | _ when ptest_fun ( buf, p_d0exp1, ent ) => let val d0e = synent_decode{d0exp}(ent) // end of [val] in pstar_where(d0e, buf, bt, err) end | _ when ptest_fun ( buf, p_ifhead, ent ) => let val bt = 0 val ent1 = synent_decode{ifhead}(ent) // end of [val] val ent2 = p_d0exp1(buf, bt, err) val ent3 = pif_fun(buf, bt, err, p_THEN, err0) val ent4 = pif_fun(buf, bt, err, p_d0exp, err0) val ent5 = ptokentopt_fun{d0exp}(buf, is_ELSE, p_d0exp) in if err = err0 then let val ent5 = (t2t)ent5 in d0exp_ifhead (ent1, ent2, ent4, ent5) end // end of [then] else let val () = option_vt_free(ent5) in synent_null() end (* end of [else] *) // end of [if] end | _ when ptest_fun ( buf, p_sifhead, ent ) => let val bt = 0 val ent1 = synent_decode{sifhead}(ent) // end of [val] val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_THEN, err0) val ent4 = pif_fun (buf, bt, err, p_d0exp, err0) val ent5 = pif_fun (buf, bt, err, p_ELSE, err0) val ent6 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then d0exp_sifhead(ent1, ent2, ent4, ent6) else synent_null((*void*)) // end of [if] end | _ when ptest_fun ( buf, p_casehead, ent ) => let val bt = 0 val ent1 = synent_decode{casehead}(ent) // end of [val] val ent2 = p_d0exp1 (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_OF, err0) val ent4 = pif_fun (buf, bt, err, p_c0lauseq, err0) in if err = err0 then d0exp_casehead(ent1, ent2, ent3, ent4) else synent_null((*void*)) // end of [if] end | _ when ptest_fun ( buf, p_scasehead, ent ) => let val bt = 0 val ent1 = synent_decode{scasehead}(ent) // end of [val] val ent2 = p_s0exp (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_OF, err0) val ent4 = pif_fun (buf, bt, err, p_sc0lauseq, err0) in if err = err0 then d0exp_scasehead(ent1, ent2, ent3, ent4) else synent_null((*void*)) // end of [if] end | T_LAM (knd) => let val bt = 0 val () = incby1 () val ent2 = pstar_fun{f0arg}(buf, bt, p_f0arg1) val ent3 = p_colons0expopt(buf, bt, err) // err=err0 val ent4 = pif_fun (buf, bt, err, p_funarrow, err0) val ent5 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then let val ent2 = (l2l)ent2 in d0exp_lam(knd, tok, ent2, ent3, ent4, ent5) end // end of [then] else let val () = list_vt_free(ent2) in synent_null() end // end of [else] // end of [if] end | T_FIX (knd) => let val bt = 0 val () = incby1 () val ent2 = p_di0de (buf, bt, err) val ent3 = ( if err = err0 then pstar_fun(buf, bt, p_f0arg1) else list_vt_nil((*void*)) // end of [if] ) : f0arglst_vt // end of [val] val ent4 = pif_fun (buf, bt, err, p_colons0expopt, err0) // end of [val] val ent5 = pif_fun (buf, bt, err, p_funarrow, err0) val ent6 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then let val ent3 = (l2l)ent3 in d0exp_fix (knd, tok, ent2, ent3, ent4, ent5, ent6) // d0exp_fix end // end of [then] else let val () = list_vt_free(ent3) in synent_null() end (* end of [else] *) // end of [if] end // | T_FOR () => let val bt = 0 // no backtracking val () = incby1 () val ent1 = loophead_make_none (tok) val ent2 = p_initestpost (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then d0exp_forhead(ent1, ent2, ent3) else synent_null((*void*)) // end of [if] end | _ when ptest_fun ( buf, p_forhead, ent ) => let val bt = 0 val ent1 = synent_decode{loophead}(ent) val ent2 = p_initestpost (buf, bt, err) val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then d0exp_forhead(ent1, ent2, ent3) else synent_null((*void*)) // end of [if] end // | T_WHILE () => let val bt = 0 // no backtracking val () = incby1 () val ent1 = loophead_make_none(tok) val ent2 = p_atmd0exp(buf, bt, err) val ent3 = pif_fun(buf, bt, err, p_d0exp, err0) in if err = err0 then d0exp_whilehead(ent1, ent2, ent3) else synent_null((*void*)) // end of [if] end | _ when ptest_fun ( buf, p_whilehead, ent ) => let val bt = 0 val ent1 = synent_decode{loophead}(ent) val ent2 = pif_fun (buf, bt, err, p_atmd0exp, err0) // end of [val] val ent3 = pif_fun (buf, bt, err, p_d0exp, err0) in if err = err0 then d0exp_whilehead(ent1, ent2, ent3) else synent_null((*void*)) // end of [if] end // | _ when ptest_fun ( buf, p_tryhead, ent ) => let val bt = 0 val ent1 = synent_decode{tryhead}(ent) val ent2 = p_d0expsemiseq(buf, bt, err) val ent3 = pif_fun(buf, bt, err, p_WITH, err0) val ent4 = pif_fun(buf, bt, err, p_c0lauseq, err0) in if err = err0 then d0exp_trywith_seq(ent1, ent2, ent3, ent4) else synent_null((*void*)) // end of [if] end // | _ (*rest-of-tokens*) => let val () = err := err + 1 in synent_null () end // end // end of [p_d0exp_tok] // (* ****** ****** *) (* end of [pats_parsing_dynexp.dats] *) ATS2-Postiats-0.2.6/./src/pats_histaexp_funlab.dats0000664000175000017500000000413612655455557020611 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) // // HX-2012-10: // Note that [funlab_type] is assumed in [pats_ccomp.sats] // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload "./pats_dynexp2.sats" (* ****** ****** *) staload CCOMP = "./pats_ccomp.sats" (* ****** ****** *) staload "./pats_histaexp.sats" (* ****** ****** *) implement fprint_funlab (out, fl) = let val name = $CCOMP.funlab_get_name ($UN.cast(fl)) in fprint_string (out, name) end // end of [fprint_funlab] implement print_funlab (fl) = fprint_funlab (stdout_ref, fl) implement prerr_funlab (fl) = fprint_funlab (stderr_ref, fl) (* ****** ****** *) (* end of [pats_histaexp_funlab.dats] *) ATS2-Postiats-0.2.6/./src/pats_staexp2_hole.dats0000664000175000017500000000524612655455557020035 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload CNTR = "./pats_counter.sats" staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp (* ****** ****** *) staload "./pats_staexp2.sats" (* ****** ****** *) typedef s2hole_struct = @{ s2hole_srt= s2rt , s2hole_stamp= stamp // uniqueness } // end of [s2hole_struct] (* ****** ****** *) local assume s2hole_type = ref (s2hole_struct) in (* in of [local] *) implement s2hole_make_srt (s2t) = let val stamp = $STMP.s2hole_stamp_make () val (pfgc, pfat | p) = ptr_alloc () prval () = free_gc_elim {s2hole_struct?} (pfgc) // val () = p->s2hole_srt := s2t val () = p->s2hole_stamp := stamp // in ref_make_view_ptr (pfat | p) end // end of [s2hole_make_srt] implement s2hole_get_srt (s2h) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2h) in p->s2hole_srt end // end of [s2hole_get_srt] implement s2hole_get_stamp (s2h) = $effmask_ref let val (vbox pf | p) = ref_get_view_ptr (s2h) in p->s2hole_stamp end // end of [s2hole_get_stamp] end // end of [local] (* ****** ****** *) implement fprint_s2hole (out, s2h) = let val stamp = s2hole_get_stamp (s2h) // end of [val] in $STMP.fprint_stamp (out, stamp) end // end of [fprint_s2hole] (* ****** ****** *) (* end of [pats_staexp2_hole.dats] *) ATS2-Postiats-0.2.6/./src/pats_ccomp_hitype.dats0000664000175000017500000007652612655455557020134 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: January, 2013 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload UT = "./pats_utils.sats" staload _(*anon*) = "./pats_utils.dats" (* ****** ****** *) staload STMP = "./pats_stamp.sats" typedef stamp = $STMP.stamp overload = with $STMP.eq_stamp_stamp overload != with $STMP.neq_stamp_stamp (* ****** ****** *) staload LAB = "./pats_label.sats" typedef label = $LAB.label overload = with $LAB.eq_label_label overload != with $LAB.neq_label_label (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_histaexp.sats" (* ****** ****** *) staload TYER = "./pats_typerase.sats" (* ****** ****** *) staload "./pats_ccomp.sats" (* ****** ****** *) datatype hitype = // | HITnmd of (string) // | HITapp of (hitype, hitypelst) // | HITtyarr of (hitype, s2explst) // | HITtyrec of (labhitypelst) | HITtysum of (int(*tagged*), labhitypelst) | HITtyexn of (labhitypelst) // | HITtyvar of (s2var) (* for substitution *) // | HITtyclo of (funlab) // | HITrefarg of (int(*knd*), hitype) // | HITundef of (stamp, hisexp) // | HITerror of ((*indication-of-error*)) // end of [hitype] and labhitype = | HTLABELED of (label, Option(string), hitype) // end of [labhitype] where hitypelst = List (hitype) and labhitypelst = List (labhitype) (* ****** ****** *) assume hitype_type = hitype (* ****** ****** *) implement print_hitype (hit) = fprint_hitype (stdout_ref, hit) implement prerr_hitype (hit) = fprint_hitype (stderr_ref, hit) (* ****** ****** *) implement fprint_hitype (out, hit) = let // macdef prstr(x) = fprint_string (out, ,(x)) // in // case+ hit of // | HITnmd (name) => { val () = prstr "HITnmd(" val () = fprint_string (out, name) val () = prstr ")" } // | HITapp ( hit_fun, hits_arg ) => { val () = prstr "HITapp(" val () = fprint_hitype (out, hit_fun) val () = prstr "; " val () = fprint_hitypelst (out, hits_arg) val () = prstr ")" } // | HITtyarr (hit, s2es) => { val () = prstr "HITtyarr(" val () = fprint_hitype (out, hit) val () = prstr "[" val () = fpprint_s2explst (out, s2es) val () = prstr "]" val () = prstr ")" } // | HITtyrec (lhits) => { val () = prstr "HITtyrec(" val () = fprint_string (out, "...") val () = prstr ")" } | HITtysum (tag, lhits) => { val () = prstr "HITtysum(" val () = fprint_string (out, "...") val () = prstr ")" } | HITtyexn (lhits) => { val () = prstr "HITtyexn(" val () = fprint_string (out, "...") val () = prstr ")" } // | HITtyvar(s2v) => { val () = prstr "HITtyvar(" val () = fprint_s2var (out, s2v) val () = prstr ")" } // | HITtyclo(flab) => { val () = prstr "HITtyclo(" val () = fprint_funlab (out, flab) val () = prstr ")" } // | HITrefarg (knd, hit) => { val () = prstr "HITrefarg(" val () = fprint_int (out, knd) val () = prstr ", " val () = fprint_hitype (out, hit) val () = prstr ")" } // | HITundef (stamp, hse) => { val () = prstr "HITundef(" val () = fprint_hisexp (out, hse) val () = prstr ")" } // | HITerror () => prstr "HITerror()" // end // end of [fprint_hitype] implement fprint_hitypelst (out, hits) = $UT.fprintlst (out, hits, ", ", fprint_hitype) // end of [fprint_hitypelst] (* ****** ****** *) // extern fun hitype_error ((*void*)): hitype extern fun hitype_tybox ((*void*)): hitype // extern fun hitype_undef (hse: hisexp): hitype // (* ****** ****** *) // // HX: 0:non-tyvar // HX: 1:tyvar-boxed // HX: ~1:tyvar-unboxed // extern fun hitype_is_tyvarhd (hit0: hitype): int // (* ****** ****** *) implement hitype_is_tyvarhd (hit0) = let in // case+ hit0 of // | HITapp ( hit_fun, _(*arg*) ) => hitype_is_tyvarhd(hit_fun) // end of [HITapp] // | HITtyvar(s2v) => let val s2t = s2var_get_srt(s2v) val isbox = s2rt_is_boxed_fun(s2t) in if isbox then 1(*boxed*) else ~1(*unboxed*) // end of [if] end // end of [HITtyvar] // | _(*rest-of-hitype*) => (0)(*non-tyvar*) // end (* end of [hitype_is_tyvarhd] *) (* ****** ****** *) extern fun hitype_tyvar_test(hit0: hitype): bool (* ****** ****** *) implement hitype_tyvar_test (hit0) = aux(hit0) where { // fun aux ( hit0: hitype ) : bool = ( // case+ hit0 of // | HITapp(hit, _) => aux(hit) // | HITtyrec (lhits) => auxlablst(lhits) | HITtysum (_, lhits) => auxlablst(lhits) | HITtyexn (lhits) => auxlablst(lhits) // | HITtyvar (s2v) => let val s2t = s2var_get_srt(s2v) in if s2rt_is_boxed_fun(s2t) then false else true end // end of [HITtyvar] // | _(*rest-of-hitype*) => false // ) (* end of [aux] *) and auxlablst ( lxs: labhitypelst ) : bool = ( // case+ lxs of | list_nil() => false | list_cons(lx, lxs) => let val+HTLABELED(_, _, hit) = lx in if aux(hit) then true else auxlablst(lxs) end // end of [list_cons] // ) (* end of [auxlablst] *) // } (* end of [hitype_tyvar_test] *) (* ****** ****** *) // extern fun eq_hitype_hitype(x1: hitype, x2: hitype): bool // (* ****** ****** *) extern fun s2exp_typize (flag: int, s2e: s2exp): hitype extern fun s2zexp_typize (flag: int, s2ze: s2zexp): hitype (* ****** ****** *) // extern fun emit_hitypelst_sep (out: FILEref, hits: hitypelst, sep: string): void // (* ****** ****** *) local // exception EQUALexn of () // in (* in-of-local *) implement eq_hitype_hitype (x1, x2) = let // macdef abort() = $raise(EQUALexn) // fun aux ( x1: hitype, x2: hitype ) : void = let // (* // val () = println! ("eq_hitype_hitype: aux: x1 = ", x1) val () = println! ("eq_hitype_hitype: aux: x2 = ", x2) // *) // in // case+ x1 of // | HITnmd (name1) => ( case+ x2 of | HITnmd(name2) => if (name1 != name2) then abort() | _(*non-HITnmd*) => abort() ) // end of [HITnmd] // | HITapp (x11, xs12) => ( case+ x2 of | HITapp(x21, xs22) => ( aux(x11, x21); auxlst(xs12, xs22) ) | _(*non-HITapp*) => abort() ) // end of [HITapp] // | HITtyarr _ => abort() // | HITtyrec (lxs1) => ( case+ x2 of | HITtyrec(lxs2) => auxlablst(lxs1, lxs2) | _(*non-HITtyrec*) => abort() ) // end of [HITtyrec] // | HITtysum (tgd1, lxs1) => ( case+ x2 of | HITtysum (tgd2, lxs2) => ( if tgd1 = tgd2 then auxlablst(lxs1, lxs2) else abort() // end of [if] ) // end of [HITtysum] | _(*non-HITtysum*) => abort() ) // end of [HITtysum] // | HITtyexn (lxs1) => ( case+ x2 of | HITtyexn(lxs2) => auxlablst(lxs1, lxs2) | _(*non-HITtyexn*) => abort() ) // end of [HITtyexn] // | HITtyvar (s2v1) => ( case+ x2 of | HITtyvar(s2v2) => if s2v1 != s2v2 then abort() else () | _(*non-HITtyvar*) => abort() ) // end of [HITtyvar] // | HITtyclo (flab1) => ( case+ x2 of | HITtyclo (flab2) => let val p1 = $UN.cast{ptr}(flab1) val p2 = $UN.cast{ptr}(flab2) in if p1 != p2 then abort() else () end // end of [HITtyclo] | _(*non-HITtyclo*) => abort() ) // end of [HITtyclo] // | HITrefarg (knd1, hit1) => ( case+ x2 of | HITrefarg(knd2, hit2) => ( if knd1 = knd2 then aux (hit1, hit2) else abort() // end of [if] ) // end of [HITrefarg] | _(*non-HITrefarg*) => abort() ) // end of [HITrefarg] // | HITundef (stamp1, _) => ( case+ x2 of | HITundef(stamp2, _) => if (stamp1 != stamp2) then abort() else () | _(*non-HITundef*) => abort () ) // end of [HITundef] // | HITerror((*void*)) => abort() // end // end of [aux] and auxlst ( xs1: hitypelst, xs2: hitypelst ) : void = let in // case+ (xs1, xs2) of // | (list_nil(), list_nil()) => () // | (list_cons(x1, xs1), list_cons(x2, xs2)) => ( aux (x1, x2); auxlst (xs1, xs2) ) // end of [cons, cons] // | (list_nil(), list_cons _) => abort () | (list_cons _, list_nil()) => abort () // end // end of [auxlst] and auxlablst ( lxs1: labhitypelst, lxs2: labhitypelst ) : void = let in // case+ (lxs1, lxs2) of // | (list_nil(), list_nil()) => () // | (list_cons(lx1, lxs1), list_cons(lx2, lxs2)) => let val HTLABELED(l1, opt1, x1) = lx1 val HTLABELED(l2, opt2, x2) = lx2 val () = if (l1 != l2) then abort () // end of [val] val () = ( case+ (opt1, opt2) of | (None(), None()) => () | (Some(nm1), Some(nm2)) => ( if nm1 != nm2 then abort () ) | (_, _) => abort () ) : void // end of [val] in aux (x1, x2); auxlablst (lxs1, lxs2) end // end of [cons, cons] // | (list_nil(), list_cons _) => abort () | (list_cons _, list_nil()) => abort () // end // end of [auxlablst] // in // try let val () = aux (x1, x2) in true // endval end with | ~EQUALexn () => false // end of [try] // end // end of [eq_hitype_hitype] end // end of [local] (* ****** ****** *) extern fun hitype_hash (hit: hitype): ulint local fun auxint ( hval: &ulint, int: int ) : void = let val int = $UN.cast2ulint (int) in hval := (hval << 8) + hval + int // hval = 65*hval + int end // end of [auxint] fun auxstr ( hval: &ulint, str: string ) : void = let // val isnot = string_isnot_empty (str) // in // if isnot then let val p = $UN.cast2Ptr1 (str) val c = $UN.ptrget (p) val c = $UN.cast2ulint (c) val () = hval := (hval << 5) + hval + c val str = $UN.cast{string} (p+1) in auxstr (hval, str) end else () // end of [if] // end // end of [auxstr] fun auxsym ( hval: &ulint, sym: symbol ) : void = auxstr (hval, $SYM.symbol_get_name (sym)) // end of [auxsym] fun aux ( hval: &ulint, hit0: hitype ) : void = let in // case+ hit0 of // | HITnmd (name) => auxstr (hval, name) // end of [HITnmd] // | HITapp (_fun, _arg) => let val () = aux (hval, _fun) val () = auxlst (hval, _arg) in auxstr (hval, "postiats_app") end // end of [HITapp] // | HITtyarr (hit_elt, _) => let val () = aux (hval, hit_elt) in auxstr (hval, "postiats_tyarr") end // end of [HITtyarr] // | HITtyrec (lhits) => let val () = auxlablst (hval, lhits) in auxstr (hval, "postiats_tyrec") end // end of [HITtyrec] | HITtysum (tgd, lhits) => let val () = auxint (hval, tgd) val () = auxlablst (hval, lhits) in auxstr (hval, "postiats_tysum") end // end of [HITtysum] | HITtyexn (lhits) => let val () = auxlablst (hval, lhits) in auxstr (hval, "postiats_tyexn") end // end of [HITtyexn] // | HITtyvar (s2v) => let val () = auxstr (hval, "postiats_tyvar") val stamp = s2var_get_stamp (s2v) in auxint (hval, $STMP.stamp_get_int (stamp)) end // end of [HITtyvar] // | HITtyclo (flab) => let val () = auxstr (hval, "postiats_tyclo") val stamp = funlab_get_stamp (flab) in auxint (hval, $STMP.stamp_get_int (stamp)) end // end of [HITtyclo] // | HITrefarg (knd, hit) => let val () = aux (hval, hit) in if knd = 0 then auxstr (hval, "atsrefarg0_type") else auxstr (hval, "atsrefarg1_type") // end of [if] end // end of [HITrefarg] // | HITundef (stamp, hse) => auxint (hval, $STMP.stamp_get_int (stamp)) // end of [HITundef] // | HITerror () => auxstr (hval, "postiats_error") // end // end of [aux] and auxlst ( hval: &ulint, hits: hitypelst ) : void = let in // case+ hits of | list_cons (hit, hits) => { val () = aux (hval, hit) val () = auxlst (hval, hits) } // end of [list_cons] | list_nil () => () // end // end of [auxlst] and auxlab ( hval: &ulint, lhit: labhitype ) : void = let // val+HTLABELED (l, opt, hit) = lhit val opt = $LAB.label_get_int (l) val () = ( case+ opt of | ~Some_vt (x) => auxint (hval, x) | ~None_vt () => () ) : void // end of [val] val opt = $LAB.label_get_sym (l) val () = ( case+ opt of | ~Some_vt (x) => auxsym (hval, x) | ~None_vt () => () ) : void // end of [val] // in aux (hval, hit) end // end of [auxlab] and auxlablst ( hval: &ulint, lhits: labhitypelst ) : void = let in // case+ lhits of | list_cons (lhit, lhits) => let val () = auxlab (hval, lhit) in auxlablst (hval, lhits) end // end of [list_cons] | list_nil () => () // end // end of [auxlablst] in (* in of [local] *) implement hitype_hash (hit) = let var hval : ulint = 618034ul // HX: randomly chosen val () = aux (hval, hit) in hval end // end of [hitype_hash] end // end of [local] (* ****** ****** *) // extern fun the_hitypemaplst_get (): List_vt @(hitype, hitype) // extern fun the_hitypemap_search (hit: hitype): Option_vt (hitype) extern fun the_hitypemap_insert (hit: hitype, hit2: hitype): void // (* ****** ****** *) local (* ****** ****** *) // // HX-2013-01: // Using hashtable in ATS is really difficult! // (* ****** ****** *) %{^ typedef ats_ptr_type hitype ; %} // end of [%{^] (* ****** ****** *) // abstype hitype_t = $extype"hitype" // extern castfn hitype_encode (x: hitype):<> hitype_t extern castfn hitype_decode (x: hitype_t):<> hitype // overload encode with hitype_encode overload decode with hitype_decode // (* ****** ****** *) typedef key = hitype_t typedef itm = hitype(*unnamed*) (* ****** ****** *) // staload H = "libats/SATS/hashtable_chain.sats" staload _(*anon*) = "libats/DATS/hashtable_chain.dats" // implement $H.hash_key (k, fhash) = let val k = decode(k) in $effmask_all(hitype_hash(k)) end // end of [hask_key] implement $H.equal_key_key (k1, k2, keqfn) = let val k1 = decode (k1) and k2 = decode (k2) in $effmask_all (eq_hitype_hitype (k1, k2)) end // end of [equal_key_key] // val the_hitypemap = let typedef fhash = $H.hash (key) val fhash = $UN.cast{fhash}(null) typedef keqfn = $H.eqfn (key) val keqfn = $UN.cast{keqfn}(null) in $H.hashtbl_make {key,itm} (fhash, keqfn) end // end of [val] // val the_hitypemap = $H.HASHTBLref_make_ptr {key,itm} (the_hitypemap) // (* ****** ****** *) // vtypedef keyitmlst = List_vt @(hitype, hitype) val the_hitypemaplst = ref (list_vt_nil) // (* ****** ****** *) in (* in of [local] *) (* ****** ****** *) implement the_hitypemaplst_get ((*void*)) = let // val (vbox(pf)|p) = ref_get_view_ptr(the_hitypemaplst) // val kis = !p val ((*void*)) = !p := list_vt_nil() // in list_vt_reverse (kis) end // end of [the_hitypemaplst_get] (* ****** ****** *) implement the_hitypemap_search (hit) = let // val ( fpf | ptbl ) = $H.HASHTBLref_takeout_ptr(the_hitypemap) var res: itm? val hit = encode (hit) val ans = $H.hashtbl_search (ptbl, hit, res) prval () = fpf (ptbl) // in // if ans then let prval() = opt_unsome{itm}(res) in Some_vt(res) end // end of [then] else let prval() = opt_unnone{itm}(res) in None_vt(*error*) end // end of [else] // end // end of [the_hitypemap_search] (* ****** ****** *) implement the_hitypemap_insert (hit, hit2) = let // val ( fpf | ptbl ) = $H.HASHTBLref_takeout_ptr (the_hitypemap) val hit1 = encode (hit) val () = $H.hashtbl_insert (ptbl, hit1, hit2) prval () = fpf (ptbl) // val ( vbox pf | plst ) = ref_get_view_ptr (the_hitypemaplst) val () = ( !plst := list_vt_cons ( @(hit, hit2), !plst ) ) (* end of [val] *) // in // nothing end // end of [the_hitypemap_insert] end // end of [local] (* ****** ****** *) // implement hitype_error() = HITerror((*void*)) // implement hitype_tybox() = HITnmd("atstype_boxed") // implement hitype_undef(hse) = let val s = $STMP.hitype_stamp_make() in HITundef(s, hse) end // end of [hitype_undef] // (* ****** ****** *) // extern fun emit_s2var (out: FILEref, s2v: s2var): void // implement emit_s2var (out, s2v) = let val sym = s2var_get_sym (s2v) val name = $SYM.symbol_get_name (sym) in emit_ident (out, name) end // end of [emit_s2var] // (* ****** ****** *) // extern fun emit_hitype_app ( out: FILEref, hit0: hitype ) : void // end-of-fun // implement emit_hitype_app (out, hit0) = let // fun aux ( out: FILEref, hit0: hitype ) : void = let // (* val () = println! ("emit_hitype_app: aux: hit0 = ", hit0) *) // in // case+ hit0 of // | HITapp (hit_fun, hits_arg) => { val () = aux (out, hit_fun) val () = emit_text (out, "(") val () = emit_hitypelst_sep (out, hits_arg, ", ") val () = emit_text (out, ")") } (* end of [HITapp] *) // | HITtyvar (s2v) => emit_s2var (out, s2v) // | _(*rest-of-hitype*) => emit_hitype (out, hit0) // end // end of [aux] // val knd = hitype_is_tyvarhd (hit0) // val () = if knd > 0 then emit_text (out, "atstybox_type(") val () = if knd < 0 then emit_text (out, "atstyvar_type(") // val () = aux (out, hit0) // val () = if knd != 0 then emit_text (out, ")") // in // nothing end // end of [emit_hitype_app] // (* ****** ****** *) implement emit_hitype (out, hit0) = let in // case+ hit0 of // | HITnmd (name) => emit_text (out, name) // end of [HITnmd] // | HITapp _ => emit_hitype_app (out, hit0) // | HITtyarr (hit, _) => { val () = emit_text (out, "atstyarr_type(") // end of [val] val ((*void*)) = emit_hitype (out, hit) val ((*void*)) = emit_text (out, ")") } (* end of [HITtyarr] *) // | HITtyrec _ => emit_text (out, "atstyrec_type(*ERROR*)") | HITtysum _ => emit_text (out, "atstysum_type(*ERROR*)") | HITtyexn _ => emit_text (out, "atstyexn_type(*ERROR*)") // | HITtyclo (flab) => { val () = emit_text (out, "atstyclo_type(") val ((*void*)) = emit_funlab (out, flab) val ((*void*)) = emit_text (out, ")") } // | HITtyvar (s2v) => { val () = emit_text (out, "atstyvar_type(") val () = emit_s2var (out, s2v) val ((*closing*)) = emit_RPAREN (out) } (* end of [HITtyvar] *) // | HITrefarg (knd, hit) => let val () = ( if knd = 0 then emit_text (out, "atsrefarg0_type(") else emit_text (out, "atsrefarg1_type(") // end of [if] ) : void // end of [val] val () = emit_hitype (out, hit) val ((*closing*)) = emit_RPAREN (out) in // nothing end // end of [HITrefarg] // | HITundef (_, hse) => let val () = emit_text (out, "postiats_undef(") val ((*void*)) = fprint_hisexp (out, hse) val ((*void*)) = emit_text (out, ")") in // nothing end // end of [HITundef] // | HITerror () => emit_text (out, "postiats_error()") // end // end of [emit_hitype] implement emit_hitypelst_sep (out, hits, sep) = let // fun auxlst ( out: FILEref , xs: hitypelst, sep: string, i: int ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = if i > 0 then emit_text (out, sep) val () = emit_hitype (out, x) in auxlst (out, xs, sep, i+1) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] // in auxlst (out, hits, sep, 0) end // end of [emit_hitypelst_sep] (* ****** ****** *) implement emit_hisexp (out, hse) = let // (* val () = println! ("emit_hisexp: hse = ", hse) *) // val hit = hisexp_typize (1, hse) // (* val () = println! ("emit_hisexp: hit = ", hit) *) // in // case+ hit of | HITundef _ => ( emit_text (out, "HITundef("); fprint_hisexp (out, hse); emit_text (out, ")") ) (* end of [HITundef] *) | _ (*non-undef*) => emit_hitype (out, hit) // end // end of [emit_hisexp] (* ****** ****** *) implement emit_hisexplst_sep (out, hses, sep) = let // fun loop ( out: FILEref , hses: hisexplst, sep: string, i: int ) : void = let in // case+ hses of | list_cons (hse, hses) => let val () = if i > 0 then emit_text (out, sep) // end of [if] val () = emit_hisexp (out, hse) in loop (out, hses, sep, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, hses, sep, 0) end // end of [emit_hisexplst_sep] (* ****** ****** *) implement emit_hisexp_sel (out, hse) = let // val hit = hisexp_typize (0, hse) // (* val () = println! ("emit_hisexp_sel: hse = ", hse) val () = println! ("emit_hisexp_sel: hit = ", hit) *) // in // case+ hit of | HITundef _ => ( emit_text (out, "HITundef("); fprint_hisexp (out, hse); emit_text (out, ")") ) // end of [HITundef] | _ (*non-undef*) => emit_hitype (out, hit) // end // end of [emit_hisexp_sel] (* ****** ****** *) extern fun hitype_gen_tyrec (): hitype implement hitype_gen_tyrec () = let val n = $STMP.hitype_stamp_make () val name = $STMP.tostring_prefix_stamp ("postiats_tyrec_", n) in HITnmd (name) end // end of [hitype_gen_tyrec] extern fun hitype_gen_tysum (): hitype implement hitype_gen_tysum () = let val n = $STMP.hitype_stamp_make () val name = $STMP.tostring_prefix_stamp ("postiats_tysum_", n) in HITnmd (name) end // end of [hitype_gen_tysum] extern fun hitype_gen_tyexn (): hitype implement hitype_gen_tyexn () = let val n = $STMP.hitype_stamp_make () val name = $STMP.tostring_prefix_stamp ("postiats_tyexn_", n) in HITnmd (name) end // end of [hitype_gen_tyexn] (* ****** ****** *) implement s2exp_typize (flag, s2e0) = let // (* val () = println! ("s2exp_typize: s2e0 = ", s2e0) *) // in // case+ s2e0.s2exp_node of // | S2Eextype (name, _) => HITnmd (name) | S2Eextkind (name, _) => HITnmd (name) // | S2Eat _ => hitype_error () // | S2EVar (s2V) => ( s2zexp_typize (flag, s2Var_get_szexp (s2V)) ) (* end of [S2EVar] *) // | _ (*rest*) => let val hse0 = $TYER.s2exp_tyer_shallow ($LOC.location_dummy, s2e0) in hisexp_typize (flag, hse0) end // end of [_] // end // end of [s2exp_typize] (* ****** ****** *) implement s2zexp_typize (flag, s2ze0) = let // (* val () = println! ("s2zexp_typize: s2ze0 = ", s2ze0) *) // in // case+ s2ze0 of // | S2ZEextype (name, _) => HITnmd (name) | S2ZEextkind (name, _) => HITnmd (name) | _ (*rest*) => let val hse0 = $TYER.s2zexp_tyer ($LOC.location_dummy, s2ze0) in hisexp_typize (flag, hse0) end // end of [_] // end // end of [s2zexp_typize] (* ****** ****** *) local fun aux ( flag: int, hse0: hisexp ) : hitype = let // (* val () = println! ("aux: hse0 = ", hse0) *) // val HITNAM(knd, fin, name) = hse0.hisexp_name // (* val () = println! ("aux: fin = ", fin) val () = println! ("aux: name = ", name) *) // in // case+ hse0.hisexp_node of (* case+ *) // | _ when (fin > 0) => HITnmd (name) // end of [fin > 0] // | HSEcst (s2c) => aux_s2cst (s2c) // | HSEapp (_fun, _arg) => HITapp (aux(flag, _fun), auxlst(flag, _arg)) // end of [HSEapp] // | HSEtyabs (sym) => let val name = $SYM.symbol_get_name (sym) in HITnmd (name) // end of [val] end // end of [HSEtyabs] // | HSEtyarr _ => aux_tyarr (flag, hse0) // | HSEtyrec _ => aux_tyrec (flag, hse0) // | HSEtyrecsin (lhse) => let val+HSLABELED(lab, opt, hse) = lhse in aux (flag, hse) end // end of [HSEtyrecsin] // | HSEtysum (d2c, _) => ( if d2con_is_con (d2c) then aux_tysum (flag, hse0) else aux_tyexn (flag, hse0) // end of [if] ) // end of [HSEtysum] // | HSEtyclo (flab) => HITtyclo ($UN.cast{funlab}(flab)) // end of [HSEtyclo] // | HSErefarg (knd, hse) => let val hit = aux (flag, hse) in HITrefarg (knd, hit) end // end of [HSErefarg] // | HSEs2exp (s2e) => let val hit = s2exp_typize (flag, s2e) in case+ hit of HITerror () => hitype_undef (hse0) | _ => (hit) end // end of [HSEs2exp] // | HSEs2zexp (s2ze) => let val hit = s2zexp_typize (flag, s2ze) in case+ hit of HITerror () => hitype_undef (hse0) | _ => (hit) end // end of [HSEs2zexp] // | HSEtyvar (s2v) => HITtyvar (s2v) // | _(*undefined-type*) => hitype_undef (hse0) // end // end of [aux] and aux_s2cst (s2c: s2cst): hitype = let in // case+ 0 of | _ when s2cst_is_datype(s2c) => hitype_tybox() // end of [datatype] | _ => let val sym = s2cst_get_sym(s2c) val name = $SYM.symbol_get_name (sym) in HITnmd(name) // end of [val] end // end of [_] // end // end of [aux_s2cst] and aux_tyarr ( flag: int, hse0: hisexp ) : hitype = let // val-HSEtyarr (hse_elt, dim) = hse0.hisexp_node val hit_elt = aux (flag+1, hse_elt) // in HITtyarr (hit_elt, dim) end // end of [aux_tyarr] and aux_tyrec ( flag: int, hse0: hisexp ) : hitype = let // val-HSEtyrec (knd, lxs) = hse0.hisexp_node in // case+ knd of // | TYRECKINDbox() => if flag > 0 then hitype_tybox() else aux_tyrec2 (flag, lxs) // end of [if] | TYRECKINDbox_lin() => if flag > 0 then hitype_tybox () else aux_tyrec2 (flag, lxs) // end of [if] // | TYRECKINDflt0() => aux_tyrec2(flag, lxs) | TYRECKINDflt1(stamp) => aux_tyrec2(flag, lxs) // | TYRECKINDflt_ext (name) => HITnmd (name) // end // end of [aux_tyrec] and aux_tyrec2 ( flag: int, lxs: labhisexplst ) : hitype = let // val lys = auxlablst(flag, lxs) // val hit = HITtyrec(lys) val opt = the_hitypemap_search(hit) // in // case+ opt of | ~None_vt() => let val hit2 = hitype_gen_tyrec() in the_hitypemap_insert(hit, hit2); hit2 end // end of [None_vt] // | ~Some_vt(hit2) => hit2 // end // end of [aux_tyrec2] and aux_tysum ( flag: int, hse0: hisexp ) : hitype = let // val- HSEtysum (d2c, lxs) = hse0.hisexp_node // val isbox = (if flag > 0 then true else false): bool // in // if isbox then hitype_tybox () else let val tgd = ( if d2con_is_tagless (d2c) then 0 else 1 ) : int // end of [val] val lys = auxlablst (flag, lxs) val hit0 = HITtysum (tgd, lys) val opt = the_hitypemap_search (hit0) in case+ opt of | ~None_vt () => let val hit1 = hitype_gen_tysum () val () = the_hitypemap_insert (hit0, hit1) in hit1 end // end of [None_vt] | ~Some_vt (hit0) => hit0 end // end of [else] // end // end of [aux_tysum] and aux_tyexn ( flag: int, hse0: hisexp ) : hitype = let // val- HSEtysum (d2c, lxs) = hse0.hisexp_node // val isbox = (if flag > 0 then true else false): bool // in // if isbox then hitype_tybox () else let val lys = auxlablst (flag, lxs) val hit0 = HITtyexn (lys) val opt = the_hitypemap_search (hit0) in case+ opt of | ~None_vt () => let val hit1 = hitype_gen_tyexn () val () = the_hitypemap_insert (hit0, hit1) in hit1 end // end of [None_vt] | ~Some_vt (hit0) => hit0 end // end of [else] // end // end of [aux_tyexn] and auxlst ( flag: int, xs: hisexplst ) : hitypelst = let in // case+ xs of // | list_cons (x, xs) => let val y = aux (flag+1, x) val ys = auxlst (flag, xs) in list_cons (y, ys) end // end of [list_cons] // | list_nil((*void*)) => list_nil() // end // end of [auxlst] and auxlablst ( flag: int, lxs: labhisexplst ) : labhitypelst = let in // case+ lxs of // | list_cons (lx, lxs) => let val+ HSLABELED (l, opt, x) = lx // end of [val] val y = aux (flag+1, x) val ly = HTLABELED (l, opt, y) val lys = auxlablst (flag, lxs) in list_cons (ly, lys) end // end of [list_cons] // | list_nil((*void*)) => list_nil () // end // end of [auxlablst] in (* in of [local] *) implement hisexp_typize (flag, x) = aux (flag, x) end // end of [local] (* ****** ****** *) local fun auxfld ( out: FILEref , lhit: labhitype ) : void = let // val+ HTLABELED (lab, opt, hit) = lhit // var isa: bool = false var dim: s2explst = list_nil () // (* val () = println! ("auxfld: hit = ", hit) *) // val () = ( // case+ hit of | HITtyarr ( hit_elt, s2es ) => { val () = isa := true val () = dim := s2es val () = emit_hitype (out, hit_elt) } (* end of [HITtyarr] *) | _ (*non-tyarr*) => emit_hitype (out, hit) // ) : void // end of [val] // val () = emit_text (out, " ") // val () = if isa then emit_text (out, "atstyarr_field(") // end of [if] // val () = ( case+ opt of | Some (name) => emit_text (out, name) | None ((*void*)) => emit_labelext (out, 0(*extknd*), lab) // end of [None] ) : void // end of [val] // val () = ( // if isa then emit_text (out, ") ;") else emit_text (out, " ;") // ) : void // end of [val] // in // nothing end // end of [auxfld] fun auxfldlst ( out: FILEref , lhits: labhitypelst, i: int ) : void = let in // case+ lhits of | list_cons (lhit, lhits) => let val+HTLABELED (lab, opt, hit) = lhit val () = if i > 0 then emit_newline (out) // end of [val] val () = auxfld (out, lhit) in auxfldlst (out, lhits, i+1) end // end of [list_cons] | list_nil () => () // end // end of [auxfldlst] fun auxkey ( out: FILEref, hit: hitype ) : void = let in // case+ hit of | HITtyrec(lhits) => { val () = emit_text (out, "ATSstruct {") val () = auxfldlst (out, lhits, 1) val ((*closing*)) = emit_text (out, "\n}") } (* end of [HITtyrec] *) // | HITtysum(tgd, lhits) => { val () = emit_text (out, "ATSstruct {\n") val () = if tgd > 0 then emit_text (out, "// ") val () = fprintf (out, "#if(%i)\n", @(tgd)) val () = emit_text (out, "int contag ;\n") val () = if tgd > 0 then emit_text (out, "// ") val () = emit_text (out, "#endif") val () = auxfldlst (out, lhits, 1) val ((*closing*)) = emit_text (out, "\n}") } (* end of [HITtysum] *) // | HITtyexn(lhits) => { val () = emit_text (out, "ATSstruct {\n") val () = emit_text (out, "int exntag ;\n") val () = emit_text (out, "char *exnmsg ;") val () = auxfldlst (out, lhits, 1) val ((*closing*)) = emit_text (out, "\n}") } (* end of [HITtyexn] *) // | _ (*non-struct*) => emit_text (out, "(**ERROR**)") // end // end of [auxkey] in (* in of [local] *) implement emit_the_typedeflst (out) = let // typedef keyitm = @(hitype, hitype) // fun auxlst ( out: FILEref , kis: List_vt (keyitm) ) : void = let in // case+ kis of | ~list_vt_cons (ki, kis) => let // val tyvar = hitype_tyvar_test(ki.1) // val () = if tyvar then emit_text(out, "#if(0)\n") // end of [if] // val () = emit_text(out, "typedef\n") val () = auxkey (out, ki.0) val () = emit_text (out, " ") val () = emit_hitype (out, ki.1) val () = emit_text (out, " ;\n") // val () = if tyvar then emit_text(out, "#endif\n") // end of [if] // in auxlst (out, kis) end // end of [list_vt_cons] | ~list_vt_nil((*void*)) => () // end // end of [auxlst] // val () = emit_text (out, "/*\n") val () = emit_text (out, "typedefs-for-tyrecs-and-tysums(beg)\n") val () = emit_text (out, "*/\n") val () = auxlst (out, the_hitypemaplst_get ()) val () = emit_text (out, "/*\n") val () = emit_text (out, "typedefs-for-tyrecs-and-tysums(end)\n") val () = emit_text (out, "*/\n") // in // nothing end // end of [emit_the_typedeflst] end // end of [local] (* ****** ****** *) (* end of [pats_ccomp_hitype.dats] *) ATS2-Postiats-0.2.6/./src/pats_stamp.dats0000664000175000017500000001206312655455557016557 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: May, 2011 // (* ****** ****** *) staload "./pats_stamp.sats" (* ****** ****** *) staload CNTR = "./pats_counter.sats" assume stamp_t0ype = $CNTR.count (* ****** ****** *) implement stamp_get_int (x) = $CNTR.count_get_int (x) (* ****** ****** *) // implement lt_stamp_stamp (x1, x2) = $CNTR.lt_count_count (x1, x2) implement lte_stamp_stamp (x1, x2) = $CNTR.lte_count_count (x1, x2) // implement eq_stamp_stamp (x1, x2) = $CNTR.eq_count_count (x1, x2) implement neq_stamp_stamp (x1, x2) = $CNTR.neq_count_count (x1, x2) // implement compare_stamp_stamp (x1, x2) = $CNTR.compare_count_count (x1, x2) // (* ****** ****** *) // implement tostring_stamp (x) = $CNTR.tostring_count (x) implement tostring_prefix_stamp (pre, x) = $CNTR.tostring_prefix_count (pre, x) // (* ****** ****** *) implement fprint_stamp (out, x) = $CNTR.fprint_count (out, x) (* ****** ****** *) // // HX: // Various stamp-gen functions // (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement s2rtdat_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement s2cst_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement s2var_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement s2Var_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement s2hole_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement d2con_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement d2cst_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement d2mac_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement d2var_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement hitype_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement tmplab_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement tmpvar_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // val cntr = $CNTR.counter_make () // in // implement funlab_stamp_make () = $CNTR.counter_getinc (cntr) // end // end of [local] (* ****** ****** *) local // staload LS = "libats/SATS/linset_avltree.sats" staload _ = "libats/DATS/linset_avltree.dats" // val cmp = lam ( x1: stamp, x2: stamp ) : int = compare_stamp_stamp (x1, x2) // assume stampset_viewtype = $LS.set (stamp) // in (* in-of-local *) implement stampset_vt_nil () = $LS.linset_make_nil () implement stampset_vt_is_nil (xs) = $LS.linset_is_empty (xs) implement stampset_vt_isnot_nil (xs) = $LS.linset_isnot_empty (xs) implement stampset_vt_is_member (xs, x) = $LS.linset_is_member (xs, x, cmp) implement stampset_vt_add (xs, x) = xs where { var xs = xs val _(*replaced*) = $LS.linset_insert (xs, x, cmp) } // end of [stampset_vt_add] implement stampset_vt_free (xs) = $LS.linset_free (xs) end // end of [local] (* ****** ****** *) (* end of [pats_stamp.dats] *) ATS2-Postiats-0.2.6/./src/pats_typerase_decl.dats0000664000175000017500000003153212655455557020260 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) // staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" // implement prerr_FILENAME<> () = prerr "pats_typerase_decl" // (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_dynexp2.sats" staload "./pats_dynexp3.sats" (* ****** ****** *) staload TRENV2 = "./pats_trans2_env.sats" staload TRENV3 = "./pats_trans3_env.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) staload "./pats_typerase.sats" (* ****** ****** *) extern fun d3ecl_tyer_impdec (d3c0: d3ecl): hidecl extern fun d3ecl_tyer_fundecs (d3c0: d3ecl): hidecl extern fun d3ecl_tyer_valdecs (d3c0: d3ecl): hidecl extern fun d3ecl_tyer_valdecs_rec (d3c0: d3ecl): hidecl extern fun d3ecl_tyer_vardecs (d3c0: d3ecl): hidecl (* ****** ****** *) extern fun tmpcstimpmap_make_hideclist (xs: hideclist): tmpcstimpmap extern fun tmpvardecmap_make_hideclist (xs: hideclist): tmpvardecmap (* ****** ****** *) implement d3ecl_tyer (d3c0) = let // val loc0 = d3c0.d3ecl_loc // in // case+ d3c0.d3ecl_node of // | D3Cnone () => hidecl_none (loc0) // | D3Clist (d3cs) => let val hids = d3eclist_tyer (d3cs) in hidecl_list (loc0, hids) end // end of [D3Clist] // | D3Csaspdec (d2c) => hidecl_saspdec (loc0, d2c) // | D3Cextype (name, s2e_def) => let val hse_def = s2exp_tyer_deep (loc0, s2e_def) // end of [val] in hidecl_extype (loc0, name, hse_def) end // end of [D3Cextype] | D3Cextvar (name, d3e_def) => ( hidecl_extvar (loc0, name, d3exp_tyer (d3e_def)) ) (* end of [D3Cextvar] *) // | D3Cextcode (knd, pos, code) => hidecl_extcode (loc0, knd, pos, code) // end of [D3Cextcode] // | D3Cexndecs (d2cs) => hidecl_exndecs (loc0, d2cs) | D3Cdatdecs (knd, s2cs) => hidecl_datdecs (loc0, knd, s2cs) // | D3Cdcstdecs (knd, dck, d2cs) => hidecl_dcstdecs (loc0, dck, d2cs) // | D3Cimpdec _ => d3ecl_tyer_impdec (d3c0) // | D3Cfundecs _ => d3ecl_tyer_fundecs (d3c0) // | D3Cvaldecs _ => d3ecl_tyer_valdecs (d3c0) | D3Cvaldecs_rec _ => d3ecl_tyer_valdecs_rec (d3c0) // | D3Cvardecs _ => d3ecl_tyer_vardecs (d3c0) // | D3Cprvardecs _ => hidecl_none (loc0) // proof vars // | D3Cinclude (knd, d3cs) => let val hids = d3eclist_tyer (d3cs) in hidecl_include (loc0, knd, hids) end // end of [D3Cinclude] // | D3Cstaload ( idopt, fname, flag, fenv, loaded ) => let val-Some (d3cs) = $TRENV3.filenv_get_d3eclistopt (fenv) // end of [val] (* val () = ( println! ("d3ecl_tyer: D3Cstaload: fname = ", fname); println! ("d3ecl_tyer: D3Cstaload: loaded = ", loaded); ) // end of [val] *) val () = ( if (loaded = 0) then let val hids = d3eclist_tyer (d3cs) // val tcimap = tmpcstimpmap_make_hideclist (hids) val p = $TRENV2.filenv_getref_tmpcstimpmap (fenv) val () = $UN.ptrset (p, Some (tcimap)) // val tvdmap = tmpvardecmap_make_hideclist (hids) val p = $TRENV2.filenv_getref_tmpvardecmap (fenv) val () = $UN.ptrset (p, Some (tvdmap)) // in // nothing end // end of [Some] ) : void // end of [val] in hidecl_staload (loc0, idopt, fname, flag, fenv, loaded) end // end of [D3Cstaload] // | D3Cstaloadloc (pfil, nspace, fenv) => let val-Some (d3cs) = $TRENV3.filenv_get_d3eclistopt (fenv) val hids = d3eclist_tyer (d3cs) in hidecl_staloadloc (loc0, pfil, nspace, hids) end // end of [D3Cstaloadloc] // | D3Cdynload (cfil) => hidecl_dynload (loc0, cfil) // | D3Clocal (d3cs_head, d3cs_body) => let val hids_head = d3eclist_tyer (d3cs_head) val hids_body = d3eclist_tyer (d3cs_body) in hidecl_local (loc0, hids_head, hids_body) end // end of [D3Clocal] // (* | _ => let val () = println! ("d3exp_tyer: loc0 = ", loc0) val () = println! ("d3ecl_tyer: d3c0 = ", d3c0) in exitloc (1) end // end of [_] *) // end // end of [d3ecl_tyer] (* ****** ****** *) implement d3eclist_tyer (d3cs) = let // vtypedef res = List_vt (hidecl) // fun loop (d3cs: d3eclist, res: res): res = let in // case+ d3cs of | list_cons (d3c, d3cs) => let val hid = d3ecl_tyer (d3c) val isemp = hidecl_is_empty (hid) in if isemp then loop (d3cs, res) else loop (d3cs, list_vt_cons (hid, res)) // end of [if] end // end of [list_cons] | list_nil ((*void*)) => res // end // end of [loop] // val hids = loop (d3cs, list_vt_nil) val hids = list_vt_reverse (hids) // in list_of_list_vt (hids) end // end of [d3eclist_tyer] (* ****** ****** *) implement d3eclist_tyer_errck (d3cs) = hids where { val hids = d3eclist_tyer (d3cs) val () = the_trans4errlst_finalize () } // end of [d3eclist_tyer_errck] (* ****** ****** *) implement d3ecl_tyer_impdec (d3c0) = let // val loc0 = d3c0.d3ecl_loc val-D3Cimpdec (knd, impdec) = d3c0.d3ecl_node // in // if knd >= 0 then let // val loc = impdec.i3mpdec_loc val d2c = impdec.i3mpdec_cst val imparg = impdec.i3mpdec_imparg val tmparg = impdec.i3mpdec_tmparg val tmparg = s2explstlst_mhnfize (tmparg) // val d2c = d2cst_tyer (d2c) val hse = d3exp_tyer (impdec.i3mpdec_def) val himp = hiimpdec_make (loc, knd, d2c, imparg, tmparg, hse) // end of [val] // in hidecl_impdec (loc0, knd(*implmnt/implement*), himp) end // end of [then] else ( hidecl_none (loc0) ) (* end of [else] *) // end // end of [d3ecl_tyer_impdec] (* ****** ****** *) implement decarg2imparg (s2qs) = let in // case+ s2qs of | list_cons (s2q, s2qs) => list_append (s2q.s2qua_svs, decarg2imparg (s2qs)) // end of [list_cons] | list_nil () => list_nil () // end // end of [decarg2imparg] (* ****** ****** *) local fun f3undec_tyer ( imparg: s2varlst, f3d: f3undec ) : hifundec = let // val loc = f3d.f3undec_loc // val d2v_fun = f3d.f3undec_var val d3e_def = f3d.f3undec_def // val isprf = d3exp_is_prf (d3e_def) // val () = ( // if isprf then let // val () = prerr_error4_loc (loc) val () = prerrln! ( ": [fun] should be replaced with [prfun]." ) (* end of [val] *) // in the_trans4errlst_add (T4E_d3exp_tyer_isprf (d3e_def)) end // end of [if] // ) (* end of [val] *) // val d2v_fun = d2var_tyer (d2v_fun) val hde_def = d3exp_tyer (d3e_def) // in hifundec_make (loc, d2v_fun, imparg, hde_def) end // end of [f3undec_tyer] fun f3undeclst_tyer ( knd: funkind , decarg: s2qualst, f3ds: f3undeclst ) : hifundeclst = let val isprf = funkind_is_proof (knd) in // if isprf then list_nil () // proofs are erased else let val imparg = decarg2imparg (decarg) val hfds = list_map_cloptr (f3ds, lam (f3d) =<1> f3undec_tyer (imparg, f3d)) // end of [val] in list_of_list_vt (hfds) end // end of [else] // end // end of [f3undeclst_tyer] in (* in of [local] *) implement d3ecl_tyer_fundecs (d3c0) = hdc0 where { // val loc0 = d3c0.d3ecl_loc // val-D3Cfundecs (knd, decarg, f3ds) = d3c0.d3ecl_node // val hfds = f3undeclst_tyer (knd, decarg, f3ds) val hdc0 = hidecl_fundecs (loc0, knd, decarg, hfds) // val () = hifundeclst_set_hideclopt (hfds, Some(hdc0)) // } (* end of [d3ecl_tyer_fundecs] *) end // end of [local] (* ****** ****** *) local fun v3aldec_tyer ( v3d: v3aldec ) : hivaldec = let // val loc = v3d.v3aldec_loc val hip = p3at_tyer (v3d.v3aldec_pat) // end of [val] val d3e_def = v3d.v3aldec_def // val isprf = d3exp_is_prf(d3e_def) // val () = ( if isprf then let // val () = prerr_error4_loc (loc) val () = prerrln! ( ": [val] should be replaced with [prval]." ) (* end of [val] *) // in the_trans4errlst_add (T4E_d3exp_tyer_isprf (d3e_def)) end // end of [if] // ) (* end of [val] *) // val hde_def = d3exp_tyer (d3e_def) // in hivaldec_make (loc, hip, hde_def) end // end of [v3aldec_tyer] fun v3aldeclst_tyer ( knd: valkind, v3ds: v3aldeclst ) : hivaldeclst = let val isprf = valkind_is_proof (knd) in // if isprf then list_nil () // proofs are erased else let val hvds = list_map_fun (v3ds, v3aldec_tyer) in list_of_list_vt (hvds) end // end of [if] // end // end of [v3aldeclst_tyer] in (* in of [local] *) implement d3ecl_tyer_valdecs (d3c0) = let // val loc0 = d3c0.d3ecl_loc val-D3Cvaldecs (knd, v3ds) = d3c0.d3ecl_node val hvds = v3aldeclst_tyer (knd, v3ds) // in hidecl_valdecs (loc0, knd, hvds) end // end of [d3ecl_tyer_valdecs] implement d3ecl_tyer_valdecs_rec (d3c0) = let // val loc0 = d3c0.d3ecl_loc val-D3Cvaldecs_rec (knd, v3ds) = d3c0.d3ecl_node val hvds = v3aldeclst_tyer (knd, v3ds) // in hidecl_valdecs_rec (loc0, knd, hvds) end // end of [d3ecl_tyer_valdecs_rec] end // end of [local] (* ****** ****** *) local fun v3ardec_tyer ( v3d: v3ardec ) : hivardec = let // val loc = v3d.v3ardec_loc val knd = v3d.v3ardec_knd // val d2v = v3d.v3ardec_dvar_var val d2v = d2var_tyer (d2v) // val d2vw = v3d.v3ardec_dvar_view // val s2e = v3d.v3ardec_type val hse = s2exp_tyer_shallow (loc, s2e) // val init = d3expopt_tyer (v3d.v3ardec_init) // in hivardec_make (loc, knd, d2v, d2vw, hse, init) end // end of [v3ardec_tyer] in (* in of [local] *) implement d3ecl_tyer_vardecs (d3c0) = let // val loc0 = d3c0.d3ecl_loc val-D3Cvardecs (v3ds) = d3c0.d3ecl_node val hvds = list_map_fun (v3ds, v3ardec_tyer) val hvds = list_of_list_vt (hvds) // in hidecl_vardecs (loc0, hvds) end // end of [d3ecl_tyer_vardecs] end // end of [local] (* ****** ****** *) implement tmpcstimpmap_make_hideclist (xs) = let // fun aux ( map: &tmpcstimpmap, x: hidecl ) : void = let in // case+ x.hidecl_node of | HIDimpdec (knd, imp) => let val tmparg = imp.hiimpdec_tmparg in case+ tmparg of | list_cons _ => tmpcstimpmap_insert (map, imp) | list_nil () => () end // end of [HIDimpdec] // | HIDinclude (knd, xs_incl) => auxlst (map, xs_incl) (* end of [HIDinclude] *) // | HIDlocal (xs_head, xs_body) => ( auxlst (map, xs_head); auxlst (map, xs_body) ) // end of [HIDlocal] // | _ => () // end (* end of [aux] *) // and auxlst ( map: &tmpcstimpmap, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = aux (map, x) in auxlst (map, xs) end (* end of [list_cons] *) | list_nil () => () // end (* end of [auxlst] *) // var map : tmpcstimpmap = d2cstmap_nil () val () = auxlst (map, xs) // in map end // end of [tmpcstimpmap_make_hideclist] (* ****** ****** *) implement tmpvardecmap_make_hideclist (xs) = let // fun aux ( map: &tmpvardecmap, x: hidecl ) : void = let in // case+ x.hidecl_node of | HIDfundecs (knd, s2qs, hfds) => let in case+ s2qs of | list_cons _ => tmpvardecmap_inserts (map, hfds) | list_nil () => () end // end of [HIDfundecs] // | HIDinclude (knd, xs_incl) => auxlst (map, xs_incl) (* end of [HIDinclude] *) // | HIDlocal (xs_head, xs_body) => ( auxlst (map, xs_head); auxlst (map, xs_body) ) // end of [HIDlocal] // | _ => () // end (* end of [aux] *) // and auxlst ( map: &tmpvardecmap, xs: hideclist ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = aux (map, x) in auxlst (map, xs) end (* end of [list_cons] *) | list_nil () => () // end (* end of [auxlst] *) // var map : tmpvardecmap = d2varmap_nil () val () = auxlst (map, xs) // in map end // end of [tmpvardecmap_make_hideclist] (* ****** ****** *) (* end of [pats_typerase_decl.dats] *) ATS2-Postiats-0.2.6/./src/pats_hidynexp_util.dats0000664000175000017500000003435112655455557020324 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2012 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "./prelude/SATS/unsafe.sats" (* ****** ****** *) staload "./pats_errmsg.sats" staload _(*anon*) = "./pats_errmsg.dats" implement prerr_FILENAME<> () = prerr "pats_hidynexp_util" (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload LAB = "./pats_label.sats" overload = with $LAB.eq_label_label (* ****** ****** *) staload LOC = "./pats_location.sats" overload print with $LOC.print_location (* ****** ****** *) staload S2E = "./pats_staexp2.sats" staload D2E = "./pats_dynexp2.sats" overload = with $S2E.eq_d2con_d2con overload = with $D2E.eq_d2var_d2var (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) // implement d2cst_get2_hisexp (d2c) = $UN.cast{hisexpopt}($D2E.d2cst_get_hisexp(d2c)) implement d2cst_set2_hisexp (d2c, opt) = $D2E.d2cst_set_hisexp (d2c, $UN.cast{$D2E.hisexpopt}(opt)) // (* ****** ****** *) implement $D2E.d2cst_is_fun (d2c) = let // val-Some (hse) = d2cst_get2_hisexp (d2c) // in // case+ hse.hisexp_node of | HSEfun (fc, _arg, _res) => ( case+ fc of FUNCLOfun () => true | _ => false ) // end of [HSEfun] | _ => false // end of [_] // end // end of [$D2E.d2cst_is_fun] (* ****** ****** *) implement d2cst_get2_type_arg (d2c) = let // val-Some(hse) = d2cst_get2_hisexp (d2c) // in // case+ hse.hisexp_node of | HSEfun ( _(*fc*), _arg, _(*res*) ) => _arg | _ => let val () = prerr_interror () val ( ) = ( prerrln! (": d2cst_get_type_arg: hse = ", hse) ) // end of [val] val () = assertloc (false) in exit (1) // HX: this is deadcode end (* end of [_] *) // end // end of [d2cst_get2_type_arg] implement d2cst_get2_type_res (d2c) = let // val-Some(hse) = d2cst_get2_hisexp (d2c) // in // case+ hse.hisexp_node of | HSEfun ( _(*fc*), _(*arg*), _res ) => _res | _ => let val () = prerr_interror () val ( ) = ( prerrln! (": d2cst_get_type_arg: hse = ", hse) ) // end of [val] val () = assertloc (false) in exit (1) // HX: this is deadcode end (* end of [_] *) // end // end of [d2cst_get_type_res] (* ****** ****** *) // implement d2var_get2_hisexp (d2v) = $UN.cast{hisexpopt}($D2E.d2var_get_hisexp(d2v)) implement d2var_set2_hisexp (d2v, opt) = $D2E.d2var_set_hisexp (d2v, $UN.cast{$D2E.hisexpopt}(opt)) // (* ****** ****** *) implement d2cst_get2_funclo (d2c) = let val opt = d2cst_get2_hisexp (d2c) in // case+ opt of | Some (hse) => ( case+ hse.hisexp_node of | HSEfun (fc, _, _) => Some_vt (fc) | _ => None_vt () ) | None () => None_vt () // end // end of [d2cst_get2_funclo] (* ****** ****** *) implement d2var_get2_funclo (d2v) = let val opt = d2var_get2_hisexp (d2v) in // case+ opt of | Some (hse) => ( case+ hse.hisexp_node of | HSEfun (fc, _, _) => Some_vt (fc) | _ => None_vt () ) | None () => None_vt () // end // end of [d2var_get2_funclo] (* ****** ****** *) implement hipat_is_wild (hip) = let in // case+ hip.hipat_node of | HIPany _ => true | HIPvar _ => true | HIPann (hip, _) => hipat_is_wild (hip) | HIPrefas (_, hip) => hipat_is_wild (hip) | _ => false // end // end of [hipat_is_wild] implement hipatlst_is_wild (hips) = list_forall_fun (hips, hipat_is_wild) // end of [hipatlst_is_wild] implement labhipatlst_is_wild (lhips) = let // fun labhipat_is_wild (lhip: labhipat): bool = let val LABHIPAT (_, hip) = lhip in hipat_is_wild (hip) end // end of [labhipat_is_wild] // in list_forall_fun (lhips, labhipat_is_wild) end // end of [labhipatlst_is_wild] (* ****** ****** *) implement hipat_subtest (hip1, hip2) = let // (* val () = ( println! ("hipat_subtest: hip1 = ", hip1); println! ("hipat_subtest: hip2 = ", hip2); ) // end of [val] *) // val hipn1 = hip1.hipat_node val hipn2 = hip2.hipat_node // in // case+ (hipn1, hipn2) of // | (_, HIPany _) => true | (_, HIPvar _) => true | (_, HIPann (hip2, _)) => hipat_subtest (hip1, hip2) | (_, HIPrefas (_, hip2)) => hipat_subtest (hip1, hip2) // | (HIPann (hip1, _), _) => hipat_subtest (hip1, hip2) | (HIPrefas (_, hip1), _) => hipat_subtest (hip1, hip2) // | (HIPcon (_, d2c1, _, lxs1), _) => ( case+ hipn2 of | HIPcon (_, d2c2, _, lxs2) => ( if d2c1 = d2c2 then labhipatlst_subtest (lxs1, lxs2) else false // end of [if] ) | HIPcon_any (_, d2c2) => d2c1 = d2c2 | _ => false ) | (HIPcon_any (_, d2c1), _) => ( case+ hipn2 of | HIPcon (_, d2c2, _, lxs2) => if d2c1 = d2c2 then labhipatlst_is_wild (lxs2) else false | HIPcon_any (_, d2c2) => d2c1 = d2c2 | _ => false ) // | (HIPint i1, _) => ( case+ hipn2 of HIPint i2 => i1 = i2 | _ => false ) | (HIPbool b1, _) => ( case+ hipn2 of HIPbool b2 => b1 = b2 | _ => false ) | (HIPchar c1, _) => ( case+ hipn2 of HIPchar c2 => c1 = c2 | _ => false ) | (HIPstring str1, _) => ( case+ hipn2 of HIPstring str2 => str1 = str2 | _ => false ) | (HIPfloat f1, _) => ( case+ hipn2 of HIPfloat f2 => f1 = f2 | _ => false ) // | (HIPempty (), _) => ( case+ hipn2 of HIPempty () => true | _ => false ) // (* // // HX-2014-07: [HIPlst] is no longer in use // | (HIPlst (_, xs1), _) => ( case+ hipn2 of | HIPlst (_, xs2) => hipatlst_subtest (xs1, xs2) | _ => false ) *) // | (HIPrec (_, lxs1, _), _) => ( case+ hipn2 of | HIPrec (_, lxs2, _) => labhipatlst_subtest (lxs1, lxs2) | _ => false ) // | (_, _) (*rest-of-hipat-hipat*) => false // end // end of [hipat_subtest] (* ****** ****** *) implement hipatlst_subtest (xs1, xs2) = let in // case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => ( if hipat_subtest (x1, x2) then hipatlst_subtest (xs1, xs2) else false // end of [if] ) | list_nil () => false ) | list_nil () => ( case+ xs2 of list_cons _ => false | list_nil () => true ) // end // end of [hipatlst_subtest] (* ****** ****** *) local fun labhipat_subtest ( lx1: labhipat, lx2: labhipat ) : bool = let // val+LABHIPAT (l1, x1) = lx1 val+LABHIPAT (l2, x2) = lx2 // in if l1 = l2 then hipat_subtest (x1, x2) else false end // end of [labhipat_subtest] in (* in of [local] *) implement labhipatlst_subtest (lxs1, lxs2) = let in // case+ lxs1 of | list_cons (lx1, lxs1) => ( case+ lxs2 of | list_cons (lx2, lxs2) => ( if labhipat_subtest (lx1, lx2) then labhipatlst_subtest (lxs1, lxs2) else false // end of [if] ) | list_nil () => false ) | list_nil () => ( case+ lxs2 of list_cons _ => false | list_nil () => true ) // end // end of [labhipatlst_subtest] end // end of [local] (* ****** ****** *) local fun hidexplst_is_value (xs: hidexplst): bool = list_forall_fun (xs, hidexp_is_value) // end of [hidexplst_is_value] fun labhidexplst_is_value (lxs: labhidexplst): bool = let // fun ftest (lx: labhidexp) = let val LABHIDEXP (l, x) = lx in hidexp_is_value (x) end // end of [fun] // in list_forall_fun (lxs, ftest) end // end of [labhidexplst_is_value] fun hidecl_is_value (hid0: hidecl): bool = let in // case+ hid0.hidecl_node of // case+ | HIDnone() => true // | HIDlist(hids) => hideclist_is_value(hids) // | HIDfundecs _ => true | HIDvaldecs (_, hvds) => hivaldecs_is_value(hvds) // end of [HIDvaldecs] // | _(*rest-of-hidecl*) => false // end // end of [hidecl_is_value] and hideclist_is_value (hids: hideclist): bool = list_forall_fun(hids, hidecl_is_value) // end of [hideclist_is_value] and hivaldec_is_value (hvd: hivaldec): bool = hidexp_is_value(hvd.hivaldec_def) // and hivaldecs_is_value (hvds: hivaldeclst): bool = list_forall_fun(hvds, hivaldec_is_value) in (* in of [local] *) implement hidexp_is_value (hde0) = let in // case+ hde0.hidexp_node of // case+ // | HDEvar _ => true | HDEcst _ => true // | HDEbool _ => true | HDEchar _ => true | HDEstring _ => true // | HDEi0nt _ => true | HDEf0loat _ => true // | HDEextval _ => true // | HDElam _ => true | HDErec (_, lhdes, _) => labhidexplst_is_value (lhdes) // | HDEtmpcst _ => true | HDEtmpvar _ => true // | HDElet(hids, hde) => if hideclist_is_value(hids) then hidexp_is_value(hde) else false // | _ (*rest-of-hidexp*) => false // end // end of [hidexp_is_value] end // end of [local] (* ****** ****** *) local fun auxseq ( hde, hdes: hidexplst ) : bool = ( case+ hdes of | list_nil () => hidexp_is_lvalue (hde) | list_cons (hde, hdes) => auxseq (hde, hdes) ) (* end of [auxseq] *) in (*in-of-local*) implement hidexp_is_lvalue (hde0) = let in // case+ hde0.hidexp_node of | HDEvar (d2v) => $D2E.d2var_is_mutabl (d2v) | HDEselvar (d2v, _, _) => $D2E.d2var_is_mutabl (d2v) | HDEselptr (hde, _, _) => true // | HDEseq (hdes) => ( case+ hdes of | list_cons (hde, hdes) => auxseq (hde, hdes) | list_nil () => false ) (* end of [HDEseq] *) // | _ (* non-lvalue *) => false // end // end of [hidexp_is_lvalue] end // end of [local] (* ****** ****** *) (* implement un_hidexp_int (hde) = ( case+ hde.hidexp_node of | HDEint (int) => Some_vt (int) | HDEi0nt (tok) => | _(*noninteger*) => None_vt((*void*)) ) (* end of [un_hidexp_int] *) *) (* ****** ****** *) implement hidecl_is_empty (hid) = let in // case+ hid.hidecl_node of // | HIDnone () => true // | HIDlist (xs) => list_is_nil (xs) // | HIDfundecs (_, _, xs) => list_is_nil (xs) // | HIDvaldecs (_, xs) => list_is_nil (xs) | HIDvaldecs_rec (_, xs) => list_is_nil (xs) (* | HIDvardecs (xs) => list_is_nil (xs) *) | _ => false // end // end of [hidecl_is_empty] (* ****** ****** *) local typedef d2var = $D2E.d2var datavtype hdevaremp = | HDEVEnone of () | HDEVEsome_var of (d2var) | HDEVEsome_emp of ((*void*)) // end of [hdevaremp] fun hidexp_is_varemp (hde0: hidexp): hdevaremp = let in // case+ hde0.hidexp_node of | HDEvar d2v => HDEVEsome_var (d2v) | HDEempty () => HDEVEsome_emp ((*void*)) | HDEfoldat () => HDEVEsome_emp ((*void*)) | HDErec (knd, lhdes, _) => ( if knd = 0 then ( case+ lhdes of | list_cons (lhde, list_nil ()) => let val+LABHIDEXP (lab, hde) = lhde in hidexp_is_varemp (hde) end // end of [list_cons (_, list_nil)] | _ => HDEVEnone () ) else HDEVEnone () // end of [if] ) (* end of [HIErec] *) | _ => HDEVEnone ((*void*)) // end // end of [hidexp_is_varemp] datavtype hianybind = | HABNDnone of () | HABNDsome_any of hidexp | HABNDsome_var of (d2var, hidexp) | HABNDsome_emp of hidexp fun hidecl_is_anybind (hid0: hidecl): hianybind = let // fun aux ( hip0: hipat, hde: hidexp ) : hianybind = let in // case+ hip0.hipat_node of | HIPany _ => HABNDsome_any (hde) | HIPvar (d2v) => HABNDsome_var (d2v, hde) | HIPempty () => HABNDsome_emp (hde) | HIPrec ( knd, lhips, hse_rec ) => ( if knd = 0 then ( case+ lhips of | list_cons (lhip, list_nil ()) => let val+LABHIPAT (lab, hip) = lhip in aux (hip, hde) end | _ => HABNDnone () ) else HABNDnone () // end of [if] ) (* end of [HIPrec] *) | _ => HABNDnone ((*void*)) // end // end of [aux] // in // case+ hid0.hidecl_node of | HIDvaldecs (_, hvds) => ( case+ hvds of | list_cons ( hvd, list_nil () ) => aux (hvd.hivaldec_pat, hvd.hivaldec_def) | _ => HABNDnone ((*void*)) ) (* end of [HIDvaldecs] *) | _ => HABNDnone () // end // end of [hidecl_is_anybind] fun dropz{n:pos} ( xs: list (hidecl, n) ) : list (hidecl, n-1) = let // val+list_cons (x, xs1) = xs // in // case+ xs1 of | list_cons _ => list_cons (x, dropz (xs1)) | list_nil () => list_nil () // end // end of [dropz] in (* in of [local] *) implement hidexp_let_simplify (loc, hse, hids, hde) = let in // case+ hids of // | list_cons _ => let val opt = hidexp_is_varemp (hde) in case+ opt of | ~HDEVEsome_var (d2v) => let val hid = list_last (hids) val opt2 = hidecl_is_anybind (hid) in case+ opt2 of | ~HABNDnone () => hidexp_let (loc, hse, hids, hde) | ~HABNDsome_var (d2v2, hde2) => if not(d2v=d2v2) then hidexp_let (loc, hse, hids, hde) else hidexp_let (loc, hse, dropz(hids), hde2) // end of [if] | ~HABNDsome_any _ => hidexp_let (loc, hse, hids, hde) | ~HABNDsome_emp _ => hidexp_let (loc, hse, hids, hde) end // end of [HDEVEsome_var] | ~HDEVEsome_emp ((*void*)) => let val hid = list_last (hids) val opt2 = hidecl_is_anybind (hid) in case+ opt2 of | ~HABNDnone () => hidexp_let (loc, hse, hids, hde) | ~HABNDsome_emp (hde2) => hidexp_let (loc, hse, dropz (hids), hde2) // end of [HABNDsome_emp] | ~HABNDsome_any _ => hidexp_let (loc, hse, hids, hde) | ~HABNDsome_var _ => hidexp_let (loc, hse, hids, hde) end // end of [HDEVEsome_emp] | ~HDEVEnone () => hidexp_let (loc, hse, hids, hde) end // end of [list_cons] // | list_nil ((*void*)) => hde // end // end of [hidexp_let_simplify] end // end of [local] (* ****** ****** *) (* end of [pats_hidynexp_util.dats] *) ATS2-Postiats-0.2.6/./src/pats_jsonize.sats0000664000175000017500000001410612655455557017133 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2011 // (* ****** ****** *) staload "./pats_basics.sats" (* ****** ****** *) staload INTINF = "./pats_intinf.sats" typedef intinf = $INTINF.intinf (* ****** ****** *) staload "./pats_stamp.sats" staload "./pats_symbol.sats" staload "./pats_location.sats" (* ****** ****** *) staload "./pats_label.sats" (* ****** ****** *) (* ** HX-2013-11: JSON value representation *) datatype jsonval = // | JSONnul of () | JSONint of (int) | JSONintinf of (intinf) | JSONbool of (bool) | JSONfloat of (double) | JSONstring of (string) // | JSONlocation of (location) | JSONfilename of (filename) // | JSONlist of (jsonvalist) | JSONlablist of labjsonvalist | JSONoption of (jsonvalopt) // end of [jsonval] where jsonvalist = List (jsonval) and labjsonval = @(string, jsonval) and labjsonvalist = List0 (labjsonval) and jsonvalopt = Option (jsonval) (* ****** ****** *) // fun jsonval_int (x: int): jsonval fun jsonval_intinf (x: intinf): jsonval // fun jsonval_bool (x: bool): jsonval fun jsonval_double (x: double): jsonval fun jsonval_string (x: string): jsonval // (* ****** ****** *) // fun jsonval_location (loc: location): jsonval fun jsonval_filename (fil: filename): jsonval // (* ****** ****** *) // fun jsonval_sing (x: jsonval): jsonval fun jsonval_pair (x1: jsonval, x2: jsonval): jsonval // (* ****** ****** *) // fun jsonval_labval1 (l1: string, x1: jsonval): jsonval // fun jsonval_labval2 ( l1: string, x1: jsonval , l2: string, x2: jsonval ) : jsonval // end of [jsonval_labval2] // fun jsonval_labval3 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval ) : jsonval // end of [jsonval_labval3] // fun jsonval_labval4 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval , l4: string, x4: jsonval ) : jsonval // end of [jsonval_labval4] // fun jsonval_labval5 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval , l4: string, x4: jsonval , l5: string, x5: jsonval ) : jsonval // end of [jsonval_labval5] // fun jsonval_labval6 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval , l4: string, x4: jsonval , l5: string, x5: jsonval , l6: string, x6: jsonval ) : jsonval // end of [jsonval_labval6] // fun jsonval_labval7 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval , l4: string, x4: jsonval , l5: string, x5: jsonval , l6: string, x6: jsonval , l7: string, x7: jsonval ) : jsonval // end of [jsonval_labval7] // fun jsonval_labval8 ( l1: string, x1: jsonval , l2: string, x2: jsonval , l3: string, x3: jsonval , l4: string, x4: jsonval , l5: string, x5: jsonval , l6: string, x6: jsonval , l7: string, x7: jsonval , l8: string, x8: jsonval ) : jsonval // end of [jsonval_labval8] // (* ****** ****** *) // fun jsonval_conarglst (con: string, arglst: jsonvalist): jsonval // (* ****** ****** *) // fun jsonval_conarg0 (con: string): jsonval fun jsonval_conarg1 (con: string, arg: jsonval): jsonval fun jsonval_conarg2 (con: string, arg1: jsonval, arg2: jsonval): jsonval // fun jsonval_conarg3 ( con: string, arg1: jsonval, arg2: jsonval, arg3: jsonval ) : jsonval // end of [jsonval_conarg3] fun jsonval_conarg4 ( con: string , arg1: jsonval, arg2: jsonval, arg3: jsonval, arg4: jsonval ) : jsonval // end of [jsonval_conarg4] // (* ****** ****** *) // fun jsonval_none (): jsonval fun jsonval_some (x: jsonval): jsonval // (* ****** ****** *) // fun fprint_jsonval (out: FILEref, x: jsonval): void fun fprint_jsonvalist (out: FILEref, xs: jsonvalist): void fun fprint_labjsonvalist (out: FILEref, lxs: labjsonvalist): void // overload fprint with fprint_jsonval overload fprint with fprint_jsonvalist overload fprint with fprint_labjsonvalist // (* ****** ****** *) typedef jsonize_ftype (a:t@ype) = (a) -> jsonval (* ****** ****** *) fun jsonize_funclo : jsonize_ftype (funclo) (* ****** ****** *) fun jsonize_caskind : jsonize_ftype (caskind) (* ****** ****** *) fun jsonize_funkind : jsonize_ftype (funkind) fun jsonize_valkind : jsonize_ftype (valkind) (* ****** ****** *) fun jsonize_dcstkind : jsonize_ftype (dcstkind) (* ****** ****** *) fun jsonize_stamp : jsonize_ftype (stamp) fun jsonize_symbol : jsonize_ftype (symbol) fun jsonize_symbolopt : jsonize_ftype (symbolopt) (* ****** ****** *) fun jsonize_location : jsonize_ftype (location) fun jsonize_filename : jsonize_ftype (filename) (* ****** ****** *) fun jsonize_label : jsonize_ftype (label) (* ****** ****** *) fun jsonize_ignored{a:type} (x: a): jsonval (* ****** ****** *) // fun{a:t@ype} jsonize_list_fun (xs: List0 (a), f: jsonize_ftype (a)): jsonval // end of [jsonize_list_fun] // fun{a:t@ype} jsonize_option_fun (xs: Option (a), f: jsonize_ftype (a)): jsonval // end of [jsonize_option_fun] // (* ****** ****** *) (* end of [pats_jsonize.sats] *) ATS2-Postiats-0.2.6/./src/pats_jsonize_synent2.dats0000664000175000017500000011104212655455557020573 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2013 // (* ****** ****** *) // // Author: William Blair // Authoremail: william.douglass.blairATgmailDOTcom // Contribing Time: August 7, 2014 // (* ****** ****** *) // // HX-2014-12-09: Reorganizing // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload LEX = "./pats_lexing.sats" typedef token = $LEX.token (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) // staload "./pats_jsonize.sats" // staload _(*anon*) = "./pats_jsonize.dats" // (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_staexp2_util.sats" (* ****** ****** *) staload "./pats_jsonize_synent2.sats" (* ****** ****** *) #define nil list_nil #define :: list_cons #define cons list_cons (* ****** ****** *) macdef jsonize_loc (x) = jsonize_location (,(x)) (* ****** ****** *) // // Statics // (* ****** ****** *) extern fun jsonize_s2rtbas: jsonize_ftype (s2rtbas) (* ****** ****** *) implement jsonize_s2rtbas (s2tb) = let in // case+ s2tb of | S2RTBASpre (sym) => jsonize_symbol (sym) | S2RTBASimp (knd, sym) => jsonize_symbol (sym) | S2RTBASdef (s2td) => let val sym = s2rtdat_get_sym (s2td) in jsonize_symbol (sym) end // end of [S2RTBASdef] // end // end of [jsonize_s2rtbas] (* ****** ****** *) implement jsonize_s2rt (s2t0) = let in // case+ s2t0 of | S2RTbas(s2tb) => let val s2tb = jsonize_s2rtbas (s2tb) in jsonval_conarg1 ("S2RTbas", s2tb) end // end of [S2RTbas] // | S2RTfun (s2ts_arg, s2t_res) => let // val arg = jsonize_s2rtlst (s2ts_arg) // end of [val] val res = jsonize_s2rt (s2t_res) // in jsonval_conarg2 ("S2RTfun", arg, res) end // end of [S2RTfun] // | S2RTtup(s2ts) => let val s2ts = jsonize_s2rtlst (s2ts) in jsonval_conarg1 ("S2RTtup", s2ts) end // end of [S2RTtup] // | S2RTVar(s2tV) => jsonize_s2rt(s2rtVar_get_s2rt(s2tV)) // end of [S2RTVar] // | S2RTerr((*void*)) => jsonval_conarg0 ("S2RTerr") // end // end of [jsonize_s2rt] (* ****** ****** *) implement jsonize_s2rtlst (s2ts) = let // val jsvs = list_map_fun (s2ts, jsonize_s2rt) // in JSONlist (list_of_list_vt{jsonval}(jsvs)) end // end of [jsonize_s2rtlst] (* ****** ****** *) implement jsonize_s2cst (s2c) = let // val stamp = jsonize_stamp(s2cst_get_stamp(s2c)) // in jsonval_labval1 ("s2cst_stamp", stamp) end // end of [jsonize_s2cst] // implement jsonize_s2cst_long (s2c) = let // val sym = jsonize_symbol(s2cst_get_sym(s2c)) // val s2t = jsonize_s2rt (s2cst_get_srt (s2c)) val stamp = jsonize_stamp (s2cst_get_stamp (s2c)) // val supcls = jsonize0_s2explst (s2cst_get_supcls (s2c)) // val dconlstopt = let val opt = s2cst_get_dconlst (s2c) // end of [val] in // case+ opt of | None () => jsonval_none((*void*)) | Some (d2cs) => jsonval_some(jsonize_d2conlst(d2cs)) // end of [Some] end // end of [val] // in // jsonval_labval5 ( "s2cst_sym", sym , "s2cst_srt", s2t , "s2cst_stamp", stamp , "s2cst_supcls", supcls , "s2cst_dconlst", dconlstopt ) // end // end of [jsonize_s2cst_long] (* ****** ****** *) implement jsonize_s2cstlst (s2cs) = ( jsonize_list_fun(s2cs, jsonize_s2cst) ) (* end of [jsonize_s2cstlst] *) (* ****** ****** *) implement jsonize_s2rtdat_long (s2td) = let // val sym = jsonize_symbol(s2rtdat_get_sym(s2td)) val stamp = jsonize_stamp(s2rtdat_get_stamp(s2td)) // val sconlst= jsonize_list_fun (s2rtdat_get_sconlst(s2td), jsonize_s2cst_long) // in // jsonval_labval3 ( "s2rtdat_sym", sym , "s2rtdat_stamp", stamp , "s2rtdat_sconlst", sconlst ) // end // end of [jsonize_s2rtdat_long] (* ****** ****** *) // implement jsonize_s2var (s2v) = let // val stamp = jsonize_stamp(s2var_get_stamp(s2v)) // in jsonval_labval1 ("s2var_stamp", stamp) end // end of [jsonize_s2var] // implement jsonize_s2var_long (s2v) = let // val sym = jsonize_symbol(s2var_get_sym(s2v)) val s2rt = jsonize_s2rt (s2var_get_srt (s2v)) val stamp = jsonize_stamp (s2var_get_stamp (s2v)) // in // jsonval_labval3 ("s2var_sym", sym, "s2var_srt", s2rt, "s2var_stamp", stamp) // end // end of [jsonize_s2var_long] // (* ****** ****** *) implement jsonize_s2varlst (s2vs) = let // val jsvs = list_map_fun (s2vs, jsonize_s2var) // in JSONlist (list_of_list_vt{jsonval}(jsvs)) end // end of [jsonize_s2varlst] (* ****** ****** *) implement jsonize_s2Var (s2V) = let // val stamp = jsonize_stamp (s2Var_get_stamp (s2V)) val szexp = jsonize_s2zexp (s2Var_get_szexp (s2V)) // in jsonval_labval2 ("s2Var_stamp", stamp, "s2Var_szexp", szexp) end // end of [jsonize_s2Var] implement jsonize_s2Var_long (s2V) = jsonize_s2Var (s2V) (* ****** ****** *) // implement jsonize_d2con (d2c) = let // val stamp = jsonize_stamp(d2con_get_stamp(d2c)) // in jsonval_labval1 ("d2con_stamp", stamp) end // end of [jsonize_d2con] // implement jsonize_d2con_long (d2c) = let // val sym = jsonize_symbol (d2con_get_sym (d2c)) val type = jsonize0_s2exp (d2con_get_type (d2c)) val stamp = jsonize_stamp (d2con_get_stamp (d2c)) // in // jsonval_labval3 ( "d2con_sym", sym , "d2con_type", type , "d2con_stamp", stamp ) // end // end of [jsonize_d2con_long] // (* ****** ****** *) implement jsonize_d2conlst (d2cs) = ( jsonize_list_fun(d2cs, jsonize_d2con) ) (* end of [jsonize_d2conlst] *) (* ****** ****** *) implement jsonize_tyreckind (knd) = let in // case+ knd of // | TYRECKINDbox () => jsonval_conarg0 ("TYRECKINDbox") | TYRECKINDbox_lin () => jsonval_conarg0 ("TYRECKINDbox_lin") // | TYRECKINDflt0 () => jsonval_conarg0 ("TYRECKINDflt0") | TYRECKINDflt1 (x) => jsonval_conarg1 ("TYRECKINDflt1", jsonize_stamp (x)) | TYRECKINDflt_ext (name) => jsonval_conarg1 ("TYRECKINDflt_ext", jsonval_string (name)) // end // end of [jsonize_tyreckind] (* ****** ****** *) // implement jsonize0_s2exp (s2e) = jsonize_s2exp (0(*hnfize*), s2e) implement jsonize1_s2exp (s2e) = jsonize_s2exp (1(*hnfize*), s2e) // (* ****** ****** *) // implement jsonize0_s2explst (s2es) = jsonize_s2explst (0(*hnfize*), s2es) implement jsonize1_s2explst (s2es) = jsonize_s2explst (1(*hnfize*), s2es) // (* ****** ****** *) // implement jsonize0_s2expopt (opt) = jsonize_s2expopt (0(*hnfize*), opt) implement jsonize1_s2expopt (opt) = jsonize_s2expopt (1(*hnfize*), opt) // (* ****** ****** *) implement jsonize_s2exp (flag, s2e0) = let // fun auxmain ( flag: int, s2e0: s2exp ) : jsonval = let // val s2e0 = ( if flag = 0 then s2e0 else s2exp_hnfize (s2e0) ) : s2exp // end of [val] // in // case+ s2e0.s2exp_node of // | S2Eint (i) => jsonval_conarg1 ("S2Eint", jsonval_int (i)) | S2Eintinf (i) => jsonval_conarg1 ("S2Eintinf", jsonval_intinf (i)) // | S2Ecst (s2c) => jsonval_conarg1 ("S2Ecst", jsonize_s2cst (s2c)) // | S2Eextype (name, arg) => jsonval_conarg1 ("S2Eextype", jsonval_string (name)) | S2Eextkind (name, arg) => jsonval_conarg1 ("S2Eextkind", jsonval_string (name)) // | S2Evar (s2v) => jsonval_conarg1 ("S2Evar", jsonize_s2var (s2v)) | S2EVar (s2V) => jsonval_conarg1 ("S2EVar", jsonize_s2Var (s2V)) // | S2Esizeof (s2e) => jsonval_conarg1 ("S2Esizeof", jsonize_s2exp (flag, s2e)) // | S2Eeqeq (s2e1, s2e2) => let val s2e1 = jsonize_s2exp (flag, s2e1) and s2e2 = jsonize_s2exp (flag, s2e2) in jsonval_conarg2 ("S2Eeqeq", s2e1(*left*), s2e2(*right*)) end // end of [S2Eeqeq] // | S2Eapp (s2e1, s2es2) => let val s2e1 = jsonize_s2exp (flag, s2e1) val s2es2 = jsonize_s2explst (flag, s2es2) in jsonval_conarg2 ("S2Eapp", s2e1(*fun*), s2es2(*arglst*)) end // end of [S2Eapp] // | S2Efun ( fc, lin, s2fe, npf, _arg, _res ) => let val npf = jsonval_int (npf) val _arg = jsonize_s2explst (flag, _arg) val _res = jsonize_s2exp (flag, _res) in jsonval_conarg3 ("S2Efun", npf, _arg, _res) end // end of [S2Efun] // | S2Emetdec (s2es1, s2es2) => let val s2es1 = jsonize_s2explst (flag, s2es1) and s2es2 = jsonize_s2explst (flag, s2es2) in jsonval_conarg2 ("S2Emetdec", s2es1(*met*), s2es2(*bound*)) end // end of [S2Emetdec] // | S2Etyarr (_elt, _dim) => let val _elt = jsonize_s2exp (flag, _elt) val _dim = jsonize_s2explst (flag, _dim) in jsonval_conarg2 ("S2Etyarr", _elt, _dim) end // end of [S2Etyarr] | S2Etyrec (knd, npf, ls2es) => let val knd = jsonize_tyreckind (knd) // end of [val] val npf = jsonval_int (npf) val ls2es = jsonize_labs2explst (flag, ls2es) in jsonval_conarg3 ("S2Etyrec", knd, npf, ls2es) end // end of [S2Etyrec] // | S2Einvar (s2e) => jsonval_conarg1 ("S2Einvar", jsonize_s2exp (flag, s2e)) // | S2Eexi ( s2vs, s2ps, s2e_body ) => let val s2vs = jsonize_s2varlst (s2vs) val s2ps = jsonize_s2explst (flag, s2ps) val s2e_body = jsonize_s2exp (flag, s2e_body) in jsonval_conarg3 ("S2Eexi", s2vs, s2ps, s2e_body) end // end of [S2Eexi] | S2Euni ( s2vs, s2ps, s2e_body ) => let val s2vs = jsonize_s2varlst (s2vs) val s2ps = jsonize_s2explst (flag, s2ps) val s2e_body = jsonize_s2exp (flag, s2e_body) in jsonval_conarg3 ("S2Euni", s2vs, s2ps, s2e_body) end // end of [S2Euni] // | S2Etop (knd, s2e) => let val s2e = jsonize_s2exp (flag, s2e) in jsonval_conarg2("S2Etop", jsonval_int(knd), s2e) end // end of [S2Etop] // | S2Eerr ((*void*)) => jsonval_conarg0 ("S2Eerr") // | _(*ignored*) => jsonval_conarg0 ("S2Eignored") // end // end of [auxmain] // val s2t0 = s2e0.s2exp_srt val s2t0 = jsonize_s2rt (s2t0) val s2e0 = auxmain (flag, s2e0) // in jsonval_labval2 ("s2exp_srt", s2t0, "s2exp_node", s2e0) end // end of [jsonize_s2exp] (* ****** ****** *) implement jsonize_s2explst (flag, s2es) = let // fun auxlst ( flag: int, s2es: s2explst ) : jsonvalist = // case+ s2es of | list_cons (s2e, s2es) => let val s2e = jsonize_s2exp (flag, s2e) // end of [val] val s2es = auxlst (flag, s2es) in list_cons (s2e, s2es) end // end of [list_cons] | list_nil ((*void*)) => list_nil () // in JSONlist (auxlst (flag, s2es)) end // end of [jsonize_s2explst] (* ****** ****** *) implement jsonize_s2expopt (flag, opt) = let in // case+ opt of | None () => JSONoption (None ()) | Some (s2e) => JSONoption (Some (jsonize_s2exp (flag, s2e))) // end // end of [jsonize_s2expopt] (* ****** ****** *) implement jsonize_labs2explst (flag, ls2es) = let // fun auxlst ( flag: int, ls2es: labs2explst ) : jsonvalist = // case+ ls2es of | list_cons (ls2e, ls2es) => let val+SLABELED (lab, name, s2e) = ls2e val lab = jsonize_label (lab) val name = ( case+ name of | None () => jsonval_none () | Some (x) => jsonval_some (jsonval_string(x)) ) : jsonval val s2e = jsonize_s2exp (flag, s2e) val ls2e = jsonval_conarg3 ("SL0ABELED", lab, name, s2e) in list_cons (ls2e, auxlst (flag, ls2es)) end // end of [list_cons] | list_nil((*void*)) => list_nil () // in JSONlist (auxlst (flag, ls2es)) end // end of [jsonize_labs2explst] (* ****** ****** *) implement jsonize_s2eff (s2fe) = jsonize_ignored (s2fe) (* ****** ****** *) implement jsonize_s2zexp (s2ze) = ( // case+ s2ze of // | S2ZEbot () => jsonval_conarg0 ("S2ZEbot") // | S2ZEvar (s2v) => let val s2v = jsonize_s2var(s2v) in jsonval_conarg1 ("S2ZEvar", s2v) end // end of [S2ZEvar] // | _(*ignored*) => jsonval_conarg0 ("S2ZEignored") // ) (* end of [jsonize_s2zexp] *) (* ****** ****** *) // // Dynamics // (* ****** ****** *) extern fun jsonize_i0nt (tok: token): jsonval extern fun jsonize_c0har (tok: token): jsonval extern fun jsonize_f0loat (tok: token): jsonval extern fun jsonize_s0tring (tok: token): jsonval (* ****** ****** *) extern fun jsonize_d2sym : jsonize_ftype (d2sym) (* ****** ****** *) extern fun jsonize_pckind : jsonize_ftype (pckind) (* ****** ****** *) extern fun jsonize_p2at : jsonize_ftype (p2at) extern fun jsonize_p2atlst : jsonize_ftype (p2atlst) extern fun jsonize_p2atopt : jsonize_ftype (p2atopt) (* ****** ****** *) extern fun jsonize_labp2at : jsonize_ftype (labp2at) extern fun jsonize_labp2atlst : jsonize_ftype (labp2atlst) (* ****** ****** *) extern fun jsonize_d2exp : jsonize_ftype (d2exp) extern fun jsonize_d2explst : jsonize_ftype (d2explst) extern fun jsonize_d2expopt : jsonize_ftype (d2expopt) (* ****** ****** *) extern fun jsonize_labd2exp : jsonize_ftype (labd2exp) extern fun jsonize_labd2explst : jsonize_ftype (labd2explst) (* ****** ****** *) extern fun jsonize_d2exparg : jsonize_ftype (d2exparg) extern fun jsonize_d2exparglst : jsonize_ftype (d2exparglst) (* ****** ****** *) extern fun jsonize_d2lab : jsonize_ftype (d2lab) extern fun jsonize_d2lablst : jsonize_ftype (d2lablst) (* ****** ****** *) extern fun jsonize_c2lau : jsonize_ftype (c2lau) extern fun jsonize_c2laulst : jsonize_ftype (c2laulst) (* ****** ****** *) extern fun jsonize_gm2at : jsonize_ftype (gm2at) extern fun jsonize_gm2atlst : jsonize_ftype (gm2atlst) (* ****** ****** *) implement jsonize_i0nt (tok) = let // val-$LEX.T_INT (base, rep, sfx) = tok.token_node // in jsonval_string (rep) end // end of [jsonize_i0nt] implement jsonize_c0har (tok) = let // val-$LEX.T_CHAR(c) = tok.token_node // in jsonval_int (int_of_char(c)) end (* end of [jsonize_c0har] *) implement jsonize_f0loat (tok) = let // val-$LEX.T_FLOAT (base, rep, sfx) = tok.token_node // in jsonval_string (rep) end // end of [jsonize_f0loat] implement jsonize_s0tring (tok) = let // val-$LEX.T_STRING(rep) = tok.token_node // in jsonval_string (rep) end // end of [jsonize_s0tring] (* ****** ****** *) // implement jsonize_d2cst (d2c) = let // val stamp = jsonize_stamp(d2cst_get_stamp(d2c)) // in jsonval_labval1 ("d2cst_stamp", stamp) end // end of [jsonize_d2cst] // // HX-2014-09-08: // [jsonize_d2cst_long] // may output more properties // implement jsonize_d2cst_long (d2c) = let // val sym = jsonize_symbol (d2cst_get_sym (d2c)) val type = jsonize0_s2exp (d2cst_get_type (d2c)) val stamp = jsonize_stamp (d2cst_get_stamp (d2c)) // in // jsonval_labval3 ( "d2cst_sym", sym , "d2cst_type", type , "d2cst_stamp", stamp ) // end // end of [jsonize_d2cst_long] (* ****** ****** *) implement jsonize_d2cstlst (d2cs) = ( jsonize_list_fun(d2cs, jsonize_d2cst) ) (* end of [jsonize_d2cstlst] *) (* ****** ****** *) implement jsonize_d2var (d2v) = let // val stamp = jsonize_stamp (d2var_get_stamp (d2v)) // in jsonval_labval1 ("d2var_stamp", stamp) end // end of [jsonize_d2var] (* ****** ****** *) implement jsonize_d2var_long (d2v) = let // val sym = jsonize_symbol (d2var_get_sym (d2v)) val stamp = jsonize_stamp (d2var_get_stamp (d2v)) // in // jsonval_labval2 ( "d2var_sym", sym, "d2var_stamp", stamp ) // end // end of [jsonize_d2cst_long] (* ****** ****** *) implement jsonize_d2itm (d2i) = let // (* val () = println! ("jsonize_d2itm: d2i = ", d2i) *) // in // case+ d2i of // | D2ITMcst (d2c) => let val d2c = jsonize_d2cst (d2c) in jsonval_conarg1 ("D2ITMcst", d2c) end // end of [D2ITMcst] | D2ITMvar (d2v) => let val d2v = jsonize_d2var (d2v) in jsonval_conarg1 ("D2ITMvar", d2v) end // end of [D2ITMvar] | D2ITMcon (d2cs) => let val d2cs = jsonize_d2conlst (d2cs) in jsonval_conarg1 ("D2ITMcon", d2cs) end // end of [D2ITMcon] // | _ (*rest*) => jsonval_conarg0 ("D2ITMignored") // end // end of [jsonize_d2itm] (* ****** ****** *) implement jsonize_d2sym (d2s) = let // val sym = jsonize_symbol (d2s.d2sym_sym) // in jsonval_labval1 ("d2sym_sym", sym) end // end of [jsonize_d2sym] (* ****** ****** *) extern fun jsonize_i2mpdec : jsonize_ftype (i2mpdec) (* ****** ****** *) extern fun jsonize_f2undec : jsonize_ftype (f2undec) extern fun jsonize_f2undeclst : jsonize_ftype (f2undeclst) (* ****** ****** *) extern fun jsonize_v2aldec : jsonize_ftype (v2aldec) extern fun jsonize_v2aldeclst : jsonize_ftype (v2aldeclst) (* ****** ****** *) implement jsonize_pckind (knd) = ( case+ knd of | PCKcon () => jsonval_string "PCKcon" | PCKlincon () => jsonval_string "PCKlincon" | PCKfree () => jsonval_string "PCKfree" | PCKunfold () => jsonval_string "PCKunfold" ) (* end of [jsonize_pckind] *) (* ****** ****** *) implement jsonize_p2at (p2t0) = let // fun auxmain (p2t0: p2at): jsonval = let in // case+ p2t0.p2at_node of // | P2Tany () => jsonval_conarg0 ("P2Tany") // | P2Tvar (d2v) => let val d2v = jsonize_d2var (d2v) in jsonval_conarg1 ("P2Tvar", d2v) end // end of [P2Tvar] // | P2Tcon ( pcknd, d2c, s2qs, s2e_con, npf, p2ts ) => let // val jsv1 = jsonize_pckind (pcknd) val jsv2 = jsonize_d2con (d2c) val jsv3 = jsonize_ignored (s2qs) val jsv4 = jsonize_ignored (s2e_con) val jsv5 = jsonval_int (npf) val jsv6 = jsonize_p2atlst (p2ts) // val arglst = ( jsv1 :: jsv2 :: jsv3 :: jsv4 :: jsv5 :: jsv6 :: list_nil ) (* end of [val] *) // in jsonval_conarglst ("P2Tcon", arglst) end // end of [P2Tcon] // | P2Tint (i) => jsonval_conarg1 ("P2Tint", jsonval_int (i)) | P2Tintrep (rep) => jsonval_conarg1 ("P2Tintrep", jsonval_string (rep)) // | P2Tbool (b) => jsonval_conarg1 ("P2Tbool", jsonval_bool (b)) | P2Tchar (c) => jsonval_conarg1 ("P2Tchar", jsonval_int (int_of_char(c))) | P2Tfloat (rep) => jsonval_conarg1 ("P2Tfloat", jsonval_string (rep)) | P2Tstring (str) => jsonval_conarg1 ("P2Tstring", jsonval_string (str)) // | P2Ti0nt (tok) => jsonval_conarg1 ("P2Ti0nt", jsonize_i0nt (tok)) | P2Tf0loat (tok) => jsonval_conarg1 ("P2Tf0loat", jsonize_f0loat (tok)) // | P2Tempty ((*void*)) => jsonval_conarg0 ("P2Tempty") // | P2Trec (knd, npf, lp2ts) => let val knd = jsonval_int (knd) val npf = jsonval_int (npf) val lp2ts = jsonize_labp2atlst (lp2ts) in jsonval_conarg3 ("P2Trec", knd, npf, lp2ts) end (* end of [P2Trec] *) // | P2Trefas (d2v, p2t) => ( jsonval_conarg2 ("P2Trefas", jsonize_d2var(d2v), jsonize_p2at(p2t)) ) (* end of [P2Trefas] *) // | P2Tvbox (d2v) => jsonval_conarg1 ("P2Tvbox", jsonize_d2var (d2v)) // | P2Tann (p2t, ann) => ( jsonval_conarg2 ("P2Tann", jsonize_p2at (p2t), jsonize0_s2exp(ann)) ) (* end of [P2Tann] *) // | P2Terrpat ((*void*)) => jsonval_conarg0 ("P2Terrpat") // | _ (*yet-to-be-processed*) => jsonval_conarg0 ("P2Tignored") // end // end of [auxmain] // val loc0 = p2t0.p2at_loc val loc0 = jsonize_loc (loc0) val p2t0 = auxmain (p2t0) // in jsonval_labval2 ("p2at_loc", loc0, "p2at_node", p2t0) end // end of [jsonize_p2at] (* ****** ****** *) implement jsonize_p2atlst (p2ts) = ( jsonize_list_fun(p2ts, jsonize_p2at) ) // end of [jsonize_p2atlst] implement jsonize_p2atopt (p2topt) = ( jsonize_option_fun(p2topt, jsonize_p2at) ) // end of [jsonize_p2atopt] (* ****** ****** *) implement jsonize_labp2at (lp2t) = let in // case+ lp2t of | LABP2ATnorm (l0, p2t) => let val lab = jsonize_label (l0.l0ab_lab) val p2t = jsonize_p2at (p2t) in jsonval_labval1 ("LABP2ATnorm", jsonval_pair (lab, p2t)) end // end of [LABP2ATnorm] | LABP2ATomit (loc) => let val loc = jsonize_location (loc) in jsonval_labval1 ("LABP2ATomit", jsonval_sing (loc)) end // end of [LABP2ATomit] // end // end of [jsonize_labp2at] (* ****** ****** *) implement jsonize_labp2atlst (lp2ts) = ( jsonize_list_fun(lp2ts, jsonize_labp2at) ) // end of [jsonize_labp2atlst] (* ****** ****** *) implement jsonize_d2exp (d2e0) = let // fun auxmain (d2e0: d2exp): jsonval = let in // case+ d2e0.d2exp_node of // | D2Ecst (d2c) => let val jsv1 = jsonize_d2cst (d2c) in jsonval_conarg1 ("D2Ecst", jsv1) end // end of [D2Ecst] | D2Evar (d2v) => let val jsv1 = jsonize_d2var (d2v) in jsonval_conarg1 ("D2Evar", jsv1) end // end of [D2Evar] // | D2Eint (int) => jsonval_conarg1 ("D2Eint", jsonval_int (int)) | D2Eintrep (rep) => jsonval_conarg1 ("D2Eintrep", jsonval_string (rep)) // | D2Ei0nt (tok) => jsonval_conarg1 ("D2Ei0nt", jsonize_i0nt (tok)) | D2Ec0har (tok) => jsonval_conarg1 ("D2Ec0har", jsonize_c0har (tok)) | D2Ef0loat (tok) => jsonval_conarg1 ("D2Ef0loat", jsonize_f0loat (tok)) | D2Es0tring (tok) => jsonval_conarg1 ("D2Es0tring", jsonize_s0tring (tok)) // | D2Esym (d2s) => jsonval_conarg1 ("D2Esym", jsonize_d2sym (d2s)) // | D2Eempty ((*void*)) => jsonval_conarg0 ("D2Eempty") // | D2Elet (d2cs, d2e_body) => let val d2cs = jsonize_d2eclist (d2cs) val d2e_body = jsonize_d2exp (d2e_body) in jsonval_conarg2 ("D2Elet", d2cs, d2e_body) end // end of [D2Elet] | D2Ewhere (d2e_body, d2cs) => let val d2cs = jsonize_d2eclist (d2cs) val d2e_body = jsonize_d2exp (d2e_body) in jsonval_conarg2 ("D2Ewhere", d2e_body, d2cs) end // end of [D2Ewhere] // | D2Eapplst (d2e, d2as) => let val jsv1 = jsonize_d2exp (d2e) val jsv2 = jsonize_d2exparglst (d2as) in jsonval_conarg2 ("D2Eapplst", jsv1, jsv2) end // end of [D2Eapplst] // | D2Eifhead ( inv, _test, _then, _else ) => let val jsv1 = jsonize_ignored (inv) val jsv2 = jsonize_d2exp (_test) val jsv3 = jsonize_d2exp (_then) val jsv4 = jsonize_d2expopt (_else) in jsonval_conarg4 ("D2Eifhead", jsv1, jsv2, jsv3, jsv4) end // end of [D2Eifhead] // | D2Ecasehead ( casknd, inv, d2es, c2ls ) => let val jsv1 = jsonize_caskind (casknd) // end of [val] val jsv2 = jsonize_ignored (inv) val jsv3 = jsonize_d2explst (d2es) val jsv4 = jsonize_c2laulst (c2ls) in jsonval_conarg4 ("D2Ecasehead", jsv1, jsv2, jsv3, jsv4) end // end of [D2Ecasehead] // | D2Esing(d2e) => let val jsv = jsonize_d2exp (d2e) in jsonval_conarg1 ("D2Esing", jsv) end // end of [D2Esing] | D2Elist (npf, d2es) => let val jsv1 = jsonval_int (npf) val jsv2 = jsonize_d2explst (d2es) in jsonval_conarg2 ("D2Elist", jsv1, jsv2) end // end of [D2Elist] // | D2Etup (knd, npf, d2es) => let val jsv1 = jsonval_int (knd) val jsv2 = jsonval_int (npf) val jsv3 = jsonize_d2explst (d2es) in jsonval_conarg3 ("D2Etup", jsv1, jsv2, jsv3) end // end of [D2Etup] // | D2Erec (knd, npf, ld2es) => let val jsv1 = jsonval_int (knd) val jsv2 = jsonval_int (npf) val jsv3 = jsonize_labd2explst (ld2es) in jsonval_conarg3 ("D2Erec", jsv1, jsv2, jsv3) end // end of [D2Erec] // | D2Eseq (d2es) => jsonval_conarg1 ("D2Eseq", jsonize_d2explst (d2es)) // | D2Eselab (d2e, d2ls) => let val jsv1 = jsonize_d2exp (d2e) val jsv2 = jsonize_d2lablst (d2ls) in jsonval_conarg2 ("D2Eselab", jsv1, jsv2) end // end of [D2Eselab] // | D2Elam_dyn ( lin, npf, p2ts_arg, d2e_body ) => let val jsv1 = jsonval_int (lin) val jsv2 = jsonval_int (npf) val jsv3 = jsonize_p2atlst (p2ts_arg) val jsv4 = jsonize_d2exp (d2e_body) in jsonval_conarg4 ("D2Elam_dyn", jsv1, jsv2, jsv3, jsv4) end // end of [D2Elam_dyn] // | D2Elam_met ( ref, s2es_met, d2e_body ) => let (* val jsv1 = jsonize_d2varlst (!ref) *) val jsv2 = jsonize0_s2explst (s2es_met) // end of [jsv2] val jsv3 = jsonize_d2exp (d2e_body) in jsonval_conarg2 ("D2Elam_met", jsv2, jsv3) end // end of [D2Elam_met] | D2Elam_sta (s2vs, s2ps, d2e) => let val jsv1 = jsonize_s2varlst (s2vs) val jsv2 = jsonize0_s2explst (s2ps) val jsv3 = jsonize_d2exp (d2e) in jsonval_conarg3 ("D2Elam_sta", jsv1, jsv2, jsv3) end // end of [D2Elam_sta] // | D2Eann_type (d2e, s2e) => let val jsv1 = jsonize_d2exp (d2e) val jsv2 = jsonize0_s2exp (s2e) in jsonval_conarg2 ("D2Eann_type", jsv1, jsv2) end // end of [D2Eann_type] | D2Eann_seff (d2e, s2fe) => let val jsv1 = jsonize_d2exp (d2e) val jsv2 = jsonize_s2eff (s2fe) in jsonval_conarg2 ("D2Eann_seff", jsv1, jsv2) end // end of [D2Eann_seff] | D2Eann_funclo (d2e, funclo) => let val jsv1 = jsonize_d2exp (d2e) val jsv2 = jsonize_funclo (funclo) in jsonval_conarg2 ("D2Eann_funclo", jsv1, jsv2) end // end of [D2Eann_funclo] // | D2Eerrexp ((*void*)) => jsonval_conarg0 ("D2Eerrexp") // | _ (*rest*) => let val () = prerrln! ( "warning(ATS): [jsonize_d2exp]: ignored: ", d2e0 ) (* end of [val] *) in jsonval_conarg0 ("D2Eignored") end (* end of [_] *) // end // end of [auxmain] // val loc0 = d2e0.d2exp_loc val loc0 = jsonize_loc (loc0) val d2e0 = auxmain (d2e0) // in jsonval_labval2 ("d2exp_loc", loc0, "d2exp_node", d2e0) end // end of [jsonize_d2exp] (* ****** ****** *) implement jsonize_d2explst (d2es) = ( jsonize_list_fun(d2es, jsonize_d2exp) ) // end of [jsonize_d2explst] (* ****** ****** *) implement jsonize_d2expopt (opt) = let in // case+ opt of | None () => jsonval_none () | Some (d2e) => jsonval_some (jsonize_d2exp (d2e)) // end // end of [jsonize_d2expopt] (* ****** ****** *) implement jsonize_labd2exp (ld2e) = let val+$SYN.DL0ABELED (l0, d2e) = ld2e val lab = jsonize_label (l0.l0ab_lab) val d2e = jsonize_d2exp (d2e) in jsonval_conarg2 ("DL0ABELED", lab, d2e) end // end of [jsonize_labd2exp] (* ****** ****** *) implement jsonize_labd2explst (ld2es) = ( jsonize_list_fun(ld2es, jsonize_labd2exp) ) // end of [jsonize_labd2explst] (* ****** ****** *) implement jsonize_d2exparg (d2a) = let in // case+ d2a of | D2EXPARGsta (loc, s2as) => let val arglst = JSONlist (list_nil) in jsonval_labval1 ("D2EXPARGsta", arglst) end // end of [D2EXPARGsta] | D2EXPARGdyn (npf, loc, d2es) => let val jsv1 = jsonval_int (npf) val jsv2 = jsonize_loc (loc) val jsv3 = jsonize_d2explst (d2es) val arglst = JSONlist (jsv1 :: jsv2 :: jsv3 :: list_nil) // end of [val] in jsonval_labval1 ("D2EXPARGdyn", arglst) end // end of [D2EXPARGdyn] // end // end of [jsonize_d2exparg] (* ****** ****** *) implement jsonize_d2exparglst (d2as) = ( jsonize_list_fun(d2as, jsonize_d2exparg) ) // end of [jsonize_d2exparglst] (* ****** ****** *) implement jsonize_d2lab (d2l0) = let // fun auxmain (d2l0: d2lab): jsonval = let in // case+ // d2l0.d2lab_node of // | D2LABlab (lab) => let val lab = jsonize_label (lab) in jsonval_labval1 ("D2LABlab", jsonval_sing(lab)) end // end of [D2LABlab] | D2LABind (d2es) => let val d2es = jsonize_d2explst (d2es) in jsonval_labval1 ("D2LABind", jsonval_sing(d2es)) end // end of [D2LABind] // end // end of [auxmain] // val loc0 = d2l0.d2lab_loc val loc0 = jsonize_loc (loc0) val d2l0 = auxmain (d2l0) // in jsonval_labval2 ("d2lab_loc", loc0, "d2lab_node", d2l0) end // end of [jsonize_d2lab] (* ****** ****** *) implement jsonize_d2lablst (d2ls) = ( jsonize_list_fun(d2ls, jsonize_d2lab) ) // end of [jsonize_d2lablst] (* ****** ****** *) implement jsonize_gm2at (gm2t) = let // val loc = jsonize_loc (gm2t.gm2at_loc) val exp = jsonize_d2exp (gm2t.gm2at_exp) val pat = jsonize_p2atopt (gm2t.gm2at_pat) // in // jsonval_labval3 ( "gm2at_loc", loc, "gm2at_exp", exp, "gm2at_pat", pat ) // end // end of [jsonize_gm2at] implement jsonize_gm2atlst (gm2ts) = ( jsonize_list_fun(gm2ts, jsonize_gm2at) ) // end of [jsonize_gm2atlst] (* ****** ****** *) implement jsonize_c2lau (c2l0) = let // val loc = jsonize_loc (c2l0.c2lau_loc) val pat = jsonize_p2atlst (c2l0.c2lau_pat) val gua = jsonize_gm2atlst (c2l0.c2lau_gua) val seq = jsonval_int (c2l0.c2lau_seq) val neg = jsonval_int (c2l0.c2lau_neg) val body = jsonize_d2exp (c2l0.c2lau_body) // in // jsonval_labval6 ( "c2lau_loc", loc , "c2lau_pat", pat , "c2lau_gua", gua , "c2lau_seq", seq , "c2lau_neg", neg , "c2lau_body", body ) (* end of [jsonize_labval6] *) // end // end of [jsonize_c2lau] (* ****** ****** *) implement jsonize_c2laulst (c2ls) = ( jsonize_list_fun(c2ls, jsonize_c2lau) ) // end of [jsonize_c2laulst] (* ****** ****** *) implement jsonize_d2ecl (d2c0) = let // (* val () = println! ( "jsonize_d2ecl: d2c0 = ", d2c0 ) (* end of [val] *) *) // fun auxmain (d2c0: d2ecl): jsonval = let in // case+ d2c0.d2ecl_node of // | D2Cnone () => jsonval_conarg0 ("D2Cnone") | D2Clist (xs) => let val xs = jsonize_d2eclist (xs) in jsonval_conarg1 ("D2Clist", xs) end // end of [D2Clist] // | D2Coverload (id, pval, opt) => let val sym = jsonize_symbol(id.i0de_sym) val pval = jsonval_int (pval) val opt = jsonize_option_fun(opt, jsonize_d2itm) // end of [val] in jsonval_conarg3 ("D2Coverload", sym, pval, opt) end // end of [D2Coverload] // | D2Cstacsts (s2cs) => let val s2cs = jsonize_s2cstlst (s2cs) in jsonval_conarg1 ("D2Cstacsts", s2cs) end // end of [D2Cstacsts] | D2Cstacons (knd, s2cs) => let val knd = jsonval_int (knd) val s2cs = jsonize_s2cstlst (s2cs) in jsonval_conarg2 ("D2Cstacsts", knd, s2cs) end // end of [D2Cstacons] // | D2Cextype (name, s2e_def) => let val name = jsonval_string (name) val s2e_def = jsonize0_s2exp (s2e_def) in jsonval_conarg2 ("D2Cextype", name, s2e_def) end // end of [D2Cextype] | D2Cextvar (name, d2e_def) => let val name = jsonval_string (name) val d2e_def = jsonize_d2exp (d2e_def) in jsonval_conarg2 ("D2Cextvar", name, d2e_def) end // end of [D2Cextvar] | D2Cextcode (knd, pos, code) => let val knd = jsonval_int (knd) val pos = jsonval_int (pos) val code = jsonval_string (code) in jsonval_conarg3 ("D2Cextcode", knd, pos, code) end // end of [D2Cextcode] // | D2Cdatdecs (knd, s2cs) => let val knd = jsonval_int (knd) val s2cs = jsonize_s2cstlst (s2cs) in jsonval_conarg2 ("D2Cdatdecs", knd, s2cs) end // end of [D2Cdatdecs] | D2Cexndecs (d2cs) => let val d2cs = jsonize_d2conlst (d2cs) in jsonval_conarg1 ("D2Cexndecs", d2cs(*constr*)) end // end of [D2Cdatdecs] // | D2Cdcstdecs (knd, dck, d2cs) => let val knd = jsonval_int (knd) val dck = jsonize_dcstkind (dck) val d2cs = jsonize_d2cstlst (d2cs) in jsonval_conarg3 ("D2Cdcstdecs", knd, dck, d2cs) end // end of [D2Cdcstdecs] // | D2Cimpdec (knd, i2mp) => let val knd = jsonval_int (knd) val i2mp = jsonize_i2mpdec (i2mp) in jsonval_conarg2 ("D2Cimpdec", knd, i2mp) end // end of [D2Cimpdec] // | D2Cfundecs ( knd, s2qs, f2ds ) => let val knd = jsonize_funkind (knd) val s2qs = jsonize_ignored (s2qs) val f2ds = jsonize_f2undeclst (f2ds) in jsonval_conarg3 ("D2Cfundecs", knd, s2qs, f2ds) end // end of [D2Cfundecs] // | D2Cvaldecs (knd, v2ds) => let val knd = jsonize_valkind (knd) val v2ds = jsonize_v2aldeclst (v2ds) in jsonval_conarg2 ("D2Cvaldecs", knd, v2ds) end // end of [D2Cvaldecs] // | D2Cinclude (knd, d2cs) => let val knd = jsonval_int (knd) val d2cs = jsonize_d2eclist (d2cs) in jsonval_conarg2 ("D2Cinclude", knd, d2cs) end // end of [D2Cinclude] // | D2Cstaload ( idopt, fname, loadflag, fenv, loaded ) => let val idopt = jsonize_symbolopt (idopt) // end of [val] val fname = jsonize_filename (fname) in jsonval_conarg2 ("D2Cstaload", idopt, fname) end // end of [D2Cstaload] // | D2Clocal (head, body) => let val head = jsonize_d2eclist (head) val body = jsonize_d2eclist (body) in jsonval_conarg2 ("D2Clocal", head, body) end // end of [D2Clocal] // | _ (*rest*) => jsonval_conarg0 ("D2Cignored") // end // end of [auxmain] // val loc0 = d2c0.d2ecl_loc val loc0 = jsonize_loc (loc0) val d2c0 = auxmain (d2c0) // in // jsonval_labval2 ("d2ecl_loc", loc0, "d2ecl_node", d2c0) // end // end of [jsonize_d2ecl] (* ****** ****** *) // implement jsonize_d2eclist (d2cs) = jsonize_list_fun(d2cs, jsonize_d2ecl) // (* ****** ****** *) implement jsonize_i2mpdec (i2mp) = let // val loc = jsonize_loc (i2mp.i2mpdec_loc) val locid = jsonize_loc (i2mp.i2mpdec_locid) // val d2c = jsonize_d2cst (i2mp.i2mpdec_cst) // val imparg = jsonize_ignored (i2mp.i2mpdec_imparg) val tmparg = jsonize_ignored (i2mp.i2mpdec_tmparg) val tmpgua = jsonize_ignored (i2mp.i2mpdec_tmpgua) // val def = jsonize_d2exp (i2mp.i2mpdec_def) // in // JSONlablist ( ( "i2mpdec_loc" , loc) :: ( "i2mpdec_locid" , locid) :: ( "i2mpdec_cst" , d2c) :: ("i2mpdec_imparg" , imparg) :: ("i2mpdec_tmparg" , tmparg) :: ("i2mpdec_tmpgua" , tmpgua) :: ( "i2mpdec_def" , def) :: list_nil () // end-of-list ) (* end of [jsonval_lablist] *) // end // end of [i2mpdec] (* ****** ****** *) implement jsonize_f2undec (f2d) = let // val loc = jsonize_loc (f2d.f2undec_loc) val d2v = jsonize_d2var (f2d.f2undec_var) val def = jsonize_d2exp (f2d.f2undec_def) val ann = jsonize0_s2expopt (f2d.f2undec_ann) // in // jsonval_labval4 ( "f2undec_loc", loc, "f2undec_var", d2v , "f2undec_def", def, "f2undec_ann", ann ) (* end of [jsonize_labval4] *) // end // end of [json_f2undec] (* ****** ****** *) implement jsonize_f2undeclst (f2ds) = ( jsonize_list_fun(f2ds, jsonize_f2undec) ) // end of [jsonize_f2undeclst] (* ****** ****** *) implement jsonize_v2aldec (v2d) = let // val loc = jsonize_loc (v2d.v2aldec_loc) val pat = jsonize_p2at (v2d.v2aldec_pat) val def = jsonize_d2exp (v2d.v2aldec_def) val ann = jsonize_ignored (v2d.v2aldec_ann) // in // jsonval_labval4 ( "v2aldec_loc", loc, "v2aldec_pat", pat , "v2aldec_def", def, "v2aldec_ann", ann ) (* end of [jsonize_labval4] *) // end // end of [json_v2aldec] (* ****** ****** *) implement jsonize_v2aldeclst (v2ds) = ( jsonize_list_fun(v2ds, jsonize_v2aldec) ) // end of [jsonize_v2aldeclst] (* ****** ****** *) implement d2eclist_jsonize_out (out, d2cls) = let // val ( s2cs , s2vs , s2Vs , d2cons , d2csts , d2vars ) = d2eclist_mapgen_all (d2cls) // val s2cs = s2cstset_vt_listize_free (s2cs) val s2vs = s2varset_vt_listize_free (s2vs) val s2Vs = s2Varset_vt_listize_free (s2Vs) val d2cons = d2conset_vt_listize_free (d2cons) val d2csts = d2cstset_vt_listize_free (d2csts) val d2vars = d2varset_vt_listize_free (d2vars) // val jsv_s2cs = jsonize_list_fun($UN.linlst2lst(s2cs), jsonize_s2cst_long) val () = list_vt_free (s2cs) // val jsv_s2vs = jsonize_list_fun($UN.linlst2lst(s2vs), jsonize_s2var_long) val () = list_vt_free (s2vs) // val jsv_s2Vs = jsonize_list_fun($UN.linlst2lst(s2Vs), jsonize_s2Var_long) val () = list_vt_free (s2Vs) // val jsv_d2cons = jsonize_list_fun($UN.linlst2lst(d2cons), jsonize_d2con_long) val () = list_vt_free (d2cons) // val jsv_d2csts = jsonize_list_fun($UN.linlst2lst(d2csts), jsonize_d2cst_long) val () = list_vt_free (d2csts) // val jsv_d2vars = jsonize_list_fun($UN.linlst2lst(d2vars), jsonize_d2var_long) val () = list_vt_free (d2vars) // val jsv_d2cls = jsonize_d2eclist(d2cls) // val () = fprint_string (out, "{\n\"s2cstmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_s2cs) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"s2varmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_s2vs) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"d2conmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_d2cons) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"d2cstmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_d2csts) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"d2varmap\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_d2vars) val ((*void*)) = fprint_newline (out) // val () = fprint_string (out, ",\n\"d2eclist\":\n") // val ((*void*)) = fprint_jsonval (out, jsv_d2cls) val ((*void*)) = fprint_string (out, "\n}") val ((*void*)) = fprint_newline (out) // in // nothing end // end of [d2eclist_jsonize_out] (* ****** ****** *) (* end of [pats_jsonize_synent2.dats] *) ATS2-Postiats-0.2.6/./src/pats_symmap.sats0000664000175000017500000000430612655455557016761 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload SYM = "./pats_symbol.sats" typedef symbol = $SYM.symbol (* ****** ****** *) absvtype symmap_vtype (itm:type) stadef symmap = symmap_vtype (* ****** ****** *) fun symmap_make_nil {itm:type} ():<> symmap (itm) fun symmap_free {itm:type} (map: symmap (itm)):<> void (* ****** ****** *) fun symmap_search {itm:type} (map: !symmap itm, k: symbol):<> Option_vt (itm) // end of [symmap_search] fun symmap_insert {itm:type} ( map: &symmap (itm), key: symbol, itm: itm ) :<> void // end of [symmap_insert] (* ****** ****** *) fun symmap_joinwth {itm:type} (m1: &symmap itm, m2: !symmap itm):<> void // end of [symmap_joinwth] (* ****** ****** *) fun fprint_symmap {itm:type} ( out: FILEref, map: !symmap itm, f: (FILEref, itm) -> void ) : void // end of [fprint_symmap] (* ****** ****** *) (* end of [pats_symmap.sats] *) ATS2-Postiats-0.2.6/./src/pats_dynexp2.dats0000664000175000017500000006401412655455557017027 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2011 // (* ****** ****** *) // staload ATSPRE = "./pats_atspre.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload LOC = "./pats_location.sats" macdef location_combine = $LOC.location_combine (* ****** ****** *) staload LEX = "./pats_lexing.sats" (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) #include "./pats_basics.hats" (* ****** ****** *) #define l2l list_of_list_vt macdef list_sing (x) = list_cons (,(x), list_nil) (* ****** ****** *) implement d2sym_make ( loc, q, id, d2pis ) = '{ d2sym_loc= loc , d2sym_qua= q, d2sym_sym= id , d2sym_pitmlst= d2pis } // end of [d2sym_make] (* ****** ****** *) // // HX: dynamic patterns // (* ****** ****** *) typedef s2varset = $UT.lstord (s2var) (* ****** ****** *) val p2at_svs_nil : lstord (s2var) = $UT.lstord_nil () val p2at_dvs_nil : lstord (d2var) = $UT.lstord_nil () fun p2at_svs_add_svar ( svs: s2varset, s2v: s2var ) : s2varset = let in $UT.lstord_insert (svs, s2v, compare_s2vsym_s2vsym) end // end of [p2at_svs_add_svar] fun p2at_svs_add_svarlst ( svs: s2varset, s2vs: s2varlst ) : s2varset = let typedef svs = lstord (s2var) in list_fold_left_fun (p2at_svs_add_svar, svs, s2vs) end // end of [p2at_svs_add_svarlst] implement p2atlst_svs_union (p2ts) = let typedef svs = lstord (s2var) val cmp = compare_s2vsym_s2vsym in list_fold_left_fun ( lam (svs, p2t) =<1> $UT.lstord_union (svs, p2t.p2at_svs, cmp), p2at_svs_nil, p2ts ) // end of [list_fold_left] end // end of [p2atlst_svs_union] implement p2atlst_dvs_union (p2ts) = let typedef dvs = lstord (d2var) val cmp = compare_d2vsym_d2vsym in list_fold_left_fun ( lam (dvs, p2t) =<1> $UT.lstord_union (dvs, p2t.p2at_dvs, cmp), p2at_dvs_nil, p2ts ) // end of [list_fold_left] end // end of [p2atlst_dvs_union] (* ****** ****** *) implement eq_pckind_pckind (x1, x2) = ( case+ (x1, x2) of | (PCKcon (), PCKcon ()) => true | (PCKlincon (), PCKlincon ()) => true | (PCKfree (), PCKfree ()) => true | (PCKunfold (), PCKunfold ()) => true | (_, _) => false ) // end of [eq_pckind_pckind] (* ****** ****** *) implement p2at_make_node ( loc, svs, dvs, node ) = '{ p2at_loc= loc , p2at_svs= svs, p2at_dvs= dvs , p2at_type= None () // s2hnfopt , p2at_node= node } // end of [p2at_make_node] implement p2at_any (loc) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tany ()) // end of [p2at_any] implement p2at_var (loc, d2v) = let val dvs = $UT.lstord_sing (d2v) in p2at_make_node (loc, p2at_svs_nil, dvs, P2Tvar (d2v)) end // end of [p2at_var] (* ****** ****** *) implement p2at_int (loc, i) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tint (i)) // end of [p2at_int] implement p2at_intrep (loc, rep) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tintrep (rep)) // end of [p2at_int] implement p2at_bool (loc, b) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tbool (b)) // end of [p2at_bool] implement p2at_char (loc, c) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tchar (c)) // end of [p2at_char] implement p2at_float (loc, rep) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tfloat (rep)) // end of [p2at_float] implement p2at_string (loc, str) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tstring (str)) // end of [p2at_string] (* ****** ****** *) implement p2at_i0nt (loc, x) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Ti0nt (x)) // end of [p2at_i0nt] implement p2at_f0loat (loc, x) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tf0loat (x)) // end of [p2at_f0loat] (* ****** ****** *) implement p2at_empty (loc) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Tempty ()) // end of [p2at_empty] (* ****** ****** *) implement p2at_con ( loc, pck // '~' and '@' , d2c, s2qs, s2f, npf, darg ) = let val svs = p2atlst_svs_union (darg) val svs = let fn f ( res: s2varset, x: s2qua ) : s2varset = p2at_svs_add_svarlst (res, x.s2qua_svs) // end of [f] in list_fold_left_fun (f, svs, s2qs) end // end of [val] val dvs = p2atlst_dvs_union (darg) val node = P2Tcon (pck, d2c, s2qs, s2f, npf, darg) in p2at_make_node (loc, svs, dvs, node) end // end of [p2at_con] (* ****** ****** *) implement p2at_list (loc, npf, p2ts) = let val svs = p2atlst_svs_union (p2ts) val dvs = p2atlst_dvs_union (p2ts) in p2at_make_node (loc, svs, dvs, P2Tlist (npf, p2ts)) end // end of [p2at_list] (* ****** ****** *) implement p2at_rec (loc, knd, npf, lp2ts) = let val p2ts = aux (lp2ts) where { fun aux ( xs: labp2atlst ) : List_vt (p2at) = case+ xs of | list_cons (x, xs) => (case+ x of | LABP2ATnorm (l0, p2t) => list_vt_cons (p2t, aux xs) | LABP2ATomit (loc) => aux (xs) ) // end of [list_cons] | list_nil () => list_vt_nil () // end of [aux] } // end of [val] val svs = p2atlst_svs_union ($UN.castvwtp1(p2ts)) val dvs = p2atlst_dvs_union ($UN.castvwtp1(p2ts)) val () = list_vt_free (p2ts) in p2at_make_node (loc, svs, dvs, P2Trec (knd, npf, lp2ts)) end // end of [p2at_lp2ts] (* ****** ****** *) implement p2at_lst (loc, lin, p2ts) = let val svs = p2atlst_svs_union (p2ts) val dvs = p2atlst_dvs_union (p2ts) in p2at_make_node (loc, svs, dvs, P2Tlst (lin, p2ts)) end // end of [p2at_lst] (* ****** ****** *) implement p2at_refas (loc, d2v, p2t) = let val svs = p2t.p2at_svs val dvs = $UT.lstord_insert (p2t.p2at_dvs, d2v, compare_d2vsym_d2vsym) // end of [val] in p2at_make_node (loc, svs, dvs, P2Trefas (d2v, p2t)) end // end of [p2at_refas] (* ****** ****** *) implement p2at_exist (loc, s2vs, p2t) = let val svs = p2at_svs_add_svarlst (p2t.p2at_svs, s2vs) // end of [val] val dvs = p2t.p2at_dvs in p2at_make_node (loc, svs, dvs, P2Texist (s2vs, p2t)) end // end of [p2at_exist] (* ****** ****** *) implement p2at_ann ( loc, p2t, s2e ) = p2at_make_node ( loc, p2t.p2at_svs, p2t.p2at_dvs, P2Tann (p2t, s2e) ) // end of [p2at_ann] (* ****** ****** *) implement p2at_vbox (loc, d2v) = let val dvs = $UT.lstord_sing (d2v) in p2at_make_node (loc, p2at_svs_nil, dvs, P2Tvbox (d2v)) end // end of [p2at_vbox] (* ****** ****** *) implement p2at_errpat (loc) = p2at_make_node (loc, p2at_svs_nil, p2at_dvs_nil, P2Terrpat ()) // end of [p2at_errpat] (* ****** ****** *) // // HX: dynamic expressions // (* ****** ****** *) implement d2exp_make_node (loc, node) = '{ d2exp_loc= loc, d2exp_node= node, d2exp_type= None() } // end of [d2exp_make_node] (* ****** ****** *) implement d2exp_cst (loc, d2c) = d2exp_make_node (loc, D2Ecst (d2c)) implement d2exp_var (loc, d2v) = d2exp_make_node (loc, D2Evar (d2v)) (* ****** ****** *) implement d2exp_int (loc, i) = d2exp_make_node (loc, D2Eint (i)) implement d2exp_intrep (loc, rep) = d2exp_make_node (loc, D2Eintrep (rep)) implement d2exp_bool (loc, b) = d2exp_make_node (loc, D2Ebool (b)) implement d2exp_char (loc, c) = d2exp_make_node (loc, D2Echar (c)) implement d2exp_float (loc, rep) = d2exp_make_node (loc, D2Efloat (rep)) implement d2exp_string (loc, s) = d2exp_make_node (loc, D2Estring (s)) implement d2exp_i0nt (loc, x) = d2exp_make_node (loc, D2Ei0nt (x)) implement d2exp_c0har (loc, x) = d2exp_make_node (loc, D2Ec0har (x)) implement d2exp_f0loat (loc, x) = d2exp_make_node (loc, D2Ef0loat (x)) implement d2exp_s0tring (loc, x) = d2exp_make_node (loc, D2Es0tring (x)) (* ****** ****** *) implement d2exp_top (loc) = d2exp_make_node (loc, D2Etop ()) implement d2exp_top2 (loc, s2e) = d2exp_make_node (loc, D2Etop2 (s2e)) implement d2exp_empty (loc) = d2exp_make_node (loc, D2Eempty ()) (* ****** ****** *) implement d2exp_cstsp (loc, csp) = d2exp_make_node (loc, D2Ecstsp (csp)) // end of [d2exp_cstsp] (* ****** ****** *) implement d2exp_literal (loc, d2e) = d2exp_make_node (loc, D2Eliteral (d2e)) // end of [d2exp_literal] (* ****** ****** *) implement d2exp_extval (loc, s2e, name) = d2exp_make_node (loc, D2Eextval (s2e, name)) // end of [d2exp_extval] implement d2exp_extfcall (loc, s2e, _fun, _arg) = d2exp_make_node (loc, D2Eextfcall (s2e, _fun, _arg)) // end of [d2exp_extfcall] implement d2exp_extmcall (loc, s2e, _obj, _mtd, _arg) = d2exp_make_node (loc, D2Eextmcall (s2e, _obj, _mtd, _arg)) // end of [d2exp_extmcall] (* ****** ****** *) implement d2exp_con (loc, d2c, locfun, sarg, npf, locarg, darg) = d2exp_make_node (loc, D2Econ (d2c, locfun, sarg, npf, locarg, darg)) // end of [d2exp_con] implement d2exp_sym (loc, d2s) = d2exp_make_node (loc, D2Esym (d2s)) (* ****** ****** *) implement d2exp_foldat (loc, s2as, d2e) = d2exp_make_node (loc, D2Efoldat (s2as, d2e)) // end of [d2exp_foldat] implement d2exp_freeat (loc, s2as, d2e) = d2exp_make_node (loc, D2Efreeat (s2as, d2e)) // end of [d2exp_freeat] (* ****** ****** *) implement d2exp_tmpid (loc, d2e_id, t2mas) = d2exp_make_node (loc, D2Etmpid (d2e_id, t2mas)) // end of [d2exp_tmpid] (* ****** ****** *) implement d2exp_let (loc, d2cs, body) = d2exp_make_node (loc, D2Elet (d2cs, body)) // end of [d2exp_let] implement d2exp_where (loc, body, d2cs) = d2exp_make_node (loc, D2Ewhere (body, d2cs)) // end of [d2exp_where] (* ****** ****** *) implement d2exp_applst ( loc, d2e_fun, d2as_arg ) = d2exp_make_node (loc, D2Eapplst (d2e_fun, d2as_arg)) implement d2exp_app_sta ( loc0, d2e_fun, locarg, s2as ) = let (* val () = ( print "d2exp_app_sta: d2e_fun = "; print_d2exp d2e_fun; print_newline () ) // end of [val] *) in // case+ s2as of | list_cons _ => let val d2a = D2EXPARGsta (locarg, s2as) // end of [val] val node = ( case+ d2e_fun.d2exp_node of | D2Eapplst (d2e_fun, d2as) => let val d2as = list_extend (d2as, d2a) in D2Eapplst (d2e_fun, (l2l)d2as) end | _ => D2Eapplst (d2e_fun, list_sing (d2a)) ) : d2exp_node // end of [val] in d2exp_make_node (loc0, node) end // end of [list_cons] | list_nil _ => d2e_fun // end (* end of [d2exp_app_sta] *) implement d2exp_app_dyn ( loc0, d2e_fun, npf, locarg, darg ) = let (* val () = ( print "d2exp_app_fun: d2e_fun = "; print_d2exp d2e_fun; print_newline () ) // end of [val] *) val d2a = D2EXPARGdyn (npf, locarg, darg) // end of [val] val node = ( case+ d2e_fun.d2exp_node of | D2Eapplst (d2e_fun, d2as) => let val d2as = list_extend (d2as, (d2a)) in D2Eapplst (d2e_fun, (l2l)d2as) end | _ => D2Eapplst (d2e_fun, list_sing (d2a)) ) : d2exp_node // end of [val] in d2exp_make_node (loc0, node) end // end of [d2exp_app_dyn] implement d2exp_app_sta_dyn ( loc_dyn, loc_sta , d2e_fun, sarg, locarg, npf, darg ) = let val d2e_sta = d2exp_app_sta (loc_sta, d2e_fun, loc_sta, sarg) // end of [val] in if npf >= ~1 then // [npf] takes ~2 as a fake value d2exp_app_dyn (loc_dyn, d2e_sta, npf, locarg, darg) else d2e_sta // end of [if] end // end of [d2exp_app_sta_dyn] (* ****** ****** *) implement d2exp_ifhead ( loc, r2es, _cond, _then, _else ) = d2exp_make_node ( loc, D2Eifhead (r2es, _cond, _then, _else) ) // end of [d2exp_ifhead] implement d2exp_sifhead ( loc, r2es, _cond, _then, _else ) = d2exp_make_node ( loc, D2Esifhead (r2es, _cond, _then, _else) ) // end of [d2exp_sifhead] (* ****** ****** *) implement d2exp_casehead ( loc, knd, inv, d2es, c2ls ) = d2exp_make_node ( loc, D2Ecasehead (knd, inv, d2es, c2ls) ) // end of [d2exp_casehead] implement d2exp_scasehead ( loc, inv, s2f, sc2ls ) = d2exp_make_node (loc, D2Escasehead (inv, s2f, sc2ls)) (* ****** ****** *) // implement d2exp_sing (loc, d2e) = d2exp_make_node (loc, D2Esing(d2e)) // implement d2exp_list (loc, npf, d2es) = d2exp_make_node (loc, D2Elist(npf, d2es)) // (* ****** ****** *) implement d2exp_lst (loc, lin, elt, d2es) = d2exp_make_node (loc, D2Elst (lin, elt, d2es)) // end of [d2exp_lst] implement d2exp_tup ( loc, knd, npf, d2es ) = ( d2exp_make_node (loc, D2Etup (knd, npf, d2es)) ) // end of [d2exp_tup] implement d2exp_tup_flt ( loc, npf, d2es ) = ( d2exp_tup (loc, TYTUPKIND_flt(*knd*), npf, d2es) ) // end of [d2exp_tup_flt] implement d2exp_rec (loc, knd, npf, ld2es) = d2exp_make_node (loc, D2Erec (knd, npf, ld2es)) // end of [d2exp_rec] (* ****** ****** *) implement d2exp_seq (loc, d2es) = d2exp_make_node (loc, D2Eseq (d2es)) // end of [d2exp_seq] implement d2exp_seq2 (loc, d2es) = let in case+ d2es of | list_cons (d2e, d2es1) => ( case+ d2es1 of | list_cons _ => d2exp_seq (loc, d2es) | list_nil () => d2e ) // end of [list_cons] | list_nil () => d2exp_empty (loc) end // end of [d2exp_seq2] (* ****** ****** *) implement d2exp_deref (loc, _lval) = d2exp_make_node (loc, D2Ederef (_lval)) // end of [d2exp_assgn] implement d2exp_assgn ( loc, _left, _right ) = d2exp_make_node (loc, D2Eassgn (_left, _right)) // end of [d2exp_assgn] implement d2exp_xchng ( loc, _left, _right ) = d2exp_make_node (loc, D2Exchng (_left, _right)) // end of [d2exp_xchng] (* ****** ****** *) implement d2exp_arrsub ( loc, d2s, arr, locind, ind ) = d2exp_make_node (loc, D2Earrsub (d2s, arr, locind, ind)) implement d2exp_arrpsz ( loc, s2eopt_elt, d2es_ini ) = d2exp_make_node (loc, D2Earrpsz (s2eopt_elt, d2es_ini)) implement d2exp_arrinit ( loc, s2e_elt, asz, init ) = d2exp_make_node (loc, D2Earrinit (s2e_elt, asz, init)) (* ****** ****** *) implement d2exp_ptrof (loc, d2e) = d2exp_make_node (loc, D2Eptrof (d2e)) implement d2exp_viewat (loc, d2e) = d2exp_make_node (loc, D2Eviewat (d2e)) (* ****** ****** *) implement d2exp_selab (loc, d2e, d2ls) = d2exp_make_node (loc, D2Eselab (d2e, d2ls)) // end of [d2exp_selab] implement d2exp_sel_dot (loc, d2e, d2ls) = d2exp_selab (loc, d2e, d2ls) // end of [d2exp_sel_dot] implement d2exp_sel_ptr (loc, d2e, d2l) = let val loc2 = d2e.d2exp_loc val d2e_deref = d2exp_deref (loc2, d2e) in d2exp_selab (loc, d2e_deref, list_sing (d2l)) end // end of [d2exp_sel_ptr] (* ****** ****** *) implement d2exp_raise (loc, d2e) = d2exp_make_node (loc, D2Eraise (d2e)) implement d2exp_effmask (loc, s2fe, d2e) = d2exp_make_node (loc, D2Eeffmask (s2fe, d2e)) // end of [d2exp_effmask] (* ****** ****** *) // implement d2exp_showtype (loc, d2e) = d2exp_make_node (loc, D2Eshowtype (d2e)) // (* ****** ****** *) implement d2exp_vcopyenv (loc, knd, d2e) = d2exp_make_node (loc, D2Evcopyenv (knd, d2e)) // end of [d2exp_vcopyenv] (* ****** ****** *) // implement d2exp_tempenver (loc, d2vs) = d2exp_make_node (loc, D2Etempenver (d2vs)) // (* ****** ****** *) implement d2exp_exist (loc, s2a, d2e) = d2exp_make_node (loc, D2Eexist (s2a, d2e)) // end of [d2exp_exist] (* ****** ****** *) // implement d2exp_lam_dyn ( loc, knd, npf, arg, body ) = d2exp_make_node (loc, D2Elam_dyn (knd, npf, arg, body)) // implement d2exp_laminit_dyn ( loc, knd, npf, arg, body ) = d2exp_make_node (loc, D2Elaminit_dyn (knd, npf, arg, body)) // implement d2exp_lam_sta (loc, s2vs, s2ps, body) = d2exp_make_node (loc, D2Elam_sta (s2vs, s2ps, body)) // end of [d2exp_lam_sta] // implement d2exp_lam_met (loc, ref, met, body) = d2exp_make_node (loc, D2Elam_met (ref, met, body)) // end of [d2exp_lam_met] // implement d2exp_lam_met_new (loc, met, body) = let val ref = ref (list_nil) in d2exp_lam_met (loc, ref, met, body) end // end of [d2exp_lam_met_new] // implement d2exp_fix ( loc, knd, d2v_fun, d2e_body ) = d2exp_make_node (loc, D2Efix (knd, d2v_fun, d2e_body)) // (* ****** ****** *) implement d2exp_delay (loc, d2e) = d2exp_make_node (loc, D2Edelay (d2e)) // end of [d2exp_delay] implement d2exp_ldelay (loc, _eval, _free) = d2exp_make_node (loc, D2Eldelay (_eval, _free)) // end of [d2exp_ldelay] implement d2exp_ldelay_none (loc, d2e) = d2exp_ldelay (loc, d2e, None) // end of [d2exp_ldelay_none] (* ****** ****** *) implement d2exp_for ( loc, i2nv, init, test, post, body ) = d2exp_make_node (loc, D2Efor (i2nv, init, test, post, body)) // end of [d2exp_for] implement d2exp_while ( loc, i2nv, test, body ) = d2exp_make_node (loc, D2Ewhile(i2nv, test, body)) // end of [d2exp_while] implement d2exp_loopexn (loc, knd) = d2exp_make_node (loc, D2Eloopexn knd) // end of [d2exp_loopexn] (* ****** ****** *) implement d2exp_trywith ( loc, r2es, d2e, c2ls ) = d2exp_make_node (loc, D2Etrywith(r2es, d2e, c2ls)) (* ****** ****** *) implement d2exp_ann_type (loc, d2e, s2e) = d2exp_make_node (loc, D2Eann_type(d2e, s2e)) // end of [d2exp_ann_type] implement d2exp_ann_seff (loc, d2e, s2fe) = d2exp_make_node (loc, D2Eann_seff(d2e, s2fe)) // end of [d2exp_ann_seff] implement d2exp_ann_funclo (loc, d2e, fc) = d2exp_make_node (loc, D2Eann_funclo(d2e, fc)) // end of [d2exp_ann_funclo] (* ****** ****** *) implement d2exp_mac (loc, d2m) = d2exp_make_node (loc, D2Emac(d2m)) // end of [d2exp_mac] implement d2exp_macsyn (loc, knd, d2e) = d2exp_make_node (loc, D2Emacsyn(knd, d2e)) // end of [d2exp_macsyn] implement d2exp_macfun (loc, name, d2es) = d2exp_make_node (loc, D2Emacfun(name, d2es)) // end of [d2exp_macfun] (* ****** ****** *) // implement d2exp_solassert (loc, d2e_prf) = d2exp_make_node(loc, D2Esolassert(d2e_prf)) implement d2exp_solverify (loc, s2e_prop) = d2exp_make_node(loc, D2Esolverify(s2e_prop)) // (* ****** ****** *) // implement d2exp_errexp(loc) = d2exp_make_node (loc, D2Eerrexp((*void*))) // (* ****** ****** *) implement labd2exp_make (l, d2e) = $SYN.DL0ABELED(l, d2e) (* ****** ****** *) implement d2lab_lab ( loc, lab, opt ) = '{ d2lab_loc= loc , d2lab_node= D2LABlab (lab) , d2lab_overld= opt } // end of [d2lab_lab] implement d2lab_ind (loc, ind) = '{ d2lab_loc= loc , d2lab_node= D2LABind (ind) , d2lab_overld= None (*void*) } // end of [d2lab_ind] (* ****** ****** *) implement i2nvarg_make (d2v, s2e) = '{ i2nvarg_var= d2v, i2nvarg_type= s2e } (* end of [i2nvarg_make] *) (* ****** ****** *) implement i2nvarg_get_var (arg) = let val d2v = arg.i2nvarg_var val opt = d2var_get_view (d2v) in case+ opt of | Some(d2vw) => d2vw | None() => d2v end // end of [i2nvarg_get_var] implement i2nvarg_get_type (arg) = let // val opt = arg.i2nvarg_type // in // case+ opt of | None() => None() | Some(s2e) => let val d2v = arg.i2nvarg_var val ismut = d2var_is_mutabl (d2v) in if ismut then let val- Some(s2l) = d2var_get_addr(d2v) // end of [val] in Some(s2exp_at (s2e, s2l)) end // end of [then] else opt // end of [else] // end of [if] end // end of [Some] // end // end of [i2nvarg_get_type] (* ****** ****** *) implement i2nvresstate_nil = i2nvresstate_make ( list_nil(*svs*), list_nil(*gua*), list_nil(*arg*) ) // end of [i2nvresstate_nil] implement i2nvresstate_make (s2vs, s2ps, arg) = '{ i2nvresstate_svs= s2vs , i2nvresstate_gua= s2ps , i2nvresstate_arg= arg , i2nvresstate_met= None () } // end of [i2nvresstate_make] implement i2nvresstate_make_met (svs, gua, arg, met) = '{ i2nvresstate_svs= svs , i2nvresstate_gua= gua , i2nvresstate_arg= arg , i2nvresstate_met= met } // end of [i2nvresstate_make] (* ****** ****** *) implement loopi2nv_make ( loc, svs, gua, met, arg, res ) = '{ loopi2nv_loc= loc , loopi2nv_svs= svs , loopi2nv_gua= gua , loopi2nv_arg= arg , loopi2nv_met= met , loopi2nv_res= res } // end of [loopi2nv_make] (* ****** ****** *) implement gm2at_make (loc, d2e, p2topt) = '{ gm2at_loc= loc, gm2at_exp= d2e, gm2at_pat= p2topt } // end of [gm2at_make] implement c2lau_make ( loc, p2t, gua, seq, neg, d2e ) = '{ c2lau_loc= loc , c2lau_pat= p2t , c2lau_gua= gua , c2lau_seq= seq , c2lau_neg= neg , c2lau_body= d2e } // end of [c2lau_make] implement sc2lau_make (loc, sp2t, d2e) = '{ sc2lau_loc= loc, sc2lau_pat= sp2t, sc2lau_body= d2e } // end of [sc2lau_make] (* ****** ****** *) // // HX: various declarations // (* ****** ****** *) implement i2mpdec_make ( loc, locid , d2c, s2vs, s2ess, s2pss, def ) = '{ i2mpdec_loc= loc , i2mpdec_locid= locid , i2mpdec_cst= d2c , i2mpdec_imparg= s2vs , i2mpdec_tmparg= s2ess, i2mpdec_tmpgua= s2pss , i2mpdec_def= def } // end of [i2mpdec_make] (* ****** ****** *) implement f2undec_make ( loc, d2v, def, ann ) = '{ f2undec_loc= loc , f2undec_var= d2v , f2undec_def= def , f2undec_ann= ann } // end of [f2undec_make] (* ****** ****** *) implement v2aldec_make ( loc, p2t, def, ann ) = '{ v2aldec_loc= loc , v2aldec_pat= p2t , v2aldec_def= def , v2aldec_ann= ann } // end of [v2aldec_make] (* ****** ****** *) implement v2ardec_make ( loc, knd , s2v, d2v, pfat, s2eopt, init, d2vopt ) = '{ v2ardec_loc= loc , v2ardec_knd= knd // knd=0/1:var/ptr , v2ardec_svar= s2v // static address , v2ardec_dvar= d2v // dynamic address , v2ardec_pfat= pfat // proof of at-view , v2ardec_type= s2eopt // type annotation , v2ardec_init= init // value for initialization , v2ardec_dvaropt= d2vopt // address of variable } // end of [v2ardec_make] implement prv2ardec_make ( loc, d2v, s2eopt, init ) = '{ prv2ardec_loc= loc , prv2ardec_dvar= d2v , prv2ardec_type= s2eopt , prv2ardec_init= init } // end of [prv2ardec_make] (* ****** ****** *) // extern fun d2ecl_make_node ( loc: location, node: d2ecl_node ) : d2ecl // end-of-function implement d2ecl_make_node (loc, node) = '{ d2ecl_loc= loc, d2ecl_node= node } // (* ****** ****** *) // implement d2ecl_none(loc) = d2ecl_make_node (loc, D2Cnone()) // implement d2ecl_list(loc, xs) = d2ecl_make_node (loc, D2Clist(xs)) // (* ****** ****** *) implement d2ecl_symintr (loc, ids) = d2ecl_make_node (loc, D2Csymintr (ids)) // end of [d2ecl_symintr] implement d2ecl_symelim (loc, ids) = d2ecl_make_node (loc, D2Csymelim (ids)) // end of [d2ecl_symelim] (* ****** ****** *) implement d2ecl_overload ( loc, id, pval, def ) = d2ecl_make_node(loc, D2Coverload(id, pval, def)) // end of [d2ecl_overload] (* ****** ****** *) // implement d2ecl_pragma (loc, e1xps) = d2ecl_make_node(loc, D2Cpragma(e1xps)) // implement d2ecl_codegen (loc, knd, xs) = d2ecl_make_node(loc, D2Ccodegen(knd, xs)) // (* ****** ****** *) // implement d2ecl_stacsts (loc, s2cs) = d2ecl_make_node (loc, D2Cstacsts (s2cs)) implement d2ecl_stacons (loc, knd, s2cs) = d2ecl_make_node (loc, D2Cstacons (knd, s2cs)) // (* ****** ****** *) (* implement d2ecl_stavars (loc, xs) = d2ecl_make_node (loc, D2Cstavars (xs)) // end of [d2ecl_stavars] *) (* ****** ****** *) // implement d2ecl_saspdec (loc, d) = d2ecl_make_node (loc, D2Csaspdec (d)) // (* ****** ****** *) // implement d2ecl_extype (loc, name, def) = d2ecl_make_node (loc, D2Cextype (name, def)) implement d2ecl_extvar (loc, name, def) = d2ecl_make_node (loc, D2Cextvar (name, def)) implement d2ecl_extcode (loc, knd, pos, code) = d2ecl_make_node (loc, D2Cextcode (knd, pos, code)) // (* ****** ****** *) // implement d2ecl_datdecs (loc, knd, s2cs) = d2ecl_make_node (loc, D2Cdatdecs (knd, s2cs)) // implement d2ecl_exndecs (loc, d2cs) = d2ecl_make_node (loc, D2Cexndecs (d2cs)) // (* ****** ****** *) implement d2ecl_dcstdecs (loc, knd, dck, d2cs) = d2ecl_make_node (loc, D2Cdcstdecs (knd, dck, d2cs)) (* ****** ****** *) implement d2ecl_fundecs (loc, knd, decarg, f2ds) = d2ecl_make_node (loc, D2Cfundecs (knd, decarg, f2ds)) (* ****** ****** *) implement d2ecl_valdecs (loc, knd, v2ds) = d2ecl_make_node (loc, D2Cvaldecs (knd, v2ds)) implement d2ecl_valdecs_rec (loc, knd, v2ds) = d2ecl_make_node (loc, D2Cvaldecs_rec (knd, v2ds)) (* ****** ****** *) implement d2ecl_vardecs (loc, v2ds) = d2ecl_make_node (loc, D2Cvardecs (v2ds)) implement d2ecl_prvardecs (loc, v2ds) = d2ecl_make_node (loc, D2Cprvardecs (v2ds)) (* ****** ****** *) implement d2ecl_impdec (loc, knd, d2c) = d2ecl_make_node (loc, D2Cimpdec (knd, d2c)) (* ****** ****** *) implement d2ecl_include (loc, knd, d2cs) = d2ecl_make_node (loc, D2Cinclude (knd, d2cs)) (* ****** ****** *) implement d2ecl_staload ( loc, idopt, cfil, flag, fenv, loaded ) = d2ecl_make_node (loc, D2Cstaload (idopt, cfil, flag, fenv, loaded)) // endof [d2ecl_staload] implement d2ecl_staloadloc ( loc, pfil, nspace, fenv ) = d2ecl_make_node (loc, D2Cstaloadloc (pfil, nspace, fenv)) (* ****** ****** *) implement d2ecl_dynload (loc, fil) = d2ecl_make_node (loc, D2Cdynload (fil)) (* ****** ****** *) implement d2ecl_local (loc, head, body) = d2ecl_make_node (loc, D2Clocal (head, body)) // end of [d2ecl_local] (* ****** ****** *) implement d2ecl_errdec (loc) = d2ecl_make_node (loc, D2Cerrdec ()) (* ****** ****** *) extern typedef "p2at_t" = p2at extern typedef "d2exp_t" = d2exp %{$ ats_void_type patsopt_p2at_set_type ( ats_ptr_type p2t, ats_ptr_type opt ) { ((p2at_t)p2t)->atslab_p2at_type = opt ; return ; } // end of [patsopt_p2at_set_type] ats_void_type patsopt_d2exp_set_type ( ats_ptr_type d2e, ats_ptr_type opt ) { ((d2exp_t)d2e)->atslab_d2exp_type = opt ; return ; } // end of [patsopt_d2exp_set_type] %} // end of [%{$] (* ****** ****** *) (* end of [pats_dynexp2.dats] *) ATS2-Postiats-0.2.6/./src/pats_typerase.sats0000664000175000017500000000706512655455557017314 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: July, 2012 // (* ****** ****** *) staload LOC = "./pats_location.sats" typedef location = $LOC.location (* ****** ****** *) staload "./pats_staexp2.sats" staload "./pats_dynexp2.sats" (* ****** ****** *) staload "./pats_dynexp3.sats" (* ****** ****** *) staload "./pats_histaexp.sats" staload "./pats_hidynexp.sats" (* ****** ****** *) // // HX-2012-09: // the list of possible errors that may occur // during the level-4 translation // datatype trans4err = // | T4E_p3at_tyer_isprf of (p3at) // [p3at] is partial // | T4E_d3exp_tyer_isprf of (d3exp) // [d3exp] should be erased // (* | T4E_d3exp_tyer_isnotval of (d3exp) // HX: it is only a warning! *) // end of [trans4err] // (* ****** ****** *) fun the_trans4errlst_add (x: trans4err): void fun the_trans4errlst_finalize (): void // cleanup all the errors (* ****** ****** *) // // HX-2012-09: // [s2exp_tyer] is essentially for // measuring the size of a given type // fun s2exp_tyer // flag=0/1:shallow/deep (loc: location, flag: int, s2e0: s2exp): hisexp // fun s2exp_tyer_deep(loc: location, s2e0: s2exp): hisexp fun s2exp_tyer_shallow(loc: location, s2e0: s2exp): hisexp // (* ****** ****** *) fun s2zexp_tyer (loc: location, s2ze: s2zexp): hisexp (* ****** ****** *) fun t2mpmarg_tyer (t2ma: t2mpmarg): hisexplst fun t2mpmarglst_tyer (t2mas: t2mpmarglst): hisexplstlst (* ****** ****** *) fun t2mpmarg_mhnfize (t2ma: t2mpmarg): t2mpmarg fun t2mpmarglst_mhnfize (t2mas: t2mpmarglst): t2mpmarglst (* ****** ****** *) fun d2var_tyer (d2v: d2var): d2var fun d2cst_tyer (d2c: d2cst): d2cst (* ****** ****** *) fun p3at_tyer (p3t: p3at): hipat fun p3atlst_tyer (p3ts: p3atlst): hipatlst fun p3atlst_tyer2 (d3es: d3explst, p3ts: p3atlst): hipatlst (* ****** ****** *) fun d3exp_tyer (d3e: d3exp): hidexp fun d3explst_tyer (d3es: d3explst): hidexplst fun d3expopt_tyer (opt: d3expopt): hidexpopt (* ****** ****** *) fun d3lab_tyer (d3l: d3lab): hilab fun d3lablst_tyer (d3ls: d3lablst): hilablst (* ****** ****** *) fun decarg2imparg (s2qs: s2qualst): s2varlst (* ****** ****** *) fun d3ecl_tyer (d3c: d3ecl): hidecl fun d3eclist_tyer (d3cs: d3eclist): hideclist (* ****** ****** *) fun d3eclist_tyer_errck (d3cs: d3eclist): hideclist (* ****** ****** *) (* end of [pats_typerase.sats] *) ATS2-Postiats-0.2.6/./src/pats_error.dats0000664000175000017500000000346512655455557016572 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: April, 2011 // (* ****** ****** *) staload "./pats_error.sats" (* ****** ****** *) local // extern fun segfault(): int = "ext#pats_error_segfault" // in (* in-of-local *) implement abort () = let (* val _ = segfault () *) in $raise FatalErrorExn((*void*)) end // end of [abort] implement abort_interr () = let (* val _ = segfault () *) in $raise FatalErrorExn_interr((*void*)) end // end of [abort] end // end of [local] (* ****** ****** *) (* end of [pats_error.dats] *) ATS2-Postiats-0.2.6/./src/pats_filename_reloc.dats0000664000175000017500000002066412655455557020405 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2013 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*UN*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload UT = "./pats_utils.sats" (* ****** ****** *) staload GLOB = "./pats_global.sats" (* ****** ****** *) staload FIL = "./pats_filename.sats" (* ****** ****** *) staload SYM = "./pats_symbol.sats" (* ****** ****** *) staload SYN = "./pats_syntax.sats" (* ****** ****** *) staload S1E = "./pats_staexp1.sats" (* ****** ****** *) staload TRENV1 = "./pats_trans1_env.sats" (* ****** ****** *) (* typedef pkginfo = @{ // pkgname=string , pkgauthor=stropt , pkgauthoremail=stropt , pkgsrcloc=string , pkgdstloc=stropt // } (* end of [pkginfo] *) *) (* ****** ****** *) local // extern fun __copy_string : (string) -> strptr1 = "mac#atspre_string_copy" extern fun __make_substring : (string, size_t, size_t) -> strptr1 = "mac#atspre_string_make_substring" // in (* in-of-local *) (* ****** ****** *) // extern fun pkgsrcname_get_gurl0 (given: string, ngurl: int): Strptr1 implement pkgsrcname_get_gurl0 (given, ngurl) = let // val start = $UN.cast2size(1) val length = $UN.cast2size(ngurl - 2) // in __make_substring (given, start, length) end // end of [pkgsrcname_get_gurl0] // (* ****** ****** *) // extern fun pkgsrcname_get_gurl1 (given: string, ngurl: int): Strptr1 implement pkgsrcname_get_gurl1 (given, ngurl) = __copy_string ("$ATSPKGRELOCROOT") // (* ****** ****** *) extern fun pkgsrcname_get2_gurl0 (given: string, ngurl: int): Strptr1 implement pkgsrcname_get2_gurl0 (given, ngurl) = let // val p0 = $UN.cast2ptr (given) val c1 = $UN.ptr0_get (add_ptr_int (p0, 1)) // in // case+ 0 of | _ when c1 = '$' => let val start = $UN.cast2size(2) val length = $UN.cast2size(ngurl - 3) val key = __make_substring (given, start, length) val key2 = sprintf ("%s_sourceloc", @($UN.castvwtp1{string}(key))) // end of [val] val () = strptr_free (key) val key2 = string_of_strptr (key2) val key2 = $SYM.symbol_make_string (key2) val opt2 = $TRENV1.the_e1xpenv_find (key2) in case+ opt2 of | ~None_vt() => pkgsrcname_get_gurl0 (given, ngurl) // end of [None_vt] | ~Some_vt(e) => ( case+ e.e1xp_node of | $S1E.E1XPstring(x) => __copy_string(x) | _ (*non-E1XPstring*) => pkgsrcname_get_gurl0(given, ngurl) ) (* end of [Some_vt] *) end // end of [variable] // | _ (*nonvariable*) => pkgsrcname_get_gurl0 (given, ngurl) // end // end of [pkgsrcname_get2_gurl0] (* ****** ****** *) extern fun pkgsrcname_get2_gurl1 (given: string, ngurl: int): Strptr1 implement pkgsrcname_get2_gurl1 (given, ngurl) = let // val p0 = $UN.cast2ptr (given) val c1 = $UN.ptr0_get (add_ptr_int (p0, 1)) // in // case+ 0 of | _ when c1 = '$' => let val start = $UN.cast2size(2) val length = $UN.cast2size(ngurl - 3) val key = __make_substring (given, start, length) val key2 = sprintf ("%s_targetloc", @($UN.castvwtp1{string}(key))) // end of [val] val () = strptr_free (key) val key2 = string_of_strptr (key2) (* val () = println! ("key2 = ", key2) *) val key2 = $SYM.symbol_make_string (key2) val opt2 = $TRENV1.the_e1xpenv_find (key2) in case+ opt2 of | ~None_vt () => pkgsrcname_get_gurl1 (given, ngurl) // end of [None_vt] | ~Some_vt (e) => ( case+ e.e1xp_node of | $S1E.E1XPstring (x) => __copy_string (x) | _ (*non-E1XPstring*) => pkgsrcname_get_gurl1 (given, ngurl) ) (* end of [Some_vt] *) end // end of [variable] // | _ (*nonvariable*) => pkgsrcname_get_gurl1 (given, ngurl) // end // end of [pkgsrcname_get2_gurl1] (* ****** ****** *) // extern fun pkgsrcname_eval(given: string): string // implement pkgsrcname_eval (given) = let // #define NDEPTH 100 // fun isalnum_ (c: char): bool = if char_isalnum(c) then true else (c = '_') // fun auxtrav ( p0: ptr, n: int ) : int = let val c0 = $UN.ptr0_get(p0) in // if isalnum_(c0) then ( auxtrav(add_ptr_int(p0, 1), n+1) ) else (n) // end of [if] // end (* end of [auxtrav] *) // fun auxeval0 ( given: string, ndepth: int ) : string = ( if ndepth < NDEPTH then auxeval1(given, ndepth) else given ) (* end of [auxeval0] *) // and auxeval1 ( given: string, ndepth: int ) : string = let // val p0 = $UN.cast2ptr(given) val c0 = $UN.ptr0_get(p0) // (* val () = println! ("pkgsrcname_eval: auxeval1: given = ", given) *) in // case+ c0 of | _ when c0 = '$' => let val p1 = add_ptr_int(p0, 1) val nk = auxtrav(p1, 0(*n*)) val st0 = $UN.cast2size(1) val len = $UN.cast2size(nk) val key = __make_substring (given, st0, len) // end of [val] val key = string_of_strptr (key) (* val () = println! ("pkgsrcname_eval: auxeval1: key = ", key) // end of [val] *) val key = $SYM.symbol_make_string (key) val opt = $TRENV1.the_e1xpenv_find (key) in case+ opt of | ~None_vt() => given | ~Some_vt(e) => ( case+ e.e1xp_node of | $S1E.E1XPstring(x) => let val pnk = add_ptr_int(p1, nk) val given2 = sprintf("%s%s", @(x, $UN.cast{string}(pnk))) in auxeval0(string_of_strptr(given2), ndepth+1) end (* end of [E1XPstring] *) | _ (*non-E1XPstring*) => given ) (* end of [Some_vt] *) end // end of [variable] | _ (*nonvariable*) => given // end // end of [auxeval1] // in auxeval0(given, 0(*ndepth*)) end // end of [pkgsrcname_eval] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement $FIL.pkgsrcname_relocatize (given, ngurl) = let // val srcd0c = $GLOB.the_PKGRELOC_get_decl () // extern fun PATSHOME_get (): string = "ext#patsopt_PATSHOME_get" extern fun PATSHOMERELOC_get (): Stropt = "ext#patsopt_PATSHOMERELOC_get" // in // if ngurl < 0 then let val ((*void*)) = if srcd0c > null then { val srcd0c = $UN.cast{$SYN.d0ecl}(srcd0c) val () = $TRENV1.the_pkgreloc_insert (srcd0c, given) } (* end of [if] *) // end of [val] in given // target end // end of [then] else let // val p0 = $UN.cast2ptr (given) val p_ngurl = add_ptr_int(p0, ngurl) val p_ngurl = $UN.cast{string}(p_ngurl) // val dirsep = $FIL.theDirSep_get () // val gurl_t = // target pkgsrcname_get2_gurl1 (given, ngurl) val _gurl_t = $UN.castvwtp1{string}(gurl_t) val given2_t = $UT.dirpath_append (_gurl_t, p_ngurl, dirsep) val ((*freed*)) = strptr_free (gurl_t) val given2_t = pkgsrcname_eval (string_of_strptr(given2_t)) // val () = if srcd0c > null then { val gurl_s = // source pkgsrcname_get2_gurl0 (given, ngurl) val _gurl_s = $UN.castvwtp1{string}(gurl_s) val given2_s = $UT.dirpath_append (_gurl_s, p_ngurl, dirsep) val ((*freed*)) = strptr_free (gurl_s) val given2_s = pkgsrcname_eval (string_of_strptr(given2_s)) val srcd0c = $UN.cast{$SYN.d0ecl}(srcd0c) val ((*void*)) = $TRENV1.the_pkgreloc_insert2 (srcd0c, given2_s, given2_t) } (* end of [if] *) // end of [val] // in given2_t // target end // end of [else] // end // end of [pkgsrcname_relocatize] (* ****** ****** *) (* end of [pats_filename_reloc.sats] *) ATS2-Postiats-0.2.6/./src/pats_reader.cats0000664000175000017500000000327612655455557016702 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi@gmail.com) // Start Time: March, 2011 // /* ****** ****** */ #ifndef POSTIATS_SRC_PATS_READER_CATS #define POSTIATS_SRC_PATS_READER_CATS /* ****** ****** */ typedef struct { // ats_ptr_type getchar ; // () - int ats_ptr_type freeres ; // () -> void // } pats_reader_struct ; /* ****** ****** */ #endif // end of [POSTIATS_SRC_PATS_READER_CATS] /* ****** ****** */ /* end of [pats_reader.cats] */ ATS2-Postiats-0.2.6/./AUTHORS0000664000175000017500000000033112655455557014003 0ustar hwxihwxi# # Postiats is based on Anairiats, Geizella, ATSproto # ###### Principal Designer and Implementor: Hongwei Xi (gmhwxi@gmail.com), ATS Trustful Software, Inc. ###### Contributors: ###### end of [AUTHORS] ###### ATS2-Postiats-0.2.6/./config.h.in0000664000175000017500000000317612655455557014770 0ustar hwxihwxi/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_GMP_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `memalign' function. */ #undef HAVE_MEMALIGN /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `posix_memalign' function. */ #undef HAVE_POSIX_MEMALIGN /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* The size of `void*', as computed by sizeof. */ #undef SIZEOF_VOIDP /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS ATS2-Postiats-0.2.6/./ccomp/0000775000175000017500000000000012655455557014037 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/runtime/0000775000175000017500000000000012655455557015522 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloc_user.h0000664000175000017500000000424412655455557022736 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ // #include /* extern int fprintf (FILE *stream, const char *format, ...) ; */ /* ****** ****** */ // // stdlib.h // extern void exit (int code) ; // /* ****** ****** */ extern void atsruntime_mfree_user (void *ptr) ; extern void *atsruntime_malloc_user (size_t bsz) ; extern void *atsruntime_calloc_user (size_t asz, size_t tsz) ; extern void *atsruntime_realloc_user (void *ptr, size_t bsz) ; /* ****** ****** */ ATSinline() atstype_ptr atsruntime_malloc_user_exn (atstype_size bsz) { atstype_ptr p ; p = atsruntime_malloc_user(bsz) ; if (!p) { fprintf(stderr, "exit(ATS): atsruntime_malloc_user_exn: [malloc] failed.\n") ; exit(1) ; } // end of [if] return (p) ; } /* end of [atsruntime_malloc_user_exn] */ /* ****** ****** */ /* end of [pats_ccomp_memalloc_user.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloc_libc.h0000664000175000017500000000670712655455557022677 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ // #include /* extern int fprintf (FILE *stream, const char *format, ...) ; */ /* ****** ****** */ // // stdlib.h // extern void exit (int code) ; // extern void free (void *ptr) ; extern void *malloc (size_t bsz) ; extern void *calloc(size_t asz, size_t tsz) ; extern void *realloc(void *ptr, size_t bsz) ; // /* ****** ****** */ // ATSinline() atsvoid_t0ype atsruntime_minit_libc() { return ; } // /* ****** ****** */ ATSinline() atsvoid_t0ype atsruntime_mfree_libc (atstype_ptr ptr) { free(ptr) ; return ; } // end of [atsruntime_mfree_libc] /* ****** ****** */ ATSinline() atstype_ptr atsruntime_malloc_libc (atstype_size bsz) { return malloc(bsz) ; } // end of [atsruntime_malloc_libc] ATSinline() atstype_ptr atsruntime_malloc_libc_exn (atstype_size bsz) { atstype_ptr p ; p = atsruntime_malloc_libc(bsz) ; if (!p) { fprintf(stderr, "exit(ATS): atsruntime_malloc_libc_exn: [malloc] failed.\n") ; exit(1) ; } // end of [if] return (p) ; } /* end of [atsruntime_malloc_libc_exn] */ /* ****** ****** */ ATSinline() atstype_ptr atsruntime_calloc_libc (atstype_size asz, atstype_size tsz) { return calloc(asz, tsz) ; } // end of [atsruntime_calloc_libc] ATSinline() atstype_ptr atsruntime_calloc_libc_exn ( atstype_size asz, atstype_size tsz ) { atstype_ptr p ; p = atsruntime_calloc_libc(asz, tsz) ; if (!p) { fprintf(stderr, "exit(ATS): atsruntime_calloc_libc_exn: [calloc] failed.\n") ; exit(1) ; } // end of [if] return (p) ; } /* end of [atsruntime_calloc_libc_exn] */ /* ****** ****** */ ATSinline() atstype_ptr atsruntime_realloc_libc (atstype_ptr ptr, atstype_size bsz) { return realloc(ptr, bsz) ; } // end of [atsruntime_realloc_libc] ATSinline() atstype_ptr atsruntime_realloc_libc_exn ( atstype_ptr ptr, atstype_size bsz ) { atstype_ptr p ; p = atsruntime_realloc_libc(ptr, bsz) ; if (!p) { fprintf(stderr, "exit(ATS): atsruntime_realloc_libc_exn: [realloc] failed.\n") ; exit(1) ; } // end of [if] return (p) ; } /* end of [atsruntime_realloc_libc_exn] */ /* ****** ****** */ /* end of [pats_ccomp_memalloc_libc.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_basics.h0000664000175000017500000001011512655455557021345 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2012 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_BASICS_H #define PATS_CCOMP_BASICS_H /* ****** ****** */ // // HX: boolean values // #define atsbool_true 1 #define atsbool_false 0 // #define atsptr_null ((void*)0) // /* ****** ****** */ // #define ATSstruct struct // /* ****** ****** */ /* #define ATStypedef typedef */ // /* ****** ****** */ #ifndef \ ATS_EXTERN_DEF__ #define ATSextern() extern #else #define ATSextern() ATS_EXTERN_DEF__ #endif // #ifndef /* ****** ****** */ #ifndef \ ATS_STATIC_DEF__ #define ATSstatic() static #else #define ATSstatic() ATS_STATIC_DEF__ #endif // #ifndef /* ****** ****** */ #ifndef \ ATS_INLINE_DEF__ #define ATSinline() static inline #else #define ATSinline() ATS_INLINE_DEF__ #endif // #ifndef /* ****** ****** */ // #define ATSdynload() // #define ATSdynloadflag_sta(flag) #define ATSdynloadflag_ext(flag) ATSextern() int flag // #define ATSdynloadflag_init(flag) int flag = 0 // #define ATSdynloadflag_minit(flag) int flag = 0 // #define ATSdynloadset(flag) flag = 1 #define ATSdynloadfcall(dynloadfun) dynloadfun() // /* ****** ****** */ #ifndef _ATS_CCOMP_EXCEPTION_NONE // #define \ ATSdynexn_dec(d2c) atstype_exncon d2c = { 0, "#ATSEXNCON" } #define \ ATSdynexn_initize(d2c, exnmsg) the_atsexncon_initize(&(d2c), exnmsg) #define ATSdynexn_extdec(d2c) ATSextern() atstype_exncon d2c // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* ****** ****** */ #define ATSassume(flag) void *flag = (void*)0 /* ****** ****** */ // #define ATSclosurerize_end(flab) #define ATSclosurerize_beg(flab, tenvs, targs, tres) // /* ****** ****** */ #define ATSdyncst_mac(d2c) #define ATSdyncst_castfn(d2c) #define ATSdyncst_extfun(d2c, targs, tres) ATSextern() tres d2c targs #define ATSdyncst_stafun(d2c, targs, tres) ATSstatic() tres d2c targs /* ****** ****** */ #define ATSdyncst_valimp(d2c, type) type d2c #define ATSdyncst_valdec(d2c, type) ATSextern() type d2c /* ****** ****** */ // #define \ ATSmainats_void_0(err) mainats_void_0() #define \ ATSmainats_argc_argv_0(argc, argv, err) mainats_argc_argv_0(argc, argv) #define \ ATSmainats_argc_argv_envp_0(argc, argv, envp, err) mainats_argc_argv_envp_0(argc, argv, envp) // #define \ ATSmainats_void_int(err) err = mainats_void_int() #define \ ATSmainats_argc_argv_int(argc, argv, err) err = mainats_argc_argv_int(argc, argv) #define \ ATSmainats_argc_argv_envp_int(argc, argv, envp, err) err = mainats_argc_argv_envp_int(argc, argv, envp) // /* ****** ****** */ // extern void atsruntime_raise (void *exn) ; extern void atsruntime_handle_uncaughtexn (void *exn0) ; extern void atsruntime_handle_unmatchedval (char *msg0) ; extern void atsruntime_handle_unmatchedarg (char *msg0) ; // /* ****** ****** */ #endif /* PATS_CCOMP_BASICS_H */ /* ****** ****** */ /* end of [pats_ccomp_basics.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloc_gcbdw.h0000664000175000017500000000667712655455557023062 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ // #include /* extern int fprintf (FILE *stream, const char *format, ...) ; */ /* ****** ****** */ /* #include */ extern void exit (int code) ; /* ****** ****** */ /* #include */ extern void GC_init () ; extern void GC_free (void *ptr) ; extern void *GC_malloc(size_t bsz) ; extern void *GC_realloc(void *ptr, size_t bsz) ; /* ****** ****** */ ATSinline() atsvoid_t0ype atsruntime_minit_gcbdw (/*void*/) { GC_init() ; return ; } // end of [atsruntime_minit_gcbdw] /* ****** ****** */ ATSinline() atsvoid_t0ype atsruntime_mfree_gcbdw (void *ptr) { GC_free(ptr) ; return ; } // end of [atsruntime_mfree_gcbdw] /* ****** ****** */ ATSinline() atstype_ptr atsruntime_malloc_gcbdw (size_t bsz) { return GC_malloc(bsz) ; } // end of [atsruntime_malloc_gcbdw] ATSinline() atstype_ptr atsruntime_malloc_gcbdw_exn (size_t bsz) { void *ptr ; ptr = atsruntime_malloc_gcbdw(bsz) ; if (!ptr) { fprintf( stderr, "exit(ATS): atsruntime_malloc_gcbdw_exn: [malloc] failed.\n" ) ; exit(1) ; } // end of [if] return (ptr) ; } /* end of [atsruntime_malloc_gcbdw_exn] */ /* ****** ****** */ // // HX: [malloc] alreay clears the allocated region // ATSinline() atstype_ptr atsruntime_calloc_gcbdw (size_t asz, size_t tsz) { return atsruntime_malloc_gcbdw (asz*tsz) ; } // end of [atsruntime_calloc_gcbdw] ATSinline() atstype_ptr atsruntime_calloc_gcbdw_exn (size_t asz, size_t tsz) { return atsruntime_malloc_gcbdw_exn (asz*tsz) ; } // end of [atsruntime_calloc_gcbdw_exn] /* ****** ****** */ ATSinline() atstype_ptr atsruntime_realloc_gcbdw (void *ptr, size_t bsz) { return GC_realloc(ptr, bsz) ; } // end of [atsruntime_realloc_gcbdw] ATSinline() atstype_ptr atsruntime_realloc_gcbdw_exn (void *ptr, size_t bsz) { void *ptr2 ; ptr2 = atsruntime_realloc_gcbdw(ptr, bsz) ; if (!ptr2) { fprintf( stderr, "exit(ATS): atsruntime_realloc_gcbdw_exn: [realloc] failed.\n" ) ; exit(1) ; } // end of [if] return (ptr2) ; } /* end of [atsruntime_realloc_gcbdw_exn] */ /* ****** ****** */ /* end of [pats_ccomp_memalloc_gcbdw.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_runtime_memalloc.c0000664000175000017500000000457712655455557023447 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) */ /* ****** ****** */ #ifdef ATS_MEMALLOC_LIBC extern void atsruntime_mfree_undef (void *ptr) { atsruntime_mfree_libc (ptr) ; return ; } extern void *atsruntime_malloc_undef (size_t bsz) { return atsruntime_malloc_libc (bsz) ; } extern void *atsruntime_calloc_undef (size_t asz, size_t tsz) { return atsruntime_calloc_libc (asz, tsz) ; } extern void *atsruntime_realloc_undef (void *ptr, size_t bsz) { return atsruntime_realloc_libc (ptr, bsz) ; } #endif // ATS_MEMALLOC_LIBC /* ****** ****** */ #ifdef ATS_MEMALLOC_GCBDW extern void atsruntime_mfree_undef (void *ptr) { atsruntime_mfree_gcbdw (ptr) ; return ; } extern void *atsruntime_malloc_undef (size_t bsz) { return atsruntime_malloc_gcbdw (bsz) ; } extern void *atsruntime_calloc_undef (size_t asz, size_t tsz) { return atsruntime_calloc_gcbdw (asz, tsz) ; } extern void *atsruntime_realloc_undef (void *ptr, size_t bsz) { return atsruntime_realloc_gcbdw (ptr, bsz) ; } #endif // ATS_MEMALLOC_GCBDW /* ****** ****** */ /* end of [pats_ccomp_runtime_memalloc.c] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_config.h0000664000175000017500000000310012655455557021342 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_CONFIG_H #define PATS_CCOMP_CONFIG_H /* ****** ****** */ // HX: it is yet empty /* ****** ****** */ #endif /* PATS_CCOMP_CONFIG_H */ /* end of [pats_ccomp_config.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_exception.h0000664000175000017500000001013312655455557022077 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: June, 2013 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_EXCEPTION_H #define PATS_CCOMP_EXCEPTION_H /* ****** ****** */ /* use -D_XOPEN_SOURCE */ #include /* ****** ****** */ #define atstype_jmp_buf jmp_buf #define atspre_setjmp(env, mask) setjmp(env) #define atspre_longjmp(env, ret) longjmp(env, ret) /* ****** ****** */ /* #include */ extern void *alloca (size_t bsz) ; /* ****** ****** */ /* extern atstype_exncon *atspre_AssertExn_make() ; extern atstype_exncon *atspre_NotFoundExn_make() ; extern atstype_exncon *atspre_IllegalArgExn_make(const char*) ; extern atstype_exncon *atspre_ListSubscriptExn_make() ; extern atstype_exncon *atspre_StreamSubscriptExn_make() ; extern atstype_exncon *atspre_ArraySubscriptExn_make() ; extern atstype_exncon *atspre_MatrixSubscriptExn_make() ; // extern atstype_exncon *atspre_NotSomeExn_make() ; // extern atstype_bool atspre_isListSubscriptExn (const atstype_exncon*) ; extern atstype_bool atspre_isStreamSubscriptExn (const atstype_exncon*) ; extern atstype_bool atspre_isArraySubscriptExn (const atstype_exncon*) ; extern atstype_bool atspre_isMatrixSubscriptExn (const atstype_exncon*) ; // extern atstype_bool atspre_isNotSomeExn (const atstype_exncon*) ; */ /* ****** ****** */ typedef struct atsexnframe { atstype_jmp_buf env ; atstype_exnconptr exn ; struct atsexnframe *prev ; } atsexnframe_t ; typedef atsexnframe_t *atsexnframe_ptr ; /* ****** ****** */ #define \ atsexnframe_alloc() alloca(sizeof(atsexnframe_t)) #define \ atsexnframe_mfree(frame) /* there-is-nothing-to-do */ /* ****** ****** */ extern atsexnframe_ptr *my_atsexnframe_getref () ; /* ****** ****** */ static inline void my_atsexnframe_enter ( atsexnframe_ptr frame , atsexnframe_ptr *framep ) { frame->prev = *framep ; *framep = frame ; return ; } // end of [my_atsexnframe_enter] static inline void my_atsexnframe_leave ( atsexnframe_ptr *framep ) { atsexnframe_mfree(*framep) ; *framep = (*framep)->prev ; return ; } // end of [my_atsexnframe_leave] /* ****** ****** */ /* ** HX: ** beg-of-WARNING: ** DO NOT USE THE FOLLOWING MACROS: */ #define \ ATStrywith_try(tmpexn) \ do { \ int flag ; \ atsexnframe_ptr frame ; \ atsexnframe_ptr *framep ; \ frame = atsexnframe_alloc() ; \ framep = my_atsexnframe_getref() ; \ my_atsexnframe_enter(frame, framep) ; \ flag = atspre_setjmp(frame->env, 1) ; \ if (flag==0) { /* normal */ #define \ ATStrywith_with(tmpexn) \ my_atsexnframe_leave(framep) ; \ } else { /* flag<>0 : exceptional */ \ tmpexn = (*framep)->exn ; \ my_atsexnframe_leave(framep) ; #define \ ATStrywith_end(tmpexn) \ } \ } while(0) ; /* end of [do] */ /* end-of-WARNING */ /* ****** ****** */ #endif /* PATS_CCOMP_EXCEPTION_H */ /* ****** ****** */ /* end of [pats_ccomp_exception.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_runtime2_dats.c0000664000175000017500000002734612655455557022672 0ustar hwxihwxi/* ** ** The C code is generated by ATS/Postiats ** The compilation time is: 2014-8-4: 12h:36m ** */ /* typedefs-for-tyrecs-and-tysums(beg) */ typedef ATSstruct { int exntag ; char *exnmsg ; atstkind_type(atstype_ptrk) atslab__0; } pats_ccomp_runtime2_tyexn ; /* typedefs-for-tyrecs-and-tysums(end) */ /* dynconlst-declaration(beg) */ /* dynconlst-declaration(end) */ /* dyncstlst-declaration(beg) */ ATSdyncst_mac(atspre_prerr_string) ATSdyncst_mac(atspre_prerr_newline) ATSdyncst_mac(atspre_exit) ATSdyncst_extfun(atsruntime_handle_uncaughtexn_rest, (atstype_exnconptr), atsvoid_t0ype) ; /* dyncstlst-declaration(end) */ /* dynvalist-implementation(beg) */ /* dynvalist-implementation(end) */ /* exnconlst-declaration(beg) */ #ifndef _ATS_CCOMP_EXCEPTION_NONE ATSextern() atsvoid_t0ype the_atsexncon_initize ( atstype_exnconptr d2c, atstype_string exnmsg ) ; #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* exnconlst-declaration(end) */ /* assumelst-declaration(beg) */ /* assumelst-declaration(end) */ /* extypelst-declaration(beg) */ /* extypelst-declaration(end) */ #if(0) ATSextern() atsvoid_t0ype atsruntime_handle_uncaughtexn(atstype_exnconptr) ; #endif // end of [QUALIFIED] /* /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1541(line=43, offs=3) -- 2287(line=72, offs=4) */ /* local: global: atsruntime_handle_uncaughtexn$0$0(level=0) local: global: */ ATSextern() atsvoid_t0ype atsruntime_handle_uncaughtexn(void *arg0) { /* tmpvardeclst(beg) */ ATStmpdec_void(tmpret0) ; ATStmpdec(tmp1, atstkind_type(atstype_ptrk)) ; ATStmpdec(tmp2, atstkind_type(atstype_ptrk)) ; ATStmpdec_void(tmp3) ; ATStmpdec_void(tmp4) ; ATStmpdec_void(tmp5) ; ATStmpdec_void(tmp6) ; ATStmpdec_void(tmp7) ; ATStmpdec_void(tmp8) ; ATStmpdec_void(tmp9) ; ATStmpdec_void(tmp10) ; ATStmpdec_void(tmp11) ; ATStmpdec_void(tmp12) ; ATStmpdec_void(tmp13) ; ATStmpdec_void(tmp14) ; ATStmpdec_void(tmp15) ; ATStmpdec_void(tmp16) ; /* tmpvardeclst(end) */ /* funbodyinstrlst(beg) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1509(line=42, offs=1) -- 2287(line=72, offs=4) */ ATSINSflab(__patsflab_atsruntime_handle_uncaughtexn): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1641(line=51, offs=1) -- 2280(line=70, offs=65) */ ATScaseof_beg() /* ** ibranchlst-beg */ ATSbranch_beg() /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1659(line=53, offs=3) -- 1672(line=53, offs=16) */ ATSINSlab(__atstmplab0): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7) */ ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__AssertExn)) { ATSINSgoto(__atstmplab2) ; } ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1672(line=53, offs=16) -- 1672(line=53, offs=16) */ ATSINSlab(__atstmplab1): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6) */ /* letpush(beg) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1693(line=54, offs=14) -- 1706(line=54, offs=27) */ ATSINSmove_void(tmp3, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38) */ ATSINSmove_void(tmp4, atspre_prerr_string(ATSPMVstring(": AssertExn"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38) */ ATSINSmove_void(tmp5, atspre_prerr_newline()) ; /* letpush(end) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1748(line=55, offs=42) -- 1754(line=55, offs=48) */ ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6) */ /* INSletpop() */ ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1788(line=57, offs=3) -- 1803(line=57, offs=18) */ ATSINSlab(__atstmplab2): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7) */ ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__NotFoundExn)) { ATSINSgoto(__atstmplab4) ; } ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1803(line=57, offs=18) -- 1803(line=57, offs=18) */ ATSINSlab(__atstmplab3): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6) */ /* letpush(beg) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1824(line=58, offs=14) -- 1837(line=58, offs=27) */ ATSINSmove_void(tmp6, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40) */ ATSINSmove_void(tmp7, atspre_prerr_string(ATSPMVstring(": NotFoundExn"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40) */ ATSINSmove_void(tmp8, atspre_prerr_newline()) ; /* letpush(end) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1881(line=59, offs=44) -- 1887(line=59, offs=50) */ ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6) */ /* INSletpop() */ ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 1940(line=61, offs=22) */ ATSINSlab(__atstmplab4): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7) */ ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__GenerallyExn)) { ATSINSgoto(__atstmplab6) ; } ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1940(line=61, offs=22) -- 1940(line=61, offs=22) */ ATSINSlab(__atstmplab5): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1936(line=61, offs=18) -- 1939(line=61, offs=21) */ ATSINSmove(tmp1, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 2039(line=64, offs=6) */ /* ATSINSfreecon(arg0) ; */ /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6) */ /* letpush(beg) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1961(line=62, offs=14) -- 1974(line=62, offs=27) */ ATSINSmove_void(tmp9, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48) */ ATSINSmove_void(tmp10, atspre_prerr_string(ATSPMVstring(": GenerallyExn: "))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48) */ ATSINSmove_void(tmp11, atspre_prerr_string(tmp1)) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48) */ ATSINSmove_void(tmp12, atspre_prerr_newline()) ; /* letpush(end) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2026(line=63, offs=52) -- 2032(line=63, offs=58) */ ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6) */ /* INSletpop() */ ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2086(line=65, offs=23) */ ATSINSlab(__atstmplab6): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7) */ ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__IllegalArgExn)) { ATSINSgoto(__atstmplab8) ; } ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2086(line=65, offs=23) -- 2086(line=65, offs=23) */ ATSINSlab(__atstmplab7): /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2082(line=65, offs=19) -- 2085(line=65, offs=22) */ ATSINSmove(tmp2, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2186(line=68, offs=6) */ /* ATSINSfreecon(arg0) ; */ /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6) */ /* letpush(beg) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2107(line=66, offs=14) -- 2120(line=66, offs=27) */ ATSINSmove_void(tmp13, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49) */ ATSINSmove_void(tmp14, atspre_prerr_string(ATSPMVstring(": IllegalArgExn: "))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49) */ ATSINSmove_void(tmp15, atspre_prerr_string(tmp2)) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49) */ ATSINSmove_void(tmp16, atspre_prerr_newline()) ; /* letpush(end) */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2173(line=67, offs=53) -- 2179(line=67, offs=59) */ ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6) */ /* INSletpop() */ ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2219(line=70, offs=4) -- 2219(line=70, offs=4) */ ATSINSlab(__atstmplab8): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2240(line=70, offs=25) -- 2279(line=70, offs=64) */ ATSINSmove_void(tmpret0, atsruntime_handle_uncaughtexn_rest(arg0)) ; ATSbranch_end() /* ** ibranchlst-end */ ATScaseof_end() /* funbodyinstrlst(end) */ ATSreturn_void(tmpret0) ; } /* end of [atsruntime_handle_uncaughtexn] */ /* ****** ****** */ /* end of [pats_ccomp_runtime2_dats.c] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloca.h0000664000175000017500000000365512655455557022046 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_MEMALLOCA_H #define PATS_CCOMP_MEMALLOCA_H /* ****** ****** */ // // alloca.h // extern void *alloca (size_t bsz) ; // /* ****** ****** */ // // HX: [afree] matches [alloca] // ATSinline() atsvoid_t0ype atsruntime_afree_libc (atstype_ptr ptr) { return ; } // end of [atsruntime_afree_libc] ATSinline() atstype_ptr atsruntime_alloca_libc (atstype_size bsz) { return alloca(bsz) ; } // end of [atsruntime_alloca_libc] /* ****** ****** */ #endif /* PATS_CCOMP_MEMALLOCA_H */ /* ****** ****** */ /* end of [pats_ccomp_memalloca.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloc.h0000664000175000017500000000663212655455557021703 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2012 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_MEMALLOC_H #define PATS_CCOMP_MEMALLOC_H /* ****** ****** */ // // HX: for size_t // #include // /* ****** ****** */ // extern void atsruntime_mfree_undef (void *ptr) ; // extern void *atsruntime_malloc_undef (size_t bsz) ; extern void *atsruntime_calloc_undef (size_t asz, size_t tsz) ; extern void *atsruntime_realloc_undef (void *ptr, size_t bsz) ; // /* ****** ****** */ #ifdef ATS_MEMALLOC_FLAG #undef ATS_MEMALLOC_FLAG #endif // ifdef(ATS_MEMALLOC_FLAG) /* ****** ****** */ #ifdef ATS_MEMALLOC_LIBC // #define ATS_MEMALLOC_FLAG // #include "pats_ccomp_memalloc_libc.h" // #define ATS_MINIT atsruntime_minit_libc #define ATS_MFREE atsruntime_mfree_libc #define ATS_MALLOC atsruntime_malloc_libc_exn #define ATS_CALLOC atsruntime_calloc_libc_exn #define ATS_REALLOC atsruntime_realloc_libc_exn // #endif // end of [ATS_MEMALLOC_LIBC] /* ****** ****** */ #ifdef ATS_MEMALLOC_GCBDW // #define ATS_MEMALLOC_FLAG // #include "pats_ccomp_memalloc_gcbdw.h" // #define ATS_MINIT atsruntime_minit_gcbdw #define ATS_MFREE atsruntime_mfree_gcbdw #define ATS_MALLOC atsruntime_malloc_gcbdw_exn #define ATS_CALLOC atsruntime_calloc_gcbdw_exn #define ATS_REALLOC atsruntime_realloc_gcbdw_exn // #endif // end of [ATS_MEMALLOC_GCBDW] /* ****** ****** */ #ifdef ATS_MEMALLOC_USER // #define ATS_MEMALLOC_FLAG // #include "pats_ccomp_memalloc_user.h" // #define ATS_MINIT atsruntime_minit_user #define ATS_MFREE atsruntime_mfree_user #define ATS_MALLOC atsruntime_malloc_user #define ATS_CALLOC atsruntime_calloc_user #define ATS_REALLOC atsruntime_realloc_user // #endif // end of [ATS_MEMALLOC_USER] /* ****** ****** */ #ifndef ATS_MEMALLOC_FLAG #define ATS_MEMALLOC_FLAG // #define ATS_MINIT atsruntime_minit_undef #define ATS_MFREE atsruntime_mfree_undef #define ATS_MALLOC atsruntime_malloc_undef #define ATS_CALLOC atsruntime_calloc_undef #define ATS_REALLOC atsruntime_realloc_undef // #endif // end of [ATS_MEMALLOC_FLAG] /* ****** ****** */ #endif /* PATS_CCOMP_MEMALLOC_H */ /* ****** ****** */ /* end of [pats_ccomp_memalloc.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_typedefs.h0000664000175000017500000001075512655455557021736 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2012 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_TYPEDEFS_H #define PATS_CCOMP_TYPEDEFS_H /* ****** ****** */ struct atstype_struct ; /* of indefinite size */ /* ****** ****** */ typedef void atstype_void ; typedef void atsvoid_t0ype ; /* ****** ****** */ typedef int atstype_int ; typedef unsigned int atstype_uint ; typedef long int atstype_lint ; typedef unsigned long int atstype_ulint ; typedef long long int atstype_llint ; typedef unsigned long long int atstype_ullint ; typedef short int atstype_sint ; typedef unsigned short int atstype_usint ; /* ****** ****** */ typedef atstype_lint atstype_ssize ; typedef atstype_ulint atstype_size ; /* ****** ****** */ // // HX: true/false: 1/0 // typedef int atstype_bool ; // /* ****** ****** */ typedef unsigned char atstype_byte ; /* ****** ****** */ typedef char atstype_char ; typedef signed char atstype_schar ; typedef unsigned char atstype_uchar ; /* ****** ****** */ typedef char *atstype_string ; typedef char *atstype_stropt ; typedef char *atstype_strptr ; /* ****** ****** */ typedef float atstype_float ; typedef double atstype_double ; typedef long double atstype_ldouble ; /* ****** ****** */ /* ** HX: for pointers */ typedef void *atstype_ptr ; typedef void *atstype_ptrk ; /* ** HX: for references */ typedef void *atstype_ref ; /* ** HX: for boxed values */ typedef void* atstype_boxed ; /* ** HX: for [datconptr] */ typedef void* atstype_datconptr ; /* ** HX: for [datcontyp] */ typedef void* atstype_datcontyp ; /* ****** ****** */ #ifdef \ _ATS_CCOMP_EXCEPTION_NONE_ // // HX: should a message be issued? // #else // typedef struct { int exntag ; char *exnmsg ; } atstype_exncon ; // typedef atstype_exncon *atstype_exnconptr ; // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE_] /* ****** ****** */ /* ** HX: for pointers to arrays */ typedef void* atstype_arrptr ; /* ** HX: for arrays plus size info */ typedef struct { atstype_arrptr ptr ; atstype_size size ; } atstype_arrpsz ; /* ****** ****** */ typedef void* atstype_funptr ; typedef void* atstype_cloptr ; /* ****** ****** */ #define atstkind_type(tk) tk #define atstkind_t0ype(tk) tk /* ****** ****** */ // // HX-2014-09-16: // making it unusable unless // _ATS_ARRAY_FIELD is defined // #ifdef _ATS_ARRAY_FIELD_ #define atstyarr_field(fname) fname[] #else #define atstyarr_field(fname) atstyarr_field_undef(fname) #endif // end of [_ATS_ARRAY_FIELD_] // /* ****** ****** */ // // HX-2014-05: // making it not usable!!! // #ifdef _ATSTYPE_VAR_SIZE_ // HX: it is set by the user #else #define _ATSTYPE_VAR_SIZE_ 0X10000 #endif // end of [#ifdef] // // HX-2014-05: // for 8-bit or 16-bit march, // _ATSTYPE_VAR_SIZE can be set to 0X100 // typedef struct{char _[_ATSTYPE_VAR_SIZE_];} atstype_var[0] ; // /* ****** ****** */ #define atstyvar_type(a) atstype_var /* ****** ****** */ #define atstybox_type(hit) atstype_boxed /* ****** ****** */ #define atstyclo_top struct{ void *cfun; } #define atstyclo_type(flab) flab##__closure_t0ype /* ****** ****** */ #define atsrefarg0_type(hit) hit #define atsrefarg1_type(hit) atstype_ref /* ****** ****** */ #endif /* PATS_CCOMP_TYPEDEFS_H */ /* ****** ****** */ /* end of [pats_ccomp_typedefs.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_runtime_trywith.c0000664000175000017500000000430012655455557023350 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) */ /* ****** ****** */ // #include "pats_ccomp_basics.h" #include "pats_ccomp_typedefs.h" #include "pats_ccomp_exception.h" // /* ****** ****** */ // // HX-2013-06: // it is only for single-threaded programs // /* ****** ****** */ extern atsexnframe_ptr *my_atsexnframe_getref () { // static atsexnframe_t *my_atsexnframe = (void*)0 ; // return &(my_atsexnframe) ; // } // end of [my_atsexnframe_getref] /* ****** ****** */ extern void atsruntime_raise (void *exn0) { // atsexnframe_t *frame ; frame = *(my_atsexnframe_getref()) ; // do { if (!frame) break ; (frame)->exn = (atstype_exnconptr)exn0 ; atspre_longjmp((frame)->env, 1/*retval*/) ; } while (0) ; // end of [do] // atsruntime_handle_uncaughtexn(exn0) ; // return ; // } /* end of [atsruntime_raise] */ /* ****** ****** */ /* end of [pats_ccomp_runtime_trywith.c] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_memalloc_user2.h0000664000175000017500000000353012655455557023015 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ // #include /* extern int fprintf (FILE *stream, const char *format, ...) ; */ /* ****** ****** */ // // stdlib.h // extern void exit (int code) ; // /* ****** ****** */ extern void atsruntime_mfree_user2 (void *ptr) ; extern void *atsruntime_malloc_user2 (size_t bsz) ; extern void *atsruntime_calloc_user2 (size_t asz, size_t tsz) ; extern void *atsruntime_realloc_user2 (void *ptr, size_t bsz) ; /* ****** ****** */ /* end of [pats_ccomp_memalloc_user2.h] */ ATS2-Postiats-0.2.6/./ccomp/runtime/.keeper0000664000175000017500000000000012655455557016764 0ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_runtime.c0000664000175000017500000000773412655455557021574 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) */ /* ****** ****** */ // #include // extern void exit (int) ; // in [stdlib.h] // /* ****** ****** */ #include "pats_ccomp_basics.h" #include "pats_ccomp_typedefs.h" /* ****** ****** */ // // HX-2013-04: some pre-initialized exceptions // /* ****** ****** */ #ifndef _ATS_CCOMP_EXCEPTION_NONE // atstype_exncon ATSLIB_056_prelude__AssertExn = { 10, "AssertException" } ; atstype_exncon ATSLIB_056_prelude__GenerallyExn = { 20, "GenerallyException" } ; atstype_exncon ATSLIB_056_prelude__IllegalArgExn = { 30, "IllegalArgException" } ; // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* ****** ****** */ #ifndef _ATS_CCOMP_EXCEPTION_NONE // atstype_exncon ATSLIB_056_prelude__NotFoundExn = { 40, "NotFoundException" } ; // atstype_exncon ATSLIB_056_prelude__ListSubscriptExn = { 50, "ListSubscriptException" } ; atstype_exncon ATSLIB_056_prelude__StreamSubscriptExn = { 51, "StreamSubscriptException" } ; // atstype_exncon ATSLIB_056_prelude__ArraySubscriptExn = { 60, "ArraySubscriptException" } ; atstype_exncon ATSLIB_056_prelude__MatrixSubscriptExn = { 61, "MatrixSubscriptException" } ; // atstype_exncon ATSLIB_056_prelude__NotSomeExn = { 70, "NotSomeException" } ; // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* ****** ****** */ #ifndef _ATS_CCOMP_EXCEPTION_NONE // extern void the_atsexncon_initize ( atstype_exncon *d2c, char* exnmsg ) { // static int the_atsexntag = 1024 ; // if (!d2c->exntag) { d2c->exntag = the_atsexntag ; the_atsexntag = the_atsexntag + 1 ; } d2c->exnmsg = exnmsg ; return ; } // end of [the_atsexncon_initize] // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* ****** ****** */ // // HX-2013: // for reporting pattern matching failure // extern void atsruntime_handle_unmatchedval (char *msg0) { fprintf( stderr , "exit(ATS): unmatched value at run-time:\n%s\n", msg0 ) ; exit(1) ; return ; // deadcode } /* end of [atsruntime_handle_unmatchedval] */ // // HX-2014-06: // for reporting funarg-pattern matching failure // extern void atsruntime_handle_unmatchedarg (char *msg0) { fprintf( stderr , "exit(ATS): unmatched funarg at run-time:\n%s\n", msg0 ) ; exit(1) ; return ; // deadcode } /* end of [atsruntime_handle_unmatchedarg] */ /* ****** ****** */ #ifndef _ATS_CCOMP_EXCEPTION_NONE // extern void atsruntime_handle_uncaughtexn_rest (atstype_exncon *exn0) { fprintf( stderr , "exit(ATS): uncaught exception at run-time: %s(%d)\n", exn0->exnmsg, exn0->exntag ) ; exit(1) ; return ; // deadcode } /* end of [atsruntime_handle_uncaughtexn_rest] */ // #endif // end of [_ATS_CCOMP_EXCEPTION_NONE] /* ****** ****** */ /* end of [pats_ccomp_runtime.c] */ ATS2-Postiats-0.2.6/./ccomp/runtime/pats_ccomp_instrset.h0000664000175000017500000002574612655455557021774 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2012 *) */ /* ****** ****** */ #ifndef PATS_CCOMP_INSTRSET_H #define PATS_CCOMP_INSTRSET_H /* ****** ****** */ // // HX: boolean values // #define atsbool_true 1 #define atsbool_false 0 // /* ****** ****** */ #define ATStysum() struct{ int contag; } #define ATStyexn() struct{ int exntag; char *exnmsg; } #define ATStylist(tyelt) struct{ tyelt head; void *tail; } #define ATStyclo() struct{ void *cfun; } /* ****** ****** */ // // HX: for supporting lazy-evaluation // #define \ ATStylazy(tyval) \ struct{ int flag; union{ void* thunk; tyval saved; } lazy; } // /* ****** ****** */ #define ATSif(x) if(x) #define ATSthen() #define ATSelse() else /* ****** ****** */ #define ATSifthen(x) if(x) #define ATSifnthen(x) if(!(x)) /* ****** ****** */ #define ATSdo() do #define ATSwhile(x) while(x) #define ATSbreak() break #define ATScontinue() continue /* ****** ****** */ // // HX: handling for/while loops // #define \ ATSloop_open(init, fini, cont) \ do { init: #define \ ATSloop_close(init, fini, cont) \ goto init ; fini: break ; } while(0) // #define ATSbreak2(fini) goto fini #define ATScontinue2(cont) goto cont // /* ****** ****** */ #define ATSreturn(x) return(x) #define ATSreturn_void(x) return /* ****** ****** */ #define ATSFCreturn(x) return(x) #define ATSFCreturn_void(x) (x); return /* ****** ****** */ // #define ATSbranch_beg() #define ATSbranch_end() break ; // #define ATScaseof_beg() do { #define ATScaseof_end() } while(0) ; // /* ****** ****** */ #define ATSextcode_beg() #define ATSextcode_end() /* ****** ****** */ #define ATSfunbody_beg() #define ATSfunbody_end() /* ****** ****** */ #define ATSPMVint(i) i #define ATSPMVintrep(rep) (rep) #define ATSPMVbool_true() atsbool_true #define ATSPMVbool_false() atsbool_false #define ATSPMVchar(c) (c) #define ATSPMVfloat(rep) (rep) #define ATSPMVstring(str) (str) #define ATSPMVi0nt(tok) (tok) #define ATSPMVf0loat(tok) (tok) /* ****** ****** */ #define ATSCSTSPmyfil(info) info #define ATSCSTSPmyloc(info) info /* ****** ****** */ // #define ATSPMVtop() atserror_top // #define ATSPMVempty() /*empty*/ #define ATSPMVextval(name) (name) // /* ****** ****** */ // #define ATSPMVfunlab(flab) (flab) // // HX-2015-07-06: not yet in use: // #define ATSPMVfunlab2(flab, arity) (flab) // /* ****** ****** */ #define ATSPMVcfunlab(knd, flab, env) (flab##__closurerize)env /* ****** ****** */ #define ATSPMVptrof(lval) (&(lval)) #define ATSPMVptrof_void(lval) ((void*)0) /* ****** ****** */ #define ATSPMVrefarg0(val) (val) #define ATSPMVrefarg1(ref) (ref) /* ****** ****** */ #define ATSPMVsizeof(hit) (sizeof(hit)) /* ****** ****** */ // // HX: castfn application // #define ATSPMVcastfn(d2c, hit, arg) ((hit)arg) // /* ****** ****** */ #define ATSfuncall(fun, funarg) (fun)funarg /* ****** ****** */ // #define ATSextfcall(fun, funarg) (fun)funarg #define ATSextmcall(obj, mtd, funarg) (obj->mtd)funarg // /* ****** ****** */ // #define \ ATSfunclo_fun(pmv, targs, tres) ((tres(*)targs)(pmv)) #define \ ATSfunclo_clo(pmv, targs, tres) ((tres(*)targs)(((ATStyclo()*)pmv)->cfun)) // /* ****** ****** */ // #define ATStmpdec(tmp, hit) hit tmp #define ATStmpdec_void(tmp) // #define ATSstatmpdec(tmp, hit) static hit tmp #define ATSstatmpdec_void(tmp) // /* ****** ****** */ #define ATSderef(pmv, hit) (*(hit*)pmv) /* ****** ****** */ // // HX: [ATSSELcon] is the same as [ATSSELboxrec] // #define ATSSELcon(pmv, tysum, lab) (((tysum*)pmv)->lab) // #define ATSSELrecsin(pmv, tyrec, lab) (pmv) #define ATSSELfltrec(pmv, tyrec, lab) ((pmv).lab) #define ATSSELboxrec(pmv, tyrec, lab) (((tyrec*)pmv)->lab) #define ATSSELarrind(pmv, tyarr, lab) (((tyarr)pmv).lab) #define ATSSELarrptrind(pmv, tyelt, lab) (((tyelt*)pmv)lab) // /* ****** ****** */ // #define ATSCKnot(x) ((x)==0) // #define ATSCKiseqz(x) ((x)==0) #define ATSCKisneqz(x) ((x)!=0) // #define ATSCKptriscons(x) (0 != (void*)(x)) #define ATSCKptrisnull(x) (0 == (void*)(x)) // /* ****** ****** */ // #define ATSCKpat_int(pmv, pat) ((pmv)==pat) #define ATSCKpat_bool(pmv, pat) ((pmv)==pat) #define ATSCKpat_char(pmv, pat) ((pmv)==pat) #define ATSCKpat_float(pmv, pat) ((pmv)==pat) #define ATSCKpat_string(pmv, pat) (atspre_string_equal(pmv, pat)) // /* ** a datatype should not contain more than 1024 constructors! */ #define ATS_DATACONMAX 1024 // #define ATSCKpat_con0(pmv, tag) ((pmv)==(void*)tag) #define ATSCKpat_con1(pmv, tag) \ ((pmv)>=(void*)ATS_DATACONMAX && ((ATStysum()*)(pmv))->contag==tag) // #define ATSCKpat_exn0(pmv, d2c) ((pmv)==(void*)(&(d2c))) #define ATSCKpat_exn1(pmv, d2c) (((ATStyexn()*)(pmv))->exntag==(&(d2c))->exntag) // /* ****** ****** */ // #define ATSINSlab(lab) lab #define ATSINSgoto(lab) goto lab // #define ATSINSflab(flab) flab #define ATSINSfgoto(flab) goto flab // /* ****** ****** */ #define ATSINSfreeclo(cloptr) ATS_MFREE(cloptr) #define ATSINSfreecon(datconptr) ATS_MFREE(datconptr) /* ****** ****** */ #define ATSINSmove(tmp, val) (tmp = val) #define ATSINSpmove(tmp, hit, val) (*(hit*)tmp = val) /* ****** ****** */ /* ** HX-2013-01-20: ** Do not have parentheses around [command] */ #define ATSINSmove_void(tmp, command) command #define ATSINSpmove_void(tmp, hit, command) command /* ****** ****** */ #define ATSINSmove_ptralloc(tmp, hit) (tmp = ATS_MALLOC(sizeof(hit))) /* ****** ****** */ // #define \ ATSINSmove_nil(tmp) (tmp = ((void*)0)) // #define \ ATSINSmove_con0(tmp, tag) (tmp = ((void*)tag)) // #define ATSINSmove_con1_beg() #define ATSINSmove_con1_end() #define ATSINSmove_con1_new(tmp, tysum) (tmp = ATS_MALLOC(sizeof(tysum))) #define ATSINSstore_con1_tag(tmp, val) (((ATStysum()*)(tmp))->contag = val) #define ATSINSstore_con1_ofs(tmp, tysum, lab, val) (((tysum*)(tmp))->lab = val) // /* ****** ****** */ // #define ATSINSmove_exn0(tmp, d2c) (tmp = &(d2c)) // #define ATSINSmove_exn1_beg() #define ATSINSmove_exn1_end() #define ATSINSmove_exn1_new(tmp, tyexn) (tmp = ATS_MALLOC(sizeof(tyexn))) #define ATSINSstore_exn1_tag(tmp, d2c) (((ATStyexn()*)tmp)->exntag = (&(d2c))->exntag) #define ATSINSstore_exn1_msg(tmp, d2c) (((ATStyexn()*)tmp)->exnmsg = (&(d2c))->exnmsg) // /* ****** ****** */ // #define ATStailcal_beg() do { #define ATStailcal_end() } while(0) ; // #define ATSINSmove_tlcal(apy, tmp) (apy = tmp) #define ATSINSargmove_tlcal(arg, apy) (arg = apy) // /* ****** ****** */ #define ATSINSmove_fltrec_beg() #define ATSINSmove_fltrec_end() #define ATSINSstore_fltrec_ofs(tmp, tyrec, lab, val) ((tmp).lab = val) /* ****** ****** */ #define ATSINSmove_boxrec_beg() #define ATSINSmove_boxrec_end() #define ATSINSmove_boxrec_new(tmp, tyrec) (tmp = ATS_MALLOC(sizeof(tyrec))) #define ATSINSstore_boxrec_ofs(tmp, tyrec, lab, val) (((tyrec*)(tmp))->lab = val) /* ****** ****** */ #define ATSINSload(tmp, pmv) (tmp = pmv) #define ATSINSstore(pmv1, pmv2) (pmv1 = pmv2) #define ATSINSxstore(tmp, pmv1, pmv2) (tmp = pmv1, pmv1 = pmv2, pmv2 = tmp) /* ****** ****** */ // #define ATSINSmove_list_nil(tmp) (tmp = (void*)0) #define ATSINSmove_list_phead(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->head)) #define ATSINSmove_list_ptail(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->tail)) #define ATSINSpmove_list_nil(tmp) (*(void**)tmp = (void*)0) #define ATSINSpmove_list_cons(tmp, tyelt) (*(void**)tmp = ATS_MALLOC(sizeof(ATStylist(tyelt)))) // /* ****** ****** */ // #define ATSINSstore_arrpsz_asz(tmp, asz) ((tmp).size = asz) #define ATSINSstore_arrpsz_ptr(tmp, tyelt, asz) ((tmp).ptr = ATS_MALLOC(asz*sizeof(tyelt))) // #define ATSINSmove_arrpsz_ptr(tmp, psz) (tmp = (psz).ptr) // #define ATSINSupdate_ptrinc(tmp, tyelt) (tmp = (tyelt*)(tmp) + 1) #define ATSINSupdate_ptrdec(tmp, tyelt) (tmp = (tyelt*)(tmp) - 1) // /* ****** ****** */ #define ATSINSextvar_assign(var, pmv) var = (pmv) #define ATSINSdyncst_valbind(d2c, pmv) d2c = (pmv) /* ****** ****** */ #define ATSINSclosure_initize(flab, tmpenv) (flab##__closureinit)tmpenv /* ****** ****** */ // #define ATSINSraise_exn(tmp, pmv) atsruntime_raise(pmv) // /* ****** ****** */ // #define ATSINScaseof_fail(msg) atsruntime_handle_unmatchedval(msg) #define ATSINSfunarg_fail(msg) atsruntime_handle_unmatchedarg(msg) // /* ****** ****** */ #define \ ATSINSmove_delay(tmpret, tyval, pmv_thk) \ do { \ tmpret = \ ATS_MALLOC(sizeof(ATStylazy(tyval))) ; \ (*(ATStylazy(tyval)*)tmpret).flag = 0 ; \ (*(ATStylazy(tyval)*)tmpret).lazy.thunk = pmv_thk ; \ } while(0) ; /* end of [do ... while ...] */ #define \ ATSINSmove_lazyeval(tmpret, tyval, pmv_lazy) \ do { \ if ( \ (*(ATStylazy(tyval)*)pmv_lazy).flag==0 \ ) { \ (*(ATStylazy(tyval)*)pmv_lazy).flag += 1 ; \ atstype_cloptr __thunk = (*(ATStylazy(tyval)*)pmv_lazy).lazy.thunk ; \ tmpret = ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr), tyval), (__thunk)) ; \ (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved = tmpret ; \ } else { \ tmpret = (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved ; \ } /* end of [if] */ \ } while(0) /* end of [do ... while ...] */ /* ****** ****** */ #define \ ATSINSmove_ldelay(tmpret, tyval, __thunk) \ do { \ ATSINSmove(tmpret, __thunk) ; \ } while(0) /* end of [do ... while ...] */ #define \ ATSINSmove_llazyeval(tmpret, tyval, __thunk) \ do { \ tmpret = \ ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), tyval), (__thunk, atsbool_true)) ; \ ATS_MFREE(__thunk) ; \ } while(0) /* end of [do ... while ...] */ /* ****** ****** */ #define \ atspre_lazy_vt_free(__thunk) \ do { \ ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), void), (__thunk, atsbool_false)) ; \ ATS_MFREE(__thunk) ; \ } while(0) /* atspre_lazy_vt_free */ /* ****** ****** */ // // HX-2014-10: // #define atspre_lazy2cloref(pmv_lazy) ((*(ATStylazy(atstype_ptr)*)pmv_lazy).lazy.thunk) // /* ****** ****** */ #endif /* PATS_CCOMP_INSTRSET_H */ /* ****** ****** */ /* end of [pats_ccomp_instrset.h] */ ATS2-Postiats-0.2.6/./ccomp/atslib/0000775000175000017500000000000012655455557015315 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/output/0000775000175000017500000000000012655455557016655 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/output/.keeper0000664000175000017500000000000012655455557020117 0ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/lib/0000775000175000017500000000000012655455557016063 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/lib/.keeper0000664000175000017500000000000012655455557017325 0ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/Makefile0000664000175000017500000005460412655455557016766 0ustar hwxihwxi# # # This Makefile is automatically generated # from executing the following command-line: # # make -f Makefile.gen # # ###### PATSHOMEQ="$(PATSHOME)" PATSRUNTIME=$(PATSHOMEQ)/ccomp/runtime ###### PATSOPT=$(PATSHOMEQ)/bin/patsopt ###### CCOMP=gcc CCFLAGS=-fPIC -O2 ###### # DATSMEMALLOC= # # DATSMEMALLOC=-DATS_MEMALLOC_LIBC # DATSMEMALLOC=-DATS_MEMALLOC_GCBDW # ###### all:: atslib all:: ; ranlib lib/libatslib.a ###### atslib:: atslib_prelude ###### atslib_prelude:: atslib_prelude_bool_dats atslib_prelude_bool_dats: output/atslib_prelude_bool_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_bool_dats.c: ../../prelude/DATS/bool.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_bool_dats.o: output/atslib_prelude_bool_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_bool_dats.c clean:: ; $(RMF) output/atslib_prelude_bool_dats.o atslib_prelude:: atslib_prelude_char_dats atslib_prelude_char_dats: output/atslib_prelude_char_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_char_dats.c: ../../prelude/DATS/char.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_char_dats.o: output/atslib_prelude_char_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_char_dats.c clean:: ; $(RMF) output/atslib_prelude_char_dats.o atslib_prelude:: atslib_prelude_integer_dats atslib_prelude_integer_dats: output/atslib_prelude_integer_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_integer_dats.c: ../../prelude/DATS/integer.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_integer_dats.o: output/atslib_prelude_integer_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_integer_dats.c clean:: ; $(RMF) output/atslib_prelude_integer_dats.o atslib_prelude:: atslib_prelude_float_dats atslib_prelude_float_dats: output/atslib_prelude_float_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_float_dats.c: ../../prelude/DATS/float.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_float_dats.o: output/atslib_prelude_float_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_float_dats.c clean:: ; $(RMF) output/atslib_prelude_float_dats.o atslib_prelude:: atslib_prelude_string_dats atslib_prelude_string_dats: output/atslib_prelude_string_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_string_dats.c: ../../prelude/DATS/string.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_string_dats.o: output/atslib_prelude_string_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_string_dats.c clean:: ; $(RMF) output/atslib_prelude_string_dats.o atslib_prelude:: atslib_prelude_strptr_dats atslib_prelude_strptr_dats: output/atslib_prelude_strptr_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_strptr_dats.c: ../../prelude/DATS/strptr.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_strptr_dats.o: output/atslib_prelude_strptr_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_strptr_dats.c clean:: ; $(RMF) output/atslib_prelude_strptr_dats.o ###### atslib_prelude:: atslib_prelude_filebas_dats atslib_prelude_filebas_dats: output/atslib_prelude_filebas_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_prelude_filebas_dats.c: ../../prelude/DATS/filebas.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_prelude_filebas_dats.o: output/atslib_prelude_filebas_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_prelude_filebas_dats.c clean:: ; $(RMF) output/atslib_prelude_filebas_dats.o ###### atslib:: atslib_libc ###### atslib_libc:: atslib_libc_dirent_dats atslib_libc_dirent_dats: output/atslib_libc_dirent_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_dirent_dats.c: ../../libc/DATS/dirent.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_dirent_dats.o: output/atslib_libc_dirent_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_dirent_dats.c clean:: ; $(RMF) output/atslib_libc_dirent_dats.o atslib_libc:: atslib_libc_fcntl_dats atslib_libc_fcntl_dats: output/atslib_libc_fcntl_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_fcntl_dats.c: ../../libc/DATS/fcntl.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_fcntl_dats.o: output/atslib_libc_fcntl_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_fcntl_dats.c clean:: ; $(RMF) output/atslib_libc_fcntl_dats.o atslib_libc:: atslib_libc_stdio_dats atslib_libc_stdio_dats: output/atslib_libc_stdio_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_stdio_dats.c: ../../libc/DATS/stdio.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_stdio_dats.o: output/atslib_libc_stdio_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_stdio_dats.c clean:: ; $(RMF) output/atslib_libc_stdio_dats.o atslib_libc:: atslib_libc_stdlib_dats atslib_libc_stdlib_dats: output/atslib_libc_stdlib_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_stdlib_dats.c: ../../libc/DATS/stdlib.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_stdlib_dats.o: output/atslib_libc_stdlib_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_stdlib_dats.c clean:: ; $(RMF) output/atslib_libc_stdlib_dats.o atslib_libc:: atslib_libc_string_dats atslib_libc_string_dats: output/atslib_libc_string_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_string_dats.c: ../../libc/DATS/string.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_string_dats.o: output/atslib_libc_string_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_string_dats.c clean:: ; $(RMF) output/atslib_libc_string_dats.o atslib_libc:: atslib_libc_strings_dats atslib_libc_strings_dats: output/atslib_libc_strings_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_strings_dats.c: ../../libc/DATS/strings.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_strings_dats.o: output/atslib_libc_strings_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_strings_dats.c clean:: ; $(RMF) output/atslib_libc_strings_dats.o atslib_libc:: atslib_libc_time_dats atslib_libc_time_dats: output/atslib_libc_time_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_time_dats.c: ../../libc/DATS/time.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_time_dats.o: output/atslib_libc_time_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_time_dats.c clean:: ; $(RMF) output/atslib_libc_time_dats.o atslib_libc:: atslib_libc_unistd_dats atslib_libc_unistd_dats: output/atslib_libc_unistd_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_unistd_dats.c: ../../libc/DATS/unistd.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_unistd_dats.o: output/atslib_libc_unistd_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_unistd_dats.c clean:: ; $(RMF) output/atslib_libc_unistd_dats.o ###### atslib:: atslib_libc_sys ###### atslib_libc_sys:: atslib_libc_sys_socket_dats atslib_libc_sys_socket_dats: output/atslib_libc_sys_socket_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_sys_socket_dats.c: ../../libc/sys/DATS/socket.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_sys_socket_dats.o: output/atslib_libc_sys_socket_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_sys_socket_dats.c clean:: ; $(RMF) output/atslib_libc_sys_socket_dats.o atslib_libc_sys:: atslib_libc_sys_socket_in_dats atslib_libc_sys_socket_in_dats: output/atslib_libc_sys_socket_in_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_sys_socket_in_dats.c: ../../libc/sys/DATS/socket_in.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_sys_socket_in_dats.o: output/atslib_libc_sys_socket_in_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_sys_socket_in_dats.c clean:: ; $(RMF) output/atslib_libc_sys_socket_in_dats.o atslib_libc_sys:: atslib_libc_sys_stat_dats atslib_libc_sys_stat_dats: output/atslib_libc_sys_stat_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_sys_stat_dats.c: ../../libc/sys/DATS/stat.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_sys_stat_dats.o: output/atslib_libc_sys_stat_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_sys_stat_dats.c clean:: ; $(RMF) output/atslib_libc_sys_stat_dats.o atslib_libc_sys:: atslib_libc_sys_types_dats atslib_libc_sys_types_dats: output/atslib_libc_sys_types_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libc_sys_types_dats.c: ../../libc/sys/DATS/types.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libc_sys_types_dats.o: output/atslib_libc_sys_types_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libc_sys_types_dats.c clean:: ; $(RMF) output/atslib_libc_sys_types_dats.o ###### atslib:: atslib_libats ###### atslib_libats:: atslib_libats_stringbuf_dats atslib_libats_stringbuf_dats: output/atslib_libats_stringbuf_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_stringbuf_dats.c: ../../libats/DATS/stringbuf.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_stringbuf_dats.o: output/atslib_libats_stringbuf_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_stringbuf_dats.c clean:: ; $(RMF) output/atslib_libats_stringbuf_dats.o ###### atslib_libats:: atslib_libats_funset_avltree_dats atslib_libats_funset_avltree_dats: output/atslib_libats_funset_avltree_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_funset_avltree_dats.c: ../../libats/DATS/funset_avltree.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_funset_avltree_dats.o: output/atslib_libats_funset_avltree_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_funset_avltree_dats.c clean:: ; $(RMF) output/atslib_libats_funset_avltree_dats.o atslib_libats:: atslib_libats_funset_listord_dats atslib_libats_funset_listord_dats: output/atslib_libats_funset_listord_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_funset_listord_dats.c: ../../libats/DATS/funset_listord.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_funset_listord_dats.o: output/atslib_libats_funset_listord_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_funset_listord_dats.c clean:: ; $(RMF) output/atslib_libats_funset_listord_dats.o atslib_libats:: atslib_libats_funmap_list_dats atslib_libats_funmap_list_dats: output/atslib_libats_funmap_list_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_funmap_list_dats.c: ../../libats/DATS/funmap_list.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_funmap_list_dats.o: output/atslib_libats_funmap_list_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_funmap_list_dats.c clean:: ; $(RMF) output/atslib_libats_funmap_list_dats.o atslib_libats:: atslib_libats_funmap_avltree_dats atslib_libats_funmap_avltree_dats: output/atslib_libats_funmap_avltree_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_funmap_avltree_dats.c: ../../libats/DATS/funmap_avltree.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_funmap_avltree_dats.o: output/atslib_libats_funmap_avltree_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_funmap_avltree_dats.c clean:: ; $(RMF) output/atslib_libats_funmap_avltree_dats.o atslib_libats:: atslib_libats_fundeque_fngtree_dats atslib_libats_fundeque_fngtree_dats: output/atslib_libats_fundeque_fngtree_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_fundeque_fngtree_dats.c: ../../libats/DATS/fundeque_fngtree.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_fundeque_fngtree_dats.o: output/atslib_libats_fundeque_fngtree_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_fundeque_fngtree_dats.c clean:: ; $(RMF) output/atslib_libats_fundeque_fngtree_dats.o atslib_libats:: atslib_libats_funralist_nested_dats atslib_libats_funralist_nested_dats: output/atslib_libats_funralist_nested_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_funralist_nested_dats.c: ../../libats/DATS/funralist_nested.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_funralist_nested_dats.o: output/atslib_libats_funralist_nested_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_funralist_nested_dats.c clean:: ; $(RMF) output/atslib_libats_funralist_nested_dats.o ###### atslib_libats:: atslib_libats_linmap_list_dats atslib_libats_linmap_list_dats: output/atslib_libats_linmap_list_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linmap_list_dats.c: ../../libats/DATS/linmap_list.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linmap_list_dats.o: output/atslib_libats_linmap_list_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linmap_list_dats.c clean:: ; $(RMF) output/atslib_libats_linmap_list_dats.o atslib_libats:: atslib_libats_linmap_randbst_dats atslib_libats_linmap_randbst_dats: output/atslib_libats_linmap_randbst_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linmap_randbst_dats.c: ../../libats/DATS/linmap_randbst.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linmap_randbst_dats.o: output/atslib_libats_linmap_randbst_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linmap_randbst_dats.c clean:: ; $(RMF) output/atslib_libats_linmap_randbst_dats.o atslib_libats:: atslib_libats_linmap_skiplist_dats atslib_libats_linmap_skiplist_dats: output/atslib_libats_linmap_skiplist_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linmap_skiplist_dats.c: ../../libats/DATS/linmap_skiplist.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linmap_skiplist_dats.o: output/atslib_libats_linmap_skiplist_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linmap_skiplist_dats.c clean:: ; $(RMF) output/atslib_libats_linmap_skiplist_dats.o atslib_libats:: atslib_libats_linset_listord_dats atslib_libats_linset_listord_dats: output/atslib_libats_linset_listord_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linset_listord_dats.c: ../../libats/DATS/linset_listord.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linset_listord_dats.o: output/atslib_libats_linset_listord_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linset_listord_dats.c clean:: ; $(RMF) output/atslib_libats_linset_listord_dats.o atslib_libats:: atslib_libats_linset_avltree_dats atslib_libats_linset_avltree_dats: output/atslib_libats_linset_avltree_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linset_avltree_dats.c: ../../libats/DATS/linset_avltree.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linset_avltree_dats.o: output/atslib_libats_linset_avltree_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linset_avltree_dats.c clean:: ; $(RMF) output/atslib_libats_linset_avltree_dats.o atslib_libats:: atslib_libats_linralist_nested_dats atslib_libats_linralist_nested_dats: output/atslib_libats_linralist_nested_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_linralist_nested_dats.c: ../../libats/DATS/linralist_nested.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_linralist_nested_dats.o: output/atslib_libats_linralist_nested_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_linralist_nested_dats.c clean:: ; $(RMF) output/atslib_libats_linralist_nested_dats.o ###### atslib_libats:: atslib_libats_hashtbl_chain_dats atslib_libats_hashtbl_chain_dats: output/atslib_libats_hashtbl_chain_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_hashtbl_chain_dats.c: ../../libats/DATS/hashtbl_chain.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_hashtbl_chain_dats.o: output/atslib_libats_hashtbl_chain_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_hashtbl_chain_dats.c clean:: ; $(RMF) output/atslib_libats_hashtbl_chain_dats.o ###### atslib:: atslib_libats_ML ###### atslib_libats_ML:: atslib_libats_ML_list0_dats atslib_libats_ML_list0_dats: output/atslib_libats_ML_list0_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_list0_dats.c: ../../libats/ML/DATS/list0.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_list0_dats.o: output/atslib_libats_ML_list0_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_list0_dats.c clean:: ; $(RMF) output/atslib_libats_ML_list0_dats.o atslib_libats_ML:: atslib_libats_ML_option0_dats atslib_libats_ML_option0_dats: output/atslib_libats_ML_option0_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_option0_dats.c: ../../libats/ML/DATS/option0.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_option0_dats.o: output/atslib_libats_ML_option0_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_option0_dats.c clean:: ; $(RMF) output/atslib_libats_ML_option0_dats.o atslib_libats_ML:: atslib_libats_ML_array0_dats atslib_libats_ML_array0_dats: output/atslib_libats_ML_array0_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_array0_dats.c: ../../libats/ML/DATS/array0.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_array0_dats.o: output/atslib_libats_ML_array0_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_array0_dats.c clean:: ; $(RMF) output/atslib_libats_ML_array0_dats.o atslib_libats_ML:: atslib_libats_ML_matrix0_dats atslib_libats_ML_matrix0_dats: output/atslib_libats_ML_matrix0_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_matrix0_dats.c: ../../libats/ML/DATS/matrix0.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_matrix0_dats.o: output/atslib_libats_ML_matrix0_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_matrix0_dats.c clean:: ; $(RMF) output/atslib_libats_ML_matrix0_dats.o atslib_libats_ML:: atslib_libats_ML_string_dats atslib_libats_ML_string_dats: output/atslib_libats_ML_string_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_string_dats.c: ../../libats/ML/DATS/string.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_string_dats.o: output/atslib_libats_ML_string_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_string_dats.c clean:: ; $(RMF) output/atslib_libats_ML_string_dats.o atslib_libats_ML:: atslib_libats_ML_strarr_dats atslib_libats_ML_strarr_dats: output/atslib_libats_ML_strarr_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_strarr_dats.c: ../../libats/ML/DATS/strarr.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_strarr_dats.o: output/atslib_libats_ML_strarr_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_strarr_dats.c clean:: ; $(RMF) output/atslib_libats_ML_strarr_dats.o atslib_libats_ML:: atslib_libats_ML_gvalue_dats atslib_libats_ML_gvalue_dats: output/atslib_libats_ML_gvalue_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_gvalue_dats.c: ../../libats/ML/DATS/gvalue.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_gvalue_dats.o: output/atslib_libats_ML_gvalue_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_gvalue_dats.c clean:: ; $(RMF) output/atslib_libats_ML_gvalue_dats.o ###### atslib_libats_ML:: atslib_libats_ML_filebas_dats atslib_libats_ML_filebas_dats: output/atslib_libats_ML_filebas_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_filebas_dats.c: ../../libats/ML/DATS/filebas.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_filebas_dats.o: output/atslib_libats_ML_filebas_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_filebas_dats.c clean:: ; $(RMF) output/atslib_libats_ML_filebas_dats.o atslib_libats_ML:: atslib_libats_ML_filebas_dirent_dats atslib_libats_ML_filebas_dirent_dats: output/atslib_libats_ML_filebas_dirent_dats.o ; $(ARR) lib/libatslib.a $< output/atslib_libats_ML_filebas_dirent_dats.c: ../../libats/ML/DATS/filebas_dirent.dats ; $(PATSOPT) -o $@ --dynamic $< output/atslib_libats_ML_filebas_dirent_dats.o: output/atslib_libats_ML_filebas_dirent_dats.c ; \ $(CCOMP) -I$(PATSHOMEQ) -I$(PATSRUNTIME) $(DATSMEMALLOC) $(CCFLAGS) -c -o $@ $< clean:: ; $(RMF) output/atslib_libats_ML_filebas_dirent_dats.c clean:: ; $(RMF) output/atslib_libats_ML_filebas_dirent_dats.o ###### ARR=ar -r RMF=rm -f ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o clean:: ; $(RMF) *_?ats.c clean:: ; $(RMF) *_atxt.txt clean:: ; $(RMF) *_atxt.dats cleanall:: clean cleanall:: ; $(RMF) output/* cleanall:: ; $(RMF) Makefile.exe cleanall:: ; $(RMF) lib/libatslib.a ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./ccomp/atslib/lib32/0000775000175000017500000000000012655455557016230 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/lib32/.keeper0000664000175000017500000000000012655455557017472 0ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/lib64/0000775000175000017500000000000012655455557016235 5ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/lib64/.keeper0000664000175000017500000000000012655455557017477 0ustar hwxihwxiATS2-Postiats-0.2.6/./ccomp/atslib/.keeper0000664000175000017500000000000012655455557016557 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/0000775000175000017500000000000012655455557014214 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/0000775000175000017500000000000012655455557014724 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/DATS/0000775000175000017500000000000012655455557015457 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/DATS/funset_listord.dats0000664000175000017500000002634312655455557021410 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional map implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) staload "libats/ATS1/SATS/funset_listord.sats" (* ****** ****** *) // implement{a} compare_elt_elt (x1, x2, cmp) = cmp (x1, x2) // (* ****** ****** *) assume set_t0ype_type (a:t0p) = List0 (a) (* ****** ****** *) // // HX: // a set is represented as a sorted list in descending order; // note that descending order is chosen to faciliate set comparison // (* ****** ****** *) implement{} funset_make_nil () = list_nil () (* ****** ****** *) implement{a} funset_make_sing (x) = list_cons{a}(x, list_nil) (* ****** ****** *) implement{a} funset_make_list (xs, cmp) = let // fun loop1 {m:pos} .. ( xs: list_vt (a, m) , ys: List0_vt (a), cmp: cmp a ) : List0_vt (a) = let val-@list_vt_cons (x, xs1) = xs val x_ = x and xs1_ = xs1 val ((*void*)) = xs1 := ys prval ((*void*)) = fold@ (xs) in loop2 (x_, xs1_, xs, cmp) end // end of [loop1] // and loop2 {n:nat} .. ( x0: a , xs: list_vt (a, n) , ys: List0_vt (a), cmp: cmp a ) : List0_vt (a) = let in // case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn < 0 then let // HX: [xs] is ascending! prval () = fold@ (xs) in loop1 (xs, ys, cmp) end else let val xs1_ = xs1 val () = free@{a}{0}(xs) in loop2 (x0, xs1_, ys, cmp) end // end of [if] end (* end of [list_vt_cons] *) | ~list_vt_nil ((*void*)) => ys // end (* end of [loop2] *) // local implement list_mergesort$cmp (x1, x2) = compare_elt_elt (x1, x2, cmp) in(*in-of-local*) val xs2 = list_mergesort (xs) // [xs2] is ascending! end // end of [local] // in // case+ xs2 of | list_vt_cons _ => let val ys = loop1 (xs2, list_vt_nil, cmp) in list_vt2t (ys) end // end of [list_vt_cons] | ~list_vt_nil () => list_nil () // end // end of [funset_make_list] (* ****** ****** *) implement{a} funset_size (xs) = i2sz(list_length(xs)) (* ****** ****** *) implement{a} funset_is_member (xs, x0, cmp) = let // fun loop {n:nat} .. ( xs: list (a, n) ) : bool = ( case+ xs of | list_cons (x, xs) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then false else (if sgn < 0 then loop (xs) else true) // end of [if] end // end of [list_cons] | list_nil ((*void*)) => false ) (* end of [loop] *) // in loop (xs) end // end of [funset_is_member] implement{a} funset_isnot_member (xs, x0, cmp) = not (funset_is_member (xs, x0, cmp)) // end of [funset_isnot_member] (* ****** ****** *) implement{a} funset_is_equal (xs1, xs2, cmp) = let // fun aux // tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : bool = ( case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => let val sgn = compare_elt_elt (x1, x2, cmp) in if sgn = 0 then aux (xs1, xs2) else false end | list_nil () => false ) // end of [list_cons] | list_nil () => ( case+ xs2 of list_cons _ => false | list_nil () => true // end of [case] ) // end of [list_nil] ) (* end of [aux] *) in aux (xs1, xs2) end // end of [funset_is_equal] (* ****** ****** *) implement{a} funset_is_subset (xs1, xs2, cmp) = let // fun aux // tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : bool = ( case+ xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn > 0 then false else if sgn < 0 then aux (xs1, xs21) else aux (xs11, xs21) end | list_nil () => false ) // end of [list_cons] | list_nil ((*void*)) => true ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_is_subset] (* ****** ****** *) implement{a} funset_compare (xs1, xs2, cmp) = let // fun aux // tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : int = ( case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => let val sgn = compare_elt_elt (x1, x2, cmp) in if sgn > 0 then 1 else ( if sgn < 0 then ~1 else aux (xs1, xs2) ) // end of [if] end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil ((*void*)) => ( case+ xs2 of list_cons _ => ~1 | list_nil _ => 0 ) (* end of [list_nil] *) ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_compare] (* ****** ****** *) implement{a} funset_insert (xs, x0, cmp) = let // fun ins {n:nat} .. ( xs: list (a, n), flag: &int ) : List0 (a) = ( case+ xs of | list_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then let val () = flag := flag + 1 in list_cons{a}(x0, xs) end else if sgn < 0 then let val flag0 = flag val xs1 = ins (xs1, flag) in if flag = flag0 then xs else list_cons{a}(x, xs1) end else xs // end of [if] end // end of [list_cons] | list_nil () => let val () = flag := flag + 1 in list_cons{a}(x0, list_nil) end // end of [val] ) (* end of [ins] *) // var flag: int = 0 val () = xs := ins (xs, flag) // in if flag = 0 then true else false end // end of [funset_insert] (* ****** ****** *) implement{a} funset_remove (xs, x0, cmp) = let // fun rem {n:nat} .. ( xs: list (a, n), flag: &int ) : List0 (a) = ( case xs of | list_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then xs else if sgn < 0 then let val flag0 = flag val xs1 = rem (xs1, flag) in if flag = flag0 then xs else list_cons{a}(x, xs1) end else let val () = flag := flag + 1 in xs1 end (* end of [if] *) end // end of [list_cons] | list_nil () => list_nil () ) (* end of [rem] *) // var flag: int = 0 val () = xs := rem (xs, flag) // in if flag > 0 then true else false end // end of [funset_remove] (* ****** ****** *) implement{a} funset_union (xs1, xs2, cmp) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : List0 (a) = ( case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else if sgn < 0 then list_cons{a}(x2, aux (xs1, xs21)) else list_cons{a}(x1, aux (xs11, xs21)) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil ((*void*)) => xs2 ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_union] (* ****** ****** *) implement{a} funset_intersect (xs1, xs2, cmp) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : List0 (a) = ( case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) in if sgn > 0 then aux (xs11, xs2) else if sgn < 0 then aux (xs1, xs21) else list_cons{a}(x1, aux (xs11, xs21)) // end of [if] end // end of [list_cons] | list_nil () => list_nil () ) // end of [list_cons] | list_nil ((*void*)) => list_nil () ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_intersect] (* ****** ****** *) implement{a} funset_diff (xs1, xs2, cmp) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : List0 (a) = ( case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else if sgn < 0 then aux (xs1, xs21) else aux (xs11, xs21) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil ((*void*)) => xs2 ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_diff] (* ****** ****** *) implement{a} funset_symdiff (xs1, xs2, cmp) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : List0 (a) = ( case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else if sgn < 0 then list_cons{a}(x2, aux (xs1, xs21)) else aux (xs11, xs21) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil ((*void*)) => xs2 ) (* end of [aux] *) // in aux (xs1, xs2) end // end of [funset_symdiff] (* ****** ****** *) implement{a} funset_foreach_funenv {v}{vt}(pf | xs, f, env) = let // fun loop ( pf: !v | xs: set(INV(a)) , f: (!v | a, !vt) -> void, env: !vt ) : void = ( // case+ xs of | list_cons (x, xs) => (f (pf | x, env); loop (pf | xs, f, env)) | list_nil ((*void*)) => () // ) (* end of [loop] *) // in loop (pf | xs, f, env) end (* end of [funset_foreach_funenv] *) (* ****** ****** *) implement{a} funset_listize (xs) = list_copy (xs) (* ****** ****** *) (* end of [funset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/ATS1/DATS/funheap_braun.dats0000664000175000017500000001511012655455557021147 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional heap implementation based on Braun trees ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: April, 2010 // based on a version done in November, 2008 ** *) (* ****** ****** *) // // HX-2014-01-15: Porting to ATS2 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) staload "libats/ATS1/SATS/funheap_braun.sats" (* ****** ****** *) // implement{a} compare_elt_elt (x1, x2, cmp) = cmp (x1, x2) // (* ****** ****** *) datatype brauntree (a:t@ype+, int) = | {n1,n2:nat | n2 <= n1; n1 <= n2+1} B (a, n1+n2+1) of (a, brauntree (a, n1), brauntree (a, n2)) | E (a, 0) of ((*void*)) // end of [brauntree] stadef bt = brauntree // an abbreviation (* ****** ****** *) assume heap_t0ype_type (a:t@ype) = [n:nat] brauntree (a, n) (* ****** ****** *) implement{} funheap_make_nil () = E () (* ****** ****** *) implement{a} funheap_size (hp) = size (hp) where { // // this algorithm is taken from a paper by Chris Okasaki // fun diff {nl,nr:nat | nr <= nl && nl <= nr+1} .. (nr: size_t nr, t: bt (a, nl)):<> int (nl-nr) = ( case+ t of | B (_, tl, tr) => ( if nr > 0 then let val nr2 = half (nr) in if nr > nr2 + nr2 then diff (nr2, tl) else diff (nr2-1, tr) end else begin 1 // return value end // end of [if] ) (* end of [B] *) | E ((*void*)) => 0 ) (* end of [diff] *) // fun size {n:nat} .. (t: bt (a, n)):<> size_t n = case+ t of | B (_, tl, tr) => let val nr = size tr; val d1 = diff (nr, tl) + 1 in nr + nr + i2sz(d1) end // end of [B] | E ((*void*)) => i2sz(0) // end of [size] } // end of [funheap_size] (* ****** ****** *) implement{a} funheap_height (hp) = loop (hp, 0) where { // fun loop {n:nat} .. (t: bt (a, n), res: intGte(0)):<> intGte(0) = ( case+ t of B (_, tl, _) => loop (tl, res + 1) | E () => res ) (* end of [loop] *) // } (* end of [funheap_height] *) (* ****** ****** *) implement{a} funheap_insert (hp, x, cmp) = () where { // fun insert {n:nat} .. (t: bt (a, n), x: a): bt (a, n+1) = case+ t of | E () => B{a}(x, E (), E ()) | B (x0, t1, t2) => let val sgn = compare_elt_elt (x0, x, cmp) in if sgn >= 0 then B{a}(x, insert (t2, x0), t1) else B{a}(x0, insert (t2, x), t1) // end of [if] end // end of [B] // end of [insert] // val () = hp := insert (hp, x) // } (* end of [funheap_insert] *) (* ****** ****** *) fun{a:t@ype} brauntree_leftrem{n:pos} .. (t: bt (a, n), x_r: &a? >> a): bt (a, n-1) = let // val+B (x, t1, t2) = t // in // case+ t1 of | B _ => let val t1 = brauntree_leftrem (t1, x_r) in B{a}(x, t2, t1) end // end of [B] | E () => (x_r := x; E ()) // end // end of [brauntree_leftrem] (* ****** ****** *) fn{a:t@ype} brauntree_siftdn {nl,nr:nat | nr <= nl; nl <= nr+1} ( x: a , tl: bt (a, nl), tr: bt (a, nr) , cmp: cmp a ) :<> bt (a, nl+nr+1) = siftdn (x, tl, tr) where { // fun siftdn {nl,nr:nat | nr <= nl; nl <= nr+1} .. (x: a, tl: bt (a, nl), tr: bt (a, nr)) : bt (a, nl+nr+1) = case+ (tl, tr) of | (B (xl, tll, tlr), B (xr, trl, trr)) => ( if compare_elt_elt (xl, x, cmp) >= 0 then begin // xl >= x if compare_elt_elt (xr, x, cmp) >= 0 then B{a}(x, tl, tr) else B{a}(xr, tl, siftdn (x, trl, trr)) // end of [if] end else begin // xl < x if compare_elt_elt (xr, x, cmp) >= 0 then B{a}(xl, siftdn (x, tll, tlr), tr) else begin // xr < x if compare_elt_elt (xl, xr, cmp) >= 0 then B{a}(xr, tl, siftdn (x, trl, trr)) else B{a}(xl, siftdn (x, tll, tlr), tr) // end of [if] end // end of [if] end (* end of [if] *) ) (* end of [B _, B _] *) | (_, _) =>> ( case+ tl of | B (xl, _, _) => if compare_elt_elt (xl, x, cmp) >= 0 then B{a}(x, tl, E) else B{a}(xl, B{a}(x, E, E), E) // end of [B] | E ((*void*)) => B{a}(x, E (), E ()) ) (* end of [_, _] *) // end of [siftdn] // } (* end of [brauntree_siftdn] *) (* ****** ****** *) implement{a} funheap_delmin (hp0, cmp, res) = let // fun delmin{n:pos} .<>. ( t: bt (a, n), res: &a? >> a ) : bt (a, n-1) = let val+B (x, t1, t2) = t; val () = res := x in case+ t1 of | B _ => let var x_lrm: a // uninitialized val t1 = brauntree_leftrem (t1, x_lrm) in brauntree_siftdn (x_lrm, t2, t1, cmp) end // end of [B] | E ((*void*)) => E () end // end of [demin] // in // case+ hp0 of | B _ => let val () = hp0 := delmin (hp0, res) prval () = opt_some {a} (res) in true (*removed*) end // end of [B_] | E _ => let prval () = opt_none {a} (res) in false(*notremoved*) end // end of [E] // end // end of [funheap_delmin] (* ****** ****** *) implement{a} funheap_delmin_opt (hp0, cmp) = let // var res: a? // uninitized val ans = funheap_delmin (hp0, cmp, res) // in // if ans then let prval () = opt_unsome{a}(res) in Some_vt{a}(res) end // end of [then] else let prval () = opt_unnone{a}(res) in None_vt{a}(*void*) end // end of [else] // end of [if] // end // end of [funheap_delmin_opt] (* ****** ****** *) (* end of [funheap_brauntree.dats] *) ATS2-Postiats-0.2.6/./libats/ATS1/DATS/.keeper0000664000175000017500000000000012655455557016721 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/DATS/funheap_binomial.dats0000664000175000017500000002537612655455557021651 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/funheap_binomial.sats" (* ****** ****** *) // implement{a} compare_elt_elt (x1, x2, cmp) = cmp (x1, x2) // (* ****** ****** *) (* ** binomial trees: ** btree(a, n) is for a binomial tree of rank(n) *) datatype btree (a:t@ype+, int(*rank*)) = | {n:nat} btnode (a, n) of (int (n), a, btreelst (a, n)) // end of [btree] and btreelst (a:t@ype+, int(*rank*)) = | btlst_nil (a, 0) of ((*void*)) | {n:nat} btlst_cons (a, n+1) of (btree (a, n), btreelst (a, n)) // end of [btreelst] (* ****** ****** *) fun{ a:t0p } btree_rank {n:nat} .<>. ( bt: btree (a, n) ) :<> int (n) = let val btnode (n, _, _) = bt in n end // end of [btree_rank] (* ****** ****** *) datatype bheap ( a:t@ype+, int(*rank*), int(*size*) ) = | {n:nat} bheap_nil (a, n, 0) of () | {n:nat}{p:int}{sz:nat}{n1:int | n1 > n} bheap_cons (a, n, p+sz) of (EXP2 (n, p) | btree (a, n), bheap (a, n1, sz)) // end of [bheap] (* ****** ****** *) fun{a:t0p} btree_btree_merge {n:nat} .<>. ( bt1: btree (a, n) , bt2: btree (a, n) , cmp: cmp a ) :<> btree (a, n+1) = let val+btnode (n, x1, bts1) = bt1 val+btnode (n, x2, bts2) = bt2 val sgn = compare_elt_elt (x1, x2, cmp) in if sgn <= 0 then btnode{a}(n+1, x1, btlst_cons{a}(bt2, bts1)) else btnode{a}(n+1, x2, btlst_cons{a}(bt1, bts2)) // end of [if] end // end of [btree_btree_merge] (* ****** ****** *) fun{a:t0p} btree_bheap_merge{sz:nat} {n,n1:nat | n <= n1}{p:int} .. ( pf: EXP2 (n, p) | bt: btree (a, n), n: int (n), hp: bheap (a, n1, sz) , cmp: cmp (a) ) :<> [n2:int | n2 >= min(n, n1)] bheap (a, n2, sz+p) = case+ hp of | bheap_cons (pf1 | bt1, hp1) => let val n1 = btree_rank (bt1) in if n < n1 then let // nothing in bheap_cons{a}(pf | bt, hp) end else if n > n1 then let val hp1 = btree_bheap_merge (pf | bt, n, hp1, cmp) // end of [val] in bheap_cons{a}(pf1 | bt1, hp1) end else let prval () = exp2_ispos (pf1) prval () = exp2_isfun (pf, pf1) val bt = btree_btree_merge (bt, bt1, cmp) in btree_bheap_merge (EXP2ind (pf) | bt, n+1, hp1, cmp) end // end of [if] end (* end of [bheap_cons] *) | bheap_nil () => bheap_cons{a}(pf | bt, bheap_nil{a}{n+1}()) // end of [bheap_nil] // end of [btree_bheap_merge] (* ****** ****** *) fun{a:t0p} bheap_bheap_merge {n1,n2:nat} {sz1,sz2:nat} .. ( hp1: bheap (a, n1, sz1) , hp2: bheap (a, n2, sz2) , cmp: cmp a ) :<> [n:int | n >= min(n1, n2)] bheap (a, n, sz1+sz2) = ( case+ hp1 of | bheap_cons (pf1 | bt1, hp11) => ( case+ hp2 of | bheap_nil () => hp1 | bheap_cons (pf2 | bt2, hp21) => let // prval () = exp2_ispos (pf1) prval () = exp2_ispos (pf2) // val n1 = btree_rank (bt1) val n2 = btree_rank (bt2) in if n1 < n2 then bheap_cons{a}(pf1 | bt1, bheap_bheap_merge (hp11, hp2, cmp)) else if n1 > n2 then bheap_cons{a}(pf2 | bt2, bheap_bheap_merge (hp1, hp21, cmp)) else let prval () = exp2_isfun (pf1, pf2) val bt12 = btree_btree_merge (bt1, bt2, cmp) in btree_bheap_merge (EXP2ind (pf1) | bt12, n1+1, bheap_bheap_merge (hp11, hp21, cmp), cmp) end // end of [if] end (* end of [bheap_cons] *) ) // end of [bheap_cons] | bheap_nil ((*void*)) => hp2 ) (* end of [bheap_bheap_merge] *) (* ****** ****** *) fun{a:t0p} bheap_find_min {n:nat}{sz:pos} .<>. ( hp0: bheap (a, n, sz), cmp: cmp a ) : a = x0 where { // fun find {n:nat} {sz:nat} .. ( hp: bheap (a, n, sz), x0: &a, cmp: cmp a ) : void = ( case+ hp of | bheap_cons (pf | bt, hp) => let prval () = exp2_ispos (pf) val+btnode (_, x, _) = bt val ((*void*)) = if compare_elt_elt (x0, x, cmp) > 0 then (x0 := x) // end of [val] in find (hp, x0, cmp) end | bheap_nil ((*void*)) => () ) (* end of [find] *) // val+bheap_cons (pf0 | bt0, hp1) = hp0 val+btnode (_, x0, _) = bt0 var x0: a = x0 val () = find (hp1, x0, cmp) // } (* end of [bheap_find_min] *) (* ****** ****** *) fun{a:t0p} bheap_remove_min {n:nat}{sz:pos} .<>. ( hp0: bheap (a, n, sz), cmp: cmp a ) : [ n1,n2,p:int | n1 >= n; n2 >= n;sz >= p ] ( EXP2 (n2, p) | bheap (a, n1, sz-p), btree (a, n2) ) = let // val+bheap_cons (pf0 | bt0, hp1) = hp0 val+btnode (_, x0, _) = bt0 // // HX: [find] and [remove] can be merged into one // fun find {n:nat}{sz:nat} .. ( hp0: bheap (a, n, sz) , x0: &a, pos: &intGte(0) >> _, cmp: cmp a ) : void = case+ hp0 of | bheap_cons (pf | bt, hp) => let prval () = exp2_ispos (pf) val+ btnode (_, x, _) = bt val sgn = compare_elt_elt (x0, x, cmp) val () = if sgn > 0 then (x0 := x; pos := pos+1) in find (hp, x0, pos, cmp) end // [bheap_cons] | bheap_nil ((*void*)) => () (* end of [find] *) // var x0: a = x0 and pos: Nat = 0 val () = find (hp1, x0, pos, cmp) // fun remove {n:nat}{sz:nat} {pos:nat} .. ( hp0: bheap (a, n, sz), pos: int (pos) , btmin: &btree(a, 0)? >> btree (a, n2) ) : #[ n1,n2,p:int | n1 >= n; n2 >= n; sz >= p ] ( EXP2 (n2, p) | bheap (a, n1, sz-p) ) = let // prval () = __assert () where { extern praxi __assert (): [sz > 0] void } // end of [prval] // val+ bheap_cons (pf | bt, hp) = hp0 prval () = exp2_ispos (pf) in if pos > 0 then let val (pfmin | hp) = remove (hp, pos-1, btmin) in (pfmin | bheap_cons{a}(pf | bt, hp)) end else let val () = btmin := bt in (pf | hp) end // end of [if] end (* end of [remove] *) // var btmin: btree (a, 0)? val (pf | hp) = remove (hp0, pos, btmin) // in (pf | hp, btmin) end // end of [bheap_remove_min] (* ****** ****** *) assume heap_t0ype_type (a:t0p) = [n,sz:nat] bheap (a, n, sz) (* ****** ****** *) implement{} funheap_make_nil{a}((*void*)) = bheap_nil{a}{0}() (* ****** ****** *) local fun{} pow2{n:nat} .<>. ( n: int n ) :<> [p:pos] (EXP2 (n, p) | size_t (p)) = let // val res = (1 << n) val [p:int] res = $UN.cast{sizeGt(0)}(res) // in ($UN.castview0{EXP2(n, p)}(0) | res) end // end of [pow2] in (* in of [local] *) implement{a} funheap_size (hp) = let // fun aux {n:nat}{sz:nat} .. (hp: bheap (a, n, sz)):<> size_t (sz) = case+ hp of | bheap_cons (pf | bt, hp) => let val btnode (n, _, _) = bt; val (pf1 | p) = pow2 (n) prval () = exp2_isfun (pf, pf1) in p + aux (hp) end // end of [bheap_cons] | bheap_nil ((*void*)) => i2sz(0) (* end of [aux] *) // in aux (hp) end // end of [funheap_size] end // end of [local] (* ****** ****** *) implement{a} funheap_insert (hp, x0, cmp) = let val bt = btnode{a}(0, x0, btlst_nil ()) in hp := btree_bheap_merge (EXP2bas () | bt, 0, hp, cmp) end // end of [funheap_insert] (* ****** ****** *) implement funheap_is_empty{a}(hp) = ( case+ hp of | bheap_cons (_ | _, _) => false | bheap_nil () => true ) // end of [funheap_is_empty] implement funheap_isnot_empty{a}(hp) = ( case+ hp of | bheap_cons (_ | _, _) => true | bheap_nil () => false ) // end of [funheap_isnot_empty] (* ****** ****** *) implement{a} funheap_getmin (hp0, cmp, res) = let in // case+ hp0 of | bheap_cons (pf0 | _, _) => let prval () = exp2_ispos (pf0) val () = res := bheap_find_min (hp0, cmp) prval () = opt_some{a}(res) in true end // end of [bheap_cons] | bheap_nil () => let prval () = opt_none{a}(res) in false end // end of [bheap_nil] // end // end of [funheap_getmin] (* ****** ****** *) implement{a} funheap_delmin (hp0, cmp, res) = let in // case+ hp0 of | bheap_cons (pf0 | _, _) => let prval () = exp2_ispos (pf0) val (_ | hp_new, btmin) = bheap_remove_min (hp0, cmp) val btnode (_, x, bts) = btmin val ((*void*)) = res := x prval ((*void*)) = opt_some{a}(res) val hp1 = let fun loop {n:nat}{sz:nat} .. ( bts: btreelst (a, n), hp: bheap (a, n, sz) ) :<> [sz:nat] bheap (a, 0, sz) = ( case+ bts of | btlst_cons (bt, bts) => let prval pf = exp2_istot () in loop (bts, bheap_cons{a}(pf | bt, hp)) end // end of [btlst_cons] | btlst_nil ((*void*)) => (hp) ) (* end of [loop] *) in loop (bts, bheap_nil) end // end of [val] val ((*void*)) = hp0 := bheap_bheap_merge (hp_new, hp1, cmp) // end of [val] in true end // end of [bheap_cons] | bheap_nil () => let prval () = opt_none{a}(res) in false end // end of [bheap_nil] // end of [case] // end // end of [funheap_delmin] (* ****** ****** *) implement{a} funheap_delmin_opt (hp0, cmp) = let // var res: a? // uninitized val ans = funheap_delmin (hp0, cmp, res) // in // if ans then let prval () = opt_unsome{a}(res) in Some_vt{a}(res) end // end of [then] else let prval () = opt_unnone{a}(res) in None_vt{a}(*void*) end // end of [else] // end of [if] // end // end of [funheap_delmin_opt] (* ****** ****** *) implement{a} funheap_merge (hp1, hp2, cmp) = bheap_bheap_merge (hp1, hp2, cmp) // end of [funheap_merge] (* ****** ****** *) (* end of [funheap_binomail.dats] *) ATS2-Postiats-0.2.6/./libats/ATS1/DATS/linset_listord.dats0000664000175000017500000002357712655455557021410 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A linear set implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: February 17, 2012 ** *) (* ****** ****** *) // // HX-2014-01-17: Porting to ATS2 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "libats/ATS1/SATS/linset_listord.sats" // (* ****** ****** *) // implement{a} compare_elt_elt (x1, x2, cmp) = cmp (x1, x2) // (* ****** ****** *) assume set_t0ype_vtype (a:t0p) = List0_vt (a) (* ****** ****** *) // // HX: // a set is represented as a sorted list in descending order; // note that descending order is chosen to faciliate set comparison // (* ****** ****** *) implement{} linset_nil () = list_vt_nil () implement{} linset_make_nil () = list_vt_nil () (* ****** ****** *) implement{a} linset_make_sing (x) = list_make_sing (x) (* ****** ****** *) implement{a} linset_size (xs) = i2sz(list_vt_length (xs)) (* ****** ****** *) implement{a} linset_is_member (xs, x0, cmp) = let // fun loop {n:nat} .. ( xs: !list_vt (a, n) ) : bool = ( case+ xs of | list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then false else (if sgn < 0 then loop (xs1) else true) // end of [if] end // end of [list_vt_cons] | list_vt_nil () => false ) (* end of [loop] *) // in loop (xs) end // end of [linset_is_member] (* ****** ****** *) implement{a} linset_isnot_member (xs, x0, cmp) = ~linset_is_member (xs, x0, cmp) // end of [linset_isnot_member] (* ****** ****** *) implement{a} linset_is_subset (xs1, xs2, cmp) = let // fun loop {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : bool = ( case+ xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn > 0 then false else if sgn < 0 then loop (xs1, xs21) else loop (xs11, xs21) end | list_nil ((*void*)) => false ) // end of [list_cons] | list_nil ((*void*)) => true ) (* end of [loop] *) // in loop ($UN.list_vt2t(xs1), $UN.list_vt2t(xs2)) end // end of [linset_is_subset] (* ****** ****** *) implement{a} linset_is_supset (xs1, xs2, cmp) = linset_is_subset (xs2, xs1, cmp) // end of [linset_is_supset] (* ****** ****** *) implement{a} linset_is_equal (xs1, xs2, cmp) = let // fun loop {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : bool = ( case+ xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn = 0 then loop (xs11, xs21) else false end // end of [list_cons] | list_nil ((*void*)) => false ) // end of [list_cons] | list_nil ((*void*)) => ( case+ xs2 of list_cons _ => false | list_nil () => true ) (* end of [list_nil] *) ) (* end of [loop] *) // in loop ($UN.list_vt2t(xs1), $UN.list_vt2t(xs2)) end // end of [linset_is_equal] (* ****** ****** *) // implement{a} linset_copy (xs) = list_vt_copy (xs) // implement{a} linset_free (xs) = list_vt_free (xs) // (* ****** ****** *) implement{a} linset_insert (xs, x0, cmp) = let // fun ins{n:nat} .. ( // tail-recursive xs: &list_vt (a, n) >> list_vt (a, n1) ) : #[n1:nat | n <= n1; n1 <= n+1] bool = ( case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then let prval () = fold@ (xs) val () = xs := list_vt_cons{a}(x0, xs) in false end else if sgn < 0 then let val res = ins (xs1); prval () = fold@ (xs) in res end else let // x0 = x prval () = fold@ (xs) in true // [x0] is already in [xs] end // end of [if] end (* end of [list_vt_cons] *) | ~list_vt_nil () => let val () = xs := list_make_sing (x0) in false end // end of [list_vt_nil] ) (* end of [ins] *) // in ins (xs) end // end of [linset_insert] (* ****** ****** *) implement{a} linset_remove (xs, x0, cmp) = let // fun rem {n:nat} .. ( // tail-recursive xs: &list_vt (a, n) >> list_vt (a, n1) ) : #[n1:nat | n1 <= n; n <= n1+1] bool = ( case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then let prval () = fold@{a}(xs) in false end else if sgn < 0 then let val res = rem (xs1); prval () = fold@{a}(xs) in res end else let // x0 = x val xs1_ = xs1 val () = free@{a}{0}(xs) val () = xs := xs1_ in true // [x0] is removed from [xs] end // end of [if] end (* end of [list_vt_cons] *) | list_vt_nil ((*void*)) => false ) (* end of [rem] *) // in rem (xs) end // end of [linset_remove] (* ****** ****** *) (* ** By Brandon Barker *) implement {a}(*tmp*) linset_choose (xs, x0) = let in // case+ xs of | list_vt_cons (x, xs1) => let val () = x0 := x prval () = opt_some{a}(x0) in true end // end of [list_vt_cons] | list_vt_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_vt_nil] // end // end of [linset_choose] (* ****** ****** *) implement{a} linset_choose_opt (xs) = let // var x0: a? val ans = linset_choose (xs, x0) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [linset_choose_opt] (* ****** ****** *) implement{a} linset_chooseout (xs0, x0) = let in // case+ xs0 of | ~list_vt_cons (x, xs) => let val () = x0 := x prval () = opt_some{a}(x0) val () = xs0 := xs in true end // end of [list_vt_cons] | list_vt_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_vt_nil] // end // end of [linset_chooseout] (* ****** ****** *) implement{a} linset_chooseout_opt (xs) = let // var x0: a? val ans = linset_chooseout (xs, x0) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [linset_chooseout_opt] (* ****** ****** *) implement {a}(*tmp*) linset_union (xs1, xs2, cmp) = let // vtypedef res = List0_vt (a) // fun loop {n1,n2:nat} .. ( xs1: list_vt (a, n1) , xs2: list_vt (a, n2), res: &res? >> res ) : void = ( case+ xs1 of | @list_vt_cons (x1, xs11) => ( case+ xs2 of | @list_vt_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2, cmp) // end of [val] in if sgn > 0 then let val xs11_ = xs11 prval () = fold@{a}(xs2) val () = loop (xs11_, xs2, xs11) prval () = fold@{a}(xs1) in res := xs1 end else if sgn < 0 then let prval () = fold@{a}(xs1) val xs21_ = xs21 val () = loop (xs1, xs21_, xs21) prval () = fold@{a}(xs2) in res := xs2 end else let // x1 = x2 val xs11_ = xs11 val xs21_ = xs21 val () = free@{a}{0}(xs2) val () = loop (xs11_, xs21_, xs11) prval () = fold@{a}(xs1) in res := xs1 end // end of [if] end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => let prval () = fold@{a}(xs1) in res := xs1 end ) // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => (res := xs2) ) (* end of [loop] *) // var res: res // uninitialized val ((*void*)) = loop (xs1, xs2, res) // in res end // end of [linset_union] (* ****** ****** *) implement{a} fprint_linset_sep (out, xs, sep) = fprint_list_vt_sep (out, xs, sep) // end of [fprint_linset_sep] (* ****** ****** *) implement{a} linset_foreach_funenv {v}{vt}(pf | xs, f, env) = let // fun loop ( pf: !v | xs: !set(INV(a)) , f: (!v | a, !vt) -> void, env: !vt ) : void = ( // case+ xs of | list_vt_cons (x, xs) => (f (pf | x, env); loop (pf | xs, f, env)) | list_vt_nil ((*void*)) => () // ) (* end of [loop] *) // in loop (pf | xs, f, env) end (* end of [linset_foreach_funenv] *) (* ****** ****** *) implement{a} linset_listize (xs) = xs (* ****** ****** *) implement{a} linset_listize1 (xs) = list_vt_copy (xs) (* ****** ****** *) (* end of [linset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/ATS1/DATS/funmset_listord.dats0000664000175000017500000003064012655455557021560 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional map implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/list.dats" (* ****** ****** *) staload "libats/ATS1/SATS/funmset_listord.sats" (* ****** ****** *) // implement{a} compare_elt_elt (x1, x2, cmp) = cmp (x1, x2) // (* ****** ****** *) typedef intGt0 = intGt(0) (* ****** ****** *) assume mset_t0ype_type (a: t@ype) = List0 @(intGt0, a) (* ****** ****** *) // // HX: // mset is represented as a sorted mlist in descending order; // note that desending order is chosen to facilitate mset comparion // (* ****** ****** *) implement{} funmset_make_nil () = list_nil () (* ****** ****** *) implement{a} funmset_make_sing (x) = let typedef nx = (intGt0, a) in list_vt2t(list_make_sing((1, x))) end // end of [funmset_make_sing] implement{a} funmset_make_pair (x1, x2, cmp) = let // typedef nx = (intGt0, a) // val sgn = compare_elt_elt (x1, x2, cmp) // in // if sgn > 0 then let val nx1 = (1, x1) and nx2 = (1, x2) in list_vt2t(list_make_pair (nx1, nx2)) end else if sgn < 0 then let val nx1 = (1, x1) and nx2 = (1, x2) in list_vt2t(list_make_pair (nx2, nx1)) end else let val nx = @(2, x1) in list_vt2t(list_make_sing (nx)) end // end of [if] // end // end of [funmset_make_pair] (* ****** ****** *) implement{a} funmset_make_list (xs, cmp) = let // typedef nx = (intGt0, a) // fun ntimes {k:nat} .. ( xs: list_vt (a, k), x0: a, n: &intGt0 >> _ ) : [k1:nat | k1 <= k] list_vt (a, k1) = ( case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x, cmp) // end of [val] in if sgn > 0 then let prval () = fold@ (xs) in xs end else let val xs1 = xs1 val () = n := n + 1 val () = free@{a}{0}(xs) in ntimes (xs1, x0, n) end // end of [if] end // end of [list_vt_cons] | list_vt_nil ((*void*)) => xs ) (* end of [ntimes] *) // fun loop{k:nat} .. ( xs: list_vt (a, k), res: &mset(a)? >> mset(a) ) : void = ( case+ xs of | ~list_vt_cons (x0, xs) => let var n: intGt0 = 1 val xs = ntimes (xs, x0, n) val nx0 = @(n, x0) val () = res := list_cons{nx}{0} (nx0, _) val+list_cons (_, res1) = res val ((*void*)) = loop (xs, res1) prval ((*void*)) = fold@ (res) in // nothing end // end of [list_vt_cons] | ~list_vt_nil () => let val () = res := list_nil () in (*nothing*) end // end of [list_vt_nil] ) (* end of [loop] *) // val xs = list_copy (xs) prval () = lemma_list_vt_param (xs) // // HX: ~cmp: descending order // val xs = list_vt_mergesort_fun (xs, lam (x1, x2) => ~cmp (x1, x2)) // var res: mset(a) val () = loop (xs, res) // in res end // end of [funmset_make_list] (* ****** ****** *) implement{a} funmset_size (nxs) = let typedef nx = @(intGt0, a) fun loop {k:nat} .. (nxs: list (nx, k), res: Size):<> Size = case+ nxs of | list_cons (nx, nxs) => loop (nxs, res + nx.0) | list_nil () => res // end of [loop] in loop (nxs, i2sz(0)) end // end of [funmset_size] (* ****** ****** *) implement{a} funmset_get_ntime (nxs, x0, cmp) = let // typedef nx = @(intGt0, a) // fun loop {k:nat} .. ( nxs: list (nx, k) ) :<> intGte(0) = case+ nxs of | list_nil ((*void*)) => 0 | list_cons (nx, nxs) => let val sgn = compare_elt_elt (x0, nx.1, cmp) in if sgn > 0 then 0 else (if sgn < 0 then loop (nxs) else nx.0) end // end of [list_cons] // end of [loop] // in loop (nxs) end // end of [funmset_get_ntime] (* ****** ****** *) implement{a} funmset_is_member (xs, x0, cmp) = funmset_get_ntime (xs, x0, cmp) > 0 // end of [funmset_is_member] implement{a} funmset_isnot_member (xs, x0, cmp) = funmset_get_ntime (xs, x0, cmp) = 0 // end of [funmset_isnot_member] (* ****** ****** *) implement{a} funmset_is_subset (nxs1, nxs2, cmp) = let // typedef nx = (int, a) fun aux // tail-recursive {k1,k2:nat} .. ( nxs1: list (nx, k1), nxs2: list (nx, k2) ) : bool = case+ nxs1 of | list_cons (nx1, nxs11) => ( case+ nxs2 of | list_cons (nx2, nxs21) => let val sgn = compare_elt_elt (nx1.1, nx2.1, cmp) in if sgn > 0 then false else if sgn < 0 then aux (nxs1, nxs21) else ( if nx1.0 <= nx2.0 then aux (nxs11, nxs21) else false ) // end of [if] end // end of [list_cons] | list_nil ((*void*)) => false ) // end of [list_cons] | list_nil ((*void*)) => true // end of [aux] in aux (nxs1, nxs2) end // end of [funmset_is_subset] implement{a} funmset_is_equal (nxs1, nxs2, cmp) = let // typedef nx = (int, a) fun aux // tail-recursive {k1,k2:nat} .. ( nxs1: list (nx, k1), nxs2: list (nx, k2) ) : bool = ( case+ nxs1 of | list_cons (nx1, nxs1) => ( case+ nxs2 of | list_cons (nx2, nxs2) => let val sgn = compare_elt_elt (nx1.1, nx2.1, cmp) in if sgn = 0 then ( if nx1.0 = nx2.0 then aux (nxs1, nxs2) else false ) else false // end of [if] end // end of [list_cons] | list_nil ((*void*)) => false ) // end of [list_cons] | list_nil ((*void*)) => ( case+ nxs2 of | list_cons _ => false | list_nil () => true ) (* end of [list_nil] *) ) (* end of [aux] *) // in aux (nxs1, nxs2) end // end of [funmset_is_equal] (* ****** ****** *) implement{a} funmset_compare (nxs1, nxs2, cmp) = let // typedef nx = (int, a) // fun aux // tail-recursive {k1,k2:nat} .. ( nxs1: list (nx, k1), nxs2: list (nx, k2) ) : int = ( case+ nxs1 of | list_cons (nx1, nxs1) => ( case+ nxs2 of | list_cons (nx2, nxs2) => let val sgn = compare_elt_elt (nx1.1, nx2.1, cmp) // end of [val] in if sgn > 0 then 1 else if sgn < 0 then ~1 else let val n1 = nx1.0 and n2 = nx2.0 in if n1 > n2 then 1 else if n1 < n2 then ~1 else aux (nxs1, nxs2) end (* end of [if] *) end // end of [list_cons] | list_nil ((*void*)) => 1 ) // end of [list_cons] | list_nil ((*void*)) => ( case+ nxs2 of list_cons _ => ~1 | list_nil _ => 0 ) (* end of [list_nil] *) ) (* end of [aux] *) // in aux (nxs1, nxs2) end // end of [funmset_compare] (* ****** ****** *) implement{a} funmset_insert (nxs, x0, cmp) = let // typedef nx = @(intGt0, a) // fun loop {k:nat} .. ( nxs: list (nx, k) ) : List0 (nx) = case+ nxs of | list_cons (nx, nxs1) => let val sgn = compare_elt_elt (x0, nx.1, cmp) in if sgn > 0 then list_cons{nx}((1, x0), nxs) else if sgn < 0 then let val nxs1 = loop (nxs1) in list_cons{nx}(nx, nxs1) end else let val nx = (nx.0 + 1, nx.1) in list_cons{nx}(nx, nxs1) end (* end of [if] *) end // end of [list_cons] | list_nil () => list_cons{nx}((1, x0), list_nil()) // end of [loop] // in nxs := loop (nxs) end // end of [funmset_insert] (* ****** ****** *) implement{a} funmset_remove (nxs, x0, cmp) = let // typedef nx = @(intGt0, a) // fun loop {k:nat} .. ( nxs: list (nx, k), flag: &int >> _ ) : List0 (nx) = case nxs of | list_cons (nx, nxs1) => let val sgn = compare_elt_elt (x0, nx.1, cmp) in if sgn > 0 then nxs else if sgn < 0 then let val flag0 = flag val nxs1 = loop (nxs1, flag) in if flag = flag0 then nxs else list_cons{nx}(nx, nxs1) end else let val n1 = nx.0 - 1 val () = flag := flag + 1 in if n1 > 0 then list_cons{nx}((n1, nx.1), nxs1) else nxs1 end (* end of [if] *) end // end of [list_cons] | list_nil () => list_nil () // end of [aux] // var flag: int = 0 val () = nxs := loop (nxs, flag) // in if flag > 0 then true else false end // end of [funmset_remove] (* ****** ****** *) implement{a} funmset_union (nxs1, nxs2, cmp) = let // typedef nx = @(intGt0, a) // fun aux {k1,k2:nat} .. ( nxs1: list (nx, k1) , nxs2: list (nx, k2) ) : List0 (nx) = ( case nxs1 of | list_cons (nx1, nxs11) => ( case+ nxs2 of | list_cons (nx2, nxs21) => let val sgn = compare_elt_elt (nx1.1, nx2.1, cmp) // end of [val] in if sgn > 0 then list_cons{nx}(nx1, aux (nxs11, nxs2)) else if sgn < 0 then list_cons{nx}(nx2, aux (nxs1, nxs21)) else let val nx12 = (nx1.0 + nx2.0, nx1.1) in list_cons{nx}(nx12, aux (nxs11, nxs21)) end (* end of [if] *) end // end of [list_cons] | list_nil ((*void*)) => nxs1 ) (* end of [list_cons] *) | list_nil ((*void*)) => nxs2 ) (* end of [aux] *) in aux (nxs1, nxs2) end // end of [funmset_union] (* ****** ****** *) implement{a} funmset_intersect (nxs1, nxs2, cmp) = let // typedef nx = @(intGt0, a) // fun aux {k1,k2:nat} .. ( nxs1: list (nx, k1) , nxs2: list (nx, k2) ) : List0 (nx) = let in // case nxs1 of | list_cons (nx1, nxs11) => ( case+ nxs2 of | list_cons (nx2, nxs21) => let val sgn = compare_elt_elt (nx1.1, nx2.1, cmp) // end of [val] in if sgn > 0 then aux (nxs11, nxs2) else if sgn < 0 then aux (nxs1, nxs21) else let val nx12 = ( if nx1.0 <= nx2.0 then nx1 else nx2 ) : nx // end of [val] in list_cons{nx}(nx1, aux (nxs11, nxs21)) end // end of [if] end // end of [list_cons] | list_nil ((*void*)) => list_nil () ) (* end of [list_cons] *) | list_nil ((*void*)) => list_nil () // end (* end of [aux] *) // in aux (nxs1, nxs2) end // end of [funmset_intersect] (* ****** ****** *) (* ** HX: the returned list is in descending order *) implement{a} funmset_listize (nxs) = let typedef nx = @(intGt0, a) viewtypedef res = List_vt (a) in list_map_fun (nxs, lam (nx) =<0> nx.1) end // end of [funmset_listize] (* ****** ****** *) // (* ** HX: the returned list is in descending order *) // implement{a} funmset_mlistize (nxs) = res where { // typedef nx = @(intGt0, a) vtypedef res = List0_vt (a) // fnx loop1{k:nat} .. ( nxs: list (nx, k), res: &res? >> res ) : void = ( case+ nxs of | list_cons (nx, nxs) => loop2 (nx.0, nx.1, nxs, res) | list_nil ((*void*)) => (res := list_vt_nil) ) (* end of [loop1] *) // and loop2{k,n:nat} .. ( n: int n, x: a, nxs: list (nx, k), res: &res? >> res ) : void = ( if n > 0 then let val () = res := list_vt_cons{a}{0}(x, _) // end of [val] val+list_vt_cons (_, res1) = res val () = loop2 (n-1, x, nxs, res1) prval ((*void*)) = fold@{a}(res) in // nothing end else loop1 (nxs, res) // end of [if] ) (* end of [loop2] *) // var res: ptr val () = loop1 (nxs, res) // } (* end of [funmset_mlistize] *) // (* ****** ****** *) (* end of [funmset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/ATS1/SATS/0000775000175000017500000000000012655455557015476 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/SATS/linset_listord.sats0000664000175000017500000001174712655455557021442 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A linear map implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: February 17, 2012 ** *) (* ****** ****** *) // // HX-2014-01-17: // Porting to ATS2 from ATS1 // (* ****** ****** *) absvtype set_t0ype_vtype (a:t@ype+) = ptr vtypedef set (a:t0p) = set_t0ype_vtype (a) (* ****** ****** *) typedef cmp (a:t0p) = (a, a) - int (* ****** ****** *) fun{a:t0p} compare_elt_elt (x1: a, x2: a, cmp: cmp (a)):<> int // end of [compare_elt_elt] (* ****** ****** *) fun{} linset_nil{a:t0p} ():<> set (a) fun{} linset_make_nil{a:t0p} ():<> set (a) (* ****** ****** *) fun{a:t0p} linset_make_sing (x: a): set (a) // singleton set (* ****** ****** *) fun{ } linset_is_empty {a:t0p} (xs: !set(INV(a))):<> bool fun{ } linset_isnot_empty {a:t0p} (xs: !set(INV(a))):<> bool (* ****** ****** *) // // HX: the time complexity of this function is O(n) // fun{a:t0p} linset_size (xs: !set(INV(a))):<> sizeGte(0) // (* ****** ****** *) fun{a:t0p} linset_is_member (xs: !set(INV(a)), x0: a, cmp: cmp a):<> bool fun{a:t0p} linset_isnot_member (xs: !set(INV(a)), x0: a, cmp: cmp a):<> bool (* ****** ****** *) fun{a:t0p} linset_is_subset // xs2 contains xs1 (xs1: !set(INV(a)), xs2: !set(a), cmp: cmp a):<> bool // end of [linset_is_subset] fun{a:t0p} linset_is_supset // xs1 contains xs2 (xs1: !set(INV(a)), xs2: !set(a), cmp: cmp a):<> bool // end of [linset_is_supset] fun{a:t0p} linset_is_equal (xs1: !set(INV(a)), xs2: !set(a), cmp: cmp a):<> bool // end of [linset_is_equal] (* ****** ****** *) // fun{a:t0p} linset_copy (!set(INV(a))): set (a) // fun{a:t0p} linset_free (xs: set(INV(a))): void // (* ****** ****** *) fun{a:t0p} linset_insert (xs: &set(INV(a)) >> _, x0: a, cmp: cmp a) : bool // end of [linset_insert] (* ****** ****** *) fun{a:t0p} linset_remove (xs: &set(INV(a)) >> _, x0: a, cmp: cmp (a)): bool // end of [linset_remove] (* ****** ****** *) // // HX: choosing an element in an unspecified manner // fun{a:t0p} linset_choose ( xs: !set(INV(a)), x: &a? >> opt (a, b) ) : #[b:bool] bool (b) // end of [linset_choose] fun{a:t0p} linset_choose_opt (xs: !set(INV(a))): Option_vt(a) (* ****** ****** *) // // HX: removing an element chosen in an unspecified manner // fun{a:t0p} linset_chooseout ( xs: &set(INV(a)) >> _, x: &a? >> opt (a, b) ) : #[b:bool] bool (b) // end of [linset_chooseout] // fun{a:t0p} linset_chooseout_opt (xs: &set(INV(a)) >> _): Option_vt(a) // (* ****** ****** *) fun{a:t0p} linset_union (xs1: set(INV(a)), xs2: set(a), cmp: cmp a): set (a) (* fun{a:t0p} linset_intersect (xs1: set(INV(a)), xs2: set(a), cmp: cmp a): set (a) fun{a:t0p} linset_diff (xs1: set(INV(a)), xs2: set(a), cmp: cmp a): set (a) fun{a:t0p} linset_symdiff (xs1: set(INV(a)), xs2: set(a), cmp: cmp a): set (a) *) (* ****** ****** *) fun{a:t0p} linset_listize (xs: set(INV(a))): List0_vt (a) fun{a:t0p} linset_listize1 (xs: !set(INV(a))): List0_vt (a) (* ****** ****** *) fun{a:t0p} fprint_linset_sep (out: FILEref, xs: !set(INV(a)), sep: string): void // end of [fprint_linset_sep] (* ****** ****** *) fun{a:t0p} linset_foreach_funenv {v:view}{vt:viewtype} ( pf: !v | xs: !set(INV(a)), f: (!v | a, !vt) -> void, env: !vt ) : void // end of [linset_foreach_funenv] (* ****** ****** *) fun{a:t0p} linset_foreach_fun ( xs: !set(INV(a)), f: (a) - void ) : void // end of [linset_foreach_fun] fun{a:t0p} linset_foreach_cloref ( xs: !set(INV(a)), f: (a) - void ) : void // end of [linset_foreach_cloref] (* ****** ****** *) (* end of [linset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/ATS1/SATS/funheap_braun.sats0000664000175000017500000000607612655455557021220 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional heap implementation based on Braun trees ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: April, 2010 // based on a version done in November, 2008 ** *) (* ****** ****** *) // // HX-2011-11-13: // This style of heap is VERY inefficient! Please use funheap_binomial // instead, which is about 20 times faster for a heap of the size 1M. // (* ****** ****** *) // // HX-2014-01-15: // Porting to ATS2 from ATS1 // (* ****** ****** *) // abstype heap_t0ype_type (a:t@ype+) = ptr // typedef heap(a:t0p) = heap_t0ype_type (a) // (* ****** ****** *) typedef cmp (a:t0p) = (a, a) - int (* ****** ****** *) fun{a:t0p} compare_elt_elt (x1: a, x2: a, cmp: cmp a):<> int // end of [compare_elt_elt] (* ****** ****** *) fun{} funheap_make_nil{a:t0p} ():<> heap (a) (* ****** ****** *) // fun{a:t0p} funheap_size (heap(INV(a))):<> Size // (* ****** ****** *) // // HX: primarily for statistics // fun{a:t0p} funheap_height (hp: heap(INV(a))):<> intGte(0) // (* ****** ****** *) fun{a:t0p} funheap_insert (hp: &heap(INV(a)) >> _, x: a, cmp: cmp a): void (* ****** ****** *) fun{a:t@ype} funheap_getmin ( hp: heap (INV(a)), cmp: cmp a, res: &a? >> opt (a, b) ) : #[b:bool] bool b // end of [funheap_getmin] fun{a:t0p} funheap_getmin_opt (hp: heap(INV(a)), cmp: cmp a): Option_vt (a) // end of [funheap_getmin_opt] (* ****** ****** *) fun{a:t0p} funheap_delmin ( hp: &heap(INV(a)) >> _, cmp: cmp a, res: &a? >> opt (a, b) ) : #[b:bool] bool b // end of [funheap_delim] fun{a:t0p} funheap_delmin_opt (hp: &heap(INV(a)) >> _, cmp: cmp a): Option_vt (a) // end of [funheap_delmin_opt] (* ****** ****** *) (* end of [funheap_braun.sats] *) ATS2-Postiats-0.2.6/./libats/ATS1/SATS/funset_listord.sats0000664000175000017500000000717212655455557021445 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional map implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) abstype set_t0ype_type (a:t@ype+) = ptr typedef set (a:t0p) = set_t0ype_type (a) (* ****** ****** *) typedef cmp (a:t0p) = (a, a) - int fun{a:t0p} compare_elt_elt (x1: a, x2: a, cmp: cmp(a)):<> int (* ****** ****** *) fun{} funset_make_nil{a:t0p} ():<> set (a) fun{a:t0p} funset_make_sing (x0: a):<> set (a) // singleton set fun{a:t0p} funset_make_list (xs: List(INV(a)), cmp: cmp a): set (a) (* ****** ****** *) fun{a:t0p} funset_size (xs: set(INV(a))):<> sizeGte(0) (* ****** ****** *) fun{a:t0p} funset_is_member (xs: set(INV(a)), x0: a, cmp: cmp a):<> bool fun{a:t0p} funset_isnot_member (xs: set(INV(a)), x0: a, cmp: cmp a):<> bool (* ****** ****** *) fun{a:t0p} funset_is_equal (xs1: set(INV(a)), xs2: set (a), cmp: cmp (a)):<> bool // end of [funset_is_equal] fun{a:t0p} funset_is_subset (xs1: set(INV(a)), xs2: set (a), cmp: cmp (a)):<> bool // end of [funset_is_subset] (* ****** ****** *) (* ** set ordering induced by the ordering on elements *) fun{a:t0p} funset_compare (xs1: set(INV(a)), xs2: set(a), cmp: cmp (a)):<> int // end of [funset_compare] (* ****** ****** *) fun{a:t0p} funset_insert ( xs: &set(INV(a)) >> _, x0: a, cmp: cmp (a) ) : bool (* [x0] alreay exists in [xs] *) fun{a:t0p} funset_remove ( xs: &set(INV(a)) >> _, x0: a, cmp: cmp (a) ) : bool(* removed/~removed: true/false *) (* ****** ****** *) fun{a:t0p} funset_union (xs1: set(INV(a)), xs2: set(a), cmp: cmp (a)):<> set (a) fun{a:t0p} funset_intersect (xs1: set(INV(a)), xs2: set(a), cmp: cmp (a)):<> set (a) fun{a:t0p} funset_diff (xs1: set(INV(a)), xs2: set(a), cmp: cmp (a)):<> set (a) fun{a:t0p} funset_symdiff (xs1: set(INV(a)), xs2: set(a), cmp: cmp (a)):<> set (a) (* ****** ****** *) fun{a:t0p} funset_foreach_funenv {v:view}{vt:vtype} ( pf: !v | xs: set(INV(a)), f: (!v | a, !vt) -> void, env: !vt ) : void // end of [funset_foreach_funenv] (* ****** ****** *) // castfn funset2list{a:t0p} (xs: set(INV(a))):<> List (a) // fun{a:t0p} funset_listize (xs: set (a)): List0_vt (a) // = list_copy // (* ****** ****** *) (* end of [funset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/ATS1/SATS/funheap_binomial.sats0000664000175000017500000000527412655455557021702 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX-2014-01-15: // Porting to ATS2 from ATS1 // (* ****** ****** *) // abstype heap_t0ype_type (a:t@ype+) = ptr // typedef heap(a:t0p) = heap_t0ype_type(a) // (* ****** ****** *) // typedef cmp (a:t0p) = (a, a) - int // fun{a:t0p} compare_elt_elt (x1: a, x2: a, cmp: cmp a):<> int // (* ****** ****** *) fun{} funheap_make_nil{a:t0p} ():<> heap (a) (* ****** ****** *) fun{a:t0p} funheap_size (hp: heap(INV(a))):<> Size (* ****** ****** *) fun funheap_is_empty{a:t0p} (hp: heap(INV(a))):<> bool fun funheap_isnot_empty{a:t0p} (hp: heap(INV(a))):<> bool (* ****** ****** *) fun{a:t0p} funheap_insert (hp: &heap(INV(a)) >> _, x: a, cmp: cmp a): void // end of [funheap_insert] (* ****** ****** *) fun{a:t0p} funheap_getmin ( hp: heap(INV(a)), cmp: cmp a, res: &a? >> opt (a, b) ) : #[b:bool] bool b // end of [funheap_getmin] (* ****** ****** *) fun{a:t0p} funheap_delmin ( hp: &heap(INV(a)) >> _, cmp: cmp a, res: &a? >> opt (a, b) ) : #[b:bool] bool b // end of [funheap_delmin] fun{a:t0p} funheap_delmin_opt (hp: &heap(INV(a)) >> _, cmp: cmp a): Option_vt (a) // end of [funheap_delmin_opt] (* ****** ****** *) fun{a:t0p} funheap_merge (hp1: heap(INV(a)), hp2: heap (a), cmp: cmp a):<> heap (a) // end of [funheap_merge] (* ****** ****** *) (* end of [funheap_binomial.sats] *) ATS2-Postiats-0.2.6/./libats/ATS1/SATS/.keeper0000664000175000017500000000000012655455557016740 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ATS1/SATS/funmset_listord.sats0000664000175000017500000000733412655455557021622 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (* Hongwei Xi *) (* *) (***********************************************************************) (* ** ATS - Unleashing the Potential of Types! ** Copyright (C) 2002-2011 Hongwei Xi, Boston University ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional map implementation based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) // // HX-2014-01-15: Porting to ATS2 // (* ****** ****** *) // abstype mset_t0ype_type (a:t@ype+) = ptr // typedef mset(a:t@ype) = mset_t0ype_type(a) // (* ****** ****** *) typedef cmp (a:t@ype) = (a, a) - int fun{a:t@ype} compare_elt_elt (x1: a, x2: a, cmp: cmp (a)):<> int (* ****** ****** *) // fun{} funmset_make_nil {a:t@ype} ((*void*)):<> mset (a) // fun{a:t@ype} funmset_make_sing (x: a): mset (a) fun{a:t@ype} funmset_make_pair (x1: a, x2: a, cmp: cmp a): mset (a) // fun{a:t@ype} funmset_make_list (xs: List a, cmp: cmp a): mset (a) // (* ****** ****** *) fun{a:t@ype} funmset_size (xs: mset(INV(a))):<> Size (* ****** ****** *) fun{a:t@ype} funmset_get_ntime (xs: mset(INV(a)), x0: a, cmp: cmp a):<> intGte(0) // end of [funmset_get_ntime] (* ****** ****** *) fun{a:t@ype} funmset_is_member (xs: mset(INV(a)), x0: a, cmp: cmp a):<> bool fun{a:t@ype} funmset_isnot_member (xs: mset(INV(a)), x0: a, cmp: cmp a):<> bool (* ****** ****** *) fun{a:t@ype} funmset_is_equal (xs1: mset(INV(a)), mxs2: mset (a), cmp: cmp (a)):<> bool // end of [funmset_is_equal] (* ****** ****** *) fun{a:t@ype} funmset_is_subset (xs1: mset(INV(a)), xs2: mset (a), cmp: cmp (a)):<> bool // end of [funmset_is_subset] (* ****** ****** *) (* ** multiset ordering induced by the ordering on elements *) fun{a:t@ype} funmset_compare (xs1: mset(INV(a)), xs2: mset (a), cmp: cmp (a)):<> int // end of [funmset_compare] (* ****** ****** *) fun{a:t@ype} funmset_insert ( xs: &mset(INV(a)) >> _, x0: a, cmp: cmp (a) ) : void // end of [funmset_insert] fun{a:t@ype} funmset_remove ( xs: &mset(INV(a)) >> _, x0: a, cmp: cmp (a) ) : bool(*removed/not: true/false*) // end of [funmset_remove] (* ****** ****** *) fun{a:t@ype} funmset_union (xs1: mset(INV(a)), xs2: mset (a), cmp: cmp (a)): mset (a) fun{a:t@ype} funmset_intersect (xs1: mset(INV(a)), xs2: mset (a), cmp: cmp (a)): mset (a) (* ****** ****** *) // fun{a:t@ype} funmset_listize (xs: mset(INV(a))): List0_vt (a) // no repeats // fun{a:t@ype} // if an element occurs n times, then it is repeated funmset_mlistize (xs: mset (INV(a))): List0_vt (a) // n times in the output // (* ****** ****** *) (* end of [funmset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/ML/0000775000175000017500000000000012655455557014524 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/DATS/0000775000175000017500000000000012655455557015257 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/DATS/gvalue.dats0000664000175000017500000002127012655455557017421 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2015 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "libats/ML/SATS/basis.sats" // staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/array0.sats" staload "libats/ML/SATS/dynarray.sats" staload "libats/ML/SATS/hashtblref.sats" // staload "libats/ML/SATS/gvalue.sats" // (* ****** ****** *) // staload _ = "prelude/DATS/basics.dats" // staload _ = "prelude/DATS/integer.dats" staload _ = "prelude/DATS/pointer.dats" // staload _ = "prelude/DATS/string.dats" // staload _ = "prelude/DATS/reference.dats" // staload _ = "prelude/DATS/list.dats" staload _ = "prelude/DATS/list_vt.dats" // staload _ = "prelude/DATS/option.dats" staload _ = "prelude/DATS/option_vt.dats" // staload _ = "prelude/DATS/array.dats" staload _ = "prelude/DATS/arrayptr.dats" staload _ = "prelude/DATS/arrayref.dats" // staload _ = "prelude/DATS/gorder.dats" staload _ = "prelude/DATS/gnumber.dats" // staload _(*UN*) = "prelude/DATS/unsafe.dats" // (* ****** ****** *) // staload _(*anon*) = "libats/DATS/qlist.dats" // staload _(*anon*) = "libats/DATS/dynarray.dats" // staload _(*anon*) = "libats/DATS/hashfun.dats" staload _(*anon*) = "libats/DATS/linmap_list.dats" staload _(*anon*) = "libats/DATS/hashtbl_chain.dats" // staload _(*anon*) = "libats/ML/DATS/list0.dats" staload _(*anon*) = "libats/ML/DATS/array0.dats" staload _(*anon*) = "libats/ML/DATS/dynarray.dats" staload _(*anon*) = "libats/ML/DATS/hashtblref.dats" // (* ****** ****** *) // implement print_gvalue(x0) = fprint_gvalue(stdout_ref, x0) // implement prerr_gvalue(x0) = fprint_gvalue(stderr_ref, x0) // (* ****** ****** *) implement fprint_gvalue (out, gv0) = let (* // fprint_gvalue: enter *) in // case+ gv0 of // | GVnil() => fprint! (out, "GVnil(", ")") // | GVint(i) => fprint! (out, "GVint(", i, ")") // | GVptr(p) => fprint! (out, "GVptr(", p, ")") // | GVbool(b) => fprint! (out, "GVbool(", b, ")") | GVchar(c) => fprint! (out, "GVchar(", c, ")") // | GVfloat(x) => fprint! (out, "GVfloat(", x, ")") | GVstring(x) => fprint! (out, "GVstring(", x, ")") // | GVref(r) => fprint! (out, "GVref(", "...", ")") // | GVlist(xs) => fprint! (out, "GVlist(", xs, ")") // | GVarray(xs) => fprint! (out, "GVarray(", "...", ")") // | GVdynarr(xs) => fprint! (out, "GVdynarr(", "...", ")") // | GVhashtbl(kxs) => fprint! (out, "GVhashtbl(", "...", ")") // | GVfunclo_fun _ => fprint! (out, "GVfunclo_fun(", "...", ")") | GVfunclo_clo _ => fprint! (out, "GVfunclo_clo(", "...", ")") // end // end of [fprint_gvalue] (* ****** ****** *) implement fprint_gvlist (out, xs) = let // implement fprint_val = fprint_gvalue // in fprint_list0_sep(out, xs, ", ") end // end of [fprint_gvlist] (* ****** ****** *) implement fprint_gvarray (out, xs) = let // implement fprint_val = fprint_gvalue // in fprint_array0_sep(out, xs, ", ") end // end of [fprint_gvarray] (* ****** ****** *) implement fprint_gvdynarr (out, xs) = let // implement fprint_val = fprint_gvalue // in fprint_dynarray_sep(out, xs, ", ") end // end of [fprint_gvdynarr] (* ****** ****** *) implement fprint_gvhashtbl (out, kxs) = let // implement fprint_val = fprint_gvalue // in fprint_hashtbl_sep_mapto(out, kxs, "; ", "->") end // end of [fprint_gvhashtbl] (* ****** ****** *) implement fprint_val = fprint_gvalue (* ****** ****** *) // implement gvalue_nil() = GVnil() // implement gvalue_int(i) = GVint(i) // implement gvalue_ptr(p) = GVptr(p) // implement gvalue_bool(x) = GVbool(x) implement gvalue_char(x) = GVchar(x) // implement gvalue_float(x) = GVfloat(x) implement gvalue_string(x) = GVstring(x) // (* ****** ****** *) // implement gvalue_ref(r) = GVref(r) // implement gvalue_list(xs) = GVlist(xs) // implement gvalue_array(xs) = GVarray(xs) // implement gvalue_hashtbl(kxs) = GVhashtbl(kxs) // (* ****** ****** *) // implement gvref_make_elt (x0) = ref_make_elt(x0) // (* ****** ****** *) // implement gvarray_make_nil (asz) = ( array0_make_elt(i2sz(asz), GVnil()) ) // (* ****** ****** *) local typedef elt = gvalue in (* in-of-local *) implement gvdynarr_make_nil (cap) = let (* val () = println! ("gvdynarr_make_nil") *) in // dynarray_make_nil(i2sz(cap)) // end // end of [gvdynarr_make_nil] (* ****** ****** *) implement gvdynarr_get_at (DA, i) = let // val p0 = dynarray_getref_at(DA, i2sz(i)) // in // if isneqz(p0) then $UN.cptr_get(p0) else GVnil() // end // end of [gvdynarr_get_at] implement gvdynarr_set_at (DA, i, x) = let // val p0 = dynarray_getref_at(DA, i2sz(i)) // in // if isneqz(p0) then $UN.cptr_set(p0, x) else ((*void*)) // end // end of [gvdynarr_set_at] (* ****** ****** *) implement gvdynarr_insert_atbeg (DA, x0) = let // val opt = dynarray_insert_atbeg(DA, x0) // in // case+ opt of | ~None_vt() => () | ~Some_vt(x0) => ( let val () = assertloc(false) in (*void*) end ) (* end of [Some_vt] *) // end // end of [gvdynarr_insert_atbeg] implement gvdynarr_insert_atend (DA, x0) = let // val opt = dynarray_insert_atend(DA, x0) // in // case+ opt of | ~None_vt() => () | ~Some_vt(x0) => let val () = assertloc(false) in (*void*) end // end // end of [gvdynarr_insert_atend] (* ****** ****** *) implement gvdynarr_listize0(DA) = dynarray_listize0(DA) implement gvdynarr_listize1(DA) = dynarray_listize1(DA) (* ****** ****** *) end // end of [local] (* ****** ****** *) local // typedef key = string typedef itm = gvalue // in (* in-of-local *) implement gvhashtbl_make_nil (cap) = let (* val () = println! ("gvhashtbl_make_nil") *) in hashtbl_make_nil(i2sz(cap)) end // end of [gvhashtbl_make_nil] implement gvhashtbl_get_atkey (tbl, k0) = let // val cp = hashtbl_search_ref(tbl, k0) // in if isneqz(cp) then $UN.cptr_get(cp) else GVnil() end // end of [gvhashtbl_get_atkey] implement gvhashtbl_set_atkey (tbl, k0, x0) = let // val opt = hashtbl_insert(tbl, k0, x0) // in case+ opt of ~None_vt() => () | ~Some_vt _ => () end // end of [gvhashtbl_set_atkey] implement gvhashtbl_exch_atkey (tbl, k0, x0) = let // val opt = hashtbl_insert(tbl, k0, x0) // in // case+ opt of ~None_vt() => GVnil() | ~Some_vt(x1) => x1 // end // end of [gvhashtbl_set_atkey] (* ****** ****** *) implement gvhashtbl_pop_atkey (tbl, k) = let (* // val () = println! (gvhashtbl_pop_atkey) // *) // in // case+ tbl[k] of | GVnil() => GVnil() | GVlist(xs) => ( case+ xs of | list0_nil() => GVnil() | list0_cons(x, xs) => (tbl[k] := GVlist(xs); x) // end of [list0_cons] ) | _(*non-list*) => let val () = prerrln! ("gvhashtbl_pop_atkey") // end of [val] val () = assertloc(false) in GVnil(*void*) end // end of [_] // end // end of [gvhashtbl_push_atkey] (* ****** ****** *) implement gvhashtbl_push_atkey (tbl, k, x) = let (* // val () = println! (gvhashtbl_push_atkey) // *) // in // case+ tbl[k] of | GVnil() => tbl[k] := GVlist(list0_sing(x)) | GVlist(xs) => tbl[k] := GVlist(list0_cons(x, xs)) | _(*non-list*) => let val () = prerrln! ("gvhashtbl_push_atkey") // end of [val] val () = assertloc(false) in (*void*) end // end of [_] // end // end of [gvhashtbl_push_atkey] (* ****** ****** *) // implement gvhashtbl_listize1(tbl) = hashtbl_listize1(tbl) // (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [gvalue.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/hashtblref.dats0000664000175000017500000001447712655455557020273 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload HT = "libats/SATS/hashtbl_chain.sats" // (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" (* ****** ****** *) staload "libats/SATS/hashfun.sats" staload "libats/ML/SATS/hashtblref.sats" (* ****** ****** *) (* implement {key}(*tmp*) hash_key = ghash_val *) (* ****** ****** *) implement {key}(*tmp*) equal_key_key = gequal_val_val (* ****** ****** *) // implement hash_key (key) = let val key = $UN.cast{uint32}(key) in $UN.cast{ulint}(inthash_jenkins<>(key)) end // end of [hash_key] // implement hash_key (key) = let val key = $UN.cast{uint32}(key) in $UN.cast{ulint}(inthash_jenkins<>(key)) end // end of [hash_key] // (* ****** ****** *) // // HX: 31 and 37 are top choices // implement hash_key (key) = string_hash_multiplier (31UL, 31415926536UL, key) // (* ****** ****** *) // implement {key}(*tmp*) $HT.hash_key = hash_key // implement {key}(*tmp*) $HT.equal_key_key = equal_key_key // (* ****** ****** *) // extern castfn hashtbl_encode {key,itm:t0p} ( $HT.hashtbl(key, INV(itm)) ) : hashtbl(key, itm) // extern castfn hashtbl_decode {key,itm:t0p} (hashtbl(key, INV(itm))): $HT.hashtbl(key, itm) // (* ****** ****** *) #define htencode hashtbl_encode #define htdecode hashtbl_decode (* ****** ****** *) // implement {key,itm} hashtbl_make_nil (cap) = htencode($HT.hashtbl_make_nil (cap)) // (* ****** ****** *) implement{} hashtbl_get_size (tbl) = nitm where { // val tbl = htdecode (tbl) val nitm = $HT.hashtbl_get_size (tbl) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_get_size] *) (* ****** ****** *) implement{} hashtbl_get_capacity (tbl) = cap where { // val tbl = htdecode (tbl) val cap = $HT.hashtbl_get_capacity (tbl) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_get_capacity] *) (* ****** ****** *) implement {key,itm} hashtbl_search (tbl, k) = opt where { // val tbl = htdecode (tbl) val opt = $HT.hashtbl_search_opt (tbl, k) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_search] *) (* ****** ****** *) implement {key,itm} hashtbl_search_ref (tbl, k) = cptr where { // val tbl = htdecode (tbl) val cptr = $HT.hashtbl_search_ref (tbl, k) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_search_ref] *) (* ****** ****** *) implement {key,itm} hashtbl_insert (tbl, k, x) = opt where { // val tbl = htdecode (tbl) val opt = $HT.hashtbl_insert_opt (tbl, k, x) prval () = $UN.cast2void (tbl) // } (* hashtbl_insert *) (* ****** ****** *) implement {key,itm} hashtbl_insert_any (tbl, k, x) = () where { // val tbl = htdecode (tbl) val () = $HT.hashtbl_insert_any (tbl, k, x) prval () = $UN.cast2void (tbl) // } (* hashtbl_insert_any *) (* ****** ****** *) implement {key,itm} hashtbl_takeout (tbl, k) = opt where { // val tbl = htdecode (tbl) val opt = $HT.hashtbl_takeout_opt (tbl, k) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_takeout] *) (* ****** ****** *) implement {key,itm} hashtbl_remove (tbl, k) = ans where { // val tbl = htdecode (tbl) val ans = $HT.hashtbl_remove (tbl, k) prval () = $UN.cast2void (tbl) // } (* end of [hashtbl_remove] *) (* ****** ****** *) implement {key,itm} hashtbl_takeout_all (tbl) = kxs where { // val tbl = htdecode (tbl) val kxs = $HT.hashtbl_takeout_all (tbl) prval () = $UN.cast2void (tbl) val kxs = list0_of_list_vt{(key,itm)}(kxs) // } (* end of [hashtbl_takeout_all] *) (* ****** ****** *) implement {key,itm} fprint_hashtbl (out, tbl) = let // implement $HT.fprint_hashtbl$sep<> = fprint_hashtbl$sep<> implement $HT.fprint_hashtbl$mapto<> = fprint_hashtbl$mapto<> // val tbl = htdecode (tbl) val () = $HT.fprint_hashtbl (out, tbl) prval () = $UN.cast2void (tbl) // in // nothing end // end of [fprint_hashtbl] (* ****** ****** *) implement{} fprint_hashtbl$sep (out) = fprint (out, "; ") implement{} fprint_hashtbl$mapto (out) = fprint (out, "->") (* ****** ****** *) implement {key,itm} fprint_hashtbl_sep_mapto (out, tbl, sep, mapto) = let // implement fprint_hashtbl$sep<> (out) = fprint (out, sep) implement fprint_hashtbl$mapto<> (out) = fprint (out, mapto) // in fprint_hashtbl(out, tbl) end // end of [fprint_hashtbl_sep_mapto] (* ****** ****** *) implement {key,itm} hashtbl_foreach_cloref (tbl, fwork) = () where { // var env: void = ((*void*)) // implement (env)(*tmp*) $HT.hashtbl_foreach$fwork (k, x, env) = fwork(k, x) // val tbl = htdecode (tbl) val ((*void*)) = $HT.hashtbl_foreach_env (tbl, env) prval ((*void*)) = $UN.cast2void (tbl) // } (* end of [hashtbl_foreach_cloref] *) (* ****** ****** *) implement {key,itm} hashtbl_listize1 (tbl) = kxs where { // typedef ki = @(key, itm) // val tbl = htdecode (tbl) val kxs = $HT.hashtbl_listize1 (tbl) prval () = $UN.cast2void (tbl) val kxs = list0_of_list_vt{(key,itm)}(kxs) // } (* end of [hashtbl_listize1] *) (* ****** ****** *) (* end of [hashtblref.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/funmap.dats0000664000175000017500000000703312655455557017425 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) // // HX-2012-12: // the map implementation is based on AVL trees // (* ****** ****** *) // staload FM = "libats/SATS/funmap_avltree.sats" // (* ****** ****** *) staload "libats/ML/SATS/list0.sats" (* ****** ****** *) staload "libats/ML/SATS/funmap.sats" (* ****** ****** *) // assume map_type(key, itm) = $FM.map (key, itm) // (* ****** ****** *) implement{a} compare_key_key = gcompare_val_val implement{a} $FM.compare_key_key = compare_key_key (* ****** ****** *) implement {}(*tmp*) funmap_nil() = $FM.funmap_nil () implement {}(*tmp*) funmap_make_nil() = $FM.funmap_make_nil () (* ****** ****** *) implement{} funmap_is_nil(map) = $FM.funmap_is_nil (map) implement{} funmap_isnot_nil(map) = $FM.funmap_isnot_nil (map) (* ****** ****** *) // implement {key,itm} funmap_size (map) = $FM.funmap_size (map) // (* ****** ****** *) // implement {key,itm} funmap_search (map, k) = $FM.funmap_search_opt (map, k) // (* ****** ****** *) // implement {key,itm} funmap_insert (map, k, x) = $FM.funmap_insert_opt (map, k, x) // (* ****** ****** *) // implement {key,itm} funmap_takeout (map, k) = $FM.funmap_takeout_opt (map, k) // (* ****** ****** *) // implement {key,itm} funmap_remove (map, k) = $FM.funmap_remove (map, k) // (* ****** ****** *) implement {key,itm} fprint_funmap (out, map) = let // implement $FM.fprint_funmap$sep<> = fprint_funmap$sep<> implement $FM.fprint_funmap$mapto<> = fprint_funmap$mapto<> // val () = $FM.fprint_funmap (out, map) // in // nothing end // end of [fprint_funmap] (* ****** ****** *) implement{} fprint_funmap$sep (out) = fprint (out, "; ") implement{} fprint_funmap$mapto (out) = fprint (out, "->") (* ****** ****** *) implement {key,itm} funmap_foreach_cloref (tbl, fwork) = () where { // var env: void = ((*void*)) // implement (env)(*tmp*) $FM.funmap_foreach$fwork (k, x, env) = fwork(k, x) // val ((*void*)) = $FM.funmap_foreach_env (tbl, env) // } (* end of [funmap_foreach_cloref] *) (* ****** ****** *) implement {key,itm} funmap_listize (map) = let val xs = $effmask_wrt ($FM.funmap_listize (map)) in list0_of_list_vt (xs) end // end of [funmap_listize] (* ****** ****** *) (* end of [funmap.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/funset.dats0000664000175000017500000001455112655455557017446 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX-2012-12: the set implementation is based on AVL trees // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload FS = "libats/SATS/funset_avltree.sats" // (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" (* ****** ****** *) staload "libats/ML/SATS/funset.sats" (* ****** ****** *) implement{a} compare_elt_elt = gcompare_val_val implement{a} $FS.compare_elt_elt = compare_elt_elt (* ****** ****** *) assume set_type (a:t0p) = $FS.set (a) (* ****** ****** *) implement{} funset_nil () = $FS.funset_nil () implement{} funset_make_nil () = $FS.funset_make_nil () (* ****** ****** *) implement{a} funset_sing (x) = $FS.funset_sing (x) implement{a} funset_make_sing (x) = $FS.funset_make_sing (x) (* ****** ****** *) implement{a} funset_make_list (xs) = let // val xs = g1ofg0_list (xs) implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_make_list (xs) end // end of [funset_make_list] (* ****** ****** *) implement{} fprint_funset$sep (out) = fprint_string (out, ", ") implement{a} fprint_funset (out, xs) = let // implement $FS.fprint_funset$sep<> (out) = fprint_funset$sep (out) // in $FS.fprint_funset (out, xs) end // end of [fprint_funset] (* ****** ****** *) implement{} funset_is_nil (xs) = $FS.funset_is_nil (xs) implement{} funset_isnot_nil (xs) = $FS.funset_isnot_nil (xs) (* ****** ****** *) implement{a} funset_size (xs) = $FS.funset_size (xs) (* ****** ****** *) implement {a}(*tmp*) funset_is_member (xs, x0) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_is_member (xs, x0) end // end of [funset_is_member] implement {a}(*tmp*) funset_isnot_member (xs, x0) = ~funset_is_member (xs, x0) (* ****** ****** *) implement {a}(*tmp*) funset_insert (xs, x0) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_insert (xs, x0) end // end of [funset_insert] (* ****** ****** *) implement {a}(*tmp*) funset_remove (xs, x0) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_remove (xs, x0) end // end of [funset_remove] (* ****** ****** *) implement {a}(*tmp*) funset_getmax_opt = $FS.funset_getmax_opt implement {a}(*tmp*) funset_getmin_opt = $FS.funset_getmin_opt (* ****** ****** *) implement {a}(*tmp*) funset_takeoutmax_opt = $FS.funset_takeoutmax_opt implement {a}(*tmp*) funset_takeoutmin_opt = $FS.funset_takeoutmin_opt (* ****** ****** *) implement {a}(*tmp*) funset_union (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_union (xs1, xs2) end // end of [funset_union] (* ****** ****** *) implement {a}(*tmp*) funset_intersect (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_intersect (xs1, xs2) end // end of [funset_intersect] (* ****** ****** *) implement {a}(*tmp*) funset_differ (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_differ (xs1, xs2) end // end of [funset_differ] (* ****** ****** *) implement {a}(*tmp*) funset_symdiff (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_symdiff (xs1, xs2) end // end of [funset_symdiff] (* ****** ****** *) implement {a}(*tmp*) funset_equal (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_equal (xs1, xs2) end // end of [funset_equal] (* ****** ****** *) implement {a}(*tmp*) funset_compare (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_compare (xs1, xs2) end // end of [funset_compare] (* ****** ****** *) implement {a}(*tmp*) funset_is_subset (xs1, xs2) = let // implement $FS.compare_elt_elt = compare_elt_elt // in $FS.funset_is_subset (xs1, xs2) end // end of [funset_is_subset] implement {a}(*tmp*) funset_is_supset (xs1, xs2) = funset_is_subset (xs2, xs1) (* ****** ****** *) implement {a}(*tmp*) funset_foreach (xs) = let // var env: void = ((*void*)) // in funset_foreach_env (xs, env) end // end of [funset_foreach] implement {a}{env} funset_foreach_env (xs, env) = let // implement $FS.funset_foreach$fwork (x, env) = funset_foreach$fwork (x, env) // in $FS.funset_foreach_env (xs, env) end // end of [funset_foreach_env] implement {a}(*tmp*) funset_foreach_cloref (xs, fwork) = let // var env: void = ((*void*)) // implement (env)(*tmp*) $FS.funset_foreach$fwork (x, env) = fwork (x) // in $FS.funset_foreach_env (xs, env) end // end of [funset_foreach_cloref] (* ****** ****** *) implement {a}(*tmp*) funset_tabulate_cloref {n}(n, fopr) = let // implement $FS.funset_tabulate$fopr (i) = fopr($UN.cast{natLt(n)}(i)) // in $FS.funset_tabulate (n) end // end of [funset_tabulate] (* ****** ****** *) // implement {a}(*tmp*) funset_listize (xs) = ($effmask_wrt(list0_of_list_vt{a}($FS.funset_listize(xs)))) // (* ****** ****** *) (* end of [funset.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/filebas_dirent.dats0000664000175000017500000000633412655455557021114 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: September, 2013 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*INT*) = "prelude/DATS/integer.dats" staload _(*STRING*) = "prelude/DATS/string.dats" staload _(*STRING*) = "prelude/DATS/strptr.dats" staload _(*UNSAFE*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) // staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/string.sats" // staload "libats/ML/SATS/filebas.sats" // (* ****** ****** *) staload DIR = "libc/SATS/dirent.sats" staload _(*anon*) = "libc/DATS/dirent.dats" (* ****** ****** *) staload QUE = "libats/SATS/qlist.sats" staload _(*anon*) = "libats/DATS/qlist.dats" (* ****** ****** *) stadef dirent = $DIR.dirent stadef DIRptr1 = $DIR.DIRptr1 stadef qstruct0 = $QUE.qstruct0 (* ****** ****** *) implement dirname_get_fnamelst (dirname) = let // vtypedef res = $QUE.qstruct0 (string) // fun loop ( dirp: !DIRptr1, res: &res >> _ ) : void = let // var ent: dirent? var result: ptr? // val err = $DIR.readdir_r (dirp, ent, result) // in // if result > 0 then let prval () = opt_unsome{dirent}(ent) val d_name = $DIR.dirent_get_d_name_gc (ent) val () = $QUE.qstruct_insert (res, strptr2string(d_name)) in loop (dirp, res) end else let prval () = opt_unnone{dirent}(ent) in // nothing end // end of [if] // end // end of [loop] // val dirp = $DIR.opendir (dirname) // in // if $DIR.DIRptr2ptr(dirp) > 0 then let var res: $QUE.qstruct val () = $QUE.qstruct_initize{string}(res) val () = loop (dirp, res) val res2 = $QUE.qstruct_takeout_list (res) prval () = $QUE.qstruct_uninitize{string}(res) val () = $DIR.closedir_exn (dirp) in g0ofg1_list_vt (res2) end else let prval () = $DIR.DIRptr_free_null (dirp) in list0_nil(*void*) end // end of [if] // end // end of [dirname_get_fnamelst] (* ****** ****** *) (* end of [dirent.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/list0.dats0000664000175000017500000005073612655455557017202 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" (* ****** ****** *) // implement {a}(*tmp*) list0_make_sing (x) = list0_cons{a}(x, list0_nil) implement {a}(*tmp*) list0_make_pair (x1, x2) = list0_cons{a}(x1, list0_cons{a}(x2, list0_nil)) // (* ****** ****** *) implement {a}(*tmp*) list0_make_elt (n, x) = let // val n = g1ofg0(n) // in // if n >= 0 then let val xs = $effmask_wrt (list_make_elt (n, x)) // end of [val] in list0_of_list_vt (xs) end // end of [then] else let in $raise (IllegalArgExn"list0_make_elt:n") end // end of [else] // end // end of [list0_make_elt] (* ****** ****** *) implement {}(*tmp*) list0_make_intrange_lr (l, r) = let val d = ( if l <= r then 1 else ~1 ) : int // end of [val] in $effmask_exn (list0_make_intrange_lrd (l, r, d)) end // end of [list0_make_intrange_lr] (* ****** ****** *) implement {}(*tmp*) list0_make_intrange_lrd (l, r, d) = let // typedef res = list0 (int) // fun loop1 // d > 0 ( l: int, r: int, d: int, res: &ptr? >> res ) : void = let in // if l < r then let val () = ( res := list0_cons{int}(l, _) ) val+list0_cons (_, res1) = res val () = loop1 (l+d, r, d, res1) prval () = fold@ (res) in // nothing end else (res := list0_nil) // end // end of [loop1] // fun loop2 // d < 0 ( l: int, r: int, d: int, res: &ptr? >> res ) : void = let in // if l > r then let val () = ( res := list0_cons{int}(l, _) ) val+ list0_cons (_, res1) = res val () = loop2 (l+d, r, d, res1) prval () = fold@ (res) in // nothing end else (res := list0_nil) // end // end of [loop2] // in // $effmask_all ( if d > 0 then ( if l < r then let var res: ptr? // uninitialized val () = loop1 (l, r, d, res) in res end else list0_nil () ) else if d < 0 then ( if l > r then let var res: ptr? // uninitialized val () = loop2 (l, r, d, res) in res end else list0_nil () ) else ( $raise IllegalArgExn("list0_make_intrange_lrd:d") ) // end of [if] ) // end of [$effmask_all] // end // end of [list0_make_intrange_lrd] (* ****** ****** *) implement {a}(*tmp*) list0_make_arrpsz (psz) = list0_of_list_vt (list_make_arrpsz (psz)) // end of [list0_make_arrpsz] (* ****** ****** *) // implement {a}(*tmp*) print_list0(xs) = fprint_list0 (stdout_ref, xs) implement {a}(*tmp*) prerr_list0(xs) = fprint_list0 (stderr_ref, xs) // implement {a}(*tmp*) fprint_list0(out, xs) = fprint_list (out, g1ofg0(xs)) // implement {a}(*tmp*) fprint_list0_sep (out, xs, sep) = let val xs = g1ofg0(xs) in fprint_list_sep (out, xs, sep) end // end of [fprint_list0_sep] // (* ****** ****** *) // (* // // HX: these have been declared as macros: // implement {a}(*tmp*) list0_sing (x) = list0_cons{a}(x, list0_nil) implement {a}(*tmp*) list0_pair (x1, x2) = list0_cons{a}(x1, list0_cons{a}(x2, list0_nil)) // *) // (* ****** ****** *) implement {a}(*tmp*) list0_is_nil(xs) = ( // case+ xs of | list0_cons _ => false | list0_nil() => true // ) (* end of [list0_is_nil] *) implement {a}(*tmp*) list0_is_cons(xs) = ( // case+ xs of | list0_cons _ => true | list0_nil() => false // ) (* end of [list0_is_cons] *) (* ****** ****** *) // implement {a}(*tmp*) list0_is_empty(xs) = list0_is_nil (xs) // implement {a}(*tmp*) list0_isnot_empty(xs) = list0_is_cons (xs) // (* ****** ****** *) implement {a}(*tmp*) list0_head_exn (xs) = let in // case+ xs of | list0_cons (x, _) => (x) // list0_cons | list0_nil _ => $raise ListSubscriptExn() // list0_nil end // end of [list0_head_exn] implement {a}(*tmp*) list0_head_opt (xs) = let in // case+ xs of | list0_nil() => None_vt() | list0_cons(x, _) => Some_vt{a}(x) // end // end of [list0_head_opt] (* ****** ****** *) implement {a}(*tmp*) list0_tail_exn (xs) = let in // case+ xs of | list0_cons (_, xs) => (xs) // list0_cons | list0_nil _ => $raise ListSubscriptExn() // list0_nil // end // end of [list0_tail_exn] implement {a}(*tmp*) list0_tail_opt (xs) = let in // case+ xs of | list0_nil() => None_vt() | list0_cons(_, xs) => Some_vt{list0(a)}(xs) // end // end of [list0_tail_opt] (* ****** ****** *) implement {a}(*tmp*) list0_last_exn (xs) = let // val xs = g1ofg0_list(xs) // in // case+ xs of | list_cons _ => list_last (xs) | list_nil () => $raise ListSubscriptExn() // end // end of [list0_last_exn] implement {a}(*tmp*) list0_last_opt (xs) = let // val xs = g1ofg0_list(xs) // in // case+ xs of | list_nil () => None_vt() | list_cons _ => Some_vt{a}(list_last(xs)) // end // end of [list0_last_opt] (* ****** ****** *) local fun{a:t0p} loop{i:nat} .. ( xs: list0 (a), i: int i ) : a = let in // case+ xs of | list0_cons (x, xs) => ( if i > 0 then loop (xs, i-1) else x ) // end of [list0_cons] | list0_nil () => $raise ListSubscriptExn() // end // end of [loop] in (* in of [local] *) implement {a}(*tmp*) list0_nth_exn (xs, i) = let // val i = g1ofg0_int (i) // in // if i >= 0 then loop (xs, i) else $raise ListSubscriptExn() // end // end of [list0_nth_exn] implement {a}(*tmp*) list0_nth_opt (xs, i) = let // val i = g1ofg0(i) // in // if i >= 0 then ( $effmask_exn ( try Some_vt{a}(loop(xs, i)) with ~ListSubscriptExn() => None_vt() ) (* $effmask_exn *) ) else None_vt((*void*)) // end // end of [list0_nth_opt] end // end of [local] (* ****** ****** *) // implement {a}(*tmp*) list0_get_at_exn (xs, i) = list0_nth_exn (xs, i) // (* ****** ****** *) implement {a}(*tmp*) list0_insert_at_exn (xs, i, x0) = let // fun aux {i:nat} .. ( xs: list0 a, i: int i, x0: a ) : list0 a = let in // if i > 0 then ( // case+ xs of | list0_cons (x, xs) => ( list0_cons{a}(x, aux (xs, i-1, x0)) ) | list0_nil() => $raise ListSubscriptExn() // ) else ( list0_cons{a}(x0, xs) ) (* end of [if] *) // end // end of [aux] // val i = g1ofg0_int(i) // in // if i >= 0 then aux (xs, i, x0) else $raise IllegalArgExn("list0_insert_at_exn:i") // end // end of [list0_insert_at_exn] (* ****** ****** *) local fun{ a:t0p } auxlst {i:nat} .. ( xs: list0 (a), i: int i, x0: &a? >> a ) : list0 a = let // extern praxi __assert : (&a? >> a) - void // in // case+ xs of | list0_cons (x, xs) => let in if i > 0 then list0_cons{a}(x, auxlst (xs, i-1, x0)) else let val () = x0 := x in xs end (* end of [if] *) end // end of [list0_cons] | list0_nil () => let prval () = __assert (x0) in $raise ListSubscriptExn() end // end of [list0_nil] // end // end of [auxlst] in (* in of [local] *) implement {a}(*tmp*) list0_remove_at_exn (xs, i) = let // var x0: a? val i = g1ofg0_int (i) // in $effmask_wrt ( if i >= 0 then auxlst (xs, i, x0) else ( $raise IllegalArgExn("list0_remove_at_exn:i") ) (* end of [else] *) ) end // end of [list0_remove_at_exn] (* ****** ****** *) implement {a}(*tmp*) list0_takeout_at_exn (xs, i, x0) = let // val i = g1ofg0_int (i) // extern praxi __assert : (&a? >> a) - void // in // if i >= 0 then auxlst (xs, i, x0) else let prval () = __assert (x0) in $raise IllegalArgExn("list0_takeout_at_exn:i") end // end of [if] // end // end of [list0_takeout_at_exn] end // end of [local] (* ****** ****** *) // implement {a}(*tmp*) list0_length(xs) = list_length (g1ofg0(xs)) // (* ****** ****** *) implement {a}(*tmp*) list0_append(xs, ys) = let val xs = g1ofg0(xs) and ys = g1ofg0(ys) in list0_of_list(list_append (xs, ys)) end // end of [list0_append] (* ****** ****** *) implement {a}(*tmp*) list0_extend(xs, x) = let val xs = g1ofg0(xs) val xs_x = $effmask_wrt(list_extend (xs, x)) // end of [val] in list0_of_list_vt(xs_x) end // end of [list0_extend] (* ****** ****** *) implement {a}(*tmp*) list0_reverse(xs) = list0_reverse_append (xs, list0_nil) // end of [list0_reverse] implement {a}(*tmp*) list0_reverse_append (xs, ys) = let val xs = g1ofg0(xs) and ys = g1ofg0(ys) in list0_of_list (list_reverse_append (xs, ys)) end // end of [list0_reverse_append] (* ****** ****** *) implement {a}(*tmp*) list0_concat (xss) = let typedef xss = List(List(a)) val ys = $effmask_wrt (list_concat ($UN.cast{xss}(xss))) // end of [val] in list0_of_list_vt (ys) end // end of [list0_concat] (* ****** ****** *) implement {a}(*tmp*) list0_take_exn (xs, i) = let // val i = g1ofg0_int (i) val xs = g1ofg0_list (xs) // in if i >= 0 then let val res = $effmask_wrt (list_take_exn (xs, i)) // end of [val] in list0_of_list_vt (res) end else $raise (IllegalArgExn"list0_take_exn:i") // end of [if] end // end of [list0_take_exn] (* ****** ****** *) implement {a}(*tmp*) list0_drop_exn (xs, i) = let // val i = g1ofg0_int (i) val xs = g1ofg0_list (xs) // in if i >= 0 then list0_of_list (list_drop_exn (xs, i)) else $raise (IllegalArgExn"list0_drop_exn:i") // end of [if] end // end of [list0_drop_exn] (* ****** ****** *) // implement {a}(*tmp*) list0_app (xs, f) = list0_foreach (xs, f) // (* ****** ****** *) implement {a}(*tmp*) list0_foreach (xs, f) = let in case+ xs of | list0_cons (x, xs) => (f (x); list0_foreach (xs, f)) | list0_nil () => () end // end of [list0_foreach] (* ****** ****** *) implement {a}(*tmp*) list0_iforeach (xs, f) = let fun loop ( i: int, xs: list0 (a), f: cfun2 (int, a, void) ) : int = case+ xs of | list0_cons (x, xs) => (f (i, x); loop (i+1, xs, f)) | list0_nil () => i // end of [loop] in loop (0, xs, f) end // end of [list0_iforeach] (* ****** ****** *) implement {a1,a2} list0_foreach2 (xs1, xs2, f) = let var sgn: int // uninitialized in list0_foreach2_eq (xs1, xs2, f, sgn) end // end of [list0_foreach2] implement {a1,a2} list0_foreach2_eq (xs1, xs2, f, sgn) = let in case+ xs1 of | list0_cons (x1, xs1) => ( case+ xs2 of | list0_cons (x2, xs2) => (f (x1, x2); list0_foreach2_eq (xs1, xs2, f, sgn)) | list0_nil () => (sgn := 1) ) | list0_nil () => ( case+ xs2 of | list0_cons _ => (sgn := ~1) | list0_nil () => (sgn := 0) ) end // end of [list0_foreach2_eq] (* ****** ****** *) implement {a}{res} list0_foldleft (xs, ini, f) = let in case+ xs of | list0_cons (x, xs) => let val ini = f (ini, x) in list0_foldleft (xs, ini, f) end // end of [list0_cons] | list0_nil () => ini end // end of [list0_foldleft] implement {a}{res} list0_ifoldleft (xs, ini, f) = let fun loop ( i: int, xs: list0 (a), ini: res, f: cfun3 (res, int, a, res) ) : res = case+ xs of | list0_cons (x, xs) => let val init = f (ini, i, x) in loop (i+1, xs, ini, f) end // end of [list0_cons] | list0_nil () => ini // end of [loop] in loop (0, xs, ini, f) end // end of [list0_ifoldleft] (* ****** ****** *) implement {a1,a2}{res} list0_foldleft2 (xs1, xs2, ini, f) = let in case+ xs1 of | list0_cons (x1, xs1) => ( case+ xs2 of | list0_cons (x2, xs2) => let val init = f (ini, x1, x2) in list0_foldleft2 (xs1, xs2, ini, f) end // end of [list0_cons] | list0_nil () => ini ) | list0_nil () => ini end // end of [list0_foldleft2] (* ****** ****** *) implement {a}{res} list0_foldright (xs, f, snk) = let in case+ xs of | list0_cons (x, xs) => f (x, list0_foldright (xs, f, snk)) | list0_nil () => snk end // end of [list0_foldright] (* ****** ****** *) implement {a}(*tmp*) list0_exists (xs, p) = let in case+ xs of | list0_cons (x, xs) => if p (x) then true else list0_exists (xs, p) | list0_nil () => false end // end of [list0_exists] implement {a1,a2} list0_exists2 (xs1, xs2, p) = let in case+ xs1 of | list0_cons (x1, xs1) => ( case+ xs2 of | list0_cons (x2, xs2) => if p (x1, x2) then true else list0_exists2 (xs1, xs2, p) | list0_nil () => false ) | list0_nil () => false end // end of [list0_exists2] (* ****** ****** *) implement {a}(*tmp*) list0_forall (xs, p) = let in case+ xs of | list0_cons (x, xs) => if p (x) then list0_forall (xs, p) else false | list0_nil () => true end // end of [list0_forall] (* ****** ****** *) implement {a1,a2} list0_forall2 (xs1, xs2, p) = let var sgn: int // uninitialized in list0_forall2_eq (xs1, xs2, p, sgn) end // end of [list0_forall2] implement {a1,a2} list0_forall2_eq (xs1, xs2, p, sgn) = let in case+ xs1 of | list0_cons (x1, xs1) => ( case+ xs2 of | list0_cons (x2, xs2) => if p (x1, x2) then list0_forall2_eq (xs1, xs2, p, sgn) else (sgn := 0; false) // end of [if] | list0_nil () => (sgn := 1; true) ) | list0_nil () => ( case+ xs2 of | list0_cons _ => (sgn := ~1; true) | list0_nil () => (sgn := 0; true) ) end // end of [list0_forall2_eq] (* ****** ****** *) implement {a}(*tmp*) list0_equal (xs1, xs2, eqfn) = case+ (xs1, xs2) of | (list0_cons (x1, xs1), list0_cons (x2, xs2)) => if eqfn (x1, x2) then list0_equal (xs1, xs2, eqfn) else false | (list0_nil (), list0_nil ()) => true | (_, _) => false // end of [list0_equal] (* ****** ****** *) implement {a}(*tmp*) list0_find_exn (xs, p) = let in // case+ xs of | list0_cons (x, xs) => if p (x) then x else list0_find_exn (xs, p) | list0_nil ((*void*)) => $raise NotFoundExn() // end // end of [list0_find_exn] implement {a}(*tmp*) list0_find_opt (xs, p) = let in // case+ xs of | list0_cons (x, xs) => ( if p (x) then Some_vt{a}(x) else list0_find_opt (xs, p) ) (* end of [list_cons] *) | list0_nil ((*void*)) => None_vt () // end // end of [list0_find_opt] (* ****** ****** *) implement {a,b}(*tmp*) list0_assoc_exn (xys, x0, eq) = let in // case+ xys of | list0_cons (xy, xys) => if eq (x0, xy.0) then xy.1 else list0_assoc_exn (xys, x0, eq) // end of [if] | list0_nil ((*void*)) => $raise NotFoundExn() // end // end of [list0_assoc_exn] implement {a,b}(*tmp*) list0_assoc_opt (xys, x0, eq) = let in // case+ xys of | list0_cons (xy, xys) => ( if eq (x0, xy.0) then Some_vt{b}(xy.1) else list0_assoc_opt (xys, x0, eq) // end of [if] ) (* end of [list_cons] *) | list0_nil ((*void*)) => None_vt () // end // end of [list0_assoc_opt] (* ****** ****** *) (* implement {a}{b} list0_map (xs, f) = let viewdef v = unit_v viewtypedef vt = cfun (a, b) fun app .<>. (pfu: !unit_v | x: a, f: !vt): b = f (x) // end of [fun] prval pfu = unit_v () var f = f val ys = list_map_funenv {v}{vt} (pfu | g1ofg0(xs), app, f) prval () = topize (f) prval unit_v () = pfu in list0_of_list_vt (ys) end // end of [list0_map] *) implement {a}{b} list0_map (xs, f) = let // implement {a2}{b2} list_map$fopr (x) = $UN.castvwtp0{b2}(f($UN.cast{a}(x))) // val ys = list_map (g1ofg0_list(xs)) // in list0_of_list_vt (ys) end // end of [list0_map] (* ****** ****** *) implement {a}{b} list0_mapopt (xs, f) = res where { // fun loop ( xs: list0 (a) , res: &ptr? >> List0_vt (b) ) : void = let in // case+ xs of | list0_cons (x, xs) => ( case+ f(x) of | ~Some_vt y => let val () = ( res := list_vt_cons{b}{0}(y, _) ) val+list_vt_cons (_, res1) = res val () = loop (xs, res1) prval () = fold@ (res) in // nothing end // end of [Some0] | ~None_vt () => loop (xs, res) ) (* end of [list0_cons] *) | list0_nil () => ( res := list_vt_nil () ) (* end of [list0_nil] *) // end // end of [loop] // var res: ptr val () = loop (xs, res) val res = list0_of_list_vt (res) // } // end of [list0_mapopt] (* ****** ****** *) implement {a}(*tmp*) list0_mapcons (x0, xss) = let // implement list_map$fopr (xs) = list0_cons(x0, xs) // val xss = g1ofg0 (xss) val res = list_map (xss) // in list0_of_list_vt (res) end // end of [list0_mapcons] (* ****** ****** *) implement {a}{b} list0_imap (xs, f) = let // implement {a2}{b2} list_imap$fopr (i, x) = $UN.castvwtp0{b2}(f (i, $UN.cast{a}(x))) val ys = list_imap (g1ofg0_list(xs)) // in list0_of_list_vt (ys) end // end of [list0_imap] (* ****** ****** *) (* implement {a1,a2}{b} list0_map2 (xs1, xs2, f) = let viewdef v = unit_v viewtypedef vt = cfun2 (a1, a2, b) val xs1 = g1ofg0_list(xs1) val xs2 = g1ofg0_list(xs2) fun app .<>. (pfu: !unit_v | x1: a1, x2: a2, f: !vt): b = f (x1, x2) // end of [fun] prval pfu = unit_v () var f = f val ys = list_map2_funenv {v}{vt} (pfu | xs1, xs2, app, f) prval () = topize (f) prval unit_v () = pfu in list0_of_list_vt (ys) end // end of [list0_map2] *) implement {a1,a2}{b} list0_map2 (xs1, xs2, f) = let // implement {a11,a12}{b2} list_map2$fopr (x1, x2) = $UN.castvwtp0{b2}(f($UN.cast{a1}(x1), $UN.cast{a2}(x2))) // in list0_of_list_vt(list_map2 (g1ofg0(xs1), g1ofg0(xs2))) end // end of [list0_map2] (* ****** ****** *) implement {a}(*tmp*) list0_filter (xs, p) = let // implement{a2} list_filter$pred (x) = p ($UN.cast{a}(x)) val ys = list_filter (g1ofg0(xs)) // in list0_of_list_vt (ys) end // end of [list0_filter] (* ****** ****** *) implement {a}(*tmp*) list0_tabulate (n, f) = let // implement{a2} list_tabulate$fopr (i) = $UN.castvwtp0{a2}(f(i)) // val n = g1ofg0_int (n) // in if n >= 0 then list0_of_list_vt (list_tabulate (n)) else $raise IllegalArgExn("list0_tabulate:n") // end of [if] end // end of [list0_tabulate] (* ****** ****** *) implement {a}(*tmp*) list0_tabulate_opt (n, f) = res where { // fun loop ( i: int , res: &ptr? >> List0_vt (a) ) : void = let in // if n > i then ( case+ f(i) of | ~Some_vt x => let val () = ( res := list_vt_cons{a}{0}(x, _) ) val+list_vt_cons (_, res1) = res val () = loop (i+1, res1) prval () = fold@ (res) in // nothing end // end of [Some0] | ~None_vt () => loop (i+1, res) ) else ( res := list_vt_nil () ) (* end of [if] *) // end // end of [loop] // var res: ptr val () = loop (0, res) val res = list0_of_list_vt (res) // } // end of [list0_tabulate_opt] (* ****** ****** *) implement {x,y} list0_zip (xs, ys) = let val xs = g1ofg0(xs) and ys = g1ofg0(ys) val xys = $effmask_wrt (list_zip (xs, ys)) in list0_of_list_vt (xys) end // end of [list0_zip] (* ****** ****** *) implement {x,y} list0_cross (xs, ys) = let val xs = g1ofg0(xs) and ys = g1ofg0(ys) val xys = $effmask_wrt (list_cross (xs, ys)) in list0_of_list_vt (xys) end // end of [list0_cross] (* ****** ****** *) implement {x,y}{z} list0_crosswith (xs, ys, f) = let // implement {x2,y2}{z2} list_crosswith$fopr(x, y) = $UN.castvwtp0{z2}(f($UN.cast{x}(x), $UN.cast{y}(y))) // val xs = g1ofg0(xs) and ys = g1ofg0(ys) val zs = $effmask_wrt (list_crosswith (xs, ys)) // in list0_of_list_vt (zs) end // end of [list0_crosswith] (* ****** ****** *) implement {a}(*tmp*) list0_quicksort (xs, cmp) = let // implement list_quicksort$cmp (x, y) = cmp (x, y) // val ys = $effmask_wrt (list_quicksort (g1ofg0(xs))) // in list0_of_list_vt (ys) end // end of [list0_quicksort] (* ****** ****** *) implement {a}(*tmp*) list0_mergesort (xs, cmp) = let // implement list_mergesort$cmp (x, y) = cmp (x, y) // val ys = $effmask_wrt (list_mergesort (g1ofg0(xs))) // in list0_of_list_vt (ys) end // end of [list0_mergesort] (* ****** ****** *) implement(a) fprint_val = fprint_list0 (* ****** ****** *) (* end of [list0.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/monad_list.dats0000664000175000017500000000532012655455557020265 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: July, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" (* ****** ****** *) staload "libats/ML/SATS/monad_list.sats" (* ****** ****** *) #include "./SHARE/monad.hats" (* ****** ****** *) assume monad_type (a:t0p) = list0 (a) (* ****** ****** *) implement {a}{b} monad_bind (xs, f) = let // implement list_map$fopr (x) = f (x) val xss = list_map (g1ofg0(xs)) val res = list_concat ($UN.castvwtp1{List(List(b))}(xss)) val ((*void*)) = list_vt_free (xss) // in list0_of_list_vt (res) end // end of [monad_bind] (* ****** ****** *) implement {a1,a2}{b} monad_bind2 (xs, ys, f) = let // implement list_crosswith$fopr (x, y) = f (x, y) // val xss = list_crosswith (g1ofg0(xs), g1ofg0(ys)) val res = list_concat ($UN.castvwtp1{List(List(b))}(xss)) val ((*void*)) = list_vt_free (xss) // in list0_of_list_vt (res) end // end of [monad_bind2] (* ****** ****** *) // implement{a} monad_return (x) = list0_cons{a}(x, list0_nil) // (* ****** ****** *) implement{a} monad_list_list (xs) = (xs) (* ****** ****** *) implement{a} monad_list_listize (m) = (m) (* ****** ****** *) // implement{a} fprint_monad (out, m) = fprint_list0 (out, m) // (* ****** ****** *) (* end of [monad_list.hats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/filebas.dats0000664000175000017500000000615112655455557017544 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: January, 2013 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" staload _(*anon*) = "prelude/DATS/filebas.dats" (* ****** ****** *) (* macdef prelude_fileref_open_opt = fileref_open_opt *) macdef prelude_fileref_get_line_charlst = fileref_get_line_charlst macdef prelude_fileref_get_lines_charlstlst = fileref_get_lines_charlstlst macdef prelude_fileref_get_line_string = fileref_get_line_string macdef prelude_fileref_get_lines_stringlst = fileref_get_lines_stringlst (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/option0.sats" (* ****** ****** *) staload "libats/ML/SATS/filebas.sats" (* ****** ****** *) (* implement fileref_open_opt (path, mode) = let val opt = prelude_fileref_open_opt (path, mode) in option0_of_option_vt (opt) end // end of [fileref_open_opt] *) (* ****** ****** *) implement fileref_get_line_charlst (filr) = list0_of_list_vt (prelude_fileref_get_line_charlst (filr)) // end of [fileref_get_line_charlst] implement fileref_get_lines_charlstlst (filr) = $UN.castvwtp0{list0(charlst0)} (prelude_fileref_get_lines_charlstlst (filr)) // end of [fileref_get_lines_charlstlst] (* ****** ****** *) local staload _(*anon*) = "prelude/DATS/strptr.dats" in (* in of [local] *) implement fileref_get_line_string (filr) = strptr2string (prelude_fileref_get_line_string (filr)) // end of [fileref_get_line_string] implement fileref_get_lines_stringlst (filr) = $UN.castvwtp0{list0(string)}(prelude_fileref_get_lines_stringlst (filr)) // end of [fileref_get_lines_stringlst] end // end of [local] (* ****** ****** *) (* end of [filebas.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/dynarray.dats0000664000175000017500000001267112655455557017774 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2015 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload DA = "libats/SATS/dynarray.sats" // (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" (* ****** ****** *) staload "libats/ML/SATS/dynarray.sats" (* ****** ****** *) // extern castfn dynarray_encode {a:vt@ype} ($DA.dynarray(a)): dynarray(a) // extern castfn dynarray_decode {a:vt@ype} (DA: dynarray(a)): $DA.dynarray(a) // (* ****** ****** *) implement {a}(*tmp*) dynarray_make_nil (cap) = let // val DA = $DA.dynarray_make_nil(cap) // in dynarray_encode(DA) end // end of [dynarray_make_nil] (* ****** ****** *) implement {a}(*tmp*) fprint_dynarray (out, DA) = { // val DA = dynarray_decode(DA) val () = $DA.fprint_dynarray (out, DA) prval () = $UN.cast2void(DA) // } (* end of [fprint_dynarray] *) (* ****** ****** *) implement {a}(*tmp*) fprint_dynarray_sep (out, DA, sep) = { // val DA = dynarray_decode(DA) val () = $DA.fprint_dynarray_sep (out, DA, sep) prval () = $UN.cast2void(DA) // } (* end of [fprint_dynarray_sep] *) (* ****** ****** *) implement{} dynarray_get_size (DA) = asz where { // val DA = dynarray_decode(DA) val asz = $DA.dynarray_get_size<> (DA) prval () = $UN.cast2void(DA) // } (* end of [dynarray_get_size] *) implement{} dynarray_get_capacity (DA) = cap where { // val DA = dynarray_decode(DA) val cap = $DA.dynarray_get_capacity<> (DA) prval () = $UN.cast2void(DA) // } (* end of [dynarray_get_capacity] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_get_at_exn (DA, i) = x0 where { // val DA = dynarray_decode(DA) val x0 = $DA.dynarray_get_at_exn(DA, i) prval () = $UN.cast2void(DA) // } (* end of [dynarray_get_at_exn] *) implement {a}(*tmp*) dynarray_set_at_exn (DA, i, x0) = () where { // val DA = dynarray_decode(DA) val () = $DA.dynarray_set_at_exn(DA, i, x0) prval () = $UN.cast2void(DA) // } (* end of [dynarray_set_at_exn] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_getref_at (DA, i) = p0 where { // val DA = dynarray_decode(DA) val p0 = $DA.dynarray_getref_at(DA, i) prval () = $UN.cast2void(DA) // } (* end of [dynarray_getref_at] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_atbeg (DA, x0) = opt where { // val DA = dynarray_decode(DA) val opt = $DA.dynarray_insert_atbeg_opt (DA, x0) prval () = $UN.cast2void(DA) // } (* end of [dynarray_insert_atbeg] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_atend (DA, x0) = opt where { // val DA = dynarray_decode(DA) val opt = $DA.dynarray_insert_atend_opt (DA, x0) prval () = $UN.cast2void(DA) // } (* end of [dynarray_insert_atend] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_at (DA, i, x0) = opt where { // val DA = dynarray_decode(DA) // val opt = $DA.dynarray_insert_at_opt (DA, i, x0) // prval () = $UN.cast2void(DA) // } (* end of [dynarray_insert_at] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_atbeg (DA) = opt where { // val DA = dynarray_decode(DA) // val opt = $DA.dynarray_takeout_atbeg_opt (DA) // prval () = $UN.cast2void(DA) // } (* end of [dynarray_takeout_atbeg] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_atend (DA) = opt where { // val DA = dynarray_decode(DA) // val opt = $DA.dynarray_takeout_atend_opt (DA) // prval () = $UN.cast2void(DA) // } (* end of [dynarray_takeout_atend] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_at (DA, i) = opt where { // val DA = dynarray_decode(DA) val opt = $DA.dynarray_takeout_at_opt (DA, i) prval () = $UN.cast2void(DA) // } (* end of [dynarray_takeout_at] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_listize0 (DA) = list0_of_list_vt(xs) where { // val DA = dynarray_decode(DA) val xs = $DA.dynarray_listize0(DA) prval () = $UN.cast2void(DA) // } (* end of [dynarray_listize0] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_listize1 (DA) = list0_of_list_vt(xs) where { // val DA = dynarray_decode(DA) val xs = $DA.dynarray_listize1(DA) prval () = $UN.cast2void(DA) // } (* end of [dynarray_listize1] *) (* ****** ****** *) (* end of [dynarray.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/SHARE/0000775000175000017500000000000012655455557016121 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/DATS/SHARE/monad.hats0000664000175000017500000000656512655455557020114 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX: shared by monad_list // HX: shared by monad_maybe // (* ****** ****** *) implement{} monad_unit () = monad_return (unit) (* ****** ****** *) implement{a} monad_nil ((*void*)) = monad_return (list0_nil{a}()) // end of [monad_nil] implement{a} monad_cons (m, ms) = monad_liftm2 (lam (x, xs) => list0_cons{a}(x, xs), m, ms) // end of [monad_cons] (* ****** ****** *) implement {a1,a2} monad_seq (m1, m2) = monad_bind (m1, lam _ => m2) (* ****** ****** *) implement {a}(*tmp*) monad_join (mm) = monad_bind (mm, lam m => m) (* ****** ****** *) implement {a}{b} monad_fmap (f, m) = monad_bind (m, lam x => monad_return (f(x))) // end of [monad_fmap] (* ****** ****** *) implement {a}{b} monad_liftm (f, m) = monad_bind (m, lam x => monad_return (f(x))) // end of [monad_liftm] (* ****** ****** *) implement {a1,a2}{b} monad_liftm2 (f, m1, m2) = ( monad_bind2 (m1, m2, lam (x1, x2) => monad_return (f(x1, x2))) ) // end of [monad_liftm2] implement {a1,a2,a3}{b} monad_liftm3 (f, m1, m2, m3) = ( monad_bind3 (m1, m2, m3, lam (x1, x2, x3) => monad_return (f(x1, x2, x3))) ) // end of [monad_liftm3] (* ****** ****** *) implement {a}{b} monad_mapm (f, ms) = let in // case+ ms of | list0_cons (m, ms) => let val m = monad_fmap (f, m) val ms = monad_mapm (f, ms) in monad_cons (m, ms) end // list0_cons | list0_nil () => monad_nil () // end // end of [monad_mapm] (* ****** ****** *) implement {a}{b} monad_mapm_ (f, xs) = let in // case+ xs of | list0_cons (x, xs) => let val m = f (x) val mu = monad_mapm_ (f, xs) in monad_seq (m, mu) end // end of [list0_cons] | list0_nil () => monad_unit () // end // end of [monad_mapm_] (* ****** ****** *) implement {a}(*tmp*) monad_seqlist (ms) = monad_mapm (lam x => x, ms) implement {a}(*tmp*) monad_seqlist_ (ms) = monad_mapm_ (lam m => m, ms) (* ****** ****** *) (* end of [monad.hats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/SHARE/.keeper0000664000175000017500000000000012655455557017363 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/DATS/array0.dats0000664000175000017500000002742512655455557017344 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/array0.sats" (* ****** ****** *) extern fun memcpy (d:ptr, s:ptr, n:size_t): ptr = "mac#atslib_ML_array0_memcpy" // end of [memcpy] (* ****** ****** *) // implement {}(*tmp*) array0_of_arrszref{a}(A) = $UN.cast{array0(a)}(A) // implement {}(*tmp*) arrszref_of_array0{a}(A) = $UN.cast{arrszref(a)}(A) // (* ****** ****** *) implement {}(*tmp*) array0_get_ref (A0) = let val ASZ = arrszref_of_array0 (A0) in arrszref_get_ref (ASZ) // end of [val] end // end of [array0_get_ref] implement {}(*tmp*) array0_get_size (A0) = let val ASZ = arrszref_of_array0 (A0) in arrszref_get_size (ASZ) // end of [val] end // end of [array0_get_size] implement {}(*tmp*) array0_get_refsize (A0) = let var asz: size_t val ASZ = arrszref_of_array0 (A0) val A = $effmask_wrt (arrszref_get_refsize (ASZ, asz)) in @(A, asz) end // end of [array0_get_refsize] (* ****** ****** *) implement {}(*tmp*) array0_make_arrpsz (psz) = let val ASZ = arrszref_make_arrpsz (psz) in array0_of_arrszref (ASZ) // end of [val] end // end of [array0_make_arrpsz] implement {}(*tmp*) array0_make_arrayref (A, n) = let val ASZ = arrszref_make_arrayref (A, n) in array0_of_arrszref (ASZ) // end of [val] end // end of [array0_make_arrpsz] (* ****** ****** *) implement {a}(*tmp*) array0_make_elt (asz, x) = let val ASZ = arrszref_make_elt (asz, x) in array0_of_arrszref (ASZ) // end of [val] end // end of [array0_make_elt] (* ****** ****** *) implement {a}(*tmp*) array0_make_list (xs) = let val xs = g1ofg0(xs) val ASZ = arrszref_make_list (xs) in array0_of_arrszref (ASZ) end // end of [array0_make_list] (* ****** ****** *) implement {a}(*tmp*) array0_make_rlist (xs) = let val xs = g1ofg0(xs) val ASZ = arrszref_make_rlist (xs) in array0_of_arrszref (ASZ) end // end of [array0_make_rlist] (* ****** ****** *) implement {a}(*tmp*) array0_make_subarray (A0, st, ln) = let // val st = g1ofg0(st) val ln = g1ofg0(ln) val [n:int] (A, asz) = array0_get_refsize (A0) // val [st:int] st = (if st <= asz then st else asz): sizeLte (n) val [ln:int] ln = (if st + ln <= asz then ln else asz - st): sizeLte (n-st) // val A2 = arrayptr_make_uninitized (ln) val p2 = memcpy (ptrcast(A2), ptr_add (ptrcast(A), st), ln*sizeof) val A2 = $UN.castvwtp0{arrayref(a,ln)}(A2) // in array0_make_arrayref (A2, ln) end // end of [array0_make_subarray] (* ****** ****** *) // implement {a}(*tmp*) print_array0 (A) = fprint_array0 (stdout_ref, A) // implement {a}(*tmp*) prerr_array0 (A) = fprint_array0 (stderr_ref, A) // implement {a}(*tmp*) fprint_array0 (out, A) = fprint_arrszref (out, arrszref_of_array0(A)) // implement {a}(*tmp*) fprint_array0_sep (out, A, sep) = fprint_arrszref_sep (out, arrszref_of_array0(A), sep) // (* ****** ****** *) implement {a}{tk} array0_get_at_gint (A0, i) = let in // if i >= 0 then array0_get_at_size (A0, g0i2u(i)) else $raise ArraySubscriptExn() // neg index // end // end of [array0_get_at_gint] implement {a}{tk} array0_get_at_guint (A0, i) = let in array0_get_at_size (A0, g0u2u(i)) end // end of [array0_get_at_guint] implement {a}(*tmp*) array0_get_at_size (A0, i) = let val ASZ = arrszref_of_array0 (A0) in arrszref_get_at_size (ASZ, i) // end of [val] end // end of [array0_get_at_size] (* ****** ****** *) implement {a}{tk} array0_set_at_gint (A0, i, x) = let in // if i >= 0 then array0_set_at_size (A0, g0i2u(i), x) else $raise ArraySubscriptExn() // neg index // end // end of [array0_set_at_gint] implement {a}{tk} array0_set_at_guint (A0, i, x) = ( array0_set_at_size (A0, g0u2u(i), x) ) // end of [array0_set_at_guint] implement {a}(*tmp*) array0_set_at_size (A0, i, x) = let val ASZ = arrszref_of_array0 (A0) in arrszref_set_at_size (ASZ, i, x) // end of [val] end // end of [array0_set_at_size] (* ****** ****** *) implement {a}{tk} array0_exch_at_gint (A0, i, x) = let in // if i >= 0 then array0_exch_at_size (A0, g0i2u(i), x) else $raise ArraySubscriptExn() // neg index // end // end of [array0_exch_at_gint] implement {a}{tk} array0_exch_at_guint (A0, i, x) = ( array0_exch_at_size (A0, g0u2u(i), x) ) // end of [array0_exch_at_guint] implement {a}(*tmp*) array0_exch_at_size (A0, i, x) = let val ASZ = arrszref_of_array0 (A0) in arrszref_exch_at_size (ASZ, i, x) // end of [val] end // end of [array0_exch_at_size] (* ****** ****** *) implement {a}(*tmp*) array0_interchange (A0, i, j) = let val ASZ = arrszref_of_array0 (A0) in arrszref_interchange (ASZ, i, j) // end of [val] end // end of [array0_interchange] (* ****** ****** *) implement {a}(*tmp*) array0_subcirculate (A0, i, j) = let val ASZ = arrszref_of_array0 (A0) in arrszref_subcirculate (ASZ, i, j) // end of [val] end // end of [array0_subcirculate] (* ****** ****** *) implement {a}(*tmp*) array0_copy (A0) = let // val ASZ = arrszref_of_array0 (A0) // var asz: size_t val A = arrszref_get_refsize (ASZ, asz) // val ( vbox pf | p ) = arrayref_get_viewptr (A) val (pfarr, pfgc | q) = array_ptr_alloc (asz) val () = array_copy (!q, !p, asz) // val A2 = arrayptr_encode (pfarr, pfgc | q) val A2 = arrayptr_refize (A2) // non-linearizing val ASZ2 = arrszref_make_arrayref (A2, asz) // in array0_of_arrszref (ASZ2) end // end of [array0_copy] (* ****** ****** *) implement {a}(*tmp*) array0_append (A01, A02) = let // val ASZ1 = arrszref_of_array0 (A01) and ASZ2 = arrszref_of_array0 (A02) // var asz1: size_t and asz2: size_t val A1 = arrszref_get_refsize (ASZ1, asz1) and A2 = arrszref_get_refsize (ASZ2, asz2) // val (pf1box | p1) = arrayref_get_viewptr (A1) and (pf2box | p2) = arrayref_get_viewptr (A2) // extern praxi unbox : {v:view} vbox (v) - (v, v - void) // prval (pf1, fpf1) = unbox (pf1box) and (pf2, fpf2) = unbox (pf2box) // val asz = asz1 + asz2 val (pfarr, pfgc | q) = array_ptr_alloc (asz) prval (pf1arr, pf2arr) = array_v_split_at (pfarr | asz1) // val () = array_copy (!q, !p1, asz1) val q2 = ptr1_add_guint (q, asz1) val (pf2arr | q2) = viewptr_match (pf2arr | q2) val () = array_copy (!q2, !p2, asz2) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // prval pfarr = array_v_unsplit (pf1arr, pf2arr) // val A12 = arrayptr_encode (pfarr, pfgc | q) val A12 = arrayptr_refize (A12) val ASZ12 = arrszref_make_arrayref (A12, asz) // in array0_of_arrszref (ASZ12) end // end of [array0_append] (* ****** ****** *) implement {a}{b} array0_map (A, f) = let // val p0 = array0_get_ref (A) val asz = array0_get_size (A) // val f = $UN.cast{cfun1(ptr, b)}(f) // in array0_tabulate (asz, lam i => f (ptr_add (p0, i))) end // end of [array0_map] (* ****** ****** *) implement {a}(*tmp*) array0_tabulate (asz, f) = let // implement{a2} array_tabulate$fopr (i) = $UN.castvwtp0{a2}(f(i)) // val ASZ = arrszref_tabulate (asz) // in array0_of_arrszref (ASZ) end // end of [array0_tabulate] (* ****** ****** *) implement {a}(*tmp*) array0_find_exn (A0, p) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement(tenv) array_foreach$cont (x, env) = ~p(x) implement(tenv) array_foreach$fwork (x, env) = ((*nothing*)) // val idx = arrayref_foreach (A, asz) // in if idx < asz then idx else $raise NotFoundExn() end // end of [array0_find_exn] (* /* implement {a}(*tmp*) array0_find_opt (A0, p) = try Some0 (array0_find_exn (A0, p)) with ~NotFoundExn() => None0 () // end of [array0_find_opt] */ *) (* ****** ****** *) implement {a}(*tmp*) array0_foreach (A0, f) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement(tenv) array_foreach$cont (x, env) = true implement(tenv) array_foreach$fwork (x, env) = f (x) // val _(*asz*) = arrayref_foreach (A, asz) // in // nothing end // end of [array0_foreach] (* ****** ****** *) implement {a}(*tmp*) array0_iforeach (A0, f) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement(tenv) array_iforeach$cont (i, x, env) = true implement(tenv) array_iforeach$fwork (i, x, env) = f (i, x) // val _(*asz*) = arrayref_iforeach (A, asz) // in // nothing end // end of [array0_iforeach] (* ****** ****** *) implement {a}(*tmp*) array0_rforeach (A0, f) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement(tenv) array_rforeach$cont (x, env) = true implement(tenv) array_rforeach$fwork (x, env) = f (x) // val _(*asz*) = arrayref_rforeach (A, asz) // in // nothing end // end of [array0_rforeach] (* ****** ****** *) implement {res}{a} array0_foldleft (A0, ini, f) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement array_foreach$cont (x, env) = true implement array_foreach$fwork (x, env) = env := f (env, x) // var result: res = ini val _(*asz*) = arrayref_foreach_env (A, asz, result) // in result end // end of [array0_foldleft] (* ****** ****** *) implement {res}{a} array0_ifoldleft (A0, ini, f) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement array_iforeach$cont (i, x, env) = true implement array_iforeach$fwork (i, x, env) = (env := f (env, i, x)) // var result: res = ini val _(*asz*) = arrayref_iforeach_env (A, asz, result) // in result end // end of [array0_ifoldleft] (* ****** ****** *) implement {a}{res} array0_foldright (A0, f, snk) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement array_rforeach$cont (x, env) = true implement array_rforeach$fwork (x, env) = env := f (x, env) // var result: res = snk val _(*asz*) = arrayref_rforeach_env (A, asz, result) // in result end // end of [array0_foldright] (* ****** ****** *) implement {a}(*tmp*) array0_quicksort (A0, cmp) = let // val ASZ = arrszref_of_array0 (A0) // var asz : size_t val A = arrszref_get_refsize (ASZ, asz) // implement {a}(*tmp*) array_quicksort$cmp (x1, x2) = let // val cmp = $UN.cast{(&a,&a)-int}(cmp) // in cmp(x1, x2) end // end of [array_quicksort$cmp] // in arrayref_quicksort (A, asz) end // end of [array0_quicksort] (* ****** ****** *) (* end of [array0.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/matrix0.dats0000664000175000017500000001464312655455557017530 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: February, 2014 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/matrix0.sats" (* ****** ****** *) // implement{} matrix0_of_mtrxszref{a}(A) = $UN.cast{matrix0(a)}(A) // implement{} mtrxszref_of_matrix0{a}(A) = $UN.cast{mtrxszref(a)}(A) // (* ****** ****** *) // implement{ } matrix0_get_ref (M) = mtrxszref_get_ref (mtrxszref_of_matrix0(M)) // implement{ } matrix0_get_nrow (M) = mtrxszref_get_nrow (mtrxszref_of_matrix0(M)) implement{ } matrix0_get_ncol (M) = mtrxszref_get_ncol (mtrxszref_of_matrix0(M)) // (* ****** ****** *) implement{ } matrix0_get_refsize (M) = let var nrow: size_t and ncol: size_t val Mref = $effmask_wrt ( mtrxszref_get_refsize(mtrxszref_of_matrix0(M), nrow, ncol) ) (* end of [val] *) in (Mref, nrow, ncol) end // end of [matrix0_get_refsize] (* ****** ****** *) implement {a}(*tmp*) matrix0_make_elt (nrow, ncol, x0) = matrix0_of_mtrxszref (mtrxszref_make_elt (nrow, ncol, x0)) // end of [matrix0_make_elt] (* ****** ****** *) implement {a}(*tmp*) matrix0_get_at_int (M0, i, j) = let val i = g1ofg0_int(i) and j = g1ofg0_int(j) in // if i >= 0 then ( if j >= 0 then matrix0_get_at_size (M0, i2sz(i), i2sz(j)) else $raise MatrixSubscriptExn((*void*)) // neg index // end of [if] ) else $raise MatrixSubscriptExn((*void*)) // neg index // end of [if] // end // end of [matrix0_get_at_int] (* ****** ****** *) implement {a}(*tmp*) matrix0_get_at_size (M0, i, j) = let val MSZ = mtrxszref_of_matrix0 (M0) in mtrxszref_get_at_size (MSZ, i, j) // end of [val] end // end of [matrix0_get_at_size] (* ****** ****** *) implement {a}(*tmp*) matrix0_set_at_int (M0, i, j, x) = let val i = g1ofg0_int(i) and j = g1ofg0_int(j) in // if i >= 0 then ( if j >= 0 then matrix0_set_at_size (M0, i2sz(i), i2sz(j), x) else $raise MatrixSubscriptExn((*void*)) (* neg index *) // end of [if] ) else $raise MatrixSubscriptExn((*void*)) (* neg index *) // end of [if] // end // end of [matrix0_set_at_int] (* ****** ****** *) implement {a}(*tmp*) matrix0_set_at_size (M0, i, j, x) = let val MSZ = mtrxszref_of_matrix0 (M0) in mtrxszref_set_at_size (MSZ, i, j, x) // end of [val] end // end of [matrix0_set_at_size] (* ****** ****** *) // implement {a}(*tmp*) print_matrix0 (A) = fprint_matrix0 (stdout_ref, A) // implement {a}(*tmp*) prerr_matrix0 (A) = fprint_matrix0 (stderr_ref, A) // implement {a}(*tmp*) fprint_matrix0 (out, M) = fprint_mtrxszref (out, mtrxszref_of_matrix0(M)) // implement {a}(*tmp*) fprint_matrix0_sep (out, M, sep1, sep2) = fprint_mtrxszref_sep (out, mtrxszref_of_matrix0(M), sep1, sep2) // (* ****** ****** *) implement {a}(*tmp*) matrix0_copy (M0) = let // val M = matrix0_get_ref (M0) val [m:int] m = g1ofg0 (M0.nrow()) val [n:int] n = g1ofg0 (M0.ncol()) val M = matrixref_copy ($UN.cast{matrixref(a,m,n)}(M), m, n) // end of [val] in // matrix0_of_mtrxszref (mtrxszref_make_matrixref (matrixptr_refize{a}(M), m, n)) // end // end of [matrix0_copy] (* ****** ****** *) implement {a}(*tmp*) matrix0_tabulate (nrow, ncol, f) = let // implement{a2} matrix_tabulate$fopr (i, j) = $UN.castvwtp0{a2}(f(i,j)) // val MSZ = mtrxszref_tabulate (nrow, ncol) // in matrix0_of_mtrxszref (MSZ) end // end of [matrix0_tabulate] (* ****** ****** *) implement {a}(*tmp*) matrix0_foreach (M0, f) = let // fun loop ( p: ptr, i: size_t ) : void = ( if i > 0 then let val (pf, fpf | p) = $UN.ptr0_vtake (p) val ((*void*)) = f (!p) prval ((*void*)) = fpf (pf) in loop (ptr_succ (p), pred (i)) end else ((*void*)) // end of [if] ) (* end of [loop] *) // val (M, m, n) = matrix0_get_refsize (M0) // in loop (ptrcast(M), m * n) end // end of [matrix0_foreach] (* ****** ****** *) implement {a}(*tmp*) matrix0_iforeach (M0, f) = let // val (M, m, n) = matrix0_get_refsize (M0) // fun loop ( p: ptr , k: size_t, i: size_t, j: size_t ) : void = ( if k > 0 then let val ( pf, fpf | p ) = $UN.ptr0_vtake (p) val () = f (i, j, !p) prval ((*void*)) = fpf (pf) val p = ptr_succ (p) val k = pred(k) and j = succ(j) in // if j < n then loop (p, k, i, j) else loop (p, k, succ(i), i2sz(0)) // end of [if] // end else ((*void*)) // end of [if] ) (* end of [loop] *) // in loop (ptrcast(M), m * n, i2sz(0), i2sz(0)) end // end of [matrix0_iforeach] (* ****** ****** *) implement {res}{a}(*tmp*) matrix0_foldleft (M0, ini, f) = let // var ini: res = ini val p_ini = addr@(ini) // var f2 = lam@ (x: &a): void => $UN.ptr0_set (p_ini, f ($UN.ptr0_get (p_ini), x)) // val () = matrix0_foreach (M0, $UN.cast{(&a)-void}(addr@f2)) // in ini end // end of [matrix0_foldleft] (* ****** ****** *) implement {res}{a}(*tmp*) matrix0_ifoldleft (M0, ini, f) = let // var ini: res = ini val p_ini = addr@(ini) // var f2 = lam@ (i: size_t, j: size_t, x: &a): void => $UN.ptr0_set (p_ini, f ($UN.ptr0_get (p_ini), i, j, x)) // val () = matrix0_iforeach (M0, $UN.cast{(size_t,size_t,&a)-void}(addr@f2)) // in ini end // end of [matrix0_ifoldleft] (* ****** ****** *) (* end of [matrix.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/stdlib.dats0000664000175000017500000000505712655455557017424 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2013 *) (* ****** ****** *) staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) staload "libats/ML/SATS/stdlib.sats" (* ****** ****** *) implement{} getenv_exn (name) = let // val str = $STDLIB.getenv_gc (name) // in // if isneqz (str) then strptr2string (str) else let prval ( ) = strptr_free_null (str) val () = prerrln! "exit(ATS): [getenv_exn]: variable [" name "] is undefined." in exit (1) end // end of [if] // end // end of [getenv_exn] (* ****** ****** *) implement{} getenv_opt (name) = let // val str = $STDLIB.getenv_gc (name) // in // if isneqz (str) then Some0 (strptr2string (str)) else let prval () = strptr_free_null (str) in None0 () end (* end of [if] *) // end // end of [getenv_opt] (* ****** ****** *) implement{} setenv_exn (name, value, ow) = let // val err = $STDLIB.setenv (name, value, ow) // in // if err < 0 then let val () = prerrln! "exit(ATS): [setenv_exn]: variable: [" name "] cannot be set." in exit (1) end else () // end of [if] // end // end of [setenv_err] implement{} setenv_err (name, value, ow) = $STDLIB.setenv (name, value, ow) // end of [setenv_err] (* ****** ****** *) (* end of [stdlib.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/option0.dats0000664000175000017500000000455212655455557017532 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/option0.sats" (* ****** ****** *) implement {a}(*tmp*) option0_some (x) = Some0{a}(x) implement{ } option0_none ((*void*)) = None0((*void*)) (* ****** ****** *) implement{} option0_is_some (opt) = case+ opt of Some0 _ => true | None0 _ => false // end of [option0_is_some] implement{} option0_is_none (opt) = case+ opt of Some0 _ => false | None0 _ => true // end of [option0_is_none] (* ****** ****** *) implement{a} option0_unsome_exn (opt) = case+ opt of | Some0 (x) => x | None0 ( ) => $raise NotSomeExn() // end of [option0_unsome_exn] (* ****** ****** *) implement{a} fprint_option0 (out, opt) = fprint_option (out, g1ofg0_option(opt)) // end of [fprint_option0] (* ****** ****** *) implement {a}{b} option0_map (opt, f) = ( case+ opt of | Some0 (x) => Some0{b}(f(x)) | None0 () => None0 () ) (* end of [option0_map] *) (* ****** ****** *) (* end of [option0.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/intrange.dats0000664000175000017500000001060612655455557017746 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: September, 2014 *) (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/array0.sats" staload "libats/ML/SATS/intrange.sats" (* ****** ****** *) // implement {}(*tmp*) int_repeat_lazy (n, f) = int_repeat_cloref<> (n, lazy2cloref(f)) // (* ****** ****** *) implement {}(*tmp*) int_repeat_cloref (n, f) = let // fun loop ( n: int, f: cfun0(void) ) : void = ( // if n > 0 then let val () = f () in loop (n-1, f) end else () // ) (* end of [loop] *) // in loop (n, f) end // end of [int_repeat_cloref] (* ****** ****** *) // implement {}(*tmp*) int_foreach_cloref (n, f) = intrange_foreach_cloref<> (0, n, f) // implement {}(*tmp*) int_foreach_method (n) = lam(f) => int_foreach_cloref (n, f) // (* ****** ****** *) // implement {res}(*tmp*) int_foldleft_cloref (n, ini, f) = intrange_foldleft_cloref (0, n, ini, f) // implement {res}(*tmp*) int_foldleft_method (n, tres) = lam(ini, f) => int_foldleft_cloref (n, ini, f) // (* ****** ****** *) implement {}(*tmp*) intrange_foreach_cloref (l, r, f) = let // fun loop ( l: int, r: int, f: cfun1(int, void) ) : void = ( // if l < r then let val () = f(l) in loop(l+1, r, f) end else () // ) (* end of [loop] *) // in loop (l, r, f) end // end of [intrange_foreach_cloref] (* ****** ****** *) implement {}(*tmp*) intrange_foreach_method ( @(l, r) ) = lam(f) => intrange_foreach_cloref (l, r, f) // (* ****** ****** *) implement {res}(*tmp*) intrange_foldleft_cloref (l, r, ini, fopr) = let // fun loop ( l: int, r: int , ini: res, f: cfun2(res, int, res) ) : res = ( // if l < r then loop (l+1, r, f(ini, l), f) else ini // ) (* end of [loop] *) // in loop (l, r, ini, fopr) end // end of [intrange_foldleft_cloref] (* ****** ****** *) // implement {res}(*tmp*) intrange_foldleft_method ( @(l, r), tres ) = lam(ini, f) => intrange_foldleft_cloref (l, r, ini, f) // (* ****** ****** *) // implement {a}(*tmp*) int_list_map_cloref (n, f) = list0_tabulate (n, f) // implement {a}(*tmp*) int_list_map_method (n, tres) = lam(f) => int_list_map_cloref (n, f) // (* ****** ****** *) // implement {a}(*tmp*) int_array_map_cloref (n, f) = array0_tabulate (i2sz(n), f) // implement {a}(*tmp*) int_array_map_method (n, tres) = lam(f) => int_array_map_cloref (n, f) // (* ****** ****** *) // implement {}(*tmp*) int2_foreach_cloref (n1, n2, f) = intrange2_foreach_cloref<> (0, n1, 0, n2, f) // implement {}(*tmp*) intrange2_foreach_cloref (l1, r1, l2, r2, f) = let // fnx loop1 ( m1: int, r1: int , l2: int, r2: int , f: cfun2 (int, int, void) ) : void = ( // if m1 < r1 then loop2(m1, r1, l2, l2, r2, f) else () // ) (* end of [loop1] *) // and loop2 ( m1: int, r1: int , l2: int, m2: int, r2: int , f: cfun2 (int, int, void) ) : void = ( // if m2 < r2 then ( // f(m1, m2); loop2(m1, r1, l2, m2+1, r2, f) // ) (* end of [then] *) else loop1(m1+1, r1, l2, r2, f) // ) (* end of [loop2] *) // in loop1 (l1, r1, l2, r2, f) end // end of [intrange2_foreach_cloref] // (* ****** ****** *) (* end of [intrange.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/monad_maybe.dats0000664000175000017500000000566712655455557020425 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2013 *) (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) staload "libats/ML/SATS/monad_maybe.sats" (* ****** ****** *) #include "./SHARE/monad.hats" (* ****** ****** *) assume monad_type (a:t0p) = Option (a) (* ****** ****** *) implement {a}{b} monad_bind (opt, f) = let in // case+ opt of | Some (x) => f (x) | None () => None () // end // end of [monad_bind] (* ****** ****** *) implement {a1,a2}{b} monad_bind2 (opt1, opt2, f) = let in // case+ opt1 of | Some (x1) => ( case+ opt2 of Some (x2) => f (x1, x2) | None () => None () ) (* end of [Some] *) | None () => None () // end // end of [monad_bind2] (* ****** ****** *) implement {a1,a2,a3}{b} monad_bind3 (opt1, opt2, opt3, f) = let in // case+ opt1 of | Some (x1) => ( case+ opt2 of | Some (x2) => ( case+ opt3 of | Some (x3) => f (x1, x2, x3) | None () => None () ) | None () => None () ) (* end of [Some] *) | None () => None () // end // end of [monad_bind3] (* ****** ****** *) implement{a} monad_return (x) = Some{a}(x) (* ****** ****** *) implement{a} monad_cons (mx, mxs) = let in // case+ mx of | Some (x) => ( case+ mxs of | Some (xs) => Some{list0(a)}(list0_cons{a}(x, xs)) | None ((*void*)) => None () ) | None () => None () // end // end of [monad_cons] (* ****** ****** *) implement{a} monad_maybe_none () = None{a}() implement{a} monad_maybe_some (x) = Some{a}(x) (* ****** ****** *) implement{a} monad_maybe_optize (m) = (m) (* ****** ****** *) // implement{a} fprint_monad (out, m) = fprint_option (out, m) // (* ****** ****** *) (* end of [monad_maybe.hats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/.keeper0000664000175000017500000000000012655455557016521 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/DATS/strarr.dats0000664000175000017500000002200512655455557017450 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: February, 2013 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/array0.sats" staload _(*anon*) = "libats/ML/DATS/array0.dats" (* ****** ****** *) staload "libats/ML/SATS/strarr.sats" (* ****** ****** *) implement {}(*tmp*) strarr_get_ref (str) = array0_get_ref (strarr2array (str)) // end of [strarr_get_ref] implement {}(*tmp*) strarr_get_size (str) = array0_get_size (strarr2array (str)) // end of [strarr_get_size] implement {}(*tmp*) strarr_get_refsize (str) = array0_get_refsize (strarr2array (str)) // end of [strarr_get_refsize] (* ****** ****** *) implement strarr_make_string (str) = let // val [n:int] str = g1ofg0_string (str) val n = string1_length (str) // val ( pfarr, pfgc | p ) = array_ptr_alloc (n) // // [memcpy] declared in [string.h] // val _ = $extfcall ( ptr, "atslib_ML_strarr_memcpy", p, string2ptr(str), n ) (* end of [val] *) // typedef A = arrayref (char, n) // val A = $UN.castvwtp0 {A} @(pfarr, pfgc | p) // in array2strarr (array0_make_arrayref (A, n)) end // end of [strarr_make_string] (* ****** ****** *) implement strarr_imake_string (str) = let // val p = strarr_get_ref (str) val sz = g1ofg0_uint (strarr_get_size (str)) val (pfgc, pfarr | p2) = malloc_gc (succ (sz)) // // [memcpy] declared in [string.h] // val _ = $extfcall (ptr, "atslib_ML_strarr_memcpy", p2, p, sz) // val () = $UN.ptr0_set (ptr_add (p2, sz), '\000') // in $UN.castvwtp0 {string} @(pfgc, pfarr | p2) end // end of [strarr_imake_string] (* ****** ****** *) implement {}(*tmp*) strarr_is_empty (str) = strarr_get_size (str) = 0 implement {}(*tmp*) strarr_isnot_empty (str) = strarr_get_size (str) > 0 (* ****** ****** *) implement {tk}(*tmp*) strarr_get_at_gint (str, i) = let val str = strarr2array (str) in $effmask_ref (array0_get_at_gint (str, i)) end // end of [strarr_get_at_gint] implement {tk}(*tmp*) strarr_get_at_guint (str, i) = let val str = strarr2array (str) in $effmask_ref (array0_get_at_guint (str, i)) end // end of [strarr_get_at_guint] (* ****** ****** *) implement strarr_get_range (str, i0, i1) = let // #define CNUL '\000' // val n = strarr_get_size (str) val i0 = min (i0, n) and i1 = min (i1, n) // val pa = strarr_get_ref (str) val p0 = add_ptr_bsz (pa, i0) val p1 = add_ptr_bsz (pa, i1) // fun loop_inc ( p0: ptr, p1: ptr, pb: ptr ) : void = ( if p0 < p1 then let val c = $UN.ptr0_get (p0) val p0 = ptr_succ (p0) val () = $UN.ptr0_set (pb, c) val pb = ptr_succ (pb) in loop_inc (p0, p1, pb) end else let val () = $UN.ptr0_set (pb, CNUL) in // nothing end (* end of [if] *) ) fun loop_dec ( p0: ptr, p1: ptr, pb: ptr ) : void = ( if p0 > p1 then let val p0 = ptr_pred (p0) val c = $UN.ptr0_get (p0) val () = $UN.ptr0_set (pb, c) val pb = ptr_succ (pb) in loop_dec (p0, p1, pb) end else let val () = $UN.ptr0_set (pb, CNUL) in // nothing end (* end of [if] *) ) // in // if i0 <= i1 then let val df = g1ofg0(i1 - i0) val (pf, pfgc | pb) = malloc_gc (df) val () = loop_inc (p0, p1, pb) in $UN.castvwtp0{string}((pf, pfgc | pb)) end else let val df = g1ofg0(i0 - i1) val (pf, pfgc | pb) = malloc_gc (df) val () = loop_dec (p0, p1, pb) in $UN.castvwtp0{string}((pf, pfgc | pb)) end // end of [if] // end // end of [strarr_get_range] (* ****** ****** *) implement lt_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) < 0) implement lte_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) <= 0) implement gt_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) > 0) implement gte_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) >= 0) implement eq_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) = 0) implement neq_strarr_strarr (str1, str2) = (strarr_compare (str1, str2) != 0) (* ****** ****** *) implement strarr_compare (str1, str2) = let // val (A1, n1) = strarr_get_refsize (str1) and (A2, n2) = strarr_get_refsize (str2) // extern fun strncmp : (ptr, ptr, size_t) - int = "strncmp" // val n = g0uint_min_size (n1, n2) // // [strncmp] declared in [string.h] // val sgn = $extfcall ( int, "atslib_ML_strarr_strncmp", $UN.cast2ptr(A1), $UN.cast2ptr(A2), n ) (* end of [val] *) // in // if sgn = 0 then (if n1 < n2 then ~1 else if n1 > n2 then 1 else 0) else sgn // end of [if] // end // end of [strarr_compare] (* ****** ****** *) implement strarr_length (str) = strarr_get_size (str) (* ****** ****** *) // implement print_strarr (x) = fprint_strarr (stdout_ref, x) implement prerr_strarr (x) = fprint_strarr (stderr_ref, x) // (* ****** ****** *) implement fprint_strarr (out, str) = let // extern fun fwrite ( bufp: ptr , tsz: size_t, asz: size_t, out: FILEref ) : size_t = "mac#atslib_ML_strarr_fwrite" // fun loop ( out: FILEref, bufp: ptr, n: size_t ) : void = let in // if n > 0 then let val n1 = fwrite (bufp, sizeof, n, out) in if n1 > 0 then loop (out, add_ptr_bsz (bufp, n1), n - n1) else ((*error*)) end // end of of [if] // end // end of [loop] // in loop (out, strarr_get_ref (str), strarr_get_size (str)) end // end of [fprint_strarr] (* ****** ****** *) implement strarr_contains (str, c0) = $effmask_all let // val (A, asz) = strarr_get_refsize (str) // // [memcpy] declared in [string.h] // val p = $extfcall ( ptr, "atslib_ML_strarr_memchr", $UN.cast2ptr(A), char2int0(c0), asz ) (* end of [val] *) // in (p > the_null_ptr) end // end of [strarr_contains] (* ****** ****** *) implement strarr_copy (str) = let val str = strarr2array (str) val str2 = $effmask_ref (array0_copy (str)) in array2strarr (str2) end // end of [strarr_copy] (* ****** ****** *) implement strarr_append (str1, str2) = let val str1 = strarr2array (str1) val str2 = strarr2array (str2) val str12 = $effmask_ref (array0_append (str1, str2)) in array2strarr (str12) end // end of [strarr_append] (* ****** ****** *) implement strarr_tabulate (n, f) = array2strarr (array0_tabulate (n, f)) (* ****** ****** *) implement strarr_foreach (str, f) = let // fun loop ( p: ptr, n: size_t, f: cfun (char, void) ) : void = let in // if n > 0 then let val () = f ($UN.ptr0_get (p)) in loop (ptr0_succ (p), pred (n), f) end else () // end of [if] // end // end of [loop] // val p0 = strarr_get_ref (str) val n0 = strarr_get_size (str) // in loop (p0, n0, f) end // end of [strarr_foreach] (* ****** ****** *) implement strarr_iforeach (str, f) = let // fun loop ( p: ptr, n: size_t , i: size_t, f: cfun (size_t, char, void) ) : void = let in // if n > i then let val () = f (i, $UN.ptr0_get (p)) in loop (ptr0_succ (p), n, succ (i), f) end else () // end of [if] // end // end of [loop] // val p0 = strarr_get_ref (str) val n0 = strarr_get_size (str) // in loop (p0, n0, i2sz(0), f) end // end of [strarr_iforeach] (* ****** ****** *) implement strarr_rforeach (str, f) = let // fun loop ( p: ptr, n: size_t, f: cfun (char, void) ) : void = let in // if n > 0 then let val p1 = ptr0_pred (p) val () = f ($UN.ptr0_get (p1)) in loop (p1, pred (n), f) end else () // end of [if] // end // end of [loop] // val p0 = strarr_get_ref (str) val n0 = strarr_get_size (str) // in loop (ptr0_add_guint (p0, n0), n0, f) end // end of [strarr_rforeach] (* ****** ****** *) // implement fprint_val (out, str) = fprint_strarr (out, str) // (* ****** ****** *) (* end of [strarr.dats] *) ATS2-Postiats-0.2.6/./libats/ML/DATS/string.dats0000664000175000017500000001351312655455557017445 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // macdef prelude_string_sing = string_sing // macdef prelude_string_is_empty = string_is_empty macdef prelude_string_isnot_empty = string_isnot_empty // macdef prelude_string0_copy = string0_copy // macdef prelude_string_make_list = string_make_list macdef prelude_string_make_rlist = string_make_rlist // macdef prelude_string_make_substring = string_make_substring // macdef prelude_string0_length = string0_length macdef prelude_string1_length = string1_length // macdef prelude_string0_append = string0_append // macdef prelude_stringlst_concat = stringlst_concat // macdef prelude_string_explode = string_explode // macdef prelude_string_tabulate = string_tabulate // macdef prelude_string_forall = string_forall macdef prelude_string_iforall = string_iforall // macdef prelude_string_foreach = string_foreach // (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/string.sats" (* ****** ****** *) macdef castvwtp_trans = $UN.castvwtp0 // former name (* ****** ****** *) implement{ } itoa (int) = $effmask_wrt(strptr2string(g0int2string_int(int))) // end of [iota] (* ****** ****** *) // implement{ } string_sing (c) = strnptr2string ($effmask_wrt(prelude_string_sing (c))) // (* ****** ****** *) // implement{ } string_is_empty (str) = prelude_string_is_empty (g1ofg0(str)) implement{ } string_isnot_empty (str) = prelude_string_isnot_empty (g1ofg0(str)) // (* ****** ****** *) implement{ } string_copy (str) = strptr2string ($effmask_wrt(prelude_string0_copy (str))) // end of [string_copy] (* ****** ****** *) // implement{ } string_make_list (cs) = let val cs = $UN.cast{list0(charNZ)}(cs) val str = $effmask_wrt(prelude_string_make_list (g1ofg0_list(cs))) in strnptr2string (str) end // end of [string_make_list] // implement{ } string_make_rlist (cs) = let val cs = $UN.cast{list0(charNZ)}(cs) val str = $effmask_wrt(prelude_string_make_rlist (g1ofg0_list(cs))) in strnptr2string (str) end // end of [string_make_rlist] // (* ****** ****** *) implement{ } string_make_substring (x, st, ln) = let // val x = g1ofg0_string(x) val st = g1ofg0_uint(st) and ln = g1ofg0_uint(ln) val lnx = prelude_string1_length (x) // val st = min (st, lnx) // val substr = $effmask_wrt(prelude_string_make_substring (x, st, min (ln, lnx-st))) // in $UN.castvwtp0{string}(substr) end // end of [string_make_substring] (* ****** ****** *) implement{ } string_append (str1, str2) = let val res = $effmask_wrt (prelude_string0_append (str1, str2)) in strptr2string (res) end // end of [string_append] (* ****** ****** *) implement{ } stringlst_concat (xs) = let val res = $effmask_wrt (prelude_stringlst_concat (g1ofg0_list(xs))) in strptr2string (res) end // end of [stringlst_concat] (* ****** ****** *) implement{ } string_explode (str) = let val str = g1ofg0_string (str) val res = $effmask_wrt (prelude_string_explode (str)) in list0_of_list_vt (res) end // end of [string_explode] (* ****** ****** *) implement{ } string_implode (cs) = string_make_list (cs) (* ****** ****** *) implement string_tabulate (n, f) = let // val n = g1ofg0_uint(n) // implement string_tabulate$fopr<> (i) = f (i) // in strnptr2string(prelude_string_tabulate (n)) end // end of [string_tabulate] (* ****** ****** *) implement string_forall (str, f) = let // val str = g1ofg0_string(str) // implement string_forall$pred<> (c) = f(c) // in prelude_string_forall (str) end // end of [string_forall] implement string_iforall (str, f) = let // val str = g1ofg0_string(str) // implement string_iforall$pred<> (i, c) = f(i, c) // in prelude_string_iforall (str) end // end of [string_iforall] (* ****** ****** *) implement string_foreach (str, f) = let // val str = g1ofg0_string(str) // implement(env) string_foreach$cont (c, env) = true implement(env) string_foreach$fwork (c, env) = f(c) // val _(*nchar*) = prelude_string_foreach (str) // in // nothing end // end of [string_foreach] (* ****** ****** *) // implement{} string_forall_method(x) = lam(f) => string_forall (x, f) implement{} string_iforall_method(x) = lam(f) => string_iforall (x, f) implement{} string_foreach_method(x) = lam(f) => string_foreach (x, f) // (* ****** ****** *) (* end of [string.dats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/0000775000175000017500000000000012655455557015276 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/SATS/list0.sats0000664000175000017500000002521012655455557017225 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: May, 2012 *) (* ****** ****** *) // // HX-2013-01: // A rule of thumb for effect-annotation is that // higher-order functions should not be annotated! // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) (* typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose *) (* ****** ****** *) #define nil0 list0_nil #define cons0 list0_cons (* ****** ****** *) // #define list0_sing(x) list0_cons(x, list0_nil()) // #define list0_pair(x1, x2) list0_cons(x1, list0_cons (x2, list0_nil())) // (* ****** ****** *) // castfn list0_cast{x:t0p} (xs: list0(INV(x))):<> list0(x) // (* ****** ****** *) // castfn list0_of_list {a:t@ype}(List(INV(a))):<> list0(a) castfn list0_of_list_vt {a:t@ype}(List_vt(INV(a))):<> list0(a) // (* ****** ****** *) // castfn g0ofg1_list{a:t@ype}(List(INV(a))):<> list0(a) castfn g0ofg1_list_vt{a:t@ype}(List_vt(INV(a))):<> list0(a) // overload g0ofg1 with g0ofg1_list overload g0ofg1 with g0ofg1_list_vt // (* ****** ****** *) // castfn g1ofg0_list{a:t@ype}(list0(INV(a))):<> List0(a) // overload g1ofg0 with g1ofg0_list // (* ****** ****** *) fun{a:t0p} list0_make_sing (x: a):<> list0(a) fun{a:t0p} list0_make_pair (x1: a, x2: a):<> list0(a) (* ****** ****** *) fun{a:t0p} list0_make_elt (n: int, x: a): list0(a) (* ****** ****** *) // symintr list0 // fun{a:t0p} list0_make_arrpsz{n:int} (psz: arrpsz(INV(a), n)): list0(a) // overload list0 with list0_make_arrpsz // (* ****** ****** *) // fun{} list0_make_intrange_lr (l: int, r: int):<> list0(int) fun{} list0_make_intrange_lrd (l: int, r: int, d: int): list0(int) // symintr list0_make_intrange // overload list0_make_intrange with list0_make_intrange_lr overload list0_make_intrange with list0_make_intrange_lrd // (* ****** ****** *) fun{a:t0p} list0_is_nil (list0(a)):<> bool fun{a:t0p} list0_is_cons (list0(a)):<> bool (* ****** ****** *) // fun{a:t0p} list0_is_empty (list0(a)):<> bool fun{a:t0p} list0_isnot_empty (list0(a)):<> bool // overload iseqz with list0_is_empty overload isneqz with list0_isnot_empty // (* ****** ****** *) // fun{a:t0p} list0_head_exn (xs: list0(INV(a))): (a) fun{a:t0p} list0_head_opt (xs: list0(INV(a))):<> Option_vt(a) // (* ****** ****** *) // fun{a:t0p} list0_tail_exn (xs: SHR(list0(INV(a)))): list0(a) fun{a:t0p} list0_tail_opt (xs: SHR(list0(INV(a)))):<> Option_vt(list0(a)) // (* ****** ****** *) // overload .head with list0_head_exn overload .tail with list0_tail_exn // (* ****** ****** *) // fun{a:t0p} list0_length(list0(INV(a))):<> int // overload length with list0_length of 0 // (* ****** ****** *) fun{a:t0p} list0_last_exn (xs: list0(INV(a))): (a) fun{a:t0p} list0_last_opt (xs: list0(INV(a))):<> Option_vt(a) (* ****** ****** *) // fun{a:t0p} list0_nth_exn (xs: list0(INV(a)), i: int): (a) fun{a:t0p} list0_nth_opt (xs: list0(INV(a)), i: int):<> Option_vt(a) // (* ****** ****** *) // fun{a:t0p} list0_get_at_exn (xs: list0(INV(a)), index: int): (a) // overload [] with list0_get_at_exn // (* ****** ****** *) // fun{a:t0p} print_list0 (xs: list0(INV(a))): void fun{a:t0p} prerr_list0 (xs: list0(INV(a))): void // overload print with print_list0 overload prerr with prerr_list0 // (* ****** ****** *) // fun{a:t0p} fprint_list0 ( out: FILEref, xs: list0(INV(a)) ) : void // end of [fprint_list0] fun{a:t0p} fprint_list0_sep ( out: FILEref, xs: list0(INV(a)), sep: string ) : void // end of [fprint_list0_sep] // overload fprint with fprint_list0 overload fprint with fprint_list0_sep // (* ****** ****** *) fun{a:t0p} list0_insert_at_exn ( SHR(list0(INV(a))), i: int, x: a ) : list0(a) // endfun (* ****** ****** *) // fun{a:t0p} list0_remove_at_exn (SHR(list0(INV(a))), int): list0(a) // end of [list0_remove_at_exn] // fun{a:t0p} list0_takeout_at_exn ( xs: SHR(list0(INV(a))), i: int, x: &a? >> a ) : list0(a) // end-of-function // overload remove_at with list0_remove_at_exn overload takeout_at with list0_takeout_at_exn // (* ****** ****** *) // fun{a:t0p} list0_append ( xs: NSH(list0(INV(a))), ys: SHR(list0(a)) ) :<> list0(a) // overload + with list0_append // (* ****** ****** *) // fun{a:t0p} list0_extend (xs: NSH(list0(INV(a))), y: a):<> list0(a) // macdef list0_snoc = list0_extend // (* ****** ****** *) fun{a:t0p} list0_reverse (xs: list0(INV(a))):<> list0(a) fun{a:t0p} list0_reverse_append (xs: list0(INV(a)), ys: list0(a)):<> list0(a) // end of [list0_reverse_append] macdef list0_revapp = list_reverse_append (* ****** ****** *) // fun{a:t0p} list0_concat (xss: NSH(list0(list0(INV(a))))):<> list0(a) // overload concat with list0_concat // (* ****** ****** *) fun{a:t0p} list0_take_exn (xs: NSH(list0(INV(a))), i: int): list0(a) // end of [list0_take_exn] fun{a:t0p} list0_drop_exn (xs: SHR(list0(INV(a))), i: int): list0(a) // end of [list0_drop_exn] (* ****** ****** *) fun {a:t0p} list0_app ( xs: list0(INV(a)), fwork: cfun(a, void) ) : void // end of [list0_app] (* ****** ****** *) fun{a:t0p} list0_foreach ( xs: list0(INV(a)), fwork: cfun(a, void) ) : void // end of [list0_foreach] fun{a:t0p} list0_iforeach ( xs: list0(INV(a)), fwork: cfun2(int, a, void) ) : int(*length*) // end of [list0_iforeach] (* ****** ****** *) fun {a1,a2:t0p} list0_foreach2 ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , fwork: cfun2(a1, a2, void) ) : void // end of [list0_foreach2] fun{a1,a2:t0p} list0_foreach2_eq ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , fwork: cfun2(a1, a2, void), sgn: &int? >> int ) : void // end of [list0_foreach2_eq] (* ****** ****** *) // fun{ a:t0p}{res:t0p } list0_foldleft (xs: list0(INV(a)), ini: res, fopr: cfun2(res, a, res)): res // fun{ a:t0p}{res:t0p } list0_ifoldleft (xs: list0(INV(a)), ini: res, fopr: cfun3(res, int, a, res)): res // end of [list0_ifoldleft] // (* ****** ****** *) fun{ a1,a2:t0p}{res:t0p } list0_foldleft2 ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , ini: res, fopr: cfun3(res, a1, a2, res) ) : res // end of [list0_foldleft2] (* ****** ****** *) // fun{ a:t0p}{res:t0p } list0_foldright (xs: list0(INV(a)), fopr: cfun2(a, res, res), snk: res): res // (* fun{ a:t0p}{res:t0p } list0_ifoldright (xs: list0(INV(a)), fopr: cfun3(int, a, res, res), snk: res): res // end of [list0_ifoldright] *) // (* ****** ****** *) // fun {a:t0p} list0_exists (xs: list0(INV(a)), p: cfun(a, bool)): bool // fun {a1,a2:t0p} list0_exists2 ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , pred: cfun2(a1, a2, bool) ) : bool // end of [list0_exists2] // (* ****** ****** *) // fun {a:t0p} list0_forall (xs: list0(INV(a)), p: cfun(a, bool)): bool // fun {a1,a2:t0p} list0_forall2 ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , pred: cfun2(a1, a2, bool) ) : bool // end of [list0_forall2] fun {a1,a2:t0p} list0_forall2_eq ( xs1: list0(INV(a1)) , xs2: list0(INV(a2)) , p: cfun2(a1, a2, bool), sgn: &int? >> int ) : bool // end of [list0_forall2_eq] // (* ****** ****** *) fun {a:t0p} list0_equal ( xs1: list0(INV(a)) , xs2: list0(INV(a)), eqfn: cfun2(a, a, bool) ) : bool // end of [list0_equal] (* ****** ****** *) // fun {a:t0p} list0_find_exn (xs: list0(INV(a)), p: cfun(a, bool)): (a) // fun {a:t0p} list0_find_opt (xs: list0(INV(a)), p: cfun(a, bool)): Option_vt(a) // (* ****** ****** *) // fun{ a,b:t0p } list0_assoc_exn ( list0 @(INV(a), b), x0: a, eq: cfun(a, a, bool) ) : (b) // end-of-function fun{ a,b:t0p } list0_assoc_opt ( list0 @(INV(a), b), x0: a, eq: cfun(a, a, bool) ) : Option_vt (b) // end-of-function // (* ****** ****** *) // fun{a:t0p} list0_filter (list0(INV(a)), pred: cfun(a, bool)): list0(a) // (* ****** ****** *) // fun{ a:t0p}{b:t0p } list0_map ( xs: list0(INV(a)), fopr: cfun(a, b) ) : list0(b) // end-of-function // fun{ a:t0p}{b:t0p } list0_mapopt ( xs: list0(INV(a)), fopr: cfun(a, Option_vt(b)) ) : list0(b) // end-of-function // (* ****** ****** *) // fun{a:t0p} list0_mapcons (x0: a, xss: list0(list0(INV(a)))): list0(list0(a)) // overload * with list0_mapcons // (* ****** ****** *) // fun{ a:t0p}{b:t0p } list0_imap (xs: list0(INV(a)), fopr: cfun2(int, a, b)): list0(b) // (* ****** ****** *) fun{ a1,a2:t0p}{b:t0p } list0_map2 ( xs: list0(INV(a1)), ys: list0(INV(a2)), fopr: cfun2(a1, a2, b) ) : list0(b) // end of [list0_map2] (* ****** ****** *) // fun{a:t0p} list0_tabulate (n: int, fopr: cfun(int, a)): list0(a) fun{a:t0p} list0_tabulate_opt (n: int, fopr: cfun(int, Option_vt(a))): list0(a) // (* ****** ****** *) // fun {x,y:t0p} list0_zip ( list0(INV(x)), list0(INV(y)) ) :<> list0 @(x, y) // end-of-fun // (* fun{ x,y:t0p}{z:t0p } list0_zipwith (list0(INV(x)), list0(INV(y)), fopr: cfun2(x, y, z)): list0(z) *) macdef list0_zipwith = list0_map2 // (* ****** ****** *) // fun {x,y:t0p} list0_cross ( list0(INV(x)), list0(INV(y)) ) :<> list0 @(x, y) // end-of-fun // overload * with list0_cross // (* ****** ****** *) // fun{ x,y:t0p}{z:t0p } list0_crosswith ( list0(INV(x)), list0(INV(y)), fopr: cfun2(x, y, z) ) : list0(z) // end of [list0_crosswith] // (* ****** ****** *) fun{a:t0p} list0_quicksort (xs: NSH(list0(INV(a))), cmp: (a, a) - int):<> list0(a) // end of [list0_quicksort] (* ****** ****** *) fun{a:t0p} list0_mergesort (xs: NSH(list0(INV(a))), cmp: (a, a) - int):<> list0(a) // end of [list0_mergesort] (* ****** ****** *) (* end of [list0.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/dynarray.sats0000664000175000017500000000724612655455557020034 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: December, 2015 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) #if(0) // // HX: in [basis.sats] // abstype dynarray_type (a: vt@ype(*inv*)) = ptr stadef dynarray = dynarray_type // #endif (* ****** ****** *) // fun{a:vt0p} dynarray_make_nil (cap: sizeGte(1)): dynarray(a) // (* ****** ****** *) // (* fun{} fprint_array$sep(out: FILEref): void *) fun{a:vt0p} fprint_dynarray (out: FILEref, DA: dynarray(a)): void fun{a:vt0p} fprint_dynarray_sep (out: FILEref, DA: dynarray(a), sep: string): void // (* ****** ****** *) // fun{} dynarray_get_size {a:vt0p}(DA: dynarray(a)): size_t fun{} dynarray_get_capacity {a:vt0p}(DA: dynarray(a)): size_t // (* ****** ****** *) // fun{a:t0p} dynarray_get_at_exn (DA: dynarray(a), i: size_t): (a) fun{a:t0p} dynarray_set_at_exn (DA: dynarray(a), i: size_t, x: a): void // overload [] with dynarray_get_at_exn overload [] with dynarray_set_at_exn // (* ****** ****** *) // fun{a:vt0p} dynarray_getref_at (DA: dynarray(a), i: size_t): cPtr0(a) // (* ****** ****** *) // fun{a:vt0p} dynarray_insert_atbeg (DA: dynarray(a), x0: a): Option_vt(a) // fun{a:vt0p} dynarray_insert_atend (DA: dynarray(a), x0: a): Option_vt(a) // (* ****** ****** *) // overload .insbeg with dynarray_insert_atbeg overload .insend with dynarray_insert_atend // (* ****** ****** *) // fun{a:vt0p} dynarray_insert_at ( DA: dynarray(a), i: size_t, x0: a ) : Option_vt(a) // end-of-function // (* ****** ****** *) // fun{a:vt0p} dynarray_takeout_atbeg (DA: dynarray(INV(a))): Option_vt(a) fun{a:vt0p} dynarray_takeout_atend (DA: dynarray(INV(a))): Option_vt(a) // (* ****** ****** *) // fun{a:vt0p} dynarray_takeout_at (DA: dynarray(a), i: size_t): Option_vt(a) // (* ****** ****** *) // fun{a:t@ype} dynarray_listize0(DA: dynarray(a)): list0(a) fun{a:t@ype} dynarray_listize1(DA: dynarray(a)): list0(a) // (* ****** ****** *) overload .size with dynarray_get_size overload .capacity with dynarray_get_capacity (* ****** ****** *) overload .listize0 with dynarray_listize0 overload .listize1 with dynarray_listize1 (* ****** ****** *) (* end of [dynarray.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/gvalue.sats0000664000175000017500000001356112655455557017463 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Starting time: December, 2015 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) (* typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose *) (* ****** ****** *) macdef GVint_uncons(x0) = ( case+ ,(x0) of // case+ | GVint(i) => i | _(*non-int*) => let val () = assertloc(false) in exit(1) end ) : int // end of [GVint_uncons] macdef GVptr_uncons(x0) = ( case+ ,(x0) of // case+ | GVptr(i) => i | _(*non-ptr*) => let val () = assertloc(false) in exit(1) end ) : ptr // end of [GVptr_uncons] (* ****** ****** *) macdef GVbool_uncons(x0) = ( case+ ,(x0) of // case+ | GVbool(i) => i | _(*non-bool*) => let val () = assertloc(false) in exit(1) end ) : bool // end of [GVbool_uncons] macdef GVchar_uncons(x0) = ( case+ ,(x0) of // case+ | GVchar(i) => i | _(*non-char*) => let val () = assertloc(false) in exit(1) end ) : char // end of [GVchar_uncons] (* ****** ****** *) macdef GVfloat_uncons(x0) = ( case+ ,(x0) of // case+ | GVfloat(f) => f | _(*non-float*) => let val () = assertloc(false) in exit(1) end ) : double // end of [GVfloat_uncons] (* ****** ****** *) macdef GVstring_uncons(x0) = ( case+ ,(x0) of // case+ | GVstring(s) => s | _(*non-string*) => let val () = assertloc(false) in exit(1) end ) : string // end of [GVstring_uncons] (* ****** ****** *) macdef GVlist_uncons(x0) = ( case+ ,(x0) of // case+ | GVlist(xs) => xs | _(*non-string*) => let val () = assertloc(false) in exit(1) end ) : gvlist // end of [GVlist_uncons] (* ****** ****** *) macdef GVarray_uncons(x0) = ( case+ ,(x0) of // case+ | GVarray(xs) => xs | _(*non-string*) => let val () = assertloc(false) in exit(1) end ) : gvarray // end of [GVarray_uncons] (* ****** ****** *) macdef GVhashtbl_uncons(x0) = ( case+ ,(x0) of // case+ | GVhashtbl(kxs) => kxs | _(*non-string*) => let val () = assertloc(false) in exit(1) end ) : gvhashtbl // end of [GVhashtbl_uncons] (* ****** ****** *) // fun print_gvalue : gvalue -> void fun prerr_gvalue : gvalue -> void fun fprint_gvalue : fprint_type(gvalue) // overload print with print_gvalue overload prerr with prerr_gvalue overload fprint with fprint_gvalue // fun fprint_gvlist : fprint_type(gvlist) fun fprint_gvarray : fprint_type(gvarray) fun fprint_gvdynarr : fprint_type(gvdynarr) fun fprint_gvhashtbl : fprint_type(gvhashtbl) // overload fprint with fprint_gvlist of 10 overload fprint with fprint_gvarray of 10 overload fprint with fprint_gvdynarr of 10 overload fprint with fprint_gvhashtbl of 10 // (* ****** ****** *) // fun gvalue_nil(): gvalue // fun gvalue_int(int): gvalue // fun gvalue_ptr(ptr): gvalue // fun gvalue_bool(bool): gvalue fun gvalue_char(char): gvalue // fun gvalue_float(double): gvalue fun gvalue_string(string): gvalue // (* ****** ****** *) // fun gvalue_ref(gvref): gvalue // fun gvalue_list(xs: gvlist): gvalue // fun gvalue_array(xs: gvarray): gvalue // fun gvalue_hashtbl(kxs: gvhashtbl): gvalue // (* ****** ****** *) // fun gvref_make_elt (x0: gvalue): gvref // (* ****** ****** *) // fun gvarray_make_nil (asz: intGte(0)): gvarray // (* ****** ****** *) // fun gvdynarr_make_nil (cap: intGte(1)): gvdynarr // (* ****** ****** *) // fun gvdynarr_get_at (gvdynarr, i: intGte(0)): gvalue fun gvdynarr_set_at (gvdynarr, i: intGte(0), x: gvalue): void // overload [] with gvdynarr_get_at overload [] with gvdynarr_set_at // (* ****** ****** *) // fun gvdynarr_insert_atbeg (gvdynarr, x: gvalue): void fun gvdynarr_insert_atend (gvdynarr, x: gvalue): void // overload .insbeg with gvdynarr_insert_atbeg overload .insend with gvdynarr_insert_atend // (* ****** ****** *) // fun gvdynarr_listize0(gvdynarr): list0(gvalue) fun gvdynarr_listize1(gvdynarr): list0(gvalue) // (* ****** ****** *) // fun gvhashtbl_make_nil (cap: intGte(1)): gvhashtbl // (* ****** ****** *) // fun gvhashtbl_get_atkey (gvhashtbl, k: string): gvalue fun gvhashtbl_set_atkey (gvhashtbl, k: string, x: gvalue): void // fun gvhashtbl_exch_atkey (gvhashtbl, k: string, x: gvalue): gvalue // (* ****** ****** *) // overload [] with gvhashtbl_get_atkey overload [] with gvhashtbl_set_atkey // (* overload .get with gvhashtbl_get_atkey overload .set with gvhashtbl_set_atkey *) // (* ****** ****** *) // fun gvhashtbl_pop_atkey (gvhashtbl, k: string): gvalue fun gvhashtbl_push_atkey (gvhashtbl, k: string, x: gvalue): void // (* ****** ****** *) // fun gvhashtbl_listize1(gvhashtbl): list0 @(string, gvalue) // (* ****** ****** *) (* end of [gvalue.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/funset.sats0000664000175000017500000001060412655455557017477 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) // // HX-2013-08: // for sets of elements of type a // abstype set_type (a:t@ype+) = ptr typedef set (a:t0p) = set_type (a) // (* ****** ****** *) fun{a:t0p} compare_elt_elt (x: a, y: a):<> int (* ****** ****** *) fun{} funset_nil{a:t0p} ():<> set(a) fun{} funset_make_nil{a:t0p} ():<> set(a) (* ****** ****** *) fun{a:t0p} funset_sing (x: a): set(a) fun{a:t0p} funset_make_sing (x: a): set(a) (* ****** ****** *) fun{a:t0p} funset_make_list (xs: list0(INV(a))): set(a) (* ****** ****** *) // fun{ } fprint_funset$sep (out: FILEref): void // ", " // fun{a:t0p} fprint_funset (out: FILEref, set: set(INV(a))): void // overload fprint with fprint_funset // (* ****** ****** *) fun{} funset_is_nil {a:t0p} (xs: set(INV(a))):<> bool fun{} funset_isnot_nil {a:t0p} (xs: set(INV(a))):<> bool (* ****** ****** *) fun{a:t0p} funset_size (xs: set(INV(a))):<> size_t (* ****** ****** *) fun{a:t0p} funset_is_member (xs: set(INV(a)), x0: a):<> bool fun{a:t0p} funset_isnot_member (xs: set(INV(a)), x0: a):<> bool (* ****** ****** *) fun{a:t0p} funset_insert (xs: &set(INV(a)) >> _, x0: a): bool(*[x0] in [xs]*) // end of [funset_insert] (* ****** ****** *) fun{a:t0p} funset_remove (xs: &set(INV(a)) >> _, x0: a): bool(*[x0] is [xs]*) // end of [funset_remove] (* ****** ****** *) fun{a:t0p} funset_getmax_opt (xs: set(INV(a))): Option_vt (a) fun{a:t0p} funset_getmin_opt (xs: set(INV(a))): Option_vt (a) (* ****** ****** *) fun{a:t0p} funset_takeoutmax_opt (xs: &set(INV(a)) >> _): Option_vt (a) fun{a:t0p} funset_takeoutmin_opt (xs: &set(INV(a)) >> _): Option_vt (a) (* ****** ****** *) fun{a:t0p} funset_union (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_intersect (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_differ (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_symdiff (xs1: set(INV(a)), xs2: set(a)):<> set(a) (* ****** ****** *) fun{a:t0p} funset_equal (xs1: set(INV(a)), xs2: set(a)):<> bool (* ****** ****** *) // // HX: set ordering induced by the ordering on elements // fun{a:t0p} funset_compare (xs1: set(INV(a)), xs2: set(a)):<> int (* ****** ****** *) // fun{a:t0p} funset_is_subset (xs1: set(INV(a)), xs2: set(a)):<> bool fun{a:t0p} funset_is_supset (xs1: set(INV(a)), xs2: set(a)):<> bool // (* ****** ****** *) // fun{a:t0p} funset_foreach (set: set(INV(a))): void fun{ a:t0p}{env:vt0p } funset_foreach_env (set: set(INV(a)), env: &(env) >> _): void // end of [funset_foreach_env] // fun{ a:t0p}{env:vt0p } funset_foreach$fwork (x: a, env: &(env) >> _): void // (* ****** ****** *) // fun{a:t0p} funset_foreach_cloref (set: set(INV(a)), fwork: (a) - void): void // (* ****** ****** *) // fun{a:t0p} funset_tabulate_cloref {n:nat}(int(n), fopr: (natLt(n)) - a): set(a) // (* ****** ****** *) fun{a:t0p} funset_listize (xs: set(INV(a))):<> list0 (a) (* ****** ****** *) (* end of [funset.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/basis.sats0000664000175000017500000001112512655455557017273 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // For supporting ML-style of functional programming // (* ****** ****** *) // // Author of the file: Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: June, 2012 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats" (* ****** ****** *) // typedef cfun0(b:vt0p) = ((*void*)) - b typedef cfun1(a:vt0p, b:vt0p) = (a) - b typedef cfun2(a1:vt0p, a2:vt0p, b:vt0p) = (a1, a2) - b // (* ****** ****** *) // typedef cfun3 ( a1:vt0p, a2:vt0p, a3:vt0p, b:vt0p ) = (a1, a2, a3) - b typedef cfun4 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, b:vt0p ) = (a1, a2, a3, a4) - b typedef cfun5 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, a5:vt0p, b:vt0p ) = (a1, a2, a3, a4, a5) - b typedef cfun6 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, a5:vt0p, a6:vt0p, b:vt0p ) = (a1, a2, a3, a4, a5, a6) - b typedef cfun7 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, a5:vt0p, a6:vt0p, a7:vt0p, b:vt0p ) = (a1, a2, a3, a4, a5, a6, a7) - b typedef cfun8 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, a5:vt0p, a6:vt0p, a7:vt0p, a8:vt0p, b:vt0p ) = (a1, a2, a3, a4, a5, a6, a7, a8) - b typedef cfun9 ( a1:vt0p, a2:vt0p, a3:vt0p, a4:vt0p, a5:vt0p, a6:vt0p, a7:vt0p, a8:vt0p, a9:vt0p, b:vt0p ) = (a1, a2, a3, a4, a5, a6, a7, a8, a9) - b // (* ****** ****** *) stadef cfun = cfun0 stadef cfun = cfun1 stadef cfun = cfun2 stadef cfun = cfun3 stadef cfun = cfun4 stadef cfun = cfun5 stadef cfun = cfun6 stadef cfun = cfun7 stadef cfun = cfun8 stadef cfun = cfun9 (* ****** ****** *) datatype // t@ype+: covariant list0_t0ype_type (a: t@ype+) = | list0_nil of () | list0_cons of (a, list0_t0ype_type a) stadef list0 = list0_t0ype_type #define nil0 list0_nil #define cons0 list0_cons (* ****** ****** *) datatype // t@ype+: covariant option0_t0ype_type (a: t@ype+) = Some0 of (a) | None0 of () stadef option0 = option0_t0ype_type (* ****** ****** *) // abstype array0_vt0ype_type (a: vt@ype(*invariant*)) = ptr stadef array0 = array0_vt0ype_type (* abstype subarray0_vt0ype_type (a: vt@ype(*invariant*)) = ptr stadef subarray0 = subarray0_vt0ype_type *) // (* ****** ****** *) // abstype matrix0_vt0ype_type (a: vt@ype(*invariant*)) = ptr stadef matrix0 = matrix0_vt0ype_type // (* ****** ****** *) // abstype strarr_type = ptr typedef strarr = strarr_type (* abstype substrarr_type = ptr typedef substrarr = substrarr_type *) // (* ****** ****** *) // abstype dynarray_type (a:vt@ype) = ptr // typedef dynarray(a:vt@ype) = dynarray_type(a) // (* ****** ****** *) // // HX: for maps of elements of type (a) // abstype hashtbl_type (key:t@ype, itm:t@ype) = ptr // typedef hashtbl(key:t@ype, itm:t@ype) = hashtbl_type(key, itm) // (* ****** ****** *) // // HX-2015-12-01: // G-values for generic programming // (* ****** ****** *) // datatype gvalue = // | GVnil of () // | GVint of (int) // | GVptr of (ptr) // | GVbool of (bool) | GVchar of (char) // | GVfloat of (double) // | GVstring of (string) // | GVref of (gvref) // | GVlist of (gvlist) // | GVarray of (gvarray) // | GVdynarr of (gvdynarr) // | GVhashtbl of (gvhashtbl) // | GVfunclo_fun of ((gvalue) - gvalue) | GVfunclo_clo of ((gvalue) - gvalue) // where gvref = ref(gvalue) and gvlist = list0(gvalue) and gvarray = array0(gvalue) and gvdynarr = dynarray(gvalue) and gvhashtbl = hashtbl(string, gvalue) // (* ****** ****** *) (* end of [basis.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/option0.sats0000664000175000017500000000531612655455557017567 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: May, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) // castfn option0_of_option {a:t@ype} (xs: Option a):<> option0 (a) castfn option0_of_option_vt {a:t@ype} (xs: Option_vt a):<> option0 (a) // (* ****** ****** *) castfn g0ofg1_option {a:t@ype} (xs: Option (a)):<> option0 (a) overload g0ofg1 with g0ofg1_option castfn g1ofg0_option {a:t@ype} (xs: option0 (a)):<> Option (a) overload g1ofg0 with g1ofg0_option (* ****** ****** *) // fun{ } option0_none {a:t0p} ((*void*)):<> option0 (a) // fun{ a:t0p } option0_some (x: a):<> option0 (a) // (* ****** ****** *) fun{} option0_is_none {a:t0p} (x: option0 a):<> bool overload iseqz with option0_is_none fun{} option0_is_some {a:t0p} (x: option0 a):<> bool overload isneqz with option0_is_some (* ****** ****** *) fun{a:t0p} option0_unsome_exn (opt: option0 (a)): a (* ****** ****** *) fun{a:t0p} fprint_option0 (out: FILEref, opt: option0 (a)): void overload fprint with fprint_option0 (* ****** ****** *) // fun{ a:t0p}{b:t0p } option0_map (xs: option0 (INV(a)), f: cfun (a, b)): option0 (b) // (* ****** ****** *) (* end of [option0.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/monad_maybe.sats0000664000175000017500000000365512655455557020456 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "./basis.sats" (* ****** ****** *) #include "./SHARE/monad.hats" (* ****** ****** *) fun{a:t0p} monad_maybe_none (): monad (a) fun{a:t0p} monad_maybe_some (x: a): monad (a) (* ****** ****** *) fun{a:t0p} monad_maybe_optize (m: monad (a)): Option (a) (* ****** ****** *) // fun{a:t0p} fprint_monad (out: FILEref, m: monad (INV(a))): void overload fprint with fprint_monad // (* ****** ****** *) (* end of [monad_maybe.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/SHARE/0000775000175000017500000000000012655455557016140 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/SATS/SHARE/monad.hats0000664000175000017500000000622412655455557020123 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX: shared by monad_list // HX: shared by monad_maybe // (* ****** ****** *) abstype monad_type (a:t@ype+) = ptr typedef monad (a:t@ype) = monad_type (a) (* ****** ****** *) fun {a:t0p} {b:t0p} monad_bind ( monad(a), cfun(a, monad(b)) ) : monad(b) // end-of-function fun {a1 ,a2:t0p }{b:t0p} monad_bind2 ( monad(a1), monad(a2), cfun(a1, a2, monad(b)) ) : monad(b) // end-of-function fun {a1 ,a2 ,a3:t0p }{b:t0p} monad_bind3 ( monad(a1), monad(a2), monad(a3), cfun(a1, a2, a3, monad(b)) ) : monad(b) // end-of-function (* ****** ****** *) fun{a:t0p} monad_return (x: a): monad(a) (* ****** ****** *) fun{} monad_unit (): monad(unit) (* ****** ****** *) // fun {a:t0p} monad_nil (): monad(list0(a)) fun {a:t0p} monad_cons ( monad(INV(a)), monad (list0(a)) ) : monad(list0(a)) // end-of-fun // (* ****** ****** *) fun {a1,a2:t0p} monad_seq ( m1: monad(INV(a1)), m2: monad(INV(a2)) ): monad(a2) // end of [monad_seq] (* ****** ****** *) fun{a:t0p} monad_join (monad(monad(INV(a)))): monad(a) (* ****** ****** *) fun {a:t0p} {b:t0p} monad_fmap (cfun(a, b), monad(a)): monad(b) (* ****** ****** *) fun {a:t0p} {b:t0p} monad_liftm (cfun(a, b), monad(a)): monad(b) fun {a1 ,a2:t0p }{b:t0p} monad_liftm2 (cfun(a1, a2, b), monad(a1), monad(a2)): monad(b) // end of [monad_liftm2] fun {a1 ,a2 ,a3:t0p }{b:t0p} monad_liftm3 (cfun(a1, a2, a3, b), monad(a1), monad(a2), monad(a3)): monad(b) // end of [monad_liftm3] (* ****** ****** *) // fun {a:t0p} {b:t0p} monad_mapm (cfun(a, b), list0(monad(a))): monad(list0(b)) // fun {a:t0p} {b:t0p} monad_mapm_(cfun(a, monad(b)), list0(a)): monad(unit) // (* ****** ****** *) // fun{a:t0p} monad_seqlist (list0(monad(INV(a)))): monad(list0(a)) // fun{a:t0p} monad_seqlist_(list0(monad(INV(a)))): monad(unit) // (* ****** ****** *) (* end of [monad.hats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/SHARE/.keeper0000664000175000017500000000000012655455557017402 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/SATS/hashtblref.sats0000664000175000017500000000756012655455557020324 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) // typedef hashtbl // introduced in [basis.sats] (key:t@ype, itm:t@ype) = hashtbl(key, itm) // (* ****** ****** *) // fun{ key:t0p } hash_key (x: key):<> ulint // fun{ key:t0p } equal_key_key (x1: key, x2: key):<> bool // (* ****** ****** *) fun{ key,itm:t0p } hashtbl_make_nil (cap: sizeGte(1)): hashtbl(key, itm) (* ****** ****** *) fun{} hashtbl_get_size{key,itm:t0p} (hashtbl(key, itm)): size_t fun{} hashtbl_get_capacity{key,itm:t0p} (hashtbl(key, itm)): sizeGte(1) (* ****** ****** *) fun{ key,itm:t0p } hashtbl_search (hashtbl(key, itm), key): Option_vt (itm) // end of [hashtbl_search] fun{ key,itm:t0p } hashtbl_search_ref (tbl: hashtbl(key, itm), k: key): cPtr0 (itm) // end of [hashtbl_search_ref] (* ****** ****** *) fun{ key,itm:t0p } hashtbl_insert (hashtbl(key, itm), key, itm): Option_vt (itm) // end of [hashtbl_insert] fun{ key,itm:t0p } hashtbl_insert_any(hashtbl(key, itm), key, itm): void (* ****** ****** *) fun{ key,itm:t0p } hashtbl_takeout (hashtbl(key, itm), key): Option_vt (itm) // end of [hashtbl_takeout] (* ****** ****** *) fun{ key,itm:t0p } hashtbl_remove(tbl: hashtbl(key, itm), key): bool (* ****** ****** *) fun{ key,itm:t0p } hashtbl_takeout_all (tbl: hashtbl(key, itm)): list0 @(key, itm) // end of [hashtbl_takeout_all] (* ****** ****** *) // fun{ key,itm:t@ype } fprint_hashtbl (out: FILEref, tbl: hashtbl(key, itm)): void // overload fprint with fprint_hashtbl // fun{} fprint_hashtbl$sep (out: FILEref): void // default: fprint("; ") fun{} fprint_hashtbl$mapto (out: FILEref): void // default: fprint("->") // (* ****** ****** *) // fun{ key,itm:t@ype } fprint_hashtbl_sep_mapto ( out: FILEref, tbl: hashtbl(key, itm), sep: string, mapto: string ) : void // end of [fprint_hashtbl_sep_mapto] // (* ****** ****** *) // fun{ key,itm:t0p } hashtbl_foreach (tbl: hashtbl(key, itm)): void fun {key:t0p ;itm:t0p} {env:vt0p} hashtbl_foreach_env (tbl: hashtbl(key, itm), env: &(env) >> _): void // fun {key:t0p ;itm:t0p} {env:vt0p} hashtbl_foreach$fwork (key: key, itm: &itm >> _, env: &(env) >> _): void // (* ****** ****** *) // fun{ key,itm:t0p } hashtbl_foreach_cloref (tbl: hashtbl(key, itm), fwork: (key, &itm >> _) - void): void // (* ****** ****** *) // fun{ key,itm:t0p } hashtbl_listize1(hashtbl(key, itm)): list0 @(key, itm) // (* ****** ****** *) (* end of [hashtblref.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/intrange.sats0000664000175000017500000000705712655455557020012 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom*) (* Start time: September, 2014 *) (* ****** ****** *) // // HX-2013-04: // intrange (l, r) is for integers i satisfying l <= i < r // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) // fun{} int_repeat_lazy (n: int, f: lazy (void)): void fun{} int_repeat_cloref (n: int, f: cfun0 (void)): void // overload repeat with int_repeat_lazy overload repeat with int_repeat_cloref overload .repeat with int_repeat_cloref // (* ****** ****** *) // fun{} int_foreach_cloref (n: int, f: cfun1 (int, void)): void fun{} int_foreach_method (n: int) (f: cfun1 (int, void)): void // overload .foreach with int_foreach_method // (* ****** ****** *) // fun{res:vt0p} int_foldleft_cloref (n: int, ini: res, f: cfun2 (res, int, res)): res // fun{res:vt0p} int_foldleft_method (int, TYPE(res))(ini: res, f: cfun2 (res, int, res)): res // overload .foldleft with int_foldleft_method // (* ****** ****** *) // fun{} intrange_foreach_cloref (l: int, r: int, f: cfun1 (int, void)): void fun{} intrange_foreach_method (lr: @(int, int)) (f: cfun1 (int, void)): void // overload .foreach with intrange_foreach_method // (* ****** ****** *) // fun{res:vt0p} intrange_foldleft_cloref (l: int, r: int, ini: res, f: cfun2 (res, int, res)): res // fun{res:vt0p} intrange_foldleft_method ((int, int), TYPE(res))(ini: res, f: cfun2 (res, int, res)): res // overload .foldleft with intrange_foldleft_method // (* ****** ****** *) // fun{a:t0p} int_list_map_cloref (n: intGte(0), f: cfun(int, a)): list0(a) fun{a:t0p} int_list_map_method (n: intGte(0), TYPE(a))(f: cfun(int, a)): list0(a) // overload .list_map with int_list_map_method // (* ****** ****** *) // fun{a:t0p} int_array_map_cloref (n: intGte(0), f: cfun(size_t, a)): array0(a) fun{a:t0p} int_array_map_method (n: intGte(0), TYPE(a))(f: cfun(size_t, a)): array0(a) // overload .array_map with int_array_map_method // (* ****** ****** *) // fun{} int2_foreach_cloref (n1: int, n2: int, f: cfun2 (int, int, void)): void // fun{} intrange2_foreach_cloref (l1: int, r1: int, l2: int, r2: int, f: cfun2 (int, int, void)): void // (* ****** ****** *) (* end of [intrange.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/monad_list.sats0000664000175000017500000000362312655455557020327 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "./basis.sats" (* ****** ****** *) #include "./SHARE/monad.hats" (* ****** ****** *) fun{a:t0p} monad_list_list (xs: list0 (INV(a))): monad (a) (* ****** ****** *) fun{a:t0p} monad_list_listize (m: monad (INV(a))): list0 (a) (* ****** ****** *) // fun{a:t0p} fprint_monad (out: FILEref, m: monad (INV(a))): void overload fprint with fprint_monad // (* ****** ****** *) (* end of [monad_list.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/funmap.sats0000664000175000017500000000700112655455557017456 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) // // HX: for maps of elements of type (a) // abstype map_type (key:t@ype, itm:t0ype+) = ptr typedef map (key:t0p, itm:t0p) = map_type (key, itm) // (* ****** ****** *) fun{key:t0p} compare_key_key (x1: key, x2: key):<> int (* ****** ****** *) fun{} funmap_nil{key,itm:t0p} ():<> map (key, itm) fun{} funmap_make_nil{key,itm:t0p} ():<> map (key, itm) (* ****** ****** *) fun{ } funmap_is_nil {key,itm:t0p} (map: map (key, INV(itm))):<> bool fun{ } funmap_isnot_nil {key,itm:t0p} (map: map (key, INV(itm))):<> bool (* ****** ****** *) fun{ key,itm:t0p } funmap_size (map: map (key, INV(itm))):<> size_t (* ****** ****** *) fun{ key,itm:t0p } funmap_search (map: map (key, INV(itm)), k: key): Option_vt (itm) // end of [funmap_search] (* ****** ****** *) fun{ key,itm:t0p } funmap_insert (map: &map (key, INV(itm)) >> _, key, itm): Option_vt (itm) // end of [funmap_insert] (* ****** ****** *) fun{ key,itm:t0p } funmap_takeout (map: &map (key, INV(itm)) >> _, k: key): Option_vt (itm) // end of [funmap_takeout] (* ****** ****** *) fun{ key,itm:t0p } funmap_remove (map: &map (key, INV(itm)) >> _, k: key): bool (* ****** ****** *) // fun{ key,itm:t@ype } fprint_funmap (out: FILEref, map: map(key, itm)): void // overload fprint with fprint_funmap // fun{} fprint_funmap$sep (out: FILEref): void // default: fprint("; ") fun{} fprint_funmap$mapto (out: FILEref): void // default: fprint("->") // (* ****** ****** *) // fun{ key,itm:t0p } funmap_foreach (map: map(key, itm)): void fun {key:t0p ;itm:t0p} {env:vt0p} funmap_foreach_env (map: map(key, itm), env: &(env) >> _): void // fun {key:t0p ;itm:t0p} {env:vt0p} funmap_foreach$fwork (key: key, itm: &itm >> _, env: &(env) >> _): void // (* ****** ****** *) // fun{ key,itm:t0p } funmap_foreach_cloref (map: map(key, itm), fwork: (key, itm) - void): void // (* ****** ****** *) fun{ key,itm:t0p } funmap_listize (map: map (key, INV(itm))): list0 @(key, itm) (* ****** ****** *) (* end of [funmap.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/matrix0.sats0000664000175000017500000001156012655455557017561 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) #if(0) // // HX: in [basis.sats] // abstype matrix0_vt0ype_type (a: vt@ype(*invariant*)) = ptr stadef matrix0 = matrix0_vt0ype_type // #endif (* ****** ****** *) (* typedef matrix0 (a: vt@ype) = mtrxszref (a) *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) // fun{} matrix0_of_mtrxszref {a:vt0p} (mtrxszref (a)):<> matrix0 (a) // fun{} mtrxszref_of_matrix0 {a:vt0p} (M: matrix0 (a)):<> mtrxszref (a) // (* ****** ****** *) fun{a:t0p} matrix0_make_elt (nrow: size_t, ncol: size_t, init: a): matrix0 (a) // end of [matrix0_make_elt] (* ****** ****** *) // fun{} matrix0_get_ref{a:vt0p} (M: matrix0 a):<> Ptr1 // fun{} matrix0_get_nrow{a:vt0p} (M: matrix0 a):<> size_t fun{} matrix0_get_ncol{a:vt0p} (M: matrix0 a):<> size_t // fun{} matrix0_get_refsize {a:vt0p} ( M: matrix0 (a) ) :<> [m,n:nat] (matrixref (a, m, n), size_t(m), size_t(n)) // (* ****** ****** *) // fun{a:t0p} matrix0_get_at_int (M: matrix0(a), i: int, j: int): a // fun{a:t0p} matrix0_get_at_size (M: matrix0 (a), i: size_t, j: size_t): a // symintr matrix0_get_at overload matrix0_get_at with matrix0_get_at_int overload matrix0_get_at with matrix0_get_at_size // (* ****** ****** *) // fun{a:t0p} matrix0_set_at_int (M: matrix0(a), i: int, j: int, x: a): void // fun{a:t0p} matrix0_set_at_size (M: matrix0 (a), i: size_t, j: size_t, x: a): void // symintr matrix0_set_at overload matrix0_set_at with matrix0_set_at_int overload matrix0_set_at with matrix0_set_at_size // (* ****** ****** *) // fun{a:vt0p} print_matrix0 (M: matrix0 (a)): void fun{a:vt0p} prerr_matrix0 (M: matrix0 (a)): void // (* fprint_matrix$sep1 // col separation fprint_matrix$sep2 // row separation *) fun{a:vt0p} fprint_matrix0 (out: FILEref, M: matrix0 (a)): void fun{a:vt0p} fprint_matrix0_sep (out: FILEref, M: matrix0 (a), sep1: string, sep2: string): void // (* ****** ****** *) fun{a:t0p} matrix0_copy (M: matrix0 (a)): matrix0 (a) (* ****** ****** *) fun{a:vt0p} matrix0_tabulate ( nrow: size_t, ncol: size_t, f: cfun (size_t, size_t, a) ) : matrix0 (a) // end-of-fun (* ****** ****** *) fun{a:vt0p} matrix0_foreach (M: matrix0 (a), f: (&a >> _) - void): void // end of [matrix0_foreach] fun{a:vt0p} matrix0_iforeach (M: matrix0 (a), f: (size_t, size_t, &a >> _) - void): void // end of [matrix0_iforeach] (* ****** ****** *) fun{ res:vt0p}{a:vt0p } matrix0_foldleft ( M: matrix0 (a), ini: res, f: (res, &a) - res ) : res // end of [matrix0_foldleft] fun{ res:vt0p}{a:vt0p } matrix0_ifoldleft ( M: matrix0 (a), ini: res, f: (res, size_t, size_t, &a) - res ) : res // end of [matrix0_ifoldleft] (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload .nrow with matrix0_get_nrow overload .ncol with matrix0_get_ncol (* ****** ****** *) overload [] with matrix0_get_at_int of 0 overload [] with matrix0_get_at_size of 0 overload [] with matrix0_set_at_int of 0 overload [] with matrix0_set_at_size of 0 (* ****** ****** *) overload print with print_matrix0 overload prerr with print_matrix0 overload fprint with fprint_matrix0 overload fprint with fprint_matrix0_sep (* ****** ****** *) (* end of [matrix0.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/stdlib.sats0000664000175000017500000000377012655455557017462 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) fun{} getenv_exn (name: NSH(string)): string fun{} getenv_opt (name: NSH(string)): option0 (string) (* ****** ****** *) fun{} setenv_exn (name: NSH(string), value: NSH(string), overwrite: int): void fun{} setenv_err (name: NSH(string), value: NSH(string), overwrite: int): int(*err*) (* ****** ****** *) (* end of [stdlib.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/strarr.sats0000664000175000017500000001214012655455557017505 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: February, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) %{# #include "libats/ML/CATS/strarr.cats" %} // end of [%{#] (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) // // HX-2013-02: // a strarr-value is represented an array of character; // in principle, this array should be treated as read-only. // (* ****** ****** *) #if(0) // // HX: in [basis.sats] // abstype strarr_type = ptr typedef strarr = strarr_type // #endif (* ****** ****** *) castfn array2strarr (cs: array0 (char)):<> strarr castfn strarr2array (cs: strarr):<> array0 (char) (* ****** ****** *) fun{} strarr_get_ref (str: strarr):<> Ptr1 fun{} strarr_get_size (str: strarr):<> size_t fun{} strarr_get_refsize (A: strarr):<> [n:nat] (arrayref (char, n), size_t (n)) // end of [strarr_get_refsize] (* ****** ****** *) // fun strarr_make_string (str: string): strarr // fun strarr_make_substring (string, st: size_t, ln: size_t): strarr // symintr strarr_make overload strarr_make with strarr_make_string overload strarr_make with strarr_make_substring // (* ****** ****** *) // // HX-2013: // naming convention: xxx_imake_yyy -> yyy_make_xxx // fun strarr_imake_string (str: strarr): string // (* ****** ****** *) fun{} strarr_is_empty (strarr):<> bool overload iseqz with strarr_is_empty fun{} strarr_isnot_empty (strarr):<> bool overload isneqz with strarr_isnot_empty (* ****** ****** *) // fun{tk:tk} strarr_get_at_gint (str: strarr, i: g0int(tk)): char fun{tk:tk} strarr_get_at_guint (str: strarr, i: g0uint(tk)): char // symintr strarr_get_at // overload [] with strarr_get_at_gint of 0 overload strarr_get_at with strarr_get_at_gint of 0 overload [] with strarr_get_at_guint of 0 overload strarr_get_at with strarr_get_at_guint of 0 // (* ****** ****** *) fun strarr_get_range (strarr, i0: size_t, i1: size_t): string // end of [strarr_get_range] (* ****** ****** *) fun lt_strarr_strarr (str1: strarr, str2: strarr):<> bool overload < with lt_strarr_strarr fun lte_strarr_strarr (str1: strarr, str2: strarr):<> bool overload <= with lte_strarr_strarr fun gt_strarr_strarr (str1: strarr, str2: strarr):<> bool overload > with gt_strarr_strarr fun gte_strarr_strarr (str1: strarr, str2: strarr):<> bool overload >= with gte_strarr_strarr fun eq_strarr_strarr (str1: strarr, str2: strarr):<> bool overload = with eq_strarr_strarr fun neq_strarr_strarr (str1: strarr, str2: strarr):<> bool overload != with neq_strarr_strarr overload <> with neq_strarr_strarr (* ****** ****** *) fun strarr_compare (str1: strarr, str2: strarr):<> int overload compare with strarr_compare (* ****** ****** *) // fun strarr_length (strarr):<> size_t // overload length with strarr_length // (* ****** ****** *) // fun print_strarr (str: strarr): void fun prerr_strarr (str: strarr): void // overload print with print_strarr overload prerr with prerr_strarr // fun fprint_strarr (out: FILEref, str: strarr): void // overload fprint with fprint_strarr // (* ****** ****** *) fun strarr_contains (str: strarr, c: char):<> bool (* ****** ****** *) fun strarr_copy (str: strarr): strarr (* ****** ****** *) fun strarr_append (str1: strarr, str2: strarr): strarr overload + with strarr_append (* ****** ****** *) // fun strarr_tabulate (n: size_t, f: cfun (size_t, char)): strarr // (* ****** ****** *) // fun strarr_foreach (str: strarr, f: cfun (char, void)): void fun strarr_iforeach (str: strarr, f: cfun2 (size_t, char, void)): void fun strarr_rforeach (str: strarr, f: cfun (char, void)): void // (* ****** ****** *) (* end of [strarr.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/.keeper0000664000175000017500000000000012655455557016540 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/SATS/filebas.sats0000664000175000017500000000455312655455557017606 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: January, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) typedef charlst0 = list0 (char) typedef stringlst0 = list0 (string) (* ****** ****** *) (* fun fileref_open_opt (path: NSH(string), fm: file_mode): option0 (FILEref) // end of [fileref_open_opt] *) (* ****** ****** *) fun fileref_get_line_charlst (filr: FILEref): charlst0 (* ** HX: for handling files of "tiny" size *) fun fileref_get_lines_charlstlst (filr: FILEref): list0 (charlst0) (* ****** ****** *) fun fileref_get_line_string (filr: FILEref): string (* ** HX: for handling files of "tiny" size *) fun fileref_get_lines_stringlst (filr: FILEref): stringlst0 (* ****** ****** *) fun dirname_get_fnamelst (dirname: string): list0 (string) (* ****** ****** *) (* end of [filebas.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/array0.sats0000664000175000017500000001627312655455557017401 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) %{# #include "libats/ML/CATS/array0.cats" %} // end of [%{#] (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) #if(0) // // HX: in [basis.sats] // abstype array0_vt0ype_type (a: vt@ype(*invariant*)) = ptr stadef array0 = array0_vt0ype_type // #endif (* ****** ****** *) (* typedef array0 (a: vt@ype) = arrszref (a) *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) // fun{} array0_of_arrszref {a:vt0p} (arrszref (a)):<> array0 (a) // fun{} arrszref_of_array0 {a:vt0p} (A: array0 (a)):<> arrszref (a) // (* ****** ****** *) // symintr array0 // fun{} array0_make_arrpsz {a:vt0p}{n:int} (psz: arrpsz (INV(a), n)): array0 (a) overload array0 with array0_make_arrpsz // fun{} array0_make_arrayref {a:vt0p}{n:int} (A: arrayref (a, n), n: size_t (n)): array0 (a) overload array0 with array0_make_arrayref // (* ****** ****** *) // fun{} array0_get_ref{a:vt0p} (A: array0 a):<> Ptr1 fun{} array0_get_size{a:vt0p} (A: array0 a):<> size_t // fun{} array0_get_refsize {a:vt0p} (array0 (a)):<> [n:nat] (arrayref (a, n), size_t (n)) // (* ****** ****** *) // fun{a:t0p} array0_make_elt (asz: size_t, x: a): array0 (a) // (* ****** ****** *) // fun{a:t0p} array0_make_list (xs: list0 (INV(a))): array0 (a) fun{a:t0p} array0_make_rlist (xs: list0 (INV(a))): array0 (a) // (* ****** ****** *) fun{a:t0p} array0_make_subarray (A: array0 (a), st: size_t, ln: size_t): array0 (a) // end of [array0_make_subarray] (* ****** ****** *) fun{a:t0p} array0_get_at_size (A: array0 (a), i: size_t): a fun{a:t0p}{tk:tk} array0_get_at_gint (A: array0 (a), i: g0int(tk)): a fun{a:t0p}{tk:tk} array0_get_at_guint (A: array0 (a), i: g0uint(tk)): a // symintr array0_get_at overload array0_get_at with array0_get_at_gint overload array0_get_at with array0_get_at_guint // (* ****** ****** *) fun{a:t0p} array0_set_at_size (A: array0 (a), i: size_t, x: a): void fun{a:t0p}{tk:tk} array0_set_at_gint (A: array0 (a), i: g0int(tk), x: a): void fun{a:t0p}{tk:tk} array0_set_at_guint (A: array0 (a), i: g0uint(tk), x: a): void // symintr array0_set_at overload array0_set_at with array0_set_at_gint overload array0_set_at with array0_set_at_guint // (* ****** ****** *) fun{a:vt0p} array0_exch_at_size (A: array0 (a), i: size_t, x: &a >> _): void fun{a:vt0p}{tk:tk} array0_exch_at_gint (A: array0 (a), i: g0int(tk), x: &a >> _): void fun{a:vt0p}{tk:tk} array0_exch_at_guint (A: array0 (a), i: g0uint(tk), x: &a >> _): void // symintr array0_exch_at overload array0_exch_at with array0_exch_at_gint overload array0_exch_at with array0_exch_at_guint // (* ****** ****** *) fun{a:vt0p} array0_interchange (A: array0 (a), i: size_t, j: size_t): void // end of [array0_interchange] (* ****** ****** *) fun{a:vt0p} array0_subcirculate (A: array0 (a), i: size_t, j: size_t): void // end of [array0_subcirculate] (* ****** ****** *) // fun{a:vt0p} print_array0 (A: array0 (a)): void fun{a:vt0p} prerr_array0 (A: array0 (a)): void // (* fun{} fprint_array$sep (out: FILEref): void *) fun{a:vt0p} fprint_array0 (out: FILEref, A: array0 (a)): void fun{a:vt0p} fprint_array0_sep (out: FILEref, A: array0 (a), sep: string): void // (* ****** ****** *) fun{a:t0p} array0_copy (A: array0 (a)): array0 (a) (* ****** ****** *) fun{a:t0p} array0_append (A1: array0 (a), A2: array0 (a)): array0 (a) // end of [array0_append] (* ****** ****** *) fun{ a:vt0p}{b:vt0p } array0_map (A: array0 (a), f: (&a) - b): array0 (b) // end of [array0_map] fun{ a:vt0p}{b:vt0p } array0_mapopt (A: array0 (a), f: (&a) - Option_vt (b)): array0 (b) // end of [array0_mapopt] (* ****** ****** *) fun{a:vt0p} array0_tabulate (asz: size_t, f: (size_t) - a): array0 (a) // end of [array0_tabulate] (* ****** ****** *) fun{a:vt0p} array0_foreach (A: array0 (a), f: (&a >> _) - void): void // end of [array0_foreach] fun{a:vt0p} array0_iforeach (A: array0 (a), f: (size_t, &a >> _) - void): void // end of [array0_iforeach] (* ****** ****** *) fun{a:vt0p} array0_rforeach (A: array0 (a), f: (&a >> _) - void): void // end of [array0_rforeach] (* ****** ****** *) (* ** HX: raising NotFoundExn if no satisfying element is found *) fun{a:vt0p} array0_find_exn (A: array0 (a), p: (&a) - bool): size_t // end of [array0_find_exn] fun{a:vt0p} array0_find_opt (A: array0 (a), p: (&a) - bool): option0 (size_t) // end of [array0_find_opt] (* ****** ****** *) fun{ res:vt0p}{a:vt0p } array0_foldleft ( A: array0 (a), ini: res, f: (res, &a) - res ) : res // end of [array0_foldleft] fun{ res:vt0p}{a:vt0p } array0_ifoldleft ( A: array0 (a), ini: res, f: (res, size_t, &a) - res ) : res // end of [array0_ifoldleft] (* ****** ****** *) fun{ a:vt0p}{res:vt0p } array0_foldright ( A: array0 (a), f: (&a, res) - res, snk: res ) : res // end of [array0_foldright] (* ****** ****** *) // fun {a:vt0p} array0_quicksort(array0(a), cmp: (&a, &a) - int): void // (* ****** ****** *) // // Overloading certain symbols // (* ****** ****** *) overload .size with array0_get_size (* ****** ****** *) overload [] with array0_get_at_gint overload [] with array0_get_at_guint overload [] with array0_set_at_gint overload [] with array0_set_at_guint (* ****** ****** *) overload print with print_array0 overload prerr with print_array0 overload fprint with fprint_array0 overload fprint with fprint_array0_sep (* ****** ****** *) (* end of [array0.sats] *) ATS2-Postiats-0.2.6/./libats/ML/SATS/string.sats0000664000175000017500000000645012655455557017505 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.ML" #define ATS_EXTERN_PREFIX "atslib_ML_" // prefix for external names (* ****** ****** *) staload "libats/ML/SATS/basis.sats" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) fun{ } itoa (x: int):<> string (* ****** ****** *) fun{ } string_sing (c: charNZ):<> string (* ****** ****** *) fun{ } string_is_empty (NSH(string)):<> bool fun{ } string_isnot_empty (NSH(string)):<> bool (* ****** ****** *) overload iseqz with string_is_empty overload isneqz with string_isnot_empty (* ****** ****** *) fun{ } string_copy (x: NSH(string)):<> string (* ****** ****** *) fun{ } string_make_list (cs: list0 (char)):<> string fun{ } string_make_rlist (cs: list0 (char)):<> string (* ****** ****** *) fun{ } string_make_substring (x: NSH(string), st: size_t, ln: size_t):<> string // end of [string_make_substring] (* ****** ****** *) fun{ } string_append (x1: NSH(string), x2: NSH(string)):<> string overload + with string_append of 0 (* ****** ****** *) fun{ } stringlst_concat (xs: list0 (string)):<> string (* ****** ****** *) fun{ } string_explode (x: string):<> list0 (char) fun{ } string_implode (cs: list0 (char)):<> string (* ****** ****** *) // fun string_tabulate (n: size_t, f: (size_t) - charNZ): string // (* ****** ****** *) // fun string_forall (x: string, f: cfun (char, bool)): bool fun string_iforall (x: string, f: cfun2 (int, char, bool)): bool // fun string_foreach (x: string, f: cfun (char, void)): void // fun{} string_forall_method(string)(cfun (char, bool)): bool fun{} string_iforall_method(string)(cfun2 (int, char, bool)): bool // fun{} string_foreach_method(x: string)(f: cfun (char, void)): void // overload .forall with string_forall_method overload .iforall with string_iforall_method overload .foreach with string_foreach_method // (* ****** ****** *) (* end of [string.sats] *) ATS2-Postiats-0.2.6/./libats/ML/HATS/0000775000175000017500000000000012655455557015263 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/HATS/myfunset.hats0000664000175000017500000002054512655455557020024 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: March, 2015 *) (* ****** ****** *) // // HX-2015-03-14: // For quickly building a funset interface // (* ****** ****** *) // (* typedef elt = int/... *) // (* ****** ****** *) // abstype myset_type = ptr // typedef myset = myset_type // (* ****** ****** *) extern fun myfunset_nil():<> myset and myfunset_make_nil():<> myset (* ****** ****** *) extern fun myfunset_sing(elt): myset and myfunset_make_sing(elt): myset (* ****** ****** *) extern fun myfunset_make_list(List(elt)): myset (* ****** ****** *) // extern fun fprint_myfunset (out: FILEref, xs: myset): void // overload fprint with fprint_myfunset // (* ****** ****** *) // extern fun myfunset_size(myset): size_t // overload .size with myfunset_size // (* ****** ****** *) // extern fun myfunset_is_member(myset, elt): bool and myfunset_isnot_member(myset, elt): bool // overload is_member with myfunset_is_member overload isnot_member with myfunset_isnot_member // overload .is_member with myfunset_is_member overload .isnot_member with myfunset_isnot_member // (* ****** ****** *) // extern fun myfunset_insert (xs: &myset >> _, x0: elt): bool // overload .insert with myfunset_insert // (* ****** ****** *) // extern fun myfunset_remove (xs: &myset >> _, x0: elt): bool // overload .remove with myfunset_remove // (* ****** ****** *) // extern fun myfunset_union(myset, myset): myset and myfunset_union2(&myset >> _, myset): void // overload union with myfunset_union overload .union with myfunset_union2 // extern fun myfunset_intersect(myset, myset): myset and myfunset_intersect2(&myset >> _, myset): void // overload intersect with myfunset_intersect overload .intersect with myfunset_intersect2 // (* ****** ****** *) // extern fun myfunset_differ (xs: myset, ys: myset): myset and myfunset_differ2 (xs: &myset >> _, ys: myset): void // overload differ with myfunset_differ overload .differ with myfunset_differ2 // extern fun myfunset_symdiff (xs: myset, ys: myset): myset and myfunset_symdiff2 (xs: &myset >> _, ys: myset): void // overload symdiff with myfunset_symdiff overload .symdiff with myfunset_symdiff2 // (* ****** ****** *) // extern fun myfunset_equal(myset, myset): bool and myfunset_notequal(myset, myset): bool // overload = with myfunset_equal overload != with myfunset_notequal // (* ****** ****** *) // extern fun myfunset_compare(myset, myset): int // overload compare with myfunset_compare // (* ****** ****** *) // extern fun myfunset_is_subset(myset, myset): bool and myfunset_is_supset(myset, myset): bool // (* ****** ****** *) // overload is_subset with myfunset_is_subset overload is_supset with myfunset_is_supset // overload .is_subset with myfunset_is_subset overload .is_supset with myfunset_is_supset // (* ****** ****** *) // extern fun myfunset_foreach_cloref (myset, fwork: (elt) - void): void // extern fun myfunset_foreach_method (myset) (fwork: (elt) - void): void // overload .foreach with myfunset_foreach_method // (* ****** ****** *) // extern fun {res:t@ype} myfunset_foldleft_cloref ( xs: myset , ini: res, fopr: (res, elt) - res ) : res // end of [myfunset_foldleft_cloref] // extern fun {res:t@ype} myfunset_foldleft_method ( myset, TYPE(res) ) (ini: res, fopr: (res, elt) - res): res // overload .foldleft with myfunset_foldleft_method // (* ****** ****** *) // extern fun myfunset_tabulate_cloref {n:nat} ( n: int(n), fopr: (natLt(n)) - elt ) : myset // end of [myfunset_tabulate_cloref] // extern fun myfunset_tabulate_method {n:nat} (n: int(n)) (fopr: (natLt(n)) - elt): myset // overload .tabulate with myfunset_tabulate_method // (* ****** ****** *) // extern fun myfunset_listize(myset): List0(elt) // overload listize with myfunset_listize overload .listize with myfunset_listize // (* ****** ****** *) local // staload UN = "prelude/SATS/unsafe.sats" // staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/funset.sats" // staload _ = "libats/DATS/funset_avltree.dats" // staload _(*anon*) = "libats/ML/DATS/funset.dats" // assume myset_type = set_type(elt) // in (* in-of-local *) (* ****** ****** *) // implement myfunset_nil() = funset_make_nil{elt}() implement myfunset_make_nil() = funset_make_nil{elt}() // implement myfunset_sing (x) = funset_make_sing(x) implement myfunset_make_sing (x) = funset_make_sing(x) // implement myfunset_make_list (xs) = funset_make_list(g0ofg1(xs)) // (* ****** ****** *) // implement fprint_myfunset (out, xs) = fprint_funset(out, xs) // (* ****** ****** *) // implement myfunset_size(xs) = funset_size(xs) // (* ****** ****** *) // implement myfunset_is_member (xs, x0) = funset_is_member(xs, x0) implement myfunset_isnot_member (xs, x0) = funset_isnot_member(xs, x0) // (* ****** ****** *) // implement myfunset_insert (xs, x0) = funset_insert(xs, x0) // implement myfunset_remove (xs, x0) = funset_remove(xs, x0) // (* ****** ****** *) // implement myfunset_union (xs, ys) = funset_union(xs, ys) implement myfunset_union2 (xs, ys) = (xs := funset_union(xs, ys)) implement myfunset_intersect (xs, ys) = funset_intersect(xs, ys) implement myfunset_intersect2 (xs, ys) = (xs := funset_intersect(xs, ys)) // (* ****** ****** *) // implement myfunset_differ (xs, ys) = funset_differ(xs, ys) implement myfunset_differ2 (xs, ys) = (xs := funset_differ(xs, ys)) implement myfunset_symdiff (xs, ys) = funset_symdiff(xs, ys) implement myfunset_symdiff2 (xs, ys) = (xs := funset_symdiff(xs, ys)) // (* ****** ****** *) // implement myfunset_equal (xs, ys) = funset_equal(xs, ys) implement myfunset_notequal (xs, ys) = ~(funset_equal(xs, ys)) // implement myfunset_compare (xs, ys) = funset_compare(xs, ys) // (* ****** ****** *) // implement myfunset_is_subset (xs, ys) = funset_is_subset(xs, ys) implement myfunset_is_supset (xs, ys) = funset_is_supset(xs, ys) // (* ****** ****** *) // implement myfunset_foreach_cloref ( xs, fwork ) = funset_foreach_cloref(xs, fwork) // implement myfunset_foreach_method (xs) = ( lam (fwork) => myfunset_foreach_cloref(xs, fwork) ) (* myfunset_foreach_method *) // (* ****** ****** *) implement {res}(*tmp*) myfunset_foldleft_cloref (xs0, ini, fopr) = r0 where { // var r0 : res = ini // val p_r0 = addr@r0 // val ((*void*)) = myfunset_foreach_cloref ( xs0 , lam(x) => $UN.ptr0_set (p_r0, fopr($UN.ptr0_get(p_r0), x)) // end of [lam] ) (* end of [myfunset_foreach_cloref] *) // } (* end of [myfunset_foldleft_cloref] *) // (* ****** ****** *) // implement {res}(*tmp*) myfunset_foldleft_method (xs0, tres) = lam (int, fopr) => myfunset_foldleft_cloref (xs0, int, fopr) // (* ****** ****** *) // implement myfunset_tabulate_cloref (n, fopr) = funset_tabulate_cloref(n, fopr) // implement myfunset_tabulate_method (n) = lam(fopr) => myfunset_tabulate_cloref(n, fopr) // (* ****** ****** *) // implement myfunset_listize (xs) = g1ofg0_list(funset_listize(xs)) // (* ****** ****** *) end // end of [local] (* ****** ****** *) (* end of [myfunset.hats] *) ATS2-Postiats-0.2.6/./libats/ML/HATS/myfunmap.hats0000664000175000017500000001041312655455557017777 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: March, 2015 *) (* ****** ****** *) // // HX-2015-03-15: // For quickly building a funmap interface // (* ****** ****** *) // (* typedef key = int/string typedef itm = int/string/... *) // (* ****** ****** *) // abstype mymap_type = ptr // typedef mymap = mymap_type // (* ****** ****** *) // extern fun myfunmap_nil():<> mymap and myfunmap_make_nil():<> mymap // (* ****** ****** *) // extern fun myfunmap_is_nil(mymap):<> bool and myfunmap_isnot_nil(mymap):<> bool // overload .is_nil with myfunmap_is_nil overload .isnot_nil with myfunmap_isnot_nil // (* ****** ****** *) // extern fun myfunmap_size(mymap): size_t // overload .size with myfunmap_size // (* ****** ****** *) // extern fun myfunmap_search (mymap, key): Option_vt(itm) // overload .search with myfunmap_search // (* ****** ****** *) // extern fun myfunmap_insert (&mymap >> _, key, itm): Option_vt(itm) // overload .insert with myfunmap_insert // (* ****** ****** *) // extern fun myfunmap_remove (&mymap >> _, k: key): bool // overload .remove with myfunmap_remove // extern fun myfunmap_takeout (&mymap >> _, k: key): Option_vt(itm) // overload .takeout with myfunmap_takeout // (* ****** ****** *) // extern fun fprint_myfunmap (out: FILEref, mymap): void // overload fprint with fprint_myfunmap // (* ****** ****** *) // extern fun myfunmap_foreach_cloref ( mymap, fwork: (key, itm) - void ) : void // end-of-function // extern fun myfunmap_foreach_method (mymap) (fwork: (key, itm) - void): void // overload .foreach with myfunmap_foreach_method // (* ****** ****** *) // extern fun myfunmap_listize (map: mymap): List0 @(key, itm) // overload .listize with myfunmap_listize // (* ****** ****** *) local // staload UN = "prelude/SATS/unsafe.sats" // staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/funmap.sats" // staload _ = "libats/DATS/qlist.dats" // staload _ = "libats/DATS/funmap_avltree.dats" // staload _(*anon*) = "libats/ML/DATS/funmap.dats" // assume mymap_type = map_type(key, itm) // in (* in-of-local *) // implement myfunmap_nil() = funmap_nil{key,itm}() implement myfunmap_make_nil() = funmap_make_nil{key,itm}() // implement myfunmap_size(map) = funmap_size(map) // implement myfunmap_search (map, k) = funmap_search(map, k) // implement myfunmap_insert (map, k, x) = funmap_insert(map, k, x) // implement myfunmap_remove (map, k) = funmap_remove(map, k) implement myfunmap_takeout (map, k) = funmap_takeout(map, k) // implement fprint_myfunmap (out, map) = fprint_funmap(out, map) // implement myfunmap_foreach_cloref (map, fwork) = funmap_foreach_cloref(map, fwork) implement myfunmap_foreach_method (map) = ( lam(fwork) => myfunmap_foreach_cloref(map, fwork) ) (* myfunmap_foreach_method *) // implement myfunmap_listize (map) = g1ofg0_list(funmap_listize(map)) // end // end of [local] (* ****** ****** *) (* end of [myfunmap.hats] *) ATS2-Postiats-0.2.6/./libats/ML/HATS/myhashtblref.hats0000664000175000017500000001260612655455557020641 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: March, 2015 *) (* ****** ****** *) // // HX-2015-03-12: // For quickly building a hashmap interface // (* ****** ****** *) // (* typedef key = int/string typedef itm = int/string/... *) // (* ****** ****** *) // abstype myhashtbl_type = ptr // typedef myhashtbl = myhashtbl_type // (* ****** ****** *) // extern fun myhashtbl_make_nil (cap: intGte(1)): myhashtbl // (* ****** ****** *) // extern fun myhashtbl_get_size(myhashtbl): intGte(0) // overload .size with myhashtbl_get_size overload .get_size with myhashtbl_get_size // extern fun myhashtbl_get_capacity(myhashtbl): intGte(1) // overload .capacity with myhashtbl_get_capacity overload .get_capacity with myhashtbl_get_capacity // (* ****** ****** *) // extern fun myhashtbl_search (myhashtbl, key): Option_vt(itm) // overload .search with myhashtbl_search // extern fun myhashtbl_search_ref (tbl: myhashtbl, k: key): cPtr0(itm) // overload .search_ref with myhashtbl_search_ref // (* ****** ****** *) // extern fun myhashtbl_insert (myhashtbl, key, itm): Option_vt(itm) // overload .insert with myhashtbl_insert // extern fun myhashtbl_insert_any (tbl: myhashtbl, k: key, x: itm): void // overload .insert_any with myhashtbl_insert_any // (* ****** ****** *) // extern fun myhashtbl_remove (myhashtbl, k: key): bool // overload .remove with myhashtbl_remove // extern fun myhashtbl_takeout (myhashtbl, k: key): Option_vt(itm) // overload .takeout with myhashtbl_takeout // (* ****** ****** *) // extern fun myhashtbl_takeout_all (tbl: myhashtbl): List0 @(key, itm) // overload .takeout_all with myhashtbl_takeout_all // (* ****** ****** *) // extern fun fprint_myhashtbl (out: FILEref, myhashtbl): void // overload fprint with fprint_myhashtbl // (* ****** ****** *) // extern fun myhashtbl_foreach_cloref ( tbl: myhashtbl , fwork: (key, &(itm) >> _) - void ) : void // end-of-function // extern fun myhashtbl_foreach_method ( tbl: myhashtbl ) (fwork: (key, &(itm) >> _) - void): void // overload .foreach with myhashtbl_foreach_method // (* ****** ****** *) // extern fun myhashtbl_listize1 (tbl: myhashtbl): List0 @(key, itm) // overload .listize1 with myhashtbl_listize1 // (* ****** ****** *) local // staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/hashtblref.sats" // staload _(*anon*) = "libats/DATS/qlist.dats" // staload _(*anon*) = "libats/DATS/hashfun.dats" staload _(*anon*) = "libats/DATS/linmap_list.dats" staload _(*anon*) = "libats/DATS/hashtbl_chain.dats" staload _(*anon*) = "libats/ML/DATS/hashtblref.dats" // assume myhashtbl_type = hashtbl_type(key, itm) // in (* in-of-local *) // macdef sz2n(sz) = sz2i(g1ofg0(,(sz))) // implement myhashtbl_make_nil(cap) = hashtbl_make_nil(i2sz(cap)) // (* ****** ****** *) // implement myhashtbl_get_size (tbl) = sz2n(hashtbl_get_size<>(tbl)) implement myhashtbl_get_capacity (tbl) = sz2i(hashtbl_get_capacity<>(tbl)) // (* ****** ****** *) // implement myhashtbl_search (tbl, k) = hashtbl_search(tbl, k) implement myhashtbl_search_ref (tbl, k) = hashtbl_search_ref(tbl, k) // (* ****** ****** *) // implement myhashtbl_insert (tbl, k, x) = hashtbl_insert(tbl, k, x) implement myhashtbl_insert_any (tbl, k, x) = hashtbl_insert_any(tbl, k, x) // (* ****** ****** *) // implement myhashtbl_remove (tbl, k) = hashtbl_remove(tbl, k) implement myhashtbl_takeout (tbl, k) = hashtbl_takeout(tbl, k) // implement myhashtbl_takeout_all (tbl) = ( g1ofg0_list(hashtbl_takeout_all(tbl)) ) (* myhashtbl_takeout_all *) // (* ****** ****** *) // implement fprint_myhashtbl (out, tbl) = fprint_hashtbl(out, tbl) // (* ****** ****** *) // implement myhashtbl_foreach_cloref (tbl, fwork) = hashtbl_foreach_cloref(tbl, fwork) implement myhashtbl_foreach_method(tbl) = ( lam(fwork) => myhashtbl_foreach_cloref(tbl, fwork) ) (* myhashtbl_foreach_method *) // (* ****** ****** *) // implement myhashtbl_listize1 (tbl) = g1ofg0_list(hashtbl_listize1(tbl)) // end // end of [local] (* ****** ****** *) (* end of [myhashtblref.hats] *) ATS2-Postiats-0.2.6/./libats/ML/HATS/.keeper0000664000175000017500000000000012655455557016525 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/CATS/0000775000175000017500000000000012655455557015256 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/CATS/strarr.cats0000664000175000017500000000432312655455557017451 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: April, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBATS_ML_STRARR_CATS #define ATSLIB_LIBATS_ML_STRARR_CATS /* ****** ****** */ #ifndef strncmp extern int strncmp (const char *s1, const char *s2, size_t n) ; #endif // ifndef(strncmp) /* ****** ****** */ #ifndef memchr extern void *memchr(const void *s, int c, size_t n) ; #endif // ifndef(memchr) #ifndef memcpy extern void *memcpy(void *dst, const void *src, size_t n) ; #endif // ifndef(memcpy) /* ****** ****** */ extern size_t fwrite ( const void *ptr, size_t size, size_t nmemb, FILE *stream ) ; // end of [fwrite] // in [stdio.h] /* ****** ****** */ #define atslib_ML_strarr_memchr memchr #define atslib_ML_strarr_memcpy memcpy #define atslib_ML_strarr_strncmp strncmp #define atslib_ML_strarr_fwrite fwrite /* ****** ****** */ #endif // ifndef ATSLIB_LIBATS_ML_STRARR_CATS /* ****** ****** */ /* end of [strarr.cats] */ ATS2-Postiats-0.2.6/./libats/ML/CATS/array0.cats0000664000175000017500000000316712655455557017337 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBATS_ML_ARRAY0_CATS #define ATSLIB_LIBATS_ML_ARRAY0_CATS /* ****** ****** */ #define atslib_ML_array0_memcpy memcpy /* ****** ****** */ #endif // ifndef ATSLIB_LIBATS_ML_ARRAY0_CATS /* ****** ****** */ /* end of [array0.cats] */ ATS2-Postiats-0.2.6/./libats/ML/CATS/.keeper0000664000175000017500000000000012655455557016520 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/ML/.keeper0000664000175000017500000000000012655455557015766 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/DATS/0000775000175000017500000000000012655455557014747 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/DATS/hashfun.dats0000664000175000017500000000465712655455557017274 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX-2013-09: // A collection of hash functions // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/hashfun.sats" (* ****** ****** *) (* fun{} inthash_jenkins (uint32): uint32 *) (* ** HX-2013-08: ** This one by Robert Jenkins ** is a full-avalanche hash function *) /* uint32_t atslib_inthash_jenkins (uint32_t a) { a = (a+0x7ed55d16) + (a<<12); a = (a^0xc761c23c) ^ (a>>19); a = (a+0x165667b1) + (a<< 5); a = (a+0xd3a2646c) ^ (a<< 9); a = (a+0xfd7046c5) + (a<< 3); a = (a^0xb55a4f09) ^ (a>>16); return a; } */ implement {}(*tmp*) inthash_jenkins (a) = $extfcall (uint32, "atslib_inthash_jenkins", a) // (* ****** ****** *) (* fun{} string_hash_multiplier ( K: ulint, H0: ulint, str: string ) :<> ulint // endfun *) implement {}(*tmp*) string_hash_multiplier (K, H0, str) = let // fun loop ( p: ptr, res: ulint ) : ulint = let val c = $UN.ptr0_get (p) in // if isneqz(c) then loop (ptr_succ (p), K*res + $UN.cast{ulint}(c)) else (res) // end // end of [loop] // in $effmask_all(loop (string2ptr(str), H0)) end // end of [string_hash_multiplier] (* ****** ****** *) (* end of [hashfun.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funset_listord.dats0000664000175000017500000003024412655455557020673 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** Functional set based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) // // HX-2012-12: ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funset_listord" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funset_listord.sats" (* ****** ****** *) // #include "./SHARE/funset.hats" // code reuse // (* ****** ****** *) assume set_type (a: t0p) = List0 (a) (* ****** ****** *) // // HX: // A set is represented as a sorted list in descending order; // note that descending order is chosen to faciliate set comparison // (* ****** ****** *) implement{ } funset_nil () = list_nil () implement{ } funset_make_nil () = list_nil () (* ****** ****** *) implement{a} funset_sing (x) = list_cons{a}(x, list_nil) implement{a} funset_make_sing (x) = list_cons{a}(x, list_nil) (* ****** ****** *) (* ** HX-2012-12: ** it supersedes the one in [./SHARE/funset.hats] *) implement{a} funset_make_list (xs) = let // val xs = let // implement list_mergesort$cmp (x, y) = compare_elt_elt (x, y) // in $effmask_wrt (list_mergesort (xs)) end // end of [let] // [val] // fnx loop1 {m:pos;n:nat} .. ( xs: list_vt (a, m), ys: list_vt (a, n) ) : listLte_vt (a, m+n) = let // val-@cons_vt (x, xs1) = xs val x_ = x val xs1_ = xs1; val () = (xs1 := ys) prval () = fold@ (xs) // in loop2 (x_, xs1_, xs) end // end of [loop1] // and loop2 {m:nat;n:nat} .. ( x0: a, xs: list_vt (a, m), ys: list_vt (a, n) ) : listLte_vt (a, m+n) = let in // case+ xs of | @cons_vt (x, xs1) => let val sgn = compare_elt_elt (x0, x) in if (sgn < 0) then let // [xs] ascending! prval () = fold@ (xs) in loop1 (xs, ys) end // end of [then] else let val xs1_ = xs1 val () = free@{a}{0}(xs) in loop2 (x0, xs1_, ys) end // end of [else] // end of [if] end (* end of [cons_vt] *) | ~nil_vt ((*void*)) => ys // end // end of [loop2] // in (* in of [let] *) // case+ xs of | cons_vt _ => ( $effmask_wrt (list_of_list_vt(loop1 (xs, nil_vt()))) ) // end of [cons_vt] | ~nil_vt () => list_nil () // end // end of [funset_make_list] (* ****** ****** *) implement{} funset_is_nil (xs) = list_is_nil (xs) implement{} funset_isnot_nil (xs) = list_is_cons (xs) (* ****** ****** *) implement{a} funset_size (xs) = g1int2uint (list_length (xs)) (* ****** ****** *) implement{a} funset_is_member (xs, x0) = let // fun aux {n:nat} .. ( xs: list (a, n) ) :<> bool = let in // case+ xs of | list_cons (x, xs) => let val sgn = compare_elt_elt (x0, x) in if sgn > 0 then false else (if sgn < 0 then aux (xs) else true) end // end of [list_cons] | list_nil () => false // end // end of [aux] in aux (xs) end // end of [funset_is_member] (* ****** ****** *) implement{a} funset_insert (xs, x0) = let // fun aux {n:nat} .. ( xs: list (a, n), flag: &int >> _ ) : List0 (a) = let in // case+ xs of | list_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x) in if sgn > 0 then let val () = flag := flag + 1 in list_cons{a}(x0, xs) end else if sgn < 0 then let val flag0 = flag val xs1 = aux (xs1, flag) in if flag = flag0 then xs else list_cons{a}(x, xs1) end else xs // end of [if] end // end of [list_cons] | list_nil () => let val () = flag := flag + 1 in list_cons{a}(x0, list_nil) end // end of [val] // end // end of [aux] // var flag: int = 0 val () = xs := $effmask_all (aux (xs, flag)) // in if flag = 0 then true else false end // end of [funset_insert] (* ****** ****** *) implement{a} funset_remove (xs, x0) = let // fun aux {n:nat} .. ( xs: list (a, n), flag: &int >> _ ) : List0 (a) = let in // case xs of | list_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x) in if sgn > 0 then xs else if sgn < 0 then let val flag0 = flag val xs1 = aux (xs1, flag) in if flag = flag0 then xs else list_cons{a}(x, xs1) end else let val () = flag := flag + 1 in xs1 end (* end of [if] *) end // end of [list_cons] | list_nil () => list_nil () // end // end of [aux] // var flag: int = 0 val () = xs := $effmask_all (aux (xs, flag)) // in if flag > 0 then true else false end // end of [funset_remove] (* ****** ****** *) implement{a} funset_getmax (xs, x0) = let in // case+ xs of | list_cons (x, _) => let val () = x0 := x prval () = opt_some{a}(x0) in true end // end of [list_cons] | list_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_nil] // end // end of [funset_getmax] (* ****** ****** *) implement{a} funset_getmin (xs, x0) = let in // case+ xs of | list_cons _ => let val () = x0 := list_last (xs) prval () = opt_some{a}(x0) in true end // end of [list_cons] | list_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_nil] // end // end of [funset_getmin] (* ****** ****** *) implement{a} funset_takeoutmax (xs, x0) = let in // case+ xs of | list_cons (x, xs2) => let val () = (x0 := x) val () = (xs := xs2) prval () = opt_some{a}(x0) in true end // end of [list_cons] | list_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_nil] // end // end of [funset_takeoutmax] (* ****** ****** *) implement{a} funset_takeoutmin (xs, x0) = let // fun aux{n:pos} .. ( xs: list (a, n), x0: &a? >> a ) : list (a, n-1) = let // val+list_cons (x, xs2) = xs // in // case+ xs2 of | list_cons _ => let val xs2 = aux (xs2, x0) in list_cons{a}(x, xs2) end // end of [list_cons] | list_nil () => let val () = x0 := x in list_nil () end // end of [list_nil] // end // end of [aux] // in // case+ xs of | list_cons _ => let val () = xs := aux (xs, x0) prval () = opt_some{a}(x0) in true end // end of [list_cons] | list_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_nil] // end // end of [funset_takeoutmin] (* ****** ****** *) implement {a}(*tmp*) funset_union (xs1, xs2) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) :<> List0 (a) = let in // case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2) in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else if sgn < 0 then list_cons{a}(x2, aux (xs1, xs21)) else list_cons{a}(x1, aux (xs11, xs21)) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil () => xs2 // end // end of [aux] // in aux (xs1, xs2) end // end of [funset_union] (* ****** ****** *) implement {a}(*tmp*) funset_intersect (xs1, xs2) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) :<> List0 (a) = let in // case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2) in if sgn > 0 then aux (xs11, xs2) else if sgn < 0 then aux (xs1, xs21) else list_cons{a}(x1, aux (xs11, xs21)) // end of [if] end // end of [list_cons] | list_nil () => list_nil () ) // end of [list_cons] | list_nil () => list_nil () // end // end of [aux] // in aux (xs1, xs2) end // end of [funset_intersect] (* ****** ****** *) implement {a}(*tmp*) funset_differ (xs1, xs2) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) : List0 (a) = let in // case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2) in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else ( if sgn < 0 then aux (xs1, xs21) else aux (xs11, xs21) ) (* end of [else] *) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil () => xs2 // end // end of [aux] // in aux (xs1, xs2) end // end of [funset_differ] (* ****** ****** *) implement {a}(*tmp*) funset_symdiff (xs1, xs2) = let // fun aux // non-tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) :<> List0 (a) = let in // case xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2) // end of [val] in if sgn > 0 then list_cons{a}(x1, aux (xs11, xs2)) else if sgn < 0 then list_cons{a}(x2, aux (xs1, xs21)) else aux (xs11, xs21) // end of [if] end // end of [list_cons] | list_nil () => xs1 ) // end of [list_cons] | list_nil () => xs2 // end // end of [aux] // in aux (xs1, xs2) end // end of [funset_symdiff] (* ****** ****** *) implement{a} funset_compare (xs1, xs2) = let // fun aux // tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) :<> Sgn = ( case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => let val sgn = compare_elt_elt (x1, x2) in if sgn > 0 then 1 else ( if sgn < 0 then ~1 else aux (xs1, xs2) ) // end of [if] end // end of [list_cons] | list_nil () => 1 ) // end of [list_cons] | list_nil () => ( case+ xs2 of list_cons _ => ~1 | list_nil _ => 0 ) ) // end of [aux] // in aux (xs1, xs2) end // end of [funset_compare] (* ****** ****** *) implement{a} funset_is_subset (xs1, xs2) = let // fun aux // tail-recursive {n1,n2:nat} .. ( xs1: list (a, n1), xs2: list (a, n2) ) :<> bool = let in // case+ xs1 of | list_cons (x1, xs11) => ( case+ xs2 of | list_cons (x2, xs21) => let val sgn = compare_elt_elt (x1, x2) in if sgn > 0 then false else (if sgn < 0 then aux (xs1, xs21) else aux (xs11, xs21)) // end of [if] end // end of [list_cons] | list_nil () => false ) // end of [list_cons] | list_nil () => true // end // end of [aux] // in aux (xs1, xs2) end // end of [funset_is_subset] (* ****** ****** *) implement {a}{env} funset_foreach_env (xs, env) = let // val xs = list_reverse (xs) // implement{a}{env} list_vt_foreach$cont (x, env) = true implement list_vt_foreach$fwork (x, env) = funset_foreach$fwork (x, env) // val () = list_vt_foreach_env (xs, env) // val () = list_vt_free (xs) // in // nothing end // end of [funset_foreach_env] (* ****** ****** *) implement{a} funset_listize (xs) = list_reverse (xs) (* ****** ****** *) (* // // HX: this is now a cast funciton // implement{} funset2list (xs) = xs // HX: [xs] in decending order *) (* ****** ****** *) (* end of [funset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linmap_skiplist.dats0000664000175000017500000005044712655455557021040 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_skiplist" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linmap_skiplist.sats" (* ****** ****** *) #include "./SHARE/linmap.hats" // code reuse (* ****** ****** *) stadef mytkind = $extkind"atslib_linmap_skiplist" (* ****** ****** *) // %{^ // #include // // HX: it is in stdlib.h // extern void srand48 (time_t); // %} typedef time_t = $extype"time_t" // (* ****** ****** *) implement linmap_skiplist_initize ((*void*)) = let // val seed = $extfcall (time_t, "time", 0) // in $extfcall (void, "srand48", seed) end // end of [linmap_skiplist_initize] (* ****** ****** *) #define lgMAX 40 // HX: 2^40 >= 10^12 (* ****** ****** *) extern fun linmap_random_lgN {n:int | n >= 1} (lgMAX: int(n)): intBtwe(1, n) // end of [linmap_random_lgN] (* ****** ****** *) abstype sknode_type ( key:t@ype, itm:vt@ype+, l:addr, n:int ) = ptr (l) // end of [sknode_type] (* ****** ****** *) stadef sknode = sknode_type // HX: a shorthand (* ****** ****** *) typedef sknode0 ( key:t0p , itm:vt0p , n:int ) = [l:addr] sknode (key, itm, l, n) typedef sknode0 ( key:t0p , itm:vt0p ) = [l:addr;n:nat] sknode (key, itm, l, n) (* ****** ****** *) typedef sknode1 ( key:t0p , itm:vt0p , n:int ) = [l:agz] sknode (key, itm, l, n) typedef sknode1 ( key:t0p , itm:vt0p ) = [l:agz;n:nat] sknode (key, itm, l, n) (* ****** ****** *) typedef sknodeGt0 ( key:t0p, itm:vt0p, ni:int ) = [n:int | n > ni] sknode0 (key, itm, n) (* ****** ****** *) extern castfn sknode2ptr {key:t0p;itm:vt0p}{l:addr}{n:int} (nx: sknode (key, INV(itm), l, n)):<> ptr (l) // end of [sknode2ptr] (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) extern fun{ } sknode_null {key:t0p;itm:vt0p} {n:nat} (n: int n):<> sknode (key, itm, null, n) implement{} sknode_null (n) = $UN.castvwtp0 (nullp) (* ****** ****** *) extern fun {key:t0p ;itm:vt0p} sknode_make {lgN:int | lgN > 0} (k0: key, x0: itm, lgN: int lgN): sknode1 (key, itm, lgN) // end of [sknode_make] extern fun {key:t0p ;itm:vt0p} sknode_free {lgN:int | lgN > 0} (nx: sknode1 (key, INV(itm), lgN), res: &itm? >> itm): void // end of [sknode_free] (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } sknode_get_key (nx: sknode1 (key, INV(itm))):<> key extern fun{ key:t0p;itm:vt0p } sknode_getref_item (nx: sknode1 (key, INV(itm))):<> cPtr1 (itm) (* ****** ****** *) // abstype sknodelst_type (key:t@ype, itm:vt@ype+, int(*size*)) = ptr // (* ****** ****** *) stadef sknodelst = sknodelst_type // HX: a shorthand (* ****** ****** *) // // HX: initized with nulls // extern fun{} sknodelst_make {key:t0p;itm:vt0p}{n:nat} (n: int n): sknodelst (key, itm, n) // end of [sknodelst_make] (* ****** ****** *) // extern fun{} sknodelst_get_at {key:t0p;itm:vt0p} {n:int}{i:nat | i < n} (nxa: sknodelst (key, INV(itm), n), i: int i):<> sknodeGt0 (key, itm, i) // end of [sknodelst_get_at] extern fun{} sknodelst_set_at {key:t0p;itm:vt0p} {n:int}{i:nat | i < n} ( nxa: sknodelst (key, INV(itm), n), i: int i, nx0: sknodeGt0 (key, itm, i) ) : void // end of [sknodelst_set_at] // overload [] with sknodelst_get_at overload [] with sknodelst_set_at // (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } sknode_get_sknodelst{n:nat} (nx: sknode1 (key, INV(itm), n)) :<> sknodelst (key, itm, n) // end of [sknode_get_sknodelst] extern fun{ key:t0p;itm:vt0p } sknode_get_sknodelen{n:nat} (nx: sknode1 (key, INV(itm), n)):<> int (n) (* ****** ****** *) // // HX: internal representation of a sknode // vtypedef sknode_struct ( key: t0p, itm: vt0p ) = // sknode_struct @{ key= key, item=itm, sknodelst=ptr, sknodelen= int } (* end of [sknode_struct] *) (* ****** ****** *) implement {key,itm} sknode_make {lgN} ( k0, x0, lgN ) = let vtypedef VT = sknode_struct (key, itm) val (pfat, pfgc | p) = ptr_alloc () val () = p->key := k0 val () = p->item := $UN.castvwtp0{itm?}{itm}(x0) val () = p->sknodelst := $UN.cast{ptr}(sknodelst_make(lgN)) val () = p->sknodelen := lgN in $UN.castvwtp0 {sknode1(key,itm,lgN)}((pfat, pfgc | p)) end // end of [sknode_make] (* ****** ****** *) implement {key,itm} sknode_free (nx, res) = let // vtypedef VT = sknode_struct (key, itm) // val ( pfat, pfgc | p ) = __cast (nx) where { extern castfn __cast ( nx: sknode1 (key, itm) ) :<> [l:addr] (VT @ l, mfree_gc_v l | ptr l) } // end of [prval] // val () = res := p->item val ( ) = $extfcall (void, "ATS_MFREE", p->sknodelst) val () = ptr_free {VT?} (pfgc, pfat | p) // in // nothing end // end of [sknode_free] (* ****** ****** *) extern castfn __cast_sknode {key:t0p;itm:vt0p} ( nx: sknode1 (key, INV(itm)) ) :<> [l:addr] ( sknode_struct (key, itm) @ l , sknode_struct (key, itm) @ l - void | ptr l ) // end of [__cast_sknode] (* ****** ****** *) implement {key,itm} sknode_get_key (nx) = let // val (pf, fpf | p) = __cast_sknode (nx) val key = p->key prval () = fpf (pf) // in key end // end of [sknode_get_key] implement {key,itm} sknode_getref_item (nx) = let // val (pf, fpf | p) = __cast_sknode (nx) val p2 = addr@(p->item) prval () = fpf (pf) // in $UN.cast{cPtr1(itm)}(p2) end // end of [sknode_getref_item] implement {key,itm} sknode_get_sknodelst {n} (nx) = let // val (pf, fpf | p) = __cast_sknode (nx) val nxa = p->sknodelst prval () = fpf (pf) // in $UN.cast{sknodelst(key,itm,n)}(nxa) end // end of [sknode_get_sknodelst] implement {key,itm} sknode_get_sknodelen {n} (nx) = let // val (pf, fpf | p) = __cast_sknode (nx) val len = p->sknodelen prval () = fpf (pf) // in $UN.cast{int(n)}(len) end // end of [sknode_get_sknodelen] (* ****** ****** *) local assume sknodelst_type (key:t0p, itm:vt0p, n:int) = arrayref (ptr, n) // end of [sknodelst_type] in (* in of [local] *) implement{} sknodelst_make (n) = let val asz = i2sz(n) in arrayref_make_elt (asz, nullp) end // end of [sknodelst] implement{} sknodelst_get_at {key,itm}{i} (nxa, i) = let typedef T = sknodeGt0 (key, itm, i) val nx0 = $effmask_ref (arrayref_get_at (nxa, i)) in $UN.cast{T}(nx0) end // end of [sknodelst_get_at] implement{} sknodelst_set_at {key,itm}{i} (nxa, i, nx0) = let val nx0 = $UN.cast{ptr} (nx0) in $effmask_ref (arrayref_set_at (nxa, i, nx0)) end // end of [sknodelst_set_at] end // end of [local] (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } sknode_get_next {n:int}{ni:nat | ni < n} (nx: sknode1 (key, INV(itm), n), ni: int ni):<> sknodeGt0 (key, itm, ni) // end of [sknode_get_next] extern fun{ key:t0p;itm:vt0p } sknode_set_next {n,n1:int}{ni:nat | ni < n} ( nx: sknode1 (key, INV(itm), n), ni: int ni, nx0: sknodeGt0 (key, itm, ni) ) : void // end of [sknode_set_next] (* ****** ****** *) implement {key,itm} sknode_get_next (nx, ni) = let val nxa = sknode_get_sknodelst (nx) in nxa[ni] end // end of [sknode_get_next] implement {key,itm} sknode_set_next (nx, ni, nx0) = let val nxa = sknode_get_sknodelst (nx) in nxa[ni] := nx0 end // end of [sknode_set_next] (* ****** ****** *) datavtype skiplist ( key:t@ype, itm:vt@ype+ ) = // HX: [lgN] is the *current* highest level | {N:nat}{lgN:nat | lgN <= lgMAX} SKIPLIST (key, itm) of (size_t(N), int(lgN), sknodelst(key, itm, lgMAX)) // end of [skiplist] (* ****** ****** *) assume map_vtype (key:t0p, itm:vt0p) = skiplist (key, itm) // end of [map_vtype] (* ****** ****** *) implement{} linmap_make_nil () = SKIPLIST (i2sz(0), 0, sknodelst_make (lgMAX)) // end of [linmap_make_nil] (* ****** ****** *) implement{} linmap_is_nil (map) = let // val+SKIPLIST (N, _, _) = map // in if N = i2sz(0) then true else false end // end of [linmap_is_nil] implement{} linmap_isnot_nil (map) = let // val+SKIPLIST (N, _, _) = map // in if N > i2sz(0) then true else false end // end of [linmap_isnot_nil] (* ****** ****** *) implement {key,itm} linmap_size (map) = let val+SKIPLIST (N, _, _) = map in N end // end of [linmap_size] (* ****** ****** *) // // HX: // for [sknode_search] to be called, k0 > the key contained in it // extern fun{ key:t0p;itm:vt0p } sknode_search {n:int} (nx: sknode1 (key, INV(itm), n), k0: key, ni: natLte n):<> sknode0 (key, itm) // end of [sknode_search] extern fun{ key:t0p;itm:vt0p } sknodelst_search {n:int} (nxa: sknodelst (key, INV(itm), n), k0: key, ni: natLte n):<> sknode0 (key, itm) // end of [sknodelst_search] // (* ****** ****** *) implement {key,itm} sknode_search (nx, k0, ni) = let in // if ni > 0 then let val ni1 = pred(ni) val nx1 = sknode_get_next (nx, ni1) val p_nx1 = sknode2ptr (nx1) in // if p_nx1 > 0 then let val k1 = sknode_get_key (nx1) val sgn = compare_key_key (k0, k1) in if sgn < 0 then sknode_search (nx, k0, ni1) else if sgn > 0 then sknode_search (nx1, k0, ni) else nx1 // end of [if] end else sknode_search (nx, k0, ni1) // end of [if] // end else sknode_null (0) // end // end of [sknode_search] (* ****** ****** *) implement {key,itm} sknodelst_search (nxa, k0, ni) = let in // if ni > 0 then let val ni1 = pred(ni) val nx = nxa[ni1] val p_nx = sknode2ptr (nx) in if p_nx > 0 then let val k = sknode_get_key (nx) val sgn = compare_key_key (k0, k) in if sgn < 0 then sknodelst_search (nxa, k0, ni1) else if sgn > 0 then sknode_search (nx, k0, ni) else nx // end of [if] end else sknodelst_search (nxa, k0, ni1) // end of [if] end else sknode_null (0) // end of [if] // end // end of [sknodelst_search] (* ****** ****** *) implement {key,itm} linmap_search_ref (map, k0) = let in // case+ map of | SKIPLIST (N, lgN, nxa) => let val nx = sknodelst_search (nxa, k0, lgN) val p_nx = sknode2ptr (nx) in if p_nx > 0 then sknode_getref_item (nx) else cptr_null () // end of [if] end // end of [SKIPLIST] // end // end of [linmap_search_ref] (* ****** ****** *) // // HX: // for [sknode_insert] to be called, k0 > the key contained in it // extern fun{ key:t0p;itm:vt0p } sknode_insert {n:int}{ni:nat | ni <= n} ( nx: sknode1 (key, INV(itm), n), k0: key, ni: int ni, nx0: sknode1 (key, itm) ) : void // end of [sknode_insert] extern fun{ key:t0p;itm:vt0p } sknodelst_insert {n:int}{ni:nat | ni <= n} ( nxa: sknodelst (key, INV(itm), n), k0: key, ni: int ni, nx0: sknode1 (key, itm) ) : void // end of [sknodelst_insert] // (* ****** ****** *) implement {key,itm} sknode_insert (nx, k0, ni, nx0) = let in // if ni > 0 then let val ni1 = pred(ni) val nx1 = sknode_get_next (nx, ni1) val p_nx1 = sknode2ptr (nx1) in if p_nx1 > 0 then let val k1 = sknode_get_key (nx1) val sgn = compare_key_key (k0, k1) in if sgn <= 0 then let val n0 = sknode_get_sknodelen (nx0) val () = if (n0 >= ni) then { val () = sknode_set_next (nx, ni1, nx0) val () = sknode_set_next (nx0, ni1, nx1) } // end of [if] // end of [val] in sknode_insert (nx, k0, ni1, nx0) end else sknode_insert (nx1, k0, ni, nx0) // end of [if] end else let val n0 = sknode_get_sknodelen (nx0) val () = if (n0 >= ni) then sknode_set_next (nx, ni1, nx0) // end of [val] in sknode_insert (nx, k0, ni1, nx0) end // end of [if] end else ( // nothing ) // end of [if] // end // end of [sknode_insert] (* ****** ****** *) implement {key,itm} sknodelst_insert (nxa, k0, ni, nx0) = let in // if ni > 0 then let val ni1 = pred(ni) val nx = nxa[ni1] val p_nx = sknode2ptr (nx) in if p_nx > 0 then let val k = sknode_get_key (nx) val sgn = compare_key_key (k0, k) in if sgn <= 0 then let val n0 = sknode_get_sknodelen (nx0) val () = if (n0 >= ni) then { val () = nxa[ni1] := nx0 val () = sknode_set_next (nx0, ni1, nx) } // end of [if] // end of [val] in sknodelst_insert (nxa, k0, ni1, nx0) end else sknode_insert (nx, k0, ni, nx0) // end of [if] end else let val n0 = sknode_get_sknodelen (nx0) val () = if (n0 >= ni) then nxa[ni1] := nx0 in sknodelst_insert (nxa, k0, ni1, nx0) end // end of [if] end else ( // nothing ) // end of [if] // end // end of [sknodelst_insert] (* ****** ****** *) implement {key,itm} linmap_insert (map, k0, x0, res) = let // val p_itm = linmap_search_ref (map, k0) val isnot = cptr2ptr(p_itm) > 0 // in // if isnot then let val (pf, fpf | p_itm) = $UN.cptr_vtake (p_itm) val () = res := !p_itm prval () = opt_some{itm}(res) val () = (!p_itm := x0) prval () = fpf (pf) in true end else let val () = linmap_insert_any (map, k0, x0) prval () = opt_none{itm}(res) in false end // end of [if] // end // end of [linmap_insert] (* ****** ****** *) implement {key,itm} linmap_insert_any (map, k0, x0) = let // val lgN0 = linmap_random_lgN (lgMAX) val nx_new = sknode_make (k0, x0, lgN0) // in // case+ map of | @SKIPLIST (N, lgN, nxa) => let val () = N := succ (N) val () = ( if :( lgN: natLte (lgMAX) ) => (lgN < lgN0) then lgN := lgN0 // end of [if] ) : void // end of [val] val () = sknodelst_insert (nxa, k0, lgN0, nx_new) prval () = pridentity_vt (lgN) // for opening the type of [lgN] prval () = fold@ (map) in // nothing end // end of [SKIPLIST] // end // end of [linmap_insert_any] (* ****** ****** *) // // HX: // for [sknode_takeout] to be called, k0 > the key contained in it // extern fun{ key:t0p;itm:vt0p } sknode_takeout {n:int}{ni:nat | ni <= n} (nx: sknode1 (key, INV(itm), n), k0: key, ni: int ni): sknodeGt0 (key, itm, 0) // end of [sknode_takeout] extern fun{ key:t0p;itm:vt0p } sknodelst_takeout {n:int}{ni:nat | ni <= n} (nxa: sknodelst (key, INV(itm), n), k0: key, ni: int ni): sknodeGt0 (key, itm, 0) // end of [sknodelst_takeout] // (* ****** ****** *) implement {key,itm} sknode_takeout (nx, k0, ni) = let in // if ni > 0 then let val ni1 = pred(ni) val nx1 = sknode_get_next (nx, ni1) val p_nx1 = sknode2ptr (nx1) in if p_nx1 > 0 then let val k1 = sknode_get_key (nx1) val sgn = compare_key_key (k0, k1) in if sgn < 0 then sknode_takeout (nx, k0, ni1) else if sgn > 0 then sknode_takeout (nx1, k1, ni) else let // sgn = 0 val () = sknode_set_next (nx, ni1, sknode_get_next (nx1, ni1)) // end of [val] in if ni1 > 0 then sknode_takeout (nx, k0, ni1) else nx1 end // end of [if] end else sknode_takeout (nx, k0, ni1) // end of [if] end else sknode_null (1) // end of [of] // end // end of [sknode_takeout] (* ****** ****** *) implement {key,itm} sknodelst_takeout (nxa, k0, ni) = let in // if ni > 0 then let val ni1 = pred(ni) val nx = nxa[ni1] val p_nx = sknode2ptr (nx) in if p_nx > 0 then let val k = sknode_get_key (nx) val sgn = compare_key_key (k0, k) in if sgn < 0 then sknodelst_takeout (nxa, k0, ni1) else if sgn > 0 then sknode_takeout (nx, k0, ni) else let // sgn = 0 val () = nxa[ni1] := sknode_get_next (nx, ni1) in if ni1 > 0 then sknodelst_takeout (nxa, k0, ni1) else nx end end else sknodelst_takeout (nxa, k0, ni1) // end of [if] end else sknode_null (1) // end of [if] // end // end of [sknodelst_takeout] (* ****** ****** *) implement {key,itm} linmap_takeout (map, k0, res) = let in // case+ map of | @SKIPLIST (N, lgN, nxa) => let val nx = sknodelst_takeout (nxa, k0, lgN) val p_nx = sknode2ptr (nx) in if p_nx > 0 then let prval ( ) = __assert (N) where { extern praxi __assert {N:int} (N: size_t N): [N>0] void } // end of [where] // end of [prval] val () = N := pred (N) prval () = fold@ (map) val () = sknode_free (nx, res) prval () = opt_some{itm}(res) in true end else let prval () = fold@ (map) prval () = opt_none{itm}(res) in false end // end of [if] end // end of [SKIPLIST] // end // end of [linmap_takeout] (* ****** ****** *) implement {key,itm}{env} linmap_foreach_env (map, env) = let // fun sknode_foreach_env ( nx: sknodeGt0 (key, itm, 0), env: &env ) : void = let // val p_nx = sknode2ptr (nx) // in // if p_nx > 0 then let val k = sknode_get_key (nx) val p_i = sknode_getref_item (nx) val nx1 = sknode_get_next (nx, 0) // val (pf, fpf | p_i) = $UN.cptr_vtake{itm}(p_i) val () = linmap_foreach$fwork (k, !p_i, env) prval () = fpf (pf) // in sknode_foreach_env (nx1, env) end else () // end of [if] // end // end of [sknode_foreach_env] // in // case+ map of | SKIPLIST (N, lgN, nxa) => let val nx = nxa[0] val () = sknode_foreach_env (nx, env) in // nothing end // end of [SKIPLIST] // end // end of [linmap_foreach_env] (* ****** ****** *) implement {key,itm} linmap_freelin (map) = let // fun sknode_freelin ( nx: sknodeGt0 (key, itm, 0) ) : void = let // val p_nx = sknode2ptr (nx) // in // if p_nx > 0 then let // val cp = sknode_getref_item (nx) val nx1 = sknode_get_next (nx, 0) // prval (pf, fpf) = __assert (cp) where { extern praxi __assert{l:addr} (cp: cptr (itm, l)): (itm @ l, itm? @ l - void) } // end of [prval] val p_i = cptr2ptr (cp) val () = linmap_freelin$clear (!p_i) prval () = fpf (pf) // val () = $extfcall (void, "ATS_MFREE", nx) // in sknode_freelin (nx1) end else () // end of [if] // end // end of [sknode_freelin] // in // case+ map of | ~SKIPLIST (N, lgN, nxa) => let val nx0 = nxa[0] val () = $extfcall (void, "ATS_MFREE", nxa) in $effmask_all (sknode_freelin (nx0)) end // end of [SKIPLIST] // end // end of [linmap_freelin] (* ****** ****** *) implement {key,itm} linmap_free_ifnil (map) = let // vtypedef map = map (key, itm) val map2 = __cast (map) where { extern castfn __cast : (!map >> map?) -<> map } // end of [where] // end of [val] // in // case+ map2 of | @SKIPLIST (N, lgN, nxa) => let in if N = i2sz(0) then let val nxa_ = nxa val () = free@{..}{0}{0}(map2) val () = $extfcall (void, "ATS_MFREE", nxa_) prval () = opt_none{map}(map) in false end else let prval () = fold@ (map2) prval ( ) = __assert (map, map2) where { extern praxi __assert : (!map? >> map, map) - void } // end of [prval] prval () = opt_some{map}(map) in true end // end of [if] end // end of [SKIPLIST] // end // end of [linmap_free_ifnil] (* ****** ****** *) local // staload "libc/SATS/stdlib.sats" // staload INT = "prelude/DATS/integer.dats" staload FLOAT = "prelude/DATS/float.dats" // in (* in of [local] *) implement linmap_random_lgN (n) = let // fun loop {n:int} {i:int | 1 <= i; i <= n} .. ( n: int n, i: int i, r: double ) :<> intBtwe (1, n) = let in // if i < n then if (r <= 0.5) then loop (n, i+1, r+r) else i else n // end of [if] // end // end of [loop] // val r = drand48 () // HX: containing ref-effect! // in loop (n, 1, r) end // end of [linmap_random_lgN] end // end of [local] (* ****** ****** *) (* end of [linmap_skiplist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gfarray.dats0000664000175000017500000001476412655455557017273 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: December, 2012 // (* ****** ****** *) // // HX: generic arrays (fully indexed) // (* ****** ****** *) // // HX-2012-11-30: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) // // HX: // for integer sequences // staload "libats/SATS/ilist_prf.sats" // (* ****** ****** *) staload "libats/SATS/gfarray.sats" (* ****** ****** *) primplmnt gfarray_v_sing (pfat) = gfarray_v_cons (pfat, gfarray_v_nil ()) primplmnt gfarray_v_unsing (pfarr) = let prval gfarray_v_cons (pfat, gfarray_v_nil ()) = pfarr in pfat end // end of [gfarray_v_unsing] (* ****** ****** *) (* prfun gfarray_v_split {a:vt0p} {l:addr} {xs:ilist} {n:int} {i:nat | i <= n} ( pflen: LENGTH (xs, n) , pfarr: gfarray_v (a, l, xs) ) : [ xs1,xs2:ilist ] ( LENGTH (xs1, i) , APPEND (xs1, xs2, xs) , gfarray_v (a, l, xs1) , gfarray_v (a, l+i*sizeof(a), xs2) ) // end of [gfarray_v_split] *) primplmnt gfarray_v_split {a}{l}{xs}{n}{i} (pflen, pfarr) = let // prfun split {l:addr} {xs:ilist} {n:int} {i:nat | i <= n} .. ( pflen: LENGTH (xs, n), pfarr: gfarray_v (a, l, xs) ) : [xs1,xs2:ilist] ( LENGTH (xs1, i) , APPEND (xs1, xs2, xs) , gfarray_v (a, l, xs1) , gfarray_v (a, l+i*sizeof(a), xs2) ) = let in // sif i > 0 then let prval LENGTHcons (pflen) = pflen prval gfarray_v_cons (pf1at, pf2arr) = pfarr prval (pfres_len, pfres_app, pfres1, pfres2) = split {..}{..}{n-1}{i-1} (pflen, pf2arr) in (LENGTHcons (pfres_len), APPENDcons (pfres_app), gfarray_v_cons (pf1at, pfres1), pfres2) end else let prval EQINT () = eqint_make {i,0} () in (LENGTHnil (), APPENDnil (), gfarray_v_nil (), pfarr) end // end of [sif] // end // end of [split] // val [ xs1:ilist,xs2:ilist ] ( pf1len, pfapp, pf1arr, pf2arr ) = split {l}{xs}{n}{i} (pflen, pfarr) prval pf2len = length_istot {xs2} () prval pflen2 = lemma_append_length (pfapp, pf1len, pf2len) prval () = length_isfun (pflen, pflen2) // in (pf1len, pf2len, pfapp, pf1arr, pf2arr) end // end of [gfarray_v_split] (* ****** ****** *) (* prfun gfarray_v_unsplit {a:vt0p} {l:addr} {xs1,xs2:ilist} {n1:int} ( pflen: LENGTH (xs1, n1) , pfarr1: gfarray_v (a, l, xs1) , pfarr2: gfarray_v (a, l+n1*sizeof(a), xs2) ) : [xs:ilist] ( APPEND (xs1, xs2, xs), gfarray_v (a, l, xs) ) // end of [gfarray_v_unsplit] *) primplmnt gfarray_v_unsplit {a}{l}{xs1,xs2}{n1} (pflen, pfarr1, pfarr2) = let // prfun unsplit {l:addr} {xs1,xs2:ilist} {n1:int} .. ( pflen: LENGTH (xs1, n1) , pfarr1: gfarray_v (a, l, xs1) , pfarr2: gfarray_v (a, l+n1*sizeof(a), xs2) ) : [xs:ilist] ( APPEND (xs1, xs2, xs), gfarray_v (a, l, xs) ) = let in // case+ pflen of | LENGTHcons (pflen) => let prval gfarray_v_cons (pf1at, pf2arr1) = pfarr1 prval (pfres_app, pfres_arr) = unsplit (pflen, pf2arr1, pfarr2) in (APPENDcons (pfres_app), gfarray_v_cons (pf1at, pfres_arr)) end // end of [LENGTHcons] | LENGTHnil () => let prval gfarray_v_nil () = pfarr1 in (APPENDnil (), pfarr2) end // end of [LENGTHnil] // end // end of [unsplit] // in unsplit (pflen, pfarr1, pfarr2) end // end of [gfarray_v_unsplit] (* ****** ****** *) (* prfun gfarray_v_extend {a:vt0p} {l:addr} {xs:ilist}{x:int}{xsx:ilist} {n:nat} ( pflen: LENGTH (xs, n) , pfsnoc: SNOC (xs, x, xsx) , pfat: stamped_vt (a, x) @ l+n*sizeof(a) , pfarr: gfarray_v (a, l, xs) ) : gfarray_v (a, l, xsx) // end of [gfarray_v_extend] *) primplmnt gfarray_v_extend {a}{l}{xs}{x}{xsx}{n} ( pflen, pfsnoc, pfat, pfarr ) = let // stadef xs1 = xs stadef xs2 = ilist_sing (x) // prval pfapp = lemma (pfsnoc) where { extern praxi lemma : SNOC (xs, x, xsx) - APPEND (xs1, xs2, xsx) } // end of [prval] // prval pf1arr = pfarr prval pf2arr = gfarray_v_sing (pfat) // prval (pfapp2, pfarr) = gfarray_v_unsplit {a}{l}{xs1,xs2}{n} (pflen, pf1arr, pf2arr) // end of [prval] // prval ILISTEQ () = append_isfun (pfapp, pfapp2) // in pfarr end // end of [gfarray_v_extend] (* ****** ****** *) (* prfun gfarray_v_unextend {a:vt0p} {l:addr} {xs:ilist} {n:int | n > 0} ( pflen: LENGTH (xs, n) , pfarr: gfarray_v (a, l, xs) ) : [xsf:ilist;x:int] ( // xsf: the front SNOC (xsf, x, xs), stamped_vt (a, x) @ l+(n-1)*sizeof(a), gfarray_v (a, l, xsf) ) // end of [gfarray_v_unextend] *) primplmnt gfarray_v_unextend {a}{l}{xs}{n} (pflen, pfarr) = let // prval [ xs1:ilist,xs2:ilist ] ( pf1len, pf2len, pfapp, pf1arr, pf2arr ) = gfarray_v_split {a}{l}{xs}{n}{n-1} (pflen, pfarr) // prval LENGTHcons (LENGTHnil()) = pf2len prval pf2at = gfarray_v_unsing (pf2arr) // prval pfsnoc = lemma (pfapp) where { extern praxi lemma : {xs:ilist}{x:int}{xsx:ilist} APPEND (xs, ilist_sing(x), xsx) - SNOC (xs, x, xsx) // end of [extern] } // end of [prval] // in (pfsnoc, pf2at, pf1arr) end // end of [gfarray_v_unextend] (* ****** ****** *) local staload UN = "prelude/SATS/unsafe.sats" in (* in-of-local *) // implement {a}(*tmp*) gfarray_get_at {l}{x0}{xs}{i0} (pf1, pf2 | gp0, i0) = $UN.ptr0_get_at(gp0, i0) // implement {a}(*tmp*) gfarray_set_at {l}{x0}{xs1}{xs2}{i0} (pf1, pf2 | gp0, i0, x0) = let // prval () = pf2 := $UN.castview0(pf2) // in $UN.ptr0_set_at(gp0, i0, x0) end // end of [gfarray_set_at] // end // end of [local] (* ****** ****** *) (* end of [gfarray.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linset_avltree.dats0000664000175000017500000004006412655455557020650 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linset_avltree.sats" (* ****** ****** *) // #include "./SHARE/linset.hats" // code reuse #include "./SHARE/linset_node.hats" // code reuse // (* ****** ****** *) stadef mytkind = $extkind"atslib_linset_avltree" (* ****** ****** *) // // HX: maximal height difference of two siblings // #define HTDF 1 #define HTDF1 (HTDF+1) #define HTDF_1 (HTDF-1) // (* ****** ****** *) datavtype avltree ( a:t@ype+, int(*height*) ) = | {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} B (a, 1+max(hl,hr)) of (int (1+max(hl,hr)), a, avltree (a, hl), avltree (a, hr)) | E (a, 0) of ((*void*)) // end of [avltree] vtypedef avltree_inc (a:t0p, h:int) = [h1:nat | h <= h1; h1 <= h+1] avltree (a, h1) // end of [avltree_inc] vtypedef avltree_dec (a:t0p, h:int) = [h1:nat | h1 <= h; h <= h1+1] avltree (a, h1) // end of [avltree_dec] (* ****** ****** *) assume set_vtype (a:t@ype) = [h:nat] avltree (a, h) (* ****** ****** *) implement{} linset_nil () = E () implement{} linset_make_nil () = E () (* ****** ****** *) implement{a} linset_sing (x) = B{a}(1, x, E, E) implement{a} linset_make_sing (x) = B{a}(1, x, E, E) (* ****** ****** *) implement {a}(*tmp*) linset_size (xs) = aux (xs) where { // fun aux {h:nat} .. (t: !avltree (a, h)):<> size_t = ( case+ t of | B (h, x, tl, tr) => succ(aux (tl) + aux (tr)) | E ((*void*)) => i2sz(0) ) (* end of [aux] *) // } // end of [linset_size] (* ****** ****** *) implement{} linset_is_nil (xs) = ( case+ xs of B _ => false | E () => true ) implement{} linset_isnot_nil (xs) = ( case+ xs of B _ => true | E () => false ) (* ****** ****** *) implement{a} linset_is_member (xs, x0) = aux (xs) where { // fun aux {h:nat} .. (t: !avltree (a, h)):<> bool = let in // case+ t of | B (h, x, tl, tr) => let val sgn = compare_elt_elt (x0, x) in if sgn < 0 then aux (tl) else (if sgn > 0 then aux (tr) else true) // end of [if] end // end of [B] | E ((*void*)) => false // end // end of [aux] // } // end of [linset_is_member] (* ****** ****** *) implement{a} linset_copy (xs) = let // fun copy {h:nat} .. (t: !avltree (a, h)): avltree (a, h) = ( case+ t of | B (h, x, tl, tr) => B{a}(h, x, copy (tl), copy (tr)) | E () => E () ) // end of [copy] in copy (xs) end // end of [linset_copy] (* ****** ****** *) implement{a} linset_free (xs) = let // fun free {h:nat} .. (t: avltree (a, h)): void = ( case+ t of | ~B (h, x, tl, tr) => (free (tl); free (tr)) | ~E () => () ) // end of [free] in free (xs) end // end of [linset_free] (* ****** ****** *) macdef avlht (t) = ( case+ ,(t) of B (h, _, _, _) => h | E ((*void*)) => 0 ) // end of [avlht] (* ****** ****** *) fn{a:t0p} avltree_height{h:int}(t: !avltree (a, h)):<> int (h) = avlht(t) (* ****** ****** *) (* ** left rotation for restoring height invariant *) fn{a:t0p} avltree_lrotate {hl,hr:nat | hl+HTDF1 == hr} {l,l_h,l_x,l_tl,l_tr:addr} ( pf_h: (int?)@l_h, pf_x: a@l_x , pf_tl: avltree (a, hl) @ l_tl , pf_tr: avltree (a, hr) @ l_tr | p_h: ptr l_h , hl: int hl, p_tl: ptr l_tl , hr: int hr, p_tr: ptr l_tr , t0: B_unfold (l, l_h, l_x, l_tl, l_tr) ) : avltree_inc (a, hr) = let val tr = !p_tr val+@B{..}{hrl,hrr} (hr2, _, trl, trr) = tr val hrl = avlht(trl): int(hrl) and hrr = avlht(trr): int(hrr) in if hrl <= hrr+HTDF_1 then let val hrl1 = hrl + 1 val () = !p_h := hrl1 val () = !p_tr := trl prval () = fold@ (t0) val () = hr2 := 1+max(hrl1, hrr) val () = trl := t0 prval () = fold@ (tr) in tr // B (1+max(hrl1,hrr), xr, B (hrl1, x, tl, trl), trr) end else let // [hrl==hrr+HTDF1]: deep rotation val trl_ = trl val+@B{..}{hrll,hrlr} (hrl, _, trll, trlr) = trl_ val hrll = avlht (trll) : int(hrll) and hrlr = avlht (trlr) : int(hrlr) val () = !p_h := 1+max(hl,hrll) val () = !p_tr := trll prval () = fold@ (t0) val () = hr2 := 1+max(hrlr, hrr) val () = trl := trlr prval () = fold@ (tr) val () = hrl := hr val () = trll := t0 val () = trlr := tr prval () = fold@ (trl_) in trl_ // B (hr, xrl, B (1+max(hl,hrll) x, tl, trll), B (1+max(hrlr,hrr), xr, trlr, trr)) end // end of [if] end // end of [avltree_lrotate] (* ****** ****** *) (* ** right rotation for restoring height invariant *) fn{a:t0p} avltree_rrotate {hl,hr:nat | hl == hr+HTDF1} {l,l_h,l_x,l_tl,l_tr:addr} ( pf_h: (int?)@l_h, pf_x: a@l_x , pf_tl: avltree (a, hl) @ l_tl , pf_tr: avltree (a, hr) @ l_tr | p_h: ptr l_h , hl : int hl, p_tl: ptr l_tl , hr : int hr, p_tr: ptr l_tr , t0: B_unfold (l, l_h, l_x, l_tl, l_tr) ) : avltree_inc (a, hl) = let val tl = !p_tl val+@B{..}{hll,hlr} (hl2, _, tll, tlr) = tl val hll = avlht(tll): int(hll) and hlr = avlht(tlr): int(hlr) in if hll+HTDF_1 >= hlr then let val hlr1 = hlr + 1 val () = !p_h := hlr1 val () = !p_tl := tlr prval () = fold@ (t0) val () = hl2 := 1+max(hll,hlr1) val () = tlr := t0 prval () = fold@ (tl) in tl // B (1+max(hll,hlr1), xl, tll, B (hlr1, x, tlr, tr)) end else let val tlr_ = tlr val+@B{..}{hlrl,hlrr} (hlr, _, tlrl, tlrr) = tlr_ val hlrl = avlht (tlrl): int(hlrl) val hlrr = avlht (tlrr): int(hlrr) val () = !p_h := 1+max(hlrr,hr) val () = !p_tl := tlrr prval () = fold@ (t0) val () = hl2 := 1+max(hll,hlrl) val () = tlr := tlrl prval () = fold@ (tl) val () = hlr := hl val () = tlrl := tl val () = tlrr := t0 prval () = fold@ (tlr_) in tlr_ // B (hl, xlr, B (1+max(hll,hlrl), xl, tll, tlrl), B (1+max(hlrr,hr), x, tlrr, tr)) end // end of [if] end // end of [avltree_rrotate] (* ****** ****** *) implement{a} linset_insert (xs, x0) = insert (xs) where { // fun insert {h:nat} .. ( t0: &avltree (a, h) >> avltree_inc (a, h) ) : bool = let in // case+ t0 of // | @B{..}{hl,hr} (h, x, tl, tr) => let prval pf_h = view@h prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr val sgn = compare_elt_elt (x0, x) in case+ 0 of | _ when sgn < 0 => let val ans = insert (tl) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in ans // B (1+max(hl,hr), x, tl, tr) end else let // hl==hr+HTDF1 val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_rrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in ans end // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val ans = insert (tr) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in ans // B (1+max(hl, hr), x, tl, tr) end else let // hl+HTDF1==hr val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_lrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in ans end // end of [if] end // end of [sgn > 0] | _ (*[x0] is found*) => let prval () = fold@ (t0) in true // B (h, x0, tl, tr) end // end of [sgn = 0] end // end of [B] // | ~E () => let val () = t0 := B{a}(1, x0, E (), E ()) in false end // end of [E] // end // end of [insert] // } // end of [linset_insert] (* ****** ****** *) fun{a:t0p} avltree_maxout {h:pos} .. ( t0: &avltree (a, h) >> avltree_dec (a, h) ) : mynode1 (a) = let val+@B{..}{hl,hr}(h, x, tl, tr) = t0 prval pf_h = view@h prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr in case+ tr of | B _ => let val nx = avltree_maxout (tr) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) // B (1+max(hl,hr), x, tl, tr) in nx end else let val p_h = addr@h val p_tl = addr@tl val p_tr = addr@tr val () = t0 := avltree_rrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [B] | ~E () => let val t0_ = t0 val () = t0 := tl in $UN.castvwtp0{mynode1(a)}((pf_h, pf_x, pf_tl, pf_tr | t0_)) end // end of [E] end // end of [avltree_maxout] (* ****** ****** *) fun{a:t0p} avltree_minout {h:pos} .. ( t0: &avltree (a, h) >> avltree_dec (a, h) ) : mynode1 (a) = let val+@B{..}{hl,hr}(h, x, tl, tr) = t0 prval pf_h = view@h prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr in case+ tl of | B _ => let val nx = avltree_minout (tl) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) // B (1+max(hl,hr), x, tl, tr) in nx end else let val p_h = addr@h val p_tl = addr@tl val p_tr = addr@tr val () = t0 := avltree_lrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [B] | ~E () => let val t0_ = t0 val () = t0 := tr in $UN.castvwtp0{mynode1(a)}((pf_h, pf_x, pf_tl, pf_tr | t0_)) end // end of [E] end // end of [avltree_minout] (* ****** ****** *) extern castfn mynode_decode {a:t0p}{l:agz} (nx: mynode(INV(a), l)):<> B_pstruct (int?, a, ptr?, ptr?) // end of [mynode_decode] (* ****** ****** *) fn{a:t0p} avltree_lrcon {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} ( tl: avltree (a, hl) , tr: avltree (a, hr) ) : avltree_dec (a, 1+max(hl,hr)) = ( case+ tr of | B _ => let var tr = tr val nx = avltree_minout (tr) // end of [val] val t1 = mynode_decode (nx) val+B(h1, x1, tl1, tr1) = t1 prval pf_h1 = view@h1 prval pf_x1 = view@x1 prval pf_tl1 = view@tl1 prval pf_tr1 = view@tr1 val hl = avltree_height (tl) and hr = avltree_height (tr) val () = tl1 := tl and () = tr1 := tr in if hl-hr <= HTDF then let val () = h1 := 1+max(hl,hr) prval () = fold@ (t1) in t1 end else let val p_h1 = addr@h1 val p_tl1 = addr@tl1 val p_tr1 = addr@tr1 in avltree_rrotate (pf_h1, pf_x1, pf_tl1, pf_tr1 | p_h1, hl, p_tl1, hr, p_tr1, t1) end // end of [if] end // end of [B] | ~E ((*void*)) => tl ) (* end of [avltree_lrcon] *) (* ****** ****** *) implement {a}(*tmp*) linset_takeout_ngc (xs, x0) = let // fun takeout{h:nat} .. ( t0: &avltree (a, h) >> avltree_dec (a, h) ) : mynode0(a) = let // in // case+ t0 of | @B{..}{hl,hr} (h, x, tl, tr) => let prval pf_h = view@h prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr val sgn = compare_elt_elt (x0, x) in case+ 0 of | _ when sgn < 0 => let val nx = takeout (tl) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in nx end else let val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_lrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val nx = takeout (tr) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in nx end else let val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_rrotate (pf_h, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [sgn > 0] | _ (*[x0] is found*) => let val t0_ = t0 val () = t0 := avltree_lrcon (tl, tr) in $UN.castvwtp0{mynode1(a)}((pf_h, pf_x, pf_tl, pf_tr | t0_)) end // end of [sgn = 0] // end of [case] end // end of [B] | E ((*void*)) => mynode_null () // end // end of [takeout] // in takeout (xs) end // end of [linset_takeout_ngc] (* ****** ****** *) implement {a}{env} linset_foreach_env (xs, env) = let // val p_env = addr@env // fun foreach {h:nat} .. ( t0: !avltree (a, h), p_env: ptr ) : void = let in // case+ t0 of | B (h, x, tl, tr) => let // val () = foreach (tl, p_env) // val ( pf, fpf | p_env ) = $UN.ptr_vtake{env}(p_env) val () = linset_foreach$fwork (x, !p_env) prval () = fpf (pf) // val () = foreach (tr, p_env) // in // nothing end // end of [B] | E ((*void*)) => () // end // end of [foreach] // in foreach (xs, p_env) end // end of [linset_foreach_env] (* ****** ****** *) implement {a}(*tmp*) linset_listize (xs) = let // fun aux {h:nat} .. ( t: avltree (a, h), res: List0_vt(a) ) :<> List0_vt(a) = let in // case+ t of | ~B (_, x, tl, tr) => let val res = aux (tr, res) val res = list_vt_cons{a}(x, res) val res = aux (tl, res) in res end // end of [B] | ~E ((*void*)) => res // end // end of [aux] // in aux (xs, list_vt_nil) end // end of [linset_listize] (* ****** ****** *) implement{a} linset_avltree_height (xs) = avlht (xs) (* ****** ****** *) // // HX: functions for handling mynodes // (* ****** ****** *) implement{ } mynode_null{a} () = $UN.castvwtp0{mynode(a,null)}(the_null_ptr) // end of [mynode_null] (* ****** ****** *) implement{ } mynode_free{a} (nx) = { // val+~B(_, _, tl, tr) = $UN.castvwtp0{avltree(a,1)}(nx) // prval ((*void*)) = $UN.cast2void (tl) prval ((*void*)) = $UN.cast2void (tr) // } (* end of [mynode_free] *) (* ****** ****** *) implement {a}(*tmp*) mynode_getfree_elt (nx) = x where { // val+~B(_, x, tl, tr) = $UN.castvwtp0{avltree(a,1)}(nx) // prval ((*void*)) = $UN.cast2void (tl) prval ((*void*)) = $UN.cast2void (tr) // } (* end of [mynode_getfree_elt] *) (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmax_ngc (xs) = let in // case+ xs of | B _ => avltree_maxout (xs) | E _ => mynode_null{a}((*void*)) // end // end of [linset_takeoutmax] (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmin_ngc (xs) = let in // case+ xs of | B _ => avltree_minout (xs) | E _ => mynode_null{a}((*void*)) // end // end of [linset_takeoutmin] (* ****** ****** *) (* end of [linset_avltree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/typeval.dats0000664000175000017500000000713612655455557017317 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmmhwxiATgmailDOTcom // Start Time: March, 2015 // (* ****** ****** *) staload "libats/SATS/typeval.sats" (* ****** ****** *) // implement tieq2int (pf | (*void*)) = let prval TIEQZ() = pf in 0 end // implement (t)(*tmp*) tieq2int (pf | (*void*)) = ( let prval TIEQS(pf) = pf in succ(tieq2int(pf | (*void*))) end // end of [tieq2int] ) // (* ****** ****** *) // implement ti2eq2int (pf | (*void*)) = let prval TI2EQZ() = pf in 0 end // implement (t)(*tmp*) ti2eq2int (pf | (*void*)) = ( let prval TI2EQB0(pf) = pf in 2*(ti2eq2int(pf | (*void*))) end // end of [ti2eq2int] ) // implement (t)(*tmp*) ti2eq2int (pf | (*void*)) = ( let prval TI2EQB1(pf) = pf in 2*(ti2eq2int(pf | (*void*)))+1 end // end of [ti2eq2int] ) // (* ****** ****** *) // implement (a)(*tmp*) sarray_foreach (pf | A, env) = () // implement (a,t)(*tmp*) sarray_foreach (pf | A, env) = let // val p0 = addr@A // prval TIEQS(pf1) = pf // prval pfarr = view@(A) prval ( pfat, pfarr1 ) = array_v_uncons(pfarr) // val () = sarray_foreach$fwork (!p0, env) // val p1 = ptr1_succ (p0) val (pfarr1 | p1) = viewptr_match(pfarr1 | p1) val () = sarray_foreach (pf1 | !p1, env) // prval () = view@A := array_v_cons (pfat, pfarr1) // in ignoret(0) // HX: for circumventing a tail-call bug! end // end of [sarray_foreach] // (* ****** ****** *) // implement (a)(*tmp*) sarray_foreach2 (pf | A0, A1, env) = () // implement (a,t)(*tmp*) sarray_foreach2 (pf | A0, A1, env) = let // val p0 = addr@A0 val p1 = addr@A1 // prval TIEQS(pf1) = pf // prval pf0arr = view@(A0) prval ( pf0at, pf0arr1 ) = array_v_uncons(pf0arr) // prval pf1arr = view@(A1) prval ( pf1at, pf1arr1 ) = array_v_uncons(pf1arr) // val () = sarray_foreach2$fwork (!p0, !p1, env) // val p0_1 = ptr1_succ (p0) val (pf0arr1 | p0_1) = viewptr_match(pf0arr1 | p0_1) val p1_1 = ptr1_succ (p1) val (pf1arr1 | p1_1) = viewptr_match(pf1arr1 | p1_1) // val () = sarray_foreach2 (pf1 | !p0_1, !p1_1, env) // prval () = view@A0 := array_v_cons (pf0at, pf0arr1) prval () = view@A1 := array_v_cons (pf1at, pf1arr1) // in ignoret(0) // HX: for circumventing a tail-call bug! end // end of [sarray_foreach2] // (* ****** ****** *) (* end of [typeval.sats] *) ATS2-Postiats-0.2.6/./libats/DATS/linheap_binomial2.dats0000664000175000017500000003707612655455557021215 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: This implementation is of imperative style; // it supports mergeable-heap operations and also // the decrease-key operation. // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linheap_binomial2" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gnode.sats" staload "libats/SATS/linheap_binomial.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) // // HX-2012-12-21: // the file should be included here // before [heap_vtype] is assumed // #include "./SHARE/linheap.hats" // code reuse // (* ****** ****** *) macdef assertloc_debug (x) = () (* ****** ****** *) stadef mytkind = $extkind"atslib_linheap_binomial2" (* ****** ****** *) typedef g2node (a:vt0p, l:addr) = gnode (mytkind, a, l) typedef g2node0 (a:vt0p) = gnode0 (mytkind, a) typedef g2node1 (a:vt0p) = gnode1 (mytkind, a) (* ****** ****** *) extern fun{a:vt0p} g2node_make_elt (x: a): g2node1 (a) (* ****** ****** *) extern fun{a:t0p} g2node_free (nx: g2node1 (INV(a))): void (* ****** ****** *) extern fun{a:vt0p} g2node_free_elt (nx: g2node1 (INV(a)), res: &a? >> a): void // end of [g2node_free_elt] (* ****** ****** *) extern fun{a:vt0p} g2node_get_rank (nx: g2node1 (INV(a))):<> int extern fun{a:vt0p} g2node_set_rank (nx: g2node1 (INV(a)), r: int): void extern fun{a:vt0p} g2node_get_parent (nx: g2node1 (INV(a))):<> g2node0 (a) extern fun{a:vt0p} g2node_set_parent (nx: g2node1 (INV(a)), par: g2node0 (a)): void extern fun{a:vt0p} g2node_set_parent_null (nx: g2node1 (INV(a))): void extern fun{a:vt0p} g2node_get_children (nx: g2node1 (INV(a))):<> g2node0 (a) extern fun{a:vt0p} g2node_set_children (nx: g2node1 (INV(a)), nxs: g2node0 (a)): void extern fun{a:vt0p} g2node_set_children_null (nx: g2node1 (INV(a))): void (* ****** ****** *) extern fun{a:vt0p} g2nodelst_cons (nx: g2node1 (INV(a)), nxs: g2node0 (a)): g2node1 (a) (* ****** ****** *) extern fun{a:vt0p} gnode_compare (nx1: g2node1 (a), nx2: g2node1 (a)):<> int implement{a} gnode_compare (nx1, nx2) = sgn where { val p_x1 = gnode_getref_elt (nx1) val ( pf1, fpf1 | p_x1 ) = $UN.cptr_vtake (p_x1) val p_x2 = gnode_getref_elt (nx2) val ( pf2, fpf2 | p_x2 ) = $UN.cptr_vtake (p_x2) val sgn = compare_elt_elt (!p_x1, !p_x2) prval () = fpf1 (pf1) and () = fpf2 (pf2) } // end of [gnode_compare] (* ****** ****** *) extern fun{a:vt0p} gnode_compare01 (nx1: g2node0 (a), nx2: g2node1 (a)):<> int implement{a} gnode_compare01 (nx1, nx2) = if gnode_isnot_null (nx1) then gnode_compare (nx1, nx2) else 1 // end of [gnode_compare01] extern fun{a:vt0p} gnode_compare10 (nx1: g2node1 (a), nx2: g2node0 (a)):<> int implement{a} gnode_compare10 (nx1, nx2) = if gnode_isnot_null (nx2) then gnode_compare (nx1, nx2) else ~1 // end of [gnode_compare10] (* ****** ****** *) // // HX-2013-08: // [nx1] and [nx2] are of the same rank // extern fun{a:vt0p} join_gnode_gnode (nx1: g2node1 (a), nx2: g2node1 (a)): void implement{a} join_gnode_gnode (nx1, nx2) = let val r = g2node_get_rank (nx1) val () = g2node_set_rank (nx1, r+1) val () = g2node_set_parent (nx2, nx1) val () = gnode_link10 (nx2, g2node_get_children (nx1)) val () = g2node_set_children (nx1, nx2) in // nothing end // end of [join_gnode_gnode] (* ****** ****** *) extern fun{a:vt0p} merge_gnode_gnode ( nx1: g2node1 (a), nx2: g2node1 (a) ) : g2node1 (a) // endfun implement{a} merge_gnode_gnode (nx1, nx2) = let val sgn = gnode_compare (nx1, nx2) in if sgn < 0 then let val () = join_gnode_gnode (nx1, nx2) in nx1 end else let val () = join_gnode_gnode (nx2, nx1) in nx2 end // end of [if] end // end of [merge_gnode_gnode] (* ****** ****** *) extern fun{a:vt0p} merge_gnode_gnodelst ( nx1: g2node1 (a), r1: int, nxs2: g2node0 (a) ) : g2node1 (a) // endfun implement{a} merge_gnode_gnodelst (nx1, r1, nxs2) = let // val iscons = gnodelst_is_cons (nxs2) // in // if iscons then let val nx2 = nxs2 val r2 = g2node_get_rank (nx2) in if r1 < r2 then g2nodelst_cons (nx1, nxs2) else let // HX: r1 = r2 val nxs2 = gnode_get_next (nx2) val nx1 = merge_gnode_gnode (nx1, nx2) in merge_gnode_gnodelst (nx1, r1+1, nxs2) end // end of [if] end else g2nodelst_cons (nx1, nxs2) // end of [if] // end // end of [merge_gnode_gnodelst] (* ****** ****** *) (* ** HX-2012-12: ** pre-condition for merging_gnodelst_gnodelst: ** both [nxs1] and [nxs2] are sorted ascendingly ** according to ranks of binomial trees *) extern fun{a:vt0p} merge_gnodelst_gnodelst ( nxs1: g2node0 (a), nxs2: g2node0 (a) ) : g2node0 (a) // endfun implement{a} merge_gnodelst_gnodelst (nxs1, nxs2) = let // fun loop ( nxs1: g2node0 (a), nxs2: g2node0 (a), res: Ptr1 ) : void = let in // if gnode_isnot_null (nxs1) then ( if gnode_isnot_null (nxs2) then let val nx1 = nxs1 val r1 = g2node_get_rank (nx1) val nx2 = nxs2 val r2 = g2node_get_rank (nx2) in if r1 < r2 then let val () = $UN.ptr1_set (res, nx1) val res = gnode_getref_next (nx1) val nxs1 = $UN.cptr_get (res) in loop (nxs1, nxs2, cptr2ptr (res)) end else if r1 > r2 then let val () = $UN.ptr1_set (res, nx2) val res = gnode_getref_next (nx2) val nxs2 = $UN.cptr_get (res) in loop (nxs1, nxs2, cptr2ptr (res)) end else let // r1 = r2 val nxs1 = gnode_get_next (nx1) val nxs2 = gnode_get_next (nx2) val nx1 = merge_gnode_gnode (nx1, nx2) val nxs1 = merge_gnode_gnodelst (nx1, r1+1, nxs1) in loop (nxs1, nxs2, res) end // end of [if] end else $UN.ptr1_set (res, nxs1) ) else $UN.ptr1_set (res, nxs2) // end // end of [loop] // var res: g2node0(a) val () = $effmask_all (loop (nxs1, nxs2, addr@(res))) // in $UN.cast{g2node0(a)} (res) end // end of [merge_gnodelst_gnodelst] (* ****** ****** *) (* assume heap_vtype (a:vt0p) = g2node0 (a) *) (* ****** ****** *) implement{} linheap_nil{a} () = $UN.castvwtp1{heap(a)}(gnode_null()) // end of [linheap_nil] (* ****** ****** *) // implement{} linheap_is_nil{a} (hp) = gnodelst_is_nil ($UN.castvwtp1{g2node0(a)}(hp)) implement{} linheap_isnot_nil{a} (hp) = gnodelst_is_cons ($UN.castvwtp1{g2node0(a)}(hp)) // (* ****** ****** *) implement{a} linheap_size (hp) = let // fun loop ( nxs: g2node0(a), res: size_t ) : size_t = let // val iscons = gnodelst_is_cons (nxs) // in // if iscons then let val nx = nxs val r = g2node_get_rank (nx) val r = $UN.cast{intGte(0)}(r) val nsz = g0uint_lsl_size ((i2sz)1, r) val nxs = gnode_get_next (nx) in loop (nxs, res + nsz) end else res // end of [if] // end // end of [loop] // in $effmask_all (loop ($UN.castvwtp1{g2node0(a)}(hp), i2sz(0))) end // end of [linheap_size] (* ****** ****** *) implement{a} linheap_insert (hp0, x0) = let // val nx = g2node_make_elt (x0) // val () = gnode_set_next_null (nx) // val () = g2node_set_rank (nx, 0) val () = g2node_set_parent_null (nx) val () = g2node_set_children_null (nx) // val nxs = $UN.castvwtp0{g2node0(a)}(hp0) val nxs = merge_gnode_gnodelst (nx, 0, nxs) val () = hp0 := $UN.castvwtp0{heap(a)}(nxs) // in // nothing end // end of [linheap_insert] (* ****** ****** *) implement{a} linheap_getmin_ref (hp0) = let // fun loop ( nx0: g2node1 (a), nxs: g2node0 (a) ) : g2node0 (a) = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx = nxs val nxs = gnode_get_next (nx) val sgn = gnode_compare (nx0, nx) in if sgn <= 0 then loop (nx0, nxs) else loop (nx, nxs) end else nx0 // end of [if] // end // end of [loop] // var nxs = $UN.castvwtp1{g2node0(a)}(hp0) val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx = nxs val nxs = gnode_get_next (nx) val nx_min = loop (nx, nxs) in $UN.cast{cPtr1(a)}(nx_min) end else $UN.cast{cPtr0(a)}(the_null_ptr) // end of [if] // end // end of [linheap_getmin_ref] (* ****** ****** *) implement{a} linheap_delmin (hp0, res) = let // fun loop ( nxs_ref: Ptr1, nx0_ref: Ptr1, nx0: g2node1 (a) ) : g2node1 (a) = let val nxs = $UN.ptr1_get (nxs_ref) val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx = nxs val nx_ref = nxs_ref val nxs_ref = gnode_getref_next (nx) val nxs_ref = cptr2ptr (nxs_ref) val sgn = gnode_compare01 (nx0, nx) in if sgn <= 0 then loop (nxs_ref, nx0_ref, nx0) else loop (nxs_ref, nx_ref, nx) // end of [if] end else let val () = $UN.ptr1_set (nx0_ref, gnode_get_next (nx0)) in nx0 end // end of [if] // end // end of [loop] // fun auxrev ( nxs: g2node0 (a) ) : g2node0 (a) = let // fun loop ( nxs: g2node0 (a), res: g2node0 (a) ) : g2node0 (a) = let val isnot = gnode_isnot_null (nxs) in // if isnot then let val nx = nxs val () = g2node_set_parent_null (nx) val nxs = gnode_get_next (nx) in loop (nxs, g2nodelst_cons (nx, res)) end else res // end of [if] // end // end of [loop] // in $effmask_all (loop (nxs, gnode_null ())) end // end of [auxrev] // var nxs0 = $UN.castvwtp0{g2node0(a)}(hp0) val iscons = gnodelst_is_cons (nxs0) // in // if iscons then let val nx0 = nxs0 val nx0_ref = addr@(nxs0) val nxs_ref = gnode_getref_next (nx0) val nxs_ref = cptr2ptr (nxs_ref) // val nx_min = loop (nxs_ref, nx0_ref, nx0) // val nxs_min = g2node_get_children (nx_min) val ((*void*)) = g2node_free_elt (nx_min, res) // val nxs_min = auxrev (nxs_min) val nxs0 = merge_gnodelst_gnodelst (nxs0, nxs_min) val () = hp0 := $UN.castvwtp0{heap(a)}(nxs0) // prval () = opt_some{a}(res) // in true end else let // val () = hp0 := $UN.castvwtp0{heap(a)}(the_null_ptr) // prval () = opt_none{a}(res) // in false end // end of [if] // end // end of [linheap_delmin] (* ****** ****** *) implement {a}(*tmp*) linheap_merge (hp1, hp2) = let val nxs1 = $UN.castvwtp0{g2node0(a)}(hp1) val nxs2 = $UN.castvwtp0{g2node0(a)}(hp2) val nxs12 = merge_gnodelst_gnodelst (nxs1, nxs2) in $UN.castvwtp0{heap(a)}(nxs12) end // end of [linheap_merge] (* ****** ****** *) implement {a}(*tmp*) linheap_freelin (hp) = let // fun auxfree ( nx: g2node0(a) ) : void = let // val isnot = gnode_isnot_null (nx) // in // if isnot then let val nxs = g2node_get_children (nx) val ((*void*)) = auxfree (nxs) val nx2 = gnode_get_next (nx) val cp = gnode_getref_elt (nx) val (pf, fpf | p) = $UN.cptr_vtake (cp) val ((*void*)) = linheap_freelin$clear (!p) val ((*void*)) = $extfcall (void, "ATS_MFREE", $UN.castvwtp0{ptr}((pf, fpf | p))) in auxfree (nx2) end else () // end of [if] // end // end of [auxfree] // in $effmask_all (auxfree ($UN.castvwtp0{g2node0(a)}(hp))) end // end of [linheap_freelin] (* ****** ****** *) // // HX: functions for processing g2nodes // (* ****** ****** *) vtypedef hpnode_struct ( elt: vt0p ) = // sknode_struct @{ elt= elt, rank= int, next= ptr, parent= ptr, children= ptr } (* end of [hpnode_struct] *) (* ****** ****** *) extern castfn __cast_hpnode {a:vt0p}{l:agz} ( nx: g2node (INV(a), l) ) :<> [l:addr] ( hpnode_struct (a) @ l , hpnode_struct (a) @ l - void | ptr l ) // end of [__cast_hpnode] (* ****** ****** *) implement{a} g2node_make_elt (x) = let // val ( pf, pfgc | p ) = ptr_alloc () // val () = p->elt := x // in $UN.castvwtp0{g2node1(a)}((pf, pfgc | p)) end // end of [g2node_make_elt] (* ****** ****** *) implement{a} g2node_free (nx) = ( $extfcall (void, "ATS_MFREE", $UN.cast{ptr}(nx)) ) // end of [g2node_free] (* ****** ****** *) implement{a} g2node_free_elt (nx, res) = let // val (pf, fpf | p) = __cast_hpnode (nx) val () = res := p->elt // in $extfcall (void, "ATS_MFREE", $UN.castvwtp0{ptr}((pf, fpf | p))) end // end of [g2node_free_elt] (* ****** ****** *) implement{a} g2node_get_rank (nx) = r where { // val (pf, fpf | p) = __cast_hpnode (nx) val r = p->rank prval () = fpf (pf) } // end of [g2node_get_rank] implement{a} g2node_set_rank (nx, r) = let // val (pf, fpf | p) = __cast_hpnode (nx) val () = p->rank := r prval () = fpf (pf) // in // nothing end // end of [g2node_set_rank] (* ****** ****** *) implement{a} g2node_get_parent (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val p_parent = p->parent prval () = fpf (pf) // in $UN.cast{g2node0(a)}(p_parent) end // end of [g2node_get_parent] implement{a} g2node_set_parent (nx, nx2) = let val (pf, fpf | p) = __cast_hpnode (nx) val () = p->parent := $UN.cast{ptr}(nx2) prval () = fpf (pf) // in // nothing end // end of [g2node_set_parent] implement{a} g2node_set_parent_null (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val () = p->parent := $UN.cast{ptr}(the_null_ptr) prval () = fpf (pf) // in // nothing end // end of [g2node_set_parent_null] (* ****** ****** *) implement{a} g2node_get_children (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val p_children = p->children prval () = fpf (pf) // in $UN.cast{g2node0(a)}(p_children) end // end of [g2node_get_children] implement{a} g2node_set_children (nx, nx2) = let val (pf, fpf | p) = __cast_hpnode (nx) val () = p->children := $UN.cast{ptr}(nx2) prval () = fpf (pf) // in // nothing end // end of [g2node_set_children] implement{a} g2node_set_children_null (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val () = p->children := $UN.cast{ptr}(the_null_ptr) prval () = fpf (pf) // in // nothing end // end of [g2node_set_children_null] (* ****** ****** *) implement{a} g2nodelst_cons (nx, nxs) = let val () = gnode_link10 (nx, nxs) in nx end // end of [g2nodelst_cons] (* ****** ****** *) implement(a) gnode_getref_elt (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val p_elt = addr@(p->elt) prval () = fpf (pf) // in $UN.cast{cPtr1(a)}(p_elt) end // end of [gnode_getref_elt] (* ****** ****** *) implement(a) gnode_getref_next (nx) = let val (pf, fpf | p) = __cast_hpnode (nx) val p_next = addr@(p->next) prval () = fpf (pf) // in $UN.cast{cPtr1(g2node0(a))}(p_next) end // end of [g2node_getref_next] (* ****** ****** *) implement(a) gnode_link10 (nx1, nx2) = gnode_set_next (nx1, nx2) // end of [gnode_link10] implement(a) gnode_link11 (nx1, nx2) = gnode_set_next (nx1, nx2) // end of [gnode_link11] (* ****** ****** *) (* linheap_binomial2.dats *) ATS2-Postiats-0.2.6/./libats/DATS/lindeque_dllist.dats0000664000175000017500000001367112655455557021015 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) staload "libats/SATS/dllist.sats" staload "libats/DATS/dllist.dats" (* ****** ****** *) staload "libats/SATS/lindeque_dllist.sats" (* ****** ****** *) // extern castfn deque_encode : {a:vt0p}{n:int} (g2node0 (INV(a))) -<> deque (a, n) extern castfn deque_decode : {a:vt0p}{n:int} (deque (INV(a), n)) -<> g2node0 (a) // extern castfn deque1_encode : {a:vt0p}{n:int | n > 0} (g2node1 (INV(a))) -<> deque (a, n) extern castfn deque1_decode : {a:vt0p}{n:int | n > 0} (deque (INV(a), n)) -<> g2node1 (a) // (* ****** ****** *) implement{} lindeque_nil{a} () = $UN.castvwtp0{deque(a,0)}(nullp) (* ****** ****** *) // implement{} lindeque_is_nil{a}{n} (dq) = $UN.cast{bool(n==0)}($UN.castvwtp1{ptr}(dq) = nullp) // implement{} lindeque_isnot_nil{a}{n} (dq) = $UN.cast{bool(n > 0)}($UN.castvwtp1{ptr}(dq) > nullp) // (* ****** ****** *) implement{a} lindeque_length {n} (dq) = let // fun loop ( nxs: g2node1 (a), p0: ptr, n: int ) : int = let val nxs2 = gnode_get_next (nxs) val nxs2 = $UN.cast{g2node1(a)}(nxs2) in // if p0 != gnode2ptr (nxs2) then loop (nxs2, p0, n+1) else n // end // end of [loop] // prval () = lemma_deque_param (dq) val isnot = lindeque_isnot_nil (dq) // in // if isnot then let val nxs = $UN.castvwtp1{g2node1(a)}(dq) val len = $effmask_all (loop (nxs, gnode2ptr (nxs), 1)) in $UN.cast{int(n)}(len) end else (0) // end of [if] // end // end of [lindeque_length] (* ****** ****** *) implement{a} lindeque_insert_at (dq, i, x) = let // val nx0 = g2node_make_elt (x) in lindeque_insert_at_ngc (dq, i, nx0) // end // end of [lindeque_insert_at] implement{a} lindeque_insert_atbeg (dq, x) = let // val nx0 = g2node_make_elt (x) in lindeque_insert_atbeg_ngc (dq, nx0) // end // end of [lindeque_insert_atbeg] implement{a} lindeque_insert_atend (dq, x) = let // val nx0 = g2node_make_elt (x) in lindeque_insert_atend_ngc (dq, nx0) // end // end of [lindeque_insert_atend] (* ****** ****** *) implement{a} lindeque_takeout_at (dq, i) = let // val nx = lindeque_takeout_at_ngc (dq, i) in g2node_getfree_elt (nx) // end // end of [lindeque_takeout_at] implement{a} lindeque_takeout_atbeg (dq) = let // val nx = lindeque_takeout_atbeg_ngc (dq) in g2node_getfree_elt (nx) // end // end of [lindeque_takeout_atbeg] implement{a} lindeque_takeout_atend (dq) = let // val nx = lindeque_takeout_atend_ngc (dq) in g2node_getfree_elt (nx) // end // end of [lindeque_takeout_atend] (* ****** ****** *) implement{a} lindeque2dllist {n} (dq) = let // val nxs = deque_decode (dq) val isnot = gnode_isnot_null (nxs) // val () = if isnot then { val nxs2 = gnode_get_prev (nxs) val nxs2 = $UN.cast{g2node1(a)}(nxs2) val () = gnode_set_prev_null (nxs) val () = gnode_set_next_null (nxs2) } // end of [if] in $UN.castvwtp0{dllist(a,0,n)}(nxs) end // end of [lindeque2dllist] (* ****** ****** *) // // HX: ngc-functions should not involve malloc/free! // (* ****** ****** *) implement{a} lindeque_insert_atbeg_ngc (dq, nx0) = let // val nxs = deque_decode (dq) val isnul = gnode_is_null (nxs) // in // if isnul then let val () = gnode_link11 (nx0, nx0) in dq := deque_encode (nx0) end else let val () = gnode_insert_prev (nxs, nx0) in dq := deque_encode (nx0) end // end of [if] // end // end of [lindeque_insert_atbeg_ngc] (* ****** ****** *) implement{a} lindeque_insert_atend_ngc (dq, nx0) = let // val nxs = deque_decode (dq) val isnul = gnode_is_null (nxs) // in // if isnul then let val () = gnode_link11 (nx0, nx0) in dq := deque_encode (nx0) end else let val () = gnode_insert_prev (nxs, nx0) in dq := deque_encode (nxs) end // end of [if] // end // end of [lindeque_insert_atend_ngc] (* ****** ****** *) implement{a} lindeque_takeout_atbeg_ngc (dq) = let // val nxs = deque1_decode (dq) val nxs2 = gnode_get_next (nxs) // val p = gnode2ptr (nxs) val p2 = gnode2ptr (nxs2) // val nxs = gnode_remove (nxs) // in // if (p != p2) then let val () = dq := deque_encode (nxs2) in nxs end else let val () = dq := deque_encode (gnode_null ()) in nxs end // end of [if] // end // end of [lindeque_takeout_atbeg_ngc] (* ****** ****** *) implement{a} lindeque_takeout_atend_ngc (dq) = let // val nxs = deque1_decode (dq) val nxs2 = gnode_remove_prev (nxs) val nxs2 = $UN.cast{g2node1(a)}(nxs2) // val p = gnode2ptr (nxs) val p2 = gnode2ptr (nxs2) // in // if (p != p2) then let val () = dq := deque_encode (nxs) in nxs2 end else let val () = dq := deque_encode (gnode_null ()) in nxs2 end // end of [if] // end // end of [lindeque_takeout_atend_ngc] (* ****** ****** *) (* end of [lindeque_dllist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gflist_vt.dats0000664000175000017500000002113512655455557017627 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) // // HX: generic functional lists (fully indexed) // (* ****** ****** *) // // HX-2012-11-28: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" (* ****** ****** *) staload "libats/SATS/gflist.sats" staload "libats/SATS/gflist_vt.sats" (* ****** ****** *) implement {a}(*tmp*) gflist_vt_length (xs) = let // fun loop {xs:ilist}{j:int} .. ( xs: !gflist_vt (a, xs), j: int j ) :<> [i:nat] (LENGTH (xs, i) | int (i+j)) = let in // case+ xs of | gflist_vt_cons (_, xs) => let val (pf | res) = loop (xs, j+1) in (LENGTHcons (pf) | res) end // end of [gflist_vt_cons] | gflist_vt_nil () => (LENGTHnil () | j) // end // end of [loop] // in loop (xs, 0) end // end of [gflist_vt_length] (* ****** ****** *) // implement {a}(*tmp*) gflist_vt_snoc {xs}{x0}(xs, x0) = let // val (pfapp | res) = gflist_vt_append (xs, gflist_vt_sing(x0)) // extern praxi lemma : {xsx:ilist} APPEND(xs, ilist_sing(x0), xsx) -> SNOC(xs, x0, xsx) // in (lemma(pfapp) | res) end // end of [gflist_vt_snoc] (* ****** ****** *) implement {a}(*tmp*) gflist_vt_append (xs, ys) = let // fun loop {xs:ilist} {ys:ilist} .. ( xs: gflist_vt (a, xs), ys: gflist_vt (a, ys), res: &ptr? >> gflist_vt (a, zs) ) : #[zs:ilist] (APPEND (xs, ys, zs) | void) = let in // case+ xs of | @gflist_vt_cons (x, xs1) => let val () = res := xs val xs = xs1 val (pf | ()) = loop (xs, ys, xs1) prval () = fold@ (res) in (APPENDcons (pf) | ()) end // end of [gflist_vt_cons] | ~gflist_vt_nil () => let val () = res := ys in (APPENDnil () | ()) end // end of [gflist_vt_nil] // end // end of [loop] // var res: ptr // uninitialized // val (pf | ()) = loop (xs, ys, res) // in (pf | res) end // end of [gflist_vt_append] (* ****** ****** *) implement {a}(*tmp*) gflist_vt_revapp (xs, ys) = let in // case+ xs of | @gflist_vt_cons (x, xs1) => let val xs1_ = xs1 val () = xs1 := ys prval () = fold@ (xs) val (pf | res) = gflist_vt_revapp (xs1_, xs) in (REVAPPcons (pf) | res) end // end of [gflist_vt_cons] | ~gflist_vt_nil () => (REVAPPnil () | ys) // end // end of [gflist_vt_append] implement {a}(*tmp*) gflist_vt_reverse (xs) = gflist_vt_revapp (xs, gflist_vt_nil) (* ****** ****** *) local (* // // HX-2012-11-28: mergesort on gflist_vt // ported from ATS/Anairiats // *) fun{ a:vt0p } split {xs:ilist} {n,i:nat | i <= n} .. ( pflen: LENGTH (xs, n) | xs: &gflist_vt (a, xs) >> gflist_vt (a, xs1), i: int i ) : #[xs1,xs2:ilist] ( APPEND (xs1, xs2, xs), LENGTH (xs1, i) | gflist_vt (a, xs2) ) = if i > 0 then let prval LENGTHcons (pflen) = pflen val @gflist_vt_cons (_, xs1) = xs val (pfapp, pf1len | xs2) = split (pflen | xs1, i-1) prval () = fold@ (xs) in (APPENDcons (pfapp), LENGTHcons (pf1len) | xs2) end else let val xs2 = xs val () = xs := gflist_vt_nil () prval pfapp = append_unit_left () in (pfapp, LENGTHnil () | xs2) end // end of [if] // end of [split] (* ****** ****** *) absprop UNION ( ys1: ilist, ys2: ilist, res: ilist ) (* end of [absprop] *) (* ****** ****** *) extern prfun union_commute {ys1,ys2:ilist} {ys:ilist} (pf: UNION (ys1, ys2, ys)): UNION (ys2, ys1, ys) // end of [union_commute] extern prfun union_nil1 {ys:ilist} (): UNION (ilist_nil, ys, ys) extern prfun union_nil2 {ys:ilist} (): UNION (ys, ilist_nil, ys) extern prfun union_cons1 {y:int} {ys1,ys2:ilist} {ys:ilist} ( pf: UNION (ys1, ys2, ys) ) : UNION (ilist_cons (y, ys1), ys2, ilist_cons (y, ys)) // end of [union_cons1] extern prfun union_cons2 {y:int} {ys1,ys2:ilist} {ys:ilist} ( pf: UNION (ys1, ys2, ys) ) : UNION (ys1, ilist_cons (y, ys2), ilist_cons (y, ys)) // end of [union_cons2] extern prfun isord_union_cons {y1,y2:int | y1 <= y2} {ys1,ys2:ilist} {ys:ilist} ( pf1: ISORD (ilist_cons (y1, ys1)) , pf2: ISORD (ilist_cons (y2, ys2)) , pf3: UNION (ys1, ilist_cons (y2, ys2), ys) , pf4: ISORD (ys) ) : ISORD (ilist_cons (y1, ys)) (* ****** ****** *) fun{ a:vt0p } merge {ys1,ys2:ilist} ( pf1ord: ISORD (ys1) , pf2ord: ISORD (ys2) | ys1: gflist_vt (a, ys1), ys2: gflist_vt (a, ys2) , ys: &ptr? >> gflist_vt (a, ys) ) : #[ys:ilist] (UNION (ys1, ys2, ys), ISORD (ys) | void) = case+ ys1 of | @gflist_vt_cons (y1, ys1_tl) => ( case+ ys2 of | @gflist_vt_cons (y2, ys2_tl) => let val sgn = gflist_vt_mergesort$cmp (y1, y2) in if sgn <= 0 then let val () = ys := ys1; val ys1 = ys1_tl prval () = fold@ (ys2) prval ISORDcons (pf1ord1, _) = pf1ord val (pfuni, pford | ()) = merge (pf1ord1, pf2ord | ys1, ys2, ys1_tl) prval pford = isord_union_cons (pf1ord, pf2ord, pfuni, pford) prval () = fold@ (ys) prval pfuni = union_cons1 (pfuni) in (pfuni, pford | ()) end else let prval () = fold@ (ys1) val () = ys := ys2; val ys2 = ys2_tl prval ISORDcons (pf2ord1, _) = pf2ord val (pfuni, pford | ()) = merge (pf1ord, pf2ord1 | ys1, ys2, ys2_tl) prval pfuni = union_commute (pfuni) prval pford = isord_union_cons (pf2ord, pf1ord, pfuni, pford) prval () = fold@ (ys) prval pfuni = union_cons1 (pfuni) prval pfuni = union_commute (pfuni) in (pfuni, pford | ()) end // end of [if] end // end of [gflist_vt_cons] | ~gflist_vt_nil () => let val () = fold@ (ys1); val () = ys := ys1 in (union_nil2 (), pf1ord | ()) end // end of [gflist_vt_nil] ) (* end of [gflist_vt_cons] *) | ~gflist_vt_nil () => let val () = ys := ys2 in (union_nil1 (), pf2ord | ()) end // end of [gflist_vt_nil] // end of [merge] (* ****** ****** *) extern prfun sort_nilsing {xs:ilist} {n:nat | n <= 1} (pf: LENGTH (xs, n)): SORT (xs, xs) // end of [sort_nilsing] (* ****** ****** *) fun{ a:vt0p } msort {xs:ilist}{n:nat} .. ( pflen: LENGTH (xs, n) | xs: gflist_vt (a, xs), n: int n ) : [ys:ilist] ( SORT (xs, ys) | gflist_vt (a, ys) ) = let in // if n >= 2 then let var xs = xs val n2 = half(n) val (pfapp, pf1len | xs2) = split (pflen | xs, n2) val xs1 = xs prval pf2len = length_istot () prval pflen_alt = lemma_append_length (pfapp, pf1len, pf2len) prval () = length_isfun (pflen, pflen_alt) val (pf1srt | ys1) = msort (pf1len | xs1, n2) prval (pf1ord, pf1perm) = sort_elim (pf1srt) val (pf2srt | ys2) = msort (pf2len | xs2, n-n2) prval (pf2ord, pf2perm) = sort_elim (pf2srt) val (pfuni, pford | ()) = merge (pf1ord, pf2ord | ys1, ys2, xs) // prval pfperm = lemma ( pfapp, pf1perm, pf2perm, pfuni ) where { extern prfun lemma {xs1,xs2:ilist}{xs:ilist} {ys1,ys2:ilist}{ys:ilist} ( APPEND (xs1, xs2, xs) , PERMUTE (xs1, ys1), PERMUTE (xs2, ys2), UNION (ys1, ys2, ys) ) : PERMUTE (xs, ys) // end of [lemma] } (* end of [where] *) // end of [prval] // prval pfsrt = sort_make (pford, pfperm) // in (pfsrt | xs) end else (sort_nilsing (pflen) | xs) // end of [if] // end // end of [msort] in (* in of [local] *) implement {a}(*tmp*) gflist_vt_mergesort (xs) = let val (pflen | n) = gflist_vt_length (xs) in msort (pflen | xs, n) end // end of [mergesort] end // end of [local] (* ****** ****** *) (* end of [gflist_vt.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/athread_posix.dats0000664000175000017500000001546612655455557020472 0ustar hwxihwxi(***********************************************************************) (* *) (* ATS/contrib/libats-hwxi *) (* *) (***********************************************************************) (* ** Copyright (C) 2014 Hongwei Xi, ATS Trustful Software, Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), ** to deal in the Software without restriction, including without limitation ** the rights to use, copy, modify, merge, publish, distribute, sublicense, ** and/or sell copies of the Software, and to permit persons to whom the ** Software is furnished to do so, subject to the following stated conditions: ** ** The above copyright notice and this permission notice shall be included in ** all copies or substantial portions of the Software. ** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ** FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ** IN THE SOFTWARE. *) (* ****** ****** *) // // An abstract thread interface // implemented on top of pthreads // (* ****** ****** *) %{^ // #include // %} // end of [%{^] (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/athread.sats" (* ****** ****** *) // assume locked_v (l:addr) = unit_v // (* ****** ****** *) implement {}(*tmp*) spin_create () = let // typedef pthread_spinlock_t = $extype"pthread_spinlock_t" // val (pfat, pfgc | p) = ptr_alloc () val err = $extfcall (int, "pthread_spin_init", p, 0(*pshared*)) // in // if err = 0 then $UN.castvwtp0{spin1}((pfat, pfgc | p)) else let val () = ptr_free (pfgc, pfat | p) in $UN.castvwtp0{spin0}(0) end // end of [else] // end // end of [spin_create] (* ****** ****** *) implement {}(*tmp*) spin_vt_destroy (spn) = let // val p_spn = spin2ptr_vt (spn) prval () = $UN.castview0 (spn) // in // if p_spn > 0 then let val err = $extfcall (int, "pthread_spin_destroy", p_spn) val ((*freed*)) = $extfcall (void, "atspre_ptr_free", p_spn) in // nothing end // end of [then] else () // end of [else] // end // end of [spin_vt_destroy] (* ****** ****** *) implement {}(*tmp*) spin_lock (spn) = let // val err = $extfcall (int, "pthread_spin_lock", $UN.cast{ptr}(spn)) // (* val ((*void*)) = assertloc (err = 0) *) // in (unit_v () | ()) end // end of [spin_lock] (* ****** ****** *) implement {}(*tmp*) spin_unlock (pf | spn) = let // prval unit_v () = pf // val err = $extfcall (int, "pthread_spin_unlock", $UN.cast{ptr}(spn)) // (* val ((*void*)) = assertloc (err = 0) *) // in // nothing end // end of [spin_unlock] (* ****** ****** *) implement {}(*tmp*) mutex_create () = let // typedef pthread_mutex_t = $extype"pthread_mutex_t" // val (pfat, pfgc | p) = ptr_alloc () val err = $extfcall (int, "pthread_mutex_init", p, 0(*attr*)) // in // if err = 0 then $UN.castvwtp0{mutex1}((pfat, pfgc | p)) else let val () = ptr_free (pfgc, pfat | p) in $UN.castvwtp0{mutex0}(0) end // end of [else] // end // end of [mutex_create] (* ****** ****** *) implement {}(*tmp*) mutex_vt_destroy (mtx) = let // val p_mtx = mutex2ptr_vt (mtx) prval () = $UN.castview0 (mtx) // in // if p_mtx > 0 then let val err = $extfcall (int, "pthread_mutex_destroy", p_mtx) val ((*freed*)) = $extfcall (void, "atspre_ptr_free", p_mtx) in // nothing end // end of [then] else () // end of [else] // end // end of [mutex_vt_destroy] (* ****** ****** *) implement {}(*tmp*) mutex_lock (mtx) = let // val err = $extfcall (int, "pthread_mutex_lock", $UN.cast{ptr}(mtx)) // (* val ((*void*)) = assertloc (err = 0) *) // in (unit_v () | ()) end // end of [mutex_lock] (* ****** ****** *) implement {}(*tmp*) mutex_unlock (pf | mtx) = let // prval unit_v () = pf // val err = $extfcall (int, "pthread_mutex_unlock", $UN.cast{ptr}(mtx)) // (* val ((*void*)) = assertloc (err = 0) *) // in // nothing end // end of [mutex_unlock] (* ****** ****** *) implement {}(*tmp*) condvar_create () = let // typedef pthread_cond_t = $extype"pthread_cond_t" // val (pfat, pfgc | p) = ptr_alloc () val err = $extfcall (int, "pthread_cond_init", p, 0(*attr*)) // in // if err = 0 then $UN.castvwtp0{condvar1}((pfat, pfgc | p)) else let val () = ptr_free (pfgc, pfat | p) in $UN.castvwtp0{condvar0}(0) end // end of [else] // end // end of [condvar_create] (* ****** ****** *) implement {}(*tmp*) condvar_vt_destroy (cvr) = let // val p_cvr = condvar2ptr_vt (cvr) prval () = $UN.castview0 (cvr) // in // if p_cvr > 0 then let val err = $extfcall (int, "pthread_cond_destroy", p_cvr) val ((*freed*)) = $extfcall (void, "atspre_ptr_free", p_cvr) in // nothing end // end of [then] else () // end of [else] // end // end of [condvar_vt_destroy] (* ****** ****** *) implement {}(*tmp*) condvar_signal (cvr) = let // val err = ( $extfcall (int, "pthread_cond_signal", $UN.cast{ptr}(cvr)) ) (* end of [val] *) // (* val ((*void*)) = assertloc (err = 0) *) // in // nothing end // end of [condvar_signal] (* ****** ****** *) implement {}(*tmp*) condvar_broadcast (cvr) = let // val err = ( $extfcall (int, "pthread_cond_broadcast", $UN.cast{ptr}(cvr)) ) (* end of [val] *) // (* val ((*void*)) = assertloc (err = 0) *) // in // nothing end // end of [condvar_broadcast] (* ****** ****** *) implement {}(*tmp*) condvar_wait (pf | cvr, mtx) = let // val err = $extfcall (int, "pthread_cond_wait", $UN.cast{ptr}(cvr), $UN.cast{ptr}(mtx)) // (* val ((*void*)) = assertloc (err = 0) *) // in // nothing end // end of [condvar_wait] (* ****** ****** *) abst@ype pthread_t = $extype"pthread_t" abst@ype pthread_attr_t = $extype"pthread_attr_t" (* ****** ****** *) implement {}(*tmp*) athread_create_funenv (tid, fwork, env) = let // var tid2: pthread_t var attr: pthread_attr_t val _(*err*) = $extfcall (int, "pthread_attr_init", addr@attr) // val _(*err*) = $extfcall ( int , "pthread_attr_setdetachstate" , addr@attr, $extval(int, "PTHREAD_CREATE_DETACHED") ) (* end of [val] *) // val err = $extfcall ( int, "pthread_create" , addr@tid2, addr@attr, fwork, $UN.castvwtp0{ptr}(env) ) (* end of [val] *) val () = tid := $UN.cast2lint(tid2) // val _(*err*) = $extfcall (int, "pthread_attr_destroy", addr@attr) // in err end // end of [athread_create_funenv] (* ****** ****** *) (* end of [athread_posix.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/stkarray.dats0000664000175000017500000001311312655455557017463 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.stkarray" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/stkarray.sats" (* ****** ****** *) implement {a}(*tmp*) stkarray_make_cap (cap) = stk where { // val A = arrayptr_make_uninitized (cap) // val (pfat, pfgc | p) = ptr_alloc () // val (pfngc | stk) = stkarray_make_ngc__tsz (pfat | p, A, cap, sizeof) // prval ((*void*)) = mfree_gcngc_v_nullify (pfgc, pfngc) // } // end of [stkarray_make_cap] (* ****** ****** *) local extern fun stkarray_get_size__tsz{a:vt0p} {m,n:int} (stk: !stkarray (a, m, n), sizeof_t(a)):<> size_t(n) = "mac#%" extern fun stkarray_get_capacity__tsz{a:vt0p} {m,n:int} (stk: !stkarray (a, m, n), sizeof_t(a)):<> size_t(m) = "mac#%" in (* in of [local] *) implement{a} stkarray_get_size (stk) = stkarray_get_size__tsz (stk, sizeof) implement{a} stkarray_get_capacity (stk) = stkarray_get_capacity__tsz (stk, sizeof) end // end of [local] (* ****** ****** *) implement{} fprint_stkarray$sep (out) = fprint (out, "<-") implement{a} fprint_stkarray (out, stk) = let // val n = stkarray_get_size (stk) prval [n:int] EQINT () = eqint_make_guint (n) // implement fprint_array$sep<> (out) = fprint_stkarray$sep (out) // val p_beg = stkarray_get_ptrbeg (stk) val (pf, fpf | p_beg) = $UN.ptr_vtake{array(a,n)}(p_beg) val () = fprint_array (out, !p_beg, n) prval () = fpf (pf) // end of [prval] // in // nothing end // end of [fprint_stkarray] (* ****** ****** *) implement{a} fprint_stkarray_sep (out, stk, sep) = let // implement{} fprint_stkarray$sep (out) = fprint_string (out, sep) // in fprint_stkarray (out, stk) end // end of [fprint_stkarray_sep] (* ****** ****** *) extern fun stkarray_get_ptrcur{a:vt0p} {m,n:int} (stk: !stkarray (INV(a), m, n)):<> ptr = "mac#%" // end of [stkarray_get_ptrcur] extern fun stkarray_set_ptrcur{a:vt0p} {m,n:int} (stk: !stkarray (INV(a), m, n), ptr): void = "mac#%" // end of [stkarray_set_ptrcur] (* ****** ****** *) implement{a} stkarray_insert {m,n} (stk, x0) = let // val p_cur = stkarray_get_ptrcur (stk) val ((*void*)) = $UN.ptr0_set (p_cur, x0) val ((*void*)) = stkarray_set_ptrcur (stk, ptr_succ (p_cur)) // prval () = __assert (stk) where { extern praxi __assert (!stkarray (a, m, n) >> stkarray (a, m, n+1)): void } (* end of [prval] *) // in // nothing end // end of [stkarray_insert] (* ****** ****** *) implement{a} stkarray_insert_opt (stk, x0) = let // val isnot = stkarray_isnot_full (stk) // in // if isnot then let val () = stkarray_insert (stk, x0) in None_vt() end else Some_vt{a}(x0) // end // end of [stkarray_insert_opt] (* ****** ****** *) implement{a} stkarray_takeout {m,n} (stk) = x0 where { // val p_cur = stkarray_get_ptrcur (stk) val p1_cur = ptr_pred (p_cur) val x0 = $UN.ptr0_get (p1_cur) val () = stkarray_set_ptrcur (stk, p1_cur) // prval () = __assert (stk) where { extern praxi __assert (!stkarray (a, m, n) >> stkarray (a, m, n-1)): void } (* end of [prval] *) // } // end of [stkarray_takeout] (* ****** ****** *) implement{a} stkarray_takeout_opt (stk) = let // val isnot = stkarray_isnot_nil (stk) // in // if isnot then let val x0 = stkarray_takeout (stk) in Some_vt{a}(x0) end else None_vt((*void*)) // end // end of [stkarray_takeout_opt] (* ****** ****** *) implement {a}{env} stkarray_foreach$cont (x, env) = true implement{a} stkarray_foreach (stk) = let var env: void = () in stkarray_foreach_env (stk, env) end // end of [stkarray_foreach] (* ****** ****** *) implement {a}{env} stkarray_foreach_env (stk, env) = let // implement array_rforeach$cont (x, env) = stkarray_foreach$cont (x, env) implement array_rforeach$fwork (x, env) = stkarray_foreach$fwork (x, env) // val n = stkarray_get_size (stk) prval [n:int] EQINT () = eqint_make_guint (n) val p0 = stkarray_get_ptrbeg (stk) val (pf, fpf | p0) = $UN.ptr0_vtake{array(a,n)}(p0) val res = array_rforeach_env (!p0, n, env) prval ((*void*)) = fpf (pf) // in res end // end of [stkarray_foreach_env] (* ****** ****** *) (* end of [stkarray.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linheap_binomial.dats0000664000175000017500000003257512655455557021132 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: November, 2011 *) (* ****** ****** *) // // HX: Note that this implementation is largely of // functional-style and only supports mergeable-heap // operations; it particular it does not support the // decrease-key operation. // (* ****** ****** *) // // HX-2012-12: ported to ATS/Postiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linheap_binomial" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linheap_binomial.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) // // HX-2012-12-21: // the file should be included here // before [heap_vtype] is assumed // #include "./SHARE/linheap.hats" // code reuse // (* ****** ****** *) // // binomial trees: // btree(a, n) is for a binomial tree of rank(n) // datavtype btree ( a:vt@ype+, int(*rank*) ) = // btree | {n:nat} btnode (a, n) of (int (n), a, btreelst (a, n)) // end of [btree] and btreelst ( a:vt@ype+, int(*rank*) ) = | {n:nat} btlst_cons (a, n+1) of (btree (a, n), btreelst (a, n)) | btlst_nil (a, 0) // end of [btreelst] (* ****** ****** *) datavtype bheap ( a:vt@ype+, int(*rank*), int(*size*) ) = // bheap | {n:nat} bheap_nil (a, n, 0) of () | {n:nat}{p:int}{sz:nat}{n1:int | n1 > n} bheap_cons (a, n, p+sz) of (EXP2 (n, p) | btree (a, n), bheap (a, n1, sz)) // end of [bheap] (* ****** ****** *) fun{ a:vt0p } btree_rank {n:int} .<>. ( bt: !btree (a, n) ) :<> int (n) = let val btnode (n, _, _) = bt in n end // end of [btree_rank] (* ****** ****** *) extern fun{ } pow2 {n:nat} (n: int n):<> [p:int] (EXP2 (n, p) | size_t p) // end of [pow2] implement{} pow2 {n} (n) = let val res = g0uint_lsl_size ((i2sz)1, n) val [p:int] res = g1ofg0_uint (res) prval pf = __assert () where { extern praxi __assert (): EXP2 (n, p) } // end of [where] // end of [prval] in (pf | res) end // end of [pow2] (* ****** ****** *) fun{ a:vt0p } btree_size {n:int} .<>. ( bt: !btree (a, n) ) :<> [p:int] ( EXP2 (n, p) | size_t (p) ) = let val btnode (n, _, _) = bt in pow2 (n) end // end of [btree_size] (* ****** ****** *) fun{ a:vt0p } bheap_size {n:int}{sz:int} ( hp: !bheap (a, n, sz) ) : size_t (sz) = let in // case+ hp of | bheap_cons (pf | bt, hp) => let val (pf2 | p) = btree_size (bt) prval () = exp2_isfun (pf, pf2) in p + bheap_size (hp) end // end of [bheap_cons] | bheap_nil ((*void*)) => g1int2uint (0) // end // end of [bheap_size] (* ****** ****** *) fun{ a:t0p } btree_free {n:nat} .. (bt: btree (a, n)) : void = let val ~btnode (_, _, bts) = bt in btreelst_free (bts) end // end of [btree_free] and btreelst_free {n:nat} .. ( bts: btreelst (a, n) ) : void = let in // case+ bts of | ~btlst_cons (bt, bts) => let val () = btree_free (bt) in btreelst_free (bts) end // end of [btlst_cons] | ~btlst_nil () => () end // end of [btreelst_free] (* ****** ****** *) fun{a:vt0p} btree_btree_merge {n:nat} .<>. ( bt1: btree (a, n) , bt2: btree (a, n) ) : btree (a, n+1) = let val @btnode (n1, x1, bts1) = bt1 val @btnode (n2, x2, bts2) = bt2 val sgn = compare_elt_elt (x1, x2) in if sgn <= 0 then let prval () = fold@ (bt2) val () = n1 := n1 + 1 val () = bts1 := btlst_cons{a}(bt2, bts1) in fold@ (bt1); bt1 end else let prval () = fold@ (bt1) val () = n2 := n2 + 1 val () = bts2 := btlst_cons{a}(bt1, bts2) in fold@ (bt2); bt2 end // end of [if] end // end of [btree_btree_merge] (* ****** ****** *) fun{a:vt0p} btree_bheap_merge {n:nat} {n1:int | n <= n1} {sz:nat}{p:int} .. ( pf: EXP2 (n, p) | bt: btree (a, n), n: int (n), hp: bheap (a, n1, sz) ) : [n2:int | n2 >= min(n, n1)] bheap (a, n2, sz+p) = case+ hp of | ~bheap_nil () => bheap_cons{a}(pf | bt, bheap_nil {a} {n+1} ()) // end of [bheap_nil] | @bheap_cons (pf1 | bt1, hp1) => let val n1 = btree_rank (bt1) in if n < n1 then let prval () = fold@ (hp) in bheap_cons{a}(pf | bt, hp) end else if n > n1 then let val () = hp1 := btree_bheap_merge (pf | bt, n, hp1) prval () = fold@ (hp) in hp end else let prval () = exp2_ispos (pf1) prval () = exp2_isfun (pf, pf1) val bt = btree_btree_merge (bt, bt1) val hp1 = hp1 val () = free@{a}{0}{0}{0}{1}(hp) in btree_bheap_merge (EXP2ind (pf) | bt, n+1, hp1) end // end of [if] end (* end of [bheap_cons] *) // end of [btree_bheap_merge] (* ****** ****** *) fun{a:vt0p} bheap_bheap_merge {n1,n2:nat} {sz1,sz2:nat} .. ( hp1: bheap (a, n1, sz1), hp2: bheap (a, n2, sz2) ) : [n:int | n >= min(n1, n2)] bheap (a, n, sz1+sz2) = let in // case+ hp1 of | ~bheap_nil () => hp2 | @bheap_cons (pf1 | bt1, hp11) => ( case+ hp2 of | ~bheap_nil () => (fold@ (hp1); hp1) | @bheap_cons (pf2 | bt2, hp21) => let // prval pf1 = pf1 and pf2 = pf2 prval () = exp2_ispos (pf1) and () = exp2_ispos (pf2) // val n1 = btree_rank (bt1) and n2 = btree_rank (bt2) in if n1 < n2 then let prval () = fold@ (hp2) val () = hp11 := bheap_bheap_merge (hp11, hp2) prval () = fold@ (hp1) in hp1 end else if n1 > n2 then let prval () = fold@ (hp1) val () = hp21 := bheap_bheap_merge (hp1, hp21) prval () = fold@ (hp2) in hp2 end else let prval () = exp2_isfun (pf1, pf2) val bt12 = btree_btree_merge (bt1, bt2) val hp11 = hp11 and hp21 = hp21 val () = free@{a}{0}{0}{0}{1}(hp1) val () = free@{a}{0}{0}{0}{1}(hp2) in btree_bheap_merge (EXP2ind (pf1) | bt12, n1+1, bheap_bheap_merge (hp11, hp21)) end // end of [if] end (* end of [bheap_cons] *) ) // end of [bheap_cons] end // end of [bheap_bheap_merge] (* ****** ****** *) fun{a:vt0p} bheap_search_ref {n:nat}{sz:pos} .<>. ( hp0: !bheap (a, n, sz) ) :<> cPtr1(a) = let // fun search {n:nat}{sz:nat} .. ( hp0: !bheap (a, n, sz), p_x0: Ptr1 ) :<> Ptr1 = let in // case+ hp0 of | @bheap_cons (pf | bt, hp) => let prval () = exp2_ispos (pf) val @btnode (_, x, _) = bt val ( pf, fpf | p_x0 ) = $UN.ptr_vtake{a}(p_x0) val sgn = compare_elt_elt (!p_x0, x) prval () = fpf (pf) val res = ( if sgn > 0 then search (hp, addr@(x)) else search (hp, p_x0) ) : Ptr1 // end of [val] prval () = fold@ (bt) prval () = fold@ (hp0) in res end // end of [bheap_cons] | bheap_nil () => p_x0 // end (* end of [search] *) // val+ @bheap_cons (pf0 | bt0, hp1) = hp0 val+ @btnode (_, x0, _) = bt0 prval () = fold@ (bt0) val res = search (hp1, addr@(x0)) prval () = fold@ (hp0) // in $UN.ptr2cptr{a}(res) end // end of [bheap_search_ref] (* ****** ****** *) fun{a:vt0p} bheap_remove {n:nat}{sz:pos} .<>. ( hp0: &bheap (a, n, sz) >> bheap (a, n1, sz-p) ) : #[ n1,n2,p:int | n1 >= n; n2 >= n; sz >= p ] ( EXP2 (n2, p) | btree (a, n2) ) = let // // HX: [search] and [remove] can be merged into one // fun search {n:nat}{sz:nat} .. ( hp0: !bheap (a, n, sz), x0: &a, pos: &Nat >> _ ) : void = let in // case+ hp0 of | @bheap_cons (pf | bt, hp) => let prval () = exp2_ispos (pf) val+ @btnode (_, x, _) = bt val sgn = compare_elt_elt (x0, x) val () = if sgn > 0 then let val p_x0 = addr@ (x0) and p_x = addr@ (x) val () = $UN.ptr0_set (p_x0, $UN.ptr0_get(p_x)) val () = pos := pos + 1 in // nothing end // end of [val] prval () = fold@ (bt) val () = search (hp, x0, pos) prval () = fold@ (hp0) in // nothing end // [bheap_cons] | bheap_nil () => () // end // end of [search] // val+ @bheap_cons (pf0 | bt0, hp1) = hp0 val+ @btnode (_, x, _) = bt0 val p_x = addr@ (x); prval () = fold@ {a} (bt0) var x0: a = $UN.ptr0_get (p_x) and pos: Nat = 0 val () = search (hp1, x0, pos) prval () = __clear (x0) where { extern praxi __clear (x: &a >> a?): void } (* end of [prval] *) prval () = fold@ {a} (hp0) // fun remove {n:nat}{sz:nat} {pos:nat} .. ( hp0: &bheap (a, n, sz) >> bheap (a, n1, sz-p) , pos: int (pos) , btmin: &btree(a, 0)? >> btree (a, n2) ) : #[ n1,n2,p:int | n1 >= n; n2 >= n; sz >= p ] ( EXP2 (n2, p) | void ) = let // prval ( ) = __assert () where { extern praxi __assert (): [sz > 0] void } // end of [prval] // val+ @bheap_cons (pf | bt, hp) = hp0 // prval pf = pf prval () = exp2_ispos (pf) in // if pos > 0 then let val (pfmin | ()) = remove (hp, pos-1, btmin) prval () = fold@ (hp0) in (pfmin | ()) end else let val () = btmin := bt val hp = hp val () = free@{a}{0}{0}{0}{1}(hp0) val () = hp0 := hp in (pf | ()) end // end of [if] // end (* end of [remove] *) // var btmin: btree (a, 0)? val (pf | ()) = remove (hp0, pos, btmin) // in (pf | btmin) end // end of [bheap_remove] (* ****** ****** *) assume heap_vtype (a:vt0p) = [n,sz:nat] bheap (a, n, sz) // end of [heap_vtype] (* ****** ****** *) implement{} linheap_nil {a} () = bheap_nil{a}{0}() implement{} linheap_make_nil {a} () = bheap_nil{a}{0}() (* ****** ****** *) implement{} linheap_is_nil (hp) = let in // case+ hp of | bheap_cons (_ | _, _) => false | bheap_nil () => true // end // end of [linheap_is_nil] implement{} linheap_isnot_nil (hp) = let in // case+ hp of | bheap_cons (_ | _, _) => true | bheap_nil () => false // end // end of [linheap_is_cons] (* ****** ****** *) implement{a} linheap_size (hp) = $effmask_all (bheap_size (hp)) (* ****** ****** *) implement{a} linheap_insert (hp0, x0) = let val bt = btnode{a}(0, x0, btlst_nil()) in hp0 := btree_bheap_merge (EXP2bas () | bt, 0, hp0) end // end of [linheap_insert] (* ****** ****** *) implement{a} linheap_getmin_ref (hp0) = let (* val () = ( print ("linheap_getmin_ref: enter"); print_newline () ) // end of [val] *) in // case+ hp0 of | bheap_cons (pf | _, _) => let prval ( ) = exp2_ispos (pf) in bheap_search_ref (hp0) end // end of [bheap_cons] | bheap_nil ((*void*)) => cptr_null{a}((*void*)) // end // end of [linheap_getmin_ref] (* ****** ****** *) implement{a} linheap_delmin (hp0, res) = let (* val () = ( print ("linheap_delmin: enter"); print_newline () ) // end of [val] *) in // case+ hp0 of | bheap_cons (pf0 | _, _) => let prval () = exp2_ispos (pf0) val (_(*pf*) | btmin) = bheap_remove (hp0) val ~btnode (_, x, bts) = btmin val () = res := x prval () = opt_some{a}(res) val hp1 = hp1 where { fun loop {n:nat}{sz:nat} .. ( bts: btreelst (a, n), hp: bheap (a, n, sz) ) :<> [sz:nat] bheap (a, 0, sz) = case+ bts of | ~btlst_cons (bt, bts) => let prval pf = exp2_istot () in loop (bts, bheap_cons{a}(pf | bt, hp)) end // end of [btlst_cons] | ~btlst_nil () => hp // end of [loop] val hp1 = loop (bts, bheap_nil) } // end of [val] val () = hp0 := bheap_bheap_merge (hp0, hp1) in true end // end of [bheap_cons] | bheap_nil () => let prval () = opt_none{a}(res) in false end // end of [bheap_nil] // end of [case] // end // end of [linheap_delmin] (* ****** ****** *) implement{a} linheap_merge (hp1, hp2) = bheap_bheap_merge (hp1, hp2) // end of [linheap_merge] (* ****** ****** *) implement{a} linheap_free (hp0) = let in // case+ hp0 of | ~bheap_cons (_ | bt, hp) => let val () = btree_free (bt) in linheap_free (hp) end // end of [bheap] | ~bheap_nil () => () // end // end of [linheap_free] (* ****** ****** *) implement{a} linheap_free_ifnil (hp0) = let vtypedef hp = heap (a) in // case+ hp0 of | bheap_cons (_ | _, _) => let prval () = opt_some{hp}(hp0) in true end // end of [bheap_cons] | bheap_nil () => let prval () = __assert (hp0) where { extern praxi __assert {n:int} (hp: !bheap (a, n, 0) >> ptr): void } // end of [prval] prval () = opt_none{hp}(hp0) in false end // end of [bheap_nil] // end // end of [linheap_free_vt] (* ****** ****** *) (* linheap_binomial.dats *) ATS2-Postiats-0.2.6/./libats/DATS/qlist.dats0000664000175000017500000002135512655455557016766 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/qlist.sats" (* ****** ****** *) implement{} qlist_make_nil () = pq where { val ( pf, pfgc | p ) = ptr_alloc () val pq = ptr2ptrlin (p) val () = qstruct_initize (!p) prval pfngc = qstruct_objfize (pf | pq) prval () = mfree_gcngc_v_nullify (pfgc, pfngc) } // end of [qlist_make] implement{} qlist_free_nil {a} (pq) = () where { // val () = __mfree (pq) where { extern fun __mfree : qlist (a, 0) -<0,!wrt> void = "mac#atspre_mfree_gc" } // end of [where] // end of [val] // } (* end of [qlist_free_nil] *) (* ****** ****** *) implement{a} qlist_insert (pq, x) = let val nx = mynode_make_elt (x) in qlist_insert_ngc (pq, nx) end // end of [qlist_insert] implement{a} qstruct_insert (que, x) = let // val pq = addr@(que) val pq2 = ptr2ptrlin (pq) prval pfngc = qstruct_objfize (view@(que) | pq2) val () = qlist_insert (pq2, x) prval pfat = qstruct_unobjfize (pfngc | pq, pq2) prval () = view@(que) := pfat prval () = ptrlin_free (pq2) // in // nothing end // end of [qstruct_insert] (* ****** ****** *) implement{a} qlist_takeout (pq) = let val nx0 = qlist_takeout_ngc (pq) in mynode_getfree_elt (nx0) end // end of [qlist_takeout] implement{a} qlist_takeout_opt (pq) = ( if qlist_isnot_nil (pq) then Some_vt{a}(qlist_takeout(pq)) else None_vt{a}() ) // end of [qlist_takeout_opt] (* ****** ****** *) implement{a} qstruct_takeout (que) = res where { // val pq = addr@(que) val pq2 = ptr2ptrlin (pq) prval pfngc = qstruct_objfize (view@(que) | pq2) val res = qlist_takeout (pq2) prval pfat = qstruct_unobjfize (pfngc | pq, pq2) prval () = view@(que) := pfat prval () = ptrlin_free (pq2) // } // end of [qstruct_takeout] (* ****** ****** *) stadef mykind = $extkind"atslib_qlist" (* ****** ****** *) datavtype qlist_data (a:vt@ype+) = QLIST of (ptr, ptr) (* ****** ****** *) assume qlist_vtype (a:vt0p, n:int) = qlist_data (a) (* ****** ****** *) implement{a} qlist_is_nil {n} (pq) = let // val+@QLIST (nxf, p_nxr) = pq val isnil = (addr@(nxf) = p_nxr) prval () = fold@ (pq) // in $UN.cast{bool(n==0)}(isnil) end // end of [qlist_is_nil] implement{a} qlist_isnot_nil {n} (pq) = let // val+@QLIST (nxf, p_nxr) = pq val isnot = (addr@(nxf) != p_nxr) prval ((*prf*)) = fold@ (pq) // in $UN.cast{bool(n > 0)}(isnot) end // end of [qlist_isnot_nil] (* ****** ****** *) implement{a} qlist_length {n} (pq) = let // implement{a}{env} qlist_foreach$cont (x, env) = true implement qlist_foreach$fwork (x, env) = env := env+1 // var env: int = (0) // val () = $effmask_all (qlist_foreach_env (pq, env)) // in $UN.cast{int(n)}(env) end // end of [qlist_length] (* ****** ****** *) implement{} fprint_qlist$sep (out) = fprint_string (out, "->") // implement{a} fprint_qlist (out, pq) = let // implement{a}{env} qlist_foreach$cont (x, env) = true implement qlist_foreach$fwork (x, env) = let val () = if env > 0 then fprint_qlist$sep (out) val () = fprint_ref (out, x) val () = env := env+1 in end // end of [qlist_foreach$fwork] // var env: int = 0 // in qlist_foreach_env (pq, env) end // end of [fprint_qlist] (* ****** ****** *) implement{a} fprint_qlist_sep (out, pq, sep) = let // implement{} fprint_qlist$sep (out) = fprint_string (out, sep) // in fprint_qlist (out, pq) end // end of [fprint_qlist_sep] (* ****** ****** *) implement {a}{env} qlist_foreach$cont (x, env) = true implement{a} qlist_foreach (pq) = let var env: void = () in qlist_foreach_env (pq, env) end // end of [qlist_foreach] implement {a}{env} qlist_foreach_env (pq, env) = let // fun loop ( p_nxf: ptr, p_nxr: ptr, env: &env ) : void = let in // if p_nxf != p_nxr then let // val xs = $UN.ptr0_get (p_nxf) // end of [val] val+@list_vt_cons (x, xs2) = xs // val test = qlist_foreach$cont (x, env) val () = ( if test then let val () = qlist_foreach$fwork (x, env) in loop (addr@(xs2), p_nxr, env) // end of [val] end // end of [if] ) : void // end of [val] // prval ((*proof*)) = fold@ (xs) prval ((*proof*)) = $UN.cast2void(xs) // in // nothing end else () // end of [if] // end // end of [loop] // val+@QLIST (nxf, p_nxr) = pq val () = loop (addr@(nxf), p_nxr, env) prval ((*proof*)) = fold@ (pq) // in // nothing end // end of [qlist_foreach_env] (* ****** ****** *) implement{ } qstruct_initize {a} (que) = let // val pq = $UN.castvwtp0{qlist(a,0)}(addr@(que)) // end of [val] val+@QLIST (nxf, p_nxr) = pq val () = (p_nxr := addr@ (nxf)) prval () = fold@ (pq) prval () = let extern praxi __assert (que: &qstruct? >> qstruct (a, 0), pq: qlist (a, 0)): void // end of [extern] in __assert (que, pq) end // end of [prval] // in (* DoNothing *) end // end of [qstruct_initize] (* ****** ****** *) extern castfn mynode1_encode {a:vt0p} (xs: List1_vt (INV(a))):<> mynode1 (a) // end of [mynode1_encode] extern castfn mynode1_decode {a:vt0p} (nx: mynode1 (INV(a))):<> List1_vt (a) // end of [mynode1_decode] (* ****** ****** *) implement{} mynode_null {a} () = $UN.castvwtp0 {mynode(a,null)} (list_vt_nil) // end of [mynode_null] (* ****** ****** *) implement{a} mynode_make_elt (x) = $UN.castvwtp0{mynode1(a)}(list_vt_cons{a}{0}(x, _)) // end of [mynode_make_elt] implement{a} mynode_free_elt (nx, res) = () where { // val xs = mynode1_decode (nx) val+~list_vt_cons (x, xs2) = xs val () = res := x prval () = __assert (xs2) where { extern praxi __assert : {vt:vtype} (vt) - void } // end of [where] // end of [prval] // } // end of [mynode_free_elt] implement{a} mynode_getfree_elt (nx) = (x) where { // val xs = mynode1_decode (nx) val+~list_vt_cons (x, xs2) = xs prval () = __assert (xs2) where { extern praxi __assert : {vt:vtype} (vt) - void } // end of [where] // end of [prval] // } // end of [mynode_getfree_elt] (* ****** ****** *) implement{a} qlist_insert_ngc (pq, nx0) = let // val+@QLIST (nxf, p_nxr) = pq // val xs = mynode1_decode (nx0) val+@list_vt_cons (_, xs2) = xs val p2_nxr = addr@ (xs2) prval ((*prf*)) = fold@ (xs) val nx0 = mynode1_encode (xs) // val () = $UN.ptr0_set (p_nxr, nx0) val () = p_nxr := p2_nxr // prval ((*prf*)) = fold@ (pq) // in // nothing end // end of [qlist_insert_ngc] (* ****** ****** *) implement{a} qlist_takeout_ngc (q) = nx0 where { // val+@QLIST (nxf, p_nxr) = q val nx0 = $UN.castvwtp0{mynode1(a)}(nxf) // val xs = mynode1_decode (nx0) val+@list_vt_cons (_, xs2) = xs val p2_nxr = addr@ (xs2) prval ((*prf*)) = fold@ (xs) val nx0 = mynode1_encode (xs) // val () = ( if (p_nxr != p2_nxr) then nxf := $UN.ptr0_get (p2_nxr) else p_nxr := addr@ (nxf) // end of [if] ) : void // end of [val] // prval ((*prf*)) = fold@ (q) // } // end of [qlist_takeout_ngc] (* ****** ****** *) implement{} qlist_takeout_list {a}{n}(pq) = xs where { // val+@QLIST (nxf, p_nxr) = pq val () = $UN.ptr0_set (p_nxr, the_null_ptr) val xs = $UN.castvwtp0{list_vt(a,n)}(nxf) val () = p_nxr := addr@ (nxf) prval ((*prf*)) = fold@ (pq) // } // end of [qlist_takeout_list] implement{} qstruct_takeout_list {a}{n}(que) = let // val pq = addr@(que) val pq2 = ptr2ptrlin (pq) prval pfngc = qstruct_objfize (view@(que) | pq2) val xs = qlist_takeout_list (pq2) prval pfat = qstruct_unobjfize (pfngc | pq, pq2) prval () = view@(que) := pfat prval () = ptrlin_free (pq2) // in xs end // end of [qstruct_takeout_list] (* ****** ****** *) (* end of [qlist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/fundeque_fngtree.dats0000664000175000017500000010756112655455557021164 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional concatenable deque implementation based on finger-trees. ** Please see the JFP paper by Hinze and Paterson on finger-trees for more ** details on this interesting data structure. ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Contributed by Robbie Harwood (rharwood AT cs DOT bu DOT edu) ** ** Time: November, 2010 ** *) (* ****** ****** *) (* ** Ported to ATS2 by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.fundeque_fngtree" #define ATS_DYNLOADFLAG 0 // no dynamic loading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) // staload "libats/SATS/fundeque_fngtree.sats" // (* ****** ****** *) // #include "./SHARE/fundeque.hats" // code reuse // (* ****** ****** *) datatype ftnode ( a:t@ype+, int(*dpth*), int(*size*) ) = (* ftnode *) | FTN1 (a, 0, 1) of (a) // singleton | {d:nat} {n1,n2:nat} FTN2 (a, d+1, n1+n2) of ( ftnode (a, d, n1), ftnode (a, d, n2) ) // end of [FTN2] | {d:nat} {n1,n2,n3:nat} FTN3 (a, d+1, n1+n2+n3) of ( ftnode (a, d, n1), ftnode (a, d, n2), ftnode (a, d, n3) ) // end of [FTN3] // end of [ftnode] // end of [datatype] (* ****** ****** *) datatype ftdigit ( a:t@ype+, int(*dpth*), int(*size*) ) = (* ftdigit *) | {d:nat} {n:nat} FTD1 (a, d, n) of ftnode (a, d, n) | {d:nat} {n1,n2:nat} FTD2 (a, d, n1+n2) of ( ftnode (a, d, n1), ftnode (a, d, n2) ) // end of [FTD2] | {d:nat} {n1,n2,n3:nat} FTD3 (a, d, n1+n2+n3) of ( ftnode (a, d, n1), ftnode (a, d, n2), ftnode (a, d, n3) ) // end of [FTD3] | {d:nat} {n1,n2,n3,n4:nat} FTD4 (a, d, n1+n2+n3+n4) of ( ftnode (a, d, n1), ftnode (a, d, n2), ftnode (a, d, n3), ftnode (a, d, n4) ) // end of [FTD4] // end of [ftdigit] (* ****** ****** *) datatype fngtree ( a:t@ype, int(*d*), int(*n*) ) = (* fngtree *) | {d:nat} FTemp (a, d, 0) of () | {d:nat} {n:int} FTsing (a, d, n) of ftnode (a, d, n) | {d:nat} {npr,nm,nsf:nat} FTdeep (a, d, npr+nm+nsf) of ( ftdigit(a, d, npr), fngtree (a, d+1, nm), ftdigit (a, d, nsf) ) // end of [FTdeep] // end of [fngtree] (* ****** ****** *) // extern fun{a:t0p} fprint_fngtree {d:int}{n:int} (out: FILEref, xt: fngtree (INV(a), d, n)): void // (* ****** ****** *) local fun{a:t0p} fprint_ftnode {d:int}{n:int} ( out: FILEref, xn: ftnode (INV(a), d, n) ) : void = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ xn of | FTN1 (x) => { val () = prstr "FTN1(" val () = fprint_val (out, x) val () = prstr ")" } | FTN2 (xn1, xn2) => { val () = prstr "FTN2(" val () = fprint_ftnode (out, xn1) val () = prstr ", " val () = fprint_ftnode (out, xn2) val () = prstr ")" } | FTN3 (xn1, xn2, xn3) => { val () = prstr "FTN3(" val () = fprint_ftnode (out, xn1) val () = prstr ", " val () = fprint_ftnode (out, xn2) val () = prstr ", " val () = fprint_ftnode (out, xn3) val () = prstr ")" } // end // end of [fprint_ftnode] fun{a:t0p} fprint_ftdigit {d:int}{n:int} ( out: FILEref, xn: ftdigit (INV(a), d, n) ) : void = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ xn of | FTD1 (xn1) => { val () = prstr "FTD1(" val () = fprint_ftnode (out, xn1) val () = prstr ")" } | FTD2 (xn1, xn2) => { val () = prstr "FTD2(" val () = fprint_ftnode (out, xn1) val () = prstr ", " val () = fprint_ftnode (out, xn2) val () = prstr ")" } | FTD3 (xn1, xn2, xn3) => { val () = prstr "FTD2(" val () = fprint_ftnode (out, xn1) val () = prstr ", " val () = fprint_ftnode (out, xn2) val () = prstr ", " val () = fprint_ftnode (out, xn3) val () = prstr ")" } | FTD4 (xn1, xn2, xn3, xn4) => { val () = prstr "FTD2(" val () = fprint_ftnode (out, xn1) val () = prstr ", " val () = fprint_ftnode (out, xn2) val () = prstr ", " val () = fprint_ftnode (out, xn3) val () = prstr ", " val () = fprint_ftnode (out, xn4) val () = prstr ")" } // end // end of [fprint_ftdigit] in (* in of [local] *) implement{a} fprint_fngtree (out, xt) = let // macdef prstr (str) = fprint_string (out, ,(str)) // in // case+ xt of | FTemp () => prstr "FTemp()" | FTsing (xn) => { val () = prstr "FTsing(" val () = fprint_ftnode (out, xn) val () = prstr ")" } | FTdeep (xn1, xt2, xn3) => { val () = prstr "FTdeep(" val () = fprint_ftdigit (out, xn1) val () = prstr ", " val () = fprint_fngtree (out, xt2) val () = prstr ", " val () = fprint_ftdigit (out, xn3) val () = prstr ")" } // end // end of [fprint_fngtree] end // end of [local] (* ****** ****** *) prfun ftnode_prop_szpos {a:t0p} {d:int} {n:int} .. (xn: ftnode (a, d, n)): [n > 0] void = case+ xn of | FTN1 _ => () | FTN2 (xn1, xn2) => { prval () = ftnode_prop_szpos (xn1) prval () = ftnode_prop_szpos (xn2) } // end of [FTN2] | FTN3 (xn1, xn2, xn3) => { prval () = ftnode_prop_szpos (xn1) prval () = ftnode_prop_szpos (xn2) prval () = ftnode_prop_szpos (xn3) } // end of [FTN3] // end of [ftnode_prop_szpos] (* ****** ****** *) prfun ftdigit_prop_szpos {a:t0p} {d:int} {n:int} .<>. (xd: ftdigit (a, d, n)): [n > 0] void = case+ xd of | FTD1 (xn1) => ftnode_prop_szpos (xn1) | FTD2 (xn1, _) => ftnode_prop_szpos (xn1) | FTD3 (xn1, _, _) => ftnode_prop_szpos (xn1) | FTD4 (xn1, _, _, _) => ftnode_prop_szpos (xn1) // end of [ftdigit_prop_szpos] (* ****** ****** *) prfun fngtree_prop1_sznat {a:t0p} {d:int} {n:int} .<>. (xt: fngtree (a, d, n)): [n >= 0] void = case+ xt of | FTemp () => () | FTsing (xn) => ftnode_prop_szpos (xn) | FTdeep (pr, m, sf) => { val () = ftdigit_prop_szpos (pr) and () = ftdigit_prop_szpos (sf) } // end of [FTdeep] // end of [fngtree_prop1_sznat] (* ****** ****** *) fun ftnode_size {a:t0p} {d:int} {n:nat} .. ( xn: ftnode (a, d, n) ) :<> size_t (n) = let #define nsz(x) ftnode_size(x) in case+ xn of | FTN1 _ => g1i2u(1) | FTN2 (xn1, xn2) => let prval () = ftnode_prop_szpos (xn1) prval () = ftnode_prop_szpos (xn2) in nsz (xn1) + nsz (xn2) end // end of [FTN2] | FTN3 (xn1, xn2, xn3) => let prval () = ftnode_prop_szpos (xn1) prval () = ftnode_prop_szpos (xn2) prval () = ftnode_prop_szpos (xn3) in nsz (xn1) + nsz (xn2) + nsz (xn3) end // endof [FTN3] end // end of [ftnode_size] (* ****** ****** *) fun ftdigit_size {a:t0p} {d:int} {n:int} .<>. ( xd: ftdigit (a, d, n) ) :<> size_t (n) = let #define nsz(x) ftnode_size(x) in case+ xd of | FTD1 (xn1) => nsz (xn1) | FTD2 (xn1, xn2) => nsz (xn1) + nsz (xn2) | FTD3 (xn1, xn2, xn3) => nsz (xn1) + nsz (xn2) + nsz (xn3) | FTD4 (xn1, xn2, xn3, xn4) => nsz (xn1) + nsz (xn2) + nsz (xn3) + nsz (xn4) end // end of [ftdigit_size] (* ****** ****** *) fun ftnode2ftdigit {a:t0p} {d:pos} {n:int} .<>. (xn: ftnode (a, d, n)):<> ftdigit (a, d-1, n) = case+ xn of | FTN2 (xn1, xn2) => FTD2 (xn1, xn2) | FTN3 (xn1, xn2, xn3) => FTD3 (xn1, xn2, xn3) // end of [ftnode2ftdigit] (* ****** ****** *) fun ftdigit2fngtree {a:t0p} {d:nat} {n:int} .<>. (xd: ftdigit (a, d, n)):<> fngtree (a, d, n) = case+ xd of | FTD1 (xn1) => FTsing (xn1) | FTD2 (xn1, xn2) => FTdeep (FTD1 (xn1), FTemp(), FTD1 (xn2)) | FTD3 (xn1, xn2, xn3) => FTdeep (FTD2 (xn1, xn2), FTemp(), FTD1 (xn3)) | FTD4 (xn1, xn2, xn3, xn4) => FTdeep (FTD2 (xn1, xn2), FTemp(), FTD2 (xn3, xn4)) // end of [ftdigit2fngtree] (* ****** ****** *) extern fun fngtree_cons {a:t0p}{d:nat}{n1,n2:int} ( xn: ftnode (a, d, n1), xt: fngtree (a, d, n2) ) :<> fngtree (a, d, n1+n2) // end of [fngtree_cons] implement fngtree_cons{a} (xn, xt) = cons (xn, xt) where { // fun cons {d:nat} {n1,n2:int | n2 >= 0} .. ( xn: ftnode (a, d, n1), xt: fngtree (a, d, n2) ) :<> fngtree (a, d, n1+n2) = let prval () = ftnode_prop_szpos (xn) in case+ xt of | FTemp () => FTsing (xn) | FTsing (xn1) => let prval () = ftnode_prop_szpos (xn1) in FTdeep (FTD1(xn), FTemp(), FTD1(xn1)) end // end [FTsing] | FTdeep (pr, m, sf) => (case+ pr of | FTD1 (xn1) => FTdeep (FTD2 (xn, xn1), m, sf) | FTD2 (xn1, xn2) => FTdeep (FTD3 (xn, xn1, xn2), m, sf) | FTD3 (xn1, xn2, xn3) => FTdeep (FTD4 (xn, xn1, xn2, xn3), m, sf) | FTD4 (xn1, xn2, xn3, xn4) => let val pr = FTD2 (xn, xn1) // prval () = ftdigit_prop_szpos (sf) prval () = fngtree_prop1_sznat (m) // val m = cons (FTN3 (xn2, xn3, xn4), m) in FTdeep (pr, m, sf) end // end of [FTD4] ) // end of [FTdeep] end // end of [cons] // prval () = fngtree_prop1_sznat (xt) // } // end of [fngtree_cons] (* ****** ****** *) extern fun fngtree_uncons {a:t0p}{d:nat}{n:pos} ( xt: fngtree (a, d, n), r: &ptr? >> ftnode (a, d, n1) ) : #[n1:nat] fngtree (a, d, n-n1) // end of [fngtree_uncons] implement fngtree_uncons{a} (xt, r) = uncons (xt, r) where { // fun uncons {d:nat}{n:pos} .. ( xt: fngtree (a, d, n) , r: &ptr? >> ftnode (a, d, n1) ) : #[n1:nat | n1 <= n] fngtree (a, d, n-n1) = case+ xt of | FTsing (xn) => let val () = r := xn in FTemp () end // end of [Single] | FTdeep (pr, m, sf) => (case+ pr of | FTD1 (xn) => let val () = r := xn prval () = ftdigit_prop_szpos (pr) prval () = ftdigit_prop_szpos (sf) in case+ m of | FTemp () => ftdigit2fngtree (sf) | FTsing (xn1) => FTdeep (ftnode2ftdigit (xn1), FTemp (), sf) | FTdeep (pr1, m1, sf1) => let var r1: ptr? prval () = ftdigit_prop_szpos (pr1) prval () = fngtree_prop1_sznat (m1) prval () = ftdigit_prop_szpos (sf1) val m = uncons (m, r1) in FTdeep (ftnode2ftdigit (r1), m, sf) end // end of [_] end // end of [FTD1] | FTD2 (xn, xn1) => let val () = r := xn in FTdeep (FTD1 (xn1), m, sf) end // end of [FTD2] | FTD3 (xn, xn1, xn2) => let val () = r := xn in FTdeep (FTD2 (xn1, xn2), m, sf) end // end of [FTD3] | FTD4 (xn, xn1, xn2, xn3) => let val () = r := xn in FTdeep (FTD3 (xn1, xn2, xn3), m, sf) end // end of [FTD4] ) // end of [FTdeep] // end of [uncons] } // end of [fngtree_uncons] (* ****** ****** *) extern fun fngtree_get_atbeg {a:t0p}{d:nat}{n:pos} (xt: fngtree (a, d, n)) :<> [n1:nat] ftnode (a, d, n1) // end of [fngtree_get_atbeg] implement fngtree_get_atbeg (xt) = (case+ xt of | FTsing (xn) => xn | FTdeep (pr, m, sf) => ( case+ pr of | FTD1 (xn) => xn | FTD2 (xn, xn1) => xn | FTD3 (xn, xn1, xn2) => xn | FTD4 (xn, xn1, xn2, xn3) => xn ) // end of [FTdeep] ) // end of [fngtree_get_atbeg] (* ****** ****** *) extern fun fngtree_snoc {a:t0p}{d:nat}{n1,n2:int} ( xt: fngtree (a, d, n2), xn: ftnode (a, d, n1) ) :<> fngtree (a, d, n1+n2) // end of [fngtree_snoc] implement fngtree_snoc{a} (xt, xn) = snoc (xt, xn) where { // fun snoc {d:nat} {n1,n2:int | n2 >= 0} .. ( xt: fngtree (a, d, n2), xn: ftnode (a, d, n1) ) :<> fngtree (a, d, n1+n2) = let prval () = ftnode_prop_szpos (xn) in case+ xt of | FTemp () => FTsing (xn) | FTsing (xn1) => let prval () = ftnode_prop_szpos (xn1) in FTdeep (FTD1(xn1), FTemp(), FTD1(xn)) end // end [FTsing] | FTdeep (pr, m, sf) => (case+ sf of | FTD1 (xn1) => FTdeep (pr, m, FTD2 (xn1, xn)) | FTD2 (xn1, xn2) => FTdeep (pr, m, FTD3 (xn1, xn2, xn)) | FTD3 (xn1, xn2, xn3) => FTdeep (pr, m, FTD4 (xn1, xn2, xn3, xn)) | FTD4 (xn1, xn2, xn3, xn4) => let val sf = FTD2 (xn4, xn) // prval () = ftdigit_prop_szpos (pr) prval () = fngtree_prop1_sznat (m) // val m = snoc (m, FTN3 (xn1, xn2, xn3)) in FTdeep (pr, m, sf) end // end of [FTD4] ) // end of [FTdeep] end // end of [snoc] // prval () = fngtree_prop1_sznat (xt) // } // end of [fngtree_snoc] (* ****** ****** *) extern fun fngtree_unsnoc {a:t0p}{d:nat}{n:pos} ( xt: fngtree (a, d, n), r: &ptr? >> ftnode (a, d, n1) ) : #[n1:nat] fngtree (a, d, n-n1) // end of [fngtree_unsnoc] implement fngtree_unsnoc{a} (xt, r) = unsnoc (xt, r) where { // fun unsnoc {d:nat}{n:pos} .. ( xt: fngtree (a, d, n) , r: &ptr? >> ftnode (a, d, n1) ) : #[n1:nat | n1 <= n] fngtree (a, d, n-n1) = case+ xt of | FTsing (xn) => let val () = r := xn in FTemp () end // end of [Single] | FTdeep (pr, m, sf) => (case+ sf of | FTD1 (xn) => let val () = r := xn prval () = ftdigit_prop_szpos (pr) prval () = ftdigit_prop_szpos (sf) in case+ m of | FTemp () => ftdigit2fngtree (pr) | FTsing (xn1) => FTdeep (pr, FTemp (), ftnode2ftdigit (xn1)) | FTdeep (pr1, m1, sf1) => let var r1: ptr? prval () = ftdigit_prop_szpos (pr1) prval () = fngtree_prop1_sznat (m1) prval () = ftdigit_prop_szpos (sf1) val m = unsnoc (m, r1) in FTdeep (pr, m, ftnode2ftdigit (r1)) end // end of [_] end // end of [FTD1] | FTD2 (xn1, xn) => let val () = r := xn in FTdeep (pr, m, FTD1 (xn1)) end // end of [FTD2] | FTD3 (xn1, xn2, xn) => let val () = r := xn in FTdeep (pr, m, FTD2 (xn1, xn2)) end // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn) => let val () = r := xn in FTdeep (pr, m, FTD3 (xn1, xn2, xn3)) end // end of [FTD4] ) // end of [FTdeep] // end of [unsnoc] } // end of [fngtree_unsnoc] (* ****** ****** *) extern fun fngtree_get_atend {a:t0p}{d:nat}{n:pos} (xt: fngtree (a, d, n)) :<> [n1:nat] ftnode (a, d, n1) // end of [fngtree_get_atend] implement fngtree_get_atend (xt) = (case+ xt of | FTsing (xn) => xn | FTdeep (pr, m, sf) => ( case+ sf of | FTD1 (xn) => xn | FTD2 (xn1, xn) => xn | FTD3 (xn1, xn2, xn) => xn | FTD4 (xn1, xn2, xn3, xn) => xn ) // end of [FTdeep] ) // end of [fngtree_get_atend] (* ****** ****** *) assume deque_type (a:t0p, n:int) = fngtree (a, 0(*d*), n) // end of [deque_type] (* ****** ****** *) primplmnt lemma_deque_param (xs) = fngtree_prop1_sznat (xs) // end of [lemma_deque_param] (* ****** ****** *) implement{} fundeque_nil () = FTemp ((*void*)) (* ****** ****** *) implement{a} fundeque_cons (x0, xs) = fngtree_cons (FTN1{a}(x0), xs) // end of [fundeque_cons] implement{a} fundeque_uncons (xs) = x0 where { var xn: ptr? val () = xs := fngtree_uncons (xs, xn) val+FTN1 (x0) = xn } // end of [fundeque_uncons] (* ****** ****** *) implement{a} fundeque_snoc (xs, xn) = fngtree_snoc (xs, FTN1{a}(xn)) // end of [fundeque_snoc] implement{a} fundeque_unsnoc (xs) = x0 where { var xn: ptr? val () = xs := fngtree_unsnoc (xs, xn) val+FTN1 (x0) = xn } // end of [fundeque_unsnoc] (* ****** ****** *) implement{} fundeque_is_nil (xs) = let in // case+ xs of | FTemp () => true | FTsing (xn) => let prval () = ftnode_prop_szpos (xn) in false end // end of [FTsing] | FTdeep (pr, _, _) => let prval () = ftdigit_prop_szpos (pr) in false end // end of [FTdeep] // end // end of [fundeque_is_nil] implement{} fundeque_is_cons (xs) = let prval () = lemma_deque_param (xs) in ~fundeque_is_nil<> (xs) end // end of [fundeque_is_cons] (* ****** ****** *) implement fundeque_size {a} (xs) = let // fun size {d:int}{n:nat} .. ( xt: fngtree (a, d, n) ) :<> size_t (n) = let in // case+ xt of | FTemp () => g1i2u(0) | FTsing (xn) => ftnode_size (xn) | FTdeep (pr, m, sf) => let prval () = ftdigit_prop_szpos (pr) in ftdigit_size (pr) + size (m) + ftdigit_size (sf) end // end of [FTdeep] // end (* end of [size] *) // prval () = lemma_deque_param (xs) // in size (xs) end // end of [fundeque_size] (* ****** ****** *) implement{a} fundeque_get_atbeg (xs) = let val+FTN1 (x) = fngtree_get_atbeg{a}(xs) in (x) end // end of [fundeque_get_atbeg] implement{a} fundeque_get_atend (xs) = let val+FTN1 (x) = fngtree_get_atend{a}(xs) in (x) end // end of [fundeque_get_atend] (* ****** ****** *) local symintr ++ infix (+) ++ overload ++ with fngtree_cons overload ++ with fngtree_snoc fun ftapp0 {a:t0p} {d:int} {n1,n2:nat} ( xt1: fngtree (a, d, n1) , xt2: fngtree (a, d, n2) ) : fngtree (a, d, n1+n2) = ( case+ (xt1, xt2) of | (FTemp (), _) => xt2 | (_, FTemp ()) => xt1 | (FTsing xn1, _) => xn1 ++ xt2 | (_, FTsing xn2) => xt1 ++ xn2 | (FTdeep (pr1, m1, sf1), FTdeep (pr2, m2, sf2)) => FTdeep (pr1, ftadd0 (m1, sf1, pr2, m2), sf2) ) // end of [ftapp0] and ftadd0 {a:t0p} {d:int} {nm1,nm2:nat} {nsf1,npr2:nat} ( m1: fngtree (a, d+1, nm1) , sf1: ftdigit (a, d, nsf1) , pr2: ftdigit (a, d, npr2) , m2: fngtree (a, d+1, nm2) ) : fngtree (a, d+1, nm1+nsf1+npr2+nm2) = let in // case+ sf1 of | FTD1 (xn1) => (case+ pr2 of | FTD1 (xn_1) => ftapp1 (m1, FTN2 (xn1, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp1 (m1, FTN3 (xn1, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN2 (xn1, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp2 (m1, FTN3 (xn1, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD1] | FTD2 (xn1, xn2) => (case+ pr2 of | FTD1 (xn_1) => ftapp1 (m1, FTN3 (xn1, xn2, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN2 (xn1, xn2), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN3 (xn1, xn2, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp2 (m1, FTN3 (xn1, xn2, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD2] | FTD3 (xn1, xn2, xn3) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN2 (xn1, xn2), FTN2 (xn3, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn4) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn4, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn4, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD4] // end // end of [ftadd0] and ftapp1 {a:t0p} {d:int} {n1,n2:nat} {na:nat} ( xt1: fngtree (a, d, n1) , xna: ftnode (a, d, na) , xt2: fngtree (a, d, n2) ) : fngtree (a, d, n1+na+n2) = ( case+ (xt1, xt2) of | (FTemp (), _) => xna ++ xt2 | (_, FTemp ()) => xt1 ++ xna | (FTsing xn1, _) => xn1 ++ (xna ++ xt2) | (_, FTsing xn2) => (xt1 ++ xna) ++ xn2 | (FTdeep (pr1, m1, sf1), FTdeep (pr2, m2, sf2)) => FTdeep (pr1, ftadd1 (m1, sf1, xna, pr2, m2), sf2) ) // end of [ftapp1] and ftadd1 {a:t0p} {d:int} {nm1,nm2:nat} {nsf1,npr2:nat} {na:nat} ( m1: fngtree (a, d+1, nm1) , sf1: ftdigit (a, d, nsf1) , xna: ftnode (a, d, na) , pr2: ftdigit (a, d, npr2) , m2: fngtree (a, d+1, nm2) ) : fngtree (a, d+1, nm1+nsf1+na+npr2+nm2) = let in // case+ sf1 of | FTD1 (xn1) => (case+ pr2 of | FTD1 (xn_1) => ftapp1 (m1, FTN3 (xn1, xna, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN2 (xn1, xna), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN3 (xn1, xna, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp2 (m1, FTN3 (xn1, xna, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD1] | FTD2 (xn1, xn2) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN2 (xn1, xn2), FTN2 (xna, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xn2, xna), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN3 (xn1, xn2, xna), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD2] | FTD3 (xn1, xn2, xn3) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xna, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xna, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn4) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn4, xna), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD4] // end // end of [ftadd1] and ftapp2 {a:t0p} {d:int} {n1,n2:nat} {na,nb:nat} ( xt1: fngtree (a, d, n1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , xt2: fngtree (a, d, n2) ) : fngtree (a, d, n1+na+nb+n2) = ( case+ (xt1, xt2) of | (FTemp (), _) => xna ++ (xnb ++ xt2) | (_, FTemp ()) => (xt1 ++ xna) ++ xnb | (FTsing xn1, _) => xn1 ++ (xna ++ (xnb ++ xt2)) | (_, FTsing xn2) => ((xt1 ++ xna) ++ xnb) ++ xn2 | (FTdeep (pr1, m1, sf1), FTdeep (pr2, m2, sf2)) => FTdeep (pr1, ftadd2 (m1, sf1, xna, xnb, pr2, m2), sf2) ) // end of [ftapp2] and ftadd2 {a:t0p} {d:int} {nm1,nm2:nat} {nsf1,npr2:nat} {na,nb:nat} ( m1: fngtree (a, d+1, nm1) , sf1: ftdigit (a, d, nsf1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , pr2: ftdigit (a, d, npr2) , m2: fngtree (a, d+1, nm2) ) : fngtree (a, d+1, nm1+nsf1+na+nb+npr2+nm2) = let in // case+ sf1 of | FTD1 (xn1) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN2 (xn1, xna), FTN2 (xnb, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xna, xnb), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp2 (m1, FTN3 (xn1, xna, xnb), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD1] | FTD2 (xn1, xn2) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xna), FTN2 (xnb, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN2 (xnb, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD2] | FTD3 (xn1, xn2, xn3) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xna, xnb), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn4) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xn4, xna), FTN2 (xnb, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD4] // end // end of [ftadd2] and ftapp3 {a:t0p} {d:int} {n1,n2:nat} {na,nb,nc:nat} ( xt1: fngtree (a, d, n1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , xnc: ftnode (a, d, nc) , xt2: fngtree (a, d, n2) ) : fngtree (a, d, n1+na+nb+nc+n2) = ( case+ (xt1, xt2) of | (FTemp (), _) => xna ++ (xnb ++ (xnc ++ xt2)) | (_, FTemp ()) => ((xt1 ++ xna) ++ xnb) ++ xnc | (FTsing xn1, _) => xn1 ++ (xna ++ (xnb ++ (xnc ++ xt2))) | (_, FTsing xn2) => (((xt1 ++ xna) ++ xnb) ++ xnc) ++ xn2 | (FTdeep (pr1, m1, sf1), FTdeep (pr2, m2, sf2)) => FTdeep (pr1, ftadd3 (m1, sf1, xna, xnb, xnc, pr2, m2), sf2) ) // end of [ftapp3] and ftadd3 {a:t0p} {d:int} {nm1,nm2:nat} {nsf1,npr2:nat} {na,nb,nc:nat} ( m1: fngtree (a, d+1, nm1) , sf1: ftdigit (a, d, nsf1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , xnc: ftnode (a, d, nc) , pr2: ftdigit (a, d, npr2) , m2: fngtree (a, d+1, nm2) ) : fngtree (a, d+1, nm1+nsf1+na+nb+nc+npr2+nm2) = let in // case+ sf1 of | FTD1 (xn1) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xna, xnb), FTN2 (xnc, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp2 (m1, FTN3 (xn1, xna, xnb), FTN3 (xnc, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN2 (xnc, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN3 (xnc, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD1] | FTD2 (xn1, xn2) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN2 (xnb, xnc), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD2] | FTD3 (xn1, xn2, xn3) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN2 (xna, xnb), FTN2 (xnc, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn4) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN2 (xnc, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xnc, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN2 (xnc, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xnc, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD4] // end // end of [ftadd3] and ftapp4 {a:t0p} {d:int} {n1,n2:nat} {na,nb,nc,nd:nat} ( xt1: fngtree (a, d, n1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , xnc: ftnode (a, d, nc) , xnd: ftnode (a, d, nd) , xt2: fngtree (a, d, n2) ) : fngtree (a, d, n1+na+nb+nc+nd+n2) = ( case+ (xt1, xt2) of | (FTemp (), _) => xna ++ (xnb ++ (xnc ++ (xnd ++ xt2))) | (_, FTemp ()) => (((xt1 ++ xna) ++ xnb) ++ xnc) ++ xnd | (FTsing xn1, _) => xn1 ++ (xna ++ (xnb ++ (xnc ++ (xnd ++ xt2)))) | (_, FTsing xn2) => ((((xt1 ++ xna) ++ xnb) ++ xnc) ++ xnd) ++ xn2 | (FTdeep (pr1, m1, sf1), FTdeep (pr2, m2, sf2)) => FTdeep (pr1, ftadd4 (m1, sf1, xna, xnb, xnc, xnd, pr2, m2), sf2) ) // end of [ftapp4] and ftadd4 {a:t0p} {d:int} {nm1,nm2:nat} {nsf1,npr2:nat} {na,nb,nc,nd:nat} ( m1: fngtree (a, d+1, nm1) , sf1: ftdigit (a, d, nsf1) , xna: ftnode (a, d, na) , xnb: ftnode (a, d, nb) , xnc: ftnode (a, d, nc) , xnd: ftnode (a, d, nd) , pr2: ftdigit (a, d, npr2) , m2: fngtree (a, d+1, nm2) ) : fngtree (a, d+1, nm1+nsf1+na+nb+nc+nd+npr2+nm2) = let in // case+ sf1 of | FTD1 (xn1) => (case+ pr2 of | FTD1 (xn_1) => ftapp2 (m1, FTN3 (xn1, xna, xnb), FTN3 (xnc, xnd, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN2 (xnc, xnd), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN3 (xnc, xnd, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp3 (m1, FTN3 (xn1, xna, xnb), FTN3 (xnc, xnd, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD1] | FTD2 (xn1, xn2) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN2 (xnb, xnc), FTN2 (xnd, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xnd), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp3 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xnd), FTN3 (xn_1, xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xna), FTN3 (xnb, xnc, xnd), FTN2 (xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD2] | FTD3 (xn1, xn2, xn3) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN2 (xnd, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN3 (xnd, xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN2 (xnd, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xna, xnb, xnc), FTN3 (xnd, xn_1, xn_2), FTN2 (xn_3, xn_4), m2) ) // end of [FTD3] | FTD4 (xn1, xn2, xn3, xn4) => (case+ pr2 of | FTD1 (xn_1) => ftapp3 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xnc, xnd, xn_1), m2) | FTD2 (xn_1, xn_2) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN2 (xnc, xnd), FTN2 (xn_1, xn_2), m2) | FTD3 (xn_1, xn_2, xn_3) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xnc, xnd, xn_1), FTN2 (xn_2, xn_3), m2) | FTD4 (xn_1, xn_2, xn_3, xn_4) => ftapp4 (m1, FTN3 (xn1, xn2, xn3), FTN3 (xn4, xna, xnb), FTN3 (xnc, xnd, xn_1), FTN3 (xn_2, xn_3, xn_4), m2) ) // end of [FTD4] // end // end of [ftadd4] in (* in of [local] *) implement fundeque_append (xs1, xs2) = let // prval () = lemma_deque_param (xs1) prval () = lemma_deque_param (xs2) // in $effmask_all (ftapp0 (xs1, xs2)) end // end of [fundeque_append] end // end of [local] (* ****** ****** *) typedef ftnode (a:t0p, d:int) = [n:int] ftnode (a, d, n) // end of [ftnode] (* ****** ****** *) local extern fun __free (p: ptr): void = "mac#ATS_MFREE" extern fun foreach{a:t0p}{d:nat}{n:nat} ( xt: fngtree (a, d, n), f: ftnode (a, d) - void ) :<> void // end of [foreach] implement foreach{a}{d}{n} (xt, f) = let in // case+ xt of | FTemp () => () | FTsing (xn) => f (xn) | FTdeep (pr, m, sf) => let // prval () = ftdigit_prop_szpos (pr) prval () = ftdigit_prop_szpos (sf) // val ( ) = (case+ pr of | FTD1 (xn1) => f (xn1) | FTD2 (xn1, xn2) => (f (xn1); f (xn2)) | FTD3 (xn1, xn2, xn3) => (f (xn1); f (xn2); f (xn3)) | FTD4 (xn1, xn2, xn3, xn4) => (f (xn1); f (xn2); f (xn3); f (xn4)) ) : void // end of [val] val () = ( case+ m of | FTemp () => () | _ => let val f1 = lam (xn_1: ftnode (a, d+1)): void = let in case+ xn_1 of | FTN2 (xn1, xn2) => (f (xn1); f (xn2)) | FTN3 (xn1, xn2, xn3) => (f (xn1); f (xn2); f (xn3)) end // end of [lam] // end of [val] val () = foreach (m, f1) val () = $effmask_wrt (__free ($UN.cast2ptr(f1))) in // nothing end // end of [_] ) : void // end of [val] val () = (case+ sf of | FTD1 (xn1) => f (xn1) | FTD2 (xn1, xn2) => (f (xn1); f (xn2)) | FTD3 (xn1, xn2, xn3) => (f (xn1); f (xn2); f (xn3)) | FTD4 (xn1, xn2, xn3, xn4) => (f (xn1); f (xn2); f (xn3); f (xn4)) ) : void // end of [val] in // nothing end // end of [FTdeep] end // end of [foreach] in (* in of [local] *) implement{a} fundeque_foreach (xs) = let var env: void = () in fundeque_foreach_env (xs, env) end // end of [fundeque_foreach] implement {a}{env} fundeque_foreach_env (xs, env) = let // typedef ftnode = ftnode (a, 0) // prval () = fngtree_prop1_sznat (xs) // val p_env = addr@ (env) // val f = lam (xn: ftnode): void = let val+FTN1 (x) = xn val ( pf, fpf | p_env ) = $UN.ptr_vtake{env}(p_env) val () = $effmask_all (fundeque_foreach$fwork (x, !p_env)) prval () = fpf (pf) in // nothing end // end of [val] // val () = foreach (xs, f) val () = $effmask_wrt (__free ($UN.cast2ptr(f))) // in // nothing end // end of [fundeque_foreach_env] end // end of [local] (* ****** ****** *) local extern fun __free (p: ptr): void = "mac#ATS_MFREE" extern fun rforeach{a:t0p}{d:nat}{n:nat} ( xt: fngtree (a, d, n), f: (ftnode (a, d)) - void ) :<> void // end of [rforeach] implement rforeach{a}{d}{n} (xt, f) = let in // case+ xt of | FTemp () => () | FTsing (xn) => f (xn) | FTdeep (pr, m, sf) => let // prval () = ftdigit_prop_szpos (pr) prval () = ftdigit_prop_szpos (sf) // val ( ) = (case+ sf of | FTD1 (xn1) => f (xn1) | FTD2 (xn1, xn2) => (f (xn2); f (xn1)) | FTD3 (xn1, xn2, xn3) => (f (xn3); f (xn2); f (xn1)) | FTD4 (xn1, xn2, xn3, xn4) => (f (xn4); f (xn3); f (xn2); f (xn1)) ) : void // end of [val] val () = (case+ m of | FTemp () => () | _ => let val f1 = lam (xn_1: ftnode (a, d+1)): void = let in case+ xn_1 of | FTN2 (xn1, xn2) => (f (xn2); f (xn1)) | FTN3 (xn1, xn2, xn3) => (f (xn3); f (xn2); f (xn1)) end // end of [val] val () = rforeach (m, f1) val () = $effmask_wrt (__free ($UN.cast2ptr(f1))) in // nothing end // end of [_] ) : void // end of [val] val () = (case+ pr of | FTD1 (xn1) => f (xn1) | FTD2 (xn1, xn2) => (f (xn2); f (xn1)) | FTD3 (xn1, xn2, xn3) => (f (xn3); f (xn2); f (xn1)) | FTD4 (xn1, xn2, xn3, xn4) => (f (xn4); f (xn3); f (xn2); f (xn1)) ) : void // end of [val] in // nothing end // end of [FTdeep] // end // end of [rforeach] in (* in of [local] *) implement{a} fundeque_rforeach (xs) = let var env: void = () in fundeque_rforeach_env (xs, env) end // end of [fundeque_rforeach] implement {a}{env} fundeque_rforeach_env (xs, env) = let // typedef ftnode = ftnode (a, 0) // prval () = fngtree_prop1_sznat (xs) // val p_env = addr@ (env) // val f = lam (xn: ftnode): void = let val+FTN1 (x) = xn val ( pf, fpf | p_env ) = $UN.ptr_vtake{env}(p_env) val () = $effmask_all (fundeque_rforeach$fwork (x, !p_env)) prval () = fpf (pf) in // nothing end // end of [val] // val () = rforeach (xs, f) val () = $effmask_wrt (__free ($UN.cast2ptr(f))) // in // nothing end // end of [fundeque_rforeach_env] end // end of [local] (* ****** ****** *) (* end of [fundeque_fngtree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/dllist.dats0000664000175000017500000004353312655455557017127 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2013 *) (* ****** ****** *) // // HX-2013-02: this is a completely new effort // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) staload "libats/SATS/dllist.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) // extern fun{a:vt0p} g2node_make_elt (x: a): g2node1 (a) // extern fun{a:t0p} // [a] is nonlinear g2node_free (nx: g2node1 (INV(a))): void extern fun{a:vt0p} g2node_free_elt (nx: g2node1 (INV(a)), res: &(a?) >> a): void // extern fun{a:vt0p} g2node_getfree_elt (nx: g2node1 (INV(a))): (a) // (* ****** ****** *) // extern castfn dllist_encode : {a:vt0p}{f,r:int} (g2node0 (INV(a))) -<> dllist (a, f, r) extern castfn dllist_decode : {a:vt0p}{f,r:int} (dllist (INV(a), f, r)) -<> g2node0 (a) // extern castfn dllist1_encode : {a:vt0p}{f,r:int | r > 0} (g2node1 (INV(a))) -<> dllist (a, f, r) extern castfn dllist1_decode : {a:vt0p}{f,r:int | r > 0} (dllist (INV(a), f, r)) -<> g2node1 (a) // (* ****** ****** *) implement{} dllist_nil () = dllist_encode (gnode_null ()) implement{a} dllist_sing (x) = dllist_cons (x, dllist_nil ()) (* ****** ****** *) implement{a} dllist_cons (x, xs) = let // val nx = g2node_make_elt (x) in dllist_cons_ngc (nx, xs) // end // end of [dllist_cons] implement{a} dllist_uncons (xs) = let // val nx0 = dllist_uncons_ngc (xs) in g2node_getfree_elt (nx0) // end // end of [dllist_uncons] (* ****** ****** *) implement{a} dllist_snoc (xs, x) = let // val nx = g2node_make_elt (x) in dllist_snoc_ngc (xs, nx) // end // end of [dllist_snoc] implement{a} dllist_unsnoc (xs) = let // val nx0 = dllist_unsnoc_ngc (xs) in g2node_getfree_elt (nx0) // end // end of [dllist_unsnoc] (* ****** ****** *) implement{a} dllist_make_list (xs) = let // fun loop ( nx0: g2node1 (a), xs: List (a) ) : void = let in // case+ xs of | list_cons (x, xs) => let val nx1 = g2node_make_elt (x) // end of [val] val () = gnode_link11 (nx0, nx1) in loop (nx1, xs) end // end of [loop] | list_nil () => let val () = gnode_set_next_null (nx0) in // nothing end // end of [list_nil] // end // end of [loop] // in // case+ xs of | list_cons (x, xs) => let val nx0 = g2node_make_elt (x) val () = $effmask_all (loop (nx0, xs)) in dllist_encode (nx0) end // end of [list_cons] | list_nil () => dllist_nil () // end // end of [dllist_make_list] (* ****** ****** *) implement{} dllist_is_nil {a}{f,r} (xs) = let val nxs = $UN.castvwtp1{g2node0(a)}(xs) in $UN.cast{bool(r==0)}(gnodelst_is_nil (nxs)) end // end of [dllist_is_nil] implement{} dllist_is_cons {a}{f,r} (xs) = let val nxs = $UN.castvwtp1{g2node0(a)}(xs) in $UN.cast{bool(r > 0)}(gnodelst_is_cons (nxs)) end // end of [dllist_is_cons] (* ****** ****** *) (* fun{a:vt0p} dllist_is_atbeg {f,r:int} (xs: !dllist (INV(a), f, r)):<> bool (f==0) // end of [dllist_is_atbeg] *) implement{a} dllist_is_atbeg {f,r} (xs) = let // val nxs = $UN.castvwtp1{g2node0(a)}(xs) val iscons = gnodelst_is_cons (nxs) // val ans = ( if iscons then gnode_is_null (gnode_get_prev (nxs)) else true // end of [if] ) : bool // end of [val] // in $UN.cast{bool(f==0)}(ans) end // end of [dllist_is_atbeg] (* ****** ****** *) (* fun{a:vt0p} dllist_is_atend {f,r:int | r > 0} (xs: !dllist (INV(a), f, r)):<> bool (r==1) // end of [dllist_is_atend] *) implement{a} dllist_is_atend {f,r} (xs) = let // val nxs = $UN.castvwtp1{g2node1(a)}(xs) val ans = gnode_is_null (gnode_get_next (nxs)) // in $UN.cast{bool(r==1)}(ans) end // end of [dllist_is_atend] (* ****** ****** *) implement{a} rdllist_is_atbeg {f,r} (xs) = dllist_is_atend {f,r} (xs) implement{a} rdllist_is_atend {f,r} (xs) = dllist_is_atbeg {f,r} (xs) (* ****** ****** *) implement{a} dllist_getref_elt (xs) = let val nxs = $UN.castvwtp1{g2node1(a)}(xs) in gnode_getref_elt (nxs) // end of [val] end // end of [dllist_getref_elt] (* ****** ****** *) implement{a} dllist_getref_next (xs) = let val nxs = $UN.castvwtp1{g2node1(a)}(xs) in cptr2ptr (gnode_getref_next (nxs)) // end of [val] end // end of [dllist_getref_next] implement{a} dllist_getref_prev (xs) = let val nxs = $UN.castvwtp1{g2node1(a)}(xs) in cptr2ptr (gnode_getref_prev (nxs)) // end of [val] end // end of [dllist_getref_prev] (* ****** ****** *) implement{a} dllist_get_elt (xs) = let val p_elt = dllist_getref_elt (xs) in $UN.cptr_get (p_elt) // end of [val] end // end of [dllist_get_elt] implement{a} dllist_set_elt (xs, x0) = let val p_elt = dllist_getref_elt (xs) in $UN.cptr_set (p_elt, x0) // end of [val] end // end of [dllist_set_elt] (* ****** ****** *) (* fun{a:vt0p} dllist_length {f,r:int} (xs: !dllist (INV(a), f, r)):<> int (r) *) implement{a} dllist_length {f,r} (xs) = let // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in $UN.cast{int(r)}(gnodelst_length (nxs)) end // end of [dllist_length] (* fun{a:vt0p} rdllist_length {f,r:int} (xs: !dllist (INV(a), f, r)):<> int (f) *) implement{a} rdllist_length {f,r} (xs) = let // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in $UN.cast{int(f)}(gnodelst_rlength (nxs)) end // end of [rdllist_length] (* ****** ****** *) (* fun{a:vt0p} dllist_move {f,r:int | r > 1} (xs: dllist (INV(a), f, r)):<> dllist (a, f+1, r-1) *) implement{a} dllist_move (xs) = let val nxs = dllist1_decode (xs) in dllist_encode (gnode_get_next (nxs)) end // end of [dllist_move] (* fun{a:vt0p} dllist_move_all {f,r:int | r > 0} (xs: dllist (INV(a), f, r)):<> dllist (a, f+r-1, 1) *) implement{a} dllist_move_all {f,r} (xs) = let // val nxs = dllist1_decode (xs) val nxs_end = gnodelst_next_all (nxs) // in dllist_encode (nxs_end) end // end of [dllist_move_all] (* ****** ****** *) (* fun{a:vt0p} rdllist_move {f,r:int | f > 0} (xs: dllist (INV(a), f, r)):<> dllist (a, f-1, r+1) *) implement{a} rdllist_move (xs) = let // prval ( ) = lemma2_dllist_param (xs) // val nxs = dllist1_decode (xs) // in dllist_encode (gnode_get_prev (nxs)) end // end of [rdllist_move] (* fun{a:vt0p} rdllist_move_all {f,r:int | r >= 0} (xs: dllist (INV(a), f, r)):<> dllist (a, 0(*front*), f+r) *) implement{a} rdllist_move_all {f,r} (xs) = let // val nxs = dllist_decode (xs) val iscons = gnodelst_is_cons (nxs) val nxs_beg = ( if iscons then $effmask_all (gnodelst_prev_all (nxs)) else nxs ) : g2node0 (a) // end of [val] // in dllist_encode (nxs_beg) end // end of [rdllist_move_all] (* ****** ****** *) (* fun{a:vt0p} dllist_insert_next {f,r:int | r > 0} (xs: dllist (INV(a), f, r), x0: a): dllist (a, f, r+1) *) implement{a} dllist_insert_next (xs, x0) = let val nxs = dllist1_decode (xs) val nx0 = g2node_make_elt (x0) val () = gnode_insert_next (nxs, nx0) in dllist_encode (nxs) end // end of [dllist_insert_next] (* fun{a:vt0p} dllist_insert_prev {f,r:int | r > 0} (xs: dllist (INV(a), f, r), x0: a): dllist (a, f, r+1) *) implement{a} dllist_insert_prev (xs, x0) = let val nxs = dllist1_decode (xs) val nx0 = g2node_make_elt (x0) val () = gnode_insert_prev (nxs, nx0) in dllist_encode (nx0) end // end of [dllist_insert_prev] (* ****** ****** *) (* fun{a:vt0p} dllist_takeout {f,r:int | r > 1} (xs: &dllist (INV(a), f, r) >> dllist (a, f, r-1)): (a) *) implement{a} dllist_takeout (xs) = let val nxs = dllist1_decode (xs) val nxs_prev = gnode_get_prev (nxs) val nxs_next = gnode_get_next (nxs) val nxs_next = $UN.cast{g2node1(a)}(nxs_next) val () = gnode_link01 (nxs_prev, nxs_next) val () = (xs := dllist_encode (nxs_next)) in g2node_getfree_elt (nxs) end // end of [dllist_takeout] (* ****** ****** *) (* fun{a:vt0p} dllist_append {f1,r1:int}{f2,r2:int} ( xs1: dllist (INV(a), f1, r1), xs2: dllist (a, f2, r2) ) : dllist (a, f1, r1+f2+r2) // end of [dllist_append] *) implement{a} dllist_append {f1,r1}{f2,r2} (xs1, xs2) = let // prval () = lemma1_dllist_param (xs1) prval () = lemma1_dllist_param (xs2) // val xs2_beg = rdllist_move_all (xs2) // val iscons1 = dllist_is_cons (xs1) // in // if iscons1 then let val iscons2 = dllist_is_cons (xs2_beg) in if iscons2 then let val nxs1 = $UN.castvwtp1{g2node0(a)}(xs1) val xs1_end = dllist_move_all (xs1) val nxs1_end = dllist1_decode (xs1_end) val nxs2_beg = dllist_decode (xs2_beg) val () = gnode_link10 (nxs1_end, nxs2_beg) in dllist_encode (nxs1) end else let prval () = dllist_free_nil (xs2_beg) in xs1 end // end of [if] end else let prval () = lemma3_dllist_param (xs1) prval () = dllist_free_nil (xs1) in xs2_beg end // end of [if] // end // end of [dllist_append] (* ****** ****** *) (* fun{a:vt0p} rdllist_append {f1,r1:int}{f2,r2:int | r2 > 0} ( xs1: dllist (INV(a), f1, r1), xs2: dllist (a, f2, r2) ) : dllist (a, f1+r1+f2, r2) // end of [rdllist_append] *) implement{a} rdllist_append (xs1, xs2) = let // prval () = lemma1_dllist_param (xs1) prval () = lemma1_dllist_param (xs2) // val iscons1 = dllist_is_cons (xs1) // in // if iscons1 then let val nxs2 = $UN.castvwtp1{g2node1(a)}(xs2) val xs1_end = dllist_move_all (xs1) val xs2_beg = rdllist_move_all (xs2) val nxs1_end = dllist_decode (xs1_end) val nxs2_beg = dllist1_decode (xs2_beg) val () = gnode_link01 (nxs1_end, nxs2_beg) in dllist_encode (nxs2) end else let prval () = lemma3_dllist_param (xs1) prval () = dllist_free_nil (xs1) in xs2 end // end of [if] // end // end of [rdllist_append] (* ****** ****** *) implement{a} dllist_reverse (xs) = let // fun loop ( nxs: g2node0 (a), res: g2node1 (a) ) : g2node1 (a) = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nx0) val () = gnode_link11 (nx0, res) in loop (nxs, nx0) end else res // end of [if] // end // end of [loop] // val iscons = dllist_is_cons (xs) // in // if iscons then let val nxs = dllist1_decode (xs) val nx0 = nxs val nxs = gnode_get_next (nx0) val nxp = gnode_get_prev (nx0) val () = gnode_set_next_null (nx0) val res = $effmask_all (loop (nxs, nx0)) val () = gnode_link01 (nxp, res) in dllist_encode (res) end else (xs) // end of [if] // end // end of [dllist_reverse] (* ****** ****** *) implement{a} dllist_free (xs) = let // fun loop ( nxs: g2node0 (a) ) : void = let // val iscons = gnodelst_is_cons (nxs) // in // if iscons then let val nxs2 = gnode_get_next (nxs) val () = g2node_free (nxs) in loop (nxs2) end else () // end of [if] // end // end of [loop] // val nxs = dllist_decode (xs) // in $effmask_all (loop (nxs)) end // end of [dllist_free] (* ****** ****** *) (* fun{ a:vt0p}{env:vt0p } dllist_foreach_env {f,r:int} (xs: !dllist (INV(a), f, r), env: &env >> _): void *) implement {a}{env} dllist_foreach_env (xs, env) = let // fun loop ( nxs: g2node0 (a), env: &env ) : void = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nxs) val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val test = dllist_foreach$cont (!p_elt, env) in if test then let val () = dllist_foreach$fwork (!p_elt, env) prval () = fpf (pf) in loop (nxs, env) end else let prval () = fpf (pf) in // nothing end // end of [if] end else () // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in loop (nxs, env) end // end of [dllist_foreach_env] (* ****** ****** *) (* fun{ a:vt0p}{env:vt0p } rdllist_foreach_env {f,r:int} (xs: !dllist (INV(a), f, r), env: &env >> _): void *) implement {a}{env} rdllist_foreach_env (xs, env) = let // fun loop ( nxs: g2node1 (a), env: &env ) : void = let val nxs2 = gnode_get_prev (nxs) val iscons = gnodelst_is_cons (nxs2) in // if iscons then let val nx0 = nxs2 val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val test = rdllist_foreach$cont (!p_elt, env) in if test then let val () = rdllist_foreach$fwork (!p_elt, env) prval () = fpf (pf) in loop (nxs2, env) end else let prval () = fpf (pf) in // nothing end // end of [if] end else () // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in if gnodelst_is_cons (nxs) then loop (nxs, env) else () end // end of [rdllist_foreach_env] (* ****** ****** *) implement{} fprint_dllist$sep (out) = fprint_string (out, "->") implement{a} fprint_dllist (out, xs) = let // fun loop ( out: FILEref, nxs: g2node0 (a), i: int ) : void = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nx0) val () = if i > 0 then fprint_dllist$sep (out) // end of [val] val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val () = fprint_ref (out, !p_elt) prval () = fpf (pf) in loop (out, nxs, i+1) end // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in loop (out, nxs, 0) end // end of [fprint_dllist] (* ****** ****** *) implement{} fprint_rdllist$sep (out) = fprint_string (out, "<-") implement{a} fprint_rdllist (out, xs) = let // fun loop ( out: FILEref, nxs: g2node0 (a), i: int ) : void = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_prev (nx0) val () = if i > 0 then fprint_rdllist$sep (out) // end of [val] val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val () = fprint_ref (out, !p_elt) prval () = fpf (pf) in loop (out, nxs, i+1) end // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // val iscons = gnodelst_is_cons (nxs) // in if iscons then loop (out, gnode_get_prev (nxs), 0) else () end // end of [fprint_rdllist] (* ****** ****** *) datavtype dlnode_vtype (a:vt@ype+) = | DLNODE of (a, ptr(*next*), ptr(*prev*)) // end of [dlnode_vtype] (* ****** ****** *) vtypedef dlnode (a:vt0p) = dlnode_vtype (a) (* ****** ****** *) extern praxi dlnode_vfree {a:vt0p} (nx: dlnode (a)): void extern castfn g2node_decode {a:vt0p} (nx: g2node1 (INV(a))):<> dlnode (a) extern castfn g2node_encode {a:vt0p} (nx: dlnode (INV(a))):<> g2node1 (a) (* ****** ****** *) implement{a} g2node_make_elt (x) = let in $UN.castvwtp0{g2node1(a)}(DLNODE{a}(x, _, _)) end // end of [g2node_make_elt] (* ****** ****** *) implement{a} g2node_free (nx) = let val nx = g2node_decode (nx) val~DLNODE (_, _, _) = (nx) in (*nothing*) end // end of [g2node_free] implement{a} g2node_free_elt (nx, res) = let val nx = g2node_decode (nx) val~DLNODE (x, _, _) = (nx); val () = res := x in (*nothing*) end // end of [g2node_free_elt] implement{a} g2node_getfree_elt (nx) = let val nx = g2node_decode (nx) val~DLNODE (x, _, _) = (nx) in x end // end of [g2node_getfree_elt] (* ****** ****** *) implement(a) gnode_getref_elt (nx) = let // val nx = g2node_decode (nx) // val+@DLNODE (elt, _, _) = nx val p_elt = addr@ (elt) prval ((*void*)) = fold@ (nx) prval ((*void*)) = dlnode_vfree (nx) // in $UN.cast{cPtr1(a)}(p_elt) end // end of [gnode_getref_elt] (* ****** ****** *) implement(a) gnode_getref_next (nx) = let // val nx = g2node_decode (nx) // val+@DLNODE (_, next, _) = nx val p_next = addr@ (next) prval ((*void*)) = fold@ (nx) prval ((*void*)) = dlnode_vfree (nx) // in $UN.cast{cPtr1(g2node0(a))}(p_next) end // end of [gnode_getref_next] (* ****** ****** *) implement(a) gnode_getref_prev (nx) = let // val nx = g2node_decode (nx) // val+@DLNODE (_, _, prev) = nx val p_prev = addr@ (prev) prval ((*void*)) = fold@ (nx) prval ((*void*)) = dlnode_vfree (nx) // in $UN.cast{cPtr1(g2node0(a))}(p_prev) end // end of [gnode_getref_prev] (* ****** ****** *) implement{a} dllist_cons_ngc (nx0, xs) = let // val () = gnode_set_prev_null (nx0) val nxs = dllist_decode (xs) val () = gnode_link10 (nx0, nxs) // in dllist_encode (nx0) end // end of [dllist_cons_ngc] implement{a} dllist_uncons_ngc (xs) = let // val nxs = dllist1_decode (xs) val nxs2 = gnode_get_next (nxs) val () = gnode0_set_prev_null (nxs2) val () = xs := dllist_encode (nxs2) // in nxs end // end of [dllist_uncons_ngc] (* ****** ****** *) implement{a} dllist_snoc_ngc (xs, nx0) = let // val () = gnode_set_next_null (nx0) val nxs = dllist_decode (xs) val () = gnode_link01 (nxs, nx0) // in dllist_encode (nx0) end // end of [dllist_snoc_ngc] implement{a} dllist_unsnoc_ngc (xs) = let // val nxs = dllist1_decode (xs) val nxs2 = gnode_get_prev (nxs) val () = gnode0_set_next_null (nxs2) val () = xs := dllist_encode (nxs2) // in nxs end // end of [dllist_unsnoc_ngc] (* ****** ****** *) (* end of [dllist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linmap_randbst.dats0000664000175000017500000003333412655455557020627 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_randbst" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload TIME = "libc/SATS/time.sats" staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) staload "libats/SATS/linmap_randbst.sats" (* ****** ****** *) #include "./SHARE/linmap.hats" // code reuse (* ****** ****** *) stadef mytkind = $extkind"atslib_linmap_randbst" (* ****** ****** *) // // HX: for linear binary search trees // datavtype bstree ( key:t@ype, itm: vt@ype+, int(*size*) ) = | BSTnil ( key, itm, 0 ) of ( // argmentless ) // end of [BSTnil] | {nl,nr:nat} BSTcons ( key, itm, 1+nl+nr ) of ( int (1+nl+nr), key, itm, bstree (key, itm, nl), bstree (key, itm, nr) ) // end of [BSTcons] // end of [bstree] // (* ****** ****** *) vtypedef bstree0 (k:t0p, i:vt0p) = [n:nat] bstree (k, i, n) (* ****** ****** *) assume map_vtype (key:t0p, itm:vt0p) = bstree0 (key, itm) (* ****** ****** *) fun{ key:t0p;itm:vt0p } bstree_size {n:int} .<>. ( t: !bstree (key, INV(itm), n) ) :<> int n = ( case+ t of BSTcons (n, _, _, _, _) => n | BSTnil _ => 0 ) // end of [bstree_size] (* ****** ****** *) implement{ } linmap_nil () = BSTnil () implement{ } linmap_make_nil () = BSTnil () (* ****** ****** *) implement{ } linmap_is_nil (map) = ans where { val ans = ( case+ map of BSTnil _ => true | BSTcons _ => false ) : bool // end of [val] } // end of [linmap_is_nil] implement{ } linmap_isnot_nil (map) = ans where { val ans = ( case+ map of BSTnil _ => false | BSTcons _ => true ) : bool // end of [val] } // end of [linmap_isnot_nil] (* ****** ****** *) implement {key,itm} linmap_size (map) = g1int2uint (bstree_size (map)) (* ****** ****** *) local fun{ key:t0p;itm:t0p } auxfree{n:nat} .. ( t0: bstree (key, INV(itm), n) ) : void = let in // case+ t0 of | ~BSTcons ( _, _, _, tl, tr ) => let val () = auxfree (tl) and () = auxfree (tr) in (*nothing*) end // end of [BSTcons] | ~BSTnil () => () // end // end of [auxfree] in (* in of [local] *) implement {key,itm} linmap_free (map) = auxfree (map) end // end of [local] (* ****** ****** *) fun{ key:t0p;itm:vt0p } bstree_search_ref {n:nat} .. ( t: !bstree (key, INV(itm), n), k0: key ) :<> cPtr0 (itm) = let in // case+ t of | @BSTcons ( _(*sz*), k, x, tl, tr ) => let val sgn = compare_key_key (k0, k) in case+ 0 of | _ when sgn < 0 => let val res = bstree_search_ref (tl, k0) in fold@ (t); res end // end of [_] | _ when sgn > 0 => let val res = bstree_search_ref (tr, k0) in fold@ (t); res end // end of [_] | _ (*sgn = 0*) => let val res = addr@ (x) in fold@ (t); $UN.cast{cPtr1(itm)}(res) end // end of [_] end // end of [BSTcons] | BSTnil () => cptr_null {itm} () // end // end of [bstree_search_ref] (* ****** ****** *) implement {key,itm} linmap_search_ref (map, k0) = bstree_search_ref (map, k0) // end of [linmap_search_ref] (* ****** ****** *) fun{ key:t0p;itm:vt0p } bstree_insert_atroot{n:nat} .. ( t: &bstree (key, INV(itm), n) >> bstree (key, itm, n+1-i), k0: key, x0: &itm >> opt (itm, i>0) ) : #[i:nat2] int (i) = let in // case+ t of | @BSTcons ( n, k, x, tl, tr ) => let val sgn = compare_key_key (k0, k) in if sgn < 0 then let val ans = bstree_insert_atroot (tl, k0, x0) in if ans = 0 then let val tl_ = tl val+ @BSTcons (nl, _, _, tll, tlr) = tl_ // end of [val] val n_ = n; val nll = bstree_size (tll) val () = tl := tlr val () = n := n_ - nll prval () = fold@ (t) val () = tlr := t val () = nl := n_ + 1 prval () = fold@ (tl_) val () = t := tl_ in ans end else let prval () = fold@ (t) in ans // [x0] is alreay in the tree [t] end // end of [if] end else if sgn > 0 then let val ans = bstree_insert_atroot (tr, k0, x0) in if ans = 0 then let val tr_ = tr val+ @BSTcons (nr, _, _, trl, trr) = tr_ // end of [val] val n_ = n val nrr = bstree_size (trr) val () = tr := trl val () = n := n_ - nrr prval () = fold@ (t) val () = trl := t val () = nr := n_ + 1 prval () = fold@ (tr_) val () = t := tr_ in ans end else let prval () = fold@ (t) in ans // [k0] alreay in [t] end // end of [if] end else let (* sgn = 0 *) val x_ = x val () = x := x0 val () = x0 := x_ prval () = fold@ (t) prval () = opt_some{itm}(x0) in 1 // replaced end // end of [if] end (* end of [BSTcons] *) | ~BSTnil () => let val x0_ = x0 val () = t := BSTcons{key,itm}(1, k0, x0_, BSTnil (), BSTnil ()) prval () = opt_none{itm}(x0) in 0 // inserted end // end of [BSTnil] // end // end of [bstree_insert_atroot] fun {key:t0p ;itm:vt0p} bstree_insert_random {n:nat} .. ( t: &bstree (key, INV(itm), n) >> bstree (key, itm, n+1-i), k0: key, x0: &itm >> opt(itm, i>0) ) : #[i:nat2] int (i) = let in // case+ t of | @BSTcons ( n, k, x, tl, tr ) => let val randbit = linmap_randbst_random_m_n (1, n) // end of [val] in if randbit = 0 then let prval () = fold@ (t) in bstree_insert_atroot (t, k0, x0) end else let val sgn = compare_key_key (k0, k) in if sgn < 0 then let val ans = bstree_insert_random (tl, k0, x0) in if ans = 0 then (n := n + 1; fold@ (t); ans) else (fold@ (t); ans) end else if sgn > 0 then let val ans = bstree_insert_random (tr, k0, x0) in if ans = 0 then (n := n + 1; fold@ (t); ans) else (fold@ (t); ans) end else let // sgn = 0 val x_ = x val () = x := x0 val () = x0 := x_ prval () = opt_some {itm} (x0) in fold@ (t); 1 // [k0] is at the root of [t] end // end of [if] end // end of [if] end (* end of [BSTcons] *) | ~BSTnil () => let val x0_ = x0 val () = t := BSTcons{key,itm}(1, k0, x0_, BSTnil (), BSTnil ()) prval () = opt_none {itm} (x0) in 0 // inserted end (* end of [BSTnil] *) // end (* end of [bstree_insert_random] *) (* ****** ****** *) implement {key,itm} linmap_insert ( map, k0, x0, res ) = let val () = res := x0 val i = bstree_insert_random (map, k0, res) in if i > 0 then true else false end // end of [linmap_insert] (* ****** ****** *) fun {key:t0p ;itm:vt0p} bstree_join_random {nl,nr:nat} .. ( tl: bstree (key, INV(itm), nl), tr: bstree (key, itm, nr) ) : bstree (key, itm, nl+nr) = let in // case+ tl of // | @BSTcons ( nl, _, _, tll, tlr ) => ( case+ tr of | @BSTcons ( nr, _, _, trl, trr ) => let val n = nl + nr val randbit = linmap_randbst_random_m_n (nl, nr) // end of [val] in if randbit = 0 then let prval () = fold@ (tr) val () = tlr := bstree_join_random (tlr, tr) val () = nl := n prval () = fold@ (tl) in tl end else let prval () = fold@ tl val () = trl := bstree_join_random (tl, trl) val () = nr := n prval () = fold@ (tr) in tr end // end of [if] end (* end of [BSTcons] *) | ~BSTnil () => let val () = fold@ (tl) in tl end // end of [BSTnil] ) (* end of [BSTcons] *) // | ~BSTnil () => tr // end // end of [bstree_join_random] (* ****** ****** *) fun {key:t0p ;itm:vt0p} bstree_takeout_random {n:nat} .. ( t: &bstree (key, INV(itm), n) >> bstree (key, itm, n-i), k0: key, x0: &(itm?) >> opt (itm, i>0) ) : #[i:nat2 | i <= n] int (i) = let in // case+ t of | @BSTcons {..} {nl,nr} (n, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) in if sgn < 0 then let val ans = bstree_takeout_random (tl, k0, x0) val () = n := n - ans prval () = fold@ (t) in ans end else if sgn > 0 then let val ans = bstree_takeout_random (tr, k0, x0) val () = n := n - ans prval () = fold@ (t) in ans end else let val () = x0 := x prval () = opt_some (x0) val t_new = bstree_join_random (tl, tr) val () = free@ {key,itm} {0,0} (t) val () = t := t_new in 1 (* removed *) end // end of [0] end (* end of [BSTcons] *) | BSTnil () => let prval () = opt_none {itm} (x0) in 0 // not(removed) end // end of [BSTnil] // end // end of [bstree_takeout_random] (* ****** ****** *) implement {key,itm} linmap_takeout (map, k0, res) = let val i = bstree_takeout_random (map, k0, res) in if i > 0 then true else false end // end of [linmap_takeout] (* ****** ****** *) implement {key,itm}{env} linmap_foreach_env (map, env) = let // fun aux {n:nat} .. ( t: !bstree (key, itm, n), env: &(env) >> _ ) : void = let in // case+ t of | @BSTcons ( n, k, x, tl, tr ) => let val () = aux (tl, env) val () = linmap_foreach$fwork (k, x, env) val () = aux (tr, env) prval () = fold@ (t) in // nothing end // end of [BSTcons] | BSTnil ((*void*)) => () // end // end of [aux] // fun aux2 ( t: ptr, env: &(env) >> _ ) : void = let // stadef bst = bstree0 (key, itm) // end of [stadef] val t = $UN.castvwtp0{bst}(t) val () = aux (t, env) val t = $UN.castvwtp0{ptr}(t) // in // nothing end // end of [aux2] // val map = $UN.castvwtp1{ptr}(map) // in aux2 (map, env) end // end of [linmap_foreach_env] (* ****** ****** *) implement {key,itm} linmap_freelin (map) = let // fun aux {n:nat} .. ( t: bstree (key, itm, n) ) : void = let in // case+ t of | @BSTcons ( _, k, x, tl, tr ) => let val () = linmap_freelin$clear (x) val tl = tl and tr = tr val () = free@ {..}{0,0} (t) val () = aux (tl) and () = aux (tr) in // nothing end // end of [BSTcons] | ~BSTnil ((*void*)) => () // end // end of [aux] // in $effmask_all (aux (map)) end // end of [linmap_freelin] (* ****** ****** *) implement {key,itm} linmap_free_ifnil (map) = let // vtypedef map = map (key, itm) // val map2 = __cast (map) where { extern castfn __cast : (!map >> map?) -<> map } // end of [where] // end of [val] // in // case+ map2 of | ~BSTnil () => let prval () = opt_none {map} (map) in false end // end of [BSTnil] | @BSTcons _ => let prval () = fold@ (map2) prval () = __assert (map, map2) where { extern praxi __assert : (!map? >> map, map) - void } // end of [val] prval () = opt_some {map} (map) in true end // end of [BSTcons] // end // end of [linmap_free_ifnil] (* ****** ****** *) implement {key,itm}{ki2} linmap_flistize (map) = let // vtypedef ki = @(key, itm) // fun aux {m,n:nat} .. ( t: bstree (key, itm, n), res: list_vt (ki2, m) ) : list_vt (ki2, m+n) = let in // case+ t of | ~BSTcons ( _, k, x, tl, tr ) => res where { val res = aux (tl, res) val kx2 = linmap_flistize$fopr (k, x) val res = list_vt_cons{ki2}(kx2, res) val res = aux (tr, res) } // end of [BSTcons] | ~BSTnil ((*void*)) => res // end // end of [aux] // val res = aux (map, list_vt_nil ()) // in list_vt_reverse (res) end // end of [linmap_flistize] (* ****** ****** *) (* implement {key,itm} linmap_listize1 (map) = let // vtypedef ki = @(key, itm) // fun aux {m,n:nat} .. ( t0: !bstree (key, itm, n), res: list_vt (ki, m) ) : list_vt (ki, m+n) = let in // case+ t0 of | @BSTcons ( _, k, x, tl, tr ) => res where { val res = aux (tl, res) val res = list_vt_cons{ki}((k, x), res) val res = aux (tr, res) prval ((*void*)) = fold@ (t0) } // end of [BSTcons] | BSTnil () => (res) // end // end of [aux] // val res = aux (map, list_vt_nil ()) // in list_vt_reverse (res) end // end of [linmap_listize1] *) (* ****** ****** *) implement{} linmap_randbst_initize () = ( $STDLIB.srand48 ($UN.cast{lint}($TIME.time_get())) ) // end of [linmap_randbst_initize] (* ****** ****** *) implement{} linmap_randbst_random_m_n (m, n) = let val r = $STDLIB.drand48 () in if g0i2f (m+n) * r <= g0i2f (m) then 0 else 1 end // end of [linmap_random_m_n] (* ****** ****** *) (* end of [linmap_randbst.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gvector.dats0000664000175000017500000001236212655455557017301 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gvector.sats" (* ****** ****** *) implement{a} gvector_getref_at (V, d, i) = let val p = $UN.cast2Ptr1(ptr_add (addr@(V), i*d)) in $UN.ptr2cptr{a}(p) end // end of [gvector_getref_at] (* ****** ****** *) implement{} fprint_gvector$sep (out) = fprint_string (out, ", ") // end of [fprint_gvector$sep] (* ****** ****** *) implement{a} fprint_gvector (out, V, n, d) = let // typedef tenv = int implement gvector_foreach$fwork (x, env) = let val i = env val () = if i > 0 then fprint_gvector$sep<> (out) val () = env := i + 1 in fprint_ref (out, x) end // end of [gvector_foreach$fwork] // var env: tenv = 0 val _(*n*) = gvector_foreach_env (V, n, d, env) // in // nothing end // end of [fprint_gvector] (* ****** ****** *) implement {a}(*tmp*) gvector_copyto {n}{d1,d2} (V1, V2, n, d1, d2) = let // prval ( ) = __initize (V2) where { extern praxi __initize (&GVT(a?, n, d2) >> GVT(a, n, d2)): void } (* end of [where] *) // end of [prval] // implement {a1,a2}{env} gvector_foreach2$cont (x, y, env) = true implement(env) gvector_foreach2$fwork (x, y, env) = y := x // val _(*n*) = gvector_foreach2 (V1, V2, n, d1, d2) // in // nothing end // end of [gvector_copyto] (* ****** ****** *) implement{a} gvector_exchange (V1, V2, n, d1, d2) = let // implement {a1,a2}{env} gvector_foreach2$cont (x, y, env) = true // implement(env) gvector_foreach2$fwork (x, y, env) = let val t = x in x := y; y := t end // val _(*n*) = gvector_foreach2 (V1, V2, n, d1, d2) // in // nothing end // end of [gvector_exchange] (* ****** ****** *) implement{a}{env} gvector_foreach$cont (x, env) = true (* implement{a}{env} gvector_foreach$fwork (x, env) = ((*void*)) *) implement{a} gvector_foreach (V, n, d) = let var env: void = () in gvector_foreach_env (V, n, d, env) end // end of [gvector_foreach] implement {a}{env} gvector_foreach_env {n}{d}(V, n, d, env) = let // fun loop {i:nat | i <= n} ( p: ptr, i: int i, env: &env >> _ ) : natLte(n) = let in // if i > 0 then let val p = g1ofg0(p) val (pf, fpf | p) = $UN.ptr_vtake{a}(p) val cont = gvector_foreach$cont (!p, env) prval () = fpf (pf) in if cont then let val (pf, fpf | p) = $UN.ptr_vtake{a}(p) val () = gvector_foreach$fwork (!p, env) prval () = fpf (pf) in loop (ptr_add (p, d), pred(i), env) end else i // end of [if] end else (0) // end of [if] // end // end of [loop] // prval ( ) = lemma_gvector_param (V) val i = loop (addr@(V), n, env) // in (n - i) end // end of [gvector_foreach_env] (* ****** ****** *) implement{a,b}{env} gvector_foreach2$cont (x, y, env) = true implement{a,b} gvector_foreach2 ( V1, V2, n, d1, d2 ) = let var env: void = () in gvector_foreach2_env (V1, V2, n, d1, d2, env) end // end of [gvector_foreach2] implement {a,b}{env} gvector_foreach2_env {n}{d1,d2}(V1, V2, n, d1, d2, env) = let // fun loop {i:nat | i <= n} ( p1: ptr, p2: ptr, i: int i, env: &env >> _ ) : natLte(n) = let in // if i > 0 then let val p1 = g1ofg0(p1) val p2 = g1ofg0(p2) val (pf1, fpf1 | p1) = $UN.ptr_vtake{a}(p1) val (pf2, fpf2 | p2) = $UN.ptr_vtake{b}(p2) val cont = gvector_foreach2$cont (!p1, !p2, env) prval () = fpf1 (pf1) and () = fpf2 (pf2) in if cont then let val (pf1, fpf1 | p1) = $UN.ptr_vtake{a}(p1) val (pf2, fpf2 | p2) = $UN.ptr_vtake{b}(p2) val () = gvector_foreach2$fwork (!p1, !p2, env) prval () = fpf1 (pf1) and () = fpf2 (pf2) in loop (ptr_add (p1, d1), ptr_add (p2, d2), pred(i), env) end else i // end of [if] end else (0) // end of [if] // end // end of [loop] // prval ( ) = lemma_gvector_param (V1) val i = loop (addr@(V1), addr@(V2), n, env) // in (n - i) end // end of [gvector_foreach2_env] (* ****** ****** *) (* end of [gvector.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gmatrix.dats0000664000175000017500000001363612655455557017310 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gvector.sats" staload "libats/SATS/gmatrix.sats" staload "libats/SATS/gmatrix_col.sats" staload "libats/SATS/gmatrix_row.sats" (* ****** ****** *) // implement{} fprint_gmatrix$sep1 (out) = fprint (out, ", ") implement{} fprint_gmatrix$sep2 (out) = fprint (out, "; ") // implement{a} fprint_gmatrix {mo}{m,n}{ld} (out, M, mo, m0, n0, ld) = let // implement fprint_gvector$sep<> (out) = fprint_gmatrix$sep1 (out) // fun loop_row {l:addr}{m:nat}.. ( pf: !GMR(a, l, m, n, ld) | p: ptr l, m: int m ) : void = ( if m > 0 then let // val ( ) = ( if m < m0 then fprint_gmatrix$sep2 (out) ) (* end of [val] *) // prval (pf1, pf2) = gmatrow_v_uncons0 (pf) val () = fprint_gvector (out, !p, n0, 1) val ( ) = loop_row (pf2 | ptr_add (p, ld), pred(m)) prval () = pf := gmatrow_v_cons0 (pf1, pf2) // in // nothing end else () // end of [if] ) // fun loop_col {l:addr}{m:nat}.. ( pf: !GMC(a, l, m, n, ld) | p: ptr l, m: int m ) : void = ( if m > 0 then let // val ( ) = ( if m < m0 then fprint_gmatrix$sep2 (out) ) (* end of [val] *) // prval (pf1, pf2) = gmatcol_v_uncons0 (pf) val () = fprint_gvector (out, !p, n0, ld) val () = loop_col (pf2 | ptr_succ (p), pred(m)) prval () = pf := gmatcol_v_cons0 (pf1, pf2) // in // nothing end else () // end of [if] ) // prval () = lemma_gmatrix_param (M) // in // case+ mo of | MORDrow () => loop_row (view@M | addr@M, m0) | MORDcol () => loop_col (view@M | addr@M, m0) // end // end of [fprint_gmatrix] (* ****** ****** *) implement{a} fprint_gmatrix_sep (out, M, mo, m, n, ld, sep1, sep2) = let // implement fprint_gmatrix$sep1<> (out) = fprint (out, sep1) implement fprint_gmatrix$sep2<> (out) = fprint (out, sep2) // in fprint_gmatrix (out, M, mo, m, n, ld) end // end of [fprint_gmatrix_sep] (* ****** ****** *) implement {a}(*tmp*) gmatrix_iforeach (M, mo, m, n, ld) = let var env: void = () in gmatrix_iforeach_env (M, mo, m, n, ld, env) end // end of [gmatrix_iforeach] (* ****** ****** *) implement {a}{env} gmatrix_iforeach_env (M, mo, m, n, ld, env) = let // in // case mo of | MORDrow () => let var i: int = 0 and j: int = 0 var p_i: ptr = addr@(M) var p_ij: ptr = the_null_ptr in for (i := 0; i < m; i := i+1) { val () = p_ij := p_i val ( ) = for (j := 0; j < n; j := j+1) { val (pf, fpf | p) = $UN.ptr0_vtake (p_ij) val () = gmatrix_iforeach$fwork (i, j, !p, env) prval () = fpf (pf) val () = p_ij := ptr_succ (p) } val () = p_i := ptr_add (p_i, ld) } end // end of [MORDrow] | MORDcol () => let var i: int = 0 and j: int = 0 var p_j: ptr = addr@(M) var p_ij: ptr = the_null_ptr in for (j := 0; j < n; j := j+1) { val () = p_ij := p_j val ( ) = for (i := 0; i < m; i := i+1) { val (pf, fpf | p) = $UN.ptr0_vtake (p_ij) val () = gmatrix_iforeach$fwork (i, j, !p, env) prval () = fpf (pf) val () = p_ij := ptr_succ (p) } val () = p_j := ptr_add (p_j, ld) } end // end of [MORDcol] // end // end of [gmatrix_iforeach_env] (* ****** ****** *) implement{a} gmatrix_imake$fopr (i, j, x) = x implement{a} gmatrix_imake_arrayptr {mo}{m,n}{ld} (M, mo, m, n, ld) = let // prval ( ) = lemma_gmatrix_param (M) prval () = mul_gte_gte_gte{m,n}() val (pf, pfgc | p) = array_ptr_alloc (i2sz(m*n)) // typedef tenv = ptr // implement gmatrix_iforeach$fwork (i, j, x, env) = let val x2 = gmatrix_imake$fopr (i, j, x) val p_ij = env val () = env := ptr_succ (p_ij) val () = $UN.ptr0_set (p_ij, x2) in // nothing end // end of [gmatrix_iforeach$fwork] // var env: tenv = p val () = gmatrix_iforeach_env (M, mo, m, n, ld, env) // in $UN.castvwtp0{arrayptr(a,m*n)}((pf, pfgc | p)) end // end of [gmatrix_imake_arrayptr] implement{a} gmatrix_imake_matrixptr {mo}{m,n}{ld} (M, mo, m, n, ld) = let // prval ( ) = lemma_gmatrix_param (M) val (pf, pfgc | p) = matrix_ptr_alloc (i2sz(m), i2sz(n)) prval () = matrix2gmatrow (!p) // implement(env) gmatrix_iforeach$fwork (i, j, x, env) = let val x2 = gmatrix_imake$fopr (i, j, x) val p_ij = ptr_add (p, i*n+j) val () = $UN.ptr0_set (p_ij, x2) in // nothing end // end of [gmatrix_iforeach$fwork] // val () = gmatrix_iforeach (M, mo, m, n, ld) // prval () = gmatrow2matrix (!p) // in $UN.castvwtp0{matrixptr(a,m,n)}((pf, pfgc | p)) end // end of [gmatrix_imake_matrixptr] (* ****** ****** *) (* end of [gmatrix.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funmap_list.dats0000664000175000017500000001106012655455557020143 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funmap_list.sats" (* ****** ****** *) // #include "./SHARE/funmap.hats" // code reuse // (* ****** ****** *) assume map_type (key:t0p, itm: vt0p) = List0 @(key, itm) // end of [map_type] (* ****** ****** *) implement{} funmap_nil () = list_nil () implement{} funmap_make_nil () = list_nil () (* ****** ****** *) implement{} funmap_is_nil (map) = case+ map of list_nil _ => true | list_cons _ => false // end of [funmap_is_nil] implement{} funmap_isnot_nil (map) = case+ map of list_nil _ => false | list_cons _ => true // end of [funmap_isnot_nil] (* ****** ****** *) implement {key,itm} funmap_size (map) = g1int2uint (list_length (map)) // end of [funmap_size] (* ****** ****** *) implement {key,itm} funmap_search (map, k0, res) = let // fun search ( kxs: List @(key, itm) , k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) = let in // case+ kxs of | list_cons (kx, kxs) => let val iseq = equal_key_key (k0, kx.0) // end of [val] in if iseq then let val () = res := kx.1 prval () = opt_some {itm} (res) in true end else search (kxs, k0, res) // end of [if] end // end of [list_cons] | list_nil () => let prval () = opt_none {itm} (res) in false end // end of [list_nil] // end // end of [search] // in // $effmask_all (search (map, k0, res)) // end // end of [funmap_search] (* ****** ****** *) implement {key,itm} funmap_insert ( map, k0, x0, res ) = let // typedef ki = @(key, itm) // val ans = funmap_takeout(map, k0, res) val () = (map := list_cons{ki}( @(k0, x0), map )) // end of [val] // in ans end // end of [funmap_insert] (* ****** ****** *) implement {key,itm} funmap_insert_any (map, k0, x0) = let // typedef ki = @(key, itm) // in map := list_cons{ki}( @(k0, x0), map ) end // end of [funmap_insert_any] (* ****** ****** *) implement {key,itm} funmap_takeout (map, k0, res) = let // typedef map = map (key, itm) // fun loop ( map: &map >> _ , kxs1: List0 @(key, itm) , kxs2: List0_vt @(key, itm) , k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) = let // typedef ki = @(key, itm) // in // case+ kxs1 of | list_cons (kx, kxs1) => let val iseq = equal_key_key (k0, kx.0) in if iseq then let val () = res := kx.1 prval () = opt_some {itm} (res) val () = map := list_reverse_append1_vt (kxs2, kxs1) in true end else loop (map, kxs1, list_vt_cons{ki}(kx, kxs2), k0, res) // end of [if] end // end of [list_cons] | list_nil () => let val () = list_vt_free (kxs2) prval () = opt_none {itm} (res) in false end // end of [list_nil] // end // end of [loop] // in loop (map, map, list_vt_nil (), k0, res) end // end of [funmap_takeout] (* ****** ****** *) implement {key,itm}{env} funmap_foreach_env (map, env) = let // vtypedef ki = @(key, itm) // implement{ki}{env} list_foreach$cont (kx, env) = true implement list_foreach$fwork (kx, env) = funmap_foreach$fwork (kx.0, kx.1, env) // in list_foreach_env (map, env) end // end of [funmap_foreach_env] (* ****** ****** *) (* end of [funmap_list.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gnode.dats0000664000175000017500000001662512655455557016732 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: December, 2012 // (* ****** ****** *) // // HX: generic nodes: singly-linked, doubly-linked, ... // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) implement{ } gnode_null {tk}{a}() = $UN.cast{gnode(tk,a,null)}(nullp) // end of [gnode_null] (* ****** ****** *) implement{ } gnode_is_null {tk}{a}{l}(nx) = let val p = $UN.cast{ptr}(nx) in $UN.cast{bool(l==null)}(p = nullp) end // end of [gnode_is_null] implement{} gnode_isnot_null {tk}{a}{l}(nx) = let val p = $UN.cast{ptr}(nx) in $UN.cast{bool(l > null)}(p > nullp) end // end of [gnode_isnot_null] (* ****** ****** *) implement {tk}{elt} gnode_get_elt (nx) = let val p = gnode_getref_elt (nx) in $UN.cptr_get (p) end // end of [gnode_get_elt] implement {tk}{elt} gnode_set_elt (nx, x0) = let val p = gnode_getref_elt (nx) in $UN.cptr_set (p, x0) end // end of [gnode_set_elt] (* ****** ****** *) implement {tk}{elt} gnode_get_next (nx) = nx2 where { val p = gnode_getref_next (nx) val nx2 = $UN.cptr_get (p) } // end of [gnode_get_next] implement {tk}{elt} gnode_set_next (nx, nx2) = () where { val p = gnode_getref_next (nx) val () = $UN.cptr_set (p, nx2) } // end of [gnode_set_next] implement {tk}{elt} gnode0_set_next (nx, nx2) = let in if gnode_isnot_null (nx) then gnode_set_next (nx, nx2) end // end of [gnode0_set_next] (* ****** ****** *) implement {tk}{elt} gnode_set_next_null (nx) = gnode_set_next (nx, gnode_null ()) // end of [gnode_set_next_null] implement {tk}{elt} gnode0_set_next_null (nx) = let in if gnode_isnot_null (nx) then gnode_set_next_null (nx) end // end of [gnode0_set_next_null] (* ****** ****** *) implement {tk}{elt} gnode_get_prev (nx) = nx2 where { val p = gnode_getref_prev (nx) val nx2 = $UN.cptr_get (p) } // end of [gnode_get_prev] implement {tk}{elt} gnode_set_prev (nx, nx2) = () where { val p = gnode_getref_prev (nx) val () = $UN.cptr_set (p, nx2) } // end of [gnode_set_prev] implement {tk}{elt} gnode0_set_prev (nx, nx2) = let in if gnode_isnot_null (nx) then gnode_set_prev (nx, nx2) end // end of [gnode0_set_prev] (* ****** ****** *) implement {tk}{elt} gnode_set_prev_null (nx) = gnode_set_prev (nx, gnode_null ()) // end of [gnode_set_prev_null] implement {tk}{elt} gnode0_set_prev_null (nx) = let in if gnode_isnot_null (nx) then gnode_set_prev_null (nx) end // end of [gnode0_set_prev_null] (* ****** ****** *) (* implement {tk}{elt} gnode_link = gnode_link11 *) implement {tk}{elt} gnode_link00 (nx1, nx2) = let val () = gnode0_set_next (nx1, nx2) val () = gnode0_set_prev (nx2, nx1) in // nothing end // end of [gnode_link00] implement {tk}{elt} gnode_link01 (nx1, nx2) = let val () = gnode0_set_next (nx1, nx2) val () = gnode_set_prev (nx2, nx1) in // nothing end // end of [gnode_link01] implement {tk}{elt} gnode_link10 (nx1, nx2) = let val () = gnode_set_next (nx1, nx2) val () = gnode0_set_prev (nx2, nx1) // end of [val] in // nothing end // end of [gnode_link10] implement {tk}{elt} gnode_link11 (nx1, nx2) = let val () = gnode_set_next (nx1, nx2) val () = gnode_set_prev (nx2, nx1) in // nothing end // end of [gnode_link11] (* ****** ****** *) implement {tk}{elt} gnode_insert_next (nx1, nx2) = let val nx1_next = gnode_get_next (nx1) val () = gnode_link11 (nx1, nx2) val () = gnode_link10 (nx2, nx1_next) in // nothing end // end of [gnode_insert_next] implement {tk}{elt} gnode_insert_prev (nx1, nx2) = let val nx1_prev = gnode_get_prev (nx1) val () = gnode_link11 (nx2, nx1) val () = gnode_link01 (nx1_prev, nx2) in // nothing end // end of [gnode_insert_prev] (* ****** ****** *) implement {tk}{elt} gnode_remove (nx) = nx where { // val nx_prev = gnode_get_prev (nx) val nx_next = gnode_get_next (nx) // val () = gnode_link00 (nx_prev, nx_next) // } // end of [gnode_remove] implement {tk}{elt} gnode_remove_next (nx) = let // val nx_next = gnode_get_next (nx) val isnot = gnode_isnot_null (nx_next) val () = if isnot then let val nx_next2 = gnode_get_next (nx_next) in gnode_link10 (nx, nx_next2) end // end of [of] // end of [val] // in nx_next end // end of [gnode_remove_next] implement {tk}{elt} gnode_remove_prev (nx) = let // val nx_prev = gnode_get_prev (nx) val isnot = gnode_isnot_null (nx_prev) val () = if isnot then let val nx_prev2 = gnode_get_prev (nx_prev) in gnode_link01 (nx_prev2, nx) end // end of [of] // end of [val] // in nx_prev end // end of [gnode_remove_prev] (* ****** ****** *) implement {tk}{elt} gnodelst_length (nxs) = let // typedef gnode0 = gnode0 (tk, elt) // fun loop ( nxs: gnode0, len: intGte(0) ) : intGte(0) = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nxs = gnode_get_next (nxs) in loop (nxs, succ (len)) end else (len) // end of [if] // end // end of [loop] // in $effmask_all (loop (nxs, 0)) end // end of [gnodelst_length] (* ****** ****** *) implement {tk}{elt} gnodelst_rlength (nxs) = let // typedef gnode1 = gnode1 (tk, elt) // fun loop ( nxs: gnode1, len: intGte(0) ) : intGte(0) = let val nxs2 = gnode_get_prev (nxs) val iscons = gnodelst_is_cons (nxs2) in if iscons then loop (nxs2, succ (len)) else len end // end of [loop] // val iscons = gnodelst_is_cons (nxs) // in if iscons then $effmask_all (loop (nxs, 0)) else 0 end // end of [gnodelst_rlength] (* ****** ****** *) implement {tk}{elt} gnodelst_next_all (nxs) = let // fun loop ( nxs: gnode1 (tk, elt) ) : gnode1 (tk, elt) = let val nxs_next = gnode_get_next (nxs) in if gnodelst_is_cons (nxs_next) then loop (nxs_next) else nxs end // end of [loop] // in $effmask_all (loop (nxs)) end // end of [gnodelst_next_all] implement {tk}{elt} gnodelst_prev_all (nxs) = let // fun loop ( nxs: gnode1 (tk, elt) ) : gnode1 (tk, elt) = let val nxs_prev = gnode_get_prev (nxs) in if gnodelst_is_cons (nxs_prev) then loop (nxs_prev) else nxs end // end of [loop] // in $effmask_all (loop (nxs)) end // end of [gnodelst_prev_all] (* ****** ****** *) (* end of [gnode.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gmatrix_row.dats0000664000175000017500000001630512655455557020173 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gvector.sats" staload "libats/SATS/gmatrix.sats" staload "libats/SATS/gmatrix_row.sats" (* ****** ****** *) implement{a} gmatrow_get_at (M, ld, i, j) = let // val pij = gmatrow_getref_at (M, ld, i, j) in $UN.cptr_get (pij) // end // end of [gmatrow_get_at] implement{a} gmatrow_set_at (M, ld, i, j, x) = let // val pij = gmatrow_getref_at (M, ld, i, j) in $UN.cptr_set (pij, x) // end // end of [gmatrow_set_at] (* ****** ****** *) implement{a} gmatrow_getref_at (M, ld, i, j) = let // val p = $UN.cast2Ptr1(ptr_add (addr@M, i*ld+j)) // in $UN.ptr2cptr{a}(p) end // end of [gmatrow_getref_at] (* ****** ****** *) implement{a} gmatrow_getref_col_at {m,n}{ld}(M, ld, j) = let // val pcol = $UN.cast2Ptr1(ptr_add (addr@M, j)) // in $UN.ptr2cptr{GVT(a,m,ld)}(pcol) end // end of [gmatrow_getref_col_at] implement{a} gmatrow_getref_row_at {m,n}{ld}(M, ld, i) = let // val prow = $UN.cast2Ptr1(ptr_add (addr@M, i*ld)) // in $UN.ptr2cptr{GVT(a,n,1(*d*))}(prow) end // end of [gmatrow_getref_row_at] (* ****** ****** *) implement{a} gmatrow_interchange_row {m,n}{ld} ( M, n, ld, i1, i2 ) = let in // if i1 != i2 then let // val cp1 = gmatrow_getref_row_at (M, ld, i1) val cp2 = gmatrow_getref_row_at (M, ld, i2) // val (pf1, fpf1 | p1) = $UN.cptr_vtake (cp1) val (pf2, fpf2 | p2) = $UN.cptr_vtake (cp2) // val () = gvector_exchange (!p1, !p2, n, 1, 1) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end else () // end of [if] // end (* end of [gmatrow_interchange_row] *) (* ****** ****** *) implement{a} gmatrow_interchange_col {m,n}{ld} ( M, m, ld, j1, j2 ) = let in // if j1 != j2 then let // val cp1 = gmatrow_getref_col_at (M, ld, j1) val cp2 = gmatrow_getref_col_at (M, ld, j2) // val (pf1, fpf1 | p1) = $UN.cptr_vtake (cp1) val (pf2, fpf2 | p2) = $UN.cptr_vtake (cp2) // val () = gvector_exchange (!p1, !p2, m, ld, ld) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end else () // end of [if] // end (* end of [gmatrow_interchange_col] *) (* ****** ****** *) implement {a}(*tmp*) gmatrow_copyto {m,n}{ldx,ldy} ( X2, Y2, m, n, ldx, ldy ) = let // prval ( ) = __initize (Y2) where { extern praxi __initize (&GMR(a?, m, n, ldy) >> GMR(a, m, n, ldy)): void } (* end of [where] *) // end of [prval] // implement(env) gmatrow_foreachrow2$fwork (X, Y, n, env) = let prval () = gvector_uninitize (Y) in gvector_copyto (X, Y, n, 1, 1) end // end of [gmatrow_foreachrow2$fwork] // val () = gmatrow_foreachrow2 (X2, Y2, m, n, ldx, ldy) // in // nothing end // end of [gmatrow_copyto] (* ****** ****** *) implement {a}(*tmp*) gmatrow_transpto {m,n}{ldx,ldy} ( X2, Y2, m, n, ldx, ldy ) = let typedef tenv = ptr implement gmatrow_foreachrow$fwork {n} (X, n, env) = () where { // typedef tYcol = gvector(a,n,ldy) // val pY = env val () = env := ptr_succ (env) // val (pf, fpf | pY) = $UN.ptr_vtake{tYcol}(pY) // prval ( ) = gvector_uninitize{a}(!pY) val () = gvector_copyto (X, !pY, n, 1, ldy) // prval ((*void*)) = fpf (pf) // } // end of [gmatrow_foreachrow$fwork] // var env: ptr = addr@Y2 val () = gmatrow_foreachrow_env (X2, m, n, ldx, env) // prval () = gmatrix_initize{a}(Y2) // in // nothing end // end of [gmatrow_transpto] (* ****** ****** *) implement{a} gmatrow_ptr_split_2x2 (pf | p, ld, i, j) = let // val i_ld = i * ld val p01 = ptr_add (p, j ) val p10 = ptr_add (p, i_ld ) val p11 = ptr_add (p, i_ld+j) prval (pf00, pf01, pf10, pf11) = gmatrow_v_split_2x2 (pf, i, j) // in (pf00, pf01, pf10, pf11, gmatrow_v_unsplit_2x2 | p01, p10, p11) end // end of [gmatrow_ptr_split_2x2] (* ****** ****** *) implement {a}(*tmp*) gmatrow_foreachrow (M, m, n, ld) = let var env: void = () in gmatrow_foreachrow_env (M, m, n, ld, env) end // end of [gmatrix_foreachrow] (* ****** ****** *) implement {a}{env} gmatrow_foreachrow_env {m,n}{ld} (M, m, n, ld, env) = let fun loop {l:addr}{m:nat} .. ( pfM: !GMR(a, l, m, n, ld) | p: ptr l, m: int m, env: &env ) : void = let in // if m > 0 then let // prval (pfM1, pfM2) = gmatrow_v_uncons0 (pfM) val () = gmatrow_foreachrow$fwork (!p, n, env) val () = loop (pfM2 | ptr_add (p, ld), pred(m), env) prval ((*void*)) = pfM := gmatrow_v_cons0 (pfM1, pfM2) // in // nothing end else let // (* prval () = (pfM := gmatrow_v_renil0 {a,a} (pfM)) *) // in // nothing end // end of [if] // end // end of [loop] // prval () = lemma_gmatrow_param (M) // in loop (view@M | addr@M, m, env) end // end of [gmatrow_foreachrow_env] (* ****** ****** *) implement {a1,a2} gmatrow_foreachrow2 (A, B, m, n, ld1, ld2) = let var env: void = () in gmatrow_foreachrow2_env (A, B, m, n, ld1, ld2, env) end // end of [gmatrix_foreachrow2] implement {a1,a2}{env} gmatrow_foreachrow2_env {m,n}{lda,ldb} ( A, B, m, n, lda, ldb, env ) = let // fun loop {l1,l2:addr}{m:nat} .. ( pfA: !GMR(a1, l1, m, n, lda) , pfB: !GMR(a2, l2, m, n, ldb) | p1: ptr l1, p2: ptr l2, m: int m, env: &env ) : void = let in // if m > 0 then let // prval (pfA1, pfA2) = gmatrow_v_uncons0 (pfA) prval (pfB1, pfB2) = gmatrow_v_uncons0 (pfB) // val () = gmatrow_foreachrow2$fwork (!p1, !p2, n, env) // val () = loop ( pfA2, pfB2 | ptr_add (p1, lda), ptr_add (p2, ldb), pred(m), env ) (* end of [val] *) // prval () = pfA := gmatrow_v_cons0 (pfA1, pfA2) prval () = pfB := gmatrow_v_cons0 (pfB1, pfB2) // in // nothing end else let // (* prval () = (pfA := gmatrow_v_renil0 {a,a} (pfA)) prval () = (pfB := gmatrow_v_renil0 {a,a} (pfB)) *) // in // nothing end // end of [if] // end // end of [loop] // prval () = lemma_gmatrow_param (A) prval () = lemma_gmatrow_param (B) // in loop (view@A, view@B | addr@A, addr@B, m, env) end // end of [gmatrow_foreachrow2] (* ****** ****** *) (* end of [gmatrix_row.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funset_avltree.dats0000664000175000017500000004614012655455557020657 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funset_avltree" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funset_avltree.sats" (* ****** ****** *) // #include "./SHARE/funset.hats" // code reuse // (* ****** ****** *) // // HX: maximal height difference of two siblings // #define HTDF 1 #define HTDF1 (HTDF+1) #define HTDF_1 (HTDF-1) // (* ****** ****** *) datatype avltree ( a:t@ype+, int(*height*) ) = | {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} B (a, 1+max(hl,hr)) of (int (1+max(hl,hr)), a, avltree (a, hl), avltree (a, hr)) | E (a, 0) of ((*void*)) // end of [avltree] typedef avltree_inc (a:t0p, h:int) = [h1:nat | h <= h1; h1 <= h+1] avltree (a, h1) // end of [avltree_inc] // end of [typedef] typedef avltree_dec (a:t0p, h:int) = [h1:nat | h1 <= h; h <= h1+1] avltree (a, h1) // end of [avltree_dec] // end of [typedef] (* ****** ****** *) assume set_type (a:t@ype) = [h:nat] avltree (a, h) (* ****** ****** *) implement{} funset_nil () = E () implement{} funset_make_nil () = E () (* ****** ****** *) implement{a} funset_sing (x) = B{a}(1, x, E, E) implement{a} funset_make_sing (x) = B{a}(1, x, E, E) (* ****** ****** *) implement {a}(*tmp*) funset_size (xs) = aux (xs) where { // fun aux {h:nat} .. (t: avltree (a, h)):<> size_t = ( case+ t of | B (_, _, tl, tr) => succ(aux (tl) + aux (tr)) | E ((*void*)) => i2sz(0) ) (* end of [aux] *) // } // end of [funset_size] (* ****** ****** *) implement{} funset_is_nil (xs) = ( case+ xs of B _ => false | E () => true ) implement{} funset_isnot_nil (xs) = ( case+ xs of B _ => true | E () => false ) (* ****** ****** *) implement{a} funset_is_member (xs, x0) = aux (xs) where { // fun aux {h:nat} .. (t: avltree (a, h)):<> bool = let in // case+ t of | B (_, x, tl, tr) => let val sgn = compare_elt_elt (x0, x) in if sgn < 0 then aux (tl) else (if sgn > 0 then aux (tr) else true) // end of [if] end // end of [B] | E ((*void*)) => false // end // end of [aux] // } // end of [funset_is_member] (* ****** ****** *) macdef avlht (t) = ( case+ ,(t) of B (h, _, _, _) => h | E ((*void*)) => 0 ) // end of [avlht] (* ****** ****** *) fun{a:t0p} avlmax{h:pos} .. (t: avltree (a, h)):<> a = let // val+B{..}{hl,hr}(h, x, tl, tr) = t // in // case+ tr of B _ => avlmax (tr) | E () => x // end // end of [avlmax] (* ****** ****** *) fun{a:t0p} avlmin{h:pos} .. (t: avltree (a, h)):<> a = let // val+B{..}{hl,hr}(h, x, tl, tr) = t // in // case+ tl of B _ => avlmin (tl) | E () => x // end // end of [avlmin] (* ****** ****** *) (* ** left rotation for restoring height invariant *) fn{a:t0p} avltree_lrotate {hl,hr:nat | hl+HTDF1 == hr} ( x: a , hl : int hl , tl: avltree (a, hl) , hr : int hr , tr: avltree (a, hr) ) :<> avltree_inc (a, hr) = let val+B{..}{hrl,hrr}(_, xr, trl, trr) = tr val hrl = avlht(trl) : int hrl and hrr = avlht(trr) : int hrr in // if hrl <= hrr+HTDF_1 then let val hrl1 = hrl + 1 in B{a}(1+max(hrl1,hrr), xr, B{a}(hrl1, x, tl, trl), trr) end else let // [hrl=hrr+2]: deep rotation val+B{..}{hrll,hrlr}(_(*hrl*), xrl, trll, trlr) = trl val hrll = avlht(trll) : int hrll and hrlr = avlht(trlr) : int hrlr in B{a}(hr, xrl, B{a}(1+max(hl,hrll), x, tl, trll), B{a}(1+max(hrlr,hrr), xr, trlr, trr)) end // end of [if] // end // end of [avltree_lrotate] (* ****** ****** *) (* ** right rotation for restoring height invariant *) fn{a:t0p} avltree_rrotate {hl,hr:nat | hl == hr+HTDF1} ( x: a , hl: int hl , tl: avltree (a, hl) , hr: int hr , tr: avltree (a, hr) ) :<> avltree_inc (a, hl) = let val+B{..}{hll,hlr}(_(*hl*), xl, tll, tlr) = tl val hll = avlht(tll) : int hll and hlr = avlht(tlr) : int hlr in // if hll+HTDF_1 >= hlr then let val hlr1 = hlr + 1 in B{a}(1+max(hll,hlr1), xl, tll, B{a}(hlr1, x, tlr, tr)) end else let val+B{..}{hlrl,hlrr}(_(*hlr*), xlr, tlrl, tlrr) = tlr val hlrl = avlht(tlrl) : int hlrl and hlrr = avlht(tlrr) : int hlrr in B{a}(hl, xlr, B{a}(1+max(hll,hlrl), xl, tll, tlrl), B{a}(1+max(hlrr,hr), x, tlrr, tr)) end // end of [if] // end // end of [avltree_rrotate] (* ****** ****** *) implement{a} funset_insert (xs, x0) = found where { // fun insert {h:nat} .. ( t: avltree (a, h), found: &bool? >> bool ) : avltree_inc (a, h) = let in // case+ t of | B {..}{hl,hr} (h, x, tl, tr) => let val sgn = compare_elt_elt (x0, x) in if sgn < 0 then let val [hl:int] tl = insert (tl, found) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hl-hr <= HTDF then B{a}(1+max(hl,hr), x, tl, tr) else avltree_rrotate (x, hl, tl, hr, tr) // end of [if] end else if sgn > 0 then let val [hr:int] tr = insert (tr, found) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hr-hl <= HTDF then B{a}(1+max(hl, hr), x, tl, tr) else avltree_lrotate (x, hl, tl, hr, tr) // end of [if] end else let (* [k0] already exists *) val () = found := true in B{a}(h, x0, tl, tr) end // end of [if] end // end of [B] | E ((*void*)) => let // [x0] is not in [xs] val () = found := false in B{a}(1, x0, E(), E()) end // end of [E] end // end of [insert] // var found: bool // uninitialized val () = (xs := insert (xs, found)) // } // end of [funset_insert] (* ****** ****** *) fun{a:t0p} avlmaxout{h:pos} .. ( t: avltree (a, h), x0: &a? >> a ) : avltree_dec (a, h) = let // val+B{..}{hl,hr}(h, x, tl, tr) = t // in // case+ tr of | B _ => let val [hr:int] tr = avlmaxout (tr, x0) val hl = avlht(tl) : int(hl) and hr = avlht(tr) : int(hr) in if hl-hr <= HTDF then B{a}(1+max(hl,hr), x, tl, tr) else avltree_rrotate (x, hl, tl, hr, tr) // end of [if] end // end of [B] | E () => (x0 := x; tl) // end // end of [avlmaxout] (* ****** ****** *) fun{a:t0p} avlminout{h:pos} .. ( t: avltree (a, h), x0: &a? >> a ) : avltree_dec (a, h) = let // val+B{..}{hl,hr}(h, x, tl, tr) = t // in // case+ tl of | B _ => let val [hl:int] tl = avlminout (tl, x0) val hl = avlht(tl) : int(hl) and hr = avlht(tr) : int(hr) in if hr-hl <= HTDF then B{a}(1+max(hl,hr), x, tl, tr) else avltree_lrotate (x, hl, tl, hr, tr) // end of [if] end // end of [B] | E () => (x0 := x; tr) // end // end of [avlminout] (* ****** ****** *) (* ** left join: height(tl) >= height(tr) *) fun{a:t0p} avltree_ljoin {hl,hr:nat | hl >= hr} .. ( x: a, tl: avltree (a, hl), tr: avltree (a, hr) ) :<> avltree_inc (a, hl) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in // if hl >= hr + HTDF1 then let val+B{..}{hll, hlr}(_, xl, tll, tlr) = tl val [hlr:int] tlr = avltree_ljoin (x, tlr, tr) val hll = avlht(tll) : int hll and hlr = avlht(tlr) : int hlr in if hlr <= hll + HTDF then B{a}(max(hll,hlr)+1, xl, tll, tlr) else avltree_lrotate (xl, hll, tll, hlr, tlr) // end of [if] end else B{a}(hl+1, x, tl, tr) // end of [if] // end // end of [avltree_ljoin] (* ****** ****** *) (* ** right join: height(tl) <= height(tr) *) fun{a:t0p} avltree_rjoin {hl,hr:nat | hl <= hr} .
. ( x: a, tl: avltree (a, hl), tr: avltree (a, hr) ) :<> avltree_inc (a, hr) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in // if hr >= hl + HTDF1 then let val+B{..}{hrl,hrr}(_, xr, trl, trr) = tr val [hrl:int] trl = avltree_rjoin
(x, tl, trl) val hrl = avlht(trl) : int hrl and hrr = avlht(trr) : int hrr in if hrl <= hrr + HTDF then B{a}(max(hrl,hrr)+1, xr, trl, trr) else avltree_rrotate (xr, hrl, trl, hrr, trr) // end of [if] end else B{a}(hr+1, x, tl, tr) // end of [if] // end // end of [avltree_rjoin] (* ****** ****** *) fn{a:t0p} avltree_join3 {hl,hr:nat} ( x: a, tl: avltree (a, hl), tr: avltree (a, hr) ) :<> [ h:int | hl <= h; hr <= h; h <= max(hl,hr)+1 ] avltree (a, h) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hl >= hr then avltree_ljoin (x, tl, tr) else avltree_rjoin (x, tl, tr) // end of [if] end // end of [avltree_join3] (* ****** ****** *) fn{a:t0p} avltree_join2 {hl,hr:nat} ( tl: avltree (a, hl), tr: avltree (a, hr) ) :<> [h:nat | h <= max(hl,hr)+1] avltree (a, h) = ( case+ (tl, tr) of | (E (), _) => tr | (_, E ()) => tl | (_, _) =>> let var xmin: a // uninitialized val tr = $effmask_wrt (avlminout (tr, xmin)) in avltree_join3 (xmin, tl, tr) end // end of [_, _] ) // end of [avltree_join2] (* ****** ****** *) fun{a:t@ype} avltree_split_at {h:nat} .. ( t: avltree (a, h), x0: a , tl0: &ptr? >> avltree (a, hl) , tr0: &ptr? >> avltree (a, hr) ) : #[i,hl,hr:nat | i <= 1; hl <= h; hr <= h] int (i) = ( case+ t of | B (_, x, tl, tr) => let val sgn = compare_elt_elt (x0, x) in if sgn < 0 then let val i = avltree_split_at (tl, x0, tl0, tr0) in tr0 := avltree_join3 (x, tr0, tr); i end else if sgn > 0 then let val i = avltree_split_at (tr, x0, tl0, tr0) in tl0 := avltree_join3 (x, tl, tl0); i end else ( tl0 := tl; tr0 := tr; 1 // [x] is found in [t] ) // end of [if] end // end of [B] | E ((*void*)) => (tl0 := E (); tr0 := E (); 0) ) // end of [avltree_split_at] (* ****** ****** *) implement{a} funset_remove (xs, x0) = let // fun remove{h:nat} .. ( t: avltree (a, h), found: &bool? >> bool ) : avltree_dec (a, h) = let in // case+ t of | B {..}{hl,hr} (h, x, tl, tr) => let val sgn = compare_elt_elt (x0, x) in case+ 0 of | _ when sgn < 0 => let val [hl:int] tl = remove (tl, found) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hr-hl <= HTDF then B{a}(1+max(hl,hr), x, tl, tr) else avltree_lrotate (x, hl, tl, hr, tr) // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val [hr:int] tr = remove (tr, found) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hl-hr <= HTDF then B{a}(1+max(hl,hr), x, tl, tr) else avltree_rrotate (x, hl, tl, hr, tr) // end of [if] end // end of [sgn > 0] | _ (*sgn = 0*) => let val () = found := true in case+ tr of | B _ => let var xmin: a? // uninitialized val [hr:int] tr = avlminout (tr, xmin) val hl = avlht(tl) : int (hl) and hr = avlht(tr) : int (hr) in if hl-hr <= HTDF then B{a}(1+max(hl,hr), xmin, tl, tr) else avltree_rrotate (xmin, hl, tl, hr, tr) // end of [if] end // end of [B] | E _ => tl end // end of [sgn = 0] end // end of [B] | E ((*void*)) => let val () = found := false in E () end (* end of [E] *) // end // end of [remove] // var found: bool val () = (xs := remove (xs, found)) // in found end // end of [funset_remove] (* ****** ****** *) implement{a} funset_getmax (xs, x0) = let in // case+ xs of | B _ => let val () = x0 := avlmax (xs) prval () = opt_some{a}(x0) in true end // end of [B] | E _ => let prval () = opt_none{a}(x0) in false end // end of [E] // end // end of [funset_getmax] (* ****** ****** *) implement{a} funset_getmin (xs, x0) = let in // case+ xs of | B _ => let val () = x0 := avlmin (xs) prval () = opt_some{a}(x0) in true end // end of [B] | E _ => let prval () = opt_none{a}(x0) in false end // end of [E] // end // end of [funset_getmin] (* ****** ****** *) implement{a} funset_takeoutmax (xs, x0) = let in // case+ xs of | B _ => let val ( ) = xs := avlmaxout (xs, x0) prval ((*void*)) = opt_some{a}(x0) in true end // end of [B] | E _ => let prval () = opt_none{a}(x0) in false end // end of [E] // end // end of [funset_takeoutmax] (* ****** ****** *) implement{a} funset_takeoutmin (xs, x0) = let in // case+ xs of | B _ => let val ( ) = xs := avlminout (xs, x0) prval ((*void*)) = opt_some{a}(x0) in true end // end of [B] | E _ => let prval () = opt_none{a}(x0) in false end // end of [E] // end // end of [funset_takeoutmin] (* ****** ****** *) implement {a}(*tmp*) funset_union (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1) , t2: avltree (a, h2) ) : [h:nat] avltree (a, h) = ( case+ (t1, t2) of | (E (), _) => t2 | (_, E ()) => t1 | (_, _) =>> let val+B (_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) val t12l = aux (t1l, t2l0) and t12r = aux (t1r, t2r0) in avltree_join3 (x1, t12l, t12r) end // end of [_, _] ) // end of [aux] // [aux] is a keyword // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_union] (* ****** ****** *) implement {a}(*tmp*) funset_intersect (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : [h:nat] avltree (a, h) = let in // case+ (t1, t2) of | (E (), _) => E () | (_, E ()) => E () | (_, _) =>> let val+B (_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) val t12l = aux (t1l, t2l0) and t12r = aux (t1r, t2r0) in if i = 0 then avltree_join2 (t12l, t12r) else avltree_join3 (x1, t12l, t12r) // end of [if] end // end of [_, _] end // end // end of [aux] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_intersect] (* ****** ****** *) implement {a}(*tmp*) funset_differ (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : [h:nat] avltree (a, h) = let in // case+ (t1, t2) of | (E (), _) => E () | (_, E ()) => t1 | (_, _) =>> let val+B (_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) val t12l = aux (t1l, t2l0) and t12r = aux (t1r, t2r0) in if i > 0 then avltree_join2 (t12l, t12r) else avltree_join3 (x1, t12l, t12r) // end of [if] end // end of [_, _] // end // end of [aux] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_differ] (* ****** ****** *) implement {a}(*tmp*) funset_symdiff (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : [h:nat] avltree (a, h) = let in // case+ (t1, t2) of | (E (), _) => t2 | (_, E ()) => t1 | (_, _) =>> let val+B (_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) val t12l = aux (t1l, t2l0) and t12r = aux (t1r, t2r0) in if i > 0 then avltree_join2 (t12l, t12r) else avltree_join3 (x1, t12l, t12r) // end of [if] end // end of [_, _] // end // end of [aux] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_symdiff] (* ****** ****** *) implement{a} funset_equal (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : bool = let in // case+ (t1, t2) of | (E _, E _) => true | (E _, B _) => false | (B _, E _) => false | (_, _) =>> let val+B(_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) in if i > 0 then (if aux (t1l, t2l0) then aux (t1r, t2r0) else false) else false // end of [if] end // end of [_, _] // end // end of [aux] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_equal] (* ****** ****** *) implement{a} funset_compare (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : Sgn = let in // case+ (t1, t2) of | (E _, E _) => 0 | (E _, B _) => ~1 | (B _, E _) => 1 | (_, _) =>> let val+B(_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) in if i = 0 then let val sgn_r = aux (t1r, t2r0) in if sgn_r >= 0 then 1 else ~1 end else let val sgn_r = aux (t1r, t2r0) in if sgn_r = 0 then aux (t1l, t2l0) else sgn_r end (* end of [if] *) end // end of [_, _] // end // end of [aux] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_compare] (* ****** ****** *) implement{a} funset_is_subset (t1, t2) = let // fun aux {h1,h2:nat} .

. ( t1: avltree (a, h1), t2: avltree (a, h2) ) : bool = let in // case+ (t1, t2) of | (E (), _) => true | (_, E ()) => false | (_, _) =>> let val+B(_, x1, t1l, t1r) = t1 var t2l0: ptr and t2r0: ptr val i = avltree_split_at (t2, x1, t2l0, t2r0) in if i > 0 then (if aux (t1l, t2l0) then aux (t1r, t2r0) else false) else false // end of [if] end // end of [_, _] // end // end of [test] // in // $effmask_wrt (aux (t1, t2)) // end // end of [funset_is_subset] (* ****** ****** *) implement {a}{env} funset_foreach_env (xs, env) = let // val p_env = addr@ (env) // fun foreach {h:nat} .. ( t: avltree (a, h), p_env: ptr ) : void = let in // case+ t of | B (_, x, tl, tr) => let // val () = foreach (tl, p_env) // val ( pf, fpf | p_env ) = $UN.ptr_vtake (p_env) val () = funset_foreach$fwork (x, !p_env) prval () = fpf (pf) // val () = foreach (tr, p_env) // in // nothing end // end of [B] | E ((*void*)) => () // end // end of [foreach] // in foreach (xs, p_env) end // end of [funset_foreach_env] (* ****** ****** *) implement {a}(*tmp*) funset_listize (xs) = let // fun aux {h:nat} .. ( t: avltree (a, h), res: List0_vt(a) ) :<> List0_vt(a) = let in // case+ t of | B (_, x, tl, tr) => let val res = aux (tr, res) val res = list_vt_cons{a}(x, res) val res = aux (tl, res) in res end // end of [B] | E ((*void*)) => res // end // end of [aux] // in aux (xs, list_vt_nil) end // end of [funset_listize] (* ****** ****** *) implement{a} funset_avltree_height (xs) = avlht (xs) (* ****** ****** *) (* end of [funset_avltree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/stringbuf.dats0000664000175000017500000003775012655455557017643 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.stringbuf" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) // staload _ = "prelude/DATS/integer.dats" // staload _ = "prelude/DATS/array.dats" staload _ = "prelude/DATS/arrayptr.dats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STDIO = "libc/SATS/stdio.sats" (* ****** ****** *) staload "libats/SATS/stringbuf.sats" (* ****** ****** *) extern fun memcpy (ptr, ptr, size_t): ptr = "mac#atslib_stringbuf_memcpy" extern fun memmove (ptr, ptr, size_t): ptr = "mac#atslib_stringbuf_memmove" (* ****** ****** *) // // HX: // recapacitizing policy // 0: manual // 1: automatic doubling // implement {}(*tmp*) stringbuf$recapacitize () = 1 // default policy // (* ****** ****** *) // datavtype stringbuf = {m:pos} STRINGBUF of (arrayptr(char, m+1), ptr(*cur*), size_t(m)) // (* ****** ****** *) assume stringbuf_vtype = stringbuf (* ****** ****** *) implement {}(*tmp*) stringbuf_make_nil (cap) = (sbf) where { // prval [m:int] EQINT() = g1uint_get_index (cap) // val A = arrayptr_make_uninitized (succ(cap)) // val p_A = ptrcast (A) // val sbf = STRINGBUF ($UN.castvwtp0{arrayptr(char,m+1)}(A), p_A, cap) // } // end of [stringbuf_make_cap] (* ****** ****** *) implement {}(*tmp*) stringbuf_free (sbf) = let val+~STRINGBUF (A, _, _) = sbf in arrayptr_free (A) end // end of [stringbuf_free] (* ****** ****** *) implement {}(*tmp*) stringbuf_getfree_strptr (sbf) = let // val+~STRINGBUF(A, p, _) = sbf val () = $UN.ptr0_set(p, '\000') // in $UN.castvwtp0{Strptr1}(A) end // end of [stringbuf_getfree_strptr] (* ****** ****** *) implement {}(*tmp*) stringbuf_getfree_strnptr (sbf, n0) = let // val+~STRINGBUF(A, p, _) = sbf val () = $UN.ptr0_set(p, '\000') val [n:int] n = $UN.cast{sizeGte(0)}(p - ptrcast(A)) val ((*void*)) = n0 := n // in $UN.castvwtp0{strnptr(n)}(A) end // end of [stringbuf_getfree_strnptr] (* ****** ****** *) implement {}(*tmp*) stringbuf_get_size (sbf) = let // val+STRINGBUF(A, p, _) = sbf // in $UN.cast{size_t}(p - ptrcast(A)) end // end of [stringbuf_get_size] implement {}(*tmp*) stringbuf_get_capacity (sbf) = let val+STRINGBUF (_, _, cap) = sbf in cap end // end of [stringbuf_get_capacity] (* ****** ****** *) implement {}(*tmp*) stringbuf_get_bufptr (sbf) = let val+STRINGBUF (A, _, _) = sbf in $UN.castvwtp1{Ptr1}(A) end // end of [stringbuf_get_bufptr] implement {}(*tmp*) stringbuf_get_strptr (sbf) = let val+STRINGBUF (A, p, _) = sbf val () = $UN.ptr0_set (p, '\000') in $UN.castvwtp1{vStrptr1}(A) end // end of [stringbuf_get_strptr] (* ****** ****** *) implement {}(*tmp*) stringbuf_takeout_strbuf (sbf, n0) = let // val+STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast (A) val n = $UN.cast{size_t}(p1 - p0) val [n:int] n = g1ofg0_uint (n) val ((*void*)) = n0 := n // prval (pf, fpf) = __assert (p0) where { extern praxi __assert {l:addr} (ptr(l)): vtakeout0(bytes_v (l, n)) } (* end of [prval] *) // in (pf, fpf | p0) end // end of [stringbuf_takeout_strbuf] (* ****** ****** *) implement {}(*tmp*) stringbuf_reset_capacity (sbf, m2) = let // val n = stringbuf_get_size (sbf) // prval [m2:int] EQINT () = g1uint_get_index (m2) // in // if m2 >= n then let // val+@STRINGBUF(A, p, m) = sbf // val A2 = arrayptr_make_uninitized (succ(m2)) val p_A2 = ptrcast(A2) val _(*ptr*) = memcpy (p_A2, ptrcast(A), n) // val () = arrayptr_free (A) // val () = m := m2 val () = p := add_ptr_bsz (p_A2, n) val () = A := $UN.castvwtp0{arrayptr(char,m2+1)}(A2) prval () = fold@ (sbf) // in true end else false // end of [if] // end // end of [stringbuf_reset_capacity] (* ****** ****** *) implement {}(*tmp*) stringbuf_get_at (sbf, i) = let // var n: size_t val (pf, fpf | p) = stringbuf_takeout_strbuf (sbf, n) // val i = g1ofg0(i) val res = (if i < n then $UN.cast2int(p->[i]) else ~1): int prval () = fpf (pf) // in res end // end of [strigbuf_get_at] (* ****** ****** *) implement {}(*tmp*) stringbuf_rget_at (sbf, i) = let // var n: size_t val (pf, fpf | p) = stringbuf_takeout_strbuf (sbf, n) // val res = (if i <= n then $UN.cast2int(p->[n-i]) else ~1): int // prval () = fpf (pf) // in res end // end of [strigbuf_rget_at] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_char (sbf, x) = let // val+@STRINGBUF(A, p, m) = sbf // val m = m val n = $UN.cast{size_t}(p - ptrcast(A)) // in // case+ 0 of | _ when n < m => let val () = $UN.ptr0_set (p, x) val () = p := ptr_succ (p) prval () = fold@ (sbf) in 1 end // end of [n < m] | _ (*n >= m*) => let val recap = stringbuf$recapacitize () prval () = fold@ (sbf) in if recap >= 1 then let val _ = stringbuf_reset_capacity (sbf, m+m) in stringbuf_insert_char (sbf, x) end else 0(*~inserted*) // end of [if] end // end of [n >= m] // end // end of [stringbuf_insert_char] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_string (sbf, x) = let val x = g1ofg0(x) in stringbuf_insert_strlen (sbf, x, string_length(x)) end // end of [stringbuf_insert_string] (* ****** ****** *) // extern fun _stringbuf_pow2min (s1: sizeGte(1), s2: size_t): sizeGte(1) = "mac#%" (* // // HX-2015-11-19: It has been moved to CATS // implement _stringbuf_pow2min (s1, s2) = if s1 >= s2 then s1 else _stringbuf_pow2min (s1+s1, s2) *) // (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_strlen (sbf, x, nx) = let // val+@STRINGBUF(A, p, m) = sbf // val m = m val n = $UN.cast{size_t}(p - ptrcast(A)) val n2 = n + nx // in // case+ 0 of | _ when n2 <= m => let val _(*ptr*) = memcpy (p, string2ptr(x), nx) val () = p := ptr_add (p, nx) prval () = fold@ (sbf) in sz2i(nx) end // end of [n2 <= m] | _ (*n2 >= m*) => let val recap = stringbuf$recapacitize () prval () = fold@ (sbf) in if recap >= 1 then let val m2 = _stringbuf_pow2min (m, n2) val _ = stringbuf_reset_capacity (sbf, m2) in stringbuf_insert_strlen (sbf, x, nx) end else 0(*~inserted*) // end of [if] end // end of [n2 >= m] // end // end of [stringbuf_insert_char] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_bool (sbf, x) = let in // if x then stringbuf_insert_strlen (sbf, "true", i2sz(4)) else stringbuf_insert_strlen (sbf, "false", i2sz(5)) // end of [if] // end // end of [stringbuf_insert_bool] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_int (sbf, x) = let val sbf = $UN.castvwtp1{ptr}(sbf) val recap = stringbuf$recapacitize () in $extfcall(int, "atslib_stringbuf_insert_snprintf", sbf, recap, "%i", x) end // end of [stringbuf_insert_int] implement {}(*tmp*) stringbuf_insert_uint (sbf, x) = let val sbf = $UN.castvwtp1{ptr}(sbf) val recap = stringbuf$recapacitize () in $extfcall(int, "atslib_stringbuf_insert_snprintf", sbf, recap, "%u", x) end // end of [stringbuf_insert_uint] implement {}(*tmp*) stringbuf_insert_lint (sbf, x) = let val sbf = $UN.castvwtp1{ptr}(sbf) val recap = stringbuf$recapacitize () in $extfcall(int, "atslib_stringbuf_insert_snprintf", sbf, recap, "%li", x) end // end of [stringbuf_insert_lint] implement {}(*tmp*) stringbuf_insert_ulint (sbf, x) = let val sbf = $UN.castvwtp1{ptr}(sbf) val recap = stringbuf$recapacitize () in $extfcall(int, "atslib_stringbuf_insert_snprintf", sbf, recap, "%lu", x) end // end of [stringbuf_insert_ulint] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_fread (sbf, inp, nb) = let // val+@STRINGBUF(A, p, m) = sbf // val n = $UN.cast{size_t}(p - ptrcast(A)) // val nb = g1ofg0 (nb) val nb = ( if nb > 0 then min (i2sz(nb), m - n) else (m - n) ) : size_t val [nb:int] nb = g1ofg0(nb) // val ( pf, fpf | p1 ) = $UN.ptr0_vtake{bytes(nb)}(p) val nread = $STDIO.fread (!p1, i2sz(1), nb, inp) val ((*void*)) = p := ptr_add (p, nread) // prval () = fpf (pf) prval () = fold@ (sbf) // in sz2i(nread) end // end of [stringbuf_insert_fread] (* ****** ****** *) implement {}(*tmp*) stringbuf_insert_fgets (sbf, inp, last) = let // val+@STRINGBUF(A, p, m) = sbf // val n = $UN.cast{size_t}(p-ptrcast(A)) val [nb:int] nb = g1ofg0(m - n) // val ( pf, fpf | p1 ) = $UN.ptr0_vtake{bytes(nb+1)}(p) val p2 = $STDIO.fgets0 (!p1, sz2i(nb)+1, inp) // prval pf2 = assert (view@last) where { extern praxi assert{l:addr}(char(0)@l): char@l } // val n2 = ( if p2 > 0 then let val n2 = length($UN.cast{string}(p2)) val n2 = g1ofg0(n2) val () = p := ptr_add (p, n2) val () = if n2 > 0 then last := $UN.ptr0_get (ptr_pred (p)) in sz2i (n2) end // end of [then] else (~1) // HX: failure // end of [if] ) : int // end of [val] // prval () = view@last := pf2 // prval () = fpf (pf) prval () = fold@ (sbf) // in n2 end // end of [stringbuf_insert_fgets] (* ****** ****** *) // implement stringbuf_insert_val = stringbuf_insert_int // implement stringbuf_insert_val = stringbuf_insert_bool // implement stringbuf_insert_val = stringbuf_insert_uint implement stringbuf_insert_val = stringbuf_insert_lint implement stringbuf_insert_val = stringbuf_insert_ulint // implement stringbuf_insert_val = stringbuf_insert_string // (* ****** ****** *) implement {a}(*tmp*) stringbuf_insert_list (sbf, xs) = let // fun loop ( sbf: !stringbuf, xs: List(a), res: int ) : int = let in // case+ xs of | list_cons (x, xs) => let val n = stringbuf_insert_val (sbf, x) in loop (sbf, xs, res + n) end (* end of [list_cons] *) | list_nil () => res // end // end of [loop] // in loop (sbf, xs, 0) end // end of [stringbuf_insert_list] (* ****** ****** *) implement {}(*tmp*) stringbuf_takeout (sbf, i) = let // val+@STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast (A) val n = $UN.cast{size_t}(p1 - p0) val [n:int] n = g1ofg0_uint (n) val [i:int] i = g1ofg0_uint (i) // val i = min(i, n) val str = string_make_substring ($UN.cast{string(n)}(p0), i2sz(0), i) // val ni = (n - i) val p0 = memmove (p0, ptr_add (p0, i), ni) val () = p1 := ptr_add (p0, ni) // prval () = fold@ (sbf) prval () = lemma_strnptr_param (str) // in strnptr2strptr(str) end // end of [stringbuf_takeout] (* ****** ****** *) implement {}(*tmp*) stringbuf_takeout_all (sbf) = let // val+@STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast (A) val n = $UN.cast{size_t}(p1 - p0) val [n:int] n = g1ofg0_uint (n) // val str = string_make_substring ($UN.cast{string(n)}(p0), i2sz(0), n) // val () = p1 := p0 // prval () = fold@ (sbf) prval () = lemma_strnptr_param (str) // in strnptr2strptr(str) end // end of [stringbuf_takeout_all] (* ****** ****** *) implement {}(*tmp*) stringbuf_remove (sbf, i) = () where { // val+@STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast (A) val n = $UN.cast{size_t}(p1 - p0) val [n:int] n = g1ofg0_uint (n) val [i:int] i = g1ofg0_uint (i) // val i = min(i, n) val ni = n - min(i, n) val p0 = memmove (p0, ptr_add (p0, i), ni) val () = p1 := ptr_add (p0, ni) // prval () = fold@ (sbf) // } (* end of [stringbuf_remove] *) (* ****** ****** *) implement {}(*tmp*) stringbuf_remove_all (sbf) = () where { // val+@STRINGBUF(A, p1, _) = sbf val ((*void*)) = p1 := ptrcast(A) prval ((*void*)) = fold@ (sbf) // } (* end of [stringbuf_remove_all] *) (* ****** ****** *) implement {}(*tmp*) stringbuf_truncate (sbf, n2) = let // val+@STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast(A) val n1 = $UN.cast{size_t}(p1 - p0) // in // if n2 < n1 then let val p2 = ptr_add (p0, n2) val ((*void*)) = (p1 := p2) prval () = fold@ (sbf) in true end // end of [then] else let prval () = fold@ (sbf) in false end // end of [else] // end of [if] // end // end of [stringbuf_truncate] (* ****** ****** *) implement {}(*tmp*) stringbuf_truncout (sbf, n2) = let // fun aux .<>. ( p: ptr, n: size_t ) : Strptr1 = let val [n0:int] str = $UN.cast{String}(p) val n = $UN.cast{sizeLte(n0)}(n) val str2 = string_make_substring (str, i2sz(0), n) // end of [val] prval () = lemma_strnptr_param (str2) in strnptr2strptr (str2) end // end of [aux] // val+@STRINGBUF(A, p1, _) = sbf // val p0 = ptrcast(A) val n1 = $UN.cast{size_t}(p1 - p0) // in // if ( n1 >= n2 ) then let val p2 = ptr_add (p0, n2) val res = aux (p2, n1-n2) val ((*void*)) = (p1 := p2) prval () = fold@ (sbf) in res end // end of [then] else let prval () = fold@ (sbf) in strptr_null () end // end of [else] // end of [if] // end // end of [stringbuf_truncout] (* ****** ****** *) // implement {}(*tmp*) stringbuf_truncout_all (sbf) = $UN.castvwtp0{Strptr1}(stringbuf_truncout (sbf, i2sz(0))) // (* ****** ****** *) // extern fun _stringbuf_get_size (!stringbuf): size_t = "ext#%" extern fun _stringbuf_get_capacity (!stringbuf): size_t = "ext#%" // extern fun _stringbuf_get_ptrcur (sbf: !stringbuf): ptr = "ext#%" extern fun _stringbuf_set_ptrcur (sbf: !stringbuf, p2: ptr): void = "ext#%" // extern fun _stringbuf_reset_capacity (sbf: !stringbuf, m2: sizeGte(1)): bool = "ext#%" // (* ****** ****** *) // implement _stringbuf_get_size (sbf) = stringbuf_get_size<> (sbf) implement _stringbuf_get_capacity (sbf) = stringbuf_get_capacity<> (sbf) // implement _stringbuf_get_ptrcur (sbf) = let val+STRINGBUF(_, p, _) = sbf in p end implement _stringbuf_set_ptrcur (sbf, p2) = let val+@STRINGBUF(_, p, _) = sbf in p := p2; fold@(sbf) end // end of [_stringbuf_set_ptrcur] // implement _stringbuf_reset_capacity (sbf, m2) = stringbuf_reset_capacity<> (sbf, m2) // (* ****** ****** *) %{$ // atstype_int atslib_stringbuf_insert_snprintf ( atstype_ptr sbf, atstype_int recap, atstype_string fmt, ... ) { int ntot ; va_list ap0 ; va_start(ap0, fmt) ; ntot = atslib_stringbuf_insert_vsnprintf (sbf, recap, fmt, ap0) ; va_end(ap0) ; return (ntot) ; } // end of [atslib_stringbuf_insert_snprintf] // atstype_int atslib_stringbuf_insert_vsnprintf ( atstype_ptr sbf, atstype_int recap, atstype_string fmt, va_list ap0 ) { size_t m ; size_t n ; void *p_cur ; int ntot ; va_list ap1 ; // m = atslib__stringbuf_get_capacity (sbf) ; n = atslib__stringbuf_get_size (sbf) ; p_cur = atslib__stringbuf_get_ptrcur (sbf) ; // va_copy(ap1, ap0) ; ntot = vsnprintf ((char*)p_cur, m-n+1, (char*)fmt, ap1) ; va_end(ap1) ; // if (ntot > m-n && recap >= 1) { m = atslib__stringbuf_pow2min (m, n+ntot) ; atslib__stringbuf_reset_capacity (sbf, m) ; p_cur = atslib__stringbuf_get_ptrcur (sbf) ; ntot = vsnprintf ((char*)p_cur, ntot+1, (char*)fmt, ap0) ; } // if (ntot >= 0) { atslib__stringbuf_set_ptrcur (sbf, (char*)p_cur+ntot) ; } // end of [if] // return (ntot) ; // } // end of [atslib_stringbuf_insert_snprintf] // %} // end of [%{$] (* ****** ****** *) (* end of [stringbuf.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linmap_avltree.dats0000664000175000017500000004407712655455557020642 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_avltree" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linmap_avltree.sats" (* ****** ****** *) #include "./SHARE/linmap.hats" // code reuse #include "./SHARE/linmap_node.hats" // code reuse (* ****** ****** *) stadef mytkind = $extkind"atslib_linmap_avltree" (* ****** ****** *) // // HX: maximal height difference of two siblings // #define HTDF 1 #define HTDF1 (HTDF+1) #define HTDF_1 (HTDF-1) // (* ****** ****** *) datavtype avltree ( key: t@ype, itm:vt@ype+, int(*height*) ) = | {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} B (key, itm, 1+max(hl,hr)) of ( int (1+max(hl,hr)), key, itm, avltree (key, itm, hl), avltree (key, itm, hr) ) | E (key, itm, 0) of ((*void*)) // end of [datavtype avltree] (* ****** ****** *) vtypedef avltree (key:t0p, itm:vt0p) = [h:nat] avltree (key, itm, h) // end of [avltree] vtypedef avltree_inc (key:t0p, itm:vt0p, h:int) = [h1:nat | h <= h1; h1 <= h+1] avltree (key, itm, h1) // end of [avltree_inc] vtypedef avltree_dec (key:t0p, itm:vt0p, h:int) = [h1:nat | h1 <= h; h <= h1+1] avltree (key, itm, h1) // end of [avltree_dec] (* ****** ****** *) assume map_vtype (key:t0p, itm: vt0p) = avltree (key, itm) // end of [map_vtype] (* ****** ****** *) implement{} linmap_nil () = E () implement{} linmap_make_nil () = E () (* ****** ****** *) implement{} linmap_is_nil (map) = case+ map of E _ => true | B _ => false // end of [linmap_is_nil] implement{} linmap_isnot_nil (map) = case+ map of B _ => true | E _ => false // end of [linmap_isnot_nil] (* ****** ****** *) implement {key,itm} linmap_size (map) = let // fun aux ( t0: !avltree (key, itm), res: size_t ) : size_t = let in // case+ t0 of | B ( _, _, _, tl, tr ) => let val res = succ(res) val res = aux (tl, res) val res = aux (tr, res) in res end // end of [B] | E ((*void*)) => res // end // end of [aux] // in $effmask_all (aux (map, i2sz(0))) end // end of [linmap_size] (* ****** ****** *) implement {key,itm} linmap_search_ref (map, k0) = let // fun search {h:nat} .. ( t0: !avltree (key, itm, h) ) : cPtr0(itm) = let in // case+ t0 of // | @B ( _(*h*), k, x, tl, tr ) => let val sgn = compare_key_key (k0, k) // end of [val] in case+ 0 of | _ when sgn < 0 => let val res = search (tl) prval () = fold@ (t0) in res end // end of [sgn < 0] | _ when sgn > 0 => let val res = search (tr) prval () = fold@ (t0) in res end // end of [sgn > 0] | _ (*sgn = 0*) => let val p_x = addr@x prval () = fold@ (t0) in $UN.ptr2cptr(p_x) end // end of [sgn = 0] end // end of [let] // end of [B] // | E ((*void*)) => cptr_null{itm}() // end // end of [search] // in search (map) end // end of [linmap_search_ref] (* ****** ****** *) implement {key,itm} linmap_freelin (map) = let // fun aux {h:nat} .. ( t: avltree (key, itm, h) ) : void = let in // case+ t of | @B ( _, k, x, tl, tr ) => let val () = linmap_freelin$clear (x) val tl = tl and tr = tr val () = free@ {..}{0,0} (t) val () = aux (tl) and () = aux (tr) in // nothing end // end of [BSTcons] | ~E ((*void*)) => () // end // end of [aux] // in $effmask_all (aux (map)) end // end of [linmap_freelin] (* ****** ****** *) macdef avlht (t) = ( case+ ,(t) of | B (h, _, _, _, _) => h | E ((*void*)) => 0 ) // end of [avlht] (* ****** ****** *) fn{ key:t0p;itm:vt0p } avltree_height{h:int} (t: !avltree (key, itm, h)):<> int (h) = avlht(t) (* ****** ****** *) (* ** left rotation for restoring height invariant *) fn{ key:t0p;itm:vt0p } avltree_lrotate {hl,hr:nat | hl+HTDF1 == hr} {l,l_h,l_k,l_x,l_tl,l_tr:addr} ( pf_h: (int?)@l_h , pf_k: key@l_k, pf_x: itm@l_x , pf_tl: avltree (key, itm, hl) @ l_tl , pf_tr: avltree (key, itm, hr) @ l_tr | p_h: ptr l_h , hl: int hl, p_tl: ptr l_tl , hr: int hr, p_tr: ptr l_tr , t0: B_unfold (l, l_h, l_k, l_x, l_tl, l_tr) ) : avltree_inc (key, itm, hr) = let val tr = !p_tr val+@B{..}{hrl,hrr} (hr2, _, _, trl, trr) = tr val hrl = avlht(trl): int(hrl) and hrr = avlht(trr): int(hrr) in if hrl <= hrr+HTDF_1 then let val hrl1 = hrl + 1 val () = !p_h := hrl1 val () = !p_tr := trl prval () = fold@ (t0) val () = hr2 := 1+max(hrl1, hrr) val () = trl := t0 prval () = fold@ (tr) in tr // B (1+max(hrl1,hrr), kr, xr, B (hrl1, k, x, tl, trl), trr) end else let // [hrl==hrr+HTDF1]: deep rotation val trl_ = trl val+@B{..}{hrll,hrlr} (hrl, _, _, trll, trlr) = trl_ val hrll = avlht (trll) : int(hrll) and hrlr = avlht (trlr) : int(hrlr) val () = !p_h := 1+max(hl,hrll) val () = !p_tr := trll prval () = fold@ (t0) val () = hr2 := 1+max(hrlr, hrr) val () = trl := trlr prval () = fold@ (tr) val () = hrl := hr val () = trll := t0 val () = trlr := tr prval () = fold@ (trl_) in trl_ // B (hr, krl, xrl, // B (1+max(hl,hrll), k, x, tl, trll), // B (1+max(hrlr,hrr), kr, xr, trlr, trr)) end // end of [if] end // end of [avltree_lrotate] (* ****** ****** *) (* ** right rotation for restoring height invariant *) fn{ key:t0p;itm:vt0p } avltree_rrotate {hl,hr:nat | hl == hr+HTDF1} {l,l_h,l_k,l_x,l_tl,l_tr:addr} ( pf_h: (int?)@l_h , pf_k: key@l_k, pf_x: itm@l_x , pf_tl: avltree (key, itm, hl) @ l_tl , pf_tr: avltree (key, itm, hr) @ l_tr | p_h: ptr l_h , hl : int hl, p_tl: ptr l_tl , hr : int hr, p_tr: ptr l_tr , t0: B_unfold (l, l_h, l_k, l_x, l_tl, l_tr) ) : avltree_inc (key, itm, hl) = let val tl = !p_tl val+@B{..}{hll,hlr} (hl2, _, _, tll, tlr) = tl val hll = avlht(tll): int(hll) and hlr = avlht(tlr): int(hlr) in if hll+HTDF_1 >= hlr then let val hlr1 = hlr + 1 val () = !p_h := hlr1 val () = !p_tl := tlr prval () = fold@ (t0) val () = hl2 := 1+max(hll,hlr1) val () = tlr := t0 prval () = fold@ (tl) in tl // B (1+max(hll,hlr1), kl, xl, tll, B (hlr1, x, tlr, tr)) end else let val tlr_ = tlr val+@B{..}{hlrl,hlrr} (hlr, _, _, tlrl, tlrr) = tlr_ val hlrl = avlht (tlrl): int(hlrl) val hlrr = avlht (tlrr): int(hlrr) val () = !p_h := 1+max(hlrr,hr) val () = !p_tl := tlrr prval () = fold@ (t0) val () = hl2 := 1+max(hll,hlrl) val () = tlr := tlrl prval () = fold@ (tl) val () = hlr := hl val () = tlrl := tl val () = tlrr := t0 prval () = fold@ (tlr_) in tlr_ // B (hl, klr, xlr, // B (1+max(hll,hlrl), kl, xl, tll, tlrl), // B (1+max(hlrr,hr), k, x, tlrr, tr)) end // end of [if] end // end of [avltree_rrotate] (* ****** ****** *) implement {key,itm} linmap_insert (map, k0, x0, res) = let // fun insert {h:nat} .. ( t0: &avltree (key, itm, h) >> avltree_inc (key, itm, h), k0: key, x0: &(itm) >> opt(itm, b) ) : #[b:bool] bool(b) = let in // case+ t0 of // | @B{..}{hl,hr} (h, k, x, tl, tr) => let prval pf_h = view@h prval pf_k = view@k prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr val sgn = compare_key_key (k0, k) in case+ 0 of | _ when sgn < 0 => let val ans = insert (tl, k0, x0) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in ans // B (1+max(hl,hr), k, x, tl, tr) end else let // hl==hr+HTDF1 val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_rrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in ans end // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val ans = insert (tr, k0, x0) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in ans // B (1+max(hl, hr), k, x, tl, tr) end else let // hl+HTDF1==hr val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_lrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in ans end // end of [if] end // end of [sgn > 0] | _ (*[k0] is found*) => let val x_ = x val () = x := x0 val () = x0 := x_ prval () = fold@ (t0) prval () = opt_some{itm}(x0) in true // B (h, k, x, tl, tr) end // end of [sgn = 0] end // end of [B] // | ~E () => let val x0_ = x0 val () = t0 := B{key,itm}(1, k0, x0_, E (), E ()) prval () = opt_none{itm}(x0) in false end // end of [E] // end // end of [insert] // val () = res := x0 // in insert (map, k0, res) end // end of [linmap_insert] (* ****** ****** *) fun {key:t0p ;itm:vt0p} avltree_maxout {h:pos} .. ( t0: &avltree (key, itm, h) >> avltree_dec (key, itm, h) ) : mynode1 (key, itm) = let val+@B{..}{hl,hr}(h, k, x, tl, tr) = t0 prval pf_h = view@h prval pf_k = view@k prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr in case+ tr of | B _ => let val nx = avltree_maxout (tr) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) // B (1+max(hl,hr), x, tl, tr) in nx end else let val p_h = addr@h val p_tl = addr@tl val p_tr = addr@tr val () = t0 := avltree_rrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [B] | ~E () => let val t0_ = t0 val () = t0 := tl in $UN.castvwtp0{mynode1(key,itm)}((pf_h, pf_k, pf_x, pf_tl, pf_tr | t0_)) end // end of [E] end // end of [avltree_maxout] (* ****** ****** *) fun {key:t0p ;itm:vt0p} avltree_minout {h:pos} .. ( t0: &avltree (key, itm, h) >> avltree_dec (key, itm, h) ) : mynode1 (key, itm) = let val+@B{..}{hl,hr}(h, k, x, tl, tr) = t0 prval pf_h = view@h prval pf_k = view@k prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr in case+ tl of | B _ => let val nx = avltree_minout (tl) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) // B (1+max(hl,hr), x, tl, tr) in nx end else let val p_h = addr@h val p_tl = addr@tl val p_tr = addr@tr val () = t0 := avltree_lrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [B] | ~E () => let val t0_ = t0 val () = t0 := tr in $UN.castvwtp0{mynode1(key,itm)}((pf_h, pf_k, pf_x, pf_tl, pf_tr | t0_)) end // end of [E] end // end of [avltree_minout] (* ****** ****** *) extern castfn mynode_decode {key:t0p;itm:vt0p}{l:agz} (nx: mynode(key, INV(itm), l)):<> B_pstruct (int?, key, itm, ptr?, ptr?) // end of [mynode_decode] (* ****** ****** *) fn {key:t0p ;itm:vt0p} avltree_lrcon {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} ( tl: avltree (key, itm, hl) , tr: avltree (key, itm, hr) ) : avltree_dec (key, itm, 1+max(hl,hr)) = ( case+ tr of | B _ => let var tr = tr val nx = avltree_minout (tr) // end of [val] val t1 = mynode_decode (nx) val+B(h1, k1, x1, tl1, tr1) = t1 prval pf_h1 = view@h1 prval pf_k1 = view@k1 prval pf_x1 = view@x1 prval pf_tl1 = view@tl1 prval pf_tr1 = view@tr1 val hl = avltree_height (tl) and hr = avltree_height (tr) val () = tl1 := tl and () = tr1 := tr in if hl-hr <= HTDF then let val () = h1 := 1+max(hl,hr) prval () = fold@ (t1) in t1 end else let val p_h1 = addr@h1 val p_tl1 = addr@tl1 val p_tr1 = addr@tr1 in avltree_rrotate (pf_h1, pf_k1, pf_x1, pf_tl1, pf_tr1 | p_h1, hl, p_tl1, hr, p_tr1, t1) end // end of [if] end // end of [B] | ~E ((*void*)) => tl ) (* end of [avltree_lrcon] *) (* ****** ****** *) implement {key,itm} linmap_takeout_ngc (xs, k0) = let // fun takeout{h:nat} .. ( t0: &avltree (key, itm, h) >> avltree_dec (key, itm, h) ) : mynode0(key, itm) = let // in // case+ t0 of | @B{..}{hl,hr} (h, k, x, tl, tr) => let prval pf_h = view@h prval pf_k = view@k prval pf_x = view@x prval pf_tl = view@tl prval pf_tr = view@tr val sgn = compare_key_key (k0, k) in case+ 0 of | _ when sgn < 0 => let val nx = takeout (tl) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hr-hl <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in nx end else let val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_lrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val nx = takeout (tr) val hl = avltree_height (tl) and hr = avltree_height (tr) in if hl-hr <= HTDF then let val () = h := 1+max(hl,hr) prval () = fold@ (t0) in nx end else let val p_h = addr@(h) val p_tl = addr@(tl) val p_tr = addr@(tr) val () = t0 := avltree_rrotate (pf_h, pf_k, pf_x, pf_tl, pf_tr | p_h, hl, p_tl, hr, p_tr, t0) in nx end // end of [if] end // end of [sgn > 0] | _ (*[x0] is found*) => let val t0_ = t0 val () = t0 := avltree_lrcon (tl, tr) in $UN.castvwtp0{mynode1(key,itm)}((pf_h, pf_k, pf_x, pf_tl, pf_tr | t0_)) end // end of [sgn = 0] // end of [case] end // end of [B] | E ((*void*)) => mynode_null () // end // end of [takeout] // in takeout (xs) end // end of [linmap_takeout_ngc] (* ****** ****** *) implement {key,itm}{env} linmap_foreach_env (xs, env) = let // val p_env = addr@env // fun foreach {h:nat} .. ( t0: !avltree (key, itm, h), p_env: ptr ) : void = let in // case+ t0 of | @B (h, k, x, tl, tr) => let // val () = foreach (tl, p_env) // val ( pf, fpf | p_env ) = $UN.ptr_vtake{env}(p_env) val () = linmap_foreach$fwork (k, x, !p_env) prval () = fpf (pf) // val () = foreach (tr, p_env) // prval () = fold@ (t0) // in // nothing end // end of [B] | E ((*void*)) => () // end // end of [foreach] // in foreach (xs, p_env) end // end of [linmap_foreach_env] (* ****** ****** *) implement {key,itm}{ki2} linmap_flistize (map) = let // vtypedef ki = @(key, itm) // fun aux {h:nat} .. ( t: avltree (key, itm, h), res: List0_vt (ki2) ) : List0_vt (ki2) = let in // case+ t of | ~B ( _, k, x, tl, tr ) => res where { val res = aux (tl, res) val kx2 = linmap_flistize$fopr (k, x) val res = list_vt_cons{ki2}(kx2, res) val res = aux (tr, res) } // end of [BSTcons] | ~E ((*void*)) => res // end // end of [aux] // val res = aux (map, list_vt_nil ()) // in list_vt_reverse (res) end // end of [linmap_flistize] (* ****** ****** *) // // HX: functions for processing mynodes // (* ****** ****** *) implement{ } mynode_null{key,itm} () = $UN.castvwtp0{mynode(key,itm,null)}(the_null_ptr) // end of [mynode_null] (* ****** ****** *) implement {key,itm} mynode_getref_itm (nx) = let // val t0 = $UN.castvwtp1{avltree(key,itm,1)}(nx) val+@B(_, k, x, tl, tr) = t0; val p_x = addr@(x) prval ((*void*)) = fold@(t0) prval ((*void*)) = $UN.cast2void (t0) // in $UN.ptr2cptr{itm}(p_x) end (* end of [mynode_getfree_itm] *) (* ****** ****** *) implement {key,itm} mynode_free_keyitm (nx, k0, x0) = () where { // val+~B(_, k, x, tl, tr) = $UN.castvwtp0{avltree(key,itm,1)}(nx) val () = k0 := k and () = x0 := x prval ((*void*)) = $UN.cast2void (tl) prval ((*void*)) = $UN.cast2void (tr) // } (* end of [mynode_free_keyitm] *) (* ****** ****** *) implement {key,itm} mynode_getfree_itm (nx) = x where { // val+~B(_, k, x, tl, tr) = $UN.castvwtp0{avltree(key,itm,1)}(nx) // prval ((*void*)) = $UN.cast2void (tl) prval ((*void*)) = $UN.cast2void (tr) // } (* end of [mynode_getfree_itm] *) (* ****** ****** *) (* end of [linmap_avltree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/dynarray.dats0000664000175000017500000003175212655455557017465 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/dynarray.sats" (* ****** ****** *) // extern fun memcpy : (ptr, ptr, size_t) -<0,!wrt> ptr = "mac#atslib_dynarray_memcpy" extern fun memmove : (ptr, ptr, size_t) -<0,!wrt> ptr = "mac#atslib_dynarray_memmove" // (* ****** ****** *) // // HX: // recapacitizing policy // 0: manual // 1: automatic doubling // implement {}(*tmp*) dynarray$recapacitize () = 1 // default policy // (* ****** ****** *) local datavtype dynarray (a:vt@ype+) = {m,n:int | m > 0; m >= n} DYNARRAY of (arrayptr (a, m), size_t m, size_t n) // end of [dynarray] assume dynarray_vtype (a) = dynarray (a) in (* in of [local] *) implement {a}(*tmp*) dynarray_make_nil (cap) = let // val A = arrayptr_make_uninitized (cap) val A = __cast (A) where { extern castfn __cast {n:int} (arrayptr (a?, n)):<> arrayptr (a, n) } (* end of [val] *) // in DYNARRAY (A, cap, g1i2u(0)) end (* end of [dynarray_make_nil] *) (* ****** ****** *) implement {}(*tmp*) dynarray_getfree_arrayptr (DA, n) = let // val+ ~DYNARRAY{a}{m,n}(A, _, n0) = DA // val () = n := n0 prval () = lemma_g1uint_param (n0) // in $UN.castvwtp0{arrayptr(a,n)}(A) end (* end of [dynarray_getfree_arrayptr] *) (* ****** ****** *) implement {}(*tmp*) dynarray_get_array (DA, n) = let // val+DYNARRAY{a}{m,n}(A, _, n0) = DA // val () = n := n0 val p0 = arrayptr2ptr (A) // val (pf, fpf | p0) = $UN.ptr_vtake{array(a,n)}(p0) // in (pf, fpf | p0) end (* end of [dynarray_get_array] *) (* ****** ****** *) implement {}(*tmp*) dynarray_get_size (DA) = let val+DYNARRAY (_, _, n) = DA in (n) end // end of [dynarray_get_size] implement {}(*tmp*) dynarray_get_capacity (DA) = let val+DYNARRAY (_, m, _) = DA in (m) end // end of [dynarray_get_capacity] (* ****** ****** *) implement {a}(*tmp*) dynarray_getref_at (DA, i) = let // val i = g1ofg0_uint (i) val+DYNARRAY (A, m, n) = DA val pi = ( if i < n then ptr_add (arrayptr2ptr(A), i) else the_null_ptr ) : ptr // end of [val] // in $UN.cast{cPtr0(a)}(pi) end // end of [dynarray_getref_at] (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_at (DA, i, x, res) = let // val i = g1ofg0_uint (i) // val+@DYNARRAY (A, m, n) = DA // in // if i <= n then let // // HX: [i] is a valid position // in // if m > n then let val p1 = ptr_add (arrayptr2ptr(A), i) val p2 = ptr_succ (p1) val ptr = memmove (p2, p1, (n-i)*sizeof) val () = $UN.ptr0_set (p1, x) val () = n := succ(n) prval () = fold@ (DA) prval () = opt_none{a}(res) in false end else let val m = m prval () = fold@ (DA) val recap = dynarray$recapacitize () in // if recap > 0 then let val _(*true*) = dynarray_reset_capacity(DA, m+m) in dynarray_insert_at(DA, i, x, res) end // end of [then] else let val () = res := x prval () = opt_some{a}(res) in true end // end of [else] // end // end of [if] // end else let prval () = fold@ (DA) val () = res := x prval () = opt_some{a}(res) in true end // end of [if] // end // end of [dynarray_insert_at] (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_atbeg_exn (DA, x) = let in dynarray_insert_at_exn(DA, i2sz(0), x) end // end of [dynarray_insert_atbeg_exn] implement {a}(*tmp*) dynarray_insert_atbeg_opt (DA, x) = let in dynarray_insert_at_opt(DA, i2sz(0), x) end // end of [dynarray_insert_atbeg_opt] (* ****** ****** *) // implement {a}(*tmp*) dynarray_insert_atend_exn (DA, x) = let // val+DYNARRAY (_, _, n) = DA // in dynarray_insert_at_exn(DA, n, x) end // end of [dynarray_insert_atend_exn] // implement {a}(*tmp*) dynarray_insert_atend_opt (DA, x) = let // val+DYNARRAY (_, _, n) = DA // in dynarray_insert_at_opt(DA, n, x) end // end of [dynarray_insert_atend_opt] // (* ****** ****** *) implement {a}(*tmp*) dynarray_insertseq_at (DA, i, xs, n2) = let // fun pow2min ( s1: sizeGte(1), s2: size_t ) : sizeGte(1) = ( if s1 >= s2 then s1 else pow2min (s1+s1, s2) ) (* end of [pow2min] *) // val i = g1ofg0_uint (i) val+@DYNARRAY (A, m, n) = DA // in // if i <= n then let // // HX: [i] is a valid position // in // if n + n2 <= m then let val p1 = ptr_add (arrayptr2ptr(A), i) val p2 = ptr_add (p1, n2) val ptr = memmove (p2, p1, (n-i)*sizeof) val ptr = memcpy (p1, addr@(xs), n2*sizeof) val () = n := n+n2 prval () = fold@ (DA) prval () = __assert (xs) where { extern praxi __assert {n:int} (xs: &array(a, n) >> arrayopt (a, n, false)): void // praxi } (* end of [prval] *) in false end else let val m = m and n = n prval () = fold@ (DA) val recap = dynarray$recapacitize<>() in // if recap > 0 then let val m2 = pow2min (m+m, n+n2) val _(*true*) = dynarray_reset_capacity(DA, m2) in dynarray_insertseq_at(DA, i, xs, n2) end else let prval () = arrayopt_some{a}(xs) in true end (* end of [if] *) // end // end of [if] // end else let prval () = fold@ (DA) prval () = arrayopt_some{a}(xs) in true end // end of [if] // end // end of [dynarray_insertseq_at] (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_at (DA, i, res) = let // val i = g1ofg0_uint (i) val+@DYNARRAY (A, m, n) = DA // in // if i < n then let val p1 = ptr_add (arrayptr2ptr(A), i) val p2 = ptr_succ (p1) val n1 = pred (n) val x = $UN.ptr0_get (p1) val ptr = memmove (p1, p2, (n1-i)*sizeof) val () = n := n1 prval () = fold@ (DA) val () = res := x prval () = opt_some{a}(res) in true end else let prval () = fold@ (DA) prval () = opt_none{a}(res) in false end // end of [if] // end // end of [dynarray_takeout_at] (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_atbeg_exn (DA) = let in dynarray_takeout_at_exn(DA, i2sz(0)) end // end of [dynarray_takeout_atbeg_exn] // implement {a}(*tmp*) dynarray_takeout_atbeg_opt (DA) = let in dynarray_takeout_at_opt(DA, i2sz(0)) end // end of [dynarray_takeout_atbeg_opt] (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_atend_exn (DA) = let // val+DYNARRAY (_, _, n) = DA // in // if n > 0 then ( dynarray_takeout_at_exn(DA, pred(n)) ) else let var res: a? val () = prerr "exit(ATSLIB): [dynarray_takeout_atend_exn] failed." val () = exit_void (1) in $UN.castvwtp0{a}(res) end (* end of [if] *) // end // end of [dynarray_takeout_atend_exn] // implement {a}(*tmp*) dynarray_takeout_atend_opt (DA) = let // val+DYNARRAY (_, _, n) = DA // in // if n > 0 then dynarray_takeout_at_opt(DA, pred(n)) else None_vt{a}() // end // end of [dynarray_takeout_atend_opt] (* ****** ****** *) implement {a}(*tmp*) dynarray_removeseq_at (DA, st, ln) = let // val+DYNARRAY (A, m, n) = DA // in // if st < n then let // val ln1 = n - st val ln2 = min (ln, ln1) val p0 = ptrcast(A) val p1 = ptr_add (p0, st) val p2 = ptr_add (p1, ln2) // val p1 = memmove (p1, p2, (ln1-ln2)*sizeof) // val+@DYNARRAY (A, m, n) = DA val ((*void*)) = n := n - ln2 // prval () = $UN.castview0{void}(view@A) prval () = $UN.castview0{void}(view@m) prval () = $UN.castview0{void}(view@n) prval () = $UN.castview2void{dynarray(a)}(DA) in ln2 // end // end of [then] else i2sz(0) // end of [else] // end // end of [dynarray_removeseq_at] (* ****** ****** *) implement {a}(*tmp*) dynarray_listize0 (DA) = xs where { // var asz: size_t? val (pf, fpf | p0) = dynarray_get_array(DA, asz) // prval () = lemma_array_v_param(pf) // val xs = array_copy_to_list_vt(!p0, asz) // prval ((*returned*)) = $UN.cast2void((pf, fpf | p0)) // val+@DYNARRAY(A,m,n)=DA; val()=(n := i2sz(0)); prval()=fold@(DA) // } // end of [dynarray_listize0] (* ****** ****** *) implement {a}(*tmp*) dynarray_listize1 (DA) = xs where { // var asz: size_t? val (pf, fpf | p0) = dynarray_get_array(DA, asz) // prval () = lemma_array_v_param(pf) // val xs = array_copy_to_list_vt(!p0, asz) // prval ((*returned*)) = fpf(pf) // } // end of [dynarray_listize1] (* ****** ****** *) implement {a}(*tmp*) dynarray_reset_capacity (DA, m2) = let // val+@DYNARRAY (A, m, n) = DA // in // if m2 >= n then let // val A2 = arrayptr_make_uninitized (m2) // val ptr = memcpy ( arrayptr2ptr(A2), arrayptr2ptr(A), n*sizeof ) (* end of [val] *) // extern castfn __cast{n:int}(arrayptr (a, n)):<> arrayptr (a?, n) extern castfn __cast2{n:int} (arrayptr (a?, n)):<> arrayptr (a, n) // val A1 = __cast(A) val A2 = __cast2(A2) // val () = arrayptr_free (A1) // val () = A := A2 val () = m := m2 // prval () = fold@ (DA) // in true end else let // prval () = fold@ (DA) // in false end // end of [if] // end // end of [dynarray_reset_capacity] (* ****** ****** *) // implement {a}(*tmp*) dynarray_quicksort$cmp (x, y) = gcompare_ref_ref (x, y) // (* ****** ****** *) implement {a}(*tmp*) dynarray_quicksort(DA) = let // val+ DYNARRAY{_a_}{m,n}(A, m, n) = DA // val p0 = arrayptr2ptr (A) // prval ( pf, fpf ) = __assert (p0) where { // extern praxi __assert {l:addr} ( p: ptr(l) ) : vtakeout0 (array_v (a, l, n)) // } (* end of [prval] *) // implement {a}(*tmp*) array_quicksort$cmp (x, y) = dynarray_quicksort$cmp (x, y) // val () = array_quicksort (!p0, n) // prval ((*returned*)) = fpf (pf) // in // nothing end // end of [dynarray_quicksort] (* ****** ****** *) end // end of [local] (* ****** ****** *) implement {}(*tmp*) dynarray_free(DA) = let var n: size_t val A = dynarray_getfree_arrayptr (DA, n) in arrayptr_free (A) end (* end of [dynarray_free] *) (* ****** ****** *) implement {a}(*tmp*) fprint_dynarray(out, DA) = let // var n: size_t // val (pf, fpf | p0) = dynarray_get_array(DA, n) // val ((*void*)) = fprint_array (out, !p0, n) // prval ((*returned*)) = fpf(pf) // in // nothing end (* end of [fprint_dynarray] *) (* ****** ****** *) implement {a}(*tmp*) fprint_dynarray_sep (out, DA, sep) = let // implement fprint_array$sep<> (out) = fprint_string(out, sep) // in fprint_dynarray(out, DA) end // end of [fprint_dynarray_sep] (* ****** ****** *) implement {a}(*tmp*) dynarray_get_at_exn (DA, i) = let // val pi = dynarray_getref_at(DA, i) // in // if cptr2ptr(pi) > 0 then $UN.cptr_get(pi) else $raise ArraySubscriptExn() // end // end of [dynarray_get_at_exn] implement {a}(*tmp*) dynarray_set_at_exn (DA, i, x) = let // val pi = dynarray_getref_at(DA, i) // in // if cptr2ptr(pi) > 0 then $UN.cptr_set(pi, x) else $raise ArraySubscriptExn() // end // end of [dynarray_set_at_exn] (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_at_exn (DA, i, x) = let // var res: a? val ans = dynarray_insert_at(DA, i, x, res) // in // if ans then let // prval () = opt_unsome{a}(res) prval () = $UN.cast2void (res) // val () = prerr "exit(ATSLIB): [dynarray_insert_at_exn] failed." // in exit_void (1) end else let // prval () = opt_unnone{a}(res) // in // nothing end // end of [if] // end (* end of [dynarray_insert_at_exn] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_insert_at_opt (DA, i, x) = let // var res: a? // val ans = dynarray_insert_at(DA, i, x, res) // in option_vt_make_opt(ans, res) end (* end of [dynarray_insert_at_opt] *) (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_at_exn (DA, i) = let // var res: a? // val ans = dynarray_takeout_at(DA, i, res) // in // if ans then let // prval () = opt_unsome{a}(res) // in res end else let // prval () = opt_unnone{a}(res) // val ( ) = prerr "exit(ATSLIB): [dynarray_takeout_at_exn] failed." // val () = exit_void (1) // in $UN.castvwtp0{a}(res) end // end of [if] // end // end of [dynarray_takeout_at_exn] (* ****** ****** *) implement {a}(*tmp*) dynarray_takeout_at_opt (DA, i) = let // var res: a? val ans = dynarray_takeout_at(DA, i, res) // in option_vt_make_opt(ans, res) end // end of [dynarray_takeout_at_opt] (* ****** ****** *) (* end of [dynarray.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/0000775000175000017500000000000012655455557015611 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/DATS/SHARE/funmap.hats0000664000175000017500000001121012655455557017753 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) implement{key} equal_key_key = gequal_val_val implement{key} compare_key_key = gcompare_val_val (* ****** ****** *) // implement{} funmap_isnot_nil (xs) = not (funmap_is_nil<> (xs)) // (* ****** ****** *) implement {key,itm} funmap_search_opt (map, k0) = let // var res: itm? val ans = funmap_search (map, k0, res) // in // if ans then let prval () = opt_unsome{itm}(res) in Some_vt{itm}(res) end else let prval () = opt_unnone{itm}(res) in None_vt{itm}((*void*)) end // end of [if] // end // end of [funmap_search_opt] (* ****** ****** *) implement {key,itm} funmap_insert_opt (map, k0, x0) = let var res: itm? val ans = funmap_insert (map, k0, x0, res) in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt{itm}(res) end else let prval () = opt_unnone {itm} (res) in None_vt{itm}((*void*)) end // end of [if] // end // end of [funmap_insert_opt] (* ****** ****** *) implement {key,itm} funmap_takeout_opt (map, k0) = let var res: itm? val ans = funmap_takeout (map, k0, res) in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt{itm}(res) end else let prval () = opt_unnone {itm} (res) in None_vt{itm}((*void*)) end // end of [if] // end // end of [funmap_takeout_opt] (* ****** ****** *) implement {key,itm} funmap_remove (map, k0) = let var res: itm val takeout = funmap_takeout (map, k0, res) prval () = opt_clear (res) in takeout(*removed*) end // end of [funmap_remove] (* ****** ****** *) implement {key,itm} funmap_foreach (map) = let // var env: void = () in funmap_foreach_env (map, env) // end // end of [funmap_foreach] (* ****** ****** *) implement{} fprint_funmap$sep (out) = fprint_string (out, "; ") implement{} fprint_funmap$mapto (out) = fprint_string (out, "->") implement {key,itm} fprint_funmap (out, map) = let // implement funmap_foreach$fwork (k, x, env) = { val () = if env > 0 then fprint_funmap$sep (out) val () = env := env + 1 val () = fprint_val (out, k) val () = fprint_funmap$mapto (out) val () = fprint_val (out, x) } (* end of [funmap_foreach$fwork] *) // var env: int = 0 // in funmap_foreach_env (map, env) end // end of [fprint_funmap] (* ****** ****** *) implement {key,itm} funmap_listize (xs) = let // typedef ki = @(key, itm) // implement funmap_flistize$fopr (k, x) = @(k, x) // in $effmask_all (funmap_flistize (xs)) end // end of [funmap_listize] (* ****** ****** *) local staload Q = "libats/SATS/qlist.sats" in (* in of [local] *) implement {key,itm}{ki2} funmap_flistize (map) = let // typedef ki = @(key, itm) // vtypedef tenv = $Q.qstruct (ki2) // implement(env) funmap_foreach$fwork (k, x, env) = let // val ( pf, fpf | p ) = $UN.ptr_vtake{tenv}(addr@(env)) // val ki2 = funmap_flistize$fopr (k, x) // val () = $Q.qstruct_insert (!p, ki2) // prval () = fpf (pf) // in // nothing end // end of [funmap_foreach$fwork] // var env: $Q.qstruct val () = $Q.qstruct_initize{ki2}(env) val () = funmap_foreach_env (map, env) val res = $Q.qstruct_takeout_list (env) prval () = $Q.qstruct_uninitize{ki2}(env) // in res end // end of [funmap_flistize] end // end of [local] (* ****** ****** *) (* end of [funmap.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/linheap.hats0000664000175000017500000000534612655455557020122 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) implement{a} compare_elt_elt = gcompare_ref_ref (* ****** ****** *) implement{a} linheap_getmin (hp0, res) = let // val cp = linheap_getmin_ref (hp0) // in // if isneqz(cp) then let val ( pf, fpf | p ) = $UN.cptr_vtake{a}(cp) val () = res := !p prval () = fpf (pf) prval () = opt_some{a}(res) in true end else let prval () = opt_none{a}(res) in false end // end of [if] // end // end of [linheap_getmin] (* ****** ****** *) implement{a} linheap_getmin_opt (hp0) = let // var res: a? // unintialized val ans = linheap_getmin (hp0, res) (* val () = println! ("linheap_getmin_opt: ans = ", ans) *) in // if ans then let prval () = opt_unsome{a}(res) in Some_vt{a}(res) end else let prval () = opt_unnone{a}(res) in None_vt{a}((*void*)) end // end of [if] // end // end of [linheap_getmin_opt] (* ****** ****** *) implement{a} linheap_delmin_opt (hp0) = let // var res: a? // unintialized val ans = linheap_delmin (hp0, res) // in // if ans then let prval () = opt_unsome{a}(res) in Some_vt{a}(res) end else let prval () = opt_unnone{a}(res) in None_vt{a}((*void*)) end // end of [if] // end // end of [linheap_delmin_opt] (* ****** ****** *) implement {a}(*tmp*) linheap_free (hp) = let // implement linheap_freelin$clear (x) = () // in linheap_freelin (hp) end // end of [linheap_free] (* ****** ****** *) (* end of [linheap.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/linset.hats0000664000175000017500000000722312655455557017774 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) // // HX: shared by linset_listord (* ordered list *) // HX: shared by linset_avltree (* AVL-tree-based *) // (* ****** ****** *) implement{a} compare_elt_elt = gcompare_val_val (* ****** ****** *) implement{a} linset_make_list (xs) = res where { // fun loop ( xs: List (a), res: &set(a) >> _ ) : void = ( case+ xs of | list_cons (x, xs) => let val _(*exi*) = linset_insert (res, x) in loop (xs, res) // end of [val] end // end of [list_cons] | list_nil () => () ) // var res: set(a) = linset_nil () val () = $effmask_all (loop (xs, res)) // } // end of [linset_make_list] (* ****** ****** *) implement{a} linset_isnot_member (xs, x0) = ~linset_is_member (xs, x0) (* ****** ****** *) implement{a} linset_choose_opt (xs) = let // var x0: a? val ans = linset_choose (xs, x0) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [linset_choose_opt] (* ****** ****** *) implement{a} linset_takeoutmax_opt (xs) = let // var x0: a? val ans = linset_takeoutmax (xs, x0) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [linset_takeoutmax_opt] (* ****** ****** *) implement{a} linset_takeoutmin_opt (xs) = let // var x0: a? val ans = $effmask_wrt (linset_takeoutmin (xs, x0)) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [linset_takeoutmin_opt] (* ****** ****** *) implement{} fprint_linset$sep (out) = fprint_string (out, ", ") implement {a}(*tmp*) fprint_linset (out, xs) = let // implement linset_foreach$fwork (x, env) = { val () = if env > 0 then fprint_linset$sep (out) val () = env := env + 1 val () = fprint_val (out, x) } (* end of [linset_foreach$fwork] *) // var env: int = 0 // in linset_foreach_env (xs, env) end // end of [fprint_linset] (* ****** ****** *) implement {a}(*tmp*) linset_foreach (xs) = let // var env: void = () in linset_foreach_env (xs, env) // end // end of [linset_foreach] (* ****** ****** *) (* end of [linset.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/fundeque.hats0000664000175000017500000000640312655455557020311 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} fundeque_get_atbeg_opt (xs) = ( if fundeque_is_cons (xs) then Some_vt{a}(fundeque_get_atbeg (xs)) else None_vt{a}((*void*)) ) // end of [fundeque_get_atbeg_opt] implement{a} fundeque_get_atend_opt (xs) = ( if fundeque_is_cons (xs) then Some_vt{a}(fundeque_get_atend (xs)) else None_vt{a}((*void*)) ) // end of [fundeque_get_atend_opt] (* ****** ****** *) implement{a} fundeque_takeout_atbeg_opt (xs) = ( if fundeque_is_cons (xs) then Some_vt{a}(fundeque_uncons (xs)) else None_vt{a}((*void*)) ) // end of [fundeque_get_atbeg_opt] implement{a} fundeque_takeout_atend_opt (xs) = ( if fundeque_is_cons (xs) then Some_vt{a}(fundeque_unsnoc (xs)) else None_vt{a}((*void*)) ) // end of [fundeque_get_atend_opt] (* ****** ****** *) implement{a} fprint_fundeque (out, xs) = let // typedef tenv = int // implement fundeque_foreach$fwork (x, env) = let // val () = if env > 0 then fprint_fundeque$sep (out) // end of [val] val () = fprint_val (out, x) val () = env := env + 1 // in // nothing end // end of [fundeque_foreach$fwork] // var env: tenv = 0 val () = fundeque_foreach_env (xs, env) // in // nothing end // end of [fprint_fundeque] implement{} fprint_fundeque$sep (out) = fprint (out, ", ") (* ****** ****** *) local staload Q = "libats/SATS/qlist.sats" in (* in of [local] *) implement{a} fundeque_listize {n} (xs) = let // viewtypedef tenv = $Q.qstruct (a) // implement fundeque_foreach$fwork (x, env) = $Q.qstruct_insert (env, x) // var env: $Q.qstruct val () = $Q.qstruct_initize {a} (env) val () = $effmask_all (fundeque_foreach_env (xs, env)) val res = $Q.qstruct_takeout_list (env) val () = $Q.qstruct_uninitize {a} (env) // in $UN.castvwtp0{list_vt(a,n)}(res) end // end of [fundeque_listize] end // end of [local] (* ****** ****** *) (* end of [fundeque.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/funset.hats0000664000175000017500000001375612655455557020012 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) implement {a}(*tmp*) compare_elt_elt = gcompare_val_val (* ****** ****** *) implement {}(*tmp*) funset_isnot_nil (xs) = not(funset_is_nil (xs)) (* ****** ****** *) implement {a}(*tmp*) funset_make_list (xs) = set where { // typedef set = set (a) // fun loop ( set: &set >> _, xs: List (a) ) : void = let in case+ xs of | list_cons (x, xs) => let val _(*exi*) = funset_insert (set, x) in loop (set, xs) end // end of [list_cons] | list_nil () => () end // end of [loop] // var set: set = funset_make_nil () // val ((*void*)) = $effmask_all (loop (set, xs)) // } // end of [funset_make_list] (* ****** ****** *) implement {a}(*tmp*) funset_isnot_member (xs, x0) = not (funset_is_member (xs, x0)) // end of [funset_isnot_member] (* ****** ****** *) implement {a}(*tmp*) funset_getmax_opt (xs) = let // var x0: a? val ans = $effmask_wrt (funset_getmax (xs, x0)) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [funset_getmax_opt] (* ****** ****** *) implement {a}(*tmp*) funset_getmin_opt (xs) = let // var x0: a? val ans = $effmask_wrt (funset_getmin (xs, x0)) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [funset_getmin_opt] (* ****** ****** *) implement {a}(*tmp*) funset_takeoutmax_opt (xs) = let // var x0: a? val ans = $effmask_wrt (funset_takeoutmax (xs, x0)) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [funset_takeoutmax_opt] (* ****** ****** *) implement {a}(*tmp*) funset_takeoutmin_opt (xs) = let // var x0: a? val ans = $effmask_wrt (funset_takeoutmin (xs, x0)) // in // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt(*void*) end (* end of [if] *) // end // end of [funset_takeoutmin_opt] (* ****** ****** *) implement {a}(*tmp*) funset_equal (xs1, xs2) = let val sgn = funset_compare (xs1, xs2) in sgn = 0 end // end of [funset_equal] (* ****** ****** *) // implement {a}(*tmp*) funset_is_supset (xs1, xs2) = funset_is_subset (xs2, xs1) // (* ****** ****** *) implement {a}(*tmp*) funset_foreach (xs) = let // var env: void = () in funset_foreach_env (xs, env) // end // end of [funset_foreach] (* ****** ****** *) // implement {}(*tmp*) fprint_funset$sep (out) = fprint_string (out, ", ") // implement {a}(*tmp*) fprint_funset (out, xs) = let // implement funset_foreach$fwork (x, env) = { val () = if env > 0 then fprint_funset$sep (out) // end of [val] val () = env := env + 1 val () = fprint_val (out, x) } (* end of [funset_foreach$fwork] *) // var env: int = 0 // in funset_foreach_env (xs, env) end // end of [fprint_funset] // implement {a}(*tmp*) fprint_funset_sep (out, xs, sep) = let // implement{} fprint_funset$sep(out) = fprint_string(out, sep) // in fprint_funset (out, xs) end // end of [fprint_set] // (* ****** ****** *) implement {a}(*tmp*) funset_tabulate {n}(n) = res where { // fun loop {i:nat | i <= n} .. ( i: int(i), n: int(n), res: &set(a) >> _ ) : void = ( // if i < n then let // val x(*a*) = funset_tabulate$fopr (i) val _(*bool*) = funset_insert (res, x) // in loop(i+1, n, res) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // var res: set(a) = funset_make_nil () // val ((*void*)) = loop (0, n, res) // } (* end of [funset_tabulate] *) (* ****** ****** *) implement {a}(*tmp*) funset_listize (xs) = let // implement funset_flistize$fopr (x) = x // in $effmask_all (funset_flistize (xs)) end // end of [funset_listize] (* ****** ****** *) local staload Q = "libats/SATS/qlist.sats" in (* in of [local] *) implement {a}{b}(*tmp*) funset_flistize (xs) = let // vtypedef tenv = $Q.qstruct (b) // implement(env) funset_foreach$fwork (x, env) = let // val ( pf, fpf | p ) = $UN.ptr_vtake{tenv}(addr@(env)) val y = funset_flistize$fopr (x) val () = $Q.qstruct_insert (!p, y) prval () = fpf (pf) // in // nothing end (* end of [funset_foreach$fwork] *) // var env: $Q.qstruct val () = $Q.qstruct_initize{b}(env) val () = funset_foreach_env (xs, env) val res = $Q.qstruct_takeout_list (env) prval () = $Q.qstruct_uninitize{b}(env) // prval () = lemma_list_vt_param (res) // in res end // end of [funset_flistize] end // end of [local] (* ****** ****** *) (* end of [funset.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/linmap.hats0000664000175000017500000001242212655455557017753 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linmap_list // HX: shared by linmap_avltree // HX: shared by linmap_randbst // HX: shared by linmap_skiplist // (* ****** ****** *) // implement {key}(*tmp*) equal_key_key = gequal_val_val // implement {key}(*tmp*) compare_key_key = gcompare_val_val // (* ****** ****** *) implement {key,itm} linmap_search (t, k0, res) = let // val p = linmap_search_ref (t, k0) // in // if cptr2ptr(p) > 0 then let val (pf, fpf | p) = $UN.cptr_vtake (p) val () = res := !p prval () = fpf (pf) prval () = opt_some{itm}(res) in true end else let prval () = opt_none{itm}(res) in false end // end of [if] // end // end of [linmap_search] (* ****** ****** *) implement {key,itm} linmap_search_opt (map, k0) = let // var res: itm? val ans = linmap_search (map, k0, res) // in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt {itm} (res) end else let prval () = opt_unnone {itm} (res) in None_vt {itm} ((*void*)) end // end of [if] // end // end of [linmap_search_opt] (* ****** ****** *) implement {key,itm} linmap_insert_opt (map, k0, x0) = let // var res: itm? val ans = linmap_insert (map, k0, x0, res) // in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt {itm} (res) end else let prval () = opt_unnone {itm} (res) in None_vt {itm} ((*void*)) end // end of [if] // end // end of [linmap_insert_opt] (* ****** ****** *) implement {key,itm} linmap_takeout_opt (map, k0) = let // var res: itm? val ans = linmap_takeout (map, k0, res) // in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt{itm}(res) end else let prval () = opt_unnone {itm} (res) in None_vt{itm}((*void*)) end // end of [if] // end // end of [linmap_takeout_opt] (* ****** ****** *) implement {key,itm} linmap_remove (map, k0) = let // var res: itm val takeout = linmap_takeout (map, k0, res) prval () = opt_clear (res) // in takeout(*removed*) end // end of [linmap_remove] (* ****** ****** *) implement {key,itm} linmap_free (map) = let // implement linmap_freelin$clear (x) = () // in linmap_freelin (map) end // end of [linmap_free] (* ****** ****** *) implement{} fprint_linmap$sep (out) = fprint (out, "; ") implement{} fprint_linmap$mapto (out) = fprint (out, "->") implement {key,itm} fprint_linmap (out, map) = let // implement linmap_foreach$fwork (k, x, env) = { val () = if env > 0 then fprint_linmap$sep (out) val () = env := env + 1 val () = fprint_val (out, k) val () = fprint_linmap$mapto (out) val () = fprint_val (out, x) } (* end of [linmap_foreach$fwork] *) // var env: int = 0 // in linmap_foreach_env (map, env) end // end of [fprint_linmap] (* ****** ****** *) implement {key,itm} linmap_foreach (map) = let var env: void = () in linmap_foreach_env (map, env) end // end of [linmap_foreach] (* ****** ****** *) implement {key,itm} linmap_listize (map) = let // vtypedef ki2 = @(key, itm) // implement(k2,i2) linmap_flistize$fopr (k, x) = ($UN.castvwtp0{key}(k), $UN.castvwtp0{itm}(x)) // in $effmask_all(linmap_flistize (map)) end // end of [linmap_listize] (* ****** ****** *) local // staload Q = "libats/SATS/qlist.sats" // in (* in of [local] *) implement {key,itm} linmap_listize1 (map) = let // vtypedef ki = @(key, itm) vtypedef tenv = $Q.qstruct (ki) // implement(env) linmap_foreach$fwork (k, x, env) = let // val ( pf, fpf | p ) = $UN.ptr_vtake{tenv}(addr@(env)) val () = $Q.qstruct_insert (env, @(k, x)) prval () = fpf (pf) // in // nothing end // end of [linmap_foreach$fwork] // var env: $Q.qstruct val () = $Q.qstruct_initize{ki}(env) val () = $effmask_all (linmap_foreach_env (map, env)) val res = $Q.qstruct_takeout_list (env) prval () = $Q.qstruct_uninitize{ki}(env) // in res end // end of [linmap_listize1] end // end of [local] (* ****** ****** *) (* end of [linmap.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/funralist.hats0000664000175000017500000000566512655455557020515 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} funralist_make_list (xs) = let // fun loop {m,n:nat} .. ( xs: list_vt (a, m), res: ralist (a, n) ) : ralist (a, m+n) = ( case+ xs of | ~list_vt_cons (x, xs) => loop (xs, funralist_cons (x, res)) | ~list_vt_nil ((*void*)) => res ) // end of [loop] // prval () = lemma_list_param (xs) // in loop (list_reverse (xs), funralist_nil ()) end // end of [funralist_make_list] (* ****** ****** *) implement{a} fprint_funralist (out, xs) = let // typedef tenv = int // implement funralist_foreach$fwork (x, env) = let // val () = if env > 0 then fprint_funralist$sep (out) // end of [val] val () = fprint_val (out, x) val () = env := env + 1 // in // nothing end // end of [funralist_foreach$fwork] // var env: tenv = 0 val () = funralist_foreach_env (xs, env) // in // nothing end // end of [fprint_funralist] implement{} fprint_funralist$sep (out) = fprint (out, ", ") (* ****** ****** *) local staload Q = "libats/SATS/qlist.sats" in (* in of [local] *) implement{a} funralist_listize {n} (xs) = let // viewtypedef tenv = $Q.qstruct (a) // implement funralist_foreach$fwork (x, env) = $Q.qstruct_insert (env, x) // var env: $Q.qstruct val () = $Q.qstruct_initize {a} (env) val () = $effmask_all (funralist_foreach_env (xs, env)) val res = $Q.qstruct_takeout_list (env) val () = $Q.qstruct_uninitize {a} (env) // in $UN.castvwtp0{list_vt(a,n)}(res) end // end of [funralist_listize] end // end of [local] (* ****** ****** *) (* end of [funralist.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/funmset.hats0000664000175000017500000000614712655455557020163 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2015 *) (* ****** ****** *) implement {a}(*tmp*) compare_elt_elt = gcompare_val_val (* ****** ****** *) // implement {}(*tmp*) funmset_isnot_nil (xs) = not(funmset_is_nil<> (xs)) // (* ****** ****** *) implement {a}(*tmp*) funmset_size(xs) = let // typedef tenv = size_t // implement(a) funmset_foreach$fwork (n, x, env) = (env := env + i2sz(n)) // var env: tenv = i2sz(0) // in // $effmask_all(funmset_foreach_env (xs, env)); env // end // end of [funmset_size] // (* ****** ****** *) // implement {a}(*tmp*) funmset_isnot_member (xs, x0) = not(funmset_is_member (xs, x0)) // (* ****** ****** *) // implement {a}(*tmp*) funmset_insert (xs, x0) = funmset_insert2(xs, 1, x0) implement {a}(*tmp*) funmset_remove (xs, x0) = funmset_remove2(xs, 1, x0) // (* ****** ****** *) implement {a}(*tmp*) funmset_foreach (nxs) = let // var env: void = () // in funmset_foreach_env (nxs, env) end // end of [funmset_foreach] (* ****** ****** *) // implement {}(*tmp*) fprint_funmset$sep (out) = fprint_string (out, ", ") // implement {a}(*tmp*) fprint_funmset_sep (out, xs, sep) = let // implement{} fprint_funmset$sep(out) = fprint_string(out, sep) // in fprint_funmset (out, xs) end // end of [fprint_funmset] // (* ****** ****** *) implement {a}(*tmp*) fprint_funmset (out, xs) = let // typedef tenv = int // implement funmset_foreach$fwork (n, x, env) = () where { // val () = if env > 0 then fprint_funmset$sep(out) // end of [if] val () = env := env + 1 val () = fprint_val (out, x) val () = fprint! (out, "(", n, ")") } (* end of [fprint_funmset$fwork] *) // var env: tenv = 0 // in funmset_foreach_env (xs, env) end // end of [fprint_funmset] (* ****** ****** *) (* end of [funmset.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/linmap_node.hats0000664000175000017500000000466212655455557020767 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linmap_list // HX: shared by linmap_avltree // (* ****** ****** *) implement{key} equal_key_key = gequal_val_val implement{key} compare_key_key = gcompare_val_val (* ****** ****** *) implement {key,itm} linmap_search_ref (map, k0) = let // val p0 = linmap_search_ngc (map, k0) // viewtypedef mynode1 = mynode1 (key,itm) // in // if p0 > 0 then let // val nx = $UN.castvwtp0{mynode1}{ptr}(p0) val p_elt = mynode_getref_itm (nx) val p0 = $UN.castvwtp0{ptr}{mynode1}(nx) // in p_elt end else cptr_null () // end of [if] // end // end of [linmap_search_ref] (* ****** ****** *) implement {key,itm} linmap_takeout (map, k0, res) = let // val nx = linmap_takeout_ngc (map, k0) val p_nx = mynode2ptr (nx) // in // if p_nx > 0 then let val () = res := mynode_getfree_itm (nx) // end of [val] prval () = opt_some{itm}(res) in true end else let prval () = mynode_free_null (nx) prval () = opt_none{itm}(res) in false end // end of [if] // end // end of [linmap_takeout] (* ****** ****** *) (* end of [linmap_node.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/hashtbl.hats0000664000175000017500000001325512655455557020125 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) // // HX: shared by hashtbl_chain // HX: shared by hashtbl_linprb // (* ****** ****** *) (* implement {key}(*tmp*) hash_key = ghash_val_val *) (* ****** ****** *) implement {key}(*tmp*) equal_key_key = gequal_val_val (* ****** ****** *) // // HX: 31 and 37 are top choices // implement hash_key (str) = string_hash_multiplier (31UL, 618033989UL, str) (* implement hash_key (str) = string_hash_multiplier (31UL, 61803398875UL, str) *) // (* ****** ****** *) implement{} hashtbl$recapacitize () = 1 // HX: default: resizable (* ****** ****** *) implement {key,itm} hashtbl_search (t, k0, res) = let // val p = hashtbl_search_ref (t, k0) // in // if cptr2ptr(p) > 0 then let val (pf, fpf | p) = $UN.cptr_vtake (p) val () = res := !p prval () = fpf (pf) prval () = opt_some {itm} (res) in true end else let prval () = opt_none {itm} (res) in false end // end of [if] // end // end of [hashtbl_search] (* ****** ****** *) implement {key,itm} hashtbl_search_opt (tbl, k0) = let var res: itm? val ans = hashtbl_search (tbl, k0, res) in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt {itm} (res) end else let prval () = opt_unnone {itm} (res) in None_vt {itm} ((*void*)) end // end of [if] // end // end of [hashtbl_search_opt] (* ****** ****** *) implement {key,itm} hashtbl_insert_opt (tbl, k0, x0) = let // var res: itm? val ans = hashtbl_insert (tbl, k0, x0, res) // in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt {itm} (res) end else let prval () = opt_unnone {itm} (res) in None_vt {itm} ((*void*)) end // end of [if] // end // end of [hashtbl_insert_opt] (* ****** ****** *) implement {key,itm} hashtbl_takeout_opt (tbl, k0) = let // var res: itm? val ans = hashtbl_takeout (tbl, k0, res) // in // if ans then let prval () = opt_unsome {itm} (res) in Some_vt{itm}(res) end else let prval () = opt_unnone {itm} (res) in None_vt{itm}((*void*)) end // end of [if] // end // end of [hashtbl_takeout_opt] (* ****** ****** *) implement {key,itm} hashtbl_remove (tbl, k0) = let // var res: itm val takeout = hashtbl_takeout (tbl, k0, res) prval () = opt_clear (res) // in takeout(*removed*) end // end of [hashtbl_remove] (* ****** ****** *) implement {key,itm} hashtbl_exchange (tbl, k0, x0) = let // val p_x1 = hashtbl_search_ref(tbl, k0) // val p_x1 = cptr2ptr(p_x1) // in // if isneqz(p_x1) then ($UN.ptr1_exch(p_x1, x0); true) else false // end // end of [hashtbl_exchange] (* ****** ****** *) implement {key,itm} fprint_hashtbl (out, tbl) = let // implement hashtbl_foreach$fwork (k, x, env) = { val () = if env > 0 then fprint_hashtbl$sep (out) val () = env := env + 1 val () = fprint_val (out, k) val () = fprint_hashtbl$mapto (out) val () = fprint_val (out, x) } (* end of [hashtbl_foreach$fwork] *) // var env: int = 0 // in hashtbl_foreach_env (tbl, env) end // end of [fprint_hashtbl] (* ****** ****** *) implement{} fprint_hashtbl$sep (out) = fprint (out, "; ") implement{} fprint_hashtbl$mapto (out) = fprint (out, "->") (* ****** ****** *) implement {key,itm} hashtbl_foreach (tbl) = let var env: void = () in hashtbl_foreach_env (tbl, env) end // end of [hashtbl_foreach] (* ****** ****** *) implement {key,itm} hashtbl_listize (tbl) = let // vtypedef ki2 = @(key, itm) // implement hashtbl_flistize$fopr (k, x) = @(k, x) // in hashtbl_flistize (tbl) end // end of [hashtbl_listize] (* ****** ****** *) local staload Q = "libats/SATS/qlist.sats" in (* in of [local] *) implement {key,itm} hashtbl_listize1 (tbl) = let // vtypedef ki = @(key, itm) vtypedef tenv = $Q.qstruct (ki) // implement(env) hashtbl_foreach$fwork (k, x, env) = let // val ( pf, fpf | p ) = $UN.ptr_vtake{tenv}(addr@(env)) val () = $Q.qstruct_insert (env, @(k, x)) prval () = fpf (pf) // in // nothing end // end of [hashtbl_foreach$fwork] // var env: $Q.qstruct val () = $Q.qstruct_initize{ki}(env) val () = $effmask_all (hashtbl_foreach_env (tbl, env)) val res = $Q.qstruct_takeout_list (env) prval () = $Q.qstruct_uninitize{ki}(env) // prval () = lemma_list_vt_param (res) // in res end // end of [hashtbl_listize1] end // end of [local] (* ****** ****** *) (* end of [hashtbl.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/linset_node.hats0000664000175000017500000000701312655455557020776 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) // // HX: shared by linset_listord (* ordered list *) // HX: shared by linset_avltree (* AVL-tree-based *) // (* ****** ****** *) implement{a} linset_insert_ngc (set, nx0) = let // val p = mynode2ptr (nx0) // implement{a} mynode_make_elt (x0) = $UN.castvwtp0{mynode1(a)}(p) // val x0 = mynode_get_elt (nx0) val ans = linset_insert (set, x0) // in (* in of [let] *) // if ans then nx0 else let prval () = $UN.cast2void(nx0) in mynode_null{a}((*void*)) end // end of [if] // end // end of [linset_insert_ngc] (* ****** ****** *) implement {a}(*tmp*) linset_remove (xs, x0) = let // val nx = linset_takeout_ngc (xs, x0) val p_nx = mynode2ptr (nx) // in // if p_nx > 0 then let val () = mynode_free (nx) in true end // end of [then] else let prval () = mynode_free_null (nx) in false end // end of [else] // end of [if] // end // end of [linset_remove] (* ****** ****** *) implement {a}(*tmp*) linset_takeout (xs, x0, res) = let // val nx = linset_takeout_ngc (xs, x0) val p_nx = mynode2ptr (nx) // in // if p_nx > 0 then let val () = res := mynode_getfree_elt (nx) // end of [val] prval () = opt_some{a}(res) in true end else let prval () = mynode_free_null (nx) prval () = opt_none{a}(res) in false end // end of [if] // end // end of [linset_takeout] (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmax (xs, res) = let // val nx = linset_takeoutmax_ngc (xs) val p_nx = mynode2ptr (nx) // in // if p_nx > 0 then let val () = res := mynode_getfree_elt (nx) // end of [val] prval () = opt_some{a}(res) in true end else let prval () = mynode_free_null (nx) prval () = opt_none{a}(res) in false end // end of [if] // end // end of [linset_takeoutmax] (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmin (xs, res) = let // val nx = linset_takeoutmin_ngc (xs) val p_nx = mynode2ptr (nx) // in // if p_nx > 0 then let val () = res := mynode_getfree_elt (nx) // end of [val] prval () = opt_some{a}(res) in true end else let prval () = mynode_free_null (nx) prval () = opt_none{a}(res) in false end // end of [if] // end // end of [linset_takeoutmin] (* ****** ****** *) (* end of [linset_node.hats] *) ATS2-Postiats-0.2.6/./libats/DATS/SHARE/.keeper0000664000175000017500000000000012655455557017053 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/DATS/ilist_prf.dats0000664000175000017500000004115312655455557017623 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: October, 2010 // (* ****** ****** *) // // HX: reasoning about integer sequences // (* ****** ****** *) // // HX-2012-12: starting to implement proofs // (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" (* ****** ****** *) (* prfun ILISTEQ2_elim {xs1,xs2:ilist} (pf: ILISTEQ2(xs1, xs2)): ILISTEQ(xs1, xs2) // end of [ILISTEQ2_elim] *) primplmnt ILISTEQ2_elim (pf) = let // prfun lemma {xs1,xs2:ilist} .. ( pf: ILISTEQ2(xs1, xs2) ) : ILISTEQ(xs1, xs2) = let in // case+ pf of | ILISTEQ2nil() => ILISTEQ() | ILISTEQ2cons(pf) => let prval ILISTEQ () = lemma (pf) in ILISTEQ () end // end of [ILISTEQ_cons] // end // end of [lemma] // in lemma (pf) end // end of [ILISTEQ2_elim] (* ****** ****** *) (* prfun length_istot {xs:ilist} (): [n:nat] LENGTH (xs, n) *) primplmnt length_istot {xs} () = let // prfun lemma {xs:ilist} .. (): [n:nat] LENGTH (xs, n) = ( scase xs of | ilist_cons (x, xs) => LENGTHcons (lemma {xs} ()) | ilist_nil () => LENGTHnil () ) // end of [lemma] // in lemma {xs} () end // end of [length_istot] (* ****** ****** *) (* prfun length_isfun {xs:ilist} {n1,n2:int} (pf1: LENGTH (xs, n1), pf2: LENGTH (xs, n2)): [n1==n2] void // end of [length_isfun] *) primplmnt length_isfun {xs} (pf1, pf2) = let // prfun lemma {xs:ilist} {n1,n2:int} .. ( pf1: LENGTH (xs, n1), pf2: LENGTH (xs, n2) ) : [n1==n2] void = let in // case+ (pf1, pf2) of | (LENGTHcons (pf1), LENGTHcons (pf2)) => lemma (pf1, pf2) | (LENGTHnil (), LENGTHnil ()) => () // end // end of [length_isfun] // in lemma (pf1, pf2) end // end of [length_isfun] (* ****** ****** *) (* prfun length_isnat {xs:ilist} {n:int} (pf: LENGTH (xs, n)): [n>=0] void // end of [length_isnat] *) primplmnt length_isnat (pf) = ( case+ pf of LENGTHcons _ => () | LENGTHnil () => () ) // end of [length_isnat] (* ****** ****** *) (* prfun lemma_snoc_length {xs:ilist}{x:int}{xsx:ilist}{n:int} (pf1: SNOC (xs, x, xsx), pf2: LENGTH (xs, n)): LENGTH (xsx, n+1) // end of [lemma_snoc_length] *) primplmnt lemma_snoc_length (pf1, pf2) = let // prfun lemma {xs:ilist} {x:int} {xsx:ilist} {n:int} .. ( pf1: SNOC (xs, x, xsx), pf2: LENGTH (xs, n) ) : LENGTH (xsx, n+1) = let in // case+ pf1 of // | SNOCnil () => let prval LENGTHnil () = pf2 in LENGTHcons (LENGTHnil ()) end // end of [SNOCnil] // | SNOCcons (pf1) => let prval LENGTHcons (pf2) = pf2 in LENGTHcons (lemma (pf1, pf2)) end // end of [SNOCcons] // end // end of [lemma] // in lemma (pf1, pf2) end // end of [lemma_snoc_length] (* ****** ****** *) primplmnt append_istot {xs,ys} () = let // prfun istot {xs,ys:ilist} .. () : [zs:ilist] APPEND (xs, ys, zs) = scase xs of | ilist_nil () => APPENDnil () | ilist_cons (x, xs) => APPENDcons (istot {xs,ys} ()) // end of [istot] in istot {xs,ys} () end // end of [append_istot] primplmnt append_isfun (pf1, pf2) = let // prfun isfun {xs,ys:ilist} {zs1,zs2:ilist} .. ( pf1: APPEND (xs, ys, zs1), pf2: APPEND (xs, ys, zs2) ) : ILISTEQ (zs1, zs2) = ( case+ (pf1, pf2) of | (APPENDnil (), APPENDnil ()) => ILISTEQ () | (APPENDcons (pf1), APPENDcons (pf2)) => let prval ILISTEQ () = isfun (pf1, pf2) in ILISTEQ () end // end of [...] ) // end of [isfun] in isfun (pf1, pf2) end // end of [append_isfun] (* ****** ****** *) primplmnt append_unit_left () = APPENDnil () primplmnt append_unit_right {xs} () = let // prfun lemma {xs:ilist} .. ( ) : APPEND (xs, ilist_nil, xs) = scase xs of | ilist_cons (x, xs) => APPENDcons (lemma {xs} ()) | ilist_nil () => APPENDnil () // in lemma {xs} () end // end of [append_unit_right] (* ****** ****** *) primplmnt append_sing () = APPENDcons (APPENDnil ()) (* ****** ****** *) (* prfun lemma_append_length {xs1,xs2:ilist} {xs:ilist} {n1,n2:int} ( pf: APPEND (xs1, xs2, xs), pf1len: LENGTH (xs1, n1), pf2len: LENGTH (xs2, n2) ) : LENGTH (xs, n1+n2) // end of [lemma_append_length] *) primplmnt lemma_append_length (pf, pf1len, pf2len) = let // prfun lemma {xs1,xs2:ilist} {xs:ilist} {n1,n2:nat} .. ( pf: APPEND (xs1, xs2, xs), pf1len: LENGTH (xs1, n1), pf2len: LENGTH (xs2, n2) ) : LENGTH (xs, n1+n2) = let in // case+ pf of | APPENDnil () => let prval LENGTHnil () = pf1len in pf2len end // end of [APPENDnil] | APPENDcons (pf) => let prval LENGTHcons (pf1len) = pf1len in LENGTHcons (lemma (pf, pf1len, pf2len)) end // end of [APPENDcons] // end // end of [lemma] // prval () = length_isnat (pf1len) prval () = length_isnat (pf2len) // in lemma (pf, pf1len, pf2len) end // end of [lemma_append_length] (* ****** ****** *) (* prfun lemma_append_snoc {xs1:ilist} {x:int} {xs2:ilist} {xs1x:ilist} {xs:ilist} ( pf1: APPEND (xs1, ilist_cons (x, xs2), xs) , pf2: SNOC (xs1, x, xs1x) ) : APPEND (xs1x, xs2, xs) // end of [lemma_append_snoc] *) primplmnt lemma_append_snoc (pf1, pf2) = let // prfun lemma {xs1:ilist} {x:int} {xs2:ilist} {xs1x:ilist} {xs:ilist} .. ( pf1: APPEND (xs1, ilist_cons (x, xs2), xs) , pf2: SNOC (xs1, x, xs1x) ) : APPEND (xs1x, xs2, xs) = let in // case+ pf1 of | APPENDnil () => let prval SNOCnil () = pf2 in APPENDcons (APPENDnil) end // end of [APPENDnil] | APPENDcons (pf1) => let prval SNOCcons (pf2) = pf2 in APPENDcons (lemma (pf1, pf2)) end // end of [APPENDcons] // end // end of [lemma] // in lemma (pf1, pf2) end // end of [lemma_append_snoc] (* ****** ****** *) (* prfun lemma_append_assoc {xs1,xs2,xs3:ilist} {xs12,xs23:ilist} {xs12_3,xs1_23:ilist} ( pf12: APPEND (xs1, xs2, xs12), pf23: APPEND (xs2, xs3, xs23) , pf12_3: APPEND (xs12, xs3, xs12_3), pf1_23: APPEND (xs1, xs23, xs1_23) ) : ILISTEQ (xs12_3, xs1_23) // end of [lemma_append_assoc] *) primplmnt lemma_append_assoc ( pf12, pf23, pf12_3, pf1_23 ) = let // prfun lemma {xs1,xs2,xs3:ilist} {xs12,xs23:ilist} {xs12_3,xs1_23:ilist} .. ( pf12: APPEND (xs1, xs2, xs12), pf23: APPEND (xs2, xs3, xs23) , pf12_3: APPEND (xs12, xs3, xs12_3), pf1_23: APPEND (xs1, xs23, xs1_23) ) : ILISTEQ (xs12_3, xs1_23) = let in // case+ pf12 of | APPENDnil () => let prval APPENDnil () = pf1_23 prval ILISTEQ () = append_isfun (pf23, pf12_3) in ILISTEQ () end // end of [APPENDnil] | APPENDcons (pf12) => let prval APPENDcons (pf12_3) = pf12_3 prval APPENDcons (pf1_23) = pf1_23 prval ILISTEQ () = lemma (pf12, pf23, pf12_3, pf1_23) in ILISTEQ () end // end of [APPENDcons] // end // end of [lemma] // in lemma (pf12, pf23, pf12_3, pf1_23) end // end of [lemma_append_assoc] (* ****** ****** *) (* prfun lemma_nth_ilisteq {xs1,xs2:ilist}{n:int} ( pf1len: LENGTH (xs1, n), pf2len: LENGTH (xs2, n) , fpf: {x:int}{i:int | i < n} NTH (x, xs1, i) -> NTH (x, xs2, i) ) : ILISTEQ (xs1, xs2) = *) primplmnt lemma_nth_ilisteq (pf1len, pf2len, fpf) = let // prval () = length_isnat(pf1len) // prfun lemma {xs1,xs2:ilist} {n:nat} .. ( pf1len: LENGTH (xs1, n) , pf2len: LENGTH (xs2, n) , fpf: {x:int}{i:int | i < n} NTH (x, xs1, i) -> NTH (x, xs2, i) ) : ILISTEQ (xs1, xs2) = let in // sif n > 0 then let prval LENGTHcons{x1}{xs11} pf11len = pf1len prval LENGTHcons{x2}{xs21} pf21len = pf2len prval NTHbas () = fpf {x1}{0} (NTHbas ()) prfn fpf1 {x:int}{i:int | i < n-1} (pf: NTH (x, xs11, i)): NTH (x, xs21, i) = let prval _ = lemma_nth_param(pf) prval NTHind (pfres) = fpf(NTHind(pf)) in pfres end // end of [fpf1] prval ILISTEQ () = lemma (pf11len, pf21len, fpf1) in ILISTEQ () end else let prval LENGTHnil () = pf1len and LENGTHnil () = pf2len in ILISTEQ () end // end of [sif] // end // end of [lemma] // in lemma (pf1len, pf2len, fpf) end // end of [lemma_nth_ilisteq] (* ****** ****** *) primplmnt lemma_length_nth (pflen) = let // prfun lemma {xs:ilist} {n:int}{i:nat | i < n} .. ( pflen: LENGTH(xs, n) ) : [x:int] NTH(x, xs, i) = let // prval LENGTHcons(pflen1) = pflen // in // sif (i==0) then NTHbas() else NTHind(lemma{..}{..}{i-1}(pflen1)) // end (* end of [lemma] *) // in lemma(pflen) end // end of [lemma_length_nth] (* ****** ****** *) primplmnt revapp_istot {xs,ys} () = let // prfun istot {xs,ys:ilist} .. ( // argumentless ) : [zs:ilist] REVAPP (xs, ys, zs) = scase xs of | ilist_nil () => REVAPPnil () | ilist_cons (x, xs) => REVAPPcons (istot {xs,ilist_cons (x,ys)} ()) // end of [ilist_cons] // end of [istot] in istot {xs,ys} () end // end of [revapp_istot] primplmnt revapp_isfun (pf1, pf2) = let // prfun isfun {xs,ys:ilist} {zs1,zs2:ilist} .. ( pf1: REVAPP (xs, ys, zs1), pf2: REVAPP (xs, ys, zs2) ) : ILISTEQ (zs1, zs2) = ( case+ (pf1, pf2) of | (REVAPPnil (), REVAPPnil ()) => ILISTEQ () | (REVAPPcons (pf1), REVAPPcons (pf2)) => let prval ILISTEQ () = isfun (pf1, pf2) in ILISTEQ () end // end of [...] ) // end of [isfun] in isfun (pf1, pf2) end // end of [revapp_isfun] (* ****** ****** *) (* prfun lemma_revapp_length {xs,ys,zs:ilist}{m,n:int} .. ( pf1: REVAPP (xs, ys, zs), pf2: LENGTH (xs, m), pf3: LENGTH (ys, n) ) : LENGTH (zs, m+n) // end of [lemma_revapp_length] *) primplmnt lemma_revapp_length (pf, pf1len, pf2len) = let // prfun lemma {xs,ys,zs:ilist} {m,n:nat} .. ( pf: REVAPP (xs, ys, zs) , pf1len: LENGTH (xs, m), pf2len: LENGTH (ys, n) ) : LENGTH (zs, m+n) = let in // case+ pf of | REVAPPnil () => let prval LENGTHnil () = pf1len in pf2len end // end of[REVAPPnil] | REVAPPcons (pf) => let prval LENGTHcons(pf1len) = pf1len in lemma (pf, pf1len, LENGTHcons(pf2len)) end // end of [REVAPPcons] // end // end of [revapp_length_lemma] // prval () = length_isnat (pf1len) prval () = length_isnat (pf2len) // in lemma (pf, pf1len, pf2len) end // end of [lemma_revapp_length] (* ****** ****** *) primplmnt reverse_istot() = revapp_istot() primplmnt reverse_isfun(pf1, pf2) = revapp_isfun(pf1, pf2) (* ****** ****** *) // primplmnt lemma_reverse_length (pfrev, pflen) = lemma_revapp_length(pfrev, pflen, LENGTHnil()) // (* ****** ****** *) (* prfun lemma1_revapp_nth {xs,ys,zs:ilist}{n:int}{x:int}{i:int} ( pf: REVAPP (xs, ys, zs), pflen: LENGTH (xs, n), pfnth: NTH (x, ys, i) ) : NTH (x, zs, n+i) // end of [lemma1_revapp_nth] *) primplmnt lemma1_revapp_nth (pf, pflen, pfnth) = let // prfun lemma {xs,ys,zs:ilist} {n:int}{x:int}{i:int} .. ( pf: REVAPP (xs, ys, zs), pflen: LENGTH (xs, n), pfnth: NTH (x, ys, i) ) : NTH (x, zs, n+i) = let // prval _ = lemma_nth_param(pfnth) // in // case+ pf of | REVAPPnil () => let prval LENGTHnil () = pflen in pfnth end // end of [REVAPPnil] | REVAPPcons (pf) => let prval LENGTHcons (pflen) = pflen in lemma (pf, pflen, NTHind (pfnth)) end // end of[REVAPPcons] // end // end of [lemma1_revapp_nth] // in lemma (pf, pflen, pfnth) end // end of [lemma1_revapp_nth] (* ****** ****** *) (* prfun lemma2_revapp_nth {xs,ys,zs:ilist}{n:int}{x:int}{i:int} ( pf: REVAPP (xs, ys, zs), pflen: LENGTH (xs, n), pfnth: NTH (x, xs, i) ) : NTH (x, zs, n-1-i) // end of [lemma2_revapp_nth] *) primplmnt lemma2_revapp_nth (pf, pflen, pfnth) = let // prval _ = lemma_nth_param(pfnth) // prfun lemma {xs,ys,zs:ilist} {n:int}{x:int}{i:nat} .. ( pf: REVAPP (xs, ys, zs) , pflen: LENGTH (xs, n), pfnth: NTH (x, xs, i) ) : NTH (x, zs, n-1-i) = let in // case+ pfnth of // | NTHbas () => let prval REVAPPcons (pf) = pf prval LENGTHcons pflen = pflen in lemma1_revapp_nth (pf, pflen, NTHbas ()) end // end of [NTHbas] // | NTHind (pfnth) => let prval REVAPPcons (pf) = pf prval LENGTHcons (pflen) = pflen in lemma (pf, pflen, pfnth) end // end of [NTHind] // end // end of [lemma] // in lemma (pf, pflen, pfnth) end // end of [lemma2_revapp_nth] (* ****** ****** *) primplmnt lemma_reverse_nth (pf, pflen, pfnth) = lemma2_revapp_nth (pf, pflen, pfnth) // end of [lemma_reverse_nth] (* ****** ****** *) primplmnt lemma_reverse_symm{xs,ys}(pf) = let // prval [n:int] pflen_xs = length_istot {xs} () prval pflen_ys = lemma_revapp_length (pf, pflen_xs, LENGTHnil ()) prval [zs:ilist] pfrev_zs = revapp_istot {ys,ilist_nil} () prval pflen_zs = lemma_revapp_length (pfrev_zs, pflen_ys, LENGTHnil ()) // prfun fpf {x:int} {i:int | i < n} .<>. (pfnth: NTH (x, xs, i)): NTH (x, zs, i) = let prval pf2nth = lemma_reverse_nth (pf, pflen_xs, pfnth) in lemma_reverse_nth (pfrev_zs, pflen_ys, pf2nth) end // end of [fpf] // prval ILISTEQ () = lemma_nth_ilisteq (pflen_xs, pflen_zs, fpf) // in pfrev_zs end // end of [lemma_reverse_symm] (* ****** ****** *) (* prfun lemma_insert_length {x0:int}{xs:ilist}{i:int}{ys:ilist}{n:int} (pf1: INSERT (x0, xs, i, ys), pf2: LENGTH (xs, n)): LENGTH (ys, n+1) // end of [lemma_insert_length] *) primplmnt lemma_insert_length (pf1, pf2) = let // prfun lemma {x0:int}{xs:ilist}{i:int}{ys:ilist}{n:int} .. (pf1: INSERT (x0, xs, i, ys), pf2: LENGTH (xs, n)): LENGTH (ys, n+1) = let in // case+ pf1 of | INSERTbas () => let prval () = length_isnat (pf2) in LENGTHcons (pf2) end // end of [INSERTbas] | INSERTind (pf1) => let prval LENGTHcons (pf2) = pf2 in LENGTHcons (lemma (pf1, pf2)) end // end of [INSERTind] // end // end of [lemma] // in lemma (pf1, pf2) end // end of [lemma_insert_length] (* ****** ****** *) (* prfun lemma_insert_nth_at {x0:int}{xs:ilist}{i:int}{ys:ilist} (pf: INSERT (x0, xs, i, ys)): NTH (x0, ys, i) // end of [lemma_insert_nth_eq] *) primplmnt lemma_insert_nth_at (pf) = let // prfun lemma {x0:int}{xs:ilist}{i:int}{ys:ilist} .. (pf: INSERT (x0, xs, i, ys)): NTH (x0, ys, i) = let in case+ pf of | INSERTbas () => NTHbas () | INSERTind (pf) => NTHind (lemma (pf)) end // end of [lemma] // in lemma (pf) end // end of [lemma_insert_nth_at] (* ****** ****** *) (* prfun lemma_insert_nth_lt {x0:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j < i} (pf1: INSERT (x0, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j) // end of [lemma_insert_nth_lt] *) primplmnt lemma_insert_nth_lt (pf1, pf2) = let // prfun lemma {x0:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j < i} .. (pf1: INSERT (x0, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j) = let in // case+ pf2 of | NTHbas () => let prval INSERTind (pf1) = pf1 in NTHbas () end // end of [NTHbas] | NTHind (pf2) => let prval INSERTind (pf1) = pf1 in NTHind (lemma (pf1, pf2)) end // end of [NTHind] // end // end of [lemma] // in lemma (pf1, pf2) end // end of [lemma_insert_nth_lt] (* ****** ****** *) (* prfun lemma_insert_nth_gte {x0:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j >= i} (pf1: INSERT (x0, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j+1) // end of [lemma_insert_nth_lt] *) primplmnt lemma_insert_nth_gte (pf1, pf2) = let // prfun lemma {x0:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j >= i} .. (pf1: INSERT (x0, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j+1) = let // in // case+ pf1 of | INSERTbas () => NTHind (pf2) | INSERTind (pf1) => let prval NTHind (pf2) = pf2 in NTHind (lemma (pf1, pf2)) end // end of [INSERTind] // end // end of [lemma] // in lemma (pf1, pf2) end // end of [lemma_insert_nth_gte] (* ****** ****** *) (* prfun lemma_nth_insert {x:int} {xs:ilist} {n:int} (pf: NTH (x, xs, n)): [ys:ilist] INSERT (x, ys, n, xs) // end of [lemma_nth_insert] *) primplmnt lemma_nth_insert (pf) = let // prfun lemma {x:int} {xs:ilist} {n:int} .. (pf: NTH (x, xs, n)): [ys:ilist] INSERT (x, ys, n, xs) = let in // case+ pf of | NTHbas () => INSERTbas () | NTHind (pf) => INSERTind (lemma (pf)) // end // in lemma (pf) end // end of [lemma_nth_insert] (* ****** ****** *) (* end of [ilist_prf.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gflist.dats0000664000175000017500000001500712655455557017117 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) // // HX: generic functional lists (fully indexed) // (* ****** ****** *) // // HX-2012-11-28: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" (* ****** ****** *) staload "libats/SATS/gflist.sats" staload "libats/SATS/gflist_vt.sats" (* ****** ****** *) implement {a}(*tmp*) gflist_length (xs) = let // val (pf | xs) = gflist2list (xs) // in (pf | list_length (xs)) end // end of [gflist_length] (* ****** ****** *) // implement {a}(*tmp*) gflist_snoc {xs}{x0}(xs, x0) = let // fun loop {xs:ilist} ( xs: gflist (a, xs) , x0: stamped_t (a, x0) , res: &ptr? >> gflist_vt(a, xsx) ) : #[xsx:ilist] (SNOC(xs, x0, xsx) | void) = ( // case+ xs of | gflist_nil() => let val x0 = stamped_t2vt(x0) val () = res := gflist_vt_sing(x0) // end of [val] in (SNOCnil() | ()) end // end of [gflist_nil] | gflist_cons(x, xs) => let val x = stamped_t2vt(x) val () = res := gflist_vt_cons(x, _) // end of [val] val+gflist_vt_cons(_, res1) = res val (pf1 | ()) = loop (xs, x0, res1) prval () = fold@(res) in (SNOCcons(pf1) | ()) end // end of [gflist_cons] // ) (* end of [loop] *) // var res: ptr? // uninitialized val (pfsnoc | ()) = loop (xs, x0, res) // in (pfsnoc | res) end (* end of [gflist_snoc] *) (* ****** ****** *) implement {a}(*tmp*) gflist_copy (xs) = let // fun loop {xs:ilist} .. ( xs: gflist (a, xs), res: &ptr? >> gflist_vt (a, xs) ) : void = let in // case+ xs of | gflist_nil() => (res := gflist_vt_nil()) // end of [gflist_nil] | gflist_cons(x, xs1) => let val x = stamped_t2vt (x) val () = res := gflist_vt_cons(x, _) val+ gflist_vt_cons (_, res1) = res val ((*void*)) = loop (xs1, res1) prval ((*void*)) = fold@ (res) in // nothing end // end of [gflist_vt_cons] end // end of [loop] // var res: ptr // uninitialized // val () = $effmask_wrt (loop (xs, res)) // in res end // end of [gflist_copy] (* ****** ****** *) implement {a}(*tmp*) gflist_append (xs1, xs2) = let // fun loop {xs1:ilist} {xs2:ilist} .. ( xs1: gflist (a, xs1) , xs2: gflist (a, xs2) , res: &ptr? >> gflist (a, ys) ) : #[ys:ilist] (APPEND(xs1, xs2, ys) | void) = let in // case+ xs1 of | gflist_nil() => let val () = res := xs2 in (APPENDnil() | ()) end // end of [gflist_nil] | gflist_cons(x1, xs1) => let val () = res := gflist_cons(x1, _) val+gflist_cons(_, res1) = res val (pf | ()) = loop (xs1, xs2, res1) prval () = fold@ (res) in (APPENDcons(pf) | ()) end // end of [gflist_cons] // end // end of [loop] // var res: ptr // uninitialized // val (pf | ()) = $effmask_wrt(loop (xs1, xs2, res)) // in (pf | res) end // end of [gflist_append] (* ****** ****** *) implement {a}(*tmp*) gflist_revapp (xs1, xs2) = let // fun loop {xs1,xs2:ilist} .. ( xs1: gflist (a, xs1), xs2: gflist (a, xs2) ) :<> [res:ilist] (REVAPP (xs1, xs2, res) | gflist (a, res)) = let in // case+ xs1 of // | gflist_nil() => (REVAPPnil () | xs2) // end of [gflist_nil] // | gflist_cons(x1, xs1) => let val (pf | res) = loop (xs1, gflist_cons(x1, xs2)) in (REVAPPcons (pf) | res) end // end of [gflist_cons] // end // end of [loop] // in loop (xs1, xs2) end // end of [gflist_revapp] (* ****** ****** *) implement {a}(*tmp*) gflist_revapp1_vt (xs1, xs2) = let // val xs2 = __cast (xs2) where { extern castfn __cast{xs2:ilist} (gflist (a, xs2)):<> gflist_vt (a, xs2) // end of [castfn] } (* end of [val] *) val (pf | ys) = gflist_vt_revapp (xs1, xs2) // in (pf | gflist_vt2t{a}(ys)) end // end of [gflist_revapp1_vt] (* ****** ****** *) implement {a}(*tmp*) gflist_revapp2_vt (xs1, xs2) = let // fun loop {xs1,xs2:ilist} .. ( xs1: gflist (a, xs1), xs2: gflist_vt (a, xs2) ) :<> [res:ilist] (REVAPP (xs1, xs2, res) | gflist_vt (a, res)) = let in // case+ xs1 of | gflist_nil() => (REVAPPnil () | xs2) // end of [gflist_nil] | gflist_cons(x1, xs1) => let val x1 = stamped_t2vt (x1) val (pf | res) = loop (xs1, gflist_vt_cons(x1, xs2)) in (REVAPPcons (pf) | res) end // end of [gflist_cons] // end // end of [loop] // in loop (xs1, xs2) end // end of [gflist_revapp2_vt] (* ****** ****** *) implement {a}(*tmp*) gflist_reverse (xs) = $effmask_wrt (gflist_revapp2_vt (xs, gflist_vt_nil)) // end of [gflist_reverse] (* ****** ****** *) implement {a}(*tmp*) gflist_get_at {xs}{x0}{i} (pf | xs, i) = let // fun loop {xs:ilist}{i:int} ( pf: NTH(x0, xs, i) | xs: gflist(a, xs), i: int(i) ) : stamped_t(a, x0) = let // prval ILISTEQ() = lemma_nth_param(pf) // val+gflist_cons(x, xs) = xs // in // if i = 0 then let prval NTHbas() = pf in x end // end of [then] else let prval NTHind(pf) = pf in loop(pf | xs, i-1) end // end of [else] // end // end of [loop] // in loop (pf | xs, i) end (* end of [gflist_get_at] *) (* ****** ****** *) implement {a}(*tmp*) gflist_mergesort (xs) = let // val xs = gflist_copy(xs) // implement(a:t0p) gflist_vt_mergesort$cmp (x1, x2) = gflist_mergesort$cmp(stamped_vt2t_ref(x1), stamped_vt2t_ref(x2)) // in gflist_vt_mergesort(xs) end // end of [gflist_mergesort] (* ****** ****** *) (* end of [gflist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/hashtbl_linprb.dats0000664000175000017500000003463712655455557020634 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2014 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.hashtbl_linprb" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STRING = "libc/SATS/string.sats" (* ****** ****** *) staload "libats/SATS/hashfun.sats" (* ****** ****** *) staload "libats/SATS/hashtbl_linprb.sats" (* ****** ****** *) #include "./SHARE/hashtbl.hats" // code reuse (* ****** ****** *) implement {key,itm} hashtbl_linprb_keyitm_nullize (kx) = let vtypedef ki = @(key, itm) val _(*ptr*) = $STRING.memset_unsafe(addr@(kx), 0, sizeof) prval () = __assert (kx) where { extern praxi __assert (&(ki)? >> _): void } (* end of [prval] *) in // nothing end // end of [hashtbl_linprb_keyitm_nullize] (* ****** ****** *) implement(itm) hashtbl_linprb_keyitm_is_null (kx) = (string2ptr(kx.0) = 0) (* ****** ****** *) extern fun{ key:t0p; itm:vt0p } keyitmarr_linprb{m:int} ( A: &array((key,itm), m), cap: size_t(m), k0: key, ans: &bool? >> _ ) : Ptr0 // end of [keyitmarr_linprb] (* ****** ****** *) implement {key,itm} keyitmarr_linprb {m}(A, cap, k0, ans) = let // val p0 = addr@(A) vtypedef ki = @(key, itm) val p_end = ptr_add (p0, cap) // fun loop ( p: ptr, ans: &bool? >> _ ) : ptr = ( if p < p_end then let val (pf, fpf | p) = $UN.ptr0_vtake{ki}(p) val isnul = hashtbl_linprb_keyitm_is_null (!p) prval ((*void*)) = fpf (pf) in if isnul then let val () = ans := false in p end // end of [then] else let val (pf, fpf | p) = $UN.ptr0_vtake{ki}(p) val keq = equal_key_key (k0, p->0) prval ((*void*)) = fpf (pf) in if keq then let val () = ans := true in p end // end of [then] else loop (ptr_succ (p), ans) // end of [if] end // end of [else] // end of [if] end // end of [then] else let val () = ans := false in the_null_ptr end // end of [else] ) // val p_kx = loop(addr@(A), ans) // in g1ofg0 (p_kx) // it needs to be of the type [Ptr0] end // end of [keyitmarr_linprb] (* ****** ****** *) extern fun{ key:t0p; itm:vt0p } keyitmarr_linprb2 {m:int}{ofs:int | ofs <= m} ( A: &array((key,itm), m), cap: size_t(m), ofs: size_t(ofs), k0: key, ans: &bool? >> _ ) : Ptr0 // end of [keyitmarr_linprb2] (* ****** ****** *) implement {key,itm} keyitmarr_linprb2 {m}{ofs} ( A, cap, ofs, k0, ans ) = let // val p0 = addr@(A) vtypedef ki = @(key, itm) val p1 = ptr_add (p0, ofs) // stadef n1 = ofs and n2 = m - ofs // val (pf, fpf | p1) = $UN.ptr0_vtake{array(ki,n2)}(p1) val p_kx = keyitmarr_linprb (!p1, cap - ofs, k0, ans) prval () = fpf (pf) // in // if p_kx > 0 then p_kx else let val (pf, fpf | p0) = $UN.ptr0_vtake{array(ki,n1)}(p0) val p_kx = keyitmarr_linprb (!p0, ofs, k0, ans) prval () = fpf (pf) in p_kx end // end of [else] // end of [if] // end // end of [keyitmarr_linprb2] (* ****** ****** *) extern fun{ key:t0p; itm:vt0p } keyitmarr_reinserts {m:int} ( A: &array((key,itm), m) >> _, cap: size_t(m), p_kx: ptr ) : void // end of [keyitmarr_reinserts] (* ****** ****** *) implement {key,itm} keyitmarr_reinserts {m}(A, cap, p_kx) = let // val p0 = addr@(A) vtypedef ki = @(key, itm) val p_end = ptr_add (p0, cap) // fun loop ( A: &array(ki, m) >> _, cap: size_t(m), p_kx: ptr ) : bool = let in // if p_kx < p_end then let // val (pf, fpf | p_kx) = $UN.ptr0_vtake{ki}(p_kx) val isnul = hashtbl_linprb_keyitm_is_null (!p_kx) // in if isnul then let prval () = fpf (pf) in true(*stopped*) end // end of [then] else let val k = p_kx->0 val hk = hash_key (k) val ofs = g0uint_mod (hk, $UN.cast{ulint}(cap)) val ofs = $UN.cast{sizeLt(m)}(ofs) // var ans: bool // uninitized val p2_kx = keyitmarr_linprb2 (A, cap, ofs, k, ans) // in if ans then let prval () = fpf (pf) in loop (A, cap, ptr_succ (p_kx)) end // end of [then] else let val (pf2, fpf2 | p2_kx) = $UN.ptr0_vtake{ki?}(p2_kx) val () = p2_kx->0 := p_kx->0 val () = p2_kx->1 := p_kx->1 val () = hashtbl_linprb_keyitm_nullize (!p_kx) prval () = $UN.castview0((pf, fpf)) prval () = $UN.castview0((pf2, fpf2)) in loop (A, cap, ptr_succ (p_kx)) end // end of [else] // end of [if] end // end of [else] // end of [if] end // end of [then] else false (*~stopped*) // end // end of [loop] // val stopped = loop (A, cap, p_kx) val _(*true*) = ( if not(stopped) then loop (A, cap, p0) else true ) : bool // end of [val] // in // nothing end // end of [keyitmarr_reinserts] (* ****** ****** *) datavtype hashtbl ( key:t@ype, itm:vt@ype+ ) = {m:int | m >= 1} HASHTBL of ( arrayptr ((key, itm), m), size_t m, size_t(*ntot*) ) (* end of [HASHTBL] *) // end of [hashtbl] (* ****** ****** *) assume hashtbl_vtype (key:t0p, itm:vt0p) = hashtbl (key, itm) (* ****** ****** *) implement {key,itm} hashtbl_make_nil (cap) = let // vtypedef ki = @(key, itm) // prval [m:int] EQINT () = eqint_make_guint (cap) // val A0 = arrayptr_make_uninitized (cap) val p_A0 = ptrcast(A0) val _(*ptr*) = $STRING.memset_unsafe (p_A0, 0, cap*sizeof) val A0 = $UN.castvwtp0{arrayptr(ki,m)}(A0) // in HASHTBL (A0, cap, i2sz(0)) end // end of [hashtbl_make_nil] (* ****** ****** *) implement{ } hashtbl_get_size (tbl) = let // val+HASHTBL(A, cap, ntot) = tbl in ntot // end // end of [hashtbl_get_size] (* ****** ****** *) implement{ } hashtbl_get_capacity (tbl) = let // val+HASHTBL (A, cap, ntot) = tbl in (cap) // end // end of [hashtbl_get_capacity] (* ****** ****** *) implement {key,itm} hashtbl_search_ref (tbl, k0) = let // val+HASHTBL{..}{m}(A, cap, ntot) = tbl // val hk = hash_key (k0) val ofs = g0uint_mod (hk, $UN.cast{ulint}(cap)) val ofs = $UN.cast{sizeLt(m)}(ofs) // val p_A = ptrcast(A) prval pf_A = arrayptr_takeout(A) var ans: bool // uninitalized val p_kx = keyitmarr_linprb2 (!p_A, cap, ofs, k0, ans) prval ((*void*)) = arrayptr_addback (pf_A | A) // in // if ans then let vtypedef ki = @(key, itm) val (pf, fpf | p_kx) = $UN.ptr0_vtake{ki}(p_kx) val p_itm = addr@(p_kx->1) prval ((*void*)) = fpf (pf) in $UN.cast{cPtr1(itm)}(p_itm) end else cptr_null{itm}((*void*)) // end // end of [hashtbl_search_ref] (* ****** ****** *) implement {key,itm} hashtbl_insert (tbl, k, x, res) = let // vtypedef ki = @(key, itm) // val+@HASHTBL{..}{m}(A, cap, ntot) = tbl // val hk = hash_key (k) val ofs = g0uint_mod (hk, $UN.cast{ulint}(cap)) val ofs = $UN.cast{sizeLt(m)}(ofs) // val p_A = ptrcast(A) prval pf_A = arrayptr_takeout(A) var ans: bool // uninitalized val p_kx = keyitmarr_linprb2 (!p_A, cap, ofs, k, ans) prval ((*void*)) = arrayptr_addback (pf_A | A) // in // if ans then let val (pf, fpf | p_kx) = $UN.ptr0_vtake{ki}(p_kx) val x2 = p_kx->1 val () = p_kx->1 := x prval ((*void*)) = fpf (pf) val () = res := x2 prval () = opt_some{itm}(res) prval () = fold@ (tbl) in true end // end of [then] else let // // HX-2013-05: [k] is not found // in if p_kx > 0 then let val (pf, fpf | p_kx) = $UN.ptr0_vtake{ki?}(p_kx) val () = p_kx->0 := k val () = p_kx->1 := x val () = ntot := succ(ntot) prval () = $UN.castview0((pf, fpf)) prval () = opt_none{itm}(res) prval () = fold@ (tbl) val () = if hashtbl$recapacitize() > 0 then ignoret(hashtbl_adjust_capacity (tbl)) // end of [if] // end of [val] in false end else let val () = res := x prval () = opt_some{itm}(res) prval () = fold@ (tbl) in true end // end of [if] end // end of [else] // end // end of [hashtbl_insert] (* ****** ****** *) implement {key,itm} hashtbl_takeout (tbl, k, res) = let // val+@HASHTBL{..}{m}(A, cap, ntot) = tbl // val hk = hash_key (k) val ofs = g0uint_mod (hk, $UN.cast{ulint}(cap)) val ofs = $UN.cast{sizeLt(m)}(ofs) // val p_A = ptrcast(A) prval pf_A = arrayptr_takeout(A) var ans: bool // uninitalized val p_kx = keyitmarr_linprb2 (!p_A, cap, ofs, k, ans) prval ((*void*)) = arrayptr_addback (pf_A | A) // in // if ans then let vtypedef ki = @(key, itm) val (pf, fpf | p_kx) = $UN.ptr0_vtake{ki}(p_kx) val () = res := p_kx->1 val () = hashtbl_linprb_keyitm_nullize (!p_kx) val () = ntot := pred (ntot) prval () = $UN.castview0 ((pf, fpf)) prval pf_A = arrayptr_takeout(A) val () = keyitmarr_reinserts (!p_A, cap, ptr_succ (p_kx)) prval ((*void*)) = arrayptr_addback (pf_A | A) prval () = fold@ (tbl) prval () = opt_some{itm}(res) in true end // end of [then] else let prval () = fold@ (tbl) prval () = opt_none{itm}(res) in false end // end of [else] // end // end of [hashtbl_takeout] (* ****** ****** *) implement {key,itm} hashtbl_reset_capacity (tbl, cap2) = let // val+@HASHTBL{..}{m}(A, cap, ntot) = tbl // in // if ntot <= cap2 then let // val p0 = ptrcast(A) vtypedef ki = @(key, itm) val p_end = ptr_add (p0, cap) // fun loop{m2:int} ( p_A2: ptr, cap2: size_t(m2), p: ptr ) : void = let in // if p < p_end then let val (pf, fpf | p) = $UN.ptr0_vtake{ki}(p) val isnul = hashtbl_linprb_keyitm_is_null (!p) in if isnul then let prval ((*void*)) = fpf (pf) in loop (p_A2, cap2, ptr_succ (p)) end // end of [then] else let val k = p->0 val hk = hash_key (k) var ans: bool // uninitalized val ofs = g0uint_mod (hk, $UN.cast{ulint}(cap2)) val ofs = $UN.cast{sizeLt(m2)}(ofs) val (pf_A2, fpf_A2 | p_A2) = $UN.ptr0_vtake{array(ki,m2)}(p_A2) val p_kx = keyitmarr_linprb2 (!p_A2, cap2, ofs, k, ans) prval ((*void*)) = fpf_A2 (pf_A2) val (pf_kx, fpf_kx | p_kx) = $UN.ptr0_vtake{ki?}(p_kx) val () = p_kx->0 := k val () = p_kx->1 := p->1 prval () = $UN.castview0((pf, fpf)) prval () = $UN.castview0((pf_kx, fpf_kx)) in loop (p_A2, cap2, ptr_succ (p)) end // end of [else] end // end of [then] else () // end of [else] // end // end of [loop] // prval [m2:int] EQINT () = eqint_make_guint (cap2) // val A2 = arrayptr_make_uninitized (cap2) val p_A2 = ptrcast(A2) val _(*ptr*) = $STRING.memset_unsafe (p_A2, 0, cap2*sizeof) val ((*void*)) = loop (p_A2, cap2, p0) val A2 = $UN.castvwtp0{arrayptr(ki,m2)}(A2) // val () = arrayptr_free ($UN.castvwtp0{arrayptr(ki?,m)}(A)) // val () = A := A2 val () = cap := cap2 prval () = fold@ (tbl) // in true end // end of [then] else let prval () = fold@ (tbl) in false end // end of [else] // end // end of [hashtbl_reset_capacity] (* ****** ****** *) // // HX: please reimplement it if needed // implement {key,itm} hashtbl_adjust_capacity (tbl) = let // val+HASHTBL (A, cap, ntot) = tbl // in // if ntot + ntot >= cap then hashtbl_reset_capacity (tbl, cap + cap) else false // end // end of [hashtbl_adjust_capacity] (* ****** ****** *) implement {key,itm}{env} hashtbl_foreach_env (tbl, env) = let // val+HASHTBL (A, cap, _) = tbl // val p0 = ptrcast(A) vtypedef ki = @(key, itm) val p_end = ptr_add (p0, cap) // fun loop ( p: ptr, env: &env >> _ ) : void = let in // if p < p_end then let val (pf, fpf | p) = $UN.ptr0_vtake{ki}(p) val isnul = hashtbl_linprb_keyitm_is_null (!p) in if isnul then let prval () = fpf (pf) in loop (ptr_succ (p), env) end // end of [then] else let val () = hashtbl_foreach$fwork (p->0, p->1, env) prval () = fpf (pf) in loop (ptr_succ (p), env) end // end of [else] // end of [if] end // end of [then] else ((*exit*)) // end of [else] // end // end of [loop] // in loop (p0, env) end // end of [hashtbl_foreach_env] (* ****** ****** *) implement {key,itm} hashtbl_free (tbl) = let // typedef ki = @(key, itm) // val+~HASHTBL (A, cap, ntot) = tbl in arrayptr_free{ki}(A) // end // end of [hashtbl_free] (* ****** ****** *) implement {key,itm}{ki2} hashtbl_flistize (tbl) = let // val+~HASHTBL (A, cap, _) = tbl // val p0 = ptrcast(A) vtypedef ki = @(key, itm) val p_end = ptr_add (p0, cap) // fun loop ( p: ptr , res: List0_vt(ki2) ) : List0_vt(ki2) = let in // if p > p0 then let val p = ptr_pred (p) val (pf, fpf | p) = $UN.ptr0_vtake{ki}(p) val isnul = hashtbl_linprb_keyitm_is_null (!p) in if isnul then let prval ((*void*)) = fpf (pf) in loop (p, res) end // end of [then] else let val kx2 = hashtbl_flistize$fopr (p->0, p->1) val res = list_vt_cons{ki2}(kx2, res) val ((*void*)) = hashtbl_linprb_keyitm_nullize (!p) prval ((*void*)) = $UN.castview0 ((pf, fpf)) in loop (p, res) end // end of [else] // end of [if] end // end of [then] else res // end of [else] // end // end of [loop] // val res = $effmask_all(loop (p_end, list_vt_nil(*void*))) // val ((*freed*)) = arrayptr_free($UN.castvwtp0{arrayptr(ki?,0)}(A)) // in res end // end of [hashtbl_flistize] (* ****** ****** *) (* end of [hashtbl_linprb.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/deqarray.dats0000664000175000017500000002403612655455557017441 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.deqarray" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/deqarray.sats" (* ****** ****** *) implement {a}(*tmp*) deqarray_make_cap (cap) = deq where { // val cap1 = succ (cap) // val A = arrayptr_make_uninitized (cap1) // val (pfat, pfgc | p) = ptr_alloc () // val (pfngc | deq) = deqarray_make_ngc__tsz (pfat | p, A, cap, sizeof) // prval ((*void*)) = mfree_gcngc_v_nullify (pfgc, pfngc) // } // end of [deqarray_make_cap] (* ****** ****** *) local // extern fun deqarray_get_size__tsz{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n), sizeof_t(a)):<> size_t(n) = "mac#%" extern fun deqarray_get_capacity__tsz{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n), sizeof_t(a)):<> size_t(m) = "mac#%" // in (* in of [local] *) implement {a}(*tmp*) deqarray_get_size (deq) = deqarray_get_size__tsz (deq, sizeof) implement {a}(*tmp*) deqarray_get_capacity (deq) = deqarray_get_capacity__tsz (deq, sizeof) end // end of [local] (* ****** ****** *) // extern fun deqarray_get_ptrbeg{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n)):<> Ptr1 = "mac#%" extern fun deqarray_get_ptrend{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n)):<> Ptr1 = "mac#%" // (* ****** ****** *) // extern fun deqarray_get_ptrfrnt{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n)):<> Ptr1 = "mac#%" extern fun deqarray_set_ptrfrnt{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n), p: ptr): void = "mac#%" // extern fun deqarray_get_ptrrear{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n)):<> Ptr1 = "mac#%" extern fun deqarray_set_ptrrear{a:vt0p} {m,n:int} (deq: !deqarray (a, m, n), p: ptr): void = "mac#%" // (* ****** ****** *) // extern fun{a:vt0p} deqarray_ptr_succ{m,n:int} (deq: !deqarray (INV(a), m, n), p: ptr):<> ptr extern fun{a:vt0p} deqarray_ptr_pred{m,n:int} (deq: !deqarray (INV(a), m, n), p: ptr):<> ptr // (* ****** ****** *) local // extern fun deqarray_ptr_succ__tsz {a:vt0p}{m,n:int} (deq: !deqarray (INV(a), m, n), p: ptr, sizeof_t(a)):<> ptr = "mac#%" extern fun deqarray_ptr_pred__tsz {a:vt0p}{m,n:int} (deq: !deqarray (INV(a), m, n), p: ptr, sizeof_t(a)):<> ptr = "mac#%" // in (* in of [local] *) implement {a}(*tmp*) deqarray_ptr_succ (deq, p) = deqarray_ptr_succ__tsz (deq, p, sizeof) implement {a}(*tmp*) deqarray_ptr_pred (deq, p) = deqarray_ptr_pred__tsz (deq, p, sizeof) end // end of [local] (* ****** ****** *) local // extern fun deqarray_is_full__tsz {a:vt0p}{m,n:int} ( !deqarray (INV(a), m, n), sizeof_t(a) ) :<> bool (m==n) = "mac#%" // endfun // in (* in of [local] *) implement {a}(*tmp*) deqarray_is_full (deq) = deqarray_is_full__tsz (deq, sizeof) implement {a}(*tmp*) deqarray_isnot_full (deq) = let // prval () = lemma_deqarray_param (deq) // in not(deqarray_is_full__tsz (deq, sizeof)) end // end of [deqarray_isnot_full] end // end of [local] (* ****** ****** *) implement {a}(*tmp*) deqarray_insert_atbeg {m,n} (deq, x0) = let // val p_rear = deqarray_get_ptrrear{a}(deq) val p1_rear = deqarray_ptr_pred (deq, p_rear) val ((*void*)) = $UN.ptr0_set (p1_rear, x0) val ((*void*)) = deqarray_set_ptrrear{a}(deq, p1_rear) // prval () = __assert (deq) where { extern praxi __assert (!deqarray (a, m, n) >> deqarray (a, m, n+1)): void } (* end of [prval] *) // in // nothing end // end of [deqarray_insert_atbeg] implement {a}(*tmp*) deqarray_insert_atbeg_opt (deq, x0) = let // val isnot = deqarray_isnot_full (deq) // in // if isnot then let val () = deqarray_insert_atbeg (deq, x0) in None_vt() end else Some_vt{a}(x0) // end // end of [deqarray_insert_atbeg_opt] (* ****** ****** *) implement {a}(*tmp*) deqarray_insert_atend {m,n} (deq, x0) = let // val p_frnt = deqarray_get_ptrfrnt{a}(deq) val ((*void*)) = $UN.ptr0_set (p_frnt, x0) val ((*void*)) = deqarray_set_ptrfrnt{a}(deq, deqarray_ptr_succ (deq, p_frnt)) // prval () = __assert (deq) where { extern praxi __assert (!deqarray (a, m, n) >> deqarray (a, m, n+1)): void } (* end of [prval] *) // in // nothing end // end of [deqarray_insert_atend] implement {a}(*tmp*) deqarray_insert_atend_opt (deq, x0) = let // val isnot = deqarray_isnot_full (deq) // in // if isnot then let val () = deqarray_insert_atend (deq, x0) in None_vt() end else Some_vt{a}(x0) // end // end of [deqarray_insert_atend_opt] (* ****** ****** *) implement {a}(*tmp*) deqarray_takeout_atbeg {m,n} (deq) = (x0) where { // val p_rear = deqarray_get_ptrrear{a}(deq) // val ( pf, fpf | p ) = $UN.ptr0_vtake{a}(p_rear) val x0 = !p prval () = $UN.castview0((fpf, pf)) // val ((*void*)) = deqarray_set_ptrrear{a}(deq, deqarray_ptr_succ (deq, p_rear)) // prval () = __assert (deq) where { extern praxi __assert (!deqarray (a, m, n) >> deqarray (a, m, n-1)): void } (* end of [where] *) // end of [prval] // } (* end of [deqarray_takeout_atbeg] *) (* ****** ****** *) implement {a}(*tmp*) deqarray_takeout_atbeg_opt (deq) = let // val isnot = deqarray_isnot_nil (deq) // in // if isnot then let val x0 = deqarray_takeout_atbeg (deq) in Some_vt{a}(x0) end else None_vt((*void*)) // end // end of [deqarray_takeout_atbeg_opt] (* ****** ****** *) implement {a}(*tmp*) deqarray_takeout_atend {m,n} (deq) = (x0) where { // val p_frnt = deqarray_get_ptrfrnt{a}(deq) val p1_frnt = deqarray_ptr_pred (deq, p_frnt) // val ( pf, fpf | p ) = $UN.ptr0_vtake{a}(p1_frnt) val x0 = !p prval () = $UN.castview0((fpf, pf)) // val () = deqarray_set_ptrfrnt{a}(deq, p1_frnt) // prval () = __assert (deq) where { extern praxi __assert (!deqarray (a, m, n) >> deqarray (a, m, n-1)): void } (* end of [where] *) // end of [prval] // } (* end of [deqarray_takeout_atend] *) (* ****** ****** *) implement {a}(*tmp*) deqarray_takeout_atend_opt (deq) = let // val isnot = deqarray_isnot_nil (deq) // in // if isnot then let val x0 = deqarray_takeout_atend (deq) in Some_vt{a}(x0) end else None_vt((*void*)) // end // end of [deqarray_takeout_atend_opt] (* ****** ****** *) implement {a}(*tmp*) deqarray_get_at (deq, i) = ( $UN.cptr_get (deqarray_getref_at (deq, i)) ) (* end of [deqarray_get_at] *) implement {a}(*tmp*) deqarray_set_at (deq, i, x) = ( $UN.cptr_set (deqarray_getref_at (deq, i), x) ) (* end of [deqarray_set_at] *) (* ****** ****** *) local // extern fun deqarray_getref_at__tsz {a:vt0p}{m,n:int} ( deq: !deqarray (a, m, n), i: sizeLt(n), tsz: sizeof_t(a) ) :<> cPtr1(a) = "mac#%" // end-of-fun // in (* in of [local] *) // implement {a}(*tmp*) deqarray_getref_at (deq, i) = deqarray_getref_at__tsz{a}(deq, i, sizeof) // end // end of [local] (* ****** ****** *) implement {a}(*tmp*) fprint_deqarray (out, deq) = let // typedef tenv = int implement deqarray_foreach$fwork (x, env) = let val n = env val () = if n > 0 then fprint_deqarray$sep<> (out) val () = env := n + 1 in fprint_ref (out, x) end // end of [deqarray_foreach$fwork] // var env: tenv = 0 val ((*void*)) = deqarray_foreach_env (deq, env) // in // nothing end // end of [fprint_deqarray] (* ****** ****** *) // implement {}(*tmp*) fprint_deqarray$sep (out) = fprint_string (out, ", ") // (* ****** ****** *) implement {a}(*tmp*) fprint_deqarray_sep (out, deq, sep) = let // implement{} fprint_deqarray$sep (out) = fprint_string (out, sep) // in fprint_deqarray (out, deq) end // end of [fprint_deqarray_sep] (* ****** ****** *) implement {a}{env} deqarray_foreach$cont (x, env) = true (* ****** ****** *) implement {a}(*tmp*) deqarray_foreach (deq) = let var env: void = () in deqarray_foreach_env (deq, env) end // end of [deqarray_foreach] (* ****** ****** *) implement {a}{env} deqarray_foreach_env (deq, env) = let // fun foreach ( p0: ptr, p1: ptr, env: &env ) : void = let in // if p0 < p1 then let val ( pf, fpf | p0 ) = $UN.ptr_vtake{a}(p0) val cont = deqarray_foreach$cont (!p0, env) prval () = fpf (pf) in if cont then let val ( pf, fpf | p0 ) = $UN.ptr_vtake{a}(p0) val () = deqarray_foreach$fwork (!p0, env) prval () = fpf (pf) in foreach (ptr_succ (p0), p1, env) end // end of [then] else () // end of [else] // end of [if] end // end of [then] else () // end of [else] // end // end of [foreach] // val p_frnt = deqarray_get_ptrfrnt{a}(deq) val p_rear = deqarray_get_ptrrear{a}(deq) // in // if p_frnt > p_rear then foreach (p_rear, p_frnt, env) else let val p_beg = deqarray_get_ptrbeg{a}(deq) val p_end = deqarray_get_ptrend{a}(deq) in foreach (p_rear, p_end, env); foreach (p_beg, p_frnt, env) end // end of [else] // end // end of [deqarray_foreach_env] (* ****** ****** *) (* end of [deqarray.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/bitvec.dats0000664000175000017500000004111312655455557017100 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX-2014-12: // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/bitvec.sats" (* ****** ****** *) macdef U0 = $UN.cast{uintptr}(0) macdef U1 = $UN.cast{uintptr}(1) macdef U_1 = $UN.cast{uintptr}(~1) (* ****** ****** *) macdef uintptr_p_inc(p) = ptr_succ (,(p)) macdef uintptr_p_get(p) = $UN.ptr0_get (,(p)) macdef uintptr_p_set(p, x) = $UN.ptr0_set (,(p), ,(x)) (* ****** ****** *) // implement {}(*tmp*) bitvec_get_wordsize ( // argumentless ) = $UN.cast{intGt(0)}(8*sz2i(sizeof)) // implement {}(*tmp*) bitvec_get_wordsize_log ( // argumentless ) = $effmask_all ( let val wsz = bitvec_get_wordsize() in // case+ 0 of | _ when wsz=16 => 4 | _ when wsz=32 => 5 | _ when wsz=64 => 6 | _ (* unsupported *) => let val () = assertloc(false) in 0 end // end // end of [let] ) (* end of [$effmask_all] *) // (* ****** ****** *) implement {}(*tmp*) bitvecptr_make_none {n}(nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // in // $UN.castvwtp0{bitvecptr(n)} (arrayptr_make_elt (i2sz(asz), U0)) // end // end of [bitvecptr_make_none] (* ****** ****** *) implement {}(*tmp*) bitvecptr_make_full {n}(nbit) = vec where { // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // val extra = $UN.cast{intGte(0)}((asz << log) - nbit) // val vec = $UN.castvwtp0{bitvecptr(n)} (arrayptr_make_elt (i2sz(asz), U_1)) // val () = if extra > 0 then $UN.ptr0_set_at(ptrcast(vec), asz-1, U_1 >> extra) // end of [if] // } (* end of [bitvecptr_make_full] *) (* ****** ****** *) // implement {}(*tmp*) bitvecptr_free (vec) = arrayptr_free($UN.castvwtp0{arrayptr(intptr,0)}(vec)) // (* ****** ****** *) implement {}(*tmp*) bitvec_get_at (vec, i) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () // val j = (i >> log) val k = i - (j << log) val k = $UN.cast{intGte(0)}(k) // val w = $UN.ptr0_get_at (addr@vec, j) // in $UN.cast{bit}((w >> k) land U1) end // end of [bitvec_get_at] (* ****** ****** *) implement {}(*tmp*) bitvec_set_at (vec, i, b) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () // val j = (i >> log) val k = i - (j << log) val k = $UN.cast{intGte(0)}(k) // val p = ptr_add (addr@vec, j) // val m = U1 << k val w = uintptr_p_get (p) // in // if b > 0 then uintptr_p_set (p, w lor m) else uintptr_p_set (p, w land ~m) // end // end of [bitvec_set_at] (* ****** ****** *) implement {}(*tmp*) bitvec_flip_at (vec, i) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () // val j = (i >> log) val k = i - (j << log) val k = $UN.cast{intGte(0)}(k) // val p = ptr_add (addr@vec, j) // val m = U1 << k val w = uintptr_p_get (p) // in uintptr_p_set (p, w lxor m) end // end of [bitvec_flip_at] (* ****** ****** *) implement {}(*tmp*) bitvecptr_get_at {l}{n} (bvp, i) = bit where { // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val bit = bitvec_get_at (!p, i) prval ((*void*)) = fpf (pf) // } (* end of [bitvecptr_get_at] *) (* ****** ****** *) implement {}(*tmp*) bitvecptr_set_at {l}{n} (bvp, i, bit) = { // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val bit = bitvec_set_at (!p, i, bit) prval ((*void*)) = fpf (pf) // } (* end of [bitvecptr_set_at] *) (* ****** ****** *) implement {}(*tmp*) bitvecptr_flip_at {l}{n} (bvp, i) = { // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val bit = bitvec_flip_at (!p, i) prval ((*void*)) = fpf (pf) // } (* end of [bitvecptr_flip_at] *) (* ****** ****** *) implement {}(*tmp*) bitvec_is_none (vec, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p: ptr, n: int(n) ) :<> bool = ( // if n > 0 then let // val i = uintptr_p_get (p) // in if i = U0 then loop (uintptr_p_inc (p), n-1) else false // end of [if] end // end of [then] else true // end of [else] // ) (* end of [loop] *) // in loop (addr@vec, asz) end // end of [bitvec_is_none] (* ****** ****** *) implement {}(*tmp*) bitvecptr_is_none {l}{n} (bvp, nbit) = ans where { // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val ans = bitvec_is_none (!p, nbit) prval ((*void*)) = fpf (pf) // } (* end of [bitvecptr_is_none] *) (* ****** ****** *) implement {}(*tmp*) bitvec_is_full (vec, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p: ptr, n: int(n) ) :<> bool = ( // if n > 1 then let val i = uintptr_p_get (p) in if i = U_1 then loop (uintptr_p_inc (p), n-1) else false end // end of [then] else true // end of [else] // ) (* end of [loop] *) // in // if nbit > 0 then ( // if loop (addr@vec, asz) then let val extra = $UN.cast{intGte(0)}((asz << log) - nbit) // end of [val] in $UN.ptr0_get_at (addr@vec, asz-1) = (U_1 >> extra) end // end of [then] else false // end of [else] // ) (* end of [then] *) else true // end of [else] // end // end of [bitvec_is_full] (* ****** ****** *) implement {}(*tmp*) bitvecptr_is_full {l}{n} (bvp, nbit) = ans where { // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val ans = bitvec_is_full (!p, nbit) prval ((*void*)) = fpf (pf) // } (* end of [bitvecptr_is_full] *) (* ****** ****** *) implement {}(*tmp*) bitvec_equal (vec1, vec2, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p1: ptr, p2: ptr, n: int(n) ) :<> bool = ( // if n > 0 then let val i1 = uintptr_p_get (p1) and i2 = uintptr_p_get (p2) in if i1 = i2 then let val p1 = uintptr_p_inc (p1) and p2 = uintptr_p_inc (p2) in loop (p1, p2, n-1) end // end of [then] else false // end of [else] // end of [if] end else true // end of [if] // ) (* end of [loop] *) // in loop (addr@vec1, addr@vec2, asz) end // end of [bitvec_equal] (* ****** ****** *) // implement {}(*tmp*) bitvec_notequal (vec1, vec2, nbit) = not(bitvec_equal(vec1, vec2, nbit)) // (* ****** ****** *) implement {}(*tmp*) bitvecptr_equal {l1,l2}{n} (bvp1, bvp2, nbit) = ans where { // val (pf1, fpf1 | p1) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp1)) and (pf2, fpf2 | p2) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp2)) val ans = bitvec_equal (!p1, !p2, nbit) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // } (* end of [bitvecptr_equal] *) (* ****** ****** *) // implement {}(*tmp*) bitvecptr_notequal (bvp1, bvp2, nbit) = not(bitvecptr_equal(bvp1, bvp2, nbit)) // (* ****** ****** *) implement {}(*tmp*) bitvec_copy (vec1, vec2, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p1: ptr, p2: ptr, n: int(n) ) : void = ( // if n > 0 then let val i2 = uintptr_p_get (p2) val () = uintptr_p_set (p1, i2) val p1 = uintptr_p_inc (p1) and p2 = uintptr_p_inc (p2) in loop (p1, p2, n-1) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop (addr@vec1, addr@vec2, asz) end // end of [bitvec_copy] (* ****** ****** *) implement {}(*tmp*) bitvec_lnot (vec, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. (p: ptr, n: int(n)): ptr = ( // if n > 1 then let val i = uintptr_p_get (p) val () = uintptr_p_set (p, lnot(i)) in loop (uintptr_p_inc (p), n - 1) end // end of [then] else p // end of [else] // ) (* end of [loop] *) // in // if nbit > 0 then let val pz = loop (addr@vec, asz) val extra = $UN.cast{intGte(0)}((asz << log) - nbit) // end of [val] val i = uintptr_p_get (pz) val i2 = lnot(i) land (U_1 >> extra) val () = uintptr_p_set (pz, i2) in // nothing end // end of [then] else () // end of [else] // end // end of [bitvec_lnot] (* ****** ****** *) implement {}(*tmp*) bitvecptr_lnot {l}{n} (bvp, nbit) = let // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val ((*void*)) = bitvec_lnot (!p, nbit) prval ((*void*)) = fpf (pf) // in // nothing end // end of [bitvecptr_lnot] (* ****** ****** *) implement {}(*tmp*) bitvec_lor (vec1, vec2, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p1: ptr, p2: ptr, n: int(n) ) : void = ( // if n > 0 then let val i1 = uintptr_p_get (p1) val i2 = uintptr_p_get (p2) val () = uintptr_p_set (p1, i1 lor i2) val p1 = uintptr_p_inc (p1) and p2 = uintptr_p_inc (p2) in loop (p1, p2, n-1) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop (addr@vec1, addr@vec2, asz) end // end of [bitvec_lor] (* ****** ****** *) implement {}(*tmp*) bitvec_lxor (vec1, vec2, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p1: ptr, p2: ptr, n: int(n) ) : void = ( // if n > 0 then let val i1 = uintptr_p_get (p1) val i2 = uintptr_p_get (p2) val () = uintptr_p_set (p1, i1 lxor i2) val p1 = uintptr_p_inc (p1) and p2 = uintptr_p_inc (p2) in loop (p1, p2, n-1) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop (addr@vec1, addr@vec2, asz) end // end of [bitvec_lxor] (* ****** ****** *) implement {}(*tmp*) bitvec_land (vec1, vec2, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // fun loop{n:nat} .. ( p1: ptr, p2: ptr, n: int(n) ) : void = ( // if n > 0 then let val i1 = uintptr_p_get (p1) val i2 = uintptr_p_get (p2) val () = uintptr_p_set (p1, i1 land i2) val p1 = uintptr_p_inc (p1) and p2 = uintptr_p_inc (p2) in loop (p1, p2, n-1) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop (addr@vec1, addr@vec2, asz) end // end of [bitvec_land] (* ****** ****** *) implement {}(*tmp*) bitvecptr_lor {l1,l2}{n}(bvp1, bvp2, nbit) = let // val (pf1, fpf1 | p1) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp1)) and (pf2, fpf2 | p2) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp2)) val ((*void*)) = bitvec_lor (!p1, !p2, nbit) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end // end of [bitvecptr_lor] (* ****** ****** *) implement {}(*tmp*) bitvecptr_lxor {l1,l2}{n} (bvp1, bvp2, nbit) = let // val (pf1, fpf1 | p1) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp1)) and (pf2, fpf2 | p2) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp2)) val ((*void*)) = bitvec_lxor (!p1, !p2, nbit) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end // end of [bitvecptr_lxor] (* ****** ****** *) implement {}(*tmp*) bitvecptr_land {l1,l2}{n} (bvp1, bvp2, nbit) = let // val (pf1, fpf1 | p1) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp1)) and (pf2, fpf2 | p2) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp2)) val ((*void*)) = bitvec_land (!p1, !p2, nbit) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end // end of [bitvecptr_land] (* ****** ****** *) implement {}(*tmp*) fprint_bitvec$word (out, w) = let // fun loop ( w: uintptr, n: int ) : void = ( // if n > 0 then let // val b = $UN.cast{uint}(w land U1) // in fprint_uint(out, b); loop (w >> 1, n - 1) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop (w, bitvec_get_wordsize()) end // end of [fprint_bitvec$word] (* ****** ****** *) implement {}(*tmp*) fprint_bitvec (out, vec, nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // prval [n:int] EQINT() = eqint_make_gint (asz) // implement fprint_val (out, x) = fprint_bitvec$word<> (out, x) // implement fprint_array$sep<> (out) = () // in // fprint_arrayref ( out, $UN.castvwtp1{arrayref(uintptr,n)}(addr@vec), i2sz(asz) ) (* fprint_arrayref *) // end // end of [fprint_bitvec] (* ****** ****** *) implement {}(*tmp*) fprint_bitvecptr {l}{n} (out, bvp, nbit) = let // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val ((*void*)) = fprint_bitvec (out, !p, nbit) prval ((*void*)) = fpf (pf) // in // nothing end // end of [fprint_bitvecptr] (* ****** ****** *) implement {}(*tmp*) bitvecptr_tabulate {n}(nbit) = let // val wsz = bitvec_get_wordsize () val log = bitvec_get_wordsize_log () val asz = $UN.cast{intGte(0)}((nbit + wsz - 1) >> log) // val bvp = arrayptr_make_uninitized (i2sz(asz)) // fun loop1 ( p: ptr , i: intGte(0) , nbit: intGte(0) , w: uintptr, i2: intGte(0) ) : void = ( // if nbit > 0 then let // val b = bitvec_tabulate$fopr(i) // in // if b = 0 then ( loop1 (p, i+1, nbit-1, w, i2+1) ) (* end of [then] *) else ( loop1 (p, i+1, nbit-1, w lor (U1 << i2), i2+1) ) (* end of [else] *) // end // end of [then] else (uintptr_p_set (p, w)) // ) (* end of [loop1] *) // fun loop2 ( p: ptr, i: intGte(0), nbit: intGt(0) ) : void = ( if nbit > wsz then let // val () = loop1 (p, i, wsz, U0, 0) // in loop2 (uintptr_p_inc (p), i + wsz, nbit - wsz) end // end of [then] else ( loop1 (p, i, nbit, U0, 0) ) (* end of [else] *) // ) (* end of [loop2] *) // val () = if nbit > 0 then loop2 (ptrcast(bvp), 0, nbit) // end of [if] // in $UN.castvwtp0{bitvecptr(n)}(bvp) end // end of [bitvecptr_tabulate] (* ****** ****** *) implement {}(*tmp*) bitvec_foreach (vec, nbit) = let var env: void = () in bitvec_foreach_env (vec, nbit, env) end // end of [bitvec_foreach] (* ****** ****** *) implement {env}(*tmp*) bitvec_foreach_env (vec, nbit, env) = let // val wsz = bitvec_get_wordsize () // fun loop ( p: ptr, nbit: intGt(0), env: &env ) : void = let // var w = uintptr_p_get(p) // in // if nbit > wsz then let val () = bitvec_foreach$fwork (w, wsz, env) // in loop (uintptr_p_inc(p), nbit - wsz, env) end // end of [then] else bitvec_foreach$fwork (w, nbit, env) // end (* end of [loop] *) // in // if nbit > 0 then loop (addr@vec, nbit, env) else () // end // end of [bitvec_foreach_env] (* ****** ****** *) implement(env) bitvec_foreach$fwork (w, n, env) = let // fun loop ( w: uintptr, n: int, env: &env >> _ ) : void = ( // if n > 0 then let // val b = $UN.cast{bit}(w land U1) val () = bitvec_foreach$fworkbit(b, env) // val wsz = bitvec_get_wordsize() // in loop (w >> 1, n - 1, env) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // val wsz = bitvec_get_wordsize() // in if n <= wsz then loop (w, n, env) else loop (w, wsz, env) end // end of [bitvec_foreach$fwork] (* ****** ****** *) implement {}(*tmp*) bitvecptr_foreach (bvp, nbit) = let var env: void = () in bitvecptr_foreach_env (bvp, nbit, env) end // end of [bitvecptr_foreach] (* ****** ****** *) implement {env}(*tmp*) bitvecptr_foreach_env {l}{n} (bvp, nbit, env) = let // val (pf, fpf | p) = $UN.ptr_vtake{bitvec(n)}(ptrcast(bvp)) val ((*void*)) = bitvec_foreach_env (!p, nbit, env) prval ((*void*)) = fpf (pf) // in // nothing end // end of [bitvecptr_foreach_env] (* ****** ****** *) (* end of [bitvec.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linralist_nested.dats0000664000175000017500000001621012655455557021167 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funralist_nested" #define ATS_DYNLOADFLAG 0 // no dynamic loading at run-time (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) staload "libats/SATS/linralist_nested.sats" (* ****** ****** *) // // HX-2013-01: // // this data structure is essentially based on // Chris Okasaki's random-access list (formulated // as a nested datatype). However, unlike Okasaki's // formulation, [ralist] is *not* a nested datatype. // (* ****** ****** *) datavtype node (a:vt@ype+, int(*d*)) = | N1 (a, 0) of (a) // singleton | {d:nat} N2 (a, d+1) of (node (a, d), node (a, d)) // end of [node] datavtype myralist (a:vt@ype+, int(*d*), int(*n*)) = | {d:nat} RAnil (a, d, 0) of () | {d:nat}{n:pos} RAevn (a, d, n+n) of myralist (a, d+1, n) | {d:nat}{n:nat} RAodd (a, d, n+n+1) of (node (a, d), myralist (a, d+1, n)) // end of [myralist] (* ****** ****** *) assume ralist_vtype (a:vt0p, n:int) = myralist (a, 0, n) // end of [ralist_vtype] (* ****** ****** *) primplmnt lemma_ralist_param (xs) = let in // case+ xs of | RAevn _ => () | RAodd _ => () | RAnil () => () // end // end of [lemma_ralist_param] (* ****** ****** *) implement{} linralist_nil{a} () = RAnil{a}{0}((*void*)) implement{} linralist_make_nil{a} () = RAnil{a}{0}((*void*)) (* ****** ****** *) local extern fun cons {a:vt0p}{d:nat}{n:nat} ( x0: node (a, d), xs: myralist (a, d, n) ) :<> myralist (a, d, n+1) implement cons{a}{d}{n} (x0, xs) = let in // case+ xs of | ~RAevn (xxs) => RAodd (x0, xxs) | ~RAodd (x1, xxs) => let val x0x1 = N2 (x0, x1) in RAevn (cons (x0x1, xxs)) end // end of [RAodd] | ~RAnil () => RAodd (x0, RAnil) // end // end of [cons] in (* in of [local] *) implement{a} linralist_cons (x, xs) = let // prval () = lemma_ralist_param (xs) // in cons{a} (N1{a}(x), xs) end // end of [linralist_cons] end // end of [local] (* ****** ****** *) implement{} linralist_is_nil (xs) = case+ xs of RAnil () => true | _ =>> false // end of [linralist_is_nil] implement{} linralist_is_cons (xs) = case+ xs of RAnil () => false | _ =>> true // end of [linralist_is_cons] (* ****** ****** *) local extern fun length {a:vt0p}{d:nat}{n:nat} (xs: !myralist (a, d, n)):<> int (n) implement length{a}{d}{n} (xs) = let in // case+ xs of | RAevn (xxs) => let val n2 = length (xxs) in 2 * n2 end // end of [RAevn] | RAodd (_, xxs) => let val n2 = length (xxs) in 2 * n2 + 1 end // end of [RAodd] | RAnil ((*void*)) => (0) // end // end of [length] in (* in of [local] *) implement linralist_length {a} (xs) = let // prval () = lemma_ralist_param (xs) // in length{a} (xs) end // end of [linralist_length] end // end of [local] (* ****** ****** *) implement{a} linralist_head (xs) = linralist_get_at (xs, 0) (* ****** ****** *) implement{a} linralist_tail (xs) = xs1 where { var xs1 = xs val _(*hd*) = linralist_uncons (xs1) } // end of [linralist_tail] (* ****** ****** *) local extern fun uncons{a:vt0p}{d:nat}{n:pos} ( xs: myralist (a, d, n), x: &ptr? >> node (a, d) ) : myralist (a, d, n-1) implement uncons{a}{d}{n} (xs, x) = let in // case+ xs of | ~RAevn (xxs) => let var nxx: ptr val xxs = uncons (xxs, nxx) // end of [val] val+ ~N2 (x0, x1) = nxx val () = x := x0 in RAodd (x1, xxs) end // end of [RAevn] | ~RAodd (x0, xxs) => let val () = x := x0 in case+ xxs of ~RAnil () => RAnil () | _ =>> RAevn (xxs) end // end of [RAodd] // end // end of [uncons] in (* in of [local] *) implement{a} linralist_uncons (xs) = let // var nx: ptr // unintialized val () = (xs := uncons{a} (xs, nx)) val+ ~N1 (x0) = nx // in x0 end // end of [linralist_uncons] end // end of [local] (* ****** ****** *) local extern fun getref_at {a:vt0p}{d:nat}{n:nat} ( xs: !myralist (a, d, n), i: natLt n ) :<> Ptr1 // end of [getref_at] implement getref_at {a}{d}{n} (xs, i) = let // extern praxi __vfree : node (a,d+1) - void // in // case+ xs of | RAevn (xxs) => let val p_x01 = getref_at (xxs, half i) val x01 = $UN.ptr1_get(p_x01) in if i mod 2 = 0 then let val+ @N2 (x0, _) = x01 val p_x0 = addr@ (x0) prval () = fold@ (x01) prval () = __vfree (x01) in p_x0 end else let val+ @N2 (_, x1) = x01 val p_x1 = addr@ (x1) prval () = fold@ (x01) prval () = __vfree (x01) in p_x1 end // end of [if] end // end of [RAevn] | @RAodd (x, xxs) => ( if i = 0 then let val p_x = addr@ (x) prval () = fold@ (xs) in p_x end else let val i1 = i - 1 val p_x01 = getref_at (xxs, half i1) prval () = fold@ (xs) val x01 = $UN.ptr1_get(p_x01) in if i mod 2 = 0 then let val+ @N2 (_, x1) = x01 val p_x1 = addr@ (x1) prval () = fold@ (x01) prval () = __vfree (x01) in p_x1 end else let val+ @N2 (x0, _) = x01 val p_x0 = addr@ (x0) prval () = fold@ (x01) prval () = __vfree (x01) in p_x0 end // end of [if] end // end of [if] ) // end of [RAodd] // end // end of [getref_at] in (* in of [local] *) implement{a} linralist_getref_at (xs, i) = let val p_i = getref_at {a} (xs, i) in $UN.cast{cPtr1(a)}(p_i) end // end of [linralist_getref_at] end // end of [local] (* ****** ****** *) implement{a} linralist_get_at (xs, i) = let val p = linralist_getref_at (xs, i) in $UN.cptr_get (p) end // end of [linralist_get_at] implement{a} linralist_set_at (xs, i, x) = let val p = linralist_getref_at (xs, i) in $UN.cptr_set (p, x) end // end of [linralist_set_at] (* ****** ****** *) (* end of [linralist_nested.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funmap_rbtree.dats0000664000175000017500000004152212655455557020461 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2015 *) (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.funmap_rbtree" // #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) staload "libats/SATS/funmap_rbtree.sats" (* ****** ****** *) implement {key} compare_key_key (k1, k2) = gcompare_val_val (k1, k2) // end of [compare_key_key] (* ****** ****** *) // #define BLK 0; #define RED 1 // sortdef two = {c:nat | c < 2} sortdef clr = {c:nat | c < 2} // typedef color(c:int) = int(c) typedef color = [c:clr] color(c) // (* ****** ****** *) // // HX-2012-12-26: // the file should be included here // before [map_type] is assumed // #include "./SHARE/funmap.hats" // code reuse // (* ****** ****** *) // datatype rbtree ( key:t@ype, itm: t@ype , int(*color*), int(*bheight*), int(*violation*) ) = | E (key, itm, BLK, 0, 0) | {c,cl,cr:clr}{bh:nat}{v:int} {c == BLK && v == 0 || c == RED && v == cl+cr} T (key, itm, c, bh+1-c, v) of ( color c, key, itm , rbtree0 (key, itm, cl, bh), rbtree0 (key, itm, cr, bh) ) (* end of [T] *) // end of [datatype rbtree] // where rbtree0 ( key:t@ype, itm:t@ype, c:int, bh:int ) = rbtree (key, itm, c, bh, 0(*violation*)) // end of [rbtree0] // (* ****** ****** *) // assume map_type ( key:t0p, itm:t0p ) = [c:clr;bh:nat] rbtree0 (key, itm, c, bh) // end of [map_type] // (* ****** ****** *) implement{} funmap_nil () = E () implement{} funmap_make_nil () = E () (* ****** ****** *) implement {}(*tmp*) funmap_is_nil (map) = case+ map of E _ => true | T _ => false // end of [funmap_is_nil] implement {}(*tmp*) funmap_isnot_nil (map) = case+ map of T _ => true | E _ => false // end of [funmap_isnot_nil] (* ****** ****** *) implement {key,itm} funmap_size (map) = let // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // fun aux {c:clr} {bh:nat} ( t0: rbtree0(c, bh), res: size_t ) : size_t = let in // case+ t0 of | E((*void*)) => res | T(_, _, _, tl, tr) => let val res = succ(res) val res = aux (tl, res) val res = aux (tr, res) in res end // end of [T] // end // end of [aux] // in $effmask_all (aux (map, i2sz(0))) end // end of [funmap_size] (* ****** ****** *) implement {key,itm} funmap_search (map, k0, res) = let // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // fun search {c:clr} {bh:nat} .. ( t0: rbtree0(c, bh) , res: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) = let in // case+ t0 of | E ( ) => let prval () = opt_none{itm}(res) in false end // end of [E] | T ( _(*h*), k, x, tl, tr ) => let val sgn = compare_key_key (k0, k) // end of [val] in case+ 0 of | _ when sgn < 0 => search (tl, res) | _ when sgn > 0 => search (tr, res) | _ => let val () = res := x prval () = opt_some{itm}(res) in true end // end of [_] end // end of [T] // end // end of [search] // in search (map, res) end // end of [funmap_search] (* ****** ****** *) // // HX: right rotation // fn{ key, itm:t0p } insfix_l {cl,cr:clr} {bh:nat}{v:nat} ( k: key, x: itm , tl: rbtree (key, itm, cl, bh, v) , tr: rbtree (key, itm, cr, bh, 0) ) :<> [c:clr] rbtree0 (key, itm, c, bh+1) = ( // let #define B BLK; #define R RED in case+ (tl) of | T (R, kl, xl, T (R, kll, xll, tlll, tllr), tlr) => T (R, kl, xl, T (B, kll, xll, tlll, tllr), T (B, k, x, tlr, tr)) | T (R, kl, xl, tll, T (R, klr, xlr, tlrl, tlrr)) => T (R, klr, xlr, T (B, kl, xl, tll, tlrl), T (B, k, x, tlrr, tr)) | _ (*non-R-rooted*) =>> T (B, k, x, tl, tr) end // ) (* end of [insfix_l] *) // (* ****** ****** *) // // HX: left rotation // fn{ key, itm:t0p} insfix_r {cl,cr:clr} {bh:nat}{v:nat} ( k: key, x: itm , tl: rbtree (key, itm, cl, bh, 0) , tr: rbtree (key, itm, cr, bh, v) ) :<> [c:clr] rbtree0 (key, itm, c, bh+1) = ( // let #define B BLK; #define R RED in case+ (tr) of | T (R, kr, xr, trl, T (R, krr, xrr, trrl, trrr)) => T (R, kr, xr, T (B, k, x, tl, trl), T (B, krr, xrr, trrl, trrr)) | T (R, kr, xr, T (R, krl, xrl, trll, trlr), trr) => T (R, krl, xrl, T (B, k, x, tl, trll), T (B, kr, xr, trlr, trr)) | _ (*non-R-rooted*) =>> T (B, k, x, tl, tr) end // ) (* end of [insfix_r] *) // (* ****** ****** *) implement {key,itm} funmap_insert ( map, k0, x0, res2 ) = res where { // #define B BLK; #define R RED // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // fun insert {c:clr} {bh:nat} .. ( t0: rbtree0 (c, bh) , res: &bool? >> bool (b) , res2: &itm? >> opt (itm, b) ) : #[b:bool] [ c1:clr; v:nat | v <= c ] rbtree (key, itm, c1, bh, v) = ( case+ t0 of // | E((*void*)) => let val () = res := false prval () = opt_none{itm}(res2) in T{..}{..}{..}{0} (R, k0, x0, E, E) end // end of [E] // | T (c, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) in if sgn < 0 then let val [cl:int,v:int] tl = insert (tl, res, res2) in if c = B then insfix_l(k, x, tl, tr) else T{..}{..}{..}{cl}(R, k, x, tl, tr) // end of [if] end // end of [then] else ( if sgn > 0 then let val [cr:int,v:int] tr = insert (tr, res, res2) in if c = B then insfix_r(k, x, tl, tr) else T{..}{..}{..}{cr}(R, k, x, tl, tr) // end of [if] end // end of [then] else let val () = res := true val () = res2 := x; prval () = opt_some{itm}(res2) in T{..}{..}{..}{0}(c, k, x0, tl, tr) end // end of [else] // end of [if] ) (* end of [else] *) // end of [if] end // end of [let] // end of [T] // ) (* end of [insert] *) // var res: bool val map1 = insert (map, res, res2) val () = ( case+ map1 of | T (R, k, x, tl, tr) => map := T (B, k, x, tl, tr) | _ =>> map := map1 ) (* end of [val] *) // } (* end of [funmap_insert] *) (* ****** ****** *) fn {key ,itm:t0p } rbtree_redden {bh:pos} ( t0: rbtree0 (key, itm, BLK, bh) ) :<> [ v:nat | v <= 2 ] rbtree (key, itm, RED, bh-1, v) = let val+T{..}{c,cl,cr}(_, k, x, tl, tr) = t0 in T{..}{..}{..}{cl+cr} (RED, k, x, tl, tr) end // end of [let] // end of [rbtree_redden] (* ****** ****** *) fn {key ,itm:t0p } remfix_l {cl,cr:clr} {bh:nat}{v:nat} ( k: key, x: itm , tl: rbtree (key, itm, cl, bh , v) , tr: rbtree (key, itm, cr, bh+1, 0) ) :<> [ c:clr;v:nat | v <= cr ] rbtree (key, itm, c, bh+1, v) = let #define B BLK; #define R RED in // case+ tl of | T(R, kl, xl, tll, tlr) => T{..}{..}{..}{cr}(R, k, x, T (B, kl, xl, tll, tlr), tr) | _ (*non-red-tree*) =>> ( case+ tr of | T{..}{cr,crl,crr} ( B, kr, xr, trl, trr ) => insfix_r ( k, x, tl, T{..}{..}{..}{crl+crr}(R, kr, xr, trl, trr) ) (* end of [T (B, ...)] *) | T(R, kr, xr, trl, trr) => let val+T(B, krl, xrl, trll, trlr) = trl val [cr2:int] tr2 = insfix_r (kr, xr, trlr, rbtree_redden trr) in T{..}{..}{..}{cr2}(R, krl, xrl, T (B, k, x, tl, trll), tr2) end (* end of [T (R, ...)] *) ) (* end of [_(*non-red-tree*)] *) // end // end of [remfix_l] (* ****** ****** *) fn {key ,itm:t0p } remfix_r {cl,cr:clr} {bh:nat}{v:nat} ( k: key, x: itm , tl: rbtree (key, itm, cl, bh+1, 0) , tr: rbtree (key, itm, cr, bh , v) ) :<> [ c:clr;v:nat | v <= cl ] rbtree (key, itm, c, bh+1, v) = let #define B BLK; #define R RED in // case+ tr of | T(R, kr, xr, trl, trr) => T{..}{..}{..}{cl}(R, k, x, tl, T (B, kr, xr, trl, trr)) | _(*non-red-tree*) =>> ( case+ tl of | T{..}{cl,cll,clr} ( B, kl, xl, tll, tlr ) => insfix_l ( k, x, T {..}{..}{..}{cll+clr}(R, kl, xl, tll, tlr), tr ) (* end of [T (B, ...)] *) | T(R, kl, xl, tll, tlr) => let val+ T (B, klr, xlr, tlrl, tlrr) = tlr val [cl2:int] tl2 = insfix_l (kl, xl, rbtree_redden tll, tlrl) in T{..}{..}{..}{cl2}(R, klr, xlr, tl2, T(B, k, x, tlrr, tr)) end (* end of [T (R, ...)] *) ) (* end of [_(*non-red-tree*)] *) end // end of [remfix_r] (* ****** ****** *) fun {key ,itm:t@ype} rbtree_remove_min {c:clr} {bh:nat | bh+c > 0} .. ( t0: rbtree0 (key, itm, c, bh) , k0: &key? >> key, x0: &itm? >> itm , dfbh: &int? >> int (d) ) : #[d:two | d <= bh] [c1:clr | c1 <= c+d] rbtree0 (key, itm, c1, bh-d) = ( // let #define B BLK; #define R RED in case+ t0 of | T (B, k, x, tl, tr) => ( case+ tl of | T _ => let val tl = rbtree_remove_min(tl, k0, x0, dfbh) // end of [val] in if dfbh = 0 then ( T{..}{..}{..}{0}(B, k, x, tl, tr) ) (* end of [then] *) else let val t2 = remfix_l (k, x, tl, tr) in case+ t2 of | T (R, k, x, tl, tr) => (dfbh := 0; T (B, k, x, tl, tr)) | _ (* non-red-tree *) =>> t2 end (* end of [else] *) // end of [if] end // end of [T] | E _ => (k0 := k; x0 := x; dfbh := 1; tr) ) (* end of [T (B, ...)] *) | T (R, k, x, tl, tr) => ( case+ tl of | T _ => let val tl = rbtree_remove_min(tl, k0, x0, dfbh) // end of [val] in if dfbh = 0 then ( T{..}{..}{..}{0}(R, k, x, tl, tr) ) (* end of [then] *) else let // dfbh = 1 val () = dfbh := 0 in insfix_r (k, x, tl, rbtree_redden tr) end (* end of [else] *) // end of [if] end // end of [T (B, ...)] | E () => (k0 := k; x0 := x; dfbh := 0; tr) ) (* end of [T (R, ...)] *) end // end of [let] // ) (* end of [rbtree_remove_min] *) (* ****** ****** *) fn {key ,itm:t@ype } rbtree_join {cl,cr:clr}{bh:nat} ( tl: rbtree0 (key, itm, cl, bh) , tr: rbtree0 (key, itm, cr, bh) ) : [ c:clr;v:nat | v <= cl+cr ] rbtree (key, itm, c, bh, v) = ( // case+ tr of | E _ => tl | T _ => let var k0: key and x0: itm var dfbh: int // uninitialized val [cr:int] tr = rbtree_remove_min(tr, k0, x0, dfbh) in if dfbh = 0 then T{..}{..}{..}{cl+cr}(RED, k0, x0, tl, tr) else remfix_r(k0, x0, tl, tr) // end of [if] end // end of [T] // ) (* end of [rbtree_join] *) (* ****** ****** *) // // HX-2011-09-24: // the pointer [pres] is assumed to be // associated with a proof of at-view if non-null // extern fun {key ,itm:t0p} funmap_takeout_ref ( &map (key, itm) >> _, k0: key, pres: ptr ) : bool // end of [funmap_takeout_ref] implement {key,itm} funmap_takeout_ref ( map, k0, pres ) = taken where { // #define B BLK; #define R RED // fun takeout {c:clr} {bh:nat} .. ( t0: rbtree0 (key, itm, c, bh) // rbtree0 , pres: ptr , dfbh: &int? >> int(d) , taken: &bool? >> bool ) : #[d:two | d <= bh] [c1:clr | c1 <= c+d] rbtree0 (key, itm, c1, bh-d) = ( // case+ t0 of // | E () => (dfbh := 0; taken := false; t0) // | T (B, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) // end of [val] in if sgn < 0 then let val tl = takeout(tl, pres, dfbh, taken) // end of [val] in if dfbh = 0 then ( T{..}{..}{..}{0}(B, k, x, tl, tr) ) (* end of [then] *) else let // dfbh = 1 val t2 = remfix_l (k, x, tl, tr) in case+ t2 of | T (R, k, x, tl, tr) => (dfbh := 0; T (B, k, x, tl, tr)) | _ (* non-red-tree *) =>> t2 end (* end of [else] *) // end of [if] end else if sgn > 0 then let val tr = takeout (tr, pres, dfbh, taken) // end of [val] in if dfbh = 0 then ( T{..}{..}{..}{0}(B, k, x, tl, tr) ) (* end of [then] *) else let // dfbh = 1 val t2 = remfix_r (k, x, tl, tr) in case+ t2 of | T (R, k, x, tl, tr) => (dfbh := 0; T (B, k, x, tl, tr)) | _ (* non-red-tree *) =>> t2 end (* end of [else] *) end else let // x0 = x val () = if (pres > 0) then $UN.ptr0_set(pres, x) val () = taken := true val t2 = rbtree_join (tl, tr) in case+ t2 of | T (R, k, x, tl, tr) => (dfbh := 0; T (B, k, x, tl, tr)) | _ (* non-red-tree *) =>> (dfbh := 1; t2) end (* end of [if] *) end // end of [T (B, ...)] // | T (R, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) // end of [val] in if sgn < 0 then let val tl = takeout(tl, pres, dfbh, taken) // end of [val] in if dfbh = 0 then ( T{..}{..}{..}{0}(R, k, x, tl, tr) ) (* end of [then] *) else let // dfbh = 1 val () = dfbh := 0 in remfix_l (k, x, tl, tr) end (* end of [else] *) // end of [if] end else if sgn > 0 then let val tr = takeout(tr, pres, dfbh, taken) in if dfbh = 0 then ( T{..}{..}{..}{0}(R, k, x, tl, tr) ) (* end of [then] *) else let // dfbh = 1 val () = dfbh := 0 in remfix_r (k, x, tl, tr) end (* end of [else] *) // end of [if] end else let // x0 = x val () = dfbh := 0 val () = if (pres > 0) then $UN.ptr0_set (pres, x) val () = taken := true in rbtree_join (tl, tr) end (* end of [if] *) end // end of [T (R, ...)] // ) (* end of [takeout] *) // var dfbh: int and taken: bool // val () = ( map := takeout (map, pres, dfbh, taken) ) (* end of [val] *) // } (* end of [funmap_takeout_ref] *) (* ****** ****** *) implement {key,itm} funmap_takeout ( map, k0, res ) = ans where { // val ans = funmap_takeout_ref (map, k0, addr@res) // val [b:bool] ans = g1ofg0(ans) // prval pfres = __assert ( view@ res ) where { extern praxi __assert{l_res:addr} (pf: itm? @ l_res):<> (opt (itm, b) @ l_res) } (* end of [prval] *) // prval () = view@res := pfres // } (* end of [funmap_takeout] *) (* ****** ****** *) // implement {key,itm} funmap_remove (map, k0) = funmap_takeout_ref (map, k0, the_null_ptr) // (* ****** ****** *) implement {key,itm}{env} funmap_foreach_env (xs, env) = let // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // val p_env = addr@ (env) // fun foreach {c:clr} {bh:nat} .. ( t0: rbtree0 (c, bh), p_env: ptr ) : void = let in // case+ t0 of // | E ((*void*)) => () // | T (_, k, x, tl, tr) => let // val () = foreach (tl, p_env) // val ( pf, fpf | p_env ) = $UN.ptr_vtake (p_env) val ((*void*)) = funmap_foreach$fwork (k, x, !p_env) prval ((*void*)) = fpf (pf) // val () = foreach (tr, p_env) // in // nothing end // end of [T] // end // end of [foreach] // in foreach (xs, p_env) end // end of [funmap_foreach_env] (* ****** ****** *) implement {key,itm} funmap_rbtree_height (t0) = let // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // fun aux {c:clr} {bh:nat} .. ( t0: rbtree0 (c, bh) ) :<> intGte(0) = ( // case+ t0 of | E ((*void*)) => 0 | T (_, _, _, tl, tr) => 1 + max (aux(tl), aux(tr)) // ) (* end of [aux] *) // in aux(t0) end // end of [funmap_rbtree_height] (* ****** ****** *) implement {key,itm} funmap_rbtree_bheight (t0) = let // typedef rbtree0 ( c:int, bh:int ) = rbtree0(key, itm, c, bh) // fun aux {c:clr} {bh,n:nat} .. ( t0: rbtree0 (c, bh), n: int(n) ) :<> int(bh+n) = ( // case+ t0 of | E ((*void*)) => n | T (c, _, _, tl, tr) => aux(tl, n+1-c) // ) (* end of [aux] *) // in aux(t0, 0) end // end of [funmap_rbtree_bheight] (* ****** ****** *) (* end of [funmap_rbtree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linmap_list.dats0000664000175000017500000002120012655455557020132 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_list" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linmap_list.sats" (* ****** ****** *) #include "./SHARE/linmap.hats" // code reuse #include "./SHARE/linmap_node.hats" // code reuse (* ****** ****** *) stadef mytkind = $extkind"atslib_linmap_list" (* ****** ****** *) assume map_vtype (k:t0p, i:vt0p) = List0_vt @(k, i) (* ****** ****** *) implement{} linmap_nil () = list_vt_nil () implement{} linmap_make_nil () = list_vt_nil () (* ****** ****** *) implement{} linmap_is_nil (map) = ans where { val ans = ( case+ map of list_vt_nil _ => true | list_vt_cons _ => false ) : bool // end of [val] } // end of [linmap_is_nil] implement{} linmap_isnot_nil (map) = ans where { val ans = ( case+ map of list_vt_nil _ => false | list_vt_cons _ => true ) : bool // end of [val] } // end of [linmap_isnot_nil] (* ****** ****** *) implement {key,itm} linmap_size (map) = g1int2uint (list_vt_length (map)) (* ****** ****** *) implement {key,itm} linmap_free (map) = list_vt_free<(key,itm)> (map) implement {key,itm} linmap_freelin (map) = let // vtypedef ki = @(key, itm) fun aux (kxs: List_vt(ki)): void = ( case+ kxs of | @list_vt_cons (kx, kxs1) => let val kxs1 = kxs1 val () = linmap_freelin$clear (kx.1) val () = free@{ki}{0}(kxs) in aux (kxs1) end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => () ) // in $effmask_all (aux (map)) end // end of [linmap_freelin] (* ****** ****** *) implement {key,itm} linmap_insert (map, k0, x0, res) = let // val nx0 = mynode_make_keyitm (k0, x0) // val nx1 = linmap_insert_ngc (map, nx0) // val p1 = mynode2ptr (nx1) // in // if p1 > 0 then let val () = res := mynode_getfree_itm (nx1) prval () = opt_some{itm}(res) in true end else let prval () = mynode_free_null (nx1) prval () = opt_none{itm}(res) in false end (* end of [if] *) // end // end of [linmap_insert] (* ****** ****** *) implement {key,itm} linmap_insert_any (map, k0, x0) = let // vtypedef ki = @(key, itm) val () = map := list_vt_cons{ki}( @(k0, x0), map ) // in // nothing end // end of [linmap_insert_any] (* ****** ****** *) implement {key,itm}{env} linmap_foreach_env (map, env) = let // vtypedef ki = @(key, itm) // implement{ki}{env} list_vt_foreach$cont (kx, env) = true implement list_vt_foreach$fwork (kx, env) = linmap_foreach$fwork (kx.0, kx.1, env) // in list_vt_foreach_env (map, env) end // end of [linmap_foreach_env] (* ****** ****** *) // // HX: [map] is just a list // implement {key,itm} linmap_listize (map) = map implement {key,itm}{ki2} linmap_flistize (map) = let // vtypedef ki = @(key, itm) implement list_vt_mapfree$fopr (kx) = linmap_flistize$fopr (kx.0, kx.1) // in list_vt_mapfree (map) end // end of [linmap_flistize] (* ****** ****** *) implement {key,itm} linmap_listize1 (map) = list_vt_copy<(key,itm)> (map) (* ****** ****** *) // // HX: functions for processing mynodes // (* ****** ****** *) implement{ } mynode_null {key,itm} () = let // vtypedef mynode = mynode(key,itm,null) // in $UN.castvwtp0{mynode}(the_null_ptr) end // end of [mynode_null] (* ****** ****** *) implement {key,itm} mynode_make_keyitm (k, x) = let // vtypedef ki = @(key, itm) val nx = list_vt_cons{ki}{0}( @(k, x), _ ) // in $UN.castvwtp0{mynode1(key,itm)}(nx) end // end of [mynode_make_keyitm] (* ****** ****** *) implement {key,itm} mynode_get_key (nx) = k where { // vtypedef ki = @(key, itm) // val nx2 = $UN.castvwtp1{List1_vt(ki)}(nx) // val+@list_vt_cons (kx, _) = nx2 // val k = kx.0 // prval () = fold@ (nx2) prval () = __assert (nx2) where { extern praxi __assert : List1_vt(ki) - void } // end of [where] // end of [prval] // } // end of [mynode_get_key] implement {key,itm} mynode_getref_itm (nx) = p_x where { // vtypedef ki = @(key, itm) // val nx2 = $UN.castvwtp1{List1_vt(ki)}(nx) // val+@list_vt_cons (kx, _) = nx2 // val p_x = addr@ (kx.1) val p_x = $UN.cast{cPtr1(itm)}(p_x) // prval () = fold@ (nx2) prval () = __assert (nx2) where { extern praxi __assert : List1_vt(ki) - void } // end of [where] // end of [prval] // } // end of [mynode_getref_itm] (* ****** ****** *) implement {key,itm} mynode_free_keyitm (nx, k0, x0) = () where { // vtypedef ki = @(key, itm) // val nx = $UN.castvwtp0{List1_vt(ki)}(nx) // val+~list_vt_cons (kx, nx2) = nx val () = k0 := kx.0 and () = x0 := kx.1 prval () = __assert (nx2) where { extern praxi __assert : List0_vt(ki) - void } // end of [where] // end of [prval] // } // end of [mynode_free_keyitm] (* ****** ****** *) implement {key,itm} mynode_getfree_itm (nx) = kx.1 where { // vtypedef ki = @(key, itm) // val nx = $UN.castvwtp0{List1_vt(ki)}(nx) // val+~list_vt_cons (kx, nx2) = nx // prval ((*void*)) = $UN.cast2void (nx2) // } // end of [mynode_getfree_itm] (* ****** ****** *) implement {key,itm} linmap_search_ngc (map, k0) = let // vtypedef ki = @(key, itm) // fun loop {n:nat} .. ( kxs: !list_vt (ki, n), k0: key ) :<> Ptr0 = let in // case+ kxs of | @list_vt_cons (kx, kxs1) => let val iseq = equal_key_key (kx.0, k0) in if iseq then let prval () = fold@ (kxs) in $UN.castvwtp1{Ptr1} (kxs) end else let val res = loop (kxs1, k0) prval () = fold@ (kxs) in res end // end of [if] end // end of [list_vt_cons] | @list_vt_nil () => let prval () = fold@ (kxs) in the_null_ptr end // end of [list_vt_cons] // end // end of [loop] // in loop (map, k0) // HX: Ptr1 end // end of [linmap_search_ngc] (* ****** ****** *) implement {key,itm} linmap_insert_ngc (map, nx0) = let // val k0 = mynode_get_key (nx0) val nx1 = linmap_takeout_ngc (map, k0) val () = linmap_insert_any_ngc (map, nx0) // in nx1 end // end of [linmap_insert_ngc] (* ****** ****** *) implement {key,itm} linmap_insert_any_ngc (map, nx0) = let // vtypedef ki = @(key, itm) // val nx0 = $UN.castvwtp0{List1_vt(ki)}(nx0) // val+@list_vt_cons (_, kxs) = nx0 prval () = __assert (kxs) where { extern praxi __assert : List0_vt(ki) - void } // end of [where] // end of [prval] // in kxs := map; fold@ (nx0); map := nx0 end // end of [linmap_insert_any_ngc] (* ****** ****** *) implement {key,itm} linmap_takeout_ngc (map, k0) = let // vtypedef ki = @(key, itm) vtypedef mynode0 = mynode0 (key, itm) vtypedef mynode1 = mynode1 (key, itm) // fun loop ( kxs: &List0_vt (ki) >> _, k0: key ) : mynode0 = let // vtypedef kis = List0_vt (ki) // in // case+ kxs of | @list_vt_cons (kx, kxs1) => let val iseq = equal_key_key (kx.0, k0) // end of [val] in if iseq then let val p1 = $UN.castvwtp1{ptr}(kxs1) prval () = fold@ (kxs) val res = $UN.castvwtp0{mynode1}(kxs) val () = kxs := $UN.castvwtp0{kis}(p1) in res end else let val res = loop (kxs1, k0) prval () = fold@ (kxs) in res end // end of [if] end // end of [list_vt_cons] | @list_vt_nil () => let prval () = fold@ (kxs) in mynode_null () end // end of [list_vt_cons] // end // end of [loop] // in loop (map, k0) // HX: mynode0 end // end of [linmap_takeout_ngc] (* ****** ****** *) (* end of [linmap_list.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/sllist.dats0000664000175000017500000003560112655455557017143 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) staload "libats/SATS/sllist.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) // extern fun{a:vt0p} g2node_make_elt (x: a): g2node1 (a) // extern fun{a:t0p} // [a] is nonlinear g2node_free (nx: g2node1 (INV(a))): void extern fun{a:vt0p} g2node_free_elt (nx: g2node1 (INV(a)), res: &(a?) >> a): void // extern fun{a:vt0p} g2node_getfree_elt (nx: g2node1 (INV(a))): (a) // (* ****** ****** *) // extern castfn sllist0_encode : {a:vt0p}{n:int} (g2node0 (INV(a))) -<> sllist (a, n) extern castfn sllist0_decode : {a:vt0p}{n:int} (sllist (INV(a), n)) -<> g2node0 (a) // extern castfn sllist1_encode : {a:vt0p}{n:int | n > 0} (g2node1 (INV(a))) -<> sllist (a, n) extern castfn sllist1_decode : {a:vt0p}{n:int | n > 0} (sllist (INV(a), n)) -<> g2node1 (a) // (* ****** ****** *) implement {}(*tmp*) sllist_nil () = sllist0_encode (gnode_null ()) implement {a}(*tmp*) sllist_sing (x) = sllist_cons (x, sllist_nil ()) (* ****** ****** *) implement {a}(*tmp*) sllist_cons (x, xs) = let // val nx = g2node_make_elt (x) in sllist_cons_ngc (nx, xs) // end // end of [sllist_cons] implement{a} sllist_uncons (xs) = let // val nx0 = sllist_uncons_ngc (xs) in g2node_getfree_elt (nx0) // end // end of [sllist_uncons] (* ****** ****** *) implement {a}(*tmp*) sllist_snoc (xs, x) = let // val nx = g2node_make_elt (x) in sllist_snoc_ngc (xs, nx) // end // end of [sllist_snoc] implement{a} sllist_unsnoc (xs) = let // val nx0 = sllist_unsnoc_ngc (xs) in g2node_getfree_elt (nx0) // end // end of [sllist_unsnoc] (* ****** ****** *) implement {a}(*tmp*) sllist_make_list {n}(xs) = let // fun loop ( nx0: g2node1 (a), xs: List (a) ) : void = let in // case+ xs of | list_cons (x, xs) => let val nx1 = g2node_make_elt (x) val () = gnode_link11 (nx0, nx1) in loop (nx1, xs) end // end of [loop] | list_nil () => let val () = gnode_set_next_null (nx0) in // nothing end // end of [list_nil] // end // end of [loop] // in // case+ xs of | list_cons (x, xs) => let val nx0 = g2node_make_elt (x) val () = $effmask_all (loop (nx0, xs)) in sllist0_encode (nx0) end // end of [list_cons] | list_nil () => sllist_nil () // end // end of [sllist_make_list] (* ****** ****** *) // implement {a}(*tmp*) sllist_make_list_vt {n}(xs) = $UN.castvwtp0{sllist(a,n)}(xs) // (* ****** ****** *) implement {}(*tmp*) sllist_is_nil {a}{n} (xs) = let val nxs = $UN.castvwtp1{g2node0(a)}(xs) in $UN.cast{bool(n==0)}(gnodelst_is_nil (nxs)) end // end of [sllist_is_nil] implement {}(*tmp*) sllist_is_cons {a}{n} (xs) = let val nxs = $UN.castvwtp1{g2node0(a)}(xs) in $UN.cast{bool(n > 0)}(gnodelst_is_cons (nxs)) end // end of [sllist_is_cons] (* ****** ****** *) (* fun{a:vt0p} sllist_length {n:int} (xs: !sllist (INV(a), n)):<> int (n) *) implement {a}(*tmp*) sllist_length {n} (xs) = let // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in $UN.cast{int(n)}(gnodelst_length (nxs)) end // end of [sllist_length] (* ****** ****** *) implement {a}(*tmp*) sllist_get_elt (xs) = let val p_elt = sllist_getref_elt (xs) in $UN.cptr_get (p_elt) // end of [val] end // end of [sllist_get_elt] implement {a}(*tmp*) sllist_set_elt (xs, x0) = let val p_elt = sllist_getref_elt (xs) in $UN.cptr_set (p_elt, x0) // end of [val] end // end of [sllist_set_elt] implement {a}(*tmp*) sllist_getref_elt (xs) = let val nxs = $UN.castvwtp1{g2node1(a)}(xs) in gnode_getref_elt (nxs) // end of [val] end // end of [sllist_getref_elt] (* ****** ****** *) implement {a}(*tmp*) sllist_getref_next (xs) = let val nxs = $UN.castvwtp1{g2node1(a)}(xs) in cptr2ptr (gnode_getref_next (nxs)) // end of [val] end // end of [sllist_getref_next] (* ****** ****** *) implement {a}(*tmp*) sllist_get_elt_at (xs, i) = let val p_elt = sllist_getref_elt_at (xs, i) in $UN.cptr_get (p_elt) // end of [val] end // end of [sllist_get_elt_at] implement {a}(*tmp*) sllist_set_elt_at (xs, i, x0) = let val p_elt = sllist_getref_elt_at (xs, i) in $UN.cptr_set (p_elt, x0) // end of [val] end // end of [sllist_set_elt_at] implement {a}(*tmp*) sllist_getref_elt_at (xs, i) = let // fun loop ( nxs: g2node1 (a), i: int ) : g2node1 (a) = if i > 0 then let val nxs = gnode_get_next (nxs) in loop ($UN.cast{g2node1(a)}(nxs), i-1) end else nxs // end of [if] // val nxs0 = $UN.castvwtp1{g2node1(a)}(xs) val nxs_i = $effmask_all (loop (nxs0, i)) // in gnode_getref_elt (nxs_i) end // end of [sllist_getref_elt_at] (* ****** ****** *) implement {a}(*tmp*) sllist_getref_at (xs, i) = let // fun loop ( p: Ptr1, i: int ) : Ptr1 = let in if i > 0 then let val nx = $UN.ptr1_get (p) // end of [val] val p2 = gnode_getref_next (nx) in loop (cptr2ptr (p2), i-1) end else (p) // end of [if] end // end of [loop] // val p0 = $UN.cast{Ptr1}(addr@(xs)) // in $effmask_all (loop (p0, i)) end // end of [sllist_getref_at] (* ****** ****** *) implement {a}(*tmp*) sllist_insert_at {n} (xs, i, x0) = let var xs = xs val p_i = sllist_getref_at (xs, i) val nx0 = g2node_make_elt (x0) val nxs = $UN.ptr1_get (p_i) val () = gnode_link10 (nx0, nxs) val () = $UN.ptr1_set (p_i, nx0) in $UN.castvwtp0{sllist(a, n+1)}(xs) end // end of [sllist_insert_at] (* ****** ****** *) implement {a}(*tmp*) sllist_takeout_at {n} (xs, i) = let val p_i = sllist_getref_at (xs, i) val nxs = $UN.ptr1_get (p_i) val nx0 = nxs val nxs = gnode_get_next (nx0) val () = $UN.ptr1_set (p_i, nxs) prval ( ) = __assert (xs) where { extern praxi __assert (xs: &sllist (a, n) >> sllist (a, n-1)): void } // end of [where] // end of [prval] in g2node_getfree_elt (nx0) end // end of [sllist_takeout_at] (* ****** ****** *) implement {a}(*tmp*) sllist_append {n1,n2} (xs1, xs2) = let // prval () = lemma_sllist_param (xs1) prval () = lemma_sllist_param (xs2) // val iscons1 = sllist_is_cons (xs1) // in // if iscons1 then let val iscons2 = sllist_is_cons (xs2) in // if iscons2 then let val nxs1 = sllist1_decode (xs1) val nxs2 = sllist0_decode (xs2) val nxs1_end = gnodelst_next_all (nxs1) val _void_ = gnode_link10 (nxs1_end, nxs2) in sllist0_encode (nxs1) end else let prval () = sllist_free_nil (xs2) in xs1 end // end of [if] // end else let prval () = sllist_free_nil (xs1) in xs2 end // end of [if] // end // end of [sllist_append] (* ****** ****** *) implement {a}(*tmp*) sllist_reverse (xs) = let in sllist_reverse_append (xs, sllist_nil ()) end // end of [sllist_reverse] (* ****** ****** *) implement {a}(*tmp*) sllist_reverse_append (xs1, xs2) = let // fun loop ( nxs: g2node0 (a), res: g2node1 (a) ) : g2node1 (a) = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nx0) val () = gnode_link11 (nx0, res) in loop (nxs, nx0) end else res // end of [if] // end // end of [loop] // prval ( ) = lemma_sllist_param (xs1) // val iscons = sllist_is_cons (xs1) // in // if iscons then let val nxs1 = sllist1_decode (xs1) val nx0 = nxs1 val nxs1 = gnode_get_next (nx0) val () = gnode_link10 (nx0, sllist0_decode (xs2)) in sllist0_encode ($effmask_all (loop (nxs1, nx0))) end else let prval () = sllist_free_nil (xs1) in xs2 end // end of [if] // end // end of [sllist_reverse_append] (* ****** ****** *) implement {a}(*tmp*) sllist_free (xs) = let // fun loop ( nxs: g2node0 (a) ) : void = let // val iscons = gnodelst_is_cons (nxs) // in // if iscons then let val nxs2 = gnode_get_next (nxs) // end of [val] val () = g2node_free (nxs) in loop (nxs2) end else () // end of [if] // end // end of [loop] // val nxs = sllist0_decode (xs) // in $effmask_all (loop (nxs)) end // end of [sllist_free] (* ****** ****** *) implement {a}{b} sllist_map{n} (xs) = let // fun loop ( nxs: g2node0 (a), p_res: ptr ) : void = let // val iscons = gnodelst_is_cons (nxs) // in // if iscons then let val nx = nxs val nxs = gnode_get_next (nx) val p_x = gnode_getref_elt (nx) val (pf, fpf | p_x) = $UN.cptr_vtake{a}(p_x) val y = sllist_map$fopr (!p_x) prval () = fpf (pf) val ny = g2node_make_elt (y) val () = $UN.ptr0_set (p_res, ny) val p_res = gnode_getref_next (ny) in loop (nxs, cptr2ptr(p_res)) end else () // end of [if] // end (* end of [loop] *) // var res: ptr val () = loop ($UN.castvwtp1{g2node0(a)}(xs), addr@(res)) // in $UN.castvwtp0{sllist(b,n)}(res) end (* end of [sllist_map] *) (* ****** ****** *) (* fun{ a:vt0p}{env:vt0p } sllist_foreach_env (xs: !Sllist (INV(a)), env: &env >> _): void *) implement {a}{env} sllist_foreach_env (xs, env) = let // fun loop ( nxs: g2node0 (a), env: &env ) : void = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nxs) val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val test = sllist_foreach$cont (!p_elt, env) in if test then let val () = sllist_foreach$fwork (!p_elt, env) prval () = fpf (pf) in loop (nxs, env) end else let prval () = fpf (pf) in // nothing end // end of [if] end else () // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in loop (nxs, env) end // end of [sllist_foreach_env] (* ****** ****** *) implement {}(*tmp*) fprint_sllist$sep (out) = fprint_string (out, "->") implement {a}(*tmp*) fprint_sllist (out, xs) = let // fun loop ( out: FILEref, nxs: g2node0 (a), i: int ) : void = let val iscons = gnodelst_is_cons (nxs) in // if iscons then let val nx0 = nxs val nxs = gnode_get_next (nx0) val () = if i > 0 then fprint_sllist$sep (out) // end of [val] val p_elt = gnode_getref_elt (nx0) val (pf, fpf | p_elt) = $UN.cptr_vtake {a} (p_elt) val () = fprint_ref (out, !p_elt) prval () = fpf (pf) in loop (out, nxs, i+1) end // end of [if] // end // end of [loop] // val nxs = $UN.castvwtp1{g2node0(a)}(xs) // in loop (out, nxs, 0) end // end of [fprint_sllist] (* ****** ****** *) datavtype slnode_vtype (a:vt@ype+) = SLNODE of (a, ptr(*next*)) // end of [slnode_vtype] (* ****** ****** *) vtypedef slnode (a:vt0p) = slnode_vtype (a) (* ****** ****** *) extern praxi slnode_vfree {a:vt0p} (nx: slnode (a)): void extern castfn g2node_decode {a:vt0p} (nx: g2node1 (INV(a))):<> slnode (a) extern castfn g2node_encode {a:vt0p} (nx: slnode (INV(a))):<> g2node1 (a) (* ****** ****** *) implement {a}(*tmp*) g2node_make_elt (x) = let in $UN.castvwtp0{g2node1(a)}(SLNODE{a}(x, _)) end // end of [g2node_make_elt] (* ****** ****** *) implement {a}(*tmp*) g2node_free (nx) = let val nx = g2node_decode (nx) val~SLNODE (_, _) = (nx) in (*nothing*) end // end of [g2node_free] implement {a}(*tmp*) g2node_free_elt (nx, res) = let val nx = g2node_decode (nx) val~SLNODE (x, _) = (nx); val () = res := x in (*nothing*) end // end of [g2node_free_elt] implement {a}(*tmp*) g2node_getfree_elt (nx) = let val nx = g2node_decode (nx) val~SLNODE (x, _) = (nx) in x end // end of [g2node_getfree_elt] (* ****** ****** *) implement(a) gnode_getref_elt (nx) = let // val nx = g2node_decode (nx) // val+@SLNODE (elt, _) = nx val p_elt = addr@ (elt) prval () = fold@ (nx) prval () = slnode_vfree (nx) // in $UN.cast{cPtr1(a)}(p_elt) end // end of [gnode_getref_elt] (* ****** ****** *) implement(a) gnode_getref_next (nx) = let // val nx = g2node_decode (nx) // val+@SLNODE (_, next) = nx val p_next = addr@ (next) prval () = fold@ (nx) prval () = slnode_vfree (nx) // in $UN.cast{cPtr1(g2node0(a))}(p_next) end // end of [gnode_getref_next] (* ****** ****** *) implement(a) gnode_link10 (nx1, nx2) = gnode_set_next (nx1, nx2) // end of [gnode_link10] implement(a) gnode_link11 (nx1, nx2) = gnode_set_next (nx1, nx2) // end of [gnode_link11] (* ****** ****** *) implement {a}(*tmp*) sllist_cons_ngc (nx0, xs) = let // val nxs = sllist0_decode (xs) val _void_ = gnode_link10 (nx0, nxs) // in sllist0_encode (nx0) end // end of [sllist_cons_ngc] implement {a}(*tmp*) sllist_uncons_ngc (xs) = let // val nxs = sllist1_decode (xs) val nxs2 = gnode_get_next (nxs) val _void_ = xs := sllist0_encode (nxs2) // in nxs end // end of [sllist_uncons_ngc] (* ****** ****** *) implement {a}(*tmp*) sllist_snoc_ngc {n} (xs, nx0) = let // vtypedef res = sllist(a,n+1) // val () = gnode_set_next_null (nx0) // val nxs = sllist0_decode (xs) val iscons = gnodelst_is_cons (nxs) // in // if iscons then let // val nx_end = gnodelst_next_all (nxs) val _void_ = gnode_link11 (nx_end, nx0) // in $UN.castvwtp0{res}(nxs) end else $UN.castvwtp0{res}(nx0) // end of [if] // end // end of [sllist_snoc_ngc] (* ****** ****** *) implement {a}(*tmp*) sllist_unsnoc_ngc {n} (xs) = let // fun loop ( xs: &Sllist1 (a) >> Sllist0(a) ) : g2node1(a) = let // val p = sllist_getref_next (xs) // val (pf, fpf | p) = $UN.ptr_vtake{Sllist0(a)}(p) // val iscons = sllist_is_cons (!p) // in // if iscons then let val res = loop (!p) prval () = fpf (pf) in res end // end of [then] else let prval () = fpf (pf) val nx = $UN.castvwtp0{g2node1(a)}(xs) val () = xs := sllist_nil{a}((*void*)) in nx end // end of [else] // end of [if] // end (* end of [loop] *) // val res = $effmask_all (loop (xs)) // prval [l:addr] EQADDR () = eqaddr_make_ptr (addr@xs) // prval () = view@xs := $UN.castview0{sllist(a,n-1)@l}(view@xs) // in res end // end of [sllist_unsnoc_ngc] (* ****** ****** *) (* end of [sllist.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/theGetters.dats0000664000175000017500000001336012655455557017745 0ustar hwxihwxi(***********************************************************************) (* *) (* ATS/contrib/libats-hwxi *) (* *) (***********************************************************************) (* ** Copyright (C) 2015 Hongwei Xi, ATS Trustful Software, Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), ** to deal in the Software without restriction, including without limitation ** the rights to use, copy, modify, merge, publish, distribute, sublicense, ** and/or sell copies of the Software, and to permit persons to whom the ** Software is furnished to do so, subject to the following stated conditions: ** ** The above copyright notice and this permission notice shall be included in ** all copies or substantial portions of the Software. ** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ** FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ** IN THE SOFTWARE. *) (* ****** ****** *) // // HX-2015-09-28: // Some templates for getters // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/theGetters.sats" (* ****** ****** *) // implement {}(*tmp*) the_getall_asz_hint((*void*)) = i2sz(64) // (* ****** ****** *) implement {a}(*tmp*) the_getall_list ((*void*)) = let // vtypedef res_vt = List0_vt(a) // fun loop ( res: &ptr? >> res_vt ) : void = let // val () = res := list_vt_cons{a}{0}(_, _) // val+list_vt_cons(x, res1) = res // val ans = the_get_elt(x) // in // if ans then let prval () = opt_unsome(x) // end of [prval] val () = loop(res1) prval () = fold@(res) in // nothing end // end of [then] else let prval () = opt_unnone(x) // end of [prval] val () = free@{a}{0}(res) val () = res := list_vt_nil() in // nothing end // end of [else] // end // end of [loop] // var res: ptr // uninitized // in loop(res); res end // end of [the_getall_list] (* ****** ****** *) implement {a}(*tmp*) the_getall_arrayptr (asz) = let // fun loop ( pp: ptr, pa: ptr, pz: ptr, asz: &size_t? >> _ ) : ptr = ( // if pp < pz then let // val ( pf, fpf | pp ) = $UN.ptr0_vtake{a?}(pp) val ans = the_get_elt(!pp) prval () = $UN.cast2void((fpf, pf | pp)) // in // if ans then loop(ptr0_succ(pp), pa, pz, asz) // end of [then] else let val () = asz := $UN.cast2size(pp-pa)/sizeof in pa end // end of [else] // end of [if] // end // end of [then] else let // val n = $UN.cast2size(pz-pa)/sizeof val n = $UN.cast{sizeGte(1)}(n) val n2 = n + n // val pa2 = $UN.castvwtp0{ptr} ( arrayptr_make_uninitized(n2) ) // extern fun memcpy ( dst: ptr, src: ptr, bsz: size_t ) : ptr = "atslib_memcpy" val _ = memcpy(pa2, pa, n*sizeof) // val pp2 = ptr_add(pa2, n) val pz2 = ptr_add(pa2, n2) // in loop (pp2, pa2, pz2, asz) end // end of [else] // ) (* end of [loop] *) // val n = the_getall_asz_hint() // val pa = $UN.castvwtp0{ptr} (arrayptr_make_uninitized(n)) // val pz = ptr_add (pa, n) // val pa = loop(pa, pa, pz, asz) // val [n:int] n = g1ofg0_uint(asz) // prval [l:addr] EQADDR() = eqaddr_make_ptr(addr@asz) prval () = view@asz := $UN.castview0{size_t(n)@l}(view@asz) // in $UN.castvwtp0{arrayptr(a, n)}(asz) end // end of [the_getall_arrayptr] (* ****** ****** *) implement {a}(*tmp*) the_get_elt_exn ((*void*)) = let // var x: a? // uninitized val ans = the_get_elt (x) // in // if ans then let prval () = opt_unsome(x) in x end // end of [then] else let prval () = opt_unnone(x) in $raise Exception_the_get_elt_exn() end // end of [else] // end // end of [the_get_elt_exn] (* ****** ****** *) implement {a}(*tmp*) the_getall_list_exn ((*void*)) = ( list_vt_reverse(the_getall_rlist_exn()) ) (* end of [the_getall_list_exn] *) (* ****** ****** *) implement {a}(*tmp*) the_getall_rlist_exn ((*void*)) = let // vtypedef res_vt = List0_vt(a) // fun loop ( p: ptr ) : void = loop(p) where { val x = the_get_elt_exn() val xs = $UN.ptr0_get(p) val () = $UN.ptr0_set(p, cons_vt{a}(x, xs)) } (* end of [loop] *) // var res: ptr = list_vt_nil() val p_res = addr@res // val () = ptr_as_volatile (p_res) // longjmp/setjmp bug // val ((*void*)) = ( try loop(p_res) with ~Exception_the_get_elt_exn() => () ) : void // end of [val] // in res end // end of [the_getall_rlist_exn] (* ****** ****** *) local // staload "libats/SATS/dynarray.sats" // (* staload _ = "libats/DATS/dynarray.dats" *) in (* in-of-local *) // implement {a}(*tmp*) the_getall_arrayptr_exn (asz) = let // vtypedef DA = dynarray(a) // fun loop ( DA: ptr ) : void = loop(DA) where { val x = the_get_elt_exn() // end of [val] val DA = $UN.castvwtp0{DA}(DA) // end of [val] val () = dynarray_insert_atend_exn(DA, x) // end of [val] val DA = $UN.castvwtp0{ptr}(DA) } (* end of [loop] *) // val n0 = the_getall_asz_hint() val DA = dynarray_make_nil(n0) val p_DA = $UN.castvwtp1{ptr}(DA) // val () = ptr_as_volatile (p_DA) // longjmp/setjmp bug // val ((*void*)) = ( try loop(p_DA) with ~Exception_the_get_elt_exn() => () ) : void // end of [val] // in dynarray_getfree_arrayptr{a}(DA, asz) end // end of [the_getall_arrayptr_exn] // end // end of [local] (* ****** ****** *) (* end of [theGetters.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/gmatrix_col.dats0000664000175000017500000001627112655455557020143 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/gvector.sats" staload "libats/SATS/gmatrix.sats" staload "libats/SATS/gmatrix_col.sats" (* ****** ****** *) implement{a} gmatcol_get_at (M, ld, i, j) = let // val pij = gmatcol_getref_at (M, ld, i, j) in $UN.cptr_get (pij) // end // end of [gmatcol_get_at] implement{a} gmatcol_set_at (M, ld, i, j, x) = let // val pij = gmatcol_getref_at (M, ld, i, j) in $UN.cptr_set (pij, x) // end // end of [gmatcol_set_at] (* ****** ****** *) implement{a} gmatcol_getref_at (M, ld, i, j) = let // val p = $UN.cast2Ptr1(ptr_add (addr@M, i+j*ld)) // in $UN.ptr2cptr{a}(p) end // end of [gmatcol_getref_at] (* ****** ****** *) implement{a} gmatcol_getref_row_at {m,n}{ld}(M, ld, i) = let // val prow = $UN.cast2Ptr1(ptr_add (addr@M, i)) // in $UN.ptr2cptr{GVT(a,n,ld)}(prow) end // end of [gmatcol_getref_row_at] implement{a} gmatcol_getref_col_at {m,n}{ld}(M, ld, j) = let // val pcol = $UN.cast2Ptr1(ptr_add (addr@M, j*ld)) // in $UN.ptr2cptr{GVT(a,m,1(*d*))}(pcol) end // end of [gmatcol_getref_col_at] (* ****** ****** *) implement{a} gmatcol_interchange_row {m,n}{ld} ( M, n, ld, i1, i2 ) = let in // if i1 != i2 then let // val cp1 = gmatcol_getref_row_at (M, ld, i1) val cp2 = gmatcol_getref_row_at (M, ld, i2) // val (pf1, fpf1 | p1) = $UN.cptr_vtake (cp1) val (pf2, fpf2 | p2) = $UN.cptr_vtake (cp2) // val () = gvector_exchange (!p1, !p2, n, ld, ld) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end else () // end of [if] // end (* end of [gmatcol_interchange_row] *) (* ****** ****** *) implement{a} gmatcol_interchange_col {m,n}{ld} ( M, m, ld, j1, j2 ) = let in // if j1 != j2 then let // val cp1 = gmatcol_getref_col_at (M, ld, j1) val cp2 = gmatcol_getref_col_at (M, ld, j2) // val (pf1, fpf1 | p1) = $UN.cptr_vtake (cp1) val (pf2, fpf2 | p2) = $UN.cptr_vtake (cp2) // val () = gvector_exchange (!p1, !p2, m, 1, 1) // prval () = fpf1 (pf1) and () = fpf2 (pf2) // in // nothing end else () // end of [if] // end (* end of [gmatcol_interchange_col] *) (* ****** ****** *) implement {a}(*tmp*) gmatcol_copyto {m,n}{ldx,ldy} ( X2, Y2, m, n, ldx, ldy ) = let // prval ( ) = __initize (Y2) where { extern praxi __initize (&GMC(a?, m, n, ldy) >> GMC(a, m, n, ldy)): void } (* end of [where] *) // end of [prval] // implement(env) gmatcol_foreachcol2$fwork (X, Y, m, env) = let prval () = gvector_uninitize (Y) in gvector_copyto (X, Y, m, 1, 1) end // end of [gmatcol_foreachcol2$fwork] // val () = gmatcol_foreachcol2 (X2, Y2, m, n, ldx, ldy) // in // nothing end // end of [gmatcol_copyto] (* ****** ****** *) implement {a}(*tmp*) gmatcol_transpto {m,n}{ldx,ldy} ( X2, Y2, m, n, ldx, ldy ) = let typedef tenv = ptr implement gmatcol_foreachcol$fwork {m} (X, m, env) = () where { // typedef tYcol = gvector(a,m,ldy) // val pY = env val () = env := ptr_succ (env) // val (pf, fpf | pY) = $UN.ptr_vtake{tYcol}(pY) // prval ( ) = gvector_uninitize{a}(!pY) val () = gvector_copyto (X, !pY, m, 1, ldy) // prval ((*void*)) = fpf (pf) // } // end of [gmatcol_foreachcol$fwork] // var env: ptr = addr@Y2 val () = gmatcol_foreachcol_env (X2, m, n, ldx, env) // prval () = gmatrix_initize{a}(Y2) // in // nothing end // end of [gmatcol_transpto] (* ****** ****** *) implement{a} gmatcol_ptr_split_2x2 (pf | p, ld, i, j) = let // val j_ld = j * ld val p01 = ptr_add (p, j_ld ) val p10 = ptr_add (p, i ) val p11 = ptr_add (p, i+j_ld) prval (pf00, pf01, pf10, pf11) = gmatcol_v_split_2x2 (pf, i, j) // in (pf00, pf01, pf10, pf11, gmatcol_v_unsplit_2x2 | p01, p10, p11) end // end of [gmatcol_ptr_split_2x2] (* ****** ****** *) implement{a} gmatcol_foreachcol (M, m, n, ld) = let var env: void = () in gmatcol_foreachcol_env (M, m, n, ld, env) end // end of [gmatcol_foreachcol] (* ****** ****** *) implement {a}{env} gmatcol_foreachcol_env {m,n}{ld} (M, m, n, ld, env) = let fun loop {l:addr}{n:nat} .. ( pfM: !GMC(a, l, m, n, ld) | p: ptr l, n: int n, env: &env ) : void = let in // if n > 0 then let // prval (pfM1, pfM2) = gmatcol_v_uncons1 (pfM) val () = gmatcol_foreachcol$fwork (!p, m, env) val () = loop (pfM2 | ptr_add (p, ld), pred(n), env) prval ((*void*)) = pfM := gmatcol_v_cons1 (pfM1, pfM2) // in // nothing end else let // (* prval () = (pfM := gmatcol_v_renil0 {a,a} (pfM)) *) // in // nothing end // end of [if] // end // end of [loop] // prval () = lemma_gmatcol_param (M) // in loop (view@M | addr@M, n, env) end // end of [gmatcol_foreachcol_env] (* ****** ****** *) implement{a1,a2} gmatcol_foreachcol2 (A, B, m, n, ld1, ld2) = let var env: void = () in gmatcol_foreachcol2_env (A, B, m, n, ld1, ld2, env) end // end of [gmatrix_foreachcol2] implement {a1,a2}{env} gmatcol_foreachcol2_env {m,n}{lda,ldb} ( A, B, m, n, lda, ldb, env ) = let // fun loop {l1,l2:addr}{n:nat} .. ( pfA: !GMC(a1, l1, m, n, lda) , pfB: !GMC(a2, l2, m, n, ldb) | p1: ptr l1, p2: ptr l2, n: int n, env: &env ) : void = let in // if n > 0 then let // prval (pfA1, pfA2) = gmatcol_v_uncons1 (pfA) prval (pfB1, pfB2) = gmatcol_v_uncons1 (pfB) // val () = gmatcol_foreachcol2$fwork (!p1, !p2, m, env) // val () = loop ( pfA2, pfB2 | ptr_add (p1, lda), ptr_add (p2, ldb), pred(n), env ) (* end of [val] *) // prval () = pfA := gmatcol_v_cons1 (pfA1, pfA2) prval () = pfB := gmatcol_v_cons1 (pfB1, pfB2) // in // nothing end else let // (* prval () = (pfA := gmatrow_v_renil0 {a,a} (pfA)) prval () = (pfB := gmatrow_v_renil0 {a,a} (pfB)) *) // in // nothing end // end of [if] // end // end of [loop] // prval () = lemma_gmatcol_param (A) prval () = lemma_gmatcol_param (B) // in loop (view@A, view@B | addr@A, addr@B, n, env) end // end of [gmatcol_foreachcol2] (* ****** ****** *) (* end of [gmatrix_col.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funmap_avltree.dats0000664000175000017500000003422212655455557020637 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funmap_avltree" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funmap_avltree.sats" (* ****** ****** *) implement {key} compare_key_key (k1, k2) = gcompare_val_val (k1, k2) // end of [compare_key_key] (* ****** ****** *) // // HX-2012-12-26: // the file should be included here // before [map_type] is assumed // #include "./SHARE/funmap.hats" // code reuse // (* ****** ****** *) // // HX: maximal height difference of two siblings // #define HTDF 1 #define HTDF1 (HTDF+1) #define HTDF_1 (HTDF-1) // (* ****** ****** *) datatype avltree ( key:t@ype, itm:t@ype+, int(*height*) ) = | {hl,hr:nat | hl <= hr+HTDF; hr <= hl+HTDF} B (key, itm, 1+max(hl,hr)) of ( int(1+max(hl,hr)), key, itm, avltree(key, itm, hl), avltree(key, itm, hr) ) | E (key, itm, 0) of ((*void*)) // end of [datatype avltree] (* ****** ****** *) typedef avltree (key:t0p, itm:t0p) = [h:nat] avltree (key, itm, h) // end of [avltree] typedef avltree_inc (key:t0p, itm:t0p, h:int) = [h1:nat | h <= h1; h1 <= h+1] avltree (key, itm, h1) // end of [avltree_inc] typedef avltree_dec (key:t0p, itm:t0p, h:int) = [h1:nat | h1 <= h; h <= h1+1] avltree (key, itm, h1) // end of [avltree_dec] (* ****** ****** *) assume map_type (key:t0p, itm:t0p) = avltree (key, itm) // end of [map_type] (* ****** ****** *) implement{} funmap_nil () = E () implement{} funmap_make_nil () = E () (* ****** ****** *) implement{} funmap_is_nil (map) = case+ map of E _ => true | B _ => false // end of [funmap_is_nil] implement{} funmap_isnot_nil (map) = case+ map of B _ => true | E _ => false // end of [funmap_isnot_nil] (* ****** ****** *) implement {key,itm} funmap_size (map) = let // fun aux ( t0: avltree (key, itm), res: size_t ) : size_t = let in // case+ t0 of | B ( _, _, _, tl, tr ) => let val res = succ(res) val res = aux (tl, res) val res = aux (tr, res) in res end // end of [B] | E ((*void*)) => res // end // end of [aux] // in $effmask_all (aux (map, i2sz(0))) end // end of [funmap_size] (* ****** ****** *) implement {key,itm} funmap_search (map, k0, res) = let // fun search{h:nat} .. ( t0: avltree (key, itm, h) , res: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) = let in // case+ t0 of | B ( _(*h*), k, x, tl, tr ) => let val sgn = compare_key_key (k0, k) // end of [val] in case+ 0 of | _ when sgn < 0 => search (tl, res) | _ when sgn > 0 => search (tr, res) | _ => let val () = res := x prval () = opt_some{itm}(res) in true end // end of [_] end // end of [B] | E () => let prval () = opt_none{itm}(res) in false end // end of [E] // end // end of [search] // in search (map, res) end // end of [funmap_search] (* ****** ****** *) macdef avlht (t) = ( case+ ,(t) of B (h, _, _, _, _) => h | E ((*void*)) => 0 ) // end of [avlht] (* ****** ****** *) (* ** left rotation for restoring height invariant *) fn{ key,itm:t0p } avltree_lrotate {hl,hr:nat | hl+HTDF1 == hr} ( k: key, x: itm , hl : int hl , tl: avltree (key, itm, hl) , hr : int hr , tr: avltree (key, itm, hr) ) :<> avltree_inc (key, itm, hr) = let val+B{..}{hrl,hrr}(_, kr, xr, trl, trr) = tr val hrl = avlht(trl) : int hrl and hrr = avlht(trr) : int hrr in // if hrl <= hrr+HTDF_1 then let val hrl1 = hrl + 1 in B{key,itm} ( 1+max(hrl1,hrr), kr, xr , B{key,itm}(hrl1, k, x, tl, trl), trr ) end else let // [hrl=hrr+2]: deep rotation val+B{..}{hrll,hrlr}(_(*hrl*), krl, xrl, trll, trlr) = trl val hrll = avlht(trll) : int hrll and hrlr = avlht(trlr) : int hrlr in B{key,itm} ( hr, krl, xrl , B{key,itm}(1+max(hl,hrll), k, x, tl, trll) , B{key,itm}(1+max(hrlr,hrr), kr, xr, trlr, trr) ) end // end of [if] // end // end of [avltree_lrotate] (* ****** ****** *) (* ** right rotation for restoring height invariant *) fn{key,itm:t0p} avltree_rrotate {hl,hr:nat | hl == hr+HTDF1} ( k: key, x: itm , hl: int hl , tl: avltree (key, itm, hl) , hr: int hr , tr: avltree (key, itm, hr) ) :<> avltree_inc (key, itm, hl) = let val+B{..}{hll,hlr}(_(*hl*), kl, xl, tll, tlr) = tl val hll = avlht(tll) : int hll and hlr = avlht(tlr) : int hlr in // if hll+HTDF_1 >= hlr then let val hlr1 = hlr + 1 in B{key,itm} ( 1+max(hll,hlr1), kl, xl , tll, B{key,itm}(hlr1, k, x, tlr, tr) ) end else let val+B{..}{hlrl,hlrr}(_(*hlr*), klr, xlr, tlrl, tlrr) = tlr val hlrl = avlht(tlrl) : int hlrl and hlrr = avlht(tlrr) : int hlrr in B{key,itm} ( hl, klr, xlr , B{key,itm}(1+max(hll,hlrl), kl, xl, tll, tlrl) , B{key,itm}(1+max(hlrr,hr), k, x, tlrr, tr) ) end // end of [if] // end // end of [avltree_rrotate] (* ****** ****** *) implement {key,itm} funmap_insert ( map, k0, x0, res2 ) = res where { // fun insert {h:nat} .. ( t0: avltree (key, itm, h) , res: &bool? >> bool (b) , res2: &itm? >> opt (itm, b) ) : #[b:bool] avltree_inc (key, itm, h) = let in // case+ t0 of | B{..}{hl,hr} (h, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) in case+ 0 of | _ when sgn < 0 => let val [hl:int] tl = insert (tl, res, res2) val hl = avlht(tl) : int (hl) and hr = avlht(tr) : int (hr) in if hl - hr <= HTDF then B{key,itm}(1+max(hl,hr), k, x, tl, tr) else // hl = hr+HTDF1 avltree_rrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val [hr:int] tr = insert (tr, res, res2) val hl = avlht(tl) : int (hl) and hr = avlht(tr) : int (hr) in if hr - hl <= HTDF then B{key,itm}(1+max(hl, hr), k, x, tl, tr) else // hl+HTDF1 = hr avltree_lrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [sgn > 0] | _ (* sgn=0 *) => let val () = res := true val () = res2 := x prval () = opt_some{itm}(res2) in B{key,itm}(h, k, x0, tl, tr) end // end of [sgn = 0] end (* end of [B] *) | E ((*void*)) => let val () = res := false prval () = opt_none{itm}(res2) in B{key,itm}(1, k0, x0, E (), E ()) end (* end of [E] *) // end // end of [insert] // var res: bool // uninitialized val ((*void*)) = map := insert (map, res, res2) // } // end of [funmap_insert] (* ****** ****** *) fun{ key,itm:t0p } avlmaxout{h:pos} .. ( t: avltree (key, itm, h) , k0: &key? >> key, x0: &itm? >> itm ) : avltree_dec (key, itm, h) = let // val+B{..}{hl,hr}(h, k, x, tl, tr) = t // in // case+ tr of | B _ => let val [hr:int] tr = avlmaxout (tr, k0, x0) val hl = avlht(tl) : int(hl) and hr = avlht(tr) : int(hr) in if hl - hr <= HTDF then B{key,itm}(1+max(hl,hr), k, x, tl, tr) else avltree_rrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [B] | E () => (k0 := k; x0 := x; tl) // end // end of [avlmaxout] (* ****** ****** *) fun{ key,itm:t0p } avlminout{h:pos} .. ( t: avltree (key, itm, h) , k0: &key? >> key, x0: &itm? >> itm ) : avltree_dec (key, itm, h) = let // val+B{..}{hl,hr}(h, k, x, tl, tr) = t // in // case+ tl of | B _ => let val [hl:int] tl = avlminout (tl, k0, x0) val hl = avlht(tl) : int(hl) and hr = avlht(tr) : int(hr) in if hr - hl <= HTDF then B{key,itm}(1+max(hl,hr), k, x, tl, tr) else avltree_lrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [B] | E () => (k0 := k; x0 := x; tr) // end // end of [avlminout] (* ****** ****** *) (* ** left join: height(tl) >= height(tr) *) fun{ key,itm:t0p } avltree_ljoin {hl,hr:nat | hl >= hr} .. ( k: key, x: itm , tl: avltree (key, itm, hl) , tr: avltree (key, itm, hr) ) :<> avltree_inc (key, itm, hl) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in // if hl >= hr + HTDF1 then let val+B{..}{hll, hlr}(_, kl, xl, tll, tlr) = tl val [hlr:int] tlr = avltree_ljoin (k, x, tlr, tr) val hll = avlht(tll) : int hll and hlr = avlht(tlr) : int hlr in if hlr <= hll + HTDF then B{key,itm}(1+max(hll,hlr), kl, xl, tll, tlr) else avltree_lrotate (kl, xl, hll, tll, hlr, tlr) // end of [if] end else B{key,itm}(hl+1, k, x, tl, tr) // end of [if] // end // end of [avltree_ljoin] (* ****** ****** *) (* ** right join: height(tl) <= height(tr) *) fun{ key,itm:t0p } avltree_rjoin {hl,hr:nat | hl <= hr} .
. ( k: key, x: itm , tl: avltree (key, itm, hl) , tr: avltree (key, itm, hr) ) :<> avltree_inc (key, itm, hr) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in // if hr >= hl + HTDF1 then let val+B{..}{hrl,hrr}(_, kr, xr, trl, trr) = tr val [hrl:int] trl = avltree_rjoin (k, x, tl, trl) val hrl = avlht(trl) : int hrl and hrr = avlht(trr) : int hrr in if hrl <= hrr + HTDF then B{key,itm}(1+max(hrl,hrr), kr, xr, trl, trr) else avltree_rrotate (kr, xr, hrl, trl, hrr, trr) // end of [if] end else B{key,itm}(hr+1, k, x, tl, tr) // end of [if] // end // end of [avltree_rjoin] (* ****** ****** *) fn{ key,itm:t0p } avltree_join3 {hl,hr:nat} ( k: key, x: itm , tl: avltree (key, itm, hl) , tr: avltree (key, itm, hr) ) :<> [ h:int | hl <= h ; hr <= h ; h <= 1+max(hl,hr) ] avltree (key, itm, h) = let val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hl >= hr then avltree_ljoin (k, x, tl, tr) else avltree_rjoin (k, x, tl, tr) // end of [if] end // end of [avltree_join3] (* ****** ****** *) fn{ key,itm:t0p } avltree_join2 {hl,hr:nat} ( tl: avltree (key, itm, hl) , tr: avltree (key, itm, hr) ) :<> [ h:nat | h <= 1+max(hl,hr) ] avltree (key, itm, h) = ( case+ (tl, tr) of | (E (), _) => tr | (_, E ()) => tl | (_, _) =>> let var kmin: key // uninitialized var xmin: itm // uninitialized val tr = $effmask_wrt (avlminout (tr, kmin, xmin)) // end of [val] in avltree_join3 (kmin, xmin, tl, tr) end // end of [_, _] ) // end of [avltree_join2] (* ****** ****** *) implement {key,itm} funmap_takeout ( map, k0, res2 ) = res where { // fun takeout {h:nat} .. ( t0: avltree (key, itm, h) , res: &bool? >> bool(b) , res2: &itm? >> opt(itm, b) ) : #[b:bool] avltree_dec (key, itm, h) = let in // case+ t0 of | B {..}{hl,hr} (h, k, x, tl, tr) => let val sgn = compare_key_key (k0, k) in case+ 0 of | _ when sgn < 0 => let val [hl:int] tl = takeout (tl, res, res2) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hr - hl <= HTDF then B{key,itm}(1+max(hl,hr), k, x, tl, tr) else avltree_lrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [sgn < 0] | _ when sgn > 0 => let val [hr:int] tr = takeout (tr, res, res2) val hl = avlht(tl) : int hl and hr = avlht(tr) : int hr in if hl - hr <= HTDF then B{key,itm}(1+max(hl,hr), k, x, tl, tr) else avltree_rrotate (k, x, hl, tl, hr, tr) // end of [if] end // end of [sgn > 0] | _ (* sgn = 0 *) => let val () = res := true // found val () = res2 := x prval () = opt_some{itm}(res2) in case+ tr of | B _ => let var kmin: key? var xmin: itm? val [hr:int] tr = avlminout (tr, kmin, xmin) val hl = avlht(tl) : int (hl) and hr = avlht(tr) : int (hr) in if hl - hr <= HTDF then B{key,itm}(1+max(hl,hr), kmin, xmin, tl, tr) else avltree_rrotate (kmin, xmin, hl, tl, hr, tr) // end of [if] end // end of [B] | E _ => tl end // end of [sgn = 0] end // end of [B] | E ((*void*)) => let val () = res := false prval () = opt_none{itm}(res2) in t0 end // end of [E] // end // end of [takeout] // var res: bool val ((*void*)) = map := takeout (map, res, res2) // } // end of [funmap_takeout] (* ****** ****** *) implement {key,itm}{env} funmap_foreach_env (xs, env) = let // val p_env = addr@ (env) // fun foreach {h:nat} .. ( t: avltree (key, itm, h), p_env: ptr ) : void = let in // case+ t of | B (_, k, x, tl, tr) => let // val () = foreach (tl, p_env) // val ( pf, fpf | p_env ) = $UN.ptr_vtake (p_env) val ((*void*)) = funmap_foreach$fwork (k, x, !p_env) prval ((*void*)) = fpf (pf) // val () = foreach (tr, p_env) // in // nothing end // end of [B] | E ((*void*)) => () // end // end of [foreach] // in foreach (xs, p_env) end // end of [funmap_foreach_env] (* ****** ****** *) implement {key,itm} funmap_avltree_height (map) = avlht (map) (* ****** ****** *) (* end of [funmap_avltree.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funralist_nested.dats0000664000175000017500000002350212655455557021177 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) // // HX-2013-01: // // this data structure is essentially based on // Chris Okasaki's random-access list (formulated // as a nested datatype). However, unlike Okasaki's // formulation, [ralist] is *not* a nested datatype. // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funralist_nested" #define ATS_DYNLOADFLAG 0 // no dynamic loading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) // staload "libats/SATS/funralist_nested.sats" // (* ****** ****** *) // #include "./SHARE/funralist.hats" // code reuse // (* ****** ****** *) datatype node (a:t@ype+, int(*d*)) = | N1 (a, 0) of (a) // singleton | {d:nat} N2 (a, d+1) of (node (a, d), node (a, d)) // end of [node] datatype myralist (a:t@ype+, int(*d*), int(*n*)) = | {d:nat} RAnil (a, d, 0) of () | {d:nat}{n:pos} RAevn (a, d, n+n) of myralist (a, d+1, n) | {d:nat}{n:nat} RAodd (a, d, n+n+1) of (node (a, d), myralist (a, d+1, n)) // end of [myralist] (* ****** ****** *) assume ralist_type (a:t0p, n:int) = myralist (a, 0, n) // end of [ralist_type] (* ****** ****** *) primplmnt lemma_ralist_param (xs) = let in // case+ xs of | RAevn _ => () | RAodd _ => () | RAnil () => () // end // end of [lemma_ralist_param] (* ****** ****** *) implement{} funralist_nil{a} () = RAnil{a}{0}((*void*)) implement{} funralist_make_nil{a} () = RAnil{a}{0}((*void*)) (* ****** ****** *) local extern fun cons {a:t0p}{d:nat}{n:nat} ( x0: node (a, d), xs: myralist (a, d, n) ) :<> myralist (a, d, n+1) implement cons{a}{d}{n} (x0, xs) = let in // case+ xs of | RAevn (xxs) => RAodd (x0, xxs) | RAodd (x1, xxs) => let val x0x1 = N2 (x0, x1) in RAevn (cons (x0x1, xxs)) end // end of [RAodd] | RAnil () => RAodd (x0, RAnil) // end // end of [cons] in (* in of [local] *) implement{a} funralist_cons (x, xs) = let // prval () = lemma_ralist_param (xs) // in cons{a} (N1{a}(x), xs) end // end of [funralist_cons] end // end of [local] (* ****** ****** *) implement{} funralist_is_nil (xs) = case+ xs of RAnil () => true | _ =>> false // end of [funralist_is_nil] implement{} funralist_is_cons (xs) = case+ xs of RAnil () => false | _ =>> true // end of [funralist_is_cons] (* ****** ****** *) local extern fun length {a:t0p}{d:nat}{n:nat} (xs: myralist (a, d, n)):<> int (n) implement length{a}{d}{n} (xs) = let in // case+ xs of | RAevn (xxs) => let val n2 = length (xxs) in 2 * n2 end // end of [RAevn] | RAodd (_, xxs) => let val n2 = length (xxs) in 2 * n2 + 1 end // end of [RAodd] | RAnil ((*void*)) => (0) // end // end of [length] in (* in of [local] *) implement{} funralist_length{a} (xs) = let // prval () = lemma_ralist_param (xs) // in length{a} (xs) end // end of [funralist_length] end // end of [local] (* ****** ****** *) local extern fun head {a:t0p}{d:nat}{n:pos} (xs: myralist (a, d, n)):<> node (a, d) implement head{a}{d}{n} (xs) = let in // case+ xs of | RAevn (xxs) => let val+N2 (x, _) = head (xxs) in x end // end of [RAevn] | RAodd (x, _) => x // end // end of [head] in (* in of [local] *) implement{a} funralist_head (xs) = let val+N1 (x) = head{a} (xs) in x end // end of [funralist_head] end // end of [local] (* ****** ****** *) implement{a} funralist_tail (xs) = xs1 where { var xs1 = xs val _(*hd*) = $effmask_wrt (funralist_uncons
(xs1)) } // end of [funralist_tail] (* ****** ****** *) local extern fun uncons {a:t0p}{d:nat}{n:pos} ( xs: myralist (a, d, n), x: &ptr? >> node (a, d) ) : myralist (a, d, n-1) implement uncons{a}{d}{n} (xs, x) = let in // case+ xs of | RAevn (xxs) => let var nxx: ptr val xxs = uncons (xxs, nxx) val+N2 (x0, x1) = nxx prval () = topize (nxx) // HX: this is not necessary val () = x := x0 in RAodd (x1, xxs) end // end of [RAevn] | RAodd (x0, xxs) => let val () = x := x0 in case+ xxs of | RAnil () => RAnil () | _ =>> RAevn (xxs) end // end of [RAodd] // end // end of [uncons] in (* in of [local] *) implement{a} funralist_uncons (xs) = let // var nx: ptr // unintialized val () = (xs := uncons{a} (xs, nx)) val+N1 (x0) = nx prval () = topize (nx) // HX: this is not necessary // in x0 end // end of [funralist_uncons] end // end of [local] (* ****** ****** *) local extern fun get_at {a:t0p}{d:nat}{n:nat} ( xs: myralist (a, d, n), i: natLt n ) :<> node (a, d) // endfun implement get_at{a}{d}{n} (xs, i) = let in // case+ xs of | RAevn (xxs) => let val x01 = get_at (xxs, half i) in if i mod 2 = 0 then let val+N2 (x0, _) = x01 in x0 end else let val+N2 (_, x1) = x01 in x1 end // end of [if] end // end of [RAevn] | RAodd (x, xxs) => ( if i = 0 then x else let val x01 = get_at (xxs, half (i-1)) in if i mod 2 = 0 then let val+N2 (_, x1) = x01 in x1 end else let val+N2 (x0, _) = x01 in x0 end // end of [if] end // end of [if] ) // end of [RAodd] // end // end of [get_at] in (* in of [local] *) implement{a} funralist_get_at (xs, i) = let // val+N1 (x) = get_at{a} (xs, i) in x (*return*) // end // end of [funralist_get_at] implement{a} funralist_lookup = funralist_get_at end // end of [local] (* ****** ****** *) local extern fun __free (p: ptr): void = "mac#ATS_MFREE" extern fun fset_at {a:t0p}{d:nat}{n:nat} ( xs: myralist (a, d, n) , i: natLt (n), f: node (a, d) - node (a, d) ) :<> myralist (a, d, n) extern fun fset2_at {a:t0p}{d:nat}{n2:pos} ( xxs: myralist (a, d+1, n2) , i: natLt (2*n2), f: node (a, d) - node (a, d) ) :<> myralist (a, d+1, n2) implement fset_at{a}{d}{n} (xs, i, f) = let in case+ xs of | RAevn (xxs) => RAevn (fset2_at (xxs, i, f)) | RAodd (x, xxs) => if i = 0 then RAodd (f x, xxs) else RAodd (x, fset2_at (xxs, i-1, f)) // end of [RAodd] end // end of [fset_at] implement fset2_at{a}{d}{n} (xxs, i, f) = let typedef node = node (a, d+1) in // if i mod 2 = 0 then let val f1 = lam (xx: node): node = let val+N2 (x0, x1) = xx in N2 (f x0, x1) end // end of [val] val xxs = fset_at (xxs, half(i), f1) val () = $effmask_wrt (__free ($UN.cast2ptr(f1))) in xxs end else let val f1 = lam (xx: node): node = let val+N2 (x0, x1) = xx in N2 (x0, f x1) end // end of [val] val xxs = fset_at (xxs, half(i), f1) val () = $effmask_wrt (__free ($UN.cast2ptr(f1))) in xxs end // end of [if] // end // end of [fset2_at] in (* in of [local] *) implement{a} funralist_set_at (xs, i, x0) = let // typedef node = node (a, 0) // val f = lam (_: node): node = N1{a}(x0) val xs = fset_at{a} (xs, i, f) val () = $effmask_wrt (__free ($UN.cast2ptr(f))) // in xs end // end of [funralist_set_at] end // end of [local] (* ****** ****** *) local extern fun __free (p: ptr): void = "mac#ATS_MFREE" extern fun foreach{a:t0p}{d:nat}{n:nat} ( xs: myralist (a, d, n), f: node (a, d) - void ) :<> void // end of [foreach] extern fun foreach2{a:t0p}{d:nat}{n2:pos} ( xxs: myralist (a, d+1, n2), f: node (a, d) - void ) :<> void // end of [foreach2] implement foreach {a}{d}{n}(xs, f) = let in // case+ xs of | RAevn (xxs) => foreach2 (xxs, f) // end of [RAevn] | RAodd (x, xxs) => let val () = f (x) in case+ xxs of | RAnil () => () | _ =>> foreach2 (xxs, f) end // end of [RAodd] | RAnil ((*void*)) => () // end // end of [foreach] implement foreach2 {a}{d}{n2}(xxs, f) = let // typedef node = node (a, d+1) // val f1 = lam (xx: node): void = let val+N2 (x0, x1) = xx in f (x0); f (x1) end // end of [val] // val () = foreach (xxs, f1) val () = $effmask_wrt (__free ($UN.cast2ptr(f1))) // in // nothing end // end of [foreach2] in (* in of [local] *) implement{a} funralist_foreach (xs) = let var env: void = () in funralist_foreach_env (xs, env) end // end of [funralist_foreach] implement{a}{env} funralist_foreach_env (xs, env) = let // typedef node = node (a, 0) // prval () = lemma_ralist_param (xs) // val p_env = addr@ (env) // val f = lam (x0: node): void = let val+N1 (x) = x0 val ( pf, fpf | p_env ) = $UN.ptr_vtake{env}(p_env) val () = $effmask_all (funralist_foreach$fwork (x, !p_env)) prval ((*void*)) = fpf (pf) in // nothing end // end of [val] // val () = foreach (xs, f) // val () = $effmask_wrt (__free ($UN.cast2ptr(f))) // in // nothing end // end of [funralist_foreach_env] end // end of [local] (* ****** ****** *) (* end of [funralist_nested.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/hashtbl_chain.dats0000664000175000017500000003253112655455557020417 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.hashtbl_chain" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/hashfun.sats" (* ****** ****** *) staload "libats/SATS/hashtbl_chain.sats" (* ****** ****** *) #include "./SHARE/hashtbl.hats" // code reuse (* ****** ****** *) extern fun{} chain_nil {key:t0p;itm:vt0p}(): chain(key, itm) // end of [chain_nil] extern fun{ key:t0p;itm:vt0p } chain_search_ref (kxs: !chain(key, itm), k0: key): cPtr0(itm) // end of [chain_search_ref] (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } chain_insert ( &chain(key, INV(itm)) >> _ , k0: key, x0: itm, res: &itm? >> opt(itm, b) ) : #[b:bool] bool (b) // endfun extern fun{ key:t0p;itm:vt0p } chain_insert_any (kxs: &chain(key, itm) >> _, key, itm): void // end of [chain_insert_any] (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } chain_takeout ( &chain(key, INV(itm)) >> _, k0: key, res: &itm? >> opt(itm, b) ) : #[b:bool] bool (b) // endfun (* ****** ****** *) extern fun {key:t0p ;itm:vt0p} {env:vt0p} chain_foreach_env ( kxs: !chain(key, itm) >> _, env: &env >> _ ) : void // end of [chain_foreach_env] (* ****** ****** *) extern fun {key:t0p ;itm:vt0p} chain_listize (chain(key, itm)): List_vt @(key, itm) extern fun {key:t0p ;itm:vt0p} {ki2:vt0p} chain_flistize (kxs: chain(key, itm)): List_vt (ki2) (* ****** ****** *) staload LM = "libats/SATS/linmap_list.sats" (* ****** ****** *) implement {key}(*tmp*) $LM.equal_key_key (x, y) = equal_key_key (x, y) (* ****** ****** *) local // assume chain_vtype (key:t0p, itm:vt0p) = $LM.map (key, itm) // in (* in of [local] *) (* ****** ****** *) implement {}(*tmp*) chain_nil () = $LM.linmap_nil () (* ****** ****** *) implement {key,itm} chain_search_ref = $LM.linmap_search_ref (* ****** ****** *) implement {key,itm} chain_insert = $LM.linmap_insert implement {key,itm} chain_insert_any = $LM.linmap_insert_any (* ****** ****** *) implement {key,itm} chain_takeout = $LM.linmap_takeout (* ****** ****** *) implement {key,itm}{env} chain_foreach_env (kxs, env) = let // implement $LM.linmap_foreach$fwork = hashtbl_foreach$fwork // in $LM.linmap_foreach_env (kxs, env) end // end of [chain_foreach_env] (* ****** ****** *) implement {key,itm} chain_listize (kxs) = $LM.linmap_listize (kxs) implement {key,itm}{ki2} chain_flistize (kxs) = let // implement $LM.linmap_flistize$fopr = hashtbl_flistize$fopr // in $LM.linmap_flistize (kxs) end // end of [chain_flistize] end // end of [local] (* ****** ****** *) extern fun{ key:t0p;itm:vt0p } chainarr_insert_any {m:int | m >= 1} ( A: !arrayptr (chain(key, itm), m), m: size_t m, k: key, x: itm ) : void // end of [chainarr_insert_any] extern fun{ key:t0p;itm:vt0p } chainarr_insert_chain {m:int | m >= 1} ( A: !arrayptr (chain(key, itm), m), m: size_t m, kxs: chain(key, itm) ) : void // end of [chainarr_insert_chain] (* ****** ****** *) implement {key,itm} chainarr_insert_any (A, m, k, x) = let // val h = hash_key (k) val h = g0uint2uint_ulint_size(h) val i = g1uint_mod (g1ofg0(h), m) // val ( pf0 | p0 ) = arrayptr_takeout_viewptr (A) val ( pf, fpf | pi ) = array_ptr_takeout (pf0 | p0, i) val (pf | pi) = viewptr_match (pf | pi) val () = chain_insert_any (!pi, k, x) prval () = pf0 := fpf (pf) prval () = arrayptr_addback (pf0 | A) // in // nothing end // end of [chainarr_insert_any] (* ****** ****** *) implement {key,itm} chainarr_insert_chain {m}(A, m, kxs) = let // vtypedef chain = chain(key, itm) // fun loop ( A: !arrayptr (chain, m), m: size_t m, kxs: List_vt @(key, itm) ) : void = let in // case+ kxs of | ~list_vt_cons ((k, x), kxs) => let val () = chainarr_insert_any (A, m, k, x) in loop (A, m, kxs) end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => () // end // end of [loop] // val kxs = chain_listize (kxs) val kxs = list_vt_reverse (kxs) // in loop (A, m, kxs) end // end of [chainarr_insert_chain] (* ****** ****** *) datavtype hashtbl ( key:t@ype, itm:vt@ype+ ) = {m:int | m >= 1} HASHTBL of ( arrayptr (chain(key, itm), m), size_t m, size_t ) (* end of [HASHTBL] *) // end of [hashtbl] (* ****** ****** *) assume hashtbl_vtype (key:t0p, itm:vt0p) = hashtbl (key, itm) (* ****** ****** *) implement {key,itm} hashtbl_make_nil (cap) = let // vtypedef chain = chain(key, itm) // prval [m:int] EQINT () = eqint_make_guint (cap) // val p0 = $UN.castvwtp0{ptr}(chain_nil{key,itm}()) val A0 = arrayptr_make_elt (cap, p0) val A0 = $UN.castvwtp0{arrayptr(chain, m)}(A0) // in HASHTBL(A0, cap, i2sz(0)) end // end of [hashtbl_make_nil] (* ****** ****** *) implement{ } hashtbl_get_size (tbl) = let // val+HASHTBL(A, cap, n) = tbl in (n) // end // end of [hashtbl_get_size] (* ****** ****** *) implement{ } hashtbl_get_capacity (tbl) = let // val+HASHTBL(A, cap, n) = tbl in (cap) // end // end of [hashtbl_get_capacity] (* ****** ****** *) implement {key,itm} hashtbl_search_ref (tbl, k) = let // val+HASHTBL(A, cap, n) = tbl // val h = hash_key (k) val h = g0uint2uint_ulint_size(h) val i = g1uint_mod (g1ofg0(h), cap) // val ( pf0 | p0 ) = arrayptr_takeout_viewptr (A) val ( pf, fpf | pi ) = array_ptr_takeout (pf0 | p0, i) val (pf | pi) = viewptr_match (pf | pi) val cptr = chain_search_ref (!pi, k) prval () = pf0 := fpf (pf) prval () = arrayptr_addback (pf0 | A) // in cptr end // end of [hashtbl_search_ref] (* ****** ****** *) implement {key,itm} hashtbl_insert (tbl, k, x, res) = let // val+@HASHTBL(A, cap, n) = tbl // val h = hash_key (k) val h = g0uint2uint_ulint_size(h) val i = g1uint_mod (g1ofg0(h), cap) // val ( pf0 | p0 ) = arrayptr_takeout_viewptr (A) val ( pf, fpf | pi ) = array_ptr_takeout (pf0 | p0, i) val (pf | pi) = viewptr_match (pf | pi) val ans = chain_insert (!pi, k, x, res) prval () = pf0 := fpf (pf) prval () = arrayptr_addback (pf0 | A) // val () = if not(ans) then n := succ(n) // inserted // prval () = fold@ (tbl) // val () = if not(ans) then ( if hashtbl$recapacitize() > 0 then ignoret(hashtbl_adjust_capacity (tbl)) ) (* end of [if] *) // in ans end // end of [hashtbl_insert] (* ****** ****** *) implement {key,itm} hashtbl_insert_any (tbl, k, x) = let // val+@HASHTBL(A, cap, n) = tbl // val h = hash_key (k) val h = g0uint2uint_ulint_size(h) val i = g1uint_mod (g1ofg0(h), cap) // val ( pf0 | p0 ) = arrayptr_takeout_viewptr (A) val ( pf, fpf | pi ) = array_ptr_takeout (pf0 | p0, i) val (pf | pi) = viewptr_match (pf | pi) val () = chain_insert_any (!pi, k, x) prval () = pf0 := fpf (pf) prval () = arrayptr_addback (pf0 | A) // val () = n := succ(n) // insertion is always done // prval () = fold@ (tbl) // val () = if hashtbl$recapacitize() > 0 then ignoret(hashtbl_adjust_capacity (tbl)) // in // nothing end // end of [hashtbl_insert_any] (* ****** ****** *) implement {key,itm} hashtbl_takeout (tbl, k, res) = let // val+@HASHTBL(A, cap, n) = tbl // val h = hash_key (k) val h = g0uint2uint_ulint_size(h) val i = g1uint_mod (g1ofg0(h), cap) // val ( pf0 | p0 ) = arrayptr_takeout_viewptr (A) val ( pf, fpf | pi ) = array_ptr_takeout (pf0 | p0, i) val (pf | pi) = viewptr_match (pf | pi) val ans = chain_takeout (!pi, k, res) prval () = pf0 := fpf (pf) prval () = arrayptr_addback (pf0 | A) // val () = if ans then n := pred(n) // removed // prval () = fold@ (tbl) // in ans end // end of [hashtbl_takeout] (* ****** ****** *) implement {key,itm} hashtbl_takeout_all (tbl) = let // vtypedef chain = chain(key, itm) // typedef tenv = ptr // vtypedef ki = @(key, itm) vtypedef tenv2 = List0_vt (ki) // val+@HASHTBL(A, cap, n) = tbl // local implement {a}{env} array_rforeach$cont(x, env) = true implement (a:viewtype) array_rforeach$fwork (kxs, env) = let val kxs2 = $UN.castvwtp0{chain}(kxs) val () = kxs := $UN.castvwtp0{a}(chain_nil()) val kxs2 = chain_listize (kxs2) val kxs2 = list_vt_append (kxs2, $UN.castvwtp0{tenv2}(env)) val () = env := $UN.castvwtp0{ptr}(kxs2) in // nothing end // end of [array_rforeach$fwork] in (* in of [local] *) var env: ptr val () = env := $UN.castvwtp0{ptr}(list_vt_nil) val _(*cap*) = $effmask_all (arrayptr_rforeach_env (A, cap, env)) end // end of [local] // val () = n := i2sz(0) // prval () = fold@ (tbl) // in $UN.castvwtp0{tenv2}(env) end // end of [hashtbl_takeout_all] (* ****** ****** *) implement {key,itm} hashtbl_reset_capacity (tbl, cap2) = let // vtypedef chain = chain(key, itm) // val+@HASHTBL(A0, cap0, n) = tbl // prval [m2:int] EQINT () = eqint_make_guint (cap2) // val p0 = $UN.castvwtp0{ptr}(chain_nil{key,itm}()) val A2 = arrayptr_make_elt (cap2, p0) val A2 = $UN.castvwtp0{arrayptr(chain, m2)}(A2) // fun loop ( p: ptr, m: size_t , A2: !arrayptr (chain, m2) ) : void = let in // if m > 0 then let // val kxs = $UN.ptr0_get (p) val () = chainarr_insert_chain (A2, cap2, kxs) // in loop (ptr0_succ (p), pred(m), A2) end // end of [if] // end // end of [loop] // val A = A0 val cap = cap0 val () = loop (ptrcast(A), cap, A2) val () = arrayptr_free ($UN.castvwtp0{arrayptr(ptr,0)}(A)) // val () = A0 := A2 val () = cap0 := cap2 // prval () = fold@ (tbl) // in true(*always*) end // end of [hashtbl_reset_capacity] (* ****** ****** *) // // HX: please reimplement it if needed // implement {key,itm} hashtbl_adjust_capacity (tbl) = let // val+HASHTBL(A, cap, n) = tbl // in // if i2sz(5) * cap <= n then hashtbl_reset_capacity (tbl, cap + cap) else false // end // end of [hashtbl_adjust_capacity] (* ****** ****** *) implement {key,itm}{env} hashtbl_foreach_env (tbl, env) = let // vtypedef chain = chain(key, itm) // val+HASHTBL(A, cap, _) = tbl // local implement {a}{env} array_foreach$cont(kxs, env) = true implement array_foreach$fwork (kxs, env) = chain_foreach_env (kxs, env) in(* in of [local]*) val _(*asz*) = arrayptr_foreach_env (A, cap, env) end // end of [local] // in // nothing end // end of [hashtbl_foreach_env] (* ****** ****** *) implement {key,itm} hashtbl_listize (tbl) = let // vtypedef chain = chain(key, itm) // val+~HASHTBL(A, cap, _) = tbl // typedef tenv = ptr // vtypedef ki = @(key, itm) vtypedef tenv2 = List0_vt (ki) // local implement {a}{env} array_rforeach$cont(x, env) = true implement array_rforeach$fwork (kxs, env) = let val kxs = $UN.castvwtp1{chain}(kxs) val kxs2 = chain_listize (kxs) val kxs2 = list_vt_append (kxs2, $UN.castvwtp0{tenv2}(env)) val () = env := $UN.castvwtp0{ptr}(kxs2) in // nothing end // end of [array_rforeach$fwork] in(* in of [local] *) var env: ptr val () = env := $UN.castvwtp0{ptr}(list_vt_nil) val _(*cap*) = $effmask_all (arrayptr_rforeach_env (A, cap, env)) end // end of [local] // val () = arrayptr_free ($UN.castvwtp0{arrayptr(ptr,0)}(A)) // in $UN.castvwtp0{tenv2}(env) end // end of [hashtbl_listize] (* ****** ****** *) implement {key,itm}{ki2} hashtbl_flistize (tbl) = let // vtypedef chain = chain(key, itm) // val+~HASHTBL(A, cap, n) = tbl // typedef tenv = ptr // vtypedef tenv2 = List0_vt (ki2) // local // implement {a}{env} array_rforeach$cont(x, env) = true implement array_rforeach$fwork (kxs, env) = let val kxs = $UN.castvwtp1{chain}(kxs) val kxs2 = chain_flistize (kxs) val kxs2 = list_vt_append (kxs2, $UN.castvwtp0{tenv2}(env)) val ((*void*)) = env := $UN.castvwtp0{ptr}(kxs2) in // nothing end // end of [array_rforeach$fwork] // in(* in of [local] *) // var env: ptr // val () = (env := $UN.castvwtp0{ptr}(list_vt_nil)) // val _(*cap*) = $effmask_all (arrayptr_rforeach_env (A, cap, env)) // end // end of [local] // val () = arrayptr_free ($UN.castvwtp0{arrayptr(ptr,0)}(A)) // in $UN.castvwtp0{tenv2}(env) end // end of [hashtbl_flistize] (* ****** ****** *) (* end of [hashtbl_chain.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/.keeper0000664000175000017500000000000012655455557016211 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/DATS/athread.dats0000664000175000017500000000715212655455557017241 0ustar hwxihwxi(***********************************************************************) (* *) (* ATS/contrib/libats-hwxi *) (* *) (***********************************************************************) (* ** Copyright (C) 2014 Hongwei Xi, ATS Trustful Software, Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and associated documentation files (the "Software"), ** to deal in the Software without restriction, including without limitation ** the rights to use, copy, modify, merge, publish, distribute, sublicense, ** and/or sell copies of the Software, and to permit persons to whom the ** Software is furnished to do so, subject to the following stated conditions: ** ** The above copyright notice and this permission notice shall be included in ** all copies or substantial portions of the Software. ** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ** FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ** IN THE SOFTWARE. *) (* ****** ****** *) // // An abstract thread interface // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/athread.sats" (* ****** ****** *) implement {}(*tmp*) spin_create_exn () = let // val spn = spin_create () val p_spn = spin2ptr (spn) val () = if p_spn = the_null_ptr then { // val () = fprintln! ( stderr_ref, "libats/athread: [spin_create]: failed." ) (* end of [val] *) val ((*void*)) = assertloc (false) // } // in $UN.cast{spin1}(spn) end // end of [spin_create_exn] (* ****** ****** *) implement {}(*tmp*) mutex_create_exn () = let // val mtx = mutex_create () val p_mtx = mutex2ptr (mtx) val () = if p_mtx = the_null_ptr then { // val () = fprintln! ( stderr_ref, "libats/athread: [mutex_create]: failed." ) (* end of [val] *) val ((*void*)) = assertloc (false) // } (* end of [if] *) // end of [val] // in $UN.cast{mutex1}(mtx) end // end of [mutex_create_exn] (* ****** ****** *) implement {}(*tmp*) condvar_create_exn () = let // val cvr = condvar_create () // val p_cvr = condvar2ptr (cvr) val () = if p_cvr = the_null_ptr then { // val () = fprintln! ( stderr_ref, "libats/athread: [condvar_create]: failed." ) (* end of [val] *) val ((*void*)) = assertloc (false) // } // in $UN.cast{condvar1}(cvr) end // end of [condvar_create_exn] (* ****** ****** *) implement {}(*tmp*) athread_create_cloptr (tid, fwork) = err where { // fun app ( f: () - void ): void = let val () = f () in cloptr_free($UN.castvwtp0{cloptr0}(f)) end // end of [app] // val f = $UN.castvwtp1{ptr}(fwork) val err = athread_create_funenv (tid, app, fwork) val () = if (err != 0) then cloptr_free($UN.castvwtp0{cloptr0}(f)) // } (* end of [athread_create_cloptr] *) (* ****** ****** *) implement {}(*tmp*) athread_create_cloptr_exn (fwork) = tid where { // var tid: lint val err = athread_create_cloptr (tid, fwork) // val () = if (err != 0) then { // val () = fprintln! ( stderr_ref, "libats/athread: [athread_create_cloptr_exn]: failed." ) (* end of [val] *) // } (* end of [if] *) // } (* end of [athread_create_cloptr_exn] *) (* ****** ****** *) (* end of [athread.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/linset_listord.dats0000664000175000017500000002262312655455557020667 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) (* ****** ****** *) // // HX-2013-08: // a set is represented as a sorted list in descending order; // note that descending order is chosen to faciliate set comparison // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linset_listord.sats" (* ****** ****** *) #include "./SHARE/linset.hats" // code reuse #include "./SHARE/linset_node.hats" // code reuse (* ****** ****** *) assume set_vtype (elt:t@ype) = List0_vt (elt) (* ****** ****** *) implement{} linset_nil () = list_vt_nil () implement{} linset_make_nil () = list_vt_nil () (* ****** ****** *) implement {a}(*tmp*) linset_sing (x) = list_vt_cons{a}(x, list_vt_nil) // end of [linset_sing] implement{a} linset_make_sing (x) = list_vt_cons{a}(x, list_vt_nil) // end of [linset_make_sing] (* ****** ****** *) implement{} linset_is_nil (xs) = list_vt_is_nil (xs) implement{} linset_isnot_nil (xs) = list_vt_is_cons (xs) (* ****** ****** *) implement{a} linset_size (xs) = let val n = list_vt_length(xs) in i2sz(n) end // end of [linset_size] (* ****** ****** *) implement{a} linset_is_member (xs, x0) = let // fun aux {n:nat} .. ( xs: !list_vt (a, n) ) :<> bool = let in // case+ xs of | list_vt_cons (x, xs) => let val sgn = compare_elt_elt (x0, x) in if sgn > 0 then false else (if sgn < 0 then aux (xs) else true) end // end of [list_vt_cons] | list_vt_nil ((*void*)) => false // end // end of [aux] // in aux (xs) end // end of [linset_is_member] (* ****** ****** *) implement{a} linset_copy (xs) = list_vt_copy (xs) implement{a} linset_free (xs) = list_vt_free (xs) (* ****** ****** *) implement{a} linset_insert (xs, x0) = let // fun mynode_cons {n:nat} .<>. ( nx: mynode1 (a), xs: list_vt (a, n) ) : list_vt (a, n+1) = let // val xs1 = $UN.castvwtp0{List1_vt(a)}(nx) val+@list_vt_cons (_, xs2) = xs1 prval () = $UN.cast2void (xs2); val () = (xs2 := xs) // in fold@ (xs1); xs1 end // end of [mynode_cons] // fun ins {n:nat} .. // tail-recursive ( xs: &list_vt (a, n) >> list_vt (a, n1) ) : #[n1:nat | n <= n1; n1 <= n+1] bool = ( case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x) // end of [val] in if sgn > 0 then let prval () = fold@ (xs) val nx = mynode_make_elt (x0) val ((*void*)) = xs := mynode_cons (nx, xs) in false end else if sgn < 0 then let val ans = ins (xs1) prval () = fold@ (xs) in ans end else let // [x0] is found prval () = fold@ (xs) in true (* [x0] in [xs] *) end (* end of [if] *) end // end of [list_vt_cons] | list_vt_nil () => let val nx = mynode_make_elt (x0) val ((*void*)) = xs := mynode_cons (nx, xs) in false end // end of [list_vt_nil] ) (* end of [ins] *) // in $effmask_all (ins (xs)) end // end of [linset_insert] (* ****** ****** *) (* // HX-2013-08: [linset_remove] moved up // implement{a} linset_remove (xs, x0) = let // fun rem {n:nat} .. // tail-recursive ( xs: &list_vt (a, n) >> list_vt (a, n1) ) : #[n1:nat | n1 <= n; n <= n1+1] bool = ( case+ xs of | @list_vt_cons (x, xs1) => let val sgn = compare_elt_elt (x0, x) // end of [val] in if sgn > 0 then let prval () = fold@ (xs) in false end else if sgn < 0 then let val ans = rem (xs1) prval () = fold@ (xs) in ans end else let // x0 = x val xs1_ = xs1 val ((*void*)) = free@{a}{0}(xs) val () = xs := xs1_ in true // [x0] in [xs] end (* end of [if] *) end // end of [list_vt_cons] | list_vt_nil () => false ) (* end of [rem] *) // in $effmask_all (rem (xs)) end // end of [linset_remove] *) (* ****** ****** *) (* ** By Brandon Barker *) implement {a}(*tmp*) linset_choose (xs, x0) = let in // case+ xs of | list_vt_cons (x, xs1) => let val () = x0 := x prval () = opt_some{a}(x0) in true end // end of [list_vt_cons] | list_vt_nil () => let prval () = opt_none{a}(x0) in false end // end of [list_vt_nil] // end // end of [linset_choose] (* ****** ****** *) implement {a}{env} linset_foreach_env (xs, env) = let // implement list_vt_foreach$fwork (x, env) = linset_foreach$fwork (x, env) // in list_vt_foreach_env (xs, env) end // end of [linset_foreach_env] (* ****** ****** *) implement{a} linset_listize (xs) = xs (* ****** ****** *) implement{a} linset_listize1 (xs) = list_vt_copy (xs) (* ****** ****** *) // // HX: functions for processing mynodes // (* ****** ****** *) implement{ } mynode_null{a} () = $UN.castvwtp0{mynode(a,null)}(the_null_ptr) // end of [mynode_null] (* ****** ****** *) implement {a}(*tmp*) mynode_make_elt (x) = let // val nx = list_vt_cons{a}{0}(x, _ ) // in $UN.castvwtp0{mynode1(a)}(nx) end // end of [mynode_make_elt] (* ****** ****** *) implement{ } mynode_free {a}(nx) = () where { val nx = $UN.castvwtp0{List1_vt(a)}(nx) // val+~list_vt_cons (_, nx2) = nx // prval ((*void*)) = $UN.cast2void (nx2) // } (* end of [mynode_free] *) (* ****** ****** *) implement {a}(*tmp*) mynode_get_elt (nx) = (x) where { // val nx1 = $UN.castvwtp1{List1_vt(a)}(nx) // val+list_vt_cons (x, _) = nx1 // prval ((*void*)) = $UN.cast2void (nx1) // } (* end of [mynode_get_elt] *) (* ****** ****** *) implement {a}(*tmp*) mynode_set_elt {l} (nx, x0) = { // val nx1 = $UN.castvwtp1{List1_vt(a)}(nx) // val+@list_vt_cons (x, _) = nx1 // val () = x := x0 // prval () = fold@ (nx1) prval () = $UN.cast2void (nx1) // prval () = __assert (nx) where { extern praxi __assert (nx: !mynode(a?, l) >> mynode (a, l)): void } (* end of [prval] *) // } (* end of [mynode_set_elt] *) (* ****** ****** *) implement {a}(*tmp*) mynode_getfree_elt (nx) = (x) where { // val nx = $UN.castvwtp0{List1_vt(a)}(nx) // val+~list_vt_cons (x, nx2) = nx // prval ((*void*)) = $UN.cast2void (nx2) // } (* end of [mynode_getfree_elt] *) (* ****** ****** *) (* fun{a:t0p} linset_takeout_ngc (set: &set(INV(a)) >> _, x0: a): mynode0 (a) // end of [linset_takeout_ngc] *) implement {a}(*tmp*) linset_takeout_ngc (set, x0) = let // fun takeout ( xs: &List0_vt (a) >> _ ) : mynode0(a) = let in // case+ xs of | @list_vt_cons (x, xs1) => let prval pf_x = view@x prval pf_xs1 = view@xs1 val sgn = compare_elt_elt (x0, x) // end of [val] in if sgn > 0 then let prval () = fold@ (xs) in mynode_null{a}((*void*)) end else if sgn < 0 then let val res = takeout (xs1) prval ((*void*)) = fold@ (xs) in res end else let // x0 = x val xs1_ = xs1 val res = $UN.castvwtp0{mynode1(a)}((pf_x, pf_xs1 | xs)) val () = xs := xs1_ in res // [x0] in [xs] end (* end of [if] *) end // end of [list_vt_cons] | list_vt_nil () => mynode_null{a}((*void*)) // end (* end of [takeout] *) // in $effmask_all (takeout (set)) end // end of [linset_takeout_ngc] (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmax_ngc (xs) = let in // case+ xs of | @list_vt_cons (x, xs1) => let prval pf_x = view@x prval pf_xs1 = view@xs1 val xs_ = xs val () = xs := xs1 in $UN.castvwtp0{mynode1(a)}((pf_x, pf_xs1 | xs_)) end // end of [list_vt_cons] | @list_vt_nil () => let prval () = fold@ (xs) in mynode_null{a}((*void*)) end // end of [list_vt_nil] // end // end of [linset_takeoutmax_ngc] (* ****** ****** *) implement {a}(*tmp*) linset_takeoutmin_ngc (xs) = let // fun unsnoc {n:pos} .. ( xs: &list_vt (a, n) >> list_vt (a, n-1) ) : mynode1 (a) = let // val+@list_vt_cons (x, xs1) = xs // prval pf_x = view@x and pf_xs1 = view@xs1 // in // case+ xs1 of | list_vt_cons _ => let val res = unsnoc(xs1) in fold@xs; res end // end of [list_vt_cons] | list_vt_nil () => let val xs_ = xs val () = xs := list_vt_nil{a}() in $UN.castvwtp0{mynode1(a)}((pf_x, pf_xs1 | xs_)) end // end of [list_vt_nil] // end // end of [unsnoc] // in // case+ xs of | list_vt_cons _ => unsnoc (xs) | list_vt_nil () => mynode_null{a}((*void*)) // end // end of [linset_takeoutmin_ngc] (* ****** ****** *) (* end of [linset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/refcount.dats0000664000175000017500000000640212655455557017453 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX: For supporting ref-counted resourse. // HX: This implementation does not support locked counting // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/refcount.sats" (* ****** ****** *) // datavtype refcnt(a:vt@ype) = | REFCNT (a) of (uint, a) // (* ****** ****** *) assume refcnt_vt0ype_vtype(a) = refcnt(a) (* ****** ****** *) implement {a}(*tmp*) refcnt (x) = REFCNT (1u, x) implement {a}(*tmp*) refcnt_make_elt (x) = REFCNT (1u, x) (* ****** ****** *) implement {a}(*tmp*) refcnt_get_count (rfc) = let // val+REFCNT (u, _) = rfc // in $UN.cast{intGte(1)}(u) end // end of [refcnt_get_count] (* ****** ****** *) implement {a}(*tmp*) refcnt_incref (rfc) = let // val+@REFCNT (u, _) = rfc val ((*void*)) = u := succ (u) prval () = fold@(rfc) // in $UN.castvwtp1{refcnt(a)}(rfc) end // end of [refcnt_incref] (* ****** ****** *) implement {a}(*tmp*) refcnt_decref (rfc, x0) = let // val+@REFCNT (u, x) = rfc val u1 = pred (u) // in // if isgtz(u1) then let val ((*void*)) = u := u1 prval () = fold@(rfc) prval () = $UN.cast2void (rfc) prval () = opt_none{a}(x0) in false end else let val () = x0 := x val ((*freed*)) = free@(rfc) prval () = opt_some{a}(x0) in true end // end of [if] // end // end of [refcnt_decref] implement {a}(*tmp*) refcnt_decref_opt (rfc) = let // var x0: a? val ans = refcnt_decref (rfc, x0) // in (* in of [let] *) // if ans then let prval () = opt_unsome{a}(x0) in Some_vt{a}(x0) end else let prval () = opt_unnone{a}(x0) in None_vt{a}((*void*)) end // end of [if] // end // end of [refcnt_decref_opt] (* ****** ****** *) implement {a}(*tmp*) refcnt_vtakeout (rfc) = let // val+@REFCNT (_, x) = rfc val p_x = addr@x prval () = fold@(rfc) // val (pf, fpf | p_x) = $UN.ptr_vtake{a}(p_x) // in (pf, fpf | p_x) end // end of [refcnt_vtakeout] (* ****** ****** *) (* end of [refcount.dats] *) ATS2-Postiats-0.2.6/./libats/DATS/funmset_listord.dats0000664000175000017500000002013512655455557021046 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** Functional mset based on ordered lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May 18, 2011 ** *) (* ****** ****** *) // // HX-2015-09: ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funmset_listord" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funmset_listord.sats" (* ****** ****** *) // #include "./SHARE/funmset.hats" // code reuse // (* ****** ****** *) assume mset_type (a: t0p) = List0 @(intGt(0), a) (* ****** ****** *) // // HX: // A mset is represented as a sorted list in descending order; // note that descending order is chosen to faciliate set comparison // (* ****** ****** *) implement {}(*tmp*) funmset_nil () = list_nil() implement {}(*tmp*) funmset_make_nil () = list_nil() (* ****** ****** *) // implement {a}(*tmp*) funmset_sing (x) = list_cons((1, x), list_nil) implement {a}(*tmp*) funmset_make_sing (x) = list_cons((1, x), list_nil) // (* ****** ****** *) implement {a}(*tmp*) funmset_make_list (xs) = let // fun loop1 ( xs: List_vt(a) ) : mset(a) = ( case+ xs of | ~nil_vt() => list_nil() | ~cons_vt(x, xs) => loop2(xs, x, 1, list_nil) ) (* end of [loop1] *) // and loop2 ( xs: List_vt(a), x0: a, n: intGt(0), res: mset(a) ) : mset(a) = ( case+ xs of | ~nil_vt() => list_cons ((n, x0), res) // end of [list_nil] | ~cons_vt(x1, xs) => let val sgn = compare_elt_elt (x0, x1) in if sgn = 0 then loop2(xs, x0, n+1, res) else loop2(xs, x1, 1, list_cons ((n, x0), res)) // end of [if] end // end of [list_cons] ) // implement list_mergesort$cmp (x1, x2) = compare_elt_elt (x1, x2) // in $effmask_all(loop1(list_mergesort(xs))) end // end of [funmset_make_list] (* ****** ****** *) // implement {}(*tmp*) funmset_is_nil(nxs) = list_is_nil(nxs) implement {}(*tmp*) funmset_isnot_nil(nxs) = list_is_cons(nxs) // (* ****** ****** *) implement {a}(*tmp*) funmset_size(nxs) = let // fun loop ( nxs: List0 @(intGt(0), a), res: size_t ) : size_t = ( case+ nxs of | list_nil ((*void*)) => res | list_cons ((n, x), nxs) => loop (nxs, res+i2sz(n)) // end of [list_cons] ) // in $effmask_all(loop(nxs, i2sz(0))) end // end of [funmset_size] (* ****** ****** *) // implement {a}(*tmp*) funmset_is_member (nxs, x0) = funmset_get_ntime(nxs, x0) > 0 implement {a}(*tmp*) funmset_isnot_member (nxs, x0) = funmset_get_ntime(nxs, x0) = 0 // (* ****** ****** *) implement {a}(*tmp*) funmset_get_ntime (nxs, x0) = let // fun loop ( nxs: List0 @(intGt(0), a), x0: a ) : intGte(0) = ( case+ nxs of | list_nil ((*void*)) => 0 | list_cons ((n, x), nxs) => let val sgn = compare_elt_elt (x0, x) in if sgn < 0 then loop(nxs, x0) else (if sgn > 0 then 0 else n) // end of [if] end // end of [list_cons] ) (* end of [loop] *) // in loop(nxs, x0) end // end of [funmset_get_ntime] (* ****** ****** *) implement {a}(*tmp*) funmset_insert2 (nxs, n0, x0) = let // typedef nx = @(intGt(0), a) // fun loop ( nxs: List(nx) , nbef: &int? >> intGte(0) ) : List0 nx = ( // case+ nxs of | list_nil() => let val () = nbef := 0 in list_cons((n0, x0), list_nil) end // end of [list_nil] | list_cons (nx, nxs2) => let val x1 = nx.1 val sgn = compare_elt_elt (x0, nx.1) // end of [val] in if sgn < 0 then list_cons(nx, loop(nxs2, nbef)) else ( if sgn > 0 then (nbef := 0; list_cons((n0, x0), nxs)) else (nbef := nx.0; list_cons((nbef+n0, x1), nxs2)) // end of [if] ) (* end of [else] *) // end of [if] end // end of [list_cons] ) (* end of [loop] *) // var nbef: int // uninitized // in nxs := loop(nxs, nbef); nbef end // end of [funmset_insert2] (* ****** ****** *) implement {a}(*tmp*) funmset_remove2 (nxs, n0, x0) = let // typedef nx = @(intGt(0), a) // fun loop ( nxs: List(nx), nbef: &int? >> intGte(0) ) : List0 nx = ( // case+ nxs of | list_nil() => ( nbef := 0; list_nil() ) // end of [list_nil] | list_cons (nx, nxs2) => let val x1 = nx.1 val sgn = compare_elt_elt (x0, nx.1) // end of [val] in if sgn < 0 then list_cons(nx, loop(nxs2, nbef)) else ( if sgn > 0 then (nbef := 0; nxs) else let val () = nbef := nx.0 in if n0 <= nbef then nxs2 else list_cons((n0-nbef, nx.1), nxs2) // end of [if] end // end of [else] // end of [if] ) (* end of [else] *) // end of [if] end // end of [list_cons] ) (* end of [loop] *) // var nbef: int // uninitized // in nxs := loop(nxs, nbef); nbef end // end of [funmset_remove2] (* ****** ****** *) implement {a}(*tmp*) funmset_union (nxs, nys) = let // typedef nx = (intGt(0), a) // prval () = lemma_list_param(nxs) prval () = lemma_list_param(nys) // fun union ( nxs: List0(nx) , nys: List0(nx) ) : List0(nx) = ( // case+ (nxs, nys) of // case+ | (list_nil(), _) => nys | (_, list_nil()) => nxs | (list_cons(nx, nxs2), list_cons(ny, nys2)) => let val x = nx.1 and y = ny.1 val sgn = compare_elt_elt (x, y) in if sgn < 0 then list_cons(ny, union(nxs, nys2)) else ( if sgn > 0 then list_cons(nx, union(nxs2, nys)) else list_cons((nx.0+ny.0, x), union(nxs2, nys2)) // end of [if] ) (* end of [if] *) // end of [if] end // end of [cons, cons] // ) (* end of [union] *) // in union(nxs, nys) end // end of [funmset_union] (* ****** ****** *) implement {a}(*tmp*) funmset_intersect (nxs, nys) = let // typedef nx = (intGt(0), a) // prval () = lemma_list_param(nxs) prval () = lemma_list_param(nys) // fun intersect ( nxs: List0(nx) , nys: List0(nx) ) : List0(nx) = ( // case+ (nxs, nys) of // case+ | (list_nil(), _) => list_nil() | (_, list_nil()) => list_nil() | (list_cons(nx, nxs2), list_cons(ny, nys2)) => let val x = nx.1 and y = ny.1 val sgn = compare_elt_elt (x, y) in if sgn < 0 then intersect(nxs, nys2) else ( if sgn > 0 then intersect(nxs2, nys) else list_cons((min(nx.0,ny.0), x), intersect(nxs2, nys2)) // end of [if] ) (* end of [if] *) // end of [if] end // end of [cons, cons] // ) (* end of [intersect] *) // in intersect(nxs, nys) end // end of [funmset_intersect] (* ****** ****** *) implement {a}{env} funmset_foreach_env (nxs, env) = let // fun loop: $d2ctype ( funmset_foreach_env ) = lam(nxs, env) => ( case+ nxs of | list_nil ((*void*)) => () | list_cons ((n, x), nxs) => let val () = funmset_foreach$fwork(n, x, env) in loop(nxs, env) end // end of [list_cons] ) // in loop(nxs, env) end // end of [funmset_foreach_env] (* ****** ****** *) (* end of [funmset_listord.dats] *) ATS2-Postiats-0.2.6/./libats/SATS/0000775000175000017500000000000012655455557014766 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/SATS/stringbuf.sats0000664000175000017500000001251112655455557017665 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.stringbuf" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) %{# #include "libats/CATS/stringbuf.cats" %} // end of [%{#] (* ****** ****** *) absvtype stringbuf_vtype = ptr vtypedef stringbuf = stringbuf_vtype (* ****** ****** *) // // HX: for recapacitizing policy // fun{} stringbuf$recapacitize ((*void*)): int // (* ****** ****** *) fun{} stringbuf_make_nil (cap: sizeGte(1)): stringbuf (* ****** ****** *) fun{} stringbuf_free (sbf: stringbuf): void fun{} stringbuf_getfree_strptr (sbf: stringbuf): Strptr1 fun{} stringbuf_getfree_strnptr (sbf: stringbuf, n: &size_t? >> size_t(n)): #[n:nat] strnptr(n) // end of [stringbuf_getfree_strnptr] (* ****** ****** *) fun{} stringbuf_get_size (sbf: !stringbuf):<> size_t fun{} stringbuf_get_capacity (sbf: !stringbuf):<> size_t (* ****** ****** *) fun{} stringbuf_get_bufptr (sbf: !stringbuf):<> Ptr1 fun{} stringbuf_get_strptr (sbf: !stringbuf): vStrptr1 (* ****** ****** *) fun{} stringbuf_takeout_strbuf ( sbf: !stringbuf, n: &size_t? >> size_t(n) ) : #[l:addr;n:nat] ( bytes_v (l, n), bytes_v (l, n) - void | ptr(l) ) (* end of [stringbuf_takeout_strbuf] *) (* ****** ****** *) fun{} stringbuf_reset_capacity (sbf: !stringbuf, m2: sizeGte(1)): bool(*done/ignored*) // end of [stringbuf_reset_capacity] (* ****** ****** *) // // HX: (-1) indicates error of bounds-checking // fun{} stringbuf_get_at (sbf: !stringbuf, i: size_t): int fun{} stringbuf_rget_at (sbf: !stringbuf, i: sizeGte(1)): int (* ****** ****** *) symintr stringbuf_insert (* ****** ****** *) fun{} stringbuf_insert_char (!stringbuf, x: charNZ): int fun{} stringbuf_insert_string (!stringbuf, x: string): int fun{} stringbuf_insert_strlen{n:int} (!stringbuf, string(n), size_t(n)): int fun{} stringbuf_insert_bool (sbf: !stringbuf, x: bool): int (* ****** ****** *) overload stringbuf_insert with stringbuf_insert_char overload stringbuf_insert with stringbuf_insert_string overload stringbuf_insert with stringbuf_insert_bool (* ****** ****** *) fun{} stringbuf_insert_int (sbf: !stringbuf, x: int): int fun{} stringbuf_insert_uint (sbf: !stringbuf, x: uint): int fun{} stringbuf_insert_lint (sbf: !stringbuf, x: lint): int fun{} stringbuf_insert_ulint (sbf: !stringbuf, x: ulint): int (* ****** ****** *) overload stringbuf_insert with stringbuf_insert_int overload stringbuf_insert with stringbuf_insert_uint overload stringbuf_insert with stringbuf_insert_lint overload stringbuf_insert with stringbuf_insert_ulint (* ****** ****** *) fun{} stringbuf_insert_fread (sbf: !stringbuf, inp: FILEref, nbyte: int): int // end of [stringbuf_insert_fread] (* ****** ****** *) fun{} stringbuf_insert_fgets ( sbf: !stringbuf, inp: FILEref, last: &char(0) >> char ) : int // end of [stringbuf_insert_fgets] (* ****** ****** *) (* // fun stringbuf_insert_snprintf (sbf: !stringbuf, recap: int, fmt: string, ...) = "mac#%" // *) (* ****** ****** *) fun{a:t0p} stringbuf_insert_val (sbf: !stringbuf, x: a): int (* ****** ****** *) fun{a:t0p} stringbuf_insert_list (sbf: !stringbuf, x: List(a)): int (* ****** ****** *) // // HX-2014-07: // taking out the first [i] chars, and // moving the rest of chars to the front // fun{} stringbuf_takeout (sbf: !stringbuf, i: size_t): Strptr1 // fun{} stringbuf_takeout_all (sbf: !stringbuf): Strptr1 // (* ****** ****** *) // fun{} stringbuf_remove (sbf: !stringbuf, i: size_t): void // fun{} stringbuf_remove_all (sbf: !stringbuf): void // (* ****** ****** *) fun{} stringbuf_truncate (sbf: !stringbuf, n2: size_t): bool(*done/ignored*) // end of [stringbuf_truncate] (* ****** ****** *) // // HX-2014: // taking out the truncated porting // fun{} stringbuf_truncout (sbf: !stringbuf, n2: size_t): Strptr0 // // HX-2014: // it does the same as [stringbuf_takeout_all] // fun{} stringbuf_truncout_all (sbf: !stringbuf): Strptr1 // (* ****** ****** *) (* end of [stringbuf.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linralist_nested.sats0000664000175000017500000000304312655455557021225 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linralist_nested" (* ****** ****** *) #include "./SHARE/linralist.hats" (* ****** ****** *) (* end of [linralist_nested.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/lindeque_dllist.sats0000664000175000017500000000524012655455557021044 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX-2013-05: linear deque based on circular doubly-linked list (dllist) // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.lindeque_dllist" (* ****** ****** *) #include "./SHARE/lindeque.hats" (* ****** ****** *) // // HX-2013-05: functions of ngc-version // (* ****** ****** *) staload "libats/SATS/dllist.sats" (* ****** ****** *) // fun{a:vt0p} lindeque_insert_at_ngc {n:int}{i:nat | i <= n} ( dq: &deque (INV(a), n) >> deque (a, n+1), i: int i, x: g2node1(a) ) : void // end of [lindeque_insert_at_ngc] // fun{a:vt0p} lindeque_insert_atbeg_ngc{n:int} ( dq: &deque (INV(a), n) >> deque (a, n+1), nx: g2node1(a) ) : void // end of [lindeque_insert_atbeg_ngc] fun{a:vt0p} lindeque_insert_atend_ngc{n:int} ( dq: &deque (INV(a), n) >> deque (a, n+1), nx: g2node1(a) ) : void // end of [lindeque_insert_atend_ngc] // (* ****** ****** *) // fun{a:vt0p} lindeque_takeout_at_ngc{n:int}{i:nat | i < n} ( dq: &deque (INV(a), n) >> deque (a, n-1), i: int i ) : g2node1(a) // end of [lindeque_takeout_at_ngc] // fun{a:vt0p} lindeque_takeout_atbeg_ngc{n:pos} (dq: &deque (INV(a), n) >> deque (a, n-1)): g2node1(a) fun{a:vt0p} lindeque_takeout_atend_ngc{n:pos} (dq: &deque (INV(a), n) >> deque (a, n-1)): g2node1(a) // (* ****** ****** *) fun{a:vt0p} lindeque2dllist{n:int} (dq: deque (INV(a), n)): dllist (a, 0, n) // end of [fun] (* ****** ****** *) (* end of [lindeque_dllist.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linset_listord.sats0000664000175000017500000000320312655455557020716 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linset_listord" (* ****** ****** *) #include "./SHARE/linset.hats" #include "./SHARE/linset_node.hats" (* ****** ****** *) castfn linset2list {a:t0p} (xs: set (INV(a))):<> List0_vt (a) (* ****** ****** *) (* end of [linset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/hashfun.sats0000664000175000017500000000326412655455557017323 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX-2013-09: // A collection of hash functions // (* ****** ****** *) %{# #include "libats/CATS/hashfun.cats" %} // end of [%{#] (* ****** ****** *) fun{} inthash_jenkins (uint32):<> uint32 (* ****** ****** *) /* ** HX: ** res(0) = H0 ** res(i+1) = K*res(i) + str[i] */ fun{} string_hash_multiplier (K: ulint, H0: ulint, str: string):<> ulint // end of [string_hash_multiplier] (* ****** ****** *) (* end of [hashfun.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/bitvec.sats0000664000175000017500000001314512655455557017142 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A standard bit-vector implementation ** *) (* ****** ****** *) // // HX-2014-12: // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.bitvec" // (* ****** ****** *) // abst@ype bitvec_t0ype(n:int) // typedef bitvec (n:int) = bitvec_t0ype(n) // (* ****** ****** *) typedef bit = natLt(2) (* ****** ****** *) // absvtype bitvecptr_vtype(l:addr, n:int) = ptr(l) vtypedef bitvecptr (l:addr, n:int) = bitvecptr_vtype(l, n) // (* ****** ****** *) // vtypedef bitvecptr (n:int) = [l:addr] bitvecptr(l, n) // (* ****** ****** *) // castfn bitvecptr2ptr {l:addr}{n:int} (bvp: !bitvecptr(l, n)):<> ptr(l) // overload ptrcast with bitvecptr2ptr // (* ****** ****** *) // fun{} bitvec_get_wordsize ():<> intGt(0) fun{} bitvec_get_wordsize_log ():<> intGte(0) // (* ****** ****** *) // fun{} bitvecptr_make_none {n:nat}(n: int(n)): bitvecptr(n) fun{} bitvecptr_make_full {n:nat}(n: int(n)): bitvecptr(n) // (* ****** ****** *) fun{} bitvecptr_free{n:int}(bitvecptr(n)): void (* ****** ****** *) // fun{} bitvec_get_at{n:int} (vec: &bitvec(n), i: natLt(n)): bit fun{} bitvec_set_at{n:int} (vec: &bitvec(n) >> _, i: natLt(n), b: bit): void fun{} bitvec_flip_at{n:int} (vec: &bitvec(n) >> _, i: natLt(n)): void // (* ****** ****** *) // fun{} bitvecptr_get_at {l:addr}{n:int} (bvp: !bitvecptr(l, n), i: natLt(n)): bit fun{} bitvecptr_set_at {l:addr}{n:int} (bvp: !bitvecptr(l, n) >> _, i: natLt(n), b: bit): void fun{} bitvecptr_flip_at {l:addr}{n:int} (bvp: !bitvecptr(l, n) >> _, i: natLt(n)): void // (* ****** ****** *) overload [] with bitvec_get_at overload [] with bitvec_set_at overload [] with bitvecptr_get_at overload [] with bitvecptr_set_at (* ****** ****** *) // fun{} bitvec_is_none {n:int}(&bitvec(n), int(n)):<> bool fun{} bitvecptr_is_none {l:addr}{n:int}(!bitvecptr(n), int(n)):<> bool // fun{} bitvec_is_full {n:int}(&bitvec(n), int(n)):<> bool fun{} bitvecptr_is_full {l:addr}{n:int}(!bitvecptr(l,n), int(n)):<> bool // (* ****** ****** *) // fun{} bitvec_equal{n:int} (&bitvec(n), &bitvec(n), int(n)):<> bool fun{} bitvec_notequal{n:int} (&bitvec(n), &bitvec(n), int(n)):<> bool // fun{} bitvecptr_equal {l1,l2:addr}{n:int} (x1: !bitvecptr(l1, n), x2: !bitvecptr(l2, n), int(n)):<> bool fun{} bitvecptr_notequal {l1,l2:addr}{n:int} (x1: !bitvecptr(l1, n), x2: !bitvecptr(l2, n), int(n)):<> bool // (* ****** ****** *) // fun{} bitvec_copy{n:int} (x1: &bitvec(n) >> _, x2: &bitvec(n), int(n)): void // (* ****** ****** *) // fun{} bitvec_lnot {n:int}(x: &bitvec(n) >> _, int(n)): void fun{} bitvecptr_lnot{l:addr} {n:int}(x: !bitvecptr(l, n) >> _, int(n)): void // (* ****** ****** *) // fun{} bitvec_lor{n:int} (x1: &bitvec(n) >> _, x2: &bitvec(n), int(n)): void fun{} bitvec_lxor{n:int} (x1: &bitvec(n) >> _, x2: &bitvec(n), int(n)): void fun{} bitvec_land{n:int} (x1: &bitvec(n) >> _, x2: &bitvec(n), int(n)): void // fun{} bitvecptr_lor{l1,l2:addr}{n:int} ( x1: !bitvecptr(l1, n) >> _, x2: !bitvecptr(l2, n), int(n) ) : void // end-of-function fun{} bitvecptr_lxor{l1,l2:addr}{n:int} ( x1: !bitvecptr(l1, n) >> _, x2: !bitvecptr(l2, n), int(n) ) : void // end-of-function fun{} bitvecptr_land{l1,l2:addr}{n:int} ( x1: !bitvecptr(l1, n) >> _, x2: !bitvecptr(l2, n), int(n) ) : void // end-of-function // (* ****** ****** *) // fun{} fprint_bitvec$word(out: FILEref, w: uintptr): void fun{} fprint_bitvec{n:int} (out: FILEref, vec: &bitvec(n), n: int(n)): void fun{} fprint_bitvecptr{l:addr}{n:int} (out: FILEref, bvp: !bitvecptr(l, n), n: int(n)): void // (* ****** ****** *) // fun{} bitvec_tabulate$fopr(i: intGte(0)): bit fun{} bitvecptr_tabulate{n:nat}(nbit: int(n)): bitvecptr(n) // (* ****** ****** *) // fun{} bitvec_foreach{n:int} (vec: &bitvec(n), n: int(n)): void fun{ env:vt0p } bitvec_foreach_env{n:int} (vec: &bitvec(n), n: int(n), env: &env >> _): void // fun{ env:vt0p } bitvec_foreach$fwork{n:nat} (w: &uintptr >> _, n: int(n), env: &(env) >> _): void fun{ env:vt0p } bitvec_foreach$fworkbit (b: bit, env: &(env) >> _): void // (* ****** ****** *) // fun{} bitvecptr_foreach {l:addr}{n:int} (bvp: !bitvecptr(l, n) >> _, n: int(n)): void fun{ env:vt0p } bitvecptr_foreach_env {l:addr}{n:int} (bvp: !bitvecptr(l, n) >> _, n: int(n), env: &env >> _): void // (* ****** ****** *) (* end of [bitvec.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/dynarray.sats0000664000175000017500000001377612655455557017531 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.dynarray" (* ****** ****** *) %{# #include "libats/CATS/dynarray.cats" %} // end of [%{#] (* ****** ****** *) absvtype dynarray_vtype(a:vt@ype+) = ptr vtypedef dynarray(a:vt0p) = dynarray_vtype(a) (* ****** ****** *) // // HX: for recapacitizing policy // fun{} dynarray$recapacitize ((*void*)): int // (* ****** ****** *) fun{a:vt0p} dynarray_make_nil(cap: sizeGte(1)): dynarray(a) (* ****** ****** *) fun{} dynarray_free {a:t0p} (DA: dynarray(INV(a))): void // end of [dynarray_free] (* ****** ****** *) // fun{a:vt0p} fprint_dynarray (out: FILEref, DA: !dynarray(INV(a))): void // end of [fprint_dynarray] // fun{a:vt0p} fprint_dynarray_sep (out: FILEref, DA: !dynarray(INV(a)), sep: string): void // end of [fprint_dynarray_sep] // (* ****** ****** *) // fun{} dynarray_get_size {a:vt0p}(DA: !RD(dynarray(INV(a)))): size_t fun{} dynarray_get_capacity {a:vt0p}(DA: !RD(dynarray(INV(a)))): size_t // (* ****** ****** *) fun{} dynarray_get_array{a:vt0p} ( DA: !dynarray(INV(a)), n: &size_t? >> size_t(n) ) : #[l:addr;n:int] ( array_v (a, l, n), array_v (a, l, n) - void | ptr l ) // end of [dynarray_get_array] (* ****** ****** *) fun{} dynarray_getfree_arrayptr {a:vt0p} ( DA: dynarray(INV(a)), n: &size_t? >> size_t(n) ) : #[n:nat] arrayptr (a, n) (* ****** ****** *) // fun{a:t0p} dynarray_get_at_exn (DA: !dynarray(INV(a)), i: size_t): a fun{a:t0p} dynarray_set_at_exn (DA: !dynarray(INV(a)), i: size_t, x: a): void // overload [] with dynarray_get_at_exn overload [] with dynarray_set_at_exn // (* ****** ****** *) // fun{a:vt0p} dynarray_getref_at (DA: !RD(dynarray(INV(a))), i: size_t):<> cPtr0(a) // (* ****** ****** *) fun{a:vt0p} dynarray_insert_at ( DA: !dynarray(INV(a)), i: size_t, x: a, res: &a? >> opt(a, b) ) : #[b:bool] bool (b) // end of [dynarray_insert_at] (* ****** ****** *) // fun{a:vt0p} dynarray_insert_at_exn (DA: !dynarray(INV(a)), i: size_t, x: a): void fun{a:vt0p} dynarray_insert_at_opt (DA: !dynarray(INV(a)), i: size_t, x: a): Option_vt(a) // (* ****** ****** *) // fun{a:vt0p} dynarray_insert_atbeg_exn (DA: !dynarray(INV(a)), x: a): void fun{a:vt0p} dynarray_insert_atbeg_opt (DA: !dynarray(INV(a)), x: a): Option_vt(a) // fun{a:vt0p} dynarray_insert_atend_exn (DA: !dynarray(INV(a)), x: a): void fun{a:vt0p} dynarray_insert_atend_opt (DA: !dynarray(INV(a)), x: a): Option_vt(a) // (* ****** ****** *) fun{a:vt0p} dynarray_insertseq_at {n2:int} ( DA: !dynarray(INV(a)), i: size_t , xs: &array(a, n2) >> arrayopt(a, n2, b), n2: size_t(n2) ) : #[b:bool] bool(b) // end-of-fun (* ****** ****** *) fun{a:vt0p} dynarray_takeout_at ( DA: !dynarray(INV(a)), i: size_t, res: &a? >> opt(a, b) ) : #[b:bool] bool(b) // end of [dynarray_takeout_at] (* ****** ****** *) // fun{a:vt0p} dynarray_takeout_at_exn (DA: !dynarray(INV(a)), i: size_t): (a) fun{a:vt0p} dynarray_takeout_at_opt (DA: !dynarray(INV(a)), i: size_t): Option_vt(a) // (* ****** ****** *) fun{a:vt0p} dynarray_takeout_atbeg_exn (DA: !dynarray(INV(a))): (a) fun{a:vt0p} dynarray_takeout_atbeg_opt (DA: !dynarray(INV(a))): Option_vt(a) (* ****** ****** *) fun{a:vt0p} dynarray_takeout_atend_exn (DA: !dynarray(INV(a))): (a) fun{a:vt0p} dynarray_takeout_atend_opt (DA: !dynarray(INV(a))): Option_vt(a) (* ****** ****** *) fun{a:vt0p} dynarray_takeoutseq_at {n2:int} ( DA: !dynarray(INV(a)), i: size_t , xs: &array(a?, n2) >> arrayopt(a, n2, b), n2: size_t (n2) ) : #[b:bool] bool(b) // end-of-fun (* ****** ****** *) // fun{a:t@ype} dynarray_removeseq_at (DA: !dynarray(INV(a)), st: size_t, ln: size_t): size_t // (* ****** ****** *) // fun{a:vt0p} dynarray_listize0(DA: !dynarray(INV(a))): List0_vt(a) fun{a:t@ype} dynarray_listize1(DA: !dynarray(INV(a))): List0_vt(a) // (* ****** ****** *) fun{a:vt0p} dynarray_reset_capacity (DA: !dynarray(INV(a)), m2: sizeGte(1)): bool(*done/ignored*) // end of [dynarray_reset_capacity] (* ****** ****** *) fun{a:vt0p} dynarray_quicksort$cmp (x1: &RD(a), x2: &RD(a)):<> int fun{a:vt0p} dynarray_quicksort (DA: !dynarray(INV(a))): void (* ****** ****** *) abst@ype dynarray_struct = $extype"atslib_dynarray_struct" (* ****** ****** *) fun{} dynarray_make2_nil {a:vt0p}{l:addr} ( pf: dynarray_struct? @ l | p0: ptr(l), cap: sizeGte(1) ) : (mfree_ngc_v (l) | dynarray(a)) (* ****** ****** *) fun{} dynarray_getfree2_arrayptr {a:vt0p}{l:addr} ( pf: mfree_ngc_v (l) | p0: ptr l , DA: dynarray(a), n: &size_t? >> size_t(n) ) : #[n:int] (dynarray_struct? @ l | arrayptr(a, n)) (* ****** ****** *) overload .size with dynarray_get_size overload .capacity with dynarray_get_capacity (* ****** ****** *) (* end of [dynarray.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/typeval.sats0000664000175000017500000000474712655455557017362 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmmhwxiATgmailDOTcom // Start Time: March, 2015 // (* ****** ****** *) // abstype Z() // 0 abstype S(type) // n+1 // (* ****** ****** *) // #define fS(n) if n > 0 then S(fS(n-1)) else Z() // (* ****** ****** *) // dataprop tieq(type, int) = | TIEQZ (Z(), 0) | {t:type}{n:nat} TIEQS(S(t), n+1) of tieq(t, n) // fun {t:type} tieq2int {n:int} (pf: tieq(t, n) | (*void*)): int(n) // (* ****** ****** *) // abstype B0(type) // 2*n+0 abstype B1(type) // 2*n+1 // dataprop ti2eq(type, int) = | TI2EQZ (Z(), 0) | {t:type}{n:nat} TI2EQB0(B0(t), 2*n) of ti2eq(t, n) | {t:type}{n:nat} TI2EQB1(B1(t), 2*n+1) of ti2eq(t, n) // fun {t:type} ti2eq2int {n:int} (pf: ti2eq(t, n) | (*void*)): int(n) // (* ****** ****** *) // fun {a:vt0p} {t:type} sarray_foreach {n:int} ( pf: tieq(t, n)| A0: &array(a, n), env: ptr ) : void // end-of-fun // fun {a:vt0p} sarray_foreach$fwork(x: &a >> _, env: ptr): void // (* ****** ****** *) // fun {a:vt0p} {t:type} sarray_foreach2 {n:int} ( pf: tieq(t, n) | A0: &array(a, n), A1: &array(a, n), env: ptr ) : void // end-of-fun // fun {a:vt0p} sarray_foreach2$fwork(x0: &a >> _, x1: &a >> _, env: ptr): void // (* ****** ****** *) (* end of [typeval.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/hashtbl_chain.sats0000664000175000017500000000364712655455557020463 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A hashtable implementation where the buckets ** associated with keys are represented as doubly-linked lists ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: March, 2010 // based on a version done in October, 2008 ** *) (* ****** ****** *) // // HX-2013-01: // // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.hashtbl_chain" // (* ****** ****** *) #include "./SHARE/hashtbl.hats" (* ****** ****** *) absvtype chain_vtype (key:t@ype, itm:vt@ype+) = ptr (* ****** ****** *) vtypedef chain (key:t0p, itm:vt0p) = chain_vtype (key, itm) (* ****** ****** *) (* end of [hashtbl_chain.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funralist_nested.sats0000664000175000017500000000303712655455557021236 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funralist_nested" (* ****** ****** *) #include "./SHARE/funralist.hats" (* ****** ****** *) (* end of [funralist_nested.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/dllist.sats0000664000175000017500000002216612655455557017164 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) // // HX-2012-12: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.dllist" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) (* ** ** HX-2012-02-29: ** dllist (a, f, r) means that there are f elements in ** front of the current one while r-1 elements after it. So the ** total number of elements is f+r. If f=r=0, then the list is ** empty. ** *) absvtype dllist_vtype (a: viewt@ype+, f: int, r: int) = ptr // HX: f: front; r: rear stadef dllist = dllist_vtype // vtypedef Dllist (a) = [f,r:int] dllist (a, f, r) vtypedef Dllist0 (a) = [f,r:int | r >= 0] dllist (a, f, r) vtypedef Dllist1 (a) = [f,r:int | r >= 1] dllist (a, f, r) // (* ****** ****** *) castfn dllist2ptr {a:vt0p} (xs: !Dllist (INV(a))):<> Ptr0 castfn dllist2ptr1 {a:vt0p} (xs: !Dllist1 (INV(a))):<> Ptr1 (* ****** ****** *) praxi lemma1_dllist_param {a:vt0p} {f,r:int} (xs: !dllist (INV(a), f, r)): [f >= 0;r >= 0] void // end of [lemma_dllist_param] praxi lemma2_dllist_param {a:vt0p} {f,r:int | f > 0} (xs: !dllist (INV(a), f, r)): [r > 0] void // end of [lemma2_dllist_param] praxi lemma3_dllist_param {a:vt0p} {f,r:int | r <= 0} (xs: !dllist (INV(a), f, r)): [f == 0] void // end of [lemma3_dllist_param] (* ****** ****** *) fun{} dllist_nil {a:vt0p} ():<> dllist (a, 0, 0) (* ****** ****** *) praxi dllist_free_nil {a:vt0p}{f:int} (xs: dllist (INV(a), f, 0)): void // end of [dllist_free_nil] (* ****** ****** *) fun{a:vt0p} dllist_sing (x: a): dllist (a, 0, 1) (* ****** ****** *) fun{a:vt0p} dllist_cons{r:int} (x: a, xs: dllist (INV(a), 0, r)): dllist (a, 0, r+1) // end of [dllist_cons] fun{a:vt0p} dllist_uncons{r:int | r > 0} (xs: &dllist (INV(a), 0, r) >> dllist (a, 0, r-1)): (a) // end of [dllist_uncons] (* ****** ****** *) fun{a:vt0p} dllist_snoc{f:int} (xs: dllist (INV(a), f, 1), x: a): dllist (a, f+1, 1) // end of [dllist_snoc] fun{a:vt0p} dllist_unsnoc{f:int | f > 0} (xs: &dllist (INV(a), f, 1) >> dllist (a, f-1, 1)): (a) // end of [dllist_unsnoc] (* ****** ****** *) fun{a:t0p} dllist_make_list {n:int} (xs: list (INV(a), n)): dllist (a, 0, n) // end of [dllist_make_list] (* ****** ****** *) fun{ } dllist_is_nil {a:vt0p}{f,r:int} (xs: !dllist (INV(a), f, r)):<> bool (r==0) // end of [dllist_is_nil] fun{ } dllist_is_cons {a:vt0p}{f,r:int} (xs: !dllist (INV(a), f, r)):<> bool (r > 0) // end of [dllist_is_cons] (* ****** ****** *) fun{a:vt0p} dllist_is_atbeg {f,r:int} (xs: !dllist (INV(a), f, r)):<> bool (f==0) // end of [dllist_is_atbeg] fun{a:vt0p} dllist_is_atend {f,r:int | r > 0} (xs: !dllist (INV(a), f, r)):<> bool (r==1) // end of [dllist_is_atend] fun{a:vt0p} rdllist_is_atbeg {f,r:int | r > 0} (xs: !dllist (INV(a), f, r)):<> bool (r==1) // end of [rdllist_is_atend] fun{a:vt0p} rdllist_is_atend {f,r:int} (xs: !dllist (INV(a), f, r)):<> bool (f==0) // end of [rdllist_is_atend] (* ****** ****** *) fun{a:vt0p} dllist_getref_elt (xs: !Dllist1 (INV(a))):<> cPtr1 (a) (* ****** ****** *) fun{a:vt0p} dllist_getref_next (xs: !Dllist1 (INV(a))):<> Ptr1 fun{a:vt0p} dllist_getref_prev (xs: !Dllist1 (INV(a))):<> Ptr1 (* ****** ****** *) fun{a:t0p} dllist_get_elt (xs: !Dllist1 (INV(a))): a fun{a:t0p} dllist_set_elt (xs: !Dllist1 (INV(a)), x0: a): void (* ****** ****** *) fun{a:vt0p} dllist_length {f,r:int} (xs: !dllist (INV(a), f, r)):<> int (r) // end of [dllist_length] fun{a:vt0p} rdllist_length {f,r:int} (xs: !dllist (INV(a), f, r)):<> int (f) // end of [rdllist_length] (* ****** ****** *) fun{a:vt0p} dllist_move {f,r:int | r > 1} (xs: dllist (INV(a), f, r)):<> dllist (a, f+1, r-1) fun{a:vt0p} dllist_move_all {f,r:int | r > 0} (xs: dllist (INV(a), f, r)):<> dllist (a, f+r-1, 1) // end of [dllist_move_all] (* ****** ****** *) fun{a:vt0p} rdllist_move {f,r:int | f > 0} (xs: dllist (INV(a), f, r)):<> dllist (a, f-1, r+1) fun{a:vt0p} rdllist_move_all {f,r:int | r >= 0} (xs: dllist (INV(a), f, r)):<> dllist (a, 0(*front*), f+r) // end of [rdllist_move_all] (* ****** ****** *) fun{a:vt0p} dllist_insert_next {f,r:int | r > 0} (xs: dllist (INV(a), f, r), x0: a): dllist (a, f, r+1) // end of [dllist_insert_next] fun{a:vt0p} dllist_insert_prev {f,r:int | r > 0} (xs: dllist (INV(a), f, r), x0: a): dllist (a, f, r+1) // end of [dllist_insert] (* ****** ****** *) fun{a:vt0p} dllist_takeout {f,r:int | r > 1} (xs: &dllist (INV(a), f, r) >> dllist (a, f, r-1)): (a) // end of [dllist_takeout] fun{a:vt0p} dllist_takeout_next {f,r:int | r > 1} (xs: &dllist (INV(a), f, r) >> dllist (a, f, r-1)): (a) // end of [dllist_takeout_next] (* ****** ****** *) fun{a:vt0p} rdllist_insert {f,r:int | r > 0} (xs: dllist (INV(a), f, r), x0: a): dllist (a, f+1, r) // end of [rdllist_insert] fun{a:vt0p} rdllist_takeout {f,r:int | f > 0} (xs: &dllist (INV(a), f, r) >> dllist (a, f-1, r)): (a) // end of [rdllist_takeout] (* ****** ****** *) fun{a:vt0p} dllist_append {f1,r1:int}{f2,r2:int} ( xs1: dllist (INV(a), f1, r1), xs2: dllist (a, f2, r2) ) : dllist (a, f1, r1+f2+r2) // end of [dllist_append] fun{a:vt0p} rdllist_append {f1,r1:int}{f2,r2:int | r2 > 0} ( xs1: dllist (INV(a), f1, r1), xs2: dllist (a, f2, r2) ) : dllist (a, f1+r1+f2, r2) // end of [rdllist_append] (* ****** ****** *) fun{a:vt0p} dllist_reverse {f,r:int} (xs: dllist (INV(a), f, r)): dllist (a, f, r) // end of [dllist_reverse] fun{a:vt0p} rdllist_reverse {f,r:int} (xs: dllist (INV(a), f, r)): dllist (a, f, r) // end of [rdllist_reverse] (* ****** ****** *) fun{a:t0p} dllist_free {r:int} (xs: dllist (INV(a), 0, r)): void // end of [dllist_free] fun{a:vt0p} dllist_freelin$clear (x: &a >> a?): void fun{a:vt0p} dllist_freelin {r:int} (xs: dllist (INV(a), 0, r)): void (* ****** ****** *) fun{ a:vt0p}{env:vt0p } dllist_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } dllist_foreach$fwork (x: &a, env: &env >> _): void fun{a:vt0p} dllist_foreach (xs: !Dllist (INV(a))): void fun{ a:vt0p}{env:vt0p } dllist_foreach_env (xs: !Dllist (INV(a)), env: &env >> _): void // end of [dllist_foreach_env] (* ****** ****** *) fun{ a:vt0p}{env:vt0p } rdllist_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } rdllist_foreach$fwork (x: &a, env: &env >> _): void fun{a:vt0p} rdllist_foreach (xs: !Dllist (INV(a))): void fun{ a:vt0p}{env:vt0p } rdllist_foreach_env (xs: !Dllist (INV(a)), env: &env >> _): void // end of [rdllist_foreach_env] (* ****** ****** *) // fun{} fprint_dllist$sep (out: FILEref): void fun{a:vt0p} fprint_dllist (out: FILEref, xs: !Dllist (INV(a))): void // overload fprint with fprint_dllist // (* ****** ****** *) // fun{} fprint_rdllist$sep (out: FILEref): void fun{a:vt0p} fprint_rdllist (out: FILEref, xs: !Dllist (INV(a))): void // (* ****** ****** *) // // HX-2013-05: functions of ngc-version // (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) stadef mytkind = $extkind"libats_dllist" (* ****** ****** *) typedef g2node0 (a:vt0p) = gnode0 (mytkind, a) typedef g2node1 (a:vt0p) = gnode1 (mytkind, a) (* ****** ****** *) fun{a:vt0p} dllist_cons_ngc{r:int} (x: g2node1 (a), xs: dllist (INV(a), 0, r)): dllist (a, 0, r+1) // end of [dllist_cons_ngc] fun{a:vt0p} dllist_uncons_ngc{r:int | r > 0} (xs: &dllist (INV(a), 0, r) >> dllist (a, 0, r-1)): g2node1 (a) // end of [dllist_uncons_ngc] (* ****** ****** *) fun{a:vt0p} dllist_snoc_ngc{f:int} (xs: dllist (INV(a), f, 1), nx: g2node1 (a)): dllist (a, f+1, 1) // end of [dllist_snoc_ngc] fun{a:vt0p} dllist_unsnoc_ngc{f:int | f > 0} (xs: &dllist (INV(a), f, 1) >> dllist (a, f-1, 1)): g2node1 (a) // end of [dllist_unsnoc_ngc] (* ****** ****** *) (* end of [dllist.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/stkarray.sats0000664000175000017500000001252412655455557017526 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** An array-based stack implementation ** *) (* ****** ****** *) (* ** ** Author: Hongwei Xi ** Authoremail: gmhwxi AT gmail DOT com ** Start time: September, 2013 ** *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.stkarray" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) %{# #include "libats/CATS/stkarray.cats" %} // end of [%{#] (* ****** ****** *) // absvtype stkarray_vtype (a:vt@ype+, m:int, n:int) = ptr // (* ****** ****** *) // stadef stkarray = stkarray_vtype // vtypedef stkarray (a:vt0p) = [m,n:int] stkarray_vtype (a, m, n) // (* ****** ****** *) abst@ype stkarray_tsize = $extype"atslib_stkarray_struct" (* ****** ****** *) praxi lemma_stkarray_param {a:vt0p}{m,n:int} (!stkarray (INV(a), m, n)): [m >= n; n >= 0] void // end of [lemma_stkarray_param] (* ****** ****** *) fun{a:vt0p} stkarray_make_cap {m:int} (cap: size_t(m)): stkarray (a, m, 0) // end of [stkarray_make_cap] (* ****** ****** *) fun stkarray_make_ngc__tsz {a:vt0p} {l:addr}{m:int} ( stkarray_tsize? @ l | ptr(l), arrayptr(a?, m), size_t(m), sizeof_t(a) ) : (mfree_ngc_v (l) | stkarray (a, m, 0)) = "mac#%" (* ****** ****** *) fun stkarray_free_nil {a:vt0p}{m:int} (stk: stkarray (a, m, 0)): void = "mac#%" // end of [stkarray_free_nil] fun stkarray_getfree_arrayptr {a:vt0p}{m,n:int} (stk: stkarray (a, m, n)): arrayptr (a, n) = "mac#%" // end of [stkarray_getfree_arrayptr] (* ****** ****** *) // fun{a:vt0p} stkarray_get_size {m,n:int} (stk: !stkarray (INV(a), m, n)):<> size_t(n) fun{a:vt0p} stkarray_get_capacity {m,n:int} (stk: !stkarray (INV(a), m, n)):<> size_t(m) // (* ****** ****** *) fun stkarray_get_ptrbeg{a:vt0p} {m,n:int} (stk: !stkarray (INV(a), m, n)):<> Ptr1 = "mac#%" // end of [stkarray_get_ptrbeg] (* ****** ****** *) // fun stkarray_is_nil {a:vt0p}{m,n:int} (stk: !stkarray (INV(a), m, n)):<> bool (n==0) = "mac#%" fun stkarray_isnot_nil {a:vt0p}{m,n:int} (stk: !stkarray (INV(a), m, n)):<> bool (n > 0) = "mac#%" // (* ****** ****** *) // fun stkarray_is_full {a:vt0p}{m,n:int} (stk: !stkarray (INV(a), m, n)):<> bool (m==n) = "mac#%" fun stkarray_isnot_full {a:vt0p}{m,n:int} (stk: !stkarray (INV(a), m, n)):<> bool (m > n) = "mac#%" // (* ****** ****** *) fun{} fprint_stkarray$sep (out: FILEref): void fun{a:vt0p} fprint_stkarray (out: FILEref, stk: !stkarray (INV(a))): void fun{a:vt0p} fprint_stkarray_sep (out: FILEref, stk: !stkarray (INV(a)), sep: string): void overload fprint with fprint_stkarray overload fprint with fprint_stkarray_sep (* ****** ****** *) fun{a:vt0p} stkarray_insert {m,n:int | m > n} ( stk: !stkarray (INV(a), m, n) >> stkarray (a, m, n+1), x0: a ) : void // endfun (* ****** ****** *) fun{a:vt0p} stkarray_insert_opt (stk: !stkarray (INV(a)) >> _, x0: a): Option_vt (a) // end of [stkarray_insert_opt] (* ****** ****** *) fun{a:vt0p} stkarray_takeout {m,n:int | n > 0} ( stk: !stkarray (INV(a), m, n) >> stkarray (a, m, n-1) ) : (a) // endfun fun{a:vt0p} stkarray_takeout_opt (stk: !stkarray (INV(a)) >> _): Option_vt (a) // end of [stkarray_takeout_opt] (* ****** ****** *) fun{a:vt0p} stkarray_getref_top {m,n:int | n > 0} (stk: !stkarray (INV(a), m, n)):<> cPtr1 (a) // end of [stkarray_getref_top] (* ****** ****** *) // symintr stkarray_getref_at // fun{a:vt0p} stkarray_getref_at_int {m,n:int}{i:nat | i < n} (stk: !stkarray(INV(a), m, n), i: int(i)):<> cPtr1 (a) // fun{a:vt0p} stkarray_getref_at_size {m,n:int}{i:nat | i < n} (stk: !stkarray(INV(a), m, n), i: size_t(i)):<> cPtr1 (a) // overload stkarray_getref_at with stkarray_getref_at_int overload stkarray_getref_at with stkarray_getref_at_size // (* ****** ****** *) fun{ a:vt0p}{env:vt0p } stkarray_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } stkarray_foreach$fwork (x: &a >> _, env: &(env) >> _): void fun{ a:vt0p } stkarray_foreach{m,n:int} (stk: !stkarray (INV(a), m, n)): sizeLte(n) fun{ a:vt0p}{env:vt0p } stkarray_foreach_env{m,n:int} (stk: !stkarray (INV(a), m, n), env: &(env) >> _): sizeLte(n) (* ****** ****** *) (* end of [stkarray.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gnode.sats0000664000175000017500000001260612655455557016763 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // AuthorEmail: hwxi AT cs DOT bu DOT edu // Start time: December, 2012 // (* ****** ****** *) // // HX: there is no involvement of malloc/free // HX: generic nodes: singly-linked, doubly-linked, ... // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gnode" (* ****** ****** *) sortdef tk = tkind sortdef t0p = t@ype and vt0p = vt@ype (* ****** ****** *) // abstype gnode (tk:tk, a:vt@ype+, l:addr) = ptr // typedef gnode (tk:tk, a:vt0p) = [l:addr] gnode (tk, a, l) typedef gnode0 (tk:tk, a:vt0p) = [l:addr | l >= null] gnode (tk, a, l) typedef gnode1 (tk:tk, a:vt0p) = [l:addr | l > null] gnode (tk, a, l) // (* ****** ****** *) praxi lemma_gnode {tk:tk}{a:vt0p}{l:addr} (nx: gnode (tk, a, l)): [l >= null] void // end of [lemma_gnode] (* ****** ****** *) castfn gnode2ptr {tk:tk}{a:vt0p}{l:addr} (nx: gnode (tk, a, l)):<> ptr (l) (* ****** ****** *) fun{ } gnode_null {tk:tk}{a:vt0p} ():<> gnode (tk, a, null) // end of [gnode_null] (* ****** ****** *) fun{ } gnode_is_null {tk:tk}{a:vt0p}{l:addr} (nx: gnode (tk, INV(a), l)):<> bool (l==null) // end of [gnode_is_null] fun{ } gnode_isnot_null {tk:tk}{a:vt0p}{l:addr} (nx: gnode (tk, INV(a), l)):<> bool (l > null) // end of [gnode_isnot_null] (* ****** ****** *) fun{ tk:tk}{a:t0p } gnode_get_elt (nx: gnode1 (tk, INV(a))):<> (a) fun{ tk:tk}{a:t0p } gnode_set_elt (nx: gnode1 (tk, INV(a)), x0: a): void fun{ tk:tk}{a:vt0p } gnode_getref_elt (nx: gnode1 (tk, INV(a))):<> cPtr1 (a) (* ****** ****** *) fun{ tk:tk}{a:vt0p // implemented } gnode_get_next (nx: gnode1 (tk, INV(a))):<> gnode0 (tk, a) fun{ tk:tk}{a:vt0p // implemented } gnode_set_next (nx: gnode1 (tk, INV(a)), nx2: gnode (tk, a)): void fun{ tk:tk}{a:vt0p // implemented } gnode0_set_next (nx: gnode0 (tk, INV(a)), nx2: gnode (tk, a)): void fun{ tk:tk}{a:vt0p } gnode_set_next_null (nx: gnode1 (tk, INV(a))): void fun{ tk:tk}{a:vt0p } gnode0_set_next_null (nx: gnode0 (tk, INV(a))): void fun{ tk:tk}{a:vt0p } gnode_getref_next (nx: gnode1 (tk, INV(a))):<> cPtr1 (gnode0(tk, a)) (* ****** ****** *) fun{ tk:tk}{a:vt0p } gnode_get_prev (nx: gnode1 (tk, INV(a))):<> gnode0 (tk, a) fun{ tk:tk}{a:vt0p } gnode_set_prev (nx: gnode1 (tk, INV(a)), nx2: gnode (tk, a)): void fun{ tk:tk}{a:vt0p } gnode0_set_prev (nx: gnode0 (tk, INV(a)), nx2: gnode (tk, a)): void fun{ tk:tk}{a:vt0p } gnode_set_prev_null (nx: gnode1 (tk, INV(a))): void fun{ tk:tk}{a:vt0p } gnode0_set_prev_null (nx: gnode0 (tk, INV(a))): void fun{ tk:tk}{a:vt0p } gnode_getref_prev (nx: gnode1 (tk, INV(a))):<> cPtr1 (gnode0 (tk, a)) (* ****** ****** *) (* fun{ tk:tk}{a:vt0p } gnode_link (nx1: gnode1 (tk, INV(a)), nx2: gnode1 (tk, a)): void *) fun{ tk:tk}{a:vt0p } gnode_link00 (nx1: gnode0 (tk, INV(a)), nx2: gnode0 (tk, a)): void fun{ tk:tk}{a:vt0p } gnode_link01 (nx1: gnode0 (tk, INV(a)), nx2: gnode1 (tk, a)): void fun{ tk:tk}{a:vt0p } gnode_link10 (nx1: gnode1 (tk, INV(a)), nx2: gnode0 (tk, a)): void fun{ tk:tk}{a:vt0p } gnode_link11 (nx1: gnode1 (tk, INV(a)), nx2: gnode1 (tk, a)): void (* ****** ****** *) fun{ tk:tk}{a:vt0p } gnode_insert_next (nx1: gnode1 (tk, INV(a)), nx2: gnode1 (tk, a)): void // end of [gnode_insert_next] fun{ tk:tk}{a:vt0p } gnode_insert_prev (nx1: gnode1 (tk, INV(a)), nx2: gnode1 (tk, a)): void // end of [gnode_insert_prev] (* ****** ****** *) fun{ tk:tk}{a:vt0p } gnode_remove (nx: gnode1 (tk, INV(a))): gnode1 (tk, a) fun{ tk:tk}{a:vt0p } gnode_remove_next (nx: gnode1 (tk, INV(a))): gnode0 (tk, a) fun{ tk:tk}{a:vt0p } gnode_remove_prev (nx: gnode1 (tk, INV(a))): gnode0 (tk, a) (* ****** ****** *) macdef gnodelst_is_nil (nxs) = gnode_is_null (,(nxs)) macdef gnodelst_is_cons (nxs) = gnode_isnot_null (,(nxs)) (* ****** ****** *) fun{ tk:tk}{a:vt0p } gnodelst_length (nxs: gnode0 (tk, INV(a))):<> intGte(0) fun{ tk:tk}{a:vt0p } gnodelst_rlength (nxs: gnode0 (tk, INV(a))):<> intGte(0) (* ****** ****** *) fun{ tk:tk}{a:vt0p } gnodelst_next_all (nxs: gnode1 (tk, INV(a))):<> gnode1 (tk, a) fun{ tk:tk}{a:vt0p } gnodelst_prev_all (nxs: gnode1 (tk, INV(a))):<> gnode1 (tk, a) (* ****** ****** *) (* end of [gnode.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linmap_randbst.sats0000664000175000017500000000340512655455557020661 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_randbst" (* ****** ****** *) #include "./SHARE/linmap.hats" #include "./SHARE/linmap_node.hats" (* ****** ****** *) fun{} linmap_randbst_initize (): void (* ****** ****** *) fun{} linmap_randbst_random_m_n {m,n:nat} (m: int m, n: int n): natLt (2) // end of [linmap_randbst_random_m_n] (* ****** ****** *) (* end of [linmap_randbst.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gmatrix.sats0000664000175000017500000001566312655455557017350 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gmatrix" (* ****** ****** *) staload "libats/SATS/gvector.sats" (* ****** ****** *) // sortdef mord = int // stadef mrow: mord = 0 // row-major stadef mcol: mord = 1 // col-major // datatype MORD (int) = | MORDrow (mrow) of () | MORDcol (mcol) of () // typedef MORD = [mo:mord] MORD(mo) // (* ****** ****** *) // datasort transp = tpn | tpt | tpc datatype TRANSP (transp) = | TPN (tpn) of () | TPT (tpt) of () | TPC (tpc) of () // typedef TRANSP = [tp:transp] TRANSP(tp) // (* ****** ****** *) dataprop transpdim ( transp , int // row , int // col , int // row_new , int // col_new ) = | {m,n:int} TPDIM_N (tpn, m, n, m, n) of () | {m,n:int} TPDIM_T (tpt, m, n, n, m) of () | {m,n:int} TPDIM_C (tpc, m, n, n, m) of () // end of [transpdim] (* ****** ****** *) // // HX: [transp] is inverse // prfun transpdim_transp {tp:transp}{m1,n1:int}{m2,n2:int} (pf: transpdim (tp, m1, n1, m2, n2)): transpdim (tp, n1, m1, n2, m2) // end of [transpdim_transp] (* ****** ****** *) sortdef uplo = int stadef uplo_l: uplo = 0 // lo stadef uplo_u: uplo = 1 // up datatype UPLO (uplo) = UPLO_L (uplo_l) | UPLO_U (uplo_u) of () (* ****** ****** *) sortdef diag = int stadef diag_n: diag = 0 // non stadef diag_u: diag = 1 // unit datatype DIAG (diag) = DIAG_N (diag_n) | DIAG_U (diag_u) of () (* ****** ****** *) sortdef side = int stadef side_l: side = 0 // left stadef side_r: side = 1 // right datatype SIDE (side) = SIDE_L (side_l) | SIDE_R (side_r) of () (* ****** ****** *) // // HX-2013-07: // generic matrix: // element, row, col, ord, ld // abst@ype gmatrix_t0ype (a:t@ype, mo:mord, m:int, n:int, ld:int) (* irregular *) // typedef gmatrix (a:t0p, mo:mord, m:int, n:int, ld:int) = gmatrix_t0ype (a, mo, m, n, ld) viewdef gmatrix_v (a:t0p, mo:mord, l:addr, m:int, n:int, ld:int) = gmatrix_t0ype (a, mo, m, n, ld) @ l // stadef GMX = gmatrix stadef GMX = gmatrix_v // (* ****** ****** *) // typedef gmatrow (a:t0p, m:int, n:int, ld:int) = gmatrix_t0ype (a, mrow, m, n, ld) viewdef gmatrow_v (a:t0p, l:addr, m:int, n:int, ld:int) = gmatrix_t0ype (a, mrow, m, n, ld) @ l // stadef GMR = gmatrow stadef GMR = gmatrow_v // (* ****** ****** *) // typedef gmatcol (a:t0p, m:int, n:int, ld:int) = gmatrix_t0ype (a, mcol, m, n, ld) viewdef gmatcol_v (a:t0p, l:addr, m:int, n:int, ld:int) = gmatrix_t0ype (a, mcol, m, n, ld) @ l // stadef GMC = gmatcol stadef GMC = gmatcol_v // (* ****** ****** *) praxi lemma_gmatrix_param {a:t0p}{mo:mord} {m,n:int}{ld:int} (M: &GMX (a, mo, m, n, ld)) : [0 <= mo; mo <= 1; 0 <= m; 0 <= n; 0 <= ld] void praxi lemma_gmatrix_v_param {a:t0p}{mo:mord} {l:addr}{m,n:int}{ld:int} (pf: !GMX (a, mo, l, m, n, ld)) : [0 <= mo; mo <= 1; 0 <= m; 0 <= n; 0 <= ld] void (* ****** ****** *) // (* // HX-2013-07: // Don't use [gmatrix_initize] // unless you know what you are doing *) praxi gmatrix_initize {a:t0p}{mo:mord}{m,n:int}{ld:int} (&GMX(a?, mo, m, n, ld) >> GMX(a, mo, m, n, ld)): void praxi gmatrix_uninitize {a:t0p}{mo:mord}{m,n:int}{ld:int} (&GMX(a, mo, m, n, ld) >> GMX(a?, mo, m, n, ld)): void // (* ****** ****** *) // praxi gmatrix_flipord {a:t0p}{mo:mord} {m,n:int}{ld:int} (M: &GMX(a, mo, m, n, ld) >> GMX(a, 1-mo, n, m, ld)): void praxi gmatrix_v_flipord {a:t0p}{mo:mord} {l:addr}{m,n:int}{ld:int} (pf: !GMX(a, mo, l, m, n, ld) >> GMX(a, 1-mo, l, n, m, ld)): void // (* ****** ****** *) fun{} fprint_gmatrix$sep1 (out: FILEref): void fun{} fprint_gmatrix$sep2 (out: FILEref): void fun{a:t0p} fprint_gmatrix {mo:mord}{m,n:int}{ld:int} ( FILEref , V: &GMX(a, mo, m, n, ld), MORD(mo), int(m), int(n), int(ld) ) : void // end of [fprint_gmatrix] fun{a:t0p} fprint_gmatrix_sep {mo:mord}{m,n:int}{ld:int} ( FILEref , V: &GMX(a, mo, m, n, ld) , MORD(mo), int(m), int(n), int(ld), sep1: string, sep: string ) : void // end of [fprint_gmatrix_sep] (* ****** ****** *) fun{ a:t0p}{env:vt0p } gmatrix_iforeach$fwork{n:int} ( i: int, j: int, x: &(a) >> _, env: &(env) >> _ ) : void // end of [gmatrix_iforeach$fwork] fun{ a:t0p } gmatrix_iforeach {mo:mord}{m,n:int}{ld:int} ( M: &GMX(a, mo, m, n, ld) >> _, MORD(mo), int m, int n, int ld ) : void // end of [gmatrix_iforeach] fun{ a:t0p}{env:vt0p } gmatrix_iforeach_env {mo:mord}{m,n:int}{ld:int} ( M: &GMX(a, mo, m, n, ld) >> _, MORD(mo), int m, int n, int ld, env: &(env) >> _ ) : void // end of [gmatrix_iforeach_env] (* ****** ****** *) fun{a:t0p} gmatrix_imake$fopr (i: int, j: int, x: a): a fun{a:t0p} gmatrix_imake_arrayptr {mo:mord}{m,n:int}{ld:int} ( M: &GMX(a, mo, m, n, ld), mo: MORD(mo), int m, int n, int(ld) ) : arrayptr (a, m*n) // end of [gmatrix_imake_arrayptr] fun{a:t0p} gmatrix_imake_matrixptr {mo:mord}{m,n:int}{ld:int} ( M: &GMX(a, mo, m, n, ld), mo: MORD(mo), int m, int n, int(ld) ) : matrixptr (a, m, n) // end of [gmatrix_imake_matrixptr] (* ****** ****** *) abst@ype trmatrix_t0ype ( a:t@ype , mo: mord, ul: uplo, dg: diag, n:int, ld: int ) typedef trmatrix ( a:t0p, mo:mord, ul: uplo, dg: diag, n:int, ld:int ) = trmatrix_t0ype (a, mo, ul, dg, n, ld) viewdef trmatrix_v ( a:t0p, mo:mord, ul: uplo, dg: diag, l:addr, n:int, ld:int ) = trmatrix_t0ype (a, mo, ul, dg, n, ld) @ l // stadef TRMX = trmatrix stadef TRMX = trmatrix_v // (* ****** ****** *) // praxi trmatrix_flipord {a:t0p} {mo:mord} {ul:uplo} {dg:diag} {n:int}{ld:int} (M: &TRMX(a, mo, ul, dg, n, ld) >> TRMX(a, 1-mo, 1-ul, dg, n, ld)): void praxi trmatrix_v_flipord {a:t0p} {mo:mord} {ul:uplo} {dg:diag} {l:addr} {n:int}{ld:int} (pf: !TRMX(a, mo, ul, dg, l, n, ld) >> TRMX(a, 1-mo, 1-ul, dg, l, n, ld)): void // (* ****** ****** *) (* end of [gmatrix.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gfarray.sats0000664000175000017500000001107412655455557017320 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) // Time: December, 2012 // (* ****** ****** *) // // HX: generic arrays (fully indexed) // (* ****** ****** *) // // HX-2012-11-30: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gfarray" (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" // for handling integer sequences (* ****** ****** *) (* // HX: [stamped_vt] is introduced in prelude/basics_pre.sats *) (* ****** ****** *) dataview gfarray_v ( a:vt@ype+, addr, ilist ) = | {l:addr} gfarray_v_nil (a, l, ilist_nil) of () | {x:int}{xs:ilist}{l:addr} gfarray_v_cons (a, l, ilist_cons (x, xs)) of (stamped_vt (a, x) @ l, gfarray_v (a, l+sizeof(a), xs)) // end of [gfarray_v_cons] // end of [gfarray_v] (* ****** ****** *) prfun gfarray2array_v {a:vt@ype}{xs:ilist}{l:addr} (pf: gfarray_v (a, l, xs)): [n:nat] (LENGTH (xs, n), array_v (a, l, n)) // end of [gfarray2array_v] (* ****** ****** *) prfun gfarray_v_sing {a:vt@ype}{l:addr}{x:int} (pf: stamped_vt (a, x) @ l): gfarray_v (a, l, ilist_sing(x)) // end of [gfarray_v_sing] prfun gfarray_v_unsing {a:vt@ype}{l:addr}{x:int} (pf: gfarray_v (a, l, ilist_sing(x))): stamped_vt (a, x) @ l // end of [gfarray_v_unsing] (* ****** ****** *) prfun gfarray_v_split {a:vt0p} {l:addr} {xs:ilist} {n:int} {i:nat | i <= n} ( pflen: LENGTH (xs, n) , pfarr: gfarray_v (a, l, xs) ) : [xs1,xs2:ilist] ( LENGTH (xs1, i) , LENGTH (xs2, n-i) , APPEND (xs1, xs2, xs) , gfarray_v (a, l, xs1) , gfarray_v (a, l+i*sizeof(a), xs2) ) // end of [gfarray_v_split] (* ****** ****** *) prfun gfarray_v_unsplit {a:vt0p} {l:addr} {xs1,xs2:ilist} {n1:int} ( pflen: LENGTH (xs1, n1) , pfarr1: gfarray_v (a, l, xs1) , pfarr2: gfarray_v (a, l+n1*sizeof(a), xs2) ) : [xs:ilist] ( APPEND (xs1, xs2, xs), gfarray_v (a, l, xs) ) // end of [gfarray_v_unsplit] (* ****** ****** *) prfun gfarray_v_extend {a:vt0p} {l:addr} {xs:ilist}{x:int}{xsx:ilist} {n:nat} ( pflen: LENGTH (xs, n) , pfsnoc: SNOC (xs, x, xsx) , pfat: stamped_vt (a, x) @ l+n*sizeof(a) , pfarr: gfarray_v (a, l, xs) ) : gfarray_v (a, l, xsx) // endfun (* ****** ****** *) prfun gfarray_v_unextend {a:vt0p} {l:addr} {xs:ilist} {n:int | n > 0} ( pflen: LENGTH (xs, n) , pfarr: gfarray_v (a, l, xs) ) : [xsf:ilist;x:int] // xsf: the front ( SNOC (xsf, x, xs) , stamped_vt (a, x) @ l+(n-1)*sizeof(a), gfarray_v (a, l, xsf) ) (* end of [gfarray_v_unextend] *) (* ****** ****** *) fun {a:t0p} gfarray_get_at {l:addr} {x0:int}{xs:ilist} {i0:int} ( pf1: NTH(x0, xs, i0) , pf2: !gfarray_v (a, l, xs) | gp0: ptr (l), i0: size_t (i0) ) :<> stamped_t (a, x0) // end (* ****** ****** *) fun {a:t0p} gfarray_set_at {l:addr} {x0:int}{xs1:ilist}{xs2:ilist} {i0:int} ( pf1: UPDATE(x0, xs1, i0, xs2) , pf2: !gfarray_v(a, l, xs1) >> gfarray_v(a, l, xs2) | gp0: ptr (l), i0: size_t (i0), x0: stamped_t (a, x0) ) : void // end of [gfarray_set_at] (* ****** ****** *) fun {a:vt0p} gfarray_exch_at {l:addr} {x0:int}{x1:int} {xs1:ilist}{xs2:ilist} {i:int} ( pf1: NTH(x1, xs1, i) , pf2: UPDATE(x0, xs1, i, xs2) , pf3: !gfarray_v (a, l, xs1) >> gfarray_v (a, l, xs2) | p: ptr l, i: size_t i, x0: &stamped_vt (a, x0) >> stamped_vt (a, x1) ) : void // end of [gfarray_exch_at] (* ****** ****** *) (* end of [gfarray.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funset_listord.sats0000664000175000017500000000334712655455557020735 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** Functional set ** based on ordered lists ** ** Contributed by ** Hongwei Xi (hwxiATcsDOTbuDOTedu) ** Time: May 18, 2011 ** *) (* ****** ****** *) // // HX-2012-12: // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funset_listord" (* ****** ****** *) #include "./SHARE/funset.hats" (* ****** ****** *) // castfn funset2list{a:t0p} (xs: set(INV(a))):<> List0 (a) // (* ****** ****** *) (* end of [funset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funset_avltree.sats0000664000175000017500000000343212655455557020712 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional set implementation based on AVL trees ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May, 2011 // based on a version done in October, 2008 ** *) (* ****** ****** *) // // HX-2012-12: ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funset_avltree" (* ****** ****** *) #include "./SHARE/funset.hats" (* ****** ****** *) fun{a:t0p} funset_avltree_height (xs: set (a)):<> intGte (0) (* ****** ****** *) (* end of [funset_avltree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/deqarray.sats0000664000175000017500000001264012655455557017475 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** An array-based deque implementation ** *) (* ****** ****** *) (* ** ** Author: Hongwei Xi ** Authoremail: gmhwxi AT gmail DOT com ** Start time: September, 2013 ** *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.deqarray" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) %{# #include "libats/CATS/deqarray.cats" %} // end of [%{#] (* ****** ****** *) // absvtype deqarray_vtype (a:vt@ype+, m:int, n:int) = ptr // (* ****** ****** *) // stadef deqarray = deqarray_vtype // vtypedef deqarray (a:vt0p) = [m,n:int] deqarray_vtype (a, m, n) // (* ****** ****** *) abst@ype deqarray_tsize = $extype"atslib_deqarray_struct" (* ****** ****** *) praxi lemma_deqarray_param {a:vt0p}{m,n:int} (!deqarray (INV(a), m, n)): [m >= n; n >= 0] void // end of [lemma_deqarray_param] (* ****** ****** *) fun{a:vt0p} deqarray_make_cap {m:int} (cap: size_t(m)): deqarray (a, m, 0) // end of [deqarray_make_cap] (* ****** ****** *) fun deqarray_make_ngc__tsz {a:vt0p} {l:addr}{m:int} ( deqarray_tsize? @ l | ptr(l), arrayptr(a?, m+1), size_t(m), sizeof_t(a) ) : (mfree_ngc_v (l) | deqarray (a, m, 0)) = "mac#%" (* ****** ****** *) fun deqarray_free_nil {a:vt0p}{m:int} (deq: deqarray (a, m, 0)): void = "mac#%" // end of [deqarray_free_nil] (* ****** ****** *) // fun{a:vt0p} deqarray_get_size {m,n:int} (deq: !deqarray (INV(a), m, n)):<> size_t(n) fun{a:vt0p} deqarray_get_capacity {m,n:int} (deq: !deqarray (INV(a), m, n)):<> size_t(m) // (* ****** ****** *) // fun deqarray_is_nil {a:vt0p}{m,n:int} (deq: !deqarray (INV(a), m, n)):<> bool (n==0) = "mac#%" fun deqarray_isnot_nil {a:vt0p}{m,n:int} (deq: !deqarray (INV(a), m, n)):<> bool (n > 0) = "mac#%" // (* ****** ****** *) // fun{a:vt0p} deqarray_is_full{m,n:int} (deq: !deqarray (INV(a), m, n)):<> bool (m==n) = "mac#%" fun{a:vt0p} deqarray_isnot_full{m,n:int} (deq: !deqarray (INV(a), m, n)):<> bool (m > n) = "mac#%" // (* ****** ****** *) fun{} fprint_deqarray$sep (out: FILEref): void fun{a:vt0p} fprint_deqarray (out: FILEref, q: !deqarray (INV(a))): void fun{a:vt0p} fprint_deqarray_sep (out: FILEref, q: !deqarray (INV(a)), sep: string): void overload fprint with fprint_deqarray overload fprint with fprint_deqarray_sep (* ****** ****** *) fun{a:vt0p} deqarray_insert_atbeg {m,n:int | m > n} ( deq: !deqarray (INV(a),m,n) >> deqarray (a,m,n+1), x0: a ) : void // endfun fun{a:vt0p} deqarray_insert_atbeg_opt (deq: !deqarray (INV(a)) >> _, x0: a): Option_vt (a) // end of [deqarray_insert_atbeg_opt] (* ****** ****** *) fun{a:vt0p} deqarray_insert_atend {m,n:int | m > n} ( deq: !deqarray (INV(a),m,n) >> deqarray (a,m,n+1), x0: a ) : void // end-of-fun fun{a:vt0p} deqarray_insert_atend_opt (deq: !deqarray (INV(a)) >> _, x0: a): Option_vt (a) // end of [deqarray_insert_atend_opt] (* ****** ****** *) fun{a:vt0p} deqarray_takeout_atbeg {m,n:int | n > 0} ( deq: !deqarray (INV(a),m,n) >> deqarray (a,m,n-1) ) : (a) // end-of-fun fun{a:vt0p} deqarray_takeout_atbeg_opt (deq: !deqarray (INV(a)) >> _): Option_vt (a) // end of [deqarray_takeout_atbeg_opt] (* ****** ****** *) fun{a:vt0p} deqarray_takeout_atend {m,n:int | n > 0} ( deq: !deqarray (INV(a),m,n) >> deqarray (a,m,n-1) ) : (a) // end-of-fun fun{a:vt0p} deqarray_takeout_atend_opt (deq: !deqarray (INV(a)) >> _): Option_vt (a) // end of [deqarray_takeout_atend_opt] (* ****** ****** *) // fun{a:t0p} deqarray_get_at {m,n:int} (deq: !deqarray (INV(a), m, n), i: sizeLt(n)):<> (a) // fun{a:t0p} deqarray_set_at {m,n:int} (deq: !deqarray (INV(a), m, n), i: sizeLt(n), x: a): void // (* ****** ****** *) // fun{a:vt0p} deqarray_getref_at {m,n:int} (deq: !deqarray(INV(a), m, n), i: sizeLt(n)):<> cPtr1 (a) // (* ****** ****** *) fun{ a:vt0p}{env:vt0p } deqarray_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } deqarray_foreach$fwork (x: &a >> _, env: &(env) >> _): void fun{ a:vt0p } deqarray_foreach{m,n:int} (deq: !deqarray (INV(a), m, n)): void fun{ a:vt0p}{env:vt0p } deqarray_foreach_env{m,n:int} (deq: !deqarray (INV(a), m, n), env: &(env) >> _): void (* ****** ****** *) (* end of [deqarray.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funmap_avltree.sats0000664000175000017500000000355512655455557020702 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A functional map implementation based on AVL trees ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: May, 2011 // based on a version done in October, 2008 ** *) (* ****** ****** *) // // HX-2012-12: // It is ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.funmap_avltree" // (* ****** ****** *) #include "./SHARE/funmap.hats" (* ****** ****** *) // // HX: for the purpose of gathering statics // fun{ key:t0p;itm:t0p } funmap_avltree_height (map: map (key, itm)):<> intGte(0) // (* ****** ****** *) (* end of [funmap_avltree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gmatrix_col.sats0000664000175000017500000001724412655455557020202 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX-2013-07: // For matrices // (that is, 2D-arrays) of column-major style // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gmatcol" (* ****** ****** *) staload "libats/SATS/gvector.sats" staload "libats/SATS/gmatrix.sats" (* ****** ****** *) praxi lemma_gmatcol_param {a:t0p}{m,n:int}{ld:int} (M: &GMC(a, m, n, ld)): [m >= 1; n >= 0; ld >= m] void praxi lemma_gmatcol_v_param {a:t0p}{l:addr}{m,n:int}{ld:int} (pf: !GMC(a, l, m, n, ld)): [m >= 1; n >= 0; ld >= m] void (* ****** ****** *) // // HX: 0 for row // praxi gmatcol_v_renil0 {a1,a2:t0p} {l:addr}{n:int}{ld:int} (GMC(a1, l, 0, n, ld)): GMC(a2, l, 0, n, ld) // praxi gmatcol_v_cons0 {a:t0p}{l:addr} {m,n:int}{ld:int} ( GVT(a, l, n, ld) , GMC(a, l+sizeof(a), m, n, ld) ) : GMC(a, l, m+1, n, ld) praxi gmatcol_v_uncons0 {a:t0p}{l:addr} {m,n:int | m > 0}{ld:int} ( pf: GMC(a, l, m, n, ld) ) : ( GVT(a, l, n, ld), GMC(a, l+sizeof(a), m-1, n, ld) ) (* end of [gmatcol_v_uncons0] *) // (* ****** ****** *) // // HX: 1 for col // praxi gmatcol_v_renil1 {a1,a2:t0p} {l:addr}{m:int}{ld:int} (GMC(a1, l, m, 0, ld)): GMC(a2, l, m, 0, ld) // praxi gmatcol_v_cons1 {a:t0p}{l:addr} {m,n:int}{ld:int} ( GVT(a, l, m, 1) , GMC(a, l+ld*sizeof(a), m, n, ld) ) : GMC(a, l, m, n+1, ld) praxi gmatcol_v_uncons1 {a:t0p}{l:addr} {m,n:int | n > 0}{ld:int} ( pf: GMC(a, l, m, n, ld) ) : ( GVT(a, l, m, 1), GMC(a, l+ld*sizeof(a), m, n-1, ld) ) (* end of [gmatcol_v_uncons1] *) // (* ****** ****** *) praxi gmatcol_v_split_2x1 {a:t0p}{l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m} ( GMC(a, l, m, n, ld), int i ) : ( GMC(a, l , i , n, ld) , GMC(a, l+i*sizeof(a), m-i, n, ld) ) (* end of [gmatcol_v_split_2x1] *) praxi gmatcol_v_unsplit_2x1 {a:t0p}{l:addr} {i,i2,n:int}{ld:int} ( GMC(a, l , i , n, ld) , GMC(a, l+i*sizeof(a), i2, n, ld) ) : GMC(a, l, i+i2, n, ld) // end of [praxi] (* ****** ****** *) praxi gmatcol_v_split1x2 {a:t0p}{l:addr} {m,n:int}{ld:int} {j:nat | j <= n} ( GMC(a, l, m, n, ld), int j ) : ( GMC(a, l , m, j , ld) , GMC(a, l+j*ld*sizeof(a), m, n-j, ld) ) (* end of [gmatcol_v_split1x2] *) praxi gmatcol_v_unsplit1x2 {a:t0p}{l:addr} {m,j,j2:int}{ld:int} ( GMC(a, l , m, j , ld) , GMC(a, l+j*ld*sizeof(a), m, j2, ld) ) : GMC(a, l, m, j+j2, ld) // end of [praxi] (* ****** ****** *) praxi gmatcol_v_split_2x2 {a:t0p}{l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m; j <= n} ( GMC(a, l, m, n, ld), int i, int j ) : ( GMC(a, l , i , j , ld) , GMC(a, l +j*ld*sizeof(a), i , n-j, ld) , GMC(a, l+i*sizeof(a) , m-i, j , ld) , GMC(a, l+i*sizeof(a)+j*ld*sizeof(a), m-i, n-j, ld) ) (* end of [gmatcol_v_split_2x2] *) praxi gmatcol_v_unsplit_2x2 {a:t0p}{l:addr} {i,i2,j,j2:int}{ld:int} ( GMC(a, l , i , j , ld) , GMC(a, l +j*ld*sizeof(a), i , j2, ld) , GMC(a, l+i*sizeof(a) , i2, j , ld) , GMC(a, l+i*sizeof(a)+j*ld*sizeof(a), i2, j2, ld) ) : GMC(a, l, i+i2, j+j2, ld) // end of [praxi] (* ****** ****** *) fun{a:t0p} gmatcol_get_at {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n) ) : (a) // end of [gmatcol_get_at] fun{a:t0p} gmatcol_set_at {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n), x: a ) : void // end of [gmatcol_set_at] (* ****** ****** *) fun{a:t0p} gmatcol_getref_at {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n) ) : cPtr1(a) // end of [gmatcol_getref_at] (* ****** ****** *) fun{a:t0p} gmatcol_getref_row_at {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld), int(ld), i: natLt(m) ) : cPtr1(GVT(a, n, ld)) // endfun fun{a:t0p} gmatcol_getref_col_at {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld), int(ld), j: natLt(n) ) : cPtr1(GVT(a, m, 1(*d*))) // endfun (* ****** ****** *) fun{a:t0p} gmatcol_interchange_row {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld) , n: int n, int(ld), i1: natLt(m), i2: natLt(m) ) : void // end of [gmatcol_interchange_row] fun{a:t0p} gmatcol_interchange_col {m,n:int}{ld:int} ( M: &GMC(a, m, n, ld) , m: int m, int(ld), j1: natLt(n), j2: natLt(n) ) : void // end of [gmatcol_interchange_col] (* ****** ****** *) fun{a:t0p} gmatcol_copyto {m,n:int}{ld1,ld2:int} ( M1: &GMC(a, m, n, ld1) , M2: &GMC(a?, m, n, ld2) >> GMC(a, m, n, ld2) , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatcol_copyto] fun{a:t0p} gmatcol_transpto {m,n:int}{ld1,ld2:int} ( M1: &GMC(a, m, n, ld1) , M2: &GMC(a?, n, m, ld2) >> GMC(a, n, m, ld2) , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatcol_transpto] (* ****** ****** *) fun{a:t0p} gmatcol_ptr_split_2x2 {l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m; j <= n} ( pf: GMC(a, l, m, n, ld) | ptr(l), int(ld), int(i), int(j) ) : [l01,l10,l11:addr] ( GMC(a, l , i , j , ld) , GMC(a, l01, i , n-j, ld) , GMC(a, l10, m-i, j , ld) , GMC(a, l11, m-i, n-j, ld) , ( GMC(a, l , i , j , ld) , GMC(a, l01, i , n-j, ld) , GMC(a, l10, m-i, j , ld) , GMC(a, l11, m-i, n-j, ld) ) - GMC(a, l, m, n, ld) | ptr(l01), ptr(l10), ptr(l11) ) (* end of [gmatcol_ptr_split_2x2] *) (* ****** ****** *) fun{ a:t0p}{env:vt0p } gmatcol_foreachcol$fwork{m:int} ( col: &GVT (a, m, 1) >> _, m: int m, env: &(env) >> _ ) : void // end of [gmatcol_foreachcol$fwork] fun{ a:t0p } gmatcol_foreachcol{m,n:int}{ld:int} ( M: &gmatcol(a, m, n, ld) >> _, int(m), int(n), int(ld) ) : void // end of [gmatcol_foreachcol] fun{ a:t0p}{env:vt0p } gmatcol_foreachcol_env{m,n:int}{ld:int} ( M: &gmatcol(a, m, n, ld) >> _, int(m), int(n), int(ld), env: &(env) >> _ ) : void // end of [gmatcol_foreachcol_env] (* ****** ****** *) fun{ a1,a2:t0p}{env:vt0p } gmatcol_foreachcol2$fwork{m:int} ( col1: &GVT (a1, m, 1) >> _ , col2: &GVT (a2, m, 1) >> _ , m: int (m), env: &(env) >> _ ) : void // end of [gmatcol_foreachcol$fwork] fun{ a1,a2:t0p } gmatcol_foreachcol2 {m,n:int}{ld1,ld2:int} ( M1: &gmatcol(a1, m, n, ld1) >> _ , M2: &gmatcol(a2, m, n, ld2) >> _ , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatcol_foreachcol] fun{ a1,a2:t0p}{env:vt0p } gmatcol_foreachcol2_env {m,n:int}{ld1,ld2:int} ( M1: &gmatcol(a1, m, n, ld1) >> _ , M2: &gmatcol(a2, m, n, ld2) >> _ , int(m), int(n), int(ld1), int(ld2) , env: &(env) >> _ ) : void // end of [gmatcol_foreachcol2_env] (* ****** ****** *) (* end of [gmatrix_col.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/0000775000175000017500000000000012655455557015630 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/SATS/SHARE/linralist.hats0000664000175000017500000000721012655455557020512 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) (* ****** ****** *) // // HX: shared by linralist_nested // (* ****** ****** *) // // HX-2013-01: // the time-complexity for various functions operating on // random-access lists: // // linralist_cons: O(1) // amortized // linralist_uncons: O(1) // amortized // // linralist_length: O(log(n)) // // linralist_get_at: O(log(n)) // linralist_set_at: O(log(n)) // (* ****** ****** *) // // HX: indexed by list length // absvtype ralist_vtype (a:vt@ype+, n:int) // stadef ralist = ralist_vtype // vtypedef ralist (a:vt0p) = [n:int] ralist (a, n) vtypedef Ralist (a:vt0p) = [n:int] ralist (a, n) // (* ****** ****** *) prfun lemma_ralist_param {a:vt0p}{n:int} (xs: !ralist (INV(a), n)): [n >= 0] void // end of [lemma_ralist_param] (* ****** ****** *) fun{} linralist_nil{a:vt0p}():<> ralist (a, 0) fun{} linralist_make_nil{a:vt0p}():<> ralist (a, 0) (* ****** ****** *) fun{a:vt0p} linralist_cons {n:int} (x: a, xs: ralist (INV(a), n)):<> ralist (a, n+1) // end of [linralist_cons] fun{a:vt0p} linralist_uncons {n:pos} (xs: &ralist (INV(a), n) >> ralist (a, n-1)): a // end of [linralist_uncons] (* ****** ****** *) // fun{a:t0p} linralist_head {n:pos} (xs: !ralist (INV(a), n)):<> a fun{a:t0p} linralist_tail {n:pos} (xs: ralist (INV(a), n)): ralist (a, n-1) // (* ****** ****** *) // fun{} linralist_is_nil{a:vt0p} {n:int} (xs: !ralist (INV(a), n)):<> bool(n==0) fun{} linralist_is_cons{a:vt0p} {n:int} (xs: !ralist (INV(a), n)):<> bool(n > 0) // (* ****** ****** *) fun linralist_length{a:vt0p} {n:nat} (xs: !ralist (INV(a), n)):<> int (n) // end of [linralist_length] (* ****** ****** *) fun{a:vt0p} linralist_getref_at{n:int} (xs: !ralist (INV(a), n), i: natLt n):<> cPtr1 (a) // end of [linralist_getref_at] (* ****** ****** *) // fun{a:t0p} linralist_get_at{n:int} (xs: !ralist (INV(a), n), i: natLt n):<> a overload [] with linralist_get_at // fun{a:t0p} linralist_set_at{n:int} (xs: !ralist (INV(a), n), i: natLt n, x: a): void overload [] with linralist_set_at // (* ****** ****** *) fun{a:t0p} linralist_listize {n:int} (xs: !ralist (INV(a), n)): list_vt (a, n) // end of [linralist_listize] fun{a:vt0p} linralist_listize_free {n:int} (xs: ralist (INV(a), n)): list_vt (a, n) // end of [linralist_listize_free] (* ****** ****** *) (* end of [linralist.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/funmap.hats0000664000175000017500000001075312655455557020005 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) // // HX-2012-12: // for maps associating keys with items // of types [key] and [itm], respectively // abstype map_type (key:t@ype, itm:t@ype+) = ptr typedef map (key:t0p, itm:t0p) = map_type (key, itm) (* ****** ****** *) fun{key:t0p} equal_key_key (x1: key, x2: key):<> bool fun{key:t0p} compare_key_key (x1: key, x2: key):<> int (* ****** ****** *) fun{ } funmap_nil {key,itm:t0p} ():<> map (key, itm) fun{ } funmap_make_nil {key,itm:t0p} ():<> map (key, itm) (* ****** ****** *) fun{ } funmap_is_nil {key,itm:t0p} (map: map (key, INV(itm))):<> bool fun{ } funmap_isnot_nil {key,itm:t0p} (map: map (key, INV(itm))):<> bool (* ****** ****** *) // // HX-2012-12: this function is O(n)-time // fun{ key,itm:t@ype } funmap_size (map: map (key, INV(itm))):<> size_t // (* ****** ****** *) fun{ key,itm:t0p } funmap_search ( map: map (key, INV(itm)) , k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) fun{ key,itm:t0p } funmap_search_opt (map: map (key, INV(itm)), k0: key): Option_vt (itm) // end of [funmap_search_opt] (* ****** ****** *) // // HX-2012-12: // if [k0] occurs in [map], [x0] replaces the // item associated with [k0] in [map] while the // item is stored in [res] instead. // fun{ key,itm:t0p } funmap_insert ( map: &map (key, INV(itm)) >> _ , k0: key, x0: itm, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) fun{ key,itm:t0p } funmap_insert_opt ( map: &map (key, INV(itm)) >> _, k0: key, x0: itm ) : Option_vt (itm) // endfun (* ****** ****** *) // // HX-2012-12: // insertion always happens regardless whether // [k0] is associated with some item in [map] // fun{ key,itm:t0p } funmap_insert_any (map: &map (key, INV(itm)) >> _, k0: key, x0: itm): void // end of [funmap_insert_any] (* ****** ****** *) // fun{ key,itm:t0p } funmap_takeout ( &map (key, INV(itm)) >> _, k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) // end-of-function // fun{ key,itm:t0p } funmap_takeout_opt (map: &map (key, INV(itm)) >> _, k0: key) : Option_vt (itm) // (* ****** ****** *) fun{ key,itm:t0p } funmap_remove (map: &map (key, INV(itm)) >> _, k0: key): bool // end of [funmap_remove] (* ****** ****** *) // fun{} fprint_funmap$sep (out: FILEref): void // "; " fun{} fprint_funmap$mapto (out: FILEref): void // "->" // fun{ key,itm:t@ype } fprint_funmap (out: FILEref, map: map (key, INV(itm))): void // overload fprint with fprint_funmap // (* ****** ****** *) // fun {key:t0p ;itm:t0p} {env:vt0p} funmap_foreach$fwork (k: key, x: itm, env: &(env) >> _): void // end of [funmap_foreach$fwork] // fun{ key,itm:t0p } funmap_foreach(map: map (key, INV(itm))): void // fun {key:t0p ;itm:t0p} {env:vt0p} funmap_foreach_env (map: map (key, INV(itm)), env: &(env) >> _): void // end of [funmap_foreach_env] // (* ****** ****** *) fun{ key,itm:t0p } funmap_listize (xs: map (key, INV(itm))): List_vt @(key, itm) // end of [funmap_listize] (* ****** ****** *) // fun {key:t0p ;itm:t0p} {ki2:t0p} funmap_flistize$fopr (k: key, i: itm): ki2 fun {key:t0p ;itm:t0p} {ki2:t0p} funmap_flistize(xs: map (key, INV(itm))): List_vt (ki2) // (* ****** ****** *) (* end of [funmap.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/linheap.hats0000664000175000017500000000572412655455557020141 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: November, 2011 *) (* ****** ****** *) absvtype heap_vtype (a:vt@ype+) = ptr vtypedef heap (a:vt0p) = heap_vtype (a) (* ****** ****** *) fun{a:vt0p} compare_elt_elt (x1: &a, x2: &a):<> int (* ****** ****** *) fun{} linheap_nil {a:vt0p} ():<> heap (a) fun{} linheap_make_nil {a:vt0p} ():<> heap (a) (* ****** ****** *) fun{ } linheap_is_nil{a:vt0p}(hp: !heap (INV(a))):<> bool fun{ } linheap_isnot_nil{a:vt0p}(hp: !heap (INV(a))):<> bool (* ****** ****** *) fun{a:vt0p} linheap_size (hp: !heap (INV(a))):<> size_t (* ****** ****** *) fun{a:vt0p} linheap_insert (hp: &heap (INV(a)) >> _, x: a): void (* ****** ****** *) fun{a:t0p} linheap_getmin ( hp: !heap (INV(a)), res: &a? >> opt (a, b) ) : #[b:bool] bool (b) // endfun fun{a:vt0p} linheap_getmin_ref (hp: !heap (INV(a))): cPtr0 (a) fun{a:t0p} linheap_getmin_opt (hp: !heap (INV(a))): Option_vt (a) (* ****** ****** *) fun{a:vt0p} linheap_delmin ( hp: &heap (INV(a)) >> _, res: &a? >> opt (a, b) ) : #[b:bool] bool b // endfun fun{a:vt0p} linheap_delmin_opt (hp: &heap (INV(a)) >> _): Option_vt (a) (* ****** ****** *) fun{a:vt0p} linheap_merge (hp1: heap (INV(a)), hp2: heap (a)): heap (a) // end of [linheap_merge] (* ****** ****** *) fun{a:t0p} linheap_free (hp: heap (INV(a))): void (* ****** ****** *) fun{x:vt0p} linheap_freelin$clear (x: &x >> x?): void fun{a:vt0p} linheap_freelin (hp: heap (INV(a))): void (* ****** ****** *) // // HX: a heap is freed only if it is empty // fun{a:vt0p} linheap_free_ifnil (hp: !heap (INV(a)) >> opt (heap (a), b)) :<> #[b:bool] bool(b) // end of [linheap_free_ifnil] (* ****** ****** *) (* end of [linheap.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/linset.hats0000664000175000017500000001025112655455557020006 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linset_listord (* ordered list *) // HX: shared by linset_avltree (* AVL-tree-based *) // (* ****** ****** *) // // HX-2013-02: // for sets of nonlinear elements // absvtype set_vtype (a:t@ype+) = ptr // (* ****** ****** *) vtypedef set (a:t0p) = set_vtype (a) (* ****** ****** *) fun{a:t0p} compare_elt_elt (x1: a, x2: a):<> int (* ****** ****** *) fun{} linset_nil{a:t0p} ():<> set(a) fun{} linset_make_nil{a:t0p} ():<> set(a) (* ****** ****** *) fun{a:t0p} linset_sing (x: a): set(a) fun{a:t0p} linset_make_sing (x: a): set(a) (* ****** ****** *) fun{a:t0p} linset_make_list (xs: List(INV(a))): set(a) (* ****** ****** *) fun{} linset_is_nil {a:t0p} (xs: !set(INV(a))):<> bool fun{} linset_isnot_nil {a:t0p} (xs: !set(INV(a))):<> bool (* ****** ****** *) fun{a:t0p} linset_size (!set(INV(a))): size_t (* ****** ****** *) fun{a:t0p} linset_is_member (xs: !set(INV(a)), x0: a):<> bool fun{a:t0p} linset_isnot_member (xs: !set(INV(a)), x0: a):<> bool (* ****** ****** *) fun{a:t0p} linset_copy (!set(INV(a))): set(a) fun{a:t0p} linset_free (xs: set(INV(a))): void (* ****** ****** *) // fun{a:t0p} linset_insert (xs: &set(INV(a)) >> _, x0: a): bool // (* ****** ****** *) // fun{a:t0p} linset_takeout ( &set(INV(a)) >> _, a, res: &(a?) >> opt(a, b) ) : #[b:bool] bool(b) // endfun fun{a:t0p} linset_takeout_opt (&set(INV(a)) >> _, a): Option_vt(a) // (* ****** ****** *) // fun{a:t0p} linset_remove (xs: &set(INV(a)) >> _, x0: a): bool // (* ****** ****** *) // // HX: choosing an element in an unspecified manner // fun{a:t0p} linset_choose ( xs: !set(INV(a)), x: &a? >> opt (a, b) ) : #[b:bool] bool(b) // fun{a:t0p} linset_choose_opt (xs: !set(INV(a))): Option_vt(a) // (* ****** ****** *) fun{a:t0p} linset_takeoutmax ( xs: &set(INV(a)) >> _, res: &a? >> opt(a, b) ) : #[b:bool] bool (b) fun{a:t0p} linset_takeoutmax_opt (xs: &set(INV(a)) >> _): Option_vt(a) (* ****** ****** *) fun{a:t0p} linset_takeoutmin ( xs: &set(INV(a)) >> _, res: &a? >> opt(a, b) ) : #[b:bool] bool (b) fun{a:t0p} linset_takeoutmin_opt (xs: &set(INV(a)) >> _): Option_vt(a) (* ****** ****** *) // fun{} fprint_linset$sep (FILEref): void // ", " // fun{a:t0p} fprint_linset (out: FILEref, xs: !set(INV(a))): void // overload fprint with fprint_linset // (* ****** ****** *) // fun{ a:t0p}{env:vt0p } linset_foreach$fwork (x: a, env: &(env) >> _): void // fun{a:t0p} linset_foreach (set: !set(INV(a))): void fun{ a:t0p}{env:vt0p } linset_foreach_env (set: !set(INV(a)), env: &(env) >> _): void // end of [linset_foreach_env] // (* ****** ****** *) fun{a:t0p} linset_listize (xs: set(INV(a))): List0_vt (a) (* ****** ****** *) fun{a:t0p} linset_listize1 (xs: !set(INV(a))): List0_vt (a) (* ****** ****** *) (* end of [linset.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/fundeque.hats0000664000175000017500000001034012655455557020323 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // HX: shared by fundeque_fngtree // (* ****** ****** *) // // HX: indexed by deque size // abstype deque_type (elt:t@ype+, n:int) = ptr // (* ****** ****** *) // stadef deque = deque_type typedef deque (a:t0p) = [n:int] deque (a, n) typedef Deque (a:t0p) = [n:int] deque (a, n) // (* ****** ****** *) prfun lemma_deque_size {a:t0p}{n:int} (xs: deque (INV(a), n)): int (n) // end of [lemma_deque_size] prfun lemma_deque_param {a:t0p}{n:int} (xs: deque (INV(a), n)): [n >= 0] void // end of [lemma_deque_param] (* ****** ****** *) fun{} fundeque_nil{a:t0p} ():<> deque (a, 0) (* ****** ****** *) fun{a:t0p} fundeque_cons{n:int} (x: a, xs: deque (INV(a), n)):<> deque (a, n+1) // end of [fundeque_cons] fun{a:t0p} fundeque_uncons{n:pos} (xs: &deque (INV(a), n) >> deque (a, n-1)): (a) // end of [fundeque_uncons] (* ****** ****** *) fun{a:t0p} fundeque_snoc{n:int} (xs: deque (INV(a), n), x: a):<> deque (a, n+1) // end of [fundeque_snoc] fun{a:t0p} fundeque_unsnoc{n:pos} (xs: &deque (INV(a), n) >> deque (a, n-1)): (a) // end of [fundeque_unsnoc] (* ****** ****** *) fun{ } fundeque_is_nil {a:t0p}{n:int} (xs: deque (INV(a), n)):<> bool (n==0) // end of [fundeque_is_nil] fun{ } fundeque_is_cons {a:t0p}{n:int} (xs: deque (INV(a), n)):<> bool (n > 0) // end of [fundeque_is_cons] (* ****** ****** *) fun fundeque_size {a:t0p}{n:int} (xs: deque (INV(a), n)):<> size_t (n) // end of [fundeque_size] (* ****** ****** *) fun{a:t0p} fundeque_get_atbeg {n:pos} (xs: deque (INV(a), n)):<> (a) fun{a:t0p} fundeque_get_atbeg_opt (xs: Deque (INV(a))):<> Option_vt(a) (* ****** ****** *) fun{a:t0p} fundeque_get_atend {n:pos} (xs: deque (INV(a), n)):<> (a) fun{a:t0p} fundeque_get_atend_opt (xs: Deque (INV(a))):<> Option_vt(a) (* ****** ****** *) fun{a:t0p} fundeque_takeout_atbeg_opt (xs: &Deque (INV(a)) >> _): Option_vt (a) // end of [fundeque_takeout_atbeg_opt] fun{a:t0p} fundeque_takeout_atend_opt (xs: &Deque (INV(a)) >> _): Option_vt (a) // end of [fundeque_takeout_atend_opt] (* ****** ****** *) fun fundeque_append {a:t0p}{n1,n2:int} ( xs1: deque (INV(a), n1), xs2: deque (a, n2) ) :<> deque (a, n1+n2) // endfun (* ****** ****** *) fun{} fprint_fundeque$sep (out: FILEref): void fun{a:t0p} fprint_fundeque (out: FILEref, xs: Deque (INV(a))): void overload fprint with fprint_fundeque (* ****** ****** *) // fun{ a:t0p}{env:vt0p } fundeque_foreach$fwork (x: a, env: &env>>_): void // fun{a:t0p} fundeque_foreach (xs: Deque (INV(a))): void fun{ a:t0p}{env:vt0p } fundeque_foreach_env (xs: Deque (INV(a)), env: &(env)>>_): void // (* ****** ****** *) // fun{ a:t0p}{env:vt0p } fundeque_rforeach$fwork (x: a, env: &env>>_): void // fun{a:t0p} fundeque_rforeach (xs: Deque (INV(a))): void fun{ a:t0p}{env:vt0p } fundeque_rforeach_env (xs: Deque (INV(a)), env: &(env)>>_): void // (* ****** ****** *) fun{a:t0p} fundeque_listize {n:int} (xs: deque (INV(a), n)): list_vt (a, n) // end of [fundeque_listize] (* ****** ****** *) (* end of [fundeque.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/funset.hats0000664000175000017500000001124312655455557020016 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) // abstype set_type (a:t@ype+) = ptr typedef set (a:t0p) = set_type (a) // (* ****** ****** *) fun{a:t0p} compare_elt_elt (x1: a, x2: a):<> int (* ****** ****** *) fun{} funset_nil {a:t0p} ():<> set(a) fun{} funset_make_nil {a:t0p} ():<> set(a) fun{a:t0p} funset_sing (x0: a):<> set(a) // singleton set fun{a:t0p} funset_make_sing (x0: a):<> set(a) // singleton set (* ****** ****** *) fun{a:t0p} funset_make_list (xs: List(INV(a))):<> set(a) (* ****** ****** *) fun{} funset_is_nil {a:t0p} (xs: set(INV(a))):<> bool fun{} funset_isnot_nil {a:t0p} (xs: set(INV(a))):<> bool (* ****** ****** *) fun{a:t0p} funset_size (xs: set(INV(a))):<> size_t (* ****** ****** *) fun{a:t0p} funset_is_member (xs: set(INV(a)), x0: a):<> bool fun{a:t0p} funset_isnot_member (xs: set(INV(a)), x0: a):<> bool (* ****** ****** *) fun{a:t0p} funset_insert (xs: &set(INV(a)) >> _, x0: a): bool(*[x0] in [xs]*) // end of [funset_insert] fun{a:t0p} funset_remove (xs: &set(INV(a)) >> _, x0: a): bool(*[x0] in [xs]*) // end of [funset_remove] (* ****** ****** *) fun{a:t0p} funset_getmax ( xs: set(INV(a)), x0: &a? >> opt(a, b) ) : #[b:bool] bool(b) // endfun fun{a:t0p} funset_getmax_opt (xs: set(INV(a))):<> Option_vt (a) fun{a:t0p} funset_getmin ( xs: set(INV(a)), x0: &a? >> opt(a, b) ) : #[b:bool] bool(b) // endfun fun{a:t0p} funset_getmin_opt (xs: set(INV(a))):<> Option_vt (a) (* ****** ****** *) fun{a:t0p} funset_takeoutmax ( xs: &set(INV(a)) >> _, x0: &a? >> opt(a, b) ) : #[b:bool] bool (b) fun{a:t0p} funset_takeoutmax_opt (xs: &set(INV(a)) >> _):<> Option_vt(a) (* ****** ****** *) fun{a:t0p} funset_takeoutmin ( xs: &set(INV(a)) >> _, x0: &a? >> opt(a, b) ) : #[b:bool] bool (b) fun{a:t0p} funset_takeoutmin_opt (xs: &set(INV(a)) >> _):<> Option_vt(a) (* ****** ****** *) fun{a:t0p} funset_union (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_intersect (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_differ (xs1: set(INV(a)), xs2: set(a)):<> set(a) fun{a:t0p} funset_symdiff (xs1: set(INV(a)), xs2: set(a)):<> set(a) (* ****** ****** *) fun{a:t0p} funset_equal (xs1: set(INV(a)), xs2: set(a)):<> bool (* ****** ****** *) // // set ordering induced by the ordering on elements // fun{a:t0p} funset_compare (xs1: set(INV(a)), xs2: set(a)):<> Sgn // (* ****** ****** *) fun{a:t0p} funset_is_subset (xs1: set(INV(a)), xs2: set(a)):<> bool fun{a:t0p} funset_is_supset (xs1: set(INV(a)), xs2: set(a)):<> bool (* ****** ****** *) // fun{} fprint_funset$sep (out: FILEref): void // ", " // fun{a:t0p} fprint_funset (out: FILEref, xs: set(INV(a))): void fun{a:t0p} fprint_funset_sep (out: FILEref, xs: set(INV(a)), sep: string): void // overload fprint with fprint_funset // (* ****** ****** *) // fun{ a:t0p}{env:vt0p } funset_foreach$fwork (x: a, env: &(env) >> _): void // fun{a:t0p} funset_foreach (set: set(INV(a))): void fun{ a:t0p}{env:vt0p } funset_foreach_env (set: set(INV(a)), env: &(env) >> _): void // end of [funset_foreach_env] // (* ****** ****** *) // fun {a:t0p} funset_tabulate{n:nat}(n: int(n)): set(a) fun {a:t0p} funset_tabulate$fopr (index: intGte(0)): (a) // (* ****** ****** *) fun{a:t0p} funset_listize (xs: set(INV(a))): List0_vt (a) (* ****** ****** *) fun{ a:t0p}{b:t0p } funset_flistize$fopr (x: a): b fun{ a:t0p}{b:t0p } funset_flistize (xs: set(INV(a))): List0_vt (b) (* ****** ****** *) (* end of [funset.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/linmap.hats0000664000175000017500000001302712655455557017774 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linmap_avltree // HX: shared by linmap_list (* unordered list *) // HX: shared by linmap_randbst // HX: shared by linmap_skiplst // (* ****** ****** *) absvtype map_vtype (key:t@ype, itm:vt@ype+) = ptr stadef map = map_vtype (* ****** ****** *) sortdef t0p = t@ype and vt0p = vt@ype (* ****** ****** *) fun{key:t0p} equal_key_key (x1: key, x2: key):<> bool fun{key:t0p} compare_key_key (x1: key, x2: key):<> int (* ****** ****** *) fun{} linmap_nil {key:t0p;itm:vt0p} ():<> map (key, itm) fun{} linmap_make_nil {key:t0p;itm:vt0p} (): map (key, itm) (* ****** ****** *) fun{ } linmap_is_nil {key:t0p;itm:vt0p} (map: !map (key, INV(itm))):<> bool // end of [listmap_is_nil] fun{ } linmap_isnot_nil {key:t0p;itm:vt0p} (map: !map (key, INV(itm))):<> bool // end of [listmap_isnot_nil] (* ****** ****** *) // // HX: this function is O(1) // fun{ key:t0p;itm:vt0p } linmap_size (map: !map (key, INV(itm))):<> size_t // (* ****** ****** *) fun{ key:t0p;itm:t0p } linmap_search ( !map (key, INV(itm)), key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) (*found*) // endfun fun{ key:t0p;itm:vt0p } linmap_search_ref (map: !map (key, INV(itm)), k0: key): cPtr0 (itm) // end of [linmap_search_ref] fun{ key:t0p;itm:t0p } linmap_search_opt (map: !map (key, INV(itm)), k0: key): Option_vt (itm) // end of [linmap_search_opt] (* ****** ****** *) // // HX-2012-12: // if [k0] occurs in [map], [x0] replaces the // item associated with [k0] in [map] while the // item is stored in [res] instead. // fun{ key:t0p;itm:vt0p } linmap_insert ( &map (key, INV(itm)) >> _, key, itm, res: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) // endfun fun{ key:t0p;itm:vt0p } linmap_insert_opt (map: &map (key, INV(itm)) >> _, k0: key, x0: itm): Option_vt (itm) // end of [linmap_insert_opt] (* ****** ****** *) // // HX-2012-12: // insertion always happens regardless whether // [k0] is associated with some item in [map] // fun{ key:t0p;itm:vt0p } linmap_insert_any (map: &map (key, INV(itm)) >> _, k0: key, x0: itm): void // end of [linmap_insert_any] (* ****** ****** *) fun{ key:t0p;itm:vt0p } linmap_takeout ( &map (key, INV(itm)) >> _, key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) // endfun fun{ key:t0p;itm:vt0p } linmap_takeout_opt (map: &map (key, INV(itm)) >> _, k0: key): Option_vt (itm) // end of [linmap_takeout_opt] (* ****** ****** *) fun{ key:t0p;itm:t0p } linmap_remove ( map: &map (key, INV(itm)) >> _, k0: key): bool // end of [linmap_remove] (* ****** ****** *) // fun{ } fprint_linmap$sep (out: FILEref): void // "; " fun{ } fprint_linmap$mapto (out: FILEref): void // "->" // fun{ key,itm:t@ype } fprint_linmap (out: FILEref, map: !map (key, INV(itm))): void // overload fprint with fprint_linmap // (* ****** ****** *) fun {key:t0p ;itm:vt0p} {env:vt0p} linmap_foreach$fwork (k: key, x: &itm >> _, env: &(env) >> _): void // end of [linmap_foreach$fwork] fun{ key:t0p;itm:vt0p } linmap_foreach (map: !map (key, INV(itm))): void // end of [linmap_foreach] fun {key:t0p ;itm:vt0p} {env:vt0p} linmap_foreach_env (map: !map (key, INV(itm)), env: &(env) >> _): void // end of [linmap_foreach_env] (* ****** ****** *) fun{ key:t0p;itm:t0p } linmap_free (map: map (key, INV(itm))): void (* ****** ****** *) fun{ itm:vt0p } linmap_freelin$clear (x: &itm >> _?): void fun{ key:t0p;itm:vt0p } linmap_freelin (map: map (key, INV(itm))): void (* ****** ****** *) // // HX-2013: // a linmap can be properly freed only if it is empty // fun{ key:t0p;itm:vt0p } linmap_free_ifnil ( map: !map (key, INV(itm)) >> opt (map (key, itm), b) ) : #[b:bool] bool(b) (*~freed*) // endfun // (* ****** ****** *) // // HX: traversal fashion is unspecified // (* ****** ****** *) // fun {key:t0p ;itm:vt0p} {ki2:vt0p} linmap_flistize$fopr (k: key, x: itm): ki2 fun {key:t0p ;itm:vt0p} {ki2:vt0p} linmap_flistize (map: map (key, INV(itm))): List_vt (ki2) // (* ****** ****** *) fun {key:t0p ;itm:vt0p} linmap_listize (map: map (key, INV(itm))): List_vt @(key, itm) // end of [linmap_listize] fun{ key,itm:t0p } linmap_listize1 (map: !map (key, INV(itm))): List_vt @(key, itm) // end of [linmap_listize1] (* ****** ****** *) (* end of [linmap.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/funralist.hats0000664000175000017500000001026712655455557020526 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) // // HX: shared by funralist_nested // (* ****** ****** *) // // HX-2013-01: // the time-complexity for various functions operating on // random-access lists: // // funralist_cons: O(1) // amortized // funralist_uncons: O(1) // amortized // // funralist_length: O(log(n)) // // funralist_lookup: O(log(n)) // funralist_update: O(log(n)) // (* ****** ****** *) // // HX: indexed by list length // abstype ralist_type (a:t@ype+, n:int) = ptr // (* ****** ****** *) // stadef ralist = ralist_type typedef ralist (a:t0p) = [n:int] ralist (a, n) typedef Ralist (a:t0p) = [n:int] ralist (a, n) // (* ****** ****** *) prfun lemma_ralist_param {a:t0p}{n:int} (xs: ralist (INV(a), n)): [n >= 0] void // end of [lemma_ralist_param] (* ****** ****** *) fun{} funralist_nil{a:t0p}():<> ralist (a, 0) fun{} funralist_make_nil{a:t0p}():<> ralist (a, 0) (* ****** ****** *) fun{a:t0p} funralist_make_list {n:int}(xs: list (INV(a), n)): ralist (a, n) // end of [funralist_make_list] (* ****** ****** *) fun{a:t0p} funralist_cons{n:int} (x: a, xs: ralist (INV(a), n)):<> ralist (a, n+1) // end of [funralist_cons] fun{a:t0p} funralist_uncons{n:pos} (xs: &ralist (INV(a), n) >> ralist (a, n-1)): a // end of [funralist_uncons] (* ****** ****** *) fun{ } funralist_is_nil {a:t0p}{n:int} (xs: ralist (INV(a), n)):<> bool(n==0) // end of [funralist_is_nil] fun{ } funralist_is_cons {a:t0p}{n:int} (xs: ralist (INV(a), n)):<> bool(n > 0) // end of [funralist_is_cons] (* ****** ****** *) fun{ } funralist_length {a:t0p}{n:nat} (xs: ralist (INV(a), n)):<> int (n) // end of [funralist_length] (* ****** ****** *) fun{a:t0p} funralist_head {n:pos} (xs: ralist (INV(a), n)):<> a fun{a:t0p} funralist_tail {n:pos} (xs: ralist (INV(a), n)):<> ralist (a, n-1) // end of [funralist_tail] (* ****** ****** *) fun{a:t0p} funralist_get_at{n:int} (xs: ralist (INV(a), n), i: natLt n):<> a fun{a:t0p} funralist_lookup{n:int} (xs: ralist (INV(a), n), i: natLt n):<> a // overload [] with funralist_get_at // (* ****** ****** *) fun{a:t0p} funralist_set_at{n:int} ( xs: ralist (INV(a), n), i: natLt n, x0: a ) :<> ralist (a, n) // endfun fun{a:t0p} funralist_update{n:int} ( xs: ralist (INV(a), n), i: natLt n, x0: a ) :<> ralist (a, n) // endfun (* ****** ****** *) fun{} fprint_funralist$sep (out: FILEref): void fun{a:t0p} fprint_funralist (out: FILEref, xs: Ralist(INV(a))): void overload fprint with fprint_funralist (* ****** ****** *) // fun{a:t0p}{env:vt0p} funralist_foreach$fwork (x: a, env: &(env) >> _): void // fun{a:t0p} funralist_foreach (xs: Ralist (INV(a))): void fun{a:t0p}{env:vt0p} funralist_foreach_env (xs: Ralist (INV(a)), env: &(env)>>env): void // (* ****** ****** *) fun{a:t0p} funralist_listize {n:int} (xs: ralist (INV(a), n)): list_vt (a, n) // end of [funralist_listize] (* ****** ****** *) (* end of [funralist.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/funmset.hats0000664000175000017500000000641412655455557020177 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) // abstype mset_type (a:t@ype+) = ptr typedef mset (a:t0p) = mset_type (a) // (* ****** ****** *) fun{a:t0p} compare_elt_elt (x1: a, x2: a):<> int (* ****** ****** *) fun{} funmset_nil {a:t0p} ():<> mset(a) fun{} funmset_make_nil {a:t0p} ():<> mset(a) (* ****** ****** *) // fun{a:t0p} funmset_sing (x0: a):<> mset(a) // singleton mset fun{a:t0p} funmset_make_sing (x0: a):<> mset(a) // singleton mset // (* ****** ****** *) fun{a:t0p} funmset_make_list (xs: List(INV(a))):<> mset(a) (* ****** ****** *) fun{} funmset_is_nil {a:t0p} (xs: mset(INV(a))):<> bool fun{} funmset_isnot_nil {a:t0p} (xs: mset(INV(a))):<> bool (* ****** ****** *) fun{a:t0p} funmset_size (xs: mset(INV(a))):<> size_t (* ****** ****** *) // fun{a:t0p} funmset_get_ntime (xs: mset(INV(a)), x0: a): intGte(0) // fun{a:t0p} funmset_is_member(xs: mset(INV(a)), x0: a): bool fun{a:t0p} funmset_isnot_member(xs: mset(INV(a)), x0: a): bool // (* ****** ****** *) // fun{a:t0p} funmset_insert(xs: &mset(INV(a)) >> _, x0: a): intGte(0) fun{a:t0p} funmset_remove(xs: &mset(INV(a)) >> _, x0: a): intGte(0) // (* ****** ****** *) // fun{a:t0p} funmset_insert2 (xs: &mset(INV(a)) >> _, n0: intGt(0), x0: a): intGte(0) fun{a:t0p} funmset_remove2 (xs: &mset(INV(a)) >> _, n0: intGt(0), x0: a): intGte(0) // (* ****** ****** *) // fun{a:t0p} funmset_union(xs: mset(INV(a)), ys: mset(a)): mset(a) fun{a:t0p} funmset_intersect(xs: mset(INV(a)), ys: mset(a)): mset(a) // (* ****** ****** *) // fun {a:t0p} funmset_foreach(xs: mset(INV(a))): void fun {a:t0p} {env:vt0p} funmset_foreach_env(xs: mset(INV(a)), env: &(env) >> _): void // fun{ a:t0p}{env:vt0p } funmset_foreach$fwork (n: intGt(0), x: a, env: &(env) >> _): void // (* ****** ****** *) // fun{} fprint_funmset$sep (out: FILEref): void // ", " // fun{a:t0p} fprint_funmset(out: FILEref, xs: mset(INV(a))): void fun{a:t0p} fprint_funmset_sep(out: FILEref, xs: mset(INV(a)), sep: string): void // overload fprint with fprint_funmset // (* ****** ****** *) (* end of [funmset.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/linmap_node.hats0000664000175000017500000000657312655455557021011 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linmap_list // (* ****** ****** *) absvtype linmap_node_vtype (key:t@ype, itm:vt@ype+, l:addr) = ptr(l) // end of [linmap_node_vtype] (* ****** ****** *) // stadef mynode = linmap_node_vtype // HX: local shorthand // vtypedef mynode (key:t0p, itm:vt0p) = [l:addr] mynode (key, itm, l) vtypedef mynode0 (key:t0p, itm:vt0p) = [l:addr | l >= null] mynode (key, itm, l) vtypedef mynode1 (key:t0p, itm:vt0p) = [l:addr | l > null] mynode (key, itm, l) // (* ****** ****** *) castfn mynode2ptr {key:t0p;itm:vt0p} {l:addr} (nx: !mynode (key, INV(itm), l)):<> ptr (l) // end of [mynode2ptr] (* ****** ****** *) // fun{} mynode_null {key:t0p;itm:vt0p} ():<> mynode (key, itm, null) // praxi mynode_free_null {key:t0p;itm:vt0p} (nx: mynode (key, itm, null)): void // (* ****** ****** *) fun{ key:t0p;itm:vt0p } mynode_make_keyitm (k: key, x: itm): mynode1 (key, itm) // end of [mynode_make_keyitm] (* ****** ****** *) fun{ key:t0p;itm:vt0p } mynode_get_key (nx: !mynode1 (key, INV(itm))):<> key fun{ key:t0p;itm:vt0p } mynode_getref_itm (nx: !mynode1 (key, INV(itm))):<> cPtr1 (itm) (* ****** ****** *) fun{ key:t0p;itm:vt0p } mynode_free_keyitm ( nx: mynode1(key, INV(itm)), k0: &key? >> _, x0: &itm? >> _ ) : void // end of [mynode_free_keyitm] fun{ key:t0p;itm:vt0p } mynode_getfree_itm (nx: mynode1 (key, INV(itm))): itm (* ****** ****** *) fun{ key:t0p;itm:vt0p } linmap_search_ngc (map: !map (key, INV(itm)), k0: key): Ptr0(*mynode*) // end of [linmap_search_ngc] (* ****** ****** *) fun{ key:t0p;itm:vt0p } linmap_insert_ngc ( map: &map (key, INV(itm)) >> _, nx: mynode1 (key, itm) ) : mynode0 (key, itm) // endfun fun{ key:t0p;itm:vt0p } linmap_insert_any_ngc ( map: &map (key, INV(itm)) >> _, nx: mynode1 (key, itm) ) : void // end of [linmap_insert_any_ngc] (* ****** ****** *) fun{ key:t0p;itm:vt0p } linmap_takeout_ngc (map: &map (key, INV(itm)) >> _, k0: key): mynode0 (key, itm) // end of [linmap_takeout_ngc] (* ****** ****** *) (* end of [linmap_node.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/hashtbl.hats0000664000175000017500000001236112655455557020141 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) (* ****** ****** *) // absvtype hashtbl_vtype (k:t@ype, i:vt@ype+) = ptr // vtypedef hashtbl (k:t0p, i:vt0p) = hashtbl_vtype (k, i) // (* ****** ****** *) fun{key:t0p} hash_key (x: key):<> ulint fun{key:t0p} equal_key_key (x1: key, x2: key):<> bool (* ****** ****** *) // // HX: for recapacitizing policy // fun{} hashtbl$recapacitize (): int // (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_make_nil (cap: sizeGte(1)): hashtbl (key, itm) (* ****** ****** *) // // HX: the number of stored elements // fun{} hashtbl_get_size {key:t0p;itm:vt0p} (p: !hashtbl (key, INV(itm))):<> size_t // end of [hashtbl_get_size] (* ****** ****** *) // // HX: the array size of the hashtable // fun{} hashtbl_get_capacity {key:t0p;itm:vt0p} (p: !hashtbl (key, INV(itm))):<> sizeGte(1) // end of [hashtbl_get_capacity] (* ****** ****** *) fun{ key:t0p;itm:t0p } hashtbl_search ( tbl: !hashtbl (key, INV(itm)) , k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b)(*found*) // end of [hashtbl_search] fun{ key:t0p;itm:vt0p } hashtbl_search_ref (tbl: !hashtbl (key, INV(itm)), k0: key): cPtr0 (itm) // end of [hashtbl_search_ref] fun{ key:t0p;itm:t0p } hashtbl_search_opt (tbl: !hashtbl (key, INV(itm)), k0: key): Option_vt (itm) // end of [hashtbl_search_opt] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_insert ( tbl: !hashtbl (key, INV(itm)) , k0: key, x0: itm, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) // endfun fun{ key:t0p;itm:vt0p } hashtbl_insert_opt (tbl: !hashtbl (key, INV(itm)), key, itm): Option_vt (itm) // end of [hashtbl_insert_opt] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_insert_any (!hashtbl (key, INV(itm)), key, itm): void // end of [hashtbl_insert_any] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_takeout ( tbl: !hashtbl (key, INV(itm)) , k0: key, res: &itm? >> opt (itm, b) ) : #[b:bool] bool (b) // endfun fun{ key:t0p;itm:vt0p } hashtbl_takeout_opt (!hashtbl (key, INV(itm)), key): Option_vt (itm) // end of [hashtbl_takeout_opt] (* ****** ****** *) fun{ key:t0p;itm:t0p } hashtbl_remove (tbl: !hashtbl (key, INV(itm)), k0: key): bool // end of [hashtbl_remove] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_exchange (tbl: !hashtbl (key, INV(itm)), k0: key, x0: &itm >> _): bool // end of [hashtbl_exchange] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_takeout_all (tbl: !hashtbl (key, INV(itm))): List0_vt @(key, itm) // end of [hashtbl_takeout_all] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_reset_capacity (tbl: !hashtbl (key, INV(itm)), cap2: sizeGte(1)): bool // end of [hashtbl_reset_capacity] (* ****** ****** *) fun{ key:t0p;itm:vt0p } hashtbl_adjust_capacity (!hashtbl (key, INV(itm))): bool (* ****** ****** *) // fun{ key,itm:t@ype } fprint_hashtbl (out: FILEref, tbl: !hashtbl (key, INV(itm))): void // overload fprint with fprint_hashtbl // fun{} fprint_hashtbl$sep (out: FILEref): void // default: fprint("; ") fun{} fprint_hashtbl$mapto (out: FILEref): void // default: fprint("->") // (* ****** ****** *) // fun {key:t0p ;itm:vt0p} hashtbl_foreach (tbl: !hashtbl (key, INV(itm))): void fun {key:t0p ;itm:vt0p} {env:vt0p} hashtbl_foreach_env (tbl: !hashtbl (key, INV(itm)), env: &env >> _): void // fun {key:t0p ;itm:vt0p} {env:vt0p} hashtbl_foreach$fwork (k: key, x: &itm >> _, &env >> _): void // (* ****** ****** *) fun {key:t0p ;itm:t0p} hashtbl_free (tbl: hashtbl (key, INV(itm))): void (* ****** ****** *) // fun {key:t0p ;itm:vt0p} {ki2:vt0p} hashtbl_flistize$fopr (k: key, x: itm): ki2 fun {key:t0p ;itm:vt0p} {ki2:vt0p} hashtbl_flistize (tbl: hashtbl (key, INV(itm))): List0_vt (ki2) // (* ****** ****** *) fun {key:t0p ;itm:vt0p} hashtbl_listize (tbl: hashtbl (key, INV(itm))): List0_vt @(key, itm) // end of [hashtbl_listize] fun{ key,itm:t0p } hashtbl_listize1 (tbl: !hashtbl (key, INV(itm))): List0_vt @(key, itm) // end of [hashtbl_listize1] (* ****** ****** *) (* end of [hashtbl.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/linset_node.hats0000664000175000017500000000611012655455557021012 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) // // HX: shared by linset_listord (* ordered list *) // HX: shared by linset_avltree (* AVL-tree-based *) // (* ****** ****** *) absvtype linset_node_vtype (a:t@ype+, l:addr) = ptr (* ****** ****** *) // // HX: local shorthand // stadef mynode = linset_node_vtype // vtypedef mynode (a:t0p) = [l:addr] mynode (a, l) vtypedef mynode0 (a:t0p) = [l:addr | l >= null] mynode (a, l) vtypedef mynode1 (a:t0p) = [l:addr | l > null] mynode (a, l) // (* ****** ****** *) castfn mynode2ptr {a:t0p}{l:addr} (nx: !mynode (INV(a), l)):<> ptr (l) // end of [mynode2ptr] overload ptrcast with mynode2ptr (* ****** ****** *) // fun{} mynode_null{a:t0p} ():<> mynode (a, null) // praxi mynode_free_null{a:t0p} (nx: mynode (a, null)): void // (* ****** ****** *) fun{a:t0p} mynode_make_elt (x: a): mynode1 (a) (* ****** ****** *) fun{} mynode_free{a:t0p} (mynode1 (a)): void (* ****** ****** *) fun{a:t0p} mynode_get_elt (nx: !mynode1 (INV(a))):<> a fun{a:t0p} mynode_set_elt{l:agz} (nx: !mynode (a?, l) >> mynode (a, l), x0: a): void // end of [mynode_set_elt] (* ****** ****** *) fun{a:t0p} mynode_getfree_elt (nx: mynode1 (INV(a))): a (* ****** ****** *) fun{a:t0p} linset_insert_ngc ( set: &set(INV(a)) >> _, nx0: mynode1 (a) ) : mynode0 (a) // endfun (* ****** ****** *) fun{a:t0p} linset_takeout_ngc (set: &set(INV(a)) >> _, x0: a): mynode0 (a) // end of [linset_takeout_ngc] (* ****** ****** *) fun{a:t0p} linset_takeoutmax_ngc (set: &set(INV(a)) >> _): mynode0 (a) // end of [linset_takeoutmax] (* ****** ****** *) fun{a:t0p} linset_takeoutmin_ngc (set: &set(INV(a)) >> _): mynode0 (a) // end of [linset_takeoutmin] (* ****** ****** *) (* end of [linset_node.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/SHARE/.keeper0000664000175000017500000000000012655455557017072 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/SATS/SHARE/lindeque.hats0000664000175000017500000000542212655455557020322 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) absvtype deque_vtype (a:vt@ype+, n:int) = ptr (* ****** ****** *) stadef deque = deque_vtype vtypedef deque (a:vt0p, n:int) = deque_vtype (a, n) vtypedef Deque (a:vt0p) = [n:int] deque (a, n) (* ****** ****** *) praxi lemma_deque_param {a:vt0p}{n:int} (dq: !deque (INV(a), n)): [n >= 0] void // end of [lemma_deque_param] (* ****** ****** *) fun{} lindeque_nil{a:vt0p} ():<> deque (a, 0) (* ****** ****** *) prfun lindeque_free_nil{a:vt0p} (dq: deque (a, 0)): void (* ****** ****** *) // fun{} lindeque_is_nil {a:vt0p}{n:int} (dq: !deque (INV(a), n)):<> bool (n==0) fun{} lindeque_isnot_nil {a:vt0p}{n:int} (dq: !deque (INV(a), n)):<> bool (n > 0) // (* ****** ****** *) fun{a:vt0p} lindeque_length {n:int} (dq: !deque (INV(a), n)):<> int (n) (* ****** ****** *) // fun{a:vt0p} lindeque_insert_at {n:int}{i:nat | i <= n} ( dq: &deque (INV(a), n) >> deque (a, n+1), i: int i, x: a ) : void // end of [lindeque_insert_at] // fun{a:vt0p} lindeque_insert_atbeg{n:int} (dq: &deque (INV(a), n) >> deque (a, n+1), x: a): void fun{a:vt0p} lindeque_insert_atend{n:int} (dq: &deque (INV(a), n) >> deque (a, n+1), x: a): void // (* ****** ****** *) // fun{a:vt0p} lindeque_takeout_at {n:int}{i:nat | i < n} ( dq: &deque (INV(a), n) >> deque (a, n-1), i: int i ) : a // end of [lindeque_takeout_at] // fun{a:vt0p} lindeque_takeout_atbeg{n:pos} (dq: &deque (INV(a), n) >> deque (a, n-1)): (a) fun{a:vt0p} lindeque_takeout_atend{n:pos} (dq: &deque (INV(a), n) >> deque (a, n-1)): (a) // (* ****** ****** *) (* end of [lindeque.hats] *) ATS2-Postiats-0.2.6/./libats/SATS/theGetters.sats0000664000175000017500000000424112655455557020001 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmmhwxiATgmailDOTcom // Start Time: September, 2015 // (* ****** ****** *) // (* // HX-2015-09-28: // Some templates for getters *) // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.theGetters" // (* ****** ****** *) // exception Exception_the_get_elt_exn of ((*void*)) // (* ****** ****** *) // fun{} the_getall_asz_hint((*void*)): sizeGte(1) // (* ****** ****** *) // fun{a:vt0p} the_get_elt ( x: &a? >> opt(a,b) ) : #[b:bool] bool(b) // fun{a:vt0p} the_getall_list(): List0_vt(a) fun{a:vt0p} the_getall_arrayptr (asz: &size_t? >> size_t(n)): #[n:int] arrayptr(a, n) // (* ****** ****** *) // fun{a:vt0p} the_get_elt_exn(): (a) fun{a:vt0p} the_getall_list_exn(): List0_vt(a) fun{a:vt0p} the_getall_rlist_exn(): List0_vt(a) // fun{a:vt0p} the_getall_arrayptr_exn (asz: &size_t? >> size_t(n)): #[n:int] arrayptr(a, n) // (* ****** ****** *) (* end of [theGetters.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gmatrix_row.sats0000664000175000017500000002024712655455557020231 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX-2013-07: // For matrices // (that is, 2D-arrays) of column-major style // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gmatrow" (* ****** ****** *) staload "libats/SATS/gvector.sats" staload "libats/SATS/gmatrix.sats" (* ****** ****** *) praxi lemma_gmatrow_param {a:t0p}{m,n:int}{ld:int} (M: &GMR(a, m, n, ld)): [m >= 0; n >= 1; ld >= n] void praxi lemma_gmatrow_v_param {a:t0p}{l:addr}{m,n:int}{ld:int} (pf: !GMR(a, l, m, n, ld)): [m >= 0; n >= 1; ld >= n] void (* ****** ****** *) praxi matrix2gmatrow {a:t0p}{l:addr}{m,n:int} (A: &matrix (INV(a), m, n) >> GMR(a, m, n, n)): void praxi matrix2gmatrow_v {a:t0p}{l:addr}{m,n:int} (pf: matrix_v (INV(a), l, m, n)): GMR(a, l, m, n, n) // end [matrix2gmatrow_v] (* ****** ****** *) praxi gmatrow2matrix {a:t0p}{l:addr}{m,n:int} (V: &GMR(a, m, n, n) >> matrix (a, m, n)): void // end [gmatrow2matrix] praxi gmatrow2matrix_v {a:t0p}{l:addr}{m,n:int} (pf: GMR(a, l, m, n, n)): matrix_v (a, l, m, n) // end [gmatrow2matrix_v] (* ****** ****** *) // // HX: 0 for row // praxi gmatrow_v_renil0 {a1,a2:t0p} {l:addr}{n:int}{ld:int} (GMR(a1, l, 0, n, ld)): GMR(a2, l, 0, n, ld) // praxi gmatrow_v_cons0 {a:t0p}{l:addr} {m,n:int}{ld:int} ( GVT(a, l, n, 1) , GMR(a, l+ld*sizeof(a), m, n, ld) ) : GMR(a, l, m+1, n, ld) praxi gmatrow_v_uncons0 {a:t0p}{l:addr} {m,n:int | m > 0}{ld:int} (GMR(a, l, m, n, ld)) : ( GVT(a, l, n, 1), GMR(a, l+ld*sizeof(a), m-1, n, ld) ) (* end of [gmatrow_v_uncons0] *) // (* ****** ****** *) // // HX: 1 for col // praxi gmatrow_v_renil1 {a1,a2:t0p} {l:addr}{m:int}{ld:int} (GMR(a1, l, m, 0, ld)): GMR(a2, l, m, 0, ld) // praxi gmatrow_v_cons1 {a:t0p}{l:addr} {m,n:int}{ld:int} ( GVT(a, l, m, ld) , GMR(a, l+sizeof(a), m, n, ld) ) : GMR(a, l, m, n+1, ld) // end of [gmatrow_v_cons2] praxi gmatrow_v_uncons1 {a:t0p}{l:addr} {m,n:int | n > 0}{ld:int} (GMR(a, l, m, n, ld)) : (GVT(a, l, m, ld), GMR(a, l+sizeof(a), m, n-1, ld)) // (* ****** ****** *) praxi gmatrow_v_split1x2 {a:t0p}{l:addr} {m,n:int}{ld:int} {j:nat | j <= n} ( GMR(a, l, m, n, ld), int j ) : ( GMR(a, l , m, j , ld) , GMR(a, l+j*sizeof(a), m, n-j, ld) ) (* end of [gmatrow_v_split1x2] *) praxi gmatrow_v_unsplit1x2 {a:t0p}{l:addr} {m,j,j2:int}{ld:int} ( GMR(a, l , m, j , ld) , GMR(a, l+j*sizeof(a), m, j2, ld) ) : GMR(a, l, m, j+j2, ld) // end of [praxi] (* ****** ****** *) praxi gmatrow_v_split_2x1 {a:t0p}{l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m} ( GMR(a, l, m, n, ld), int i ) : ( GMR(a, l , i , n, ld) , GMR(a, l+i*ld*sizeof(a), m-i, n, ld) ) (* end of [gmatrow_v_split_2x1] *) praxi gmatrow_v_unsplit_2x1 {a:t0p}{l:addr} {i,i2,n:int}{ld:int} ( GMR(a, l , i , n, ld) , GMR(a, l+i*ld*sizeof(a), i2, n, ld) ) : GMR(a, l, i+i2, n, ld) // end of [praxi] (* ****** ****** *) praxi gmatrow_v_split_2x2 {a:t0p}{l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m; j <= n} ( GMR(a, l, m, n, ld), int i, int j ) : ( GMR(a, l , i , j , ld) , GMR(a, l +j*sizeof(a), i , n-j, ld) , GMR(a, l+i*ld*sizeof(a) , m-i, j , ld) , GMR(a, l+i*ld*sizeof(a)+j*sizeof(a), m-i, n-j, ld) ) (* end of [gmatrow_v_split_2x2] *) praxi gmatrow_v_unsplit_2x2 {a:t0p}{l:addr} {i,i2,j,j2:int}{ld:int} ( GMR(a, l , i , j , ld) , GMR(a, l +j*sizeof(a), i , j2, ld) , GMR(a, l+i*ld*sizeof(a) , i2, j , ld) , GMR(a, l+i*ld*sizeof(a)+j*sizeof(a), i2, j2, ld) ) : GMR(a, l, i+i2, j+j2, ld) // end of [praxi] (* ****** ****** *) fun{a:t0p} gmatrow_get_at {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n) ) : (a) // end of [gmatrow_get_at] fun{a:t0p} gmatrow_set_at {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n), x: a ) : void // end of [gmatrow_set_at] (* ****** ****** *) fun{a:t0p} gmatrow_getref_at {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld), int(ld), i: natLt(m), j: natLt(n) ) : cPtr1(a) // end of [gmatrow_getref_at] (* ****** ****** *) fun{a:t0p} gmatrow_getref_row_at {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld), int(ld), i: natLt(m) ) : cPtr1(GVT(a, n, 1(*d*))) // endfun fun{a:t0p} gmatrow_getref_col_at {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld), int(ld), j: natLt(n) ) : cPtr1(GVT(a, m, ld)) // endfun (* ****** ****** *) fun{a:t0p} gmatrow_interchange_row {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld) , n: int n, int(ld), i1: natLt(m), i2: natLt(m) ) : void // end of [gmatrow_interchange_row] fun{a:t0p} gmatrow_interchange_col {m,n:int}{ld:int} ( M: &GMR(a, m, n, ld) , m: int m, int(ld), j1: natLt(n), j2: natLt(n) ) : void // end of [gmatrow_interchange_col] (* ****** ****** *) fun{a:t0p} gmatrow_copyto {m,n:int}{ld1,ld2:int} ( M1: &GMR(a, m, n, ld1) , M2: &GMR(a?, m, n, ld2) >> GMR(a, m, n, ld2) , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatrow_copyto] fun{a:t0p} gmatrow_transpto {m,n:int}{ld1,ld2:int} ( M1: &GMR(a, m, n, ld1) , M2: &GMR(a?, n, m, ld2) >> GMR(a, n, m, ld2) , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatrow_transpto] (* ****** ****** *) fun{a:t0p} gmatrow_ptr_split_2x2 {l:addr} {m,n:int}{ld:int} {i,j:nat | i <= m; j <= n} ( pf: GMR(a, l, m, n, ld) | ptr(l), int(ld), int(i), int(j) ) : [l01,l10,l11:addr] ( GMR(a, l , i , j , ld) , GMR(a, l01, i , n-j, ld) , GMR(a, l10, m-i, j , ld) , GMR(a, l11, m-i, n-j, ld) , ( GMR(a, l , i , j , ld) , GMR(a, l01, i , n-j, ld) , GMR(a, l10, m-i, j , ld) , GMR(a, l11, m-i, n-j, ld) ) - GMR(a, l, m, n, ld) | ptr(l01), ptr(l10), ptr(l11) ) (* end of [gmatrow_ptr_split_2x2] *) (* ****** ****** *) fun{ a:t0p}{env:vt0p } gmatrow_foreachrow$fwork{n:int} ( row: &GVT (a, n, 1) >> _, n: int n, env: &(env) >> _ ) : void // end of [gmatrow_foreachrow$fwork] fun{ a:t0p } gmatrow_foreachrow{m,n:int}{ld:int} ( M: &gmatrow(a, m, n, ld) >> _, int(m), int(n), int(ld) ) : void // end of [gmatrow_foreachrow] fun{ a:t0p}{env:vt0p } gmatrow_foreachrow_env{m,n:int}{ld:int} ( M: &gmatrow(a, m, n, ld) >> _, int(m), int(n), int(ld), env: &(env) >> _ ) : void // end of [gmatrow_foreachrow_env] (* ****** ****** *) fun{ a1,a2:t0p}{env:vt0p } gmatrow_foreachrow2$fwork{n:int} ( row1: &GVT (a1, n, 1) >> _ , row2: &GVT (a2, n, 1) >> _ , n: int (n), env: &(env) >> _ ) : void // end of [gmatrow_foreachrow$fwork] fun{ a1,a2:t0p } gmatrow_foreachrow2 {m,n:int}{ld1,ld2:int} ( M1: &gmatrow(a1, m, n, ld1) >> _ , M2: &gmatrow(a2, m, n, ld2) >> _ , int(m), int(n), int(ld1), int(ld2) ) : void // end of [gmatrow_foreachrow] fun{ a1,a2:t0p}{env:vt0p } gmatrow_foreachrow2_env {m,n:int}{ld1,ld2:int} ( M1: &gmatrow(a1, m, n, ld1) >> _ , M2: &gmatrow(a2, m, n, ld2) >> _ , int(m), int(n), int(ld1), int(ld2) , env: &(env) >> _ ) : void // end of [gmatrow_foreachrow2_env] (* ****** ****** *) (* end of [gmatrix_row.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gvector.sats0000664000175000017500000001320312655455557017332 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gvector" (* ****** ****** *) // // HX-2013-07: // generic vector: // element type, length/size, delta // abst@ype gvector_t0ype (a:t@ype, n:int, d:int) (*irregular*) // typedef gvector (a:t0p, n:int, d:int) = gvector_t0ype (a, n, d) // (* ****** ****** *) // viewdef gvector_v (a:t0p, l:addr, n:int, d:int) = gvector (a, n, d) @ l // (* ****** ****** *) stadef GVT = gvector stadef GVT = gvector_v (* ****** ****** *) // praxi lemma_gvector_param {a:t0p}{n:int}{d:int} (v: &GVT(a, n, d)): [n >= 0; d >= 1] void praxi lemma_gvector_v_param {a:t0p}{l:addr}{n:int}{d:int} (pf: !GVT(a, l, n, d)): [n >= 0; d >= 1] void // (* ****** ****** *) // (* // HX-2013-07: // Don't use [gmatrix_initize] // unless you know what you are doing *) praxi gvector_initize {a:t0p}{n:int}{d:int} (&GVT(a?, n, d) >> GVT(a, n, d)): void praxi gvector_uninitize {a:t0p}{n:int}{d:int} (&GVT(a, n, d) >> GVT(a?, n, d)): void // (* ****** ****** *) praxi array2gvector {a:t0p}{l:addr}{n:int} (A: &array(INV(a), n) >> GVT(a, n, 1)): void // end [array2gvector] praxi array2gvector_v {a:t0p}{l:addr}{n:int} (pf: array_v(INV(a), l, n)): GVT(a, l, n, 1) // end [array2gvector_v] (* ****** ****** *) praxi gvector2array {a:t0p}{l:addr}{n:int} (V: &GVT(a, n, 1) >> array (a, n)): void // end [gvector2array] praxi gvector2array_v {a:t0p}{l:addr}{n:int} (pf: GVT(a, l, n, 1)): array_v (a, l, n) // end [gvector2array_v] (* ****** ****** *) // praxi gvector_v_renil {a1,a2:t0p} {l:addr}{n:int}{d:int} (pf: GVT(a1, l, 0, d)): GVT(a2, l, 0, d) // praxi gvector_v_cons {a:t0p}{l:addr}{n:int}{d:int} ( pf1: a @ l, pf2: GVT(a, l+d*sizeof(a), n, d) ) : GVT(a, l, n+1, d) // endfun praxi gvector_v_uncons {a:t0p}{l:addr} {n:int | n > 0}{d:int} (pf: GVT(a, l, n, d)): (a @ l, GVT(a, l+d*sizeof(a), n-1, d)) // (* ****** ****** *) praxi gvector_v_split {a:t0p} {l:addr} {n:int}{d:int} {i:nat | i <= n} (GVT(a, l, n, d)): (GVT(a, l, i, d), GVT(a, l+i*d*sizeof(a), n-i, d)) // end of [gvector_v_split] praxi gvector_v_unsplit {a:t0p} {l:addr} {n1,n2:int}{d:int} (GVT(a, l, n1, d), GVT(a, l+n1*d*sizeof(a), n2, d)): GVT(a, l, n1+n2, d) // end of [gvector_v_unsplit] (* ****** ****** *) fun{a:t0p} gvector_get_at {n:int}{d:int} ( V: &GVT(a, n, d), d: int d, i: natLt(n) ) : a // end of [gvector_get_at] fun{a:t0p} gvector_set_at {n:int}{d:int} ( V: &GVT(a, n, d), d: int d, i: natLt(n), x: a ) : void // end of [gvector_set_at] fun{a:t0p} gvector_getref_at {n:int}{d:int} (V: &GVT(a, n, d), d: int d, i: natLt(n)): cPtr1(a) // end of [gvector_getref_at] (* ****** ****** *) fun{} fprint_gvector$sep (out: FILEref): void fun{a:t0p} fprint_gvector{n:int}{d:int} ( out: FILEref, V: &GVT(a, n, d), int n, int d ) : void // end of [fprint_gvector] (* ****** ****** *) fun{a:t0p} gvector_copyto {n:int}{d1,d2:int} ( V1: &GVT(a, n, d1) , V2: &GVT(a?, n, d2) >> GVT(a, n, d2), int(n), int(d1), int(d2) ) : void // end of [gvector_copyto] fun{a:t0p} gvector_exchange {n:int}{d1,d2:int} ( V1: &GVT(a, n, d1), V2: &GVT(a, n, d2), int(n), int(d1), int(d2) ) : void // end of [gvector_exchange] (* ****** ****** *) // fun{ a:t0p}{env:vt0p } gvector_foreach$cont {n:int}{d:int} (x: &a, env: &env): bool fun{ a:t0p}{env:vt0p } gvector_foreach$fwork {n:int}{d:int} (x: &a >> _, env: &env >> _): void // fun{a:t0p} gvector_foreach{n:int}{d:int} (V: &GVT(a, n, d) >> _, n: int n, d: int d): natLte(n) fun{ a:t0p}{env:vt0p } gvector_foreach_env{n:int}{d:int} ( V: &GVT(a, n, d) >> _, n: int n, d: int d, env: &(env) >> _ ) : natLte(n) // end of [gvector_foreach_env] // (* ****** ****** *) // fun{ a,b:t0p}{env:vt0p } gvector_foreach2$cont {n:int}{d:int} (x: &a, y: &b, env: &env): bool fun{ a,b:t0p}{env:vt0p } gvector_foreach2$fwork {n:int}{d:int} (x: &a >> _, y: &b >> _, env: &env >> _): void // fun{a,b:t0p} gvector_foreach2 {n:int}{d1,d2:int} ( V1: &GVT(a, n, d1) >> _ , V2: &GVT(b, n, d2) >> _ , n: int (n), d1: int (d1), d2: int (d2) ) : natLte(n) // end of [gvector_foreach2] fun{ a,b:t0p}{env:vt0p } gvector_foreach2_env {n:int}{d1,d2:int} ( V1: &GVT(a, n, d1) >> _ , V2: &GVT(b, n, d2) >> _ , n: int (n), d1: int (d1), d2: int (d2) , env: &env >> _ ) : natLte(n) // end of [gvector_foreach2_env] // (* ****** ****** *) (* end of [gvector.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linheap_binomial.sats0000664000175000017500000000314212655455557021154 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: November, 2011 *) (* ****** ****** *) // // HX-2012-12: ported to ATS/Postiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linheap_binomial" (* ****** ****** *) #include "./SHARE/linheap.hats" (* ****** ****** *) (* end of [linheap_binomial.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/athread.sats0000664000175000017500000001206712655455557017300 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmmhwxiATgmailDOTcom // Start Time: May, 2014 // (* ****** ****** *) // // An abstract thread interface // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.athread" // (* ****** ****** *) absview locked_v (l:addr) (* ****** ****** *) abstype spin_type (l:addr) = ptr(l) typedef spin (l:addr) = spin_type(l) typedef spin0 = [l:agez] spin_type(l) typedef spin1 = [l:addr | l > null] spin_type(l) (* ****** ****** *) absvtype spin_vtype (l:addr) = ptr(l) vtypedef spin_vt (l:addr) = spin_vtype(l) vtypedef spin0_vt = [l:agez] spin_vtype(l) vtypedef spin1_vt = [l:addr | l > null] spin_vtype(l) (* ****** ****** *) // castfn spin2ptr{l:addr} (spin(l)):<> ptr (l) castfn spin2ptr_vt{l:addr} (!spin_vt(l)):<> ptr (l) // overload ptrcast with spin2ptr overload ptrcast with spin2ptr_vt // (* ****** ****** *) castfn unsafe_spin_t2vt{l:addr}(spin(l)): spin_vt(l) castfn unsafe_spin_vt2t{l:addr}(!spin_vt(l)): spin(l) (* ****** ****** *) // fun{} spin_create ((*void*)): spin0 fun{} spin_create_exn ((*void*)): spin1 // (* ****** ****** *) fun{} spin_vt_destroy{l:addr}(spin_vt(l)): void (* ****** ****** *) // fun{} spin_lock{l:agz} (x: spin(l)): (locked_v(l) | void) fun{} spin_trylock{l:agz} (x: spin(l)): [b:bool] (option_v(locked_v(l), b) | bool(b)) fun{} spin_unlock{l:addr} (pf: locked_v(l) | x: spin(l)): void // (* ****** ****** *) abstype mutex_type (l:addr) = ptr(l) typedef mutex (l:addr) = mutex_type(l) typedef mutex0 = [l:agez] mutex_type(l) typedef mutex1 = [l:addr | l > null] mutex_type(l) (* ****** ****** *) absvtype mutex_vtype (l:addr) = ptr(l) vtypedef mutex_vt (l:addr) = mutex_vtype(l) (* ****** ****** *) // castfn mutex2ptr{l:addr} (mutex(l)):<> ptr (l) castfn mutex2ptr_vt{l:addr} (!mutex_vt(l)):<> ptr (l) // overload ptrcast with mutex2ptr overload ptrcast with mutex2ptr_vt // (* ****** ****** *) castfn unsafe_mutex_t2vt{l:addr}(mutex(l)): mutex_vt(l) castfn unsafe_mutex_vt2t{l:addr}(!mutex_vt(l)): mutex(l) (* ****** ****** *) // fun{} mutex_create ((*void*)): mutex0 fun{} mutex_create_exn ((*void*)): mutex1 // (* ****** ****** *) fun{} mutex_vt_destroy{l:addr}(mutex_vt(l)): void (* ****** ****** *) // fun{} mutex_lock{l:agz} (m: mutex(l)): (locked_v(l) | void) fun{} mutex_trylock{l:agz} (m: mutex(l)): [b:bool] (option_v(locked_v(l), b) | bool(b)) fun{} mutex_unlock{l:addr} (pf: locked_v(l) | m: mutex(l)): void // (* ****** ****** *) // abstype condvar_type(l:addr) = ptr(l) typedef condvar (l:addr) = condvar_type(l) typedef condvar0 = [l:agez] condvar_type(l) typedef condvar1 = [l:addr | l > null] condvar_type(l) // (* ****** ****** *) absvtype condvar_vtype (l:addr) = ptr(l) vtypedef condvar_vt (l:addr) = condvar_vtype(l) (* ****** ****** *) castfn condvar2ptr{l:addr} (condvar(l)):<> ptr (l) overload ptrcast with condvar2ptr castfn condvar2ptr_vt{l:addr} (!condvar_vt(l)):<> ptr (l) overload ptrcast with condvar2ptr_vt (* ****** ****** *) castfn unsafe_condvar_t2vt{l:addr}(condvar(l)): condvar_vt(l) castfn unsafe_condvar_vt2t{l:addr}(!condvar_vt(l)): condvar(l) (* ****** ****** *) // fun{} condvar_create (): condvar0 fun{} condvar_create_exn (): condvar1 // (* ****** ****** *) fun{} condvar_vt_destroy{l:addr}(condvar_vt(l)): void (* ****** ****** *) // fun{} condvar_signal (cvr: condvar1): void fun{} condvar_broadcast (cvr: condvar1): void // fun{} condvar_wait{l:addr} (pf: !locked_v(l) | cvr: condvar1, p: mutex (l)): void // (* ****** ****** *) typedef tid = lint (* ****** ****** *) // fun{} athread_create_funenv {env:vtype} ( tid: &tid? >> _ , fwork: (env) -> void, env: env ) : int(*err*) // fun{} athread_create_cloptr ( tid: &tid? >> _, fwork: () - void ) : int(*err*) fun{} athread_create_cloptr_exn (fwork: ((*void*)) - void): lint(*tid*) // (* ****** ****** *) (* end of [athread.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/ilist_prf.sats0000664000175000017500000003422712655455557017665 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) // // HX: reasoning about integer sequences // (* ****** ****** *) // // HX-2012-11-26: ported to ATS/Postiats // (* ****** ****** *) datasort ilist = | ilist_nil of () | ilist_cons of (int, ilist) // end of [ilist] (* ****** ****** *) stadef ilist_sing (x:int) = ilist_cons (x, ilist_nil) (* ****** ****** *) dataprop ILISTEQ (ilist, ilist) = {xs:ilist} ILISTEQ (xs, xs) of () // end of [ILISTEQ] (* ****** ****** *) // prfun ILISTEQ_refl{xs:ilist}(): ILISTEQ(xs, xs) // prfun ILISTEQ_symm {xs,ys:ilist}(ILISTEQ(xs, ys)): ILISTEQ(ys, xs) // prfun ILISTEQ_tran {xs,ys,zs:ilist} (ILISTEQ(xs, ys), ILISTEQ(ys, zs)): ILISTEQ(xs, zs) // (* ****** ****** *) dataprop ILISTEQ2 ( ilist, ilist ) = | ILISTEQ2nil ( ilist_nil, ilist_nil ) of ((*void*)) | {x:int} {xs1,xs2:ilist} ILISTEQ2cons ( ilist_cons (x, xs1) , ilist_cons (x, xs2) ) of ( ILISTEQ2 (xs1, xs2) ) // end of [ILISTEQ2cons] // end of [ILISTEQ2] (* ****** ****** *) prfun ILISTEQ2_elim {xs1,xs2:ilist} (pf: ILISTEQ2(xs1, xs2)): ILISTEQ (xs1, xs2) // end of [ILISTEQ2_elim] (* ****** ****** *) dataprop ISCONS (ilist) = {x:int}{xs:ilist} ISCONS (ilist_cons (x, xs)) // end of [ISCONS] dataprop ISEMP (ilist, bool) = | ISEMPnil (ilist_nil, true) | {x:int} {xs:ilist} ISEMPcons (ilist_cons (x, xs), false) // end of [ISEMP] (* ****** ****** *) dataprop LENGTH (ilist, int) = | LENGTHnil(ilist_nil, 0) of () | {x:int}{xs:ilist}{n:nat} LENGTHcons(ilist_cons (x, xs), n+1) of LENGTH (xs, n) // end of [LENGTH] prfun length_istot {xs:ilist} (): [n:nat] LENGTH (xs, n) prfun length_isfun {xs:ilist} {n1,n2:int} (pf1: LENGTH (xs, n1), pf2: LENGTH (xs, n2)): [n1==n2] void // end of [length_isfun] prfun length_isnat {xs:ilist} {n:int} (pf: LENGTH (xs, n)): [n>=0] void // end of [length_isnat] (* ****** ****** *) dataprop SNOC (ilist, int, ilist) = | {x:int} SNOCnil (ilist_nil, x, ilist_sing (x)) of () | {x0:int} {xs1:ilist} {x:int} {xs2:ilist} SNOCcons (ilist_cons (x0, xs1), x, ilist_cons (x0, xs2)) of SNOC (xs1, x, xs2) // end of [SNOC] (* ****** ****** *) prfun snoc_istot{xs:ilist}{x:int} (): [xsx:ilist] SNOC (xs, x, xsx) prfun snoc_isfun{xs:ilist}{x:int} {xsx1,xsx2:ilist} (pf1: SNOC (xs, x, xsx1), pf2: SNOC (xs, x, xsx2)): ILISTEQ (xsx1, xsx2) // end of [snoc_isfun] (* // HX-2012-12-13: proven *) prfun lemma_snoc_length {xs:ilist}{x:int}{xsx:ilist}{n:int} (pf1: SNOC (xs, x, xsx), pf2: LENGTH (xs, n)): LENGTH (xsx, n+1) // end of [lemma_snoc_length] (* ****** ****** *) dataprop APPEND (ilist, ilist, ilist) = | {ys:ilist} APPENDnil (ilist_nil, ys, ys) of () | {x:int} {xs:ilist} {ys:ilist} {zs:ilist} APPENDcons (ilist_cons (x, xs), ys, ilist_cons (x, zs)) of APPEND (xs, ys, zs) // end of [APPEND] (* ****** ****** *) // prfun append_istot {xs,ys:ilist}(): [zs:ilist] APPEND(xs, ys, zs) prfun append_isfun {xs,ys:ilist}{zs1,zs2:ilist} (pf1: APPEND(xs, ys, zs1), pf2: APPEND(xs, ys, zs2)): ILISTEQ(zs1, zs2) // (* ****** ****** *) (* // HX-2012-12-13: proven *) prfun append_unit_left {xs:ilist}(): APPEND (ilist_nil, xs, xs) prfun append_unit_right {xs:ilist}(): APPEND (xs, ilist_nil, xs) (* ****** ****** *) (* // HX-2012-12-17: proven *) prfun append_sing {x:int}{xs:ilist} ( // argumentless ) : APPEND (ilist_sing(x), xs, ilist_cons (x, xs)) // end of [append_sing] (* ****** ****** *) (* // HX-2012-12-13: proven *) prfun lemma_append_length {xs1,xs2:ilist} {xs:ilist} {n1,n2:int} ( pf: APPEND (xs1, xs2, xs) , pf1len: LENGTH (xs1, n1), pf2len: LENGTH (xs2, n2) ) : LENGTH (xs, n1+n2) // end of [lemma_append_length] (* ****** ****** *) (* // HX-2012-12-13: proven *) prfun lemma_append_snoc {xs1:ilist} {x:int} {xs2:ilist} {xs1x:ilist} {res:ilist} ( pf1: APPEND(xs1, ilist_cons(x, xs2), res), pf2: SNOC (xs1, x, xs1x) ) : APPEND (xs1x, xs2, res) // end-of-prfun (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_append_assoc {xs1,xs2,xs3:ilist} {xs12,xs23:ilist} {xs12_3,xs1_23:ilist} ( pf12: APPEND (xs1, xs2, xs12), pf23: APPEND (xs2, xs3, xs23) , pf12_3: APPEND (xs12, xs3, xs12_3), pf1_23: APPEND (xs1, xs23, xs1_23) ) : ILISTEQ (xs12_3, xs1_23) // end of [lemma_append_assoc] (* ****** ****** *) dataprop REVAPP(ilist, ilist, ilist) = | {ys:ilist} REVAPPnil (ilist_nil, ys, ys) of () | {x:int}{xs:ilist}{ys:ilist}{zs:ilist} REVAPPcons (ilist_cons (x, xs), ys, zs) of REVAPP (xs, ilist_cons (x, ys), zs) // end of [REVAPP] propdef REVERSE (xs: ilist, ys: ilist) = REVAPP (xs, ilist_nil, ys) (* ****** ****** *) // prfun revapp_istot {xs,ys:ilist} (): [zs:ilist] REVAPP (xs, ys, zs) // prfun revapp_isfun {xs,ys:ilist}{zs1,zs2:ilist} (pf1: REVAPP (xs, ys, zs1), pf2: REVAPP (xs, ys, zs2)): ILISTEQ (zs1, zs2) // (* ****** ****** *) prfun lemma_revapp_length {xs,ys,zs:ilist}{m,n:int} ( pf: REVAPP (xs, ys, zs), pf1len: LENGTH (xs, m), pf2len: LENGTH (ys, n) ) : LENGTH (zs, m+n) // end of [lemma_revapp_length] (* ****** ****** *) // prfun reverse_istot {xs:ilist}(): [ys:ilist] REVERSE(xs, ys) // prfun reverse_isfun {xs:ilist}{ys1,ys2:ilist} (REVERSE(xs, ys1), REVERSE(xs, ys2)): ILISTEQ(ys1, ys2) // (* ****** ****** *) // prfun lemma_reverse_length {xs,ys:ilist}{n:int}(REVERSE(xs, ys), LENGTH(xs, n)): LENGTH(ys, n) // (* ****** ****** *) dataprop NTH (x0:int, ilist, int) = | {xs:ilist} NTHbas (x0, ilist_cons (x0, xs), 0) | {x1:int}{xs:ilist}{n:nat} NTHind (x0, ilist_cons (x1, xs), n+1) of NTH (x0, xs, n) // end of [NTH] // // HX: reverse NTH // dataprop RNTH (x0:int, ilist, int) = | {xs:ilist}{n:nat} RNTHbas (x0, ilist_cons (x0, xs), n) of LENGTH (xs, n) | {x1:int}{xs:ilist}{n:nat} RNTHind (x0, ilist_cons (x1, xs), n) of RNTH (x0, xs, n) // end of [RNTH] (* ****** ****** *) prfun lemma_nth_param {x0:int} {xs:ilist}{i:int} ( pf: NTH(x0, xs, i) ) : [y:int;ys:ilist | i >= 0] ILISTEQ(xs, ilist_cons(y, ys)) prfun lemma_rnth_param {x0:int} {xs:ilist}{i:int} ( pf: RNTH(x0, xs, i) ) : [y:int;ys:ilist | i >= 0] ILISTEQ(xs, ilist_cons(y, ys)) (* ****** ****** *) prfun lemma_nth_rnth {x:int}{xs:ilist} {n:int}{i:int | i < n} (pf1: NTH (x, xs, i), pf2: LENGTH (xs, n)): RNTH (x, xs, n-1-i) // end of [lemma_nth_rnth] prfun lemma_rnth_nth {x:int}{xs:ilist} {n:int}{i:int | i < n} (pf1: RNTH (x, xs, i), pf2: LENGTH (xs, n)): NTH (x, xs, n-1-i) // end of [lemma_rnth_nth] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_nth_ilisteq {xs1,xs2:ilist}{n:int} ( pf1len: LENGTH (xs1, n), pf2len: LENGTH (xs2, n) , fpf: {x:int}{i:int | i < n} NTH (x, xs1, i) -> NTH (x, xs2, i) ) : ILISTEQ (xs1, xs2) // end of [lemma_nth_ilisteq] (* ****** ****** *) // (* // HX-2015-08-24: proven *) // prfun lemma_length_nth {xs:ilist} {n:int}{i:nat | i < n} (pflen: LENGTH(xs, n)): [x:int] NTH(x, xs, i) // (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma1_revapp_nth {xs,ys,zs:ilist} {n:int}{x:int}{i:int} ( REVAPP (xs, ys, zs), LENGTH (xs, n), NTH (x, ys, i) ) : NTH (x, zs, n+i) // end of [lemma1_revapp_nth] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma2_revapp_nth {xs,ys,zs:ilist} {n:int}{x:int}{i:int} ( REVAPP (xs, ys, zs), LENGTH (xs, n), NTH (x, xs, i) ) : NTH (x, zs, n-1-i) // end of [lemma2_revapp_nth] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_reverse_nth {xs,ys:ilist} {n:int}{x:int}{i:int} ( pf: REVERSE(xs, ys), pf2: LENGTH(xs, n), pf3: NTH(x, xs, i) ) : NTH (x, ys, n-1-i) // end of [lemma_reverse_nth] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_reverse_symm{xs,ys:ilist}(REVERSE(xs, ys)): REVERSE(ys, xs) // end of [lemma_reverse_symm] (* ****** ****** *) dataprop INSERT ( xi:int, ilist, int, ilist ) = // INSERT (xi, xs, i, ys): insert xi in xs at i = ys | {xs:ilist} INSERTbas ( xi, xs, 0, ilist_cons (xi, xs) ) of () // end of [INSERTbas] | {x:int}{xs:ilist}{i:nat}{ys:ilist} INSERTind ( xi, ilist_cons (x, xs), i+1, ilist_cons (x, ys) ) of INSERT (xi, xs, i, ys) // end of [INSERTind] // end of [INSERT] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_insert_length {xi:int}{xs:ilist}{i:int}{ys:ilist}{n:int} (pf1: INSERT (xi, xs, i, ys), pf2: LENGTH (xs, n)): LENGTH (ys, n+1) // end of [lemma_insert_length] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_insert_nth_at {xi:int}{xs:ilist}{i:int}{ys:ilist} (pf: INSERT (xi, xs, i, ys)): NTH (xi, ys, i) // end of [lemma_insert_nth_eq] (* // HX-2012-12-14: proven *) prfun lemma_insert_nth_lt {xi:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j < i} (pf1: INSERT (xi, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j) // end of [lemma_insert_nth_lt] (* // HX-2012-12-14: proven *) prfun lemma_insert_nth_gte {xi:int}{xs:ilist}{i:int}{ys:ilist}{x:int}{j:int | j >= i} (pf1: INSERT (xi, xs, i, ys), pf2: NTH (x, xs, j)): NTH (x, ys, j+1) // end of [lemma_insert_nth_lt] (* ****** ****** *) (* // HX-2012-12-14: proven *) prfun lemma_nth_insert {x:int}{xs:ilist}{n:int} (pf: NTH (x, xs, n)): [ys:ilist] INSERT (x, ys, n, xs) // end of [lemma_nth_insert] (* ****** ****** *) // // UPDATE ( // yi, xs, i, ys // ): ys[i]=yi; xs[k]=ys[k] if k != i // dataprop UPDATE ( yi: int, ilist, int, ilist ) = | {x0:int}{xs:ilist} UPDATEbas ( yi, ilist_cons (x0, xs), 0, ilist_cons (yi, xs) ) of () // end of [UPDATEbas] | {x:int}{xs:ilist}{i:nat}{ys:ilist} UPDATEind ( yi, ilist_cons (x, xs), i+1, ilist_cons (x, ys) ) of UPDATE (yi, xs, i, ys) // end of [UPDATEind] // end of [UPDATE] (* ****** ****** *) // // INTERCHANGE (xs, i, j, ys) means: // ys[i]=xs[j]; ys[j]=xs[i]; ys[k]=xs[k] for k != i or j // absprop INTERCHANGE (xs:ilist, i:int, j:int, ys:ilist) (* ****** ****** *) prfun lemma_interchange_inv {xs:ilist}{i,j:int}{ys:ilist} (pf: INTERCHANGE (xs, i, j, ys)): INTERCHANGE (xs, j, i, ys) // end of [lemma_interchange_inv] prfun lemma_interchange_symm {xs:ilist}{i,j:int}{ys:ilist} (pf: INTERCHANGE (xs, i, j, ys)): INTERCHANGE (ys, i, j, xs) // end of [lemma_interchange_symm] (* ****** ****** *) // // PERMUTE (xs, ys): // [ys] is a permutation of [xs] // absprop PERMUTE (xs1:ilist, xs2:ilist) // prfun permute_refl {xs:ilist} (): PERMUTE (xs, xs) prfun permute_symm {xs1,xs2:ilist} (pf: PERMUTE (xs1, xs2)): PERMUTE (xs2, xs1) prfun permute_trans {xs1,xs2,xs3:ilist} (pf1: PERMUTE (xs1, xs2), pf2: PERMUTE (xs2, xs3)): PERMUTE (xs1, xs3) // (* ****** ****** *) prfun lemma_permute_length {xs1,xs2:ilist}{n:int} (pf1: PERMUTE (xs1, xs2), pf2: LENGTH (xs1, n)): LENGTH (xs2, n) // end of [lemma_permute_length] (* ****** ****** *) prfun lemma_permute_insert {x:int} {xs:ilist} {ys:ilist} (pf: PERMUTE (ilist_cons (x, xs), ys)): [ys1:ilist;i:nat] INSERT (x, ys1, i, ys) // end of [lemma_permute_insert] (* ****** ****** *) prfun lemma_interchange_permute {xs:ilist}{i,j:int}{ys:ilist} (pf: INTERCHANGE (xs, i, j, ys)): PERMUTE (xs, ys) // end of [lemma_interchange_permute] (* ****** ****** *) absprop LTB (x: int, xs: ilist) // [x] is a strict lower bound for [xs] // end of [LTB] prfun ltb_istot {xs:ilist} (): [x:int] LTB (x, xs) prfun ltb_nil {x:int} (): LTB (x, ilist_nil) prfun ltb_cons {x0:int} {x:int | x0 < x} {xs:ilist} (pf: LTB (x0, xs)): LTB (x0, ilist_cons (x, xs)) // end of [ltb_cons] prfun ltb_cons_elim {x0:int} {x:int} {xs:ilist} (pf: LTB (x0, ilist_cons (x, xs))): [x0 < x] LTB (x0, xs) // end of [ltb_cons_elim] prfun ltb_dec {x1:int}{x2:int | x2 <= x1}{xs:ilist} (pf: LTB (x1, xs)): LTB (x2, xs) // end of [ltb_dec] (* ****** ****** *) absprop LTEB (x: int, xs: ilist) // [x] is a lower bound for [xs] // end of [LTEB] prfun lteb_istot {xs:ilist} (): [x:int] LTEB (x, xs) prfun lteb_nil {x:int} (): LTEB (x, ilist_nil) prfun lteb_cons {x0:int} {x:int | x0 <= x} {xs:ilist} (pf: LTEB (x0, xs)): LTEB (x0, ilist_cons (x, xs)) // end of [lteb_cons] prfun lteb_cons_elim {x0:int} {x:int} {xs:ilist} (pf: LTEB (x0, ilist_cons (x, xs))): [x0 <= x] LTEB (x0, xs) // end of [lteb_cons_elim] prfun lteb_dec {x1:int}{x2:int | x2 <= x1}{xs:ilist} (pf: LTEB (x1, xs)): LTEB (x2, xs) // end of [lteb_dec] (* ****** ****** *) dataprop ISORD (ilist) = | ISORDnil (ilist_nil) of () | {x:int} {xs:ilist} ISORDcons (ilist_cons (x, xs)) of (ISORD xs, LTEB (x, xs)) // end of [ISORD] (* ****** ****** *) prfun lemma_ltb_permute {x:int} {xs1,xs2:ilist} (pf1: LTB (x, xs1), pf2: PERMUTE (xs1, xs2)): LTB (x, xs2) // end of [lemma_ltb_permute] prfun lemma_lteb_permute {x:int} {xs1,xs2:ilist} (pf1: LTEB (x, xs1), pf2: PERMUTE (xs1, xs2)): LTEB (x, xs2) // end of [lemma_lteb_permute] (* ****** ****** *) // // SORT (xs, ys): // [ys] is a sorted version of [xs] // absprop SORT (xs: ilist, ys: ilist) // prfun sort_elim {xs,ys:ilist} (pf: SORT (xs, ys)): @(ISORD ys, PERMUTE (xs, ys)) prfun sort_make {xs,ys:ilist} (pf1: ISORD ys, pf2: PERMUTE (xs, ys)): SORT (xs, ys) // (* ****** ****** *) (* end of [ilist_prf.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linset_avltree.sats0000664000175000017500000000320312655455557020700 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linset_avltree" (* ****** ****** *) #include "./SHARE/linset.hats" #include "./SHARE/linset_node.hats" (* ****** ****** *) fun{a:t0p} linset_avltree_height (!set(INV(a))):<> intGte (0) (* ****** ****** *) (* end of [linset_avltree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linmap_avltree.sats0000664000175000017500000000325212655455557020666 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_avltree" (* ****** ****** *) #include "./SHARE/linmap.hats" #include "./SHARE/linmap_node.hats" (* ****** ****** *) fun{ key:t0p;itm:vt0p } linmap_avltree_height (map: !map (key, itm)):<> intGte (0) (* ****** ****** *) (* end of [linmap_avltree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/qlist.sats0000664000175000017500000001443112655455557017021 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A list-based queue implementation ** *) (* ****** ****** *) (* ** ** Author: Hongwei Xi ** Authoremail: hwxiATcsDOTbuDOTedu ** Time: July, 2010 ** It is based on an earlier version done in October, 2008 ** *) (* ****** ****** *) // // HX-2012-12: ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) %{# #include "libats/CATS/qlist.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.qlist" (* ****** ****** *) // absvtype qlist_vtype (a:vt@ype+, n:int) = ptr // vtypedef qlist (a:vt0p, n:int) = qlist_vtype (a, n) // vtypedef qlist (a:vt0p) = [n:int] qlist_vtype (a, n) // vtypedef qlist0 (a:vt0p) = [n:int | n >= 0] qlist (a, n) // (* ****** ****** *) praxi lemma_qlist_param {a:vt0p}{n:int} (q: !qlist (INV(a), n)): [n>=0] void // end of [lemma_qlist_param] (* ****** ****** *) fun{} qlist_make_nil {a:vt0p} (): qlist (a, 0) fun{} qlist_free_nil {a:vt0p} (q: qlist (a, 0)): void (* ****** ****** *) fun{a:vt0p} qlist_is_nil {n:int} (q: !qlist (a, n)):<> bool (n == 0) fun{a:vt0p} qlist_isnot_nil {n:int} (q: !qlist (INV(a), n)):<> bool (n > 0) // overload iseqz with qlist_is_nil overload isneqz with qlist_isnot_nil // (* ****** ****** *) fun{a:vt0p} qlist_length {n:int} (q: !qlist (INV(a), n)):<> int (n) // overload length with qlist_length // (* ****** ****** *) fun{} fprint_qlist$sep (out: FILEref): void fun{a:vt0p} fprint_qlist (out: FILEref, q: !qlist (INV(a))): void fun{a:vt0p} fprint_qlist_sep (out: FILEref, q: !qlist (INV(a)), sep: string): void overload fprint with fprint_qlist overload fprint with fprint_qlist_sep (* ****** ****** *) fun{a:vt0p} qlist_insert{n:int} ( q: !qlist (INV(a), n) >> qlist (a, n+1), x: a ) : void // end of [qlist_insert] (* ****** ****** *) fun{a:vt0p} qlist_takeout{n:pos} (q: !qlist (INV(a), n) >> qlist (a, n-1)): (a) fun{a:vt0p} qlist_takeout_opt (q: !qlist (INV(a)) >> _): Option_vt(a) (* ****** ****** *) (* ** HX: this operation is O(1) *) fun{ } qlist_takeout_list {a:vt0p}{n:int} (q: !qlist (INV(a), n) >> qlist (a, 0)): list_vt (a, n) // end of [qlist_takeout_list] (* ****** ****** *) // fun{ a:vt0p } qlist_foreach (q: !qlist (INV(a))): void fun{ a:vt0p}{env:vt0p } qlist_foreach_env (q: !qlist (INV(a)), env: &(env) >> _): void // fun{ a:vt0p}{env:vt0p } qlist_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } qlist_foreach$fwork (x: &a >> _, env: &(env) >> _): void // (* ****** ****** *) // abst@ype qstruct_tsize = $extype"atslib_qlist_struct" absvt@ype qstruct_vt0ype (a:vt@ype+, n:int) = qstruct_tsize // stadef qstruct = qstruct_vt0ype stadef qstruct = qstruct_tsize // HX: order significant // viewtypedef qstruct (a:vt0p) = [n:int] qstruct (a, n) viewtypedef qstruct0 (a:vt0p) = [n:nat] qstruct (a, n) // (* ****** ****** *) fun{ } qstruct_initize {a:vt0p} (q: &qstruct? >> qstruct (a, 0)): void // end of [qstruct_initize] praxi qstruct_uninitize {a:vt0p} (q: &qstruct (a, 0) >> qstruct?) : void // end of [qstruct_uninitize] (* ****** ****** *) praxi qstruct_objfize {a:vt0p}{l:addr}{n:int} ( pf: qstruct (INV(a), n) @ l | p: !ptrlin l >> qlist (a, n) ) : mfree_ngc_v (l) // endfun praxi qstruct_unobjfize {a:vt0p}{l:addr}{n:int} ( pf: mfree_ngc_v (l) | p: ptr l, q: !qlist (INV(a), n) >> ptrlin l ) : qstruct (a, n) @ l // endfun (* ****** ****** *) fun{a:vt0p} qstruct_insert{n:int} (q: &qstruct (INV(a), n) >> qstruct (a, n+1), x: a): void // end of [qstruct_insert] (* ****** ****** *) // fun{a:vt0p} qstruct_takeout{n:pos} (q: &qstruct (INV(a), n) >> qstruct (a, n-1)): (a) // (* ****** ****** *) fun{} qstruct_takeout_list {a:vt0p}{n:int} (q: &qstruct (INV(a), n) >> qstruct (a, 0)): list_vt (a, n) // end of [qstruct_takeout_list] (* ****** ****** *) // // HX: ngc-functions do not make use of malloc/free // (* ****** ****** *) absvtype qlist_node_vtype (a:vt@ype+, l:addr) = ptr (* ****** ****** *) stadef mynode = qlist_node_vtype vtypedef mynode (a) = [l:addr] mynode (a, l) vtypedef mynode0 (a) = [l:addr | l >= null] mynode (a, l) vtypedef mynode1 (a) = [l:addr | l > null] mynode (a, l) (* ****** ****** *) castfn mynode2ptr {a:vt0p}{l:addr} (nx: !mynode (INV(a), l)):<> ptr (l) // end of [mynode2ptr] (* ****** ****** *) // fun{} mynode_null {a:vt0p} (): mynode (a, null) // praxi mynode_free_null {a:vt0p} (nx: mynode (a, null)): void // (* ****** ****** *) fun{a:vt0p} mynode_make_elt (x: a): mynode1 (a) fun{a:vt0p} mynode_getref_elt (nx: !mynode1 (INV(a))):<> cPtr1 (a) fun{a:vt0p} mynode_free_elt (nx: mynode1 (INV(a)), res: &(a?) >> a): void // end of [mynode_free_elt] fun{a:vt0p} mynode_getfree_elt (nx: mynode1 (INV(a))): a (* ****** ****** *) fun{a:vt0p} qlist_insert_ngc (*last*) {n:int} ( q: !qlist (INV(a), n) >> qlist (a, n+1), nx: mynode1 (a) ) : void // end of [qlist_insert_ngc] (* ****** ****** *) fun{a:vt0p} qlist_takeout_ngc (*first*) {n:int | n > 0} (q: !qlist (INV(a), n) >> qlist (a, n-1)): mynode1 (a) // end of [qlist_takeout_ngc] (* ****** ****** *) (* end of [qlist.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gflist_vt.sats0000664000175000017500000000575112655455557017673 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: October, 2010 // (* ****** ****** *) // // HX: generic linear lists (fully indexed) // (* ****** ****** *) // // HX-2012-11-27: ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gflist_vt" (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" // for handling integer sequences (* ****** ****** *) staload "libats/SATS/gflist.sats" (* ****** ****** *) fun{a:vt0p} gflist_vt_length {xs:ilist} (xs: !gflist_vt (INV(a), xs)):<> [n:nat] (LENGTH (xs, n) | int n) // end of [gflist_vt_length] (* ****** ****** *) fun{a:vt0p} gflist_vt_snoc {xs:ilist}{x0:int} ( xs: gflist_vt (a, xs), x0: stamped_vt (a, x0) ) : [xsx:ilist] (SNOC (xs, x0, xsx) | gflist_vt (a, xsx)) (* ****** ****** *) fun{a:vt0p} gflist_vt_append {xs1,xs2:ilist} ( xs1: gflist_vt (INV(a), xs1), xs2: gflist_vt (a, xs2) ) : [res:ilist] (APPEND (xs1, xs2, res) | gflist_vt (a, res)) // end of [gflist_vt_append] (* ****** ****** *) fun{a:vt0p} gflist_vt_revapp {xs1,xs2:ilist} ( xs1: gflist_vt (INV(a), xs1), xs2: gflist_vt (a, xs2) ) : [res:ilist] (REVAPP (xs1, xs2, res) | gflist_vt (a, res)) // end of [gflist_vt_revapp] fun{a:vt0p} gflist_vt_reverse {xs:ilist} ( xs: gflist_vt (INV(a), xs) ) : [ys:ilist] (REVERSE (xs, ys) | gflist_vt (a, ys)) // end of [gflist_vt_reverse] (* ****** ****** *) // fun{a:vt0p} gflist_vt_mergesort {xs:ilist} ( xs: gflist_vt (INV(a), xs) ) : [ys:ilist] (SORT (xs, ys) | gflist_vt (a, ys)) // end of [gflist_vt_mergesort] // fun{a:vt0p} gflist_vt_mergesort$cmp {x1,x2:int} (x1: &stamped_vt (a, x1), x2: &stamped_vt (a, x2)): int(sgn(x1-x2)) // (* ****** ****** *) (* end of [gflist_vt.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funmap_list.sats0000664000175000017500000000314512655455557020206 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** A functional map implementation based on lists *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.funmap_list" (* ****** ****** *) #include "./SHARE/funmap.hats" (* ****** ****** *) (* end of [funmap_list.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/refcount.sats0000664000175000017500000000424112655455557017510 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.refcount" (* ****** ****** *) // absvtype // invariant refcnt_vt0ype_vtype(a:vt@ype) = ptr // stadef refcnt = refcnt_vt0ype_vtype // (* ****** ****** *) fun {a:vt0p} refcnt(x0: a): refcnt(a) fun{a:vt0p} refcnt_make_elt(x0: a): refcnt(a) (* ****** ****** *) // fun{a:vt0p} refcnt_get_count(!refcnt(a)): intGte(1) // (* ****** ****** *) fun{a:vt0p} refcnt_incref (!refcnt(a)): refcnt(a) (* ****** ****** *) fun{a:vt0p} refcnt_decref ( rfc: refcnt(a), x: &a? >> opt(a, b) ) : #[b:bool] bool(b) // end-of-fun fun{a:vt0p} refcnt_decref_opt (rfc: refcnt(a)): Option_vt(a) (* ****** ****** *) fun{a:vt0p} refcnt_vtakeout (rfc: !refcnt(a)) : [l:addr] (a @ l, a @ l - void | ptr l) // end of [refcnt_vtakeout] (* ****** ****** *) (* end of [refcount.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/fundeque_fngtree.sats0000664000175000017500000000264612655455557021220 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.fundeque_fngtree" (* ****** ****** *) #include "./SHARE/fundeque.hats" (* ****** ****** *) (* end of [fundeque_fngtree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linmap_list.sats0000664000175000017500000000307312655455557020200 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_list" (* ****** ****** *) #include "./SHARE/linmap.hats" #include "./SHARE/linmap_node.hats" (* ****** ****** *) (* end of [linmap_list.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/linmap_skiplist.sats0000664000175000017500000000317612655455557021073 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.linmap_skiplist" (* ****** ****** *) #include "./SHARE/linmap.hats" #include "./SHARE/linmap_node.hats" (* ****** ****** *) fun linmap_skiplist_initize (): void (* ****** ****** *) (* end of [linmap_skiplist.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/hashtbl_linprb.sats0000664000175000017500000000362412655455557020662 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** A hashtable implementation based on linear probing ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: March, 2010 ** *) (* ****** ****** *) // // HX-2014-05: // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.hashtbl_linprb" (* ****** ****** *) #include "./SHARE/hashtbl.hats" (* ****** ****** *) // // HX-2014-05: // these functions are special for hashtbl_linprb // fun{ key,itm:vt0p } hashtbl_linprb_keyitm_nullize (&(key,itm)? >> _): void fun{ key,itm:vt0p } hashtbl_linprb_keyitm_is_null (kx: &(key, itm)): bool // (* ****** ****** *) (* end of [hashtbl_linprb.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/funmap_rbtree.sats0000664000175000017500000000436612655455557020524 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** A red-black tree implementation ** ** The insertion operation is based on the algorithm in the following ** paper by Chris Okasaki: ** ** Red-Black Trees in a Functional Setting (Functional Pearls) ** ** J. of Functional Programming, vol. 9 (4), pp. 471-477, January, 1993 ** ** The removal operation, which seems novel in its implementation, is by ** Hongwei Xi ** ** Contributed by Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: September, 2011 // based on a version done in October, 2008 *) (* ****** ****** *) // // HX-2015-06: // It is ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.funmap_rbtree" // (* ****** ****** *) #include "./SHARE/funmap.hats" (* ****** ****** *) // // HX: for the purpose of gathering statics // fun{ key:t0p;itm:t0p } funmap_rbtree_height (map: map (key, itm)):<> intGte(0) // fun{ key:t0p;itm:t0p } funmap_rbtree_bheight (map: map (key, itm)):<> intGte(0) // (* ****** ****** *) (* end of [funmap_avltree.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/.keeper0000664000175000017500000000000012655455557016230 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/SATS/funmset_listord.sats0000664000175000017500000000337612655455557021114 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** ** Functional mset ** based on ordered lists ** ** Contributed by ** Hongwei Xi (hwxiATcsDOTbuDOTedu) ** Time: May 18, 2011 ** *) (* ****** ****** *) // // HX-2015-09: // ported to ATS/Postitats from ATS/Anairiats // (* ****** ****** *) // #define ATS_PACKNAME "ATSLIB.libats.funmset_listord" // (* ****** ****** *) #include "./SHARE/funmset.hats" (* ****** ****** *) // castfn funmset2list{a:t0p} (xs: mset(INV(a))):<> List0 @(intGt(1), a) // (* ****** ****** *) (* end of [funmset_listord.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/gflist.sats0000664000175000017500000001215412655455557017155 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmmhwxiATgmailDOTcom // Time: October, 2010 // (* ****** ****** *) // // HX: generic lists (fully indexed) // (* ****** ****** *) // // HX-2012-11-27: // ported to ATS/Postiats from ATS/Anairiats // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.gflist" (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" // for intseqs (* ****** ****** *) (* // HX: [stamped_t] is introduced in prelude/basics_pre.sats // HX: [stamped_vt] is introduced in prelude/basics_pre.sats *) (* ****** ****** *) datatype gflist ( a:t@ype+, ilist(*ind*) ) = | gflist_nil (a, ilist_nil) of () // end of [gflist_nil] | {x:int} {xs:ilist} gflist_cons (a, ilist_cons (x, xs)) of (stamped_t (a, x), gflist (a, xs)) // end of [gflist_cons] // end of [gflist] (* ****** ****** *) datavtype gflist_vt ( a:vt@ype+, ilist(*ind*) ) = | gflist_vt_nil (a, ilist_nil) of () // end of [gflis_vt_nil] | {x:int} {xs:ilist} gflist_vt_cons (a, ilist_cons (x, xs)) of (stamped_vt (a, x), gflist_vt (a, xs)) // end of [gflist_vt_cons] // end of [gflist_vt] (* ****** ****** *) // #define gflist_sing(x) gflist_cons(x, gflist_nil()) #define gflist_vt_sing(x) gflist_vt_cons(x, gflist_vt_nil()) // (* ****** ****** *) castfn gflist2list {a:t@ype}{xs:ilist} ( gflist(INV(a), xs) ) :<> [n:nat] (LENGTH (xs, n) | list (a, n)) // end of [gflist2list] castfn list2gflist {a:t@ype}{n:int} ( xs: list(INV(a), n) ) :<> [xs:ilist] (LENGTH(xs, n) | gflist (a, xs)) // end of [list2gflist] (* ****** ****** *) castfn gflist2list_vt {a:vt@ype}{xs:ilist} ( gflist_vt(INV(a), xs) ) :<> [n:nat] (LENGTH (xs, n) | list_vt (a, n)) // end of [gflist2list_vt] castfn list2gflist_vt {a:vt@ype}{n:int} ( xs: list_vt(INV(a), n) ) :<> [xs:ilist] (LENGTH(xs, n) | gflist_vt (a, xs)) // end of [list2gflist_vt] (* ****** ****** *) castfn gflist_vt2t {a:t@ype}{xs:ilist} (xs: gflist_vt(INV(a), xs)): gflist (a, xs) // end of [gflist_vt2t] (* ****** ****** *) fun{a:t0p} gflist_length {xs:ilist} ( xs: gflist(INV(a), xs) ) :<> [n:nat] (LENGTH (xs, n) | int n) // end of [gflist_length] (* ****** ****** *) fun{a:t0p} gflist_snoc {xs:ilist}{x0:int} ( xs: gflist (a, xs), x0: stamped_t (a, x0) ) : [xsx:ilist] (SNOC (xs, x0, xsx) | gflist_vt (a, xsx)) (* ****** ****** *) // fun{a:t0p} gflist_copy {xs:ilist} (xs: gflist(INV(a), xs)):<> gflist_vt (a, xs) // (* ****** ****** *) fun{a:t0p} gflist_append {xs1,xs2:ilist} ( xs1: gflist (INV(a), xs1), xs2: gflist (a, xs2) ) :<> [res:ilist] (APPEND (xs1, xs2, res) | gflist (a, res)) // end of [gflist_append] (* ****** ****** *) fun{a:t0p} gflist_revapp {xs1,xs2:ilist} ( xs1: gflist (INV(a), xs1), xs2: gflist (a, xs2) ) :<> [res:ilist] (REVAPP (xs1, xs2, res) | gflist (a, res)) // end of [gflist_revapp] (* ****** ****** *) fun{a:t0p} gflist_revapp1_vt {xs1,xs2:ilist} ( xs1: gflist_vt (INV(a), xs1), xs2: gflist (a, xs2) ) : [res:ilist] (REVAPP (xs1, xs2, res) | gflist (a, res)) // end of [gflist_revapp1_vt] fun{a:t0p} gflist_revapp2_vt {xs1,xs2:ilist} ( xs1: gflist (INV(a), xs1), xs2: gflist_vt (a, xs2) ) : [res:ilist] (REVAPP (xs1, xs2, res) | gflist_vt (a, res)) // end of [gflist_revapp2_vt] (* ****** ****** *) fun{a:t0p} gflist_reverse {xs:ilist} ( xs: gflist (INV(a), xs) ) :<> [ys:ilist] (REVERSE (xs, ys) | gflist_vt (a, ys)) // end of [gflist_reverse] (* ****** ****** *) // fun{a:t0p} gflist_get_at {xs:ilist}{x0:int}{i:int} ( pf: NTH(x0, xs, i) | xs: gflist(INV(a), xs), i: int(i) ) : stamped_t(a, x0) // end-of-function // (* ****** ****** *) // fun{a:t0p} gflist_mergesort {xs:ilist} ( xs: gflist (INV(a), xs) ) : [ys:ilist] (SORT (xs, ys) | gflist_vt (a, ys)) // fun{a:t0p} gflist_mergesort$cmp {x1,x2:int} (x1: stamped_t (a, x1), x2: stamped_t (a, x2)): int(sgn(x1-x2)) // (* ****** ****** *) (* end of [gflist.sats] *) ATS2-Postiats-0.2.6/./libats/SATS/sllist.sats0000664000175000017500000001603512655455557017201 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libats.sllist" (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) (* ** ** HX-2013-03: ** sllist (a, n) means that there are n elements in the list. ** *) absvtype sllist_vtype (a:viewt@ype+, n:int) = ptr stadef sllist = sllist_vtype // HX: shorthand // vtypedef Sllist (a:vt0p) = [n:int] sllist (a, n) vtypedef Sllist0 (a:vt0p) = [n:int | n >= 0] sllist (a, n) vtypedef Sllist1 (a:vt0p) = [n:int | n >= 1] sllist (a, n) // (* ****** ****** *) castfn sllist2ptr {a:vt0p} (xs: !Sllist (INV(a))):<> Ptr0 castfn sllist2ptr1 {a:vt0p} (xs: !Sllist1 (INV(a))):<> Ptr1 (* ****** ****** *) praxi lemma_sllist_param {a:vt0p} {n:int} (xs: !sllist (INV(a), n)): [n >= 0] void // end of [lemma_sllist_param] (* ****** ****** *) fun{} sllist_nil {a:vt0p} ():<> sllist (a, 0) (* ****** ****** *) praxi sllist_free_nil {a:vt0p} (xs: sllist (INV(a), 0)): void (* ****** ****** *) fun{a:vt0p} sllist_sing (x: a): sllist (a, 1) (* ****** ****** *) fun{a:vt0p} sllist_cons{n:int} (x: a, xs: sllist (INV(a), n)): sllist (a, n+1) // end of [sllist_cons] fun{a:vt0p} sllist_uncons{n:int | n > 0} (xs: &sllist (INV(a), n) >> sllist (a, n-1)): (a) // end of [sllist_uncons] (* ****** ****** *) fun{a:vt0p} sllist_snoc{n:int} (xs: sllist (INV(a), n), x: a): sllist (a, n+1) // end of [sllist_snoc] fun{a:vt0p} sllist_unsnoc{n:int | n > 0} (xs: &sllist (INV(a), n) >> sllist (a, n-1)): (a) // end of [sllist_unsnoc] (* ****** ****** *) fun{a:t0p} sllist_make_list {n:int} (xs: list (INV(a), n)): sllist (a, n) // end of [sllist_make_list] (* ****** ****** *) fun{a:t0p} sllist_make_list_vt {n:int} (xs: list_vt (INV(a), n)): sllist (a, n) // end of [sllist_make_list_vt] (* ****** ****** *) fun{ } sllist_is_nil {a:vt0p}{n:int} (xs: !sllist (INV(a), n)):<> bool (n==0) fun{ } sllist_is_cons {a:vt0p}{n:int} (xs: !sllist (INV(a), n)):<> bool (n > 0) // overload iseqz with sllist_is_nil overload isneqz with sllist_is_cons // (* ****** ****** *) fun{a:vt0p} sllist_length {n:int} (xs: !sllist (INV(a), n)):<> int (n) // overload length with sllist_length // (* ****** ****** *) fun{a:t0p} sllist_get_elt (xs: !Sllist1 (INV(a))): (a) fun{a:t0p} sllist_set_elt (xs: !Sllist1 (INV(a)), x0: a): void fun{a:vt0p} sllist_getref_elt (xs: !Sllist1 (INV(a))):<> cPtr1 (a) (* ****** ****** *) fun{a:vt0p} sllist_getref_next (xs: !Sllist1 (INV(a))):<> Ptr1 (* ****** ****** *) fun{a:vt0p} sllist_getref_elt_at {n:int} (xs: !sllist (INV(a), n), i: natLt(n)):<> cPtr1 (a) // end of [sllist_getref_elt_at] (* ****** ****** *) fun{a:t0p} sllist_get_elt_at {n:int} (xs: !sllist (INV(a), n), i: natLt(n)):<> (a) overload [] with sllist_get_elt_at fun{a:t0p} sllist_set_elt_at {n:int} (xs: !sllist (INV(a), n), i: natLt(n), x0: a): void overload [] with sllist_set_elt_at (* ****** ****** *) fun{a:vt0p} sllist_getref_at{n:int} (xs: &sllist (INV(a), n), i: natLte(n)):<> Ptr1 // end of [sllist_getref_at] fun{a:vt0p} sllist_insert_at {n:int} (xs: sllist (INV(a), n), i: natLte(n), x0: a): sllist (a, n+1) // end of [sllist_insert_at] fun{a:vt0p} sllist_takeout_at {n:int} (xs: &sllist (INV(a), n) >> sllist (a, n-1), i: natLt(n)): (a) // end of [sllist_takeout_at] (* ****** ****** *) fun{a:vt0p} sllist_append {n1,n2:int} ( xs1: sllist (INV(a), n1), xs2: sllist (a, n2) ) : sllist (a, n1+n2) // end of [sllist_append] (* ****** ****** *) fun{a:vt0p} sllist_reverse {n:int} (xs: sllist (INV(a), n)): sllist (a, n) // end of [sllist_reverse] (* ****** ****** *) fun{a:vt0p} sllist_reverse_append {n1,n2:int} ( xs1: sllist (INV(a), n1), xs2: sllist (a, n2) ) : sllist (a, n1+n2) // end of [sllist_reverse_append] (* ****** ****** *) fun{a:t0p} sllist_free (xs: Sllist (INV(a))): void fun{a:vt0p} sllist_freelin$clear (x: &a >> a?): void fun{a:vt0p} sllist_freelin (xs: Sllist (INV(a))): void (* ****** ****** *) fun{ a:vt0p}{b:vt0p } sllist_map$fopr (x: &a): b fun{ a:vt0p}{b:vt0p } sllist_map {n:int} (xs: !sllist (a, n)): sllist (b, n) (* ****** ****** *) // fun{ a:vt0p}{env:vt0p } sllist_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } sllist_foreach$fwork (x: &a, env: &env >> _): void // fun{a:vt0p} sllist_foreach (xs: !Sllist (INV(a))): void fun{ a:vt0p}{env:vt0p } sllist_foreach_env (xs: !Sllist (INV(a)), env: &env >> _): void // end of [sllist_foreach_env] // (* ****** ****** *) // fun{} fprint_sllist$sep (out: FILEref): void // fun{a:vt0p} fprint_sllist (out: FILEref, xs: !Sllist (INV(a))): void // end of [fprint_sllist] // overload fprint with fprint_sllist // (* ****** ****** *) // // HX-2013-05: functions of ngc-version // (* ****** ****** *) staload "libats/SATS/gnode.sats" (* ****** ****** *) stadef mytkind = $extkind"libats_sllist" (* ****** ****** *) typedef g2node0 (a:vt0p) = gnode0 (mytkind, a) typedef g2node1 (a:vt0p) = gnode1 (mytkind, a) (* ****** ****** *) (* ** HX: this is O(1)-time *) fun{a:vt0p} sllist_cons_ngc{n:int} (nx: g2node1(a), xs: sllist(INV(a), n)): sllist (a, n+1) // end of [sllist_cons_ngc] (* ** HX: this is O(1)-time *) fun{a:vt0p} sllist_uncons_ngc{n:pos} (xs: &sllist (INV(a), n) >> sllist (a, n-1)): g2node1 (a) // end of [sllist_uncons_ngc] (* ****** ****** *) (* ** HX: this is O(n)-time *) fun{a:vt0p} sllist_snoc_ngc{n:int} (xs: sllist(INV(a), n), nx: g2node1(a)): sllist (a, n+1) // end of [sllist_snoc_ngc] (* ** HX: this is O(n)-time *) fun{a:vt0p} sllist_unsnoc_ngc{n:pos} (xs: &sllist (INV(a), n) >> sllist (a, n-1)): g2node1 (a) // end of [sllist_unsnoc_ngc] (* ****** ****** *) (* end of [sllist.sats] *) ATS2-Postiats-0.2.6/./libats/CATS/0000775000175000017500000000000012655455557014746 5ustar hwxihwxiATS2-Postiats-0.2.6/./libats/CATS/stringbuf.cats0000664000175000017500000000466412655455557017637 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: November, 2013 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_STRINGBUF #define ATSHOME_LIBATS_CATS_STRINGBUF /* ****** ****** */ #include #include /* ****** ****** */ #define atslib_stringbuf_memcpy memcpy #define atslib_stringbuf_memmove memmove /* ****** ****** */ /* extern fun _stringbuf_pow2min (sizeGte(1), size_t): sizeGte(1) = "mac#%" implement _stringbuf_pow2min (s1, s2) = if s1 >= s2 then s1 else _stringbuf_pow2min (s1+s1, s2) // end of [if] */ ATSinline() atstype_size atslib__stringbuf_pow2min ( atstype_size s1, atstype_size s2 ) { while (s1 < s2) { s1 = s1 + s1 ; } ; return s1 ; } // end of [atslib__stringbuf_pow2min] /* ****** ****** */ extern atstype_int atslib_stringbuf_insert_snprintf (atstype_ptr sbf, atstype_int recap, atstype_string fmt, ...) ; extern atstype_int atslib_stringbuf_insert_vsnprintf ( atstype_ptr sbf, atstype_int recap, atstype_string fmt, va_list ap ) ; // end of [atslib_stringbuf_insert_vsnprintf] /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_STRINGBUF /* ****** ****** */ /* end of [stringbuf.cats] */ ATS2-Postiats-0.2.6/./libats/CATS/deqarray.cats0000664000175000017500000001551612655455557017442 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2013 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_DEQARRAY #define ATSHOME_LIBATS_CATS_DEQARRAY /* ****** ****** */ typedef struct { atstype_ptr deqarray_beg ; // the beg pointer atstype_ptr deqarray_end ; // the end pointer atstype_ref deqarray_frnt ; // the frontal pointer atstype_ref deqarray_rear ; // the rear pointer } atslib_deqarray_struct ; /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_make_ngc__tsz ( atstype_ptr p , atstype_ptr A , atstype_size m , atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; // p_deq->deqarray_beg = A ; p_deq->deqarray_end = (char*)A + (m+1) * tsz ; p_deq->deqarray_frnt = A ; p_deq->deqarray_rear = A ; // return p_deq ; // } // end of [atslib_deqarray_make_ngc__tsz] /* ****** ****** */ ATSinline() atstype_size atslib_deqarray_get_size__tsz ( atstype_ptr p, atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; // void *p_frnt = p_deq->deqarray_frnt ; void *p_rear = p_deq->deqarray_rear ; // if (p_frnt >= p_rear) { return ((char*)p_frnt-(char*)p_rear)/tsz ; } else { return ((char*)p_frnt-(char*)p_deq->deqarray_beg+(char*)p_deq->deqarray_end-(char*)p_rear)/tsz ; } /* end of [if] */ } // end of [atslib_deqarray_get_size__tsz] /* ****** ****** */ ATSinline() atstype_size atslib_deqarray_get_capacity__tsz ( atstype_ptr p, atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; return (((char*)(p_deq->deqarray_end)-(char*)(p_deq->deqarray_beg))/tsz)-1; } // end of [atslib_deqarray_get_capacity__tsz] /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_get_ptrbeg (atstype_ptr p) { return ((atslib_deqarray_struct*)p)->deqarray_beg ; } // end of [atslib_deqarray_get_ptrbeg] ATSinline() atstype_ptr atslib_deqarray_get_ptrend (atstype_ptr p) { return ((atslib_deqarray_struct*)p)->deqarray_end ; } // end of [atslib_deqarray_get_ptrend] /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_get_ptrfrnt (atstype_ptr p) { return ((atslib_deqarray_struct*)p)->deqarray_frnt ; } // end of [atslib_deqarray_get_ptrfrnt] ATSinline() atsvoid_t0ype atslib_deqarray_set_ptrfrnt (atstype_ptr p, atstype_ptr p2) { ((atslib_deqarray_struct*)p)->deqarray_frnt = p2 ; return ; } // end of [atslib_deqarray_set_ptrfrnt] /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_get_ptrrear (atstype_ptr p) { return ((atslib_deqarray_struct*)p)->deqarray_rear ; } // end of [atslib_deqarray_get_ptrrear] ATSinline() atsvoid_t0ype atslib_deqarray_set_ptrrear (atstype_ptr p, atstype_ptr p2) { ((atslib_deqarray_struct*)p)->deqarray_rear = p2 ; return ; } // end of [atslib_deqarray_set_ptrrear] /* ****** ****** */ ATSinline() atsvoid_t0ype atslib_deqarray_free_nil (atstype_ptr p) { atstype_ptr p_beg ; p_beg = ((atslib_deqarray_struct*)p)->deqarray_beg ; ATS_MFREE(p) ; ATS_MFREE(p_beg) ; return ; } // end of [atslib_deqarray_free_nil] /* ****** ****** */ ATSinline() atstype_bool atslib_deqarray_is_nil (atstype_ptr p) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; return (p_deq->deqarray_frnt == p_deq->deqarray_rear ? atsbool_true : atsbool_false) ; } // end of [atslib_deqarray_is_nil] ATSinline() atstype_bool atslib_deqarray_isnot_nil (atstype_ptr p) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; return (p_deq->deqarray_frnt != p_deq->deqarray_rear ? atsbool_true : atsbool_false) ; } // end of [atslib_deqarray_isnot_nil] /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_ptr_succ__tsz ( atstype_ptr p , atstype_ptr p_elt, atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; char *p1_elt = (char*)p_elt+tsz ; return (p1_elt < (char*)p_deq->deqarray_end) ? p1_elt : p_deq->deqarray_beg ; } // end of [atslib_deqarray_ptr_succ__tsz] /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_ptr_pred__tsz ( atstype_ptr p , atstype_ptr p_elt, atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; char *p_beg = (char*)p_deq->deqarray_beg ; return ((char*)p_elt > p_beg) ? (char*)p_elt-tsz : (char*)p_deq->deqarray_end-tsz ; } // end of [atslib_deqarray_ptr_pred__tsz] /* ****** ****** */ ATSinline() atstype_bool atslib_deqarray_is_full__tsz (atstype_ptr p, atstype_size tsz) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; // void *p_frnt = p_deq->deqarray_frnt ; void *p_rear = p_deq->deqarray_rear ; // void *p1_frnt = atslib_deqarray_ptr_succ__tsz(p_deq, p_frnt, tsz) ; // return (p1_frnt==p_rear ? atsbool_true : atsbool_false) ; } // end of [atslib_deqarray_is_full__tsz] #if(0) ATSinline() atstype_bool atslib_deqarray_isnot_full__tsz (atstype_ptr p, atstype_size tsz) { return (atslib_deqarray_is_full__tsz(p, tsz)) ? atsbool_false : atsbool_true ; } // end of [atslib_deqarray_isnot_full__tsz] #endif /* ****** ****** */ ATSinline() atstype_ptr atslib_deqarray_getref_at__tsz ( atstype_ptr p , atstype_size i, atstype_size tsz ) { atslib_deqarray_struct *p_deq ; p_deq = (atslib_deqarray_struct*)p ; // void *p_rear_i = (char*)p_deq->deqarray_rear + i * tsz ; // if (p_rear_i >= p_deq->deqarray_end) p_rear_i = (char*)p_deq->deqarray_beg + (p_rear_i - p_deq->deqarray_end) ; // return p_rear_i ; // } // end of [atslib_deqarray_getref_at__tsz] /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_DEQARRAY /* ****** ****** */ /* end of [deqarray.cats] */ ATS2-Postiats-0.2.6/./libats/CATS/stkarray.cats0000664000175000017500000001162212655455557017464 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2013 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_STKARRAY #define ATSHOME_LIBATS_CATS_STKARRAY /* ****** ****** */ typedef struct { atstype_ptr stkarray_beg ; // the beg pointer atstype_ptr stkarray_end ; // the end pointer atstype_ref stkarray_cur ; // the current pointer } atslib_stkarray_struct ; /* ****** ****** */ ATSinline() atstype_ptr atslib_stkarray_make_ngc__tsz ( atstype_ptr p , atstype_ptr A , atstype_size m , atstype_size tsz ) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; p_stk->stkarray_beg = A ; p_stk->stkarray_end = (char*)A + m * tsz ; p_stk->stkarray_cur = A ; return p_stk ; } // end of [atslib_stkarray_make_ngc__tsz] /* ****** ****** */ ATSinline() atstype_size atslib_stkarray_get_size__tsz ( atstype_ptr p, atstype_size tsz ) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return ((char*)(p_stk->stkarray_cur) - (char*)(p_stk->stkarray_beg)) / tsz ; } // end of [atslib_stkarray_get_size__tsz] ATSinline() atstype_size atslib_stkarray_get_capacity__tsz ( atstype_ptr p, atstype_size tsz ) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return ((char*)(p_stk->stkarray_end) - (char*)(p_stk->stkarray_beg)) / tsz ; } // end of [atslib_stkarray_get_capacity__tsz] /* ****** ****** */ ATSinline() atstype_ptr atslib_stkarray_get_ptrbeg (atstype_ptr p) { return ((atslib_stkarray_struct*)p)->stkarray_beg ; } // end of [atslib_stkarray_get_ptrbeg] /* ****** ****** */ ATSinline() atstype_ptr atslib_stkarray_get_ptrcur (atstype_ptr p) { return ((atslib_stkarray_struct*)p)->stkarray_cur ; } // end of [atslib_stkarray_get_ptrcur] ATSinline() atsvoid_t0ype atslib_stkarray_set_ptrcur (atstype_ptr p, atstype_ptr p2) { ((atslib_stkarray_struct*)p)->stkarray_cur = p2 ; return ; } // end of [atslib_stkarray_set_ptrcur] /* ****** ****** */ ATSinline() atsvoid_t0ype atslib_stkarray_free_nil (atstype_ptr p) { atstype_ptr p_beg ; p_beg = ((atslib_stkarray_struct*)p)->stkarray_beg ; ATS_MFREE(p) ; ATS_MFREE(p_beg) ; return ; } // end of [atslib_stkarray_free_nil] /* ****** ****** */ ATSinline() atstype_ptr atslib_stkarray_getfree_arrayptr (atstype_ptr p) { atstype_ptr p_beg ; p_beg = ((atslib_stkarray_struct*)p)->stkarray_beg ; ATS_MFREE(p) ; return p_beg ; } // end of [atslib_stkarray_getfree_arrayptr] /* ****** ****** */ ATSinline() atstype_bool atslib_stkarray_is_nil (atstype_ptr p) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return (p_stk->stkarray_beg==p_stk->stkarray_cur ? atsbool_true : atsbool_false) ; } // end of [atslib_stkarray_is_nil] ATSinline() atstype_bool atslib_stkarray_isnot_nil (atstype_ptr p) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return (p_stk->stkarray_beg < p_stk->stkarray_cur ? atsbool_true : atsbool_false) ; } // end of [atslib_stkarray_isnot_nil] /* ****** ****** */ ATSinline() atstype_bool atslib_stkarray_is_full (atstype_ptr p) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return (p_stk->stkarray_cur==p_stk->stkarray_end ? atsbool_true : atsbool_false) ; } // end of [atslib_stkarray_is_full] ATSinline() atstype_bool atslib_stkarray_isnot_full (atstype_ptr p) { atslib_stkarray_struct *p_stk ; p_stk = (atslib_stkarray_struct*)p ; return (p_stk->stkarray_cur < p_stk->stkarray_end ? atsbool_true : atsbool_false) ; } // end of [atslib_stkarray_isnot_full] /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_STKARRAY /* ****** ****** */ /* end of [stkarray.cats] */ ATS2-Postiats-0.2.6/./libats/CATS/qlist.cats0000664000175000017500000000333212655455557016757 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_QLIST #define ATSHOME_LIBATS_CATS_QLIST /* ****** ****** */ typedef struct { atstype_ptr qlist_nxf ; // the front pointer atstype_ref qlist_nxr ; // the address of rear pointer } atslib_qlist_struct ; /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_QLIST /* ****** ****** */ /* end of [qlist.cats] */ ATS2-Postiats-0.2.6/./libats/CATS/.keeper0000664000175000017500000000000012655455557016210 0ustar hwxihwxiATS2-Postiats-0.2.6/./libats/CATS/dynarray.cats0000664000175000017500000000331512655455557017455 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_DYNARRAY #define ATSHOME_LIBATS_CATS_DYNARRAY /* ****** ****** */ #include /* ****** ****** */ #define atslib_dynarray_memcpy memcpy #define atslib_dynarray_memmove memmove /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_DYNARRAY /* ****** ****** */ /* end of [dynarray.cats] */ ATS2-Postiats-0.2.6/./libats/CATS/hashfun.cats0000664000175000017500000000361012655455557017256 0ustar hwxihwxi/* ******************************************************************* */ /* */ /* Applied Type System */ /* */ /* ******************************************************************* */ /* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: March, 2014 *) */ /* ****** ****** */ #ifndef ATSHOME_LIBATS_CATS_HASHFUN #define ATSHOME_LIBATS_CATS_HASHFUN /* ****** ****** */ ATSinline() atstype_uint32 atslib_inthash_jenkins (atstype_uint32 a) { a = (a+0x7ed55d16) + (a<<12); a = (a^0xc761c23c) ^ (a>>19); a = (a+0x165667b1) + (a<< 5); a = (a+0xd3a2646c) ^ (a<< 9); a = (a+0xfd7046c5) + (a<< 3); a = (a^0xb55a4f09) ^ (a>>16); return a; } /* end of [atslib_inthash_jenkins] */ /* ****** ****** */ #endif // ifndef ATSHOME_LIBATS_CATS_HASHFUN /* ****** ****** */ /* end of [hashfun.cats] */ ATS2-Postiats-0.2.6/./libats/.keeper0000664000175000017500000000000012655455557015456 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/0000775000175000017500000000000012655455557013647 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/0000775000175000017500000000000012655455557014572 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/SATS/0000775000175000017500000000000012655455557015344 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/SATS/inet.sats0000664000175000017500000000705212655455557017203 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/arpa/CATS/inet.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) staload IN = "libc/netinet/SATS/in.sats" typedef in_port_nbo_t = $IN.in_port_nbo_t typedef in_addr_hbo_t = $IN.in_addr_hbo_t typedef in_addr_nbo_t = $IN.in_addr_nbo_t typedef in_addr_struct = $IN.in_addr_struct (* ****** ****** *) // abst@ype uint16_t0ype_netbyteord = uint16 typedef uint16_nbo = uint16_t0ype_netbyteord // fun htons (i: uint16): uint16_nbo = "mac#%" fun ntohs (i: uint16_nbo): uint16 = "mac#%" // (* ****** ****** *) // abst@ype uint32_t0ype_netbyteord = uint32 typedef uint32_nbo = uint32_t0ype_netbyteord // fun htonl (i: uint32): uint32_nbo = "mac#%" fun ntohl (i: uint32_nbo): uint32 = "mac#%" // (* ****** ****** *) // castfn in_port_of_uint16_nbo (x: uint16_nbo): in_port_nbo_t castfn uint16_of_in_port_nbo (x: in_port_nbo_t): uint16_nbo // (* ****** ****** *) fun inet_aton ( cp: string , inp: &in_addr_struct? >> opt(in_addr_struct, b) ) : #[b:bool] bool(b) = "mac#%" // end-of-function (* ****** ****** *) // // HX: note that this one cannot tell // -1 from 255.255.255.255 (a valid address) // fun inet_addr (cp: string): in_addr_nbo_t = "mac#%" fun inet_network (cp: string): in_addr_hbo_t = "mac#%" // (* ****** ****** *) // fun inet_makeaddr (net: int, host: int): in_addr_struct = "mac#%" // end of [inet_makeaddr] // (* ****** ****** *) // // HX: this function is not reentrant // fun inet_ntoa (inp: in_addr_struct) : vStrptr1 = "mac#%" // (* ****** ****** *) // fun inet_lnaof (addr: in_addr_struct): in_addr_hbo_t = "mac#%" // fun inet_netof (addr: in_addr_struct): in_addr_hbo_t = "mac#%" // (* ****** ****** *) fun inet4_pton ( cp: string // af=AF_INET , inp: &in_addr_struct? >> opt (in_addr_struct, i > 0) ) : #[i:int] int (i) = "mac#%" // end-of-fun fun inet6_pton ( cp: string // af= AF_INET6 , inp: &in_addr_struct? >> opt (in_addr_struct, i > 0) ) : #[i:int] int (i) = "mac#%" // end-of-fun (* ****** ****** *) (* end of [inet.sats] *) ATS2-Postiats-0.2.6/./libc/arpa/SATS/.keeper0000664000175000017500000000000012655455557016606 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/CATS/0000775000175000017500000000000012655455557015324 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/CATS/.keeper0000664000175000017500000000000012655455557016566 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/arpa/CATS/inet.cats0000664000175000017500000000516412655455557017145 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: November, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_ARPA_INET_CATS #define ATSLIB_LIBC_ARPA_INET_CATS /* ****** ****** */ // #include #include // /* ****** ****** */ #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif // EXIT_SUCCESS #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif // EXIT_FAILURE /* ****** ****** */ // #define atslib_htons htons #define atslib_ntohs ntohs // #define atslib_htonl htonl #define atslib_ntohl ntohl // /* ****** ****** */ extern int inet_aton ( const char *cp, struct in_addr *inp ) ; // end of [inet_aton] ATSinline() atstype_bool atslib_inet_aton ( atstype_ptr cp, atstype_ref inp ) { // int rtn ; // rtn = inet_aton((char*)cp, (struct in_addr*)inp) ; // return (rtn ? atsbool_true : atsbool_false) ; // } // end of [atslib_inet_aton] /* ****** ****** */ #define atslib_inet_addr inet_addr #define atslib_inet_network inet_network /* ****** ****** */ #define atslib_inet_makeaddr inet_makeaddr /* ****** ****** */ #define atslib_inet_ntoa inet_ntoa /* ****** ****** */ #define atslib_inet4_pton(cp, inp) inet_pton(AF_INET4, cp, inp) #define atslib_inet6_pton(cp, inp) inet_pton(AF_INET6, cp, inp) /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_ARPA_INET_CATS /* ****** ****** */ /* end of [inet.cats] */ ATS2-Postiats-0.2.6/./libc/DATS/0000775000175000017500000000000012655455557014402 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/DATS/dirent.dats0000664000175000017500000000700512655455557016546 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: March, 2013 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/dirent.sats" (* ****** ****** *) implement{} dirent$PC_NAME_MAX ((*void*)) = 256 (* ****** ****** *) implement{} dirent_get_d_name_gc (ent) = let // val ( fpf | str ) = dirent_get_d_name (ent) val str2 = strptr1_copy (str) prval () = fpf (str) // in str2 end // end of [dirent_get_d_name_gc] implement{} direntp_get_d_name_gc (entp) = let // val ( pf, fpf | p ) = direntp_get_viewptr (entp) val str2 = dirent_get_d_name_gc<> (!p) prval () = minus_addback (fpf, pf | entp) // in str2 end // end of [direntp_get_d_name_gc] (* ****** ****** *) implement{} compare_dirent_string (ent1, str2) = let // val ( fpf1 | str1 ) = dirent_get_d_name (ent1) val sgn = compare_string_string ($UN.strptr2string(str1), str2) prval () = fpf1 (str1) // in sgn end // end of [compare_dirent_string] (* ****** ****** *) %{ extern atstype_ptr atslib_opendir_exn ( atstype_string dname ) { DIR *dirp ; dirp = opendir((char*)dname) ; if (!dirp) ATSLIBfailexit("opendir") ; return dirp ; // [opendir] succeeded } // end of [atslib_opendir_exn] %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_closedir_exn ( atstype_ptr dirp ) { int err = closedir((DIR*)dirp) ; if (err < 0) ATSLIBfailexit("closedir") ; return ; // [closedir] succeeded } // end of [atslib_closedir_exn] %} (* ****** ****** *) implement {}(*tmp*) readdir_r_gc (dirp) = let // val ofs = $extfcall ( Size_t , "offsetof" , $extval (int, "atslib_dirent_type") , $extval (int, "d_name") ) // val bsz = ofs + i2sz(dirent$PC_NAME_MAX()+1) val [l:addr] (pf, pfgc | p) = malloc_gc (bsz) prval pf = $UN.castview0{(dirent?)@l}(pf) var res: ptr val err = readdir_r (dirp, !p, res) // in // if res > 0 then $UN.castvwtp0{Direntp1}@(pf, pfgc | p) else let prval () = opt_clear{dirent}(!p) val () = ptr_free{dirent?}(pfgc, pf | p) in $UN.castvwtp0{Direntp0}(the_null_ptr) end (* end of [if] *) // end // end of [readdir_r_gc] (* ****** ****** *) (* end of [dirent.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/strings.dats0000664000175000017500000000320712655455557016752 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/strings.sats" (* ****** ****** *) // // HX-2013-03: it is still empty // (* ****** ****** *) (* end of [strings.dats] *)ATS2-Postiats-0.2.6/./libc/DATS/float.dats0000664000175000017500000000312512655455557016365 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: October, 2014 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/float.sats" (* ****** ****** *) (* end of [float.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/math.dats0000664000175000017500000001335512655455557016217 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/math.sats" (* ****** ****** *) implement isfinite = isfinite_float implement isfinite = isfinite_double implement isfinite = isfinite_ldouble implement isnormal = isnormal_float implement isnormal = isnormal_double implement isnormal = isnormal_ldouble implement fpclassify = fpclassify_float implement fpclassify = fpclassify_double implement fpclassify = fpclassify_ldouble (* ****** ****** *) // implement isinf = isinf_float implement isinf = isinf_double implement isinf = isinf_ldouble // implement isnan = isnan_float implement isnan = isnan_double implement isnan = isnan_ldouble // (* ****** ****** *) implement ceil = ceil_float implement ceil = ceil_double implement ceil = ceil_ldouble (* ****** ****** *) implement floor = floor_float implement floor = floor_double implement floor = floor_ldouble (* ****** ****** *) implement round = round_float implement round = round_double implement round = round_ldouble (* ****** ****** *) implement trunc = trunc_float implement trunc = trunc_double implement trunc = trunc_ldouble (* ****** ****** *) implement fmod = fmod_float implement fmod = fmod_double implement fmod = fmod_ldouble (* ****** ****** *) // implement fmax = fmax_float implement fmax = fmax_double implement fmax = fmax_ldouble // implement fmin = fmin_float implement fmin = fmin_double implement fmin = fmax_ldouble // (* ****** ****** *) implement fdim = fdim_float implement fdim = fdim_double implement fdim = fdim_ldouble (* ****** ****** *) implement fma = fma_float implement fma = fma_double implement fma = fma_ldouble (* ****** ****** *) // implement sqrt = sqrt_float implement sqrt = sqrt_double implement sqrt = sqrt_ldouble // implement cbrt = cbrt_float implement cbrt = cbrt_double implement cbrt = cbrt_ldouble // (* ****** ****** *) implement pow = pow_float implement pow = pow_double implement pow = pow_ldouble (* ****** ****** *) implement exp = exp_float implement exp = exp_double implement exp = exp_ldouble (* ****** ****** *) implement log = log_float implement log = log_double implement log = log_ldouble implement log10 = log10_float implement log10 = log10_double implement log10 = log10_ldouble (* ****** ****** *) // implement sin = sin_float implement sin = sin_double implement sin = sin_ldouble // implement cos = cos_float implement cos = cos_double implement cos = cos_ldouble // implement tan = tan_float implement tan = tan_double implement tan = tan_ldouble // (* ****** ****** *) // implement asin = asin_float implement asin = asin_double implement asin = asin_ldouble // implement acos = acos_float implement acos = acos_double implement acos = acos_ldouble // implement atan = atan_float implement atan = atan_double implement atan = atan_ldouble // implement atan2 = atan2_float implement atan2 = atan2_double implement atan2 = atan2_ldouble // (* ****** ****** *) // implement sinh = sinh_float implement sinh = sinh_double implement sinh = sinh_ldouble // implement cosh = cosh_float implement cosh = cosh_double implement cosh = cosh_ldouble // implement tanh = tanh_float implement tanh = tanh_double implement tanh = tanh_ldouble // (* ****** ****** *) // implement asinh = asinh_float implement asinh = asinh_double implement asinh = asinh_ldouble // implement acosh = acosh_float implement acosh = acosh_double implement acosh = acosh_ldouble // implement atanh = atanh_float implement atanh = atanh_double implement atanh = atanh_ldouble // (* ****** ****** *) (* end of [math.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/unistd.dats0000664000175000017500000001125012655455557016564 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/errno.sats" staload "libc/SATS/fcntl.sats" staload "libc/SATS/unistd.sats" (* ****** ****** *) %{ extern atsvoid_t0ype atslib_close_exn ( atstype_int fd ) { int err ; err = atslib_close(fd) ; if (0 > err) ATSLIBfailexit("close") ; return ; } /* end of [atslib_close_exn] */ %} (* ****** ****** *) %{ extern atstype_int atslib_dup2_fildes ( atstype_int fd, atstype_int fd2 ) { int flags ; // flags = fcntl(fd, F_GETFD) ; // if (flags >= 0) { errno = EINVAL ; return -1 ; // [fd2] in use } /* end of [if] */ // return atslib_dup2(fd, fd2) ; // } /* end of [atslib_dup2_fildes] */ %} (* ****** ****** *) %{ extern atstype_strptr atslib_getcwd_gc ( ) { char *p_cwd ; int bsz ; int myeno ; char *p2_cwd ; // // HX: [64] is chosen nearly randomly // bsz = 64 ; p_cwd = (char*)0 ; // while (1) { p_cwd = atspre_malloc_gc(bsz) ; p2_cwd = atslib_getcwd(p_cwd, bsz) ; myeno = errno ; if (p2_cwd != 0) return p_cwd ; else atspre_mfree_gc(p_cwd) ; if (myeno != ERANGE) break ; bsz = 2 * bsz ; } // return (char*)0 ; // } /* end of [atslib_getcwd_gc] */ %} (* ****** ****** *) %{ extern atstype_strptr atslib_getlogin_r_gc ( ) { char *p_uid ; int bsz ; int err, myeno ; // // HX: [16] is chosen nearly randomly // bsz = 16 ; p_uid = (char*)0 ; // while (1) { p_uid = atspre_malloc_gc(bsz) ; err = atslib_getlogin_r(p_uid, bsz) ; myeno = errno ; if (err==0) return p_uid ; else atspre_mfree_gc(p_uid) ; if (myeno != ERANGE) break ; bsz = 2 * bsz ; } // return (char*)0 ; // } /* end of [atslib_getlogin_r_gc] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_rmdir_exn ( atstype_string path ) { int err ; err = atslib_rmdir(path) ; if (0 > err) ATSLIBfailexit("rmdir") ; return ; } /* end of [atslib_rmdir_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_link_exn ( atstype_string old, atstype_string new ) { int err ; err = atslib_link(old, new) ; if (0 > err) ATSLIBfailexit("link") ; return ; } /* end of [atslib_link_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_unlink_exn ( atstype_string path ) { int err ; err = atslib_unlink(path) ; if (0 > err) ATSLIBfailexit("unlink") ; return ; } /* end of [atslib_unlink_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_symlink_exn ( atstype_string old, atstype_string new ) { int err ; err = atslib_symlink(old, new) ; if (0 > err) ATSLIBfailexit("symlink") ; return ; } /* end of [atslib_symlink_exn] */ %} (* ****** ****** *) %{ extern atstype_strptr atslib_readlink_gc ( atstype_string path ) { char *bfp ; // // HX: [64] is chosen nearly randomly // int bsz = 64 ; ssize_t bsz2 ; bfp = (char*)0 ; // while (1) { bfp = atspre_malloc_gc(bsz) ; bsz2 = atslib_readlink(path, bfp, bsz) ; /* fprintf(stderr, "atslib_readlink_gc: bsz2 = %li\n", bsz2) ; */ if (bsz2 < 0) { atspre_mfree_gc(bfp) ; break ; } if (bsz2 < bsz) { bfp[bsz2] = '\000' ; return bfp ; } atspre_mfree_gc(bfp) ; bsz *= 2 ; } // return (char*)0 ; // HX: deadcode // } /* end of [atslib_readlink_gc] */ %} (* ****** ****** *) (* end of [unistd.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/stdlib.dats0000664000175000017500000000411612655455557016542 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: May, 2012 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/stdlib.sats" (* ****** ****** *) implement{ } getenv_gc (name) = let val fpfstr = getenv (name) val str2 = strptr0_copy (fpfstr.1) prval () = fpfstr.0 (fpfstr.1) in str2 end // end of [getenv_gc] (* ****** ****** *) %{ extern atstype_ptr atslib_malloc_libc_exn (atstype_size bsz) { void *p ; p = atslib_malloc_libc(bsz) ; if (!p) { fprintf(stderr, "exit(ATSLIB): [malloc] failed\n") ; exit(1) ; } // end of [if] return p ; } /* end of [atslib_malloc_libc_exn] */ %} (* ****** ****** *) (* end of [stdlib.dats] *)ATS2-Postiats-0.2.6/./libc/DATS/fcntl.dats0000664000175000017500000000347012655455557016371 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/fcntl.sats" (* ****** ****** *) %{ extern atstype_int atslib_fildes_iget_int ( atstype_int fd ) { int flags ; flags = fcntl (fd, F_GETFD) ; if (flags < 0) return -1 ; // [fd2] not in use return fd ; } // end of [atslib_fildes_iget_int] %} (* ****** ****** *) (* end of [fcntl.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/time.dats0000664000175000017500000000404312655455557016216 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: May, 2012 // (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/time.sats" (* ****** ****** *) implement{ } ctime_r_gc (tval) = let // val bsz = g1i2u (CTIME_BUFSZ) val (pf, pfgc | p) = malloc_gc (bsz) // val p1 = ctime_r (pf | tval, p) // in // if p1 > 0 then let prval ctime_v_succ (pf) = pf in $UN.castvwtp0{Strptr1}((pf, pfgc | p)) end else let prval ctime_v_fail (pf) = pf val () = mfree_gc (pf, pfgc | p) in strptr_null () end // end of [if] // end // end of [ctime_r_gc] (* ****** ****** *) (* end of [stdlib.dats] *)ATS2-Postiats-0.2.6/./libc/DATS/errno.dats0000664000175000017500000000317012655455557016405 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: January, 2014 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/errno.sats" (* ****** ****** *) (* end of [errno.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/.keeper0000664000175000017500000000000012655455557015644 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/DATS/string.dats0000664000175000017500000000416112655455557016567 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/string.sats" (* ****** ****** *) %{ extern atstype_ptr atslib_strerror_r_gc ( atstype_int errnum ) { char *p_err ; int bsz ; int err, myeno ; // // HX: [64] is chosen nearly randomly // bsz = 64 ; p_err = (char*)0 ; // while (1) { p_err = atspre_malloc_gc(bsz) ; err = atslib_strerror_r(errnum, p_err, bsz) ; myeno = errno ; if (err==0) return p_err ; if (myeno != ERANGE) break ; atspre_mfree_gc(p_err) ; bsz = 2 * bsz ; } // return p_err ; // } /* end of [atslib_strerror_r_gc] */ %} (* ****** ****** *) (* end of [string.dats] *) ATS2-Postiats-0.2.6/./libc/DATS/stdio.dats0000664000175000017500000001217512655455557016407 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2012 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for dynloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/SATS/stdio.sats" (* ****** ****** *) %{ extern atstype_ptr atslib_fopen_exn ( atstype_string path , atstype_string mode ) { FILE *filp ; filp = fopen ((char*)path, (char*)mode) ; if (!filp) ATSLIBfailexit("fopen") ; // HX: failure return filp ; } /* end of [atslib_fopen_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_fclose_exn (atstype_ptr filp) { int err ; err = fclose ((FILE*)filp) ; if (0 > err) ATSLIBfailexit("fclose") ; return ; } /* end of [atslib_fclose_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_fflush_exn ( atstype_ptr filp ) { int err = fflush((FILE*)filp) ; if (0 > err) ATSLIBfailexit("fflush") ; return ; } /* end of [atslib_fflush_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_fputc_exn ( atstype_int c, atstype_ptr filp ) { int err ; err = fputc(c, (FILE*)filp) ; if (0 > err) { ATSLIBfailexit("fputc") ; // abnormal exit } // end of [if] return ; } /* end of [atslib_fputc_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_fgets_exn ( atstype_ptr buf0 , atstype_int bsz0 , atstype_ptr filp ) { char *buf, *pres ; buf = (char*)buf0 ; pres = fgets(buf, (int)bsz0, (FILE*)filp) ; if (!pres) { if (feof((FILE*)filp)) { buf[0] = '\000' ; // EOF is reached } else { ATSLIBfailexit("fgets") ; // abnormal exit } // end of [if] } // end of [if] return ; } /* end of [atslib_fgets_exn] */ %} (* ****** ****** *) %{ extern atstype_ptr atslib_fgets_gc ( atstype_int bsz0 , atstype_ptr filp0 ) { int bsz = bsz0 ; FILE *filp = (FILE*)filp0 ; int ofs = 0, ofs2 ; char *buf, *buf2, *pres ; buf = atspre_malloc_gc(bsz) ; while (1) { buf2 = buf+ofs ; pres = fgets(buf2, bsz-ofs, filp) ; if (!pres) { if (feof(filp)) { *buf2 = '\000' ; return buf ; } else { atspre_mfree_gc(buf) ; return (char*)0 ; } // end of [if] } ofs2 = strlen(buf2) ; if (ofs2==0) return buf ; ofs += ofs2 ; // HX: ofs > 0 if (buf[ofs-1]=='\n') return buf ; bsz *= 2 ; buf2 = buf ; buf = atspre_malloc_gc(bsz) ; memcpy(buf, buf2, ofs) ; atspre_mfree_gc(buf2) ; } // end of [while] return buf ; // HX: deadcode } /* end of [atslib_fgets_gc] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_fputs_exn ( atstype_string str, atstype_ptr filp ) { int err ; err = fputs((char*)str, (FILE*)filp) ; if (0 > err) { ATSLIBfailexit("fputs") ; // abnormal exit } // end of [if] return ; } /* end of [atslib_fputs_exn] */ %} (* ****** ****** *) %{ extern atsvoid_t0ype atslib_puts_exn ( atstype_string str ) { int err ; err = puts((char*)str) ; if (0 > err) { ATSLIBfailexit("puts") ; // abnormal exit } // end of [if] return ; } /* end of [atslib_puts_exn] */ %} (* ****** ****** *) %{ extern atstype_ptr atslib_popen_exn ( atstype_string cmd , atstype_string type ) { FILE *filp ; filp = popen((char*)cmd, (char*)type) ; if (!filp) { ATSLIBfailexit("popen") ; // abnormal exit } // end of [if] return filp ; } /* end of [atslib_popen_exn] */ %} (* ****** ****** *) %{ extern atstype_int atslib_pclose_exn ( atstype_ptr filp ) { int res ; res = pclose((FILE*)filp) ; if (0 > res) { ATSLIBfailexit("pclose") ; // abnormal exit } // end of [if] return res ; } /* end of [atslib_pclose_exn] */ %} (* ****** ****** *) %{ extern atstype_ptr atslib_tmpfile_exn( ) { FILE *filp = tmpfile() ; if (!filp) ATSLIBfailexit("tmpfile") ; return (filp) ; } /* end of [atslib_tmpfile_exn] */ %} (* ****** ****** *) (* end of [stdio.dats] *) ATS2-Postiats-0.2.6/./libc/SATS/0000775000175000017500000000000012655455557014421 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/SATS/fcntl.sats0000664000175000017500000000663112655455557016431 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/fcntl.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" // typedef mode_t = $TYPES.mode_t // vtypedef fildes (i:int) = $TYPES.fildes (i) // vtypedef Fildes = $TYPES.Fildes vtypedef Fildes0 = $TYPES.Fildes0 // (* ****** ****** *) praxi fildes_neg_elim {fd:int | fd < 0} (fd: fildes (fd)): void (* ****** ****** *) // // HX: this is just a castfn // fun fildes_get_int {fd:int} (fd: !fildes (fd)):<> int (fd) = "mac#%" // fun fildes_isgtez {fd:int} (fd: !fildes (fd)):<> bool (fd >= 0) = "mac#%" // (* ****** ****** *) // fun fildes_iget_int (fd: int):<> [fd:int] vttakeout0 (fildes (fd)) = "ext#%" // (* ****** ****** *) abst@ype fcntlflags = int // macdef O_CREAT = $extval (fcntlflags, "O_CREAT") macdef O_EXCL = $extval (fcntlflags, "O_EXCL") macdef O_TRUNC = $extval (fcntlflags, "O_TRUNC") macdef O_APPEND = $extval (fcntlflags, "O_APPEND") // macdef O_RDWR = $extval (fcntlflags, "O_RDWR") macdef O_RDONLY = $extval (fcntlflags, "O_RDONLY") macdef O_WRONLY = $extval (fcntlflags, "O_WRONLY") // macdef O_SYNC = $extval (fcntlflags, "O_SYNC") macdef O_ASYNC = $extval (fcntlflags, "O_ASYNC") // macdef O_NOCTTY = $extval (fcntlflags, "O_NOCTTY") // (* ****** ****** *) fun lor_fcntlflags_fcntlflags : (fcntlflags, fcntlflags) -<> fcntlflags = "ext#atspre_lor_int_int" overload lor with lor_fcntlflags_fcntlflags (* ****** ****** *) fun open_flags ( path: NSH(string), flags: fcntlflags ) : Fildes = "mac#%" // endfun fun open_flags_mode ( path: NSH(string), flags: fcntlflags, mode: mode_t ) : Fildes = "mac#%" // endfun (* ****** ****** *) fun fcntl_getfl (fd: !Fildes0): fcntlflags = "mac#%" fun fcntl_setfl (fd: !Fildes0, flags: fcntlflags): int = "mac#%" (* ****** ****** *) (* end of [fcntl.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/signal.sats0000664000175000017500000002003012655455557016565 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: April, 2014 // (* ****** ****** *) %{# #include "libc/CATS/signal.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" typedef pid_t = $TYPES.pid_t typedef uid_t = $TYPES.uid_t typedef clock_t = $TYPES.clock_t // (* staload PTHREAD = "libc/SATS/pthread.sats" typedef pthread_t = $PTHREAD.pthread_t *) abst@ype pthread_t0ype = $extype "pthread_t" // typedef pthread_t = pthread_t0ype // (* ****** ****** *) // // HX: defined in [libc/CATS/signal.cats] // abst@ype signum_t0ype = $extype"signum_t" // typedef signum_t = signum_t0ype // macdef SIGHUP = $extval (signum_t, "SIGHUP") // 1 macdef SIGINT = $extval (signum_t, "SIGINT") // 2 macdef SIGQUIT = $extval (signum_t, "SIGQUIT") // 3 macdef SIGILL = $extval (signum_t, "SIGILL") // 4 macdef SIGABRT = $extval (signum_t, "SIGABRT") // 6 macdef SIGFPE = $extval (signum_t, "SIGFPE") // 8 macdef SIGKILL = $extval (signum_t, "SIGKILL") // 9 macdef SIGSEGV = $extval (signum_t, "SIGSEGV") // 11 macdef SIGPIPE = $extval (signum_t, "SIGPIPE") // 13 macdef SIGALRM = $extval (signum_t, "SIGALRM") // 14 macdef SIGTERM = $extval (signum_t, "SIGTERM") // 15 macdef SIGUSR1 = $extval (signum_t, "SIGUSR1") macdef SIGUSR2 = $extval (signum_t, "SIGUSR2") macdef SIGCHLD = $extval (signum_t, "SIGCHLD") macdef SIGCONT = $extval (signum_t, "SIGCONT") macdef SIGSTOP = $extval (signum_t, "SIGSTOP") macdef SIGTSTP = $extval (signum_t, "SIGTSTP") macdef SIGTTIN = $extval (signum_t, "SIGTTIN") macdef SIGTTOU = $extval (signum_t, "SIGTTOU") // macdef SIGBUS = $extval (signum_t, "SIGBUS") macdef SIGTRAP = $extval (signum_t, "SIGTRAP") // 5 // macdef SIGIO = $extval (signum_t, "SIGIO") // (* ****** ****** *) // abstype sighandler_type = ptr typedef sighandler_t = sighandler_type // macdef SIG_DFL = $extval (sighandler_t, "SIG_DFL") macdef SIG_IGN = $extval (sighandler_t, "SIG_IGN") macdef SIG_HOLD = $extval (sighandler_t, "SIG_HOLD") macdef SIG_ERR = $extval (sighandler_t, "SIG_ERR") // castfn sighandler (f: (signum_t) - void): sighandler_t // (* ****** ****** *) // abst@ype sigset_t0ype = $extype"sigset_t" // typedef sigset_t = sigset_t0ype // // HX-2014-04-07: // errno [EINVAL] is set in case of failure // fun sigemptyset // 0/-1 : succ/fail ( set: &sigset_t? >> opt (sigset_t, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" // fun sigfillset // 0/-1 : succ/fail ( set: &sigset_t? >> opt (sigset_t, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" // fun sigaddset // 0/-1 : succ/fail (set: &sigset_t, sgn: signum_t): int = "mac#%" // fun sigdelset // 0/-1 : succ/fail (set: &sigset_t, sgn: signum_t): int = "mac#%" // fun sigismember // 0/1/-1 : false/true/error (set: &sigset_t, sgn: signum_t): int = "mac#%" // (* ****** ****** *) // abst@ype sigmaskhow_t0ype = int // typedef sigmaskhow_t = sigmaskhow_t0ype // macdef SIG_BLOCK = $extval (sigmaskhow_t, "SIG_BLOCK") macdef SIG_UNBLOCK = $extval (sigmaskhow_t, "SIG_UNBLOCK") macdef SIG_SETMASK = $extval (sigmaskhow_t, "SIG_SETMASK") // (* ****** ****** *) // abst@ype sigval_t0ype = $extype"sigval_t" typedef sigval_t = sigval_t0ype // abst@ype saflag_t0ype = uint typedef saflag_t = saflag_t0ype // macdef SA_NOCLDSTOP = $extval (saflag_t, "SA_NOCLDSTOP") macdef SA_NOCLDWAIT = $extval (saflag_t, "SA_NOCLDWAIT") macdef SA_NODEFER = $extval (saflag_t, "SA_NODEFER") macdef SA_ONSTACK = $extval (saflag_t, "SA_ONSTACK") macdef SA_RESETHAND = $extval (saflag_t, "SA_RESETHAND") macdef SA_RESTART = $extval (saflag_t, "SA_RESTART") macdef SA_SIGINFO = $extval (saflag_t, "SA_SIGINFO") // (* ****** ****** *) // // HX: this one is deprecated; please use [sigaction] // fun signal (sgn: signum_t, act: sighandler_t): sighandler_t = "mac#%" // end of [signal] // (* ****** ****** *) // typedef siginfo_struct = $extype_struct"siginfo_t" of { si_signo= int // signal number , si_sigerror= int // error value , si_code= int // signal code , si_trapno= int // trap number that caused HW signal , si_pid= pid_t // proc ID of the sending process , si_uid= uid_t // real user ID of the sending process , si_status= int // exit value or signal , si_utime= clock_t // user time consumed , si_stime= clock_t // system time consumed , si_value= sigval_t // signal value , si_int= int // signal (POSIX.1b) , si_ptr= ptr // signal (POSIX.1b) , si_overrun= int // timer overrun count (POSIX.1b) , si_timerid= int // timer ID (POSIX.1b) , si_addr= ptr // memory location that caused fault , si_band= int // band event , si_fd= int // file descriptor } (* end of [siginfo_struct] *) // typedef siginfo = siginfo_struct // (* ****** ****** *) // typedef sigaction_struct = $extype_struct "atslib_sigaction_struct" of { sa_handler= sighandler_t , sa_sigaction= (int, &siginfo, ptr) - void , sa_mask= sigset_t , sa_flags= saflag_t , sa_restorer= ((*void*)) - void } (* end of [sigaction_struct] *) // typedef sigaction = sigaction_struct // fun sigaction ( sgn: signum_t , newact: &RD(sigaction) , oldact: &sigaction? >> opt (sigaction, i==0) ) : #[i:int | i <= 0] int i = "mac#%" // 0/-1 : succ/fail // fun sigaction_null (sgn: signum_t, newact: &RD(sigaction)): int = "mac#%" // (* ****** ****** *) // fun kill // 0/-1 : succ/fail // errno set (proc: pid_t, sgn: signum_t): int = "mac#%" // // HX: killpg (pgrp, sgn) = kill (-pgrp, sgn) // fun killpg // 0/-1 : succ/fail // errno set (pgrp: pid_t, sgn: signum_t): int = "mac#%" // (* ****** ****** *) // // HX-2014-04: // raise(sgn) = // pthread_kill (pthread_self, sgn) // fun raise (signum_t): int = "mac#%" // fun pthread_kill // 0/errno : succ/fail (tid: pthread_t, sgn: signum_t): int = "mac#%" // (* ****** ****** *) // // HX-2014-04-07: 0/errno : succ/fail // fun sigwait ( set: &sigset_t , sgn: &signum_t? >> opt (signum_t, i==0) ) : #[i:int | i >= 0] int(i) = "mac#%" // (* ****** ****** *) // // HX-2014-04-07: // [sigpause] is deprecated // please use [sigsuspend] instead // // always -1: fail // errno set fun sigpause (sgn: signum_t): int = "mac#%" // // HX-2014-04-07: // always -1: fail // errno set // EINTR is set normally // fun sigsuspend (mask: &sigset_t): int = "mac#%" // (* ****** ****** *) // // HX-2014-04-07: // 0/-1 : succ/fail // errno set // fun sigpending ( set: &sigset_t? >> opt (sigset_t, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" // // // HX-2014-04-07: // 0/-1 : succ/fail // errno set // fun siginterrupt (sgn: signum_t, flag: int): int = "mac#%" // (* ****** ****** *) // (* // // HX: print onto stderr // *) fun psignal (sgn: signum_t, msg: string): void = "mac#%" // end of [psignal] fun strsignal (sgn: signum_t) // HX: errno set? : [l:addr] (strptr(l) - void | strptr(l)) = "mac#%" // end of [strsignal] // (* ****** ****** *) (* end of [signal.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/malloc.sats0000664000175000017500000000521012655455557016562 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/malloc.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) // abst@ype mallopt_param = int // macdef M_MXFAST = $extval (mallopt_param, "M_MXFAST") macdef M_TRIM_THRESHOLD = $extval (mallopt_param, "M_TRIM_THRESHOLD") macdef M_TOP_PAD = $extval (mallopt_param, "M_TOP_PAD") macdef M_MMAP_THRESHOLD = $extval (mallopt_param, "M_MMAP_THRESHOLD") macdef M_MMAP_MAX = $extval (mallopt_param, "M_MMAP_MAX") macdef M_CHECK_ACTION = $extval (mallopt_param, "M_CHECK_ACTION") // (* ****** ****** *) fun mallopt ( param: mallopt_param, value: int(*bsz*) ) : int = "mac#%" // endfun // succ/fail: 1/0 (* ****** ****** *) fun malloc_trim (pad: size_t): int (*1/0:some/none*) = "mac#%" (* ****** ****** *) fun malloc_usable_size {l:addr} (!mfree_libc_v l | ptr l): size_t = "mac#%" // end of [malloc_usable_size] (* ****** ****** *) fun malloc_stats (): void = "mac#%" // it outputs to stderr (* ****** ****** *) (* fun malloc_get_state (): ptr = "mac#%" fun malloc_set_state (ptr: ptr): int = "mac#%" *) (* ****** ****** *) (* end of [malloc.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/dlfcn.sats0000664000175000017500000000537712655455557016417 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: December, 2013 // (* ****** ****** *) %{# #include "libc/CATS/dlfcn.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) // macdef RTLD_NOW = $extval (uint, "RTLD_NOW") macdef RTLD_LAZY = $extval (uint, "RTLD_LAZY") // (* ****** ****** *) // macdef RTLD_LOCAL = $extval (uint, "RTLD_LOCAL") macdef RTLD_GLOBAL = $extval (uint, "RTLD_GLOBAL") macdef RTLD_NOLOAD = $extval (uint, "RTLD_NOLOAD") // glibc-2.2 macdef RTLD_NODELETE = $extval (uint, "RTLD_NODELETE") // glibc-2.2 macdef RTLD_DEEPBIND = $extval (uint, "RTLD_DEEPBIND") // glibc-2.3.4 // (* ****** ****** *) absview dlopen_v (l:addr) (* ****** ****** *) fun dlopen ( filename: NSH(stropt), flag: uint ) : [l:addr] (option_v (dlopen_v(l), l > null) | ptr l) = "mac#%" (* ****** ****** *) fun dlclose{l:agz} (pf: dlopen_v (l) | p: ptr (l)): [i:int | i >= 0] int(i) = "mac#%" // end of [dlclose] (* ****** ****** *) // praxi dlopen_v_elim_null{l:addr | l <= null} (pf: dlopen_v (l)): void // (* ****** ****** *) fun dlerror ((*void*)): vStrptr0 = "mac#%" (* ****** ****** *) // fun dlsym{l:agz} (pf: !dlopen_v l | handle: ptr l, sym: NSH(string)): Ptr0 = "mac#%" // (* ****** ****** *) (* end of [dlfcn.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/alloca.sats0000664000175000017500000000503312655455557016551 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: February, 2014 // (* ****** ****** *) %{# #include "libc/CATS/alloca.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) fun alloca {dummy:addr}{n:int} ( pf: void@dummy | n: size_t (n) ) : [l:addr] ( bytes(n) @ l, bytes(n) @ l -> void@dummy | ptr(l) ) = "mac#%" // end of [alloca] (* ****** ****** *) (* fun{ a:vt0p } ptr_alloca {dummy:addr} ( pf: void@dummy | (*void*) ) : [l:addr] (a? @ l, a? @ l -> void@dummy | ptr(l)) *) fun ptr_alloca_tsz {a:vt0p}{dummy:addr} (pf: void@dummy | tsz: sizeof_t(a)) : [l:addr] (a? @ l, a? @ l -> void@dummy | ptr(l)) = "mac#%" (* ****** ****** *) (* fun{ a:vt0p } array_ptr_alloca {dummy:addr}{n:int} ( pf: void@dummy | asz: size_t(n) ) : [l:addr] (array(a?,n)@l, array(a?,n)@l -> void@dummy | ptr(l)) *) fun array_ptr_alloca_tsz {a:vt0p}{dummy:addr}{n:int} ( pf: void@dummy | asz: size_t(n), tsz: sizeof_t(a) ) : [l:addr] (array(a?,n)@l, array(a?,n)@l -> void@dummy | ptr(l)) = "mac#%" (* ****** ****** *) (* end of [alloca.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/unistd_sysconf.sats0000664000175000017500000004047512655455557020401 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) typedef sysconfname = int (* ****** ****** *) // // HX: error reporting: // -1 is returned and errno is set // fun sysconf (name: sysconfname): lint = "mac#%" // (* ****** ****** *) macdef _SC_ARG_MAX = $extval (sysconfname, "_SC_ARG_MAX") macdef _SC_CHILD_MAX = $extval (sysconfname, "_SC_CHILD_MAX") macdef _SC_CLK_TCK = $extval (sysconfname, "_SC_CLK_TCK") macdef _SC_NGROUPS_MAX = $extval (sysconfname, "_SC_NGROUPS_MAX") macdef _SC_OPEN_MAX = $extval (sysconfname, "_SC_OPEN_MAX") macdef _SC_STREAM_MAX = $extval (sysconfname, "_SC_STREAM_MAX") macdef _SC_TZNAME_MAX = $extval (sysconfname, "_SC_TZNAME_MAX") macdef _SC_JOB_CONTROL = $extval (sysconfname, "_SC_JOB_CONTROL") macdef _SC_SAVED_IDS = $extval (sysconfname, "_SC_SAVED_IDS") macdef _SC_REALTIME_SIGNALS = $extval (sysconfname, "_SC_REALTIME_SIGNALS") macdef _SC_PRIORITY_SCHEDULING = $extval (sysconfname, "_SC_PRIORITY_SCHEDULING") macdef _SC_TIMERS = $extval (sysconfname, "_SC_TIMERS") macdef _SC_ASYNCHRONOUS_IO = $extval (sysconfname, "_SC_ASYNCHRONOUS_IO") macdef _SC_PRIORITIZED_IO = $extval (sysconfname, "_SC_PRIORITIZED_IO") macdef _SC_SYNCHRONIZED_IO = $extval (sysconfname, "_SC_SYNCHRONIZED_IO") macdef _SC_FSYNC = $extval (sysconfname, "_SC_FSYNC") macdef _SC_MAPPED_FILES = $extval (sysconfname, "_SC_MAPPED_FILES") macdef _SC_MEMLOCK = $extval (sysconfname, "_SC_MEMLOCK") macdef _SC_MEMLOCK_RANGE = $extval (sysconfname, "_SC_MEMLOCK_RANGE") macdef _SC_MEMORY_PROTECTION = $extval (sysconfname, "_SC_MEMORY_PROTECTION") macdef _SC_MESSAGE_PASSING = $extval (sysconfname, "_SC_MESSAGE_PASSING") macdef _SC_SEMAPHORES = $extval (sysconfname, "_SC_SEMAPHORES") macdef _SC_SHARED_MEMORY_OBJECTS = $extval (sysconfname, "_SC_SHARED_MEMORY_OBJECTS") macdef _SC_AIO_LISTIO_MAX = $extval (sysconfname, "_SC_AIO_LISTIO_MAX") macdef _SC_AIO_MAX = $extval (sysconfname, "_SC_AIO_MAX") macdef _SC_AIO_PRIO_DELTA_MAX = $extval (sysconfname, "_SC_AIO_PRIO_DELTA_MAX") macdef _SC_DELAYTIMER_MAX = $extval (sysconfname, "_SC_DELAYTIMER_MAX") macdef _SC_MQ_OPEN_MAX = $extval (sysconfname, "_SC_MQ_OPEN_MAX") macdef _SC_MQ_PRIO_MAX = $extval (sysconfname, "_SC_MQ_PRIO_MAX") macdef _SC_VERSION = $extval (sysconfname, "_SC_VERSION") macdef _SC_PAGESIZE = $extval (sysconfname, "_SC_PAGESIZE") macdef _SC_PAGE_SIZE = $extval (sysconfname, "_SC_PAGE_SIZE") macdef _SC_RTSIG_MAX = $extval (sysconfname, "_SC_RTSIG_MAX") macdef _SC_SEM_NSEMS_MAX = $extval (sysconfname, "_SC_SEM_NSEMS_MAX") macdef _SC_SEM_VALUE_MAX = $extval (sysconfname, "_SC_SEM_VALUE_MAX") macdef _SC_SIGQUEUE_MAX = $extval (sysconfname, "_SC_SIGQUEUE_MAX") macdef _SC_TIMER_MAX = $extval (sysconfname, "_SC_TIMER_MAX") // macdef _SC_BC_BASE_MAX = $extval (sysconfname, "_SC_BC_BASE_MAX") macdef _SC_BC_DIM_MAX = $extval (sysconfname, "_SC_BC_DIM_MAX") macdef _SC_BC_SCALE_MAX = $extval (sysconfname, "_SC_BC_SCALE_MAX") macdef _SC_BC_STRING_MAX = $extval (sysconfname, "_SC_BC_STRING_MAX") macdef _SC_COLL_WEIGHTS_MAX = $extval (sysconfname, "_SC_COLL_WEIGHTS_MAX") macdef _SC_EQUIV_CLASS_MAX = $extval (sysconfname, "_SC_EQUIV_CLASS_MAX") macdef _SC_EXPR_NEST_MAX = $extval (sysconfname, "_SC_EXPR_NEST_MAX") macdef _SC_LINE_MAX = $extval (sysconfname, "_SC_LINE_MAX") macdef _SC_RE_DUP_MAX = $extval (sysconfname, "_SC_RE_DUP_MAX") macdef _SC_CHARCLASS_NAME_MAX = $extval (sysconfname, "_SC_CHARCLASS_NAME_MAX") // macdef _SC_2_VERSION = $extval (sysconfname, "_SC_2_VERSION") macdef _SC_2_C_BIND = $extval (sysconfname, "_SC_2_C_BIND") macdef _SC_2_C_DEV = $extval (sysconfname, "_SC_2_C_DEV") macdef _SC_2_FORT_DEV = $extval (sysconfname, "_SC_2_FORT_DEV") macdef _SC_2_FORT_RUN = $extval (sysconfname, "_SC_2_FORT_RUN") macdef _SC_2_SW_DEV = $extval (sysconfname, "_SC_2_SW_DEV") macdef _SC_2_LOCALEDEF = $extval (sysconfname, "_SC_2_LOCALEDEF") // macdef _SC_PII = $extval (sysconfname, "_SC_PII") macdef _SC_PII_XTI = $extval (sysconfname, "_SC_PII_XTI") macdef _SC_PII_SOCKET = $extval (sysconfname, "_SC_PII_SOCKET") macdef _SC_PII_INTERNET = $extval (sysconfname, "_SC_PII_INTERNET") macdef _SC_PII_OSI = $extval (sysconfname, "_SC_PII_OSI") macdef _SC_POLL = $extval (sysconfname, "_SC_POLL") macdef _SC_SELECT = $extval (sysconfname, "_SC_SELECT") macdef _SC_UIO_MAXIOV = $extval (sysconfname, "_SC_UIO_MAXIOV") macdef _SC_IOV_MAX = _SC_UIO_MAXIOV = $extval (sysconfname, "_SC_IOV_MAX = _SC_UIO_MAXIOV") macdef _SC_PII_INTERNET_STREAM = $extval (sysconfname, "_SC_PII_INTERNET_STREAM") macdef _SC_PII_INTERNET_DGRAM = $extval (sysconfname, "_SC_PII_INTERNET_DGRAM") macdef _SC_PII_OSI_COTS = $extval (sysconfname, "_SC_PII_OSI_COTS") macdef _SC_PII_OSI_CLTS = $extval (sysconfname, "_SC_PII_OSI_CLTS") macdef _SC_PII_OSI_M = $extval (sysconfname, "_SC_PII_OSI_M") macdef _SC_T_IOV_MAX = $extval (sysconfname, "_SC_T_IOV_MAX") // macdef _SC_THREADS = $extval (sysconfname, "_SC_THREADS") macdef _SC_THREAD_SAFE_FUNCTIONS = $extval (sysconfname, "_SC_THREAD_SAFE_FUNCTIONS") macdef _SC_GETGR_R_SIZE_MAX = $extval (sysconfname, "_SC_GETGR_R_SIZE_MAX") macdef _SC_GETPW_R_SIZE_MAX = $extval (sysconfname, "_SC_GETPW_R_SIZE_MAX") macdef _SC_LOGIN_NAME_MAX = $extval (sysconfname, "_SC_LOGIN_NAME_MAX") macdef _SC_TTY_NAME_MAX = $extval (sysconfname, "_SC_TTY_NAME_MAX") macdef _SC_THREAD_DESTRUCTOR_ITERATIONS = $extval (sysconfname, "_SC_THREAD_DESTRUCTOR_ITERATIONS") macdef _SC_THREAD_KEYS_MAX = $extval (sysconfname, "_SC_THREAD_KEYS_MAX") macdef _SC_THREAD_STACK_MIN = $extval (sysconfname, "_SC_THREAD_STACK_MIN") macdef _SC_THREAD_THREADS_MAX = $extval (sysconfname, "_SC_THREAD_THREADS_MAX") macdef _SC_THREAD_ATTR_STACKADDR = $extval (sysconfname, "_SC_THREAD_ATTR_STACKADDR") macdef _SC_THREAD_ATTR_STACKSIZE = $extval (sysconfname, "_SC_THREAD_ATTR_STACKSIZE") macdef _SC_THREAD_PRIORITY_SCHEDULING = $extval (sysconfname, "_SC_THREAD_PRIORITY_SCHEDULING") macdef _SC_THREAD_PRIO_INHERIT = $extval (sysconfname, "_SC_THREAD_PRIO_INHERIT") macdef _SC_THREAD_PRIO_PROTECT = $extval (sysconfname, "_SC_THREAD_PRIO_PROTECT") macdef _SC_THREAD_PROCESS_SHARED = $extval (sysconfname, "_SC_THREAD_PROCESS_SHARED") // macdef _SC_NPROCESSORS_CONF = $extval (sysconfname, "_SC_NPROCESSORS_CONF") macdef _SC_NPROCESSORS_ONLN = $extval (sysconfname, "_SC_NPROCESSORS_ONLN") macdef _SC_PHYS_PAGES = $extval (sysconfname, "_SC_PHYS_PAGES") macdef _SC_AVPHYS_PAGES = $extval (sysconfname, "_SC_AVPHYS_PAGES") macdef _SC_ATEXIT_MAX = $extval (sysconfname, "_SC_ATEXIT_MAX") macdef _SC_PASS_MAX = $extval (sysconfname, "_SC_PASS_MAX") // macdef _SC_XOPEN_VERSION = $extval (sysconfname, "_SC_XOPEN_VERSION") macdef _SC_XOPEN_XCU_VERSION = $extval (sysconfname, "_SC_XOPEN_XCU_VERSION") macdef _SC_XOPEN_UNIX = $extval (sysconfname, "_SC_XOPEN_UNIX") macdef _SC_XOPEN_CRYPT = $extval (sysconfname, "_SC_XOPEN_CRYPT") macdef _SC_XOPEN_ENH_I18N = $extval (sysconfname, "_SC_XOPEN_ENH_I18N") macdef _SC_XOPEN_SHM = $extval (sysconfname, "_SC_XOPEN_SHM") // macdef _SC_2_CHAR_TERM = $extval (sysconfname, "_SC_2_CHAR_TERM") macdef _SC_2_C_VERSION = $extval (sysconfname, "_SC_2_C_VERSION") macdef _SC_2_UPE = $extval (sysconfname, "_SC_2_UPE") // macdef _SC_XOPEN_XPG2 = $extval (sysconfname, "_SC_XOPEN_XPG2") macdef _SC_XOPEN_XPG3 = $extval (sysconfname, "_SC_XOPEN_XPG3") macdef _SC_XOPEN_XPG4 = $extval (sysconfname, "_SC_XOPEN_XPG4") // macdef _SC_CHAR_BIT = $extval (sysconfname, "_SC_CHAR_BIT") macdef _SC_CHAR_MAX = $extval (sysconfname, "_SC_CHAR_MAX") macdef _SC_CHAR_MIN = $extval (sysconfname, "_SC_CHAR_MIN") macdef _SC_INT_MAX = $extval (sysconfname, "_SC_INT_MAX") macdef _SC_INT_MIN = $extval (sysconfname, "_SC_INT_MIN") macdef _SC_LONG_BIT = $extval (sysconfname, "_SC_LONG_BIT") macdef _SC_WORD_BIT = $extval (sysconfname, "_SC_WORD_BIT") macdef _SC_MB_LEN_MAX = $extval (sysconfname, "_SC_MB_LEN_MAX") macdef _SC_NZERO = $extval (sysconfname, "_SC_NZERO") macdef _SC_SSIZE_MAX = $extval (sysconfname, "_SC_SSIZE_MAX") macdef _SC_SCHAR_MAX = $extval (sysconfname, "_SC_SCHAR_MAX") macdef _SC_SCHAR_MIN = $extval (sysconfname, "_SC_SCHAR_MIN") macdef _SC_SHRT_MAX = $extval (sysconfname, "_SC_SHRT_MAX") macdef _SC_SHRT_MIN = $extval (sysconfname, "_SC_SHRT_MIN") macdef _SC_UCHAR_MAX = $extval (sysconfname, "_SC_UCHAR_MAX") macdef _SC_UINT_MAX = $extval (sysconfname, "_SC_UINT_MAX") macdef _SC_ULONG_MAX = $extval (sysconfname, "_SC_ULONG_MAX") macdef _SC_USHRT_MAX = $extval (sysconfname, "_SC_USHRT_MAX") // macdef _SC_NL_ARGMAX = $extval (sysconfname, "_SC_NL_ARGMAX") macdef _SC_NL_LANGMAX = $extval (sysconfname, "_SC_NL_LANGMAX") macdef _SC_NL_MSGMAX = $extval (sysconfname, "_SC_NL_MSGMAX") macdef _SC_NL_NMAX = $extval (sysconfname, "_SC_NL_NMAX") macdef _SC_NL_SETMAX = $extval (sysconfname, "_SC_NL_SETMAX") macdef _SC_NL_TEXTMAX = $extval (sysconfname, "_SC_NL_TEXTMAX") // macdef _SC_XBS5_ILP32_OFF32 = $extval (sysconfname, "_SC_XBS5_ILP32_OFF32") macdef _SC_XBS5_ILP32_OFFBIG = $extval (sysconfname, "_SC_XBS5_ILP32_OFFBIG") macdef _SC_XBS5_LP64_OFF64 = $extval (sysconfname, "_SC_XBS5_LP64_OFF64") macdef _SC_XBS5_LPBIG_OFFBIG = $extval (sysconfname, "_SC_XBS5_LPBIG_OFFBIG") // macdef _SC_XOPEN_LEGACY = $extval (sysconfname, "_SC_XOPEN_LEGACY") macdef _SC_XOPEN_REALTIME = $extval (sysconfname, "_SC_XOPEN_REALTIME") macdef _SC_XOPEN_REALTIME_THREADS = $extval (sysconfname, "_SC_XOPEN_REALTIME_THREADS") // macdef _SC_ADVISORY_INFO = $extval (sysconfname, "_SC_ADVISORY_INFO") macdef _SC_BARRIERS = $extval (sysconfname, "_SC_BARRIERS") macdef _SC_BASE = $extval (sysconfname, "_SC_BASE") macdef _SC_C_LANG_SUPPORT = $extval (sysconfname, "_SC_C_LANG_SUPPORT") macdef _SC_C_LANG_SUPPORT_R = $extval (sysconfname, "_SC_C_LANG_SUPPORT_R") macdef _SC_CLOCK_SELECTION = $extval (sysconfname, "_SC_CLOCK_SELECTION") macdef _SC_CPUTIME = $extval (sysconfname, "_SC_CPUTIME") macdef _SC_THREAD_CPUTIME = $extval (sysconfname, "_SC_THREAD_CPUTIME") macdef _SC_DEVICE_IO = $extval (sysconfname, "_SC_DEVICE_IO") macdef _SC_DEVICE_SPECIFIC = $extval (sysconfname, "_SC_DEVICE_SPECIFIC") macdef _SC_DEVICE_SPECIFIC_R = $extval (sysconfname, "_SC_DEVICE_SPECIFIC_R") macdef _SC_FD_MGMT = $extval (sysconfname, "_SC_FD_MGMT") macdef _SC_FIFO = $extval (sysconfname, "_SC_FIFO") macdef _SC_PIPE = $extval (sysconfname, "_SC_PIPE") macdef _SC_FILE_ATTRIBUTES = $extval (sysconfname, "_SC_FILE_ATTRIBUTES") macdef _SC_FILE_LOCKING = $extval (sysconfname, "_SC_FILE_LOCKING") macdef _SC_FILE_SYSTEM = $extval (sysconfname, "_SC_FILE_SYSTEM") macdef _SC_MONOTONIC_CLOCK = $extval (sysconfname, "_SC_MONOTONIC_CLOCK") macdef _SC_MULTI_PROCESS = $extval (sysconfname, "_SC_MULTI_PROCESS") macdef _SC_SINGLE_PROCESS = $extval (sysconfname, "_SC_SINGLE_PROCESS") macdef _SC_NETWORKING = $extval (sysconfname, "_SC_NETWORKING") macdef _SC_READER_WRITER_LOCKS = $extval (sysconfname, "_SC_READER_WRITER_LOCKS") macdef _SC_SPIN_LOCKS = $extval (sysconfname, "_SC_SPIN_LOCKS") macdef _SC_REGEXP = $extval (sysconfname, "_SC_REGEXP") macdef _SC_REGEX_VERSION = $extval (sysconfname, "_SC_REGEX_VERSION") macdef _SC_SHELL = $extval (sysconfname, "_SC_SHELL") macdef _SC_SIGNALS = $extval (sysconfname, "_SC_SIGNALS") macdef _SC_SPAWN = $extval (sysconfname, "_SC_SPAWN") macdef _SC_SPORADIC_SERVER = $extval (sysconfname, "_SC_SPORADIC_SERVER") macdef _SC_THREAD_SPORADIC_SERVER = $extval (sysconfname, "_SC_THREAD_SPORADIC_SERVER") macdef _SC_SYSTEM_DATABASE = $extval (sysconfname, "_SC_SYSTEM_DATABASE") macdef _SC_SYSTEM_DATABASE_R = $extval (sysconfname, "_SC_SYSTEM_DATABASE_R") macdef _SC_TIMEOUTS = $extval (sysconfname, "_SC_TIMEOUTS") macdef _SC_TYPED_MEMORY_OBJECTS = $extval (sysconfname, "_SC_TYPED_MEMORY_OBJECTS") macdef _SC_USER_GROUPS = $extval (sysconfname, "_SC_USER_GROUPS") macdef _SC_USER_GROUPS_R = $extval (sysconfname, "_SC_USER_GROUPS_R") macdef _SC_2_PBS = $extval (sysconfname, "_SC_2_PBS") macdef _SC_2_PBS_ACCOUNTING = $extval (sysconfname, "_SC_2_PBS_ACCOUNTING") macdef _SC_2_PBS_LOCATE = $extval (sysconfname, "_SC_2_PBS_LOCATE") macdef _SC_2_PBS_MESSAGE = $extval (sysconfname, "_SC_2_PBS_MESSAGE") macdef _SC_2_PBS_TRACK = $extval (sysconfname, "_SC_2_PBS_TRACK") macdef _SC_SYMLOOP_MAX = $extval (sysconfname, "_SC_SYMLOOP_MAX") macdef _SC_STREAMS = $extval (sysconfname, "_SC_STREAMS") macdef _SC_2_PBS_CHECKPOINT = $extval (sysconfname, "_SC_2_PBS_CHECKPOINT") // macdef _SC_V6_ILP32_OFF32 = $extval (sysconfname, "_SC_V6_ILP32_OFF32") macdef _SC_V6_ILP32_OFFBIG = $extval (sysconfname, "_SC_V6_ILP32_OFFBIG") macdef _SC_V6_LP64_OFF64 = $extval (sysconfname, "_SC_V6_LP64_OFF64") macdef _SC_V6_LPBIG_OFFBIG = $extval (sysconfname, "_SC_V6_LPBIG_OFFBIG") // macdef _SC_HOST_NAME_MAX = $extval (sysconfname, "_SC_HOST_NAME_MAX") macdef _SC_TRACE = $extval (sysconfname, "_SC_TRACE") macdef _SC_TRACE_EVENT_FILTER = $extval (sysconfname, "_SC_TRACE_EVENT_FILTER") macdef _SC_TRACE_INHERIT = $extval (sysconfname, "_SC_TRACE_INHERIT") macdef _SC_TRACE_LOG = $extval (sysconfname, "_SC_TRACE_LOG") // macdef _SC_LEVEL1_ICACHE_SIZE = $extval (sysconfname, "_SC_LEVEL1_ICACHE_SIZE") macdef _SC_LEVEL1_ICACHE_ASSOC = $extval (sysconfname, "_SC_LEVEL1_ICACHE_ASSOC") macdef _SC_LEVEL1_ICACHE_LINESIZE = $extval (sysconfname, "_SC_LEVEL1_ICACHE_LINESIZE") macdef _SC_LEVEL1_DCACHE_SIZE = $extval (sysconfname, "_SC_LEVEL1_DCACHE_SIZE") macdef _SC_LEVEL1_DCACHE_ASSOC = $extval (sysconfname, "_SC_LEVEL1_DCACHE_ASSOC") macdef _SC_LEVEL1_DCACHE_LINESIZE = $extval (sysconfname, "_SC_LEVEL1_DCACHE_LINESIZE") macdef _SC_LEVEL2_CACHE_SIZE = $extval (sysconfname, "_SC_LEVEL2_CACHE_SIZE") macdef _SC_LEVEL2_CACHE_ASSOC = $extval (sysconfname, "_SC_LEVEL2_CACHE_ASSOC") macdef _SC_LEVEL2_CACHE_LINESIZE = $extval (sysconfname, "_SC_LEVEL2_CACHE_LINESIZE") macdef _SC_LEVEL3_CACHE_SIZE = $extval (sysconfname, "_SC_LEVEL3_CACHE_SIZE") macdef _SC_LEVEL3_CACHE_ASSOC = $extval (sysconfname, "_SC_LEVEL3_CACHE_ASSOC") macdef _SC_LEVEL3_CACHE_LINESIZE = $extval (sysconfname, "_SC_LEVEL3_CACHE_LINESIZE") macdef _SC_LEVEL4_CACHE_SIZE = $extval (sysconfname, "_SC_LEVEL4_CACHE_SIZE") macdef _SC_LEVEL4_CACHE_ASSOC = $extval (sysconfname, "_SC_LEVEL4_CACHE_ASSOC") macdef _SC_LEVEL4_CACHE_LINESIZE = $extval (sysconfname, "_SC_LEVEL4_CACHE_LINESIZE") // macdef _SC_IPV6 = $extval (sysconfname, "_SC_IPV6") macdef _SC_RAW_SOCKETS = $extval (sysconfname, "_SC_RAW_SOCKETS") // macdef _SC_V7_ILP32_OFF32 = $extval (sysconfname, "_SC_V7_ILP32_OFF32") macdef _SC_V7_ILP32_OFFBIG = $extval (sysconfname, "_SC_V7_ILP32_OFFBIG") macdef _SC_V7_LP64_OFF64 = $extval (sysconfname, "_SC_V7_LP64_OFF64") macdef _SC_V7_LPBIG_OFFBIG = $extval (sysconfname, "_SC_V7_LPBIG_OFFBIG") // macdef _SC_SS_REPL_MAX = $extval (sysconfname, "_SC_SS_REPL_MAX") // macdef _SC_TRACE_EVENT_NAME_MAX = $extval (sysconfname, "_SC_TRACE_EVENT_NAME_MAX") macdef _SC_TRACE_NAME_MAX = $extval (sysconfname, "_SC_TRACE_NAME_MAX") macdef _SC_TRACE_SYS_MAX = $extval (sysconfname, "_SC_TRACE_SYS_MAX") macdef _SC_TRACE_USER_EVENT_MAX = $extval (sysconfname, "_SC_TRACE_USER_EVENT_MAX") // macdef _SC_XOPEN_STREAMS = $extval (sysconfname, "_SC_XOPEN_STREAMS") // macdef _SC_THREAD_ROBUST_PRIO_INHERIT = $extval (sysconfname, "_SC_THREAD_ROBUST_PRIO_INHERIT") macdef _SC_THREAD_ROBUST_PRIO_PROTEC = $extval (sysconfname, "_SC_THREAD_ROBUST_PRIO_PROTEC") (* ****** ****** *) (* end of [unistd_sysconf.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/unistd.sats0000664000175000017500000002167712655455557016640 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) %{# #include "libc/CATS/unistd.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define SHR(x) x // SHARED // HX: for commenting #define NSH(x) x // NSHARED // HX: for commenting (* ****** ****** *) typedef interr = int (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" // typedef off_t = $TYPES.off_t // typedef pid_t = $TYPES.pid_t typedef uid_t = $TYPES.uid_t typedef gid_t = $TYPES.gid_t // stadef fildes_v = $TYPES.fildes_v // vtypedef fildes (i:int) = $TYPES.fildes (i) // vtypedef Fildes = $TYPES.Fildes vtypedef Fildes0 = $TYPES.Fildes0 // (* ****** ****** *) macdef STDIN_FILENO = $extval(int, "STDIN_FILENO") macdef STDOUT_FILENO = $extval(int, "STDOUT_FILENO") macdef STDERR_FILENO = $extval(int, "STDERR_FILENO") (* ****** ****** *) /* int close (int); */ symintr close symintr close_exn // fun close0 (fd: int): interr = "mac#%" // // HX-2013-03-25: should this be moved to unistd.sats? // dataview close_v (fd:int, int) = | close_v_succ (fd, 0) of () | {i:int | i < 0} close_v_fail (fd, i) of fildes_v (fd) // fun close1{fd:nat} (fd: fildes (fd)): [i:int] (close_v (fd, i) | int i) = "mac#%" // overload close with close0 overload close with close1 // fun close0_exn (fd: int): void = "ext#%" fun close1_exn (fd: Fildes0): void = "ext#%" // overload close_exn with close0_exn overload close_exn with close1_exn // (* ****** ****** *) fun dup (fildes: int): int = "mac#%" fun dup_fildes (fd: !Fildes0): Fildes = "mac#%" (* ****** ****** *) // fun dup2 (fildes: int, fildes2: int): int = "mac#%" // // HX-2013-05: // this one requires that [fd2] be not in use // fun dup2_fildes{fd2:nat} (fd: !Fildes0, fd2: int (fd2)): Fildes = "mac#%" // (* ****** ****** *) // // HX: this one requires -D_GNU_SOURCE // fun dup3 (fildes: int, fildes2: int, flags: int): int = "mac#%" // (* ****** ****** *) fun execv {n:pos}{l:addr} ( pf: !parray_v (string, l, n) | path: NSH(string), argv: ptr l ) : intLt(0) = "mac#atslib_execv" fun execv_unsafe // HX: for failure, ~1 is returned (path: NSH(string), argv: ptr): intLt(0) = "mac#atslib_execv" fun execvp {n:pos}{l:addr} ( pf: !parray_v (string, l, n) | fname: NSH(string), argv: ptr l ) : intLt(0) = "mac#atslib_execvp" fun execvp_unsafe // HX: for failure, ~1 is returned (fname: NSH(string), argv: ptr): intLt(0) = "mac#atslib_execvp" (* ****** ****** *) /* int execve(const char *filename, char *const argv[], char *const envp[]); */ fun execve {n1,n2:pos}{l1,l2:addr} ( pf1: !parray_v (string, l1, n1) , pf2: !parray_v (string, l2, n2) | fname: NSH(string), argv: ptr l1, envp: ptr l2 ) : intLt(0) = "mac#atslib_execve" fun execve_unsafe // HX: for failure, ~1 is returned (fname: NSH(string), argv: ptr, envp: ptr): intLt(0) = "mac#atslib_execve" // end of [execve_unsafe] (* ****** ****** *) /* void encrypt(char block[64], int edflag); */ fun encrypt ( block: &(@[char][64]), edflag: int ) : void = "mac#%" // endfun (* ****** ****** *) fun fork ((*void*)): pid_t = "mac#%" (* ****** ****** *) dataview getcwd_v ( m:int, l:addr, addr ) = | {l>null} {n:nat} getcwd_v_succ (m, l, l) of strbuf_v (l, m, n) | getcwd_v_fail (m, l, null) of b0ytes (m) @ (l) // end of [getcwd_v] fun getcwd {m:nat} {l:addr} ( pf: !b0ytes (m) @ l >> getcwd_v (m, l, l1) | p: ptr l, m: size_t m ) : #[l1:addr] ptr (l1) = "mac#%" // end of [getcwd] fun getcwd_gc (): Strptr0 = "ext#%" // HX: this is a convenient function (* ****** ****** *) /* pid_t getpid(void); pid_t getppid(void); */ fun getpid ((*void*)): pid_t = "mac#%" fun getppid ((*void*)): pid_t = "mac#%" // (* ****** ****** *) fun getuid (): uid_t = "mac#%" fun setuid (uid: uid_t): int = "mac#%" fun geteuid (): uid_t = "mac#%" fun seteuid (uid: uid_t): int = "mac#%" (* ****** ****** *) fun getgid (): gid_t = "mac#%" fun setgid (gid: gid_t): int = "mac#%" fun getegid (): gid_t = "mac#%" fun setegid (gid: gid_t): int = "mac#%" (* ****** ****** *) fun setreuid (ruid: uid_t, euid: uid_t): int = "mac#%" fun setregid (rgid: gid_t, egid: gid_t): int = "mac#%" (* ****** ****** *) fun setresuid (ruid: uid_t, euid: uid_t, suid: uid_t): int = "mac#%" fun setresgid (rgid: gid_t, egid: gid_t, sgid: gid_t): int = "mac#%" (* ****** ****** *) // // HX: these are linux-specific! // fun setfsuid(fsuid: uid_t): int = "mac#%" fun setfsgid(fsgid: gid_t): int = "mac#%" // (* ****** ****** *) fun getlogin (): vStrptr0 = "mac#%" fun getlogin_r{n:int | n >= 2} (buf: &bytes(n), n: size_t n): int = "mac#%" fun getlogin_r_gc (): Strptr0 = "ext#%" (* ****** ****** *) // // HX: [pause] can only returns -1 // fun pause ((*void*)): int = "mac#%" // (* ****** ****** *) fun read_err {sz,n:nat | n <= sz} ( fd: !Fildes0 , buf: &b0ytes(sz) >> bytes(sz), ntotal: size_t(n) ) : ssizeBtw(~1, n+1) = "mac#%" // end-of-fun fun write_err {sz,n:nat | n <= sz} ( fd: !Fildes0, buf: &RD(bytes(sz)), ntotal: size_t(n) ) : ssizeBtw(~1, n+1) = "mac#%" // end-of-fun (* ****** ****** *) fun pread{n:int} ( fd: !Fildes0, buf: &(@[byte][n])>>_, n: size_t (n), ofs: off_t ) : ssize_t = "mac#%" // end of [pread] fun pwrite{n:int} ( fd: !Fildes0, buf: &RD(array(byte, n)), n: size_t (n), ofs: off_t ) : ssize_t = "mac#%" // end of [pwrite] (* ****** ****** *) // absview alarm_v (n: int) // n: remaining seconds // praxi alarm_v_elim (pf: alarm_v (0)): void // fun alarm_set{i:int} (t: uint i): (alarm_v (i) | uInt) = "mac#%" // end of [alarm_set] fun alarm_cancel{i:int} (pf: alarm_v (i) | (*none*)): uInt = "mac#%" // end of [alarm_cancel] // (* ****** ****** *) // // HX: [sleep] may be implemented using SIGARM // symintr sleep // fun sleep_int {i:nat} (t: int i): [j:nat | j <= i] int j = "mac#%" fun sleep_uint {i:int} (t: uint i): [j:nat | j <= i] uint j = "mac#%" // overload sleep with sleep_int overload sleep with sleep_uint // (* ****** ****** *) // // HX: some systems require that the argument <= 1 million // symintr usleep // fun usleep_int // succ/fail: 0/~1 {i:nat | i <= 1000000} (n: int i): intLte(0) = "mac#%" fun usleep_uint // succ/fail: 0/~1 {i:int | i <= 1000000} (n: uint i): intLte(0) = "mac#%" // overload usleep with usleep_int overload usleep with usleep_uint // (* ****** ****** *) /* int rmdir(const char *pathname); */ fun rmdir (path: NSH(string)): int = "mac#%" fun rmdir_exn (path: NSH(string)): void = "ext#%" (* ****** ****** *) /* int link(const char *old, const char *new) */ fun link ( old: NSH(string) , new: NSH(string) ) : intLte(0) = "mac#%" fun link_exn (old: NSH(string), new: NSH(string)): void = "ext#%" // (* ****** ****** *) /* int symlink(const char *old, const char *new) */ fun symlink ( old: NSH(string) , new: NSH(string) ) : intLte(0) = "mac#%" fun symlink_exn (old: NSH(string), new: NSH(string)): void = "ext#%" // (* ****** ****** *) /* int unlink(const char *pathname); */ fun unlink (path: NSH(string)): intLte(0) = "mac#%" fun unlink_exn (path: NSH(string)): void = "ext#%" (* ****** ****** *) fun readlink{n:int} ( path: NSH(string), buf: &(@[byte][n]) >> _, n: size_t (n) ) : ssizeLte(n) = "mac#%" // end of [readlink] fun readlink_gc (path: NSH(string)): Strptr0 = "ext#%" (* ****** ****** *) fun sync ((*void*)): void = "mac#%" fun fsync (fd: !Fildes0): int = "mac#%" fun fdatasync (fd: !Fildes0): int = "mac#%" (* ****** ****** *) // fun truncate (path: NSH(string), ofs: off_t): int = "mac#%" // fun ftruncate (fd: !Fildes0, ofs: off_t): int = "mac#%" // (* ****** ****** *) #include "./unistd_sysconf.sats" #include "./unistd_pathconf.sats" (* ****** ****** *) (* end of [unistd.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/unistd_pathconf.sats0000664000175000017500000000577212655455557020520 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) typedef pathconfname = int (* ****** ****** *) // fun pathconf (path: NSH(string), name: pathconfname): lint = "mac#%" // fun fpathconf (fd: int, name: pathconfname): lint = "mac#%" // (* ****** ****** *) macdef _PC_LINK_MAX = $extval (pathconfname, "_PC_LINK_MAX") macdef _PC_MAX_CANON = $extval (pathconfname, "_PC_MAX_CANON") macdef _PC_MAX_INPUT = $extval (pathconfname, "_PC_MAX_INPUT") macdef _PC_NAME_MAX = $extval (pathconfname, "_PC_NAME_MAX") macdef _PC_PATH_MAX = $extval (pathconfname, "_PC_PATH_MAX") macdef _PC_PIPE_BUF = $extval (pathconfname, "_PC_PIPE_BUF") macdef _PC_CHOWN_RESTRICTED = $extval (pathconfname, "_PC_CHOWN_RESTRICTED") macdef _PC_NO_TRUNC = $extval (pathconfname, "_PC_NO_TRUNC") macdef _PC_VDISABLE = $extval (pathconfname, "_PC_VDISABLE") macdef _PC_SYNC_IO = $extval (pathconfname, "_PC_SYNC_IO") macdef _PC_ASYNC_IO = $extval (pathconfname, "_PC_ASYNC_IO") macdef _PC_PRIO_IO = $extval (pathconfname, "_PC_PRIO_IO") macdef _PC_SOCK_MAXBUF = $extval (pathconfname, "_PC_SOCK_MAXBUF") macdef _PC_FILESIZEBITS = $extval (pathconfname, "_PC_FILESIZEBITS") macdef _PC_REC_INCR_XFER_SIZE = $extval (pathconfname, "_PC_REC_INCR_XFER_SIZE") macdef _PC_REC_MAX_XFER_SIZE = $extval (pathconfname, "_PC_REC_MAX_XFER_SIZE") macdef _PC_REC_MIN_XFER_SIZE = $extval (pathconfname, "_PC_REC_MIN_XFER_SIZE") macdef _PC_REC_XFER_ALIGN = $extval (pathconfname, "_PC_REC_XFER_ALIGN") macdef _PC_ALLOC_SIZE_MIN = $extval (pathconfname, "_PC_ALLOC_SIZE_MIN") macdef _PC_SYMLINK_MAX = $extval (pathconfname, "_PC_SYMLINK_MAX") macdef _PC_2_SYMLINK = $extval (pathconfname, "_PC_2_SYMLINK") (* ****** ****** *) (* end of [unistd_pathconf.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/stddef.sats0000664000175000017500000000336612655455557016576 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: July, 2012 // (* ****** ****** *) typedef size_t0ype = g0uint(size_kind) (* ****** ****** *) abst@ype wchar_t0ype = $extype"wchar_t" abst@ype ptrdiff_t0ype = $extype"ptrdiff_t" (* ****** ****** *) typedef size = size_t0ype typedef size_t = size_t0ype typedef wchar = wchar_t0ype typedef wchar_t = wchar_t0ype typedef ptrdiff = ptrdiff_t0ype typedef ptrdiff_t = ptrdiff_t0ype (* ****** ****** *) (* end of [stddef.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/dirent.sats0000664000175000017500000001213512655455557016604 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/dirent.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) staload TYPES = "libc/sys/SATS/types.sats" typedef ino_t = $TYPES.ino_t typedef off_t = $TYPES.off_t (* ****** ****** *) (* abst@ype DIR_t0ype = $extype"atslib_DIR_type" // = DIR typedef DIR = DIR_t0ype *) absvtype DIRptr_vtype (l:addr) = ptr vtypedef DIRptr (l:addr) = DIRptr_vtype (l) vtypedef DIRptr0 = [l:addr | l >= null] DIRptr (l) vtypedef DIRptr1 = [l:addr | l > null] DIRptr (l) absview DIR_view (l:addr) viewdef DIR_v (l:addr) = DIR_view (l) (* ****** ****** *) praxi DIRptr_free_null (dirp: DIRptr (null)): void (* ****** ****** *) castfn DIRptr2ptr{l:addr} (dirp: !DIRptr l):<> ptr (l) overload ptrcast with DIRptr2ptr (* ****** ****** *) abst@ype dirent_t0ype = $extype"atslib_dirent_type" // = struct dirent typedef dirent = dirent_t0ype (* ****** ****** *) fun{} dirent$PC_NAME_MAX (): intGte(0) // HX: default=256 (* ****** ****** *) absvtype direntp_vtype (l:addr) = ptr vtypedef direntp (l:addr) = direntp_vtype (l) vtypedef Direntp0 = [l:addr] direntp (l) vtypedef Direntp1 = [l:addr | l > null] direntp (l) (* ****** ****** *) // castfn direntp2ptr{l:addr} (x: !direntp (l)):<> ptr (l) overload ptrcast with direntp2ptr // (* ****** ****** *) castfn direntp_get_viewptr{l:agz} ( x: !direntp l ) :<> ( dirent @ l, minus (direntp l, dirent @ l) | ptr l ) // end of [direntp_get_viewptr] praxi direntp_free_null (direntp (null)): void fun direntp_free (x: Direntp0): void = "mac#%" (* ****** ****** *) fun dirent_get_d_ino (ent: &RD(dirent)):<> ino_t = "mac#%" (* ****** ****** *) // fun dirent_get_d_name (ent: &RD(dirent)):<> vStrptr1 = "mac#%" fun{} dirent_get_d_name_gc (ent: &RD(dirent)): Strptr1 // (* ****** ****** *) // fun direntp_get_d_name (entp: !Direntp1):<> vStrptr1 = "mac#%" fun{} direntp_get_d_name_gc (entp: !Direntp1): Strptr1 // (* ****** ****** *) // fun{} compare_dirent_string (ent: &RD(dirent), str: NSH(string)):<> int // (* ****** ****** *) fun opendir (dname: NSH(string)): DIRptr0 = "mac#%" fun opendir_exn (dname: NSH(string)): DIRptr1 = "ext#%" (* ****** ****** *) fun closedir{l:agz} ( dirp: !DIRptr (l) >> ptr l ) : [i:int | i <= 0] ( option_v (DIR_v (l), i < 0) | int i ) = "mac#%" // end of [closedir] fun closedir_exn (dirp: DIRptr1): void = "ext#%" (* ****** ****** *) fun readdir ( dirp: !DIRptr1 ) : [l:addr] ( option_v (vtakeout0 (dirent@l), l > null) | ptr (l) ) = "mac#%" // end of [readdir] (* ****** ****** *) fun readdir_r ( dirp: !DIRptr1 , ent: &dirent? >> opt (dirent, l > null) , result: &ptr? >> ptr(l) ) : #[l:addr;i:int | i >= 0] int(i) = "mac#%" fun{} readdir_r_gc (dirp: !DIRptr1): Direntp0 (* ****** ****** *) /* int scandir ( const char *dirp , struct dirent ***namelist , int (*filter)(const struct dirent *) , int (*compar)(const struct dirent **, const struct dirent**) ) ; */ fun scandir ( dirp: NSH(string) , namelst: &(ptr?) >> ptr(*direntpp*) , filter: (&dirent) -> int , compar: (&ptr(*direntp*), &ptr(*direntp*)) -> int ) : int = "mac#%" // endfun fun alphasort // POSIX-2008 (entp1: &ptr, entp2: &ptr):<> int = "mac#%" fun versionsort // GNU-extension (entp1: &ptr, entp2: &ptr):<> int = "mac#%" (* ****** ****** *) fun rewinddir (dirp: !DIRptr1): void = "mac#%" (* ****** ****** *) fun seekdir (dirp: !DIRptr1, off: off_t): void = "mac#%" // end of [seekdir] (* ****** ****** *) fun telldir (dirp: !DIRptr1): off_t = "mac#%" (* ****** ****** *) (* end of [dirent.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/strings.sats0000664000175000017500000000437712655455557017021 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/strings.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) symintr index fun index_int (s: string, c: int): Ptr0 = "mac#%" fun index_char (s: string, c: char): Ptr0 = "mac#%" overload index with index_int overload index with index_char (* ****** ****** *) symintr rindex fun rindex_int (s: string, c: int): Ptr0 = "mac#%" fun rindex_char (s: string, c: char): Ptr0 = "mac#%" overload rindex with rindex_int overload rindex with rindex_char (* ****** ****** *) fun strcasecmp (x1: string, x2: string):<> int = "mac#%" fun strncasecmp (x1: string, x2: string, n: size_t):<> int = "mac#%" (* ****** ****** *) (* end of [strings.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/time.sats0000664000175000017500000001456212655455557016263 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/time.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" // typedef time_t = $TYPES.time_t typedef clock_t = $TYPES.clock_t typedef clockid_t = $TYPES.clockid_t // macdef CLOCKS_PER_SEC = $extval (clock_t, "CLOCKS_PER_SEC") // macdef CLOCK_REALTIME = $extval (clockid_t, "CLOCK_REALTIME") macdef CLOCK_MONOTONIC = $extval (clockid_t, "CLOCK_MONOTONIC") // macdef CLOCK_THREAD_CPUTIME_ID = $extval (clockid_t, "CLOCK_THREAD_CPUTIME_ID") macdef CLOCK_PROCESS_CPUTIME_ID = $extval (clockid_t, "CLOCK_PROCESS_CPUTIME_ID") // (* ****** ****** *) fun difftime ( finish: time_t, start: time_t ) :<> double = "mac#%" // endfun (* ****** ****** *) // symintr time // fun time_get ():<> time_t = "mac#%" // fun time_getset ( t: &time_t? >> opt (time_t, b) ) :<> #[b:bool] bool (b) = "mac#%" // overload time with time_get overload time with time_getset // (* ****** ****** *) fun ctime // non-reentrant ( t: &RD(time_t) // read-only ) : [l:agez] vttakeout0 (strptr l) = "mac#%" // endfun (* ****** ****** *) // #define CTIME_BUFSZ 26 // dataview ctime_v (m:int, addr, addr) = | {l:addr} ctime_v_fail (m, l, null) of b0ytes_v (l, m) | {l:agz} ctime_v_succ (m, l, l) of strbuf_v (l, m, CTIME_BUFSZ-1) // fun ctime_r // reentrant-version {l:addr}{m:int | m >= CTIME_BUFSZ} ( !b0ytes_v (l, m) >> ctime_v (m, l, l1) | &RD(time_t), ptr (l) ) : #[l1:addr] ptr (l1) = "mac#%" // end of [ctime_r] // fun{ } ctime_r_gc (&RD(time_t)): Strptr0 // end of [ctime_r_gc] // (* ****** ****** *) typedef tm_struct = $extype_struct"atslib_tm_struct_type" of { tm_sec= int // natLt(60) , tm_min= int // natLt(60) , tm_hour= int // natLt(24) , tm_mon= int (* month *) // natLt(12) , tm_year= int (* year *) // starting from 1900 , tm_wday= int (* day of the week *) // natLt(7) , tm_mday= int (* day of the month *) , tm_yday= int (* day in the year *) , tm_isdst= int (* daylight saving time *) // yes/no: 1/0 } // end of [tm_struct] // end of [typedef] (* ****** ****** *) // (* ** HX (2010-01-15): ** These functions are now kept for backward compatibility *) fun tm_get_sec (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_min (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_hour (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_mday (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_mon (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_year (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_wday (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_yday (tm: &READ(tm_struct)):<> int = "mac#%" fun tm_get_isdst (tm: &READ(tm_struct)):<> int = "mac#%" // (* ****** ****** *) fun mktime (tm: &RD(tm_struct)):<> time_t = "mac#%" (* ****** ****** *) fun asctime ( tm: &RD(tm_struct) ) : [l:addr] vttakeout0 (strptr l) = "mac#%" (* ****** ****** *) /* size_t strftime ( char *s, size_t max, const char *format, const struct tm *tm ) ; // end of [strftime] */ fun strftime {l:addr}{m:pos} ( pf: !b0ytes(m) @ l >> strbuf(m, n) @ l | p: ptr l, m: size_t m, fmt: string, tm: &RD(tm_struct) ) :<> #[n:nat | n < m] size_t n = "mac#%" // endfun (* ****** ****** *) fun gmtime // non-reentrant ( tval: &RD(time_t) ) : [ l:addr ] ( option_v (vtakeout0 (tm_struct@l), l > null) | ptr l ) = "mac#%" // end of [gmtime] fun gmtime_r // reentrant-version ( tval: &RD(time_t), tm: &tm_struct? >> opt (tm_struct, l > null) ) :<> #[l:addr] ptr (l) = "mac#%" // endfun (* ****** ****** *) fun localtime // non-reentrant ( tval: &RD(time_t) // read-only ) : [ l:addr ] ( option_v (vtakeout0 (tm_struct@l), l > null) | ptr l ) = "mac#%" // end of [localtime] fun localtime_r // reentrant-version ( tval: &RD(time_t), tm: &tm_struct? >> opt (tm_struct, l > null) ) :<> #[l:addr] ptr (l) = "mac#%" // endfun (* ****** ****** *) fun tzset (): void = "mac#%" (* ****** ****** *) fun clock (): clock_t = "mac#%" // -1 for error (* ****** ****** *) typedef timespec = $extype_struct"atslib_timespec_type" of { tv_sec= time_t (*secs*), tv_nsec= lint (*nanosecs*) } // end of [extype_struct] // end of [timespec] (* ****** ****** *) fun nanosleep ( tms: &RD(timespec) , rem: ×pec? >> opt (timespec, i==0) ) : #[i:int | i <= 0] int(i) = "mac#%" fun nanosleep_null (tms: &RD(timespec)): int = "mac#%" (* ****** ****** *) // // HX: // librt is needed for these functions // fun clock_getres ( id: clockid_t , res: ×pec? >> opt (timespec, i==0) ) : #[i:int | i <= 0] int(i) = "mac#%" // fun clock_gettime ( id: clockid_t , tms: ×pec? >> opt (timespec, i==0) ) : #[i:int | i <= 0] int(i) = "mac#%" // // HX: this one requires SUPERUSER previlege // fun clock_settime (id: clockid_t, tms: &RD(timespec)): int = "mac#%" // (* ****** ****** *) (* end of [time.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/math.sats0000664000175000017500000002137512655455557016256 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: April, 2013 // (* ****** ****** *) %{# #include "libc/CATS/math.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) macdef M_E = 2.7182818284590452354 // e macdef M_PI = 3.14159265358979323846 // pi macdef M_PI_2 = 1.57079632679489661923 // pi/2 macdef M_PI_4 = 0.78539816339744830962 // pi/4 (* ****** ****** *) macdef INFINITY = $extval (float, "INFINITY") (* ****** ****** *) // // _XOPEN_SOURCE >= 600 || ... // fun{a:t0p} isfinite (x: INV(a)):<> int fun isfinite_float (x: float):<> int = "mac#%" fun isfinite_double (x: double):<> int = "mac#%" fun isfinite_ldouble (x: ldouble):<> int = "mac#%" // fun{a:t0p} isnormal (x: INV(a)):<> int fun isnormal_float (x: float):<> int = "mac#%" fun isnormal_double (x: double):<> int = "mac#%" fun isnormal_ldouble (x: ldouble):<> int = "mac#%" // fun{a:t0p} fpclassify (x: INV(a)):<> int fun fpclassify_float (x: float):<> int = "mac#%" fun fpclassify_double (x: double):<> int = "mac#%" fun fpclassify_ldouble (x: ldouble):<> int = "mac#%" (* ****** ****** *) // // _BSD_SOURCE || _XOPEN_SOURCE || ... // fun{a:t0p} isnan (x: INV(a)):<> int fun isnan_float (x: float):<> int = "mac#%" fun isnan_double (x: double):<> int = "mac#%" fun isnan_ldouble (x: ldouble):<> int = "mac#%" // (* ****** ****** *) // // _BSD_SOURCE || _XOPEN_SOURCE >= 600 || ... // fun{a:t0p} isinf (x: INV(a)):<> int fun isinf_float (x: float):<> int = "mac#%" fun isinf_double (x: double):<> int = "mac#%" fun isinf_ldouble (x: ldouble):<> int = "mac#%" // (* ****** ****** *) // fun{a:t0p} ceil (x: INV(a)):<> a // fun ceil_float (x: float):<> float = "mac#%" fun ceil_double (x: double):<> double = "mac#%" fun ceil_ldouble (x: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) // fun{a:t0p} floor (x: INV(a)):<> a // fun floor_float (x: float):<> float = "mac#%" fun floor_double (x: double):<> double = "mac#%" fun floor_ldouble (x: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) // fun{a:t0p} round (x: INV(a)):<> a // fun round_float (x: float):<> float = "mac#%" fun round_double (x: double):<> double = "mac#%" fun round_ldouble (x: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) // fun{a:t0p} trunc (x: INV(a)):<> a // fun trunc_float (x: float):<> float = "mac#%" fun trunc_double (x: double):<> double = "mac#%" fun trunc_ldouble (x: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) fun{ a:t0p } fmod (x1: INV(a), x2: a):<> a fun fmod_float (x1: float, x2: float):<> float = "mac#%" fun fmod_double (x1: double, x2: double):<> double = "mac#%" fun fmod_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" (* ****** ****** *) // fun{ a:t0p } fmax (x1: INV(a), x2: a):<> a fun fmax_float (x1: float, x2: float):<> float = "mac#%" fun fmax_double (x1: double, x2: double):<> double = "mac#%" fun fmax_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" // fun{ a:t0p } fmin (x1: INV(a), x2: a):<> a fun fmin_float (x1: float, x2: float):<> float = "mac#%" fun fmin_double (x1: double, x2: double):<> double = "mac#%" fun fmin_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) fun{ a:t0p } fdim (x1: INV(a), x2: a):<> a fun fdim_float (x1: float, x2: float):<> float = "mac#%" fun fdim_double (x1: double, x2: double):<> double = "mac#%" fun fdim_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" (* ****** ****** *) // // HX: fma (x, y, z) = x * y + z // fun{a:t0p} fma (x1: INV(a), x2: a, x3: a):<> a fun fma_float (x1: float, x2: float, x3: float):<> float = "mac#%" fun fma_double (x1: double, x2: double, x3: double):<> double = "mac#%" fun fma_ldouble (x1: ldouble, x2: ldouble, x3: ldouble):<> ldouble = "mac#%" // (* ****** ****** *) fun{a:t0p} sqrt (x: INV(a)):<> a fun sqrt_float (f: float):<> float = "mac#%" fun sqrt_double (d: double):<> double = "mac#%" fun sqrt_ldouble (ld: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} cbrt (x: INV(a)):<> a fun cbrt_float (f: float):<> float = "mac#%" fun cbrt_double (d: double):<> double = "mac#%" fun cbrt_ldouble (ld: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} pow (x1: INV(a), x2: a):<> a fun pow_float (x1: float, x2: float):<> float = "mac#%" fun pow_double (x1: double, x2: double):<> double = "mac#%" fun pow_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} exp (x: INV(a)):<> a fun exp_float (f: float):<> float = "mac#%" fun exp_double (d: double):<> double = "mac#%" fun exp_ldouble (ld: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} log (x: INV(a)):<> a fun log_float (f: float):<> float = "mac#%" fun log_double (d: double):<> double = "mac#%" fun log_ldouble (ld: ldouble):<> ldouble = "mac#%" fun{a:t0p} log10 (x: INV(a)):<> a fun log10_float (f: float):<> float = "mac#%" fun log10_double (d: double):<> double = "mac#%" fun log10_ldouble (ld: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} sin (x: INV(a)):<> a fun sin_float (x: float):<> float = "mac#%" fun sin_double (x: double):<> double = "mac#%" fun sin_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} cos (x: INV(a)):<> a fun cos_float (x: float):<> float = "mac#%" fun cos_double (x: double):<> double = "mac#%" fun cos_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} tan (x: INV(a)):<> a fun tan_float (x: float):<> float = "mac#%" fun tan_double (x: double):<> double = "mac#%" fun tan_ldouble (x: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} asin (x: INV(a)):<> a fun asin_float (x: float):<> float = "mac#%" fun asin_double (x: double):<> double = "mac#%" fun asin_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} acos (x: INV(a)):<> a fun acos_float (x: float):<> float = "mac#%" fun acos_double (x: double):<> double = "mac#%" fun acos_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} atan (x: INV(a)):<> a fun atan_float (x: float):<> float = "mac#%" fun atan_double (x: double):<> double = "mac#%" fun atan_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} atan2 (x1: INV(a), x2: a):<> a fun atan2_float (x1: float, x2: float):<> float = "mac#%" fun atan2_double (x1: double, x2: double):<> double = "mac#%" fun atan2_ldouble (x1: ldouble, x2: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} sinh (x: INV(a)):<> a fun sinh_float (x: float):<> float = "mac#%" fun sinh_double (x: double):<> double = "mac#%" fun sinh_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} cosh (x: INV(a)):<> a fun cosh_float (x: float):<> float = "mac#%" fun cosh_double (x: double):<> double = "mac#%" fun cosh_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} tanh (x: INV(a)):<> a fun tanh_float (x: float):<> float = "mac#%" fun tanh_double (x: double):<> double = "mac#%" fun tanh_ldouble (x: ldouble):<> ldouble = "mac#%" (* ****** ****** *) fun{a:t0p} asinh (x: INV(a)):<> a fun asinh_float (x: float):<> float = "mac#%" fun asinh_double (x: double):<> double = "mac#%" fun asinh_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} acosh (x: INV(a)):<> a fun acosh_float (x: float):<> float = "mac#%" fun acosh_double (x: double):<> double = "mac#%" fun acosh_ldouble (x: ldouble):<> ldouble = "mac#%" fun{a:t0p} atanh (x: INV(a)):<> a fun atanh_float (x: float):<> float = "mac#%" fun atanh_double (x: double):<> double = "mac#%" fun atanh_ldouble (x: ldouble):<> ldouble = "mac#%" (* ****** ****** *) (* end of [math.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/errno.sats0000664000175000017500000001642112655455557016446 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/errno.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) typedef errno_t = int (* ****** ****** *) // macdef ENONE = $extval (errno_t, "ENONE") // = 0 // macdef E2BIG = $extval (errno_t, "E2BIG") // POSIX.1 macdef EACCES = $extval (errno_t, "EACCES") // POSIX.1 macdef EADDRINUSE = $extval (errno_t, "EADDRINUSE") // POSIX.1 macdef EADDRNOTAVAIL = $extval (errno_t, "EADDRNOTAVAIL") // POSIX.1 macdef EAGAIN = $extval (errno_t, "EAGAIN") // POSIX.1 macdef EALREADY = $extval (errno_t, "EALREADY") // POSIX.1 macdef EBADE = $extval (errno_t, "EBADE") macdef EBADF = $extval (errno_t, "EBADF") // POSIX.1 macdef EBADFD = $extval (errno_t, "EBADFD") macdef EBADMSG = $extval (errno_t, "EBADMSG") // POSIX.1 macdef EBADR = $extval (errno_t, "EBADR") macdef EBUSY = $extval (errno_t, "EBUSY") // POSIX.1 macdef ECANCELED = $extval (errno_t, "ECANCELED") // POSIX.1 macdef ECHILD = $extval (errno_t, "ECHILD") // POSIX.1 macdef ECONNABORTED = $extval (errno_t, "ECONNABORTED") // POSIX.1 macdef ECONNREFUSED = $extval (errno_t, "ECONNREFUSED") // POSIX.1 macdef ECONNRESET = $extval (errno_t, "ECONNRESET") // POSIX.1 macdef EDEADLK = $extval (errno_t, "EDEADLK") // POSIX.1 macdef EDEADLOCK = $extval (errno_t, "EDEADLOCK") // POSIX.1 macdef EDESTADDRREQ = $extval (errno_t, "EDESTADDRREQ") // POSIX.1 macdef EDOM = $extval (errno_t, "EDOM") // POSIX.1 // C99 macdef EDQUOT = $extval (errno_t, "EDQUOT") // POSIX.1 macdef EEXIST = $extval (errno_t, "EEXIST") // POSIX.1 macdef EFAULT = $extval (errno_t, "EFAULT") // POSIX.1 macdef EFBIG = $extval (errno_t, "EFBIG") // POSIX.1 macdef EHOSTDOWN = $extval (errno_t, "EHOSTDOWN") macdef EHOSTUNREACH = $extval (errno_t, "EHOSTUNREACH") // POSIX.1 macdef EIDRM = $extval (errno_t, "EIDRM") // POSIX.1 macdef EILSEQ = $extval (errno_t, "EILSEQ") // POSIX.1 // C99 macdef EINPROGRESS = $extval (errno_t, "EINPROGRESS") // POSIX.1 macdef EINTR = $extval (errno_t, "EINTR") // POSIX.1 macdef EINVAL = $extval (errno_t, "EINVAL") // POSIX.1 macdef EIO = $extval (errno_t, "EIO") // POSIX.1 macdef EISCONN = $extval (errno_t, "EISCONN") // POSIX.1 macdef EISDIR = $extval (errno_t, "EISDIR") // POSIX.1 macdef ELOOP = $extval (errno_t, "ELOOP") // POSIX.1 macdef EMFILE = $extval (errno_t, "EMFILE") // POSIX.1 macdef EMLINK = $extval (errno_t, "EMLINK") // POSIX.1 macdef EMSGSIZE = $extval (errno_t, "EMSGSIZE") // POSIX.1 macdef EMULTIHOP = $extval (errno_t, "EMULTIHOP") // POSIX.1 macdef ENAMETOOLONG = $extval (errno_t, "ENAMETOOLONG") // POSIX.1 macdef ENETDOWN = $extval (errno_t, "ENETDOWN") // POSIX.1 macdef ENETRESET = $extval (errno_t, "ENETRESET") // POSIX.1 macdef ENETUNREACH = $extval (errno_t, "ENETUNREACH") // POSIX.1 macdef ENFILE = $extval (errno_t, "ENFILE") // POSIX.1 macdef ENOBUFS = $extval (errno_t, "ENOBUFS") // POSIX.1 macdef ENODATA = $extval (errno_t, "ENODATA") // POSIX.1 macdef ENODEV = $extval (errno_t, "ENODEV") // POSIX.1 macdef ENOENT = $extval (errno_t, "ENOENT") // POSIX.1 macdef ENOEXEC = $extval (errno_t, "ENOEXEC") // POSIX.1 macdef ENOLCK = $extval (errno_t, "ENOLCK") // POSIX.1 macdef ENOLINK = $extval (errno_t, "ENOLINK") // POSIX.1 macdef ENOMEM = $extval (errno_t, "ENOMEM") // POSIX.1 macdef ENOMSG = $extval (errno_t, "ENOMSG") // POSIX.1 macdef ENOPROTOOPT = $extval (errno_t, "ENOPROTOOPT") // POSIX.1 macdef ENOSPC = $extval (errno_t, "ENOSPC") // POSIX.1 macdef ENOSR = $extval (errno_t, "ENOSR") // POSIX.1 macdef ENOSTR = $extval (errno_t, "ENOSTR") // POSIX.1 macdef ENOSYS = $extval (errno_t, "ENOSYS") // POSIX.1 macdef ENOTCONN = $extval (errno_t, "ENOTCONN") // POSIX.1 macdef ENOTDIR = $extval (errno_t, "ENOTDIR") // POSIX.1 macdef ENOTEMPTY = $extval (errno_t, "ENOTEMPTY") // POSIX.1 macdef ENOTSOCK = $extval (errno_t, "ENOTSOCK") // POSIX.1 macdef ENOTSUP = $extval (errno_t, "ENOTSUP") // POSIX.1 macdef ENOTTY = $extval (errno_t, "ENOTTY") // POSIX.1 macdef ENXIO = $extval (errno_t, "ENXIO") // POSIX.1 macdef EOPNOTSUPP = $extval (errno_t, "EOPNOTSUPP") // POSIX.1 macdef EOVERFLOW = $extval (errno_t, "EOVERFLOW") // POSIX.1 macdef EPERM = $extval (errno_t, "EPERM") // POSIX.1 macdef EPIPE = $extval (errno_t, "EPIPE") // POSIX.1 macdef EPFNOSUPPORT = $extval (errno_t, "EPFNOSUPPORT") macdef EPROTO = $extval (errno_t, "EPROTO") // POSIX.1 macdef EPROTONOSUPPORT = $extval (errno_t, "EPROTONOSUPPORT") // POSIX.1 macdef EPROTOTYPE = $extval (errno_t, "EPROTOTYPE") // POSIX.1 macdef ERANGE = $extval (errno_t, "ERANGE") // C99 // POSIX.1 macdef EREMCHG = $extval (errno_t, "EREMCHG") macdef EREMOTE = $extval (errno_t, "EREMOTE") macdef EREMOTEIO = $extval (errno_t, "EREMOTEIO") macdef ERESTART = $extval (errno_t, "ERESTART") macdef EROFS = $extval (errno_t, "EROFS") // POSIX.1 macdef ESHUTDOWN = $extval (errno_t, "ESHUTDOWN") macdef ESPIPE = $extval (errno_t, "ESPIPE") // POSIX.1 macdef ESOCKTNOSUPPORT = $extval (errno_t, "ESOCKTNOSUPPORT") macdef ESRCH = $extval (errno_t, "ESRCH") // POSIX.1 macdef ESTALE = $extval (errno_t, "ESTALE") // POSIX.1 macdef ESTRPIPE = $extval (errno_t, "ESTRPIPE") macdef ETIME = $extval (errno_t, "ETIME") macdef ETIMEDOUT = $extval (errno_t, "ETIMEDOUT") macdef ETXTBSY = $extval (errno_t, "ETXTBSY") macdef EUCLEAN = $extval (errno_t, "EUCLEAN") macdef EUNATCH = $extval (errno_t, "EUNATCH") macdef EUSERS = $extval (errno_t, "EUSERS") macdef EWOULDBLOCK = $extval (errno_t, "EWOULDBLOCK") // POSIX.1 macdef EXDEV = $extval (errno_t, "EXDEV") macdef EXFULL = $extval (errno_t, "EXFULL") (* ****** ****** *) // // HX: these functions are reentrant! // fun the_errno_get ():<> errno_t = "mac#%" fun the_errno_set (eno: errno_t):<> void = "mac#%" // fun the_errno_reset ():<> void = "mac#%" // fun the_errno_test (errno_t):<> bool = "mac#%" // (* ****** ****** *) (* end of [errno.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/stdlib.sats0000664000175000017500000002614312655455557016604 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: June, 2012 // (* ****** ****** *) %{# #include "libc/CATS/stdlib.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) staload STDDEF = "libc/SATS/stddef.sats" typedef wchar_t = $STDDEF.wchar_t (* ****** ****** *) macdef EXIT_FAILURE = $extval (int, "EXIT_FAILURE") macdef EXIT_SUCCESS = $extval (int, "EXIT_SUCCESS") (* ****** ****** *) abst@ype div_t = $extype"div_t" abst@ype ldiv_t = $extype"ldiv_t" abst@ype lldiv_t = $extype"lldiv_t" (* ****** ****** *) /* void _Exit(int); */ fun _Exit (int): void = "mac#%" /* int atexit(void (*)(void)); */ fun atexit (f: ((*void*)) -> void): int(*err*) = "mac#%" // end of [atexit] (* ****** ****** *) /* void abort(void); */ fun abort ((*void*)): void = "mac#%" (* ****** ****** *) /* int abs (int) */ fun abs (int):<> int = "mac#%" /* long int labs(long int j); */ fun labs (lint):<> lint = "mac#%" /* long long int llabs(long long int j); */ fun llabs (lint):<> llint = "mac#%" (* ****** ****** *) /* div_t div(int, int); */ fun div (int, int):<> div_t /* ldiv_t ldiv(long, long); */ fun ldiv (lint, lint):<> ldiv_t /* lldiv_t lldiv(long long, long long); */ fun lldiv (llint, llint):<> lldiv_t (* ****** ****** *) /* long a64l(const char *); */ fun a64l (x: NSH(string)):<> lint = "mac#%" /* char *l64a(long value); // not defined for a negative value */ fun l64a {i:nat} ( x: lint i ) : [l:agz] vttakeout0 (strptr l) = "mac#%" // end of [l64a] (* ****** ****** *) /* int atoi(const char *); */ fun atoi (x: NSH(string)):<> int = "mac#%" /* long atol(const char *); */ fun atol (x: NSH(string)):<> lint = "mac#%" /* long long atoll(const char *); */ fun atoll (x: NSH(string)):<> llint = "mac#%" /* double atof(const char *); */ fun atof (x: NSH(string)):<> double = "mac#%" (* ****** ****** *) /* long int strtol(const char *nptr, char **endptr, int base); */ symintr strtol fun strtol0 (nptr: string, base: intBtwe (2, 36)): lint = "mac#%" overload strtol with strtol0 fun strtol1 (nptr: string, endptr: &ptr? >> _, base: intBtwe (2, 36)): lint = "mac#%" overload strtol with strtol1 fun strtol_unsafe (nptr: string, endptr: ptr, base: int): lint = "mac#%" // end of [strtol_unsafe] /* long long int strtoll(const char *nptr, char **endptr, int base); */ symintr strtoll fun strtoll0 (nptr: string, base: intBtwe (2, 36)): llint overload strtoll with strtoll0 fun strtoll1 (nptr: string, endptr: &ptr? >> _, base: intBtwe (2, 36)): llint overload strtoll with strtoll1 fun strtoll_unsafe (nptr: string, endptr: ptr, base: int): llint // end of [strtoll_unsafe] (* ****** ****** *) /* unsigned long strtoul(const char *nptr, char **endptr, int base); */ symintr strtoul fun strtoul0 (nptr: string, base: intBtwe (2, 36)): ulint overload strtoul with strtoul0 fun strtoul1 (nptr: string, endptr: &ptr? >> _, base: intBtwe (2, 36)): ulint overload strtoul with strtoul1 fun strtoul_unsafe (nptr: string, endptr: ptr, base: int): ulint // end of [strtoul_unsafe] /* unsigned long long strtoull(const char *nptr, char **endptr, int base); */ symintr strtoull fun strtoull0 (nptr: string, base: intBtwe (2, 36)): ullint overload strtoull with strtoull0 fun strtoull1 (nptr: string, endptr: &ptr? >> _, base: intBtwe (2, 36)): ullint overload strtoull with strtoull1 fun strtoull_unsafe (nptr: string, endptr: ptr, base: int): ullint // end of [strtoull_unsafe] (* ****** ****** *) /* float strtof(const char *nptr, char **endptr); */ symintr strtof fun strtof0 (nptr: string): float = "mac#%" overload strtof with strtof0 fun strtof1 (nptr: string, endptr: &ptr? >> _): float = "mac#%" overload strtof with strtof1 fun strtof_unsafe (nptr: string, endptr: ptr): float = "mac#%" // end of [strtof_unsafe] /* double strtod(const char *nptr, char **endptr); */ symintr strtod fun strtod0 (nptr: string): double = "mac#%" overload strtod with strtod0 fun strtod1 (nptr: string, endptr: &ptr? >> _): double = "mac#%" overload strtod with strtod1 fun strtod_unsafe (nptr: string, endptr: ptr): double = "mac#%" // end of [strtod_unsafe] /* long double strtold(const char *nptr, char **endptr); */ symintr strtold fun strtold0 (nptr: string): ldouble = "mac#%" overload strtold with strtold0 fun strtold1 (nptr: string, endptr: &ptr? >> _): ldouble = "mac#%" overload strtold with strtold1 fun strtold_unsafe (nptr: string, endptr: ptr): ldouble = "mac#%" // end of [strtold_unsafe] (* ****** ****** *) (* // // HX: these env-functions may not be reentrant! // *) (* ****** ****** *) /* char *getenv(char *); */ fun getenv ( name: NSH(string) ) : [l:addr] vttakeout0 (strptr l) = "mac#%" fun{} getenv_gc (name: NSH(string)): Strptr0 (* ****** ****** *) /* int putenv(char *); */ // // HX: [nameval] is shared! // fun putenv (nameval: SHR(string)): int = "mac#%" // end of [putenv] (* ****** ****** *) /* int setenv ( const char *name, const char *value, int overwrite ) ; */ fun setenv ( name: NSH(string), value: NSH(string), overwrite: int ) : int = "mac#%" /* int unsetenv(const char *name); */ fun unsetenv (name: NSH(string)): int = "mac#%" // end of [unsetenv] (* ****** ****** *) /* int clearenv(void); */ fun clearenv ((*void*)): int = "mac#%" (* ****** ****** *) // // HX: // these funs seem to have become obsolete // fun rand ((*void*)): int = "mac#%" fun srand (seed: uint): void = "mac#%" fun rand_r (seed: &uint >> _):<> int = "mac#%" (* ****** ****** *) /* long int random(void); */ fun random((*void*)): lint = "mac#%" /* void srandom(unsigned int seed); */ fun srandom(seed: uint): void = "mac#%" /* char *initstate ( unsigned int seed, char *state, size_t n ) ; */ fun initstate_unsafe ( seed: uint, state: cPtr1 (char), n: sizeGte(8) ) : cPtr0 (char) = "mac#%" // end of [initstate_unsafe] /* char *setstate(char *state); */ fun setstate_unsafe (state: cPtr1 (char)): cPtr0 (char) = "mac#%" // end of [setstate_unsafe] (* ****** ****** *) /* double drand48(void); // obsolete */ fun drand48 ((*void*)): double = "mac#%" /* double erand48(unsigned short xsubi[3]); // obsolete */ fun erand48 (xsubi: &(@[usint][3])): double = "mac#%" // end of [erand48] /* long int lrand48(void); // obsolete */ fun lrand48 ((*void*)): lint = "mac#%" /* long int nrand48(unsigned short xsubi[3]); // obsolete */ fun nrand48 (xsubi: &(@[usint][3])): lint = "mac#%" // end of [nrand48] /* long int mrand48(void); // obsolete */ fun mrand48 ((*void*)): lint = "mac#%" /* long int jrand48(unsigned short xsubi[3]); // obsolete */ fun jrand48 (xsubi: &(@[usint][3])): lint = "mac#%" // end of [jrand48] /* void srand48(long int seedval); // obsolete */ fun srand48 (seedval: lint): void = "mac#%" /* unsigned short *seed48(unsigned short seed16v[3]); // obsolete */ // HX: returning pointer to some internal buffer fun seed48 (seed16v: &(@[usint][3])): Ptr1 = "mac#%" /* void lcong48(unsigned short param[7]); // obsolete */ fun lcong48 (param: &(@[usint][7])): void = "mac#%" (* ****** ****** *) /* void *bsearch ( const void *key , const void *base , size_t nmemb, size_t size , int (*compar)(const void *, const void *) ) ; // end of [bsearch] */ fun bsearch {a:vt0p}{n:int} ( key: &RD(a) , arr: &RD(@[INV(a)][n]) , asz: size_t (n), tsz: sizeof_t (a) , cmp: cmpref (a) ) :<> Ptr0 = "mac#%" // end of [bsearch] (* ****** ****** *) /* void qsort ( void *base, size_t nmemb, size_t size , int(*compar)(const void *, const void *) ) ; // end of [qsort] */ fun qsort {a:vt0p}{n:int} ( A: &(@[INV(a)][n]), asz: size_t (n), tsz: sizeof_t (a), cmp: cmpref (a) ) : void = "mac#%" // end of [qsort] (* ****** ****** *) /* int mblen(const char *s, size_t n); */ fun mblen_unsafe (s: cPtr0 (char), n: size_t): int = "mac#%" // end of [mblen_unsafe] /* int wctomb(char *s, wchar_t wc); */ fun wctomb_unsafe (s: cPtr0 (char), wc: wchar_t): int = "mac#%" // end of [wctomb_unsafe] /* size_t wcstombs ( char *dest, const wchar_t *src, size_t n ) ; */ fun wcstombs_unsafe ( dest: cPtr0 (char), src: cPtr1 (wchar_t), n: size_t ) : ssize_t = "mac#%" // endfun (* ****** ****** *) /* void setkey(const char *key); */ fun setkey_unsafe (key: cPtr1 (char)): void = "mac#%" (* ****** ****** *) /* int mkstemp(char *template); */ fun mkstemp {n:int | n >= 6} (template: !strnptr (n)): int = "mac#%" // end of [mkstemp] // endfun /* int mkostemp (char *template, int flags); */ fun mkostemp {n:int | n >= 6} (template: !strnptr (n), flags: int): int = "mac#%" // end of [mkostemp] // endfun (* ****** ****** *) /* int grantpt(int fd); */ fun grantpt (fd: int): int = "mac#%" (* ****** ****** *) dataview malloc_libc_v (addr, int) = | {l:agz}{n:int} malloc_libc_v_succ (l, n) of (b0ytes (n) @ l, mfree_libc_v (l)) | {n:int} malloc_libc_v_fail (null, n) // end of [malloc_libc_v] (* ****** ****** *) fun malloc_libc {n:int} ( bsz: size_t n ) : [ l:addr ] ( malloc_libc_v (l, n) | ptr l ) = "mac#%" // end of [malloc] fun malloc_libc_exn {n:int} ( bsz: size_t n ) : [ l:addr | l > null ] ( b0ytes(n) @ l, mfree_libc_v l | ptr l ) = "mac#%" // end of [malloc_exn] fun mfree_libc {l:addr}{n:int} ( b0ytes(n) @ l, mfree_libc_v l | ptr l ) : void = "mac#%" // endfun (* ****** ****** *) /* int system(const char *command); */ fun system (command: NSH(string)): int = "mac#%" (* ****** ****** *) (* end of [stdlib.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/float.sats0000664000175000017500000000331712655455557016426 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: October, 2014 // (* ****** ****** *) %{# #include "libc/CATS/float.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) macdef FLT_EPSILON = $extval (float, "FLT_EPSILON") macdef DBL_EPSILON = $extval (double, "DBL_EPSILON") (* ****** ****** *) (* end of [float.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/stdio.sats0000664000175000017500000005736312655455557016455 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: April, 2011 // (* ****** ****** *) %{# #include "libc/CATS/stdio.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) sortdef fm = file_mode (* ****** ****** *) stadef r() = file_mode_r() stadef w() = file_mode_w() stadef rw() = file_mode_rw() (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" // stadef fildes = $TYPES.fildes stadef fildes_v = $TYPES.fildes_v // (* ****** ****** *) (* abstype FILEref = ptr // declared in [prelude/basic_dyn.sats] *) (* ****** ****** *) // // HX-2011-04-02: // absview FILE_view (l:addr, m:fm) absvtype FILEptr_vtype (addr, fm) = ptr // viewdef FILE_v (l:addr, m:fm) = FILE_view (l, m) vtypedef FILEptr (l:addr, m: fm) = FILEptr_vtype (l, m) // (* ****** ****** *) // vtypedef FILEptr0 (m:fm) = [l:addr | l >= null] FILEptr (l, m) // vtypedef FILEptr1 (m:fm) = [l:agz] FILEptr (l, m) vtypedef FILEptr1 (*none*) = [l:agz;m:fm] FILEptr (l, m) // (* ****** ****** *) stadef fmlte = file_mode_lte (* ****** ****** *) // castfn FILEptr2ptr {l:addr}{m:fm}(filp: !FILEptr (l, m)):<> ptr(l) // overload ptrcast with FILEptr2ptr // (* ****** ****** *) castfn FILEptr_encode {l:addr}{m:fm} ( pf: FILE_v (l, m) | p: ptr l ) : FILEptr (l, m) overload encode with FILEptr_encode castfn FILEptr_decode {l:agz}{m:fm} ( p: FILEptr (l, m) ) : (FILE_v (l, m) | ptr l) overload decode with FILEptr_decode (* ****** ****** *) praxi FILEptr_free_null {l:alez}{m:fm} (p: FILEptr (l, m)): void // end of [FILEptr_free_null] (* ****** ****** *) castfn FILEptr_refize (filp: FILEptr1):<> FILEref (* ****** ****** *) castfn FILEref_vttakeout // a lock is associated with FILEref-value {m:fm} (filr: FILEref):<> [l:agz] vttakeout0 (FILEptr (l, m)) // end of [FILEref_vttakeout] (* ****** ****** *) // abst@ype whence_type = int // typedef whence = whence_type // macdef SEEK_SET = $extval (whence, "SEEK_SET") macdef SEEK_CUR = $extval (whence, "SEEK_CUR") macdef SEEK_END = $extval (whence, "SEEK_END") // (* ****** ****** *) (* // // FILE *fopen (const char *path, const char *mode); // The fopen function opens the file whose name is the string pointed to by path and associates a stream with it. The argument mode points to a string beginning with one of the follow ing sequences (Additional characters may follow these sequences.): r Open text file for reading. The stream is positioned at the beginning of the file. r+ Open for reading and writing. The stream is positioned at the beginning of the file. w Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file. w+ Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file. a Open for appending (writing at end of file). The file is created if it does not exist. The stream is positioned at the end of the file. a+ Open for reading and appending (writing at end of file). The file is created if it does not exist. The stream is positioned at the end of the file. *) fun fopen{m:fm} ( path: NSH(string), fmode(m) ) : FILEptr0 (m) = "mac#%" fun fopen_exn{m:fm} ( path: NSH(string), fmode(m) ) : FILEptr1 (m) = "ext#%" fun fopen_ref_exn{m:fm} ( path: NSH(string), fmode(m) ) : FILEref(*none*) = "ext#%" (* ****** ****** *) // symintr fclose symintr fclose_exn // fun fclose0 (filr: FILEref): int = "mac#%" fun fclose1 {l:addr}{m:fm} ( filp: !FILEptr (l, m) >> ptr l ) : [i:int | i <= 0] ( option_v (FILE_v (l, m), i < 0) | int i ) = "mac#%" // endfun // overload fclose with fclose0 overload fclose with fclose1 // fun fclose0_exn (filr: FILEref): void = "ext#%" fun fclose1_exn (filp: FILEptr1(*none*)): void = "ext#%" // overload fclose_exn with fclose0_exn overload fclose_exn with fclose1_exn // (* ****** ****** *) (* fun fclose_stdin (): void = "ext#%" fun fclose_stdout (): void = "ext#%" fun fclose_stderr (): void = "ext#%" *) (* ****** ****** *) (* // // FILE *freopen (const char *path, const char *mode, FILE *stream); // The [freopen] function opens the file whose name is the string pointed to by path and associates the stream pointed to by stream with it. The original stream (if it exists) is closed. The mode argument is used just as in the fopen function. The primary use of the freopen function is to change the file associated with a standard text stream (stderr, stdin, or stdout). // *) // symintr freopen symintr freopen_exn // fun freopen0 {m2:fm} ( path: NSH(string), m2: fmode m2, filr: FILEref ) : Ptr0 = "mac#%" // // HX-2012-07: // the original stream is closed even if [freopen] fails. // fun freopen1 {m1,m2:fm}{l0:addr} ( path: NSH(string), m2: fmode m2, filp: FILEptr (l0, m1) ) : [ l:addr | l==null || l==l0 ] ( option_v (FILE_v (l, m2), l > null) | ptr l ) = "mac#%" // end of [freopen1] // overload freopen with freopen0 overload freopen with freopen1 // fun freopen0_exn {m2:fm} ( path: NSH(string), m2: fmode m2, filr: FILEref ) : void = "ext#%" // end of [freopen0_exn] overload freopen_exn with freopen0_exn // (* ****** ****** *) (* fun freopen_stdin (path: NSH(string)): void = "ext#%" // end of [freopen_stdin] fun freopen_stdout (path: NSH(string)): void = "ext#%" // end of [freopen_stdout] fun freopen_stderr (path: NSH(string)): void = "ext#%" // end of [freopen_stderr] *) (* ****** ****** *) (* // // int fileno (FILE* filp) ; // The function fileno examines the argument stream and returns its integer descriptor. In case fileno detects that its argument is not a valid stream, it must return -1 and set errno to EBADF. *) // symintr fileno // fun fileno0 (filr: FILEref):<> int = "mac#%" overload fileno with fileno0 fun fileno1 (filp: !FILEptr1(*none*)):<> int = "mac#%" overload fileno with fileno1 (* ****** ****** *) (* // // HX-2011-08 // *) dataview fdopen_v ( fd:int, addr, m: fmode ) = | {l:agz} fdopen_v_succ (fd, l, m) of FILE_v (l, m) | fdopen_v_fail (fd, null, m) of fildes_v (fd) // end of [fdopen_v] fun fdopen {fd:int}{m:fm} ( fd: fildes (fd), m: fmode (m) ) : [l:agez] ( fdopen_v (fd, l, m) | ptr l ) = "mac#%" // end of [fdopen] fun fdopen_exn {fd:int}{m:fm} (fd: fildes (fd), m: fmode (m)): FILEptr1 (m) = "ext#%" // end of [fdopen_exn] (* ****** ****** *) (* // // int feof (FILE *stream); // The function feof() returns a nonzero value if the end of the given file stream has been reached. // *) // symintr feof // fun feof0 (filr: FILEref):<> int = "mac#%" overload feof with feof0 fun feof1 (filp: !FILEptr1(*none*)):<> int = "mac#%" overload feof with feof1 (* ****** ****** *) (* // // int ferror (FILE *stream); // The function [ferror] tests the error indicator for the stream pointed to by stream, returning non-zero if it is set. The error indicator can only be reset by the [clearerr] function. *) // symintr ferror // fun ferror0 (filr: FILEref):<> int = "mac#%" overload ferror with ferror0 fun ferror1 (filp: !FILEptr1(*none*)):<> int = "mac#%" overload ferror with ferror1 (* ****** ****** *) (* // // void clearerr (FILE *stream); // The function [clearerr] clears the end-of-file and error indicators for the stream pointed to by stream. // *) // symintr clearerr // fun clearerr0 (filr: FILEref): void = "mac#%" overload clearerr with clearerr0 fun clearerr1 (filp: !FILEptr1(*none*)): void = "mac#%" overload clearerr with clearerr1 (* ****** ****** *) (* // // int fflush (FILE *stream); // The function fflush forces a write of all user-space buffered data for the given output or update stream via the streams underlying write function. The open status of the stream is unaffected. // Upon successful completion 0 is returned. Otherwise, EOF is returned and the global variable errno is set to indicate the error. *) // symintr fflush symintr fflush_exn // fun fflush0 (out: FILEref): int = "mac#%" fun fflush1 {m:fm} ( pf: fmlte (m, w) | out: !FILEptr1 (m) ) : [i:int | i <= 0] int (i) = "mac#%" // overload fflush with fflush0 overload fflush with fflush1 // fun fflush0_exn (out: FILEref): void = "ext#%" overload fflush_exn with fflush0_exn // (* ****** ****** *) // fun fflush_all (): void = "ext#%" fun fflush_stdout (): void = "ext#%" // (* ****** ****** *) (* // // int fgetc (FILE *stream) // [fgetc] reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error. Note that EOF must be a negative number! // *) // symintr fgetc // fun fgetc0 (inp: FILEref): int = "mac#%" fun fgetc1 {m:fm} ( pf: fmlte (m, r()) | inp: !FILEptr1 (m) ) : intLte (UCHAR_MAX) = "mac#%" // overload fgetc with fgetc0 overload fgetc with fgetc1 // (* ****** ****** *) macdef getc = fgetc (* ****** ****** *) fun getchar0 (): int = "mac#%" fun getchar1 ( ) : [i:int | i <= UCHAR_MAX] int i = "mac#%" (* ****** ****** *) // symintr fgets // fun fgets0 {sz:int}{n0:pos | n0 <= sz} ( buf: &b0ytes(sz) >> bytes(sz), n0: int n0, inp: FILEref ) : Ptr0 = "mac#%" // = addr@(buf) or NULL fun fgets1 {sz:int}{n0:pos | n0 <= sz}{m:fm} ( pfm: fmlte (m, r) | buf: &b0ytes(sz) >> bytes(sz), n0: int n0, inp: !FILEptr1 (m) ) : Ptr0 = "mac#%" // = addr@(buf) or NULL // overload fgets with fgets0 overload fgets with fgets1 // dataview fgets_v ( sz:int, n0: int, addr, addr ) = | {l0:addr} fgets_v_fail (sz, n0, l0, null) of b0ytes(sz) @ l0 | {n:nat | n < n0} {l0:agz} fgets_v_succ (sz, n0, l0, l0) of strbuf(sz, n) @ l0 // end of [fgets_v] // fun fgets1_err {sz,n0:int | sz >= n0; n0 > 0}{l0:addr}{m:fm} ( pf_mod: fmlte (m, r), pf_buf: b0ytes (sz) @ l0 | p0: ptr (l0), n0: int (n0), inp: !FILEptr1 (m) ) :<> [l1:addr] (fgets_v (sz, n0, l0, l1) | ptr l1) = "mac#%" // end of [fgets_err] // overload fgets with fgets1_err // (* ****** ****** *) // // HX-2013-05: // A complete line is read each time // [nullp] for error // fun fgets0_gc (bsz: intGte(1), inp: FILEref): Strptr0 = "ext#%" fun fgets1_gc {m:fm} ( pf_mod: fmlte (m, r) | bsz: intGte(1), inp: FILEptr1 (m) ) : Strptr0 = "ext#%" // end of [fget1_gc] (* ****** ****** *) (* // // int fgetpos(FILE *stream, fpos_t *pos); // The [fgetpos] function stores the file position indicator of the given file stream in the given position variable. The position variable is of type fpos_t (which is defined in stdio.h) and is an object that can hold every possible position in a FILE. [fgetpos] returns zero upon success, and a non-zero value upon failure. // *) // symintr fgetpos // abst@ype fpos_t = $extype"ats_fpos_type" // fun fgetpos0 ( filp: FILEref, pos: &fpos_t? >> opt (fpos_t, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" fun fgetpos1 ( filp: !FILEptr1, pos: &fpos_t? >> opt (fpos_t, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" // overload fgetpos with fgetpos0 overload fgetpos with fgetpos1 // symintr fgetpos_exn // fun fgetpos0_exn (filp: FILEref, pos: &fpos_t? >> _) : void = "ext#%" overload fgetpos_exn with fgetpos0_exn // (* ****** ****** *) (* // // int fputc (int c, FILE *stream) // The function [fputc] writes the given character [c] to the given output stream. The return value is the character, unless there is an error, in which case the return value is EOF. // *) // symintr fputc // typedef fputc0_type (a:t0p) = (a, FILEref) -<0,!wrt> int fun fputc0_int : fputc0_type (int) = "mac#%" fun fputc0_char : fputc0_type (char) = "mac#%" overload fputc with fputc0_int of 0 overload fputc with fputc0_char of 0 // typedef fputc1_type (a:t0p) = {m:fm} ( fmlte (m, w()) | a, !FILEptr1 (m) ) -<0,!wrt> intLte (UCHAR_MAX) fun fputc1_int : fputc1_type (int) = "mac#%" fun fputc1_char : fputc1_type (char) = "mac#%" overload fputc with fputc1_int of 10 overload fputc with fputc1_char of 10 // symintr fputc_exn // typedef fputc0_exn_type (a:t0p) = (a, FILEref) -<0,!exnwrt> void fun fputc0_exn_int : fputc0_exn_type (int) = "ext#%" fun fputc0_exn_char : fputc0_exn_type (char) = "ext#%" overload fputc_exn with fputc0_exn_int of 0 overload fputc_exn with fputc0_exn_char of 0 // (* ****** ****** *) macdef putc = fputc (* ****** ****** *) fun putchar0 (c: int): int = "mac#%" fun putchar1 (c: int): [i:int | i <= UCHAR_MAX] int i = "mac#%" // end of [putchar1] (* ****** ****** *) (* // // int fputs (const char* s, FILE *stream) // The function [fputs] writes a string to a file. it returns a non-negative number on success, or EOF on error. *) // symintr fputs symintr fputs_exn // fun fputs0 ( str: NSH(string), fil: FILEref ) : int = "mac#%" fun fputs1{m:fm} ( pf: fmlte (m, w()) | str: NSH(string), out: !FILEptr1 (m) ) : int = "mac#%" // overload fputs with fputs0 overload fputs with fputs1 // fun fputs0_exn ( str: NSH(string), fil: FILEref ) : void = "ext#%" // overload fputs_exn with fputs0_exn // (* ****** ****** *) // // [puts] puts a newline at the end // fun puts (inp: NSH(string)): int = "mac#%" // end of [puts] fun puts_exn (inp: NSH(string)): void = "ext#%" // end of [puts_exn] (* ****** ****** *) (* // // size_t fread (void *ptr, size_t size, size_t nmemb, FILE *stream); // The function [fread] reads [nmemb] elements of data, each [size] bytes long, from the stream pointed to by stream, storing them at the location given by ptr. The return value is the number of items that are actually read. // [fread] does not distinguish between end-of-file and error, and callers must use [feof] and [ferror] to determine which occurred. // *) // symintr fread // fun fread0 // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} ( buf: &bytes(nbf) >> _ , isz: size_t isz, n: size_t n , inp: FILEref(*none*) ) : sizeLte n = "mac#%" fun fread1 // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} {m:fm} ( pfm: fmlte (m, r) | buf: &bytes(nbf) >> _ , isz: size_t isz, n: size_t n , inp: !FILEptr1 (m) ) : sizeLte n = "mac#%" // overload fread with fread0 overload fread with fread1 // symintr fread_exn // fun fread0_exn // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} ( buf: &bytes(nbf) >> _, isz: size_t isz, n: size_t n, inp: FILEref ) : sizeLte n = "ext#%" // endfun overload fread_exn with fread0_exn (* ****** ****** *) (* // // size_t fwrite ( // const void *ptr, size_t size, size_t nmemb, FILE *stream // ) ; // The function [fwrite] writes [nmemb] elements of data, each [size] bytes long, to the stream pointed to by stream, obtaining them from the location given by [ptr]. The return value is the number of items that are actually written. // *) // symintr fwrite // fun fwrite0 // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} ( buf: &RD(bytes(nbf)) , isz: size_t isz, n: size_t n , out: FILEref ) : sizeLte (n) = "mac#%" fun fwrite1 // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} {m:fm} ( pfm: fmlte(m, w()) | buf: &RD(bytes(nbf)) , isz: size_t isz, n: size_t n , out: !FILEptr1 (m) ) : sizeLte (n) = "mac#%" // overload fwrite with fwrite0 overload fwrite with fwrite1 // symintr fwrite_exn // fun fwrite0_exn // [isz]: the size of each item {isz:pos} {nbf:int} {n:int | n*isz <= nbf} ( buf: &RD(bytes(nbf)) , isz: size_t isz, n: size_t n , out: FILEref(*none*) ) : sizeLte (n) = "ext#%" overload fwrite_exn with fwrite0_exn (* ****** ****** *) (* // // int fseek (FILE *stream, long offset, int whence) // The [fseek] function sets the file position indicator for the stream pointed to by stream. The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence. If whence is set to [SEEK_SET], [SEEK_CUR], or [SEEK_END], the offset is relative to the start of the file, the current position indicator, or end-of-file, respectively. A successful call to the [fseek] function clears the end- of-file indicator for the stream and undoes any effects of the [ungetc] function on the same stream. Upon success, [fseek] returns 0. Otherwise, it returns -1. // *) // symintr fseek symintr fseek_exn // fun fseek0 ( filr: FILEref, offset: lint, whence: whence ) : int = "mac#%" fun fseek1 ( f: !FILEptr1(*none*), offset: lint, whence: whence ) : int = "mac#%" // overload fseek with fseek0 overload fseek with fseek1 // fun fseek0_exn ( filr: FILEref, offset: lint, whence: whence ) : void = "ext#%" // overload fseek_exn with fseek0_exn // (* ****** ****** *) (* // // void fsetpos(FILE *stream, const fpos_t *pos); // The [fsetpos] function moves the file position indicator for the given stream to a location specified by the position object. The type fpos_t is defined in stdio.h. The return value for fsetpos() is zero upon success, non-zero on failure. // *) // symintr fsetpos symintr fsetpos_exn // fun fsetpos0 (filp: FILEref(*none*), pos: &RD(fpos_t)): int = "mac#%" fun fsetpos1 (filp: !FILEptr1(*none*), pos: &RD(fpos_t)): int = "mac#%" // overload fsetpos with fsetpos0 overload fsetpos with fsetpos1 // fun fsetpos0_exn (filp: FILEref(*none*), pos: &RD(fpos_t)): void = "ext#%" // overload fsetpos_exn with fsetpos0_exn // (* ****** ****** *) (* // // long ftell (FILE *stream) // [ftell] returns the current offset of the given file stream upon on success. Otherwise, -1 is returned and the global variable errno is set to indicate the error. // *) // symintr ftell symintr ftell_exn // fun ftell0 (filr: FILEref): lint = "mac#%" fun ftell1 (filp: !FILEptr1(*none*)): lint = "mac#%" overload ftell with ftell0 overload ftell with ftell1 // fun ftell0_exn (filr: FILEref): lint = "ext#%" // overload ftell_exn with ftell0_exn // (* ****** ****** *) (* // // perror - print a system error message // The routine [perror(s)] produces a message on the standard error output, describing the last error encountered during a call to a system or library function. First (if s is not NULL and *s is not NULL) the argument string s is printed, followed by a colon and a blank. Then the message and a newline. // *) fun perror (msg: NSH(string)): void = "mac#%" // end of [perror] (* ****** ****** *) abstype pmode_type (m:fm) = string typedef pmode (m:fm) = pmode_type (m) absview popen_view (l:addr) viewdef popen_v (l:addr) = popen_view (l) praxi popen_v_free_null (pf: popen_v (null)): void fun popen{m:fm} ( cmd: NSH(string), mode: pmode (m) ) : [l:addr] (popen_v (l) | FILEptr (l, m)) fun popen_exn{m:fm} ( cmd: NSH(string), mode: pmode (m) ) : FILEref = "ext#%" // endfun fun pclose0_exn (filr: FILEref): int = "ext#%" fun pclose1_exn {l:agz}{m:fm} (pf: popen_v l | filr: FILEptr (l, m)): int= "ext#%" // end of [pclose1_exn] (* ****** ****** *) fun remove (inp: NSH(string)): int = "mac#%" fun remove_exn (inp: NSH(string)): void = "ext#%" (* ****** ****** *) fun rename ( oldpath: NSH(string), newpath: NSH(string) ) : int = "mac#%" // end of [fun] fun rename_exn ( oldpath: NSH(string), newpath: NSH(string) ) : void = "ext#%" // end of [fun] (* ****** ****** *) (* // HX: [rewind] generates no error *) // symintr rewind // fun rewind0 (fil: FILEref): void = "mac#%" overload rewind with rewind0 fun rewind1 (fil: !FILEptr1(*none*)): void = "mac#%" overload rewind with rewind1 (* ****** ****** *) // fun tmpfile() : FILEptr0 (rw()) = "mac#%" // fun tmpfile_exn() : FILEptr1 (rw()) = "ext#%" // fun tmpfile_ref_exn() : FILEref(*none*) = "ext#%" // (* ****** ****** *) (* // // int ungetc(int c, FILE *stream); // [ungetc] pushes [c] back to stream, cast to unsigned char, where it is available for subsequent read operations. Pushed-back characters will be returned in reverse order; only one pushback is guaranteed. // *) // symintr ungetc // fun ungetc0 (c: char, f: FILEref): int = "mac#%" fun ungetc1 {l:agz}{m:fm} ( pfm: fmlte (m, rw()) | c: char, f: !FILEptr (l, m) ) : [i:int | i <= UCHAR_MAX] int (i) = "mac#%" // overload ungetc with ungetc0 overload ungetc with ungetc1 // symintr ungetc_exn // fun ungetc0_exn (c: char, f: FILEref) : void = "ext#%" // overload ungetc_exn with ungetc0_exn // (* ****** ****** *) stacst BUFSIZ : int praxi BUFSIZ_gtez (): [BUFSIZ >= 0] void macdef BUFSIZ = $extval (int(BUFSIZ), "BUFSIZ") (* ****** ****** *) // abst@ype bufmode_t = int // macdef _IOFBF = $extval (bufmode_t, "_IOFBF") // fully buffered macdef _IOLBF = $extval (bufmode_t, "_IOLBF") // line buffered macdef _IONBF = $extval (bufmode_t, "_IONBF") // no buffering // (* ****** ****** *) // symintr setbuf_null // fun setbuf0_null (f: FILEref): void = "mac#%" overload setbuf_null with setbuf0_null fun setbuf1_null (f: !FILEptr1(*none*)): void = "mac#%" overload setbuf_null with setbuf1_null (* ****** ****** *) (* // // HX-2010-10-03: // the buffer can be freed only after it is no longer used by // the stream to which it is attached!!! *) // symintr setbuffer // fun setbuffer0 {n1,n2:nat | n2 <= n1}{l:addr} ( pf_buf: !b0ytes n1 @ l | f: FILEref, p_buf: ptr l, n2: size_t n2 ) : void = "mac#%" overload setbuffer with setbuffer0 fun setbuffer1 {n1,n2:nat | n2 <= n1}{lbf:addr} ( pf_buf: !b0ytes n1 @ lbf | f: !FILEptr1(*none*), p_buf: ptr lbf, n2: size_t n2 ) : void = "mac#%" overload setbuffer with setbuffer1 (* ****** ****** *) // symintr setlinebuf // fun setlinebuf0 (f: FILEref): void = "mac#%" overload setlinebuf with setlinebuf0 fun setlinebuf1 (f: !FILEptr1(*none*)): void = "mac#%" overload setlinebuf with setlinebuf1 (* ****** ****** *) // symintr setvbuf_null // fun setvbuf0_null (f: FILEref, mode: bufmode_t): int = "mac#%" overload setvbuf_null with setvbuf0_null fun setvbuf1_null (f: !FILEptr1(*none*), mode: bufmode_t): int = "mac#%" overload setvbuf_null with setvbuf1_null (* ****** ****** *) // symintr setvbuf // fun setvbuf0 {n1,n2:nat | n2 <= n1}{lbf:addr} ( pf_buf: !b0ytes(n1) @ lbf | fil: FILEref, mode: bufmode_t, n2: size_t n2 ) : int = "mac#%" overload setvbuf with setvbuf0 fun setvbuf1 {n1,n2:nat | n2 <= n1}{lbf:addr} ( pf_buf: !b0ytes(n1) @ lbf | fil: !FILEptr1(*none*), mode: bufmode_t, n2: size_t n2 ) : int = "mac#%" overload setvbuf with setvbuf1 (* ****** ****** *) (* end of [stdio.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/fnmatch.sats0000664000175000017500000000744312655455557016745 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/fnmatch.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define RD(x) x // for commenting: read-only #define NSH(x) x // for commenting: no sharing #define SHR(x) x // for commenting: it is shared (* ****** ****** *) macdef FNM_MATCH = 0 // HX: match is found macdef FNM_NOMATCH = $extval (int, "FNM_NOMATCH") // HX: no match is found (* ****** ****** *) typedef fnmflags = int (* ****** ****** *) (* FNM_NOESCAPE If this flag is set, treat backslash as an ordinary character, instead of an escape character. *) macdef FNM_NOESCAPE = $extval (fnmflags, "FNM_NOESCAPE") (* FNM_PATHNAME If this flag is set, match a slash in string only with a slash in pattern and not by an asterisk '*' or a question mark (?) metacharacter, nor by a bracket expression ([]) containing a slash. *) macdef FNM_PATHNAME = $extval (fnmflags, "FNM_PATHNAME") (* FNM_PERIOD If this flag is set, a leading period in string has to be matched exactly by a period in pattern. A period is considered to be leading if it is the first character in string, or if both FNM_PATHNAME is set and the period immediately follows a slash. *) macdef FNM_PERIOD = $extval (fnmflags, "FNM_PERIOD") (* FNM_FILE_NAME This is a GNU synonym for FNM_PATHNAME. *) macdef FNM_FILE_NAME = $extval (fnmflags, "FNM_FILE_NAME") (* FNM_LEADING_DIR If this flag (a GNU extension) is set, the pattern is considered to be matched if it matches an initial segment of string which is followed by a slash. This flag is mainly for the internal use of glibc and is only implemented in certain cases. *) macdef FNM_LEADING_DIR = $extval (fnmflags, "FNM_LEADING_DIR") (* FNM_CASEFOLD If this flag (a GNU extension) is set, the pattern is matched case-insensitively. *) macdef FNM_CASEFOLD = $extval (fnmflags, "FNM_CASEFOLD") (* ****** ****** *) symintr fnmatch fun fnmatch_null ( pattern: NSH(string), fname: NSH(string) ) :<> int = "mac#%" // end of [fnmatch] fun fnmatch_flags ( pattern: NSH(string), fname: NSH(string), flags: fnmflags ) :<> int = "mac#%" // end of [fnmatch] overload fnmatch with fnmatch_null overload fnmatch with fnmatch_flags (* ****** ****** *) (* end of [fnmatch.sats] *) ATS2-Postiats-0.2.6/./libc/SATS/.keeper0000664000175000017500000000000012655455557015663 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/SATS/string.sats0000664000175000017500000001265712655455557016636 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/CATS/string.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) fun strcmp (x1: string, x2: string):<> int = "mac#%" fun strncmp (x1: string, x2: string, n: size_t):<> int = "mac#%" (* ****** ****** *) fun strcoll (x1: string, x2: string):<> int = "mac#%" (* ****** ****** *) fun strspn (x1: string, x2: string):<> size_t = "mac#%" fun strcspn (x1: string, x2: string):<> size_t = "mac#%" (* ****** ****** *) // fun strlen {n:int} (x: string n):<> size_t (n) = "mac#%" fun strnlen {m,n:int} (x: string n, max: size_t m):<> size_t (min(m,n)) = "mac#%" // (* ****** ****** *) fun strcat {l:addr}{m:int}{n1,n2:int | n1+n2 < m} ( !strbuf_v (l, m, n1) >> strbuf_v (l, m, n1+n2) | ptr (l), string (n2) ) : ptr (l) = "mac#%" // end of [strcat] fun strcat_unsafe {l:addr} (x1: ptr (l), x2: string): ptr (l) = "mac#%" fun strncat_unsafe {l:addr} (x1: ptr (l), x2: string, n: size_t): ptr (l) = "mac#%" (* ****** ****** *) fun strcpy {l:addr}{m:int}{n:int | n < m} ( !b0ytes(m) @ l >> strbuf_v (l, m, n) | ptr (l), string (n) ) : ptr (l) = "mac#%" // endfun fun strcpy_unsafe {l:addr} (dst: ptr (l), src: string): ptr (l) = "mac#%" fun strncpy_unsafe {l:addr} (dst: ptr (l), src: string, n: size_t): ptr (l) = "mac#%" (* ****** ****** *) absview strdup_view (l:addr) viewdef strdup_v (l:addr) = strdup_view (l) fun strdup ( str: string ) : [l:addr] (strdup_v (l) | strptr (l)) = "mac#%" fun strndup ( str: string ) : [l:addr] (strdup_v (l) | strptr (l)) = "mac#%" fun strdup_free {l:addr} (pf: strdup_v (l) | x: strptr l): void = "mac#%" // end of [strdup_free] (* ****** ****** *) // // HX-2013-03: // strdupa-functions are gcc-functions; // they use alloca for memory allocation // absview strdupa_view (l:addr) viewdef strdupa_v (l:addr) = strdupa_view (l) fun strdupa ( str: string ) : [l:addr] (strdupa_v (l) | strptr (l)) = "mac#%" fun strndupa ( str: string ) : [l:addr] (strdupa_v (l) | strptr (l)) = "mac#%" fun strdupa_free {l:addr} (pf: strdupa_v (l) | x: strptr l): void = "mac#%" // end of [strdupa_free] (* ****** ****** *) fun strfry {l:agz} (x: !strptr (l) >> _): ptr (l) = "mac#%" (* ****** ****** *) // fun memcpy {l:addr} {n1,n2:int} {n:int | n <= n1; n <= n2} ( pf: !b0ytes(n1) @ l >> bytes(n1) @ l | dst: ptr (l), src: &RD(@[byte][n2]), n: size_t (n) ) : ptr (l) = "mac#%" // end of [memcpy] // fun memcpy_unsafe{l:addr} (dst: ptr (l), src: ptr, n: size_t): ptr (l) = "mac#%" // (* ****** ****** *) /* void *memset(void *s, int c, size_t n); */ fun memset_unsafe{l:addr} (dst: ptr (l), c: int, n: size_t): ptr (l) = "mac#%" // (* ****** ****** *) /* void *memmove(void *dest, const void *src, size_t n); */ fun memmove_unsafe{l:addr} (dst: ptr (l), src: ptr, n: size_t): ptr (l) = "mac#%" // (* ****** ****** *) /* void *memccpy(void *dest, const void *src, int c, size_t n); */ fun memccpy_unsafe{l:addr} (dst: ptr (l), src: ptr, c: int, n: size_t): Ptr0 = "mac#%" // (* ****** ****** *) // fun mempcpy {l:addr} {n1,n2:int} {n:int | n <= n1; n <= n2} ( pf: !b0ytes(n1) @ l >> bytes(n1) @ l | dst: ptr (l), src: &RD(@[byte][n2]), n: size_t (n) ) : ptr (l+n) = "mac#%" // end of [mempcpy] // fun mempcpy_unsafe{l:addr}{n:int} (dst: ptr (l), src: ptr, n: size_t (n)): ptr (l+n) = "mac#%" // (* ****** ****** *) // // HX: This one is non-reentrant: // fun strerror (errnum: int): [l:agz] vttakeout0 (strptr l) = "mac#%" // end of [strerror] (* ****** ****** *) /* int strerror_r(int errnum, char *buf, size_t buflen); */ fun strerror_r{n:int} (errnum: int, buf: &bytes(n), n: size_t (n)):<> int = "mac#%" // end of [strerror_r] (* ****** ****** *) fun strerror_r_gc (errnum: int):<> Strptr1 = "ext#%" (* ****** ****** *) (* end of [string.sats] *) ATS2-Postiats-0.2.6/./libc/CATS/0000775000175000017500000000000012655455557014401 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/CATS/malloc.cats0000664000175000017500000000376412655455557016536 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/malloc.atxt ** Time of generation: Sat Jun 27 21:39:55 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_MALLOC #define ATSLIB_LIBC_CATS_MALLOC /* ****** ****** */ #include /* ****** ****** */ #define atslib_mallopt mallopt #define atslib_malloc_trim malloc_trim #define atslib_malloc_usable_size malloc_usable_size #define atslib_malloc_stats malloc_stats #define atslib_malloc_get_state malloc_get_state #define atslib_malloc_set_state malloc_set_state /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_MALLOC /* ****** ****** */ /* end of [malloc.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/fnmatch.cats0000664000175000017500000000363012655455557016677 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/fnmatch.atxt ** Time of generation: Sat Jun 27 21:39:55 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_FNMATCH #define ATSLIB_LIBC_CATS_FNMATCH /* ****** ****** */ #include /* ****** ****** */ #define atslib_fnmatch_null(pat, str) fnmatch((char*)pat, (char*)str, 0) #define atslib_fnmatch_flags(pat, str, flags) fnmatch((char*)pat, (char*)str, flags) /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_FNMATCH /* ****** ****** */ /* end of [fnmatch.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/time.cats0000664000175000017500000001001112655455557016204 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/time.atxt ** Time of generation: Sat Jun 27 21:39:59 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_TIME #define ATSLIB_LIBC_CATS_TIME /* ****** ****** */ #include /* ****** ****** */ typedef time_t atslib_time_type ; typedef struct tm atslib_tm_struct_type ; /* ****** ****** */ typedef clock_t atslib_clock_type ; /* ****** ****** */ typedef struct timespec atslib_timespec_type ; /* ****** ****** */ #define atslib_difftime difftime /* ****** ****** */ #define atslib_time_get() time((time_t*)0) ATSinline() atstype_bool atslib_time_getset ( atstype_ref tval ) { return (time((time_t*)tval) >= 0 ? atsbool_true : atsbool_false) ; } // end of [atslib_time_getset] /* ****** ****** */ #define atslib_ctime ctime #define atslib_ctime_r ctime_r /* ****** ****** */ ATSinline() atstype_int atslib_tm_get_sec (atstype_ptr tm) { return ((struct tm*)tm)->tm_sec ; } // end of [atslib_tm_get_sec] ATSinline() atstype_int atslib_tm_get_min (atstype_ptr tm) { return ((struct tm*)tm)->tm_min ; } // end of [atslib_tm_get_min] ATSinline() atstype_int atslib_tm_get_hour (atstype_ptr tm) { return ((struct tm*)tm)->tm_hour ; } // end of [atslib_tm_get_hour] ATSinline() atstype_int atslib_tm_get_mday (atstype_ptr tm) { return ((struct tm*)tm)->tm_mday ; } // end of [atslib_tm_get_mday] ATSinline() atstype_int atslib_tm_get_mon (atstype_ptr tm) { return ((struct tm*)tm)->tm_mon ; } // end of [atslib_tm_get_mon] ATSinline() atstype_int atslib_tm_get_year (atstype_ptr tm) { return ((struct tm*)tm)->tm_year ; } // end of [atslib_tm_get_year] ATSinline() atstype_int atslib_tm_get_wday (atstype_ptr tm) { return ((struct tm*)tm)->tm_wday ; } // end of [atslib_tm_get_wday] ATSinline() atstype_int atslib_tm_get_yday (atstype_ptr tm) { return ((struct tm*)tm)->tm_yday ; } // end of [atslib_tm_get_yday] ATSinline() atstype_int atslib_tm_get_isdst (atstype_ptr tm) { return ((struct tm*)tm)->tm_isdst ; } // end of [atslib_tm_get_isdst] /* ****** ****** */ #define atslib_mktime mktime /* ****** ****** */ #define atslib_asctime asctime /* ****** ****** */ #define atslib_gmtime gmtime #define atslib_gmtime_r gmtime_r /* ****** ****** */ #define atslib_localtime localtime #define atslib_localtime_r localtime_r /* ****** ****** */ #define atslib_tzset tzset /* ****** ****** */ #define atslib_clock clock #define atslib_clock_getres clock_getres /* ****** ****** */ #define atslib_clock_gettime clock_gettime #define atslib_clock_settime clock_settime /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_TIME /* ****** ****** */ /* end of [time.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/fcntl.cats0000664000175000017500000000455512655455557016374 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/fcntl.atxt ** Time of generation: Sat Jun 27 21:39:55 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_FCNTL #define ATSLIB_LIBC_CATS_FCNTL /* ****** ****** */ #include #include // HX: after sys/types /* ****** ****** */ #define atslib_fildes_get_int(fd) (fd) /* ****** ****** */ ATSinline() atstype_bool atslib_fildes_isgtez (atstype_int fd) { return (fd >= 0 ? atsbool_true : atsbool_false) ; } // end of [atslib_fildes_isgtez] /* ****** ****** */ #define atslib_fcntlflags_lor(x1, x2) ((x1)|(x2)) /* ****** ****** */ #define atslib_open_flags(path, flags) open((char*)path, flags) #define atslib_open_flags_mode(path, flags, mode) open((char*)path, flags, mode) /* ****** ****** */ #define atslib_fcntl_getfl(fd) fcntl(fd, F_GETFL) #define atslib_fcntl_setfl(fd, flags) fcntl(fd, F_SETFL, flags) /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_FCNTL /* ****** ****** */ /* end of [fcntl.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/string.cats0000664000175000017500000000643412655455557016572 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/string.atxt ** Time of generation: Sat Jun 27 21:39:58 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_STRING #define ATSLIB_LIBC_CATS_STRING /* ****** ****** */ #include #include /* ****** ****** */ #define atslib_strcmp strcmp #define atslib_strncmp strncmp /* ****** ****** */ #define atslib_strcoll strcoll /* ****** ****** */ #define atslib_strspn strspn #define atslib_strcspn strcspn /* ****** ****** */ #define atslib_strlen strlen #define atslib_strnlen strnlen /* ****** ****** */ #define atslib_strcat strcat #define atslib_strcat_unsafe strcat #define atslib_strncat_unsafe strncat /* ****** ****** */ #define atslib_strcpy strcpy #define atslib_strcpy_unsafe strcpy #define atslib_strncpy_unsafe strncpy /* ****** ****** */ #define atslib_strdup strdup #define atslib_strndup strndup #define atslib_strdup_free atsruntime_mfree_libc #define atslib_strdupa strdupa #define atslib_strndupa strndupa #define atslib_strdupa_free atsruntime_afree_libc /* ****** ****** */ #define atslib_strfry strfry /* ****** ****** */ #define atslib_memcpy memcpy #define atslib_memcpy_unsafe memcpy /* ****** ****** */ #define atslib_memccpy_unsafe memccpy /* ****** ****** */ #define atslib_mempcpy mempcpy #define atslib_mempcpy_unsafe mempcpy /* ****** ****** */ #define atslib_memset_unsafe memset /* ****** ****** */ #define atslib_memmove_unsafe memmove /* ****** ****** */ #define atslib_strerror strerror #define atslib_strerror_r strerror_r /* ****** ****** */ ATSinline() atstype_ptr atslib_strdup_gc (atstype_string src) { char *dst ; size_t len, len1 ; len = atslib_strlen((char*)src) ; len1 = len + 1; dst = atspre_malloc_gc(len1) ; return atslib_memcpy(dst, src, len1) ; } // end of [atslib_strdup_gc] /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_STRING /* ****** ****** */ /* end of [string.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/strings.cats0000664000175000017500000000377012655455557016755 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/strings.atxt ** Time of generation: Sat Jun 27 21:39:58 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_STRINGS #define ATSLIB_LIBC_CATS_STRINGS /* ****** ****** */ #include /* ****** ****** */ #define atslib_index_int index #define atslib_index_char(c) index((int)c) #define atslib_rindex_int rindex #define atslib_rindex_char(c) rindex((int)c) /* ****** ****** */ #define atslib_strcasecmp strcasecmp #define atslib_strncasecmp strncasecmp /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_STRINGS /* ****** ****** */ /* end of [strings.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/dlfcn.cats0000664000175000017500000000373512655455557016353 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/dlfcn.atxt ** Time of generation: Sat Jun 27 21:39:54 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_DLFCN #define ATSLIB_LIBC_CATS_DLFCN /* ****** ****** */ #include /* ****** ****** */ #define atslib_dlopen dlopen #define atslib_dlclose dlclose /* ****** ****** */ #define atslib_dlerror dlerror /* ****** ****** */ #define atslib_dlsym dlsym /* ****** ****** */ #define atslib_dladdr dladdr #define atslib_dlvsym dlvsym /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_DLFCN /* ****** ****** */ /* end of [dlfcn.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/signal.cats0000664000175000017500000000563312655455557016541 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/signal.atxt ** Time of generation: Sat Jun 27 21:39:57 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_SIGNAL #define ATSLIB_LIBC_CATS_SIGNAL /* ****** ****** */ #include /* ****** ****** */ typedef int signum_t ; typedef void (*sighandler_t)(signum_t) ; /* ****** ****** */ typedef struct sigaction atslib_sigaction_struct ; /* ****** ****** */ #define atslib_sigaddset sigaddset #define atslib_sigdelset sigdelset #define atslib_sigemptyset sigemptyset #define atslib_sigfillset sigfillset /* ****** ****** */ #define atslib_signal signal /* ****** ****** */ #define atslib_sigaction sigaction #define atslib_sigaction_null(sgn, act) \ atslib_sigaction(sgn, act, (atslib_sigaction_struct*)0) /* ****** ****** */ #define atslib_sigset sigset #define atslib_sighold sighold #define atslib_sigignore sigignore #define atslib_sigrelse sigrelse /* ****** ****** */ #define atslib_kill kill #define atslib_killpg killpg #define atslib_raise raise /* ****** ****** */ #define atslib_sigwait sigwait /* ****** ****** */ #define atslib_sigpause sigpause #define atslib_sigsuspend sigsuspend /* ****** ****** */ #define atslib_sigpending sigpending #define atslib_siginterrupt siginterrupt /* ****** ****** */ #define atslib_psignal psignal /* ****** ****** */ /* extern char* strsignal (int signum) ; // declared in */ #define atslib_strsignal strsignal /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_SIGNAL /* ****** ****** */ /* end of [signal.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/stdlib.cats0000664000175000017500000001054312655455557016541 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/stdlib.atxt ** Time of generation: Sat Jun 27 21:39:58 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_STDLIB #define ATSLIB_LIBC_CATS_STDLIB /* ****** ****** */ #include /* ****** ****** */ #include "share/H/pats_atslib.h" /* ****** ****** */ #define atslib__Exit _Exit #define atslib_atexit atexit /* ****** ****** */ #define atslib_abort abort /* ****** ****** */ #define atslib_abs abs #define atslib_labs labs #define atslib_llabs llabs /* ****** ****** */ #define atslib_div div #define atslib_ldiv ldiv #define atslib_lldiv lldiv /* ****** ****** */ #define atslib_a64l a64l #define atslib_l64a l64a /* ****** ****** */ #define atslib_atoi atoi #define atslib_atol atol #define atslib_atoll atoll #define atslib_atof atof /* ****** ****** */ #define atslib_strtol0(nptr, base) atslib_strtol_unsafe(nptr, 0, base) #define atslib_strtol1(nptr, endptr, base) atslib_strtol_unsafe(nptr, endptr, base) #define atslib_strtol_unsafe(nptr, endptr, base) strtol((char*)(nptr), (char**)(endptr), base) /* ****** ****** */ #define atslib_strtoll0(nptr, base) atslib_strtoll_unsafe(nptr, 0, base) #define atslib_strtoll1(nptr, endptr, base) atslib_strtoll_unsafe(nptr, endptr, base) #define atslib_strtoll_unsafe(nptr, endptr, base) strtoll((char*)(nptr), (char**)(endptr), base) /* ****** ****** */ #define atslib_strtof0(nptr) atslib_strtof_unsafe(nptr, 0) #define atslib_strtof1(nptr, endptr) atslib_strtof_unsafe(nptr, endptr) #define atslib_strtof_unsafe(nptr, endptr) strtof((char*)(nptr), (char**)(endptr)) /* ****** ****** */ #define atslib_strtod0(nptr) atslib_strtod_unsafe(nptr, 0) #define atslib_strtod1(nptr, endptr) atslib_strtod_unsafe(nptr, endptr) #define atslib_strtod_unsafe(nptr, endptr) strtod((char*)(nptr), (char**)(endptr)) /* ****** ****** */ #define atslib_getenv getenv #define atslib_putenv putenv #define atslib_setenv setenv #define atslib_unsetenv unsetenv /* ****** ****** */ #define atslib_rand rand #define atslib_srand srand #define atslib_rand_r rand_r /* ****** ****** */ #define atslib_random random #define atslib_srandom srandom /* ****** ****** */ #define atslib_drand48 drand48 #define atslib_erand48 erand48 #define atslib_lrand48 lrand48 #define atslib_nrand48 nrand48 #define atslib_mrand48 mrand48 #define atslib_jrand48 jrand48 #define atslib_srand48 srand48 #define atslib_seed48 seed48 #define atslib_lcong48 lcong48 /* ****** ****** */ #define \ atslib_qsort(base, nmemb, size, compar) \ qsort(base, nmemb, size, (void*)compar) /* ****** ****** */ #define \ atslib_bsearch(key, base, nmemb, size, compar) \ bsearch(key, base, nmemb, size, (void*)compar) /* ****** ****** */ #define atslib_mkstemp mkstemp #define atslib_mkostemp mkostemp /* ****** ****** */ #define atslib_mfree_libc free #define atslib_malloc_libc malloc /* ****** ****** */ #define atslib_system system /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_STDLIB /* ****** ****** */ /* end of [stdlib.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/alloca.cats0000664000175000017500000000365212655455557016516 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/alloca.atxt ** Time of generation: Sat Jun 27 21:39:53 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: February, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_ALLOCA #define ATSLIB_LIBC_CATS_ALLOCA /* ****** ****** */ #include /* ****** ****** */ // #define atslib_alloca(bsz) alloca(bsz) // /* ****** ****** */ // #define atslib_ptr_alloca_tsz(tsz) alloca(tsz) // #define atslib_array_ptr_alloca_tsz(asz, tsz) alloca((asz)*(tsz)) // /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_ALLOCA /* ****** ****** */ /* end of [alloca.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/dirent.cats0000664000175000017500000000564512655455557016554 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/dirent.atxt ** Time of generation: Sat Jun 27 21:39:54 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_DIRENT #define ATSLIB_LIBC_CATS_DIRENT /* ****** ****** */ #include #include // HX: after sys/types /* ****** ****** */ #include "share/H/pats_atslib.h" /* ****** ****** */ typedef DIR atslib_DIR_type ; typedef struct dirent atslib_dirent_type ; /* ****** ****** */ #define atslib_direntp_free(x) atspre_mfree_gc(x) /* ****** ****** */ #define atslib_dirent_get_d_ino(ent) (((atslib_dirent_type*)ent)->d_ino) #define atslib_dirent_get_d_name(ent) (((atslib_dirent_type*)ent)->d_name) /* ****** ****** */ #define atslib_direntp_get_d_name(entp) (((atslib_dirent_type*)entp)->d_name) /* ****** ****** */ #define atslib_alphasort alphasort #define atslib_versionsort versionsort /* ****** ****** */ #define atslib_opendir opendir /* ****** ****** */ #define atslib_closedir closedir /* ****** ****** */ #define atslib_readdir readdir #define \ atslib_readdir_r(dirp, ent, res) \ readdir_r((DIR*)dirp, (atslib_dirent_type*)ent, (atslib_dirent_type**)res) /* ****** ****** */ #define \ atslib_scandir(dirp, namelst, filter, compar) \ scandir((char*)dirp, (atslib_dirent_type***)namelst, (void*)filter, (void*)compar) /* ****** ****** */ #define atslib_rewinddir rewinddir /* ****** ****** */ #define atslib_seekdir seekdir #define atslib_telldir telldir /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_DIRENT /* ****** ****** */ /* end of [dirent.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/errno.cats0000664000175000017500000000410712655455557016404 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/errno.atxt ** Time of generation: Sat Jun 27 21:39:54 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_ERRNO #define ATSLIB_LIBC_CATS_ERRNO /* ****** ****** */ #include /* ****** ****** */ typedef int errno_t ; /* ****** ****** */ #define ENONE 0 /* ****** ****** */ #define atslib_the_errno_get() (errno) #define atslib_the_errno_set(eno) (errno = (eno)) #define atslib_the_errno_reset() (errno = ENONE) ATSinline() atstype_bool atslib_the_errno_test(errno_t eno) { return (errno==(eno)) ? atsbool_true : atsbool_false ; } /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_ERRNO /* ****** ****** */ /* end of [errno.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/unistd.cats0000664000175000017500000000774212655455557016575 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/unistd.atxt ** Time of generation: Sat Jun 27 21:39:59 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_UNISTD #define ATSLIB_LIBC_CATS_UNISTD /* ****** ****** */ #include /* ****** ****** */ #include "share/H/pats_atslib.h" /* ****** ****** */ #define atslib_close close #define atslib_close0 atslib_close #define atslib_close1 atslib_close #define atslib_close0_exn atslib_close_exn #define atslib_close1_exn atslib_close_exn /* ****** ****** */ #define atslib_dup dup #define atslib_dup_fildes dup #define atslib_dup2 dup2 #define atslib_dup3 dup3 /* ****** ****** */ #define atslib_execv(path, argv) execv((char*)path, (char**)argv) #define atslib_execvp(path, argv) execvp((char*)path, (char**)argv) /* ****** ****** */ #define atslib_encrypt encrypt /* ****** ****** */ #define atslib_fork fork /* ****** ****** */ #define atslib_getcwd getcwd /* ****** ****** */ #define atslib_getlogin getlogin #define atslib_getlogin_r getlogin_r /* ****** ****** */ #define atslib_getpid getpid #define atslib_getppid getppid /* ****** ****** */ #define atslib_getuid getuid #define atslib_setuid setuid #define atslib_geteuid geteuid #define atslib_seteuid seteuid /* ****** ****** */ #define atslib_getgid getgid #define atslib_setgid setgid #define atslib_getegid getegid #define atslib_setegid setegid /* ****** ****** */ #define atslib_setreuid setreuid #define atslib_setregid setregid #define atslib_setresuid setresuid #define atslib_setresgid setresgid /* ****** ****** */ #define atslib_setfsuid setfsuid #define atslib_setfsgid setfsgid /* ****** ****** */ #define atslib_pause pause /* ****** ****** */ #define atslib_read_err read #define atslib_write_err write /* ****** ****** */ #define atslib_pread pread #define atslib_pwrite pwrite /* ****** ****** */ #define atslib_alarm alarm #define atslib_alarm_set alarm #define atslib_alarm_cancel() alarm(0) /* ****** ****** */ #define atslib_sleep_int sleep #define atslib_sleep_uint sleep /* ****** ****** */ #define atslib_usleep_int usleep #define atslib_usleep_uint usleep /* ****** ****** */ #define atslib_rmdir rmdir /* ****** ****** */ #define atslib_link link #define atslib_unlink unlink /* ****** ****** */ #define atslib_symlink symlink #define atslib_readlink readlink /* ****** ****** */ #define atslib_sync sync #define atslib_fsync fsync #define atslib_fdatasync fdatasync /* ****** ****** */ #define atslib_truncate truncate #define atslib_ftruncate ftruncate /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_UNISTD /* ****** ****** */ /* end of [unistd.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/stdio.cats0000664000175000017500000001254612655455557016407 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/stdio.atxt ** Time of generation: Fri Nov 20 19:49:33 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_STDIO #define ATSLIB_LIBC_CATS_STDIO /* ****** ****** */ #include /* extern void perror (const char* str) ; // in [stdio.h] */ extern void exit (int status) ; // in [stdlib.h] /* ****** ****** */ #include "share/H/pats_atslib.h" /* ****** ****** */ #define \ atslib_clearerr(p) clearerr(((FILE*)p)) /* ****** ****** */ #define atslib_fopen fopen #define atslib_fopen_ref_exn atslib_fopen_exn /* ****** ****** */ #define atslib_fclose fclose #define atslib_fclose0 atslib_fclose #define atslib_fclose1 atslib_fclose #define atslib_fclose0_exn atslib_fclose_exn #define atslib_fclose1_exn atslib_fclose_exn /* #define atslib_fclose_stdin() atslib_fclose_exn(stdin) #define atslib_fclose_stdout() atslib_fclose_exn(stdout) #define atslib_fclose_stderr() atslib_fclose_exn(stderr) */ /* ****** ****** */ // #define atslib_fflush fflush #define atslib_fflush0 atslib_fflush #define atslib_fflush1 atslib_fflush #define atslib_fflush0_exn atslib_fflush_exn #define atslib_fflush1_exn atslib_fflush_exn // #define atslib_fflush_all() atslib_fclose_exn((FILE*)0) #define atslib_fflush_stdout() atslib_fclose_exn(stdout) // /* ****** ****** */ #define atslib_fileno fileno #define atslib_fileno0 atslib_fileno #define atslib_fileno1 atslib_fileno /* ****** ****** */ #define atslib_fdopen fdopen /* ****** ****** */ #define \ atslib_feof(p) feof(((FILE*)p)) #define atslib_feof0 atslib_feof #define atslib_feof1 atslib_feof /* ****** ****** */ #define \ atslib_ferror(p) ferror(((FILE*)p)) #define atslib_ferror0 atslib_ferror #define atslib_ferror1 atslib_ferror /* ****** ****** */ #define atslib_fgetc fgetc #define atslib_fgetc0 atslib_fgetc #define atslib_fgetc1 atslib_fgetc /* ****** ****** */ #define atslib_getchar getchar #define atslib_getchar0 atslib_getchar #define atslib_getchar1 atslib_getchar /* ****** ****** */ #define atslib_fputc fputc #define atslib_fputc0_int atslib_fputc #define atslib_fputc0_char(c, fp) atslib_fputc((int)c, fp) #define atslib_fputc1_int atslib_fputc #define atslib_fputc1_char(c, fp) atslib_fputc((int)c, fp) #define atslib_fputc0_exn_int atslib_fputc_exn #define atslib_fputc0_exn_char atslib_fputc_exn /* ****** ****** */ #define atslib_putchar putchar #define atslib_putchar0 atslib_putchar #define atslib_putchar1 atslib_putchar /* ****** ****** */ #define atslib_fgets fgets #define atslib_fgets0 atslib_fgets #define atslib_fgets1 atslib_fgets #define atslib_fgets1_err atslib_fgets #define atslib_fgets0_gc atslib_fgets_gc #define atslib_fgets1_gc atslib_fgets_gc /* ****** ****** */ #define atslib_fputs fputs #define atslib_fputs0 atslib_fputs #define atslib_fputs1 atslib_fputs #define atslib_fputs0_exn atslib_fputs_exn #define atslib_fputs1_exn atslib_fputs_exn /* ****** ****** */ #define atslib_puts puts /* ****** ****** */ #define atslib_fread fread #define atslib_fread0 atslib_fread #define atslib_fread1 atslib_fread /* ****** ****** */ #define atslib_fwrite fwrite #define atslib_fwrite0 atslib_fwrite #define atslib_fwrite1 atslib_fwrite /* ****** ****** */ #define atslib_fseek fseek #define atslib_fseek0 atslib_fseek #define atslib_fseek1 atslib_fseek /* ****** ****** */ #define atslib_ftell ftell #define atslib_ftell0 atslib_ftell #define atslib_ftell1 atslib_ftell /* ****** ****** */ #define atslib_perror perror /* ****** ****** */ #define atslib_popen popen /* ****** ****** */ #define atslib_pclose0_exn atslib_pclose_exn #define atslib_pclose1_exn atslib_pclose_exn /* ****** ****** */ #define atslib_remove remove #define atslib_rename rename /* ****** ****** */ #define atslib_rewind rewind #define atslib_rewind0 atslib_rewind #define atslib_rewind1 atslib_rewind /* ****** ****** */ #define atslib_tmpfile tmpfile #define atslib_tmpfile_ref_exn atslib_tmpfile_exn /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_STDIO /* ****** ****** */ /* end of [stdio.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/math.cats0000664000175000017500000001277112655455557016216 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/math.atxt ** Time of generation: Sat Jun 27 21:39:56 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_MATH #define ATSLIB_LIBC_CATS_MATH /* ****** ****** */ #include /* ****** ****** */ #define atslib_isfinite_float isfinite #define atslib_isfinite_double isfinite #define atslib_isfinite_ldouble isfinite /* ****** ****** */ #define atslib_isnormal_float isnormal #define atslib_isnormal_double isnormal #define atslib_isnormal_ldouble isnormal /* ****** ****** */ #define atslib_isinf_float isinf #define atslib_isinf_double isinf #define atslib_isinf_ldouble isinf /* ****** ****** */ #define atslib_isnan_float isnan #define atslib_isnan_double isnan #define atslib_isnan_ldouble isnan /* ****** ****** */ #define atslib_fpclassify_float fpclassify #define atslib_fpclassify_double fpclassify #define atslib_fpclassify_ldouble fpclassify /* ****** ****** */ #define atslib_ceil_float ceilf #define atslib_ceil_double ceil #define atslib_ceil_ldouble ceill /* ****** ****** */ #define atslib_floor_float floorf #define atslib_floor_double floor #define atslib_floor_ldouble floorl /* ****** ****** */ #define atslib_round_float roundf #define atslib_round_double round #define atslib_round_ldouble roundl /* ****** ****** */ #define atslib_trunc_float truncf #define atslib_trunc_double trunc #define atslib_trunc_ldouble truncl /* ****** ****** */ #define atslib_fmod_float fmodf #define atslib_fmod_double fmod #define atslib_fmod_ldouble fmodl /* ****** ****** */ #define atslib_fmax_float fmaxf #define atslib_fmax_double fmax #define atslib_fmax_ldouble fmaxl /* ****** ****** */ #define atslib_fmin_float fminf #define atslib_fmin_double fmin #define atslib_fmin_ldouble fminl /* ****** ****** */ #define atslib_fdim_float fdimf #define atslib_fdim_double fdim #define atslib_fdim_ldouble fdiml /* ****** ****** */ #define atslib_fma_float fmaf #define atslib_fma_double fma #define atslib_fma_ldouble fmal /* ****** ****** */ #define atslib_sqrt_float sqrtf #define atslib_sqrt_double sqrt #define atslib_sqrt_ldouble sqrtl /* ****** ****** */ #define atslib_cbrt_float cbrtf #define atslib_cbrt_double cbrt #define atslib_cbrt_ldouble cbrtl /* ****** ****** */ #define atslib_pow_float powf #define atslib_pow_double pow #define atslib_pow_ldouble powl /* ****** ****** */ #define atslib_exp_float expf #define atslib_exp_double exp #define atslib_exp_ldouble expl /* ****** ****** */ // #define atslib_log_float logf #define atslib_log_double log #define atslib_log_ldouble logl // #define atslib_log10_float log10f #define atslib_log10_double log10 #define atslib_log10_ldouble log10l // /* ****** ****** */ // #define atslib_sin_float sinf #define atslib_sin_double sin #define atslib_sin_ldouble sinl // #define atslib_cos_float cosf #define atslib_cos_double cos #define atslib_cos_ldouble cosl // #define atslib_tan_float tanf #define atslib_tan_double tan #define atslib_tan_ldouble tanl // /* ****** ****** */ // #define atslib_asin_float asinf #define atslib_asin_double asin #define atslib_asin_ldouble asinl // #define atslib_acos_float acosf #define atslib_acos_double acos #define atslib_acos_ldouble cosl // #define atslib_atan_float atanf #define atslib_atan_double atan #define atslib_atan_ldouble atanl // #define atslib_atan2_float atan2f #define atslib_atan2_double atan2 #define atslib_atan2_ldouble atan2l // /* ****** ****** */ // #define atslib_sinh_float sinhf #define atslib_sinh_double sinh #define atslib_sinh_ldouble sinhl // #define atslib_cosh_float coshf #define atslib_cosh_double cosh #define atslib_cosh_ldouble coshl // #define atslib_tanh_float tanhf #define atslib_tanh_double tanh #define atslib_tanh_ldouble tanhl // /* ****** ****** */ #define atslib_asinh_float asinhf #define atslib_asinh_double asinh #define atslib_asinh_ldouble asinhl // #define atslib_acosh_float acoshf #define atslib_acosh_double acosh #define atslib_acosh_ldouble acoshl // #define atslib_atanh_float atanhf #define atslib_atanh_double atanh #define atslib_atanh_ldouble atanhl // /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_MATH /* ****** ****** */ /* end of [math.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/float.cats0000664000175000017500000000332412655455557016364 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/CATS/CODEGEN/float.atxt ** Time of generation: Sat Jun 27 21:39:55 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: October, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_CATS_FLOAT #define ATSLIB_LIBC_CATS_FLOAT /* ****** ****** */ #include /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_CATS_FLOAT /* ****** ****** */ /* end of [float.cats] */ ATS2-Postiats-0.2.6/./libc/CATS/.keeper0000664000175000017500000000000012655455557015643 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/0000775000175000017500000000000012655455557014560 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/DATS/0000775000175000017500000000000012655455557015313 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/DATS/.keeper0000664000175000017500000000000012655455557016555 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/SATS/0000775000175000017500000000000012655455557015332 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/SATS/gdbm.sats0000664000175000017500000002270212655455557017142 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: July, 2013 // (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc.gdbm_gdbm" #define ATS_STALOADFLAG 0 // no static loading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) %{# #include "libc/gdbm/CATS/gdbm.cats" %} // end of [%{#] (* ****** ****** *) staload FCNTL = "libc/SATS/fcntl.sats" staload TYPES = "libc/sys/SATS/types.sats" typedef mode_t = $TYPES.mode_t (* ****** ****** *) #include "./SHARE/datum.hats" (* ****** ****** *) absvtype GDBMfilptr (lf:addr) = ptr vtypedef GDBMfilptr = [lf:addr] GDBMfilptr (lf) vtypedef GDBMfilptr0 = [lf:addr | lf >= null] GDBMfilptr (lf) vtypedef GDBMfilptr1 = [lf:addr | lf > null] GDBMfilptr (lf) (* ****** ****** *) praxi GDBMfilptr_free_null (GDBMfilptr (null)): void castfn GDBMfilptr2ptr {lf:addr} (!GDBMfilptr lf):<> ptr (lf) overload ptrcast with GDBMfilptr2ptr (* ****** ****** *) // typedef GDBMerror = int // macdef GDBM_NO_ERROR = $extval (GDBMerror, "GDBM_NO_ERROR") macdef GDBM_MALLOC_ERROR = $extval (GDBMerror, "GDBM_MALLOC_ERROR") macdef GDBM_BLOCK_SIZE_ERROR = $extval (GDBMerror, "GDBM_BLOCK_SIZE_ERROR") macdef GDBM_FILE_OPEN_ERROR = $extval (GDBMerror, "GDBM_FILE_OPEN_ERROR") macdef GDBM_FILE_WRITE_ERROR = $extval (GDBMerror, "GDBM_FILE_WRITE_ERROR") macdef GDBM_FILE_SEEK_ERROR = $extval (GDBMerror, "GDBM_FILE_SEEK_ERROR") macdef GDBM_FILE_READ_ERROR = $extval (GDBMerror, "GDBM_FILE_READ_ERROR") macdef GDBM_BAD_MAGIC_NUMBER = $extval (GDBMerror, "GDBM_BAD_MAGIC_NUMBER") macdef GDBM_EMPTY_DATABASE = $extval (GDBMerror, "GDBM_EMPTY_DATABASE") macdef GDBM_CANT_BE_READER = $extval (GDBMerror, "GDBM_CANT_BE_READER") macdef GDBM_CANT_BE_WRITER = $extval (GDBMerror, "GDBM_CANT_BE_WRITER") macdef GDBM_READER_CANT_DELETE = $extval (GDBMerror, "GDBM_READER_CANT_DELETE") macdef GDBM_READER_CANT_STORE = $extval (GDBMerror, "GDBM_READER_CANT_STORE") macdef GDBM_READER_CANT_REORGANIZE = $extval (GDBMerror, "GDBM_READER_CANT_REORGANIZE") macdef GDBM_UNKNOWN_UPDATE = $extval (GDBMerror, "GDBM_UNKNOWN_UPDATE") macdef GDBM_ITEM_NOT_FOUND = $extval (GDBMerror, "GDBM_ITEM_NOT_FOUND") macdef GDBM_REORGANIZE_FAILED = $extval (GDBMerror, "GDBM_REORGANIZE_FAILED") macdef GDBM_CANNOT_REPLACE = $extval (GDBMerror, "GDBM_CANNOT_REPLACE") macdef GDBM_ILLEGAL_DATA = $extval (GDBMerror, "GDBM_ILLEGAL_DATA") macdef GDBM_OPT_ALREADY_SET = $extval (GDBMerror, "GDBM_OPT_ALREADY_SET") macdef GDBM_OPT_ILLEGAL = $extval (GDBMerror, "GDBM_OPT_ILLEGAL") macdef GDBM_BYTE_SWAPPED = $extval (GDBMerror, "GDBM_BYTE_SWAPPED") macdef GDBM_BAD_FILE_OFFSET = $extval (GDBMerror, "GDBM_BAD_FILE_OFFSET") macdef GDBM_BAD_OPEN_FLAGS = $extval (GDBMerror, "GDBM_BAD_OPEN_FLAGS") // (* ****** ****** *) // fun gdbm_errno_get (): GDBMerror = "mac#%" // (* ****** ****** *) // // statically-allocated // val gdbm_version : string = "mac#%" val gdbm_version_number : array (int, 3) = "mac#mac%" // (* ****** ****** *) fun gdm_version_cmp (v1: &(@[int][3]), v2: &(@[int][3])):<> int = "mac#%" // end of [gdm_version_cmp] (* ****** ****** *) (* #define GDBM_READER 0 /* A reader. */ #define GDBM_WRITER 1 /* A writer. */ #define GDBM_WRCREAT 2 /* A writer. Create the db if needed. */ #define GDBM_NEWDB 3 /* A writer. Always create a new db. */ *) macdef GDBM_READER = $extval (int, "GDBM_READER") macdef GDBM_WRITER = $extval (int, "GDBM_WRITER") macdef GDBM_WRCREAT = $extval (int, "GDBM_WRCREAT") macdef GDBM_NEWDB = $extval (int, "GDBM_NEWDB") (* #define GDBM_FAST 0x10 /* Write fast! => No fsyncs. OBSOLETE. */ #define GDBM_SYNC 0x20 /* Sync operations to the disk. */ #define GDBM_NOLOCK 0x40 /* Don't do file locking operations. */ *) macdef GDBM_FAST = $extval (int, "GDBM_FAST") macdef GDBM_SYNC = $extval (int, "GDBM_SYNC") macdef GDBM_NOLOCK = $extval (int, "GDBM_NOLOCK") (* ****** ****** *) (* GDBM_FILE gdbm_open (name, block_size, flags, mode, fatal_func); *) // // fatal_func: (string) -> void // fun gdbm_open ( name: string , block_size: int, flags: int, mode: mode_t, fatal_func: ptr ) : GDBMfilptr0 = "mac#%" // end of [gdbm_open] (* ****** ****** *) (* void gdbm_close(dbf); *) fun gdbm_close (dbf: GDBMfilptr) : void = "mac#%" (* ****** ****** *) (* int gdbm_store(dbf, key, content, flag); *) (* #define GDBM_INSERT 0 /* Never replace old data with new. */ #define GDBM_REPLACE 1 /* Always replace old data with new. */ *) macdef GDBM_INSERT = $extval (int, "GDBM_INSERT") macdef GDBM_REPLACE = $extval (int, "GDBM_REPLACE") fun gdbm_store {l1,l2:addr}{n1,n2:nat} ( dbf: !GDBMfilptr1, key: !datum(l1, n1), content: !datum(l2, n2), flag: int ) : int(*err*) = "mac#%" // end of [gdbm_store] (* ****** ****** *) (* datum gdbm_fetch(dbf, key); *) // // HX: the return value is allocated // fun gdbm_fetch {l:agz}{n:int} (dbf: !GDBMfilptr1, key: !datum (l, n)): datum0 = "mac#%" // end of [gdbm_fetch] (* ****** ****** *) (* int gdbm_exists(dbf, key); *) fun gdbm_exists {l:agz}{n:int} // true/false: 0/1 (dbf: !GDBMfilptr1, key: !datum (l, n)): int = "mac#%" // end of [gdbm_exists] (* ****** ****** *) (* int gdbm_delete(dbf, key); *) fun gdbm_delete {l:agz}{n:int} // succ/fail: 0/-1 (dbf: !GDBMfilptr1, key: !datum (l, n)) : int = "mac#%" // end of [gdbm_delete] (* ****** ****** *) (* datum gdbm_firstkey(dbf); *) fun gdbm_firstkey (dbf: !GDBMfilptr1): datum0 = "mac#%" (* ****** ****** *) (* datum gdbm_nextkey(dbf, key); *) fun gdbm_nextkey {l:agz}{n:int} (dbf: !GDBMfilptr, key: !datum(l, n) >> _): datum0 = "mac#%" // end of [gdbm_nextkey] (* ****** ****** *) (* int gdbm_reorganize(dbf); *) fun gdbm_reorganize (!GDBMfilptr1): int = "mac#%" (* ****** ****** *) (* void gdbm_sync(dbf); *) fun gdbm_sync (dbf: !GDBMfilptr1): void = "mac#%" (* ****** ****** *) (* int gdbm_export ( GDBM FILE dbf , const char *exportfile,int flag, int mode ) ; *) fun gdbm_export ( dbf: !GDBMfilptr1 , exportfile: string, flag: int, mode: mode_t ) : int = "mac#%" // end of [gdbm_export] (* ****** ****** *) (* int gdbm_import ( GDBM FILE dbf , const char *importfile , int flag ) ; *) fun gdbm_import ( dbf: !GDBMfilptr1, importfile: string, flag: int ) : int = "mac#%" // end of [gdbm_import] (* ****** ****** *) (* char *gdbm_strerror(int errno); *) fun gdbm_strerror (errno: GDBMerror): string(*pre-allocated*) = "mac#%" // end of [gdbm_strerror] (* ****** ****** *) (* int gdbm_setopt(dbf, option, value, size); *) abst@ype gdbmsetopt_t0ype (a:t@ype) = int stadef gdbmsetopt = gdbmsetopt_t0ype abst@ype gdbmgetopt_t0ype (a:t@ype) = int stadef gdbmgetopt = gdbmgetopt_t0ype // macdef GDBM_CACHESIZE = $extval (gdbmsetopt(size_t), "GDBM_CACHESIZE") macdef GDBM_SETCACHESIZE = $extval (gdbmsetopt(size_t), "GDBM_SETCACHESIZE") macdef GDBM_GETCACHESIZE = $extval (gdbmgetopt(size_t), "GDBM_GETCACHESIZE") // macdef GDBM_GETFLAGS = $extval (gdbmgetopt(int), "GDBM_GETFLAGS") // macdef GDBM_FASTMODE = $extval (gdbmsetopt(int), "GDBM_FASTMODE") // macdef GDBM_SYNCMODE = $extval (gdbmsetopt(int), "GDBM_SYNCMODE") macdef GDBM_SETSYNCMODE = $extval (gdbmsetopt(int), "GDBM_SETSYNCMODE") macdef GDBM_GETSYNCMODE = $extval (gdbmgetopt(int), "GDBM_GETSYNCMODE") // macdef GDBM_COALESCEBLKS = $extval (gdbmsetopt(int), "GDBM_COALESCEBLKS") macdef GDBM_SETCOALESCEBLKS = $extval (gdbmsetopt(int), "GDBM_SETCOALESCEBLKS") macdef GDBM_GETCOALESCEBLKS = $extval (gdbmgetopt(int), "GDBM_GETCOALESCEBLKS") // macdef GDBM_SETMAXMAPSIZE = $extval (gdbmsetopt(size_t), "GDBM_SETMAXMAPSIZE") macdef GDBM_GETMAXMAPSIZE = $extval (gdbmgetopt(size_t), "GDBM_GETMAXMAPSIZE") // macdef GDBM_SETMMAP = $extval (gdbmsetopt(int), "GDBM_SETMMAP") macdef GDBM_GETMMAP = $extval (gdbmgetopt(int), "GDBM_GETMMAP") // macdef GDBM_GETDBNAME = $extval (gdbmgetopt(ptr), "GDBM_GETDBNAME") // (* ****** ****** *) fun gdbm_setopt {a:t@ype} ( dbf: !GDBMfilptr1 , option: gdbmsetopt(a), value: &a, size: sizeof_t(a) ) : int(*err*) = "mac#%" // end of [gdbm_setopt] fun gdbm_getopt {a:t@ype} ( dbf: !GDBMfilptr1 , option: gdbmgetopt(a), value: &a? >> a, size: sizeof_t(a) ) : int(*err*) = "mac#%" // end of [gdbm_getopt] fun gdbm_getdbname (dbf: !GDBMfilptr1): Strptr0 = "mac#%" (* ****** ****** *) (* int gdbm_fdesc(dbf); *) fun gdbm_fdesc (!GDBMfilptr1): int(*fd*) = "mac#%" // no failure (* ****** ****** *) (* end of [gdbm.sats] *) ATS2-Postiats-0.2.6/./libc/gdbm/SATS/SHARE/0000775000175000017500000000000012655455557016174 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/SATS/SHARE/datum.hats0000664000175000017500000000520512655455557020171 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: July, 2013 // (* ****** ****** *) absvtype dptr_addr_int_vtype (addr, int) // vtypedef dptr (l:addr, n:int) = dptr_addr_int_vtype (l, n) // (* ****** ****** *) viewdef dptrout (l:addr, n:int) = dptr (l, n) - void (* ****** ****** *) castfn dptr2ptr {l:addr} {n:int} (x: !dptr(l, n)):<> ptr (l) overload ptrcast with dptr2ptr (* ****** ****** *) vtypedef datum (l:addr, n:int) = $extype_struct "atslib_datum_type" of { dptr= dptr(l, n), dsize= int(n) } // end of [datum] (* ****** ****** *) vtypedef datum0 = [l:addr;n:int] datum (l, n) vtypedef // for valid data datum1 = [l:addr;n:int | l > null; n >= 0] datum (l, n) (* ****** ****** *) fun datum_is_valid {l:addr}{n:int} (x: datum (l, n)) : bool (l > null) = "mac#atslib_gdbm_datum_is_valid" // end of [datum_is_valid] fun datum_takeout_ptr {l:addr}{n:int} (datum (l, n)):<> dptr (l, n) = "mac#atslib_gdbm_datum_takeout_ptr" // end of [datum_takeout_ptr] (* ****** ****** *) // // HX: implemented in [gdbm.cats] // fun datum_make0_string (string) : [l:agz;n:nat] ( dptrout (l, n) | datum (l, n) ) = "mac#atslib_gdbm_datum_make0_string" // fun datum_make1_string (string): datum1 = "mac#atslib_gdbm_datum_make1_string" // (* ****** ****** *) fun datum_free (x: datum0): void = "mac#atslib_gdbm_datum_free" (* ****** ****** *) (* end of [datum.hats] *) ATS2-Postiats-0.2.6/./libc/gdbm/SATS/SHARE/.keeper0000664000175000017500000000000012655455557017436 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/SATS/.keeper0000664000175000017500000000000012655455557016574 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/CATS/0000775000175000017500000000000012655455557015312 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/CATS/datum.cats0000664000175000017500000000472112655455557017304 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: July, 2013 // /* ****** ****** */ #include "libc/CATS/string.cats" /* ****** ****** */ typedef datum atslib_datum_type ; /* ****** ****** */ ATSinline() atstype_bool atslib_gdbm_datum_is_valid (datum x) { return (x.dptr != 0) ; } // end of [atslib_gdbm_datum_is_valid] ATSinline() atstype_ptr atslib_gdbm_datum_takeout_ptr (datum x) { return x.dptr ; } // end of [atslib_gdbm_datum_takeout_ptr] /* ****** ****** */ ATSinline() datum atslib_gdbm_datum_make0_string (char *str) { datum res ; res.dptr = str ; res.dsize = (int)(atslib_strlen(str) + 1) ; // HX: account for the trailing null char! return res ; } // end of [atslib_gdbm_datum_make0_string] ATSinline() datum atslib_gdbm_datum_make1_string (char *str) { datum res ; res.dptr = (char*)atslib_strdup_gc(str) ; res.dsize = (int)(atslib_strlen(str) + 1) ; // HX: account for the trailing null char! return res ; } // end of [atslib_gdbm_datum_make1_string] /* ****** ****** */ ATSinline() atsvoid_t0ype atslib_gdbm_datum_free (datum x) { if (x.dptr) atspre_mfree_gc(x.dptr) ; return ; } // end of [atslib_gdbm_datum_free] /* ****** ****** */ /* end of [datum.cats] */ ATS2-Postiats-0.2.6/./libc/gdbm/CATS/gdbm.cats0000664000175000017500000000506612655455557017106 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // Start Time: July, 2013 // /* ****** ****** */ #include /* ****** ****** */ #include "libc/gdbm/CATS/datum.cats" /* ****** ****** */ ATSinline() gdbm_error atslib_gdbm_errno_get () { return gdbm_errno ; } /* ****** ****** */ #define atslib_gdbm_open gdbm_open #define atslib_gdbm_close gdbm_close #define atslib_gdbm_store gdbm_store #define atslib_gdbm_fetch gdbm_fetch #define atslib_gdbm_exists gdbm_exists #define atslib_gdbm_delete gdbm_delete #define atslib_gdbm_firstkey gdbm_firstkey #define atslib_gdbm_nextkey gdbm_nextkey #define atslib_gdbm_reorganize gdbm_reorganize #define atslib_gdbm_sync gdbm_sync #define atslib_gdbm_export gdbm_export #define atslib_gdbm_import gdbm_import #define atslib_gdbm_strerror gdbm_strerror /* ****** ****** */ #define atslib_gdbm_setopt gdbm_setopt #define atslib_gdbm_getopt gdbm_setopt /* ****** ****** */ #ifdef GDBM_GETDBNAME ATSinline() gdbm_getdbname ( atstype_ptr dbf ) { int err ; char *dbname ; err = gdbm_setopt((GDBM_FILE)dbf, GDBM_GETDBNAME, &dbname, sizeof(void*)) ; if (err < 0) return (char*)0 ; return dbname ; } // end of [gdbm_getdbname] #endif // end of [GDBM_GETDBNAME] /* ****** ****** */ #define atslib_gdbm_fdesc gdbm_fdesc /* ****** ****** */ /* end of [gdbm.cats] */ ATS2-Postiats-0.2.6/./libc/gdbm/CATS/.keeper0000664000175000017500000000000012655455557016554 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/gdbm/.keeper0000664000175000017500000000000012655455557016022 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/netinet/0000775000175000017500000000000012655455557015315 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/netinet/SATS/0000775000175000017500000000000012655455557016067 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/netinet/SATS/in.sats0000664000175000017500000001672512655455557017404 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/netinet/CATS/in.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) // staload SOCKET = "libc/sys/SATS/socket.sats" typedef sa_family_t = $SOCKET.sa_family_t typedef socklen_t(n:int) = $SOCKET.socklen_t(n) typedef sockaddr_struct(n:int) = $SOCKET.sockaddr_struct(n) // (* ****** ****** *) stadef socklen_max = $SOCKET.socklen_max (* ****** ****** *) // abst@ype in_port_t = $extype"in_port_t" // abst@ype in_port_nbo_t = $extype"in_port_t" // (* ****** ****** *) // abst@ype in_addr_hbo_t = $extype"in_addr_t" abst@ype in_addr_nbo_t = $extype"in_addr_t" // (* ****** ****** *) // abst@ype ipproto_t = int // macdef IPPROTO_IP = $extval (ipproto_t, "IPPROTO_IP") macdef IPPROTO_HOPOPTS = $extval (ipproto_t, "IPPROTO_HOPOPTS") macdef IPPROTO_ICMP = $extval (ipproto_t, "IPPROTO_ICMP") macdef IPPROTO_IGMP = $extval (ipproto_t, "IPPROTO_IGMP") macdef IPPROTO_IPIP = $extval (ipproto_t, "IPPROTO_IPIP") macdef IPPROTO_TCP = $extval (ipproto_t, "IPPROTO_TCP") macdef IPPROTO_EGP = $extval (ipproto_t, "IPPROTO_EGP") macdef IPPROTO_PUP = $extval (ipproto_t, "IPPROTO_PUP") macdef IPPROTO_UDP = $extval (ipproto_t, "IPPROTO_UDP") macdef IPPROTO_IDP = $extval (ipproto_t, "IPPROTO_IDP") macdef IPPROTO_TP = $extval (ipproto_t, "IPPROTO_TP") macdef IPPROTO_DCCP = $extval (ipproto_t, "IPPROTO_DCCP") macdef IPPROTO_IPV6 = $extval (ipproto_t, "IPPROTO_IPV6") macdef IPPROTO_ROUTING = $extval (ipproto_t, "IPPROTO_ROUTING") macdef IPPROTO_FRAGMENT = $extval (ipproto_t, "IPPROTO_FRAGMENT") macdef IPPROTO_RSVP = $extval (ipproto_t, "IPPROTO_RSVP") macdef IPPROTO_GRE = $extval (ipproto_t, "IPPROTO_GRE") macdef IPPROTO_ESP = $extval (ipproto_t, "IPPROTO_ESP") macdef IPPROTO_AH = $extval (ipproto_t, "IPPROTO_AH") macdef IPPROTO_ICMPV6 = $extval (ipproto_t, "IPPROTO_ICMPV6") macdef IPPROTO_NONE = $extval (ipproto_t, "IPPROTO_NONE") macdef IPPROTO_DSTOPTS = $extval (ipproto_t, "IPPROTO_DSTOPTS") macdef IPPROTO_MTP = $extval (ipproto_t, "IPPROTO_MTP") macdef IPPROTO_ENCAP = $extval (ipproto_t, "IPPROTO_ENCAP") macdef IPPROTO_PIM = $extval (ipproto_t, "IPPROTO_PIM") macdef IPPROTO_COMP = $extval (ipproto_t, "IPPROTO_COMP") macdef IPPROTO_SCTP = $extval (ipproto_t, "IPPROTO_SCTP") macdef IPPROTO_UDPLITE = $extval (ipproto_t, "IPPROTO_UDPLITE") macdef IPPROTO_RAW = $extval (ipproto_t, "IPPROTO_RAW") macdef IPPROTO_MAX = $extval (ipproto_t, "IPPROTO_MAX") // (* ****** ****** *) // macdef IPPORT_ECHO = $extval (in_port_t, "IPPORT_ECHO") macdef IPPORT_DISCARD = $extval (in_port_t, "IPPORT_DISCARD") macdef IPPORT_SYSTAT = $extval (in_port_t, "IPPORT_SYSTAT") macdef IPPORT_DAYTIME = $extval (in_port_t, "IPPORT_DAYTIME") macdef IPPORT_NETSTAT = $extval (in_port_t, "IPPORT_NETSTAT") macdef IPPORT_FTP = $extval (in_port_t, "IPPORT_FTP") macdef IPPORT_TELNET = $extval (in_port_t, "IPPORT_TELNET") macdef IPPORT_SMTP = $extval (in_port_t, "IPPORT_SMTP") macdef IPPORT_TIMESERVER = $extval (in_port_t, "IPPORT_TIMESERVER") macdef IPPORT_NAMESERVER = $extval (in_port_t, "IPPORT_NAMESERVER") macdef IPPORT_WHOIS = $extval (in_port_t, "IPPORT_WHOIS") macdef IPPORT_MTP = $extval (in_port_t, "IPPORT_MTP") macdef IPPORT_TFTP = $extval (in_port_t, "IPPORT_TFTP") macdef IPPORT_RJE = $extval (in_port_t, "IPPORT_RJE") macdef IPPORT_FINGER = $extval (in_port_t, "IPPORT_FINGER") macdef IPPORT_TTYLINK = $extval (in_port_t, "IPPORT_TTYLINK") macdef IPPORT_SUPDUP = $extval (in_port_t, "IPPORT_SUPDUP") macdef IPPORT_EXECSERVER = $extval (in_port_t, "IPPORT_EXECSERVER") macdef IPPORT_LOGINSERVER = $extval (in_port_t, "IPPORT_LOGINSERVER") macdef IPPORT_CMDSERVER = $extval (in_port_t, "IPPORT_CMDSERVER") macdef IPPORT_EFSSERVER = $extval (in_port_t, "IPPORT_EFSSERVER") macdef IPPORT_BIFFUDP = $extval (in_port_t, "IPPORT_BIFFUDP") macdef IPPORT_WHOSERVER = $extval (in_port_t, "IPPORT_WHOSERVER") macdef IPPORT_ROUTESERVER = $extval (in_port_t, "IPPORT_ROUTESERVER") macdef IPPORT_RESERVED = $extval (in_port_t, "IPPORT_RESERVED") macdef IPPORT_USERRESERVED = $extval (in_port_t, "IPPORT_USERRESERVED") // (* ****** ****** *) (* // // for IPv4 dotted-decimal macdef INET_ADDRSTRLEN = 16 // string // macdef INET6_ADDRSTRLEN = 46 // for IPv6 hex string // *) (* ****** ****** *) // fun in_port_nbo_int (int): in_port_nbo_t = "mac#%" fun in_port_nbo_uint (uint): in_port_nbo_t = "mac#%" // symintr in_port_nbo overload in_port_nbo with in_port_nbo_int overload in_port_nbo with in_port_nbo_uint // (* ****** ****** *) // fun in_addr_hbo2nbo (in_addr_hbo_t): in_addr_nbo_t = "mac#%" // (* ****** ****** *) // (* constant addresses in host-byte-order *) // // Address to accept any incoming messages: 0x00000000 // macdef INADDR_ANY = $extval (in_addr_hbo_t, "INADDR_ANY") // // Address to send to all hosts: 0xffffffff // macdef INADDR_BROADCAST = $extval (in_addr_hbo_t, "INADDR_BROADCAST") // // Address indicating an error return: 0xffffffff // macdef INADDR_NONE = $extval (in_addr_hbo_t, "INADDR_NONE") // // Network number for local host loopback // #define IN_LOOPBACKNET 127 // // Address to loopback in software to local host: 127.0.0.1 // macdef INADDR_LOOPBACK = $extval (in_addr_hbo_t, "INADDR_LOOPBACK") // (* ****** ****** *) // (* ** Defined for Multicast *) // // 0xe0000000 // 224.0.0.0 // macdef INADDR_UNSPEC_GROUP = $extval (in_addr_hbo_t, "INADDR_UNSPEC_GROUP") // // 0xe0000001 // 224.0.0.1 // macdef INADDR_ALLHOSTS_GROUP = $extval (in_addr_hbo_t, "INADDR_ALLHOSTS_GROUP") // // 0xe0000002 // 224.0.0.2 // macdef INADDR_ALLRTRS_GROUP = $extval (in_addr_hbo_t, "INADDR_ALLRTRS_GROUP") // // 0xe00000ff // 224.0.0.255 // macdef INADDR_MAX_LOCAL_GROUP = $extval (in_addr_hbo_t, "INADDR_MAX_LOCAL_GROUP") // (* ****** ****** *) // (* ** HX: [in_addr_struct] is taken by C++ *) typedef in_addr_struct = $extype_struct "in_addr_structats" of { s_addr= in_addr_nbo_t // IPv4 address of ulint } (* end of [in_addr_struct] *) // (* ****** ****** *) // (* ** HX: [in6_addr_struct] may be taken by C++ *) typedef in6_addr_struct = $extype_struct "in6_addr_structats" of { s6_addr= @[uint8][16] // IPv6 address of 16 bytes } (* end of [in6_addr_struct] *) (* ****** ****** *) (* end of [in.sats] *) ATS2-Postiats-0.2.6/./libc/netinet/SATS/.keeper0000664000175000017500000000000012655455557017331 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/netinet/CATS/0000775000175000017500000000000012655455557016047 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/netinet/CATS/in.cats0000664000175000017500000000437212655455557017337 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: November, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_NETINET_IN_CATS #define ATSLIB_LIBC_NETINET_IN_CATS /* ****** ****** */ // #include #include // /* ****** ****** */ // typedef struct in_addr in_addr_structats; typedef struct in6_addr in6_addr_structats; // /* ****** ****** */ // typedef struct sockaddr_in sockaddr_in_struct ; typedef struct sockaddr_in6 sockaddr_in6_struct ; // #define atslib_socklen_in (sizeof(sockaddr_in_struct)) #define atslib_socklen_in6 (sizeof(sockaddr_in6_struct)) // /* ****** ****** */ #define atslib_in_port_nbo_int(nport) htons(nport) #define atslib_in_port_nbo_uint(nport) htons(nport) /* ****** ****** */ ATSinline() in_addr_t atslib_in_addr_hbo2nbo (in_addr_t addr_hbo) { return htonl (addr_hbo) ; } /* end of [atslib_in_addr_hbo2nbo] */ /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_NETINET_IN_CATS /* ****** ****** */ /* end of [in.cats] */ ATS2-Postiats-0.2.6/./libc/netinet/CATS/.keeper0000664000175000017500000000000012655455557017311 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/.keeper0000664000175000017500000000000012655455557015111 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/0000775000175000017500000000000012655455557014465 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/DATS/0000775000175000017500000000000012655455557015220 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/DATS/types.dats0000664000175000017500000000332012655455557017237 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: April, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/types.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for staloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) // // HX-2014-04-29: it is still empty // (* ****** ****** *) (* end of [types.dats] *) ATS2-Postiats-0.2.6/./libc/sys/DATS/socket_in.dats0000664000175000017500000000466612655455557020067 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/socket_in.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for staloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/sys/SATS/socket_in.sats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_bind_in_exn ( atstype_int fd, atstype_ptr addr ) { int err; err = bind( fd, (const struct sockaddr*)addr, sizeof(struct sockaddr_in) ); // end of [connent] if(0 > err) ATSLIBfailexit("bind"); return; } // end of [atslib_bind_in_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_connect_in_exn ( atstype_int fd, atstype_ptr addr ) { int err; err = connect( fd, (const struct sockaddr*)addr, sizeof(struct sockaddr_in) ); // end of [connent] if(0 > err) ATSLIBfailexit("connect"); return; } // end of [atslib_connect_in_exn] %} // end of [%{] (* ****** ****** *) (* end of [socket_in.dats] *) ATS2-Postiats-0.2.6/./libc/sys/DATS/socket.dats0000664000175000017500000000662312655455557017374 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/socket.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for staloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/sys/SATS/socket.sats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) %{ ATSextern() atstype_int atslib_socket_AF_type_exn ( sa_family_t af, atstype_int tp ) { int fildes; fildes = socket(af, tp, 0); if(0 > fildes) ATSLIBfailexit("socket") ; // HX: failure return fildes; } // end of [atslib_socket_AF_type_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_bind_exn ( atstype_int fd , atstype_ptr addr, socklen_t addrlen ) { int err; err = bind(fd, addr, addrlen); if(0 > err) ATSLIBfailexit("bind") ; // HX: failure return; } // end of [atslib_bind_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_listen_exn ( atstype_int fd, atstype_int nq ) { int err; err = listen(fd, nq); if(0 > err) ATSLIBfailexit("listen") ; // HX: failure return; } // end of [atslib_listen_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_connect_exn ( atstype_int fd , atstype_ptr addr, socklen_t addrlen ) { int err; err = connect(fd, addr, addrlen); if(0 > err) ATSLIBfailexit("connect") ; // HX: failure return; } // end of [atslib_connect_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_socket_close_exn ( atstype_int fd ) { int err; err = close(fd); if(0 > err) ATSLIBfailexit("socket_close") ; // HX: failure return; } // end of [atslib_socket_close_exn] %} // end of [%{] (* ****** ****** *) %{ ATSextern() atsvoid_t0ype atslib_shutdown_exn ( atstype_int fd, atstype_int how ) { int err; err = shutdown(fd, how); if(0 > err) ATSLIBfailexit("shutdown") ; // HX: failure return; } // end of [atslib_shutdown_exn] %} // end of [%{] (* ****** ****** *) (* end of [socket.dats] *) ATS2-Postiats-0.2.6/./libc/sys/DATS/stat.dats0000664000175000017500000000572112655455557017055 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: April, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/stat.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_DYNLOADFLAG 0 // no need for staloading at run-time #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/sys/SATS/stat.sats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {(*tmp*)} mkdirp (path, mode) = let // #define NUL '\000' val dirsep = dirsep_get<> () // fun auxmk ( path: string, mode: mode_t ) : int = let var st: stat? val ret = stat (path, st) prval () = opt_clear{stat}(st) in if ret < 0 then mkdir (path, mode) else 0(*isexi*) end // end of [auxmk] // fnx loop (p0: ptr, p1: ptr): int = let val c = $UN.ptr0_get (p1) in // if ( c != NUL ) then ( if c = dirsep then loop2 (p0, p1) else loop (p0, ptr_succ (p1)) // end of [if] ) else ( auxmk ($UN.cast{string}(p0), mode) ) (* end of [if] *) // end // end of [loop] // and loop2 (p0: ptr, p1: ptr): int = let val () = $UN.ptr0_set (p1, NUL) val ret = auxmk ($UN.cast{string}(p0), mode) val () = $UN.ptr0_set (p1, dirsep) in if ret >= 0 then loop (p0, ptr_succ (p1)) else ret end // end of [loop2] // val path = string0_copy (path) // val p0 = $UN.castvwtp1{ptr}(path) // val c0 = $UN.ptr0_get (p0) val ret = ( if ( c0 != NUL ) then ( if c0 = dirsep then loop (p0, ptr_succ (p0)) else loop (p0, p0) // end of [if] ) else (0) ) : int // end of [val] // val ((*freed*)) = strptr_free (path) // in ret end // end of [mkdirp] (* ****** ****** *) (* end of [stat.dats] *) ATS2-Postiats-0.2.6/./libc/sys/DATS/.keeper0000664000175000017500000000000012655455557016462 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/SATS/0000775000175000017500000000000012655455557015237 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/SATS/socket.sats0000664000175000017500000002155112655455557017427 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/socket.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) abst@ype sa_family_t = $extype"sa_family_t" // // HX: these are the primary ones: // macdef AF_UNIX = $extval (sa_family_t, "AF_UNIX") macdef AF_INET = $extval (sa_family_t, "AF_INET") macdef AF_INET6 = $extval (sa_family_t, "AF_INET6") macdef AF_UNSPEC = $extval (sa_family_t, "AF_UNSPEC") // macdef AF_LOCAL = $extval (sa_family_t, "AF_LOCAL") macdef AF_FILE = $extval (sa_family_t, "AF_FILE") macdef AF_AX25 = $extval (sa_family_t, "AF_AX25") macdef AF_IPX = $extval (sa_family_t, "AF_IPX") macdef AF_APPLETALK = $extval (sa_family_t, "AF_APPLETALK") macdef AF_NETROM = $extval (sa_family_t, "AF_NETROM") macdef AF_BRIDGE = $extval (sa_family_t, "AF_BRIDGE") macdef AF_ATMPVC = $extval (sa_family_t, "AF_ATMPVC") macdef AF_X25 = $extval (sa_family_t, "AF_X25") macdef AF_ROSE = $extval (sa_family_t, "AF_ROSE") macdef AF_DECnet = $extval (sa_family_t, "AF_DECnet") macdef AF_NETBEUI = $extval (sa_family_t, "AF_NETBEUI") macdef AF_SECURITY = $extval (sa_family_t, "AF_SECURITY") macdef AF_KEY = $extval (sa_family_t, "AF_KEY") macdef AF_NETLINK = $extval (sa_family_t, "AF_NETLINK") macdef AF_ROUTE = $extval (sa_family_t, "AF_ROUTE") macdef AF_PACKET = $extval (sa_family_t, "AF_PACKET") macdef AF_ASH = $extval (sa_family_t, "AF_ASH") macdef AF_ECONET = $extval (sa_family_t, "AF_ECONET") macdef AF_ATMSVC = $extval (sa_family_t, "AF_ATMSVC") macdef AF_RDS = $extval (sa_family_t, "AF_RDS") macdef AF_SNA = $extval (sa_family_t, "AF_SNA") macdef AF_IRDA = $extval (sa_family_t, "AF_IRDA") macdef AF_PPPOX = $extval (sa_family_t, "AF_PPPOX") macdef AF_WANPIPE = $extval (sa_family_t, "AF_WANPIPE") macdef AF_LLC = $extval (sa_family_t, "AF_LLC") macdef AF_CAN = $extval (sa_family_t, "AF_CAN") macdef AF_TIPC = $extval (sa_family_t, "AF_TIPC") macdef AF_BLUETOOTH = $extval (sa_family_t, "AF_BLUETOOTH") macdef AF_IUCV = $extval (sa_family_t, "AF_IUCV") macdef AF_RXRPC = $extval (sa_family_t, "AF_RXRPC") macdef AF_ISDN = $extval (sa_family_t, "AF_ISDN") macdef AF_PHONET = $extval (sa_family_t, "AF_PHONET") macdef AF_IEEE802154 = $extval (sa_family_t, "AF_IEEE802154") macdef AF_MAX = $extval (sa_family_t, "AF_MAX") // (* ****** ****** *) // abst@ype sp_family_t = $extype"sp_family_t" // macdef PF_UNIX = $extval (sp_family_t, "PF_UNIX") macdef PF_INET = $extval (sp_family_t, "PF_INET") macdef PF_INET6 = $extval (sp_family_t, "PF_INET6") // (* ****** ****** *) // abst@ype socktype_t = int // macdef SOCK_RAW = $extval (socktype_t, "SOCK_RAW") macdef SOCK_RDM = $extval (socktype_t, "SOCK_RDM") macdef SOCK_DCCP = $extval (socktype_t, "SOCK_DCCP") macdef SOCK_DGRAM = $extval (socktype_t, "SOCK_DGRAM") macdef SOCK_PACKET = $extval (socktype_t, "SOCK_PACKET") macdef SOCK_STREAM = $extval (socktype_t, "SOCK_STREAM") macdef SOCK_SEQPACKET = $extval (socktype_t, "SOCK_SEQPACKET") // (* ****** ****** *) // abst@ype socklen_t(n:int) = $extype"socklen_t" // castfn int2socklen : {n:nat} (int n) -<> socklen_t(n) castfn size2socklen : {n:int} (size_t n) -<> socklen_t(n) // (* ****** ****** *) stacst socklen_max : int // HX: sockaddr length (* ****** ****** *) // abst@ype sockaddr_struct(n:int) = $extype"sockaddr_struct" stadef SA = sockaddr_struct // (* ****** ****** *) // // HX: // client: init -> connect // server: // init -> bind -> listen -> accept // datasort status = | init | conn | bind | listen // absview socket_v (int, status) // (* ****** ****** *) fun socket_AF_type ( af: sa_family_t, st: socktype_t ) : [fd:int] ( option_v (socket_v (fd, init), fd >= 0) | int fd ) = "mac#%" // end-of-function fun socket_AF_type_exn ( af: sa_family_t, st: socktype_t ) : [fd:nat] (socket_v(fd, init) | int fd) = "ext#%" (* ****** ****** *) // dataview bind_v (fd:int, int) = | bind_v_succ (fd, 0) of socket_v (fd, bind) | bind_v_fail (fd, ~1) of socket_v (fd, init) // end of [bind_v] // fun bind_err {fd:int}{n:int} ( pf: socket_v (fd, init) | fd: int fd, sockaddr: &SA(n), salen: socklen_t(n) ) : [i:int] (bind_v (fd, i) | int i) = "mac#%" // fun bind_exn {fd:int}{n:int} ( pf: !socket_v(fd, init) >> socket_v(fd, bind) | fd: int fd, sockaddr: &SA(n), salen: socklen_t(n) ) : void = "exn#%" // end of [bind_exn] // (* ****** ****** *) // dataview listen_v (fd:int, int) = | listen_v_succ (fd, 0) of socket_v (fd, listen) | listen_v_fail (fd, ~1(*err*)) of socket_v (fd, bind) // end of [listen_v] // fun listen_err {fd:int} ( pf: socket_v(fd, bind) | fd: int fd, backlog: intGt(0) ) : [i:int] (listen_v (fd, i) | int i) = "mac#%" // fun listen_exn {fd:int} ( pf: !socket_v(fd, bind) >> socket_v(fd, listen) | fd: int fd, backlog: intGt(0) ) : void = "ext#%" // end of [listen_exn] // (* ****** ****** *) // dataview connect_v ( fd:int, int ) = | connect_v_succ (fd, 0) of socket_v (fd, conn) | connect_v_fail (fd, ~1(*err*)) of socket_v (fd, init) // end of [connect_v] // fun connect_err {fd:int}{n:int} ( pf: socket_v (fd, init) | fd: int fd, sockaddr: &SA(n), salen: socklen_t(n) ) : [i:int] (connect_v (fd, i) | int i) = "mac#%" // fun connect_exn {fd:int}{n:int} ( pf: !socket_v(fd, init) >> socket_v(fd, conn) | fd: int fd, sockaddr: &SA(n), salen: socklen_t(n) ) : void = "exn#%" // end of [connect_exn] // (* ****** ****** *) // dataview accept_v (fd1: int, int) = | {fd2:nat} accept_v_succ (fd1, fd2) of socket_v (fd2, conn) | accept_v_fail (fd1, ~1(*err*)) of () // failed attempt // end of [accept_v] fun accept_err {fd1:int}{n:int} ( pf: !socket_v(fd1, listen) | fd1: int fd1 , sa: &SA(n)? >> opt(SA(n), fd2 >= 0) , salen: &socklen_t(n) >> socklen_t(n2) ) : #[fd2:int;n2:nat] (accept_v (fd1, fd2) | int fd2) = "mac#%" fun accept_null_err {fd1:int} ( pf: !socket_v(fd1, listen) | fd1: int fd1 ) : [fd2:int] ( option_v (socket_v (fd2, conn), fd2 >= 0) | int fd2 ) = "mac#%" // end-of-function (* ****** ****** *) // fun socket_close {fd:int}{s:status} ( pf: socket_v (fd, s) | fd: int fd ) : [i:int | i <= 0] ( option_v (socket_v (fd, s), i < 0) | int i ) = "mac#%" // end of [socket_close_err] // fun socket_close_exn {fd:int}{s:status} (pf: socket_v (fd, s) | fd: int fd): void = "ext#%" // end of [socket_close_exn] // (* ****** ****** *) abst@ype shutkind_t = int macdef SHUT_RD = $extval(shutkind_t, "SHUT_RD") macdef SHUT_WR = $extval(shutkind_t, "SHUT_WR") macdef SHUT_RDWR = $extval(shutkind_t, "SHUT_RDWR") (* ****** ****** *) // // HX: what error can occur? // fun shutdown {fd:int} // 0/-1 : succ/fail // errno set ( pf: socket_v (fd, conn) | fd: int fd, how: shutkind_t ) : [i:int | i <= 0] ( option_v (socket_v (fd, conn), i < 0) | int i ) = "mac#%" // end of [shutdown] // fun shutdown_exn {fd:int} // 0/-1 : succ/fail // errno set ( pf: socket_v (fd, conn) | fd: int fd, how: shutkind_t ) : void = "ext#%" // end of [shutdown_exn] // (* ****** ****** *) // // HX: it is just [read] in [unistd] // fun socket_read {fd:int} {n,sz:int | 0 <= n; n <= sz} ( pf: !socket_v(fd, conn) | fd: int fd, buf: &bytes(sz), ntot: size_t(n) ) : ssizeBtwe(~1, n) = "mac#%" // end of [socket_read] (* ****** ****** *) // // HX: it is just [write] in [unistd] // fun socket_write {fd:int} {n,sz:int | 0 <= n; n <= sz} ( pf: !socket_v(fd, conn) | fd: int fd, buf: &bytes(sz), ntot: size_t(n) ) : ssizeBtwe(~1, n) = "mac#%" // end of [socket_write] // (* ****** ****** *) (* end of [socket.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/types.sats0000664000175000017500000001360312655455557017302 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/sys/CATS/types.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) abst@ype time_t0ype = $extype"atslib_time_type" typedef time_t = time_t0ype // = its C-counterpart (* ****** ****** *) fun time2lint (t: time_t):<> lint = "mac#%" fun time2double (t: time_t):<> double = "mac#%" (* ****** ****** *) // fun lt_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" fun lte_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" overload < with lt_time_time overload <= with lte_time_time // fun gt_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" fun gte_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" overload > with gt_time_time overload >= with gte_time_time // fun eq_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" fun neq_time_time (t1: time_t, t2: time_t):<> bool = "mac#%" overload = with eq_time_time overload <> with neq_time_time overload != with neq_time_time // (* ****** ****** *) abst@ype clock_t0ype = $extype"atslib_clock_type" typedef clock_t = clock_t0ype // = its C-counterpart (* ****** ****** *) fun clock2lint (t: clock_t):<> lint = "mac#%" fun clock2double (t: clock_t):<> double = "mac#%" (* ****** ****** *) abst@ype clockid_t0ype = $extype"atslib_clockid_type" typedef clockid_t = clockid_t0ype // = its C-counterpart (* ****** ****** *) abst@ype mode_t0ype = $extype"atslib_mode_type" typedef mode_t = mode_t0ype // = its C-counterpart (* ****** ****** *) fun mode2int (m: mode_t):<> int = "mac#%" fun mode2uint (m: mode_t):<> uint = "mac#%" fun eq_mode_mode (m1: mode_t, m2: mode_t):<> bool fun neq_mode_mode (m1: mode_t, m2: mode_t):<> bool overload = with eq_mode_mode overload != with neq_mode_mode overload <> with neq_mode_mode (* ****** ****** *) fun lor_mode_mode (m1: mode_t, m2: mode_t):<> mode_t = "mac#%" overload lor with lor_mode_mode fun land_mode_mode (m1: mode_t, m2: mode_t):<> mode_t = "mac#%" overload land with land_mode_mode (* ****** ****** *) abst@ype dev_t0ype = $extype"atslib_dev_type" typedef dev_t = dev_t0ype // = its C-counterpart (* ****** ****** *) abst@ype ino_t0ype = $extype"atslib_ino_type" typedef ino_t = ino_t0ype // = its C-counterpart (* ****** ****** *) abst@ype nlink_t0ype = $extype"atslib_nlink_type" typedef nlink_t = nlink_t0ype // = its C-counterpart (* ****** ****** *) abst@ype pid_t0ype = $extype"atslib_pid_type" typedef pid_t = pid_t0ype // = its C-counterpart castfn pid2int (x: pid_t):<> int castfn pid2lint (x: pid_t):<> lint (* ****** ****** *) abst@ype uid_t0ype = $extype"atslib_uid_type" typedef uid_t = uid_t0ype // = its C-counterpart abst@ype gid_t0ype = $extype"atslib_gid_type" typedef gid_t = gid_t0ype // = its C-counterpart (* ****** ****** *) abst@ype off_t0ype = $extype"atslib_off_type" typedef off_t = off_t0ype // = its C-counterpart (* ****** ****** *) abst@ype blkcnt_t0ype = $extype"atslib_blkcnt_type" typedef blkcnt_t = blkcnt_t0ype // = its C-counterpart abst@ype blkcnt_t0ype = $extype"atslib_blkcnt_type" typedef blkcnt_t = blkcnt_t0ype // = its C-counterpart (* ****** ****** *) abst@ype blksize_t0ype = $extype"atslib_blksize_type" typedef blksize_t = blksize_t0ype // = its C-counterpart abst@ype blksize_t0ype = $extype"atslib_blksize_type" typedef blksize_t = blksize_t0ype // = its C-counterpart (* ****** ****** *) fun lint2off (x: lint):<> off_t = "mac#%" fun off2lint (x: off_t):<> lint = "mac#%" fun size2off (x: size_t):<> off_t = "mac#%" fun off2size (x: off_t):<> size_t = "mac#%" (* ****** ****** *) // absview fildes_view (fd: int) viewdef fildes_v (i:int) = fildes_view (i) // absvt@ype fildes_vtype (fd: int) = int // vtypedef fildes (fd: int) = fildes_vtype (fd) // vtypedef Fildes = [fd:int] fildes (fd) vtypedef Fildes0 = [fd:int | fd >= 0] fildes (fd) // (* ****** ****** *) castfn fildes_decode {fd:nat} (fd: fildes (fd)):<> (fildes_v (fd) | int fd) // end of [fildes_decode] castfn fildes_encode {fd:nat} (pf: fildes_v (fd) | fd: int fd):<> fildes (fd) // end of [fildes_encode] (* ****** ****** *) abst@ype useconds_t = // microseconds $extype"atslib_useconds_type" castfn usec2lint (x: useconds_t):<> lint abst@ype suseconds_t = // microseconds $extype"atslib_suseconds_type" castfn susec2lint (x: suseconds_t):<> lint (* ****** ****** *) abst@ype pthread_t = $extype"atslib_pthread_type" castfn pthread2lint (x: pthread_t):<> lint (* ****** ****** *) (* end of [types.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/stat.sats0000664000175000017500000001350512655455557017112 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: March, 2013 // (* ****** ****** *) %{# #include "libc/sys/CATS/stat.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) staload TYPES = "libc/sys/SATS/types.sats" (* ****** ****** *) // typedef dev_t = $TYPES.dev_t typedef ino_t = $TYPES.ino_t typedef mode_t = $TYPES.mode_t typedef nlink_t = $TYPES.nlink_t // typedef uid_t = $TYPES.uid_t typedef gid_t = $TYPES.gid_t // typedef off_t = $TYPES.off_t // typedef blkcnt_t = $TYPES.blkcnt_t typedef blksize_t = $TYPES.blksize_t // typedef time_t = $TYPES.time_t // vtypedef fildes (i:int) = $TYPES.fildes (i) // vtypedef Fildes = $TYPES.Fildes vtypedef Fildes0 = $TYPES.Fildes0 // (* ****** ****** *) // typedef stat_struct = $extype_struct"atslib_stat_struct" of { st_dev= dev_t // device , st_ino= ino_t // 32-bit file serial number , st_mode= mode_t // file mode , st_nlink= nlink_t // link count , st_uid= uid_t // user ID of the file's owner , st_gid= gid_t // group ID of the file's group , st_rdev= dev_t // device number if device , st_size= off_t // size of file in bytes , st_blksize= blksize_t // optimal block size for I/O , st_blocks= blkcnt_t // number 512-byte blocks allocated , st_atime= time_t // time of last access , st_mtime= time_t // time of last modification , st_ctime= time_t // time of last status change // , _rest= undefined_t0ype // ... // } // end of [stat_struct] typedef stat = stat_struct // (* ****** ****** *) macdef S_IFMT = $extval (mode_t, "S_IFMT") macdef S_IFBLK = $extval (mode_t, "S_IFBLK") macdef S_IFCHR = $extval (mode_t, "S_IFCHR") macdef S_IFDIR = $extval (mode_t, "S_IFDIR") macdef S_IFIFO = $extval (mode_t, "S_IFIFO") macdef S_IFLNK = $extval (mode_t, "S_IFLNK") macdef S_IFREG = $extval (mode_t, "S_IFREG") macdef S_IFSOCK = $extval (mode_t, "S_IFSOCK") (* ****** ****** *) // macdef S_IRWXU = $extval (mode_t, "S_IRWXU") macdef S_IRUSR = $extval (mode_t, "S_IRUSR") macdef S_IWUSR = $extval (mode_t, "S_IWUSR") macdef S_IXUSR = $extval (mode_t, "S_IXUSR") // macdef S_IRWXG = $extval (mode_t, "S_IRWXG") macdef S_IRGRP = $extval (mode_t, "S_IRGRP") macdef S_IWGRP = $extval (mode_t, "S_IWGRP") macdef S_IXGRP = $extval (mode_t, "S_IXGRP") // macdef S_IRWXO = $extval (mode_t, "S_IRWXO") macdef S_IROTH = $extval (mode_t, "S_IROTH") macdef S_IWOTH = $extval (mode_t, "S_IWOTH") macdef S_IXOTH = $extval (mode_t, "S_IXOTH") // macdef S_ISUID = $extval (mode_t, "S_ISUID") macdef S_ISGID = $extval (mode_t, "S_ISGID") macdef S_ISVTX = $extval (mode_t, "S_ISVTX") // (* ****** ****** *) // // HX: macros // fun S_ISBLK (m: mode_t): bool = "mac#%" fun S_ISCHR (m: mode_t): bool = "mac#%" fun S_ISDIR (m: mode_t): bool = "mac#%" fun S_ISFIFO (m: mode_t): bool = "mac#%" fun S_ISREG (m: mode_t): bool = "mac#%" fun S_ISLNK (m: mode_t): bool = "mac#%" fun S_ISSOCK (m: mode_t): bool = "mac#%" // (* ****** ****** *) // // HX: (0/1/-1 : false/true/error) // fun isfdtype (fildes: int, fdtype: mode_t): int // (* ****** ****** *) // fun chmod (path: NSH(string), mode: mode_t): int = "mac#%" fun chmod_exn (path: NSH(string), mode: mode_t): void = "ext#%" // fun fchmod (fd: !Fildes0, mode: mode_t): int = "mac#%" // (* ****** ****** *) // fun mkdir (path: NSH(string), mode: mode_t): int = "mac#%" fun mkdir_exn (path: NSH(string), mode: mode_t): void = "ext#%" // (* ****** ****** *) // // HX-2014-04: this one is like [mkdir -p] // fun{ } mkdirp (path: NSH(string), mode: mode_t): int = "mac#%" // (* ****** ****** *) // fun mkdirat (dirfd: int, path: NSH(string), mode: mode_t): int = "mac#%" // (* ****** ****** *) // fun mkfifo // 0/-1 : succ/fail // errno set (path: NSH(string), perm: mode_t): int = "mac#%" // (* ****** ****** *) // fun stat ( path: NSH(string), st: &stat? >> opt (stat, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" fun stat_exn (path: NSH(string), st: &stat? >> stat): void = "ext#%" // (* ****** ****** *) // fun fstat ( fd: !Fildes0, st: &stat? >> opt (stat, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" fun fstat_exn (fd: !Fildes0, st: &stat? >> stat): void = "ext#%" // (* ****** ****** *) // fun lstat ( path: NSH(string), st: &stat? >> opt (stat, i==0) ) : #[i:int | i <= 0] int (i) = "mac#%" fun lstat_exn (path: NSH(string), st: &stat? >> stat): void = "ext#%" // (* ****** ****** *) fun umask (mask_new: mode_t): mode_t(*old*) = "mac#%" // end of [umask] (* ****** ****** *) (* end of [stat.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/time.sats0000664000175000017500000001074512655455557017100 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: August, 2013 // (* ****** ****** *) %{# #include "libc/sys/CATS/time.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) // staload TYPES = "libc/sys/SATS/types.sats" typedef time_t = $TYPES.time_t typedef suseconds_t = $TYPES.suseconds_t // (* ****** ****** *) // typedef timeval_struct = $extype_struct "atslib_timeval_type" of { // = struct timeval tv_sec= time_t // seconds , tv_usec= suseconds_t // microseconds } // end of [timeval_struct] // typedef timeval = timeval_struct // (* ****** ****** *) (* // // HX: these macros seem only available in BSD // fun timerisset (tv: &timeval):<> bool = "mac#%" fun timerclear (tv: &timeval >> _):<> bool = "mac#%" *) (* ****** ****** *) typedef timezone_struct = $extype_struct"atslib_timezone_type" of { // = struct timezone tz_minuteswest= int // minutes west of GMT , tz_dsttime= int // nonzero if DST is ever in effect } // end of [timezone_struct] typedef timezone = timezone_struct (* ****** ****** *) // symintr gettimeofday // fun gettimeofday_tv ( tv: &timeval? >> opt (timeval, i==0) ) :<> #[i:int | i <= 0] int(i) = "mac#%" overload gettimeofday with gettimeofday_tv // fun gettimeofday_tz ( tz: &timezone? >> opt (timezone, i==0) ) :<> #[i:int | i <= 0] int(i) = "mac#%" overload gettimeofday with gettimeofday_tz // (* ****** ****** *) // symintr settimeofday // fun settimeofday_tv (tv: &timeval):<> [i:int | i <= 0] int(i) = "mac#%" overload settimeofday with settimeofday_tv // fun settimeofday_tz (tz: &timezone):<> [i:int | i <= 0] int(i) = "mac#%" overload settimeofday with settimeofday_tz // fun settimeofday_tvtz (tv: &timeval, tz: &timezone):<> [i:int | i <= 0] int(i) = "mac#%" overload settimeofday with settimeofday_tvtz // (* ****** ****** *) fun utimes ( // -1 on error // errno set path: string, buf: &(@[timeval][2]) ) : int = "mac#%" // end of [utimes] fun futimes {fd:nat} ( // -1 on error // errno set fd: int (fd), buf: &(@[timeval][2]) ) : int = "mac#%" // end of [futimes] fun futimesat ( // -1 on error // errno set dirfd: int, path: string, buf: &(@[timeval][2]) ) : int = "mac#%" // end of [futimesat] (* ****** ****** *) // abst@ype itimerknd_t0ype = int typedef itimerknd = itimerknd_t0ype macdef ITIMER_REAL = $extval (itimerknd, "ITIMER_REAL") macdef ITIMER_VIRTUAL = $extval (itimerknd, "ITIMER_VIRTUAL") macdef ITIMER_PROF = $extval (itimerknd, "ITIMER_PROF") // (* ****** ****** *) // typedef itimerval_struct = $extype_struct"atslib_itimerval_type" of { it_interval= timeval, it_value= timeval } // end of [itimerval_struct] // end of [typedef] // typedef itimerval = itimerval_struct // (* ****** ****** *) // // HX: -1/0 : succ/fail // errno set // fun getitimer ( which: itimerknd , itval: &itimerval? >> opt (itimerval, i==0) ) : #[i:int | i <= 0] int(i) = "mac#%" // endfun fun setitimer ( which: itimerknd, itval: &itimerval , itval_old: &itimerval? >> opt (itimerval, i==0) ) : #[i:int | i <= 0] int(i) = "mac#%" // endfun fun setitimer_null (which: itimerknd, itval: &itimerval): int = "mac#%" // end of [setitimer_null] (* ****** ****** *) (* end of [time.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/mman.sats0000664000175000017500000000626612655455557017075 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: October, 2013 // (* ****** ****** *) %{# #include "libc/sys/CATS/mman.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) // staload FCNTL = "libc/SATS/fcntl.sats" // typedef mode_t = $FCNTL.mode_t typedef fcntlflags = $FCNTL.fcntlflags stadef fildes = $FCNTL.fildes vtypedef Fildes = $FCNTL.Fildes // (* ****** ****** *) // abst@ype protflags = int // macdef PROT_NONE = $extval (protflags, "PROT_NONE") macdef PROT_EXEC = $extval (protflags, "PROT_EXEC") macdef PROT_READ = $extval (protflags, "PROT_READ") macdef PROT_WRITE = $extval (protflags, "PROT_WRITE") // fun lor_protflags_protflags : (protflags, protflags) -<> protflags = "ext#atspre_lor_int_int" overload lor with lor_protflags_protflags // (* ****** ****** *) // abst@ype mmapflags = int // macdef MAP_SHARED = $extval (mmapflags, "MAP_SHARED") macdef MAP_PRIVATE = $extval (mmapflags, "MAP_PRIVATE") // macdef MAP_ANONYMOUS = $extval (mmapflags, "MAP_ANONYMOUS") // fun lor_mmapflags_mmapflags : (mmapflags, mmapflags) -<> mmapflags = "ext#atspre_lor_int_int" overload lor with lor_mmapflags_mmapflags // (* ****** ****** *) macdef MAP_FAILED = $extval (ptr, "MAP_FAILED") // = (void*)-1 (* ****** ****** *) (* /* ** Open shared memory segment */ extern int shm_open ( __const char *__name, int __oflag, mode_t __mode ) ; // end of [shm_open] *) fun shm_open ( path: NSH(string), flags: fcntlflags, mode: mode_t ) : Fildes = "mac#%" // endfun (* ****** ****** *) (* /* ** Remove shared memory segment */ extern int shm_unlink (__const char *__name); *) fun shm_unlink (path: NSH(string)): intLte(0) = "mac#%" (* ****** ****** *) (* end of [mman.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/wait.sats0000664000175000017500000000723612655455557017107 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2013 // (* ****** ****** *) %{# #include "libc/sys/CATS/wait.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) staload TYPES = "libc/sys/SATS/types.sats" typedef pid_t = $TYPES.pid_t (* ****** ****** *) absprop WIFEXITED_p (s:int, b:bool) fun WEXITSTATUS{s:int} ( pf: WIFEXITED_p (s, true) | status: int s ) : int = "mac#%" // end of [WEXITSTATUS] fun WIFEXITED{s:int} (status: int s): [b:bool] (WIFEXITED_p (s, b) | bool b) = "mac#%" // end of [WIFEXITED] (* ****** ****** *) absprop WIFSIGNALED_p (s:int, b:bool) fun WTERMSIG{s:int} ( pf: WIFSIGNALED_p (s, true) | status: int s ) : int = "mac#%" // end of [WTERMSIG] fun WIFSIGNALED{s:int} (status: int s): [b:bool] (WIFSIGNALED_p (s, b) | bool b) = "mac#%" // end of [WIFSIGNALED] (* ****** ****** *) absprop WIFSTOPPED_p (s:int, b:bool) fun WSTOPSIG{s:int} ( pf: WIFSTOPPED_p (s, true) | status: int s ) : int = "mac#%" // end of [WSTOPSIG] fun WIFSTOPPED {s:int} (status: int s): [b:bool] (WIFSTOPPED_p (s, b) | bool b) = "mac#%" // end of [WIFSTOPPED] (* ****** ****** *) absprop WIFCONTINUED_p (s:int, b:bool) fun WIFCONTINUED {s:int} (status: int s): [b:bool] (WIFCONTINUED_p (s, b) | bool b) = "mac#%" // end of [WIFCONTINUED] (* ****** ****** *) absprop WCOREDUMP_p (s:int, b:bool) fun WCOREDUMP {s:int} (status: int s): [b:bool] (WCOREDUMP_p (s, b) | bool b) = "mac#%" // end of [WCOREDUMP] (* ****** ****** *) // symintr wait fun wait_void (): pid_t = "mac#%" fun wait_status (status: &int? >> int): pid_t = "mac#%" overload wait with wait_void overload wait with wait_status // (* ****** ****** *) abst@ype waitopt_t0ype = $extype"ats_int_type" typedef waitopt = waitopt_t0ype macdef WNONE = $extval (waitopt, "0") macdef WNOHANG = $extval (waitopt, "WNOHANG") macdef WUNTRACED = $extval (waitopt, "WUNTRACED") macdef WCONTINUED = $extval (waitopt, "WCONTINUED") fun lor_waitopt_waitopt (opt1: waitopt, opt2: waitopt): waitopt overload lor with lor_waitopt_waitopt (* ****** ****** *) fun waitpid ( chldpid: pid_t, status: &int? >> int, opt: waitopt ) : pid_t = "mac#%" // end of [waitpid] (* ****** ****** *) (* end of [wait.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/socket_in.sats0000664000175000017500000000641312655455557020115 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: November, 2014 // (* ****** ****** *) %{# #include "libc/sys/CATS/socket_in.cats" %} // end of [%{#] (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.libc" #define ATS_EXTERN_PREFIX "atslib_" // prefix for external names (* ****** ****** *) staload "libc/sys/SATS/socket.sats" (* ****** ****** *) staload IN = "libc/netinet/SATS/in.sats" (* ****** ****** *) // typedef in_port_t = $IN.in_port_t typedef in_port_nbo_t = $IN.in_port_nbo_t // (* ****** ****** *) // typedef in_addr_hbo_t = $IN.in_addr_hbo_t typedef in_addr_nbo_t = $IN.in_addr_nbo_t // (* ****** ****** *) // typedef in_addr_struct = $IN.in_addr_struct // (* ****** ****** *) // typedef sockaddr_in_struct = $extype_struct "sockaddr_in_struct" of { sin_family = sa_family_t , sin_port(**) = in_port_nbo_t // uint16 , sin_addr(**) = in_addr_struct } // end of [sockaddr_in_struct] // typedef SA_in = sockaddr_in_struct typedef sockaddr_in = sockaddr_in_struct // stacst socklen_in : int // HX: length of [sockaddr_in] (* stadef socklen_in = sizeof (sockaddr_in_struct) *) macdef socklen_in = $extval (socklen_t(socklen_in), "atslib_socklen_in") // praxi socklen_lte_in (): [socklen_in <= socklen_max] void praxi sockaddr_in_trans {l:addr} (pf: !sockaddr_in_struct @ l >> sockaddr_struct(socklen_in) @ l): void praxi sockaddr_trans_in {l:addr} (pf: !sockaddr_struct(socklen_in) @ l >> sockaddr_in_struct @ l): void // (* ****** ****** *) // fun sockaddr_in_init ( sa: &SA_in? >> SA_in , af: sa_family_t, inp: in_addr_nbo_t, port: in_port_nbo_t ) :<> void = "mac#%" // end of [sockaddr_in_init] (* ****** ****** *) fun bind_in_exn {fd:int} ( pf: !socket_v(fd, init) >> socket_v(fd, bind) | fd: int fd, sa: &SA_in ) : void = "ext#%" // end of [bind_in_exn] (* ****** ****** *) fun connect_in_exn {fd:int} ( pf: !socket_v(fd, init) >> socket_v(fd, conn) | fd: int fd, sa: &SA_in ) : void = "ext#%" // end of [connect_in_exn] (* ****** ****** *) (* end of [socket_in.sats] *) ATS2-Postiats-0.2.6/./libc/sys/SATS/.keeper0000664000175000017500000000000012655455557016501 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/CATS/0000775000175000017500000000000012655455557015217 5ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/CATS/stat.cats0000664000175000017500000000415712655455557017055 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/stat.atxt ** Time of generation: Fri Dec 19 13:34:39 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_STAT #define ATSLIB_LIBC_SYS_CATS_STAT /* ****** ****** */ #include /* ****** ****** */ typedef struct stat atslib_stat_struct ; /* ****** ****** */ #define atslib_umask umask /* ****** ****** */ #define atslib_chmod chmod /* ****** ****** */ #define atslib_mkdir mkdir #define atslib_mkdirat mkdirat /* ****** ****** */ #define atslib_mkfifo mkfifo /* ****** ****** */ #define atslib_stat stat #define atslib_fstat fstat #define atslib_lstat lstat /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_STAT /* ****** ****** */ /* end of [stat.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/time.cats0000664000175000017500000000474012655455557017036 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/time.atxt ** Time of generation: Fri Dec 19 13:34:40 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_TIME #define ATSLIB_LIBC_SYS_CATS_TIME /* ****** ****** */ #include /* ****** ****** */ typedef struct timeval atslib_timeval_type ; typedef struct timezone atslib_timezone_type ; /* ****** ****** */ #define atslib_gettimeofday_tv(tv) gettimeofday(tv, NULL) #define atslib_gettimeofday_tz(tz) gettimeofday(NULL, tz) #define atslib_settimeofday_tv(tv) settimeofday(tv, NULL) #define atslib_settimeofday_tz(tz) settimeofday(NULL, tz) #define atslib_settimeofday_tvtz(tv, tz) settimeofday(tv, tz) /* ****** ****** */ #define atslib_utimes utimes #define atslib_futimes futimes #define atslib_futimesat futimesat /* ****** ****** */ typedef struct itimerval ats_itimerval_type ; #define atslib_getitimer getitimer #define atslib_setitimer setitimer #define atslib_setitimer_null(which, itval) setitimer(which, itval, NULL) /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_TIME /* ****** ****** */ /* end of [time.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/types.cats0000664000175000017500000000710012655455557017235 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/types.atxt ** Time of generation: Fri Dec 19 13:34:40 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_TYPES #define ATSLIB_LIBC_SYS_CATS_TYPES /* ****** ****** */ #include /* ****** ****** */ typedef mode_t atslib_mode_type ; /* ****** ****** */ // // HX-2013-8: // [atslib_time_type] is already // defined in [libc/CATS/time.cats] // typedef time_t atslib_types_time_type ; // /* ****** ****** */ #if(0) // // HX-2013-05: where are they? // HX-2013-06: they are declared in [time.h] // typedef clock_t atslib_clock_type ; typedef clockid_t atslib_clockid_type ; #endif /* ****** ****** */ typedef ino_t atslib_ino_type ; typedef off_t atslib_off_type ; /* ****** ****** */ typedef pid_t atslib_pid_type ; typedef uid_t atslib_uid_type ; typedef gid_t atslib_gid_type ; /* ****** ****** */ ATSinline() atslib_mode_type atslib_lor_mode_mode ( atslib_mode_type m1 , atslib_mode_type m2 ) { return (m1 | m2) ; } // end of [atslib_lor_mode_mode] ATSinline() atslib_mode_type atslib_land_mode_mode ( atslib_mode_type m1 , atslib_mode_type m2 ) { return (m1 & m2) ; } // end of [atslib_land_mode_mode] /* ****** ****** */ ATSinline() atstype_bool atslib_lt_time_time ( atslib_types_time_type t1 , atslib_types_time_type t2 ) { return (t1 < t2 ? atsbool_true : atsbool_false) ; } // end of [atslib_lt_time_time] ATSinline() atstype_bool atslib_lte_time_time ( atslib_types_time_type t1 , atslib_types_time_type t2 ) { return (t1 <= t2 ? atsbool_true : atsbool_false) ; } // end of [atslib_lte_time_time] #define atslib_gt_time_time(t1, t2) atslib_lt_time_time(t2, t1) #define atslib_gte_time_time(t1, t2) atslib_lte_time_time(t2, t1) ATSinline() atstype_bool atslib_eq_time_time ( atslib_types_time_type t1 , atslib_types_time_type t2 ) { return (t1 == t2 ? atsbool_true : atsbool_false) ; } // end of [atslib_eq_time_time] ATSinline() atstype_bool atslib_neq_time_time ( atslib_types_time_type t1 , atslib_types_time_type t2 ) { return (t1 != t2 ? atsbool_true : atsbool_false) ; } // end of [atslib_neq_time_time] /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_TYPES /* ****** ****** */ /* end of [types.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/wait.cats0000664000175000017500000000343512655455557017044 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/wait.atxt ** Time of generation: Fri Dec 19 13:34:40 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_WAIT #define ATSLIB_LIBC_SYS_CATS_WAIT /* ****** ****** */ // #include // /* ****** ****** */ // // HX: it is yet empty // /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_WAIT /* ****** ****** */ /* end of [wait.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/socket.cats0000664000175000017500000000622212655455557017365 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/socket.atxt ** Time of generation: Fri Dec 19 13:34:40 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: November, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_SOCKET #define ATSLIB_LIBC_SYS_CATS_SOCKET /* ****** ****** */ // #include #include // /* ****** ****** */ #include "share/H/pats_atslib.h" /* ****** ****** */ /* typedef unsigned short int sa_family_t; // socket address family */ typedef unsigned short int sp_family_t; // socket protocol family /* ****** ****** */ #define atslib_socket_AF_type socket_AF_type #define atslib_socket_PF_type socket_PF_type /* ****** ****** */ // #define \ atslib_bind_err(fd, sa, len) \ bind(fd, (const struct sockaddr*)sa, len) // extern void atslib_bind_exn ( int sockfd, atstype_ptr sa, socklen_t salen ); // end of [atslib_bind_exn] // /* ****** ****** */ // #define \ atslib_listen_err(fd, qsz) listen(fd, qsz) // extern void atslib_listen_exn (int sockfd, int listenqsz); // /* ****** ****** */ // #define \ atslib_connect_err(fd, sa, len) \ connect(fd, (const struct sockaddr*)sa, len) // extern void atslib_connect_exn ( int sockfd, atstype_ptr sa, socklen_t salen ); // end of [atslib_connect_exn] // /* ****** ****** */ // #define \ atslib_accept_err(fd, sa, len) \ accept(fd, (struct sockaddr*)sa, (socklen_t*)len) // #define \ atslib_accept_null_err(fd) atslib_accept_err(fd, 0, 0) // /* ****** ****** */ #define atslib_socket_close(fd) close(fd) /* ****** ****** */ #define atslib_shutdown(fd, how) shutdown(fd, how) /* ****** ****** */ #define \ atslib_socket_read(fd, bufp, bsz) read(fd, (char*)bufp, bsz) #define \ atslib_socket_write(fd, bufp, bsz) write(fd, (const char*)bufp, bsz) /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_SOCKET /* ****** ****** */ /* end of [socket.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/socket_in.cats0000664000175000017500000000433612655455557020057 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/socket_in.atxt ** Time of generation: Fri Dec 19 13:34:41 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: November, 2014 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_SOCKET_IN #define ATSLIB_LIBC_SYS_CATS_SOCKET_IN /* ****** ****** */ // #include #include // /* ****** ****** */ #ifndef memset extern void *memset (void *p, int c, size_t n) ; #endif // ifndef(memset) /* ****** ****** */ ATSinline() atsvoid_t0ype atslib_sockaddr_in_init ( atstype_ptr sa , sa_family_t af, in_addr_t inp, in_port_t port ) { struct sockaddr_in *sa2 = sa ; (void)memset(sa2, 0, sizeof(struct sockaddr_in)) ; sa2->sin_family = af ; sa2->sin_addr.s_addr = inp ; sa2->sin_port = port ; } // end of [sockaddr_in_init] /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_SOCKET_IN /* ****** ****** */ /* end of [socket_in.cats] */ ATS2-Postiats-0.2.6/./libc/sys/CATS/.keeper0000664000175000017500000000000012655455557016461 0ustar hwxihwxiATS2-Postiats-0.2.6/./libc/sys/CATS/mman.cats0000664000175000017500000000356512655455557017034 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/libc/sys/CATS/CODEGEN/mman.atxt ** Time of generation: Fri Dec 19 13:34:39 2014 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: October, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_LIBC_SYS_CATS_MMAN #define ATSLIB_LIBC_SYS_CATS_MMAN /* ****** ****** */ // #include #include // #include // /* ****** ****** */ #define atslib_shm_open shm_open #define atslib_shm_unlink shm_unlink /* ****** ****** */ #endif // ifndef ATSLIB_LIBC_SYS_CATS_MMAN /* ****** ****** */ /* end of [mman.cats] */ ATS2-Postiats-0.2.6/./libc/sys/.keeper0000664000175000017500000000000012655455557015727 0ustar hwxihwxiATS2-Postiats-0.2.6/./INSTALL0000664000175000017500000000441012655455557013766 0ustar hwxihwxi# # # Build and Install # # ###### Author: Hongwei Xi Authoremail: gmhwxi AT gmail DOT com Start time: 2013-09-02 ###### # # Attention: # # Please note that this file is kept for # use only if the following link is unavailable: # # http://www.ats-lang.org/Downloads.html#ATS_packages # # Otherwise please visit the link for up-to-date # instructions on installing the ATS programming # language system. # ###### Last recorded update: 2014-08-07 ###### Step 1: Get the package Step 2: Get pre-requisites Step 3: Build the package Step 4: Install the built package (optional) ###### Step 1: Get the package The current release of ATS2 can be cloned by executing the following command: git clone git://git.code.sf.net/p/ats2-lang/code ATS-Postiats It can also be downloaded by following the link: http://sourceforge.net/projects/ats2-lang/download Say the tarball you download is named ats2-lang-postiats-x.x.x.tgz where x.x.x is the version of the package. You can untar it by issuing the following command-line: tar -vxfz ats2-lang-postiats-x.x.x.tgz which creates a directory named ATS-Postiats ###### Step 2: Get pre-requisites libgmp is required for successful building of ATS2. On e.g. Ubuntu Linux: sudo apt-get install libgmp-dev If you are unable to or do not want to download libgmp, then please use ATS2-intmin, which can be found at: http://www.ats-lang.org/Downloads.html#ATS_packages ###### Step 3: Build the package First enter the directory containing the package: cd ATS-Postiats Then issue the next command-line: ./configure When that completes, please issue the next command-line: make all After 'make' is finsihed, the two commands 'patscc' and 'patsopt' for compiling ATS source code can be found in ATS-Postiats/bin. In order to use this build, please set the environment variable PATSHOME as follows (assuming the current directory is still ATS-Postiats): export PATSHOME=`pwd` ###### Step 4. Install the built package (optional) Assume that you want to install the package in a directory named /path/to/MYATS/. First please configure: ./configure --prefix==/path/to/MYATS After configuration is done, please execute make install Please set PATSHOME as follows: export PATSHOME=/path/to/MYATS/lib/ats2-postiats-x.x.x ###### end of [INSTALL] ###### ATS2-Postiats-0.2.6/./aclocal.m40000664000175000017500000010417312655455557014604 0ustar hwxihwxi# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, [m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, # 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR ATS2-Postiats-0.2.6/./configure.ac0000664000175000017500000001031212655455557015221 0ustar hwxihwxidnl = *********************************************************************** dnl = dnl = Applied Type System dnl = dnl = *********************************************************************** dnl = dnl = ATS/Postiats - Unleashing the Potential of Types! dnl = Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. dnl = All rights reserved dnl = dnl = ATS is free software; you can redistribute it and/or modify it under dnl = the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the dnl = Free Software Foundation; either version 3, or (at your option) any dnl = later version. dnl = dnl = ATS is distributed in the hope that it will be useful, but WITHOUT ANY dnl = WARRANTY; without even the implied warranty of MERCHANTABILITY or dnl = FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License dnl = for more details. dnl = dnl = You should have received a copy of the GNU General Public License dnl = along with ATS; see the file COPYING. If not, please write to the dnl = Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA dnl = 02110-1301, USA. dnl = dnl = dnl = Author: Hongwei Xi dnl = Authoremail: gmhwxi AT gmail DOT com dnl = Start time: August, 2013 dnl = dnl = beg of [configure.ac] dnl = Autoconf requirements dnl = AC_INIT(package, version, bug-report-address) dnl = information on the package dnl = checks for programs dnl = checks for libraries dnl = checks for header files dnl = checks for types dnl = checks for structures dnl = checks for compiler characteristics dnl = checks for library functions dnl = checks for system services dnl = AC_CONFIG_FILES([file...]) AC_INIT([ATS2/Postiats], [0.2.6], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.5], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.4], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.3], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.2], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.1], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.2.0], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.13], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.12], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.11], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.10], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.9], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.8], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.7], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.6], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.5], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.4], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.3], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.2], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.1], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.1.0], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.8], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.7], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.6], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.5], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.4], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.3], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.2], [gmpostiats@gmail.com]) dnl = AC_INIT([ATS2/Postiats], [0.0.1], [gmpostiats@gmail.com]) dnl = VERSION may have a trailing newline dnl = AC_INIT([ATS2/Postiats], m4_esyscmd([cat VERSION | tr -d '\n']), [gmpostiats@gmail.com]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) AC_CONFIG_FILES([config.mk]) AC_CONFIG_FILES([bin/patscc_env.sh]) AC_CONFIG_FILES([bin/patsopt_env.sh]) dnl = AM_INIT_AUTOMAKE AC_PROG_CC AC_PROG_INSTALL AC_PROG_MKDIR_P AC_PROG_LN_S AC_CHECK_HEADERS(gmp.h) AC_SUBST(HAVE_LIBGMP, ${ac_cv_header_gmp_h%no}) AC_CHECK_SIZEOF(void*) AC_CHECK_FUNCS(posix_memalign memalign) AC_OUTPUT dnl = end of [configure.ac] ATS2-Postiats-0.2.6/./prelude/0000775000175000017500000000000012655455557014376 5ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/params.hats0000664000175000017500000000317612655455557016551 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: September, 2011 // (* ****** ****** *) // #define VERBOSE_FIXITY 0 (* #define VERBOSE_FIXITY 1 (* used in [prelude/fixity.ats] *) *) // (* ****** ****** *) // #define VERBOSE_PRELUDE 0 (* #define VERBOSE_PRELUDE 1 (* mainly for the purpose of debugging *) *) // (* ****** ****** *) (* end of [params.hats] *) ATS2-Postiats-0.2.6/./prelude/basics_sta.sats0000664000175000017500000004277512655455557017424 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: September, 2011 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_sta.sats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) #define RD(x) x // for commenting: read-only (* ****** ****** *) (* // // HX-2012-05-24: // the following two styles are equivalent: // stadef bool_kind = $extkind"atstype_bool" tkindef bool_kind = "atstype_bool" *) (* ****** ****** *) // tkindef bool_kind = "atstype_bool" // abst@ype bool_t0ype = tkind_t0ype (bool_kind) stadef bool = bool_t0ype // shorthand abst@ype bool_bool_t0ype (b: bool) = bool_t0ype stadef bool = bool_bool_t0ype // shorthand // typedef Bool = [b:bool] bool (b) typedef boolLte (b1:bool) = [b2:bool] bool (b2 <= b1) // b2 -> b1 typedef boolGte (b1:bool) = [b2:bool] bool (b2 >= b1) // b1 -> b2 // abst@ype atstype_bool // HX-2013-09: for internal use // (* ****** ****** *) tkindef byte_kind = "atstype_byte" abst@ype byte_t0ype = tkind_t0ype (byte_kind) stadef byte = byte_t0ype (* ****** ****** *) // // char is signed // sortdef int8 = { i:int | ~128 <= i; i < 128 } // end of [int8] sortdef uint8 = { i:int | 0 <= i; i < 256 } // end of [uint8] // tkindef char_kind = "atstype_char" // abst@ype char_t0ype = tkind_t0ype (char_kind) stadef char = char_t0ype // shorthand abst@ype char_int_t0ype (c:int) = char_t0ype stadef char = char_int_t0ype // shorthand typedef Char = [c:int8] char (c) typedef charNZ = [c:int8 | c != 0] char (c) // // signed characters // tkindef schar_kind = "atstype_schar" // abst@ype schar_t0ype = tkind_t0ype (schar_kind) stadef schar = schar_t0ype // shorthand abst@ype schar_int_t0ype (c:int) = schar_t0ype stadef schar = schar_int_t0ype // shorthand typedef sChar = [c:int8] schar (c) // // unsigned characters // tkindef uchar_kind = "atstype_uchar" // abst@ype uchar_t0ype = tkind_t0ype (uchar_kind) stadef uchar = uchar_t0ype // shorthand abst@ype uchar_int_t0ype (c:int) = uchar_t0ype stadef uchar = uchar_int_t0ype // shorthand typedef uChar = [c:uint8] uchar (c) // (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) // abst@ype g0int_t0ype (tk:tk) = tkind_t0ype (tk) stadef g0int = g0int_t0ype // shorthand abst@ype g1int_int_t0ype (tk:tkind, int) = g0int (tk) stadef g1int = g1int_int_t0ype // shorthand // typedef g1int (tk:tkind) = [i:int] g1int (tk, i) typedef g1int0 (tk:tkind) = [i:int | i >= 0] g1int (tk, i) typedef g1int1 (tk:tkind) = [i:int | i >= 1] g1int (tk, i) // (* ****** ****** *) // typedef g1intLt (tk:tk, n:int) = [i:int | i < n] g1int (tk, i) typedef g1intLte (tk:tk, n:int) = [i:int | i <= n] g1int (tk, i) typedef g1intGt (tk:tk, n:int) = [i:int | i > n] g1int (tk, i) typedef g1intGte (tk:tk, n:int) = [i:int | i >= n] g1int (tk, i) typedef g1intBtw (tk:tk, lb:int, ub:int) = [i: int | lb <= i; i < ub] g1int (tk, i) typedef g1intBtwe (tk:tk, lb:int, ub:int) = [i: int | lb <= i; i <= ub] g1int (tk, i) // (* ****** ****** *) // abst@ype g0uint_t0ype (tk:tkind) = tkind_t0ype (tk) stadef g0uint = g0uint_t0ype // shorthand abst@ype g1uint_int_t0ype (tk:tkind, int) = g0uint (tk) stadef g1uint = g1uint_int_t0ype // shorthand // typedef g1uint (tk:tk) = [i:int] g1uint (tk, i) typedef g1uint0 (tk:tk) = [i:int | i >= 0] g1uint (tk, i) typedef g1uint1 (tk:tk) = [i:int | i >= 1] g1uint (tk, i) // (* ****** ****** *) // typedef g1uintLt (tk:tk, n:int) = [i:nat | i < n] g1uint (tk, i) typedef g1uintLte (tk:tk, n:int) = [i:nat | i <= n] g1uint (tk, i) typedef g1uintGt (tk:tk, n:int) = [i:int | i > n] g1uint (tk, i) typedef g1uintGte (tk:tk, n:int) = [i:int | i >= n] g1uint (tk, i) typedef g1uintBtw (tk:tk, lb:int, ub:int) = [i: int | lb <= i; i < ub] g1uint (tk, i) typedef g1uintBtwe (tk:tk, lb:int, ub:int) = [i: int | lb <= i; i <= ub] g1uint (tk, i) // (* ****** ****** *) // tkindef int_kind = "atstype_int" // typedef int0 = g0int (int_kind) typedef int1 (i:int) = g1int (int_kind, i) // stadef int = int1 // 2nd-select stadef int = int0 // 1st-select // typedef Int = [i:int] int1 (i) typedef Nat = [i:int | i >= 0] int1 (i) // typedef intLt (n:int) = g1intLt (int_kind, n) typedef intLte (n:int) = g1intLte (int_kind, n) typedef intGt (n:int) = g1intGt (int_kind, n) typedef intGte (n:int) = g1intGte (int_kind, n) typedef intBtw (lb:int, ub:int) = g1intBtw (int_kind, lb, ub) typedef intBtwe (lb:int, ub:int) = g1intBtwe (int_kind, lb, ub) // typedef Two = intBtw (0, 2) typedef Sgn = intBtwe (~1, 1) // typedef natLt (n:int) = intBtw (0, n) typedef natLte (n:int) = intBtwe (0, n) // tkindef uint_kind = "atstype_uint" // typedef uint0 = g0uint (uint_kind) typedef uint1 (n:int) = g1uint (uint_kind, n) // stadef uint = uint1 // 2nd-select stadef uint = uint0 // 1st-select // stadef uInt = [n:int] uint1 (n) // typedef uintLt (n:int) = g1uintLt (uint_kind, n) typedef uintLte (n:int) = g1uintLte (uint_kind, n) typedef uintGt (n:int) = g1uintGt (uint_kind, n) typedef uintGte (n:int) = g1uintGte (uint_kind, n) typedef uintBtw (lb:int, ub:int) = g1uintBtw (uint_kind, lb, ub) typedef uintBtwe (lb:int, ub:int) = g1uintBtwe (uint_kind, lb, ub) // abst@ype atstype_int // HX-2013-09: for internal use abst@ype atstype_uint // HX-2013-09: for internal use // (* ****** ****** *) // tkindef lint_kind = "atstype_lint" typedef lint0 = g0int (lint_kind) typedef lint1 (i:int) = g1int (lint_kind, i) stadef lint = lint1 // 2nd-select stadef lint = lint0 // 1st-select // tkindef ulint_kind = "atstype_ulint" typedef ulint0 = g0uint (ulint_kind) typedef ulint1 (i:int) = g1uint (ulint_kind, i) stadef ulint = ulint1 // 2nd-select stadef ulint = ulint0 // 1st-select // tkindef llint_kind = "atstype_llint" typedef llint0 = g0int (llint_kind) typedef llint1 (i:int) = g1int (llint_kind, i) stadef llint = llint1 // 2nd-select stadef llint = llint0 // 1st-select // tkindef ullint_kind = "atstype_ullint" typedef ullint0 = g0uint (ullint_kind) typedef ullint1 (i:int) = g1uint (ullint_kind, i) stadef ullint = ullint1 // 2nd-select stadef ullint = ullint0 // 1st-select // (* ****** ****** *) // tkindef intptr_kind = "atstype_intptr" typedef intptr0 = g0int (intptr_kind) typedef intptr1 (i:int) = g1int (intptr_kind, i) stadef intptr = intptr1 // 2nd-select stadef intptr = intptr0 // 1st-select // tkindef uintptr_kind = "atstype_uintptr" typedef uintptr0 = g0uint (uintptr_kind) typedef uintptr1 (i:int) = g1uint (uintptr_kind, i) stadef uintptr = uintptr1 // 2nd-select stadef uintptr = uintptr0 // 1st-select // (* ****** ****** *) // tkindef sint_kind = "atstype_sint" typedef sint0 = g0int (sint_kind) typedef sint1 (i:int) = g1int (sint_kind, i) stadef sint = sint1 // 2nd-select stadef sint = sint0 // 1st-select // tkindef usint_kind = "atstype_usint" typedef usint0 = g0uint (usint_kind) typedef usint1 (i:int) = g1uint (usint_kind, i) stadef usint = usint1 // 2nd-select stadef usint = usint0 // 1st-select // (* ****** ****** *) // tkindef size_kind = "atstype_size" typedef size0_t = g0uint (size_kind) typedef size1_t (i:int) = g1uint (size_kind, i) // stadef size_t = size1_t // 2nd-select stadef size_t = size0_t // 1st-select // typedef Size = [i:int | i >= 0] g1uint (size_kind, i) typedef Size_t = Size // typedef sizeLt (n:int) = g1uintLt (size_kind, n) typedef sizeLte (n:int) = g1uintLte (size_kind, n) typedef sizeGt (n:int) = g1uintGt (size_kind, n) typedef sizeGte (n:int) = g1uintGte (size_kind, n) typedef sizeBtw (lb:int, ub:int) = g1uintBtw (size_kind, lb, ub) typedef sizeBtwe (lb:int, ub:int) = g1uintBtwe (size_kind, lb, ub) // tkindef ssize_kind = "atstype_ssize" typedef ssize0_t = g0int (ssize_kind) typedef ssize1_t (i:int) = g1int (ssize_kind , i) // stadef ssize_t = ssize1_t // 2nd-select stadef ssize_t = ssize0_t // 1st-select // typedef SSize = [i:int] g1int (ssize_kind, i) typedef SSize_t = SSize // typedef ssizeLt (n:int) = g1intLt (ssize_kind, n) typedef ssizeLte (n:int) = g1intLte (ssize_kind, n) typedef ssizeGt (n:int) = g1intGt (ssize_kind, n) typedef ssizeGte (n:int) = g1intGte (ssize_kind, n) typedef ssizeBtw (lb:int, ub:int) = g1intBtw (ssize_kind, lb, ub) typedef ssizeBtwe (lb:int, ub:int) = g1intBtwe (ssize_kind, lb, ub) // abst@ype atstype_size // HX-2013-09: for internal use abst@ype atstype_ssize // HX-2013-09: for internal use // (* ****** ****** *) typedef sizeof_t (a:vt@ype) = size_t (sizeof(a?)) (* ****** ****** *) // tkindef int8_kind = "atstype_int8" typedef int8_0 = g0int (int8_kind) typedef int8_1 (i:int) = g1int (int8_kind, i) // stadef int8 = int8_1 // 2nd-select stadef int8 = int8_0 // 1st-select stadef Int8 = [i:int] int8_1 (i) // tkindef uint8_kind = "atstype_uint8" typedef uint8_0 = g0uint (uint8_kind) typedef uint8_1 (i:int) = g1uint (uint8_kind, i) // stadef uint8 = uint8_1 // 2nd-select stadef uint8 = uint8_0 // 1st-select stadef uInt8 = [i:nat] uint8_1 (i) // (* ****** ****** *) // tkindef int16_kind = "atstype_int16" typedef int16_0 = g0int (int16_kind) typedef int16_1 (i:int) = g1int (int16_kind, i) // stadef int16 = int16_1 // 2nd-select stadef int16 = int16_0 // 1st-select stadef Int16 = [i:int] int16_1 (i) // tkindef uint16_kind = "atstype_uint16" typedef uint16_0 = g0uint (uint16_kind) typedef uint16_1 (i:int) = g1uint (uint16_kind, i) // stadef uint16 = uint16_1 // 2nd-select stadef uint16 = uint16_0 // 1st-select stadef uInt16 = [i:nat] uint16_1 (i) // (* ****** ****** *) // tkindef int32_kind = "atstype_int32" typedef int32_0 = g0int (int32_kind) typedef int32_1 (i:int) = g1int (int32_kind, i) // stadef int32 = int32_1 // 2nd-select stadef int32 = int32_0 // 1st-select stadef Int32 = [i:int] int32_1 (i) // tkindef uint32_kind = "atstype_uint32" typedef uint32_0 = g0uint (uint32_kind) typedef uint32_1 (i:int) = g1uint (uint32_kind, i) // stadef uint32 = uint32_1 // 2nd-select stadef uint32 = uint32_0 // 1st-select stadef uInt32 = [i:nat] uint32_1 (i) // (* ****** ****** *) // tkindef int64_kind = "atstype_int64" typedef int64_0 = g0int (int64_kind) typedef int64_1 (i:int) = g1int (int64_kind, i) // stadef int64 = int64_1 // 2nd-select stadef int64 = int64_0 // 1st-select stadef Int64 = [i:int] int64_1 (i) // tkindef uint64_kind = "atstype_uint64" typedef uint64_0 = g0uint (uint64_kind) typedef uint64_1 (i:int) = g1uint (uint64_kind, i) // stadef uint64 = uint64_1 // 2nd-select stadef uint64 = uint64_0 // 1st-select stadef uInt64 = [i:nat] uint64_1 (i) // (* ****** ****** *) // abst@ype g0float_t0ype (tk:tk) = tkind_t0ype (tk) stadef g0float = g0float_t0ype // shorthand // tkindef float_kind = "atstype_float" typedef float = g0float (float_kind) // tkindef double_kind = "atstype_double" typedef double = g0float (double_kind) // tkindef ldouble_kind = "atstype_ldouble" typedef ldouble = g0float (ldouble_kind) // (* ****** ****** *) // // HX: unindexed type for pointers // tkindef ptr_kind = "atstype_ptrk" abstype ptr_type = tkind_type (ptr_kind) stadef ptr = ptr_type // a shorthand abstype ptr_addr_type (l:addr) = ptr_type stadef ptr = ptr_addr_type // a shorthand typedef Ptr = [l:addr] ptr (l) typedef Ptr0 = [l:addr | l >= null] ptr (l) typedef Ptr1 = [l:addr | l > null] ptr (l) typedef Ptrnull (l:addr) = [l1:addr | l1 == null || l1 == l] ptr (l1) // end of [Ptrnull] // // HX-2012-02-14: it is an expriment for now: // stadef ptr (n:int) = ptr_addr_type (addr_of_int(n)) // (* ****** ****** *) (* ** HX: persistent read-only strings *) (* // // HX-2013-04: this confuses type-erasure // abstype string_type = $extype"atstype_string" *) abstype string_type = ptr // = char* in C abstype string_int_type (n: int) = string_type // stadef string0 = string_type stadef string1 = string_int_type stadef string = string1 // 2nd-select stadef string = string0 // 1st-select typedef String = [n:int] string_int_type (n) typedef String0 = [n:int | n >= 0] string_int_type (n) typedef String1 = [n:int | n >= 1] string_int_type (n) // (* ****** ****** *) abstype stropt_int_type (n:int) = ptr stadef stropt = stropt_int_type typedef Stropt = [n:int] stropt_int_type (n) typedef Stropt0 = [n:int] stropt_int_type (n) typedef Stropt1 = [n:int | n >= 0] stropt_int_type (n) stadef stropt = Stropt // HX: this may be a bit confusing :) (* ****** ****** *) (* ** HX: linear mutable strings *) absvtype strptr_addr_vtype (l:addr) = ptr stadef strptr = strptr_addr_vtype vtypedef Strptr0 = [l:addr] strptr (l) vtypedef Strptr1 = [l:addr | l > null] strptr (l) stadef strptr = Strptr0 absvtype strnptr_addr_int_vtype (l:addr, n:int) = ptr stadef strnptr = strnptr_addr_int_vtype vtypedef strnptr (n:int) = [l:addr] strnptr (l, n) vtypedef Strnptr0 = [l:addr;n:int] strnptr (l, n) vtypedef Strnptr1 = [l:addr;n:int | n >= 0] strnptr (l, n) (* ****** ****** *) (* ** HX: persistent mutable strings *) abstype strref_addr_type (l:addr) = ptr stadef strref = strref_addr_type typedef Strref0 = [l:addr] strref (l) typedef Strref1 = [l:addr | l > null] strref (l) (* ****** ****** *) abst@ype atsvoid_t0ype (* = $extype"atsvoid_t0ype" *) typedef void = atsvoid_t0ype // = C-void (* ****** ****** *) // absvtype exception_vtype = $extype"atstype_exnconptr" // vtypedef exn = exception_vtype // boxed vtype // (* ****** ****** *) absvt@ype // covariance opt_vt0ype_bool_vt0ype (a:vt@ype+, opt:bool) = a stadef opt = opt_vt0ype_bool_vt0ype (* ****** ****** *) typedef bytes (n:int) = @[byte][n] viewdef bytes_v (l:addr, n:int) = bytes (n) @ l typedef b0ytes (n:int) = @[byte?][n] viewdef b0ytes_v (l:addr, n:int) = b0ytes (n) @ l (* ****** ****** *) // abstype cloref_t0ype_type (a:t@ype) = ptr stadef cloref = cloref_t0ype_type // absvtype cloptr_vt0ype_vtype (a:t@ype) = ptr stadef cloptr = cloptr_vt0ype_vtype vtypedef cloptr0 = cloptr_vt0ype_vtype (void) // (* ****** ****** *) // typedef stamped_t(a:t@ype) = [x:int] stamped_t(a, x) vtypedef stamped_vt(a:vt@ype) = [x:int] stamped_vt(a, x) // (* ****** ****** *) // // HX: for memory deallocation (with/without GC) // absview mfree_gc_addr_view (addr) stadef mfree_gc_v = mfree_gc_addr_view absview mfree_ngc_addr_view (addr) stadef mfree_ngc_v = mfree_ngc_addr_view // absview mfree_libc_addr_view (addr) // libc-mfree stadef mfree_libc_v = mfree_libc_addr_view // (* ****** ****** *) absvt@ype arrpsz_vt0ype_int_vt0ype (a:vt@ype+, n:int) = $extype"atstype_arrpsz" stadef arrpsz = arrpsz_vt0ype_int_vt0ype (* ****** ****** *) absprop // invariance vbox_view_prop (v:view) propdef vbox (v:view) = vbox_view_prop (v) abstype // invariance ref_vt0ype_type (a:vt@ype) = ptr typedef ref (a:vt@ype) = ref_vt0ype_type (a) (* ****** ****** *) // viewdef vtakeout (v1: view, v2: view) = (v2, v2 - v1) viewdef vtakeout0 (v:view) = vtakeout (void, v) // vtypedef vttakeout (vt1: vt@ype, vt2: vt@ype) = (vt2 - vt1 | vt2) viewdef vttakeout0 (vt:vt@ype) = vttakeout (void, vt) // (* ****** ****** *) // vtypedef vtakeoutptr (a:vt@ype) = [l:addr] (a@l, a@l - void | ptr l) // (* ****** ****** *) // vtypedef vstrptr (l:addr) = vttakeout0 (strptr l) // vtypedef vStrptr0 = [l:addr] vstrptr (l) vtypedef vStrptr1 = [l:addr | l > null] vstrptr (l) // (* ****** ****** *) typedef bottom_t0ype_uni = {a:t@ype} (a) typedef bottom_t0ype_exi = [a:t@ype | false] (a) vtypedef bottom_vt0ype_uni = {a:vt@ype} (a) vtypedef bottom_vt0ype_exi = [a:vt@ype | false] (a) (* ****** ****** *) typedef cmpval_fun (a: t@ype) = (a, a) - int typedef cmpval_funenv (a: t@ype, vt: t@ype) = (a, a, !vt) - int stadef cmpval = cmpval_fun stadef cmpval = cmpval_funenv (* ****** ****** *) typedef cmpref_fun (a: vt@ype) = (&RD(a), &RD(a)) - int typedef cmpref_funenv (a: vt@ype, vt: vt@ype) = (&RD(a), &RD(a), !vt) - int stadef cmpref = cmpref_fun stadef cmpref = cmpref_funenv (* ****** ****** *) // // HX: [lazy(T)] : // suspended evaluation of type T // abstype lazy_t0ype_type (t@ype+) = ptr typedef lazy (a:t@ype) = lazy_t0ype_type (a) // (* ****** ****** *) // // HX: [lazy_vt(VT)] : // suspended computation of viewtype VT // absvtype lazy_vt0ype_vtype (vt@ype+) = ptr vtypedef lazy_vt (a: vt@ype)= lazy_vt0ype_vtype (a) // (* ****** ****** *) // (* abst@ype literal_int(intlit) = $extype"atsliteral_int" *) abst@ype literal_float(float) = $extype"atsliteral_float" abst@ype literal_string(string) = $extype"atsliteral_string" // (* ****** ****** *) // abst@ype undefined_t0ype = $extype"atstype_undefined" absvt@ype undefined_vt0ype = $extype"atstype_undefined" // (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_sta.sats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [basics_sta.sats] *) ATS2-Postiats-0.2.6/./prelude/basics_pre.sats0000664000175000017500000003227612655455557017416 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: September, 2011 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_pre.sats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) // // HX: // some built-in static boolean constants // stacst true_bool : bool and false_bool : bool stadef true = true_bool and false = false_bool // stacst neg_bool : bool -> bool (* boolean negation *) stadef ~ = neg_bool // overloaded stadef not = neg_bool // overloaded // stacst add_bool_bool : (bool, bool) -> bool (* disjunction *) stacst mul_bool_bool : (bool, bool) -> bool (* conjunction *) stadef + = add_bool_bool and * = mul_bool_bool stadef || = add_bool_bool and && = mul_bool_bool // stacst lt_bool_bool : (bool, bool) -> bool stacst lte_bool_bool : (bool, bool) -> bool stacst gt_bool_bool : (bool, bool) -> bool stacst gte_bool_bool : (bool, bool) -> bool stadef < = lt_bool_bool stadef <= = lte_bool_bool stadef > = gt_bool_bool stadef >= = gte_bool_bool // stacst eq_bool_bool : (bool, bool) -> bool stacst neq_bool_bool : (bool, bool) -> bool stadef == = eq_bool_bool stadef != = neq_bool_bool stadef <> = neq_bool_bool // backward compatibility // deprecated // (* ****** ****** *) (* // // HX-2012-06-12: removed // stacst eq_char_char : (char, char) -> bool stacst neq_char_char : (char, char) -> bool // stadef == = eq_char_char stadef != = neq_char_char stadef <> = neq_char_char // backward compatibility // deprecated // *) (* ****** ****** *) // stacst neg_int : (int) -> int stadef ~ = neg_int // overloaded // stacst add_int_int : (int, int) -> int stacst sub_int_int : (int, int) -> int stacst mul_int_int : (int, int) -> int stacst div_int_int : (int, int) -> int // stadef + = add_int_int stadef - = sub_int_int stadef * = mul_int_int stadef / = div_int_int // // HX: ndiv: divisor is positive // HX: idiv: alias for div_int_int // stacst ndiv_int_int : (int, int) -> int stacst idiv_int_int : (int, int) -> int // stadef ndiv = ndiv_int_int stadef idiv = idiv_int_int // stadef nmod_int_int ( x:int, y:int ) = x - y * (x \ndiv_int_int y) // stadef mod = nmod_int_int stadef nmod = nmod_int_int stadef % (*adopted from C*) = nmod_int_int // (* ****** ****** *) // stacst lt_int_int : (int, int) -> bool stacst lte_int_int : (int, int) -> bool stacst gt_int_int : (int, int) -> bool stacst gte_int_int : (int, int) -> bool stadef < = lt_int_int and <= = lte_int_int stadef > = gt_int_int and >= = gte_int_int // stacst eq_int_int : (int, int) -> bool stacst neq_int_int : (int, int) -> bool stadef == = eq_int_int stadef != = neq_int_int stadef <> = neq_int_int // HX: backward compatibility // (* ****** ****** *) // stacst abs_int : (int) -> int // stadef abs = abs_int // stadef absrel_int_int (x: int, v: int): bool = (x >= 0 && x == v) || (x <= 0 && ~x == v) // stadef absrel = absrel_int_int // stacst sgn_int : (int) -> int // stadef sgn = sgn_int // stadef sgnrel_int_int (x: int, v: int): bool = (x > 0 && v==1) || (x==0 && v==0) || (x < 0 && v==(~1)) // stadef sgnrel = sgnrel_int_int // stacst max_int_int : (int, int) -> int stadef max = max_int_int // stacst min_int_int : (int, int) -> int stadef min = min_int_int // stadef maxrel_int_int_int (x: int, y: int, v: int): bool = (x >= y && x == v) || (x <= y && y == v) // stadef maxrel = maxrel_int_int_int // stadef minrel_int_int_int (x: int, y: int, v: int): bool = (x >= y && y == v) || (x <= y && x == v) stadef minrel = minrel_int_int_int // stadef nsub (x:int, y:int) = max (x-y, 0) // stadef ndivrel_int_int_int // HX: y > 0 (x: int, y: int, q: int): bool = (q * y <= x) && (x < q * y + y) // stadef ndivrel = ndivrel_int_int_int // stadef idivrel_int_int_int (x: int, y: int, q: int) = ( // HX: y != 0 x >= 0 && y > 0 && ndivrel_int_int_int ( x, y, q) ) || ( x >= 0 && y < 0 && ndivrel_int_int_int ( x, ~y, ~q) ) || ( x < 0 && y > 0 && ndivrel_int_int_int (~x, y, ~q) ) || ( x < 0 && y < 0 && ndivrel_int_int_int (~x, ~y, q) ) (* end of [idivrel_int_int_int] *) // stadef idivrel = idivrel_int_int_int // stadef divmodrel_int_int_int_int (x: int, y: int, q: int, r: int) : bool = (0 <= r && r < y && x == q*y + r) // stadef divmodrel = divmodrel_int_int_int_int // (* ****** ****** *) // stacst ifint_bool_int_int : (bool, int, int) -> int // stadef ifint = ifint_bool_int_int // stadef ifintrel_bool_int_int_int ( b:bool, x:int, y:int, r:int ) : bool = (b && r==x) || (~b && r==y) // stadef ifintrel = ifintrel_bool_int_int_int // (* ****** ****** *) stadef bool2int(b: bool): int = ifint (b, 1, 0) stadef int2bool (i: int): bool = (i != 0) stadef b2i = bool2int and i2b = int2bool (* ****** ****** *) (* ** HX: [char] = [int8] ** HX-2012-06-12: removed // stacst int_of_char: char -> int stacst char_of_int : int -> char stadef c2i = int_of_char and i2c = char_of_int // *) (* ****** ****** *) (* ** HX: pointer <-> integer *) stacst int_of_addr: addr -> int stacst addr_of_int: int -> addr stadef a2i = int_of_addr and i2a = addr_of_int (* ****** ****** *) // stadef pow2_7 = 128 stadef pow2_8 = 256 stadef i2u_int8 (i:int) = ifint (i >= 0, i, i+pow2_8) stadef i2u8 = i2u_int8 stadef u2i_int8 (u:int) = ifint (u < pow2_7, u, u-pow2_8) stadef u2i8 = u2i_int8 // stadef pow2_15 = 32768 stadef pow2_16 = 65536 stadef i2u_int16 (i:int) = ifint (i >= 0, i, i+pow2_16) stadef i2u16 = i2u_int16 stadef u2i_int16 (u:int) = ifint (u < pow2_15, u, u-pow2_16) stadef u2i16 = u2i_int16 // (* ****** ****** *) stadef pow2_32 = 0x100000000 stadef pow2_64 = 0x10000000000000000 (* ****** ****** *) stacst null_addr : addr stadef null = null_addr stadef NULL = null_addr stacst add_addr_int : (addr, int) -> addr stacst sub_addr_int : (addr, int) -> addr stacst sub_addr_addr : (addr, addr) -> int stadef + = add_addr_int stadef - = sub_addr_int stadef - = sub_addr_addr stacst lt_addr_addr : (addr, addr) -> bool stacst lte_addr_addr : (addr, addr) -> bool stadef < = lt_addr_addr stadef <= = lte_addr_addr stacst gt_addr_addr : (addr, addr) -> bool stacst gte_addr_addr : (addr, addr) -> bool stadef > = gt_addr_addr stadef >= = gte_addr_addr stacst eq_addr_addr : (addr, addr) -> bool stacst neq_addr_addr : (addr, addr) -> bool stadef == = eq_addr_addr stadef != = neq_addr_addr and <> = neq_addr_addr (* ****** ****** *) // // HX-2013-09: // for supporting inheritance in OOP // stacst lte_cls_cls : (cls, cls) -> bool stacst gte_cls_cls : (cls, cls) -> bool stadef <= = lte_cls_cls stadef >= = gte_cls_cls // stadef lterel_cls_cls ( c1: cls, c2: cls, lterel_cls_cls_res: bool ) : bool = lterel_cls_cls_res stadef gterel_cls_cls ( c1: cls, c2: cls, gterel_cls_cls_res: bool ) : bool = gterel_cls_cls_res // (* ****** ****** *) // // HX: this is a special constant! // stacst sizeof_t0ype_int : t@ype -> int stadef sizeof (a:viewt@ype): int = sizeof_t0ype_int (a?) // (* ****** ****** *) sortdef nat = { i:int | i >= 0 } // natural numbers sortdef pos = { i:int | i > 0 } sortdef neg = { i:int | i < 0 } sortdef npos = { i:int | i <= 0 } // non-positive integers sortdef nat1 = { n:nat | n < 1 } // for 0 sortdef nat2 = { n:nat | n < 2 } // for 0, 1 sortdef nat3 = { n:nat | n < 3 } // for 0, 1, 2 sortdef nat4 = { n:nat | n < 4 } // for 0, 1, 2, 3 sortdef sgn = { i:int | ~1 <= i; i <= 1 } sortdef agz = { l:addr | l > null } sortdef agez = { l:addr | l >= null } sortdef alez = { l:addr | l <= null } (* ****** ****** *) #define CHAR_MAX 127 #define CHAR_MIN ~128 #define UCHAR_MAX 0xFF (* ****** ****** *) // stacst effnil : eff // nothing stacst effall : eff // everything // stacst effntm : eff // nonterm stacst effexn : eff // exception stacst effref : eff // reference stacst effwrt : eff // writeover // stacst add_eff_eff : (eff, eff) -> eff stadef + = add_eff_eff // union of effsets stacst sub_eff_eff : (eff, eff) -> eff stadef - = add_eff_eff // difference of effsets // (* ****** ****** *) // // HX: some overloaded symbols // symintr ~ not (* symintr && || // macros *) symintr lnot lor lxor land symintr + - * / % mod ndiv nmod symintr < <= > >= = == != <> compare symintr isltz isltez isgtz isgtez iseqz isneqz symintr neg abs max min symintr succ pred half double symintr square sqrt cube cbrt pow // symintr [] // for subscripting symintr << >> // for L/R-shifting // symintr inc dec symintr ++ -- // inc and dec symintr get set exch symintr getinc setinc exchinc symintr decget decset decexch symintr !++ --! // getinc and decget symintr =++ --= // setinc and decset // symintr assert // symintr encode decode // symintr g0ofg1 g1ofg0 // casting: dpt <-> ndpt symintr ptrcast (* for functions taking the address of a boxed val *) // symintr copy free length // symintr print prerr fprint symintr println prerrln fprintln // (* // symintr forall symintr iforall // symintr foreach symintr foreach2 symintr iforeach symintr rforeach // *) // symintr ofstring ofstrptr symintr tostring tostrptr // (* ****** ****** *) // // HX-2014-02: // for dot-notation overloading // symintr .size symintr .length symintr .get .set .exch symintr .nrow .ncol symintr .head .tail symintr .next .prev symintr .init .last symintr .eval // (* ****** ****** *) // // HX-2012-05-23: for template args // abstype atstkind_type (tk: tkind) abst@ype atstkind_t0ype (tk: tkind) // typedef tkind_type (tk:tkind) = atstkind_type (tk) typedef tkind_t0ype (tk:tkind) = atstkind_t0ype (tk) // (* ****** ****** *) absview // S2Eat at_vt0ype_addr_view (vt@ype+, addr) stadef @ = at_vt0ype_addr_view // HX: @ is infix (* ****** ****** *) // absvt@ype clo_t0ype_t0ype (a: t@ype) = a absvt@ype clo_vt0ype_vt0ype (a: vt@ype) = a // (* ****** ****** *) (* absview read_view_int_int_view (v:view, stamp:int, n:int) stadef READ = read_view_int_int_view viewdef READ (v:view) = [s,n:int] READ (v, s, n) stadef RD = READ // absview readout_view_int_view (v:view, stamp:int) stadef READOUT = readout_view_int_view viewdef READOUT (v:view) = [s:int] READOUT (v, s) // absvt@ype read_vt0ype_int_int_vt0ype (a:vt@ype, stamp:int, n:int) = a stadef READ = read_vt0ype_int_int_vt0ype vtypedef READ (a:vt@ype) = [s,n:int] READ (a, s, n) stadef RD = READ // absvt@ype readout_vt0ype_int_vt0ype (a:vt@ype, stamp: int) = a stadef READOUT = readout_vt0ype_int_vt0ype vtypedef READOUT (a:vt@ype) = [s:int] READOUT (a, s) *) (* ****** ****** *) (* absvt@ype write_vt0ype_vt0ype (a: vt@ype) = a vtypedef WRITE (a:vt@ype) = write_vt0ype_vt0ype (a) stadef WRT = WRITE *) (* ****** ****** *) // vtypedef READ (a:vt@ype) = a // HX: used as a comment vtypedef WRITE (a:vt@ype) = a // HX: used as a comment (rarely) // (* vtypedef SHARED (a:vt@ype) = a // HX: used as a comment vtypedef NSHARED (a:vt@ype) = a // HX: used as a comment (rarely) *) // (* ****** ****** *) // absprop invar_prop_prop (a:prop) absview invar_view_view (a:view) // abst@ype // S2Einvar invar_t0ype_t0ype (a:t@ype) = a absvt@ype // S2Einvar invar_vt0ype_vt0ype (a:vt@ype) = a // // HX: this order is significant // viewdef INV (a: view) = invar_view_view (a) propdef INV (a: prop) = invar_prop_prop (a) // vtypedef INV (a:vt@ype) = invar_vt0ype_vt0ype (a) // vtypedef INV (a: t@ype) = invar_t0ype_t0ype (a) // (* ****** ****** *) (* // absprop optarg_prop_prop (a:prop) absview optarg_view_view (a:view) // abst@ype optarg_t0ype_t0ype (a:t@ype) = a absvt@ype optarg_vt0ype_vt0ype (a:vt@ype) = a // // HX: this order is significant // viewdef OPT (a: view) = optarg_view_view (a) propdef OPT (a: prop) = optarg_prop_prop (a) // vtypedef OPT (a:vt@ype) = optarg_vt0ype_vt0ype (a) // vtypedef OPT (a: t@ype) = optarg_t0ype_t0ype (a) // *) (* ****** ****** *) // abst@ype stamped_t0ype (a:t@ype, int) = a stadef stamped_t = stamped_t0ype // absvt@ype stamped_vt0ype (a:vt@ype, int) = a stadef stamped_vt = stamped_vt0ype // (* ****** ****** *) // absview vcopyenv_view_view (v:view) stadef vcopyenv_v = vcopyenv_view_view absvt@ype vcopyenv_vt0ype_vt0ype (vt: vt0ype) = vt stadef vcopyenv_vt = vcopyenv_vt0ype_vt0ype // (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_pre.sats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [basics_pre.sats] *) ATS2-Postiats-0.2.6/./prelude/basics_gen.sats0000664000175000017500000000563412655455557017377 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: July, 2012 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_gen.sats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) // fun {a:t0p} gidentity (x: INV(a)):<> a // fun {a:vt0p} gidentity_vt (x: INV(a)):<> a // (* ****** ****** *) // fun {a:t0p} gcopy_val (x: INV(a)):<> a // fun {a:vt0p} gcopy_ref (x: &INV(a)): a // (* ****** ****** *) fun {a:vt0p} gfree_val (x: INV(a)): void (* ****** ****** *) fun {a:vt0p} ginit_ref (x: &a? >> a): void (* ****** ****** *) fun {a:vt0p} gclear_ref (x: &a >> a?): void (* ****** ****** *) // fun {a:t0p} gequal_val_val (x: a, y: a):<> bool // fun {a:vt0p} gequal_ref_ref (x: &INV(a), y: &a):<> bool // (* ****** ****** *) fun{a:t0p} tostring_val (x: a):<> string fun{a:vt0p} tostring_ref (x: &INV(a)):<> string (* ****** ****** *) fun{a:t0p} tostrptr_val (x: a): Strptr1 fun{a:vt0p} tostrptr_ref (x: &INV(a)): Strptr1 (* ****** ****** *) fun{a:t0p} fprint_val (out: FILEref, x: a): void fun{a:vt0p} fprint_ref (out: FILEref, x: &INV(a)): void (* ****** ****** *) (* // fun{a:t0p} print_val (x: a): void // = fprint_val (stdout_ref, x) fun{a:t0p} prerr_val (x: a): void // = fprint_val (stderr_ref, x) // fun{a:vt0p} print_ref (x: &INV(a)): void // = fprint_ref (stdout_ref, x) fun{a:vt0p} prerr_ref (x: &INV(a)): void // = fprint_ref (stderr_ref, x) // *) (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_gen.sats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [basics_gen.sats] *) ATS2-Postiats-0.2.6/./prelude/basics_dyn.sats0000664000175000017500000004177512655455557017426 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: September, 2011 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_dyn.sats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) // sortdef t0p = t@ype and vt0p = vt@ype // (* ****** ****** *) datatype TYPE(a:vt@ype) = TYPE(a) of () (* ****** ****** *) // // HX-2012: In $ATSHOME/ccomp/runtime: // atsbool_true/atsbool_false are mapped to 1/0 // this mapping is fixed and should never be changed! // #define true true_bool // shorthand val true_bool : bool (true) = "mac#atsbool_true" // = 1 // #define false false_bool // shorthand val false_bool : bool (false) = "mac#atsbool_false" // = 0 // (* ****** ****** *) // // HX: [false] implies all // prfun false_elim{X:prop | false} ((*void*)): X // (* ****** ****** *) // praxi lemma_subcls_reflexive{c:cls} ((*void*)): [c <= c] void praxi lemma_subcls_transitive {c1,c2,c3:cls | c1 <= c2; c2 <= c3} (): [c1 <= c3] void // (* ****** ****** *) praxi praxi_int{i:int} ((*void*)): int (i) praxi praxi_bool{b:bool} ((*void*)): bool (b) praxi praxi_ptr{l:addr} ((*void*)): ptr (l) (* ****** ****** *) dataprop EQINT (int, int) = {x:int} EQINT (x, x) // prfun eqint_make {x,y:int | x == y} (): EQINT (x, y) // prfun eqint_make_gint {tk:tk}{x:int} (x: g1int (tk, x)): [y:int] EQINT (x, y) prfun eqint_make_guint {tk:tk}{x:int} (x: g1uint (tk, x)): [y:int] EQINT (x, y) // (* ****** ****** *) dataprop EQADDR (addr, addr) = {x:addr} EQADDR (x, x) // prfun eqaddr_make {x,y:addr | x == y} (): EQADDR (x, y) // prfun eqaddr_make_ptr {x:addr} (x: ptr (x)): [y:addr] EQADDR (x, y) // (* ****** ****** *) dataprop EQBOOL (bool, bool) = {x:bool} EQBOOL (x, x) // prfun eqbool_make {x,y:bool | x == y} (): EQBOOL (x, y) // prfun eqbool_make_bool {x:bool} (x: bool (x)): [y:bool] EQBOOL (x, y) // (* ****** ****** *) prfun prop_verify{b:bool | b} (): void prfun prop_verify_and_add{b:bool | b} (): [b] void (* ****** ****** *) prfun pridentity_v{v:view} (x: !INV(v)): void prfun pridentity_vt{vt:viewt@ype} (x: !INV(vt)): void (* ****** ****** *) dataprop EQTYPE (vt@ype, vt@ype) = {a:vt@ype} EQTYPE (a, a) (* ****** ****** *) castfn viewptr_match {a:vt0p}{l1,l2:addr | l1==l2} (pf: INV(a) @ l1 | p: ptr l2):<> [l:addr | l==l1] (a @ l | ptr l) // end of [viewptr_match] (* ****** ****** *) // val{a:vt@ype} sizeof : size_t (sizeof(a)) // praxi lemma_sizeof{a:vt@ype} (): [sizeof(a) >= 0] void // (* ****** ****** *) praxi topize {a:t@ype} (x: !INV(a) >> a?): void (* ****** ****** *) castfn dataget {a:vt@ype} (x: !INV(a) >> a): a?! (* ****** ****** *) // // HX: returning the pf to GC // praxi mfree_gc_v_elim {l:addr} (pf: mfree_gc_v l): void // end of [mfree_gc_v_elim] (* ****** ****** *) praxi mfree_gcngc_v_nullify {l:addr} ( pf1: mfree_gc_v (l), pf1: mfree_ngc_v (l) ) : void // end of [mfree_gcngc_nullify_v] (* ****** ****** *) // fun cloptr_free {a:t0p} (pclo: cloptr (a)): void = "mac#%" // (* ****** ****** *) // fun{a:t0p} lazy_force (lazyval: lazy (a)): a fun{a:vt0p} lazy_vt_force (lazyval: lazy_vt (a)): (a) // (* ****** ****** *) // // HX-2013: // macro implemented in [pats_ccomp_instrset] // fun lazy_vt_free {a:vt0p} (lazyval: lazy_vt (a)): void = "mac#%" overload ~ with lazy_vt_free // (* ****** ****** *) // // HX-2014: // macro implemented in [pats_ccomp_instrset] // fun lazy2cloref {a:t0p}(lazy(a)): ((*void*)) - (a) = "mac#%" // (* ****** ****** *) (* // HX-2012-05-23: this seems TOO complicated! (* ** HX-2012-03: handling read-only views and vtypes *) castfn read_getval // copy out a non-linear value {a:t@ype}{s:int}{n:int} (x: !READ (a, s, n)):<> a // end of [read_getval] praxi read_takeout{v:view} (pf: !v >> READOUT (v, s)): #[s:int] READ (v, s, 0) // end of [read_takeout] praxi read_addback // HX: there is no need to check {v1:view}{v2:view}{s:int} // if v1 and v2 match (pf1: !READOUT (v1, s) >> v1, pf2: READ (v2, s, 0)): void // end of [read0_addback] praxi read_split {v:view}{s:int}{n:int} (pf: !READ (v, s, n) >> READ (v, s, n+1)): READ (v, s, 0) // end of [read_split] praxi read_unsplit // HX: there is no need to check {v1:view}{v2:view}{s:int}{n1,n2:int} // if v1 and v2 match (pf1: READ (v1, s, n1), pf2: READ (v2, s, n2)): READ (v1, s, n1+n2-1) // end of [read_unsplit] *) (* ****** ****** *) // castfn stamp_t{a:t@ype}(x: a):<> stamped_t(a) castfn stamp_vt{a:vt@ype}(x: a):<> stamped_vt(a) // (* ****** ****** *) castfn unstamp_t {a:t@ype}{x:int} (x: stamped_t (INV(a), x)):<> a // end of [unstamp_t] castfn unstamp_vt {a:vt@ype}{x:int} (x: stamped_vt (INV(a), x)):<> a // end of [unstamp_vt] (* ****** ****** *) // castfn stamped_t2vt {a:t@ype}{x:int} (x: stamped_t(INV(a), x)):<> stamped_vt (a, x) // end of [stamped_t2vt] // castfn stamped_vt2t {a:t@ype}{x:int} (x: stamped_vt(INV(a), x)):<> stamped_t (a, x) // end of [stamped_vt2t] // fun{a:t@ype} stamped_vt2t_ref{x:int} (x: &stamped_vt(INV(a), x)):<> stamped_t (a, x) // (* ****** ****** *) // praxi vcopyenv_v_decode{v:view} (x: vcopyenv_v (v)): vtakeout0 (v) castfn vcopyenv_vt_decode{vt:vt0p} (x: vcopyenv_vt (vt)): vttakeout0 (vt) // overload decode with vcopyenv_v_decode overload decode with vcopyenv_vt_decode // (* ****** ****** *) // // HX: the_null_ptr = (void*)0 // val the_null_ptr : ptr (null) = "mac#atsptr_null" // (* ****** ****** *) praxi lemma_addr_param{l:addr} (): [l >= null] void (* ****** ****** *) praxi lemma_string_param {n:int} (x: string(n)): [n >= 0] void // end of [lemma_string_param] praxi lemma_stropt_param {n:int} (x: stropt(n)): [n >= ~1] void // end of [lemma_stropt_param] (* ****** ****** *) dataprop SGN (int, int) = | SGNzero (0, 0) | {i:neg} SGNneg (i, ~1) | {i:pos} SGNpos (i, 1) // end of [SGN] // end of [dataprop] (* ****** ****** *) // // HX-2012-06: // indication of the failure of exception AssertExn of () // an assertion // (* ****** ****** *) // // HX-2012-06: // indication of something expected exception NotFoundExn of () // to be found but not // (* ****** ****** *) // exception GenerallyExn of (string) // for unspecified causes (* exception GenerallyExn2 of (string, ptr(*data*)) // for unspecified causes *) // (* ****** ****** *) // // HX-2012-07: // indication of a function argument being exception IllegalArgExn of (string) // out of its domain // (* ****** ****** *) praxi __vfree_exn (x: exn):<> void // for freeing nullary exception-con (* ****** ****** *) // datatype unit = unit of () dataprop unit_p = unit_p of () dataview unit_v = unit_v of () prfun unit_v_elim (pf: unit_v): void // (* ****** ****** *) // abstype boxed_t0ype_type(a:t@ype+) = unit absvtype boxed_vt0ype_vtype(a:vt@ype+) = unit // vtypedef boxed(a:vt@ype) = boxed_vt0ype_vtype(a) vtypedef boxed_vt(a:vt@ype) = boxed_vt0ype_vtype(a) // typedef boxed(a:t@ype) = boxed_t0ype_type(a) typedef boxed_t(a:t@ype) = boxed_t0ype_type(a) // fun{a:type} box: (INV(a)) -> boxed_t(a) fun{a:type} unbox: boxed_t(INV(a)) -> (a) fun{a:vtype} box_vt: (INV(a)) -> boxed_vt(a) fun{a:vtype} unbox_vt: boxed_vt(INV(a)) -> (a) // (* ****** ****** *) // typedef array (a, n) = @[a][n] viewdef array_v (a:vt@ype, l:addr, n:int) = @[a][n] @ l // absvtype arrayptr_vt0ype_addr_int_vtype (a:vt0ype+, l:addr, n:int(*size*)) = ptr (l) stadef arrayptr = arrayptr_vt0ype_addr_int_vtype vtypedef arrayptr (a:vt0p, n:int) = [l:addr] arrayptr (a, l, n) // abstype arrayref_vt0ype_int_type (a:vt@ype(*elt*), n:int(*size*)) = ptr stadef arrayref = arrayref_vt0ype_int_type // abstype arrszref_vt0ype_type (a: vt@ype) = ptr stadef arrszref = arrszref_vt0ype_type // (* ****** ****** *) // datatype // t@ype+: covariant list_t0ype_int_type (a:t@ype+, int) = | list_nil(a, 0) of () | {n:int | n >= 0} list_cons(a, n+1) of (a, list_t0ype_int_type (a, n)) // end of [datatype] stadef list = list_t0ype_int_type typedef List (a:t0p) = [n:int] list (a, n) typedef List0 (a:t0p) = [n:int | n >= 0] list (a, n) typedef List1 (a:t0p) = [n:int | n >= 1] list (a, n) typedef listLt (a:t0p, n:int) = [k:nat | k < n] list (a, k) typedef listLte (a:t0p, n:int) = [k:nat | k <= n] list (a, k) typedef listGt (a:t0p, n:int) = [k:int | k > n] list (a, k) typedef listGte (a:t0p, n:int) = [k:int | k >= n] list (a, k) typedef listBtw (a:t0p, m:int, n:int) = [k:int | m <= k; k < n] list (a, k) typedef listBtwe (a:t0p, m:int, n:int) = [k:int | m <= k; k <= n] list (a, k) // (* ****** ****** *) // datavtype // vt@ype+: covariant list_vt0ype_int_vtype (a:vt@ype+, int) = | list_vt_nil (a, 0) of () | {n:int | n >= 0} list_vt_cons (a, n+1) of (a, list_vt0ype_int_vtype (a, n)) // end of [list_vt0ype_int_vtype] stadef list_vt = list_vt0ype_int_vtype vtypedef List_vt (a:vt0p) = [n:int] list_vt (a, n) vtypedef List0_vt (a:vt0p) = [n:int | n >= 0] list_vt (a, n) vtypedef List1_vt (a:vt0p) = [n:int | n >= 1] list_vt (a, n) vtypedef listLt_vt (a:vt0p, n:int) = [k:nat | k < n] list_vt (a, k) vtypedef listLte_vt (a:vt0p, n:int) = [k:nat | k <= n] list_vt (a, k) vtypedef listGt_vt (a:vt0p, n:int) = [k:int | k > n] list_vt (a, k) vtypedef listGte_vt (a:vt0p, n:int) = [k:int | k >= n] list_vt (a, k) vtypedef listBtw_vt (a:vt0p, m:int, n:int) = [k:int | m <= k; k < n] list_vt (a, k) vtypedef listBtwe_vt (a:vt0p, m:int, n:int) = [k:int | m <= k; k <= n] list_vt (a, k) // (* ****** ****** *) // datatype // t@ype+: covariant option_t0ype_bool_type (a:t@ype+, bool) = Some(a, true) of (a) | None(a, false) // end of [datatype] stadef option = option_t0ype_bool_type typedef Option (a:t0p) = [b:bool] option (a, b) // datavtype // vt@ype+: covariant option_vt0ype_bool_vtype (a:vt@ype+, bool) = Some_vt(a, true) of (a) | None_vt(a, false) // end of [option_vt0ype_bool_vtype] stadef option_vt = option_vt0ype_bool_vtype vtypedef Option_vt (a:vt0p) = [b:bool] option_vt (a, b) // (* ****** ****** *) // praxi opt_some {a:vt0p}(x: !INV(a) >> opt(a, true)): void praxi opt_unsome {a:vt0p}(x: !opt(INV(a), true) >> a): void // fun{a:vt0p} opt_unsome_get (x: &opt(INV(a), true) >> a?): (a) // praxi opt_none {a:vt0p} (x: !(a?) >> opt(a, false)): void praxi opt_unnone {a:vt0p} (x: !opt(INV(a), false) >> a?): void // praxi opt_clear {a:t0p}{b:bool}(x: !opt(INV(a), b) >> a?): void // (* ****** ****** *) // dataprop or_prop_prop_int_prop (a0: prop+, a1: prop+, int) = PORleft(a0, a1, 0) of a0 | PORright(a0, a1, 1) of a1 stadef por = or_prop_prop_int_prop // dataview or_view_view_int_view (a0: view+, a1: view+, int) = VORleft(a0, a1, 0) of a0 | VORright(a0, a1, 1) of a1 stadef vor = or_view_view_int_view // dataprop option_prop_bool_prop (a:prop+, bool) = Some_p (a, true) of (a) | None_p (a, false) // end of [option_prop_bool_prop] stadef option_p = option_prop_bool_prop // dataview option_view_bool_view (a:view+, bool) = Some_v (a, true) of (a) | None_v (a, false) // end of [option_view_bool_view] stadef option_v = option_view_bool_view // (* ****** ****** *) // absvt@ype arrayopt (a:vt0p, n:int, b:bool) = array (a, n) // praxi arrayopt_some {a:vt0p}{n:int} (A: &array(a, n) >> arrayopt(a, n, true)): void praxi arrayopt_none {a:vt0p}{n:int} (A: &array(a?, n) >> arrayopt(a, n, false)): void praxi arrayopt_unsome {a:vt0p}{n:int} (A: &arrayopt(a, n, true) >> array(a, n)): void praxi arrayopt_unnone {a:vt0p}{n:int} (A: &arrayopt(a, n, false) >> array(a?, n)): void // (* ****** ****** *) absvtype argv_int_vtype (n:int) = ptr stadef argv = argv_int_vtype (* [argv_takeout_strarr] is declared in prelude/SATS/extern.sats [argv_takeout_parrnull] is declared in prelude/SATS/extern.sats *) (* ****** ****** *) praxi lemma_argv_param {n:int} (argv: !argv(n)): [n >= 0] void // end of [praxi] (* ****** ****** *) // fun argv_get_at{n:int} (argv: !argv (n), i: natLt n):<> string = "mac#%" fun argv_set_at{n:int} (argv: !argv (n), i: natLt n, x: string): void = "mac#%" // overload [] with argv_get_at overload [] with argv_set_at // (* ****** ****** *) // symintr main0 // fun main_void_0 ((*void*)): void = "ext#mainats_void_0" fun main_argc_argv_0 {n:int | n >= 1} (argc: int n, argv: !argv(n)): void = "ext#mainats_argc_argv_0" overload main0 with main_void_0 overload main0 with main_argc_argv_0 // (* ****** ****** *) // symintr main // fun main_void_int ((*void*)): int = "ext#mainats_void_int" fun main_argc_argv_int {n:int | n >= 1} (argc: int n, argv: !argv(n)): int = "ext#mainats_argc_argv_int" fun main_argc_argv_envp_int {n:int | n >= 1} (argc: int n, argv: !argv n, envp: ptr): int = "ext#mainats_argc_argv_envp_int" overload main with main_void_int overload main with main_argc_argv_int overload main with main_argc_argv_envp_int // (* ****** ****** *) fun exit (ecode: int): {a:t0p}(a) = "mac#%" fun exit_errmsg (ecode: int, msg: string): {a:t0p}(a) = "mac#%" (* fun exit_fprintf{ts:types} ( ecode: int, out: FILEref, fmt: printf_c ts, args: ts ) : {a:vt0p}(a) = "mac#%" // end of [exit_fprintf] *) (* *****p* ****** *) // fun exit_void (ecode: int): void = "mac#%" fun exit_errmsg_void (ecode: int, msg: string): void = "mac#%" // (* ****** ****** *) fun assert_bool0 (x: bool): void = "mac#%" fun assert_bool1 {b:bool} (x: bool (b)): [b] void = "mac#%" // overload assert with assert_bool0 of 0 overload assert with assert_bool1 of 10 // (* ****** ****** *) fun{} assertexn_bool0 (x: bool): void fun{} assertexn_bool1 {b:bool} (x: bool (b)): [b] void // symintr assertexn overload assertexn with assertexn_bool0 of 0 overload assertexn with assertexn_bool1 of 10 // (* ****** ****** *) // symintr assert_errmsg // fun assert_errmsg_bool0 (x: bool, msg: string): void = "mac#%" fun assert_errmsg_bool1 {b:bool} (x: bool b, msg: string): [b] void = "mac#%" // overload assert_errmsg with assert_errmsg_bool0 of 0 overload assert_errmsg with assert_errmsg_bool1 of 10 // (* ****** ****** *) fun assert_errmsg2_bool0 (x: bool, msg1: string, msg2: string): void = "mac#%" fun assert_errmsg2_bool1{b:bool} (x: bool b, msg1: string, msg2: string): [b] void = "mac#%" // symintr assert_errmsg2 overload assert_errmsg2 with assert_errmsg2_bool0 of 0 overload assert_errmsg2 with assert_errmsg2_bool1 of 10 // (* ****** ****** *) datasort file_mode = | file_mode_r (* read *) | file_mode_w (* write *) | file_mode_rw (* read and write *) // end of [file_mode] (* ****** ****** *) local // stadef r() = file_mode_r() stadef w() = file_mode_w() stadef rw() = file_mode_rw() // in (* in-of-local *) (* ****** ****** *) abstype file_mode (file_mode) = string typedef file_mode = [fm:file_mode] file_mode (fm) (* ****** ****** *) sortdef fmode = file_mode typedef fmode (fm:fmode) = file_mode (fm) typedef fmode = file_mode (* ****** ****** *) dataprop file_mode_lte (fmode, fmode) = | {m:fmode} file_mode_lte_refl (m, m) | {m1,m2,m3:fmode} file_mode_lte_tran (m1, m3) of (file_mode_lte (m1, m2), file_mode_lte (m2, m3)) | {m:fmode} file_mode_lte_rw_r (rw(), r()) of () | {m:fmode} file_mode_lte_rw_w (rw(), w()) of () // end of [file_mode_lte] (* ****** ****** *) // prval file_mode_lte_r_r : file_mode_lte (r(), r()) // impled in [filebas_prf.dats] prval file_mode_lte_w_w : file_mode_lte (w(), w()) // impled in [filebas_prf.dats] prval file_mode_lte_rw_rw : file_mode_lte (rw(), rw()) // impled in [filebas_prf.dats] // (* ****** ****** *) end // end of [local] (* ****** ****** *) abstype FILEref_type = ptr typedef FILEref = FILEref_type (* ****** ****** *) // typedef fprint_type(a: t0p) = (FILEref, a) -> void typedef fprint_vtype(a: vt0p) = (FILEref, !a) -> void // (* ****** ****** *) fun print_newline (): void = "mac#%" fun prerr_newline (): void = "mac#%" fun fprint_newline (out: FILEref): void = "mac#%" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [basics_dyn.sats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [basics_dyn.sats] *) ATS2-Postiats-0.2.6/./prelude/macrodef.sats0000664000175000017500000000464612655455557017064 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: May, 2012 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) // (* ** HX: short form *) // // [orelse] and [andalso] are declared as infix ops // macdef orelse(x, y) = (if ,(x) then true else ,(y)): bool macdef andalso(x, y) = (if ,(x) then ,(y) else false): bool // (* ****** ****** *) macdef assign(lv, rv) = ,(lv) := ,(rv) (* ****** ****** *) macdef exitloc(x) = exit_errmsg (,(x), $mylocation) (* ****** ****** *) macdef assertloc(x) = assert_errmsg (,(x), $mylocation) (* ****** ****** *) // macdef assertlocmsg (x, msg) = assert_errmsg2 (,(x), $mylocation, ,(msg)) macdef assertmsgloc (x, msg) = assert_errmsg2 (,(x), ,(msg), $mylocation) // (* ****** ****** *) macdef ignoret(x) = let val x = ,(x) in (*nothing*) end (* ****** ****** *) macdef foldret(x) = let val x = ,(x) in fold@ (x); x end (* ****** ****** *) // macdef showtype(x) = $showtype ,(x) // macdef showview(x) = pridentity_v ($showtype ,(x)) // macdef showvtype(x) = pridentity_vt ($showtype ,(x)) macdef showviewtype(x) = pridentity_vt ($showtype ,(x)) // (* ****** ****** *) (* end of [macrodef.sats] *) ATS2-Postiats-0.2.6/./prelude/DATS/0000775000175000017500000000000012655455557015131 5ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/DATS/option_vt.dats0000664000175000017500000000573012655455557020034 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/option_vt.atxt ** Time of generation: Sun Aug 9 17:18:44 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) implement{a} option_vt_some (x) = Some_vt (x) implement{a} option_vt_none ( ) = None_vt ( ) (* ****** ****** *) implement {a}(*tmp*) option_vt_make_opt (b, x) = ( if b then let prval () = opt_unsome{a}(x) in Some_vt{a}(x) end else let prval () = opt_unnone{a}(x) in None_vt{a}( ) end // end of [if] ) (* end of [option_vt_make_opt] *) (* ****** ****** *) implement {}(*tmp*) option_vt_is_some (opt) = case+ opt of | Some_vt _ => true | None_vt _ => false // end of [option_is_some] implement{} option_vt_is_none (opt) = case+ opt of | Some_vt _ => false | None_vt _ => true // end of [option_is_none] (* ****** ****** *) implement {a}(*tmp*) option_vt_unsome (opt) = x where { val+ ~Some_vt (x) = opt } // end of [option_unsome] implement {a}(*tmp*) option_vt_unnone (opt) = () where { val+ ~None_vt () = opt } // end of [option_unnone] (* ****** ****** *) implement {a}(*tmp*) option_vt_free (opt) = ( case+ opt of ~Some_vt _ => () | ~None_vt () => () ) // end of [option_vt_free] (* ****** ****** *) implement {a}(*tmp*) fprint_option_vt (out, opt) = let in // case+ opt of | @Some_vt (x) => { val ( ) = fprint_string (out, "Some_vt(") val () = fprint_ref (out, x) val () = fprint_string (out, ")") prval () = fold@ (opt) } (* end of [Some_vt] *) | None_vt () => { val () = fprint_string (out, "None_vt()") } (* end of [None_vt] *) // end // end of [fprint_option_vt] (* ****** ****** *) (* end of [option_vt.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/grandom.dats0000664000175000017500000000643312655455557017443 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/grandom.atxt ** Time of generation: Sun Jun 28 02:47:46 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2015 *) (* ****** ****** *) implement{} grandom_int() = 0 implement{} grandom_uint() = 0u (* ****** ****** *) implement{} grandom_bool() = false (* ****** ****** *) implement{} grandom_float() = 0.0f implement{} grandom_double() = 0.0 (* ****** ****** *) implement grandom_val () = grandom_int<> () implement grandom_val () = grandom_uint<> () (* ****** ****** *) implement grandom_val () = grandom_bool<> () (* ****** ****** *) implement grandom_val () = grandom_double<> () (* ****** ****** *) implement {a}(*tmp*) grandom_ref(x) = (x := grandom_val ()) (* ****** ****** *) // implement {a}(*tmp*) grandom_list (n) = list_vt2t(grandom_list_vt(n)) // implement {a}(*tmp*) grandom_list_vt (n) = res where { // fun loop {n:nat} .. ( n: int n, res: &ptr? >> list_vt (a, n) ) : void = let in // if n > 0 then let // val () = res := cons_vt{a}{0} (_, _) // end of [val] val+list_vt_cons (x, res1) = res val () = grandom_ref (x) val () = loop (pred (n), res1) // in fold@ (res) end else res := nil_vt((*void*)) // end // end of [loop] // var res: ptr // uninitialized val () = loop (n, res) // } (* end of [grandom_list_vt] *) // (* ****** ****** *) implement {a}(*tmp*) grandom_arrayptr (n) = A where { // val A = arrayptr_make_uninitized (n) // implement array_initize$init (_, x) = grandom_ref (x) // prval pf = arrayptr_takeout (A) val () = array_initize (!(ptrcast(A)), n) prval () = arrayptr_addback (pf | A) // } (* end of [grandom_arrayptr] *) implement {a}(*tmp*) grandom_arrayref (n) = arrayptr_refize(grandom_arrayptr (n)) // end of [grandom_arrayref] implement {a}(*tmp*) grandom_arrszref (n) = let val n = g1ofg0_uint (n) in arrszref_make_arrayref (grandom_arrayref (n), n) end // end of [grandom_arrszref] (* ****** ****** *) (* end of [grandom.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/list.dats0000664000175000017500000011537412655455557016774 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list.atxt ** Time of generation: Sat Nov 14 20:11:42 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload _(*anon*) = "prelude/DATS/unsafe.dats" (* ****** ****** *) abstype List0_(a:t@ype+) = List0(a) (* ****** ****** *) implement {x}(*tmp*) list_make_sing (x) = list_vt_cons{x}(x, list_vt_nil) implement {x}(*tmp*) list_make_pair (x1, x2) = list_vt_cons{x}(x1, list_vt_cons{x}(x2, list_vt_nil)) (* ****** ****** *) implement {x}(*tmp*) list_make_elt {n} (n, x) = let fun loop {i:nat | i <= n} .. ( i: int i, x: x, res: list_vt (x, n-i) ) :<> list_vt (x, n) = ( if i > 0 then loop (pred(i), x, list_vt_cons (x, res)) else res // end of [if] ) // end of [loop] in loop (n, x, list_vt_nil ()) end // end of [list_make_elt] (* ****** ****** *) implement {}(*tmp*) list_make_intrange {l0,r} (l0, r) = let // typedef elt = intBtw (l0, r) vtypedef res (l:int) = list_vt (elt, r-l) fun loop { l:int | l0 <= l; l <= r } .. ( l: int l, r: int r, res: &ptr? >> res (l) ) : void = if l < r then let val () = res := list_vt_cons{elt}{0}(l, _) val+list_vt_cons (_, res1) = res val () = loop (l+1, r, res1) in fold@ (res) end else (res := list_vt_nil) // end of [loop] // var res: ptr val () = $effmask_wrt (loop (l0, r, res)) // in res end // end of [list_make_intrange] (* ****** ****** *) implement {a}(*tmp*) list_make_array {n} (A, n) = let // prval () = lemma_array_param (A) vtypedef res (n:int) = list_vt (a, n) fun loop {l:addr} {n:nat} .. ( pf: !array_v (a, l, n) >> array_v (a?!, l, n) | p: ptr l , n: size_t n , res: &ptr? >> res(n) ) : void = if n > 0 then let prval ( pf1, pf2 ) = array_v_uncons (pf) val () = res := list_vt_cons{a}{0}(_, _) val+list_vt_cons (x, res1) = res val () = x := !p val () = loop (pf2 | ptr1_succ (p), pred(n), res1) prval () = pf := array_v_cons (pf1, pf2) prval () = fold@ (res) in // nothing end else let prval () = array_v_unnil (pf) prval () = pf := array_v_nil () in res := list_vt_nil () end // end of [if] // end of [loop] var res: ptr // uninitialized val () = loop (view@(A) | addr@(A), n, res) // in res end // end of [list_make_array] (* ****** ****** *) implement {a}(*tmp*) list_make_arrpsz {n} (A0) = let // var asz: size_t val A = arrpsz_get_ptrsize (A0, asz) val p = arrayptr2ptr (A) prval pfarr = arrayptr_takeout (A) val res = list_make_array (!p, asz) prval () = arrayptr_addback (pfarr | A) val () = arrayptr_free (A) // in res end // end of [list_make_arrpsz] (* ****** ****** *) implement {a}(*tmp*) print_list (xs) = fprint_list (stdout_ref, xs) implement {a}(*tmp*) prerr_list (xs) = fprint_list (stderr_ref, xs) (* ****** ****** *) implement {}(*tmp*) fprint_list$sep (out) = fprint_string (out, ", ") // end of [fprint_list$sep] implement {a}(*tmp*) fprint_list (out, xs) = let // implement(env) list_iforeach$fwork (i, x, env) = let val () = if i > 0 then fprint_list$sep<(*none*)> (out) // end of [val] in fprint_val (out, x) end // end of [list_iforeach$fwork] // val _(*len*) = list_iforeach (xs) // in // nothing end // end of [fprint_list] implement {a}(*tmp*) fprint_list_sep (out, xs, sep) = let // implement fprint_list$sep<(*none*)> (out) = fprint_string (out, sep) // in fprint_list (out, xs) end // end of [fprint_list_sep] (* ****** ****** *) (* // // HX-2012-05: // Compiling this can be a great challenge! // *) implement {a}(*tmp*) fprint_listlist_sep (out, xss, sep1, sep2) = let // implement fprint_val (out, xs) = let val xs = $UN.cast{List0(a)}(xs) in fprint_list_sep (out, xs, sep2) end // end of [fprint_val] // in fprint_list_sep (out, $UN.cast{List(List0_(a))}(xss), sep1) end // end of [fprint_listlist_sep] (* ****** ****** *) implement {}(*tmp*) list_is_nil (xs) = case+ xs of list_nil () => true | _ =>> false // end of [list_is_nil] implement {}(*tmp*) list_is_cons (xs) = case+ xs of list_cons _ => true | _ =>> false // end of [list_is_cons] implement {x}(*tmp*) list_is_sing (xs) = case+ xs of list_sing (x) => true | _ =>> false // end of [list_is_sing] implement {x}(*tmp*) list_is_pair (xs) = case+ xs of list_pair (x1, x2) => true | _ =>> false // end of [list_is_pair] (* ****** ****** *) implement {x}(*tmp*) list_head (xs) = let val+list_cons (x, _) = xs in x end // end of [list_head] implement {x}(*tmp*) list_tail (xs) = let val+list_cons (_, xs) = xs in xs end // end of [list_tail] implement {x}(*tmp*) list_last (xs) = let // fun loop (xs: List1 (x)): x = let val+list_cons (x, xs) = xs in case+ xs of | list_cons _ => loop (xs) | list_nil _ => x end // end of [loop] // in $effmask_all (loop (xs)) end // end of [list_last] (* ****** ****** *) implement {x}(*tmp*) list_head_exn (xs) = ( case+ xs of | list_cons (x, _) => x | _ => $raise ListSubscriptExn() ) (* end of [list_head_exn] *) implement {x}(*tmp*) list_tail_exn (xs) = ( case+ xs of | list_cons (_, xs) => xs | _ => $raise ListSubscriptExn() ) (* end of [list_tail_exn] *) implement {x}(*tmp*) list_last_exn (xs) = ( case+ xs of | list_cons _ => list_last (xs) | _ => $raise ListSubscriptExn() ) (* end of [list_last_exn] *) (* ****** ****** *) implement {a}(*tmp*) list_nth (xs, i) = let // fun loop {n,i:nat | i < n} .. ( xs: list (a, n), i: int i ) :<> a = if i > 0 then let val+list_cons (_, xs) = xs in loop (xs, pred(i)) end else list_head (xs) // in loop (xs, i) end // end of [list_nth] implement {a}(*tmp*) list_nth_opt (xs, i) = let // fun loop {n:nat} .. ( xs: list (a, n), i: intGte(0) ) :<> Option_vt (a) = ( case+ xs of | list_nil () => None_vt () | list_cons (x, xs) => if i = 0 then Some_vt(x) else loop (xs, pred(i)) // end of [list_vt_cons] ) (* end of [loop] *) // prval () = lemma_list_param (xs) // in loop (xs, i) end // end of [list_nth_opt] (* ****** ****** *) implement {a}(*tmp*) list_get_at (xs, i) = list_nth (xs, i) implement {a}(*tmp*) list_get_at_opt (xs, i) = list_nth_opt (xs, i) (* ****** ****** *) implement {a}(*tmp*) list_set_at (xs, i, x_new) = let val (xs1, xs2) = $effmask_wrt (list_split_at (xs, i)) val+list_cons (x_old, xs2) = xs2 val xs2 = list_cons{a}(x_new, xs2) in $effmask_wrt (list_append1_vt (xs1, xs2)) end // ed of [list_set_at] (* ****** ****** *) implement {a}(*tmp*) list_exch_at (xs, i, x_new) = let val (xs1, xs2) = $effmask_wrt (list_split_at (xs, i)) val+list_cons (x_old, xs2) = xs2 val xs2 = list_cons{a}(x_new, xs2) in ($effmask_wrt (list_append1_vt (xs1, xs2)), x_old) end // ed of [list_exch_at] (* ****** ****** *) implement {a}(*tmp*) list_insert_at (xs, i, x) = let // fun loop{n:int} {i:nat | i <= n} .. ( xs: list (a, n) , i: int i, x: a , res: &ptr? >> list (a, n+1) ) : void = // if i > 0 then let val+list_cons(x1, xs1) = xs val () = res := list_cons{a}{0}(x1, _(*?*)) val+list_cons (_, res1) = res // res1 = res.1 val () = loop (xs1, i-1, x, res1) prval () = fold@ (res) in // nothing end // end of [then] else res := list_cons (x, xs) // var res: ptr val () = $effmask_wrt(loop(xs, i, x, res)) // in res end // end of [list_insert_at] (* ****** ****** *) implement {a}(*tmp*) list_remove_at (xs, i) = let // var x0: a // uninitized // in $effmask_wrt(list_takeout_at(xs, i, x0)) end // end of [list_remove_at] (* ****** ****** *) implement {a}(*tmp*) list_takeout_at (xs, i, x0) = let // fun loop{n:int} {i:nat | i < n} .. ( xs: list (a, n) , i: int i, x0: &a? >> a , res: &ptr? >> list (a, n-1) ) : void = let // val+list_cons (x, xs) = xs // in // if i > 0 then let val () = res := list_cons{a}{0}(x, _(*?*)) val+list_cons (_, res1) = res // res1 = res.1 val () = loop (xs, i-1, x0, res1) prval () = fold@ (res) in // nothing end else let val () = x0 := x; val () = res := xs in // nothing end // end of [if] // end // end of [loop] // var res: ptr? val () = loop (xs, i, x0, res) // in res end // end of [list_takeout_at] (* ****** ****** *) implement {x}(*tmp*) list_length (xs) = let // prval () = lemma_list_param (xs) // fun loop {i,j:nat} .. ( xs: list (x, i), j: int j ) :<> int (i+j) = ( case+ xs of | list_cons (_, xs) => loop (xs, j+1) | _ =>> j ) // end of [loop] // in loop (xs, 0) end // end of [list_length] (* ****** ****** *) implement {x}(*tmp*) list_copy (xs) = res where { // vtypedef res = List0_vt (x) prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n) , res: &res? >> list_vt (x, n) ) : void = let in // case+ xs of | list_cons (x, xs) => let val () = res := list_vt_cons{x}{0}(x, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, res1) prval () = fold@ (res) in // nothing end // end of [cons] | list_nil () => res := list_vt_nil () // end // end of [loop] // var res: res? ; val () = loop (xs, res) // } // end of [list_copy] (* ****** ****** *) implement {a}(*tmp*) list_append {m,n} (xs, ys) = let val ys = __cast (ys) where { extern castfn __cast (ys: list (a, n)):<> list_vt (a, n) } // end of [where] // end of [val] in $effmask_wrt ( list_of_list_vt (list_append2_vt (xs, ys)) ) // end of [$effmask_wrt] end // end of [list_append] implement {a}(*tmp*) list_append1_vt {m,n} (xs, ys) = let val ys = __cast (ys) where { extern castfn __cast (ys: list (a, n)):<> list_vt (a, n) } // end of [val] in list_of_list_vt (list_vt_append (xs, ys)) end // end of [list_append1_vt] implement {a}(*tmp*) list_append2_vt {m,n} (xs, ys) = let // prval () = lemma_list_param (xs) prval () = lemma_list_vt_param (ys) // fun loop {m:nat} .. ( xs: list (a, m) , ys: list_vt (a, n) , res: &ptr? >> list_vt (a, m+n) ) : void = case+ xs of | list_cons (x, xs) => let val () = res := list_vt_cons{a}{0}(x, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, ys, res1) prval () = fold@ (res) in // nothing end // end of [list_cons] | list_nil () => res := ys // end of [loop] var res: ptr // uninitialized val () = loop (xs, ys, res) // in res end // end of [list_append2_vt] (* ****** ****** *) implement {a}(*tmp*) list_extend (xs, y) = ( list_append2_vt (xs, list_vt_sing (y)) ) // end of [list_extend] (* ****** ****** *) implement {x}(*tmp*) list_reverse (xs) = ( list_reverse_append2_vt (xs, list_vt_nil) ) // end of [list_reverse] (* ****** ****** *) implement {a}(*tmp*) list_reverse_append {m,n} (xs, ys) = let // val ys = __cast (ys) where { extern castfn __cast (ys: list (a, n)):<> list_vt (a, n) } // end of [where] // end of [val] // in // $effmask_wrt ( list_of_list_vt (list_reverse_append2_vt (xs, ys)) ) (* end of [$effmask_wrt] *) // end // end of [list_reverse_append] implement {a}(*tmp*) list_reverse_append1_vt {m,n} (xs, ys) = let // prval ( ) = lemma_list_vt_param (xs) prval () = lemma_list_param (ys) // fun loop{m,n:nat} .. ( xs: list_vt (a, m), ys: list (a, n) ) : list (a, m+n) = let in // case+ xs of | @list_vt_cons (x, xs1) => let val xs1_ = xs1 val ys = __cast (ys) where { extern castfn __cast (ys: list (a, n)):<> list_vt (a, n) } // end of [val] val () = xs1 := ys prval () = fold@ (xs) in loop (xs1_, list_of_list_vt{a}(xs)) end // end of [list_vt_cons] | ~list_vt_nil () => ys // end // end of [loop] // in loop (xs, ys) end // end of [list_reverse_append1_vt] implement {a}(*tmp*) list_reverse_append2_vt (xs, ys) = let // prval () = lemma_list_param (xs) prval () = lemma_list_vt_param (ys) // fun loop {m,n:nat} .. ( xs: list (a, m), ys: list_vt (a, n) ) : list_vt (a, m+n) = case+ xs of | list_cons (x, xs) => loop (xs, list_vt_cons{a}(x, ys)) | list_nil () => ys // end of [list_nil] // end of [loop] in loop (xs, ys) end // end of [list_reverse_append2_vt] (* ****** ****** *) implement {a}(*tmp*) list_concat (xss) = let // prval () = lemma_list_param (xss) // typedef T = List (a) fun aux {n:nat} .. ( xs0: T , xss: list (T, n) ) : List0_vt (a) = let prval () = lemma_list_param (xs0) in case+ xss of | list_cons (xs, xss) => let val res = aux (xs, xss) val ys0 = list_copy (xs0) in list_vt_append (ys0, res) end // end of [list_cons] | list_nil () => list_copy (xs0) end // end of [aux] // in // case+ xss of | list_cons (xs, xss) => aux (xs, xss) | list_nil () => list_vt_nil () // end // end of [list_concat] (* ****** ****** *) implement {a}(*tmp*) list_take (xs, i) = let // fun loop {n:int} {i:nat | i <= n} .. ( xs: list (a, n), i: int i , res: &ptr? >> list_vt (a, i) ) : void = if i > 0 then let val+list_cons (x, xs) = xs val () = res := list_vt_cons{a}{0}(x, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, i-1, res1) val () = fold@ (res) in // nothing end else (res := list_vt_nil ()) // end of [loop] // var res: ptr val () = loop (xs, i, res) // in res end // end of [list_take] implement {a}(*tmp*) list_take_exn {n}{i} (xs, i) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} {i:nat} .. ( xs: list (a, n), i: int i , res: &ptr? >> list_vt (a, j) ) : #[ j:nat | (i <= n && i == j) || (i > n && n == j) ] bool (i <= n) = let // in // if i > 0 then let in // case+ xs of | list_cons (x, xs1) => let val ((*void*)) = res := list_vt_cons{a}{0}(x, _) val+list_vt_cons (_, res1) = res val ans = loop (xs1, i-1, res1) in fold@ (res); ans end // end of [list_cons] | list_nil () => let val ((*void*)) = res := list_vt_nil () in false(*fail*) end // end of [list_nil] // end // end of [then] else let val () = res := list_vt_nil () in true(*succ*) end // end of [else] // end of [if] // end // end of [loop] // var res: ptr val ans = loop{n}{i}(xs, i, res) // in // if ans then res // i <= n && length (res) == i else let val () = list_vt_free (res) in $raise ListSubscriptExn() end // end of [if] // end (* end of [list_take_exn] *) (* ****** ****** *) implement {a}(*tmp*) list_drop (xs, i) = let // fun loop {n:int} {i:nat | i <= n} .. (xs: list (a, n), i: int i):<> list (a, n-i) = if i > 0 then let val+list_cons (_, xs) = xs in loop (xs, i-1) end else xs // end of [if] // in loop (xs, i) end // end of [list_drop] implement {a}(*tmp*) list_drop_exn (xs, i) = let // prval () = lemma_list_param (xs) // fun loop {n:nat}{i:nat} .. ( xs: list (a, n), i: int i ) : [i <= n] list (a, n-i) = if i > 0 then ( case+ xs of | list_cons (_, xs) => loop (xs, i-1) | list_nil () => $raise ListSubscriptExn() ) else (xs) // end of [if] // in loop (xs, i) end // end of [list_drop_exn] (* ****** ****** *) implement {x}(*tmp*) list_split_at (xs, i) = let // fun loop {n:int} {i:nat | i <= n} .. ( xs: list (x, n), i: int i , res: &ptr? >> list_vt (x, i) ) : list (x, n-i) = ( if i > 0 then let val+list_cons (x, xs) = xs val () = res := list_vt_cons{x}{0}(x, _) // end of [val] val+list_vt_cons (_, res1) = res val xs2 = loop (xs, i-1, res1) prval () = fold@ (res) in xs2 end // end of [then] else let val () = res := list_vt_nil () in xs end // end of [else] // end of [if] ) // var res: ptr val xs2 = loop (xs, i, res) // in (res, xs2) end // end of [list_split_at] (* ****** ****** *) implement {x}(*tmp*) list_exists (xs) = let in // case+ xs of | list_cons (x, xs) => if list_exists$pred (x) then true else list_exists (xs) | list_nil () => false // end // end of [list_exists] implement {x}(*tmp*) list_forall (xs) = let in // case+ xs of | list_cons (x, xs) => if list_forall$pred (x) then list_forall (xs) else false | list_nil () => true // end // end of [list_forall] (* ****** ****** *) implement {a}(*tmp*) list_equal$eqfn = gequal_val_val implement {x}(*tmp*) list_equal (xs1, xs2) = let in // case+ xs1 of | list_cons (x1, xs1) => ( case+ xs2 of | list_cons (x2, xs2) => let val iseq = list_equal$eqfn (x1, x2) in if iseq then list_equal (xs1, xs2) else false end | list_nil () => false ) // end of [list_cons] | list_nil ((*void*)) => ( case+ xs2 of list_cons _ => false | list_nil () => true ) // end of [list_nil] // end // end of [list_equal] (* ****** ****** *) implement {x}(*tmp*) list_find_exn (xs) = let in // case+ xs of | list_cons (x, xs) => if list_find$pred (x) then x else list_find_exn (xs) | list_nil () => $raise NotFoundExn() // end // end of [list_find_exn] implement {x}(*tmp*) list_find_opt (xs) = let in // case+ xs of | list_cons (x, xs) => if list_find$pred (x) then Some_vt{x}(x) else list_find_opt (xs) | list_nil () => None_vt(*void*) // end // end of [list_find_opt] (* ****** ****** *) implement {key}(*tmp*) list_assoc$eqfn = gequal_val_val implement {key,itm} list_assoc (kxs, k0, x0) = let // fun loop ( kxs: List @(key, itm) , k0: key, x0: &itm? >> opt (itm, b) ) : #[b:bool] bool(b) = ( case+ kxs of | list_cons (kx, kxs) => let val iseq = list_assoc$eqfn (k0, kx.0) in if iseq then let val () = x0 := kx.1 prval () = opt_some{itm}(x0) in true end // end of [then] else loop (kxs, k0, x0) // end of [if] end // end of [list_cons] | list_nil ((*void*)) => let prval () = opt_none{itm}(x0) in false end // end of [list_nil] ) (* end of [loop] *) // in $effmask_all (loop (kxs, k0, x0)) end // end of [list_assoc] (* ****** ****** *) implement {key,itm} list_assoc_exn (kxs, k0) = let var x0: itm? val ans = list_assoc (kxs, k0, x0) in // if ans then let prval () = opt_unsome{itm}(x0) in x0 end // end of [then] else let prval () = opt_unnone{itm}(x0) in $raise NotFoundExn() end // end of [else] // end // end of [list_assoc_exn] (* ****** ****** *) implement {key,itm} list_assoc_opt (kxs, k0) = let var x0: itm? val ans = list_assoc (kxs, k0, x0) in // if ans then let prval () = opt_unsome{itm}(x0) in Some_vt{itm}(x0) end // end of [then] else let prval () = opt_unnone{itm}(x0) in None_vt((*void*)) end // end of [else] // end // end of [list_assoc_opt] (* ****** ****** *) implement {x}(*tmp*) list_filter {n} (xs) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n) , res: &ptr? >> listLte_vt (x, n) ) : void = ( case+ xs of | list_cons (x, xs) => let val test = list_filter$pred (x) in case+ test of | true => let val () = res := list_vt_cons{x}{0}(x, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, res1) prval () = fold@ (res) in // nothing end // end of [true] | false => loop (xs, res) end // end of [list_cons] | list_nil () => (res := list_vt_nil) ) // end of [loop] // var res: ptr val () = loop (xs, res) // in res (*listLte_vt(x, n)*) end // end of [list_filter] (* ****** ****** *) implement {x}(*tmp*) list_labelize (xs) = res where { // typedef ix = @(int, x) prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n), i: int , res: &ptr? >> list_vt (ix, n) ) : void = let in case+ xs of | list_cons (x, xs) => let val () = res := list_vt_cons{ix}{0}(_, _) val+list_vt_cons (ix, res1) = res val () = ix.0 := i and () = ix.1 := x val () = loop (xs, i+1, res1) in fold@ (res) end // end of [list_cons] | list_nil () => (res := list_vt_nil) end // end of [loop] // var res: ptr ; val () = loop (xs, 0, res) // } // end of [list_labelize] (* ****** ****** *) implement {x}(*tmp*) list_app (xs) = let // prval () = lemma_list_param (xs) // fun loop{n:nat} .. (xs: list (x, n)): void = ( case+ xs of | list_nil () => () | list_cons (x, xs) => (list_app$fwork(x); loop (xs)) ) (* end of [loop] *) // in loop (xs) end // end of [list_app] (* ****** ****** *) implement {x}(*tmp*) list_app_fun(xs, f) = let // prval () = lemma_list_param (xs) // fun loop{n:nat} .. ( xs: list (x, n), f: (x) - void ) : void = ( // case+ xs of | list_nil () => () | list_cons (x, xs) => (f(x); loop (xs, f)) // ) (* end of [loop] *) // in loop (xs, f) end // end of [list_app_fun] implement {x}(*tmp*) list_app_cloref(xs, f) = let // prval () = lemma_list_param (xs) // fun loop{n:nat} .. ( xs: list (x, n), f: (x) - void ) : void = ( // case+ xs of | list_nil () => () | list_cons (x, xs) => (f(x); loop (xs, f)) // ) (* end of [loop] *) // in loop (xs, f) end // end of [list_app_cloref] (* ****** ****** *) implement {x}{y}(*tmp*) list_map{n}(xs) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n) , res: &ptr? >> list_vt (y, n) ) : void = ( case+ xs of | list_cons (x, xs) => let val y = list_map$fopr (x) val () = res := list_vt_cons{y}{0}(y, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, res1) prval () = fold@ (res) in // nothing end // end of [list_cons] | list_nil () => (res := list_vt_nil) ) // end of [loop] // var res: ptr val () = loop (xs, res) // in res (*list_vt (y, n)*) end // end of [list_map] (* ****** ****** *) implement {x}{y}(*tmp*) list_map_fun (xs, f) = let // implement {x2}{y2} list_map$fopr (x2) = $UN.castvwtp0{y2}(f($UN.cast{x}(x2))) // in list_map (xs) end // end of [list_map_fun] implement {x}{y}(*tmp*) list_map_clo (xs, f) = let // val f = $UN.cast{(x) - y}(addr@f) // implement {x2}{y2} list_map$fopr (x2) = $UN.castvwtp0{y2}(f($UN.cast{x}(x2))) // in list_map (xs) end // end of [list_map_clo] implement {x}{y}(*tmp*) list_map_cloref (xs, f) = let // implement {x2}{y2} list_map$fopr (x2) = $UN.castvwtp0{y2}(f($UN.cast{x}(x2))) // in list_map (xs) end // end of [list_map_cloref] (* ****** ****** *) (* implement {x}{y}(*tmp*) list_map_funenv {v}{vt}{n}{fe} (pfv | xs, f, env) = let // viewtypedef ys = List0_vt (y) // prval () = lemma_list_param (xs) // prove [n >= 0] // end of [prval] fun loop {n:nat} .. ( pfv: !v | xs: list (x, n) , f: (!v | x, !vt) - y , env: !vt , res: &ys? >> list_vt (y, n) ) : void = let in // case+ xs of | list_cons (x, xs) => let val y = f (pfv | x, env) val () = res := list_vt_cons{y}{0}(y, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (pfv | xs, f, env, res1) prval () = fold@ (res) in (*nothing*) end // end of [list_vt_cons] | list_nil ( ) => (res := list_vt_nil ()) // end // end of [loop] // var res: ys // uninitialized val () = loop (pfv | xs, f, env, res) // in res(*list_vt(y,n)*) end // end of [list_map_funenv] *) (* ****** ****** *) implement {x}{y} list_imap{n}(xs) = let // prval () = lemma_list_param (xs) // fun loop {n:nat}{i:nat} .. ( xs: list (x, n), i: int(i) , res: &ptr? >> list_vt (y, n) ) : void = ( case+ xs of | list_cons (x, xs) => let val y = list_imap$fopr (i, x) val () = res := list_vt_cons{y}{0}(y, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, i+1, res1) prval ((*void*)) = fold@ (res) in // nothing end // end of [list_cons] | list_nil () => (res := list_vt_nil) ) // end of [loop] // var res: ptr val () = loop (xs, 0, res) // in res (*list_vt (y, n)*) end // end of [list_imap] (* ****** ****** *) implement {x}{y} list_mapopt{n}(xs) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n) , res: &ptr? >> listLte_vt (y, n) ) : void = let in // case+ xs of | list_cons (x, xs) => let val opt = list_mapopt$fopr (x) // end of [val] in case+ opt of | ~Some_vt (y) => let val () = res := list_vt_cons{y}{0}(y, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (xs, res1) prval () = fold@ (res) in // nothing end // end of [Some_vt] | ~None_vt () => loop (xs, res) end // end of [list_cons] | list_nil () => (res := list_vt_nil) // end // end of [loop] // var res: ptr val () = loop (xs, res) // in res (*listLte_vt(y, n)*) end // end of [list_mapopt] (* ****** ****** *) (* implement {x}{y}(*tmp*) list_mapopt_funenv {v}{vt}{n}{fe} (pfv | xs, f, env) = let // viewtypedef ys = List0_vt (y) // prval () = lemma_list_param (xs) // prove [n >= 0] // end of [prval] fun loop {n:nat} .. ( pfv: !v | xs: list (x, n) , f: (!v | x, !vt) - Option_vt (y) , env: !vt , res: &ys? >> listLte_vt (y, n) ) : void = let in case+ xs of | list_cons (x, xs) => let val opt = f (pfv | x, env) in case+ opt of | ~Some_vt (y) => let val () = res := list_vt_cons{y}{0}(y, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (pfv | xs, f, env, res1) prval () = fold@ (res) in (*nothing*) end // end of [Some_vt] | ~None_vt () => loop (pfv | xs, f, env, res) end // end of [list_vt_cons] | list_nil () => (res := list_vt_nil ()) // end of [list_nil] end // end of [loop] // var res: ys // uninitialized val () = loop (pfv | xs, f, env, res) // in res(*listLte_vt(y,n)*) end // end of [list_mapopt_funenv] *) (* ****** ****** *) implement {x1,x2}{y}(*tmp*) list_map2{n1,n2}(xs1, xs2) = let // prval () = lemma_list_param (xs1) prval () = lemma_list_param (xs2) // fun loop{n1,n2:nat} ( xs1: list (x1, n1) , xs2: list (x2, n2) , res: &ptr? >> list_vt (y, min(n1,n2)) ) : void = let in // case+ (xs1, xs2) of | (list_cons (x1, xs1), list_cons (x2, xs2)) => { val y = list_map2$fopr (x1, x2) val () = res := list_vt_cons{y}{0}(y, _) val+list_vt_cons (_, res1) = res val ((*void*)) = loop (xs1, xs2, res1) prval ((*folded*)) = fold@ (res) } (* end of [cons, cons] *) | (_, _) =>> (res := list_vt_nil((*void*))) // end // end of [loop] // var res: ptr val ((*void*)) = loop (xs1, xs2, res) // in res end // end of [list_map2] (* ****** ****** *) implement {x}(*tmp*) list_tabulate (n) = res where { // fun loop {n:int} {i:nat | i <= n} .. ( n: int n, i: int i , res: &ptr? >> list_vt (x, n-i) ) : void = if n > i then let val x = list_tabulate$fopr (i) val () = res := list_vt_cons{x}{0}(x, _(*?*)) val+list_vt_cons (_, res1) = res // res1 = res.1 val () = loop (n, succ(i), res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil) // var res: ptr val () = loop (n, 0, res) // } // end of [list_tabulate] (* ****** ****** *) implement {a}(*tmp*) list_tabulate_fun (n, f) = let // val f = $UN.cast{int -> a}(f) // implement(a2) list_tabulate$fopr (n) = $UN.castvwtp0{a2}(f(n)) // in list_tabulate (n) end // end of [list_tabulate_fun] implement {a}(*tmp*) list_tabulate_clo (n, f) = let // val f = $UN.cast{int - a}(addr@f) // implement(a2) list_tabulate$fopr (n) = $UN.castvwtp0{a2}(f(n)) // in list_tabulate (n) end // end of [list_tabulate_clo] implement {a}(*tmp*) list_tabulate_cloref (n, f) = let // val f = $UN.cast{int - a}(f) // implement(a2) list_tabulate$fopr (n) = $UN.castvwtp0{a2}(f(n)) // in list_tabulate (n) end // end of [list_tabulate_cloref] (* ****** ****** *) implement {x,y} list_zip (xs, ys) = let // typedef xy = @(x, y) // implement list_zipwith$fopr (x, y) = @(x, y) // in $effmask_all (list_zipwith (xs, ys)) end // end of [list_zip] implement {x,y}{xy} list_zipwith (xs, ys) = let // prval () = lemma_list_param (xs) prval () = lemma_list_param (ys) // fun loop {m,n:nat} .. ( xs: list (x, m) , ys: list (y, n) , res: &ptr? >> list_vt (xy, min(m,n)) ) : void = let in // case+ xs of | list_cons (x, xs) => ( case+ ys of | list_cons (y, ys) => let val xy = list_zipwith$fopr (x, y) // end of [val] val () = res := list_vt_cons{xy}{0}(xy, _(*y*)) val+list_vt_cons (xy, res1) = res // res1 = res.1 val () = loop (xs, ys, res1) in fold@ (res) end // end of [list_cons] | list_nil () => (res := list_vt_nil) ) // end of [list_cons] | list_nil () => (res := list_vt_nil) // end // end of [loop] // var res: ptr val () = loop (xs, ys, res) in res end // end of [list_zipwith] (* ****** ****** *) implement {x,y} list_cross (xs, ys) = let // typedef xy = @(x, y) // implement list_crosswith$fopr (x, y) = @(x, y) // in $effmask_all (list_crosswith (xs, ys)) end // end of [list_cross] implement {x,y}{xy} list_crosswith (xs, ys) = let // prval () = lemma_list_param (xs) prval () = lemma_list_param (ys) // fnx loop1 {m,n:nat} .. ( xs: list (x, m) , ys: list (y, n) , res: &ptr? >> list_vt (xy, m*n) ) : void = let in case+ xs of | list_cons (x, xs) => loop2 (xs, ys, x, ys, res) | list_nil () => (res := list_vt_nil) end // end of [loop1] and loop2 {m,n,n2:nat} .. ( xs: list (x, m) , ys: list (y, n) , x: x, ys2: list (y, n2) , res: &ptr? >> list_vt (xy, m*n+n2) ) : void = let in // case+ ys2 of | list_cons (y, ys2) => let val xy = list_crosswith$fopr (x, y) // end of [val] val () = res := list_vt_cons{xy}{0}(xy, _(*?*)) val+list_vt_cons (_, res1) = res val () = loop2 (xs, ys, x, ys2, res1) prval () = mul_gte_gte_gte {m,n} () in fold@ (res) end // end of [list_cons] | list_nil () => loop1 (xs, ys, res) // end // end of [loop2] // var res: ptr val () = loop1 (xs, ys, res) // in res end // end of [list_crosswith] (* ****** ****** *) implement {x}(*tmp*) list_foreach (xs) = let var env: void = () in list_foreach_env (xs, env) end // end of [list_foreach] implement {x}{env} list_foreach_env (xs, env) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n), env: &env ) : void = let in // case+ xs of | list_cons (x, xs) => let val test = list_foreach$cont (x, env) // end of [val] in if test then let val () = list_foreach$fwork (x, env) in loop (xs, env) end else () // end of [if] end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (xs, env) end // end of [list_foreach_env] (* ****** ****** *) implement {x}{env} list_foreach$cont (x, env) = true (* ****** ****** *) implement {x}(*tmp*) list_foreach_fun (xs, f) = let // fun loop (xs: List(x)): void = // case+ xs of | list_nil () => () | list_cons (x, xs) => (f (x); loop (xs)) // in $effmask_all (loop (xs)) end // end of [list_foreach_fun] implement {x}(*tmp*) list_foreach_cloref (xs, f) = let // fun loop (xs: List(x)): void = // case+ xs of | list_nil () => () | list_cons (x, xs) => (f (x); loop (xs)) // in $effmask_all (loop (xs)) end // end of [list_foreach_cloref] (* ****** ****** *) implement {x}(*tmp*) list_foreach_funenv {v}{vt}{fe} (pfv | xs, f, env) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( pfv: !v | xs: list (x, n) , f: (!v | x, !vt) - void , env: !vt ) : void = case+ xs of | list_cons (x, xs) => let val () = f (pfv | x, env) in loop (pfv | xs, f, env) end // end of [list_cons] | list_nil ((*void*)) => () // end of [loop] in loop (pfv | xs, f, env) end // end of [list_foreach_funenv] (* ****** ****** *) implement {x,y}(*tmp*) list_foreach2 (xs, ys) = let var env: void = () in list_foreach2_env (xs, ys, env) end // end of [list_foreach2] implement {x,y}{env} list_foreach2_env (xs, ys, env) = let // prval () = lemma_list_param (xs) prval () = lemma_list_param (ys) // fun loop {m,n:nat} .. ( xs: list (x, m), ys: list (y, n), env: &env ) : void = let in // case+ xs of | list_cons (x, xs) => ( case+ ys of | list_cons (y, ys) => let val test = list_foreach2$cont (x, y, env) // end of [val] in if test then let val () = list_foreach2$fwork (x, y, env) in loop (xs, ys, env) end else () // end of [if] end // end of [list_cons] | list_nil () => () ) // end of [list_cons] | list_nil () => () // end // end of [loop] // in loop (xs, ys, env) end // end of [list_foreach2_env] (* ****** ****** *) implement {x,y}{env} list_foreach2$cont (x, y, env) = true (* ****** ****** *) implement {x}(*tmp*) list_iforeach (xs) = let var env: void = () in list_iforeach_env (xs, env) end // end of [list_iforeach] implement {x}{env} list_iforeach_env (xs, env) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} {i:nat} .. ( i: int i, xs: list (x, n), env: &env ) : intBtwe(i,n+i) = case+ xs of | list_cons (x, xs) => let val test = list_iforeach$cont (i, x, env) // end of [test] in if test then let val () = list_iforeach$fwork (i, x, env) in loop (succ(i), xs, env) end else (i) // end of [if] end // end of [list_cons] | list_nil () => (i) // number of processed elements // end of [loop] // in loop (0, xs, env) end // end of [list_iforeach_env] (* ****** ****** *) implement {x}{env}(*tmp*) list_iforeach$cont (i, x, env) = true (* ****** ****** *) implement {x}(*tmp*) list_iforeach_funenv {v}{vt}{n}{fe} (pfv | xs, f, env) = let // prval () = lemma_list_param (xs) // fun loop {i:nat | i <= n} .. ( pfv: !v | i: int i , xs: list (x, n-i) , f: (!v | natLt(n), x, !vt) - void , env: !vt ) : int n = case+ xs of | list_cons (x, xs) => let val () = f (pfv | i, x, env) in loop (pfv | i+1, xs, f, env) end // end of [list_cons] | list_nil () => i // = size(xs) // end of [loop] in loop (pfv | 0, xs, f, env) end // end of [list_iforeach_funenv] (* ****** ****** *) implement {x,y}(*tmp*) list_iforeach2 (xs, ys) = let var env: void = () in list_iforeach2_env (xs, ys, env) end // end of [list_iforeach2] implement {x,y}{env} list_iforeach2_env (xs, ys, env) = let // prval () = lemma_list_param (xs) prval () = lemma_list_param (ys) // fun loop {m,n:nat}{i:nat} .. ( i: int i, xs: list (x, m), ys: list (y, n), env: &env ) : intBtwe(i, min(m,n)+i) = let in // case+ xs of | list_cons (x, xs) => ( case+ ys of | list_cons (y, ys) => let val test = list_iforeach2$cont (i, x, y, env) // end of [val] in if test then let val () = list_iforeach2$fwork (i, x, y, env) in loop (succ(i), xs, ys, env) end else (i) // end of [if] end // end of [list_cons] | list_nil () => i // the number of processed elements ) // end of [list_cons] | list_nil () => i // the number of processed elements // end // end of [loop] // in loop (0, xs, ys, env) end // end of [list_iforeach2_env] (* ****** ****** *) implement {x,y}{env} list_iforeach2$cont (i, x, y, env) = true (* ****** ****** *) implement {res}{x} list_foldleft (xs, ini) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} .. ( xs: list (x, n), acc: res ) : res = case+ xs of | list_nil () => acc | list_cons (x, xs) => let val acc = list_foldleft$fopr (acc, x) // end of [val] in loop (xs, acc) end // end of [list_cons] // end of [loop] // in loop (xs, ini) end // end of [list_foldleft] (* ****** ****** *) implement {x}{res} list_foldright (xs, snk) = let // prval () = lemma_list_param (xs) // fun aux {n:nat} .. ( xs: list (x, n), acc: res ) : res = case+ xs of | list_nil () => acc | list_cons (x, xs) => list_foldright$fopr (x, aux (xs, acc)) // end of [list_cons] // end of [aux] // in aux (xs, snk) end // end of [list_foldright] (* ****** ****** *) implement {a}(*tmp*) list_mergesort$cmp (x1, x2) = gcompare_val_val (x1, x2) // end of [list_mergesort$cmp] implement {a}(*tmp*) list_mergesort (xs) = let // val xs = list_copy (xs) // implement list_vt_mergesort$cmp (x1, x2) = list_mergesort$cmp (x1, x2) // in list_vt_mergesort (xs) end // end of [list_mergesort] (* ****** ****** *) implement {a}(*tmp*) list_mergesort_fun (xs, cmp) = let // implement {a2}(*tmp*) list_mergesort$cmp (x1, x2) = let // typedef cmp2 = cmpval(a2) // val cmp2 = $UN.cast{cmp2}(cmp) in cmp2 (x1, x2) // end // end of [list_mergesort$cmp] // in list_mergesort (xs) end // end of [list_mergesort_fun] implement {a}(*tmp*) list_mergesort_cloref (xs, cmp) = let // implement {a2}(*tmp*) list_mergesort$cmp (x1, x2) = let // typedef cmp2 = (a2, a2) - int // val cmp2 = $UN.cast{cmp2}(cmp) in cmp2 (x1, x2) // end // end of [list_mergesort$cmp] // in list_mergesort (xs) end // end of [list_mergesort_cloref] (* ****** ****** *) implement {a}(*tmp*) list_quicksort$cmp (x1, x2) = gcompare_val_val (x1, x2) // end of [list_quicksort$cmp] implement {a}(*tmp*) list_quicksort (xs) = let // val xs = list_copy (xs) // implement list_vt_quicksort$cmp (x1, x2) = list_quicksort$cmp (x1, x2) // in list_vt_quicksort (xs) end // end of [list_quicksort] (* ****** ****** *) implement {a}(*tmp*) list_quicksort_fun (xs, cmp) = let // implement {a2}(*tmp*) list_quicksort$cmp (x1, x2) = let // val cmp = $UN.cast{cmpval(a2)}(cmp) in cmp (x1, x2) // end // end of [list_quicksort$cmp] // in list_quicksort (xs) end // end of [list_quicksort_fun] (* ****** ****** *) (* end of [list.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/checkast.dats0000664000175000017500000001051112655455557017571 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/checkast.atxt ** Time of generation: Sat Jun 27 21:39:27 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) (* staload "prelude/SATS/checkast.sats" *) (* ****** ****** *) implement{tk} checkast_gintLt (x, i, errmsg) = let val x = g1ofg0_int(x) in // if x < i then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintLt] (* ****** ****** *) implement{tk} checkast_gintLte (x, i, errmsg) = let val x = g1ofg0_int(x) in // if x <= i then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintLte] (* ****** ****** *) implement{tk} checkast_gintGt (x, i, errmsg) = let val x = g1ofg0_int(x) in // if x > i then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintGt] (* ****** ****** *) implement{tk} checkast_gintGte (x, i, errmsg) = let val x = g1ofg0_int(x) in // if x >= i then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintGte] (* ****** ****** *) implement{tk} checkast_gintBtw (x, i, j, errmsg) = let val x = g1ofg0_int(x) in // if x >= i then if x < j then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintBtw] (* ****** ****** *) implement{tk} checkast_gintBtwe (x, i, j, errmsg) = let val x = g1ofg0_int(x) in // if x >= i then if x <= j then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end // end of [checkast_gintBtwe] (* ****** ****** *) implement{} checkast_Ptr1 (x, errmsg) = let val x = g1ofg0_ptr(x) in // if x > 0 then (x) else let val () = fprint! (stderr_ref, "exit(ATS): ", errmsg) in exit(1) // end of [val] end // end of [else] // end of [if] // end // end of [checkast_Ptr1] (* ****** ****** *) implement{} checkast_Strptr1 (x, errmsg) = let val p = strptr2ptr(x) in // if p > 0 then (x) else let prval () = strptr_free_null (x) val ((*void*)) = fprint! (stderr_ref, "exit(ATS): ", errmsg) val ((*void*)) = exit_void(1) in $UN.castvwtp0{Strptr1}(0) end // end of [else] // end of [if] // end // end of [checkast_Strptr1] (* ****** ****** *) (* end of [checkast.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/char.dats0000664000175000017500000000663512655455557016735 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/char.atxt ** Time of generation: Sat Jun 27 21:39:23 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{tk} g0int_of_char (c) = __cast (c) where { extern castfn __cast (c: char):<> g0int (tk) } // end of [g0int_of_char] implement{tk} g0int_of_schar (c) = __cast (c) where { extern castfn __cast (c: schar):<> g0int (tk) } // end of [g0int_of_schar] implement{tk} g0int_of_uchar (c) = __cast (c) where { extern castfn __cast (c: uchar):<> g0int (tk) } // end of [g0int_of_uchar] implement{tk} g0uint_of_uchar (c) = __cast (c) where { extern castfn __cast (c: uchar):<> g0uint (tk) } // end of [g0uint_of_uchar] (* ****** ****** *) implement{tk} g1int_of_char1 {c} (c) = __cast (c) where { extern castfn __cast (c: char c):<> g1int (tk, c) } // end of [g1int_of_char1] implement{tk} g1int_of_schar1 {c} (c) = __cast (c) where { extern castfn __cast (c: schar c):<> g1int (tk, c) } // end of [g1int_of_schar1] implement{tk} g1int_of_uchar1 {c} (c) = __cast (c) where { extern castfn __cast (c: uchar c):<> g1int (tk, c) } // end of [g1int_of_uchar1] implement{tk} g1uint_of_uchar1 {c} (c) = __cast (c) where { extern castfn __cast (c: uchar c):<> g1uint (tk, c) } // end of [g1uint_of_uchar1] (* ****** ****** *) implement {}(*tmp*) char2string(c) = $effmask_wrt ( $UN.castvwtp0{string}(char2strptr(c)) ) (* end of [char2string] *) implement {}(*tmp*) char2strptr(c) = let // #define BSZ 16 // typedef cstring = $extype"atstype_string" // var buf = @[byte][BSZ]() val bufp = $UN.cast{cstring}(addr@buf) // val _(*int*) = $extfcall(ssize_t, "snprintf", bufp, BSZ, "%c", c) // in $UN.castvwtp0{Strptr1}(string0_copy($UN.cast{string}(bufp))) end // end of [char2strptr] (* ****** ****** *) // implement fprint_val = fprint_char implement fprint_val = fprint_uchar implement fprint_val = fprint_schar // (* ****** ****** *) (* end of [char.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/giter_list_vt.dats0000664000175000017500000001454212655455557020672 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2012 // (* ****** ****** *) // // HX-2012-05-25: // // for iterators based on singly-linked lists // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/giterator.sats" (* ****** ****** *) sortdef t0p = t@ype sortdef vt0p = viewt@ype stadef itrknd = giter_list_vt_kind stadef itrkpm = giter_list_vt_param (* ****** ****** *) dataviewtype iterk ( a:viewt@ype+, int(*f*), int(*r*) ) = {f,r:int} ITR (a, f, r) of (list_vt (a, f+r), Ptr1) (* ****** ****** *) extern castfn iterk2giter {x:vt0p}{n:int} (xs: iterk (x, 0, n)):<> giter (itrknd, itrkpm(), x, 0, n) // end of [iterk2giter] extern castfn giter2iterk {x:vt0p}{f,r:int} (itr: giter (itrknd, itrkpm(), x, f, r)):<> iterk (x, f, r) // end of [giter2iterk] (* ****** ****** *) implement{x} giter_make_list_vt {n} (xs) = let val itr = ITR {x}{0,n} (xs, _) val+ ITR (xs, p) = itr val () = p := $UN.cast2Ptr1 (addr@ (xs)) prval () = fold@ (itr) in iterk2giter (itr) end // end of [giter_make_list_vt] implement giter_free_list_vt (itr) = let val+ ~ITR (xs, _) = giter2iterk (itr) in xs end // end of [giter_free_list_vt] (* ****** ****** *) extern praxi encode {kpm:tk}{x:vt0p}{f,r:int} (xs: !iterk (x, f, r) >> giter (itrknd, kpm, x, f, r)): void // end of [encode] extern praxi decode {kpm:tk}{x:vt0p}{f,r:int} (itr: !giter (itrknd, kpm, x, f, r) >> iterk (x, f, r)): void // end of [decode] (* ****** ****** *) implement(x) giter_is_atbeg {kpm}{f,r} (itr) = let // prval () = decode (itr) val+ @ITR (xs0, p) = itr val p_xs0 = addr@ (xs0) val p = p prval () = fold@ (itr) prval () = encode (itr) // extern castfn __cast {b:bool} (bool(b)):<> [b==(f==0)] bool (b) // end of [extern] in if p_xs0 = p then __cast(true) else __cast(false) end // end of [giter_is_atbeg] (* ****** ****** *) implement(x) giter_is_atend {kpm}{f,r} (itr) = let // viewtypedef vt = list_vt (x, r) // prval () = decode (itr) val+ ITR (_, p) = itr prval () = encode (itr) val xs = $UN.ptr1_get (p) val isnil = list_vt_is_nil (xs) prval () = __vfree (xs) where { extern praxi __vfree (xs: vt): void // returned back to [!p] } // end of [prval] in isnil end // end of [giter_is_atend] (* ****** ****** *) implement(x) giter_getref {kpm}{f,r} (itr) = let // viewtypedef vt = list_vt (x, r) // prval () = decode (itr) val+ ITR (_, p) = itr prval () = encode (itr) // val xs = $UN.ptr1_get (p) val @list_vt_cons (x, _) = xs val p_x = addr@ (x) prval () = fold@ (xs) prval () = __vfree (xs) where { extern praxi __vfree (xs: vt): void // returned back to [!p] } // end of [prval] in $UN.cast2Ptr1 (p_x) end // end of [giter_getref] (* ****** ****** *) implement(x) giter_inc {kpm}{f,r} (itr) = let // viewtypedef vt = list_vt (x, r) // prval () = decode (itr) val+ @ITR (_, p) = itr val xs = $UN.ptr1_get (p) val+ @list_vt_cons (_, xs1) = xs val () = p := $UN.cast2Ptr1 (addr@ (xs1)) val () = fold@ (itr) prval () = encode (itr) // prval () = fold@ (xs) prval () = __vfree (xs) where { extern praxi __vfree (xs: vt): void // returned back to [!p] } // end of [prval] in // nothing end // end of [giter_inc] (* ****** ****** *) implement(x) giter_getref_inc {kpm}{f,r} (itr) = let // viewtypedef vt = list_vt (x, r) // prval () = decode (itr) val+ @ITR (_, p) = itr val xs = $UN.ptr1_get (p) val+ @list_vt_cons (x, xs1) = xs val p_x = addr@ (x) val () = p := $UN.cast2Ptr1 (addr@ (xs1)) val () = fold@ (itr) prval () = encode (itr) // prval () = fold@ (xs) prval () = __vfree (xs) where { extern praxi __vfree (xs: vt): void // returned back to [!p] } // end of [prval] in $UN.cast2Ptr1 (p_x) end // end of [giter_getref_inc] (* ****** ****** *) implement(x) giter_ins {kpm}{f,r} (itr, x) = let // prval () = lemma_giter_param (itr) (* end of [prval] *) // viewtypedef vt = list_vt (x, r) viewtypedef vt1 = list_vt (x, r+1) prval () = decode (itr) val+ @ITR (xs0, p) = itr val xs = $UN.ptr1_get (p) val () = $UN.ptr1_set (p, list_vt_cons (x, xs)) prval () = let extern praxi __assert (xs0: !list_vt (x, f+r) >> list_vt (x, f+r+1)): void // end of [extern] in __assert (xs0) end // end of [prval] prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_ins] (* ****** ****** *) implement(x) giter_rmv {kpm}{f,r} (itr) = let // viewtypedef vt = list_vt (x, r) viewtypedef vt1 = list_vt (x, r-1) // prval () = decode (itr) val+ @ITR (xs0, p) = itr val xs = $UN.ptr1_get (p) val+ ~list_vt_cons (x, xs1) = xs val () = $UN.ptr1_set (p, xs1) prval () = let extern praxi __assert (xs0: !list_vt (x, f+r) >> list_vt (x, f+r-1)): void // end of [extern] in __assert (xs0) end // end of [prval] prval () = fold@ (itr) prval () = encode (itr) // in x end // end of [giter_rmv] (* ****** ****** *) (* end of [giter_list_vt.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/arrayref.dats0000664000175000017500000002720112655455557017623 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/arrayref.atxt ** Time of generation: Sat Jun 27 21:39:39 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {a}(*tmp*) arrayref_make_elt (asz, x) = arrayptr_refize(arrayptr_make_elt (asz, x)) // end of [arrayref_make_elt] (* ****** ****** *) implement {}(*tmp*) arrayref_make_intrange (l, r) = arrayptr_refize{int}(arrayptr_make_intrange (l, r)) // end of [arrayref_make_intrange] (* ****** ****** *) implement {a}(*tmp*) arrayref_make_list (asz, xs) = arrayptr_refize(arrayptr_make_list (asz, xs)) // end of [arrayref_make_list] implement {a}(*tmp*) arrayref_make_rlist (asz, xs) = arrayptr_refize(arrayptr_make_rlist (asz, xs)) // end of [arrayref_make_rlist] (* ****** ****** *) // implement {a}(*tmp*) arrayref_head(A) = $UN.ptr0_get (arrayref2ptr(A)) implement {a}(*tmp*) arrayref_tail{n}(A) = $UN.cast{arrayref(a,n-1)}(ptr_succ(arrayref2ptr(A))) // (* ****** ****** *) implement {a}{tk}(*tmp*) arrayref_get_at_gint (A, i) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_get_at_gint (!p, i) end // end of [arrayref_get_at_gint] implement {a}{tk}(*tmp*) arrayref_get_at_guint (A, i) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_get_at_guint (!p, i) end // end of [arrayref_get_at_guint] (* ****** ****** *) implement {a}{tk}(*tmp*) arrayref_set_at_gint (A, i, x) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_set_at_gint (!p, i, x) // end // end of [arrayref_set_at_gint] implement {a}{tk}(*tmp*) arrayref_set_at_guint (A, i, x) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_set_at_guint (!p, i, x) // end // end of [arrayref_set_at_guint] (* ****** ****** *) implement {a}{tk}(*tmp*) arrayref_exch_at_gint (A, i, x) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_exch_at_gint (!p, i, x) // end // end of [arrayref_exch_at_gint] implement {a}{tk}(*tmp*) arrayref_exch_at_guint (A, i, x) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_exch_at_guint (!p, i, x) // end // end of [arrayref_exch_at_guint] (* ****** ****** *) implement {a}(*tmp*) arrayref_interchange (A, i, j) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_interchange (!p, i, j) // end // end of [arrayref_interchange] (* ****** ****** *) implement {a}(*tmp*) arrayref_subcirculate (A, i, j) = let // val (vbox pf | p) = arrayref_get_viewptr (A) in array_subcirculate (!p, i, j) // end // end of [arrayref_subcirculate] (* ****** ****** *) implement {a}(*tmp*) fprint_arrayref (out, A, n) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (fprint_array (out, !p, n)) end // end of [fprint_arrayref] implement {a}(*tmp*) fprint_arrayref_sep (out, A, n, sep) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (fprint_array_sep (out, !p, n, sep)) end // end of [fprint_arrayref_sep] (* ****** ****** *) implement {a}(*tmp*) arrayref_copy {n} (A, n) = let // val (pf, fpf | p) = $UN.ptr0_vtake{array(a,n)}(ptrcast(A)) // val (pf2, pf2gc | p2) = array_ptr_alloc (n) val ((*void*)) = array_copy (!p2, !p, n) // prval ((*void*)) = fpf (pf) // in $UN.castvwtp0{arrayptr(a,n)}((pf2, pf2gc | p2)) end // end of [arrayref_copy] (* ****** ****** *) implement {a}(*tmp*) arrayref_tabulate (asz) = arrayptr_refize (arrayptr_tabulate (asz)) // end of [arrayref_tabulate] implement {a}(*tmp*) arrayref_tabulate_cloref (asz, f) = arrayptr_refize (arrayptr_tabulate_cloref (asz, f)) // end of [arrayref_tabulate_cloref] (* ****** ****** *) implement {a}(*tmp*) arrayref_foreach (A, asz) = let var env: void = () in arrayref_foreach_env (A, asz, env) end // end of [arrayref_foreach] implement {a}{env} arrayref_foreach_env (A, asz, env) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (array_foreach_env (!p, asz, env)) end // end of [arrayref_foreach_env] (* ****** ****** *) implement {a}(*tmp*) arrayref_iforeach (A, asz) = let var env: void = () in arrayref_iforeach_env (A, asz, env) end // end of [arrayref_iforeach] implement {a}{env} arrayref_iforeach_env (A, asz, env) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (array_iforeach_env (!p, asz, env)) end // end of [arrayref_iforeach_env] (* ****** ****** *) implement {a}(*tmp*) arrayref_rforeach (A, asz) = let var env: void = () in arrayref_rforeach_env (A, asz, env) end // end of [arrayref_rforeach] implement {a}{env} arrayref_rforeach_env (A, asz, env) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (array_rforeach_env (!p, asz, env)) end // end of [arrayref_rforeach_env] (* ****** ****** *) implement {a}(*tmp*) arrayref_quicksort (A, asz) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (array_quicksort (!p, asz)) end // end of [arrayref_quicksort] (* ****** ****** *) local datatype arrszref ( a:viewt@ype ) = {n:int} ARRSZREF of (arrayref (a, n), size_t (n)) // end of [arrszref] assume arrszref_vt0ype_type = arrszref in (* in of [local] *) implement {}(*tmp*) arrszref_make_arrpsz (psz) = let // var asz: size_t val A = arrpsz_get_ptrsize (psz, asz) val A = arrayptr_refize (A) // in ARRSZREF(A, asz) end // end of [arrszref_make_arrpsz] (* ****** ****** *) // implement {}(*tmp*) arrszref_make_arrayref (A, asz) = ARRSZREF(A, asz) // (* ****** ****** *) implement {}(*tmp*) arrszref_get_ref (ASZ) = let // val+ ARRSZREF(A, _) = ASZ in $UN.cast2Ptr1(A) // end // end of [arrszref_get_size] (* ****** ****** *) implement {}(*tmp*) arrszref_get_size (ASZ) = let // val+ARRSZREF(_, n) = ASZ in (n) // end // end of [arrszref_get_size] (* ****** ****** *) implement {}(*tmp*) arrszref_get_refsize (ASZ, nref) = let // val+ARRSZREF(A, n) = ASZ // prval () = lemma_arrayref_param (A) // in nref := n; A(*arrayref*) end // end of [arrszref_get_refsize] end // end of [local] (* ****** ****** *) implement {a}(*tmp*) arrszref_make_elt (n, x) = let // val n = g1ofg0_uint (n) val A = arrayref_make_elt (n, x) // in arrszref_make_arrayref (A, n) end // end of [arrszref_make_elt] (* ****** ****** *) implement {a}(*tmp*) arrszref_make_list (xs) = let // val n = list_length (xs) val A = arrayref_make_list (n, xs) // prval () = lemma_list_param (xs) // in arrszref_make_arrayref (A, i2sz(n)) end // end of [arrszref_make_list] implement {a}(*tmp*) arrszref_make_rlist (xs) = let // prval () = lemma_list_param (xs) // val n = list_length (xs) val A = arrayref_make_rlist (n, xs) // in arrszref_make_arrayref (A, i2sz(n)) end // end of [arrszref_make_rlist] (* ****** ****** *) implement {a}(*tmp*) arrszref_get_at_size (ASZ, i) = $effmask_wrt let // var n: size_t val A = arrszref_get_refsize (ASZ, n) val i = g1ofg0_uint (i) // in // if n > i then arrayref_get_at_guint (A, i) else $raise ArraySubscriptExn((*void*)) // end // end of [arrszref_get_at_size] implement {a}{tk} arrszref_get_at_gint (ASZ, i) = let in // if ( i >= 0 ) then ( arrszref_get_at_size (ASZ, g0i2u(i)) ) else ( $raise ArraySubscriptExn((* i < 0 *)) ) // end of [if] end // end of [arrszref_get_at_gint] implement {a}{tk} arrszref_get_at_guint (ASZ, i) = let in arrszref_get_at_size (ASZ, g0u2u(i)) end // end of [arrszref_get_at_guint] (* ****** ****** *) implement {a}(*tmp*) arrszref_set_at_size (ASZ, i, x) = $effmask_wrt let // var n: size_t val A = arrszref_get_refsize (ASZ, n) val i = g1ofg0_uint (i) // in // if n > i then arrayref_set_at_guint (A, i, x) else $raise ArraySubscriptExn((*void*)) // end // end of [arrszref_set_at_size] implement {a}{tk} arrszref_set_at_gint (ASZ, i, x) = let in // if ( i >= 0 ) then ( arrszref_set_at_size (ASZ, g0i2u(i), x) ) else $raise ArraySubscriptExn((*i < 0*)) // end // end of [arrszref_set_at_gint] implement {a}{tk} arrszref_set_at_guint (ASZ, i, x) = let in arrszref_set_at_size (ASZ, g0u2u(i), x) end // end of [arrszref_set_at_guint] (* ****** ****** *) implement {a}(*tmp*) arrszref_exch_at_size (ASZ, i, x) = $effmask_wrt let // var n: size_t val A = arrszref_get_refsize (ASZ, n) val i = g1ofg0_uint (i) // in // if n > i then arrayref_exch_at_guint (A, i, x) else $raise ArraySubscriptExn((*void*)) // end of [if] // end // end of [arrszref_exch_at_size] implement {a}{tk} arrszref_exch_at_gint (ASZ, i, x) = let in // if ( i >= 0 ) then ( arrszref_exch_at_size (ASZ, g0i2u(i), x) ) else $raise ArraySubscriptExn((*i < 0*)) // end // end of [arrszref_exch_at_gint] implement {a}{tk} arrszref_exch_at_guint (ASZ, i, x) = let in arrszref_exch_at_size (ASZ, g0u2u(i), x) end // end of [arrszref_exch_at_guint] (* ****** ****** *) implement {a}(*tmp*) arrszref_interchange ( ASZ, i, j ) = $effmask_wrt let // var n: size_t val A = arrszref_get_refsize (ASZ, n) val i = g1ofg0_uint (i) val j = g1ofg0_uint (j) // in // if n > i then ( if n > j then arrayref_interchange (A, i, j) else $raise ArraySubscriptExn((*void*)) ) else $raise ArraySubscriptExn((*void*)) // end // end of [arrszref_interchange] (* ****** ****** *) implement {a}(*tmp*) arrszref_subcirculate ( ASZ, i, j ) = $effmask_wrt let // var n: size_t val A = arrszref_get_refsize (ASZ, n) val i = g1ofg0_uint (i) val j = g1ofg0_uint (j) // in // if n > i then ( if n > j then arrayref_subcirculate (A, i, j) else $raise ArraySubscriptExn((*void*)) ) else $raise ArraySubscriptExn((*void*)) // end // end of [arrszref_subcirculate] (* ****** ****** *) implement {a}(*tmp*) fprint_arrszref (out, ASZ) = let // var asz: size_t val A = arrszref_get_refsize (ASZ, asz) // in fprint_arrayref (out, A, asz) end // end of [fprint_arrszref] implement {a}(*tmp*) fprint_arrszref_sep (out, ASZ, sep) = let // var asz: size_t val A = arrszref_get_refsize (ASZ, asz) // in fprint_arrayref_sep (out, A, asz, sep) end // end of [fprint_arrszref_sep] (* ****** ****** *) // implement {a}(*tmp*) arrszref_tabulate (asz) = let val asz = g1ofg0_uint (asz) val A = arrayref_tabulate (asz) in arrszref_make_arrayref(A, asz) end // end of [arrszref_tabulate] // implement {a}(*tmp*) arrszref_tabulate_cloref (asz, f) = let val A = arrayref_tabulate_cloref (asz, f) in arrszref_make_arrayref(A, asz) end // end of [arrszref_tabulate_cloref] // (* ****** ****** *) (* end of [arrayref.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/arith_prf.dats0000664000175000017500000001445012655455557017770 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/arith_prf.atxt ** Time of generation: Sat Jun 27 21:39:25 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) primplmnt eqint_make () = EQINT () (* ****** ****** *) primplmnt mul_gte_gte_gte {m,n} () = let prfun loop {m:nat}{p:int} .. (pf: MUL (m, n, p)):<> [p >= 0] void = sif m > 0 then let prval MULind (pf1) = pf in loop (pf1) end else let prval MULbas () = pf in (*nothing*) end // end of [sif] // end of [loop] prval pf = mul_make {m,n} () in loop {m} (pf) end // end of [mul_gte_gte_gte] primplmnt mul_gte_lte_lte {m,n} () = let prfun loop {m:nat}{p:int} .. (pf: MUL (m, n, p)):<> [p <= 0] void = sif m > 0 then let prval MULind (pf1) = pf in loop (pf1) end else let prval MULbas () = pf in (*nothing*) end // end of [sif] // end of [loop] prval pf = mul_make {m,n} () in loop {m} (pf) end // end of [mul_gte_lte_lte] primplmnt mul_lte_gte_lte {m,n} () = mul_gte_lte_lte {n,m} () primplmnt mul_lte_lte_gte {m,n} () = mul_gte_gte_gte {~m,~n} () (* ****** ****** *) primplmnt mul_nat_nat_nat {m,n} (pf) = let prval () = mul_elim (pf) prval () = mul_gte_gte_gte {m,n} () in (*nothing*) end // end of [mul_nat_nat_nat] primplmnt mul_pos_pos_pos {m,n} (pf) = let prval () = mul_elim (pf) prval () = mul_gte_gte_gte {m-1,n-1} () in (*nothing*) end // end of [mul_pos_pos_pos] (* ****** ****** *) primplmnt mul_negate {m,n} (pf) = let prval () = mul_elim (pf) in mul_make {~m,n} () end // end of [mul_negate] primplmnt mul_negate2 {m,n} (pf) = let prval () = mul_elim (pf) in mul_make {m,~n} () end // end of [mul_negate2] (* ****** ****** *) primplmnt mul_commute {m,n} (pf) = let prval () = mul_elim (pf) in mul_make {n,m} () end // end of [mul_commute] primplmnt mul_is_commutative (pf1, pf2) = let prval () = mul_elim (pf1) and () = mul_elim (pf2) in (*nothing*) end // end of [mul_commute] (* ****** ****** *) primplmnt mul_distribute {m}{n1,n2} (pf1, pf2) = let prval () = mul_elim (pf1) and () = mul_elim (pf2) in mul_make {m,n1+n2} () end // end of [mul_distribute] primplmnt mul_distribute2 {m1,m2}{n} (pf1, pf2) = let prval () = mul_elim (pf1) and () = mul_elim (pf2) in mul_make {m1+m2,n} () end // end of [mul_distribute] (* ****** ****** *) primplmnt mul_is_associative {x,y,z}{xy,yz} (pf1, pf2, pf3, pf4) = { prval pf1_alt = mul_make {x,y} () prval EQINT () = mul_isfun2 (pf1, pf1_alt) prval pf2_alt = mul_make {y,z} () prval EQINT () = mul_isfun2 (pf2, pf2_alt) prval pf3_alt = mul_make {xy,z} () prval EQINT () = mul_isfun2 (pf3, pf3_alt) prval pf4_alt = mul_make {x,yz} () prval EQINT () = mul_isfun2 (pf4, pf4_alt) // } // end of [mul_is_associative] (* ****** ****** *) primplmnt lemma_exp2_param (pf) = let prfun aux {n:int} {p:int} .. ( pf: EXP2 (n, p) ) : [n>=0;p>=1] void = case+ pf of | EXP2ind (pf1) => aux (pf1) | EXP2bas () => () // end of [aux] in aux (pf) end // end of [lemma_exp2_param] (* ****** ****** *) primplmnt exp2_istot {n} () = istot {n} () where { prfun istot {n:nat} .. (): [p:nat] EXP2 (n, p) = sif n > 0 then EXP2ind (istot {n-1} ()) else EXP2bas () } // end of [exp2_istot] (* ****** ****** *) primplmnt exp2_isfun (pf1, pf2) = isfun (pf1, pf2) where { prfun isfun {n:nat} {p1,p2:int} .. ( pf1: EXP2 (n, p1), pf2: EXP2 (n, p2) ) : [p1==p2] void = case+ pf1 of | EXP2ind pf1 => let prval EXP2ind pf2 = pf2 in isfun (pf1, pf2) end // end of [EXP2ind] | EXP2bas () => let prval EXP2bas () = pf2 in (* nothing *) end // end of [EXP2bas] // end of [isfun] } // end of [exp2_isfun] (* ****** ****** *) primplmnt exp2_is_mono (pf1, pf2) = aux (pf1, pf2) where { prfun aux {n1:nat;n2:int | n1 <= n2} {p1,p2:int} .. ( pf1: EXP2 (n1, p1), pf2: EXP2 (n2, p2) ) : [p1 <= p2] void = case+ pf2 of | EXP2ind (pf2) => (case+ pf1 of | EXP2ind (pf1) => aux (pf1, pf2) | EXP2bas () => aux (pf1, pf2) ) // end of [EXP2ind] | EXP2bas () => let prval EXP2bas () = pf1 in () end // end of [aux] } // end of [exp2_is_mono] (* ****** ****** *) primplmnt exp2_muladd (pf1, pf2, pf3) = let prfun aux {n1,n2:nat} {p1,p2:int} {p:int} .. ( pf1: EXP2 (n1, p1) , pf2: EXP2 (n2, p2) , pf3: MUL (p1, p2, p) ) : [p>=0] EXP2 (n1+n2, p) = case+ pf2 of | EXP2ind {n21} {p21} (pf21) => let // n2 = n21+1; p2 = p21 + p21 prval pf31 = mul_istot {p1,p21} () prval pf32 = mul_distribute (pf31, pf31) prval () = mul_isfun (pf3, pf32) prval pf1_res = aux (pf1, pf21, pf31) in EXP2ind pf1_res end // end of [EXP2ind] | EXP2bas () => let prval () = lemma_exp2_param (pf1) prval () = mul_elim (pf3) in pf1 end // end of [EXP2bas] // end of [aux] in aux (pf1, pf2, pf3) end // end of [exp2_muladd] (* ****** ****** *) (* end of [arith_prf.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/matrixptr.dats0000664000175000017500000001121112655455557020034 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/matrixptr.atxt ** Time of generation: Sat Jun 27 21:39:42 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{} arrayptr2matrixptr_int (A, m, n) = $UN.castvwtp0 (A) implement{} arrayptr2matrixptr_size (A, m, n) = $UN.castvwtp0 (A) (* ****** ****** *) implement{a} matrixptr_make_elt {m, n} (m, n, x0) = let val mn = $UN.cast{Size}(m * n) in $UN.castvwtp0{matrixptr(a,m,n)}(arrayptr_make_elt (mn, x0)) end // end of [matrixptr_make_elt] (* ****** ****** *) implement{a} matrixptr_get_at_int (A, i, n, j) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_get (ptr_add (ptrcast(A), ij)) end // end of [matrixptr_get_at_int] implement{a} matrixptr_get_at_size (A, i, n, j) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_get (ptr_add (ptrcast(A), ij)) end // end of [matrixptr_get_at_size] (* ****** ****** *) implement{a} matrixptr_set_at_int (A, i, n, j, x) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_set (ptr_add (ptrcast(A), ij), x) end // end of [matrixptr_set_at_int] implement{a} matrixptr_set_at_size (A, i, n, j, x) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_set (ptr_add (ptrcast(A), ij), x) end // end of [matrixptr_set_at_size] (* ****** ****** *) implement{a} matrixptr_exch_at_int (A, i, n, j, x) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_exch (ptr_add (ptrcast(A), ij), x) end // end of [matrixptr_exch_at_int] implement{a} matrixptr_exch_at_size (A, i, n, j, x) = let val ij = $UN.cast{Size}(i * n + j) in $UN.ptr0_exch (ptr_add (ptrcast(A), ij), x) end // end of [matrixptr_exch_at_size] (* ****** ****** *) implement{a} fprint_matrixptr {m,n} (out, M, m, n) = let // val p0 = ptrcast (M) // val ( pf, fpf | p0 ) = $UN.ptr_vtake {matrix(a,m,n)} (p0) val () = fprint_matrix (out, !p0, m, n) prval () = fpf (pf) // in // nothing end // end of [fprint_matrixptr] (* ****** ****** *) implement{a} fprint_matrixptr_sep ( out, M, m, n, sep1, sep2 ) = let // implement fprint_matrix$sep1<> (out) = fprint_string (out, sep1) implement fprint_matrix$sep2<> (out) = fprint_string (out, sep2) // in fprint_matrixptr (out, M, m, n) end // end of [fprint_matrixptr_sep] (* ****** ****** *) (* implement matrixptr_free = ATS_MFREE *) (* ****** ****** *) implement{a} matrixptr_foreach (A, m, n) = let var env: void = () in matrixptr_foreach_env (A, m, n, env) end // end of [matrixptr_foreach] implement {a}{env} matrixptr_foreach_env (A, m, n, env) = res where { val p = ptrcast (A) prval pfarr = matrixptr_takeout (A) val res = matrix_foreach_env (!p, m, n, env) prval () = matrixptr_addback (pfarr | A) } // end of [matrixptr_foreach_env] (* ****** ****** *) implement{a} matrixptr_tabulate (nrow, ncol) = ( matrixptr_encode2(matrix_ptr_tabulate (nrow, ncol)) ) (* end of [matrixptr_tabulate] *) (* ****** ****** *) implement{a} matrixptr_tabulate_cloref {m,n} (nrow, ncol, f) = let // implement(a2) matrix_tabulate$fopr (i, j) = $UN.castvwtp0{a2}(f($UN.cast{sizeLt(m)}(i), $UN.cast{sizeLt(n)}(j))) // in matrixptr_tabulate (nrow, ncol) end // end of [matrixptr_tabulate_cloref] (* ****** ****** *) (* end of [matrixptr.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/filebas.dats0000664000175000017500000004047312655455557017423 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/filebas.atxt ** Time of generation: Sat Jun 27 21:39:27 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) staload STDIO = "libc/SATS/stdio.sats" vtypedef FILEptr1 = $STDIO.FILEptr1 (*linear/nonnull*) (* ****** ****** *) staload STAT = "libc/sys/SATS/stat.sats" (* ****** ****** *) #define c2i char2int0 #define i2c int2char0 (* ****** ****** *) // // HX-2013-06: // this is just Unix convention // implement{} dirsep_get () = '/' implement{} dirname_self () = "." implement{} dirname_parent () = ".." // (* ****** ****** *) implement {}(*tmp*) filename_get_ext (name) = let // #define NUL '\000' overload + with add_ptr_bsz // fun loop ( p1: ptr, p2: ptr, c0: char ) : ptr = let val c = $UN.ptr0_get (p1) in if c != NUL then let val p1 = p1 + i2sz(1) in if c != c0 then loop (p1, p2, c0) else loop (p1, p1, c0) end else p2 // end of [if] end // end of [loop] // val p1 = string2ptr(name) val p2 = $effmask_all (loop (p1, the_null_ptr, '.')) // in $UN.castvwtp0{vStrptr0}(p2) end // end of [filename_get_ext] (* ****** ****** *) implement {}(*tmp*) filename_test_ext (name, ext0) = let // val (fpf | ext) = filename_get_ext (name) // val ans = ( if strptr2ptr(ext) > 0 then eq_string_string (ext0, $UN.strptr2string(ext)) else false // end of [if] ) : bool // end of [val] // prval () = fpf (ext) // in ans end // end of [filename_test_ext] (* ****** ****** *) implement {}(*tmp*) filename_get_base (name) = let // #define NUL '\000' overload + with add_ptr_bsz // fun loop ( p1: ptr, p2: ptr, c0: char ) : ptr = let val c = $UN.ptr0_get (p1) in if c != NUL then let val p1 = p1 + i2sz(1) in if c != c0 then loop (p1, p2, c0) else loop (p1, p1, c0) end else p2 // end of [if] end // end of [loop] // val c0 = dirsep_get<> () val p1 = string2ptr(name) val p2 = $effmask_all (loop (p1, p1, c0)) // in $UN.castvwtp0{vStrptr1}(p2) end // end of [filename_get_base] (* ****** ****** *) implement {}(*tmp*) filename_test_base (name, base0) = let // val (fpf | base) = filename_get_base (name) // val ans = eq_string_string (base0, $UN.strptr2string(base)) // prval () = fpf (base) // in ans end // end of [filename_test_base] (* ****** ****** *) (* // // HX-2013-04: // this is now implemented in [filebas.cats]. // local extern castfn file_mode {fm:file_mode} (x: string):<> file_mode (fm) // end of [extern] in (* in of [local] *) implement file_mode_r = file_mode ("r") implement file_mode_rr = file_mode ("r+") implement file_mode_w = file_mode ("w") implement file_mode_ww = file_mode ("w+") implement file_mode_a = file_mode ("a") implement file_mode_aa = file_mode ("a+") end // end of [local] *) (* ****** ****** *) extern castfn __cast_filp (r: FILEref): FILEptr1 (* ****** ****** *) implement {}(*tmp*) test_file_mode (path) = let // typedef stat = $STAT.stat // var st: stat? val err = $STAT.stat (path, st) // in // if err >= 0 then let prval () = opt_unsome{stat}(st) val test = test_file_mode$pred<> ($UN.cast{uint}(st.st_mode)) in if test then 1(*true*) else 0(*false*) end // end of [then] else let prval () = opt_unnone{stat}(st) in ~1(*failure*) end // end of [else] // end // end of [test_file_mode] (* ****** ****** *) implement {}(*tmp*) fileref_open_opt (path, fm) = let // val filp = $STDIO.fopen (path, fm) val isnot = $STDIO.FILEptr2ptr(filp) > 0 // in // if isnot then let // val filr = $STDIO.FILEptr_refize(filp) // in Some_vt{FILEref}(filr) // success end // end of [then] else let // prval () = $STDIO.FILEptr_free_null(filp) // in None_vt{FILEref}((*void*)) // failure end // end of [else] // end // end of [fileref_open_opt] (* ****** ****** *) (* // // HX: atspre_fileref_close // implement fileref_close (fil) = $STDIO.fclose0_exn (fil) *) (* ****** ****** *) (* // // HX: atspre_fileref_flush // implement fileref_flush (fil) = $STDIO.fflush0_exn (fil) *) (* ****** ****** *) (* // // HX: atspre_fileref_getc // implement fileref_getc (inp) = $STDIO.fgetc0 (inp) *) (* ****** ****** *) (* // // HX: atspre_fileref_putc_int // HX: atspre_fileref_putc_char // implement fileref_putc_int (out, c) = let val _(*ignored*) = $STDIO.fputc0 (c, out) in (*nothing*) end // end of [fileref_putc_int] implement fileref_putc_char (out, c) = fileref_putc_int (out, (c2i)c) *) (* ****** ****** *) (* // // HX: atspre_fileref_puts // implement fileref_puts (out, s) = let val _(*ignored*) = $STDIO.fputs0 (s, out) in (*nothing*) end // end of [fileref_puts] *) (* ****** ****** *) (* // // HX: atspre_fileref_is_eof // implement fileref_is_eof (fil) = if $STDIO.feof0 (fil) != 0 true else false // end of [fileref_is_eof] *) (* ****** ****** *) // implement fileref_load = fileref_load_int implement fileref_load = fileref_load_lint implement fileref_load = fileref_load_uint implement fileref_load = fileref_load_ulint // implement fileref_load = fileref_load_float implement fileref_load = fileref_load_double // (* ****** ****** *) implement{a} fileref_get_optval (r) = let var x: a? val yn = fileref_load (r, x) in option_vt_make_opt (yn, x) end // end of [fileref_get_optval] (* ****** ****** *) implement{a} fileref_get_exnmsg (r, msg) = let var x: a? val yn = fileref_load (r, x) in if yn then let prval () = opt_unsome (x) in x end else let prval () = opt_unnone (x) in exit_errmsg (1, msg) end (* end of [if] *) end // end of [fileref_get_exnmsg] (* ****** ****** *) implement fileref_get_line_charlst (inp) = let // val EOL = '\n' // fun loop ( inp: FILEref, res: &ptr? >> charlst_vt ) : void = let val i = fileref_getc (inp) in // if i >= 0 then let val c = int2char0(i) in // if (c != EOL) then let val () = ( res := list_vt_cons{char}{0}(c, _) ) val+list_vt_cons (_, res1) = res val () = loop (inp, res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil) // end else (res := list_vt_nil) // end // end of [loop] // var res: ptr val () = loop (inp, res) // in res end // end of [fileref_get_line_charlst] (* ****** ****** *) implement fileref_get_lines_charlstlst (inp) = let // vtypedef line = charlst_vt vtypedef lines = List0_vt (line) // fun loop ( inp: FILEref , res: &lines? >> lines ) : void = let val iseof = fileref_is_eof (inp) in // if iseof then let val () = (res := list_vt_nil ()) in // nothing end else let val line = fileref_get_line_charlst (inp) val () = ( res := list_vt_cons{line}{0}(line, _) ) val+list_vt_cons (_, res1) = res val () = loop (inp, res1) prval () = fold@ (res) in // nothing end // end of [if] // end // end of [loop] // var res: lines val () = loop (inp, res) // in res end // end of [fileref_get_lines_charlstlst] (* ****** ****** *) // implement fileref_get_file_charlst (inp) = fileref_get2_file_charlst (inp, ~1) // (* ****** ****** *) local fun loop ( inp: FILEref , n: int, res: &ptr? >> charlst_vt ) : int = let in // if n != 0 then let val i = fileref_getc (inp) in if i >= 0 then let val () = ( res := list_vt_cons{char}{0}(i2c(i), _) ) val+list_vt_cons (_, res1) = res val n = loop (inp, pred(n), res1) prval () = fold@ (res) in n end else let val () = res := list_vt_nil () in (n) end // end of [if] end else let val () = res := list_vt_nil () in n(*=0*) end // end of [if] // end // end of [loop] in (* in of [local] *) implement fileref_get2_file_charlst (inp, n) = res where { var res: ptr; val _(*nleft*) = loop (inp, n, res) } // end of [fileref_nget_file_charlst] end // end of [local] (* ****** ****** *) implement fileref_put_charlst (out, cs) = let // fun loop ( out: FILEref, cs: List(char) ) : void = let in // case+ cs of | list_cons (c, cs) => let val () = fileref_putc (out, c) in loop (out, cs) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [loop] // in loop (out, cs) end // end of [fileref_put_charlst] (* ****** ****** *) // implement {}(*tmp*) fileref_get_line_string$bufsize () = 64 implement {}(*tmp*) fileref_get_file_string$bufsize () = 1024 // (* ****** ****** *) implement {}(*tmp*) fileref_get_line_string (inp) = let // var nlen: int // uninitialized val line = fileref_get_line_string_main (inp, nlen) prval () = lemma_strnptr_param (line) // in strnptr2strptr (line) end // end of [fileref_get_line_string] (* ****** ****** *) implement {}(*tmp*) fileref_get_line_string_main (inp, nlen) = let // val bsz = fileref_get_line_string$bufsize () // val [l:addr,n:int] str = $extfcall ( Strnptr0, "atspre_fileref_get_line_string_main2", bsz, inp, addr@(nlen) ) // prval () = lemma_strnptr_param (str) // extern praxi __assert {l:addr} (pf: !int? @ l >> int (n) @ l): void prval () = __assert (view@(nlen)) // val isnot = strnptr_isnot_null (str) // in // if isnot then str else let val ( ) = exit_errmsg_void (1, "[fileref_get_line_string] failed.") val () = assert (nlen >= 0) // HX: for TC // deadcode at run-time in str // HX: [str]=null is not returned end (* end of [if] *) // end // end of [fileref_get_line_string_main] (* ****** ****** *) implement {}(*tmp*) fileref_get_lines_stringlst (inp) = let // vtypedef line = Strptr1 vtypedef lines = List0_vt (line) // fun loop ( inp: FILEref , res: &lines? >> lines ) : void = let val iseof = fileref_is_eof (inp) in // if iseof then let val () = (res := list_vt_nil ()) in // nothing end else let val line = fileref_get_line_string (inp) val () = ( res := list_vt_cons{line}{0}(line, _) ) val+list_vt_cons (_, res1) = res val () = loop (inp, res1) prval () = fold@ (res) in // nothing end // end of [if] // end // end of [loop] // var res: lines val () = loop (inp, res) // in res end // end of [fileref_get_lines_stringlst] (* ****** ****** *) implement {}(*tmp*) fileref_get_file_string (inp) = let // #define CNUL '\000' // fun loop ( inp: FILEref , p0: ptr, n0: size_t, p1: ptr, n1: size_t ) : Strptr1 = let // val nw = $extfcall (size_t, "atslib_fread", p1, 1, n1, inp) // in // if nw > 0 then let val n1 = n1 - nw val p1 = add_ptr_bsz (p1, nw) in if n1 > 0 then loop (inp, p0, n0, p1, n1) else loop2 (inp, p0, n0) // end of [if] end else let val () = $UN.ptr0_set (p1, CNUL) in $UN.castvwtp0{Strptr1}(p0) end // end of [if] // end // end of [loop] // and loop2 ( inp: FILEref, p0: ptr, n0: size_t ) : Strptr1 = let val bsz = succ(n0) val bsz2 = g1ofg0(bsz + bsz) val (pf, pfgc | p0_) = malloc_gc (bsz2) val p0_ = $UN.castvwtp0{ptr}((pf, pfgc | p0_)) val _(*ptr*) = $extfcall (ptr, "atslib_memcpy", p0_, p0, n0) val () = strptr_free ($UN.castvwtp0{Strptr1}(p0)) val n0_ = pred(g0ofg1(bsz2)) val p1_ = add_ptr_bsz (p0_, n0) in loop (inp, p0_, n0_, p1_, bsz) end // end of [loop2] // val bsz = fileref_get_file_string$bufsize () val bsz = i2sz(bsz) val (pf, pfgc | p0_) = malloc_gc (bsz) val p0_ = $UN.castvwtp0{ptr}((pf, pfgc | p0_)) val n0_ = pred(bsz) // in loop (inp, p0_, n0_, p0_, n0_) end // end of [fileref_get_file_string] (* ****** ****** *) %{ extern atstype_ptr atspre_fileref_get_line_string_main2 ( atstype_int bsz0 , atstype_ptr filp0 , atstype_ref nlen // int *nlen ) { // int bsz = bsz0 ; FILE *filp = (FILE*)filp0 ; int ofs = 0, ofs2 ; char *buf, *buf2, *pres ; buf = atspre_malloc_gc(bsz) ; // while (1) { buf2 = buf+ofs ; pres = fgets(buf2, bsz-ofs, filp) ; if (!pres) { if (feof(filp)) { *buf2 = '\000' ; *(int*)nlen = ofs ; return buf ; } else { atspre_mfree_gc(buf) ; *(int*)nlen = -1 ; return (char*)0 ; } // end of [if] } ofs2 = strlen(buf2) ; if (ofs2==0) return buf ; ofs += ofs2 ; // HX: ofs > 0 // // HX: the newline symbol needs to be trimmed: // if (buf[ofs-1]=='\n') { buf[ofs-1] = '\0'; *(int*)nlen = ofs-1 ; return buf ; } // // HX: there is room // so there are no more chars: // if (ofs+1 < bsz) { *(int*)nlen = ofs ; return buf ; } // // HX: there is no room // so another call to [fgets] is needed: // bsz *= 2 ; buf2 = buf ; buf = atspre_malloc_gc(bsz) ; memcpy(buf, buf2, ofs) ; atspre_mfree_gc(buf2) ; } // end of [while] // return buf ; // HX: deadcode // } // end of [atspre_fileref_get_line_string_main2] %} (* ****** ****** *) implement {}(*tmp*) fileref_get_word (inp) = let // vtypedef res = List0_vt(charNZ) // fun loop1 (): res = let // val c = $STDIO.fgetc0 (inp) // in // if (c > 0) then let val c = $UN.cast{charNZ}(c) val test = fileref_get_word$isalpha<> (c) in if test then loop2 (c, list_vt_nil()) else loop1 () end // end of [then] else list_vt_nil ((*void*)) // end // end of [loop1] and loop2 ( c: charNZ, cs: res ) : res = let // val c2 = $STDIO.fgetc0 (inp) // in // if (c2 > 0) then let val c2 = $UN.cast{charNZ}(c2) val test = fileref_get_word$isalpha<> (c2) in if test then loop2 (c2, list_vt_cons(c, cs)) else list_vt_cons(c, cs) end // end of [then] else list_vt_cons(c, cs) // end // end of [loop2] // val cs = loop1 () // in case+ cs of | list_vt_cons _ => let val str = string_make_rlist ($UN.list_vt2t(cs)) val () = list_vt_free (cs) in strnptr2strptr (str) end // end of [list_vt_cons] | ~list_vt_nil () => strptr_null () end // end of [fileref_get_word] (* ****** ****** *) implement {}(*tmp*) fileref_get_word$isalpha (charNZ) = isalpha (charNZ) (* ****** ****** *) implement {}(*tmp*) fileref_foreach (inp) = let var env: void = () in fileref_foreach_env (inp, env) end // end of [fileref_foreach] (* ****** ****** *) local // staload "libc/SATS/stdio.sats" // extern fun fread (ptr, size_t, size_t, FILEref): Size = "mac#atslib_fread" // in (* in of [local] *) implement {env}(*tmp*) fileref_foreach_env (inp, env) = let // fun loop {l:addr}{n:int} ( pf: !b0ytes(n) @ l | inp: FILEref, bufp: ptr(l), bsz: size_t(n), env: &env ) : void = let // val bsz2 = fread (bufp, i2sz(1), bsz, inp) prval [n2:int] EQINT() = g1uint_get_index (bsz2) // in // if bsz2 > 0 then { val A = $UN.cast{arrayref(char,n2)}(bufp) val () = fileref_foreach$fworkv (A, bsz2, env) val ((*void*)) = loop (pf | inp, bufp, bsz, env) } (* end of [if] *) // end // end of [loop] // val bsz = fileref_foreach$bufsize<> () val (pf1, pf2 | bufp) = memory$alloc<> (bsz) val ((*void*)) = loop (pf1 | inp, bufp, bsz, env) val ((*void*)) = memory$free<> (pf1, pf2 | bufp) // in // nothing end // end of [fileref_foreach_env] end // end of [local] (* ****** ****** *) implement {}(*tmp*) fileref_foreach$bufsize () = i2sz(4 * 1024) (* ****** ****** *) implement {env}(*tmp*) fileref_foreach$fworkv (A, n, env) = let // implement {a}{env} array_foreach$cont (x, env) = true implement array_foreach$fwork (x, env) = fileref_foreach$fwork (x, env) // in ignoret (arrayref_foreach_env (A, n, env)) end // end of [fileref_foreach$fworkv] (* ****** ****** *) (* end of [filebas.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/gprint.dats0000664000175000017500000001306012655455557017311 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gprint.atxt ** Time of generation: Fri Dec 25 21:31:52 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2012 *) (* ****** ****** *) implement {}(*tmp*) gprint$out () = stdout_ref (* ****** ****** *) implement {}(*tmp*) gprint_newline () = let val out = gprint$out () in fprint_newline (out) end // end of [gprint_newline] (* ****** ****** *) implement {a}(*tmp*) gprint_val (x) = let val out = gprint$out () in fprint_val (out, x) end // end of [gprint_val] (* ****** ****** *) implement {a}(*tmp*) gprint_ref (x) = let val out = gprint$out () in fprint_ref (out, x) end // end of [gprint_ref] (* ****** ****** *) // implement {}(*tmp*) gprint_int (x) = fprint_val (gprint$out (), x) implement {}(*tmp*) gprint_char (x) = fprint_val (gprint$out (), x) implement {}(*tmp*) gprint_float (x) = fprint_val (gprint$out (), x) implement {}(*tmp*) gprint_double (x) = fprint_val (gprint$out (), x) implement {}(*tmp*) gprint_string (x) = fprint_val (gprint$out (), x) // implement gprint_val (x) = gprint_int (x) implement gprint_val (x) = gprint_char (x) implement gprint_val (x) = gprint_float (x) implement gprint_val (x) = gprint_double (x) implement gprint_val (x) = gprint_string (x) // (* ****** ****** *) // implement{} gprint_list$beg () = gprint_string "(" implement{} gprint_list$end () = gprint_string ")" implement{} gprint_list$sep () = gprint_string ", " // (* ****** ****** *) implement {a}(*tmp*) gprint_list (xs) = let // typedef tenv = int // implement list_foreach$fwork (x, env) = let val () = if env > 0 then gprint_list$sep () val () = env := succ (env) in gprint_val (x) end // end of [list_foreach$fwork] // var env: tenv = 0 val () = gprint_list$beg () val () = list_foreach_env (xs, env) val () = gprint_list$end () // in // nothing end // end of [gprint_list] implement (a)(*tmp*) gprint_val (xs) = gprint_list (xs) (* ****** ****** *) // implement{} gprint_listlist$beg1 () = gprint_string "(" implement{} gprint_listlist$end1 () = gprint_string ")" implement{} gprint_listlist$sep1 () = gprint_string ", " // implement{} gprint_listlist$beg2 () = gprint_string "(" implement{} gprint_listlist$end2 () = gprint_string ")" implement{} gprint_listlist$sep2 () = gprint_string ", " // (* ****** ****** *) // implement {a}(*tmp*) gprint_listlist (xss) = let // typedef xs = List (a) // implement gprint_val (xs) = let // implement gprint_list$beg<> () = gprint_listlist$beg2 () implement gprint_list$end<> () = gprint_listlist$end2 () implement gprint_list$sep<> () = gprint_listlist$sep2 () // in gprint_list (xs) end // end of [gprint_val] // implement gprint_list$beg<> () = gprint_listlist$beg1 () implement gprint_list$end<> () = gprint_listlist$end1 () implement gprint_list$sep<> () = gprint_listlist$sep1 () // in gprint_list (xss) end // end of [gprint_listlist] // (* ****** ****** *) // implement{} gprint_array$beg () = gprint_string "(" implement{} gprint_array$end () = gprint_string ")" implement{} gprint_array$sep () = gprint_string ", " // (* ****** ****** *) implement {a}(*tmp*) gprint_array (A, n) = let // typedef tenv = size_t // implement (env)(*tmp*) array_iforeach$fwork (i, x, env) = let val () = if i > 0 then gprint_array$sep () in gprint_ref (x) end // end of [array_iforeach$fwork] // var env: void = () val () = gprint_array$beg () val _(*n*) = array_iforeach (A, n) val () = gprint_array$end () // in // nothing end // end of [gprint_array] (* ****** ****** *) implement {a}(*tmp*) gprint_arrayptr (A, n) = { val p = ptrcast (A) prval pf = arrayptr_takeout (A) val () = gprint_array (!p, n) prval () = arrayptr_addback (pf | A) } (* end of [gprint_arrayptr] *) (* ****** ****** *) implement {a}(*tmp*) gprint_arrayref (A, n) = let // val (vbox pf | p) = arrayref_get_viewptr (A) // in $effmask_ref (gprint_array (!p, n)) end // end of [gprint_arrayref] (* ****** ****** *) implement {a}(*tmp*) gprint_arrszref (ASZ) = () where { // var n: size_t val A = arrszref_get_refsize<> (ASZ, n) // val () = gprint_arrayref (A, n) // } (* end of [gprint_arrszref] *) (* ****** ****** *) (* end of [gprint.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/float.dats0000664000175000017500000001414212655455557017115 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/float.atxt ** Time of generation: Wed Aug 5 12:47:20 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) (* ****** ****** *) implement g0int2float = g0int2float_int_float implement g0int2float = g0int2float_int_double implement g0int2float = g0int2float_lint_double (* ****** ****** *) implement g0float2int = g0float2int_float_int implement g0float2int = g0float2int_float_lint implement g0float2int = g0float2int_double_int implement g0float2int = g0float2int_double_lint implement g0float2int = g0float2int_double_llint (* ****** ****** *) implement g0float2float = g0float2float_float_float implement g0float2float = g0float2float_float_double implement g0float2float = g0float2float_double_float implement g0float2float = g0float2float_double_double (* ****** ****** *) implement g0string2float = g0string2float_double (* ****** ****** *) implement g0float_neg = g0float_neg_float implement g0float_abs = g0float_abs_float implement g0float_succ = g0float_succ_float implement g0float_pred = g0float_pred_float implement g0float_add = g0float_add_float implement g0float_sub = g0float_sub_float implement g0float_mul = g0float_mul_float implement g0float_div = g0float_div_float implement g0float_mod = g0float_mod_float implement g0float_lt = g0float_lt_float implement g0float_lte = g0float_lte_float implement g0float_gt = g0float_gt_float implement g0float_gte = g0float_gte_float implement g0float_eq = g0float_eq_float implement g0float_neq = g0float_neq_float implement g0float_compare = g0float_compare_float implement g0float_max = g0float_max_float implement g0float_min = g0float_min_float (* ****** ****** *) implement g0float_neg = g0float_neg_double implement g0float_abs = g0float_abs_double implement g0float_succ = g0float_succ_double implement g0float_pred = g0float_pred_double implement g0float_add = g0float_add_double implement g0float_sub = g0float_sub_double implement g0float_mul = g0float_mul_double implement g0float_div = g0float_div_double implement g0float_mod = g0float_mod_double implement g0float_lt = g0float_lt_double implement g0float_lte = g0float_lte_double implement g0float_gt = g0float_gt_double implement g0float_gte = g0float_gte_double implement g0float_eq = g0float_eq_double implement g0float_neq = g0float_neq_double implement g0float_compare = g0float_compare_double implement g0float_max = g0float_max_double implement g0float_min = g0float_min_double (* ****** ****** *) implement g0float_neg = g0float_neg_ldouble implement g0float_abs = g0float_abs_ldouble implement g0float_succ = g0float_succ_ldouble implement g0float_pred = g0float_pred_ldouble implement g0float_add = g0float_add_ldouble implement g0float_sub = g0float_sub_ldouble implement g0float_mul = g0float_mul_ldouble implement g0float_div = g0float_div_ldouble implement g0float_mod = g0float_mod_ldouble implement g0float_lt = g0float_lt_ldouble implement g0float_lte = g0float_lte_ldouble implement g0float_gt = g0float_gt_ldouble implement g0float_gte = g0float_gte_ldouble implement g0float_eq = g0float_eq_ldouble implement g0float_neq = g0float_neq_ldouble implement g0float_compare = g0float_compare_ldouble implement g0float_max = g0float_max_ldouble implement g0float_min = g0float_min_ldouble (* ****** ****** *) // implement fprint_val = fprint_float implement fprint_val = fprint_double implement fprint_val = fprint_ldouble // (* ****** ****** *) implement {tk}(*tk*) g0float_npow (x, n) = let // typedef gfloat = g0float(tk) // fun loop ( x: gfloat, res: gfloat, n: int ) : gfloat = ( // if (n > 1) then let val n2 = n >> 1 val b0 = n - (n2 << 1) val xx = x * x in if b0 = 0 then loop(xx, res, n2) else loop(xx, x * res, n2) // end of [if] end // end of [then] else ( if n > 0 then x * res else res ) (* end of [else] *) // ) (* end of [loop] *) // val res = $UN.cast{gfloat}(1.0) // in $effmask_all(loop(x, res, n)) end // end of [g0float_npow] (* ****** ****** *) (* end of [float.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/integer.dats0000664000175000017500000007547312655455557017463 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/integer.atxt ** Time of generation: Tue Aug 4 23:12:25 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) // // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) implement g0int2int = g0int2int_int_int implement g0int2int = g0int2int_int_lint implement g0int2int = g0int2int_int_llint implement g0int2int = g0int2int_int_ssize (* ****** ****** *) implement g0int_neg = g0int_neg_int implement g0int_abs = g0int_abs_int implement g0int_succ = g0int_succ_int implement g0int_pred = g0int_pred_int implement g0int_half = g0int_half_int implement g0int_add = g0int_add_int implement g0int_sub = g0int_sub_int implement g0int_mul = g0int_mul_int implement g0int_div = g0int_div_int implement g0int_mod = g0int_mod_int implement g0int_asl = g0int_asl_int implement g0int_asr = g0int_asr_int implement g0int_isltz = g0int_isltz_int implement g0int_isltez = g0int_isltez_int implement g0int_isgtz = g0int_isgtz_int implement g0int_isgtez = g0int_isgtez_int implement g0int_iseqz = g0int_iseqz_int implement g0int_isneqz = g0int_isneqz_int implement g0int_lt = g0int_lt_int implement g0int_lte = g0int_lte_int implement g0int_gt = g0int_gt_int implement g0int_gte = g0int_gte_int implement g0int_eq = g0int_eq_int implement g0int_neq = g0int_neq_int implement g0int_compare = g0int_compare_int implement g0int_max = g0int_max_int implement g0int_min = g0int_min_int // implement fprint_val (out, x) = fprint_int (out, x) // implement g0int_neg = g0int_neg_lint implement g0int_abs = g0int_abs_lint implement g0int_succ = g0int_succ_lint implement g0int_pred = g0int_pred_lint implement g0int_half = g0int_half_lint implement g0int_add = g0int_add_lint implement g0int_sub = g0int_sub_lint implement g0int_mul = g0int_mul_lint implement g0int_div = g0int_div_lint implement g0int_mod = g0int_mod_lint implement g0int_asl = g0int_asl_lint implement g0int_asr = g0int_asr_lint implement g0int_isltz = g0int_isltz_lint implement g0int_isltez = g0int_isltez_lint implement g0int_isgtz = g0int_isgtz_lint implement g0int_isgtez = g0int_isgtez_lint implement g0int_iseqz = g0int_iseqz_lint implement g0int_isneqz = g0int_isneqz_lint implement g0int_lt = g0int_lt_lint implement g0int_lte = g0int_lte_lint implement g0int_gt = g0int_gt_lint implement g0int_gte = g0int_gte_lint implement g0int_eq = g0int_eq_lint implement g0int_neq = g0int_neq_lint implement g0int_compare = g0int_compare_lint implement g0int_max = g0int_max_lint implement g0int_min = g0int_min_lint // implement fprint_val (out, x) = fprint_lint (out, x) // implement g0int_neg = g0int_neg_llint implement g0int_abs = g0int_abs_llint implement g0int_succ = g0int_succ_llint implement g0int_pred = g0int_pred_llint implement g0int_half = g0int_half_llint implement g0int_add = g0int_add_llint implement g0int_sub = g0int_sub_llint implement g0int_mul = g0int_mul_llint implement g0int_div = g0int_div_llint implement g0int_mod = g0int_mod_llint implement g0int_asl = g0int_asl_llint implement g0int_asr = g0int_asr_llint implement g0int_isltz = g0int_isltz_llint implement g0int_isltez = g0int_isltez_llint implement g0int_isgtz = g0int_isgtz_llint implement g0int_isgtez = g0int_isgtez_llint implement g0int_iseqz = g0int_iseqz_llint implement g0int_isneqz = g0int_isneqz_llint implement g0int_lt = g0int_lt_llint implement g0int_lte = g0int_lte_llint implement g0int_gt = g0int_gt_llint implement g0int_gte = g0int_gte_llint implement g0int_eq = g0int_eq_llint implement g0int_neq = g0int_neq_llint implement g0int_compare = g0int_compare_llint implement g0int_max = g0int_max_llint implement g0int_min = g0int_min_llint // implement fprint_val (out, x) = fprint_llint (out, x) // implement g0int_neg = g0int_neg_ssize implement g0int_abs = g0int_abs_ssize implement g0int_succ = g0int_succ_ssize implement g0int_pred = g0int_pred_ssize implement g0int_half = g0int_half_ssize implement g0int_add = g0int_add_ssize implement g0int_sub = g0int_sub_ssize implement g0int_mul = g0int_mul_ssize implement g0int_div = g0int_div_ssize implement g0int_mod = g0int_mod_ssize implement g0int_asl = g0int_asl_ssize implement g0int_asr = g0int_asr_ssize implement g0int_isltz = g0int_isltz_ssize implement g0int_isltez = g0int_isltez_ssize implement g0int_isgtz = g0int_isgtz_ssize implement g0int_isgtez = g0int_isgtez_ssize implement g0int_iseqz = g0int_iseqz_ssize implement g0int_isneqz = g0int_isneqz_ssize implement g0int_lt = g0int_lt_ssize implement g0int_lte = g0int_lte_ssize implement g0int_gt = g0int_gt_ssize implement g0int_gte = g0int_gte_ssize implement g0int_eq = g0int_eq_ssize implement g0int_neq = g0int_neq_ssize implement g0int_compare = g0int_compare_ssize implement g0int_max = g0int_max_ssize implement g0int_min = g0int_min_ssize // implement fprint_val (out, x) = fprint_ssize (out, x) // (* ****** ****** *) implement{} mul_int1_size0 (i, j) = i2sz(i) * j implement{} mul_size0_int1 (i, j) = i * i2sz(j) (* ****** ****** *) implement {tk}(*tk*) g0int_npow (x, n) = let // typedef gint = g0int(tk) // fun loop ( x: gint, res: gint, n: int ) : gint = ( // if (n > 1) then let val n2 = n >> 1 val b0 = n - (n2 << 1) val xx = x * x in if b0 = 0 then loop(xx, res, n2) else loop(xx, x * res, n2) // end of [if] end // end of [then] else ( if n > 0 then x * res else res ) (* end of [else] *) // ) (* end of [loop] *) // val res = $UN.cast{gint}(1) // in $effmask_all(loop(x, res, n)) end // end of [g0int_npow] (* ****** ****** *) implement g1int2int = g1int2int_int_int implement g1int2int = g1int2int_int_lint implement g1int2int = g1int2int_int_llint implement g1int2int = g1int2int_int_ssize (* ****** ****** *) implement g1int_neg = g1int_neg_int implement g1int_abs = g1int_abs_int implement g1int_succ = g1int_succ_int implement g1int_pred = g1int_pred_int implement g1int_half = g1int_half_int implement g1int_add = g1int_add_int implement g1int_sub = g1int_sub_int implement g1int_mul = g1int_mul_int implement g1int_div = g1int_div_int implement g1int_nmod = g1int_nmod_int implement g1int_isltz = g1int_isltz_int implement g1int_isltez = g1int_isltez_int implement g1int_isgtz = g1int_isgtz_int implement g1int_isgtez = g1int_isgtez_int implement g1int_iseqz = g1int_iseqz_int implement g1int_isneqz = g1int_isneqz_int implement g1int_lt = g1int_lt_int implement g1int_lte = g1int_lte_int implement g1int_gt = g1int_gt_int implement g1int_gte = g1int_gte_int implement g1int_eq = g1int_eq_int implement g1int_neq = g1int_neq_int implement g1int_compare = g1int_compare_int implement g1int_max = g1int_max_int implement g1int_min = g1int_min_int // implement g1int_neg = g1int_neg_lint implement g1int_abs = g1int_abs_lint implement g1int_succ = g1int_succ_lint implement g1int_pred = g1int_pred_lint implement g1int_half = g1int_half_lint implement g1int_add = g1int_add_lint implement g1int_sub = g1int_sub_lint implement g1int_mul = g1int_mul_lint implement g1int_div = g1int_div_lint implement g1int_nmod = g1int_nmod_lint implement g1int_isltz = g1int_isltz_lint implement g1int_isltez = g1int_isltez_lint implement g1int_isgtz = g1int_isgtz_lint implement g1int_isgtez = g1int_isgtez_lint implement g1int_iseqz = g1int_iseqz_lint implement g1int_isneqz = g1int_isneqz_lint implement g1int_lt = g1int_lt_lint implement g1int_lte = g1int_lte_lint implement g1int_gt = g1int_gt_lint implement g1int_gte = g1int_gte_lint implement g1int_eq = g1int_eq_lint implement g1int_neq = g1int_neq_lint implement g1int_compare = g1int_compare_lint implement g1int_max = g1int_max_lint implement g1int_min = g1int_min_lint // implement g1int_neg = g1int_neg_llint implement g1int_abs = g1int_abs_llint implement g1int_succ = g1int_succ_llint implement g1int_pred = g1int_pred_llint implement g1int_half = g1int_half_llint implement g1int_add = g1int_add_llint implement g1int_sub = g1int_sub_llint implement g1int_mul = g1int_mul_llint implement g1int_div = g1int_div_llint implement g1int_nmod = g1int_nmod_llint implement g1int_isltz = g1int_isltz_llint implement g1int_isltez = g1int_isltez_llint implement g1int_isgtz = g1int_isgtz_llint implement g1int_isgtez = g1int_isgtez_llint implement g1int_iseqz = g1int_iseqz_llint implement g1int_isneqz = g1int_isneqz_llint implement g1int_lt = g1int_lt_llint implement g1int_lte = g1int_lte_llint implement g1int_gt = g1int_gt_llint implement g1int_gte = g1int_gte_llint implement g1int_eq = g1int_eq_llint implement g1int_neq = g1int_neq_llint implement g1int_compare = g1int_compare_llint implement g1int_max = g1int_max_llint implement g1int_min = g1int_min_llint // implement g1int_neg = g1int_neg_ssize implement g1int_abs = g1int_abs_ssize implement g1int_succ = g1int_succ_ssize implement g1int_pred = g1int_pred_ssize implement g1int_half = g1int_half_ssize implement g1int_add = g1int_add_ssize implement g1int_sub = g1int_sub_ssize implement g1int_mul = g1int_mul_ssize implement g1int_div = g1int_div_ssize implement g1int_nmod = g1int_nmod_ssize implement g1int_isltz = g1int_isltz_ssize implement g1int_isltez = g1int_isltez_ssize implement g1int_isgtz = g1int_isgtz_ssize implement g1int_isgtez = g1int_isgtez_ssize implement g1int_iseqz = g1int_iseqz_ssize implement g1int_isneqz = g1int_isneqz_ssize implement g1int_lt = g1int_lt_ssize implement g1int_lte = g1int_lte_ssize implement g1int_gt = g1int_gt_ssize implement g1int_gte = g1int_gte_ssize implement g1int_eq = g1int_eq_ssize implement g1int_neq = g1int_neq_ssize implement g1int_compare = g1int_compare_ssize implement g1int_max = g1int_max_ssize implement g1int_min = g1int_min_ssize // (* ****** ****** *) implement{tk} g1int_sgn (x) = compare_g1int_int (x, 0) (* ****** ****** *) // implement{ } add_size1_int1 {i,j}(i, j) = $UN.cast{size_t(i+j)}(i+g0i2u(j)) implement{ } add_int1_size1 {i,j}(i, j) = $UN.cast{size_t(i+j)}(g0i2u(i)+j) // implement{ } sub_size1_int1 {i,j}(i, j) = $UN.cast{size_t(i-j)}(i-g0i2u(j)) // (* ****** ****** *) implement{tk} g1int_mul2 {i,j} (x, y) = let prval pf = mul_make {i,j} () in (pf | g1int_mul (x, y)) end // end of [let] // end of [g1int_mul2] (* ****** ****** *) // implement{ } mul_int1_size1 {i,j}(i, j) = $UN.cast{size_t(i*j)}(g0i2u(i)*j) implement{ } mul_size1_int1 {i,j}(i, j) = $UN.cast{size_t(i*j)}(i*g0i2u(j)) // (* ****** ****** *) implement{tk} g1int_ndiv {i,j} (x, y) = let val q = g1int_div (x, y) in $UN.cast{g1int(tk,ndiv(i,j))}(q) end // end of [let] // end of [g1int_ndiv] (* ****** ****** *) implement{tk} g1int_ndiv2 {i,j} (x, y) = let val [q:int] q = g1int_div (x, y) prval [q2:int,r:int] pf = divmod_istot{i,j}() prval EQINT() = $UN.castview0{EQINT(q,q2)}(0) in (pf | q) end // end of [let] // end of [g1int_ndiv2] (* ****** ****** *) implement{tk} g1int_nmod2 {i,j} (x, y) = let val r = g1int_nmod (x, y) prval [q:int,r2:int] pf = divmod_istot{i,j}() prval EQINT() = $UN.castview0{EQINT(i%j,r2)}(0) in (pf | r) end // end of [let] // end of [g1int_nmod2] (* ****** ****** *) implement nmod_g1int_int1 (x, y) = g1i2i(g1int_nmod (x, g1i2i(y))) implement nmod_g1int_int1 (x, y) = g1i2i(g1int_nmod (x, g1i2i(y))) implement nmod_g1int_int1 (x, y) = g1i2i(g1int_nmod (x, g1i2i(y))) (* ****** ****** *) implement{tk} nmod2_g1int_int1{i,j}(x, y) = let val r = nmod_g1int_int1 (x, y) prval [q:int,r2:int] pf = divmod_istot{i,j}() prval EQINT() = $UN.castview0{EQINT(i%j,r2)}(0) in (pf | r) end // end of [let] // end of [nmod2_g1int_int1] (* ****** ****** *) implement{tk} g1int_ngcd (x, y) = let // fun loop{i,j:nat} .. ( x: g1int (tk, i), y: g1int (tk, j) ) :<> [r:nat] g1int (tk, r) = let in // if y > 0 then loop (y, g1int_nmod (x, y)) else x // end // end of [loop] // in loop (x, y) end // end of [g1int_ngcd] (* ****** ****** *) // // HX: int -> uint // implement g0int2uint = g0int2uint_int_uint implement g0int2uint = g0int2uint_int_ulint implement g0int2uint = g0int2uint_int_ullint implement g0int2uint = g0int2uint_int_size // implement g0int2uint = g0int2uint_lint_ulint implement g0int2uint = g0int2uint_lint_ullint implement g0int2uint = g0int2uint_lint_size // implement g0int2uint = g0int2uint_llint_ullint // implement g0int2uint = g0int2uint_ssize_size (* ****** ****** *) // // HX: uint -> int // implement g0uint2int = g0uint2int_uint_int implement g0uint2int = g0uint2int_uint_lint implement g0uint2int = g0uint2int_uint_llint implement g0uint2int = g0uint2int_uint_ssize // implement g0uint2int = g0uint2int_size_int implement g0uint2int = g0uint2int_size_lint implement g0uint2int = g0uint2int_size_llint implement g0uint2int = g0uint2int_size_ssize // (* ****** ****** *) // // HX: uint -> uint // implement g0uint2uint = g0uint2uint_uint_uint implement g0uint2uint = g0uint2uint_uint_ulint implement g0uint2uint = g0uint2uint_uint_ullint implement g0uint2uint = g0uint2uint_uint_size (* ****** ****** *) implement g0uint2uint = g0uint2uint_size_ulint implement g0uint2uint = g0uint2uint_size_ullint implement g0uint2uint = g0uint2uint_size_size (* ****** ****** *) implement g0uint_succ = g0uint_succ_uint implement g0uint_pred = g0uint_pred_uint implement g0uint_half = g0uint_half_uint implement g0uint_add = g0uint_add_uint implement g0uint_sub = g0uint_sub_uint implement g0uint_mul = g0uint_mul_uint implement g0uint_div = g0uint_div_uint implement g0uint_mod = g0uint_mod_uint implement g0uint_lsl = g0uint_lsl_uint implement g0uint_lsr = g0uint_lsr_uint implement g0uint_lnot = g0uint_lnot_uint implement g0uint_lor = g0uint_lor_uint implement g0uint_lxor = g0uint_lxor_uint implement g0uint_land = g0uint_land_uint implement g0uint_isgtz = g0uint_isgtz_uint implement g0uint_iseqz = g0uint_iseqz_uint implement g0uint_isneqz = g0uint_isneqz_uint implement g0uint_lt = g0uint_lt_uint implement g0uint_lte = g0uint_lte_uint implement g0uint_gt = g0uint_gt_uint implement g0uint_gte = g0uint_gte_uint implement g0uint_eq = g0uint_eq_uint implement g0uint_neq = g0uint_neq_uint implement g0uint_compare = g0uint_compare_uint implement g0uint_max = g0uint_max_uint implement g0uint_min = g0uint_min_uint // implement fprint_val (out, x) = fprint_uint (out, x) // implement g0uint_succ = g0uint_succ_ulint implement g0uint_pred = g0uint_pred_ulint implement g0uint_half = g0uint_half_ulint implement g0uint_add = g0uint_add_ulint implement g0uint_sub = g0uint_sub_ulint implement g0uint_mul = g0uint_mul_ulint implement g0uint_div = g0uint_div_ulint implement g0uint_mod = g0uint_mod_ulint implement g0uint_lsl = g0uint_lsl_ulint implement g0uint_lsr = g0uint_lsr_ulint implement g0uint_lnot = g0uint_lnot_ulint implement g0uint_lor = g0uint_lor_ulint implement g0uint_lxor = g0uint_lxor_ulint implement g0uint_land = g0uint_land_ulint implement g0uint_isgtz = g0uint_isgtz_ulint implement g0uint_iseqz = g0uint_iseqz_ulint implement g0uint_isneqz = g0uint_isneqz_ulint implement g0uint_lt = g0uint_lt_ulint implement g0uint_lte = g0uint_lte_ulint implement g0uint_gt = g0uint_gt_ulint implement g0uint_gte = g0uint_gte_ulint implement g0uint_eq = g0uint_eq_ulint implement g0uint_neq = g0uint_neq_ulint implement g0uint_compare = g0uint_compare_ulint implement g0uint_max = g0uint_max_ulint implement g0uint_min = g0uint_min_ulint // implement fprint_val (out, x) = fprint_ulint (out, x) // implement g0uint_succ = g0uint_succ_ullint implement g0uint_pred = g0uint_pred_ullint implement g0uint_half = g0uint_half_ullint implement g0uint_add = g0uint_add_ullint implement g0uint_sub = g0uint_sub_ullint implement g0uint_mul = g0uint_mul_ullint implement g0uint_div = g0uint_div_ullint implement g0uint_mod = g0uint_mod_ullint implement g0uint_lsl = g0uint_lsl_ullint implement g0uint_lsr = g0uint_lsr_ullint implement g0uint_lnot = g0uint_lnot_ullint implement g0uint_lor = g0uint_lor_ullint implement g0uint_lxor = g0uint_lxor_ullint implement g0uint_land = g0uint_land_ullint implement g0uint_isgtz = g0uint_isgtz_ullint implement g0uint_iseqz = g0uint_iseqz_ullint implement g0uint_isneqz = g0uint_isneqz_ullint implement g0uint_lt = g0uint_lt_ullint implement g0uint_lte = g0uint_lte_ullint implement g0uint_gt = g0uint_gt_ullint implement g0uint_gte = g0uint_gte_ullint implement g0uint_eq = g0uint_eq_ullint implement g0uint_neq = g0uint_neq_ullint implement g0uint_compare = g0uint_compare_ullint implement g0uint_max = g0uint_max_ullint implement g0uint_min = g0uint_min_ullint // implement fprint_val (out, x) = fprint_ullint (out, x) // implement g0uint_succ = g0uint_succ_size implement g0uint_pred = g0uint_pred_size implement g0uint_half = g0uint_half_size implement g0uint_add = g0uint_add_size implement g0uint_sub = g0uint_sub_size implement g0uint_mul = g0uint_mul_size implement g0uint_div = g0uint_div_size implement g0uint_mod = g0uint_mod_size implement g0uint_lsl = g0uint_lsl_size implement g0uint_lsr = g0uint_lsr_size implement g0uint_lnot = g0uint_lnot_size implement g0uint_lor = g0uint_lor_size implement g0uint_lxor = g0uint_lxor_size implement g0uint_land = g0uint_land_size implement g0uint_isgtz = g0uint_isgtz_size implement g0uint_iseqz = g0uint_iseqz_size implement g0uint_isneqz = g0uint_isneqz_size implement g0uint_lt = g0uint_lt_size implement g0uint_lte = g0uint_lte_size implement g0uint_gt = g0uint_gt_size implement g0uint_gte = g0uint_gte_size implement g0uint_eq = g0uint_eq_size implement g0uint_neq = g0uint_neq_size implement g0uint_compare = g0uint_compare_size implement g0uint_max = g0uint_max_size implement g0uint_min = g0uint_min_size // implement fprint_val (out, x) = fprint_size (out, x) // (* ****** ****** *) // // HX: int -> uint // implement g1int2uint = g1int2uint_int_uint implement g1int2uint = g1int2uint_int_ulint implement g1int2uint = g1int2uint_int_ullint implement g1int2uint = g1int2uint_int_size // implement g1int2uint = g1int2uint_ssize_size (* ****** ****** *) // // HX: uint -> int // implement g1uint2int = g1uint2int_uint_int implement g1uint2int = g1uint2int_uint_lint implement g1uint2int = g1uint2int_uint_llint implement g1uint2int = g1uint2int_uint_ssize // implement g1uint2int = g1uint2int_size_int implement g1uint2int = g1uint2int_size_lint implement g1uint2int = g1uint2int_size_llint implement g1uint2int = g1uint2int_size_ssize (* ****** ****** *) // // HX: uint -> uint // implement g1uint2uint = g1uint2uint_uint_uint implement g1uint2uint = g1uint2uint_uint_ulint implement g1uint2uint = g1uint2uint_uint_ullint implement g1uint2uint = g1uint2uint_uint_size // implement g1uint2uint = g1uint2uint_size_uint implement g1uint2uint = g1uint2uint_size_ulint implement g1uint2uint = g1uint2uint_size_ullint implement g1uint2uint = g1uint2uint_size_size (* ****** ****** *) implement g1uint_succ = g1uint_succ_uint implement g1uint_pred = g1uint_pred_uint implement g1uint_half = g1uint_half_uint implement g1uint_add = g1uint_add_uint implement g1uint_sub = g1uint_sub_uint implement g1uint_mul = g1uint_mul_uint implement g1uint_div = g1uint_div_uint implement g1uint_mod = g1uint_mod_uint implement g1uint_isgtz = g1uint_isgtz_uint implement g1uint_iseqz = g1uint_iseqz_uint implement g1uint_isneqz = g1uint_isneqz_uint implement g1uint_lt = g1uint_lt_uint implement g1uint_lte = g1uint_lte_uint implement g1uint_gt = g1uint_gt_uint implement g1uint_gte = g1uint_gte_uint implement g1uint_eq = g1uint_eq_uint implement g1uint_neq = g1uint_neq_uint implement g1uint_compare = g1uint_compare_uint implement g1uint_max = g1uint_max_uint implement g1uint_min = g1uint_min_uint // implement g1uint_succ = g1uint_succ_ulint implement g1uint_pred = g1uint_pred_ulint implement g1uint_half = g1uint_half_ulint implement g1uint_add = g1uint_add_ulint implement g1uint_sub = g1uint_sub_ulint implement g1uint_mul = g1uint_mul_ulint implement g1uint_div = g1uint_div_ulint implement g1uint_mod = g1uint_mod_ulint implement g1uint_isgtz = g1uint_isgtz_ulint implement g1uint_iseqz = g1uint_iseqz_ulint implement g1uint_isneqz = g1uint_isneqz_ulint implement g1uint_lt = g1uint_lt_ulint implement g1uint_lte = g1uint_lte_ulint implement g1uint_gt = g1uint_gt_ulint implement g1uint_gte = g1uint_gte_ulint implement g1uint_eq = g1uint_eq_ulint implement g1uint_neq = g1uint_neq_ulint implement g1uint_compare = g1uint_compare_ulint implement g1uint_max = g1uint_max_ulint implement g1uint_min = g1uint_min_ulint // implement g1uint_succ = g1uint_succ_ullint implement g1uint_pred = g1uint_pred_ullint implement g1uint_half = g1uint_half_ullint implement g1uint_add = g1uint_add_ullint implement g1uint_sub = g1uint_sub_ullint implement g1uint_mul = g1uint_mul_ullint implement g1uint_div = g1uint_div_ullint implement g1uint_mod = g1uint_mod_ullint implement g1uint_isgtz = g1uint_isgtz_ullint implement g1uint_iseqz = g1uint_iseqz_ullint implement g1uint_isneqz = g1uint_isneqz_ullint implement g1uint_lt = g1uint_lt_ullint implement g1uint_lte = g1uint_lte_ullint implement g1uint_gt = g1uint_gt_ullint implement g1uint_gte = g1uint_gte_ullint implement g1uint_eq = g1uint_eq_ullint implement g1uint_neq = g1uint_neq_ullint implement g1uint_compare = g1uint_compare_ullint implement g1uint_max = g1uint_max_ullint implement g1uint_min = g1uint_min_ullint // implement g1uint_succ = g1uint_succ_size implement g1uint_pred = g1uint_pred_size implement g1uint_half = g1uint_half_size implement g1uint_add = g1uint_add_size implement g1uint_sub = g1uint_sub_size implement g1uint_mul = g1uint_mul_size implement g1uint_div = g1uint_div_size implement g1uint_mod = g1uint_mod_size implement g1uint_isgtz = g1uint_isgtz_size implement g1uint_iseqz = g1uint_iseqz_size implement g1uint_isneqz = g1uint_isneqz_size implement g1uint_lt = g1uint_lt_size implement g1uint_lte = g1uint_lte_size implement g1uint_gt = g1uint_gt_size implement g1uint_gte = g1uint_gte_size implement g1uint_eq = g1uint_eq_size implement g1uint_neq = g1uint_neq_size implement g1uint_compare = g1uint_compare_size implement g1uint_max = g1uint_max_size implement g1uint_min = g1uint_min_size // (* ****** ****** *) implement {tk}(*tmp*) g1uint_div2 {i,j} (x, y) = let // prval () = lemma_g1uint_param (x) // val [q:int] q = g1uint_div (x, y) prval [q2:int,r:int] pf = divmod_istot{i,j}() prval EQINT() = $UN.castview0{EQINT(q,q2)}(0) in (pf | q) end // end of [let] // end of [g1uint_div2] (* ****** ****** *) implement {tk}(*tmp*) g1uint_mod2 {i,j} (x, y) = let // prval () = lemma_g1uint_param (x) // val [r:int] r = g1uint_mod (x, y) prval [q:int,r2:int] pf = divmod_istot{i,j}() prval EQINT() = $UN.castview0{EQINT(r,r2)}(0) in (pf | r) end // end of [let] // end of [g1uint_mod2] (* ****** ****** *) // implement g0int2string = g0int2string_int implement g0int2string = g0int2string_lint implement g0int2string = g0int2string_llint (* implement g0int2string = g0int2string_ssize *) // (* ****** ****** *) // implement g0string2int = g0string2int_int implement g0string2int = g0string2int_lint implement g0string2int = g0string2int_llint implement g0string2int = g0string2int_ssize // implement g0string2uint = g0string2uint_uint implement g0string2uint = g0string2uint_ulint implement g0string2uint = g0string2uint_ullint implement g0string2uint = g0string2uint_size // (* ****** ****** *) implement{tk} g1string2int (str) = g1ofg0_int (g0string2int (str)) implement{tk} g1string2uint (str) = g1ofg0_uint (g0string2uint (str)) (* ****** ****** *) implement{tk} lt_g0int_int (x, y) = g0int_lt (x, g0int2int (y)) implement{tk} lte_g0int_int (x, y) = g0int_lte (x, g0int2int (y)) implement{tk} gt_g0int_int (x, y) = g0int_gt (x, g0int2int (y)) implement{tk} gte_g0int_int (x, y) = g0int_gte (x, g0int2int (y)) implement{tk} eq_g0int_int (x, y) = g0int_eq (x, g0int2int (y)) implement{tk} neq_g0int_int (x, y) = g0int_neq (x, g0int2int (y)) implement{tk} compare_g0int_int (x, y) = g0int_compare (x, g0int2int (y)) (* ****** ****** *) implement{tk} lt_g1int_int (x, y) = g1int_lt (x, g1int2int (y)) implement{tk} lte_g1int_int (x, y) = g1int_lte (x, g1int2int (y)) implement{tk} gt_g1int_int (x, y) = g1int_gt (x, g1int2int (y)) implement{tk} gte_g1int_int (x, y) = g1int_gte (x, g1int2int (y)) implement{tk} eq_g1int_int (x, y) = g1int_eq (x, g1int2int (y)) implement{tk} neq_g1int_int (x, y) = g1int_neq (x, g1int2int (y)) implement{tk} compare_g1int_int (x, y) = g1int_compare (x, g1int2int (y)) (* ****** ****** *) implement{tk} lt_g0uint_int (x, y) = g0uint_lt (x, g0int2uint (y)) implement{tk} lte_g0uint_int (x, y) = g0uint_lte (x, g0int2uint (y)) implement{tk} gt_g0uint_int (x, y) = g0uint_gt (x, g0int2uint (y)) implement{tk} gte_g0uint_int (x, y) = g0uint_gte (x, g0int2uint (y)) implement{tk} eq_g0uint_int (x, y) = g0uint_eq (x, g0int2uint (y)) implement{tk} neq_g0uint_int (x, y) = g0uint_neq (x, g0int2uint (y)) (* ****** ****** *) implement{tk} lt_g1uint_int (x, y) = g1uint_lt (x, g1int2uint (y)) implement{tk} lte_g1uint_int (x, y) = g1uint_lte (x, g1int2uint (y)) implement{tk} gt_g1uint_int (x, y) = g1uint_gt (x, g1int2uint (y)) implement{tk} gte_g1uint_int (x, y) = g1uint_gte (x, g1int2uint (y)) implement{tk} eq_g1uint_int (x, y) = g1uint_eq (x, g1int2uint (y)) implement{tk} neq_g1uint_int (x, y) = g1uint_neq (x, g1int2uint (y)) (* ****** ****** *) (* end of [integer.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/strptr.dats0000664000175000017500000002202112655455557017341 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/strptr.atxt ** Time of generation: Fri Nov 20 19:49:32 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) #define CNUL '\000' #define nullp the_null_ptr (* ****** ****** *) overload + with add_ptr_bsz (* ****** ****** *) implement {}(*tmp*) strptr_is_null(str) = (strptr2ptr (str) = nullp) implement {}(*tmp*) strptr_isnot_null(str) = (strptr2ptr (str) > nullp) (* ****** ****** *) implement {}(*tmp*) strptr_is_empty(str) = let val p = strptr2ptr(str) in $UN.ptr1_get(p) = CNUL end // end of [strptr_is_empty] implement {}(*tmp*) strptr_isnot_empty(str) = let val p = strptr2ptr(str) in $UN.ptr1_get(p) != CNUL end // end of [strptr_isnot_empty] (* ****** ****** *) // implement {}(*tmp*) strnptr_get_at_size(str, i) = $UN.ptr0_get(strnptr2ptr(str)+i) // end of [strnptr_get_at_size] // implement {tk}(*tmp*) strnptr_get_at_gint(str, i) = strnptr_get_at_size(str, g1int2uint(i)) // end of [strnptr_get_at_gint] implement {tk}(*tmp*) strnptr_get_at_guint(str, i) = strnptr_get_at_size(str, g1uint2uint(i)) // end of [strnptr_get_at_guint] // (* ****** ****** *) // implement {}(*tmp*) strnptr_set_at_size(str, i, c) = $UN.ptr0_set(strnptr2ptr(str)+i, c) // end of [strnptr_set_at_size] // implement {tk}(*tmp*) strnptr_set_at_gint(str, i, c) = strnptr_set_at_size (str, g1int2uint(i), c) // end of [strnptr_set_at_gint] implement {tk}(*tmp*) strnptr_set_at_guint(str, i, c) = strnptr_set_at_size(str, g1uint2uint(i), c) // end of [strnptr_set_at_guint] // (* ****** ****** *) // implement lt_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) < 0 ) implement lte_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) <= 0 ) implement gt_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) > 0 ) implement gte_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) >= 0 ) implement eq_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) = 0 ) implement neq_strptr_strptr (x1, x2) = ( compare_strptr_strptr(x1, x2) != 0 ) // (* ****** ****** *) (* // // HX: implemented in [strptr.cats] // implement print_strptr (x) = fprint_strptr (stdout_ref, x) implement prerr_strptr (x) = fprint_strptr (stderr_ref, x) *) (* ****** ****** *) implement {}(*tmp*) strnptr_is_null (str) = (strnptr2ptr (str) = nullp) implement {}(*tmp*) strnptr_isnot_null (str) = (strnptr2ptr (str) > nullp) (* ****** ****** *) implement {}(*tmp*) strptr_length(x) = let val isnot = ptr_isnot_null(strptr2ptr(x)) in // if isnot then g0u2i(string_length($UN.strptr2string(x))) else g0i2i(~1) // end // end of [strptr_length] implement {}(*tmp*) strnptr_length(x) = let prval () = lemma_strnptr_param (x) val isnot = ptr_isnot_null(strnptr2ptr(x)) in // if isnot then g1u2i(string_length($UN.strnptr2string(x))) else g1i2i(~1) // end // end of [strnptr_length] (* ****** ****** *) implement {}(*tmp*) strptr0_copy(x) = let val isnot = ptr_isnot_null(strptr2ptr(x)) in // if isnot then string0_copy($UN.strptr2string(x)) else strptr_null() // end // end of [strptr0_copy] implement {}(*tmp*) strptr1_copy(x) = string0_copy($UN.strptr2string(x)) (* ****** ****** *) implement {}(*tmp*) strnptr_copy {n}(x) = x2 where { val x = strnptr2ptr(x) val x = $UN.castvwtp0{Strptr0}(x) val x2 = $UN.castvwtp0{strnptr(n)}(strptr0_copy(x)) prval ((*void*)) = $UN.cast2void(x) } (* end of [strnptr_copy] *) (* ****** ****** *) implement {}(*tmp*) strptr_append (x1, x2) = let // val isnot1 = ptr_isnot_null (strptr2ptr(x1)) // in // if isnot1 then let // val isnot2 = ptr_isnot_null (strptr2ptr(x2)) // in // if isnot2 then strnptr2strptr(string1_append ($UN.strptr2string(x1), $UN.strptr2string(x2))) else strptr1_copy (x1) // end of [if] // end else strptr0_copy (x2) // end of [if] // end // end of [strptr_append] (* ****** ****** *) implement {}(*tmp*) strptrlst_free (xs) = let // fun loop (xs: List_vt(Strptr0)): void = let in // case+ xs of | ~list_vt_cons (x, xs) => (strptr_free (x); loop (xs)) | ~list_vt_nil () => () // end // end of [loop] // in $effmask_all (loop (xs)) end // end of [strptrlst_free] (* ****** ****** *) implement {}(*tmp*) strptrlst_concat (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n0:nat} .. ( xs: &list_vt(Strptr0, n0)>>list_vt(Strptr1, n1) ) : #[n1:nat | n1 <= n0] void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val isnot = strptr_isnot_null (x) in if isnot then let val () = loop (xs1) prval () = fold@ (xs) in // nothing end else let prval () = strptr_free_null (x) val xs1 = xs1 val () = free@{..}{0}(xs) val ((*void*)) = (xs := xs1) in loop (xs) end // end of [if] end // end of [list_vt_cons] | @list_vt_nil () => fold@ (xs) // end // end of [loop] // var xs = xs val () = loop (xs) // in // case+ xs of | ~list_vt_nil () => strptr_null () | ~list_vt_cons (x, ~list_vt_nil ()) => x | _ => let val res = stringlst_concat ($UN.castvwtp1{List(string)}(xs)) val () = loop (xs) where { fun loop {n:nat} .. (xs: list_vt (Strptr1, n)): void = case+ xs of | ~list_vt_cons (x, xs) => (strptr_free (x); loop (xs)) | ~list_vt_nil ((*void*)) => () // end of [loop] } // end of [where] // end of [val] in res end // end of [_] // end // end of [strptrlst_concat] (* ****** ****** *) implement {env}(*tmp*) strnptr_foreach$cont (c, env) = true (* ****** ****** *) implement {}(*tmp*) strnptr_foreach (str) = let var env: void = () in strnptr_foreach_env (str, env) end // end of [strnptr_foreach] (* ****** ****** *) implement {env}(*tmp*) strnptr_foreach_env {n}(str, env) = let // fun loop ( p: ptr, env: &env >> _ ) : ptr = let // #define NUL '\000' // val c = $UN.ptr0_get (p) // in // if (c != NUL) then let val (pf, fpf | p) = $UN.ptr0_vtake{charNZ}(p) val cont = strnptr_foreach$cont (!p, env) // end of [val] in if cont then let val () = strnptr_foreach$fwork (!p, env) prval ((*void*)) = fpf (pf) in loop (ptr_succ (p), env) end // end of [then] else let prval ((*void*)) = fpf (pf) in (p) end // end of [else] end // end of [then] else (p) // end of [else] // end // end of [loop] // val p0 = ptrcast(str) // in $UN.cast{sizeLte(n)}(loop (p0, env) - p0) end // end of [strnptr_foreach_env] (* ****** ****** *) implement {env}(*tmp*) strnptr_rforeach$cont (c, env) = true (* ****** ****** *) implement {}(*tmp*) strnptr_rforeach (str) = let // var env: void = () // in strnptr_rforeach_env (str, env) end // end of [strnptr_rforeach] (* ****** ****** *) implement {env}(*tmp*) strnptr_rforeach_env {n}(str, env) = let // fun loop ( p0: ptr, p1: ptr, env: &env >> _ ) : ptr = let in // if (p1 > p0) then let val p2 = ptr_pred (p1) val (pf, fpf | p2) = $UN.ptr0_vtake{charNZ}(p2) val cont = strnptr_rforeach$cont (!p2, env) // end of [val] in if cont then let val () = strnptr_rforeach$fwork (!p2, env) prval ((*void*)) = fpf (pf) in loop (p0, p2, env) end // end of [then] else let prval ((*void*)) = fpf (pf) in (p1) end // end of [else] end // end of [then] else (p1) // end of [else] // end // end of [loop] // val p0 = ptrcast(str) val p1 = ptr_add (p0, length(str)) // in $UN.cast{sizeLte(n)}(p1 - loop (p0, p1, env)) end // end of [strnptr_rforeach_env] (* ****** ****** *) (* end of [strptr.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/stream.dats0000664000175000017500000003253312655455557017307 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list.atxt ** Time of generation: Fri Oct 23 21:36:28 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // implement {a}(*tmp*) stream_sing(x) = stream_cons{a}(x, $delay(stream_nil)) // (* ****** ****** *) implement {a}(*tmp*) stream2list (xs) = let // fun loop ( xs: stream (a), res: &ptr? >> List0_vt (a) ) : void = let in case+ !xs of | stream_cons (x, xs) => let val () = res := list_vt_cons{a}{0}(x, _) val+list_vt_cons (_, res1) = res val ((*void*)) = loop (xs, res1) in fold@ (res) end // end of [stream_cons] | stream_nil () => res := list_vt_nil () end // end of [loop] var res: ptr // uninitialized val () = $effmask_all (loop (xs, res)) // in res end // end of [stream2list] (* ****** ****** *) implement {a}(*tmp*) stream_nth_exn (xs, n) = let in case+ !xs of | stream_cons (x, xs) => ( if n > 0 then stream_nth_exn (xs, pred(n)) else (x) // end of [if] ) | stream_nil () => $raise StreamSubscriptExn() end // end of [stream_nth_exn] implement {a}(*tmp*) stream_nth_opt (xs, n) = let in try Some_vt(stream_nth_exn (xs, n)) with ~StreamSubscriptExn() => None_vt() end // end of [stream_nth_opt] (* ****** ****** *) implement {a}(*tmp*) stream_take_exn (xs, n) = let // fun loop{n:nat} ( xs: stream a, res: &ptr? >> list_vt (a, n-k), n: int n ) : #[k:nat | k <= n] int k = if n > 0 then ( case+ !xs of | stream_cons (x, xs) => let val () = res := list_vt_cons{a}{0}(x, _) val+list_vt_cons (_, res1) = res val k = loop (xs, res1, pred(n)) prval () = fold@ (res) in k end // end of [stream_cons] | stream_nil () => let val () = res := list_vt_nil () in n end // end of [stream_nil] ) else let val () = res := list_vt_nil () in n end // end of [if] // var res: ptr // uninitialized val k = $effmask_all (loop (xs, res, n)) // in // $effmask_all ( if k = 0 then res else let val () = list_vt_free (res) in $raise StreamSubscriptExn() end // end of [if] ) // end of [$effmask_all] // end // end of [stream_take_exn] (* ****** ****** *) implement {a}(*tmp*) stream_drop_exn (xs, n) = let in // if n > 0 then ( case+ !xs of | stream_cons (_, xs) => stream_drop_exn (xs, pred(n)) | stream_nil () => $raise StreamSubscriptExn() ) else (xs) // end of [if] // end // end of [stream_drop_exn] (* ****** ****** *) implement {a}(*tmp*) stream_append (xs, ys) = let // fun aux ( xs: stream(a) , ys: stream(a) ) : stream_con(a) = case+ !xs of | stream_nil () => !ys | stream_cons (x, xs) => stream_cons (x, $delay (aux (xs, ys))) // in // $delay (aux (xs, ys)) // end // end of [stream_append] (* ****** ****** *) implement {a}(*tmp*) stream_concat (xss) = let // fun aux1 ( xss: stream(stream(a)) ) : stream_con(a) = ( case+ !xss of | stream_nil () => stream_nil () | stream_cons (xs, xss) => aux2 (xs, xss) ) and aux2 ( xs: stream(a), xss: stream(stream(a)) ) : stream_con(a) = case+ !xs of | stream_nil () => aux1 (xss) | stream_cons (x, xs) => stream_cons (x, $delay (aux2 (xs, xss))) // in $delay (aux1 (xss)) end // end of [stream_concat] (* ****** ****** *) local fun{a:t0p} stream_filter_con (xs: stream a): stream_con(a) = let in // case+ !xs of | stream_cons (x, xs) => ( if stream_filter$pred (x) then stream_cons{a}(x, stream_filter (xs)) else stream_filter_con (xs) // end of [if] ) // end of [stream_cons] | stream_nil () => stream_nil () // end // end of [stream_filter_con] in (* in of [local] *) implement {a}(*tmp*) stream_filter (xs) = $delay (stream_filter_con (xs)) // end of [stream_filter] implement {a}(*tmp*) stream_filter_fun (xs, p) = let // implement{a2} stream_filter$pred (x) = p($UN.cast{a}(x)) // in stream_filter (xs) end // end of [stream_filter_fun] implement {a}(*tmp*) stream_filter_cloref (xs, p) = let // implement{a2} stream_filter$pred (x) = p($UN.cast{a}(x)) // in stream_filter (xs) end // end of [stream_filter_cloref] end // end of [local] (* ****** ****** *) implement {a}{b} stream_map (xs) = let // fun aux ( xs: stream (a) ) : stream (b) = $delay ( case+ !xs of | stream_nil () => stream_nil () | stream_cons (x, xs) => stream_cons{b}(stream_map$fopr (x), aux (xs)) // end of [stream_cons] ) : stream_con (b) // end of [$delay] // in aux (xs) end // end of [stream_map] implement {a}{b} stream_map_fun (xs, f) = let // implement {a2}{b2} stream_map$fopr (x) = $UN.cast{b2}(f($UN.cast{a}(x))) // in stream_map (xs) end // end of [stream_map_fun] implement {a}{b} stream_map_cloref (xs, f) = let // implement {a2}{b2} stream_map$fopr (x) = $UN.cast{b2}(f($UN.cast{a}(x))) // in stream_map (xs) end // end of [stream_map_cloref] (* ****** ****** *) implement {a}{b} stream_imap (xs) = let // fun aux ( i: intGte(0), xs: stream (a) ) : stream (b) = $delay ( case+ !xs of | stream_nil () => stream_nil () | stream_cons (x, xs) => let val y = stream_imap$fopr (i, x) // end of [val] in stream_cons{b}(y, aux (succ (i), xs)) end // end of [stream_cons] ) : stream_con (b) // end of [$delay] // in aux (0, xs) end // end of [stream_imap] implement {a}{b} stream_imap_fun (xs, f) = let // implement {a2}{b2} stream_imap$fopr (i, x) = $UN.cast{b2}(f(i, $UN.cast{a}(x))) // in stream_imap (xs) end // end of [stream_imap_fun] implement {a}{b} stream_imap_cloref (xs, f) = let // implement {a2}{b2} stream_imap$fopr (i, x) = $UN.cast{b2}(f(i, $UN.cast{a}(x))) // in stream_imap (xs) end // end of [stream_imap_cloref] (* ****** ****** *) local #define :: stream_cons in (* in of [local] *) implement {a1,a2}{b} stream_map2 ( xs1, xs2 ) = $delay ( ( case+ !xs1 of | x1 :: xs1 => ( case+ !xs2 of | x2 :: xs2 => let val y = stream_map2$fopr (x1, x2) // end of [val] in stream_cons{b}(y, stream_map2 (xs1, xs2)) end // end of [::] | stream_nil () => stream_nil () ) // end of [::] | stream_nil () => stream_nil () ) : stream_con (b) ) // end of [stream_map2] end // end of [local] implement {a1,a2}{b} stream_map2_fun (xs1, xs2, f) = let // implement {a12,a22}{b2} stream_map2$fopr (x1, x2) = $UN.cast{b2}(f($UN.cast{a1}(x1), $UN.cast{a2}(x2))) // in stream_map2 (xs1, xs2) end // end of [stream_map2_fun] implement {a1,a2}{b} stream_map2_cloref (xs1, xs2, f) = let // implement {a12,a22}{b2} stream_map2$fopr (x1, x2) = $UN.cast{b2}(f($UN.cast{a1}(x1), $UN.cast{a2}(x2))) // in stream_map2 (xs1, xs2) end // end of [stream_map2_cloref] (* ****** ****** *) implement {res}{x} stream_scan (xs, ini) = let // fun aux ( xs: stream(x), ini: res ) : stream (res) = $delay ( case+ !xs of | stream_nil () => stream_nil () // end of [stream_nil] | stream_cons(x, xs) => stream_cons{res} (stream_scan$fopr (ini, x), aux (xs, ini)) // end of [stream_cons] ) : stream_con(res) // end of [$delay] // in aux (xs, ini) end // end of [stream_scan] (* ****** ****** *) implement {res}{x} stream_scan_fun (xs, ini, f) = let // implement {res2}{x2} stream_scan$fopr (ini, x) = $UN.cast{res2}(f($UN.cast{res}(ini), $UN.cast{x}(x))) // in stream_scan (xs, ini) end // end of [stream_scan_fun] implement {res}{x} stream_scan_cloref (xs, ini, f) = let // implement {res2}{x2} stream_scan$fopr (ini, x) = $UN.cast{res2}(f($UN.cast{res}(ini), $UN.cast{x}(x))) // in stream_scan (xs, ini) end // end of [stream_scan_cloref] (* ****** ****** *) local #define :: stream_cons in (* in of [local] *) implement {a}(*tmp*) stream_merge (xs10, xs20) = $delay ( ( case+ !xs10 of | x1 :: xs1 => ( case+ !xs20 of | x2 :: xs2 => let val sgn = stream_merge$cmp (x1, x2) // end of [val] in if sgn <= 0 then stream_cons{a}(x1, stream_merge (xs1, xs20)) else stream_cons{a}(x2, stream_merge (xs10, xs2)) // end of [if] end // end of [::] | stream_nil () => stream_cons{a}(x1, xs1) ) (* end of [::] *) | stream_nil () => !xs20 ) : stream_con (a) ) // end of [stream_merge] end // end of [local] implement {a}(*tmp*) stream_merge_fun (xs1, xs2, cmp) = let // implement{a2} stream_merge$cmp (x1, x2) = cmp ($UN.cast{a}(x1), $UN.cast{a}(x2)) // in stream_merge (xs1, xs2) end // end of [stream_merge_fun] implement {a}(*tmp*) stream_merge_cloref (xs1, xs2, cmp) = let // implement{a2} stream_merge$cmp (x1, x2) = cmp ($UN.cast{a}(x1), $UN.cast{a}(x2)) // in stream_merge (xs1, xs2) end // end of [stream_merge_cloref] (* ****** ****** *) // implement {a}(*tmp*) stream_merge$cmp (x1, x2) = gcompare_val_val (x1, x2) // (* ****** ****** *) local #define :: stream_cons in (* in of [local] *) implement {a}(*tmp*) stream_mergeq (xs10, xs20) = $delay ( ( case+ !xs10 of | x1 :: xs1 => ( case+ !xs20 of | x2 :: xs2 => let val sgn = stream_mergeq$cmp (x1, x2) // end of [val] in if sgn < 0 then stream_cons{a}(x1, stream_mergeq (xs1, xs20)) else if sgn > 0 then stream_cons{a}(x2, stream_mergeq (xs10, xs2)) else stream_cons{a}(x1(*=x2*), stream_mergeq (xs1, xs2)) // end of [if] end // end of [::] | stream_nil () => stream_cons{a}(x1, xs1) ) (* end of [::] *) | stream_nil () => !xs20 ) : stream_con (a) ) // end of [stream_mergeq] end // end of [local] implement {a}(*tmp*) stream_mergeq_fun (xs1, xs2, cmp) = let // implement{a2} stream_mergeq$cmp (x1, x2) = cmp ($UN.cast{a}(x1), $UN.cast{a}(x2)) // in stream_mergeq (xs1, xs2) end // end of [stream_mergeq_fun] implement {a}(*tmp*) stream_mergeq_cloref (xs1, xs2, cmp) = let // implement{a2} stream_mergeq$cmp (x1, x2) = cmp ($UN.cast{a}(x1), $UN.cast{a}(x2)) // in stream_mergeq (xs1, xs2) end // end of [stream_mergeq_cloref] (* ****** ****** *) // implement {a}(*tmp*) stream_mergeq$cmp (x1, x2) = gcompare_val_val (x1, x2) // (* ****** ****** *) implement {a}(*tmp*) stream_tabulate () = let // fun aux{n:nat} ( n: int(n) ) : stream(a) = $delay ( stream_cons{a}(stream_tabulate$fopr (n), aux (n+1)) ) // in aux (0) end // end of [stream_tabulate] (* ****** ****** *) implement {a}(*tmp*) stream_tabulate_fun (f) = let // implement {a2}(*tmp*) stream_tabulate$fopr (n) = $UN.cast{a2}(f(n)) // in stream_tabulate () end // end of [stream_tabulate_fun] implement {a}(*tmp*) stream_tabulate_cloref (f) = let // implement {a2}(*tmp*) stream_tabulate$fopr (n) = $UN.cast{a2}(f(n)) // in stream_tabulate () end // end of [stream_tabulate_cloref] (* ****** ****** *) implement {a}{env} stream_foreach$cont (x, env) = true implement {a}(*tmp*) stream_foreach (xs) = let var env: void = () in stream_foreach_env (xs, env) end // end of [stream_foreach] implement {a}{env} stream_foreach_env (xs, env) = let // fun loop ( xs: stream(a), env: &env >> _ ) : void = ( // case+ !xs of | stream_nil () => () | stream_cons (x, xs) => let val test = stream_foreach$cont (x, env) // end of [val] in if test then let val () = stream_foreach$fwork (x, env) // end of [val] in loop (xs, env) end // end of [then] else () // end of [else] // end of [if] end // end of [stream_cons] // ) (* end of [loop] *) // in loop (xs, env) end (* end of [stream_foreach_env] *) (* ****** ****** *) implement {a}(*tmp*) fprint_stream (out, xs, n) = let // var env: int = 0 typedef tenv = int // implement stream_foreach$cont (x, env) = if n > env then true else false implement stream_foreach$fwork (x, env) = { val () = if env > 0 then fprint_stream$sep<> (out) // end of [if] val () = env := env + 1 val () = fprint_val (out, x) } (* end of [stream_foreach$fwork] *) // in stream_foreach_env (xs, env) end // end of [fprint_stream] implement{} fprint_stream$sep (out) = fprint_string (out, ", ") (* ****** ****** *) (* end of [stream.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/0000775000175000017500000000000012655455557015773 5ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/DATS/SHARE/array_bsearch.dats0000664000175000017500000000565112655455557021464 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/array.atxt ** Time of generation: Tue Mar 10 10:28:41 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {a}(*tmp*) array_bsearch {n} (A, asz) = let // fun loop {l,r:nat | l <= r; r <= n} .. ( A: &array (a, n), l: size_t l, r: size_t r ) :<> sizeLte (n) = ( if l < r then let val m = l + half (r-l) val pm = addr@ (A.[m]) val ( pf, fpf | pm ) = $UN.ptr_vtake{a}(pm) val sgn = array_bsearch$ford (!pm) prval () = fpf (pf) in if sgn <= 0 then loop (A, l, m) else loop (A, succ(m), r) end else l (* end of [if] *) ) // prval () = lemma_array_param (A) // in loop (A, g1i2u(0), asz) end (* end of [array_bsearch] *) (* ****** ****** *) implement {a}(*tmp*) array_bsearch_fun (A, asz, key, cmp) = let // val p0 = addr@(key) // implement array_bsearch$ford (x) = sgn where { // val ( pf, fpf | p0 ) = $UN.ptr_vtake (p0) val sgn = cmp (!p0, x) prval ((*void*)) = fpf (pf) // } (* endimp *) // in array_bsearch (A, asz) end (* end of [array_bsearch_fun] *) (* ****** ****** *) (* // // HX: [qsort] is in libc/stdlib // void *bsearch ( const void *key , const void *base , size_t nmemb, size_t size , int (*compar)(const void *, const void *) ) ; // end of [bsearch] *) implement{a} array_bsearch_stdlib (A, asz, key, cmp) = let in // $extfcall ( Ptr0, "atspre_array_bsearch", addr@(key), addr@(A), asz, sizeof, cmp ) // end of [$extfcall] // end // end of [array_bsearch_stdlib] (* ****** ****** *) (* end of [array_bsearch.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gnumber_int.dats0000664000175000017500000000655112655455557021170 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gnumber_int.atxt ** Time of generation: Tue Mar 10 10:28:40 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gnumber_int (x) = g0int2int_int_int (x) implement gnumber_int (x) = g0int2int_int_lint (x) implement gnumber_int (x) = g0int2int_int_llint (x) implement gnumber_int (x) = g0int2int_int_ssize (x) (* ****** ****** *) implement gneg_val (x) = ~x implement gneg_val (x) = ~x implement gneg_val (x) = ~x (* ****** ****** *) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) (* ****** ****** *) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) (* ****** ****** *) implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y (* ****** ****** *) implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y (* ****** ****** *) implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y (* ****** ****** *) implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y (* ****** ****** *) implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y (* ****** ****** *) (* implement gconjugate_val (x) = x implement gconjugate_val (x) = x implement gconjugate_val (x) = x implement gconjugate_val (x) = x *) (* ****** ****** *) (* end of [gnumber_int.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gnumber_float.dats0000664000175000017500000000675512655455557021511 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gnumber.atxt ** Time of generation: Tue Mar 10 10:28:40 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gnumber_int (x) = g0int2float_int_float (x) implement gnumber_int (x) = g0int2float_int_double (x) (* implement gnumber_int (x) = g0int2float_int_ldouble (x) *) (* ****** ****** *) implement gnumber_double (x) = g0float2float_double_float (x) implement gnumber_double (x) = g0float2float_double_double (x) (* implement gnumber_double (x) = g0float2float_double_ldouble (x) *) (* ****** ****** *) implement gneg_val (x) = ~x implement gneg_val (x) = ~x implement gneg_val (x) = ~x (* ****** ****** *) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) (* ****** ****** *) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) (* ****** ****** *) implement grecip_val (x) = 1.0f / x implement grecip_val (x) = 1.0 / x implement grecip_val (x) = 1.0l / x (* ****** ****** *) implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y (* ****** ****** *) implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y (* ****** ****** *) implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y (* ****** ****** *) implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y (* ****** ****** *) implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y (* ****** ****** *) (* implement gconjugate_val (x) = x implement gconjugate_val (x) = x implement gconjugate_val (x) = x *) (* ****** ****** *) (* end of [gnumber_float.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_bool.dats0000664000175000017500000000313012655455557021142 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_bool.atxt ** Time of generation: Tue Mar 10 10:28:39 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gcompare_val_val = compare_bool0_bool0 (* end of [gorder_bool.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/list_vt_mergesort.dats0000664000175000017500000001303712655455557022427 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list_vt_mergesort.atxt ** Time of generation: Tue Mar 10 10:28:40 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {a}(*tmp*) list_vt_mergesort$cmp (x1, x2) = ( gcompare_ref_ref (x1, x2) ) // end of [list_vt_mergesort$cmp] (* ****** ****** *) // extern fun{ a:vt0p } list_vt_insort {n:int}(xs: list_vt (a, n)): list_vt (a, n) // (* ****** ****** *) implement {a}(*tmp*) list_vt_insort (xs) = let // fun insord {l0,l1,l2:addr}{n:nat} .. ( pf1: a @ l1 , pf2: list_vt (a, 0)? @ l2 | xs0: &list_vt (a, n) >> list_vt (a, n+1) , nx0: list_vt_cons_unfold (l0, l1, l2), p1: ptr (l1), p2: ptr (l2) ) : void = let in // case+ xs0 of | @list_vt_cons (x0, xs1) => let val sgn = list_vt_mergesort$cmp (x0, !p1) in if sgn <= 0 then let val () = insord (pf1, pf2 | xs1, nx0, p1, p2) prval () = fold@ (xs0) in // nothing end // end of [then] else let prval () = fold@ (xs0) val () = (!p2 := xs0; xs0 := nx0) prval () = fold@ (xs0) in // nothing end // end of [else] // end of [if] end // end of [list_vt_cons] | ~list_vt_nil () => { val () = xs0 := nx0 val () = !p2 := list_vt_nil () prval () = fold@ (xs0) } // end (* end of [insord] *) // fun loop{m,n:nat} .. ( xs: list_vt (a, m) , ys: &list_vt (a, n) >> list_vt (a, m+n) ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val xs1_ = xs1 val ((*void*)) = insord (view@x, view@xs1 | ys, xs, addr@x, addr@xs1) // end of [val] in loop (xs1_, ys) end // end of [list_vt_cons] | ~list_vt_nil ((*void*)) => () // end // end of [loop] // prval () = lemma_list_vt_param (xs) // var ys = list_vt_nil{a}() val ((*void*)) = loop (xs, ys) // in ys end // end of [list_vt_insort] (* ****** ****** *) #define CUTOFF 12 (* ****** ****** *) implement {a}(*tmp*) list_vt_mergesort {n} (xs) = let // fun split {n,n1:int | n >= n1; n1 >= 0} .. ( xs: &list_vt (a, n) >> list_vt (a, n1) , n1: int n1, res: &List_vt a? >> list_vt (a, n-n1) ) : void = let in // if n1 > 0 then let val+@list_vt_cons (_, xs1) = xs val () = split (xs1, n1-1, res) in fold@ (xs) end else let val () = res := xs val () = xs := list_vt_nil () in // nothing end // end of [if] // end // end of [split] // fun merge {n1,n2:nat} .. ( xs1: list_vt (a, n1) , xs2: list_vt (a, n2) , res: &List_vt a? >> list_vt (a, n1+n2) ) : void = let in // case+ xs1 of | @list_vt_cons (x1, xs11) => ( case+ xs2 of | @list_vt_cons (x2, xs21) => let val sgn = list_vt_mergesort$cmp (x1, x2) // end of [val] in if sgn <= 0 then let prval () = fold@{a}(xs2) val () = merge (xs11, xs2, xs11) prval () = fold@{a}(xs1) in res := xs1 end else let prval () = fold@{a}(xs1) val () = merge (xs1, xs21, xs21) prval () = fold@{a}(xs2) in res := xs2 end // end of [if] end // end of [list_vt_cons] | ~list_vt_nil () => (fold@ (xs1); res := xs1) ) // end of [list_vt_cons] | ~list_vt_nil () => (res := xs2) // end // end of [merge] // fun msort{n:nat} .. ( xs: list_vt(a, n), n: int(n) ) : list_vt(a, n) = ( if n >= CUTOFF then let val n1 = half(n+1) val+@list_vt_cons (_, xs1) = xs var res: List_vt a? // uninitialized val () = split (xs1, n1-1, res) prval () = fold@ (xs) val xs1 = msort (xs, n1) and xs2 = msort (res, n-n1) val () = merge (xs1, xs2, res) in res end // end of [then] else list_vt_insort (xs) ) (* end of [msort] *) // prval () = lemma_list_vt_param (xs) // in msort (xs, list_vt_length (xs)) end // end of [list_vt_mergesort] (* ****** ****** *) implement {a}(*tmp*) list_vt_mergesort_fun (xs, cmp) = let // implement{a2} list_vt_mergesort$cmp (x1, x2) = let // val cmp = $UN.cast{cmpref(a2)}(cmp) in cmp (x1, x2) // end (* end of [list_vt_mergesort$cmp] *) // in list_vt_mergesort (xs) end // end of [list_vt_mergesort_fun] (* ****** ****** *) (* end of [list_vt_mergesort.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_string.dats0000664000175000017500000000316512655455557021525 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_string.atxt ** Time of generation: Tue Mar 10 10:28:39 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gcompare_val_val = compare_string_string (* ****** ****** *) (* end of [gorder_string.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_int.dats0000664000175000017500000000342412655455557021007 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_int.atxt ** Time of generation: Tue Mar 10 10:28:38 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) // implement gcompare_val_val = g0int_compare_int implement gcompare_val_val = g0int_compare_lint implement gcompare_val_val = g0int_compare_llint implement gcompare_val_val = g0int_compare_ssize // (* ****** ****** *) (* end of [gorder_int.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/array_quicksort.dats0000664000175000017500000001473012655455557022077 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/array.atxt ** Time of generation: Fri Apr 3 17:36:22 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) (* // // HX-2013-04: // Instead of employing advanced types, I happily // ventured into the typeless territory of unsafe // pointer arithmetic! // *) (* ****** ****** *) implement {a}(*tmp*) array_quicksort$cmp (x1, x2) = ( gcompare_ref_ref (x1, x2) ) // end of [array_quicksort$cmp] (* ****** ****** *) implement {a}(*tmp*) array_quicksort (A, asz) = let // overload + with add_ptr0_bsz overload - with sub_ptr0_bsz // (* ****** ****** *) // fun ptrcmp ( p1: ptr, p2: ptr ) : int = (sgn) where { // val p1 = g1ofg0_ptr(p1) val p2 = g1ofg0_ptr(p2) // val ( pf1, fpf1 | p1 ) = $UN.ptr_vtake{a}(p1) val ( pf2, fpf2 | p2 ) = $UN.ptr_vtake{a}(p2) // val sgn = array_quicksort$cmp (!p1, !p2) // prval () = fpf1 (pf1) prval () = fpf2 (pf2) // } (* end of [ptrcmp] *) (* ****** ****** *) (* // // HX-2013-04: // move min to the start // HX-2013-04: // this is not a safe approach // in case [cmp] is not transitive! // fun auxmin ( pa: ptr, p: ptr, tsz: size_t ) : void = let in // if pa < p then let val p1 = p - tsz val sgn = ptrcmp (p1, p) val () = if sgn > 0 then $UN.ptr0_intch (p1, p) // end of [val] in auxmin (pa, p1, tsz) end (* end of [if] *) // end (* end of [auxmin] *) *) // // HX: one round of insertion // fun auxins ( pa: ptr, p: ptr, tsz: size_t ) : void = let in // if pa < p then let val p1 = p - tsz val sgn = ptrcmp (p1, p) in if sgn > 0 then let val () = $UN.ptr0_intch (p1, p) in auxins (pa, p1, tsz) end // end of [if] end else () // end of [if] // end (* end of [auxins] *) // // HX: all rounds of insertion // fun auxinss ( pa: ptr, pz: ptr, p: ptr, tsz: size_t ) : void = let in // if p < pz then let val () = auxins (pa, p, tsz) in auxinss (pa, pz, p + tsz, tsz) end // end of [if] // end (* end of [auxinss] *) (* ****** ****** *) // // HX: insertion sorting // fun auxinsort ( pa: ptr, asz: size_t, tsz: size_t ) : void = let val pz = pa + asz * tsz in // if pa < pz then let val () = auxinss (pa, pz, pa + tsz, tsz) in (* nothing *) end else () // end of [if] // end (* end of [auxinsort] *) (* ****** ****** *) // // HX: locate the middle of 3 // fun auxmid ( p1: ptr, p2: ptr, p3: ptr ) : ptr = let val sgn12 = ptrcmp (p1, p2) in // if sgn12 <= 0 then ( if ptrcmp (p2, p3) <= 0 then p2 else (if ptrcmp (p1, p3) <= 0 then p3 else p1) ) else ( if ptrcmp (p1, p3) <= 0 then p1 else (if ptrcmp (p2, p3) <= 0 then p3 else p2) ) // end of [if] end (* end of [auxmid] *) // // HX: pivot to the start // fun auxpivot ( pa: ptr, asz: size_t, tsz: size_t ) : void = let // val pm = auxmid ( pa, pa + half(asz) * tsz, pa + pred(asz) * tsz ) (* end of [val] *) // in $UN.ptr0_intch (pa, pm) end (* end of [auxpivot] *) (* ****** ****** *) // // HX-2013-04: // Invariants: // 1. elements in [pa, pl) <= pivot // 2. elements in (pr, pz) >= pivot // fun auxsplit_l ( pa: ptr, pl: ptr, pr: ptr, tsz: size_t ) : ptr = ( if pl <= pr then let val sgn = ptrcmp (pl, pa) in // if sgn <= 0 then auxsplit_l (pa, pl + tsz, pr, tsz) else pl // end else pl // end of [if] ) (* end of [auxsplit_l] *) fun auxsplit_r ( pa: ptr, pl: ptr, pr: ptr, tsz: size_t ) : ptr = ( if pl <= pr then let val sgn = ptrcmp (pa, pr) in // if sgn <= 0 then auxsplit_r (pa, pl, pr - tsz, tsz) else pr // end else pr // end of [if] ) (* end of [auxsplit_r] *) fun auxsplit_lr ( pa: ptr, pl: ptr, pr: ptr, tsz: size_t ) : ptr = let val pl = auxsplit_l (pa, pl, pr, tsz) val pr = auxsplit_r (pa, pl, pr, tsz) in // if pl < pr then let val () = $UN.ptr0_intch (pl, pr) in auxsplit_lr (pa, pl + tsz, pr - tsz, tsz) end else pl (* end of [if] *) // end (* end of [auxsplit_lr] *) (* ****** ****** *) #define CUTOFF 12 (* ****** ****** *) // // HX: quick-sorting // fun auxqsort ( pa: ptr, asz: size_t, tsz: size_t ) : void = let in // if asz >= CUTOFF then let val () = auxpivot (pa, asz, tsz) val pz = pa + asz * tsz val pm = auxsplit_lr (pa, pa + tsz, pz - tsz, tsz) val pm1 = pm - tsz val () = $UN.ptr0_intch (pa, pm1) val asz_f = $UN.cast2size(pm1-pa) / tsz val asz_r = pred (asz - asz_f) in if asz_f <= asz_r then let val () = auxqsort (pa, asz_f, tsz) val () = auxqsort (pm, asz_r, tsz) in // nothing end else let val () = auxqsort (pm, asz_r, tsz) val () = auxqsort (pa, asz_f, tsz) in // nothing end (* end of [if] *) end else auxinsort (pa, asz, tsz) // end of [if] // end (* end of [auxqsort] *) (* ****** ****** *) in (* in of [let] *) // $effmask_all (auxqsort (addr@(A), asz, sizeof)) // end (* end of [array_quicksort] *) (* ****** ****** *) (* // // HX: [qsort] is in libc/stdlib // void qsort ( void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *) ) ; // end of [qsort] *) implement {a}(*tmp*) array_quicksort_stdlib (A, asz, cmp) = let in $extfcall (void, "atspre_array_qsort", addr@(A), asz, sizeof, cmp) end (* end of [array_quicksort_stdlib] *) (* ****** ****** *) (* end of [array_quicksort.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gnumber_uint.dats0000664000175000017500000000644612655455557021360 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gnumber_uint.atxt ** Time of generation: Tue Mar 10 10:28:40 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gnumber_int (x) = g0int2uint_int_uint (x) implement gnumber_int (x) = g0int2uint_int_ulint (x) implement gnumber_int (x) = g0int2uint_int_ullint (x) (* ****** ****** *) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) implement gsucc_val (x) = succ (x) (* ****** ****** *) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) implement gpred_val (x) = pred (x) (* ****** ****** *) implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y implement gadd_val_val (x, y) = x + y (* ****** ****** *) implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y implement gsub_val_val (x, y) = x - y (* ****** ****** *) implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y implement gmul_val_val (x, y) = x * y (* ****** ****** *) implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y implement gdiv_val_val (x, y) = x / y (* ****** ****** *) implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y implement gmod_val_val (x, y) = x mod y (* ****** ****** *) (* implement gconjugate_val (x) = x implement gconjugate_val (x) = x implement gconjugate_val (x) = x implement gconjugate_val (x) = x *) (* ****** ****** *) (* end of [gnumber_uint.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_char.dats0000664000175000017500000000315512655455557021133 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_char.atxt ** Time of generation: Tue Mar 10 10:28:39 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gcompare_val_val = compare_char0_char0 (* ****** ****** *) (* end of [gorder_char.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_float.dats0000664000175000017500000000332712655455557021324 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_float.atxt ** Time of generation: Tue Mar 10 10:28:39 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement gcompare_val_val = g0float_compare_float implement gcompare_val_val = g0float_compare_double implement gcompare_val_val = g0float_compare_ldouble (* end of [gorder_float.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/.keeper0000664000175000017500000000000012655455557017235 0ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/DATS/SHARE/gorder_uint.dats0000664000175000017500000000343612655455557021177 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder_uint.atxt ** Time of generation: Tue Mar 10 10:28:38 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) // implement gcompare_val_val = g0uint_compare_uint implement gcompare_val_val = g0uint_compare_ulint implement gcompare_val_val = g0uint_compare_ullint implement gcompare_val_val = g0uint_compare_size // (* ****** ****** *) (* end of [gorder_uint.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/SHARE/list_vt_quicksort.dats0000664000175000017500000000712612655455557022446 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list_vt_quicksort.atxt ** Time of generation: Sun Mar 22 22:18:47 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} list_vt_quicksort$cmp (x1, x2) = ( gcompare_ref_ref (x1, x2) ) (* end of [list_vt_quicksort$cmp] *) (* ****** ****** *) (* ** HX-2012-05: ** (1) Copying a list into an array ** (2) Performing quicksort on the array ** (3) Copying it back into the list *) implement {a}(*tmp*) list_vt_quicksort {n} (xs) = let // fun copyout {n:nat} .. ( xs: !list_vt (a, n), p: ptr ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val ( ) = $UN.ptr0_set (p, $UN.ptr0_get (addr@(x))) val () = copyout (xs1, ptr0_succ (p)) in fold@ (xs) end // end of [list_vt_cons] | list_vt_nil ((*void*)) => () // end // end of [copyout] // fun copyinto {n:nat} .. ( xs: !list_vt (a, n), p: ptr ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val ( ) = $UN.ptr0_set (addr@(x), $UN.ptr0_get (p)) val () = copyinto (xs1, ptr0_succ (p)) in fold@ (xs) end // end of [list_vt_cons] | list_vt_nil ((*void*)) => () // end // end of [copyinto] // implement array_quicksort$cmp (x1, x2) = list_vt_quicksort$cmp (x1, x2) // end of [array_quicksort$cmp] // prval () = lemma_list_vt_param (xs) // val n = list_vt_length (xs) // val [l:addr] (pfat, pfgc | p0) = array_ptr_alloc (i2sz(n)) // extern praxi __out (pf: !array_v (a?, l, n) >> array_v (a, l, n)): void extern praxi __into (pf: !array_v (a, l, n) >> array_v (a?, l, n)): void // val () = copyout (xs, p0) prval () = __out (pfat) val () = array_quicksort (!p0, i2sz(n)) prval () = __into (pfat) val () = copyinto (xs, p0) // val () = array_ptr_free {a} (pfat, pfgc | p0) // in xs end // end of [list_vt_quicksort] (* ****** ****** *) implement {a}(*tmp*) list_vt_quicksort_fun (xs, cmp) = let // implement{a2} list_vt_quicksort$cmp (x1, x2) = let // val cmp = $UN.cast{cmpref(a2)}(cmp) in cmp (x1, x2) // end (* end of [list_vt_quicksort$cmp] *) // in list_vt_quicksort (xs) end // end of [list_vt_quicksort_fun] (* ****** ****** *) (* end of [list_vt_quicksort.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/unsafe.dats0000664000175000017500000001136012655455557017270 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/unsafe.atxt ** Time of generation: Sat Jun 27 21:39:26 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) staload "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{ } int2ptr (i) = cast{ptr}(cast{intptr}(i)) implement{ } ptr2int (p) = cast{int}(cast{intptr}(p)) (* ****** ****** *) implement {a}(*tmp*) ptr0_get (p) = x where { val [l:addr] p = g1ofg0_ptr(p) prval (pf, fpf) = __assert () where { extern praxi __assert (): (a @ l, a? @ l - void) } // end of [prval] val x = !p prval () = fpf (pf) } // end of [ptr0_get] implement{a} ptr1_get = ptr0_get (* ****** ****** *) implement {a}(*tmp*) ptr0_set (p, x) = () where { val [l:addr] p = g1ofg0_ptr(p) prval (pf, fpf) = __assert () where { extern praxi __assert (): (a? @ l, a @ l - void) } // end of [prval] val () = !p := x prval () = fpf (pf) } // end of [ptr0_set] implement{a} ptr1_set = ptr0_set (* ****** ****** *) implement {a}(*tmp*) ptr0_exch (p, x) = () where { val p = g1ofg0_ptr(p) val (pf, fpf | p) = ptr_vtake{a}(p) val tmp = !p val ( ) = !p := x val ( ) = x := tmp prval () = fpf (pf) } // end of [ptr0_exch] implement{a} ptr1_exch = ptr0_exch (* ****** ****** *) implement {a}(*tmp*) ptr0_intch (p1, p2) = () where { val p1 = g1ofg0_ptr(p1) val p2 = g1ofg0_ptr(p2) val (pf1, fpf1 | p1) = ptr_vtake{a}(p1) val (pf2, fpf2 | p2) = ptr_vtake{a}(p2) val tmp = !p1 val ( ) = !p1 := !p2 val ( ) = !p2 := tmp prval () = fpf1 (pf1) prval () = fpf2 (pf2) } (* end of [ptr0_intch] *) implement{a} ptr1_intch = ptr0_intch (* ****** ****** *) // implement {a}(*tmp*) ptr0_get_at_int (p, i) = ptr0_get (ptr0_add_gint (p, i)) implement {a}(*tmp*) ptr0_set_at_int (p, i, x) = ptr0_set (ptr0_add_gint (p, i), x) // implement {a}(*tmp*) ptr0_get_at_size (p, i) = ptr0_get (ptr0_add_guint (p, i)) implement {a}(*tmp*) ptr0_set_at_size (p, i, x) = ptr0_set (ptr0_add_guint (p, i), x) // (* ****** ****** *) implement{a} cptr_get (p) = ptr1_get (cptr2ptr(p)) implement{a} cptr_set (p, x) = ptr1_set (cptr2ptr(p), x) implement{a} cptr_exch (p, x) = ptr1_exch (cptr2ptr(p), x) (* ****** ****** *) implement{a} ptr0_addby (p, x) = let val x0 = ptr0_get (p) in ptr0_set (p, gadd_val_val (x0, x)) end // end of [ptr0_addby] implement{a} ptr1_addby = ptr0_addby implement{a} ptr0_subby (p, x) = let val x0 = ptr0_get (p) in ptr0_set (p, gsub_val_val (x0, x)) end // end of [ptr0_subby] implement{a} ptr1_subby = ptr0_subby implement{a} ptr0_mulby (p, x) = let val x0 = ptr0_get (p) in ptr0_set (p, gmul_val_val (x0, x)) end // end of [ptr0_mulby] implement{a} ptr1_mulby = ptr0_mulby implement{a} ptr0_divby (p, x) = let val x0 = ptr0_get (p) in ptr0_set (p, gdiv_val_val (x0, x)) end // end of [ptr0_divby] implement{a} ptr1_divby = ptr0_divby implement{a} ptr0_modby (p, x) = let val x0 = ptr0_get (p) in ptr0_set (p, gmod_val_val (x0, x)) end // end of [ptr0_modby] implement{a} ptr1_modby = ptr0_modby (* ****** ****** *) implement{a} ptr1_list_next (p) = p_next where { val xs = castvwtp1{list_vt(a,1)}(p) val+@list_vt_cons(_, xs_next) = xs val p_next = addr@(xs_next) prval ((*void*)) = fold@ (xs) prval ((*void*)) = cast2void (xs) } (* end of [ptr1_list_next] *) (* ****** ****** *) (* end of [unsafe.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/gnumber.dats0000664000175000017500000000574612655455557017461 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gnumber.atxt ** Time of generation: Sat Jun 27 21:39:32 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) (* Author: Brandon Barker *) (* Authoremail: brandon.barker AT gmail DOT com *) (* Start time: July, 2013 *) (* ****** ****** *) implement {a}(*tmp*) gadd_val_int(x, y) = gadd_val_val (x, gnumber_int (y)) implement {a}(*tmp*) gsub_val_int(x, y) = gsub_val_val (x, gnumber_int (y)) (* ****** ****** *) implement {a}(*tmp*) gmul_int_val(x, y) = gmul_val_val (gnumber_int (x), y) implement {a}(*tmp*) gmul_val_int(x, y) = gmul_val_val (x, gnumber_int (y)) (* ****** ****** *) implement {a}(*tmp*) gdiv_int_val(x, y) = gdiv_val_val (gnumber_int (x), y) implement {a}(*tmp*) gdiv_val_int(x, y) = gdiv_val_val (x, gnumber_int (y)) implement {a}(*tmp*) gmod_val_int(x, y) = gmod_val_val (x, gnumber_int (y)) (* ****** ****** *) implement {a}(*tmp*) gpow_int_val (n, x) = let // fun loop {n:pos} .. ( n: int(n), x: a, res: a ) :<> (a) = ( // if n >= 2 then let val n2 = half(n) val r2 = n - (n2 + n2) in if r2 = 0 then loop (n2, gmul_val_val (x, x), res) else loop (n2, gmul_val_val (x, x), gmul_val_val (x, res)) // end of [if] end else gmul_val_val (x, res) // ) (* end of [loop] *) // in // if n >= 2 then loop (n-1, x, x) else ( if n >= 1 then x else gnumber_int (1) ) (* end of [else] *) // end // end of [gpow_int_val] (* ****** ****** *) #include "./SHARE/gnumber_int.dats" #include "./SHARE/gnumber_uint.dats" (* ****** ****** *) #include "./SHARE/gnumber_float.dats" (* ****** ****** *) (* end of [gnumber.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/pointer.dats0000664000175000017500000001011712655455557017466 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/pointer.atxt ** Time of generation: Sat Jun 27 21:39:20 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) primplmnt lemma_ptr_param {l} (p) = lemma_addr_param {l} () // end of [lemma_ptr_param] (* ****** ****** *) primplmnt ptr_get_index {l} (p) = eqaddr_make {l, l} () (* ****** ****** *) implement{a} ptr0_succ (p) = add_ptr_bsz (p, sizeof) implement{a} ptr0_pred (p) = sub_ptr_bsz (p, sizeof) (* ****** ****** *) // implement{a}{tk} ptr0_add_gint (p, i) = add_ptr_bsz (p, g0int2uint(i) * sizeof) implement{a}{tk} ptr0_sub_gint (p, i) = sub_ptr_bsz (p, g0int2uint(i) * sizeof) // implement{a}{tk} ptr0_add_guint (p, i) = add_ptr_bsz (p, g0uint2uint(i) * sizeof) implement{a}{tk} ptr0_sub_guint (p, i) = sub_ptr_bsz (p, g0uint2uint(i) * sizeof) // (* ****** ****** *) // implement{a} ptr1_succ {l} (p) = $UN.cast{ptr(l+sizeof(a))}(ptr0_succ (p)) implement{a} ptr1_pred {l} (p) = $UN.cast{ptr(l-sizeof(a))}(ptr0_pred (p)) // (* ****** ****** *) // implement{a}{tk} ptr1_add_gint {l}{i} (p, i) = $UN.cast{ptr(l+i*sizeof(a))}(ptr0_add_gint (p, i)) implement{a}{tk} ptr1_sub_gint {l}{i} (p, i) = $UN.cast{ptr(l-i*sizeof(a))}(ptr0_sub_gint (p, i)) // implement{a}{tk} ptr1_add_guint {l}{i} (p, i) = $UN.cast{ptr(l+i*sizeof(a))}(ptr0_add_guint (p, i)) implement{a}{tk} ptr1_sub_guint {l}{i} (p, i) = $UN.cast{ptr(l-i*sizeof(a))}(ptr0_sub_guint (p, i)) // (* ****** ****** *) implement{a} ptr_get (pf | p) = !p implement{a} ptr_set (pf | p, x) = !p := x implement{a} ptr_exch (pf | p, x) = { val tmp = x; val () = x := !p; val () = !p := tmp } // end of [ptr_exch] (* ****** ****** *) implement {a}(*tmp*) ptr_nullize (pf | x) = ( ptr_nullize_tsz{a}(pf | x, sizeof) ) (* ptr_nullize *) (* ****** ****** *) implement {a}(*tmp*) ptr_alloc () = ptr_alloc_tsz{a}(sizeof) (* ****** ****** *) implement {a}(*tmp*) aptr_make_elt(x) = let // val (pf, fpf | p) = ptr_alloc() // in !p := x; $UN.castvwtp0{aPtr1(a)}((pf, fpf, p)) end // end of [aptr_make_elt] (* ****** ****** *) // implement {a}(*tmp*) aptr_getfree_elt {l}(ap) = x where { val p = aptr2ptr(ap) val x = $UN.ptr1_get(p) prval pfat_ = $UN.castview0{(a?)@l}(0) prval pfgc_ = $UN.castview0{mfree_gc_v(l)}(0) val () = ptr_free{a?}{l}(pfgc_, pfat_ | p) prval () = $UN.cast2void(ap) } (* end of [aptr_getfree_elt] *) // (* ****** ****** *) // implement {a}(*tmp*) aptr_get_elt(ap) = $UN.ptr1_get(aptr2ptr(ap)) implement {a}(*tmp*) aptr_set_elt(ap, x) = $UN.ptr1_set(aptr2ptr(ap), x) // (* ****** ****** *) implement fprint_val (out, p) = fprint_ptr (out, p) (* ****** ****** *) (* end of [pointer.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/fcontainer.dats0000664000175000017500000002177312655455557020150 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: February, 2012 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [fcontainer.dats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/fcontainer.sats" (* ****** ****** *) implement {xs}{x} iforeach (xs) = let // var i : size_t = g0int2uint (0) val p_i = $UN.cast2Ptr1 (addr@ (i)) // implement foreach$fwork (x) = () where { val i = $UN.ptr1_get (p_i) val () = iforeach$fwork (i, x) val () = $UN.ptr1_set (p_i, succ(i)) } // [foreach$work] // in foreach (xs) end // end of [iforeach] (* ****** ****** *) implement {xs}{x}{init} foldleft_funenv {v}{vt}{fe:eff} (pfv | xs, init, f, env) = let // var res: init = init viewtypedef pvt = (ptr(res), vt) // val env1 = __cast (env) where { extern castfn __cast (env: !vt >> vt?):<> vt } // end of [val] // val p_res = addr@ (res) var penv: pvt = (p_res, env1) viewdef v1 = (v, init@res, pvt @ penv) fn f1 ( pf: !v1 | x: x, penv: !ptr(penv) ) : void = let val p = penv->0 val x = f (pf.0 | !p, x, penv->1) in $effmask_wrt (!p := x) end // end of [f1] // prval pfv1 = (pfv, view@(res), view@(penv)) val () = foreach_funenv{v1}{ptr(penv)} (pfv1 | xs, f1, addr@(penv)) prval () = pfv := pfv1.0 prval () = view@(res) := pfv1.1 prval () = view@(penv) := pfv1.2 // prval () = __xfree (env, penv.1) where { extern praxi __xfree (env: !vt? >> vt, env1: vt): void } // end of [where] // end of [prval] // in res end // end of [foldleft_funenv] implement {xs}{x}{init} foldleft_clo {fe:eff}(xs, init, f) = let typedef clo_t = (init, x) - init // end of [typedef] val p_f = addr@ (f) prval [lf:addr] EQADDR () = ptr_get_index (p_f) viewdef v = clo_t @ lf fn app ( pf: !v | init: init, x: x, p_f: !ptr(lf) ) : init = !p_f (init, x) in foldleft_funenv {v}{ptr(lf)} (view@ f | xs, init, app, p_f) end // end of [foldleft_clo] implement {xs}{x}{init} foldleft_vclo {v} {fe:eff} (pfv | xs, init, f) = let typedef clo_t = (!v | init, x) - init // end of [typedef] val p_f = addr@ (f) prval [lf:addr] EQADDR () = ptr_get_index (p_f) viewdef v2 = (v, clo_t @ lf) fn app ( pf: !v2 | init: init, x: x, p_f: !ptr lf ) : init = res where { prval (pf1, pf2) = pf val res = !p_f (pf1 | init, x) prval () = pf := (pf1, pf2) } // end of [val] prval pf = (pfv, view@ f) val res = foldleft_funenv {v2} {ptr(lf)} (pf | xs, init, app, p_f) prval () = pfv := pf.0 and () = view@ (f) := pf.1 in res(*init*) end // end of [foldleft_vclo] implement {xs}{x}{init} foldleft_cloref {fe:eff} (xs, init, f) = let typedef cloref_t = (init, x) - init fn app ( pf: !unit_v | init: init, x: x, f: !cloref_t ) : init = f (init, x) prval pfu = unit_v () val res = foldleft_funenv {unit_v} {cloref_t} (pfu | xs, init, app, f) prval unit_v () = pfu in res(*init*) end // end of [foldleft_cloref] (* ****** ****** *) implement {xs}{x}{sink} foldright_funenv {v}{vt}{fe:eff} (pfv | xs, f, sink, env) = let // typedef tfun = (!v | x, sink, !vt) - sink // fun loop {n:nat} .. ( pfv: !v | xs: list_vt (x, n), f: tfun, sink: sink, env: !vt ) : sink = ( case+ xs of | ~list_vt_cons (x, xs) => loop (pfv | xs, f, f (pfv | x, sink, env), env) | ~list_vt_nil () => sink ) (* end of [loop] *) // val rxs = rlistize (xs) // in loop (pfv | rxs, f, sink, env) end // end of [foldright_funenv] implement {xs}{x}{sink} foldright_clo {fe:eff}(xs, f, sink) = let typedef clo_t = (x, sink) - sink // end of [typedef] val p_f = addr@ (f) prval [lf:addr] EQADDR () = ptr_get_index (p_f) viewdef v = clo_t @ lf fn app ( pf: !v | x: x, sink: sink, p_f: !ptr(lf) ) : sink = !p_f (x, sink) in foldright_funenv {v}{ptr(lf)} (view@ f | xs, app, sink, p_f) end // end of [foldright_clo] implement {xs}{x}{sink} foldright_vclo {v} {fe:eff} (pfv | xs, f, sink) = let typedef clo_t = (!v | x, sink) - sink // end of [typedef] val p_f = addr@ (f) prval [lf:addr] EQADDR () = ptr_get_index (p_f) viewdef v2 = (v, clo_t @ lf) fn app ( pf: !v2 | x: x, sink: sink, p_f: !ptr lf ) : sink = res where { prval (pf1, pf2) = pf val res = !p_f (pf1 | x, sink) prval () = pf := (pf1, pf2) } // end of [val] prval pf = (pfv, view@ f) val res = foldright_funenv {v2} {ptr(lf)} (pf | xs, app, sink, p_f) prval () = pfv := pf.0 and () = view@ (f) := pf.1 in res(*sink*) end // end of [foldright_vclo] implement {xs}{x}{sink} foldright_cloref {fe:eff} (xs, f, sink) = let typedef cloref_t = (x, sink) - sink fn app ( pf: !unit_v | x: x, sink: sink, f: !cloref_t ) : sink = f (x, sink) prval pfu = unit_v () val res = foldright_funenv {unit_v} {cloref_t} (pfu | xs, app, sink, f) prval unit_v () = pfu in res(*sink*) end // end of [foldright_cloref] (* ****** ****** *) // // HX-2012-02: // this implementation makes use // of the (local) exception mechanism // implement {xs}{x} exists_funenv {v}{vt}{fe:eff} (pfv | xs, p, env) = let exception Found of () fn f ( pfv: !v | x: x, env: !vt ) : void = if p (pfv | x, env) then $raise (Found) else () // end of [f] val ptr = __cast (env) where { extern castfn __cast (env: !vt):<> ptr } // end of [val] in try let val env = __encode (ptr) where { extern castfn __encode (x: ptr):<> vt } // end of [val] prval (pfv, fpfv) = __assert () where { extern praxi __assert (): (v, v - void) } // end of [prval] val () = $effmask_exn (foreach_funenv (pfv | xs, f, env)) prval () = fpfv (pfv) val ptr = __decode (env) where { extern castfn __decode (x: vt):<> ptr } // end of [val] in true (* element satifying [p] is found *) end with ~Found () => false // end of [try] end // end of [exists_funenv] (* ****** ****** *) implement {xs}{x} forall_funenv {v}{vt}{fe:eff} (pfv | xs, p, env) = let fn np (pfv: !v | x: x, env: !vt): bool = ~p (pfv | x, env) in ~(exists_funenv (pfv | xs, np, env)) end // end of [forall_funenv] (* ****** ****** *) implement {xs}{x} ismember_fun {fe} (xs, x0, eq) = let var p_clo = lam@ (x: x) = eq (x0, x) in exists_clo (xs, p_clo) // end of [var] end // end of [ismemer_fun] (* ****** ****** *) implement {xs}{x} rlistize (xs) = res where { var res : List0_vt (x) = list_vt_nil () viewdef v = List0_vt (x) @ res var p_clo = lam@ ( pf: !v >> v | x: x ) : void = $effmask_wrt (res := list_vt_cons (x, res)) val () = foreach_vclo {v}{effnil} (view@ (res) | xs, p_clo) } // end of [rlistize] implement {xs}{x}{y} rlistize_funenv {v}{vt}{fe} (pfv | xs, f, env) = let var res : List0_vt (y) = list_vt_nil () viewdef v2 = @(v, List0_vt (y) @ res) val ptr = $UN.castvwtp1 {ptr}{vt} (env) // end of [val] var p_clo = lam@ (pf: !v2 >> v2 | x: x): void = let extern castfn __encode (x: ptr):<> vt extern castfn __decode (x: vt):<> ptr val env = __encode (ptr) val y = f (pf.0 | x, env) val ptr = __decode (env) prval pfat = pf.1 val () = $effmask_wrt (res := list_vt_cons (y, res)) prval () = pf.1 := pfat in (*nothing*) end // end of [var] prval pf = (pfv, view@ (res)) val () = foreach_vclo {v2} (pf | xs, p_clo) prval () = pfv := pf.0 prval () = view@ (res) := pf.1 in res end // end of [rlistize_funenv] (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [fcontainer.dats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [fcontainer.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/matrixref.dats0000664000175000017500000002170012655455557020007 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/matrixref.atxt ** Time of generation: Sat Feb 6 15:18:16 2016 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} matrixref_make_elt (nrow, ncol, x) = matrixptr_refize(matrixptr_make_elt (nrow, ncol, x)) // end of [matrixref_make_elt] (* ****** ****** *) implement{a} matrixref_get_at_size (A, i, n, j) = let // val ( vbox pf | p ) = matrixref_get_viewptr (A) // in matrix_get_at_size (!p, i, n, j) end // end of [matrixref_get_at_size] (* ****** ****** *) // implement {a}(*tmp*) matrixref_get_at_int (M, i, n, j) = matrixref_get_at_size (M, i2sz(i), i2sz(n), i2sz(j)) // (* ****** ****** *) implement{a} matrixref_set_at_size (A, i, n, j, x) = let // val ( vbox pf | p ) = matrixref_get_viewptr (A) // in matrix_set_at_size (!p, i, n, j, x) end // end of [matrixref_set_at_size] (* ****** ****** *) // implement {a}(*tmp*) matrixref_set_at_int (M, i, n, j, x) = matrixref_set_at_size (M, i2sz(i), i2sz(n), i2sz(j), x) // (* ****** ****** *) implement{a} fprint_matrixref {m,n} ( out, M, nrow, ncol ) = { // val M = $UN.castvwtp1{matrixptr(a, m, n)}(M) // val () = fprint_matrixptr (out, M, nrow, ncol) // prval ((*void*)) = $UN.cast2void (M) // } (* end of [fprint_matrixref] *) implement{a} fprint_matrixref_sep {m,n} ( out, M, nrow, ncol, sep1, sep2 ) = { // val M = $UN.castvwtp1{matrixptr(a, m, n)}(M) // val () = fprint_matrixptr_sep (out, M, nrow, ncol, sep1, sep2) // prval ((*void*)) = $UN.cast2void (M) // } (* end of [fprint_matrixref_sep] *) (* ****** ****** *) implement {a}(*tmp*) matrixref_copy {m,n} (M, m, n) = let // val A = $UN.cast{arrayref(a,m*n)}(M) // in $UN.castvwtp0{matrixptr(a,m,n)}(arrayref_copy(A, m*n)) end // end of [matrixref_copy] (* ****** ****** *) implement{a} matrixref_tabulate (nrow, ncol) = ( matrixptr_refize (matrixptr_tabulate(nrow, ncol)) ) (* end of [matrixref_tabulate] *) implement{a} matrixref_tabulate_cloref (nrow, ncol, f) = matrixptr_refize (matrixptr_tabulate_cloref(nrow, ncol, f)) // end of [matrixref_tabulate_cloref] (* ****** ****** *) implement{a} matrixref_foreach (A, m, n) = let // var env: void = () // in matrixref_foreach_env (A, m, n, env) end // end of [matrixref_foreach] implement {a}{env} matrixref_foreach_env (A, m, n, env) = let val (vbox pf | p) = matrixref_get_viewptr (A) in $effmask_ref (matrix_foreach_env (!p, m, n, env)) end // end of [matrixref_foreach_env] (* ****** ****** *) implement {a}(*tmp*) matrixref_foreach_cloref (A, m, n, fwork) = let // implement {a2}{env} matrix_foreach$fwork (x, env) = let val (pf, fpf | p) = $UN.ptr_vtake{a}(addr@x) val ((*void*)) = fwork(!p) prval ((*void*)) = fpf(pf) in // nothing end // end of [matrix_foreach$work] // in matrixref_foreach(A, m, n) end // end of [matrixref_foreach_cloref] (* ****** ****** *) local // datatype mtrxszref ( a:viewt@ype ) = {m,n:int} MTRXSZREF of ( matrixref(a, m, n) , size_t(m), size_t(n) ) // end of [mtrxszref] // assume mtrxszref_vt0ype_type = mtrxszref // in (* in of [local] *) implement{} mtrxszref_make_matrixref (M, nrow, ncol) = MTRXSZREF (M, nrow, ncol) // end of [mtrxszref_make_matrixref] (* ****** ****** *) implement{} mtrxszref_get_ref (MSZ) = let val+MTRXSZREF (M, nrow, ncol) = MSZ in $UN.cast2Ptr1(M) end // end of [mtrxszref_get_ref] (* ****** ****** *) implement{} mtrxszref_get_nrow (MSZ) = let val+MTRXSZREF (M, nrow, ncol) = MSZ in nrow end // end of [mtrxszref_get_nrow] implement{} mtrxszref_get_ncol (MSZ) = let val+MTRXSZREF (M, nrow, ncol) = MSZ in ncol end // end of [mtrxszref_get_ncol] (* ****** ****** *) implement{} mtrxszref_get_refsize (MSZ, nrow_r, ncol_r) = let // val+MTRXSZREF (M, nrow, ncol) = MSZ // prval ((*void*)) = lemma_matrixref_param (M) // in nrow_r := nrow; ncol_r := ncol; M(*matrixref*) end // end of [mtrxszref_get_nrow] end // end of [local] (* ****** ****** *) implement{a} mtrxszref_make_elt (nrow, ncol, x) = let // val nrow = g1ofg0_uint (nrow) val ncol = g1ofg0_uint (ncol) val M = matrixref_make_elt (nrow, ncol, x) // in mtrxszref_make_matrixref (M, nrow, ncol) end // end of [mtrxszref_make_elt] (* ****** ****** *) implement{a} mtrxszref_get_at_int (MSZ, i, j) = let // val i = g1ofg0_int(i) and j = g1ofg0_int(j) // in // if i >= 0 then ( // if j >= 0 then ( mtrxszref_get_at_size(MSZ,i2sz(i),i2sz(j)) ) else $raise MatrixSubscriptExn((* j < 0 *)) // ) else $raise MatrixSubscriptExn((* i < 0 *)) // end // end of [mtrxszref_get_at_gint] implement{a} mtrxszref_get_at_size (MSZ, i, j) = let // var nrow: size_t and ncol: size_t // val M = $effmask_wrt ( mtrxszref_get_refsize (MSZ, nrow, ncol) ) (* end of [val] *) // val i = g1ofg0_uint(i) and j = g1ofg0_uint(j) // in // if nrow > i then ( // if ncol > j then ( matrixref_get_at_size (M, i, ncol, j) ) else $raise MatrixSubscriptExn((*void*)) // ) else $raise MatrixSubscriptExn((*void*)) // end // end of [mtrxszref_get_at_size] (* ****** ****** *) implement{a} mtrxszref_set_at_int (MSZ, i, j, x) = let // val i = g1ofg0_int(i) and j = g1ofg0_int(j) // in // if i >= 0 then ( // if j >= 0 then ( mtrxszref_set_at_size(MSZ,i2sz(i),i2sz(j),x) ) else $raise MatrixSubscriptExn( (* j < 0 *) ) // ) else $raise MatrixSubscriptExn( (* i < 0 *) ) // end // end of [mtrxszref_set_at_int] implement{a} mtrxszref_set_at_size (MSZ, i, j, x) = let // var nrow: size_t and ncol: size_t // val M = ( mtrxszref_get_refsize (MSZ, nrow, ncol) ) (* end of [val] *) // val i = g1ofg0_uint (i) and j = g1ofg0_uint (j) // in // if nrow > i then ( // if ncol > j then ( matrixref_set_at_size(M, i, ncol, j, x) ) else $raise MatrixSubscriptExn((*void*)) // ) else $raise MatrixSubscriptExn((*void*)) // end // end of [mtrxszref_set_at_size] (* ****** ****** *) implement{a} fprint_mtrxszref (out, MSZ) = let // var nrow: size_t and ncol: size_t val A = mtrxszref_get_refsize (MSZ, nrow, ncol) // in fprint_matrixref (out, A, nrow, ncol) end // end of [fprint_mtrxszref] implement{a} fprint_mtrxszref_sep (out, MSZ, sep1, sep2) = let // var nrow: size_t and ncol: size_t val A = mtrxszref_get_refsize (MSZ, nrow, ncol) // in fprint_matrixref_sep (out, A, nrow, ncol, sep1, sep2) end // end of [fprint_mtrxszref_sep] (* ****** ****** *) implement{a} mtrxszref_foreach (A) = let // var env: void = () // in mtrxszref_foreach_env (A, env) end // end of [mtrxszref_foreach] implement {a}{env} mtrxszref_foreach_env (MSZ, env) = let // var nrow: size_t and ncol: size_t // val MAT = mtrxszref_get_refsize(MSZ, nrow, ncol) // in matrixref_foreach_env (MAT, nrow, ncol, env) end // end of [mtrxszref_foreach_env] (* ****** ****** *) implement {a}(*tmp*) mtrxszref_foreach_cloref (MSZ, fwork) = let // implement {a2}{env} matrix_foreach$fwork (x, env) = let val (pf, fpf | p) = $UN.ptr_vtake{a}(addr@x) val ((*void*)) = fwork(!p) prval ((*void*)) = fpf(pf) in // nothing end // end of [matrix_foreach$work] // in mtrxszref_foreach(MSZ) end // end of [mtrxszref_foreach_cloref] (* ****** ****** *) implement{a} mtrxszref_tabulate (nrow, ncol) = let // val nrow = g1ofg0_uint (nrow) val ncol = g1ofg0_uint (ncol) val M = matrixref_tabulate (nrow, ncol) // in mtrxszref_make_matrixref (M, nrow, ncol) end // end of [mtrxszref_tabulate] (* ****** ****** *) implement{a} mtrxszref_tabulate_cloref ( nrow, ncol, fclo ) = let // val M = matrixref_tabulate_cloref ( nrow, ncol, fclo ) (* end of [val] *) // in // mtrxszref_make_matrixref (M, nrow, ncol) // end // end of [mtrxszref_tabulate_cloref] (* ****** ****** *) (* end of [matrixref.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/arrayptr.dats0000664000175000017500000002221112655455557017650 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/arrayptr.atxt ** Time of generation: Sat Jun 27 21:39:38 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {a}(*tmp*) arrayptr_make_elt (asz, elt) = let // val ( pf, pfgc | p ) = array_ptr_alloc (asz) // val () = array_initize_elt (!p, asz, elt) // in arrayptr_encode(pf, pfgc | p) end // end of [arrayptr_make_elt] (* ****** ****** *) implement {}(*tmp*) arrayptr_make_intrange {l,r} (l, r) = let // val asz = g1int2uint (r-l) val [A:addr] A = arrayptr_make_uninitized (asz) // fun loop {n:nat} .. ( p: ptr, asz: size_t n, l: int ) : void = let in // if asz > 0 then let val () = $UN.ptr0_set (p, l) in loop (ptr0_succ (p), pred (asz), l+1) end else () // end of [if] // end // end of [loop] // val () = loop (ptrcast (A), asz, l) // in $UN.castvwtp0{arrayptr(intBtw(l,r),A,r-l)}(A) end // end of [arrayptr_make_intrange] (* ****** ****** *) implement {a}(*tmp*) arrayptr_make_list (asz, xs) = let // prval () = lemma_list_param (xs) // val ( pf, pfgc | p ) = array_ptr_alloc (i2sz(asz)) // val () = array_initize_list (!p, asz, xs) // in arrayptr_encode(pf, pfgc | p) end // end of [arrayptr_make_list] implement {a}(*tmp*) arrayptr_make_rlist (asz, xs) = let // prval () = lemma_list_param (xs) // val ( pf, pfgc | p ) = array_ptr_alloc (i2sz(asz)) // val () = array_initize_rlist (!p, asz, xs) // in arrayptr_encode(pf, pfgc | p) end // end of [arrayptr_make_rlist] (* ****** ****** *) implement {a}(*tmp*) arrayptr_make_subarray {n}{st,ln}(A, st, ln) = let // val p1 = ptr_add ($UN.cast2ptr(A), st) val ( pf1, fpf | p1 ) = $UN.ptr_vtake{array(a,ln)}(p1) // val A2 = arrayptr_make_uninitized (ln) val p2 = ptrcast (A2) prval pf2 = arrayptr_takeout (A2) // val () = array_copy (!p2, !p1, ln) // prval () = fpf (pf1) prval () = arrayptr_addback (pf2 | A2) // in A2 end // end of [arrayptr_make_subarray] (* ****** ****** *) implement {a}(*tmp*) arrayptr_make_list_vt (asz, xs) = let // prval () = lemma_list_vt_param (xs) // val ( pf, pfgc | p ) = array_ptr_alloc (i2sz(asz)) val () = array_initize_list_vt (!p, asz, xs) // in arrayptr_encode(pf, pfgc | p) end // end of [arrayptr_make_list_vt] implement {a}(*tmp*) arrayptr_make_rlist_vt (asz, xs) = let // prval () = lemma_list_vt_param (xs) // val ( pf, pfgc | p ) = array_ptr_alloc (i2sz(asz)) val () = array_initize_rlist_vt (!p, asz, xs) // in arrayptr_encode(pf, pfgc | p) end // end of [arrayptr_make_rlist_vt] (* ****** ****** *) implement {a}(*tmp*) arrayptr_make_uninitized (asz) = let in arrayptr_encode2(array_ptr_alloc (asz)) end // end of [arrayptr_uninitize] (* ****** ****** *) implement {a}(*tmp*) arrayptr_imake_list (A, asz) = res where { // val p = ptrcast(A) prval pf = arrayptr_takeout (A) val res = list_make_array (!p, asz) prval () = arrayptr_addback (pf | A) } // end of [arrayptr_imake_list] (* ****** ****** *) (* implement arrayptr_free = ATS_MFREE // HX: in arrayptr.cats *) (* ****** ****** *) implement {a}(*tmp*) fprint_arrayptr (out, A, n) = () where { // val p = ptrcast(A) prval pf = arrayptr_takeout (A) val () = fprint_array (out, !p, n) prval () = arrayptr_addback (pf | A) // } // end of [fprint_arrayptr] (* ****** ****** *) implement {a}(*tmp*) fprint_arrayptr_sep (out, A, n, sep) = () where { // val p = ptrcast (A) prval pf = arrayptr_takeout (A) val () = fprint_array_sep (out, !p, n, sep) prval () = arrayptr_addback (pf | A) // } // end of [fprint_arrayptr_sep] (* ****** ****** *) implement {a}{tk} arrayptr_get_at_gint (A, i) = let val p = ptrcast (A) in $UN.ptr0_get (ptr1_add_gint (p, i)) end // end of [arrayptr_get_at_gint] implement {a}{tk} arrayptr_get_at_guint (A, i) = let val p = ptrcast (A) in $UN.ptr0_get (ptr1_add_guint (p, i)) end // end of [arrayptr_get_at_guint] (* ****** ****** *) implement {a}{tk} arrayptr_set_at_gint (A, i, x) = let val p = ptrcast (A) in $UN.ptr0_set (ptr1_add_gint (p, i), x) end // end of [arrayptr_set_at_gint] implement {a}{tk} arrayptr_set_at_guint (A, i, x) = let val p = ptrcast (A) in $UN.ptr0_set (ptr1_add_guint (p, i), x) end // end of [arrayptr_set_at_guint] (* ****** ****** *) implement {a}(*tmp*) arrayptr_interchange (A, i, j) = let // val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_interchange (!p, i, j) prval () = arrayptr_addback (pfarr | A) // in // noting end // end of [arrayptr_interchange] (* ****** ****** *) implement {a}(*tmp*) arrayptr_foreach (A, asz) = let var env: void = () in arrayptr_foreach_env (A, asz, env) end // end of [arrayptr_foreach] implement {a}{env} arrayptr_foreach_env (A, asz, env) = res where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val res = array_foreach_env (!p, asz, env) prval () = arrayptr_addback (pfarr | A) } // end of [arrayptr_foreach_env] (* ****** ****** *) implement {a}(*tmp*) arrayptr_foreach_fun (A, asz, f) = let val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_foreach_fun (!p, asz, f) prval () = arrayptr_addback (pfarr | A) in // nothing end // end of [arrayptr_foreach_fun] (* ****** ****** *) implement {a}(*tmp*) arrayptr_foreach_funenv (pfv | A, asz, f, env) = let // val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_foreach_funenv (pfv | !p, asz, f, env) prval () = arrayptr_addback (pfarr | A) // in // nothing end // end of [arrayptr_foreach_funenv] (* ****** ****** *) implement {a}(*tmp*) arrayptr_iforeach (A, asz) = let var env: void = () in arrayptr_iforeach_env (A, asz, env) end // end of [arrayptr_iforeach] implement {a}{env} arrayptr_iforeach_env (A, asz, env) = res where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val res = array_iforeach_env (!p, asz, env) prval () = arrayptr_addback (pfarr | A) } // end of [arrayptr_iforeach_env] (* ****** ****** *) implement {a}(*tmp*) arrayptr_rforeach (A, asz) = let var env: void = () in arrayptr_rforeach_env (A, asz, env) end // end of [arrayptr_rforeach] implement {a}{env} arrayptr_rforeach_env (A, asz, env) = res where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val res = array_rforeach_env (!p, asz, env) prval () = arrayptr_addback (pfarr | A) } // end of [arrayptr_rforeach_env] (* ****** ****** *) implement {a}(*tmp*) arrayptr_initize (A, asz) = () where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_initize (!p, asz) prval () = arrayptr_addback (pfarr | A) } // end of [arrayptr_initize] (* ****** ****** *) implement {a}(*tmp*) arrayptr_uninitize (A, asz) = () where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_uninitize (!p, asz) prval () = arrayptr_addback (pfarr | A) } // end of [arrayptr_uninitize] (* ****** ****** *) implement {a}(*tmp*) arrayptr_freelin (A, asz) = let // val () = arrayptr_uninitize (A, asz) // in arrayptr_free{a?}(A) end // end of [arrayptr_freelin] (* ****** ****** *) implement {a}(*tmp*) arrayptr_tabulate (asz) = arrayptr_encode2(array_ptr_tabulate (asz)) // end of [arrayptr_tabulate] (* ****** ****** *) implement {a}(*tmp*) arrayptr_tabulate_cloref {n} (asz, f) = let // implement(a2) array_tabulate$fopr (i) = $UN.castvwtp0{a2}(f($UN.cast{sizeLt(n)}(i))) // in arrayptr_tabulate (asz) end // end of [arrayptr_tabulate_cloref] (* ****** ****** *) implement {a}(*tmp*) arrayptr_quicksort (A, asz) = () where { val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = array_quicksort (!p, asz) prval () = arrayptr_addback (pfarr | A) } (* end of [arrayptr_quicksort] *) (* ****** ****** *) (* end of [arrayptr.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/list_vt.dats0000664000175000017500000005314312655455557017500 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list_vt.atxt ** Time of generation: Sat Jun 27 21:39:32 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // implement {a}(*tmp*) list_vt_make_sing (x) = list_vt_cons{a}(x, list_vt_nil) implement {a}(*tmp*) list_vt_make_pair (x1, x2) = list_vt_cons{a}(x1, list_vt_cons{a}(x2, list_vt_nil)) // (* ****** ****** *) implement {a}(*tmp*) print_list_vt (xs) = fprint_list_vt (stdout_ref, xs) implement {a}(*tmp*) prerr_list_vt (xs) = fprint_list_vt (stderr_ref, xs) (* ****** ****** *) implement {}(*tmp*) fprint_list_vt$sep (out) = fprint_list$sep<> (out) implement {a}(*tmp*) fprint_list_vt (out, xs) = let // implement(env) list_vt_iforeach$fwork (i, x, env) = let val () = if i > 0 then fprint_list_vt$sep<(*none*)> (out) // end of [val] in fprint_ref (out, x) end // end of [list_iforeach$fwork] // val _(*n*) = list_vt_iforeach (xs) // in // nothing end // end of [fprint_list_vt] implement {a}(*tmp*) fprint_list_vt_sep (out, xs, sep) = let // implement fprint_list_vt$sep<(*none*)> (out) = fprint_string (out, sep) // in fprint_list_vt (out, xs) end // end of [fprint_list_vt_sep] (* ****** ****** *) implement {x}(*tmp*) list_vt_is_nil (xs) = case+ xs of list_vt_nil () => true | _ =>> false // end of [list_vt_is_nil] implement {x}(*tmp*) list_vt_is_cons (xs) = case+ xs of list_vt_cons _ => true | _ =>> false // end of [list_vt_is_cons] implement {x}(*tmp*) list_vt_is_sing (xs) = case+ xs of list_vt_sing (x) => true | _ =>> false // end of [list_vt_is_sing] implement {x}(*tmp*) list_vt_is_pair (xs) = case+ xs of list_vt_pair (x1, x2) => true | _ =>> false // end of [list_vt_is_pair] (* ****** ****** *) implement {}(*tmp*) list_vt_unnil (xs) = let val+~list_vt_nil () = xs in (*nothing*) end // end of [list_vt_unnil] (* ****** ****** *) implement {a}(*tmp*) list_vt_uncons (xs) = let val+~list_vt_cons (x, xs1) = xs in xs := xs1; x end // end of [list_vt_uncons] (* ****** ****** *) implement {a}(*tmp*) list_vt_length (xs) = let // fun loop {i,j:nat} .. ( xs: !list_vt (a, i), j: int j ) :<> int (i+j) = let in // case+ xs of | list_vt_cons (_, xs) => loop (xs, j + 1) | list_vt_nil () => j // end // end of [loop] // prval () = lemma_list_vt_param (xs) // in loop (xs, 0) end // end of [list_vt_length] (* ****** ****** *) implement {x}(*tmp*) list_vt_copy (xs) = let // implement {x2}(*tmp*) list_vt_copylin$copy (x) = $UN.ptr0_get(addr@x) // in $effmask_all (list_vt_copylin (xs)) end // end of [list_vt_copy] implement {x}(*tmp*) list_vt_copylin (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: !list_vt (x, n), res: &ptr? >> list_vt (x, n) ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val x = list_vt_copylin$copy (x) val () = res := list_vt_cons{x}{0}(x, _) val+list_vt_cons (_, res1) = res val () = loop (xs1, res1) prval () = fold@ (xs) prval () = fold@ (res) in // nothing end // end of [list_vt_cons] | list_vt_nil () => res := list_vt_nil () // end // end of [loop] // var res: ptr val () = $effmask_all(loop (xs, res)) // in res end // end of [list_vt_copylin] (* ****** ****** *) implement {x}(*tmp*) list_vt_copylin_fun (xs, f) = let // implement {x2}(*tmp*) list_vt_copylin$copy (x) = x2 where { // val f2 = $UN.cast{(&RD(x2))->x2}(f) // val x2 = $effmask_all(f2(x)) // } (* end of [copy] *) // in list_vt_copylin (xs) end // end of [list_vt_copylin_fun] (* ****** ****** *) implement {a}(*tmp*) list_vt_getref_at {n}{i} (xs, i) = let // fun loop { n,i:nat | i <= n } .. ( xs: &list_vt (a, n), i: int i ) :<> Ptr1 = let in if i > 0 then let val+@list_vt_cons (_, xs1) = xs val res = loop{n-1,i-1}(xs1, pred(i)) in fold@ (xs); res end else $UN.cast2Ptr1(addr@(xs)) // end of [if] end // end of [loop] // in $UN.ptr2cptr{list_vt(a,n-i)}(loop (xs, i)) end // end of [list_vt_getref_at] (* ****** ****** *) implement {a}(*tmp*) list_vt_get_at {n} (xs, i) = x where { // var xs = __ref (xs) where { extern castfn __ref (xs: !list_vt (a, n)):<> list_vt (a, n) } // end of [val] // val pi = list_vt_getref_at (xs, i) val+list_cons (x, _) = $UN.ptr1_get (cptr2ptr(pi)) // prval () = __unref (xs) where { extern praxi __unref (xs: list_vt (a, n)): void } // end of [prval] // } // end of [list_vt_get_at] implement {a}(*tmp*) list_vt_set_at {n} (xs, i, x0) = let // var xs = let extern castfn __ref (xs: !list_vt (a, n)):<> list_vt (a, n) // end of [__ref] in __ref (xs) end // end of [val] // val pi = list_vt_getref_at (xs, i) val (pf, fpf | pi) = $UN.cptr_vtake (pi) val+@list_vt_cons (x1, xs1) = !pi val () = x1 := x0 prval () = fold@ (!pi) prval () = fpf (pf) // prval () = let extern praxi __unref (xs: list_vt (a, n)): void in __unref (xs) end // end of [prval] // in // nothing end // end of [list_vt_set_at] (* ****** ****** *) implement {a}(*tmp*) list_vt_exch_at {n} (xs, i, x0) = let // var xs = __ref (xs) where { extern castfn __ref (xs: !list_vt (a, n)):<> list_vt (a, n) } // end of [val] // val pi = list_vt_getref_at (xs, i) val (pf, fpf | pi) = $UN.cptr_vtake (pi) val+@list_vt_cons (x1, xs1) = !pi // val t = x1 val () = x1 := x0 val () = x0 := t // prval () = fold@ (!pi) prval () = fpf (pf) // prval () = __unref (xs) where { extern praxi __unref (xs: list_vt (a, n)): void } // end of [prval] // in // nothing end // end of [list_vt_exch_at] (* ****** ****** *) implement {a}(*tmp*) list_vt_insert_at {n} (xs, i, x) = let // val pi = list_vt_getref_at (xs, i) val xs_i = $UN.cptr_get (pi) val xs1_i = list_vt_cons (x, xs_i) val () = $UN.ptr1_set (cptr2ptr(pi), xs1_i) // prval () = __assert (xs) where { extern praxi __assert (xs: &list_vt (a, n) >> list_vt (a, n+1)): void } // end of [prval] in // nothing end // end of [list_vt_insert_at] (* ****** ****** *) implement {a}(*tmp*) list_vt_takeout_at {n} (xs, i) = x1 where { // val pi = list_vt_getref_at (xs, i) val xs_i = $UN.cptr_get (pi) val+~list_vt_cons (x1, xs1_i) = xs_i val () = $UN.ptr1_set (cptr2ptr(pi), xs1_i) // prval () = __assert (xs) where { extern praxi __assert (xs: &list_vt (a, n) >> list_vt (a, n-1)): void } (* end of [prval] *) // } // end of [list_vt_takeout_at] (* ****** ****** *) // implement {a}(*tmp*) list_vt_copy (xs) = list_copy ($UN.list_vt2t(xs)) // (* ****** ****** *) implement {a}(*tmp*) list_vt_free (xs) = let // implement (a2:t0p) list_vt_freelin$clear (x) = let prval () = topize (x) in (*void*) end // end of [list_vt_freelin$clear] // in list_vt_freelin (xs) end // end of [list_vt_free] (* ****** ****** *) implement {a}(*tmp*) list_vt_freelin$clear (x) = gclear_ref (x) implement {a}(*tmp*) list_vt_freelin (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: list_vt (a, n) ) : void = ( case+ xs of | @list_vt_cons (x, xs1) => let val () = list_vt_freelin$clear (x) val xs1 = xs1 val () = free@{a}{0}(xs) in loop (xs1) end // end of [list_vt_cons] | ~list_vt_nil () => () ) (* end of [loop] *) // in loop (xs) end // end of [list_vt_freelin] (* ****** ****** *) implement {a}(*tmp*) list_vt_freelin_fun (xs, f) = let // implement {a2}(*tmp*) list_vt_freelin$clear (x) = () where { // val f2 = $UN.cast{(&a2 >> _?) -> void}(f) // val ((*void*)) = $effmask_all(f2(x)) // } (* end of [clear] *) // in list_vt_freelin (xs) end // end of [list_vt_freelin_fun] (* ****** ****** *) implement {a}(*tmp*) list_vt_uninitize$clear (x) = gclear_ref (x) implement {a}(*tmp*) list_vt_uninitize {n} (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: !list_vt (a, n) >> list_vt (a?, n) ) : void = ( case+ xs of | @list_vt_cons (x, xs1) => let val () = list_vt_uninitize$clear (x) val () = loop (xs1) prval () = fold@ {a?} (xs) in // nothing end // end of [list_vt_cons] | @list_vt_nil () => fold@ {a?} (xs) ) (* end of [loop] *) // in loop (xs) end // end of [list_vt_uninitize] (* ****** ****** *) implement {a}(*tmp*) list_vt_append {m,n} (xs, ys) = let // prval () = lemma_list_vt_param (xs) prval () = lemma_list_vt_param (ys) // fun loop {m:nat} .. ( xs: &list_vt (a, m) >> list_vt (a, m+n), ys: list_vt (a, n) ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val () = loop (xs1, ys); prval () = fold@ (xs) in (*none*) end // end of [list_vt_cons] | ~list_vt_nil () => (xs := ys) // end (* end of [loop] *) // var res = xs val () = loop (res, ys) // in res end // end of [list_vt_append] (* ****** ****** *) implement {a}(*tmp*) list_vt_extend (xs, y) = list_vt_append (xs, cons_vt{a}(y, nil_vt())) // end of [list_vt_extend] (* ****** ****** *) implement {a}(*tmp*) list_vt_unextend (xs) = let // fun loop {n:pos} .. ( xs: &list_vt (a, n) >> list_vt (a, n-1) ) : (a) = let // val+@list_vt_cons (x, xs1) = xs // in // case+ xs1 of | list_vt_cons _ => let val x = loop (xs1) prval () = fold@ (xs) in x end // end of [list_vt_cons] | list_vt_nil () => let val x = x val xs1 = xs1 val () = free@{a}{0}(xs) in xs := xs1; x end // end of [list_vt_nil] // end // end of [loop] // in loop (xs) end // end of [list_vt_unextend] (* ****** ****** *) implement {a}(*tmp*) list_vt_reverse (xs) = list_vt_reverse_append (xs, list_vt_nil) (* ****** ****** *) implement {a}(*tmp*) list_vt_reverse_append (xs, ys) = let // prval () = lemma_list_vt_param (xs) prval () = lemma_list_vt_param (ys) // fun loop {m,n:nat} .. ( xs: list_vt (a, m), ys: list_vt (a, n) ) : list_vt (a, m+n) = case+ xs of | @list_vt_cons (_, xs1) => let val xs1_ = xs1 val () = xs1 := ys; prval () = fold@ (xs) in loop (xs1_, xs) end // end of [cons] | ~list_vt_nil () => ys (* end of [loop] *) // in loop (xs, ys) end // end of [list_vt_reverse_append] (* ****** ****** *) implement {x}(*tmp*) list_vt_split_at (xs, i) = let // fun loop {n:int} {i:nat | i <= n} .. ( xs: &list_vt (x, n) >> list_vt (x, i), i: int i ) : list_vt (x, n-i) = ( if i > 0 then let // val+@cons_vt (x, xs1) = xs val res = loop (xs1, i-1) prval ((*void*)) = fold@ (xs) // in res end else let val res = xs val () = xs := list_vt_nil((*void*)) in res end // end of [if] ) // end of [loop] // var xs = xs val res = loop (xs, i) // in (xs, res) end // end of [list_split_vt_at] (* ****** ****** *) implement {a}(*tmp*) list_vt_concat (xss) = let // viewtypedef VT = List_vt (a) viewtypedef VT0 = List0_vt (a) // fun loop {n:nat} .. ( res: VT, xss: list_vt (VT, n) ) : VT0 = let in case+ xss of | ~list_vt_cons (xs, xss) => let val res = list_vt_append (xs, res) in loop (res, xss) end // end of [list_vt_cons] | ~list_vt_nil () => let prval () = lemma_list_vt_param (res) in res end // end of [list_vt_nil] end (* end of [loop] *) // val xss = list_vt_reverse (xss) // prval () = lemma_list_vt_param (xss) // in // case+ xss of | ~list_vt_cons (xs, xss) => loop (xs, xss) | ~list_vt_nil () => list_vt_nil () // end // end of [list_vt_concat] (* ****** ****** *) implement {a}(*tmp*) list_vt_separate (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: list_vt (a, n) , res1: &ptr? >> list_vt (a, n1) , res2: &ptr? >> list_vt (a, n2) ) : #[n1,n2:nat | n1+n2==n] void = let in // case+ xs of | @list_vt_cons (x, xs_tl) => let val xs_tl_v = xs_tl val test = list_vt_separate$pred (x) in if test then let val () = res1 := xs val () = loop (xs_tl_v, xs_tl, res2) in fold@ (res1) end else let val () = res2 := xs val () = loop (xs_tl_v, res1, xs_tl) in fold@ (res2) end // end of [if] end // end of [list_vt_cons] | ~list_vt_nil () => ( res1 := list_vt_nil; res2 := list_vt_nil ) // end // end of [loop] // var res1: ptr var res2: ptr val () = loop (xs, res1, res2) val () = xs := res1 // in res2 end // end of [list_vt_separate] (* ****** ****** *) implement {a}(*tmp*) list_vt_filter (xs) = let // implement list_vt_filterlin$pred (x) = list_vt_filter$pred (x) implement list_vt_filterlin$clear (x) = let prval () = topize (x) in (*void*) end // end of [list_vt_filterlin$clear] // in list_vt_filterlin (xs) end // end of [list_vt_filter] (* ****** ****** *) implement {a}(*tmp*) list_vt_filterlin (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: &list_vt (a, n) >> listLte_vt (a, n) ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val test = list_vt_filterlin$pred (x) in if test then let val () = loop (xs1) in fold@ (xs) end else let val xs1 = xs1 val () = list_vt_filterlin$clear (x) val () = free@{a}{0}(xs) val () = xs := xs1 in loop (xs) end // end of [if] end // end of [list_vt_cons] | @list_vt_nil () => fold@ (xs) // end // end of [loop] // var xs = xs // in loop (xs); xs end // end of [list_vt_filterlin] (* ****** ****** *) implement {a}(*tmp*) list_vt_filterlin$clear (x) = gclear_ref (x) (* ****** ****** *) implement {a}(*tmp*) list_vt_app (xs) = let in // case+ xs of | @list_vt_cons (x, xs1) => let val () = list_vt_app$fwork (x) val () = list_vt_app (xs1) prval () = fold@ (xs) in // nothing end // end of [cons] | list_vt_nil ((*void*)) => () // end // end of [list_vt_app] implement {a}(*tmp*) list_vt_appfree (xs) = let in // case+ xs of | @list_vt_cons (x, xs1) => let val xs1 = xs1 val () = list_vt_appfree$fwork (x) val () = free@ {a}{0} (xs) in list_vt_appfree (xs1) end // end of [cons] | ~list_vt_nil ((*void*)) => () // end // end of [list_vt_appfree] (* ****** ****** *) implement {a}{b} list_vt_map (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: !list_vt (a, n) , res: &ptr? >> list_vt (b, n) ) : void = let in case+ xs of | @list_vt_cons (x, xs1) => let val y = list_vt_map$fopr (x) // end of [val] val () = res := list_vt_cons{b}{0}(y, _) val+list_vt_cons (_, res1) = res val () = loop (xs1, res1) val () = fold@ (xs) prval () = fold@ (res) in // nothing end // end of [list_vt_cons] | list_vt_nil () => (res := list_vt_nil ()) end // end of [loop] // var res: ptr val () = loop (xs, res) // in res end // end of [list_vt_map] (* ****** ****** *) implement {x}{y}(*tmp*) list_vt_map_fun (xs, f) = let // implement {x2}{y2} list_vt_map$fopr (x2) = let val f = $UN.cast{(&x2)->y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_map$fopr] // in list_vt_map (xs) end // end of [list_vt_map_fun] implement {x}{y}(*tmp*) list_vt_map_clo (xs, f) = let // val f = $UN.cast{(&x) - y}(addr@f) // implement {x2}{y2} list_vt_map$fopr (x2) = let val f = $UN.cast{(&x2)-y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_map$fopr] // in list_vt_map (xs) end // end of [list_vt_map_clo] implement {x}{y}(*tmp*) list_vt_map_cloref (xs, f) = let // implement {x2}{y2} list_vt_map$fopr (x2) = let val f = $UN.cast{(&x2)-y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_map$fopr] // in list_vt_map (xs) end // end of [list_vt_map_cloref] (* ****** ****** *) implement {a}{b} list_vt_mapfree (xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: list_vt (a, n) , res: &ptr? >> list_vt (b, n) ) : void = let in case+ xs of | @list_vt_cons (x, xs1) => let val y = list_vt_mapfree$fopr (x) val xs1_val = xs1 val ((*freed*)) = free@{a}{0}(xs) val () = res := list_vt_cons{b}{0}(y, _) val+list_vt_cons (_, res1) = res val () = loop (xs1_val, res1) prval ((*folded*)) = fold@(res) in // nothing end // end of [list_vt_cons] | ~list_vt_nil () => (res := list_vt_nil ()) end // end of [loop] // var res: ptr val () = loop (xs, res) // in res end // end of [list_vt_mapfree] (* ****** ****** *) implement {x}{y}(*tmp*) list_vt_mapfree_fun (xs, f) = let // implement {x2}{y2} list_vt_mapfree$fopr (x2) = let val f = $UN.cast{(&x2>>_?)->y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_mapfree$fopr] // in list_vt_mapfree (xs) end // end of [list_vt_mapfree_fun] implement {x}{y}(*tmp*) list_vt_mapfree_clo (xs, f) = let // val f = $UN.cast{(&x>>_?) - y}(addr@f) // implement {x2}{y2} list_vt_mapfree$fopr (x2) = let val f = $UN.cast{(&x2>>_?)-y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_mapfree$fopr] // in list_vt_mapfree (xs) end // end of [list_vt_mapfree_clo] implement {x}{y}(*tmp*) list_vt_mapfree_cloref (xs, f) = let // implement {x2}{y2} list_vt_mapfree$fopr (x2) = let val f = $UN.cast{(&x2>>_?)-y}(f) in $UN.castvwtp0{y2}(f(x2)) end // end of [list_vt_mapfree$fopr] // in list_vt_mapfree (xs) end // end of [list_vt_mapfree_cloref] (* ****** ****** *) implement {x}(*tmp*) list_vt_foreach (xs) = let var env: void = () in list_vt_foreach_env (xs, env) end // end of [list_vt_foreach] implement {x}{env} list_vt_foreach_env (xs, env) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: !list_vt (x, n), env: &env ) : void = let in // case+ xs of | @list_vt_cons (x, xs1) => let val test = list_vt_foreach$cont (x, env) // end of [val] in if test then let val () = list_vt_foreach$fwork (x, env) val () = loop (xs1, env) prval ((*void*)) = fold@ (xs) in // nothing end else let prval ((*void*)) = fold@ (xs) in (*nothing*) end // end of [if] end // end of [cons] | list_vt_nil ((*void*)) => () // end // end of [loop] // in loop (xs, env) end // end of [list_vt_foreach_env] (* ****** ****** *) implement {x}{env} list_vt_foreach$cont (x, env) = true (* ****** ****** *) implement {a}(*tmp*) list_vt_foreach_fun {fe} (xs, f) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( xs: !list_vt (a, n), f: (&a) - void ) : void = case+ xs of | @list_vt_cons (x, xs1) => let val () = f (x) val () = loop (xs1, f) in fold@ (xs) end // end of [cons] | list_vt_nil ((*void*)) => () // end of [loop] in loop (xs, f) end // end of [list_vt_foreach_fun] implement {a}(*tmp*) list_vt_foreach_funenv {v}{vt}{fe} (pf | xs, f, env) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat} .. ( pf: !v | xs: !list_vt (a, n) , f: (!v | &a, !vt) - void , env: !vt ) : void = case+ xs of | @list_vt_cons (x, xs1) => let val () = f (pf | x, env) val () = loop (pf | xs1, f, env) in fold@ (xs) end // end of [cons] | list_vt_nil ((*void*)) => () // end of [loop] // in loop (pf | xs, f, env) end // end of [list_vt_foreach_funenv] (* ****** ****** *) implement {x}(*tmp*) list_vt_iforeach (xs) = let var env: void = () in list_vt_iforeach_env (xs, env) end // end of [list_vt_iforeach] implement {x}{env} list_vt_iforeach_env (xs, env) = let // prval () = lemma_list_vt_param (xs) // fun loop {n:nat}{i:nat} .. ( i: int i, xs: !list_vt (x, n), env: &env ) : intBtwe(i, n+i) = let in case+ xs of | @list_vt_cons (x, xs1) => let val test = list_vt_iforeach$cont (i, x, env) // end of [val] in if test then let val () = list_vt_iforeach$fwork (i, x, env) // end of [val] val i = loop (succ(i), xs1, env) prval () = fold@ (xs) in i // the number of processed elements end else let prval () = fold@ (xs) in i // the number of processed elements end // end of [if] end // end of [cons] | list_vt_nil ((*void*)) => (i) // |processed-elements| end // end of [loop] // in loop (0, xs, env) end // end of [list_vt_iforeach_env] (* ****** ****** *) implement {x}{env} list_vt_iforeach$cont (i, x, env) = true (* ****** ****** *) #include "./SHARE/list_vt_mergesort.dats" #include "./SHARE/list_vt_quicksort.dats" (* ****** ****** *) (* end of [list_vt.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/fcontainer_foreach.dats0000664000175000017500000001661212655455557021633 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: February, 2012 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [fcontainer_foreach.dats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/fcontainer.sats" (* ****** ****** *) implement {xs}{x} foreach_fun {fe:eff} (xs, f) = let val f = coerce (f) where { extern castfn coerce (f: (x) - void):<> (!unit_v | x, !ptr) - void } // end of [val] // HX: this is a safe cast prval pfu = unit_v () val () = foreach_funenv {unit_v} {ptr} (pfu | xs, f, the_null_ptr) prval unit_v () = pfu in // empty end // end of [foreach_fun] implement {xs}{x} foreach_clo {fe:eff} (xs, f) = let typedef clo_t = (x) - void val p_f = addr@(f) prval [f:addr] EQADDR () = ptr_get_index (p_f) viewdef v = clo_t @ f fn app (pf: !v | x: x, p_f: !ptr f): void = !p_f (x) in foreach_funenv {v}{ptr(f)} (view@ f | xs, app, p_f) end // end of [foreach_clo] implement {xs}{x} foreach_vclo {v} {fe:eff} (pfv | xs, f) = let typedef clo_t = (!v | x) - void val p_f = addr@(f) prval [f:addr] EQADDR () = ptr_get_index (p_f) viewdef v2 = (v, clo_t @ f) fn app (pf: !v2 | x: x, p_f: !ptr f): void = () where { val () = !p_f (pf.0 | x) } // end of [val] prval pf = (pfv, view@ f) val () = foreach_funenv {v2} {ptr(f)} (pf | xs, app, p_f) prval () = pfv := pf.0 and () = view@ (f) := pf.1 in (*nothing*) end // end of [foreach_vclo] implement {xs}{x} foreach_cloptr {fe:eff} (xs, f) = let viewdef uv = unit_v viewtypedef cloptr0_t = (x) - void viewtypedef cloptr1_t = (!uv>>uv | x) - void prval () = __assert(f) where { extern prfun __assert (f: !cloptr0_t >> cloptr1_t): void } // end of [val] // HX: this is a safe cast prval pfu = unit_v () val () = foreach_vcloptr {uv} (pfu | xs, f) prval unit_v () = pfu prval () = __assert(f) where { extern prfun __assert (f: !cloptr1_t >> cloptr0_t): void } // end of [val] // HX: this is a safe cast in (*nothing*) end // end of [foreach_cloptr] implement {xs}{x} foreach_vcloptr {v} {fe:eff} (pf | xs, f) = let viewtypedef cloptr_t = (!v | x) - void fn app (pf: !v | x: x, f: !cloptr_t): void = f (pf | x) in foreach_funenv {v} {cloptr_t} (pf | xs, app, f) end // end of [foreach_vcloptr] implement {xs}{x} foreach_cloref {fe:eff} (xs, f) = let viewdef uv = unit_v typedef cloref_t = (x) - void fn app (pf: !uv | x: x, f: !cloref_t): void = f (x) prval pfu = unit_v () val () = foreach_funenv {uv} {cloref_t} (pfu | xs, app, f) prval unit_v () = pfu in (*empty*) end // end of [foreach_cloref] (* ****** ****** *) implement {xs}{x} iforeach_funenv {v}{vt}{fe} ( pfv | xs, f, env ) = let var i: int = 0 val p_i = addr@(i) viewtypedef ivt = (ptr(i), vt) // val env1 = __cast (env) where { extern castfn __cast (env: !vt >> vt?):<> vt } // end of [val] // var ienv : ivt = (p_i, env1) val p_ienv = addr@(ienv) viewdef v1 = (v, int@i, ivt@ienv) fn f1 ( pf: !v1 | x: x, p: !ptr(ienv) ) : void = let val i = !(p->0) val () = f (pf.0 | i, x, p->1) in $effmask_wrt (!(p->0) := i + 1) end // end of [f1] // prval pfv1 = (pfv, view@(i), view@(ienv)) val () = foreach_funenv{v1}{ptr(ienv)} (pfv1 | xs, f1, p_ienv) prval () = pfv := pfv1.0 prval () = view@(i) := pfv1.1 prval () = view@(ienv) := pfv1.2 // prval () = __xfree (env, ienv.1) where { extern praxi __xfree (env: !vt? >> vt, env1: vt): void } // end of [where] // end of [prval] // in i // = the size of [xs] end // end of [iforeach_funenv] (* ****** ****** *) implement {xs}{x} iforeach_clo {fe:eff} (xs, f) = let typedef clo_t = (int, x) - void val p_f = addr@(f) prval [f:addr] EQADDR () = ptr_get_index (p_f) viewdef v = clo_t @ f fn app (pf: !v | i: int, x: x, p_f: !ptr f): void = !p_f (i, x) in iforeach_funenv {v}{ptr(f)} (view@ f | xs, app, p_f) end // end of [iforeach_clo] implement {xs}{x} iforeach_vclo {v} {fe:eff} (pfv | xs, f) = let typedef clo_t = (!v | int, x) - void val p_f = addr@(f) prval [f:addr] EQADDR () = ptr_get_index (p_f) viewdef v2 = (v, clo_t @ f) fn app ( pf: !v2 | i: int, x: x, p_f: !ptr f ) : void = () where { val () = !p_f (pf.0 | i, x) } // end of [val] prval pf = (pfv, view@ f) val nxs = iforeach_funenv {v2} {ptr(f)} (pf | xs, app, p_f) prval () = pfv := pf.0 and () = view@ (f) := pf.1 in nxs end // end of [iforeach_vclo] (* ****** ****** *) implement {xs}{x} iforeach_cloptr {fe:eff} (xs, f) = let viewdef uv = unit_v viewtypedef cloptr0_t = (int, x) - void viewtypedef cloptr1_t = (!uv >> uv | int, x) - void prval () = __assert(f) where { extern prfun __assert (f: !cloptr0_t >> cloptr1_t): void } // end of [val] // HX: this is a safe cast prval pfu = unit_v () val nxs = iforeach_vcloptr {uv} (pfu | xs, f) prval unit_v () = pfu prval () = __assert(f) where { extern prfun __assert (f: !cloptr1_t >> cloptr0_t): void } // end of [val] // HX: this is a safe cast in nxs end // end of [iforeach_cloptr] implement {xs}{x} iforeach_vcloptr {v} {fe:eff} (pf | xs, f) = let viewtypedef cloptr_t = (!v | int, x) - void fn app (pf: !v | i: int, x: x, f: !cloptr_t): void = f (pf | i, x) in iforeach_funenv {v} {cloptr_t} (pf | xs, app, f) end // end of [iforeach_vcloptr] (* ****** ****** *) implement {xs}{x} iforeach_cloref {fe:eff} (xs, f) = let viewdef uv = unit_v typedef cloref_t = (int, x) - void fn app (pf: !uv | i: int, x: x, f: !cloref_t): void = f (i, x) prval pfu = unit_v () val nxs = iforeach_funenv {uv} {cloref_t} (pfu | xs, app, f) prval unit_v () = pfu in nxs end // end of [foreach_cloref] (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [fcontainer_foreach.dats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [fcontainer_foreach.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/parray.dats0000664000175000017500000000567612655455557017322 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/parray.atxt ** Time of generation: Sat Jun 27 21:39:41 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} parray_is_empty {l}{n} (pf | p) = let // prval () = lemma_parray_v_params (pf) // val x = $UN.ptr0_get (p) val [lx:addr] x = g1ofg0_ptr (x) // prval () = __assert () where { extern praxi __assert (): [(lx <= null && n == 0) || (lx > null && n > 0)] void } (* end of [prval] *) // in lte_ptr1_ptr1 (x, the_null_ptr) end // end of [parray_is_empty] implement{a} parray_isnot_empty {l}{n} (pf | p) = let // prval () = lemma_parray_v_params (pf) // val x = $UN.ptr0_get (p) val [lx:addr] x = g1ofg0_ptr (x) // prval () = __assert () where { extern praxi __assert (): [(lx <= null && n == 0) || (lx > null && n > 0)] void } (* end of [prval] *) // in gt_ptr1_ptr1 (x, the_null_ptr) end // end of [parray_isnot_empty] (* ****** ****** *) implement {a}(*tmp*) parray_size (pf | p) = let // prval () = lemma_parray_v_params (pf) // fun loop {l:addr} {i,j:nat} .. ( pf: !parray_v (a, l, i) | p: ptr l, j: size_t j ) :<> size_t (i+j) = let val isnot = parray_isnot_empty (pf | p) in if isnot then let prval parray_v_cons(pf1, pf2) = pf val asz = loop (pf2 | ptr_succ (p), j+1) prval () = pf := parray_v_cons{a}(pf1, pf2) in asz end // end of [then] else (j) // end of [else] // end if [if] end (* end of [loop] *) // in loop (pf | p, i2sz(0)) end // end of [parray_size] (* ****** ****** *) (* end of [parray.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/intrange.dats0000664000175000017500000001104712655455557017620 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/intrange.atxt ** Time of generation: Sat Jun 27 21:39:29 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: June, 2012 *) (* ****** ****** *) implement{} intrange_foreach (l, r) = let var env: void = () in intrange_foreach_env (l, r, env) end // end of [intrange_foreach] implement{tenv} intrange_foreach_env (l, r, env) = let // fun loop ( l: int, r: int, env: &tenv ) : int = ( // if l < r then let val cont = intrange_foreach$cont (l, env) in // if cont then ( intrange_foreach$fwork (l, env); loop (succ(l), r, env) ) else l // end of [if] // end // end of [then] else l // end of [else] // ) // end of [loop] // in loop (l, r, env) end // end of [intrange_foreach_env] (* ****** ****** *) implement{env} intrange_foreach$cont (i, env) = true (* implement{env} intrange_foreach$fwork (i, env) = ((*void*)) *) (* ****** ****** *) implement {}(*tmp*) int_foreach_cloref (n, fwork) = ( // intrange_foreach_cloref<> (0, n, fwork) // ) (* end of [int_foreach_cloref] *) (* ****** ****** *) implement {}(*tmp*) intrange_foreach_cloref (l, r, fwork) = let // implement (env)(*tmp*) intrange_foreach$cont (i, env) = true implement (env)(*tmp*) intrange_foreach$fwork(i, env) = fwork(i) // var env: void = () // in intrange_foreach_env (l, r, env) end // end of [intrange_foreach_cloref] (* ****** ****** *) implement{} intrange_rforeach (l, r) = let var env: void = () in intrange_rforeach_env (l, r, env) end // end of [intrange_rforeach] implement{tenv} intrange_rforeach_env (l, r, env) = let // fun loop ( l: int, r: int, env: &tenv ) : int = ( // if l < r then let val r1 = pred (r) val cont = intrange_rforeach$cont (r1, env) in // if cont then ( intrange_rforeach$fwork (r1, env); loop (l, r1, env) ) else r // end of [if] // end // end of [then] else r // end of [else] // ) // end of [loop] // in loop (l, r, env) end // end of [intrange_rforeach_env] (* ****** ****** *) implement{env} intrange_rforeach$cont (i, env) = true (* implement{env} intrange_rforeach$fwork (i, env) = ((*void*)) *) (* ****** ****** *) implement {}(*tmp*) int_rforeach_cloref (n, fwork) = ( // intrange_rforeach_cloref<> (0, n, fwork) // ) (* end of [int_rforeach_cloref] *) (* ****** ****** *) implement {}(*tmp*) intrange_rforeach_cloref (l, r, fwork) = let // implement (env)(*tmp*) intrange_rforeach$cont (i, env) = true implement (env)(*tmp*) intrange_rforeach$fwork(i, env) = fwork(i) // var env: void = () // in intrange_rforeach_env (l, r, env) end // end of [intrange_rforeach_cloref] (* ****** ****** *) implement{} intrange2_foreach (l1, r1, l2, r2) = let var env: void = () in intrange2_foreach_env (l1, r1, l2, r2, env) end // end of [intrange2_foreach] (* ****** ****** *) implement{tenv} intrange2_foreach_env (l1, r1, l2, r2, env) = let // fnx loop1 ( i: int, env: &(tenv) >> _ ) : void = ( if i < r1 then loop2 (i, l2, env) else () ) // and loop2 ( i: int, j: int, env: &(tenv) >> _ ) : void = ( if j < r2 then ( intrange2_foreach$fwork(i, j, env); loop2 (i, j+1, env) ) else loop1 (i+1, env) ) // in loop1 (l1, env) end // end of [intrange2_foreach] (* ****** ****** *) (* end of [intrange.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/matrix.dats0000664000175000017500000002056412655455557017321 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/matrix.atxt ** Time of generation: Sat Feb 6 15:18:16 2016 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement{a} matrix_getref_at_int (M, i, n, j) = $UN.cast{cPtr1(a)}(ptr_add (addr@(M), i*n+j)) // end of [matrix_getref_at_int] implement{a} matrix_getref_at_size (M, i, n, j) = $UN.cast{cPtr1(a)}(ptr_add (addr@(M), i*n+j)) // end of [matrix_getref_at_size] (* ****** ****** *) implement{a} matrix_get_at_int (M, i, n, j) = $UN.cptr_get (matrix_getref_at_int (M, i, n, j)) // end of [matrix_get_at_int] implement{a} matrix_set_at_int (M, i, n, j, x) = $UN.cptr_set (matrix_getref_at_int (M, i, n, j), x) // end of [matrix_set_at_int] implement{a} matrix_exch_at_int (M, i, n, j, x) = $UN.cptr_exch (matrix_getref_at_int (M, i, n, j), x) // end of [matrix_exch_at_int] (* ****** ****** *) implement{a} matrix_get_at_size (M, i, n, j) = $UN.cptr_get (matrix_getref_at_size (M, i, n, j)) // end of [matrix_get_at_size] implement{a} matrix_set_at_size (M, i, n, j, x) = $UN.cptr_set (matrix_getref_at_size (M, i, n, j), x) // end of [matrix_set_at_size] implement{a} matrix_exch_at_size (M, i, n, j, x) = $UN.cptr_exch (matrix_getref_at_size (M, i, n, j), x) // end of [matrix_exch_at_size] (* ****** ****** *) implement{a} matrix_ptr_alloc (row, col) = let // val ( pfarr, pfgc | p ) = array_ptr_alloc (row*col) // prval pfmat = array2matrix_v(pfarr) // in @(pfmat, pfgc | p) end // end of [matrix_ptr_alloc] (* ****** ****** *) implement{} matrix_ptr_free {a} (pfmat, pfgc | p) = let // prval pfarr = matrix2array_v (pfmat) // in array_ptr_free (pfarr, pfgc | p) end // end of [matrix_ptr_free] (* ****** ****** *) implement{a} matrix_ptr_tabulate (row, col) = let // val (pf, pfgc | p) = matrix_ptr_alloc (row, col) // implement matrix_initize$init (i, j, x) = x := matrix_tabulate$fopr (i, j) // val () = matrix_initize (!p, row, col) // in @(pf, pfgc | p) end // end of [matrix_ptr_tabulate] (* ****** ****** *) implement{} fprint_matrix$sep1 (out) = fprint (out, ", ") implement{} fprint_matrix$sep2 (out) = fprint (out, "; ") implement{a} fprint_matrix_int (out, M, m, n) = let // prval () = lemma_matrix_param (M) // in fprint_matrix_size (out, M, i2sz(m), i2sz(n)) end // end of [fprint_matrix_int] implement{a} fprint_matrix_size {m,n} (out, M, m, n) = let // implement fprint_array$sep<> (out) = fprint_matrix$sep1 (out) // fun loop {l:addr} ( out: FILEref, p0: ptr l, m: size_t m, n: size_t n, i: size_t ) : void = let in // if i < m then let val () = ( if i > 0 then fprint_matrix$sep2 (out) ) : void // end of [val] val ( pf, fpf | p0 ) = $UN.ptr_vtake{array(a,n)}(p0) val () = fprint_array (out, !p0, n) prval () = fpf (pf) in loop (out, ptr_add (p0, n), m, n, succ(i)) end else () // end of [if] // end // end of [loop] // in loop (out, addr@ (M), m, n, i2sz(0)) end // end of [fprint_matrix_size] (* ****** ****** *) implement{a} fprint_matrix_sep ( out, M, m, n, sep1, sep2 ) = let // implement fprint_matrix$sep1<> (out) = fprint (out, sep1) implement fprint_matrix$sep2<> (out) = fprint (out, sep2) // in fprint_matrix_size (out, M, m, n) end // end of [fprint_matrix_sep] (* ****** ****** *) // implement {}(*tmp*) matrix_foreach$rowsep() = () // implement{a} matrix_foreach (A, m, n) = let // var env: void = () // in matrix_foreach_env (A, m, n, env) end // end of [matrix_foreach] // (* implement {a}{env} matrix_foreach_env (A, m, n, env) = let // implement array_foreach$cont (x, env) = true implement array_foreach$fwork (x, env) = matrix_foreach$fwork (x, env) // val p = addr@(A) prval pf = matrix2array_v (view@(A)) // val _(*mn*) = array_foreach_env (!p, m*n, env) prval ((*void*)) = view@(A) := array2matrix_v (pf) // in // nothing end // end of [matrix_foreach_env] *) // implement {a}{env} matrix_foreach_env {m,n}(M, m, n, env) = let // prval () = lemma_matrix_param(M) // fnx loop1 ( p: ptr , i: sizeLte(m), env: &env >> _ ) : void = ( // if i < m then loop2(p, i, i2sz(0), env) where { val () = if i > 0 then matrix_foreach$rowsep() // end of [val] } // ) (* end of [loop1] *) // and loop2 ( p: ptr , i: sizeLt(m), j: sizeLte(n), env: &env >> _ ) : void = ( // if j < n then let // val (pf, fpf | p) = $UN.ptr_vtake{a}(p) // val ((*void*)) = matrix_foreach$fwork(!p, env) // prval ((*void*)) = fpf(pf) // in loop2(ptr_succ(p), i, succ(j), env) end // end of [then] else loop1(p, succ(i), env) // end of [else] // ) (* end of [loop2] *) // in loop1(addr@M, i2sz(0), env) end // end of [matrix_foreach_env] // (* ****** ****** *) implement{a} matrix_foreachrow (A, m, n) = let // var env: void = () // in matrix_foreachrow_env (A, m, n, env) end // end of [matrix_foreachrow] implement {a}{env} matrix_foreachrow_env {m,n}(M, m, n, env) = let // prval () = lemma_matrix_param(M) // fun loop ( p: ptr, i: sizeLte(m), env: &env >> _ ) : void = ( // if i < m then let // val (pf, fpf | p) = $UN.ptr_vtake{@[a][n]}(p) val () = matrix_foreachrow$fwork(!p, n, env) prval ((*void*)) = fpf(pf) // in loop(ptr_add(p, n), succ(i), env) end // end of [then] else () // end of [else] // ) (* end of [loop] *) // in loop(addr@M, i2sz(0), env) end // end of [matrix_foreachrow_env] (* ****** ****** *) implement{a} matrix_initize (M, m, n) = let // infixl (/) % #define % g0uint_mod // implement array_initize$init (ij, x) = let in matrix_initize$init (ij/n, ij%n, x) end // end of [array_initize$init] // val p = addr@(M) prval pf = matrix2array_v (view@(M)) val () = array_initize (!p, m * n) prval () = view@(M) := array2matrix_v (pf) // in // nothing end // end of [matrix_initize] (* ****** ****** *) implement {a}{b} matrix_mapto {m,n} (A, B, m, n) = let // val pA = addr@(A) val pB = addr@(B) // prval pfA = matrix2array_v (view@(A)) prval pfB = matrix2array_v (view@(B)) // local // implement array_mapto$fwork (x, y) = matrix_mapto$fwork (x, y) // in (* in of [local] *) // val ((*void*)) = array_mapto (!pA, !pB, m*n) // end // end of [local] // prval () = view@(A) := array2matrix_v {a}{..}{m,n} (pfA) prval () = view@(B) := array2matrix_v {b}{..}{m,n} (pfB) // in // nothing end (* end of [matrix_mapto] *) (* ****** ****** *) implement {a,b}{c} matrix_map2to {m,n} (A, B, C, m, n) = let // val pA = addr@(A) val pB = addr@(B) val pC = addr@(C) // prval pfA = matrix2array_v (view@(A)) prval pfB = matrix2array_v (view@(B)) prval pfC = matrix2array_v (view@(C)) // local // implement array_map2to$fwork (x, y, z) = matrix_map2to$fwork (x, y, z) // in (* in of [local] *) // val ((*void*)) = array_map2to (!pA, !pB, !pC, m*n) // end // end of [local] // prval () = view@(A) := array2matrix_v {a}{..}{m,n} (pfA) prval () = view@(B) := array2matrix_v {b}{..}{m,n} (pfB) prval () = view@(C) := array2matrix_v {c}{..}{m,n} (pfC) // in // nothing end (* end of [matrix_map2to] *) (* ****** ****** *) (* end of [matrix.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/memory.dats0000664000175000017500000000360412655455557017321 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/memory.atxt ** Time of generation: Sat Jun 27 21:39:20 2015 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) implement {}(*tmp*) memory$free{l} (pfat, pfmf | p) = let // prval pfgc = $UN.castview0{mfree_gc_v(l)}(pfmf) // in mfree_gc (pfat, pfgc | p) end // end of [memory$free] (* ****** ****** *) implement {}(*tmp*) memory$alloc {n} (bsz) = let // val [l:addr] (pfat, pfgc | p) = malloc_gc (bsz) prval pfmf = $UN.castview0{memory$free_v(l)}(pfgc) // in (pfat, pfmf | p) end // end of [memory$alloc] (* ****** ****** *) (* end of [memory.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/integer_fixed.dats0000664000175000017500000003345412655455557020633 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/integer_fixed.atxt ** Time of generation: Sun Oct 11 11:12:59 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: February, 2014 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) // // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) implement g0int2int = g0int2int_int8_int implement g0int2int = g0int2int_int16_int implement g0int2int = g0int2int_int32_int implement g0int2int = g0int2int_int64_int (* ****** ****** *) implement g0int_neg = g0int_neg_int8 implement g0int_abs = g0int_abs_int8 implement g0int_succ = g0int_succ_int8 implement g0int_pred = g0int_pred_int8 implement g0int_half = g0int_half_int8 implement g0int_add = g0int_add_int8 implement g0int_sub = g0int_sub_int8 implement g0int_mul = g0int_mul_int8 implement g0int_div = g0int_div_int8 implement g0int_mod = g0int_mod_int8 implement g0int_asl = g0int_asl_int8 implement g0int_asr = g0int_asr_int8 implement g0int_isltz = g0int_isltz_int8 implement g0int_isltez = g0int_isltez_int8 implement g0int_isgtz = g0int_isgtz_int8 implement g0int_isgtez = g0int_isgtez_int8 implement g0int_iseqz = g0int_iseqz_int8 implement g0int_isneqz = g0int_isneqz_int8 implement g0int_lt = g0int_lt_int8 implement g0int_lte = g0int_lte_int8 implement g0int_gt = g0int_gt_int8 implement g0int_gte = g0int_gte_int8 implement g0int_eq = g0int_eq_int8 implement g0int_neq = g0int_neq_int8 implement g0int_compare = g0int_compare_int8 implement g0int_max = g0int_max_int8 implement g0int_min = g0int_min_int8 // implement fprint_val (out, x) = fprint_int8 (out, x) // implement g0int_neg = g0int_neg_int16 implement g0int_abs = g0int_abs_int16 implement g0int_succ = g0int_succ_int16 implement g0int_pred = g0int_pred_int16 implement g0int_half = g0int_half_int16 implement g0int_add = g0int_add_int16 implement g0int_sub = g0int_sub_int16 implement g0int_mul = g0int_mul_int16 implement g0int_div = g0int_div_int16 implement g0int_mod = g0int_mod_int16 implement g0int_asl = g0int_asl_int16 implement g0int_asr = g0int_asr_int16 implement g0int_isltz = g0int_isltz_int16 implement g0int_isltez = g0int_isltez_int16 implement g0int_isgtz = g0int_isgtz_int16 implement g0int_isgtez = g0int_isgtez_int16 implement g0int_iseqz = g0int_iseqz_int16 implement g0int_isneqz = g0int_isneqz_int16 implement g0int_lt = g0int_lt_int16 implement g0int_lte = g0int_lte_int16 implement g0int_gt = g0int_gt_int16 implement g0int_gte = g0int_gte_int16 implement g0int_eq = g0int_eq_int16 implement g0int_neq = g0int_neq_int16 implement g0int_compare = g0int_compare_int16 implement g0int_max = g0int_max_int16 implement g0int_min = g0int_min_int16 // implement fprint_val (out, x) = fprint_int16 (out, x) // implement g0int_neg = g0int_neg_int32 implement g0int_abs = g0int_abs_int32 implement g0int_succ = g0int_succ_int32 implement g0int_pred = g0int_pred_int32 implement g0int_half = g0int_half_int32 implement g0int_add = g0int_add_int32 implement g0int_sub = g0int_sub_int32 implement g0int_mul = g0int_mul_int32 implement g0int_div = g0int_div_int32 implement g0int_mod = g0int_mod_int32 implement g0int_asl = g0int_asl_int32 implement g0int_asr = g0int_asr_int32 implement g0int_isltz = g0int_isltz_int32 implement g0int_isltez = g0int_isltez_int32 implement g0int_isgtz = g0int_isgtz_int32 implement g0int_isgtez = g0int_isgtez_int32 implement g0int_iseqz = g0int_iseqz_int32 implement g0int_isneqz = g0int_isneqz_int32 implement g0int_lt = g0int_lt_int32 implement g0int_lte = g0int_lte_int32 implement g0int_gt = g0int_gt_int32 implement g0int_gte = g0int_gte_int32 implement g0int_eq = g0int_eq_int32 implement g0int_neq = g0int_neq_int32 implement g0int_compare = g0int_compare_int32 implement g0int_max = g0int_max_int32 implement g0int_min = g0int_min_int32 // implement fprint_val (out, x) = fprint_int32 (out, x) // implement g0int_neg = g0int_neg_int64 implement g0int_abs = g0int_abs_int64 implement g0int_succ = g0int_succ_int64 implement g0int_pred = g0int_pred_int64 implement g0int_half = g0int_half_int64 implement g0int_add = g0int_add_int64 implement g0int_sub = g0int_sub_int64 implement g0int_mul = g0int_mul_int64 implement g0int_div = g0int_div_int64 implement g0int_mod = g0int_mod_int64 implement g0int_asl = g0int_asl_int64 implement g0int_asr = g0int_asr_int64 implement g0int_isltz = g0int_isltz_int64 implement g0int_isltez = g0int_isltez_int64 implement g0int_isgtz = g0int_isgtz_int64 implement g0int_isgtez = g0int_isgtez_int64 implement g0int_iseqz = g0int_iseqz_int64 implement g0int_isneqz = g0int_isneqz_int64 implement g0int_lt = g0int_lt_int64 implement g0int_lte = g0int_lte_int64 implement g0int_gt = g0int_gt_int64 implement g0int_gte = g0int_gte_int64 implement g0int_eq = g0int_eq_int64 implement g0int_neq = g0int_neq_int64 implement g0int_compare = g0int_compare_int64 implement g0int_max = g0int_max_int64 implement g0int_min = g0int_min_int64 // implement fprint_val (out, x) = fprint_int64 (out, x) // (* ****** ****** *) // implement g0int2uint = g0int2uint_int8_uint implement g0int2uint = g0int2uint_int16_uint implement g0int2uint = g0int2uint_int32_uint implement g0int2uint = g0int2uint_int64_uint // implement g0uint2int = g0uint2int_uint8_int implement g0uint2int = g0uint2int_uint16_int implement g0uint2int = g0uint2int_uint32_int implement g0uint2int = g0uint2int_uint64_int // implement g0uint2uint = g0uint2uint_uint8_uint implement g0uint2uint = g0uint2uint_uint16_uint implement g0uint2uint = g0uint2uint_uint32_uint implement g0uint2uint = g0uint2uint_uint64_uint // (* ****** ****** *) implement g0uint_succ = g0uint_succ_uint8 implement g0uint_pred = g0uint_pred_uint8 implement g0uint_half = g0uint_half_uint8 implement g0uint_add = g0uint_add_uint8 implement g0uint_sub = g0uint_sub_uint8 implement g0uint_mul = g0uint_mul_uint8 implement g0uint_div = g0uint_div_uint8 implement g0uint_mod = g0uint_mod_uint8 implement g0uint_lsl = g0uint_lsl_uint8 implement g0uint_lsr = g0uint_lsr_uint8 implement g0uint_lnot = g0uint_lnot_uint8 implement g0uint_lor = g0uint_lor_uint8 implement g0uint_lxor = g0uint_lxor_uint8 implement g0uint_land = g0uint_land_uint8 implement g0uint_isgtz = g0uint_isgtz_uint8 implement g0uint_iseqz = g0uint_iseqz_uint8 implement g0uint_isneqz = g0uint_isneqz_uint8 implement g0uint_lt = g0uint_lt_uint8 implement g0uint_lte = g0uint_lte_uint8 implement g0uint_gt = g0uint_gt_uint8 implement g0uint_gte = g0uint_gte_uint8 implement g0uint_eq = g0uint_eq_uint8 implement g0uint_neq = g0uint_neq_uint8 implement g0uint_compare = g0uint_compare_uint8 implement g0uint_max = g0uint_max_uint8 implement g0uint_min = g0uint_min_uint8 // implement fprint_val (out, x) = fprint_uint8 (out, x) // implement g0uint_succ = g0uint_succ_uint16 implement g0uint_pred = g0uint_pred_uint16 implement g0uint_half = g0uint_half_uint16 implement g0uint_add = g0uint_add_uint16 implement g0uint_sub = g0uint_sub_uint16 implement g0uint_mul = g0uint_mul_uint16 implement g0uint_div = g0uint_div_uint16 implement g0uint_mod = g0uint_mod_uint16 implement g0uint_lsl = g0uint_lsl_uint16 implement g0uint_lsr = g0uint_lsr_uint16 implement g0uint_lnot = g0uint_lnot_uint16 implement g0uint_lor = g0uint_lor_uint16 implement g0uint_lxor = g0uint_lxor_uint16 implement g0uint_land = g0uint_land_uint16 implement g0uint_isgtz = g0uint_isgtz_uint16 implement g0uint_iseqz = g0uint_iseqz_uint16 implement g0uint_isneqz = g0uint_isneqz_uint16 implement g0uint_lt = g0uint_lt_uint16 implement g0uint_lte = g0uint_lte_uint16 implement g0uint_gt = g0uint_gt_uint16 implement g0uint_gte = g0uint_gte_uint16 implement g0uint_eq = g0uint_eq_uint16 implement g0uint_neq = g0uint_neq_uint16 implement g0uint_compare = g0uint_compare_uint16 implement g0uint_max = g0uint_max_uint16 implement g0uint_min = g0uint_min_uint16 // implement fprint_val (out, x) = fprint_uint16 (out, x) // implement g0uint_succ = g0uint_succ_uint32 implement g0uint_pred = g0uint_pred_uint32 implement g0uint_half = g0uint_half_uint32 implement g0uint_add = g0uint_add_uint32 implement g0uint_sub = g0uint_sub_uint32 implement g0uint_mul = g0uint_mul_uint32 implement g0uint_div = g0uint_div_uint32 implement g0uint_mod = g0uint_mod_uint32 implement g0uint_lsl = g0uint_lsl_uint32 implement g0uint_lsr = g0uint_lsr_uint32 implement g0uint_lnot = g0uint_lnot_uint32 implement g0uint_lor = g0uint_lor_uint32 implement g0uint_lxor = g0uint_lxor_uint32 implement g0uint_land = g0uint_land_uint32 implement g0uint_isgtz = g0uint_isgtz_uint32 implement g0uint_iseqz = g0uint_iseqz_uint32 implement g0uint_isneqz = g0uint_isneqz_uint32 implement g0uint_lt = g0uint_lt_uint32 implement g0uint_lte = g0uint_lte_uint32 implement g0uint_gt = g0uint_gt_uint32 implement g0uint_gte = g0uint_gte_uint32 implement g0uint_eq = g0uint_eq_uint32 implement g0uint_neq = g0uint_neq_uint32 implement g0uint_compare = g0uint_compare_uint32 implement g0uint_max = g0uint_max_uint32 implement g0uint_min = g0uint_min_uint32 // implement fprint_val (out, x) = fprint_uint32 (out, x) // implement g0uint_succ = g0uint_succ_uint64 implement g0uint_pred = g0uint_pred_uint64 implement g0uint_half = g0uint_half_uint64 implement g0uint_add = g0uint_add_uint64 implement g0uint_sub = g0uint_sub_uint64 implement g0uint_mul = g0uint_mul_uint64 implement g0uint_div = g0uint_div_uint64 implement g0uint_mod = g0uint_mod_uint64 implement g0uint_lsl = g0uint_lsl_uint64 implement g0uint_lsr = g0uint_lsr_uint64 implement g0uint_lnot = g0uint_lnot_uint64 implement g0uint_lor = g0uint_lor_uint64 implement g0uint_lxor = g0uint_lxor_uint64 implement g0uint_land = g0uint_land_uint64 implement g0uint_isgtz = g0uint_isgtz_uint64 implement g0uint_iseqz = g0uint_iseqz_uint64 implement g0uint_isneqz = g0uint_isneqz_uint64 implement g0uint_lt = g0uint_lt_uint64 implement g0uint_lte = g0uint_lte_uint64 implement g0uint_gt = g0uint_gt_uint64 implement g0uint_gte = g0uint_gte_uint64 implement g0uint_eq = g0uint_eq_uint64 implement g0uint_neq = g0uint_neq_uint64 implement g0uint_compare = g0uint_compare_uint64 implement g0uint_max = g0uint_max_uint64 implement g0uint_min = g0uint_min_uint64 // implement fprint_val (out, x) = fprint_uint64 (out, x) // (* ****** ****** *) (* end of [integer_fixed.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/basics.dats0000664000175000017500000001146212655455557017256 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/basics.atxt ** Time of generation: Tue Jul 21 21:16:36 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2012 *) (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // primplmnt false_elim() = case+ 0 of _ =/=> () // (* ****** ****** *) primplmnt prop_verify () = () primplmnt prop_verify_and_add () = () (* ****** ****** *) primplmnt pridentity_v (x) = () primplmnt pridentity_vt (x) = () (* ****** ****** *) primplmnt eqint_make () = EQINT () primplmnt eqint_make_gint (x) = EQINT () primplmnt eqint_make_guint (x) = EQINT () (* ****** ****** *) primplmnt eqaddr_make () = EQADDR () primplmnt eqaddr_make_ptr (x) = EQADDR () (* ****** ****** *) primplmnt eqbool_make () = EQBOOL () primplmnt eqbool_make_bool (x) = EQBOOL () (* ****** ****** *) implement {a}(*tmp*) lazy_force (lazyval) = !lazyval implement {a}(*tmp*) lazy_vt_force (lazyval) = !lazyval (* ****** ****** *) // implement {a}(*tmp*) stamped_vt2t_ref{x}(x) = $UN.ptr0_get(addr@x) // (* ****** ****** *) primplmnt unit_v_elim (pf) = let prval unit_v () = pf in (*nothing*) end // end of [unit_v_elim] (* ****** ****** *) // implement{a} box(x) = $UN.cast(x) implement{a} unbox(x) = $UN.cast(x) // implement{a} box_vt(x) = $UN.castvwtp0(x) implement{a} unbox_vt(x) = $UN.castvwtp0(x) // (* ****** ****** *) // // HX: // See prelude/basics_dyn.sats // implement {a}(*tmp*) opt_unsome_get (x) = let prval () = opt_unsome (x) in x end // (* ****** ****** *) (* // // HX: [atspre_argv_at_at] in basics.cats // implement argv_get_at (argv, i) = x where { val (pf, fpf | p) = argv_takeout_strarr (argv) val x = !p.[i] prval () = minus_addback (fpf, pf | argv) } // end of [argv_get_at] *) (* ****** ****** *) implement{} assertexn_bool0 (b) = if not(b) then $raise AssertExn() implement{} assertexn_bool1 (b) = if not(b) then $raise AssertExn() (* ****** ****** *) implement{a} gidentity (x) = x implement{a} gidentity_vt (x) = x (* ****** ****** *) implement {a}(*tmp*) gcopy_val (x) = (x) implement (a:t@ype) gcopy_ref (x) = (x) (* ****** ****** *) // implement gequal_val_val (x, y) = (x = y) implement gequal_val_val (x, y) = (x = y) implement gequal_val_val (x, y) = (x = y) implement gequal_val_val (x, y) = (x = y) implement gequal_val_val (x, y) = (x = y) // (* ****** ****** *) // implement (a:t@ype) gequal_ref_ref (x, y) = gequal_val_val (x, y) // (* ****** ****** *) // implement {a}(*tmp*) tostring_val(x) = let // val str = $effmask_wrt(tostrptr_val(x)) in strptr2string(str) end // end of [tostring_val] // implement {a}(*tmp*) tostring_ref(x) = let // val str = $effmask_wrt(tostrptr_ref(x)) in strptr2string(str) end // end of [tostring_ref] // (* ****** ****** *) implement (a:t@ype) tostrptr_ref (x) = tostrptr_val (x) (* ****** ****** *) implement {a}(*tmp*) fprint_val (out, x) = let val str = tostrptr_val (x) val ((*void*)) = fprint_strptr (out, str) val ((*void*)) = strptr_free (str) in // nothing end // end of [fprint_val] (* ****** ****** *) implement (a:t@ype) fprint_ref (out, x) = fprint_val (out, x) (* ****** ****** *) (* // // HX-2014-02-25: commented out // implement{a} print_val (x) = fprint_val (stdout_ref, x) implement{a} prerr_val (x) = fprint_val (stderr_ref, x) implement{a} print_ref (x) = fprint_ref (stdout_ref, x) implement{a} prerr_ref (x) = fprint_ref (stderr_ref, x) *) (* ****** ****** *) (* end of [basics.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/giterator.dats0000664000175000017500000002624312655455557020015 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: February, 2012 // (* ****** ****** *) #include "prelude/params.hats" (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [giterator.dats] starts!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/giterator.sats" (* ****** ****** *) implement {knd}{x} fprint_giter_sep {kpm}{f,r} (out, itr, sep) = let // val () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | r >= 0} .. ( out: FILEref , itr: !giter (f, r) >> giter (f+r, 0) , sep: string , notbeg: bool ) : void = let val test = giter_isnot_atend (itr) in if test then let val p = giter_getref_inc (itr) val (pf, fpf | p) = $UN.ptr_vtake{x}(p) val () = if notbeg then fprint_string (out, sep) val () = fprint_ref (out, !p) prval () = fpf (pf) in loop (out, itr, sep, true) end else () // end of [if] end // end of [loop] // in loop (out, itr, sep, false(*notbeg*)) end // end of [fprint_giter_sep] (* ****** ****** *) implement {knd}{x} giter_isnot_atbeg (itr) = let prval () = lemma_giter_param (itr) in ~giter_is_atbeg (itr) end // end of [giter_isnot_atbeg] implement {knd}{x} giter_isnot_atend (itr) = let prval () = lemma_giter_param (itr) in ~giter_is_atend (itr) end // end of [giter_isnot_atend] (* ****** ****** *) implement {knd}{x} giter_vttake (itr) = let val p = giter_getref (itr) val ( pf, fpf | p ) = $UN.ptr_vtake{x}(p) val res = $UN.vttakeout_void{x}(!p) prval () = fpf (pf) in res end // end of [giter_vttake] implement {knd}{x} giter_get (itr) = x where { val (fpf | x) = giter_vttake (itr); prval () = fpf (x) } // end of [giter_get] implement {knd}{x} giter_set (itr, x) = $UN.ptr1_set (giter_getref (itr), x) // end of [giter_set] (* ****** ****** *) implement {knd}{x} giter_getref_inc (itr) = let val p = giter_getref (itr) in giter_inc (itr); p end // end of [giter_getref_inc] implement {knd}{x} giter_vttake_inc (itr) = let val p = giter_getref_inc (itr) val ( pf, fpf | p ) = $UN.ptr_vtake{x}(p) val res = $UN.vttakeout_void{x}(!p) prval () = fpf (pf) in res end // end of [giter_vttake_inc] implement {knd}{x} giter_get_inc (itr) = x where { val (fpf | x) = giter_vttake_inc (itr) prval () = fpf (x) } // end of [giter_get_inc] implement {knd}{x} giter_set_inc (itr, x) = $UN.ptr1_set (giter_getref_inc (itr), x) // end of [giter_set_inc] implement {knd}{x} giter_exch_inc (itr, x) = $UN.ptr1_exch (giter_getref_inc (itr), x) // end of [giter_exch_inc] (* ****** ****** *) implement {knd}{x} giter_dec_getref (itr) = let prval () = lemma_giter_param (itr) val () = giter_dec (itr) in giter_getref (itr) end // end of [giter_dec_getref] implement {knd}{x} giter_dec_vttake (itr) = let val p = giter_dec_getref (itr) val ( pf, fpf | p ) = $UN.ptr_vtake{x}(p) val res = $UN.vttakeout_void{x}(!p) prval () = fpf (pf) in res end // end of [giter_dec_vttake] implement {knd}{x} giter_dec_get (itr) = x where { val (fpf | x) = giter_dec_vttake (itr) prval () = fpf (x) } // end of [giter_dec_get] implement {knd}{x} giter_dec_set (itr, x) = $UN.ptr1_set (giter_dec_getref (itr), x) // end of [giter_dec_set] implement {knd}{x} giter_dec_exch (itr, x) = $UN.ptr1_exch (giter_dec_getref (itr), x) // end of [giter_dec_exch] (* ****** ****** *) (* ** HX: forward-get, set and exchange *) implement {knd}{x} giter_fget_at (itr, i) = $UN.ptr1_get (giter_fgetref_at (itr, i)) // end of [giter_fget_at] implement {knd}{x} giter_fset_at (itr, i, x) = $UN.ptr1_set (giter_fgetref_at (itr, i), x) // end of [giter_fset_at] implement {knd}{x} giter_fexch_at (itr, i, x) = $UN.ptr1_exch (giter_fgetref_at (itr, i), x) // end of [giter_fexch_at] (* ****** ****** *) (* ** HX: forward/backward-get, set and exchange *) implement {knd}{x} giter_fbget_at (itr, i) = $UN.ptr1_get (giter_fbgetref_at (itr, i)) // end of [giter_fbget_at] implement {knd}{x} giter_fbset_at (itr, i, x) = $UN.ptr1_set (giter_fbgetref_at (itr, i), x) // end of [giter_fbset_at] implement {knd}{x} giter_fbexch_at (itr, i, x) = $UN.ptr1_exch (giter_fbgetref_at (itr, i), x) // end of [giter_fbexch_at] (* ****** ****** *) implement {knd}{x} giter_fgetlst {kpm} (itr, i) = let // prval () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | r >= 0} {i:nat} .. ( itr: !giter (f, r) >> giter (f+i1, r-i1) , i: &int(i) >> int(i-i1) , res: &ptr? >> list_vt (x, i1) ) : #[i1:int | i1 == min(i,r)] void = let in // if i > 0 then let val test = giter_isnot_atend (itr) in if test then let val () = i := i - 1 val x = giter_get_inc (itr) val () = res := list_vt_cons {x}{0} (x, _) val+ list_vt_cons (x, res1) = res val () = loop (itr, i, res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil) end else (res := list_vt_nil) // endif // end // end of [loop] // var res: ptr val () = loop (itr, i, res) // in res end // end of [giter_fgetlst] (* ****** ****** *) implement {knd}{x} giter_bgetlst {kpm} (itr, i) = let // prval () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | f >= 0} {i:nat} .. ( itr: !giter (f, r) >> giter (f-i1, r+i1) , i: &int(i) >> int(i-i1) , res: &ptr? >> list_vt (x, i1) ) : #[i1:int | i1 == min(i,f)] void = let in // if i > 0 then let val test = giter_isnot_atbeg (itr) in if test then let val () = i := i - 1 val x = giter_dec_get (itr) val () = res := list_vt_cons {x}{0} (x, _) val+ list_vt_cons (x, res1) = res val () = loop (itr, i, res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil) end else (res := list_vt_nil) // endif // end // end of [loop] // var res: ptr val () = loop (itr, i, res) // in res end // end of [giter_bgetlst] (* ****** ****** *) implement {knd}{x} giter_ins_inc (itr, x) = let prval () = lemma_giter_param (itr) val () = giter_ins (itr, x) in giter_inc (itr) end // end of [giter_ins_inc] implement {knd}{x} giter_dec_rmv (itr) = let prval () = lemma_giter_param (itr) val () = giter_dec (itr) in giter_rmv (itr) end // end of [giter_dec_rmv] (* ****** ****** *) // // HX: some common generic functions on giterators // (* ****** ****** *) implement {knd}{x} giter_listize_cpy {kpm} (itr) = let // prval () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | r >= 0} .. ( itr: !giter (f, r) >> giter (f+r, 0), res: &ptr? >> list_vt (x, r) ) : void = let val test = giter_isnot_atend (itr) in if test then let val x = giter_get_inc (itr) val () = res := list_vt_cons {x}{0} (x, _) val+ list_vt_cons (x, res1) = res val () = loop (itr, res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil) end // end of [loop] // var res: ptr val () = loop (itr, res) // in res end // end of [giter_listize_cpy] implement {knd}{x} giter_rlistize_cpy {kpm} (itr) = let // prval () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | r >= 0}{r2:nat} .. ( itr: !giter (f, r) >> giter (f+r, 0), res: list_vt (x, r2) ) : list_vt (x, r+r2) = let val test = giter_isnot_atend (itr) in if test then let val x = giter_get_inc (itr) in loop (itr, list_vt_cons (x, res)) end else res // end of [if] end // end of [loop] // in loop (itr, list_vt_nil) end // end of [giter_listize_cpy] (* ****** ****** *) implement {knd}{x} giter_foreach (itr) = let var env: void = () in giter_foreach_env (itr, env) end // end of [giter_foreach] implement {knd}{x}{env} giter_foreach_env {kpm}{f,r} (itr, env) = let // prval () = lemma_giter_param (itr) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:int | r >= 0} .. ( itr: !giter (f, r) >> giter (f1, r1), env: &env ) : #[f1,r1:int | f <= f1 | f+r==f1+r1] void = let val isnotend = giter_isnot_atend (itr) // end of [val] in if isnotend then let val p = giter_getref_inc (itr) val (pf, fpf | p) = $UN.ptr_vtake{x}(p) val cont = giter_foreach$cont (!p, env) in if cont then let val () = giter_foreach$fwork (!p, env) prval () = fpf (pf) in loop (itr, env) end else let prval () = fpf (pf) in (*nothing*) end // end of [if] end else ((*void*)) // end of [if] end // end of [loop] // in loop (itr, env) end // end of [giter_foreach_env] (* ****** ****** *) (* ** HX-2012-05-23: ** this is a very exiciting example for myself :) *) implement {knd}{x} giter_bsearch {kpm} (itr, ra) = let // prval () = lemma_giter_param (itr) prval () = lemma_g1uint_param (ra) // stadef giter (f:int, r:int) = giter (knd, kpm, x, f, r) // fun loop {f,r:nat} {ra:nat | ra <= r} .. ( itr: !giter (f, r) >> giter (f1, r1) , ra: size_t (ra) ) : #[ f1,r1:int | f1>=f;f+ra>=f1;f+r==f1+r1 ] void = ( if ra > 0 then let val ra2 = half (ra) val p = giter_fgetref_at (itr, ra2) val ( pf, fpf | p ) = $UN.ptr_vtake{x}(p) val sgn = giter_bsearch$ford (!p) prval () = fpf (pf) in if sgn <= 0 then loop (itr, ra2) else let val ra21 = succ(ra2) val () = giter_fjmp (itr, ra21) in loop (itr, ra-ra21) end // end of [if] end else () // end of [if] ) (* end of [loop] *) // in loop (itr, ra) end // end of [giter_bsearch] (* ****** ****** *) #if VERBOSE_PRELUDE #then #print "Loading [giterator.dats] finishes!\n" #endif // end of [VERBOSE_PRELUDE] (* ****** ****** *) (* end of [giterator.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/tuple.dats0000664000175000017500000001323712655455557017145 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/tuple.atxt ** Time of generation: Sat Jun 27 21:39:25 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) implement fprint_tup$beg<> (out) = fprint_string (out, "(") implement fprint_tup$end<> (out) = fprint_string (out, ")") implement fprint_tup$sep<> (out) = fprint_string (out, ", ") (* ****** ****** *) implement {a0,a1} fprint_tupval2 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_val (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.1) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupval2] implement (a0,a1) fprint_val (out, x) = fprint_tupval2 (out, x) (* ****** ****** *) implement {a0,a1,a2} fprint_tupval3 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_val (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.1) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.2) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupval3] implement (a0,a1,a2) fprint_val (out, x) = fprint_tupval3 (out, x) (* ****** ****** *) implement {a0,a1,a2,a3} fprint_tupval4 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_val (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.1) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.2) val () = fprint_tup$sep<> (out) val () = fprint_val (out, x.3) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupval4] implement (a0,a1,a2,a3) fprint_val (out, x) = fprint_tupval4 (out, x) (* ****** ****** *) implement {a0,a1} fprint_tupref2 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_ref (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.1) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupref2] implement (a0,a1) fprint_ref (out, x) = fprint_tupref2 (out, x) (* ****** ****** *) implement {a0,a1,a2} fprint_tupref3 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_ref (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.1) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.2) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupref3] implement (a0,a1,a2) fprint_ref (out, x) = fprint_tupref3 (out, x) (* ****** ****** *) implement {a0,a1,a2,a3} fprint_tupref4 (out, x) = let val () = fprint_tup$beg<> (out) val () = fprint_ref (out, x.0) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.1) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.2) val () = fprint_tup$sep<> (out) val () = fprint_ref (out, x.3) val () = fprint_tup$end<> (out) in // nothing end // end of [fprint_tupref4] implement (a0,a1,a2,a3) fprint_ref (out, x) = fprint_tupref4 (out, x) (* ****** ****** *) implement {a0,a1} tupval2_compare (x, y) = let val sgn0 = gcompare_val_val (x.0, y.0) in if sgn0 != 0 then sgn0 else gcompare_val_val (x.1, y.1) end // end of [tupval2_compare] implement (a0,a1) gcompare_val_val (x, y) = tupval2_compare (x, y) (* ****** ****** *) implement {a0,a1,a2} tupval3_compare (x, y) = let // val sgn0 = gcompare_val_val (x.0, y.0) // in // if sgn0 != 0 then sgn0 else let val sgn1 = gcompare_val_val (x.1, y.1) in if sgn1 != 0 then sgn1 else gcompare_val_val (x.2, y.2) end // end of [if] // end // end of [tupval3_compare] implement (a0,a1,a2) gcompare_val_val (x, y) = tupval3_compare (x, y) (* ****** ****** *) implement {a0,a1,a2,a3} tupval4_compare (x, y) = let // val sgn0 = gcompare_val_val (x.0, y.0) // in // if sgn0 != 0 then sgn0 else let val sgn1 = gcompare_val_val (x.1, y.1) in // if sgn1 != 0 then sgn1 else let val sgn2 = gcompare_val_val (x.2, y.2) in if sgn2 != 0 then sgn2 else gcompare_val_val (x.3, y.3) end // end of [if] // end // end of [if] // end // end of [tupval4_compare] implement (a0,a1,a2,a3) gcompare_val_val (x, y) = tupval4_compare (x, y) (* ****** ****** *) (* end of [tuple.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/array_prf.dats0000664000175000017500000001074312655455557020000 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/array_prf.atxt ** Time of generation: Sat Jun 27 21:39:37 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) primplmnt array_v_unnil_nil {a1,a2}(pf) = let // prval () = array_v_unnil{a1}(pf) // in array_v_nil{a2}((*void*)) // end // end of [array_v_unnil] (* ****** ****** *) primplmnt array_v_sing (pfat) = ( // array_v_cons(pfat, array_v_nil()) // ) (* end of [array_v_sing] *) primplmnt array_v_unsing (pfarr) = let // prval ( pf1at, pf2arr ) = array_v_uncons (pfarr) // prval () = array_v_unnil (pf2arr) // in pf1at end // end of [array_v_unsing] (* ****** ****** *) primplmnt array_v_split {a}(pf_arr) = split (pf_arr) where { // prfun split {l:addr} {n,i:nat | i <= n} .. ( pf_arr: array_v (a, l, n) ) : ( array_v (a, l, i), array_v (a, l+i*sizeof(a), n-i) ) = ( // sif i > 0 then let prval (pf1elt, pf2arr) = array_v_uncons(pf_arr) prval (pf1arr_res, pf2arr_res) = split{..}{n-1,i-1}(pf2arr) in (array_v_cons (pf1elt, pf1arr_res), pf2arr_res) end // end of [then] else let prval EQINT () = eqint_make{i,0}() in (array_v_nil{a}{l}((*void*)), pf_arr) // end of [prval] end // end of [else] // ) (* end of [split] *) // } (* end of [array_v_split] *) (* ****** ****** *) primplmnt array_v_split_at {a}{l}{n}{i}(pf | i) = array_v_split{a}{l}{n}{i}(pf) // end of [array_v_split_at] (* ****** ****** *) primplmnt array_v_unsplit {a}(pf1arr, pf2arr) = unsplit (pf1arr, pf2arr) where { // prval () = lemma_array_v_param (pf1arr) prval () = lemma_array_v_param (pf2arr) // prfun unsplit {l:addr} {n1,n2:nat} .. ( pf1arr: array_v (a, l, n1) , pf2arr: array_v (a, l+n1*sizeof(a), n2) ) : array_v (a, l, n1+n2) = ( // sif n1 > 0 then let prval @( pf11elt, pf12arr ) = array_v_uncons (pf1arr) prval pf_arr_res = unsplit (pf12arr, pf2arr) in array_v_cons (pf11elt, pf_arr_res) end // end of [then] else let prval EQINT () = eqint_make {n1,0} () prval () = array_v_unnil (pf1arr) in pf2arr end // end of [sif] // ) (* end of [unsplit] *) // } (* end of [array_v_unsplit] *) (* ****** ****** *) primplmnt array_v_extend {a}(pf1arr, pf2at) = ( // array_v_unsplit ( pf1arr, array_v_sing{a}(pf2at) ) // end of [array_v_unsplit] // ) (* end of [array_v_extend] *) primplmnt array_v_unextend {a}{l}{n} (pfarr) = let // prval (pf1arr, pf2arr) = array_v_split{a}{l}{n}{n-1}(pfarr) // in (pf1arr, array_v_unsing{a}(pf2arr)) end // end of [array_v_unextend] (* ****** ****** *) primplmnt array_v_takeout {a}{l}{n}{i} (pfarr) = takeout{..}{n}{i}(pfarr) where { // prfun takeout {l:addr}{n:int} {i:nat | i < n} .. ( pfarr: array_v (a, l, n) ) : vtakeout ( array_v (a, l, n), a@l+i*sizeof(a) ) = let prval @(pf1at, pf2arr) = array_v_uncons(pfarr) in sif i > 0 then let prval (pfat, fpf) = takeout{..}{n-1}{i-1}(pf2arr) in (pfat, llam pfat = array_v_cons{a}(pf1at, fpf(pfat))) end else let prval EQINT () = eqint_make{i,0}((*void*)) in (pf1at, llam pf1at = array_v_cons{a}(pf1at, pf2arr)) end // end of [sif] end // end of takeout] // } // end of [array_v_takeout] (* ****** ****** *) (* end of [array_prf.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/gorder.dats0000664000175000017500000000760112655455557017274 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/gorder.atxt ** Time of generation: Sat Jun 27 21:39:32 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) (* ****** ****** *) implement{a} glt_val_val (x, y) = gcompare_val_val (x, y) < 0 implement{a} glte_val_val (x, y) = gcompare_val_val (x, y) <= 0 implement{a} ggt_val_val (x, y) = gcompare_val_val (x, y) > 0 implement{a} ggte_val_val (x, y) = gcompare_val_val (x, y) >= 0 (* ****** ****** *) implement{a} glt_val_int (x, y) = glt_val_val (x, gnumber_int(y)) implement{a} glte_val_int (x, y) = glte_val_val (x, gnumber_int(y)) implement{a} ggt_val_int (x, y) = ggt_val_val (x, gnumber_int(y)) implement{a} ggte_val_int (x, y) = ggte_val_val (x, gnumber_int(y)) (* ****** ****** *) implement{a} geq_val_val (x, y) = gcompare_val_val (x, y) = 0 implement{a} gneq_val_val (x, y) = gcompare_val_val (x, y) != 0 (* ****** ****** *) implement{a} geq_val_int (x, y) = geq_val_val (x, gnumber_int(y)) implement{a} gneq_val_int (x, y) = gneq_val_val (x, gnumber_int(y)) (* ****** ****** *) implement{a} gisltz_val (x) = glt_val_int (x, 0) implement{a} gisltez_val (x) = glte_val_int (x, 0) implement{a} gisgtz_val (x) = ggt_val_int (x, 0) implement{a} gisgtez_val (x) = ggte_val_int (x, 0) (* ****** ****** *) implement{a} giseqz_val (x) = geq_val_int (x, 0) implement{a} gisneqz_val (x) = gneq_val_int (x, 0) (* ****** ****** *) implement{a} glt_ref_ref (x, y) = gcompare_ref_ref (x, y) < 0 implement{a} glte_ref_ref (x, y) = gcompare_ref_ref (x, y) <= 0 implement{a} ggt_ref_ref (x, y) = gcompare_ref_ref (x, y) > 0 implement{a} ggte_ref_ref (x, y) = gcompare_ref_ref (x, y) >= 0 (* ****** ****** *) implement{a} geq_ref_ref (x, y) = gcompare_ref_ref (x, y) = 0 implement{a} gneq_ref_ref (x, y) = gcompare_ref_ref (x, y) != 0 (* ****** ****** *) implement(a:t0p) gcompare_ref_ref (x, y) = gcompare_val_val (x, y) (* ****** ****** *) implement{a} gabs_val (x) = if gisgtez_val (x) then x else gneg_val (x) // end of [gabs_val] (* ****** ****** *) implement{a} gmax_val_val (x, y) = if ggte_val_val (x, y) then x else y implement{a} gmin_val_val (x, y) = if glte_val_val (x, y) then x else y (* ****** ****** *) #include "./SHARE/gorder_int.dats" #include "./SHARE/gorder_uint.dats" (* ****** ****** *) #include "./SHARE/gorder_bool.dats" #include "./SHARE/gorder_char.dats" (* ****** ****** *) #include "./SHARE/gorder_float.dats" (* ****** ****** *) #include "./SHARE/gorder_string.dats" (* ****** ****** *) (* end of [gorder.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/filebas_prf.dats0000664000175000017500000000347612655455557020274 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/filebas_prf.atxt ** Time of generation: Sat Jun 27 21:39:27 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) // stadef r() = file_mode_r() stadef w() = file_mode_w() stadef rw() = file_mode_rw() // primplmnt file_mode_lte_r_r = file_mode_lte_refl{r()}() primplmnt file_mode_lte_w_w = file_mode_lte_refl{w()}() primplmnt file_mode_lte_rw_rw = file_mode_lte_refl{rw()}() // (* ****** ****** *) (* end of [filebas_prf.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/reference.dats0000664000175000017500000000552112655455557017747 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/reference.atxt ** Time of generation: Sat Jun 27 21:39:25 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: May, 2012 *) (* ****** ****** *) implement {a}(*tmp*) ref = ref_make_elt implement {a}(*tmp*) ref_make_elt (x0) = let val (pfat, pfgc | p) = ptr_alloc () prval () = mfree_gc_v_elim (pfgc) val () = !p := x0 // initialization in ref_make_viewptr (pfat | p) end // end of [ref_make_elt] (* ****** ****** *) implement {a}(*tmp*) ref_get_elt (r) = !p where { val (vbox _ | p) = ref_get_viewptr (r) } // end of [ref_get_elt] implement {a}(*tmp*) ref_set_elt (r, x) = let val (vbox _ | p) = ref_get_viewptr (r) in !p := x // assignment end // end of [ref_set_elt] implement {a}(*tmp*) ref_exch_elt (r, x) = let val (vbox _ | p) = ref_get_viewptr (r) in !p :=: x // exchanging end // end of [ref_exch_elt] (* ****** ****** *) implement {}(*tmp*) ref_app_fun{a} (r, f) = let val (vbox _ | p) = ref_get_viewptr (r) in f (!p) end // end of [ref_app_fun] implement {}(*tmp*) ref_app_funenv{a} (pfv | r, f, env) = let val (vbox _ | p) = ref_get_viewptr (r) in f (pfv | !p, env) end // end of [ref_app_funenv] (* ****** ****** *) implement {}(*tmp*) ref_vtakeout{a} (r) = let // val ( vbox pf | p ) = ref_get_viewptr (r) // prval (pf, fpf) = __copy (pf) where { extern praxi __copy {l:addr} (pf: !a @ l): (a @ l, a @ l - void) } (* end of [prval] *) // in (pf, fpf | p) end // end of [ref_vtakeout] (* ****** ****** *) (* end of [reference.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/integer_ptr.dats0000664000175000017500000001166412655455557020340 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/integer_ptr.atxt ** Time of generation: Sat Jun 27 21:39:26 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: February, 2014 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) // // (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) implement g0int2int = g0int2int_int_intptr implement g0int2int = g0int2int_lint_intptr (* ****** ****** *) implement g0int_neg = g0int_neg_intptr implement g0int_abs = g0int_abs_intptr implement g0int_succ = g0int_succ_intptr implement g0int_pred = g0int_pred_intptr implement g0int_half = g0int_half_intptr implement g0int_add = g0int_add_intptr implement g0int_sub = g0int_sub_intptr implement g0int_mul = g0int_mul_intptr implement g0int_div = g0int_div_intptr implement g0int_mod = g0int_mod_intptr implement g0int_asl = g0int_asl_intptr implement g0int_asr = g0int_asr_intptr implement g0int_isltz = g0int_isltz_intptr implement g0int_isltez = g0int_isltez_intptr implement g0int_isgtz = g0int_isgtz_intptr implement g0int_isgtez = g0int_isgtez_intptr implement g0int_iseqz = g0int_iseqz_intptr implement g0int_isneqz = g0int_isneqz_intptr implement g0int_lt = g0int_lt_intptr implement g0int_lte = g0int_lte_intptr implement g0int_gt = g0int_gt_intptr implement g0int_gte = g0int_gte_intptr implement g0int_eq = g0int_eq_intptr implement g0int_neq = g0int_neq_intptr implement g0int_compare = g0int_compare_intptr implement g0int_max = g0int_max_intptr implement g0int_min = g0int_min_intptr // implement fprint_val (out, x) = fprint_intptr (out, x) // (* ****** ****** *) implement g0uint2uint = g0uint2uint_uint_uintptr implement g0uint2uint = g0uint2uint_ulint_uintptr (* ****** ****** *) implement g0uint_succ = g0uint_succ_uintptr implement g0uint_pred = g0uint_pred_uintptr implement g0uint_half = g0uint_half_uintptr implement g0uint_add = g0uint_add_uintptr implement g0uint_sub = g0uint_sub_uintptr implement g0uint_mul = g0uint_mul_uintptr implement g0uint_div = g0uint_div_uintptr implement g0uint_mod = g0uint_mod_uintptr implement g0uint_lsl = g0uint_lsl_uintptr implement g0uint_lsr = g0uint_lsr_uintptr implement g0uint_lnot = g0uint_lnot_uintptr implement g0uint_lor = g0uint_lor_uintptr implement g0uint_lxor = g0uint_lxor_uintptr implement g0uint_land = g0uint_land_uintptr implement g0uint_isgtz = g0uint_isgtz_uintptr implement g0uint_iseqz = g0uint_iseqz_uintptr implement g0uint_isneqz = g0uint_isneqz_uintptr implement g0uint_lt = g0uint_lt_uintptr implement g0uint_lte = g0uint_lte_uintptr implement g0uint_gt = g0uint_gt_uintptr implement g0uint_gte = g0uint_gte_uintptr implement g0uint_eq = g0uint_eq_uintptr implement g0uint_neq = g0uint_neq_uintptr implement g0uint_compare = g0uint_compare_uintptr implement g0uint_max = g0uint_max_uintptr implement g0uint_min = g0uint_min_uintptr // implement fprint_val (out, x) = fprint_uintptr (out, x) // (* ****** ****** *) (* end of [integer_ptr.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/option.dats0000664000175000017500000000540212655455557017317 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/option.atxt ** Time of generation: Sun Aug 9 17:18:44 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) implement{a} option_some (x) = Some (x) implement{a} option_none ( ) = None ( ) (* ****** ****** *) implement {}(*tmp*) option_is_some (opt) = case+ opt of Some _ => true | None _ => false // end of [option_is_some] implement {}(*tmp*) option_is_none (opt) = case+ opt of Some _ => false | None _ => true // end of [option_is_none] (* ****** ****** *) implement {a}(*tmp*) option_unsome (opt) = x where { val+Some (x) = opt } // end of [option_unsome] implement {a}(*tmp*) option_unsome_exn (opt) = ( case+ opt of | Some x => x | None _ => $raise NotSomeExn() ) // end of [option_unsome_exn] (* ****** ****** *) implement {a}(*tmp*) option_equal (opt1, opt2) = ( // case+ opt1 of | None () => ( case+ opt1 of None () => true | Some _ => false ) | Some x1 => ( case+ opt2 of None () => false | Some x2 => option_equal$eqfn(x1, x2) ) // ) (* end of [option_equal] *) (* ****** ****** *) implement {a}(*tmp*) fprint_option (out, opt) = let in // case+ opt of | Some (x) => { val ( ) = fprint_string (out, "Some(") val () = fprint_val (out, x) val () = fprint_string (out, ")") } (* end of [Some] *) | None () => fprint_string (out, "None()") // end // end of [fprint_option] (* ****** ****** *) (* end of [option.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/.keeper0000664000175000017500000000000012655455557016373 0ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/DATS/giter_list.dats0000664000175000017500000000725712655455557020166 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2012 // (* ****** ****** *) // // HX-2012-05-22: // this code itself is not particularly useful; however, it sets a concrete // example demonstrating how iterators can be created. // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/giterator.sats" (* ****** ****** *) sortdef t0p = t@ype stadef itrknd = giter_list_kind stadef itrkpm = giter_list_param (* ****** ****** *) dataviewtype iterk ( a:t@ype+, int(*f*), int(*r*) ) = {f,r:int} ITR (a, f, r) of list (a, r) // HX: [f] is spurious! (* ****** ****** *) extern castfn iterk2giter {x:t0p}{n:int} (xs: iterk (x, 0, n)):<> giter (itrknd, itrkpm(), x, 0, n) // end of [iterk2giter] extern castfn giter2iterk {x:t0p}{f,r:int} (itr: giter (itrknd, itrkpm(), x, f, r)):<> iterk (x, f, r) // end of [giter2iterk] (* ****** ****** *) implement{x} giter_make_list (xs) = iterk2giter (ITR (xs)) implement giter_free_list (itr) = let val+ ~ITR (xs) = giter2iterk (itr) in xs end // end of [giter_free_list] (* ****** ****** *) extern praxi encode {kpm:tk}{x:t0p}{f,r:int} (xs: !iterk (x, f, r) >> giter (itrknd, kpm, x, f, r)): void // end of [encode] extern praxi decode {kpm:tk}{x:t0p}{f,r:int} (itr: !giter (itrknd, kpm, x, f, r) >> iterk (x, f, r)): void // end of [decode] (* ****** ****** *) implement(x:t0p) giter_is_atend (itr) = let prval () = decode (itr) val+ ITR (xs) = itr prval () = encode (itr) in list_is_nil (xs) end // end of [giter_is_atend] (* ****** ****** *) implement(x:t0p) giter_vttake (itr) = let prval () = decode (itr) val+ ITR (xs) = itr; val+ list_cons (x, _) = xs prval () = encode (itr) var x = x in $UN.vttakeout_void (x) end // end of [giter_vttake] (* ****** ****** *) implement(x:t0p) giter_inc (itr) = let prval () = decode (itr) val+ @ITR (xs) = itr; val+ list_cons (_, xs1) = xs; val () = xs := xs1 prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_inc] (* ****** ****** *) implement(x:t0p) giter_vttake_inc (itr) = let prval () = decode (itr) val+ @ITR (xs) = itr; val+ list_cons (x, xs1) = xs; val () = xs := xs1 prval () = fold@ (itr) prval () = encode (itr) var x = x in $UN.vttakeout_void (x) end // end of [giter_vttake_inc] (* ****** ****** *) (* end of [giter_list.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/tostring.dats0000664000175000017500000001450012655455557017657 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/tostring.atxt ** Time of generation: Sat Jun 27 21:39:43 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxiATgmailDOTcom *) (* Start time: April, 2015 *) (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) implement {}(*tmp*) tostring_int(i) = $effmask_wrt ( strptr2string(tostrptr_int(i)) ) implement {}(*tmp*) tostrptr_int(i) = let // #define BSZ 32 // typedef cstring = $extype"atstype_string" // var buf = @[byte][BSZ]() val bufp = $UN.cast{cstring}(addr@buf) // val _(*int*) = $extfcall(ssize_t, "snprintf", bufp, BSZ, "%i", i) // in $UN.castvwtp0{Strptr1}(string0_copy($UN.cast{string}(bufp))) end // end of [tostrptr_int] // implement tostring_val = tostring_int implement tostrptr_val = tostrptr_int // (* ****** ****** *) implement {}(*tmp*) tostring_uint(u) = $effmask_wrt ( strptr2string(tostrptr_uint(u)) ) implement {}(*tmp*) tostrptr_uint(u) = let // #define BSZ 32 // typedef cstring = $extype"atstype_string" // var buf = @[byte][BSZ]() val bufp = $UN.cast{cstring}(addr@buf) // val _(*int*) = $extfcall(ssize_t, "snprintf", bufp, BSZ, "%u", u) // in $UN.castvwtp0{Strptr1}(string0_copy($UN.cast{string}(bufp))) end // end of [tostrptr_uint] // implement tostring_val = tostring_uint implement tostrptr_val = tostrptr_uint // (* ****** ****** *) // implement {}(*tmp*) tostring_bool(b) = bool2string(b) implement {}(*tmp*) tostrptr_bool(b) = string0_copy(bool2string(b)) // implement tostring_val = tostring_bool implement tostrptr_val = tostrptr_bool // (* ****** ****** *) // implement {}(*tmp*) tostring_char(c) = $effmask_wrt ( strptr2string(char2strptr(c)) ) // implement {}(*tmp*) tostrptr_char(c) = char2strptr(c) // implement tostring_val = tostring_char implement tostrptr_val = tostrptr_char // (* ****** ****** *) implement tostrptr_val = g0int2string_int implement tostrptr_val = g0int2string_lint implement tostrptr_val = g0int2string_llint (* ****** ****** *) implement {a}(*tmp*) tostrptr_list(xs) = let // fun loop ( i: int , xs: List(a) , res: List0_vt(Strptr1) ) : List0_vt(Strptr1) = ( case+ xs of | list_nil ((*void*)) => res | list_cons (x, xs) => let val res1 = ( if i > 0 then let val sep = tostrptr_list$sep<> () // end of [val] val sep = string0_copy (sep) in list_vt_cons (sep, res) end // end of [then] else res // end of [else] ) : List0_vt(Strptr1) val xrep = tostrptr_val (x) val res2 = list_vt_cons (xrep, res1) in loop (i+1, xs, res2) end // end of [list_cons] ) // val res = list_vt_nil () // val _beg = tostrptr_list$beg<> () val _beg = string0_copy(_beg) val res = list_vt_cons (_beg, res) // val res = loop (0, xs, res) // val _end = tostrptr_list$end<> () val _end = string0_copy(_end) val res = list_vt_cons (_end, res) // val res = list_vt_reverse (res) // in // $UN.castvwtp0{Strptr1}(strptrlst_concat(res)) // end // end of [tostrptr_list] (* ****** ****** *) // implement{} tostrptr_list$beg() = "" implement{} tostrptr_list$end() = "" implement{} tostrptr_list$sep() = "" // (* ****** ****** *) // implement(a) tostrptr_val (xs0) = $effmask_all (tostrptr_list (xs0)) // (* ****** ****** *) implement {a}(*tmp*) tostrptr_array (A, n) = let // fun loop{n:int} ( i: int , p: ptr, n: size_t(n) , res: List0_vt(Strptr1) ) : List0_vt(Strptr1) = ( if (n > 0) then let // val res1 = ( if i > 0 then let val sep = tostrptr_array$sep<> () // end of [val] val sep = string0_copy (sep) in list_vt_cons (sep, res) end // end of [then] else res // end of [else] ) : List0_vt(Strptr1) // val (pf, fpf | p) = $UN.ptr_vtake{a}(p) // end of [val] val xrep = tostrptr_ref (!p) prval ((*returned*)) = fpf (pf) // val res2 = list_vt_cons (xrep, res1) // in loop (i+1, ptr_succ(p), pred(n), res2) end // end of [then] else res // end of [else] // ) (* end of [loop] *) // val res = list_vt_nil () // val _beg = tostrptr_array$beg<> () val _beg = string0_copy(_beg) val res = list_vt_cons (_beg, res) // val res = loop (0, addr@A, n, res) // val _end = tostrptr_array$end<> () val _end = string0_copy(_end) val res = list_vt_cons (_end, res) // val res = list_vt_reverse (res) // in // $UN.castvwtp0{Strptr1}(strptrlst_concat(res)) // end // end of [tostrptr_array] (* ****** ****** *) // implement{} tostrptr_array$beg() = "" implement{} tostrptr_array$end() = "" implement{} tostrptr_array$sep() = "" // (* ****** ****** *) implement {a}(*tmp*) tostrptr_arrayref (A, n) = let // val (vbox pf | p) = arrayref_get_viewptr(A) // in // $effmask_ref(tostrptr_array (!p, n)) // end // end of [tostrptr_arrayref] (* ****** ****** *) implement {a}(*tmp*) tostrptr_arrszref (ASZ) = let // var n: size_t val A = arrszref_get_refsize (ASZ, n) // in tostrptr_arrayref (A, n) end // end of [tostrptr_arrszref] (* ****** ****** *) (* end of [tostring.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/giter_array.dats0000664000175000017500000001446012655455557020323 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start Time: May, 2012 // (* ****** ****** *) // // HX-2012-05: for array-based iterators // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" // end of [staload] (* ****** ****** *) staload "prelude/SATS/giterator.sats" (* ****** ****** *) sortdef t0p = t@ype stadef itrknd = giter_array_kind stadef itrkpm = giter_array_param (* ****** ****** *) dataviewtype iterk ( a:viewt@ype+, l:addr, int(*f*), int(*r*) ) = {f,r:int} ITR (a, l, f, r) of ( array_v (a, l, f+r) | ptr l(*beg*), ptr(*end*), ptr(*cur*) ) // end of [ITR] (* ****** ****** *) extern castfn iterk2giter {x:vt0p}{l:addr}{n:int} (xs: iterk (x, l, 0, n)):<> giter (itrknd, itrkpm(l), x, 0, n) // end of [iterk2giter] extern castfn giter2iterk {x:vt0p}{l:addr}{f,r:int} (itr: giter (itrknd, itrkpm(l), x, f, r)):<> iterk (x, l, f, r) // end of [giter2iterk] (* ****** ****** *) implement{x} giter_make_array (pf | p, n) = iterk2giter (ITR (pf | p, ptr0_add_guint (p, n), p)) // end of [giter_make_array] implement giter_free_array (itr) = let val+ ~ITR (pf | _, _, _) = giter2iterk (itr) in (pf | ()) end // end of [giter_free_array] (* ****** ****** *) extern praxi encode {kpm:tk}{x:vt0p}{l:addr}{f,r:int} (xs: !iterk (x, l, f, r) >> giter (itrknd, kpm, x, f, r)): void // end of [encode] extern praxi decode {kpm:tk}{x:vt0p}{l:addr}{f,r:int} (itr: !giter (itrknd, kpm, x, f, r) >> iterk (x, l, f, r)): void // end of [decode] (* ****** ****** *) implement(x) giter_is_atbeg {kpm}{f,r} (itr) = let prval () = decode (itr) val+ ITR (_ | p_beg, p_end, pi) = itr prval () = encode (itr) val res = g1ofg0_bool (p_beg = pi) extern praxi __assert {b:bool} (b: bool b): [b==(f==0)] void prval () = __assert (res) in res end // end of [giter_is_atbeg] implement(x) giter_isnot_atbeg {kpm}{f,r} (itr) = let prval () = decode (itr) val+ ITR (_ | p_beg, p_end, pi) = itr prval () = encode (itr) extern castfn __cast {b:bool} (b: bool b):<> [b==(f>0)] bool (b) in if p_beg < pi then __cast(true) else __cast(false) end // end of [giter_isnot_atbeg] (* ****** ****** *) implement(x) giter_is_atend {kpm}{f,r} (itr) = let prval () = decode (itr) val+ ITR (_ | p_beg, p_end, pi) = itr prval () = encode (itr) val res = g1ofg0_bool (pi = p_end) extern praxi __assert {b:bool} (b: bool b): [b==(r==0)] void prval () = __assert (res) in res end // end of [giter_is_atend] implement(x) giter_isnot_atend {kpm}{f,r} (itr) = let prval () = decode (itr) val+ ITR (_ | p_beg, p_end, pi) = itr prval () = encode (itr) extern castfn __cast {b:bool} (b: bool b):<> [b==(r>0)] bool (b) in if pi < p_end then __cast(true) else __cast(false) end // end of [giter_isnot_atend] (* ****** ****** *) implement(x) giter_getref (itr) = let prval () = decode (itr) val+ ITR (_ | _, _, pi) = itr prval () = encode (itr) in $UN.cast2Ptr1 (pi) end // end of [giter_getref] (* ****** ****** *) implement(x) giter_inc (itr) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val () = rpi := ptr0_succ (rpi) prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_inc] implement(x) giter_dec (itr) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val () = rpi := ptr0_pred (rpi) prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_dec] (* ****** ****** *) implement(x) giter_getref_inc (itr) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val pi = rpi val () = rpi := ptr0_succ (pi) prval () = fold@ (itr) prval () = encode (itr) in $UN.cast2Ptr1 (pi) end // end of [giter_getref_inc] implement(x) giter_dec_getref (itr) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val pi = ptr0_pred (rpi) val () = rpi := pi prval () = fold@ (itr) prval () = encode (itr) in $UN.cast2Ptr1 (pi) end // end of [giter_getref_dec] (* ****** ****** *) implement(x) giter_fjmp (itr, i) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val () = rpi := ptr0_add_guint (rpi, i) prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_fjmp] (* ****** ****** *) implement(x) giter_fgetref_at (itr, i) = let prval () = decode (itr) val+ ITR (_ | _, _, pi) = itr prval () = encode (itr) in $UN.cast2Ptr1 (ptr0_add_guint (pi, i)) end // end of [giter_fgetref_at] (* ****** ****** *) implement(x) giter_fbjmp (itr, i) = let prval () = decode (itr) val+ @ITR (_ | _, _, rpi) = itr val () = rpi := ptr0_add_gint (rpi, i) prval () = fold@ (itr) prval () = encode (itr) in // nothing end // end of [giter_fbjmp] implement(x) giter_fbgetref_at (itr, i) = let prval () = decode (itr) val+ ITR (_ | _, _, pi) = itr prval () = encode (itr) in $UN.cast2Ptr1 (ptr0_add_gint (pi, i)) end // end of [giter_fbget_at] (* ****** ****** *) (* end of [giter_array.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/bool.dats0000664000175000017500000000367012655455557016747 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/bool.atxt ** Time of generation: Sat Jun 27 21:39:20 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) (* // // HX: see CATS/bool.cats // implement bool2string (b) = if b then "true" else "false" // end of [bool2string] *) (* ****** ****** *) (* // // HX: see CATS/bool.cats // implement fprint_bool (out, x) = fprint_string (out, bool2string (x)) // end of [fprint_bool] *) implement fprint_val = fprint_bool (* ****** ****** *) (* end of [bool.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/string.dats0000664000175000017500000004705212655455557017324 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/string.atxt ** Time of generation: Sun Dec 20 12:03:13 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) #define ATS_DYNLOADFLAG 0 // no dynloading at run-time (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) #define CNUL '\000' (* ****** ****** *) overload + with add_ptr_bsz (* ****** ****** *) macdef castvwtp_trans = $UN.castvwtp0 // former name (* ****** ****** *) extern fun memcpy (d:ptr, s:ptr, n:size_t): ptr = "mac#atspre_string_memcpy" // end of [memcpy] (* ****** ****** *) // implement {}(*tmp*) string_char(str) = $UN.ptr0_get(string2ptr(str)) // (* ****** ****** *) implement {}(*tmp*) string_sing(chr) = let val (pfat, pfgc | p0) = malloc_gc(i2sz(2)) val ((*void*)) = $UN.ptr0_set (p0, chr) val ((*void*)) = $UN.ptr0_set_at (p0, 1, '\000') in $UN.castvwtp0{strnptr(1)}((pfat, pfgc | p0)) end // end of [string_sing] (* ****** ****** *) implement {}(*tmp*) string_is_empty {n}(str) = let // val p = string2ptr(str) // in $UN.cast{bool(n==0)}($UN.ptr1_get(p) = CNUL) end // end of [string_is_empty] implement{} string_isnot_empty {n}(str) = let // val p = string2ptr(str) // in $UN.cast{bool(n > 0)}($UN.ptr1_get(p) != CNUL) end // end of [string_isnot_empty] (* ****** ****** *) implement {}(*tmp*) string_is_atend_size {n}{i}(str, i) = let // val p_i = add_ptr_bsz(string2ptr(str), i) // in $UN.cast{bool(n==i)}($UN.ptr1_get(p_i) = CNUL) end // end of [string_is_atend_size] implement {tk}(*tmp*) string_is_atend_gint(str, i) = string_is_atend_size(str, g1int2uint(i)) // end of [string_is_atend_gint] implement {tk}(*tmp*) string_is_atend_guint(str, i) = string_is_atend_size(str, g1uint2uint(i)) // end of [string_is_atend_guint] (* ****** ****** *) implement {}(*tmp*) string_get_at_size(str, i) = $UN.ptr1_get(string2ptr(str)+i) // end of [string_get_at_size] implement {tk}(*tmp*) string_get_at_gint(str, i) = string_get_at_size(str, g1int2uint(i)) // end of [string_get_at_gint] implement {tk}(*tmp*) string_get_at_guint(str, i) = string_get_at_size(str, g1uint2uint(i)) // end of [string_get_at_guint] (* ****** ****** *) implement {}(*tmp*) string_test_at_size {n}{i}(str, i) = let // extern castfn __cast ( c: char ) :<> [c:int] ( string_index_p(n, i, c) | char(c) ) // in // __cast ( $UN.ptr1_get(string2ptr(str)+i) ) (* __cast *) // end // end of [string_test_at_size] implement {tk}(*tmp*) string_test_at_gint (str, i) = string_test_at_size (str, g1int2uint(i)) // end of [string_test_at_gint] implement {tk}(*tmp*) string_test_at_guint (str, i) = string_test_at_size (str, g1uint2uint(i)) // end of [string_test_at_guint] (* ****** ****** *) implement {}(*tmp*) strcmp(x1, x2) = let // extern fun __strcmp ( x1: string, x2: string ) :<> int = "mac#atspre_strcmp" // in __strcmp(x1, x2) end // end of [let] // end of [strcmp] (* ****** ****** *) implement {}(*tmp*) strintcmp {n1,n2}(x1, n2) = let // prval() = lemma_string_param (x1) // fun loop {n2:nat} .. ( p1: ptr, n2: int n2 ) :<> int = let // val c = $UN.ptr0_get(p1) // in // if c != CNUL then ( if n2 > 0 then loop (ptr_succ(p1), n2-1) else 1(*gt*) // end of [if] ) else ( if n2 > 0 then ~1(*lt*) else 0(*eq*) ) (* end of [else] *) // end // end of [loop] // in $UN.cast{int(sgn(n1-n2))}(loop (string2ptr(x1), n2)) end // end of [strintcmp] (* ****** ****** *) implement {}(*tmp*) strlencmp {n1,n2}(x1, x2) = let // prval () = lemma_string_param (x1) prval () = lemma_string_param (x2) // // fun loop {n1:nat} .. ( p1: ptr, p2: ptr ) :<> int = let // val c1 = $UN.ptr0_get(p1) val c2 = $UN.ptr0_get(p2) // in // if c1 != CNUL then let prval () = __assert () where { extern praxi __assert (): [n1 > 0] void } (* end of [prval] *) in if c2 != CNUL then ( loop{n1-1}(ptr_succ(p1), ptr_succ(p2)) ) else 1(*gt*) // end of [else] // end of [if] end else ( if c2 != CNUL then ~1(*lt*) else 0(*eq*) ) (* end of [if] *) // end // end of [loop] // in $UN.cast{int(sgn(n1-n2))}(loop{n1}(string2ptr(x1), string2ptr(x2))) end // end of [strlencmp] (* ****** ****** *) implement {}(*tmp*) string_make_list(cs) = string_make_listlen(cs, list_length(cs)) // end of [string_make_list] implement {}(*tmp*) string_make_listlen {n}(cs, n) = let // prval () = lemma_list_param (cs) // fun loop {n:nat} .. ( cs: list (char, n), n: int n, p: ptr ) : ptr = let in if n > 0 then let val+list_cons (c, cs) = cs val () = $UN.ptr0_set(p, c) in loop (cs, n-1, ptr_succ(p)) end else p // end of [if] end // end of [loop] // val n1 = n + 1 // val (pf, pfgc | p0) = $effmask_wrt (malloc_gc(i2sz(n1))) // val p1 = $effmask_wrt (loop (cs, n, p0)) // val () = $effmask_wrt ($UN.ptr0_set(p1, CNUL)) // in castvwtp_trans{strnptr(n)}((pf, pfgc | p0)) end // end of [string_make_listlen] (* ****** ****** *) implement {}(*tmp*) string_make_rlist(cs) = string_make_rlistlen(cs, list_length(cs)) // end of [string_make_rlist] implement {}(*tmp*) string_make_rlistlen {n}(cs, n) = let // prval() = lemma_list_param (cs) // fun loop {n:nat} .. ( cs: list(char, n), n: int n, p: ptr ) : ptr = let in // if n > 0 then let val p1 = ptr_pred(p) val+list_cons (c, cs) = cs val () = $UN.ptr0_set(p1, c) in loop (cs, n-1, p1) end // end of [then] else (p) // end of [else] // end // end of [loop] // val n1 = n + 1 // val (pf, pfgc | p0) = $effmask_wrt (malloc_gc(i2sz(n1))) // val p1 = ptr_add(p0, n) // val () = $effmask_wrt ($UN.ptr0_set(p1, CNUL)) // val p0 = $effmask_wrt (loop (cs, n, p1)) // in castvwtp_trans{strnptr(n)}((pf, pfgc | p0)) end // end of [string_make_rlistlen] (* ****** ****** *) implement {}(*tmp*) string_make_substring {n}{st,ln} (str, st, ln) = $effmask_wrt let // val ln1 = succ(ln) val (pf, pfgc | p_dst) = malloc_gc (ln1) // val p_src = string2ptr(str) val p_dst = memcpy (p_dst, p_src + st, ln) // val () = $UN.ptr0_set(p_dst + ln, CNUL) // in castvwtp_trans{strnptr(ln)}((pf, pfgc | p_dst)) end // end of [string_make_substring] (* ****** ****** *) // implement {}(*tmp*) string_head (str) = $UN.ptr0_get(string2ptr(str)) implement {}(*tmp*) string_tail {n}(str) = ( $UN.cast{string(n-1)}(ptr_succ(string2ptr(str))) ) // (* ****** ****** *) implement {}(*tmp*) string0_length (str) = string1_length<>(g1ofg0(str)) // end of [string0_length] implement {}(*tmp*) string1_length {n}(str) = __strlen (str) where { extern fun __strlen (string(n)):<> size_t(n) = "mac#atspre_strlen" } // end of [where] // end of [string1_length] (* ****** ****** *) // implement {}(*tmp*) string0_nlength (str1, n2) = string1_nlength<> (g1ofg0(str1), g1ofg0(n2)) // end of [string0_nlength] // implement {}(*tmp*) string1_nlength (str1, n2) = let // fun loop{n1,n2,r:nat} .. ( str1: string(n1), n2: size_t(n2), r: size_t(r) ) :<> size_t(min(n1,n2)+r) = ( // if (n2 > 0) then ( // if isneqz(str1) then loop(str1.tail(), pred(n2), succ(r)) else (r) // ) (* end of [then] *) else (r) // end of [else] // ) (* end of [loop] *) // prval () = lemma_string_param(str1) // prval () = lemma_g1uint_param(n2) // in loop (str1, n2, i2sz(0)) end // end of [string1_nlength] // (* ****** ****** *) implement {}(*tmp*) string0_copy (str) = let // val str = g1ofg0(str) val str2 = string1_copy (str) prval () = lemma_strnptr_param (str2) // in strnptr2strptr (str2) end // end of [string0_copy] implement {}(*tmp*) string1_copy {n}(str) = let // val n = string1_length (str) val n1 = succ(n) val (pf, pfgc | p) = malloc_gc (n1) val _(*p*) = $effmask_wrt (memcpy (p, string2ptr(str), n1)) // in castvwtp_trans{strnptr(n)}((pf, pfgc | p)) end // end of [string1_copy] (* ****** ****** *) implement {}(*tmp*) strchr{n}(str, c0) = let // prval () = lemma_string_param (str) extern fun __strchr (string, int):<> ptr = "mac#atspre_strchr" extern fun __sub (ptr, ptr):<> ssizeBtw (0, n) = "mac#atspre_sub_ptr_ptr" val p0 = string2ptr(str) val p1 = __strchr (str, (char2int0)c0) // in if p1 > the_null_ptr then __sub (p1, p0) else i2ssz(~1) end // end of [strchr] implement {}(*tmp*) strrchr{n}(str, c0) = let // prval () = lemma_string_param (str) extern fun __strrchr (string, int):<> ptr = "mac#atspre_strrchr" extern fun __sub (ptr, ptr):<> ssizeBtw (0, n) = "mac#atspre_sub_ptr_ptr" val p0 = string2ptr(str) val p1 = __strrchr (str, (char2int0)c0) // in if p1 > the_null_ptr then __sub (p1, p0) else i2ssz(~1) end // end of [strrchr] (* ****** ****** *) implement {}(*tmp*) strstr{n} (haystack, needle) = let // prval () = lemma_string_param (haystack) extern fun __strstr (string, string):<> ptr = "mac#atspre_strstr" extern fun __sub (ptr, ptr):<> ssizeBtw (0, n) = "mac#atspre_sub_ptr_ptr" val p0 = string2ptr(haystack) val p1 = __strstr (haystack, needle) // in if p1 > the_null_ptr then __sub (p1, p0) else i2ssz(~1) end // end of [strstr] (* ****** ****** *) implement {}(*tmp*) strspn{n} (str, accept) = let // prval() = lemma_string_param (str) // extern fun __strspn (string, string):<> sizeLte (n) = "mac#atspre_strspn" // in __strspn (str, accept) end // end of [strspn] implement {}(*tmp*) strcspn{n} (str, reject) = let // prval() = lemma_string_param (str) // extern fun __strcspn (string, string):<> sizeLte (n) = "mac#atspre_strcspn" // in __strcspn (str, reject) end // end of [strcspn] (* ****** ****** *) implement {}(*tmp*) string_index {n}(str, c) = $UN.cast{ssizeBtw(~1,n)}(strchr (str, c)) // end of [string_index] implement {}(*tmp*) string_rindex {n}(str, c) = $UN.cast{ssizeBtw(~1,n)}(strrchr (str, c)) // end of [string_rindex] (* ****** ****** *) implement {}(*tmp*) string0_append (x1, x2) = let // val x1 = g1ofg0(x1) val x2 = g1ofg0(x2) val x12 = string1_append (x1, x2) prval () = lemma_strnptr_param (x12) // in strnptr2strptr (x12) end // end of [string0_append] implement {}(*tmp*) string1_append {n1,n2}(x1, x2) = let // val n1 = strlen (x1) and n2 = strlen (x2) // val n12 = n1 + n2 val (pf, fpf | p) = malloc_gc (succ(n12)) // val p1 = memcpy (p, string2ptr(x1), n1) val p2 = memcpy (p + n1, string2ptr(x2), succ(n2)) // in castvwtp_trans{strnptr(n1+n2)}((pf, fpf | p)) end // end of [string1_append] (* ****** ****** *) implement {}(*tmp*) string0_append3 (x1, x2, x3) = let // var xs = @[string](x1, x2, x3) // in // stringarr_concat<> ($UN.cast{arrayref(string,3)}(addr@xs), i2sz(3)) // end // end of [string0_append3] implement {}(*tmp*) string0_append4 (x1, x2, x3, x4) = let // var xs = @[string](x1, x2, x3, x4) // in // stringarr_concat<> ($UN.cast{arrayref(string,4)}(addr@xs), i2sz(4)) // end // end of [string0_append4] implement {}(*tmp*) string0_append5 (x1, x2, x3, x4, x5) = let // var xs = @[string](x1, x2, x3, x4, x5) // in // stringarr_concat<> ($UN.cast{arrayref(string,5)}(addr@xs), i2sz(5)) // end // end of [string0_append5] implement {}(*tmp*) string0_append6 (x1, x2, x3, x4, x5, x6) = let // var xs = @[string](x1, x2, x3, x4, x5, x6) // in // stringarr_concat<> ($UN.cast{arrayref(string,6)}(addr@xs), i2sz(6)) // end // end of [string0_append6] (* ****** ****** *) implement {}(*tmp*) stringarr_concat(xs, asz) = let // fun loop ( p1: ptr, p2: ptr, i: size_t, ntot: size_t ) : size_t = let in // if i > 0 then let val x = $UN.ptr0_get (p1) val nx: size_t = string_length (x) val () = $UN.ptr0_set (p2, nx) in loop(ptr_succ (p1), ptr_succ (p2), pred(i), ntot+nx) end // end of [then] else ntot // end of [else] // end // end of [loop] // fun loop2 ( p1: ptr, p2: ptr, i: size_t, pres: ptr ) : void = let in // if i > 0 then let val x = $UN.ptr0_get (p1) val nx = $UN.ptr0_get (p2) val _(*ptr*) = memcpy (pres, $UN.cast{ptr}(x), nx) in loop2 (ptr_succ (p1), ptr_succ (p2), pred(i), pres+nx) end // end of [then] else $UN.ptr0_set (pres, CNUL) // else // end // end of [loop2] // val p1 = $UN.cast{ptr}(xs) val nxs = arrayptr_make_uninitized (asz) val p2 = arrayptr2ptr (nxs) // val ntot = $effmask_all (loop (p1, p2, asz, i2sz(0))) // val (pf, pfgc | pres) = malloc_gc (g1ofg0(succ(ntot))) val ((*void*)) = $effmask_all (loop2 (p1, p2, asz, pres)) // val ((*freed*)) = arrayptr_free (nxs) // in castvwtp_trans{Strptr1}((pf, pfgc | pres)) end // end of [stringarr_concat] (* ****** ****** *) implement {}(*tmp*) stringlst_concat (xs) = res where { // val n = list_length(xs) // prval() = lemma_list_param(xs) // prval [n:int] EQINT() = eqint_make_gint(n) // val xs2 = arrayptr_make_list (n, xs) // val res = stringarr_concat ($UN.castvwtp1{arrayref(string,n)}(xs2), i2sz(n)) // val ((*freed*)) = arrayptr_free{string}(xs2) // } (* end of [stringlst_concat] *) (* ****** ****** *) implement {}(*tmp*) string_explode {n}(x) = let // prval () = lemma_string_param (x) // viewtypedef res(n) = list_vt (charNZ, n) // fun loop {n:nat} .. ( x: string n, res: &ptr? >> res(n) ) : void = let val p = string2ptr (x) val c = $UN.ptr1_get (p) in // if c != CNUL then let prval () = __assert () where { extern praxi __assert (): [n > 0] void } (* prval *) val () = res := list_vt_cons{charNZ}{0}(c, _) val+list_vt_cons (_, res1) = res val x = $UN.cast{string(n-1)}(ptr1_succ(p)) val () = loop (x, res1) in fold@ (res) end else let prval () = __assert () where { extern praxi __assert (): [n == 0] void } (* [prval] *) in res := list_vt_nil () end // end of [if] // end // end of [loop] // var res: ptr val () = $effmask_wrt (loop (x, res)) // in res end // end of [string_explode] (* ****** ****** *) implement {}(*tmp*) string_tabulate{n}(n) = let // prval () = lemma_g1uint_param (n) // fun loop ( p: ptr, n: size_t, i: size_t ) : void = let in // if i < n then let val c = string_tabulate$fopr (i) val () = $UN.ptr0_set (p, c) in loop (ptr_succ (p), n, succ (i)) end else $UN.ptr0_set (p, CNUL) // end of [if] // end // end of [loop] // val n1 = succ(n) val (pf, fpf | p0) = malloc_gc (n1) val () = loop (p0, n, g1int2uint (0)) // in castvwtp_trans{strnptr(n)}((pf, fpf | p0)) end // end of [string_tabulate] (* ****** ****** *) implement {}(*tmp*) string_forall (str) = let // fun loop ( p: ptr ) : bool = let val c0 = $UN.ptr0_get(p) in // if c0 = CNUL then true else ( if string_forall$pred(c0) then loop(ptr0_succ(p)) else false ) (* end of [if] *) // end // end of [loop] // in loop(string2ptr(str)) end // end of [string_forall] (* ****** ****** *) implement {}(*tmp*) string_iforall (str) = let // fun loop ( i: int, p: ptr ) : bool = let val c0 = $UN.ptr0_get(p) in // if c0 = CNUL then true else ( if string_iforall$pred(i, c0) then loop(i+1, ptr0_succ(p)) else false ) (* end of [if] *) // end // end of [loop] // in loop(0, string2ptr(str)) end // end of [string_iforall] (* ****** ****** *) implement {env} string_foreach$cont(c, env) = true implement{env} string_foreach$fwork(c, env) = ((*void*)) implement {}(*tmp*) string_foreach(str) = let var env: void = () in string_foreach_env(str, env) end // end of [string_foreach] implement {env} string_foreach_env {n}(str, env) = let // fun loop ( p: ptr, env: &env ) : ptr = let val c = $UN.ptr0_get (p) val cont = ( if c != CNUL then string_foreach$cont (c, env) else false // end of [if] ) : bool // end of [val] in if cont then let val () = string_foreach$fwork (c, env) in loop(ptr_succ (p), env) // end of [val] end else (p) // end of [if] end // end of [fun] // val p0 = string2ptr (str) val p1 = loop (p0, env) // in $UN.cast{sizeLte(n)}(p1 - p0) end // end of [string_foreach_env] (* ****** ****** *) implement {env} string_rforeach$cont (c, env) = true implement {env} string_rforeach$fwork (c, env) = ((*void*)) implement {}(*tmp*) string_rforeach(str) = let var env: void = () in string_rforeach_env(str, env) end // end of [string_rforeach] implement {env}(*tmp*) string_rforeach_env {n}(str, env) = let // fun loop ( p0: ptr, p1: ptr, env: &env >> _ ) : ptr = let in // if (p1 > p0) then let val p2 = ptr_pred (p1) val c2 = $UN.ptr0_get (p2) val cont = string_rforeach$cont (c2, env) // end of [val] in if cont then let val () = string_rforeach$fwork (c2, env) in loop (p0, p2, env) end // end of [then] else (p1) // end of [else] end // end of [then] else (p1) // end of [else] // end // end of [loop] // val p0 = ptrcast(str) val p1 = ptr_add (p0, length(str)) // in $UN.cast{sizeLte(n)}(p1 - loop (p0, p1, env)) end // end of [string_rforeach_env] (* ****** ****** *) (* // // HX-2013-03: it is now defined as a macro // implement stropt_none () = $UN.cast{stropt(~1)}(the_null_ptr) *) (* ****** ****** *) implement {}(*tmp*) stropt_is_none{n}(x) = ( $UN.cast{bool(n < 0)}(ptr0_is_null($UN.cast2ptr(x))) ) // end of [stropt_is_none] implement {}(*tmp*) stropt_is_some{n}(x) = ( $UN.cast{bool(n>=0)}(ptr0_isnot_null($UN.cast2ptr(x))) ) // end of [stropt_is_some] (* ****** ****** *) implement {}(*tmp*) stropt_length (x) = let // prval() = lemma_stropt_param(x) // in // if stropt_is_some(x) then g1uint2int(string1_length(stropt_unsome(x))) else i2ssz(~1) // end // end of [stropt_length] (* ****** ****** *) implement fprint_val = fprint_string implement fprint_val = fprint_stropt (* ****** ****** *) %{$ // atstype_string atspre_string_make_snprintf ( atstype_string fmt, ... ) { char *res ; va_list ap0 ; // va_start(ap0, fmt) ; // // HX: [8] is kind of random // res = atspre_string_make_vsnprintf(8, fmt, ap0) ; // va_end(ap0) ; // return (res) ; // } // end of [atspre_string_make_snprintf] // atstype_string atspre_string_make_vsnprintf ( atstype_size bsz , atstype_string fmt, va_list ap0 ) { // int ntot ; char *res ; va_list ap1 ; // res = atspre_malloc_gc(bsz) ; // va_copy(ap1, ap0) ; ntot = vsnprintf(res, bsz, (char*)fmt, ap1) ; va_end(ap1) ; // if (ntot >= bsz) { bsz = ntot + 1 ; res = atspre_realloc_gc(res, bsz) ; ntot = vsnprintf(res, bsz, (char*)fmt, ap0) ; } // if (ntot < 0) { atspre_mfree_gc(res) ; return (char*)0 ; } // return (res) ; // } // end of [atspre_string_make_vsnprintf] // %} (* ****** ****** *) (* end of [string.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/array.dats0000664000175000017500000005432412655455557017134 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/array.atxt ** Time of generation: Sat Jun 27 21:39:37 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" staload IT = "prelude/SATS/giterator.sats" (* ****** ****** *) macdef castvwtp_trans = $UN.castvwtp0 // former name (* ****** ****** *) implement{a} array_getref_at (A, i) = let val p = ptr0_add_guint (addr@(A), i) in $UN.cast{cPtr1(a)}(p) end // end of [array_getref_at] (* ****** ****** *) implement{a}{tk} array_get_at_gint (A, i) = let val p = ptr0_add_gint (addr@(A), i) in $UN.ptr0_get (p) end // end of [array_get_at_gint] implement{a}{tk} array_get_at_guint (A, i) = let val p = ptr0_add_guint (addr@(A), i) in $UN.ptr0_get (p) end // end of [array_get_at_guint] (* ****** ****** *) implement{a}{tk} array_set_at_gint (A, i, x) = let val p = ptr0_add_gint (addr@(A), i) in $UN.ptr0_set (p, x) end // end of [array_set_at_uint] implement{a}{tk} array_set_at_guint (A, i, x) = let val p = ptr0_add_guint (addr@(A), i) in $UN.ptr0_set (p, x) end // end of [array_set_at_guint] (* ****** ****** *) implement{a}{tk} array_exch_at_gint (A, i, x) = let val p = ptr0_add_gint (addr@(A), i) in $UN.ptr0_exch (p, x) end // end of [array_exch_at_gint] implement{a}{tk} array_exch_at_guint (A, i, x) = let val p = ptr0_add_guint (addr@(A), i) in $UN.ptr0_exch (p, x) end // end of [array_exch_at_guint] (* ****** ****** *) implement{a} array_subreverse (A, i, j) = let // fun loop ( p1: ptr, p2: ptr ) : void = ( if p1 < p2 then let val x = $UN.ptr0_get (p1) val () = $UN.ptr0_set (p1, $UN.ptr0_get (p2)) val () = $UN.ptr0_set (p2, x) in loop (ptr0_succ (p1), ptr0_pred (p2)) end // end of [then] else () // end of [else] ) (* end of [loop] *) // val pA = addr@A val pi = ptr_add (pA, i) val pj = ptr_add (pA, j) // in $effmask_all(loop (pi, ptr0_pred (pj))) end // end of [array_subreverse] (* ****** ****** *) implement{a} array_interchange (A, i, j) = let in // if i != j then let val p = addr@(A) val pi = ptr0_add_guint (p, i) val pj = g1ofg0_ptr (ptr0_add_guint (p, j)) val (pf, fpf | pj) = $UN.ptr_vtake{a}(pj) val () = $UN.ptr0_exch (pi, !pj) prval () = fpf (pf) in // nothing end else () // end of [if] // end // end of [array_interchange] (* ****** ****** *) implement{a} array_subcirculate (A, i, j) = let // extern fun memmove ( dst: ptr, src: ptr, bsz: size_t ) : ptr = "mac#atspre_array_memmove" // in // if i < j then { // val p0 = ptr_add (addr@(A), i) val p1 = ptr_add (addr@(A), j) val A1 = $UN.ptr0_get (p1) val _(*ptr*) = memmove (ptr_succ(p0), p0, (j-i)*sizeof) val () = $UN.ptr0_set (p0, A1) // } else if i > j then { // val p0 = ptr_add (addr@(A), j) val p1 = ptr_add (addr@(A), i) val A0 = $UN.ptr0_get (p0) val _(*ptr*) = memmove (p0, ptr_succ(p0), (i-j)*sizeof) val () = $UN.ptr0_set (p1, A0) // } else () // end of [if] // end // end of [array_subcirculate] (* ****** ****** *) implement{a} array_ptr_takeout {l}{n}{i}(pf | p, i) = let prval (pf, fpf) = array_v_takeout {a}{l}{n}{i} (pf) // end of [prval] in (pf, fpf | ptr1_add_guint (p, i)) end // end of [array_ptr_takeout] (* ****** ****** *) implement{a} array_ptr_alloc {n} (asz) = let val [l:addr] ( pf, pfgc | p ) = malloc_gc (asz * sizeof) prval pf = __assert (pf) where { extern praxi __assert (pf: b0ytes (n*sizeof(a)) @ l): array_v (a?, l, n) // end of [__assert] } // end of [where] // end of [prval] in (pf, pfgc | p) end // end of [array_ptr_alloc] (* ****** ****** *) implement{} array_ptr_free {a}{l}{n} (pf, pfgc | p) = let prval pf = __assert (pf) where { extern praxi __assert (pf: array_v (a?, l, n)): b0ytes (n*sizeof(a)) @ l // end of [__assert] } // end of [where] // end of [prval] in mfree_gc (pf, pfgc | p) end // end of [array_ptr_free] (* ****** ****** *) implement{a} array_ptr_tabulate (asz) = let // val ( pf, pfgc | p ) = array_ptr_alloc (asz) // local implement{a} array_initize$init (i, x) = x := array_tabulate$fopr (i) in (*in of [local]*) val () = array_initize (!p, asz) end // end of [local] // in @(pf, pfgc | p) end // end of [array_ptr_tabulate] (* ****** ****** *) implement{a} fprint_array_int (out, A, asz) = let // prval () = lemma_array_param (A) // in fprint_array_size (out, A, i2sz(asz)) end // end of [fprint_array_int] implement{a} fprint_array_size (out, A, asz) = let // typedef tenv = int // implement array_foreach$fwork (x, env) = let val n = env val () = if n > 0 then fprint_array$sep<> (out) val () = env := n + 1 in fprint_ref (out, x) end // end of [array_foreach$fwork] // var env: tenv = 0 val _(*n*) = array_foreach_env (A, asz, env) // in // nothing end // end of [fprint_array_size] (* ****** ****** *) implement{} fprint_array$sep (out) = fprint (out, ", ") (* ****** ****** *) implement{a} fprint_array_sep (out, A, asz, sep) = let // implement fprint_array$sep<> (out) = fprint (out, sep) // in fprint_array (out, A, asz) end // end of [fprint_array_sep] (* ****** ****** *) implement {a}(*tmp*) array_copy {n} (to, from, n) = let // val p_to = addr@(to) and p_from = addr@(from) // val _ = $extfcall ( ptr, "atspre_array_memcpy", p_to, p_from, n*sizeof ) (* end of [val] *) // extern praxi __assert {l1,l2:addr} ( pf1: !array_v (a?, l1, n) >> array_v (a , l1, n) , pf2: !array_v (a , l2, n) >> array_v (a?!, l2, n) ) : void // end of [__assert] // prval () = __assert (view@ (to), view@ (from)) // in // nothing end // end of [array_copy] (* ****** ****** *) implement{a} array_copy_from_list (A, xs) = let // prval () = lemma_list_param (xs) // fun loop {l:addr}{n:nat} .. ( pf: !array_v (a?, l, n) >> array_v (a, l, n) | p: ptr l, xs: list (a, n) ) : void = ( case+ xs of | list_cons (x, xs) => let prval (pf1, pf2) = array_v_uncons (pf) val () = !p := x val () = loop (pf2 | ptr1_succ (p), xs) prval () = pf := array_v_cons (pf1, pf2) in // nothing end // end of [list_cons] | list_nil () => let prval () = pf := array_v_unnil_nil (pf) in // nothing end // end of [list_nil] ) (* end of [loop] *) // in loop (view@(A) | addr@(A), xs) end // end of [array_copy_from_list] (* ****** ****** *) implement{a} array_copy_from_list_vt (A, xs) = let // prval () = lemma_list_vt_param (xs) // fun loop {l:addr}{n:nat} .. ( pf: !array_v (a?, l, n) >> array_v (a, l, n) | p: ptr l, xs: list_vt (a, n) ) : void = ( case+ xs of | ~list_vt_cons (x, xs) => let prval (pf1, pf2) = array_v_uncons (pf) val () = !p := x val () = loop (pf2 | ptr1_succ (p), xs) prval () = pf := array_v_cons (pf1, pf2) in // nothing end // end of [list_vt_cons] | ~list_vt_nil () => let prval () = pf := array_v_unnil_nil (pf) in // nothing end // end of [list_vt_nil] ) (* end of [loop] *) // in loop (view@(A) | addr@(A), xs) end // end of [array_copy_from_list_vt] (* ****** ****** *) implement{a} array_copy_to_list_vt (A, n) = res where { // prval () = lemma_array_param (A) // fun loop {l:addr}{n:nat} .. ( pf: !array_v (a, l, n) >> array_v (a?!, l, n) | p: ptr l, n: size_t n, res: &ptr? >> list_vt (a, n) ) : void = ( if n > 0 then let prval (pf1, pf2) = array_v_uncons (pf) val () = res := list_vt_cons {a}{0} (!p, _) val+list_vt_cons (_, res1) = res val () = loop (pf2 | ptr1_succ (p), pred(n), res1) prval () = pf := array_v_cons (pf1, pf2) prval () = fold@ (res) in // nothing end else let prval () = pf := array_v_unnil_nil (pf) in res := list_vt_nil () end // end of [if] ) (* end of [loop] *) // var res: ptr val () = loop (view@(A) | addr@(A), n, res) // } // end of [array_copy_to_list_vt] (* ****** ****** *) implement{a} array_foreach (A, asz) = let var env: void = () in array_foreach_env (A, asz, env) end // end of [array_foreach] implement {a}{env} array_foreach_env {n0} (A, asz, env) = let // prval () = lemma_array_param (A) // fun loop {l:addr} {n:nat | n <= n0} .. ( pf: !array_v (a, l, n) | p: ptr l, n: size_t n, env: &env ) : sizeLte (n0) = let in // if n > 0 then let prval ( pf1, pf2 ) = array_v_uncons (pf) val cont = array_foreach$cont (!p, env) in if cont then let val () = array_foreach$fwork (!p, env) val res = loop (pf2 | ptr1_succ (p), pred(n), env) prval () = pf := array_v_cons (pf1, pf2) in res end else let prval () = pf := array_v_cons (pf1, pf2) in n end (* end of [if] *) end else n(*0*) // end // end of [loop] // val p_beg = addr@(A) val n = loop (view@(A) | p_beg, asz, env) // in asz - n end // end of [array_foreach_env] (* ****** ****** *) implement{a}{env} array_foreach$cont (x, env) = true (* implement{a}{env} array_foreach$fwork (x, env) = ((*void*)) *) (* ****** ****** *) implement{a} array_foreach_fun {n}{fe} (A, asz, f) = let typedef tfun = (!unit_v | &a, !ptr) - void val f = $UN.cast{tfun} (f) prval pfu = unit_v () var env: ptr = the_null_ptr val () = array_foreach_funenv (pfu | A, asz, f, env) prval () = unit_v_elim (pfu) in // nothing end // end of [array_foreach_fun] implement{a} array_foreach_cloref {n}{fe} (A, asz, f) = let // viewdef v = unit_v typedef vt = (&a) - void // fun app .<>. (pf: !v | x: &a, env: !vt): void = env (x) prval pfu = unit_v () var env = f val () = array_foreach_funenv {v}{vt} (pfu | A, asz, app, env) prval () = unit_v_elim (pfu) in // nothing end // end of [array_foreach_cloref] (* ****** ****** *) implement{a} array_foreach_funenv {v}{vt} ( pf | A, asz, f, env ) = array_foreach_funenv_tsz{a}{v}{vt} (pf | A, asz, sizeof, f, env) // end of [array_foreach_funenv] (* ****** ****** *) implement {a1,a2}(*tmp*) array_foreach2 (A1, A2, asz) = let var env: void = () in array_foreach2_env (A1, A2, asz, env) end // end of [array_foreach2] implement {a1,a2}{env} array_foreach2_env {n0} (A1, A2, asz, env) = let // prval () = lemma_array_param (A1) // fun loop {l1,l2:addr} {n:nat | n <= n0} .. ( pf1: !array_v (a1, l1, n) , pf2: !array_v (a2, l2, n) | p1: ptr l1, p2: ptr l2, n: size_t n, env: &env ) : sizeLte (n0) = let in if n > 0 then let prval (pf11, pf12) = array_v_uncons (pf1) prval (pf21, pf22) = array_v_uncons (pf2) val cont = array_foreach2$cont (!p1, !p2, env) in if cont then let val () = array_foreach2$fwork (!p1, !p2, env) val res = loop ( pf12, pf22 | ptr1_succ (p1), ptr1_succ (p2), pred(n), env ) // end of [val] prval () = pf1 := array_v_cons (pf11, pf12) prval () = pf2 := array_v_cons (pf21, pf22) in res end else let prval () = pf1 := array_v_cons (pf11, pf12) prval () = pf2 := array_v_cons (pf21, pf22) in n end (* end of [if] *) end else n(*0*) end // end of [loop] // val p1_beg = addr@(A1) val p2_beg = addr@(A2) val n = loop (view@(A1), view@(A2) | p1_beg, p2_beg, asz, env) // in asz - n end // end of [array_foreach2_env] (* ****** ****** *) implement {a1,a2}{env} array_foreach2$cont (x1, x2, env) = true (* implement {a1,a2}{env} array_foreach2$fwork (x1, x2, env) = ((*void*)) *) (* ****** ****** *) implement{a} array_iforeach (A, asz) = let var env: void = () in array_iforeach_env (A, asz, env) end // end of [array_iforeach] implement {a}{env} array_iforeach_env {n0} (A, asz, env) = let // prval () = lemma_array_param (A) // fun loop {l:addr} {n:nat | n <= n0} .. ( pf: !array_v (a, l, n) | i: size_t, p: ptr l, n: size_t n, env: &env ) : sizeLte (n0) = let in // if n > 0 then let prval ( pf1, pf2 ) = array_v_uncons (pf) val cont = array_iforeach$cont (i, !p, env) in if cont then let val () = array_iforeach$fwork (i, !p, env) val res = loop (pf2 | succ(i), ptr1_succ (p), pred(n), env) prval () = pf := array_v_cons (pf1, pf2) in res end else let prval () = pf := array_v_cons (pf1, pf2) in n end (* end of [if] *) end else n(*0*) // end // end of [loop] // val p_beg = addr@(A) val n = loop (view@(A) | g0int2uint(0), p_beg, asz, env) // in asz - n end // end of [array_iforeach_env] (* ****** ****** *) implement{a}{env} array_iforeach$cont (i, x, env) = true (* implement{a}{env} array_iforeach$fwork (i, x, env) = ((*void*)) *) (* ****** ****** *) implement{a} array_rforeach (A, asz) = let var env: void = () in array_rforeach_env (A, asz, env) end // end of [array_rforeach] implement {a}{env} array_rforeach_env {n0} (A, asz, env) = let // prval () = lemma_array_param (A) // fun loop {l:addr} {n:nat | n <= n0} .. ( pf: !array_v (a, l, n) | p: ptr (l+n*sizeof(a)), n: size_t n, env: &env ) : sizeLte (n0) = let in // if n > 0 then let prval ( pf1, pf2 ) = array_v_unextend (pf) val p1 = ptr1_pred (p) val (pf2 | p1) = viewptr_match (pf2 | p1) val cont = array_rforeach$cont (!p1, env) in if cont then let val () = array_rforeach$fwork (!p1, env) val res = loop (pf1 | p1, pred(n), env) prval () = pf := array_v_extend (pf1, pf2) in res end else let prval () = pf := array_v_extend (pf1, pf2) in n end (* end of [if] *) end else n (*0*) // end // end of [loop] // val p_end = ptr1_add_guint (addr@(A), asz) val n = loop (view@(A) | p_end, asz, env) // in asz - n end // end of [array_rforeach_env] (* ****** ****** *) implement{a}{env} array_rforeach$cont (x, env) = true (* implement{a}{env} array_rforeach$fwork (x, env) = ((*void*)) *) (* ****** ****** *) implement{a} array_initize (A, asz) = let // stadef V = array_v // fun loop {l:addr}{n:nat} .. ( pf: !V (a?, l, n) >> V (a, l, n) | p: ptr l, n: size_t n, i: size_t ) : void = ( if n > 0 then let prval (pf1, pf2) = array_v_uncons (pf) val () = array_initize$init (i, !p) val () = loop (pf2 | ptr1_succ (p), pred(n), succ(i)) prval () = pf := array_v_cons{a}(pf1, pf2) in // nothing end else let prval () = pf := array_v_unnil_nil (pf) in // nothing end // end of [if] ) (* end of [loop] *) // prval () = lemma_g1uint_param (asz) // in loop (view@ (A) | addr@ (A), asz, g0int2uint(0)) end // end of [array_initize] (* ****** ****** *) implement{a} array_initize_elt (A, asz, elt) = let // implement{a2} array_initize$init (i, xi) = xi := $UN.castvwtp0{a2}(elt) // in $effmask_all (array_initize (A, asz)) end // end of [array_initize_elt] (* ****** ****** *) implement{a} array_initize_list {n} (A, asz, xs) = let // typedef list0 = listGte (a, 0) typedef list1 = listGte (a, 1) // fun loop ( p: ptr, p1: ptr, xs: list0 ) : void = let in // if p < p1 then let val xs = $UN.cast{list1}(xs) val+list_cons (x, xs) = xs val () = $UN.ptr0_set (p, x) val p = ptr_succ (p) in loop (p, p1, xs) end else () // end of [if] // end // end of [loop] // prval () = lemma_list_param (xs) // val p = addr@(A) val p1 = ptr_add (p, asz) val () = $effmask_all(loop (p, p1, xs)) // prval ( ) = __assert (A) where { extern praxi __assert (A: &array(a?, n) >> array(a, n)): void } (* end of [prval] *) // in // nothing end // end of [array_initize_list] (* ****** ****** *) implement{a} array_initize_rlist {n} (A, asz, xs) = let // typedef list0 = listGte (a, 0) typedef list1 = listGte (a, 1) // fun loop ( p: ptr, p0: ptr, xs: list0 ) : void = let in // if p > p0 then let val xs = $UN.cast{list1}(xs) val+list_cons (x, xs) = xs val p = ptr_pred (p) val () = $UN.ptr0_set (p, x) in loop (p, p0, xs) end else () // end of [if] // end // end of [loop] // prval () = lemma_list_param (xs) // val p0 = addr@(A) val p = ptr_add (p0, asz) val () = $effmask_all(loop (p, p0, xs)) // prval ( ) = __assert (A) where { extern praxi __assert (A: &array(a?, n) >> array(a, n)): void } (* end of [prval] *) // in // nothing end // end of [array_initize_rlist] (* ****** ****** *) implement{a} array_initize_list_vt {n} (A, asz, xs) = let // vtypedef list0 = listGte_vt (a, 0) vtypedef list1 = listGte_vt (a, 1) // fun loop ( p: ptr, p1: ptr, xs: list0 ) : void = let in // if p < p1 then let val xs = $UN.castvwtp0{list1}(xs) val+~list_vt_cons (x, xs) = xs val () = $UN.ptr0_set (p, x) val p = ptr_succ (p) in loop (p, p1, xs) end else let prval () = $UN.cast2void (xs) in (*nothing*) end // end of [if] // end // end of [loop] // prval () = lemma_list_vt_param (xs) // val p = addr@(A) val p1 = ptr_add (p, asz) val () = $effmask_all(loop (p, p1, xs)) // prval ( ) = __assert (A) where { extern praxi __assert (A: &array(a?, n) >> array(a, n)): void } (* end of [prval] *) // in // nothing end // end of [array_initize_list_vt] (* ****** ****** *) implement{a} array_initize_rlist_vt {n} (A, asz, xs) = let // vtypedef list0 = listGte_vt (a, 0) vtypedef list1 = listGte_vt (a, 1) // fun loop ( p: ptr, p0: ptr, xs: list0 ) : void = let in // if p > p0 then let val xs = $UN.castvwtp0{list1}(xs) val+~list_vt_cons (x, xs) = xs val p = ptr_pred (p) val () = $UN.ptr0_set (p, x) in loop (p, p0, xs) end else let prval () = $UN.cast2void (xs) in (*nothing*) end // end of [if] // end // end of [loop] // prval () = lemma_list_vt_param (xs) // val p0 = addr@(A) val p = ptr_add (p0, asz) val () = $effmask_all(loop (p, p0, xs)) // prval ( ) = __assert (A) where { extern praxi __assert (A: &array(a?, n) >> array(a, n)): void } (* end of [prval] *) // in // nothing end // end of [array_initize_rlist_vt] (* ****** ****** *) implement{a} array_uninitize (A, asz) = let // fun loop {l:addr}{n:nat} .. ( pf: !array_v (a, l, n) >> array_v (a?, l, n) | p: ptr l, n: size_t n, i: size_t ) : void = let in // if n > 0 then let prval (pf1, pf2) = array_v_uncons (pf) val () = array_uninitize$clear (i, !p) val () = loop (pf2 | ptr_succ (p), pred (n), succ (i)) prval () = pf := array_v_cons (pf1, pf2) in // nothing end else let prval () = pf := array_v_unnil_nil {a,a?} (pf) in // nothing end // end of [if] // end // end of [loop] // prval () = lemma_array_param (A) // prval pf = view@ (A) val () = loop (pf | addr@ (A), asz, i2sz(0)) prval () = view@ (A) := pf // in // nothing end // end of [array_uninitize] (* ****** ****** *) implement {a}{b} array_mapto {n}(A, B, n) = let // val pa = addr@ (A) val pa2 = ptr_add (pa, n) val pb = addr@ (B) // fun loop{la,lb:addr} ( pa: ptr la, pa2: ptr, pb: ptr lb ) : void = ( if pa < pa2 then let val (pfa, fpfa | pa) = $UN.ptr_vtake{a}(pa) val (pfb, fpfb | pb) = $UN.ptr_vtake{b?}(pb) val () = array_mapto$fwork (!pa, !pb) prval () = fpfa (pfa) prval () = fpfb ($UN.castview0{(b?)@lb}(pfb)) in loop (ptr_succ (pa), pa2, ptr_succ (pb)) end (* end of [if] *) ) // val () = loop (pa, pa2, pb) prval [lb:addr] EQADDR () = ptr_get_index (pb) prval () = view@(B) := $UN.castview0{array_v (b, lb, n)}(view@(B)) // in // nothing end (* end of [array_mapto] *) (* ****** ****** *) implement {a,b}{c} array_map2to {n}(A, B, C, n) = let // val pa = addr@ (A) val pa2 = ptr_add (pa, n) val pb = addr@ (B) val pc = addr@ (C) // fun loop{la,lb,lc:addr} ( pa: ptr la, pa2: ptr, pb: ptr lb, pc: ptr lc ) : void = ( if pa < pa2 then let val (pfa, fpfa | pa) = $UN.ptr_vtake{a}(pa) val (pfb, fpfb | pb) = $UN.ptr_vtake{b}(pb) val (pfc, fpfc | pc) = $UN.ptr_vtake{c?}(pc) val () = array_map2to$fwork (!pa, !pb, !pc) prval () = fpfa (pfa) prval () = fpfb (pfb) prval () = fpfc ($UN.castview0{(c?)@lc}(pfc)) in loop (ptr_succ (pa), pa2, ptr_succ (pb), ptr_succ (pc)) end (* end of [if] *) ) // val () = loop (pa, pa2, pb, pc) prval [lc:addr] EQADDR () = ptr_get_index (pc) prval () = view@(C) := $UN.castview0{array_v (c, lc, n)}(view@(C)) // in // nothing end (* end of [array_map2to] *) (* ****** ****** *) (* implement{a} array_bsearch (A, n) = $effmask_all let // val itr = $IT.giter_make_array (view@(A) | addr@(A), n) // end of [val] implement $IT.giter_bsearch$ford (x) = array_bsearch$ford (x) val () = $IT.giter_bsearch (itr, n) // val ofs = $IT.giter_get_fofs (itr) // val (pf | ()) = $IT.giter_free_array (itr) prval () = view@ (A) := pf // in ofs end // end of [array_bsearch] *) (* ****** ****** *) implement{a} array_permute (A, asz) = let // prval () = lemma_array_param (A) // fun loop {l:addr}{n:nat} .. ( pf: !array_v (a, l, n) | p: ptr l, n: size_t n ) : void = let in // if n >= 2 then let val i = array_permute$randint<> (n) prval (pf1, pf2) = array_v_uncons (pf) val () = if i > 0 then $UN.ptr0_exch (ptr0_add_guint (p, i), !p) val () = loop (pf2 | ptr1_succ (p), pred (n)) prval () = pf := array_v_cons (pf1, pf2) in // nothing end else () // end of [if] // end // end of [loop] // in loop (view@ (A) | addr@ (A), asz) end // end of [array_permute] (* ****** ****** *) #include "./SHARE/array_bsearch.dats" #include "./SHARE/array_quicksort.dats" (* ****** ****** *) (* end of [array.dats] *) ATS2-Postiats-0.2.6/./prelude/DATS/stream_vt.dats0000664000175000017500000002577612655455557020033 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/DATS/CODEGEN/list.atxt ** Time of generation: Fri Oct 23 21:36:29 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: July, 2012 *) (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // // HX-2014-04-07: // This is a wild implementation! // implement {a}(*tmp*) stream_vt2t(xs) = let // fun aux ( xs: stream_vt(a) ) : stream(a) = let // val xs = $UN.castvwtp0{ptr}(xs) // in // $delay ( let val xs = $UN.castvwtp0{stream_vt(a)}(xs) val xs_con = !xs in case+ xs_con of | ~stream_vt_nil ((*void*)) => stream_nil () // end of [stream_vt_nil] | @stream_vt_cons (x, xs1) => let val xs1_val = xs1 val () = xs1 := aux (xs1_val) in $UN.castvwtp0{stream_con(a)}((view@x, view@xs1 | xs_con)) end // end of [stream_cons] end ) end // end of [aux] // in aux (xs) end // end of [stream_vt2t] (* ****** ****** *) local // // HX-2012: casting stream_vt_cons to list_cons // extern castfn stream2list_vt_cons {l0,l1,l2:addr} ( stream_vt_cons_unfold (l0, l1, l2) ) :<> list_vt_cons_unfold (l0, l1, l2) in (* in-of-local *) implement {a}(*tmp*) stream2list_vt(xs) = let // fun loop ( xs: stream_vt a ) : List0_vt (a) = let val xs_con = !xs in case+ xs_con of | ~stream_vt_nil ((*void*)) => list_vt_nil() // end of [stream_vt_nil] | @stream_vt_cons (x, xs1) => let val xs1_val = xs1 val () = xs1 := loop (xs1_val) val xs_con = stream2list_vt_cons (xs_con) in fold@ (xs_con); xs_con end // end of [stream_vt_cons] end // end of [loop] // in loop (xs) end // end of [stream2list_vt] end // end of [local] (* ****** ****** *) implement {a}(*tmp*) stream_vt_free (xs) = ~(xs) (* ****** ****** *) // implement {a}(*tmp*) stream_vt_drop_exn (xs, n) = let // fun aux : $d2ctype(stream_vt_drop_exn) = lam (xs, n) => ( // if n > 0 then ( // case+ !xs of | ~stream_vt_cons (_, xs) => aux(xs, n-1) // end of [stream_vt_cons] | ~stream_vt_nil ((*void*)) => $raise StreamSubscriptExn() // end of [stream_vt_nil] // ) (* end of [then] *) else (xs) // end of [else] // ) (* end of [lam] *) // in aux (xs, n) end // end of [stream_vt_drop_exn] // implement {a}(*tmp*) stream_vt_drop_opt (xs, n) = let // fun aux : $d2ctype(stream_vt_drop_opt) = lam (xs, n) => ( // if n > 0 then ( // case+ !xs of | ~stream_vt_cons (_, xs) => aux(xs, n-1) | ~stream_vt_nil ((*void*)) => None_vt((*void*)) // ) (* end of [then] *) else Some_vt{stream_vt(a)}(xs) // [else] // ) (* end of [lam] *) // in aux (xs, n) end // end of [stream_vt_drop_opt] // (* ****** ****** *) // implement {a}(*tmp*) stream_vt_head(xs) = ( case+ !xs of | ~stream_vt_cons (x, xs) => let val () = stream_vt_free (xs) in x end | ~stream_vt_nil ((*void*)) => $raise StreamSubscriptExn() ) (* end of [stream_vt_head] *) // implement {a}(*tmp*) stream_vt_tail(xs) = ( case+ !xs of | ~stream_vt_cons (x, xs) => (xs) | ~stream_vt_nil ((*void*)) => $raise StreamSubscriptExn() ) (* end of [stream_vt_tail] *) // (* ****** ****** *) implement {a}(*tmp*) stream_vt_uncons(xs0) = ( case+ !xs0 of | ~stream_vt_cons (x, xs) => (xs0 := xs; x) | ~stream_vt_nil () => let val () = xs0 := $ldelay (stream_vt_nil) // end of [val] in $raise StreamSubscriptExn((*void*)) end // end of [stream_vt_nil] ) (* end of [stream_vt_uncons] *) (* ****** ****** *) implement {a}(*tmp*) stream_vt_foreach (xs) = let var env: void = () in stream_vt_foreach_env (xs, env) end // end of [stream_vt_foreach] implement {a}(*tmp*){env} stream_vt_foreach_env (xs, env) = let val xs_con = !xs in // case+ xs_con of | @stream_vt_cons (x, xs1) => let val xs1 = xs1 val () = stream_vt_foreach$fwork (x, env) val () = free@ {a} (xs_con) in stream_vt_foreach (xs1) end // end of [stream_vt_cons] | ~stream_vt_nil () => () // end // end of [stream_vt_foreach_env] (* ****** ****** *) local fun{a:t0p} stream_vt_filter_con ( xs: stream_vt (a) ) : stream_vt_con (a) = let val xs = !xs in // case+ xs of | @stream_vt_cons (x, xs1) => let val test = stream_vt_filter$pred (x) // end of [val] in if test then let val () = xs1 := stream_vt_filter (xs1) in fold@{a}(xs); xs end else let val xs1 = xs1 val ((*void*)) = free@{a}(xs) in stream_vt_filter_con (xs1) end // end of [if] end // end of [cons] | ~stream_vt_nil((*void*)) => stream_vt_nil() // end (* end of [stream_vt_filter_con] *) in (* in of [local] *) implement {a}(*tmp*) stream_vt_filter (xs) = $ldelay (stream_vt_filter_con (xs), ~xs) // end of [stream_vt_filter] implement {a}(*tmp*) stream_vt_filter_fun (xs, pred) = let // implement{a2} stream_vt_filter$pred (x) = let // val p = addr@(x) val (pf, fpf | p) = $UN.ptr0_vtake{a}(p) val test = pred (!p) prval ((*void*)) = fpf (pf) // in test end // end of [stream_vt_filter$pred] // in stream_vt_filter (xs) end // end of [stream_vt_filter_fun] end // end of [local] (* ****** ****** *) local fun{} auxfree {a:t0p} ( pred: (&a) - bool ) : void = cloptr_free ($UN.castvwtp0{cloptr0}(pred)) fun{a:t0p} stream_vt_filter_cloptr_con ( xs: stream_vt (a), pred: (&a) - bool ) : stream_vt_con (a) = let val xs = !xs in // case+ xs of | @stream_vt_cons (x, xs1) => let val test = pred (x) in if test then let val () = xs1 := stream_vt_filter_cloptr (xs1, pred) in fold@{a}(xs); xs end else let val xs1 = xs1 val ((*void*)) = free@{a}(xs) in stream_vt_filter_cloptr_con (xs1, pred) end // end of [if] end // end of [cons] | ~stream_vt_nil () => let val () = auxfree(pred) in stream_vt_nil(*void*) end // end (* end of [stream_vt_filter_cloptr_con] *) in (* in of [local] *) implement {a}(*tmp*) stream_vt_filter_cloptr (xs, pred) = $ldelay ( stream_vt_filter_cloptr_con (xs, pred), (~xs; auxfree(pred)) ) (* end of [stream_vt_filter_cloptr] *) end // end of [local] (* ****** ****** *) local fun{ a:vt0p}{b:vt0p } stream_vt_map_con ( xs: stream_vt (a) ) : stream_vt_con (b) = let val xs_con = !xs in // case+ xs_con of | @stream_vt_cons(x, xs) => let val y = stream_vt_map$fopr (x) val xs = xs val ((*void*)) = free@ (xs_con) in stream_vt_cons{b}(y, stream_vt_map (xs)) end (* end of [stream_vt_con] *) | ~stream_vt_nil((*void*)) => stream_vt_nil() // end // end of [stream_vt_map_con] in (* in of [local] *) implement {a}{b}(*tmp*) stream_vt_map (xs) = $ldelay (stream_vt_map_con (xs), ~xs) end // end of [local] (* ****** ****** *) implement {a}{b}(*tmp*) stream_vt_map_fun (xs, f) = let // implement {a2}{b2} stream_vt_map$fopr (x) = let prval () = __assert (x) where { extern praxi __assert (x: &a2 >> a2?!): void } val ( pf, fpf | p_x ) = $UN.ptr0_vtake{a}(addr@x) val res = $UN.castvwtp0{b2}(f(!p_x)) prval () = $UN.castview0{void}(@(fpf, pf)) in res end (* end of [stream_vt_map$fopr] *) // in stream_vt_map (xs) end // end of [stream_vt_map_fun] (* ****** ****** *) local fun{ a1,a2:t0p}{b:vt0p } stream_vt_map2_con ( xs1: stream_vt (a1) , xs2: stream_vt (a2) ) : stream_vt_con (b) = let val xs1_con = !xs1 in // case+ xs1_con of | @stream_vt_cons (x1, xs1) => let val xs2_con = !xs2 in case+ xs2_con of | @stream_vt_cons (x2, xs2) => let val y = stream_vt_map2$fopr (x1, x2) val xs1 = xs1 and xs2 = xs2 val () = free@ (xs1_con) and () = free@ (xs2_con) in stream_vt_cons{b}(y, stream_vt_map2 (xs1, xs2)) end // end of [stream_vt_cons] | ~stream_vt_nil() => let val xs1 = xs1 val () = free@ (xs1_con) in ~xs1; stream_vt_nil () end // end of [stream_vt_nil] end // end of [stream_vt_cons] | ~stream_vt_nil((*void*)) => (~xs2; stream_vt_nil()) // end // end of [stream_vt_map_con] in (* in of [local] *) implement {a1,a2}{b} stream_vt_map2 (xs1, xs2) = $ldelay (stream_vt_map2_con (xs1, xs2), (~xs1; ~xs2)) // end of [stream_vt_map2] implement {a1,a2}{b} stream_vt_map2_fun (xs1, xs2, f) = let // implement {a12,a22}{b2} stream_vt_map2$fopr (x1, x2) = let val ( pf1, fpf1 | p_x1 ) = $UN.ptr0_vtake{a1}(addr@x1) and ( pf2, fpf2 | p_x2 ) = $UN.ptr0_vtake{a2}(addr@x2) val res = $UN.castvwtp0{b2}(f(!p_x1, !p_x2)) prval () = fpf1 (pf1) and () = fpf2 (pf2) in res end (* end of [stream_vt_map2$fopr] *) // in stream_vt_map2 (xs1, xs2) end // end of [stream_vt_map2_fun] end // end of [local] (* ****** ****** *) implement {a}(*tmp*) stream_vt_tabulate ( // argumentless ) = aux (0) where { // fun aux (i: intGte(0)): stream_vt (a) = $ldelay (stream_vt_cons{a}(stream_vt_tabulate$fopr (i), aux (i+1))) // } (* end of [stream_vt_tabulate] *) (* ****** ****** *) local // datavtype streamer (a:vt@ype+) = STREAMER of (stream_vt(a)) // assume streamer_vtype (a:vt0p) = streamer (a) // in (* in-of-local *) implement {}(*tmp*) streamer_vt_make (xs) = STREAMER (xs) implement {}(*tmp*) streamer_vt_free (xser) = let val+~STREAMER(xs) = xser in ~xs end // end of [streamer_free] implement {a}(*tmp*) streamer_vt_eval_exn (xser) = let // val+@STREAMER(xs) = xser // in // case+ !xs of | ~stream_vt_cons (x, xs2) => ( xs := xs2; fold@(xser); x ) (* end of [stream_vt_cons] *) | ~stream_vt_nil ((*void*)) => let prval () = __assert (view@xs) where { extern praxi __assert{l:addr}(!ptr@l >> stream_vt(a)@l): void } (* end of [prval] *) prval () = fold@(xser) in $raise StreamSubscriptExn() end (* end of [stream_vt_nil] *) // end // end of [stream_eval_exn] end // end of [local] (* ****** ****** *) (* end of [stream_vt.dats] *) ATS2-Postiats-0.2.6/./prelude/SATS/0000775000175000017500000000000012655455557015150 5ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/SATS/gnumber.sats0000664000175000017500000000643312655455557017511 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/gnumber.atxt ** Time of generation: Sat Jun 27 21:39:10 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) (* Author: Brandon Barker *) (* Authoremail: brandon.barker AT gmail DOT com *) (* Start time: July, 2013 *) (* ****** ****** *) // // HX: for unindexed gnumber types // (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) abstype fprecision_prop (a1:t0p, a2:t0p) propdef fprecision (a1:t0p, a2:t0p) = fprecision_prop (a1, a2) praxi fprecision_float (): fprecision (float, float) praxi fprecision_double (): fprecision (double, double) praxi fprecision_ldouble (): fprecision (ldouble, ldouble) (* ****** ****** *) // // HX: generic number operations // (* ****** ****** *) // // fun{a:t0p} gnumber_int (x: int):<> a fun{a:t0p} gnumber_double (x: double):<> a // (* ****** ****** *) fun{a:t0p} gabs_val (x: a):<> a fun{a:t0p} gneg_val (x: a):<> a fun{a:t0p} gsucc_val (x: a):<> a fun{a:t0p} gpred_val (x: a):<> a fun{a:t0p} grecip_val (x: a): a (* ****** ****** *) fun{a:t0p} gadd_val_val (x: a, y: a):<> a fun{a:t0p} gsub_val_val (x: a, y: a):<> a fun{a:t0p} gmul_val_val (x: a, y: a):<> a fun{a:t0p} gdiv_val_val (x: a, y: a): a fun{a:t0p} gmod_val_val (x: a, y: a): a (* ****** ****** *) // fun{a:t0p} gadd_val_int (x: a, y: int):<> a fun{a:t0p} gsub_val_int (x: a, y: int):<> a // fun{a:t0p} gmul_int_val (x: int, y: a):<> a fun{a:t0p} gmul_val_int (x: a, y: int):<> a // fun{a:t0p} gdiv_int_val (x: int, y: a): a fun{a:t0p} gdiv_val_int (x: a, y: int): a fun{a:t0p} gmod_val_int (x: a, y: int): a // (* ****** ****** *) fun{a:t0p} gsqrt_val (x: a): a (* ****** ****** *) fun{a:t0p} gconjugate_val (x: a):<> a (* ****** ****** *) fun{a:t0p} gpow_int_val (n: intGte(0), x: a):<> a (* ****** ****** *) (* end of [gnumber.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/reference.sats0000664000175000017500000000576612655455557020020 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/reference.atxt ** Time of generation: Sat Jun 27 21:39:02 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2012 *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) castfn ref_get_ptr {a:vt0p} (r: ref a):<> [l:agz] ptr (l) castfn ref_get_viewptr {a:vt0p} (r: ref a):<> [l:agz] (vbox (a @ l) | ptr l) // end of [ref_get_viewptr] (* ****** ****** *) (* macdef ptr_of_ref = ref_get_ptr *) (* ****** ****** *) fun{a:vt0p} ref (x: a): ref a fun{a:vt0p} ref_make_elt (x: a): ref a castfn ref_make_viewptr {a:vt0p}{l:addr} (pf: a @ l | p: ptr l):<> ref (a) // end of [ref_make_viewptr] (* ****** ****** *) // fun{a:t0p} ref_get_elt (r: ref a): a fun{a:t0p} ref_set_elt (r: ref a, x: a): void // (* ****** ****** *) // fun{a:vt0p} ref_exch_elt (r: ref a, x: &a>>a): void // (* ****** ****** *) (* ** HX-2012-05: ** this is not particularly useful except for the purpose ** of avoiding using the [vbox] pattern *) fun{} ref_app_fun{a:vt0p} ( r: ref a, f: (&(a)>>_) -<0,!wrt> void ) : void // end of [ref_app_fun] fun{} ref_app_funenv{a:vt0p} {v:view}{vt:viewtype} ( pfv: !v | r: ref a, f: (!v | &(a)>>_, !vt) -<0,!wrt> void, env: !vt ) : void // end of [ref_app_funenv] (* ****** ****** *) // // HX-2013-10: unsafe but convenient // fun{} ref_vtakeout {a:vt0p} ( ref: ref (a) ) : [l:addr] (a @ l, (a @ l) - void | ptr(l)) // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with ref_get_elt // ref[] overload [] with ref_set_elt // ref[] := (val) (* ****** ****** *) (* end of [reference.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/char.sats0000664000175000017500000003320512655455557016764 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/char.atxt ** Time of generation: Sat Nov 7 22:19:26 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) // praxi lemma_char_size ( // argumentless ) : [sizeof(char)==sizeof(byte)] void praxi lemma_schar_size ( // argumentless ) : [sizeof(schar)==sizeof(byte)] void praxi lemma_uchar_size ( // argumentless ) : [sizeof(uchar)==sizeof(byte)] void // (* ****** ****** *) // castfn char2schar0 (c: char):<> schar castfn schar2char0 (c: schar):<> char // castfn char2uchar0 (c: char):<> uchar castfn uchar2char0 (c: uchar):<> char // (* ****** ****** *) // fun int2char0 (i: int):<> char = "mac#%" fun int2schar0 (i: int):<> schar = "mac#%" fun int2uchar0 (i: int):<> uchar = "mac#%" // fun uint2uchar0 (u: uint):<> uchar = "mac#%" // (* ****** ****** *) fun char2int0 (c: char):<> int = "mac#%" fun schar2int0 (c: schar):<> int = "mac#%" fun uchar2int0 (c: uchar):<> int = "mac#%" (* ****** ****** *) fun char2uint0 (c: char):<> uint = "mac#%" fun schar2uint0 (c: schar):<> uint = "mac#%" fun uchar2uint0 (c: uchar):<> uint = "mac#%" (* ****** ****** *) fun char2u2int0 (c: char):<> int = "mac#%" fun char2u2uint0 (c: char):<> uint = "mac#%" (* ****** ****** *) // fun char0_iseqz (c: char):<> bool = "mac#%" fun char0_isneqz (c: char):<> bool = "mac#%" // overload iseqz with char0_iseqz of 0 overload isneqz with char0_isneqz of 0 // (* ****** ****** *) // fun add_char0_int0 (c: char, i: int):<> char = "mac#%" fun sub_char0_int0 (c: char, i: int):<> char = "mac#%" fun sub_char0_char0 (c1: char, c2: char):<> int = "mac#%" // overload + with add_char0_int0 of 0 overload - with sub_char0_int0 of 0 overload - with sub_char0_char0 of 0 // (* ****** ****** *) fun lt_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload < with lt_char0_char0 of 0 fun lte_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload <= with lte_char0_char0 of 0 fun gt_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload > with gt_char0_char0 of 0 fun gte_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload >= with gte_char0_char0 of 0 fun eq_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload = with eq_char0_char0 of 0 fun neq_char0_char0 (c1: char, c2: char):<> bool = "mac#%" overload != with neq_char0_char0 of 0 overload <> with neq_char0_char0 of 0 fun compare_char0_char0 (c1: char, c2: char):<> int = "mac#%" overload compare with compare_char0_char0 of 0 (* ****** ****** *) // castfn g0ofg1_char (c: Char):<> char castfn g1ofg0_char (c: char):<> Char // overload g0ofg1 with g0ofg1_char // index-erasing overload g1ofg0 with g1ofg0_char // index-inducing // (* ****** ****** *) // castfn char2schar1 {c:int}(c: char (c)):<> schar (c) castfn schar2char1 {c:int}(c: schar (c)):<> char (c) // castfn char2uchar1 {c:int}(c: char (c)):<> uchar (i2u8(c)) castfn uchar2char1 {c:int}(c: uchar (c)):<> char (u2i8(c)) // (* ****** ****** *) // fun char2int1 {c:int}(c: char (c)):<> int (c) = "mac#%" fun schar2int1 {c:int}(c: schar (c)):<> int (c) = "mac#%" fun uchar2int1 {c:int}(c: uchar (c)):<> int (c) = "mac#%" // (* ****** ****** *) // fun char1_iseqz {c:int}(c: char(c)):<> bool(c == 0) = "mac#%" fun char1_isneqz {c:int}(c: char(c)):<> bool(c != 0) = "mac#%" // overload iseqz with char1_iseqz of 10 overload isneqz with char1_isneqz of 10 // (* ****** ****** *) fun lt_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 < c2) = "mac#%" overload < with lt_char1_char1 of 20 fun lte_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 <= c2) = "mac#%" overload <= with lte_char1_char1 of 20 fun gt_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 > c2) = "mac#%" overload > with gt_char1_char1 of 20 fun gte_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 >= c2) = "mac#%" overload >= with gte_char1_char1 of 20 fun eq_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 == c2) = "mac#%" overload = with eq_char1_char1 of 20 fun neq_char1_char1 {c1,c2:int} (c1: char (c1), c2: char (c2)):<> bool (c1 != c2) = "mac#%" overload != with neq_char1_char1 of 20 overload <> with neq_char1_char1 of 20 fun compare_char1_char1 {c1,c2:int} (c1: char c1, c2: char c2) :<> int (c1-c2) = "mac#%" overload compare with compare_char1_char1 of 20 (* ****** ****** *) // fun eq_char0_int0 : (char, int) - bool = "mac#%" fun eq_int0_char0 : (int, char) - bool = "mac#%" overload = with eq_char0_int0 of 0 overload = with eq_int0_char0 of 0 fun neq_char0_int0 : (char, int) - bool = "mac#%" fun neq_int0_char0 : (int, char) - bool = "mac#%" overload != with neq_char0_int0 of 0 overload <> with neq_char0_int0 of 0 overload != with neq_int0_char0 of 0 overload <> with neq_int0_char0 of 0 // fun compare_char0_int0 : (char, int) - int = "mac#%" fun compare_int0_char0 : (int, char) - int = "mac#%" overload compare with compare_char0_int0 overload compare with compare_int0_char0 // (* ****** ****** *) // // unsigned characters // (* ****** ****** *) fun lt_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload < with lt_uchar0_uchar0 of 0 fun lte_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload <= with lte_uchar0_uchar0 of 0 fun gt_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload > with gt_uchar0_uchar0 of 0 fun gte_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload >= with gte_uchar0_uchar0 of 0 fun eq_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload = with eq_uchar0_uchar0 of 0 fun neq_uchar0_uchar0 (c1: uchar, c2: uchar):<> bool = "mac#%" overload != with neq_uchar0_uchar0 of 0 overload <> with neq_uchar0_uchar0 of 0 fun compare_uchar0_uchar0 (c1: uchar, c2: uchar):<> int = "mac#%" overload compare with compare_uchar0_uchar0 of 0 (* ****** ****** *) fun lt_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 < c2) = "mac#%" overload < with lt_uchar1_uchar1 of 20 fun lte_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 <= c2) = "mac#%" overload <= with lte_uchar1_uchar1 of 20 fun gt_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 > c2) = "mac#%" overload > with gt_uchar1_uchar1 of 20 fun gte_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 >= c2) = "mac#%" overload >= with gte_uchar1_uchar1 of 20 fun eq_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 == c2) = "mac#%" overload = with eq_uchar1_uchar1 of 20 fun neq_uchar1_uchar1 {c1,c2:int} (c1: uchar (c1), c2: uchar (c2)) :<> bool (c1 != c2) = "mac#%" overload != with neq_uchar1_uchar1 of 20 overload <> with neq_uchar1_uchar1 of 20 fun compare_uchar1_uchar1 {c1,c2:int} (c1: uchar c1, c2: uchar c2) :<> int (c1-c2) = "mac#%" overload compare with compare_uchar1_uchar1 of 20 (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) fun{tk:tk} g0int_of_char (c: char):<> g0int (tk) fun{tk:tk} g0int_of_schar (c: schar):<> g0int (tk) fun{tk:tk} g0int_of_uchar (c: uchar):<> g0int (tk) fun{tk:tk} g0uint_of_uchar (c: uchar):<> g0uint (tk) (* ****** ****** *) fun{tk:tk} g1int_of_char1 // c:int8 {c:int} (c: char (c)):<> g1int (tk, c) // end of [g1int_of_char1] fun{tk:tk} g1int_of_schar1 // c:int8 {c:int} (c: schar (c)):<> g1int (tk, c) // end of [g1int_of_schar1] fun{tk:tk} g1int_of_uchar1 // c:uint8 {c:int} (c: uchar (c)):<> g1int (tk, c) // end of [g1int_of_uchar1] (* ** HX: g1uint_of_schar1: schar -> int -> uint *) fun{tk:tk} g1uint_of_uchar1 {c:int} (c: uchar (c)):<> g1uint (tk, c) // end of [g1uint_of_uchar1] (* ****** ****** *) // // HX: // return is dynamically allocated // fun{} char2string(c: char):<> string fun{} char2strptr(c: char): Strptr1 // (* ****** ****** *) fun print_char (x: char): void = "mac#%" fun prerr_char (x: char): void = "mac#%" overload print with print_char overload prerr with prerr_char fun fprint_char : fprint_type (char) = "mac#%" overload fprint with fprint_char fun print_schar (x: schar): void = "mac#%" fun prerr_schar (x: schar): void = "mac#%" overload print with print_schar overload prerr with prerr_schar fun fprint_schar : fprint_type (schar) = "mac#%" overload fprint with fprint_schar fun print_uchar (x: uchar): void = "mac#%" fun prerr_uchar (x: uchar): void = "mac#%" overload print with print_uchar overload prerr with prerr_uchar fun fprint_uchar : fprint_type (uchar) = "mac#%" overload fprint with fprint_uchar (* ****** ****** *) symintr isalpha fun isalpha_int (c: int):<> bool = "mac#%" overload isalpha with isalpha_int of 0 fun isalpha_char (c: char):<> bool = "mac#%" overload isalpha with isalpha_char of 0 symintr isalnum fun isalnum_int (c: int):<> bool = "mac#%" overload isalnum with isalnum_int of 0 fun isalnum_char (c: char):<> bool = "mac#%" overload isalnum with isalnum_char of 0 symintr isascii fun isascii_int (c: int):<> bool = "mac#%" overload isascii with isascii_int of 0 fun isascii_char (c: char):<> bool = "mac#%" overload isascii with isascii_char of 0 symintr isblank fun isblank_int (c: int):<> bool = "mac#%" overload isblank with isblank_int of 0 fun isblank_char (c: char):<> bool = "mac#%" overload isblank with isblank_char of 0 symintr isspace fun isspace_int (c: int):<> bool = "mac#%" overload isspace with isspace_int of 0 fun isspace_char (c: char):<> bool = "mac#%" overload isspace with isspace_char of 0 symintr iscntrl fun iscntrl_int (c: int):<> bool = "mac#%" overload iscntrl with iscntrl_int of 0 fun iscntrl_char (c: char):<> bool = "mac#%" overload iscntrl with iscntrl_char of 0 symintr isdigit fun isdigit_int (c: int):<> bool = "mac#%" overload isdigit with isdigit_int of 0 fun isdigit_char (c: char):<> bool = "mac#%" overload isdigit with isdigit_char of 0 symintr isxdigit fun isxdigit_int (c: int):<> bool = "mac#%" overload isxdigit with isxdigit_int of 0 fun isxdigit_char (c: char):<> bool = "mac#%" overload isxdigit with isxdigit_char of 0 symintr isgraph fun isgraph_int (c: int):<> bool = "mac#%" overload isgraph with isgraph_int of 0 fun isgraph_char (c: char):<> bool = "mac#%" overload isgraph with isgraph_char of 0 symintr isprint fun isprint_int (c: int):<> bool = "mac#%" overload isprint with isprint_int of 0 fun isprint_char (c: char):<> bool = "mac#%" overload isprint with isprint_char of 0 symintr ispunct fun ispunct_int (c: int):<> bool = "mac#%" overload ispunct with ispunct_int of 0 fun ispunct_char (c: char):<> bool = "mac#%" overload ispunct with ispunct_char of 0 symintr islower fun islower_int (c: int):<> bool = "mac#%" overload islower with islower_int of 0 fun islower_char (c: char):<> bool = "mac#%" overload islower with islower_char of 0 symintr isupper fun isupper_int (c: int):<> bool = "mac#%" overload isupper with isupper_int of 0 fun isupper_char (c: char):<> bool = "mac#%" overload isupper with isupper_char of 0 (* ****** ****** *) fun toascii (c: int):<> int = "mac#%" (* ****** ****** *) symintr tolower fun tolower_int (c: int):<> int = "mac#%" fun tolower_char (c: char):<> char = "mac#%" overload tolower with tolower_int overload tolower with tolower_char symintr toupper fun toupper_int (c: int):<> int = "mac#%" fun toupper_char (c: char):<> char = "mac#%" overload toupper with toupper_int overload toupper with toupper_char (* ****** ****** *) fun int2digit (i: intBtw(0, 10)): char = "mac#%" fun int2xdigit (i: intBtw(0, 16)): char = "mac#%" fun int2xxdigit (i: intBtw(0, 16)): char = "mac#%" (* ****** ****** *) symintr c2uc overload c2uc with char2uchar0 of 0 overload c2uc with char2uchar1 of 10 symintr uc2c overload uc2c with uchar2char0 of 0 overload uc2c with uchar2char1 of 10 (* ****** ****** *) symintr char2i overload char2i with char2int0 of 0 symintr char2ui overload char2ui with char2uint0 of 0 symintr uchar2i overload uchar2i with uchar2int0 of 0 symintr uchar2ui overload uchar2ui with uchar2uint0 of 0 (* ****** ****** *) symintr char2u2i overload char2u2i with char2u2int0 of 0 symintr char2u2ui overload char2u2ui with char2u2uint0 of 0 (* ****** ****** *) // fun int2byte0 (i: int): byte = "mac#%" fun byte2int0 (b: byte):<> int = "mac#%" // fun uint2byte0 (u: uint): byte = "mac#%" fun byte2uint0 (b: byte):<> uint = "mac#%" // symintr byte2i overload byte2i with byte2int0 of 0 symintr i2byte overload i2byte with int2byte0 of 0 // symintr byte2ui overload byte2i with byte2uint0 of 0 symintr ui2byte overload i2byte with uint2byte0 of 0 // (* ****** ****** *) (* end of [char.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/integer_ptr.sats0000664000175000017500000002242312655455557020371 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/integer_ptr.atxt ** Time of generation: Fri Sep 25 23:06:22 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) (* ****** ****** *) // // HX: for unindexed integer types // (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) typedef SHR(a:t@ype) = a // for commenting purpose typedef NSH(a:t@ype) = a // for commenting purpose (* ****** ****** *) // stadef intptrknd = intptr_kind stadef uintptrknd = uintptr_kind // (* ****** ****** *) // fun g0int2int_int_intptr(int):<> intptr = "mac#%" fun g1int2int_int_intptr{i:int}(int(i)):<> intptr(i) = "mac#%" fun g0int2int_lint_intptr(lint):<> intptr = "mac#%" fun g1int2int_lint_intptr{i:int}(lint(i)):<> intptr(i) = "mac#%" // (* ****** ****** *) // fun g0int2uint_int_uintptr(int):<> uintptr = "mac#%" fun g1int2uint_int_uintptr{i:nat}(int(i)):<> uintptr(i) = "mac#%" // (* ****** ****** *) // fun g0uint2uint_uint_uintptr(uint):<> uintptr = "mac#%" fun g1uint2uint_uint_uintptr{u:int}(uint(u)):<> uintptr(u) = "mac#%" fun g0uint2uint_ulint_uintptr(ulint):<> uintptr = "mac#%" fun g1uint2uint_ulint_uintptr{u:int}(ulint(u)):<> uintptr(u) = "mac#%" // (* ****** ****** *) // fun g0int_neg_intptr (x: intptr):<> intptr = "mac#%" fun g0int_abs_intptr (x: intptr):<> intptr = "mac#%" fun g0int_succ_intptr (x: intptr):<> intptr = "mac#%" fun g0int_pred_intptr (x: intptr):<> intptr = "mac#%" fun g0int_half_intptr (x: intptr):<> intptr = "mac#%" fun g0int_asl_intptr (x: intptr, n: intGte(0)):<> intptr = "mac#%" fun g0int_asr_intptr (x: intptr, n: intGte(0)):<> intptr = "mac#%" fun g0int_add_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_sub_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_mul_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_div_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_mod_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_isltz_intptr (x: intptr):<> bool = "mac#%" fun g0int_isltez_intptr (x: intptr):<> bool = "mac#%" fun g0int_isgtz_intptr (x: intptr):<> bool = "mac#%" fun g0int_isgtez_intptr (x: intptr):<> bool = "mac#%" fun g0int_iseqz_intptr (x: intptr):<> bool = "mac#%" fun g0int_isneqz_intptr (x: intptr):<> bool = "mac#%" fun g0int_lt_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_lte_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_gt_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_gte_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_eq_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_neq_intptr (x: intptr, y: intptr):<> bool = "mac#%" fun g0int_compare_intptr (x: intptr, y: intptr):<> int = "mac#%" fun g0int_max_intptr (x: intptr, y: intptr):<> intptr = "mac#%" fun g0int_min_intptr (x: intptr, y: intptr):<> intptr = "mac#%" // (* ****** ****** *) // fun fprint_intptr : fprint_type (intptr) = "mac#%" overload fprint with fprint_intptr fun print_intptr (x: intptr): void = "mac#%" fun prerr_intptr (x: intptr): void = "mac#%" overload print with print_intptr overload prerr with prerr_intptr // (* ****** ****** *) // fun g0uint_succ_uintptr (x: uintptr):<> uintptr = "mac#%" fun g0uint_pred_uintptr (x: uintptr):<> uintptr = "mac#%" fun g0uint_half_uintptr (x: uintptr):<> uintptr = "mac#%" fun g0uint_add_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_sub_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_mul_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_div_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_mod_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_lsl_uintptr (x: uintptr, n: intGte(0)):<> uintptr = "mac#%" fun g0uint_lsr_uintptr (x: uintptr, n: intGte(0)):<> uintptr = "mac#%" fun g0uint_lnot_uintptr (x: uintptr):<> uintptr = "mac#%" fun g0uint_lor_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_lxor_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_land_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_isgtz_uintptr (x: uintptr):<> bool = "mac#%" fun g0uint_iseqz_uintptr (x: uintptr):<> bool = "mac#%" fun g0uint_isneqz_uintptr (x: uintptr):<> bool = "mac#%" fun g0uint_lt_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_lte_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_gt_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_gte_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_eq_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_neq_uintptr (x: uintptr, y: uintptr):<> bool = "mac#%" fun g0uint_compare_uintptr (x: uintptr, y: uintptr):<> int = "mac#%" fun g0uint_max_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" fun g0uint_min_uintptr (x: uintptr, y: uintptr):<> uintptr = "mac#%" // (* ****** ****** *) // fun fprint_uintptr : fprint_type (uintptr) = "mac#%" overload fprint with fprint_uintptr fun print_uintptr (x: uintptr): void = "mac#%" fun prerr_uintptr (x: uintptr): void = "mac#%" overload print with print_uintptr overload prerr with prerr_uintptr // (* ****** ****** *) // fun g1int_neg_intptr : g1int_neg_type (intptrknd) = "mac#%" fun g1int_abs_intptr : g1int_abs_type (intptrknd) = "mac#%" fun g1int_succ_intptr : g1int_succ_type (intptrknd) = "mac#%" fun g1int_pred_intptr : g1int_pred_type (intptrknd) = "mac#%" fun g1int_half_intptr : g1int_half_type (intptrknd) = "mac#%" fun g1int_add_intptr : g1int_add_type (intptrknd) = "mac#%" fun g1int_sub_intptr : g1int_sub_type (intptrknd) = "mac#%" fun g1int_mul_intptr : g1int_mul_type (intptrknd) = "mac#%" fun g1int_div_intptr : g1int_div_type (intptrknd) = "mac#%" fun g1int_nmod_intptr : g1int_nmod_type (intptrknd) = "mac#%" fun g1int_isltz_intptr : g1int_isltz_type (intptrknd) = "mac#%" fun g1int_isltez_intptr : g1int_isltez_type (intptrknd) = "mac#%" fun g1int_isgtz_intptr : g1int_isgtz_type (intptrknd) = "mac#%" fun g1int_isgtez_intptr : g1int_isgtez_type (intptrknd) = "mac#%" fun g1int_iseqz_intptr : g1int_iseqz_type (intptrknd) = "mac#%" fun g1int_isneqz_intptr : g1int_isneqz_type (intptrknd) = "mac#%" fun g1int_lt_intptr : g1int_lt_type (intptrknd) = "mac#%" fun g1int_lte_intptr : g1int_lte_type (intptrknd) = "mac#%" fun g1int_gt_intptr : g1int_gt_type (intptrknd) = "mac#%" fun g1int_gte_intptr : g1int_gte_type (intptrknd) = "mac#%" fun g1int_eq_intptr : g1int_eq_type (intptrknd) = "mac#%" fun g1int_neq_intptr : g1int_neq_type (intptrknd) = "mac#%" fun g1int_compare_intptr : g1int_compare_type (intptrknd) = "mac#%" fun g1int_max_intptr : g1int_max_type (intptrknd) = "mac#%" fun g1int_min_intptr : g1int_min_type (intptrknd) = "mac#%" // (* ****** ****** *) // fun g1uint_succ_uintptr : g1uint_succ_type (uintptrknd) = "mac#%" fun g1uint_pred_uintptr : g1uint_pred_type (uintptrknd) = "mac#%" fun g1uint_half_uintptr : g1uint_half_type (uintptrknd) = "mac#%" fun g1uint_add_uintptr : g1uint_add_type (uintptrknd) = "mac#%" fun g1uint_sub_uintptr : g1uint_sub_type (uintptrknd) = "mac#%" fun g1uint_mul_uintptr : g1uint_mul_type (uintptrknd) = "mac#%" fun g1uint_div_uintptr : g1uint_div_type (uintptrknd) = "mac#%" fun g1uint_mod_uintptr : g1uint_mod_type (uintptrknd) = "mac#%" fun g1uint_isgtz_uintptr : g1uint_isgtz_type (uintptrknd) = "mac#%" fun g1uint_iseqz_uintptr : g1uint_iseqz_type (uintptrknd) = "mac#%" fun g1uint_isneqz_uintptr : g1uint_isneqz_type (uintptrknd) = "mac#%" fun g1uint_lt_uintptr : g1uint_lt_type (uintptrknd) = "mac#%" fun g1uint_lte_uintptr : g1uint_lte_type (uintptrknd) = "mac#%" fun g1uint_gt_uintptr : g1uint_gt_type (uintptrknd) = "mac#%" fun g1uint_gte_uintptr : g1uint_gte_type (uintptrknd) = "mac#%" fun g1uint_eq_uintptr : g1uint_eq_type (uintptrknd) = "mac#%" fun g1uint_neq_uintptr : g1uint_neq_type (uintptrknd) = "mac#%" fun g1uint_compare_uintptr : g1uint_compare_type (uintptrknd) = "mac#%" fun g1uint_max_uintptr : g1uint_max_type (uintptrknd) = "mac#%" fun g1uint_min_uintptr : g1uint_min_type (uintptrknd) = "mac#%" // (* ****** ****** *) // macdef i2ptr (x) = g1int2int_int_intptr (,(x)) // macdef u2ptr (x) = g1uint2uint_uint_uintptr (,(x)) // (* ****** ****** *) (* end of [integer_ptr.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/arrayref.sats0000664000175000017500000002776412655455557017677 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/arrayref.atxt ** Time of generation: Sat Jun 27 21:39:13 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) // // arrayref: a reference to an array with no size information attached // (* ****** ****** *) #if(0) // // HX-2013-06: // it is declared in [basic_dyn.sats] // abstype arrayref_vt0ype_int_type (a: vt@ype(*elt*), n: int(*size*)) = ptr stadef arrayref = arrayref_vt0ype_int_type #endif (* ****** ****** *) praxi lemma_arrayref_param {a:vt0p}{n:int} (A: arrayref (a, n)): [n >= 0] void // end of [lemma_arrayref_param] (* ****** ****** *) castfn arrayref2ptr{a:vt0p}{n:int} (A: arrayref(a, n)):<> Ptr0 (* ****** ****** *) (* ** HX-2012-06: ** this function essentially passes the proof of array-view ** to GC (leaks it if GC is unavailable) *) castfn arrayptr_refize {a:vt0p} {l:addr} {n:int} ( A: arrayptr (INV(a), l, n) ) : arrayref (a, n) // end of [arrayptr_refize] castfn arrayref_get_viewptr {a:vt0p} {n:int} ( A: arrayref (a, n) ) :<> [l:addr] (vbox (array_v (a, l, n)) | ptr l) (* ****** ****** *) // symintr arrayref // fun arrayref_make_arrpsz {a:vt0p}{n:int} (psz: arrpsz (INV(a), n)): arrayref (a, n) = "mac#%" overload arrayref with arrayref_make_arrpsz // (* ****** ****** *) fun{a:t0p} arrayref_make_elt {n:int} (asz: size_t n, x: a): arrayref (a, n) // end of [arrayref_make_elt] (* ****** ****** *) fun{ } arrayref_make_intrange {l,r:int | l <= r} (l: int l, r: int r): arrayref (int, r-l) // end of [arrayref_make_intrange] (* ****** ****** *) fun{a:t0p} arrayref_make_list{n:int} (asz: int n, xs: list (INV(a), n)): arrayref (a, n) // end of [arrayref_make_list] fun{a:t0p} arrayref_make_rlist{n:int} (asz: int n, xs: list (INV(a), n)): arrayref (a, n) // end of [arrayref_make_rlist] (* ****** ****** *) // // HX-2014-02: // [A] must survive [arrayref_tail(A)] // in order to support proper garbage-collection // fun{a:t0p} arrayref_head {n:pos} (A: arrayref (a, n)): (a) // A[0] fun{a:t0p} arrayref_tail {n:pos} (A: arrayref (a, n)): arrayref (a, n-1) // (* ****** ****** *) // fun{ a:t0p}{tk:tk } arrayref_get_at_gint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1int (tk, i) ) : a // end of [arrayref_get_at_gint] // fun{ a:t0p}{tk:tk } arrayref_get_at_guint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1uint (tk, i) ) : a // end of [arrayref_get_at_guint] // symintr arrayref_get_at overload arrayref_get_at with arrayref_get_at_gint of 0 overload arrayref_get_at with arrayref_get_at_guint of 0 // (* ****** ****** *) // fun{ a:t0p}{tk:tk } arrayref_set_at_gint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1int (tk, i), x: a ) : void // end of [arrayref_set_at_gint] // fun{ a:t0p}{tk:tk } arrayref_set_at_guint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1uint (tk, i), x: a ) : void // end of [arrayref_set_at_guint] // symintr arrayref_set_at overload arrayref_set_at with arrayref_set_at_gint of 0 overload arrayref_set_at with arrayref_set_at_guint of 0 // (* ****** ****** *) fun{ a:vt0p}{tk:tk } arrayref_exch_at_gint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1int (tk, i), x: &a >> _ ) : void // end of [arrayref_exch_at_gint] fun{ a:vt0p}{tk:tk } arrayref_exch_at_guint {n:int}{i:nat | i < n} ( A: arrayref (a, n), i: g1uint (tk, i), x: &a >> _ ) : void // end of [arrayref_exch_at_guint] symintr arrayref_exch_at overload arrayref_exch_at with arrayref_exch_at_gint of 0 overload arrayref_exch_at with arrayref_exch_at_guint of 0 (* ****** ****** *) fun{a:vt0p} arrayref_interchange {n:int} (A: arrayref (a, n), i: sizeLt n, j: sizeLt n): void // end of [arrayref_interchange] (* ****** ****** *) fun{a:vt0p} arrayref_subcirculate {n:int} (A: arrayref (a, n), i: sizeLt n, j: sizeLt n): void // end of [arrayref_subcirculate] (* ****** ****** *) (* fun{} fprint_array$sep (out: FILEref): void *) fun{a:vt0p} fprint_arrayref {n:int} ( out: FILEref, A: arrayref (INV(a), n), n: size_t n ) : void // end of [fprint_arrayref] fun{a:vt0p} fprint_arrayref_sep {n:int} ( out: FILEref , A: arrayref (a, n), asz: size_t n, sep: NSH(string) ) : void // end of [fprint_arrayref_sep] (* ****** ****** *) fun{a:t0p} arrayref_copy{n:int} (A: arrayref (a, n), n: size_t (n)): arrayptr (a, n) // end of [arrayref_copy] (* ****** ****** *) // (* fun{a:vt0p} array_tabulate$fopr (index: size_t): (a) *) fun{a:vt0p} arrayref_tabulate {n:int} (asz: size_t n): arrayref (a, n) // fun{a:vt0p} arrayref_tabulate_cloref {n:int} (size_t n, (sizeLt(n)) - a): arrayref (a, n) // (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_foreach$cont (x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_foreach$fwork (x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayref_foreach{n:int} ( A: arrayref (a, n), asz: size_t (n) ) : sizeLte(n) // end of [arrayref_foreach] fun{ a:vt0p}{env:vt0p } arrayref_foreach_env{n:int} ( A: arrayref (a, n), asz: size_t (n), env: &(env)>>env ) : sizeLte(n) // end of [arrayref_foreach_env] (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_iforeach$cont (i: size_t, x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_iforeach$fwork (i: size_t, x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayref_iforeach{n:int} ( A: arrayref (INV(a), n), asz: size_t (n) ) : sizeLte(n) // end of [arrayref_iforeach] fun{ a:vt0p}{env:vt0p } arrayref_iforeach_env{n:int} ( A: arrayref (INV(a), n), asz: size_t (n), env: &(env)>>env ) : sizeLte(n) // end of [arrayref_iforeach_env] (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_rforeach$cont (x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_rforeach$fwork (x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayref_rforeach{n:int} ( A: arrayref (a, n), asz: size_t (n) ) : sizeLte(n) // end of [arrayref_rforeach] fun{ a:vt0p}{env:vt0p } arrayref_rforeach_env{n:int} ( A: arrayref (a, n), asz: size_t (n), env: &(env)>>env ) : sizeLte(n) // end of [arrayref_rforeach_env] (* ****** ****** *) // fun {a:vt0p} arrayref_quicksort {n:int}(A: arrayref(a, n), asz: size_t(n)): void // (* ****** ****** *) // // arrszref: a reference to an array with size information attached // (* ****** ****** *) #if(0) // // HX-2013-06: // it is declared in [basic_dyn.sats] // abstype arrszref_vt0ype_type (a: vt@ype) = ptr stadef arrszref = arrszref_vt0ype_type // #endif (* ****** ****** *) symintr arrszref (* ****** ****** *) fun{} arrszref_make_arrpsz {a:vt0p}{n:int} (arrpsz (INV(a), n)): arrszref(a) // overload arrszref with arrszref_make_arrpsz // (* ****** ****** *) fun{} arrszref_make_arrayref {a:vt0p}{n:int} (A: SHR(arrayref(a, n)), n: size_t n): arrszref (a) // end of [arrszref_make_arrayref] (* ****** ****** *) fun{ } arrszref_get_ref{a:vt0p} (A: arrszref (a)):<> Ptr1 fun{ } arrszref_get_size{a:vt0p} (A: arrszref (a)):<> size_t (* ****** ****** *) fun{} arrszref_get_refsize{a:vt0p} (A: arrszref (a), asz: &size_t? >> size_t n): #[n:nat] arrayref (a, n) // end of [arrszref_get_refsize] (* ****** ****** *) fun{a:t0p} arrszref_make_elt (asz: size_t, x: a): arrszref (a) // end of [arrszref_make_elt] (* ****** ****** *) fun{a:t0p} arrszref_make_list (xs: List (INV(a))): arrszref (a) // end of [arrszref_make_list] fun{a:t0p} arrszref_make_rlist (xs: List (INV(a))): arrszref (a) // end of [arrszref_make_rlist] (* ****** ****** *) (* fun{} fprint_array$sep (out: FILEref): void *) fun{a:vt0p} fprint_arrszref (out: FILEref, A: arrszref (a)): void // end of [fprint_arrszref] fun{a:vt0p} fprint_arrszref_sep ( out: FILEref, A: arrszref (a), sep: NSH(string) ) : void // end of [fprint_arrszref_sep] (* ****** ****** *) // fun{a:t0p} arrszref_get_at_size (A: arrszref (a), i: size_t): a // fun{ a:t0p}{tk:tk } arrszref_get_at_gint (A: arrszref (a), i: g0int (tk)): a // fun{ a:t0p}{tk:tk } arrszref_get_at_guint (A: arrszref (a), i: g0uint (tk)): a // symintr arrszref_get_at overload arrszref_get_at with arrszref_get_at_gint of 0 overload arrszref_get_at with arrszref_get_at_guint of 0 // (* ****** ****** *) // fun{a:t0p} arrszref_set_at_size (A: arrszref (a), i: size_t, x: a): void // fun{ a:t0p}{tk:tk } arrszref_set_at_gint (A: arrszref (a), i: g0int (tk), x: a): void // fun{ a:t0p}{tk:tk } arrszref_set_at_guint (A: arrszref (a), i: g0uint (tk), x: a): void // symintr arrszref_set_at overload arrszref_set_at with arrszref_set_at_gint of 0 overload arrszref_set_at with arrszref_set_at_guint of 0 // (* ****** ****** *) fun{a:vt0p} arrszref_exch_at_size (A: arrszref (a), i: size_t, x: &a >> _): void // end of [arrszref_exch_at_size] fun{ a:vt0p}{tk:tk } arrszref_exch_at_gint (A: arrszref (a), i: g0int (tk), x: &a >> _): void // end of [arrszref_exch_at_gint] fun{ a:vt0p}{tk:tk } arrszref_exch_at_guint (A: arrszref (a), i: g0uint (tk), x: &a >> _): void // end of [arrszref_exch_at_guint] symintr arrszref_exch_at overload arrszref_exch_at with arrszref_exch_at_gint of 0 overload arrszref_exch_at with arrszref_exch_at_guint of 0 (* ****** ****** *) fun{a:vt0p} arrszref_interchange (A: arrszref (a), i: size_t, j: size_t): void // end of [arrszref_interchange] (* ****** ****** *) fun{a:vt0p} arrszref_subcirculate (A: arrszref (a), i: size_t, j: size_t): void // end of [arrszref_subcirculate] (* ****** ****** *) // (* fun{a:vt0p} array_tabulate$fopr (index: size_t): (a) *) fun{a:vt0p} arrszref_tabulate (asz: size_t): arrszref (a) // fun{a:vt0p} arrszref_tabulate_cloref {n:int} (size_t n, (sizeLt(n)) - a): arrszref (a) // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with arrayref_get_at_gint of 0 overload [] with arrayref_get_at_guint of 0 overload [] with arrayref_set_at_gint of 0 overload [] with arrayref_set_at_guint of 0 overload [] with arrszref_get_at_gint of 0 overload [] with arrszref_get_at_guint of 0 overload [] with arrszref_set_at_gint of 0 overload [] with arrszref_set_at_guint of 0 (* ****** ****** *) overload .head with arrayref_head overload .tail with arrayref_tail (* ****** ****** *) overload .size with arrszref_get_size (* ****** ****** *) overload fprint with fprint_arrayref overload fprint with fprint_arrayref_sep overload fprint with fprint_arrszref overload fprint with fprint_arrszref_sep (* ****** ****** *) overload ptrcast with arrayref2ptr (* ****** ****** *) (* end of [arrayref.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/fcontainer.sats0000664000175000017500000001543512655455557020204 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/fcontainer.atxt ** Time of generation: Sat Jun 27 21:39:18 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) (* ** ** HX-2012-02: ** ** The basic idea is to implement "everything" else in terms of ** "foreach" so that they become available for a container-type ** whenever "foreach" is made available for that type, ** *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) fun{x:t0p} foreach$fwork (x: x): void fun{xs:t0p}{x:t0p} foreach (xs: xs): void fun{ xs:t0p}{x:t0p } foreach_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, f: (!v | x, !vt) - void, env: !vt ) : void // end of [foreach_funenv] fun{ xs:t0p}{x:t0p } foreach_fun {fe:eff} (xs: xs, f: (x) - void): void // end of [foreach_fun] fun{ xs:t0p}{x:t0p } foreach_clo {fe:eff} (xs: xs, f: &(x) - void): void // end of [foreach_clo] fun{ xs:t0p}{x:t0p } foreach_vclo {v:view}{fe:eff} (pfv: !v | xs: xs, f: &(!v | x) - void): void // end of [foreach_vclo] fun{ xs:t0p}{x:t0p } foreach_cloptr {fe:eff} (xs: xs, f: !(x) - void): void fun{ xs:t0p}{x:t0p } foreach_vcloptr {v:view}{fe:eff} (pfv: !v | xs: xs, f: !(!v | x) - void): void // end of [foreach_vcloptr] fun{ xs:t0p}{x:t0p } foreach_cloref {fe:eff} (xs: xs, f: (x) - void): void // end of [foreach_cloref] (* ****** ****** *) fun{x:t0p} iforeach$fwork (i: size_t, x: x): void fun{xs:t0p}{x:t0p} iforeach (xs: xs): void fun{ xs:t0p}{x:t0p } iforeach_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, f: (!v | int, x, !vt) - void, env: !vt ) : int // end of [iforeach_funenv] fun{ xs:t0p}{x:t0p } iforeach_clo {fe:eff} (xs: xs, f: &(int, x) - void): int // end of [iforeach_clo] fun{ xs:t0p}{x:t0p } iforeach_vclo {v:view}{fe:eff} (pfv: !v | xs: xs, f: &(!v | int, x) - void): int // end of [iforeach_vclo] fun{ xs:t0p}{x:t0p } iforeach_cloptr {fe:eff} (xs: xs, f: !(int, x) - void): int fun{ xs:t0p}{x:t0p } iforeach_vcloptr {v:view}{fe:eff} (pfv: !v | xs: xs, f: !(!v | int, x) - void): int // end of [iforeach_vcloptr] fun{ xs:t0p}{x:t0p } iforeach_cloref {fe:eff} (xs: xs, f: (int, x) - void): int // end of [iforeach_cloref] (* ****** ****** *) fun{ x:t0p}{res:vt0p } foldleft$fwork (res: res, x: x): res fun{ xs:t0p}{x:t0p}{res:vt0p } foldleft (xs: xs, ini: res): res fun{ xs:t0p}{x:t0p}{res:vt0p } foldleft_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, ini: res , f: (!v | res, x, !vt) - res, env: !vt ) : res // end of [foldleft_funenv] fun{ xs:t0p}{x:t0p}{res:vt0p } foldleft_clo {fe:eff} ( xs: xs, ini: res, f: &(res, x) - res ) : res // end of [foldleft_clo] fun{ xs:t0p}{x:t0p}{res:vt0p } foldleft_vclo {v:view}{fe:eff} ( pfv: !v | xs: xs, ini: res, f: &(!v | res, x) - res ) : res // end of [foldleft_vclo] fun{ xs:t0p}{x:t0p}{res:vt0p } foldleft_cloref {fe:eff} ( xs: xs, ini: res, f: &(res, x) - res ) : res // end of [foldleft_cloref] (* ****** ****** *) fun{ x:t0p}{res:vt0p } foldright$fwork (x: x, res: res): res fun{ xs:t0p}{x:t0p}{res:vt0p } foldright (xs: xs, snk: res): res fun{ xs:t0p}{x:t0p}{res:vt0p } foldright_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, f: (!v | x, res, !vt) - res, snk: res, env: !vt ) : res // end of [foldright_funenv] fun{ xs:t0p}{x:t0p}{res:vt0p } foldright_clo {fe:eff} ( xs: xs, f: &(x, res) - res, snk: res ) : res // end of [foldright_clo] fun{ xs:t0p}{x:t0p}{res:vt0p } foldright_vclo {v:view}{fe:eff} ( pfv: !v | xs: xs, f: &(!v | x, res) - res, snk: res ) : res // end of [foldright_vclo] fun{ xs:t0p}{x:t0p}{res:vt0p } foldright_cloref {fe:eff} ( xs: xs, f: (x, res) - res, snk: res ) : res // end of [foldright_cloref] (* ****** ****** *) fun{x:t0p} exists$pred (x: x): bool fun{xs:t0p}{x:t0p} exists (xs: xs): bool fun{ xs:t0p}{x:t0p } exists_funenv {v:view}{vt:viewtype}{pe:eff} ( pf: !v | xs: xs, p: (!v | x, !vt) - bool, env: !vt ) : bool // end of [exists_funenv] fun{ xs:t0p}{x:t0p } exists_clo {fe:eff} (xs: xs, f: &(x) - void): bool // end of [exists_clo] fun{ xs:t0p}{x:t0p } exists_vclo {v:view}{fe:eff} (pfv: !v | xs: xs, f: &(!v | x) - void): bool // end of [exists_vclo] (* ****** ****** *) fun{x:t0p} forall$pred (x: x): bool fun{xs:t0p}{x:t0p} forall (xs: xs): bool fun{ xs:t0p}{x:t0p } forall_funenv {v:view}{vt:viewtype}{pe:eff} ( pf: !v | xs: xs, p: (!v | x, !vt) - bool, env: !vt ) : bool // end of [forall_funenv] (* ****** ****** *) fun{ xs:t0p}{x:t0p } ismember_fun {fe:eff} (xs: xs, x0: x, eq: (x, x) - void): bool // end of [ismember_fun] (* ****** ****** *) fun{ xs:t0p}{x:t0p } listize (xs: xs):<> List0_vt (x) fun{ xs:t0p}{x:t0p}{y:vt0p } listize_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, f: (!v | x, !vt) - y, env: !vt ) : List0_vt (y) (* ****** ****** *) fun{ xs:t0p}{x:t0p } rlistize (xs: xs):<> List0_vt (x) fun{ xs:t0p}{x:t0p}{y:vt0p } rlistize_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: xs, f: (!v | x, !vt) - y, env: !vt ) : List0_vt (y) (* ****** ****** *) fun{ xs:t0p}{x:t0p } streamize (xs: xs):<> stream (x) fun{ xs:t0p}{x:t0p } streamize_vt (xs: xs):<> stream_vt (x) (* ****** ****** *) (* end of [fcontainer.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/gprint.sats0000664000175000017500000000577212655455557017362 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/gprint.atxt ** Time of generation: Mon Aug 24 02:56:40 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2012 *) (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) fun{} gprint$out(): FILEref (* ****** ****** *) fun{} gprint_newline(): void (* ****** ****** *) fun{a:t0p} gprint_val (x: a): void fun{a:vt0p} gprint_ref (x: &INV(a)): void (* ****** ****** *) fun{} gprint_int (x: int): void fun{} gprint_char (x: char): void fun{} gprint_float (x: float): void fun{} gprint_double (x: double): void fun{} gprint_string (x: string): void (* ****** ****** *) fun{} gprint_list$beg(): void fun{} gprint_list$end(): void fun{} gprint_list$sep(): void // fun{a:t0p} gprint_list (xs: List(a)): void (* ****** ****** *) fun{} gprint_listlist$beg1(): void fun{} gprint_listlist$end1(): void fun{} gprint_listlist$sep1(): void // fun{} gprint_listlist$beg2(): void fun{} gprint_listlist$end2(): void fun{} gprint_listlist$sep2(): void // fun{a:t0p} gprint_listlist (xss: List(List(a))): void (* ****** ****** *) // fun{} gprint_array$beg(): void fun{} gprint_array$end(): void fun{} gprint_array$sep(): void // fun{a:t0p} gprint_array {n:int} (A: &(@[INV(a)][n]), n: size_t(n)): void // end of [gprint_array] fun{a:t0p} gprint_arrayptr {n:int} (A: !arrayptr(INV(a), n), n: size_t(n)): void // end of [gprint_arrayptr] fun{a:t0p} gprint_arrayref {n:int}(A: arrayref(a, n), n: size_t(n)): void // end of [gprint_arrayref] // fun{a:t0p} gprint_arrszref(ASZ: arrszref(a)): void // (* ****** ****** *) (* end of [gprint.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/pointer.sats0000664000175000017500000003104612655455557017530 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/pointer.atxt ** Time of generation: Sat Jun 27 21:39:00 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2012 *) (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) // sortdef t0p = t@ype and vt0p = viewt@ype // (* ****** ****** *) stadef ptrknd = ptr_kind (* ****** ****** *) absprop is_word_aligned_p (l:addr) (* ****** ****** *) // castfn g0ofg1_ptr (p: Ptr):<> ptr castfn g1ofg0_ptr (p: ptr):<> Ptr0 // overload g0ofg1 with g0ofg1_ptr overload g1ofg0 with g1ofg0_ptr // (* ****** ****** *) // prfun lemma_ptr_param {l:addr} (p: ptr l): [l >= null] void // (* ****** ****** *) prfun ptr_get_index {l1:addr} (p: ptr l1): [l2:addr] EQADDR(l1, l2) // end of [ptr_get_index] (* ****** ****** *) // symintr ptr_is_null symintr ptr_isnot_null // (* ****** ****** *) // symintr add_ptr_bsz symintr sub_ptr_bsz // // add_ptr_bsz (p, ofs) = p + ofs // sub_ptr_bsz (p, ofs) = p - ofs // (* ****** ****** *) // symintr ptr_succ symintr ptr_pred // // ptr_succ(p) = p + sizeof // ptr_pred(p) = p - sizeof // (* ****** ****** *) // symintr ptr_add ptr_sub // // ptr_add (p, ofs) = p + ofs*sizeof // ptr_sub (p, ofs) = p - ofs*sizeof // (* ****** ****** *) fun ptr0_is_null (p: ptr):<> bool = "mac#%" overload ptr_is_null with ptr0_is_null of 0 fun ptr0_isnot_null (p: ptr):<> bool = "mac#%" overload ptr_isnot_null with ptr0_isnot_null of 0 (* ****** ****** *) // fun add_ptr0_bsz (p: ptr, ofs: size_t):<> ptr = "mac#%" fun sub_ptr0_bsz (p: ptr, ofs: size_t):<> ptr = "mac#%" // overload add_ptr_bsz with add_ptr0_bsz of 0 overload sub_ptr_bsz with sub_ptr0_bsz of 0 // (* ****** ****** *) fun sub_ptr0_ptr0 (p1: ptr, p2: ptr):<> ssize_t = "mac#%" overload - with sub_ptr0_ptr0 of 0 (* ****** ****** *) // fun{a:vt0p} ptr0_succ (p: ptr):<> ptr fun{a:vt0p} ptr0_pred (p: ptr):<> ptr // overload ptr_succ with ptr0_succ of 0 overload ptr_pred with ptr0_pred of 0 // (* ****** ****** *) // fun{ a:vt0p}{tk:tk } ptr0_add_gint (p: ptr, ofs: g0int (tk)):<> ptr fun{ a:vt0p}{tk:tk } ptr0_add_guint (p: ptr, ofs: g0uint (tk)):<> ptr // overload ptr_add with ptr0_add_gint of 0 overload ptr_add with ptr0_add_guint of 0 // fun{ a:vt0p}{tk:tk } ptr0_sub_gint (p: ptr, ofs: g0int (tk)):<> ptr fun{ a:vt0p}{tk:tk } ptr0_sub_guint (p: ptr, ofs: g0uint (tk)):<> ptr // overload ptr_sub with ptr0_sub_gint of 0 overload ptr_sub with ptr0_sub_guint of 0 // (* ****** ****** *) fun lt_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload < with lt_ptr0_ptr0 of 0 fun lte_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload <= with lte_ptr0_ptr0 of 0 fun gt_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload > with gt_ptr0_ptr0 of 0 fun gte_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload >= with gte_ptr0_ptr0 of 0 fun eq_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload = with eq_ptr0_ptr0 of 0 fun neq_ptr0_ptr0 (p1: ptr, p2: ptr):<> bool = "mac#%" overload != with neq_ptr0_ptr0 of 0 overload <> with neq_ptr0_ptr0 of 0 fun compare_ptr0_ptr0 (p1: ptr, p2: ptr):<> int = "mac#%" overload compare with compare_ptr0_ptr0 of 0 (* ****** ****** *) fun gt_ptr0_intz (p: ptr, i: int(0)):<> bool = "mac#%" overload > with gt_ptr0_intz of 0 fun eq_ptr0_intz (p: ptr, i: int(0)):<> bool = "mac#%" overload = with eq_ptr0_intz of 0 fun neq_ptr0_intz (p: ptr, i: int(0)):<> bool = "mac#%" overload != with neq_ptr0_intz of 0 overload <> with neq_ptr0_intz of 0 (* ****** ****** *) (* fun{a:vt0p} ptr0_add_int (p: ptr, i: int): ptr fun{a:vt0p} ptr0_add_lint (p: ptr, i: lint): ptr fun{a:vt0p} ptr0_add_ssize (p: ptr, i: ssize): ptr fun{a:vt0p} ptr0_add_uint (p: ptr, u: uint): ptr fun{a:vt0p} ptr0_add_ulint (p: ptr, u: ulint): ptr fun{a:vt0p} ptr0_add_size (p: ptr, u: size): ptr *) (* fun{a:vt0p} ptr0_sub_int (p: ptr, i: int): ptr fun{a:vt0p} ptr0_sub_lint (p: ptr, i: lint): ptr fun{a:vt0p} ptr0_sub_ssize (p: ptr, i: ssize): ptr fun{a:vt0p} ptr0_sub_uint (p: ptr, u: uint): ptr fun{a:vt0p} ptr0_sub_ulint (p: ptr, u: ulint): ptr fun{a:vt0p} ptr0_sub_size (p: ptr, u: size): ptr *) (* ****** ****** *) // fun print_ptr (p: ptr): void = "mac#%" fun prerr_ptr (p: ptr): void = "mac#%" fun fprint_ptr : fprint_type (ptr) = "mac#%" // overload print with print_ptr overload prerr with prerr_ptr overload fprint with fprint_ptr // (* ****** ****** *) // praxi ptr1_is_gtez {l:addr}(p: ptr l): [l >= null] void // (* ****** ****** *) // fun ptr1_is_null {l:addr}(p: ptr l):<> bool (l==null) = "mac#%" fun ptr1_isnot_null {l:addr}(p: ptr l):<> bool (l > null) = "mac#%" // overload ptr_is_null with ptr1_is_null of 10 overload ptr_isnot_null with ptr1_isnot_null of 10 // (* ****** ****** *) // fun add_ptr1_bsz{l:addr}{i:int} (p: ptr l, ofs: size_t (i)):<> ptr (l+i) = "mac#%" fun sub_ptr1_bsz{l:addr}{i:int} (p: ptr l, ofs: size_t (i)):<> ptr (l-i) = "mac#%" // overload add_ptr_bsz with add_ptr1_bsz of 20 overload sub_ptr_bsz with sub_ptr1_bsz of 20 // (* ****** ****** *) // fun sub_ptr1_ptr1{l1,l2:addr} (p1: ptr l1, p2: ptr l2):<> ssize_t (l1-l2) = "mac#%" // overload - with sub_ptr1_ptr1 of 20 // (* ****** ****** *) // fun{ a:vt0p } ptr1_succ{l:addr} (p: ptr l):<> ptr (l+sizeof(a)) fun{ a:vt0p } ptr1_pred{l:addr} (p: ptr l):<> ptr (l-sizeof(a)) // overload ptr_succ with ptr1_succ of 10 overload ptr_pred with ptr1_pred of 10 // (* ****** ****** *) // fun{ a:vt0p}{tk:tk } ptr1_add_gint {l:addr}{i:int} (p: ptr l, ofs: g1int (tk, i)):<> ptr(l+i*sizeof(a)) fun{ a:vt0p}{tk:tk } ptr1_add_guint {l:addr}{i:int} (p: ptr l, ofs: g1uint (tk, i)):<> ptr(l+i*sizeof(a)) // overload ptr_add with ptr1_add_gint of 20 overload ptr_add with ptr1_add_guint of 20 // (* ****** ****** *) // fun{ a:vt0p}{tk:tk } ptr1_sub_gint {l:addr}{i:int} (p: ptr l, ofs: g1int (tk, i)):<> ptr(l-i*sizeof(a)) fun{ a:vt0p}{tk:tk } ptr1_sub_guint {l:addr}{i:int} (p: ptr l, ofs: g1uint (tk, i)):<> ptr(l-i*sizeof(a)) // overload ptr_sub with ptr1_sub_gint of 20 overload ptr_sub with ptr1_sub_guint of 20 // (* ****** ****** *) fun lt_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 < l2) = "mac#%" overload < with lt_ptr1_ptr1 of 20 fun lte_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 <= l2) = "mac#%" overload <= with lte_ptr1_ptr1 of 20 fun gt_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 > l2) = "mac#%" overload > with gt_ptr1_ptr1 of 20 fun gte_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 >= l2) = "mac#%" overload >= with gte_ptr1_ptr1 of 20 fun eq_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 == l2) = "mac#%" overload = with eq_ptr1_ptr1 of 20 fun neq_ptr1_ptr1 {l1,l2:addr} ( p1: ptr (l1), p2: ptr (l2) ) :<> bool (l1 != l2) = "mac#%" overload != with neq_ptr1_ptr1 of 20 overload <> with neq_ptr1_ptr1 of 20 fun compare_ptr1_ptr1 {l1,l2:addr} (p1: ptr l1, p2: ptr l2) :<> int = "mac#%" overload compare with compare_ptr1_ptr1 of 20 (* ****** ****** *) fun gt_ptr1_intz {l:addr} (p: ptr l, i: int(0)):<> bool(l > null) = "mac#%" overload > with gt_ptr1_intz of 10 fun eq_ptr1_intz {l:addr} (p: ptr l, i: int(0)):<> bool(l == null) = "mac#%" overload = with eq_ptr1_intz of 10 fun neq_ptr1_intz {l:addr} (p: ptr l, i: int(0)):<> bool(l > null) = "mac#%" overload != with neq_ptr1_intz of 10 overload <> with neq_ptr1_intz of 10 (* ****** ****** *) // // HX: implemented in [prelude/DATS/pointer.dats] // fun{a:vt0p} ptr_get{l:addr} (pf: !INV(a) @ l >> a?! @ l | p: ptr l):<> a // end of [ptr_get] fun{a:vt0p} ptr_set{l:addr} (pf: !a? @ l >> a @ l | p: ptr l, x: INV(a)): void // end of [ptr_set] fun{a:vt0p} ptr_exch{l:addr} (pf: !INV(a) @ l | p: ptr l, x: &a >> a): void // end of [ptr_exch] (* ****** ****** *) // abstype cptr_vt0ype_addr_type (a:vt@ype+, addr) = ptr // HX: for simulating C pointers // stadef cptr = cptr_vt0ype_addr_type stadef cPtr0 (a:vt0p) = [l:addr] cptr (a, l) stadef cPtr1 (a:vt0p) = [l:addr | l > null] cptr (a, l) // castfn cptr2ptr{a:vt0p}{l:addr} (p: cptr (a, l)):<> ptr (l) // (* ****** ****** *) // fun cptr_null{a:vt0p} ():<> cptr (a, null) = "mac#%" // castfn cptr_rvar{a:vt0p} (x: &INV(a)):<> cPtr1 (a) // read castfn cptr_wvar{a:vt0p} (x: &a? >> a):<> cPtr1 (a) // write // (* ****** ****** *) // fun cptr_succ {a:vt0p}{l:addr} (p: cptr (a, l)):<> cptr (a, l+sizeof(a)) fun cptr_pred {a:vt0p}{l:addr} (p: cptr (a, l)):<> cptr (a, l-sizeof(a)) // (* ****** ****** *) // fun cptr_is_null {a:vt0p}{l:addr} (p: cptr (a, l)):<> bool (l==null) = "mac#%" fun cptr_isnot_null {a:vt0p}{l:addr} (p: cptr (a, l)):<> bool (l > null) = "mac#%" // (* ****** ****** *) typedef voidptr (l:addr) = cptr (void, l) typedef voidptr0 = [l:addr] voidptr (l) typedef voidptr1 = [l:addr | l > null] voidptr (l) typedef charptr (l:addr) = cptr (char, l) typedef charptr0 = [l:addr] charptr (l) typedef charptr1 = [l:addr | l > null] charptr (l) typedef constcharptr (l:addr) = charptr (l) // HX: commenting typedef constcharptr0 = charptr0 // HX: for commenting purpose typedef constcharptr1 = charptr1 // HX: for commenting purpose (* ****** ****** *) // absprop is_nullable (a: vt@ype+) // covariant // fun{a:vt0p} ptr_nullize (pf: is_nullable (a) | x: &a? >> a): void fun ptr_nullize_tsz {a:vt0p} ( pf: is_nullable (a) | x: &a? >> a, tsz: sizeof_t (a) ) : void = "mac#%" // end of [ptr_nullize_tsz] // (* ****** ****** *) fun{ a:vt0p } ptr_alloc () :<> [l:agz] (a? @ l, mfree_gc_v (l) | ptr l) // end of [ptr_alloc] fun ptr_alloc_tsz {a:vt0p} (tsz: sizeof_t a) :<> [l:agz] (a? @ l, mfree_gc_v (l) | ptr l) = "mac#%" // end of [ptr_alloc_tsz] fun ptr_free {a:t@ype}{l:addr} (pfgc: mfree_gc_v (l), pfat: a @ l | p: ptr l):<> void = "mac#%" // end of [ptr_free] (* ****** ****** *) // absvtype ptrlin (l:addr) = ptr // praxi ptrlin_free{l:addr} (p: ptrlin (l)): void // castfn ptr2ptrlin{l:addr} (p: ptr l):<> ptrlin (l) castfn ptrlin2ptr{l:addr} (p: ptrlin l):<> ptr (l) // (* ****** ****** *) // // HX-2015-03-24: // singleton linear arrayptr // absvtype aptr_vt0ype_addr_type (a:vt@ype+, addr) = ptr // HX: for safe ATS pointers // stadef aptr = aptr_vt0ype_addr_type stadef aPtr0 (a:vt0p) = [l:addr] aptr (a, l) stadef aPtr1 (a:vt0p) = [l:addr | l > null] aptr (a, l) // castfn aptr2ptr{a:vt0p}{l:addr} (ap: !aptr (a, l)):<> ptr (l) // (* ****** ****** *) // fun {a:vt0p} aptr_make_elt(x: a): aPtr1(a) fun {a:vt0p} aptr_getfree_elt{l:agz}(aptr(a, l)): (a) // fun {a:t0p} aptr_get_elt{l:agz}(ap: !aptr(INV(a), l)): a fun {a:t0p} aptr_set_elt{l:agz}(ap: !aptr(INV(a), l) >> _, x: a): void fun {a:t0p} aptr_exch_elt{l:agz}(ap: !aptr(INV(a), l) >> _, x: &(a)>>_): void // overload [] with aptr_get_elt overload [] with aptr_set_elt // (* ****** ****** *) // // HX-2014-05-16: // A hack to stop buggy compilation // fun ptr_as_volatile (p: ptr): void // (* ****** ****** *) // // overloading for certain symbols // overload succ with ptr0_succ overload succ with ptr1_succ overload succ with cptr_succ // overload pred with ptr0_pred overload pred with ptr1_pred overload pred with cptr_pred // overload iseqz with ptr0_is_null of 0 overload isneqz with ptr0_isnot_null of 0 // overload iseqz with ptr1_is_null of 10 overload isneqz with ptr1_isnot_null of 10 // overload iseqz with cptr_is_null of 10 overload isneqz with cptr_isnot_null of 10 // (* ****** ****** *) (* end of [pointer.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/array.sats0000664000175000017500000003427012655455557017170 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/array.atxt ** Time of generation: Fri Oct 23 21:36:28 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef t0p = t@ype sortdef vtp = viewtype sortdef vt0p = viewt@ype (* ****** ****** *) (* // // HX: [array_v] can also be defined as follows: // dataview array_v ( a:vt@ype+, addr, int ) = // HX: for arry view | {l:addr} array_v_nil (a, l, 0) | {l:addr}{n:int} array_v_cons (a, l, n+1) of (a @ l, array_v (a, l+sizeof a, n)) // end of [array_v] *) (* ****** ****** *) dataview arrayopt_v ( a:vt@ype+, addr, int, bool ) = // HX: for optional array view | {l:addr}{n:int} arrayopt_v_some (a, l, n, true) of array_v (a, l, n) | {l:addr}{n:int} arrayopt_v_none (a, l, n, false) of array_v (a?, l, n) // end of [arrayopt_v] (* ****** ****** *) exception ArraySubscriptExn of () (* fun ArraySubscriptExn ():<> exn = "mac#%ArraySubscriptExn_make" fun isArraySubscriptExn (x: !exn):<> bool = "mac#%isArraySubscriptExn" macdef ifArraySubscriptExn {tres}(exn, body) = ( let val x = ,(exn) in ( if isArraySubscriptExn(x) then let prval () = __vfree_exn (x) in ,(body) end else $raise (x) ) : tres // end of [if] end (* end of [let] *) ) // end of [ifArraySubscriptExn] *) (* ****** ****** *) praxi lemma_array_param{a:vt0p} {l:addr}{n:int} (A: &(@[INV(a)][n])): [n >= 0] void // end of [lemma_array_param] praxi lemma_array_v_param{a:vt0p} {l:addr}{n:int} (pf: !array_v (INV(a), l, n)): [n >= 0] void // end of [lemma_array_v_param] (* ****** ****** *) praxi array_v_nil : {a:vt0p}{l:addr} () - array_v (a, l, 0) praxi array_v_unnil : {a:vt0p}{l:addr} array_v (a, l, 0) - void prfun array_v_unnil_nil : {a1,a2:vt0p}{l:addr} array_v (a1, l, 0) - array_v (a2, l, 0) // end of [array_v_unnil_nil] (* ****** ****** *) praxi array_v_cons : {a:vt0p}{l:addr}{n:int} (a @ l, array_v (INV(a), l+sizeof(a), n)) - array_v (a, l, n+1) praxi array_v_uncons : {a:vt0p}{l:addr}{n:int | n > 0} array_v (INV(a), l, n) - (a @ l, array_v (a, l+sizeof(a), n-1)) (* ****** ****** *) prfun array_v_sing {a:vt0p}{l:addr} (pf: INV(a) @ l): array_v (a, l, 1) prfun array_v_unsing {a:vt0p}{l:addr} (pf: array_v (INV(a), l, 1)): a @ l (* ****** ****** *) // fun{a:vt0p} array_getref_at {n:int} (A: &RD(@[INV(a)][n]), i: sizeLt n):<> cPtr1(a) // (* ****** ****** *) fun{ a:t0p}{tk:tk } array_get_at_gint {n:int} (A: &RD(@[INV(a)][n]), i: g1intLt (tk, n)):<> a overload [] with array_get_at_gint of 0 fun{ a:t0p}{tk:tk } array_get_at_guint {n:int} (A: &RD(@[INV(a)][n]), i: g1uintLt (tk, n)):<> a overload [] with array_get_at_guint of 0 symintr array_get_at overload array_get_at with array_get_at_gint of 0 overload array_get_at with array_get_at_guint of 0 (* ****** ****** *) fun{ a:t0p}{tk:tk } array_set_at_gint {n:int} (A: &(@[INV(a)][n]), i: g1intLt (tk, n), x: a): void overload [] with array_set_at_gint of 0 fun{ a:t0p}{tk:tk } array_set_at_guint {n:int} (A: &(@[INV(a)][n]), i: g1uintLt (tk, n), x: a): void overload [] with array_set_at_guint of 0 symintr array_set_at overload array_set_at with array_set_at_gint of 0 overload array_set_at with array_set_at_guint of 0 (* ****** ****** *) fun{ a:vt0p}{tk:tk } array_exch_at_gint{n:int} ( A: &(@[INV(a)][n]), i: g1intLt (tk, n), x: &a >> _ ) : void fun{ a:vt0p}{tk:tk } array_exch_at_guint{n:int} ( A: &(@[INV(a)][n]), i: g1uintLt (tk, n), x: &a >> _ ) : void symintr array_exch_at overload array_exch_at with array_exch_at_gint of 0 overload array_exch_at with array_exch_at_guint of 0 (* ****** ****** *) fun{a:vt0p} array_subreverse {n:int} {i,j:int | 0 <= i; i <= j; j <= n} ( A: &(@[INV(a)][n]), i: size_t (i), j: size_t (j) ) : void // end of [array_subreverse] (* ****** ****** *) fun{a:vt0p} array_interchange{n:int} ( A: &(@[INV(a)][n]), i: sizeLt (n), j: sizeLt (n) ) : void // end of [array_interchange] (* ****** ****** *) fun{a:vt0p} array_subcirculate{n:int} ( A: &(@[INV(a)][n]), i: sizeLt (n), j: sizeLt (n) ) : void // end of [array_subcirculate] (* ****** ****** *) fun{a:vt0p} array_ptr_takeout {l:addr}{n:int}{i:nat | i < n} ( array_v (INV(a), l, n) | ptr l, size_t i ) : ( a @ (l+i*sizeof(a)) , a @ (l+i*sizeof(a)) - array_v (a, l, n) | ptr (l+i*sizeof(a)) ) // end of [array_ptr_takeout] (* ****** ****** *) fun{a:vt0p} array_ptr_alloc {n:int} ( asz: size_t n ) : [l:agz] ( array_v (a?, l, n), mfree_gc_v (l) | ptr l ) // end of [array_ptr_alloc] fun{} array_ptr_free {a:vt0p}{l:addr}{n:int} ( array_v (a?, l, n), mfree_gc_v (l) | ptr l ) : void // end of [array_ptr_free] (* ****** ****** *) // fun{} fprint_array$sep (out: FILEref): void // fun{a:vt0p} fprint_array_int{n:int} ( out: FILEref, A: &RD(@[INV(a)][n]), n: int(n) ) : void // end of [fprint_array_int] fun{a:vt0p} fprint_array_size{n:int} ( out: FILEref, A: &RD(@[INV(a)][n]), n: size_t(n) ) : void // end of [fprint_array_size] // symintr fprint_array overload fprint_array with fprint_array_int overload fprint_array with fprint_array_size // fun{a:vt0p} fprint_array_sep{n:int} ( out: FILEref , A: &RD(@[INV(a)][n]), n: size_t n, sep: NSH(string) ) : void // end of [fprint_array_sep] // (* ****** ****** *) overload fprint with fprint_array overload fprint with fprint_array_sep (* ****** ****** *) fun{a:vt0p} array_copy{n:int} ( to: &(@[a?][n]) >> @[a][n] , from: &RD(@[INV(a)][n]) >> @[a?!][n] , n: size_t (n) ) : void // end of [array_copy] (* ****** ****** *) fun{a:t0p} array_copy_from_list{n:int} ( A: &(@[a?][n]) >> @[a][n], xs: list (INV(a), n) ) : void // end of [array_copy_from_list] fun{a:vt0p} array_copy_from_list_vt{n:int} ( A: &(@[a?][n]) >> @[a][n], xs: list_vt (INV(a), n) ) : void // end of [array_copy_from_list_vt] (* ****** ****** *) fun{a:vt0p} array_copy_to_list_vt{n:int} ( A: &RD(@[INV(a)][n]) >> @[a?!][n], n: size_t n ) : list_vt (a, n) // endfun macdef array2list = array_copy_to_list_vt (* ****** ****** *) fun{a:vt0p} array_tabulate$fopr (i: size_t): (a) fun{a:vt0p} array_ptr_tabulate {n:int} (asz: size_t n) : [l:addr] (array_v (a, l, n), mfree_gc_v (l) | ptr l) // end of [arrayptr_tabulate] (* ****** ****** *) // fun{ a:vt0p } array_foreach{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n ) : sizeLte (n) // end of [array_foreach] // fun{ a:vt0p}{env:vt0p } array_foreach_env{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n, env: &(env) >> _ ) : sizeLte (n) // end of [array_foreach_env] // fun{ a:vt0p}{env:vt0p } array_foreach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } array_foreach$fwork (x: &a >> _, env: &(env) >> _): void // (* ****** ****** *) // fun{a:vt0p} array_foreach_funenv {v:view} {vt:vtype} {n:int} {fe:eff} ( pfv: !v | A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t n , f: (!v | &a >> _, !vt) - void , env: !vt ) : void // end of [array_foreach_funenv] // fun array_foreach_funenv_tsz {a:vt0p} {v:view} {vt:vtype} {n:int} {fe:eff} ( pfv: !v | A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t(n), tsz: sizeof_t(a) , f: (!v | &a >> _, !vt) - void , env: !vt ) : void = "ext#%" // end of [array_foreach_funenv_tsz] // (* ****** ****** *) // fun{a:vt0p} array_foreach_fun {n:int}{fe:eff} ( &(@[INV(a)][n]) >> @[a][n] , size_t (n), (&a >> _) - void ) : void // end of [array_foreach_fun] fun{a:vt0p} array_foreach_clo {n:int}{fe:eff} ( A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t (n), f: &(&a >> _) - void ) : void // end of [array_foreach_clo] fun{a:vt0p} array_foreach_cloptr {n:int}{fe:eff} ( A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t n, f: (&a >> _) - void ) : void // end of [array_foreach_cloptr] fun{a:vt0p} array_foreach_cloref {n:int}{fe:eff} ( A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t(n), f: (&a >> _) - void ) : void // end of [array_foreach_cloref] // (* ****** ****** *) // fun{a:vt0p} array_foreach_vclo {v:view}{n:int}{fe:eff} ( pfv: !v | A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t n, f: &(!v | &a >> _) - void ) : void // end of [array_foreach_vclo] fun{a:vt0p} array_foreach_vcloptr {v:view}{n:int}{fe:eff} ( pfv: !v | A: &(@[INV(a)][n]) >> @[a][n] , asz: size_t(n), f: !(!v | &a >> _) - void ) : void // end of [array_foreach_vcloptr] // (* ****** ****** *) fun{ a1,a2:vt0p } array_foreach2 {n:int} ( A1: &(@[INV(a1)][n]) >> @[a1][n] , A2: &(@[INV(a2)][n]) >> @[a2][n] , asz: size_t (n) ) : sizeLte (n) // end of [array_foreach2] // fun{ a1,a2:vt0p}{env:vt0p } array_foreach2_env {n:int} ( A1: &(@[INV(a1)][n]) >> @[a1][n] , A2: &(@[INV(a2)][n]) >> @[a2][n] , asz:size_t (n) , env: &(env) >> env ) : sizeLte (n) // end of [array_foreach2_env] // fun{ a1,a2:vt0p}{env:vt0p } array_foreach2$cont (x1: &a1, x2: &a2, env: &env): bool fun{ a1,a2:vt0p}{env:vt0p } array_foreach2$fwork (x1: &a1 >> _, x2: &a2 >> _, env: &(env) >> _): void // (* ****** ****** *) fun{ a:vt0p } array_iforeach{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n ) : sizeLte (n) // end of [array_iforeach] // fun{ a:vt0p}{env:vt0p } array_iforeach_env{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n, env: &(env) >> _ ) : sizeLte (n) // end of [array_iforeach_env] // fun{ a:vt0p}{env:vt0p } array_iforeach$cont (i: size_t, x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } array_iforeach$fwork (i: size_t, x: &a >> _, env: &(env) >> _): void // (* ****** ****** *) fun{ a:vt0p } array_rforeach{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n ) : sizeLte (n) // end of [array_rforeach] // fun{ a:vt0p}{env:vt0p } array_rforeach_env{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], asz: size_t n, env: &(env) >> _ ) : sizeLte (n) // end of [array_rforeach_env] // fun{ a:vt0p}{env:vt0p } array_rforeach$cont (x: &a, env: &env): bool fun{ a:vt0p}{env:vt0p } array_rforeach$fwork (x: &a >> _, env: &(env) >> _): void // (* ****** ****** *) // fun{a:vt0p} array_initize{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: size_t n ) : void // end of [array_initize] // fun{a:vt0p} array_initize$init (i: size_t, x: &a? >> a): void // (* ****** ****** *) fun{a:t0p} array_initize_elt{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: size_t n, elt: a ) : void // end of [array_initize_elt] (* ****** ****** *) fun{a:t0p} array_initize_list{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: int n, xs: list (INV(a), n) ) : void // end of [array_initize_list] fun{a:t0p} array_initize_rlist{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: int n, xs: list (INV(a), n) ) : void // end of [array_initize_rlist] (* ****** ****** *) fun{a:vt0p} array_initize_list_vt{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: int n, xs: list_vt (INV(a), n) ) : void // end of [array_initize_list_vt] fun{a:vt0p} array_initize_rlist_vt{n:int} ( A: &(@[a?][n]) >> @[a][n], asz: int n, xs: list_vt (INV(a), n) ) : void // end of [array_initize_rlist_vt] (* ****** ****** *) // fun{a:vt0p} array_uninitize{n:int} ( A: &(@[INV(a)][n]) >> @[a?][n], asz: size_t n ) : void // end of [array_uninitize] // fun{a:vt0p} array_uninitize$clear (i: size_t, x: &a >> a?): void // (* ****** ****** *) // fun{a:vt0p} array_bsearch {n:int} (A: &RD(@[a][n]), n: size_t (n)):<> sizeLte (n) // fun{a:vt0p} array_bsearch$ford (x: &RD(a)):<> int // fun{a:vt0p} array_bsearch_fun{n:int} ( A: &RD(@[a][n]), asz: size_t (n), key: &RD(a), cmp: cmpref (a) ) :<> sizeLte (n) // end of [array_bsearch_fun] // (* ****** ****** *) (* ** HX: this one is based on [bsearch] in [stdlib] *) fun{a:vt0p} array_bsearch_stdlib{n:int} ( A: &RD(@[a][n]), asz: size_t (n), key: &RD(a), cmp: cmpref (a) ) :<> Ptr0 (* found/~found : ~null/null *) (* ****** ****** *) // fun{a:vt0p} array_quicksort{n:int} (A: &(@[INV(a)][n]) >> @[a][n], n: size_t n): void fun{a:vt0p} array_quicksort$cmp (x1: &RD(a), x2: &RD(a)):<> int(*sgn*) // (* ****** ****** *) (* ** HX: this one is based on [qsort] in [stdlib] *) fun{a:vt0p} array_quicksort_stdlib{n:int} ( A: &(@[INV(a)][n]) >> @[a][n], n: size_t n, cmp: cmpref (a) ) : void // end of [array_quicksort_stdlib] (* ****** ****** *) // fun{ a:vt0p}{b:vt0p } array_mapto{n:int} ( A: &array(INV(a), n) , B: &array(b?, n) >> array (b, n) , n: size_t (n) ) : void // end of [array_mapto] // fun{ a:vt0p}{b:vt0p } array_mapto$fwork (x: &a, y: &b? >> b) : void // (* ****** ****** *) // fun{ a,b:vt0p}{c:vt0p } array_map2to{n:int} ( A: &array(INV(a), n) , B: &array(INV(b), n) , C: &array(c?, n) >> array (c, n) , n: size_t (n) ) : void // end of [array_map2to] // fun{ a,b:vt0p}{c:vt0p } array_map2to$fwork (x: &a, y: &b, z: &c? >> c) : void // (* ****** ****** *) // fun{a:vt0p} array_permute{n:int} (A: &(@[INV(a)][n]) >> @[a][n], n: size_t n): void // fun{} array_permute$randint {n:int | n > 0} (size_t n): sizeLt (n) // (* ****** ****** *) (* end of [array.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/list.sats0000664000175000017500000004523012655455557017023 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/list.atxt ** Time of generation: Fri Sep 25 23:06:23 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) #if(0) // // HX: these decls are available in [basic_dyn.sats] // datatype // t@ype+: covariant list_t0ype_int_type (a:t@ype+, int) = | {n:int | n >= 0} list_cons (a, n+1) of (a, list_t0ype_int_type (a, n)) | list_nil (a, 0) of ((*void*)) // end of [list_t0ype_int_type] // stadef list = list_t0ype_int_type typedef List (a:t0p) = [n:int] list (a, n) typedef List0 (a:t0p) = [n:int | n >= 0] list (a, n) typedef List1 (a:t0p) = [n:int | n >= 1] list (a, n) typedef listLt (a:t0p, n:int) = [k:nat | k < n] list (a, k) typedef listLte (a:t0p, n:int) = [k:nat | k <= n] list (a, k) typedef listGt (a:t0p, n:int) = [k:int | k > n] list (a, k) typedef listGte (a:t0p, n:int) = [k:int | k >= n] list (a, k) typedef listBtw (a:t0p, m:int, n:int) = [k:int | m <= k; k < n] list (a, k) typedef listBtwe (a:t0p, m:int, n:int) = [k:int | m <= k; k <= n] list (a, k) // #endif (* ****** ****** *) #define nil list_nil #define cons list_cons (* ****** ****** *) exception ListSubscriptExn of () (* fun ListSubscriptExn ():<> exn = "mac#%ListSubscriptExn_make" fun isListSubscriptExn (x: !exn):<> bool = "mac#%isListSubscriptExn" macdef ifListSubscriptExn {tres}(exn, body) = ( let val x = ,(exn) in ( if isListSubscriptExn(x) then let prval () = __vfree_exn (x) in ,(body) end else $raise (x) ) : tres // end of [if] end (* end of [let] *) ) // end of [ifListSubscriptExn] *) (* ****** ****** *) prfun lemma_list_param {x:t0p}{n:int} (xs: list (INV(x), n)): [n >= 0] void // end of [lemma_list_param] (* ****** ****** *) castfn list_cast {x:t0p}{n:int} (xs: list (INV(x), n)):<> list (x, n) // end of [list_cast] (* ****** ****** *) // castfn list_vt2t {x:t0p}{n:int} (xs: list_vt (INV(x), n)):<> list (x, n) castfn list_of_list_vt {x:t0p}{n:int} (xs: list_vt (INV(x), n)): list (x, n) // (* ****** ****** *) #define list_sing(x) list_cons(x, list_nil()) #define list_pair(x1, x2) list_cons(x1, list_cons (x2, list_nil())) (* ****** ****** *) fun{x:t0p} list_make_sing (x: x): list_vt (x, 1) fun{x:t0p} list_make_pair (x1: x, x2: x): list_vt (x, 2) (* ****** ****** *) fun{x:t0p} list_make_elt {n:nat} (n: int n, x: x): list_vt (x, n) // end of [list_make_elt] (* ****** ****** *) fun{ } list_make_intrange {l,r:int | l <= r} (l: int l, r: int r): list_vt (intBtw (l, r), r-l) // end of [list_make_intrange] (* ****** ****** *) fun{a:vt0p} list_make_array {n:int} ( A: &(@[INV(a)][n]) >> @[a?!][n], n: size_t n ) : list_vt (a, n) // endfun (* ****** ****** *) // symintr list // fun{a:vt0p} list_make_arrpsz {n:int} (psz: arrpsz (INV(a), n)): list_vt (a, n) overload list with list_make_arrpsz (* ****** ****** *) // fun{x:t0p} print_list (xs: List (INV(x))): void fun{x:t0p} prerr_list (xs: List (INV(x))): void // fun{x:t0p} fprint_list (out: FILEref, xs: List (INV(x))): void fun{x:t0p} fprint_list_sep (out: FILEref, xs: List (INV(x)), sep: NSH(string)): void // end of [fprint_list_sep] // fun{} fprint_list$sep (out: FILEref): void // (* ****** ****** *) fun{x:t0p} fprint_listlist_sep ( out: FILEref , xss: List (List (INV(x))), sep1: NSH(string), sep2: NSH(string) ) : void // end of [fprint_listlist_sep] (* ****** ****** *) (* // // HX: for testing macdef // macdef fprintlst_mac {T:t@ype}(f, out, xs, sep) = let // val out = ,(out) val xs = ,(xs) val sep = ,(sep) // fun loop ( xs: List(T), i: int ) : void = case+ xs of | list_cons (x, xs) => let val () = if i > 0 then fprint_string (out, sep) val () = ,(f) (out, x) in loop (xs, i+1) end | list_nil () => () // in loop (xs, 0) end // end of [fprintlst_mac] *) (* ****** ****** *) // fun{ } list_is_nil {x:t0p}{n:int} (xs: list (x, n)):<> bool(n==0) fun{ } list_is_cons {x:t0p}{n:int} (xs: list (x, n)):<> bool(n > 0) // fun{x:t0p} list_is_sing{n:int} (xs: list (INV(x), n)):<> bool(n==1) fun{x:t0p} list_is_pair{n:int} (xs: list (INV(x), n)):<> bool(n==2) // (* ****** ****** *) fun{x:t0p} list_head{n:pos} (xs: list (INV(x), n)):<> (x) fun{x:t0p} list_head_exn{n:int} (xs: list (INV(x), n)): (x) (* ****** ****** *) fun{x:t0p} list_tail{n:pos} (xs: SHR(list (INV(x), n))):<> list (x, n-1) fun{x:t0p} list_tail_exn{n:int} (xs: SHR(list (INV(x), n))): list (x, n-1) (* ****** ****** *) fun{x:t0p} list_last{n:pos} (xs: list (INV(x), n)):<> (x) fun{x:t0p} list_last_exn{n:int} (xs: list (INV(x), n)): (x) (* ****** ****** *) // fun{ x:t0p } list_nth{n:int} (xs: list (INV(x), n), i: natLt (n)):<> (x) fun{x:t0p} list_nth_opt (xs: List (INV(x)), i: intGte (0)):<> Option_vt (x) // fun{x:t0p} list_get_at{n:int} (xs: list (INV(x), n), i: natLt (n)):<> (x) fun{x:t0p} list_get_at_opt (xs: List (INV(x)), i: intGte (0)):<> Option_vt (x) // (* ****** ****** *) // fun{x:t0p} list_set_at{n:nat} (xs: list (INV(x), n), i: natLt (n), x: x):<> list (x, n) fun{x:t0p} list_exch_at{n:nat} (xs: list (INV(x), n), i: natLt (n), x: x):<> (list (x, n), x) // (* ****** ****** *) fun{x:t0p} list_insert_at {n:int} ( xs: SHR(list (INV(x), n)), i: natLte (n), x: x ) :<> list (x, n+1) // end of [list_insert_at] fun{x:t0p} list_remove_at {n:int} ( xs: SHR(list (INV(x), n)), i: natLt (n) ) :<> list (x, n-1) // end of [list_remove_at] fun{x:t0p} list_takeout_at {n:int} ( xs: SHR(list (INV(x), n)), i: natLt (n), x: &(x)? >> x ) : list (x, n-1) // end of [list_takeout_at] (* ****** ****** *) fun{x:t0p} list_length {n:int} (xs: list (INV(x), n)):<> int (n) // end of [list_length] (* ****** ****** *) fun{ x:t0p } list_copy {n:int} (xs: list (INV(x), n)): list_vt (x, n) // end of [list_copy] (* ****** ****** *) // fun{a:t0p} list_append {m,n:int} ( xs: NSH(list (INV(a), m)), ys: SHR(list (a, n)) ) :<> list (a, m+n) // end of [list_append] // (* ****** ****** *) fun{ a:t0p } list_append1_vt {i,j:int} ( xs: list_vt (INV(a), i), ys: SHR(list (a, j)) ) : list (a, i+j) // endfun fun{ a:t0p } list_append2_vt {i,j:int} ( xs: NSH(list (INV(a), i)), ys: list_vt (a, j) ) : list_vt (a, i+j) // endfun (* ****** ****** *) fun{ x:t0p } list_extend{n:int} (xs: list (INV(x), n), x: x): list_vt (x, n+1) // end of [list_extend] macdef list_snoc (xs, x) = list_extend (,(xs), ,(x)) (* ****** ****** *) fun{x:t0p} list_reverse {n:int} (xs: list (INV(x), n)): list_vt (x, n) // end of [list_reverse] (* ****** ****** *) // fun{a:t0p} list_reverse_append{m,n:int} (xs: NSH(list (INV(a), m)), ys: SHR(list (a, n))):<> list (a, m+n) // end of [list_reverse_append] // fun{a:t0p} list_reverse_append1_vt{m,n:int} (xs: list_vt (INV(a), m), ys: SHR(list (a, n))): list (a, m+n) // end of [list_reverse_append1_vt] fun{a:t0p} list_reverse_append2_vt{m,n:int} (xs: NSH(list (INV(a), m)), ys: list_vt (a, n)): list_vt (a, m+n) // end of [list_reverse_append2_vt] // macdef list_revapp = list_reverse_append macdef list_revapp1_vt = list_reverse_append1_vt macdef list_revapp2_vt = list_reverse_append2_vt // (* ****** ****** *) fun{x:t0p} list_concat (xss: List (List (INV(x)))): List0_vt (x) (* ****** ****** *) // fun{ x:t0p } list_take {n:int}{i:nat | i <= n} (xs: list (INV(x), n), i: int i): list_vt (x, i) fun{ x:t0p } list_take_exn {n:int}{i:nat} // it may raise [ListSubscriptException] (xs: list (INV(x), n), i: int i): [i <= n] list_vt (x, i) // (* ****** ****** *) // fun{ x:t0p } list_drop {n:int}{i:nat | i <= n} (xs: SHR(list (INV(x), n)), i: int i):<> list (x, n-i) fun{ x:t0p } list_drop_exn {n:int}{i:nat} // it may raise [ListSubscriptException] (xs: SHR(list (INV(x), n)), i: int i): [i <= n] list (x, n-i) // (* ****** ****** *) fun{ x:t0p } list_split_at {n:int}{i:nat | i <= n} (xs: SHR(list (INV(x), n)), i: int i): (list_vt (x, i), list (x, n-i)) // end of [list_split_at] (* ****** ****** *) fun{x:t0p} list_exists (xs: List (INV(x))):<> bool fun{x:t0p} list_exists$pred (x):<> bool (* ****** ****** *) fun{x:t0p} list_forall (xs: List (INV(x))):<> bool fun{x:t0p} list_forall$pred (x):<> bool (* ****** ****** *) fun{x:t0p} list_equal$eqfn (x, x):<> bool fun{x:t0p} list_equal (xs1: List (INV(x)), xs2: List(x)):<> bool (* ****** ****** *) // fun{ x:t0p } list_find (List (INV(x)), x: &(x)? >> opt(x, b)):<> #[b:bool] bool(b) // fun{x:t0p} list_find$pred (x):<> bool // fun{x:t0p} list_find_exn (xs: List (INV(x))): x fun{x:t0p} list_find_opt (xs: List (INV(x))):<> Option_vt (x) // (* ****** ****** *) // fun{ key,itm:t0p } list_assoc ( List @(INV(key), itm), key, x: &itm? >> opt(itm, b) ) :<> #[b:bool] bool(b) // end of [list_assoc] // fun{key:t0p} list_assoc$eqfn (k1: key, k2: key):<> bool // fun{ key,itm:t0p } list_assoc_exn (kxs: List @(INV(key), itm), k: key): itm fun{ key,itm:t0p } list_assoc_opt (kxs: List @(INV(key), itm), k: key):<> Option_vt(itm) // (* ****** ****** *) // fun{ x:t0p } list_filter{n:int} (xs: list (INV(x), n)): listLte_vt (x, n) // fun{x:t0p} list_filter$pred (x): bool // (* fun{ x:t0p } list_filter_funenv {v:view}{vt:viewtype}{n:int}{fe:eff} ( pfv: !v | xs: list (INV(x), n) , f: (!v | x, !vt) - bool, env: !vt ) : listLte_vt (x, n) // end-of-function *) // (* ****** ****** *) fun{ x:t0p } list_labelize{n:int} (xs: list (INV(x), n)): list_vt (@(int, x), n) // end of [list_labelize] (* ****** ****** *) // fun{x:t0p} list_app (xs: List (INV(x))): void // fun{x:t0p} list_app$fwork (x): void // (* ****** ****** *) // fun{x:t0p} list_app_fun (xs: List (INV(x)), fwork: (x) - void): void fun{x:t0p} list_app_clo (xs: List (INV(x)), fwork: (x) - void): void fun{x:t0p} list_app_cloref (xs: List (INV(x)), fwork: (x) - void): void // (* ****** ****** *) // (* fun{ x:t0p } list_app_funenv {v:view}{vt:viewtype}{n:int}{fe:eff} ( pfv: !v | xs: list (INV(x), n) , f: (!v | x, !vt) - void, env: !vt ) : void // end of [list_app_funenv] *) // (* ****** ****** *) // fun{ x:t0p}{y:vt0p } list_map{n:int} (xs: list (INV(x), n)): list_vt (y, n) // end of [list_map] // fun{x:t0p}{y:vt0p} list_map$fopr (x: x): (y) // (* ****** ****** *) fun{ x:t0p}{y:vt0p } list_map_fun{n:int} (xs: list (INV(x), n), f: (x) - y): list_vt(y, n) fun{ x:t0p}{y:vt0p } list_map_clo{n:int} (xs: list (INV(x), n), f: &(x) - y): list_vt(y, n) fun{ x:t0p}{y:vt0p } list_map_cloref{n:int} (xs: list (INV(x), n), f: (x) - y): list_vt(y, n) (* ****** ****** *) (* fun{ x:t0p}{y:vt0p } list_map_funenv {v:view}{vt:viewtype}{n:int}{fe:eff} ( pfv: !v | xs: list (INV(x), n) , f: (!v | x, !vt) - y, env: !vt ) : list_vt (y, n) // end of [list_map_funenv] *) (* ****** ****** *) // fun{ x:t0p}{y:vt0p } list_imap{n:int} (xs: list (INV(x), n)): list_vt (y, n) // fun{ x:t0p}{y:vt0p } list_imap$fopr (i: intGte(0), x: x): (y) // (* ****** ****** *) fun{ x:t0p}{y:vt0p } list_mapopt{n:int} (xs: list (INV(x), n)): listLte_vt (y, n) // fun{ x:t0p}{y:vt0p } list_mapopt$fopr (x: x): Option_vt (y) // (* fun{ x:t0p}{y:t0p } list_mapopt_funenv {v:view}{vt:viewtype}{n:int}{fe:eff} ( pfv: !v | xs: list (INV(x), n) , f: (!v | x, !vt) - Option_vt (y), env: !vt ) : listLte_vt (y, n) // end of [list_mapopt_funenv] *) // (* ****** ****** *) fun{ x1,x2:t0p}{y:vt0p } list_map2{n1,n2:int} ( xs1: list (INV(x1), n1) , xs2: list (INV(x2), n2) ) : list_vt (y, min(n1,n2)) // end of [list_map2] // fun{ x1,x2:t0p}{y:vt0p } list_map2$fopr (x1: x1, x2: x2): (y) // (* fun{ x1,x2:t0p}{y:t0p } list_map2_funenv {v:view}{vt:viewtype}{n1,n2:int}{fe:eff} ( pfv: !v | xs1: list (INV(x1), n1) , xs2: list (INV(x2), n2) , f: (!v | x1, x2, !vt) - y, env: !vt ) : list_vt (y, min(n1,n2)) // end of [list_map2_funenv] *) // (* ****** ****** *) // fun{ a:vt0p } list_tabulate{n:nat} (int n): list_vt (a, n) // fun{a:vt0p} list_tabulate$fopr (index: intGte(0)): (a) // (* ****** ****** *) fun{ a:vt0p } list_tabulate_fun{n:nat} (n: int n, f: natLt(n) - a): list_vt (a, n) fun{ a:vt0p } list_tabulate_clo{n:nat} (n: int n, f: &(natLt(n)) - a): list_vt (a, n) fun{ a:vt0p } list_tabulate_cloref{n:nat} (n: int n, f: natLt(n) - a): list_vt (a, n) (* ****** ****** *) fun{ x,y:t0p } list_zip{m,n:int} ( xs: list (INV(x), m), ys: list (INV(y), n) ) : list_vt ((x, y), min(m,n)) // endfun fun{ x,y:t0p}{xy:vt0p } list_zipwith{m,n:int} ( xs: list (INV(x), m), ys: list (INV(y), n) ) : list_vt (xy, min(m,n)) // endfun // fun{ x,y:t0p}{xy:vt0p } list_zipwith$fopr (x: x, y: y): (xy) // (* ****** ****** *) fun{ x,y:t0p } list_cross{m,n:int} ( xs: list (INV(x), m), ys: list (INV(y), n) ) : list_vt ((x, y), m*n) // endfun fun{ x,y:t0p}{xy:vt0p } list_crosswith{m,n:int} ( xs: list (INV(x), m), ys: list (INV(y), n) ) : list_vt (xy, m*n) // end of [list_crosswith] // fun{ x,y:t0p}{xy:vt0p } list_crosswith$fopr (x: x, y: y): (xy) // (* ****** ****** *) fun{ x:t0p } list_foreach (xs: List (INV(x))): void fun{ x:t0p}{env:vt0p } list_foreach_env (xs: List (INV(x)), env: &(env) >> _): void // fun{ x:t0p}{env:vt0p } list_foreach$cont (x: x, env: &env): bool fun{ x:t0p}{env:vt0p } list_foreach$fwork (x: x, env: &(env) >> _): void // (* ****** ****** *) fun{x:t0p} list_foreach_fun {fe:eff} ( xs: List (INV(x)), f: (x) - void ) : void // end of [list_foreach_fun] fun{x:t0p} list_foreach_clo {fe:eff} ( xs: List (INV(x)), f: &(x) - void ) : void // end of [list_foreach_clo] fun{x:t0p} list_foreach_vclo {v:view}{fe:eff} ( pf: !v | xs: List (INV(x)), f: &(!v | x) - void ) : void // end of [list_foreach_vclo] fun{x:t0p} list_foreach_cloptr {fe:eff} ( xs: List (INV(x)), f: !(x) - void ) : void // end of [list_foreach_cloptr] fun{x:t0p} list_foreach_vcloptr {v:view}{fe:eff} ( pf: !v | xs: List (INV(x)), f: !(!v | x) - void ) : void // end of [list_foreach_vcloptr] fun{x:t0p} list_foreach_cloref {fe:eff} ( xs: List (INV(x)), f: (x) - void ) : void // end of [list_foreach_cloref] fun{x:t0p} list_foreach_funenv {v:view}{env:viewtype}{fe:eff} ( pfv: !v | xs: List (INV(x)) , f: (!v | x, !env) - void , env: !env ) : void // end of [list_foreach_funenv] (* ****** ****** *) // fun{ x,y:t0p } list_foreach2 (xs: List (INV(x)), ys: List (INV(y))): void // fun{ x,y:t0p}{env:vt0p } list_foreach2_env (xs: List (INV(x)), ys: List (INV(y)), env: &(env) >> _): void // fun{ x,y:t0p}{env:vt0p } list_foreach2$cont (x: x, y: y, env: &env): bool fun{ x,y:t0p}{env:vt0p } list_foreach2$fwork (x: x, y: y, env: &(env) >> _): void // (* ****** ****** *) fun{ x:t0p } list_iforeach{n:int} (xs: list (INV(x), n)): natLte(n) fun{ x:t0p}{env:vt0p } list_iforeach_env{n:int} (xs: list (INV(x), n), env: &(env) >> _): natLte(n) // fun{ x:t0p}{env:vt0p } list_iforeach$cont (i: intGte(0), x: x, env: &env): bool fun{ x:t0p}{env:vt0p } list_iforeach$fwork (i: intGte(0), x: x, env: &(env) >> _): void // (* ****** ****** *) fun{ x:t0p // type for elements } list_iforeach_funenv {v:view}{vt:viewtype}{n:int}{fe:eff} ( pfv: !v | xs: list (INV(x), n) , f: (!v | natLt(n), x, !vt) - void, env: !vt ) : int (n) // end of [list_iforeach_funenv] (* ****** ****** *) fun{ x,y:t0p } list_iforeach2{m,n:int} (xs: list (INV(x), m), ys: list(INV(y), n)): natLte(min(m,n)) fun{ x,y:t0p}{env:vt0p } list_iforeach2_env{m,n:int} (xs: list (INV(x), m), ys: list(INV(y), n), env: &(env) >> _): natLte(min(m,n)) // fun{ x,y:t0p}{env:vt0p } list_iforeach2$cont (i: intGte(0), x: x, y: y, env: &env): bool fun{ x,y:t0p}{env:vt0p } list_iforeach2$fwork (i: intGte(0), x: x, y: y, env: &(env) >> _): void // (* ****** ****** *) fun{ res:vt0p}{x:t0p } list_foldleft (xs: List (INV(x)), ini: res): res fun{ res:vt0p}{x:t0p } list_foldleft$fopr (acc: res, x: x): res (* ****** ****** *) fun{ x:t0p}{res:vt0p } list_foldright (xs: List (INV(x)), snk: res): res fun{ x:t0p}{res:vt0p } list_foldright$fopr (x: x, acc: res): res (* ****** ****** *) fun{ a:t0p } list_mergesort{n:int} (xs: list (INV(a), n)) : list_vt (a, n) // fun{a:t0p} list_mergesort$cmp (x1: a, x2: a):<> int (* sign *) // (* ****** ****** *) fun{ a:t0p } list_mergesort_fun {n:int} ( xs: list (INV(a), n), cmp: cmpval (a) ) : list_vt (a, n) // end of [list_mergesort_fun] fun{ a:t0p } list_mergesort_cloref {n:int} ( xs: list (INV(a), n), cmp: (a, a) - int ) : list_vt (a, n) // end of [list_mergesort_cloref] (* ****** ****** *) // fun{ a:t0p } list_quicksort{n:int} (xs: list (INV(a), n)) : list_vt (a, n) // fun{a:t0p} list_quicksort$cmp (x1: a, x2: a):<> int (* sign *) // (* ****** ****** *) fun{ a:t0p } list_quicksort_fun {n:int} ( xs: list (INV(a), n), cmp: cmpval (a) ) : list_vt (a, n) // end of [list_quicksort_fun] (* ****** ****** *) // // overloading for certain symbols // overload = with list_equal // overload + with list_append // overload [] with list_get_at // overload iseqz with list_is_nil overload isneqz with list_is_cons // overload .head with list_head overload .tail with list_tail // overload length with list_length // overload copy with list_copy // overload print with print_list overload prerr with prerr_list overload fprint with fprint_list overload fprint with fprint_list_sep // (* ****** ****** *) (* end of [list.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/integer.sats0000664000175000017500000015707712655455557017522 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/integer.atxt ** Time of generation: Fri Nov 20 19:49:30 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) // // HX: for unindexed integer types // (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) typedef SHR(a:t@ype) = a // for commenting purpose typedef NSH(a:t@ype) = a // for commenting purpose (* ****** ****** *) // stadef intknd = int_kind stadef lintknd = lint_kind stadef llintknd = llint_kind stadef ssizeknd = ssize_kind // stadef uintknd = uint_kind stadef ulintknd = ulint_kind stadef ullintknd = ullint_kind stadef sizeknd = size_kind // (* ****** ****** *) // fun{ k1,k2:tk } g0int2int (x: g0int (k1)):<> g0int (k2) // fun g0int2int_int_int (x: int):<> int = "mac#%" fun g0int2int_int_lint (x: int):<> lint = "mac#%" fun g0int2int_int_llint (x: int):<> llint = "mac#%" fun g0int2int_int_ssize (x: int):<> ssize_t = "mac#%" // fun g0int2int_lint_int (x: int):<> int = "mac#%" fun g0int2int_lint_lint (x: int):<> lint = "mac#%" fun g0int2int_lint_llint (x: int):<> llint = "mac#%" fun g0int2int_lint_ssize (x: int):<> ssize_t = "mac#%" // fun g0int2int_ssize_int (x: int):<> int = "mac#%" fun g0int2int_ssize_lint (x: int):<> lint = "mac#%" fun g0int2int_ssize_llint (x: int):<> llint = "mac#%" fun g0int2int_ssize_ssize (x: int):<> ssize_t = "mac#%" // fun g0int2int_sint_int (x: sint):<> int = "mac#%" // (* ****** ****** *) // // HX-2015-09-20: // These functions are implemented in prelude/string.cats: // fun{tk:tk} g0int2string (x: g0int (tk)): Strptr1 // fun g0int2string_int (x: int): Strptr1 = "mac#%" fun g0int2string_lint (x: lint): Strptr1 = "mac#%" fun g0int2string_llint (x: llint): Strptr1 = "mac#%" (* fun g0int2string_ssize (x: ssize_t): Strptr1 = "mac#%" *) // (* ****** ****** *) // fun{tk:tk} g0string2int (str: NSH(string)):<> g0int (tk) // fun g0string2int_int (x: NSH(string)):<> int = "mac#%" fun g0string2int_lint (x: NSH(string)):<> lint = "mac#%" fun g0string2int_llint (x: NSH(string)):<> llint = "mac#%" fun g0string2int_ssize (x: NSH(string)):<> ssize_t = "mac#%" // (* ****** ****** *) typedef g0int_uop_type (tk: tkind) = (g0int (tk)) - g0int (tk) // end of [g0int_uop_type] (* ****** ****** *) fun {tk:tk} g0int_neg : g0int_uop_type(tk) overload ~ with g0int_neg of 0 // ~ for uminus overload neg with g0int_neg of 0 fun {tk:tk} g0int_abs : g0int_uop_type(tk) overload abs with g0int_abs of 0 (* ****** ****** *) fun {tk:tk} g0int_succ : g0int_uop_type(tk) overload succ with g0int_succ of 0 fun {tk:tk} g0int_pred : g0int_uop_type(tk) overload pred with g0int_pred of 0 (* ****** ****** *) fun {tk:tk} g0int_half : g0int_uop_type(tk) overload half with g0int_half of 0 (* fun {tk:tk} g0int_double : g0int_uop_type(tk) overload double with g0int_double of 0 *) (* ****** ****** *) typedef g0int_aop_type (tk: tkind) = (g0int (tk), g0int (tk)) - g0int (tk) // end of [g0int_aop_type] fun {tk:tk} g0int_add : g0int_aop_type(tk) overload + with g0int_add of 0 fun {tk:tk} g0int_sub : g0int_aop_type(tk) overload - with g0int_sub of 0 fun {tk:tk} g0int_mul : g0int_aop_type(tk) overload * with g0int_mul of 0 fun {tk:tk} g0int_div : g0int_aop_type(tk) overload / with g0int_div of 0 fun {tk:tk} g0int_mod : g0int_aop_type(tk) overload % with g0int_mod of 0 overload mod with g0int_mod of 0 (* ****** ****** *) fun{} mul_int1_size0 {i:nat} (int(i), size_t):<> size_t fun{} mul_size0_int1 {j:nat} (size_t, int(j)):<> size_t (* ****** ****** *) overload * with mul_int1_size0 of 11 overload * with mul_size0_int1 of 11 (* ****** ****** *) // fun {tk:tk} g0int_asl (x: g0int(tk), n: intGte(0)):<> g0int(tk) fun {tk:tk} g0int_asr (x: g0int(tk), n: intGte(0)):<> g0int(tk) // overload << with g0int_asl of 0 overload >> with g0int_asr of 0 // (* ****** ****** *) // fun {tk:tk} g0int_npow (x: g0int(tk), n: intGte(0)):<> g0int(tk) // overload ** with g0int_npow of 0 // (* ****** ****** *) // fun{tk:tk} g0int_isltz (x: g0int (tk)):<> bool fun{tk:tk} g0int_isltez (x: g0int (tk)):<> bool // fun{tk:tk} g0int_isgtz (x: g0int (tk)):<> bool fun{tk:tk} g0int_isgtez (x: g0int (tk)):<> bool // fun{tk:tk} g0int_iseqz (x: g0int (tk)):<> bool fun{tk:tk} g0int_isneqz (x: g0int (tk)):<> bool // overload isltz with g0int_isltz of 0 overload isltez with g0int_isltez of 0 overload isgtz with g0int_isgtz of 0 overload isgtez with g0int_isgtez of 0 overload iseqz with g0int_iseqz of 0 overload isneqz with g0int_isneqz of 0 // (* ****** ****** *) typedef g0int_cmp_type (tk:tk) = (g0int (tk), g0int (tk)) - bool // end of [g0int_cmp_type] fun {tk:tk} g0int_lt : g0int_cmp_type(tk) overload < with g0int_lt of 0 fun {tk:tk} g0int_lte : g0int_cmp_type(tk) overload <= with g0int_lte of 0 fun {tk:tk} g0int_gt : g0int_cmp_type(tk) overload > with g0int_gt of 0 fun {tk:tk} g0int_gte : g0int_cmp_type(tk) overload >= with g0int_gte of 0 fun {tk:tk} g0int_eq : g0int_cmp_type(tk) overload = with g0int_eq of 0 fun {tk:tk} g0int_neq : g0int_cmp_type(tk) overload != with g0int_neq of 0 overload <> with g0int_neq of 0 (* ****** ****** *) fun{tk:tk} g0int_compare (x: g0int (tk), y: g0int (tk)):<> int overload compare with g0int_compare of 0 (* ****** ****** *) fun {tk:tk} g0int_max : g0int_aop_type(tk) overload max with g0int_max of 0 fun {tk:tk} g0int_min : g0int_aop_type(tk) overload min with g0int_min of 0 (* ****** ****** *) fun{tk:tk} lt_g0int_int (x: g0int (tk), y: int):<> bool overload < with lt_g0int_int of 11 fun{tk:tk} lte_g0int_int (x: g0int (tk), y: int):<> bool overload <= with lte_g0int_int of 11 // fun{tk:tk} gt_g0int_int (x: g0int (tk), y: int):<> bool overload > with gt_g0int_int of 11 fun{tk:tk} gte_g0int_int (x: g0int (tk), y: int):<> bool overload >= with gte_g0int_int of 11 // fun{tk:tk} eq_g0int_int (x: g0int (tk), y: int):<> bool overload = with eq_g0int_int of 11 fun{tk:tk} neq_g0int_int (x: g0int (tk), y: int):<> bool overload != with neq_g0int_int of 11 overload <> with neq_g0int_int of 11 // fun{tk:tk} compare_g0int_int (x: g0int (tk), y: int):<> int overload compare with compare_g0int_int of 11 (* ****** ****** *) // // HX: for indexed integer types // castfn g0ofg1_int {tk:tk} (x: g1int tk):<> g0int (tk) castfn g1ofg0_int {tk:tk} (x: g0int tk):<> g1int (tk) overload g0ofg1 with g0ofg1_int // index-erasing overload g1ofg0 with g1ofg0_int // index-inducing // (* ****** ****** *) // fun{ k1,k2:tk } g1int2int // i2i {i:int} (x: g1int (k1, i)):<> g1int (k2, i) // fun g1int2int_int_int {i:int} (x: int i):<> int (i) = "mac#%" fun g1int2int_int_lint {i:int} (x: int i):<> lint (i) = "mac#%" fun g1int2int_int_llint {i:int} (x: int i):<> llint (i) = "mac#%" fun g1int2int_int_ssize {i:int} (x: int i):<> ssize_t (i) = "mac#%" // (* ****** ****** *) fun{tk:tk} g1string2int (str: NSH(string)):<> g1int (tk) (* ****** ****** *) prfun g1int_get_index {tk:tk}{i1:int} (x: g1int (tk, i1)): [i2:int] EQINT (i1, i2) // end of [g1int_get_index] (* ****** ****** *) typedef g1int_neg_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, ~i) fun {tk:tk} g1int_neg : g1int_neg_type(tk) overload ~ with g1int_neg of 10 // ~ for uminus overload neg with g1int_neg of 10 typedef g1int_abs_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, abs(i)) fun {tk:tk} g1int_abs : g1int_abs_type(tk) overload abs with g1int_abs of 10 (* ****** ****** *) typedef g1int_succ_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, i+1) fun{tk:tk} g1int_succ : g1int_succ_type(tk) overload succ with g1int_succ of 10 typedef g1int_pred_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, i-1) fun{tk:tk} g1int_pred : g1int_pred_type(tk) overload pred with g1int_pred of 10 typedef g1int_half_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, i/2) fun{tk:tk} g1int_half : g1int_half_type(tk) overload half with g1int_half of 10 (* typedef g1int_double_type (tk:tk) = {i:int} g1int (tk, i) - g1int (tk, 2*i) fun{tk:tk} g1int_double : g1int_double_type(tk) overload double with g1int_double of 10 *) (* ****** ****** *) // typedef g1int_add_type (tk:tk) = {i,j:int} (g1int (tk,i), g1int (tk,j)) - g1int (tk, i+j) // fun {tk:tk} g1int_add : g1int_add_type(tk) // fun{} add_size1_int1 {i,j:int | i+j >= 0} (x: size_t (i), j: int (j)):<> size_t (i+j) fun{} add_int1_size1 {i,j:int | i+j >= 0} (x: int (i), j: size_t (j)):<> size_t (i+j) // (* ****** ****** *) overload + with g1int_add of 20 overload + with add_size1_int1 of 22 overload + with add_int1_size1 of 22 (* ****** ****** *) // typedef g1int_sub_type (tk:tk) = {i,j:int} (g1int (tk,i), g1int (tk,j)) - g1int (tk, i-j) // fun {tk:tk} g1int_sub : g1int_sub_type(tk) // fun{} sub_size1_int1 {i,j:int | i-j >= 0} (x: size_t (i), j: int (j)):<> size_t (i-j) // (* ****** ****** *) overload - with g1int_sub of 20 overload - with sub_size1_int1 of 22 (* ****** ****** *) // typedef g1int_mul_type (tk:tk) = {i,j:int} (g1int (tk,i), g1int (tk,j)) - g1int (tk, i*j) // fun {tk:tk} g1int_mul : g1int_mul_type(tk) // fun {tk:tk} g1int_mul2 {i,j:int} ( x: g1int (tk, i) , y: g1int (tk, j) ) :<> [ij:int] (MUL (i, j, ij) | g1int (tk, ij)) // end of [g1int_mul2] // fun{} mul_int1_size1 {i,j:int | i >= 0} (x: int (i), j: size_t (j)):<> size_t (i*j) fun{} mul_size1_int1 {i,j:int | j >= 0} (x: size_t (i), j: int (j)):<> size_t (i*j) // (* ****** ****** *) overload * with g1int_mul of 20 overload * with mul_int1_size1 of 22 overload * with mul_size1_int1 of 22 (* ****** ****** *) // typedef g1int_div_type (tk:tk) = {i,j:int | j != 0} (g1int (tk, i), g1int (tk, j)) - g1int (tk) // fun {tk:tk} g1int_div : g1int_div_type(tk) // (* ****** ****** *) // typedef g1int_ndiv_type (tk:tk) = {i,j:int | i >= 0; j > 0} (g1int (tk, i), g1int (tk, j)) - g1int (tk, ndiv_int_int(i,j)) // fun{tk:tk} g1int_ndiv : g1int_ndiv_type(tk) (* ****** ****** *) fun{tk:tk} g1int_ndiv2 {i,j:int | i >= 0; j > 0} ( x: g1int (tk, i), y: g1int (tk, j) ) :<> [ q,r:int | 0 <= r; r < j ] ( DIVMOD (i, j, q, r) | g1int (tk, q) ) (* end of [g1int_ndiv2] *) (* ****** ****** *) overload / with g1int_div of 20 overload ndiv with g1int_ndiv of 20 (* ****** ****** *) (* ** HX: [g1int_mod] is intentionally skipped *) (* ****** ****** *) typedef g1int_nmod_type (tk:tk) = {i,j:int | i >= 0; j > 0} (g1int (tk, i), g1int (tk, j)) - g1int (tk, nmod_int_int(i, j)) // end of [g1int_nmod_type] fun{tk:tk} g1int_nmod : g1int_nmod_type(tk) (* ****** ****** *) fun{tk:tk} g1int_nmod2 {i,j:int | i >= 0; j > 0} ( x: g1int (tk, i), y: g1int (tk, j) ) :<> [q,r:nat | r < j] ( DIVMOD (i, j, q, r) | g1int (tk, r) ) (* end of [g1int_nmod2] *) (* ****** ****** *) // fun{tk:tk} nmod_g1int_int1 {i,j:int | i >= 0; j > 0} (x: g1int (tk, i), y: int (j)):<> int(i%j) // fun{tk:tk} nmod2_g1int_int1 {i,j:int | i >= 0; j > 0} ( x: g1int (tk, i), y: int (j) ) :<> [q,r:nat | r < j] (DIVMOD (i, j, q, r) | int (r)) // (* ****** ****** *) overload nmod with g1int_nmod of 20 overload nmod with nmod_g1int_int1 of 21 (* ****** ****** *) typedef g1int_ngcd_type (tk:tk) = {i,j:int | i >= 0; j >= 0} (g1int (tk, i), g1int (tk, j)) - [r:nat] g1int (tk, r) // end of [g1int_ngcd_type] fun{tk:tk} g1int_ngcd : g1int_ngcd_type(tk) (* overload ngcd with g1int_ngcd of 20 // HX: [ngcd] is no longer pre-declared *) (* ****** ****** *) typedef g1int_isltz_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i < 0) typedef g1int_isltez_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i <= 0) fun{tk:tk} g1int_isltz : g1int_isltz_type(tk) overload isltz with g1int_isltz of 10 fun{tk:tk} g1int_isltez : g1int_isltez_type(tk) overload isltez with g1int_isltez of 10 (* ****** ****** *) typedef g1int_isgtz_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i > 0) typedef g1int_isgtez_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i >= 0) fun{tk:tk} g1int_isgtz : g1int_isgtz_type(tk) overload isgtz with g1int_isgtz of 10 fun{tk:tk} g1int_isgtez : g1int_isgtez_type(tk) overload isgtez with g1int_isgtez of 10 (* ****** ****** *) typedef g1int_iseqz_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i > 0) typedef g1int_isneqz_type (tk:tk) = {i:int} (g1int (tk, i)) - bool (i >= 0) fun{tk:tk} g1int_iseqz : g1int_iseqz_type(tk) overload iseqz with g1int_iseqz of 10 fun{tk:tk} g1int_isneqz : g1int_isneqz_type(tk) overload isneqz with g1int_isneqz of 10 (* ****** ****** *) // typedef g1int_lt_type (tk:tk) = {i,j:int} (g1int (tk, i), g1int (tk, j)) - bool (i < j) typedef g1int_lte_type (tk:tk) = {i,j:int} (g1int (tk, i), g1int (tk, j)) - bool (i <= j) // fun{tk:tk} g1int_lt : g1int_lt_type(tk) overload < with g1int_lt of 20 fun{tk:tk} g1int_lte : g1int_lte_type(tk) overload <= with g1int_lte of 20 // (* ****** ****** *) // typedef g1int_gt_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - bool(i > j) typedef g1int_gte_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - bool(i >= j) // fun {tk:tk} g1int_gt : g1int_gt_type(tk) overload > with g1int_gt of 20 fun {tk:tk} g1int_gte : g1int_gte_type(tk) overload >= with g1int_gte of 20 // (* ****** ****** *) // typedef g1int_eq_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - bool(i == j) typedef g1int_neq_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - bool(i != j) // fun {tk:tk} g1int_eq : g1int_eq_type(tk) overload = with g1int_eq of 20 fun {tk:tk} g1int_neq : g1int_neq_type(tk) overload != with g1int_neq of 20 overload <> with g1int_neq of 20 // (* ****** ****** *) // typedef g1int_compare_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - int(sgn(i-j)) // fun{tk:tk} g1int_compare : g1int_compare_type(tk) overload compare with g1int_compare of 20 // (* ****** ****** *) // typedef g1int_max_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - g1int(tk, max(i, j)) // fun {tk:tk} g1int_max : g1int_max_type(tk) overload max with g1int_max of 20 // typedef g1int_min_type (tk:tk) = {i,j:int} (g1int(tk, i), g1int(tk, j)) - g1int(tk, min(i, j)) // fun {tk:tk} g1int_min : g1int_min_type(tk) overload min with g1int_min of 20 // (* ****** ****** *) fun{tk:tk} lt_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i < j) overload < with lt_g1int_int of 21 fun{tk:tk} lte_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i <= j) overload <= with lte_g1int_int of 21 // fun{tk:tk} gt_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i > j) overload > with gt_g1int_int of 21 fun{tk:tk} gte_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i >= j) overload >= with gte_g1int_int of 21 // fun{tk:tk} eq_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i == j) overload = with eq_g1int_int of 21 fun{tk:tk} neq_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> bool (i != j) overload != with neq_g1int_int of 21 overload <> with neq_g1int_int of 21 // fun{tk:tk} compare_g1int_int{i,j:int} (x: g1int (tk, i), y: int (j)):<> int (sgn(i-j)) overload compare with compare_g1int_int of 21 // (* ****** ****** *) fun {tk:tk} g1int_sgn {i:int} (x: g1int (tk, i)):<> int(sgn(i)) (* ****** ****** *) // // HX: for unsigned unindexed integer types // (* ****** ****** *) fun{ k1,k2:tk } g0int2uint (x: g0int (k1)):<> g0uint (k2) // fun g0int2uint_int_uint (x: int):<> uint = "mac#%" fun g0int2uint_int_ulint (x: int):<> ulint = "mac#%" fun g0int2uint_int_ullint (x: int):<> ullint = "mac#%" fun g0int2uint_int_size (x: int):<> size_t = "mac#%" // fun g0int2uint_lint_ulint (x: lint):<> ulint = "mac#%" fun g0int2uint_lint_ullint (x: lint):<> ullint = "mac#%" fun g0int2uint_lint_size (x: lint):<> size_t = "mac#%" // fun g0int2uint_llint_ullint (x: llint):<> ullint = "mac#%" // fun g0int2uint_ssize_size (x: ssize_t):<> size_t = "mac#%" // (* ****** ****** *) fun{ k1,k2:tk } g0uint2int (x: g0uint (k1)):<> g0int (k2) // fun g0uint2int_uint_int (x: uint):<> int = "mac#%" fun g0uint2int_uint_lint (x: uint):<> lint = "mac#%" fun g0uint2int_uint_llint (x: uint):<> llint = "mac#%" fun g0uint2int_uint_ssize (x: uint):<> ssize_t = "mac#%" // fun g0uint2int_size_int (x: size_t):<> int = "mac#%" fun g0uint2int_size_lint (x: size_t):<> lint = "mac#%" fun g0uint2int_size_llint (x: size_t):<> llint = "mac#%" fun g0uint2int_size_ssize (x: size_t):<> ssize_t = "mac#%" // (* ****** ****** *) fun{ k1,k2:tk } g0uint2uint (x: g0uint (k1)):<> g0uint (k2) // fun g0uint2uint_uint_uint (x: uint):<> uint = "mac#%" fun g0uint2uint_uint_ulint (x: uint):<> ulint = "mac#%" fun g0uint2uint_uint_ullint (x: uint):<> ullint = "mac#%" fun g0uint2uint_uint_size (x: uint):<> size_t = "mac#%" // fun g0uint2uint_ulint_uint (x: ulint):<> uint = "mac#%" fun g0uint2uint_ulint_ulint (x: ulint):<> ulint = "mac#%" fun g0uint2uint_ulint_ullint (x: ulint):<> ullint = "mac#%" fun g0uint2uint_ulint_size (x: ulint):<> size_t = "mac#%" // fun g0uint2uint_size_uint (x: size_t):<> uint = "mac#%" fun g0uint2uint_size_ulint (x: size_t):<> ulint = "mac#%" fun g0uint2uint_size_ullint (x: size_t):<> ullint = "mac#%" fun g0uint2uint_size_size (x: size_t):<> size_t = "mac#%" // fun g0uint2uint_usint_uint (x: usint):<> uint = "mac#%" // (* ****** ****** *) fun{tk:tk} g0string2uint (str: NSH(string)):<> g0uint (tk) // fun g0string2uint_uint (x: NSH(string)):<> uint = "mac#%" fun g0string2uint_ulint (x: NSH(string)):<> ulint = "mac#%" fun g0string2uint_ullint (x: NSH(string)):<> ullint = "mac#%" fun g0string2uint_size (x: NSH(string)):<> size_t = "mac#%" // (* ****** ****** *) fun{tk:tk} g0uint_succ (x: g0uint (tk)):<> g0uint (tk) overload succ with g0uint_succ of 0 fun{tk:tk} g0uint_pred (x: g0uint (tk)):<> g0uint (tk) overload pred with g0uint_pred of 0 fun{tk:tk} g0uint_half (x: g0uint (tk)):<> g0uint (tk) overload half with g0uint_half of 0 (* fun{tk:tk} g0uint_double (x: g0uint (tk)):<> g0uint (tk) overload double with g0uint_double of 0 *) (* ****** ****** *) fun{ tk:tk } g0uint_add (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload + with g0uint_add of 0 fun{ tk:tk } g0uint_sub (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload - with g0uint_sub of 0 fun{ tk:tk } g0uint_mul (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload * with g0uint_mul of 0 fun{ tk:tk } g0uint_div (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload / with g0uint_div of 0 fun{ tk:tk } g0uint_mod (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload % with g0uint_mod of 0 overload mod with g0uint_mod of 0 (* ****** ****** *) fun {tk:tk} g0uint_lsl (x: g0uint (tk), n: intGte(0)):<> g0uint (tk) overload << with g0uint_lsl fun {tk:tk} g0uint_lsr (x: g0uint (tk), n: intGte(0)):<> g0uint (tk) overload >> with g0uint_lsr (* ****** ****** *) fun {tk:tk} g0uint_lnot (x: g0uint (tk)):<> g0uint (tk) overload ~ with g0uint_lnot overload lnot with g0uint_lnot fun {tk:tk} g0uint_lor (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload lor with g0uint_lor fun {tk:tk} g0uint_lxor (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload lxor with g0uint_lxor fun {tk:tk} g0uint_land (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload land with g0uint_land (* ****** ****** *) fun{tk:tk} g0uint_isgtz (x: g0uint (tk)):<> bool overload isgtz with g0uint_isgtz of 0 fun{tk:tk} g0uint_iseqz (x: g0uint (tk)):<> bool overload iseqz with g0uint_iseqz of 0 fun{tk:tk} g0uint_isneqz (x: g0uint (tk)):<> bool overload isneqz with g0uint_isneqz of 0 (* ****** ****** *) fun{ tk:tk } g0uint_lt (x: g0uint (tk), y: g0uint (tk)):<> bool overload < with g0uint_lt of 0 fun{ tk:tk } g0uint_lte (x: g0uint (tk), y: g0uint (tk)):<> bool overload <= with g0uint_lte of 0 fun{ tk:tk } g0uint_gt (x: g0uint (tk), y: g0uint (tk)):<> bool overload > with g0uint_gt of 0 fun{ tk:tk } g0uint_gte (x: g0uint (tk), y: g0uint (tk)):<> bool overload >= with g0uint_gte of 0 fun{ tk:tk } g0uint_eq (x: g0uint (tk), y: g0uint (tk)):<> bool overload = with g0uint_eq of 0 fun{ tk:tk } g0uint_neq (x: g0uint (tk), y: g0uint (tk)):<> bool overload != with g0uint_neq of 0 overload <> with g0uint_neq of 0 fun{tk:tk} g0uint_compare (x: g0uint (tk), y: g0uint (tk)):<> int overload compare with g0uint_compare of 0 (* ****** ****** *) fun {tk:tk} g0uint_max (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload max with g0uint_max of 0 fun {tk:tk} g0uint_min (x: g0uint (tk), y: g0uint (tk)):<> g0uint (tk) overload min with g0uint_min of 0 (* ****** ****** *) fun{tk:tk} lt_g0uint_int (x: g0uint (tk), y: int):<> bool overload < with lt_g0uint_int of 11 fun{tk:tk} lte_g0uint_int (x: g0uint (tk), y: int):<> bool overload <= with lte_g0uint_int of 11 fun{tk:tk} gt_g0uint_int (x: g0uint (tk), y: int):<> bool overload > with gt_g0uint_int of 11 fun{tk:tk} gte_g0uint_int (x: g0uint (tk), y: int):<> bool overload >= with gte_g0uint_int of 11 fun{tk:tk} eq_g0uint_int (x: g0uint (tk), y: int):<> bool overload = with eq_g0uint_int of 11 fun{tk:tk} neq_g0uint_int (x: g0uint (tk), y: int):<> bool overload != with neq_g0uint_int of 11 overload <> with neq_g0uint_int of 11 (* ****** ****** *) // // HX: for unsigned indexed integer types // praxi lemma_g1uint_param {tk:tk} {i:int} (x: g1uint (tk, i)):<> [i >= 0] void // end of [lemma_g1uint_param] (* ****** ****** *) castfn size_of_int {i:nat} (x: int i):<> size_t (i) castfn ssize_of_int {i:int} (x: int i):<> ssize_t (i) (* ****** ****** *) // castfn g0ofg1_uint {tk:tk} (x: g1uint tk):<> g0uint (tk) castfn g1ofg0_uint {tk:tk} (x: g0uint tk):<> g1uint0 (tk) // overload g0ofg1 with g0ofg1_uint // index-erasing overload g1ofg0 with g1ofg0_uint // index-inducing // (* ****** ****** *) // fun{ k1,k2:tk } g1int2uint // i2u {i:nat} (x: g1int (k1, i)):<> g1uint (k2, i) // fun g1int2uint_int_uint{i:nat} (x: int i):<> uint (i) = "mac#%" fun g1int2uint_int_ulint{i:nat} (x: int i):<> ulint (i) = "mac#%" fun g1int2uint_int_ullint{i:nat} (x: int i):<> ullint (i) = "mac#%" fun g1int2uint_int_size{i:nat} (x: int i):<> size_t (i) = "mac#%" // fun g1int2uint_ssize_size{i:nat} (x: ssize_t(i)):<> size_t(i) = "mac#%" // (* ****** ****** *) typedef g1uint2int_type (k1:tk, k2:tk) = {u:int} (g1uint (k1, u)) - [u>=0] g1int (k2, u) // fun{ k1,k2:tk } g1uint2int : g1uint2int_type (k1, k2) // fun g1uint2int_uint_int : g1uint2int_type (uintknd, intknd) = "mac#%" fun g1uint2int_uint_lint : g1uint2int_type (uintknd, lintknd) = "mac#%" fun g1uint2int_uint_llint : g1uint2int_type (uintknd, llintknd) = "mac#%" fun g1uint2int_uint_ssize : g1uint2int_type (uintknd, ssizeknd) = "mac#%" // fun g1uint2int_size_int : g1uint2int_type (sizeknd, intknd) = "mac#%" fun g1uint2int_size_lint : g1uint2int_type (sizeknd, lintknd) = "mac#%" fun g1uint2int_size_llint : g1uint2int_type (sizeknd, llintknd) = "mac#%" fun g1uint2int_size_ssize : g1uint2int_type (sizeknd, ssizeknd) = "mac#%" // (* ****** ****** *) // typedef g1uint2uint_type (k1:tk, k2:tk) = {u:int} (g1uint (k1, u)) - g1uint (k2, u) // fun{ k1,k2:tk } g1uint2uint : g1uint2uint_type (k1, k2) // fun g1uint2uint_uint_uint : g1uint2uint_type (uintknd, uintknd) = "mac#%" fun g1uint2uint_uint_ulint : g1uint2uint_type (uintknd, ulintknd) = "mac#%" fun g1uint2uint_uint_ullint : g1uint2uint_type (uintknd, ullintknd) = "mac#%" fun g1uint2uint_uint_size : g1uint2uint_type (uintknd, sizeknd) = "mac#%" // fun g1uint2uint_ulint_uint : g1uint2uint_type (uintknd, uintknd) = "mac#%" fun g1uint2uint_ulint_ulint : g1uint2uint_type (uintknd, ulintknd) = "mac#%" fun g1uint2uint_ulint_ullint : g1uint2uint_type (uintknd, ullintknd) = "mac#%" fun g1uint2uint_ulint_size : g1uint2uint_type (uintknd, sizeknd) = "mac#%" // fun g1uint2uint_size_uint : g1uint2uint_type (sizeknd, uintknd) = "mac#%" fun g1uint2uint_size_ulint : g1uint2uint_type (sizeknd, ulintknd) = "mac#%" fun g1uint2uint_size_ullint : g1uint2uint_type (sizeknd, ullintknd) = "mac#%" fun g1uint2uint_size_size : g1uint2uint_type (sizeknd, sizeknd) = "mac#%" // (* ****** ****** *) fun{tk:tk} g1string2uint (str: NSH(string)):<> g1uint (tk) (* ****** ****** *) prfun g1uint_get_index {tk:tk}{i1:int} (x: g1uint (tk, i1)): [i2:int] EQINT (i1, i2) // end of [g1uint_get_index] (* ****** ****** *) // typedef g1uint_succ_type (tk:tk) = {i:int} (g1uint (tk, i)) - g1uint (tk, i+1) typedef g1uint_pred_type (tk:tk) = {i:int | i > 0} (g1uint (tk, i)) - g1uint (tk, i-1) // fun{tk:tk} g1uint_succ : g1uint_succ_type(tk) overload succ with g1uint_succ of 10 fun{tk:tk} g1uint_pred : g1uint_pred_type(tk) overload pred with g1uint_pred of 10 // (* ****** ****** *) typedef g1uint_half_type (tk:tk) = {i:int} (g1uint (tk, i)) - g1uint (tk, i/2) fun{tk:tk} g1uint_half : g1uint_half_type(tk) overload half with g1uint_half of 10 (* typedef g1uint_double_type (tk:tk) = {i:int} (g1uint (tk, i)) - g1uint (tk, 2*i) fun{tk:tk} g1uint_double : g1uint_double_type(tk) overload double with g1uint_double of 10 *) (* ****** ****** *) typedef g1uint_add_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk, i+j) fun {tk:tk} g1uint_add : g1uint_add_type(tk) overload + with g1uint_add of 20 typedef g1uint_sub_type (tk:tk) = {i,j:int | i >= j} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk, i-j) fun {tk:tk} g1uint_sub : g1uint_sub_type(tk) overload - with g1uint_sub of 20 (* ****** ****** *) typedef g1uint_mul_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk, i*j) fun {tk:tk} g1uint_mul : g1uint_mul_type(tk) overload * with g1uint_mul of 20 fun {tk:tk} g1uint_mul2 {i,j:int} ( x: g1uint (tk, i), y: g1uint (tk, j) ) :<> [ij:int] (MUL (i, j, ij) | g1uint (tk, ij)) (* ****** ****** *) typedef g1uint_div_type (tk:tk) = {i,j:int | j > 0} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk) // end of [g1uint_div_type] fun {tk:tk} g1uint_div : g1uint_div_type(tk) overload / with g1uint_div of 20 fun {tk:tk} g1uint_div2 {i,j:int | j > 0} ( x: g1uint (tk, i), y: g1uint (tk, j) ) :<> [q,r:int | 0 <= r; r < j] (DIVMOD (i, j, q, r) | g1uint (tk, q)) (* ****** ****** *) typedef g1uint_mod_type (tk:tk) = {i,j:int | j > 0} (g1uint (tk, i), g1uint (tk, j)) - [r:nat | r < j] g1uint (tk, r) // end of [g1uint_mod_type] fun {tk:tk} g1uint_mod : g1uint_mod_type(tk) overload mod with g1uint_mod of 20 fun {tk:tk} g1uint_mod2 {i,j:int | j > 0} ( x: g1uint (tk, i), y: g1uint (tk, j) ) :<> [ q,r:int | 0 <= r; r < j ] ( DIVMOD (i, j, q, r) | g1uint (tk, r) ) // end of [g1uint_mod2] (* ****** ****** *) typedef g1uint_isgtz_type (tk:tk) = {i:int} (g1uint (tk, i)) - bool (i > 0) fun{tk:tk} g1uint_isgtz : g1uint_isgtz_type(tk) overload isgtz with g1uint_isgtz of 10 (* ****** ****** *) typedef g1uint_iseqz_type (tk:tk) = {i:int} (g1uint (tk, i)) - bool (i > 0) typedef g1uint_isneqz_type (tk:tk) = {i:int} (g1uint (tk, i)) - bool (i >= 0) fun{tk:tk} g1uint_iseqz : g1uint_iseqz_type(tk) overload iseqz with g1uint_iseqz of 10 fun{tk:tk} g1uint_isneqz : g1uint_isneqz_type(tk) overload isneqz with g1uint_isneqz of 10 (* ****** ****** *) typedef g1uint_lt_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i < j) fun{tk:tk} g1uint_lt : g1uint_lt_type(tk) overload < with g1uint_lt of 20 typedef g1uint_lte_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i <= j) fun{tk:tk} g1uint_lte : g1uint_lte_type(tk) overload <= with g1uint_lte of 20 (* ****** ****** *) typedef g1uint_gt_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i > j) fun {tk:tk} g1uint_gt : g1uint_gt_type(tk) overload > with g1uint_gt of 20 typedef g1uint_gte_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i >= j) fun {tk:tk} g1uint_gte : g1uint_gte_type(tk) overload >= with g1uint_gte of 20 (* ****** ****** *) // typedef g1uint_eq_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i == j) typedef g1uint_neq_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - bool (i != j) // fun {tk:tk} g1uint_eq : g1uint_eq_type(tk) overload = with g1uint_eq of 20 fun {tk:tk} g1uint_neq : g1uint_neq_type(tk) overload != with g1uint_neq of 20 overload <> with g1uint_neq of 20 // (* ****** ****** *) typedef g1uint_compare_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - int (sgn(i-j)) fun{tk:tk} g1uint_compare : g1uint_compare_type(tk) overload compare with g1uint_compare of 20 (* ****** ****** *) typedef g1uint_max_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk, max(i, j)) fun {tk:tk} g1uint_max : g1uint_max_type(tk) overload max with g1uint_max of 20 typedef g1uint_min_type (tk:tk) = {i,j:int} (g1uint (tk, i), g1uint (tk, j)) - g1uint (tk, min(i, j)) fun {tk:tk} g1uint_min : g1uint_min_type(tk) overload min with g1uint_min of 20 (* ****** ****** *) // fun{tk:tk} lt_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i < j) overload < with lt_g1uint_int of 21 fun{tk:tk} lte_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i <= j) overload <= with lte_g1uint_int of 21 // fun{tk:tk} gt_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i > j) overload > with gt_g1uint_int of 21 fun{tk:tk} gte_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i >= j) overload >= with gte_g1uint_int of 21 // fun{tk:tk} eq_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i == j) overload = with eq_g1uint_int of 21 fun{tk:tk} neq_g1uint_int {i:int;j:nat} (x: g1uint (tk, i), y: int (j)):<> bool (i != j) overload != with neq_g1uint_int of 21 // (* ****** ****** *) // fun g0int_neg_int (x: int):<> int = "mac#%" fun g0int_abs_int (x: int):<> int = "mac#%" fun g0int_succ_int (x: int):<> int = "mac#%" fun g0int_pred_int (x: int):<> int = "mac#%" fun g0int_half_int (x: int):<> int = "mac#%" fun g0int_asl_int (x: int, n: intGte(0)):<> int = "mac#%" fun g0int_asr_int (x: int, n: intGte(0)):<> int = "mac#%" fun g0int_add_int (x: int, y: int):<> int = "mac#%" fun g0int_sub_int (x: int, y: int):<> int = "mac#%" fun g0int_mul_int (x: int, y: int):<> int = "mac#%" fun g0int_div_int (x: int, y: int):<> int = "mac#%" fun g0int_mod_int (x: int, y: int):<> int = "mac#%" fun g0int_isltz_int (x: int):<> bool = "mac#%" fun g0int_isltez_int (x: int):<> bool = "mac#%" fun g0int_isgtz_int (x: int):<> bool = "mac#%" fun g0int_isgtez_int (x: int):<> bool = "mac#%" fun g0int_iseqz_int (x: int):<> bool = "mac#%" fun g0int_isneqz_int (x: int):<> bool = "mac#%" fun g0int_lt_int (x: int, y: int):<> bool = "mac#%" fun g0int_lte_int (x: int, y: int):<> bool = "mac#%" fun g0int_gt_int (x: int, y: int):<> bool = "mac#%" fun g0int_gte_int (x: int, y: int):<> bool = "mac#%" fun g0int_eq_int (x: int, y: int):<> bool = "mac#%" fun g0int_neq_int (x: int, y: int):<> bool = "mac#%" fun g0int_compare_int (x: int, y: int):<> int = "mac#%" fun g0int_max_int (x: int, y: int):<> int = "mac#%" fun g0int_min_int (x: int, y: int):<> int = "mac#%" // fun g0int_neg_lint (x: lint):<> lint = "mac#%" fun g0int_abs_lint (x: lint):<> lint = "mac#%" fun g0int_succ_lint (x: lint):<> lint = "mac#%" fun g0int_pred_lint (x: lint):<> lint = "mac#%" fun g0int_half_lint (x: lint):<> lint = "mac#%" fun g0int_asl_lint (x: lint, n: intGte(0)):<> lint = "mac#%" fun g0int_asr_lint (x: lint, n: intGte(0)):<> lint = "mac#%" fun g0int_add_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_sub_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_mul_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_div_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_mod_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_isltz_lint (x: lint):<> bool = "mac#%" fun g0int_isltez_lint (x: lint):<> bool = "mac#%" fun g0int_isgtz_lint (x: lint):<> bool = "mac#%" fun g0int_isgtez_lint (x: lint):<> bool = "mac#%" fun g0int_iseqz_lint (x: lint):<> bool = "mac#%" fun g0int_isneqz_lint (x: lint):<> bool = "mac#%" fun g0int_lt_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_lte_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_gt_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_gte_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_eq_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_neq_lint (x: lint, y: lint):<> bool = "mac#%" fun g0int_compare_lint (x: lint, y: lint):<> int = "mac#%" fun g0int_max_lint (x: lint, y: lint):<> lint = "mac#%" fun g0int_min_lint (x: lint, y: lint):<> lint = "mac#%" // fun g0int_neg_llint (x: llint):<> llint = "mac#%" fun g0int_abs_llint (x: llint):<> llint = "mac#%" fun g0int_succ_llint (x: llint):<> llint = "mac#%" fun g0int_pred_llint (x: llint):<> llint = "mac#%" fun g0int_half_llint (x: llint):<> llint = "mac#%" fun g0int_asl_llint (x: llint, n: intGte(0)):<> llint = "mac#%" fun g0int_asr_llint (x: llint, n: intGte(0)):<> llint = "mac#%" fun g0int_add_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_sub_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_mul_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_div_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_mod_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_isltz_llint (x: llint):<> bool = "mac#%" fun g0int_isltez_llint (x: llint):<> bool = "mac#%" fun g0int_isgtz_llint (x: llint):<> bool = "mac#%" fun g0int_isgtez_llint (x: llint):<> bool = "mac#%" fun g0int_iseqz_llint (x: llint):<> bool = "mac#%" fun g0int_isneqz_llint (x: llint):<> bool = "mac#%" fun g0int_lt_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_lte_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_gt_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_gte_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_eq_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_neq_llint (x: llint, y: llint):<> bool = "mac#%" fun g0int_compare_llint (x: llint, y: llint):<> int = "mac#%" fun g0int_max_llint (x: llint, y: llint):<> llint = "mac#%" fun g0int_min_llint (x: llint, y: llint):<> llint = "mac#%" // fun g0int_neg_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_abs_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_succ_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_pred_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_half_ssize (x: ssize_t):<> ssize_t = "mac#%" fun g0int_asl_ssize (x: ssize_t, n: intGte(0)):<> ssize_t = "mac#%" fun g0int_asr_ssize (x: ssize_t, n: intGte(0)):<> ssize_t = "mac#%" fun g0int_add_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_sub_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_mul_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_div_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_mod_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_isltz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isltez_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isgtz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isgtez_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_iseqz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_isneqz_ssize (x: ssize_t):<> bool = "mac#%" fun g0int_lt_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_lte_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_gt_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_gte_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_eq_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_neq_ssize (x: ssize_t, y: ssize_t):<> bool = "mac#%" fun g0int_compare_ssize (x: ssize_t, y: ssize_t):<> int = "mac#%" fun g0int_max_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" fun g0int_min_ssize (x: ssize_t, y: ssize_t):<> ssize_t = "mac#%" // (* ****** ****** *) // fun print_int (int): void = "mac#%" fun prerr_int (int): void = "mac#%" fun fprint_int : fprint_type (int) = "mac#%" overload print with print_int overload prerr with prerr_int overload fprint with fprint_int // fun print_lint (lint): void = "mac#%" fun prerr_lint (lint): void = "mac#%" fun fprint_lint : fprint_type (lint) = "mac#%" overload print with print_lint overload prerr with prerr_lint overload fprint with fprint_lint // fun print_llint (llint): void = "mac#%" fun prerr_llint (llint): void = "mac#%" fun fprint_llint : fprint_type (llint) = "mac#%" overload print with print_llint overload prerr with prerr_llint overload fprint with fprint_llint // fun print_ssize (ssize_t): void = "mac#%" fun prerr_ssize (ssize_t): void = "mac#%" fun fprint_ssize : fprint_type (ssize_t) = "mac#%" overload print with print_ssize overload prerr with prerr_ssize overload fprint with fprint_ssize // (* ****** ****** *) // fun g0uint_succ_uint (x: uint):<> uint = "mac#%" fun g0uint_pred_uint (x: uint):<> uint = "mac#%" fun g0uint_half_uint (x: uint):<> uint = "mac#%" fun g0uint_add_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_sub_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_mul_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_div_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_mod_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_lsl_uint (x: uint, n: intGte(0)):<> uint = "mac#%" fun g0uint_lsr_uint (x: uint, n: intGte(0)):<> uint = "mac#%" fun g0uint_lnot_uint (x: uint):<> uint = "mac#%" fun g0uint_lor_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_lxor_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_land_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_isgtz_uint (x: uint):<> bool = "mac#%" fun g0uint_iseqz_uint (x: uint):<> bool = "mac#%" fun g0uint_isneqz_uint (x: uint):<> bool = "mac#%" fun g0uint_lt_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_lte_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_gt_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_gte_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_eq_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_neq_uint (x: uint, y: uint):<> bool = "mac#%" fun g0uint_compare_uint (x: uint, y: uint):<> int = "mac#%" fun g0uint_max_uint (x: uint, y: uint):<> uint = "mac#%" fun g0uint_min_uint (x: uint, y: uint):<> uint = "mac#%" // fun g0uint_succ_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_pred_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_half_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_add_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_sub_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_mul_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_div_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_mod_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_lsl_ulint (x: ulint, n: intGte(0)):<> ulint = "mac#%" fun g0uint_lsr_ulint (x: ulint, n: intGte(0)):<> ulint = "mac#%" fun g0uint_lnot_ulint (x: ulint):<> ulint = "mac#%" fun g0uint_lor_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_lxor_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_land_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_isgtz_ulint (x: ulint):<> bool = "mac#%" fun g0uint_iseqz_ulint (x: ulint):<> bool = "mac#%" fun g0uint_isneqz_ulint (x: ulint):<> bool = "mac#%" fun g0uint_lt_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_lte_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_gt_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_gte_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_eq_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_neq_ulint (x: ulint, y: ulint):<> bool = "mac#%" fun g0uint_compare_ulint (x: ulint, y: ulint):<> int = "mac#%" fun g0uint_max_ulint (x: ulint, y: ulint):<> ulint = "mac#%" fun g0uint_min_ulint (x: ulint, y: ulint):<> ulint = "mac#%" // fun g0uint_succ_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_pred_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_half_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_add_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_sub_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_mul_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_div_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_mod_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_lsl_ullint (x: ullint, n: intGte(0)):<> ullint = "mac#%" fun g0uint_lsr_ullint (x: ullint, n: intGte(0)):<> ullint = "mac#%" fun g0uint_lnot_ullint (x: ullint):<> ullint = "mac#%" fun g0uint_lor_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_lxor_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_land_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_isgtz_ullint (x: ullint):<> bool = "mac#%" fun g0uint_iseqz_ullint (x: ullint):<> bool = "mac#%" fun g0uint_isneqz_ullint (x: ullint):<> bool = "mac#%" fun g0uint_lt_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_lte_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_gt_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_gte_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_eq_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_neq_ullint (x: ullint, y: ullint):<> bool = "mac#%" fun g0uint_compare_ullint (x: ullint, y: ullint):<> int = "mac#%" fun g0uint_max_ullint (x: ullint, y: ullint):<> ullint = "mac#%" fun g0uint_min_ullint (x: ullint, y: ullint):<> ullint = "mac#%" // fun g0uint_succ_size (x: size_t):<> size_t = "mac#%" fun g0uint_pred_size (x: size_t):<> size_t = "mac#%" fun g0uint_half_size (x: size_t):<> size_t = "mac#%" fun g0uint_add_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_sub_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_mul_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_div_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_mod_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_lsl_size (x: size_t, n: intGte(0)):<> size_t = "mac#%" fun g0uint_lsr_size (x: size_t, n: intGte(0)):<> size_t = "mac#%" fun g0uint_lnot_size (x: size_t):<> size_t = "mac#%" fun g0uint_lor_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_lxor_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_land_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_isgtz_size (x: size_t):<> bool = "mac#%" fun g0uint_iseqz_size (x: size_t):<> bool = "mac#%" fun g0uint_isneqz_size (x: size_t):<> bool = "mac#%" fun g0uint_lt_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_lte_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_gt_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_gte_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_eq_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_neq_size (x: size_t, y: size_t):<> bool = "mac#%" fun g0uint_compare_size (x: size_t, y: size_t):<> int = "mac#%" fun g0uint_max_size (x: size_t, y: size_t):<> size_t = "mac#%" fun g0uint_min_size (x: size_t, y: size_t):<> size_t = "mac#%" // (* ****** ****** *) // fun print_uint (uint): void = "mac#%" fun prerr_uint (uint): void = "mac#%" fun fprint_uint : fprint_type (uint) = "mac#%" overload print with print_uint overload prerr with prerr_uint overload fprint with fprint_uint // fun print_ulint (ulint): void = "mac#%" fun prerr_ulint (ulint): void = "mac#%" fun fprint_ulint : fprint_type (ulint) = "mac#%" overload print with print_ulint overload prerr with prerr_ulint overload fprint with fprint_ulint // fun print_ullint (ullint): void = "mac#%" fun prerr_ullint (ullint): void = "mac#%" fun fprint_ullint : fprint_type (ullint) = "mac#%" overload print with print_ullint overload prerr with prerr_ullint overload fprint with fprint_ullint // fun print_size (size_t): void = "mac#%" fun prerr_size (size_t): void = "mac#%" fun fprint_size : fprint_type (size_t) = "mac#%" overload print with print_size overload prerr with prerr_size overload fprint with fprint_size // (* ****** ****** *) // fun g1int_neg_int : g1int_neg_type (intknd) = "mac#%" fun g1int_abs_int : g1int_abs_type (intknd) = "mac#%" fun g1int_succ_int : g1int_succ_type (intknd) = "mac#%" fun g1int_pred_int : g1int_pred_type (intknd) = "mac#%" fun g1int_half_int : g1int_half_type (intknd) = "mac#%" fun g1int_add_int : g1int_add_type (intknd) = "mac#%" fun g1int_sub_int : g1int_sub_type (intknd) = "mac#%" fun g1int_mul_int : g1int_mul_type (intknd) = "mac#%" fun g1int_div_int : g1int_div_type (intknd) = "mac#%" fun g1int_nmod_int : g1int_nmod_type (intknd) = "mac#%" fun g1int_isltz_int : g1int_isltz_type (intknd) = "mac#%" fun g1int_isltez_int : g1int_isltez_type (intknd) = "mac#%" fun g1int_isgtz_int : g1int_isgtz_type (intknd) = "mac#%" fun g1int_isgtez_int : g1int_isgtez_type (intknd) = "mac#%" fun g1int_iseqz_int : g1int_iseqz_type (intknd) = "mac#%" fun g1int_isneqz_int : g1int_isneqz_type (intknd) = "mac#%" fun g1int_lt_int : g1int_lt_type (intknd) = "mac#%" fun g1int_lte_int : g1int_lte_type (intknd) = "mac#%" fun g1int_gt_int : g1int_gt_type (intknd) = "mac#%" fun g1int_gte_int : g1int_gte_type (intknd) = "mac#%" fun g1int_eq_int : g1int_eq_type (intknd) = "mac#%" fun g1int_neq_int : g1int_neq_type (intknd) = "mac#%" fun g1int_compare_int : g1int_compare_type (intknd) = "mac#%" fun g1int_max_int : g1int_max_type (intknd) = "mac#%" fun g1int_min_int : g1int_min_type (intknd) = "mac#%" // fun g1int_neg_lint : g1int_neg_type (lintknd) = "mac#%" fun g1int_abs_lint : g1int_abs_type (lintknd) = "mac#%" fun g1int_succ_lint : g1int_succ_type (lintknd) = "mac#%" fun g1int_pred_lint : g1int_pred_type (lintknd) = "mac#%" fun g1int_half_lint : g1int_half_type (lintknd) = "mac#%" fun g1int_add_lint : g1int_add_type (lintknd) = "mac#%" fun g1int_sub_lint : g1int_sub_type (lintknd) = "mac#%" fun g1int_mul_lint : g1int_mul_type (lintknd) = "mac#%" fun g1int_div_lint : g1int_div_type (lintknd) = "mac#%" fun g1int_nmod_lint : g1int_nmod_type (lintknd) = "mac#%" fun g1int_isltz_lint : g1int_isltz_type (lintknd) = "mac#%" fun g1int_isltez_lint : g1int_isltez_type (lintknd) = "mac#%" fun g1int_isgtz_lint : g1int_isgtz_type (lintknd) = "mac#%" fun g1int_isgtez_lint : g1int_isgtez_type (lintknd) = "mac#%" fun g1int_iseqz_lint : g1int_iseqz_type (lintknd) = "mac#%" fun g1int_isneqz_lint : g1int_isneqz_type (lintknd) = "mac#%" fun g1int_lt_lint : g1int_lt_type (lintknd) = "mac#%" fun g1int_lte_lint : g1int_lte_type (lintknd) = "mac#%" fun g1int_gt_lint : g1int_gt_type (lintknd) = "mac#%" fun g1int_gte_lint : g1int_gte_type (lintknd) = "mac#%" fun g1int_eq_lint : g1int_eq_type (lintknd) = "mac#%" fun g1int_neq_lint : g1int_neq_type (lintknd) = "mac#%" fun g1int_compare_lint : g1int_compare_type (lintknd) = "mac#%" fun g1int_max_lint : g1int_max_type (lintknd) = "mac#%" fun g1int_min_lint : g1int_min_type (lintknd) = "mac#%" // fun g1int_neg_llint : g1int_neg_type (llintknd) = "mac#%" fun g1int_abs_llint : g1int_abs_type (llintknd) = "mac#%" fun g1int_succ_llint : g1int_succ_type (llintknd) = "mac#%" fun g1int_pred_llint : g1int_pred_type (llintknd) = "mac#%" fun g1int_half_llint : g1int_half_type (llintknd) = "mac#%" fun g1int_add_llint : g1int_add_type (llintknd) = "mac#%" fun g1int_sub_llint : g1int_sub_type (llintknd) = "mac#%" fun g1int_mul_llint : g1int_mul_type (llintknd) = "mac#%" fun g1int_div_llint : g1int_div_type (llintknd) = "mac#%" fun g1int_nmod_llint : g1int_nmod_type (llintknd) = "mac#%" fun g1int_isltz_llint : g1int_isltz_type (llintknd) = "mac#%" fun g1int_isltez_llint : g1int_isltez_type (llintknd) = "mac#%" fun g1int_isgtz_llint : g1int_isgtz_type (llintknd) = "mac#%" fun g1int_isgtez_llint : g1int_isgtez_type (llintknd) = "mac#%" fun g1int_iseqz_llint : g1int_iseqz_type (llintknd) = "mac#%" fun g1int_isneqz_llint : g1int_isneqz_type (llintknd) = "mac#%" fun g1int_lt_llint : g1int_lt_type (llintknd) = "mac#%" fun g1int_lte_llint : g1int_lte_type (llintknd) = "mac#%" fun g1int_gt_llint : g1int_gt_type (llintknd) = "mac#%" fun g1int_gte_llint : g1int_gte_type (llintknd) = "mac#%" fun g1int_eq_llint : g1int_eq_type (llintknd) = "mac#%" fun g1int_neq_llint : g1int_neq_type (llintknd) = "mac#%" fun g1int_compare_llint : g1int_compare_type (llintknd) = "mac#%" fun g1int_max_llint : g1int_max_type (llintknd) = "mac#%" fun g1int_min_llint : g1int_min_type (llintknd) = "mac#%" // fun g1int_neg_ssize : g1int_neg_type (ssizeknd) = "mac#%" fun g1int_abs_ssize : g1int_abs_type (ssizeknd) = "mac#%" fun g1int_succ_ssize : g1int_succ_type (ssizeknd) = "mac#%" fun g1int_pred_ssize : g1int_pred_type (ssizeknd) = "mac#%" fun g1int_half_ssize : g1int_half_type (ssizeknd) = "mac#%" fun g1int_add_ssize : g1int_add_type (ssizeknd) = "mac#%" fun g1int_sub_ssize : g1int_sub_type (ssizeknd) = "mac#%" fun g1int_mul_ssize : g1int_mul_type (ssizeknd) = "mac#%" fun g1int_div_ssize : g1int_div_type (ssizeknd) = "mac#%" fun g1int_nmod_ssize : g1int_nmod_type (ssizeknd) = "mac#%" fun g1int_isltz_ssize : g1int_isltz_type (ssizeknd) = "mac#%" fun g1int_isltez_ssize : g1int_isltez_type (ssizeknd) = "mac#%" fun g1int_isgtz_ssize : g1int_isgtz_type (ssizeknd) = "mac#%" fun g1int_isgtez_ssize : g1int_isgtez_type (ssizeknd) = "mac#%" fun g1int_iseqz_ssize : g1int_iseqz_type (ssizeknd) = "mac#%" fun g1int_isneqz_ssize : g1int_isneqz_type (ssizeknd) = "mac#%" fun g1int_lt_ssize : g1int_lt_type (ssizeknd) = "mac#%" fun g1int_lte_ssize : g1int_lte_type (ssizeknd) = "mac#%" fun g1int_gt_ssize : g1int_gt_type (ssizeknd) = "mac#%" fun g1int_gte_ssize : g1int_gte_type (ssizeknd) = "mac#%" fun g1int_eq_ssize : g1int_eq_type (ssizeknd) = "mac#%" fun g1int_neq_ssize : g1int_neq_type (ssizeknd) = "mac#%" fun g1int_compare_ssize : g1int_compare_type (ssizeknd) = "mac#%" fun g1int_max_ssize : g1int_max_type (ssizeknd) = "mac#%" fun g1int_min_ssize : g1int_min_type (ssizeknd) = "mac#%" // (* ****** ****** *) // fun g1uint_succ_uint : g1uint_succ_type (uintknd) = "mac#%" fun g1uint_pred_uint : g1uint_pred_type (uintknd) = "mac#%" fun g1uint_half_uint : g1uint_half_type (uintknd) = "mac#%" fun g1uint_add_uint : g1uint_add_type (uintknd) = "mac#%" fun g1uint_sub_uint : g1uint_sub_type (uintknd) = "mac#%" fun g1uint_mul_uint : g1uint_mul_type (uintknd) = "mac#%" fun g1uint_div_uint : g1uint_div_type (uintknd) = "mac#%" fun g1uint_mod_uint : g1uint_mod_type (uintknd) = "mac#%" fun g1uint_isgtz_uint : g1uint_isgtz_type (uintknd) = "mac#%" fun g1uint_iseqz_uint : g1uint_iseqz_type (uintknd) = "mac#%" fun g1uint_isneqz_uint : g1uint_isneqz_type (uintknd) = "mac#%" fun g1uint_lt_uint : g1uint_lt_type (uintknd) = "mac#%" fun g1uint_lte_uint : g1uint_lte_type (uintknd) = "mac#%" fun g1uint_gt_uint : g1uint_gt_type (uintknd) = "mac#%" fun g1uint_gte_uint : g1uint_gte_type (uintknd) = "mac#%" fun g1uint_eq_uint : g1uint_eq_type (uintknd) = "mac#%" fun g1uint_neq_uint : g1uint_neq_type (uintknd) = "mac#%" fun g1uint_compare_uint : g1uint_compare_type (uintknd) = "mac#%" fun g1uint_max_uint : g1uint_max_type (uintknd) = "mac#%" fun g1uint_min_uint : g1uint_min_type (uintknd) = "mac#%" // fun g1uint_succ_ulint : g1uint_succ_type (ulintknd) = "mac#%" fun g1uint_pred_ulint : g1uint_pred_type (ulintknd) = "mac#%" fun g1uint_half_ulint : g1uint_half_type (ulintknd) = "mac#%" fun g1uint_add_ulint : g1uint_add_type (ulintknd) = "mac#%" fun g1uint_sub_ulint : g1uint_sub_type (ulintknd) = "mac#%" fun g1uint_mul_ulint : g1uint_mul_type (ulintknd) = "mac#%" fun g1uint_div_ulint : g1uint_div_type (ulintknd) = "mac#%" fun g1uint_mod_ulint : g1uint_mod_type (ulintknd) = "mac#%" fun g1uint_isgtz_ulint : g1uint_isgtz_type (ulintknd) = "mac#%" fun g1uint_iseqz_ulint : g1uint_iseqz_type (ulintknd) = "mac#%" fun g1uint_isneqz_ulint : g1uint_isneqz_type (ulintknd) = "mac#%" fun g1uint_lt_ulint : g1uint_lt_type (ulintknd) = "mac#%" fun g1uint_lte_ulint : g1uint_lte_type (ulintknd) = "mac#%" fun g1uint_gt_ulint : g1uint_gt_type (ulintknd) = "mac#%" fun g1uint_gte_ulint : g1uint_gte_type (ulintknd) = "mac#%" fun g1uint_eq_ulint : g1uint_eq_type (ulintknd) = "mac#%" fun g1uint_neq_ulint : g1uint_neq_type (ulintknd) = "mac#%" fun g1uint_compare_ulint : g1uint_compare_type (ulintknd) = "mac#%" fun g1uint_max_ulint : g1uint_max_type (ulintknd) = "mac#%" fun g1uint_min_ulint : g1uint_min_type (ulintknd) = "mac#%" // fun g1uint_succ_ullint : g1uint_succ_type (ullintknd) = "mac#%" fun g1uint_pred_ullint : g1uint_pred_type (ullintknd) = "mac#%" fun g1uint_half_ullint : g1uint_half_type (ullintknd) = "mac#%" fun g1uint_add_ullint : g1uint_add_type (ullintknd) = "mac#%" fun g1uint_sub_ullint : g1uint_sub_type (ullintknd) = "mac#%" fun g1uint_mul_ullint : g1uint_mul_type (ullintknd) = "mac#%" fun g1uint_div_ullint : g1uint_div_type (ullintknd) = "mac#%" fun g1uint_mod_ullint : g1uint_mod_type (ullintknd) = "mac#%" fun g1uint_isgtz_ullint : g1uint_isgtz_type (ullintknd) = "mac#%" fun g1uint_iseqz_ullint : g1uint_iseqz_type (ullintknd) = "mac#%" fun g1uint_isneqz_ullint : g1uint_isneqz_type (ullintknd) = "mac#%" fun g1uint_lt_ullint : g1uint_lt_type (ullintknd) = "mac#%" fun g1uint_lte_ullint : g1uint_lte_type (ullintknd) = "mac#%" fun g1uint_gt_ullint : g1uint_gt_type (ullintknd) = "mac#%" fun g1uint_gte_ullint : g1uint_gte_type (ullintknd) = "mac#%" fun g1uint_eq_ullint : g1uint_eq_type (ullintknd) = "mac#%" fun g1uint_neq_ullint : g1uint_neq_type (ullintknd) = "mac#%" fun g1uint_compare_ullint : g1uint_compare_type (ullintknd) = "mac#%" fun g1uint_max_ullint : g1uint_max_type (ullintknd) = "mac#%" fun g1uint_min_ullint : g1uint_min_type (ullintknd) = "mac#%" // fun g1uint_succ_size : g1uint_succ_type (sizeknd) = "mac#%" fun g1uint_pred_size : g1uint_pred_type (sizeknd) = "mac#%" fun g1uint_half_size : g1uint_half_type (sizeknd) = "mac#%" fun g1uint_add_size : g1uint_add_type (sizeknd) = "mac#%" fun g1uint_sub_size : g1uint_sub_type (sizeknd) = "mac#%" fun g1uint_mul_size : g1uint_mul_type (sizeknd) = "mac#%" fun g1uint_div_size : g1uint_div_type (sizeknd) = "mac#%" fun g1uint_mod_size : g1uint_mod_type (sizeknd) = "mac#%" fun g1uint_isgtz_size : g1uint_isgtz_type (sizeknd) = "mac#%" fun g1uint_iseqz_size : g1uint_iseqz_type (sizeknd) = "mac#%" fun g1uint_isneqz_size : g1uint_isneqz_type (sizeknd) = "mac#%" fun g1uint_lt_size : g1uint_lt_type (sizeknd) = "mac#%" fun g1uint_lte_size : g1uint_lte_type (sizeknd) = "mac#%" fun g1uint_gt_size : g1uint_gt_type (sizeknd) = "mac#%" fun g1uint_gte_size : g1uint_gte_type (sizeknd) = "mac#%" fun g1uint_eq_size : g1uint_eq_type (sizeknd) = "mac#%" fun g1uint_neq_size : g1uint_neq_type (sizeknd) = "mac#%" fun g1uint_compare_size : g1uint_compare_type (sizeknd) = "mac#%" fun g1uint_max_size : g1uint_max_type (sizeknd) = "mac#%" fun g1uint_min_size : g1uint_min_type (sizeknd) = "mac#%" // (* ****** ****** *) // macdef g0i2i (x) = g0int2int (,(x)) macdef g1i2i (x) = g1int2int (,(x)) // macdef g0i2u (x) = g0int2uint (,(x)) macdef g1i2u (x) = g1int2uint (,(x)) // macdef g0u2i (x) = g0uint2int (,(x)) macdef g1u2i (x) = g1uint2int (,(x)) // macdef g0u2u (x) = g0uint2uint (,(x)) macdef g1u2u (x) = g1uint2uint (,(x)) // macdef i2u (x) = g1int2uint_int_uint (,(x)) macdef i2sz (x) = g1int2uint_int_size (,(x)) macdef i2ssz (x) = g1int2int_int_ssize (,(x)) // (* ****** ****** *) // macdef u2i (x) = g1uint2int_uint_int (,(x)) macdef u2sz (x) = g1uint2uint_uint_size (,(x)) // (* ****** ****** *) // (* macdef sz2i (x) = g1uint2int_size_int (,(x)) macdef sz2u (x) = g1uint2uint_size_uint (,(x)) *) // symintr sz2i overload sz2i with g0uint2int_size_int of 0 overload sz2i with g1uint2int_size_int of 10 // symintr sz2u overload sz2u with g0uint2uint_size_uint of 0 overload sz2u with g1uint2uint_size_uint of 10 // (* ****** ****** *) (* end of [integer.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/unsafe.sats0000664000175000017500000001534612655455557017336 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/unsafe.atxt ** Time of generation: Fri Oct 2 22:17:55 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.prelude.unsafe" (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) // praxi prop_assert{b:bool}((*void*)): [b] void // praxi eqint_assert{i1,i2:int}((*void*)): EQINT(i1,i2) praxi eqaddr_assert{l1,l2:addr}((*void*)): EQADDR(l1,l2) praxi eqbool_assert{b1,b2:bool}((*void*)): EQBOOL(b1,b2) // (* ****** ****** *) // castfn cast{to:t0p}{from:t0p} (x: INV(from)):<> to // (* ****** ****** *) // castfn castvwtp0 {to:vt0p}{from:vt0p} (x: INV(from)):<> to // // HX: // [castvwtp1] is mostly used in a situation // where a linear value is passed as a read-only value; // for instance, casting [strptr] to [string] is often // done for treating a linear string as a nonlinear one // temporarily. // castfn castvwtp1 {to:vt0p}{from:vt0p} (x: !INV(from)>>from):<> to // (* ****** ****** *) // castfn cast2ptr {a:type} (x: INV(a)):<> ptr castfn cast2Ptr0 {a:type} (x: INV(a)):<> Ptr0 castfn cast2Ptr1 {a:type} (x: INV(a)):<> Ptr1 // castfn cast2int {a:t0p} (x: INV(a)):<> int castfn cast2uint {a:t0p} (x: INV(a)):<> uint // castfn cast2lint {a:t0p} (x: INV(a)):<> lint castfn cast2ulint {a:t0p} (x: INV(a)):<> ulint // castfn cast2llint {a:t0p} (x: INV(a)):<> llint castfn cast2ullint {a:t0p} (x: INV(a)):<> ullint // castfn cast2size {a:t0p} (x: INV(a)):<> size_t castfn cast2ssize {a:t0p} (x: INV(a)):<> ssize_t // castfn cast2sint {a:t0p} (x: INV(a)):<> sint castfn cast2usint {a:t0p} (x: INV(a)):<> usint // castfn cast2intptr {a:t0p} (x: INV(a)):<> intptr castfn cast2uintptr {a:t0p} (x: INV(a)):<> uintptr // (* ****** ****** *) praxi cast2void {a:vt0p} (x: INV(a)): void (* ****** ****** *) // praxi castview0 {to:view}{from:view} (pf: from): to praxi castview1 {to:view}{from:view} (pf: !INV(from)): to // praxi castview2void {to:view}{from:view} (x: !INV(from) >> to): void // praxi castvwtp2void {to:vt0p}{from:vt0p} (x: !INV(from) >> to): void // (* ****** ****** *) fun{} int2ptr (i: int): ptr and ptr2int (p: ptr): int (* ****** ****** *) // // HX: these are popular ones: // castfn list_vt2t {a:t0p}{n:int} (xs: !list_vt (INV(a), n)):<> list (a, n) // end of [list_vt2t] castfn arrayptr2ref {a:vt0p}{n:int} (x: !arrayptr (INV(a), n)):<> arrayref (a, n) // end of [arrayptr2ref] castfn strptr2string {l:agz} (x: !strptr l):<> String0 castfn strptr2stropt {l:addr} (x: !strptr l):<> Stropt0 castfn strnptr2string {l:addr}{n:nat} (x: !strnptr (l, n)):<> string (n) (* ****** ****** *) // // HX: only if you know what you are doing ... // symintr ptr_vtake castfn ptr0_vtake {a:vt0p} (ptr):<> [l:addr] (a@l, a@l - void | ptr l) overload ptr_vtake with ptr0_vtake of 0 castfn ptr1_vtake {a:vt0p}{l:addr} (ptr l):<> (a@l, a@l - void | ptr l) overload ptr_vtake with ptr1_vtake of 10 (* ****** ****** *) castfn ref_vtake{a:vt0p} {l:addr} (r: ref (a)):<> [l:addr] (a@l, a@l - void | ptr l) // end of [ref_vtake] (* ****** ****** *) praxi vtakeout_void {v:view} (pf: !v): vtakeout0 (v) castfn vttakeout_void {a:vt0p} (x: !a):<> vttakeout0 (a) (* ****** ****** *) // // HX: only if you know what you are doing ... // fun{a:vt0p} ptr0_get (p: ptr):<> a fun{a:vt0p} ptr1_get (p: Ptr1):<> a // fun{a:vt0p} ptr0_set (p: ptr, x: INV(a)): void fun{a:vt0p} ptr1_set (p: Ptr1, x: INV(a)): void // fun{a:vt0p} ptr0_exch (p: ptr, x: &INV(a) >> a): void fun{a:vt0p} ptr1_exch (p: Ptr1, x: &INV(a) >> a): void // fun{a:vt0p} ptr0_intch (p1: ptr, p2: ptr): void fun{a:vt0p} ptr1_intch (p1: Ptr1, p2: Ptr1): void // (* ****** ****** *) // fun{a:vt0p} ptr0_get_at_int (p: ptr, i: int):<> a fun{a:vt0p} ptr0_set_at_int (p: ptr, i: int, x: a): void fun{a:vt0p} ptr0_get_at_size (p: ptr, i: size_t):<> a fun{a:vt0p} ptr0_set_at_size (p: ptr, i: size_t, x: a): void // symintr ptr0_get_at symintr ptr0_set_at // overload ptr0_get_at with ptr0_get_at_int overload ptr0_get_at with ptr0_get_at_size overload ptr0_set_at with ptr0_set_at_int overload ptr0_set_at with ptr0_set_at_size // (* ****** ****** *) // // HX-2012-06: // generic ops on numbers: +=, -=, *=, /=, %= // fun{a:t0p} ptr0_addby (p: ptr, x: a): void // !p += x fun{a:t0p} ptr1_addby (p: Ptr1, x: a): void // !p += x // fun{a:t0p} ptr0_subby (p: ptr, x: a): void // !p -= x fun{a:t0p} ptr1_subby (p: Ptr1, x: a): void // !p -= x // fun{a:t0p} ptr0_mulby (p: ptr, x: a): void // !p *= x fun{a:t0p} ptr1_mulby (p: Ptr1, x: a): void // !p *= x // fun{a:t0p} ptr0_divby (p: ptr, x: a): void // !p /= x fun{a:t0p} ptr1_divby (p: Ptr1, x: a): void // !p /= x // fun{a:t0p} ptr0_modby (p: ptr, x: a): void // !p %= x fun{a:t0p} ptr1_modby (p: Ptr1, x: a): void // !p %= x // (* ****** ****** *) fun{a:vt0p} ptr1_list_next (p: Ptr1): Ptr0 // HX: &(p->next) (* ****** ****** *) // // HX: only if you know what you are doing ... // castfn ptr2cptr{a:vt0p}{l:addr} (p: ptr(l)):<> cptr (a, l) // (* ****** ****** *) // castfn cptr_vtake {a:vt0p}{l:agz} (p: cptr (INV(a), l)):<> (a@l, a@l - void | ptr l) // end of [cptr_vtake] // fun{a:vt0p} cptr_get (p: cPtr1 (INV(a))):<> a fun{a:vt0p} cptr_set (p: cPtr1 (INV(a)), x: a): void fun{a:vt0p} cptr_exch (p: cPtr1 (INV(a)), x: &a >> a): void // (* ****** ****** *) (* end of [unsafe.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/memory.sats0000664000175000017500000000600212655455557017352 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/memory.atxt ** Time of generation: Sat Jun 27 21:39:00 2015 *) (* ****** ****** *) typedef bytes (n:int) = @[byte][n] typedef b0ytes (n:int) = @[byte?][n] (* ****** ****** *) viewdef bytes_v (l:addr, n:int) = bytes (n) @ l viewdef b0ytes_v (l:addr, n:int) = b0ytes (n) @ l (* ****** ****** *) praxi b0ytes2bytes {l:addr}{n:int} (&b0ytes(n) >> bytes(n)): void // end of [b0ytes2bytes] praxi b0ytes2bytes_v {l:addr}{n:int} (pf: b0ytes_v (l, n)): bytes_v (l, n) // end of [b0ytes2bytes_v] (* ****** ****** *) prfun bytes_v_split {l:addr} {n:int}{i:nat | i <= n} (pf: bytes_v (l, n)): (bytes_v (l, i), bytes_v (l+i, n-i)) // end of [bytes_v_split] prfun bytes_v_split_at {l:addr} {n:int}{i:nat | i <= n} (pf: bytes_v (l, n) | i: size_t (i)): (bytes_v (l, i), bytes_v (l+i, n-i)) // end of [bytes_v_split_at] (* ****** ****** *) prfun bytes_v_unsplit {l:addr}{n1,n2:int} (pf1: bytes_v (l, n1), pf2: bytes_v (l+n1, n2)): bytes_v (l, n1+n2) // end of [bytes_v_unsplit] (* ****** ****** *) // // HX-2013-08: // for memory initialization // fun minit_gc (): void = "mac#%" // (* ****** ****** *) fun mfree_gc {l:addr}{n:int} ( pfat: b0ytes n @ l , pfgc: mfree_gc_v (l) | ptr l ) : void = "mac#%" fun malloc_gc {n:int} ( bsz: size_t (n) ) : [l:agz] ( b0ytes n @ l, mfree_gc_v (l) | ptr l ) = "mac#%" // endfun (* ****** ****** *) absview memory$free_v (l:addr) (* ****** ****** *) fun{ } memory$free {l:addr}{n:int} ( pfat: b0ytes n @ l , pfmf: memory$free_v (l) | ptr l ) : void // end-of-fun fun{ } memory$alloc {n:int} ( bsz: size_t (n) ) : [l:agz] ( b0ytes n @ l, memory$free_v (l) | ptr l ) (* end of [memory$alloc] *) (* ****** ****** *) (* end of [memory.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/matrixptr.sats0000664000175000017500000001644012655455557020103 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/matrixptr.atxt ** Time of generation: Sat Jun 27 21:39:14 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) absvtype matrixptr_vt0ype_addr_int_int_vtype (a:vt@ype+, l: addr, m: int, n: int) = ptr // stadef matrixptr = matrixptr_vt0ype_addr_int_int_vtype vtypedef matrixptr (a:vt@ype, m: int, n: int) = [l:addr] matrixptr(a, l, m, n) // (* ****** ****** *) absvtype matrixptrout_vt0ype_addr_int_int_vtype (a:vt@ype, l: addr, m: int, n: int) = ptr // stadef matrixptrout = matrixptrout_vt0ype_addr_int_int_vtype // (* ****** ****** *) praxi lemma_matrixptr_param{a:vt0p} {l:addr}{m,n:int} (A: !matrixptr(a, l, m, n)): [m >= 0; n >= 0] void // end of [lemma_matrixptr_param] (* ****** ****** *) castfn matrixptr_encode : {a:vt0p}{l:addr}{m,n:int} (matrix_v(INV(a), l, m, n), mfree_gc_v(l) | ptr l) -<0> matrixptr(a, l, m, n) // end of [matrixptr_encode] castfn matrixptr_encode2 : {a:vt0p}{l:addr}{m,n:int} @(matrix_v(INV(a), l, m, n), mfree_gc_v(l) | ptr l) -<0> matrixptr(a, l, m, n) // end of [matrixptr_encode2] (* ****** ****** *) // castfn matrixptr2ptr {a:vt0p} {l:addr}{m,n:int} (A: !matrixptr(INV(a), l, m, n)):<> ptr(l) // castfn matrixptrout2ptr {a:t0p} {l:addr}{m,n:int} (A: !matrixptrout(INV(a), l, m, n)):<> ptr(l) // (* ****** ****** *) praxi matrixptr_takeout {a:vt0p}{l:addr}{m,n:int} ( !matrixptr(INV(a), l, m, n) >> matrixptrout(a?, l, m, n) ) : matrix_v(a, l, m, n) // endfun praxi matrixptr_addback {a:vt0p}{l:addr}{m,n:int} ( pf: matrix_v(INV(a), l, m, n) | mat: !matrixptrout(a?, l, m, n) >> matrixptr(a, l, m, n) ) : void // end of [matrixptr_addback] (* ****** ****** *) fun{ } arrayptr2matrixptr_int {a:vt0p}{l:addr}{m,n:nat} (A: arrayptr(INV(a), l, m*n), m: int m, n: int n):<> matrixptr(a, l, m, n) fun{ } arrayptr2matrixptr_size {a:vt0p}{l:addr}{m,n:int} (A: arrayptr(INV(a), l, m*n), m: size_t m, n: size_t n):<> matrixptr(a, l, m, n) // symintr arrayptr2matrixptr overload arrayptr2matrixptr with arrayptr2matrixptr_int overload arrayptr2matrixptr with arrayptr2matrixptr_size // (* ****** ****** *) fun{ a:t0p } matrixptr_make_elt {m,n:int} (m: size_t m, n: size_t n, x: a): matrixptr(a, m, n) // end of [matrixptr_make_elt] (* ****** ****** *) fun{a:t0p} matrixptr_get_at_int {m,n:int} ( A: !matrixptr(INV(a), m, n), i: natLt (m), n: int n, j: natLt (n) ) :<> (a) // end of [matrixptr_get_at_int] fun{a:t0p} matrixptr_get_at_size {m,n:int} ( A: !matrixptr(INV(a), m, n), i: sizeLt (m), n: size_t n, j: sizeLt (n) ) :<> (a) // end of [matrixptr_get_at_size] // symintr matrixptr_get_at overload matrixptr_get_at with matrixptr_get_at_int of 0 overload matrixptr_get_at with matrixptr_get_at_size of 0 // (* ****** ****** *) fun{a:t0p} matrixptr_set_at_int {m,n:int} ( A: !matrixptr(INV(a), m, n), i: natLt (m), n: int n, j: natLt (n), x: a ) : void // end of [matrixptr_set_at_int] fun{a:t0p} matrixptr_set_at_size {m,n:int} ( A: !matrixptr(INV(a), m, n), i: sizeLt (m), n: size_t n, j: sizeLt (n), x: a ) : void // end of [matrixptr_set_at_size] // symintr matrixptr_set_at overload matrixptr_set_at with matrixptr_set_at_int of 0 overload matrixptr_set_at with matrixptr_set_at_size of 0 // (* ****** ****** *) fun{a:vt0p} matrixptr_exch_at_int {m,n:int} ( A: !matrixptr(INV(a), m, n) , i: natLt (m), n: int n, j: natLt (n), x: &a>>a ) : void // end of [matrixptr_exch_at_int] fun{a:vt0p} matrixptr_exch_at_size {m,n:int} ( A: !matrixptr(INV(a), m, n) , i: sizeLt (m), n: size_t n, j: sizeLt (n), x: &a>>a ) : void // end of [matrixptr_exch_at_size] // symintr matrixptr_exch_at overload matrixptr_exch_at with matrixptr_exch_at_int overload matrixptr_exch_at with matrixptr_exch_at_size // (* ****** ****** *) (* fprint_matrix$sep1 // col separation fprint_matrix$sep2 // row separation *) fun{a:vt0p} fprint_matrixptr{m,n:int} ( out: FILEref , M: !matrixptr(INV(a), m, n), m: size_t m, n: size_t n ) : void // end of [fprint_matrixptr] fun{a:vt0p} fprint_matrixptr_sep{m,n:int} ( out: FILEref , M: !matrixptr(INV(a), m, n), m: size_t (m), n: size_t (n) , sep1: NSH(string), sep2: NSH(string) ) : void // end of [fprint_matrixptr_sep] (* ****** ****** *) fun matrixptr_free {a:t0p}{l:addr}{m,n:int} (A: matrixptr(INV(a), l, m, n)): void = "mac#%" // end of [matrixptr_free] (* fun{a:vt0p} matrix_uninitize$clear (i: size_t, j: size_t, x: &a >> a?): void *) fun{ a:vt0p } matrixptr_freelin {l:addr}{m,n:int} (A: matrixptr(INV(a), l, m, n)): void = "mac#%" // end of [matrixptr_freelin] (* ****** ****** *) // (* fun{a:vt0p} matrix_tabulate$fopr (i: size_t, j: size_t): (a) *) fun{a:vt0p} matrixptr_tabulate {m,n:int} (nrow: size_t m, ncol: size_t n): matrixptr (a, m, n) // fun{a:vt0p} matrixptr_tabulate_cloref {m,n:int} ( nrow: size_t m, ncol: size_t n, f: (sizeLt(m), sizeLt(n)) - a ) : matrixptr (a, m, n) // end-of-fun // (* ****** ****** *) (* fun{ a:vt0p}{env:vt0p } matrix_foreach$fwork (x: &a >> _, env: &(env) >> _): void *) // fun{ a:vt0p } matrixptr_foreach{m,n:int} ( A: !matrixptr(INV(a), m, n) >> _, m: size_t m, n: size_t n ) : void // end of [matrixptr_foreach] fun{ a:vt0p}{env:vt0p } matrixptr_foreach_env{m,n:int} ( A: !matrixptr(INV(a), m, n) >> _, m: size_t m, n: size_t n, env: &(env) >> _ ) : void // end of [matrixptr_foreach_env] (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with matrixptr_get_at_int overload [] with matrixptr_get_at_size overload [] with matrixptr_set_at_int overload [] with matrixptr_set_at_size (* ****** ****** *) overload fprint with fprint_matrixptr overload fprint with fprint_matrixptr_sep (* ****** ****** *) overload ptrcast with matrixptr2ptr overload ptrcast with matrixptrout2ptr (* ****** ****** *) (* end of [matrixptr.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/gorder.sats0000664000175000017500000000636712655455557017342 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/gorder.atxt ** Time of generation: Sat Jun 27 21:39:08 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) // // HX: generic ordering ops // (* ****** ****** *) // fun {a:t0p} gisltz_val (x: a):<> bool fun {a:t0p} gisltez_val (x: a):<> bool // fun {a:t0p} gisgtz_val (x: a):<> bool fun {a:t0p} gisgtez_val (x: a):<> bool // fun {a:t0p} giseqz_val (x: a):<> bool fun {a:t0p} gisneqz_val (x: a):<> bool // (* ****** ****** *) // fun {a:t0p} glt_val_val (x: a, y: a):<> bool fun {a:t0p} glte_val_val (x: a, y: a):<> bool // fun {a:t0p} ggt_val_val (x: a, y: a):<> bool fun {a:t0p} ggte_val_val (x: a, y: a):<> bool // (* ****** ****** *) // fun {a:t0p} glt_val_int (x: a, y: int):<> bool fun {a:t0p} glte_val_int (x: a, y: int):<> bool // fun {a:t0p} ggt_val_int (x: a, y: int):<> bool fun {a:t0p} ggte_val_int (x: a, y: int):<> bool // (* ****** ****** *) // fun {a:t0p} geq_val_val (x: a, y: a):<> bool fun {a:t0p} gneq_val_val (x: a, y: a):<> bool // (* ****** ****** *) // fun {a:t0p} geq_val_int (x: a, y: int):<> bool fun {a:t0p} gneq_val_int (x: a, y: int):<> bool // (* ****** ****** *) // fun {a:t0p} gcompare_val_val (x: a, y: a):<> int // (* ****** ****** *) // fun {a:t0p} gmax_val_val (x: a, y: a):<> (a) fun {a:t0p} gmin_val_val (x: a, y: a):<> (a) // (* ****** ****** *) // fun {a:vt0p} glt_ref_ref (x: &INV(a), y: &a):<> bool fun {a:vt0p} glte_ref_ref (x: &INV(a), y: &a):<> bool // fun {a:vt0p} ggt_ref_ref (x: &INV(a), y: &a):<> bool fun {a:vt0p} ggte_ref_ref (x: &INV(a), y: &a):<> bool // (* ****** ****** *) // fun {a:vt0p} geq_ref_ref (x: &INV(a), y: &a):<> bool fun {a:vt0p} gneq_ref_ref (x: &INV(a), y: &a):<> bool // (* ****** ****** *) // fun {a:vt0p} gcompare_ref_ref (x: &INV(a), y: &a):<> int // (* ****** ****** *) (* end of [gorder.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/option.sats0000664000175000017500000000661112655455557017360 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/option.atxt ** Time of generation: Sat Jun 27 21:39:12 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) #if(0) // // HX: these decls are available in [basic_dyn.sats] // stadef option = option_t0ype_bool_type typedef Option (a:t0p) = [b:bool] option (a, b) #endif (* ****** ****** *) exception NotSomeExn of () (* fun NotSomeExn ():<> exn = "mac#%NotSomeExn_make" fun isNotSomeExn (x: !exn):<> bool = "mac#%isNotSomeExn" macdef ifNotSomeExn {tres}(exn, body) = ( let val x = ,(exn) in ( if isNotSomeExn(x) then let prval () = __vfree_exn (x) in ,(body) end else $raise (x) ) : tres // end of [if] end (* end of [let] *) ) // end of [ifNotSomeExn] *) (* ****** ****** *) // castfn option_cast {a:t0p}{b:bool} (opt: option (INV(a), b)):<> option (a, b) // (* ****** ****** *) // castfn option_vt2t {a:t0p}{b:bool} (opt: option_vt (INV(a), b)):<> option (a, b) castfn option_of_option_vt {a:t0p}{b:bool} (opt: option_vt (INV(a), b)):<> option (a, b) // (* ****** ****** *) fun{a:t0p} option_some (x: a):<> option (a, true) fun{a:t0p} option_none ((*void*)):<> option (a, false) (* ****** ****** *) fun{} option_is_some{a:t0p} {b:bool} (opt: option (a, b)):<> bool (b) // end of [option_is_some] fun{} option_is_none{a:t0p} {b:bool} (opt: option (a, b)):<> bool (~b) // end of [option_is_none] (* ****** ****** *) fun{a:t0p} option_unsome (opt: option (INV(a), true)):<> a fun{a:t0p} option_unsome_exn (opt: Option (INV(a))): a (* ****** ****** *) // fun{a:t0p} option_equal$eqfn (a, a):<> bool fun{a:t0p} option_equal (opt1: Option(a), opt2: Option(a)):<> bool // (* ****** ****** *) // fun{a:t0p} fprint_option (out: FILEref, opt: Option (INV(a))): void // overload fprint with fprint_option // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload = with option_equal (* ****** ****** *) overload iseqz with option_is_none overload isneqz with option_is_some (* ****** ****** *) (* end of [option.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/arith_prf.sats0000664000175000017500000001705212655455557020027 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/arith_prf.atxt ** Time of generation: Sat Jun 27 21:39:02 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) dataprop MUL (int, int, int) = | {n:int} MULbas (0, n, 0) | {m:nat}{n:int}{p:int} MULind (m+1, n, p+n) of MUL (m, n, p) | {m:pos}{n:int}{p:int} MULneg (~m, n, ~p) of MUL (m, n, p) // end of [MUL] (* ****** ****** *) praxi mul_make : {m,n:int} () - MUL (m, n, m*n) praxi mul_elim : {m,n:int} {p:int} MUL (m, n, p) - [p == m*n] void (* ****** ****** *) prfun mul_istot {m,n:int} (): [p:int] MUL (m, n, p) prfun mul_isfun {m,n:int} {p1,p2:int} (pf1: MUL (m, n, p1), pf2: MUL (m, n, p2)): [p1==p2] void prfun mul_isfun2 {m,n:int} {p1,p2:int} (pf1: MUL (m, n, p1), pf2: MUL (m, n, p2)): EQINT (p1, p2) (* ****** ****** *) // // HX: (m+i)*n = m*n+i*n // praxi mul_add_const {i:int} {m,n:int} {p:int} (pf: MUL (m, n, p)): MUL (m+i, n, p+i*n) // end of [mul_add_const] (* ****** ****** *) // // HX: (ax+b)*(cy+d) = ac*xy + ad*x + bc*y + bd // praxi mul_expand_linear // a,b,c,d: constants! {a,b:int} {c,d:int} {x,y:int} {xy:int} ( pf: MUL (x, y, xy) ) : MUL (a*x+b, c*y+d, a*c*xy+a*d*x+b*c*y+b*d) // end of [mul_expand_linear] (* ****** ****** *) // // HX: (a1x1+a2x2+b)*(c1y1+c2y2+d) = ... // praxi mul_expand2_linear // a1,b1,c1,a2,b2,c2: constants! {a1,a2,b:int} {c1,c2,d:int} {x1,x2:int} {y1,y2:int} {x1y1,x1y2,x2y1,x2y2:int} ( pf11: MUL (x1, y1, x1y1), pf12: MUL (x1, y2, x1y2) , pf21: MUL (x2, y1, x2y1), pf22: MUL (x2, y2, x2y2) ) : MUL ( a1*x1+a2*x2+b , c1*y1+c2*y2+d , a1*c1*x1y1 + a1*c2*x1y2 + a2*c1*x2y1 + a2*c2*x2y2 + a1*d*x1 + a2*d*x2 + b*c1*y1 + b*c2*y2 + b*d ) // end of [mul_expand2_linear] (* ****** ****** *) prfun mul_gte_gte_gte : {m,n:int | m >= 0; n >= 0} () - [m*n >= 0] void prfun mul_lte_gte_lte : {m,n:int | m <= 0; n >= 0} () - [m*n <= 0] void prfun mul_gte_lte_lte : {m,n:int | m >= 0; n <= 0} () - [m*n <= 0] void prfun mul_lte_lte_gte : {m,n:int | m <= 0; n <= 0} () - [m*n >= 0] void (* ****** ****** *) prfun mul_nat_nat_nat : {m,n:nat} {p:int} MUL (m, n, p) - [p >= 0] void prfun mul_pos_pos_pos : {m,n:pos} {p:int} MUL (m, n, p) - [p >= m+n-1] void (* ****** ****** *) prfun mul_negate {m,n:int} {p:int} (pf: MUL (m, n, p)): MUL (~m, n, ~p) prfun mul_negate2 {m,n:int} {p:int} (pf: MUL (m, n, p)): MUL (m, ~n, ~p) (* ****** ****** *) // // HX: m*n = n*m // prfun mul_commute {m,n:int} {p:int} (pf: MUL (m, n, p)): MUL (n, m, p) prfun mul_is_commutative {m,n:int} {p,q:int} (pf1: MUL (m, n, p), pf2: MUL (n, m, q)): [p==q] void (* ****** ****** *) // // HX: m*(n1+n2) = m*n1+m*n2 // prfun mul_distribute {m:int} {n1,n2:int} {p1,p2:int} (pf1: MUL (m, n1, p1), pf2: MUL (m, n2, p2)): MUL (m, n1+n2, p1+p2) // // HX: (m1+m2)*n = m1*n + m2*n // prfun mul_distribute2 {m1,m2:int} {n:int} {p1,p2:int} (pf1: MUL (m1, n, p1), pf2: MUL (m2, n, p2)): MUL (m1+m2, n, p1+p2) // (* ****** ****** *) prfun mul_is_associative {x,y,z:int} {xy,yz:int} {xy_z,x_yz:int} ( pf1: MUL (x, y, xy), pf2: MUL (y, z, yz) , pf3: MUL (xy, z, xy_z), pf4: MUL (x, yz, x_yz) ) : [xy_z==x_yz] void (* ****** ****** *) // // HX-2010-12-30: // absprop DIVMOD ( x:int, y: int, q: int, r: int // x = q * y + r ) // end of [DIVMOD] propdef DIV (x:int, y:int, q:int) = [r:int] DIVMOD (x, y, q, r) propdef MOD (x:int, y:int, r:int) = [q:int] DIVMOD (x, y, q, r) (* ****** ****** *) // praxi div_istot {x,y:int | x >= 0; y > 0} (): DIV (x, y, x/y) // praxi divmod_istot {x,y:int | x >= 0; y > 0} ((*void*)): [q,r:nat | r < y] DIVMOD (x, y, q, r) // (* ****** ****** *) praxi divmod_isfun {x,y:int | x >= 0; y > 0} {q1,q2:int} {r1,r2:int} ( pf1: DIVMOD (x, y, q1, r1) , pf2: DIVMOD (x, y, q2, r2) ) : [q1==q2;r1==r2] void // end of [divmod_isfun] (* ****** ****** *) praxi divmod_elim {x,y:int | x >= 0; y > 0} {q,r:int} ( pf: DIVMOD (x, y, q, r) ) : [qy:nat | 0 <= r; r < y; x==qy+r] MUL (q, y, qy) praxi divmod_mul_elim {x,y:int | x >= 0; y > 0} {q,r:int} (pf: DIVMOD (x, y, q, r)) : [0 <= q; 0 <= r; r < y; q==ndiv_int_int(x, y); x==q*y+r] void // end of [divmod_mul_elim] (* ****** ****** *) // dataprop EXP2 (int, int) = | EXP2bas (0, 1) | {n:nat}{p:nat} EXP2ind (n+1, 2*p) of EXP2 (n, p) // end of [EXP2] // prfun lemma_exp2_param : {n:int}{p:int} EXP2 (n, p) - [n>=0;p>=1] void // end of [lemma_exp2_param] // prfun exp2_istot {n:nat} (): [p:nat] EXP2 (n, p) prfun exp2_isfun {n:nat} {p1,p2:int} (pf1: EXP2 (n, p1), pf2: EXP2 (n, p2)): [p1==p2] void // end of [exp2_isfun] // // HX: proven in [arith_prf.dats] // prfun exp2_ispos {n:nat} {p:int} (pf: EXP2 (n, p)): [p >= 1] void // end of [exp2_ispos] // // HX: proven in [arith_prf.dats] // prfun exp2_is_mono {n1,n2:nat | n1 <= n2} {p1,p2:int} (pf1: EXP2 (n1, p1), pf2: EXP2 (n2, p2)): [p1 <= p2] void // end of [exp2_is_mono] // // HX: proven in [arith_prf.dats] // prfun exp2_muladd {n1,n2:nat | n1 <= n2} {p1,p2:int} {p:int} ( pf1: EXP2 (n1, p1), pf2: EXP2 (n2, p2), pf3: MUL (p1, p2, p) ) : EXP2 (n1+n2, p) // end of [exp2_muladd] // (* ****** ****** *) absprop EXP (int(*base*), int(*power*), int(*res*)) praxi lemma_exp_param {b:int}{n:int}{p:int} (pf: EXP (b, n, p)): [n >= 0] void // end of [lemma_exp_param] praxi exp_istot {b:int}{n:nat} (): [p:nat] EXP (b, n, p) praxi exp_isfun {b:int}{n:int}{p1,p2:int} (pf1: EXP (b, n, p1), pf2: EXP (b, n, p2)): [p1==p2] void // end of [exp_isfun] praxi exp_elim_0 {n:pos}{p:int} (pf: EXP (0, n, p)): [p==0] void praxi exp_elim_1 {n:int}{p:int} (pf: EXP (1, n, p)): [p==1] void praxi exp_elim_2 {n:int}{p:int} (pf: EXP (2, n, p)): EXP2 (n, p) praxi exp_elim_b_0 {b:int}{p:int} (pf: EXP (b, 0, p)): [p==1] void praxi exp_elim_b_1 {b:int}{p:int} (pf: EXP (b, 1, p)): [p==b] void praxi exp_elim_b_2 {b:int}{p:int} (pf: EXP (b, 2, p)): MUL (b, b, p) praxi exp_muladd {b:int}{n1,n2:int}{p1,p2:int}{p:int} ( pf1: EXP (b, n1, p1), pf2: EXP (b, n2, p2) ) : EXP (b, n1+n2, p1*p2) // end of [exp_muladd] praxi exp_expmul {b:int}{n1,n2:int}{bn1:int}{bn1n2:int} ( pf1: EXP (b, n1, bn1), pf2: EXP (bn1, n2, bn1n2) ) : EXP (b, n1*n2, bn1n2) // end of [exp_muladd] (* ****** ****** *) (* end of [arith_prf.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/tuple.sats0000664000175000017500000000641212655455557017200 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/tuple.atxt ** Time of generation: Sat Jun 27 21:39:02 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: December, 2012 *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) typedef tup2 (a0:t0p, a1:t0p) = @(a0, a1) stadef tup = tup2 typedef tup3 (a0:t0p, a1:t0p, a2:t0p) = @(a0, a1, a2) stadef tup = tup3 typedef tup4 (a0:t0p, a1:t0p, a2:t0p, a3:t0p) = @(a0, a1, a2, a3) stadef tup = tup4 (* ****** ****** *) fun{} fprint_tup$beg (out: FILEref): void fun{} fprint_tup$end (out: FILEref): void fun{} fprint_tup$sep (out: FILEref): void (* ****** ****** *) fun{ a0,a1:t0p } fprint_tupval2 (out: FILEref, x: @(a0, a1)): void fun{ a0,a1,a2:t0p } fprint_tupval3 (out: FILEref, x: @(a0, a1, a2)): void fun{ a0,a1,a2,a3:t0p } fprint_tupval4 (out: FILEref, x: @(a0, a1, a2, a3)): void (* ****** ****** *) fun{ a0,a1:vt0p } fprint_tupref2 (out: FILEref, x: &(a0, a1)): void fun{ a0,a1,a2:vt0p } fprint_tupref3 (out: FILEref, x: &(a0, a1, a2)): void fun{ a0,a1,a2,a3:vt0p } fprint_tupref4 (out: FILEref, x: &(a0, a1, a2, a3)): void (* ****** ****** *) fun{ a0,a1:t0p } tupval2_compare (x: @(a0, a1), y: @(a0, a1)):<> int // end of [tupval2_compare] fun{ a0,a1,a2:t0p } tupval3_compare (x: @(a0, a1, a2), y: @(a0, a1, a2)):<> int // end of [tupval3_compare] fun{ a0,a1,a2,a3:t0p } tupval4_compare (x: @(a0, a1, a2, a3), y: @(a0, a1, a2, a3)):<> int // end of [tupval4_compare] (* ****** ****** *) fun{ a0,a1:vt0p } tupref2_compare (x: &(a0, a1), y: &(a0, a1)):<> int // end of [tupref2_compare] fun{ a0,a1,a2:vt0p } tupref3_compare (x: &(a0, a1, a2), y: &(a0, a1, a2)):<> int // end of [tupref3_compare] fun{ a0,a1,a2,a3:vt0p } tupref4_compare (x: &(a0, a1, a2, a3), y: &(a0, a1, a2, a3)):<> int // end of [tupref4_compare] (* ****** ****** *) (* end of [tuple.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/checkast.sats0000664000175000017500000000610512655455557017633 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/checkast.atxt ** Time of generation: Sat Jun 27 21:39:07 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: December, 2013 *) (* ****** ****** *) #define ATS_PACKNAME "ATSLIB.prelude.checkast" (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) fun{tk:tk} checkast_gintLt{i:int} (x: g0int(tk), i: int i, msg: RD(string)): g1intLt(tk, i) fun{tk:tk} checkast_gintLte{i:int} (x: g0int(tk), i: int i, msg: RD(string)): g1intLte(tk, i) fun{tk:tk} checkast_gintGt{i:int} (x: g0int(tk), i: int i, msg: RD(string)): g1intGt(tk, i) fun{tk:tk} checkast_gintGte{i:int} (x: g0int(tk), i: int i, msg: RD(string)): g1intGte(tk, i) fun{tk:tk} checkast_gintBtw{i,j:int} (x: g0int(tk), i: int i, j: int j, msg: RD(string)): g1intBtw(tk, i, j) fun{tk:tk} checkast_gintBtwe{i,j:int} (x: g0int(tk), i: int i, j: int j, msg: RD(string)): g1intBtwe(tk, i, j) (* ****** ****** *) macdef ckastloc_gintLt (x, i) = checkast_gintLt (,(x), ,(i), $mylocation) macdef ckastloc_gintLte (x, i) = checkast_gintLte (,(x), ,(i), $mylocation) macdef ckastloc_gintGt (x, i) = checkast_gintGt (,(x), ,(i), $mylocation) macdef ckastloc_gintGte (x, i) = checkast_gintGte (,(x), ,(i), $mylocation) macdef ckastloc_gintBtw (x, i, j) = checkast_gintBtw (,(x), ,(i), ,(j), $mylocation) macdef ckastloc_gintBtwe (x, i, j) = checkast_gintBtwe (,(x), ,(i), ,(j), $mylocation) (* ****** ****** *) fun{} checkast_Ptr1 (x: ptr, msg: RD(string)): Ptr1 (* ****** ****** *) macdef ckastloc_Ptr1 (x) = checkast_Ptr1 (,(x), $mylocation) (* ****** ****** *) fun{} checkast_Strptr1 (x: Strptr0, msg: RD(string)): Strptr1 (* ****** ****** *) macdef ckastloc_Strptr1 (x) = checkast_Strptr1 (,(x), $mylocation) (* ****** ****** *) (* end of [checkast.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/giterator.sats0000664000175000017500000003711012655455557020046 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/giterator.atxt ** Time of generation: Sat Jun 27 21:39:15 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) sortdef tk = tkind sortdef t0p = t@ype sortdef vtp = viewtype sortdef vt0p = viewt@ype (* ****** ****** *) // absviewtype giter_viewtype ( // HX: boxed knd: tkind, kpm: tkind, x: viewt@ype+, f: int, r: int ) // end of [giter_viewtype] stadef giter_5 = giter_viewtype // viewtypedef giter_3 ( knd: tkind, kpm: tkind, x: vt0p ) = [f,r:int] giter_viewtype (knd, kpm, x, f, r) viewtypedef giter_4 ( knd: tkind, kpm: tkind, x: vt0p, fr:int ) = [f,r:int | f+r==fr] giter_viewtype (knd, kpm, x, f, r) // stadef giter = giter_3 stadef giter = giter_4 stadef giter = giter_5 // (* ****** ****** *) prfun lemma_giter_param {knd:tk}{kpm:tk}{x:vt0p}{f,r:int} (itr: !giter (knd, kpm, x, f, r)): [f>=0;r>=0] void // end of [lemma_giter_param] (* ****** ****** *) // // HX: for fun list giters // stacst giter_list_kind : tkind stacst giter_list_param : () -> tkind fun{x:t0p} giter_make_list {n:int} ( xs: list (INV(x), n) ) : giter (giter_list_kind, giter_list_param(), x, 0, n) // end of [giter_make_list] fun giter_free_list {x:t0p}{f,r:int} ( itr: giter (giter_list_kind, giter_list_param(), x, f, r) ) : list (x, r) // end of [giter_free_list] (* ****** ****** *) // // HX: for singly-linked list giters // stacst giter_list_vt_kind : tkind stacst giter_list_vt_param : () -> tkind fun{x:t0p} giter_make_list_vt {n:int} ( xs: list_vt (INV(x), n) ) : giter (giter_list_vt_kind, giter_list_vt_param(), x, 0, n) // end of [giter_make_list_vt] fun giter_free_list_vt {x:t0p}{f,r:int} ( itr: giter (giter_list_vt_kind, giter_list_vt_param(), x, f, r) ) : list_vt (x, f+r) // end of [giter_free_list_vt] (* ****** ****** *) // // HX: for linear array giters // stacst giter_array_kind : tkind stacst giter_array_param : (addr) -> tkind fun{x:vt0p} giter_make_array {l:addr}{n:int} ( pf: array_v (INV(x), l, n) | p: ptr l, n: size_t n ) : giter (giter_array_kind, giter_array_param(l), x, 0, n) // end of [giter_make_array] fun giter_free_array {x:vt0p}{l:addr}{f,r:int} ( itr: giter (giter_array_kind, giter_array_param(l), x, f, r) ) : (array_v (x, l, f+r) | void) // endfun (* ****** ****** *) // // HX: for functional string giters // stacst giter_string_kind : tkind stacst giter_string_param : () -> tkind fun giter_make_string {n:int} ( str: string (n) ) : giter ( giter_string_kind, giter_string_param(), char, 0, n ) // end of [giter_make_string] fun giter_free_string {f,r:int} ( itr: giter (giter_string_kind, giter_string_param(), char, f, r) ) : string (f+r) // end of [giter_free_string] (* ****** ****** *) fun{ knd:tk }{x:vt0p } fprint_giter_sep {kpm:tk}{f,r:int} ( out: FILEref , itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+r, 0) , sep: NSH(string) ) : void // end of [fprint_giter_sep] (* ****** ****** *) macdef BEG = 0 and END = 1 (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_is_atbeg {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)):<> bool (f==0) // end of [giter_is_atbeg] fun{ knd:tk}{x:vt0p } giter_isnot_atbeg {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)):<> bool (f > 0) // end of [giter_isnot_atbeg] fun{ knd:tk}{x:vt0p } eq_int_iter {kpm:tk}{f,r:int} ( BEG: int(0), itr: !giter (knd, kpm, INV(x), f, r) ) : bool (f==0) // end of [eq_int_iter] fun{ knd:tk}{x:vt0p } lt_int_iter {kpm:tk}{f,r:int} ( BEG: int(0), itr: !giter (knd, kpm, INV(x), f, r) ) : bool (f > 0) // end of [lt_int_iter] overload = with eq_int_iter overload < with lt_int_iter (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_is_atend {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)):<> bool (r==0) // end of [giter_is_atend] fun{ knd:tk}{x:vt0p } giter_isnot_atend {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)):<> bool (r > 0) // end of [giter_isnot_atend] fun{ knd:tk}{x:vt0p } eq_giter_int {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r), END: int(1) ) : bool (r==0) // end of [eq_giter_int] fun{ knd:tk}{x:vt0p } lt_giter_int {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r), END: int(1) ) : bool (r > 0) // end of [lt_giter_int] overload = with eq_giter_int overload < with lt_giter_int (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_get {kpm:tk}{f,r:int | r > 0} (itr: !giter (knd, kpm, INV(x), f, r)): x // end of [giter_get] fun{ knd:tk}{x:t0p } giter_set {kpm:tk}{f,r:int | r > 0} (itr: !giter (knd, kpm, INV(x), f, r), x: x): void // end of [giter_set] fun{ knd:tk}{x:vt0p } giter_exch {kpm:tk}{f,r:int | r > 0} (itr: !giter (knd, kpm, INV(x), f, r), x: &x >> x): void // end of [giter_exch] overload get with giter_get overload set with giter_set overload exch with giter_exch fun{ knd:tk}{x:vt0p } giter_getref {kpm:tk}{f,r:int | r > 0} (itr: !giter (knd, kpm, INV(x), f, r)): Ptr1 // end of [giter_getref] fun{ knd:tk}{x:vt0p } giter_vttake {kpm:tk}{f,r:int | r > 0} (itr: !giter (knd, kpm, INV(x), f, r)): vttakeout0 (x) // end of [giter_vttake] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1) ) : void // end of [giter_inc] fun{ knd:tk}{x:vt0p } giter_dec {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1) ) : void // end of [giter_dec] overload ++ with giter_inc overload -- with giter_dec overload inc with giter_inc overload dec with giter_dec (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_get_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1) ) : x // end of [giter_get_inc] fun{ knd:tk}{x:t0p } giter_set_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1), x: x ) : void // end of [giter_set_inc] fun{ knd:tk}{x:vt0p } giter_exch_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1) , x: &x >> x ) : void // end of [giter_exch_inc] overload !++ with giter_get_inc overload =++ with giter_set_inc overload getinc with giter_get_inc overload setinc with giter_set_inc overload exchinc with giter_exch_inc fun{ knd:tk}{x:vt0p } giter_getref_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1) ) : Ptr1 // end of [giter_getref_inc] fun{ knd:tk}{x:vt0p } giter_vttake_inc {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r-1) ) : vttakeout0 (x) // end of [giter_vttake_inc] (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_dec_get {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1) ) : x // end of [giter_dec_get] fun{ knd:tk}{x:t0p } giter_dec_set {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1), x: x ) : void // end of [giter_dec_set] fun{ knd:tk}{x:vt0p } giter_dec_exch {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1) , x: &x >> x ) : void // end of [giter_dec_exch] overload --! with giter_dec_get overload --= with giter_dec_set overload decget with giter_dec_get overload decset with giter_dec_set overload decexch with giter_dec_exch fun{ knd:tk}{x:vt0p } giter_dec_getref {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1) ) : Ptr1 // end of [giter_dec_getref] fun{ knd:tk}{x:vt0p } giter_dec_vttake {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r+1) ) : vttakeout0 (x) // end of [giter_dec_vttake] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_get_fofs {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)): size_t (f) // end of [giter_get_fofs] fun{ knd:tk}{x:vt0p } giter_get_rofs {kpm:tk}{f,r:int} (itr: !giter (knd, kpm, INV(x), f, r)): size_t (r) // end of [giter_get_rofs] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_fjmp // forward-jmp {kpm:tk} {f,r:int} {i:int | 0 <= i; i <= r} ( // // HX: O(log(n))-time expected (O(1) for arrays) // itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+i, r-i), i: size_t (i) ) : void // end of [giter_fjmp] (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_fget_at // forward-get {kpm:tk} {f,r:int} {i:int | 0 <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: size_t (i) ) : x // end of [giter_fget_at] fun{ knd:tk}{x:t0p } giter_fset_at // forward-set {kpm:tk} {f,r:int} {i:int | 0 <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: size_t (i), x: x ) : void // end of [giter_fset_at] fun{ knd:tk}{x:vt0p } giter_fexch_at // forward-exch {kpm:tk} {f,r:int} {i:int | 0 <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: size_t (i), x: &x >> x ) : void // end of [giter_fexch_at] fun{ knd:tk}{x:vt0p } giter_fgetref_at // forward-get {kpm:tk} {f,r:int} {i:int | 0 <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: size_t (i) ) : Ptr1 // end of [giter_fgetref_at] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_fbjmp // forward/backward-jmp {kpm:tk} {f,r:int} {i:int | ~f <= i; i <= r} ( // // HX: O(log(n))-time expected (O(1) for arrays) // itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+i, r-i), i: ssize_t (i) ) : void // end of [giter_fbjmp] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_fbgetref_at // forward/backward-getref {kpm:tk} {f,r:int} {i:int | ~f <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: ssize_t (i) ) : Ptr1 // end of [giter_fbgetref_at] fun{ knd:tk}{x:t0p } giter_fbget_at // forward/backward-get {kpm:tk} {f,r:int} {i:int | ~f <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: ssize_t (i) ) : x // end of [giter_fbget_at] fun{ knd:tk}{x:t0p } giter_fbset_at // forward/backward-set {kpm:tk} {f,r:int} {i:int | ~f <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: ssize_t (i), x: x ) : void // end of [giter_fbset_at] fun{ knd:tk}{x:vt0p } giter_fbexch_at // forward/backward-exch {kpm:tk} {f,r:int} {i:int | ~f <= i; i < r} ( itr: !giter (knd, kpm, INV(x), f, r), i: ssize_t (i), x: &x >> x ) : void // end of [giter_fbexch_at] (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_fgetlst // // forward-getlst // {kpm:tk} {f,r:int} {i:nat} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+i1, r-i1) , i: &int i >> int (i-i1) ) : #[ i1:int | i1==min(i, r) ] list_vt (x, i1) // end of [giter_fgetlst] fun{ knd:tk}{x:t0p } giter_bgetlst // // backward-getlst // {kpm:tk} {f,r:int} {i:nat} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-i1, r+i1) , i: &int i >> int (i-i1) ) : #[ i1:int | i1==min(i, f) ] list_vt (x, i1) // end of [giter_bgetlst] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_ins {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f, r+1), x: x ) : void // end of [giter_ins] fun{ knd:tk}{x:vt0p } giter_ins_inc {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+1, r), x: x ) : void // end of [giter_ins_inc] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_rmv {kpm:tk}{f,r:int | r > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f, r-1) ) : x(*removed*) // end of [giter_rmv] fun{ knd:tk}{x:vt0p } giter_dec_rmv {kpm:tk}{f,r:int | f > 0} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f-1, r) ) : x(*removed*) // end of [giter_dec_rmv] (* ****** ****** *) // // HX: some common generic functions on giters // (* ****** ****** *) fun{ knd:tk}{x:t0p } giter_listize_cpy {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+r, 0) ) : list_vt (x, r) // end of [giter_listize_cpy] fun{ knd:tk}{x:t0p } giter_rlistize_cpy {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f+r, 0) ) : list_vt (x, r) // end of [giter_rlistize_cpy] (* ****** ****** *) fun{ knd:tk}{x:vt0p } giter_listize_rmv {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f, 0) ) : list_vt (x, r) // end of [giter_listize_rmv] fun{ knd:tk}{x:vt0p } giter_rlistize_rmv {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f, 0) ) : list_vt (x, r) // end of [giter_rlistize_rmv] (* ****** ****** *) fun{ x:vt0p}{env:vt0p } giter_foreach$cont (x: &x, env: &env): bool fun{ x:vt0p}{env:vt0p } giter_foreach$fwork (x: &x, env: &env): void fun{ knd:tk}{x:vt0p } giter_foreach {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f1, r1) ) : #[f1,r1:int | f <= f1; f+r==f1+r1] void // end of [giter_foreach] fun{ knd:tk}{x:vt0p}{env:vt0p } giter_foreach_env {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f1, r1) , env: &(env) >> env ) : #[f1,r1:int | f <= f1; f+r==f1+r1] void // end of [giter_foreach_env] (* ****** ****** *) fun{ x:vt0p}{env:vt0p } giter_rforeach$cont (x: &x, env: &env): bool fun{ x:vt0p}{env:vt0p } giter_rforeach$fwork (x: &x, env: &env): void fun{ knd:tk}{x:vt0p } giter_rforeach {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f1, r1) ) : #[f1,r1:int | f >= f1; f+r==f1+r1] void // end of [giter_rforeach] fun{ knd:tk}{x:vt0p}{env:vt0p } giter_rforeach_env {kpm:tk}{f,r:int} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f1, r1) , env: &(env) >> env ) : #[f1,r1:int | f <= f1; f+r==f1+r1] void // end of [giter_rforeach_env] (* ****** ****** *) (* ** HX-2012-05: ** Note that [iter] should support at least log-time ** fjmp and fget in order to make binary search meaningful. ** ** ford (x) = cmp (x0, x), where [x0] is the key being searched ** ** The after-interator points to the left-most location ** where the value [x0] can be inserted without violating ** orderedness. *) fun{x:vt0p} giter_bsearch$ford (x: &x): int fun{ knd:tk}{x:vt0p } giter_bsearch {kpm:tk} {f,r:int} {ra:int | ra <= r} ( itr: !giter (knd, kpm, INV(x), f, r) >> giter (knd, kpm, x, f1, r1) , ra: size_t (ra) // range being searched ) : #[ f1,r1:int | f1>=f;f+ra>=f1;f1+r1==f+r ] void // end of [giter_bsearch] (* ****** ****** *) (* end of [giterator.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/extern.sats0000664000175000017500000000661612655455557017362 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/extern.atxt ** Time of generation: Sat Jun 27 21:39:19 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2012 *) (* ****** ****** *) sortdef vt0p = viewt@ype (* ****** ****** *) abstype carrayptr (a:t@ype, l:addr, n:int) = ptr(l) typedef carrayptr0 (a:t@ype, n:int) = [l:addr] carrayptr (a, l, n) typedef carrayptr1 (a:t@ype, n:int) = [l:addr | l > null] carrayptr (a, l, n) (* ****** ****** *) // // HX-2014-01-30: these are inherently unsafe: // castfn carrayptr_null {a:t@ype}{n:nat} (p: ptr(null)):<> carrayptr (a, null, n) castfn carrayptr_array {a:t@ype}{n:int} (A: &array(INV(a), n)):<> carrayptr1 (a, n) castfn carrayptr_arrayref {a:t@ype}{n:int} (A: arrayref(INV(a), n)):<> carrayptr1 (a, n) castfn carrayptr_arrayptr {a:t@ype}{l:addr}{n:int} (A: !arrayptr(INV(a), l, n)):<> [l > null] carrayptr (a, l, n) // (* ****** ****** *) symintr carrayptr overload carrayptr with carrayptr_null overload carrayptr with carrayptr_array overload carrayptr with carrayptr_arrayref overload carrayptr with carrayptr_arrayptr (* ****** ****** *) // // HX: note that (vt1 \minus v2) roughly means that a ticket of // [v2] is taken from [vt1]; the ticket must be returned before // [vt1] is consumed. However, the ticket should not be issued // repeatedly for otherwise safety may be potentially compromised. // absview minus_viewt0ype_view_view (vt1: vt0p, v2: view) = vt1 viewdef minus(vt1: vt0p, v2: view) = minus_viewt0ype_view_view(vt1, v2) // praxi minus_addback {vt1:vt0p}{v2:view} (pf1: minus (vt1, v2), pf2: v2 | x: !vt1): void // (* ****** ****** *) vtypedef vtget0 (vt1:vt0p, vt2: vt0p) = (minus (vt1, vt2) | vt2) (* ****** ****** *) castfn argv_takeout_strarr {n:int} ( argv: !argv (n) ) :<> [l:addr] ( array_v (string, l, n), minus (argv n, array_v (string, l, n)) | ptr l ) // end of [argv_takeout_strarr] castfn argv_takeout_parray {n:int} ( argv: !argv (n) ) :<> [l:addr] ( parray_v (string, l, n), minus (argv n, parray_v (string, l, n)) | ptr l ) // end of [argv_takeout_parray] (* ****** ****** *) (* end of [extern.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/intrange.sats0000664000175000017500000000567712655455557017672 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/intrange.atxt ** Time of generation: Sat Jun 27 21:39:08 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: June, 2012 *) (* ****** ****** *) // // HX-2013-04: // intrange (l, r) is for integers i satisfying l <= i < r // (* ****** ****** *) // fun{} intrange_foreach (l: int, r: int): int fun{env:vt0p} intrange_foreach_env (l: int, r: int, env: &(env) >> _): int // fun{env:vt0p} intrange_foreach$cont (i: int, env: &env): bool fun{env:vt0p} intrange_foreach$fwork (i: int, env: &(env) >> _): void // (* ****** ****** *) fun{} int_foreach_cloref ( n: int, fwork: (int) - void ) : int // end of [int_foreach_cloref] fun{} intrange_foreach_cloref ( l: int, r: int, fwork: (int) - void ) : int // end of [intrange_foreach_cloref] (* ****** ****** *) // fun{} intrange_rforeach (l: int, r: int): int fun{env:vt0p} intrange_rforeach_env (l: int, r: int, env: &(env) >> _): int // fun{env:vt0p} intrange_rforeach$cont (i: int, env: &env): bool fun{env:vt0p} intrange_rforeach$fwork (i: int, env: &(env) >> _): void // (* ****** ****** *) fun{} int_rforeach_cloref ( n: int, fwork: (int) - void ) : int // end of [int_rforeach_cloref] fun{} intrange_rforeach_cloref ( l: int, r: int, fwork: (int) - void ) : int // end of [intrange_rforeach_cloref] (* ****** ****** *) // fun{} intrange2_foreach (l1: int, r1: int, l2: int, r2: int): void // fun{env:vt0p} intrange2_foreach_env (l1: int, r1: int, l2: int, r2: int, env: &(env) >> _): void // fun{env:vt0p} intrange2_foreach$fwork (i: int, j: int, env: &env >> _): void // (* ****** ****** *) (* end of [intrange.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/stream_vt.sats0000664000175000017500000001231212655455557020047 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/stream_vt.atxt ** Time of generation: Fri Oct 23 21:36:28 2015 *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = vt@ype (* ****** ****** *) // // HX: lazy linear streams // datavtype stream_vt_con (a:vt@ype+) = | stream_vt_nil of ((*void*)) | stream_vt_cons of (a, stream_vt(a)) // where stream_vt(a:vt@ype) = lazy_vt(stream_vt_con(a)) // (* ****** ****** *) vtypedef streamopt_vt (a:vt0p) = Option_vt(stream_vt(a)) (* ****** ****** *) // // HX-2014-04-07: // this is a regular function // instead of a cast function // fun{a:t0p} stream_vt2t (xs: stream_vt (INV(a))): stream (a) // (* ****** ****** *) fun{a:vt0p} stream2list_vt (xs: stream_vt (INV(a))): List0_vt (a) // end of [stream2list_vt] (* ****** ****** *) fun{a:t0p} stream_vt_free (xs: stream_vt a): void (* ****** ****** *) // fun{a:t0p} stream_vt_drop_exn (xs: stream_vt(INV(a)), n: intGte(0)): stream_vt(a) // end of [stream_vt_drop_exn] // fun{a:t0p} stream_vt_drop_opt (xs: stream_vt(INV(a)), n: intGte(0)): streamopt_vt(a) // end of [stream_vt_drop_opt] // (* ****** ****** *) // fun{a:t0p} stream_vt_head (xs: stream_vt(INV(a))): (a) fun{a:t0p} stream_vt_tail (xs: stream_vt(INV(a))): stream_vt(a) // fun{a:vt0p} stream_vt_uncons (xs: &stream_vt(INV(a)) >> stream_vt(a)): (a) // (* ****** ****** *) fun{ a:vt0p}{env:vt0p } stream_vt_foreach$fwork (x: &a >> a?!, env: &env >> _): void // lin-cleared fun{a:vt0p} stream_vt_foreach (xs: stream_vt (INV(a))): void fun{ a:vt0p}{env:vt0p } stream_vt_foreach_env (xs: stream_vt (INV(a)), &env >> _): void (* ****** ****** *) // fun{a:vt0p} stream_vt_filter$pred (x: &a):<> bool // fun{a:t0p} stream_vt_filter (xs: stream_vt (INV(a))): stream_vt (a) // fun{a:t0p} stream_vt_filter_fun ( xs: stream_vt (INV(a)), pred: (&a) - bool ) : stream_vt (a) // end of [stream_vt_filter_fun] fun{a:t0p} stream_vt_filter_cloptr ( xs: stream_vt (INV(a)), pred: (&a) - bool ) : stream_vt (a) // end of [stream_vt_filter_cloptr] // fun{a:vt0p} stream_vt_filterlin$clear (x: &a >> a?): void fun{a:vt0p} stream_vt_filterlin (xs: stream_vt (INV(a))): stream_vt (a) // (* ****** ****** *) // fun{ a:vt0p}{b:vt0p } stream_vt_map$fopr (x: &a >> a?!): b // lin-cleared fun{ a:vt0p}{b:vt0p } stream_vt_map (xs: stream_vt (INV(a))): stream_vt (b) // fun{ a:vt0p}{b:vt0p } stream_vt_map_fun (xs: stream_vt (INV(a)), f: (&a >> a?!) - b): stream_vt (b) fun{ a:vt0p}{b:vt0p } stream_vt_map_cloptr (xs: stream_vt (INV(a)), f: (&a >> a?!) - b): stream_vt (b) // (* ****** ****** *) // fun{ a1,a2:t0p}{b:vt0p } stream_vt_map2$fopr (x1: &a1 >> _, x2: &a2 >> _): b fun{ a1,a2:t0p}{b:vt0p } stream_vt_map2 ( xs1: stream_vt (INV(a1)) , xs2: stream_vt (INV(a2)) ) : stream_vt (b) // end of [stream_vt_map2] // fun{ a1,a2:t0p}{b:vt0p } stream_vt_map2_fun ( xs1: stream_vt (INV(a1)) , xs2: stream_vt (INV(a2)) , f: (&a1 >> _, &a2 >> _) - b ) : stream_vt (b) // end of [stream_vt_map2_fun] fun{ a1,a2:t0p}{b:vt0p } stream_vt_map2_cloptr ( xs1: stream_vt (INV(a1)) , xs2: stream_vt (INV(a2)) , f: (&a1 >> _, &a2 >> _) - b ) : stream_vt (b) // end of [stream_vt_map2_cloptr] // (* ****** ****** *) fun{a:vt0p} stream_vt_tabulate (): stream_vt (a) fun{a:vt0p} stream_vt_tabulate$fopr (i: intGte(0)): (a) (* ****** ****** *) // absvtype streamer_vtype (a:vt@ype+) = ptr // vtypedef streamer_vt (a:vt0p) = streamer_vtype (a) // (* ****** ****** *) // fun{} streamer_vt_make {a:vt0p} (stream_vt(INV(a))): streamer_vt(a) // fun{} streamer_vt_free{a:vt0p} (streamer_vt(INV(a))): void // fun{ a:vt@ype } streamer_vt_eval_exn (xser: !streamer_vt(INV(a))): (a) // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) (* ****** ****** *) overload ~ with streamer_vt_free (* ****** ****** *) overload [] with streamer_vt_eval_exn (* ****** ****** *) overload .head with stream_vt_head overload .tail with stream_vt_tail (* ****** ****** *) (* end of [stream_vt.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/grandom.sats0000664000175000017500000000433512655455557017500 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/grandom.atxt ** Time of generation: Sun Jun 28 01:21:19 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: gmhwxiATgmailDOTcom *) (* Start time: June, 2015 *) (* ****** ****** *) // fun{a:vt0p} grandom_val (): a // for randval generation // fun{a:vt0p} // for random value grandom_ref (x: &(a?) >> a): void // initialization // (* ****** ****** *) // fun{} grandom_int(): int fun{} grandom_uint(): uint // fun{} grandom_bool(): bool // fun{} grandom_float(): float fun{} grandom_double(): double // (* ****** ****** *) // fun{a:t0p} grandom_list {n:nat}(n: int(n)): list(a, n) // fun{a:vt0p} grandom_list_vt {n:nat}(n: int(n)): list_vt(a, n) // (* ****** ****** *) // fun{a:vt0p} grandom_arrayptr {n:int}(asz: size_t(n)): arrayptr(a, n) fun{a:vt0p} grandom_arrayref {n:int}(asz: size_t(n)): arrayref(a, n) // fun{a:vt0p} grandom_arrszref(asz: size_t): arrszref(a) // (* ****** ****** *) (* end of [grandom.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/list_vt.sats0000664000175000017500000002714012655455557017534 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/list_vt.atxt ** Time of generation: Sat Jun 27 21:39:11 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) #if(0) // // HX: these decls are available in [basic_dyn.sats] // datavtype // vt@ype+: covariant list_vt0ype_int_vtype (a:vt@ype+, int) = | {n:int | n >= 0} list_vt_cons (a, n+1) of (a, list_vt0ype_int_vtype (a, n)) | list_vt_nil (a, 0) of ((*void*)) // end of [list_vt0ype_int_vtype] // stadef list_vt = list_vt0ype_int_vtype vtypedef List_vt (a:vt0p) = [n:int] list_vt (a, n) vtypedef List0_vt (a:vt0p) = [n:int | n >= 0] list_vt (a, n) vtypedef List1_vt (a:vt0p) = [n:int | n >= 1] list_vt (a, n) vtypedef listLt_vt (a:vt0p, n:int) = [k:nat | k < n] list_vt (a, k) vtypedef listLte_vt (a:vt0p, n:int) = [k:nat | k <= n] list_vt (a, k) vtypedef listGt_vt (a:vt0p, n:int) = [k:int | k > n] list_vt (a, k) vtypedef listGte_vt (a:vt0p, n:int) = [k:int | k >= n] list_vt (a, k) vtypedef listBtw_vt (a:vt0p, m:int, n:int) = [k:int | m <= k; k < n] list_vt (a, k) vtypedef listBtwe_vt (a:vt0p, m:int, n:int) = [k:int | m <= k; k <= n] list_vt (a, k) // #endif (* ****** ****** *) #define nil_vt list_vt_nil #define cons_vt list_vt_cons (* ****** ****** *) prfun lemma_list_vt_param {x:vt0p}{n:int} (xs: !list_vt (INV(x), n)): [n >= 0] void // end of [lemma_list_vt_param] (* ****** ****** *) castfn list_vt_cast {x:vt0p}{n:int} (xs: list_vt (INV(x), n)):<> list_vt (x, n) // end of [list_vt_cast] (* ****** ****** *) #define list_vt_sing(x) list_vt_cons(x, list_vt_nil()) #define list_vt_pair(x1, x2) list_vt_cons(x1, list_vt_cons (x2, list_vt_nil())) (* ****** ****** *) fun{x:vt0p} list_vt_make_sing (x: x): list_vt (x, 1) fun{x:vt0p} list_vt_make_pair (x1: x, x2: x): list_vt (x, 2) (* ****** ****** *) // fun{x:vt0p} print_list_vt (xs: !List_vt (INV(x))): void fun{x:vt0p} prerr_list_vt (xs: !List_vt (INV(x))): void // fun{x:vt0p} fprint_list_vt (out: FILEref, xs: !List_vt (INV(x))): void fun{} fprint_list_vt$sep (out: FILEref): void // fun{x:vt0p} fprint_list_vt_sep ( out: FILEref, xs: !List_vt (INV(x)), sep: NSH(string) ) : void // end of [fprint_list_vt_sep] // (* ****** ****** *) // fun{x:vt0p} list_vt_is_nil {n:int} (xs: !list_vt (INV(x), n)):<> bool (n==0) // fun{x:vt0p} list_vt_is_cons {n:int} (xs: !list_vt (INV(x), n)):<> bool (n > 0) // (* ****** ****** *) fun{x:vt0p} list_vt_is_sing {n:int} (xs: !list_vt (INV(x), n)):<> bool (n==1) // end of [list_vt_is_sing] fun{x:vt0p} list_vt_is_pair {n:int} (xs: !list_vt (INV(x), n)):<> bool (n==2) // end of [list_vt_is_pair] (* ****** ****** *) fun{} list_vt_unnil{x:vt0p} (xs: list_vt (x, 0)):<> void (* ****** ****** *) fun{x:vt0p} list_vt_uncons{n:pos} (xs: &list_vt (INV(x), n) >> list_vt (x, n-1)): x // end of [list_vt_uncons] (* ****** ****** *) fun{x:vt0p} list_vt_length{n:int} (xs: !list_vt (INV(x), n)):<> int n (* ****** ****** *) fun{x:vt0p} list_vt_getref_at {n:int}{i:nat | i <= n} (xs: &list_vt (INV(x), n), i: int i):<> cPtr1 (list_vt (x, n-i)) // end of [list_vt_getref_at] (* ****** ****** *) // fun{x:t0p} list_vt_get_at{n:int} (xs: !list_vt (INV(x), n), i: natLt n):<> x // fun{x:t0p} list_vt_set_at{n:int} (xs: !list_vt (INV(x), n), i: natLt n, x: x): void // (* ****** ****** *) fun{x:vt0p} list_vt_exch_at{n:int} (xs: !list_vt (INV(x), n), i: natLt n, x: &x >> _): void // end of [list_vt_exch_at] (* ****** ****** *) fun{x:vt0p} list_vt_insert_at{n:int} ( xs: &list_vt (INV(x), n) >> list_vt (x, n+1), i: natLte n, x: x ) : void // end of [list_vt_insert_at] fun{x:vt0p} list_vt_takeout_at{n:int} (xs: &list_vt (INV(x), n) >> list_vt (x, n-1), i: natLt n): x // end of [list_vt_takeout_at] (* ****** ****** *) fun{x:t0p} list_vt_copy{n:int} (xs: !list_vt (INV(x), n)): list_vt (x, n) // end of [list_vt_copy] (* ****** ****** *) // fun{x:vt0p} list_vt_copylin{n:int} (xs: !list_vt (INV(x), n)): list_vt (x, n) fun{x:vt0p} list_vt_copylin$copy (x: &RD(x)): (x) // fun{x:vt0p} list_vt_copylin_fun{n:int}{fe:eff} (xs: !list_vt (INV(x), n), f: (&RD(x)) - x): list_vt (x, n) // (* ****** ****** *) fun{x:t0p} list_vt_free (xs: List_vt (INV(x))): void (* ****** ****** *) // fun{x:vt0p} list_vt_freelin (xs: List_vt (INV(x))): void fun{x:vt0p} list_vt_freelin$clear (x: &x >> x?): void // fun{x:vt0p} list_vt_freelin_fun{fe:eff} (xs: List_vt (INV(x)), f: (&x>>x?) - void): void // (* ****** ****** *) // fun{ x:vt0p } list_vt_uninitize {n:int} ( xs: !list_vt (INV(x), n) >> list_vt (x?, n) ) : void // end of [list_vt_uninitize] // fun{x:vt0p} list_vt_uninitize$clear (x: &(x) >> x?): void // fun{ x:vt0p } list_vt_uninitize_fun {n:int}{fe:eff} ( xs: !list_vt (INV(x), n) >> list_vt (x?, n), f: (&x>>x?) - void ) : void // end of [list_vt_uninitize_fun] // (* ****** ****** *) fun{ a:vt0p } list_vt_append {n1,n2:int} ( xs1: list_vt (INV(a), n1), xs2: list_vt (a, n2) ) : list_vt (a, n1+n2) // endfun (* ****** ****** *) fun{ x:vt0p } list_vt_extend{n:int} (xs1: list_vt (INV(x), n), x2: x): list_vt (x, n+1) // end of [list_vt_extend] fun{x:vt0p} list_vt_unextend{n:pos} (xs: &list_vt (INV(x), n) >> list_vt (x, n-1)): (x) // end of [list_vt_unextend] (* ****** ****** *) macdef list_vt_snoc = list_vt_extend macdef list_vt_unsnoc = list_vt_unextend (* ****** ****** *) fun{x:vt0p} list_vt_reverse{n:int} (xs: list_vt (INV(x), n)): list_vt (x, n) // end of [list_vt_reverse] fun{a:vt0p} list_vt_reverse_append{m,n:int} (list_vt (INV(a), m), list_vt (a, n)): list_vt (a, m+n) // end of [list_vt_reverse_append] (* ****** ****** *) fun{x:vt0p} list_vt_split_at {n:int}{i:nat | i <= n} (list_vt (INV(x), n), int i): (list_vt (x, i), list_vt (x, n-i)) // end of [list_vt_split_at] (* ****** ****** *) fun{x:vt0p} list_vt_concat (xss: List_vt (List_vt (INV(x)))): List0_vt (x) // end of [list_vt_concat] (* ****** ****** *) fun{x:vt0p} list_vt_separate{n:int} ( xs: &list_vt (INV(x), n) >> list_vt (x, n1) ) : #[n1:nat|n1 <= n] list_vt (x, n-n1) fun{x:vt0p} list_vt_separate$pred (x: &RD(x)): bool (* ****** ****** *) fun{x:t0p} list_vt_filter{n:int} (x: list_vt (INV(x), n)): listLte_vt (x, n) // end of [list_vt_filter] fun{x:t0p} list_vt_filter$pred (x: &RD(x)):<> bool (* ****** ****** *) // fun{x:vt0p} list_vt_filterlin {n:int} (list_vt (INV(x), n)): listLte_vt (x, n) // fun{x:vt0p} list_vt_filterlin$pred (x: &RD(x)):<> bool fun{x:vt0p} list_vt_filterlin$clear (x: &x >> x?): void // (* ****** ****** *) fun{x:vt0p} list_vt_app (xs: !List_vt (INV(x))): void fun{x:vt0p} list_vt_app$fwork (x: &x >> _): void (* ****** ****** *) fun{x:vt0p} list_vt_appfree (xs: List_vt (INV(x))): void fun{x:vt0p} list_vt_appfree$fwork (x: &x >> x?): void (* ****** ****** *) // fun{ x:vt0p}{y:vt0p } list_vt_map{n:int} ( xs: !list_vt (INV(x), n) ) : list_vt (y, n) // fun{ x:vt0p}{y:vt0p } list_vt_map$fopr (x: &x >> _): (y) // (* ****** ****** *) fun{ x:vt0p}{y:vt0p } list_vt_map_fun{n:int} (xs: !list_vt (INV(x), n), f: (&x) - y): list_vt(y, n) fun{ x:vt0p}{y:vt0p } list_vt_map_clo{n:int} (xs: !list_vt (INV(x), n), f: &(&x) - y): list_vt(y, n) fun{ x:vt0p}{y:vt0p } list_vt_map_cloref{n:int} (xs: !list_vt (INV(x), n), f: (&x) - y): list_vt(y, n) (* ****** ****** *) // fun{ x:vt0p}{y:vt0p } list_vt_mapfree{n:int} ( xs: list_vt (INV(x), n) ) : list_vt (y, n) // fun{ x:vt0p}{y:vt0p } list_vt_mapfree$fopr (x: &(x) >> x?): (y) // (* ****** ****** *) fun{ x:vt0p}{y:vt0p } list_vt_mapfree_fun{n:int} (xs: list_vt (INV(x), n), f: (&x>>_?) - y): list_vt(y, n) fun{ x:vt0p}{y:vt0p } list_vt_mapfree_clo{n:int} (xs: list_vt (INV(x), n), f: &(&x>>_?) - y): list_vt(y, n) fun{ x:vt0p}{y:vt0p } list_vt_mapfree_cloref{n:int} (xs: list_vt (INV(x), n), f: (&x>>_?) - y): list_vt(y, n) (* ****** ****** *) // fun{ x:vt0p } list_vt_foreach (xs: !List_vt (INV(x))): void // fun{ x:vt0p}{env:vt0p } list_vt_foreach_env (xs: !List_vt (INV(x)), env: &(env) >> _): void // fun{ x:vt0p}{env:vt0p } list_vt_foreach$cont (x: &x, env: &env): bool fun{ x:vt0p}{env:vt0p } list_vt_foreach$fwork (x: &x >> _, env: &(env) >> _): void // (* ****** ****** *) fun{ x:vt0p } list_vt_foreach_fun {fe:eff} ( xs: !List_vt (INV(x)), f: (&x) - void ) : void // end of [list_vt_foreach_fun] fun{ x:vt0p } list_vt_foreach_funenv {v:view}{vt:viewtype}{fe:eff} ( pfv: !v | xs: !List_vt (INV(x)), f: (!v | &x, !vt) - void, env: !vt ) : void // end of [list_vt_foreach_funenv] (* ****** ****** *) // fun{ x:vt0p } list_vt_iforeach {n:int} (xs: !list_vt (INV(x), n)): natLte(n) // fun{ x:vt0p}{env:vt0p } list_vt_iforeach_env {n:int} (xs: !list_vt (INV(x), n), env: &(env) >> _): natLte(n) // fun{ x:vt0p}{env:vt0p } list_vt_iforeach$cont (i: intGte(0), x: &x, env: &env): bool fun{ x:vt0p}{env:vt0p } list_vt_iforeach$fwork (i: intGte(0), x: &x >> _, env: &(env) >> _): void // (* ****** ****** *) // fun{ a:vt0p } list_vt_mergesort {n:int} (xs: list_vt (INV(a), n)): list_vt (a, n) fun{ a:vt0p } list_vt_mergesort$cmp (x1: &RD(a), x2: &RD(a)):<> int(*sgn*) // fun{ a:vt0p } list_vt_mergesort_fun {n:int} ( xs: list_vt (INV(a), n), cmp: cmpref (a) ) : list_vt (a, n) // end of [list_vt_mergesort_fun] // (* ****** ****** *) // fun{ a:vt0p } list_vt_quicksort {n:int} (xs: list_vt (INV(a), n)): list_vt (a, n) fun{ a:vt0p } list_vt_quicksort$cmp (x1: &RD(a), x2: &RD(a)):<> int(*sgn*) // fun{ a:vt0p } list_vt_quicksort_fun {n:int} ( xs: list_vt (INV(a), n), cmp: cmpref (a) ) : list_vt (a, n) // end of [list_vt_quicksort_fun] // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) // overload [] with list_vt_get_at overload [] with list_vt_set_at // overload iseqz with list_vt_is_nil overload isneqz with list_vt_is_cons // overload length with list_vt_length // overload copy with list_vt_free overload free with list_vt_free // overload print with print_list_vt overload prerr with prerr_list_vt overload fprint with fprint_list_vt overload fprint with fprint_list_vt_sep // (* ****** ****** *) (* end of [list_vt.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/tostring.sats0000664000175000017500000000541112655455557017716 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/tostring.atxt ** Time of generation: Sat Jun 27 21:39:15 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: August, 2012 *) (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef t0p = t@ype sortdef vt0p = vt@ype (* ****** ****** *) fun{} tostring_int(int):<> string fun{} tostrptr_int(int): Strptr1 (* ****** ****** *) fun{} tostring_uint(uint):<> string fun{} tostrptr_uint(uint): Strptr1 (* ****** ****** *) fun{} tostring_bool(bool):<> string fun{} tostrptr_bool(bool): Strptr1 (* ****** ****** *) fun{} tostring_char(char):<> string fun{} tostrptr_char(char): Strptr1 (* ****** ****** *) // fun {a:t0p} tostrptr_list (xs0: List(INV(a))): Strptr1 // fun{} tostrptr_list$beg((*void*)): String fun{} tostrptr_list$end((*void*)): String fun{} tostrptr_list$sep((*void*)): String // (* ****** ****** *) // fun {a:vt0p} tostrptr_array {n:int} ( &array(INV(a), n), size_t(n) ) : Strptr1 // end-of-function // fun{} tostrptr_array$beg((*void*)): String fun{} tostrptr_array$end((*void*)): String fun{} tostrptr_array$sep((*void*)): String // (* ****** ****** *) // fun {a:vt0p} tostrptr_arrayref {n:int} (arrayref(a,n), size_t(n)): Strptr1 // fun {a:vt0p} tostrptr_arrszref(arrszref(a)): Strptr1 // (* ****** ****** *) (* end of [tostring.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/strptr.sats0000664000175000017500000002210312655455557017400 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/strptr.atxt ** Time of generation: Fri Nov 20 19:49:31 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) (* ** HX-2012: ** a Strptr0 is either the null-pointer or Strptr1 ** a Strptr1 is a null-terminated arrayptr of characters *) (* ****** ****** *) abst@ype strbuf_t0ype (m:int, n:int) // HX: [m] byte size (* ****** ****** *) stadef strbuf = strbuf_t0ype viewdef strbuf_v (l:addr, m:int, n:int) = strbuf (m, n) @ l (* ****** ****** *) // praxi strbuf2bytes {m,n:int} (buf: &strbuf (m, n) >> b0ytes (m)): void // praxi strbuf2bytes_v {l:addr}{m,n:int} (pf: strbuf_v (l, m, n)): b0ytes_v (l, m) // (* ****** ****** *) praxi lemma_strptr_param {l:addr} (x: !strptr l): [l>=null] void // end of [lemma_strptr_param] praxi lemma_strnptr_param {l:addr}{n:int} ( x: !strnptr (l, n) ) : [(l>null&&n>=0) || (l==null&&n==(~1))] void // end of [lemma_strnptr_param] (* ****** ****** *) praxi lemma_strbuf_param {l:addr}{m,n:int} (x: &strbuf (m, n)): [m>n] void // end of [lemma_strbuf_param] praxi lemma_strbuf_v_param {l:addr}{m,n:int} (pf: !strbuf_v (l, m, n)): [l>null;m>n] void // end of [lemma_strbuf_v_param] (* ****** ****** *) castfn strptr2ptr {l:addr} (x: !strptr l):<> ptr (l) castfn strnptr2ptr {l:addr}{n:int} (x: !strnptr (l, n)):<> ptr (l) // end of [strnptr2ptr] (* ****** ****** *) // castfn strnptr2strptr {l:addr}{n:int} (x: strnptr (l, n)):<> strptr (l) // end of [strnptr2strptr] castfn strptr2strnptr {l:addr} (x: strptr (l)):<> [n:int] strnptr (l, n) // end of [strptr2strnptr] // (* ****** ****** *) // castfn strptr2stropt {l:addr} ( x: strptr (l) ) :<> [n:int|(l==null&&n < 0)||(l>null&&n>=0)] stropt (n) castfn strptr2stropt0 (x: Strptr0):<> Stropt0 castfn stropt2stropt1 (x: Strptr1):<> Stropt1 // castfn strnptr2stropt {l:addr}{n:int} (x: strnptr (l, n)):<> stropt (n) // (* ****** ****** *) // castfn strptr2string (x: Strptr1):<> String // castfn strnptr2string {l:addr}{n:nat} (x: strnptr (l, n)):<> string (n) // (* ****** ****** *) fun strptr_null ():<> strptr (null) = "mac#%" (* ****** ****** *) praxi strptr_free_null {l:addr | l <= null} (x: strptr (l)):<> void // end of [strptr_free_null] (* ****** ****** *) fun{} strptr_is_null {l:addr} (x: !strptr l):<> bool (l==null) fun{} strptr_isnot_null {l:addr} (x: !strptr l):<> bool (l > null) (* ****** ****** *) fun{} strptr_is_empty (x: !Strptr1):<> bool fun{} strptr_isnot_empty (x: !Strptr1):<> bool (* ****** ****** *) fun{} strnptr_is_null {l:addr}{n:int} (x: !strnptr (l, n)):<> bool (l==null) fun{} strnptr_isnot_null {l:addr}{n:int} (x: !strnptr (l, n)):<> bool (l > null) (* ****** ****** *) fun lt_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload < with lt_strptr_strptr fun lte_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload <= with lte_strptr_strptr fun gt_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload > with gt_strptr_strptr fun gte_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload >= with gte_strptr_strptr fun eq_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload = with eq_strptr_strptr fun neq_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> bool = "mac#%" overload != with neq_strptr_strptr overload <> with neq_strptr_strptr (* ****** ****** *) // fun compare_strptr_strptr (x1: !Strptr0, x2: !Strptr0):<> Sgn = "mac#%" // (* ****** ****** *) fun eq_strptr_string (x1: !Strptr1, x2: string):<> bool = "mac#%" overload = with eq_strptr_string fun neq_strptr_string (x1: !Strptr1, x2: string):<> bool = "mac#%" overload != with neq_strptr_string overload <> with neq_strptr_string (* ****** ****** *) // fun compare_strptr_string (x1: !Strptr1, x2: string):<> Sgn = "mac#%" // (* ****** ****** *) fun strptr_free (x: Strptr0): void = "mac#%" fun strnptr_free (x: Strnptr0): void = "mac#%" (* ****** ****** *) // fun fprint_strptr ( out: FILEref, x: !Strptr0 ) : void = "mac#%" // fun print_strptr (x: !Strptr0): void = "mac#%" fun prerr_strptr (x: !Strptr0): void = "mac#%" // (* ****** ****** *) // fun print_strbuf {m,n:int} (buf: &strbuf(m, n)): void = "mac#%" fun prerr_strbuf {m,n:int} (buf: &strbuf(m, n)): void = "mac#%" // fun fprint_strbuf{m,n:int} (out: FILEref, buf: &strbuf (m, n)): void = "mac#%" // (* ****** ****** *) // fun{} strnptr_get_at_size {n:int} (str: !strnptr (n), i: sizeLt n):<> charNZ // fun{tk:tk} strnptr_get_at_gint {n:int}{i:nat | i < n} (s: !strnptr (n), i: g1int (tk, i)):<> charNZ fun{tk:tk} strnptr_get_at_guint {n:int}{i:nat | i < n} (s: !strnptr (n), i: g1uint (tk, i)):<> charNZ // symintr strnptr_get_at overload strnptr_get_at with strnptr_get_at_size of 1 overload strnptr_get_at with strnptr_get_at_gint of 0 overload strnptr_get_at with strnptr_get_at_guint of 0 // (* ****** ****** *) // fun{} strnptr_set_at_size {n:int} (str: !strnptr (n), i: sizeLt n, c: charNZ): void // fun{tk:tk} strnptr_set_at_gint {n:int}{i:nat | i < n} (s: !strnptr (n), i: g1int (tk, i), c: charNZ): void fun{tk:tk} strnptr_set_at_guint {n:int}{i:nat | i < n} (s: !strnptr (n), i: g1uint (tk, i), c: charNZ): void // symintr strnptr_set_at overload strnptr_set_at with strnptr_set_at_size of 1 overload strnptr_set_at with strnptr_set_at_gint of 0 overload strnptr_set_at with strnptr_set_at_guint of 0 // (* ****** ****** *) fun{} strptr_length (x: !Strptr0):<> ssize_t fun{} strnptr_length {n:int} (x: !strnptr n):<> ssize_t (n) (* ****** ****** *) // fun{} strptr0_copy (x: !Strptr0): Strptr0 fun{} strptr1_copy (x: !Strptr1): Strptr1 fun{} strnptr_copy {n:int} (x: !strnptr (n)): strnptr (n) // (* ****** ****** *) // fun{} strptr_append (x1: !Strptr0, x2: !Strptr0): Strptr0 fun{} strnptr_append {n1,n2:nat} (x1: !strnptr n1, x2: !strnptr n2): strnptr (n1+n2) // (* ****** ****** *) fun{} strptrlst_free (xs: List_vt (Strptr0)): void (* ****** ****** *) fun{} strptrlst_concat (xs: List_vt (Strptr0)): Strptr0 (* ****** ****** *) fun{ env:vt0p } strnptr_foreach$cont (c: &charNZ, env: &env): bool fun{ env:vt0p } strnptr_foreach$fwork (c: &charNZ >> _, env: &env): void fun{} strnptr_foreach {n:nat} (str: !strnptr n): sizeLte(n) fun{ env:vt0p } strnptr_foreach_env {n:nat} (str: !strnptr n, env: &(env) >> _): sizeLte(n) // end of [strnptr_foreach_env] (* ****** ****** *) fun{ env:vt0p } strnptr_rforeach$cont (c: &charNZ, env: &env): bool fun{ env:vt0p } strnptr_rforeach$fwork (c: &charNZ >> _, env: &env): void fun{} strnptr_rforeach {n:nat} (str: !strnptr n): sizeLte(n) fun{ env:vt0p } strnptr_rforeach_env {n:nat} (str: !strnptr n, env: &(env) >> _): sizeLte(n) // end of [strnptr_rforeach_env] (* ****** ****** *) // // overloading for certain symbols // overload [] with strnptr_get_at_size of 1 overload [] with strnptr_get_at_gint of 0 overload [] with strnptr_get_at_guint of 0 // overload [] with strnptr_set_at_size of 1 overload [] with strnptr_set_at_gint of 0 overload [] with strnptr_set_at_guint of 0 // overload iseqz with strptr_is_null overload iseqz with strnptr_is_null overload isneqz with strptr_isnot_null overload isneqz with strnptr_isnot_null // overload compare with compare_strptr_strptr overload compare with compare_strptr_string // overload length with strptr_length overload length with strnptr_length // overload copy with strptr0_copy of 0 overload copy with strptr1_copy of 10 // overload free with strptr_free overload free with strnptr_free // overload print with print_strptr overload prerr with prerr_strptr overload fprint with fprint_strptr // overload print with print_strbuf overload prerr with prerr_strbuf overload fprint with fprint_strbuf // overload ptrcast with strptr2ptr overload ptrcast with strnptr2ptr // (* ****** ****** *) (* end of [strptr.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/arrayptr.sats0000664000175000017500000002624612655455557017722 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/arrayptr.atxt ** Time of generation: Sat Jun 27 21:39:13 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) #if(0) // // HX-2013-06: // it is declared in [basic_dyn.sats] // absvtype arrayptr_vt0ype_addr_int_vtype (a:vt0ype+, l: addr, n: int) = ptr (l) // stadef arrayptr = arrayptr_vt0ype_addr_int_vtype vtypedef arrayptr (a:vt0p, n:int) = [l:addr] arrayptr (a, l, n) // #endif (* ****** ****** *) absvtype arrayptrout_vt0ype_addr_int_vtype (a:t@ype, l: addr, n: int) = ptr (l) stadef arrayptrout = arrayptrout_vt0ype_addr_int_vtype (* ****** ****** *) praxi lemma_arrayptr_param{a:vt0p} {l:addr}{n:int} (A: !arrayptr (a, l, n)): [n >= 0] void // end of [lemma_arrayptr_param] (* ****** ****** *) castfn arrayptr_encode : {a:vt0p}{l:addr}{n:int} (array_v (INV(a), l, n), mfree_gc_v l | ptr l) -<0> arrayptr (a, l, n) // end of [arrayptr_encode] castfn arrayptr_encode2 : {a:vt0p}{l:addr}{n:int} @(array_v (INV(a), l, n), mfree_gc_v l | ptr l) -<0> arrayptr (a, l, n) // end of [arrayptr_encode2] (* ****** ****** *) castfn arrayptr_objectify {a:vt0p}{l:addr}{n:int} (array_v (INV(a), l, n) | ptr(l)):<> (mfree_ngc_v(l) | arrayptr(a, l, n)) // end of [arrayptr_objectify] castfn arrayptr_unobjectify {a:vt0p}{l:addr}{n:int} (mfree_ngc_v(l) | arrayptr(INV(a), l, n)):<> (array_v (a, l, n) | ptr(l)) // end of [arrayptr_objectify] (* ****** ****** *) // castfn arrayptr2ptr {a:vt0p} {l:addr}{n:int} (A: !arrayptr (INV(a), l, n)):<> ptr (l) castfn arrayptrout2ptr {a:t0p}{l:addr}{n:int} (A: !arrayptrout (INV(a), l, n)):<> ptr (l) // (* ****** ****** *) praxi arrayptr_takeout {a:vt0p}{l:addr}{n:int} ( A: !arrayptr (INV(a), l, n) >> arrayptrout (a?, l, n) ) : array_v (a, l, n) // end of [arrayptr_takeout] praxi arrayptr_addback {a:vt0p}{l:addr}{n:int} ( pf: array_v (INV(a), l, n) | A: !arrayptrout (a?, l, n) >> arrayptr (a, l, n) ) : void // end of [arrayptr_addback] (* ****** ****** *) castfn arrayptr_takeout_viewptr {a:vt0p}{l:addr}{n:int} ( A: !arrayptr (INV(a), l, n) >> arrayptrout (a?, l, n) ) : (array_v (a, l, n) | ptr l) // endfun (* ****** ****** *) castfn arrpsz_encode : {a:vt0p}{n:int} @(arrayptr (INV(a), n), size_t n) -<0> arrpsz (a, n) // end of [arrpsz_encode] castfn arrpsz_decode : {a:vt0p}{n:int} arrpsz (INV(a), n) -<0> @(arrayptr (a, n), size_t n) // end of [arrpsz_decode] (* ****** ****** *) fun arrpsz_get_ptrsize {a:vt0p}{n:int} ( psz: arrpsz (INV(a), n), asz: &size_t? >> size_t (n) ) : arrayptr (a, n) = "mac#%" // endfun (* ****** ****** *) symintr arrayptr (* ****** ****** *) fun{ a:t0p } arrayptr_make_elt {n:int} (asz: size_t n, x: a): arrayptr (a, n) // end of [arrayptr_make_elt] (* ****** ****** *) fun{ } arrayptr_make_intrange {l,r:int | l <= r} (l: int l, r: int r): arrayptr (intBtw(l, r), r-l) // end of [arrayptr_make_intrange] (* ****** ****** *) // // HX: this one is a field-selection // fun arrayptr_make_arrpsz {a:vt0p}{n:int} (psz: arrpsz (INV(a), n)):<> arrayptr (a, n) = "mac#%" overload arrayptr with arrayptr_make_arrpsz (* ****** ****** *) fun{a:t0p} arrayptr_make_list{n:int} (asz: int n, xs: list (INV(a), n)): arrayptr (a, n) // end of [arrayptr_make_list] fun{a:t0p} arrayptr_make_rlist{n:int} (asz: int n, xs: list (INV(a), n)): arrayptr (a, n) // end of [arrayptr_make_rlist] (* ****** ****** *) fun{a:t0p} arrayptr_make_subarray {n:int}{st,ln:int | st+ln <= n} (A: RD(arrayref (a, n)), size_t (st), size_t (ln)): arrayptr (a, ln) // end of [arrayref_make_subarray] (* ****** ****** *) fun{a:vt0p} arrayptr_make_list_vt{n:int} (asz: int n, xs: list_vt (INV(a), n)): arrayptr (a, n) // end of [arrayptr_make_list_vt] fun{a:vt0p} arrayptr_make_rlist_vt{n:int} (asz: int n, xs: list_vt (INV(a), n)): arrayptr (a, n) // end of [arrayptr_make_rlist_vt] (* ****** ****** *) fun{a:vt0p} arrayptr_make_uninitized {n:int} (asz: size_t n): arrayptr (a?, n) // end of [arrayptr_make_uninitized] (* ****** ****** *) fun{a:vt0p} arrayptr_imake_list{n:int} ( A: !arrayptr (INV(a), n) >> arrayptr (a?!, n), n: size_t (n) ) : list_vt (a, n) // end of [arrayptr_imake_list] (* ****** ****** *) fun arrayptr_free {a:t0p}{l:addr}{n:int} (A: arrayptr (INV(a), l, n)): void = "mac#%" // end of [arrayptr_free] (* ****** ****** *) (* fun{} fprint_array$sep (out: FILEref): void *) fun{a:vt0p} fprint_arrayptr {l:addr}{n:int} ( out: FILEref, A: !arrayptr (INV(a), l, n), n: size_t n ) : void // end of [fprint_arrayptr] fun{a:vt0p} fprint_arrayptr_sep {l:addr}{n:int} ( out: FILEref , A: !arrayptr (INV(a), l, n), n: size_t n, sep: NSH(string) ) : void // end of [fprint_arrayptr_sep] (* ****** ****** *) symintr arrayptr_get_at // fun{ a:t0p}{tk:tk } arrayptr_get_at_gint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1int (tk, i)):<> (a) fun{ a:t0p}{tk:tk } arrayptr_get_at_guint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1uint (tk, i)):<> (a) // overload arrayptr_get_at with arrayptr_get_at_gint overload arrayptr_get_at with arrayptr_get_at_guint // (* ****** ****** *) symintr arrayptr_set_at // fun{ a:t0p}{tk:tk } arrayptr_set_at_gint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1int (tk, i), x: a): void fun{ a:t0p}{tk:tk } arrayptr_set_at_guint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1uint (tk, i), x: a): void // overload arrayptr_set_at with arrayptr_set_at_gint of 0 overload arrayptr_set_at with arrayptr_set_at_guint of 0 // (* ****** ****** *) symintr arrayptr_exch_at fun{ a:vt0p}{tk:tk } arrayptr_exch_at_gint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1int (tk, i), x: &a >> _): void // end of [arrayptr_exch_at_gint] fun{ a:vt0p}{tk:tk } arrayptr_exch_at_guint {n:int}{i:nat | i < n} (A: !arrayptr (INV(a), n), i: g1uint (tk, i), x: &a >> _): void // end of [arrayptr_exch_at_guint] overload arrayptr_exch_at with arrayptr_exch_at_gint of 0 overload arrayptr_exch_at with arrayptr_exch_at_guint of 0 (* ****** ****** *) fun{a:vt0p} arrayptr_interchange {n:int} ( A: !arrayptr (INV(a), n), i: sizeLt n, j: sizeLt n ) : void // end of [arrayptr_interchange] (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_foreach$cont (x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_foreach$fwork (x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayptr_foreach{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n) ) : sizeLte(n) // end of [arrayptr_foreach] fun{ a:vt0p}{env:vt0p } arrayptr_foreach_env{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n), env: &(env) >> _ ) : sizeLte(n) // end of [arrayptr_foreach_env] (* ****** ****** *) fun{a:vt0p} arrayptr_foreach_fun {n:int}{fe:eff} ( A: !arrayptr (INV(a), n), asz: size_t n, f: (&a) - void ) : void // end of [arrayptr_foreach_fun] fun{a:vt0p} arrayptr_foreach_funenv {v:view} {vt:vtype} {n:int} {fe:eff} ( pfv: !v | A: !arrayptr (INV(a), n) , asz: size_t n , f: (!v | &a, !vt) - void , env: !vt ) : void // end of [arrayptr_foreach_funenv] (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_iforeach$cont (i: size_t, x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_iforeach$fwork (i: size_t, x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayptr_iforeach{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n) ) : sizeLte(n) // end of [arrayptr_iforeach] fun{ a:vt0p}{env:vt0p } arrayptr_iforeach_env{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n), env: &(env) >> _ ) : sizeLte(n) // end of [arrayptr_iforeach_env] (* ****** ****** *) (* fun{a:vt0p}{env:vt0p} array_rforeach$cont (x: &a, env: &env): void fun{a:vt0p}{env:vt0p} array_rforeach$fwork (x: &a >> a, env: &(env) >> _): void *) fun{ a:vt0p } arrayptr_rforeach{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n) ) : sizeLte(n) // end of [arrayptr_rforeach] fun{ a:vt0p}{env:vt0p } arrayptr_rforeach_env{n:int} ( A: !arrayptr (INV(a), n), asz: size_t (n), env: &(env) >> _ ) : sizeLte(n) // end of [arrayptr_rforeach_env] (* ****** ****** *) (* fun{a:vt0p} array_initize$init (i: size_t, x: &a >> a?): void *) fun{a:vt0p} arrayptr_initize {l:addr}{n:int} ( A: !arrayptr (a?, l, n) >> arrayptr (a, l, n), asz: size_t n ) : void // end of [arrayptr_initize] macdef arrayptr_initialize = arrayptr_initize (* ****** ****** *) (* fun{a:vt0p} array_uninitize$clear (i: size_t, x: &a >> a?): void *) fun{a:vt0p} arrayptr_uninitize {l:addr}{n:int} ( A: !arrayptr (INV(a), l, n) >> arrayptr (a?, l, n), asz: size_t n ) : void // end of [arrayptr_uninitize] macdef arrayptr_uninitialize = arrayptr_uninitize (* ****** ****** *) (* fun{a:vt0p} array_uninitize$clear (i: size_t, x: &a >> a?): void *) fun{a:vt0p} arrayptr_freelin {l:addr}{n:int} (A: arrayptr (INV(a), l, n), asz: size_t (n)): void // end of [arrayptr_freelin] (* ****** ****** *) // (* fun{a:vt0p} array_tabulate$fopr (index: size_t): (a) *) fun{a:vt0p} arrayptr_tabulate {n:int} (asz: size_t n): arrayptr (a, n) // fun{a:vt0p} arrayptr_tabulate_cloref {n:int} (size_t n, (sizeLt(n)) - a): arrayptr (a, n) // (* ****** ****** *) // fun {a:vt0p} arrayptr_quicksort {n:int}(A: !arrayptr(a, n) >> _, asz: size_t(n)): void // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with arrayptr_get_at_gint of 0 overload [] with arrayptr_get_at_guint of 0 overload [] with arrayptr_set_at_gint of 0 overload [] with arrayptr_set_at_guint of 0 (* ****** ****** *) overload free with arrayptr_free (* ****** ****** *) overload fprint with fprint_arrayptr overload fprint with fprint_arrayptr_sep (* ****** ****** *) overload ptrcast with arrayptr2ptr overload ptrcast with arrayptrout2ptr (* ****** ****** *) (* end of [arrayptr.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/bool.sats0000664000175000017500000001503412655455557017002 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/bool.atxt ** Time of generation: Sat Nov 7 22:19:26 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) // castfn g0ofg1_bool (x: Bool):<> bool castfn g1ofg0_bool (x: bool):<> Bool // overload g0ofg1 with g0ofg1_bool // index-erasing overload g1ofg0 with g1ofg0_bool // index-inducing // (* ****** ****** *) // symintr int2bool // fun int2bool0 (i: int):<> bool = "mac#%" fun int2bool1 {i:int} (i: int i):<> bool (i != 0) = "mac#%" // overload int2bool with int2bool0 of 0 overload int2bool with int2bool1 of 10 // symintr bool2int // fun bool2int0 (b: bool):<> natLt(2) = "mac#%" fun bool2int1 {b:bool} (b: bool b):<> int (bool2int(b)) = "mac#%" // overload bool2int with bool2int0 of 0 overload bool2int with bool2int1 of 10 // (* ****** ****** *) (* // // HX: declared in [prelude/basics_dyn.sats] // val true : bool (true) and false : bool (false) *) (* ****** ****** *) (* ** HX-2012-06: ** shortcut version of disjuction and conjuction ** note that these two cannot be declared as functions *) macdef || (b1, b2) = (if ,(b1) then true else ,(b2)): bool macdef && (b1, b2) = (if ,(b1) then ,(b2) else false): bool (* ****** ****** *) typedef boolLte (b: bool) = [a: bool | a <= b] bool (a) typedef boolGte (b: bool) = [a: bool | a >= b] bool (a) (* ****** ****** *) fun neg_bool0 (b: bool):<> bool = "mac#%" overload ~ with neg_bool0 of 0 overload not with neg_bool0 of 0 (* ****** ****** *) fun add_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload + with add_bool0_bool0 of 0 fun mul_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload * with mul_bool0_bool0 of 0 (* ****** ****** *) // fun xor_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" // (* ****** ****** *) fun lt_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload < with lt_bool0_bool0 of 0 fun lte_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload <= with lte_bool0_bool0 of 0 fun gt_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload > with gt_bool0_bool0 of 0 fun gte_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload >= with gte_bool0_bool0 of 0 fun eq_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload = with eq_bool0_bool0 of 0 fun neq_bool0_bool0 (b1: bool, b2: bool):<> bool = "mac#%" overload != with neq_bool0_bool0 of 0 overload <> with neq_bool0_bool0 of 0 (* ****** ****** *) fun compare_bool0_bool0 (b1: bool, b2: bool):<> Sgn = "mac#%" overload compare with compare_bool0_bool0 (* ****** ****** *) // // HX: // return is statically allocated // fun bool2string(b: bool):<> string = "mac#%" // (* ****** ****** *) // fun print_bool (x: bool): void = "mac#%" fun prerr_bool (x: bool): void = "mac#%" fun fprint_bool : fprint_type (bool) = "mac#%" // overload print with print_bool overload prerr with prerr_bool overload fprint with fprint_bool // (* ****** ****** *) // fun neg_bool1 {b:bool} (b: bool b):<> bool (~b) = "mac#%" // overload ~ with neg_bool1 of 10 overload not with neg_bool1 of 10 // (* ****** ****** *) fun add_bool0_bool1 {b2:bool} ( b1: bool, b2: bool b2 ) :<> [b1:bool] bool(b1 || b2) = "mac#%" overload + with add_bool0_bool1 of 10 fun add_bool1_bool0 {b1:bool} ( b1: bool b1, b2: bool ) :<> [b2:bool] bool(b1 || b2) = "mac#%" overload + with add_bool1_bool0 of 10 fun add_bool1_bool1 {b1,b2:bool} (b1: bool b1, b2: bool b2):<> bool(b1 || b2) = "mac#%" overload + with add_bool1_bool1 of 20 (* ****** ****** *) fun mul_bool0_bool1 {b2:bool} ( b1: bool, b2: bool b2 ) :<> [b1:bool] bool(b1 && b2) = "mac#%" overload * with mul_bool0_bool1 of 10 fun mul_bool1_bool0 {b1:bool} ( b1: bool b1, b2: bool ) :<> [b2:bool] bool(b1 && b2) = "mac#%" overload * with mul_bool1_bool0 of 10 fun mul_bool1_bool1 {b1,b2:bool} (b1: bool b1, b2: bool b2):<> bool(b1 && b2) = "mac#%" overload * with mul_bool1_bool1 of 20 (* ****** ****** *) // fun xor_bool1_bool1 {b1,b2:bool} (b1: bool b1, b2: bool b2):<> bool((b1)==(~b2)) = "mac#%" // (* ****** ****** *) // // (b1 < b2) == (~b1 && b2) // fun lt_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 < b2) = "mac#%" overload < with lt_bool1_bool1 of 20 // // (b1 <= b2) == (~b1 || b2) // fun lte_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 <= b2) = "mac#%" overload <= with lte_bool1_bool1 of 20 // // (b1 > b2) == (b1 && ~b2) // fun gt_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 > b2) = "mac#%" overload > with gt_bool1_bool1 of 20 // // (b1 >= b2) == (b1 || ~b2) // fun gte_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 >= b2) = "mac#%" overload >= with gte_bool1_bool1 of 20 (* ****** ****** *) fun eq_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 == b2) = "mac#%" overload = with eq_bool1_bool1 of 20 fun neq_bool1_bool1 {b1,b2:bool} (b1: bool (b1), b2: bool (b2)) :<> bool (b1 != b2) = "mac#%" overload != with neq_bool1_bool1 of 20 overload <> with neq_bool1_bool1 of 20 (* ****** ****** *) fun compare_bool1_bool1 {b1,b2:bool} // HX: this one is a function ( b1: bool b1, b2: bool b2 ) :<> int (bool2int(b1) - bool2int(b2)) = "mac#%" overload compare with compare_bool1_bool1 of 20 (* ****** ****** *) (* end of [bool.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/matrixref.sats0000664000175000017500000002242412655455557020051 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/matrixref.atxt ** Time of generation: Sat Feb 6 15:18:15 2016 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2013 *) (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) // // matrixref: // reference to a matrix // with no dimension info attached // (* ****** ****** *) // abstype matrixref_vt0ype_int_int_type (a:vt@ype(*inv*), nrow: int, ncol:int) = ptr // stadef matrixref = matrixref_vt0ype_int_int_type // (* ****** ****** *) praxi lemma_matrixref_param {a:vt0p}{m,n:int} (M: matrixref (a, m, n)): [m >= 0; n >= 0] void // end of [lemma_matrixref_param] (* ****** ****** *) // castfn matrixref2ptr {a:vt0p}{m,n:int} (M: matrixref (a, m, n)):<> Ptr0 // (* ****** ****** *) // castfn matrixptr_refize {a:vt0p}{l:addr}{m,n:int} (matrixptr (INV(a), l, m, n)): matrixref (a, m, n) // castfn matrixref_get_viewptr {a:vt0p} {m,n:int} ( M: matrixref (a, m, n) ) :<> [l:addr] (vbox (matrix_v (a, l, m, n)) | ptr l) // (* ****** ****** *) castfn arrayref2matrixref {a:vt0p}{m,n:nat} (A: arrayref (a, m*n)):<> matrixref (a, m, n) // end of [arrayref2matrixref] (* ****** ****** *) fun{ a:t0p } matrixref_make_elt {m,n:int} (m: size_t m, n: size_t n, x0: a): matrixref (a, m, n) // end of [matrixref_make_elt] (* ****** ****** *) fun{a:t0p} matrixref_get_at_int {m,n:int} ( M: matrixref (a, m, n), i: natLt(m), n: int(n), j: natLt(n) ) : (a) // end of [matrixref_get_at_int] fun{a:t0p} matrixref_get_at_size {m,n:int} ( M: matrixref (a, m, n), i: sizeLt(m), n: size_t(n), j: sizeLt(n) ) : (a) // end of [matrixref_get_at_size] // symintr matrixref_get_at overload matrixref_get_at with matrixref_get_at_int of 0 overload matrixref_get_at with matrixref_get_at_size of 0 // (* ****** ****** *) fun{a:t0p} matrixref_set_at_int {m,n:int} ( M: matrixref (a, m, n), i: natLt (m), n: int n, j: natLt (n), x: a ) : void // end of [matrixref_set_at_int] fun{a:t0p} matrixref_set_at_size {m,n:int} ( M: matrixref (a, m, n), i: sizeLt (m), n: size_t n, j: sizeLt (n), x: a ) : void // end of [matrixref_set_at_size] symintr matrixref_set_at overload matrixref_set_at with matrixref_set_at_int of 0 overload matrixref_set_at with matrixref_set_at_size of 0 (* ****** ****** *) fun{a:vt0p} matrixref_exch_at_int {m,n:int} ( M: matrixref (a, m, n) , i: natLt (m), n: int n, j: natLt (n), x: &a >> _ ) : void // end of [matrixref_exch_at_int] fun{a:vt0p} matrixref_exch_at_size {m,n:int} ( M: matrixref (a, m, n) , i: sizeLt (m), n: size_t n, j: sizeLt (n), x: &a >> _ ) : void // end of [matrixref_exch_at_size] symintr matrixref_exch_at overload matrixref_exch_at with matrixref_exch_at_int of 0 overload matrixref_exch_at with matrixref_exch_at_size of 0 (* ****** ****** *) (* fprint_matrix$sep1 // col separation fprint_matrix$sep2 // row separation *) fun{a:vt0p} fprint_matrixref{m,n:int} ( out: FILEref , M: matrixref (a, m, n), m: size_t m, n: size_t n ) : void // end of [fprint_matrixref] fun{a:vt0p} fprint_matrixref_sep{m,n:int} ( out: FILEref , M: matrixref (a, m, n), m: size_t (m), n: size_t (n) , sep1: NSH(string), sep2: NSH(string) ) : void // end of [fprint_matrixref_sep] (* ****** ****** *) // fun{a:t0p} matrixref_copy {m,n:int} ( M: matrixref (a, m, n), m: size_t(m), n: size_t(n) ) : matrixptr (a, m, n) // end-of-fun // (* ****** ****** *) (* fun{a:vt0p} matrix_tabulate$fopr (i: size_t, j: size_t): (a) *) fun{a:vt0p} matrixref_tabulate {m,n:int} (nrow: size_t m, ncol: size_t n): matrixref (a, m, n) // fun{a:vt0p} matrixref_tabulate_cloref {m,n:int} ( nrow: size_t m, ncol: size_t n, f: (sizeLt(m), sizeLt(n)) - a ) : matrixref (a, m, n) // end-of-fun // (* ****** ****** *) (* fun{ a:vt0p}{env:vt0p } matrix_foreach$fwork (x: &a >> _, env: &(env) >> _): void *) // fun{ a:vt0p } matrixref_foreach{m,n:int} ( A: matrixref (a, m, n), m: size_t m, n: size_t n ) : void // end of [matrixref_foreach] // fun{ a:vt0p}{env:vt0p } matrixref_foreach_env{m,n:int} ( A: matrixref (a, m, n), m: size_t m, n: size_t n, env: &(env) >> _ ) : void // end of [matrixref_foreach_env] // fun{ a:vt0p } matrixref_foreach_cloref{m,n:int} ( A: matrixref(a, m, n), m: size_t(m), n: size_t(n), fwork: (&(a) >> _) - void ) : void // end of [mtrxszref_foreach_cloref] // (* ****** ****** *) // // mtrxszref: a reference to a matrix with size information attached // (* ****** ****** *) // abstype // in-variant mtrxszref_vt0ype_type(a:vt@ype) = ptr // stadef mtrxszref = mtrxszref_vt0ype_type // (* ****** ****** *) fun{} mtrxszref_make_matrixref {a:vt0p}{m,n:int} ( M: matrixref (a, m, n), m: size_t m, n: size_t n ) : mtrxszref (a) // endfun (* ****** ****** *) // fun{} mtrxszref_get_ref{a:vt0p} (M: mtrxszref (a)):<> Ptr1 // fun{} mtrxszref_get_nrow{a:vt0p} (M: mtrxszref (a)):<> size_t fun{} mtrxszref_get_ncol{a:vt0p} (M: mtrxszref (a)):<> size_t // (* ****** ****** *) symintr .ref overload .ref with mtrxszref_get_ref (* ****** ****** *) fun{} mtrxszref_get_refsize{a:vt0p} ( M: mtrxszref (a) , nrol: &size_t? >> size_t m, ncol: &size_t? >> size_t (n) ) : #[m,n:nat] matrixref (a, m, n) // endfun (* ****** ****** *) fun{a:t0p} mtrxszref_make_elt (nrow: size_t, ncol: size_t, init: a): mtrxszref (a) // end of [mtrxszref_make_elt] (* ****** ****** *) // fun{a:t0p} mtrxszref_get_at_int (M: mtrxszref(a), i: int, j: int): (a) fun{a:t0p} mtrxszref_get_at_size (M: mtrxszref(a), i: size_t, j: size_t): (a) // symintr mtrxszref_get_at overload mtrxszref_get_at with mtrxszref_get_at_int of 0 overload mtrxszref_get_at with mtrxszref_get_at_size of 0 // (* ****** ****** *) // fun{a:t0p} mtrxszref_set_at_int (M: mtrxszref(a), i: int, j: int, x: a): void fun{a:t0p} mtrxszref_set_at_size (M: mtrxszref(a), i: size_t, j: size_t, x: a): void // symintr mtrxszref_set_at overload mtrxszref_set_at with mtrxszref_set_at_int of 0 overload mtrxszref_set_at with mtrxszref_set_at_size of 0 // (* ****** ****** *) (* fprint_matrix$sep1 // col separation fprint_matrix$sep2 // row separation *) fun{a:vt0p} fprint_mtrxszref ( out: FILEref, M: mtrxszref(a) ) : void // end of [fprint_mtrxszref] fun{a:vt0p} fprint_mtrxszref_sep ( out: FILEref , M: mtrxszref(a), sep1: NSH(string), sep2: NSH(string) ) : void // end of [fprint_mtrxszref_sep] (* ****** ****** *) // (* fun{ a:vt0p}{env:vt0p } matrix_foreach$fwork (x: &a >> _, env: &(env) >> _): void *) // fun{ a:vt0p } mtrxszref_foreach(mtrxszref (a)): void fun{ a:vt0p}{env:vt0p } mtrxszref_foreach_env(mtrxszref(a), &(env) >> _) : void // fun{ a:vt0p } mtrxszref_foreach_cloref (A: mtrxszref(a), fwork: (&(a) >> _) - void ): void // (* ****** ****** *) // (* fun{a:vt0p} matrix_tabulate$fopr (i: size_t, j: size_t): (a) *) fun{a:vt0p} mtrxszref_tabulate (nrow: size_t, ncol: size_t): mtrxszref (a) // fun{a:vt0p} mtrxszref_tabulate_cloref {m,n:int} ( nrow: size_t m, ncol: size_t n, f: (sizeLt(m), sizeLt(n)) - a ) : mtrxszref (a) // end-of-fun // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with matrixref_get_at_int of 0 overload [] with matrixref_get_at_size of 0 overload [] with matrixref_set_at_int of 0 overload [] with matrixref_set_at_size of 0 (* ****** ****** *) overload [] with mtrxszref_get_at_int of 0 overload [] with mtrxszref_get_at_size of 0 overload [] with mtrxszref_set_at_int of 0 overload [] with mtrxszref_set_at_size of 0 (* ****** ****** *) overload .nrow with mtrxszref_get_nrow overload .ncol with mtrxszref_get_ncol (* ****** ****** *) overload fprint with fprint_matrixref overload fprint with fprint_matrixref_sep overload fprint with fprint_mtrxszref overload fprint with fprint_mtrxszref_sep (* ****** ****** *) overload ptrcast with matrixref2ptr (* ****** ****** *) (* end of [matrixref.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/integer_fixed.sats0000664000175000017500000006733012655455557020671 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/integer_fixed.atxt ** Time of generation: Sun Oct 11 11:11:36 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) (* ****** ****** *) // // HX: for unindexed integer types // (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) typedef SHR(a:t@ype) = a // for commenting purpose typedef NSH(a:t@ype) = a // for commenting purpose (* ****** ****** *) // stadef int8knd = int8_kind stadef int16knd = int16_kind stadef int32knd = int32_kind stadef int64knd = int64_kind // stadef uint8knd = uint8_kind stadef uint16knd = uint16_kind stadef uint32knd = uint32_kind stadef uint64knd = uint64_kind // (* ****** ****** *) // fun g0int2int_int8_int (x: int8):<> int = "mac#%" fun g0int2int_int16_int (x: int16):<> int = "mac#%" fun g0int2int_int32_int (x: int32):<> int = "mac#%" fun g0int2int_int64_int (x: int64):<> int = "mac#%" // (* ****** ****** *) // fun g0int_neg_int8 (x: int8):<> int8 = "mac#%" fun g0int_abs_int8 (x: int8):<> int8 = "mac#%" fun g0int_succ_int8 (x: int8):<> int8 = "mac#%" fun g0int_pred_int8 (x: int8):<> int8 = "mac#%" fun g0int_half_int8 (x: int8):<> int8 = "mac#%" fun g0int_asl_int8 (x: int8, n: intGte(0)):<> int8 = "mac#%" fun g0int_asr_int8 (x: int8, n: intGte(0)):<> int8 = "mac#%" fun g0int_add_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_sub_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_mul_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_div_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_mod_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_isltz_int8 (x: int8):<> bool = "mac#%" fun g0int_isltez_int8 (x: int8):<> bool = "mac#%" fun g0int_isgtz_int8 (x: int8):<> bool = "mac#%" fun g0int_isgtez_int8 (x: int8):<> bool = "mac#%" fun g0int_iseqz_int8 (x: int8):<> bool = "mac#%" fun g0int_isneqz_int8 (x: int8):<> bool = "mac#%" fun g0int_lt_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_lte_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_gt_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_gte_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_eq_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_neq_int8 (x: int8, y: int8):<> bool = "mac#%" fun g0int_compare_int8 (x: int8, y: int8):<> int = "mac#%" fun g0int_max_int8 (x: int8, y: int8):<> int8 = "mac#%" fun g0int_min_int8 (x: int8, y: int8):<> int8 = "mac#%" // fun g0int_neg_int16 (x: int16):<> int16 = "mac#%" fun g0int_abs_int16 (x: int16):<> int16 = "mac#%" fun g0int_succ_int16 (x: int16):<> int16 = "mac#%" fun g0int_pred_int16 (x: int16):<> int16 = "mac#%" fun g0int_half_int16 (x: int16):<> int16 = "mac#%" fun g0int_asl_int16 (x: int16, n: intGte(0)):<> int16 = "mac#%" fun g0int_asr_int16 (x: int16, n: intGte(0)):<> int16 = "mac#%" fun g0int_add_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_sub_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_mul_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_div_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_mod_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_isltz_int16 (x: int16):<> bool = "mac#%" fun g0int_isltez_int16 (x: int16):<> bool = "mac#%" fun g0int_isgtz_int16 (x: int16):<> bool = "mac#%" fun g0int_isgtez_int16 (x: int16):<> bool = "mac#%" fun g0int_iseqz_int16 (x: int16):<> bool = "mac#%" fun g0int_isneqz_int16 (x: int16):<> bool = "mac#%" fun g0int_lt_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_lte_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_gt_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_gte_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_eq_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_neq_int16 (x: int16, y: int16):<> bool = "mac#%" fun g0int_compare_int16 (x: int16, y: int16):<> int = "mac#%" fun g0int_max_int16 (x: int16, y: int16):<> int16 = "mac#%" fun g0int_min_int16 (x: int16, y: int16):<> int16 = "mac#%" // fun g0int_neg_int32 (x: int32):<> int32 = "mac#%" fun g0int_abs_int32 (x: int32):<> int32 = "mac#%" fun g0int_succ_int32 (x: int32):<> int32 = "mac#%" fun g0int_pred_int32 (x: int32):<> int32 = "mac#%" fun g0int_half_int32 (x: int32):<> int32 = "mac#%" fun g0int_asl_int32 (x: int32, n: intGte(0)):<> int32 = "mac#%" fun g0int_asr_int32 (x: int32, n: intGte(0)):<> int32 = "mac#%" fun g0int_add_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_sub_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_mul_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_div_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_mod_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_isltz_int32 (x: int32):<> bool = "mac#%" fun g0int_isltez_int32 (x: int32):<> bool = "mac#%" fun g0int_isgtz_int32 (x: int32):<> bool = "mac#%" fun g0int_isgtez_int32 (x: int32):<> bool = "mac#%" fun g0int_iseqz_int32 (x: int32):<> bool = "mac#%" fun g0int_isneqz_int32 (x: int32):<> bool = "mac#%" fun g0int_lt_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_lte_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_gt_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_gte_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_eq_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_neq_int32 (x: int32, y: int32):<> bool = "mac#%" fun g0int_compare_int32 (x: int32, y: int32):<> int = "mac#%" fun g0int_max_int32 (x: int32, y: int32):<> int32 = "mac#%" fun g0int_min_int32 (x: int32, y: int32):<> int32 = "mac#%" // fun g0int_neg_int64 (x: int64):<> int64 = "mac#%" fun g0int_abs_int64 (x: int64):<> int64 = "mac#%" fun g0int_succ_int64 (x: int64):<> int64 = "mac#%" fun g0int_pred_int64 (x: int64):<> int64 = "mac#%" fun g0int_half_int64 (x: int64):<> int64 = "mac#%" fun g0int_asl_int64 (x: int64, n: intGte(0)):<> int64 = "mac#%" fun g0int_asr_int64 (x: int64, n: intGte(0)):<> int64 = "mac#%" fun g0int_add_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_sub_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_mul_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_div_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_mod_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_isltz_int64 (x: int64):<> bool = "mac#%" fun g0int_isltez_int64 (x: int64):<> bool = "mac#%" fun g0int_isgtz_int64 (x: int64):<> bool = "mac#%" fun g0int_isgtez_int64 (x: int64):<> bool = "mac#%" fun g0int_iseqz_int64 (x: int64):<> bool = "mac#%" fun g0int_isneqz_int64 (x: int64):<> bool = "mac#%" fun g0int_lt_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_lte_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_gt_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_gte_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_eq_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_neq_int64 (x: int64, y: int64):<> bool = "mac#%" fun g0int_compare_int64 (x: int64, y: int64):<> int = "mac#%" fun g0int_max_int64 (x: int64, y: int64):<> int64 = "mac#%" fun g0int_min_int64 (x: int64, y: int64):<> int64 = "mac#%" // (* ****** ****** *) fun fprint_int8 : fprint_type (int8) = "mac#%" overload fprint with fprint_int8 fun print_int8 (x: int8): void = "mac#%" fun prerr_int8 (x: int8): void = "mac#%" overload print with print_int8 overload prerr with prerr_int8 fun fprint_int16 : fprint_type (int16) = "mac#%" overload fprint with fprint_int16 fun print_int16 (x: int16): void = "mac#%" fun prerr_int16 (x: int16): void = "mac#%" overload print with print_int16 overload prerr with prerr_int16 fun fprint_int32 : fprint_type (int32) = "mac#%" overload fprint with fprint_int32 fun print_int32 (x: int32): void = "mac#%" fun prerr_int32 (x: int32): void = "mac#%" overload print with print_int32 overload prerr with prerr_int32 fun fprint_int64 : fprint_type (int64) = "mac#%" overload fprint with fprint_int64 fun print_int64 (x: int64): void = "mac#%" fun prerr_int64 (x: int64): void = "mac#%" overload print with print_int64 overload prerr with prerr_int64 (* ****** ****** *) // fun g0int2uint_int8_uint (x: int8):<> uint = "mac#%" fun g0int2uint_int16_uint (x: int16):<> uint = "mac#%" fun g0int2uint_int32_uint (x: int32):<> uint = "mac#%" fun g0int2uint_int64_uint (x: int64):<> uint = "mac#%" // fun g0uint2int_uint8_int (x: uint8):<> int = "mac#%" fun g0uint2int_uint16_int (x: uint16):<> int = "mac#%" fun g0uint2int_uint32_int (x: uint32):<> int = "mac#%" fun g0uint2int_uint64_int (x: uint64):<> int = "mac#%" // fun g0uint2uint_uint8_uint (x: uint8):<> uint = "mac#%" fun g0uint2uint_uint16_uint (x: uint16):<> uint = "mac#%" fun g0uint2uint_uint32_uint (x: uint32):<> uint = "mac#%" fun g0uint2uint_uint64_uint (x: uint64):<> uint = "mac#%" // (* ****** ****** *) // fun g0uint_succ_uint8 (x: uint8):<> uint8 = "mac#%" fun g0uint_pred_uint8 (x: uint8):<> uint8 = "mac#%" fun g0uint_half_uint8 (x: uint8):<> uint8 = "mac#%" fun g0uint_add_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_sub_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_mul_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_div_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_mod_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_lsl_uint8 (x: uint8, n: intGte(0)):<> uint8 = "mac#%" fun g0uint_lsr_uint8 (x: uint8, n: intGte(0)):<> uint8 = "mac#%" fun g0uint_lnot_uint8 (x: uint8):<> uint8 = "mac#%" fun g0uint_lor_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_lxor_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_land_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_isgtz_uint8 (x: uint8):<> bool = "mac#%" fun g0uint_iseqz_uint8 (x: uint8):<> bool = "mac#%" fun g0uint_isneqz_uint8 (x: uint8):<> bool = "mac#%" fun g0uint_lt_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_lte_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_gt_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_gte_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_eq_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_neq_uint8 (x: uint8, y: uint8):<> bool = "mac#%" fun g0uint_compare_uint8 (x: uint8, y: uint8):<> int = "mac#%" fun g0uint_max_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" fun g0uint_min_uint8 (x: uint8, y: uint8):<> uint8 = "mac#%" // fun g0uint_succ_uint16 (x: uint16):<> uint16 = "mac#%" fun g0uint_pred_uint16 (x: uint16):<> uint16 = "mac#%" fun g0uint_half_uint16 (x: uint16):<> uint16 = "mac#%" fun g0uint_add_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_sub_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_mul_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_div_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_mod_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_lsl_uint16 (x: uint16, n: intGte(0)):<> uint16 = "mac#%" fun g0uint_lsr_uint16 (x: uint16, n: intGte(0)):<> uint16 = "mac#%" fun g0uint_lnot_uint16 (x: uint16):<> uint16 = "mac#%" fun g0uint_lor_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_lxor_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_land_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_isgtz_uint16 (x: uint16):<> bool = "mac#%" fun g0uint_iseqz_uint16 (x: uint16):<> bool = "mac#%" fun g0uint_isneqz_uint16 (x: uint16):<> bool = "mac#%" fun g0uint_lt_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_lte_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_gt_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_gte_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_eq_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_neq_uint16 (x: uint16, y: uint16):<> bool = "mac#%" fun g0uint_compare_uint16 (x: uint16, y: uint16):<> int = "mac#%" fun g0uint_max_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" fun g0uint_min_uint16 (x: uint16, y: uint16):<> uint16 = "mac#%" // fun g0uint_succ_uint32 (x: uint32):<> uint32 = "mac#%" fun g0uint_pred_uint32 (x: uint32):<> uint32 = "mac#%" fun g0uint_half_uint32 (x: uint32):<> uint32 = "mac#%" fun g0uint_add_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_sub_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_mul_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_div_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_mod_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_lsl_uint32 (x: uint32, n: intGte(0)):<> uint32 = "mac#%" fun g0uint_lsr_uint32 (x: uint32, n: intGte(0)):<> uint32 = "mac#%" fun g0uint_lnot_uint32 (x: uint32):<> uint32 = "mac#%" fun g0uint_lor_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_lxor_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_land_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_isgtz_uint32 (x: uint32):<> bool = "mac#%" fun g0uint_iseqz_uint32 (x: uint32):<> bool = "mac#%" fun g0uint_isneqz_uint32 (x: uint32):<> bool = "mac#%" fun g0uint_lt_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_lte_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_gt_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_gte_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_eq_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_neq_uint32 (x: uint32, y: uint32):<> bool = "mac#%" fun g0uint_compare_uint32 (x: uint32, y: uint32):<> int = "mac#%" fun g0uint_max_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" fun g0uint_min_uint32 (x: uint32, y: uint32):<> uint32 = "mac#%" // fun g0uint_succ_uint64 (x: uint64):<> uint64 = "mac#%" fun g0uint_pred_uint64 (x: uint64):<> uint64 = "mac#%" fun g0uint_half_uint64 (x: uint64):<> uint64 = "mac#%" fun g0uint_add_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_sub_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_mul_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_div_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_mod_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_lsl_uint64 (x: uint64, n: intGte(0)):<> uint64 = "mac#%" fun g0uint_lsr_uint64 (x: uint64, n: intGte(0)):<> uint64 = "mac#%" fun g0uint_lnot_uint64 (x: uint64):<> uint64 = "mac#%" fun g0uint_lor_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_lxor_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_land_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_isgtz_uint64 (x: uint64):<> bool = "mac#%" fun g0uint_iseqz_uint64 (x: uint64):<> bool = "mac#%" fun g0uint_isneqz_uint64 (x: uint64):<> bool = "mac#%" fun g0uint_lt_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_lte_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_gt_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_gte_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_eq_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_neq_uint64 (x: uint64, y: uint64):<> bool = "mac#%" fun g0uint_compare_uint64 (x: uint64, y: uint64):<> int = "mac#%" fun g0uint_max_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" fun g0uint_min_uint64 (x: uint64, y: uint64):<> uint64 = "mac#%" // (* ****** ****** *) fun fprint_uint8 : fprint_type (uint8) = "mac#%" overload fprint with fprint_uint8 fun print_uint8 (x: uint8): void = "mac#%" fun prerr_uint8 (x: uint8): void = "mac#%" overload print with print_uint8 overload prerr with prerr_uint8 fun fprint_uint16 : fprint_type (uint16) = "mac#%" overload fprint with fprint_uint16 fun print_uint16 (x: uint16): void = "mac#%" fun prerr_uint16 (x: uint16): void = "mac#%" overload print with print_uint16 overload prerr with prerr_uint16 fun fprint_uint32 : fprint_type (uint32) = "mac#%" overload fprint with fprint_uint32 fun print_uint32 (x: uint32): void = "mac#%" fun prerr_uint32 (x: uint32): void = "mac#%" overload print with print_uint32 overload prerr with prerr_uint32 fun fprint_uint64 : fprint_type (uint64) = "mac#%" overload fprint with fprint_uint64 fun print_uint64 (x: uint64): void = "mac#%" fun prerr_uint64 (x: uint64): void = "mac#%" overload print with print_uint64 overload prerr with prerr_uint64 (* ****** ****** *) // fun g1int_neg_int8 : g1int_neg_type (int8knd) = "mac#%" fun g1int_abs_int8 : g1int_abs_type (int8knd) = "mac#%" fun g1int_succ_int8 : g1int_succ_type (int8knd) = "mac#%" fun g1int_pred_int8 : g1int_pred_type (int8knd) = "mac#%" fun g1int_half_int8 : g1int_half_type (int8knd) = "mac#%" fun g1int_add_int8 : g1int_add_type (int8knd) = "mac#%" fun g1int_sub_int8 : g1int_sub_type (int8knd) = "mac#%" fun g1int_mul_int8 : g1int_mul_type (int8knd) = "mac#%" fun g1int_div_int8 : g1int_div_type (int8knd) = "mac#%" fun g1int_nmod_int8 : g1int_nmod_type (int8knd) = "mac#%" fun g1int_isltz_int8 : g1int_isltz_type (int8knd) = "mac#%" fun g1int_isltez_int8 : g1int_isltez_type (int8knd) = "mac#%" fun g1int_isgtz_int8 : g1int_isgtz_type (int8knd) = "mac#%" fun g1int_isgtez_int8 : g1int_isgtez_type (int8knd) = "mac#%" fun g1int_iseqz_int8 : g1int_iseqz_type (int8knd) = "mac#%" fun g1int_isneqz_int8 : g1int_isneqz_type (int8knd) = "mac#%" fun g1int_lt_int8 : g1int_lt_type (int8knd) = "mac#%" fun g1int_lte_int8 : g1int_lte_type (int8knd) = "mac#%" fun g1int_gt_int8 : g1int_gt_type (int8knd) = "mac#%" fun g1int_gte_int8 : g1int_gte_type (int8knd) = "mac#%" fun g1int_eq_int8 : g1int_eq_type (int8knd) = "mac#%" fun g1int_neq_int8 : g1int_neq_type (int8knd) = "mac#%" fun g1int_compare_int8 : g1int_compare_type (int8knd) = "mac#%" fun g1int_max_int8 : g1int_max_type (int8knd) = "mac#%" fun g1int_min_int8 : g1int_min_type (int8knd) = "mac#%" // fun g1int_neg_int16 : g1int_neg_type (int16knd) = "mac#%" fun g1int_abs_int16 : g1int_abs_type (int16knd) = "mac#%" fun g1int_succ_int16 : g1int_succ_type (int16knd) = "mac#%" fun g1int_pred_int16 : g1int_pred_type (int16knd) = "mac#%" fun g1int_half_int16 : g1int_half_type (int16knd) = "mac#%" fun g1int_add_int16 : g1int_add_type (int16knd) = "mac#%" fun g1int_sub_int16 : g1int_sub_type (int16knd) = "mac#%" fun g1int_mul_int16 : g1int_mul_type (int16knd) = "mac#%" fun g1int_div_int16 : g1int_div_type (int16knd) = "mac#%" fun g1int_nmod_int16 : g1int_nmod_type (int16knd) = "mac#%" fun g1int_isltz_int16 : g1int_isltz_type (int16knd) = "mac#%" fun g1int_isltez_int16 : g1int_isltez_type (int16knd) = "mac#%" fun g1int_isgtz_int16 : g1int_isgtz_type (int16knd) = "mac#%" fun g1int_isgtez_int16 : g1int_isgtez_type (int16knd) = "mac#%" fun g1int_iseqz_int16 : g1int_iseqz_type (int16knd) = "mac#%" fun g1int_isneqz_int16 : g1int_isneqz_type (int16knd) = "mac#%" fun g1int_lt_int16 : g1int_lt_type (int16knd) = "mac#%" fun g1int_lte_int16 : g1int_lte_type (int16knd) = "mac#%" fun g1int_gt_int16 : g1int_gt_type (int16knd) = "mac#%" fun g1int_gte_int16 : g1int_gte_type (int16knd) = "mac#%" fun g1int_eq_int16 : g1int_eq_type (int16knd) = "mac#%" fun g1int_neq_int16 : g1int_neq_type (int16knd) = "mac#%" fun g1int_compare_int16 : g1int_compare_type (int16knd) = "mac#%" fun g1int_max_int16 : g1int_max_type (int16knd) = "mac#%" fun g1int_min_int16 : g1int_min_type (int16knd) = "mac#%" // fun g1int_neg_int32 : g1int_neg_type (int32knd) = "mac#%" fun g1int_abs_int32 : g1int_abs_type (int32knd) = "mac#%" fun g1int_succ_int32 : g1int_succ_type (int32knd) = "mac#%" fun g1int_pred_int32 : g1int_pred_type (int32knd) = "mac#%" fun g1int_half_int32 : g1int_half_type (int32knd) = "mac#%" fun g1int_add_int32 : g1int_add_type (int32knd) = "mac#%" fun g1int_sub_int32 : g1int_sub_type (int32knd) = "mac#%" fun g1int_mul_int32 : g1int_mul_type (int32knd) = "mac#%" fun g1int_div_int32 : g1int_div_type (int32knd) = "mac#%" fun g1int_nmod_int32 : g1int_nmod_type (int32knd) = "mac#%" fun g1int_isltz_int32 : g1int_isltz_type (int32knd) = "mac#%" fun g1int_isltez_int32 : g1int_isltez_type (int32knd) = "mac#%" fun g1int_isgtz_int32 : g1int_isgtz_type (int32knd) = "mac#%" fun g1int_isgtez_int32 : g1int_isgtez_type (int32knd) = "mac#%" fun g1int_iseqz_int32 : g1int_iseqz_type (int32knd) = "mac#%" fun g1int_isneqz_int32 : g1int_isneqz_type (int32knd) = "mac#%" fun g1int_lt_int32 : g1int_lt_type (int32knd) = "mac#%" fun g1int_lte_int32 : g1int_lte_type (int32knd) = "mac#%" fun g1int_gt_int32 : g1int_gt_type (int32knd) = "mac#%" fun g1int_gte_int32 : g1int_gte_type (int32knd) = "mac#%" fun g1int_eq_int32 : g1int_eq_type (int32knd) = "mac#%" fun g1int_neq_int32 : g1int_neq_type (int32knd) = "mac#%" fun g1int_compare_int32 : g1int_compare_type (int32knd) = "mac#%" fun g1int_max_int32 : g1int_max_type (int32knd) = "mac#%" fun g1int_min_int32 : g1int_min_type (int32knd) = "mac#%" // fun g1int_neg_int64 : g1int_neg_type (int64knd) = "mac#%" fun g1int_abs_int64 : g1int_abs_type (int64knd) = "mac#%" fun g1int_succ_int64 : g1int_succ_type (int64knd) = "mac#%" fun g1int_pred_int64 : g1int_pred_type (int64knd) = "mac#%" fun g1int_half_int64 : g1int_half_type (int64knd) = "mac#%" fun g1int_add_int64 : g1int_add_type (int64knd) = "mac#%" fun g1int_sub_int64 : g1int_sub_type (int64knd) = "mac#%" fun g1int_mul_int64 : g1int_mul_type (int64knd) = "mac#%" fun g1int_div_int64 : g1int_div_type (int64knd) = "mac#%" fun g1int_nmod_int64 : g1int_nmod_type (int64knd) = "mac#%" fun g1int_isltz_int64 : g1int_isltz_type (int64knd) = "mac#%" fun g1int_isltez_int64 : g1int_isltez_type (int64knd) = "mac#%" fun g1int_isgtz_int64 : g1int_isgtz_type (int64knd) = "mac#%" fun g1int_isgtez_int64 : g1int_isgtez_type (int64knd) = "mac#%" fun g1int_iseqz_int64 : g1int_iseqz_type (int64knd) = "mac#%" fun g1int_isneqz_int64 : g1int_isneqz_type (int64knd) = "mac#%" fun g1int_lt_int64 : g1int_lt_type (int64knd) = "mac#%" fun g1int_lte_int64 : g1int_lte_type (int64knd) = "mac#%" fun g1int_gt_int64 : g1int_gt_type (int64knd) = "mac#%" fun g1int_gte_int64 : g1int_gte_type (int64knd) = "mac#%" fun g1int_eq_int64 : g1int_eq_type (int64knd) = "mac#%" fun g1int_neq_int64 : g1int_neq_type (int64knd) = "mac#%" fun g1int_compare_int64 : g1int_compare_type (int64knd) = "mac#%" fun g1int_max_int64 : g1int_max_type (int64knd) = "mac#%" fun g1int_min_int64 : g1int_min_type (int64knd) = "mac#%" // (* ****** ****** *) // fun g1uint_succ_uint8 : g1uint_succ_type (uint8knd) = "mac#%" fun g1uint_pred_uint8 : g1uint_pred_type (uint8knd) = "mac#%" fun g1uint_half_uint8 : g1uint_half_type (uint8knd) = "mac#%" fun g1uint_add_uint8 : g1uint_add_type (uint8knd) = "mac#%" fun g1uint_sub_uint8 : g1uint_sub_type (uint8knd) = "mac#%" fun g1uint_mul_uint8 : g1uint_mul_type (uint8knd) = "mac#%" fun g1uint_div_uint8 : g1uint_div_type (uint8knd) = "mac#%" fun g1uint_mod_uint8 : g1uint_mod_type (uint8knd) = "mac#%" fun g1uint_isgtz_uint8 : g1uint_isgtz_type (uint8knd) = "mac#%" fun g1uint_iseqz_uint8 : g1uint_iseqz_type (uint8knd) = "mac#%" fun g1uint_isneqz_uint8 : g1uint_isneqz_type (uint8knd) = "mac#%" fun g1uint_lt_uint8 : g1uint_lt_type (uint8knd) = "mac#%" fun g1uint_lte_uint8 : g1uint_lte_type (uint8knd) = "mac#%" fun g1uint_gt_uint8 : g1uint_gt_type (uint8knd) = "mac#%" fun g1uint_gte_uint8 : g1uint_gte_type (uint8knd) = "mac#%" fun g1uint_eq_uint8 : g1uint_eq_type (uint8knd) = "mac#%" fun g1uint_neq_uint8 : g1uint_neq_type (uint8knd) = "mac#%" fun g1uint_compare_uint8 : g1uint_compare_type (uint8knd) = "mac#%" fun g1uint_max_uint8 : g1uint_max_type (uint8knd) = "mac#%" fun g1uint_min_uint8 : g1uint_min_type (uint8knd) = "mac#%" // fun g1uint_succ_uint16 : g1uint_succ_type (uint16knd) = "mac#%" fun g1uint_pred_uint16 : g1uint_pred_type (uint16knd) = "mac#%" fun g1uint_half_uint16 : g1uint_half_type (uint16knd) = "mac#%" fun g1uint_add_uint16 : g1uint_add_type (uint16knd) = "mac#%" fun g1uint_sub_uint16 : g1uint_sub_type (uint16knd) = "mac#%" fun g1uint_mul_uint16 : g1uint_mul_type (uint16knd) = "mac#%" fun g1uint_div_uint16 : g1uint_div_type (uint16knd) = "mac#%" fun g1uint_mod_uint16 : g1uint_mod_type (uint16knd) = "mac#%" fun g1uint_isgtz_uint16 : g1uint_isgtz_type (uint16knd) = "mac#%" fun g1uint_iseqz_uint16 : g1uint_iseqz_type (uint16knd) = "mac#%" fun g1uint_isneqz_uint16 : g1uint_isneqz_type (uint16knd) = "mac#%" fun g1uint_lt_uint16 : g1uint_lt_type (uint16knd) = "mac#%" fun g1uint_lte_uint16 : g1uint_lte_type (uint16knd) = "mac#%" fun g1uint_gt_uint16 : g1uint_gt_type (uint16knd) = "mac#%" fun g1uint_gte_uint16 : g1uint_gte_type (uint16knd) = "mac#%" fun g1uint_eq_uint16 : g1uint_eq_type (uint16knd) = "mac#%" fun g1uint_neq_uint16 : g1uint_neq_type (uint16knd) = "mac#%" fun g1uint_compare_uint16 : g1uint_compare_type (uint16knd) = "mac#%" fun g1uint_max_uint16 : g1uint_max_type (uint16knd) = "mac#%" fun g1uint_min_uint16 : g1uint_min_type (uint16knd) = "mac#%" // fun g1uint_succ_uint32 : g1uint_succ_type (uint32knd) = "mac#%" fun g1uint_pred_uint32 : g1uint_pred_type (uint32knd) = "mac#%" fun g1uint_half_uint32 : g1uint_half_type (uint32knd) = "mac#%" fun g1uint_add_uint32 : g1uint_add_type (uint32knd) = "mac#%" fun g1uint_sub_uint32 : g1uint_sub_type (uint32knd) = "mac#%" fun g1uint_mul_uint32 : g1uint_mul_type (uint32knd) = "mac#%" fun g1uint_div_uint32 : g1uint_div_type (uint32knd) = "mac#%" fun g1uint_mod_uint32 : g1uint_mod_type (uint32knd) = "mac#%" fun g1uint_isgtz_uint32 : g1uint_isgtz_type (uint32knd) = "mac#%" fun g1uint_iseqz_uint32 : g1uint_iseqz_type (uint32knd) = "mac#%" fun g1uint_isneqz_uint32 : g1uint_isneqz_type (uint32knd) = "mac#%" fun g1uint_lt_uint32 : g1uint_lt_type (uint32knd) = "mac#%" fun g1uint_lte_uint32 : g1uint_lte_type (uint32knd) = "mac#%" fun g1uint_gt_uint32 : g1uint_gt_type (uint32knd) = "mac#%" fun g1uint_gte_uint32 : g1uint_gte_type (uint32knd) = "mac#%" fun g1uint_eq_uint32 : g1uint_eq_type (uint32knd) = "mac#%" fun g1uint_neq_uint32 : g1uint_neq_type (uint32knd) = "mac#%" fun g1uint_compare_uint32 : g1uint_compare_type (uint32knd) = "mac#%" fun g1uint_max_uint32 : g1uint_max_type (uint32knd) = "mac#%" fun g1uint_min_uint32 : g1uint_min_type (uint32knd) = "mac#%" // fun g1uint_succ_uint64 : g1uint_succ_type (uint64knd) = "mac#%" fun g1uint_pred_uint64 : g1uint_pred_type (uint64knd) = "mac#%" fun g1uint_half_uint64 : g1uint_half_type (uint64knd) = "mac#%" fun g1uint_add_uint64 : g1uint_add_type (uint64knd) = "mac#%" fun g1uint_sub_uint64 : g1uint_sub_type (uint64knd) = "mac#%" fun g1uint_mul_uint64 : g1uint_mul_type (uint64knd) = "mac#%" fun g1uint_div_uint64 : g1uint_div_type (uint64knd) = "mac#%" fun g1uint_mod_uint64 : g1uint_mod_type (uint64knd) = "mac#%" fun g1uint_isgtz_uint64 : g1uint_isgtz_type (uint64knd) = "mac#%" fun g1uint_iseqz_uint64 : g1uint_iseqz_type (uint64knd) = "mac#%" fun g1uint_isneqz_uint64 : g1uint_isneqz_type (uint64knd) = "mac#%" fun g1uint_lt_uint64 : g1uint_lt_type (uint64knd) = "mac#%" fun g1uint_lte_uint64 : g1uint_lte_type (uint64knd) = "mac#%" fun g1uint_gt_uint64 : g1uint_gt_type (uint64knd) = "mac#%" fun g1uint_gte_uint64 : g1uint_gte_type (uint64knd) = "mac#%" fun g1uint_eq_uint64 : g1uint_eq_type (uint64knd) = "mac#%" fun g1uint_neq_uint64 : g1uint_neq_type (uint64knd) = "mac#%" fun g1uint_compare_uint64 : g1uint_compare_type (uint64knd) = "mac#%" fun g1uint_max_uint64 : g1uint_max_type (uint64knd) = "mac#%" fun g1uint_min_uint64 : g1uint_min_type (uint64knd) = "mac#%" // (* ****** ****** *) (* end of [integer_fixed.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/float.sats0000664000175000017500000002653212655455557017161 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/float.atxt ** Time of generation: Fri Nov 20 19:49:31 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) stadef fltknd = float_kind stadef dblknd = double_kind stadef ldblknd = ldouble_kind (* ****** ****** *) fun{ tk1,tk2:tk } g0int2float (x: g0int (tk1)):<> g0float (tk2) fun g0int2float_int_float (x: int):<> float = "mac#%" fun g0int2float_int_double (x: int):<> double = "mac#%" fun g0int2float_lint_double (x: lint):<> double = "mac#%" (* ****** ****** *) fun{ tk1,tk2:tk } g0float2int (x: g0float (tk1)):<> g0int (tk2) fun g0float2int_float_int (x: float):<> int = "mac#%" fun g0float2int_float_lint (x: float):<> lint = "mac#%" fun g0float2int_double_int (x: double):<> int = "mac#%" fun g0float2int_double_lint (x: double):<> lint = "mac#%" fun g0float2int_double_llint (x: double):<> llint = "mac#%" (* ****** ****** *) fun{ tk1,tk2:tk } g0float2float (x: g0float (tk1)):<> g0float (tk2) fun g0float2float_float_float (x: float):<> float = "mac#%" fun g0float2float_float_double (x: float):<> double = "mac#%" fun g0float2float_double_float (x: double):<> float = "mac#%" fun g0float2float_double_double (x: double):<> double = "mac#%" (* ****** ****** *) // fun{tk:tk} g0string2float (str: NSH(string)):<> g0float (tk) // fun g0string2float_double (x: NSH(string)):<> double = "mac#%" // (* ****** ****** *) // typedef g0float_uop_type (tk:tk) = g0float (tk) - g0float (tk) // (* ****** ****** *) fun{tk:tk} g0float_neg : g0float_uop_type (tk) overload ~ with g0float_neg of 0 // ~ for uminus overload neg with g0float_neg of 0 fun{tk:tk} g0float_abs : g0float_uop_type (tk) overload abs with g0float_abs of 0 (* ****** ****** *) fun{tk:tk} g0float_succ : g0float_uop_type (tk) overload succ with g0float_succ of 0 fun{tk:tk} g0float_pred : g0float_uop_type (tk) overload pred with g0float_pred of 0 (* ****** ****** *) typedef g0float_aop_type (tk:tk) = (g0float (tk), g0float (tk)) - g0float (tk) // end of [g0float_aop_type] fun {tk:tk} g0float_add : g0float_aop_type(tk) overload + with g0float_add of 0 fun {tk:tk} g0float_sub : g0float_aop_type(tk) overload - with g0float_sub of 0 fun {tk:tk} g0float_mul : g0float_aop_type(tk) overload * with g0float_mul of 0 fun {tk:tk} g0float_div : g0float_aop_type(tk) overload / with g0float_div of 0 fun {tk:tk} g0float_mod : g0float_aop_type(tk) overload % with g0float_mod of 0 overload mod with g0float_mod of 0 (* ****** ****** *) fun{tk:tk} g0float_isltz (x: g0float(tk)):<> bool overload isltz with g0float_isltz of 0 fun{tk:tk} g0float_isltez (x: g0float(tk)):<> bool overload isltez with g0float_isltez of 0 fun{tk:tk} g0float_isgtz (x: g0float(tk)):<> bool overload isgtz with g0float_isgtz of 0 fun{tk:tk} g0float_isgtez (x: g0float(tk)):<> bool overload isgtez with g0float_isgtez of 0 fun{tk:tk} g0float_iseqz (x: g0float(tk)):<> bool overload iseqz with g0float_iseqz of 0 fun{tk:tk} g0float_isneqz (x: g0float(tk)):<> bool overload isneqz with g0float_isneqz of 0 (* ****** ****** *) // typedef g0float_cmp_type (tk:tk) = (g0float(tk), g0float(tk)) - bool // end of [g0float_cmp_type] // fun {tk:tk} g0float_lt : g0float_cmp_type(tk) overload < with g0float_lt of 0 fun {tk:tk} g0float_lte : g0float_cmp_type(tk) overload <= with g0float_lte of 0 fun {tk:tk} g0float_gt : g0float_cmp_type(tk) overload > with g0float_gt of 0 fun {tk:tk} g0float_gte : g0float_cmp_type(tk) overload >= with g0float_gte of 0 fun {tk:tk} g0float_eq : g0float_cmp_type(tk) overload = with g0float_eq of 0 fun {tk:tk} g0float_neq : g0float_cmp_type(tk) overload != with g0float_neq of 0 overload <> with g0float_neq of 0 // (* ****** ****** *) // typedef g0float_compare_type (tk:tk) = (g0float(tk), g0float(tk)) - (int) // end of [g0float_compare_type] // fun{tk:tk} g0float_compare : g0float_compare_type(tk) // overload compare with g0float_compare of 0 // (* ****** ****** *) fun{tk:tk} g0float_max : g0float_aop_type(tk) overload max with g0float_max of 0 fun{tk:tk} g0float_min : g0float_aop_type(tk) overload min with g0float_min of 0 (* ****** ****** *) fun g0float_neg_float : g0float_uop_type(fltknd) = "mac#%" fun g0float_abs_float : g0float_uop_type(fltknd) = "mac#%" fun g0float_succ_float : g0float_uop_type(fltknd) = "mac#%" fun g0float_pred_float : g0float_uop_type(fltknd) = "mac#%" fun g0float_add_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_sub_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_mul_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_div_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_mod_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_lt_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_lte_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_gt_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_gte_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_eq_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_neq_float : g0float_cmp_type(fltknd) = "mac#%" fun g0float_compare_float : g0float_compare_type(fltknd) = "mac#%" fun g0float_max_float : g0float_aop_type(fltknd) = "mac#%" fun g0float_min_float : g0float_aop_type(fltknd) = "mac#%" (* ****** ****** *) fun g0float_neg_double : g0float_uop_type(dblknd) = "mac#%" fun g0float_abs_double : g0float_uop_type(dblknd) = "mac#%" fun g0float_succ_double : g0float_uop_type(dblknd) = "mac#%" fun g0float_pred_double : g0float_uop_type(dblknd) = "mac#%" fun g0float_add_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_sub_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_mul_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_div_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_mod_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_lt_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_lte_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_gt_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_gte_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_eq_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_neq_double : g0float_cmp_type(dblknd) = "mac#%" fun g0float_compare_double : g0float_compare_type(dblknd) = "mac#%" fun g0float_max_double : g0float_aop_type(dblknd) = "mac#%" fun g0float_min_double : g0float_aop_type(dblknd) = "mac#%" (* ****** ****** *) fun g0float_neg_ldouble : g0float_uop_type(ldblknd) = "mac#%" fun g0float_abs_ldouble : g0float_uop_type(ldblknd) = "mac#%" fun g0float_succ_ldouble : g0float_uop_type(ldblknd) = "mac#%" fun g0float_pred_ldouble : g0float_uop_type(ldblknd) = "mac#%" fun g0float_add_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_sub_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_mul_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_div_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_mod_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_lt_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_lte_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_gt_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_gte_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_eq_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_neq_ldouble : g0float_cmp_type(ldblknd) = "mac#%" fun g0float_compare_ldouble : g0float_compare_type(ldblknd) = "mac#%" fun g0float_max_ldouble : g0float_aop_type(ldblknd) = "mac#%" fun g0float_min_ldouble : g0float_aop_type(ldblknd) = "mac#%" (* ****** ****** *) // fun print_float (float): void = "mac#%" fun prerr_float (float): void = "mac#%" fun fprint_float : fprint_type (float) = "mac#%" overload print with print_float overload prerr with prerr_float overload fprint with fprint_float // fun print_double (double): void = "mac#%" fun prerr_double (double): void = "mac#%" fun fprint_double : fprint_type (double) = "mac#%" overload print with print_double overload prerr with prerr_double overload fprint with fprint_double // fun print_ldouble (ldouble): void = "mac#%" fun prerr_ldouble (ldouble): void = "mac#%" fun fprint_ldouble : fprint_type (ldouble) = "mac#%" overload print with print_ldouble overload prerr with prerr_ldouble overload fprint with fprint_ldouble // (* ****** ****** *) // fun add_int_float (x: int, y: float): float = "mac#%" fun add_float_int (x: float, y: int): float = "mac#%" overload + with add_int_float of 0 overload + with add_float_int of 0 // fun add_int_double (x: int, y: double): double = "mac#%" fun add_double_int (x: double, y: int): double = "mac#%" overload + with add_int_double of 0 overload + with add_double_int of 0 // (* ****** ****** *) // fun sub_int_float (x: int, y: float): float = "mac#%" fun sub_float_int (x: float, y: int): float = "mac#%" overload - with sub_int_float of 0 overload - with sub_float_int of 0 // fun sub_int_double (x: int, y: double): double = "mac#%" fun sub_double_int (x: double, y: int): double = "mac#%" overload - with sub_int_double of 0 overload - with sub_double_int of 0 // (* ****** ****** *) // fun mul_int_float (x: int, y: float): float = "mac#%" fun mul_float_int (x: float, y: int): float = "mac#%" overload * with mul_int_float of 0 overload * with mul_float_int of 0 // fun mul_int_double (x: int, y: double): double = "mac#%" fun mul_double_int (x: double, y: int): double = "mac#%" overload * with mul_int_double of 0 overload * with mul_double_int of 0 // (* ****** ****** *) // fun div_int_float (x: int, y: float): float = "mac#%" fun div_float_int (x: float, y: int): float = "mac#%" overload / with div_int_float of 0 overload / with div_float_int of 0 // fun div_int_double (x: int, y: double): double = "mac#%" fun div_double_int (x: double, y: int): double = "mac#%" overload / with div_int_double of 0 overload / with div_double_int of 0 // (* ****** ****** *) // fun {tk:tk} g0float_npow (x: g0float(tk), n: intGte(0)): g0float(tk) // overload ** with g0float_npow of 0 // (* ****** ****** *) macdef g0i2f (x) = g0int2float (,(x)) macdef g0f2i (x) = g0float2int (,(x)) macdef g0f2f (x) = g0float2float (,(x)) (* ****** ****** *) (* end of [float.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/array_prf.sats0000664000175000017500000000603312655455557020033 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/array_prf.atxt ** Time of generation: Sat Nov 7 22:19:27 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) prfun array_v_split {a:vt0p} {l:addr} {n:int}{i:nat | i <= n} ( pfarr: array_v (INV(a), l, n) ) : @( array_v (a, l, i), array_v (a, l+i*sizeof(a), n-i) ) // end of [array_v_split] prfun array_v_split_at {a:vt0p} {l:addr} {n:int}{i:nat | i <= n} ( pfarr: array_v (INV(a), l, n) | i: size_t (i) ) : @( array_v (a, l, i), array_v (a, l+i*sizeof(a), n-i) ) // end of [array_v_split_at] (* ****** ****** *) prfun array_v_unsplit {a:vt0p} {l:addr} {n1,n2:int} ( pf1arr: array_v (INV(a), l, n1) , pf2arr: array_v (a, l+n1*sizeof(a), n2) ) : array_v (a, l, n1+n2) // end of [array_v_unsplit] (* ****** ****** *) // prfun array_v_extend : {a:vt0p} {l:addr}{n:int} (array_v (INV(a), l, n), a @ l+n*sizeof(a)) - array_v (a, l, n+1) // prfun array_v_unextend : {a:vt0p} {l:addr} {n:int | n > 0} (array_v (INV(a), l, n)) - (array_v (a, l, n-1), a @ l+(n-1)*sizeof(a)) // (* ****** ****** *) prfun array_v_takeout {a:vt0p} {l:addr} {n:int } {i:nat | i < n} ( pfarr: array_v (INV(a), l, n) ) : vtakeout ( array_v (a, l, n), a @ (l+i*sizeof(a)) ) (* end of [array_v_takeout] *) (* ****** ****** *) praxi array_v_group {a:vt0p}{l:addr}{m,n:int} (pf: array_v (INV(a), l, m*n)): array_v (@[a][n], l, m) // end of [array_v_group] praxi array_v_ungroup {a:vt0p}{l:addr}{m,n:int} (pf: array_v (@[INV(a)][n], l, m)): array_v (INV(a), l, m*n) // end of [array_v_ungroup] (* ****** ****** *) (* end of [array_prf.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/.keeper0000664000175000017500000000000012655455557016412 0ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/SATS/filebas.sats0000664000175000017500000001606112655455557017455 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/filebas.atxt ** Time of generation: Fri Oct 23 21:36:27 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) sortdef t0p = t@ype and vt0p = viewt@ype (* ****** ****** *) #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) val stdin_ref : FILEref = "mac#%FILE_stdin" val stdout_ref : FILEref = "mac#%FILE_stdout" val stderr_ref : FILEref = "mac#%FILE_stderr" (* ****** ****** *) fun{} dirsep_get ():<> charNZ fun{} dirname_self ():<> string fun{} dirname_parent ():<> string (* ****** ****** *) fun{} filename_get_ext (name: string):<> vStrptr0 fun{} filename_test_ext (name: string, ext: string):<> bool (* ****** ****** *) fun{} filename_get_base (name: string):<> vStrptr1 fun{} filename_test_base (name: string, base: string):<> bool (* ****** ****** *) // val file_mode_r : file_mode (file_mode_r()) = "mac#%" // = "r" val file_mode_rr : file_mode (file_mode_rw()) = "mac#%" // = "r+" // val file_mode_w : file_mode (file_mode_w()) = "mac#%" // = "w" val file_mode_ww : file_mode (file_mode_rw()) = "mac#%" // = "w+" // val file_mode_a : file_mode (file_mode_rw()) = "mac#%" // = "a" val file_mode_aa : file_mode (file_mode_rw()) = "mac#%" // = "a+" // (* ****** ****** *) // (* ** HX: [stat] is called *) fun test_file_exists (path: NSH(string)): bool = "mac#%" // (* ****** ****** *) // // HX-2011-02-16: // [stat] is called to obtain the mode of a given file // for [f] to be applied to it. // fun{} test_file_mode (path: NSH(string)): int // fun{} test_file_mode$pred (mode: uint): bool // fun test_file_mode_fun (path: NSH(string), f: uint -> bool): int = "mac#%" // // HX: [stat] is called // ~1/0/1: error/false/true // fun test_file_isblk (path: NSH(string)): int = "mac#%" fun test_file_ischr (path: NSH(string)): int = "mac#%" fun test_file_isdir (path: NSH(string)): int = "mac#%" fun test_file_isfifo (path: NSH(string)): int = "mac#%" fun test_file_isreg (path: NSH(string)): int = "mac#%" // // HX: [lstat] is called // ~1/0/1: error/false/true // fun test_file_islnk (path: NSH(string)): int = "mac#%" // (* ****** ****** *) fun fileref_open_exn (path: NSH(string), fm: file_mode): FILEref = "mac#%" // end of [fileref_open_exn] fun{} fileref_open_opt (path: NSH(string), fm: file_mode): Option_vt (FILEref) // end of [fileref_open_opt] (* ****** ****** *) fun fileref_close (fil: FILEref): void = "mac#%" (* ****** ****** *) fun fileref_flush (fil: FILEref): void = "mac#%" (* ****** ****** *) // // HX: error indication: EOF // fun fileref_getc (inp: FILEref): int = "mac#%" // (* ****** ****** *) // // HX: no error reporting // symintr fileref_putc // fun fileref_putc_int (out: FILEref, c: int): void = "mac#%" overload fileref_putc with fileref_putc_int fun fileref_putc_char (out: FILEref, c: char): void = "mac#%" overload fileref_putc with fileref_putc_char // (* ****** ****** *) // // HX: no error reporting // fun fileref_puts (out: FILEref, s: NSH(string)): void = "mac#%" // (* ****** ****** *) // fun fileref_is_eof (fil: FILEref): bool = "mac#%" // macdef fileref_isnot_eof (inp) = ~fileref_is_eof (,(inp)) // (* ****** ****** *) typedef fileref_load_type (a:t@ype) = (FILEref, &a? >> opt (a, b)) - #[b:bool] bool (b) // end of [fileref_load_type] fun{a:t0p} fileref_load : fileref_load_type (a) fun fileref_load_int : fileref_load_type (int) = "mac#%" fun fileref_load_lint : fileref_load_type (lint) = "mac#%" fun fileref_load_uint : fileref_load_type (uint) = "mac#%" fun fileref_load_ulint : fileref_load_type (ulint) = "mac#%" fun fileref_load_float : fileref_load_type (float) = "mac#%" fun fileref_load_double : fileref_load_type (double) = "mac#%" (* ****** ****** *) fun{a:t0p} fileref_get_optval (inp: FILEref): Option_vt (a) // end of [fileref_get_optval] fun{ a:t0p } fileref_get_exnmsg (inp: FILEref, msg: NSH(string)): a // end of [fileref_get_exnmsg] macdef fileref_get_exnloc (inp) = fileref_get_exnmsg (,(inp), $mylocation) // end of [fileref_get_exnloc] (* ****** ****** *) typedef charlst = List0 (char) vtypedef charlst_vt = List0_vt (char) (* ****** ****** *) // fun fileref_get_line_charlst (inp: FILEref): charlst_vt // (* ****** ****** *) // (* ** HX: only for files of "tiny" size *) fun fileref_get_lines_charlstlst (inp: FILEref): List0_vt (charlst_vt) // (* ****** ****** *) // (* ** HX: for handling files of "tiny" size *) fun fileref_get_file_charlst (inp: FILEref): List0_vt (char) fun fileref_get2_file_charlst (inp: FILEref, n: int): List0_vt (char) // (* ****** ****** *) // fun fileref_put_charlst (inp: FILEref, cs: NSH(List(char))): void // (* ****** ****** *) // // // HX-2013-05: // these functions are based on [fgets]; // they should only be applied to files containing // no occurrences of the NUL character ('\000'). // fun{} fileref_get_line_string (inp: FILEref): Strptr1 // fun{} fileref_get_line_string_main (inp: FILEref, n: &int? >> int n): #[n:nat] strnptr (n) fun{} fileref_get_line_string$bufsize ((*void*)): intGte(1) // fun{} fileref_get_lines_stringlst (inp: FILEref): List0_vt (Strptr1) // (* ****** ****** *) // fun{} fileref_get_file_string (inp: FILEref): Strptr1 fun{} fileref_get_file_string$bufsize ((*void*)): intGte(1) // (* ****** ****** *) // fun{} fileref_get_word (inp: FILEref): Strptr0 fun{} fileref_get_word$isalpha (c: charNZ): bool // (* ****** ****** *) // fun{} fileref_foreach (inp: FILEref): void fun{ env:vt0p } fileref_foreach_env (inp: FILEref, env: &(env) >> _): void // fun{} fileref_foreach$bufsize (): sizeGte(1) fun{ env:vt0p } fileref_foreach$fwork (c: char, env: &(env) >> _): void fun{ env:vt0p } fileref_foreach$fworkv {n:int} (arrayref(char, n), size_t(n), &(env) >> _): void // (* ****** ****** *) (* end of [filebas.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/stream.sats0000664000175000017500000001460012655455557017340 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/stream.atxt ** Time of generation: Fri Oct 23 21:36:28 2015 *) (* ****** ****** *) sortdef t0p = t@ype (* ****** ****** *) // // HX: lazy streams // datatype stream_con (a:t@ype+) = | stream_nil of ((*void*)) | stream_cons of (a, stream(a)) where stream (a:t@ype) = lazy (stream_con(a)) // (* ****** ****** *) // exception StreamSubscriptExn of ((*void*)) // (* fun StreamSubscriptExn ():<> exn = "mac#StreamSubscriptExn_make" fun isStreamSubscriptExn (x: !exn):<> bool = "mac#isStreamSubscriptExn" *) // (* ****** ****** *) // fun{a:t0p} stream_sing(x: a):<> stream_con(a) // (* ****** ****** *) fun{a:t0p} stream2list (xs: stream(INV(a))): List0_vt(a) // end of [stream2list] (* ****** ****** *) fun{a:t0p} stream_nth_exn (xs: stream(INV(a)), n: intGte(0)): (a) // end of [stream_nth_exn] fun{a:t0p} stream_nth_opt (xs: stream(INV(a)), n: intGte(0)): Option_vt(a) // end of [stream_nth_opt] (* ****** ****** *) fun{a:t0p} stream_take_exn{n:nat} (xs: stream(INV(a)), n: int n): list_vt(a, n) // end of [stream_take_lte] (* ****** ****** *) fun{a:t0p} stream_drop_exn (xs: stream(INV(a)), n: intGte(0)): stream(a) // end of [stream_drop_exn] (* ****** ****** *) // fun{a:t0p} stream_append (xs: stream(INV(a)), ys: stream(a)): stream(a) // fun{a:t0p} stream_concat(xss: stream(stream(INV(a)))): stream(a) // (* ****** ****** *) // fun{a:t0p} stream_filter (xs: stream(INV(a))): stream(a) // fun{a:t0p} stream_filter$pred (x: a):<> bool // fun{a:t0p} stream_filter_fun ( xs: stream(INV(a)), pred: (a) - bool ) : stream(a) // end-of-function fun{a:t0p} stream_filter_cloref ( xs: stream(INV(a)), pred: (a) - bool ) : stream(a) // end-of-function // (* ****** ****** *) fun{ a:t0p}{b:t0p } stream_map (xs: stream(INV(a))): stream(b) fun{ a:t0p}{b:t0p } stream_map$fopr (x: a):<(*none*)> (b) // fun{ a:t0p}{b:t0p } stream_map_fun (xs: stream(INV(a)), f: (a) - b): stream(b) fun{ a:t0p}{b:t0p } stream_map_cloref (xs: stream(INV(a)), f: (a) - b): stream(b) // (* ****** ****** *) // fun{ a:t0p}{b:t0p } stream_imap{n:int} (xs: stream(INV(a))): stream(b) // fun{ a:t0p}{b:t0p } stream_imap$fopr (i: intGte(0), x: a):<> (b) // fun{ a:t0p}{b:t0p } stream_imap_fun ( xs: stream(INV(a)), f: (intGte(0), a) - b ) : stream(b) // end-of-fun fun{ a:t0p}{b:t0p } stream_imap_cloref ( xs: stream(INV(a)), f: (intGte(0), a) - b ) : stream(b) // end-of-fun // (* ****** ****** *) // fun{ a1,a2:t0p}{b:t0p } stream_map2 ( xs1: stream(INV(a1)) , xs2: stream(INV(a2)) ) : stream(b) // end-of-fun fun{ a1,a2:t0p}{b:t0p } stream_map2$fopr (x1: a1, x2: a2):<> b // fun{ a1,a2:t0p}{b:t0p } stream_map2_fun ( xs1: stream(INV(a1)) , xs2: stream(INV(a2)), f: (a1, a2) - b ) : stream(b) // end-of-fun fun{ a1,a2:t0p}{b:t0p } stream_map2_cloref ( xs1: stream(INV(a1)) , xs2: stream(INV(a2)), f: (a1, a2) - b ) : stream(b) // end-of-fun // (* ****** ****** *) // fun{ res:t0p}{x:t0p } stream_scan (stream(INV(x)), ini: res): stream(res) // fun{ res:t0p}{x:t0p } stream_scan$fopr(res: res, x: x):<(*none*)> res // fun{ res:t0p}{x:t0p } stream_scan_fun ( stream(INV(x)), ini: res, (res, x) - res ) : stream(res) // end-of-function // fun{ res:t0p}{x:t0p } stream_scan_cloref ( stream(INV(x)), ini: res, (res, x) - res ) : stream(res) // end-of-function // (* ****** ****** *) // fun{a:t0p} stream_merge (stream(INV(a)), stream(a)) : stream(a) // fun{a:t0p} stream_merge$cmp (x1: a, x2: a):<> int // fun{a:t0p} stream_merge_fun ( xs1: stream(INV(a)), xs2: stream(a), (a, a) - int ) : stream(a) // end of [stream_merge_fun] fun{a:t0p} stream_merge_cloref ( xs1: stream(INV(a)), xs2: stream(a), (a, a) - int ) : stream(a) // end of [stream_merge_cloref] (* ****** ****** *) // fun{a:t0p} stream_mergeq (stream(INV(a)), stream(a)): stream(a) // fun{a:t0p} stream_mergeq$cmp (x1: a, x2: a):<> int // fun{a:t0p} stream_mergeq_fun ( xs1: stream(INV(a)), xs2: stream(a), (a, a) - int ) : stream(a) // end of [stream_mergeq_fun] fun{a:t0p} stream_mergeq_cloref ( xs1: stream(INV(a)), xs2: stream(a), (a, a) - int ) : stream(a) // end of [stream_mergeq_cloref] // (* ****** ****** *) // fun{ a:t0p } stream_tabulate (): stream(a) fun{ a:t0p } stream_tabulate$fopr (i: intGte(0)): (a) // fun{ a:t0p } stream_tabulate_fun (f: intGte(0) -> a): stream(a) fun{ a:t0p } stream_tabulate_cloref (f: intGte(0) -> a): stream(a) // (* ****** ****** *) // fun{a:t0p} stream_foreach (xs: stream(a)): void fun{ a:t0p}{env:vt0p } stream_foreach_env (xs: stream(a), &env >> _): void // fun{ a:t0p}{env:vt0p } stream_foreach$cont (x: a, env: &env): bool fun{ a:t0p}{env:vt0p } stream_foreach$fwork (x: a, env: &env): void // (* ****** ****** *) // fun{} fprint_stream$sep (out: FILEref): void fun{a:t0p} fprint_stream (out: FILEref, xs: stream(INV(a)), n: int): void // (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload [] with stream_nth_exn (* ****** ****** *) (* end of [stream.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/option_vt.sats0000664000175000017500000000555012655455557020072 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/option_vt.atxt ** Time of generation: Sat Jun 27 21:39:12 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) (* ****** ****** *) sortdef vt0p = viewt@ype (* ****** ****** *) #if(0) // // HX: these decls are available in [basic_dyn.sats] // stadef option_vt = option_vt0ype_bool_vtype vtypedef Option_vt (a:vt0p) = [b:bool] option_vt (a, b) // #endif (* ****** ****** *) fun{a:vt0p} option_vt_some (x: a): option_vt (a, true) fun{a:vt0p} option_vt_none ((*void*)): option_vt (a, false) (* ****** ****** *) fun{ a:vt0p } option_vt_make_opt {b:bool} ( b: bool b, x: &opt (INV(a), b) >> a? ) : option_vt (a, b) // endfun (* ****** ****** *) fun{} option_vt_is_some{a:vt0p} {b:bool} (opt: !option_vt (INV(a), b)):<> bool (b) // end of [option_vt_is_some] fun{} option_vt_is_none{a:vt0p} {b:bool} (opt: !option_vt (INV(a), b)):<> bool (~b) // end of [option_vt_is_none] (* ****** ****** *) fun{a:vt0p} option_vt_unsome (opt: option_vt (INV(a), true)): a fun{a:vt0p} option_vt_unnone (opt: option_vt (INV(a), false)): void (* ****** ****** *) fun{a:t0p} option_vt_free (opt: Option_vt (INV(a))): void (* ****** ****** *) fun{a:vt0p} fprint_option_vt{b:bool} (out: FILEref, opt: !option_vt (INV(a), b)): void overload fprint with fprint_option_vt (* ****** ****** *) // // overloading for certain symbols // (* ****** ****** *) overload iseqz with option_vt_is_none overload isneqz with option_vt_is_some (* ****** ****** *) (* end of [option_vt.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/matrix.sats0000664000175000017500000002155412655455557017357 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/matrix.atxt ** Time of generation: Sat Feb 6 15:18:15 2016 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: Feburary, 2012 *) (* ****** ****** *) vtypedef RD(a:vt0p) = a // for commenting: read-only #define NSH (x) x // for commenting: no sharing #define SHR (x) x // for commenting: it is shared (* ****** ****** *) sortdef t0p = t@ype sortdef vtp = viewtype sortdef vt0p = viewt@ype (* ****** ****** *) absvt@ype matrix_vt0ype_int_int_vt0ype (a:vt@ype+, row:int, col:int) = array(a, row*col) stadef matrix = matrix_vt0ype_int_int_vt0ype (* ****** ****** *) viewdef matrix_v ( a:viewt@ype+, l:addr, row:int, col:int ) = matrix (a, row, col) @ l (* ****** ****** *) exception MatrixSubscriptExn of ((*void*)) (* ****** ****** *) // praxi lemma_matrix_param {a:vt0p} {l:addr}{m,n:int} ( M: &matrix(INV(a), m, n) ) : [m >= 0; n >= 0] void // praxi lemma_matrix_v_param {a:vt0p} {l:addr}{m,n:int} ( pf0: !matrix_v(INV(a), l, m, n) ) : [m >= 0; n >= 0] void // end-of-fun // (* ****** ****** *) // praxi array2matrix_v {a:vt0p} {l:addr}{m,n:int} ( pf0: array_v(INV(a), l, m*n) ) : matrix_v (a, l, m(*nrow*), n(*ncol*)) praxi matrix2array_v {a:vt0p} {l:addr}{m,n:int} (pf0: matrix_v(INV(a), l, m, n)): array_v (a, l, m*n) // (* ****** ****** *) // // HX: row-major style // absview matrow_view ( a:vt@ype+ , l:addr, m:int, n:int ) // stadef matrow_v = matrow_view // absview matcol_view ( a:vt@ype+ , l:addr, m:int, n:int ) // stadef matcol_v = matcol_view // (* ****** ****** *) // fun{a:vt0p} matrix_getref_at_int {m,n:int} ( M: &RD(matrix (INV(a), m, n)) , i: natLt (m), n: int n, j: natLt (n) ) :<> cPtr1 (a) // end-of-function // fun{a:vt0p} matrix_getref_at_size {m,n:int} ( M: &RD(matrix (INV(a), m, n)) , i: sizeLt (m), n: size_t n, j: sizeLt (n) ) :<> cPtr1 (a) // end-of-function // symintr matrix_getref_at // overload matrix_getref_at with matrix_getref_at_int overload matrix_getref_at with matrix_getref_at_size // (* ****** ****** *) // fun{a:t0p} matrix_get_at_int {m,n:int} ( M: &RD(matrix (INV(a), m, n)) , i: natLt (m), n: int n, j: natLt (n) ) :<> (a) // endfun // overload [] with matrix_get_at_int // fun{a:t0p} matrix_get_at_size {m,n:int} ( M: &RD(matrix(INV(a), m, n)) , i: sizeLt (m), n: size_t n, j: sizeLt(n) ) :<> (a) // endfun // overload [] with matrix_get_at_size // symintr matrix_get_at // overload matrix_get_at with matrix_get_at_int of 0 overload matrix_get_at with matrix_get_at_size of 0 // (* ****** ****** *) // fun{a:t0p} matrix_set_at_int {m,n:int} ( M: &matrix(INV(a), m, n) , i: natLt (m), n: int n, j: natLt (n), x: a ) : void // end-of-function // overload [] with matrix_set_at_int // fun{a:t0p} matrix_set_at_size {m,n:int} ( M: &matrix(INV(a), m, n) , i: sizeLt (m), n: size_t n, j: sizeLt (n), x: a ) : void // end-of-function // overload [] with matrix_set_at_size // symintr matrix_set_at // overload matrix_set_at with matrix_set_at_int of 0 overload matrix_set_at with matrix_set_at_size of 0 // (* ****** ****** *) fun{a:vt0p} matrix_exch_at_int {m,n:int} ( M: &matrix(INV(a), m, n) , i: natLt (m), n: int n, j: natLt (n), x: &a>>a ) : void // endfun fun{a:vt0p} matrix_exch_at_size {m,n:int} ( M: &matrix(INV(a), m, n) , i: sizeLt (m), n: size_t n, j: sizeLt (n), x: &a>>a ) : void // endfun symintr matrix_exch_at overload matrix_exch_at with matrix_exch_at_int overload matrix_exch_at with matrix_exch_at_size (* ****** ****** *) fun{a:vt0p} matrix_ptr_alloc {m,n:int} ( row: size_t m, col: size_t n ) : [l:agz] ( matrix_v(a?, l, m, n), mfree_gc_v (l) | ptr l ) // end of [matrix_ptr_alloc] fun{} matrix_ptr_free {a:vt0p}{l:addr}{m,n:int} ( matrix_v(a?, l, m, n), mfree_gc_v l | ptr l ) : void // end of [matrix_ptr_free] (* ****** ****** *) // fun{a:vt0p} matrix_tabulate$fopr (i: size_t, j: size_t): (a) // fun{a:vt0p} matrix_ptr_tabulate {m,n:int} ( nrow: size_t m, ncol: size_t n ) : [l:addr] ( matrix_v (a, l, m, n), mfree_gc_v (l) | ptr(l) ) (* end of [matrixptr_tabulate] *) // (* ****** ****** *) // fun{} fprint_matrix$sep1(out: FILEref): void // col sep fun{} fprint_matrix$sep2(out: FILEref): void // row sep // fun{a:vt0p} fprint_matrix_int {m,n:int} ( out: FILEref , mat: &matrix(INV(a), m, n), m: int(m), n: int(n) ) : void // end of [fprint_matrix_int] fun{a:vt0p} fprint_matrix_size {m,n:int} ( out: FILEref , mat: &matrix(INV(a), m, n), m: size_t(m), n: size_t(n) ) : void // end of [fprint_matrix_size] // symintr fprint_matrix // overload fprint_matrix with fprint_matrix_int overload fprint_matrix with fprint_matrix_size // (* ****** ****** *) fun{a:vt0p} fprint_matrix_sep {m,n:int} ( out: FILEref , M: &matrix(INV(a), m, n) , m: size_t(m), n: size_t(n) , sep1: NSH(string), sep2: NSH(string) ) : void // end of [fprint_matrix_sep] (* ****** ****** *) fun{a:vt0p} matrix_ptr_takeout_elt {l0:addr} {m,n:int} {i,j:nat | i < m; j < n} ( pfm: matrix_v(INV(a), l0, m, n) | base: ptr(l0) , i: size_t(i), n: size_t(n), j: size_t(j) ) :<> [l:addr] ( a @ l , a @ l - matrix_v (a, l0, m, n) | ptr (l) ) (* end of [matrix_ptr_takeout_elt] *) fun{a:vt0p} matrix_ptr_takeout_row {l0:addr} {m,n:int} {i:int | i < m} ( pfm: matrix_v(INV(a), l0, m, n) | base: ptr(l0), i: size_t(i), n: size_t(n) ) :<> [l:addr] ( matrow_v(a, l, m, n) , matrow_v(a, l, m, n) - matrix_v(a, l0, m, n) | ptr (l) ) (* end of [matrix_ptr_takeout_row] *) fun{a:vt0p} matrix_ptr_takeout_col {l0:addr} {m,n:int} {i:int | i < m} ( pfm: matrix_v(INV(a), l0, m, n) | base: ptr l0, i: size_t(i), n: size_t(n) ) :<> [l:addr] ( matcol_v(a, l, m, n) , matcol_v(a, l, m, n) - matrix_v(a, l0, m, n) | ptr (l) ) (* end of [matrix_ptr_takeout_col] *) (* ****** ****** *) // fun{} matrix_foreach$rowsep(): void fun{ a:vt0p}{env:vt0p } matrix_foreach$fwork (x: &a >> _, env: &(env) >> _): void fun{ a:vt0p } matrix_foreach{m,n:int} ( M: &matrix(INV(a), m, n) >> _, m: size_t m, n: size_t n ) : void // end of [matrix_foreach] fun{ a:vt0p}{env:vt0p } matrix_foreach_env{m,n:int} ( M: &matrix(INV(a), m, n) >> _, m: size_t m, n: size_t n, env: &(env) >> _ ) : void // end of [matrix_foreach_env] // (* ****** ****** *) // fun{ a:vt0p}{env:vt0p } matrix_foreachrow$fwork{n:int} ( row: &array(INV(a), n) >> _, n: size_t n, env: &(env) >> _ ) : void // end of [matrix_foreachrow$fwork] // fun{ a:vt0p } matrix_foreachrow{m,n:int} ( M: &matrix(INV(a), m, n) >> _, m: size_t (m), n: size_t (n) ) : void // end of [matrix_foreachrow] // fun{ a:vt0p}{env:vt0p } matrix_foreachrow_env{m,n:int} ( M: &matrix(INV(a), m, n) >> _, m: size_t m, n: size_t n, env: &(env) >> _ ) : void // end of [matrix_foreachrow_env] // (* ****** ****** *) // fun{a:vt0p} matrix_initize$init (i: size_t, j: size_t, x: &a? >> a): void // fun{a:vt0p} matrix_initize{m,n:int} ( M: &matrix (a?, m, n) >> matrix (a, m, n), row: size_t m, col: size_t n ) : void // end of [matrix_initize] // macdef matrix_initialize = matrix_initize // (* ****** ****** *) fun {a:vt0p} {b:vt0p} matrix_mapto$fwork (x: &a, y: &b? >> b): void fun {a:vt0p} {b:vt0p} matrix_mapto {m,n:int} ( A: &matrix(INV(a), m, n) , B: &matrix(b?, m, n) >> matrix(b, m, n) , m: size_t m, n: size_t n ) : void // end of [matrix_mapto] (* ****** ****** *) fun {a,b:vt0p} {c:vt0p} matrix_map2to$fwork (x: &a, y: &b, z: &c? >> c): void fun {a,b:vt0p} {c:vt0p} matrix_map2to {m,n:int} ( A: &matrix(INV(a), m, n) , B: &matrix(INV(b), m, n) , C: &matrix(c?, m, n) >> matrix(c, m, n) , m: size_t m, n: size_t n ) : void // end of [matrix_map2to] (* ****** ****** *) (* end of [matrix.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/string.sats0000664000175000017500000003127112655455557017356 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/string.atxt ** Time of generation: Sun Dec 20 12:03:12 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2011 *) (* ****** ****** *) (* ** HX: a string is a null-terminated arrayref of characters *) (* ****** ****** *) sortdef tk = tkind (* ****** ****** *) typedef SHR(a:type) = a // for commenting purpose typedef NSH(a:type) = a // for commenting purpose (* ****** ****** *) // typedef stringLt (n:int) = [k:nat | k < n] string (k) typedef stringLte (n:int) = [k:nat | k <= n] string (k) // typedef stringGt (n:int) = [k:int | k > n] string (k) typedef stringGte (n:int) = [k:int | k >= n] string (k) // typedef stringBtw (m:int, n:int) = [k:int | m <= k; k < n] string (k) typedef stringBtwe (m:int, n:int) = [k:int | m <= k; k <= n] string (k) // (* ****** ****** *) typedef stringlst = List0 (string) vtypedef stringlst_vt = List0_vt (string) (* ****** ****** *) dataprop string_index_p ( n: int, int(*i*), int(*c*) ) = | string_index_p_eqz (n, n, 0) | {i:int | n > i} {c:int8 | c != 0} string_index_p_neqz (n, i, c) // end of [string_index_p] (* ****** ****** *) exception StringSubscriptExn of ((*void*)) (* ****** ****** *) // praxi lemma_string_param{n:int}(string n): [n >= 0] void // (* ****** ****** *) castfn string2ptr (x: string):<> Ptr1 overload ptrcast with string2ptr (* ****** ****** *) // // HX: [string2string] = [string1_of_string0] // castfn g0ofg1_string (x: String):<> string castfn g1ofg0_string (x: string):<> String0 // overload g0ofg1 with g0ofg1_string // index-erasing overload g1ofg0 with g1ofg0_string // index-inducing // (* ****** ****** *) fun{} string_char (str: string):<> char (* ****** ****** *) fun{} string_sing (chr: charNZ): strnptr (1) (* ****** ****** *) // fun{ } string_is_empty{n:int} (str: string(n)):<> bool(n==0) fun{ } string_isnot_empty{n:int} (str: string(n)):<> bool(n > 0) // (* ****** ****** *) // fun{} string_is_atend_size {n:int}{i:nat | i <= n} (s: string (n), i: size_t (i)):<> bool (i==n) fun{tk:tk} string_is_atend_gint {n:int}{i:nat | i <= n} (s: string (n), i: g1int (tk, i)):<> bool (i==n) fun{tk:tk} string_is_atend_guint {n:int}{i:nat | i <= n} (s: string (n), i: g1uint (tk, i)):<> bool (i==n) // symintr string_is_atend overload string_is_atend with string_is_atend_gint overload string_is_atend with string_is_atend_guint // (* ****** ****** *) macdef string_isnot_atend (string, index) = ~string_is_atend (,(string), ,(index)) // end of [string_isnot_atend] (* ****** ****** *) // fun{} string_head{n:pos} (str: string(n)):<> charNZ fun{} string_tail{n:pos} (str: string(n)):<> string(n-1) // (* ****** ****** *) fun{} string_get_at_size {n:int}{i:nat | i < n} (s: string (n), i: size_t (i)):<> charNZ fun{tk:tk} string_get_at_gint {n:int}{i:nat | i < n} (s: string (n), i: g1int (tk, i)):<> charNZ fun{tk:tk} string_get_at_guint {n:int}{i:nat | i < n} (s: string (n), i: g1uint (tk, i)):<> charNZ // symintr string_get_at overload string_get_at with string_get_at_size of 1 overload string_get_at with string_get_at_gint of 0 overload string_get_at with string_get_at_guint of 0 // (* ****** ****** *) fun{} string_test_at_size {n:int}{i:nat | i <= n} (s: string (n), i: size_t (i)):<> [c:int] (string_index_p (n, i, c) | char (c)) fun{tk:tk} string_test_at_gint {n:int}{i:nat | i <= n} (s: string (n), i: g1int (tk, i)):<> [c:int] (string_index_p (n, i, c) | char (c)) fun{tk:tk} string_test_at_guint {n:int}{i:nat | i <= n} (s: string (n), i: g1uint (tk, i)):<> [c:int] (string_index_p (n, i, c) | char (c)) // symintr string_test_at overload string_test_at with string_test_at_size of 1 overload string_test_at with string_test_at_gint of 0 overload string_test_at with string_test_at_guint of 0 // (* ****** ****** *) fun lt_string_string (x1: string, x2: string):<> bool = "mac#%" overload < with lt_string_string fun lte_string_string (x1: string, x2: string):<> bool = "mac#%" overload <= with lte_string_string fun gt_string_string (x1: string, x2: string):<> bool = "mac#%" overload > with gt_string_string fun gte_string_string (x1: string, x2: string):<> bool = "mac#%" overload >= with gte_string_string fun eq_string_string (x1: string, x2: string):<> bool = "mac#%" overload = with eq_string_string fun neq_string_string (x1: string, x2: string):<> bool = "mac#%" overload != with neq_string_string overload <> with neq_string_string fun compare_string_string (x1: string, x2: string):<> Sgn = "mac#%" overload compare with compare_string_string (* ****** ****** *) fun{ } strcmp (x1: string, x2: string):<> int fun{ } strintcmp {n1,n2:int | n2 >=0} (x1: string n1, n2: int n2):<> int(sgn(n1-n2)) // end of [strintcmp] fun{ } strlencmp {n1,n2:int} (x1: string n1, x2: string n2):<> int(sgn(n1-n2)) // end of [strlencmp] (* ****** ****** *) fun{} string_make_list {n:int} (cs: list(charNZ, n)): strnptr (n) fun{} string_make_listlen {n:int} (cs: list(charNZ, n), n: int n): strnptr (n) (* ****** ****** *) fun{} string_make_rlist {n:int} (cs: list(charNZ, n)): strnptr (n) // end of [string_make_rlist] fun{} string_make_rlistlen {n:int} (cs: list(charNZ, n), n: int n): strnptr (n) // end of [string_make_rlistlen] (* ****** ****** *) fun{} string_make_substring {n:int}{st,ln:nat | st+ln <= n} (str: string (n), st: size_t st, ln: size_t ln): strnptr (ln) // end of [string_make_substring] (* ****** ****** *) fun print_string (x: string): void = "mac#%" fun prerr_string (x: string): void = "mac#%" fun fprint_string (out: FILEref, x: string): void = "mac#%" (* ****** ****** *) // fun fprint_substring {n:int}{st,ln:nat | st+ln <= n} ( out: FILEref, str: string(n), st: size_t(st), ln: size_t(ln) ) : void = "mac#%" // end of [fprint_substring] // (* ****** ****** *) fun{} strchr{n:int} (str: string (n), c0: char):<> ssizeBtwe (~1, n) // end of [strchr] fun{} strrchr{n:int} (str: string (n), c0: char):<> ssizeBtwe (~1, n) // end of [strrchr] fun{} strstr{n:int} (haystack: string (n), needle: string):<> ssizeBtw (~1, n) // end of [strstr] (* ****** ****** *) fun{} strspn{n:int} // spanning (str: string (n), accept: string):<> sizeLte (n) // end of [strspn] fun{} strcspn{n:int} // complement spanning (str: string (n), accept: string):<> sizeLte (n) // end of [strcspn] (* ****** ****** *) fun{ } string_index{n:int} (str: string (n), c0: charNZ):<> ssizeBtw (~1, n) // end of [string_index] fun{ } string_rindex{n:int} (str: string (n), c0: charNZ):<> ssizeBtw (~1, n) // end of [string_rindex] (* ****** ****** *) // fun{} string0_length (x: NSH(string)):<> size_t fun{} string1_length {n:int} (x: NSH(string(n))):<> size_t(n) // symintr strlen symintr string_length overload strlen with string0_length of 0 overload strlen with string1_length of 10 overload string_length with string0_length of 0 overload string_length with string1_length of 10 // (* ****** ****** *) // fun{} string0_nlength (x: NSH(string), n: size_t):<> size_t fun{} string1_nlength {n1,n2:int} (NSH(string(n1)), size_t(n2)):<> size_t(min(n1,n2)) // symintr string_nlength overload string_nlength with string0_nlength of 0 overload string_nlength with string1_nlength of 10 // (* ****** ****** *) // fun{} string0_copy (xs: NSH(string)): Strptr1 fun{} string1_copy {n:int} (xs: NSH(string(n))): strnptr (n) // (* ****** ****** *) // fun{} string0_append ( x1: NSH(string), x2: NSH(string) ) : Strptr1 // end-of-fun fun{} string1_append {n1,n2:int} ( x1: NSH(string(n1)), x2: NSH(string(n2)) ) : strnptr (n1+n2) // end of [string1_append] // symintr string_append overload string_append with string0_append of 0 (* overload string_append with string1_append of 20 *) // (* ****** ****** *) // fun{} string0_append3 ( x1: NSH(string), x2: NSH(string), x3: NSH(string) ) : Strptr1 // end-of-fun fun{} string0_append4 ( x1: NSH(string), x2: NSH(string), x3: NSH(string), x4: NSH(string) ) : Strptr1 // end-of-fun fun{} string0_append5 ( x1: NSH(string), x2: NSH(string), x3: NSH(string), x4: NSH(string), x5: NSH(string) ) : Strptr1 // end-of-fun fun{} string0_append6 ( x1: NSH(string), x2: NSH(string), x3: NSH(string), x4: NSH(string), x5: NSH(string), x6: NSH(string) ) : Strptr1 // end-of-fun // overload string_append with string0_append3 of 0 overload string_append with string0_append4 of 0 overload string_append with string0_append5 of 0 overload string_append with string0_append6 of 0 // (* ****** ****** *) fun{} stringarr_concat{n:int} (arrayref(string, n), size_t(n)): Strptr1 fun{} stringlst_concat (xs: List(string)): Strptr1 (* ****** ****** *) fun{} string_explode {n:int} (x: string(n)): list_vt(charNZ, n) // end of [string_explode] (* ****** ****** *) fun{} string_tabulate$fopr (size_t): charNZ fun{} string_tabulate{n:int} (n: size_t(n)): strnptr(n) (* ****** ****** *) // fun{} string_forall (str: string): bool fun{} string_forall$pred (c: char): bool // (* ****** ****** *) // fun{} string_iforall (str: string): bool fun{} string_iforall$pred (i: int, c: char): bool // (* ****** ****** *) // fun{env:vt0p} string_foreach$cont (c: char, env: &env): bool fun{env:vt0p} string_foreach$fwork (c: char, env: &(env) >> _): void // fun{ } string_foreach {n:int} (str: string(n)): sizeLte(n) fun{ env:vt0p } string_foreach_env {n:int} (str: string(n), env: &(env) >> _): sizeLte(n) // end of [string_foreach_env] // (* ****** ****** *) // fun{env:vt0p} string_rforeach$cont (c: char, env: &env): bool fun{env:vt0p} string_rforeach$fwork (c: char, env: &(env) >> _): void // fun{ } string_rforeach {n:int} (str: string(n)): sizeLte(n) fun{ env:vt0p } string_rforeach_env {n:int} (str: string(n), env: &(env) >> _): sizeLte(n) // end of [string_rforeach_env] // (* ****** ****** *) (* ** HX: [stropt_none] is just the null pointer *) fun stropt_none (): stropt (~1) = "mac#%" (* ****** ****** *) // castfn stropt0_some (x: SHR(string)): Stropt1 castfn stropt1_some {n:int} (x: SHR(string n)): stropt (n) // symintr stropt_some overload stropt_some with stropt0_some of 0 overload stropt_some with stropt1_some of 10 // (* ****** ****** *) fun{ } stropt_is_none{n:int} (stropt(n)):<> bool (n < 0) fun{ } stropt_is_some{n:int} (stropt(n)):<> bool (n >= 0) (* ****** ****** *) castfn stropt_unsome{n:nat}(opt: stropt n):<> string (n) (* ****** ****** *) // fun{} stropt_length{n:int}(opt: stropt (n)):<> ssize_t (n) // (* ****** ****** *) fun print_stropt (opt: Stropt0): void = "mac#%" fun prerr_stropt (opt: Stropt0): void = "mac#%" fun fprint_stropt (out: FILEref, opt: Stropt0): void = "mac#%" (* ****** ****** *) // // overloading for certain symbols // overload [] with string_get_at_size of 1 overload [] with string_get_at_gint of 0 overload [] with string_get_at_guint of 0 // overload iseqz with string_is_empty overload isneqz with string_isnot_empty // overload .head with string_head overload .tail with string_tail // overload length with string_length // overload copy with string0_copy of 0 (* // // HX: too much of a surprise! // overload copy with string1_copy of 10 *) // overload print with print_string of 0 overload prerr with prerr_string of 0 overload fprint with fprint_string of 0 // overload iseqz with stropt_is_none overload isneqz with stropt_is_some // overload length with stropt_length // overload print with print_stropt of 0 overload prerr with prerr_stropt of 0 overload fprint with fprint_stropt of 0 // (* ****** ****** *) (* end of [string.sats] *) ATS2-Postiats-0.2.6/./prelude/SATS/parray.sats0000664000175000017500000000477312655455557017355 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* ** Source: ** $PATSHOME/prelude/SATS/CODEGEN/parray.atxt ** Time of generation: Sat Jun 27 21:39:19 2015 *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) (* ****** ****** *) sortdef vtp = viewtype (* ****** ****** *) (* ** HX: for null-pointer terminated arrays *) dataview parray_v ( a:viewt@ype+, addr(*l*), int(*n*) ) = // for arrays with a sentinel at the end | {l:addr}{n:int} parray_v_cons (a, l, n+1) of (a @ l, parray_v (a, l+sizeof(a), n)) | {l:addr} parray_v_nil (a, l, 0) of (ptr null @ l) // end of [parray_v] (* ****** ****** *) prfun lemma_parray_v_params{a:vtp} {l:addr}{n:int} (pf: !parray_v (INV(a), l, n)): [l > null;n >= 0] void // end of [lemma_parray_v_params] (* ****** ****** *) fun{ a:vtp } parray_is_empty {l:addr}{n:int} ( pf: !parray_v (INV(a), l, n) | p: ptr l ) :<> bool (n == 0) // end of [parray_is_empty] fun{ a:vtp } parray_isnot_empty {l:addr}{n:int} (pf: !parray_v (INV(a), l, n) | p: ptr l):<> bool (n > 0) // end of [parray_isnot_empty] (* ****** ****** *) fun{ a:vtp } parray_size {l:addr}{n:int} (pf: !parray_v (INV(a), l, n) | p: ptr l):<> size_t (n) // end of [parray_size] (* ****** ****** *) (* end of [parray.sats] *) ATS2-Postiats-0.2.6/./prelude/fixity.ats0000664000175000017500000000671412655455557016433 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2014 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // // This one was // there at the very beginning of ATS // (* ****** ****** *) // (* HX: fixity declarations *) #include "prelude/params.hats" // (* ****** ****** *) #if VERBOSE_FIXITY #then #print "Loading [fixity.ats] starts!\n" #endif // end of [VERBOSE_FIXITY] (* ****** ****** *) // (* prefix 00 ! (* static *) *) // prefix 99 ! (* dynamic *) // (* ****** ****** *) (* prefix 81 ID (* identity *) *) (* ****** ****** *) (* postfix 80 .lab // dynamic postfix 80 ->lab // dynamic *) (* ****** ****** *) (* prefix 79 & // dynamic *) (* ****** ****** *) (* infixl 70 app *) (* ****** ****** *) (* postfix 69 ? *) (* ****** ****** *) // // HX-2015-08-04: // mostly following the Fortran convention // (* ****** ****** *) infixr 61 ** (*exp*) (* ****** ****** *) // // multiplicative // infixl 60 * / % mod // (* infixl 60 nmul ndiv nmod *) // (* ****** ****** *) prefix 51 ~ (*negative*) (* ****** ****** *) // infixl 50 + - (*additive*) // (* infixr (+) ++ // concatenative *) // (* ****** ****** *) infixl 41 asl asr infixl 41 lsl lsr (* ****** ****** *) // infix 40 < <= > >= // (* // // HX-2012-07: removed // infixl ( < ) ilt flt plt ult infixl ( <= ) ilte flte plte ulte infixl ( > ) igt fgt pgt ugt infixl ( >= ) igte fgte pgte ugte *) // (* ****** ****** *) infixr 40 :: @ (* ****** ****** *) infix 30 = == != <> (* ****** ****** *) (* // // HX-2012-07: removed // infix ( = ) ieq feq peq ueq infix ( <> ) ineq fneq pneq uneq *) (* ****** ****** *) infixl 21 && infixl ( && ) andalso land (* ****** ****** *) infixl 20 || infixl ( || ) orelse lor lxor (* ****** ****** *) infixr 10 -> (* ****** ****** *) infix 0 := // HX: assign infix 0 :=: // HX: exchange (* ****** ****** *) infixl 0 << (* g0int_asl, g0uint_lsl *) infixr 0 >> (* g0int_asr, g0uint_lsr *) (* ****** ****** *) prefix 0 ++ -- // inc and dec prefix 0 !++ --! // getinc and decget infixr 0 =++ --= // setinc and decset (* ****** ****** *) infix 0 :+= :-= :*= :/= // x:=x+a, x:=x-a, ... infix 0 :=+ :=- :=* :=/ // x:=a+x, x:=a-x, ... (* ****** ****** *) #if VERBOSE_FIXITY #then #print "Loading [fixity.ats] finishes!\n" #endif // end of [VERBOSE_FIXITY] (* end of [fixity.ats] *) ATS2-Postiats-0.2.6/./prelude/lmacrodef.sats0000664000175000017500000000543512655455557017235 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) // // Author of the file: // Hongwei Xi (gmhwxiATgmailDOTcom) // Start Time: March, 2013 // (* ****** ****** *) // // HX-2013-03: // lmacrodef: local macro definitions // (* ****** ****** *) // macdef :+= (x, a) = let val v = ,(x) in ,(x) := ,(a) + v end macdef :-= (x, a) = let val v = ,(x) in ,(x) := ,(a) - v end macdef :*= (x, a) = let val v = ,(x) in ,(x) := ,(a) * v end macdef :/= (x, a) = let val v = ,(x) in ,(x) := ,(a) / v end // (* ****** ****** *) // macdef :=+ (x, a) = let val v = ,(x) in ,(x) := v + ,(a) end macdef :=- (x, a) = let val v = ,(x) in ,(x) := v - ,(a) end macdef :=* (x, a) = let val v = ,(x) in ,(x) := v * ,(a) end macdef :=/ (x, a) = let val v = ,(x) in ,(x) := v / ,(a) end // (* ****** ****** *) // macdef println(x) = (print(,(x)); print_newline()) macdef prerrln(x) = (prerr(,(x)); prerr_newline()) // macdef fprintln(out, x) = (fprint(,(out), ,(x)); fprint_newline(,(out))) // (* ****** ****** *) (* // // HX-2012-08: // // this example makes use of recursive macrodef // *) (* // local // macrodef rec auxlist (xs, y) = ( // if iscons! (xs) then `(print ,(car! xs); ,(auxlist (cdr! xs, y))) else y // end of [if] // ) (* end of [auxlist] *) // in (* in of [local] *) macdef print_mac (x) = ,( if islist! (x) then auxlist (x, `()) else `(print ,(x)) ) (* end of [print_mac] *) macdef println_mac (x) = ,( if islist! (x) then auxlist (x, `(print_newline())) else `(print ,(x); print_newline()) // end of [if] ) (* end of [println_mac] *) end // end of [local] // *) (* ****** ****** *) (* end of [lmacrodef.sats] *) ATS2-Postiats-0.2.6/./prelude/CATS/0000775000175000017500000000000012655455557015130 5ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/CATS/strptr.cats0000664000175000017500000000471712655455557017353 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/strptr.atxt ** Time of generation: Fri Nov 20 19:49:32 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: March, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_STRPTR #define ATSLIB_PRELUDE_CATS_STRPTR /* ****** ****** */ // // [string.h] // extern int // (sign) strcmp(const char *x1, const char *x2) ; /* ****** ****** */ #define atspre_strptr_null() atsptr_null /* ****** ****** */ #define atspre_strptr_free atspre_mfree_gc #define atspre_strnptr_free atspre_mfree_gc /* ****** ****** */ ATSinline() atstype_int atspre_compare_strptr_strptr ( atstype_strptr x1, atstype_strptr x2 ) { if(x1==0) { return (x2==0 ? 0 : -1) ; } else { return (x2==0 ? 1 : atspre_compare_string_string(x1, x2)) ; } // end of [if] } // end of [atspre_compare_strptr_strptr] /* ****** ****** */ #define atspre_eq_strptr_string atspre_eq_string_string #define atspre_neq_strptr_string atspre_neq_string_string #define atspre_compare_strptr_string atspre_compare_string_string /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_STRPTR /* ****** ****** */ /* end of [strptr.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/integer_fixed.cats0000664000175000017500000007373512655455557020637 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/integer_fixed.atxt ** Time of generation: Sun Oct 11 11:05:40 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED #define ATSLIB_PRELUDE_CATS_INTEGER_FIXED /* ****** ****** */ #include /* ****** ****** */ typedef int8_t atstype_int8 ; typedef int16_t atstype_int16 ; typedef int32_t atstype_int32 ; typedef int64_t atstype_int64 ; typedef uint8_t atstype_uint8 ; typedef uint16_t atstype_uint16 ; typedef uint32_t atstype_uint32 ; typedef uint64_t atstype_uint64 ; /* ****** ****** */ #define atspre_g0int2int_int8_int(x) ((atstype_int)(x)) #define atspre_g0int2int_int16_int(x) ((atstype_int)(x)) #define atspre_g0int2int_int32_int(x) ((atstype_int)(x)) #define atspre_g0int2int_int64_int(x) ((atstype_int)(x)) /* ****** ****** */ ATSinline() atstype_int8 atspre_g0int_neg_int8 (atstype_int8 x) { return (-x) ; } // end of [atspre_g0int_neg_int8] ATSinline() atstype_int8 atspre_g0int_succ_int8 (atstype_int8 x) { return (x + 1) ; } // end of [atspre_g0int_succ_int8] ATSinline() atstype_int8 atspre_g0int_pred_int8 (atstype_int8 x) { return (x - 1) ; } // end of [atspre_g0int_pred_int8] ATSinline() atstype_int8 atspre_g0int_half_int8 (atstype_int8 x) { return (x / 2) ; } // end of [atspre_g0int_half_int8] ATSinline() atstype_int8 atspre_g0int_add_int8 (atstype_int8 x1, atstype_int8 x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_int8] ATSinline() atstype_int8 atspre_g0int_sub_int8 (atstype_int8 x1, atstype_int8 x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_int8] ATSinline() atstype_int8 atspre_g0int_mul_int8 (atstype_int8 x1, atstype_int8 x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_int8] ATSinline() atstype_int8 atspre_g0int_div_int8 (atstype_int8 x1, atstype_int8 x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_int8] ATSinline() atstype_int8 atspre_g0int_mod_int8 (atstype_int8 x1, atstype_int8 x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_int8] ATSinline() atstype_bool atspre_g0int_isltz_int8 (atstype_int8 x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_int8] ATSinline() atstype_bool atspre_g0int_isltez_int8 (atstype_int8 x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_int8] ATSinline() atstype_bool atspre_g0int_isgtz_int8 (atstype_int8 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_int8] ATSinline() atstype_bool atspre_g0int_isgtez_int8 (atstype_int8 x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_int8] ATSinline() atstype_bool atspre_g0int_iseqz_int8 (atstype_int8 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_int8] ATSinline() atstype_bool atspre_g0int_isneqz_int8 (atstype_int8 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_int8] ATSinline() atstype_bool atspre_g0int_lt_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_int8] ATSinline() atstype_bool atspre_g0int_lte_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_int8] ATSinline() atstype_bool atspre_g0int_gt_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_int8] ATSinline() atstype_bool atspre_g0int_gte_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_int8] ATSinline() atstype_bool atspre_g0int_eq_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_int8] ATSinline() atstype_bool atspre_g0int_neq_int8 ( atstype_int8 x1, atstype_int8 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_int8] ATSinline() atstype_int16 atspre_g0int_neg_int16 (atstype_int16 x) { return (-x) ; } // end of [atspre_g0int_neg_int16] ATSinline() atstype_int16 atspre_g0int_succ_int16 (atstype_int16 x) { return (x + 1) ; } // end of [atspre_g0int_succ_int16] ATSinline() atstype_int16 atspre_g0int_pred_int16 (atstype_int16 x) { return (x - 1) ; } // end of [atspre_g0int_pred_int16] ATSinline() atstype_int16 atspre_g0int_half_int16 (atstype_int16 x) { return (x / 2) ; } // end of [atspre_g0int_half_int16] ATSinline() atstype_int16 atspre_g0int_add_int16 (atstype_int16 x1, atstype_int16 x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_int16] ATSinline() atstype_int16 atspre_g0int_sub_int16 (atstype_int16 x1, atstype_int16 x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_int16] ATSinline() atstype_int16 atspre_g0int_mul_int16 (atstype_int16 x1, atstype_int16 x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_int16] ATSinline() atstype_int16 atspre_g0int_div_int16 (atstype_int16 x1, atstype_int16 x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_int16] ATSinline() atstype_int16 atspre_g0int_mod_int16 (atstype_int16 x1, atstype_int16 x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_int16] ATSinline() atstype_bool atspre_g0int_isltz_int16 (atstype_int16 x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_int16] ATSinline() atstype_bool atspre_g0int_isltez_int16 (atstype_int16 x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_int16] ATSinline() atstype_bool atspre_g0int_isgtz_int16 (atstype_int16 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_int16] ATSinline() atstype_bool atspre_g0int_isgtez_int16 (atstype_int16 x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_int16] ATSinline() atstype_bool atspre_g0int_iseqz_int16 (atstype_int16 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_int16] ATSinline() atstype_bool atspre_g0int_isneqz_int16 (atstype_int16 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_int16] ATSinline() atstype_bool atspre_g0int_lt_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_int16] ATSinline() atstype_bool atspre_g0int_lte_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_int16] ATSinline() atstype_bool atspre_g0int_gt_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_int16] ATSinline() atstype_bool atspre_g0int_gte_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_int16] ATSinline() atstype_bool atspre_g0int_eq_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_int16] ATSinline() atstype_bool atspre_g0int_neq_int16 ( atstype_int16 x1, atstype_int16 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_int16] ATSinline() atstype_int32 atspre_g0int_neg_int32 (atstype_int32 x) { return (-x) ; } // end of [atspre_g0int_neg_int32] ATSinline() atstype_int32 atspre_g0int_succ_int32 (atstype_int32 x) { return (x + 1) ; } // end of [atspre_g0int_succ_int32] ATSinline() atstype_int32 atspre_g0int_pred_int32 (atstype_int32 x) { return (x - 1) ; } // end of [atspre_g0int_pred_int32] ATSinline() atstype_int32 atspre_g0int_half_int32 (atstype_int32 x) { return (x / 2) ; } // end of [atspre_g0int_half_int32] ATSinline() atstype_int32 atspre_g0int_add_int32 (atstype_int32 x1, atstype_int32 x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_int32] ATSinline() atstype_int32 atspre_g0int_sub_int32 (atstype_int32 x1, atstype_int32 x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_int32] ATSinline() atstype_int32 atspre_g0int_mul_int32 (atstype_int32 x1, atstype_int32 x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_int32] ATSinline() atstype_int32 atspre_g0int_div_int32 (atstype_int32 x1, atstype_int32 x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_int32] ATSinline() atstype_int32 atspre_g0int_mod_int32 (atstype_int32 x1, atstype_int32 x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_int32] ATSinline() atstype_bool atspre_g0int_isltz_int32 (atstype_int32 x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_int32] ATSinline() atstype_bool atspre_g0int_isltez_int32 (atstype_int32 x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_int32] ATSinline() atstype_bool atspre_g0int_isgtz_int32 (atstype_int32 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_int32] ATSinline() atstype_bool atspre_g0int_isgtez_int32 (atstype_int32 x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_int32] ATSinline() atstype_bool atspre_g0int_iseqz_int32 (atstype_int32 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_int32] ATSinline() atstype_bool atspre_g0int_isneqz_int32 (atstype_int32 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_int32] ATSinline() atstype_bool atspre_g0int_lt_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_int32] ATSinline() atstype_bool atspre_g0int_lte_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_int32] ATSinline() atstype_bool atspre_g0int_gt_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_int32] ATSinline() atstype_bool atspre_g0int_gte_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_int32] ATSinline() atstype_bool atspre_g0int_eq_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_int32] ATSinline() atstype_bool atspre_g0int_neq_int32 ( atstype_int32 x1, atstype_int32 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_int32] ATSinline() atstype_int64 atspre_g0int_neg_int64 (atstype_int64 x) { return (-x) ; } // end of [atspre_g0int_neg_int64] ATSinline() atstype_int64 atspre_g0int_succ_int64 (atstype_int64 x) { return (x + 1) ; } // end of [atspre_g0int_succ_int64] ATSinline() atstype_int64 atspre_g0int_pred_int64 (atstype_int64 x) { return (x - 1) ; } // end of [atspre_g0int_pred_int64] ATSinline() atstype_int64 atspre_g0int_half_int64 (atstype_int64 x) { return (x / 2) ; } // end of [atspre_g0int_half_int64] ATSinline() atstype_int64 atspre_g0int_add_int64 (atstype_int64 x1, atstype_int64 x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_int64] ATSinline() atstype_int64 atspre_g0int_sub_int64 (atstype_int64 x1, atstype_int64 x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_int64] ATSinline() atstype_int64 atspre_g0int_mul_int64 (atstype_int64 x1, atstype_int64 x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_int64] ATSinline() atstype_int64 atspre_g0int_div_int64 (atstype_int64 x1, atstype_int64 x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_int64] ATSinline() atstype_int64 atspre_g0int_mod_int64 (atstype_int64 x1, atstype_int64 x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_int64] ATSinline() atstype_bool atspre_g0int_isltz_int64 (atstype_int64 x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_int64] ATSinline() atstype_bool atspre_g0int_isltez_int64 (atstype_int64 x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_int64] ATSinline() atstype_bool atspre_g0int_isgtz_int64 (atstype_int64 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_int64] ATSinline() atstype_bool atspre_g0int_isgtez_int64 (atstype_int64 x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_int64] ATSinline() atstype_bool atspre_g0int_iseqz_int64 (atstype_int64 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_int64] ATSinline() atstype_bool atspre_g0int_isneqz_int64 (atstype_int64 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_int64] ATSinline() atstype_bool atspre_g0int_lt_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_int64] ATSinline() atstype_bool atspre_g0int_lte_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_int64] ATSinline() atstype_bool atspre_g0int_gt_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_int64] ATSinline() atstype_bool atspre_g0int_gte_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_int64] ATSinline() atstype_bool atspre_g0int_eq_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_int64] ATSinline() atstype_bool atspre_g0int_neq_int64 ( atstype_int64 x1, atstype_int64 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_int64] // /* ****** ****** */ // #define atspre_g0int2uint_int8_uint(x) ((atstype_uint)(x)) #define atspre_g0int2uint_int16_uint(x) ((atstype_uint)(x)) #define atspre_g0int2uint_int32_uint(x) ((atstype_uint)(x)) #define atspre_g0int2uint_int64_uint(x) ((atstype_uint)(x)) // #define atspre_g0uint2int_uint8_int(x) ((atstype_int)(x)) #define atspre_g0uint2int_uint16_int(x) ((atstype_int)(x)) #define atspre_g0uint2int_uint32_int(x) ((atstype_int)(x)) #define atspre_g0uint2int_uint64_int(x) ((atstype_int)(x)) // #define atspre_g0uint2uint_uint8_uint(x) ((atstype_uint)(x)) #define atspre_g0uint2uint_uint16_uint(x) ((atstype_uint)(x)) #define atspre_g0uint2uint_uint32_uint(x) ((atstype_uint)(x)) #define atspre_g0uint2uint_uint64_uint(x) ((atstype_uint)(x)) // /* ****** ****** */ ATSinline() atstype_uint8 atspre_g0uint_succ_uint8 (atstype_uint8 x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uint8] ATSinline() atstype_uint8 atspre_g0uint_pred_uint8 (atstype_uint8 x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uint8] ATSinline() atstype_uint8 atspre_g0uint_half_uint8 (atstype_uint8 x) { return (x >> 1) ; } // end of [atspre_g0uint_pred_uint8] ATSinline() atstype_uint8 atspre_g0uint_add_uint8 (atstype_uint8 x1, atstype_uint8 x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uint8] ATSinline() atstype_uint8 atspre_g0uint_sub_uint8 (atstype_uint8 x1, atstype_uint8 x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uint8] ATSinline() atstype_uint8 atspre_g0uint_mul_uint8 (atstype_uint8 x1, atstype_uint8 x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uint8] ATSinline() atstype_uint8 atspre_g0uint_div_uint8 (atstype_uint8 x1, atstype_uint8 x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uint8] ATSinline() atstype_uint8 atspre_g0uint_mod_uint8 (atstype_uint8 x1, atstype_uint8 x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uint8] ATSinline() atstype_uint8 atspre_g0uint_lsl_uint8 (atstype_uint8 x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uint8] ATSinline() atstype_uint8 atspre_g0uint_lsr_uint8 (atstype_uint8 x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uint8] ATSinline() atstype_uint8 atspre_g0uint_lnot_uint8 (atstype_uint8 x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uint8] ATSinline() atstype_uint8 atspre_g0uint_lor_uint8 (atstype_uint8 x, atstype_uint8 y) { return (x | y) ; } // end of [atspre_g0uint_uint8_uint8] ATSinline() atstype_uint8 atspre_g0uint_land_uint8 (atstype_uint8 x, atstype_uint8 y) { return (x & y) ; } // end of [atspre_g0uint_uint8_uint8] ATSinline() atstype_uint8 atspre_g0uint_lxor_uint8 (atstype_uint8 x, atstype_uint8 y) { return (x ^ y) ; } // end of [atspre_g0uint_uint8_uint8] ATSinline() atstype_bool atspre_g0uint_isgtz_uint8 (atstype_uint8 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uint8] ATSinline() atstype_bool atspre_g0uint_iseqz_uint8 (atstype_uint8 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uint8] ATSinline() atstype_bool atspre_g0uint_isneqz_uint8 (atstype_uint8 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uint8] ATSinline() atstype_bool atspre_g0uint_lt_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uint8] ATSinline() atstype_bool atspre_g0uint_lte_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uint8] ATSinline() atstype_bool atspre_g0uint_gt_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uint8] ATSinline() atstype_bool atspre_g0uint_gte_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uint8] ATSinline() atstype_bool atspre_g0uint_eq_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uint8] ATSinline() atstype_bool atspre_g0uint_neq_uint8 ( atstype_uint8 x1, atstype_uint8 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uint8] ATSinline() atstype_uint16 atspre_g0uint_succ_uint16 (atstype_uint16 x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uint16] ATSinline() atstype_uint16 atspre_g0uint_pred_uint16 (atstype_uint16 x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uint16] ATSinline() atstype_uint16 atspre_g0uint_half_uint16 (atstype_uint16 x) { return (x >> 1) ; } // end of [atspre_g0uint_pred_uint16] ATSinline() atstype_uint16 atspre_g0uint_add_uint16 (atstype_uint16 x1, atstype_uint16 x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uint16] ATSinline() atstype_uint16 atspre_g0uint_sub_uint16 (atstype_uint16 x1, atstype_uint16 x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uint16] ATSinline() atstype_uint16 atspre_g0uint_mul_uint16 (atstype_uint16 x1, atstype_uint16 x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uint16] ATSinline() atstype_uint16 atspre_g0uint_div_uint16 (atstype_uint16 x1, atstype_uint16 x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uint16] ATSinline() atstype_uint16 atspre_g0uint_mod_uint16 (atstype_uint16 x1, atstype_uint16 x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uint16] ATSinline() atstype_uint16 atspre_g0uint_lsl_uint16 (atstype_uint16 x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uint16] ATSinline() atstype_uint16 atspre_g0uint_lsr_uint16 (atstype_uint16 x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uint16] ATSinline() atstype_uint16 atspre_g0uint_lnot_uint16 (atstype_uint16 x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uint16] ATSinline() atstype_uint16 atspre_g0uint_lor_uint16 (atstype_uint16 x, atstype_uint16 y) { return (x | y) ; } // end of [atspre_g0uint_uint16_uint16] ATSinline() atstype_uint16 atspre_g0uint_land_uint16 (atstype_uint16 x, atstype_uint16 y) { return (x & y) ; } // end of [atspre_g0uint_uint16_uint16] ATSinline() atstype_uint16 atspre_g0uint_lxor_uint16 (atstype_uint16 x, atstype_uint16 y) { return (x ^ y) ; } // end of [atspre_g0uint_uint16_uint16] ATSinline() atstype_bool atspre_g0uint_isgtz_uint16 (atstype_uint16 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uint16] ATSinline() atstype_bool atspre_g0uint_iseqz_uint16 (atstype_uint16 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uint16] ATSinline() atstype_bool atspre_g0uint_isneqz_uint16 (atstype_uint16 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uint16] ATSinline() atstype_bool atspre_g0uint_lt_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uint16] ATSinline() atstype_bool atspre_g0uint_lte_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uint16] ATSinline() atstype_bool atspre_g0uint_gt_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uint16] ATSinline() atstype_bool atspre_g0uint_gte_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uint16] ATSinline() atstype_bool atspre_g0uint_eq_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uint16] ATSinline() atstype_bool atspre_g0uint_neq_uint16 ( atstype_uint16 x1, atstype_uint16 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uint16] ATSinline() atstype_uint32 atspre_g0uint_succ_uint32 (atstype_uint32 x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uint32] ATSinline() atstype_uint32 atspre_g0uint_pred_uint32 (atstype_uint32 x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uint32] ATSinline() atstype_uint32 atspre_g0uint_half_uint32 (atstype_uint32 x) { return (x >> 1) ; } // end of [atspre_g0uint_pred_uint32] ATSinline() atstype_uint32 atspre_g0uint_add_uint32 (atstype_uint32 x1, atstype_uint32 x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uint32] ATSinline() atstype_uint32 atspre_g0uint_sub_uint32 (atstype_uint32 x1, atstype_uint32 x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uint32] ATSinline() atstype_uint32 atspre_g0uint_mul_uint32 (atstype_uint32 x1, atstype_uint32 x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uint32] ATSinline() atstype_uint32 atspre_g0uint_div_uint32 (atstype_uint32 x1, atstype_uint32 x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uint32] ATSinline() atstype_uint32 atspre_g0uint_mod_uint32 (atstype_uint32 x1, atstype_uint32 x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uint32] ATSinline() atstype_uint32 atspre_g0uint_lsl_uint32 (atstype_uint32 x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uint32] ATSinline() atstype_uint32 atspre_g0uint_lsr_uint32 (atstype_uint32 x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uint32] ATSinline() atstype_uint32 atspre_g0uint_lnot_uint32 (atstype_uint32 x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uint32] ATSinline() atstype_uint32 atspre_g0uint_lor_uint32 (atstype_uint32 x, atstype_uint32 y) { return (x | y) ; } // end of [atspre_g0uint_uint32_uint32] ATSinline() atstype_uint32 atspre_g0uint_land_uint32 (atstype_uint32 x, atstype_uint32 y) { return (x & y) ; } // end of [atspre_g0uint_uint32_uint32] ATSinline() atstype_uint32 atspre_g0uint_lxor_uint32 (atstype_uint32 x, atstype_uint32 y) { return (x ^ y) ; } // end of [atspre_g0uint_uint32_uint32] ATSinline() atstype_bool atspre_g0uint_isgtz_uint32 (atstype_uint32 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uint32] ATSinline() atstype_bool atspre_g0uint_iseqz_uint32 (atstype_uint32 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uint32] ATSinline() atstype_bool atspre_g0uint_isneqz_uint32 (atstype_uint32 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uint32] ATSinline() atstype_bool atspre_g0uint_lt_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uint32] ATSinline() atstype_bool atspre_g0uint_lte_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uint32] ATSinline() atstype_bool atspre_g0uint_gt_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uint32] ATSinline() atstype_bool atspre_g0uint_gte_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uint32] ATSinline() atstype_bool atspre_g0uint_eq_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uint32] ATSinline() atstype_bool atspre_g0uint_neq_uint32 ( atstype_uint32 x1, atstype_uint32 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uint32] ATSinline() atstype_uint64 atspre_g0uint_succ_uint64 (atstype_uint64 x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uint64] ATSinline() atstype_uint64 atspre_g0uint_pred_uint64 (atstype_uint64 x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uint64] ATSinline() atstype_uint64 atspre_g0uint_half_uint64 (atstype_uint64 x) { return (x >> 1) ; } // end of [atspre_g0uint_pred_uint64] ATSinline() atstype_uint64 atspre_g0uint_add_uint64 (atstype_uint64 x1, atstype_uint64 x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uint64] ATSinline() atstype_uint64 atspre_g0uint_sub_uint64 (atstype_uint64 x1, atstype_uint64 x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uint64] ATSinline() atstype_uint64 atspre_g0uint_mul_uint64 (atstype_uint64 x1, atstype_uint64 x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uint64] ATSinline() atstype_uint64 atspre_g0uint_div_uint64 (atstype_uint64 x1, atstype_uint64 x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uint64] ATSinline() atstype_uint64 atspre_g0uint_mod_uint64 (atstype_uint64 x1, atstype_uint64 x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uint64] ATSinline() atstype_uint64 atspre_g0uint_lsl_uint64 (atstype_uint64 x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uint64] ATSinline() atstype_uint64 atspre_g0uint_lsr_uint64 (atstype_uint64 x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uint64] ATSinline() atstype_uint64 atspre_g0uint_lnot_uint64 (atstype_uint64 x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uint64] ATSinline() atstype_uint64 atspre_g0uint_lor_uint64 (atstype_uint64 x, atstype_uint64 y) { return (x | y) ; } // end of [atspre_g0uint_uint64_uint64] ATSinline() atstype_uint64 atspre_g0uint_land_uint64 (atstype_uint64 x, atstype_uint64 y) { return (x & y) ; } // end of [atspre_g0uint_uint64_uint64] ATSinline() atstype_uint64 atspre_g0uint_lxor_uint64 (atstype_uint64 x, atstype_uint64 y) { return (x ^ y) ; } // end of [atspre_g0uint_uint64_uint64] ATSinline() atstype_bool atspre_g0uint_isgtz_uint64 (atstype_uint64 x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uint64] ATSinline() atstype_bool atspre_g0uint_iseqz_uint64 (atstype_uint64 x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uint64] ATSinline() atstype_bool atspre_g0uint_isneqz_uint64 (atstype_uint64 x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uint64] ATSinline() atstype_bool atspre_g0uint_lt_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uint64] ATSinline() atstype_bool atspre_g0uint_lte_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uint64] ATSinline() atstype_bool atspre_g0uint_gt_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uint64] ATSinline() atstype_bool atspre_g0uint_gte_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uint64] ATSinline() atstype_bool atspre_g0uint_eq_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uint64] ATSinline() atstype_bool atspre_g0uint_neq_uint64 ( atstype_uint64 x1, atstype_uint64 x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uint64] // /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED /* ****** ****** */ /* end of [integer_fixed.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/string.cats0000664000175000017500000001327712655455557017324 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/string.atxt ** Time of generation: Fri Nov 20 19:49:32 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_STRING #define ATSLIB_PRELUDE_CATS_STRING /* ****** ****** */ // // [string.h] // extern size_t strlen (const char *str) ; extern int // (sign) strcmp (const char *x1, const char *x2) ; // extern char *strchr(const char *str1, int c2) ; extern char *strrchr(const char *str1, int c2) ; extern char *strstr(const char *str1, const char *str2) ; // extern size_t strspn(const char *str1, const char *acc2) ; extern size_t strcspn(const char *str1, const char *rej2) ; // #ifndef memcpy extern void *memcpy(void *dest, const void *src, size_t n) ; #endif // #ifndef // /* ****** ****** */ #define atspre_stropt_none() atsptr_null /* ****** ****** */ ATSinline() atstype_bool atspre_lt_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn < 0 ? atsbool_true : atsbool_false) ; } // [atspre_lt_string_string] ATSinline() atstype_bool atspre_lte_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn <= 0 ? atsbool_true : atsbool_false) ; } // [atspre_lte_string_string] ATSinline() atstype_bool atspre_gt_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn > 0 ? atsbool_true : atsbool_false) ; } // [atspre_gt_string_string] ATSinline() atstype_bool atspre_gte_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn >= 0 ? atsbool_true : atsbool_false) ; } // [atspre_gte_string_string] ATSinline() atstype_bool atspre_eq_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn == 0 ? atsbool_true : atsbool_false) ; } // [atspre_eq_string_string] ATSinline() atstype_bool atspre_neq_string_string ( atstype_string x1, atstype_string x2 ) { int sgn = strcmp((char*)x1, (char*)x2) ; return (sgn != 0 ? atsbool_true : atsbool_false) ; } // [atspre_neq_string_string] /* ****** ****** */ #define atspre_string_equal atspre_eq_string_string #define atspre_string_noteq atspre_neq_string_string /* ****** ****** */ ATSinline() atstype_int atspre_compare_string_string ( atstype_string x1, atstype_string x2 ) { return atspre_int2sgn(strcmp((char*)x1, (char*)x2)) ; } // [atspre_compare_string_string] /* ****** ****** */ #define atspre_strcmp strcmp #define atspre_strlen strlen #define atspre_strchr strchr #define atspre_strrchr strrchr #define atspre_strstr strstr #define atspre_strspn strspn #define atspre_strcspn strcspn #define atspre_string_memcpy memcpy /* ****** ****** */ // // HX-2013-09: declared in [stdio.h] // #ifndef snprintf extern int snprintf (char *str, size_t size, const char *format, ...) ; #endif // end of [ifndef] // /* ****** ****** */ // ATSinline() atstype_string atspre_g0int2string_int (atstype_int x) { size_t n0 ; char *res ; size_t ntot ; n0 = 4 ; res = ATS_MALLOC(n0) ; ntot = snprintf(res, n0, "%i", x) ; if (ntot >= n0) { ATS_MFREE(res) ; res = (char*)ATS_MALLOC(ntot+1) ; ntot = snprintf(res, ntot+1, "%i", x) ; } return res ; } // ATSinline() atstype_string atspre_g0int2string_lint (atstype_lint x) { size_t n0 ; char *res ; size_t ntot ; n0 = 4 ; res = ATS_MALLOC(n0) ; ntot = snprintf(res, n0, "%li", x) ; if (ntot >= n0) { ATS_MFREE(res) ; res = (char*)ATS_MALLOC(ntot+1) ; ntot = snprintf(res, ntot+1, "%li", x) ; } return res ; } // ATSinline() atstype_string atspre_g0int2string_llint (atstype_llint x) { size_t n0 ; char *res ; size_t ntot ; n0 = 8 ; res = ATS_MALLOC(n0) ; ntot = snprintf(res, n0, "%lli", x) ; if (ntot >= n0) { ATS_MFREE(res) ; res = (char*)ATS_MALLOC(ntot+1) ; ntot = snprintf(res, ntot+1, "%lli", x) ; } return res ; } // /* ****** ****** */ // #include // // HX-2013-11: // these are implemented in [string.dats] // extern atstype_string // Strptr0 atspre_string_make_snprintf(atstype_string fmt, ...) ; extern atstype_string // Strptr0 atspre_string_make_vsnprintf (atstype_size bsz0, atstype_string fmt, va_list ap0) ; // /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_STRING /* ****** ****** */ /* end of [string.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/memory.cats0000664000175000017500000000371412655455557017321 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/memory.atxt ** Time of generation: Sat Jun 27 21:39:49 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_MEMORY #define ATSLIB_PRELUDE_CATS_MEMORY /* ****** ****** */ #define atspre_minit_gc ATS_MINIT /* ****** ****** */ #define atspre_mfree_gc ATS_MFREE /* ****** ****** */ #define atspre_malloc_gc ATS_MALLOC /* ****** ****** */ #define atspre_calloc_gc ATS_CALLOC #define atspre_realloc_gc ATS_REALLOC /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_MEMORY /* ****** ****** */ /* end of [memory.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/list.cats0000664000175000017500000000327012655455557016761 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/list.atxt ** Time of generation: Sat Jun 27 21:39:50 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_LIST #define ATSLIB_PRELUDE_CATS_LIST /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_LIST /* ****** ****** */ /* end of [list.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/basics.cats0000664000175000017500000001125312655455557017252 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/basics.atxt ** Time of generation: Fri Nov 20 19:49:32 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_BASICS #define ATSLIB_PRELUDE_CATS_BASICS /* ****** ****** */ #include #include /* ****** ****** */ ATSinline() atstype_int atspre_lor_int_int ( atstype_int x1 , atstype_int x2 ) { return ((x1)|(x2)) ; } /* [atspre_lor_int_int] */ ATSinline() atstype_int atspre_land_int_int ( atstype_int x1 , atstype_int x2 ) { return ((x1)&(x2)) ; } /* [atspre_land_int_int] */ ATSinline() atstype_int atspre_lxor_int_int ( atstype_int x1 , atstype_int x2 ) { return ((x1)^(x2)) ; } /* [atspre_lxor_int_int] */ /* ****** ****** */ ATSinline() atstype_int atspre_int2sgn (atstype_int x) { return ((x < 0) ? -1 : ((x > 0) ? 1 : 0)) ; } /* [atspre_int2sgn] */ /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_cloptr_free ( atstype_cloptr pclo ) { ATS_MFREE (pclo) ; return ; } /* [atspre_cloptr_free] */ /* ****** ****** */ ATSinline() atstype_string atspre_argv_get_at ( atstype_arrptr argv, atstype_int i ) { return (((atstype_string*)argv)[i]) ; } /* end of [atspre_argv_get_at] */ ATSinline() atsvoid_t0ype atspre_argv_set_at ( atstype_arrptr argv , atstype_int i, atstype_string x ) { ((atstype_string*)argv)[i] = x ; return ; } /* end of [atspre_argv_set_at] */ /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_exit (atstype_int ecode) { exit(ecode) ; return ; } // end of [atspre_exit] ATSinline() atsvoid_t0ype atspre_exit_errmsg ( atstype_int ecode, atstype_string msg ) { fprintf(stderr, "exit(ATS): %s", (char*)msg); exit(ecode); return; } // end of [atspre_exit_errmsg] /* ****** ****** */ #define atspre_exit_void atspre_exit #define atspre_exit_errmsg_void atspre_exit_errmsg /* ****** ****** */ // ATSinline() atsvoid_t0ype atspre_assert_bool (atstype_bool b) { if (!b) exit(1) ; return ; } /* endfun */ // #define atspre_assert_bool0 atspre_assert_bool #define atspre_assert_bool1 atspre_assert_bool // /* ****** ****** */ // ATSinline() atsvoid_t0ype atspre_assert_errmsg_bool ( atstype_bool b, atstype_string msg ) { if (!b) { fprintf(stderr, "%s", (char*)msg) ; exit(1) ; } // end of [if] return ; } /* endfun */ // #define atspre_assert_errmsg_bool0 atspre_assert_errmsg_bool #define atspre_assert_errmsg_bool1 atspre_assert_errmsg_bool // /* ****** ****** */ // ATSinline() atsvoid_t0ype atspre_assert_errmsg2_bool ( atstype_bool b , atstype_string msg1, atstype_string msg2 ) { if (!b) { fprintf(stderr, "%s%s", (char*)msg1, (char*)msg2) ; exit(1) ; } // end of [if] return ; } /* endfun */ // #define atspre_assert_errmsg2_bool0 atspre_assert_errmsg2_bool #define atspre_assert_errmsg2_bool1 atspre_assert_errmsg2_bool // /* ****** ****** */ // ATSinline() atsvoid_t0ype atspre_fprint_newline (atstype_ref out) { int n ; int err = -1 ; n = fprintf((FILE*)out, "\n") ; if (n > 0) err = fflush((FILE*)out) ; if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_newline] failed.") ; exit(1) ; } // end of [if] return ; } /* endfun */ // #define atspre_print_newline() atspre_fprint_newline(stdout) #define atspre_prerr_newline() atspre_fprint_newline(stderr) // /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_BASICS /* ****** ****** */ /* end of [basics.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/integer_ptr.cats0000664000175000017500000002306512655455557020334 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/integer_ptr.atxt ** Time of generation: Fri Sep 25 23:06:25 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR #define ATSLIB_PRELUDE_CATS_INTEGER_PTR /* ****** ****** */ #include /* ****** ****** */ typedef intptr_t atstype_intptr ; typedef uintptr_t atstype_uintptr ; /* ****** ****** */ // #define atspre_g0int2int_int_intptr(x) ((atstype_intptr)(x)) #define atspre_g0int2int_lint_intptr(x) ((atstype_intptr)(x)) // #define atspre_g0int2uint_int_uintptr(x) ((atstype_uintptr)(x)) // #define atspre_g0uint2uint_uint_uintptr(x) ((atstype_uintptr)(x)) #define atspre_g0uint2uint_ulint_uintptr(x) ((atstype_uintptr)(x)) // /* ****** ****** */ // #define atspre_g1int2int_int_intptr atspre_g0int2int_int_intptr #define atspre_g1int2int_lint_intptr atspre_g0int2int_lint_intptr // #define atspre_g1int2uint_int_uintptr atspre_g0int2uint_int_uintptr // #define atspre_g1uint2uint_uint_uintptr atspre_g0uint2uint_uint_uintptr #define atspre_g1uint2uint_ulint_uintptr atspre_g0uint2uint_ulint_uintptr // /* ****** ****** */ ATSinline() atstype_intptr atspre_g0int_neg_intptr (atstype_intptr x) { return (-x) ; } // end of [atspre_g0int_neg_intptr] ATSinline() atstype_intptr atspre_g0int_succ_intptr (atstype_intptr x) { return (x + 1) ; } // end of [atspre_g0int_succ_intptr] ATSinline() atstype_intptr atspre_g0int_pred_intptr (atstype_intptr x) { return (x - 1) ; } // end of [atspre_g0int_pred_intptr] ATSinline() atstype_intptr atspre_g0int_half_intptr (atstype_intptr x) { return (x / 2) ; } // end of [atspre_g0int_half_intptr] ATSinline() atstype_intptr atspre_g0int_add_intptr (atstype_intptr x1, atstype_intptr x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_intptr] ATSinline() atstype_intptr atspre_g0int_sub_intptr (atstype_intptr x1, atstype_intptr x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_intptr] ATSinline() atstype_intptr atspre_g0int_mul_intptr (atstype_intptr x1, atstype_intptr x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_intptr] ATSinline() atstype_intptr atspre_g0int_div_intptr (atstype_intptr x1, atstype_intptr x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_intptr] ATSinline() atstype_intptr atspre_g0int_mod_intptr (atstype_intptr x1, atstype_intptr x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_intptr] ATSinline() atstype_bool atspre_g0int_isltz_intptr (atstype_intptr x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_intptr] ATSinline() atstype_bool atspre_g0int_isltez_intptr (atstype_intptr x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_intptr] ATSinline() atstype_bool atspre_g0int_isgtz_intptr (atstype_intptr x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_intptr] ATSinline() atstype_bool atspre_g0int_isgtez_intptr (atstype_intptr x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_intptr] ATSinline() atstype_bool atspre_g0int_iseqz_intptr (atstype_intptr x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_intptr] ATSinline() atstype_bool atspre_g0int_isneqz_intptr (atstype_intptr x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_intptr] ATSinline() atstype_bool atspre_g0int_lt_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_intptr] ATSinline() atstype_bool atspre_g0int_lte_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_intptr] ATSinline() atstype_bool atspre_g0int_gt_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_intptr] ATSinline() atstype_bool atspre_g0int_gte_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_intptr] ATSinline() atstype_bool atspre_g0int_eq_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_intptr] ATSinline() atstype_bool atspre_g0int_neq_intptr ( atstype_intptr x1, atstype_intptr x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_intptr] // /* ****** ****** */ ATSinline() atstype_uintptr atspre_g0uint_succ_uintptr (atstype_uintptr x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uintptr] ATSinline() atstype_uintptr atspre_g0uint_pred_uintptr (atstype_uintptr x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uintptr] ATSinline() atstype_uintptr atspre_g0uint_half_uintptr (atstype_uintptr x) { return (x >> 1) ; } // end of [atspre_g0uint_pred_uintptr] ATSinline() atstype_uintptr atspre_g0uint_add_uintptr (atstype_uintptr x1, atstype_uintptr x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uintptr] ATSinline() atstype_uintptr atspre_g0uint_sub_uintptr (atstype_uintptr x1, atstype_uintptr x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uintptr] ATSinline() atstype_uintptr atspre_g0uint_mul_uintptr (atstype_uintptr x1, atstype_uintptr x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uintptr] ATSinline() atstype_uintptr atspre_g0uint_div_uintptr (atstype_uintptr x1, atstype_uintptr x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uintptr] ATSinline() atstype_uintptr atspre_g0uint_mod_uintptr (atstype_uintptr x1, atstype_uintptr x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uintptr] ATSinline() atstype_uintptr atspre_g0uint_lsl_uintptr (atstype_uintptr x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uintptr] ATSinline() atstype_uintptr atspre_g0uint_lsr_uintptr (atstype_uintptr x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uintptr] ATSinline() atstype_uintptr atspre_g0uint_lnot_uintptr (atstype_uintptr x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uintptr] ATSinline() atstype_uintptr atspre_g0uint_lor_uintptr (atstype_uintptr x, atstype_uintptr y) { return (x | y) ; } // end of [atspre_g0uint_uintptr_uintptr] ATSinline() atstype_uintptr atspre_g0uint_land_uintptr (atstype_uintptr x, atstype_uintptr y) { return (x & y) ; } // end of [atspre_g0uint_uintptr_uintptr] ATSinline() atstype_uintptr atspre_g0uint_lxor_uintptr (atstype_uintptr x, atstype_uintptr y) { return (x ^ y) ; } // end of [atspre_g0uint_uintptr_uintptr] ATSinline() atstype_bool atspre_g0uint_isgtz_uintptr (atstype_uintptr x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uintptr] ATSinline() atstype_bool atspre_g0uint_iseqz_uintptr (atstype_uintptr x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uintptr] ATSinline() atstype_bool atspre_g0uint_isneqz_uintptr (atstype_uintptr x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uintptr] ATSinline() atstype_bool atspre_g0uint_lt_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uintptr] ATSinline() atstype_bool atspre_g0uint_lte_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uintptr] ATSinline() atstype_bool atspre_g0uint_gt_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uintptr] ATSinline() atstype_bool atspre_g0uint_gte_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uintptr] ATSinline() atstype_bool atspre_g0uint_eq_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uintptr] ATSinline() atstype_bool atspre_g0uint_neq_uintptr ( atstype_uintptr x1, atstype_uintptr x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uintptr] // /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR /* ****** ****** */ /* end of [integer_ptr.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/array.cats0000664000175000017500000000535512655455557017132 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/array.atxt ** Time of generation: Sat Jun 27 21:39:52 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_ARRAY #define ATSLIB_PRELUDE_CATS_ARRAY /* ****** ****** */ // // [stdlib.h] // extern void qsort ( void *base, size_t nmemb, size_t size , int(*compar)(const void *, const void *) ) ; // end of [qsort] extern void *bsearch ( const void *key , const void *base , size_t nmemb, size_t size , int (*compar)(const void *, const void *) ) ; // end of [bsearch] // #define atspre_array_qsort qsort #define atspre_array_bsearch bsearch // /* ****** ****** */ // // [string.h] // #ifndef memcpy extern void *memcpy(void *dst, const void *src, size_t n) ; #endif // #ifndef #ifndef memmove extern void *memmove(void *dst, const void *src, size_t n) ; #endif // #ifndef // #define atspre_array_memcpy memcpy #define atspre_array_memmove memmove // /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_array_foreach_funenv_tsz ( atstype_ptr A , atstype_size n , atstype_size tsz , atstype_funptr f , atstype_boxed env ) { char *p ; size_t i ; p = (char*)A ; for (i = 0 ; i < n ; i += 1) { ((void(*)(void*, void*))(f))(p, env) ; p += tsz ; } return ; } // end of [atspre_array_foreach_funenv_tsz] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_ARRAY /* ****** ****** */ /* end of [array.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/option.cats0000664000175000017500000000330212655455557017312 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/option.atxt ** Time of generation: Sat Jun 27 21:39:51 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_OPTION #define ATSLIB_PRELUDE_CATS_OPTION /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_OPTION /* ****** ****** */ /* end of [option.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/pointer.cats0000664000175000017500000001440112655455557017464 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/pointer.atxt ** Time of generation: Fri Sep 25 23:06:23 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_POINTER #define ATSLIB_PRELUDE_CATS_POINTER /* ****** ****** */ #ifndef memset extern void *memset(void *bufp, int c, size_t n) ; #endif // #ifndef /* ****** ****** */ ATSinline() atstype_ptr atspre_ptr_null () { return (void*)0 ; } /* ****** ****** */ ATSinline() atstype_bool atspre_ptr_is_null (atstype_ptr p) { return (p == (void*)0) ? atsbool_true : atsbool_false ; } // end of [atspre_ptr_is_null] #define atspre_ptr0_is_null atspre_ptr_is_null #define atspre_ptr1_is_null atspre_ptr_is_null ATSinline() atstype_bool atspre_ptr_isnot_null (atstype_ptr p) { return (p != (void*)0) ? atsbool_true : atsbool_false ; } // end of [atspre_ptr_isnot_null] #define atspre_ptr0_isnot_null atspre_ptr_isnot_null #define atspre_ptr1_isnot_null atspre_ptr_isnot_null /* ****** ****** */ ATSinline() atstype_ptr atspre_add_ptr_bsz (atstype_ptr p, atstype_size ofs) { return ((char*)p + ofs) ; } // end of [atspre_add_ptr_bsz] #define atspre_add_ptr0_bsz atspre_add_ptr_bsz #define atspre_add_ptr1_bsz atspre_add_ptr_bsz ATSinline() atstype_ptr atspre_sub_ptr_bsz (atstype_ptr p, atstype_size ofs) { return ((char*)p - ofs) ; } // end of [atspre_sub_ptr_bsz] #define atspre_sub_ptr0_bsz atspre_sub_ptr_bsz #define atspre_sub_ptr1_bsz atspre_sub_ptr_bsz /* ****** ****** */ ATSinline() atstype_ssize atspre_sub_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return ((char*)p1 - (char*)p2) ; } // end of [atspre_sub_ptr_ptr] #define atspre_sub_ptr0_ptr0 atspre_sub_ptr_ptr #define atspre_sub_ptr1_ptr1 atspre_sub_ptr_ptr /* ****** ****** */ ATSinline() atstype_bool atspre_lt_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 < p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lt_ptr_ptr] #define atspre_lt_ptr0_ptr0 atspre_lt_ptr_ptr #define atspre_lt_ptr1_ptr1 atspre_lt_ptr_ptr ATSinline() atstype_bool atspre_lte_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 <= p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lte_ptr_ptr] #define atspre_lte_ptr0_ptr0 atspre_lte_ptr_ptr #define atspre_lte_ptr1_ptr1 atspre_lte_ptr_ptr ATSinline() atstype_bool atspre_gt_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 > p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gt_ptr_ptr] #define atspre_gt_ptr0_ptr0 atspre_gt_ptr_ptr #define atspre_gt_ptr1_ptr1 atspre_gt_ptr_ptr ATSinline() atstype_bool atspre_gte_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 >= p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gte_ptr_ptr] #define atspre_gte_ptr0_ptr0 atspre_gte_ptr_ptr #define atspre_gte_ptr1_ptr1 atspre_gte_ptr_ptr ATSinline() atstype_bool atspre_eq_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 == p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_eq_ptr_ptr] #define atspre_eq_ptr0_ptr0 atspre_eq_ptr_ptr #define atspre_eq_ptr1_ptr1 atspre_eq_ptr_ptr ATSinline() atstype_bool atspre_neq_ptr_ptr (atstype_ptr p1, atstype_ptr p2) { return (p1 != p2 ? atsbool_true : atsbool_false) ; } // end of [atspre_neq_ptr_ptr] #define atspre_neq_ptr0_ptr0 atspre_neq_ptr_ptr #define atspre_neq_ptr1_ptr1 atspre_neq_ptr_ptr ATSinline() atstype_int atspre_compare_ptr_ptr ( atstype_ptr p1, atstype_ptr p2 ) { if (p1 >= p2) { if (p1 > p2) return 1 ; else return 0 ; } else return (-1) ; } // end of [atspre_compare_ptr_ptr] #define atspre_compare_ptr0_ptr0 atspre_compare_ptr_ptr #define atspre_compare_ptr1_ptr1 atspre_compare_ptr_ptr /* ****** ****** */ ATSinline() atstype_bool atspre_gt_ptr_intz (atstype_ptr p, atstype_int _) { return (p > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_gt_ptr_intz] #define atspre_gt_ptr0_intz atspre_gt_ptr_intz #define atspre_gt_ptr1_intz atspre_gt_ptr_intz ATSinline() atstype_bool atspre_eq_ptr_intz (atstype_ptr p, atstype_int _) { return (p == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_eq_ptr_intz] #define atspre_eq_ptr0_intz atspre_eq_ptr_intz #define atspre_eq_ptr1_intz atspre_eq_ptr_intz ATSinline() atstype_bool atspre_neq_ptr_intz (atstype_ptr p, atstype_int _) { return (p != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_neq_ptr_intz] #define atspre_neq_ptr0_intz atspre_neq_ptr_intz #define atspre_neq_ptr1_intz atspre_neq_ptr_intz /* ****** ****** */ // #define atspre_cptr_null() atsptr_null // #define atspre_cptr_is_null atspre_ptr_is_null #define atspre_cptr_isnot_null atspre_ptr_isnot_null // /* ****** ****** */ // #define atspre_ptr_free atspre_mfree_gc #define atspre_ptr_alloc_tsz atspre_malloc_gc // /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_ptr_nullize_tsz ( atstype_ptr p, atstype_size tsz ) { memset (p, 0, tsz) ; return /*void*/ ; } // end of [atspre_ptr_nullize_tsz] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_POINTER /* ****** ****** */ /* end of [pointer.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/matrix.cats0000664000175000017500000000330212655455557017306 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/matrix.atxt ** Time of generation: Sat Jun 27 21:39:52 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_MATRIX #define ATSLIB_PRELUDE_CATS_MATRIX /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_MATRIX /* ****** ****** */ /* end of [matrix.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/arrayref.cats0000664000175000017500000000355712655455557017631 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/arrayref.atxt ** Time of generation: Sat Jun 27 21:39:52 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_ARRAYREF #define ATSLIB_PRELUDE_CATS_ARRAYREF /* ****** ****** */ ATSinline() atstype_arrptr atspre_arrayref_make_arrpsz (atstype_arrpsz psz) { return (psz).ptr ; } // end of [atspre_arrayref_make_arrpsz] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYREF /* ****** ****** */ /* end of [arrayref.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/fprintf.cats0000664000175000017500000003312612655455557017461 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/fprintf.atxt ** Time of generation: Fri Sep 25 23:06:26 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: September, 2015 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_FPRINTF #define ATSLIB_PRELUDE_CATS_FPRINTF /* ****** ****** */ // // HX-2013-09: declared in [stdio.h] // #ifndef fprintf extern int fprintf (FILE *stream, const char *format, ...) ; #endif // end of [ifndef] // /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_bool ( atstype_ref out, atstype_bool x ) { int err = 0 ; err += fprintf((FILE*)out, "%s", atspre_bool2string(x)) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_bool] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_bool] #define atspre_print_bool(x) atspre_fprint_bool(stdout, (x)) #define atspre_prerr_bool(x) atspre_fprint_bool(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_char ( atstype_ref out, atstype_char c ) { int err = 0 ; err += fprintf ((FILE*)out, "%c", c) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_char] failed.") ; exit(1) ; } // end of [if] */ return ; } // end of [atspre_fprint_char] #define atspre_print_char(c) atspre_fprint_char(stdout, (c)) #define atspre_prerr_char(c) atspre_fprint_char(stderr, (c)) ATSinline() atsvoid_t0ype atspre_fprint_uchar ( atstype_ref out, atstype_uchar c ) { atspre_fprint_char (out, (atstype_char)c) ; return ; } // end of [atspre_fprint_uchar] #define atspre_print_uchar(c) atspre_fprint_uchar(stdout, (c)) #define atspre_prerr_uchar(c) atspre_fprint_uchar(stderr, (c)) ATSinline() atsvoid_t0ype atspre_fprint_schar ( atstype_ref out, atstype_schar c ) { atspre_fprint_char (out, (atstype_char)c) ; return ; } // end of [atspre_fprint_schar] #define atspre_print_schar(c) atspre_fprint_schar(stdout, (c)) #define atspre_prerr_schar(c) atspre_fprint_schar(stderr, (c)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_int ( atstype_ref out, atstype_int x ) { int err = 0 ; err += fprintf((FILE*)out, "%i", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_int] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_int] #define atspre_print_int(x) atspre_fprint_int(stdout, (x)) #define atspre_prerr_int(x) atspre_fprint_int(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_lint ( atstype_ref out, atstype_lint x ) { int err = 0 ; err += fprintf((FILE*)out, "%li", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_lint] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_lint] #define atspre_print_lint(x) atspre_fprint_lint(stdout, (x)) #define atspre_prerr_lint(x) atspre_fprint_lint(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_llint ( atstype_ref out, atstype_llint x ) { int err = 0 ; err += fprintf((FILE*)out, "%lli", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_llint] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_llint] #define atspre_print_llint(x) atspre_fprint_llint(stdout, (x)) #define atspre_prerr_llint(x) atspre_fprint_llint(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_ssize ( atstype_ref out, atstype_ssize x ) { int err = 0 ; err += fprintf((FILE*)out, "%li", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_ssize] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_ssize] #define atspre_print_ssize(x) atspre_fprint_ssize(stdout, (x)) #define atspre_prerr_ssize(x) atspre_fprint_ssize(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_uint ( atstype_ref out, atstype_uint x ) { int err = 0 ; err += fprintf((FILE*)out, "%u", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_uint] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_uint] #define atspre_print_uint(x) atspre_fprint_uint(stdout, (x)) #define atspre_prerr_uint(x) atspre_fprint_uint(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_ulint ( atstype_ref out, atstype_ulint x ) { int err = 0 ; err += fprintf((FILE*)out, "%lu", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_ulint] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_ulint] #define atspre_print_ulint(x) atspre_fprint_ulint(stdout, (x)) #define atspre_prerr_ulint(x) atspre_fprint_ulint(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_ullint ( atstype_ref out, atstype_ullint x ) { int err = 0 ; err += fprintf((FILE*)out, "%llu", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_ullint] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_ullint] #define atspre_print_ullint(x) atspre_fprint_ullint(stdout, (x)) #define atspre_prerr_ullint(x) atspre_fprint_ullint(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_size ( atstype_ref out, atstype_size x ) { int err = 0 ; atstype_ulint x2 = x ; err += fprintf((FILE*)out, "%lu", x2) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_size] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_size] #define atspre_print_size(x) atspre_fprint_size(stdout, (x)) #define atspre_prerr_size(x) atspre_fprint_size(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_ptr ( atstype_ref out, atstype_ptr x ) { int err ; err = fprintf((FILE*)out, "%p", x) ; return ; } // end [atspre_fprint_ptr] #define atspre_print_ptr(x) atspre_fprint_ptr(stdout, (x)) #define atspre_prerr_ptr(x) atspre_fprint_ptr(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_float ( atstype_ref r, atstype_float x ) { int err = 0 ; err += fprintf((FILE*)r, "%f", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_float] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_float] #define atspre_print_float(x) atspre_fprint_float(stdout, (x)) #define atspre_prerr_float(x) atspre_fprint_float(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_double ( atstype_ref r, atstype_double x ) { int err = 0 ; err += fprintf((FILE*)r, "%f", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_double] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_double] #define atspre_print_double(x) atspre_fprint_double(stdout, (x)) #define atspre_prerr_double(x) atspre_fprint_double(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_ldouble ( atstype_ref r, atstype_ldouble x ) { int err = 0 ; err += fprintf((FILE*)r, "%Lf", x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_ldouble] failed.") ; exit(1) ; } // end of [if] */ return ; } // end [atspre_fprint_ldouble] #define atspre_print_ldouble(x) atspre_fprint_ldouble(stdout, (x)) #define atspre_prerr_ldouble(x) atspre_fprint_ldouble(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_intptr ( atstype_ref r, atstype_intptr x ) { int err ; err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ; return ; } // end [atspre_fprint_intptr] #define atspre_print_intptr(x) atspre_fprint_intptr(stdout, (x)) #define atspre_prerr_intptr(x) atspre_fprint_intptr(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_uintptr ( atstype_ref r, atstype_uintptr x ) { int err ; err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ; return ; } // end [atspre_fprint_uintptr] #define atspre_print_uintptr(x) atspre_fprint_uintptr(stdout, (x)) #define atspre_prerr_uintptr(x) atspre_fprint_uintptr(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_int8 ( atstype_ref r, atstype_int8 x ) { int err ; err = fprintf((FILE*)r, "%i", (atstype_int)x) ; return ; } // end [atspre_fprint_int8] #define atspre_print_int8(x) atspre_fprint_int8(stdout, (x)) #define atspre_prerr_int8(x) atspre_fprint_int8(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_int16 ( atstype_ref r, atstype_int16 x ) { int err ; err = fprintf((FILE*)r, "%i", (atstype_int)x) ; return ; } // end [atspre_fprint_int16] #define atspre_print_int16(x) atspre_fprint_int16(stdout, (x)) #define atspre_prerr_int16(x) atspre_fprint_int16(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_int32 ( atstype_ref r, atstype_int32 x ) { int err ; err = fprintf((FILE*)r, "%li", (atstype_lint)x) ; return ; } // end [atspre_fprint_int32] #define atspre_print_int32(x) atspre_fprint_int32(stdout, (x)) #define atspre_prerr_int32(x) atspre_fprint_int32(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_int64 ( atstype_ref r, atstype_int64 x ) { int err ; err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ; return ; } // end [atspre_fprint_int64] #define atspre_print_int64(x) atspre_fprint_int64(stdout, (x)) #define atspre_prerr_int64(x) atspre_fprint_int64(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_uint8 ( atstype_ref r, atstype_uint8 x ) { int err ; err = fprintf((FILE*)r, "%u", (atstype_uint)x) ; return ; } // end [atspre_fprint_uint8] #define atspre_print_uint8(x) atspre_fprint_uint8(stdout, (x)) #define atspre_prerr_uint8(x) atspre_fprint_uint8(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_uint16 ( atstype_ref r, atstype_uint16 x ) { int err ; err = fprintf((FILE*)r, "%u", (atstype_uint)x) ; return ; } // end [atspre_fprint_uint16] #define atspre_print_uint16(x) atspre_fprint_uint16(stdout, (x)) #define atspre_prerr_uint16(x) atspre_fprint_uint16(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_uint32 ( atstype_ref r, atstype_uint32 x ) { int err ; err = fprintf((FILE*)r, "%lu", (atstype_ulint)x) ; return ; } // end [atspre_fprint_uint32] #define atspre_print_uint32(x) atspre_fprint_uint32(stdout, (x)) #define atspre_prerr_uint32(x) atspre_fprint_uint32(stderr, (x)) ATSinline() atsvoid_t0ype atspre_fprint_uint64 ( atstype_ref r, atstype_uint64 x ) { int err ; err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ; return ; } // end [atspre_fprint_uint64] #define atspre_print_uint64(x) atspre_fprint_uint64(stdout, (x)) #define atspre_prerr_uint64(x) atspre_fprint_uint64(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_string ( atstype_ref out, atstype_string x ) { int err = 0 ; err += fprintf((FILE*)out, "%s", (char*)x) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_string] failed.") ; exit(1) ; } // end of [if] */ return ; } // end of [atspre_fprint_string] #define atspre_print_string(x) atspre_fprint_string(stdout, (x)) #define atspre_prerr_string(x) atspre_fprint_string(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_substring ( atstype_ref out , atstype_string x , atstype_size st, atstype_size ln ) { int err = 0 ; err += fwrite(((char*)x)+st, 1, ln, out) ; /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_substring] failed.") ; exit(1) ; } // end of [if] */ return ; } // end of [atspre_fprint_substring] /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_stropt ( atstype_ref out, atstype_stropt x ) { int err = 0 ; if (!x) { err += fprintf((FILE*)out, "strnone()") ; } else { err += fprintf((FILE*)out, "strsome(%s)", (char*)x) ; } /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_stropt] failed.") ; exit(1) ; } // end of [if] */ return ; } // end of [atspre_fprint_stropt] #define atspre_print_stropt(x) atspre_fprint_stropt(stdout, (x)) #define atspre_prerr_stropt(x) atspre_fprint_stropt(stderr, (x)) /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fprint_strptr ( atstype_ref out, atstype_strptr x ) { int err = 0 ; if (x != 0) { err += fprintf((FILE*)out, "%s", (char*)x) ; } else { err += fprintf((FILE*)out, "%s", "(strnull)") ; } // end of [if] /* if (err < 0) { fprintf(stderr, "exit(ATS): [fprint_strptr] failed.") ; exit(1) ; } // end of [if] */ return ; } // end of [atspre_fprint_strptr] #define atspre_print_strptr(x) atspre_fprint_strptr(stdout, (x)) #define atspre_prerr_strptr(x) atspre_fprint_strptr(stderr, (x)) /* ****** ****** */ #define atspre_fprint_strbuf atspre_fprint_strptr #define atspre_print_strbuf(x) atspre_fprint_strbuf(stdout, (x)) #define atspre_prerr_strbuf(x) atspre_fprint_strbuf(stderr, (x)) /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_FPRINTF /* ****** ****** */ /* end of [fprintf.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/integer.cats0000664000175000017500000014506512655455557017454 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/integer.atxt ** Time of generation: Fri Sep 25 23:06:24 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_INTEGER #define ATSLIB_PRELUDE_CATS_INTEGER /* ****** ****** */ // #define atspre_g0int2int_int_int(x) ((atstype_int)(x)) #define atspre_g0int2int_int_lint(x) ((atstype_lint)(x)) #define atspre_g0int2int_int_llint(x) ((atstype_llint)(x)) #define atspre_g0int2int_int_ssize(x) ((atstype_ssize)(x)) #define atspre_g1int2int_int_int atspre_g0int2int_int_int #define atspre_g1int2int_int_lint atspre_g0int2int_int_lint #define atspre_g1int2int_int_llint atspre_g0int2int_int_llint #define atspre_g1int2int_int_ssize atspre_g0int2int_int_ssize // #define atspre_g0int2int_lint_int(x) ((atstype_int)(x)) #define atspre_g0int2int_lint_lint(x) ((atstype_lint)(x)) #define atspre_g0int2int_lint_llint(x) ((atstype_llint)(x)) #define atspre_g0int2int_lint_ssize(x) ((atstype_ssize)(x)) #define atspre_g1int2int_lint_int atspre_g0int2int_lint_int #define atspre_g1int2int_lint_lint atspre_g0int2int_lint_lint #define atspre_g1int2int_lint_llint atspre_g0int2int_lint_llint #define atspre_g1int2int_lint_ssize atspre_g0int2int_lint_ssize // #define atspre_g0int2int_ssize_int(x) ((atstype_int)(x)) #define atspre_g0int2int_ssize_lint(x) ((atstype_lint)(x)) #define atspre_g0int2int_ssize_llint(x) ((atstype_llint)(x)) #define atspre_g0int2int_ssize_ssize(x) ((atstype_ssize)(x)) #define atspre_g1int2int_ssize_int atspre_g0int2int_ssize_int #define atspre_g1int2int_ssize_lint atspre_g0int2int_ssize_lint #define atspre_g1int2int_ssize_llint atspre_g0int2int_ssize_llint #define atspre_g1int2int_ssize_ssize atspre_g0int2int_ssize_ssize // /* ****** ****** */ // #define atspre_g0int2int_sint_int(x) ((atstype_int)(x)) // /* ****** ****** */ // #define atspre_g0int2uint_int_uint(x) ((atstype_uint)(x)) #define atspre_g0int2uint_int_ulint(x) ((atstype_ulint)(x)) #define atspre_g0int2uint_int_ullint(x) ((atstype_ullint)(x)) #define atspre_g0int2uint_int_size(x) ((atstype_size)(x)) #define atspre_g1int2uint_int_uint atspre_g0int2uint_int_uint #define atspre_g1int2uint_int_ulint atspre_g0int2uint_int_ulint #define atspre_g1int2uint_int_ullint atspre_g0int2uint_int_ullint #define atspre_g1int2uint_int_size atspre_g0int2uint_int_size // #define atspre_g0int2uint_lint_ulint(x) ((atstype_ulint)(x)) #define atspre_g0int2uint_lint_ullint(x) ((atstype_ullint)(x)) #define atspre_g0int2uint_lint_size(x) ((atstype_size)(x)) #define atspre_g1int2uint_lint_ulint atspre_g0int2uint_lint_ulint #define atspre_g1int2uint_lint_ullint atspre_g0int2uint_lint_ullint #define atspre_g1int2uint_lint_size atspre_g0int2uint_lint_size // #define atspre_g0int2uint_llint_ullint(x) ((atstype_ullint)(x)) #define atspre_g1int2uint_llint_ullint atspre_g0int2uint_llint_ullint // #define atspre_g0int2uint_ssize_size(x) ((atstype_size)(x)) #define atspre_g1int2uint_ssize_size atspre_g0int2uint_ssize_size // /* ****** ****** */ // #define atspre_g0uint2int_uint_int(x) ((atstype_int)(x)) #define atspre_g0uint2int_uint_lint(x) ((atstype_lint)(x)) #define atspre_g0uint2int_uint_llint(x) ((atstype_llint)(x)) #define atspre_g0uint2int_uint_ssize(x) ((atstype_ssize)(x)) #define atspre_g1uint2int_uint_int atspre_g0uint2int_uint_int #define atspre_g1uint2int_uint_lint atspre_g0uint2int_uint_lint #define atspre_g1uint2int_uint_llint atspre_g0uint2int_uint_llint #define atspre_g1uint2int_uint_ssize atspre_g0uint2int_uint_ssize // /* ****** ****** */ // #define atspre_g0uint2int_size_int(x) ((atstype_int)(x)) #define atspre_g0uint2int_size_lint(x) ((atstype_lint)(x)) #define atspre_g0uint2int_size_llint(x) ((atstype_llint)(x)) #define atspre_g0uint2int_size_ssize(x) ((atstype_ssize)(x)) #define atspre_g1uint2int_size_int atspre_g0uint2int_size_int #define atspre_g1uint2int_size_lint atspre_g0uint2int_size_lint #define atspre_g1uint2int_size_llint atspre_g0uint2int_size_llint #define atspre_g1uint2int_size_ssize atspre_g0uint2int_size_ssize // /* ****** ****** */ // #define atspre_g0uint2uint_uint_uint(x) (x) #define atspre_g0uint2uint_uint_ulint(x) ((atstype_ulint)(x)) #define atspre_g0uint2uint_uint_ullint(x) ((atstype_ullint)(x)) #define atspre_g0uint2uint_uint_size(x) ((atstype_size)(x)) #define atspre_g1uint2uint_uint_uint atspre_g0uint2uint_uint_uint #define atspre_g1uint2uint_uint_ulint atspre_g0uint2uint_uint_ulint #define atspre_g1uint2uint_uint_ullint atspre_g0uint2uint_uint_ullint #define atspre_g1uint2uint_uint_size atspre_g0uint2uint_uint_size // /* ****** ****** */ // #define atspre_g0uint2uint_ulint_uint(x) ((atstype_uint)(x)) #define atspre_g0uint2uint_ulint_ulint(x) (x) #define atspre_g0uint2uint_ulint_ullint(x) ((atstype_ullint)(x)) #define atspre_g0uint2uint_ulint_size(x) ((atstype_size)(x)) #define atspre_g1uint2uint_ulint_uint atspre_g0uint2uint_ulint_uint #define atspre_g1uint2uint_ulint_ulint atspre_g0uint2uint_ulint_ulint #define atspre_g1uint2uint_ulint_ullint atspre_g0uint2uint_ulint_ullint #define atspre_g1uint2uint_ulint_size atspre_g0uint2uint_ulint_size // /* ****** ****** */ // #define atspre_g0uint2uint_size_uint(x) ((atstype_uint)(x)) #define atspre_g0uint2uint_size_ulint(x) ((atstype_ulint)(x)) #define atspre_g0uint2uint_size_ullint(x) ((atstype_ullint)(x)) #define atspre_g0uint2uint_size_size(x) (x) #define atspre_g1uint2uint_size_uint atspre_g0uint2uint_size_uint #define atspre_g1uint2uint_size_ulint atspre_g0uint2uint_size_ulint #define atspre_g1uint2uint_size_ullint atspre_g0uint2uint_size_ullint #define atspre_g1uint2uint_size_size atspre_g0uint2uint_size_size // /* ****** ****** */ // #define atspre_g0uint2uint_usint_uint(x) ((atstype_uint)(x)) // /* ****** ****** */ // extern int atoi (const char *inp) ; extern long int atol (const char *inp) ; extern long long int atoll (const char *inp) ; // ATSinline() atstype_int atspre_g0string2int_int (atstype_string inp) { return atoi((char*)inp) ; } ATSinline() atstype_lint atspre_g0string2int_lint (atstype_string inp) { return atol((char*)inp) ; } ATSinline() atstype_llint atspre_g0string2int_llint (atstype_string inp) { return atoll((char*)inp) ; } ATSinline() atstype_ssize atspre_g0string2int_ssize (atstype_string inp) { return atol((char*)inp) ; } // /* ****** ****** */ // extern unsigned long int strtoul(const char *nptr, char **endptr, int base); extern unsigned long long int strtoull(const char *nptr, char **endptr, int base); // ATSinline() atstype_uint atspre_g0string2uint_uint (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; } ATSinline() atstype_ulint atspre_g0string2uint_ulint (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; } ATSinline() atstype_ullint atspre_g0string2uint_ullint (atstype_string inp) { return strtoull((char*)inp, NULL, 10) ; } ATSinline() atstype_size atspre_g0string2uint_size (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; } // /* ****** ****** */ ATSinline() atstype_int atspre_g0int_neg_int (atstype_int x) { return (-x) ; } // end of [atspre_g0int_neg_int] ATSinline() atstype_int atspre_g0int_abs_int (atstype_int x) { return (x >= 0 ? x : -x) ; } // end of [atspre_g0int_abs_int] ATSinline() atstype_int atspre_g0int_succ_int (atstype_int x) { return (x + 1) ; } // end of [atspre_g0int_succ_int] ATSinline() atstype_int atspre_g0int_pred_int (atstype_int x) { return (x - 1) ; } // end of [atspre_g0int_pred_int] ATSinline() atstype_int atspre_g0int_half_int (atstype_int x) { return (x / 2) ; } // end of [atspre_g0int_half_int] ATSinline() atstype_int atspre_g0int_add_int (atstype_int x1, atstype_int x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_int] ATSinline() atstype_int atspre_g0int_sub_int (atstype_int x1, atstype_int x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_int] ATSinline() atstype_int atspre_g0int_mul_int (atstype_int x1, atstype_int x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_int] ATSinline() atstype_int atspre_g0int_div_int (atstype_int x1, atstype_int x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_int] ATSinline() atstype_int atspre_g0int_mod_int (atstype_int x1, atstype_int x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_int] ATSinline() atstype_int atspre_g0int_nmod_int (atstype_int x1, atstype_int x2) { return (x1 % x2) ; } // end of [atspre_g0int_nmod_int] ATSinline() atstype_int atspre_g0int_asl_int (atstype_int x, atstype_int n) { return (x << n) ; } // end of [atspre_g0int_asl_int] ATSinline() atstype_int atspre_g0int_asr_int (atstype_int x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0int_asr_int] ATSinline() atstype_bool atspre_g0int_isltz_int (atstype_int x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_int] ATSinline() atstype_bool atspre_g0int_isltez_int (atstype_int x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_int] ATSinline() atstype_bool atspre_g0int_isgtz_int (atstype_int x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_int] ATSinline() atstype_bool atspre_g0int_isgtez_int (atstype_int x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_int] ATSinline() atstype_bool atspre_g0int_iseqz_int (atstype_int x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_int] ATSinline() atstype_bool atspre_g0int_isneqz_int (atstype_int x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_int] ATSinline() atstype_bool atspre_g0int_lt_int ( atstype_int x1, atstype_int x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_int] ATSinline() atstype_bool atspre_g0int_lte_int ( atstype_int x1, atstype_int x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_int] ATSinline() atstype_bool atspre_g0int_gt_int ( atstype_int x1, atstype_int x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_int] ATSinline() atstype_bool atspre_g0int_gte_int ( atstype_int x1, atstype_int x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_int] ATSinline() atstype_bool atspre_g0int_eq_int ( atstype_int x1, atstype_int x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_int] ATSinline() atstype_bool atspre_g0int_neq_int ( atstype_int x1, atstype_int x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_int] ATSinline() atstype_int atspre_g0int_compare_int ( atstype_int x1, atstype_int x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0int_compare_int] ATSinline() atstype_int atspre_g0int_max_int (atstype_int x1, atstype_int x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0int_max_int] ATSinline() atstype_int atspre_g0int_min_int (atstype_int x1, atstype_int x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0int_min_int] // ATSinline() atstype_lint atspre_g0int_neg_lint (atstype_lint x) { return (-x) ; } // end of [atspre_g0int_neg_lint] ATSinline() atstype_lint atspre_g0int_abs_lint (atstype_lint x) { return (x >= 0 ? x : -x) ; } // end of [atspre_g0int_abs_lint] ATSinline() atstype_lint atspre_g0int_succ_lint (atstype_lint x) { return (x + 1) ; } // end of [atspre_g0int_succ_lint] ATSinline() atstype_lint atspre_g0int_pred_lint (atstype_lint x) { return (x - 1) ; } // end of [atspre_g0int_pred_lint] ATSinline() atstype_lint atspre_g0int_half_lint (atstype_lint x) { return (x / 2) ; } // end of [atspre_g0int_half_lint] ATSinline() atstype_lint atspre_g0int_add_lint (atstype_lint x1, atstype_lint x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_lint] ATSinline() atstype_lint atspre_g0int_sub_lint (atstype_lint x1, atstype_lint x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_lint] ATSinline() atstype_lint atspre_g0int_mul_lint (atstype_lint x1, atstype_lint x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_lint] ATSinline() atstype_lint atspre_g0int_div_lint (atstype_lint x1, atstype_lint x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_lint] ATSinline() atstype_lint atspre_g0int_mod_lint (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_lint] ATSinline() atstype_lint atspre_g0int_nmod_lint (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; } // end of [atspre_g0int_nmod_lint] ATSinline() atstype_lint atspre_g0int_asl_lint (atstype_lint x, atstype_int n) { return (x << n) ; } // end of [atspre_g0int_asl_lint] ATSinline() atstype_lint atspre_g0int_asr_lint (atstype_lint x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0int_asr_lint] ATSinline() atstype_bool atspre_g0int_isltz_lint (atstype_lint x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_lint] ATSinline() atstype_bool atspre_g0int_isltez_lint (atstype_lint x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_lint] ATSinline() atstype_bool atspre_g0int_isgtz_lint (atstype_lint x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_lint] ATSinline() atstype_bool atspre_g0int_isgtez_lint (atstype_lint x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_lint] ATSinline() atstype_bool atspre_g0int_iseqz_lint (atstype_lint x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_lint] ATSinline() atstype_bool atspre_g0int_isneqz_lint (atstype_lint x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_lint] ATSinline() atstype_bool atspre_g0int_lt_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_lint] ATSinline() atstype_bool atspre_g0int_lte_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_lint] ATSinline() atstype_bool atspre_g0int_gt_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_lint] ATSinline() atstype_bool atspre_g0int_gte_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_lint] ATSinline() atstype_bool atspre_g0int_eq_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_lint] ATSinline() atstype_bool atspre_g0int_neq_lint ( atstype_lint x1, atstype_lint x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_lint] ATSinline() atstype_int atspre_g0int_compare_lint ( atstype_lint x1, atstype_lint x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0int_compare_lint] ATSinline() atstype_lint atspre_g0int_max_lint (atstype_lint x1, atstype_lint x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0int_max_lint] ATSinline() atstype_lint atspre_g0int_min_lint (atstype_lint x1, atstype_lint x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0int_min_lint] // ATSinline() atstype_llint atspre_g0int_neg_llint (atstype_llint x) { return (-x) ; } // end of [atspre_g0int_neg_llint] ATSinline() atstype_llint atspre_g0int_abs_llint (atstype_llint x) { return (x >= 0 ? x : -x) ; } // end of [atspre_g0int_abs_llint] ATSinline() atstype_llint atspre_g0int_succ_llint (atstype_llint x) { return (x + 1) ; } // end of [atspre_g0int_succ_llint] ATSinline() atstype_llint atspre_g0int_pred_llint (atstype_llint x) { return (x - 1) ; } // end of [atspre_g0int_pred_llint] ATSinline() atstype_llint atspre_g0int_half_llint (atstype_llint x) { return (x / 2) ; } // end of [atspre_g0int_half_llint] ATSinline() atstype_llint atspre_g0int_add_llint (atstype_llint x1, atstype_llint x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_llint] ATSinline() atstype_llint atspre_g0int_sub_llint (atstype_llint x1, atstype_llint x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_llint] ATSinline() atstype_llint atspre_g0int_mul_llint (atstype_llint x1, atstype_llint x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_llint] ATSinline() atstype_llint atspre_g0int_div_llint (atstype_llint x1, atstype_llint x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_llint] ATSinline() atstype_llint atspre_g0int_mod_llint (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_llint] ATSinline() atstype_llint atspre_g0int_nmod_llint (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; } // end of [atspre_g0int_nmod_llint] ATSinline() atstype_llint atspre_g0int_asl_llint (atstype_llint x, atstype_int n) { return (x << n) ; } // end of [atspre_g0int_asl_llint] ATSinline() atstype_llint atspre_g0int_asr_llint (atstype_llint x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0int_asr_llint] ATSinline() atstype_bool atspre_g0int_isltz_llint (atstype_llint x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_llint] ATSinline() atstype_bool atspre_g0int_isltez_llint (atstype_llint x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_llint] ATSinline() atstype_bool atspre_g0int_isgtz_llint (atstype_llint x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_llint] ATSinline() atstype_bool atspre_g0int_isgtez_llint (atstype_llint x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_llint] ATSinline() atstype_bool atspre_g0int_iseqz_llint (atstype_llint x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_llint] ATSinline() atstype_bool atspre_g0int_isneqz_llint (atstype_llint x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_llint] ATSinline() atstype_bool atspre_g0int_lt_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_llint] ATSinline() atstype_bool atspre_g0int_lte_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_llint] ATSinline() atstype_bool atspre_g0int_gt_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_llint] ATSinline() atstype_bool atspre_g0int_gte_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_llint] ATSinline() atstype_bool atspre_g0int_eq_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_llint] ATSinline() atstype_bool atspre_g0int_neq_llint ( atstype_llint x1, atstype_llint x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_llint] ATSinline() atstype_int atspre_g0int_compare_llint ( atstype_llint x1, atstype_llint x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0int_compare_llint] ATSinline() atstype_llint atspre_g0int_max_llint (atstype_llint x1, atstype_llint x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0int_max_llint] ATSinline() atstype_llint atspre_g0int_min_llint (atstype_llint x1, atstype_llint x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0int_min_llint] // ATSinline() atstype_ssize atspre_g0int_neg_ssize (atstype_ssize x) { return (-x) ; } // end of [atspre_g0int_neg_ssize] ATSinline() atstype_ssize atspre_g0int_abs_ssize (atstype_ssize x) { return (x >= 0 ? x : -x) ; } // end of [atspre_g0int_abs_ssize] ATSinline() atstype_ssize atspre_g0int_succ_ssize (atstype_ssize x) { return (x + 1) ; } // end of [atspre_g0int_succ_ssize] ATSinline() atstype_ssize atspre_g0int_pred_ssize (atstype_ssize x) { return (x - 1) ; } // end of [atspre_g0int_pred_ssize] ATSinline() atstype_ssize atspre_g0int_half_ssize (atstype_ssize x) { return (x / 2) ; } // end of [atspre_g0int_half_ssize] ATSinline() atstype_ssize atspre_g0int_add_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 + x2) ; } // end of [atspre_g0int_add_ssize] ATSinline() atstype_ssize atspre_g0int_sub_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 - x2) ; } // end of [atspre_g0int_sub_ssize] ATSinline() atstype_ssize atspre_g0int_mul_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 * x2) ; } // end of [atspre_g0int_mul_ssize] ATSinline() atstype_ssize atspre_g0int_div_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 / x2) ; } // end of [atspre_g0int_div_ssize] ATSinline() atstype_ssize atspre_g0int_mod_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; } // end of [atspre_g0int_mod_ssize] ATSinline() atstype_ssize atspre_g0int_nmod_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; } // end of [atspre_g0int_nmod_ssize] ATSinline() atstype_ssize atspre_g0int_asl_ssize (atstype_ssize x, atstype_int n) { return (x << n) ; } // end of [atspre_g0int_asl_ssize] ATSinline() atstype_ssize atspre_g0int_asr_ssize (atstype_ssize x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0int_asr_ssize] ATSinline() atstype_bool atspre_g0int_isltz_ssize (atstype_ssize x) { return (x < 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltz_ssize] ATSinline() atstype_bool atspre_g0int_isltez_ssize (atstype_ssize x) { return (x <= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isltez_ssize] ATSinline() atstype_bool atspre_g0int_isgtz_ssize (atstype_ssize x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtz_ssize] ATSinline() atstype_bool atspre_g0int_isgtez_ssize (atstype_ssize x) { return (x >= 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isgtez_ssize] ATSinline() atstype_bool atspre_g0int_iseqz_ssize (atstype_ssize x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_iseqz_ssize] ATSinline() atstype_bool atspre_g0int_isneqz_ssize (atstype_ssize x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_isneqz_ssize] ATSinline() atstype_bool atspre_g0int_lt_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lt_ssize] ATSinline() atstype_bool atspre_g0int_lte_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_lte_ssize] ATSinline() atstype_bool atspre_g0int_gt_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gt_ssize] ATSinline() atstype_bool atspre_g0int_gte_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_gte_ssize] ATSinline() atstype_bool atspre_g0int_eq_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_eq_ssize] ATSinline() atstype_bool atspre_g0int_neq_ssize ( atstype_ssize x1, atstype_ssize x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0int_neq_ssize] ATSinline() atstype_int atspre_g0int_compare_ssize ( atstype_ssize x1, atstype_ssize x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0int_compare_ssize] ATSinline() atstype_ssize atspre_g0int_max_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0int_max_ssize] ATSinline() atstype_ssize atspre_g0int_min_ssize (atstype_ssize x1, atstype_ssize x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0int_min_ssize] // /* ****** ****** */ #define atspre_g1int_neg_int atspre_g0int_neg_int #define atspre_g1int_abs_int atspre_g0int_abs_int #define atspre_g1int_succ_int atspre_g0int_succ_int #define atspre_g1int_pred_int atspre_g0int_pred_int #define atspre_g1int_half_int atspre_g0int_half_int #define atspre_g1int_add_int atspre_g0int_add_int #define atspre_g1int_sub_int atspre_g0int_sub_int #define atspre_g1int_mul_int atspre_g0int_mul_int #define atspre_g1int_div_int atspre_g0int_div_int #define atspre_g1int_nmod_int atspre_g0int_nmod_int #define atspre_g1int_isltz_int atspre_g0int_isltz_int #define atspre_g1int_isltez_int atspre_g0int_isltez_int #define atspre_g1int_isgtz_int atspre_g0int_isgtz_int #define atspre_g1int_isgtez_int atspre_g0int_isgtez_int #define atspre_g1int_iseqz_int atspre_g0int_iseqz_int #define atspre_g1int_isneqz_int atspre_g0int_isneqz_int #define atspre_g1int_lt_int atspre_g0int_lt_int #define atspre_g1int_lte_int atspre_g0int_lte_int #define atspre_g1int_gt_int atspre_g0int_gt_int #define atspre_g1int_gte_int atspre_g0int_gte_int #define atspre_g1int_eq_int atspre_g0int_eq_int #define atspre_g1int_neq_int atspre_g0int_neq_int #define atspre_g1int_compare_int atspre_g0int_compare_int #define atspre_g1int_max_int atspre_g0int_max_int #define atspre_g1int_min_int atspre_g0int_min_int /* ****** ****** */ #define atspre_g1int_neg_lint atspre_g0int_neg_lint #define atspre_g1int_succ_lint atspre_g0int_succ_lint #define atspre_g1int_pred_lint atspre_g0int_pred_lint #define atspre_g1int_half_lint atspre_g0int_half_lint #define atspre_g1int_add_lint atspre_g0int_add_lint #define atspre_g1int_sub_lint atspre_g0int_sub_lint #define atspre_g1int_mul_lint atspre_g0int_mul_lint #define atspre_g1int_div_lint atspre_g0int_div_lint #define atspre_g1int_nmod_lint atspre_g0int_nmod_lint #define atspre_g1int_isltz_lint atspre_g0int_isltz_lint #define atspre_g1int_isltez_lint atspre_g0int_isltez_lint #define atspre_g1int_isgtz_lint atspre_g0int_isgtz_lint #define atspre_g1int_isgtez_lint atspre_g0int_isgtez_lint #define atspre_g1int_iseqz_lint atspre_g0int_iseqz_lint #define atspre_g1int_isneqz_lint atspre_g0int_isneqz_lint #define atspre_g1int_lt_lint atspre_g0int_lt_lint #define atspre_g1int_lte_lint atspre_g0int_lte_lint #define atspre_g1int_gt_lint atspre_g0int_gt_lint #define atspre_g1int_gte_lint atspre_g0int_gte_lint #define atspre_g1int_eq_lint atspre_g0int_eq_lint #define atspre_g1int_neq_lint atspre_g0int_neq_lint #define atspre_g1int_compare_lint atspre_g0int_compare_lint #define atspre_g1int_max_lint atspre_g0int_max_lint #define atspre_g1int_min_lint atspre_g0int_min_lint /* ****** ****** */ #define atspre_g1int_neg_llint atspre_g0int_neg_llint #define atspre_g1int_succ_llint atspre_g0int_succ_llint #define atspre_g1int_pred_llint atspre_g0int_pred_llint #define atspre_g1int_half_llint atspre_g0int_half_llint #define atspre_g1int_add_llint atspre_g0int_add_llint #define atspre_g1int_sub_llint atspre_g0int_sub_llint #define atspre_g1int_mul_llint atspre_g0int_mul_llint #define atspre_g1int_div_llint atspre_g0int_div_llint #define atspre_g1int_nmod_llint atspre_g0int_nmod_llint #define atspre_g1int_isltz_llint atspre_g0int_isltz_llint #define atspre_g1int_isltez_llint atspre_g0int_isltez_llint #define atspre_g1int_isgtz_llint atspre_g0int_isgtz_llint #define atspre_g1int_isgtez_llint atspre_g0int_isgtez_llint #define atspre_g1int_iseqz_llint atspre_g0int_iseqz_llint #define atspre_g1int_isneqz_llint atspre_g0int_isneqz_llint #define atspre_g1int_lt_llint atspre_g0int_lt_llint #define atspre_g1int_lte_llint atspre_g0int_lte_llint #define atspre_g1int_gt_llint atspre_g0int_gt_llint #define atspre_g1int_gte_llint atspre_g0int_gte_llint #define atspre_g1int_eq_llint atspre_g0int_eq_llint #define atspre_g1int_neq_llint atspre_g0int_neq_llint #define atspre_g1int_compare_llint atspre_g0int_compare_llint #define atspre_g1int_max_llint atspre_g0int_max_llint #define atspre_g1int_min_llint atspre_g0int_min_llint /* ****** ****** */ #define atspre_g1int_neg_ssize atspre_g0int_neg_ssize #define atspre_g1int_succ_ssize atspre_g0int_succ_ssize #define atspre_g1int_pred_ssize atspre_g0int_pred_ssize #define atspre_g1int_half_ssize atspre_g0int_half_ssize #define atspre_g1int_add_ssize atspre_g0int_add_ssize #define atspre_g1int_sub_ssize atspre_g0int_sub_ssize #define atspre_g1int_mul_ssize atspre_g0int_mul_ssize #define atspre_g1int_div_ssize atspre_g0int_div_ssize #define atspre_g1int_nmod_ssize atspre_g0int_nmod_ssize #define atspre_g1int_isltz_ssize atspre_g0int_isltz_ssize #define atspre_g1int_isltez_ssize atspre_g0int_isltez_ssize #define atspre_g1int_isgtz_ssize atspre_g0int_isgtz_ssize #define atspre_g1int_isgtez_ssize atspre_g0int_isgtez_ssize #define atspre_g1int_iseqz_ssize atspre_g0int_iseqz_ssize #define atspre_g1int_isneqz_ssize atspre_g0int_isneqz_ssize #define atspre_g1int_lt_ssize atspre_g0int_lt_ssize #define atspre_g1int_lte_ssize atspre_g0int_lte_ssize #define atspre_g1int_gt_ssize atspre_g0int_gt_ssize #define atspre_g1int_gte_ssize atspre_g0int_gte_ssize #define atspre_g1int_eq_ssize atspre_g0int_eq_ssize #define atspre_g1int_neq_ssize atspre_g0int_neq_ssize #define atspre_g1int_compare_ssize atspre_g0int_compare_ssize #define atspre_g1int_max_ssize atspre_g0int_max_ssize #define atspre_g1int_min_ssize atspre_g0int_min_ssize /* ****** ****** */ ATSinline() atstype_uint atspre_g0uint_succ_uint (atstype_uint x) { return (x + 1) ; } // end of [atspre_g0uint_succ_uint] ATSinline() atstype_uint atspre_g0uint_pred_uint (atstype_uint x) { return (x - 1) ; } // end of [atspre_g0uint_pred_uint] ATSinline() atstype_uint atspre_g0uint_half_uint (atstype_uint x) { return (x >> 1) ; } // end of [atspre_g0uint_half_uint] ATSinline() atstype_uint atspre_g0uint_add_uint (atstype_uint x1, atstype_uint x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_uint] ATSinline() atstype_uint atspre_g0uint_sub_uint (atstype_uint x1, atstype_uint x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_uint] ATSinline() atstype_uint atspre_g0uint_mul_uint (atstype_uint x1, atstype_uint x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_uint] ATSinline() atstype_uint atspre_g0uint_div_uint (atstype_uint x1, atstype_uint x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_uint] ATSinline() atstype_uint atspre_g0uint_mod_uint (atstype_uint x1, atstype_uint x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_uint] ATSinline() atstype_uint atspre_g0uint_lsl_uint (atstype_uint x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_uint] ATSinline() atstype_uint atspre_g0uint_lsr_uint (atstype_uint x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_uint] ATSinline() atstype_uint atspre_g0uint_lnot_uint (atstype_uint x) { return ~(x) ; } // end of [atspre_g0uint_lnot_uint] ATSinline() atstype_uint atspre_g0uint_lor_uint (atstype_uint x, atstype_uint y) { return (x | y) ; } // end of [atspre_g0uint_uint_uint] ATSinline() atstype_uint atspre_g0uint_land_uint (atstype_uint x, atstype_uint y) { return (x & y) ; } // end of [atspre_g0uint_uint_uint] ATSinline() atstype_uint atspre_g0uint_lxor_uint (atstype_uint x, atstype_uint y) { return (x ^ y) ; } // end of [atspre_g0uint_uint_uint] ATSinline() atstype_bool atspre_g0uint_isgtz_uint (atstype_uint x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_uint] ATSinline() atstype_bool atspre_g0uint_iseqz_uint (atstype_uint x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_uint] ATSinline() atstype_bool atspre_g0uint_isneqz_uint (atstype_uint x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_uint] ATSinline() atstype_bool atspre_g0uint_lt_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_uint] ATSinline() atstype_bool atspre_g0uint_lte_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_uint] ATSinline() atstype_bool atspre_g0uint_gt_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_uint] ATSinline() atstype_bool atspre_g0uint_gte_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_uint] ATSinline() atstype_bool atspre_g0uint_eq_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_uint] ATSinline() atstype_bool atspre_g0uint_neq_uint ( atstype_uint x1, atstype_uint x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_uint] ATSinline() atstype_int atspre_g0uint_compare_uint ( atstype_uint x1, atstype_uint x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0uint_compare_uint] ATSinline() atstype_uint atspre_g0uint_max_uint (atstype_uint x1, atstype_uint x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0uint_max_uint] ATSinline() atstype_uint atspre_g0uint_min_uint (atstype_uint x1, atstype_uint x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0uint_min_uint] // ATSinline() atstype_ulint atspre_g0uint_succ_ulint (atstype_ulint x) { return (x + 1) ; } // end of [atspre_g0uint_succ_ulint] ATSinline() atstype_ulint atspre_g0uint_pred_ulint (atstype_ulint x) { return (x - 1) ; } // end of [atspre_g0uint_pred_ulint] ATSinline() atstype_ulint atspre_g0uint_half_ulint (atstype_ulint x) { return (x >> 1) ; } // end of [atspre_g0uint_half_ulint] ATSinline() atstype_ulint atspre_g0uint_add_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_ulint] ATSinline() atstype_ulint atspre_g0uint_sub_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_ulint] ATSinline() atstype_ulint atspre_g0uint_mul_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_ulint] ATSinline() atstype_ulint atspre_g0uint_div_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_ulint] ATSinline() atstype_ulint atspre_g0uint_mod_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_ulint] ATSinline() atstype_ulint atspre_g0uint_lsl_ulint (atstype_ulint x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_ulint] ATSinline() atstype_ulint atspre_g0uint_lsr_ulint (atstype_ulint x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_ulint] ATSinline() atstype_ulint atspre_g0uint_lnot_ulint (atstype_ulint x) { return ~(x) ; } // end of [atspre_g0uint_lnot_ulint] ATSinline() atstype_ulint atspre_g0uint_lor_ulint (atstype_ulint x, atstype_ulint y) { return (x | y) ; } // end of [atspre_g0uint_ulint_ulint] ATSinline() atstype_ulint atspre_g0uint_land_ulint (atstype_ulint x, atstype_ulint y) { return (x & y) ; } // end of [atspre_g0uint_ulint_ulint] ATSinline() atstype_ulint atspre_g0uint_lxor_ulint (atstype_ulint x, atstype_ulint y) { return (x ^ y) ; } // end of [atspre_g0uint_ulint_ulint] ATSinline() atstype_bool atspre_g0uint_isgtz_ulint (atstype_ulint x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_ulint] ATSinline() atstype_bool atspre_g0uint_iseqz_ulint (atstype_ulint x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_ulint] ATSinline() atstype_bool atspre_g0uint_isneqz_ulint (atstype_ulint x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_ulint] ATSinline() atstype_bool atspre_g0uint_lt_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_ulint] ATSinline() atstype_bool atspre_g0uint_lte_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_ulint] ATSinline() atstype_bool atspre_g0uint_gt_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_ulint] ATSinline() atstype_bool atspre_g0uint_gte_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_ulint] ATSinline() atstype_bool atspre_g0uint_eq_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_ulint] ATSinline() atstype_bool atspre_g0uint_neq_ulint ( atstype_ulint x1, atstype_ulint x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_ulint] ATSinline() atstype_int atspre_g0uint_compare_ulint ( atstype_ulint x1, atstype_ulint x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0uint_compare_ulint] ATSinline() atstype_ulint atspre_g0uint_max_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0uint_max_ulint] ATSinline() atstype_ulint atspre_g0uint_min_ulint (atstype_ulint x1, atstype_ulint x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0uint_min_ulint] // ATSinline() atstype_ullint atspre_g0uint_succ_ullint (atstype_ullint x) { return (x + 1) ; } // end of [atspre_g0uint_succ_ullint] ATSinline() atstype_ullint atspre_g0uint_pred_ullint (atstype_ullint x) { return (x - 1) ; } // end of [atspre_g0uint_pred_ullint] ATSinline() atstype_ullint atspre_g0uint_half_ullint (atstype_ullint x) { return (x >> 1) ; } // end of [atspre_g0uint_half_ullint] ATSinline() atstype_ullint atspre_g0uint_add_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_ullint] ATSinline() atstype_ullint atspre_g0uint_sub_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_ullint] ATSinline() atstype_ullint atspre_g0uint_mul_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_ullint] ATSinline() atstype_ullint atspre_g0uint_div_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_ullint] ATSinline() atstype_ullint atspre_g0uint_mod_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_ullint] ATSinline() atstype_ullint atspre_g0uint_lsl_ullint (atstype_ullint x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_ullint] ATSinline() atstype_ullint atspre_g0uint_lsr_ullint (atstype_ullint x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_ullint] ATSinline() atstype_ullint atspre_g0uint_lnot_ullint (atstype_ullint x) { return ~(x) ; } // end of [atspre_g0uint_lnot_ullint] ATSinline() atstype_ullint atspre_g0uint_lor_ullint (atstype_ullint x, atstype_ullint y) { return (x | y) ; } // end of [atspre_g0uint_ullint_ullint] ATSinline() atstype_ullint atspre_g0uint_land_ullint (atstype_ullint x, atstype_ullint y) { return (x & y) ; } // end of [atspre_g0uint_ullint_ullint] ATSinline() atstype_ullint atspre_g0uint_lxor_ullint (atstype_ullint x, atstype_ullint y) { return (x ^ y) ; } // end of [atspre_g0uint_ullint_ullint] ATSinline() atstype_bool atspre_g0uint_isgtz_ullint (atstype_ullint x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_ullint] ATSinline() atstype_bool atspre_g0uint_iseqz_ullint (atstype_ullint x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_ullint] ATSinline() atstype_bool atspre_g0uint_isneqz_ullint (atstype_ullint x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_ullint] ATSinline() atstype_bool atspre_g0uint_lt_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_ullint] ATSinline() atstype_bool atspre_g0uint_lte_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_ullint] ATSinline() atstype_bool atspre_g0uint_gt_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_ullint] ATSinline() atstype_bool atspre_g0uint_gte_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_ullint] ATSinline() atstype_bool atspre_g0uint_eq_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_ullint] ATSinline() atstype_bool atspre_g0uint_neq_ullint ( atstype_ullint x1, atstype_ullint x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_ullint] ATSinline() atstype_int atspre_g0uint_compare_ullint ( atstype_ullint x1, atstype_ullint x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0uint_compare_ullint] ATSinline() atstype_ullint atspre_g0uint_max_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0uint_max_ullint] ATSinline() atstype_ullint atspre_g0uint_min_ullint (atstype_ullint x1, atstype_ullint x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0uint_min_ullint] // ATSinline() atstype_size atspre_g0uint_succ_size (atstype_size x) { return (x + 1) ; } // end of [atspre_g0uint_succ_size] ATSinline() atstype_size atspre_g0uint_pred_size (atstype_size x) { return (x - 1) ; } // end of [atspre_g0uint_pred_size] ATSinline() atstype_size atspre_g0uint_half_size (atstype_size x) { return (x >> 1) ; } // end of [atspre_g0uint_half_size] ATSinline() atstype_size atspre_g0uint_add_size (atstype_size x1, atstype_size x2) { return (x1 + x2) ; } // end of [atspre_g0uint_add_size] ATSinline() atstype_size atspre_g0uint_sub_size (atstype_size x1, atstype_size x2) { return (x1 - x2) ; } // end of [atspre_g0uint_sub_size] ATSinline() atstype_size atspre_g0uint_mul_size (atstype_size x1, atstype_size x2) { return (x1 * x2) ; } // end of [atspre_g0uint_mul_size] ATSinline() atstype_size atspre_g0uint_div_size (atstype_size x1, atstype_size x2) { return (x1 / x2) ; } // end of [atspre_g0uint_div_size] ATSinline() atstype_size atspre_g0uint_mod_size (atstype_size x1, atstype_size x2) { return (x1 % x2) ; } // end of [atspre_g0uint_mod_size] ATSinline() atstype_size atspre_g0uint_lsl_size (atstype_size x, atstype_int n) { return (x << n) ; } // end of [atspre_g0uint_lsl_size] ATSinline() atstype_size atspre_g0uint_lsr_size (atstype_size x, atstype_int n) { return (x >> n) ; } // end of [atspre_g0uint_lsr_size] ATSinline() atstype_size atspre_g0uint_lnot_size (atstype_size x) { return ~(x) ; } // end of [atspre_g0uint_lnot_size] ATSinline() atstype_size atspre_g0uint_lor_size (atstype_size x, atstype_size y) { return (x | y) ; } // end of [atspre_g0uint_size_size] ATSinline() atstype_size atspre_g0uint_land_size (atstype_size x, atstype_size y) { return (x & y) ; } // end of [atspre_g0uint_size_size] ATSinline() atstype_size atspre_g0uint_lxor_size (atstype_size x, atstype_size y) { return (x ^ y) ; } // end of [atspre_g0uint_size_size] ATSinline() atstype_bool atspre_g0uint_isgtz_size (atstype_size x) { return (x > 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isgtz_size] ATSinline() atstype_bool atspre_g0uint_iseqz_size (atstype_size x) { return (x == 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_iseqz_size] ATSinline() atstype_bool atspre_g0uint_isneqz_size (atstype_size x) { return (x != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_isneqz_size] ATSinline() atstype_bool atspre_g0uint_lt_size ( atstype_size x1, atstype_size x2 ) { return (x1 < x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lt_size] ATSinline() atstype_bool atspre_g0uint_lte_size ( atstype_size x1, atstype_size x2 ) { return (x1 <= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_lte_size] ATSinline() atstype_bool atspre_g0uint_gt_size ( atstype_size x1, atstype_size x2 ) { return (x1 > x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gt_size] ATSinline() atstype_bool atspre_g0uint_gte_size ( atstype_size x1, atstype_size x2 ) { return (x1 >= x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_gte_size] ATSinline() atstype_bool atspre_g0uint_eq_size ( atstype_size x1, atstype_size x2 ) { return (x1 == x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_eq_size] ATSinline() atstype_bool atspre_g0uint_neq_size ( atstype_size x1, atstype_size x2 ) { return (x1 != x2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0uint_neq_size] ATSinline() atstype_int atspre_g0uint_compare_size ( atstype_size x1, atstype_size x2 ) { if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ; } // end of [atspre_g0uint_compare_size] ATSinline() atstype_size atspre_g0uint_max_size (atstype_size x1, atstype_size x2) { return (x1 >= x2 ? x1 : x2) ; } // end of [atspre_g0uint_max_size] ATSinline() atstype_size atspre_g0uint_min_size (atstype_size x1, atstype_size x2) { return (x1 <= x2 ? x1 : x2) ; } // end of [atspre_g0uint_min_size] // /* ****** ****** */ #define atspre_g1uint_succ_uint atspre_g0uint_succ_uint #define atspre_g1uint_pred_uint atspre_g0uint_pred_uint #define atspre_g1uint_half_uint atspre_g0uint_half_uint #define atspre_g1uint_add_uint atspre_g0uint_add_uint #define atspre_g1uint_sub_uint atspre_g0uint_sub_uint #define atspre_g1uint_mul_uint atspre_g0uint_mul_uint #define atspre_g1uint_div_uint atspre_g0uint_div_uint #define atspre_g1uint_mod_uint atspre_g0uint_mod_uint #define atspre_g1uint_isgtz_uint atspre_g0uint_isgtz_uint #define atspre_g1uint_iseqz_uint atspre_g0uint_iseqz_uint #define atspre_g1uint_isneqz_uint atspre_g0uint_isneqz_uint #define atspre_g1uint_lt_uint atspre_g0uint_lt_uint #define atspre_g1uint_lte_uint atspre_g0uint_lte_uint #define atspre_g1uint_gt_uint atspre_g0uint_gt_uint #define atspre_g1uint_gte_uint atspre_g0uint_gte_uint #define atspre_g1uint_eq_uint atspre_g0uint_eq_uint #define atspre_g1uint_neq_uint atspre_g0uint_neq_uint #define atspre_g1uint_compare_uint atspre_g0uint_compare_uint #define atspre_g1uint_max_uint atspre_g0uint_max_uint #define atspre_g1uint_min_uint atspre_g0uint_min_uint /* ****** ****** */ #define atspre_g1uint_succ_ulint atspre_g0uint_succ_ulint #define atspre_g1uint_pred_ulint atspre_g0uint_pred_ulint #define atspre_g1uint_half_ulint atspre_g0uint_half_ulint #define atspre_g1uint_add_ulint atspre_g0uint_add_ulint #define atspre_g1uint_sub_ulint atspre_g0uint_sub_ulint #define atspre_g1uint_mul_ulint atspre_g0uint_mul_ulint #define atspre_g1uint_div_ulint atspre_g0uint_div_ulint #define atspre_g1uint_mod_ulint atspre_g0uint_mod_ulint #define atspre_g1uint_isgtz_ulint atspre_g0uint_isgtz_ulint #define atspre_g1uint_iseqz_ulint atspre_g0uint_iseqz_ulint #define atspre_g1uint_isneqz_ulint atspre_g0uint_isneqz_ulint #define atspre_g1uint_lt_ulint atspre_g0uint_lt_ulint #define atspre_g1uint_lte_ulint atspre_g0uint_lte_ulint #define atspre_g1uint_gt_ulint atspre_g0uint_gt_ulint #define atspre_g1uint_gte_ulint atspre_g0uint_gte_ulint #define atspre_g1uint_eq_ulint atspre_g0uint_eq_ulint #define atspre_g1uint_neq_ulint atspre_g0uint_neq_ulint #define atspre_g1uint_compare_ulint atspre_g0uint_compare_ulint #define atspre_g1uint_max_ulint atspre_g0uint_max_ulint #define atspre_g1uint_min_ulint atspre_g0uint_min_ulint /* ****** ****** */ #define atspre_g1uint_succ_ullint atspre_g0uint_succ_ullint #define atspre_g1uint_pred_ullint atspre_g0uint_pred_ullint #define atspre_g1uint_half_ullint atspre_g0uint_half_ullint #define atspre_g1uint_add_ullint atspre_g0uint_add_ullint #define atspre_g1uint_sub_ullint atspre_g0uint_sub_ullint #define atspre_g1uint_mul_ullint atspre_g0uint_mul_ullint #define atspre_g1uint_div_ullint atspre_g0uint_div_ullint #define atspre_g1uint_mod_ullint atspre_g0uint_mod_ullint #define atspre_g1uint_isgtz_ullint atspre_g0uint_isgtz_ullint #define atspre_g1uint_iseqz_ullint atspre_g0uint_iseqz_ullint #define atspre_g1uint_isneqz_ullint atspre_g0uint_isneqz_ullint #define atspre_g1uint_lt_ullint atspre_g0uint_lt_ullint #define atspre_g1uint_lte_ullint atspre_g0uint_lte_ullint #define atspre_g1uint_gt_ullint atspre_g0uint_gt_ullint #define atspre_g1uint_gte_ullint atspre_g0uint_gte_ullint #define atspre_g1uint_eq_ullint atspre_g0uint_eq_ullint #define atspre_g1uint_neq_ullint atspre_g0uint_neq_ullint #define atspre_g1uint_compare_ullint atspre_g0uint_compare_ullint #define atspre_g1uint_max_ullint atspre_g0uint_max_ullint #define atspre_g1uint_min_ullint atspre_g0uint_min_ullint /* ****** ****** */ #define atspre_g1uint_succ_size atspre_g0uint_succ_size #define atspre_g1uint_pred_size atspre_g0uint_pred_size #define atspre_g1uint_half_size atspre_g0uint_half_size #define atspre_g1uint_add_size atspre_g0uint_add_size #define atspre_g1uint_sub_size atspre_g0uint_sub_size #define atspre_g1uint_mul_size atspre_g0uint_mul_size #define atspre_g1uint_div_size atspre_g0uint_div_size #define atspre_g1uint_mod_size atspre_g0uint_mod_size #define atspre_g1uint_isgtz_size atspre_g0uint_isgtz_size #define atspre_g1uint_iseqz_size atspre_g0uint_iseqz_size #define atspre_g1uint_isneqz_size atspre_g0uint_isneqz_size #define atspre_g1uint_lt_size atspre_g0uint_lt_size #define atspre_g1uint_lte_size atspre_g0uint_lte_size #define atspre_g1uint_gt_size atspre_g0uint_gt_size #define atspre_g1uint_gte_size atspre_g0uint_gte_size #define atspre_g1uint_eq_size atspre_g0uint_eq_size #define atspre_g1uint_neq_size atspre_g0uint_neq_size #define atspre_g1uint_compare_size atspre_g0uint_compare_size #define atspre_g1uint_max_size atspre_g0uint_max_size #define atspre_g1uint_min_size atspre_g0uint_min_size /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER /* ****** ****** */ /* end of [integer.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/matrixptr.cats0000664000175000017500000000356012655455557020042 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/matrixptr.atxt ** Time of generation: Sat Jun 27 21:39:53 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR #define ATSLIB_PRELUDE_CATS_MATRIXPTR /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_matrixptr_free (atstype_arrptr ptr) { ATS_MFREE (ptr) ; return ; } // end of [atspre_matrixptr_free] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR /* ****** ****** */ /* end of [matrixptr.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/float.cats0000664000175000017500000003735012655455557017121 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/float.atxt ** Time of generation: Fri Sep 25 23:06:24 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: April, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_FLOAT #define ATSLIB_PRELUDE_CATS_FLOAT /* ****** ****** */ ATSinline() atstype_float atspre_g0int2float_int_float (atstype_int x) { return ((atstype_float)x) ; } // end of [atspre_g0int2float_int_float] ATSinline() atstype_double atspre_g0int2float_int_double (atstype_int x) { return ((atstype_double)x) ; } // end of [atspre_g0int2float_int_double] ATSinline() atstype_double atspre_g0int2float_lint_double (atstype_lint x) { return ((atstype_double)x) ; } // end of [atspre_g0int2float_lint_double] /* ****** ****** */ ATSinline() atstype_int atspre_g0float2int_float_int (atstype_float x) { return ((atstype_int)x) ; } ATSinline() atstype_lint atspre_g0float2int_float_lint (atstype_float x) { return ((atstype_lint)x) ; } ATSinline() atstype_llint atspre_g0float2int_float_llint (atstype_float x) { return ((atstype_llint)x) ; } ATSinline() atstype_int atspre_g0float2int_double_int (atstype_double x) { return ((atstype_int)x) ; } ATSinline() atstype_lint atspre_g0float2int_double_lint (atstype_double x) { return ((atstype_lint)x) ; } ATSinline() atstype_llint atspre_g0float2int_double_llint (atstype_double x) { return ((atstype_llint)x) ; } /* ****** ****** */ ATSinline() atstype_float atspre_g0float2float_float_float (atstype_float x) { return (x) ; } ATSinline() atstype_double atspre_g0float2float_double_double (atstype_double x) { return (x) ; } ATSinline() atstype_double atspre_g0float2float_float_double ( atstype_float x ) { return ((atstype_double)x) ; } ATSinline() atstype_float atspre_g0float2float_double_float ( atstype_double x ) { return ((atstype_float)x) ; } /* ****** ****** */ // extern double atof (const char *inp) ; // ATSinline() atstype_int atspre_g0string2float_double (atstype_string inp) { return atof((char*)inp) ; } // /* ****** ****** */ ATSinline() atstype_float atspre_g0float_neg_float (atstype_float f) { return (-f) ; } ATSinline() atstype_double atspre_g0float_neg_double (atstype_double f) { return (-f) ; } ATSinline() atstype_ldouble atspre_g0float_neg_ldouble (atstype_ldouble f) { return (-f) ; } ATSinline() atstype_float atspre_g0float_abs_float (atstype_float f) { return (f >= 0 ? f : -f) ; } ATSinline() atstype_double atspre_g0float_abs_double (atstype_double f) { return (f >= 0 ? f : -f) ; } ATSinline() atstype_ldouble atspre_g0float_abs_ldouble (atstype_ldouble f) { return (f >= 0 ? f : -f) ; } ATSinline() atstype_float atspre_g0float_succ_float (atstype_float f) { return (f+1) ; } ATSinline() atstype_double atspre_g0float_succ_double (atstype_double f) { return (f+1) ; } ATSinline() atstype_ldouble atspre_g0float_succ_ldouble (atstype_ldouble f) { return (f+1) ; } ATSinline() atstype_float atspre_g0float_pred_float (atstype_float f) { return (f-1) ; } ATSinline() atstype_double atspre_g0float_pred_double (atstype_double f) { return (f-1) ; } ATSinline() atstype_ldouble atspre_g0float_pred_ldouble (atstype_ldouble f) { return (f-1) ; } /* ****** ****** */ // ATSinline() atstype_float atspre_g0float_add_float (atstype_float f1, atstype_float f2) { return (f1 + f2) ; } // end of [atspre_g0float_add_float] ATSinline() atstype_float atspre_g0float_sub_float (atstype_float f1, atstype_float f2) { return (f1 - f2) ; } // end of [atspre_g0float_sub_float] ATSinline() atstype_float atspre_g0float_mul_float (atstype_float f1, atstype_float f2) { return (f1 * f2) ; } // end of [atspre_g0float_mul_float] ATSinline() atstype_float atspre_g0float_div_float (atstype_float f1, atstype_float f2) { return (f1 / f2) ; } // end of [atspre_g0float_div_float] // ATSinline() atstype_double atspre_g0float_add_double (atstype_double f1, atstype_double f2) { return (f1 + f2) ; } // end of [atspre_g0float_add_double] ATSinline() atstype_double atspre_g0float_sub_double (atstype_double f1, atstype_double f2) { return (f1 - f2) ; } // end of [atspre_g0float_sub_double] ATSinline() atstype_double atspre_g0float_mul_double (atstype_double f1, atstype_double f2) { return (f1 * f2) ; } // end of [atspre_g0float_mul_double] ATSinline() atstype_double atspre_g0float_div_double (atstype_double f1, atstype_double f2) { return (f1 / f2) ; } // end of [atspre_g0float_div_double] // ATSinline() atstype_ldouble atspre_g0float_add_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 + f2) ; } // end of [atspre_g0float_add_ldouble] ATSinline() atstype_ldouble atspre_g0float_sub_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 - f2) ; } // end of [atspre_g0float_sub_ldouble] ATSinline() atstype_ldouble atspre_g0float_mul_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 * f2) ; } // end of [atspre_g0float_mul_ldouble] ATSinline() atstype_ldouble atspre_g0float_div_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 / f2) ; } // end of [atspre_g0float_div_ldouble] // extern atstype_float fmodf (atstype_float, atstype_float) ; extern atstype_double fmod (atstype_double, atstype_double) ; extern atstype_ldouble fmodl (atstype_ldouble, atstype_ldouble) ; // ATSinline() atstype_float atspre_g0float_mod_float (atstype_float f1, atstype_float f2) { return fmodf(f1, f2) ; } ATSinline() atstype_double atspre_g0float_mod_double (atstype_double f1, atstype_double f2) { return fmod(f1, f2) ; } ATSinline() atstype_ldouble atspre_g0float_mod_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return fmodl(f1, f2) ; } // /* ****** ****** */ // ATSinline() atstype_bool atspre_g0float_lt_float (atstype_float f1, atstype_float f2) { return (f1 < f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lt_float] ATSinline() atstype_bool atspre_g0float_lte_float (atstype_float f1, atstype_float f2) { return (f1 <= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lte_float] ATSinline() atstype_bool atspre_g0float_gt_float (atstype_float f1, atstype_float f2) { return (f1 > f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gt_float] ATSinline() atstype_bool atspre_g0float_gte_float (atstype_float f1, atstype_float f2) { return (f1 >= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gte_float] ATSinline() atstype_bool atspre_g0float_eq_float (atstype_float f1, atstype_float f2) { return (f1 == f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_eq_float] ATSinline() atstype_bool atspre_g0float_neq_float (atstype_float f1, atstype_float f2) { return (f1 != f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_neq_float] // ATSinline() atstype_bool atspre_g0float_lt_double (atstype_double f1, atstype_double f2) { return (f1 < f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lt_double] ATSinline() atstype_bool atspre_g0float_lte_double (atstype_double f1, atstype_double f2) { return (f1 <= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lte_double] ATSinline() atstype_bool atspre_g0float_gt_double (atstype_double f1, atstype_double f2) { return (f1 > f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gt_double] ATSinline() atstype_bool atspre_g0float_gte_double (atstype_double f1, atstype_double f2) { return (f1 >= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gte_double] ATSinline() atstype_bool atspre_g0float_eq_double (atstype_double f1, atstype_double f2) { return (f1 == f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_eq_double] ATSinline() atstype_bool atspre_g0float_neq_double (atstype_double f1, atstype_double f2) { return (f1 != f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_neq_double] // ATSinline() atstype_bool atspre_g0float_lt_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 < f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lt_ldouble] ATSinline() atstype_bool atspre_g0float_lte_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 <= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_lte_ldouble] ATSinline() atstype_bool atspre_g0float_gt_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 > f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gt_ldouble] ATSinline() atstype_bool atspre_g0float_gte_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 >= f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_gte_ldouble] ATSinline() atstype_bool atspre_g0float_eq_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 == f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_eq_ldouble] ATSinline() atstype_bool atspre_g0float_neq_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 != f2 ? atsbool_true : atsbool_false) ; } // end of [atspre_g0float_neq_ldouble] // /* ****** ****** */ ATSinline() atstype_int atspre_g0float_compare_float ( atstype_float f1, atstype_float f2 ) { if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ; } // end of [atspre_g0float_compare_float] ATSinline() atstype_int atspre_g0float_compare_double ( atstype_double f1, atstype_double f2 ) { if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ; } // end of [atspre_g0float_compare_double] ATSinline() atstype_int atspre_g0float_compare_ldouble ( atstype_ldouble f1, atstype_ldouble f2 ) { if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ; } // end of [atspre_g0float_compare_ldouble] /* ****** ****** */ ATSinline() atstype_float atspre_g0float_min_float (atstype_float f1, atstype_float f2) { return (f1 <= f2 ? f1 : f2) ; } // end of [atspre_g0float_min_float] ATSinline() atstype_double atspre_g0float_min_double (atstype_double f1, atstype_double f2) { return (f1 <= f2 ? f1 : f2) ; } // end of [atspre_g0float_min_double] ATSinline() atstype_ldouble atspre_g0float_min_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 <= f2 ? f1 : f2) ; } // end of [atspre_g0float_min_ldouble] ATSinline() atstype_float atspre_g0float_max_float (atstype_float f1, atstype_float f2) { return (f1 >= f2 ? f1 : f2) ; } // end of [atspre_g0float_max_float] ATSinline() atstype_double atspre_g0float_max_double (atstype_double f1, atstype_double f2) { return (f1 >= f2 ? f1 : f2) ; } // end of [atspre_g0float_max_double] ATSinline() atstype_ldouble atspre_g0float_max_ldouble (atstype_ldouble f1, atstype_ldouble f2) { return (f1 >= f2 ? f1 : f2) ; } // end of [atspre_g0float_max_ldouble] /* ****** ****** */ // ATSinline() atstype_float atspre_add_int_float (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) + f2) ; } // end of [atspre_add_int_float] ATSinline() atstype_float atspre_sub_int_float (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) - f2) ; } // end of [atspre_sub_int_float] ATSinline() atstype_float atspre_mul_int_float (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) * f2) ; } // end of [atspre_mul_int_float] ATSinline() atstype_float atspre_div_int_float (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) / f2) ; } // end of [atspre_div_int_float] // ATSinline() atstype_double atspre_add_int_double (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) + f2) ; } // end of [atspre_add_int_double] ATSinline() atstype_double atspre_sub_int_double (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) - f2) ; } // end of [atspre_sub_int_double] ATSinline() atstype_double atspre_mul_int_double (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) * f2) ; } // end of [atspre_mul_int_double] ATSinline() atstype_double atspre_div_int_double (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) / f2) ; } // end of [atspre_div_int_double] // ATSinline() atstype_ldouble atspre_add_int_ldouble (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) + f2) ; } // end of [atspre_add_int_ldouble] ATSinline() atstype_ldouble atspre_sub_int_ldouble (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) - f2) ; } // end of [atspre_sub_int_ldouble] ATSinline() atstype_ldouble atspre_mul_int_ldouble (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) * f2) ; } // end of [atspre_mul_int_ldouble] ATSinline() atstype_ldouble atspre_div_int_ldouble (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) / f2) ; } // end of [atspre_div_int_ldouble] // /* ****** ****** */ // ATSinline() atstype_float atspre_add_float_int (atstype_float f1, atstype_int i2) { return (f1 + ((atstype_float)i2)) ; } // end of [atspre_add_float_int] ATSinline() atstype_float atspre_sub_float_int (atstype_float f1, atstype_int i2) { return (f1 - ((atstype_float)i2)) ; } // end of [atspre_sub_float_int] ATSinline() atstype_float atspre_mul_float_int (atstype_float f1, atstype_int i2) { return (f1 * ((atstype_float)i2)) ; } // end of [atspre_mul_float_int] ATSinline() atstype_float atspre_div_float_int (atstype_float f1, atstype_int i2) { return (f1 / ((atstype_float)i2)) ; } // end of [atspre_div_float_int] // ATSinline() atstype_double atspre_add_double_int (atstype_double f1, atstype_int i2) { return (f1 + ((atstype_double)i2)) ; } // end of [atspre_add_double_int] ATSinline() atstype_double atspre_sub_double_int (atstype_double f1, atstype_int i2) { return (f1 - ((atstype_double)i2)) ; } // end of [atspre_sub_double_int] ATSinline() atstype_double atspre_mul_double_int (atstype_double f1, atstype_int i2) { return (f1 * ((atstype_double)i2)) ; } // end of [atspre_mul_double_int] ATSinline() atstype_double atspre_div_double_int (atstype_double f1, atstype_int i2) { return (f1 / ((atstype_double)i2)) ; } // end of [atspre_div_double_int] // ATSinline() atstype_ldouble atspre_add_ldouble_int (atstype_ldouble f1, atstype_int i2) { return (f1 + ((atstype_ldouble)i2)) ; } // end of [atspre_add_ldouble_int] ATSinline() atstype_ldouble atspre_sub_ldouble_int (atstype_ldouble f1, atstype_int i2) { return (f1 - ((atstype_ldouble)i2)) ; } // end of [atspre_sub_ldouble_int] ATSinline() atstype_ldouble atspre_mul_ldouble_int (atstype_ldouble f1, atstype_int i2) { return (f1 * ((atstype_ldouble)i2)) ; } // end of [atspre_mul_ldouble_int] ATSinline() atstype_ldouble atspre_div_ldouble_int (atstype_ldouble f1, atstype_int i2) { return (f1 / ((atstype_ldouble)i2)) ; } // end of [atspre_div_ldouble_int] // /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_FLOAT /* ****** ****** */ /* end of [float.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/.keeper0000664000175000017500000000000012655455557016372 0ustar hwxihwxiATS2-Postiats-0.2.6/./prelude/CATS/char.cats0000664000175000017500000003272612655455557016733 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/char.atxt ** Time of generation: Sat Nov 7 22:19:27 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_CHAR #define ATSLIB_PRELUDE_CATS_CHAR /* ****** ****** */ #include /* ****** ****** */ #ifdef __CYGWIN__ // #ifndef isascii extern int isascii (int c) ; // _XOPEN_SOURCE #endif // end of [isascii] #ifndef isblank extern int isblank (int c) ; // _XOPEN_SOURCE >= 600 #endif // end of [isblank] #ifndef toascii extern int toascii (int c) ; // _XOPEN_SOURCE #endif // end of [toascii] // #endif // end of [#ifdef(__CYGWIN__)] /* ****** ****** */ // ATSinline() atstype_char atspre_int2char (atstype_int i) { return ((atstype_char)i) ; } ATSinline() atstype_schar atspre_int2schar (atstype_int i) { return ((atstype_schar)i) ; } ATSinline() atstype_uchar atspre_int2uchar (atstype_int i) { return ((atstype_uchar)i) ; } // #define atspre_int2char0 atspre_int2char #define atspre_int2schar0 atspre_int2schar #define atspre_int2uchar0 atspre_int2uchar // /* ****** ****** */ // ATSinline() atstype_int atspre_char2int (atstype_char c) { return ((atstype_int)c) ; } ATSinline() atstype_int atspre_schar2int (atstype_schar c) { return ((atstype_int)c) ; } ATSinline() atstype_int atspre_uchar2int (atstype_uchar c) { return ((atstype_int)c) ; } // #define atspre_char2int0 atspre_char2int #define atspre_schar2int0 atspre_schar2int #define atspre_uchar2int0 atspre_uchar2int // #define atspre_char2int1 atspre_char2int #define atspre_schar2int1 atspre_schar2int #define atspre_uchar2int1 atspre_uchar2int // /* ****** ****** */ // ATSinline() atstype_uint atspre_char2uint (atstype_char c) { return ((atstype_uint)c) ; } ATSinline() atstype_uint atspre_schar2uint (atstype_schar c) { return ((atstype_uint)c) ; } ATSinline() atstype_uint atspre_uchar2uint (atstype_uchar c) { return ((atstype_uint)c) ; } // #define atspre_char2uint0 atspre_char2uint #define atspre_schar2uint0 atspre_schar2uint #define atspre_uchar2uint0 atspre_uchar2uint // /* ****** ****** */ // ATSinline() atstype_int atspre_char2u2int (atstype_char c) { return ((atstype_int)((atstype_uchar)c)) ; } ATSinline() atstype_uint atspre_char2u2uint (atstype_char c) { return ((atstype_uint)((atstype_uchar)c)) ; } // #define atspre_char2u2int0 atspre_char2u2int #define atspre_char2u2uint0 atspre_char2u2uint // /* ****** ****** */ ATSinline() atstype_bool atspre_char_iseqz (atstype_char c) { return ((c == 0) ? atsbool_true : atsbool_false) ; } // end of [atspre_char_iseqz] #define atspre_char0_iseqz(c) atspre_char_iseqz(c) #define atspre_char1_iseqz(c) atspre_char_iseqz(c) ATSinline() atstype_bool atspre_char_isneqz (atstype_char c) { return ((c != 0) ? atsbool_true : atsbool_false) ; } // end of [atspre_char_isneqz] #define atspre_char0_isneqz(c) atspre_char_isneqz(c) #define atspre_char1_isneqz(c) atspre_char_isneqz(c) /* ****** ****** */ // ATSinline() atstype_char atspre_add_char_int ( atstype_char c1, atstype_int i2 ) { return (c1 + i2) ; } // #define atspre_add_char0_int0 atspre_add_char_int // /* ****** ****** */ // ATSinline() atstype_char atspre_sub_char_int ( atstype_char c1, atstype_int i2 ) { return (c1 - i2) ; } // #define atspre_sub_char0_int0 atspre_sub_char_int // /* ****** ****** */ // ATSinline() atstype_int atspre_sub_char_char ( atstype_char c1, atstype_char c2 ) { return (c1 - c2) ; } // #define atspre_sub_char0_char0 atspre_sub_char_char // /* ****** ****** */ ATSinline() atstype_bool atspre_lt_int_int (atstype_int i1, atstype_int i2) { return (i1 < i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lt_int_int] #define atspre_lt_char0_char0 atspre_lt_int_int #define atspre_lt_char1_char1 atspre_lt_int_int ATSinline() atstype_bool atspre_lte_int_int (atstype_int i1, atstype_int i2) { return (i1 <= i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lte_int_int] #define atspre_lte_char0_char0 atspre_lte_int_int #define atspre_lte_char1_char1 atspre_lte_int_int ATSinline() atstype_bool atspre_gt_int_int (atstype_int i1, atstype_int i2) { return (i1 > i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gt_int_int] #define atspre_gt_char0_char0 atspre_gt_int_int #define atspre_gt_char1_char1 atspre_gt_int_int ATSinline() atstype_bool atspre_gte_int_int (atstype_int i1, atstype_int i2) { return (i1 >= i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gte_int_int] #define atspre_gte_char0_char0 atspre_gte_int_int #define atspre_gte_char1_char1 atspre_gte_int_int ATSinline() atstype_bool atspre_eq_int_int (atstype_int i1, atstype_int i2) { return (i1 == i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_eq_int_int] #define atspre_eq_char0_char0 atspre_eq_int_int #define atspre_eq_char1_char1 atspre_eq_int_int ATSinline() atstype_bool atspre_neq_int_int (atstype_int i1, atstype_int i2) { return (i1 != i2 ? atsbool_true : atsbool_false) ; } // end of [atspre_neq_int_int] #define atspre_neq_char0_char0 atspre_neq_int_int #define atspre_neq_char1_char1 atspre_neq_int_int /* ****** ****** */ ATSinline() atstype_int atspre_compare_int_int (atstype_int i1, atstype_int i2) { return (i1 - i2) ; } // end of [atspre_compare_int_int] #define atspre_compare_char0_char0(c1, c2) atspre_compare_int_int(c1, c2) #define atspre_compare_char1_char1(c1, c2) atspre_compare_int_int(c1, c2) /* ****** ****** */ #define atspre_eq_char0_int0(c, i) atspre_eq_int_int(c, i) #define atspre_eq_int0_char0(i, c) atspre_eq_int_int(i, c) #define atspre_neq_char0_int0(c, i) atspre_neq_int_int(c, i) #define atspre_neq_int0_char0(i, c) atspre_neq_int_int(i, c) /* ****** ****** */ #define atspre_compare_char0_int0(c, i) atspre_compare_int_int(c, i) #define atspre_compare_int0_char0(i, c) atspre_compare_int_int(i, c) /* ****** ****** */ // // unsigned characters // /* ****** ****** */ ATSinline() atstype_bool atspre_lt_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 < c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lt_uchar_uchar] #define atspre_lt_uchar0_uchar0 atspre_lt_uchar_uchar #define atspre_lt_uchar1_uchar1 atspre_lt_uchar_uchar ATSinline() atstype_bool atspre_lte_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 <= c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_lte_uchar_uchar] #define atspre_lte_uchar0_uchar0 atspre_lte_uchar_uchar #define atspre_lte_uchar1_uchar1 atspre_lte_uchar_uchar ATSinline() atstype_bool atspre_gt_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 > c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gt_uchar_uchar] #define atspre_gt_uchar0_uchar0 atspre_gt_uchar_uchar #define atspre_gt_uchar1_uchar1 atspre_gt_uchar_uchar ATSinline() atstype_bool atspre_gte_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 >= c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_gte_uchar_uchar] #define atspre_gte_uchar0_uchar0 atspre_gte_uchar_uchar #define atspre_gte_uchar1_uchar1 atspre_gte_uchar_uchar ATSinline() atstype_bool atspre_eq_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 == c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_eq_uchar_uchar] #define atspre_eq_uchar0_uchar0 atspre_eq_uchar_uchar #define atspre_eq_uchar1_uchar1 atspre_eq_uchar_uchar ATSinline() atstype_bool atspre_neq_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return (c1 != c2 ? atsbool_true : atsbool_false) ; } // end of [atspre_neq_uchar_uchar] #define atspre_neq_uchar0_uchar0 atspre_neq_uchar_uchar #define atspre_neq_uchar1_uchar1 atspre_neq_uchar_uchar /* ****** ****** */ ATSinline() atstype_int atspre_compare_uchar_uchar (atstype_uchar c1, atstype_uchar c2) { return ((atstype_int)c1 - (atstype_int)c2) ; } // end of [atspre_compare_uchar_uchar] #define atspre_compare_uchar0_uchar0 atspre_compare_uchar_uchar #define atspre_compare_uchar1_uchar1 atspre_compare_uchar_uchar /* ****** ****** */ ATSinline() atstype_bool atspre_isalpha_int (atstype_int c) { return (isalpha(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isalpha_int] #define atspre_isalpha_char(c) atspre_isalpha_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isalnum_int (atstype_int c) { return (isalnum(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isalnum_int] #define atspre_isalnum_char(c) atspre_isalnum_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isascii_int (atstype_int c) { return (isascii(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isascii_int] #define atspre_isascii_char(c) atspre_isascii_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isblank_int (atstype_int c) { return (isblank(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isblank_int] #define atspre_isblank_char(c) atspre_isblank_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isspace_int (atstype_int c) { return (isspace(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isspace_int] #define atspre_isspace_char(c) atspre_isspace_int((atstype_int)(c)) ATSinline() atstype_bool atspre_iscntrl_int (atstype_int c) { return (iscntrl(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_iscntrl_int] #define atspre_iscntrl_char(c) atspre_iscntrl_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isdigit_int (atstype_int c) { return (isdigit(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isdigit_int] #define atspre_isdigit_char(c) atspre_isdigit_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isxdigit_int (atstype_int c) { return (isxdigit(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isxdigit_int] #define atspre_isxdigit_char(c) atspre_isxdigit_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isgraph_int (atstype_int c) { return (isgraph(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isgraph_int] #define atspre_isgraph_char(c) atspre_isgraph_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isprint_int (atstype_int c) { return (isprint(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isprint_int] #define atspre_isprint_char(c) atspre_isprint_int((atstype_int)(c)) ATSinline() atstype_bool atspre_ispunct_int (atstype_int c) { return (ispunct(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_ispunct_int] #define atspre_ispunct_char(c) atspre_ispunct_int((atstype_int)(c)) ATSinline() atstype_bool atspre_islower_int (atstype_int c) { return (islower(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_islower_int] #define atspre_islower_char(c) atspre_islower_int((atstype_int)(c)) ATSinline() atstype_bool atspre_isupper_int (atstype_int c) { return (isupper(c) ? atsbool_true : atsbool_false) ; } // end of [atspre_isupper_int] #define atspre_isupper_char(c) atspre_isupper_int((atstype_int)(c)) /* ****** ****** */ #define atspre_toascii toascii /* ****** ****** */ ATSinline() atstype_int atspre_tolower_int (atstype_int c) { return tolower(c) ; } ATSinline() atstype_char atspre_tolower_char (atstype_char c) { return tolower(c) ; } // ATSinline() atstype_int atspre_toupper_int (atstype_int c) { return toupper(c) ; } ATSinline() atstype_char atspre_toupper_char (atstype_char c) { return toupper(c) ; } // /* ****** ****** */ ATSinline() atstype_char atspre_int2digit (atstype_int i) { return ('0' + i) ; } // end of [atspre_int2digit] ATSinline() atstype_char atspre_int2xdigit (atstype_int i) { return (i < 10) ? ('0' + i) : ('a' + (i - 10)) ; } // end of [atspre_int2xdigit] ATSinline() atstype_char atspre_int2xxdigit (atstype_int i) { return (i < 10) ? ('0' + i) : ('A' + (i - 10)) ; } // end of [atspre_int2xxdigit] /* ****** ****** */ ATSinline() atstype_int atspre_byte2int (atstype_byte b) { return ((atstype_int)b) ; } ATSinline() atstype_byte atspre_int2byte (atstype_int i) { return ((atstype_byte)i) ; } ATSinline() atstype_uint atspre_byte2uint (atstype_byte b) { return ((atstype_uint)b) ; } ATSinline() atstype_byte atspre_uint2byte (atstype_uint u) { return ((atstype_byte)u) ; } /* ****** ****** */ #define atspre_byte2int0 atspre_byte2int #define atspre_int2byte0 atspre_int2byte #define atspre_byte2uint0 atspre_byte2uint #define atspre_uint2byte0 atspre_uint2byte /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_CHAR /* ****** ****** */ /* end of [char.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/arrayptr.cats0000664000175000017500000000432712655455557017656 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/arrayptr.atxt ** Time of generation: Sat Jun 27 21:39:52 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR #define ATSLIB_PRELUDE_CATS_ARRAYPTR /* ****** ****** */ ATSinline() atstype_arrptr atspre_arrpsz_get_ptrsize ( atstype_arrpsz psz, atstype_ref asz ) { *(size_t*)asz = psz.size ; return (psz.ptr) ; } // en of [atspre_arrpsz_get_ptrsize] /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_arrayptr_free (atstype_arrptr p0) { ATS_MFREE (p0) ; return ; } // end of [atspre_arrayptr_free] /* ****** ****** */ ATSinline() atstype_arrptr atspre_arrayptr_make_arrpsz (atstype_arrpsz psz) { return (psz).ptr ; } // end of [atspre_arrayptr_make_arrpsz] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR /* ****** ****** */ /* end of [arrayptr.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/filebas.cats0000664000175000017500000001664112655455557017421 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/filebas.atxt ** Time of generation: Sat Jun 27 21:39:50 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: January, 2013 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_FILEBAS #define ATSLIB_PRELUDE_CATS_FILEBAS /* ****** ****** */ #include #include #include /* ****** ****** */ #define atspre_FILE_stdin stdin #define atspre_FILE_stdout stdout #define atspre_FILE_stderr stderr /* ****** ****** */ #define atspre_file_mode_r "r" #define atspre_file_mode_rr "r+" #define atspre_file_mode_w "w" #define atspre_file_mode_ww "w+" #define atspre_file_mode_a "a" #define atspre_file_mode_aa "a+" /* ****** ****** */ ATSinline() atstype_bool atspre_test_file_exists (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; return (err==0) ? atsbool_true : atsbool_false ; } // end of [atspre_test_file_exists] /* ****** ****** */ ATSinline() atstype_int atspre_test_file_mode_fun ( atstype_string path, atstype_funptr pred ) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return ((atstype_bool(*)(atstype_uint))(pred))(st.st_mode) ? 1 : 0 ; } /* ****** ****** */ ATSinline() atstype_bool atspre_test_file_isreg (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return (S_ISREG(st.st_mode)) ? 1 : 0 ; } // end of [atspre_test_file_isreg] /* ****** ****** */ ATSinline() atstype_int atspre_test_file_isdir (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return (S_ISDIR(st.st_mode)) ? 1 : 0 ; } // end of [atspre_test_file_isdir] /* ****** ****** */ ATSinline() atstype_int atspre_test_file_isblk (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return (S_ISBLK(st.st_mode)) ? 1 : 0 ; } // end of [atspre_test_file_isblk] /* ****** ****** */ ATSinline() atstype_int atspre_test_file_ischr (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return (S_ISCHR(st.st_mode)) ? 1 : 0 ; } // end of [atspre_test_file_ischr] /* ****** ****** */ ATSinline() atstype_int atspre_test_file_isfifo (atstype_string path) { int err; struct stat st ; err = stat ((const char*)path, &st) ; if (err < 0) return -1 ; return (S_ISFIFO(st.st_mode)) ? 1 : 0 ; } // end of [atspre_test_file_isfifo] /* ****** ****** */ ATSinline() atstype_ref atspre_fileref_open_exn (atstype_string path, atstype_string fm) { FILE* filr ; filr = fopen((char*)path, (char*)fm) ; if (!filr) { fprintf( stderr , "exit(ATS): [atspre_fileref_open_exn(%s, %s)] failed.\n" , (char*)path, (char*)fm ) ; exit(1) ; } return filr ; } // end of [atspre_fileref_open] /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fileref_close (atstype_ref filr) { int err ; err = fclose((FILE*)filr) ; if (err < 0) { fprintf( stderr , "exit(ATS): [atspre_fileref_close] failed.\n" ) ; exit(1) ; } return ; } // end of [atspre_fileref_close] /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fileref_flush (atstype_ref filr) { int err ; err = fflush((FILE*)filr) ; if (err < 0) { fprintf( stderr , "exit(ATS): [atspre_fileref_fflush] failed.\n" ) ; exit(1) ; } return ; } // end of [atspre_fileref_flush] /* ****** ****** */ ATSinline() atstype_int atspre_fileref_getc (atstype_ref filr) { return fgetc((FILE*)filr) ; } // end of [atspre_fileref_getc] /* ****** ****** */ // ATSinline() atsvoid_t0ype atspre_fileref_putc ( atstype_ref filr, atstype_int c ) { fputc (c, (FILE*)filr) ; return ; } // end of [atspre_fileref_putc] // #define atspre_fileref_putc_int atspre_fileref_putc #define atspre_fileref_putc_char atspre_fileref_putc // /* ****** ****** */ ATSinline() atsvoid_t0ype atspre_fileref_puts ( atstype_ref filr, atstype_ptr cs ) { fputs ((char*)cs, (FILE*)filr) ; return ; } // end of [atspre_fileref_puts] /* ****** ****** */ ATSinline() atstype_bool atspre_fileref_is_eof (atstype_ref filr) { int eof ; eof = feof ((FILE*)filr) ; return (eof != 0 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_is_eof] /* ****** ****** */ ATSinline() atstype_bool atspre_fileref_load_int (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%i", (atstype_int*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_int] ATSinline() atstype_bool atspre_fileref_load_lint (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%li", (atstype_lint*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_lint] /* ****** ****** */ ATSinline() atstype_bool atspre_fileref_load_uint (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%u", (atstype_uint*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_uint] ATSinline() atstype_bool atspre_fileref_load_ulint (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%lu", (atstype_ulint*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_ulint] /* ****** ****** */ ATSinline() atstype_bool atspre_fileref_load_float (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%f", (atstype_float*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_float] ATSinline() atstype_bool atspre_fileref_load_double (atstype_ref inp, atstype_ref x) { int n ; n = fscanf((FILE*)inp, "%lf", (atstype_double*)x) ; return (n == 1 ? atsbool_true : atsbool_false) ; } // end of [atspre_fileref_load_double] /* ****** ****** */ extern atstype_ptr atspre_fileref_get_line_string_main2 ( atstype_int bsz // int bsz , atstype_ptr filp // FILE* filp , atstype_ref nlen // int *nlen ) ; // endfun /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_FILEBAS /* ****** ****** */ /* end of [filebas.cats] */ ATS2-Postiats-0.2.6/./prelude/CATS/bool.cats0000664000175000017500000001225112655455557016740 0ustar hwxihwxi/***********************************************************************/ /* */ /* Applied Type System */ /* */ /***********************************************************************/ /* (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) */ /* ****** ****** */ /* ** Source: ** $PATSHOME/prelude/CATS/CODEGEN/bool.atxt ** Time of generation: Sat Nov 7 22:19:27 2015 */ /* ****** ****** */ /* (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: February, 2012 *) */ /* ****** ****** */ #ifndef ATSLIB_PRELUDE_CATS_BOOL #define ATSLIB_PRELUDE_CATS_BOOL /* ****** ****** */ ATSinline() atstype_bool atspre_int2bool (atstype_int x) { return (x != 0 ? atsbool_true : atsbool_false) ; } #define atspre_int2bool0 atspre_int2bool #define atspre_int2bool1 atspre_int2bool /* ****** ****** */ #define atspre_bool2int0(x) x #define atspre_bool2int1(x) x /* ****** ****** */ ATSinline() atstype_bool atspre_neg_bool (atstype_bool b) { return (b) ? atsbool_false : atsbool_true ; } // end of [atspre_neg_bool] #define atspre_neg_bool0 atspre_neg_bool #define atspre_neg_bool1 atspre_neg_bool ATSinline() atstype_bool atspre_add_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? atsbool_true : (b2) ; } // end of [atspre_add_bool_bool] #define atspre_add_bool0_bool0 atspre_add_bool_bool #define atspre_add_bool0_bool1 atspre_add_bool_bool #define atspre_add_bool1_bool0 atspre_add_bool_bool #define atspre_add_bool1_bool1 atspre_add_bool_bool ATSinline() atstype_bool atspre_mul_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (b2) : atsbool_false ; } // end of [atspre_mul_bool_bool] #define atspre_mul_bool0_bool0 atspre_mul_bool_bool #define atspre_mul_bool0_bool1 atspre_mul_bool_bool #define atspre_mul_bool1_bool0 atspre_mul_bool_bool #define atspre_mul_bool1_bool1 atspre_mul_bool_bool /* ****** ****** */ ATSinline() atstype_bool atspre_xor_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (!b2) : (b2) ; } // end of [atspre_xor_bool_bool] #define atspre_xor_bool0_bool0 atspre_xor_bool_bool #define atspre_xor_bool1_bool1 atspre_xor_bool_bool /* ****** ****** */ ATSinline() atstype_bool atspre_lt_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? atsbool_false : (b2) ; } // end of [atspre_lt_bool_bool] #define atspre_lt_bool0_bool0 atspre_lt_bool_bool #define atspre_lt_bool1_bool1 atspre_lt_bool_bool ATSinline() atstype_bool atspre_lte_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1) ? (b2) : atsbool_true ; } // end of [atspre_lte_bool_bool] #define atspre_lte_bool0_bool0 atspre_lte_bool_bool #define atspre_lte_bool1_bool1 atspre_lte_bool_bool ATSinline() atstype_bool atspre_gt_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b2) ? atsbool_false : (b1) ; } // end of [atspre_gt_bool_bool] #define atspre_gt_bool0_bool0 atspre_gt_bool_bool #define atspre_gt_bool1_bool1 atspre_gt_bool_bool ATSinline() atstype_bool atspre_gte_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b2) ? (b1) : atsbool_true ; } // end of [atspre_gte_bool_bool] #define atspre_gte_bool0_bool0 atspre_gte_bool_bool #define atspre_gte_bool1_bool1 atspre_gte_bool_bool ATSinline() atstype_bool atspre_eq_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 == b2) ; } // end of [atspre_eq_bool_bool] #define atspre_eq_bool0_bool0 atspre_eq_bool_bool #define atspre_eq_bool1_bool1 atspre_eq_bool_bool ATSinline() atstype_bool atspre_neq_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 != b2) ; } // end of [atspre_neq_bool_bool] #define atspre_neq_bool0_bool0 atspre_neq_bool_bool #define atspre_neq_bool1_bool1 atspre_neq_bool_bool /* ****** ****** */ ATSinline() atstype_int atspre_compare_bool_bool ( atstype_bool b1, atstype_bool b2 ) { return (b1 - b2) ; } // end of [atspre_compare_bool_bool] #define atspre_compare_bool0_bool0 atspre_compare_bool_bool #define atspre_compare_bool1_bool1 atspre_compare_bool_bool /* ****** ****** */ ATSinline() atstype_string atspre_bool2string ( atstype_bool x ) { return (x) ? "true" : "false" ; } // end of [atspre_bool2string] /* ****** ****** */ #endif // ifndef ATSLIB_PRELUDE_CATS_BOOL /* ****** ****** */ /* end of [bool.cats] */ ATS2-Postiats-0.2.6/./prelude/.keeper0000664000175000017500000000000012655455557015640 0ustar hwxihwxiATS2-Postiats-0.2.6/./missing0000775000175000017500000002415212655455557014341 0ustar hwxihwxi#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ATS2-Postiats-0.2.6/./autogen.sh0000775000175000017500000000034112655455557014735 0ustar hwxihwxi#!/bin/bash ###### # # For making a distribution package # ###### # autoheader configure.ac # aclocal # # NO messing with [automake] # automake --add-missing --foreign || true # autoconf # ###### end of [autogen.sh] ###### ATS2-Postiats-0.2.6/./config.mk.in0000664000175000017500000000062512655455557015144 0ustar hwxihwxiINSTALL := @INSTALL@ PACKAGE_TARNAME := @PACKAGE_TARNAME@ PACKAGE_VERSION := @PACKAGE_VERSION@ prefix := @prefix@ exec_prefix := @exec_prefix@ bindir := @bindir@ abs_top_srcdir := @abs_top_srcdir@ AR := ar CC := @CC@ LN_S := @LN_S@ INSTALL := @INSTALL@ MKDIR_P := @MKDIR_P@ PATSHOME := $(abs_top_srcdir) PATSLIBHOME := $(prefix)/lib/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) HAVE_LIBGMP := @HAVE_LIBGMP@ ATS2-Postiats-0.2.6/./doc/0000775000175000017500000000000012655455557013503 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/0000775000175000017500000000000012655455557014576 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/0000775000175000017500000000000012655455557015331 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/hanoi.dats0000664000175000017500000000642012655455557017306 0ustar hwxihwxi(* // // Implementing the Hanoi Tower problem // // The code was first written by Hongwei Xi in the summer of 2004 // The code is ported to ATS2 by Hongwei Xi on the last day of May, 2012 // *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // abstype post_type (n:int) = ptr // for posts typedef post (n:int) = post_type (n) // (* ****** ****** *) extern fun post_make {sz:pos} (sz: int sz): post (sz) extern fun post_initize {sz:nat} (p: post (sz), sz: int sz): void (* ****** ****** *) extern fun post_get_at {sz:int} (p: post (sz), i: natLt sz): natLte (sz) overload [] with post_get_at extern fun post_set_at {sz:int} (p: post (sz), i: natLt sz, x: natLte (sz)): void overload [] with post_set_at (* ****** ****** *) fun showpiece {sz:int} ( sz: int sz, n: natLte sz ) : void = let // fun loop { i:nat | i <= 2*sz } .<2*sz-i>. ( i: int (i) ) : void = let in // if i < (sz-n) then ( print ' '; loop (i + 1) ) else if i < (sz+n-1) then ( print 'O'; loop (i + 1) ) else if i < (sz + sz) then ( print ' '; loop (i + 1) ) // end of [if] // end // end of [loop] // in loop (0) end // end of [showpiece] (* ****** ****** *) fun play {sz:pos} .<>. (sz: int sz): void = let // // val lp = post_make (sz) val mp = post_make (sz) val rp = post_make (sz) // fun showposts .<>. ( (*argumentless*) ) : void = let // fun loop {i:nat | i <= sz} ( i: int i ) : void = let in if sz > i then begin showpiece (sz, lp[i]); showpiece (sz, mp[i]); showpiece (sz, rp[i]); print_newline (); loop (i + 1) end else begin print_newline () end // end of [if] end // end of [loop] // in loop (0) end // end of [showposts] // val () = post_initize (lp, sz) // viewtypedef post = post (sz) // fun move { n,s,p,p':nat | p <= sz && p' <= sz && s + p + p' == sz + sz && n > 0 && s + n <= sz && n <= p && n <= p' } .. ( n: int n , src: post, s: int s, post: post, p: int p , post': post, p': int p' ) : void = ( if n = 1 then ( post[p-1] := src[s]; src[s] := 0; showposts () ) else ( move ( n-1, src, s, post', p', post, p ) ; // end of [move] post[p-1] := src[s+n-1]; src[s+n-1] := 0; showposts (); move ( n-1, post', p' - n + 1, post, p - 1, src, s + n ) ; // end of [move] ) (* end of [if] *) ) (* end of [move] *) // in // showposts (); move (sz, lp, 0, rp, sz, mp, sz); print ("This round of play has finished."); print_newline (); // end // end of [play] (* ****** ****** *) implement main ( argc, argv ) = let val () = play (4) in 0(*normalexit*) end // end of [main] (* ****** ****** *) local typedef T (n:int) = natLte n assume post_type (n:int) = arrayref (T(n), n) in // in of [local] implement post_make {sz} (sz) = arrayref_make_elt (g1int2uint(sz), 0) // end of [post_make] implement post_initize {sz} (p, sz) = let // fun loop { i:nat | i <= sz } .. ( i: int i ) : void = if i < sz then let val i1 = succ(i) in arrayref_set_at (p, i, i1) ; loop (i1) end // end of [if] // in loop (0) end // end of [post_initize] implement post_get_at (p, i) = arrayref_get_at (p, i) implement post_set_at (p, i, x) = arrayref_set_at (p, i, x) end // end of [local] (* ****** ****** *) (* end of [hanoi.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/arith_overflow.dats0000664000175000017500000000401212655455557021235 0ustar hwxihwxi(* ****** ****** *) // // HX-2013-04-03: // this example illustrates an idea for // addressing integer arithmetic overflow // (* ****** ****** *) stacst INTMIN : int and INTMAX : int stadef isintb (i:int): bool = (INTMIN <= i && i <= INTMAX) (* ****** ****** *) abst@ype intb (i: int) = int // bounded integers (* ****** ****** *) extern praxi lemma_INTMINMAX (): [INTMIN < ~0X7FFF ; INTMAX >= 0x7FFF] void (* ****** ****** *) extern castfn intb2int {i:int} (i: intb i): int (i) extern castfn int2intb {i:int | isintb(i)} (i: int i): intb (i) (* ****** ****** *) extern praxi lemma_intb_param {i: int} (i: intb i): [isintb(i)] void extern fun add_intb_intb {i,j:int | isintb(i+j)} (i: intb (i), j: intb (j)):<> intb (i+j) overload + with add_intb_intb extern fun sub_intb_intb {i,j:int | isintb(i-j)} (i: intb (i), j: intb (j)):<> intb (i-j) overload - with sub_intb_intb extern fun half_intb {i:nat} (i: intb (i)):<> intb (ndiv(i,2)) overload half with half_intb extern fun lt_intb_intb {i,j:int} (i: intb i, j: intb j):<> bool (i < j) overload < with lt_intb_intb (* ****** ****** *) extern fun{a:t@ype} bsearch{n:nat} ( A: &(@[a][n]), n: intb n, x0: &a, cmp: (&a, &a) -> int ) : bool // end of [bsearch] implement {a} bsearch{n} (A, n, x0, cmp) = let // #define i2b int2intb // prval () = lemma_INTMINMAX () prval () = lemma_intb_param (n) // fun loop {l,r:nat | l <= r; r <= n} .. ( A: &(@[a][n]), x0: &a, l: intb l, r: intb r ) : bool = let in // if l < r then let val m = l + half (r - l) (* // // HX: typechecking fails // if the next line replaces the above one // as arith overflow may potentially occur // val m = (l + r) / 2 *) val m2 = intb2int (m) val sgn = cmp (x0, A.[m2]) in if sgn < 0 then loop (A, x0, l, m) else if sgn > 0 then loop (A, x0, m+i2b(1), r) else true (*found*) end else false (*~found*) // end // end of [loop] // in loop (A, x0, i2b(0), n) end // end of [bsearch] (* ****** ****** *) implement main () = 0 (* ****** ****** *) (* end of [arith_overflow.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/randerlin.dats0000664000175000017500000000211012655455557020156 0ustar hwxihwxi(* ** ** Linear random number generator ** *) (* ****** ****** *) // // How to test: // ./randerlin // valgrind ./randerlin // // How to compile: // patscc -DATS_MEMALLOC_LIBC -o randerlin randerlin.dats // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) vtypedef randerlin = streamer_vt (ulint) (* ****** ****** *) extern fun randerlin_make (): randerlin (* ****** ****** *) implement randerlin_make () = let // fun aux ( state: ulint ) : stream_vt (ulint) = $ldelay ( // let // val state = (state * 196314165UL) + 907633515UL // in stream_vt_cons (state, aux (state)) end // ) (* end of [$ldelay] *) // end of [val] // in streamer_vt_make (aux (31435926536UL(*init*))) end // end of [randerlin_make] (* ****** ****** *) implement main0 () = { // val r0 = randerlin_make () // val () = println! ("randerlin(r0) = ", r0[]) val () = println! ("randerlin(r0) = ", r0[]) val () = println! ("randerlin(r0) = ", r0[]) // val () = ~r0 // freeing the random number generator // } (* end of [main0] *) (* ****** ****** *) (* end of [randerlin.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/morse_enum.dats0000664000175000017500000000307212655455557020361 0ustar hwxihwxi(* // // This code is based on some code by // Eli Frey (eli.frey AT gmail DOT com) // // Minor modification by Hongwei Xi (gmhwxi AT gmail DOT com) // // Time: July 18-19, 2012 // *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/ML/SATS/string.sats" // staload _ = "libats/ML/DATS/string.dats" // (* ****** ****** *) #define nil stream_nil #define cons stream_cons #define :: stream_cons (* ****** ****** *) fun from{n:int} ( n: intGte(n) ) : stream (intGte(n)) = $delay(n :: from{n+1}(n+1)) (* ****** ****** *) typedef sstring = stream string (* ****** ****** *) fun morse (n: Nat): sstring = let // fn add_dot (str: string):<> string = "." + str fn add_dash (str: string):<> string = "-" + str // fn go (n: Nat):<> sstring = $effmask_all ( case+ n of | 0 => $delay ("" :: $delay (nil)) | 1 => $delay ("." :: $delay (nil)) | n =>> let val add_dots = stream_map_fun( morse( n-1 ), add_dot ) val add_dashes = stream_map_fun( morse( n-2 ), add_dash ) in stream_merge_fun( add_dots, add_dashes, lam (_, _) => 0 ) end // end of [n] ) // end of [go] in stream_nth_exn (stream_map_fun(from{0}(0), go), n) end // end of [morse] (* ****** ****** *) staload STDIO = "libc/SATS/stdio.sats" (* ****** ****** *) implement main0 () = { // val xs = morse (5) val xs = stream2list (xs) val () = list_vt_foreach_fun (xs, lam (x) =<1> $STDIO.puts_exn (x)) val () = list_vt_free (xs) // } // end of [main] (* ****** ****** *) (* end of [morse_enum.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/autodiff.dats0000664000175000017500000003323612655455557020016 0ustar hwxihwxi(* ** ** Automatic Differentiation ** ** The code is essentially translated fro ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: January, 2008 ** *) (* ****** ****** *) // // HX-2012-11-26: ported to ATS/Postiats // (* ****** ****** *) // // HX-2013-06-21: compiled to run with ATS/Postiats // (* ****** ****** *) // // HX-2013-06-21: // By the current standard, the following code looks // a bit ugly. However, it does shed some light on coding // in ATS during its early development. // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload M = "libc/SATS/math.sats" (* ****** ****** *) datatype dualnum = | Base of double | Bundle of (int, dualnum, dualnum) // end of [dualnum] (* ****** ****** *) typedef dualnumlst (n:int) = list (dualnum, n) typedef dualnumlst = [n:nat] dualnumlst (n) typedef dualnum1 = dualnumlst(1) and dualnum2 = dualnumlst(2) (* ****** ****** *) val _0: dualnum = Base (0.0) val _1: dualnum = Base (1.0) val _2: dualnum = Base (2.0) val __1: dualnum = Base (~1.0) (* ****** ****** *) fn epsilon (p: dualnum): int = ( case+ p of Base _ => 0 | Bundle (e, _, _) => e ) // end of [epsilon] fn primal ( e: int, p: dualnum ) : dualnum = case+ p of | Base _ => p | Bundle (e1, x, _) => if e1 < e then p else x // end of [primal] fn perturbe ( e: int, p: dualnum ) : dualnum = begin case+ p of | Base _ => _0 | Bundle (e1, _, x') => if e1 < e then _0 else x' end // end of [perturbe] (* ****** ****** *) local val EPSILON = ref_make_elt (0) in (* in of [local] *) fn derivative ( f: dualnum - dualnum, x: dualnum ) : dualnum = let val e = !EPSILON + 1 val () = !EPSILON := e val result = perturbe (e, f (Bundle (e, x, _1))) val () = !EPSILON := e - 1 in result end // end of [derivative] end // end of [local] (* ****** ****** *) fun print_dualnum (p: dualnum): void = ( case+ p of | Bundle (_, x, _) => print_dualnum x | Base (x) => $extfcall (void, "printf", "%.18g", x) ) // end of [print_dualnum] overload print with print_dualnum fn print_dualnumlst (ps: dualnumlst): void = let // fun loop ( i: int, ps: dualnumlst ) : void = ( case+ ps of | list_cons (p, ps) => ( if i > 0 then print ", "; print_dualnum p; loop (i+1, ps) ) // end of [list_cons] | list_nil ((*void*)) => () ) (* end of [loop] *) // in loop (0, ps) end // end of [print_dualnumlst] (* ****** ****** *) extern fun neg_dualnum (p: dualnum): dualnum extern fun recip_dualnum (p: dualnum): dualnum extern fun add_dualnum_dualnum (p1: dualnum, p2: dualnum): dualnum extern fun sub_dualnum_dualnum (p1: dualnum, p2: dualnum): dualnum extern fun mul_dualnum_dualnum (p1: dualnum, p2: dualnum): dualnum extern fun div_dualnum_dualnum (p1: dualnum, p2: dualnum): dualnum (* ****** ****** *) overload ~ with neg_dualnum overload + with add_dualnum_dualnum overload - with sub_dualnum_dualnum overload * with mul_dualnum_dualnum overload / with div_dualnum_dualnum (* ****** ****** *) implement neg_dualnum (p) = ( case+ p of | Bundle (e, x, x') => Bundle (e, ~x, ~x') | Base (x) => Base (~x) ) // end of [neg_dualnum] (* ****** ****** *) implement add_dualnum_dualnum (p1, p2) = let in // case+ p1 of | Bundle (e1, x1, x1') => ( case+ p2 of | Bundle (e2, x2, x2') => let val e = (if e1 <= e2 then e2 else e1): int val x = primal (e, p1) + primal (e, p2) val x' = perturbe (e, p1) + perturbe (e, p2) in Bundle (e, x, x') end | Base (x2) => Bundle (e1, x1 + p2, x1') ) // end of [Bundle] | Base x1 => ( case+ p2 of | Bundle (e2, x2, x2') => Bundle (e2, p1 + x2, x2') | Base (x2) => Base (x1 + x2) ) // end of [Base] // end // end of [add_dualnum_dualnum] (* ****** ****** *) implement sub_dualnum_dualnum (p1, p2) = let in // case+ p1 of | Bundle (e1, x1, x1') => ( case+ p2 of | Bundle (e2, x2, x2') => let val e = (if e1 <= e2 then e2 else e1): int val x = primal (e, p1) - primal (e, p2) val x' = perturbe (e, p1) - perturbe (e, p2) in Bundle (e, x, x') end | Base x2 => Bundle (e1, x1 - p2, x1') ) // end of [Bundle] | Base (x1) => ( case+ p2 of | Bundle (e2, x2, x2') => Bundle (e2, p1 - x2, ~x2') | Base x2 => Base (x1 - x2) ) // end of [Base] // end // end of [sub_dualnum_dualnum] (* ****** ****** *) implement mul_dualnum_dualnum (p1, p2) = let in // case+ p1 of | Bundle (e1, x1, x1') => ( case+ p2 of | Bundle (e2, x2, x2') => let val e = (if e1 <= e2 then e2 else e1): int val x1 = primal (e, p1) and x2 = primal (e, p2) val x = x1 * x2 val x' = x1 * perturbe (e, p2) + x2 * perturbe (e, p1) in Bundle (e, x, x') end | Base (x2) => Bundle (e1, x1 * p2, p2 * x1') ) // end of [Bundle] | Base x1 => ( case+ p2 of | Bundle (e2, x2, x2') => Bundle (e2, p1 * x2, p1 * x2') | Base x2 => Base (x1 * x2) ) // end of [Base] // end // end of [mul_dualnum_dualnum] (* ****** ****** *) implement recip_dualnum (p) = ( case+ p of | Bundle (e, x, x') => Bundle (e, recip_dualnum x, (~x') / (x * x)) | Base x => Base (1.0 / x) ) // end of [recip_dualnum_dualnum] implement div_dualnum_dualnum (p1, p2) = p1 * (recip_dualnum p2) (* ****** ****** *) extern fun sqrt_dualnum (p: dualnum): dualnum implement sqrt_dualnum (p) = let in // case+ p of | Bundle (e, x, x') => let val x_sqrt = sqrt_dualnum (x) val x'_sqrt = x' / (x_sqrt + x_sqrt) in Bundle (e, x_sqrt, x'_sqrt) end | Base (x) => Base ($M.sqrt_double (x)) // end // end of [sqrt_dualnum] (* ****** ****** *) extern fun lt_dualnum_dualnum (p1: dualnum, p2: dualnum): bool overload < with lt_dualnum_dualnum implement lt_dualnum_dualnum (p1, p2) = let in // case+ p1 of | Bundle (_, x1, _) => ( case+ p2 of Bundle (_, x2, _) => x1 < x2 | Base x2 => x1 < p2 ) | Base x1 => ( case+ p2 of Bundle (_, x2, _) => p1 < x2 | Base x2 => x1 < x2 ) // end // end of [lt_dualnum_dualnum] (* ****** ****** *) extern fun lte_dualnum_dualnum (p1: dualnum, p2: dualnum): bool overload <= with lte_dualnum_dualnum implement lte_dualnum_dualnum (p1, p2) = let in // case+ p1 of | Bundle (_, x1, _) => ( case+ p2 of Bundle (_, x2, _) => x1 <= x2 | Base x2 => x1 <= p2 ) | Base x1 => ( case+ p2 of Bundle (_, x2, _) => p1 <= x2 | Base x2 => x1 <= x2 ) // end // end of [lte_dualnum_dualnum] (* ****** ****** *) extern fun gt_dualnum_dualnum (p1: dualnum, p2: dualnum): bool overload > with gt_dualnum_dualnum implement gt_dualnum_dualnum (p1, p2) = lt_dualnum_dualnum (p2, p1) (* ****** ****** *) fn square (p: dualnum): dualnum = p * p (* ****** ****** *) fn list_tabulate{n:nat} ( f: !natLt n - dualnum, n: int n ) : dualnumlst n = let // fun loop { i:int | ~1 <= i; i < n } .. ( f: !natLt n - dualnum, i: int i, res: dualnumlst (n-i-1) ) : dualnumlst (n) = if i >= 0 then loop (f, i-1, list_cons{dualnum}(f(i), res)) else res // end of [loop] // in loop (f, n-1, list_nil ()) end // end of [list_tabulate] (* ****** ****** *) fun vplus {n:nat} .. ( us: dualnumlst n, vs: dualnumlst n ) : dualnumlst n = case+ us of | list_cons (u, us) => let val+list_cons (v, vs) = vs in list_cons{dualnum}(u + v, vplus (us, vs)) end // end of [list_cons] | list_nil () => list_nil () // end of [vplus] fun vminus {n:nat} .. ( us: dualnumlst n, vs: dualnumlst n ) : dualnumlst n = case+ us of | list_cons (u, us) => let val+list_cons (v, vs) = vs in list_cons{dualnum}(u - v, vminus (us, vs)) end // end of [list_cons] | list_nil () => list_nil () // end of [vminus] fun vscale {n:nat} (k: dualnum, xs: dualnumlst n): dualnumlst n = case+ xs of | list_cons (x, xs) => list_cons{dualnum}(k * x, vscale (k, xs)) | list_nil () => list_nil () // end of [vscale] (* ****** ****** *) fn magnitude_squared (xs: dualnumlst): dualnum = let // fun aux {n:nat} .. (xs: dualnumlst n, res: dualnum): dualnum = ( case+ xs of list_cons (x, xs) => aux (xs, res + x * x) | _ => res ) // in aux (xs, _0) end // end of [magnitude_squared] fn magnitude ( xs: dualnumlst ) : dualnum = sqrt_dualnum (magnitude_squared xs) // end of [magnitude] fn distance{n:nat} ( us: dualnumlst n, vs: dualnumlst n ): dualnum = magnitude (vminus (us, vs)) // end of [distance] (* ****** ****** *) fun list_nth_get {n:nat} .. (xs: dualnumlst n, i: natLt n): dualnum = ( if i > 0 then begin let val+list_cons (_, xs) = xs in list_nth_get (xs, i-1) end end else begin let val+list_cons (x, _) = xs in x end end (* end of [if] *) ) // end of [list_nth_get] fun list_nth_set {n:nat} .. (xs: dualnumlst n, i: natLt n, x0: dualnum): dualnumlst n = ( if i > 0 then let val+list_cons (x, xs) = xs in list_cons{dualnum}(x, list_nth_set (xs, i-1, x0)) end else begin let val+list_cons (_, xs) = xs in list_cons{dualnum}(x0, xs) end end (* end of [if] *) ) // end of [list_nth_set] (* ****** ****** *) fn gradient{n:nat} (f: dualnumlst n - dualnum, xs: dualnumlst n) : dualnumlst n = let // val fi = lam ( i: natLt n ): dualnum = derivative ( lam xi => f (list_nth_set (xs, i, xi)), list_nth_get (xs, i) ) // end of [derivative] // end of [val] // val gxs = list_tabulate (fi, list_length xs) val ( ) = cloptr_free (fi) where { extern fun cloptr_free {a:vtype} (f: a): void = "atspre_mfree_gc" } // end of [val] (* val () = ( print "gradient: xs = "; print_dualnumlst xs; print_newline (); print "gradient: gxs = "; print_dualnumlst gxs; print_newline (); ) // end of [val] *) in gxs end // end of [gradient] (* ****** ****** *) val PRECISION = Base (1e-5) fn multivariate_argmin{n:nat} ( f: dualnumlst n - dualnum, xs: dualnumlst n ) : dualnumlst n = let // macdef g (xs) = gradient (f, ,(xs)) // fun loop ( f: dualnumlst n - dualnum , xs: dualnumlst n, fxs: dualnum, gxs: dualnumlst n, eta: dualnum, i: int ) : dualnumlst n = let macdef g (xs) = gradient (f, ,(xs)) in // if magnitude gxs <= PRECISION then xs else if i = 10 then loop (f, xs, fxs, gxs, _2 * eta, 0) else let val xs' = vminus (xs, vscale (eta, gxs)) in if distance (xs, xs') <= PRECISION then xs else let val fxs' = f (xs') in if fxs' < fxs then loop (f, xs', fxs', g xs', eta, i+1) else loop (f, xs, fxs, gxs, eta / _2, 0) // end of [if] end // end of [if] end // end of [if] // end // end of [loop] // in loop (f, xs, f xs, g xs, PRECISION, 0) end // end of [multivariate_argmin] fn multivariate_argmax{n:nat} ( f: dualnumlst n - dualnum, xs: dualnumlst n ) : dualnumlst n = multivariate_argmin (lam xs => ~(f xs), xs) // end of [multivariate_argmax] (* ****** ****** *) fn multivariate_max{n:nat} (f: dualnumlst n - dualnum, xs: dualnumlst n): dualnum = f (multivariate_argmax (f, xs)) // end of [multivariate_max] (* ****** ****** *) fn saddle (): void = let // val start = $lst{dualnum} (_1, _1) // val xy1_star: dualnum2 = let fn f1 ( xy1: dualnum2 ) : dualnum = let val+list_pair (x1, y1) = xy1 val sum = x1 * x1 + y1 * y1 fn f2 ( xy2: dualnum2 ) : dualnum = let val+list_pair (x2, y2) = xy2 in sum - (x2 * x2 + y2 * y2) end // end of [f2] in multivariate_max (f2, start) end // end of [f1] in multivariate_argmin (f1, start) end // end of [xy1_star] // val+list_pair (x1_star, y1_star) = xy1_star // val xy2_star: dualnum2 = let val sum = x1_star * x1_star + y1_star * y1_star fn f3 ( xy2: dualnum2 ) : dualnum = let val+list_pair (x2, y2) = xy2 in sum - (x2 * x2 + y2 * y2) end // end of [f3] in multivariate_argmax (f3, start) end // end of [xy2_star] // val+list_pair (x2_star, y2_star) = xy2_star // in (* in of [let] *) // println! (x1_star); println! (y1_star); println! (x2_star); println! (y2_star); // end // end of [saddle] (* ****** ****** *) fn particle () = let // fn naive_euler (w: dualnum): dualnum = let // val _10 = Base 10.0 val delta_t = Base 1e-1 val charge1 = $lst{dualnum}(_10, _10 - w) val charge2 = $lst{dualnum}(_10, _0) val charges = $lst{dualnum2} (charge1, charge2) // fun p ( xs: dualnum2 ) : dualnum = let fun aux ( charges: List dualnum2, res: dualnum ) : dualnum = ( case+ charges of | list_cons (charge, charges) => aux (charges, res + recip_dualnum (distance (xs, charge))) | list_nil () => res ) // end of [aux] in aux (charges, _0) end // end of [p] // fun loop ( xs: dualnum2 , xs_dot: dualnum2 ) : dualnum = let val xs_Dot = vscale (__1, gradient (p, xs)) val xs_new = vplus (xs, vscale (delta_t, xs_dot)) in if list_nth_get (xs_new, 1) > _0 then loop (xs_new, vplus (xs_dot, vscale (delta_t, xs_Dot))) else let val delta_t_f = ~(list_nth_get (xs, 1) / list_nth_get (xs_dot, 1)) val xs_t_f = vplus (xs, vscale (delta_t_f, xs_dot)) in square (list_nth_get (xs_t_f, 0)) end // end of [if] end // end of [loop] // val xs_initial = $lst{dualnum}(_0, Base 8.0) val xs_dot_initial = $lst{dualnum}(Base 0.75, _0) // in loop (xs_initial, xs_dot_initial) end // end [naive_euler] // val w0 = _0 val ws_star = let // fn f (ws: dualnum1): dualnum = ( let val+list_sing (w) = ws in naive_euler (w) end ) // end of [f] // in multivariate_argmin (f, $lst{dualnum}(w0)) end // end of [val] val+list_sing(w_star) = ws_star in (* in of [let] *) // println! (w_star) // end // end of [particle] (* ****** ****** *) (* // // saddle: // 8.2463248261403561e-06 // 8.2463248261403561e-06 // 8.2463248261403561e-06 // 8.2463248261403561e-06 // // particle: // 0.20719187464861194 // *) (* ****** ****** *) implement main0 () = { val () = saddle () // test val () = particle () // test } // end of [main0] (* ****** ****** *) (* end of [autodiff.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/mysendmailist.dats0000664000175000017500000000345312655455557021075 0ustar hwxihwxi(* ****** ****** *) // // HX-2015-03-05: // For sending a message // to a list of email addresses // (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = "prelude/SATS/unsafe.sats" // (* ****** ****** *) // staload STDLIB = "libc/SATS/stdlib.sats" // (* ****** ****** *) // %{^ typedef char *charptr; %} (* %{^ *) abstype charptr = $extype"charptr" // (* ****** ****** *) // extern fun{} theFrom_get(): charptr extern fun{} theSubject_get(): charptr extern fun{} theOtherOpt_get(): charptr extern fun{} theMessage_fname(): charptr // (* ****** ****** *) extern fun{} mysendmail (string): void implement {}(*tmp*) mysendmail(x0) = let // #define N 1024 var buf = @[char][N]() // val x0 = $UN.cast{charptr}(x0) // val err = $extfcall ( int , "snprintf", addr@buf, N , "mailx -s '%s' -r '%s' %s %s < %s" , theSubject_get(), theFrom_get(), theOtherOpt_get(), x0(*receiver*), theMessage_fname() ) (* end of [val] *) // val command = $UNSAFE.cast{string}(addr@buf) // val ((*void*)) = println! ("mysendmail: command = ", command) // // (* val err = $STDLIB.system(command) val ((*void*)) = if (err = 0) then println! ("mysendmail: message is sent!") val ((*void*)) = if (err != 0) then println! ("mysendmail: message is not sent!") // *) // in end // end of [mysendmail] (* ****** ****** *) // implement theFrom_get<>() = $UN.cast{charptr}("hwxi@bu.edu") implement theSubject_get<>() = $UN.cast{charptr}("Mysendmailist") implement theOtherOpt_get<>() = $UN.cast{charptr}("-c gmhwxi@gmail.com") implement theMessage_fname<>() = $UN.cast{charptr}("./mysendmailist.dats") // (* ****** ****** *) // val xs = $list{string} ( "hwxi@cs.bu.edu" ) val () = list_foreach_cloref (xs, lam (x) = mysendmail(x)) // (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [mysendmailist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/queens_loop.dats0000664000175000017500000000472712655455557020551 0ustar hwxihwxi(* // // A program to solve the 8-queens problem // // This example is taken from Appel's book: // Modern Compiler Design and Implementation in ML // *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) #define N 8 #define N1 (N-1) (* ****** ****** *) implement{a} arrayref_make_elt {n} (asz, x0) = let // val (pf, pfgc | p0) = array_ptr_alloc (asz) // var i: size_t var p: ptr = p0 val () = $effmask_ntm ( // for ( i := i2sz(0); i < asz; i := succ(i) ) ( $UN.ptr0_set (p, x0); p := ptr_succ(p) ) // end of [for] // ) // end of [val] // in $UN.castvwtp0{arrayref(a,n)}((pf, pfgc | p0)) end // end of [arrayref_make_elt] (* ****** ****** *) local var NSOL: Nat = 0 in // in of [local] val NSOL = ref_make_viewptr {Nat} (view@ (NSOL) | addr@(NSOL)) end // end of [local] (* ****** ****** *) // val row = arrayref_make_elt (g1i2u(N), 0) val col = arrayref_make_elt (g1i2u(N), 0) // val diag1 = arrayref_make_elt (g1i2u(N+N1), 0) val diag2 = arrayref_make_elt (g1i2u(N+N1), 0) // (* ****** ****** *) fun fprint_board ( out: FILEref ) : void = let // var i: int? and j: int? // val ( ) = for* (i: natLte N) => ( i := 0; i < N; i := i + 1 ) let val i = i val () = for* (j: natLte N) => (j := 0; j < N; j := j + 1) let val j = j in fprint_string (out, if (col[i] = j) then " Q" else " .") end // end of [val] in fprint_string (out, "\n") end // end of [for] // val () = fprint_newline (out) // in // empty end (* end of [fprint_board] *) (* ****** ****** *) fun tryit ( out: FILEref, c: natLte N ) : void = let in // if (c = N) then let val () = !NSOL := !NSOL + 1 in fprint_board (out) end else let var r: natLte(N) // unitialized in // for ( r := 0; r < N; r := r+1 ) let val r = r in if (row[r] = 0) then ( if (diag1[r+c] = 0) then ( if (diag2[r+N1-c] = 0) then ( row[r] := 1; diag1[r+c] := 1; diag2[r+N1-c] := 1; col[c] := r; tryit (out, c+1); row[r] := 0; diag1[r+c] := 0; diag2[r+N1-c] := 0; ) (* end of [if] *) ) (* end of [if] *) ) (* end of [if] *) end // end of [for] // end // end of [if] // end // end of [tryit] (* ****** ****** *) implement main0 () = { // val out = stdout_ref val () = tryit (out, 0) val () = println! ("The total number of solutions is [", !NSOL, "]") // end of [val] } // end of [main] (* ****** ****** *) (* end of [queens_loop.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/strmat.dats0000664000175000017500000001136112655455557017522 0ustar hwxihwxi(* // An implementation of string matching in continuation-passing style. // The code is translated by Hongwei Xi from an earlier version in DML, // which was originally adopted by him from a version by Frank Pfenning // (fp+ AT cs DOT cmu DOT edu) *) (* ****** ****** *) // // Author: Hongwei Xi (May 2007) // (* ****** ****** *) // // HX-2012-07-20: ported to ATS2 // (* ****** ****** *) // // HX-2012-06-21: compiled to run with ATS/Postiats // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) datatype regexp (int) = | Any_char(1) (* any character *) | Empty(1) (* empty string matches Empty *) | Char(1) of Char (* "c" matches Char (c) *) // every char other than "c" matches Char (c) | Char_not(1) of Char // every char in [c1, c2] matches Chars (c1, c2) | Chars(1) of (Char, Char) // every char not in [c1, c2] matches Chars (c1, c2) | Chars_not(1) of (Char, Char) // cs matches Alt(p1, p2) if cs matches either p1 or p2 | {i,j:nat} Alt(i+j+1) of (regexp i, regexp j) // cs matches Seq(p1, p2) if a prefix of cs matches p1 and the rest matches p2 | {i,j:nat} Seq(i+j+1) of (regexp i, regexp j) // cs matches Star(p) if cs matches some, possibly 0, copies of p | {i:nat} Star(i+1) of regexp i // end of [regexp] typedef Regexp = [i:nat] regexp i // Note that [acc] is verified to be terminating! sortdef two = {a:nat | a < 2} fun acc {i0,n,i:nat} {b:two | i+b <= i0} .. ( // metric for termination verification cs0: string i0, i0: int i0, p: regexp n, i: int i, b: int b, k: {i':nat; b':two | i'+b' <= i+b} (int i', int b') - Bool ) : Bool = let (* val () = (print "acc: enter"; print_newline ()) *) in // case+ p of | Any_char () => if i > 0 then k (i-1, 1) else false | Empty () => k (i, b) | Char c => ( if i > 0 then (if c = cs0[i0-i] then k (i-1, 1) else false) else false ) // end of [Char] | Char_not c => ( if i > 0 then (if c <> cs0[i0-i] then k (i-1, 1) else false) else false ) // end of [Char_not] | Chars (c1, c2) => ( if i > 0 then let val c = cs0[i0-i] in if c1 <= c then (if c <= c2 then k (i-1, 1) else false) else false end else false // end of [if] ) // end of [Chars] | Chars_not (c1, c2) => ( if i > 0 then let val c = cs0[i0-i] in if c < c1 then k (i-1, 1) else if c > c2 then k (i-1, 1) else false end else false ) // end of [Chars_not] | Alt (p1, p2) => ( if acc (cs0, i0, p1, i, b, k) then true else acc (cs0, i0, p2, i, b, k) ) // end of [Alt] | Seq (p1, p2) => ( acc (cs0, i0, p1, i, b, lam (i', b') => acc (cs0, i0, p2, i', b', k)) ) // end of [Seq] | Star p0 => ( if k (i, b) then true else ( acc (cs0, i0, p0, i, 0, lam (i', b') => if b' = 0 then false else acc (cs0, i0, p, i', 1, k) ) // end of [acc] ) // end of [if] ) // end of [Star] // end // end of [acc] extern fun accept (cs0: String, p: Regexp): Bool implement accept (cs0, p) = let val i0 = g1uint2int (string_length cs0) in acc (cs0, i0, p, i0, 0, lam (i, _) => i = 0) end // end of [accept] // // HX: some tests // val regexp_digit = Chars ('0', '9') val regexp_digits = Star (Chars ('0', '9')) val regexp_uint = Alt (Char '0', Seq (Chars ('1', '9'), regexp_digits)) val regexp_int = Alt (regexp_uint, Seq (Alt (Char '-', Char '+'), regexp_uint)) val regexp_dot_sats = Seq (Star Any_char, Seq (Char '.', Seq (Char 's', Seq (Char 'a', Seq (Char 't', Char 's'))))) val regexp_dot_dats = Seq (Star Any_char, Seq (Char '.', Seq (Char 'd', Seq (Char 'a', Seq (Char 't', Char 's'))))) implement main (argc, argv) = let val ans10 = accept ("123456789", regexp_int) val () = assertloc (ans10) val ans11 = accept ("+123456789", regexp_int) val () = assertloc (ans11) val ans12 = accept ("-123456789", regexp_int) val () = assertloc (ans12) val ans20 = accept ("abcde", regexp_int) val () = assertloc (~ans20) val ans31 = accept ("abcde.sats", regexp_dot_sats) val () = assertloc (ans31) val ans32 = accept ("abcde.sats", regexp_dot_dats) val () = assertloc (~ans32) val ans41 = accept ("abcde.dats", regexp_dot_sats) val () = assertloc (~ans41) val ans42 = accept ("abcde.dats", regexp_dot_dats) val () = assertloc (ans42) in (* print ("ans10(true) = "); print ans10; print_newline (); print ("ans11(true) = "); print ans11; print_newline (); print ("ans12(true) = "); print ans12; print_newline (); print ("ans20(false) = "); print ans20; print_newline (); print ("ans31(true) = "); print ans31; print_newline (); print ("ans32(false) = "); print ans32; print_newline (); print ("ans41(false) = "); print ans41; print_newline (); print ("ans42(true) = "); print ans42; print_newline (); *) 0(*normal*) end // end of [main] (* ****** ****** *) (* end of [strmat.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/monad_list.dats0000664000175000017500000000463512655455557020347 0ustar hwxihwxi(* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Time: the 10th of November, 2015 // // Please see: // http://rosettacode.org/wiki/Amb // (* ****** ****** *) // #include "share/atspre_staload.hats" #include "share/HATS/atspre_staload_libats_ML.hats" // (* ****** ****** *) // staload "libats/ML/SATS/monad_list.sats" staload _ = "libats/ML/DATS/monad_list.dats" // (* ****** ****** *) // datatype words = | Sing of stringGt(0) | Comb of (words, words) // (* ****** ****** *) // extern fun words_get_beg(words): char extern fun words_get_end(words): char // (* ****** ****** *) // implement words_get_beg(w0) = ( case+ w0 of | Sing(cs) => cs[0] | Comb(w1, w2) => words_get_beg(w1) ) // implement words_get_end(w0) = ( case+ w0 of | Sing(cs) => cs[pred(length(cs))] | Comb(w1, w2) => words_get_end(w2) ) // (* ****** ****** *) // fun words_comb ( w1: words, w2: words ) : list0(words) = if (words_get_end(w1)=words_get_beg(w2)) then list0_sing(Comb(w1, w2)) else list0_nil() // (* ****** ****** *) // extern fun fprint_words: fprint_type(words) // overload fprint with fprint_words // implement fprint_words(out, ws) = ( case+ ws of | Sing(w) => fprint(out, w) | Comb(w1, w2) => fprint!(out, w1, ' ', w2) ) // implement fprint_val = fprint_words // (* ****** ****** *) // typedef a = stringGt(0) and b = words // val ws1 = $list{a}("this", "that", "a") val ws1 = list_map_fun(ws1, lam(x) => Sing(x)) val ws1 = monad_list_list(list0_of_list_vt(ws1)) // val ws2 = $list{a}("frog", "elephant", "thing") val ws2 = list_map_fun(ws2, lam(x) => Sing(x)) val ws2 = monad_list_list(list0_of_list_vt(ws2)) // val ws3 = $list{a}("walked", "treaded", "grows") val ws3 = list_map_fun(ws3, lam(x) => Sing(x)) val ws3 = monad_list_list(list0_of_list_vt(ws3)) // val ws4 = $list{a}("slowly", "quickly") val ws4 = list_map_fun(ws4, lam(x) => Sing(x)) val ws4 = monad_list_list(list0_of_list_vt(ws4)) // (* ****** ****** *) // val ws12 = monad_bind2 (ws1, ws2, lam (w1, w2) => monad_list_list(words_comb(w1, w2))) val ws123 = monad_bind2 (ws12, ws3, lam (w12, w3) => monad_list_list(words_comb(w12, w3))) val ws1234 = monad_bind2 (ws123, ws4, lam (w123, w4) => monad_list_list(words_comb(w123, w4))) // (* ****** ****** *) implement main0 () = { val () = fprintln! (stdout_ref, "ws1234 = ", ws1234) } (* ****** ****** *) (* end of [monad_list.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/passwdgen.dats0000664000175000017500000000471112655455557020204 0ustar hwxihwxi(* ** ** random password generation ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: August, 2008 ** *) (* ****** ****** *) // // HX: Happy Thanksgiving! // HX: ported to Postiats on November 22, 2012 // (* ****** ****** *) // #include "share/atspre_define.hats" #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STDLIB = "libc/SATS/stdlib.sats" staload RANDGEN = "{$LIBATSHWXI}/testing/SATS/randgen.sats" (* ****** ****** *) implement{a} arrayref_make_elt {n} (asz, x0) = let // val (pf, pfgc | p0) = array_ptr_alloc (asz) // var i: size_t var p: ptr = p0 val () = $effmask_ntm ( // for ( i := i2sz(0); i < asz; i := succ(i) ) ( $UN.ptr0_set (p, x0); p := ptr_succ(p) ) // end of [for] // ) // end of [val] // in $UN.castvwtp0{arrayref(a,n)}((pf, pfgc | p0)) end // end of [arrayref_make_elt] (* ****** ****** *) implement(a:t0p) fprint_arrayref_sep {n} (out, A, asz, sep) = let // fun loop (i: sizeLte(n)): void = ( if i < asz then ( if i > 0 then fprint_string (out, sep); fprint_val (out, A[i]); loop (succ(i)) ) else () // end of [if] ) (* end of [loop] *) // prval () = lemma_arrayref_param (A) // in loop (i2sz(0)) end // end of [fprint_arrayref_sep] (* ****** ****** *) %{^ #include #include atsvoid_t0ype srand_with_time () { srand(time(0)) ; return ; } %} extern fun srand_with_time (): void = "ext#" (* ****** ****** *) (* fun{} randint {n:pos} (n: int n): natLt (n) *) implement $RANDGEN.randint<> {n} (n) = $UN.cast{natLt(n)}($STDLIB.rand() mod n) (* ****** ****** *) implement main ( argc, argv ) = 0 where { var n: int = 8 val () = if argc >= 2 then n := $STDLIB.atoi (argv[1]) // end of [val] val [n:int] n = g1ofg0_int (n) val () = assert (n >= 0) val () = srand_with_time ((*void*)) val asz = g1int2uint (n) val passwd = arrayref_make_elt (asz, '\000') val () = loop (passwd, n, 0) where { fun loop {i:nat | i <= n} .. ( passwd: arrayref (char, n), n: int n, i: int i ) : void = if (i < n) then let val () = passwd[i] := int2char0 ($RANDGEN.randint (94) + 33) in loop (passwd, n, i+1) end else () // end of [if] } // end of [where] // val out = stdout_ref val () = fprint_arrayref_sep (out, passwd, asz, "") val () = fprint_newline (out) // } // end of [main] (* ****** ****** *) (* end of [passwdgen.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/wclines.dats0000664000175000017500000000531212655455557017653 0ustar hwxihwxi(* ** ** A fast approach to counting newlines ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: April 17, 2013 ** *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN="prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/stdio.sats" (* ****** ****** *) %{^ extern void *rawmemchr(const void *s, int c); #define atslib_rawmemchr rawmemchr %} extern fun rawmemchr {l:addr}{m:int} ( pf: bytes_v (l, m) | p: ptr l, c: int ) : [l2:addr | l+m > l2] ( bytes_v (l, l2-l), bytes_v (l2, l+m-l2) | ptr l2 ) = "mac#atslib_rawmemchr" // end of [rawmemchr] (* ****** ****** *) #define BUFSZ (16*1024) (* ****** ****** *) extern fun freadc // read bytes and then add [c] at the end {l:addr} ( pf: !bytes_v (l, BUFSZ) | inp: FILEref, p: ptr l, c: char ) : size_t // end of [freadc] implement freadc (pf | inp, p, c) = let val n = $extfcall (size_t, "fread", p, sizeof, BUFSZ-1, inp) val () = $UN.ptr0_set (ptr_add (p, n), c) in n end (* end of [freadc] *) (* ****** ****** *) extern fun wclbuf {l:addr}{n:int} ( pf: !bytes_v (l, n) | p: ptr l, pz: ptr, c: int, res: int ) : int // end of [wclbuf] implement wclbuf (pf | p, pz, c, res) = let val (pf1, pf2 | p2) = rawmemchr (pf | p, c) in // if p2 < pz then let prval (pf21, pf22) = array_v_uncons (pf2) val res = wclbuf (pf22 | ptr_succ(p2), pz, c, res + 1) prval () = pf2 := array_v_cons (pf21, pf22) prval () = pf := bytes_v_unsplit (pf1, pf2) in res end else let prval () = pf := bytes_v_unsplit (pf1, pf2) in res end // end of [if] // end (* end of [wcbuf] *) (* ****** ****** *) extern fun wclfil{l:addr} ( pf: !bytes_v (l, BUFSZ) | inp: FILEref, p: ptr l, c: int ) : int // end of [wclfil] implement wclfil{l} (pf | inp, p, c) = let // fun loop ( pf: !bytes_v (l, BUFSZ) | inp: FILEref, p: ptr l, c: int, res: int ) : int = let // val n = freadc (pf | inp, p, $UN.cast{char}(c)) // in // if n > 0 then let val pz = ptr_add (p, n) val res = wclbuf (pf | p, pz, c, res) in loop (pf | inp, p, c, res) end else res (* end of [if] *) // end // end of [loop] // in loop (pf | inp, p, c, 0(*res*)) end (* end of [wclfil] *) (* ****** ****** *) implement main0 (argc, argv) = { var inp: FILEref = stdin_ref val () = ( if argc >= 2 then inp := fopen_ref_exn (argv[1], file_mode_r) // end of [if] ) // val ( pfat, pfgc | p ) = malloc_gc (g1i2u(BUFSZ)) prval () = pfat := b0ytes2bytes_v (pfat) val res = wclfil (pfat | inp, p, $UN.cast2int('\n')) val () = mfree_gc (pfat, pfgc | p) // val () = println! ("wclines: number of lines = ", res) // val () = if argc >= 2 then fclose_exn (inp) } (* end of [main0] *) (* ****** ****** *) (* end of [wclines.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/sieve.dats0000664000175000017500000000302412655455557017320 0ustar hwxihwxi(* // // Implementing Erathosthene's sieve // // author: Hongwei Xi (November, 2006) // *) (* ****** ****** *) // // HX-2012-11-25: ported to ATS/Postiats (typecheck) // HX-2012-06-08: ported to ATS/Postiats (compilation) // (* ****** ****** *) staload INT = "prelude/DATS/integer.dats" (* ****** ****** *) // // lazy list: // datatype llist = lcons of (intGte 2, () - llist) // #define :: lcons // (* ****** ****** *) fun filter (p: intGte 2 - bool, xs: llist): llist = let val+ x :: fxs = xs in if p (x) then x :: (lam () = filter (p, fxs ())) else filter (p, fxs ()) end // end of [filter] // infix nmod macdef nmod (x1, x2) = g1int_nmod (,(x1), ,(x2)) fun sieve ( xs: llist ) : llist = let val+ x :: fxs = xs in x :: (lam () => sieve (filter (lam (x') => (x' nmod x) != 0, fxs ()))) end // end of [sieve] // val rec primes: llist = let fun aux (i: intGte 2): llist = i :: (lam () => aux (i + 1)) in sieve (aux 2) end // end of [primes] // (* ****** ****** *) fun print_ints (N: int, xs: llist): void = ( if N > 0 then let val+ x :: fxs = xs in print x; print ", "; print_ints (N-1, fxs ()) end else (print "..."; print_newline ()) ) // end of [print_ints] (* ****** ****** *) // implement main (argc, argv) = let // val N = ( if argc >= 2 then $extfcall (int, "atoi", argv[1]) else 100 ) : int // end of [val] // val () = assertloc (N > 0) // in let val () = print_ints (N, primes) in 0(*normal*) end end // end of [main] // (* ****** ****** *) (* end of [sieve.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/matrixops.dats0000664000175000017500000000104712655455557020236 0ustar hwxihwxi(* // // Some operations on matrices // *) (* ****** ****** *) extern fun{a:t0p} mul_scalar_matrix {m,n:int} ( c: a , A: &matrix (INV(a), m, n) >> _ , m: size_t m, n: size_t n ) : void // end of [mul_scalar_matrix] (* ****** ****** *) implement{a} mul_scalar_matrix (c, A, m, n) = let // implement(env) matrix_foreach$fwork (x, env) = (x := gmul_val_val (c, x)) // in matrix_foreach (A, m, n) end // end of [mul_scalar_matrix] (* ****** ****** *) implement main () = 0 (* ****** ****** *) (* end of [matrixops.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/sllist_mapfree.dats0000664000175000017500000000250412655455557021220 0ustar hwxihwxi(* // // HX-2013-04: // some code for use in Matt's HCSS talk in May // *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/sllist.sats" staload _ = "libats/DATS/gnode.dats" staload _ = "libats/DATS/sllist.dats" (* ****** ****** *) extern fun{ a:t0p}{b:t0p } sllist_mapfree$fwork (x: a): b extern fun{ a:t0p}{b:t0p } sllist_mapfree {n:nat} (xs: sllist (INV(a), n)): sllist (b, n) (* ****** ****** *) #define nil sllist_nil #define cons sllist_cons #define :: sllist_cons (* ****** ****** *) implement{a}{b} sllist_mapfree (xs) = ( if sllist_is_cons (xs) then let var xs = xs val x0 = sllist_uncons (xs) val y0 = sllist_mapfree$fwork (x0) in y0 :: sllist_mapfree (xs) end else let prval () = sllist_free_nil (xs) in sllist_nil () end (* end of [if] *) ) (* ****** ****** *) fun test() = let // val out = stdout_ref val xs = sllist_nil{int}() val xs = 1 :: 2 :: 3 :: 4 :: 5 :: xs val () = fprintln! (out, "xs = ", xs) // local implement sllist_mapfree$fwork (a) = a * a in val xs2 = sllist_mapfree (xs) end // val () = fprintln! (out, "xs2 = ", xs2) // val () = sllist_free (xs2) // in // nothing end // end of [test] (* ****** ****** *) implement main0 (argc, argv) = test() (* ****** ****** *) (* end of [sllist_mapfree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/Makefile0000664000175000017500000002740312655455557016777 0ustar hwxihwxi# # # This Makefile is automatically generated # from executing the following command-line: # # make -f Makefile.gen # # ###### CCOPT=gcc -std=c99 ###### ifeq ("$(PATSHOME)","") PATSHOMEQ="$(ATSHOME)" else PATSHOMEQ="$(PATSHOME)" endif ###### PATSOPT=$(PATSHOMEQ)/bin/patsopt PATSLIB=$(PATSHOMEQ)/ccomp/atslib/lib ###### all:: ###### LNS=ln -s RMF=rm -f ###### # all:: arith_overflow arith_overflow: arith_overflow.exe arith_overflow.exe: arith_overflow_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< arith_overflow_dats.c: arith_overflow.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output arith_overflow_dats.c --dynamic arith_overflow.dats clean:: ; $(RMF) arith_overflow_dats.o clean:: ; $(RMF) arith_overflow_dats.c cleanall:: ; $(RMF) arith_overflow arith_overflow.exe all:: coinflip coinflip: coinflip.exe coinflip.exe: coinflip_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< coinflip_dats.c: coinflip.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output coinflip_dats.c --dynamic coinflip.dats clean:: ; $(RMF) coinflip_dats.o clean:: ; $(RMF) coinflip_dats.c cleanall:: ; $(RMF) coinflip coinflip.exe all:: ferryman ferryman: ferryman.exe ferryman.exe: ferryman_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< ferryman_dats.c: ferryman.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output ferryman_dats.c --dynamic ferryman.dats clean:: ; $(RMF) ferryman_dats.o clean:: ; $(RMF) ferryman_dats.c cleanall:: ; $(RMF) ferryman ferryman.exe all:: fibver_loop fibver_loop: fibver_loop.exe fibver_loop.exe: fibver_loop_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< fibver_loop_dats.c: fibver_loop.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output fibver_loop_dats.c --dynamic fibver_loop.dats clean:: ; $(RMF) fibver_loop_dats.o clean:: ; $(RMF) fibver_loop_dats.c cleanall:: ; $(RMF) fibver_loop fibver_loop.exe all:: fibver_trec fibver_trec: fibver_trec.exe fibver_trec.exe: fibver_trec_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< fibver_trec_dats.c: fibver_trec.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output fibver_trec_dats.c --dynamic fibver_trec.dats clean:: ; $(RMF) fibver_trec_dats.o clean:: ; $(RMF) fibver_trec_dats.c cleanall:: ; $(RMF) fibver_trec fibver_trec.exe all:: isqrt isqrt: isqrt.exe isqrt.exe: isqrt_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< isqrt_dats.c: isqrt.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output isqrt_dats.c --dynamic isqrt.dats clean:: ; $(RMF) isqrt_dats.o clean:: ; $(RMF) isqrt_dats.c cleanall:: ; $(RMF) isqrt isqrt.exe all:: matrixops matrixops: matrixops.exe matrixops.exe: matrixops_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< matrixops_dats.c: matrixops.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output matrixops_dats.c --dynamic matrixops.dats clean:: ; $(RMF) matrixops_dats.o clean:: ; $(RMF) matrixops_dats.c cleanall:: ; $(RMF) matrixops matrixops.exe # all:: autodiff autodiff: autodiff.exe autodiff.exe: autodiff_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_GCBDW -O2 -o $@ $< -lm -lgc autodiff_dats.c: autodiff.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output autodiff_dats.c --dynamic autodiff.dats clean:: ; $(RMF) autodiff_dats.o clean:: ; $(RMF) autodiff_dats.c cleanall:: ; $(RMF) autodiff autodiff.exe all:: fib_memo fib_memo: fib_memo.exe fib_memo.exe: fib_memo_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib fib_memo_dats.c: fib_memo.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output fib_memo_dats.c --dynamic fib_memo.dats clean:: ; $(RMF) fib_memo_dats.o clean:: ; $(RMF) fib_memo_dats.c cleanall:: ; $(RMF) fib_memo fib_memo.exe all:: fourslot fourslot: fourslot.exe fourslot.exe: fourslot_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< fourslot_dats.c: fourslot.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output fourslot_dats.c --dynamic fourslot.dats clean:: ; $(RMF) fourslot_dats.o clean:: ; $(RMF) fourslot_dats.c cleanall:: ; $(RMF) fourslot fourslot.exe all:: hanoi hanoi: hanoi.exe hanoi.exe: hanoi_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< hanoi_dats.c: hanoi.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output hanoi_dats.c --dynamic hanoi.dats clean:: ; $(RMF) hanoi_dats.o clean:: ; $(RMF) hanoi_dats.c cleanall:: ; $(RMF) hanoi hanoi.exe all:: monad_list monad_list: monad_list.exe monad_list.exe: monad_list_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< monad_list_dats.c: monad_list.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output monad_list_dats.c --dynamic monad_list.dats clean:: ; $(RMF) monad_list_dats.o clean:: ; $(RMF) monad_list_dats.c cleanall:: ; $(RMF) monad_list monad_list.exe all:: monad_maybe monad_maybe: monad_maybe.exe monad_maybe.exe: monad_maybe_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< monad_maybe_dats.c: monad_maybe.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output monad_maybe_dats.c --dynamic monad_maybe.dats clean:: ; $(RMF) monad_maybe_dats.o clean:: ; $(RMF) monad_maybe_dats.c cleanall:: ; $(RMF) monad_maybe monad_maybe.exe all:: monad_state monad_state: monad_state.exe monad_state.exe: monad_state_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< monad_state_dats.c: monad_state.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output monad_state_dats.c --dynamic monad_state.dats clean:: ; $(RMF) monad_state_dats.o clean:: ; $(RMF) monad_state_dats.c cleanall:: ; $(RMF) monad_state monad_state.exe all:: morse_enum morse_enum: morse_enum.exe morse_enum.exe: morse_enum_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib morse_enum_dats.c: morse_enum.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output morse_enum_dats.c --dynamic morse_enum.dats clean:: ; $(RMF) morse_enum_dats.o clean:: ; $(RMF) morse_enum_dats.c cleanall:: ; $(RMF) morse_enum morse_enum.exe all:: mysendmailist mysendmailist: mysendmailist.exe mysendmailist.exe: mysendmailist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< mysendmailist_dats.c: mysendmailist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output mysendmailist_dats.c --dynamic mysendmailist.dats clean:: ; $(RMF) mysendmailist_dats.o clean:: ; $(RMF) mysendmailist_dats.c cleanall:: ; $(RMF) mysendmailist mysendmailist.exe all:: passwdgen passwdgen: passwdgen.exe passwdgen.exe: passwdgen_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< passwdgen_dats.c: passwdgen.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output passwdgen_dats.c --dynamic passwdgen.dats clean:: ; $(RMF) passwdgen_dats.o clean:: ; $(RMF) passwdgen_dats.c cleanall:: ; $(RMF) passwdgen passwdgen.exe all:: queens_lazy queens_lazy: queens_lazy.exe queens_lazy.exe: queens_lazy_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< queens_lazy_dats.c: queens_lazy.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output queens_lazy_dats.c --dynamic queens_lazy.dats clean:: ; $(RMF) queens_lazy_dats.o clean:: ; $(RMF) queens_lazy_dats.c cleanall:: ; $(RMF) queens_lazy queens_lazy.exe all:: queens_loop queens_loop: queens_loop.exe queens_loop.exe: queens_loop_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< queens_loop_dats.c: queens_loop.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output queens_loop_dats.c --dynamic queens_loop.dats clean:: ; $(RMF) queens_loop_dats.o clean:: ; $(RMF) queens_loop_dats.c cleanall:: ; $(RMF) queens_loop queens_loop.exe all:: randerlin randerlin: randerlin.exe randerlin.exe: randerlin_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< randerlin_dats.c: randerlin.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output randerlin_dats.c --dynamic randerlin.dats clean:: ; $(RMF) randerlin_dats.o clean:: ; $(RMF) randerlin_dats.c cleanall:: ; $(RMF) randerlin randerlin.exe all:: readdirall readdirall: readdirall.exe readdirall.exe: readdirall_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib readdirall_dats.c: readdirall.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output readdirall_dats.c --dynamic readdirall.dats clean:: ; $(RMF) readdirall_dats.o clean:: ; $(RMF) readdirall_dats.c cleanall:: ; $(RMF) readdirall readdirall.exe all:: sieve sieve: sieve.exe sieve.exe: sieve_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< sieve_dats.c: sieve.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output sieve_dats.c --dynamic sieve.dats clean:: ; $(RMF) sieve_dats.o clean:: ; $(RMF) sieve_dats.c cleanall:: ; $(RMF) sieve sieve.exe all:: sllist_mapfree sllist_mapfree: sllist_mapfree.exe sllist_mapfree.exe: sllist_mapfree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< sllist_mapfree_dats.c: sllist_mapfree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output sllist_mapfree_dats.c --dynamic sllist_mapfree.dats clean:: ; $(RMF) sllist_mapfree_dats.o clean:: ; $(RMF) sllist_mapfree_dats.c cleanall:: ; $(RMF) sllist_mapfree sllist_mapfree.exe all:: stdlib_bsearch stdlib_bsearch: stdlib_bsearch.exe stdlib_bsearch.exe: stdlib_bsearch_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< stdlib_bsearch_dats.c: stdlib_bsearch.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output stdlib_bsearch_dats.c --dynamic stdlib_bsearch.dats clean:: ; $(RMF) stdlib_bsearch_dats.o clean:: ; $(RMF) stdlib_bsearch_dats.c cleanall:: ; $(RMF) stdlib_bsearch stdlib_bsearch.exe all:: strmat strmat: strmat.exe strmat.exe: strmat_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< strmat_dats.c: strmat.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output strmat_dats.c --dynamic strmat.dats clean:: ; $(RMF) strmat_dats.o clean:: ; $(RMF) strmat_dats.c cleanall:: ; $(RMF) strmat strmat.exe all:: wclines wclines: wclines.exe wclines.exe: wclines_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib wclines_dats.c: wclines.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output wclines_dats.c --dynamic wclines.dats clean:: ; $(RMF) wclines_dats.o clean:: ; $(RMF) wclines_dats.c cleanall:: ; $(RMF) wclines wclines.exe all:: word-chain word-chain: word-chain.exe word-chain.exe: word-chain_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib word-chain_dats.c: word-chain.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output word-chain_dats.c --dynamic word-chain.dats clean:: ; $(RMF) word-chain_dats.o clean:: ; $(RMF) word-chain_dats.c cleanall:: ; $(RMF) word-chain word-chain.exe # ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o *_?ats.c clean:: ; $(RMF) *_atxt.txt clean:: ; $(RMF) *_atxt.dats clean:: ; $(RMF) Makefile.exe cleanall:: clean ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/word-chain.dats0000664000175000017500000001345712655455557020253 0ustar hwxihwxi// // For chaining words based on // their occurrences in a given file // (* ****** ****** *) // // HX-2014-06 // (* ****** ****** *) // #include "share/atspre_staload.hats" // #include "share/HATS/atspre_staload_libats_ML.hats" // (* ****** ****** *) // staload UN = $UNSAFE // (* ****** ****** *) // staload "libats/SATS/qlist.sats" staload _ = "libats/DATS/qlist.dats" // (* ****** ****** *) // staload "libats/SATS/hashfun.sats" // (* ****** ****** *) // typedef word = string // typedef wordlst = List0 (word) typedef wordlst(n:int) = list(word, n) vtypedef wordlst_vt(n:int) = list_vt(word, n) // vtypedef wordque(n:int) = qlist(word, n) // (* ****** ****** *) extern fun wordque_insert_list {n0:int}{n:int} ( wq: !wordque(n0) >> wordque(n0+n), ws: wordlst(n) ) : void // end of [wordque_insert_list] (* ****** ****** *) implement wordque_insert_list (wq, ws) = ( case+ ws of | nil () => () | cons (w, ws) => let val () = qlist_insert (wq, w) in wordque_insert_list (wq, ws) end // end of [cons] ) (* ****** ****** *) extern fun{} word_get (): stropt implement word_get<> () = let // implement fileref_get_word$isalpha<> (letter) = not(isspace(letter)) // in // strptr2stropt (fileref_get_word (stdin_ref)) // end // end of [word_get] (* ****** ****** *) // extern fun stringlst_hash (xs: List0(string)): ulint // (* ****** ****** *) implement stringlst_hash (xs) = let // fun loop ( K: ulint, H: ulint, xs: List0(string) ) : ulint = ( case+ xs of | list_nil () => H | list_cons (x, xs) => let val H = string_hash_multiplier (K, H, x) in loop (K, H, xs) end // end of [list_cons] ) // in loop (33ul(*K*), 31415926536ul(*H0*), xs) end // end of [stringlst_hash] (* ****** ****** *) abstype wordmap_type = ptr typedef wordmap = wordmap_type (* ****** ****** *) extern fun wordmap_make_nil (): wordmap (* ****** ****** *) extern fun wordmap_find {n:int | n > 0} ( map: wordmap, ws: wordlst(n) ) : wordlst // end-of-fun (* ****** ****** *) extern fun wordmap_insert {n:int | n > 0} ( map: wordmap, ws: wordlst(n), w: word ) : wordmap // end of [wordmap_insert] (* ****** ****** *) extern fun{} fprint_wordmap ( out: FILEref, map: wordmap ) : void // end of [fprint_wordmap] // overload fprint with fprint_wordmap // (* ****** ****** *) local // typedef key = list0(word) typedef itm = list0(word) // assume wordmap_type = hashtbl (key, itm) // implement hash_key (k) = $effmask_all (stringlst_hash (g1ofg0(k))) // implement equal_key_key (k1, k2) = list_equal (g1ofg0(k1), g1ofg0(k2)) // in (* in-of-local *) implement wordmap_make_nil ( // argumentless ) = hashtbl_make_nil (i2sz(4096)) implement wordmap_find (map, ws) = let // val ws = g0ofg1_list (ws) val res = hashtbl_search_ref (map, ws) val isnot = cptr_isnot_null (res) // in // if isnot then g1ofg0($UN.cptr_get(res)) else list_nil((*void*)) // end // end of [wordmap_find] implement wordmap_insert (map, ws, w) = let // val ws = g0ofg1_list (ws) val res = hashtbl_search_ref (map, ws) val isnot = cptr_isnot_null (res) // in // if isnot then let val ws = $UN.cptr_get (res) val () = $UN.cptr_set (res, cons0 (w, ws)) in map end // end of [then] else let val () = hashtbl_insert_any (map, ws, list0_sing (w)) in map end // end of [else] // end // end of [wordmap_insert] implement {}(*tmp*) fprint_wordmap (out, map) = fprint_hashtbl (out, map) end // end of [local] (* ****** ****** *) extern fun{} wordmap_build{n:pos}(ws: wordlst(n)): wordmap (* ****** ****** *) implement {}(*tmp*) wordmap_build {n}(ws0) = let // fun loop ( map: wordmap, wq: qlist(word, n) ) : wordmap = let // val opt = word_get () val issome = stropt_is_some (opt) // in // if issome then let val w = stropt_unsome (opt) val ws = qlist_takeout_list (wq) val ws = list_vt2t (ws) val map = wordmap_insert (map, ws, w) val+list_cons (_, ws) = ws val () = wordque_insert_list (wq, ws) val () = qlist_insert (wq, w) in loop (map, wq) end // end of [then] else let val () = free (qlist_takeout_list (wq)) val () = qlist_free_nil{word} (wq) in (map) end // end of [else] // end // end of [loop] // val map = wordmap_make_nil () val wq0 = qlist_make_nil{word}() val ((*void*)) = wordque_insert_list (wq0, ws0) // in loop (map, wq0) end // end of [wordmap_build] (* ****** ****** *) // staload STDLIB = "libc/SATS/stdlib.sats" // extern fun wordlst_choose {n:pos}(ws: wordlst(n), n: int(n)): word // implement wordlst_choose {n} (ws, n) = let val x = $STDLIB.random() val i = $UN.cast{natLt(n)}(x mod $UN.cast2lint(n)) in list_get_at (ws, i) end // end of [wordlst_choose] // (* ****** ****** *) // extern fun wordmap_nchoose{n:pos} (map: wordmap, ws0: wordlst(n), N: int): void // (* ****** ****** *) implement wordmap_nchoose {n}(map, ws0, N) = let // fun loop ( ws: wordlst_vt(n), i: int ) : void = ( if (i > 0) then let typedef key = list0(word) typedef itm = list0(word) val ws_itm = wordmap_find (map, $UN.list_vt2t(ws)) val n = length (ws_itm) // val () = assertloc (n > 0) val w_chosen = wordlst_choose (ws_itm, n) val () = fprint! (stdout_ref, ' ', w_chosen) // val+~list_vt_cons (_, ws) = ws val ws = list_vt_extend (ws, w_chosen) in loop (ws, pred(i)) end // end of [then] else list_vt_free (ws) ) // in loop (list_copy (ws0), N) end // end of [wordmap_nchoose] (* ****** ****** *) implement main0 () = () where { // val ws0 = $list{word}("", "") // val map = wordmap_build (ws0) // (* local implement fprint_hashtbl$sep<> = fprint_newline implement fprint_hashtbl$mapto<> (out) = fprint (out, " => ") in (*in-of-local*) val () = fprintln! (stdout_ref, "map = ", map) end // end of [local] *) // val ws1 = $list{word}("", "") val () = fprint_list_sep (stdout_ref, ws1, " ") val () = wordmap_nchoose (map, ws1, 250) // } (* end of [main0] *) (* ****** ****** *) (* end of [word-chain.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/coinflip.dats0000664000175000017500000000667412655455557020026 0ustar hwxihwxi// // One of the early examples // It was first done in ATS/Geizella // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Start Time: circa May, 2007 // (* ****** ****** *) // // HX: // The *awkward* style should be not be changed // so as to preserve a bit history about the development // of ATS // (* ****** ****** *) // // HX-2013-06-08: ported to ATS2 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload TIME = "libc/SATS/time.sats" staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) extern fun array_int_ptr_make : {n:nat} int n -<0,!wrt> [l:addr] (@[Nat][n] @ l | ptr l) = "ats_array_int_ptr_make" extern fun array_int_ptr_free : {n:nat} {l:addr} (@[Nat?][n] @ l | ptr l) -<0,!wrt> void = "ats_array_int_ptr_free" extern fun array_int_ptr_get : {n:nat} {l:addr} (! @[Nat][n] @ l | ptr l, natLt n) -<> Nat = "ats_array_int_ptr_get" extern fun array_int_ptr_set : {n:nat} {l:addr} (! @[Nat][n] @ l | ptr l, natLt n, Nat) -<0,!wrt> void = "ats_array_int_ptr_set" %{^ atstype_ptr ats_array_int_ptr_make (atstype_int n) { return calloc (n, sizeof(int)) ; } atsvoid_t0ype ats_array_int_ptr_free (atstype_ptr A) { free (A) ; return ; } atstype_int ats_array_int_ptr_get (atstype_ptr A, atstype_int i) { return ((atstype_int *)A)[i] ; } atsvoid_t0ype ats_array_int_ptr_set (atstype_ptr A, atstype_int i, atstype_int x) { ((atstype_int *)A)[i] = x ; return ; } %} // end of [%{^] (* ****** ****** *) fn heads_one (): bool = $STDLIB.drand48 () < 0.5 fn heads_many{n:nat} (n: int n): natLte n = let // fun aux {i,s:nat | i + s <= n} .. (i: int i, s: int s): natLte n = if i > 0 then (if heads_one () then aux (i-1, s+1) else aux (i-1, s)) else s // end of [if] in aux (n, 0) end // end of [heads_many] fn test_one {n:nat} {l:addr} (pf: ! @[Nat][n+1] @ l | A: ptr l, n: int n): void = let val cnt = heads_many (n) in array_int_ptr_set (pf | A, cnt, array_int_ptr_get (pf | A, cnt) + 1) end // end of [test_one] fun test_many {m,n:nat}{l:addr} .. ( pf: ! @[Nat][n+1] @ l | A: ptr l, m: int m, n: int n ) : void = let in // if m > 0 then (test_one (pf | A, n); test_many (pf | A, m-1, n)) else () // end of [if] // end // end of [test_many] #define INC 16 fn test_show_one {l:addr} (times: Nat): void = let fun aux {t,i:nat} .. (t: int t, i: int i): void = if i < t then (print '*'; aux (t, i+INC)) else print_newline () in if times > 0 then aux (times, 0) else print ".\n" end // end of [test_show_one] fun test_show_all {n,i:nat | i <= n+1} {l:addr} .. (pf: ! @[Nat][n+1] @ l | A: ptr l, n: int n, i: int i): void = if i <= n then (test_show_one (array_int_ptr_get (pf | A, i)); test_show_all (pf | A, n, i+1)) else () // end of [test_show_all] (* ****** ****** *) #define M 4096 #define N 32 staload UN = "prelude/SATS/unsafe.sats" implement main0 () = { // val time = $TIME.time () val () = $STDLIB.srand48($UN.cast{lint}(time)) val (pf | A) = array_int_ptr_make (N+1) // val clock_sta = $UN.cast{double}($TIME.clock ()) // val () = test_many (pf | A, M, N) val () = test_show_all (pf | A, N, 1) val () = array_int_ptr_free (pf | A) // val clock_fin = $UN.cast{double}($TIME.clock ()) // val time_spent = (clock_fin - clock_sta) / $UN.cast{double}($TIME.CLOCKS_PER_SEC) // end of [val] // val _ = $extfcall (int, "printf", "time spent = %.10f\n", time_spent) // } // end of [main0] (* ****** ****** *) (* end of [coinflip.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/fibver_loop.dats0000664000175000017500000000256512655455557020524 0ustar hwxihwxi(* ** A verfied implementation that computes the Fibonacci numbers ** Note that proof construction is combined with the while-loop ** construct in this example. ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: September, 2012 *) (* ****** ****** *) staload _(*INT*) = "prelude/DATS/integer.dats" (* ****** ****** *) dataprop FIB (int, int) = | FIB0 (0, 0) | FIB1 (1, 1) | {n:nat} {r0,r1:int} FIB2 (n+2, r0+r1) of (FIB (n, r0), FIB (n+1, r1)) // end of [FIB] (* ****** ****** *) fun fibver {n:nat} .<>. (n: int n) : [r:int] (FIB (n, r) | int r) = let var r0: int = 0 var r1: int = 1 var i : int = 0 prvar pf0 = FIB0 () prvar pf1 = FIB1 () val () = while* { i:nat;r0,r1:int | i <= n } .. ( pf0: FIB (i, r0) , pf1: FIB (i+1, r1) , i: int (i), r0: int r0, r1: int r1 ) : [r:int] (pf0 : FIB (n, r), r0: int r) => ( i < n ) { val () = i := i+1 val tmp = r0 + r1 val () = r0 := r1 val () = r1 := tmp prval pf1_ = pf1 prval pf0_ = pf0 prval pftmp = FIB2 (pf0_, pf1_) prval () = pf0 := pf1_ prval () = pf1 := pftmp } (* end of [while*] *) in (pf0 | r0) end // end of [fibver] (* ****** ****** *) implement main ( ) = 0 where { val () = assertloc ((fibver(10)).1 = 55) val () = assertloc ((fibver(20)).1 = 6765) } // end of [main] (* ****** ****** *) (* end of [fibver_loop.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/fib_memo.dats0000664000175000017500000000274512655455557017773 0ustar hwxihwxi// // Computing the Fibonacci numbers // // Author: Hongwei Xi (June 2015) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) extern fun{} fib(int): int extern fun{} fib_memo_get(int): Option_vt(int) extern fun{} fib_memo_set(n: int, res: int): int (* ****** ****** *) implement {}(*tmp*) fib(n) = if n >= 2 then let val opt = fib_memo_get(n) in case+ opt of | ~Some_vt(res) => res | ~None_vt((*void*)) => fib_memo_set(n, fib(n-2) + fib(n-1)) end else n // end of [if] (* ****** ****** *) // implement {}(*tmp*) fib_memo_get(n) = None_vt() // implement {}(*tmp*) fib_memo_set(n, res) = res // (* ****** ****** *) local // typedef key = int and itm = int // in (* in-of-local *) // #include "libats/ML/HATS/myhashtblref.hats" // end // end of [local] (* ****** ****** *) fun myfib{n:nat} (n: int(n)): int = let // val map = myhashtbl_make_nil(n+n+1) // implement fib_memo_get<> (n) = map.search(n) // implement fib_memo_set<> (n, res) = let (* val () = println! ("fib_memo_set: n = ", n) val () = println! ("fib_memo_set: res = ", res) *) val-~None_vt() = map.insert(n, res) in res end // in fib(n) end // end of [myfib] (* ****** ****** *) implement main0(argc, argv) = { // val N = 40 // val N = ( if argc >= 2 then g0string2int(argv[1]) else N ) : int // end of [val] // val N = g1ofg0(N) val () = assertloc(N >= 0) // val () = println! ("myfib(", N, ") = ", myfib(N)) } (* end of [main0] *) (* ****** ****** *) (* end of [fib_memo.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/monad_maybe.dats0000664000175000017500000000403312655455557020461 0ustar hwxihwxi(* ****** ****** *) // // Experimenting with maybe-monad // (* ****** ****** *) (* ** Author: Hongwei Xi ** Authoremail: hwxi AT cs DOT bu DOT edu ** Time: the third of July, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) abstype monad_type (a: t@ype) = ptr typedef monad (a: t@ype) = monad_type (a) (* ****** ****** *) typedef cfun1 (a: t@ype, b: t@ype) = a - b typedef cfun2 (a1: t@ype, a2: t@ype, b: t@ype) = (a1, a2) - b (* ****** ****** *) stadef cfun = cfun1 stadef cfun = cfun2 (* ****** ****** *) extern fun{ a,b:t@ype } monad_bind (monad (a), cfun (a, monad (b))): monad (b) // end of [monad_bind] extern fun{a:t@ype} monad_return (x: a): monad (a) extern fun{a:t@ype} monad_unretn (m: monad (a)): Option (a) (* ****** ****** *) extern fun{ a,b:t@ype } monad_fmap (f: cfun (a, b), m: monad (a)): monad (b) extern fun{ a,b:t@ype } monad_lift (f: cfun (a, b), m: monad (a)): monad (b) (* ****** ****** *) implement {a,b} monad_fmap (f, m) = monad_bind (m, lam (x) => monad_return (f (x))) // end of [monad_fmap] implement {a,b} monad_lift (f, m) = monad_fmap (f, m) (* ****** ****** *) local assume monad_type (a: t@ype) = Option a in (* in of [local] *) implement{a,b} monad_bind (m, f) = ( case m of Some (x) => f (x) | None () => None () ) // end of [monad_bind] implement{a} monad_return (x) = Some{a}(x) implement{a} monad_unretn (m) = m end // end of [local] (* ****** ****** *) #define mbind monad_bind #define mretn monad_return #define mlift monad_lift #define mfmap monad_fmap #define munretn monad_unretn (* ****** ****** *) fun test_maybe ( x0: int ) : int = let // val m0 = mretn (x0) val m0 = mlift (lam x => x+3, m0) val m0 = mbind (m0, lam x => mretn (x*2)) val-Some(res) = munretn (m0) // in res (* = (x0+3)*2 *) end // end of [test_maybe] (* ****** ****** *) val () = assertloc (test_maybe(10) = (10+3)*2) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [monad_maybe.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/fibver_trec.dats0000664000175000017500000000206112655455557020477 0ustar hwxihwxi(* ** A verfied implementation that computes the Fibonacci numbers ** ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: 2006 (?) // this is one of the first examples in ATS *) (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) dataprop FIB (int, int) = | FIB0 (0, 0) | FIB1 (1, 1) | {n:nat} {r0,r1:int} FIB2 (n+2, r0+r1) of (FIB (n, r0), FIB (n+1, r1)) // end of [FIB] (* ****** ****** *) fun fibver {n:nat} (n: int n) .<>. :<> [r:int] (FIB (n, r) | int r) = let // fun loop {i:nat | i <= n} {r0,r1:int} .. ( pf0: FIB (i, r0), pf1: FIB (i+1, r1) | ni: int (n-i), r0: int r0, r1: int r1 ) :<> [r:int] (FIB (n, r) | int r) = if ni > 0 then loop {i+1} (pf1, FIB2 (pf0, pf1) | ni - 1, r1, r0 + r1) else (pf0 | r0) // end of [loop] in loop {0} (FIB0 (), FIB1 () | n, 0, 1) end // end of [fibver] (* ****** ****** *) implement main0 () = { val () = assertloc ((fibver(10)).1 = 55) val () = assertloc ((fibver(20)).1 = 6765) } // end of [main0] (* ****** ****** *) (* end of [fibver_trec.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/monad_state.dats0000664000175000017500000000532012655455557020504 0ustar hwxihwxi(* ****** ****** *) // // Experimenting with state-monad // (* ****** ****** *) (* ** Author: Hongwei Xi ** Authoremail: hwxi AT cs DOT bu DOT edu ** Time: the third of July, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) datatype unit = unit of () (* ****** ****** *) abstype monad_type (t@ype(*env*), t@ype(*val*)) = ptr typedef monad (t:t@ype, a: t@ype) = monad_type (t, a) (* ****** ****** *) typedef cfun1 (a: t@ype, b: t@ype) = a - b typedef cfun2 (a1: t@ype, a2: t@ype, b: t@ype) = (a1, a2) - b (* ****** ****** *) stadef cfun = cfun1 stadef cfun = cfun2 (* ****** ****** *) extern fun {t:t@ype} {a,b:t@ype} monad_bind (monad (t, a), cfun (a, monad (t, b))): monad (t, b) // end of [monad_bind] extern fun {t:t@ype} {a1,a2,b:t@ype} monad_bind2 ( monad (t, a1), monad (t, a2), cfun (a1, a2, monad (t, b)) ) : monad (t, b) // end of [monad_bind2] (* ****** ****** *) extern fun {t:t@ype} {a:t@ype} monad_return (x: a): monad (t, a) extern fun{t:t@ype} monad_get (): monad (t, t) extern fun{t:t@ype} monad_put (env: t): monad (t, unit) extern fun{t:t@ype}{a:t@ype} monad_runST (m: monad (t, a), env: t): (a, t) (* ****** ****** *) local assume monad_type (env: t@ype, a: t@ype) = env - (a, env) in (* in of [local] *) implement {t}{a,b} monad_bind (m0, f) = ( lam (env) => let val (x0, env) = m0 (env) val m1 = f (x0): t - (b, t) in m1 (env) end // end of [lam] ) implement {t}{a1,a2,b} monad_bind2 (m0, m1, f) = ( lam (env) => let val (x0, env) = m0 (env) val (x1, env) = m1 (env) val m2 = f (x0, x1): t - (b, t) in m2 (env) end // end of [lam] ) implement {t}{a} monad_return (x) = lam (env) => (x, env) implement{t} monad_get () = lam x => (x, x) implement{t} monad_put (env) = lam _ => (unit(), env) implement{t}{a} monad_runST (m, env) = m (env) end // end of [local] (* ****** ****** *) typedef t = int (* ****** ****** *) fun incr ( ) : monad (t, unit) = ( monad_bind (monad_get (), lam env => monad_put (env+1)) ) // end of [incr] (* ****** ****** *) fun addm ( mx: monad (t, int) , my: monad (t, int) ) : monad (t, int) = monad_bind2 ( mx, my, lam (x, y) => monad_bind (incr (), lam _ => monad_return (x+y)) ) // end of [addm] (* ****** ****** *) val m0 = monad_return (0) val m1 = monad_return (1) val m_1 = monad_return (~1) val m012 = (m0 \addm m1) \addm m_1 (* ****** ****** *) // val (res, env) = monad_runST (m012, 0(*env*)) // val () = println! ("res(0) = ", res) val () = println! ("env(2) = ", env) // (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [monad_state.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/stdlib_bsearch.dats0000664000175000017500000000466212655455557021166 0ustar hwxihwxi(* ** HX-2013: ** The following code is largely adapted from ** the Linux Programmer's manual for bsearch *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/stdlib.sats" (* ****** ****** *) %{^ typedef struct mi { int nr; char *name; } mi_t ; mi_t months[] = { { 1, "jan" }, { 2, "feb" }, { 3, "mar" }, { 4, "apr" }, { 5, "may" }, { 6, "jun" }, { 7, "jul" }, { 8, "aug" }, { 9, "sep" }, {10, "oct" }, {11, "nov" }, {12, "dec" } } ; #define nr_of_months (sizeof(months)/sizeof(struct mi)) %} (* ****** ****** *) typedef mi = $extype_struct "mi_t" of { nr= int, name= string } // end of [typedef] (* ****** ****** *) stacst N: int val months = $extval (arrayref (mi, N), "months") val nr_of_months = $extval (int(N), "nr_of_months") val () = assertloc (nr_of_months = 12) (* ****** ****** *) fn mi_init ( mi: &mi? >> _ , nr: int, name: string ) : void = ( mi.nr := nr; mi.name := name ) fn cmpref_mi_mi (x: &mi, y: &mi):<> int = compare (x.name, y.name) // end of [cmpref_mi_mi] fun name2nr (name: string): void = let // var key: mi val () = mi_init (key, 0, name) val asz = g1int2uint(nr_of_months) val pres = let val (vbox pf | p) = arrayref_get_viewptr (months) in bsearch {mi}{N} (key, !p, asz, sizeof, cmpref_mi_mi) end // end of [val] // in // if pres > 0 then let val (pf, fpf | p) = $UN.ptr1_vtake {mi} (pres) val () = println! (pres->name, ": month #", pres->nr) prval () = fpf (pf) in // nothing end else let val () = println! (key.name, ": unknown month") in // nothing end // end of [if] // end // end of [name2nr] (* ****** ****** *) // // How to test: // ./stdlib_bsearch.exe jan feb mar apr may jun jul aug sep oct nov dec // (* ****** ****** *) implement main {n} ( argc, argv ) = 0 where { val asz = g1int2uint(nr_of_months) val () = let val (vbox pf | p) = arrayref_get_viewptr (months) in qsort {mi}{N} (!p, asz, sizeof, cmpref_mi_mi) // HX: quicksorting end // end of [val] // val ( ) = let // fun loop ( argc: int n, argv: !argv(n), i: natLte(n) ) : void = let in if argc > i then (name2nr (argv[i]); loop (argc, argv, i+1)) else () // end of [if] end // end of [loop] // in loop (argc, argv, 1) end // end of [val] // } // end of [main] (* ****** ****** *) (* end of [stdlib_bsearch.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/queens_lazy.dats0000664000175000017500000000513412655455557020550 0ustar hwxihwxi(* // // HX-2014-03-28: // A program to solve the 8-queens problem // based on lazy evaluation // *) (* ****** ****** *) // #include "share/atspre_define.hats" #include "share/atspre_staload.hats" // #include "share/HATS/atspre_staload_libats_ML.hats" // (* ****** ****** *) // staload UN = $UNSAFE // (* ****** ****** *) fun path_test ( xs: list0 (int), x0: int ) : bool = let // fun aux ( xs: list0 (int), df: int ) : bool = ( case+ xs of | nil0 () => true | cons0 (x, xs) => if x0 != x && abs (x0 - x) != df then aux (xs, df+1) else false // end of [cons0] ) // in aux (xs, 1(*df*)) end // end of [path_test] (* ****** ****** *) #define N 8 (* ****** ****** *) fun path_next ( xs: list0(int) ) : stream(list0(int)) = $delay ( let val n = length (xs) in // if n < N then path_next2 (xs, 0) else let val-cons0 (x, xs) = xs in path_next2 (xs, x + 1) end // end of [else] // end ) // end of [path_next] and path_next2 ( xs: list0(int), x0: int ) : stream_con(list0(int)) = ( if x0 < N then let val pass = path_test (xs, x0) in if pass then let val xs = cons0 (x0, xs) in stream_cons (xs, path_next (xs)) end // end of [then] else path_next2 (xs, x0 + 1) // end of [if] end // end of [then] else ( case+ xs of | cons0 (x, xs) => path_next2 (xs, x+1) | nil0 () => stream_nil(*void*) ) (* end of [else] *) ) (* end of [path_next2] *) (* ****** ****** *) val theSolutions = stream_filter_cloref (path_next (nil0(*void*)), lam (xs) => length (xs) >= N) // end of [theSolutions] (* ****** ****** *) fun fprint_row ( out: FILEref, i: int ) : void = let // fun aux (i: int): void = if i > 0 then (fprint (out, ". "); aux (i-1)) else () // val () = aux (i) val () = fprint (out, "Q ") val () = aux (N-1-i) // in // nothing end // end of [fprint_row] (* ****** ****** *) fun fprint_board ( out: FILEref, xs: list0(int) ) : void = let // implement fprint_val (out, x) = fprint_row (out, x) // val () = fprint_list0_sep (out, xs, "\n") val () = fprint_newline (out) // in // nothing end // end of [fprint_board] (* ****** ****** *) val () = let // fun printall ( xss: stream(list0(int)), i: int ) : void = ( case+ !xss of | stream_cons (xs, xss) => { val () = println! ("Solution #", i, ":") val () = fprint_board (stdout_ref, list0_reverse(xs)) val () = print_newline () val () = printall (xss, i+1) } | stream_nil () => () ) // in printall (theSolutions, 1) end // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [queens_lazy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/fourslot.dats0000644000175000017500000000663712655455557020075 0ustar hwxihwxi(* ****** ****** *) // // Fourslot algorithm by Simpson // for fully asynchrous read/write // (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start time: May, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) abst@ype bit = int extern castfn bit2int(i: bit): natLt(2) extern castfn int2bit(i: natLt(2)): bit extern fun{} not_bit (i: bit): bit overload not with not_bit implement{} not_bit (i) = int2bit (1-bit2int(i)) (* ****** ****** *) absvtype data_vtype (a:t@ype) = ptr vtypedef data (a:t0p) = data_vtype (a) extern fun{a:t0p} data_make_elt (x: a): data (a) extern fun{} data_free {a:t0p} (A: data (a)): void extern fun{a:t0p} data_read (A: !data (a), i: bit, j: bit): a extern fun{a:t0p} data_write (A: !data (a), i: bit, j: bit, x: a): void local assume data_vtype (a:t0p) = arrayptr (a, 4) in (* in of [local] *) implement{a} data_make_elt (x) = arrayptr_make_elt (i2sz(4), x) implement{} data_free (A) = arrayptr_free (A) implement{a} data_read (A, i, j) = A[2 * bit2int(i) + bit2int(j)] implement{a} data_write (A, i, j, x) = A[2 * bit2int(i) + bit2int(j)] := x end // end of [local] (* ****** ****** *) absvtype slot_vtype = ptr vtypedef slot = slot_vtype extern fun{} slot_make (): slot extern fun{} slot_free (S: slot): void extern fun{} slot_get (S: !slot, i: bit): bit extern fun{} slot_set (S: !slot, i: bit, j: bit): void local assume slot_vtype = arrayptr (bit, 2) in (* in of [local] *) implement{} slot_make () = arrayptr_make_elt (i2sz(2), int2bit(0)) // end of [slot_make] implement{} slot_free (S) = arrayptr_free (S) implement{} slot_get (S, i) = S[bit2int(i)] implement{} slot_set (S, i, j) = S[bit2int(i)] := j end // end of [local] (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // extern fun{} latest_get (): bit extern fun{} latest_set (i: bit): void extern fun{} reading_get (): bit extern fun{} reading_set (i: bit): void // (* ****** ****** *) fun{a:t0p} fourslot_read ( A: !data (a), S: !slot ) : a = let val pair = latest_get () val () = reading_set (pair) val index = slot_get (S, pair) in data_read (A, pair, index) end // end of [fourslot_read] (* ****** ****** *) fun{a:t0p} fourslot_write ( A: !data (a), S: !slot, x: a ) : void = let val pair = not (reading_get ()) val index = not (slot_get (S, pair)) val () = data_write (A, pair, index, x) val () = slot_set (S, pair, index) val () = latest_set (pair) in // nothing end // end of [fourslot_write] (* ****** ****** *) implement main0 () = { // local var latest: int = 0 in implement{} latest_get () = $UN.ptr1_get (addr@(latest)) implement{} latest_set (i) = $UN.ptr1_set (addr@(latest), i) end // end of [local] // local var reading: int = 0 in implement{} reading_get () = $UN.ptr1_get (addr@(reading)) implement{} reading_set (i) = $UN.ptr1_set (addr@(reading), i) end // end of [local] // typedef T = int // val out = stdout_ref // val A = data_make_elt (0) // val S = slot_make () // val x0 = fourslot_read (A, S) val () = fprintln! (out, "x0 = ", x0) val () = assertloc (x0 = 0) // val () = fourslot_write (A, S, 1) val () = fourslot_write (A, S, ~1) // val x1 = fourslot_read (A, S) val () = fprintln! (out, "x1 = ", x1) val () = assertloc (x1 = ~1) // val () = slot_free (S) // val () = data_free (A) // } // end of [main0] (* ****** ****** *) (* end of [fourslot.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/isqrt.dats0000664000175000017500000000517412655455557017357 0ustar hwxihwxi(* ** A verfied implementation of the integer sqare root function ** that is non-tail-recursive and of logarithmic time complexity ** ** Author: Hongwei Xi ** Authoremail: hwxi AT cs DOT bu DOT edu ** Time: November, 2009 *) (* ****** ****** *) // // The code is ported to ATS2 by Hongwei Xi on Friday, July 20, 2012 // (* ****** ****** *) staload _ = "prelude/DATS/integer.dats" (* ****** ****** *) propdef ISQRT (x: int, n: int) = [x0,x1:nat | x0 <= x; x < x1] (MUL (n, n, x0), MUL (n+1, n+1, x1)) // end of [SQRT] extern prfun ISQRT_4_lemma {x:nat} {n2:nat} (pf: ISQRT (x/4, n2)): [n:int | 2*n2 <= n; n <= 2*n2+1] ISQRT (x, n) // end of [ISQRT_4_lemma] primplmnt ISQRT_4_lemma // nonrec {x} {n2} ([x0:int,x1:int] pf) = let prval pf0 = pf.0 // MUL (n2, n2, x0) // x0 <= x/4 prval pf1 = pf.1 // MUL (n2+1, n2+1, x1) // x/4 < x1 prval pf1_alt = mul_expand_linear {1,1} {1,1} (pf0) prval () = mul_isfun (pf1, pf1_alt) stadef n_1 = n2 + n2 stadef n_2 = n_1 + 1 and n_3 = n_1 + 2 prval pf0_1 = mul_expand_linear {2,0} {2,0} (pf0) stadef x_2 = 4 * x0 + 4 * n2 + 1 prval pf0_2 = mul_expand_linear {1,1} {1,1} (pf0_1) prval pf0_3 = mul_expand_linear {1,2} {1,2} (pf0_1) in sif (x < x_2) then #[n_1 | (pf0_1, pf0_2)] else #[n_2 | (pf0_2, pf0_3)] end // end of [ISORT_4_lemma] (* ****** ****** *) extern // 10 points fun isqrt {x:nat} (x: int x):<> [n:nat] (ISQRT (x, n) | int n) // end of [isqrt] implement isqrt (x) = let // fun aux {x:nat}.. // non-tail-recursive (x: int x):<> [n:nat] (ISQRT (x, n) | int n) = if x > 0 then let val x4 = x \ndiv 4 val [n2:int] (pf4 | n2) = aux (x4) prval [n:int] pf = ISQRT_4_lemma {x} {n2} (pf4) val n_1 = n2 + n2 val n_2 = n_1 + 1 val (pf_mul | x1) = g1int_mul2 (n_2, n_2) in if x < x1 then let prval () = ( sif (n==2*n2) then () else let prval () = mul_isfun (pf_mul, pf.0) in (*nothing*) end // end of [sif] ) : [n==2*n2] void in (pf | n_1) end else let prval () = ( sif (n==2*n2+1) then () else let prval () = mul_isfun (pf_mul, pf.1) in (*nothing*) end // end of [sif] ) : [n==2*n2+1] void in (pf | n_2) end // end of [if] end else let prval pf0_mul = mul_make {0,0} () prval pf1_mul = mul_make {1,1} () in ((pf0_mul, pf1_mul) | 0) end // end of [if] in aux (x) end // end of [isqrt] (* ****** ****** *) implement main0 ((*void*)) = { val () = assertloc ( (isqrt(1023)).1 = 31 ) val () = assertloc ( (isqrt(1024)).1 = 32 ) val () = assertloc ( (isqrt(1025)).1 = 32 ) } // end of [main0] (* ****** ****** *) (* end of [isqrt.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/.keeper0000664000175000017500000000000012655455557016573 0ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/readdirall.dats0000664000175000017500000000602412655455557020313 0ustar hwxihwxi(* // // It is a bit like [scandir] ... // *) (* ****** ****** *) (* ** Author: Hongwei Xi ** Authoremail: hwxi AT cs DOT bu DOT edu ** Time: May, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/dirent.sats" staload _ = "libc/DATS/dirent.dats" (* ****** ****** *) staload "libats/SATS/dynarray.sats" staload _ = "libats/DATS/dynarray.dats" (* ****** ****** *) %{^ // #undef ATSextfcall #define ATSextfcall(fun, funarg) fun funarg #undef ATSPMVextval #define ATSPMVextval(name) name // %} // end of [%{^] (* ****** ****** *) extern fun{} readdirall$pred (x: !Direntp1): bool implement readdirall$pred<> (x) = true (* ****** ****** *) // extern fun{} readdirall (dirp: !DIRptr1): dynarray (Direntp1) // (* ****** ****** *) implement {}(*tmp*) readdirall(dirp) = let // implement readdirall$pred<> (x) = let val ( fpf | str ) = direntp_get_d_name (x) val ans = (str != "." && str != "..") prval () = fpf (str) in ans end // end of [readdirall] // vtypedef elt = Direntp1 vtypedef res = dynarray (elt) // fun loop ( dirp: !DIRptr1, DA: res ) : res = let val entp = readdir_r_gc (dirp) in // if direntp2ptr(entp) > 0 then let val ans = readdirall$pred (entp) val () = ( if ans then { val-~None_vt () = dynarray_insert_atend_opt (DA, entp) } else direntp_free (entp) // end of [if] ) : void (* end of [val] *) in loop (dirp, DA) end else let val () = direntp_free (entp) in DA end (* end of [if] *) // end (* end of [loop] *) // val DA = dynarray_make_nil (i2sz(1024)) // in loop (dirp, DA) end // end of [readdirall] (* ****** ****** *) implement main0 (argc, argv) = { // val dname = ( if argc >= 2 then argv[1] else "." ) : string // end of [val] // val dirp = opendir_exn (dname) // val DA = readdirall (dirp) // implement (a:vtype) dynarray_quicksort$cmp (x, y) = sgn where { val x2 = $UN.castvwtp1{Direntp1}(x) val (xfpf | xstr) = direntp_get_d_name (x2) val y2 = $UN.castvwtp1{Direntp1}(y) val (yfpf | ystr) = direntp_get_d_name (y2) prval () = $UN.cast2void(x2) prval () = $UN.cast2void(y2) val sgn = compare (xstr, ystr) prval () = xfpf (xstr) and () = yfpf (ystr) } (* end of [...] *) // val () = dynarray_quicksort (DA) // var n: size_t val A0 = dynarray_getfree_arrayptr (DA, n) // val out = stdout_ref // implement {}(*tmp*) fprint_array$sep (out) = fprint_newline (out) // implement (a:vtype) fprint_ref (out, x) = { val x2 = $UN.castvwtp1{Direntp1}(x) // end of [val] val (fpf | str) = direntp_get_d_name (x2) prval () = $UN.cast2void(x2) val ((*void*)) = fprint_strptr (out, str) prval ((*void*)) = fpf (str) } // val () = fprint_arrayptr (out, A0, n) // val () = fprint_newline (out) // implement(a:vtype) array_uninitize$clear (i, x) = direntp_free ($UN.castvwtp0(x)) val () = arrayptr_freelin (A0, n) // val () = closedir_exn (dirp) // } (* end of [main0] *) (* ****** ****** *) (* end of [readdirall.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/MISC/ferryman.dats0000664000175000017500000001054112655455557020032 0ustar hwxihwxi(* ** This is a verified implementation of a solution to the famous ** ferryman puzzle: ** ** A ferryman tries to move a cabbage, a goat and a wolf across ** a river; at the start, F, C, G and W are all on one side of the ** river, and at the finish, they will be all on the other side of ** the river. A correct solution must satisfy the following rules: ** ** F and at most one additional item can ferry across the river at ** one time; C and G cannot be on the same side unless F is also on ** that side; the same also applies to G and W. *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start time: 2012-05-05 // Cinco de Mayo :) // (* ****** ****** *) absview STATE0 ( // for all states f: bool, c: bool, g: bool, w: bool ) // end of [STATE0] absview STATE1 ( // for safe states f: bool, c: bool, g: bool, w: bool ) // end of [STATE1] (* ****** ****** *) stadef safecond1 (f: bool, c: bool, g: bool) = (f == c || c != g) stadef safecond2 (f: bool, g: bool, w: bool) = (f == g || g != w) (* ****** ****** *) extern praxi stateTrans01 { f,c,g,w:bool | safecond1 (f, c, g) ; safecond2 (f, g, w) } ( pf: !STATE0 (f, c, g, w) >> STATE1 (f, c, g, w) ) : void // end of [stateTrans01] extern praxi stateTrans10 {f,c,g,w:bool} ( pf: !STATE1 (f, c, g, w) >> STATE0 (f, c, g, w) ) : void // end of [stateTrans10] (* ****** ****** *) absvtype F (f:bool) = ptr absvtype C (c:bool) = ptr absvtype G (g:bool) = ptr absvtype W (w:bool) = ptr (* ****** ****** *) extern praxi nF (f: F (true)): void extern praxi nC (f: C (true)): void extern praxi nG (f: G (true)): void extern praxi nW (f: W (true)): void (* ****** ****** *) fun F (): F (false) = $extval (F (false), "0") fun C (): C (false) = $extval (C (false), "0") fun G (): G (false) = $extval (G (false), "0") fun W (): W (false) = $extval (W (false), "0") (* ****** ****** *) extern fun move_f_ (ptr): void = "mac#move_f" implement move_f_ (_) = println! ("move_f: ferryman alone") extern fun move_fc_ (ptr, ptr): void = "mac#move_fc" implement move_fc_ (_, _) = println! ("move_fc: ferryman with cabbage") extern fun move_fg_ (ptr, ptr): void = "mac#move_fg" implement move_fg_ (_, _) = println! ("move_fg: ferryman with goat") extern fun move_fw_ (ptr, ptr): void = "mac#move_fw" implement move_fw_ (_, _) = println! ("move_fw: ferryman with wolf") (* ****** ****** *) extern fun move_f {f,c,g,w:bool} ( pf: !STATE1 (f, c, g, w) >> STATE0 (~f, c, g, w) | f: !F(f) >> F(~f) ) : void = "mac#move_f" // end of [move_f] extern fun move_fc {f,c,g,w:bool | f == c} ( pf: !STATE1 (f, c, g, w) >> STATE0 (~f, ~c, g, w) | f: !F(f) >> F(~f) , c: !C(c) >> C(~c) ) : void = "mac#move_fc" // end of [move_fc] extern fun move_fg {f,c,g,w:bool | f == g} ( pf: !STATE1 (f, c, g, w) >> STATE0 (~f, c, ~g, w) | f: !F(f) >> F(~f) , g: !G(g) >> G(~g) ) : void = "mac#move_fg" // end of [move_fg] extern fun move_fw {f,c,g,w:bool | f == w} ( pf: !STATE1 (f, c, g, w) >> STATE0 (~f, c, g, ~w) | f: !F(f) >> F(~f) , w: !W(w) >> W(~w) ) : void = "mac#move_fw" // end of [move_fw] (* ****** ****** *) extern fun solvePuzzle ( pf: !STATE0 (false, false, false, false) >> STATE0 (true, true, true, true) | f: !F (false) >> F (true) , c: !C (false) >> C (true) , g: !G (false) >> G (true) , w: !W (false) >> W (true) ) : void // end of [solvePuzzle] (* ****** ****** *) implement solvePuzzle (pf | f, c, g, w) = let prval () = stateTrans01 (pf) val () = move_fg (pf | f, g) prval () = stateTrans01 (pf) val () = move_f (pf | f) prval () = stateTrans01 (pf) val () = move_fc (pf | f, c) prval () = stateTrans01 (pf) val () = move_fg (pf | f, g) prval () = stateTrans01 (pf) val () = move_fw (pf | f, w) prval () = stateTrans01 (pf) val () = move_f (pf | f) prval () = stateTrans01 (pf) val () = move_fg (pf | f, g) in // nothing end // end of [solvePuzzle] (* ****** ****** *) implement main0 () = let // val f = F () val c = C () val g = G () val w = W () // prval ( pf, fpf ) = __assert () where { extern praxi __assert : () - (STATE0 (false, false, false, false), STATE0 (true, true, true, true) - void) // end of [extern] } (* end of [prval] *) // val () = solvePuzzle (pf | f, c, g, w) // prval () = nF (f) prval () = nC (c) prval () = nG (g) prval () = nW (w) // prval () = fpf (pf) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [ferryman.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/0000775000175000017500000000000012655455557015554 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_hashtbl_chain.dats0000664000175000017500000000352012655455557022556 0ustar hwxihwxi(* ** for testing ** [libats/hashtbl_chain] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: August, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/hashtbl_chain.sats" // staload _(*anon*) = "libats/DATS/hashfun.dats" staload _(*anon*) = "libats/DATS/linmap_list.dats" staload _(*anon*) = "libats/DATS/hashtbl_chain.dats" // (* ****** ****** *) val () = { val tbl = hashtbl_make_nil(i2sz(1024)) val-~list_vt_nil () = hashtbl_listize (tbl) } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // typedef key = string and itm = int // val tbl = hashtbl_make_nil(i2sz(1)) // val () = hashtbl_insert_any (tbl, "a", 0) val-~Some_vt(0) = hashtbl_insert_opt (tbl, "a", 1) // val () = hashtbl_insert_any (tbl, "b", 2) val () = hashtbl_insert_any (tbl, "c", 3) val () = hashtbl_insert_any (tbl, "d", 4) val () = hashtbl_insert_any (tbl, "e", 5) val () = hashtbl_insert_any (tbl, "f", 6) // val () = hashtbl_insert_any (tbl, "g", 7) val-~Some_vt(7) = hashtbl_takeout_opt (tbl, "g") // val () = fprintln! (out, "tbl = ", tbl) val () = fprintln! (out, "size(tbl) = ", hashtbl_get_size (tbl)) val () = fprintln! (out, "capacity(tbl) = ", hashtbl_get_capacity (tbl)) // val-~None_vt() = hashtbl_search_opt (tbl, "?") val-~Some_vt(1) = hashtbl_search_opt (tbl, "a") val-~Some_vt(2) = hashtbl_search_opt (tbl, "b") val-~Some_vt(3) = hashtbl_search_opt (tbl, "c") // val true = hashtbl_reset_capacity (tbl, i2sz(10)) val () = fprintln! (out, "tbl = ", tbl) val () = fprintln! (out, "size(tbl) = ", hashtbl_get_size (tbl)) // val () = list_vt_free<(key,itm)> (hashtbl_listize (tbl)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_hashtbl_chain.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_math.dats0000664000175000017500000000470612655455557020362 0ustar hwxihwxi(* ** for testing [libc/math] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libc/SATS/math.sats" staload _(*anon*) = "libc/DATS/math.dats" (* ****** ****** *) macdef PI = M_PI (* ****** ****** *) val () = { // val () = assertloc (isfinite(1.0) != 0) val () = assertloc (isnormal(1.0) != 0) // val () = assertloc (isinf(1.0) = 0) val () = assertloc (isnan(1.0) = 0) // } (* end of [val] *) (* ****** ****** *) val () = { // val () = assertloc (ceil(2.72) = 3.0) val () = assertloc (ceil(~3.14) = ~3.0) // val () = assertloc (floor(2.72) = 2.0) val () = assertloc (floor(~3.14) = ~4.0) // val () = assertloc (round(2.72f) = 3.0f) val () = assertloc (round(~3.14f) = ~3.0f) // val () = assertloc (trunc(2.72L) = 2.0L) val () = assertloc (trunc(~3.14L) = ~3.0L) // } // end of [val] (* ****** ****** *) val () = { val f1 = 1.0 val f2 = 2.0 val f3 = 3.0 val () = assertloc (f1 = fmin (f1, f2)) val () = assertloc (f2 = fmax (f1, f2)) val () = assertloc (max(f1-f2, 0.0) = fdim (f1, f2)) val () = assertloc (max(f2-f1, 0.0) = fdim (f2, f1)) val () = assertloc (f1*f2+f3 = fma (f1, f2, f3)) } (* end of [val] *) (* ****** ****** *) macdef sqr(x) = let val x = ,(x) in x * x end macdef cube(x) = let val x = ,(x) in x * x * x end val () = { val () = println! "sqr(sqrt(2.0)) = " (sqr(sqrt(2.0))) val () = println! "cube(cbrt(2.0)) = " (cube(cbrt(2.0))) val () = println! "exp(log(2.0)) = " (exp(log(2.0))) val () = println! "pow(10.0, log10(2.0)) = " (pow(10.0, log10(2.0))) } (* end of [val] *) (* ****** ****** *) val () = { // val () = println! ("sin(PI/6) = ", sin(PI/6)) val () = println! ("cos(PI/3) = ", cos(PI/3)) val () = println! ("tan(PI/3) = ", tan(PI/4)) // val () = println! ("6*asin(sin(PI/6)) = ", 6*asin(sin(PI/6))) val () = println! ("3*acos(cos(PI/3)) = ", 3*acos(cos(PI/3))) val () = println! ("4*atan(tan(PI/4)) = ", 4*atan(tan(PI/4))) val () = println! ("2*atan2(1.0, 0.0) = ", 2*atan2(1.0, 0.0)) // } (* end of [val] *) (* ****** ****** *) val () = { // val () = println! ("sinh(PI/6) = ", sinh(PI/6)) val () = println! ("cosh(PI/3) = ", cosh(PI/3)) val () = println! ("tanh(PI/3) = ", tanh(PI/4)) // val () = println! ("6*asinh(sinh(PI/6)) = ", 6*asinh(sinh(PI/6))) val () = println! ("3*acosh(cosh(PI/3)) = ", 3*acosh(cosh(PI/3))) val () = println! ("4*atanh(tanh(PI/4)) = ", 4*atanh(tanh(PI/4))) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_math.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linmap_skiplist.dats0000664000175000017500000000364212655455557023176 0ustar hwxihwxi(* ** for testing [libats/linma_skiplist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: April, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/linmap_skiplist.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/qlist.dats" staload _(*anon*) = "libats/DATS/linmap_skiplist.dats" (* ****** ****** *) val () = { val () = linmap_skiplist_initize () } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var res: itm? // var map = linmap_make_nil {key,itm} () // val ans = linmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 1) // val ans = linmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 2) // val ans = linmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced val () = assertloc (linmap_size (map) = 2) // val-~Some_vt("a1") = linmap_search_opt (map, 0) val-~Some_vt("b2") = linmap_search_opt (map, 1) // val ans = linmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 3) // val () = list_vt_free (linmap_listize1 (map)) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("a1") = linmap_takeout_opt (map, 0) val () = assertloc (linmap_size (map) = 2) val-~Some_vt("b2") = linmap_takeout_opt (map, 1) val () = assertloc (linmap_size (map) = 1) val-~Some_vt("c1") = linmap_takeout_opt (map, 2) val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linmap_skiplist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_checkast.dats0000664000175000017500000000221612655455557021737 0ustar hwxihwxi(* ** for testing [prelude/checkast] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { val x0 = (5): int val [i:int] x0 = ckastloc_gintLt(x0, 6) prval ((*void*)) = prop_verify{i <= 5}() } (* end of [val] *) (* ****** ****** *) val () = { val x0 = (5): int val [i:int] x0 = ckastloc_gintLte(x0, 5) prval ((*void*)) = prop_verify{i <= 5}() } (* end of [val] *) (* ****** ****** *) val () = { val x0 = (5): int val [i:int] x0 = ckastloc_gintGt(x0, 4) prval ((*void*)) = prop_verify{i >= 5}() } (* end of [val] *) (* ****** ****** *) val () = { val x0 = (5): int val [i:int] x0 = ckastloc_gintGte(x0, 5) prval ((*void*)) = prop_verify{i >= 5}() } (* end of [val] *) (* ****** ****** *) val () = { val x0 = (10): int val [i:int] x0 = ckastloc_gintBtw(x0, 10, 11) prval ((*void*)) = prop_verify{10 <= i && i < 11}() } (* end of [val] *) (* ****** ****** *) val () = { val x0 = (10): int val [i:int] x0 = ckastloc_gintBtwe(x0, 10, 11) prval ((*void*)) = prop_verify{10 <= i && i <= 11}() } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_checkast.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_gprint.dats0000664000175000017500000000225112655455557021454 0ustar hwxihwxi(* ** For testing ** [prelude/gprint] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { // // implement gprint$out<> ( // argless ) = stdout_ref // val () = gprint_int (0) val () = gprint_string (", ") val () = gprint_int (1) val () = gprint_string (", ") val () = gprint_int (2) val () = gprint_string (", ") val () = gprint_int (3) val () = gprint_newline () // } // end of [val] (* ****** ****** *) val () = { // implement gprint$out<> ( // argless ) = stderr_ref // val () = gprint_int (0) val () = gprint_string (", ") val () = gprint_int (1) val () = gprint_string (", ") val () = gprint_int (2) val () = gprint_string (", ") val () = gprint_int (3) val () = gprint_newline () // } // end of [val] (* ****** ****** *) val () = let // fun fpr ( out: FILEref, x: int ) : void = let // implement gprint$out<> () = out // in // gprint_string ("("); gprint_int (x); gprint_string (")") // end // end of [fpr] // val out = stderr_ref // in fpr(out, 0); fpr(out, 1); fpr(out, 2); fpr(out, 3); fprint_newline (out) end // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_gprint.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_matrixptr.dats0000664000175000017500000000217412655455557022207 0ustar hwxihwxi(* ** for testing [prelude/matrixptr] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "prelude/lmacrodef.sats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) postfix 0 sz SZ macdef sz (x) = i2sz ,(x) macdef SZ (x) = i2sz ,(x) (* ****** ****** *) val () = { // val out = stdout_ref // val m = 2 and n = 5 val A = (arrayptr)$arrpsz{int}(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) val M = arrayptr2matrixptr (A, m, n) // implement{} fprint_matrix$sep2 (out) = fprint_string (out, "; ") // val () = fprint_matrixptr (out, M, (m)sz, (n)sz) val () = fprint_newline (out) // val () = M[0, n, 0] :=* 2 val () = M[0, n, 1] :=* 2 val () = M[0, n, 2] :=* 2 val () = M[0, n, 3] :=* 2 val () = M[0, n, 4] :=* 2 val () = M[1, n, 0] :=/ 2 val () = M[1, n, 1] :=/ 2 val () = M[1, n, 2] :=/ 2 val () = M[1, n, 3] :=/ 2 val () = M[1, n, 4] :=/ 2 // val () = fprint_matrixptr (out, M, (m)sz, (n)sz) val () = fprint_newline (out) // val () = matrixptr_free (M) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_matrixptr.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_gdbm_gdbm.dats0000664000175000017500000000307312655455557021327 0ustar hwxihwxi(* ** some testing code for functions declared in ** libc/SATS/printf.sats *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start Time: September, 2010 // (* ****** ****** *) // // Ported to ATS2 by Hongwei Xi in July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/fcntl.sats" staload "libc/sys/SATS/stat.sats" staload "libc/sys/SATS/types.sats" staload "libc/gdbm/SATS/gdbm.sats" (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) val () = { // val mode = S_IRUSR lor S_IWUSR val [lf:addr] dbf = gdbm_open ("gdbmtest.gdbm", 512(*blksz*), GDBM_NEWDB, mode, nullp) // val () = println! ("errstr = ", gdbm_strerror (gdbm_errno_get ())) // val () = assertloc (ptrcast (dbf) > 0) // val (fpf_k | k) = datum_make0_string ("a") val v = datum_make1_string ("A") val () = assertloc (gdbm_store (dbf, k, v, GDBM_INSERT) = 0) val () = datum_free (v) val () = assertloc (gdbm_exists (dbf, k) > 0) val v = gdbm_fetch (dbf, k) // val () = println! ("k(a) = ", $UN.cast{string}(ptrcast(k.dptr))) val () = println! ("v(A) = ", $UN.cast{string}(ptrcast(v.dptr))) // val () = datum_free (v) val err = gdbm_delete (dbf, k) val () = assertloc (err = 0) val isexi = gdbm_exists (dbf, k) val () = assertloc (isexi = 0) prval () = fpf_k (k.dptr) prval () = $UN.cast2void(k) // val () = gdbm_close (dbf) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_gdbm_gdbm.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_gflist.dats0000664000175000017500000000223512655455557021261 0ustar hwxihwxi(* ** for testing [libats/gflist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start time: June, 2015 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/gflist.sats" // staload _ = "libats/DATS/gflist.dats" staload _ = "libats/DATS/gflist_vt.dats" // (* ****** ****** *) val xs1 = $list{int}(0,2,4,6,8) val xs2 = $list{int}(1,3,5,7,9) val (pf1len | xs1) = list2gflist(xs1) val (pf2len | xs2) = list2gflist(xs2) (* ****** ****** *) // val (pf3app | xs3) = gflist_append (xs1, xs2) val () = println! ("xs3 = ", (gflist2list(xs3)).1) // (* ****** ****** *) // val (pf4rev | xs4) = gflist_reverse (xs3) // val xs4 = gflist_vt2t(xs4) val () = println! ("xs4 = ", (gflist2list(xs4)).1) // (* ****** ****** *) // staload UN = $UNSAFE // implement gflist_mergesort$cmp(x1, x2) = ( $UN.cast($UN.cast2int(x1) - $UN.cast2int(x2)) ) // val (pf5ord | xs5) = gflist_mergesort (xs3) // val xs5 = gflist_vt2t(xs5) val () = println! ("xs5 = ", (gflist2list(xs5)).1) // (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_gllist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funmap_rbtree.dats0000664000175000017500000000516612655455557022630 0ustar hwxihwxi(* ** for testing [libats/funmap_rbtree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2015 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/funmap_rbtree.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/qlist.dats" staload _(*anon*) = "libats/DATS/funmap_rbtree.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var res: itm? // var map = funmap_make_nil {key,itm} () // val ans = funmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 1) // val ans = funmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 2) // val ans = funmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced val () = assertloc (funmap_size (map) = 2) // val-~Some_vt("a1") = funmap_search_opt (map, 0) val-~Some_vt("b2") = funmap_search_opt (map, 1) // val ans = funmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 3) // val () = assertloc (~funmap_remove (map, ~1)) // val-~Some_vt("a1") = funmap_takeout_opt (map, 0) val () = assertloc (funmap_size (map) = 2) val-~Some_vt("b2") = funmap_takeout_opt (map, 1) val () = assertloc (funmap_size (map) = 1) val-~Some_vt("c1") = funmap_takeout_opt (map, 2) val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var map = funmap_make_nil {key,itm} () // val-~None_vt() = funmap_insert_opt (map, 0, "?") val-~Some_vt("?") = funmap_insert_opt (map, 0, "0") val-~None_vt() = funmap_insert_opt (map, 1, "1") val-~None_vt() = funmap_insert_opt (map, 2, "2") val-~None_vt() = funmap_insert_opt (map, 3, "3") val-~None_vt() = funmap_insert_opt (map, 4, "4") // val () = assertloc (funmap_size (map) = 5) // val () = list_vt_free (funmap_listize (map)) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("0") = funmap_takeout_opt (map, 0) val-~Some_vt("1") = funmap_takeout_opt (map, 1) val-~Some_vt("2") = funmap_takeout_opt (map, 2) val-~Some_vt("3") = funmap_takeout_opt (map, 3) val-~Some_vt("4") = funmap_takeout_opt (map, 4) // val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funmap_rbtree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_sllist.dats0000664000175000017500000000476412655455557021314 0ustar hwxihwxi(* ** for testing [libats/sllist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: March, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/sllist.sats" // staload _ = "libats/DATS/gnode.dats" staload _ = "libats/DATS/sllist.dats" // (* ****** ****** *) #define :: sllist_cons #define cons sllist_cons (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val xs1 = sllist_nil{T}() val xs1 = 1 :: 2 :: xs1 val xs2 = sllist_nil{T}() val xs2 = 3 :: 4 :: 5 :: xs2 // val xs = sllist_append (xs1, xs2) // val () = assertloc (1 = xs[0]) val () = assertloc (2 = xs[1]) val () = assertloc (3 = xs[2]) val () = assertloc (4 = xs[3]) val () = assertloc (5 = xs[4]) // val () = fprintln! (out, xs) val () = assertloc (length (xs) = 5) // val rxs = sllist_reverse (xs) // val () = fprintln! (out, rxs) val () = assertloc (length (rxs) = 5) // val () = sllist_free (rxs) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val xs = sllist_nil{T}() val xs = 1 :: 2 :: 3 :: 4 :: 5 :: xs val () = fprintln! (out, "xs = ", xs) // implement sllist_map$fopr (x) = 2 * x - 1 val ys = sllist_map (xs) val () = fprintln! (out, "ys = ", ys) // val () = sllist_free (xs) val () = sllist_free (ys) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val zs = sllist_nil{T}() val zs = sllist_insert_at (zs, 0, 0) val zs = sllist_insert_at (zs, 1, 1) val zs = sllist_insert_at (zs, 2, 2) val zs = sllist_insert_at (zs, 3, 3) val zs = sllist_insert_at (zs, 4, 4) // val () = fprintln! (out, "zs = ", zs) // var zs = zs val () = assertloc (4 = sllist_takeout_at (zs, 4)) val () = assertloc (3 = sllist_takeout_at (zs, 3)) val () = assertloc (2 = sllist_takeout_at (zs, 2)) val () = assertloc (1 = sllist_takeout_at (zs, 1)) val () = assertloc (0 = sllist_takeout_at (zs, 0)) // prval () = sllist_free_nil (zs) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val xs = sllist_nil{T}() val xs = sllist_snoc (xs, 0) val xs = sllist_snoc (xs, 1) val xs = sllist_snoc (xs, 2) val () = fprintln! (out, "xs = ", xs) // var xs = xs val-(2) = sllist_unsnoc (xs) val-(1) = sllist_unsnoc (xs) val-(0) = sllist_unsnoc (xs) // val () = sllist_free (xs) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_sllist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_hashtblref.dats0000664000175000017500000000366312655455557022511 0ustar hwxihwxi(* ** for testing ** [libats/ML/hashtblref] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) // staload "libats/ML/SATS/hashtblref.sats" // staload _(*anon*) = "libats/DATS/qlist.dats" // staload _(*anon*) = "libats/DATS/hashfun.dats" staload _(*anon*) = "libats/DATS/linmap_list.dats" staload _(*anon*) = "libats/DATS/hashtbl_chain.dats" staload _(*anon*) = "libats/ML/DATS/hashtblref.dats" // (* ****** ****** *) val () = { // val N = i2sz(1024) // typedef key = string and itm = int // val mytbl = hashtbl_make_nil(N) // val () = assertloc (hashtbl_get_capacity(mytbl)=N) // val () = assertloc (iseqz(hashtbl_get_size(mytbl))) // val-~None_vt() = hashtbl_insert (mytbl, "a", 0) val-~None_vt() = hashtbl_insert (mytbl, "b", 1) val-~None_vt() = hashtbl_insert (mytbl, "c", 2) val-~None_vt() = hashtbl_insert (mytbl, "d", 3) val-~None_vt() = hashtbl_insert (mytbl, "e", 4) val-~None_vt() = hashtbl_insert (mytbl, "f", 5) val-~None_vt() = hashtbl_insert (mytbl, "g", 6) val-~None_vt() = hashtbl_insert (mytbl, "h", 7) val-~None_vt() = hashtbl_insert (mytbl, "i", 8) val-~None_vt() = hashtbl_insert (mytbl, "j", 9) // val-~Some_vt(0) = hashtbl_search (mytbl, "a") val-true = hashtbl_remove (mytbl, "a") val-~None_vt((*void*)) = hashtbl_search (mytbl, "a") val-false = hashtbl_remove (mytbl, "a") // val-~Some_vt(1) = hashtbl_search (mytbl, "b") val-~Some_vt(2) = hashtbl_search (mytbl, "c") val-~Some_vt(3) = hashtbl_search (mytbl, "d") val-~Some_vt(4) = hashtbl_search (mytbl, "e") // val () = assertloc (hashtbl_get_size(mytbl)=i2sz(10-1)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_hashtblref.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ATS1_linset_listord.dats0000664000175000017500000000274412655455557023624 0ustar hwxihwxi(* ** for testing [libats/linset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: January, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/linset_listord.sats" staload _ = "libats/ATS1/DATS/linset_listord.dats" (* ****** ****** *) val () = { // vtypedef set = set(int) // val cmp = lam (x:int, y:int): int = compare(x, y) // var xs1: set = linset_nil{int}() val-false = linset_insert (xs1, 0, cmp) val-false = linset_insert (xs1, 1, cmp) val-false = linset_insert (xs1, 2, cmp) // val () = assertloc (linset_is_member (xs1, 0, cmp)) val () = assertloc (linset_is_member (xs1, 1, cmp)) val () = assertloc (linset_is_member (xs1, 2, cmp)) val () = assertloc (linset_isnot_member (xs1, 3, cmp)) val () = assertloc (linset_isnot_member (xs1, 4, cmp)) // val-~Some_vt(_) = linset_chooseout_opt (xs1) // var xs2: set = linset_nil{int}() val-false = linset_insert (xs2, 2, cmp) val-false = linset_insert (xs2, 3, cmp) val-false = linset_insert (xs2, 4, cmp) // val-~Some_vt(_) = linset_chooseout_opt (xs2) // val xs12 = linset_union (xs1, xs2, cmp) val xs12 = linset_listize (xs12) val () = fprintln! (stdout_ref, "xs12 = ", xs12) val ((*void*)) = list_vt_free (xs12) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ATS1_linset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_basics.dats0000664000175000017500000000106212655455557021414 0ustar hwxihwxi(* ** for testing [prelude/float] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { val out = stdout_ref // val () = println! 0 1 2 3 4 5 6 7 8 9 val () = println! (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) // val () = prerrln! 0 1 2 3 4 5 6 7 8 9 val () = prerrln! (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) // val () = fprintln! out 0 1 2 3 4 5 6 7 8 9 val () = fprintln! (out, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_basics.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_fundeque_fngtree.dats0000664000175000017500000000211712655455557023316 0ustar hwxihwxi(* ** for testing [libats/fundeque_fngtree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/fundeque_fngtree.sats" staload _(*anon*) = "libats/DATS/fundeque_fngtree.dats" (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val DQ0 = fundeque_nil{T}() val DQ1 = fundeque_cons (1, DQ0) val DQ2 = fundeque_snoc (DQ1, 2) val () = assertloc (fundeque_size (DQ2) = 2) // val DQ4 = fundeque_append (DQ2, DQ2) val () = assertloc (fundeque_size (DQ4) = 4) // val DQ6 = fundeque_append (DQ2, DQ4) val () = assertloc (fundeque_size (DQ6) = 6) // val DQ8 = fundeque_append (DQ6, DQ2) val () = assertloc (fundeque_size (DQ8) = 8) // val () = assertloc (fundeque_get_atbeg (DQ8) = 1) val () = assertloc (fundeque_get_atend (DQ8) = 2) // val () = fprintln! (out, "DQ8 = ", DQ8) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_fundeque_fngtree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_list_vt.dats0000664000175000017500000000315312655455557021637 0ustar hwxihwxi(* ** for testing [prelude/list_vt] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { val x0 = 0 val x1 = 1 val xs = nil_vt{int}() val xs = cons_vt{int}(x0, cons_vt{int}(x1, xs)) val+~cons_vt (x, xs) = xs val () = assertloc (x = x0) val+~cons_vt (x, xs) = xs val () = assertloc (x = x1) val+~nil_vt () = xs } (* end of [val] *) (* ****** ****** *) val () = { val xs = list_make_intrange (0, 10) val xs = list_vt_cast{int}(xs) val () = fprintln! (stdout_ref, "digits = ", xs) val rxs = list_vt_reverse (xs) val () = fprintln! (stdout_ref, "digits(rev) = ", rxs) val () = list_vt_free (rxs) } (* end of [val] *) (* ****** ****** *) val () = { typedef T = int val xs1 = $list_vt{T}(1) val xs2 = $list_vt{T}(2) val xs3 = $list_vt{T}(3) val xss = $list_vt{List_vt(T)}(xs1, xs2, xs3) val xs123 = list_vt_concat (xss) // xs123 = [1, 2, 3] // val () = assertloc (length (xs123) = 3) // val () = assertloc (xs123[0] = 1) val () = assertloc (xs123[1] = 2) val () = assertloc (xs123[2] = 3) // val () = list_vt_free (xs123) } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val xs = $list_vt{T}(0, 9, 2, 7, 4, 5, 6, 3, 8, 1) val ys = $list_vt{T}(0, 9, 2, 7, 4, 5, 6, 3, 8, 1) // val xys = list_vt_append (xs, ys) // implement list_vt_mergesort$cmp (x, y) = compare (x, y) // val xys = list_vt_mergesort (xys) val () = fprint_list_vt (out, xys) val () = fprint_newline (out) val () = list_vt_free (xys) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_list_vt.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_string.dats0000664000175000017500000001030412655455557021455 0ustar hwxihwxi(* ** for testing [prelude/string] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) val alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" (* ****** ****** *) val () = { // val () = assertloc ("AB" < "ABC") val () = assertloc ("BC" > "ABC") val () = assertloc ("XYZ" > "XY") val () = assertloc ("XYZ" < "YZ") // } // end of [val] (* ****** ****** *) val () = { // val ab = alphabet val () = assertloc (ab[0] = 'A') val () = assertloc (ab[1] = 'B') val () = assertloc (ab[2] = 'C') val () = assertloc (ab[23] = 'X') val () = assertloc (ab[24] = 'Y') val () = assertloc (ab[25] = 'Z') val () = assertloc (compare (ab, ab) = 0) val () = assertloc (strlen (ab) = 26) val () = assertloc (string_length (ab) = 26) // } // end of [val] (* ****** ****** *) val () = { // val ab = alphabet // val () = assertloc (strchr (ab, 'a') < 0) val () = assertloc (strrchr (ab, 'a') < 0) val () = assertloc (strchr (ab, 'A') = 0) val () = assertloc (strrchr (ab, 'A') = 0) val () = assertloc (strchr (ab, 'Z') = 25) val () = assertloc (strrchr (ab, 'Z') = 25) val () = assertloc (strchr (ab, '\0') = 26) val () = assertloc (strrchr (ab, '\0') = 26) // val () = assertloc (strstr (ab, "PQR") = strchr (ab, 'P')) val () = assertloc (strspn (ab, "ABC") = 3) val () = assertloc (strcspn (ab, "XYZ") = 23) // val () = assertloc (string_index (ab, 'P') = 15) val () = assertloc (string_rindex (ab, 'P') = 15) // } // end of [val] (* ****** ****** *) val () = { // val ab = alphabet val ab2 = string0_copy (ab) val () = assertloc (ab = $UN.strptr2string (ab2)) val () = strptr_free (ab2) val abab = string0_append (ab, ab) val () = assertloc (strstr ($UN.strptr2string (abab), ab) = 0) val () = assertloc (strrchr ($UN.strptr2string (abab), 'A') = 26) val () = assertloc (strrchr ($UN.strptr2string (abab), 'B') = 27) val () = assertloc (strrchr ($UN.strptr2string (abab), 'C') = 28) val () = strptr_free (abab) // } // end of [val] (* ****** ****** *) val () = { // val ab = alphabet // implement{} string_tabulate$fopr (i) = let val c = int2char0 (char2int0('A') + g0u2i(i)) in $UN.cast{charNZ}(c) // HX: [c] cannot be NUL end // end of [string_tabulate$fwork] // val ab2 = string_tabulate (i2sz(26)) val ((*void*)) = assertloc (ab = $UN.castvwtp1{string}(ab2)) val ((*void*)) = strnptr_free (ab2) // } // end of [val] (* ****** ****** *) val () = { // val asz = i2sz(5) val A = arrayptr_make_elt (asz, "") val () = ( A[0] := "H"; A[1] := "e"; A[2] := "l"; A[3] := "l"; A[4] := "o"; ) (* end of [val] *) val str = stringarr_concat ($UN.arrayptr2ref(A), asz) val () = arrayptr_free (A) // val out = stdout_ref val () = fprintln! (out, "str = ", str) val () = strptr_free (str) // } // end of [val] (* ****** ****** *) val () = { val out = stdout_ref val cs = string_explode ("abcde") val abcde = string_make_list ($UN.list_vt2t{charNZ}(cs)) val () = list_vt_free (cs) val () = assertloc ("abcde" = $UN.strnptr2string(abcde)) val () = strnptr_free (abcde) } (* end of [val] *) (* ****** ****** *) val () = { // val ab = alphabet // val out = stdout_ref // implement{env} string_foreach$fwork (c, env) = fprint_char (out, c) val () = assertloc (string_foreach (ab) = 26) val () = fprint_newline (out) // implement{env} string_rforeach$fwork (c, env) = fprint_char (out, c) val () = assertloc (string_rforeach (ab) = 26) val () = fprint_newline (out) // } (* end of [val] *) (* ****** ****** *) // val () = assertloc (strcmp("a", "a") = 0) val () = assertloc (strcmp("b", "b") = 0) val () = assertloc (strcmp("b", "a") > 0) val () = assertloc (strcmp("a", "b") < 0) // val () = assertloc (compare("a", "a") = 0) val () = assertloc (compare("b", "b") = 0) val () = assertloc (compare("b", "a") = 1) val () = assertloc (compare("a", "b") = ~1) // (* ****** ****** *) val () = { // val () = assertloc (stropt_length (stropt_none ()) = ~1) // } // end of [val] (* ****** ****** *) val () = { // val res = $extfcall (Strptr0, "atspre_string_make_snprintf", "%i:%s", 1234567890, "abcdefghijklmnopqrstuvwxyz") // val () = println! (res) val () = strptr_free (res) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_string.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linheap_binomial.dats0000664000175000017500000000370412655455557023265 0ustar hwxihwxi(* ** for testing [libats/linheap_binomial] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/linheap_binomial.sats" // staload _(*anon*) = "libats/DATS/gnode.dats" staload _(*anon*) = "libats/DATS/linheap_binomial2.dats" // (* ****** ****** *) val () = { // typedef elt = int vtypedef heap = heap (elt) // var hp : heap = linheap_nil{elt}() val () = linheap_insert (hp, 0) val () = linheap_insert (hp, 2) val () = linheap_insert (hp, 4) val hp1 = hp val () = assertloc (linheap_size(hp1) = 3) // var hp : heap = linheap_nil{elt}() val () = linheap_insert (hp, 1) val () = linheap_insert (hp, 3) val () = linheap_insert (hp, 5) val hp2 = hp val () = assertloc (linheap_size(hp2) = 3) // var hp : heap = linheap_merge (hp1, hp2) // val-~Some_vt(0) = linheap_getmin_opt (hp) val-~Some_vt(0) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 5) val-~Some_vt(1) = linheap_getmin_opt (hp) val-~Some_vt(1) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 4) val-~Some_vt(2) = linheap_getmin_opt (hp) val-~Some_vt(2) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 3) val-~Some_vt(3) = linheap_getmin_opt (hp) val-~Some_vt(3) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 2) val-~Some_vt(4) = linheap_getmin_opt (hp) val-~Some_vt(4) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 1) val-~Some_vt(5) = linheap_getmin_opt (hp) val-~Some_vt(5) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 0) // val-~None_vt ((*void*)) = linheap_getmin_opt (hp) val-~None_vt ((*void*)) = linheap_delmin_opt (hp) // val () = linheap_free (hp) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linheap_binomial.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_stringbuf.dats0000664000175000017500000000553212655455557021777 0ustar hwxihwxi(* ** for testing [libats/dynarray] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: May, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/stringbuf.sats" staload _(*anon*) = "libats/DATS/stringbuf.dats" (* ****** ****** *) val () = { val sbf = stringbuf_make_nil (i2sz(1)) // val ((*void*)) = assertloc (stringbuf_get_size (sbf) = 0) val ((*void*)) = assertloc (stringbuf_get_capacity (sbf) = 1) val-true = stringbuf_reset_capacity (sbf, i2sz(2)) val ((*void*)) = assertloc (stringbuf_get_capacity (sbf) = 2) // val ((*void*)) = stringbuf_free (sbf) // } (* end of [val] *) (* ****** ****** *) val () = { // val sbf = stringbuf_make_nil (i2sz(2)) // val-1 = stringbuf_insert (sbf, 'a') val-1 = stringbuf_insert (sbf, 'b') val ((*void*)) = assertloc (stringbuf_get_capacity (sbf) = 2) // val-1 = stringbuf_insert (sbf, 'c') val ((*void*)) = assertloc (stringbuf_get_capacity (sbf) = 4) // var n: size_t val str = stringbuf_getfree_strnptr (sbf, n) val ((*void*)) = assertloc (g0u2i(n) = strnptr_length (str)) // val str = strnptr2strptr (str) val ((*void*)) = println! ("str = ", str) // val ((*void*)) = strptr_free (str) // } (* end of [val] *) (* ****** ****** *) val () = { // val sbf = stringbuf_make_nil (i2sz(1)) // val _ = stringbuf_insert (sbf, true) val _ = stringbuf_insert (sbf, " + ") val _ = stringbuf_insert (sbf, false) // var n: size_t val str = stringbuf_getfree_strnptr (sbf, n) val ((*void*)) = assertloc (g0u2i(n) = strnptr_length (str)) // val str = strnptr2strptr (str) val ((*void*)) = println! ("str = ", str) // val ((*void*)) = strptr_free (str) // } (* end of [val] *) (* ****** ****** *) val () = { // val sbf = stringbuf_make_nil (i2sz(1)) // val _ = stringbuf_insert (sbf, 1234) val _ = stringbuf_insert (sbf, 56789u) val _ = stringbuf_insert (sbf, 123456789l) val _ = stringbuf_insert (sbf, 1234567890ul) // var n: size_t val str = stringbuf_getfree_strnptr (sbf, n) val ((*void*)) = assertloc (g0u2i(n) = strnptr_length (str)) // val str = strnptr2strptr (str) val ((*void*)) = println! ("str = ", str) // val ((*void*)) = strptr_free (str) // } (* end of [val] *) (* ****** ****** *) val () = { // val sbf = stringbuf_make_nil (i2sz(1)) // val digits = $list_vt{int}(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) val _(*n*) = stringbuf_insert_list (sbf, $UN.list_vt2t(digits)) val ((*void*)) = list_vt_free (digits) // var n: size_t val str = stringbuf_getfree_strnptr (sbf, n) val ((*void*)) = assertloc (g0u2i(n) = strnptr_length (str)) // val str = strnptr2strptr (str) val ((*void*)) = println! ("str = ", str) // val ((*void*)) = strptr_free (str) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_stringbuf.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_filebas.dats0000664000175000017500000000427412655455557021565 0ustar hwxihwxi(* ** for testing [prelude/filebas] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/sys/SATS/stat.sats" staload "libc/sys/SATS/types.sats" (* ****** ****** *) // fun test_file_ixusr (path: string): int = let macdef S_IXUSR = $UN.cast{uint}(S_IXUSR) in test_file_mode_fun (path, lam (mode) => (mode land S_IXUSR) != 0u) end // end of [test_file_ixusr] // (* ****** ****** *) val () = { // val name = "/home/hwxi/research/Postiats/git/doc/EXAMPLE/ATSLIB/prelude_filebas.dats" // val (fpf | ext) = filename_get_ext (name) val out = stdout_ref val () = fprintln! (out, "ext = ", ext) prval () = fpf (ext) // val (fpf | base) = filename_get_base (name) val out = stdout_ref val () = fprintln! (out, "base = ", base) prval () = fpf (base) // } // end of [val] (* ****** ****** *) val () = { // val inp = fileref_open_exn ("./prelude_filebas.dats", file_mode_r) // val ( ) = while (true) { val line = fileref_get_line_string (inp) val iseof = fileref_is_eof (inp) val () = if ~iseof then println! (line) val () = strptr_free (line) val () = if iseof then $break } // val () = fileref_close (inp) // } (* end of [val] *) (* ****** ****** *) val () = { // val inp = fileref_open_exn ("./prelude_filebas.dats", file_mode_r) // val () = while (true) { val word = fileref_get_word<> (inp) val isnot = ptrcast (word) > the_null_ptr val () = if isnot then fprintln! (stdout_ref, word) val () = strptr_free (word) val () = if isnot then $continue else $break } // } (* end of [val] *) (* ****** ****** *) val () = { // val inp = fileref_open_exn ("./prelude_filebas.dats", file_mode_r) // implement {env}(*tmp*) fileref_foreach$fwork (c, env) = fprint_char (stdout_ref, toupper(c)) // val () = fileref_foreach (inp) // val ((*void*)) = fileref_close (inp) // } (* end of [val] *) (* ****** ****** *) val () = assertloc (test_file_isdir(".") = 1) val () = assertloc (test_file_ixusr("./prelude_filebas.exe") = 1) val () = assertloc (test_file_isreg("./prelude_filebas.dats") = 1) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_filebas.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_pointer.dats0000664000175000017500000000116712655455557021636 0ustar hwxihwxi(* ** for testing [prelude/pointer] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define nullp the_null_ptr (* ****** ****** *) val () = { // val ( ) = assertloc (nullp = $UNSAFE.cast{ptr}(0)) val ( ) = assertloc ( ptr_add (nullp, 1) = add_ptr_bsz (nullp, sizeof) ) // end of [val] // } (* end of [val] *) (* ****** ****** *) val () = { // val ap = aptr_make_elt (10) // val-10 = ap[] val () = ap[] := 2 * 10 val-20 = aptr_getfree_elt(ap) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_pointer.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_grandom.dats0000664000175000017500000000135312655455557021602 0ustar hwxihwxi(* ** For testing ** [prelude/grandom] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // #include "share/HATS/atslib_staload_libc.hats" // (* ****** ****** *) // implement grandom_int<> () = $UNSAFE.cast2int($STDLIB.random()) mod 100 // (* ****** ****** *) // implement grandom_bool<> () = int2bool($UNSAFE.cast2int($STDLIB.random()) mod 2) // (* ****** ****** *) val xs = grandom_list(10) val () = println! ("xs = ", xs) (* ****** ****** *) val xs = grandom_list(10) val () = println! ("xs = ", xs) (* ****** ****** *) val A0 = grandom_arrszref(i2sz(10)) val () = fprintln! (stdout_ref, "A0 = ", A0) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_grandom.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_memory.dats0000664000175000017500000000122112655455557021455 0ustar hwxihwxi(* ** for testing [prelude/memory] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) (* fun malloc_gc {n:int} ( n: size_t (n) ) : [l:agz] ( b0ytes n @ l, mfree_gc_v (l) | ptr l ) = "mac#%" // endfun fun mfree_gc {l:addr}{n:int} ( pfat: b0ytes n @ l, pfgc: mfree_gc_v (l) | ptr l ) : void = "mac#%" // endfun *) (* ****** ****** *) val () = { // val ( pfat, pfgc | p ) = malloc_gc((i2sz)1000000) // val () = assertloc (p > 0) // val () = mfree_gc (pfat, pfgc | p) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_memory.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_gvalue.dats0000664000175000017500000000212612655455557021643 0ustar hwxihwxi(* ** for testing [libats/ML/gvalue] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/gvalue.sats" (* ****** ****** *) // val state = gvhashtbl_make_nil(16) // (* ****** ****** *) // val () = state["test_arg1"] := GVint(1) // val () = state["test_arg2"] := GVint(2) // val-1 = GVint_uncons(state["test_arg1"]) val-2 = GVint_uncons(state["test_arg2"]) (* val-3 = GVint_uncons(state["test_arg3"]) *) // (* ****** ****** *) // val () = state["passwd_passed"] := GVbool(false) // (* ****** ****** *) val-false = GVbool_uncons(state["passwd_passed"]) (* ****** ****** *) // val-GVint(1) = state["test_arg1"] val-GVint(2) = state["test_arg2"] // val-GVbool(false) = state["passwd_passed"] // (* ****** ****** *) // val () = state["passwd_fcheck"] := GVfunclo_clo(lam(x) => let val-GVstring(x)=x in GVbool(x="AboveTopSecret") end) // (* ****** ****** *) implement main0() = ((*void*)) (* ****** ****** *) (* end of [libats_ML_gvalue.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_time.dats0000664000175000017500000000754712655455557020375 0ustar hwxihwxi(* ** for testing [libc/time] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/sys/SATS/types.sats" (* ****** ****** *) staload "libc/SATS/time.sats" staload _ = "libc/DATS/time.dats" (* ****** ****** *) val () = { // val out = stdout_ref // var tval = time_get () val fpfstr = ctime (tval) val () = fprint_strptr (out, fpfstr.1) prval () = fpfstr.0 (fpfstr.1) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // var tval: time_t val opt = time_getset (tval) val () = assertloc (opt) prval () = opt_unsome (tval) val fpfstr = ctime (tval) val () = fprint_strptr (out, fpfstr.1) prval () = fpfstr.0 (fpfstr.1) // val tstr = ctime_r_gc (tval) val () = fprint_strptr (out, tstr) val () = strptr_free (tstr) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // var tval = time_get () // val (pfopt | p) = gmtime (tval) val () = assertloc (p > 0) prval Some_v @(pfat, fpf) = pfopt // val () = println! ("p->tm_sec = ", p->tm_sec) val () = println! ("p->tm_min = ", p->tm_min) val () = println! ("p->tm_hour = ", p->tm_hour) val () = println! ("p->tm_mon = ", p->tm_mon) val () = println! ("p->tm_year = ", p->tm_year) val () = println! ("p->tm_wday = ", p->tm_wday) val () = println! ("p->tm_mday = ", p->tm_mday) val () = println! ("p->tm_yday = ", p->tm_yday) val () = println! ("p->tm_isdst = ", p->tm_isdst) // prval () = fpf (pfat) // var tm_struct: tm_struct val p = gmtime_r (tval, tm_struct) val () = assertloc (p > 0) prval () = opt_unsome (tm_struct) // val () = println! ("tm_struct.sec = ", tm_struct.tm_sec) val () = println! ("tm_struct.min = ", tm_struct.tm_min) val () = println! ("tm_struct.hour = ", tm_struct.tm_hour) val () = println! ("tm_struct.mon = ", tm_struct.tm_mon) val () = println! ("tm_struct.year = ", tm_struct.tm_year) val () = println! ("tm_struct.wday = ", tm_struct.tm_wday) val () = println! ("tm_struct.mday = ", tm_struct.tm_mday) val () = println! ("tm_struct.yday = ", tm_struct.tm_yday) val () = println! ("tm_struct.isdst = ", tm_struct.tm_isdst) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // var tval = time_get () // val (pfopt | p) = localtime (tval) val () = assertloc (p > 0) prval Some_v @(pfat, fpf) = pfopt // val () = println! ("p->tm_sec = ", p->tm_sec) val () = println! ("p->tm_min = ", p->tm_min) val () = println! ("p->tm_hour = ", p->tm_hour) val () = println! ("p->tm_mon = ", p->tm_mon) val () = println! ("p->tm_year = ", p->tm_year) val () = println! ("p->tm_wday = ", p->tm_wday) val () = println! ("p->tm_mday = ", p->tm_mday) val () = println! ("p->tm_yday = ", p->tm_yday) val () = println! ("p->tm_isdst = ", p->tm_isdst) // prval () = fpf (pfat) // var tm_struct: tm_struct val p = localtime_r (tval, tm_struct) val () = assertloc (p > 0) prval () = opt_unsome (tm_struct) // val () = println! ("tm_struct.sec = ", tm_struct.tm_sec) val () = println! ("tm_struct.min = ", tm_struct.tm_min) val () = println! ("tm_struct.hour = ", tm_struct.tm_hour) val () = println! ("tm_struct.mon = ", tm_struct.tm_mon) val () = println! ("tm_struct.year = ", tm_struct.tm_year) val () = println! ("tm_struct.wday = ", tm_struct.tm_wday) val () = println! ("tm_struct.mday = ", tm_struct.tm_mday) val () = println! ("tm_struct.yday = ", tm_struct.tm_yday) val () = println! ("tm_struct.isdst = ", tm_struct.tm_isdst) // } // end of [val] (* ****** ****** *) val () = { // var tval = time_get () // val (pfopt | p) = localtime (tval) val () = assertloc (p > 0) prval Some_v @(pfat, fpf) = pfopt // val tval2 = mktime (!p) // prval () = fpf (pfat) // val () = assertloc (tval = tval2) // } // end of [val] (* ****** ****** *) val () = { // val ntick = clock () // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_time.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funset_avltree.dats0000664000175000017500000000401612655455557023016 0ustar hwxihwxi(* ** for testing [libats/funset_avltree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funset_avltree.sats" staload _(*anon*) = "libats/DATS/funset_avltree.dats" (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = $lst_vt{T}(0, 1, 2, 3, 4, 3, 2, 1, 0) val set = funset_make_list ($UN.list_vt2t(xs)) val () = list_vt_free (xs) // val () = assertloc (funset_size (set) = 5) // val () = assertloc (funset_is_member (set, 2)) val () = assertloc (funset_is_member (set, 3)) val () = assertloc (funset_is_member (set, 4)) val () = assertloc (funset_isnot_member (set, 5)) // val () = fprintln! (out, "set = ", set) // val xs2 = funset_listize (set) val () = fprintln! (out, "xs2 = ", xs2) val _freed = list_vt_free (xs2) // val () = assertloc (funset_equal (set, set)) val () = assertloc (funset_compare (set, set) = 0) val () = assertloc (funset_is_subset (set, set)) val () = assertloc (funset_is_supset (set, set)) // var set = set val-true = funset_remove (set, 1) val-true = funset_insert (set, 2) val-true = funset_remove (set, 3) val-true = funset_insert (set, 4) val-false = funset_remove (set, 5) val-false = funset_insert (set, 5) // val-~Some_vt(5) = funset_takeoutmax_opt (set) val-~Some_vt(4) = funset_takeoutmax_opt (set) val-~Some_vt(0) = funset_takeoutmin_opt (set) val-~Some_vt(2) = funset_takeoutmin_opt (set) // val () = assertloc (funset_is_nil (set)) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs1 = funset_make_sing (5) val xs2 = funset_make_list ($lst{T}(0,1,2,3,4)) // val () = assertloc (funset_compare (xs1, xs2) > 0) val () = assertloc (funset_compare (xs2, xs1) < 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funset_avltree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_qlist.dats0000664000175000017500000000230212655455557021120 0ustar hwxihwxi(* ** for testing [libats/qlist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: March, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/qlist.sats" staload _(*anon*) = "libats/DATS/qlist.dats" (* ****** ****** *) val ( ) = { // typedef T = int // val out = stdout_ref // val xs = qlist_make_nil {T} () // val x1 = 1 val () = qlist_insert (xs, x1) val x2 = 2 val () = qlist_insert (xs, x2) val x3 = 3 val () = qlist_insert (xs, x3) // val () = fprint (out, "xs = ") val () = fprint_qlist_sep (out, xs, ", ") val () = fprint_newline (out) // val () = assertloc (qlist_length (xs) = 3) // val y1 = qlist_takeout (xs) val () = assertloc (x1 = y1) val y2 = qlist_takeout (xs) val () = assertloc (x2 = y2) val y3 = qlist_takeout (xs) val () = assertloc (x3 = y3) // val () = qlist_insert (xs, x1) val () = qlist_insert (xs, x2) val y1 = qlist_takeout (xs) val () = assertloc (x1 = y1) val y2 = qlist_takeout (xs) val () = assertloc (x2 = y2) // val () = qlist_free_nil (xs) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_qlist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_monad_list.dats0000664000175000017500000000156212655455557022514 0ustar hwxihwxi(* ** for testing [libats/ML/monad_list] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/ML/SATS/list0.sats" staload _ = "libats/ML/DATS/list0.dats" (* ****** ****** *) staload "libats/ML/SATS/monad_list.sats" staload _ = "libats/ML/DATS/monad_list.dats" (* ****** ****** *) val () = { val m0 = monad_list_list ((list0)$arrpsz{int}(1, 2, 3)) val m1 = monad_list_list ((list0)$arrpsz{int}(10, 20, 30)) val m01_add = monad_bind2 (m0, m1, lam (x, y) => monad_return (x+y)) val m01_mul = monad_bind2 (m0, m1, lam (x, y) => monad_return (x*y)) // val () = fprintln! (stdout_ref, "m01_add = ", m01_add) val () = fprintln! (stdout_ref, "m01_mul = ", m01_mul) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_monad_list.dats] *)ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_option_vt.dats0000664000175000017500000000076112655455557022176 0ustar hwxihwxi(* ** for testing [prelude/option_vt] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { // val out = stdout_ref // val opt = None_vt{int}() val () = fprintln! (out, "opt = ", opt) val+~None_vt _ = opt // val opt = Some_vt{int}(0) val () = fprintln! (out, "opt = ", opt) val+~Some_vt x = opt val () = assertloc (x = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_option_vt.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_arrayptr.dats0000664000175000017500000000464312655455557022024 0ustar hwxihwxi(* ** for testing [prelude/arrayptr] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) val () = { // typedef T = int // val out = stdout_ref // val A_elt = arrayptr_make_elt (i2sz(3), 0) val () = fprint (out, "A_elt = ") val () = fprint (out, A_elt, i2sz(3)) val () = fprint_newline (out) val () = arrayptr_free (A_elt) // val xs = list_nil{T}() val xs = list_cons{T}(3, xs) val xs = list_cons{T}(2, xs) val xs = list_cons{T}(1, xs) // val A_list = arrayptr_make_list (3, xs) val () = fprint (out, "A_list = ") val () = fprint (out, A_list, i2sz(3)) val () = fprint_newline (out) val () = arrayptr_free (A_list) // val A_rlist = arrayptr_make_rlist (3, xs) val () = fprint (out, "A_rlist = ") val () = fprint (out, A_rlist, i2sz(3)) val () = fprint_newline (out) val () = arrayptr_free (A_rlist) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) val i = 2 val () = assertloc (A[i] = i) val () = A[i] := ~i val () = assertloc (A[i] = ~i) val () = arrayptr_interchange (A, (i2sz)0, (i2sz)4) val () = assertloc (A[0] = 4 && A[4] = 0) // val A = A // HX: a puzzling existential unpacking :) // val out = stdout_ref val () = fprint! (out, "A = ") val () = fprint_arrayptr_sep (out, A, i2sz(5), "; ") val () = fprintln! (out) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // val l = 0 and r = 10 val A = arrayptr_make_intrange (l, r) val () = fprint (out, "A[0, 10) = ") val () = fprint_arrayptr (out, A, i2sz(r)) val () = fprint_newline (out) // val () = arrayptr_free (A) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = double // val asz = i2sz(5) val A = (arrayptr)$arrpsz{T}(0.0, 1.0, 2.0, 3.0, 4.0) // implement(tenv) array_iforeach$fwork (i, x, env) = let val () = if i > 0 then print ", " in print (x) end val () = assertloc (asz = arrayptr_iforeach (A, asz)) val () = println! () // typedef tenv = int implement array_rforeach$fwork (x, i) = let val () = if i > 0 then print ", " in i := i+1; print (x) end var i: int = 0 val () = assertloc (asz = arrayptr_rforeach_env (A, asz, i)) val () = println! () // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_arrayptr.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ATS1_funheap_binomial.dats0000664000175000017500000000262012655455557024057 0ustar hwxihwxi(* ** for testing ** [libats/ATS1/funheap_binomial] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: January, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/funheap_binomial.sats" staload _(*anon*) = "libats/ATS1/DATS/funheap_binomial.dats" (* ****** ****** *) val () = { // var hp0 = funheap_make_nil{int}() val-(0) = sz2i(funheap_size(hp0)) // val cmp = lam (x:int, y:int): int = compare (x, y) // val ((*void*)) = funheap_insert (hp0, 9, cmp) val ((*void*)) = funheap_insert (hp0, 5, cmp) val ((*void*)) = funheap_insert (hp0, 7, cmp) val ((*void*)) = funheap_insert (hp0, 2, cmp) val ((*void*)) = funheap_insert (hp0, 8, cmp) val ((*void*)) = funheap_insert (hp0, 1, cmp) val ((*void*)) = funheap_insert (hp0, 6, cmp) val ((*void*)) = funheap_insert (hp0, 3, cmp) val ((*void*)) = funheap_insert (hp0, 4, cmp) // val-(9) = sz2i(funheap_size(hp0)) // val-~Some_vt(1) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(2) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(3) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(4) = funheap_delmin_opt (hp0, cmp) // val-(5) = sz2i(funheap_size(hp0)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ATS1_funheap_binomial.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_myhashtblref.dats0000664000175000017500000000364012655455557023052 0ustar hwxihwxi(* ** for testing ** [libats/ML/myhashtblref] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) local // typedef key = string and itm = int // in (* in-of-local *) // #include "libats/ML/HATS/myhashtblref.hats" // end // end of [local] (* ****** ****** *) #define N 1 (* ****** ****** *) // val out = stdout_ref // val mytbl = myhashtbl_make_nil(N) // (* ****** ****** *) // val ((*void*)) = fprintln! (out, "size = ", mytbl.size()) val ((*void*)) = fprintln! (out, "capacity = ", mytbl.capacity()) // (* ****** ****** *) // val-~None_vt() = mytbl.insert("a", 0) val-~Some_vt(0) = mytbl.insert("a", 0) // val-~None_vt() = mytbl.insert("b", 1) val-~Some_vt(1) = mytbl.insert("b", 1) // val-~None_vt() = mytbl.insert("c", 2) val-~Some_vt(2) = mytbl.insert("c", 2) // val-~None_vt() = mytbl.insert("d", 3) val-~Some_vt(3) = mytbl.insert("d", 3) // val-~None_vt() = mytbl.insert("e", 4) val-~Some_vt(4) = mytbl.insert("e", 4) // (* ****** ****** *) // val ((*void*)) = fprintln! (out, "size = ", mytbl.size()) val ((*void*)) = fprintln! (out, "capacity = ", mytbl.capacity()) // (* ****** ****** *) val kxs = mytbl.listize1() val ((*void*)) = fprintln! (out, "kxs = ", kxs) (* ****** ****** *) // val ((*void*)) = fprintln! (out, "mytbl = ", mytbl) // (* ****** ****** *) val-~None_vt() = mytbl.search("") val-~Some_vt(0) = mytbl.search("a") val-~Some_vt(1) = mytbl.search("b") val-~Some_vt(2) = mytbl.search("c") (* ****** ****** *) val-true = mytbl.remove("a") val-false = mytbl.remove("a") val-~Some_vt(1) = mytbl.takeout("b") val-~Some_vt(2) = mytbl.takeout("c") (* ****** ****** *) // val ((*void*)) = fprintln! (out, "mytbl = ", mytbl) // val ((*void*)) = myhashtbl_foreach_cloref(mytbl, lam (k, x) => x:=x+x) // val ((*void*)) = fprintln! (out, "mytbl = ", mytbl) // (* ****** ****** *) implement main0((*void*)) = ((*void*)) (* ****** ****** *) (* end of [libats_ML_myhashtblref.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_stkarray.dats0000664000175000017500000000235312655455557021632 0ustar hwxihwxi(* ** for testing [libats/stkarray] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: September, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/stkarray.sats" staload _(*anon*) = "libats/DATS/stkarray.dats" (* ****** ****** *) val () = { // val M = i2sz(2) // val stk = stkarray_make_cap (M) // val () = assertloc (stkarray_get_size (stk) = 0) val () = assertloc (stkarray_get_capacity (stk) = M) // val () = stkarray_insert (stk, 0) val-(0) = stkarray_takeout (stk) val-~None_vt() = stkarray_takeout_opt (stk) // val () = assertloc (stkarray_get_size (stk) = 0) // val-~None_vt() = stkarray_insert_opt (stk, 1) val-~None_vt() = stkarray_insert_opt (stk, 2) // val () = fprintln! (stdout_ref, "stk = ", stk) // val-~Some_vt(3) = stkarray_insert_opt (stk, 3) val () = assertloc (stkarray_get_size (stk) = 2) val-(2) = stkarray_takeout (stk) val-(1) = stkarray_takeout (stk) val-~None_vt() = stkarray_takeout_opt (stk) val () = assertloc (stkarray_get_size (stk) = 0) // val () = stkarray_free_nil (stk) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_stkarray.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_funmap.dats0000664000175000017500000000230012655455557021640 0ustar hwxihwxi(* ** for testing [libats/ML/funmap] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: September, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/funmap.sats" staload _(*anon*) = "libats/ML/DATS/funmap.dats" staload _(*anon*) = "libats/DATS/funmap_avltree.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var map = funmap_make_nil {key,itm} () // val-~None_vt() = funmap_insert (map, 0, "a") val-~Some_vt("a") = funmap_insert (map, 0, "a") val-~None_vt() = funmap_insert (map, 1, "b") val-~None_vt() = funmap_insert (map, 2, "c") // val () = assert (funmap_size (map) = 3) // val () = assert (funmap_remove(map, 0)) val-~None_vt() = funmap_takeout (map, 0) // val-~Some_vt("b") = funmap_takeout (map, 1) val-~Some_vt("c") = funmap_takeout (map, 2) // val () = assert (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_funmap.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linmap_list.dats0000664000175000017500000000506312655455557022306 0ustar hwxihwxi(* ** for testing [libats/linmap_list] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/linmap_list.sats" staload _(*anon*) = "libats/DATS/linmap_list.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var res: itm? // var map = linmap_make_nil {key,itm} () // val ans = linmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 1) val ans = linmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 2) val ans = linmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced // val () = assertloc (linmap_size (map) = 2) // val-~Some_vt("a1") = linmap_search_opt (map, 0) val-~Some_vt("b2") = linmap_search_opt (map, 1) // val ans = linmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 3) // val () = assertloc (~linmap_remove (map, ~1)) // val-~Some_vt("a1") = linmap_takeout_opt (map, 0) val () = assertloc (linmap_size (map) = 2) val-~Some_vt("b2") = linmap_takeout_opt (map, 1) val () = assertloc (linmap_size (map) = 1) val-~Some_vt("c1") = linmap_takeout_opt (map, 2) val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var map = linmap_make_nil {key,itm} () // val-~None_vt() = linmap_insert_opt (map, 0, "0") val-~None_vt() = linmap_insert_opt (map, 1, "1") val-~None_vt() = linmap_insert_opt (map, 2, "2") val-~None_vt() = linmap_insert_opt (map, 3, "3") val-~None_vt() = linmap_insert_opt (map, 4, "4") // val () = assertloc (linmap_size (map) = 5) // val () = fprintln! (stdout_ref, "map = ", map) // val () = list_vt_free (linmap_listize1 (map)) // val-~Some_vt("0") = linmap_takeout_opt (map, 0) val-~Some_vt("1") = linmap_takeout_opt (map, 1) val-~Some_vt("2") = linmap_takeout_opt (map, 2) val-~Some_vt("3") = linmap_takeout_opt (map, 3) val-~Some_vt("4") = linmap_takeout_opt (map, 4) // val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linmap_list.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_dllist.dats0000664000175000017500000000511712655455557021266 0ustar hwxihwxi(* ** for testing [libats/dllist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: February, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/dllist.sats" // staload _ = "libats/DATS/gnode.dats" staload _ = "libats/DATS/dllist.dats" // (* ****** ****** *) #define :: dllist_cons #define cons dllist_cons #define snoc dllist_snoc (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = dllist_sing (5) val xs = cons (1, cons (2, cons (3, cons (4, xs)))) // val () = fprint_dllist (out, xs) val () = fprint_newline (out) // val xs_beg = xs val p_beg = dllist2ptr (xs_beg) // val xs_end = dllist_move_all (xs_beg) val xs2_beg = rdllist_move_all (xs_end) val p2_beg = dllist2ptr (xs2_beg) // val () = dllist_free (xs2_beg) // val () = assertloc (p_beg = p2_beg) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = dllist_sing (1) val xs = snoc (snoc (snoc (snoc (xs, 2), 3), 4), 5) // val () = fprint_dllist (out, xs) val () = fprint_string (out, "->") val () = fprint_rdllist (out, xs) val () = fprint_newline (out) // val xs_beg = rdllist_move_all (xs) // val () = dllist_free (xs_beg) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = dllist_sing (1) val xs = dllist_insert_next (xs, 2) val xs = dllist_move (xs) val xs = dllist_insert_next (xs, 3) val xs = dllist_move (xs) // val nr = dllist_length (xs) val nf = rdllist_length (xs) val () = assertloc (nf + nr = 3) // val xs = rdllist_move_all (xs) // val () = fprint_dllist (out, xs) val () = fprint_newline (out) // val () = dllist_free (xs) // } // end of [val] (* ****** ****** *) val () = { // typedef T = string val out = stdout_ref // val xs = dllist_sing ("A") val xs = dllist_insert_prev (xs, "B") val xs = dllist_insert_prev (xs, "C") // val nr = dllist_length (xs) val nf = rdllist_length (xs) val () = assertloc (nf + nr = 3) // val () = fprint_dllist (out, xs) val () = fprint_newline (out) // val () = dllist_free (xs) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = dllist_nil {T} () val xs = 1 :: 2 :: 3 :: xs // val xs2 = dllist_nil {T} () val xs2 = 4 :: 5 :: 6 :: xs2 // val xs_xs2 = dllist_append (xs, xs2) // val () = fprint_dllist (out, xs_xs2) val () = fprint_newline (out) // val () = dllist_free (xs_xs2) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_dllist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_funset.dats0000664000175000017500000000621012655455557021662 0ustar hwxihwxi(* ** for testing [libats/ML/funset] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/funset.sats" staload _(*anon*) = "libats/ML/DATS/funset.dats" staload _(*anon*) = "libats/DATS/funset_avltree.dats" (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = $list{T}(0, 1, 2, 3, 4, 3, 2, 1, 0) val set = funset_make_list (g0ofg1(xs)) // val () = assertloc (funset_size (set) = 5) // val () = assertloc (funset_is_member (set, 2)) val () = assertloc (funset_is_member (set, 3)) val () = assertloc (funset_is_member (set, 4)) val () = assertloc (funset_isnot_member (set, 5)) // val () = fprintln! (out, "set = ", set) // val () = assertloc (funset_equal (set, set)) val () = assertloc (funset_compare (set, set) = 0) val () = assertloc (funset_is_subset (set, set)) val () = assertloc (funset_is_supset (set, set)) // var set = set val-true = funset_remove (set, 1) val-true = funset_insert (set, 2) val-true = funset_remove (set, 3) val-true = funset_insert (set, 4) val-false = funset_remove (set, 5) val-false = funset_insert (set, 5) // } (* end of [val] *) (* ****** ****** *) val () = { // staload "libc/SATS/stdlib.sats" // val N = 100000 // typedef T = int val out = stdout_ref // var xs1: set(T) = funset_nil () var xs2: set(T) = funset_nil () // local // fun loop (i: int, xs: &set(T) >> _): void = if i < N then ( ignoret(funset_insert (xs, g0f2i(N*drand48()))); loop (i+1, xs) ) else () // end of [if] // in (* in of [local] *) // val () = loop (0, xs1) val () = loop (0, xs2) // end (* end of [local] *) // val () = fprintln! (out, "|xs1| = ", funset_size (xs1)) val () = fprintln! (out, "|xs2| = ", funset_size (xs2)) // val-~Some_vt(x1_max) = funset_getmax_opt (xs1) val-~Some_vt(x2_max) = funset_getmax_opt (xs2) val () = fprintln! (out, "x1_max = ", x1_max) val () = fprintln! (out, "x2_max = ", x2_max) // val sgn = funset_compare (xs1, xs2) val () = fprintln! (out, "funset_compare (xs1, xs2) = ", sgn) val sgn = funset_compare (xs2, xs1) val () = fprintln! (out, "funset_compare (xs2, xs1) = ", sgn) // val xs12_u = funset_union (xs1, xs2) val () = fprintln! (out, "|xs12_u| = ", funset_size (xs12_u)) val xs12_i = funset_intersect (xs1, xs2) val () = fprintln! (out, "|xs12_i| = ", funset_size (xs12_i)) // val xs12_df = funset_differ (xs1, xs2) val () = fprintln! (out, "|xs12_df| = ", funset_size (xs12_df)) val xs21_df = funset_differ (xs2, xs1) val () = fprintln! (out, "|xs21_df| = ", funset_size (xs21_df)) // val-~Some_vt(x12_df_max) = funset_getmax_opt (xs12_df) val-~Some_vt(x21_df_max) = funset_getmax_opt (xs21_df) val () = fprintln! (out, "x12_df_max = ", x12_df_max) val () = fprintln! (out, "x21_df_max = ", x21_df_max) // val xs12_sdf = funset_symdiff (xs1, xs2) val () = fprintln! (out, "|xs12_sdf| = ", funset_size (xs12_sdf)) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_funset.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_strings.dats0000664000175000017500000000137212655455557021116 0ustar hwxihwxi(* ** for testing [libc/strings] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload UNI = "libc/SATS/unistd.sats" (* ****** ****** *) staload "libc/SATS/strings.sats" staload _ = "libc/DATS/strings.dats" (* ****** ****** *) val () = { val str = "abcde" val str2 = "ABCDE" val () = assertloc (strcasecmp (str, str2) = 0) } (* end of [val] *) (* ****** ****** *) val () = { val str = "abcde" val p0 = string2ptr(str) val () = assertloc (strlen (str) = $UN.cast2size(index (str, 0) - p0)) val () = assertloc (strlen (str) = $UN.cast2size(rindex (str, 0) - p0)) } (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_strings.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ATS1_funheap_braun.dats0000664000175000017500000000260412655455557023376 0ustar hwxihwxi(* ** for testing ** [libats/ATS1/funheap_braun] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: January, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/funheap_braun.sats" staload _(*anon*) = "libats/ATS1/DATS/funheap_braun.dats" (* ****** ****** *) val () = { // var hp0 = funheap_make_nil{int}() val-(0) = sz2i(funheap_size(hp0)) // val cmp = lam (x:int, y:int): int = compare (x, y) // val ((*void*)) = funheap_insert (hp0, 9, cmp) val ((*void*)) = funheap_insert (hp0, 5, cmp) val ((*void*)) = funheap_insert (hp0, 7, cmp) val ((*void*)) = funheap_insert (hp0, 2, cmp) val ((*void*)) = funheap_insert (hp0, 8, cmp) val ((*void*)) = funheap_insert (hp0, 1, cmp) val ((*void*)) = funheap_insert (hp0, 6, cmp) val ((*void*)) = funheap_insert (hp0, 3, cmp) val ((*void*)) = funheap_insert (hp0, 4, cmp) // val-(9) = sz2i(funheap_size(hp0)) // val-~Some_vt(1) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(2) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(3) = funheap_delmin_opt (hp0, cmp) val-~Some_vt(4) = funheap_delmin_opt (hp0, cmp) // val-(5) = sz2i(funheap_size(hp0)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ATS1_funheap_braun.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_array0.dats0000664000175000017500000000502212655455557021554 0ustar hwxihwxi(* ** for testing [libats/ML/array0] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/array0.sats" (* ****** ****** *) // staload _(*anon*) = "libats/ML/DATS/array0.dats" // (* ****** ****** *) val () = { // val asz = i2sz(3) val A_elt = array0_make_elt (asz, 0) val ((*void*)) = println! ("A_elt = ", A_elt) // } (* end of [val] *) (* ****** ****** *) val () = { // val asz = (i2sz)10 // val A = array0_tabulate (asz, lam i => $UN.cast{int}(i)) // val out = stdout_ref // val () = fprintln! (out, "A = ", A) // val A2 = array0_map (A, lam (x) => 2 * x) // local implement fprint_array$sep<> (out) = fprint (out, "| ") in val () = fprintln! (out, "A2 = ", A2) end // end of [local] // val sum = array0_foldleft (A, 0, lam (res, x) => res + x) val () = fprintln! (out, "sum(45) = ", sum) // val isum = array0_ifoldleft (A, 0, lam (res, i, x) => res + $UN.cast2int(i) * x) val () = fprintln! (out, "isum(285) = ", isum) // val rsum = array0_foldright (A, lam (x, res) => x + res, 0) val () = fprintln! (out, "rsum(45) = ", rsum) // } (* end of [val] *) (* ****** ****** *) val () = { // val xs = $list{int}(3, 9, 7, 8, 6, 0, 4, 2, 1, 5) // val A0 = array0_make_list(g0ofg1_list(xs)) // val () = println! ("A0(bef) = ", A0) // val () = array0_quicksort (A0, lam(x, y) => compare(x, y)) // val () = println! ("A0(aft) = ", A0) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val asz = (i2sz)10 // val A = array0_tabulate (asz, lam i => $UN.cast{int}(i)) // val A2 = array0_make_subarray (A, i2sz(3), i2sz(5)) val ((*void*)) = fprintln! (out, "A2(A[3,5]) = ", A2) // } (* end of [val] *) (* ****** ****** *) fun array0_make_fileref ( inp: FILEref ) : array0 (char) = A0 where { val cs = fileref_get_file_charlst (inp) val A0 = array0_make_list ($UN.castvwtp1{list0(char)}(cs)) val ((*freed*)) = list_vt_free (cs) } (* end of [array0_make_fileref] *) (* ****** ****** *) val () = { val opt = fileref_open_opt ( "./libats_ML_array0.dats", file_mode_r ) val-~Some_vt (inp) = opt val A0 = array0_make_fileref (inp) val ((*closed*)) = fileref_close (inp) implement fprint_array$sep<> (out) = () val () = fprintln! (stdout_ref, "A0 =\n", A0) } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_array0.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_intrange.dats0000664000175000017500000000224712655455557022173 0ustar hwxihwxi(* ** for testing [libats/ML/filebas] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" // staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/intrange.sats" // staload _ = "libats/ML/DATS/list0.dats" staload _ = "libats/ML/DATS/intrange.dats" // (* ****** ****** *) // val ((*void*)) = repeat(5, $delay(print"Hello!\n")) // val ((*void*)) = (5).repeat(lam () = print"Hello!\n") // val ((*void*)) = (5).foreach()(lam(i) => print!(i, ": Hello!\n")) val ((*void*)) = (5,10).foreach()(lam(i) => print!(i, ": Hello!\n")) // (* ****** ****** *) // val ((*void*)) = println! ((10).list_map(TYPE{int})(lam(i) => i*i)) // (* ****** ****** *) val () = { // val N = 9 // val () = int2_foreach_cloref ( N, N, lam (i, j) => ( if j > 0 then print ' '; $extfcall(void, "printf", "%dx%d=%02d", i+1, j+1, (i+1)*(j+1)); if (j+1=N) then println! (); ) (* end of [lam] *) ) (* end of [int2_foreach_cloref] *) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_intrange.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_deqarray.dats0000664000175000017500000000475512655455557021612 0ustar hwxihwxi(* ** for testing [libats/deqarray] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: September, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/deqarray.sats" staload _(*anon*) = "libats/DATS/deqarray.dats" (* ****** ****** *) val () = { // val M = i2sz(2) // val deq = deqarray_make_cap (M) // val () = assertloc (deqarray_get_size (deq) = 0) val () = assertloc (deqarray_get_capacity (deq) = M) // val () = deqarray_insert_atbeg (deq, 0) val-(0) = deqarray_takeout_atbeg (deq) val () = assertloc (deqarray_get_size (deq) = 0) // val-~None_vt() = deqarray_insert_atbeg_opt (deq, 1) val-~None_vt() = deqarray_insert_atbeg_opt (deq, 2) // val-~Some_vt(3) = deqarray_insert_atbeg_opt (deq, 3) // val-~Some_vt(2) = deqarray_takeout_atbeg_opt (deq) val-~Some_vt(1) = deqarray_takeout_atbeg_opt (deq) val-~None_vt((*void*)) = deqarray_takeout_atbeg_opt (deq) // val () = assertloc (deqarray_get_size (deq) = 0) // val () = deqarray_free_nil (deq) // } (* end of [val] *) (* ****** ****** *) val () = { // val M = i2sz(2) // val deq = deqarray_make_cap (M) // val () = assertloc (deqarray_get_size (deq) = 0) val () = assertloc (deqarray_get_capacity (deq) = M) // val () = deqarray_insert_atend (deq, 0) val-(0) = deqarray_takeout_atend (deq) val () = assertloc (deqarray_get_size (deq) = 0) // val-~None_vt() = deqarray_insert_atend_opt (deq, 1) val-~None_vt() = deqarray_insert_atend_opt (deq, 2) // val-~Some_vt(3) = deqarray_insert_atend_opt (deq, 3) // val-~Some_vt(2) = deqarray_takeout_atend_opt (deq) val-~Some_vt(1) = deqarray_takeout_atend_opt (deq) val-~None_vt((*void*)) = deqarray_takeout_atend_opt (deq) // val () = assertloc (deqarray_get_size (deq) = 0) // val () = deqarray_free_nil (deq) // } (* end of [val] *) (* ****** ****** *) val () = { // val M = i2sz(3) // val deq = deqarray_make_cap (M) // val () = deqarray_insert_atend (deq, 0) val () = deqarray_insert_atend (deq, 1) // val-(0) = deqarray_takeout_atbeg (deq) // val () = deqarray_insert_atend (deq, 2) val () = deqarray_insert_atend (deq, 3) // val-(3) = deqarray_get_at (deq, i2sz(2)) // val-(1) = deqarray_takeout_atbeg (deq) val-(2) = deqarray_takeout_atbeg (deq) val-(3) = deqarray_takeout_atbeg (deq) // val () = assertloc (deqarray_get_size (deq) = 0) // val () = deqarray_free_nil (deq) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_deqarray.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_myfunset.dats0000664000175000017500000000335312655455557022235 0ustar hwxihwxi(* ** For ATS2TUTORIAL *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) local // typedef elt = int // staload FS = "libats/ML/SATS/funset.sats" implement $FS.compare_elt_elt(x, y) = compare(x, y) // in (* in-of-local *) #include "libats/ML/HATS/myfunset.hats" end // end of [local] (* ****** ****** *) // val myset = myfunset_nil() // (* ****** ****** *) // var myset = myset // val-false = myset.insert(0) val-(true) = myset.insert(0) val-false = myset.insert(1) val-(true) = myset.insert(1) // (* ****** ****** *) // val-true = myset.remove(0) val-false = myset.remove(0) val-true = myset.remove(1) val-false = myset.remove(1) // (* ****** ****** *) // val-false = myset.insert(0) val-(true) = myset.insert(0) val-false = myset.insert(1) val-(true) = myset.insert(1) val-false = myset.insert(2) val-(true) = myset.insert(2) // val () = fprintln! (stdout_ref, "myset = ", myset) // (* ****** ****** *) // val myset1 = myfunset_make_list $list{int}(0, 1, 1, 2, 2, 2) // val () = fprintln! (stdout_ref, "myset1 = ", myset1) val () = fprintln! (stdout_ref, "myset1.size = ", myset1.size()) // val myset2 = myfunset_make_list $list{int}(0, 1, 2, 3, 4, 5) // val () = fprintln! (stdout_ref, "myset2 = ", myset2) val () = fprintln! (stdout_ref, "myset2.size = ", myset2.size()) // (* ****** ****** *) val () = assertloc (myset = myset1) val () = assertloc (myset1.is_subset(myset2)) val () = assertloc (myset2.is_supset(myset1)) (* ****** ****** *) // val myset3 = (100).tabulate()(lam x => x%10) // val () = fprintln! (stdout_ref, "myset3 = ", myset3.size()) // val () = fprintln! (stdout_ref, "myset3 = ", myset3) // (* ****** ****** *) implement main0 () = {} (* ****** ****** *) (* end of [libats_ML_myfunset.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_stdio.dats0000664000175000017500000000405012655455557020543 0ustar hwxihwxi(* ** for testing [libc/stdio] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/stdio.sats" (* ****** ****** *) #define EOF ~1 (* ****** ****** *) val () = { val fp = tmpfile_exn () // prval pfr = file_mode_lte_rw_r () prval pfw = file_mode_lte_rw_w () // val ret = fileno (fp) val () = println! ("fileno (...) = ", ret) // val ret = feof (fp) val () = assertloc (ret = 0) val ret = ferror (fp) val () = assertloc (ret = 0) // val c = fgetc (pfr | fp) val () = assertloc (c = EOF) // val ret = feof (fp) val () = assertloc (ret != 0) val ret = ferror (fp) val () = assertloc (ret = 0) // val c0 = '0' val c0 = fputc (pfw | c0, fp) val () = assertloc (c0 = char2int0 '0') // val c1 = '1' val c1 = fputc (pfw | c1, fp) val () = assertloc (c1 = char2int0 '1') // val ret = fseek (fp, 0L, SEEK_SET) val () = assertloc (ret = 0) // val ret = ftell (fp) val () = assertloc (ret = 0L) // val c0 = fgetc (pfr | fp) val () = assertloc (c0 = char2int0 '0') val ret = ftell (fp) val () = assertloc (ret = 1L) // val c1 = fgetc (pfr | fp) val () = assertloc (c1 = char2int0 '1') val ret = ftell (fp) val () = assertloc (ret = 2L) // val ret = fputs (pfw | "23456789", fp) val () = assertloc (ret != 0) val ret = ftell (fp) val () = assertloc (ret = 10L) // val () = rewind (fp) val ret = ftell (fp) val () = assertloc (ret = 0L) // val () = fclose_exn (fp) // } (* end of [val] *) (* ****** ****** *) val () = { // val rfp = popen_exn ("ls", $UN.cast{pmode(r)}("r")) val wfp = popen_exn ("sort -f", $UN.cast{pmode(w)}("w")) val ( ) = while (true) { val str = fgets0_gc (2, rfp) val () = assertloc (strptr2ptr (str) > 0) val isemp = strptr_is_empty (str) val () = if ~isemp then fputs_exn ($UN.strptr2string(str), wfp) val () = strptr_free (str) val () = if isemp then $break } val status = pclose0_exn (wfp) val status = pclose0_exn (rfp) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_stdio.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_list0.dats0000664000175000017500000000564512655455557021424 0ustar hwxihwxi(* ** for testing [libats/ML/list0] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/list0.sats" (* ****** ****** *) // staload _(*anon*) = "libats/ML/DATS/list0.dats" // (* ****** ****** *) val () = { // val out = stdout_ref // val xs = list0_make_intrange (0, 10) val () = assertloc (xs[0] = 0) val () = assertloc (xs[5] = 5) val () = assertloc (xs[9] = 9) val () = assertloc (list0_head_exn(xs) = 0) val () = assertloc (list0_head_exn(list0_tail_exn(xs)) = 1) // val xs = list0_make_intrange (0, 30, 3) val () = assertloc (xs[0] = 0) val () = assertloc (xs[5] = 15) val () = assertloc (xs[9] = 27) val () = assertloc (list0_head_exn(xs) = 0) val () = assertloc (list0_head_exn(list0_tail_exn(xs)) = 3) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref val xs = (list0)$arrpsz{string}("a", "b", "c", "d", "e") val () = assertloc (xs[0] = "a") val () = assertloc (xs[1] = "b") val () = assertloc (xs[2] = "c") val () = assertloc (xs[3] = "d") val () = assertloc (xs[4] = "e") // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref val xs = (list0)$arrpsz{string}("a", "b", "c", "d", "e") val xsxs = list0_append (xs, xs) val () = assertloc (length (xsxs) = 2 * length (xs)) // } (* end of [val] *) (* ****** ****** *) val () = { // #define N 10 // val i = N / 2 val xs = list0_make_intrange (0, N) val ys = list0_insert_at_exn (list0_remove_at_exn (xs, i), i, xs[i]) val iseq = list0_equal (xs, ys, lam (x, y) => x = y) val () = assertloc (iseq) // } (* end of [val] *) (* ****** ****** *) val () = { // val xs = list0_of_list($list{int}(0, 2, 4, 6, 8)) // val isevn = list0_forall (xs, lam (x) => x mod 2 = 0) val () = assertloc ( isevn) // val isodd = list0_exists (xs, lam (x) => x mod 2 != 0) val () = assertloc (~isodd) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val xs = list0_make_intrange (0, 10) val () = fprintln! (out, "xs = ", xs) // val ys = list0_map (xs, lam x => x + x) val () = fprintln! (out, "ys = ", ys) // val ys_odd = list0_filter (xs, lam x => x mod 2 != 0) val () = fprintln! (out, "ys_odd = ", ys_odd) // val ys_evn = list0_mapopt ( xs, lam x => if x mod 2 = 0 then Some_vt{int}(x) else None_vt() ) (* end of [val] *) val () = fprintln! (out, "ys_evn = ", ys_evn) // } (* end of [val] *) (* ****** ****** *) val () = { val out = stdout_ref val xs = list0_make_intrange (10, 0, ~1) val () = fprintln! (out, "xs = ", xs) val xs_sorted = list0_mergesort (xs, lam (x, y) => compare (x, y)) val () = fprintln! (out, "xs_sorted = ", xs_sorted) val xs_sorted = list0_quicksort (xs, lam (x, y) => compare (x, y)) val () = fprintln! (out, "xs_sorted = ", xs_sorted) } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_list0.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_string.dats0000664000175000017500000003040612655455557020733 0ustar hwxihwxi(* ** for testing [libc/string] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload UNI = "libc/SATS/unistd.sats" (* ****** ****** *) staload "libc/SATS/errno.sats" (* ****** ****** *) staload "libc/SATS/string.sats" staload _ = "libc/DATS/string.dats" (* ****** ****** *) val () = { // val str = "abcde" val str2 = "abcdef" // val () = assertloc (strcmp (str, str2) < 0) val () = assertloc (strcmp (str2, str) > 0) val () = assertloc (strncmp (str, str2, strlen (str)) = 0) // val () = assertloc (strspn (str, str) = 5) val () = assertloc (strcspn (str, str) = 0) // val _0 = i2sz(0) val () = assertloc (_0 = strnlen (str, _0)) val () = assertloc (strlen (str) = strnlen (str, i2sz(1000000))) // } // end of [val] (* ****** ****** *) val () = { // val str = "abcde" val str2 = string0_copy ("_____") val p = strcpy_unsafe (strptr2ptr(str2), str) val () = assertloc (str = $UN.strptr2string(str2)) val () = strptr_free (str2) // } // end of [val] val () = { // val str = "fghij" val str2 = string0_copy ("abcde_____") val p0 = strptr2ptr(str2) val p5 = ptr_add (p0, 5) val () = $UN.ptr0_set (p5, '\000') val p = strcat_unsafe (p0, str) val () = assertloc ("abcdefghij" = $UN.strptr2string(str2)) val () = strptr_free (str2) // } // end of [val] (* ****** ****** *) val () = { // val str = "abcde" val (pf | str2) = strdup (str) val () = assertloc (str = $UN.castvwtp1{string}(str2)) val () = strdup_free (pf | str2) // val (pf | str2) = strdupa (str) val () = assertloc (str = $UN.castvwtp1{string}(str2)) val () = strdupa_free (pf | str2) // } // end f [val] (* ****** ****** *) val () = { // val str = "abcde" val str2 = string0_copy (str) val p2 = strfry (str2) val () = assertloc (p2 = strptr2ptr(str2)) val () = println! ("strfry(", str, ") = ", str2) val () = strptr_free (str2) // } // end of [val] (* ****** ****** *) val () = { // val ENONEstr = strerror_r_gc (ENONE) val () = println! ("ENONE(", ENONE, ") = ", ENONEstr) val () = strptr_free (ENONEstr) // val E2BIGstr = strerror_r_gc (E2BIG) val () = println! ("E2BIG(", E2BIG, ") = ", E2BIGstr) val () = strptr_free (E2BIGstr) // val EACCESstr = strerror_r_gc (EACCES) val () = println! ("EACCES(", EACCES, ") = ", EACCESstr) val () = strptr_free (EACCESstr) // val EADDRINUSEstr = strerror_r_gc (EADDRINUSE) val () = println! ("EADDRINUSE(", EADDRINUSE, ") = ", EADDRINUSEstr) val () = strptr_free (EADDRINUSEstr) // val EADDRNOTAVAILstr = strerror_r_gc (EADDRNOTAVAIL) val () = println! ("EADDRNOTAVAIL(", EADDRNOTAVAIL, ") = ", EADDRNOTAVAILstr) val () = strptr_free (EADDRNOTAVAILstr) // val EAGAINstr = strerror_r_gc (EAGAIN) val () = println! ("EAGAIN(", EAGAIN, ") = ", EAGAINstr) val () = strptr_free (EAGAINstr) // val EALREADYstr = strerror_r_gc (EALREADY) val () = println! ("EALREADY(", EALREADY, ") = ", EALREADYstr) val () = strptr_free (EALREADYstr) // val EBADFstr = strerror_r_gc (EBADF) val () = println! ("EBADF(", EBADF, ") = ", EBADFstr) val () = strptr_free (EBADFstr) // val EBADMSGstr = strerror_r_gc (EBADMSG) val () = println! ("EBADMSG(", EBADMSG, ") = ", EBADMSGstr) val () = strptr_free (EBADMSGstr) // val ECANCELEDstr = strerror_r_gc (ECANCELED) val () = println! ("ECANCELED(", ECANCELED, ") = ", ECANCELEDstr) val () = strptr_free (ECANCELEDstr) // val ECHILDstr = strerror_r_gc (ECHILD) val () = println! ("ECHILD(", ECHILD, ") = ", ECHILDstr) val () = strptr_free (ECHILDstr) // val ECONNABORTEDstr = strerror_r_gc (ECONNABORTED) val () = println! ("ECONNABORTED(", ECONNABORTED, ") = ", ECONNABORTEDstr) val () = strptr_free (ECONNABORTEDstr) // val ECONNREFUSEDstr = strerror_r_gc (ECONNREFUSED) val () = println! ("ECONNREFUSED(", ECONNREFUSED, ") = ", ECONNREFUSEDstr) val () = strptr_free (ECONNREFUSEDstr) // val ECONNRESETstr = strerror_r_gc (ECONNRESET) val () = println! ("ECONNRESET(", ECONNRESET, ") = ", ECONNRESETstr) val () = strptr_free (ECONNRESETstr) // val EDEADLKstr = strerror_r_gc (EDEADLK) val () = println! ("EDEADLK(", EDEADLK, ") = ", EDEADLKstr) val () = strptr_free (EDEADLKstr) // val EDESTADDRREQstr = strerror_r_gc (EDESTADDRREQ) val () = println! ("EDESTADDRREQ(", EDESTADDRREQ, ") = ", EDESTADDRREQstr) val () = strptr_free (EDESTADDRREQstr) // val EDOMstr = strerror_r_gc (EDOM) val () = println! ("EDOM(", EDOM, ") = ", EDOMstr) val () = strptr_free (EDOMstr) // val EEXISTstr = strerror_r_gc (EEXIST) val () = println! ("EEXIST(", EEXIST, ") = ", EEXISTstr) val () = strptr_free (EEXISTstr) // val EFAULTstr = strerror_r_gc (EFAULT) val () = println! ("EFAULT(", EFAULT, ") = ", EFAULTstr) val () = strptr_free (EFAULTstr) // val EFBIGstr = strerror_r_gc (EFBIG) val () = println! ("EFBIG(", EFBIG, ") = ", EFBIGstr) val () = strptr_free (EFBIGstr) // val EHOSTUNREACHstr = strerror_r_gc (EHOSTUNREACH) val () = println! ("EHOSTUNREACH(", EHOSTUNREACH, ") = ", EHOSTUNREACHstr) val () = strptr_free (EHOSTUNREACHstr) // val EIDRMstr = strerror_r_gc (EIDRM) val () = println! ("EIDRM(", EIDRM, ") = ", EIDRMstr) val () = strptr_free (EIDRMstr) // val EILSEQstr = strerror_r_gc (EILSEQ) val () = println! ("EILSEQ(", EILSEQ, ") = ", EILSEQstr) val () = strptr_free (EILSEQstr) // val EINPROGRESSstr = strerror_r_gc (EINPROGRESS) val () = println! ("EINPROGRESS(", EINPROGRESS, ") = ", EINPROGRESSstr) val () = strptr_free (EINPROGRESSstr) // val EINTRstr = strerror_r_gc (EINTR) val () = println! ("EINTR(", EINTR, ") = ", EINTRstr) val () = strptr_free (EINTRstr) // val EINVALstr = strerror_r_gc (EINVAL) val () = println! ("EINVAL(", EINVAL, ") = ", EINVALstr) val () = strptr_free (EINVALstr) // val EIOstr = strerror_r_gc (EIO) val () = println! ("EIO(", EIO, ") = ", EIOstr) val () = strptr_free (EIOstr) // val EISCONNstr = strerror_r_gc (EISCONN) val () = println! ("EISCONN(", EISCONN, ") = ", EISCONNstr) val () = strptr_free (EISCONNstr) // val EISDIRstr = strerror_r_gc (EISDIR) val () = println! ("EISDIR(", EISDIR, ") = ", EISDIRstr) val () = strptr_free (EISDIRstr) // val ELOOPstr = strerror_r_gc (ELOOP) val () = println! ("ELOOP(", ELOOP, ") = ", ELOOPstr) val () = strptr_free (ELOOPstr) // val EMFILEstr = strerror_r_gc (EMFILE) val () = println! ("EMFILE(", EMFILE, ") = ", EMFILEstr) val () = strptr_free (EMFILEstr) // val EMLINKstr = strerror_r_gc (EMLINK) val () = println! ("EMLINK(", EMLINK, ") = ", EMLINKstr) val () = strptr_free (EMLINKstr) // val EMSGSIZEstr = strerror_r_gc (EMSGSIZE) val () = println! ("EMSGSIZE(", EMSGSIZE, ") = ", EMSGSIZEstr) val () = strptr_free (EMSGSIZEstr) // val ENAMETOOLONGstr = strerror_r_gc (ENAMETOOLONG) val () = println! ("ENAMETOOLONG(", ENAMETOOLONG, ") = ", ENAMETOOLONGstr) val () = strptr_free (ENAMETOOLONGstr) // val ENETDOWNstr = strerror_r_gc (ENETDOWN) val () = println! ("ENETDOWN(", ENETDOWN, ") = ", ENETDOWNstr) val () = strptr_free (ENETDOWNstr) // val ENETRESETstr = strerror_r_gc (ENETRESET) val () = println! ("ENETRESET(", ENETRESET, ") = ", ENETRESETstr) val () = strptr_free (ENETRESETstr) // val ENETUNREACHstr = strerror_r_gc (ENETUNREACH) val () = println! ("ENETUNREACH(", ENETUNREACH, ") = ", ENETUNREACHstr) val () = strptr_free (ENETUNREACHstr) // val ENFILEstr = strerror_r_gc (ENFILE) val () = println! ("ENFILE(", ENFILE, ") = ", ENFILEstr) val () = strptr_free (ENFILEstr) // val ENOBUFSstr = strerror_r_gc (ENOBUFS) val () = println! ("ENOBUFS(", ENOBUFS, ") = ", ENOBUFSstr) val () = strptr_free (ENOBUFSstr) // val ENODATAstr = strerror_r_gc (ENODATA) val () = println! ("ENODATA(", ENODATA, ") = ", ENODATAstr) val () = strptr_free (ENODATAstr) // val ENODEVstr = strerror_r_gc (ENODEV) val () = println! ("ENODEV(", ENODEV, ") = ", ENODEVstr) val () = strptr_free (ENODEVstr) // val ENOENTstr = strerror_r_gc (ENOENT) val () = println! ("ENOENT(", ENOENT, ") = ", ENOENTstr) val () = strptr_free (ENOENTstr) // val ENOEXECstr = strerror_r_gc (ENOEXEC) val () = println! ("ENOEXEC(", ENOEXEC, ") = ", ENOEXECstr) val () = strptr_free (ENOEXECstr) // val ENOLCKstr = strerror_r_gc (ENOLCK) val () = println! ("ENOLCK(", ENOLCK, ") = ", ENOLCKstr) val () = strptr_free (ENOLCKstr) // val ENOLINKstr = strerror_r_gc (ENOLINK) val () = println! ("ENOLINK(", ENOLINK, ") = ", ENOLINKstr) val () = strptr_free (ENOLINKstr) // val ENOMEMstr = strerror_r_gc (ENOMEM) val () = println! ("ENOMEM(", ENOMEM, ") = ", ENOMEMstr) val () = strptr_free (ENOMEMstr) // val ENOMSGstr = strerror_r_gc (ENOMSG) val () = println! ("ENOMSG(", ENOMSG, ") = ", ENOMSGstr) val () = strptr_free (ENOMSGstr) // val ENOPROTOOPTstr = strerror_r_gc (ENOPROTOOPT) val () = println! ("ENOPROTOOPT(", ENOPROTOOPT, ") = ", ENOPROTOOPTstr) val () = strptr_free (ENOPROTOOPTstr) // val ENOSPCstr = strerror_r_gc (ENOSPC) val () = println! ("ENOSPC(", ENOSPC, ") = ", ENOSPCstr) val () = strptr_free (ENOSPCstr) // val ENOSRstr = strerror_r_gc (ENOSR) val () = println! ("ENOSR(", ENOSR, ") = ", ENOSRstr) val () = strptr_free (ENOSRstr) // val ENOSTRstr = strerror_r_gc (ENOSTR) val () = println! ("ENOSTR(", ENOSTR, ") = ", ENOSTRstr) val () = strptr_free (ENOSTRstr) // val ENOSYSstr = strerror_r_gc (ENOSYS) val () = println! ("ENOSYS(", ENOSYS, ") = ", ENOSYSstr) val () = strptr_free (ENOSYSstr) // val ENOTCONNstr = strerror_r_gc (ENOTCONN) val () = println! ("ENOTCONN(", ENOTCONN, ") = ", ENOTCONNstr) val () = strptr_free (ENOTCONNstr) // val ENOTDIRstr = strerror_r_gc (ENOTDIR) val () = println! ("ENOTDIR(", ENOTDIR, ") = ", ENOTDIRstr) val () = strptr_free (ENOTDIRstr) // val ENOTEMPTYstr = strerror_r_gc (ENOTEMPTY) val () = println! ("ENOTEMPTY(", ENOTEMPTY, ") = ", ENOTEMPTYstr) val () = strptr_free (ENOTEMPTYstr) // val ENOTSOCKstr = strerror_r_gc (ENOTSOCK) val () = println! ("ENOTSOCK(", ENOTSOCK, ") = ", ENOTSOCKstr) val () = strptr_free (ENOTSOCKstr) // val ENOTSUPstr = strerror_r_gc (ENOTSUP) val () = println! ("ENOTSUP(", ENOTSUP, ") = ", ENOTSUPstr) val () = strptr_free (ENOTSUPstr) // val ENOTTYstr = strerror_r_gc (ENOTTY) val () = println! ("ENOTTY(", ENOTTY, ") = ", ENOTTYstr) val () = strptr_free (ENOTTYstr) // val ENXIOstr = strerror_r_gc (ENXIO) val () = println! ("ENXIO(", ENXIO, ") = ", ENXIOstr) val () = strptr_free (ENXIOstr) // val EOPNOTSUPPstr = strerror_r_gc (EOPNOTSUPP) val () = println! ("EOPNOTSUPP(", EOPNOTSUPP, ") = ", EOPNOTSUPPstr) val () = strptr_free (EOPNOTSUPPstr) // val EOVERFLOWstr = strerror_r_gc (EOVERFLOW) val () = println! ("EOVERFLOW(", EOVERFLOW, ") = ", EOVERFLOWstr) val () = strptr_free (EOVERFLOWstr) // val EPERMstr = strerror_r_gc (EPERM) val () = println! ("EPERM(", EPERM, ") = ", EPERMstr) val () = strptr_free (EPERMstr) // val EPIPEstr = strerror_r_gc (EPIPE) val () = println! ("EPIPE(", EPIPE, ") = ", EPIPEstr) val () = strptr_free (EPIPEstr) // val EPROTOstr = strerror_r_gc (EPROTO) val () = println! ("EPROTO(", EPROTO, ") = ", EPROTOstr) val () = strptr_free (EPROTOstr) // val EPROTONOSUPPORTstr = strerror_r_gc (EPROTONOSUPPORT) val () = println! ("EPROTONOSUPPORT(", EPROTONOSUPPORT, ") = ", EPROTONOSUPPORTstr) val () = strptr_free (EPROTONOSUPPORTstr) // val EPROTOTYPEstr = strerror_r_gc (EPROTOTYPE) val () = println! ("EPROTOTYPE(", EPROTOTYPE, ") = ", EPROTOTYPEstr) val () = strptr_free (EPROTOTYPEstr) // val ERANGEstr = strerror_r_gc (ERANGE) val () = println! ("ERANGE(", ERANGE, ") = ", ERANGEstr) val () = strptr_free (ERANGEstr) // val EROFSstr = strerror_r_gc (EROFS) val () = println! ("EROFS(", EROFS, ") = ", EROFSstr) val () = strptr_free (EROFSstr) // val ESPIPEstr = strerror_r_gc (ESPIPE) val () = println! ("ESPIPE(", ESPIPE, ") = ", ESPIPEstr) val () = strptr_free (ESPIPEstr) // val ESRCHstr = strerror_r_gc (ESRCH) val () = println! ("ESRCH(", ESRCH, ") = ", ESRCHstr) val () = strptr_free (ESRCHstr) // val ETIMEstr = strerror_r_gc (ETIME) val () = println! ("ETIME(", ETIME, ") = ", ETIMEstr) val () = strptr_free (ETIMEstr) // val ETIMEDOUTstr = strerror_r_gc (ETIMEDOUT) val () = println! ("ETIMEDOUT(", ETIMEDOUT, ") = ", ETIMEDOUTstr) val () = strptr_free (ETIMEDOUTstr) // val ETXTBSYstr = strerror_r_gc (ETXTBSY) val () = println! ("ETXTBSY(", ETXTBSY, ") = ", ETXTBSYstr) val () = strptr_free (ETXTBSYstr) // val EWOULDBLOCKstr = strerror_r_gc (EWOULDBLOCK) val () = println! ("EWOULDBLOCK(", EWOULDBLOCK, ") = ", EWOULDBLOCKstr) val () = strptr_free (EWOULDBLOCKstr) // val EXDEVstr = strerror_r_gc (EXDEV) val () = println! ("EXDEV(", EXDEV, ") = ", EXDEVstr) val () = strptr_free (EXDEVstr) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_string.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_refcount.dats0000664000175000017500000000131612655455557021615 0ustar hwxihwxi(* ** for testing [libats/refcount] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/refcount.sats" staload _ = "libats/DATS/refcount.dats" (* ****** ****** *) val () = { // typedef T = int // val rfc = refcnt_make_elt (1000) // val cnt = refcnt_get_count (rfc) val rfc2 = refcnt_incref (rfc) val-~None_vt() = refcnt_decref_opt (rfc) val-~Some_vt(x) = refcnt_decref_opt (rfc2) val () = println! ("x = ", x) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_refcount.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funmset_listord.dats0000664000175000017500000000300412655455557023205 0ustar hwxihwxi(* ** for testing [libats/funmset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: Septmember, 2015 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funmset_listord.sats" staload _(*anon*) = "libats/DATS/funmset_listord.dats" (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = $lst_vt{T}(0, 1, 2, 3, 4, 1, 2) val mset = funmset_make_list ($UN.list_vt2t(xs)) val ((*void*)) = assertloc (funmset_size (mset) = length(xs)) val ((*freed*)) = list_vt_free (xs) // val () = assertloc (funmset_is_member (mset, 2)) val () = assertloc (funmset_is_member (mset, 3)) val () = assertloc (funmset_is_member (mset, 4)) val () = assertloc (funmset_isnot_member (mset, 5)) // val ((*void*)) = fprintln! (out, "mset = ", mset) // val mset2 = funmset_union(mset, mset) val ((*void*)) = fprintln! (out, "mset2 = ", mset2) val mset3 = funmset_intersect(mset, mset) val ((*void*)) = fprintln! (out, "mset3 = ", mset3) // var mset = mset // val n2 = funmset_get_ntime(mset, 2) val () = assert(funmset_insert(mset, 2) = n2) val () = assert(funmset_remove(mset, 2) = n2+1) // val n5 = funmset_get_ntime(mset, 5) val () = assert(funmset_insert(mset, 5) = n5) val () = assert(funmset_remove(mset, 5) = n5+1) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funmset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funmap_list.dats0000664000175000017500000000470712655455557022320 0ustar hwxihwxi(* ** for testing [libats/funmap_list] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/funmap_list.sats" staload _(*anon*) = "libats/DATS/funmap_list.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var res: itm? // var map = funmap_make_nil {key,itm} () // val ans = funmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 1) // val ans = funmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 2) // val ans = funmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced val () = assertloc (funmap_size (map) = 2) // val-~Some_vt("a1") = funmap_search_opt (map, 0) val-~Some_vt("b2") = funmap_search_opt (map, 1) // val ans = funmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 3) // val () = assertloc (~funmap_remove (map, ~1)) // val-~Some_vt("a1") = funmap_takeout_opt (map, 0) val () = assertloc (funmap_size (map) = 2) val-~Some_vt("b2") = funmap_takeout_opt (map, 1) val () = assertloc (funmap_size (map) = 1) val-~Some_vt("c1") = funmap_takeout_opt (map, 2) val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var map = funmap_make_nil {key,itm} () // val-~None_vt() = funmap_insert_opt (map, 0, "0") val-~None_vt() = funmap_insert_opt (map, 1, "1") val-~None_vt() = funmap_insert_opt (map, 2, "2") val-~None_vt() = funmap_insert_opt (map, 3, "3") val-~None_vt() = funmap_insert_opt (map, 4, "4") // val () = assertloc (funmap_size (map) = 5) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("0") = funmap_takeout_opt (map, 0) val-~Some_vt("1") = funmap_takeout_opt (map, 1) val-~Some_vt("2") = funmap_takeout_opt (map, 2) val-~Some_vt("3") = funmap_takeout_opt (map, 3) val-~Some_vt("4") = funmap_takeout_opt (map, 4) // val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funmap_list.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_dirent.dats0000664000175000017500000000576412655455557020723 0ustar hwxihwxi(* ** for testing [libc/dirent] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload "libc/SATS/dirent.sats" staload _ = "libc/DATS/dirent.dats" (* ****** ****** *) %{^ // #undef ATSextfcall #define ATSextfcall(fun, funarg) fun funarg #undef ATSPMVextval #define ATSPMVextval(name) name // %} // end of [%{^] (* ****** ****** *) val () = { // fun loop ( dirp: !DIRptr1 ) : void = let val (pfopt | p) = readdir (dirp) in // if p > 0 then let prval Some_v @(pf, fpf) = pfopt val str = dirent_get_d_name_gc (!p) prval () = fpf (pf) val () = if (str != "." && str != "..") then println! (str) val () = strptr_free (str) in loop (dirp) end else let prval None_v () = pfopt in (*nothing*) end // end of [if] // end // end of [loop] // val dirp = opendir_exn (".") // val () = loop (dirp) // val () = closedir_exn (dirp) // } // end of [val] (* ****** ****** *) val () = { // fun loop ( dirp: !DIRptr1 ) : void = let var ent: dirent? var res: ptr? val err = readdir_r (dirp, ent, res) in // if res > 0 then let prval () = opt_unsome (ent) in // if res > 0 then let val str = dirent_get_d_name_gc (ent) val () = if (str != "." && str != "..") then println! (str) val () = strptr_free (str) in loop (dirp) end else () // end of [if] // end else let prval () = opt_unnone (ent) in (*nothing*) end // end of [if] // end // end of [loop] // val dirp = opendir_exn (".") // val () = loop (dirp) // val ofs = telldir (dirp) val () = println! ("telldir()") val () = rewinddir (dirp) val () = println! ("rewinddir()") val () = seekdir (dirp, ofs) val () = println! ("seekdir() ") // val ( pfopt | err ) = closedir (dirp) val () = assertloc (err = 0) prval None_v () = pfopt // } // end of [val] (* ****** ****** *) val () = { // val dirp = opendir_exn (".") // val () = while (true) { val entp = readdir_r_gc (dirp) val isnot = ptr_isnot_null (direntp2ptr(entp)) val () = if isnot then { // val ( fpf | str ) = direntp_get_d_name (entp) val () = println! ("entp.d_name = ", str) prval () = fpf (str) // } (* end of [if] *) // val () = direntp_free (entp) val () = if ~isnot then $break } (* end of [val] *) // val () = closedir_exn (dirp) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef filter = (&dirent) -> int typedef compar = (&ptr(*direntp*), &ptr(*direntp*)) -> int // val dirp = "." var namelst: ptr // uninitized // val nitm = scandir (dirp, namelst, $UN.cast{filter}(0), $UN.cast{compar}(0)) // val () = assertloc (nitm >= 0) val () = println! ("scandir(...) = ", nitm) // extern fun direntp_free (x: ptr): void = "mac#atsruntime_mfree_libc" // implement array_uninitize$clear (i, x) = direntp_free (x) val asz = g0i2u (nitm) val [n:int] asz = g1ofg0_uint (asz) val () = arrayptr_freelin ($UN.castvwtp0{arrayptr(ptr, n)}(namelst), asz) // val () = println! ("[namelst] is properly freed.") // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_dirent.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funralist_nested.dats0000664000175000017500000000153012655455557023337 0ustar hwxihwxi(* ** for testing [libats/funralist_nested] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/funralist_nested.sats" staload _(*anon*) = "libats/DATS/funralist_nested.dats" (* ****** ****** *) val () = { // typedef T = int // typedef T = int // val out = stdout_ref // val xs = $list{int}(0, 1, 2, 3, 4) val RL = funralist_make_list (xs) val () = assertloc (funralist_length (RL) = length (xs)) val () = fprintln! (out, "RL = ", RL) // val () = assertloc (2 = RL[2]) // val RL = funralist_set_at (RL, 2, ~2) val () = assertloc (2 = ~RL[2]) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funralist_nested.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linmap_avltree.dats0000664000175000017500000000654512655455557023003 0ustar hwxihwxi(* ** for testing [libats/linmap_avltree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/linmap_avltree.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/qlist.dats" staload _(*anon*) = "libats/DATS/linmap_avltree.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var res: itm? // var map = linmap_make_nil {key,itm} () // val ans = linmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 1) val ans = linmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 2) val ans = linmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced // val () = assertloc (linmap_size (map) = 2) // val-~Some_vt("a1") = linmap_search_opt (map, 0) val-~Some_vt("b2") = linmap_search_opt (map, 1) // val ans = linmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 3) // val () = assertloc (~linmap_remove (map, ~1)) // val-~Some_vt("a1") = linmap_takeout_opt (map, 0) val () = assertloc (linmap_size (map) = 2) val-~Some_vt("b2") = linmap_takeout_opt (map, 1) val () = assertloc (linmap_size (map) = 1) val-~Some_vt("c1") = linmap_takeout_opt (map, 2) val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef ki = @(key, itm) vtypedef map = map (key, itm) // var map = linmap_make_nil {key,itm} () // val-~None_vt() = linmap_insert_opt (map, 0, "0") val-~None_vt() = linmap_insert_opt (map, 1, "1") val-~None_vt() = linmap_insert_opt (map, 2, "2") val-~None_vt() = linmap_insert_opt (map, 3, "3") val-~None_vt() = linmap_insert_opt (map, 4, "4") // val kis = linmap_listize (map) // local implement fprint_val (out, ki) = fprint! (out, ki.0, ":", ki.1) in(*in-of-local*) val () = fprintln! (stdout_ref, "kis = ", kis) end // end of [local] // val ((*void*)) = list_vt_free (kis) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var map = linmap_make_nil {key,itm} () // val-~None_vt() = linmap_insert_opt (map, 0, "?") val-~Some_vt("?") = linmap_insert_opt (map, 0, "0") val-~None_vt() = linmap_insert_opt (map, 1, "1") val-~None_vt() = linmap_insert_opt (map, 2, "2") val-~None_vt() = linmap_insert_opt (map, 3, "3") val-~None_vt() = linmap_insert_opt (map, 4, "4") // val () = assertloc (linmap_size (map) = 5) // val () = list_vt_free (linmap_listize1 (map)) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("0") = linmap_takeout_opt (map, 0) val-~Some_vt("1") = linmap_takeout_opt (map, 1) val-~Some_vt("2") = linmap_takeout_opt (map, 2) val-~Some_vt("3") = linmap_takeout_opt (map, 3) val-~Some_vt("4") = linmap_takeout_opt (map, 4) // val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linmap_avltree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linheap_binomial2.dats0000664000175000017500000000371012655455557023344 0ustar hwxihwxi(* ** for testing [libats/linheap_binomial2] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: August, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/linheap_binomial.sats" // staload _(*anon*) = "libats/DATS/gnode.dats" staload _(*anon*) = "libats/DATS/linheap_binomial2.dats" // (* ****** ****** *) val () = { // typedef elt = int vtypedef heap = heap (elt) // var hp : heap = linheap_nil{elt}() val () = linheap_insert (hp, 0) val () = linheap_insert (hp, 2) val () = linheap_insert (hp, 4) val hp1 = hp val () = assertloc (linheap_size(hp1) = 3) // var hp : heap = linheap_nil{elt}() val () = linheap_insert (hp, 1) val () = linheap_insert (hp, 3) val () = linheap_insert (hp, 5) val hp2 = hp val () = assertloc (linheap_size(hp2) = 3) // var hp : heap = linheap_merge (hp1, hp2) // val-~Some_vt(0) = linheap_getmin_opt (hp) val-~Some_vt(0) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 5) val-~Some_vt(1) = linheap_getmin_opt (hp) val-~Some_vt(1) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 4) val-~Some_vt(2) = linheap_getmin_opt (hp) val-~Some_vt(2) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 3) val-~Some_vt(3) = linheap_getmin_opt (hp) val-~Some_vt(3) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 2) val-~Some_vt(4) = linheap_getmin_opt (hp) val-~Some_vt(4) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 1) val-~Some_vt(5) = linheap_getmin_opt (hp) val-~Some_vt(5) = linheap_delmin_opt (hp) val ((*void*)) = assertloc (linheap_size(hp) = 0) // val-~None_vt ((*void*)) = linheap_getmin_opt (hp) val-~None_vt ((*void*)) = linheap_delmin_opt (hp) // val () = linheap_free (hp) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linheap_binomial2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ATS1_funset_listord.dats0000664000175000017500000000143112655455557023622 0ustar hwxihwxi(* ** for testing [libats/funset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: January, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/funset_listord.sats" staload _ = "libats/ATS1/DATS/funset_listord.dats" (* ****** ****** *) val () = { // val cmp = lam (x:int, y:int): int = compare(x, y) // val xs = $list{int}(1, 2, 2, 3, 3) // val xs = funset_make_list (xs, cmp) val xs2 = funset2list (xs) val () = fprintln! (stdout_ref, "xs2 = ", xs2) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ATS1_funset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_bool.dats0000664000175000017500000000451212655455557021106 0ustar hwxihwxi(* ** for testing [prelude/bool] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) overload xor with xor_bool0_bool0 of 0 overload xor with xor_bool1_bool1 of 20 (* ****** ****** *) val () = { // val () = assertloc (true && true) val () = assertloc (not(true && false)) val () = assertloc (not(false && true)) val () = assertloc (not(false && false)) // val () = assertloc (true || true) val () = assertloc (true || false) val () = assertloc (false || true) val () = assertloc (not(false || false)) // val () = assertloc (true + true) val () = assertloc (true + false) val () = assertloc (false + true) val () = assertloc (false + false = false) // val () = assertloc (true * true) val () = assertloc (true * false = false) val () = assertloc (false * true = false) val () = assertloc (false * false = false) // val () = assertloc (xor(true, false) = true) val () = assertloc (xor(false, true) = true) val () = assertloc (xor(true, true) = false) val () = assertloc (xor(false, false) = false) // val () = assertloc (false < true) val () = assertloc (false <= true) val () = assertloc (true > false) val () = assertloc (true >= false) // val () = assertloc (true = true) val () = assertloc (true != false) val () = assertloc (false != true) val () = assertloc (false = false) // val () = assertloc (compare (true, true) = 0) val () = assertloc (compare (false, false) = 0) val () = assertloc (compare (true, false) = 1) val () = assertloc (compare (false, true) = ~1) // val () = assertloc (int2bool1 (1) = true) val () = assertloc (int2bool1 (~1) = true) val () = assertloc (int2bool1 (0) = false) // val () = assertloc (bool2int1 (true) = 1) val () = assertloc (bool2int1 (false) = 0) // } // end of [val] (* ****** ****** *) val () = { // val true0 = (true: bool) val false0 = (false: bool) // val () = assertloc (true * true0) val () = assertloc (true0 * true) val () = assertloc (true + false0) val () = assertloc (true0 + false) // } (* end of [val] *) (* ****** ****** *) val () = { val out = stdout_ref val () = fprint (out, true) val () = fprint_newline (out) val () = fprint (out, false) val () = fprint_newline (out) } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_bool.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_monad_maybe.dats0000664000175000017500000000366412655455557022643 0ustar hwxihwxi(* ** for testing [libats/ML/monad_maybe] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/ML/SATS/monad_maybe.sats" staload _ = "libats/ML/DATS/monad_maybe.dats" (* ****** ****** *) val () = { // infix >>= macdef ret(x) = monad_return (,(x)) macdef >>= (x, f) = monad_bind (,(x), ,(f)) // val m0 = ret(1) >>= ( lam(x) => ret(10) >>= (lam(y) => ret(100) >>= (lam(z) => ret (x + y + z))) ) (* end of [val] *) // val () = fprintln! (stdout_ref, "m0(111) = ", m0) // } (* end of [val] *) (* ****** ****** *) val () = { // val m0 = monad_maybe_some (50) val m1 = monad_maybe_some (100) val m01_add = monad_bind2 (m0, m1, lam (x, y) => monad_return (x+y)) val m01_mul = monad_bind2 (m0, m1, lam (x, y) => monad_return (x*y)) // val () = fprintln! (stdout_ref, "m01_add = ", m01_add) val () = fprintln! (stdout_ref, "m01_mul = ", m01_mul) // } (* end of [val] *) (* ****** ****** *) // datatype expr = | Val of Int | Div of (expr, expr) // (* ****** ****** *) // macdef non() = monad_maybe_none() // macdef ret(x) = monad_return (,(x)) // infix >>= macdef >>= (x, f) = monad_bind (,(x), ,(f)) // (* ****** ****** *) fun idiv ( i1: int, i2: int ) : monad(int) = if i2 != 0 then ret(i1/i2) else non() (* ****** ****** *) fun eval(x0: expr): monad(int) = ( case+ x0 of | Val(i) => ret(i) | Div(x1, x2) => eval(x1) >>= (lam i1 => eval(x2) >>= (lam i2 => idiv(i1, i2))) ) (* end of [eval] *) (* ****** ****** *) // macdef V_(x) = Val(,(x)) // fun{} Div_(x: expr, y: expr): expr = Div(x, y) // overload / with Div_ // val ok = V_(1972) / V_(2) / V_(23) val err = V_(2) / ( V_(1) / (V_(2) / V_(3))) // val () = fprintln! (stdout_ref, "eval(ok) = ", eval(ok)) val () = fprintln! (stdout_ref, "eval(err) = ", eval(err)) // (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_monad_maybe.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_myfunmap.dats0000664000175000017500000000317512655455557022221 0ustar hwxihwxi(* ** for testing ** [libats/ML/myhashtblref] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) local // typedef key = string and itm = int // in (* in-of-local *) // #include "libats/ML/HATS/myfunmap.hats" // end // end of [local] (* ****** ****** *) // val out = stdout_ref // val mymap = myfunmap_make_nil() // (* ****** ****** *) // val ((*void*)) = fprintln! (out, "size = ", mymap.size()) // (* ****** ****** *) // var mymap = mymap // val-~None_vt() = mymap.insert("a", 0) val-~Some_vt(0) = mymap.insert("a", 0) // val-~None_vt() = mymap.insert("b", 1) val-~Some_vt(1) = mymap.insert("b", 1) // val-~None_vt() = mymap.insert("c", 2) val-~Some_vt(2) = mymap.insert("c", 2) // val-~None_vt() = mymap.insert("d", 3) val-~Some_vt(3) = mymap.insert("d", 3) // val-~None_vt() = mymap.insert("e", 4) val-~Some_vt(4) = mymap.insert("e", 4) // (* ****** ****** *) // val ((*void*)) = fprintln! (out, "size = ", mymap.size()) // (* ****** ****** *) val kxs = mymap.listize() val ((*void*)) = fprintln! (out, "kxs = ", kxs) (* ****** ****** *) // val ((*void*)) = fprintln! (out, "mymap = ", mymap) // (* ****** ****** *) val-~None_vt() = mymap.search("") val-~Some_vt(0) = mymap.search("a") val-~Some_vt(1) = mymap.search("b") val-~Some_vt(2) = mymap.search("c") (* ****** ****** *) val-true = mymap.remove("a") val-false = mymap.remove("a") val-~Some_vt(1) = mymap.takeout("b") val-~Some_vt(2) = mymap.takeout("c") (* ****** ****** *) // val ((*void*)) = fprintln! (out, "mymap = ", mymap) // (* ****** ****** *) implement main0((*void*)) = ((*void*)) (* ****** ****** *) (* end of [libats_ML_myfunmap.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_matrixref.dats0000664000175000017500000000064112655455557022153 0ustar hwxihwxi(* ** for testing [prelude/matrixref] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "prelude/lmacrodef.sats" (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) postfix 0 sz SZ macdef sz (x) = i2sz ,(x) macdef SZ (x) = i2sz ,(x) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_matrixref.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_tostring.dats0000664000175000017500000000216112655455557022022 0ustar hwxihwxi(* ** for testing [prelude/tostring] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = assertloc("1024" = tostring_val(32*32)) (* ****** ****** *) val () = assertloc("1024" = tostring_val(32u*32u)) (* ****** ****** *) val () = assertloc("true" = tostring_val(true)) val () = assertloc("false" = tostring_val(false)) (* ****** ****** *) local implement tostrptr_list$beg<> () = "[" implement tostrptr_list$end<> () = "]" implement tostrptr_list$sep<> () = "," in (* in-of-local *) val xs = $list{int}(0,1,2,3,4,5,6,7,8,9) val () = println! ("xs = ", tostring_val(xs)) end // end of [local] (* ****** ****** *) local implement tostrptr_array$beg<> () = "[" implement tostrptr_array$end<> () = "]" implement tostrptr_array$sep<> () = ";" in (* in-of-local *) // var A0 = @[int](0,1,2,3,4,5,6,7,8,9) val rep = tostrptr_array(A0, i2sz(10)) val ((*void*)) = println! ("A0 = ", rep) val ((*freed*)) = strptr_free (rep) // end // end of [local] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_tostring.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_signal.dats0000664000175000017500000000235212655455557020701 0ustar hwxihwxi(* ** for testing [libc/signal] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload "libc/SATS/signal.sats" staload "libc/SATS/unistd.sats" (* ****** ****** *) implement main0 () = () where { // (* // // HX-2014-04-07: this one does not work: // val err = signal ( SIGALRM , sighandler(lam (sgn) => println! ("SIGALRM: sgn = ", $UN.cast2int(sgn))) ) (* end of [val] *) *) // var sigact: sigaction val () = ptr_nullize (__assert () | sigact) where { extern prfun __assert (): is_nullable (sigaction) } (* end of [val] *) val ( ) = sigact.sa_handler := sighandler(lam (sgn) => println! ("SIGALRM: sgn = ", $UN.cast2int(sgn))) // val () = assertloc (sigaction_null (SIGALRM, sigact) = 0) // val (pf | _) = alarm_set (2u) // #define BUFSZ 128 var nerr: int = 0 var buf = @[byte][BUFSZ]() val inp = $UN.castvwtp0{fildes(0)}(STDIN_FILENO) val nread = read_err (inp, buf, i2sz(BUFSZ)) prval () = $UN.cast2void (inp) // val leftover = alarm_cancel (pf | (*void*)) // (* val () = println! ("nread = ", nread) *) // val () = if (nread < 0) then println! ("There is NO input available!") // } (* end of [main0] *) (* ****** ****** *) (* end of [libc_signal.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funset_listord.dats0000664000175000017500000000243712655455557023041 0ustar hwxihwxi(* ** for testing [libats/funset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: July, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/funset_listord.sats" staload _(*anon*) = "libats/DATS/funset_listord.dats" (* ****** ****** *) val () = { // typedef T = int val out = stdout_ref // val xs = $lst_vt{T}(0, 1, 2, 3, 4, 1, 2) val set = funset_make_list ($UN.list_vt2t(xs)) val () = list_vt_free (xs) // val () = assertloc (funset_size (set) = 5) // val () = assertloc (funset_is_member (set, 2)) val () = assertloc (funset_is_member (set, 3)) val () = assertloc (funset_is_member (set, 4)) val () = assertloc (funset_isnot_member (set, 5)) // val () = fprintln! (out, "set = ", set) // var set = set val-true = funset_remove (set, 1) val-true = funset_remove (set, 3) val-false = funset_remove (set, 5) val-~Some_vt(4) = funset_takeoutmax_opt (set) val-~Some_vt(2) = funset_takeoutmax_opt (set) val-~Some_vt(0) = funset_takeoutmin_opt (set) // val () = assertloc (funset_is_nil (set)) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/Makefile0000664000175000017500000013470212655455557017223 0ustar hwxihwxi# # # This Makefile is automatically generated # from executing the following command-line: # # make -f Makefile.gen # # ###### CCOPT=gcc -std=c99 ###### ifeq ("$(PATSHOME)","") PATSHOMEQ="$(ATSHOME)" else PATSHOMEQ="$(PATSHOME)" endif ###### PATSOPT=$(PATSHOMEQ)/bin/patsopt PATSLIB=$(PATSHOMEQ)/ccomp/atslib/lib ###### all:: ###### LNS=ln -s RMF=rm -f ###### all:: prelude_basics prelude_basics: prelude_basics.exe prelude_basics.exe: prelude_basics_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< prelude_basics_dats.c: prelude_basics.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_basics_dats.c --dynamic prelude_basics.dats clean:: ; $(RMF) prelude_basics_dats.o clean:: ; $(RMF) prelude_basics_dats.c cleanall:: ; $(RMF) prelude_basics.exe ###### all:: prelude_integer prelude_integer: prelude_integer.exe prelude_integer.exe: prelude_integer_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_integer_dats.c: prelude_integer.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_integer_dats.c --dynamic prelude_integer.dats clean:: ; $(RMF) prelude_integer_dats.o clean:: ; $(RMF) prelude_integer_dats.c cleanall:: ; $(RMF) prelude_integer.exe ###### all:: prelude_bool prelude_bool: prelude_bool.exe prelude_bool.exe: prelude_bool_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_bool_dats.c: prelude_bool.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_bool_dats.c --dynamic prelude_bool.dats clean:: ; $(RMF) prelude_bool_dats.o clean:: ; $(RMF) prelude_bool_dats.c cleanall:: ; $(RMF) prelude_bool.exe all:: prelude_char prelude_char: prelude_char.exe prelude_char.exe: prelude_char_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_char_dats.c: prelude_char.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_char_dats.c --dynamic prelude_char.dats clean:: ; $(RMF) prelude_char_dats.o clean:: ; $(RMF) prelude_char_dats.c cleanall:: ; $(RMF) prelude_char.exe all:: prelude_float prelude_float: prelude_float.exe prelude_float.exe: prelude_float_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -lm prelude_float_dats.c: prelude_float.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_float_dats.c --dynamic prelude_float.dats clean:: ; $(RMF) prelude_float_dats.o clean:: ; $(RMF) prelude_float_dats.c cleanall:: ; $(RMF) prelude_float.exe ###### all:: prelude_string prelude_string: prelude_string.exe prelude_string.exe: prelude_string_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib prelude_string_dats.c: prelude_string.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_string_dats.c --dynamic prelude_string.dats clean:: ; $(RMF) prelude_string_dats.o clean:: ; $(RMF) prelude_string_dats.c cleanall:: ; $(RMF) prelude_string.exe ###### all:: prelude_memory prelude_memory: prelude_memory.exe prelude_memory.exe: prelude_memory_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_memory_dats.c: prelude_memory.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_memory_dats.c --dynamic prelude_memory.dats clean:: ; $(RMF) prelude_memory_dats.o clean:: ; $(RMF) prelude_memory_dats.c cleanall:: ; $(RMF) prelude_memory.exe all:: prelude_pointer prelude_pointer: prelude_pointer.exe prelude_pointer.exe: prelude_pointer_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_pointer_dats.c: prelude_pointer.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_pointer_dats.c --dynamic prelude_pointer.dats clean:: ; $(RMF) prelude_pointer_dats.o clean:: ; $(RMF) prelude_pointer_dats.c cleanall:: ; $(RMF) prelude_pointer.exe ###### all:: prelude_reference prelude_reference: prelude_reference.exe prelude_reference.exe: prelude_reference_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_reference_dats.c: prelude_reference.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_reference_dats.c --dynamic prelude_reference.dats clean:: ; $(RMF) prelude_reference_dats.o clean:: ; $(RMF) prelude_reference_dats.c cleanall:: ; $(RMF) prelude_reference.exe ###### all:: prelude_filebas prelude_filebas: prelude_filebas.exe prelude_filebas.exe: prelude_filebas_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib prelude_filebas_dats.c: prelude_filebas.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_filebas_dats.c --dynamic prelude_filebas.dats clean:: ; $(RMF) prelude_filebas_dats.o clean:: ; $(RMF) prelude_filebas_dats.c cleanall:: ; $(RMF) prelude_filebas.exe ###### all:: prelude_intrange prelude_intrange: prelude_intrange.exe prelude_intrange.exe: prelude_intrange_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< prelude_intrange_dats.c: prelude_intrange.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_intrange_dats.c --dynamic prelude_intrange.dats clean:: ; $(RMF) prelude_intrange_dats.o clean:: ; $(RMF) prelude_intrange_dats.c cleanall:: ; $(RMF) prelude_intrange.exe ###### all:: prelude_checkast prelude_checkast: prelude_checkast.exe prelude_checkast.exe: prelude_checkast_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< prelude_checkast_dats.c: prelude_checkast.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_checkast_dats.c --dynamic prelude_checkast.dats clean:: ; $(RMF) prelude_checkast_dats.o clean:: ; $(RMF) prelude_checkast_dats.c cleanall:: ; $(RMF) prelude_checkast.exe ###### all:: prelude_list prelude_list: prelude_list.exe prelude_list.exe: prelude_list_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_list_dats.c: prelude_list.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_list_dats.c --dynamic prelude_list.dats clean:: ; $(RMF) prelude_list_dats.o clean:: ; $(RMF) prelude_list_dats.c cleanall:: ; $(RMF) prelude_list.exe all:: prelude_list_vt prelude_list_vt: prelude_list_vt.exe prelude_list_vt.exe: prelude_list_vt_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_list_vt_dats.c: prelude_list_vt.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_list_vt_dats.c --dynamic prelude_list_vt.dats clean:: ; $(RMF) prelude_list_vt_dats.o clean:: ; $(RMF) prelude_list_vt_dats.c cleanall:: ; $(RMF) prelude_list_vt.exe all:: prelude_option prelude_option: prelude_option.exe prelude_option.exe: prelude_option_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_option_dats.c: prelude_option.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_option_dats.c --dynamic prelude_option.dats clean:: ; $(RMF) prelude_option_dats.o clean:: ; $(RMF) prelude_option_dats.c cleanall:: ; $(RMF) prelude_option.exe all:: prelude_option_vt prelude_option_vt: prelude_option_vt.exe prelude_option_vt.exe: prelude_option_vt_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_option_vt_dats.c: prelude_option_vt.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_option_vt_dats.c --dynamic prelude_option_vt.dats clean:: ; $(RMF) prelude_option_vt_dats.o clean:: ; $(RMF) prelude_option_vt_dats.c cleanall:: ; $(RMF) prelude_option_vt.exe all:: prelude_array prelude_array: prelude_array.exe prelude_array.exe: prelude_array_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_array_dats.c: prelude_array.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_array_dats.c --dynamic prelude_array.dats clean:: ; $(RMF) prelude_array_dats.o clean:: ; $(RMF) prelude_array_dats.c cleanall:: ; $(RMF) prelude_array.exe all:: prelude_arrayptr prelude_arrayptr: prelude_arrayptr.exe prelude_arrayptr.exe: prelude_arrayptr_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_arrayptr_dats.c: prelude_arrayptr.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_arrayptr_dats.c --dynamic prelude_arrayptr.dats clean:: ; $(RMF) prelude_arrayptr_dats.o clean:: ; $(RMF) prelude_arrayptr_dats.c cleanall:: ; $(RMF) prelude_arrayptr.exe all:: prelude_arrayref prelude_arrayref: prelude_arrayref.exe prelude_arrayref.exe: prelude_arrayref_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_arrayref_dats.c: prelude_arrayref.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_arrayref_dats.c --dynamic prelude_arrayref.dats clean:: ; $(RMF) prelude_arrayref_dats.o clean:: ; $(RMF) prelude_arrayref_dats.c cleanall:: ; $(RMF) prelude_arrayref.exe all:: prelude_matrix prelude_matrix: prelude_matrix.exe prelude_matrix.exe: prelude_matrix_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_matrix_dats.c: prelude_matrix.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_matrix_dats.c --dynamic prelude_matrix.dats clean:: ; $(RMF) prelude_matrix_dats.o clean:: ; $(RMF) prelude_matrix_dats.c cleanall:: ; $(RMF) prelude_matrix.exe all:: prelude_matrixptr prelude_matrixptr: prelude_matrixptr.exe prelude_matrixptr.exe: prelude_matrixptr_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_matrixptr_dats.c: prelude_matrixptr.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_matrixptr_dats.c --dynamic prelude_matrixptr.dats clean:: ; $(RMF) prelude_matrixptr_dats.o clean:: ; $(RMF) prelude_matrixptr_dats.c cleanall:: ; $(RMF) prelude_matrixptr.exe all:: prelude_matrixref prelude_matrixref: prelude_matrixref.exe prelude_matrixref.exe: prelude_matrixref_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_matrixref_dats.c: prelude_matrixref.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_matrixref_dats.c --dynamic prelude_matrixref.dats clean:: ; $(RMF) prelude_matrixref_dats.o clean:: ; $(RMF) prelude_matrixref_dats.c cleanall:: ; $(RMF) prelude_matrixref.exe all:: prelude_stream prelude_stream: prelude_stream.exe prelude_stream.exe: prelude_stream_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_stream_dats.c: prelude_stream.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_stream_dats.c --dynamic prelude_stream.dats clean:: ; $(RMF) prelude_stream_dats.o clean:: ; $(RMF) prelude_stream_dats.c cleanall:: ; $(RMF) prelude_stream.exe all:: prelude_stream_vt prelude_stream_vt: prelude_stream_vt.exe prelude_stream_vt.exe: prelude_stream_vt_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_stream_vt_dats.c: prelude_stream_vt.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_stream_vt_dats.c --dynamic prelude_stream_vt.dats clean:: ; $(RMF) prelude_stream_vt_dats.o clean:: ; $(RMF) prelude_stream_vt_dats.c cleanall:: ; $(RMF) prelude_stream_vt.exe ###### all:: prelude_grandom prelude_grandom: prelude_grandom.exe prelude_grandom.exe: prelude_grandom_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_grandom_dats.c: prelude_grandom.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_grandom_dats.c --dynamic prelude_grandom.dats clean:: ; $(RMF) prelude_grandom_dats.o clean:: ; $(RMF) prelude_grandom_dats.c cleanall:: ; $(RMF) prelude_grandom.exe ###### all:: prelude_gprint prelude_gprint: prelude_gprint.exe prelude_gprint.exe: prelude_gprint_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_gprint_dats.c: prelude_gprint.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_gprint_dats.c --dynamic prelude_gprint.dats clean:: ; $(RMF) prelude_gprint_dats.o clean:: ; $(RMF) prelude_gprint_dats.c cleanall:: ; $(RMF) prelude_gprint.exe all:: prelude_tostring prelude_tostring: prelude_tostring.exe prelude_tostring.exe: prelude_tostring_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< prelude_tostring_dats.c: prelude_tostring.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output prelude_tostring_dats.c --dynamic prelude_tostring.dats clean:: ; $(RMF) prelude_tostring_dats.o clean:: ; $(RMF) prelude_tostring_dats.c cleanall:: ; $(RMF) prelude_tostring.exe ###### all:: libc_dirent libc_dirent: libc_dirent.exe libc_dirent.exe: libc_dirent_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_dirent_dats.c: libc_dirent.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_dirent_dats.c --dynamic libc_dirent.dats clean:: ; $(RMF) libc_dirent_dats.o clean:: ; $(RMF) libc_dirent_dats.c cleanall:: ; $(RMF) libc_dirent.exe all:: libc_dlfcn libc_dlfcn: libc_dlfcn.exe libc_dlfcn.exe: libc_dlfcn_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< -ldl libc_dlfcn_dats.c: libc_dlfcn.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_dlfcn_dats.c --dynamic libc_dlfcn.dats clean:: ; $(RMF) libc_dlfcn_dats.o clean:: ; $(RMF) libc_dlfcn_dats.c cleanall:: ; $(RMF) libc_dlfcn.exe all:: libc_fcntl libc_fcntl: libc_fcntl.exe libc_fcntl.exe: libc_fcntl_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< libc_fcntl_dats.c: libc_fcntl.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_fcntl_dats.c --dynamic libc_fcntl.dats clean:: ; $(RMF) libc_fcntl_dats.o clean:: ; $(RMF) libc_fcntl_dats.c cleanall:: ; $(RMF) libc_fcntl.exe all:: libc_fnmatch libc_fnmatch: libc_fnmatch.exe libc_fnmatch.exe: libc_fnmatch_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< libc_fnmatch_dats.c: libc_fnmatch.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_fnmatch_dats.c --dynamic libc_fnmatch.dats clean:: ; $(RMF) libc_fnmatch_dats.o clean:: ; $(RMF) libc_fnmatch_dats.c cleanall:: ; $(RMF) libc_fnmatch.exe all:: libc_malloc libc_malloc: libc_malloc.exe libc_malloc.exe: libc_malloc_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libc_malloc_dats.c: libc_malloc.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_malloc_dats.c --dynamic libc_malloc.dats clean:: ; $(RMF) libc_malloc_dats.o clean:: ; $(RMF) libc_malloc_dats.c cleanall:: ; $(RMF) libc_malloc.exe all:: libc_math libc_math: libc_math.exe libc_math.exe: libc_math_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -o $@ $< -lm libc_math_dats.c: libc_math.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_math_dats.c --dynamic libc_math.dats clean:: ; $(RMF) libc_math_dats.o clean:: ; $(RMF) libc_math_dats.c cleanall:: ; $(RMF) libc_math.exe all:: libc_signal libc_signal: libc_signal.exe libc_signal.exe: libc_signal_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_signal_dats.c: libc_signal.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_signal_dats.c --dynamic libc_signal.dats clean:: ; $(RMF) libc_signal_dats.o clean:: ; $(RMF) libc_signal_dats.c cleanall:: ; $(RMF) libc_signal.exe all:: libc_stdio libc_stdio: libc_stdio.exe libc_stdio.exe: libc_stdio_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_stdio_dats.c: libc_stdio.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_stdio_dats.c --dynamic libc_stdio.dats clean:: ; $(RMF) libc_stdio_dats.o clean:: ; $(RMF) libc_stdio_dats.c cleanall:: ; $(RMF) libc_stdio.exe all:: libc_stdlib libc_stdlib: libc_stdlib.exe libc_stdlib.exe: libc_stdlib_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libc_stdlib_dats.c: libc_stdlib.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_stdlib_dats.c --dynamic libc_stdlib.dats clean:: ; $(RMF) libc_stdlib_dats.o clean:: ; $(RMF) libc_stdlib_dats.c cleanall:: ; $(RMF) libc_stdlib.exe all:: libc_string libc_string: libc_string.exe libc_string.exe: libc_string_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_string_dats.c: libc_string.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_string_dats.c --dynamic libc_string.dats clean:: ; $(RMF) libc_string_dats.o clean:: ; $(RMF) libc_string_dats.c cleanall:: ; $(RMF) libc_string.exe all:: libc_strings libc_strings: libc_strings.exe libc_strings.exe: libc_strings_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libc_strings_dats.c: libc_strings.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_strings_dats.c --dynamic libc_strings.dats clean:: ; $(RMF) libc_strings_dats.o clean:: ; $(RMF) libc_strings_dats.c cleanall:: ; $(RMF) libc_strings.exe all:: libc_time libc_time: libc_time.exe libc_time.exe: libc_time_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libc_time_dats.c: libc_time.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_time_dats.c --dynamic libc_time.dats clean:: ; $(RMF) libc_time_dats.o clean:: ; $(RMF) libc_time_dats.c cleanall:: ; $(RMF) libc_time.exe all:: libc_unistd libc_unistd: libc_unistd.exe libc_unistd.exe: libc_unistd_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_unistd_dats.c: libc_unistd.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_unistd_dats.c --dynamic libc_unistd.dats clean:: ; $(RMF) libc_unistd_dats.o clean:: ; $(RMF) libc_unistd_dats.c cleanall:: ; $(RMF) libc_unistd.exe ###### all:: libc_sys_stat libc_sys_stat: libc_sys_stat.exe libc_sys_stat.exe: libc_sys_stat_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libc_sys_stat_dats.c: libc_sys_stat.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_sys_stat_dats.c --dynamic libc_sys_stat.dats clean:: ; $(RMF) libc_sys_stat_dats.o clean:: ; $(RMF) libc_sys_stat_dats.c cleanall:: ; $(RMF) libc_sys_stat.exe ###### all:: libc_gdbm_gdbm libc_gdbm_gdbm: libc_gdbm_gdbm.exe libc_gdbm_gdbm.exe: libc_gdbm_gdbm_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -lgdbm libc_gdbm_gdbm_dats.c: libc_gdbm_gdbm.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libc_gdbm_gdbm_dats.c --dynamic libc_gdbm_gdbm.dats clean:: ; $(RMF) libc_gdbm_gdbm_dats.o clean:: ; $(RMF) libc_gdbm_gdbm_dats.c cleanall:: ; $(RMF) libc_gdbm_gdbm.exe ###### all:: libats_qlist libats_qlist: libats_qlist.exe libats_qlist.exe: libats_qlist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_qlist_dats.c: libats_qlist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_qlist_dats.c --dynamic libats_qlist.dats clean:: ; $(RMF) libats_qlist_dats.o clean:: ; $(RMF) libats_qlist_dats.c cleanall:: ; $(RMF) libats_qlist.exe all:: libats_sllist libats_sllist: libats_sllist.exe libats_sllist.exe: libats_sllist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_sllist_dats.c: libats_sllist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_sllist_dats.c --dynamic libats_sllist.dats clean:: ; $(RMF) libats_sllist_dats.o clean:: ; $(RMF) libats_sllist_dats.c cleanall:: ; $(RMF) libats_sllist.exe all:: libats_dllist libats_dllist: libats_dllist.exe libats_dllist.exe: libats_dllist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_dllist_dats.c: libats_dllist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_dllist_dats.c --dynamic libats_dllist.dats clean:: ; $(RMF) libats_dllist_dats.o clean:: ; $(RMF) libats_dllist_dats.c cleanall:: ; $(RMF) libats_dllist.exe ###### all:: libats_gflist libats_gflist: libats_gflist.exe libats_gflist.exe: libats_gflist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_gflist_dats.c: libats_gflist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_gflist_dats.c --dynamic libats_gflist.dats clean:: ; $(RMF) libats_gflist_dats.o clean:: ; $(RMF) libats_gflist_dats.c cleanall:: ; $(RMF) libats_gflist.exe ###### all:: libats_bitvec libats_bitvec: libats_bitvec.exe libats_bitvec.exe: libats_bitvec_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_bitvec_dats.c: libats_bitvec.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_bitvec_dats.c --dynamic libats_bitvec.dats clean:: ; $(RMF) libats_bitvec_dats.o clean:: ; $(RMF) libats_bitvec_dats.c cleanall:: ; $(RMF) libats_bitvec.exe ###### all:: libats_stkarray libats_stkarray: libats_stkarray.exe libats_stkarray.exe: libats_stkarray_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_stkarray_dats.c: libats_stkarray.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_stkarray_dats.c --dynamic libats_stkarray.dats clean:: ; $(RMF) libats_stkarray_dats.o clean:: ; $(RMF) libats_stkarray_dats.c cleanall:: ; $(RMF) libats_stkarray.exe all:: libats_deqarray libats_deqarray: libats_deqarray.exe libats_deqarray.exe: libats_deqarray_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_deqarray_dats.c: libats_deqarray.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_deqarray_dats.c --dynamic libats_deqarray.dats clean:: ; $(RMF) libats_deqarray_dats.o clean:: ; $(RMF) libats_deqarray_dats.c cleanall:: ; $(RMF) libats_deqarray.exe ###### all:: libats_dynarray libats_dynarray: libats_dynarray.exe libats_dynarray.exe: libats_dynarray_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_dynarray_dats.c: libats_dynarray.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_dynarray_dats.c --dynamic libats_dynarray.dats clean:: ; $(RMF) libats_dynarray_dats.o clean:: ; $(RMF) libats_dynarray_dats.c cleanall:: ; $(RMF) libats_dynarray.exe ###### all:: libats_refcount libats_refcount: libats_refcount.exe libats_refcount.exe: libats_refcount_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_refcount_dats.c: libats_refcount.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_refcount_dats.c --dynamic libats_refcount.dats clean:: ; $(RMF) libats_refcount_dats.o clean:: ; $(RMF) libats_refcount_dats.c cleanall:: ; $(RMF) libats_refcount.exe ###### all:: libats_stringbuf libats_stringbuf: libats_stringbuf.exe libats_stringbuf.exe: libats_stringbuf_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_stringbuf_dats.c: libats_stringbuf.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_stringbuf_dats.c --dynamic libats_stringbuf.dats clean:: ; $(RMF) libats_stringbuf_dats.o clean:: ; $(RMF) libats_stringbuf_dats.c cleanall:: ; $(RMF) libats_stringbuf.exe ###### ###### all:: libats_hashtbl_chain libats_hashtbl_chain: libats_hashtbl_chain.exe libats_hashtbl_chain.exe: libats_hashtbl_chain_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_hashtbl_chain_dats.c: libats_hashtbl_chain.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_hashtbl_chain_dats.c --dynamic libats_hashtbl_chain.dats clean:: ; $(RMF) libats_hashtbl_chain_dats.o clean:: ; $(RMF) libats_hashtbl_chain_dats.c cleanall:: ; $(RMF) libats_hashtbl_chain.exe all:: libats_hashtbl_linprb libats_hashtbl_linprb: libats_hashtbl_linprb.exe libats_hashtbl_linprb.exe: libats_hashtbl_linprb_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_hashtbl_linprb_dats.c: libats_hashtbl_linprb.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_hashtbl_linprb_dats.c --dynamic libats_hashtbl_linprb.dats clean:: ; $(RMF) libats_hashtbl_linprb_dats.o clean:: ; $(RMF) libats_hashtbl_linprb_dats.c cleanall:: ; $(RMF) libats_hashtbl_linprb.exe ###### all:: libats_funmap_list libats_funmap_list: libats_funmap_list.exe libats_funmap_list.exe: libats_funmap_list_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funmap_list_dats.c: libats_funmap_list.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funmap_list_dats.c --dynamic libats_funmap_list.dats clean:: ; $(RMF) libats_funmap_list_dats.o clean:: ; $(RMF) libats_funmap_list_dats.c cleanall:: ; $(RMF) libats_funmap_list.exe all:: libats_funmap_avltree libats_funmap_avltree: libats_funmap_avltree.exe libats_funmap_avltree.exe: libats_funmap_avltree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funmap_avltree_dats.c: libats_funmap_avltree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funmap_avltree_dats.c --dynamic libats_funmap_avltree.dats clean:: ; $(RMF) libats_funmap_avltree_dats.o clean:: ; $(RMF) libats_funmap_avltree_dats.c cleanall:: ; $(RMF) libats_funmap_avltree.exe all:: libats_funmap_rbtree libats_funmap_rbtree: libats_funmap_rbtree.exe libats_funmap_rbtree.exe: libats_funmap_rbtree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funmap_rbtree_dats.c: libats_funmap_rbtree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funmap_rbtree_dats.c --dynamic libats_funmap_rbtree.dats clean:: ; $(RMF) libats_funmap_rbtree_dats.o clean:: ; $(RMF) libats_funmap_rbtree_dats.c cleanall:: ; $(RMF) libats_funmap_rbtree.exe ###### all:: libats_funset_listord libats_funset_listord: libats_funset_listord.exe libats_funset_listord.exe: libats_funset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funset_listord_dats.c: libats_funset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funset_listord_dats.c --dynamic libats_funset_listord.dats clean:: ; $(RMF) libats_funset_listord_dats.o clean:: ; $(RMF) libats_funset_listord_dats.c cleanall:: ; $(RMF) libats_funset_listord.exe all:: libats_funset_avltree libats_funset_avltree: libats_funset_avltree.exe libats_funset_avltree.exe: libats_funset_avltree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funset_avltree_dats.c: libats_funset_avltree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funset_avltree_dats.c --dynamic libats_funset_avltree.dats clean:: ; $(RMF) libats_funset_avltree_dats.o clean:: ; $(RMF) libats_funset_avltree_dats.c cleanall:: ; $(RMF) libats_funset_avltree.exe ###### all:: libats_funmset_listord libats_funmset_listord: libats_funmset_listord.exe libats_funmset_listord.exe: libats_funmset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_funmset_listord_dats.c: libats_funmset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funmset_listord_dats.c --dynamic libats_funmset_listord.dats clean:: ; $(RMF) libats_funmset_listord_dats.o clean:: ; $(RMF) libats_funmset_listord_dats.c cleanall:: ; $(RMF) libats_funmset_listord.exe ###### all:: libats_fundeque_fngtree libats_fundeque_fngtree: libats_fundeque_fngtree.exe libats_fundeque_fngtree.exe: libats_fundeque_fngtree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_fundeque_fngtree_dats.c: libats_fundeque_fngtree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_fundeque_fngtree_dats.c --dynamic libats_fundeque_fngtree.dats clean:: ; $(RMF) libats_fundeque_fngtree_dats.o clean:: ; $(RMF) libats_fundeque_fngtree_dats.c cleanall:: ; $(RMF) libats_fundeque_fngtree.exe all:: libats_funralist_nested libats_funralist_nested: libats_funralist_nested.exe libats_funralist_nested.exe: libats_funralist_nested_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_funralist_nested_dats.c: libats_funralist_nested.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_funralist_nested_dats.c --dynamic libats_funralist_nested.dats clean:: ; $(RMF) libats_funralist_nested_dats.o clean:: ; $(RMF) libats_funralist_nested_dats.c cleanall:: ; $(RMF) libats_funralist_nested.exe ###### all:: libats_linmap_list libats_linmap_list: libats_linmap_list.exe libats_linmap_list.exe: libats_linmap_list_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linmap_list_dats.c: libats_linmap_list.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linmap_list_dats.c --dynamic libats_linmap_list.dats clean:: ; $(RMF) libats_linmap_list_dats.o clean:: ; $(RMF) libats_linmap_list_dats.c cleanall:: ; $(RMF) libats_linmap_list.exe all:: libats_linmap_avltree libats_linmap_avltree: libats_linmap_avltree.exe libats_linmap_avltree.exe: libats_linmap_avltree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linmap_avltree_dats.c: libats_linmap_avltree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linmap_avltree_dats.c --dynamic libats_linmap_avltree.dats clean:: ; $(RMF) libats_linmap_avltree_dats.o clean:: ; $(RMF) libats_linmap_avltree_dats.c cleanall:: ; $(RMF) libats_linmap_avltree.exe all:: libats_linmap_randbst libats_linmap_randbst: libats_linmap_randbst.exe libats_linmap_randbst.exe: libats_linmap_randbst_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linmap_randbst_dats.c: libats_linmap_randbst.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linmap_randbst_dats.c --dynamic libats_linmap_randbst.dats clean:: ; $(RMF) libats_linmap_randbst_dats.o clean:: ; $(RMF) libats_linmap_randbst_dats.c cleanall:: ; $(RMF) libats_linmap_randbst.exe all:: libats_linmap_skiplist libats_linmap_skiplist: libats_linmap_skiplist.exe libats_linmap_skiplist.exe: libats_linmap_skiplist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_linmap_skiplist_dats.c: libats_linmap_skiplist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linmap_skiplist_dats.c --dynamic libats_linmap_skiplist.dats clean:: ; $(RMF) libats_linmap_skiplist_dats.o clean:: ; $(RMF) libats_linmap_skiplist_dats.c cleanall:: ; $(RMF) libats_linmap_skiplist.exe ###### all:: libats_linset_listord libats_linset_listord: libats_linset_listord.exe libats_linset_listord.exe: libats_linset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linset_listord_dats.c: libats_linset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linset_listord_dats.c --dynamic libats_linset_listord.dats clean:: ; $(RMF) libats_linset_listord_dats.o clean:: ; $(RMF) libats_linset_listord_dats.c cleanall:: ; $(RMF) libats_linset_listord.exe all:: libats_linset_avltree libats_linset_avltree: libats_linset_avltree.exe libats_linset_avltree.exe: libats_linset_avltree_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linset_avltree_dats.c: libats_linset_avltree.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linset_avltree_dats.c --dynamic libats_linset_avltree.dats clean:: ; $(RMF) libats_linset_avltree_dats.o clean:: ; $(RMF) libats_linset_avltree_dats.c cleanall:: ; $(RMF) libats_linset_avltree.exe ###### all:: libats_linheap_binomial libats_linheap_binomial: libats_linheap_binomial.exe libats_linheap_binomial.exe: libats_linheap_binomial_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linheap_binomial_dats.c: libats_linheap_binomial.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linheap_binomial_dats.c --dynamic libats_linheap_binomial.dats clean:: ; $(RMF) libats_linheap_binomial_dats.o clean:: ; $(RMF) libats_linheap_binomial_dats.c cleanall:: ; $(RMF) libats_linheap_binomial.exe all:: libats_linheap_binomial2 libats_linheap_binomial2: libats_linheap_binomial2.exe libats_linheap_binomial2.exe: libats_linheap_binomial2_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_linheap_binomial2_dats.c: libats_linheap_binomial2.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_linheap_binomial2_dats.c --dynamic libats_linheap_binomial2.dats clean:: ; $(RMF) libats_linheap_binomial2_dats.o clean:: ; $(RMF) libats_linheap_binomial2_dats.c cleanall:: ; $(RMF) libats_linheap_binomial2.exe ###### all:: libats_lindeque_dllist libats_lindeque_dllist: libats_lindeque_dllist.exe libats_lindeque_dllist.exe: libats_lindeque_dllist_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< libats_lindeque_dllist_dats.c: libats_lindeque_dllist.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_lindeque_dllist_dats.c --dynamic libats_lindeque_dllist.dats clean:: ; $(RMF) libats_lindeque_dllist_dats.o clean:: ; $(RMF) libats_lindeque_dllist_dats.c cleanall:: ; $(RMF) libats_lindeque_dllist.exe ###### all:: libats_ML_list0 libats_ML_list0: libats_ML_list0.exe libats_ML_list0.exe: libats_ML_list0_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_list0_dats.c: libats_ML_list0.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_list0_dats.c --dynamic libats_ML_list0.dats clean:: ; $(RMF) libats_ML_list0_dats.o clean:: ; $(RMF) libats_ML_list0_dats.c cleanall:: ; $(RMF) libats_ML_list0.exe all:: libats_ML_array0 libats_ML_array0: libats_ML_array0.exe libats_ML_array0.exe: libats_ML_array0_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_array0_dats.c: libats_ML_array0.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_array0_dats.c --dynamic libats_ML_array0.dats clean:: ; $(RMF) libats_ML_array0_dats.o clean:: ; $(RMF) libats_ML_array0_dats.c cleanall:: ; $(RMF) libats_ML_array0.exe all:: libats_ML_matrix0 libats_ML_matrix0: libats_ML_matrix0.exe libats_ML_matrix0.exe: libats_ML_matrix0_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_matrix0_dats.c: libats_ML_matrix0.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_matrix0_dats.c --dynamic libats_ML_matrix0.dats clean:: ; $(RMF) libats_ML_matrix0_dats.o clean:: ; $(RMF) libats_ML_matrix0_dats.c cleanall:: ; $(RMF) libats_ML_matrix0.exe all:: libats_ML_string libats_ML_string: libats_ML_string.exe libats_ML_string.exe: libats_ML_string_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_string_dats.c: libats_ML_string.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_string_dats.c --dynamic libats_ML_string.dats clean:: ; $(RMF) libats_ML_string_dats.o clean:: ; $(RMF) libats_ML_string_dats.c cleanall:: ; $(RMF) libats_ML_string.exe all:: libats_ML_strarr libats_ML_strarr: libats_ML_strarr.exe libats_ML_strarr.exe: libats_ML_strarr_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_strarr_dats.c: libats_ML_strarr.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_strarr_dats.c --dynamic libats_ML_strarr.dats clean:: ; $(RMF) libats_ML_strarr_dats.o clean:: ; $(RMF) libats_ML_strarr_dats.c cleanall:: ; $(RMF) libats_ML_strarr.exe all:: libats_ML_gvalue libats_ML_gvalue: libats_ML_gvalue.exe libats_ML_gvalue.exe: libats_ML_gvalue_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_gvalue_dats.c: libats_ML_gvalue.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_gvalue_dats.c --dynamic libats_ML_gvalue.dats clean:: ; $(RMF) libats_ML_gvalue_dats.o clean:: ; $(RMF) libats_ML_gvalue_dats.c cleanall:: ; $(RMF) libats_ML_gvalue.exe ###### all:: libats_ML_filebas libats_ML_filebas: libats_ML_filebas.exe libats_ML_filebas.exe: libats_ML_filebas_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_filebas_dats.c: libats_ML_filebas.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_filebas_dats.c --dynamic libats_ML_filebas.dats clean:: ; $(RMF) libats_ML_filebas_dats.o clean:: ; $(RMF) libats_ML_filebas_dats.c cleanall:: ; $(RMF) libats_ML_filebas.exe all:: libats_ML_intrange libats_ML_intrange: libats_ML_intrange.exe libats_ML_intrange.exe: libats_ML_intrange_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_intrange_dats.c: libats_ML_intrange.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_intrange_dats.c --dynamic libats_ML_intrange.dats clean:: ; $(RMF) libats_ML_intrange_dats.o clean:: ; $(RMF) libats_ML_intrange_dats.c cleanall:: ; $(RMF) libats_ML_intrange.exe ###### all:: libats_ML_funset libats_ML_funset: libats_ML_funset.exe libats_ML_funset.exe: libats_ML_funset_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_funset_dats.c: libats_ML_funset.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_funset_dats.c --dynamic libats_ML_funset.dats clean:: ; $(RMF) libats_ML_funset_dats.o clean:: ; $(RMF) libats_ML_funset_dats.c cleanall:: ; $(RMF) libats_ML_funset.exe all:: libats_ML_funmap libats_ML_funmap: libats_ML_funmap.exe libats_ML_funmap.exe: libats_ML_funmap_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_funmap_dats.c: libats_ML_funmap.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_funmap_dats.c --dynamic libats_ML_funmap.dats clean:: ; $(RMF) libats_ML_funmap_dats.o clean:: ; $(RMF) libats_ML_funmap_dats.c cleanall:: ; $(RMF) libats_ML_funmap.exe all:: libats_ML_myfunset libats_ML_myfunset: libats_ML_myfunset.exe libats_ML_myfunset.exe: libats_ML_myfunset_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_myfunset_dats.c: libats_ML_myfunset.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_myfunset_dats.c --dynamic libats_ML_myfunset.dats clean:: ; $(RMF) libats_ML_myfunset_dats.o clean:: ; $(RMF) libats_ML_myfunset_dats.c cleanall:: ; $(RMF) libats_ML_myfunset.exe all:: libats_ML_myfunmap libats_ML_myfunmap: libats_ML_myfunmap.exe libats_ML_myfunmap.exe: libats_ML_myfunmap_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_myfunmap_dats.c: libats_ML_myfunmap.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_myfunmap_dats.c --dynamic libats_ML_myfunmap.dats clean:: ; $(RMF) libats_ML_myfunmap_dats.o clean:: ; $(RMF) libats_ML_myfunmap_dats.c cleanall:: ; $(RMF) libats_ML_myfunmap.exe ###### all:: libats_ML_hashtblref libats_ML_hashtblref: libats_ML_hashtblref.exe libats_ML_hashtblref.exe: libats_ML_hashtblref_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_hashtblref_dats.c: libats_ML_hashtblref.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_hashtblref_dats.c --dynamic libats_ML_hashtblref.dats clean:: ; $(RMF) libats_ML_hashtblref_dats.o clean:: ; $(RMF) libats_ML_hashtblref_dats.c cleanall:: ; $(RMF) libats_ML_hashtblref.exe all:: libats_ML_myhashtblref libats_ML_myhashtblref: libats_ML_myhashtblref.exe libats_ML_myhashtblref.exe: libats_ML_myhashtblref_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_myhashtblref_dats.c: libats_ML_myhashtblref.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_myhashtblref_dats.c --dynamic libats_ML_myhashtblref.dats clean:: ; $(RMF) libats_ML_myhashtblref_dats.o clean:: ; $(RMF) libats_ML_myhashtblref_dats.c cleanall:: ; $(RMF) libats_ML_myhashtblref.exe ###### all:: libats_ML_monad_list libats_ML_monad_list: libats_ML_monad_list.exe libats_ML_monad_list.exe: libats_ML_monad_list_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_monad_list_dats.c: libats_ML_monad_list.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_monad_list_dats.c --dynamic libats_ML_monad_list.dats clean:: ; $(RMF) libats_ML_monad_list_dats.o clean:: ; $(RMF) libats_ML_monad_list_dats.c cleanall:: ; $(RMF) libats_ML_monad_list.exe all:: libats_ML_monad_maybe libats_ML_monad_maybe: libats_ML_monad_maybe.exe libats_ML_monad_maybe.exe: libats_ML_monad_maybe_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ML_monad_maybe_dats.c: libats_ML_monad_maybe.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ML_monad_maybe_dats.c --dynamic libats_ML_monad_maybe.dats clean:: ; $(RMF) libats_ML_monad_maybe_dats.o clean:: ; $(RMF) libats_ML_monad_maybe_dats.c cleanall:: ; $(RMF) libats_ML_monad_maybe.exe ###### all:: libats_ATS1_funset_listord libats_ATS1_funset_listord: libats_ATS1_funset_listord.exe libats_ATS1_funset_listord.exe: libats_ATS1_funset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ATS1_funset_listord_dats.c: libats_ATS1_funset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ATS1_funset_listord_dats.c --dynamic libats_ATS1_funset_listord.dats clean:: ; $(RMF) libats_ATS1_funset_listord_dats.o clean:: ; $(RMF) libats_ATS1_funset_listord_dats.c cleanall:: ; $(RMF) libats_ATS1_funset_listord.exe all:: libats_ATS1_funheap_braun libats_ATS1_funheap_braun: libats_ATS1_funheap_braun.exe libats_ATS1_funheap_braun.exe: libats_ATS1_funheap_braun_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ATS1_funheap_braun_dats.c: libats_ATS1_funheap_braun.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ATS1_funheap_braun_dats.c --dynamic libats_ATS1_funheap_braun.dats clean:: ; $(RMF) libats_ATS1_funheap_braun_dats.o clean:: ; $(RMF) libats_ATS1_funheap_braun_dats.c cleanall:: ; $(RMF) libats_ATS1_funheap_braun.exe all:: libats_ATS1_funheap_binomial libats_ATS1_funheap_binomial: libats_ATS1_funheap_binomial.exe libats_ATS1_funheap_binomial.exe: libats_ATS1_funheap_binomial_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ATS1_funheap_binomial_dats.c: libats_ATS1_funheap_binomial.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ATS1_funheap_binomial_dats.c --dynamic libats_ATS1_funheap_binomial.dats clean:: ; $(RMF) libats_ATS1_funheap_binomial_dats.o clean:: ; $(RMF) libats_ATS1_funheap_binomial_dats.c cleanall:: ; $(RMF) libats_ATS1_funheap_binomial.exe all:: libats_ATS1_funmset_listord libats_ATS1_funmset_listord: libats_ATS1_funmset_listord.exe libats_ATS1_funmset_listord.exe: libats_ATS1_funmset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ATS1_funmset_listord_dats.c: libats_ATS1_funmset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ATS1_funmset_listord_dats.c --dynamic libats_ATS1_funmset_listord.dats clean:: ; $(RMF) libats_ATS1_funmset_listord_dats.o clean:: ; $(RMF) libats_ATS1_funmset_listord_dats.c cleanall:: ; $(RMF) libats_ATS1_funmset_listord.exe ###### all:: libats_ATS1_linset_listord libats_ATS1_linset_listord: libats_ATS1_linset_listord.exe libats_ATS1_linset_listord.exe: libats_ATS1_linset_listord_dats.c ; $(CCOPT) -D_GNU_SOURCE -O2 -I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime -DATS_MEMALLOC_LIBC -o $@ $< -L$(PATSLIB) -latslib libats_ATS1_linset_listord_dats.c: libats_ATS1_linset_listord.dats ; $(PATSOPT) -IATS$(PATSHOMEQ)/contrib --output libats_ATS1_linset_listord_dats.c --dynamic libats_ATS1_linset_listord.dats clean:: ; $(RMF) libats_ATS1_linset_listord_dats.o clean:: ; $(RMF) libats_ATS1_linset_listord_dats.c cleanall:: ; $(RMF) libats_ATS1_linset_listord.exe ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o *_?ats.c clean:: ; $(RMF) *_atxt.txt clean:: ; $(RMF) *_atxt.dats clean:: ; $(RMF) gdbmtest.gdbm clean:: ; $(RMF) Makefile.exe cleanall:: clean ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_strarr.dats0000664000175000017500000000422012655455557021672 0ustar hwxihwxi(* ** for testing [libats/ML/strarr] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/strarr.sats" (* ****** ****** *) // staload _(*anon*) = "libats/ML/DATS/array0.dats" staload _(*anon*) = "libats/ML/DATS/strarr.dats" // (* ****** ****** *) val alphabet = strarr_make("ABCDEFGHIJKLMNOPQRSTUVWXYZ") (* ****** ****** *) val () = { val () = assert (strarr_get_size (alphabet) = 26) val () = assert (strarr_get_size (alphabet + alphabet) = 2 * 26) } // end of [val] (* ****** ****** *) val () = { val AB = strarr_copy (alphabet) // val () = fprintln! (stdout_ref, "AB = ", AB) // val () = assertloc (strarr_get_size (AB) = strarr_get_size (alphabet)) // val () = assertloc (AB[0] = 'A') val () = assertloc (AB[25] = 'Z') val () = assertloc ( strarr_contains (AB, 'Q')) val () = assertloc (~strarr_contains (AB, '0')) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // val digits = strarr_tabulate (i2sz(10), lam i => '0' + g0u2i(i)) val () = fprintln! (out, "digits = ", digits) // val xdigits = strarr_tabulate ( i2sz(16), lam i => if i < 10 then '0' + g0u2i(i) else 'a' + (g0u2i(i)-10) ) (* end of [val] *) // val () = fprintln! (out, "xdigits = ", xdigits) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val str = strarr_get_range (alphabet, i2sz(26), i2sz(0)) // val strarr = strarr_make(str) val () = assertloc (strarr[0] = 'Z') val () = assertloc (strarr[25] = 'A') // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val () = fprint! (out, "foreach: ") val () = strarr_foreach (alphabet, lam c => fprint (out, c)) val () = fprint_newline (out) // val () = fprint! (out, "iforeach: ") val () = strarr_iforeach (alphabet, lam (i, c) => fprint! (out, "(", c, i, ")")) val () = fprint_newline (out) // val () = fprint! (out, "rforeach: ") val () = strarr_rforeach (alphabet, lam c => fprint (out, c)) val () = fprint_newline (out) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_strarr.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_reference.dats0000664000175000017500000000240512655455557022110 0ustar hwxihwxi(* ** for testing [prelude/reference] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { // typedef T = int // val r = ref (0) val () = !r := !r + 1 val () = assertloc (!r = 1) val () = !r := 2 * !r val () = assertloc (!r = 2) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val r1 = ref (1) val r2 = ref (2) val () = assertloc (!r1 = 1) val () = assertloc (!r2 = 2) val () = !r1 :=: !r2 val () = assertloc (!r1 = 2) val () = assertloc (!r2 = 1) } // end of [val] (* ****** ****** *) val () = { // typedef T2 = @(int, double) // val r = ref @(1, 1.0) val () = !r.0 := !r.0 + 1 val () = assertloc (!r.0 = 2) val () = !r.1 := !r.1 + 1.0 val () = assertloc (!r.1 = 2.0) // } // end of [val] (* ****** ****** *) val () = { // var x: int = 3 val r = ref (1) val () = assert (r[] = 1) val () = r[] := r[] + 1 val () = assert (r[] = 2) val () = ref_exch_elt (r, x) val () = assert (x = 2) val () = assert (r[] = 3) // } // end of [val] (* ****** ****** *) val () = { // val r = ref (1) val () = ref_app_fun (r, lam x => x := 2 * x) val () = assertloc (!r = 2) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_reference.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_stream.dats0000664000175000017500000000204312655455557021443 0ustar hwxihwxi(* ** for testing [prelude/stream] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) fun from ( n: int ) : stream (int) = let // implement stream_vt_tabulate$fopr (i) = n+i // in stream_vt2t(stream_vt_tabulate ((*void*))) end // end of [from] (* ****** ****** *) val () = { // val ns = from (0) val nns = stream_map_fun (ns, lam x => x * x) // val () = assertloc (stream_nth_exn (nns, 100) = 10000) // val nns2 = stream_map2_fun (ns, ns, lam (x1, x2) => x1 * x2) // val () = assertloc (stream_nth_exn (nns2, 100) = 10000) // } (* end of [val] *) (* ****** ****** *) val () = { // val ns1 = from (1) val ns2 = from (2) val nns = stream_map2_fun (ns1, ns2, lam (x1, x2) => x1 * x2) // val () = fprint_stream (stdout_ref, nns, 10) val ((*void*)) = fprintln! (stdout_ref) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_stream.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_string.dats0000664000175000017500000000275012655455557021671 0ustar hwxihwxi(* ** for testing [libats/ML/string] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/string.sats" (* ****** ****** *) // staload _(*anon*) = "libats/ML/DATS/array0.dats" staload _(*anon*) = "libats/ML/DATS/string.dats" // (* ****** ****** *) val alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" (* ****** ****** *) val () = { val () = assertloc (itoa (12345) = "12345") } (* end of [val] *) (* ****** ****** *) val () = { // val () = assertloc (length (alphabet) = 26) val () = assertloc (alphabet = string_copy (alphabet)) val () = assertloc (alphabet = string_make_substring (alphabet, (i2sz)0, (i2sz)26)) // val () = assertloc (alphabet[0] = 'A') val () = assertloc (alphabet[25] = 'Z') // } // end of [val] (* ****** ****** *) val () = { // val ds = string_tabulate ( i2sz(10) , lam i => $UN.cast{charNZ}('0'+sz2i(i)) ) (* end of [val] *) // val out = stdout_ref val () = fprintln! (out, "digits = ", ds) // val () = string_foreach (ds+ds, lam c => fprint(out, c)) // val ((*void*)) = fprint_newline (out) // } (* end of [val] *) (* ****** ****** *) val () = { // val str = "" val cs = string_explode (str) val () = assertloc (str = string_implode(cs)) // val str = "abcde" val cs = string_explode (str) val () = assertloc (str = string_implode(cs)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_string.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_char.dats0000664000175000017500000000751612655455557021077 0ustar hwxihwxi(* ** For testing ** [prelude/char] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { // val () = assertloc ('A' = 'A') val () = assertloc ('A' < 'B') val () = assertloc ('A' <= 'B') val () = assertloc ('Z' > 'Y') val () = assertloc ('Z' >= 'Y') val () = assertloc (compare ('A', 'B') = ~1) val () = assertloc (compare ('A', 'C') = ~2) val () = assertloc (compare ('P', 'P') = 0) val () = assertloc (compare ('Z', 'X') = 2) val () = assertloc (compare ('Z', 'Y') = 1) // } (* end of [val] *) (* ****** ****** *) val () = { val c211 = '\211' val c212 = '\212' // val uc211 = c2uc(c211) val uc212 = c2uc(c212) // val i211 = char2i(c211) val i212 = char2i(c212) val () = println! ("i211_c2i = ", i211) val () = println! ("i212_c2i = ", i212) val i211 = uchar2i(uc211) val i212 = uchar2i(uc212) val () = println! ("i211_uc2i = ", i211) val () = println! ("i212_uc2i = ", i212) val i211 = char2u2i(c211) val i212 = char2u2i(c212) val () = println! ("i211_c2u2i = ", i211) val () = println! ("i212_c2u2i = ", i212) // val ui211 = char2ui(c211) val ui212 = char2ui(c212) val () = println! ("ui211_c2ui = ", ui211) val () = println! ("ui212_c2ui = ", ui212) val ui211 = uchar2ui(uc211) val ui212 = uchar2ui(uc212) val () = println! ("ui211_uc2ui = ", ui211) val () = println! ("ui212_uc2ui = ", ui212) val ui211 = char2u2ui(c211) val ui212 = char2u2ui(c212) val () = println! ("ui211_c2u2ui = ", ui211) val () = println! ("ui212_c2u2ui = ", ui212) // } (* end of [val] *) (* ****** ****** *) val () = { // val () = assertloc (isalpha ('A')) val () = assertloc (~isalpha ('0')) // val () = assertloc (isalnum ('A')) val () = assertloc (isalnum ('0')) val () = assertloc (~isalnum ('*')) // val () = assertloc (isascii ('A')) val () = assertloc (isascii (127)) val () = assertloc (isascii ('\177')) val () = assertloc (~isascii (128)) val () = assertloc (~isascii ('\200')) // val () = assertloc (isblank (' ')) val () = assertloc (isblank ('\t')) val () = assertloc (~isblank ('\n')) // val () = assertloc (isspace (' ')) val () = assertloc (isspace ('\t')) val () = assertloc (~isspace ('t')) val () = assertloc (isspace ('\n')) val () = assertloc (~isspace ('n')) // val () = assertloc (iscntrl ('\001')) val () = assertloc (iscntrl ('\002')) // val () = assertloc (isdigit ('0')) val () = assertloc (~isdigit ('a')) val () = assertloc (~isdigit ('A')) val () = assertloc (isxdigit ('0')) val () = assertloc (isxdigit ('a')) val () = assertloc (isxdigit ('A')) val () = assertloc (~isxdigit ('g')) // val () = assertloc (isprint ('a')) val () = assertloc (isprint ('A')) val () = assertloc (isprint (' ')) val () = assertloc (~isprint ('\t')) val () = assertloc (~isprint ('\n')) val () = assertloc (~isprint ('\000')) val () = assertloc (~isprint ('\001')) // val () = assertloc (ispunct (':')) val () = assertloc (ispunct (',')) val () = assertloc (ispunct (';')) val () = assertloc (ispunct ('.')) // val () = assertloc (islower ('a')) val () = assertloc (~islower ('A')) val () = assertloc (~islower ('0')) // val () = assertloc (isupper ('A')) val () = assertloc (~isupper ('a')) val () = assertloc (~isupper ('0')) // val () = assertloc (tolower 'A' = 'a') val () = assertloc (toupper 'a' = 'A') // } // end of [val] (* ****** ****** *) val () = { // val () = assertloc ('0' + 1 = '1') val () = assertloc ('0' + 5 = '5') val () = assertloc ('0' + 9 = '9') // val () = assertloc ('1' - 1 = '0') val () = assertloc ('5' - 5 = '0') val () = assertloc ('9' - 9 = '0') // val () = assertloc ('1' - '0' = 1) val () = assertloc ('5' - '0' = 5) val () = assertloc ('9' - '0' = 9) // } (* end of [val] *) (* ****** ****** *) overload stringify with char2string (* ****** ****** *) val () = assertloc("a" = stringify('a')) val () = assertloc("\n" = stringify('\n')) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_char.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_array.dats0000664000175000017500000001327412655455557021276 0ustar hwxihwxi(* ** for testing [prelude/array] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) val (pf | p) = arrayptr_takeout_viewptr (A) val i = 2 val () = assertloc (p->[i] = i) val () = p->[i] := ~i val () = assertloc (p->[i] = ~i) val () = array_interchange (!p, (i2sz)0, (i2sz)4) val () = assertloc (p->[0] = 4 && p->[4] = 0) // prval () = arrayptr_addback (pf | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) // val (pfat | p) = arrayptr_takeout_viewptr (A) // val out = stdout_ref // local // implement(tenv) array_foreach$fwork (x, env) = fprint (out, x) // in (* in of [local] *) // val _(*asz*) = array_foreach (!p, (i2sz)5) val () = fprint_newline (out) // end (* end of [local] *) // prval () = arrayptr_addback (pfat | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) // val (pfat | p) = arrayptr_takeout_viewptr (A) // val out = stdout_ref // local // implement(tenv) array_iforeach$fwork (i, x, env) = let val () = if i > 0 then fprint (out, "; ") in fprint! out i ": " x end (* end of [array_iforeach$fwork] *) // in (* in of [local] *) // val _(*asz*) = array_iforeach (!p, (i2sz)5) val () = fprint_newline (out) // end (* end of [local] *) // prval () = arrayptr_addback (pfat | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) // val (pfat | p) = arrayptr_takeout_viewptr (A) // val out = stdout_ref // local // implement(te) array_foreach2$fwork (x1, x2, env) = fprint! out "(" x1 ", " x2 ")" // in (* in of [local] *) // val _(*asz*) = array_foreach2 (!p, !p, (i2sz)5) val () = fprint_newline (out) // end (* end of [local] *) // prval () = arrayptr_addback (pfat | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) // val (pfat | p) = arrayptr_takeout_viewptr (A) // val out = stdout_ref // local // implement(te) array_rforeach$fwork (x, env) = fprint (out, x) // in (* in of [local] *) // val _(*asz*) = array_rforeach (!p, (i2sz)5) val () = fprint_newline (out) // end (* end of [local] *) // prval () = arrayptr_addback (pfat | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // #define N 5 val asz = g1i2u (N) val out = stdout_ref // val (pfat, pfgc | p) = array_ptr_alloc (asz) // implement array_initize$init (i, x) = x := g0u2i(i)+1 val () = array_initize (!p, asz) // array: 1, 2, ..., N-1, N // val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprint_newline (out) // implement array_permute$randint<> (n) = pred(n) // this is not random val () = array_permute (!p, asz) // array: N, 1, 2, ..., N-1 // val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprintln! out "(permuted)" // val () = array_ptr_free (pfat, pfgc | p) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // #define N 5 val asz = g1i2u (N) val out = stdout_ref // val (pfat, pfgc | p) = array_ptr_alloc (asz) // implement array_initize$init (i, x) = x := g0u2i(i)+1 val () = array_initize (!p, asz) // array: 1, 2, ..., N-1, N // var key: T = 3 val ind = array_bsearch_fun (!p, asz, key, lam (x, y) => compare (x, y)) val () = assertloc (ind = 2) // val () = p->[1] := key val ind = array_bsearch_fun (!p, asz, key, lam (x, y) => compare (x, y)) val () = assertloc (ind = 1) // val () = p->[0] := key val ind = array_bsearch_fun (!p, asz, key, lam (x, y) => compare (x, y)) val () = assertloc (ind = 0) // var key: int = 0 val indp = array_bsearch_stdlib (!p, asz, key, lam (x, y) => compare (x, y)) val () = assertloc (ptr_is_null (indp)) var key: int = 5 val indp = array_bsearch_stdlib (!p, asz, key, lam (x, y) => compare (x, y)) val () = assertloc (ptr_isnot_null (indp)) // val () = array_ptr_free (pfat, pfgc | p) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // #define N 5 val asz = g1i2u (N) val out = stdout_ref // val (pfat, pfgc | p) = array_ptr_alloc (asz) // implement array_initize$init (i, x) = x := 0 val () = array_initize (!p, asz) // array: 1, 2, ..., N-1, N // val () = p->[0] := 2 val () = p->[1] := 4 val () = p->[2] := 1 val () = p->[3] := 5 val () = p->[4] := 3 // val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprint_newline (out) // implement array_quicksort$cmp (x, y) = compare (x, y) // val () = array_quicksort (!p, asz) val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprintln! out "(ascendingly sorted)" // val () = array_quicksort_stdlib (!p, asz, lam (x, y) => compare (y, x)) // val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprintln! out "(descendingly sorted)" // val () = array_ptr_free (pfat, pfgc | p) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // val asz = (i2sz)5 // val A = (arrayptr)$arrpsz{T}(0, 1, 2, 3, 4) // val (pfat | p) = arrayptr_takeout_viewptr (A) // val out = stdout_ref // local // implement array_map2to$fwork (x, y, z) = z := (x * y) in // val () = array_map2to (!p, !p, !p, asz) // end (* end of [local] *) // val ( ) = fprint_array_sep (out, !p, asz, ",") val () = fprint_newline (out) // prval () = arrayptr_addback (pfat | A) // val () = arrayptr_free (A) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_array.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_integer.dats0000664000175000017500000000777612655455557021627 0ustar hwxihwxi(* ** for testing [prelude/float] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define EPSILON 1E-8 (* ****** ****** *) val () = { // val () = assertloc (~(~(1)) = 1) val () = assertloc (neg(neg(~1)) = ~1) val () = assertloc (abs(~10) = 10) val () = assertloc (pred(succ(0)) = 0) val () = assertloc (succ(pred(1)) = 1) val () = assertloc (1 + 2 = 2 + 1) val () = assertloc ((1 + 2) + 3 = 1 + (2 + 3)) val () = assertloc (1 * 2 = 2 * 1) val () = assertloc ((1 * 2) * 3 = 1 * (2 * 3)) // val x = 10 val () = assertloc (abs(x) = max(x, 0) - min(x, 0)) val x = ~10 val () = assertloc (abs(x) = max(x, 0) - min(x, 0)) // val () = assertloc (10 % 2 = 0) val () = assertloc (10 % 3 = 1) val () = assertloc (10 mod 4 = 2) val () = assertloc ((10 \nmod 5) = 0) val () = assertloc ((10 \nmod 7) = 3) // macdef ngcd = g1int_ngcd val () = assertloc ((0 \ngcd 0) = 0) val () = assertloc ((15 \ngcd 27) = 3) val () = assertloc ((24 \ngcd 60) = 12) // } // end of [val] (* ****** ****** *) val () = { // val () = assertloc (pred(succ(0u)) = 0) val () = assertloc (succ(pred(1u)) = 1) val () = assertloc (1u + 2u = 2u + 1u) val () = assertloc ((1u + 2u) + 3u = 1 + (2 + 3)) val () = assertloc (1u * 2u = 2u * 1u) val () = assertloc ((1u * 2u) * 3u = 1 * (2 * 3)) // val () = assertloc (10u mod 2u = 0) val () = assertloc (10u mod 3u = 1) // } // end of [val] (* ****** ****** *) val () = { // val () = assertloc (1 < 2) val () = assertloc (1 <= 2) val () = assertloc (9 > 8) val () = assertloc (9 >= 8) val () = assertloc (5 = 5) val () = assertloc (not(5 != 5)) val () = assertloc (compare (1, 9) = g1int_sgn(1-9)) val () = assertloc (compare (5, 5) = g1int_sgn(5-5)) val () = assertloc (compare (9, 1) = g1int_sgn(9-1)) // } // end of [val] (* ****** ****** *) val () = { // val () = assertloc ((1 << 0) = 1) val () = assertloc ((1 >> 0) = 1) val () = assertloc ((1 << 10) = 1024) val () = assertloc ((1024 >> 10) = 1) // val () = assertloc ((1U << 0) = 1U) val () = assertloc ((1U >> 0) = 1U) val () = assertloc ((1U << 10) = 1024U) val () = assertloc ((1024U >> 10) = 1U) // val () = assertloc ((1L << 10) = 1024L) val () = assertloc ((1024L >> 10) = 1L) // val x = 0x1234U val () = assertloc ((x lor x) = x) val () = assertloc ((x lor ~x) = g0i2u(~1)) val () = assertloc ((x land x) = x) val () = assertloc ((x land ~x) = 0U) val () = assertloc ((x lxor x) = 0U) val () = assertloc ((0x0000U lor x) = x) val () = assertloc ((0xFFFFU land x) = x) // val x = 0x123456UL val () = assertloc ((x lor x) = x) val () = assertloc ((x lor ~x) = g0i2u(~1L)) val () = assertloc ((x land x) = x) val () = assertloc ((x land ~x) = 0UL) val () = assertloc ((x lxor x) = 0UL) val () = assertloc ((0x000000UL lor x) = x) val () = assertloc ((0xFFFFFFUL land x) = x) // val x = 0x12345678ULL val () = assertloc ((x lor x) = x) val () = assertloc ((x lor ~x) = g0i2u(~1LL)) val () = assertloc ((x land x) = x) val () = assertloc ((x land ~x) = 0ULL) val () = assertloc ((x lxor x) = 0ULL) val () = assertloc ((0x00000000ULL lor x) = x) val () = assertloc ((0xFFFFFFFFULL land x) = x) // } // end of [val] (* ****** ****** *) val () = { // val _1si = $UNSAFE.cast2sint(1) val _2si = $UNSAFE.cast2sint(2) #define si2i g0int2int_sint_int // val () = assertloc ($UNSAFE.cast2int(si2i(_1si) + si2i(_2si)) = 3) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val rep = g0int2string (1) val ((*void*)) = fprintln! (out, "rep(1) = ", rep) val ((*void*)) = strptr_free (rep) // val rep = g0int2string (~123456789) val ((*void*)) = fprintln! (out, "rep(-123456789) = ", rep) val ((*void*)) = strptr_free (rep) // val rep = g0int2string (987654321000000000L) val ((*void*)) = fprintln! (out, "rep(987654321000000000L) = ", rep) val ((*void*)) = strptr_free (rep) // val rep = g0int2string (987654321000000000LL) val ((*void*)) = fprintln! (out, "rep(987654321000000000LL) = ", rep) val ((*void*)) = strptr_free (rep) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_integer.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_bitvec.dats0000664000175000017500000000545712655455557021256 0ustar hwxihwxi(* ** for testing [libats/bitvec] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiDOTgmailDOTcom // Start time: December, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/bitvec.sats" staload _(*anon*) = "libats/DATS/bitvec.dats" (* ****** ****** *) implement main0 () = { // #define nbit 80 // val out = stdout_ref // val () = fprintln! (out, "[libats_bitvec] starts!") // val bvp1 = bitvecptr_make_none (nbit) val () = assertloc(bitvecptr_is_none(bvp1, nbit)) val () = fprint (out, "bvp1 = ") val () = fprint_bitvecptr (out, bvp1, nbit) val ((*newln*)) = fprint_newline (out) // val () = bitvecptr_lnot(bvp1, nbit) val () = fprint (out, "bvp1 = ") val () = fprint_bitvecptr (out, bvp1, nbit) val ((*newln*)) = fprint_newline (out) // val bvp2 = bitvecptr_make_full (nbit) val () = assertloc(bitvecptr_is_full(bvp1, nbit)) val () = fprint (out, "bvp2 = ") val () = fprint_bitvecptr (out, bvp2, nbit) val ((*newln*)) = fprint_newline (out) // val () = assertloc(bitvecptr_equal(bvp1, bvp2, nbit)) // val () = bitvecptr_lor (bvp1, bvp2, nbit) val () = fprint (out, "bvp1 = ") val () = fprint_bitvecptr (out, bvp1, nbit) val ((*newln*)) = fprint_newline (out) // val () = bitvecptr_lxor (bvp1, bvp2, nbit) val () = fprint (out, "bvp1 = ") val () = fprint_bitvecptr (out, bvp1, nbit) val ((*newln*)) = fprint_newline (out) // val () = bitvecptr_land (bvp1, bvp2, nbit) val () = fprint (out, "bvp1 = ") val () = fprint_bitvecptr (out, bvp1, nbit) val ((*newln*)) = fprint_newline (out) // local implement bitvec_tabulate$fopr<> (i) = g1int_nmod(i, 2) in(*in-of-local*) val bvp3 = bitvecptr_tabulate (nbit) end // end of [local] val () = assertloc(~bitvecptr_is_none(bvp3, nbit)) val () = assertloc(~bitvecptr_is_full(bvp3, nbit)) val () = fprint (out, "bvp3 = ") val () = fprint_bitvecptr (out, bvp3, nbit) val ((*newln*)) = fprint_newline (out) // val () = assertloc (bvp3[0] = 0) val () = assertloc (bvp3[1] = 1) val () = assertloc (bvp3[2] = 0) val () = assertloc (bvp3[3] = 1) // val () = bvp3[0] := 1 val () = bvp3[1] := 0 val () = assertloc (bvp3[0] = 1) val () = assertloc (bvp3[1] = 0) // val () = bitvecptr_flip_at (bvp3, 2) val () = bitvecptr_flip_at (bvp3, 3) val () = assertloc (bvp3[2] = 1 - 0) val () = assertloc (bvp3[3] = 1 - 1) // local implement(env) bitvec_foreach$fworkbit(b, env) = fprint(out, b) in val () = fprint (out, "bvp3 = ") val () = bitvecptr_foreach (bvp3, nbit) val () = fprint_newline (out) end // end of [local] // val ((*freed*)) = bitvecptr_free (bvp1) val ((*freed*)) = bitvecptr_free (bvp2) val ((*freed*)) = bitvecptr_free (bvp3) // val () = fprintln! (out, "[libats_bitvec] is done!") // } (* end of [main0] *) (* ****** ****** *) (* end of [libats_bitvec.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_hashtbl_linprb.dats0000664000175000017500000000364012655455557022765 0ustar hwxihwxi(* ** for testing ** [libats/hashtbl_linprb] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu // Start time: May, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // staload "libats/SATS/hashtbl_linprb.sats" // staload _(*anon*) = "libats/DATS/hashfun.dats" staload _(*anon*) = "libats/DATS/hashtbl_linprb.dats" // (* ****** ****** *) val () = { val tbl = hashtbl_make_nil(i2sz(1024)) val-~list_vt_nil () = hashtbl_listize (tbl) } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref // typedef key = string and itm = int // val tbl = hashtbl_make_nil(i2sz(1)) // fun hashtbl_insert_exn ( tbl: !hashtbl(key, itm), k: key, x: itm ) : void = { val-~None_vt () = hashtbl_insert_opt (tbl, k, x) } // val () = hashtbl_insert_exn (tbl, "a", 0) val-~Some_vt(0) = hashtbl_insert_opt (tbl, "a", 1) // val () = hashtbl_insert_exn (tbl, "b", 2) val () = hashtbl_insert_exn (tbl, "c", 3) val () = hashtbl_insert_exn (tbl, "d", 4) val () = hashtbl_insert_exn (tbl, "e", 5) val () = hashtbl_insert_exn (tbl, "f", 6) // val () = hashtbl_insert_exn (tbl, "g", 7) val-~Some_vt(7) = hashtbl_takeout_opt (tbl, "g") // val () = fprintln! (out, "tbl = ", tbl) val () = fprintln! (out, "size(tbl) = ", hashtbl_get_size (tbl)) val () = fprintln! (out, "capacity(tbl) = ", hashtbl_get_capacity (tbl)) // val-~None_vt() = hashtbl_search_opt (tbl, "?") val-~Some_vt(1) = hashtbl_search_opt (tbl, "a") val-~Some_vt(2) = hashtbl_search_opt (tbl, "b") val-~Some_vt(3) = hashtbl_search_opt (tbl, "c") // val true = hashtbl_reset_capacity (tbl, i2sz(10)) val () = fprintln! (out, "tbl = ", tbl) val () = fprintln! (out, "size(tbl) = ", hashtbl_get_size (tbl)) // val () = list_vt_free<(key,itm)> (hashtbl_listize (tbl)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_hashtbl_linprb.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_malloc.dats0000664000175000017500000000144112655455557020671 0ustar hwxihwxi(* ** for testing [libc/malloc] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libc/SATS/malloc.sats" staload "libc/SATS/stdlib.sats" (* ****** ****** *) val () = { // val N = g1i2u (1024) val (pfopt | p) = malloc_libc (N) val ((*void*)) = assertloc (p > 0) prval malloc_libc_v_succ (pfat, pfgc) = pfopt val () = malloc_stats () // val nuse = malloc_usable_size (pfgc | p) val () = println! ("malloc_usable_size (", p ,") = ", nuse) // val () = mfree_libc (pfat, pfgc | p) // val () = println! ("malloc_trim() = ", malloc_trim ((i2sz)0)) val () = println! ("malloc_trim() = ", malloc_trim ((i2sz)0)) // val () = malloc_stats () // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_malloc.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_unistd.dats0000664000175000017500000000434712655455557020740 0ustar hwxihwxi(* ** for testing [libc/unistd] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload FCNTL = "libc/SATS/fcntl.sats" staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) staload "libc/SATS/unistd.sats" (* ****** ****** *) val () = { val STDIN2 = dup (STDIN_FILENO) val () = println! ("STDIN2 = ", STDIN2) val () = close0_exn (STDIN2) val STDOUT2 = dup (STDOUT_FILENO) val STDERR2 = dup (STDERR_FILENO) val () = println! ("STDOUT2 = ", STDOUT2) val () = println! ("STDERR2 = ", STDERR2) // val (fpf | fildes) = $FCNTL.fildes_iget_int (STDOUT2) val fd = $FCNTL.fildes_get_int (fildes) prval () = fpf (fildes) val () = println! ("fd = ", fd) // val () = close0_exn (STDOUT2) // val (fpf | fildes) = $FCNTL.fildes_iget_int (STDOUT2) val fd = $FCNTL.fildes_get_int (fildes) prval () = fpf (fildes) val () = println! ("fd(-1) = ", fd) } (* end of [libc_unistd] *) (* ****** ****** *) val () = { // val out = stdout_ref val cwd = getcwd_gc () val () = fprint_strptr (out, cwd) val () = fprint_newline (out) val () = strptr_free (cwd) // } // end of [val] (* ****** ****** *) val () = { // val out = stdout_ref val uid = getlogin_r_gc () val () = fprintln! (out, "userid = ", uid) val () = strptr_free (uid) // } // end of [val] (* ****** ****** *) val () = { // val left = sleep (1) val () = println! ("left = ", left) val left = sleep (1U) val () = println! ("left = ", left) val err = usleep (1000000) // val () = assertloc (usleep (500000) = 0) val () = println! ("one-half second passed.") val () = assertloc (usleep (500000U) = 0) val () = println! ("one-half second passed.") // } // end of [val] (* ****** ****** *) val () = { // val err = $STDLIB.system ("touch /tmp/deadbeef") val ( ) = assertloc (err = 0) val ( ) = unlink_exn ("/tmp/deadbeef") val ( ) = symlink_exn ("Hello, world!", "/tmp/deadbeef2") val str = readlink_gc ("/tmp/deadbeef2") val ( ) = unlink_exn ("/tmp/deadbeef2") val ( ) = println! ("readlink(/tmp/deadbeef2) = ", str) val ( ) = strptr_free (str) val str = readlink_gc ("/tmp/deadbeef3") val ( ) = println! ("readlink(/tmp/deadbeef3) = ", str) val ( ) = strptr_free (str) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_unistd.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_intrange.dats0000664000175000017500000000321612655455557021762 0ustar hwxihwxi(* ** for testing [prelude/intrange] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) val () = { // val out = stdout_ref // implement(env) intrange_foreach$fwork (i, env) = fprint(out, i) // val _ = intrange_foreach<> (0, 10) // val () = fprint_newline(out) // } (* end of [val] *) (* ****** ****** *) val () = { // fun fact (n:int): int = let // typedef tenv = int implement intrange_foreach$fwork (i, env) = env := (i+1) * env // var env: tenv = 1 val _ = intrange_foreach_env (0, n, env) // in env end (* end of [fact] *) // val () = assertloc (fact (10) = 1*2*3*4*5*6*7*8*9*10) // } (* ****** ****** *) val () = { // val out = stdout_ref // implement(env) intrange_rforeach$fwork (i, env) = fprint(out, i) // val _ = intrange_rforeach<> (0, 10) // val () = fprint_newline(out) // } (* end of [val] *) (* ****** ****** *) val () = { // fun fact (n:int): int = let // typedef tenv = int implement intrange_rforeach$fwork (i, env) = env := (i+1) * env // var env: tenv = 1 val _ = intrange_rforeach_env (0, n, env) // in env end (* end of [fact] *) // val () = assertloc (fact (10) = 10*9*8*7*6*5*4*3*2*1) // } (* end of [val] *) (* ****** ****** *) val () = { // val N = 10 // implement(tenv) intrange2_foreach$fwork (i, j, env) = ( // if j > 1 then print ' '; $extfcall(void, "printf", "%dx%d=%02d", i, j, i*j); if (j+1=N) then println! (); // ) // val () = intrange2_foreach (1, N, 1, N) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_intrange.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linset_listord.dats0000664000175000017500000000403412655455557023026 0ustar hwxihwxi(* ** for testing [libats/linset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linset_listord.sats" staload _(*anon*) = "libats/DATS/linset_listord.dats" (* ****** ****** *) val () = { // val out = stdout_ref // val ints = $list_vt{int}(1, 1, 1, 2, 3) // val xs = linset_make_list ($UN.list_vt2t(ints)) // val () = list_vt_free (ints) // val () = fprintln! (out, "xs = ", xs) val () = assertloc (linset_size(xs) = 3) // val () = assertloc (linset_is_member (xs, 1)) val () = assertloc (linset_is_member (xs, 2)) val () = assertloc (linset_is_member (xs, 3)) val () = assertloc (linset_isnot_member (xs, 0)) val () = assertloc (linset_isnot_member (xs, 4)) // var xs = xs val () = assertloc (~linset_insert (xs, 0)) val () = assertloc ( linset_insert (xs, 1)) val () = assertloc ( linset_remove (xs, 1)) val () = assertloc (~linset_remove (xs, 4)) val () = assertloc (~linset_insert (xs, 4)) // val () = fprintln! (out, "xs = ", xs) // val () = linset_free (xs) // } // end of [val] (* ****** ****** *) val () = { // vtypedef set = set(int) // var xs: set = linset_nil{int}() // val-false = linset_insert (xs, 0) val-false = linset_insert (xs, 1) val-false = linset_insert (xs, 2) val-false = linset_insert (xs, 3) val-false = linset_insert (xs, 4) // val nx = linset_takeoutmin_ngc (xs) val p_nx = ptrcast(nx) val () = assertloc (p_nx > 0) // val () = mynode_set_elt (nx, 9) val _0_ = linset_insert_ngc (xs, nx) val () = assertloc (ptrcast(_0_) = 0) prval () = mynode_free_null (_0_) // val nx2 = linset_takeoutmax_ngc (xs) val p_nx2 = ptrcast(nx2) val () = assertloc (p_nx2 > 0) // val () = assertloc (p_nx = p_nx2) // val () = linset_free (xs) val-(9) = mynode_getfree_elt (nx2) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_matrix0.dats0000664000175000017500000000331512655455557021745 0ustar hwxihwxi(* ** for testing [libats/ML/matrix0] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/matrix0.sats" (* ****** ****** *) // staload _(*anon*) = "libats/ML/DATS/matrix0.dats" // (* ****** ****** *) val () = { // val nrow = i2sz(3) and ncol = i2sz(4) // val A_elt = matrix0_make_elt (nrow, ncol, 0) // val ((*void*)) = println! ("A_elt = ", A_elt) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val nrow = i2sz(3) val ncol = i2sz(4) val M_elt = matrix0_tabulate (nrow, ncol, lam (i, j) => sz2i(i+j)+1) val () = fprintln! (out, "M_elt = ", M_elt) // val () = fprintln! (out, "M_elt.nrow = ", M_elt.nrow()) val () = fprintln! (out, "M_elt.ncol = ", M_elt.ncol()) // var i: int and j: int val () = for (i := 0; i < 3; i := i+1) M_elt[i,0] := 0 val () = for (j := 0; j < 4; j := j+1) M_elt[0,j] := 0 // val () = fprintln! (out, "M_elt = ", M_elt) // val () = matrix0_iforeach (M_elt, lam (i, j, x) => x := 0) // val () = fprintln! (out, "M_elt = ", M_elt) // } (* end of [val] *) (* ****** ****** *) val () = { // val out = stdout_ref // val nrow = i2sz(4) val ncol = i2sz(4) val M_elt = matrix0_tabulate (nrow, ncol, lam (i, j) => sz2i(i-j)) // val res = matrix0_foldleft (M_elt, 0, lam (res, x) => res + x) // val ((*void*)) = assertloc (res = 0) // val res = matrix0_ifoldleft (M_elt, 0, lam (res, i, j, x) => res + sz2i(j-i)) // val ((*void*)) = assertloc (res = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_matrix0.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_list.dats0000664000175000017500000000511512655455557021126 0ustar hwxihwxi(* ** for testing [prelude/list] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { val x0 = 0 val x1 = 1 val xs = nil{int}() val xs = cons{int}(x0, cons{int}(x1, xs)) val+cons (x, xs) = xs val () = assertloc (x = x0) val+cons (x, xs) = xs val () = assertloc (x = x1) val+nil() = xs } (* end of [val] *) (* ****** ****** *) val () = { #define N 10 // val out = stdout_ref // val xs = list_make_intrange (0, N) val xs = list_vt2t{int}(xs) // val () = assertloc (xs[5] = 5) val () = assertloc (list_nth (xs, 5) = 5) // val x0 = list_head (xs) val () = assertloc (x0 = 0) // val xs1 = list_tail (xs) // val () = assertloc (xs1[5] = 5+1) val () = assertloc (list_nth (xs1, 5) = 5+1) // } (* end of [val] *) (* ****** ****** *) val () = { #define N 10 val out = stdout_ref // val xs = list_make_intrange (0, N) val xs = list_vt2t{int}(xs) // val () = fprintln! (out, "xs = ", xs) // local implement list_map$fopr (x) = x + x in (* in of [local] *) val ys = list_map (xs) end // end of [local] val ys = list_vt2t{int}(ys) // local // implement fprint_list$sep<> (out) = fprint_string (out, "; ") // in val () = fprintln! (out, "ys = ", ys) end // end of [local] // val rys = list_reverse (ys) val rys = list_vt2t{int}(rys) val () = fprintln! (out, "rys = ", rys) // val xsys = list_concat (cons{List(int)}(xs, cons{List(int)}(ys, nil))) val xsys = list_vt2t{int}(xsys) val () = fprintln! (out, "xsys = ", xsys) // val xsys_sorted = list_vt2t (list_mergesort (xsys)) val () = fprintln! (out, "xsys_sorted = ", xsys_sorted) val xsys_sorted = list_vt2t (list_quicksort (xsys)) val () = fprintln! (out, "xsys_sorted = ", xsys_sorted) // } (* end of [val] *) (* ****** ****** *) val () = { // val xs = list_nil{int}() // val-true = ( try // let val _ = list_head_exn (xs) in g0ofg1(false) end (* end of [let] *) // with ~ListSubscriptExn() => true ) // val-true = ( try // let val _ = list_tail_exn (xs) in g0ofg1(false) end (* end of [let] *) // with ~ListSubscriptExn() => true ) // } (* end of [val] *) (* ****** ****** *) val () = { // val xs = $list{int}(0, 1, 2, 3, 4) val rxs = list_vt2t (list_reverse (xs)) // implement list_find$pred (x) = x mod 2 = 1 // val () = assertloc (1 = list_find_exn (xs)) val () = assertloc (3 = list_find_exn (rxs)) // } (* end of [val] *) (* ****** ****** *) val () = { // val xs = $list{int}(0, 1, 2, 3, 4) val () = assertloc(xs = list_insert_at(list_remove_at(xs, 2), 2, 2)) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_list.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_fcntl.dats0000664000175000017500000000130212655455557020524 0ustar hwxihwxi(* ** for testing [libc/fcntl] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libc/SATS/fcntl.sats" staload "libc/SATS/unistd.sats" (* ****** ****** *) val () = { // val fd = open_flags ("/tmp/foo", O_RDONLY) val ifd = fildes_get_int (fd) val () = println! ("fildes_get_int (fd) = ", ifd) // val () = ( // if ifd >= 0 then let val (pfopt | err ) = close (fd) val () = assertloc (err = 0) prval close_v_succ () = pfopt in // nothing end else let prval () = fildes_neg_elim (fd) in // nothing end // end of [if] // ) : void // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_fcntl.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_float.dats0000664000175000017500000000232512655455557021260 0ustar hwxihwxi(* ** for testing [prelude/float] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define EPSILON 1E-8 (* ****** ****** *) val () = { val () = assertloc (succ(1.0) = 2.0) val () = assertloc (pred(2.0) = 1.0) val () = assertloc (1.0 + 2.0 = 3.0) val () = assertloc (2.0 - 1.0 = 1.0) val () = assertloc (3.0 * 3.0 = 9.0) val () = assertloc (abs (3. / 3.0 - 1.0) < EPSILON) val () = assertloc (abs (8. / (3 - 8.0 / 3) - 24.0) < EPSILON) val () = assertloc (abs (5. - 11. / 7.) * 7. - 24.0 < EPSILON) val () = assertloc (5.0 mod 3.0 = 2.0) val () = assertloc (10.0 mod 3.0 = 1.0) val () = assertloc (21.0 mod 3.0 = 0.0) } (* end of [val] *) (* ****** ****** *) val () = { val () = assertloc (1.0 < 2.0) val () = assertloc (1.0 <= 2.0) val () = assertloc (~1.0 > ~2.0) val () = assertloc (~1.0 >= ~2.0) val () = assertloc (1.0 = 1.0) val () = assertloc (0.0 != 1.0) val () = assertloc (1.0 <> 0.0) val () = assertloc (compare (1.0, 9.0) = ~1) val () = assertloc (compare (5.0, 5.0) = 0) val () = assertloc (compare (9.0, 1.0) = 1) } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_float.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_sys_stat.dats0000664000175000017500000000163412655455557021277 0ustar hwxihwxi(* ** for testing [libc/sys/stat] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload "libc/SATS/stdlib.sats" staload _ = "libc/DATS/stdlib.dats" (* ****** ****** *) staload UNISTD = "libc/SATS/unistd.sats" (* ****** ****** *) staload "libc/sys/SATS/stat.sats" staload _ = "libc/sys/DATS/stat.dats" (* ****** ****** *) // val user = getenv_gc ("USER") val user = ( if strptr2ptr(user) > 0 then strptr2string(user) else (free(user); "") ) : string // end of [val] // val tmp_user = strptr2string(string0_append ("/tmp/", user)) // (* ****** ****** *) val () = { // val err = mkdirp (tmp_user, S_IRWXU) val ((*void*)) = println! ("mkdir(", tmp_user, ") = ", err) val ((*void*)) = $UNISTD.rmdir_exn (tmp_user) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_sys_stat.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_lindeque_dllist.dats0000664000175000017500000000726112655455557023156 0ustar hwxihwxi(* ** for testing [libats/lindeque_dllist] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: May, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/dllist.sats" staload "libats/SATS/lindeque_dllist.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/gnode.dats" staload _(*anon*) = "libats/DATS/dllist.dats" staload _(*anon*) = "libats/DATS/lindeque_dllist.dats" (* ****** ****** *) val () = { // typedef T = int // var DQ = lindeque_nil {T} () // val () = lindeque_insert_atbeg (DQ, 0) val () = lindeque_insert_atbeg (DQ, 1) val () = lindeque_insert_atbeg (DQ, 2) val () = lindeque_insert_atbeg (DQ, 3) val () = lindeque_insert_atbeg (DQ, 4) // val () = assertloc (lindeque_length (DQ) = 5) // val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) // val () = assertloc (lindeque_is_nil (DQ)) // val () = lindeque_insert_atbeg (DQ, 0) val () = lindeque_insert_atbeg (DQ, 1) val () = lindeque_insert_atbeg (DQ, 2) val () = lindeque_insert_atbeg (DQ, 3) val () = lindeque_insert_atbeg (DQ, 4) // val () = assertloc (lindeque_length (DQ) = 5) // val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) // val () = assertloc (lindeque_is_nil (DQ)) // prval () = lindeque_free_nil (DQ) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // var DQ = lindeque_nil {T} () // val () = lindeque_insert_atend (DQ, 0) val () = lindeque_insert_atend (DQ, 1) val () = lindeque_insert_atend (DQ, 2) val () = lindeque_insert_atend (DQ, 3) val () = lindeque_insert_atend (DQ, 4) // val () = assertloc (lindeque_length (DQ) = 5) // val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) val () = println! ("DQ[beg] = ", lindeque_takeout_atbeg (DQ)) // val () = assertloc (lindeque_is_nil (DQ)) // val () = lindeque_insert_atend (DQ, 0) val () = lindeque_insert_atend (DQ, 1) val () = lindeque_insert_atend (DQ, 2) val () = lindeque_insert_atend (DQ, 3) val () = lindeque_insert_atend (DQ, 4) // val () = assertloc (lindeque_length (DQ) = 5) // val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) val () = println! ("DQ[end] = ", lindeque_takeout_atend (DQ)) // val () = assertloc (lindeque_is_nil (DQ)) // prval () = lindeque_free_nil (DQ) // } // end of [val] (* ****** ****** *) val () = { // typedef T = int // var DQ = lindeque_nil {T} () // val () = lindeque_insert_atend (DQ, 0) val () = lindeque_insert_atend (DQ, 1) val () = lindeque_insert_atend (DQ, 2) val () = lindeque_insert_atend (DQ, 3) val () = lindeque_insert_atend (DQ, 4) // val xs = lindeque2dllist (DQ) // val out = stdout_ref val () = fprint_dllist (out, xs) val () = fprint_newline (out) // val () = dllist_free (xs) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_lindeque_dllist.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_stream_vt.dats0000664000175000017500000000204512655455557022156 0ustar hwxihwxi(* ** for testing [prelude/stream_vt] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) fun from ( n: int ) : stream_vt (int) = let // implement stream_vt_tabulate$fopr (i) = n+i // in stream_vt_tabulate ((*void*)) end // end of [from] (* ****** ****** *) val () = { // val ns = from (0) // val nns = stream_vt_map_fun (ns, lam x => x * x) // val-~Some_vt(nns) = stream_vt_drop_opt (nns, 100) val-~stream_vt_cons (nn, nns) = !nns val () = ~nns val () = assertloc (nn = 100 * 100) // } (* end of [val] *) (* ****** ****** *) val () = { // val ns1 = from (1) val ns2 = from (2) val nns = stream_vt_map2_fun (ns1, ns2, lam (x1, x2) => x1 * x2) // val-~Some_vt(nns) = stream_vt_drop_opt (nns, 100) val-~stream_vt_cons (nn, nns) = !nns val () = ~nns val () = assertloc (nn = 101 * 102) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_stream_vt.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_funmap_avltree.dats0000664000175000017500000000517212655455557023004 0ustar hwxihwxi(* ** for testing [libats/funmap_avltree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/funmap_avltree.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/qlist.dats" staload _(*anon*) = "libats/DATS/funmap_avltree.dats" (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var res: itm? // var map = funmap_make_nil {key,itm} () // val ans = funmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 1) // val ans = funmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 2) // val ans = funmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced val () = assertloc (funmap_size (map) = 2) // val-~Some_vt("a1") = funmap_search_opt (map, 0) val-~Some_vt("b2") = funmap_search_opt (map, 1) // val ans = funmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (funmap_size (map) = 3) // val () = assertloc (~funmap_remove (map, ~1)) // val-~Some_vt("a1") = funmap_takeout_opt (map, 0) val () = assertloc (funmap_size (map) = 2) val-~Some_vt("b2") = funmap_takeout_opt (map, 1) val () = assertloc (funmap_size (map) = 1) val-~Some_vt("c1") = funmap_takeout_opt (map, 2) val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string typedef map = map (key, itm) // var map = funmap_make_nil {key,itm} () // val-~None_vt() = funmap_insert_opt (map, 0, "?") val-~Some_vt("?") = funmap_insert_opt (map, 0, "0") val-~None_vt() = funmap_insert_opt (map, 1, "1") val-~None_vt() = funmap_insert_opt (map, 2, "2") val-~None_vt() = funmap_insert_opt (map, 3, "3") val-~None_vt() = funmap_insert_opt (map, 4, "4") // val () = assertloc (funmap_size (map) = 5) // val () = list_vt_free (funmap_listize (map)) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("0") = funmap_takeout_opt (map, 0) val-~Some_vt("1") = funmap_takeout_opt (map, 1) val-~Some_vt("2") = funmap_takeout_opt (map, 2) val-~Some_vt("3") = funmap_takeout_opt (map, 3) val-~Some_vt("4") = funmap_takeout_opt (map, 4) // val () = assertloc (funmap_size (map) = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_funmap_avltree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ML_filebas.dats0000664000175000017500000000325312655455557021767 0ustar hwxihwxi(* ** for testing [libats/ML/filebas] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload _ = "libats/ML/DATS/list0.dats" (* ****** ****** *) staload "libats/ML/SATS/filebas.sats" (* ****** ****** *) val () = { // val-~Some_vt(filr) = fileref_open_opt ("./libats_ML_filebas.dats", file_mode_r) // fun loop ( out: FILEref, i: int ) : void = let val isnot = fileref_isnot_eof (filr) in if isnot then let val line = fileref_get_line_string (filr) val ((*void*)) = fprintln! (out, "line ", i, ":", line) in loop (out, i+1) end else fileref_close (filr) // end of [if] end // end of [loop] // val () = loop (stdout_ref, 1(*i*)) // } (* end of [val] *) (* ****** ****** *) val () = { // val-~Some_vt(filr) = fileref_open_opt ("./libats_ML_filebas.dats", file_mode_r) // fun loop ( out: FILEref, xs: list0 (string), i: int ) : void = ( case+ xs of | list0_nil () => () | list0_cons (x, xs) => ( fprintln! (out, "line(", i, ") = ", x); loop (out, xs, i+1) ) (* end of [cons0] *) ) // val lines = fileref_get_lines_stringlst (filr) // val () = loop (stdout_ref, lines, 1) // } (* end of [val] *) (* ****** ****** *) val () = { val out = stdout_ref val fnames = dirname_get_fnamelst (".") val () = fprintln! (out, "fnames(.) = ", fnames) val out = stdout_ref val fnames = dirname_get_fnamelst ("..") val () = fprintln! (out, "fnames(..) = ", fnames) } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ML_filebas.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_ATS1_funmset_listord.dats0000664000175000017500000000242712655455557024005 0ustar hwxihwxi(* ** for testing ** [libats/ATS1/funmset_listord] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: January, 2014 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ATS1/SATS/funmset_listord.sats" staload _(*anon*) = "libats/ATS1/DATS/funmset_listord.dats" (* ****** ****** *) val () = { // val cmp = $UN.cast{cmp(int)}(0) // implement compare_elt_elt (x, y, cmp) = compare (x, y) // var mxs0 = funmset_make_nil{int}() val-( 0 ) = sz2i(funmset_size(mxs0)) // val () = funmset_insert (mxs0, 1, cmp) val () = funmset_insert (mxs0, 1, cmp) val () = funmset_insert (mxs0, 2, cmp) // val-( 3 ) = sz2i(funmset_size(mxs0)) // val-( 0 ) = funmset_get_ntime (mxs0, 0, cmp) val-( 2 ) = funmset_get_ntime (mxs0, 1, cmp) val-( 1 ) = funmset_get_ntime (mxs0, 2, cmp) // val xs = funmset_listize (mxs0) val () = fprintln! (stdout_ref, "xs = ", xs) val ((*void*)) = list_vt_free (xs) // val xs = funmset_mlistize (mxs0) val () = fprintln! (stdout_ref, "xs = ", xs) val ((*void*)) = list_vt_free (xs) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_ATS1_funmset_listord.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/.keeper0000664000175000017500000000000012655455557017016 0ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_dynarray.dats0000664000175000017500000000445512655455557021630 0ustar hwxihwxi(* ** for testing [libats/dynarray] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: May, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/dynarray.sats" staload _(*anon*) = "libats/DATS/dynarray.dats" (* ****** ****** *) postfix sz; macdef sz(x) = g1int2uint_int_size (,(x)) (* ****** ****** *) val () = { // typedef T = int // (* implement dynarray$recapacitize<> () = 0 *) // val DA = dynarray_make_nil (g1i2u(1)) // val ans0 = dynarray_insert_at_opt (DA, 0sz, 0) val-~None_vt () = ans0 val () = println! ("DA[0] = ", DA[0sz]) val () = println! ("DA->sz = ", dynarray_get_size (DA)) val () = println! ("DA->cap = ", dynarray_get_capacity (DA)) // val ans1 = dynarray_insert_at_opt (DA, 1sz, 1) val-~None_vt () = ans1 val () = println! ("DA[1] = ", DA[1sz]) val () = println! ("DA->sz = ", dynarray_get_size (DA)) val () = println! ("DA->cap = ", dynarray_get_capacity (DA)) // val ans2 = dynarray_insert_at_opt (DA, 2sz, 2) val-~None_vt () = ans2 val () = println! ("DA[2] = ", DA[2sz]) val () = println! ("DA->sz = ", dynarray_get_size (DA)) val () = println! ("DA->cap = ", dynarray_get_capacity (DA)) // val ans3 = dynarray_insert_at_opt (DA, 3sz, 3) val-~None_vt () = ans3 val () = println! ("DA[3] = ", DA[3sz]) val () = println! ("DA->sz = ", dynarray_get_size (DA)) val () = println! ("DA->cap = ", dynarray_get_capacity (DA)) // val () = dynarray_insert_at_exn (DA, 4sz, 4) val () = println! ("DA[4] = ", DA[4sz]) val () = println! ("DA->sz = ", dynarray_get_size (DA)) val () = println! ("DA->cap = ", dynarray_get_capacity (DA)) // val out = stdout_ref val () = fprint_dynarray (out, DA) val () = fprint_newline (out) // val x = dynarray_takeout_at_exn (DA, 0sz) val () = println! ("takeout(0) = ", x) val x = dynarray_takeout_atbeg_exn (DA) val () = println! ("takeout(beg) = ", x) val-~Some_vt(x) = dynarray_takeout_atend_opt (DA) val () = println! ("takeout(end) = ", x) // val _ = dynarray_removeseq_at (DA, 0sz, 2sz) val () = println! ("DA->sz = ", dynarray_get_size (DA)) // val ((*freed*)) = dynarray_free (DA) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_dynarray.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linset_avltree.dats0000664000175000017500000000334012655455557023007 0ustar hwxihwxi(* ** for testing [libats/linset_avltree] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/SATS/linset_avltree.sats" staload _(*anon*) = "libats/DATS/linset_avltree.dats" (* ****** ****** *) val () = { // val out = stdout_ref // val ints = $list_vt{int}(1, 1, 1, 2, 3) // val xs = linset_make_list ($UN.list_vt2t(ints)) // val () = list_vt_free (ints) // val () = fprintln! (out, "xs = ", xs) val () = assertloc (linset_size(xs) = 3) // val () = assertloc (linset_is_member (xs, 1)) val () = assertloc (linset_is_member (xs, 2)) val () = assertloc (linset_is_member (xs, 3)) val () = assertloc (linset_isnot_member (xs, 0)) val () = assertloc (linset_isnot_member (xs, 4)) // var xs = xs val () = assertloc (~linset_insert (xs, 0)) val () = assertloc ( linset_insert (xs, 1)) val () = assertloc ( linset_remove (xs, 1)) val () = assertloc (~linset_remove (xs, 4)) val () = assertloc (~linset_insert (xs, 4)) // val () = fprintln! (out, "xs = ", xs) // val () = linset_free (xs) // } // end of [val] (* ****** ****** *) val () = { // vtypedef set = set(int) // var xs: set = linset_nil{int}() // val-false = linset_insert (xs, 0) val-false = linset_insert (xs, 1) val-false = linset_insert (xs, 2) val-false = linset_insert (xs, 3) val-false = linset_insert (xs, 4) // val-~Some_vt(0) = linset_takeoutmin_opt (xs) val-~Some_vt(4) = linset_takeoutmax_opt (xs) // val () = linset_free (xs) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linset_avltree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_stdlib.dats0000664000175000017500000000421612655455557020706 0ustar hwxihwxi(* ** for testing [libc/stdlib] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // staload UN = $UNSAFE // aliasing // (* ****** ****** *) staload UNI = "libc/SATS/unistd.sats" (* ****** ****** *) staload "libc/SATS/stdlib.sats" staload _ = "libc/DATS/stdlib.dats" (* ****** ****** *) val () = { val u = getenv_gc ("USER") val () = println! ("$USER = ", u) val () = strptr_free (u) } // end of [val] (* ****** ****** *) val () = { val seed = 31415926U val () = srand (seed) val r1 = rand () val r2 = rand () val () = srand (seed) val () = assertloc (r1 = rand ()) val () = assertloc (r2 = rand ()) var seed_r: uint = seed val r1 = rand_r (seed_r) val r2 = rand_r (seed_r) var seed_r: uint = seed val () = assertloc (r1 = rand_r (seed_r)) val () = assertloc (r2 = rand_r (seed_r)) } // end of [val] (* ****** ****** *) val () = { val seed = 31415926U val () = srandom (seed) val l1 = random () val l2 = random () val () = srandom (seed) val () = assertloc (l1 = random ()) val () = assertloc (l2 = random ()) } // end of [val] (* ****** ****** *) val () = { // val () = srand48 (27182828L) val d1 = drand48 () val d2 = drand48 () val () = srand48 (27182828L) val () = assertloc (d1 = drand48 ()) val () = assertloc (d2 = drand48 ()) // val () = srand48 (27182828L) val l1 = lrand48 () val l2 = lrand48 () val () = srand48 (27182828L) val () = assertloc (l1 = lrand48 ()) val () = assertloc (l2 = lrand48 ()) // val () = srand48 (27182828L) val m1 = mrand48 () val m2 = mrand48 () val () = srand48 (27182828L) val () = assertloc (m1 = mrand48 ()) val () = assertloc (m2 = mrand48 ()) // } // end of [val] (* ****** ****** *) val () = { // val str = "scratch-XXXXXX" val str2 = string1_copy (str) val fdes = mkstemp (str2) val () = assertloc (fdes >= 0) val () = assertloc ($UNI.close (fdes) = 0) val () = assertloc ($UNI.unlink ($UN.strnptr2string(str2)) = 0) val () = strnptr_free (str2) // } // end of [val] (* ****** ****** *) val () = { val () = assertloc (system ("ls -l > /dev/null") = 0) } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_stdlib.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_arrayref.dats0000664000175000017500000000412212655455557021763 0ustar hwxihwxi(* ** for testing [prelude/arrayref] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) val () = { // typedef T = int // val A = (arrayref)$arrpsz{T}(0, 1, 2, 3, 4) val i = 2 val () = assertloc (A[i] = i) val () = A[i] := ~i val () = assertloc (A[i] = ~i) val () = arrayref_interchange (A, (i2sz)0, (i2sz)4) val () = assertloc (A[0] = 4 && A[4] = 0) // } // end of [val] (* ****** ****** *) val () = { // typedef T = double // val asz = i2sz(5) val A = (arrayref)$arrpsz{T}(0.0, 1.0, 2.0, 3.0, 4.0) // implement(tenv) array_iforeach$fwork (i, x, env) = let val () = if i > 0 then print ", " in print (x) end val () = assertloc (asz = arrayref_iforeach (A, asz)) val () = println! () // typedef tenv = int implement array_rforeach$fwork (x, i) = let val () = if i > 0 then print ", " in i := i+1; print (x) end var i: int = 0 val () = assertloc (asz = arrayref_rforeach_env (A, asz, i)) val () = println! () // } (* end of [val] *) (* ****** ****** *) val () = { // typedef T = char // val out = stdout_ref // val A = (arrszref)$arrpsz{T}('A', 'B', 'C', 'D', 'E') // local implement fprint_array$sep<> (out) = fprint (out, " | ") in (* in of [local] *) val () = fprintln! (out, A) end // end of [local] // val () = assertloc (A[0] = 'A') val () = assertloc (A[1] = 'B') val () = assertloc (A[2] = 'C') val () = assertloc (A[3] = 'D') val () = assertloc (A[4] = 'E') // local implement array_tabulate$fopr (i) = '0'+g0u2i(i) in (* in of [local] *) val digits = arrszref_tabulate ((i2sz)10) end // end of [local] val () = fprintln! (out, "digits = ", digits) // local implement array_tabulate$fopr (i) = let val i = g0u2i(i) in if i < 10 then '0'+i else 'a' + (i-10) end // end of [array_tabulate$fwork] in (* in of [local] *) val xdigits = arrszref_tabulate ((i2sz)16) end // end of [local] // val () = fprintln! (out, "xdigits = ", xdigits) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_arrayref.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_matrix.dats0000664000175000017500000000552012655455557021457 0ustar hwxihwxi(* ** for testing [prelude/matrix] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) postfix 0 sz SZ macdef sz (x) = i2sz ,(x) macdef SZ (x) = i2sz ,(x) (* ****** ****** *) val () = { // val m = 2 and n = 2 // implement matrix_tabulate$fopr (i, j) = 0 val (pfmat, pfgc | p) = matrix_ptr_tabulate ((m)sz, (n)sz) // val () = matrix_set_at_int (!p, 0, n, 0, 00) val () = matrix_set_at_int (!p, 0, n, 1, 01) val () = matrix_set_at_int (!p, 1, n, 0, 10) val () = matrix_set_at_int (!p, 1, n, 1, 11) // val out = stdout_ref val () = fprint (out, "!p = ") val () = fprint_matrix (out, !p, (m)sz, (n)sz) val () = fprint_newline (out) // val ((*void*)) = matrix_ptr_free (pfmat, pfgc | p) // } (* end of [val] *) (* ****** ****** *) fun acker ( i: size_t, j: size_t ) : size_t = ( if i = 0 then succ(j) else if j = 0 then acker (pred(i), 1sz) else acker (pred(i), acker (i, pred(j))) ) (* ****** ****** *) val () = { // val m = 4sz and n = 4sz // implement matrix_tabulate$fopr (i, j) = g0uint2int_size_int (acker (i, j)) // val (pfmat, pfgc | p) = matrix_ptr_tabulate (m, n) // val ( ) = fprint! (stdout_ref, "acker(", m, ",", n, ") =\n") // local // implement fprint_val (out, int) = ( ignoret ($extfcall (int, "fprintf", out, "%2.2i", int)) ) // end of [fprint_val] // in (* in of [local] *) // val ( ) = fprint_matrix (stdout_ref, !p, m, n) // end // end of [local] // val () = fprint_newline (stdout_ref) // val () = matrix_ptr_free (pfmat, pfgc | p) // } (* end of [val] *) (* ****** ****** *) val () = { // val m = 4sz and n = 4sz // local implement matrix_tabulate$fopr (i, j) = g0uint2int_size_int (i+j+i2sz(1)) in val (pfmat1, pfgc1 | p1) = matrix_ptr_tabulate (m, n) end // end of [local] // local implement matrix_tabulate$fopr (i, j) = g0uint2int_size_int (succ(i)*succ(j)) in val (pfmat2, pfgc2 | p2) = matrix_ptr_tabulate (m, n) end // end of [local] // val (pfmat3, pfgc3 | p3) = matrix_ptr_alloc (m, n) // local implement matrix_map2to$fwork (x, y, z) = z := x + y in val () = matrix_map2to (!p1, !p2, !p3, m, n) end // end of [local] // val () = fprintln! (stdout_ref, "M1 = ") val () = fprint_matrix (stdout_ref, !p1, m, n) val () = fprint_newline (stdout_ref) val () = fprintln! (stdout_ref, "M2 = ") val () = fprint_matrix (stdout_ref, !p2, m, n) val () = fprint_newline (stdout_ref) val () = fprintln! (stdout_ref, "M3 = ") val () = fprint_matrix (stdout_ref, !p3, m, n) val () = fprint_newline (stdout_ref) // val () = matrix_ptr_free (pfmat1, pfgc1 | p1) val () = matrix_ptr_free (pfmat2, pfgc2 | p2) val () = matrix_ptr_free (pfmat3, pfgc3 | p3) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_matrix.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_dlfcn.dats0000664000175000017500000000144212655455557020511 0ustar hwxihwxi(* ** for testing [libc/dlfcn] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libc/SATS/dlfcn.sats" (* ****** ****** *) val () = { // val flag = RTLD_LAZY val (pfopt | p0) = dlopen (stropt_some("libm.so"), flag) val () = assertloc (p0 > 0) prval Some_v(pf) = pfopt // val ( fpf | str ) = dlerror () // prval () = fpf (str) // val PI = 3.1415926535898 val fp = dlsym(pf | p0, "cos") val ((*void*)) = assertloc (fp > 0) val cosine = $UN.cast{double->double}(fp) // val ((*void*)) = fprintln! (stdout_ref, "cosine(PI) = ", cosine(PI)) // val err = dlclose (pf | p0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_dlfcn.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libats_linmap_randbst.dats0000664000175000017500000000536212655455557022772 0ustar hwxihwxi(* ** for testing [libats/linmap_randbst] *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxi AT cs DOT bu DOT edu // Start time: June, 2013 // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/SATS/linmap_randbst.sats" (* ****** ****** *) staload _(*anon*) = "libats/DATS/qlist.dats" staload _(*anon*) = "libats/DATS/linmap_randbst.dats" (* ****** ****** *) val ( ) = linmap_randbst_initize<> () (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var res: itm? // var map = linmap_make_nil {key,itm} () // val ans = linmap_insert (map, 0, "a1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 1) val ans = linmap_insert (map, 1, "b1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 2) val ans = linmap_insert (map, 1, "b2", res) prval () = opt_clear (res) val () = assertloc (ans=true) // replaced // val () = assertloc (linmap_size (map) = 2) // val-~Some_vt("a1") = linmap_search_opt (map, 0) val-~Some_vt("b2") = linmap_search_opt (map, 1) // val ans = linmap_insert (map, 2, "c1", res) prval () = opt_clear (res) val () = assertloc (not(ans)) // inserted val () = assertloc (linmap_size (map) = 3) // val () = assertloc (~linmap_remove (map, ~1)) // val-~Some_vt("a1") = linmap_takeout_opt (map, 0) val () = assertloc (linmap_size (map) = 2) val-~Some_vt("b2") = linmap_takeout_opt (map, 1) val () = assertloc (linmap_size (map) = 1) val-~Some_vt("c1") = linmap_takeout_opt (map, 2) val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) val () = { // typedef key = int typedef itm = string vtypedef map = map (key, itm) // var map = linmap_make_nil {key,itm} () // val-~None_vt() = linmap_insert_opt (map, 0, "?") val-~Some_vt("?") = linmap_insert_opt (map, 0, "0") val-~None_vt() = linmap_insert_opt (map, 1, "1") val-~None_vt() = linmap_insert_opt (map, 2, "2") val-~None_vt() = linmap_insert_opt (map, 3, "3") val-~None_vt() = linmap_insert_opt (map, 4, "4") // val () = assertloc (linmap_size (map) = 5) // val () = list_vt_free (linmap_listize1 (map)) // val () = fprintln! (stdout_ref, "map = ", map) // val-~Some_vt("0") = linmap_takeout_opt (map, 0) val-~Some_vt("1") = linmap_takeout_opt (map, 1) val-~Some_vt("2") = linmap_takeout_opt (map, 2) val-~Some_vt("3") = linmap_takeout_opt (map, 3) val-~Some_vt("4") = linmap_takeout_opt (map, 4) // val () = assertloc (linmap_size (map) = 0) // val () = linmap_free (map) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libats_linmap_randbst.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/prelude_option.dats0000664000175000017500000000073512655455557021466 0ustar hwxihwxi(* ** for testing [prelude/option] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val () = { // val out = stdout_ref // val opt = None{int}() val+None _ = opt val () = fprintln! (out, "opt = ", opt) // val opt = Some{int}(0) val () = fprintln! (out, "opt = ", opt) val+Some x = opt val () = assertloc (x = 0) // } (* end of [val] *) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [prelude_option.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/ATSLIB/libc_fnmatch.dats0000664000175000017500000000073412655455557021046 0ustar hwxihwxi(* ** for testing [libc/fnmatch] *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libc/SATS/fnmatch.sats" (* ****** ****** *) val () = { // val () = assertloc (fnmatch ("libc_*.?ats", "libc_fnmatch.dats", 0) = FNM_MATCH) val () = assertloc (fnmatch ("libc_*.sats", "libc_fnmatch.dats", 0) = FNM_NOMATCH) // } // end of [val] (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [libc_fnmatch.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/PCPV/0000775000175000017500000000000012655455557015346 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/PCPV/bsearch_arr.dats0000664000175000017500000000774612655455557020514 0ustar hwxihwxi(* ** A verified implementation of binary search ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: January 1, 2011 *) (* ****** ****** *) (* ** HX-2013-03-22: ported to ATS/Postiats *) (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" stadef nil = ilist_nil and cons = ilist_cons (* ****** ****** *) staload "libats/SATS/gfarray.sats" (* ****** ****** *) typedef compare (a:viewt@ype) = {x1,x2:int} (&stamped_vt (a, x1), &stamped_vt (a, x2)) -> int (x1-x2) // end of [compare] (* ****** ****** *) (* // absprop LTB (x:int, xs:ilist) absprop GTEB (xs:ilist, x:int) // propdef BSEARCH (xs:ilist, x0:int, i:int) = [xsf,xsb:ilist] ( LENGTH (xsf, i), APPEND (xsf, xsb, xs), GTEB (xsf, x0), LTB (x0, xsb) ) // end of [BSEARCH] // *) absprop BSEARCH (xs:ilist, x0:int, i:int) (* ****** ****** *) extern prfun lemma_bsearch_param {xs:ilist} {x0:int} {i:int} (pf: BSEARCH (xs, x0, i)): [i>=0] void // end of [lemma_bsearch_param] (* ****** ****** *) extern prfun bsearch_nil {x0:int} (): BSEARCH (nil, x0, 0) extern prfun lemma_bsearch_left {x0:int} {xs:ilist} {xs1:ilist} {x:int | x0 < x} {xs2:ilist} {i:int} ( pf0: ISORD (xs), pf1: APPEND (xs1, cons (x, xs2), xs), pf2: BSEARCH (xs1, x0, i) ) : BSEARCH (xs, x0, i) // end of [lemma_bsearch_left] extern prfun lemma_bsearch_right {x0:int} {xs:ilist} {xs1:ilist} {x:int | x0 >= x} {xs2:ilist} {n1:int} {i:int} ( pf0: ISORD (xs), pf1: APPEND (xs1, cons (x, xs2), xs), pf2: LENGTH (xs1, n1), pf3: BSEARCH (xs2, x0, i) ) : BSEARCH (xs, x0, n1+1+i) // end of [lemma_bsearch_right] (* ****** ****** *) // extern prfun lemma1_isord_append {xs:ilist} {xs1,xs2:ilist} (pford: ISORD xs, pfapp: APPEND (xs1, xs2, xs)): ISORD (xs1) extern prfun lemma2_isord_append {xs:ilist} {xs1,xs2:ilist} (pford: ISORD xs, pfapp: APPEND (xs1, xs2, xs)): ISORD (xs2) // (* ****** ****** *) extern fun{a:t@ype} bsearch {l:addr}{xs:ilist}{x0:int}{n:nat} ( pford: ISORD (xs) , pflen: LENGTH (xs, n) , pfarr: !gfarray_v (a, l, xs) | p: ptr l, x0: &stamped_vt (a, x0), n: size_t n, cmp: compare (a) ) : [i:int] ( BSEARCH (xs, x0, i) | ptr (l+i*sizeof(a)) ) (* ****** ****** *) extern fun halfsize{n:nat} (n: size_t n):<> [n2:nat | 2*n2 <= n] size_t (n2) // end of [halfsize] (* ****** ****** *) implement{a} bsearch{l}{xs}{x0}{n} ( pford, pflen, pfarr | p, x0, n, cmp ) = let in // if n > 0 then let val [n2:int] n2 = halfsize (n) prval ( pflen_xs1, pflen_xs2 , pfapp_xs1_xs2 , pfarr_xs1, pfarr_xs2 ) = gfarray_v_split {a}{..}{..}{..}{n2} (pflen, pfarr) // prval LENGTHcons {x} {xs21} (pflen_xs21) = pflen_xs2 // prval gfarray_v_cons (pfat_x, pfarr_xs21) = pfarr_xs2 val (pfat_x | p1) = viewptr_match (pfat_x | ptr_add (p, n2)) val sgn = cmp (x0, !p1) // val res = ( if sgn < 0 then let prval pford_xs1 = lemma1_isord_append (pford, pfapp_xs1_xs2) val (pfsrch_xs1 | p_res) = bsearch (pford_xs1, pflen_xs1, pfarr_xs1 | p, x0, n2, cmp) prval pfsrch_xs = lemma_bsearch_left (pford, pfapp_xs1_xs2, pfsrch_xs1) in (pfsrch_xs | p_res) end else let prval pford_xs2 = lemma2_isord_append (pford, pfapp_xs1_xs2) prval ISORDcons (pford_xs21, _) = pford_xs2 val p21 = ptr_succ (p1) val (pfsrch_xs21 | p21_res) = bsearch (pford_xs21, pflen_xs21, pfarr_xs21 | p21, x0, pred(n)-n2, cmp) prval pfsrch_xs = lemma_bsearch_right (pford, pfapp_xs1_xs2, pflen_xs1, pfsrch_xs21) in (pfsrch_xs | p21_res) end // end of [if] ) : [i:int] (BSEARCH (xs, x0, i) | ptr (l+i*sizeof(a))) // prval pfarr_xs2 = gfarray_v_cons {a} (pfat_x, pfarr_xs21) prval (pfapp_alt, pfarr_alt) = gfarray_v_unsplit {a} (pflen_xs1, pfarr_xs1, pfarr_xs2) prval ILISTEQ () = append_isfun (pfapp_xs1_xs2, pfapp_alt) prval () = pfarr := pfarr_alt // in res end else let prval LENGTHnil () = pflen prval pfsrch = bsearch_nil {x0} () in (pfsrch | p) end // end of [if] // end // end of [bsearch] (* ****** ****** *) (* end of [bsearch_arr.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/PCPV/Makefile0000664000175000017500000000116512655455557017011 0ustar hwxihwxi# # # This Makefile is automatically generated # from executing the following command-line: # # make -f Makefile.gen # # ###### PATSHOMEQ="$(PATSHOME)" PATSOPT=$(PATSHOMEQ)/bin/patsopt ###### all:: ###### all:: bsearch_arr bsearch_arr: bsearch_arr.dats ; $(PATSOPT) --typecheck --dynamic bsearch_arr.dats ###### all:: quicksort_lst quicksort_lst: quicksort_lst.dats ; $(PATSOPT) --typecheck --dynamic quicksort_lst.dats ###### LNS=ln -s RMF=rm -f ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o *_?ats.c clean:: ; $(RMF) *_atxt.txt clean:: ; $(RMF) *_atxt.dats cleanall:: clean ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./doc/EXAMPLE/PCPV/.keeper0000664000175000017500000000000012655455557016610 0ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/PCPV/quicksort_lst.dats0000664000175000017500000001365012655455557021136 0ustar hwxihwxi(* ** A verified implementation of quicksort on lists ** Author: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ** Time: December 26, 2010 *) (* ****** ****** *) (* ** HX-2013-03-22: ported to ATS/Postiats *) (* ****** ****** *) typedef cmp (a:t@ype) = cmpval_fun (a) (* ****** ****** *) (* // // HX: A standard implementation of list-quicksort // extern fun{a:t@ype} quicksort_lst{n:nat} (xs: list (a, n), cmp: cmp a) :<> list (a, n) // // extern fun{a:t@ype} list_append{m,n:nat} (xs1: list (a, m), xs2: list (a, n)):<> list (a, m+n) // fun{a:t@ype} sort{n:nat} .. ( xs: list (a, n), cmp: cmp(a) ) :<> list (a, n) = let in // case+ xs of | list_cons (x, xs) => part (x, xs, cmp, list_nil (), list_nil ()) | list_nil () => list_nil () // end // end of [sort] and part{p:nat}{q,r:nat} .. ( x0: a, xs: list (a, p), cmp: cmp(a), ys: list (a, q), zs: list (a, r) ) :<> list (a, p+q+r+1) = let in // case+ xs of | list_cons (x, xs) => ( if cmp (x, x0) <= 0 then part (x0, xs, cmp, list_cons (x, ys), zs) else part (x0, xs, cmp, ys, list_cons (x, zs)) // end of [if] ) | list_nil () => let val ys = sort (ys, cmp) and zs = sort (zs, cmp) in list_append (ys, list_cons (x0, zs)) end // end of [list_nil] // end // end of [part] *) (* ****** ****** *) staload "libats/SATS/ilist_prf.sats" stadef nil = ilist_nil and cons = ilist_cons (* ****** ****** *) staload "libats/SATS/gflist.sats" (* ****** ****** *) macdef nil () = gflist_nil () macdef cons (x, xs) = gflist_cons (,(x), ,(xs)) macdef append = gflist_append (* ****** ****** *) typedef compare (a:t@ype) = {x1,x2:int} (stamped_t (a, x1), stamped_t (a, x2)) -> int (x1-x2) typedef cmp (a:t@ype) = compare (a) (* ****** ****** *) absprop SORT (xs: ilist, ys: ilist) // [ys] is sorted version of [xs] (* ****** ****** *) extern fun{a:t@ype} quicksort_lst{xs:ilist} ( xs: gflist (a, xs), cmp: cmp a ) : [ys:ilist] ( SORT (xs, ys) | gflist (a, ys) ) // end of [quicksort_lst] (* ****** ****** *) absprop LB (x:int, xs:ilist) absprop UB (x:int, xs:ilist) absprop UNION4 (x:int, xs:ilist, ys:ilist, zs:ilist, res:ilist) (* ****** ****** *) stadef ORD = ISORD stadef PERM = PERMUTE (* ****** ****** *) extern prfun SORT2ORD {xs,ys:ilist} (pf: SORT(xs, ys)): ORD (ys) extern prfun SORT2PERM {xs,ys:ilist} (pf: SORT(xs, ys)): PERM (xs, ys) extern prfun ORDPERM2SORT {xs,ys:ilist} (pf1: ORD (ys), pf2: PERM (xs, ys)): SORT (xs, ys) // end of [ORDPERM2SORT] (* ****** ****** *) extern prfun SORT_nil (): SORT (nil, nil) extern prfun SORT_sing {x:int} (): SORT(cons(x, nil), cons(x, nil)) (* ****** ****** *) extern prfun LB_nil {x:int} (): LB (x, nil) extern prfun UB_nil {x:int} (): UB (x, nil) (* ****** ****** *) // extern prfun LB_cons{x0:int} {x:int | x0 <= x} {xs:ilist}(pf: LB (x0, xs)): LB (x0, cons (x, xs)) extern prfun UB_cons{x0:int} {x:int | x0 >= x} {xs:ilist}(pf: UB (x0, xs)): UB (x0, cons (x, xs)) // extern prfun LB_perm{x:int}{xs1,xs2:ilist} (pf1: PERM (xs1, xs2), pf2: LB (x, xs1)): LB (x, xs2) extern prfun UB_perm{x:int}{xs1,xs2:ilist} (pf1: PERM (xs1, xs2), pf2: UB (x, xs1)): UB (x, xs2) // (* ****** ****** *) // extern prfun UNION4_perm{x:int}{xs:ilist}{res:ilist} (pf: UNION4 (x, xs, nil, nil, res)): PERM (cons (x, xs), res) // extern prfun UNION4_mov1 {x0:int}{x:int}{xs:ilist}{ys,zs:ilist}{res:ilist} (pf: UNION4 (x0, xs, cons (x, ys), zs, res)): UNION4 (x0, cons (x, xs), ys, zs, res) extern prfun UNION4_mov2 {x0:int}{x:int}{xs:ilist}{ys,zs:ilist}{res:ilist} (pf: UNION4 (x0, xs, ys, cons (x, zs), res)): UNION4 (x0, cons (x, xs), ys, zs, res) // (* ****** ****** *) // extern prfun APPEND_ord {x:int} {ys,zs:ilist} {res:ilist} ( pf1: UB (x, ys), pf2: LB (x, zs) , pf3: ORD (ys), pf4: ORD (zs) , pf5: APPEND (ys, cons (x, zs), res) ) : ORD (res) // extern prfun APPEND_union4 {x:int} {ys,ys1:ilist} {zs,zs1:ilist} {res:ilist} ( pf1: PERM (ys, ys1), pf2: PERM (zs, zs1), pf3: APPEND (ys1, cons (x, zs1), res) ) : UNION4 (x, nil, ys, zs, res) // (* ****** ****** *) fun {a:t0p} sort {xs:ilist} ( xs: gflist (a, xs), cmp: cmp a ) : [ys:ilist] (SORT (xs, ys) | gflist (a, ys)) = case+ xs of | gflist_cons (x, xs) => let val (pford, pfuni | res) = part (UB_nil (), LB_nil () | x, xs, cmp, nil (), nil ()) prval pfperm = UNION4_perm (pfuni) in (ORDPERM2SORT (pford, pfperm) | res) end // end of [gflist_cons] | gflist_nil () => (SORT_nil () | nil ()) // end of [sort] and part {x0:int} {xs:ilist} {ys,zs:ilist} ( pf1: UB (x0, ys), pf2: LB (x0, zs) | x0: stamped_t (a, x0), xs: gflist (a, xs) , cmp: cmp(a), ys: gflist (a, ys), zs: gflist (a, zs) ) : [res:ilist] ( ORD (res), UNION4 (x0, xs, ys, zs, res) | gflist (a, res) ) = case+ xs of | gflist_cons (x, xs) => if cmp (x, x0) <= 0 then let prval pf1 = UB_cons (pf1) val (pford, pfuni | res) = part (pf1, pf2 | x0, xs, cmp, cons (x, ys), zs) prval pfuni = UNION4_mov1 (pfuni) in (pford, pfuni | res) end else let prval pf2 = LB_cons (pf2) val (pford, pfuni | res) = part (pf1, pf2 | x0, xs, cmp, ys, cons (x, zs)) prval pfuni = UNION4_mov2 (pfuni) in (pford, pfuni | res) end // end of [if] // end of [gflist_cons] | gflist_nil () => let val (pfsrt1 | ys) = sort (ys, cmp) val (pfsrt2 | zs) = sort (zs, cmp) val (pfapp | res) = append (ys, cons (x0, zs)) prval pford1 = SORT2ORD (pfsrt1) prval pford2 = SORT2ORD (pfsrt2) prval pfperm1 = SORT2PERM (pfsrt1) prval pfperm2 = SORT2PERM (pfsrt2) prval pf1 = UB_perm (pfperm1, pf1) prval pf2 = LB_perm (pfperm2, pf2) prval pford = APPEND_ord (pf1, pf2, pford1, pford2, pfapp) prval pfuni = APPEND_union4 (pfperm1, pfperm2, pfapp) in (pford, pfuni | res) end // end of [gflist_nil] // end of [part] (* ****** ****** *) implement{a} quicksort_lst = sort (* ****** ****** *) (* end of [quicksort_lst.dat] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/0000775000175000017500000000000012655455557015471 5ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/gfact.dats0000664000175000017500000000171112655455557017432 0ustar hwxihwxi// // A gnumber-based implementation // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Time: the 30th of March, 2013 // (* ****** ****** *) staload INT = "prelude/DATS/integer.dats" staload FLOAT = "prelude/DATS/float.dats" (* ****** ****** *) staload _ = "prelude/DATS/gorder.dats" staload _ = "prelude/DATS/gnumber.dats" (* ****** ****** *) extern fun{a:t@ype} gfact (x: int): a (* ****** ****** *) // (* fun fact (x: int): int = if x > 0 then x * fact (x-1) else 1 *) // implement {a}(*tmp*) gfact (x) = let // macdef gint = gnumber_int // overload > with ggt_val_int // overload * with gmul_int_val // in // if x > 0 then x * gfact (x - 1) else gint(1) // end // end of [gfact] // (* ****** ****** *) implement main0 () = { // val out = stdout_ref val () = fprintln! (out, "fact(12) = ", gfact (12)) val () = fprintln! (out, "fact(12) = ", gfact (12)) // } // end of [main0] (* ****** ****** *) (* end of [gfact.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/staref.dats0000664000175000017500000000155112655455557017634 0ustar hwxihwxi// // Statically allocated reference // // Author: Hongwei Xi (June, 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) local var __count: int = 0 // it is statically allocated val theCount = ref_make_viewptr{int}(view@(__count) | addr@(__count)) // end of [val] in (* in of [local] *) fun theCount_get (): int = !theCount fun theCount_inc (): void = !theCount := !theCount + 1 fun theCount_getinc (): int = let val n = !theCount; val () = !theCount := n + 1 in (n) end // end of [theCount_getind] fun theCount_reset (): void = !theCount := 0 end // end of [local] (* ****** ****** *) implement main0 () = { // val () = assertloc (theCount_getinc () = 0) val () = assertloc (theCount_getinc () = 1) val () = assertloc (theCount_getinc () = 2) // } // end of [main0] (* ****** ****** *) (* end of [staref.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/tally.dats0000664000175000017500000000357012655455557017500 0ustar hwxihwxi// // Illustrating tail-recursion // // Author: Hongwei Xi (December 31, 2012) // (* ****** ****** *) staload "prelude/lmacrodef.sats" staload INT = "prelude/DATS/integer.dats" staload INTRANGE = "prelude/DATS/intrange.dats" (* ****** ****** *) fun tally (n: int): int = let // fun loop (n: int, res: int): int = if n > 0 then loop (n-1, res + n) else res // in loop (n, 0) end // end of [tally] (* ****** ****** *) fun tally2 (n: int): ullint = let // var n: int = n var i: int // uninitialized var res: ullint = 0ull val () = for (i := 1 ; i <= n ; i :=+ 1) res :=+ g0i2u(i) // in res end // end of [tally2] (* ****** ****** *) fun tally3 (n: int): ullint = let // var n: int = n var i: int = 1 var res: ullint = 0ull // val () = while (true) ( if i > n then $break; res :=+ g0i2u(i); i :=+ 1 ) // end of [val] // in res end // end of [tally3] (* ****** ****** *) // // HX: this one makes use of closure // fun tally4 (n: int): ullint = let // fun loop ( i: int, res: ullint ) : ullint = if i <= n then loop (i+1, res + g0i2u(i)) else res // in loop (0, 0ull) end // end of [tally4] (* ****** ****** *) fun tally5 (n: int): int = let // var res = 0: int prval pf_res = view@ (res) // implement{env} intrange_foreach$fwork (i, env) = let prval (pf_res, fpf) = decode($vcopyenv_v(pf_res)) val () = res := res + i prval () = fpf (pf_res) in // nothing end val _ = intrange_foreach (1, n+1) // prval () = view@(res) := pf_res // in res end // end of [tally5] (* ****** ****** *) implement main () = let #define N 1000 val () = assertloc (tally (N) = N * (N+1) / 2) val () = assertloc (tally2 (N) = N * (N+1) / 2) val () = assertloc (tally3 (N) = N * (N+1) / 2) val () = assertloc (tally4 (N) = N * (N+1) / 2) val () = assertloc (tally5 (N) = N * (N+1) / 2) in 0(*normalexit*) end // end of [main] (* ****** ****** *) (* end of [tally.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fcopy.dats0000664000175000017500000000202212655455557017462 0ustar hwxihwxi// // A naive implementation of file copying // (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // // Start time: January 2013 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) fun fcopy ( inp: FILEref, out: FILEref ) : void = let val c = fileref_getc (inp) in if c >= 0 then let val () = fileref_putc (out, c) in fcopy (inp, out) end // end of [if] end (* end of [fcopy] *) (* ****** ****** *) implement main ( argc, argv ) = 0 where { val inp = ( if argc >= 2 then fileref_open_exn (argv[1], file_mode_r) else stdin_ref ) : FILEref // end of [inp] val out = ( if argc >= 3 then fileref_open_exn (argv[2], file_mode_w) else stdout_ref ) : FILEref // end of [val] val () = fcopy (inp, out) val () = if argc >= 2 then fileref_close (inp) val () = if argc >= 3 then fileref_close (out) } // end of [main] (* ****** ****** *) (* end of [fcopy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fact1.dats0000664000175000017500000000213612655455557017346 0ustar hwxihwxi// // A naive implementation of the factorial function // Author: Hongwei Xi (August 2007) // (* ****** ****** *) // // How to test: // ./fact1 // How to compile: // atscc -o fact1 fact1.dats // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) // // HX: [fun] declares a recursive function // fun fact (x: int): int = if x > 0 then x * fact (x-1) else 1 // (* ****** ****** *) // // [fn] declares a non-recursive function // It is fine to replace [fn] with [fun] as a non-recursive function // is a special kind of recursive function that does not call itself. // [@(...)] is used in ATS to group arguments for variadic functions // fn fact_usage (cmd: string): void = prerrln! ("Usage: ", cmd, " [integer]") // end of [fact_usage] (* ****** ****** *) implement main (argc, argv) = let in // if argc >= 2 then let val n = g0string2int_int(argv[1]) val ( ) = println! ("factorial of ", n, " = ", fact (n)) in 0 (*normal*) end else let val () = fact_usage (argv[0]) in exit(1) end // end of [if] // end // end of [main] (* ****** ****** *) (* end of [fact1.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/acker2.dats0000664000175000017500000000117512655455557017521 0ustar hwxihwxi// // Implementing Ackermann's function // Author: Hongwei Xi (February 21, 2013) // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) fun acker ( m: int, n: int ) : int = let // fun acker_m (n: int): int = ( if m <= 0 then n+1 else ( if n <= 0 then acker (m-1, 1) else acker (m-1, acker_m (n-1)) // end of [if] ) // end of [else] ) (* end of [acker_m] *) // in acker_m (n) end // end of [acker] (* ****** ****** *) implement main0 () = let // val () = assertloc (acker (3, 3) = 61) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [acker2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/acker1.dats0000664000175000017500000000106712655455557017520 0ustar hwxihwxi// // Implementing Ackermann's function // Author: Hongwei Xi (February 21, 2013) // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) fun acker ( m: int, n: int ) : int = let in // if m <= 0 then n+1 else ( if n <= 0 then acker (m-1, 1) else acker (m-1, acker (m, n-1)) // end of [if] ) // end of [else] // end // end of [acker] (* ****** ****** *) implement main0 () = let // val () = assertloc (acker (3, 3) = 61) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [acker1.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/acker3.dats0000664000175000017500000000116112655455557017515 0ustar hwxihwxi// // Implementing Ackermann's function // Author: Hongwei Xi (May 10, 2013) // (* ****** ****** *) // // HX: this one involves run-time closure creation // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) fun acker (m: int) (n: int): int = let in // if m <= 0 then n+1 else ( if n <= 0 then acker (m-1) (1) else acker (m-1) (acker (m) (n-1)) // end of [if] ) // end of [if] // end // end of [acker] (* ****** ****** *) implement main0 () = let // val () = assertloc (acker(3)(3) = 61) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [acker3.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fibmem.dats0000664000175000017500000000346612655455557017616 0ustar hwxihwxi// // Fibonacci function via memoization // // Author: Hongwei Xi (February 21, 2013) // (* ****** ****** *) // // How to test: // ./fibmem // How to compile: // atscc -o fibmem fibmem.dats // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) (* // // HX-2013-04: // this is needed before closure compilation // becomes fully functioning // implement{a} arrayptr_make_elt {n} (asz, x0) = let // val (pf, pfgc | p0) = array_ptr_alloc (asz) // var i: size_t var p: ptr = p0 val () = $effmask_ntm ( // for ( i := i2sz(0); i < asz; i := succ(i) ) ( $UN.ptr0_set (p, x0); p := ptr_succ(p) ) // end of [for] // ) // end of [val] // in $UN.castvwtp0{arrayptr(a,n)}((pf, pfgc | p0)) end // end of [arrayptr_make_elt] *) (* ****** ****** *) static fun fib {n:nat} (n: int n): int = "sta#fib" extern fun fibmem {m,n:nat | m > n} (tbl: &(@[int][m]) >> _, n: int n): int = "ext#fibmem" // end of [fibmem] (* ****** ****** *) implement fibmem (tbl, n) = let in // if n >= 2 then let val res = tbl.[n] in if res >= 0 then res else let val res = fibmem (tbl, n-1) + fibmem (tbl, n-2) val () = tbl.[n] := res in res end // end of [if] end else n // fib(0)=0; fib(1)=1 // end // end of [fibmem] (* ****** ****** *) implement fib (n) = let // val asz = g1i2u (n+1) val arrp = arrayptr_make_elt (asz, ~1) val (pf | p) = arrayptr_takeout_viewptr (arrp) // val res = fibmem (!p, n) // prval () = arrayptr_addback (pf | arrp) // val () = arrayptr_free (arrp) // in res end // end of [fib] (* ****** ****** *) implement main0 () = { val N = 20 (* val () = println! ("fib(", N, ") = ", fib (N)) *) val () = assertloc (fib (N) = 6765) } // end of [main0] (* ****** ****** *) (* end of [fibmem.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/sieve_lazy.dats0000664000175000017500000000226212655455557020522 0ustar hwxihwxi(* // Lazy-evaluation: // Erathosthene's sieve for primes *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxiATgmailDOTcom // Start time: September, 2007 // (* ****** ****** *) (* ** Ported to ATS2 by HX-2013-09 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define :: stream_cons #define cons stream_cons #define nil stream_nil (* ****** ****** *) // fun from{n:int} (n: int n) : stream (intGte(n)) = $delay (cons{intGte(n)}(n, from (n+1))) // (* ****** ****** *) typedef N2 = intGte(2) (* ****** ****** *) fun sieve ( ns: stream N2 ) : stream (N2) = $delay ( let val-cons(n, ns) = !ns in cons{N2}(n, sieve (stream_filter_cloref (ns, lam x => g1int_nmod(x, n) > 0))) end : stream_con (N2) ) // end of [sieve] // val primes: stream (N2) = sieve (from(2)) // macdef prime_get (n) = stream_nth_exn (primes, ,(n)) // implement main0 () = begin // println! ("prime 1000 = ", prime_get (1000)) ; // = 7927 (* println! ("prime 5000 = ", prime_get (5000)) ; // = 48619 println! ("prime 10000 = ", prime_get (10000)) ; // = 104743 *) // end // end of [main0] (* ****** ****** *) (* end of [sieve_lazy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/bintree.dats0000664000175000017500000000352312655455557020001 0ustar hwxihwxi// // Implementation of binary trees // // Author: Hongwei Xi (gmhwxi AT gmail.com) // (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) (* ** [datavtype] for [dataviewtype] *) datavtype bintree (a:t@ype) = | BTnil of () | BTcons of (bintree a, a, bintree a) // end of [bintree] (* ****** ****** *) extern fun{a:t@ype} bintree_size (bt: !bintree a): int implement{a} bintree_size (bt) = let macdef size (bt) = bintree_size ,(bt) in // case+ bt of | BTnil () => 0 | BTcons (bt1, _, bt2) => 1 + (size (bt1) + size (bt2)) // end // end of [bintree_size] (* ****** ****** *) extern fun{a:t@ype} bintree_height (bt: !bintree a): int implement{a} bintree_height (bt) = let macdef height (bt) = bintree_height ,(bt) in // case+ bt of | BTnil () => 0 | BTcons (bt1, _, bt2) => 1 + max (height (bt1), height (bt2)) // end // end of [bintree_height] (* ****** ****** *) extern fun{a:t@ype} bintree_copy (bt: !bintree a): bintree a implement{a} bintree_copy (bt) = let macdef copy (bt) = bintree_copy ,(bt) in // case+ bt of | BTnil () => BTnil{a}() | BTcons (bt1, x, bt2) => BTcons (copy(bt1), x, copy(bt2)) // end // end of [bintree_copy] (* ****** ****** *) extern fun{a:t@ype} bintree_free (bt: bintree a): void implement{a} bintree_free (bt) = let macdef free (bt) = bintree_free ,(bt) in // case+ bt of | ~BTnil () => () | ~BTcons (bt1, _, bt2) => (free bt1; free bt2) // end // end of [bintree_free] (* ****** ****** *) implement main0 () = { // typedef T = int // val bt0 = BTnil{T}() val bt0_2 = bintree_copy (bt0) val bt1 = BTcons{T}(bt0, 1, bt0_2) val bt1_2 = bintree_copy (bt1) val bt2 = BTcons{T}(bt1, 2, bt1_2) // val () = assertloc (bintree_size(bt2) = 3) val () = assertloc (bintree_height(bt2) = 2) // val () = bintree_free (bt2) // } // end of [main0] (* ****** ****** *) (* end of [bintree.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/f91.dats0000664000175000017500000000137312655455557016751 0ustar hwxihwxi// // Implementing MacCarthy's 91-function // Author: Hongwei Xi (February 21, 2013) // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) fun f91 (x: int): int = if x >= 101 then x - 10 else f91 (f91 (x+11)) // end of [f91] (* ****** ****** *) implement main0 () = let // val N = 0 val () = assertloc (f91 (N+0) = 91) val () = assertloc (f91 (N+1) = 91) val () = assertloc (f91 (N+2) = 91) val () = assertloc (f91 (N+3) = 91) val () = assertloc (f91 (N+4) = 91) val () = assertloc (f91 (N+5) = 91) val () = assertloc (f91 (N+6) = 91) val () = assertloc (f91 (N+7) = 91) val () = assertloc (f91 (N+8) = 91) val () = assertloc (f91 (N+9) = 91) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [f91.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/atof.dats0000664000175000017500000000334212655455557017301 0ustar hwxihwxi// // Converting a string to a double // // Author: Hongwei Xi (February 22, 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) macdef double = g0int2float_int_double (* ****** ****** *) extern fun atof (str: string): double extern fun atof_frac (str: string): double (* ****** ****** *) implement atof (str) = let // typedef tenv = double // val str = g1ofg0_string (str) // var env: tenv = 0.0 implement{env} string_foreach$cont (c, env) = isdigit (c) implement string_foreach$fwork (c, env) = env := 10 * env + double(c - '0') val n = string_foreach_env (str, env) // val str2 = $UN.cast{string}(ptr_add(string2ptr(str), n)) // in env + atof_frac (str2) end // end of [atof] (* ****** ****** *) implement atof_frac (str) = let // fun loop ( p: ptr, num: double, den: double ) : double = let val c = $UN.ptr0_get (p) in // if isdigit (c) then loop (ptr_succ (p), 10 * num + double(c - '0'), 10 * den) else (num / den) // end of [if] // end // end of [loop] // val p0 = string2ptr (str) val c0 = $UN.ptr0_get (p0) // in // if c0 = '.' then loop (ptr_succ (p0), 0.0, 1.0) else 0.0 // end // end of [atof_frac] (* ****** ****** *) fn atof_usage (cmd: string): void = prerrln! ("Usage: ", cmd, " [float]") // end of [atof_usage] (* ****** ****** *) implement main0 ( argc, argv ) = { (* val () = if (argc <= 1) then atof_usage (argv[0]) // end of [val] val () = assertloc (argc >= 2) *) val rep = (if argc >= 2 then argv[1] else "3.1416"): string // end of [va val () = println! ("atof(\"", rep, "\") = ", atof(rep)) // } // end of [main0] (* ****** ****** *) (* end of [atof.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fcopy2.dats0000664000175000017500000000270012655455557017547 0ustar hwxihwxi// // A naive implementation of file copying // (* ****** ****** *) // // Author: Hongwei Xi (gmhwxi AT gmail DOT com) // // Start time: April 2013 // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) // staload "libc/SATS/stdio.sats" // (* ****** ****** *) #define N 1024 (* ****** ****** *) fun fcopy2 ( filr: FILEref, filr2: FILEref ) : void = let // fun loop {n:pos} ( buf: &b0ytes(n) >> bytes(n) , n: int n, filr: FILEref, filr2: FILEref ) : void = let val p = fgets (buf, n, filr) in // if p > 0 then let val () = fputs_exn ($UN.cast{string}(p), filr2) in loop (buf, n, filr, filr2) end else () // end of [if] // end // end of [loop] // val ( pfat, pfgc | p ) = malloc_gc (i2sz(N)) val () = loop (!p, N, filr, filr2) val () = mfree_gc (pfat, pfgc | p) // in // nothing end (* end of [fcopy2] *) (* ****** ****** *) implement main ( argc, argv ) = 0 where { val filr = ( if argc >= 2 then fileref_open_exn (argv[1], $UN.cast{fmode}("r")) else stdin_ref ) : FILEref // end of [filr] val filr2 = ( if argc >= 3 then fileref_open_exn (argv[2], $UN.cast{fmode}("w")) else stdout_ref ) : FILEref // end of [val] val () = fcopy2 (filr, filr2) val () = if argc >= 2 then fileref_close (filr) val () = if argc >= 3 then fileref_close (filr2) } // end of [main] (* ****** ****** *) (* end of [fcopy2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fact_uninterp.dats0000664000175000017500000000167312655455557021216 0ustar hwxihwxi(* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) // stacst fact: int -> int // (* ****** ****** *) extern praxi fact_bas(): [fact(0)==1] void extern praxi fact_ind{n:pos}(): [fact(n)==n*fact(n-1)] void extern praxi leibniz_int{f:int->int}{p,q:int | p==q}(): [f(p)==f(q)] void (* ****** ****** *) // fun fact {n:nat} .. (n: int(n)) : int(fact(n)) = ( if n > 0 then let prval () = fact_ind{n}() in n * fact(n-1) end // end of [then] else let prval EQINT() = eqint_make{n,0}() // end of [prval] prval () = fact_bas() in (1) end // end of [else] ) // (* ****** ****** *) implement main0(argc, argv) = { // val n = ( if (argc >= 2) then g0string2int(argv[1]) else 10 // end of [if] ) : int // end of [val] // val n = g1ofg0(n) val n = (if n >= 0 then n else 0): intGte(0) // val () = println! ("fact(", n, ") = ", fact(n)) // } (* end of [main0] *) (* ****** ****** *) (* end of [fact2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/strprefix.dats0000664000175000017500000000315512655455557020400 0ustar hwxihwxi// // Finding the max common prefix of // two given strings // // Author: Hongwei Xi (February 22, 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) (* // // HX-2014-02-16: see [prelude/string] // fun string_tail {n:int | n > 0} (str: string n): string (n-1) = $UN.cast{string(n-1)} (ptr_succ (string2ptr (str))) // end of [string_tail] *) (* ****** ****** *) extern fun strprefix {n1,n2:int} (string (n1), string (n2)): sizeLte (min(n1,n2)) // end of [strprefix] (* ****** ****** *) #define CNUL '\000' implement strprefix {n1,n2} (str1, str2) = let // fun loop {n1,n2:nat} .. ( str1: string n1, str2: string n2, i: size_t ) : size_t = let val (pf1 | c1) = string_test_at (str1, 0) in // if c1 != CNUL then let val (pf2 | c2) = string_test_at (str2, 0) in // if c2 != CNUL then ( if c1 = c2 then let prval string_index_p_neqz () = pf1 prval string_index_p_neqz () = pf2 in loop (str1.tail(), str2.tail(), succ(i)) end else (i) // end of [if] ) else (i) // end else (i) // end // end of [loop] // prval () = lemma_string_param (str1) prval () = lemma_string_param (str2) // in $UN.cast {sizeLte(min(n1,n2))} (loop (str1, str2, g1int2uint(0))) end // end of [strprefix] (* ****** ****** *) implement main0 () = { val str1 = "abcde" val str2 = "abcfgh" val ind = strprefix (str1, str2) val () = println! ("strprefix(", "\"", str1, "\"", ", ", "\"", str2, "\"", ") = ", ind) val () = assertloc (ind = 3) } // end of [main0] (* ****** ****** *) (* end of [strprefix.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/linenmbr.dats0000664000175000017500000000254112655455557020156 0ustar hwxihwxi// // Numbering input lines // // Author: Hongwei Xi (January, 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload "libats/ML/SATS/filebas.sats" (* ****** ****** *) staload _ = "libats/ML/DATS/list0.dats" staload _ = "libats/ML/DATS/filebas.dats" (* ****** ****** *) (* dynload "prelude/DATS/filebas.dats" dynload "libats/ML/DATS/filebas.dats" *) (* ****** ****** *) implement main () = let // fun loop ( xs: list0 (string), n: int ) : void = let in // case+ xs of | list0_cons (x, xs) => let val x = g1ofg0 (x) val islast = list0_is_nil (xs) val hasmore = ( if islast then string_isnot_empty (x) else true // end of [if] ) : bool // end of [val] val () = if hasmore then { val () = if n > 0 then print_char ('\n') val () = print_int (n+1) val () = print_string (":\t") val () = print_string (x) } // end of [if] // end of [val] in loop (xs, n+1) end // end of [list0_cons] | list0_nil () => () // end // end of [loop] // val lines = fileref_get_lines_stringlst (stdin_ref) val () = loop (lines, 0) // in 0(*normal*) end // end of [main] (* ****** ****** *) (* end of [linenmbr.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fib1.dats0000664000175000017500000000100112655455557017157 0ustar hwxihwxi// // Computing the Fibonacci numbers // (A naive implementation of expnential complexity) // // Author: Hongwei Xi (January 2013) // (* ****** ****** *) // staload _ = "prelude/DATS/integer.dats" // (* ****** ****** *) // fun fib (n: int): int = if n >= 2 then fib (n-1) + fib (n-2) else n // (* ****** ****** *) implement main0 () = { #define N 10 val () = assertloc (fib(N) = 55) (* val () = println! ("fib(", N, ") = ", fib (10)) *) } // end of [main0] (* ****** ****** *) (* end of [fib1.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fib2.dats0000664000175000017500000000134512655455557017173 0ustar hwxihwxi// // Computing the Fibonacci numbers // // Author: Hongwei Xi (January 2013) // (* ****** ****** *) // staload _ = "prelude/DATS/integer.dats" // (* ****** ****** *) typedef T = int typedef T2 = (T, T) fun fib (n: int): T = let // fun loop ( xx: &T2, n: int ) : void = let in if n > 0 then let val x0 = xx.0 and x1 = xx.1 val () = xx.0 := x1 and () = xx.1 := x0+x1 in loop (xx, n-1) end // end of [if] end // end of [loop] // var xx: T2 = (0, 1) val () = loop (xx, n) // in xx.0 end // end of [fib] (* ****** ****** *) implement main0 () = { #define N 10 val () = assertloc (fib(N) = 55) (* val () = println! ("fib(", N, ") = ", fib (10)) *) } // end of [main0] (* ****** ****** *) (* end of [fib2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/listpermute.dats0000664000175000017500000000305412655455557020725 0ustar hwxihwxi// // Enumerate the permutations of a list // // Author: Hongwei Xi (February, 2014) // (* ****** ****** *) // #include "share/atspre_staload.hats" staload UN = $UNSAFE // aliasing // (* ****** ****** *) extern fun{ a:t@ype } listpermute{n:int} (list (a, n)): List0 (list(a, n)) (* ****** ****** *) extern fun{a:t@ype} list_mcons{n:nat} (x0: a, xss: List (list(a, n))): List0_vt(list(a, n+1)) (* ****** ****** *) implement {a}(*tmp*) list_mcons (x0, xss) = ( case+ xss of | list_nil () => nil_vt () | list_cons (xs, xss) => cons_vt (cons (x0, xs), list_mcons (x0, xss)) ) (* ****** ****** *) implement {a}(*tmp*) listpermute {n}(xs) = let // val n = length (xs) prval () = lemma_list_param (xs) vtypedef res = List0_vt (list(a, n)) // fn fopr (i: natLt(n)): res = let var x: a val xs1 = list_takeout_at (xs, i, x) in list_mcons (x, listpermute (xs1)) end // end of [fopr] // implement(res) list_tabulate$fopr (i) = let val () = ignoret (xs) // HX: bug? in $UN.castvwtp0{res}(fopr($UN.cast{natLt(n)}(i))) end // end of [list_tabulate$fopr] // in // if n = 0 then cons (nil, nil) else list_vt2t(list_vt_concat(list_tabulate(n))) // end // end of [listpermute] (* ****** ****** *) implement main0 () = { // val xs = list_make_intrange (0, 4) // val xs = list_vt2t{int} (xs) // val xss = listpermute (xs) // val () = print! ("permute(", xs, ") =\n") val () = list_foreach_cloref (xss, lam xs =<1> fprintln!(stdout_ref, xs)) // } (* end of [main0] *) (* ****** ****** *) (* end of [listpermute.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/hello.dats0000664000175000017500000000140212655455557017446 0ustar hwxihwxi// // HX: Hello, world! // (* ****** ****** *) implement main0 () = { val () = println! ("你好世界!") // Chinese val () = println! ("Hello world!") // English val () = println! ("Hello wereld") // Dutch val () = println! ("Bonjour monde!") // French val () = println! ("Hallo Welt!") // German val () = println! ("γειά σου κόσμος!") // Greek val () = println! ("Ciao mondo!") // Italian val () = println! ("こんにちは世界!") // Japanese val () = println! ("여보세요 세계!") // Korean val () = println! ("Olá mundo!") // Portuguese val () = println! ("Здравствулте мир!") // Russian val () = println! ("Hola mundo!") // Spanish } (* end of [main0] *) (* ****** ****** *) (* end of [hello.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/acker4.dats0000664000175000017500000000117112655455557017517 0ustar hwxihwxi// // Implementing Ackermann's function // Author: Hongwei Xi (May 10, 2013) // (* ****** ****** *) // // HX: this one involves run-time closure creation // (* ****** ****** *) staload "prelude/DATS/integer.dats" (* ****** ****** *) fun acker ( m: int ) = lam ( n:int ) : int = // if m <= 0 then n+1 else ( if n <= 0 then acker (m-1) (1) else acker (m-1) (acker (m) (n-1)) // end of [if] ) // end of [if] // // end of [acker] (* ****** ****** *) implement main0 () = let // val () = assertloc (acker(3)(3) = 61) // in // nothing end // end of [main0] (* ****** ****** *) (* end of [acker4.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/Makefile0000664000175000017500000001221212655455557017127 0ustar hwxihwxi# # A simple Makefile # for testing doc/EXAMPLE/INTRO # ###### CCOMP=gcc ###### include $(PATSHOME)/share/atsmake-pre.mk ###### MYTARGET=MYTARGET MYCCRULE=MYCCRULE ###### include $(PATSHOME)/share/atsmake-post.mk ###### PATSCCOMP=\ $(CCOMP) -D_XOPEN_SOURCE -I${PATSHOMEQ} -I${PATSHOMEQ}/ccomp/runtime ###### export PATSCCOMP ###### all:: acker1 all:: acker2 all:: acker3 all:: acker4 all:: areverse all:: atof all:: atoi all:: bintree all:: f91 all:: fact1 all:: fact2 all:: fact3 all:: fact_uninterp all:: fcopy all:: fcopy2 all:: fib1 all:: fib2 all:: fibmem all:: fib_lazy all:: fib_llazy all:: fprintlst2 all:: fprtuple all:: gfact all:: hello all:: intecho all:: intrange all:: linenmbr all:: listfuns all:: listpermute all:: ordset all:: sieve_lazy all:: sieve_llazy all:: staref all:: strprefix all:: tally ###### regress:: acker1 ; ./acker1 regress:: acker2 ; ./acker2 regress:: acker3 ; ./acker3 regress:: acker4 ; ./acker4 regress:: areverse ; ./areverse regress:: atof ; ./atof regress:: atoi ; ./atoi regress:: bintree ; ./bintree regress:: f91 ; ./f91 regress:: fact1 ; ./fact1 10 regress:: fact2 ; ./fact2 regress:: fact3 ; ./fact3 regress:: fact_uninterp ; ./fact_uninterp #regress:: fcopy ; ./fcopy #regress:: fcopy2 ; ./fcopy2 regress:: fib1 ; ./fib1 regress:: fib2 ; ./fib2 regress:: fibmem ; ./fibmem regress:: fib_lazy ; ./fib_lazy regress:: fib_llazy ; ./fib_llazy regress:: fprintlst2 ; ./fprintlst2 regress:: fprtuple ; ./fprtuple regress:: gfact ; ./gfact regress:: hello ; ./hello #regress:: intecho ; ./intecho regress:: intrange ; ./intrange #regress:: linenmbr ; ./linenmbr regress:: listfuns ; ./listfuns regress:: listpermute ; ./listpermute regress:: ordset ; ./ordset regress:: sieve_lazy ; ./sieve_lazy regress:: sieve_llazy ; ./sieve_llazy regress:: staref ; ./staref regress:: strprefix ; ./strprefix regress:: tally ; ./tally ###### cleanall:: ; $(RMF) acker1 cleanall:: ; $(RMF) acker2 cleanall:: ; $(RMF) acker3 cleanall:: ; $(RMF) acker4 cleanall:: ; $(RMF) areverse cleanall:: ; $(RMF) atof cleanall:: ; $(RMF) atoi cleanall:: ; $(RMF) bintree cleanall:: ; $(RMF) f91 cleanall:: ; $(RMF) fact1 cleanall:: ; $(RMF) fact2 cleanall:: ; $(RMF) fact3 cleanall:: ; $(RMF) fact_uninterp cleanall:: ; $(RMF) fcopy cleanall:: ; $(RMF) fcopy2 cleanall:: ; $(RMF) fib1 cleanall:: ; $(RMF) fib2 cleanall:: ; $(RMF) fibmem cleanall:: ; $(RMF) fib_lazy cleanall:: ; $(RMF) fib_llazy cleanall:: ; $(RMF) fprintlst2 cleanall:: ; $(RMF) fprtuple cleanall:: ; $(RMF) gfact cleanall:: ; $(RMF) hello cleanall:: ; $(RMF) intecho cleanall:: ; $(RMF) intrange cleanall:: ; $(RMF) linenmbr cleanall:: ; $(RMF) listfuns cleanall:: ; $(RMF) listpermute cleanall:: ; $(RMF) ordset cleanall:: ; $(RMF) sieve_lazy cleanall:: ; $(RMF) sieve_llazy cleanall:: ; $(RMF) staref cleanall:: ; $(RMF) strprefix cleanall:: ; $(RMF) tally ###### testall:: all testall:: regress testall:: cleanall ###### acker1: acker1.dats ; $(PATSCC) -o $@ $< acker2: acker2.dats ; $(PATSCC) -o $@ $< acker3: acker3.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< acker4: acker4.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### areverse: areverse.dats ; \ $(PATSCC) -D_ATS_EXCEPTION_NONE -DATS_MEMALLOC_LIBC -o $@ $< ###### atof: acker1.dats ; $(PATSCC) -o $@ $< atoi: acker1.dats ; $(PATSCC) -o $@ $< ###### bintree: bintree.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### f91: f91.dats ; $(PATSCC) -o $@ $< ###### # fact1: fact1.dats ; $(PATSCC) -o $@ $< fact2: fact2.dats ; $(PATSCC) -o $@ $< fact3: fact3.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< # fact_uninterp: fact_uninterp.dats ; $(PATSCC) -o $@ $< # ###### fcopy: fcopy.dats ; $(PATSCC) -o $@ $< fcopy2: fcopy2.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< myatslib.dats ###### fib1: fib1.dats ; $(PATSCC) -o $@ $< fib2: fib2.dats ; $(PATSCC) -o $@ $< fibmem: fibmem.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### fib_lazy: fib_lazy.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< fib_llazy: fib_llazy.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### fprintlst2: fprintlst2.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### fprtuple: fprtuple.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### gfact: gfact.dats ; $(PATSCC) -o $@ $< ###### hello: hello.dats ; $(PATSCC) -o $@ $< ###### intecho: intecho.dats ; $(PATSCC) -o $@ $< ###### intrange: intrange.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### linenmbr: linenmbr.dats ; \ $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< myatslib.dats ###### listfuns: listfuns.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### listpermute: listpermute.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### ordset: ordset.dats ; $(PATSCC) -DATS_MEMALLOC_LIBC -o $@ $< ###### sieve_lazy: sieve_lazy.dats ; \ $(PATSCC) -D_GNU_SOURCE -DATS_MEMALLOC_GCBDW -O2 -o $@ $< -lgc sieve_llazy: sieve_llazy_dats.c ; \ $(PATSCC) -cleanaft -D_GNU_SOURCE -DATS_MEMALLOC_LIBC -O2 -o $@ $< sieve_llazy_dats.c: sieve_llazy.dats ; $(PATSCC) -ccats $< ###### staref: staref.dats ; $(PATSCC) -o $@ $< ###### strprefix: strprefix.dats ; $(PATSCC) -o $@ $< ###### tally: tally.dats ; $(PATSCC) -D_ATS_EXCEPTION_NONE -o $@ $< ###### cleanats:: ; $(RMF) *_?ats.c ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fib_llazy.dats0000664000175000017500000000205112655455557020317 0ustar hwxihwxi// // Lazy-evaluation // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define nil stream_vt_nil #define cons stream_vt_cons #define :: stream_vt_cons (* ****** ****** *) fun fib0(): stream_vt(int) = $ldelay(stream_vt_cons{int}(0, fib1())) and fib1(): stream_vt(int) = $ldelay(stream_vt_cons{int}(1, fib2())) and fib2(): stream_vt(int) = stream_vt_map2_fun (fib0(), fib1(), lam (x0, x1) => x0 + x1) (* ****** ****** *) fun{a:t0p} stream_vt_nth ( xs0: stream_vt a, i: intGte(0) ) : a = let val xs0_con = !xs0 in // case+ xs0_con of | ~(x :: xs) => ( if i = 0 then (~xs; x) else stream_vt_nth (xs, i-1) // end of [if] ) // end of [::] | ~nil ((*void*)) => $raise StreamSubscriptExn(*void*) end // end of [stream_vt_nth] (* ****** ****** *) implement main0 () = ( println! ("Fibonacci(10) = ", stream_vt_nth (fib0(), 10)) ; // = 55 println! ("Fibonacci(20) = ", stream_vt_nth (fib0(), 20)) ; // = 6765 ) // end of [main0] (* ****** ****** *) (* end of [fib_llazy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/intrange.dats0000664000175000017500000000247112655455557020161 0ustar hwxihwxi// // An implementation style that is often // dubbed tail-recursion-modulo-allocation // // Author: Hongwei Xi (August 2007) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) fun intrange ( m: int, n: int ) : List0_vt(int) = let // vtypedef res = List0_vt(int) // fun loop ( m: int, n: int, res: &res? >> res ) : void = if m < n then let val () = res := list_vt_cons{int}{0}(m, _) val list_vt_cons (_, res1) = res val () = loop (m+1, n, res1) prval () = fold@ (res) in // nothing end else (res := list_vt_nil ()) // end of [if] // var res: res val () = loop (m, n, res) // in res end // end of [intrange] (* ****** ****** *) // staload "libats/SATS/sllist.sats" // staload _ = "libats/DATS/gnode.dats" staload _ = "libats/DATS/sllist.dats" // (* ****** ****** *) implement main ( // argless ) = 0 where { #define M 0 #define N 10 val out = stdout_ref // typedef T = int // val xs = intrange (M, N) val xs = $UN.castvwtp0{Sllist(T)}(xs) // val ln = sllist_length (xs) val () = assertloc (ln = N-M) val () = fprint_sllist (out, xs) val () = fprint_newline (out) // val () = sllist_free (xs) // } // end of [main] (* ****** ****** *) (* end of [intrange.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/ordset.dats0000664000175000017500000000427012655455557017651 0ustar hwxihwxi(* // // Implementing a module of ML-style // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT edu // TIme: the 4th of June, 2013 // *) (* ****** ****** *) staload _ = "prelude/DATS/list.dats" staload _ = "prelude/DATS/integer.dats" (* ****** ****** *) typedef ordmod (a:t@ype) = '{ cmp= (a, a) -> int } extern fun{a:t@ype} ordmod_compare (ord: ordmod (a), x: a, y: a): int implement{a} ordmod_compare (ord, x, y) = ord.cmp (x, y) (* ****** ****** *) abstype set (a:t@ype) = ptr typedef setmod (a:t@ype) = '{ sing= (a) - set (a) , isemp= set(a) - bool , union= (set(a), set(a)) - set (a) , toList= set(a) - List0 (a) } // end of [setmod] extern fun{a:t@ype} setmod_make_order (ord: ordmod (a)): setmod (a) local assume set (a:t@ype) = List0 (a) in (* in of [local] *) implement{a} setmod_make_order (ord) = let // fun funion ( ord: ordmod a , xs: List0 a, ys: List0 a ) : List0 a = case+ xs of | list_cons (x, xs1) => ( case+ ys of | list_cons (y, ys1) => let val sgn = ordmod_compare (ord, x, y) in if sgn < 0 then ( cons{a}(x, funion (ord, xs1, ys)) ) else ( if sgn > 0 then cons{a}(y, funion (ord, xs, ys1)) else cons{a}(x, funion (ord, xs1, ys1)) // end of [if] ) // end of [if] end // end of [list_cons] | list_nil ((*void*)) => xs ) | list_nil ((*void*)) => ys // in '{ sing= lam (x) => cons{a}(x, nil) , isemp= lam (xs) => list_is_nil (xs) , union= lam (xs, ys) => funion (ord, xs, ys) , toList= lam (xs) => xs } end // end of [setmod_make_order] end // end of [local] (* ****** ****** *) val setmod_int = setmod_make_order '{ cmp = lam (x:int, y:int) => compare (x, y) } (* ****** ****** *) val xs0 = setmod_int.sing (0) val xs1 = setmod_int.sing (1) val xs01 = setmod_int.union (xs0, xs1) val xs0101 = setmod_int.union (xs01, xs01) (* ****** ****** *) val () = println! ("xs01 = ", setmod_int.toList(xs01)) val () = println! ("xs0101 = ", setmod_int.toList(xs0101)) (* ****** ****** *) implement main0 () = () (* ****** ****** *) (* end of [ordset.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fprtuple.dats0000664000175000017500000000145012655455557020207 0ustar hwxihwxi// // Author: Hongwei Xi (February 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "prelude/DATS/tuple.dats" (* ****** ****** *) implement fprint_tup$beg<> (out) = fprint_string (out, "(") implement fprint_tup$end<> (out) = fprint_string (out, ")") implement fprint_tup$sep<> (out) = fprint_string (out, ", ") (* ****** ****** *) implement main0 () = { // val out = stdout_ref val () = fprint_tupval2 (out, @(0, 'a')) val () = fprint_newline (out) val () = fprint_tupval2 (out, @(0, (true, 'a'))) val () = fprint_newline (out) val () = fprint_tupval3 (out, @(0, (true, 'a'), "hello!")) val () = fprint_newline (out) // } (* end of [main0] *) (* ****** ****** *) (* end of [fprtuple.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/sieve_llazy.dats0000664000175000017500000000353112655455557020676 0ustar hwxihwxi(* // Linear Lazy-evaluation: // Erathosthene's sieve for primes *) (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: hwxiATcsDOTbuDOTedu) // Start Time: February, 2008 // (* ****** ****** *) (* ** Ported to ATS2 by HX-2013-09 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) #define :: stream_vt_cons #define cons stream_vt_cons #define nil stream_vt_nil (* ****** ****** *) fun{a:t0p} stream_vt_nth ( xs0: stream_vt a, i: intGte(0) ) : a = let val xs0_con = !xs0 in // case+ xs0_con of | ~(x :: xs) => ( if i = 0 then (~xs; x) else stream_vt_nth (xs, i-1) // end of [if] ) // end of [::] | ~nil ((*void*)) => $raise StreamSubscriptExn(*void*) end // end of [stream_vt_nth] (* ****** ****** *) fun from_con{n:int} (n: int n) : stream_vt_con (intGte n) = stream_vt_cons{intGte(n)}(n, from (n+1)) and from{n:int} (n: int n) : stream_vt (intGte n) = $ldelay (from_con n) (* ****** ****** *) typedef N2 = intGte(2) (* ****** ****** *) fun sieve_con (ns: stream_vt N2) : stream_vt_con (N2) = let val ns_con = !ns val-@cons(n, ns2) = ns_con; val p = n val ps = sieve ( stream_vt_filter_cloptr (ns2, lam x => g1int_nmod(x, p) > 0) ) (* end of [val] *) val () = (ns2 := ps) in fold@ ns_con; ns_con end // end of [sieve_con] and sieve (ns: stream_vt N2): stream_vt (N2) = $ldelay (sieve_con ns, ~ns) // end of [sieve] (* ****** ****** *) fn primes (): stream_vt N2 = sieve (from 2) fn prime_get (n: Nat): Nat = stream_vt_nth (primes (), n) (* ****** ****** *) implement main0 () = begin // println! ("prime(1000) = ", prime_get (1000)) ; // = 7927 (* println! ("prime(5000) = ", prime_get (5000)) ; // = 48619 println! ("prime(10000) = ", prime_get (10000)) ; // = 104743 *) // end // end of [main0] (* ****** ****** *) (* end of [sieve_llazy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fprintlst2.dats0000664000175000017500000000261512655455557020461 0ustar hwxihwxi(* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "libats/ML/SATS/basis.sats" staload "libats/ML/SATS/list0.sats" staload _ = "libats/ML/DATS/list0.dats" (* ****** ****** *) implement {x}{env} list_iforeach_env (xs, env) = let // prval () = lemma_list_param (xs) // fun loop {n:nat} {i:nat} .. ( i: int i, xs: list (x, n), env: &env ) : intBtwe(i,n+i) = case+ xs of | list_cons (x, xs) => let val () = list_iforeach$fwork (i, x, env) in loop (succ(i), xs, env) end // end of [list_cons] | list_nil () => (i) // number of processed elements // end of [loop] // in loop (0, xs, env) end // end of [list_iforeach_env] (* ****** ****** *) val () = { // val out = stdout_ref // val xs1 = g0ofg1($list{int}(0,1,2,3,4)) val xs2 = g0ofg1($list{int}(5,6,7,8,9)) val xss = cons0{list0(int)}(xs1, cons0{list0(int)}(xs2, nil0())) // (* implement fprint_val (out, xs) = () *) local implement fprint_val (out, xs) = fprint_list0_sep (out, xs, ", ") in(*in-of-local*) val () = fprint_list0_sep (out, xss, "; ") end // end of [local] // val ((*void*)) = fprint_newline (out) // } (* end of [val] *) (* ****** ****** *) implement main0 () = { // val () = println! ("The code has passed all the tests given here.") // } (* end of [main0] *) (* ****** ****** *) (* end of [mysolution4.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/myatslib.dats0000664000175000017500000000061312655455557020172 0ustar hwxihwxi(* // // HX-2013-09: // For maximal portability // *) (* ****** ****** *) // #define ATS_DYNLOADFLAG 0 // no dynloading // (* ****** ****** *) local #include "prelude/DATS/filebas.dats" in(**)end (* ****** ****** *) local #include "libc/DATS/stdio.dats" in(**)end (* ****** ****** *) local #include "libats/ML/DATS/filebas.dats" in(**)end (* ****** ****** *) (* end of [myatslib.dats] *)ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fib_lazy.dats0000664000175000017500000000107612655455557020151 0ustar hwxihwxi// // Lazy-evaluation // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) val rec fib0: stream(int) = $delay(stream_cons{int}(0, fib1)) and fib1: stream(int) = $delay(stream_cons{int}(1, fib2)) and fib2: stream(int) = stream_map2_fun (fib0, fib1, lam (x0, x1) => x0 + x1) (* ****** ****** *) implement main0 () = ( println! ("Fibonacci(10) = ", stream_nth_exn (fib0, 10)) ; // = 55 println! ("Fibonacci(20) = ", stream_nth_exn (fib0, 20)) ; // = 6765 ) // end of [main0] (* ****** ****** *) (* end of [fib_lazy.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fact2.dats0000664000175000017500000000341112655455557017344 0ustar hwxihwxi// // Two verified implementations // of the well-known factorial function: // // the first one is not tail-recursive // whereas the second one is tail-recursive // (* ****** ****** *) // // Author: Hongwei Xi (February 2012) // (* ****** ****** *) staload _(*anon*) = "prelude/DATS/basics.dats" staload _(*anon*) = "prelude/DATS/integer.dats" (* ****** ****** *) // // HX: an encoding of the factorial function: // FACT (n, r) means that r equals the factorial of n // dataprop FACT (int, int) = | FACTbas (0, 1) of () | {n:pos}{r:int} FACTind (n, n*r) of FACT (n-1, r) // end of [FACT] (* ****** ****** *) fun fact {n:nat} .. ( x: int n // x = n ) : [r:int] ( FACT(n, r) | int(r) ) = ( // if x > 0 then let val [r1:int] (pf1 | r1) = fact (x-1) prval pf = FACTind {n}{r1} (pf1) val r = x * r1 in (pf | r) end // end of [then] else (FACTbas () | 1) // ) (* end of [fact] *) (* ****** ****** *) (* ** HX: this one is tail-recursive *) fun fact2 {n:nat} .. ( x: int n // x = n ) : [r:int] ( FACT(n, r) | int(r) ) = let // fun loop {n:nat} {r0:int} .. ( x: int n, r0: int r0 ) : [r:int] ( FACT (n, r) | int (r*r0) ) = ( if x > 0 then let val [r1:int] (pf1 | res) = loop (x-1, x*r0) prval pf = FACTind {n}{r1} (pf1) in (pf | res) end else (FACTbas () | r0) // end of [if] ) // end of [loop] // in loop (x, 1) end // end of [fact2] (* ****** ****** *) implement main0 (argc, argv) = { // val n = ( if argc >= 2 then g1string2int (argv[1]) else 10(*default*) // end of [if] ) : Int // end of [val] val () = assertexn (n >= 0) // val pfr = fact (n) and pfr2 = fact2 (n) // val () = assertloc (pfr.1 = pfr2.1) // } (* end of [main0] *) (* ****** ****** *) (* end of [fact2.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/fact3.dats0000664000175000017500000000155412655455557017353 0ustar hwxihwxi// // Computing the factorials // // Author: Hongwei Xi (January 2013) // (* ****** ****** *) // staload "prelude/DATS/integer.dats" staload "prelude/DATS/pointer.dats" staload "prelude/DATS/array.dats" staload "prelude/DATS/arrayptr.dats" staload "prelude/DATS/arrayref.dats" // staload _UN = "prelude/DATS/unsafe.dats" // (* ****** ****** *) fun fact {n:nat} (n: int n): int = let // val A = arrayptr_make_intrange<> (0, n) // typedef a = int typedef tenv = int implement array_foreach$fwork (x, env) = env := env * (x+1) // var env: tenv = 1 // val _ = arrayptr_foreach_env (A, g1int2uint (n), env) // val () = arrayptr_free (A) // in env end // end of [fact] (* ****** ****** *) implement main0 () = { val N = 12 val () = assertloc (fact(N) = 1*1*2*3*4*5*6*7*8*9*10*11*12) } // end of [main] (* ****** ****** *) (* end of [fact3.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/areverse.dats0000664000175000017500000000365312655455557020171 0ustar hwxihwxi// // Reversing the content of an array. // This is a simple and convincing example for // illustrating some benefits of dependent types. // // Author: Hongwei Xi (Spring, 2009) // Author: Hongwei Xi (May, 2012) // porting to ATS2 // (* ****** ****** *) // #include "share/atspre_define.hats" #include "share/atspre_staload.hats" // (* ****** ****** *) fun{ a:t@ype } revarr {n:nat} .<>. ( A: &array (INV(a), n), n: size_t n ) : void = let // fun loop { i,j:nat | i <= j+1; i+j==n-1 } .. ( A: &array (a, n), i: size_t i, j: size_t j ) : void = if i < j then let val () = A.[i] :=: A.[j] in loop (A, succ i, pred j) end // end of [if] // in if n > 0 then loop (A, g1i2u(0), pred (n)) end // end of [revarr] (* ****** ****** *) // staload UN = "prelude/SATS/unsafe.sats" // staload STDLIB = "libc/SATS/stdlib.sats" // (* ****** ****** *) // staload RG = "{$LIBATSHWXI}/testing/SATS/randgen.sats" staload _(*RG*) = "{$LIBATSHWXI}/testing/DATS/randgen.dats" // (* ****** ****** *) %{^ // #include // extern void srand48 (long int) ; // in [stdlib.h] extern double drand48 (/*void*/) ; // in [stdlib.h] // atsvoid_t0ype srand48_with_time () { srand48(time(0)) ; return ; } %} extern fun srand48_with_time (): void = "ext#" // (* ****** ****** *) typedef T = double (* ****** ****** *) implement $RG.randgen_val () = $STDLIB.drand48() (* ****** ****** *) implement main0 () = { // #define N 10 // val asz = g1i2u (N) // val () = srand48_with_time () val A = $RG.randgen_arrayptr (asz) // val () = gprint_string "A(bef) = " val () = gprint_arrayptr (A, asz) val () = gprint_newline () // val p = ptrcast (A) prval pfarr = arrayptr_takeout (A) val () = revarr (!p, asz) prval () = arrayptr_addback (pfarr | A) // val () = gprint_string "A(aft) = " val () = gprint_arrayptr (A, asz) val () = gprint_newline () // val () = arrayptr_free (A) // } (* end of [main] *) (* ****** ****** *) (* end of [areverse.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/atoi.dats0000664000175000017500000000156612655455557017312 0ustar hwxihwxi// // Converting a string to an integer // // Author: Hongwei Xi (February 22, 2013) // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) fun atoi (str: string): int = let // var env: int = 0 implement{env} string_foreach$cont (c, env) = isdigit (c) implement string_foreach$fwork (c, env) = env := 10 * env + (c - '0') // val _ = string_foreach_env (g1ofg0(str), env) // in env end // end of [atoi] (* ****** ****** *) fn atoi_usage (cmd: string): void = prerrln! ("Usage: ", cmd, " [integer]") // end of [atoi_usage] (* ****** ****** *) implement main0 (argc, argv) = { // (* val () = if (argc <= 1) then atoi_usage (argv[0]) *) val rep = (if argc >= 2 then argv[1] else "123456789"): string val () = println! ("atoi(\"", rep, "\") = ", atoi(rep)) // } (* end of [main0] *) (* ****** ****** *) (* end of [atoi.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/intecho.dats0000664000175000017500000000135312655455557020001 0ustar hwxihwxi(* ****** ****** *) // // Reading integers from stdin // Author: Hongwei Xi (February, 2013) // (* ****** ****** *) staload "prelude/DATS/integer.dats" staload "prelude/DATS/filebas.dats" (* ****** ****** *) #define ATS_MAINATSFLAG 1 (* ****** ****** *) implement main0 ( ) = loop () where { // fun loop (): void = let val () = println! ("Please input an integer:") var N: int? val ans = fileref_load (stdin_ref, N) in // if ans then let prval ( ) = opt_unsome (N) val () = println! (N) in loop () end else let prval ( ) = opt_unnone (N) val () = println! ("Not a valid integer!") in // nothing end // end of [if] // end // end of [loop] // } // end of [main0] (* ****** ****** *) (* end of [intecho.dats] *) ATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/.keeper0000664000175000017500000000000012655455557016733 0ustar hwxihwxiATS2-Postiats-0.2.6/./doc/EXAMPLE/INTRO/listfuns.dats0000664000175000017500000000233712655455557020222 0ustar hwxihwxi// // Some common list-functions // (* ****** ****** *) // // Author: Hongwei Xi // Authoremail: gmhwxi AT gmail DOT com // Start time: June, 2013 // (* ****** ****** *) // // HX-2013-06-19: // For the first time, the ATS2 compiler (ATS/Postiats) // is able to properly handle case-expressions, generating // *highly* optimized code. Voila! // (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) fun fromto (l: int, r: int): List0 (int) = ( if l < r then cons{int}(l, fromto (l+1, r)) else nil () ) // end of [fromto] (* ****** ****** *) fun{a:t0p} length (xs: List0 (INV(a))): int = ( case+ xs of | cons (_, xs) => 1 + length (xs) | nil () => 0 ) // end of [length] (* ****** ****** *) fun zip{n:int} ( xs: list (int, n) , ys: list (int, n) ) : list ((int, int), n) = let in // case+ (xs, ys) of | (cons (x, xs), cons (y, ys)) => cons{(int,int)}((x, y), zip (xs, ys)) | (nil (), nil ()) => nil () // end // end of [zip] (* ****** ****** *) implement main0 () = { // #define N 10 // val out = stdout_ref val xs = fromto (0, N) val () = assertloc (length (xs) = N) val xxs = zip (xs, xs) val () = assertloc (length (xxs) = N) // } // end of [main0] (* ****** ****** *) (* end of [listfuns.dats] *) ATS2-Postiats-0.2.6/./Makefile0000777000175000017500000000000012655455557017054 2Makefile_distustar hwxihwxiATS2-Postiats-0.2.6/./bin/0000775000175000017500000000000012655455557013506 5ustar hwxihwxiATS2-Postiats-0.2.6/./bin/patsopt_env.sh.in0000664000175000017500000000125612655455557017015 0ustar hwxihwxi#!/bin/sh # # Author: Likai Liu (likai AT cs DOT bu DOT edu) # # Author2: Hongwei Xi (gmhwxi AT gmail DOT com) // September, 2013 # PACKAGE_TARNAME=@PACKAGE_TARNAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ prefix=@prefix@ if [ ! "$PATSHOME" ] ; then export PATSHOME="$prefix/lib/${PACKAGE_TARNAME}-${PACKAGE_VERSION}" fi if [ ! -d "$PATSHOME" ] ; then echo "ATS-Postiats should have been available at '${PATSHOME}'"; exit 1 fi prog=`basename $0` case $prog in patsopt) exec "$PATSHOME/bin/$prog" "$@" ;; *) echo "This is a script for patsopt." echo "The script should be symbolically named as [patsopt]." exit 1 ;; esac # # end of [patsopt_env.sh.in] # ATS2-Postiats-0.2.6/./bin/patscc_env.sh.in0000664000175000017500000000125212655455557016574 0ustar hwxihwxi#!/bin/sh # # Author: Likai Liu (likai AT cs DOT bu DOT edu) # # Author2: Hongwei Xi (gmhwxi AT gmail DOT com) // September, 2013 # PACKAGE_TARNAME=@PACKAGE_TARNAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ prefix=@prefix@ if [ ! "$PATSHOME" ] ; then export PATSHOME="$prefix/lib/${PACKAGE_TARNAME}-${PACKAGE_VERSION}" fi if [ ! -d "$PATSHOME" ] ; then echo "ATS-Postiats should have been available at '${PATSHOME}'"; exit 1 fi prog=`basename $0` case $prog in patscc) exec "$PATSHOME/bin/$prog" "$@" ;; *) echo "This is a script for patscc." echo "The script should be symbolically named as [patscc]." exit 1 ;; esac # # end of [patscc_env.sh.in] # ATS2-Postiats-0.2.6/./bin/.keeper0000664000175000017500000000000012655455557014750 0ustar hwxihwxiATS2-Postiats-0.2.6/./install-sh0000775000175000017500000003325612655455557014753 0ustar hwxihwxi#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for `test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ATS2-Postiats-0.2.6/./contrib/0000775000175000017500000000000012655455557014376 5ustar hwxihwxiATS2-Postiats-0.2.6/./contrib/.keeper0000664000175000017500000000000012655455557015640 0ustar hwxihwxiATS2-Postiats-0.2.6/./configure0000775000175000017500000043542612655455557014663 0ustar hwxihwxi#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for ATS2/Postiats 0.2.6. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: gmpostiats@gmail.com about your system, including any $0: error possibly output before this message. Then install $0: a modern shell, or manually run the script under such a $0: shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ATS2/Postiats' PACKAGE_TARNAME='ats2-postiats' PACKAGE_VERSION='0.2.6' PACKAGE_STRING='ATS2/Postiats 0.2.6' PACKAGE_BUGREPORT='gmpostiats@gmail.com' PACKAGE_URL='' ac_unique_file="config.h.in" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS LIBOBJS HAVE_LIBGMP EGREP GREP CPP LN_S MKDIR_P INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures ATS2/Postiats 0.2.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/ats2-postiats] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of ATS2/Postiats 0.2.6:";; esac cat <<\_ACEOF Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF ATS2/Postiats configure 0.2.6 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ----------------------------------- ## ## Report this to gmpostiats@gmail.com ## ## ----------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by ATS2/Postiats $as_me 0.2.6, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" ac_config_files="$ac_config_files config.mk" ac_config_files="$ac_config_files bin/patscc_env.sh" ac_config_files="$ac_config_files bin/patsopt_env.sh" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in gmp.h do : ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" if test "x$ac_cv_header_gmp_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GMP_H 1 _ACEOF fi done HAVE_LIBGMP=${ac_cv_header_gmp_h%no} # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 $as_echo_n "checking size of void*... " >&6; } if ${ac_cv_sizeof_voidp+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : else if test "$ac_cv_type_voidp" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (void*) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_voidp=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 $as_echo "$ac_cv_sizeof_voidp" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_VOIDP $ac_cv_sizeof_voidp _ACEOF for ac_func in posix_memalign memalign do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by ATS2/Postiats $as_me 0.2.6, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ ATS2/Postiats config.status 0.2.6 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; "bin/patscc_env.sh") CONFIG_FILES="$CONFIG_FILES bin/patscc_env.sh" ;; "bin/patsopt_env.sh") CONFIG_FILES="$CONFIG_FILES bin/patsopt_env.sh" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi ATS2-Postiats-0.2.6/./VERSION0000664000175000017500000000000612655455557014002 0ustar hwxihwxi0.2.6 ATS2-Postiats-0.2.6/./utils/0000775000175000017500000000000012655455557014076 5ustar hwxihwxiATS2-Postiats-0.2.6/./utils/emacs/0000775000175000017500000000000012655455557015166 5ustar hwxihwxiATS2-Postiats-0.2.6/./utils/emacs/flymake-ats2.el0000664000175000017500000000477612655455557020025 0ustar hwxihwxi;; ATS Flymake Mode ;; Detects syntax and type errors and reports their location. ;; ;; Install: add the following to your .emacs ;; ;; (require 'flymake-ats2) ;; ;; The ATSHOME environment variable may need to be set from within emacs: ;; ;; (setenv "ATSHOME" "/path/to/ats2") ;; ;; If you use PATSHOME instead of ATSHOME, please set PATSHOME as follows: ;; ;; (setenv "PATSHOME" "/path/to/ats2") ;; ;; Author: Quackzone ;; The original code was posted by 'Quackzone' to ATS-subreddit (2012) ;; Modified by Brandon Barker and Hongwei Xi ;; (require 'flymake) (defvar flymake-ats2-command "patscc" "Command used to check an ATS2 file for errors") (defvar flymake-ats2-command-options "-tcats" "Options passed to the command used to check a file for errors") (defun flymake-ats2-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) (list flymake-ats2-command (list flymake-ats2-command-options local-file)))) ;; List of file extensions that trigger flymake-ats2. (push '(".+\\.sats$" flymake-ats2-init flymake-simple-cleanup) flymake-allowed-file-name-masks) (push '(".+\\.dats$" flymake-ats2-init flymake-simple-cleanup) flymake-allowed-file-name-masks) (push '(".+\\.hats$" flymake-ats2-init flymake-simple-cleanup) flymake-allowed-file-name-masks) ;; Regular expressions for detecting and reporting errors. (push '("^\\(syntax error\\): *\\([^ ]+\\):.*line=\\([0-9]+\\).*$" 2 3 nil 1) flymake-err-line-patterns) (push '("^\\(.+.dats\\|.+.sats\\|.+.hats\\):.*line=\\([0-9]+\\).*\\(error.+\\)$" 1 2 nil 3) flymake-err-line-patterns) (defun flymake-ats2-load () (flymake-mode t) ;; Utility key bindings for navigating errors reported by flymake. (local-set-key (kbd "C-c C-d") 'flymake-display-err-menu-for-current-line) (local-set-key (kbd "C-c C-n") 'flymake-goto-next-error) (local-set-key (kbd "C-c C-p") 'flymake-goto-prev-error) ;; Prevents flymake from throwing a configuration error ;; This must be done because atsopt returns a non-zero return value ;; when it finds an error, flymake expects a zero return value. (defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted) (setq flymake-check-was-interrupted t)) (ad-activate 'flymake-post-syntax-check)) (add-hook 'ats2-mode-hook 'flymake-ats2-load) (provide 'ats2-flymake) ;;; flymake-ats2.el ends here ATS2-Postiats-0.2.6/./utils/emacs/ats2-flymake.el0000664000175000017500000000474012655455557020014 0ustar hwxihwxi;; ATS Flymake Mode ;; Detects syntax and type errors and reports their location. ;; ;; Install: add the following to your .emacs ;; ;; (require 'ats2-flymake) ;; ;; The ATSHOME environment variable may need to be set from within emacs: ;; ;; (setenv "ATSHOME" "/path/to/ats2") ;; ;; If you use PATSHOME instead of ATSHOME, please set PATSHOME as follows: ;; ;; (setenv "PATSHOME" "/path/to/ats2") ;; ;; Author: Quackzone ;; The original code was posted by 'Quackzone' to ATS-subreddit (2012) ;; Modified by Brandon Barker and Hongwei Xi ;; (require 'flymake) (defvar ats2-flymake-command "patscc" "Command used to check an ATS2 file for errors") (defvar ats2-flymake-command-options "-tcats" "Options passed to the command used to check a file for errors") (defun ats2-flymake-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) (list ats2-flymake-command (list ats2-flymake-command-options local-file)))) ;; List of file extensions that trigger ats2-flymake. (push '(".+\\.sats$" ats2-flymake-init flymake-simple-cleanup) flymake-allowed-file-name-masks) (push '(".+\\.dats$" ats2-flymake-init flymake-simple-cleanup) flymake-allowed-file-name-masks) (push '(".+\\.hats$" ats2-flymake-init flymake-simple-cleanup) flymake-allowed-file-name-masks) ;; Regular expressions for detecting and reporting errors. (push '("^\\(syntax error\\): *\\([^ ]+\\):.*line=\\([0-9]+\\).*$" 2 3 nil 1) flymake-err-line-patterns) (push '("^\\(.+.dats\\|.+.sats\\|.+.hats\\):.*line=\\([0-9]+\\).*\\(error.+\\)$" 1 2 nil 3) flymake-err-line-patterns) (defun ats2-flymake-load () (flymake-mode t) ;; Utility key bindings for navigating errors reported by flymake. (local-set-key (kbd "C-c C-d") 'flymake-display-err-menu-for-current-line) (local-set-key (kbd "C-c C-n") 'flymake-goto-next-error) (local-set-key (kbd "C-c C-p") 'flymake-goto-prev-error) ;; Prevents flymake from throwing a configuration error ;; This must be done because atsopt returns a non-zero return value ;; when it finds an error, flymake expects a zero return value. (defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted) (setq flymake-check-was-interrupted t)) (ad-activate 'flymake-post-syntax-check)) (add-hook 'ats2-mode-hook 'ats2-flymake-load) (provide 'ats2-flymake) ATS2-Postiats-0.2.6/./utils/emacs/ats2-mode.el0000664000175000017500000003774512655455557017323 0ustar hwxihwxi;;; ats2-mode.el --- Major mode to edit ATS2 source code ;; Copyright (C) 2007 Stefan Monnier ;; updated and modified by Matthew Danish 2008-2013 ;; Author: Stefan Monnier ;; Keywords: ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; Todo: ;; - font-lock ;; - imenu ;; - outline ;; - indentation ;;; Code: (require 'cl) (require 'compile) (when (not (boundp 'xemacsp)) (setq xemacsp (boundp 'xemacs-logo))) (defvar ats-mode-syntax-table (let ((st (make-syntax-table))) ;; (*..*) for nested comments. (modify-syntax-entry ?\( "() 1n" st) (modify-syntax-entry ?\) ")( 4n" st) (modify-syntax-entry ?* ". 23n" st) ;; Not sure how to do // for single-line comments. ;; The current setting means that (/ and /* start a comment as well :-( (modify-syntax-entry ?/ ". 12b" st) (modify-syntax-entry ?\n "> b" st) ;; Strings. (modify-syntax-entry ?\" "\"" st) ;; Same problem as in Ada: ' starts a char-literal but can appear within ;; an identifier. So we can either default it to "string" syntax and ;; let font-lock-syntactic-keywords correct its uses in symbols, or ;; the reverse. We chose the reverse, which fails more gracefully. ;; Oh, and ' is also overloaded for '( '{ and '[ :-( (modify-syntax-entry ?\' "_ p" st) ;; (modify-syntax-entry ?\{ "(}" st) (modify-syntax-entry ?\} "){" st) (modify-syntax-entry ?\[ "(]" st) (modify-syntax-entry ?\] ")[" st) ;; Skip over @/# when going backward-sexp over @[...], #[...], ;; #ident and $ident. (modify-syntax-entry ?\@ ". p" st) (modify-syntax-entry ?\# ". p" st) (modify-syntax-entry ?\$ ". p" st) ;; Same thing for macro&meta programming. (modify-syntax-entry ?\` ". p" st) (modify-syntax-entry ?\, ". p" st) ;; Just a guess for now. (modify-syntax-entry ?\\ "\\" st) ;; Handle trailing +/-/* in keywords. ;; (modify-syntax-entry ?+ "_" st) ;; (modify-syntax-entry ?- "_" st) ;; (modify-syntax-entry ?* "_" st) ;; Symbolic identifiers are kind of like in SML, which is poorly ;; supported by Emacs. Worse: there are 2 kinds, one where "!$#?" are ;; allowed and one where "<>" are allowed instead. Hongwei, what's that ;; all about? (modify-syntax-entry ?% "." st) (modify-syntax-entry ?& "." st) (modify-syntax-entry ?+ "." st) (modify-syntax-entry ?- "." st) (modify-syntax-entry ?. "." st) ;; (modify-syntax-entry ?/ "." st) ; Already covered above for comments. (modify-syntax-entry ?: "." st) (modify-syntax-entry ?= "." st) ;; (modify-syntax-entry ?@ "." st) ; Already defined above. (modify-syntax-entry ?~ "." st) ;; (modify-syntax-entry ?` "." st) ; Already defined above. (modify-syntax-entry ?^ "." st) (modify-syntax-entry ?| "." st) ;; (modify-syntax-entry ?* "." st) ; Already covered above for comments. (modify-syntax-entry ?< "." st) (modify-syntax-entry ?> "." st) (modify-syntax-entry ?! "." st) ;; (modify-syntax-entry ?$ "." st) ; Already defined above. ;; (modify-syntax-entry ?# "." st) ; Already defined above. (modify-syntax-entry ?? "." st) ;; Real punctuation? (modify-syntax-entry ?: "." st) (modify-syntax-entry ?\; "." st) st)) (defvar ats-mode-font-lock-syntax-table (let ((st (copy-syntax-table ats-mode-syntax-table))) (modify-syntax-entry ?_ "w" st) st)) ;; Font-lock. (defface ats-font-lock-static-face '(;; (default :inherit font-lock-type-face) (t (:foreground "SkyBlue" :weight normal))) "Face used for static-related parts of code." :group 'ats-font-lock-faces) (defvar ats-font-lock-static-face 'ats-font-lock-static-face) (defface ats-font-lock-metric-face '(;; (default :inherit font-lock-type-face) (t (:foreground "Wheat" :weight bold))) "Face used for termination metrics." :group 'ats-font-lock-faces) (defvar ats-font-lock-metric-face 'ats-font-lock-metric-face) (defface ats-font-lock-keyword-face '(;; (default :inherit font-lock-keyword-face) (t (:foreground "Cyan" :weight normal))) "Face used for keywords." :group 'ats-font-lock-faces) (defvar ats-font-lock-keyword-face 'ats-font-lock-keyword-face) (defface ats-font-lock-c-face '(;; (default :inherit font-lock-comment-face) (t (:foreground "Pink" :weight normal))) "Face used for C code." :group 'ats-font-lock-faces) (defvar ats-font-lock-c-face 'ats-font-lock-c-face) (defun ats-context-free-search (regexp &optional limit) "Use inside a parenthesized expression to find a regexp at the same level." (let ((nest-lvl 0) foundp) (while (and (not (eobp)) (or (null limit) (not (> (point) limit))) (not (minusp nest-lvl)) (not (setq foundp (and (zerop nest-lvl) (looking-at regexp))))) (cond ((looking-at "(\\|\\[\\|{") (incf nest-lvl)) ((looking-at ")\\|\\]\\|}") (decf nest-lvl))) (forward-char 1)) foundp)) (defun ats-font-lock-mark-block () (let ((lines 64)) ; bit of a hack (set-mark (save-excursion (forward-line lines) (point))) (forward-line (- lines)))) (defun ats-font-lock-c-code-search (&optional limit) (interactive) ;; Font-lock mode works on regions that may not be large enough to ;; find both {% and %}. Really, they should be treated like ;; comments and put into the syntax table. Then the syntactic pass ;; would take care of C code. However, there is only room for 2 ;; kinds of comments in the table, and those are taken. So the ;; keyword pass can try to get them. But keyword pass doesn't ;; handle multiline keywords very well (because of region cutoff). ;; We can ignore the limit while searching, but coloration will not ;; happen outside the region anyway. So it's going to be a little ;; screwy no matter what. Not sure what to do about it. (setq limit nil) (let (begin end) (when (re-search-forward "%{" limit t) (setq begin (match-beginning 0)) (when (re-search-forward "%}" limit t) (setq end (match-end 0)) (when (and begin end) (store-match-data (list begin end)) (point)))))) (defun ats-font-lock-static-search (&optional limit) (interactive) (when (null limit) (setq limit (point-max))) (let (foundp begin end (key-begin 0) (key-end 0) pt) (flet ((store () (store-match-data (list begin end key-begin key-end)))) ;; attempt to find some statics to highlight and store the ;; points beginning and ending the region to highlight. needs ;; to be a loop in order to handle cases like ( foo : type ) ;; where initially it considers ( .. | .. ) but finds no '|' ;; char so it must then go inside and look for sub-regions like ;; ": type". ;; ;; Each branch of the cond must be sure to make progress, the ;; point must advance, or else infinite-loop bugs may arise. (while (and (not foundp) (< (point) limit)) (setq key-begin 0 key-end 0) (cond ((re-search-forward "(\\|:[^=]\\|{\\|[^[:space:].:-]<" limit t) (setq pt (setq begin (match-beginning 0))) (when pt (goto-char pt)) (cond ;; handle { ... } ((looking-at "{") (forward-char 1) (cond ((save-excursion (forward-word -1) (looking-at "where")) ;; except when preceeded by "where" keyword (setq pt nil)) ((re-search-forward "}" limit t) (setq end (match-end 0)) (store) (setq pt end) (setq foundp t)) (t (setq pt nil)))) ;; handle ( ... | ... ) ((looking-at "(") (forward-char 1) (incf begin) (cond ((null (ats-context-free-search "|\\|)" limit)) (setq pt nil)) ((looking-at "|") (setq end (match-end 0)) (store) (setq foundp t)) ((looking-at ")") (setq pt nil) ;; no | found so scan for other things inside ( ) (goto-char (1+ begin))))) ;; handle ... : ... ((looking-at ":[^=]") (forward-char 1) (let ((nest-lvl 0) finishedp) ;; emacs22 only: ;;(ats-context-free-search ")\\|\\_<=\\_>\\|," limit) (ats-context-free-search ")\\|[^=]=[^=]\\|,\\|\n\\|\\]" limit) (setq begin (1+ begin) end (point) key-begin (1- begin) key-end begin) (store) (setq foundp t))) ((looking-at "[^[:space:].:-]<") (forward-char 2) (incf begin) (cond ((re-search-forward ">" limit t) (setq end (match-end 0)) (store) (setq pt end) (setq foundp t)) (t (setq pt nil)))) (t (setq pt nil) (forward-char 1) (setq foundp t)))) (t (setq foundp t) (setq pt nil))))) pt)) (defvar ats-word-keywords '("abstype" "abst0ype" "absprop" "absview" "absvtype" "absviewtype" "absvt0ype" "absviewt0ype" "and" "as" "assume" "begin" "break" "continue" "classdec" "datasort" "datatype" "dataprop" "dataview" "datavtype" "dataviewtype" "do" "dynload" "else" "end" "exception" "extern" "extype" "extval" "fn" "fnx" "fun" "prfn" "prfun" "praxi" "castfn" "if" "in" "infix" "infixl" "infixr" "prefix" "postfix" "implmnt" "implement" "primplmnt" "primplement" "lam" "llam" "fix" "let" "local" "macdef" "macrodef" "nonfix" "overload" "of" "op" "rec" "scase" "sif" "sortdef" "sta" "stacst" "stadef" "stavar" "staload" "symelim" "symintr" "then" "try" "tkindef" "type" "typedef" "propdef" "viewdef" "vtypedef" "viewtypedef" "val" "prval" "var" "prvar" "when" "where" "for" "while" "with" "withtype" "withprop" "withview" "withvtype" "withviewtype")) (defun wrap-word-keyword (w) (concat "\\<" w "\\>")) (defvar ats-special-keywords '("$arrpsz" "$arrptrsize" "$delay" "$ldelay" "$effmask" "$effmask_ntm" "$effmask_exn" "$effmask_ref" "$effmask_wrt" "$effmask_all" "$extern" "$extkind" "$extype" "$extype_struct" "$extval" "$lst" "$lst_t" "$lst_vt" "$list" "$list_t" "$list_vt" "$rec" "$rec_t" "$rec_vt" "$record" "$record_t" "$record_vt" "$tup" "$tup_t" "$tup_vt" "$tuple" "$tuple_t" "$tuple_vt" "$raise" "$showtype" "$myfilename" "$mylocation" "$myfunction" "#assert" "#define" "#elif" "#elifdef" "#elifndef" "#else" "#endif" "#error" "#if" "#ifdef" "#ifndef" "#include" "#print" "#then" "#undef")) (defun wrap-special-keyword (w) (concat "\\" w "\\>")) (defvar ats-keywords (append (list "\\<\\(s\\)?case\\(+\\|*\\)?\\>") (mapcar 'wrap-word-keyword ats-word-keywords) (mapcar 'wrap-special-keyword ats-special-keywords))) (defvar ats-font-lock-keywords (append '((ats-font-lock-c-code-search (0 'ats-font-lock-c-face t)) ;; ("%{[[:print:][:cntrl:]]*%}" (0 'ats-font-lock-c-face)) ;; ("[^%]\\({[^|}]*|?[^}]*}\\)" (1 'ats-font-lock-static-face)) ;; ("[^']\\(\\[[^]|]*|?[^]]*\\]\\)" (1 'ats-font-lock-static-face)) ("\\.<[^>]*>\\." (0 'ats-font-lock-metric-face)) (ats-font-lock-static-search (0 'ats-font-lock-static-face) (1 'ats-font-lock-keyword-face))) (list (list (mapconcat 'identity ats-keywords "\\|") '(0 'ats-font-lock-keyword-face))))) (defvar ats-font-lock-syntactic-keywords '(("(\\(/\\)" (1 ". 1b")) ; (/ does not start a comment. ("/\\(*\\)" (1 ". 3")) ; /* does not start a comment. ("\\(/\\)///" (0 "< nb")) ; Start a comment with no end. ;; Recognize char-literals. ("[^[:alnum:]]\\('\\)\\(?:[^\\]\\|\\\\.[[:xdigit:]]*\\)\\('\\)" (1 "\"'") (2 "\"'")) )) (define-derived-mode c/ats-mode c-mode "C/ATS" "Major mode to edit C code embedded in ATS code." (unless (local-variable-p 'compile-command) (set (make-local-variable 'compile-command) (let ((file buffer-file-name)) (format "patscc -tcats %s" file))) (put 'compile-command 'permanent-local t)) (setq indent-line-function 'c/ats-mode-indent-line)) (defun c/ats-mode-indent-line (&optional arg) (let (c-start c-end) (save-excursion (if (re-search-backward "%{[^$]?" 0 t) (setq c-start (match-end 0)) (setq c-start 0))) (save-excursion (if (re-search-forward "%}" (point-max) t) (setq c-end (match-beginning 0)) (setq c-start (point-max)))) (save-restriction ;; restrict view of file to only the C code for the benefit of ;; the cc-mode indentation engine. (narrow-to-region c-start c-end) (c-indent-line arg)))) ;;;###autoload (define-derived-mode ats-mode fundamental-mode "ATS2" "Major mode to edit ATS2 source code." (set (make-local-variable 'font-lock-defaults) '(ats-font-lock-keywords nil nil ((?_ . "w") (?= . "_")) nil (font-lock-syntactic-keywords . ats-font-lock-syntactic-keywords) (font-lock-mark-block-function . ats-font-lock-mark-block))) (set (make-local-variable 'comment-start) "(*") (set (make-local-variable 'comment-continue) " *") (set (make-local-variable 'comment-end) "*)") (setq indent-line-function 'tab-to-tab-stop) (setq tab-stop-list (loop for x from 2 upto 120 by 2 collect x)) (setq indent-tabs-mode nil) (local-set-key (kbd "RET") 'newline-and-indent-relative) (unless (local-variable-p 'compile-command) (set (make-local-variable 'compile-command) (let ((file buffer-file-name)) (format "patscc -tcats %s" file))) (put 'compile-command 'permanent-local t)) (local-set-key (kbd "C-c C-c") 'compile) (cond ;; Emacs 21 ((and (< emacs-major-version 22) (not xemacsp)) (pushnew '("\\(syntax error: \\)?\\([^\n:]*\\): \\[?[0-9]*(line=\\([0-9]*\\), offs=\\([0-9]*\\))\\]?" 2 3 4) compilation-error-regexp-alist)) ;; Emacs 22+ has an improved compilation mode ((and (>= emacs-major-version 22) (not xemacsp)) (pushnew '(ats "\\(syntax error: \\)?\\([^\n:]*\\): \\[?[0-9]*(line=\\([0-9]*\\), offs=\\([0-9]*\\))\\]?\\(?: -- [0-9]*(line=\\([0-9]*\\), offs=\\([0-9]*\\))\\)?" 2 (3 . 5) (4 . 6)) compilation-error-regexp-alist-alist) (pushnew 'ats compilation-error-regexp-alist)) ;; XEmacs has something different, to be contrary (xemacsp (pushnew '(ats ("\\(syntax error: \\)?\\([^\n:]*\\): \\[?[0-9]*(line=\\([0-9]*\\), offs=\\([0-9]*\\))\\]?" 2 3 4)) compilation-error-regexp-alist-alist) (unless (eql 'all compilation-error-regexp-systems-list) (pushnew 'ats compilation-error-regexp-systems-list)) (compilation-build-compilation-error-regexp-alist) (message "WARNING! XEMACS IS DEAD AND DEPRECATED.")))) (defun newline-and-indent-relative () (interactive) (newline) (indent-to-column (save-excursion (forward-line -1) (back-to-indentation) (current-column)))) ;;;autoload (add-to-list 'auto-mode-alist '("\\.\\(s\\|d\\|h\\)ats\\'" . ats-mode)) (provide 'ats-mode) ;;; end of [ats2-mode.el] ATS2-Postiats-0.2.6/./utils/emacs/flycheck-ats2.el0000664000175000017500000000672612655455557020162 0ustar hwxihwxi;;; flycheck-ats2.el --- Flycheck: ATS2 support -*- lexical-binding: t; -*- ;; Copyright (C) 2015 Mark Laws ;; Author: Mark Laws ;; URL: http://github.com/drvink/flycheck-ats2 ;; Keywords: convenience, tools, languages ;; Version: 1.0 ;; Package-Requires: ((emacs "24.1") (flycheck "0.22")) ;; This file is not part of GNU Emacs. ;; Permission is hereby granted, free of charge, to any person obtaining a copy ;; of this software and associated documentation files (the "Software"), to deal ;; in the Software without restriction, including without limitation the rights ;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ;; copies of the Software, and to permit persons to whom the Software is ;; furnished to do so, subject to the following conditions: ;; ;; The above copyright notice and this permission notice shall be included in ;; all copies or substantial portions of the Software. ;; ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ;; SOFTWARE. ;;; Commentary: ;; This Flycheck extension provides an `ats2' syntax checker. ;; ;; # Setup ;; ;; Add the following to your init file: ;; ;; (with-eval-after-load 'flycheck ;; (flycheck-ats2-setup)) ;; ;; The ATSHOME environment variable may need to be set from within Emacs: ;; ;; (setenv "ATSHOME" "/path/to/ats2") ;; ;; If you use PATSHOME instead of ATSHOME, please set PATSHOME as follows: ;; ;; (setenv "PATSHOME" "/path/to/ats2") ;;; Code: (require 'flycheck) (flycheck-define-checker ats2 "ATS2 checker using patscc." :command ("patscc" "-tcats" source-inplace) :error-patterns ((error ;; This will catch all single-line messages: ;; ;; filename: 3120(line=151, offs=1) -- 3124(line=151, offs=5): error(3): the applied dynamic expression is of non-function type: S2Ecst(bool_t0ype) ;; filename: 3120(line=151, offs=1) -- 3124(line=151, offs=5): error(3): the dynamic expression cannot be assigned the type [S2Ecst(bool_t0ype)]. ;; ;; ...and multi-line messages of the same form that end with a colon, in ;; which case we assume there will be two following lines that should be ;; grouped with the first line, e.g.: ;; ;; filename: 3120(line=151, offs=1) -- 3124(line=151, offs=5): error(3): mismatch of static terms (tyleq): ;; The actual term is: S2Eerr() ;; The needed term is: S2Ecst(bool_t0ype) ;; file name bol (file-name) ;; offset of error start ?: space (1+ num) ;; line, column; start of error span "(line=" line ?, space "offs=" column ?\) ;; offset of error end space "--" space (1+ num) ;; line, column; end of error span "(line=" (1+ num) ?, space "offs=" (1+ num) "):" space ;; error message; up to three lines long (message (+? not-newline) (or (: ?: ?\n (repeat 2 (: (1+ not-newline) ?\n))) ?\n)))) :modes ats-mode) ;;;###autoload (defun flycheck-ats2-setup () "Set up Flycheck ATS2. Add `ats2' to `flycheck-checkers'." (interactive) (add-to-list 'flycheck-checkers 'ats2)) (provide 'ats2-flycheck) ;;; flycheck-ats2.el ends here ATS2-Postiats-0.2.6/./utils/emacs/.keeper0000664000175000017500000000000012655455557016430 0ustar hwxihwxiATS2-Postiats-0.2.6/./utils/atscc/0000775000175000017500000000000012655455557015173 5ustar hwxihwxiATS2-Postiats-0.2.6/./utils/atscc/patscc.dats0000664000175000017500000000574112655455557017334 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload "./atscc.sats" staload "./atscc_util.dats" (* ****** ****** *) staload "libc/DATS/stdlib.dats" (* ****** ****** *) dynload "./atscc_main.dats" dynload "./atscc_print.dats" (* ****** ****** *) implement main0 (argc, argv) = { // var status: int = 0 // val cas = atsccproc_commline (argc, argv) // // HX-2015-03-22: // [patscc] for [patscc -vats] // val cas = ( if argc >= 2 then cas else cas+'[CAvats] ) : commarglst // val help = atscc_help (cas) // val () = ( if help then atsopt_print_usage () ) (* end of [val] *) // val verb = ( if atscc_verbose (cas) then 1 else 0 ) : int // end of [val] // val cmd = atsopt_get () val argss = atsoptline_make_all (cas) val () = status := atsoptline_exec_all (verb, cmd, argss) // val cont = ( if status = 0 then true else false ) : bool // end of [val] val cont = ( if cont then atsccomp_cont (cas) else false ) : bool // end of [val] val () = if cont then { // val cmd = atsccomp_get2 (cas) val arglst = atsccompline_make (cas) val () = ( status := atsccompline_exec (verb, cmd, arglst) ) (* end of [val] *) // } (* end of [if] *) // end of [val] // val cont = ( if status = 0 then true else false ) : bool // end of [val] val cont = ( if cont then atscc_cleanaft_cont (cas) else false ) : bool // end of [val] // val () = ( if cont then atscc_cleanaft_exec (verb, cas) else ((*void*)) // end of [if] ) : void // end of [val] // val () = exit_void ( if status = 0 then 0(*success*) else 1(*failure*) ) (* end of [val] *) // } (* end of [main0] *) (* ****** ****** *) (* end of [patscc.dats] *) ATS2-Postiats-0.2.6/./utils/atscc/atscc_print.dats0000664000175000017500000002033712655455557020366 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STDLIB = "libc/SATS/stdlib.sats" staload _(*anon*) = "libc/DATS/stdlib.dats" (* ****** ****** *) staload "./atscc.sats" (* ****** ****** *) staload _(*anon*) = "./atscc_util.dats" (* ****** ****** *) typedef ca = commarg (* ****** ****** *) macdef unsome (opt) = stropt_unsome (,(opt)) macdef issome (opt) = stropt_is_some (,(opt)) (* ****** ****** *) implement fprint_commarg (out, ca) = let // macdef prstr (str) = fprint_string (out, ,(str)) // macdef propt (opt) = let val opt = ,(opt) in if issome (opt) then fprint_string (out, unsome(opt)) end // end of [propt] // in // case+ ca of // | CAhats () => prstr "CAhats()" | CAvats () => prstr "CAvats()" // | CAccats () => prstr "CAccats()" | CAtcats () => prstr "CAtcats()" // | CAhelp () => prstr "CAhelp()" // | CAgline () => prstr "CAgline()" // | CAverbose () => prstr "CAverbose()" // | CAcleanaft () => prstr "CAcleanaft()" // | CAatsccomp (opt) => ( prstr "CAatsccomp("; propt (opt); prstr ")" ) // | CAdats (0, opt) => ( prstr "CAdats("; propt (opt); prstr ")" ) | CAdats (_, opt) => ( prstr "CAddats("; propt (opt); prstr ")" ) // | CAiats (0, opt) => ( prstr "CAiats("; propt (opt); prstr ")" ) | CAiats (_, opt) => ( prstr "CAiiats("; propt (opt); prstr ")" ) // | CAfilats (0, opt) => ( prstr "CAfilats(0, "; propt (opt); prstr ")" ) | CAfilats (_, opt) => ( prstr "CAfilats(1, "; propt (opt); prstr ")" ) // | CA_tlcalopt_disable() => prstr "CA_tlcalopt_disable" | CA_constraint_ignore() => prstr "CA_constraint_ignore" // | CA_CCOMPitm (itm) => ( prstr "CA_CCOMPitm("; prstr (itm); prstr ")" ) // (* | _ => prstr "CA...(...)" *) // end // end of [fprint_commarg] (* ****** ****** *) implement fprint_commarglst (out, cas) = let // implement fprint_val (out, x) = fprint_commarg (out, x) // implement fprint_list$sep<> (out) = fprint_string (out, " ") // in fprint_list (out, cas) end // end of [fprint_ccomarglst] (* ****** ****** *) implement fprint_atsoptline (out, cas, ca0) = let // fun aux ( out: FILEref, ca: commarg, i: int ) : void = let in // case+ ca of // | CAtcats () => { val () = fprint (out, " --typecheck") } // | CAdats (_, opt) => ( if issome (opt) then aux_dats (out, unsome(opt)) ) // | CAiats (_, opt) => ( if issome (opt) then aux_iats (out, unsome(opt)) ) // | _ => () // end (* end of [aux] *) // and aux_dats ( out: FILEref, def0: string ) : void = { val () = fprint! (out, " -DATS ", def0) } and aux_iats ( out: FILEref, path: string ) : void = { val () = fprint! (out, " -IATS ", path) } // fun auxlst ( out: FILEref, cas: commarglst, i: int ) : void = let in // case+ cas of // | list_cons (ca, cas) => let val () = aux (out, ca, i) in auxlst (out, cas, i+1) end // end of [list_cons] // | list_nil ((*void*)) => () // end // end of [auxlst] // val atsopt = atsopt_get () // val () = fprint_string (out, atsopt) // val () = auxlst (out, cas, 1(*i*)) // in // case+ ca0 of | CAvats () => { val () = fprintln! (out, " --version") } | CAfilats (knd, opt) => if issome (opt) then { val name = unsome(opt) val outname = atscc_outname (knd, name) val () = fprint! (out, " --output ", outname) val () = if knd = 0 then fprintln! (out, " --static ", name) // end of [val] val () = if knd > 0 then fprintln! (out, " --dynamic ", name) // end of [val] } (* end of [if] *) | _ (* rest-of-CA *) => ((*void*)) // end // end of [fprint_atsoptline] (* ****** ****** *) implement fprint_atsoptline_all (out, cas0) = let // fun auxlst ( out: FILEref, cas1: commarglst_vt, cas2: commarglst ) : void = let in // case+ cas2 of | list_nil ((*void*)) => let val () = list_vt_free (cas1) in (*nothing*) end (* end of [list_nil] *) // | list_cons (ca2, cas2) => ( case+ ca2 of // | CAvats () => let val () = fprint_atsoptline (out, $UN.list_vt2t(cas1), ca2) // end of [val] in auxlst (out, cas1, cas2) end (* end of [CAvats] *) | CAtcats () => let val cas1 = list_vt_snoc (cas1, ca2) in auxlst (out, cas1, cas2) end (* end of [CAtcats] *) // | CAdats _ => let val cas1 = list_vt_snoc (cas1, ca2) in auxlst (out, cas1, cas2) end (* end of [CAdats] *) | CAiats _ => let val cas1 = list_vt_snoc (cas1, ca2) in auxlst (out, cas1, cas2) end (* end of [CAiats] *) // | CAfilats _ => let val () = fprint_atsoptline (out, $UN.list_vt2t(cas1), ca2) // end of [val] in auxlst (out, cas1, cas2) end (* end of [CAfilats] *) // | _(*ignored*) => auxlst (out, cas1, cas2) // ) (* end of [list_cons] *) // end // end of [auxlst] // in auxlst (out, list_vt_nil, cas0) end // end of [fprint_atsoptline_all] (* ****** ****** *) implement fprint_atsccompline (out, cas0) = let // fun aux ( out: FILEref, ca: commarg, i: int ) : void = let in // case+ ca of // | CAhats () => () | CAvats () => () // | CAccats () => () | CAtcats () => () // | CAhelp () => () // | CAgline () => () // | CAcleanaft () => () // | CAverbose _ => () // | CAatsccomp _ => () // | CAdats (0, opt) => () | CAdats (_, opt) => ( if issome (opt) then { val () = fprint! (out, " -D ", unsome(opt)) } else ((*void*)) // end of [if] ) // | CAiats (0, opt) => () | CAiats (_, opt) => ( if issome (opt) then { val () = fprint! (out, " -I ", unsome(opt)) } else ((*void*)) // end of [if] ) // | CAfilats (0, opt) => ( if issome (opt) then aux_fsats (out, unsome(opt)) ) | CAfilats (_, opt) => ( if issome (opt) then aux_fdats (out, unsome(opt)) ) // | CA_tlcalopt_disable () => () | CA_constraint_ignore () => () // | CA_CCOMPitm (itm) => aux_CCOMPitm (out, itm) // end // end of [aux] and aux_fsats (out: FILEref, path: string): void = { val outname = atscc_outname (0(*sta*), path) val () = fprint (out, ' ') val () = fprint_string (out, outname) } and aux_fdats (out: FILEref, path: string): void = { val outname = atscc_outname (1(*dyn*), path) val () = fprint (out, ' ') val () = fprint_string (out, outname) } and aux_CCOMPitm (out: FILEref, item: string): void = { val () = fprint (out, ' ') val () = fprint_string (out, item) } fun auxlst ( out: FILEref, cas: commarglst, i: int ) : void = let in // case+ cas of | list_cons (ca, cas) => let val () = aux (out, ca, i) in auxlst (out, cas, i+1) end // end of [list_cons] | list_nil ((*void*)) => () // end // end of [auxlst] // val-list_cons (ca, cas) = cas0 // val () = fprint (out, atsccomp_get ()) // val () = auxlst (out, cas, 1(*i*)) val () = fprint_newline (out) // in (* nothing *) end // end of [fprint_atsccompline] (* ****** ****** *) (* end of [atscc_print.dats] *) ATS2-Postiats-0.2.6/./utils/atscc/Makefile0000664000175000017500000000125312655455557016634 0ustar hwxihwxi# # Makefile for [atscc] # ###### # CC=gcc CFLAGS=-std=c99 -D_XOPEN_SOURCE # ###### PATSHOMEQ="$(PATSHOME)" ###### PATSCC=$(PATSHOMEQ)/bin/patscc PATSOPT=$(PATSHOMEQ)/bin/patsopt ###### INCLUDE=-I$(PATSHOMEQ) -I$(PATSHOMEQ)/ccomp/runtime ###### all:: clean all:: patscc ###### # patscc: \ patscc_dats.c \ atscc_main_dats.c \ atscc_print_dats.c ; \ $(CC) $(INCLUDE) $(CFLAGS) -DATS_MEMALLOC_LIBC -O2 -o $@ $^ # ###### %_dats.c: %.dats; $(PATSOPT) --output $@ --dynamic $< ###### RMF=rm -f ###### clean:: ; $(RMF) *~ clean:: ; $(RMF) *_?ats.o clean:: ; $(RMF) *_?ats.c ###### cleanall:: clean cleanall:: ; $(RMF) patscc ###### ###### end of [Makefile] ###### ATS2-Postiats-0.2.6/./utils/atscc/atscc.sats0000664000175000017500000001003312655455557017161 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) datatype commarg = // | CAhats of () // -hats: patsopt --help | CAvats of () // -vats: patsopt --version // | CAccats of () // -ccats: compilation only | CAtcats of () // -tcats: typechecking only // | CAhelp of () // --help: usage information | CAgline of () // --gline: line programa info // | CAverbose of () // -verbose: verbosity | CAcleanaft of () // -cleanaft: cleaning up *_?ats.c files // | CAatsccomp of (stropt) // -atsccomp 'gcc ...' // | CAdats of (int(*knd*), stropt) // knd=0/1:-DATS/-DDATS | CAiats of (int(*knd*), stropt) // knd=0/1:-IATS/-IIATS // | CAfilats of (int(*knd*), stropt) // knd=0/1:-fsats/-fdats // | CA_tlcalopt_disable // --tlcalopt-disable | CA_constraint_ignore // --constraint-ignore // | CA_CCOMPitm of string // any generic item is passed to $(CCOMP) // end of [commarg] (* ****** ****** *) typedef commarglst = List0 (commarg) vtypedef commarglst_vt = List0_vt (commarg) (* ****** ****** *) // fun fprint_commarg (out: FILEref, ca: commarg): void fun fprint_commarglst (out: FILEref, cas: commarglst): void // overload fprint with fprint_commarg of 0 overload fprint with fprint_commarglst of 10 // (* ****** ****** *) // fun{} atsopt_get (): string fun{} atsopt_print_usage (): void // (* ****** ****** *) // fun{} atsccomp_get (): string fun{} atsccomp_get2 (cas: commarglst): string // (* ****** ****** *) // // HX: flag=0/1:static/dynamic // fun atscc_outname (flag: int, path: string): string // (* ****** ****** *) fun atsccproc_commline {n:int} (int n, !argv(n)): commarglst (* ****** ****** *) // fun fprint_atsoptline ( out: FILEref, cas: commarglst, ca0: commarg ) : void // end of [fprint_atsoptline] // fun fprint_atsoptline_all (FILEref, commarglst): void // (* ****** ****** *) fun fprint_atsccompline (out: FILEref, cas: commarglst): void (* ****** ****** *) // fun atsoptline_make (cas: !RD(commarglst), ca0: commarg): stringlst_vt // fun atsoptline_make_all(cas: commarglst): List0_vt(stringlst_vt) // (* ****** ****** *) fun atsccompline_make (cas: commarglst): stringlst_vt (* ****** ****** *) // fun atsoptline_exec (flag: int, atsopt: string, args: stringlst_vt): int(*status*) fun atsoptline_exec_all (flag: int, atsopt: string, args: List_vt (stringlst_vt)): int(*status*) // (* ****** ****** *) // fun atsccomp_cont (cas: commarglst): bool // fun atsccompline_exec (flag: int, atsccomp: string, args: stringlst_vt): int(*status*) // (* ****** ****** *) fun atscc_help (cas: commarglst): bool fun atscc_verbose (cas: commarglst): bool (* ****** ****** *) fun atscc_cleanaft_cont (cas: commarglst): bool fun atscc_cleanaft_exec (flag: int, cas: commarglst): void (* ****** ****** *) (* end of [atscc.sats] *) ATS2-Postiats-0.2.6/./utils/atscc/atscc_util.dats0000664000175000017500000001402212655455557020201 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) staload STDLIB = "libc/SATS/stdlib.sats" (* ****** ****** *) staload "./atscc.sats" (* ****** ****** *) macdef unsome (opt) = stropt_unsome (,(opt)) macdef issome (opt) = stropt_is_some (,(opt)) (* ****** ****** *) #define ATSOPT_DEFAULT "patsopt" (* ****** ****** *) implement {}(*tmp*) atsopt_get () = let // val def = $STDLIB.getenv_gc ("PATSOPT") // in // if strptr2ptr (def) > 0 then strptr2string (def) else let prval () = strptr_free_null (def) in ATSOPT_DEFAULT end (* end of [if] *) // end of [if] // end // end of [atsopt_get] (* ****** ****** *) #define ATSOPT_USAGE "\ Usage: patscc [options] ... // Options: // -h: This flag is a short form of [--help]. // --help: This flag is for inquiring usage information on atscc. // -hats: This flag is for inquiring usage information on atsopt. // -vats: This flag is for inquiring version information on atsopt. // -ccats: This flag indicates that atscc is only required to compile files containing ATS code into corresponding files containing C code and it should not attempt to compile the generated C code. // -tcats: This flag indicates that atscc is only required to typecheck files containing ATS code. // --gline: This flag is passed to atsopt for generating line pragma information in the generated C code. // -verbose: This flag indicates that each command-line executed by atscc should be printed out. // -cleanaft: This flag indicates that each C file generated by atsopt should be removed once subsequent C-compilation is finished. // -atsccomp: This flag indicates that the next argument is to be interpreted as the C-compilation command subsequently employed for processing the generated C files. If this flag is not present, then the value of the environment variable ATSCCOMP is interpreted as the C-compilation command. // -DATS: // This flag indicates that the next argument, which should be a name or name/value pair (separated by the symbol =), is to be passed to atsopt as a top-level definition. // -DDATS: // This flag indicates that the next argument, which should be a name or name/value pair (separated by the symbol =), is to be passed to both atsopt and the subsequent C-compilation command as a top-level definition. // -IATS: This flag indicates that the next argument should be passed to atsopt as an include-path. // -IIATS: This flag indicates that the next argument should be passed to both atsopt and the subsequent C-compilation command as an include-path. // -fsats: This flag indicates that the next argument should be interpreted as the name of a file containing static ATS code. Note that this flag is unnecessary if the name of the file ends with the extension .sats. // -fdats: This flag indicates that the next argument should be interpreted as the name of a file containing dynamic ATS code. Note that this flag is unnecessary if the name of the file ends with the extension .dats. // (* // // HX: // no support yet: // --constraint-export: This flag indicates that the constaints generated during typechecking are to be exported so as to allows them be to solved externally. *) // --constraint-ignore: This flag indicates that constaint-solving is to be ignored during typechecking. Note that this is a dangerous flag and it is only suggested to be used with proper justification (such as constraint-solving being performed externally) // " (* end of [ATSOPT_USAGE] *) // implement {}(*tmp*) atsopt_print_usage() = fprint_string (stdout_ref, ATSOPT_USAGE) // (* ****** ****** *) #define ATSCCOMP_DEFAULT "\ gcc -std=c99 -D_XOPEN_SOURCE \ -I${PATSHOME} -I${PATSHOME}/ccomp/runtime \ -L${PATSHOME}/ccomp/atslib/lib -L${PATSHOME}/ccomp/atslib/lib64 \ " (* ****** ****** *) (* (* ** HX: this one is suggested by Barry Schwartz, MN, USA *) #define ATSCCOMP_DEFAULT2 "\ gcc -std=c99 \ -D_XOPEN_SOURCE \ -I${PATSHOME} -I${PATSHOME}/ccomp/runtime \ -L${PATSHOME}/ccomp/atslib/lib -L${PATSHOME}/ccomp/atslib/lib64 \ -Wl,--warn-common \ " *) (* ****** ****** *) implement {}(*tmp*) atsccomp_get () = let // val def = $STDLIB.getenv_gc ("PATSCCOMP") // in // if strptr2ptr (def) > 0 then strptr2string (def) else let prval () = strptr_free_null(def) in ATSCCOMP_DEFAULT end // end of [else] // end // end of [atsccomp_get] (* ****** ****** *) implement{} atsccomp_get2 (cas) = let (* val () = println! ("atsccomp_get2") *) in // case+ cas of | list_cons (ca, cas) => ( case+ ca of | CAatsccomp (opt) => ( if issome(opt) then unsome(opt) else atsccomp_get2 (cas) // end of [if] ) (* end of [CAatsccomp] *) | _ (*void*) => atsccomp_get2 (cas) ) (* end of [list_cons] *) | list_nil () => atsccomp_get () // end // end of [atsccomp_get2] (* ****** ****** *) (* end of [atscc_util.dats] *) ATS2-Postiats-0.2.6/./utils/atscc/atscc_main.dats0000664000175000017500000005317212655455557020161 0ustar hwxihwxi(***********************************************************************) (* *) (* Applied Type System *) (* *) (***********************************************************************) (* ** ATS/Postiats - Unleashing the Potential of Types! ** Copyright (C) 2011-2013 Hongwei Xi, ATS Trustful Software, Inc. ** All rights reserved ** ** ATS is free software; you can redistribute it and/or modify it under ** the terms of the GNU GENERAL PUBLIC LICENSE (GPL) as published by the ** Free Software Foundation; either version 3, or (at your option) any ** later version. ** ** ATS is distributed in the hope that it will be useful, but WITHOUT ANY ** WARRANTY; without even the implied warranty of MERCHANTABILITY or ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ** for more details. ** ** You should have received a copy of the GNU General Public License ** along with ATS; see the file COPYING. If not, please write to the ** Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ** 02110-1301, USA. *) (* ****** ****** *) (* Author: Hongwei Xi *) (* Authoremail: hwxi AT cs DOT bu DOT edu *) (* Start time: July, 2013 *) (* ****** ****** *) // #include "share/atspre_staload.hats" // (* ****** ****** *) staload UN = "prelude/SATS/unsafe.sats" (* ****** ****** *) staload STDLIB = "libc/SATS/stdlib.sats" staload UNISTD = "libc/SATS/unistd.sats" (* ****** ****** *) staload "./atscc.sats" (* ****** ****** *) staload _(*anon*) = "./atscc_util.dats" (* ****** ****** *) typedef ca = commarg (* ****** ****** *) macdef unsome (opt) = stropt_unsome (,(opt)) macdef issome (opt) = stropt_is_some (,(opt)) (* ****** ****** *) macdef isfilsats (name) = filename_test_ext (,(name), "sats") macdef isfildats (name) = filename_test_ext (,(name), "dats") macdef isfilhats (name) = filename_test_ext (,(name), "hats") (* ****** ****** *) fun{ } argv_getopt_at {n:int}{i:nat} ( n: int n, argv: !argv(n), i: int i ) : stropt = ( if i < n then stropt_some (argv[i]) else stropt_none () ) (* end of [argv_getopt_at] *) (* ****** ****** *) local // // HX: this is a bit heavy-handed, but ... // fun auxmain ( path: string, sfx: string ) : string = let // val ( fpf | base ) = filename_get_base (path) val base2 = g1ofg0 ($UN.strptr2string (base)) val nb = string1_length (base2) // val (fpf2 | ext) = filename_get_ext (base2) val isext = strptr2ptr(ext) > 0 // #define CHR1 '\001' // val res = ( if isext then let // val ne = string0_length ($UN.strptr2string (ext)) val len = nb+i2sz(2) // HX: 2 -> .c // implement string_tabulate$fopr<> (i) = let // val i = g1ofg0(i) val ne1 = succ (ne) // in // case+ 0 of | _ when (i+ne1 = nb) => '_' | _ when (i < nb) => base2[i] | _ when (i = nb+i2sz(0)) => '.' | _ when (i = nb+i2sz(1)) => 'c' | _ => CHR1 // end // end of [string_tabulate$fwork] // in strnptr2string (string_tabulate(len)) end else let // val sfx = g1ofg0(sfx) val nsfx = string1_length (sfx) val len = nb+nsfx // implement string_tabulate$fopr<> (i) = let // val i = g1ofg0(i) in // case+ 0 of | _ when (i < nb) => base2[i] | _ when (i < len) => let extern praxi __assert{i,j:int} (size_t i, size_t j): [i >= j] void prval () = __assert (i, nb) in sfx[i-nb] end // end of [_ when ...] | _ => CHR1 // end // end of [string_tabulate$fwork] // in strnptr2string (string_tabulate(len)) end // end of [if] ) : string // end of [val] // prval () = fpf (base) and () = fpf2 (ext) // in res end // end of [auxmain] in (* in of [local] *) implement atscc_outname (flag, path) = let in // if flag = 0 then auxmain (path, "@sats.c") else auxmain (path, "@dats.c") // end of [if] // end // end of [atscc_outname] end // end of [local] (* ****** ****** *) local fun aux0 {n:int} {i:nat | i <= n} .<3*(n-i)+2>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = ( if i < n then aux1 (n, argv, i, res) else res ) // end of [aux0] and aux1 {n:int} {i:nat | i < n} .<3*(n-i)+1>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let // val str0 = argv[i] // in // case+ 0 of // | _ when (str0="-h") => let val res = list_vt_cons{ca}(CAhelp(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="--help") => let val res = list_vt_cons{ca}(CAhelp(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-hats") => let val res = list_vt_cons{ca}(CAhats(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-vats") => let val res = list_vt_cons{ca}(CAvats(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-ccats") => let val res = list_vt_cons{ca}(CAccats(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] | _ when (str0="-tcats") => let val res = list_vt_cons{ca}(CAtcats(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="--gline") => let val res = list_vt_cons{ca}(CAgline(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-verbose") => let val res = list_vt_cons{ca}(CAverbose(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-cleanaft") => let val res = list_vt_cons{ca}(CAcleanaft(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ when (str0="-atsccomp") => aux1_atsccomp (n, argv, i+1, res) // | _ when (str0="-IATS") => aux1_iats (n, argv, i+1, res) | _ when (str0="-IIATS") => aux1_iiats (n, argv, i+1, res) // | _ when (str0="-DATS") => aux1_dats (n, argv, i+1, res) | _ when (str0="-DDATS") => aux1_ddats (n, argv, i+1, res) // | _ when (str0="-fsats") => aux1_fsats (n, argv, i+1, res) | _ when (str0="-fdats") => aux1_fdats (n, argv, i+1, res) // | _ when isfilsats(str0) => aux1_fsats (n, argv, i+0, res) | _ when isfildats(str0) => aux1_fdats (n, argv, i+0, res) // | _ when isfilhats(str0) => // HX-2014-10-17: aux1_fdats (n, argv, i+0, res) // hats -> dats // | _ when ( str0="--tlcalopt-disable" ) => let val res = list_vt_cons{ca}(CA_tlcalopt_disable(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] | _ when ( str0="--constraint-ignore" ) => let val res = list_vt_cons{ca}(CA_constraint_ignore(), res) in aux0 (n, argv, i+1, res) end // end of [_ when ...] // | _ => let val res = list_vt_cons{ca}(CA_CCOMPitm(str0), res) // end of [val] in aux0 (n, argv, i+1, res) end // end of [_] // end // end of [aux1] (* ****** ****** *) and aux1_atsccomp {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAatsccomp(opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_atsccomp] (* ****** ****** *) and aux1_iats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAiats(0, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_iats] and aux1_iiats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAiats(1, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_iiats] (* ****** ****** *) and aux1_dats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAdats(0, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_dats] and aux1_ddats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAdats(1, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_ddats] (* ****** ****** *) and aux1_fsats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAfilats(0, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_fsats] and aux1_fdats {n:int} {i:nat | i <= n} .<3*(n-i)+0>. ( n: int n , argv: !argv(n) , i: int i , res: commarglst_vt ) : commarglst_vt = let val opt = argv_getopt_at (n, argv, i) val res = list_vt_cons{ca}(CAfilats(1, opt), res) in if i < n then aux0 (n, argv, i+1, res) else res end // end of [aux1_fdats] in (* in of [local] *) implement atsccproc_commline (argc, argv) = let // prval ( ) = lemma_argv_param (argv) // val res = list_vt_nil{ca}() val res = aux0 (argc, argv, 0, res) val res = list_vt_reverse (res) // in list_vt2t(res) end // end of [atsccproc_commline] end (* end of [local] *) (* ****** ****** *) local vtypedef res = stringlst_vt fun aux ( ca: commarg, i: int, res: &res >> _ ) : void = let in // case+ ca of // | CAtcats () => { val ( ) = res := list_vt_cons{string}("--typecheck", res) // end of [val] } // | CAgline () => { val ( ) = res := list_vt_cons{string}("--gline", res) } // | CAdats (_, opt) => ( if issome (opt) then aux_dats (unsome(opt), res) ) // | CAiats (_, opt) => ( if issome (opt) then aux_iats (unsome(opt), res) ) // | CA_tlcalopt_disable () => { val ( ) = res := list_vt_cons{string}("--tlcalopt-disable", res) // end of [val] } // | CA_constraint_ignore () => { val ( ) = res := list_vt_cons{string}("--constraint-ignore", res) // end of [val] } // | _ => () // end (* end of [aux] *) // and aux_dats ( path: string, res: &res >> _ ) : void = { val () = res := list_vt_cons{string}("-DATS", res) val () = res := list_vt_cons{string}( path , res) } and aux_iats ( path: string, res: &res >> _ ) : void = { val () = res := list_vt_cons{string}("-IATS", res) val () = res := list_vt_cons{string}( path , res) } // fun auxlst ( cas: commarglst, i: int, res: &res >> _ ) : void = let in // case+ cas of | list_cons (ca, cas) => let val () = aux (ca, i, res) in auxlst (cas, i+1, res) end // end of [list_cons] | list_nil () => () // end // end of [auxlst] fun auxout (cas: commarglst): bool = ( case+ cas of | list_cons (ca, cas) => ( case+ ca of CAtcats () => false | _ => auxout (cas) ) | list_nil () => true ) // end of [auxout] in (* in of [local] *) implement atsoptline_make (cas, ca0) = let // var res: res = list_vt_nil () val () = auxlst (cas, 1(*i*), res) // val () = ( case+ ca0 of | CAhats () => { val () = res := list_vt_cons{string}("--help", res) } | CAvats () => { val () = res := list_vt_cons{string}("--version", res) } | CAfilats (knd, opt) => if issome (opt) then { val name = unsome(opt) val outname = atscc_outname (knd, name) // val () = if auxout (cas) then { val ( ) = res := list_vt_cons{string}("--output", res) val () = res := list_vt_cons{string}(outname, res) } // end of [if] // end of [val] // val () = if knd = 0 then res := list_vt_cons{string}("--static", res) // end of [val] val () = if knd > 0 then res := list_vt_cons{string}("--dynamic", res) // end of [val] val () = res := list_vt_cons{string}(name, res) // } (* end of [if] *) | _ => ((*void*)) ) : void // end of [val] // in list_vt_reverse (res) end // end of [atsoptline_make] end // end of [local] (* ****** ****** *) local // vtypedef res = stringlst_vt vtypedef ress = List0_vt (stringlst_vt) // macdef snoc = list_vt_snoc // fun auxlst ( cas1: commarglst_vt, cas2: commarglst, ress: &ress >> _ ) : void = let in // case+ cas2 of // | list_nil () => let val () = list_vt_free (cas1) in (*nothing*) end (* end of [list_nil] *) // | list_cons (ca2, cas2) => ( case+ ca2 of // | CAhats () => let val res = atsoptline_make ($UN.list_vt2t(cas1), ca2) val () = ress := list_vt_cons{res}(res, ress) in auxlst (cas1, cas2, ress) end (* end of [CAhats] *) // | CAvats () => let val res = atsoptline_make ($UN.list_vt2t(cas1), ca2) val () = ress := list_vt_cons{res}(res, ress) in auxlst (cas1, cas2, ress) end (* end of [CAvats] *) // | CAtcats () => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CAtcats] *) // | CAgline () => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CAgline] *) // | CAdats _ => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CAdats] *) | CAiats _ => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CAiats] *) // | CAfilats _ => let val res = atsoptline_make ($UN.list_vt2t(cas1), ca2) val () = ress := list_vt_cons{res}(res, ress) in auxlst (cas1, cas2, ress) end (* end of [CAfilats] *) // | CA_tlcalopt_disable() => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CA_tlcalopt_disable] *) | CA_constraint_ignore() => let val cas1 = snoc (cas1, ca2) in auxlst (cas1, cas2, ress) end (* end of [CA_constraint_ignore] *) // | _(*ignored*) => auxlst (cas1, cas2, ress) // ) (* end of [list_cons] *) // end // end of [auxlst] in (* in of [local] *) implement atsoptline_make_all (cas0) = let // var ress: ress = list_vt_nil val () = auxlst (list_vt_nil, cas0, ress) // in list_vt_reverse (ress) end // end of [atsoptline_make_all] end // end of [local] (* ****** ****** *) local vtypedef res = stringlst_vt fun aux ( ca: commarg, i: int, res: &res >> _ ) : void = let in // case+ ca of // | CAhats () => () | CAvats () => () // | CAccats () => () | CAtcats () => () // | CAhelp () => () // | CAgline () => () // | CAverbose () => () | CAcleanaft () => () // | CAatsccomp (opt) => () // | CAdats (0, opt) => () | CAdats (_, opt) => if issome (opt) then { val () = res := list_vt_cons{string}("-D", res) val () = res := list_vt_cons{string}(unsome(opt), res) } else ((*void*)) // end of [if] // | CAiats (0, opt) => () | CAiats (_, opt) => if issome (opt) then { val () = res := list_vt_cons{string}("-I", res) val () = res := list_vt_cons{string}(unsome(opt), res) } else ((*void*)) // end of [if] // | CAfilats (0, opt) => ( if issome (opt) then aux_fsats (unsome(opt), res) ) | CAfilats (_, opt) => ( if issome (opt) then aux_fdats (unsome(opt), res) ) // | CA_tlcalopt_disable () => () | CA_constraint_ignore () => () // | CA_CCOMPitm (item) => aux_CCOMPitm (item, res) // end // end of [aux] and aux_fsats (path: string, res: &res >> _): void = { val outname = atscc_outname (0(*sta*), path) val () = res := list_vt_cons{string}(outname, res) } and aux_fdats (path: string, res: &res >> _): void = { val outname = atscc_outname (0(*sta*), path) val () = res := list_vt_cons{string}(outname, res) } and aux_CCOMPitm (item: string, res: &res >> _): void = { val () = res := list_vt_cons{string}(item, res) } fun auxlst ( cas: commarglst, i: int, res: &res >> _ ) : void = let in // case+ cas of | list_cons (ca, cas) => let val () = aux (ca, i, res) in auxlst (cas, i+1, res) end // end of [list_cons] | list_nil () => () // end // end of [loop] in (* in of [local] *) implement atsccompline_make (cas0) = let // var res: res = list_vt_nil val-list_cons (ca, cas) = cas0 val () = auxlst (cas, 1(*i*), res) // in list_vt_reverse (res) end // end of [atsccompline_make] end // end of [local] (* ****** ****** *) local #define CNUL '\0' #define SPACE " " overload + with add_ptr0_bsz of 10 (* ****** ****** *) fun auxstr ( p0: &ptr >> _, n0: &size_t >> _, x: string ) : int = let // val n = string_length (x) // in // if n0 > n then let val _ = $extfcall ( ptr, "memcpy", p0, string2ptr(x), n ) // end of [val] val () = p0 := p0 + n and () = n0 := n0 - n in 0(*success*) end else ~1(*failure*) // end of [if] // end // end of [auxstr] fun auxstrlst_sep ( p0: &ptr >> _, n0: &size_t >> _, sep: string, xs: stringlst ) : int = let in // case+ xs of | list_cons (x, xs) => let val err = auxstr (p0, n0, sep) val err = ( if err = 0 then auxstr (p0, n0, x) else ~1 ) : int // end of [val] in if err = 0 then auxstrlst_sep (p0, n0, sep, xs) else ~1 end // end of [list_cons] | list_nil () => 0(*success*) // end // end of [auxstrlst_sep] (* ****** ****** *) fun auxline ( cmd: string , args: stringlst , bsz: sizeGte(1) ) : Strptr1 = let // val ( pfat , pfgc | p_st ) = malloc_gc (bsz) // var p0: ptr = p_st var n0: size_t = bsz val sep: string = SPACE // val err = auxstr (p0, n0, cmd) val err = ( if err = 0 then auxstrlst_sep (p0, n0, sep, args) else ~1 ) : int // end of [val] // in // if err = 0 then let val () = $UN.ptr0_set (p0, CNUL) in $UN.castvwtp0{Strptr1}((pfat, pfgc | p_st)) end else let val () = mfree_gc (pfat, pfgc | p_st) in auxline (cmd, args, bsz+bsz) end // end of [else] // end of [if] end // end of [auxline] (* ****** ****** *) in (* in of [local]*) implement atsoptline_exec (flag, atsopt, arglst) = let // val bsz = 1024 // HX: more or less arbitrary // val [l:addr] line = auxline (atsopt, $UN.list_vt2t(arglst), i2sz(bsz)) val () = list_vt_free (arglst) // val ( ) = if flag > 0 then { val () = fprintln! (stderr_ref, "exec(", line, ")") } (* end of [if] *) // val status = $STDLIB.system ($UN.strptr2string(line)) // val ( ) = if flag > 0 then { val () = fprintln! (stderr_ref, "exec(", line, ") = ", status) } (* end of [if] *) // val () = strptr_free (line) // in status end // end of [atsoptline_exec] (* ****** ****** *) implement atsoptline_exec_all (flag, atsopt, lines) = let // vtypedef lines = List_vt(stringlst_vt) // fun auxlst ( lines: lines, status: int ) : int = let in // case+ lines of | ~list_vt_cons (line, lines) => let val status = ( if status = 0 then atsoptline_exec (flag, atsopt, line) else let val () = list_vt_free (line) in status end // end of [else] // end of [if] ) : int // end of [val] in auxlst (lines, status) end // end of [cons] | ~list_vt_nil () => status // end // end of [auxlst] // in auxlst (lines, 0(*success*)) end // end of [atsoptline_exec_all] (* ****** ****** *) implement atsccomp_cont (cas) = let // fun auxlst ( cas: commarglst, n: int ) : bool = // case+ cas of | list_cons (ca, cas) => let in case+ ca of | CAccats _ => false | CAtcats _ => false | CAhelp () => auxlst (cas, n) | CAhats () => auxlst (cas, n) | CAvats () => auxlst (cas, n) | CAverbose () => auxlst (cas, n) | _ (*rest*) => auxlst (cas, n+1) end (* end of [cons] *) | list_nil ((*void*)) => if n > 0 then true else false // in // case+ cas of | list_nil () => false | list_cons (_, cas) => auxlst (cas, 0) // end // end of [atsccomp_cont] (* ****** ****** *) implement atsccompline_exec (flag, atsccomp, arglst) = let // val bsz = 1024 // HX: more or less arbitrary // val [l:addr] line = auxline (atsccomp, $UN.list_vt2t(arglst), i2sz(bsz)) val () = list_vt_free (arglst) // val ( ) = if flag > 0 then { val () = fprintln! (stderr_ref, "exec(", line, ")") } (* end of [if] *) // val status = $STDLIB.system ($UN.strptr2string(line)) // val ( ) = if flag > 0 then { val () = fprintln! (stderr_ref, "exec(", line, ") = ", status) } (* end of [if] *) // val () = strptr_free (line) // in status end // end of [atsccompline_exec] end // end of [local] (* ****** ****** *) implement atscc_help (cas) = let in // case+ cas of | list_cons (ca, cas) => ( case+ ca of | CAhelp () => true | _ => atscc_help (cas) ) | list_nil ((*void*)) => false // end // end of [atscc_help] (* ****** ****** *) implement atscc_verbose (cas) = let in // case+ cas of | list_cons (ca, cas) => ( case+ ca of | CAverbose () => true | _ => atscc_verbose (cas) ) | list_nil ((*void*)) => false // end // end of [atscc_verbose] (* ****** ****** *) implement atscc_cleanaft_cont (cas) = let in // case+ cas of | list_cons (ca, cas) => ( case+ ca of | CAcleanaft () => true | _ => atscc_cleanaft_cont (cas) ) | list_nil ((*void*)) => false // end // end of [atscc_cleanaft_cont] (* ****** ****** *) implement atscc_cleanaft_exec (flag, cas0) = let // fun rmf ( flag: int, opt: stropt ) : void = ( if issome(opt) then { val _(*err*) = $UNISTD.unlink (atscc_outname (flag, unsome(opt))) // end of [val] } // end of [if] ) (* end of [rmf] *) // fun auxlst ( cas: commarglst ) : void = let in // case+ cas of | list_cons (ca, cas) => ( case+ ca of | CAfilats (flag, opt) => ( let val () = rmf (flag, opt) in auxlst (cas) end ) (* end of [CAfilats] *) | _(*skipped*) => auxlst (cas) ) | list_nil ((*void*)) => () // end // end of [auxlst] // val ( ) = auxlst (cas0) val ( ) = if flag > 0 then { // val () = fprintln! ( stderr_ref, "atscc: removal of generated C-files is done." ) // } (* end of [val] *) // in // nothing end // end of [atscc_cleanaft_exec] (* ****** ****** *) (* end of [atscc_main.dats] *) ATS2-Postiats-0.2.6/./utils/atscc/.keeper0000664000175000017500000000000012655455557016435 0ustar hwxihwxiATS2-Postiats-0.2.6/./RELEASE/0000775000175000017500000000000012655455557014016 5ustar hwxihwxiATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.1-release.html0000664000175000017500000000273612655455557021501 0ustar hwxihwxi

ats2-postiats-0.0.1:


Date: September 2, 2013

This is the first release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

The actual implementation of ATS2 started in the March of 2011, and
it took about two and one-half years to reach this stage. As of now,
the code base for the compiler of ATS2 consists of 140,000+ lines of
code (LOC), which are nearly all written in ATS1.

When compared to ATS1, the single most important new feature is the
template system of ATS2. This is a feature that could potentially change
the way a programmer writes his or her code. One can certainly feel that
this is a very powerful feature (a bit like feeling that OOP is a very
powerful feature). However, how this feature should be properly and
effectively used in practice needs a lot more investigation.

Another thing about ATS2 is that it is a lot leaner than ATS. One can make
good use of ATS2 without any need for compiled library (libatslib.a). Also,
GC support in ATS1 is now removed; if needed, third-party GC (e.g.,
Bohem-GC) can be readily employed.

I will gradually list differences between ATS and ATS2, helping people
make the transition from ATS1 to ATS2.
ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.0-release.html0000664000175000017500000000264612655455557021502 0ustar hwxihwxi ATS2-0.2.0

ats2-postiats-0.2.0:


0.2.0

This is the 23rd release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Re-structuring CATS-parsemit
2. Creating ATS-Postiats-frozen for storing inactive projects
3. Porting Atscc2js based on the newly re-structured CATS-parsemit
4. Porting Atscc2php based on the newly re-structured CATS-parsemit
5. Porting Atscc2py based on the newly re-structured CATS-parsemit
6. Porting Atscc2pl based on the newly re-structured CATS-parsemit
7. Handling of HIPintrep is now supported
8. Porting ATSLIB/libats/funmap_rbtree to ATS2 from ATS1
9. Modifying jsonization of constraints to support ATS-extsolve
10. ATS-extsolve-z3 (Z3-based ATS-extsolve) can now be put into use
11. Performing occurs-checking before HYPObind(s2v, s2e) can be formed

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.5-release.html0000664000175000017500000000340612655455557021501 0ustar hwxihwxi ATS2-0.1.5

ats2-postiats-0.1.5:


This is the 14th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Supporting %(...) in macro definitions
   #define N 10
   #define N2 %(N + 1) // it is the same as: #define N1 11
   #define N2 %(N * N1) // it is the same as: #define N2 110
2. Issuing an error message if the size of a stack-allocated array
   cannot be determined at compile-time.
3. Fixing bug-2014-10-29 (see doc/BUGS), which caused an error in
   compiling embedded function templates.
4. Improving ats2langweb/Implements.html
5. Fixing bug-2014-11-14 (see doc/BUGS), which caused an error in
   compiling mutually tail-recursive functions
6. Fixing bug-2014-11-14-2 (see doc/BUGS), which caused an error in
   compiling inner functions defined inside mutually tail-recursive
   functions
7. Improving the implementation of ATSLIB/prelude/list_vt_mergesort
8. Supporting compilation from ATS to Perl: atscc2pl
9. Issuing the special comment #LINCONSTATUS==i to show the kind of
   an allocated constructor:
   i=0 => linear data constructor
   i=1 => nonlinear data constructor
   i=2 => nonlinear tuple constructor

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.2-release.html0000664000175000017500000000251412655455557021475 0ustar hwxihwxi ATS2-0.1.2

ats2-postiats-0.1.2:


This is the 11th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding support for complements of char patterns (P2TCcharc)
2. Adding support for a packaging value (#[...|...]) to be used as a funarg
3. Modifying the target language of ATS/Postiats to support ATS-parse-emit
4. Adding support for explicitly naming dynload-functions:
   #define ATS_DYNLOADNAME ...
5. Adding support for attaching a prefix to names of static vars and funs:
   #define ATS_STATIC_PREFIX ...

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.6-release.html0000664000175000017500000000343712655455557021506 0ustar hwxihwxi ATS2-0.1.6

ats2-postiats-0.1.6:


This is the 15th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Reorganizing ATSLIB/prelude
2. Improving ATS2-contrib/zeromq
3. Adding src/Makefile_CBOOTmin for minimally C-bootstrapping ATS2:
   There is no GCATS by default
   There is no dependency on libgmp
4. Code for level-2 jsonization is moved into
   pats_synent2_jsonize.sats
   pats_synent2_jsonize.dats
5. Adding various functions for traversing level-2 syntax See:
   pats_staexp2_appenv.hats
   pats_dynexp2_appenv.hats
   pats_constraint3_appenv.hats
6. Using a more compact format for representing exported constraints
7. Using a more compact format for representing JSONized level-2 syntax
8. Overhauling the build process for ATS1
9. Supporting NGC-bootstrapping (via ats-lang-anairiats-0.2.11-fin)
10. Automated testing (via Travis-CI) is substantially extended.
11. Building ATS2 on MACOSX (via ATS1-ngc) is formally documented
12. Adding support for bit vectors: libats/bitvec
13. Fixing bug-2015-01-03 (see doc/BUGS), which caused an error in
    compiling certain singular flat records.
14: Generally improving some error-handling code.

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.3-release.html0000664000175000017500000000277512655455557021506 0ustar hwxihwxi

ats2-postiats-0.0.3:


Date: September 29, 2013

This is the third release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Support for stack-allocated array-variables:
   var A = @[int][10]() // A: array(int?, 10) // uninitialized
   var A = @[int][10](0) // A: array(int, 10) // initialized with 0's
   var A = @[int](0, 1, 2, 3, 4, 5, 6, 7, 8, 9) // A: array(int, 10)

2. Support for ptr-style of stack-allocated variables:
   var !p_x: int = 0
   var !p_x: int with pf_x = @[int](1, 2, 3, 4, 5)

3. Support for fixed-point expressions:
   val fact = fix f (x: int): int => if x > 0 then x * f (x-1) else 1

4. Support for lazy-evaluation: $delay
   See ${PATSHOME}/doc/EXAMPLE/INTRO/sieve_lazy.dats

5. Support for linear lazy-evaluation: $ldelay
   See ${PATSHOME}/doc/EXAMPLE/INTRO/sieve_llazy.dats

6. Fixing a serious bug in closure compilation: the environment of a
   deeply embedded function could be miscomputed, causing the C target
   code generated from ATS source to contain errors.

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.0-release.html0000664000175000017500000000313512655455557021473 0ustar hwxihwxi ATS2-0.1.0

ats2-postiats-0.1.0:


This is the nineth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Moving ATS-Postiats/contrib out to ATS-Postiats-contrib
2. Fixing a bug causing embedded template instantiation to fail;
   please see doc/BUGS/bug-2014-05-05.dats for some details on this bug
3. Fixing a bug that may cause fnx-compilation in a template to fail
4. Making atspkgreloc_curl and atspkgreloc_wget available for package
   relocation
5. Fixing the minor bug recorded in doc/BUGS/bug-2014-05-17.dats
6. Implementing libats/hashtbl_linprb (hashtable via linear-probing)
7. Adding some rudimentary support for multi-threaded programming:
   ATS-Positiats-contrib/contrib/libats-hwxi/teaching/mythread/*
   Please see ATS-Positiats-contrib/projects/MEDIUM/SHOOTOUT/ATS2/*

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.1-release.html0000664000175000017500000000243412655455557021476 0ustar hwxihwxi ATS2-0.2.1

ats2-postiats-0.2.1:


0.2.1

This is the 24th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding support for $solver_asssert and $solver_verify
   This is mainly to facilitate the use of ATS-extsolve-z3
2. Fixing [s2exp_hnfize_app] in [pats_staexp2_util2.dats]
3. Adding testing code: doc/EXAMPLE/ATSLIB/libats_gflist.dats
4. Adding various matrix-functions to libatscc/matrixref
5. Adding prelude/grandom (for generating lists and arrays randomly)
6. Atscc2erl (from ATS to Erlang) is functioning!
7. Libatscc2erl is created to work with Atscc2erl
8. Supporting --tlcalopt-disable + fnx (important for atscc2erl)

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.6-release.html0000664000175000017500000000220112655455557021471 0ustar hwxihwxi

ats2-postiats-0.0.6:


Date: February 16, 2014

This is the sixth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Symbol for overloading no longer require to be declared first.
2. Adding libats-hwxi/cstream for supporting a simple style of lexing
3. Adding a direct API for Simple DirectMedia Layer 2.0 (SDL2).
4. Both static/extern function names are now stamped at the end.
5. Fixing a bug in pattern matching: left-values should be dereferenced!
6. Polymorphic data constructors no longer require explicit type arguments
   (for compilation purpose).
7. Handling of template parameters is greatly improved.

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.7-release.html0000664000175000017500000000276712655455557021513 0ustar hwxihwxi ATS2-0.0.7

ats2-postiats-0.0.7:


Date: March 30, 2014

This is the seventh release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Supporting stack-allocated closures
2. Fixing errmsg for a non-template being treated as a template
3. Changing default funclo-kind from FUNCLOptr to FUNCLOref
4. Fixing level-4 errmsg handling
5. Fixing a bug in the handling of lte_cls_cls (see: bug-2014-03-12)
6. Supporting creation of aliases for namespaces:
   staload $UNSAFE // opening the namespace $UNSAFE
   staload UN = $UNSAFE // forming an alias for $UNSAFE
7. Supporting creation of local namespaces // to-be-explained
8. Supporting tcc-0.9.26 for compiling C code generated from ATS source

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.7-release.html0000664000175000017500000000304412655455557021501 0ustar hwxihwxi ATS2-0.1.7

ats2-postiats-0.1.7:


This is the 16th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Improving some error-handling code.
2. Fixing bug-2015-01-07.
   One can use $tempenver to explicitly declare that a dynamic
   variable should be added to the environment of each template instance
   within the scope of $tempenver-declaration.
   A running example using this feature is available at
   https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-01-07.dats
3. Adding ATS2TUTORIAL/CHAP_RECURSION
4. Adding ATS2TUTORIAL/CHAP_DATATYPES
5. Fixing bug-2015-01-10:
   [pfobj_search_atview] is now stopped by either [lam] or [llam]
6. Fixing various issues with multi-file compliation via patsopt
7. Adding INT2PROGINATS/CHAP_ABSVTYPE/LockingAndUnlocking
8. Bootstrapping via the newly released package ATS1-0.2.12
9. Adding INT2PROGINATS/CHAP_ABSVTYPE/LinearChannelsForIPC

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.3-release.html0000664000175000017500000000342412655455557021477 0ustar hwxihwxi ATS2-0.1.3

ats2-postiats-0.1.3:


This is the 12th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding support for dot-notation overloading in assignments.
   This feature is mostly for interacting ATS with other languages.
   See ATS2TUTORIAL/CHAP_DOTOVERLD for a short article of explanation.
2. Adding support for functional style o dot-notation overloading.
   This feature makes it very convenient for ATS to interact with OOP.
3. Generally improving level-2 jsonization (pats_dynexp2_jsonize)
4. Adding support for extvar decl. (which is different from $extval):
   extval "external_name" = internal_value
5. ATS_DYNLOADFLAG is set to 1 by default only for DATS-files. So
   dynloading SATS-files is no longer necessary (but it is still harmless).
6. Adding support for $extmcall(ret_type, obj, "method", arglst),
   which translates into the method invocation: obj.method(arglst)
7. Adding -D_ATS_ARRAY_FIELD to safe-guard using array fields in records.

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.2-release.html0000664000175000017500000000312712655455557021475 0ustar hwxihwxi

ats2-postiats-0.0.2:


Date: September 19, 2013

This is the second release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Support for classdec.
   This feature is primarily for building APIs in ATS for external
   packages written in the OOP-style.

2. Support for ATS-package relocation.
   This feature is primarily for renaming and relocating external ATS
   packages (mostly library APIs). It is supposed to work together with
   atspkgreloc, a tool that does the actual package relocation. The tool
   is yet to be implemented.

3. Support for dot-notation overloading:
//
   symintr .x .y
   extern fun point_get_x (p: point): int
   extern fun point_get_y (p: point): int
   overload .x with point_get_x
   overload .y with point_get_y
//
   These declarations enable the following:
   [p.x] translates into [point_get_x(p)]
   [p.y] translates into [point_get_y(p)]

4. Fixing a very serious bug in pattern-matching compilation

5. Relocating contributed packages from ats2-lang to ats2-lang-contrib

6. Improving atslib: adding code, fixing bugs, improving documentation, etc.

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.4-release.html0000664000175000017500000000265212655455557021502 0ustar hwxihwxi ATS2-0.1.4

ats2-postiats-0.1.4:


This is the 13th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing the initialization of stacked allocated arrays:
   var A0 = @[int][4]() // A0 = ?,?,?,?
   var A1 = @[int][4](1) // A1 = 1,1,1,1
   var A2 = @[int][4](1,2) // A2 = 1,2,1,2
   var A3 = @[int][4](1,2,3) // A3 = 1,2,3,1
   var A4 = @[int][4](1,2,3,4) // A4 = 1,2,3,4
   var A5 = @[int][4](1,2,3,4,5) // A5 = 1,2,3,4
2. Fixing hidexp_is_lvalue:
   handling sequencing-expressions is supported
3. Support for lazy-evaluation is added to atscc2js 
4. ATStmpdec_void(...) is commented out in the generated C code
5. [patscc] is given a flag '-verbose' for controlling verbosity
(*
# HX: it is dropped:
6. [patscc] now passes the flag -Wl,warn-common to [gcc] by default
*)

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.5-release.html0000664000175000017500000000327212655455557021501 0ustar hwxihwxi

ats2-postiats-0.0.5:


Date: January 15, 2014

This is the fifth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing a glitch in initializing flat boxed-singleton records
   (see doc/BUGS/bug-2013-11-29)
2. Adding support for jsonizing level-2 syntax trees; this is planned
   for support tasks like meta-programming, constraint-exporting, etc.
3. Adding support for exporting constraints gathered during typechecking
   (command-line flag for this feature: --constraint-export)
4. Fixing bug-2013-12-04 (erroneous compilation of pattern matching)
5. Adding a direct API for the json-c package
6. Adding a direct API for the jansson package
7. Adding a minimal API for the pcre package
8. Adding support for 'static' dynamic constant declarations:
   static fun foo (...): res // this one is equivalent to the next one
   extern fun foo (...): res = "sta#" // it is equivalent to the above one
9. Improving support for exporting ATS-types to C
10. Requiring that each declared toplevel function be envless; closures
    need to be declared as values.
11. Supporting the flag -CSignore for patscc to ignore constraint-solving.
    Please only use it with proper justification!

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.13-release.html0000664000175000017500000000202112655455557021550 0ustar hwxihwxi ATS2-0.1.13

ats2-postiats-0.1.13:


0.1.13

This is the 22nd release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing a bug that associates static constants with
   incorrect filenames
2. Starting to put markers around error/warning messages
3. Fixing a bug causing mishandling of valimp in included code
4. Fixing a bug causing incorrect erasure of proof patterns

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.5-release.html0000664000175000017500000000354512655455557021506 0ustar hwxihwxi ATS2-0.2.5

ats2-postiats-0.2.5:


This is the 28th release of ATS2, the successor of the ATS
(currently referred to as ATS1) programming language. The compiler
for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply
Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib

Here is a list of major additions and changes since the last release:

1. With libatscc2js(JS), Atscc2js can now run entirely inside the
   browser.
2. Patsopt(JS) and Atscc2js(JS) have been combined to allow one to
   try ATS entirely in one's browser (running only client-side JS).
3. Treating the following form as a value: let ... in aValue end
   (where aValue is assumed to be a value).
4. WebWorker-based support for session types in libatscc2js/Worker/channel
5. Fixing the handling of decarg of a function template declaration
6. Fixing a bug in effect-tracking of assignment: assigning a proof term
   should not genereate any effect. Please see: d2exp_trup_assgn:D2LVALvar_mut
7. Adding libats/ML/gvalue
8. Adding libats/ML/dynarray
9. Adding an ATS2TUTORIAL-chapter on boxed tuples and records.
10. Adding an article in EFFECTIVATS on encoding propositional logic
11. Removing the once planned support for flattened references (ref@)

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.11-release.html0000664000175000017500000000245412655455557021560 0ustar hwxihwxi ATS2-0.1.11

ats2-postiats-0.1.11:


This is the 20th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing a bug in hisexp_is_void
2. Adding D0Esing for parenthesized expressions
3. Adding ATS2TUTORIAL-chapter: Linearly typed lists
4. Adding prelude/tostring for converting values into strings
5. Adding minimal FRP support based on Bacon.js in libatscc2js
6. Replacing s2hnf_syneq with s2hnf_syneq2 in [s2hnf_equal_solve_err]
7. Fixing a bug in patcomplst_subtest: auxlst2: PTCMPreclparen:
   https://groups.google.com/forum/#!topic/ats-lang-users/sI9as4GIOVY
   https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-04-21.dats

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.10-release.html0000664000175000017500000000331712655455557021556 0ustar hwxihwxi ATS2-0.1.10

ats2-postiats-0.1.10:


This is the 19th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Minorly improving ATSPRE and ATSLIB/libats
2. Adding libats/tmpeval to support numeric arguments for templates
3. Improving ATSPRE/gnumber and ATSPRE/gorder slightly
4. Renaming:
   gequal_val -> gequal_val_val; gequal_ref -> gequal_ref_ref
   gcompare_val -> gcompare_val_val; gcompare_ref -> gcompare_ref_ref
5. Adding s2exp_syneq2:
   this version (in constrast to s2exp_syneq) handles bound variables
6. Supporting template implementations parameterized with existentially
   quantified types. For instance,
   extern
   fun{a:t@ype} myprint(a): void
   implement(a) myprint = ...
7. Adding some convenience wrappers:
   libats/ML/HATS/myfunset.hats
   libats/ML/HATS/myfunmap.hats
   libats/ML/HATS/myhashtblref.hats
8. Fixing certain issues with overloaded dot-symbols
9. Adding INT2PROGINATS-chapter: From genericity to late-binding
10. Adding ATS2TUTORIAL-chapter: Persistent hashtables
11. Adding ATS2TUTORIAL-chapter: Functional sets and maps

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.6-release.html0000664000175000017500000000234412655455557021503 0ustar hwxihwxi ATS2-0.2.6

ats2-postiats-0.2.6:


This is the 29th release of ATS2, the successor of the
ATS programming language. The compiler for ATS2 is given
the name ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. A minor fix to make the long form of macrodef work
2. Adding an article in EFFECTIVATS on parsing combinators of CPS-style
3. Allowing recursive evaluation of a file path: pkgsrcname_eval
4: Adding a section on linear C-strings in INT2PROGINATS
5: Adding an ATS2TUTORIAL-chapter on stack-allocated closure-functions
6: Adding support for #pragma(location, ...) (referred to as locpragma)
7. Adding an article in EFFECTIVATS on imperative vs. functional vs. linear functional

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.12-release.html0000664000175000017500000000335212655455557021557 0ustar hwxihwxi ATS2-0.1.12

ats2-postiats-0.1.12:


This is the 21st release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing a bug involving the sequentiality of pattern matching.
   Please see doc/BUGS/bug-2015-04-15.dats for more on this one.
2. Improving s2exp_syneq2 by adding a couple of missing cases:
   S2Edatcontyp and S2Edatconptr
3. Adding patterns of the form: $tup(...) and $rec(...)
4. Renaming the option -CSignore as --constraint-ignore:
   patscc --constaint-ignore
5. Supporting the option to disable tail-call optimization:
   patscc --tlcalopt-disable
   patsopt --tlcalopt-disable
6. Supporting s2rt_float and static floating-points
7. Supporting s2rt_string and static string constants
8. If undefined, ATS_EXTERN_PREFIX is assumed to have the value:
   "__ATS_EXTERN_PREFIX__".
9. no exporting of r(), w() and rw() from prelude/basics_dyn.sats
10. Fixing bug-2015-05-13:
    Handling of staloaded template implementations was incorrect
11. Dot-symbol overloading is required to be of functional style.
    For instance,
    point.x changes to point.x()
    point.y changes to point.y()

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.3-release.html0000664000175000017500000000465112655455557021503 0ustar hwxihwxi ATS2-0.2.3

ats2-postiats-0.2.3:


This is the 26th release of ATS2, the successor of the ATS
(currently referred to as ATS1) programming language. The compiler
for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply
Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib

Here is a list of major additions and changes since the last release:

1. Enforcing that the definition of each declared function be
   lam-abstract. For instanct, the following code results in an
   error during compilation:
   fun fact = fix f(n:int): int => if n > 0 then n*f(n-1) else 1
   Of course, one can always have:
   val fact = fix f(n:int): int => if n > 0 then n*f(n-1) else 1
(*
//
// HX-2015-09-15: This is re-implemented:
//
2. Supporting the use of locally defined templates:
   local fun foo(): int = 0 in fun{} foo2() = foo() + 1 end
   local fun{} foo(): int = 0 in fun{} foo2() = foo() + 1 end
*)
3. Changing some names:
   _ATS_CCOMP_HEADER_NONE -> _ATS_CCOMP_HEADER_NONE_
   _ATS_CCOMP_PRELUDE_NONE -> _ATS_CCOMP_PRELUDE_NONE_
   _ATS_CCOMP_PRELUDE_USER -> _ATS_CCOMP_PRELUDE_USER_
   _ATS_CCOMP_PRELUDE_USER2 -> _ATS_CCOMP_PRELUDE_USER2_
   _ATS_CCOMP_RUNTIME_NONE -> _ATS_CCOMP_RUNTIME_NONE_
   _ATS_CCOMP_EXCEPTION_NONE -> _ATS_CCOMP_EXCEPTION_NONE_
   _ATS_CCOMP_RUNTIME_TRYWITH_NONE -> _ATS_CCOMP_RUNTIME_TRYWITH_NONE_
4. Moving libatsynmark to utils/libatsynmark
5. Fixing an issue that causes crash due to compiling atstyvar_type.
   See hitype_tyvar_test in [pats_ccomp_hitype] for more information.
6. Changing the keyword 'require' to '#require' (for atspkgreloc)
7. Adding into ATSPRE string/string_forall and string/string_iforall
8. Reorganizing:
   moving the fprint-functions in prelude into prelude/fprintf.cats
9. Fixing a bug in CATS-parsemit (that affects parsing #if(0) ... #endif)

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.4-release.html0000664000175000017500000000311112655455557021470 0ustar hwxihwxi

ats2-postiats-0.0.4:


Date: November 11, 2013

This is the fourth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Fixing a glitch in handling ATS_DYNLOADFLAG (bug-2013-10-11)
2. Adding -D_ATS_EXCEPTION_NONE support for eliminating the code in the
   run-time of ATS2 that are exception-related.
3. Fixing a glitch in proof-assignment compilation (reported by MD)
4. Allowing overloading declarations to permeates OPENED namespace.
5. Fixing a glitch in handling overloading (bug-2013-10-30 reported by WB)
6. Fixing a glitch in handling flat arrays (bug-2013-10-30-2 reported by WB)
7. Fixing a glitch in handling arrays in structs (bug-2013-11-01 reported by WB)
8. Fixing a glitch in handling implementation of values (bug-2013-11-06 reported by HX)
9. All the occurrences of LGPL-2.1 in ATS2/Postiats have been changed to GPL-3.
   LGPL-2.1 still occurs in certain packages contained in ats2-lang-contrib   
10. Supporting that ATS-types be exported for use in C (extern typedef ...)
11. Supporting generation of ats-lang-tags via the command-line flag --taggen

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.9-release.html0000664000175000017500000000326412655455557021507 0ustar hwxihwxi ATS2-0.1.9

ats2-postiats-0.1.9:


This is the 18th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Circumventing a Clang-3.5-O2 related bug that caused the generated
   patsopt to crash immediately. For more, please visit:
   https://groups.google.com/forum/#!topic/ats-lang-users/FSgjjkUURs4
2. Fixing a bug in pats_tyerase:s2zexp_tyer:
   https://groups.google.com/forum/#!topic/ats-lang-users/SGpN2D991tA
   https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-01-25.dats
3. Improving pats_trans2_p1at:p1at_tr_arg. See:
   ATS-Postiats-test/contrib/test-hwxi/test03.dats
4. Improving the formatting of INT2PROGINATS and ATS2TUTORIAL
5. Having $showtype to also print out the sort information
6. Adding API for sdstring (simple dynamic strings) in ATS2-contrib
7. Adding $UN.prop_assert for asserting any proposition one needs
8. Adding flags -h/--help for patscc to print out usage information
9. Handling D2Coverload during the jsonization of level-2 syntax
10. Reporting a compilation error if HDEsif is encountered

ATS2-Postiats-0.2.6/./RELEASE/.keeper0000664000175000017500000000000012655455557015260 0ustar hwxihwxiATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.4-release.html0000664000175000017500000000346712655455557021510 0ustar hwxihwxi ATS2-0.2.4

ats2-postiats-0.2.4:


This is the 27th release of ATS2, the successor of the ATS
(currently referred to as ATS1) programming language. The compiler
for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply
Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib

Here is a list of major additions and changes since the last release:

1. Fixing a bug due to abstract types being given the 'empty' name.
2. Adding libats/theGetters
3. Fixing a bug in ATS-extsolve (involving the s2rtdatmap generation)
4. Fixing a minor parsing bug in CATS-parsemit
5. Adding libatsopt, the library version of patsopt; see utils/libatsopt
6. Adding some ifdef-guards:
   ATS_EXTERN_DEF__ for guarding the definition of ATSextern()
   ATS_STATIC_DEF__ for guarding the definition of ATSstatic()
   ATS_INLINE_DEF__ for guarding the definition of ATSinline()
7. Adding some examples to illustrate a way of using ATS+Emscripten
8. Supporting evaluated expressions (of the form %(...)) in statics
9. Generally improving libatscc2js and libatscc2erl
10. With libatsopt(JS), patsopt can now run entirely inside the browser.
11. Adding char2int1 and fixing add_bool_bool and mul_bool_bool

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.0.8-release.html0000664000175000017500000000301212655455557021474 0ustar hwxihwxi ATS2-0.0.8

ats2-postiats-0.0.8:


Date: May 4, 2014

This is the eighth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding libc/signal to support Unix-like signal handling
2. Adding contrib/kernelats to support kernel programming in ATS
3. Adding contrib/libats-hwxi/array_p to support a simpler form of
   static array-bounds checking
4. Fixing a bug/typo in handling stream-based lazy evaluation
5. Improving contrib/GTK significantly
6. Both CFLAGS and LDFLAGS can be defined for building ATS2:
   make CFLAGS=... LDFLAGS=... -f Makefile
7. Adding support for on-line package relocation (atspkgreloc):
   patsopt --pkgreloc ...
8. Adding contrib/openssl into ATS2-contrib for the first time

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.8-release.html0000664000175000017500000000207012655455557021500 0ustar hwxihwxi ATS2-0.1.8

ats2-postiats-0.1.8:


This is the 17th release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. GCATS (GC for ATS1) is no longer used by default to build patsopt.
   Some common command-lines for building patsopt are listed below:
   ./configure && make # using no GC
   ./configure && make GCFLAG=-D_ATS_GCBDW # using Boehm-GC
   ./configure && make GCFLAG=-D_ATS_GCATS # using GCATS (GC for ATS1)

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.1.1-release.html0000664000175000017500000000312112655455557021467 0ustar hwxihwxi ATS2-0.1.1

ats2-postiats-0.1.1:


This is the tenth release of ATS2, the successor of the ATS
programming language. The compiler for ATS2 is given the name
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding support for checking funarg-pattern exhaustiveness
2. Adding run-time support for handling funarg-pattern matching failure
3. Default namespace is assumed for staloadloc if none is given explicitly.
4. Stopping non-template constants from being implemented in the body of a
   function (during type-checking)
5. Improving/fixing libats/stringbuf
6. Supporting the compilation of list-patterns:
   val+ $list(x1, x2, x3) = $list_t{int}(1, 2, 3)
   val () = assertloc (x1 = 1 && x2 = 2 && x3 = 3)
   val+ $list(x1, x2, x3) = $list_vt{int}(1, 2, 3) // freed
   val () = assertloc (x1 = 1 && x2 = 2 && x3 = 3)
7. Improving/fixing libats/deqarray and libats/dynarray

ATS2-Postiats-0.2.6/./RELEASE/ats2-postiats-0.2.2-release.html0000664000175000017500000000273112655455557021477 0ustar hwxihwxi ATS2-0.2.2

ats2-postiats-0.2.2:


This is the 25th release of ATS2, the successor of the ATS
(currently referred to as ATS1) programming language. The compiler
for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply
Postiats.

The official website for ATS is:

http://www.ats-lang.org

ATS-Postiats is hosted at github:

https://github.com/githwxi/ATS-Postiats

Major releases of ATS2 are available at:

https://sourceforge.net/projects/ats2-lang/

Major releases of external packages for ATS2 are available at:

https://sourceforge.net/projects/ats2-lang-contrib/

Here is a list of major additions and changes since the last release:

1. Adding support for explicitly boxed types: boxed and boxed_vt
2. Adding backup links to INT2PROGINATS, ATS2TUTORIAL, and EFFECTIVATS.
3. Fixing a bug in typechecking loop invariants (see bug-2015-08-04).
4. Adding [g0int_npow] and [g0float_npow] and overloading ** with them.
   For instance: (x+y)**3 expands to x**3 + 3*x**2*y + 3*x*y**2 + y**3
5. Adding the_s2rtdatmap to the jsonization of generated constraints
   (for listing the inductively defined sorts used in the constraints)
6. Supporting tail-call optimization for static function templates
7. Supporting #codegen2 for datcon, datcontag, and fprint
8. Supporting the use of $d2ctype for taking the type of a dynamic constant

ATS2-Postiats-0.2.6/./COPYING0000664000175000017500000010451312655455557013775 0ustar hwxihwxi GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ATS2-Postiats-0.2.6/./CHANGES-contrib0000664000175000017500000000206112655455557015366 0ustar hwxihwxi###### # HX: # From this point on, ATS2-contrib will be released together with ATS2 # ###### 0.1.5 releasing atscc2pl releasing libatscc2pl ###### 0.1.4 improving atscc2js improving atscc2php ###### 0.1.3 releasing atscc2js releasing libatscc2js releasing atscc2php releasing libatscc2php ###### 0.1.2 releasing atscc2py releasing libatscc2py ###### 0.1.0 releasing libats-hwxi/teaching/mythread/ { channel, spinvar, spinref, nwaiter, workshop, parallelize } ###### 0.0.8 releasing openssl ###### 0.0.7 ###### 0.0.6 ###### 0.0.5

SDL2: Simple DirectLayer Media 2.0

###### 0.0.4

pcre: API for pcre

libgmp: API for gmp library

GTK
glib
cairo

hiredis: API for hiredis (C API for redis)

JNI
HTML

json-c
jansson

libcurl: API for cURL

zeromq

libats-hwxi
libats-hwxi/intinf
libats-hwxi/testing
libats-hwxi/cstream
libats-hwxi/teaching/myGTK
libats-hwxi/teaching/mydraw
libats-hwxi/teaching/mythread
libats-hwxi/teaching/fileAsLock

###### 0.0.3 ###### 0.0.2 ###### 0.0.1 ###### end of [CHANGES-contrib] ###### ATS2-Postiats-0.2.6/./CHANGES-ats20000664000175000017500000011401512655455557014602 0ustar hwxihwxi0.2.6 This is the 29th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. A minor fix to make the long form of macrodef work 2. Adding an article in EFFECTIVATS on parsing combinators of CPS-style 3. Allowing recursive evaluation of a file path: pkgsrcname_eval 4: Adding a section on linear C-strings in INT2PROGINATS 5: Adding an ATS2TUTORIAL-chapter on stack-allocated closure-functions 6: Adding support for #pragma(location, ...) (referred to as locpragma) 7. Adding an article in EFFECTIVATS on imperative vs. functional vs. linear functional ###### 0.2.5 This is the 28th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. With libatscc2js(JS), Atscc2js can now run entirely inside the browser. 2. Patsopt(JS) and Atscc2js(JS) have been combined to allow one to try ATS entirely in one's browser (running only client-side JS). 3. Treating the following form as a value: let ... in aValue end (where aValue is assumed to be a value). 4. WebWorker-based support for session types in libatscc2js/Worker/channel 5. Fixing the handling of decarg of a function template declaration 6. Fixing a bug in effect-tracking of assignment: assigning a proof term should not genereate any effect. Please see: d2exp_trup_assgn:D2LVALvar_mut 7. Adding libats/ML/gvalue 8. Adding libats/ML/dynarray 9. Adding an ATS2TUTORIAL-chapter on boxed tuples and records. 10. Adding an article in EFFECTIVATS on encoding propositional logic 11. Removing the once planned support for flattened references (ref@) ###### 0.2.4 This is the 27th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a bug due to abstract types being given the 'empty' name. 2. Adding libats/theGetters 3. Fixing a bug in ATS-extsolve (involving the s2rtdatmap generation) 4. Fixing a minor parsing bug in CATS-parsemit 5. Adding libatsopt, the library version of patsopt; see utils/libatsopt 6. Adding some ifdef-guards: ATS_EXTERN_DEF__ for guarding the definition of ATSextern() ATS_STATIC_DEF__ for guarding the definition of ATSstatic() ATS_INLINE_DEF__ for guarding the definition of ATSinline() 7. Adding some examples to illustrate a way of using ATS+Emscripten 8. Supporting evaluated expressions (of the form %(...)) in statics 9. Generally improving libatscc2js and libatscc2erl 10. With libatsopt(JS), Patsopt can now run entirely inside the browser. 11. Adding char2int1 and fixing add_bool_bool and mul_bool_bool ###### 0.2.3 This is the 26th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Enforcing that the definition of each declared function be lam-abstract. For instanct, the following code results in an error during compilation: fun fact = fix f(n:int): int => if n > 0 then n*f(n-1) else 1 Of course, one can always have: val fact = fix f(n:int): int => if n > 0 then n*f(n-1) else 1 (* // // HX-2015-09-15: This is re-implemented: // 2. Supporting the use of locally defined templates: local fun foo(): int = 0 in fun{} foo2() = foo() + 1 end local fun{} foo(): int = 0 in fun{} foo2() = foo() + 1 end *) 3. Changing some names: _ATS_CCOMP_HEADER_NONE -> _ATS_CCOMP_HEADER_NONE_ _ATS_CCOMP_PRELUDE_NONE -> _ATS_CCOMP_PRELUDE_NONE_ _ATS_CCOMP_PRELUDE_USER -> _ATS_CCOMP_PRELUDE_USER_ _ATS_CCOMP_PRELUDE_USER2 -> _ATS_CCOMP_PRELUDE_USER2_ _ATS_CCOMP_RUNTIME_NONE -> _ATS_CCOMP_RUNTIME_NONE_ _ATS_CCOMP_EXCEPTION_NONE -> _ATS_CCOMP_EXCEPTION_NONE_ _ATS_CCOMP_RUNTIME_TRYWITH_NONE -> _ATS_CCOMP_RUNTIME_TRYWITH_NONE_ 4. Moving libatsynmark to utils/libatsynmark 5. Fixing an issue that causes crash due to compiling atstyvar_type. See hitype_tyvar_test in [pats_ccomp_hitype] for more information. 6. Changing the keyword 'require' to '#require' (for atspkgreloc) 7. Adding into ATSPRE string/string_forall and string/string_iforall 8. Reorganizing: moving the fprint-functions in prelude into prelude/fprintf.cats 9. Fixing a bug in CATS-parsemit (that affects parsing #if(0) ... #endif) ###### 0.2.2 This is the 25th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding support for explicitly boxed types: boxed and boxed_vt 2. Adding backup links to INT2PROGINATS, ATS2TUTORIAL, and EFFECTIVATS. 3. Fixing a bug in typechecking loop invariants (see bug-2015-08-04). 4. Adding [g0int_npow] and [g0float_npow] and overloading ** with them. For instance: (x+y)**3 expands to x**3 + 3*x**2*y + 3*x*y**2 + y**3 5. Adding the_s2rtdatmap to the jsonization of generated constraints (for listing the inductively defined sorts used in the constraints) 6. Supporting tail-call optimization for static function templates 7. Supporting #codegen2 for datcon, datcontag, and fprint 8. Supporting the use of $d2ctype for taking the type of a dynamic constant ###### 0.2.1 This is the 24th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding support for $solver_asssert and $solver_verify 2. Fixing [s2exp_hnfize_app] in [pats_staexp2_util2.dats] 3. Adding testing code: doc/EXAMPLE/ATSLIB/libats_gflist.dats 4. Adding various matrix-functions to libatscc/matrixref 5. Adding prelude/grandom (for generating lists and arrays randomly) 6. Atscc2erl (from ATS to Erlang) is functioning! 7. Libatscc2erl is created to work with Atscc2erl 8. Supporting --tlcalopt-disable + fnx (important for atscc2erl) ###### 0.2.0 This is the 23rd release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Re-structuring CATS-parsemit 2. Creating ATS-Postiats-frozen for storing inactive projects 3. Porting Atscc2js based on the newly re-structured CATS-parsemit 4. Porting Atscc2php based on the newly re-structured CATS-parsemit 5. Porting Atscc2py based on the newly re-structured CATS-parsemit 6. Porting Atscc2pl based on the newly re-structured CATS-parsemit 7. Handling of HIPintrep is now supported 8. Porting ATSLIB/libats/funmap_rbtree to ATS2 from ATS1 9. Modifying jsonization of constraints to support ATS-extsolve 10. ATS-extsolve-z3 (Z3-based ATS-extsolve) can now be put into use 11. Performing occurs-checking before HYPObind(s2v, s2e) can be formed ###### 0.1.13 This is the 22nd release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a bug that associates static constants with incorrect filenames 2. Starting to put markers around error/warning messages 3. Fixing a bug causing mishandling of valimp in included code 4. Fixing a bug causing incorrect erasure of proof patterns ###### 0.1.12 This is the 21st release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a bug involving the sequentiality of pattern matching. Please see doc/BUGS/bug-2015-04-15.dats for more on this one. 2. Improving s2exp_syneq2 by adding a couple of missing cases: S2Edatcontyp and S2Edatconptr 3. Adding patterns of the form: $tup(...) and $rec(...) 4. Renaming the option -CSignore as --constraint-ignore: patscc --constaint-ignore 5. Supporting the option to disable tail-call optimization: patscc --tlcalopt-disable patsopt --tlcalopt-disable 6. Supporting s2rt_float and static floating-points 7. Supporting s2rt_string and static string constants 8. If undefined, ATS_EXTERN_PREFIX is assumed to have the value: "__ATS_EXTERN_PREFIX__". 9. no exporting of r(), w() and rw() from prelude/basics_dyn.sats 10. Fixing bug-2015-05-13: Handling of staloaded template implementations was incorrect 11. Dot-symbol overloading is required to be of functional style. For instance, point.x changes to point.x() point.y changes to point.y() ###### 0.1.11 This is the 20th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a bug in hisexp_is_void 2. Adding D0Esing for parenthesized expressions 3. Adding ATS2TUTORIAL-chapter: Linearly typed lists 4. Adding prelude/tostring for converting values into strings 5. Adding minimal FRP support based on Bacon.js in libatscc2js 6. Replacing s2hnf_syneq with s2hnf_syneq2 in [s2hnf_equal_solve_err] 7. Fixing a bug in patcomplst_subtest: auxlst2: PTCMPreclparen: https://groups.google.com/forum/#!topic/ats-lang-users/sI9as4GIOVY https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-04-21.dats ###### 0.1.10 This is the 19th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Minorly improving ATSPRE and ATSLIB/libats 2. Adding libats/tmpeval to support numeric arguments for templates 3. Improving ATSPRE/gnumber and ATSPRE/gorder slightly 4. Renaming: gequal_val -> gequal_val_val; gequal_ref -> gequal_ref_ref gcompare_val -> gcompare_val_val; gcompare_ref -> gcompare_ref_ref 5. Adding s2exp_syneq2: this version (in constrast to s2exp_syneq) handles bound variables 6. Supporting template implementations parameterized with existentially quantified types. For instance, extern fun{a:t@ype} myprint(a): void implement(a) myprint = ... 7. Adding some convenience wrappers: libats/ML/HATS/myfunset.hats libats/ML/HATS/myfunmap.hats libats/ML/HATS/myhashtblref.hats 8. Fixing certain issues with overloaded dot-symbols 9. Adding INT2PROGINATS-chapter: From genericity to late-binding 10. Adding ATS2TUTORIAL-chapter: Persistent hashtables 11. Adding ATS2TUTORIAL-chapter: Functional sets and maps ###### 0.1.9 This is the 18th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Circumventing a Clang-3.5-O2 related bug that caused the generated patsopt to crash immediately. For more, please visit: https://groups.google.com/forum/#!topic/ats-lang-users/FSgjjkUURs4 2. Fixing a bug in pats_tyerase:s2zexp_tyer: https://groups.google.com/forum/#!topic/ats-lang-users/SGpN2D991tA https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-01-25.dats 3. Improving pats_trans2_p1at:p1at_tr_arg. See: ATS-Postiats-test/contrib/test-hwxi/test03.dats 4. Improving the formatting of INT2PROGINATS and ATS2TUTORIAL 5. Having $showtype to also print out the sort information 6. Adding API for sdstring (simple dynamic strings) in ATS2-contrib 7. Adding $UN.prop_assert for asserting any proposition one needs 8. Adding flags -h/--help for patscc to print out usage information 9. Handling D2Coverload during the jsonization of level-2 syntax 10. Reporting a compilation error if HDEsif is encountered ###### 0.1.8 This is the 17th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. From this version on, the compiler (patsopt) built based on the released package of ATS2 no longer runs GC when it compiles ATS source code. Please use ATS2-github if you want to customize various settings of patsopt (including GC and constraint-solving). ###### 0.1.7 This is the 16th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Improving some error-handling code. 2. Fixing bug-2015-01-07. One can use $tempenver to explicitly declare that a dynamic variable should be added to the environment of each template instance within the scope of $tempenver-declaration. A running example using this feature is available at https://github.com/githwxi/ATS-Postiats/blob/master/doc/BUGS/bug-2015-01-07.dats 3. Adding ATS2TUTORIAL/CHAP_RECURSION 4. Adding ATS2TUTORIAL/CHAP_DATATYPES 5. Fixing bug-2015-01-10: [pfobj_search_atview] is now stopped by either [lam] or [llam] 6. Fixing various issues with multi-file compliation via patsopt 7. Adding INT2PROGINATS/CHAP_ABSVTYPE/LockingAndUnlocking 8. Bootstrapping via the newly released package ATS1-0.2.12 9. Adding INT2PROGINATS/CHAP_ABSVTYPE/LinearChannelsForIPC ###### 0.1.6 This is the 15th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Reorganizing ATSLIB/prelude 2. Improving ATS2-contrib/zeromq 3. Adding src/Makefile_CBOOTmin for minimally C-bootstrapping ATS2: There is no GCATS by default There is no dependency on libgmp 4. Code for level-2 jsonization is moved into pats_synent2_jsonize.sats pats_synent2_jsonize.dats 5. Adding various functions for traversing level-2 syntax See: pats_staexp2_appenv.hats pats_dynexp2_appenv.hats pats_constraint3_appenv.hats 6. Using a more compact format for representing exported constraints 7. Using a more compact format for representing JSONized level-2 syntax 8. Overhauling the build process for ATS1 9. Supporting NGC-bootstrapping (via ats-lang-anairiats-0.2.11-fin) 10. Automated testing (via Travis-CI) is substantially extended. 11. Building ATS2 on MACOSX (via ATS1-ngc) is formally documented 12. Adding support for bit vectors: libats/bitvec 13. Fixing bug-2015-01-03 (see doc/BUGS), which caused an error in compiling certain singular flat records. 14: Generally improving some error-handling code. ###### 0.1.5 This is the 14th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Supporting %(...) in macro definitions #define N 10 #define N2 %(N + 1) // it is the same as: #define N1 11 #define N2 %(N * N1) // it is the same as: #define N2 110 2. Issuing an error message if the size of a stack-allocated array cannot be determined at compile-time. 3. Fixing bug-2014-10-29 (see doc/BUGS), which caused an error in compiling embedded function templates. 4. Improving ats2langweb/Implements.html 5. Fixing bug-2014-11-14 (see doc/BUGS), which caused an error in compiling mutually tail-recursive functions 6. Fixing bug-2014-11-14-2 (see doc/BUGS), which caused an error in compiling inner functions defined inside mutually tail-recursive functions 7. Improving the implementation of ATSLIB/prelude/list_vt_mergesort 8. Supporting compilation from ATS to Perl: atscc2pl 9. Issuing the special comment #LINCONSTATUS==i to show the kind of an allocated constructor: i=0 => linear data constructor i=1 => nonlinear data constructor i=2 => nonlinear tuple constructor ###### 0.1.4 This is the 13th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing the initialization of stacked allocated arrays: var A0 = @[int][4]() // A0 = ?,?,?,? var A1 = @[int][4](1) // A1 = 1,1,1,1 var A2 = @[int][4](1,2) // A2 = 1,2,1,2 var A3 = @[int][4](1,2,3) // A3 = 1,2,3,1 var A4 = @[int][4](1,2,3,4) // A4 = 1,2,3,4 var A5 = @[int][4](1,2,3,4,5) // A5 = 1,2,3,4 2. Fixing hidexp_is_lvalue: handling sequencing-expressions is supported 3. Support for lazy-evaluation is added to atscc2js 4. ATStmpdec_void(...) is commented out in the generated C code 5. [patscc] is given a flag '-verbose' for controlling verbosity (* # HX: it is dropped: 6. [patscc] now passes the flag -Wl,warn-common to [gcc] by default *) ###### 0.1.3 This is the 12th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding support for dot-notation overloading in assignments. This feature is mostly for interacting ATS with other languages. See ATS2TUTORIAL/CHAP_DOTOVERLD for a short article of explanation. 2. Adding support for functional style o dot-notation overloading. This feature makes it very convenient for ATS to interact with OOP. 3. Generally improving level-2 jsonization (pats_dynexp2_jsonize) 4. Adding support for extvar decl. (which is different from $extval): extval "external_name" = internal_value 5. ATS_DYNLOADFLAG is set to 1 by default only for DATS-files. So dynloading SATS-files is no longer necessary (but it is still harmless). 6. Adding support for $extmcall(ret_type, obj, "method", arglst), which translates into the method invocation: obj.method(arglst) 7. Adding -D_ATS_ARRAY_FIELD to safe-guard using array fields in records ###### 0.1.2 This is the 11th release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding support for complements of char patterns (P2TCcharc) 2. Adding support for a packaging value (#[...|...]) to be used as a funarg 3. Modifying the target language of ATS/Postiats to support ATS-parse-emit 4. Adding support for explicitly naming dynload-functions: #define ATS_DYNLOADNAME ... 5. Adding support for attaching a prefix to names of static vars and funs: #define ATS_STATIC_PREFIX ... ###### 0.1.1 This is the tenth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding support for checking funarg-pattern exhaustiveness 2. Adding run-time support for handling funarg-pattern matching failure 3. Default namespace is assumed for staloadloc if none is given explicitly. 4. Stopping non-template constants from being implemented in the body of a function (during type-checking) 5. Improving/fixing libats/stringbuf 6. Supporting the compilation of list-patterns: val+ $list(x1, x2, x3) = $list_t{int}(1, 2, 3) val () = assertloc (x1 = 1 && x2 = 2 && x3 = 3) val+ $list(x1, x2, x3) = $list_vt{int}(1, 2, 3) // freed val () = assertloc (x1 = 1 && x2 = 2 && x3 = 3) 7. Improving/fixing libats/deqarray and libats/dynarray ###### 0.1.0 This is the nineth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Moving ATS-Postiats/contrib out to ATS-Postiats-contrib 2. Fixing a bug causing embedded template instantiation to fail; please see doc/BUGS/bug-2014-05-05.dats for some details on this bug 3. Fixing a bug that may cause fnx-compilation in a template to fail 4. Making atspkgreloc_curl and atspkgreloc_wget available for package relocation 5. Fixing the minor bug recorded in doc/BUGS/bug-2014-05-17.dats 6. Implementing libats/hashtbl_linprb (hashtable via linear-probing) 7. Adding some rudimentary support for multi-threaded programming: ATS-Positiats-contrib/contrib/libats-hwxi/teaching/mythread/* Please see ATS-Positiats-contrib/projects/MEDIUM/SHOOTOUT/ATS2/* ###### 0.0.8 This is the eighth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Adding libc/signal to support Unix-like signal handling 2. Adding contrib/kernelats to support kernel programming in ATS 3. Adding contrib/libats-hwxi/array_p to support a simpler form of static array-bounds checking 4. Fixing a bug/typo in handling stream-based lazy evaluation 5. Improving contrib/GTK significantly 6. Both CFLAGS and LDFLAGS can be defined for building ATS2: make CFLAGS=... LDFLAGS=... -f Makefile 7. Adding support for on-line package relocation (atspkgreloc): patsopt --pkgreloc ... 8. Adding contrib/openssl into ATS2-contrib for the first time ###### 0.0.7 This is the seventh release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Supporting stack-allocated closures 2. Fixing errmsg for a non-template being treated as a template 3. Changing default funclo-kind from FUNCLOptr to FUNCLOref 4. Fixing level-4 errmsg handling 5. Fixing a bug in the handling of lte_cls_cls (see: bug-2014-03-12) 6. Supporting creation of aliases for namespaces: staload $UNSAFE // opening the namespace $UNSAFE staload UN = $UNSAFE // forming an alias for $UNSAFE 7. Supporting creation of local namespaces // to-be-explained 8. Supporting tcc-0.9.26 for compiling C code generated from ATS source ###### 0.0.6 This is the sixth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Symbol for overloading no longer require to be declared first. 2. Adding libats-hwxi/cstream for supporting a simple style of lexing 3. Adding a direct API for Simple DirectMedia Layer 2.0 (SDL2). 4. Both static/extern function names are now stamped at the end. 5. Fixing a bug in pattern matching: left-values should be dereferenced! 6. Polymorphic data constructors no longer require explicit type arguments (for compilation purpose) 7. Handling of template parameters is greatly improved. ###### 0.0.5 This is the fifth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a glitch in initializing flat boxed-singleton records (see doc/BUGS/bug-2013-11-29) 2. Adding support for jsonizing level-2 syntax trees; this is planned for support tasks like meta-programming, constraint-exporting, etc. 3. Adding support for exporting constraints gathered during typechecking (command-line flag for this feature: --constraint-export) 4. Fixing bug-2013-12-04 (erroneous compilation of pattern matching) 5. Adding a direct API for the json-c package 6. Adding a direct API for the jansson package 7. Adding a minimal API for the pcre package 8. Adding support for 'static' dynamic constant declarations: static fun foo (...): res // this one is equivalent to the next one extern fun foo (...): res = "sta#" // it is equivalent to the above one 9. Improving support for exporting ATS-types to C 10. Requiring that each declared toplevel function be envless; closures need to be declared as values. 11. Supporting the flag -CSignore for patscc to ignore constraint-solving. Please only use it with proper justification! ###### 0.0.4 This is the fourth release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Fixing a glitch in handling ATS_DYNLOADFLAG (bug-2013-10-11) 2. Adding -D_ATS_EXCEPTION_NONE support for eliminating the code in the run-time of ATS2 that are exception-related. 3. Fixing a glitch in proof-assignment compilation (reported by MD) 4. Allowing overloading declarations to permeates OPENED namespace. 5. Fixing a glitch in handling overloading (bug-2013-10-30 reported by WB) 6. Fixing a glitch in handling flat arrays (bug-2013-10-30-2 reported by WB) 7. Fixing a glitch in handling arrays in structs (bug-2013-11-01 reported by WB) 8. Fixing a glitch in handling implementation of values (bug-2013-11-06 reported by HX) 9. All the occurances of LGPL-2.1 in ATS2/Postiats have been changed to GPL-3. LGPL-2.1 still occurs in certain packages contained in ats2-lang-contrib 10. Supporting that ATS-types be exported for use in C (extern typedef ...) 11. Supporting generation of ats-lang-tags via the command-line flag --taggen ###### 0.0.3 This is the third release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Support for stack-allocated array-variables: var A = @[int][10]() // A: array(int?, 10) // uninitialized var A = @[int][10](0) // A: array(int, 10) // initialized with 0's var A = @[int](0, 1, 2, 3, 4, 5, 6, 7, 8, 9) // A: array(int, 10) 2. Support for ptr-style of stack-allocated variables: var !p_x: int = 0 var !p_x: int with pf_x = @[int](1, 2, 3, 4, 5) 3. Support for fixed-point expressions: val fact = fix f (x: int): int => if x > 0 then x * f (x-1) else 1 4. Support for lazy-evaluation: $delay See ${PATSHOME}/doc/EXAMPLE/INTRO/sieve_lazy.dats 5. Support for linear lazy-evaluation: $ldelay See ${PATSHOME}/doc/EXAMPLE/INTRO/sieve_llazy.dats 6. Fixing a serious bug in closure compilation: the environment of a deeply embedded function could be miscomputed, causing the C target code generated from ATS source to contain errors. ###### 0.0.2 Date: September 19, 2013 This is the second release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ Major releases of external packages for ATS2 are available at: https://sourceforge.net/projects/ats2-lang-contrib/ Here is a list of major additions and changes since the last release: 1. Support for classdec. This feature is primarily for building APIs in ATS for external packages written in the OOP-style. 2. Support for ATS-package relocation. This feature is primarily for renaming and relocating external ATS packages (mostly library APIs). It is supposed to work together with atspkgreloc, a tool that does the actual package relocation. The tool is yet to be implemented. 3. Support for dot-notation overloading: // symintr .x .y extern fun point_get_x (p: point): int extern fun point_get_y (p: point): int overload .x with point_get_x overload .y with point_get_y // These declarations enable the following: [p.x] translates into [point_get_x(p)] [p.y] translates into [point_get_y(p)] 4. Fixing a very serious bug in pattern-matching compilation 5. Relocating contributed packages from ats2-lang to ats2-lang-contrib 6. Improving atslib: adding code, fixing bugs, improving documentation, etc. ###### 0.0.1 September 2, 2013 This is the first release of ATS2, the successor of the ATS programming language. The compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats or simply Postiats. The official website for ATS is: http://www.ats-lang.org ATS-Postiats is hosted at github: https://github.com/githwxi/ATS-Postiats Major releases of ATS2 are available at: https://sourceforge.net/projects/ats2-lang/ The actual implementation of ATS2 started in the March of 2011, and it took about two and one-half years to reach this stage. As of now, the code base for the compiler of ATS2 consists of 140,000+ lines of code (LOC), which are nearly all written in ATS. When compared to ATS1, the single most important new feature is the template system of ATS2. This is a feature that could potentially change the way a programmer writes his or her code. One can certainly feel that this is a very powerful feature (a bit like feeling that OOP is a very powerful feature). However, how this feature should be properly and effectively used in practice needs a lot more investigation. Another thing about ATS2 is that it is a lot leaner than ATS. One can make good use of ATS2 without any need for compiled library (libatslib.a). Also, GC support in ATS1 is now removed; if needed, third-party GC (e.g., Bohem-GC) can be readily employed. I will gradually list differences between ATS and ATS2, helping people make the transition from ATS1 to ATS2. ###### end of [CHANGES-ats2] ######